{"version":3,"sources":["common/components/popUp/PopUp.tsx","common/components/Icons/IconActionItems/IconActionItems.tsx","common/components/Icons/IconActiveProtect/IconActiveProtect.tsx","common/components/Icons/IconDashboard/IconDashboard.tsx","common/components/Icons/IconDiscover/IconDiscover.tsx","common/components/Icons/IconAssess/IconAssess.tsx","common/components/Icons/IconSettings/IconSettings.tsx","common/constants/pathNames.ts","common/constants/paths.ts","common/components/Icons/IconAccounts/IconAccounts.tsx","common/components/Icons/IconThreatCenter/IconThreatCenter.tsx","common/components/sidebar-menu/config.ts","login/config.ts","login/services/login.service.ts","env.js","login/services/pathManage.service.ts","common/services/rest-api.service.ts","common/components/grid/components/gridUtilities/filtersWrapper/services/FilterDateManage.ts","common/components/grid/query-builder.service.ts","features/GeneralSlice.tsx","features/GridSlice.tsx","features/LoginSlice.tsx","common/constants/roles.ts","features/GroupsSlice.tsx","features/SubsidiariesSlice.tsx","features/columnPickerSlice.tsx","features/IntegrationsSlice.tsx","features/AlertSlice.tsx","features/InfoPanelSlice.tsx","app/store.ts","common/services/common.service.tsx","common/components/sidebar-menu/sidebar-menu.tsx","common/components/Icons/IconAnonUser/IconAnonUser.tsx","common/components/appLoading/appLoading.tsx","common/components/userMenu/userMenu.tsx","header/components/user/User.tsx","common/components/LinkNewTab/LinkNewTab.tsx","common/components/UserSettings/UserSettings.tsx","common/components/image/Image.tsx","header/components/logo/Logo.tsx","header/header.tsx","common/components/Input/Input.tsx","common/components/Icons/iconsCommon.ts","common/components/Icons/IconArrow/IconArrow.tsx","common/components/multiSelect/components/dropdownHeader/DropdownHeader.tsx","common/components/Icons/IconCheckbox/IconCheckbox.tsx","common/components/multiSelect/components/selectItem/SelectItem.tsx","common/components/multiSelect/components/selectGroup/SelectGroup.tsx","common/hooks/useComponentVisible.ts","common/components/grid/components/components-renderer/testResultRenderer/TestResultRenderer.tsx","common/components/Icons/IconActiveProtection/IconActiveProtection.tsx","common/components/Icons/IconRisk/IconRisk.tsx","common/components/toolTip/toolTip.tsx","common/components/grid/components/components-renderer/riskRenderer/RiskRenderer.tsx","common/components/grid/components/components-renderer/gradeRenderer/GradeRenderer.tsx","common/components/grid/components/components-renderer/tagsRenderer/TagsRenderer.tsx","common/components/grid/components/components-renderer/LinkRenderer/LinkRenderer.tsx","common/components/grid/components/components-renderer/arrayRenderer/ArrayRenderer.tsx","common/components/grid/components/components-renderer/InfoPanelRenderer/InfoPanelRenderer.tsx","common/components/grid/components/components-renderer/booleanRenderer/BooleanRenderer.tsx","common/components/grid/components/components-renderer/spinnerRenderer/SpinnerRenderer.tsx","common/components/grid/components/components-renderer/urgencyRenderer/UrgencyRenderer.tsx","common/components/grid/components/components-renderer/coloredNumber/coloredNumber.tsx","common/components/grid/components/components-renderer/indexGrade/indexGrade.tsx","common/services/tostar.service.ts","pages/Settings/UserManagement/UserRolesDropdown/UserRolesDropdown.tsx","pages/Settings/RemoveRow/RemoveRow.tsx","pages/Settings/RemoveRow/RemoveRowLocal.tsx","common/components/Icons/IconPen/IconPen.tsx","common/components/Icons/IconMenu/IconMenu.tsx","common/components/RowActionMenu/RowActionMenu.tsx","pages/Settings/FilterGroups/FilterGroupsDropdown/FilterGroupsDropdown.tsx","common/components/grid/components/components-renderer/AssesmentsLinkRenderer/AssesmentsLinkRenderer.tsx","common/components/grid/components/components-renderer/AssesmentsArrayLinkRenderer/AssesmentsArrayLinkRenderer.tsx","common/components/DynamicMultiChoiceDropDown/DynamicMultiChoiceDropDown.tsx","common/constants/countries.ts","common/components/Flag/Flag.tsx","common/components/Download/Download.tsx","common/components/Button/Button.tsx","common/components/EditableColumn/EditableColumn.tsx","common/components/Relationship/Relationship.tsx","common/components/grid/components/components-renderer/CustomTagsRenderer/CustomTagsRenderer.tsx","common/components/MSSPLoginButton/MSSPLoginButton.tsx","common/components/grid/columnsManage.tsx","common/components/SelectAll/SelectAll.tsx","common/components/multiSelect/MultiSelect.tsx","common/components/Icons/IconRadioButton/IconRadioButton.tsx","common/components/grid/components/gridUtilities/filtersWrapper/config.ts","common/components/grid/components/gridUtilities/filtersWrapper/dropdownHeader/DropdownHeader.tsx","utils/filters.tsx","common/components/grid/components/gridUtilities/filtersWrapper/filterDate/FilterDate.tsx","common/components/grid/components/gridUtilities/filtersWrapper/filterFreeText/FilterFreeText.tsx","common/components/grid/components/gridUtilities/filtersWrapper/services/FiltersManage.tsx","common/components/NoFilterOptions/NoFilterOptions.tsx","common/components/Search/Search.tsx","common/components/grid/components/gridUtilities/filtersWrapper/filterMultipleChoice/FilterMultipleChoice.tsx","common/components/grid/components/gridUtilities/filtersWrapper/moreOptions/MoreOptions.tsx","common/components/grid/components/gridUtilities/filtersWrapper/filterRadioButton/FilterRadioButton.tsx","common/components/grid/components/gridUtilities/filtersWrapper/FiltersWrapper.tsx","common/components/AddRemoveTags/AddRemoveTags.tsx","common/components/select/Select.tsx","common/components/grid/components/gridUtilities/globalSearch/GlobalSearch.tsx","common/components/grid/components/gridUtilities/GridUtilities.tsx","common/components/manageNotData/components/actionItemsIcon/ActionItemsIcon.tsx","common/components/manageNotData/components/technologies/Technologies.tsx","common/components/manageNotData/components/defaultIcon/DefaultIcon.tsx","common/components/manageNotData/components/NoIssuesIcon/NoIssuesIcon.tsx","common/components/manageNotData/ManageNotData.tsx","common/services/UrlToStateConverter.service.ts","common/components/grid/components/SavedViews/SavedViews.tsx","common/components/grid/Grid.tsx","common/components/grid/components/InfoPanel/components/FqdnsInfoPanel.tsx","common/components/grid/components/InfoPanel/InfoPanel.tsx","common/components/grid/components/rowCount/RowCount.tsx","pages/active-protection/components/releaseRequest/ReleaseRequest.tsx","common/constants/topPanelPages.ts","common/components/TopPanel/configs/topPanelConfig.tsx","common/components/TopPanel/configs/TopPanelLinksConfig.tsx","common/components/TopPanel/TopPanelContext.tsx","common/components/TopPanel/utils.ts","common/components/TopPanel/hooks/useFilters.tsx","common/components/TopPanel/TopPanelActionItems/TopPanelActionItems.tsx","common/components/TopPanel/TopPanelDashboard/TopPanelDashboard.tsx","common/components/TopPanel/TopPanelDiscovery/tabs/DiscoveryInternal.tsx","common/components/TopPanel/TopPanelDiscovery/tabs/DiscoveryDigitalSupply.tsx","common/components/TopPanel/TopPanelDiscovery/tabs/DiscoveryLogin.tsx","common/components/TopPanel/TopPanelDiscovery/TopPanelDiscovery.tsx","common/components/TopPanel/TopPanelActiveProtection/TopPanelActiveProtection.tsx","common/components/Icons/IconArrowTrend/IconArrowTrend.tsx","common/components/score/Score.tsx","common/components/SubsidiariesDropDown/SubsidiaryRow/SubsidiaryRow.tsx","common/components/SubsidiariesDropDown/SubsidiariesDropDown.tsx","common/components/TopPanel/TopPanelAssessments/TopPanelAssessments.tsx","common/components/TopPanel/TopPanelSingleAsset/TopPanelSingleAsset.tsx","common/components/Icons/IconHeroku/IconHeroku.tsx","common/components/Icons/IconOVH/IconOVH.tsx","common/components/Icons/IconNetlify/IconNetlify.tsx","common/components/Icons/IconEdgio/IconEdgio.tsx","common/components/Icons/IconVerizon/IconVerizon.tsx","common/components/TopPanel/hooks/useTopPanel.tsx","common/components/TopPanel/TopPanel.tsx","common/hooks/useShowToggle.ts","common/components/TopPanel/TopPanelLoadingState/TopPanelLoadingState.tsx","pages/active-protection/ActiveProtectionRouting.tsx","common/components/GroupFilter/List/List.tsx","common/components/GroupFilter/GroupFilter.tsx","pages/active-protection/ActiveProtection.tsx","pages/active-protection/ActiveProtectionModule.tsx","common/components/Icons/IconCircledArrowRight/IconCircledArrowRight.tsx","common/components/Icons/IconTabManagedDomains/IconTabManagedDomains.tsx","pages/dashboard/components/headerForm/HeaderForm.tsx","pages/dashboard/components/topAssetsAtRisk/TopAssetsAtRisk.tsx","common/components/Icons/IconConnectionPieChart/IconConnectionPieChart.tsx","common/components/pieChart/pieChartLegend/PieChartLegend.tsx","common/components/pieChart/PieChart.tsx","pages/dashboard/components/pieChartForm/PieChartForm.tsx","common/components/Icons/IconActionOverTimes/IconActionOverTimes.tsx","common/components/multiLineChart/legend/Legend.tsx","common/components/multiLineChart/MultiLineChart.tsx","pages/dashboard/components/criticalActionsOverTime/CriticalActionsOverTime.tsx","common/components/map/config.ts","common/components/map/mapCard/MapCard.tsx","common/components/Icons/IconGeoMap/IconGeoMap.tsx","common/components/Icons/IconExpand/IconExpand.tsx","common/components/Icons/IconReduce/IconReduce.tsx","common/components/map/mapLegend/MapLegend.tsx","common/components/map/Map.tsx","common/components/areaChart/AreaChart.tsx","common/components/chartLineRisk/chartLineLegend/ChartLineLegend.tsx","common/components/chartLineRisk/ChartLineRisk.tsx","common/components/summary/sections/components/categories/Categories.tsx","common/components/Icons/IconAkamai/IconAkamai.tsx","common/components/Icons/IconAkamai/IconDomain/IconDomain.tsx","common/components/Icons/IconAWS/IconAWS.tsx","common/components/Icons/IconAzure/IconAzure.tsx","common/components/Icons/IconCloudFlare/IconCloudFlare.tsx","common/components/Icons/IconGCP/IconGCP.tsx","common/components/Icons/IconInCapsula/IconInCapsula.tsx","common/components/Icons/IconIP/IconIP.tsx","common/components/Icons/IconOther/IconOther.tsx","common/components/Icons/IconSubDomain/IconSubDomain.tsx","common/components/summary/sections/components/CategoriesWithIcons/config.ts","common/components/summary/sections/components/CategoriesWithIcons/CategoriesWithIcons.tsx","common/components/summary/sections/components/number/Number.tsx","common/components/summary/sections/components/text/text.tsx","common/components/summary/manageComponents.tsx","common/components/summary/sections/Sections.tsx","pages/dashboard/components/actionItemsSummar/ActionItemsSummar.tsx","common/components/DownloadReports/DownloadReportRow/DownloadReportRow.tsx","common/components/DownloadReports/ReportsList/ReportsList.tsx","common/components/DownloadReports/DownloadReports.tsx","common/components/ToggleButtons/ToggleButtons.tsx","common/components/ASMWrapper/sevice.api.ts","common/components/ASMWrapper/ASMWrapper.tsx","pages/dashboard/components/DomainRegistrars/DomainRegistrars.tsx","pages/dashboard/Dashboard.tsx","pages/dashboard/DashboardModule.tsx","common/components/links/Links.tsx","common/components/Icons/IconTabExternalAssets/IconTabExternalAssets.tsx","common/components/Icons/IconTabInternalAssets/IconTabInternalAssets.tsx","common/components/Icons/IconOrgScore/iconOrgScore.tsx","common/components/Icons/IconVendorMonitoring/iconVendorMonitoring.tsx","common/components/Icons/IconTabDRPS/IconTabDRPS.tsx","pages/assesments/config.ts","common/components/PopupHeader/PopupHeader.tsx","pages/assesments/AlertPopup/AlertMulti/AlertMulti.tsx","pages/assesments/AlertPopup/AlertSingle/AlertSingle.tsx","pages/assesments/AlertPopup/AlertPopup.tsx","notFound/NotFound.tsx","common/components/PopSide/PopSide.tsx","pages/assesments/SideAlert/SideAlert.tsx","pages/assesments/AssesmentsRouting.tsx","common/components/Icons/IconChevron/IconChevron.tsx","common/components/summary/form/header/Header.tsx","common/components/summary/form/Form.tsx","common/components/summary/Summary.tsx","pages/assesments/OrgScore/OrgScorePopUp/OrgScorePopUp.tsx","pages/assesments/OrgScore/Card/Card.tsx","pages/assesments/OrgScore/OrgScore.tsx","common/components/SubTabsLinks/SubTabsLinks.tsx","pages/assesments/Assesments.tsx","pages/inventory/singleAsset/panelSide/components/collapse/Collapse.tsx","pages/Settings/SidePanel/ScanInfo/ScanInfo.tsx","pages/Settings/SidePanel/SubMenu/SubMenu.tsx","pages/Settings/SidePanel/config.ts","pages/Settings/SidePanel/SidePanel.tsx","pages/Settings/UserManagement/WhiteListEdit/WhiteListEdit.tsx","pages/Settings/UserManagement/UserManagementActions/AddUserPopUp/AddUserPopUp.tsx","pages/Settings/UserManagement/UserManagementActions/UserManagementActions.tsx","pages/Settings/EmailDomains/EmailDomainsActions/EmailDomainsActions.tsx","pages/Settings/IpRestrictions/IpRestrictionsActions/IpRestrictionsActions.tsx","common/components/grid/LocalGrid.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/BulkUpload/BulkUpload.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupSearch/GroupSearch.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/DomainsTab/DomainsActions/DomainsActions.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/DomainsTab/DomainsTab.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/IPNetworksTab/IPNetworksActions/IPNetworksActions.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/IPNetworksTab/IPNetworksTab.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/ServicesTab/ServicesTab.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/WhoisTab/WhoisActions/WhoisOptionsDropdown/WhoisOptionsDropdown.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/WhoisTab/WhoisActions/WhoisActions.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/WhoisTab/WhoisTab.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/MobileApps/MobileAppsActions/MobileAppsActions.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/MobileApps/MobileAppsTab.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/GroupTabs.tsx","pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/CreateGroupPopUp.tsx","pages/Settings/FilterGroups/FilterGroupsActions/FilterGroupsActions.tsx","pages/Settings/ManageAssets/ManageAssetsActions/AddAssetsPopUp/AddAssetsPopUp.tsx","pages/Settings/ManageAssets/ManageAssetsActions/ManageAssetsActions.tsx","common/components/DynamicDropDown/DynamicDropDown.tsx","common/components/StaticDropDown/StaticDropDown.tsx","pages/Settings/Subsidiaries/SubsidiariesActions/AddSubsidiaryPopup/AddSubsidiaryPopup.tsx","pages/Settings/Subsidiaries/SubsidiariesActions/SubsidiariesActions.tsx","pages/Settings/MetaGroups/MetaGroupsPopup/GroupRelationshipTypeBox/GroupRelationshipTypeBox.tsx","pages/Settings/MetaGroups/MetaGroupsPopup/MetaGroupsPopup.tsx","pages/Settings/MetaGroups/MetaGroupsActions.tsx","pages/Settings/DeletePromptPopup/DeletePromptPopup.tsx","pages/Settings/APITokens/APITokensActions/AddTokenPopup/AddTokenPopup.tsx","pages/Settings/APITokens/APITokensActions/APITokensActions.tsx","pages/Settings/IpRanges/IpRangesActions/IpRangesActions.tsx","pages/Settings/CustomPorts/CustomPortsActions/AddCustomPortsPopUp/AddCustomPortsPopUp.tsx","pages/Settings/CustomPorts/CustomPortsActions/CustomPortsActions.tsx","pages/Settings/ConfirmationPopup/ConfirmationPopup.tsx","pages/Settings/Integrations/config.ts","common/components/CustomSwitch/CustomSwitch.tsx","pages/Settings/Integrations/Integration/IntegrationHeader/IntegrationHeader.tsx","pages/Settings/Integrations/Integration/ButtonsWrapper/ButtonsWrapper.tsx","pages/Settings/Integrations/Sentinel/config.ts","pages/Settings/Integrations/Integration/DropDownBox/DropDownBox.tsx","pages/Settings/Integrations/Sentinel/Sentinel.tsx","pages/Settings/Integrations/Splunk/config.ts","pages/Settings/Integrations/Splunk/Splunk.tsx","pages/Settings/Integrations/Integration/PopSideFotter/PopSideFotter.tsx","pages/Settings/Integrations/Jira/JiraEmptyState/JiraEmptyState.tsx","pages/Settings/Integrations/Jira/config.ts","pages/Settings/Integrations/Jira/JiraBlock/JiraBlock.tsx","pages/Settings/Integrations/Jira/Jira.tsx","pages/Settings/Integrations/ServiceNow/config.ts","pages/Settings/Integrations/ServiceNow/ServiceNow.tsx","pages/Settings/Integrations/NotAvailableIntegration/NotAvailableIntegration.tsx","pages/Settings/Integrations/Integration/Integration.tsx","pages/Settings/Integrations/Integrations.tsx","common/components/Icons/IconNotificationsActiveProtection/IconNotificationsActiveProtection.tsx","common/components/Icons/IconNotificationsActionItems/IconNotificationsActionItems.tsx","common/components/Icons/IconNotificationsDiscovery/IconNotificationsDiscovery.tsx","common/components/Icons/IconNotificationsCertificates/IconNotificationsCertificates.tsx","common/components/Icons/IconNotificationsPortalAccess/IconNotificationsPortalAccess.tsx","common/components/Icons/IconNotificationsAssetManagement/IconNotificationsAssetManagement.tsx","pages/Settings/Notifications/NotificationsContext.tsx","common/components/Icons/IconSortOrder/IconSortOrder.tsx","pages/Settings/Notifications/NotificationsHeader/NotificationsHeader.tsx","pages/Settings/Notifications/NotificationsList/NotificationItem.tsx","pages/Settings/Notifications/NotificationsList/NotificationsList.tsx","common/components/Icons/IconSearchNoResults/IconSearchNoResults.tsx","pages/Settings/Notifications/EmptyState/IconEmptyState.tsx","pages/Settings/Notifications/EmptyState/EmptyState.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/CollapseButton/CollapseButton.tsx","pages/Settings/Notifications/SidePanel/NotificationTypeBox/NotificationTypeBox.tsx","pages/Settings/Notifications/SidePanel/AddNotificationTypePanel/AddNotificationTypePanel.tsx","pages/Settings/Notifications/SidePanel/ViewNotificationPanel/ChipsBox/ChipsBox.tsx","pages/Settings/Notifications/SidePanel/utils.js","pages/Settings/Notifications/SidePanel/hooks/useDropDownBoxMetadata.tsx","pages/Settings/Notifications/SidePanel/NotificationConfigurationContext.tsx","pages/Settings/Notifications/SidePanel/ViewNotificationPanel/ViewNotificationContent/ViewNotificationContent.tsx","pages/Settings/Notifications/SidePanel/ViewNotificationPanel/ViewNotificationPanel.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/RadioButtons/RadioButtons.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/Checkbox/Checkbox.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/CheckboxImportance/CheckboxImportance.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/SliderBox/SliderBox.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/Dates/Dates.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/TextFilter/TextFilter.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/NumberFilter/NumberFilter.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/NumbersListFilter/NumbersListFilter.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/StringsListFilter/StringsListFilter.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/AutoCompleteWithChips/AutoCompleteWithChips.tsx","pages/Settings/Notifications/SidePanel/DropDownBox/DropDownBox.tsx","pages/Settings/Notifications/SidePanel/BlockDivider/BlockDevider.tsx","pages/Settings/Notifications/SidePanel/FiltersMenu/FiltersMenu.tsx","pages/Settings/Notifications/SidePanel/NotificationConfigurations/NotificationConfigurationsContent/NotificationConfigurationsContent.tsx","pages/Settings/Notifications/SidePanel/NotificationConfigurations/NotificationConfigurations.tsx","pages/Settings/Notifications/SidePanel/SidePanel.tsx","pages/Settings/Notifications/Notifications.tsx","pages/Settings/CustomSettingsPages.tsx","pages/Settings/Settings.tsx","pages/inventory/singleAsset/panelSide/components/PanelSideHeader/PanelSideHeader.tsx","pages/inventory/singleAsset/panelSide/components/CollapseFields/CollapseFields.tsx","pages/inventory/singleAsset/panelSide/components/CollapsedList/CollapsedList.tsx","pages/inventory/singleAsset/panelSide/components/CollaspsedDiagram/CollapsedDiagram.tsx","pages/inventory/singleAsset/panelSide/components/PanelSideBody/PanelSideBody.tsx","pages/inventory/singleAsset/panelSide/components/MobilePanelSideBody/MobilePanelSideBody.tsx","pages/inventory/singleAsset/panelSide/PanelSide.tsx","common/components/Icons/IconAddTag/IconAddTag.tsx","common/components/Icons/IconExportCSV/IconExportCSV.tsx","common/components/Icons/IconRemoveTag/IconRemoveTag.tsx","pages/inventory/config.ts","pages/inventory/singleAsset/config.ts","common/components/popUp/components/Vulnerabilities/CveList/CveList.tsx","common/components/TechnicalDetails/TechnicalDetails.tsx","common/components/popUp/components/actionItemsInfo/ActionItemsInfo.tsx","pages/inventory/singleAsset/components/tabActionItems/TabActionItems.tsx","common/components/Icons/IconWarning/IconWarning.tsx","pages/inventory/singleAsset/components/tabTechnologies/TabTechnologies.tsx","pages/inventory/singleAsset/components/tabDiscoveryEvidence/EvidenceData/EvidenceData.tsx","pages/inventory/singleAsset/components/tabDiscoveryEvidence/tabDiscoveryEvidence.tsx","pages/inventory/singleAsset/ManageTabs.tsx","pages/inventory/singleAsset/SingleAsset.tsx","common/components/Icons/IconConnectionType/IconConnectionType.tsx","common/components/quickViewPanel/components/riskScoreByCategory/RiskScoreByCategory.tsx","common/components/quickViewPanel/components/topActionItems/TopActionItems.tsx","common/components/quickViewPanel/components/generalScore/GeneralScore.tsx","common/components/quickViewPanel/components/connections/Connections.tsx","common/components/quickViewPanel/QuickViewPanel.tsx","common/components/popUp/components/UnlinkedAssets/Evidence/Evidence.tsx","common/components/popUp/components/UnlinkedAssets/UnlinkedAssets.tsx","pages/inventory/InventoryRouting.tsx","pages/inventory/Inventory.tsx","common/components/Icons/IconAcknowledgeHide/IconAcknowledgeHide.tsx","common/components/Icons/IconRescan/IconRescan.tsx","common/components/Icons/IconUncknowledge/IconUncknowledge.tsx","pages/action-items/config.ts","pages/action-items/acknowledgeReason/AcknowledgeReason.tsx","pages/action-items/ActionItemsRouting.tsx","pages/action-items/ActionItems.tsx","pages/Accounts/Accounts.tsx","pages/ThreatCenter/ThreatsCenterContext.tsx","pages/ThreatCenter/Timeline/Timeline.tsx","pages/ThreatCenter/ThreatCenterTopBar/ThreatCenterTopBar.tsx","pages/ThreatCenter/Threats/ThreatItem/Findings.tsx","pages/ThreatCenter/Threats/ThreatItem/ThreatItem.tsx","pages/ThreatCenter/Threats/ThreatsList/ThreatsList.tsx","pages/ThreatCenter/Threats/ThreatsContainer.tsx","pages/ThreatCenter/ThreatCenter.tsx","routes/PagesRouting.tsx","common/components/Help/Help.tsx","common/components/HelpCenter/HelpCenter.tsx","routes/AppRouting.tsx","login/components/LoginBackgroundAnimation/LoginBackgroundAnimation.tsx","common/components/InputField/InputField.tsx","login/components/SSO/SSO.tsx","login/components/LoginBox/LoginForm/LoginForm.tsx","login/hooks/useLogin.tsx","login/components/LoginBox/ForgotPasswordForm/ForgotPasswordForm.tsx","login/components/LoginBox/ForgotPasswordFlow/ForgotPasswordFlow.tsx","login/components/LoginBox/LoginBox.tsx","login/Login.tsx","common/components/GenerateExecutiveReport/GenerateExecutiveReport.tsx","common/components/Icons/IonixLogo/IonixLogo.tsx","common/components/GenerateActionItemsPDF/components/ActionItemsPDFHeader/ActionItemsPDFHeader.tsx","common/components/Icons/IconImportance/IconImportance.tsx","common/components/GenerateActionItemsPDF/components/ActionItemsTable/ActionItemsTable.tsx","common/components/GenerateActionItemsPDF/components/ActionItemPDF/ActionItemHeader/ActionItemHeader.tsx","common/components/GenerateActionItemsPDF/components/ActionItemPDF/ActionItemDetails/ActionItemDetails.tsx","common/components/GenerateActionItemsPDF/components/ActionItemPDF/ActionItemContainer.tsx","common/components/GenerateActionItemsPDF/GenerateActionItemsPDF.tsx","common/components/GenerateThreatsReport/rules.tsx","common/components/GenerateThreatsReport/ThreatsReportContext.tsx","common/components/GenerateThreatsReport/pages/ExposureRadar/ExposureHeader/ExposureHeader.tsx","common/components/GenerateThreatsReport/pages/ExposureRadar/ExposureDescription/ExposureDescription.tsx","common/components/GenerateThreatsReport/pages/ExposureRadar/RadarLegend/RadarLegend.tsx","common/components/GenerateThreatsReport/pages/PageFooter.tsx","common/components/GenerateThreatsReport/pages/hooks/usePageSize.tsx","common/components/GenerateThreatsReport/pages/ExposureRadar/ExposureRadar.tsx","common/components/GenerateThreatsReport/pages/PageHeader.tsx","common/components/GenerateThreatsReport/pages/Highlights/Highlights.tsx","common/components/GenerateThreatsReport/Contact/Contact.tsx","common/components/GenerateThreatsReport/pages/LastPage/LastPage.tsx","common/components/GenerateThreatsReport/pages/CoverPage/CoverLegend.tsx","common/components/GenerateThreatsReport/pages/CoverPage/CoverPage.tsx","common/components/GenerateThreatsReport/pages/Examples/CompromisedDevice/CompromisedDeviceDetails.tsx","common/components/GenerateThreatsReport/pages/Examples/CompromisedDevice/CompromisedDevice.tsx","common/components/GenerateThreatsReport/pages/Examples/AssetTest/AssetTestDetails.tsx","common/components/GenerateThreatsReport/pages/Examples/AssetTest/AssetTest.tsx","common/components/GenerateThreatsReport/pages/Examples/ActionItems/ActionItemsDetails.tsx","common/components/GenerateThreatsReport/pages/Examples/ActionItems/ActionItems.tsx","common/components/GenerateThreatsReport/pages/Examples/Unknown/UnknownDetails.tsx","common/components/GenerateThreatsReport/pages/Examples/Unknown/Unknown.tsx","common/components/GenerateThreatsReport/pages/Examples/Misconfigured/MisconfiguredDetails.tsx","common/components/GenerateThreatsReport/pages/Examples/Misconfigured/Misconfigured.tsx","common/components/GenerateThreatsReport/pages/Examples/Examples.tsx","common/components/GenerateThreatsReport/pages/ThreatsReport.tsx","common/components/GenerateThreatsReport/GenerateThreatsReport.tsx","common/services/zendesk.service.ts","common/components/Alert/Alert.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["PopUp","props","timer","useState","animate","setAnimate","allowPopupClose","useSelector","state","general","useEffect","visible","setTimeout","document","addEventListener","handleEsc","clearTimeout","removeEventListener","e","key","toLowerCase","closePopup","setVisible","className","onClick","children","IconActionItems","color","active","width","height","viewBox","fill","xmlns","d","stroke","strokeLinecap","strokeLinejoin","IconActiveProtect","this","React","Component","IconDashboard","filter","shapeRendering","id","x","y","filterUnits","colorInterpolationFilters","floodOpacity","result","in","type","values","stdDeviation","in2","operator","mode","IconDiscover","IconAssess","IconSettings","PathNames","Paths","IconAccounts","IconThreatCenter","MENU_ITEMS","dashboard","title","IconComponent","link","permissionOpen","restricted","hideForMssp","actionItems","discovery","assessments","activeProtection","accounts","showOnlyForMssp","threatCenter","flag","settings","memberLink","msspLink","INIT_DATA_LOGIN","email","jwt","is_active","two_fa","disabled","disabled_options","options","selected","password","value","error","sso","valid_code","LoginService","data","localStorage","setItem","JSON","stringify","user","endsWith","role","env","process","window","pathManageService","page","location","href","replace","origin","pathname","includes","next","split","defaultPath","undefined","addHeaders","method","headers","account","store","getState","login","Common","getParamFromUrl","cookie","xsrfCookies","map","c","trim","startsWith","length","getCSRFToken","RestApi","getPaginatedData","path","url","REACT_APP_BASE_URL","Observable","observer","fetch","credentials","then","response","responseManage","catch","text","statusManage","getData","avoidRedirect","signal","getDataPage","paths","allData","keysPath","Object","keys","count","forEach","subscribe","getPromises","urls","getPromisesMixedMethods","item","body","getPromiseAll","urlsData","promises","Promise","all","responses","index","json","err","isError","getPromiseAllMixedMethods","ok","getDataPageByFlowPaths","globalFilter","setData","message","errorMessage","logout","finally","reload","status","Error","statusText","FilterDateManage","calculateDaysBack","numDays","Date","date","setDate","getDate","createfromatDateToDB","utc","createfromatDateUTC","day","Intl","DateTimeFormat","format","month","getFullYear","UTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getFormatDateByLabel","option","label","toJSON","date1","child","date2","checkIsBetween","dates","getDateFormat","QueryBuilder","query","params","addFields","fields","addFilters","filters","addSearch","search","addSorting","order","addGlobalFilter","getFullPath","baseUrl","term","param","date1offsetCalc","decodeURIComponent","build","queryBuilder","generalSlice","createSlice","name","initialState","viewSelected","globalFilterType","isOpenSavedViews","reducers","toggleAllowPopupClose","action","payload","selectView","setGlobalFilter","setGlobalFilterType","setIsOpenSaveViews","actions","reducer","getRows","createAsyncThunk","_","thunkAPI","a","setBaseURL","grid","initialPath","buildQuery","dispatch","getQuery","addFiltersGridRows","res","getNextPage","nextPath","gridSlice","rows","nextPageRows","loading","pendingNextPath","selectFiltersHard","deletePromptParams","confirmationParams","queryString","allowURLChange","capturedState","filtersResetDefault","isRowMenuActive","returnToLastState","captureState","removeParams","resetCount","disableURLChange","enableURLChange","setQueryString","tab","qs","resetQueryString","addNextPageRows","inputSearch","setInitialPath","addFilter","newFilters","clearAllFilters","setSelectFiltersHard","removeFilter","filterToRemove","sort","setFields","Array","isArray","push","removeFields","field","splice","indexOf","removeAllRows","removeRowsOnly","updateRescan","is_scanning","updateRows","row","identifier","findIndex","r","removeRowsByIndex","setDeletePromptParams","setConfirmationParams","setfiltersResetDefault","setIsRowMenuActive","setAddFiltersGridRows","extraReducers","pending","fulfilled","results","rejected","checkSession","loginSlice","isLoggedIn","setUser","first_name","last_name","setAccount","selectCompanyDisplayName","company_display_name","USER_ROLES","USER_ROLES_SWAPPED","ret","parseInt","swap","setUserGroups","group_restrictions","items","apiRef","getMetaGroups","getGroups","rejectWithValue","showGroupsOnly","fetchMetaGroupByName","metaGroupName","groupsSlice","bulkVisible","popupVisible","editMode","subsidiaryMode","domains","ips","mobileApps","whois","services","groups","metaGroups","selectedMetaGroup","metaGroupSelectedId","metaGroupPopupVisible","metaGroupEditMode","statusGroups","statusMetaGroups","statusMetaGroupByName","toggleMetaGroupPopup","setMetaGroupEditMode","setIdentifier","toggleBulkVisibily","togglePopup","setLabel","setEditMode","resetGroupsState","resetMetaGroupsState","addDomain","addIp","ip","unshift","addWhois","addMobileApp","removeMobileApp","app","toggleService","removeServicesString","s","removeDomain","indexToRemove","removeIp","removeWhois","setSubsidiaryMode","setMetaGroupSelectedId","fetchSubsidiaryByName","subsidiaryName","fetchAllSubsidiaries","fetchSummarySubsidiaries","SubsidiariesSlice","allSubsidiaries","summarySubsidiaries","selectedSubsidiary","activeSubsidiary","parentCompany","subsidiariesPopupVisible","subsidiariesEditMode","subsidiarySelectedId","statusAllSubsidiaries","statusSubsidiaryByName","statusSummarySubsidiaries","toggleSubsidiariesPopup","setSubsidiariesEditMode","setSubsidiarySelectedId","setSubsidiaryName","resetSubsidiaryState","setParentCompany","setActiveSubsidiary","setSubsidiaries","statusSubsidiaries","ColumnPickerSlice","columnPicker","showColumnPicker","setColumnPicker","setShowColumnPicker","resetColumnPicker","loadList","integrationsSlice","component","list","categoryPopup","integrationDeleted","showIntegration","hideIntegration","showCategoryPopup","resetIntegrationPopup","setIntegrationDeleted","alertSlice","variant","showError","msg","_error","parse","non_field_errors","getErrorMsg","showSuccess","hideAlert","infoPanelSlice","isOpenInfoPanel","infoPanelTitle","infoPanelContentType","infoPanelAsset","setInfoPanelAsset","setIsOpenInfoPanel","setInfoPanelTitle","setInfoPanelContentType","resetInfoPanel","configureStore","gridReducer","loginReducer","groupsReducer","subsidiaries","subsidiariesReducer","columnPickerReducer","generalReducer","integrations","integrationsReducer","alert","alertReducer","infoPanel","infoPanelReducer","middleware","getDefaultMiddleware","serializableCheck","subject","Subject","updateHeader","asObservable","longDateFormat","getDateFullTime","Moment","localeData","getShortDate","getDateString","getDateMonthYear","getDateYear","getChartDateString","getLocaleDateFormat","userLanguage","navigator","language","locale","DateFormatChecker","isPastDate","isBefore","isSame","test","cloneData","clearQueryFromPath","include","emailValidation","splitV1FromPath","numberWithCommas","val","largeNumbers","symbol","i","rounded","to1DecimalPoint","toLocaleString","num","toFixed","percentage","partial","total","getColorByUrgency","urgency","no_risk","low","medium","high","critical","getColorByTestResult","testResult","A","B","C","D","F","toUpperCase","getTextByUrgency","isNotEmpty","obj","convertToClassName","string","getRandomString","base","Math","random","toString","substring","isValidDate","_date","isValid","year","shortenText","suffix","camelCaseToTitle","camelString","match","underscoreToTitle","shouldUppercaseShortWord","_string","switchWords","source","dest","word","charAt","join","validateDomainName","domain","validateTldr","validateIp","validateMobileApp","validatePort","validateURL","getTableHeaderFontProps","font","fontSize","decodedURI","URL","searchParams","get","setGridRowsClientIds","_id","capitalizeFirstLetter","slice","capitalizeFirstLetterOfEachWord","convertToApiPath","validatePhoneNumber","removeParamFromURL","delete","history","replaceState","getSelectMaxHeight","el","getElementsByClassName","clientHeight","getFileSize","size","highlightText","jsx","splittedText","highlight","part","isDemoEnv","REACT_APP_ENV","getEmptyValue","displayHelp","show","classList","remove","add","isObject","check","debounce","fn","delay","args","apply","copyText","clipboard","writeText","sortAlphabetically","b","sortBy","localeCompare","shuffle","arr","getUrgencyBySeverity","severity","updateLinksToMssp","is_mssp_user","linksInPage","getElementsByTagName","getAttribute","setAttribute","AddMsspAccountIfNeeded","msspAccount","SidebarMenu","useHistory","flags","useFlags","isActive","pageName","getLink","Button","Link","to","event","metaKey","ctrlKey","preventDefault","IconAnonUser","is_black_mode","style","margin","cx","cy","fillRule","clipRule","mask","AppLoading","defaultOptions","animationData","animation","loop","fullscreen","UserMenu","isLogginOut","setIsLogginOut","logOutClicked","Popper","open","anchorEl","anchorRef","current","placement","transition","disablePortal","TransitionProps","Grow","Paper","ClickAwayListener","onClickAway","handleClose","MenuList","MenuItem","onOpenSettingsPopup","User","menuOpen","setMenuOpen","useRef","handleToggle","prevOpen","classNames","ref","createIcon","contains","target","LinkNewTab","rel","testid","subAccount","isQueryString","UserSettings","firstName","setFirstName","firstNameError","setFirstNameError","lastName","setLastName","lastNameError","setLastNameError","phoneNumber","setPhoneNumber","phoneNumberError","setPhoneNumberError","setLoading","setEmail","useDispatch","mobile","onChange","readOnly","limitMaxLength","international","placeholder","onClose","hasError","isValidPhoneNumber","validate","Image","alt","src","icon","Logo","Header","headerText","setHeaderText","sub_account_display_name","ErrorValidation","line","Input","forwardRef","toggleCleanText","setToggleCleanText","isErrorBlock","customClass","autoFocus","clsx","maxLength","maxlength","minLength","minlength","onKeyDown","onCleanText","IconsCommon","toggleRotate","IconArrow","DropdownHeader","isListOpen","headerTitle","Checkbox","semiActive","SelectItem","is_displayable","searchTerm","is_toggled","showArrow","onChangeArrow","toggleArrow","SelectGroup","is_group","islistOpen","setListOpen","selectItem","shouldDisplayGroup","getParentClassName","newChild","useComponentVisible","initialIsVisible","isComponentVisible","setIsComponentVisible","handleHideDropdown","handleClickOutside","TestResultRenderer","background","border","boxShadow","IconActiveProtection","display","IconRisk","little","iconSize","ToolTip","colors","arrow","theme","html","place","textColor","backgroundColor","arrowColor","effect","delayHide","offset","RiskRenderer","isNaN","risk_score","is_active_protection","GradeRenderer","risk_grade","grade","TagsRenderer","widthElement","listString","calculate","showCount","elementCount","DESTINATIONS","INTERNAL","EXTERNAL","ACTION_ITEMS","VULNERABILITIES","TESTS","MOBILE","CONNECTIONS","LinkRenderer","isIOS","destination","category","connected_asset_type","linkUrl","encodeURIComponent","buildLink","ArrayRenderer","flexWrap","addCircle","renderedItem","InfoPanelRenderer","ev","stopPropagation","asset","BooleanRenderer","str","SpinnerRenderer","UrgencyRenderer","ColoredNumber","formattedValue","IndexGrade","TosterService","stack","toastr","querySelector","satus","_code","createElement","card","iconSatusTosterScope","iconSatus","appendChild","bodyToastr","sectionTextToastr","innerText","code","tosterBackground","close","onclick","onmouseover","onmouseout","onShowToster","tosterService","UserRolesDropdown","currentUserRole","setCurrentUserRole","loggedInRole","filteredItemsRoles","_role","entries","endpoint","successMessage","callback","is_editable","canEdit","RemoveRow","getDeleteMessageByCategory","is_deletable","isDeleteDisabled","api","getRowIndex","ids","RemoveRowLocal","canDelete","IconPen","IconMenu","itemMenu","RowActionMenu","rowData","itemOnClick","classes","setAnchorEl","handleHoverClasses","actionRows","hoveredRows","console","log","handleItemOnClick","Grid","alignSelf","sx","marginTop","currentTarget","Menu","Boolean","PaperProps","isDisabled","ListItemIcon","Divider","FilterGroupsDropdown","setId","editOnClick","responseServices","w","ip_networks","mobile_apps","selectedService","find","service","shouldShowDropDown","deleteOnClick","CATEGORIES_MAP","AssesmentsLinkRenderer","encodeURI","category__in","AssesmentsArrayLinkRenderer","host","DynamicMultiChoiceDropDown","isToggled","setIsToggled","setSelected","searchInput","setSearchInput","dispatchGetAction","group_id","g","_setSelected","copy","getItemsIds","dispatchSetAction","_selectedCopy","onClear","empty","selectedString","limitHeaderLength","renderSelectedHeader","searchPath","overflow","fieldName","countries","countriesMap","_map","country","prepareCountriesMap","Flag","countryName","svg","countryCode","showCountry","Download","is_downloadable","subAlertId","parentAlertId","alert_id","moreProps","dataTestId","buttonStyle","addArrow","EditableColumn","setValue","previousValue","setPreviousValue","sso_id","select","focus","Relationship","relationship","container","alignItems","paddingLeft","CustomTagsRenderer","tag","apiPath","newTagsArray","ReactTooltip","hide","tags","onDelete","MSSPLoginButton","types","risk","index_grade","colored_number","number","array","array_string","spinner","rbac_groups","importance","boolean","typesSizes","editable_string","calculateMinimumWidthForColumn","column","calculateSize","columnWidthByTypes","flexValue","itemColumn","headerName","flex","minWidth","typeColumn","sortable","is_sortable","resizable","addCustomComponent","cb","menuItemOnClick","renderCell","confidence_level","showInGrid","valueGetter","ColumnsManage","testGridSortModel","createColumns","optionals","columns","is_hidden","hideColumns","updateColumns","hideSpecificColumns","columnsToHide","showSpecificColumns","columnsToShow","checkGridColumnsToDisplay","identifierField","forceShow","getColumnIndex","model","SelectAll","isSomeSelected","unselectAll","selectAll","isAllSelected","MultiSelect","setList","toggledFields","setToggledFields","choices","choice","add_fields","childItem","newList","element","gridRef","toggleSelectAll","toggleValue","itemCopy","lowerCasedLabel","subItem","some","every","IconRadioButton","classNameBackground","classNameRadio","isDarkMode","big","radioSize","sizeBorder","toggle","circle","sizeCircle","FILTER_DATE","is_toggle","show_data_picker","FILTER_STRING","NOTIFICATIONS_FILTER_STRING","FILTER_NUMBER","FILTER_IP","FILTER_ARRAY_STRING","FILTER_ARRAY_NUMBER","is_active_filter","onToggle","sub_label","displaySubLable","is_default_filter","toggle_dropdown","isFilterActive","clear_selection","filter_type","clearSelectionByTypeFilter","onChangeData","getFiltersServerFormat","choiceItem","toggledOption","filterType","FilterDate","isOpenDatePicker","setOpenDatePicker","setValueDatePicker","newDate","childIndex","onSelected","showDatePicker","LocalizationProvider","dateAdapter","AdapterDateFns","DatePicker","onOpen","newValue","renderInput","TextField","showIconRadioButton","isToggle","onChangeSelected","date1String","getMonth","date2String","activeFilters","onUpdateDataFilter","Fragment","childKey","validationInputDate","FilterFreeText","setError","checkChoices","setIsListOpen","setSelect","onApply","_setValue","_value","input","getElementById","onselectItem","FiltersManage","initFilterData","itemFilter","choices_type","mapMultipleChoiceFilter","labels","names","parent","NoFilterOptions","Search","setSearch","FilterMultipleChoice","typeIcon","updateOption","override","hidden","inactive","MoreOptions","setNewSearch","is_filterable","limit","handleChange","FilterRadioButton","remove_fields","FiltersWrapper","setOptions","clearFilters","setClearFilters","LimitFilters","setLimitFilters","setActiveFilters","setDefaultFilter","hardReset","_defaultFilter","_activeFilters","_addFields","isActiveFilter","isExistsActiveFilter","replaceDropdown","alwaysSortFirst","sortedFirstFilters","getFiltersSortedArray","isMoreButton","AddRemoveTags","allTags","setAllTags","newTagInput","setNewTagInput","tagsToAdd","setTagsToAdd","tagsToRemove","setTagsToRemove","submitting","setSubmitting","submitted","setSubmitted","selectedRowsTags","Set","loadedRows","_tag","onAddTag","submit","new","exists","onSelectTag","getListHTML","Select","showTagsDropDown","setShowTagsDropDown","tagsMethod","setTagsMethod","header","ff","isMsspAccount","callbackChange","GlobalSearch","searchText","setSearchText","cleanText","GridUtilities","printPDF","setPrintPDF","isPDFLoading","setIsPDFLoading","rowsCount","actionItemsPDFUrl","doWhenMessage","AddedActions","addedActions","PDFTooltip","position","top","isSavedViews","savedViewsJson","pageTab","savedViewsOpen","openSavedViews","savedViewsEdited","hideOrShowColumnsGrid","apiGrid","buttonSelectionText","selectionModel","onSelectionChange","elementSelect","moreData","downloadCSVPath","isCSVDownloadable","Tooltip","tooltip","isActionItemsPDFDownloadable","CircularProgress","ActionItemsIcon","rx","ry","strokeDasharray","Technologies","transform","fillOpacity","DefaultIcon","iconMiddle","NoIssuesIcon","subType","opacity","x1","y1","x2","y2","gradientUnits","stopColor","stopOpacity","textSize","ManageNotData","switchComponents","urlToStateConverter","ordering","group","parsedQuery","filter_name","filter_value","set","SavedViews","setOpen","isEdited","_isEdited","decodeURI","replaceAll","onEdit","resetOnClick","view","default","views","viewOnClick","PROMISE","FqdnsInfoPanel","infoPanelData","setInfoPanelData","searchedData","setSearchedData","isLoading","setIsLoading","setTitle","weight","pattern","filteredData","InfoPanel","isOpen","setIsOpen","Fade","timeout","getInfoPanelContent","RowCount","conut","selectedCount","mouseUpEventTimer","setSelectionModel","isResizing","setIsResizing","csvDownloadPath","setCsvDownloadPath","setSavedViewsEdited","setSavedViewsJson","useLocation","setMouseUpEvent","handleUrlChange","getSearch","getSort","getFilters","getFields","getGroup","abort","currentQuery","prepareCSVDownloadPath","flexDirection","showInfoPanel","padding","onSelectionRowsChange","typeData","components","NoRowsOverlay","isPopup","onRowDoubleClick","onSortModelChange","orderString","onRowsScrollEnd","onColumnResize","onSelectionModelChange","filterMode","sortingMode","disableMultipleColumnsSorting","disableSelectionOnClick","disableColumnReorder","checkboxSelection","disableColumnMenu","hideFooter","getRowId","_order","sorting","sortModel","getOrder","ReleaseRequest","setMessage","onCancel","assets","TOP_PANEL_PAGES","DASHBOARD","DISCOVERY","ACTIVE_PROTECTION","ASSESSMENTS","SINGLE_ASSET","topPanelConfig","isExpandable","TopPanelLinksConfig","score","org_assets","external_assets","TopPanelContext","createContext","useTopPanelContext","useContext","TRENDS_COLORS","GOOD","BAD","getIsTrendUp","series","isTrendUp","from","reverse","getChartSeries","isAddedRed","isAddRed","getChartCategories","xAxisFormatter","useFilters","handleFiltersOnClick","filterId","fieldId","findValue","updatedValue","dataPanelProps","titleTextSize","family","titleStyle","textProps","upper","chartOptions","chart","CHART_TYPES","AREA","marginLeft","marginRight","marginBottom","xAxis","tickWidth","tickLength","tickmarkPlacement","tickColor","yAxis","gridLineWidth","enabled","responsive","rules","condition","maxWidth","ActionItemsExpand","updatedChartOptions","chartSeries","chartColors","critical_action_items","average_time_to_resolution","categories","last30Days","last30DaysProps","isTrend","rightContentClassName","isUpArrowGreen","paddingTop","direction","contentClassName","filterOnClick","action_items_by_type","paddingRight","distribution_by_urgency","rightText","chartType","tooltipType","TOOLTIP_TYPE","isTooltipPointValueGreen","isTooltipUpArrowGreen","ActionItemsCollapse","isUrgencyEmpty","lineChartData","lineType","LINE_CHART_TYPE","URGENCY","left","TopPanelActionItems","texts","panel_I_title","panel_II_title","panel_III_title","connections","overall_score","added","resolved","TopPanelDashboard","links","linkOnClick","org_risk_score","dataBars","remediation","high_action_items","medium_action_items","low_action_items","reduce","acc","whiteSpace","assets_discovered","letter","overall_rank","borderLeft","active_protection","panelId","barsData","DiscoveryInternalExpand","sliceAmount","setSliceAmount","amount","screen","iconByID","active_org_assets","risk_distribution","assets_by_service","getTechIcon","isTooltip","other","renderOtherFQDN","DiscoveryInternalCollapse","totalOrgAssets","totalFQDN","DiscoveryDigitalSupplyExpand","DiscoveryDigitalSupplyCollapse","DiscoveryLoginExpand","updatedInvalidChartOptions","updatedInsecureChartOptions","insecureColors","invalidColors","isTrendUpInvalid","isTrendUpInsecure","last30DaysInsecure","last30DaysInsecureProps","last30DaysInvalid","last30DaysInvalidProps","insecure_login","invalid_certificates","over_http","insecureChartData","invalidChartData","updatedInsecureSeries","updatedInvalidSeries","paddingBottom","LAST_SCAN_ADDED","flexBasis","DiscoveryLoginCollapse","currently_insecure","panel_I_title_org","fqdn_hosting_provider","panel_I_title_external","panel_II_title_external","panel_I_title_login","panel_II_title_login","subdomain","accessible_over_http","last_30_days","TopPanelDiscovery","topPanel","pieOptions","chartProtectedOptions","ActiveProtectionExpand","protectedChartOptions","resolutionChartOptions","protectedColors","resolutionColors","isTrendUpResolution","protected_assets","protected_assets_by_service","time_to_resolution","protectedChartData","currentlyInsecure","current_average","resolutionChartData","updatedProtectedSeries","updatedResolutionSeries","addedLast30Days","removedLast30Days","addedLast30DaysProps","removedLast30DaysProps","pieLegendSeries","PERCENTAGE","textWrap","ActiveProtectionCollapse","currentlyProtected","currently_protected","addedLastMonth","added_last_30_days","CUSTOM","TopPanelActiveProtection","IconArrowTrend","Score","is_upward_trajectory","is_upward_trajectory_positive","useStyles","makeStyles","fontFamily","fontWeight","SubsidiaryRow","SubsidiariesDropDown","setSoryBy","showHeader","isSubsidiaryAttackSurfaceRiskScore","tooltipTitle","spacing","justifyContent","enterDelay","componentsProps","bgcolor","borderRadius","textOverflow","rotate","AssessmentsExpand","rank","chartData","main_domain","AssessmentsCollapse","TopPanelAssessments","CONFIDENCE","TopPanelConnections","connections_by_severity","curr","TopPanelEvidence","overall_confidence","derived_from","level","darkBG","TopPanelSingleAsset","IconHeroku","IconOVH","IconNetlify","IconEdgio","IconVerizon","aws","azure","akamai","gcp","cloudflare","incapsula","googlecloud","heroku","ovh","netlify","edgio","verizon","iconId","useTopPanel","additionalProps","handleLinkOnClick","getTopPanelInContext","TopPanel","setToggle","collapsedSize","classTab","isDiscoveryEvidenceV2","Provider","useShowToggle","initialValue","TopPanelLoadingState","ActiveProtectionRouting","isInitialMount","showGrid","setShowGrid","showPopup","setShowPopup","activeProtectData","setActiveProtectData","popupData","setPopupData","summaryData","setSummaryData","isSummaryLoading","setIsSummaryLoading","abortControllerGrid","setAbortControllerGrid","abortControllerTopPanel","setAbortControllerTopPanel","isTopPanelOpne","setTopPanelToggle","abort_controller","AbortController","is_more_button","is_csv_downloadable","identifier_field","selectTab","fetchGridData","fetchTopPanelData","inContext","showSummary","zIndex","protected_host","List","handleOnSelect","onSelect","onSelectType","filteredList","GroupFilter","subsidiariesList","setSubsidiariesList","filteredSubsidiariesList","setFilteredSubsidiariesList","groupsList","setGroupsList","filteredGroupsList","setFilteredGroupsList","metaGroupsList","setMetaGroupsList","filteredMetaGroupsList","setFilteredMetaGroupsList","preDefinedList","setPreDefinedList","filteredPreDefinedList","setFilteredPreDefinedList","selectedType","setSelectedType","setNextPath","groupsResults","metaGroupsResults","subsidiariesResults","preDefinedResults","lowerCasedSearchInput","_path","preDefined","isDisabledButton","getHeader","PAGE_NAME","ActiveProtection","ActiveProtectionModule","IconCircledArrowRight","IconTabManagedDomains","HeaderForm","TopAssetsAtRisk","IconConnectionPieChart","PieChartLegend","show_header_legend","show_color_number","linkTo","PieChart","svgRef","init","d3","attr","size_pie_chart","radius","append","pie","outerRadius","innerRadius","enter","on","pageX","pageY","hiddenTooltip","show_percent_label","PieChartForm","IconActionOverTimes","Legend","dataLegend","setDataLegend","duration","filterGroup","borderColor","MultiLineChart","splitTime","time","interrupt","parseTime","listDate","listValue","isEnd","initData","range","call","ticks","tickSizeOuter","tickFormat","curve","alpha","parentNode","__data__","node","offsetWidth","removed","createGraph","preserveAspectRatio","CriticalActionsOverTime","DATA_MAP","features","properties","scalerank","featurecla","labelrank","sovereignt","sov_a3","adm0_dif","admin","adm0_a3","geou_dif","geounit","gu_a3","su_dif","subunit","su_a3","brk_diff","name_long","brk_a3","brk_name","brk_group","abbrev","postal","formal_en","formal_fr","note_adm0","note_brk","name_sort","name_alt","mapcolor7","mapcolor8","mapcolor9","mapcolor13","pop_est","gdp_md_est","pop_year","lastcensus","gdp_year","economy","income_grp","wikipedia","fips_10","iso_a2","iso_a3","iso_n3","un_a3","wb_a2","wb_a3","woe_id","adm0_a3_is","adm0_a3_us","adm0_a3_un","adm0_a3_wb","continent","region_un","subregion","region_wb","name_len","long_len","abbrev_len","tiny","homepart","filename","geometry","coordinates","COUNTRIES","AL","alpha2","alpha3","numeric","latitude","longitude","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","MF","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","SH","KN","LC","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW","AF","EU","ZZ","MapCard","setItems","setShowCard","showCard","typeHost","dataLength","hasMore","loader","scrollableTarget","IconGeoMap","strokeWidth","IconExpand","IconReduce","MapLegend","Map","projection","createRef","dataCard","toggleExpand","drawMap","drawCircles","initZoomMap","zoom","k","scaleExtent","scaleBy","pointerMap","classed","getDataCountry","object","setState","expandOrReduce","bind","AreaChart","is_graph_positive","is_display_measurement_lines","scaleLinear","rangeRound","tickSize","is_display_x","is_display_y","lg","datum","y0","is_display_vertical_lines","rect","toggleOpenTooltip","drawRects","circles","is_accentuate_graph_end","ChartLineLegend","hideNumber","ChartLineRisk","addStyle","viewLegend","Categories","getValue","valueAsNumber","Number","IconAkamai","clipPath","IconDomain","IconAWS","IconAzure","IconCloudFlare","IconGCP","IconInCapsula","IconIP","strokeMiterlimit","IconOther","IconSubDomain","ICONS","CategoriesWithIcons","appName","extractAppName","is_redirect","label_number","Text","ManageComponents","Sections","sections","ActionItemsSummar","DownloadReportRow","isLatest","ReportsList","setType","loadingText","setLoadingText","setNext","reachedEnd","getList","REPORT_TYPES","EXECUTIVE","report","company_name","onScroll","scrollTop","scrollHeight","ASM","DownloadReports","activeTab","setActiveTab","isExecutiveEnabled","isAsmEnabled","isExecutiveReports","isOrgScore","isAsmReports","ToggleButtons","toggled","setToggled","chosen","getSeverity","floor","addAdditionalCounts","min_count","additional_count_id","additionalCountId","additionalCountItem","fetchASMRadar","configJson","shouldAddResults","resultJson","priority","api_call","hyperlink","filteredConfigJson","shouldShowHighlight","ASM_RADAR_CATEGORY_MAP","ASMWrapper","isExpand","expand","setExpand","showLegend","setShowLegend","currentView","setCurrentView","fetchAndEnrichedASMRadar","clickedElement","closest","selectedOption","backgroundImage","DomainRegistrars","domain_registrars","prepareDomainRegistrarsData","_data","graphData","rowCount","Dashboard","setResponse","topPanelData","setTopPanelData","action_items_graph","action_items_chart","action_items_pie","action_items_summary","connections_pie","geomap","hosts_pie","dashboard_summary","top_assets","isAsmDashboardWidget","isDomainRegistrarsGraph","DashboardModule","Links","isActiveTab","tabs","_tab","getTabByKey","featureFlag","gridPath","metaData","lockedTo","showConditionaly","tabKey","uselected","hideCounts","IconTabExternalAssets","IconTabInternalAssets","IconOrgScore","IconVendorMonitoring","IconTabDRPS","TABSET","internalAssets","columnPickerPath","digitalSupplyChain","drps","subTabs","compromisedDevices","deepDarkWebMonitoring","orgScore","vendorMonitoring","PopupHeader","editable","errorText","EMPTY_PLACEHOLDER","AlertMulti","setColumns","singleAlertVisible","setSingleAlertVisible","setSubAlertId","singleAlertAnimation","setSingleAlertAnimation","alertData","setAlertData","threats","published_date","hosts","related_keywords","keywords","related_bins","alertId","isMultiAlerts","hideTitle","AlertSingle","related_assets","content","AlertPopup","handleClosePopup","multi","NotFound","subtitle","goBack","PopSide","onHide","El","ALERT_FIELDS","SideAlert","url_org_host","username","_html","renderFields","_field","renderRestOfFields","AssesmentsRouting","rootPath","assesmentsData","setAssesmentsData","alertPopupVisible","setAlertPopupVisible","alertPopupParams","setAlertPopupParams","noPermission","setNoPermission","showSideAlert","setShowSideAlert","sideAlertId","setSideAlertId","abortController","setAbortController","subTab","_setAlertPopupVisible","sub_alerts_count","IconChevron","description","company","viewArrow","Form","isNotCountAndNotLabel","_className","getSummaryClassName","Summary","dataTabs","hidden_arrow","FLEX_VALUES","asset_importance","OrgScorePopUp","setRows","setSort","getPath","is_main_company","md5","handleOnSortModelChange","handleOnRowsScrollEnd","issueName","_columns","_column","renderTable","Card","collapsed","setCollapsed","getCategoryId","showDetails","disableColumnResize","OrgScore","summary","setSummary","cards","setCards","isLoadingSummary","setIsLoadingSummary","isTopPanelOpen","basePath","getSummary","fetchOrgScores","SubTabsLinks","activeSubTab","getSubTabsHTML","Assesments","setTab","subtab","setSubTab","setMetaData","getMetaData","newTab","_subTab","Collapse","ScanInfo","plan","last_scan_date","SubMenu","shouldDisplayTitle","menuItem","canView","viewPermissionLevel","sub_item","editPermissionLevel","showForMssp","FQDNs","Subsidiaries","Notifications","API","Ports","SidePanel","sidePanelOpen","SetSidePanelOpen","WhiteListEdit","setInput","is_allowed","onSubmit","AddUserPopUp","userTypeMenuOpen","setUserTypeMenuOpen","selectedUserType","setSelectedUserType","selectedUserTypeError","setSelectedUserTypeError","ssoId","setSsoId","emailError","setEmailError","setMobile","mobileError","setMobileError","serverErrors","setServerErrors","whitelistPopupVisible","setWhitelistPopupVisible","groupsRestrictions","setGroupRestriction","EmailValidator","detail","renderServerError","selectedGroupsHeader","innerHTML","cleanSelectedGroupsHTML","UserManagementActions","actionsMenuOpen","setActionsMenuOpen","setPopupVisible","EmailDomainsActions","IpRestrictionsActions","LocalGrid","BulkUpload","errors","setErrors","done","setDone","numOfRows","setNumOfRows","inputAsArray","_input","validator","reduxAction","GroupSearch","DomainsActions","DomainsTab","setIdenifier","filteredRows","IPNetworksActions","IPNetworksTab","ServicesTab","servicesList","setServicesList","WHOIS_OPTIONS","WhoisOptionsDropdown","WhoisActions","whoisOption","setWhoisOption","whoisError","setWhoisError","WhoisTab","MobileAppsActions","MobileAppsTab","GROUP_TABS","GroupTabs","getToolTipHtml","ReactDOMServer","renderToString","handleTabClick","renderTabComponent","CreateGroupPopUp","groupNameError","setGroupNameError","_domains","_ips","_whois","_mobileApps","FilterGroupsActions","_setPopupVisible","AddAssetsPopUp","consent","setConsent","consentError","setConsentError","inputError","setInputError","setErrorText","popupHeaderText","checkboxText","checked","ip_network","ManageAssetsActions","DynamicDropDown","StaticDropDown","setFilteredList","onSearch","AddSubsidiaryPopup","subsidiaryNameError","setSubsidiaryNameError","subsidiaryDomain","setSubsidiaryDomain","subsidiaryDomainError","setSubsidiaryDomainError","setCountry","countryValue","setCountryValue","direct_parent","getGroupsPayload","saveOnClick","subsidiaryPayload","groupsPayload","flexGrow","SubsidiariesActions","RELATIONSHIP_OPTIONS","substractBFromA","substractAFromB","intersect","combine","union","GroupRelationshipTypeBox","MetaGroupsPopup","setMetaGroupName","collectionA","setCollectionA","collectionB","setCollectionB","selectedRelation","setSelectedRelation","clickedSubmit","setClickedSubmit","isErrorA","setIsErrorA","isErrorB","setIsErrorB","optionsGroups","optionsSubsidiaries","opt","groupsA","collection_a","collection_b","subsidiariesA","groupsB","subsidiariesB","setMetaGroupData","handleDropdownOnChange","updatedA","updatedB","handleDropdownOnClear","collectionDisabled","updatedValues","updatedDisabled","handleRelationOnClick","handleOnClose","popupFooterActions","onSave","toggleA","toggleB","relationshipType","lineHeight","FormControl","OutlinedInput","inputProps","isClear","isSearch","memo","MetaGroupsActions","handlePopupVisible","DeletePromptPopup","AddTokenPopup","passwordVisible","setPasswordVisible","token","setToken","expirationDate","expires_at","endOf","APITokensActions","setName","nameError","setNameError","setExpirationDate","expirationDateError","setExpirationDateError","onClosePopup","reset","disablePast","disableHighlightToday","IpRangesActions","AddCustomPortsPopUp","CustomPortsActions","ConfirmationPopup","SECURE_INPUT_MASK","IntegrationsList","SIEM","sentinel","guideUrl","showToggle","splunk","jira","servicenow","SOAR","xsoar","is_unavailable","TimeIntervalOptions","CustomSwitch","AntSwitch","styled","Switch","transitions","create","boxSizing","rest","IntegrationHeader","ButtonsWrapper","isSubmiting","isValidated","FIELDS","DROP_DOWNS","activationField","valueField","DropDownBox","alwaysActive","setActive","selectedItem","showOptions","setShowOptions","Sentinel","submiting","setSubmiting","action_items_is_active","action_items_push_interval","workspace_id","primary_key","setIsValidated","submitEnabled","setSubmitEnabled","isEditMode","fullWidth","info","dropdown","Splunk","hec_token","splunk_server","unlinked_ips_is_active","unlinked_ips_push_interval","checkboxRoot","PopSideFotter","showDeletePopup","deleteOnCancel","deleteAfterApplyOnClick","deleteBeforeApplyOnClick","selectedDeleteIndex","deleteMsgWithNotificationWarning","showDelete","setShowDelete","setIsDeleteDisabled","smallHeight","bigHeight","disableRipple","root","JiraEmptyState","textAlign","isPassword","JiraBlock","integration","deleteIntegrationOnClick","activeOnChange","setIsActive","configuration_name","isChecked","unmountOnExit","inActive","configuration","server_url","project","checkIsValidation","onFocus","autoComplete","blockData","issue_type","Jira","setShowDeletePopup","isEmptyState","setIsEmptyState","setSelectedDeleteIndex","setDeleteMsgWithNotificationWarning","valid","hasIds","isSecure","fetchedData","errs","handleActiveOnChange","showDeletePopupHeader","ID_PASSWORD","TOKEN","ServiceNow","methods","setMethods","authentication","user_name","refresh_token","client_id","client_secret","isOpacity","authentication_type","NotAvailableIntegration","metadata","Integration","setIntegration","isExists","getComponent","Integrations","func","unwrap","_err","renderIntegrationsBoxes","_app","isServicenowAndCortexPov","renderIntegrationsCategories","IconNotificationsActiveProtection","isFilledColor","IconNotificationsActionItems","IconNotificationsDiscovery","IconNotificationsCertificates","IconNotificationsPortalAccess","IconNotificationsAssetManagement","getCategoryFromType","NOTIFICATIONS_TYPE","ACTION_ITEM","CERTIFICATES","PORTAL_ACCESS","ASSET_MANAGEMENT","CATEGORIES_ENUM","action_items","portal_access","certificates","asset_management","NOTIFICATION_OPTIONS","newTitle","desc","SORT_TYPE","DROPDOWNBOX_TYPE","RADIO","CHECKBOX","SLIDER","IMPORTANCE","TEXT_FILTER","NUMBER_FILTER","NUMBERS_LIST_FILTER","STRINGS_LIST_FILTER","INPUT_CHIPS","DATES","NotificationsContext","NotificationsProvider","allNotifications","setAllNotifications","filteredNotifications","setFilteredNotifications","notificationsAmount","setNotificationsAmount","selectedNotification","setSelectedNotification","by","setSortBy","actionMode","setActionMode","notificationType","setNotificationType","activatedIds","setActivatedIds","fetchNotifications","notification","notification_type","f","searchNotifications","useCallback","sorted","dirOrder","updated_at","onDeleteNotification","patchNotification","resPatch","onNotificationClick","onNotificationItemMenuClick","menuId","onSort","_sortBy","onSwitchNotificationItem","isActivate","removeByValue","useNotifications","IconSortOrder","NotificationsHeader","onAdd","showOrder","borderRight","ToggleButtonGroup","exclusive","ToggleButton","asc","paper","contentText","dialogTitle","deletedNotification","infoIcon","NotificationItem","integrationUrl","setIntegrationUrl","isNotificationActive","isIntegrationActive","configuration_status","configuration_id","handleDialogOnClose","deleteDialog","Dialog","keepMounted","DialogTitle","DialogContent","DialogContentText","DialogActions","created_by","created_at","NotificationsList","groupedNotifications","setGroupedNotifications","updated","dir","sortObject","IconSearchNoResults","IconEmptyState","EmptyState","svgCollapse","CollapseButton","collapse","startIcon","minHeight","NotificationTypeBox","AddNotificationTypePanel","ChipsBox","chips","chipText","Chip","REQUIRED_FILTERS","DEFAULT_EVENT","getDropdownboxTypeByFilter","parseNotification","existingData","allFilters","existingFilters","existEvent","eventType","updatedData","reduceAll","isRadio","updatedCoices","buildToggleFilter","choicesFilter","textFilter","buildFilter","buildArrayNumbersFilter","lte","gte","buildSliderFilter","buildDateFilter","parseRequiredFields","integrationData","eventData","dropdownbox_type","be_setter_key","buildEventFilter","shared","channelData","channel","channel_type","buildChannelFilter","buildIntegrationsFilter","enrichNotificationData","notificationData","enrichFilters","is_required","getAllLabels","recipients","initNotificationData","useDropDownBoxMetadata","dropdownBoxHeaderText","setDropdownBoxHeaderText","dropdownBoxHeaderTooltip","setDropdownBoxHeaderTooltip","requiredFields","getToggledFilters","tooltips","toggledEvent","toggleChannel","toggleIntegration","Typography","getRequiredHeadersTooltip","dropdownType","getCheckboxHeadersMetadata","getInputChipsHeadersMetadata","getRadioHeadersMetadata","getDatesHeadersMetadata","getTextFilterHeadersMetadata","getSliderHeadersMetadata","isValue","getNumberListHeadersMetadata","getStringListHeadersMetadata","NotificationConfigurationContext","NotificationConfigurationProvider","setNotificationData","fetchedNotificationData","setFetchedNotificationData","fetchedAllFilters","setFetchedAllFilters","allIntegrations","setAllIntegrations","changedNotificationData","setChangedNotificationData","allLabels","setAllLabels","requiredField","fullData","enrichedNotificationData","parseNotificationData","isChannelType","onChangeNotificationTypeDropdown","eventName","eventChoices","parsedFilters","updatedNotificationData","onChangeNotificationTypeDropdownUtil","fetchNotificationAndAllFilters","notifications","fetchAllFilters","onConfigurationChange","isRequired","updateNotificationData","updatedChangedData","sufix","updateChangedNotificationData","changedData","splited","toggleFilters","isDelete","clearChoices","clearChangedNotificationData","clearNotificationData","updatedFilter","onDeleteFIlter","onApplyFilters","updatedToggles","clearIds","saveNotification","scrollTo","err_key","onSaveNotification","areRequiredFieldsFilled","memoValue","useMemo","useNotificationConfiguration","ViewNotificationContent","getSectionTitle","getRequiredContent","selectedField","getSectionContent","beKeys","PanelHeader","overflowWrap","PanelFooter","bottom","ViewNotificationPanel","flexShrink","RadioButtons","areFilters","Checkboxes","toggledData","CheckboxImportance","rail","track","thumb","SliderBox","min","max","step","sliderOption","Slider","activeThumb","onChangeCommitted","thumbColorPrimary","disableSwap","Dates","setIsError","fromDate","setFromDate","toDate","setToDate","toISOString","inputFormat","textRoot","TextFilter","NumberFilter","NumbersListFilter","StringsListFilter","deleteIcon","AutoCompleteWithChips","isValidMail","setIsValidMail","Autocomplete","multiple","endAdornment","freeSolo","handleOnChange","renderTags","getTagProps","defaultMuiPrevented","invalid","textPrimary","isHovered","setIsHovered","isHeaderText","contentByTypes","radio","checkbox","slider","numberFilter","numbersListFilter","stringsListFilter","inputChips","showClear","onMouseEnter","onMouseLeave","interactive","BlockDivider","light","popoverRoot","maxHeight","FiltersMenu","selectedFiltersIds","setSelectedFiltersIds","selectedIds","Popover","anchorOrigin","vertical","horizontal","updatedIds","FilterItem","NotificationConfigurationsContent","toggledFilters","setToggledFilters","origNotificationName","setOrigNotificationName","notificationName","setNotificationName","channelDropdown","setChannelDropdown","refName","comp","NotificationConfigurations","overflowX","SidePanelContentByMode","edit","onPanelClose","Drawer","anchor","showMask","setShowMask","CustomSettingsPages","getCustomPageComponent","Settings","setCategory","getPageType","pageType","setPageType","getRowsPath","getDeletePath","_category","handleMenuItemClick","subitem","prepareHeaderText","getActionsComponent","_props","extraProps","pinnedColumns","right","PanelSideHeader","panelData","discoveryDate","first_seen","riskScore","isRiskScore","sm","CollapseFields","collapseItem","isCollapse","setIsCollapse","setisLoading","collapseItemData","setCollapseItemData","isInternal","fetchCollapseItem","CollapsedList","printKeyValue","CollaspsedDiagram","registrar","registrant_organization","registrant_contact_name","whois_name_servers","whois_status","domain_expiration_date","whois_emails","alexa_rank","majestic_rank","umbrella_rank","ip_network_name","ip_network_org_id","ip_network_org_name","ip_network_country","ip_network_source","open_ports","cloud_provider","region","is_public_facing","ports","custom_domains","internet_paths","internal_networks","environment_variables","subscription_id","resource_id","PanelSideBody","isTagsExpand","setIsTagsExpand","areIPs","areFQDNs","fqdns","subItemsData","cloud_resource_url","ele","linkType","version","MobilePanelSideBody","PanelSide","isMobileAsset","togglePanel","setTogglePanel","IconAddTag","IconExportCSV","IconRemoveTag","tabPath","publicCloud","loginAssets","managedDomains","unlinkedAssets","mobileAssets","OPTIONS","TABSET_SINGLE_ASSET","vulnerabilities","typeTab","tests","technologies","evidence","protocols","CveList","getNistToolTipHtml","cvss_version","base_severity","cvss_vector","impact_score","exploitability_score","attack_vector","attack_complexity","privileges_required","user_interaction","scope","confidentiality_impact","integrity_impact","availability_impact","getCWEToolTipHtml","cve","cvss","epss","epss_percentile","parseFloat","is_cisa","cwe","_cwe","prepareHTML","KEYWORD","TechnicalDetails","rawData","setRawData","td","isAllowEmptyJson","isActionItemsPDF","enableClipboard","iconStyle","indentWidth","displayDataTypes","displayObjectSize","screenshot","getFilteredTechnicalDetails","isPDF","_window","iframe","write","ActionItemsInfo","first_opened_at","impact","cves","references","reference","technical_details","required_action","hideShowMore","is_asset_deleted","TabActionItems","dataPopUp","setDataPopUp","parentCallback","last_closed_at","openPopUp","IconWarning","TabTechnologies","expanded","setExpanded","setClickOutSideEvent","numOfVisibleLines","expandEl","borderEl","getShortenAppName","appNameAsArray","getAppImage","logo_url","is_vulnerable_component","EvidenceData","activeCategory","onload","contentRef","scrollIntoView","behavior","confidence","companyName","TabDiscoveryEvidence","setActiveCategory","isDataLoaded","setIsDataLoaded","cat","ManageTabs","setSelectTab","showIconNotData","setShowIconNotData","dataTabGrid","setDataTabGrid","mobileMore","from_source","assetName","popup","tabType","switchTabs","SingleAsset","showSingleAsset","showNotFoundPage","showAssetRemoved","checksPagePath","updatePageHeader","currentTabTitle","getAssetName","pageTitle","headerArray","updateSelectTab","checkShowSummary","getTabs","updateLink","detailed","urlSummary","initUrls","handleError","showTopPanel","is_virtual","cloud_asset","IconConnectionType","RiskScoreByCategory","totalRiskScore","TopActionItems","ai","GeneralScore","Connections","connected_assets","connection_types","QuickViewPanel","nameTab","risk_score_by_category","Evidence","isOpened","getItem","port","textTransform","getEvidenceItems","UnlinkedAssets","service_type","certainty","evidences","related_org_fqdns","related_fqdns","evidences_types","getEvidencesListHTML","InventoryRouting","dataQuickViewPanel","setDataQuickViewPanel","showQuickViewPanel","setShowQuickViewPanel","unlinkedAssetsData","setUnlinkedAssetsData","inventoryData","setInventoryData","showUnlinkedAssets","setShowUnlinkedAssets","getElementSelect","Inventory","IconAcknowledgeHide","IconRescan","IconUncknowledge","closed","AcknowledgeReason","sendFeedback","setSendFeedback","is_acknowledged","acknowledgement_reason","indexes","removeRowsGrid","ActionItemsRouting","acknowledgeReason","setAcknowledgeReason","dataRow","setDataRow","actionItemsData","setActionItemsData","_filters","_filter","isPDFDownloadable","is_pdf_downloadable","ActionItems","Accounts","ThreatsCenterContext","ThreatsCenterProvider","setAllData","setFilteredData","dependentData","setDependentData","timeLineData","setTimeLineData","timelineSelected","setTimelineSelected","showOnlyFindings","setShowOnlyFindings","uuid","findings","potential_affected","buildTimeLineData","timeline","creation_time","getTime","m","monthNumber","days","fetchData","getAllTags","fetchDependentData","promisesAPIs","findings_api_url","potential_affected_api_url","useThreatsCenter","Timeline","hash","handleDayOnClicked","isText","urgencyColor","smooth","scroll","block","inline","ThreatCenterTopBar","Findings","affected","handleOnClick","findings_ui_url","potential_affected_ui_url","linkIcon","ThreatItem","readMore","read_more","handleArtifactOnClicked","update_time","hover","image","dangerouslySetInnerHTML","__html","previous_connected_posts","artifact","textDecoration","ThreatsList","thread","ThreatsContainer","last30Data","setLast30Data","earlierData","setEarlierData","last30","now","earlier","ThreatCenterModule","ThreatCenter","PagesRouting","render","ZD_WIDGET_ID","Help","zE","activate","HelpCenter","AppRouting","settingsPopupVisible","setSettingsPopupVisible","listen","URLSearchParams","newRelativePathQuery","pushState","LoginBackgroundAnimation","InputField","SSO","isExsit","textBySSOIcon","saml","getNextPath","samlIdp","key_sso","ERRORS","LoginForm","generalError","setGeneralError","setPassword","passwordError","setPasswordError","showPasswordField","setShowPasswordField","showLoginButton","setShowLoginButton","validationCode","setValidationCode","validationCodeError","setValidationCodeError","showValidationField","setShowValidationField","isRequiredValidationCode","setIsRequiredValidationCode","buttonText","setButtonText","isButtonDisabled","setIsButtonDisabled","loginData","setLoginData","accountMethodsType","setAccountMethodsType","userMethodsType","setUserMethodsType","showMethodsButtons","setShowMethodsButtons","selectedMethod","setSelectedMethod","handleSubmit","otp_method","otp_token","hostname","merge","assign","saml_idp","useLogin","setConfirmError","isValidUser","setIsValidUser","isPasswordSaved","setIsPasswordChanged","isForgotPasswordValidEmail","setIsForgotPasswordValidEmail","userToken","setUserToken","validateUser","manageError","changeUserPassword","isNewUser","forgotPasswordValidateEmail","forgotPasswordValidateToken","ForgotPasswordForm","isVisible","setIsVisible","validateEmail","ForgotPasswordFlow","newPassword","setNewPassword","newPasswordError","setNewPasswordError","confirmPassword","setConfirmPassword","confirmPasswordError","setConfirmPasswordError","onBack","LoginBox","isForgotPassword","isResetPassword","setIsResetPassword","toggleForgotPassword","Login","setAnimation","GenerateExecutiveReport","isSavingReportToServer","setIsSavingReportToServer","isSaveEnable","setIsSaveEnable","ts","setTS","showLogo","showBulk","setShowBulk","isApproved","setIsApproved","isPreview","setIsPreview","bulkCompanies","setBulkCompanies","reportType","refReport","refForm","areBulkCompanies","saveReportAndDownload","companies","isBulk","displayLogo","onSuccess","onFailure","FormControlLabel","control","labelPlacement","multiline","LoadingButton","IonixLogo","ActionItemsPDFHeader","prefix","getPDFFormatedDate","DEFAULT_COLORS","ACTIVE","INACTIVE","IMPORTANCE_BY_TYPE","Low","Medium","High","Highest","IconImportance","ActionItemsTable","groups_names","ActionItemHeader","actionItem","ActionItemDetails","ActionItemContainer","GenerateActionItemsPDF","runTimer","setRunTimer","print","postMessage","singleAsset","details","dependent","network_assessment","cti","getRule","nextRow","section","rule","sortField","fetchHightlightData","jsonHighlightData","laterCallData","laterCallUrls","testsResults","usedTests","lookupHighlights","used_tests","t","selected_failed_test","filtered","network_failed_tests","pdf_page_type","pdf_should_display","ThreatsReportContext","fixedPages","reports","network","used_action_items_titles","ThreatsReportProvider","allThreats","setAllThreats","highlightsList","setHighlightsList","highlightsExamplesData","setHighlightsExamplesData","aggregationData","setAggregationData","cover","radar","pagesCount","setPagesCount","pagesOrder","setPagesOrder","totalPages","setTotalPages","topExamplesIDs","setTopExamplesIDs","filterOutClassesAndSeverities","mapClasses","has","class","findNextResultRow","shouldReturnRow","networkFailed","isOk","findHighlightsExamples","jsonFilteredData","examples","pages","fetchedExampleData","stop","getHighlightsThreats","flat","examplesData","topIDs","pageCount","allThreatsData","aggregation","increaseLimitApisCall","fetchAggregationData","getASMTableRowsBySevirity","setPagesAmount","PAGE_HEIGHT","PAGE_WIDTH","useThreatsReport","potentially_unknown","ExposureHeader","potentiallyUnknown","justifyItems","ExposureDescription","assessment","RadarLegend","borderTop","PageFooter","currentPage","usePageSize","setMinHeight","offsetHeight","ExposureRadar","refDetails","highlights","PageHeader","iconLink","getBackgroundColorByUrgency","informational","CATEGORIES","HighlightsTable","cellPadding","cellSpacing","Icon","severity_label","sub_title_plural","sub_title_single","onion_layer","Highlights","Contact","underline","LastPage","CoverLegend","setPages","CoverPage","CompromisedDeviceDetails","date_compromised","date_added","internal_url","related_asset","endpoint_ad_user","endpoint_ip","endpoint_os","stealer_family","malware_path","password_strength","password_hash","CompromisedDevice","AssetTestDetails","managed_domain","wordBreak","AssetTest","ActionItemsDetails","maxRows","raw_request","UnknownDetails","maintenance_grade","bad_maintenance_indicators","Unknown","MisconfiguredDetails","login_url","login_type","is_valid_certificate","is_over_http","is_over_https","Misconfigured","Examples","example","ThreatsReport","GenerateThreatsReport","zendesk","injected","initialized","script","Alert","Snackbar","autoHideDuration","App","_loading","showASM","setShowASM","ldClient","useLDClient","company_hash","identify","inject","populateInitialState","LicenseInfo","setLicenseKey","getAccount","exact","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","renderApp","asyncWithLDProvider","clientSideID","REACT_APP_LD_CLIENT_ID","LDProvider","ReactDOM","StrictMode"],"mappings":"gvsVAKO,SAASA,EAAMC,GACpB,IAEIC,EAFJ,EAA8BC,oBAAkB,GAAhD,mBAAOC,EAAP,KAAgBC,EAAhB,KACQC,EAAoBC,aAAY,SAACC,GAAD,OAAwBA,EAAMC,WAA9DH,gBAGRI,qBAAU,WAUR,OATIT,EAAMU,SAERT,EAAQU,YAAW,WACjBP,GAAW,KACV,KACHQ,SAASC,iBAAiB,UAAWC,GAAW,IAEhDV,GAAW,GAEN,WACLW,aAAad,GACbW,SAASI,oBAAoB,UAAWF,GAAW,MAEpD,CAACd,EAAMU,UAEV,IAAMI,EAAY,SAACG,GACbA,EAAEC,KAA+B,WAAxBD,EAAEC,IAAIC,eACjBC,KAIEA,EAAa,WACbf,GACFL,EAAMqB,YAAW,IAIrB,OACErB,EAAMU,SACJ,sBAAKY,UAAS,sBAAiBnB,EAAU,UAAY,IAArD,UACE,qBAAKmB,UAAU,WAAWC,QAASH,IAClCpB,EAAMwB,YCvCR,IAAMC,EAAmC,SAAC,GAAgB,IAC3DC,EAD0D,EAAbC,OAC5B,UAAY,UAEjC,OACE,qBAAKC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,8DACFC,OAAQR,EACRS,cAAc,QACdC,eAAe,a,gCCTVC,EAAb,4MACSrC,WADT,8CAEE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAC5C,OACE,sBAAKK,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAYC,KAAK,OAA5F,UACE,sBACEE,EAAE,kTACFC,OAAQR,EACRU,eAAe,UAEjB,sBACEH,EAAE,iRACFF,KAAK,YAEP,sBACEE,EAAE,wIACFF,KAAK,mBAjBf,GAAuCQ,IAAMC,WCAhCC,EAAb,4MACSzC,WADT,8CAEE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAC5C,OACE,sBAAKK,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAYC,KAAK,OAA5F,UACE,mBAAGW,OAAO,6BAAV,SACE,sBACET,EAAE,0IACFC,OAAQR,EACRS,cAAc,QACdC,eAAe,QACfO,eAAe,iBAGnB,mBAAGD,OAAO,6BAAV,SACE,sBACET,EAAE,qJACFC,OAAQR,EACRS,cAAc,QACdC,eAAe,QACfO,eAAe,iBAGnB,mBAAGD,OAAO,6BAAV,SACE,sBACET,EAAE,iJACFC,OAAQR,EACRS,cAAc,QACdC,eAAe,QACfO,eAAe,iBAGnB,mBAAGD,OAAO,6BAAV,SACE,sBACET,EAAE,gKACFC,OAAQR,EACRS,cAAc,QACdC,eAAe,QACfO,eAAe,iBAGnB,iCACE,yBACEC,GAAG,uBACHC,EAAE,IACFC,EAAE,IACFlB,MAAM,KACNC,OAAO,IACPkB,YAAY,iBACZC,0BAA0B,OAP5B,UASE,yBAASC,aAAa,IAAIC,OAAO,uBACjC,+BACEC,GAAG,cACHC,KAAK,SACLC,OAAO,4CACPH,OAAO,cAET,6BACA,gCAAgBI,aAAa,MAC7B,6BAAaC,IAAI,YAAYC,SAAS,QACtC,+BAAeJ,KAAK,SAASC,OAAO,mEACpC,yBAASI,KAAK,SAASF,IAAI,qBAAqBL,OAAO,kCACvD,yBAASO,KAAK,SAASN,GAAG,gBAAgBI,IAAI,gCAAgCL,OAAO,aAEvF,yBACEN,GAAG,uBACHC,EAAE,IACFC,EAAE,IACFlB,MAAM,KACNC,OAAO,KACPkB,YAAY,iBACZC,0BAA0B,OAP5B,UASE,yBAASC,aAAa,IAAIC,OAAO,uBACjC,+BACEC,GAAG,cACHC,KAAK,SACLC,OAAO,4CACPH,OAAO,cAET,6BACA,gCAAgBI,aAAa,MAC7B,6BAAaC,IAAI,YAAYC,SAAS,QACtC,+BAAeJ,KAAK,SAASC,OAAO,mEACpC,yBAASI,KAAK,SAASF,IAAI,qBAAqBL,OAAO,kCACvD,yBAASO,KAAK,SAASN,GAAG,gBAAgBI,IAAI,gCAAgCL,OAAO,aAEvF,yBACEN,GAAG,uBACHC,EAAE,IACFC,EAAE,IACFlB,MAAM,KACNC,OAAO,KACPkB,YAAY,iBACZC,0BAA0B,OAP5B,UASE,yBAASC,aAAa,IAAIC,OAAO,uBACjC,+BACEC,GAAG,cACHC,KAAK,SACLC,OAAO,4CACPH,OAAO,cAET,6BACA,gCAAgBI,aAAa,MAC7B,6BAAaC,IAAI,YAAYC,SAAS,QACtC,+BAAeJ,KAAK,SAASC,OAAO,mEACpC,yBAASI,KAAK,SAASF,IAAI,qBAAqBL,OAAO,kCACvD,yBAASO,KAAK,SAASN,GAAG,gBAAgBI,IAAI,gCAAgCL,OAAO,aAEvF,yBACEN,GAAG,uBACHC,EAAE,IACFC,EAAE,KACFlB,MAAM,KACNC,OAAO,KACPkB,YAAY,iBACZC,0BAA0B,OAP5B,UASE,yBAASC,aAAa,IAAIC,OAAO,uBACjC,+BACEC,GAAG,cACHC,KAAK,SACLC,OAAO,4CACPH,OAAO,cAET,6BACA,gCAAgBI,aAAa,MAC7B,6BAAaC,IAAI,YAAYC,SAAS,QACtC,+BAAeJ,KAAK,SAASC,OAAO,mEACpC,yBAASI,KAAK,SAASF,IAAI,qBAAqBL,OAAO,kCACvD,yBAASO,KAAK,SAASN,GAAG,gBAAgBI,IAAI,gCAAgCL,OAAO,uBArIjG,GAAmCX,IAAMC,WCD5BkB,EAAb,4MACS1D,WADT,8CAEE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAC5C,OACE,sBAAKK,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAYC,KAAK,OAA5F,UACE,sBAAME,EAAE,2DAA2DC,OAAQR,EAAOU,eAAe,UACjG,sBAAMH,EAAE,wCAAwCC,OAAQR,EAAOS,cAAc,QAAQC,eAAe,UACpG,sBAAMH,EAAE,qCAAqCC,OAAQR,EAAOU,eAAe,UAC3E,sBAAMH,EAAE,aAAaC,OAAQR,WATrC,GAAkCa,IAAMC,WCA3BmB,EAAb,4MACS3D,WADT,8CAEE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAC5C,OACE,sBAAKK,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAYC,KAAK,OAA5F,UACE,sBACEE,EAAE,+IACFC,OAAQR,EACRS,cAAc,QACdC,eAAe,UAEjB,sBACEH,EAAE,gSACFF,KAAK,YAEP,sBAAME,EAAE,+CAA+CC,OAAQR,IAC/D,sBACEO,EAAE,yLACFF,KAAK,mBAnBf,GAAgCQ,IAAMC,WCAzBoB,EAAb,4MACS5D,WADT,8CAEE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAC5C,OACE,sBAAKK,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAYC,KAAK,OAA5F,UACE,sBACEE,EAAE,ypBACFC,OAAQR,EACRS,cAAc,QACdC,eAAe,UAEjB,sBACEH,EAAE,iLACFC,OAAQR,EACRS,cAAc,QACdC,eAAe,iBAhBzB,GAAkCG,IAAMC,WCF3BqB,EACQ,oBADRA,EAEK,iBAFLA,EAGY,wBAHZA,EAIY,wBAJZA,EAKS,qBALTA,EAMgB,4BANhBA,EAOgB,4BAPhBA,EAQE,cARFA,EASS,qBATTA,EAUS,qBAVTA,EAWE,cAXFA,EAYS,qBAZTA,EAaK,iBAbLA,EAcG,eAdHA,EAeY,wBAfZA,EAgBU,sBAhBVA,EAiBY,wBAjBZA,EAkBU,sBAlBVA,EAmBK,iBAnBLA,EAoBG,eApBHA,EAqBY,wBArBZA,EAsBU,sBAtBVA,EAuBY,wBAvBZA,EAwBU,sBAxBVA,EAyBO,mBAzBPA,EA0Bc,0BA1BdA,EA2Bc,0BA3BdA,GA4BU,sBA5BVA,GA6BO,mBA7BPA,GA8Bc,0BA9BdA,GA+Bc,0BA/BdA,GAgCM,kBAhCNA,GAiCa,yBAjCbA,GAkCa,yBAlCbA,GAmCC,aAnCDA,GAoCe,2BApCfA,GAqCmB,+BArCnBA,GAsCmB,+BAtCnBA,GAuCkB,8BAvClBA,GAwCsB,kCAxCtBA,GAyC0B,sCAzC1BA,GA0CwB,oCA1CxBA,GA2CiB,6BA3CjBA,GA4Cc,0BA5CdA,GA6CgB,4BA7ChBA,GA8CqB,iCA9CrBA,GA+CgB,4BA/ChBA,GAgDqB,iCAhDrBA,GAiDsB,kCAjDtBA,GAkDmB,+BAlDnBA,GAmD0B,sCAnD1BA,GAoDyB,qCApDzBA,GAqDS,qBArDTA,GAsDJ,QAtDIA,GAuDH,SAvDGA,GA2DS,qBA3DTA,GA4DS,qBA5DTA,GA6DO,mBA7DPA,GA8DW,uBA9DXA,GA+DM,kBA/DNA,GAgEH,SAhEGA,GAiEA,YAjEAA,GAkEQ,oBAlERA,GAmEC,aAnEDA,GAuED,WAvECA,GAwEG,eAxEHA,GAyEG,eAzEHA,GA0EH,SA1EGA,GA2EC,aA3EDA,GA4EI,gBA5EJA,GA6EK,iBA7ELA,GA8EQ,oBA9ERA,GA+EI,gBA/EJA,GAgFD,WAhFCA,GAiFA,YAjFAA,GAkFE,cAlFFA,GAmFH,SAnFGA,GAoFC,aApFDA,GAqFD,WArFCA,GAsFM,kBAtFNA,GAuFQ,oBAvFRA,GAwFU,sBAxFVA,GAyFY,wBCrFZC,GAAgB,GAI7BA,GAAMD,GAA+B,sBAErCC,GAAMD,GAA4B,wBAClCC,GAAMD,GAAmC,gCACzCC,GAAMD,GAAmC,gCAEzCC,GAAMD,GAAgC,kCACtCC,GAAMD,GAAuC,0CAC7CC,GAAMD,GAAuC,0CAE7CC,GAAMD,GAAyB,oBAC/BC,GAAMD,GAAgC,4BACtCC,GAAMD,GAAgC,4BAEtCC,GAAMD,GAA4B,6BAClCC,GAAMD,GAAmC,qCAEzCC,GAAMD,GAA0B,0BAChCC,GAAMD,GAAiC,kCAEvCC,GAAMD,GAA4B,6BAClCC,GAAMD,GAAmC,qCAEzCC,GAAMD,GAAyB,mBAC/BC,GAAMD,GAAgC,2BAEtCC,GAAMD,GAA0B,oBAChCC,GAAMD,GAAiC,4BAIvCC,GAAMD,IAAwB,eAC9BC,GAAMD,IAAsC,0BAC5CC,GAAMD,IAA0C,oCAChDC,GAAMD,IAA6C,kCACnDC,GAAMD,IAAiD,4CAEvDC,GAAMD,IAA0C,mCAChDC,GAAMD,IAAyC,wCAC/CC,GAAMD,IAAiD,2CACvDC,GAAMD,IAAgD,gDAEtDC,GAAMD,IAAgC,wBACtCC,GAAMD,IAAuC,iCAC7CC,GAAMD,IAAqC,yBAC3CC,GAAMD,IAA4C,8CAClDC,GAAMD,IAAuC,8CAC7CC,GAAMD,IAA4C,sCAClDC,GAAMD,IAA6C,qDACnDC,GAAMD,IAA0C,6CAEhDC,GAAMD,IAA+C,yCACrDC,GAAMD,IAAwC,iCAI9CC,GAAMD,GAA8B,iCACpCC,GAAMD,GAAqC,yCAC3CC,GAAMD,GAAqC,yCAK3CC,GAAMD,IAAiC,qCAEvCC,GAAMD,IAA6B,iCACnCC,GAAMD,IAAoC,yCAC1CC,GAAMD,IAAoC,yCAE1CC,GAAMD,IAA8B,mCACpCC,GAAMD,IAAqC,2CAC3CC,GAAMD,IAAqC,2CAK3CC,GAAMD,IAAmB,+BACzBC,GAAMD,IAAoB,eAK1BC,GAAMD,IAAgC,gCACtCC,GAAMD,IAAgC,gCACtCC,GAAMD,IAA8B,8BACpCC,GAAMD,IAAkC,kCACxCC,GAAMD,IAA6B,6BACnCC,GAAMD,IAAoB,oBAC1BC,GAAMD,IAAuB,uBAC7BC,GAAMD,IAA+B,qBACrCC,GAAMD,IAAwB,wBAK9BC,GAAMD,IAAsB,qBAC5BC,GAAMD,IAA0B,yBAChCC,GAAMD,IAA4B,kCAClCC,GAAMD,IAA2B,0BACjCC,GAAMD,IAAoB,mBAC1BC,GAAMD,IAAwB,wBAC9BC,GAAMD,IAA0B,iDAChCC,GAAMD,IAA+B,mDACrCC,GAAMD,IAA2B,wCACjCC,GAAMD,IAAyB,iDAC/BC,GAAMD,IAAsB,8CAC5BC,GAAMD,IAAuB,+BAC7BC,GAAMD,IAAoB,mBAC1BC,GAAMD,IAAwB,iCAC9BC,GAAMD,IAAsB,4BAE5BC,GAAMD,IAA6B,8BACnCC,GAAMD,IAA+B,gCACrCC,GAAMD,IAAiC,kCACvCC,GAAMD,IAAmC,oCCvHlC,IAAME,GAAb,4MACS/D,WADT,8CAEE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAC5C,OACE,sBAAKC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEC,EAAE,0TACFC,OAAQR,EACR,iBAAe,QACf,kBAAgB,UAElB,sBAAMO,EAAE,+BAA+BC,OAAQR,EAAO,iBAAe,QAAQ,kBAAgB,UAC7F,sBACEO,EAAE,8PACFC,OAAQR,IAEV,sBACEO,EAAE,2QACFC,OAAQR,IAEV,sBACEO,EAAE,oRACFC,OAAQR,IAEV,sBACEO,EAAE,gQACFC,OAAQR,WA3BlB,GAAkCa,IAAMC,WCA3BwB,GAAb,4MACShE,WADT,8CAEE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAE5C,OACE,sBAAKC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEC,EAAE,uLACFC,OAAQR,IAEV,sBAAMO,EAAE,mBAAmBC,OAAQR,IACnC,sBAAMO,EAAE,oBAAoBC,OAAQR,WAZ5C,GAAsCa,IAAMC,WCS/ByB,GAA2B,CACtCC,UAAW,CACTC,MAAO,YACPjD,IAAK,YACLkD,cAAe3B,EACf4B,KAAM,mBACNC,gBAAgB,EAChB3C,QAAQ,EACR4C,YAAY,EACZC,aAAa,GAEfC,YAAa,CACXN,MAAO,eACPjD,IAAK,cACLkD,cAAe3C,EACf4C,KAAM,8DACNC,gBAAgB,EAChB3C,QAAQ,EACR4C,YAAY,EACZC,aAAa,GAEfE,UAAW,CACTP,MAAO,YACPjD,IAAK,YACLkD,cAAeV,EACfW,KAAM,kCACNC,gBAAgB,EAChB3C,QAAQ,EACR4C,YAAY,EACZC,aAAa,GAEfG,YAAa,CACXR,MAAO,cACPjD,IAAK,cACLkD,cAAeT,EACfU,KAAM,oCACNC,gBAAgB,EAChB3C,QAAQ,EACR4C,YAAY,EACZC,aAAa,GAEfI,iBAAkB,CAChBT,MAAO,oBACPjD,IAAK,mBACLkD,cAAe/B,EACfgC,KAAM,0BACNC,gBAAgB,EAChB3C,QAAQ,EACR4C,YAAY,EACZC,aAAa,GAEfK,SAAU,CACRV,MAAO,WACPjD,IAAK,WACLkD,cAAeL,GACfM,KAAM,kBACNC,gBAAgB,EAChB3C,QAAQ,EACR4C,YAAY,EACZC,aAAa,EACbM,iBAAiB,GAEnBC,aAAc,CACZZ,MAAO,gBACPjD,IAAK,eACLkD,cAAeJ,GACfK,KAAM,sBACNC,gBAAgB,EAChB3C,QAAQ,EACR4C,YAAY,EACZC,aAAa,EACbQ,KAAM,uBAERC,SAAU,CACRd,MAAO,WACPjD,IAAK,WACLkD,cAAeR,EACfS,KAAK,UAAD,OAAYP,GAAMD,KACtBqB,WAAW,UAAD,OAAYpB,GAAMD,KAC5BsB,SAAS,UAAD,OAAYrB,GAAMD,KAC1BS,gBAAgB,EAChB3C,QAAQ,EACR4C,YAAY,EACZC,aAAa,I,UC9FJY,GAA0B,CACrCC,MAAO,GACPC,IAAK,CACHC,WAAW,EACXC,OAAQ,CACND,WAAW,EACXE,UAAU,EACVC,iBAAkB,GAClBC,QAAS,GACTC,SAAU,KAGdC,SAAU,CACRJ,UAAU,EACVK,MAAO,GACPC,MAAO,IAETC,IAAK,CACHT,WAAW,EACXI,QAAS,CAAC,oBAEZM,WAAY,CACVV,WAAW,EACXO,MAAO,GACPC,MAAO,KCvBEG,GAAe,SAWlBC,GACNC,aAAaC,QAAQ,cAAeC,KAAKC,UAAUJ,KAZ1CD,GAAe,SA2BVM,GAAc,IAAD,IAC3B,OAAO,UAAAA,EAAKnB,aAAL,eAAYoB,SAAS,qBAArB,UAA0CD,EAAKnB,aAA/C,aAA0C,EAAYoB,SAAS,eA5B7DP,GAAe,SAiCPM,GACjB,OAAqB,KAAdA,EAAKE,MAlCHR,GAAe,SAoCjBM,GACP,OAAOA,EAAKE,MAAQ,IAAMF,EAAKE,KAAO,IArC7BR,GAAe,SAuCVM,GACd,OAAOA,EAAKE,MAAQ,IAxCXR,GAAe,SA0CVM,GACd,OAAOA,EAAKE,MAAQ,IA3CXR,GAAe,SAgDXM,GACb,OAAOA,EAAKE,KAAO,I,sCCnDVC,GAAG,6BAAQC,0QAAgBC,OAAM,K,4CCAjCC,GAAoB,WAG7B,IAAIC,EAAOF,OAAOG,SAASC,KAAKC,QAAQL,OAAOG,SAASG,OAAQ,IAChE,GAAiC,WAA7BN,OAAOG,SAASI,SAClB,OAAO,EAEJP,OAAOG,SAASC,KAAKI,SAAS,UAASR,OAAOG,SAASC,KAAhB,uBAAuCF,KAP1ED,GAAoB,WAW7B,IAAIQ,EAAOT,OAAOG,SAASC,KAAKM,MAAM,SAAS,GAC3CC,EAAc,mBAElB,IACE,YAAgBC,IAATH,GAAmD,WAA7BT,OAAOG,SAASI,SAAwBI,EAAcF,EACnF,MAAOvB,GACP,OAAOyB,ICNN,SAASE,GAAWC,GACzB,IAAIC,EAAmB,CACrB,eAAgB,oBAGZC,EAAUC,GAAMC,WAAWC,MAAMH,SAAWI,GAAOC,gBAAgB,WAOzE,OAJIL,IACFD,EAAQ,kBAAoBC,GAGf,QAAXF,GAImB,MAAnB/G,SAASuH,SACXP,EAAQ,eA8OZ,WAKE,IAAIQ,EAAcxH,SAASuH,OACxBZ,MAAM,KACNc,KAAI,SAAAC,GAAC,OAAIA,EAAEC,UACX7F,QAAO,SAAA4F,GAAC,OAAIA,EAAEE,WAAW,iBAE5B,GAA2B,IAAvBJ,EAAYK,OACd,MAAO,GAGT,GAAIL,EAAYK,OAAS,EACvB,OAAOL,EAAYA,EAAYK,OAAS,GAAGlB,MAAM,KAAK,GAGxD,OAAOa,EAAY,GAAGb,MAAM,KAAK,GAhQNmB,IAJlBd,EAUJ,IAAMe,GAAU,CAGrBC,iBAAkB,SAACC,GACjB,IAAMC,EAAG,UAAMnC,GAAIoC,oBAAV,OAA+BF,GAExC,OAAO,IAAIG,MAAW,SAAAC,GAChBJ,EACFK,MAAMJ,EAAK,CACTnB,OAJS,MAKTlE,KAAM,OACNmE,QAASF,GANA,OAOTyB,YAAa,YAEZC,MAAK,SAAAC,GACJ,OAAOC,GAAeD,MAEvBD,MAAK,SAAAjD,GAAI,OAAI8C,EAAS3B,KAAKnB,MAC3BoD,OAAM,SAAAxD,GACLA,EAAMyD,OAAOJ,MAAK,SAACI,GACjB,OAAOP,EAASlD,MAAM0D,GAAa1D,EAAOyD,UAIhDP,EAASlD,OAAM,OAOrB2D,QAAS,SAACb,EAAcc,EAAyBC,GAC/C,IAAMd,EAAG,UAAMnC,GAAIoC,oBAAV,OAA+BF,GAExC,OAAO,IAAIG,MAAW,SAAAC,GAChBJ,EACFK,MAAMJ,EAAK,CACTnB,OAJS,MAKTlE,KAAM,OACNmE,QAASF,GANA,OAOTyB,YAAa,UACbS,WAECR,MAAK,SAAAC,GACJ,OAAOC,GAAeD,MAEvBD,MAAK,SAAAjD,GAAI,OAAI8C,EAAS3B,KAAKnB,MAC3BoD,OAAM,SAAAxD,GACDA,EAAMyD,MACRzD,EAAMyD,OAAOJ,MAAK,SAACI,GACjB,OAAIG,EACKV,EAASlD,MAAMA,GAEfkD,EAASlD,MAAM0D,GAAa1D,EAAOyD,UAMpDP,EAASlD,OAAM,OAMrB8D,YAjEqB,SAiETC,EAAYH,EAAyBC,GAAkD,IAAD,OAC5FG,EAAe,GACfC,EAAWC,OAAOC,KAAKJ,GACvBK,EAAQH,EAASvB,OACrB,OAAO,IAAIO,MAAW,SAAAC,GACpBe,EAASI,SAAQ,SAAAlJ,GACf,IAAI4H,EAAcgB,EAAM5I,GAExB,EAAKwI,QAAQZ,EAAKa,EAAeC,GAAQS,WACvC,SAAChB,GACCU,EAAQ7I,GAAOmI,EAED,MADdc,GAEElB,EAAS3B,KAAKyC,MAGlB,SAAAhE,GAEgB,MADdoE,GAEElB,EAASlD,MAAMA,aAQ3BuE,YA5FqB,SA4FTC,GAUV,OATiBA,EAAKlC,KAAI,SAACS,GAAD,OACxBI,MAAM,GAAD,OAAIvC,GAAIoC,oBAAR,OAA6BD,GAAO,CACvCnB,OAAQ,MACRlE,KAAM,OACNmE,QAASF,KACTyB,YAAa,gBAOnBqB,wBAzGqB,SAyGGD,GAWtB,OAViBA,EAAKlC,KAAI,SAACoC,GACzB,OAAOvB,MAAM,GAAD,OAAIvC,GAAIoC,oBAAR,OAA6B0B,EAAK3B,KAAlC,cACVnB,OAAQ8C,EAAK9C,OACblE,KAAM,OACNmE,QAASF,KACTyB,YAAa,WACPsB,EAAKtE,KAAO,CAAEuE,KAAMpE,KAAKC,UAAUkE,EAAKtE,OAAU,SAOxDwE,cAvHe,SAuHDC,GAAgB,IAAD,wJAEzBV,EAAOD,OAAOC,KAAKU,GACnBC,EAAW,EAAKP,YAAYL,OAAO5G,OAAOuH,IAHjB,SAIPE,QAAQC,IAAIF,GAJL,OAIzBG,EAJyB,OAK3BC,EAAQ,EACR/H,EAAS,GANkB,eAOV8H,GAPU,iEAOtB3B,EAPsB,kBAQVA,EAAS6B,OARC,QAQvB/E,EARuB,OAU7BjD,EAAM,6BAAQA,GAAR,mBAAiBgH,EAAKe,GAAS9E,IACrC8E,IAX6B,yKAaxB/H,GAbwB,2DAgBxB,CAAEiI,IAAG,KAAEC,SAAS,IAhBQ,0EAoB7BC,0BA3Ie,SA2IWT,GAAgB,IAAD,sJAErCC,EAAW,EAAKL,wBAAwBP,OAAO5G,OAAOuH,IAFjB,SAGnBE,QAAQC,IAAIF,GAHO,OAGrCG,EAHqC,OAIvCC,EAAQ,EACR/H,EAAc,GALyB,eAMtB8H,GANsB,6DAMlC3B,EANkC,SAOnCuB,EAASK,GAAO9E,KAPmB,kCAQpBkD,EAAS6B,OARW,QAQjC/E,EARiC,OASvCjD,EAAM,uBAAOA,GAAP,CAAe,CAAEiD,OAAMiF,SAAU/B,EAASiC,MATT,wBAWvCpI,EAAM,uBAAOA,GAAP,CAAe,CAAEkI,SAAU/B,EAASiC,MAXH,QAazCL,IAbyC,yKAepC/H,GAfoC,2DAkBpC,CAAEiI,IAAG,KAAEC,SAAS,IAlBoB,0EAwB/CG,uBAnKqB,SAmKEzB,EAAY0B,GAA+C,IAAD,OAC3EzB,EAAe,GACfC,EAAWC,OAAOC,KAAKJ,GAC3B,OAAO,IAAId,MAAW,SAAAC,GACpBe,EAASI,SAAQ,SAAAlJ,GACf,IAAI4H,EAAcgB,EAAM5I,GAExB,EAAKwI,QAAL,UAAgBZ,GAAhB,OAAsB0C,EAAY,iBAAaA,GAAiB,KAAMnB,WACpE,SAAChB,GACCU,EAAQ7I,GAAOmI,EACfJ,EAAS3B,KAAKyC,MAEhB,SAAAhE,GACEkD,EAASlD,MAAMA,aASzB0F,QAzLqB,SAyLb5C,GAA4E,IAA9D1C,EAA6D,uDAAjD,GAAIwB,EAA6C,uCAAzBgC,EAAyB,uCAC7Eb,EAAG,UAAMnC,GAAIoC,oBAAV,OAA+BF,GACtC,OAAO,IAAIG,MAAW,SAAAC,GACpBC,MAAMJ,EAAK,CACTnB,OAAQA,EACRlE,KAAM,OACNmE,QAASF,KACTyB,YAAa,UACbuB,KAAMpE,KAAKC,UAAUJ,KAEpBiD,MAAK,SAAAC,GACJ,OAAOC,GAAeD,MAEvBD,MAAK,SAAAjD,GAAI,OAAI8C,EAAS3B,KAAKnB,MAC3BoD,OAAM,SAAAxD,GACLA,EAAMyD,OAAOJ,MAAK,SAACI,GACjB,OAAKG,GAOH5D,EAAM2F,QAAUlC,EACTP,EAASlD,MAAMA,IAPjB+C,EAAIzB,SAAS,UAGT4B,EAASlD,MAAM4F,GAAa5F,EAAOyD,IAFnCP,EAASlD,MAAM0D,GAAa1D,EAAOyD,cAYxDoC,OAvNqB,SAuNd/C,GACL,IAAMC,EAAG,UAAMnC,GAAIoC,oBAAV,OAA+BF,GACxCK,MAAMJ,EAAK,CACTrF,KAAM,OACNmE,QAASF,KACTyB,YAAa,YACZ0C,SAAQ,WAMThF,OAAOG,SAAS8E,cA0BtB,SAASxC,GAAeD,GACtB,IAAKA,EAASiC,GACZ,MAAMjC,EAER,OAAwB,MAApBA,EAAS0C,QAAsC,MAApB1C,EAAS0C,OAC/B1C,EAEFA,EAAS6B,OAKlB,SAASzB,GAAaJ,GAAiD,IAAvBqC,EAAsB,uDAAJ,GAChE,OAAQrC,EAAS0C,QACf,KAAK,IAGL,KAAK,IAEH,OADAjF,KACO6E,GAAatC,EAAUqC,GAChC,QACE,OAAOC,GAAatC,EAAUqC,IAKpC,SAASC,GAAatC,GAAiD,IAAvBqC,EAAsB,uDAAJ,GAC5DP,EAAW,IAAIa,MAAJ,UAAa3C,EAAS4C,aAGrC,OAFAd,EAAIY,OAAS1C,EAAS0C,OACtBZ,EAAIO,QAAUA,EACPP,E,oBC1TIe,GAAmB,CAI9BC,kBAJ8B,SAIZC,GAChB,IAAInK,EAAI,IAAIoK,KACRC,EAAOrK,EAAEsK,QAAQtK,EAAEuK,UAAYJ,GACnC,OAAO,IAAIC,KAAKC,IAIlBG,qBAX8B,SAWTH,GACC,kBAATA,IAAmBA,EAAO,IAAID,KAAKC,IAC9C,IAAII,EAAMR,GAAiBS,oBAAoBL,GAC3CM,EAAM,IAAIC,KAAKC,eAAe,KAAM,CAAEF,IAAK,YAAaG,OAAOL,GAC/DM,EAAQ,IAAIH,KAAKC,eAAe,KAAM,CAAEE,MAAO,YAAaD,OAAOL,GACvE,MAAM,GAAN,OAAUJ,EAAKW,cAAf,YAAgCD,EAAhC,YAAyCJ,EAAzC,eAIFD,oBApB8B,SAoBVL,GAClB,IAAII,EAAML,KAAKa,IACbZ,EAAKa,iBACLb,EAAKc,cACLd,EAAKe,aACLf,EAAKgB,cACLhB,EAAKiB,gBACLjB,EAAKkB,iBAEP,OAAO,IAAInB,KAAKK,IAGlBe,qBAhC8B,SAgCTC,GACnB,OAAQA,EAAOC,OACb,IAAK,gBACH,OAAOzB,GAAiBC,kBAAkB,GAAGyB,SAC/C,IAAK,cACH,OAAO1B,GAAiBO,qBAAqBP,GAAiBC,kBAAkB,IAClF,IAAK,eACH,OAAOD,GAAiBO,qBAAqBP,GAAiBC,kBAAkB,KAClF,IAAK,OAEL,IAAK,QACH,OAAOD,GAAiBO,qBAAqBiB,EAAO5H,OAAS,IAAIuG,MACnE,IAAK,QACH,IAAIwB,EAAQ3B,GAAiBO,qBAAqBiB,EAAOI,MAAM,GAAGhI,OAAS,IAAIuG,MAC3E0B,EAAQ7B,GAAiBO,qBAAqBiB,EAAOI,MAAM,GAAGhI,OAAS,IAAIuG,MAC/E,MAAM,GAAN,OAAUwB,EAAV,YAAmBE,KAGzBC,eAlD8B,SAkDf1B,GACb,IAAI2B,EAAa3B,EAAK/E,MAAM,KAC5B,OAAI0G,EAAMxF,OAAS,EAAS,GAAN,OAAUR,GAAOiG,cAAcD,EAAM,IAAM,IAA3C,YAAkDhG,GAAOiG,cAAcD,EAAM,IAAM,KAC7FhG,GAAOiG,cAAcD,EAAM,IAAM,MCnD3CE,G,WAGJ,aAAe,yBAFfC,MAAYA,mBAGV9L,KAAK8L,MAAQ,G,8CAGf,SAAWC,EAAa7C,GACtBlJ,KAAKgM,UAAUD,EAAOE,QACtBjM,KAAKkM,WAAWH,EAAOI,SACvBnM,KAAKoM,UAAUL,EAAOM,QACtBrM,KAAKsM,WAAWP,EAAOQ,OACvBvM,KAAKwM,gBAAkBtD,GAA8B,M,wBAGvD,SAAW3C,GAAmC,IAArBkG,IAAoB,yDAC3C,GAAIA,EAAa,CACf,IAAMC,EAAUrI,GAAIoC,mBACpBzG,KAAK8L,MAAQA,iBAAM,GAAD,OAAIY,GAAJ,OAAcnG,SAEhCvG,KAAK8L,MAAQA,iBAAMvF,K,uBAIvB,SAAUoG,GACJA,GACF3M,KAAK8L,MAAMc,MAAM,SAAUD,K,uBAI/B,SAAUV,GACRjM,KAAK8L,MAAMc,MAAM,SAAUX,K,6BAG7B,SAAgB/C,GACVA,GACFlJ,KAAK8L,MAAMc,MAAM,QAAS1D,K,wBAI9B,SAAWqD,GACLA,GACFvM,KAAK8L,MAAMc,MAAM,WAAYL,K,wBAIjC,SAAWJ,GACT,GAAIA,GAAWxE,OAAOC,KAAKuE,GAAShG,OAClC,IAAK,IAAI/F,KAAU+L,EACjB,GAA6B,YAAzBA,EAAQ/L,GAAQU,KAAoB,CAEtC,IAAI+L,EAA0B,EAC9B,OAAQV,EAAQ/L,GAAQoD,OACtB,KAAK,EACHqJ,EAAkB,EAClB,MACF,KAAK,EACHA,EAAkB,EAClB,MACF,KAAK,EACHA,EAAkB,GAKtB,IAAMtB,EAAQ3B,GAAiBO,qBAAqBP,GAAiBC,kBAAkBgD,IACjFpB,EAAQ7B,GAAiBO,qBAAqBP,GAAiBC,mBAAmB,IACxF7J,KAAK8L,MAAMc,MAAX,UAAoBxM,EAApB,qBAAwCmL,EAAxC,YAAiDE,SAEjDzL,KAAK8L,MAAMc,MAAX,UAAoBxM,GAApB,OAA6B+L,EAAQ/L,GAAQU,MAAQqL,EAAQ/L,GAAQoD,S,sBAM7E,WACE,OAAOsJ,mBAAmB9M,KAAK8L,MAAMiB,a,KAI5BC,GAAe,IAAInB,GClF1BoB,GAAeC,aAAY,CAC/BC,KAAM,UACNC,aAAc,CACZrP,iBAAiB,EACjBsP,cAAe,EACfnE,aAAc,GACdoE,iBAAkB,KAClBC,kBAAkB,GAEpBC,SAAU,CACRC,sBADQ,SACcxP,EAAOyP,GAC3BzP,EAAMF,gBAAkB2P,EAAOC,SAEjCC,WAJQ,SAIG3P,EAAOyP,GAChBzP,EAAMoP,aAAeK,EAAOC,SAE9BE,gBAPQ,SAOQ5P,EAAOyP,GACrBzP,EAAMiL,aAAewE,EAAOC,SAE9BG,oBAVQ,SAUY7P,EAAOyP,GACzBzP,EAAMqP,iBAAmBI,EAAOC,SAElCI,mBAbQ,SAaW9P,EAAOyP,GACxBzP,EAAMsP,iBAAmBG,EAAOC,YAK9BK,GAAqBf,GAArBe,QAASC,GAAYhB,GAAZgB,QACFR,GAAgGO,GAAhGP,sBAAuBG,GAAyEI,GAAzEJ,WAAYC,GAA6DG,GAA7DH,gBAAiBC,GAA4CE,GAA5CF,oBAAqBC,GAAuBC,GAAvBD,mBACzEE,MC3BFC,GAAUC,aAAiB,eAAD,uCAAiB,WAAOC,EAAGC,GAAV,mBAAAC,EAAA,6DAChDrQ,EAAQoQ,EAAS5I,WACvBuH,GAAauB,WAAWtQ,EAAMuQ,KAAKC,aACnCzB,GAAa0B,WAAWzQ,EAAMuQ,KAAMvQ,EAAMC,QAAQgL,cAClDmF,EAASM,SAASlB,IAAsB,IAEpC3B,EAAQkB,GAAa4B,WACnB3Q,EAAMuQ,KAAKK,qBAGf/C,GAAK,WAAQ7N,EAAMuQ,KAAKK,qBAV4B,SAapCjI,MAAMkF,EAAO,CAC7BzG,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YACZC,MAAK,SAAAjD,GAEN,OADAwK,EAASM,SAASlB,IAAsB,IACjC5J,EAAK+E,UApBwC,cAahDkG,EAbgD,yBAsB/CA,GAtB+C,4CAAjB,yDAyB1BC,GAAcZ,aAAiB,mBAAD,uCAAqB,WAAOC,EAAP,sBAAAE,EAAA,6DAAY7I,EAAZ,EAAYA,SACpExH,EAAQwH,IADgD,SAE5CmB,MAAM3I,EAAMuQ,KAAKQ,SAAU,CAC3C3J,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YACZC,MAAK,SAAAjD,GAAI,OAAIA,EAAK+E,UAPyC,cAExDkG,EAFwD,yBASvDA,GATuD,2CAArB,yDAYrCG,GAAY/B,aAAY,CAC5BC,KAAM,OACNC,aAAc,CACZ8B,KAAM,GACNC,aAAc,GACdC,SAAS,EACTJ,SAAU,GACVK,gBAAiB,GACjBhD,OAAQ,GACRF,QAAS,GACTmD,kBAAmB,GACnBb,YAAa,GACblC,MAAO,GACPN,OAAQ,GACRpE,MAAO,EACP0H,mBAAoB,GACpBC,mBAAoB,GAEpBC,YAAa,GACbC,gBAAgB,EAChBC,cAAe,GACfC,qBAAqB,EACrBC,iBAAiB,EACjBhB,mBAAoB,IAEtBrB,SAAU,CACRsC,kBADQ,SACU7R,GAChBA,EAAMiR,KAAOjR,EAAM0R,cAAcT,KACjCjR,EAAMkR,aAAelR,EAAM0R,cAAcR,aACzClR,EAAM+Q,SAAW/Q,EAAM0R,cAAcX,SACrC/Q,EAAMoR,gBAAkBpR,EAAM0R,cAAcN,gBAC5CpR,EAAMoO,OAASpO,EAAM0R,cAActD,OACnCpO,EAAMkO,QAAUlO,EAAM0R,cAAcxD,QACpClO,EAAMwQ,YAAcxQ,EAAM0R,cAAclB,YACxCxQ,EAAMsO,MAAQtO,EAAM0R,cAAcpD,MAClCtO,EAAMgO,OAAShO,EAAM0R,cAAc1D,OACnChO,EAAM4J,MAAQ5J,EAAM0R,cAAc9H,MAClC5J,EAAM0R,cAAgB,IAExBI,aAdQ,SAcK9R,GACXA,EAAM0R,cAAgB,CACpBT,KAAMjR,EAAMiR,KACZC,aAAclR,EAAMkR,aACpBH,SAAU/Q,EAAM+Q,SAChBK,gBAAiBpR,EAAMoR,gBACvBhD,OAAQpO,EAAMoO,OACdF,QAASlO,EAAMkO,QACfsC,YAAaxQ,EAAMwQ,YACnBlC,MAAOtO,EAAMsO,MACbN,OAAQhO,EAAMgO,OACdpE,MAAO5J,EAAM4J,QAGjBmI,aA5BQ,SA4BK/R,GACXA,EAAMkO,QAAU,GAChBlO,EAAMoO,OAAS,GACfpO,EAAMsO,MAAQ,GACdtO,EAAMgO,OAAS,IAEjBgE,WAlCQ,SAkCGhS,GACTA,EAAM4J,MAAQ,GAEhBqI,iBArCQ,SAqCSjS,GACfA,EAAMyR,gBAAiB,GAEzBS,gBAxCQ,SAwCQlS,GACdA,EAAMyR,gBAAiB,GAEzBU,eA3CQ,SA2COnS,EAAOyP,GACpBzP,EAAMwR,YAAY/B,EAAOC,QAAQ0C,KAAO3C,EAAOC,QAAQ2C,IAEzDC,iBA9CQ,SA8CStS,GACfA,EAAMwR,YAAc,IAEtBe,gBAjDQ,SAiDQvS,GACdA,EAAMiR,KAAN,uBAAiBjR,EAAMiR,MAAvB,aAAgCjR,EAAMkR,eACtClR,EAAMkR,aAAe,GACrBlR,EAAM+Q,SAAW/Q,EAAMoR,iBAEzBoB,YAtDQ,SAsDIxS,EAAOyP,GACjBzP,EAAMiR,KAAO,GACbjR,EAAM+Q,SAAW,GACjB/Q,EAAMkR,aAAe,GACrBlR,EAAMoO,OAASqB,EAAOC,SAExB+C,eA5DQ,SA4DOzS,EAAOyP,GACpBzP,EAAMwQ,YAAcf,EAAOC,SAE7BgD,UA/DQ,SA+DE1S,EAAOyP,GACfzP,EAAMiR,KAAO,GACbjR,EAAM+Q,SAAW,GACjB/Q,EAAMkR,aAAe,GACrB,IAAMyB,EAAU,6BAAQ3S,EAAMkO,SAAYuB,EAAOC,SACjD1P,EAAMkO,QAAUyE,GAElBC,gBAtEQ,SAsEQ5S,GACdA,EAAMkO,QAAU,GAChBlO,EAAMkR,aAAe,GACrBlR,EAAM+Q,SAAW,IAEnB8B,qBA3EQ,SA2Ea7S,EAAOyP,GAC1BzP,EAAMqR,kBAAoB5B,EAAOC,SAEnCoD,aA9EQ,SA8EK9S,EAAOyP,GAClB,IAAMsD,EAAiBtD,EAAOC,eACvB1P,EAAMkO,QAAQ6E,IAEvBC,KAlFQ,SAkFHhT,EAAOyP,GACVzP,EAAMiR,KAAO,GACbjR,EAAM+Q,SAAW,GACjB/Q,EAAMkR,aAAe,GACrBlR,EAAMsO,MAAQmB,EAAOC,SAEvBuD,UAxFQ,SAwFEjT,EAAOyP,GACfzP,EAAMgO,OAASyB,EAAOC,SAExB3B,UA3FQ,SA2FE/N,EAAOyP,GACfA,EAAOC,QAAQ7F,SAAQ,SAAAK,GAChBlK,EAAMgO,OAAOlH,SAASoD,KACpBgJ,MAAMC,QAAQnT,EAAMgO,UACvBhO,EAAMgO,OAAShO,EAAMgO,OAAOhH,MAAM,MAEpChH,EAAMgO,OAAOoF,KAAKlJ,QAIxBmJ,aArGQ,SAqGKrT,EAAOyP,GAClBA,EAAOC,QAAQ7F,SAAQ,SAACyJ,GACtBtT,EAAMgO,OAAOuF,OAAOvT,EAAMgO,OAAOwF,QAAQF,GAAQ,OAGrDG,cA1GQ,SA0GMzT,GACZA,EAAMoO,OAAS,GACfpO,EAAMkO,QAAU,GAChBlO,EAAMkR,aAAe,GACrBlR,EAAM+Q,SAAW,GACjB/Q,EAAM4J,MAAQ,EACd5J,EAAMiR,KAAO,GACbjR,EAAMoR,gBAAkB,GACxBpR,EAAMsO,MAAQ,GACdtO,EAAMgO,OAAS,GACfhO,EAAM4Q,mBAAqB,IAE7B8C,eAtHQ,SAsHO1T,GACbA,EAAMiR,KAAO,IAEf0C,aAzHQ,SAyHK3T,EAAOyP,GAClB,IAAMwB,EAAI,aAAOjR,EAAMiR,MACvBxB,EAAOC,QAAQ7F,SAAQ,SAACa,GACtBuG,EAAKvG,GAAO9G,MAAMgQ,aAAc,KAElC5T,EAAMiR,KAAOA,GAEf4C,WAhIQ,SAgIG7T,EAAOyP,GAChB,IAAMwB,EAAI,aAAOjR,EAAMiR,MAEvBxB,EAAOC,QAAQuB,KAAKpH,SAAQ,SAACiK,GAC3B,IAAMzR,EAAKoN,EAAOC,QAAQqE,WACtBrJ,EAAQuG,EAAK+C,WAAU,SAAAC,GAAC,OAAIA,EAAE5R,KAAQyR,EAAIzR,MAC9C4O,EAAKvG,GAASoJ,KAEhB9T,EAAMiR,KAAOA,GAEfiD,kBA1IQ,SA0IUlU,EAAOyP,GACvB,IAAIwB,EAAI,aAAOjR,EAAMiR,MACrBA,EAAOA,EAAK9O,QAAO,SAAC8R,EAAGvJ,GACrB,OAAQ+E,EAAOC,QAAQ5I,SAAS4D,MAElC1K,EAAMiR,KAAO,GACbjR,EAAMiR,KAAOA,GAEfkD,sBAlJQ,SAkJcnU,EAAOyP,GAC3BzP,EAAMsR,mBAAqB7B,EAAOC,SAEpC0E,sBArJQ,SAqJcpU,EAAOyP,GAC3BzP,EAAMuR,mBAAqB9B,EAAOC,SAKpC2E,uBA3JQ,SA2JerU,EAAOyP,GAC5BzP,EAAM2R,oBAAsBlC,EAAOC,SAErC4E,mBA9JQ,SA8JWtU,EAAOyP,GACxBzP,EAAM4R,gBAAkBnC,EAAOC,SAEjC6E,sBAjKQ,SAiKcvU,EAAOyP,GAC3BzP,EAAM4Q,mBAAqBnB,EAAOC,UAGtC8E,eAAa,sBACVvE,GAAQwE,SAAU,SAAAzU,GACjBA,EAAMmR,SAAU,KAFP,gBAIVlB,GAAQyE,WAAY,SAAC1U,EAAD,GAAyB,IAAf0P,EAAc,EAAdA,QAC7B1P,EAAMmR,SAAU,EAChBnR,EAAM+Q,SAAWrB,EAAQ3I,KACzB/G,EAAMiR,KAAOvB,EAAQiF,QACrB3U,EAAM4J,MAAQ8F,EAAQ9F,SARb,gBAUVqG,GAAQ2E,UAAW,SAAA5U,GAClBA,EAAMmR,SAAU,KAXP,gBAaVL,GAAY4D,WAAY,SAAC1U,EAAD,GAAyB,IAAf0P,EAAc,EAAdA,QACjC1P,EAAMoR,gBAAkB1B,EAAQ3I,KAChC/G,EAAMkR,aAAexB,EAAQiF,WAfpB,MAoBP5E,GAAqBiB,GAArBjB,QAASC,GAAYgB,GAAZhB,QAEfuC,GA8BExC,GA9BFwC,gBACAT,GA6BE/B,GA7BF+B,aACAD,GA4BE9B,GA5BF8B,kBACAW,GA2BEzC,GA3BFyC,YAEAC,IAyBE1C,GA1BFgC,aA0BEhC,GAzBF0C,gBACAC,GAwBE3C,GAxBF2C,UACAM,GAuBEjD,GAvBFiD,KACAC,GAsBElD,GAtBFkD,UACAlF,GAqBEgC,GArBFhC,UACAsF,GAoBEtD,GApBFsD,aACAT,GAmBE7C,GAnBF6C,gBACAa,GAkBE1D,GAlBF0D,cACAX,GAiBE/C,GAjBF+C,aACAa,GAgBE5D,GAhBF4D,aACAE,GAeE9D,GAfF8D,WACAK,GAcEnE,GAdFmE,kBACAC,GAaEpE,GAbFoE,sBACAC,GAYErE,GAZFqE,sBAEAC,GAUEtE,GAVFsE,uBACAX,GASE3D,GATF2D,eACAvB,GAQEpC,GARFoC,eACAG,GAOEvC,GAPFuC,iBACAJ,GAMEnC,GANFmC,gBACAD,GAKElC,GALFkC,iBACAD,GAIEjC,GAJFiC,WACAsC,GAGEvE,GAHFuE,mBACAC,GAEExE,GAFFwE,sBACA1B,GACE9C,GADF8C,qBAEa7C,MCzRF6E,GAAe3E,aAAiB,qBAAD,sBAAuB,8BAAAG,EAAA,6DAC3D/H,EAD2D,UACjDlC,GAAIoC,mBAD6C,kCAE/CG,MAAML,EAAM,CAC5BlB,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YACZC,MAAK,SAAAjD,GAAI,OAAIA,EAAK+E,UAP4C,cAE3DkG,EAF2D,yBAQ1DA,GAR0D,4CAW7DiE,GAAa7F,aAAY,CAC7BC,KAAM,QACNC,aAAc,CACZgC,SAAS,EACTlL,KAAM,GACN8O,YAAY,EACZzN,QAAS,MAEXiI,SAAU,CACRyF,QADQ,SACAhV,EAAOyP,GACbzP,EAAMiG,KAAKgP,WAAaxF,EAAOC,QAAQuF,WACvCjV,EAAMiG,KAAKiP,UAAYzF,EAAOC,QAAQwF,WAExCC,WALQ,SAKGnV,EAAOyP,GAChBzP,EAAMsH,QAAUmI,EAAOC,UAG3B8E,eAAa,sBACVK,GAAaH,WAAY,SAAC1U,EAAD,GAAyB,IAAf0P,EAAc,EAAdA,QAClC1P,EAAMiG,KAAOyJ,EACb1P,EAAM+U,YAAa,EACnB/U,EAAMmR,SAAU,KAJP,gBAMV0D,GAAaD,UAAW,SAAC5U,EAAOwF,GAC/BxF,EAAMmR,SAAU,KAPP,MAYFiE,GAA2B,SAAApV,GAAK,uBAAIA,EAAMyH,MAAMxB,YAAhB,aAAI,EAAkBoP,sBAE3DtF,GAAqB+E,GAArB/E,QAASC,GAAY8E,GAAZ9E,QACFgF,GAAwBjF,GAAxBiF,QAASG,GAAepF,GAAfoF,WACTnF,MC7CTsF,GAAqB,CACzB,GAAI,QACJ,GAAI,QACJ,GAAI,SACJ,GAAI,qBAIOC,GAEb,SAAc5K,GACZ,IAAI6K,EAEA,GACJ,IAAK,IAAI7U,KAAOgK,EACd6K,EAAI7K,EAAKhK,IAAQ8U,SAAS9U,GAE5B,OAAO6U,EATyBE,CAAKJ,IAYxBA,I,SAAAA,MClBFK,GAAgBzF,aAAiB,uBAAD,uCAAyB,WAAMtK,GAAN,iBAAAyK,EAAA,6DAC9D/H,EAD8D,UACpDlC,GAAIoC,mBADgD,0CACI5C,EAAKkO,IAAIzR,GADb,cAElDsG,MAAML,EAAM,CAC5BlB,OAAQ,QACRlE,KAAM,OACNmE,QAASF,GAAW,SACpByB,YAAa,UACbuB,KAAMpE,KAAKC,UAAU,CACnB4P,mBAAoBhQ,EAAKiQ,MACzB1P,KAAMP,EAAKiQ,MAAM3N,OAAS,GAAK,OAEhCW,MAAK,SAAAjD,GAAI,OAAIA,EAAK+E,UAX+C,cAE9DkG,EAF8D,OAYpEjL,EAAKkQ,OAAOjC,WAAW,CAAC,CAAExR,GAAIuD,EAAKkO,IAAIzR,GAAI8D,KAAMmP,GAAWzE,EAAI1K,MAAOyP,mBAAoB/E,EAAI+E,sBAZ3B,kBAa7D/E,GAb6D,2CAAzB,uDAgBhCkF,GAAgB7F,aAAiB,uBAAD,uCAAyB,WAAMtK,GAAN,iBAAAyK,EAAA,6DAC9D/H,EAD8D,UACpDlC,GAAIoC,mBADgD,iDAElDG,MAAML,EAAM,CAC5BlB,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YACZC,MAAK,SAAAjD,GAAI,OAAIA,EAAK+E,UAP+C,cAE9DkG,EAF8D,yBAQ7DA,GAR6D,2CAAzB,uDAWhCmF,GAAY9F,aAAiB,mBAAD,sBAAqB,kDAAAG,EAAA,6DAAOzK,EAAP,+BAAoB,GAApB,yBAA0BqQ,EAA1B,EAA0BA,gBAChF3N,EADsD,UAC5ClC,GAAIoC,mBADwC,0CAEtD,OAAJ5C,QAAI,IAAJA,KAAMsQ,eAAiB,mBAAqB,IAFc,kBAKnCvN,MAAML,EAAM,CACjClB,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YAT2C,cAKpDE,EALoD,gBAWvCA,EAAS6B,OAX8B,cAWpD/E,EAXoD,yBAYnDA,GAZmD,2DAcnDqQ,EAAgB,KAAMnN,SAASlD,OAdoB,2DAkBjDuQ,GAAuBjG,aAClC,8BADkD,uCAElD,WAAOkG,EAAP,wBAAA/F,EAAA,6DAAgC4F,EAAhC,EAAgCA,gBACxB3N,EADR,UACkBlC,GAAIoC,mBADtB,gCACgE4N,EADhE,uBAG2BzN,MAAML,EAAM,CACjClB,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YAPnB,cAGUE,EAHV,gBAUuBA,EAAS6B,OAVhC,cAUU/E,EAVV,yBAWWA,GAXX,2DAaWqQ,EAAgB,KAAMnN,SAASlD,OAb1C,0DAFkD,yDAoB9CyQ,GAAcpH,aAAY,CAC9BC,KAAM,SACNC,aAAc,CACZmH,aAAa,EACbC,cAAc,EACdC,UAAU,EACVC,gBAAgB,EAChBrJ,MAAO,GACP2G,WAAY,GACZ2C,QAAS,GACTC,IAAK,GACLC,WAAY,GACZC,MAAO,GACPC,SAAU,GACV1I,OAAQ,GACR2I,OAAQ,GACRC,WAAY,GACZC,kBAAmB,GACnBC,qBAAsB,EACtBC,uBAAuB,EACvBC,mBAAmB,EACnBC,aAAc,OACdC,iBAAkB,OAClBC,sBAAuB,QAEzBhI,SAAU,CACRiI,qBADQ,SACaxX,EAAOyP,GAC1BzP,EAAMmX,sBAAwB1H,EAAOC,SAEvC+H,qBAJQ,SAIazX,EAAOyP,GAC1BzP,EAAMoX,kBAAoB3H,EAAOC,SAEnCgI,cAPQ,SAOM1X,EAAOyP,GACnBzP,EAAM+T,WAAatE,EAAOC,SAE5BiI,mBAVQ,SAUW3X,EAAOyP,GACxBzP,EAAMsW,YAAc7G,EAAOC,SAE7BkI,YAbQ,SAaI5X,EAAOyP,GACjBzP,EAAMuW,aAAe9G,EAAOC,SAE9BmI,SAhBQ,SAgBC7X,EAAOyP,GACdzP,EAAMoN,MAAQqC,EAAOC,SAEvBoI,YAnBQ,SAmBI9X,EAAOyP,GACjBzP,EAAMwW,SAAW/G,EAAOC,SAE1BqI,iBAtBQ,SAsBS/X,GACfA,EAAM0W,QAAU,GAChB1W,EAAM2W,IAAM,GACZ3W,EAAM6W,MAAQ,GACd7W,EAAM4W,WAAa,GACnB5W,EAAM8W,SAAW,GACjB9W,EAAMsW,aAAc,EACpBtW,EAAMwW,UAAW,EACjBxW,EAAMyW,gBAAiB,EACvBzW,EAAMoN,MAAQ,GACdpN,EAAMqX,aAAe,QAEvBW,qBAlCQ,SAkCahY,GACnBA,EAAMiX,kBAAoB,GAC1BjX,EAAMkX,qBAAuB,EAC7BlX,EAAMoX,mBAAoB,EAC1BpX,EAAMmX,uBAAwB,EAC9BnX,EAAMsX,iBAAmB,OACzBtX,EAAMuX,sBAAwB,QAEhCU,UA1CQ,SA0CEjY,EAAOyP,GACfzP,EAAM0W,QAAQtD,KAAK3D,EAAOC,UAE5BwI,MA7CQ,SA6CFlY,EAAOyP,GACNzP,EAAM2W,IAAIxU,QAAO,SAAAgW,GAAE,OAAIA,EAAG5S,QAAUkK,EAAOC,QAAQnK,SAAO2C,QAC7DlI,EAAM2W,IAAIyB,QAAQ3I,EAAOC,UAG7B2I,SAlDQ,SAkDCrY,EAAOyP,GACdzP,EAAM6W,MAAMuB,QAAQ3I,EAAOC,UAE7B4I,aArDQ,SAqDKtY,EAAOyP,GAClBzP,EAAM4W,WAAWwB,QAAQ3I,EAAOC,UAElC6I,gBAxDQ,SAwDQvY,EAAOyP,GACrBzP,EAAM4W,WAAW/M,SAAQ,SAAC2O,EAAK9N,GACzB8N,EAAIjT,QAAUkK,EAAOC,SACvB1P,EAAM4W,WAAWrD,OAAO7I,EAAO,OAIrC+N,cA/DQ,SA+DMzY,EAAOyP,GACfzP,EAAM8W,SAAShQ,SAAS2I,EAAOC,SACjC1P,EAAM8W,SAASvD,OAAOvT,EAAM8W,SAAStD,QAAQ/D,EAAOC,SAAU,GAE9D1P,EAAM8W,SAAS1D,KAAK3D,EAAOC,UAG/BgJ,qBAtEQ,SAsEa1Y,GACnBA,EAAM8W,SAAW9W,EAAM8W,SAAS3U,QAAO,SAAAwW,GAAC,MAAiB,kBAANA,MAErDC,aAzEQ,SAyEK5Y,EAAOyP,GAClB,IAAIoJ,GAAiB,EACrB7Y,EAAM0W,QAAQ7M,SAAQ,SAACiK,EAAKpJ,GACtB1K,EAAMyW,gBAAkB/L,EAAQ,GAGhCoJ,EAAIvO,QAAUkK,EAAOC,UACvBmJ,EAAgBnO,MAGhBmO,GAAiB,GACnB7Y,EAAM0W,QAAQnD,OAAOsF,EAAe,IAGxCC,SAvFQ,SAuFC9Y,EAAOyP,GACd,IAAIoJ,GAAiB,EACrB7Y,EAAM2W,IAAI9M,SAAQ,SAACiK,EAAKpJ,GAClBoJ,EAAIvO,QAAUkK,EAAOC,UACvBmJ,EAAgBnO,MAGhBmO,GAAiB,GACnB7Y,EAAM2W,IAAIpD,OAAOsF,EAAe,IAGpCE,YAlGQ,SAkGI/Y,EAAOyP,GACjB,IAAIoJ,GAAiB,EACrB7Y,EAAM6W,MAAMhN,SAAQ,SAACiK,EAAKpJ,GACpBoJ,EAAI+C,MAAQ/C,EAAIjR,OAAS4M,EAAOC,UAClCmJ,EAAgBnO,MAGhBmO,GAAiB,GACnB7Y,EAAM6W,MAAMtD,OAAOsF,EAAe,IAGtCG,kBA7GQ,SA6GUhZ,EAAOyP,GACvBzP,EAAMyW,eAAiBhH,EAAOC,SAEhC8C,YAhHQ,SAgHIxS,EAAOyP,GACjBzP,EAAMoO,OAASqB,EAAOC,SAExBuJ,uBAnHQ,SAmHejZ,EAAOyP,GAC5BzP,EAAMkX,oBAAsBzH,EAAOC,UAGvC8E,eAAa,sBACVwB,GAAUtB,WAAY,SAAC1U,EAAD,GAAyB,IAAf0P,EAAc,EAAdA,QAC/B1P,EAAM+W,OAASrH,EAAQiF,QACvB3U,EAAMqX,aAAe,aAHZ,gBAKVrB,GAAUpB,UAAW,SAAC5U,EAAOyP,GAC5BzP,EAAMwF,MAAQiK,EAAOjK,MACrBxF,EAAMqX,aAAe,YAPZ,gBASVrB,GAAUvB,SAAU,SAAAzU,GACnBA,EAAMqX,aAAe,aAVZ,gBAYVtB,GAAcrB,WAAY,SAAC1U,EAAD,GAAyB,IAAf0P,EAAc,EAAdA,QACnC1P,EAAMgX,WAAatH,EAAQiF,QAC3B3U,EAAMsX,iBAAmB,aAdhB,gBAgBVvB,GAAcnB,UAAW,SAAC5U,EAAOyP,GAChCzP,EAAMwF,MAAQiK,EAAOjK,MACrBxF,EAAMsX,iBAAmB,YAlBhB,gBAoBVvB,GAActB,SAAU,SAAAzU,GACvBA,EAAMsX,iBAAmB,aArBhB,gBAuBVnB,GAAqBzB,WAAY,SAAC1U,EAAOyP,GACxCzP,EAAMiX,kBAAoBxH,EAAOC,QACjC1P,EAAMuX,sBAAwB,aAzBrB,gBA2BVpB,GAAqBvB,UAAW,SAAC5U,EAAOyP,GACvCzP,EAAMwF,MAAQiK,EAAOjK,MACrBxF,EAAMuX,sBAAwB,YA7BrB,gBA+BVpB,GAAqB1B,SAAU,SAAAzU,GAC9BA,EAAMuX,sBAAwB,aAhCrB,MAqCPxH,GAAqBsG,GAArBtG,QAASC,GAAYqG,GAAZrG,QAEf2H,GAsBE5H,GAtBF4H,mBACAC,GAqBE7H,GArBF6H,YACAC,GAoBE9H,GApBF8H,SACAC,GAmBE/H,GAnBF+H,YACAkB,GAkBEjJ,GAlBFiJ,kBACAjB,GAiBEhI,GAjBFgI,iBACAE,GAgBElI,GAhBFkI,UACAC,GAeEnI,GAfFmI,MACAI,GAcEvI,GAdFuI,aACAD,GAaEtI,GAbFsI,SACAI,GAYE1I,GAZF0I,cACAG,GAWE7I,GAXF6I,aACAE,GAUE/I,GAVF+I,SACAP,GASExI,GATFwI,gBACAQ,GAQEhJ,GARFgJ,YACArB,GAOE3H,GAPF2H,cACAgB,GAME3I,GANF2I,qBACAlG,GAKEzC,GALFyC,YACAyG,GAIElJ,GAJFkJ,uBACAjB,GAGEjI,GAHFiI,qBACAP,GAEE1H,GAFF0H,qBACAD,GACEzH,GADFyH,qBAGaxH,MC5PFkJ,IArBmBhJ,aAC9B,6BAD8C,uCAE9C,WAAOtK,EAAP,wBAAAyK,EAAA,6DAAoB4F,EAApB,EAAoBA,gBACZ3N,EADR,UACkBlC,GAAIoC,mBADtB,2DAGoBG,MAAML,EAAM,CAC5BlB,OAAQ,OACRlE,KAAM,OACNmE,QAASF,GAAW,QACpByB,YAAa,UACbuB,KAAMpE,KAAKC,UAAUJ,KARzB,cAGQiL,EAHR,gBAUyBA,EAAIlG,OAV7B,WAUQ7B,EAVR,QAYgBiC,GAZhB,0CAaWkL,EAAgB,CAAEzQ,MAAOsD,KAbpC,iCAeSA,GAfT,4CAF8C,yDAqBXoH,aACnC,qCADmD,uCAEnD,WAAOiJ,EAAP,wBAAA9I,EAAA,6DAAiC4F,EAAjC,EAAiCA,gBACzB3N,EADR,UACkBlC,GAAIoC,mBADtB,yDACyF2Q,EADzF,uBAG2BxQ,MAAML,EAAM,CACjClB,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YAPnB,cAGUE,EAHV,gBAUuBA,EAAS6B,OAVhC,cAUU/E,EAVV,yBAWWA,GAXX,2DAaWqQ,EAAgB,KAAMnN,SAASlD,OAb1C,0DAFmD,0DAoBxCwT,GAAuBlJ,aAClC,oCADkD,uCAElD,WAAOR,EAAP,wBAAAW,EAAA,6DAAkB4F,EAAlB,EAAkBA,gBACV3N,EADR,UACkBlC,GAAIoC,mBADtB,mEAG2BG,MAAML,EAAM,CACjClB,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YAPnB,cAGUE,EAHV,gBASuBA,EAAS6B,OAThC,cASU/E,EATV,yBAUWA,GAVX,2DAYWqQ,EAAgB,KAAMnN,SAASlD,OAZ1C,0DAFkD,yDAmBvCyT,GAA2BnJ,aACtC,wCADsD,uCAEtD,WAAOR,EAAP,wBAAAW,EAAA,6DAAkB4F,EAAlB,EAAkBA,gBACV3N,EADR,UACkBlC,GAAIoC,mBADtB,iEAG2BG,MAAML,EAAM,CACjClB,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YAPnB,cAGUE,EAHV,gBASuBA,EAAS6B,OAThC,cASU/E,EATV,yBAUWA,GAVX,2DAYWqQ,EAAgB,KAAMnN,SAASlD,OAZ1C,0DAFsD,yDAmBlD0T,GAAoBrK,aAAY,CACpCC,KAAM,eACNC,aAAc,CACZoK,gBAAiB,GACjBC,oBAAqB,GACrBC,mBAAoB,GACpBC,iBAAkB,GAClBC,cAAe,GACfR,eAAgB,GAChBS,0BAA0B,EAC1BC,sBAAsB,EACtBC,sBAAuB,EACvBC,sBAAuB,OACvBC,uBAAwB,OACxBC,0BAA2B,QAE7B1K,SAAU,CACR2K,wBADQ,SACgBla,EAAOyP,GAC7BzP,EAAM4Z,yBAA2BnK,EAAOC,SAE1CyK,wBAJQ,SAIgBna,EAAOyP,GAC7BzP,EAAM6Z,qBAAuBpK,EAAOC,SAEtC0K,wBAPQ,SAOgBpa,EAAOyP,GAC7BzP,EAAM8Z,qBAAuBrK,EAAOC,SAEtC2K,kBAVQ,SAUUra,EAAOyP,GACvBzP,EAAMmZ,eAAiB1J,EAAOC,SAEhC4K,qBAbQ,SAaata,GACnBA,EAAMuZ,gBAAkB,GACxBvZ,EAAM8Z,sBAAwB,EAC9B9Z,EAAM6Z,sBAAuB,EAC7B7Z,EAAM4Z,0BAA2B,EACjC5Z,EAAMyZ,mBAAqB,GAC3BzZ,EAAM0Z,iBAAmB,GACzB1Z,EAAM2Z,cAAgB,GACtB3Z,EAAM+Z,sBAAwB,OAC9B/Z,EAAMga,uBAAyB,OAC/Bha,EAAMia,0BAA4B,QAGpCM,iBA1BQ,SA0BSva,EAAOyP,GACtBzP,EAAM2Z,cAAgBlK,EAAOC,SAE/B8K,oBA7BQ,SA6BYxa,EAAOyP,GACzBzP,EAAM0Z,iBAAmBjK,EAAOC,SAElC+K,gBAhCQ,SAgCQza,EAAOyP,GACrBzP,EAAMuZ,gBAAkB9J,EAAOC,UAGnC8E,eAAa,sBACV0E,GAAsBxE,WAAY,SAAC1U,EAAD,GAAyB,IAAf0P,EAAc,EAAdA,QAC3C1P,EAAMyZ,mBAAqB/J,EAC3B1P,EAAMga,uBAAyB,aAHtB,gBAKVd,GAAsBtE,UAAW,SAAC5U,EAAOyP,GACxCzP,EAAMwF,MAAQiK,EAAOjK,MACrBxF,EAAMga,uBAAyB,YAPtB,gBASVd,GAAsBzE,SAAU,SAAAzU,GAC/BA,EAAMga,uBAAyB,aAVtB,gBAYVZ,GAAqB1E,WAAY,SAAC1U,EAAD,GAAyB,IAAf0P,EAAc,EAAdA,QAC1C1P,EAAMuZ,gBAAkB7J,EAAQiF,QAChC3U,EAAM+Z,sBAAwB,aAdrB,gBAgBVX,GAAqBxE,UAAW,SAAC5U,EAAOyP,GACvCzP,EAAMwF,MAAQiK,EAAOjK,MACrBxF,EAAM+Z,sBAAwB,YAlBrB,gBAoBVX,GAAqB3E,SAAU,SAAAzU,GAC9BA,EAAM0a,mBAAqB,aArBlB,gBAuBVrB,GAAyB3E,WAAY,SAAC1U,EAAD,GAAyB,IAAf0P,EAAc,EAAdA,QAC9C1P,EAAMwZ,oBAAsB9J,EAAQiF,QACpC3U,EAAMia,0BAA4B,aAzBzB,gBA2BVZ,GAAyBzE,UAAW,SAAC5U,EAAOyP,GAC3CzP,EAAMwF,MAAQiK,EAAOjK,MACrBxF,EAAMia,0BAA4B,YA7BzB,gBA+BVZ,GAAyB5E,SAAU,SAAAzU,GAClCA,EAAMia,0BAA4B,aAhCzB,MAqCPlK,GAAqBuJ,GAArBvJ,QAASC,GAAYsJ,GAAZtJ,QAEfkK,GAQEnK,GARFmK,wBAEAO,IAME1K,GAPFsK,kBAOEtK,GANF0K,iBACAH,GAKEvK,GALFuK,qBACAF,GAIErK,GAJFqK,wBACAD,GAGEpK,GAHFoK,wBACAK,GAEEzK,GAFFyK,oBACAD,GACExK,GADFwK,iBAGavK,MCjKT2K,GAAoB1L,aAAY,CACpCC,KAAM,eACNC,aAAc,CACZyL,aAAc,GACdC,kBAAkB,GAEpBtL,SAAU,CACRuL,gBADQ,SACQ9a,EAAOyP,GACrBzP,EAAM4a,aAAenL,EAAOC,SAE9BqL,oBAJQ,SAIY/a,EAAOyP,GACzBzP,EAAM6a,iBAAmBpL,EAAOC,SAElCsL,kBAPQ,SAOUhb,GAChBA,EAAM4a,aAAe,GACrB5a,EAAM6a,kBAAmB,MAKvB9K,GAAqB4K,GAArB5K,QAASC,GAAY2K,GAAZ3K,QACF8K,GAA4D/K,GAA5D+K,gBAAiBC,GAA2ChL,GAA3CgL,oBAAqBC,GAAsBjL,GAAtBiL,kBAEtChL,MC1CFiL,GAAW/K,aAAiB,wBAAD,uCAA0B,WAAOC,EAAGC,GAAV,iBAAAC,EAAA,6DAC1D/H,EAD0D,UAChDlC,GAAIoC,mBAD4C,mCAE9CG,MAAML,EAAM,CAC5BlB,OAAQ,MACRlE,KAAM,OACNmE,QAASF,GAAW,OACpByB,YAAa,YACZC,MAAK,SAAAjD,GACN,OAAKA,EAAKmF,GAKHnF,EAAK+E,OAJHyF,EAAS6F,gBAAgB,CAC9BzK,OAAQ5F,EAAK4F,YAV6C,cAE1DqF,EAF0D,yBAezDA,GAfyD,2CAA1B,yDAkBlCqK,GAAoBjM,aAAY,CACpCC,KAAM,eACNC,aAAc,CACZgM,UAAW,GACXhb,SAAS,EACTgR,SAAS,EACTiK,KAAM,GACNC,cAAe,GACfC,oBAAoB,GAEtB/L,SAAU,CACRgM,gBADQ,SACQvb,EAAOyP,GACrBzP,EAAMmb,UAAY1L,EAAOC,QACzB1P,EAAMG,SAAU,GAElBqb,gBALQ,SAKQxb,GACdA,EAAMmb,UAAY,GAClBnb,EAAMG,SAAU,GAElBsb,kBAAmB,SAACzb,EAAOyP,GACzBzP,EAAMqb,cAAgB5L,EAAOC,SAE/BgM,sBAAuB,SAAA1b,GACrBA,EAAMqb,cAAgB,GACtBrb,EAAMsb,oBAAqB,GAE7BK,sBAAuB,SAAC3b,EAAOyP,GAC7BzP,EAAMsb,mBAAqB7L,EAAOC,UAGtC8E,eAAa,sBACVyG,GAASxG,SAAU,SAAAzU,GAClBA,EAAMmR,SAAU,KAFP,gBAIV8J,GAASvG,WAAY,SAAC1U,EAAD,GAAyB,IAAf0P,EAAc,EAAdA,QAC9B1P,EAAMmR,SAAU,EAChBnR,EAAMob,KAAO1L,EACb1P,EAAMsb,oBAAqB,KAPlB,gBASVL,GAASrG,UAAW,SAAA5U,GACnBA,EAAMmR,SAAU,KAVP,MAePpB,GAAqBmL,GAArBnL,QAASC,GAAYkL,GAAZlL,QAIfyL,IAGE1L,GALFwL,gBAKExL,GAJFyL,gBAIEzL,GAHF0L,mBACAC,GAEE3L,GAFF2L,sBACAC,GACE5L,GADF4L,sBAEa3L,MCtDT4L,GAAa3M,aAAY,CAC7BC,KAAM,QACNC,aAAc,CACZ0M,QAAS,GACT5S,KAAM,GACN9I,SAAS,GAEXoP,SAAU,CACRuM,UADQ,SACE9b,EAAOyP,GACfzP,EAAM6b,QAAU,QAChB,IAAME,EA7BQ,SAACvW,GACnB,GAAqB,kBAAVA,EAAoB,OAAOA,EAEtC,IAAIwW,EAASjW,KAAKkW,MAAMzW,EAAM2F,SAI9B,OAHI+H,MAAMC,QAAQ6I,KAChBA,EAASA,EAAO,IAEdA,EAAOE,kBAAoBF,EAAOE,iBAAiB,GAAGpV,SAAS,cAC1D,qDAETkV,EAASA,EAAOtS,OAAOC,KAAKqS,GAAQ,IAChC9I,MAAMC,QAAQ6I,EAAO,IACvBA,EAASA,EAAO,GAAG,GACT9I,MAAMC,QAAQ6I,IAA6B,kBAAXA,GAAqC,OAAdA,EAAO,KACxEA,EAAStS,OAAO5G,OAAOkZ,GAAQ,GAAG,IAE9B,UAAN,OAAiBA,IAaDG,CAAY1M,EAAOC,SAC/B1P,EAAMiJ,KAAO8S,GAAO,uBACpB/b,EAAMG,SAAU,GAElBic,YAPQ,SAOIpc,EAAOyP,GACjBzP,EAAM6b,QAAU,UAChB7b,EAAMiJ,KAAOwG,EAAOC,QACpB1P,EAAMG,SAAU,GAElBkc,UAZQ,SAYErc,GACRA,EAAMG,SAAU,MAKd4P,GAAqB6L,GAArB7L,QAASC,GAAY4L,GAAZ5L,QACF8L,GAAsC/L,GAAtC+L,UAAWM,GAA2BrM,GAA3BqM,YAAaC,GAActM,GAAdsM,UACxBrM,MC9CTsM,GAAiBrN,aAAY,CACjCC,KAAM,YACNC,aAAc,CACZoN,iBAAiB,EACjBC,eAAgB,GAChBC,qBAAsB,GACtBC,eAAgB,IAElBnN,SAAU,CACRoN,kBADQ,SACU3c,EAAOyP,GACvBzP,EAAM0c,eAAiBjN,EAAOC,SAGhCkN,mBALQ,SAKW5c,EAAOyP,GACxBzP,EAAMuc,gBAAkB9M,EAAOC,SAEjCmN,kBARQ,SAQU7c,EAAOyP,GACvBzP,EAAMwc,eAAiB/M,EAAOC,SAEhCoN,wBAXQ,SAWgB9c,EAAOyP,GAC7BzP,EAAMyc,qBAAuBhN,EAAOC,SAEtCqN,eAdQ,SAcO/c,GACbA,EAAMuc,iBAAkB,EACxBvc,EAAMwc,eAAiB,GACvBxc,EAAMyc,qBAAuB,GAC7Bzc,EAAM0c,eAAiB,OAKrB3M,GAAqBuM,GAArBvM,QAASC,GAAYsM,GAAZtM,QAEf+M,GAKEhN,GALFgN,eACAJ,GAIE5M,GAJF4M,kBACAC,GAGE7M,GAHF6M,mBAEAE,IACE/M,GAFF8M,kBAEE9M,GADF+M,yBAEa9M,MC/BFzI,GAAQyV,aAAe,CAClChN,QAAS,CACPO,KAAM0M,GACNxV,MAAOyV,GACPnG,OAAQoG,GACRC,aAAcC,GACdzC,aAAc0C,GACdrd,QAASsd,GACTC,aAAcC,GACdC,MAAOC,GACPC,UAAWC,IAEbC,WAAY,SAAAC,GAAoB,OAC9BA,EAAqB,CACnBC,mBAAmB,OAYVzW,MC/BT0W,GAAe,IAAIC,KAEZC,GACK,SAAChT,GAAD,OAAkB8S,GAAQlX,KAAK,CAAEkC,KAAMkC,KAD5CgT,GAGI,kBAAMF,GAAQG,gBAGlB1W,GAAS,CACpB2W,eAAgB,GAGhBC,gBAAiB,SAACvS,GAChB,IAAIS,EAAM,UAAM+R,KAAOC,aAAaH,eAAe,KAAzC,YAAiDE,KAAOC,aAAaH,eAAe,OAC9F,OAAOE,KAAOxS,GAAMS,OAAOA,IAE7BiS,aAAc,SAAC1S,GACb,OAAOwS,KAAOxS,GAAMS,OAAO,eAE7BkS,cAAe,SAAC3S,GACd,OAAOwS,KAAOxS,GAAMS,OAAO,kBAE7BmS,iBAAkB,SAAC5S,GACjB,OAAOwS,KAAOxS,GAAMS,OAAO,WAE7BoS,YAAa,SAAC7S,GACZ,OAAOwS,KAAOxS,GAAMS,OAAO,SAE7BqS,mBAAoB,SAAC9S,GACnB,OAAOwS,KAAOxS,GAAMS,OAAO,eAI7BmB,cAAe,SAACpI,GACd,MAAiB,KAAVA,GAA0B,OAAVA,QAA4B2B,IAAV3B,EAAsBgZ,KAAOhZ,GAAOiH,OAAO9E,GAAO2W,gBAAkB,IAE/GS,oBAAqB,WACnB,IAAIC,EAAezY,OAAO0Y,UAAUC,SAChCC,EAASX,KAAOW,OAAOH,GAC3B,OAAOrX,GAAOyX,kBAAkBZ,KAAOC,WAAWU,GAAQb,eAAe,OAE3Ee,WAAY,SAACrT,GACX,OAAOwS,KAAOxS,GAAMsT,aAAed,OAASe,OAAOvT,EAAM,QAG3DoT,kBAAmB,SAACd,GAClB,IAAItS,EAAOwS,KAAO,IAAIzS,MAAQU,OAAO6R,GACrC,GAAI,uBAAuBkB,KAAKxT,GAC9B,OAAOsS,EAGP,IAAIa,EAASX,KAAOW,OAAO,MAC3B,OAAOX,KAAOC,WAAWU,GAAQb,eAAe,MAKpDmB,UAjDoB,SAiDV5Z,GACR,OAAOG,KAAKkW,MAAMlW,KAAKC,UAAUJ,KAKnC6Z,mBAvDoB,SAuDDnX,GAEjB,IAAIoX,EAAUpX,EAAKxB,SAAS,QAC5B,IACE,OAAO4Y,EAAUpX,EAAKtB,MAAM,OAAO,GAAGA,MAAM,KAAK,GAAKsB,EAAKtB,MAAM,KAAK,GACtE,MAAOxB,GACP,OAAO8C,IAKXqX,gBAlEoB,SAkEJ7a,GAEd,MADc,kDACDya,KAAKza,IAEpB8a,gBAtEoB,SAsEJtX,GACd,OAAOA,EAAKtB,MAAM,OAAO,IAAMsB,GAKjCuX,iBA5EoB,SA4EHC,GACf,IAAMC,EAAyD,CAC7D,CAAEC,OAAQ,IAAKza,MAAO,KACtB,CAAEya,OAAQ,IAAKza,MAAO,MAMxB,GAAIua,GAAOC,EAAa,GAAGxa,MACzB,IAAK,IAAI0a,EAAIF,EAAa7X,OAAS,EAAG+X,GAAK,EAAGA,IAC5C,GAAIH,GAAOC,EAAaE,GAAG1a,MAAO,CAChC,IAAM2a,EAAkBne,KAAKoe,gBAAgBL,EAAMC,EAAaE,GAAG1a,OACnE,MAAM,GAAN,OAAU2a,GAAV,OAAoBH,EAAaE,GAAGD,QAO1C,cAAOF,QAAP,IAAOA,OAAP,EAAOA,EAAKM,kBAEdD,gBAlGoB,SAkGJE,GAEd,OAAOA,EAAIC,QAAQ,GAAG3Z,QAAQ,SAAU,KAE1C4Z,WAtGoB,SAsGTC,EAAiBC,GAC1B,OAAmB,IAAVD,EAAiBC,GAAOH,QAAQ,IAE3CI,kBAzGoB,WAyGwB,IAA1B/f,EAAyB,uDAAX,UAC1BggB,EAAmB,CACrBC,QAAS,UACTC,IAAK,UACLC,OAAQ,UACRC,KAAM,UACNC,SAAU,WAEZ,OAAOL,EAAQhgB,IAEjBsgB,qBAnHoB,WAmHqB,IAApBtgB,EAAmB,uDAAL,IAC7BugB,EAAsB,CACxBC,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,UACHC,EAAG,WAEL,OAAOL,EAAWvgB,EAAI6gB,gBAExBC,iBA7HoB,WA6HuB,IAA1B9gB,EAAyB,uDAAX,UACzBggB,EAAmB,CACrBC,QAAS,UACTC,IAAK,MACLC,OAAQ,SACRC,KAAM,OACNC,SAAU,YAEZ,OAAOL,EAAQhgB,IAEjB+gB,WAvIoB,SAuITC,GACT,OAAmC,IAA5BjY,OAAOC,KAAKgY,GAAKzZ,QAE1B0Z,mBA1IoB,SA0IDC,GACjB,cAAOA,QAAP,IAAOA,OAAP,EAAOA,EAAQjhB,cAAc+F,QAAQ,IAAK,MAE5Cmb,gBA7IoB,SA6IJ5Z,GAAoC,IAApB6Z,EAAmB,uDAAJ,GAC7C,OAAQC,KAAKC,SAAW,GAAGC,SAASH,GAAMI,UAAUja,IAEtDka,YAhJoB,SAgJRrW,GACV,IAAMsW,EAAQ9D,KAAOxS,GAErB,OAAOsW,EAAMC,WAAgD,IAAnCD,EAAME,OAAOL,WAAWha,QAEpDsa,YArJoB,SAqJRX,EAAgB3Z,EAAgBua,GAC1C,OAAOZ,EAAO3Z,QAAUA,EAAS2Z,EAA1B,UAAsCA,EAAOM,UAAU,EAAGja,IAA1D,OAAoEua,IAE7EC,iBAxJoB,SAwJHC,GACf,OAAOA,EACJhc,QAAQ,YAAY,SAAAic,GAAK,iBAAQA,MACjCjc,QAAQ,MAAM,SAAAic,GAAK,OAAIA,EAAMpB,iBAC7BxZ,QAEL6a,kBA9JoB,SA8JFhB,GAAmE,IAAnDiB,IAAkD,yDAE9EC,EAAUlB,EAERmB,EAAc,CAClB,CAAEC,OAAQ,OAAQC,KAAM,YACxB,CAAED,OAAQ,eAAgBC,KAAM,uBAChC,CAAED,OAAQ,OAAQC,KAAM,kBACxB,CAAED,OAAQ,iBAAkBC,KAAM,kBAClC,CAAED,OAAQ,cAAeC,KAAM,eAC/B,CAAED,OAAQ,cAAeC,KAAM,eAC/B,CAAED,OAAQ,qBAAsBC,KAAM,sBACtC,CAAED,OAAQ,uBAAwBC,KAAM,wBACxC,CAAED,OAAQ,mBAAoBC,KAAM,qBAmBtC,OAhBAF,EAAYnZ,SAAQ,SAACsZ,GACfJ,EAAQniB,cAAckG,SAASqc,EAAKF,UACtCF,EAAUA,EAAQpc,QAAQwc,EAAKF,OAAQE,EAAKD,UAIhDH,EAAUA,EACP/b,MAAM,KACNc,KAAI,SAAA6Q,GAAC,MAAI,IAAMA,EAAEyK,OAAO,GAAG5B,cAAgB7I,EAAEwJ,UAAU,MACvDkB,KAAK,IACL1c,QAAQ,KAAM,IAEbmc,GAA4BC,EAAQ7a,QAAU,IAChD6a,EAAUA,EAAQvB,eAGbuB,GAETO,mBAhMoB,SAgMDC,GAEjB,MADc,oCACDhE,KAAKgE,IAEpBC,aApMoB,SAoMPD,GAEX,MADc,gCACDhE,KAAKgE,IAEpBE,WAxMoB,SAwMTtL,GACT,MAAO,oMAAoMoH,KACzMpH,IAGJuL,kBA7MoB,SA6MFlL,GAChB,MAAO,gCAAgC+G,KAAK/G,IAE9CmL,aAhNoB,SAgNPpe,GACX,OAAIA,EAAQ,GAAKA,EAAQ,OAK3Bqe,YAtNoB,SAsNR/B,GAIV,OAAe,OAHLA,EAAOe,MACf,qGAIJiB,wBA5NoB,WA+NlB,MAAO,CACLC,KAAM,QACNC,SAAU,SAGdpc,gBApOoB,SAoOJgH,GACd,IAAMqV,EAAanV,mBAAmBvI,OAAOG,SAASC,MAGtD,OAFY,IAAIud,IAAID,GACFE,aAAaC,IAAIxV,IACnB,IAElByV,qBA1OoB,SA0OCnT,GACnB,OAAOA,EAAKnJ,KAAI,SAACgM,GAEf,OADAA,EAAIuQ,IAAM3c,GAAOoa,gBAAgB,GAC1BhO,MAGXwQ,sBAhPoB,SAgPEzC,GACpB,OAAOA,EAAOuB,OAAO,GAAG5B,cAAgBK,EAAO0C,MAAM,IAEvDC,gCAnPoB,SAmPY3C,GAC9B,OAAOA,EACJlb,QAAQ,KAAM,KACdK,MAAM,KACNc,KAAI,SAACqb,GAAD,OAAkBzb,GAAO4c,sBAAsBnB,MACnDE,KAAK,MAEVoB,iBA1PoB,SA0PH5C,GACf,OAAOA,EAAOlb,QAAQ,KAAM,KAAK/F,eAEnC8jB,oBA7PoB,SA6PA7C,GAElB,QAAIA,EAAOe,MADI,uDAMjB+B,mBApQoB,SAoQDhW,GACjB,IAAMpG,EAAM,IAAI0b,IAAI3d,OAAOG,SAASC,MACpC6B,EAAI2b,aAAaU,OAAOjW,GACxBrI,OAAOue,QAAQC,aAAa,KAAM,GAAIvc,IAExCwc,mBAzQoB,WA0QlB,IAAMC,EAAK3kB,SAAS4kB,uBAAuB,sBAAsB,GAC7D3jB,EAAS,IAIb,OAHI0jB,IACF1jB,GAAU0jB,EAAGE,cAET,gBAAN,OAAuB5jB,EAAvB,QAEF6jB,YAjRoB,SAiRRC,GACV,OAAQA,EAAO,KAAO,MAAM9E,QAAQ,IAEtC+E,cApRoB,SAoRNpc,GACZ,IAAMqc,EAAqB,GAC3B,IAAKrc,EACH,MAAO,CAAC,0BAEV,IAAMsc,EAAetc,EAAKjC,MACxB,wJAEEwe,GAAY,EAsBhB,OArBAD,EAAa1b,SAAQ,SAAC4b,GAET,gCAATA,GACS,4BAATA,GACS,4BAATA,EAEAD,GAAY,EAEH,8BAATC,GACS,0BAATA,GACS,0BAATA,EAEAD,GAAY,EAERA,EACFF,EAAIlS,KAAK,sBAAMrS,UAAU,YAAhB,SAA6B0kB,KAEtCH,EAAIlS,KAAK,+BAAOqS,QAIfH,GAETI,UApToB,WAqTlB,MAA6B,SAAtBtf,GAAIuf,eAEbC,cAvToB,WAwTlB,MAAO,OAETC,YA1ToB,SA0TRC,GACV,IAAM3b,EAAO9J,SAAS8J,KAEpB2b,EAAO3b,EAAK4b,UAAUC,OAAO,kBAAoB7b,EAAK4b,UAAUE,IAAI,mBAGxEC,SAhUoB,SAgUXC,GACP,MAAwB,kBAAVA,GAAgC,OAAVA,IAAmBjT,MAAMC,QAAQgT,IAGvEC,SApUoB,SAoUXC,GAA4B,IAC/B3mB,EAD8B,OAAb4mB,EAAa,uDAAL,IAE7B,OAAO,WAAmB,IAAD,uBAAdC,EAAc,yBAAdA,EAAc,gBACvB/lB,aAAad,GACbA,EAAQU,YAAW,WACjBimB,EAAGG,MAAM,EAAMD,KACdD,KAGPG,SA7UoB,SA6UX5E,GACP,GAAsB,kBAAXA,EACT,IACEvb,OAAO0Y,UAAU0H,UAAUC,UAAU9E,GACrC,YAGN+E,mBApVoB,SAoVDvW,EAAQwW,EAAQC,GACjC,OAAIA,EACKzW,EAAEyW,GAAQlmB,cAAcmmB,cAAcF,EAAEC,GAAQlmB,eAEhDyP,EAAEzP,cAAcmmB,cAAcF,EAAEjmB,gBAG3ComB,QA3VoB,SA2VZC,GAKN,OAJeA,EACZnf,KAAI,SAAAvC,GAAK,MAAK,CAAEA,QAAOyN,KAAMgP,KAAKC,aAClCjP,MAAK,SAAC3C,EAAGwW,GAAJ,OAAUxW,EAAE2C,KAAO6T,EAAE7T,QAC1BlL,KAAI,qBAAGvC,UAGZ2hB,qBAlWoB,SAkWCC,GAWnB,MAAO,CAAExG,QAASwG,EAAUtkB,KATxBskB,GAAY,EACP,WACEA,GAAY,EACd,OACEA,GAAY,EACd,SAEA,QAIXC,kBA/WoB,WAgXlB,IAAMnhB,EAAYsB,GAAMC,WAAWC,MAAMxB,KACnCqB,EAAkBC,GAAMC,WAAWC,MAAMH,SAAWI,GAAOC,gBAAgB,WACjF,GAAIL,GAAWrB,EAAKohB,aAElB,IADA,IAAMC,EAAcjnB,SAASknB,qBAAqB,KACzCtH,EAAI,EAAGA,EAAIqH,EAAYpf,OAAQ+X,IAAK,CAC3C,IAAMnc,EAAOwjB,EAAYrH,GAAGuH,aAAa,QACrC,OAAC1jB,QAAD,IAACA,KAAMgD,SAAS,aAAe,OAAChD,QAAD,IAACA,KAAMmE,WAAW,SACnDqf,EAAYrH,GAAGwH,aAAa,OAAQ3jB,EAAI,UAAU,OAAJA,QAAI,IAAJA,KAAMgD,SAAS,KAAO,IAAM,IAAlC,mBAAgDQ,MAKhGogB,uBA5XoB,SA4XG5jB,GACrB,IAAM6jB,EAAcjgB,GAAOC,gBAAgB,WAC3C,OAAIggB,IAAgB7jB,EAAKgD,SAAS,YACzBhD,EAAI,UAAMA,EAAKgD,SAAS,KAAO,IAAM,IAAjC,mBAA+C6gB,GAEnD7jB,IASb4D,GAAO2W,eAAiB3W,GAAOoX,sB,OCxYxB,SAAS8I,GAAYnoB,GAC1B,IAAMolB,EAAUgD,cACR5hB,EAASlG,aAAY,SAACC,GAAD,OAAwBA,EAAMyH,SAAnDxB,KACF6hB,EAAQC,qBAERC,EAAW,SAAC9d,GAEhB,MAAuB,gBAAnBzK,EAAMwoB,UAA2C,cAAb/d,EAAKvJ,KAGtCuJ,EAAKvJ,MAAQlB,EAAMwoB,UAuCtBC,EAAU,SAAChe,GACf,OAAIjE,EAAKohB,eAAiB3f,GAAOC,gBAAgB,YAAcuC,EAAKtF,SAC3DsF,EAAKtF,SAEPe,GAAsBM,IAASiE,EAAKvF,WAAauF,EAAKvF,WAAauF,EAAKpG,MAGjF,OACE,qBAAK/C,UAAU,eAAf,SACG2I,OAAO5G,OAAOrD,EAAMmG,MAClBzD,QA5BQ,SAAC+H,GACd,QAAIA,EAAKlG,YAAiBkG,EAAKzF,OAASqjB,EAAM5d,EAAKzF,SAI/CwB,EAAKohB,eAAiB3f,GAAOC,gBAAgB,YAC3CuC,EAAKjG,aAKAiG,EAAK3F,oBAkBXuD,KAAI,SAACoC,EAAeQ,GAAhB,OACH,qBAAK3J,UAAU,eAAf,SACE,eAAConB,GAAA,EAAD,CACEhN,UAAWiN,IACXC,GAAIH,EAAQhe,GACZlJ,QAAS,SAACN,GAAD,OAnDnB4nB,EAoD0B5nB,EAnD1BoD,EAmD6BoG,EAAKpG,KAlDlCa,EAkDwCuF,EAAKvF,WAjD7CC,EAiDyDsF,EAAKtF,cA/CzD0jB,EAAMC,SAAYD,EAAME,UACvBviB,EAAKohB,eAAiB3f,GAAOC,gBAAgB,YAAc/C,EAC7DigB,EAAQzR,KAAKxO,GACJe,GAAsBM,IAAStB,EACxCkgB,EAAQzR,KAAKzO,GAEbkgB,EAAQzR,KAAKtP,GAEfwkB,EAAMG,mBAdY,IACpBH,EACAxkB,EACAa,EACAC,GAmDU,cAAasF,EAAKvJ,IANpB,UAQE,cAACuJ,EAAKrG,cAAN,CAAoBzC,OAAQ4mB,EAAS9d,KACrC,qBAAKnJ,UAAWinB,EAAS9d,GAAQ,2BAA6B,4BAA9D,SACGA,EAAKtG,YAXuB8G,Q,OC1EtC,SAASge,GAAajpB,GAC3B,IAAI+B,EAAO/B,EAAMkpB,cAAgB,UAAY,UACzChnB,EAASlC,EAAMkpB,cAAgB,UAAY,UAC/C,OACE,sBACEC,MAAO,CAAEC,OAAQ,gBACjBpnB,MAAM,6BACNJ,MAAM,QACNC,OAAO,QACPC,QAAQ,YACRC,KAAK,OANP,UAQE,wBAAQsnB,GAAG,IAAIC,GAAG,KAAK9U,EAAE,MAAMzS,KAAMA,EAAMG,OAAQA,EAAQE,eAAe,UAC1E,mBAAGM,OAAO,6BAAV,SACE,wBAAQ2mB,GAAG,IAAIC,GAAG,IAAI9U,EAAE,MAAMtS,OAAQA,EAAQE,eAAe,QAAQO,eAAe,iBAEtF,sBAAMC,GAAG,6BAA6Bb,KAAK,QAA3C,SACE,sBACEwnB,SAAS,UACTC,SAAS,UACTvnB,EAAE,iLAGN,sBACEA,EAAE,onBACFF,KAAMG,EACNunB,KAAK,qCAEP,+BACE,yBACE7mB,GAAG,uBACHC,EAAE,WACFC,EAAE,WACFlB,MAAM,UACNC,OAAO,UACPkB,YAAY,iBACZC,0BAA0B,OAP5B,UASE,yBAASC,aAAa,IAAIC,OAAO,uBACjC,+BACEC,GAAG,cACHC,KAAK,SACLC,OAAO,4CACPH,OAAO,cAET,6BACA,gCAAgBI,aAAa,YAC7B,6BAAaC,IAAI,YAAYC,SAAS,QACtC,+BAAeJ,KAAK,SAASC,OAAO,oEACpC,yBAASI,KAAK,SAASF,IAAI,qBAAqBL,OAAO,kCACvD,yBAASO,KAAK,SAASN,GAAG,gBAAgBI,IAAI,gCAAgCL,OAAO,kB,8GChDxF,SAASwmB,GAAW1pB,GACzB,IAAM2pB,EAAiB,CACrBC,cAAeC,GACfC,MAAM,GAER,OACE,sBAAKlnB,GAAG,aAAatB,UAAWtB,EAAM+pB,WAAa,cAAgB,GAAnE,UAEE,cAAC,KAAD,CAAQpkB,QAASgkB,EAAgB9nB,OAAuB,QAAf7B,EAAM2lB,KAAiB,QAAU,SACzE3lB,EAAMwJ,MAAQ,8BAAMxJ,EAAMwJ,UCD1B,SAASwgB,GAAShqB,GAMvB,MAAsCE,oBAAkB,GAAxD,mBAAO+pB,EAAP,KAAoBC,EAApB,KAEMC,EAAgB,WACpBD,GAAe,GACfvhB,GAAQiD,OAAO9H,GAAMD,MAOvB,OACE,cAACumB,GAAA,EAAD,CAAQC,KAAMrqB,EAAMqqB,KAAMC,SAAUtqB,EAAMuqB,UAAUC,QAASC,UAAU,YAAYC,YAAU,EAACC,eAAa,EAA3G,SACG,gBAAGC,EAAH,EAAGA,gBAAH,OACC,cAACC,GAAA,EAAD,6BAAUD,GAAV,aACE,cAACE,GAAA,EAAD,UACE,cAACC,GAAA,EAAD,CAAmBC,YAAahrB,EAAMirB,YAAtC,SACE,eAACC,GAAA,EAAD,WACE,cAACC,GAAA,EAAD,CAAU5pB,QAASvB,EAAMorB,oBAAzB,SAA8C,qBAC9C,cAACD,GAAA,EAAD,CAAU5pB,QAAS,kBAZjBuH,EAY8B,iCAX5CjC,OAAOG,SAASC,KAAO6B,GADV,IAACA,GAYF,SAA8D,gBAC9D,eAACqiB,GAAA,EAAD,CAAU5pB,QAAS4oB,EAAe7oB,UAAW2oB,EAAc,SAAW,GAAtE,UAA0E,UAEvEA,GAAe,cAACP,GAAD,oB,+BClC3B,SAAS2B,GAAKrrB,GACnB,MAAgCE,oBAAkB,GAAlD,mBAAOorB,EAAP,KAAiBC,EAAjB,KAEMhB,EAAYiB,iBAAuB,MACjChlB,EAASlG,aAAY,SAACC,GAAD,OAAwBA,EAAMyH,SAAnDxB,KAEFilB,EAAe,WACnBF,GAAY,SAAAG,GAAQ,OAAKA,MA+B3B,OACE,sBAAKpqB,UAAWqqB,KAAW,cAA3B,UAtBF,WACE,IAAIrI,EAAkB,GAStB,OARI9c,GAAQA,EAAKgP,YAAchP,EAAKiP,UAGlC6N,EAFc9c,EAAKgP,WAAWmO,OAAO,GAAG5B,cAC3Bvb,EAAKiP,UAAUkO,OAAO,GAAG5B,cAE7Bvb,GAAQA,EAAKnB,QACtBie,EAAU9c,EAAKnB,MAAMse,OAAO,GAAG5B,eAG7BuB,EAAQ7a,OAER,qBAAKnH,UAAU,YAAYC,QAASkqB,EAAcG,IAAKrB,EAAvD,SACGjH,IAKA,cAAC2F,GAAD,IAKJ4C,GACD,cAAC7B,GAAD,CACEoB,oBAAqBprB,EAAMorB,oBAC3Bf,KAAMiB,EACNf,UAAWA,EACXU,YAnCc,SAACpC,GACf0B,EAAUC,SAAWD,EAAUC,QAAQsB,SAASjD,EAAMkD,SAG1DR,GAAY,S,cClBT,SAASS,GAAWhsB,GACzB,GAAIA,EAAM4oB,GAAGpgB,WAAW,QACtB,OACE,mBAAGvB,KAAMjH,EAAM4oB,GAAImD,OAAO,SAASE,IAAI,aAAa,cAAajsB,EAAMksB,OAAQ5qB,UAAWtB,EAAMsB,UAAhG,SACGtB,EAAMwJ,OAKb,IAAM2iB,EAAalkB,GAAOC,gBAAgB,WACpCkkB,EAAgBpsB,EAAM4oB,GAAGvhB,SAAS,KAExC,OACE,cAAC,IAAD,CACEuhB,GAAE,UAAK5oB,EAAM4oB,IAAX,OACAuD,IAAensB,EAAM4oB,GAAGvhB,SAAS,YAAjC,UAAkD+kB,EAAgB,IAAM,IAAxE,mBAAsFD,GAAe,IAEvGJ,OAAO,SACP,cAAa/rB,EAAMksB,OACnB5qB,UAAWtB,EAAMsB,UANnB,SAQGtB,EAAMwJ,OCTN,SAAS6iB,GAAarsB,GAE3B,MAAkCE,mBAAiB,IAAnD,mBAAOosB,EAAP,KAAkBC,EAAlB,KACA,EAA4CrsB,oBAAkB,GAA9D,mBAAOssB,EAAP,KAAuBC,EAAvB,KACA,EAAgCvsB,mBAAiB,IAAjD,mBAAOwsB,EAAP,KAAiBC,EAAjB,KACA,EAA0CzsB,oBAAkB,GAA5D,mBAAO0sB,EAAP,KAAsBC,EAAtB,KACA,EAAsC3sB,mBAAiC,IAAvE,mBAAO4sB,EAAP,KAAoBC,EAApB,KACA,EAAgD7sB,oBAAkB,GAAlE,mBAAO8sB,EAAP,KAAyBC,EAAzB,KACA,EAA8B/sB,oBAAkB,GAAhD,mBAAOwR,EAAP,KAAgBwb,EAAhB,KACA,EAA0BhtB,mBAAiB,IAA3C,mBAAOmF,EAAP,KAAc8nB,EAAd,KACMlc,EAAWmc,cAKjB3sB,qBAAU,WACRkI,GAAQe,QAAQ,wBAAwBW,WAAU,SAAChB,GACjDkjB,EAAaljB,EAASmM,YACtBmX,EAAYtjB,EAASoM,WACrBsX,EAAe1jB,EAASgkB,QACxBF,EAAS9jB,EAAShE,OAClB6nB,GAAW,QAEZ,IA0CH,OACE,sBAAK5rB,UAAU,mCAAf,UACGoQ,GAAW,cAACgY,GAAD,IACZ,cAAC2B,GAAD,IACA,6BAAI,qBACJ,qBAAK/pB,UAAU,YACf,sBAAKA,UAAU,iBAAf,UACE,gCAAO,eACP,uBACE8B,KAAK,OACL9B,UAAWqqB,KAAW,CAAE5lB,MAAOymB,IAC/Bc,SAAU,SAAArsB,GAAC,OAAIsrB,EAAatrB,EAAE8qB,OAAOjmB,QACrCA,MAAOwmB,IAET,gCAAO,cACP,uBACElpB,KAAK,OACL9B,UAAWqqB,KAAW,CAAE5lB,MAAO6mB,IAC/BU,SAAU,SAAArsB,GAAC,OAAI0rB,EAAY1rB,EAAE8qB,OAAOjmB,QACpCA,MAAO4mB,IAET,gCAAO,UACP,uBAAOtpB,KAAK,OAAOmqB,UAAU,EAAMznB,MAAOT,IAC1C,qBAAK/D,UAAU,YACf,gCAAO,iBACP,qBAAKA,UAAWqqB,KAAW,sBAAuB,CAAE5lB,MAAOinB,IAA3D,SACE,cAAC,KAAD,CACEQ,gBAAgB,EAChBC,eAAa,EACbC,YAAY,0BACZ5nB,MAAOgnB,EACPQ,SAAU,SAACxnB,GAAD,OAAgBinB,EAAejnB,GAAS,SAGtD,qBAAKxE,UAAU,YACf,sBAAKA,UAAU,kBAAf,UACE,gCACE,cAAC0qB,GAAD,CAAYpD,GAAI,6CAA8Cpf,KAAM,iBACpE,sBAAMlI,UAAU,SAAhB,SAAyB,WACzB,cAAC0qB,GAAD,CAAYpD,GAAI,uCAAwCpf,KAAM,sBAEhE,gCACE,wBAAQlI,UAAU,4BAA4BC,QAASvB,EAAM2tB,QAA7D,SAAsE,WAGtE,wBAAQrsB,UAAS,uBAA0BC,QAjEtC,WACb,IArBe,WACf,IAAIqsB,GAAW,EAgBf,OAdItB,EAAU7jB,OAAS,IACrBgkB,GAAkB,GAClBmB,GAAW,GAETlB,EAASjkB,OAAS,IACpBokB,GAAiB,GACjBe,GAAW,GAGTd,IAAgBe,aAAmBf,KACrCG,GAAoB,GACpBW,GAAW,IAGLA,EAIHE,GACH,OAAO,EAETZ,GAAW,GACXvkB,GAAQ8C,QACN,uBACA,CACE+J,WAAY8W,EACZ7W,UAAWiX,EACXW,OAAQP,GAEV,SACAziB,WAAU,SAAChB,GACX4H,EAASsE,GAAQ,CAAEC,WAAY8W,EAAW7W,UAAWiX,KACrD1sB,EAAM2tB,UACN1c,EAAS0L,GAAY,kCAiDf,SAA4D,qB,OCnHjE,SAASoR,GAAM/tB,GACpB,OAAO,qBAAKsB,UAAWtB,EAAMsB,UAAW0sB,IAAKhuB,EAAMguB,IAAKC,IAAG,yBAAoBjuB,EAAMkuB,KAA1B,YAAkCluB,EAAMoD,Q,OCN9F,SAAS+qB,KASd,OACE,qBAAK7sB,UAAU,iBAAf,SACE,cAAC,GAAD,CAAOA,UAAU,OAAO4sB,KALpB,OAAN,OAAiC,WARf,UAayBF,IAAI,OAAO5qB,KAAK,U,OCTxD,SAASgrB,GAAOpuB,GACrB,MAAoCE,mBAAiB,IAArD,mBAAOmuB,EAAP,KAAmBC,EAAnB,KACQ9nB,EAASlG,aAAY,SAACC,GAAD,OAAwBA,EAAMyH,SAAnDxB,KAaR,OAXAkY,KAA6BrU,WAAU,SAACpJ,GACtC,IAAMkrB,EAAa3lB,EAAK+nB,yBACpBpC,EACFmC,EAAc,GAAD,OAAInC,EAAJ,cAAoBlrB,EAAEuI,OAC1BhD,EAAKE,KAAO,GACrB4nB,EAAc,GAAD,OAAI9nB,EAAKoP,qBAAqB1O,QAAQ,QAAS,IAA/C,cAAwDjG,EAAEuI,OAEvE8kB,EAAcrtB,EAAEuI,SAKlB,sBAAKlI,UAAWqqB,KAAW,oBAA3B,UACE,qBAAKrqB,UAAU,cAAf,SAA8B+sB,IAC9B,qBAAK/sB,UAAU,qB,8BCffktB,I,OAA8C,SAAC,GAAe,IAAbzoB,EAAY,EAAZA,MACrD,GAAIA,EAAO,CACT,GAAqB,kBAAVA,GAAgC,KAAVA,EAC/B,OAAO,qBAAKzE,UAAU,mBAAf,SAAmCyE,IAE5C,GAAI0N,MAAMC,QAAQ3N,IAAUA,EAAM0C,OAAS,EACzC,OACE,8BACG1C,EAAMsC,KAAI,SAAComB,EAAMxjB,GAAP,OACT,qBAAiB3J,UAAU,mBAA3B,SACGmtB,GADOxjB,QAQpB,OAAO,OAGHyjB,GAAQC,sBAAW,SAAC3uB,EAAe4rB,GAAe,IAAD,EACrD,EAA8CrpB,IAAMrC,UAAkB,GAAtE,mBAAO0uB,EAAP,KAAwBC,EAAxB,KAEMC,EACJ9uB,EAAM+F,QACmB,kBAAhB/F,EAAM+F,OAAsC,KAAhB/F,EAAM+F,OAAkB0N,MAAMC,QAAQ1T,EAAM+F,QAAU/F,EAAM+F,MAAM0C,OAAS,GAyBlH,IAAMsmB,EAAc/uB,EAAMsB,UAAYtB,EAAMsB,UAAY,GAExD,OACE,qCACE,sBAAKA,UAAU,cAAf,UACGtB,EAAMkuB,MAAQ,cAAC,GAAD,CAAO5sB,UAAU,aAAa0sB,IAAKhuB,EAAMkuB,KAAMA,KAAMluB,EAAMkuB,KAAM9qB,KAAK,QACrF,uBACEwoB,IAAKA,EACLnmB,SAAUzF,EAAMyF,SAChBupB,UAAWhvB,EAAMgvB,UACjBpsB,GAAI5C,EAAM4C,GACVtB,UAAW2tB,aAAK,gBAAD,oBACZF,EAAc/uB,EAAMsB,WADR,yBAEJwtB,GAFI,IAIf1rB,KAAMpD,EAAMoD,KACZ0C,MAAO9F,EAAM8F,MACbopB,UAAWlvB,EAAMmvB,UACjBC,UAAWpvB,EAAMqvB,UACjB3B,YAAa1tB,EAAM0tB,YACnB4B,UAlCR,SAAuBxpB,GACU,oBAApB9F,EAAMsvB,WACftvB,EAAMsvB,UAAUxpB,IAiCZwnB,SAAU,SAAArsB,GAAC,OA5CG6E,EA4Cc7E,EAAE8qB,OAAOjmB,WA3Cb,oBAAnB9F,EAAMstB,WACfttB,EAAMstB,SAASxnB,GACkB,oBAAtB9F,EAAMuvB,aACfV,EAA6B,KAAV/oB,KAJzB,IAAsBA,KA8Cf9F,EAAMuvB,aACL,oCACIX,GACA,qBAAKttB,UAAU,kBAAkBC,QAlC7C,WACmC,oBAAtBvB,EAAMuvB,aAAwD,oBAAnBvvB,EAAMstB,WAC1DttB,EAAMstB,SAAS,IACfttB,EAAMuvB,cACNV,GAAmB,KA8BX,SAAuD,WAO/D,cAAC,GAAD,CAAiB9oB,MAAO/F,EAAM+F,cC7FvBypB,GACM,eAACC,EAAD,+DAAoCA,EAAe,SAAW,WCGpEC,I,OAAb,4MACS1vB,WADT,8CAGE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAI5C,OAHIW,KAAKtC,MAAM0B,QACbA,EAAQY,KAAKtC,MAAM0B,OAGnB,qBACEJ,UAAS,kBAAakuB,GAA4BltB,KAAKtC,MAAMyvB,cAApD,YAAqEntB,KAAKtC,MAAMsB,WAAa,IACtGM,MAAM,OACNC,OAAO,OACPC,QAAQ,YACRC,KAAK,OACLC,MAAM,6BANR,SAQE,sBACEC,EAAE,mCACFC,OAAQI,KAAKtC,MAAM0B,OAASA,EAC5BS,cAAc,QACdC,eAAe,gBArBzB,GAA+BG,IAAMC,Y,OCI9B,SAASmtB,GAAe3vB,GAM7B,OACE,sBAAKsB,UAAU,oBAAoBC,QALrC,WACEvB,EAAMstB,UAAUttB,EAAM4vB,aAItB,UACE,qBAAKtuB,UAAU,YAAf,SAA4BtB,EAAM6vB,cAClC,cAAC,GAAD,CAAWluB,OAAQ3B,EAAM4vB,WAAYH,aAAczvB,EAAM4vB,gB,WCblDE,GAAb,4MACS9vB,WADT,gDAGE,WACE,OAAIsC,KAAKtC,MAAM2B,OACN,qBAAKssB,IAAI,2BAA2BD,IAAI,aACtC1rB,KAAKtC,MAAM+vB,WACb,SADF,IANX,oBAWE,WACE,OACE,sBAAMzuB,UAAU,WAAW,cAAY,WAAvC,SACGgB,KAAKyF,iBAdd,GAA8BxF,IAAMC,W,OCC7B,SAASwtB,GAAWhwB,GAazB,IAAsB2N,EAOtB,OACE,mCACG3N,EAAM0N,OAAOuiB,gBACZ,sBAAK3uB,UAAS,0BAVEqM,EAU+B3N,EAAM0N,OAAOC,MAT5D3N,EAAMkwB,aAAeviB,EAAMxM,cAAckG,SAASrH,EAAMkwB,WAAW/uB,eAC9D,OAEF,KAMH,UACE,sBAAKG,UAAU,SAASC,QAtBhC,WACEvB,EAAM0N,OAAOyiB,YAAcnwB,EAAM0N,OAAOyiB,WACxCnwB,EAAMstB,SAASttB,EAAM0N,SAoBf,UACE,cAAC,GAAD,CAAU/L,OAAQ3B,EAAM0N,OAAOyiB,aAC/B,qBAAK7uB,UAAU,kBAAf,SAAkCtB,EAAM0N,OAAOC,WAGhD3N,EAAMowB,WACL,qBAAK7uB,QAtBf,WAEMvB,EAAMqwB,eAAerwB,EAAMqwB,cAAcrwB,EAAMswB,cAoB3C,SACE,cAAC,GAAD,CAAW3uB,OAAQ3B,EAAMswB,YAAab,aAAczvB,EAAMswB,qB,OC9BjE,SAASC,GAAYvwB,GAC1B,MAAkCE,mBAASF,EAAM0N,OAAO8iB,UAAxD,mBAAOC,EAAP,KAAmBC,EAAnB,KAEA,SAASC,EAAWjjB,GAClB1N,EAAMstB,SAAS5f,GA2DjB,OACE,8BACG1N,EAAM0N,OAAOuiB,gBACZ,sBAAK3uB,UAvCgB,WAAe,IAAD,EACjCoM,EAAwB1N,EAAM0N,OAC9BwiB,EAA8B,UAAGlwB,EAAMkwB,kBAAT,aAAG,EAAkB/uB,cACrDyvB,GAA8B,EAElC,OAAKV,EAIDxiB,EAAOC,MAAMxM,cAAckG,SAAS6oB,GAI/B,cAEPxiB,EAAOI,MAAM1D,SAAQ,SAAAiK,GACfA,EAAI1G,MAAMxM,cAAckG,SAAS6oB,KACnCU,GAAqB,MAKtBA,EAIE,GAHE,QAjBA,GAiCWC,GAAhB,UACE,cAACb,GAAD,CACEtiB,OAAQ1N,EAAM0N,OACd4f,SA7DV,WACE,IAAMwD,EAAW9wB,EAAM0N,OAAOI,MAAMzF,KAAI,SAACoC,GAKvC,OAJiB,6BACZA,GADY,IAEf0lB,WAAYnwB,EAAM0N,OAAOyiB,gBAK7BnwB,EAAM0N,OAAOI,MAAQgjB,EACrB9wB,EAAMstB,SAASttB,EAAM0N,SAoDb0iB,WAAW,EACXC,cAjDV,SAAoBvqB,GAClB9F,EAAM0N,OAAO8iB,UAAY1qB,EACzB4qB,EAAY1wB,EAAM0N,OAAO8iB,WAgDjBF,YAAaG,IAEdA,GACC,qBAAKnvB,UAAU,qBAAf,SACGtB,EAAM0N,OAAOI,MAAMzF,KAAI,SAACoC,EAAqBvJ,GAAtB,OACtB,qBAAKI,WArBQqM,EAqBqBlD,EAAKkD,MApB/C3N,EAAMkwB,aAAeviB,EAAMxM,cAAckG,SAASrH,EAAMkwB,WAAW/uB,eAC9D,OAEF,IAiBK,SACE,cAAC6uB,GAAD,CAAYtiB,OAAQjD,EAAM6iB,SAAUqD,GAAiBzvB,KAtB3C,IAACyM,YC5DtB,SAASojB,GAAoBC,GAClC,MAAoD9wB,mBAAS8wB,GAA7D,mBAAOC,EAAP,KAA2BC,EAA3B,KACMtF,EAAMJ,iBAAuB,MAI7B2F,EAAqB,SAACtI,GACR,WAAdA,EAAM3nB,KACRgwB,GAAsB,IAMpBE,EAAqB,SAACvI,GACtB+C,EAAIpB,UAAYoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,SAC7CmF,GAAsB,IAa1B,OATAzwB,qBAAU,WAGR,OAFAG,SAASC,iBAAiB,UAAWswB,GAAoB,GACzDvwB,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,UAAWmwB,GAAoB,GAC5DvwB,SAASI,oBAAoB,QAASowB,GAAoB,OAIvD,CAAExF,MAAKqF,qBAAoBC,yB,cC5B7B,SAASG,GAAmBrxB,GACjC,IAAKA,EAAM8F,MACT,OAAO,KAGT,IAAIpE,EAAQuG,GAAOuZ,qBAAqBxhB,EAAM8F,OAE9C,OACE,sBAAKxE,UAAU,qBAAf,UACE,qBACEA,UAAU,yBACV6nB,MAAO,CACLmI,WAAY5vB,KAGhB,qBACEJ,UAAU,qBACV6nB,MAAO,CACLoI,OAAO,aAAD,OAAe7vB,GACrB8vB,UAAU,aAAD,OAAe9vB,MAG5B,qBAAKJ,UAAU,mBAAf,SAAmCtB,EAAM8F,MAAMic,mBCzB9C,SAAS0P,KACd,OACE,qBAAKtI,MAAO,CAAEuI,QAAS,QAAU,WAAS,0BAA1C,SACE,sBAAK1vB,MAAM,6BAA6BJ,MAAM,QAAQC,OAAO,QAAQC,QAAQ,YAAYC,KAAK,OAA9F,UACE,sBACEE,EAAE,0HACFF,KAAK,YAEP,sBACEE,EAAE,0RACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,0RACFF,KAAK,YAEP,sBACEE,EAAE,sLACFF,KAAK,iBCXR,SAAS4vB,GAAS3xB,GACvB,IAAI0B,EAAQ1B,EAAM0B,OAASuG,GAAOgZ,kBAAkBjhB,EAAMkhB,SAgD1D,MA5Ca,CACT0Q,OACE,sBAAKtwB,UAAWtB,EAAMsB,WAAa,GAAIM,MAAM,OAAOC,OAAO,OAAOC,QAAO,YAAeC,KAAK,OAA7F,UACE,sBACEE,EAAE,yYACFC,OAAQR,EACRU,eAAe,UAEjB,sBACEH,EAAE,qMACFC,OAAQR,IAEV,sBACEO,EAAE,wHACFF,KAAML,IAER,sBAAMO,EAAE,eAAeC,OAAQR,EAAOS,cAAc,WACpD,sBAAMF,EAAE,eAAeC,OAAQR,EAAOS,cAAc,WACpD,sBAAMF,EAAE,iBAAiBC,OAAQR,EAAOS,cAAc,cAG1Dkf,OACE,sBAAKzf,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAYC,KAAK,OAAzD,UACE,sBACEE,EAAE,iZACFC,OAAQR,EACRU,eAAe,UAEjB,sBACEH,EAAE,kNACFC,OAAQR,IAEV,sBACEO,EAAE,6LACFF,KAAML,IAER,sBAAMO,EAAE,yBAAyBC,OAAQR,EAAOS,cAAc,WAC9D,sBAAMF,EAAE,uBAAuBC,OAAQR,EAAOS,cAAc,WAC5D,sBAAMF,EAAE,yBAAyBC,OAAQR,EAAOS,cAAc,eAIxDnC,EAAM6xB,UAAY,U,4BC3C3B,SAASC,GAAQ9xB,GACtB,IAAI+xB,EAAiB,CACnBvoB,KAAM,GACN8nB,WAAY,GACZU,MAAO,IAGT,OAAQhyB,EAAMiyB,OACZ,IAAK,QACHF,EAAOvoB,KAAO,UACduoB,EAAOT,WAAa,UACpBS,EAAOC,MAAQ,UACf,MACF,IAAK,OACHD,EAAOvoB,KAAO,UACduoB,EAAOT,WAAa,UACpBS,EAAOC,MAAQ,UAInB,OACE,cAAC,KAAD,CACEE,KAAMlyB,EAAMkyB,KACZ5wB,UAAWtB,EAAMsB,UACjB6wB,MAAOnyB,EAAMmyB,MACbC,UAAWL,EAAOvoB,KAClB6oB,gBAAiBN,EAAOT,WACxBgB,WAAYP,EAAOC,MACnBpvB,GAAI5C,EAAM4C,GACV2vB,OAAQvyB,EAAMuyB,QAAU,QACxBC,UAAWxyB,EAAMwyB,WAAa,EAC9BC,OAAQzyB,EAAMyyB,SCvCb,SAASC,GAAa1yB,GAC3B,OAAKA,EAAM8F,MAIT,sBAAKxE,UAAU,oBAAf,UACE,cAACqwB,GAAD,CAAUzQ,QAASlhB,EAAM8F,MAAM1C,OAC/B,qBAAK9B,UAAU,mBAAf,SACGqxB,MAAM3yB,EAAM8F,MAAM8sB,YAAc5yB,EAAM8F,MAAMob,QAAUlhB,EAAM8F,MAAM8sB,aAEpE5yB,EAAM8F,MAAM+sB,sBAAwB,cAACpB,GAAD,IACrC,cAACK,GAAD,CAASG,MAAM,OAAOE,MAAM,aATvB,K,OCFJ,SAASW,GAAc9yB,GAC5B,IAAKA,EAAM8F,MACT,OAAO,KAGT,GAA+B,OAA3B9F,EAAM8F,MAAMitB,iBAAkDtrB,IAA3BzH,EAAM8F,MAAMitB,WACjD,OAAO,KAGT,IAAMC,EAAQhzB,EAAM8F,MAAM1C,KAAK2e,cAC/B,OACE,sBAAKzgB,UAAU,qBAAf,UACE,cAACqwB,GAAD,CAAUjwB,MAAOuG,GAAOuZ,qBAAqBwR,KAC7C,qBAAK1xB,UAAU,oBAAf,SAAoC0xB,O,WCT7BC,GAAb,4MACSjzB,WADT,IAESmK,MAAgB,EAFzB,EAGS+oB,aAAuB,EAHhC,EAISC,WAAuB,GAJhC,uDAKE,cALF,oBAOE,WAAU,IAAD,OACH3hB,EAAsB,GAS1B,OARAlP,KAAK6wB,WAAa,GAClB7wB,KAAK6H,MAAQ,EACT7H,KAAKtC,MAAM8F,OACbxD,KAAKtC,MAAM8F,MAAMsE,SAAQ,SAACK,EAAYQ,GACpC,EAAKmoB,UAAU5hB,EAAM/G,EAAMQ,MAK7B,sBAAK3J,UAAU,oBAAf,UACGkQ,EACAlP,KAAK+wB,iBApBd,uBA0BE,SAAU7hB,EAAqB/G,EAAYQ,GACrC3I,KAAK6wB,WAAW1Q,WAAWha,QAAU,GACvCnG,KAAK6H,QAELqH,EAAKmC,KACH,sBAAKrS,UAAU,aAAf,UACE,qBAAKA,UAAU,kBAAf,SAAkCmJ,EAAKvJ,MACvC,8BAAK,MACL,qBAAKI,UAAU,mBAAf,SAAmCmJ,EAAK3E,UAHTmF,IAOrC3I,KAAK6wB,WAAWxf,KAAhB,UAAwBlJ,EAAK3E,MAA7B,YAAsC2E,EAAKvJ,QAtC/C,uBAyCE,WACE,IAAIoyB,EAAe,sBAAKhyB,UAAU,QAAf,UAAuB,IAAEgB,KAAK6H,SACjD,GAAmB,IAAf7H,KAAK6H,MAGT,OAAOmpB,MA9CX,GAAkC/wB,IAAMC,WCFlC+wB,I,OAAe,CACnBC,SAAU,iBACVC,SAAU,qBACVC,aAAc,cACdC,gBAAiB,kBACjBC,MAAO,QACPC,OAAQ,eACRC,YAAa,gBAGR,SAASC,GAAa/zB,GAC3B,IAAMg0B,EAAQh0B,EAAMwjB,OAAO7Q,MAAQ4gB,GAAaM,QAAU7zB,EAAMqO,OAAOgG,IAAIjR,KAAKjC,cAAckG,SAAS,OA8EvG,OA5EkB,SAACgH,EAA8BmV,GAC/C,IAAKxjB,EAAMsU,WACT,OAAO,+BAAOtU,EAAMqO,OAAOvI,QAE7B,IAAImuB,EAA6C,CAAEprB,KAAM,GAAI8J,IAAK,IAK5DshB,EAHc,eAAhBzQ,EAAOzc,KACLyc,EAAO7Q,MAAQ4gB,GAAaE,SACT,qBAAjBplB,EAAOwF,MACK,CAAEhL,KAAM0qB,GAAaC,SAAU7gB,IAAK4gB,GAAaG,cAEjD,CAAE7qB,KAAM0qB,GAAaE,SAAU9gB,IAAK4gB,GAAaI,iBAGnD,CAAE9qB,KAAM0qB,GAAaC,SAAU7gB,IAAK4gB,GAAaK,OAExC,cAAhBpQ,EAAOzc,KACZyc,EAAO7Q,MAAQ4gB,GAAaE,SACT,qBAAjBplB,EAAOwF,MACK,CAAEhL,KAAM0qB,GAAaC,SAAU7gB,IAAK4gB,GAAaG,cAEjD,CAAE7qB,KAAM0qB,GAAaE,SAAU9gB,IAAK4gB,GAAaI,iBAExDnQ,EAAO7Q,MAAQ4gB,GAAaM,OACvB,CACZhrB,KAAM0qB,GAAaM,OACnBlhB,IAAKqhB,EAAQT,GAAaO,YAAcP,GAAaK,OAGzC,CAAE/qB,KAAM0qB,GAAaC,SAAU7gB,IAAK4gB,GAAaG,cAExC,gBAAhBlQ,EAAOzc,KACZyc,EAAO0Q,WAAaX,GAAaC,SAC/BD,GAAaE,SAASpsB,SAASrH,EAAMqO,OAAOgG,IAAI8f,qBAAqBhzB,eACzD,CAAE0H,KAAM0qB,GAAaE,SAAU9gB,IAAK4gB,GAAaI,iBAEjD,CAAE9qB,KAAM0qB,GAAaC,SAAU7gB,IAAK4gB,GAAaG,cAExDlQ,EAAO0Q,WAAaX,GAAaM,QACtCN,GAAaE,SAASpsB,SAASrH,EAAMqO,OAAOgG,IAAI8f,qBAAqBhzB,eACzD,CAAE0H,KAAM0qB,GAAaE,SAAU9gB,IAAK4gB,GAAaI,iBAKnD,CAAE9qB,KAAM0qB,GAAaC,SAAU7gB,IAAK4gB,GAAaG,cAEvC,WAAjBrlB,EAAOwF,MACF,CAAEhL,KAAM0qB,GAAaE,SAAU9gB,IAAK4gB,GAAaI,kBACtDtlB,EAAOwF,MACF,CAAEhL,KAAM0qB,GAAaC,SAAU7gB,IAAK4gB,GAAaG,eAKjE,IAAM9wB,EAAK,CAAC2wB,GAAaE,SAAUF,GAAaC,UAAUnsB,SAAS4sB,EAAYprB,MAC3E7I,EAAMqO,OAAOvI,MACb9F,EAAMqO,OAAOzL,GAEXupB,EAAalkB,GAAOC,gBAAgB,WACpCksB,EAAO,6BAAyBH,EAAYprB,KAArC,YAA6CwrB,mBAAmBzxB,GAAhE,YAAuEqxB,EAAYthB,KAAnF,OACXwZ,EAAU,mBAAeA,GAAe,IAG1C,OAAQ6H,EAQNh0B,EAAMqO,OAAOvI,MAPb,cAACkmB,GAAD,CACEpD,GAAIwL,EACJ5qB,KAAM,8BAAMxJ,EAAMqO,OAAOvI,QACzBxE,UAAW,kBACX4qB,OAAO,kBAONoI,CAAUt0B,EAAMqO,OAAQrO,EAAMwjB,Q,WCjFjC+Q,GAA0C,SAAC,GAAmD,IAAjDpuB,EAAgD,EAAhDA,KAAMquB,EAA0C,EAA1CA,SAAU3gB,EAAgC,EAAhCA,MAAO2P,EAAyB,EAAzBA,OAAQlP,EAAiB,EAAjBA,WAG1EmgB,EAAY,SAACxpB,GACjB,GAAI9E,EAAKsC,OAAS,IAAMwC,EACtB,OAAO,qBAAK3J,UAAU,0BAI1B,OACE,oBAAIA,UAAU,sBAAsB6nB,MAAO,CAAEqL,SAAUA,GAAvD,SACGruB,GACCsN,MAAMC,QAAQvN,IACdA,EAAKkC,KAAI,SAACoC,EAAWQ,GACnB,IAAMypB,EACJ7gB,GAAS,CAAC,mBAAoB,QAAS,kBAAkBxM,SAASwM,GAChE,cAAC,GAAD,CAAcxF,OAAQ,CAAEvI,MAAO2E,EAAMoJ,MAAOA,GAAS2P,OAAQA,EAAQlP,WAAYA,IACrE,SAAVT,EACF,cAACmY,GAAD,CAAYpD,GAAE,2CAAsCne,GAAQjB,KAAMiB,IAElEA,EAEJ,OACE,+BACE,qBAAKnJ,UAAU,qBAAf,SACmB,kBAATmJ,GAA+B,SAAVoJ,EACzB6gB,EACgB,kBAATjqB,EACPA,EACgB,kBAATA,GAAqBR,OAAO5G,OAAOoH,GAAM,KAErDgqB,EAAUxpB,KARJA,SC/Bf0pB,I,OAAoB,SAAC30B,GACzB,IAAMiR,EAAWmc,cACjB,EAA4C9sB,aAAY,SAACC,GAAD,OAAgBA,EAAM4d,aAAtErB,EAAR,EAAQA,gBAAiBG,EAAzB,EAAyBA,eACV9W,EAAqBnG,EAA5B8F,MAAauO,EAAerU,EAAfqU,IAAKR,EAAU7T,EAAV6T,MAW1B,OAAS1N,GAAUA,EAAKgE,MACtB,qBACE5I,QAX2B,SAACqzB,GAC9BA,EAAGC,kBACH5jB,EAASoM,GAAwBxJ,IAEjC,IAAMwS,GAAQvJ,KAAsBA,GAAmBG,IAAmB5I,EAAIygB,MAC9E7jB,EAASkM,GAAmBkJ,IAC5BpV,EAASiM,GAAkBmJ,EAAOhS,EAAIygB,MAAQ,MAM5CxzB,UAAWqqB,KAAW,mBAAoB,CAAE/lB,SAAUqX,IAAmB5I,EAAIygB,QAF/E,mBAGK3uB,EAAKgE,SACR,O,OCxBC,SAAS4qB,GAAgB/0B,GAY9B,OAAO,qBAAKsB,UAAU,wBAAf,SATuB,SAACwE,GAC7B,IACE,IAAIkvB,EAAMlvB,EAAM2c,WAChB,MAAM,GAAN,OAAUuS,EAAIrR,OAAO,GAAG5B,eAAxB,OAAwCiT,EAAIlQ,MAAM,IAClD,MAAO/e,GACP,MAAO,SAIoC8e,CAAsB7kB,EAAM8F,S,OCXtE,SAASmvB,GAAgBj1B,GAC9B,OACE,sBAAKsB,UAAU,wBAAf,UACE,qBAAKA,UAAU,GAAf,SAAmBtB,EAAM8F,MAAM6H,QAC9B3N,EAAM8F,MAAMqO,aACX,qBAAK7S,UAAU,6BAAf,SACE,qBAAKA,UAAU,GAAf,SAAkB,4B,OCHrB,SAAS4zB,GAAgBl1B,GAC9B,OACE,sBAAKsB,UAAU,oBAAf,UACE,cAACqwB,GAAD,CAAUzQ,QAASlhB,EAAM8F,MAAM1C,OAC/B,qBAAK9B,UAAU,sBAAf,SAAsC2G,GAAO+Z,iBAAiBhiB,EAAM8F,MAAM1C,QACzEpD,EAAM8F,MAAM+sB,sBAAwB,cAACpB,GAAD,O,gCCRpC,SAAS0D,GAAcn1B,GAC5B,IAA2B4gB,EAmB3B,OACE,qBAAKtf,UAAS,gCAAuCtB,EAAMo1B,eAZvDp1B,EAAMo1B,eAAiB,EAClB,MAEoB,IAAzBp1B,EAAMo1B,eACD,GAELp1B,EAAMo1B,eAAiB,EAClB,WADT,IAMA,UApByBxU,EAqBJ5gB,EAAMo1B,eApBvBxU,EAAM,EACF,IAAN,OAAWA,GAENA,K,OCJJ,SAASyU,GAAWr1B,GACzB,OAAKA,EAAM8F,OAIN9F,EAAM8F,MAAM1C,MAASpD,EAAM8F,MAAMitB,WAKpC,sBAAKzxB,UAAU,oBAAf,UACE,+BAAOtB,EAAM8F,MAAMitB,WAAWlS,QAAQ,KACtC,cAACwQ,GAAD,CAAoBvrB,MAAO9F,EAAM8F,MAAM1C,UAVlC,K,ICFLkyB,G,WAGJ,aAAe,yBAFRC,WAEO,OADPC,YACO,EACZlzB,KAAKizB,MAAQ30B,SAAS60B,cAAc,oB,gDAGtC,SAAa/pB,EAAcgqB,GAA2B,IAAD,OAAZC,EAAY,uDAAJ,GAC3CH,EAAS50B,SAASg1B,cAAc,OACpCJ,EAAOl0B,UAAY,YAEnB,IAAIu0B,EAAOj1B,SAASg1B,cAAc,OAClCC,EAAKv0B,UAAL,sBAAgCo0B,GAEhC,IAAII,EAAuBl1B,SAASg1B,cAAc,OAClDE,EAAqBx0B,UAAY,aAEjC,IAAIy0B,EAAY,IAAIhI,MACpBgI,EAAU9H,IAAV,gCAAyCyH,EAAzC,QACAI,EAAqBE,YAAYD,GAEjC,IAAIE,EAAar1B,SAASg1B,cAAc,OACxCK,EAAW30B,UAAY,mBAEvB,IAAI40B,EAAoBt1B,SAASg1B,cAAc,OAC/CM,EAAkB50B,UAAY,sBAC9B40B,EAAkBC,UAAYzqB,EAE9B/K,YAAW,WACT60B,EAAOlP,UAAUE,IAAI,oBACpB,GAEH,IAAI4P,EAAOx1B,SAASg1B,cAAc,OAClCQ,EAAK90B,UAAY,iBACjB80B,EAAKD,UAAYR,EAEjBM,EAAWD,YAAYE,GACvBL,EAAKG,YAAYF,GACjBD,EAAKG,YAAYC,GAEjBJ,EAAKG,YAAYI,GAEjB,IAAIC,EAAmB,IAAItI,MAC3BsI,EAAiBpI,IAAjB,uCACAoI,EAAiB/0B,UAAY,uBAC7Bu0B,EAAKG,YAAYK,GAEjB,IAAIp2B,EAAQqC,KAAKikB,OAAOiP,GAEpBc,EAAQ11B,SAASg1B,cAAc,OACnCU,EAAMh1B,UAAY,eAClBg1B,EAAMH,UAAY,IAClBG,EAAMC,QAAU,WACdx1B,aAAad,GACbu1B,EAAOjP,UAGTiP,EAAOgB,YAAc,WACnBz1B,aAAad,IAGfu1B,EAAOiB,WAAa,WAClBx2B,EAAQ,EAAKsmB,OAAOiP,IAGtBK,EAAKG,YAAYM,GACjBd,EAAOQ,YAAYH,GACnBvzB,KAAKizB,MAAMS,YAAYR,K,oBAGzB,SAAOjQ,GACL,OAAO5kB,YAAW,WAChB4kB,EAAGgB,WACF,O,uBAGL,SAAUxgB,GACR,IAAIwW,EAASjW,KAAKkW,MAAMzW,EAAM2F,SAC1B+H,MAAMC,QAAQ6I,KAChBA,EAASA,EAAO,IAEdA,EAAOE,kBAAoBF,EAAOE,iBAAiB,GAAGpV,SAAS,cACjE/E,KAAKo0B,aAAL,oDAAuE,SAAU,KAGnFna,EAASA,EAAOtS,OAAOC,KAAKqS,GAAQ,IAChC9I,MAAMC,QAAQ6I,EAAO,MACvBA,EAASA,EAAO,GAAG,IAErBja,KAAKo0B,aAAL,iBAA4Bna,GAAU,SAAU,S,KAIvCoa,GAAgB,IAAIrB,G,OCnF1B,SAASsB,GAAkB52B,GAChC,IAAM4rB,EAAMJ,iBAAuB,MACnC,EAA8BtrB,oBAAkB,GAAhD,mBAAOQ,EAAP,KAAgBW,EAAhB,KACA,EAA8CnB,mBAAc,IAA5D,mBAAO22B,EAAP,KAAwBC,EAAxB,KAEgBC,EACZz2B,aAAY,SAACC,GAAD,OAAwBA,EAAMyH,SAD5CxB,KAAQE,KAEJuK,EAAWmc,cACjB3sB,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,GAAoB,OAI9D3wB,qBAAU,WACRq2B,EAAmB92B,EAAMqO,OAAOgG,IAAI3N,QACnC,CAAC1G,EAAMqO,OAAOgG,IAAI3N,OAErB,IAAM0qB,EAAqB,SAArBA,EAAsBvI,GACtB+C,EAAIpB,UAAYoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,UAC7C1qB,GAAW,GACXT,SAASI,oBAAoB,QAASowB,GAAoB,KAuDxD4F,EAAqB,WAezB,OAdiB/sB,OAAOC,KAAK2L,IAAYnT,QAAO,SAACgE,GAG/C,IAFA,IAAMuwB,EAAgBjhB,SAAStP,GAC3Bwb,EAAiC,GACrC,MAA2BjY,OAAOitB,QAAQrhB,IAA1C,eAAuD,CAAlD,0BAAO3U,EAAP,KAAY4E,EAAZ,KACHoc,EAAG,6BAAQA,GAAR,mBAAcpc,EAAQkQ,SAAS9U,KAEpC,OAAI2U,GAAWohB,KAAWJ,IAGZ,KAAVI,GAGGA,EAAQF,MAED1uB,KAAI,SAAC3B,EAAcuE,GACjC,IAAMgsB,EAAQjhB,SAAStP,GACvB,OACE,oBAAgBnF,QAAS,kBArEd,SAACmF,GAChBrF,GAAW,GACPw1B,IAAoBhhB,GAAW,IAEjC5E,EACE0D,GAAsB,CACpBjJ,QACE,sBAAKpK,UAAU,aAAf,UACE,gCAAK,YACOu1B,EAAgB,YAAUhhB,GAAWnP,GAAM,SAAM,+BAAM,WAAa,4CAGhF,gCAAK,cAAYmP,GAAWnP,GAAM,6CAGtChG,SAAS,EACTy2B,SAAS,GAAD,OAAKrzB,GAAMD,KAAX,OAAuC7D,EAAMqO,OAAOgG,IAAIzR,GAAxD,KACRuD,KAAM,CACJO,KAAMA,GAER0wB,eAAgB,iCAChBC,SAAU,WACRP,EAAmBjhB,GAAWnP,IAC9BuK,EAAST,UAKf7H,GAAQ8C,QAAR,UACK3H,GAAMD,KADX,OACuC7D,EAAMqO,OAAOgG,IAAIzR,GADxD,KAEE,CACE8D,KAAMA,GAER,SACA2D,WACA,WACEysB,EAAmBjhB,GAAWnP,IAC9BuK,EAAST,SAEX,SAAAzK,GACE4wB,GAActa,UAAUtW,MA6BKunB,CAAStX,SAAStP,KAAjD,SACGmP,GAAWohB,IADLhsB,OAOf,OACE,sBAAK3J,UAAU,4BAAf,UACE,6BAAKu1B,IACL,sBAAKv1B,UAAS,4BAjCF,WAAgB,IAAD,EACvB8U,EAAQ4gB,IACd,OAAO,UAAAh3B,EAAMqO,OAAOgG,IAAI/D,eAAjB,eAA0BgnB,cAAelhB,EAAM3N,OA+Bf8uB,GAAY,GAAK,YAAc3L,IAAKA,EAAzE,UACE,yBAAQtqB,UAAWZ,EAAU,UAAY,GAAIa,QAAS,kBAAMF,GAAYX,IAAxE,UAAkF,cACrE,cAAC,GAAD,OAEb,oBAAIY,UAAWZ,EAAU,UAAY,GAArC,SAA0Cs2B,Y,OCrH3C,SAASQ,GAAUx3B,GACxB,IAAMiR,EAAWmc,cACT5mB,EAASlG,aAAY,SAACC,GAAD,OAAwBA,EAAMyH,SAAnDxB,KAmBFixB,EAA6B,WACjC,OAAQz3B,EAAMwjB,OAAO7Q,KACnB,IAAK,eACH,MAAO,wEACT,IAAK,eACH,MAAO,yDACT,QACE,MAAO,qDAWb,OACE,qBAAKrR,UAAU,YAAf,SACE,qBACEA,UAVmB,WAAgB,IAAD,IACtC,OAAIkF,EAAKnB,QAAUrF,EAAMqO,OAAOgG,IAAIhP,OAAS,UAACrF,EAAMqO,OAAOgG,WAAd,iBAAC,EAAkB/D,eAAnB,QAAC,EAA2BonB,aAS1DC,GAAqB,WAAa,GAC7C3J,IAAI,cACJC,IAAI,2BACJ1sB,QAzCU,WACd,IAAMqB,EAAK5C,EAAMqO,OAAOzL,GAClBqI,EAAQjL,EAAMqO,OAAOupB,IAAIC,YAAYj1B,GACrCsxB,EAAWl0B,EAAMwjB,OAAO0Q,SACxBvhB,EAAM3S,EAAMwjB,OAAO7Q,IAEzB1B,EACEyD,GAAsB,CACpBwf,SAAUA,EACVvhB,IAAKA,EACL1H,MAAOA,EACP6sB,IAAK,CAACl1B,GACN8I,QAAS+rB,YChBV,SAASM,GAAe/3B,GAC7B,MAAoCM,aAAY,SAACC,GAAD,OAAwBA,EAAM+W,UAAtEN,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,QAElBhG,EAAWmc,cAkCjB,OACE,qBAAK9rB,UAAU,YAAf,SAbgB,WAChB,IAAMqR,EAAM3S,EAAMwjB,OAAO7Q,IACzB,OACEqE,GACQ,YAARrE,GACCsE,EAAQ,GAAGnR,QAAU9F,EAAMqO,OAAOgG,IAAIvO,OAASmR,EAAQ,GAAGnR,QAAU9F,EAAMqO,OAAOgG,IAAIvO,MASrFkyB,IAAe,qBAAKhK,IAAI,cAAcC,IAAI,2BAA2B1sB,QAlC1D,WACd,IAAMqB,EAAK5C,EAAMqO,OAAOzL,GACxBjC,YAAW,WACT,OAAQX,EAAMwjB,OAAO7Q,KACnB,IAAK,UACH1B,EAASkI,GAAavW,IACtB,MACF,IAAK,QACHqO,EAASqI,GAAY1W,IACrB,MACF,IAAK,cACHqO,EAASoI,GAASzW,IAClB,MACF,IAAK,cACHqO,EAAS6H,GAAgBlW,OAG5B,U,4CC3BA,SAASq1B,KACd,OACE,sBAAKr2B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBAAMC,EAAE,qBAAqBC,OAAO,UAAUC,cAAc,UAC5D,sBACEonB,SAAS,UACTC,SAAS,UACTvnB,EAAE,6lBACFF,KAAK,oBCRN,SAASm2B,GAAT,GAAoD,IACrDx2B,EADoD,EAA/BC,OACJ,UAAY,UAEjC,OACE,sBAAKC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEC,EAAE,+IACFF,KAAML,IAER,sBACEO,EAAE,+IACFF,KAAML,IAER,sBACEO,EAAE,wJACFF,KAAML,OCKd,IAAMy2B,GAAW,CACf,CAAEv1B,GAAI,OAAQ+K,MAAO,OAAQugB,KAAM,cAAC+J,GAAD,KACnC,CAAEr1B,GAAI,SAAU+K,MAAO,SAAUugB,KAAM,qBAAKF,IAAI,sBAAsBC,IAAI,+BAiG7DmK,GA9FiC,SAAC,GAA0D,IAAxDC,EAAuD,EAAvDA,QAASC,EAA8C,EAA9CA,YAAal1B,EAAiC,EAAjCA,KAAM2I,EAA2B,EAA3BA,OAA2B,IAAnBwsB,eAAmB,MAAT,GAAS,EACxG,EAAgCr4B,mBAA6B,MAA7D,mBAAOoqB,EAAP,KAAiBkO,EAAjB,KACMvnB,EAAWmc,cAEXqL,EAAqB,WACzB,IACE,IAAMC,EAAa93B,SAChB4kB,uBAAuB,+BAA+B,GACtDA,uBAAuB,6BAA6B,GACpDA,uBAAuB,eAC1B,GAAMkT,EAAWjwB,OACf,IAAK,IAAI+X,EAAI,EAAGA,EAAIkY,EAAWjwB,OAAQ+X,IACrCkY,EAAWlY,GAAG8F,UAAUC,OAAO,eAGnC,IAAMoS,EAAc/3B,SACjB4kB,uBAAuB,+BAA+B,GACtDA,uBAAuB,yCAAyC,GAChEA,uBAAuB,eAC1B,GAAMmT,EAAYlwB,OAChB,IAAK,IAAI+X,EAAI,EAAGA,EAAImY,EAAYlwB,OAAQ+X,IACtCmY,EAAYnY,GAAG8F,UAAUC,OAAO,eAGpC,MAAOxgB,GACP6yB,QAAQC,IAAI9yB,KAiBV+yB,EAAoB,SAACprB,GAAD,OAAiB,SAACmb,GAC1C2P,EAAY,MACZ3P,EAAMgM,kBACNyD,EAAYD,EAAS3qB,EAAQtK,EAAMylB,KAGrC,OACE,eAACkQ,GAAA,EAAD,CAAMtuB,MAAI,EAACuuB,UAAU,SAASC,GAAI,CAAEC,UAAW,OAAS53B,UAAWqqB,KAAW4M,EAAS,iBAAvF,UACE,qBACEh3B,QAvBkB,SAACsnB,GACvB2P,EAAY3P,EAAMsQ,eAClBV,IACAxnB,EAAS4D,IAAmB,IAC5BgU,EAAMgM,mBAoBFvzB,UAAU,YACV,wCAAgC+2B,EAAQz1B,GAAKy1B,EAAQz1B,GAAK,IAH5D,SAKE,cAACs1B,GAAD,CAAUv2B,QAAQ,MAGpB,cAACy3B,GAAA,EAAD,CACE9O,SAAUA,EACVD,KAAMgP,QAAQ/O,GACdqD,QA1BkB,SAAC9E,GACvB2P,EAAY,MACZC,IACAxnB,EAAS4D,IAAmB,KAwBxBykB,WAAY,CACVnQ,MAAO,CACLvnB,MAAO,MANb,SAUGu2B,GAAS9vB,KAAI,SAACqF,EAAQzC,GACrB,IAAMsuB,IACFxtB,IACc,SAAd2B,EAAO9K,MAAiB,OAACmJ,QAAD,IAACA,KAAQurB,cAA+B,WAAd5pB,EAAO9K,MAAmB,OAACmJ,QAAD,IAACA,KAAQ2rB,eAEzF,OACE,gCACE,eAACvM,GAAA,EAAD,CAEE1lB,SAAU8zB,EACVN,GAAkB,WAAdvrB,EAAO9K,GAAkB,CAAElB,MAAO,WAAc,GACpDH,QAASu3B,EAAkBprB,GAC3B,wCAAgCA,EAAO9K,IALzC,UAOE,cAAC42B,GAAA,EAAD,UAAe9rB,EAAOwgB,OACrBxgB,EAAOC,QAPHD,EAAO9K,IASH,IAAVqI,GAAe,cAACwuB,GAAA,EAAD,MAXRxuB,Y,OC5Ef,SAASyuB,GAAqB15B,GACnC,IAAM4rB,EAAMJ,iBAAuB,MAEnC,EAAoBtrB,mBAAiBF,EAAM4C,IAA3C,mBAAOA,EAAP,KAAW+2B,EAAX,KACM1oB,EAAWmc,cAEXgE,EAAqB,SAArBA,EAAsBvI,GACtB+C,EAAIpB,UAAYoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,SAE7CnrB,SAASI,oBAAoB,QAASowB,GAAoB,IAI9D3wB,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,GAAoB,OAI9D3wB,qBAAU,WACMwH,GAAOC,gBAAgB,WACvBlI,EAAMqU,IAAI5E,OACtBxH,GAAOid,mBAAmB,SAC1ByU,EAAM/2B,GACNqO,EAASsI,IAAkB,IAC3BqgB,OAGD,IAEH,IAgBMA,EAAc,WAClBjxB,GAAQe,QAAQ5F,GAAMD,KAAqBwG,WAAU,SAACwvB,GACpDlxB,GAAQe,QAAR,UAAmB5F,GAAMD,KAAzB,OAA6C7D,EAAM4C,KAAMyH,WAAU,SAAChB,GAAmB,IAAD,UACpF,UAAAA,EAAS+N,aAAT,SAAgBhN,SAAQ,SAAC0vB,GACvB7oB,EAAS2H,GAAS,CAAExB,MAAO0iB,EAAEh0B,MAAO1C,KAAM02B,EAAE12B,WAE9C,UAAAiG,EAAS4N,eAAT,SAAkB7M,SAAQ,SAACnI,GACzBgP,EAASuH,GAAU,CAAE1S,MAAO7D,QAE9B,UAAAoH,EAAS0wB,mBAAT,SAAsB3vB,SAAQ,SAACsO,GAC7BzH,EAASwH,GAAM,CAAE3S,MAAO4S,QAE1B,UAAArP,EAAS2wB,mBAAT,SAAsB5vB,SAAQ,SAAC2O,GAC7B9H,EAAS4H,GAAa,CAAE/S,MAAOiT,QAEjC,UAAA1P,EAASgO,gBAAT,SAAmBjN,SAAQ,SAAC8O,GAC1B,IAAM+gB,EAAkBJ,EAAiBK,MAAK,SAACC,GAAD,OAAkBA,EAAQxsB,QAAUuL,KAClFjI,EAAS+H,GAAcihB,EAAgBn0B,WAEzCmL,EAASmH,GAAS/O,EAASoG,OAC3BwB,EAASoH,IAAY,IACrBpH,EAASgH,GAAcjY,EAAMqU,IAAIrU,EAAMsU,cACvCrD,EAASkH,IAAY,WAgB3B,IAP2B,WAAgB,IAAD,IACxC,SAAI,UAAAnY,EAAMqU,IAAI/D,eAAV,SAAmBonB,cAAnB,UAAmC13B,EAAMqU,IAAI/D,eAA7C,OAAmC,EAAmBgnB,aAMvD8C,GACH,OAAO,KAaT,OACE,qBAAK94B,UAAU,uBAAuBsqB,IAAKA,EAA3C,SACE,cAAC,GAAD,CAAeyM,QAASr4B,EAAMqU,IAAKikB,YAZT,SAACD,EAAc3qB,EAAatK,EAAcylB,GACtEA,EAAMgM,kBACY,WAAdnnB,EAAO9K,IA5DS,WACpB,IAAMA,EAAK5C,EAAM4C,GACXqI,EAAQjL,EAAM43B,IAAIC,YAAYj1B,GAIpCqO,EACEyD,GAAsB,CACpBwf,SAAU,SACVjpB,MAAOA,EACP6sB,IAAK,CAACl1B,GACN8I,QAAS,uDAkDX2uB,GAEgB,SAAd3sB,EAAO9K,IACTg3B,KAMuEx2B,KAAK,SAAS2I,OAAQ/L,EAAMqU,IAAI/D,Y,WCxHvGgqB,GAAiB,CACrB,iBACA,0BACA,iBACA,mBACA,qBACA,iBACA,oBAGK,SAASC,GAAuBv6B,GAKrC,OAAIs6B,GAAevmB,QAAQ/T,EAAM6T,OAAS,EACjC,cAACif,GAAD,gBAAmB9yB,IAI1B,cAACgsB,GAAD,CACEpD,GAAE,6BAAwB5oB,EAAMwjB,OAAO7Q,IAArC,YAA4C3S,EAAMqU,IAAIygB,MAAtD,0BAA6E0F,UAT1El0B,KAAKC,UAAU,CAAEk0B,aAAcH,GAAevmB,QAAQ/T,EAAM6T,OAAO4O,eAUxEjZ,KAAM,cAACspB,GAAD,gBAAmB9yB,M,OCvBxB,SAAS06B,GAA4B16B,GAG1C,IAAMy0B,EAAY,SAACxpB,GACjB,GAAIjL,EAAM8F,MAAM2C,OAAS,IAAMwC,EAC7B,OAAO,qBAAK3J,UAAU,0BAI1B,OACE,oBAAIA,UAAU,8BAA8B6nB,MAAO,CAAEqL,SAAUx0B,EAAMw0B,UAArE,SACGx0B,EAAM8F,OACL9F,EAAM8F,MAAMuC,KAAI,SAACoC,EAAcQ,GAAf,OACd,+BACE,cAAC+gB,GAAD,CACEpD,GAAE,4CAAuC5oB,EAAMqU,IAAIsmB,KAAjD,wBAAqEH,UAAU/vB,IACjFjB,KAAMiB,IAEPgqB,EAAUxpB,KALJA,Q,OCLZ,SAAS2vB,GAA2B56B,GAAa,IAAD,EAC/C4rB,EAAMJ,iBAAuB,MACnC,EAAkCtrB,oBAAkB,GAApD,mBAAO26B,EAAP,KAAkBC,EAAlB,KACA,EAAgC56B,mBAAmB,IAAnD,mBAAO0F,EAAP,KAAiBm1B,EAAjB,KACA,EAAwB76B,mBAAa,IAArC,mBAAOiG,EAAP,KAAasF,EAAb,KACA,EAAsCvL,mBAAiB,IAAvD,mBAAO86B,EAAP,KAAoBC,EAApB,KACA,EAA8B/6B,oBAAkB,GAAhD,mBAAOwR,EAAP,KAAgBwb,EAAhB,KACQ5V,EAAWhX,aAAY,SAACC,GAAD,OAAgBA,EAAM+W,UAA7CA,OACFrG,EAAWmc,cAEXgE,EAAqB,SAArBA,EAAsBvI,GACtB+C,EAAIpB,UAAYoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,UAC7C+O,GAAa,GACbl6B,SAASI,oBAAoB,QAASowB,GAAoB,KAI9D3wB,qBAAU,WAIR,OAHAE,YAAW,WACTsQ,EAASlB,IAAuB8qB,MAC/B,KACI,WACLl6B,YAAW,WACTsQ,EAASlB,IAAsB,MAC9B,QAEJ,CAAC8qB,EAAW5pB,IAEfxQ,qBAAU,WACRgL,EAAQ6L,KACP,CAACA,IAEJ7W,qBAAU,WACJT,EAAMqU,KAAO,CAAC,QAAS,SAAShN,SAASrH,EAAMqU,IAAI3N,KAAKvF,gBAC1D45B,EAAY,MAEb,CAAC/6B,EAAMqU,MAEV5T,qBAAU,WACHT,EAAMqU,KAAQrU,EAAM43B,IAAIC,YAAY73B,EAAM4C,KAC7CqO,EAASjR,EAAMk7B,uBAGhB,IAEHz6B,qBAAU,WACR,GAAIT,EAAMqU,IACR,GAAIrU,EAAMqU,IAAI8B,oBAAiE,kBAApCnW,EAAMqU,IAAI8B,mBAAmB,GAAiB,CACvF,IAAMqR,EAAMxnB,EAAMqU,IAAI8B,mBAAmB9N,KAAI,SAAC8yB,GAC5C,OAAO7jB,EAAO5U,QAAO,SAAC04B,GAAD,OAAYD,IAAaC,EAAEx4B,MAAI,GAAG6M,QAEzDsrB,EAAYvT,QAEZuT,EAAY/6B,EAAMqU,IAAI8B,sBAIzB,CAACnW,EAAMqU,MAEV5T,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,GAAoB,OAI9D,IAAMiK,EAAY,uCAAG,WAAO5wB,GAAP,iBAAAmG,EAAA,yDACf0qB,EADe,aACJ11B,GACXA,EAASyB,SAASoD,IACpB6wB,EAAKxnB,OAAOwnB,EAAKvnB,QAAQtJ,GAAO,GAChCswB,EAAYO,KAEZA,EAAI,CAAI7wB,GAAJ,oBAAa6wB,IACjBP,EAAY,GAAD,oBAAKn1B,GAAL,CAAe6E,MAEtB2L,EAAQmlB,EAAYD,IACtBt7B,EAAMw7B,kBAVS,gCAWXvqB,EACJjR,EAAMw7B,kBAAkB,CACtBplB,MAAOA,EACP/B,IAAKrU,EAAMqU,IACXgC,OAAQrW,EAAM43B,OAfD,6BAmBjB53B,EAAMstB,SAASlX,GAnBE,2CAAH,sDAuBZmlB,EAAc,SAACE,GACnB,IAAMjU,EAAgB,GAMtB,OALArhB,EAAKiE,SAAQ,SAACiK,GACRonB,EAAcp0B,SAASgN,EAAI5E,OAC7B+X,EAAI7T,KAAKU,EAAIzR,OAGV4kB,GA4CHkU,EAAO,uCAAG,sBAAA9qB,EAAA,yDACdmqB,EAAY,KACR/6B,EAAMw7B,kBAFI,gCAGNvqB,EACJjR,EAAMw7B,kBAAkB,CACtBplB,MAAO,GACP/B,IAAKrU,EAAMqU,IACXgC,OAAQrW,EAAM43B,OAPN,6BAWZ53B,EAAMstB,SAAS,IAXH,2CAAH,qDAeb,OACE,sBACEhsB,UAAWqqB,KAAW,8BAAD,mCACV3rB,EAAMqU,KAAOrU,EAAMqU,IAAI3N,KAAKvF,eAAkBnB,EAAMqU,KAD1C,0BAETrU,EAAMyF,UAFG,IAIrBmmB,IAAKA,EALP,UAOE,yBAAQrqB,QAhEU,WAChB4E,EAAKsC,QACPqyB,GAAcD,IA8DkBv5B,UAAWqqB,KAAW,CAAE/lB,WAAYA,EAAU+1B,OAAQx1B,EAAKsC,SAA3F,UACE,sBAAM7F,GAAG,kBAAT,SAA4BgD,EAAS6C,OAhCd,WAC3B,IAAMmzB,EAAiBh2B,EAASge,KAAK,MACrC,OAAIgY,EAAenzB,OAASzI,EAAM67B,kBACzBD,EAAelZ,UAAU,EAAG1iB,EAAM67B,kBAAoB,GAAK,MAE7DD,EA2B2CE,GAAyB97B,EAAMquB,aAAmB,IAChG,cAAC,GAAD,CAAWoB,aAAcoL,OAE3B,sBAAKv5B,UAAWqqB,KAAW,CAAEjrB,QAASm6B,IAAtC,UACGnpB,GAAW,cAACgY,GAAD,IACZ,sBAAKpoB,UAAU,SAAf,UACE,qBAAK0sB,IAAI,SAASC,IAAG,8BACrB,uBACE7qB,KAAK,OACL0C,MAAOk1B,EACP1N,SAAU,SAAArsB,GAAC,OAAIg6B,EAAeh6B,EAAE8qB,OAAOjmB,QACvCwpB,UArDa,SAACruB,GACR,UAAVA,EAAEC,MACJgsB,GAAW,GACXvkB,GAAQe,QAAQ1J,EAAM+7B,WAAaf,GAAa3wB,WAAU,SAAChB,GACzDoC,EAAQpC,EAAS6L,SACjBgY,GAAW,aAmDX,sBAAK5rB,UAAU,mBAAf,UACE,oBAAI6nB,MAAO,CAAEtnB,OAAQ,OAAQm6B,SAAU,QAAvC,SAAkD71B,EAAKsC,SAzExDtC,EAAKsC,OAGA,aAAOtC,GAEdoN,MAAK,SAAC3C,EAAGwW,GAAJ,OAAUnf,GAAOkf,mBAAmBvW,EAAGwW,EAAG,WAC/C/e,KAAI,SAACoC,GACJ,OACE,qBAAgClJ,QAAS,kBAAM85B,EAAa5wB,EAAKzK,EAAMi8B,aAAvE,UACE,cAAC,GAAD,CAAUt6B,OAAQiE,EAASyB,SAASoD,EAAKzK,EAAMi8B,cAC9CxxB,EAAKzK,EAAMi8B,aAFLxxB,EAAKzK,EAAMi8B,eAPjB,MAyEH,sBAAK36B,UAAWqqB,KAAW,QAAS,CAAEhqB,OAAQiE,EAAS6C,SAAWlH,QAASm6B,EAA3E,UAAoF,kBAElF,+BAAM,kB,qBCjMZQ,GAAY,CAChB,CAAEp2B,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,mBAAiB5E,IAAK,MAC/B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,iBAAkB5E,IAAK,MAChC,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,sBAAuB5E,IAAK,MACrC,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,yBAA0B5E,IAAK,MACxC,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,gBAAiB5E,IAAK,MAC/B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,oBAAqB5E,IAAK,MACnC,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,eAAgB5E,IAAK,MAC9B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,iBAAkB5E,IAAK,MAChC,CAAE4E,MAAO,2BAA4B5E,IAAK,MAC1C,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,mBAAoB5E,IAAK,MAClC,CAAE4E,MAAO,0BAA2B5E,IAAK,MACzC,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,eAAgB5E,IAAK,MAC9B,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,gBAAiB5E,IAAK,MAC/B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,iBAAkB5E,IAAK,MAChC,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,qBAAsB5E,IAAK,MACpC,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,oBAAqB5E,IAAK,MACnC,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,gBAAiB5E,IAAK,MAC/B,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,gBAAiB5E,IAAK,MAC/B,CAAE4E,MAAO,mBAAoB5E,IAAK,MAClC,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,gBAAiB5E,IAAK,MAC/B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,yBAA0B5E,IAAK,MACxC,CAAE4E,MAAO,gBAAiB5E,IAAK,MAC/B,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,mBAAoB5E,IAAK,MAClC,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,uBAAwB5E,IAAK,MACtC,CAAE4E,MAAO,gBAAiB5E,IAAK,MAC/B,CAAE4E,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,iBAAkB5E,IAAK,MAChC,CAAE4E,MAAO,2BAA4B5E,IAAK,MAC1C,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,mBAAoB5E,IAAK,MAClC,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,qBAAsB5E,IAAK,MACpC,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,wBAAyB5E,IAAK,MACvC,CAAE4E,MAAO,eAAgB5E,IAAK,MAC9B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,wBAAyB5E,IAAK,MACvC,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,eAAgB5E,IAAK,MAC9B,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,kBAAmB5E,IAAK,MACjC,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,eAAgB5E,IAAK,MAC9B,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,yBAA0B5E,IAAK,MACxC,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,uBAAwB5E,IAAK,MACtC,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,cAAe5E,IAAK,MAC7B,CAAE4E,MAAO,OAAQ5E,IAAK,MACtB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,sBAAuB5E,IAAK,MACrC,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,eAAgB5E,IAAK,MAC9B,CAAE4E,MAAO,2BAA4B5E,IAAK,MAC1C,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,uBAAwB5E,IAAK,MACtC,CAAE4E,MAAO,iBAAkB5E,IAAK,MAChC,CAAE4E,MAAO,gBAAiB5E,IAAK,MAC/B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,aAAc5E,IAAK,MAC5B,CAAE4E,MAAO,UAAW5E,IAAK,MACzB,CAAE4E,MAAO,YAAa5E,IAAK,MAC3B,CAAE4E,MAAO,WAAY5E,IAAK,MAC1B,CAAE4E,MAAO,0BAA2B5E,IAAK,MACzC,CAAE4E,MAAO,uBAAwB5E,IAAK,MACtC,CAAE4E,MAAO,oBAAqB5E,IAAK,MACnC,CAAE4E,MAAO,iBAAkB5E,IAAK,MAChC,CAAE4E,MAAO,QAAS5E,IAAK,MACvB,CAAE4E,MAAO,SAAU5E,IAAK,MACxB,CAAE4E,MAAO,WAAY5E,IAAK,OAefi7B,GARe,WAC1B,IAAMC,EAAiB,GAIvB,OAHAF,GAAU9xB,SAAQ,SAACiyB,GACjBD,EAAKC,EAAQn7B,KAAOm7B,EAAQv2B,SAEvBs2B,EAGmBE,GAEbJ,MClPR,SAASK,GAAKv8B,GACnB,IAAKA,EAAM8F,MACT,OAAO,KAGT,IAAM02B,EAAcL,GAAan8B,EAAM8F,MAAMic,eAE7C,OACE,sBAAKzgB,UAAU,OAAO,WAAUk7B,EAAhC,UACE,iCACE,cAAC,KAAD,CAAkBC,KAAG,EAACC,YAAa18B,EAAM8F,MAAOqjB,MAAO,CAAEvnB,MAAO,SAAUC,OAAQ,YACjF7B,EAAM28B,aAAe,sBAAMr7B,UAAU,QAAhB,SAAyBk7B,OAEjD,cAAC1K,GAAD,CAASG,MAAM,OAAOE,MAAM,Y,mBCf3B,SAASyK,GAAS58B,GAWvB,OACE,qBAAKsB,UAAU,WAAf,SACGtB,EAAMqU,KAAOrU,EAAMqU,IAAIwoB,iBACtB,qBAAKt7B,QAbS,WAClB,IAAMu7B,EAAa98B,EAAMqU,IAAIzR,GACvBm6B,EAAgB/8B,EAAMqU,IAAI2oB,SAChCr0B,GAAQe,QAAR,0CAAmDqzB,EAAnD,uBAA+ED,EAA/E,eAAuGzyB,WACrG,SAAChB,GACCxC,OAAOwjB,KAAKhhB,EAAShF,UAQM4pB,IAAI,mCAAmCD,IAAI,e,cCEvE,SAAStF,GAAO1oB,GACrB,IAAMi9B,EAAcj9B,EAAMk9B,WAAa,CAAE,cAAel9B,EAAMk9B,YAAe,GAC7E,OACE,mDACE95B,KAAMpD,EAAMoD,KACZ9B,UAAWqqB,KAAW,SAAU3rB,EAAMsB,UAAjB,eAAoCtB,EAAM2lB,MAAQ3lB,EAAMm9B,YAAa,CACxFzrB,QAAS1R,EAAM0R,UAEjBnQ,QAASvB,EAAMuB,QACfkE,SAAUzF,EAAMyF,UACZw3B,GAPN,cASGj9B,EAAM0R,SAAW,cAACgY,GAAD,IACjB1pB,EAAMkuB,MAAQ,qBAAKD,IAAG,yBAAoBjuB,EAAMkuB,KAA1B,QAAsCF,IAAI,SAChEhuB,EAAMwJ,KACNxJ,EAAMo9B,SAAW,cAAC,GAAD,IAAgB,OClBjC,SAASC,GAAer9B,GAC7B,MAA0BE,mBAAiBF,EAAMqO,OAAOvI,OAAxD,mBAAOA,EAAP,KAAcw3B,EAAd,KACA,EAA0Cp9B,mBAAiBF,EAAMqO,OAAOvI,OAAxE,mBAAOy3B,EAAP,KAAsBC,EAAtB,KACA,EAAgCt9B,oBAAkB,GAAlD,mBAAO6W,EAAP,KAAiBsB,EAAjB,KACA,EAA8BnY,oBAAkB,GAAhD,mBAAOwR,EAAP,KAAgBwb,EAAhB,KACQ1mB,EAASlG,aAAY,SAACC,GAAD,OAAwBA,EAAMyH,SAAnDxB,KACFolB,EAAMJ,iBAAyB,MA6CrC,OAAI9Z,EAEA,qBAAKpQ,UAAU,yBAAf,SACE,cAACooB,GAAD,MAKAxjB,GAA4BM,IAASA,EAAKE,KAAOoP,GAAmB9V,EAAMqO,OAAOgG,IAAI3N,MAKzF,sBAAKpF,UAAU,iBAAf,UACE,qBAAKC,QAAS,kBAAM8W,GAAY,IAAhC,SACE,uBACE/W,UAAWyV,EAAW,YAAc,GACpC6U,IAAKA,EACL9lB,MAAOA,GAAS,GAChB6f,KAxEoB,GAyEpB2H,SAAU,SAAArsB,GAAC,OA/DF,SAAC6E,GAChBw3B,EAASx3B,GA8DYwnB,CAASrsB,EAAE8qB,OAAOjmB,QACjCopB,UAAW,QAGdnY,EACC,sBAAKzV,UAAU,kBAAf,UACE,cAAC,GAAD,CAAQ8B,KAAK,SAAS8qB,KAAK,aAAavI,KAAK,OAAOnc,KAAK,GAAG2zB,YAAY,YAAY57B,QAzD3E,WACXuE,GAASA,EAAM2C,QACjBykB,GAAW,GACXvkB,GAAQ8C,QAAR,UACK3H,GAAMD,KADX,OACuC7D,EAAMqO,OAAOgG,IAAIzR,GADxD,KAEE,CAAE66B,OAAQ33B,GACV,SACAuE,WACA,WACEmzB,EAAiB13B,GACjBonB,GAAW,GACX7U,GAAY,GACZse,GAAcD,aAAd,4BAAwD,UAAW,OAErE,SAAA3wB,GACEmnB,GAAW,GACXoQ,EAASC,GACT5G,GAAcD,aAAd,wBAAoD,SAAU,SAIlEre,GAAY,GACZilB,EAASC,OAoCL,cAAC,GAAD,CAAQn6B,KAAK,SAAS8qB,KAAK,IAAIvI,KAAK,OAAOnc,KAAK,GAAG2zB,YAAY,YAAY57B,QAhClE,WACf8W,GAAY,GACZilB,EAASC,SAiCL,qBAAKtP,IAAI,+BAA+B1sB,QArE1B,WACdqqB,EAAIpB,UACNoB,EAAIpB,QAAQkT,SACZ9R,EAAIpB,QAAQmT,SAEdtlB,GAAY,IAgEsD2V,IAAI,YArB/D,qBAAK1sB,UAAU,iBAAf,SAAiCwE,ICnE5C,IAyBe83B,GAzB+B,SAAC,GAA6B,IAA3BC,EAA0B,EAA1BA,aAAclwB,EAAY,EAAZA,MAQ7D,OACE,eAACorB,GAAA,EAAD,CAAM+E,WAAS,EAACC,WAAW,SAAS,cAAY,yBAAhD,UACE,cAAChF,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAEp3B,OAAQ,IAAzB,SACE,qBACEosB,IAXkB,CACxB,EAAG,8CACH,EAAG,8CACH,EAAG,4CACH,EAAG,0CACH,EAAG,yCAM0B4P,GACvBv8B,UAAU,GACV0sB,IAAI,oBACJ,cAAY,yBAGhB,cAAC+K,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,IAA9B,SACE,cAAC,KAAD,UAAOrwB,UCvBTswB,I,OAAqB,SAACj+B,GAqB1B,OACE,gCACE,oBAAIsB,UAAU,qBAAd,WACKtB,EAAMmG,QACLnG,EAAMmG,KAAKsC,QACbzI,EAAMmG,KAAKkC,KAAI,SAACoC,EAAWQ,GAAmB,IAAD,EAC3C,OACE,6BACE,sBAAK3J,UAAU,YAAf,UACE,8BAAsB,kBAATmJ,EAAoBA,EAAOA,EAAKgF,OACb,YAA/B,UAAAhF,EAAK+Y,cAAL,eAAariB,eACZ,sBACE,WAAS,oBACT,WAAS,qBACTI,QAAS,SAACN,GAAD,OAlCZ,SAACi9B,EAAajzB,EAAe4d,GAAgB,IAAD,EACvDsV,EAAU,GAEd,OADY,UAAMn+B,EAAMwjB,OAAOzc,KAAnB,YAA2B/G,EAAMwjB,OAAO7Q,MAElD,IAAK,2BACHwrB,EAAU,6BACV,MACF,IAAK,mBACHA,EAAU,iCAEd,IAAMC,EAAY,aAAOp+B,EAAMmG,MAC/Bi4B,EAAatqB,OAAO7I,EAAO,GAC3BjL,EAAM43B,IAAIxjB,WAAW,sBAAIpU,EAAMsU,WAAatU,EAAM4C,IAA7B,sBAAuCw7B,GAAvC,KACrBC,KAAaC,OACb31B,GAAQ8C,QAAQ0yB,EAAS,CAAErG,IAAK,CAAC93B,EAAM4C,IAAK27B,KAAM,CAACL,IAAQ,UAAU7zB,WACnE,SAAChB,OACD,SAAAtD,OAkBqCy4B,CAAS/zB,EAAKgF,KAAMxE,IAH3C,SAKE,qBAAKgjB,IAAI,uBAAuBD,IAAI,aAGtC,OAZG/iB,QAmBjB,cAAC6mB,GAAD,CAASlvB,GAAG,qBAAqBuvB,MAAM,SAASF,MAAM,OAAOM,OAAO,eClDnE,SAASkM,GAAgBz+B,GAC9B,OACE,mBAAGiH,KAAI,oCAA+BjH,EAAMqO,OAAOgG,IAAI5E,MAAQsc,OAAO,SAASE,IAAI,aAAnF,SACE,cAAC,KAAD,CAAQziB,KAAK,QAAQpG,KAAK,SAAS+5B,YAAY,YAAYxX,KAAK,QAAQpkB,QAAS,iBC2CvF,IAAMm9B,GAAgB,CACpBC,KAAM,EACNryB,KAAM,EACNgE,QAAS,EACTsuB,YAAa,EACbC,eAAgB,EAChB37B,OAAQ,EACR8vB,MAAO,EACP5Q,OAAQ,EACR0c,OAAQ,EACRnxB,MAAO,EACPoxB,MAAO,EACPC,aAAc,EACdC,QAAS,EACTC,YAAa,EACbC,WAAY,EACZC,QAAS,GAGLC,GAAqB,CACzBC,gBAAiB,KAMbC,GAAiC,SAACC,GAEtC,GAA2B,IAAvBd,GAAMc,EAAOp8B,MAEf,OADaq8B,KAAcD,EAAO7xB,MAAO1F,GAAOmc,2BACpCxiB,MAAQ,GAGtB,IAAI6G,EAAS+2B,EAAO7xB,MAAMlF,OAC1B,OAAI42B,GAAWG,EAAOp8B,MACbi8B,GAAWG,EAAOp8B,MAEpBqF,EAAS,GAAK,IAAe,GAATA,GAMvBi3B,GAAqB,SAACF,GAC1B,IAAMG,EAAYjB,GAAMc,EAAOp8B,MAC/B,YAAkBqE,IAAdk4B,EACK,EAEFA,GAMHC,GAAa,SAACJ,GAClB,MAAO,CACL3rB,MAAO2rB,EAAO/vB,KACdowB,WAAYL,EAAO7xB,MACnBmyB,KAAMJ,GAAmBF,GACzBO,SAAUR,GAA+BC,GACzCQ,WAAYR,EAAOp8B,KACnBk7B,MAAOkB,EAAOrP,WACd8P,SAAUT,EAAOU,YACjBC,UAA2B,YAAhBX,EAAO/vB,OAQtB,SAAS2wB,GACP9rB,EACAkrB,EACAhc,EACA6c,EACAC,GAEA,GAAoB,eAAhB9c,EAAOzc,KAAuB,CAChC,GAAqB,qBAAjBy4B,EAAO3rB,MAIT,OAHA2rB,EAAOe,WAAa,SAAClyB,GAAD,OAClB,cAAC,GAAD,6BAAiCA,GAAjC,IAAyCmmB,SAAS,aAE7CgL,EAET,GAA0B,UAAtBA,EAAOQ,WAET,OADAR,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC,GAAD,6BAA4BA,GAA5B,IAAoCmV,OAAQA,MAC3Fgc,EAGX,GACE,CACE,OACA,OACA,QACA,mBACA,cACA,SACA,YACA,SACA,QACA,eACA,gBACA,kBACAn4B,SAASm4B,EAAO3rB,QACH,mBAAf2P,EAAO7Q,IAgBP,OAdA6sB,EAAOe,WAAa,SAAClyB,GACnB,MAAO,CAAC,mBAAoB,QAAS,kBAAkBhH,SAASm4B,EAAO3rB,OACrE,cAAC,GAAD,CACE1N,KAAMkI,EAAOvI,MACb+N,MAAO2rB,EAAO3rB,MACd2P,OAAQA,EACRlP,WAAYA,EACZkgB,SAAS,WAGX,cAAC,GAAD,CAAcnmB,OAAQA,EAAQmV,OAAQA,EAAQlP,WAAYA,KAIvDkrB,EAET,GAAqB,SAAjBA,EAAO3rB,MAET,OADA2rB,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC,GAAD,CAAmBA,OAAQA,GAAaA,EAAOzL,KAC9F48B,EAET,GAAqB,WAAjBA,EAAO3rB,MAET,OADA2rB,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC,GAAD,CAAgBA,OAAQA,GAAaA,EAAOzL,KAC3F48B,EAET,GAAqB,uBAAjBA,EAAO3rB,MAeT,OAdA2rB,EAAOe,WAAa,SAAClyB,GAAD,OAClB,cAAC,GAAD,cACE5I,SAAU,CAAC,QAAS,SAAS4B,SAASgH,EAAOgG,IAAI3N,KAAKvF,eAEtD0H,KAAI,UAAK/E,GAAMD,IAAX,mBACJk4B,WAAU,UAAKj4B,GAAMD,IAAX,mCACVo4B,UAAU,OACV5N,WAAW,OACXwN,kBAAmB,GACnBL,kBAAmBtlB,GACnBglB,kBAAmB3kB,IACflI,GARCA,EAAOzL,KAWT48B,EAET,GAAqB,YAAjBA,EAAO3rB,MAET,OADA2rB,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC,GAAD,gBAAUA,KACzDmxB,EAET,GAAqB,oBAAjBA,EAAO3rB,MAET,OADA2rB,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC,GAAD,gBAAcA,KAC7DmxB,EAET,OAAQA,EAAOQ,YACb,IAAK,oBAEH,OADAR,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAACowB,GAAD,CAAiBpwB,OAAQA,KACxEmxB,EACT,IAAK,UACH,GAAoB,aAAhBhc,EAAOzc,KAAqB,CAC9B,GAAI,CAAC,UAAW,cAAe,QAAS,eAAeM,SAASmc,EAAO7Q,KACrE6sB,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC0pB,GAAD,CAAgB1pB,OAAQA,EAAQmV,OAAQA,UACzF,GAAwB,WAApBA,EAAO0Q,SAChBsL,EAAOe,WAAa,SAAClyB,GAAD,OAClB,cAAC,GAAD,cAAsBiG,WAAYA,GAAgBjG,UAE/C,GAAoB,iBAAfmV,EAAO7Q,KAA8C,gBAApB6Q,EAAO0Q,WAAiCoM,EAOnFd,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC,GAAD,CAAWA,OAAQA,EAAQmV,OAAQA,SAPW,CAEpG,IAAMpgB,EAAsB,iBAAfogB,EAAO7Q,IAAyB,eAAiB,aAC9D6sB,EAAOe,WAAa,SAAClyB,GAAD,OAClB,cAAC,GAAD,CAAegqB,QAAShqB,EAAQiqB,YAAagI,EAAiBl9B,KAAMA,EAAM2I,OAAQsC,EAAOgG,IAAI/D,WAMjG,OAAOkvB,EAYP,OAVAA,EAAOe,WAAa,SAAClyB,GAAD,OAClB,qBACE/M,UAAU,UACVC,QAAS,WACP8+B,GAAMA,EAAG7c,EAAO0Q,SAAU7lB,IAH9B,SAKC,kBAIImxB,EAEX,IAAK,cAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAACgnB,GAAD,gBAAgBhnB,KAC/DmxB,EACT,IAAK,iBAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC8mB,GAAD,gBAAmB9mB,KAClEmxB,EACT,IAAK,SAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAACgjB,GAAD,gBAAwBhjB,KACvEmxB,EACT,IAAK,QAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAACykB,GAAD,gBAAmBzkB,KAClEmxB,EACT,IAAK,OAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAACqkB,GAAD,gBAAkBrkB,KACjEmxB,EACT,IAAK,UAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC6mB,GAAD,gBAAqB7mB,KACpEmxB,EACT,IAAK,QAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC,GAAD,gBAAkBA,KACjEmxB,EACT,IAAK,eACL,IAAK,eACL,IAAK,cAUH,OATAA,EAAOe,WAAa,SAAClyB,GAAD,OAClB,cAAC,GAAD,CACElI,KAAMkI,EAAOvI,MACb+N,MAAO2rB,EAAO3rB,MACd2P,OAAQA,EACRlP,WAAYA,EACZkgB,SAAS,YAGNgL,EACT,IAAK,mBAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC,GAAD,6BAAuBA,GAAvB,IAA+BmV,OAAQA,MACtFgc,EACT,IAAK,mBAQH,OAPAA,EAAOe,WAAa,SAAClyB,GAAkC,IAAD,IACpD,OAAO,UAAAA,EAAOvI,aAAP,SAAc06B,iBACnB,cAAC,KAAD,6BAAqBnyB,GAArB,IAA6BV,MAAK,UAAEU,EAAOvI,aAAT,aAAE,EAAc1C,KAAMuiB,KAAK,QAAQ8a,YAAU,KAE/E,yBAGGjB,EACT,IAAK,cACL,IAAK,OAIH,OAHAA,EAAOe,WAAa,SAAClyB,GAAD,OAClB,cAAC,GAAD,2BAAoBlI,KAAMkI,EAAOvI,OAAWuI,GAA5C,IAAoDmV,OAAQA,EAAQlP,WAAYA,MAE3EkrB,EACT,IAAK,UAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC0mB,GAAD,gBAAqB1mB,KACpEmxB,EACT,IAAK,OA2CL,QACE,OAAOA,EAlCT,IAAK,eAIH,OAHAA,EAAOe,WAAa,SAAClyB,GAAD,OAClB,cAAC,GAAD,CAAcwvB,aAAcxvB,EAAOvI,MAAM+3B,aAAclwB,MAAOU,EAAOvI,MAAM6H,SAEtE6xB,EACT,IAAK,OAIH,OAHAA,EAAOkB,YAAc,SAACryB,GACpB,OAAOpG,GAAOiG,cAAcG,EAAOvI,QAE9B05B,EACT,IAAK,WACL,IAAK,iBAIH,OAHAA,EAAOkB,YAAc,SAACryB,GACpB,OAAOpG,GAAO4W,gBAAgBxQ,EAAOvI,QAEhC05B,EACT,IAAK,UAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC4mB,GAAD,gBAAqB5mB,KACpEmxB,EACT,IAAK,UAEH,OADAA,EAAOe,WAAa,SAAClyB,GAAD,OAAkC,cAAC,GAAD,6BAAUA,GAAV,IAAkBsuB,aAAa,MAC9E6C,EACT,IAAK,aACL,IAAK,mBAIH,OAHAA,EAAOe,WAAa,SAAClyB,GACnB,OAAO,cAAC,KAAD,gBAAgBA,KAElBmxB,EACT,IAAK,wBAIH,OAHAA,EAAOe,WAAa,SAAClyB,GACnB,OAAOpG,GAAO2d,cAAcvX,EAAOvI,QAE9B05B,GAKN,IAAMmB,GAAgB,CAC3BpyB,OAAQ,GACRqyB,kBAAmB,GAKnBC,cAAe,SACbvsB,EACA6G,EACAqI,EACAsd,GAIA,IAAIC,EAAwB,GAoB5B,OAnBA5lB,EAAa/Q,SAAQ,SAAAo1B,GACnB,IACsB,KAAhBA,EAAO/vB,MAAgB+vB,EAAOwB,WAChCD,EAAQptB,KACNysB,GAAmB9rB,EAAYsrB,GAAWJ,GAAShc,EAAjC,OAAyCsd,QAAzC,IAAyCA,OAAzC,EAAyCA,EAAWT,GAApD,OAAwDS,QAAxD,IAAwDA,OAAxD,EAAwDA,EAAWR,kBAI7D,IAAxBd,EAAO1xB,MAAMrF,QACf+2B,EAAO1xB,MAAM1D,SAAQ,SAAA0D,GACnBizB,EAAQptB,KACNysB,GAAmB9rB,EAAYsrB,GAAW9xB,GAAQ0V,EAAhC,OAAwCsd,QAAxC,IAAwCA,OAAxC,EAAwCA,EAAWT,GAAnD,OAAuDS,QAAvD,IAAuDA,OAAvD,EAAuDA,EAAWR,qBAI1F,MAAOv6B,GACP,OAAOg7B,MAGJA,GAOTE,YAAa,SAAC5qB,EAAa0qB,EAAuBxyB,GAKhD,OAJAwyB,EAAQ32B,SAAQ,SAACo1B,IACuB,IAAlCjxB,EAAOwF,QAAQyrB,EAAO3rB,OAAe2rB,EAAOlB,MAAO,EAClDkB,EAAOlB,MAAO,KAEdjoB,EAAOmU,QAAQ0W,cAAcH,IAEtCI,oBAAqB,SAAC9qB,EAAa0qB,EAAuBK,GAKxD,OAJAL,EAAQ32B,SAAQ,SAACo1B,GACX4B,EAAc/5B,SAASm4B,EAAO3rB,SAAQ2rB,EAAOlB,MAAO,MAE1DqC,GAAcpyB,OAASwyB,EAAQr+B,QAAO,SAAA4F,GAAC,OAAKA,EAAEg2B,QAAMj2B,KAAI,SAAAC,GAAC,OAAIA,EAAEuL,SACxDwC,EAAOmU,QAAQ0W,cAAcH,IAEtCM,oBAAqB,SAAChrB,EAAa0qB,EAAuBO,GAOxD,OANAP,EAAQ32B,SAAQ,SAACo1B,GACX8B,EAAcj6B,SAASm4B,EAAO3rB,SAChC2rB,EAAOlB,MAAO,MAGlBqC,GAAcpyB,OAASwyB,EAAQr+B,QAAO,SAAA4F,GAAC,OAAKA,EAAEg2B,QAAMj2B,KAAI,SAAAC,GAAC,OAAIA,EAAEuL,SACxDwC,EAAOmU,QAAQ0W,cAAcH,IAItCQ,0BAnE2B,SAoEzBpmB,GAGW,IAFXqmB,EAEU,uDAFgB,KAC1BC,EACU,uDADY,GAElBlzB,EAAW,gBAAMizB,EAAkBA,GACvC,IACErmB,EAAa/Q,SAAQ,SAAAo1B,IACfA,EAAOrP,YAA8B,KAAhBqP,EAAO/vB,MAErBgyB,EAAUp6B,SAASm4B,EAAO/vB,SADnClB,EAAOixB,EAAO/vB,MAAQ+vB,EAAO/vB,MAI/B+vB,EAAO1xB,MAAM1D,SAAQ,SAAA0D,GACfA,EAAMqiB,aACR5hB,EAAOT,EAAM2B,MAAQ3B,EAAM2B,YAIjCkxB,GAAcpyB,OAAStE,OAAOC,KAAKqE,GACnC,MAAOxI,GACP,OAAOkE,OAAOC,KAAKqE,GAErB,OAAOtE,OAAOC,KAAKqE,IAKrBmzB,eA/F2B,SA+FZrrB,EAAasrB,GAC1B,GAAqB,IAAjBA,EAAMl5B,OACR,OAAO4N,EAAOmU,QAAQkX,eAAeC,EAAM,GAAG9tB,S,OC3a7C,SAAS+tB,GAAU5hC,GACxB,OACE,sBACEsB,UAAWqqB,KAAW,YAAa,CAAElmB,SAAUzF,EAAMyF,WACrDlE,QAAS,WACPvB,EAAM6hC,iBAAmB7hC,EAAM8hC,cAAgB9hC,EAAM+hC,aAHzD,UAME,cAAC,GAAD,CAAUpgC,OAAQ3B,EAAMgiC,gBAAiBjS,WAAY/vB,EAAM6hC,mBAC3D,+BAAQ7hC,EAAM6hC,iBAAkC,eAAf,kBCJhC,SAASI,GAAYjiC,GAC1B,IAAQmb,EAAiB7a,aAAY,SAACC,GAAD,OAAwBA,EAAM4a,gBAA3DA,aACR,EAAwBjb,mBAAS+H,GAAO8X,UAAU5E,IAAlD,mBAAOQ,EAAP,KAAaumB,EAAb,KACA,EAA0ChiC,mBAAmB,IAA7D,mBAAOiiC,EAAP,KAAsBC,EAAtB,KACA,EAAsCliC,mBAAiB,IAAvD,mBAAO86B,EAAP,KAAoBC,EAApB,KACA,EAA2DlK,IAAoB,GAAvEnF,EAAR,EAAQA,IAAKqF,EAAb,EAAaA,mBAAoBC,EAAjC,EAAiCA,sBAIjC,EAA4B5wB,aAAY,SAACC,GAAD,OAAgBA,EAAMuQ,QAAtDvC,EAAR,EAAQA,OAAQE,EAAhB,EAAgBA,QACVwC,EAAwBmc,cAE9B3sB,qBAAU,WACR,IAAM66B,EAAI,aAAO3f,GACbrN,EAAsB,GAC1BgtB,EAAKlxB,SAAQ,SAACK,GACR03B,EAAc15B,QAAU05B,EAAc96B,SAASoD,EAAKgF,OAGlDnB,EAAUjH,SAASoD,EAAKgF,MAF5BhF,EAAK0lB,YAAa,EAIP5hB,EAAOlH,SAASoD,EAAKgF,OAC9BhF,EAAK0lB,YAAa,EAClB1lB,EAAK43B,QAAQj4B,SAAQ,SAACk4B,GAChBA,EAAOC,WAAW95B,QAA0B,IAAhB65B,EAAO7yB,MAAc6yB,EAAOnS,aAC1D7hB,EAAYg0B,EAAOC,gBAGb93B,EAAKqD,MAAMrF,OAGrBgC,EAAKqD,MAAM1D,SAAQ,SAACo4B,GACdj0B,EAAOlH,SAASm7B,EAAU/yB,QAC5B+yB,EAAUrS,YAAa,MAJ3B1lB,EAAK0lB,YAAa,KAUxB+R,EAAQ5G,KAEP,CAAC/sB,EAAQE,EAAS0zB,IAqDrB,SAASxR,EAAWjjB,GAClB,IAAM+0B,EAAU9mB,EAAKtT,KAAI,SAACoC,GACxB,MAAoB,UAAhBiD,EAAOtK,MAAoBqH,EAAKkD,QAAUD,EAAOC,MAC5CD,EACEjD,EAAKkD,QAAUD,EAAOC,MACd,6BACZlD,GADY,IAEf0lB,WAAY1lB,EAAK0lB,cAInB1lB,EAAKqD,MAAM1D,SAAQ,SAACs4B,GAClB,GAAIA,EAAQ/0B,QAAUD,EAAOC,MAK3B,OAJiB,6BACZlD,GADY,IAEf0lB,WAAY1lB,EAAK0lB,gBAMlB1lB,MAGTy3B,EAAQO,GACR,IAAIl0B,EAASoyB,GAAcY,0BAA0BkB,EAASziC,EAAMsU,YACpE8tB,EAAiB7zB,GAGjBoyB,GAAcM,YAAYjhC,EAAM2iC,QAAS3iC,EAAM+gC,QAASxyB,GACxD0C,EAASuC,GAAUjF,IAEjB0C,EAAST,MAIb,IAYMoyB,EAAkB,SAACC,GACvB,IAAMvH,EAAO3f,EAAKtT,KAAI,SAACoC,GACrB,IAAIq4B,EAAQ,gBAAQr4B,GACds4B,EAAkBD,EAASn1B,MAAMxM,cAyBvC,OAxBI2hC,EAAS7S,iBAER+K,GAAe+H,EAAgB17B,SAAS2zB,EAAY75B,gBACrD2hC,EAASh1B,MAAMpL,QAAO,SAAAoL,GAAK,OAAIA,EAAMH,MAAMxM,cAAckG,SAAS2zB,EAAY75B,kBAAgBsH,SAC7FuyB,IACA6H,KAEDC,EAAS3S,WAAa0S,GAGtBC,EAASh1B,MAAMrF,QACjBq6B,EAASh1B,MAAM1D,SAAQ,SAAC44B,EAAwB/3B,GAC1C+3B,EAAQ/S,iBAEP+K,GAAegI,EAAQr1B,MAAMxM,cAAckG,SAAS2zB,EAAY75B,gBACjE4hC,EAAgB17B,SAAS2zB,EAAY75B,iBACpC65B,IACA6H,KAEDC,EAASh1B,MAAM7C,GAAOklB,WAAa0S,MAKpCC,KAETV,EAAiB,IACjBF,EAAQ5G,GACR,IAAI/sB,EAASoyB,GAAcY,0BAA0BjG,EAAMt7B,EAAMsU,YAEjEqsB,GAAcM,YAAYjhC,EAAM2iC,QAAS3iC,EAAM+gC,QAASxyB,GACxD0C,EAASuC,GAAUjF,IACnB0C,EAAST,OAGX,OACE,sBAAKob,IAAKA,EAAKtqB,UAAU,uBAAzB,UACE,cAACquB,GAAD,CAAgBE,YAAa,eAAgBD,WAAYqB,EAAoB3D,SArIjF,SAAoBxnB,GAClBorB,EAAsBprB,GACtBm1B,EAAe,IACX0F,GAAcpyB,OAAO9F,QACb,aAAOkT,GACZvR,SAAQ,SAACK,GACRA,EAAKqD,OACPrD,EAAKqD,MAAM1D,SAAQ,SAAC9B,GACdq4B,GAAcpyB,OAAOlH,SAASiB,EAAEmH,QAClCnH,EAAE6nB,YAAa,MAKjBwQ,GAAcpyB,OAAOlH,SAASoD,EAAKgF,MACrChF,EAAK0lB,YAAa,EAElB1lB,EAAK0lB,YAAa,QAqHrBc,GACC,sBAAK3vB,UAAU,sCAAf,UACE,qBAAKA,UAAU,iBAAf,SACE,cAACotB,GAAD,CAAOR,KAAM,SAAU9qB,KAAM,OAAQkqB,SA7I/C,SAAoBxnB,GAClBm1B,EAAen1B,IA4IoDA,MAAOk1B,EAAatN,YAAY,aAG3F,cAAC,GAAD,CACEqU,UAAW,kBAAMa,GAAgB,IACjCd,YAAa,kBAAMc,GAAgB,IACnCf,eA/DW,WACrB,OAAOlmB,EAAKsnB,MAAK,SAACx4B,GAChB,OAAOA,EAAKwlB,gBAAkBxlB,EAAK0lB,eA8D3B6R,cA1DU,WACpB,OAAOrmB,EAAKunB,OAAM,SAACz4B,GACjB,OAAQA,EAAKwlB,gBAAkBxlB,EAAK0lB,aAAgB1lB,EAAKwlB,qBA4DrD,qBAAK3uB,UAAU,qBAAf,SACGqa,EAAKtT,KAAI,SAACoC,EAAqBvJ,GAC9B,OACE,8BACyB,IAAtBuJ,EAAKqD,MAAMrF,OACV,cAACunB,GAAD,CAAYtiB,OAAQjD,EAAM6iB,SAAUqD,EAAYT,WAAY8K,IAE5D,cAACzK,GAAD,CAAa7iB,OAAQjD,EAAM6iB,SAAUqD,EAAYT,WAAY8K,KAJvD95B,c,mDC9MnB,SAASiiC,GAAgBnjC,GAC9B,IAAIojC,EAA8B,0BAC9BC,EAAyB,uCAwC7B,OA/BMrjC,EAAMsjC,aACRF,EAAsB,wBACtBC,EAAiB,sCA8BnB,qBAAKla,MA1BP,WACE,IAAIoI,EAAS,CACXK,OAAQ,OACRvQ,OAAQ,SACRkiB,IAAK,UAGP,MAAO,CACL3hC,MAAO2vB,EAAOvxB,EAAMwjC,WACpB3hC,OAAQ0vB,EAAOvxB,EAAMwjC,YAiBXC,GAAcniC,UAAS,4BAAuB8hC,GAAuB7hC,QAvCnF,WAC+B,oBAAlBvB,EAAMuB,SAA2BvB,EAAMyF,UAChDzF,EAAMuB,SAASvB,EAAM0jC,SAqCvB,SACG1jC,EAAM0jC,QAAU,qBAAKva,MAd1B,WACE,IAAIwa,EAAS,CACX/R,OAAQ,MACRvQ,OAAQ,SACRkiB,IAAK,OAEP,MAAO,CACL3hC,MAAO+hC,EAAO3jC,EAAMwjC,WACpB3hC,OAAQ8hC,EAAO3jC,EAAMwjC,YAMQI,GAActiC,UAAS,uBAAkB+hC,O,kBCtD/DQ,GAAiC,CAC5C,CACEjhC,GAAI,EACJ+K,MAAO,gBACP7H,MAAO,KACPC,OAAO,EACP+9B,WAAW,EACXC,kBAAkB,EAClBj2B,MAAO,GACP2B,KAAM,SAER,CACE7M,GAAI,EACJ+K,MAAO,cACP7H,MAAO,KACPC,OAAO,EACP+9B,WAAW,EACXC,kBAAkB,EAClBj2B,MAAO,GACP2B,KAAM,SAER,CACE7M,GAAI,EACJ+K,MAAO,eACP7H,MAAO,KACPC,OAAO,EACP+9B,WAAW,EACXC,kBAAkB,EAClBj2B,MAAO,GACP2B,KAAM,SAER,CACE7M,GAAI,EACJ+K,MAAO,OACP7H,MAAO,KACPC,OAAO,EACP+9B,WAAW,EACXC,kBAAkB,EAClBj2B,MAAO,GACP2B,KAAM,SAER,CACE7M,GAAI,EACJ+K,MAAO,QACP7H,MAAO,KACPC,OAAO,EACP+9B,WAAW,EACXC,kBAAkB,EAClBj2B,MAAO,GACP2B,KAAM,SAER,CACE7M,GAAI,EACJ+K,MAAO,QACP7H,MAAO,KACPC,OAAO,EACP+9B,WAAW,EACXC,kBAAkB,EAClBt0B,KAAM,UACN3B,MAAO,CACL,CACElL,GAAI,EACJ+K,MAAO,UACP7H,MAAO,KACPC,OAAO,EACPg+B,kBAAkB,GAEpB,CACEnhC,GAAI,EACJ+K,MAAO,MACP7H,MAAO,KACPC,OAAO,EACPg+B,kBAAkB,MAMbC,GAAqC,CAChD,CACE/4B,MAAO,EACP0C,MAAO,WACP7H,MAAO,GACP2J,KAAM,cAER,CACExE,MAAO,EACP0C,MAAO,cACP7H,MAAO,GACP2J,KAAM,gBAER,CACExE,MAAO,EACP0C,MAAO,YACP7H,MAAO,GACP2J,KAAM,cAER,CACExE,MAAO,EACP0C,MAAO,SACP7H,MAAO,GACP2J,KAAM,IAER,CACExE,MAAO,EACP0C,MAAO,aACP7H,MAAO,GACP2J,KAAM,SAWGw0B,GAAmD,CAC9D,CACEh5B,MAAO,EACP0C,MAAO,aACP7H,MAAO,GACP2J,KAAM,IAER,CACExE,MAAO,EACP0C,MAAO,WACP7H,MAAO,GACP2J,KAAM,eA+BGy0B,GAAqC,CAChD,CACEj5B,MAAO,EACP0C,MAAO,qBACP7H,MAAO,GACP2J,KAAM,SAER,CACExE,MAAO,EACP0C,MAAO,kBACP7H,MAAO,GACP2J,KAAM,UAIG00B,GAAiC,CAC5C,CACEl5B,MAAO,EACP0C,MAAO,gBACP7H,MAAO,GACP2J,KAAM,mBAER,CACExE,MAAO,EACP0C,MAAO,cACP7H,MAAO,GACP2J,KAAM,gBAER,CACExE,MAAO,EACP0C,MAAO,cACP7H,MAAO,GACP2J,KAAM,IAER,CACExE,MAAO,EACP0C,MAAO,eACP7H,MAAO,GACP2J,KAAM,wBAIG20B,GAA2C,CACtD,CACEn5B,MAAO,EACP0C,MAAO,aACP7H,MAAO,GACP2J,KAAM,aAER,CACExE,MAAO,EACP0C,MAAO,WACP7H,MAAO,GACP2J,KAAM,eAIG40B,GAA2C,CACtD,CACEp5B,MAAO,EACP0C,MAAO,aACP7H,MAAO,GACP2J,KAAM,cCvMH,SAASkgB,GAAe3vB,GAQ7B,IA8E4B8F,EA9EtBmL,EAAwBmc,cAmH9B,OACE,cAAC1E,GAAA,EAAD,UACE,sBAAKpnB,UAAS,+BAVV,GAAN,OAAUtB,EAAM66B,WAAa,kCAA7B,mBACI76B,EAAMyK,KAAK65B,kBAAoB,kCASjC,UACE,sBAAKhjC,UAAU,gCAAgCC,QA/CrD,WAGEvB,EAAMukC,YA4CF,UACE,qBAAKjjC,UAAU,uBAAuB,cAAatB,EAAMyK,KAAKkD,MAA9D,SACG3N,EAAMyK,KAAKkD,SA1CM7H,EA4CA9F,EAAMyK,KAAK+5B,UA3CjC/wB,MAAMC,QAAQ5N,GACK,IAAjBA,EAAM2C,OASd,SAAyB3C,GACvB,OAAqB,IAAjBA,EAAM2C,OAEN,sBAAKnH,UAAU,4BAAf,UAA2C,IACxC,sBAAMA,UAAU,2BAAhB,SAA4CwE,EAAM,QAKrD,sBAAKxE,UAAU,4BAAf,UAA2C,IACxC,sBAAMA,UAAU,2BAAhB,SAA4CwE,EAAM,KACnD,uBAAMxE,UAAU,2BAAhB,UAA2C,IAAEwE,EAAM2C,OAAS,QAnBvDg8B,CAAgB3+B,QADzB,EAIO,qBAAKxE,UAAU,4BAAf,SAA4CwE,KAuC/C,cAAC,GAAD,CAAWpE,MAAO1B,EAAM66B,WAAa,UAAWl5B,OAAQ3B,EAAM66B,UAAWpL,aAAczvB,EAAM66B,iBAE5F76B,EAAMyK,KAAKi6B,mBAAsB1kC,EAAMyK,KAAKi6B,mBAAqB1kC,EAAMyK,KAAK65B,mBAC7E,qBAAKhjC,UAAS,sCAdd,GAAN,OAAUtB,EAAMyK,KAAKk6B,iBAAmB,oDAc4CpjC,QArGtF,WACE,IAAMmM,EAAgB,gBAAQ1N,EAAMyK,MAC9Bm6B,EAAiBl3B,EAAO42B,iBAC9B52B,EAAOyiB,YAAcziB,EAAOyiB,WAC5BziB,EAAOm3B,iBAAkB,EACzBn3B,EAAO42B,kBAAmB,EAC1B52B,EAAOi3B,iBAAkB,EACzBj3B,EAAO82B,UAAY,GAUrB,SAAoC92B,GAClC,OAAQA,EAAOo3B,aACb,IAAK,kBAkBL,IAAK,QACHp3B,EAAO20B,QAAQj4B,SAAQ,SAACs4B,GACtBA,EAAQvS,YAAa,KAEvB,MAjBF,IAAK,OACHziB,EAAO20B,QAAUp6B,GAAO8X,UAAU8jB,IAClC,MACF,IAAK,kBACiB,OAAhBn2B,EAAOtK,KACTsK,EAAO20B,QAAUp6B,GAAO8X,UAAUokB,IACT,WAAhBz2B,EAAOtK,MAAqC,YAAhBsK,EAAOtK,MAAsC,0BAAhBsK,EAAOtK,KACzEsK,EAAO20B,QAAUp6B,GAAO8X,UAAUikB,IACX,iBAAhBt2B,EAAOtK,MAA2C,gBAAhBsK,EAAOtK,MAA0C,qBAAhBsK,EAAOtK,KACjFsK,EAAO20B,QAAUp6B,GAAO8X,UAAUqkB,IACX,iBAAhB12B,EAAOtK,KAAyBsK,EAAO20B,QAAUp6B,GAAO8X,UAAUskB,IACtE32B,EAAO20B,QAAUp6B,GAAO8X,UAAUmkB,KA3B3Ca,CAA2Br3B,GAC3BuD,EAASoC,GAAa3F,EAAO+B,OAC7BzP,EAAMglC,aAAat3B,GACfk3B,GACF3zB,EAAST,OAyFL,SAAyG,WC7J5G,IAOMy0B,GAAyB,SAAC7hC,EAAmB8hC,EAAiB7hC,EAAa8hC,GACtF,GAAa,oBAAT/hC,EAA4B,CAC9B,IAAMgiC,EAAa,CACjB,OACA,eACA,eACA,cACA,cACA,oBACA/9B,SAAS69B,EAAW9hC,MAClB,UACA,KACJ,OAAO,gBACJ8hC,EAAWz1B,KAAO,CACjBrM,KAAK,KAAD,OAAOgiC,GACXt/B,MAAOzC,EAAOugB,KAAK,OAIzB,GAAa,UAATxgB,EACF,OAAO,gBACJ8hC,EAAWz1B,KAAO,CACjBrM,KAAM,GACN0C,MAAOzC,EAAOoM,OAIpB,GAAa,oBAATrM,EAA4B,CAC9B,IAAMgiC,EAAiC,iBAApBF,EAAW9hC,KAA0B,YAAcC,EAAOoM,KAC7E,OAAO,gBACJy1B,EAAWz1B,KAAO,CACjBrM,KAAMgiC,EACNt/B,MAAOzC,EAAOyC,MAAMyC,SAI1B,GAAa,SAATnF,EAAiB,CACnB,IAAIV,EAAM,gBACPwiC,EAAWz1B,KAAO,CACjBrM,KAAM+hC,EAAc11B,KACpB3J,MAAOzC,IAOX,OAJI8hC,EAAcx3B,MAAMnF,WAAW,UACjC9F,EAAOwiC,EAAWz1B,MAAMrM,KAAO,UAC/BV,EAAOwiC,EAAWz1B,MAAM3J,MAAQq/B,EAAcviC,IAEzCF,IC9BJ,SAAS2iC,GAAWrlC,GACzB,IAAM4rB,EAAMJ,iBAAuB,MACnC,EAA8CtrB,oBAAkB,GAAhE,mBAAOolC,EAAP,KAAyBC,EAAzB,KACA,EAAwBrlC,mBAAmBF,EAAMyK,MAAjD,mBAAOA,EAAP,KAAapE,EAAb,KACA,EAAkCnG,oBAAkB,GAApD,mBAAO26B,EAAP,KAAkBC,EAAlB,KACM7pB,EAAwBmc,cACtB3e,EAAYnO,aAAY,SAACC,GAAD,OAAgBA,EAAMuQ,QAA9CrC,QAIF2iB,EAAqB,SAArBA,EAAsBvI,IAExB+C,EAAIpB,SACHoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,SAC3BuZ,IAGD3X,IACA/sB,SAASI,oBAAoB,QAASowB,GAAoB,KAgD9D,SAASoU,EAAmBC,EAAkCx6B,GAAwC,IAAzBy6B,EAAwB,uDAAH,EAChG,GAAIz9B,GAAO0a,YAAY8iB,GAAU,CAC/B,IAAInK,EAAOqK,GAAW,EAAM16B,GACd,IAAVA,GAAew6B,GACjBnK,EAAK+G,QAAQp3B,GAAOnF,MAAQ2/B,EAC5BnK,EAAK+G,QAAQp3B,GAAOlF,OAAQ,IAE5Bu1B,EAAK+G,QAAQp3B,GAAO6C,MAAM43B,GAAY5/B,MAAQ2/B,EAC9CnK,EAAK+G,QAAQp3B,GAAO6C,MAAM43B,GAAY3/B,OAAQ,GAEhDM,EAAQi1B,IAOZ,SAASqK,EAAW7/B,EAAgBmF,GAClC,IAAIqwB,EAAI,gBAAQ7wB,GAKhB,OAJA6wB,EAAK+G,QAAQj4B,SAAQ,SAACsD,EAAyB8S,GAC5B9S,EAAOo2B,UAApB74B,IAAUuV,GACU1a,KAEnBw1B,EA+BT,SAAS3N,IACP,IAAI2N,EAAI,gBAAQ7wB,GAChB6wB,EAAKqJ,iBAAkB,EACvBrJ,EAAK+G,QAAQj4B,SAAQ,SAACsD,EAAyB8S,GAC7C9S,EAAOo2B,WAAY,EACnBp2B,EAAO3H,OAAQ,KAEjBM,EAAQi1B,GACRR,GAAa,GA6Ef,SAAS8K,EAAel4B,EAAazC,GAA4D,IAA7Cy6B,EAA4C,4DAAXj+B,EACnF,OACE,cAACo+B,GAAA,EAAD,CAAsBC,YAAaC,KAAnC,SACE,cAACC,GAAA,EAAD,CACEC,OAAQ,WACNV,GAAkB,IAEpB5X,QAAS,WACP4X,GAAkB,IAEpBz/B,MAAO4H,EAAO5H,MACdwnB,SAAU,SAAA4Y,GACRV,EAAmBU,EAAUj7B,EAAOy6B,IAEtCS,YAAa,SAAA93B,GAAM,OAAI,cAAC+3B,GAAA,EAAD,6BAAe/3B,GAAf,IAAuBtI,MAAO2H,EAAO3H,cAMpE,SAASsgC,EAAoB34B,EAAyBzC,GACpD,OACE,qBAAK3J,UAAU,yBAAf,SACE,cAAC,GAAD,CACEkiC,UAAU,SACVE,OAAQh2B,EAAOo2B,UACfviC,QAAS,SAAAN,IA3IjB,SAA0BqlC,EAAmBr7B,GAE3C,IAAIqwB,EAAOqK,EAAWW,EAAUr7B,GAsBhC5E,EAAQi1B,GAoHAiL,CAAiBtlC,EAAGgK,QAO9B,OAzNAxK,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,GAAoB,OAI9D3wB,qBAAU,WACR,GAAIT,EAAMyK,KAAM,CACd,IAAM6wB,EAAI,gBAAQt7B,EAAMyK,MACxB,GAAIgE,EAAQ6sB,EAAK7rB,OAAqC,YAA5BhB,EAAQ6sB,EAAK7rB,MAAMrM,KAC3Ck4B,EAAKkJ,UAAL,YAAsBxkC,EAAMyK,KAAK43B,QAAQ5zB,EAAQ6sB,EAAK7rB,MAAM3J,OAAO6H,OACnE2tB,EAAK+G,QAAQriC,EAAMyK,KAAK43B,QAAQ5zB,EAAQ6sB,EAAK7rB,MAAM3J,OAAOlD,IAAIkhC,WAAY,EAC1ExI,EAAKgJ,kBAAmB,OACnB,GAAI71B,EAAQ6sB,EAAK7rB,MAAO,CAC7B6rB,EAAK+G,QAAQ/G,EAAK+G,QAAQ55B,OAAS,GAAGq7B,WAAY,EAClD,IAAM71B,EAAQQ,EAAQ6sB,EAAK7rB,MAAM3J,MAAMyB,MAAM,KACvCsG,EAAQ,IAAIxB,KAAK4B,EAAM,IACvBF,EAAQ,IAAI1B,KAAK4B,EAAM,IACvBu4B,EAAW,UAAM34B,EAAM44B,WAAa,EAAzB,YAA8B54B,EAAMrB,UAApC,YAAiDqB,EAAMZ,eAClEy5B,EAAW,UAAM34B,EAAM04B,WAAa,EAAzB,YAA8B14B,EAAMvB,UAApC,YAAiDuB,EAAMd,eACxEquB,EAAK+G,QAAQ/G,EAAK+G,QAAQ55B,OAAS,GAAGqF,MAAM,GAAGhI,MAAQ0gC,EACvDlL,EAAK+G,QAAQ/G,EAAK+G,QAAQ55B,OAAS,GAAGqF,MAAM,GAAGhI,MAAQ4gC,EACvDpL,EAAKkJ,UAAL,mBAA6Bt4B,GAAiB8B,eAAeS,EAAQ6sB,EAAK7rB,MAAM3J,OAAS,IAAzF,KACAw1B,EAAKgJ,kBAAmB,OACftkC,EAAM2mC,cAAcrL,EAAK7rB,MAAM60B,mBACxChJ,EAAKgJ,kBAAmB,EACxBhJ,EAAKnL,YAAa,EAClBmL,EAAK+G,QAAQj4B,SAAQ,SAACk4B,GACpBA,EAAOnS,YAAa,KAEtBmL,EAAKkJ,UAAY,GACjBxkC,EAAM4mC,mBAAmBtL,IAG3Bj1B,EAAQi1B,MAGT,CAAC7sB,IAoLF,qCACE,cAAC,GAAD,CACEhE,KAAMA,EACN85B,SAAU,kBAAMzJ,GAAcD,IAC9BmK,aAAchlC,EAAM4mC,mBACpB/L,UAAWA,IAGZA,GACC,sBAAKjP,IAAKA,EAAKtqB,UAAU,mBAAzB,UACGmJ,EAAK43B,QAAQh6B,KAAI,SAACqF,EAAyBzC,GAA1B,OAChB,eAAC,IAAM47B,SAAP,WAC2B,IAAxBn5B,EAAOI,MAAMrF,QACZ,sBAAKnH,UAAU,wBAAf,UACG+kC,EAAoB34B,EAAQzC,GAC7B,qBAAK3J,UAAU,mBAAf,SAAmCoM,EAAOC,QACzCD,EAAOq2B,kBACN,qBAAKziC,UAAU,8BAAf,SAA8CskC,EAAel4B,EAAQzC,QAIlD,IAAxByC,EAAOI,MAAMrF,QACZ,sBAAKnH,UAAU,wBAAf,UACG+kC,EAAoB34B,EAAQzC,GAC5ByC,EAAOI,MAAMzF,KAAI,SAACC,EAAqBw+B,GAAtB,OAChB,sBAAKxlC,UAAU,yBAAf,UACE,qBAAKA,UAAU,mBAAf,SAAmCgH,EAAEqF,QACpCrF,EAAEy7B,kBAAoB6B,EAAet9B,EAAG2C,EAAO67B,KAFLA,WAdhC77B,MAuBvB,sBAAK3J,UAAU,0BAAf,UACE,cAAConB,GAAA,EAAD,UACE,qBAAKpnB,UAAU,oBAAoBC,QAASosB,EAA5C,SAAqD,aAIvD,cAACjF,GAAA,EAAD,UACE,qBAAKpnB,UAAU,4CAA4CC,QApJvE,WACE,IAAImM,EACA4tB,EAAI,gBAAQ7wB,GAChB,IAAK,IAAMvJ,KAAOo6B,EAAK+G,QACrB,GAAI/G,EAAK+G,QAAQnhC,GAAK4iC,UAAW,CAC/Bp2B,EAAS4tB,EAAK+G,QAAQnhC,GACtB,MAIJ,GAAIwM,IAgCN,SAA6BA,EAAyBjD,GACpD,GAAkB,IAAdiD,EAAO9K,KAAaqF,GAAO0a,YAAYjV,EAAO5H,QAAU4H,EAAOq2B,iBAGjE,OAFAt5B,EAAK43B,QAAQ30B,EAAO9K,IAAImD,OAAS2H,EAAO5H,MACxCO,EAAQoE,GACDA,EAAK43B,QAAQ30B,EAAO9K,IAAImD,MAEjC,GAAkB,IAAd2H,EAAO9K,MAAcqF,GAAO0a,YAAYjV,EAAOI,MAAM,GAAGhI,SAAWmC,GAAO0a,YAAYjV,EAAOI,MAAM,GAAGhI,QAIxG,OAHA2E,EAAK43B,QAAQ30B,EAAO9K,IAAIkL,MAAM,GAAG/H,OAAQ,EACzC0E,EAAK43B,QAAQ30B,EAAO9K,IAAIkL,MAAM,GAAG/H,OAAQ,EACzCM,EAAQoE,IACD,EAGT,GACgB,IAAdiD,EAAO9K,IACP8K,EAAOI,MAAM,GAAGhI,OAChBmC,GAAO0a,YAAYjV,EAAOI,MAAM,GAAGhI,QACnC4H,EAAOI,MAAM,GAAGhI,OAChBmC,GAAO0a,YAAYjV,EAAOI,MAAM,GAAGhI,QAE/B4H,EAAOI,MAAM,GAAGhI,MAAQ4H,EAAOI,MAAM,GAAGhI,MAI1C,OAHA2E,EAAK43B,QAAQ30B,EAAO9K,IAAIkL,MAAM,GAAG/H,OAAQ,EACzC0E,EAAK43B,QAAQ30B,EAAO9K,IAAIkL,MAAM,GAAG/H,OAAQ,EACzCM,EAAQoE,IACD,EAGX,OAAO,EA1DAs8B,CAAoBr5B,EAAQ4tB,GAAO,CACtCA,EAAKqJ,iBAAkB,EACvB,IAAIr4B,EAAOJ,GAAiBuB,qBAAqBC,GAW3ChL,EAASuiC,GAAuB,OAAQ3J,EAAMhvB,EAAMoB,GAE1D4tB,EAAKkJ,UAAL,YAAsB92B,EAAOC,MAA7B,aAAuCzB,GAAiB8B,eAAe1B,GAAQ,IAA/E,KACAgvB,EAAKgJ,kBAAmB,EACxBj+B,EAAQi1B,GACRR,GAAa,GACb7pB,EAASgC,GAAUvQ,IACnBuO,EAAS3C,GAAU,CAAC7D,EAAKgF,QACzBwB,EAAST,MACTxQ,EAAM4mC,mBAAmBtL,KAmHnB,SAA6E,qB,OC7RpF,SAAS0L,GAAehnC,GAC7B,IAAM4rB,EAAMJ,iBAAuB,MACnC,EAAwBtrB,mBAAmBF,EAAMyK,MAAjD,mBAAOA,EAAP,KAAapE,EAAb,KACA,EAAkCnG,oBAAkB,GAApD,mBAAO26B,EAAP,KAAkBC,EAAlB,KACM7pB,EAAwBmc,cACtB3e,EAAYnO,aAAY,SAACC,GAAD,OAAgBA,EAAMuQ,QAA9CrC,QACR,EAA0BvO,oBAAkB,GAA5C,mBAAO6F,EAAP,KAAckhC,EAAd,KAGM7V,EAAqB,SAArBA,EAAsBvI,GAC1B,GACE+C,EAAIpB,UACHoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,QAE5B,CACA,IAAMre,EAAM,gBAAQjD,GACpBiD,EAAOi3B,iBAAkB,EACzBt+B,EAAQqH,GACRotB,GAAa,GAEbl6B,SAASI,oBAAoB,QAASowB,GAAoB,KAI9D3wB,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,GAAoB,OAI9D,IAAIiR,EAiCJ,WAEE,IADA,IAAIA,EAAU53B,EAAK43B,QACVp3B,EAAQ,EAAGA,EAAQo3B,EAAQ55B,OAAQwC,IAC1C,GAAoC,KAAhCo3B,EAAQp3B,GAAOnF,MAAMyC,OACvB,OAAO85B,EAAQp3B,GAGnB,OAAOo3B,EAAQ,GAxCH6E,GACd,EAA0BhnC,mBAAiBmiC,EAAQv8B,OAAnD,mBAAOA,EAAP,KAAcw3B,EAAd,KACA,EAAoCp9B,oBAAkB,GAAtD,mBAAO0vB,EAAP,KAAmBuX,EAAnB,KACA,EAA4BjnC,mBAA4BmiC,GAAxD,mBAAO3E,EAAP,KAAe0J,EAAf,KA+CA,SAASC,IACP,GAAqB,KAAjBvhC,EAAMyC,OAAe,CACvB,GAAkB,iBAAdkC,EAAKrH,MACH0C,EAAMyB,MAAM,KAAK7E,QAAO,SAAC+H,GAAD,OAAgBA,EAAK0Y,MAAM,eAAa1a,OAElE,YADAw+B,GAAS,GAKb,GAAI,CAAC,eAAgB,MAAM5/B,SAASoD,EAAKrH,OAAS,CAAC,MAAO,cAAciE,SAASoD,EAAKgF,MAEpF,GADoB,CAAC,YAAa,mBAAmBpI,SAASq2B,EAAOjuB,QAC/CxH,GAAO+b,WAAWle,GAEtC,YADAmhC,GAAS,GAIb,IAAI3L,EAAI,gBAAQ7wB,GAChB6wB,EAAK+G,QAAQj4B,SAAQ,SAACk4B,GAChBA,EAAO30B,QAAU+vB,EAAO/vB,MAC1B20B,EAAOx8B,MAAQA,EAEfw8B,EAAOx8B,MAAQ,MAInBw1B,EAAKqJ,iBAAkB,EAGvBrJ,EAAKkJ,UAAL,YAAsB9G,EAAO/vB,MAA7B,aAAuC+vB,EAAO53B,MAA9C,KACAw1B,EAAKgJ,kBAAmB,EAQxB,IAAM5hC,EAASuiC,GAAuB,kBAAmBx6B,EAAMizB,GAC/Dr3B,EAAQi1B,GACRR,GAAa,GACb7pB,EAASgC,GAAUvQ,IACnBuO,EAAS3C,GAAU,CAAC7D,EAAKgF,QACzBwB,EAAST,MACTxQ,EAAM4mC,mBAAmBtL,QAGzB2L,GAAS,GA3FbxmC,qBAAU,WACJ4hC,GACF+E,EAAU/E,KAEX,CAACA,IAEJ5hC,qBAAU,WACR,GAAIT,EAAMyK,KAAM,CACd,IAAM6wB,EAAI,gBAAQt7B,EAAMyK,MACxB,GAAIgE,EAAQ6sB,EAAK7rB,MAAO,CACtB63B,EAAU74B,EAAQ6sB,EAAK7rB,MAAM3J,OAC7B,IAAMw8B,EAAShH,EAAK+G,QAAQ3/B,QAAO,SAAC4F,GAAD,OAAYA,EAAEmH,OAAShB,EAAQ6sB,EAAK7rB,MAAMrM,QAAM,GACnFgkC,EAAU9E,GACVhH,EAAKkJ,UAAL,YAAsBlC,EAAO30B,MAA7B,aAAuCc,EAAQ6sB,EAAK7rB,MAAM3J,MAA1D,KACAw1B,EAAKgJ,kBAAmB,OACftkC,EAAM2mC,cAAcrL,EAAK7rB,MAAM60B,mBACxChJ,EAAKgJ,kBAAmB,EACxBhJ,EAAKnL,YAAa,EAClBmX,EAAU,IACVhM,EAAKkJ,UAAY,GACjBxkC,EAAM4mC,mBAAmBtL,IAE3Bj1B,EAAQi1B,MAGT,CAACt7B,EAAMyK,KAAMgE,IAsFhB,IAAM64B,EAAY,SAACC,GACb,CAAC,UAAUlgC,SAASrH,EAAMyK,KAAKrH,OAASmkC,IAAWA,EAAOpkB,MAAM,cAIhE,CAAC,gBAAgB9b,SAASrH,EAAMyK,KAAKrH,OAASmkC,IAAWA,EAAOpkB,MAAM,cAIlD,OAApBnjB,EAAMyK,KAAKrH,MAAiBmkC,IAAWA,EAAOpkB,MAAM,kBAIxD8jB,GAAS,GACT3J,EAASiK,KAGX,OACE,qCACE,cAAC,GAAD,CACE98B,KAAMA,EACNowB,UAAWA,EACX0J,SAAU,kBAAMzJ,GAAcD,IAC9BmK,aAAchlC,EAAM4mC,qBAErB/L,GACC,sBAAKjP,IAAKA,EAAKtqB,UAAU,mBAAzB,UACE,sBAAKA,UAAU,0BAA0BC,QAAS,kBAAM4lC,GAAevX,IAAvE,UACE,qBAAKtuB,UAAU,GAAf,SAAmBo8B,EAAO/vB,QAC1B,cAAC,GAAD,CAAWhM,OAAQiuB,EAAYH,aAAcG,OAG9CA,GACC,qBAAKtuB,UAAU,wBAAf,SACGmJ,EAAK43B,QAAQh6B,KAAI,SAACqF,EAA2BxM,GAA5B,OAChB,qBAAKI,UAAU,kBAA4BC,QAAS,kBA1ClE,SAAsBmM,GACpB05B,EAAU15B,GACV,IAAI85B,EAA4B5mC,SAAS6mC,eAAe,yBACnD,OAALD,QAAK,IAALA,KAAO7J,QACPwJ,GAAevX,GAsCuD8X,CAAah6B,IAAvE,SACGA,EAAOC,OAD4BzM,QAO5C,qBAAKI,UAAU,aAAf,SACE,cAACotB,GAAD,CACEptB,UAAWqqB,KAAW,uBAAwB,CAAE5lB,MAAOA,IACvDnD,GAAG,wBACHQ,KAAM,OACN0C,MAAOA,EACPwpB,UAxHZ,SAAuBzG,GACH,UAAdA,EAAM3nB,KACRmmC,KAuHQ/Z,SAAU,SAAAxnB,GAAK,OAAIwhC,EAAUxhC,IAC7B4nB,YAAY,aAGhB,sBAAKpsB,UAAU,0BAAf,UACE,cAAConB,GAAA,EAAD,UACE,qBAAKpnB,UAAU,oBAAoBC,QAtE/C,WACE,IAAM+5B,EAAI,gBAAQ7wB,GAClB6wB,EAAKqJ,iBAAkB,EACvBt+B,EAAQi1B,GACRR,GAAa,IAkEH,SAAsD,aAIxD,cAACpS,GAAA,EAAD,UACE,qBAAKpnB,UAAU,4CAA4CC,QAAS8lC,EAApE,SAA6E,qB,WC1N9EM,GAAgB,CAG3BC,eAH2B,SAGZjsB,GACbA,EAAO1T,GAAO8X,UAAUpE,GACxB,IAAIhW,EAAsB,GAU1B,OATAgW,EAAKvR,SAAQ,SAACK,GACPA,EAAK+lB,SAGR/lB,EAAKqD,MAAM1D,SAAQ,SAACK,GAClB9E,EAAQgO,KAAKg0B,GAAcE,WAAWp9B,OAHxC9E,EAAQgO,KAAKg0B,GAAcE,WAAWp9B,OAOnC9E,GAGTkiC,WAlB2B,SAkBhBp9B,GAET,OADAk9B,GAAcn5B,WAAW/D,GAClB,6BACFA,GADL,IAEE+5B,UAAW,GACXrU,YAAY,EACZ0U,iBAAiB,EACjBP,kBAAkB,EAClBK,iBAAiB,KAKrBn2B,WA/B2B,SA+BhB/D,GACiB,iBAAtBA,EAAKq9B,aACPr9B,EAAKq6B,YAAc,kBACV,CAAC,OAAQ,YAAYz9B,SAASoD,EAAKrH,OAC5CqH,EAAKq6B,YAAc,OACnBr6B,EAAK43B,QAAUp6B,GAAO8X,UAAU8jB,KACD,UAAtBp5B,EAAKq9B,cAA0C,UAAdr9B,EAAKrH,KAC/CqH,EAAKq6B,YAAc,QACc,IAAxBr6B,EAAK43B,QAAQ55B,SACJ,WAAdgC,EAAKrH,MACPqH,EAAKq6B,YAAc,kBACnBr6B,EAAK43B,QAAUp6B,GAAO8X,UAAUikB,KACT,OAAdv5B,EAAKrH,MACdqH,EAAKq6B,YAAc,kBACnBr6B,EAAK43B,QAAUp6B,GAAO8X,UAAUokB,KACT,iBAAd15B,EAAKrH,MAAyC,gBAAdqH,EAAKrH,MAAwC,qBAAdqH,EAAKrH,MAC7EqH,EAAKq6B,YAAc,kBACnBr6B,EAAK43B,QAAUp6B,GAAO8X,UAAUqkB,KACT,iBAAd35B,EAAKrH,MACdqH,EAAKq6B,YAAc,kBACnBr6B,EAAK43B,QAAUp6B,GAAO8X,UAAUskB,KACT,YAAd55B,EAAKrH,MAAoC,0BAAdqH,EAAKrH,MACzCqH,EAAKq6B,YAAc,kBACnBr6B,EAAK43B,QAAUp6B,GAAO8X,UAAUikB,MAEhCv5B,EAAKq6B,YAAc,kBACnBr6B,EAAK43B,QAAUp6B,GAAO8X,UAAUmkB,OAMtC6D,wBA/D2B,SA+DH5hC,GACtB,IAAI6hC,EAAmB,GACnBC,EAAkB,GAOtB,OANA9hC,EACGzD,QAAO,SAACwM,GAAD,OAAqBA,EAAMihB,cAClC/lB,SAAQ,SAACK,GACRu9B,EAAOr0B,KAAKlJ,EAAKkD,OACjBs6B,EAAMt0B,KAAmB,OAAdlJ,EAAKgF,KAAgBxH,GAAOke,gBAAkB1b,EAAKgF,SAE3D,CAAEu4B,SAAQC,UAGnBnc,SA3E2B,SA2ElBhe,GACP,IAAIo6B,EAActnC,SAAS60B,cAAc,yBACzC,OAAOyS,IAAWp6B,GAASo6B,EAAOpc,SAAShe,K,OCtFxC,SAASq6B,GAAgBnoC,GAC9B,OACE,sBAAKsB,UAAU,kBAAf,UACE,qBAAK0sB,IAAI,OAAOC,IAAI,8BACpB,+BAAM,yB,OCEL,SAASma,GAAOpoC,GACrB,MAA4BE,mBAAiB,IAA7C,mBAAOyO,EAAP,KAAe05B,EAAf,KAOA,OALA5nC,qBAAU,WACRT,EAAMstB,SAAS3e,EAAOpG,OAAOpH,iBAE5B,CAACwN,IAGF,sBAAKrN,UAAU,SAAf,UACE,qBAAK0sB,IAAI,SAASC,IAAI,8BACtB,uBACErrB,GAAG,eACHQ,KAAK,OACLsqB,YAAa1tB,EAAM0tB,YAAc,SAAW,GAC5CwB,UAAW,GACXppB,MAAO6I,EACP2e,SAAU,SAAArsB,GAAC,OAAIonC,EAAUpnC,EAAE8qB,OAAOjmB,aCCnC,SAASwiC,GAAqBtoC,GACnC,IAAM4rB,EAAMJ,iBAAuB,MACnC,EAAwBtrB,mBAAmBF,EAAMyK,MAAjD,mBAAOA,EAAP,KAAapE,EAAb,KACA,EAAkCnG,oBAAkB,GAApD,mBAAO26B,EAAP,KAAkBC,EAAlB,KACM7pB,EAAwBmc,cAC9B,EAA6B9sB,aAAY,SAACC,GAAD,OAAgBA,EAAMuQ,QAAvDrC,EAAR,EAAQA,QAASiD,EAAjB,EAAiBA,QACjB,EAAsCxR,mBAAiB,IAAvD,mBAAO86B,EAAP,KAAoBC,EAApB,KAIM7J,EAAqB,SAArBA,EAAsBvI,GAExB+C,EAAIpB,UACHoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,UAK5B+O,GAAa,GAEbl6B,SAASI,oBAAoB,QAASowB,GAAoB,KAsD9D,SAASmX,EAAS99B,GAChB,OAAQzK,EAAMyK,KAAKrH,MACjB,IAAK,OACH,OAAO,cAACuuB,GAAD,CAAUzQ,QAASzW,EAAKgF,KAAMnO,UAAU,mBACjD,IAAK,QACL,IAAK,SACH,OAAO,cAACqwB,GAAD,CAAUjwB,MAAOuG,GAAOuZ,qBAAqB/W,EAAKkD,OAAQrM,UAAU,mBAC7E,IAAK,UACH,OAAO,cAAC,GAAD,CAAMwE,MAAO2E,EAAKgF,QAO/B,SAAS+4B,EAAa96B,EAAkBzC,EAAew9B,GACrD,IAAInN,EAAI,gBAAQ5tB,IACVstB,GAAettB,EAAOhN,UAAas6B,SAA6BvzB,IAAbghC,EACvDnN,EAAKnL,WAAasY,OACIhhC,IAAbghC,IACTnN,EAAKnL,YAAcmL,EAAKnL,YAE1B,IAAIpmB,EAAO,gBAAQU,GACnBV,EAAQu6B,kBAAmB,EAC3Bv6B,EAAQs4B,QAAQp3B,GAASqwB,EACzB,MAAwBqM,GAAcI,wBAAwBh+B,EAAQs4B,SAAhE2F,EAAN,EAAMA,OAAQC,EAAd,EAAcA,MACdl+B,EAAQy6B,UAAYwD,EAEpB,IAAMtlC,EAASuiC,GAAuB,kBAAmBx6B,EAAMw9B,GAE3D3M,EAAKnL,YACPlf,EAASgC,GAAUvQ,IACnBuO,EAAS3C,GAAU,CAAC7D,EAAKgF,SAE4C,IAAjE1F,EAAQs4B,QAAQ3/B,QAAO,SAAC4F,GAAD,OAAiBA,EAAE6nB,cAAY1nB,QACxDwI,EAASoC,GAAa5I,EAAKgF,OAC3B1F,EAAQu6B,kBAAmB,EAC3Bv6B,EAAQy6B,UAAY,IAEpBvzB,EAASgC,GAAUvQ,SAGN+E,IAAbghC,GAA0Bx9B,IAAUlB,EAAQs4B,QAAQ55B,OAAS,IAC/DwI,EAAST,MACTxQ,EAAM4mC,mBAAmB78B,IA9F7BtJ,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,GAAoB,OAI9D3wB,qBAAU,WACR,IAAM66B,EAAI,gBAAQt7B,EAAMyK,MACxB6wB,EAAK+G,QAAU/G,EAAK+G,QAAQh6B,KAAI,SAACqF,GAC/B,OAAO,6BAAKA,GAAZ,IAAoBhN,QAASgN,EAAOC,MAAMxM,cAAckG,SAAS2zB,QAEnE30B,EAAQi1B,KAEP,CAACN,IAEJv6B,qBAAU,WACR,GAAIT,EAAMyK,KAAM,CACd,IAAM6wB,EAAI,gBAAQt7B,EAAMyK,MACxB,GAAIgE,EAAQ6sB,EAAK7rB,MAAO,CACtB6rB,EAAKgJ,kBAAmB,EACxB,IAAMjhC,EAASoL,EAAQ6sB,EAAK7rB,MAAM3J,MAAMyB,MAAM,KAC9C+zB,EAAK+G,QAAQj4B,SAAQ,SAACk4B,IACfA,EAAO7yB,MAAQpM,EAAOgE,SAASY,GAAOke,kBAEhB,OAAhBmc,EAAO7yB,MAAiB6yB,EAAO7yB,KAAKgT,YAAcpf,EAAOgE,SAASi7B,EAAO7yB,KAAKgT,YADvF6f,EAAOnS,YAAa,EAIpBmS,EAAOnS,YAAa,KAGxB,IAAM6X,EAAWL,GAAcI,wBAAwBzM,EAAK+G,SAAtD2F,OACN1M,EAAKkJ,UAAYwD,OACRhoC,EAAM2mC,cAAcrL,EAAK7rB,MAAM60B,mBACxChJ,EAAKgJ,kBAAmB,EACxBhJ,EAAKnL,YAAa,EAClBmL,EAAK+G,QAAQj4B,SAAQ,SAACk4B,GACpBA,EAAOnS,YAAa,KAEtBmL,EAAKkJ,UAAY,GACjBxkC,EAAM4mC,mBAAmBtL,IAG3Bj1B,EAAQi1B,MAGT,CAAC7sB,IA+EJ,OACE,qCACE,cAAC,GAAD,CACEhE,KAAMA,EACNowB,UAAWA,EACX0J,SAAU,kBAAMzJ,GAAcD,IAC9BmK,aAAchlC,EAAM4mC,qBAGrB/L,GACC,sBAAKjP,IAAKA,EAAKtqB,UAAU,wCAAzB,YACKmJ,EAAK43B,QAAQ55B,QAAU,cAAC,GAAD,CAAQ6kB,SAAU2N,MACzCxwB,EAAK43B,QAAQ55B,QACd,cAAC,GAAD,CACEs5B,UA9BM,WAChBt3B,EAAK43B,QAAQj4B,SAAQ,SAACk4B,EAAkBr3B,GACtCu9B,EAAalG,EAAQr3B,GAAO,OA6BpB62B,YAzBQ,WAClBr3B,EAAK43B,QAAQj4B,SAAQ,SAACk4B,EAAkBr3B,GACtCu9B,EAAalG,EAAQr3B,GAAO,OAwBpB42B,eAxCW,WACrB,OAAOp3B,EAAK43B,QAAQY,MAAK,SAACX,GAAD,OAAsBA,EAAOnS,eAwC5C6R,cArCU,WACpB,OAAOv3B,EAAK43B,QAAQa,OAAM,SAACZ,GAAD,OAAsBA,EAAOnS,iBAuCjD,qBAAK7uB,UAAU,4BAAf,SACGmJ,EAAK43B,QAAQ55B,OACZgC,EAAK43B,QAAQh6B,KAAI,SAACqF,EAAkBxM,GAAnB,OACf,sBACEI,UAAWqqB,KAAW,8BAA+B,CACnD+c,QAASh7B,EAAOC,MAAMxM,cAAckG,SAAS2zB,GAC7C2N,SAAUj3B,IAGZnQ,QAAS,SAAAN,GAAC,OAAIunC,EAAa96B,EAAQxM,IACnC,cAAawM,EAAOC,MAPtB,UASE,cAAC,GAAD,CAAUhM,OAAQ+L,EAAOyiB,aACxBoY,EAAS76B,GACV,qBAAKpM,UAAU,QAAf,SAAwBoM,EAAOC,UAN1BzM,MAUT,cAAC,GAAD,Y,OCvMP,SAAS0nC,GAAY5oC,GAC1B,MAA+BE,mBAAiB,IAAhD,mBAAOyO,EAAP,KAAek6B,EAAf,KACA,EAA2D9X,IAAoB,GAAvEnF,EAAR,EAAQA,IAAKqF,EAAb,EAAaA,mBAAoBC,EAAjC,EAAiCA,sBAC3BjgB,EAAwBmc,cAkC9B,OACE,sBAAKxB,IAAKA,EAAKtqB,UAAU,iCAAzB,UACE,cAAConB,GAAA,EAAD,UACE,sBAAKpnB,UAAU,uBAAuBC,QAT5B,WACd2vB,GAAuBD,GACvB4X,EAAa,IACb7oC,EAAMukC,YAMsD,cAAY,eAApE,UACE,8BAAK,iBACL,cAAC,GAAD,CAAW5iC,OAAQsvB,EAAoBxB,aAAcwB,SAIxDA,GACC,sBAAK3vB,UAAU,mBAAf,UACE,8BACE,cAACotB,GAAD,CAAOR,KAAM,SAAU9qB,KAAM,OAAQ0C,MAAO6I,EAAQ2e,SAAU,SAAArsB,GAAC,OAAI4nC,EAAa5nC,IAAIysB,YAAY,aAElG,qBAAKpsB,UAAU,mBAAf,SACE,qBAAKA,UAAU,qBAAf,SACGtB,EAAM2F,QACJjD,QACC,SAACgL,GAAD,OACEA,EAAOC,MAAMxM,cAAckG,SAASsH,EAAOxN,iBAC1CuM,EAAOg3B,mBACRh3B,EAAOo7B,iBAEVzgC,KAAI,SAACqF,EAAaxM,GAAd,OACH,qBAAKI,UAAU,iBAAf,SACE,sBAAKA,UAAU,SAASC,QAAS,kBAxDnD,SAAsBkJ,GACpB,IAAMiD,EAAM,gBAAQjD,GACpBiD,EAAOyiB,YAAcziB,EAAOyiB,WACxBziB,EAAOyiB,YACTwQ,GAAcU,oBAAoBrhC,EAAM2iC,QAAS3iC,EAAM+gC,QAAS,CAACrzB,EAAO+B,OACxEwB,EAAS3C,GAAU,CAACZ,EAAO+B,QAC3BwB,EAAST,QAET9C,EAAO42B,kBAAmB,EAC1B52B,EAAO20B,QAAU30B,EAAO20B,QAAQh6B,KAAI,SAACi6B,GACnC,OAAO,6BAAKA,GAAZ,IAAoBnS,YAAY,OAElClf,EAASoC,GAAa3F,EAAO+B,OAC7BkxB,GAAcQ,oBAAoBnhC,EAAM2iC,QAAS3iC,EAAM+gC,QAAS,CAACrzB,EAAO+B,QAEtD,KAAhBzP,EAAM+oC,OAAiBr7B,EAAOyiB,WAGhClS,MAAM,yBAFNje,EAAMglC,aAAat3B,GAIhBA,EAAOyiB,YACVlf,EAAST,MAmC4Cw4B,CAAat7B,IAApD,UACE,cAAC,GAAD,CAAU/L,OAAQ+L,EAAOyiB,aACzB,qBAAK7uB,UAAU,kBAAf,SAAkCoM,EAAOC,YAHRzM,gB,OCnDhD,SAAS+nC,GAAkBjpC,GAChC,IAAM4rB,EAAMJ,iBAAuB,MACnC,EAAwBtrB,mBAAmBF,EAAMyK,MAAjD,mBAAOA,EAAP,KAAapE,EAAb,KACA,EAAkCnG,oBAAkB,GAApD,mBAAO26B,EAAP,KAAkBC,EAAlB,KACM7pB,EAAwBmc,cACtB3e,EAAYnO,aAAY,SAACC,GAAD,OAAgBA,EAAMuQ,QAA9CrC,QAGF2iB,EAAqB,SAArBA,EAAsBvI,GAE1B,GACE+C,EAAIpB,UACHoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,QAE5B,CACA,IAAMre,EAAM,gBAAQjD,GACpBiD,EAAOi3B,iBAAkB,EACzBt+B,EAAQqH,GACRotB,GAAa,GAEbl6B,SAASI,oBAAoB,QAASowB,GAAoB,KAoD9D,SAASuU,EAAW16B,GAClB,IAAIrF,EACA01B,EAAI,gBAAQ7wB,GAChB6wB,EAAK+G,QAAQj4B,SAAQ,SAACsD,EAAkB8S,GAClCvV,IAAUuV,EACZ9S,EAAOyiB,YAAa,GAEpBvqB,EAAW8H,EACXA,EAAOyiB,YAAa,MAGxBmL,EAAKkJ,UAAL,YAAsB5+B,EAAS+H,OAC/B2tB,EAAKgJ,kBAAmB,EAOxB,IAAM5hC,EAASuiC,GAAuB,QAAS3J,EAAM11B,GACjD5F,EAAM+gC,UACJn7B,EAASsjC,cAAczgC,QAA4B,IAAlB7C,EAAS6J,MAC5CwB,EAAS2C,GAAahO,EAASsjC,gBAC/BvI,GAAcQ,oBAAoBnhC,EAAM2iC,QAAS3iC,EAAM+gC,QAASn7B,EAASsjC,iBAEzEj4B,EAAS3C,GAAU1I,EAAS28B,aAC5B5B,GAAcU,oBAAoBrhC,EAAM2iC,QAAS3iC,EAAM+gC,QAASn7B,EAAS28B,cAG7El8B,EAAQi1B,GACRrqB,EAASgC,GAAUvQ,IACnBuO,EAAS3C,GAAU,CAACgtB,EAAK7rB,QACzBwB,EAAST,MACTxQ,EAAM4mC,mBAAmBtL,GAG3B,OApFA76B,qBAAU,WACR,IAAM66B,EAAI,gBAAQt7B,EAAMyK,MACxB,GAAIgE,EAAQ6sB,EAAK7rB,MAAO,CACtB,IAAIxE,GAAiB,EACrBqwB,EAAKgJ,kBAAmB,EACxBhJ,EAAK+G,QAAQj4B,SAAQ,SAAC9B,EAAakY,GAC7BlY,EAAEmH,OAAShB,EAAQ6sB,EAAK7rB,MAAM3J,OAChCwC,EAAE6nB,YAAa,EACfllB,EAAQuV,GAERlY,EAAE6nB,YAAa,KAGfllB,GAAS,IACXqwB,EAAKkJ,UAAL,YAAsBlJ,EAAK+G,QAAQp3B,GAAO0C,aAEnC3N,EAAM2mC,cAAcrL,EAAK7rB,MAAM60B,mBACxChJ,EAAKgJ,kBAAmB,EACxBhJ,EAAKnL,YAAa,EAClBmL,EAAK+G,QAAQj4B,SAAQ,SAACk4B,GACpBA,EAAOnS,YAAa,KAEtBmL,EAAKkJ,UAAY,GACjBxkC,EAAM4mC,mBAAmBtL,IAE3Bj1B,EAAQi1B,KAEP,CAAC7sB,IAcJhO,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,GAAoB,OAyC5D,qCACE,cAAC,GAAD,CACE3mB,KAAMA,EACNowB,UAAWA,EACX0J,SAAU,kBAAMzJ,GAAcD,IAC9BmK,aAAchlC,EAAM4mC,qBAErB/L,GACC,qBAAKjP,IAAKA,EAAKtqB,UAAU,2CAAzB,SACE,qBAAKA,UAAU,+BAAf,SACGmJ,EAAK43B,QAAQ55B,OACZgC,EAAK43B,QAAQh6B,KAAI,SAACqF,EAAkBxM,GAAnB,OACf,sBAAKI,UAAU,iCAAf,UACE,qBAAKA,UAAU,gCAAf,SACE,cAAC,GAAD,CACEkiC,UAAU,SACVE,OAAQh2B,EAAOyiB,WACf5uB,QAAS,SAAAN,GACP0kC,EAAWzkC,QAIjB,qBACEI,UAAU,0BACVC,QAAS,SAAAN,GACP0kC,EAAWzkC,IAHf,SAMGwM,EAAOC,UAhByCzM,MAqBvD,cAAC,GAAD,W,OCpIP,SAASioC,GAAenpC,GAC7B,IAAQmb,EAAiB7a,aAAY,SAACC,GAAD,OAAwBA,EAAM4a,gBAA3DA,aACR,EAA8B5Y,IAAMrC,SAAqBynC,GAAcC,eAAezsB,IAAtF,mBAAOxV,EAAP,KAAgByjC,EAAhB,KACA,EAAwC7mC,IAAMrC,UAAkB,GAAhE,mBAAOmpC,EAAP,KAAqBC,EAArB,KAGA,EAAwC/mC,IAAMrC,SAAiB,GAA/D,mBAAOqpC,EAAP,KAAqBC,EAArB,KAGA,EAA0CjnC,IAAMrC,SAAsC,IAAtF,mBAAOymC,EAAP,KAAsB8C,EAAtB,KACMx4B,EAAwBmc,cACtB3e,EAAYnO,aAAY,SAACC,GAAD,OAAgBA,EAAMuQ,QAA9CrC,QACR,EAAmDnO,aAAY,SAACC,GAAD,OAAwBA,EAAMuQ,QAArFoB,EAAR,EAAQA,oBAAqBN,EAA7B,EAA6BA,kBAE7BnR,qBAAU,WACFmR,EAAkBnJ,SACtB2gC,EAAWzB,GAAcC,eAAezsB,IACxCquB,EAAgB53B,EAAkBnJ,QAElCwI,EAASkC,MACTu2B,GAAiB,GACjB93B,EAAkBxH,SAAQ,SAAC1H,GACzBuO,EAASgC,GAAUvQ,OAErBuO,EAAS3C,GAAUsD,EAAkBvJ,KAAI,SAAC3F,GAAD,OAAiBuH,OAAOC,KAAKxH,GAAQ,QAC9EuO,EAAST,MACTS,EAASmC,GAAqB,QAG/B,CAACxB,IAGJ,IAAM83B,EAAmB,SAACC,GACxB,IADqD,EACjDC,EAA2C,gBAAQjD,GADF,eAE/BhhC,GAF+B,IAErD,2BAA+B,CAAC,IAArB+8B,EAAoB,QACzBA,EAAQgC,mBAAqBhC,EAAQvS,YACvCuS,EAAQ8B,UAAY,GAEpB9B,EAAQL,QAAQj4B,SAAQ,SAACk4B,GACnBqH,IACFrH,EAAOnS,YAAa,MAGxByZ,EAAelH,EAAQjzB,MAAQizB,GACtBz4B,OAAOC,KAAKuE,GAASpH,SAASq7B,EAAQjzB,OAC/CizB,EAAQvS,YAAa,EACrBuS,EAAQ4B,kBAAmB,EAC3BsF,EAAelH,EAAQjzB,MAAQizB,UAExBkH,EAAelH,EAAQjzB,OAjBmB,8BAqBjDk6B,EACFL,GAAgB,GAEZr/B,OAAOC,KAAKuE,GAAShG,QACvB6gC,GAAgB,GAIpBG,EAAiBG,GAEjBjpC,YAAW,WACTsQ,EAAS2D,IAAuB,MAC/B,MAkCL,SAASgyB,EAAmBn8B,GAI1B,IAJ2C,IAAD,EACtCtE,EAAI,aAAOR,GACXkkC,EAAc,gBAAQlD,GAEjB17B,EAAQ,EAAGA,EAAQ9E,EAAKsC,OAAQwC,IACnC9E,EAAK8E,GAAOwE,OAAShF,EAAKgF,MAC5BtJ,EAAK8E,GAASR,EACTA,EAAKi6B,mBAAsBj6B,EAAK0lB,mBAC5B0Z,EAAep/B,EAAKgF,QAG7BtJ,EAAK8E,GAAO05B,iBAAkB,EAC9BkF,EAAep/B,EAAKgF,MAAQhF,GAIhC,IAAMq/B,EAAar/B,EAAK43B,QAAQ3/B,QAAO,SAAC4/B,GAAD,uBAAiBA,EAAOC,kBAAxB,aAAiB,EAAmB95B,UAAQ,IAC9EgC,EAAK65B,kBAAN,OAA0BwF,QAA1B,IAA0BA,GAA1B,UAA0BA,EAAYvH,kBAAtC,OAA0B,EAAwB95B,QAAUzI,EAAM+gC,UACpEJ,GAAcU,oBAAoBrhC,EAAM2iC,QAAS3iC,EAAM+gC,QAAS+I,EAAWvH,YAC3EtxB,EAAS3C,GAAUw7B,EAAWvH,cAGhCkH,EAAiBI,GACjBT,EAAWjjC,GAKb,SAA8BA,GAC5B,IAD8C,EAC1CgE,EAAQ,EACR4/B,GAAiB,EAFyB,eAGxB5jC,GAHwB,IAG9C,2BAA4B,CAAC,IAAlBu8B,EAAiB,SACtBA,EAAQvS,YAAcuS,EAAQgC,oBAChCv6B,IAEEu4B,EAAQ4B,mBAAqBpyB,IAC/B63B,GAAiB,IARyB,8BAY9CP,EAAgBr/B,GAChBm/B,EAAgBS,GAjBhBC,CAAqB7jC,GA0BvB,SAAS8jC,EAAgBx/B,GACvB,OAAQA,EAAKq6B,aACX,IAAK,kBACH,OACE,cAACwD,GAAD,CACE79B,KAAMA,EACNm8B,mBAAoBA,EACpBD,cAAeA,IAIrB,IAAK,OACH,OACE,cAACtB,GAAD,CACE56B,KAAMA,EACNm8B,mBAAoBA,EACpBD,cAAeA,IAIrB,IAAK,kBACH,OACE,cAACK,GAAD,CACEv8B,KAAMA,EACNm8B,mBAAoBA,EACpBD,cAAeA,IAIrB,IAAK,QACH,OACE,cAACsC,GAAD,CACEtC,cAAeA,EACfl8B,KAAMA,EACNk4B,QAAS3iC,EAAM2iC,QACf5B,QAAS/gC,EAAM+gC,QAGf6F,mBAAoBA,KAvH9BnmC,qBAAU,WACRipC,EAAiBx3B,GACbA,GACFo3B,GAAgB,KAGjB,CAAC76B,EAASyD,IAEbzR,qBAAU,WACR,GAAMkF,EAAQ8C,OAAQ,CACpB,IAAM6yB,EAAOrzB,GAAO8X,UAAUpa,GAC9BsL,EAASoK,GAAgBigB,OAE1B,CAACrqB,EAAUtL,IAgId,OACE,qBAAKrE,UAAU,iBAAf,SACE,qBAAKA,UAAU,qCAAf,SACE,qBAAKA,UAAU,yBAAf,SACE,sBAAKsB,GAAI,uBAAwBtB,UAAU,yBAA3C,UACE,sBAAKA,UAAU,yBAAf,UACGqlC,GAbiB,WAC5B,IAAMuD,EAAkB,cAClBz7B,EAAUxE,OAAO5G,OAAOsjC,GAAejkC,QAAO,SAAAA,GAAM,OAAIA,EAAOU,OAAS8mC,KACxEC,EAAqBlgC,OAAO5G,OAAOsjC,GAAejkC,QAAO,SAAAA,GAAM,OAAIA,EAAOU,OAAS8mC,KACzF,OAAOjgC,OAAO5G,OAAP,UAAA4G,OAAA,KAAAA,CAAkBkgC,GAAlBlgC,OAAA,KAAAA,CAAyCwE,KAUpC27B,GAAwB/hC,KAAI,SAACoC,EAAgBQ,GAAjB,OAC1B,cAAC,IAAM47B,SAAP,WACIp8B,EAAKi6B,mBAAqBj6B,EAAK0lB,aAAe1lB,EAAKq+B,eACnD,qBAAKxnC,UAAU,eAAf,SAA+B2oC,EAAgBx/B,MAF9BA,EAAKgF,SAM7BzP,EAAMqqC,cAAgBhB,GACrB,sBAAK/nC,UAAU,+BAA+BC,QA7I5D,WACE6nC,EAAWzB,GAAcC,eAAezsB,IACxCquB,EAAgB,GAMhBv4B,EAASkC,MACTlC,EAAST,MACTk5B,GAAiB,GACjBJ,GAAgB,IAkIJ,UACE,sBAAMhoC,UAAU,oCAAhB,SAAoD,kBACpD,sBAAMA,UAAU,qCAAhB,SAAqD,YAI1DtB,EAAMqqC,cACL,cAACzB,GAAD,CACEG,MAAOQ,EACP5jC,QAASA,EACTq/B,aAAc4B,EACdrC,SAzCc,WAE1B,IADA,IAAIp+B,EAAI,aAAOR,GACNsF,EAAQ,EAAGA,EAAQ9E,EAAKsC,OAAQwC,IACvC9E,EAAK8E,GAAO05B,iBAAkB,EAEhCyE,EAAWjjC,IAqCCw8B,QAAS3iC,EAAM2iC,QACf5B,QAAS/gC,EAAM+gC,SAAW,c,cC3PnC,SAASuJ,GAActqC,GAC5B,MAA8BE,mBAAmB,IAAjD,mBAAOqqC,EAAP,KAAgBC,EAAhB,KACA,EAAsCtqC,mBAAiB,IAAvD,mBAAOuqC,EAAP,KAAoBC,EAApB,KACA,EAA4BxqC,mBAAiB,IAA7C,mBAAOyO,EAAP,KAAe05B,EAAf,KACA,EAAkCnoC,mBAAmB,IAArD,mBAAOyqC,EAAP,KAAkBC,EAAlB,KACA,EAAwC1qC,mBAAmB,IAA3D,mBAAO2qC,EAAP,KAAqBC,EAArB,KACA,EAA8B5qC,oBAAkB,GAAhD,mBAAOwR,EAAP,KAAgBwb,EAAhB,KACA,EAAoChtB,oBAAkB,GAAtD,mBAAO6qC,EAAP,KAAmBC,EAAnB,KACA,EAAkC9qC,oBAAkB,GAApD,mBAAO+qC,EAAP,KAAkBC,EAAlB,KACA,EAA0BhrC,mBAAiB,IAA3C,mBAAO6F,EAAP,KAAckhC,EAAd,KACMrb,EAAWJ,mBAEjB/qB,qBAAU,WACR,GAAqB,WAAjBT,EAAM2H,OAAqB,CAC7B,IAAMwjC,EAAwB,IAAIC,IAClCprC,EAAMqrC,WAAWjhC,SAAQ,SAACiK,GACA,IAAD,EAOwB,EAP1CrU,EAAM83B,IAAIrvB,SACb,UAAA4L,EAAIkqB,YAAJ,SAAUn0B,SAAQ,SAAC8zB,GACE,WAAfA,EAAI1a,QACN2nB,EAAiB3kB,IAAI0X,EAAIzuB,UAI3BzP,EAAM83B,IAAIzwB,SAASgN,EAAIrU,EAAMsU,eAC/B,UAAAD,EAAIkqB,YAAJ,SAAUn0B,SAAQ,SAAC8zB,GACE,WAAfA,EAAI1a,QACN2nB,EAAiB3kB,IAAI0X,EAAIzuB,aAKjC+6B,EAAW,aAAIW,IACfje,GAAW,QAEXsd,EACExqC,EAAMu+B,KAAK8D,QACR3/B,QAAO,SAACw7B,GAAD,MAA6B,UAAfA,EAAI1a,UACzBnb,KAAI,SAACijC,GACJ,OAAOA,EAAK77B,SAGlByd,GAAW,KAGZ,IAEHzsB,qBAAU,WACJT,EAAM83B,IAAIrvB,OAAS,KACrBw+B,EAAS,4FAEV,CAACjnC,EAAM83B,MAEV,IA4CMyT,EAAW,YACVhB,EAAQljC,SAASojC,IAAgBA,EAAYhiC,OAAS,IACzDmiC,EAAa,GAAD,oBAAKD,GAAL,CAAgBF,KAC5BD,EAAW,CAACC,GAAF,oBAAkBF,KAC5BG,EAAe,MAIbtZ,EAAqB,SAACvI,GACtBkiB,GAAcr5B,GAGdka,EAAIpB,UAAYoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,SAC7C/rB,EAAM2tB,WAIJ6d,EAAS,WACbR,GAAc,GACdriC,GAAQ8C,QACNzL,EAAMm+B,QAAU,SAAW7uB,GAAa4B,WAAW3J,MAAM,KAAK,GAC9D,CAAEuwB,IAAK93B,EAAM83B,KAAO,GAAIyG,KAAuB,WAAjBv+B,EAAM2H,OAAsBkjC,EAAeF,GACxD,WAAjB3qC,EAAM2H,OAAsB,SAAW,QACvC0C,WACA,SAAChB,GACsB,WAAjBrJ,EAAM2H,QACR6iC,EAAWD,EAAQ7nC,QAAO,SAACw7B,GAAD,OAAe2M,EAAaxjC,SAAS62B,OAEjEwM,EAAe,IACfE,EAAa,IACbE,EAAgB,IAChBE,GAAc,GACdE,GAAa,MAEf,SAAAnlC,GACE2kC,EAAe,IACfE,EAAa,IACbE,EAAgB,IAChBE,GAAc,OAYpB,OAPAvqC,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,GAAoB,OAK5D,sBAAK9vB,UAAU,gBAAgBsqB,IAAKA,EAApC,UACGla,GAAW,cAACgY,GAAD,IACX3jB,EACC,sBAAKzE,UAAU,QAAf,UACE,qBAAK2sB,IAAI,oCAAoCD,IAAI,YACjD,8BAAMjoB,OAGR,GAEF,cAAC,GAAD,CAAQunB,SAAU+a,EAAW3a,aAAa,IAExB,QAAjB1tB,EAAM2H,OACL,sBAAKrG,UAAU,qBAAf,UACE,cAACotB,GAAD,CACEtrB,KAAK,OACL+rB,UAAW,GACXzB,YAAa,iBACb5nB,MAAO2kC,EACPnd,SAAU,SAACka,GACT0D,GAAa,GACbR,EAAelD,IAEjBlY,UAAW,SAACzG,GACQ,UAAdA,EAAM3nB,KACRqqC,OAIN,cAAC,GAAD,CAAQ5lB,KAAK,OAAOnc,KAAK,IAAIjI,QAASgqC,EAAUpO,YAAY,YAAY/5B,KAAK,cAG/E,GAEF,qBAAK9B,UAAU,mBAAf,SACsB,IAAnBipC,EAAQ9hC,QAAqC,IAArBkiC,EAAUliC,OACjC,8BAAK,sBAEL,oBAAI0gB,MAAO,CAAEtnB,OAAQ,OAAQm6B,SAAU,QAAvC,SA5GY,WAClB,IAAM9J,EAAsB,GAe5B,OAdAqY,EAAQngC,SAAQ,SAACkhC,KACV38B,GAAWA,GAAU28B,EAAKnqC,cAAckG,SAASsH,EAAOxN,iBAC3D+wB,EAAKve,KACH,6BACE,sBACErS,UAAWqqB,KAAW,CAAE8f,IAAKd,EAAUtjC,SAASikC,GAAO/kB,OAAQskB,EAAaxjC,SAASikC,KACrF/pC,QAAS,kBAjCD,SAAC28B,GACnB,IAAI6M,EAGJ,GAAqB,WAAjB/qC,EAAM2H,OAAqB,CAC7B,IAAM+jC,EAASb,EAAa92B,QAAQmqB,GACpC,GAAIwN,GAAU,EAAG,CACf,IAAMpQ,EAAI,aAAOuP,GACjBvP,EAAKxnB,OAAO43B,EAAQ,GACpBZ,EAAgBxP,QAEhBwP,EAAgB,GAAD,oBAAKD,GAAL,CAAmB3M,SAE/B,CACL,IAAMwN,EAASf,EAAU52B,QAAQmqB,GACjC,GAAIwN,GAAU,EAAG,CACf,IAAMpQ,EAAI,aAAOqP,GACjBrP,EAAKxnB,OAAO43B,EAAQ,GACpBd,EAAatP,QAEbsP,EAAa,GAAD,oBAAKD,GAAL,CAAgBzM,MAaPyN,CAAYL,IAF7B,SAIGA,UAMJpZ,EA4FiD0Z,OAGpC,QAAjB5rC,EAAM2H,OACL,sBAAKrG,UAAU,kBAAf,UACE,8BACKypC,EACD,cAACrhB,GAAD,IACEuhB,EACF,sBAAK3pC,UAAU,UAAf,UACE,yBAAa,kCAGf,4CAGJ,cAAC,GAAD,CACE8B,KAAK,SACLoG,KAAK,QACLjI,QAASiqC,EACTrO,YAAY,OACZxX,KAAK,QACLlgB,UAAWklC,EAAUliC,QAAUsiC,OAInC,sBAAKzpC,UAAU,kBAAf,UACE,8BACKypC,EACD,cAACrhB,GAAD,IACEuhB,EACF,4BAEA,2CAGJ,cAAC,GAAD,CACE7nC,KAAK,SACLoG,KAAK,SACLjI,QAASiqC,EACTrO,YAAY,QACZxX,KAAK,QACLlgB,UAAWolC,EAAapiC,QAAUsiC,UCzNvC,SAASc,GAAO7rC,GACrB,MAAgDE,oBAAkB,GAAlE,mBAAO4rC,EAAP,KAAyBC,EAAzB,KACA,EAAoC7rC,mBAAiB,IAArD,mBAAO8rC,EAAP,KAAmBC,EAAnB,KACQ9wB,EAAiB7a,aAAY,SAACC,GAAD,OAAwBA,EAAM4a,gBAA3DA,aACR,EAA2D4V,IAAoB,GAAvEnF,EAAR,EAAQA,IAAKqF,EAAb,EAAaA,mBAAoBC,EAAjC,EAAiCA,sBAE3B7I,EAAaC,qBAmCnB,OACE,sBAAKhnB,UAAU,iBAAiBsqB,IAAKA,EAArC,UACE,sBAAKtqB,UAAU,wBAAwBC,QAnC3C,WACM0vB,GACF8a,GAAoB,GAEtB7a,GAAuBD,IA+ByC,cAAajxB,EAAMksC,OAAjF,UACE,qBAAK5qC,UAAU,gBAAf,SAAgCtB,EAAMksC,SACtC,cAAC,GAAD,CAAWvqC,OAAQsvB,EAAoBxB,aAAcwB,OAEtD6a,GACC,cAAC,GAAD,CACEnkC,OAAQqkC,EACRzN,KAAMpjB,EAAazY,QAAO,SAAC4F,GAAD,MAAuB,SAAXA,EAAEmH,QAAiB,GACzDqoB,IAAK93B,EAAM83B,KAAO,GAClBnK,QAAS,kBAAMoe,GAAoB,IACnC5N,QAASn+B,EAAMm+B,QACf7pB,WAAYtU,EAAMsU,WAClB+2B,WAAYrrC,EAAMqrC,aAGrBpa,GACC,qBAAK3vB,UAAU,sBAAf,SACGtB,EAAM2F,QACJjD,QAAO,SAACgL,GAAD,OAAsBA,EAAOy+B,IAAM9jB,EAAM3a,EAAOy+B,MAASz+B,EAAOy+B,MACvE9jC,KAAI,SAACoC,EAAevJ,GACnB,OACE,sBAAKI,UAAWqqB,KAAW,qBAA3B,UACGlhB,EAAKrG,eAAiB,cAACqG,EAAKrG,cAAN,IACvB,qBAAK9C,UAAWqqB,KAAW,gBAAiBpqB,QAAS,kBAnDrE,SAAkBkJ,GAChB,IAAM2hC,EAAgBnkC,GAAOC,gBAAgB,WAC1B,aAAfuC,EAAKkD,OACPs+B,EAAc,OACdF,GAAoB,IACI,gBAAfthC,EAAKkD,OACds+B,EAAc,UACdF,GAAoB,IACI,8BAAfthC,EAAKkD,MACV3N,EAAM83B,IAAIrvB,OACZ5B,OAAOG,SAASC,KAAOgB,GAAOggB,uBAAP,UAClBthB,GAAIoC,mBADc,qEACiE/I,EAAM83B,IAAIlU,KAC9F,KAFmB,gBAMvB/c,OAAOG,SAASC,KAAhB,UAA0BN,GAAIoC,mBAA9B,2DACEuG,GAAa4B,WAAW3J,MAAM,KAAK,GADrC,sBAEc6kC,EAAa,mBAAeA,GAAkB,KAG9Dlb,GAAsB,GACtBlxB,EAAMqsC,eAAe5hC,IA6BkD6iB,CAAS7iB,IAApE,SACGA,EAAKkD,UAH4CzM,WCxF/D,SAASorC,KACd,IAAQ39B,EAAWrO,aAAY,SAACC,GAAD,OAAgBA,EAAMuQ,QAA7CnC,OACR,EAAoCpM,IAAMrC,SAAiByO,GAAU,IAArE,mBAAO49B,EAAP,KAAmBC,EAAnB,KACMv7B,EAAwBmc,cAiB9B,SAASqf,IACPD,EAAc,IACdv7B,EAAS8B,GAAY,KACrB9B,EAAST,MAUX,OA5BA/P,qBAAU,WAEN+rC,EADE79B,GAGY,MAEf,CAACA,IAuBF,cAAC+f,GAAD,CACER,KAAM,SACN9qB,KAAM,OACN0C,MAAOymC,EACPjd,UAzBJ,SAAuBzG,GACH,UAAdA,EAAM3nB,MACR+P,EAAS8B,GAAYw5B,EAAWhkC,SAChC0I,EAAST,QAuBT8c,SAbJ,SAAsBxnB,GACpB0mC,EAAc1mC,GACA,KAAVA,GACF2mC,KAWAld,YAAakd,I,+BCzBZ,SAASC,GAAc1sC,GAC5B,MAAgCE,oBAAS,GAAzC,mBAAOysC,EAAP,KAAiBC,EAAjB,KACA,EAAwC1sC,oBAAS,GAAjD,mBAAO2sC,EAAP,KAAqBC,EAArB,KACA,EAAkExsC,aAAY,SAACC,GAAD,OAAgBA,EAAMuQ,QAArFi8B,EAAf,EAAQ5iC,MAAkB4G,EAA1B,EAA0BA,YAAatC,EAAvC,EAAuCA,QAASE,EAAhD,EAAgDA,OAAQE,EAAxD,EAAwDA,MACxD,EAAuCvO,aAAY,SAACC,GAAD,OAAgBA,EAAMC,WAAjEgL,EAAR,EAAQA,aAAcmE,EAAtB,EAAsBA,aACdyL,EAAqB9a,aAAY,SAACC,GAAD,OAAgBA,EAAM4a,gBAAvDC,iBACJ4xB,EAAiB,UAAMj8B,EAAN,cAEfsX,EAAQC,qBAgBd7nB,qBAAU,WACR,IAAMwsC,EAAgB,SAAC,GACR,6BADoC,EAA1B9mC,OAErBvF,SAASuD,MAAQ,QACjB2oC,GAAgB,GAChBF,GAAY,KAIhB,OADA/lC,OAAOhG,iBAAiB,UAAWosC,GAC5B,WACLpmC,OAAO7F,oBAAoB,UAAWisC,MAEvC,IAyBH,IAAMC,EAAeltC,EAAMmtC,aAQrB1+B,GACJxE,OAAOC,KAAKuE,GAASrE,SAAQ,SAACK,EAAWQ,GACvC+hC,GACEviC,GACwB,KAAvBgE,EAAQhE,GAAMrH,KAAcqL,EAAQhE,GAAMrH,KAAO,IAClD,IACAqL,EAAQhE,GAAM3E,OACbmE,OAAOC,KAAKuE,GAAShG,OAAS,IAAMwC,EAAQ,GAAK,QAGlD0D,IACJq+B,GAAiB,UAASv+B,EAAU,IAAM,GAAzB,kBAAqCE,IAElDE,IACJm+B,GAAiB,UAASv+B,GAAaE,EAAS,IAAM,GAArC,oBAAmDE,IAEhErD,IACJwhC,GAAiB,UAASv+B,GAAaE,GAAYE,EAAQ,IAAM,GAAhD,iBAA2DrD,IAG9E,IAMI4hC,EANEllB,EAAcjgB,GAAOC,gBAAgB,WAEvCggB,IACF8kB,GAAiB,UAASv+B,GAAaE,GAAYE,GAAWrD,EAAe,IAAM,GAAlE,mBAA+E0c,IAKhGklB,EADEL,EAAY,IACD,yCACU,IAAdA,EACI,GAEA,YAWf,OACE,sBAAKzrC,UAAS,gBAAd,UACGqrC,GACC,wBACE/pC,GAAG,mBACH6M,KAAK,mBACLwe,IAAG,qCAAgC+e,GACnC7jB,MAAO,CAAEkkB,SAAU,WAAYC,KAAM,KACrCnpC,MAAM,mBAGV,sBAAK7C,UAAU,wBAAf,UACE,sBAAKA,UAAU,0BAAf,UAlBF+mB,EAAMklB,cACNvtC,EAAMwtC,gBACNxtC,EAAMwtC,eAAextC,EAAM+G,OAC3B/G,EAAMwtC,eAAextC,EAAM+G,MAAM/G,EAAMytC,UAiBjC,cAAC,GAAD,CACErqC,KAAK,SACLuiB,KAAK,QACLwX,YAAan9B,EAAM0tC,eAAiB,OAAS,YAC7ClkC,KAAK,QACL0kB,KAAMluB,EAAM0tC,eAAiB,YAAc,gBAC3CnsC,QAASvB,EAAM2tC,eACfrsC,UAAS,8BAAyBtB,EAAM4tC,mBAAsC,IAAlBj+B,EAAsB,SAAW,MAGjG,qBAAKrO,UAAU,4BAAf,SACE,cAACgrC,GAAD,MAEF,cAACnD,GAAD,CAEEkB,aAAcrqC,EAAMqqC,aACpBwD,sBAAuB7tC,EAAM6tC,sBAG7BlL,QAAS3iC,EAAM8tC,QACf/M,QAAS/gC,EAAM+gC,aAGnB,sBAAKz/B,UAAU,2BAAf,UACGtB,EAAM+tC,qBACL,cAACrlB,GAAA,EAAD,CAAQjjB,SAA0C,IAAhCzF,EAAMguC,eAAevlC,OAAvC,SACE,qBAAKlH,QA9GjB,WACEvB,EAAMiuC,kBAAkB,CACtBnW,IAAK93B,EAAMguC,eAEXx8B,KAAMxR,EAAMqrC,WACZyC,QAAS9tC,EAAM8tC,WAyG0BxsC,UAAS,0CAjHb,IAAhCtB,EAAMguC,eAAevlC,OAAe,0CAA4C,IAiH7E,SACGzI,EAAM+tC,wBAIZ3yB,GACC,cAAC6mB,GAAD,CAEEU,QAAS3iC,EAAM8tC,QACf/M,QAAS/gC,EAAM+gC,QACfzsB,WAAYtU,EAAMsU,aAIrBtU,EAAMkuC,eACL,cAACrC,GAAD,CACEQ,eArHZ,SAAwB5hC,GACtBzK,EAAMiuC,kBAAkB,CACtBnW,IAAK93B,EAAMguC,eAEXx8B,KAAMxR,EAAMqrC,WACZ8C,SAAU1jC,EACVqjC,QAAS9tC,EAAM8tC,WAgHPnoC,QAAS3F,EAAMkuC,cAAcvoC,QAC7BumC,OAAQlsC,EAAMkuC,cAAchC,OAC5BpU,IAAK93B,EAAMguC,eACX7P,QAASn+B,EAAMkuC,cAAc/P,QAC7B7pB,WAAYtU,EAAMsU,WAClB+2B,WAAYrrC,EAAMqrC,aAGrBrrC,EAAMmtC,aAAe,cAACD,EAAD,CAAcpV,IAAK93B,EAAMguC,iBAAqB,GACpE,sBAAK1sC,UAAU,yCAAf,UACGtB,EAAMouC,iBAAmBpuC,EAAMquC,mBAC9B,cAACC,GAAA,EAAD,CACEnqC,MAAM,eACNsmB,UAAU,aACVuH,OAAO,EACPuG,QAAS,CAAEgW,QAAS,wBAJtB,SAME,mBAAGtnC,KAAMjH,EAAMouC,gBAAiB9sC,UAAU,oBAAoB,WAAS,eAAvE,SACE,cAAC,GAAD,CAAOA,UAAU,oBAAoB0sB,IAAI,MAAME,KAAM,MAAO9qB,KAAK,YAKtEpD,EAAMwuC,8BACL,qCACG3B,GACC,qBAAKvrC,UAAU,cAAf,SACE,cAACmtC,GAAA,EAAD,OAGF5B,GACA,cAACyB,GAAA,EAAD,CACEnqC,MAAOipC,EACP3iB,UAAU,aACVuH,OAAO,EACPuG,QAAS,CAAEgW,QAAS,4BAJtB,SAME,+BACE,qBACEhtC,QAjJM,WAC1BX,SAASuD,MAAQ4M,EAAY1J,SAAS,SAAW,4BAA8B,6BAC/EylC,GAAgB,GAChBF,GAAY,IA+IQtrC,UAAS,4BACPyrC,EAAY,KAAsB,IAAdA,EAAkB,sBAAwB,IAHlE,SAME,cAAC,GAAD,CAAO/e,IAAI,MAAME,KAAM,MAAO9qB,KAAK,6B,OCzOpD,SAASsrC,GAAgB1uC,GAC9B,OACE,sBAAKgC,MAAM,6BAA6BJ,MAAM,MAAMC,OAAO,MAAMC,QAAQ,cAAcC,KAAK,OAA5F,UACE,yBAASsnB,GAAG,MAAMC,GAAG,MAAMqlB,GAAG,KAAKC,GAAG,IAAI7sC,KAAK,YAC/C,sBAAME,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,iEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,iEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,wBAAQinB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,sBAAME,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,2DAA2DC,OAAO,UAAUE,eAAe,UACnG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBACEH,EAAE,mEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,mEACFC,OAAO,UACPE,eAAe,UAEjB,wBAAQinB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,SAASC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,SAASC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,SAASC,GAAG,SAAS9U,EAAE,UAAUzS,KAAK,YACjD,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUzS,KAAK,YAClD,sBACEE,EAAE,0JACFF,KAAK,UACLG,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBACE5sC,EAAE,0LACFF,KAAK,YAEP,sBACEE,EAAE,0JACFF,KAAK,UACLG,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBACE5sC,EAAE,0LACFF,KAAK,YAEP,sBACEE,EAAE,wJACFF,KAAK,UACLG,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBACE5sC,EAAE,mLACFF,KAAK,YAEP,sBACEE,EAAE,oKACFF,KAAK,UACLG,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBACE5sC,EAAE,gMACFF,KAAK,YAEP,sBACEE,EAAE,oKACFF,KAAK,UACLG,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBACE5sC,EAAE,gMACFF,KAAK,e,OCpJN,SAAS+sC,GAAa9uC,GAC3B,OACE,sBAAKgC,MAAM,6BAA6BJ,MAAM,MAAMC,OAAO,MAAMC,QAAQ,cAAcC,KAAK,OAA5F,UACE,sBAAME,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,iEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,iEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,wBAAQinB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,sBACEE,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,mEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,mEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,mEACFC,OAAO,UACPE,eAAe,UAEjB,wBAAQinB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUu6B,UAAU,+BAA+BhtC,KAAK,YAC5F,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUu6B,UAAU,+BAA+BhtC,KAAK,YAC5F,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUu6B,UAAU,+BAA+BhtC,KAAK,YAC5F,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUu6B,UAAU,+BAA+BhtC,KAAK,YAC5F,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUu6B,UAAU,+BAA+BhtC,KAAK,YAC5F,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUu6B,UAAU,+BAA+BhtC,KAAK,YAC5F,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUu6B,UAAU,+BAA+BhtC,KAAK,YAC5F,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUu6B,UAAU,+BAA+BhtC,KAAK,YAC5F,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUu6B,UAAU,+BAA+BhtC,KAAK,YAC5F,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUu6B,UAAU,8BAA8BhtC,KAAK,YAC1F,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUu6B,UAAU,8BAA8BhtC,KAAK,YAC1F,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUu6B,UAAU,8BAA8BhtC,KAAK,YAC1F,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUu6B,UAAU,8BAA8BhtC,KAAK,YAC1F,sBAAME,EAAE,2EAA2EF,KAAK,YACxF,wBAAQsnB,GAAG,KAAKC,GAAG,KAAK9U,EAAE,KAAKzS,KAAK,UAAUitC,YAAY,QAC1D,sBACE/sC,EAAE,6HACFF,KAAK,UAEP,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBACEE,EAAE,oOACFF,KAAK,YAEP,sBACEE,EAAE,6HACFC,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBAAM5sC,EAAE,kFAAkFF,KAAK,YAC/F,wBAAQsnB,GAAG,KAAKC,GAAG,MAAM9U,EAAE,KAAKzS,KAAK,UAAUitC,YAAY,QAC3D,sBACE/sC,EAAE,6HACFF,KAAK,UAEP,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBACEE,EAAE,4OACFF,KAAK,YAEP,sBACEE,EAAE,6HACFC,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBAAM5sC,EAAE,8EAA8EF,KAAK,YAC3F,wBAAQsnB,GAAG,KAAKC,GAAG,KAAK9U,EAAE,KAAKzS,KAAK,UAAUitC,YAAY,QAC1D,sBACE/sC,EAAE,6HACFF,KAAK,UAEP,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBAAMc,EAAE,KAAKC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC3D,sBACEE,EAAE,6HACFC,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBAAM5sC,EAAE,qFAAqFF,KAAK,YAClG,wBAAQsnB,GAAG,MAAMC,GAAG,KAAK9U,EAAE,KAAKzS,KAAK,UAAUitC,YAAY,QAC3D,sBACE/sC,EAAE,gIACFF,KAAK,UAEP,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBACEE,EAAE,oOACFF,KAAK,YAEP,sBACEE,EAAE,gIACFC,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBACE5sC,EAAE,4FACFF,KAAK,YAEP,wBAAQsnB,GAAG,MAAMC,GAAG,MAAM9U,EAAE,KAAKzS,KAAK,UAAUitC,YAAY,QAC5D,sBACE/sC,EAAE,gIACFF,KAAK,UAEP,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBACEE,EAAE,gIACFC,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,QAElB,sBAAM5sC,EAAE,qFAAqFF,KAAK,YAClG,wBAAQsnB,GAAG,MAAMC,GAAG,KAAK9U,EAAE,KAAKzS,KAAK,UAAUitC,YAAY,QAC3D,sBACE/sC,EAAE,gIACFF,KAAK,UAEP,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBAAMc,EAAE,MAAMC,EAAE,UAAUlB,MAAM,KAAKC,OAAO,IAAI8sC,GAAG,IAAI5sC,KAAK,YAC5D,sBACEE,EAAE,oOACFF,KAAK,YAEP,sBACEE,EAAE,gIACFC,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,W,OCpOjB,SAASI,GAAYjvC,GAC1B,OACE,sBAAKgC,MAAM,6BAA6BJ,MAAM,MAAMC,OAAO,MAAMC,QAAQ,cAAcC,KAAK,OAA5F,UACE,yBAASsnB,GAAG,MAAMC,GAAG,QAAQqlB,GAAG,KAAKC,GAAG,MAAM7sC,KAAK,YACnD,sBAAME,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,wBAAQinB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,sBAAME,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBAAMH,EAAE,4DAA4DC,OAAO,UAAUE,eAAe,UACpG,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,oEACFC,OAAO,UACPE,eAAe,UAEjB,wBAAQinB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,SAASC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,UAAUC,GAAG,SAAS9U,EAAE,UAAUzS,KAAK,YAClD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,wBAAQsnB,GAAG,UAAUC,GAAG,UAAU9U,EAAE,UAAUzS,KAAK,YACnD,yBAASsnB,GAAG,UAAUC,GAAG,MAAMqlB,GAAG,KAAKC,GAAG,IAAI7sC,KAAK,YACnD,sBACEE,EAAE,oHACFF,KAAK,UACLG,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,mGACFF,KAAK,YAEP,sBACEE,EAAE,oGACFC,OAAO,UACPE,eAAe,UAEjB,sBACEH,EAAE,2FACFC,OAAO,UACPC,cAAc,QACdC,eAAe,UAEjB,sBACEH,EAAE,mEACFC,OAAO,UACPE,eAAe,UAEjB,sBAAMH,EAAE,2BAA2BC,OAAO,YAC1C,sBACEqnB,SAAS,UACTC,SAAS,UACTvnB,EAAE,kPACFF,KAAK,YAEP,sBACEwnB,SAAS,UACTC,SAAS,UACTvnB,EAAE,uVACFF,KAAK,YAEP,sBACEE,EAAE,gKACFF,KAAK,QACLG,OAAO,UACPC,cAAc,QACdC,eAAe,QACfysC,gBAAgB,iBAElB,sBACE5sC,EAAE,oLACFC,OAAO,UACPC,cAAc,QACdC,eAAe,UAEjB,sBACES,EAAE,UACFC,EAAE,UACFlB,MAAM,UACNC,OAAO,UACP8sC,GAAG,UACHI,UAAU,8BACVhtC,KAAK,UACLG,OAAO,e,WCtJTgtC,GACJ,sBAAKttC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBAAMJ,MAAM,KAAKC,OAAO,KAAK8sC,GAAG,UAAU5sC,KAAK,YAC/C,sBACEE,EAAE,wjBACFF,KAAK,aAKJ,SAASotC,GAAanvC,GAC3B,OACE,sBAAKsB,UAAU,eAAf,WACItB,EAAMovC,SACN,sBAAKxtC,MAAM,OAAOC,OAAO,OAAOC,QAAQ,eAAeC,KAAK,OAAOC,MAAM,6BAAzE,UACE,sBACEqtC,QAAQ,MACR9lB,SAAS,UACTC,SAAS,UACTvnB,EAAE,okBACFF,KAAK,oCAEP,+BACE,iCACEa,GAAG,4BACH0sC,GAAG,QACHC,GAAG,IACHC,GAAG,QACHC,GAAG,MACHC,cAAc,iBANhB,UAQE,sBAAMC,UAAU,YAChB,sBAAMld,OAAO,IAAIkd,UAAU,UAAUC,YAAY,cAKzD,sBAAKtuC,UAAWqqB,KAAW,CAAE,eAAgB3rB,EAAMovC,SAAW,CAAE,mBAAsC,SAAlBpvC,EAAMovC,UAA1F,UACE,8BAAMF,KACN,cAAC,KAAD,CAAMW,SAAU,GAAIzd,UAAU,UAAUjJ,MAAO,CAAE+P,UAAW,IAA5D,SACGl5B,EAAMwJ,MAAQ,oC,OCrClB,SAASsmC,GAAc9vC,GAgB5B,OACE,sBACEsB,UAAWqqB,KACT,CAAE,sBAAsC,cAAf3rB,EAAMoD,MAC/B,CAAE,0BAA0C,cAAfpD,EAAMoD,MACnC,CAAE,6BAA6C,iBAAfpD,EAAMoD,OAJ1C,UAOE,qBAAK9B,UAAU,qBAAf,SAvBJ,WACE,OAAQtB,EAAMoD,MACZ,IAAK,eACH,OAAO,cAACsrC,GAAD,IACT,IAAK,eACH,OAAO,cAACI,GAAD,IACT,IAAK,YACH,OAAO,cAAC,GAAD,CAAcM,QAASpvC,EAAMovC,UACtC,IAAK,eACH,OAAO,cAAC,GAAD,CAAcA,QAASpvC,EAAMovC,QAAS5lC,KAAK,iCACpD,QACE,OAAO,cAACylC,GAAD,KAY4Bc,KACrC,qBAAKzuC,UAAU,0B,yBCkER0uC,GAAsB,I,iDAlFjC5hC,W,+CAEA,WAEE,OADA9L,KAAK8L,MAAQ2D,KAAYyK,MAAM3V,OAAOG,SAAS2H,QACxCrM,KAAK8L,MAAMO,S,qBAGpB,WAEE,OADArM,KAAK8L,MAAQ2D,KAAYyK,MAAM3V,OAAOG,SAAS2H,QACxCrM,KAAK8L,MAAM6hC,W,sBAGpB,WAEE,OADA3tC,KAAK8L,MAAQ2D,KAAYyK,MAAM3V,OAAOG,SAAS2H,QACxCrM,KAAK8L,MAAM8hC,Q,wBAGpB,WAEE,OADA5tC,KAAK8L,MAAQ2D,KAAYyK,MAAM3V,OAAOG,SAAS2H,QACxCrM,KAAK8L,MAAMvG,U,uBAGpB,WAEE,OADAvF,KAAK8L,MAAQ2D,KAAYyK,MAAM3V,OAAOG,SAAS2H,QACxCrM,KAAK8L,MAAMG,S,wBAGpB,WAEE,GADAjM,KAAK8L,MAAQ2D,KAAYyK,MAAM3V,OAAOG,SAAS2H,SAC1CrM,KAAK8L,MAAMK,QACd,MAAO,GAET,IAAMA,EAAoB,GACpB0hC,EAAc7pC,KAAKkW,MAAMla,KAAK8L,MAAMK,SAC1C,IAAK,IAAM/L,KAAUytC,EAAa,CAChC,MAAmCztC,EAAO6E,MAAM,MAAhD,mBAAO6oC,EAAP,KAAoBtL,EAApB,KACMuL,EAAeF,EAAYztC,GACjC+L,EAAQ2hC,GAAe,CAAEhtC,KAAK,GAAD,OAAK0hC,EAAW,YAAQA,GAAgB,IAAMh/B,MAAOuqC,GAEpF,OAAO5hC,I,4BAGT,SAAeA,EAAmBE,EAAgBE,EAAeqhC,EAAe3hC,GAC9E,IAAMzF,EAAM,IAAI0b,IAAI3d,OAAOG,SAASC,MAEpC,GAAIgD,OAAOC,KAAKuE,GAAShG,OAAQ,CAC/B,IAAMyZ,EAAc,GACpB,IAAK,IAAMxf,KAAU+L,EACnByT,EAAI,GAAD,OAAIxf,GAAJ,OAAa+L,EAAQ/L,GAAQU,OAAUqL,EAAQ/L,GAAQoD,MAE5DgD,EAAI2b,aAAa6rB,IAAI,UAAWhqC,KAAKC,UAAU2b,SAE/CpZ,EAAI2b,aAAaU,OAAO,WAGtBxW,EACF7F,EAAI2b,aAAa6rB,IAAI,SAAU3hC,GAE/B7F,EAAI2b,aAAaU,OAAO,UAGtB5W,EACFzF,EAAI2b,aAAa6rB,IAAI,SAAU/hC,GAE/BzF,EAAI2b,aAAaU,OAAO,UAGtBtW,EACF/F,EAAI2b,aAAa6rB,IAAI,WAAYzhC,GAEjC/F,EAAI2b,aAAaU,OAAO,YAGtB+qB,EACFpnC,EAAI2b,aAAa6rB,IAAI,QAASJ,GAE9BpnC,EAAI2b,aAAaU,OAAO,SAE1Bte,OAAOue,QAAQC,aAAa,KAAM,GAAIvc,O,aC5EnC,SAASynC,GAAWvwC,GACzB,MAAwBE,oBAAkB,GAA1C,mBAAOmqB,EAAP,KAAammB,EAAb,KACMv/B,EAAWmc,cACTzd,EAAiBrP,aAAY,SAACC,GAAD,OAAgBA,EAAMC,WAAnDmP,aAEFyV,EAAUgD,cAEhB3nB,qBAAU,WACR+vC,EAAQxwC,EAAMqqB,QACb,CAACrqB,EAAMqqB,OAEV5pB,qBAAU,WACR,OAAO,WACLwQ,EAASf,IAAY,OAEtB,CAACe,IAEJ,IAAMw/B,EAAW,SAAC5nC,GAChB,IAAM6nC,EACJC,UAAU9nC,EAAK+nC,WAAW,IAAK,QAC/BD,UACE9pC,OAAOG,SAASI,SAAWP,OAAOG,SAAS2H,OAAOzH,QAAQ,aAAc,KAAKA,QAAQ,eAAgB,MAGzG,OADAlH,EAAM6wC,OAAOH,GACNA,GA8BHI,EAAe,SAACC,GAAD,OAAe,SAACnc,GACnCA,EAAGC,kBACH5jB,EAAS+C,MACThU,EAAM6wC,QAAO,GACbzrB,EAAQzR,KAAKo9B,EAAKloC,KAAK+nC,WAAW,IAAK,QAGzC,OAAK5wC,EAAMmG,KAAKnG,EAAM+G,OAAU/G,EAAMmG,KAAKnG,EAAM+G,MAAM/G,EAAM2S,KAK3D,sBACErR,UAAWqqB,KAAW,aAAc,CAClCtB,KAAMA,IAFV,UAKE,sBAAK/oB,UAAU,SAAf,UACE,+BAAM,gBACN,sBAAMA,UAAWqO,GAAgB,EAAI,SAAW,GAAIpO,QAhCpC,SAACqzB,GACjBjlB,EAAe,IAGnBsB,EAASf,IAAY,IACrBe,EAAS2D,IAAuB,IAChC3D,EAAS+C,MACT/C,EAAST,MACTS,EAASkC,MACTnT,EAAM6wC,QAAO,GACbzrB,EAAQzR,KAAK3T,EAAMmG,KAAKnG,EAAM+G,MAAM/G,EAAM2S,KAAKq+B,QAAQJ,WAAW,IAAK,QAsBnE,SAA4E,kBAI9E,qBAAKtvC,UAAU,mBAAf,SACE,qBAAKA,UAAU,QAAf,SACE,oBAAIA,UAAWqqB,KAAW,CAAEtB,KAAMA,IAAlC,SACGrqB,EAAMmG,KAAKnG,EAAM+G,MAAM/G,EAAM2S,KAAKs+B,MAAM5oC,KAAI,SAAC0oC,EAAW9lC,GACvD,OACE,qBAEE1J,QAAS,kBAzDL,SAACsH,EAAcoC,GAC7B0E,IAAiB1E,IAIrBgG,EAASsC,GAAK,KACdtC,EAASkC,MACTlC,EAAS8B,GAAY,KACrB9B,EAASuC,GAAU,KAEnBvC,EAASf,GAAWjF,IACpBma,EAAQzR,KAAK9K,EAAK+nC,WAAW,IAAK,OA8CLM,CAAYH,EAAKloC,KAAMoC,IACtC3J,UAAWqqB,KAAW,CAAE/lB,SAAU+J,IAAiB1E,IAHrD,UAKE,sBAAK3J,UAAU,uBAAf,UACE,8BACE,qBAAKA,UAAU,OAAO2sB,IAAG,gCAAmCD,IAAI,YAElE,8BAAM+iB,EAAKpjC,WAEZgC,IAAiB1E,GAASwlC,EAASM,EAAKloC,OACvC,sBAAKvH,UAAU,UAAf,UACGqO,IAAiB1E,GAASwlC,EAASM,EAAKloC,OAAS,qBAAKvH,UAAU,eAAf,SAA8B,WAChF,sBAAMA,UAAU,QAAQC,QAASuvC,EAAaC,GAA9C,SAAqD,eAbpD9lC,eArBZ,K,kBCtCPkmC,GC+CWC,GA7EQ,WACrB,IAAQn0B,EAAmB3c,aAAY,SAACC,GAAD,OAAgBA,EAAM4d,aAArDlB,eACR,EAA0C/c,mBAAc,IAAxD,mBAAOmxC,EAAP,KAAsBC,EAAtB,KACA,EAAwCpxC,mBAAc,IAAtD,mBAAOqxC,EAAP,KAAqBC,EAArB,KACA,EAAkCtxC,oBAAS,GAA3C,mBAAOuxC,EAAP,KAAkBC,EAAlB,KACA,EAA0BxxC,mBAAS,IAAnC,mBAAOiE,EAAP,KAAcwtC,EAAd,KAEAlxC,qBAAU,WACR,GAAMwc,EACJ,GAAIhV,GAAO+b,WAAW/G,GAAiB,CACrC,IAAMnU,EAAG,6CAAyCmU,EAAzC,kFACTtU,GAAQe,QAAQZ,GAAKuB,WAAU,SAAChB,GAC9B,IAAMlD,EAAOkD,EAAS6L,QAAQ7M,KAAI,SAACoC,GAAD,OAAeA,EAAKqqB,SACtDwc,EAAiBnrC,GACjBqrC,EAAgBrrC,GAChBwrC,EAAS,GAAD,OAAItoC,EAASc,MAAb,WACRunC,GAAa,WAGfA,GAAa,GACb9Y,QAAQC,IAAR,sBAA2B5b,MAG9B,CAACA,IAWJ,OACE,sBAAK3b,UAAU,mBAAmB6nB,MAAOsoB,EAAY,CAAE7vC,MAAO,KAAQ,GAAtE,UACG6vC,GAAa,cAAC/nB,GAAD,KACZ+nB,GACA,qCACE,qBAAKnwC,UAAU,SAAf,SACE,cAAC,KAAD,CAAMuuC,SAAU,GAAI+B,OAAQ,IAA5B,SACGztC,MAGL,sBAAK7C,UAAU,qBAAf,UACE,cAAC,GAAD,CAAQgsB,SApBD,SAACukB,GAChB,GAAgB,KAAZA,EACFL,EAAgBH,OACX,CACL,IAAMS,EAAeT,EAAc3uC,QAAO,SAAC+H,GAAD,OAAeA,EAAKpD,SAASwqC,MACvEL,EAAgBM,OAgBV,mBACExwC,UAAU,WACV2F,KAAI,UAAKN,GAAIoC,mBAAT,8CAAiEkU,EAAjE,iEACJ,WAAS,gBACT,WAAS,SAJX,SAME,qBAAKgR,IAAI,yBAAyBD,IAAI,gBAG1C,qBAAK1sB,UAAU,mBAAf,SACE,qBAAKA,UAAU,qBAAf,WACKiwC,GACDA,EAAalpC,KAAI,SAACoC,GAChB,OACE,qBAAKnJ,UAAU,wBAAf,SACE,cAAC0qB,GAAD,CACEpD,GAAE,4CAAuCne,EAAvC,gBACFjB,KAAM,cAAC,KAAD,CAAMqmC,SAAU,GAAhB,SAAqBplC,IAC3BnJ,UAAU,8B,UCbnBywC,GArDG,SAAC/xC,GACjB,MAAiDM,aAAY,SAACC,GAAD,OAAgBA,EAAM4d,aAA3EnB,EAAR,EAAQA,qBAAsBC,EAA9B,EAA8BA,eAC9B,EAA4B/c,oBAAkB,GAA9C,mBAAO8xC,EAAP,KAAeC,EAAf,KACMhhC,EAAWmc,cAEjB3sB,qBAAU,WACRwxC,EAAUjyC,EAAMqqB,QACf,CAACrqB,EAAMqqB,OAkBV,OACE,sBAA0B/oB,UAAU,uBAAuB6nB,MAAO,CAAEuI,QAAS,QAA7E,UACGsgB,GAAU,qBAAK1wC,UAAU,gBAC1B,qBACEA,UAAWqqB,KAAW,YAAa,CACjCtB,KAAM2nB,IAFV,SAKE,sBAAK1wC,UAAWqqB,KAAW,CAAEtB,KAAM2nB,IAAW7oB,MAAO,CAAEtnB,OAAQ,QAA/D,UACE,qBACEosB,IAAI,uBACJD,IAAI,QACJ1sB,UAAU,gBACVC,QAlBW,WACnB0P,EAASkM,IAAmB,IAC5BlM,EAASiM,GAAkB,MAiBnB,cAAY,8BAGd,qBAAK5b,UAAU,qBAAf,SACE,cAAC4wC,GAAA,EAAD,CAAM/uC,IAAE,EAACgvC,QAAS,IAAlB,SACE,8BAnCgB,WAC1B,OAAQn1B,GACN,IAAK,QACH,OAAO,cAAC,GAAD,IACT,IAAK,eACH,OAAO,cAAC,KAAD,UAAM,iBACf,QACE,OAAO,cAAC,KAAD,UAAM,aA4BDo1B,gBAlBNn1B,I,OC7BP,SAASo1B,GAASryC,GACvB,OACE,8BACE,sBAAKsB,UAAU,mBAAf,UACE,sBAAKA,UAAU,YAAf,UAA2B,WAAS2G,GAAOmY,iBAAiBpgB,EAAMsyC,OAAO,WACxEtyC,EAAMuyC,cAAgB,iCAAM,QAAQvyC,EAAMuyC,cAAc,gBAAoB,QHgC9E,SAASxZ,GAAK/4B,GACnB,IA0BIwyC,EA1BEn8B,EAAcmV,mBACpB,EAA4CtrB,mBAA6B,IAAzE,mBAAO8tC,EAAP,KAAuByE,EAAvB,KACA,EAAoCvyC,oBAAkB,GAAtD,mBAAOwyC,EAAP,KAAmBC,EAAnB,KACA,EAA8CzyC,mBAAwB,IAAtE,mBAAO0yC,EAAP,KAAwBC,EAAxB,KACA,EAAgD3yC,oBAAkB,GAAlE,mBAAO0tC,EAAP,KAAyBkF,EAAzB,KACA,EAA4C5yC,mBAAc,IAA1D,mBAAOstC,EAAP,KAAuBuF,EAAvB,KACA,EAaIzyC,aAAY,SAACC,GAAD,OAAgBA,EAAMuQ,QAZpCU,EADF,EACEA,KACAE,EAFF,EAEEA,QACAD,EAHF,EAGEA,aACAH,EAJF,EAIEA,SACAnH,EALF,EAKEA,MACA0E,EANF,EAMEA,MACAJ,EAPF,EAOEA,QACAE,EARF,EAQEA,OACAJ,EATF,EASEA,OACAyD,EAVF,EAUEA,eACAC,EAXF,EAWEA,cACAE,EAZF,EAYEA,gBAEF,EAAyD7R,aAAY,SAACC,GAAD,OAAgBA,EAAMC,WAAnFmP,EAAR,EAAQA,aAAcnE,EAAtB,EAAsBA,aAAcqE,EAApC,EAAoCA,iBAC5BqC,EAAwB5R,aAAY,SAACC,GAAD,OAAwBA,EAAMuQ,QAAlEoB,oBACA4K,EAAoBxc,aAAY,SAACC,GAAD,OAAwBA,EAAM4d,aAA9DrB,gBACF9V,EAAWgsC,cAEX/hC,EAAWmc,cAGX/E,EAAQC,qBAER2qB,EAAkB,WACtBT,EAAoB7xC,YAAW,WAC7BgyC,GAAc,GACd5xC,aAAayxC,KACZ,MAGCU,EAAkB,WACtB,IAAMvkC,EAASqhC,GAAoBmD,YAC7BtkC,EAAQmhC,GAAoBoD,UAC5B3kC,EAAUuhC,GAAoBqD,aAC9B9kC,EAASyhC,GAAoBsD,YAC7BpD,EAAQF,GAAoBuD,WAYlC,GAXIrD,GACFj/B,EAASd,GAAgB+/B,IAE3Bj/B,EAAS8B,GAAYpE,IACjBJ,IACF0C,EAASuC,GAAUC,MAAMC,QAAQnF,GAAUA,EAASA,EAAOhH,MAAM,OACjEo5B,GAAcM,YAAY5qB,EAAQrW,EAAM+gC,QAASxyB,GACjDoyB,GAAcU,oBAAoBhrB,EAAQrW,EAAM+gC,QAASxyB,IAE3D0C,EAASsC,GAAK1E,IAEV5E,OAAOC,KAAKuE,GAAShG,OACvB,IAAK,IAAI/F,KAAU+L,EACjBwC,EAASgC,GAAU,gBAAGvQ,EAAS+L,EAAQ/L,WAGzCuO,EAASkC,OAIb1S,qBAAU,WACHuR,GAGLkhC,MAEC,CAACjiC,EAAUjR,EAAM6I,OAEpBpI,qBAAU,YACJkP,GAAgB,GAAKuC,KACvBghC,IACAjiC,EAAST,SAGV,CAACxJ,IAEJvG,qBAAU,WACHuR,IAGLg+B,GAAoBt9B,eAAejE,EAASE,EAAQE,EAAOrD,EAAc+C,GACzE0C,EAASyB,GAAe,CAAEC,IAAK3S,EAAMytC,QAAS76B,GAAI/L,OAAOG,SAAS2H,aAEjE,CAACF,EAASF,EAAQI,EAAQE,EAAOrD,EAAcyF,IAElDxQ,qBAAU,WACJ0wC,IACFA,GAAQqC,QAEVviC,EAASsB,MACTtB,EAASqM,MACTrM,EAASZ,IAAmB,IAC5B8gC,GAAUlgC,EAAST,QAClB,CAACS,EAAUjR,EAAM6I,OAEpBpI,qBAAU,WACJ6Q,GACFL,EAASI,QAEV,CAACJ,EAAUK,IAEd7Q,qBAAU,WACR,GAAI+Q,EAAK/I,OAAQ,CACf,IAAMgrC,EAAenkC,GAAa4B,WAC9B88B,EAAevlC,OAAS,IAC1BoqC,EACEa,EAAuBD,EAAY,WAAOzzC,EAAMsU,WAAb,gBAA+B05B,EAAepqB,KAAK,QAGxFivB,EAAmBa,EAAuBD,IAE5CtC,QAAU1pC,KAEX,CAAC+J,EAAMw8B,EAAgBhuC,EAAMsU,aAEhC7T,qBAAU,WASR,OANAG,SAASC,iBAAiB,UAAWoyC,GAErCtqC,GAAQe,QAAQ,8BAA8BW,WAAU,SAAChB,GACvD0pC,EAAkB1pC,MAGb,WACLzI,SAASI,oBAAoB,UAAWiyC,GACxClyC,aAAayxC,MAId,IAEH,IAMMkB,EAAyB,SAAC7qC,GAC9B,OAAOZ,GAAOggB,uBAAP,UAAiCpf,EAAjC,iBAuET,OACE,qBAAKvH,UAAU,OAAO6nB,MAAO,CAAEuI,QAAS,OAAQiiB,cAAe,UAA/D,SACE,sBAAKryC,UAAU,eAAf,UACGtB,EAAM4zC,gBAAkBliC,GACvB,sBAAKyX,MAAO,CAAEtnB,OAAQ,GAAI6vB,QAAS,OAAQmiB,QAAS,GAAI9V,WAAY,UAApE,UACE,qBAAK9P,IAAI,0BAA0B3sB,UAAU,OAAO0sB,IAAI,kBACxD,cAAC,KAAD,CAAM7E,MAAO,CAAE6U,YAAa,IAAM6R,SAAU,GAAIzd,UAAU,UAA1D,SAAoE,4MAMxE,cAACsa,GAAD,CACEoB,QAASz3B,EACTg0B,aAAcrqC,EAAMqqC,aACpBgE,kBAAmBruC,EAAMquC,kBACzBG,6BAA8BxuC,EAAMwuC,6BAIpCR,eAAgBA,EAChBD,oBAAqB/tC,EAAM+tC,oBAC3BG,cAAeluC,EAAMkuC,cACrB7C,WAAY75B,EACZuvB,QAAS/gC,EAAM+gC,QAEfkN,kBAAmBjuC,EAAM8zC,sBAEzB1F,gBAAiBwE,EACjBzF,aAAcntC,EAAMmtC,aACpB74B,WAAYtU,EAAMsU,WAClBq5B,eAnCe,WACrB18B,EAASZ,IAAoBR,KAmCvB9I,KAAM/G,EAAM+G,KACZ0mC,QAASztC,EAAMytC,QACfC,eAAgB79B,EAChB+9B,iBAAkBA,EAClBJ,eAAgBA,IAElB,qBAAKlsC,UAAU,aAAf,SAEE,sBACE6nB,MAAO,CAAEtnB,OAAQ,OAAQD,MAAO,OAAQ0vB,WAAY,UAAW+b,SAAU,WAAY3b,QAAS,QAC9F,cAAY,gBAFd,UAIGrJ,EAAMklB,cAAgBl3B,EAAOmU,SAC5B,cAAC,GAAD,CACEH,KAAMxa,EACNi+B,QAASz3B,EACT0qB,QAAS/gC,EAAM+gC,QACfh6B,KAAM/G,EAAM+G,KACZ4L,IAAK3S,EAAMytC,QACXtnC,KAAMqnC,EACNqD,OAAQiC,IAGZ,sBAAK3pB,MAAO,CAAEkkB,SAAU,WAAYvN,KAAM,GAA1C,UACGpuB,GAAW,cAACgY,GAAD,IAEZ,cAAC2oB,GAAD,CAAUC,MAAOnoC,EAAO4pC,SAAU,SAAUxB,cAAevE,EAAevlC,SAC1E,cAAC,KAAD,CACEwwB,GACE9mB,EACI,CACE,iCAAkC,CAChCkgB,gBAAiB,qBAGrB,GAEN2hB,WAAY,CACVC,cAAe,kBAAM,cAACnE,GAAD,MAEvBz5B,OAAQA,EACR7E,KAlGRxR,EAAMk0C,QACD1iC,EAAK,IAAMA,EAAK,GAAGxR,EAAMsU,YAAc9C,EAAO,GAC5CvH,OAAOC,KAAK+H,GAAexJ,OAC7BwJ,EAAcT,KAAK,IAAMS,EAAcT,KAAK,GAAGxR,EAAMsU,YAAcrC,EAAcT,KAAO,GAExFA,EAAK,IAAMA,EAAK,GAAGxR,EAAMsU,YAAc9C,EAAO,GA8F3CuvB,QAAS/gC,EAAM+gC,QACfoT,iBAhIiB,SAAC9lC,GACQ,oBAA3BrO,EAAMm0C,kBACfn0C,EAAMm0C,iBAAiB9lC,IAgIb+lC,kBA/IkB,SAACzS,GAC/B,IAAI+Q,GAGA/Q,EAAM,GAAI,CACZ,IAAM0S,EAAgC,QAAlB1S,EAAM,GAAGpuB,KAAT,WAA8BouB,EAAM,GAAG9tB,OAAU8tB,EAAM,GAAG9tB,MAC1EhF,IAAUwlC,IACZpjC,EAASsC,GAAK8gC,IACdpjC,EAAST,SAwID8jC,gBA5JgB,WACxB7iC,EAAahJ,QACfwI,EAAS6B,OA2JCyhC,eA7He,SAAClmC,GAC5BskC,GAAc,IA6HF6B,uBA1HuB,SAAC7S,GAapC8Q,EAAkB9Q,IA8GNqM,eAAgBA,EAChByG,WAAW,SACXC,YAAY,SACZC,+BAA+B,EAC/BC,yBAAyB,EACzBC,sBAAsB,EACtBC,mBAAiB,EACjBC,mBAAmB,EACnBC,YAAY,EACZC,SAAU,SAAA5gC,GAAG,OAAIA,EAAIrU,EAAMsU,aAC3B5E,aA3GG,WACf,IAAMb,EAAQmhC,GAAoBoD,UAClC,GAAIvkC,EAAO,CACT,IAAMqmC,EAAS,CACbrhC,MAAOhF,EAAM3H,QAAQ,IAAK,IAC1BqM,KAAM1E,EAAMxH,SAAS,KAAO,MAAQ,QAEtC,OAAO,6BAAKrH,EAAM0P,cAAlB,IAAgCylC,QAAS,CAAEC,UAAW,CAAC,CAAEvhC,MAAOqhC,EAAOrhC,MAAON,KAAM2hC,EAAO3hC,UAE7F,OAAOvT,EAAM0P,cAAgB,GAkGH2lC,QAGlB,cAAC,GAAD,CAAWhrB,KAAMvN,c,OI3VtB,SAASw4B,GAAet1C,GAC7B,MAA8BuC,WAAe,IAA7C,mBAAOmJ,EAAP,KAAgB6pC,EAAhB,KAEA,SAASC,IACPx1C,EAAMqB,YAAW,GACjBrB,EAAMmG,KAAK2nC,QAAQtjB,QAAQioB,kBAAkB,IA8B/C,OAAOzyC,EAAMU,QACX,sBAAKY,UAAU,qCAAf,UACE,sBAAKA,UAAU,8BAAf,UACE,qBAAKA,UAAU,6BAAf,SAA4C,oBAC5C,qBAAKA,UAAU,wBAAwBC,QAASi0C,EAAhD,SAA0D,MAG1D,qBAAKvnB,IAAI,sCAAsCD,IAAI,wBAErD,sBAAK1sB,UAAU,4BAAf,UACE,sBAAKA,UAAU,GAAf,UACE,qBAAKA,UAAU,0BAAf,SAAyC,mDACzC,qBAAKA,UAAU,uBAAf,SACGtB,EAAMmG,KAAKsvC,OAAOptC,KAAI,SAACysB,EAAe7pB,GAAhB,OACrB,cAAC,WAAD,UACE,qBAAK3J,UAAU,GAAf,SAAmBwzB,KADA7pB,WAO3B,sBAAK3J,UAAU,+BAAf,UACE,qBAAK2sB,IAAI,6BAA6BD,IAAI,YAC1C,qBAAK1sB,UAAU,gCAAf,SAA+C,mDAC/C,qBAAKA,UAAU,oCAAf,SAAmD,8IAMrD,0BACEA,UAAU,0BACVosB,YAAY,gCACZ5nB,MAAO4F,EACP4hB,SAAU,SAAArsB,GAAC,OAtCnB,SAAsBA,GACpBs0C,EAAWt0C,GAqCU+nC,CAAa/nC,EAAE8qB,OAAOjmB,UAGvC,sBAAKxE,UAAU,6BAAf,UACE,cAAConB,GAAA,EAAD,UACE,qBAAKpnB,UAAU,8CAA8CC,QAASi0C,EAAtE,SAAgF,aAIlF,cAAC9sB,GAAA,EAAD,UACE,qBAAKpnB,UAAU,4CAA4CC,QAvErE,WACE,GAA8B,IAA1BvB,EAAMmG,KAAK2xB,IAAIrvB,OAAnB,CAIA,IACItC,EAAO,CACT2xB,IAAK93B,EAAMmG,KAAK2xB,IAChBpsB,QAASA,GAGX/C,GAAQ8C,QAND,iDAMctF,EAAM,QAAQkE,WACjC,SAAChB,GACCmsC,IACA7e,GAAcD,aAAa,KAAM,UAAW,OAE9C,SAAA3wB,GACEyvC,IACA7e,GAAcD,aAAa,QAAS,SAAU,SAqD1C,SAA4E,oBAQpF,wBCxFJ,I,GASegf,GATS,CACtBC,UAAW,YACXjiB,aAAc,cACdkiB,UAAW,YACXC,kBAAmB,mBACnBC,YAAa,cACbC,aAAc,eCPHC,IAAc,sBACxBN,GAAgBC,UAAY,CAC3BM,cAAc,IAFS,gBAIxBP,GAAgBhiB,aAAe,CAC9BuiB,cAAc,IALS,gBAOxBP,GAAgBE,UAAY,CAC3BK,cAAc,IARS,gBAUxBP,GAAgBG,kBAAoB,CACnCI,cAAc,IAXS,gBAaxBP,GAAgBI,YAAc,CAC7BG,cAAc,IAdS,gBAgBxBP,GAAgBK,aAAe,CAC9BE,cAAc,IAjBS,ICGrBC,GAA2C,CAEjDA,UAAmC,CACjC30B,SAAS,2RACTD,KAAK,uRACLD,OAAO,yRACPD,IAAI,sRACJ3c,YAAY,kPACZ0xC,MAAM,8BACNC,WAAW,sKACXC,gBAAgB,0KAChBzxC,iBACE,gHAGWsxC,MCXFI,GAAkBC,wBAAmC,CAChEpwC,KAAM,KACNY,KAAM,KACNirC,OAAQ,KACRr/B,IAAK,KACL8+B,UAAW,OAGA+E,GAAqB,kBAAMC,qBAAWH,KChB7CI,GAAgB,CACpBC,KAAM,CAAC,UAAW,WAClBC,IAAK,CAAC,UAAW,YAgBbC,GAAe,SAACC,GAMpB,OAnBgB,SAAC3wC,GACjB,GAAIA,EAAKsC,OAAS,EAAG,OAAO,EAE5B,IADA,IAAI+hB,EAAUrkB,EAAK,GACVqa,EAAI,EAAGA,EAAIra,EAAKsC,OAAQ+X,IAC/B,GAAIra,EAAKqa,KAAOgK,EAAhB,CAKA,GAAIrkB,EAAKqa,GAAKgK,EAAS,OAAO,EAC9B,GAAIrkB,EAAKqa,GAAKgK,EAAS,OAAO,MAN9B,CACE,GAAIrkB,EAAKsC,SAAW+X,EAAI,EAAG,OAAO,EAClCgK,EAAUrkB,EAAKqa,IAWPu2B,CAHStjC,MAAMujC,KAAKF,GAAQ,SAACrsC,GAAD,OAAeA,EAAK3H,KAChCJ,QAAO,SAAA+H,GAAI,OAAa,OAATA,KAAewsC,YAgBtDC,GAAiB,SAAC/wC,EAAWgxC,GAEjC,OADehxC,EAAKkC,KAAI,SAACoC,GAAD,oBAAC,cAAiB3H,EAAG2H,EAAK3E,OAAU2E,GAAU0sC,EAAa,CAAEC,SAAUD,GAAe,OAChGryB,MAAM,EAAG,GAAGmyB,WAGtBI,GAAqB,SAACP,EAAaQ,GASvC,MAPuB,MAAnBA,EACWR,EAAOzuC,KAAI,SAACoC,GAAD,OAAexC,GAAOiX,iBAAiBzU,EAAK6B,SACxC,MAAnBgrC,GACIR,EAAOzuC,KAAI,SAACoC,GAAD,OAAexC,GAAOkX,YAAY1U,EAAK6B,SAEpDwqC,EAAOzuC,KAAI,SAACoC,GAAD,OAAexC,GAAO+W,aAAavU,EAAK6B,SAE9C2qC,WCbLM,GAlCI,WACjB,IAAQp8B,EAAiB7a,aAAY,SAACC,GAAD,OAAgBA,EAAM4a,gBAAnDA,aACFlK,EAAWmc,cA6BjB,MAAO,CAAEoqB,qBA3BoB,SAACC,EAAkBC,EAAiB3wC,EAAe4wC,GAC9E1mC,EAASZ,IAAmB,IAC5BY,EAASf,IAAY,IAErB,IAAMtK,EAAWuV,EAAa+e,MAAK,SAACzvB,GAAD,OAAeA,EAAKgF,OAASgoC,KAChE,GAAM7xC,EAAU,CACd,IACIvC,EACAX,EAFiB0iC,EAAex/B,EAA5Bk/B,YAGR,GAAmB,oBAAfM,EAAkC,CACpC/hC,EAASuC,EAASy8B,QAAQnI,MAAK,SAACzvB,GAAD,MAA4C,eAA7BA,EAAKkD,MAAMxM,iBACzD,IAAMy2C,EAAY,6BAAQv0C,GAAR,IAAgByC,MAAO4xC,IACzCh1C,EAASuiC,GAAuBG,EAAYx/B,EAAUgyC,OAC9B,UAAfxS,GACT/hC,EAASuC,EAASy8B,QAAQnI,MACxB,SAACzvB,GAAD,OAAeA,EAAKgF,KAAKtO,sBAAiCsG,IAAdkwC,EAA0BA,EAAY,WAEpFj1C,EAASuiC,GAAuBG,EAAYx/B,EAAUvC,KAEtDA,EAASuC,EAASy8B,QAAQnI,MAAK,SAACzvB,GAAD,OAAeA,EAAKkD,MAAMxM,gBAAkBu2C,EAAQv2C,iBACnFuB,EAASuiC,GAAuBG,EAAYx/B,EAAU,CAACvC,EAAOoM,QAGhEwB,EAASmC,GAAqB,CAAC1Q,SCI/Bm1C,I,OAAiB,CACrBC,cAAe,GACflG,OAAQ,IACR/B,SAAU,GACVzd,UAAW,UACX2lB,OAAQ,WACRC,WAAY,CAAEt2C,MAAO,aAGjBu2C,GAAY,CAChBpI,SAAU,GACVzd,UAAW,UACX8lB,OAAO,GAGHC,GAAe,CACnBC,MAAO,CACLh1C,KAAMi1C,KAAYC,KAClBjmB,gBAAiB,UAEjBxwB,OAAQ,IACR02C,WAAY,EACZC,YAAa,EACbtf,UAAW,GACXuf,aAAc,IAEhBC,MAAO,CACLh4C,SAAS,EACTi4C,UAAW,EACXC,WAAY,EACZC,kBAAmB,KACnBC,UAAW,WAEbC,MAAO,CACLC,cAAe,EACfhR,OAAQ,CACNiR,SAAS,IAGbC,WAAY,CACVC,MAAO,CACL,CACEC,UAAW,CACTC,SAAU,KAEZlB,aAAc,CACZC,MAAO,CACLK,aAAc,GACdvf,UAAW,IAEbwf,MAAO,CACLh4C,SAAS,EACTsnC,OAAQ,CACNiR,SAAS,MAKjB,CACEG,UAAW,CACTrZ,SAAU,KAEZoY,aAAc,CACZO,MAAO,CACLh4C,SAAS,EACTsnC,OAAQ,CACNiR,SAAS,SASjBK,GAAoB,WACxB,IAGIC,EACAC,EACAC,EACA1C,EANJ,EAAiCP,KAAzBrwC,EAAR,EAAQA,KAAMwM,EAAd,EAAcA,IAAK8+B,EAAnB,EAAmBA,UACX+F,EAAyBD,KAAzBC,qBAOR,GACI/F,GACO,SAAR9+B,IAAmBxM,EAAKuzC,uBAChB,WAAR/mC,IAAqBxM,EAAKwzC,2BAE3B,OAAO,KAETJ,EAAmB,6BACdpB,IADc,IAEjBO,MAAM,6BACDP,GAAaO,OADb,IAEHkB,WAAYvC,GACF,SAAR1kC,EAAiBxM,EAAKuzC,sBAAsBvzC,KAAOA,EAAKwzC,2BAA2BxzC,KACnF,SAINqzC,EAActC,GAAuB,SAARvkC,EAAiBxM,EAAKuzC,sBAAsBvzC,KAAOA,EAAKwzC,2BAA2BxzC,MAGhHszC,GADA1C,EAAYF,GAAa2C,IACC9C,GAAcE,IAAMF,GAAcC,KAE5D,IAAMkD,GACHpI,GAAe+H,GAAeA,EAAY/wC,OAAS,EAChD+wC,EAAYA,EAAY/wC,OAAS,GAAG3F,EAAI02C,EAAYA,EAAY/wC,OAAS,GAAG3F,EAC5E,EAEAg3C,EACW,IAAfD,EACI,CACEE,SAAS,EACThD,UAAWA,EACXiD,sBAAuB,UACvBC,gBAAgB,GAElB,GACN,OACE,eAAClhB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,yBAAyB23B,GAAI,CAAE+E,YAAa,KAAtE,UACE,cAACjF,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,EAAGoa,WAAY,KAAtC,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAA7C,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,2BAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,uBAA1B,SACG,CACC,mBACA,kBACA,uBACA,UACA,MACA,MACA,MACA,QACA,QACA,gBACA+G,KAAI,SAACoC,GACL,IAAMwyB,EAAY,CAAC,mBAAoB,kBAAmB,wBAAwB51B,SAASoD,GACvF,CAAE2vC,iBAAkB,iBACpB,CAAEA,iBAAkB,sBACxB,OACE,cAACrhB,GAAA,EAAD,CAAMtuB,MAAI,EAAYnJ,UAAU,kBAAhC,SACE,cAAC,KAAD,wCACEsB,GAAI6H,GACAotC,IACA5a,GAHN,IAIE94B,MAAO8D,GAAOmb,kBAAkB3Y,GAEhC4vC,cAAe,SAACz3C,EAAI0jC,GAClBkR,EAAqB,OAAQvvC,GAAOmb,kBAAkBxgB,GAAK,gBAP/D,SAUGuD,EAAKm0C,qBAAqB7vC,OAXfA,eAoB5B,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,qBAAKx+B,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,0BAA0B23B,GAAI,CAAE6G,KAAM,EAAGoa,WAAY,KAA1E,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAA7C,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,8BAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,kBAA1B,SACG,CAAC,WAAY,OAAQ,SAAU,OAAO+G,KAAI,SAACoC,GAC1C,OACE,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,eAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAAgB23B,GAAI,CAAEshB,aAAc,GAAjF,UACE,cAACxhB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,eAArB,SACE,cAAC,KAAD,CAAU4f,QAASzW,MAErB,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,uBAArB,SACE,cAAC,KAAD,2BACEsB,GAAI6H,GACAotC,IAFN,IAIEuC,iBAAiB,gBACjBj2C,MAAO8D,GAAOmb,kBAAkB3Y,GAAM,GAEtC4vC,cAAe,SAAAz3C,GACb40C,EAAqB,UAAWvvC,GAAOmb,kBAAkBxgB,GAAK,gBARlE,SAWGuD,EAAKq0C,wBAAwB/vC,YAjBtBA,eA4B5B,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,qBAAKx+B,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,wBAAwB23B,GAAI,CAAE6G,KAAM,EAAGoa,WAAY,KAAxE,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAASlhB,GAAI,CAAEshB,aAAc,KAAvD,UACE,cAACxhB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,mBACc,WAARvlC,EAAmB,6BAA+B,kCADxD,SAIF,cAAComB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,eAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,gBAA1B,UACW,SAARqR,EACC,cAAComB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAAsB23B,GAAI,CAAE6G,KAAM,GAAvD,SACE,cAAC,KAAD,wCACEl9B,GAAG,WACCi1C,IAFN,IAGE1zC,MAAM,eACN0rC,SAAU,IACNiK,GALN,aAQGD,OAIL,cAAC9gB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAAsB23B,GAAI,CAAE6G,KAAM,GAAvD,SACE,cAAC,KAAD,2BACEl9B,GAAG,WACCi1C,IAFN,IAGE1zC,MAAM,kBACN0rC,SAAU,GACV4K,UAAU,OACVT,sBAAsB,6BANxB,SAQKR,EAAY/wC,OAAS+wC,EAAYA,EAAY/wC,OAAS,GAAG3F,EAAI,OAItE,cAACi2B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,EAAGuZ,SAAU,KAApC,SACE,cAAC,KAAD,CACElB,aAAcoB,EACdmB,UAAWrC,KAAYC,KACvBvmB,OAAQ0nB,EACR3C,OAAQ0C,EACRmB,YAAaC,KAAatC,KAC1BuC,0BAA2B9D,EAC3B+D,uBAAuB,oBAYnCC,GAAsB,WAC1B,MAAiCvE,KAAzBrwC,EAAR,EAAQA,KAAMwM,EAAd,EAAcA,IAAK8+B,EAAnB,EAAmBA,UACX6I,EAAkDn0C,EAAlDm0C,qBAAsBE,EAA4Br0C,EAA5Bq0C,wBAE9B,GACI/I,GACO,SAAR9+B,IAAmBxM,EAAKuzC,uBAChB,WAAR/mC,IAAqBxM,EAAKwzC,2BAE3B,OAAO,KAET,IAAMqB,EAAiB/wC,OAAO5G,OAAOm3C,GAAyB93C,QAAO,SAAC+H,GAAD,OAAwB,IAATA,KAE9E+uC,EAActC,GACV,SAARvkC,EAAiBxM,EAAKuzC,sBAAsBvzC,KAAOA,EAAKwzC,2BAA2BxzC,MAE/E4wC,EAAYF,GAAa2C,KAAgB,EACzCK,EACFL,GAAeA,EAAY/wC,OAAS,EAClC+wC,EAAYA,EAAY/wC,OAAS,GAAG3F,EAAI02C,EAAYA,EAAY/wC,OAAS,GAAG3F,EAC5E,EAEN,OACE,eAACi2B,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,6BAA1B,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,0BAA0B6nB,MAAO,CAAE6U,YAAa,IAArE,SACE,cAAC,KAAD,6BAAUia,IAAV,aAAqB,4BAEvB,cAAClf,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,6BAAUwtC,IAAV,IAAqBrG,OAAQ,IAAK/B,SAAU,GAAIkI,OAAO,WAAvD,gBACGuC,QADH,IACGA,OADH,EACGA,EAAsBnwC,WAG3B,qBAAK7I,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,0BAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAK,EAA1B,SAA2B,iCAI1B8C,EAAevyC,QAChB,cAACswB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,eAAe23B,GAAI,CAAEoU,SAAU,WAAYC,IAAK,EAAGxN,KAAM,EAAGuZ,SAAU,KAA3F,SACE,cAAC,KAAD,CACE4B,cAAeT,EACfnoB,gBAAgB,UAChBxwB,OAAQ,EACRq5C,SAAUC,KAAgBC,YAIhC,qBAAK95C,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,0BAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAK,EAA1B,mBACc,WAARvlC,EAAmB,6BAA+B,kCADxD,UAIF,cAAComB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,uCAArB,SACW,SAARqR,EACC,eAAComB,GAAA,EAAD,CAAM+E,WAAS,EAAf,UACE,cAAC/E,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,6BAAUwtC,IAAV,IAAqBrG,OAAQ,IAAKsG,OAAO,EAAzC,SAAgD,oBAIlD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,GAAKqP,SAAU,WAAYC,KAAM,EAAG+N,KAAM,GAAxE,SACE,cAAC,KAAD,6BAAUpD,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACG8B,OAGW,IAAfA,GACC,cAAC9gB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,GAAKkc,WAAY,KAA/C,SACE,cAAC,KAAD,CAAWnD,UAAWA,EAAWkD,gBAAgB,SAKvD,eAAClhB,GAAA,EAAD,CAAM+E,WAAS,EAAf,UACE,cAAC/E,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,6BAAUwtC,IAAV,IAAqBrG,OAAQ,IAAKsG,OAAO,EAAzC,SAAgD,uBAIlD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,GAAKqP,SAAU,WAAYC,KAAM,EAAG+N,KAAM,GAAxE,SACE,cAAC,KAAD,6BAAUpD,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACGyB,EAAYA,EAAY/wC,OAAS,GAAG3F,OAIzC,cAACi2B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,IAA9B,SACE,cAAC,KAAD,2BAAM4T,OAAQ,KAASqG,IAAvB,IAAkCC,OAAO,EAAzC,SAAgD,qBAqB/CoD,GAVa,WAE1B,MAAoC9E,KAA5BxE,EAAR,EAAQA,OAAQ7rC,EAAhB,EAAgBA,KAEhB,OAFA,EAAsBsrC,WAEFtrC,GAAS8D,OAAOC,KAAK/D,GAAMsC,OAGxCupC,EAAS,cAAC,GAAD,IAAwB,cAAC,GAAD,IAHsB,MCrY1DuJ,I,OAAQ,CACZC,cAAe,oBACfC,eAAgB,2BAChBC,gBAAiB,iCACjBtF,WAAY,aACZC,gBAAiB,uBACjBsF,YAAa,cACbC,cAAe,gBACfpxB,QAAS,sBACTqxB,MAAO,qBACPC,SAAU,0BAENjE,GAAiB,CACrBC,cAAe,GACflG,OAAQ,IACR/B,SAAU,GACVzd,UAAW,UACX2lB,OAAQ,YAGJI,GAAe,CACnBC,MAAO,CACLh1C,KAAMi1C,KAAYC,KAClBjmB,gBAAiB,UACjBxwB,OAAQ,IACR02C,WAAY,EACZC,YAAa,EACbtf,UAAW,GACXuf,aAAc,IAEhBC,MAAO,GACPK,MAAO,CACLr4C,SAAS,GAEXw4C,WAAY,CACVC,MAAO,CACL,CACEC,UAAW,CACTC,SAAU,KAEZlB,aAAc,CACZC,MAAO,CACLK,aAAc,GACdvf,UAAW,IAEbwf,MAAO,CACLh4C,SAAS,KAIf,CACE04C,UAAW,CACTrZ,SAAU,KAEZoY,aAAc,CACZO,MAAO,CACLh4C,SAAS,QAiNNq7C,GAzMW,SAAC,GAAkF,IAAD,MAA/EC,EAA+E,EAA/EA,MAAOC,EAAwE,EAAxEA,YAClC,EAA4BzF,KAApBrwC,EAAR,EAAQA,KAER,GAFA,EAAcsrC,YAEMtrC,IAAS8D,OAAOC,KAAK/D,GAAMsC,OAAQ,OAAO,KAE9D,IAEI8wC,EACAE,EAHED,EAAe,OAACrzC,QAAD,IAACA,KAAM+1C,eAAiBhF,GAAc,OAAC/wC,QAAD,IAACA,OAAD,EAACA,EAAM+1C,eAAe/1C,MAAQ,GAIrF4wC,EAAYF,GAAa2C,GAEvBA,EAAY/wC,SAChB8wC,EAAmB,6BACdpB,IADc,IAEjBO,MAAM,6BACDP,GAAaO,OADb,IAEHkB,WAAYvC,GAAkB,OAAClxC,QAAD,IAACA,OAAD,EAACA,EAAM+1C,eAAe/1C,KAAM,SAG9DszC,EAAc1C,EAAYL,GAAcC,KAAOD,GAAcE,KAE/D,IAAMuF,EAAW,CACf56B,SAAQ,OAAEpb,QAAF,IAAEA,OAAF,EAAEA,EAAMi2C,YAAY1C,sBAC5Bp4B,KAAI,OAAEnb,QAAF,IAAEA,OAAF,EAAEA,EAAMi2C,YAAYC,kBACxBh7B,OAAM,OAAElb,QAAF,IAAEA,OAAF,EAAEA,EAAMi2C,YAAYE,oBAC1Bl7B,IAAG,OAAEjb,QAAF,IAAEA,OAAF,EAAEA,EAAMi2C,YAAYG,kBAEnBv7B,EAAQ/W,OAAO5G,OAAO84C,GAAUK,QAAO,SAACC,EAAahyC,GAAd,OAA4BgyC,EAAMhyC,IAAM,GAErF,OAAStE,GAAU8D,OAAOC,KAAK/D,GAAMsC,OACnC,eAACswB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,sBAAsB23B,GAAI,CAAE+E,YAAa,KAAnE,UACE,cAACjF,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,EAAGoa,WAAY,KAAtC,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,eAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACC,WAAW,SAA3B,UACE,cAAChF,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,qBAAKwjB,IAAG,+BAAkCD,IAAI,WAEhD,cAAC+K,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,GAA9B,SACE,cAAC,KAAD,CAAM5L,UAAU,UAAUyd,SAAU,GAApC,SAAwC,qBAM9C,cAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,uBAA1B,SACG,CAAC,aAAc,kBAAmB,eAAe+G,KAAI,SAACoC,GACrD,OACE,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAAYnJ,UAAU,kBAAhC,SACE,cAAC,KAAD,2BACEsB,GAAI6H,GACAotC,IAFN,IAGE1zC,MAAOo3C,GAAM9wC,GACbutC,WAAY,CAAE0E,WAAY,SAAUhrB,QAAS,OAAQhwB,MAAO,WAC5Du6C,YAAaA,EACb53C,KAAM23C,EAAMvxC,GANd,SAQGtE,EAAKw2C,kBAAkBlyC,OATZA,eAkB5B,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,qBAAKx+B,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,0BAA0B23B,GAAI,CAAE6G,KAAM,EAAGoa,WAAY,IAAKb,SAAU,KAAzF,SACE,eAACtgB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,eAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACC,WAAW,SAA3B,UACE,cAAChF,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,qBAAKwjB,IAAG,gCAAmCD,IAAI,WAEjD,cAAC+K,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,GAA9B,SACE,cAAC,KAAD,CAAM5L,UAAU,UAAUyd,SAAU,GAApC,SAAwC,sBAO5C,cAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,GAAf,SACE,eAACF,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,iBAAiB23B,GAAI,CAAEogB,SAAU,KAA3D,UACE,cAACtgB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAEihB,WAAY,GAAK54C,UAAU,uBAA5C,SACE,cAAC,KAAD,2BACEsB,GAAG,SACCi1C,IAFN,IAGE1zC,MAAM,QACN6zC,WAAY,CAAE0E,WAAY,SAAUhrB,QAAS,OAAQhwB,MAAO,WAC5Dq4C,SAAO,EACPhD,UAAWA,EACXiD,sBAAsB,mBACtBiC,YAAaA,EACb53C,KAAM23C,EAAK,MATb,SAWI,OAAC71C,QAAD,IAACA,GAAD,UAACA,EAAM+1C,sBAAP,OAAC,EAAsBN,cAAgBz1C,EAAK+1C,eAAeN,mBAAgBn0C,OAGjF,cAACsxB,GAAA,EAAD,CACEtuB,MAAI,EACJnJ,UAAWqqB,KAAW,2BAA4B,CAChD,kBAAiB,OAACxlB,QAAD,IAACA,GAAD,UAACA,EAAM+1C,sBAAP,OAAC,EAAsBN,iBAH5C,SAME,cAAC,KAAD,CACEgB,OAAS,OAACz2C,QAAD,IAACA,GAAD,UAACA,EAAM+1C,sBAAP,OAAC,EAAsBW,aAAe12C,EAAK+1C,eAAeW,aAAe,KAClFz5C,KAAK,QACLuiB,KAAK,IACLyM,UAAU,cAId,cAAC2G,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,aAAa23B,GAAI,CAAEogB,SAAU,KAAlD,SACKG,EAAY/wC,OACb,cAAC,KAAD,CACE0vC,aAAcoB,EACdmB,UAAU,OACV3oB,OAAQ0nB,EACR3C,OAAQ0C,EACRmB,YAAaC,KAAatC,KAC1BuC,yBAA0B9D,IAG5B,cAAC,KAAD,CAAiBoB,aAAc,CAAEC,MAAO,CAAEv2C,OAAQ,IAAKD,MAAO,oBAY5E,eAACm3B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,UACE,qBAAKx+B,UAAU,qBAAyB,UAE1C,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAEihB,WAAY,KAA7B,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,GAAG23B,GAAI,CAAEshB,aAAc,KAApE,UACE,cAACxhB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,eAACy3B,GAAA,EAAD,CAAM+E,WAAS,EAACC,WAAW,SAA3B,UACE,cAAChF,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,qBAAKwjB,IAAG,iCAAoCD,IAAI,WAElD,cAAC+K,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,GAA9B,SACE,cAAC,KAAD,CAAM5L,UAAU,UAAUyd,SAAU,GAApC,SAAwC,uBAO9C,cAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,uBAArB,SACE,cAAC,KAAD,2BACEsB,GAAI,eACAi1C,IAFN,IAGE1zC,MAAO,eACP6zC,WAAY,CAAE0E,WAAY,SAAUhrB,QAAS,OAAQhwB,MAAO,WAC5Du6C,YAAaA,EACb53C,KAAM23C,EAAMv3C,YANd,SAQGuc,YAKT,cAAC+X,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,0CAA0C23B,GAAI,CAAEihB,WAAY,IAAKlc,YAAa,KAAnG,SACE,eAACjF,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,mCAAmC23B,GAAI,CAAEshB,aAAc,KAApG,UACE,cAACxhB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,eAACy3B,GAAA,EAAD,CAAM+E,WAAS,EAAC7E,GAAI,CAAE6jB,WAAY,qBAAuB/e,WAAW,SAApE,UACE,cAAChF,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,MAAOuc,aAAc,IAAK7oB,QAAS,OAAQ9vB,MAAO,GAAIC,OAAQ,IAA5F,SACE,qBAAKosB,IAAG,uCAA0CD,IAAI,WAExD,cAAC+K,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,GAA9B,SACE,cAAC,KAAD,CAAM5L,UAAU,UAAUyd,SAAU,GAAIjtC,GAAG,mBAAmBq5C,YAAaA,EAA3E,gBACG91C,QADH,IACGA,OADH,EACGA,EAAMi2C,YAAYW,sBAGvB,cAAChkB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,OAA9B,SACE,cAAC,KAAD,CAAM5L,UAAU,UAAUyd,SAAU,GAApC,SAAwC,4BAM9C,cAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAEihB,WAAY,KAA7B,SACE,cAAC,KAAD,CAAmB8C,QAAQ,iBAAiBC,SAAUd,EAAUF,YAAaA,gBAMrF,MC9QAiB,GAA0B,WAAO,IAAD,EACpC,EAAsCh9C,mBAAwB,MAA9D,mBAAOi9C,EAAP,KAAoBC,EAApB,KACQj3C,EAASqwC,KAATrwC,KACAqxC,EAAyBD,KAAzBC,qBAER/2C,qBAAU,WACR,IAAI48C,EAGFA,EADEx2C,OAAOy2C,OAAO17C,MAAQ,KACf,EACAiF,OAAOy2C,OAAO17C,MAAQ,KACtB,EACAiF,OAAOy2C,OAAO17C,MAAQ,IACtB,GAEA,GAEXw7C,EAAeC,KACd,IAoBH,OACE,eAACtkB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,8CAA8C23B,GAAI,CAAE+E,YAAa,KAA3F,UACE,cAACjF,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,eAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAASlhB,GAAI,CAAEihB,WAAY,KAArD,UACE,cAACnhB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,wBAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,qBAAqB6nB,MAAO,CAAEqL,SAAU,UAAlE,SACG,CAAC,SAAU,YAAa,MAAMnsB,KAAI,SAACoC,EAAWQ,GAE7C,OACE,cAAC8tB,GAAA,EAAD,CAAMtuB,MAAI,EAAYnJ,UAAU,kBAAkB23B,GAAc,IAAVhuB,EAAc,CAAEsvC,aAAc,GAAM,GAA1F,SACE,eAACxhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAArB,SACGi8C,GAAS9yC,KAEZ,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,2BACE7H,GAAI6H,GACAotC,IAFN,IAIE1zC,MAAO8D,GAAOmb,kBAAkB3Y,GAEhC4vC,cAAe,SAAAz3C,GACb40C,EACE,OACAvvC,GAAOmb,kBAAyB,cAAPxgB,EAAqB,aAAeA,GAC7D,uBAVN,SAcKuD,EAAKq3C,kBAAoBr3C,EAAKq3C,kBAAkB/yC,GAAQ,YApBnDA,eA+B5B,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,qBAAKnJ,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,0BAA0B23B,GAAI,CAAEihB,WAAY,KAAjE,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAA7C,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAI1mB,MAAO,CAAE6U,YAAa,GAAKka,OAAK,EAAxE,SAAyE,wBAI3E,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,uCAAuC6nB,MAAO,CAAEqL,SAAU,UAApF,SACG,CAAC,WAAY,OAAQ,SAAU,MAAO,WAAWnsB,KAAI,SAACoC,GACrD,OACE,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAAYnJ,UAAU,kBAAhC,SACE,eAACy3B,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,eAArB,SACE,cAAC,KAAD,CAAU4f,QAASzW,MAErB,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,2BACE7H,GAAI6H,GACAotC,IAFN,IAKE1zC,MAAO8D,GAAOmb,kBAAkB3Y,GAAM,GAEtC4vC,cAAe,SAAAz3C,GACb40C,EAAqB,aAAcvvC,GAAOmb,kBAAkBxgB,GAAK,uBARrE,SAWKuD,EAAKs3C,kBAAoBt3C,EAAKs3C,kBAAkBhzC,GAAQ,YAjBnDA,eA4B5B,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,qBAAKnJ,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,eAAe23B,GAAI,CAAEihB,WAAY,KAAtD,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAA7C,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAI1mB,MAAO,CAAE6U,YAAa,GAA9D,SAAmE,8BAIrE,cAACjF,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,eAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,aAAa6nB,MAAO,CAAEqL,SAAU,SAAUwH,SAAU,UAA9E,oBACG71B,EAAKu3C,yBADR,aACG,EAAwBv3C,KACtBzD,QAAO,SAAC+H,GAAD,MAA2B,UAAZA,EAAK7H,MAC3BkiB,MAAM,EAAGq4B,GACT90C,KAAI,SAACoC,EAAWQ,GACf,OACE,cAAC8tB,GAAA,EAAD,CAAMtuB,MAAI,EAA6BnJ,UAAU,YAAjD,SACE,eAACy3B,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAArB,SACGq8C,GAAYlzC,EAAK7H,MAEpB,cAACm2B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,kBAArB,SACE,cAAC,KAAD,2BACEsB,GAAI6H,EAAK7H,IACLi1C,IAFN,IAGE1zC,MAAOsG,EAAKkD,MACZiwC,WAAS,EACTvD,cAAe,SAAAz3C,GACb40C,EAAqB,mBAAoB50C,EAAI,uBANjD,SASG6H,EAAK3E,eAfd,UAAmB2E,EAAK7H,GAAxB,YAA8BqI,OA1HxB,WAAO,IAAD,EACtB4yC,EAAK,UAAG13C,EAAKu3C,yBAAR,aAAG,EAAwBv3C,KAAK+zB,MAAK,SAACzvB,GAAD,MAA2B,UAAZA,EAAK7H,MACpE,OAASi7C,EACP,cAAC9kB,GAAA,EAAD,CAAMtuB,MAAI,EAAqBnJ,UAAS,YAAxC,SACE,eAACy3B,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAArB,SACGi8C,GAASM,EAAMj7C,MAElB,cAACm2B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,kBAArB,SACE,cAAC,KAAD,2BAAWsB,GAAE,UAAKi7C,EAAMj7C,KAAUi1C,IAAlC,IAAkD1zC,MAAO05C,EAAMlwC,MAA/D,SACGkwC,EAAM/3C,eAPf,UAAmB+3C,EAAMj7C,KAYvB,KAiIOk7C,iBASTC,GAA4B,WAChC,IAAQ53C,EAASqwC,KAATrwC,KACAq3C,EAA4Dr3C,EAA5Dq3C,kBAAmBE,EAAyCv3C,EAAzCu3C,kBAAmBD,EAAsBt3C,EAAtBs3C,kBAGxCO,EAAsB/zC,OAAO5G,OAAOm6C,GAAmBhB,QAAO,SAACC,EAAU1xC,GAAX,OAAwB0xC,EAAM1xC,IAAK,GACjGkzC,EAAiBP,EAAkBv3C,KAAKq2C,QAAO,SAACzxC,EAAaN,GAAd,OAA4BA,EAAK3E,MAAQiF,IAAK,GAEnG,OACE,eAACguB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,gDAA1B,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,mBAAmB6nB,MAAO,CAAE6U,YAAa,IAA9D,SACE,cAAC,KAAD,6BAAUia,IAAV,IAAqBC,OAAK,EAA1B,SAA2B,kBAI7B,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,mBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACGiG,OAGJ/zC,OAAOitB,QAAQsmB,GAAmBn1C,KAAI,YAAmB,IAAD,mBAAhBnH,EAAgB,KAAX4E,EAAW,KAEvD,OACE,qCACE,cAACizB,GAAA,EAAD,CAA2BtuB,MAAI,EAACnJ,UAAU,mBAAmB6nB,MAAO,CAAE6U,YAAa,IAAnF,SACE,cAAC,KAAD,6BAAUia,IAAV,IAAqBC,OAAO,EAA5B,SACGqD,GAAMr6C,OAFX,UAAcA,EAAd,WAKA,cAAC63B,GAAA,EAAD,CAA2BtuB,MAAI,EAACnJ,UAAU,mBAA1C,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACGjyC,MAFL,UAAc5E,EAAd,iBAQN,qBAAKI,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,mBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAK,EAA1B,SACGqD,GAAMkC,uBAGX,cAAC1kB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,eAAe23B,GAAI,CAAE6G,KAAM,GAAhD,SACE,cAAC,KAAD,CACEmb,cAAewC,EACfprB,gBAAgB,UAChBxwB,OAAQ,EACRq5C,SAAUC,KAAgBC,YAG9B,qBAAK95C,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,mBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,aAAqB,+BAEvB,cAAClf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,mBAAmB23B,GAAI,CAAEshB,aAAc,KAA5D,SACE,cAAC,KAAD,6BAAUtC,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACGkG,WCtOLC,GAA+B,WACnC,MAAsCh+C,mBAAwB,MAA9D,mBAAOi9C,EAAP,KAAoBC,EAApB,KACQ5F,EAAyBD,KAAzBC,qBAEArxC,EAASqwC,KAATrwC,KACAs3C,EAAyCt3C,EAAzCs3C,kBAAmBC,EAAsBv3C,EAAtBu3C,kBAE3Bj9C,qBAAU,WACR,IAAI48C,EAEFA,EADEx2C,OAAOy2C,OAAO17C,MAAQ,KACf,EACAiF,OAAOy2C,OAAO17C,MAAQ,KACtB,GACAiF,OAAOy2C,OAAO17C,MAAQ,IACtB,GAEA,GAEXw7C,EAAeC,KACd,IAoBH,OACE,eAACtkB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,8CAA8C23B,GAAI,CAAE+E,YAAa,KAA3F,UACE,cAACjF,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,0BAA0B23B,GAAI,CAAEihB,WAAY,KAAjE,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAA7C,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,wBAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,uCAA1B,SACG,CAAC,WAAY,OAAQ,SAAU,MAAO,WAAW+G,KAAI,SAACoC,GACrD,OACE,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAAYnJ,UAAU,kBAAhC,SACE,eAACy3B,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,eAArB,SACE,cAAC,KAAD,CAAU4f,QAASzW,MAErB,cAACsuB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,2BACE7H,GAAI6H,GACAotC,IAFN,IAIE1zC,MAAO8D,GAAOmb,kBAAkB3Y,GAAM,GAEtC4vC,cAAe,SAAAz3C,GACb40C,EACE,aACAvvC,GAAOmb,kBAAkBxgB,GACzB,6BAVN,SAcG66C,EAAkBhzC,YApBXA,iBA+BzBizC,KAAuBA,EAAkBv3C,KAAKsC,QAC/C,qCACE,cAACswB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,qBAAKnJ,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,eAAe23B,GAAI,CAAEihB,WAAY,KAAtD,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAA7C,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAApC,SAAwC,8BAI1C,cAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,eAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,aAA1B,UACGo8C,EAAkBv3C,KAChBzD,QAAO,SAAC+H,GAAD,MAA2B,UAAZA,EAAK7H,MAC3BkiB,MAAM,EAAGq4B,GACT90C,KAAI,SAACoC,EAAWQ,GACf,OACE,cAAC8tB,GAAA,EAAD,CACEtuB,MAAI,EAEJnJ,UAAS,oBAA2B,UAAZmJ,EAAK7H,GAAiB,aAAe,IAH/D,SAKE,eAACm2B,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAArB,SACGq8C,GAAYlzC,EAAK7H,MAEpB,cAACm2B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAEr3B,MAAO,IAAMN,UAAU,kBAAxC,SACE,cAAC,KAAD,2BACEsB,GAAI6H,EAAK7H,IACLi1C,IAFN,IAGE1zC,MAAOsG,EAAKkD,MACZiwC,WAAS,EACTvD,cAAe,SAAAz3C,GACb40C,EAAqB,mBAAoB50C,EAAI,6BANjD,SASG6H,EAAK3E,eAnBd,UAEU2E,EAAK7H,GAFf,YAEqBqI,OAnFnB,WACtB,IAAM4yC,EAAQH,EAAkBv3C,KAAK+zB,MAAK,SAACzvB,GAAD,MAA2B,UAAZA,EAAK7H,MAC9D,OAASi7C,EACP,cAAC9kB,GAAA,EAAD,CAAMtuB,MAAI,EAAqBnJ,UAAS,YAAxC,SACE,eAACy3B,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAArB,SACGi8C,GAASM,EAAMj7C,MAElB,cAACm2B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,kBAArB,SACE,cAAC,KAAD,2BAAWsB,GAAE,UAAKi7C,EAAMj7C,KAAUi1C,IAAlC,IAAkD1zC,MAAO05C,EAAMlwC,MAA/D,SACGkwC,EAAM/3C,eAPf,UAAmB+3C,EAAMj7C,KAYvB,KA4FWk7C,oBAWbK,GAAiC,WACrC,IAAQh4C,EAASqwC,KAATrwC,KACAs3C,EAAyCt3C,EAAzCs3C,kBAAmBC,EAAsBv3C,EAAtBu3C,kBACrBO,EAAiBP,EAAkBv3C,KAAKq2C,QAAO,SAACzxC,EAAaN,GAAd,OAA4BA,EAAK3E,MAAQiF,IAAK,GAEnG,OACE,eAACguB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,gDAA1B,YACKm8C,KAAuBxzC,OAAOC,KAAKuzC,GAAmBh1C,QACvD,qCACE,cAACswB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,KAA9B,SACE,cAAC,KAAD,6BAAUia,IAAV,IAAqBC,OAAK,EAA1B,SAA2B,4BAK7B,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,eAAe23B,GAAI,CAAE6G,KAAM,GAAhD,SACE,cAAC,KAAD,CACEmb,cAAewC,EACfprB,gBAAgB,UAChBxwB,OAAQ,EACRq5C,SAAUC,KAAgBC,iBAK/BsC,KAAuBA,EAAkBv3C,KAAKsC,QAC/C,qCACE,qBAAKnH,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,wBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAO,EAA5B,SAAmC,+BAIrC,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,mBAAmB23B,GAAI,CAAEshB,aAAc,KAA5D,SACE,cAAC,KAAD,6BAAUtC,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACGkG,cC9KTG,GAAuB,WAC3B,IAMIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAfI34C,EAASqwC,KAATrwC,KACA44C,EAAyC54C,EAAzC44C,eAAgBC,EAAyB74C,EAAzB64C,qBAChBC,EAAuCF,EAAvCE,UAAiBC,EAAsBH,EAA5B54C,KACLg5C,EAAqBH,EAA3B74C,KACAqxC,EAAyBD,KAAzBC,qBAaF4H,EAAwBlI,GAAegI,GAAmB,GAC1DG,EAAuBnI,GAAeiI,GAAkB,GAwD9D,OAtDMl1C,OAAOC,KAAKk1C,GAAuB32C,SACvC61C,EAA2B,6BACtBnG,IADsB,IAEzBO,MAAM,6BACDP,GAAaO,OADb,IAEHkB,WAAYvC,GAAmB6H,EAAmB,SAItDX,GADAG,EAAoB7H,GAAauI,IACI1I,GAAcE,IAAMF,GAAcC,KAOvEiI,EACyB,KAPzBD,EACIS,GAAyBA,EAAsB32C,OAAS,EACtD22C,EAAsBA,EAAsB32C,OAAS,GAAG3F,EACxDs8C,EAAsBA,EAAsB32C,OAAS,GAAG3F,EACxD,GAIA,CACEi3C,SAAS,EACThD,UAAW2H,EACX1E,sBAAuB,UACvBC,gBAAgB,GAElB,IAGFhwC,OAAOC,KAAKm1C,GAAsB52C,SACtC41C,EAA0B,6BACrBlG,IADqB,IAExBO,MAAM,6BACDP,GAAaO,OADb,IAEHkB,WAAYvC,GAAmB8H,EAAkB,SAIrDX,GADAC,EAAmB5H,GAAawI,IACG3I,GAAcE,IAAMF,GAAcC,KAOrEmI,EACwB,KAPxBD,EACIQ,GAAwBA,EAAqB52C,OAAS,EACpD42C,EAAqBA,EAAqB52C,OAAS,GAAG3F,EACtDu8C,EAAqBA,EAAqB52C,OAAS,GAAG3F,EACtD,GAIA,CACEi3C,SAAS,EACThD,UAAW0H,EACXzE,sBAAuB,UACvBC,gBAAgB,GAElB,IAIN,eAAClhB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,uCAAuC23B,GAAI,CAAE+E,YAAa,KAApF,UACE,cAACjF,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,eAAC/G,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,mBAAmB23B,GAAI,CAAEC,UAAW,KAAjF,UACE,cAACH,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,2BAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,eAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,qBAA1B,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAArB,SACE,cAAC,KAAD,2BACEsB,GAAG,aACCi1C,IAFN,IAGEG,WAAY,CAAEt2C,MAAO,UAAW49C,cAAe,GAC/CzP,SAAU,GACV1rC,MAAO,uBACPk2C,cAAe,SAAAz3C,GACb40C,EAAqB,eAAgBvvC,GAAOmb,kBAAkBxgB,GAAK,oBAPvE,SAUGq8C,OAGL,cAAClmB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,4BAA4B23B,GAAI,CAAE6G,KAAM,EAAGuZ,SAAU,KAA1E,SACE,cAAC,KAAD,CACElB,aAAcmG,EACd5D,UAAU,OACV3oB,OAAQwsB,EACRzH,OAAQsI,EACRzE,YAAaC,KAAa2E,gBAC1B1E,0BAA2B6D,EAC3B5D,uBAAuB,MAI3B,cAAC/hB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,gBAAgB23B,GAAI,CAAEr3B,MAAO,IAAlD,SACE,cAAC,KAAD,wCACEgB,GAAG,WACCi1C,IAFN,IAGEhI,SAAU,GACVmI,WAAY,CAAEt2C,MAAO,UAAW49C,cAAe,GAC/Cn7C,MAAM,gBACFy6C,GANN,aAQGD,iBAOb,cAAC5lB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,qBAAKnJ,UAAU,mBAAmB6nB,MAAO,CAAE2W,KAAM,OAEnD,cAAC/G,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,eAAC/G,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAASlhB,GAAI,CAAEC,UAAW,KAApD,UACE,cAACH,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAU8lB,OAAK,EAACrI,SAAU,GAA1C,SAA8C,2BAIhD,cAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,eAACsuB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,uCAA1B,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,qBAAqB23B,GAAI,CAAEumB,UAAW,KAA3D,SACE,cAAC,KAAD,2BACE58C,GAAG,qBACCi1C,IAFN,IAGEG,WAAY,CAAEt2C,MAAO,UAAW49C,cAAe,GAC/CzP,SAAU,GACV1rC,MAAO,qBACPk2C,cAAe,SAAAz3C,GACb40C,EACE,uBACAvvC,GAAOmb,kBAAkBxgB,GACzB,kBACA,UAXN,SAeGy8C,EAAqBA,EAAqB52C,OAAS,GAAG3F,OAG3D,cAACi2B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,2BAA2B23B,GAAI,CAAE6G,KAAM,EAAGuZ,SAAU,KAAzE,SACE,cAAC,KAAD,CACElB,aAAckG,EACd3D,UAAU,OACV3oB,OAAQysB,EACR1H,OAAQuI,EACR1E,YAAaC,KAAa2E,gBAC1B1E,0BAA2B4D,EAC3B3D,uBAAuB,MAI3B,cAAC/hB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,gBAAgB23B,GAAI,CAAEr3B,MAAO,IAAlD,SACE,cAAC,KAAD,wCACEgB,GAAG,WACCi1C,IAFN,IAGEhI,SAAU,GACV1rC,MAAM,eACN6zC,WAAY,CAAEt2C,MAAO,UAAW49C,cAAe,IAC3CR,GANN,aAQGD,qBAWbY,GAAyB,WAC7B,IAAQt5C,EAASqwC,KAATrwC,KACA44C,EAAyC54C,EAAzC44C,eAAgBC,EAAyB74C,EAAzB64C,qBAChBC,EAAuCF,EAAvCE,UAAiBC,EAAsBH,EAA5B54C,KACXu5C,EAA+CV,EAA/CU,mBAA0BP,EAAqBH,EAA3B74C,KAEtBi5C,EAAwBlI,GAAegI,GAAmB,GAC1DR,EAAoB7H,GAAauI,KAA0B,EAC3DT,EACFS,GAAyBA,EAAsB32C,OAAS,EACtD22C,EAAsBA,EAAsB32C,OAAS,GAAG3F,EACxDs8C,EAAsBA,EAAsB32C,OAAS,GAAG3F,EACxD,EAEAu8C,EAAuBnI,GAAeiI,GAAkB,GACxDV,EAAmB5H,GAAawI,KAAyB,EACzDR,EACFQ,GAAwBA,EAAqB52C,OAAS,EACpD42C,EAAqBA,EAAqB52C,OAAS,GAAG3F,EACtDu8C,EAAqBA,EAAqB52C,OAAS,GAAG3F,EACtD,EAEN,OACE,eAACi2B,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,6CAA1B,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,wBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,aAAqB,4BAGvB,cAAClf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAO,EAAOrI,SAAU,GAA7C,SAAiD,4BAInD,cAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACGkH,OAGL,cAAClmB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAO,EAAOrI,SAAU,GAA7C,SAAiD,oBAInD,eAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,uBAArB,UACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACG4G,KAEqB,IAAvBA,GAA4B,cAAC,KAAD,CAAW5H,UAAW2H,EAAmBzE,gBAAiByE,OAGzF,qBAAKp9C,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,+BAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,aAAqB,6BAGvB,cAAClf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAO,EAAOrI,SAAU,GAA7C,SAAiD,0BAInD,cAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACG2H,OAGL,cAAC3mB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAO,EAAOrI,SAAU,GAA7C,SAAiD,oBAInD,eAAC9W,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,uBAArB,UACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACG8G,KAEoB,IAAtBA,GAA2B,cAAC,KAAD,CAAW9H,UAAW0H,EAAkBxE,gBAAiBwE,WCzQhFlD,I,OAAQ,CACnBoE,kBAAmB,aACnBnC,kBAAmB,oBAEnBoC,sBAAuB,wBACvBC,uBAAwB,kBACxBC,wBAAyB,wBACzBC,oBAAqB,uBACrBC,qBAAsB,uBACtBl8B,OAAQ,SACRm8B,UAAW,YACXvnC,GAAI,KACJ6I,SAAU,WACVD,KAAM,OACND,OAAQ,SACRD,IAAK,MACLD,QAAS,UACT++B,qBAAsB,uBACtBC,aAAc,eACdnB,qBAAsB,uBACtBU,mBAAoB,qBACpBjC,kBAAmB,sBAER5F,GAAiB,CAC5BC,cAAe,GACflG,OAAQ,IACR/B,SAAU,GACVzd,UAAW,UACX2lB,OAAQ,WACRC,WAAY,CAAEt2C,MAAO,UAAW49C,cAAe,IAGpCrH,GAAY,CACvBpI,SAAU,GACVzd,UAAW,UACX8lB,OAAO,GAGIC,GAAe,CAC1BC,MAAO,CACLh1C,KAAMi1C,KAAYC,KAClBjmB,gBAAiB,UAEjBxwB,OAAQ,IACR02C,WAAY,EACZC,YAAa,EACbtf,UAAW,GACXuf,aAAc,IAEhBC,MAAO,CACLh4C,SAAS,EACTi4C,UAAW,EACXC,WAAY,EACZC,kBAAmB,KACnBC,UAAW,WAEbC,MAAO,CACLC,cAAe,EACfhR,OAAQ,CACNiR,SAAS,IAGbC,WAAY,CACVC,MAAO,CACL,CACEC,UAAW,CACTC,SAAU,KAEZlB,aAAc,CACZC,MAAO,CACLK,aAAc,GACdvf,UAAW,IAEbwf,MAAO,CACLh4C,SAAS,EACTsnC,OAAQ,CACNiR,SAAS,MAKjB,CACEG,UAAW,CACTrZ,SAAU,KAEZoY,aAAc,CACZO,MAAO,CACLh4C,SAAS,EACTsnC,OAAQ,CACNiR,SAAS,SA6BRmH,GApBW,WAExB,IAIIC,EAJJ,EAA8B7J,KAAtB7jC,EAAR,EAAQA,IAAKq/B,EAAb,EAAaA,OAAQ7rC,EAArB,EAAqBA,KAErB,OAAKA,GAAS8D,OAAOC,KAAK/D,GAAMsC,QAGpB,mBAARkK,IACF0tC,EAAWrO,EAAS,cAAC,GAAD,IAA8B,cAAC,GAAD,KAExC,uBAARr/B,IACF0tC,EAAWrO,EAAS,cAAC,GAAD,IAAmC,cAAC,GAAD,KAE7C,gBAARr/B,IACF0tC,EAAWrO,EAAS,cAAC,GAAD,IAA2B,cAAC,GAAD,KAG1C,mCAAGqO,KAbqC,MC7F3CtuB,I,OAAS,CAAC,UAAW,UAAW,UAAW,UAAW,YAEtDwpB,GAEY,qBAQZ1D,GAAiB,CACrBC,cAAe,GACflG,OAAQ,IACR/B,SAAU,GACVzd,UAAW,UACX2lB,OAAQ,YAIJE,GAAY,CAChBpI,SAAU,GACVzd,UAAW,UACX8lB,OAAO,GAGHoI,GAAa,CACjBlI,MAAO,CAAEv2C,OAAQ,IAAKwwB,gBAAiB,UAAWkmB,YAAa,GAAI1E,QAAS,IAGxE0M,GAAwB,CAC5BnI,MAAO,CACLh1C,KAAMi1C,KAAYC,KAClBjmB,gBAAiB,UAEjBxwB,OAAQ,IACR02C,WAAY,EACZC,YAAa,GACbtf,UAAW,GACXuf,aAAc,IAEhBC,MAAO,CACLh4C,SAAS,EACTi4C,UAAW,EACXC,WAAY,EACZC,kBAAmB,KACnBC,UAAW,WAEbC,MAAO,CACLC,cAAe,EACfhR,OAAQ,CACNiR,SAAS,IAGbC,WAAY,CACVC,MAAO,CACL,CACEC,UAAW,CACTC,SAAU,KAEZlB,aAAc,CACZC,MAAO,CACLK,aAAc,GACdvf,UAAW,IAEbwf,MAAO,CACLh4C,SAAS,EACTsnC,OAAQ,CACNiR,SAAS,MAKjB,CACEG,UAAW,CACTrZ,SAAU,KAEZoY,aAAc,CACZO,MAAO,CACLh4C,SAAS,EACTsnC,OAAQ,CACNiR,SAAS,SASjBuH,GAAyB,WAC7B,IAOIC,EACAC,EACAC,EACAC,EACA7J,EACA8J,EAZI16C,EAASqwC,KAATrwC,KACA26C,EAAsE36C,EAAtE26C,iBAAkBC,EAAoD56C,EAApD46C,4BAA6BC,EAAuB76C,EAAvB66C,mBACzCC,EAAuBH,EAA7B36C,KACiB+6C,EAAiDF,EAAlEG,gBAA0CC,EAAwBJ,EAA9B76C,KAEtCk7C,EAAyBnK,GAAe+J,GACxCK,EAA0BpK,GAAekK,GAQzCC,EAAuB54C,SAC3Bg4C,EAAqB,6BAChBF,IADgB,IAEnB7H,MAAM,6BACD6H,GAAsB7H,OADtB,IAEHkB,WAAYvC,GAAmB4J,EAAoB,SAIvDN,GADA5J,EAAYF,GAAawK,IACK3K,GAAcE,IAAMF,GAAcC,MAG5D2K,EAAwB74C,SAC5Bi4C,EAAsB,6BACjBH,IADiB,IAEpB7H,MAAM,6BACD6H,GAAsB7H,OADtB,IAEHkB,WAAYvC,GAAmB+J,EAAqB,SAIxDR,GADAC,EAAsBhK,GAAayK,IACM5K,GAAcE,IAAMF,GAAcC,MAQ7E,IAoBI4K,EACAC,EA0BAC,EACAC,EAhDAC,EAAkBZ,EAA4B56C,KAE/CkC,KAAI,SAACoC,GAAD,MAAgB,CACnBgF,KAAMhF,EAAKkD,MACXxJ,MAAOsG,EAAKkD,MACZ7K,EAAG2H,EAAK3E,UA+DZ,OA9CMu7C,GAA0BA,EAAuB54C,OAAS,EAE5D44C,EAAuBA,EAAuB54C,OAAS,GAAG3F,EAC1Du+C,EAAuBA,EAAuB54C,OAAS,GAAG3F,GAE1Dy+C,EACEF,EAAuBA,EAAuB54C,OAAS,GAAG3F,EAC1Du+C,EAAuBA,EAAuB54C,OAAS,GAAG3F,EAC5D0+C,EAAoB,GAEpBH,EAAuBA,EAAuB54C,OAAS,GAAG3F,EAC1Du+C,EAAuBA,EAAuB54C,OAAS,GAAG3F,GAE1D0+C,EACEH,EAAuBA,EAAuB54C,OAAS,GAAG3F,EAC1Du+C,EAAuBA,EAAuB54C,OAAS,GAAG3F,EAC5Dy+C,EAAkB,IAElBA,EAAkB,EAClBC,EAAoB,IAGtBD,EAAkB,EAClBC,EAAoB,GAItBC,EACsB,IAApBF,EACI,CACExH,SAAS,EACThD,UAAWA,EACXiD,sBAAuB,UACvBC,gBAAgB,GAElB,GACNyH,EACwB,IAAtBF,EACI,CACEzH,SAAS,EACThD,UAAW8J,EACX7G,sBAAuB,UACvBC,gBAAgB,GAElB,GAGJ,eAAClhB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,uDAA1B,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,eAAC/G,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,iCAAiC23B,GAAI,CAAEC,UAAW,GAA/F,UACE,cAACH,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,iCAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,eAAC/G,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,yDAAyDkzB,SAAS,SAA5F,UACE,cAACuE,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,uBAArB,SACE,cAAC,KAAD,6BACMu2C,IADN,IAEE1zC,MAAO,sBACP6zC,WAAY,CAAE0E,WAAY,SAAUhrB,QAAS,QAH/C,SAKG2vB,EAAuBA,EAAuB54C,OAAS,GAAG3F,OAG/D,cAACi2B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,EAAGC,SAAU,KAApC,SACKshB,EAAuB54C,OACxB,cAAC,KAAD,CACEquC,OAAQuK,EACRtvB,OAAQ4uB,EACRxI,aAAcsI,EACd/F,UAAWrC,KAAYC,KACvBqC,YAAaC,KAAatC,KAC1BuC,0BAA2B9D,EAC3B+D,uBAAuB,IAIzB,cAAC,KAAD,CAAiB3C,aAAc,CAAEC,MAAO,CAAEv2C,OAAQ,IAAKD,MAAO,IAAKs3B,UAAW,SAGlF,cAACH,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,uBAArB,SACE,cAAC,KAAD,0CACMu2C,IADN,IAEE1zC,MAAO,qBACP6zC,WAAY,CAAE0E,WAAY,SAAUhrB,QAAS,SACzC+vB,GAJN,aAMGF,OAGL,cAACxoB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,8CAArB,SACE,cAAC,KAAD,0CACMu2C,IADN,IAEE1zC,MAAO,uBACP6zC,WAAY,CAAE0E,WAAY,SAAUhrB,QAAS,SACzCgwB,GAJN,aAMGF,iBAOb,cAACzoB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,qBAAKx+B,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE8G,SAAU,KAA3B,SACE,eAAChH,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,+BAA+B23B,GAAI,CAAEC,UAAW,GAA1E,UACE,cAACH,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,CACEqsC,OAAQ6K,EACR5vB,OAAQA,GACRomB,aAAcmI,GACd3F,YAAaC,KAAagH,eAG9B,cAAC7oB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,CAAQqsC,OAAQ6K,WAItB,cAAC5oB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,qBAAKx+B,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,wBAAwB23B,GAAI,CAAE6G,KAAM,EAAG+hB,SAAU,UAAtE,SACE,eAAC9oB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAAgB23B,GAAI,CAAEC,UAAW,GAA9E,UACE,cAACH,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,yBAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,cAAC/G,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,oBAA1B,SACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,eAAC/G,GAAA,EAAD,CAAM+E,WAAS,EAACtJ,SAAS,SAAzB,UACE,cAACuE,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAArB,SACE,cAAC,KAAD,2BACEsB,GAAG,sBACCi1C,IAFN,IAGE1zC,MAAO,kBACP0rC,SAAYqR,EAAoB,GAAK,GACrCzG,UAAU,OACVL,iBAAiB,gBACjBJ,sBAAsB,sBAPxB,SASGkH,OAGL,cAACnoB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,EAAGl+B,MAAO,KAAjC,SACK0/C,EAAwB74C,OACzB,cAAC,KAAD,CACE0vC,aAAcuI,EACd5J,OAAQwK,EACR5G,UAAWrC,KAAYC,KACvBvmB,OAAQ6uB,EACRjG,YAAaC,KAAatC,KAE1BuC,0BAA2BgG,EAC3B/F,uBAAuB,IAGzB,cAAC,KAAD,CACE3C,aAAc,CACZe,WAAYqH,GAAsBrH,WAClCd,MAAO,CAAEv2C,OAAQ,IAAK42C,aAAc,2BAexDqJ,GAA2B,WAC/B,IAAQ37C,EAASqwC,KAATrwC,KACA26C,EAAsE36C,EAAtE26C,iBAAkBC,EAAoD56C,EAApD46C,4BAA6BC,EAAuB76C,EAAvB66C,mBAC1Be,EAA2DjB,EAAhFkB,oBAA6DC,EAAmBnB,EAAvCoB,mBACxBhB,EAAsBF,EAAvCG,gBACFE,EAAyBnK,GAAe4J,EAAiB36C,MAGzD4wC,EAAYF,GAAawK,KAA2B,EAoBpDxH,EACFwH,GAA0BA,EAAuB54C,OAAS,EACxD44C,EAAuBA,EAAuB54C,OAAS,GAAG3F,EAC1Du+C,EAAuBA,EAAuB54C,OAAS,GAAG3F,EAC1D,EAQN,OACE,eAACi2B,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,uCAA1B,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,yBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAK,EAA1B,SAA2B,kCAI7B,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,+BAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAO,EAA5B,SAAmC,2BAIrC,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,yBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACGgK,OAGL,cAAChpB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,+BAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAO,EAA5B,SAAmC,0BAIrC,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,yBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACGkK,OAGL,cAAClpB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,+BAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAO,EAA5B,SAAmC,4BAIrC,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,yBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACG8B,OAGW,IAAfA,GACC,cAAC9gB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,IAA9B,SACE,cAAC,KAAD,CAAW+Y,UAAWA,EAAWkD,gBAAiBlD,QAGnDgK,KAAiCA,EAA4B56C,MAC9D,qCACE,qBAAK7E,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,aAAa23B,GAAE,cAAI6G,KAAM,GAASohB,EAAoB,GAAK,CAAE3G,aAAc,MAAhG,SACE,cAAC,KAAD,CACEU,cAAe8F,EAA4B56C,KAC3CksB,gBAAgB,UAChBxwB,OAAQ,EACRq5C,SAAUC,KAAgBgH,gBAK/BjB,GACD,qCACE,qBAAK5/C,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,6BAAUwtC,IAAV,IAAqBC,OAAK,EAA1B,SACGqD,QAGL,cAACxiB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,yBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBC,OAAO,EAA5B,SAAmC,uBAIrC,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,yBAAyB23B,GAAI,CAAEshB,aAAc,KAAlE,SACE,cAAC,KAAD,6BAAUtC,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACGmJ,cAiBAkB,GARkB,WAC/B,MAAyB5L,KAAjBxE,EAAR,EAAQA,OAAQ7rC,EAAhB,EAAgBA,KAEhB,OAAKA,GAAS8D,OAAOC,KAAK/D,GAAMsC,OAEzBupC,EAAS,cAAC,GAAD,IAA6B,cAAC,GAAD,IAFE,MC3dpCqQ,GAAb,4MACSriD,WADT,8CAGE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAE5C,OACE,qBACEL,UAAS,UAAKkuB,GAA4BltB,KAAKtC,MAAMyvB,cAA5C,YAA6DntB,KAAKtC,MAAMsB,WAAa,IAC9FU,MAAM,6BACNJ,MAAM,MACNC,OAAO,OACPC,QAAQ,WACRC,KAAK,OANP,SAQE,sBACEE,EAAE,mPACFF,KAAMO,KAAKtC,MAAM0B,OAASA,UAjBpC,GAAoCa,IAAMC,W,OCAnC,SAAS8/C,GAAMtiD,GACpB,IAAI0B,EAAU1B,EAAM2N,MAAQ1F,GAAOuZ,qBAAqBxhB,EAAM2N,MAAMgW,OAAO,IAAM,UAEjF,OACE,mCAEI,sBAAKriB,UAAU,eAAf,UACE,qBACEA,UAAU,mBACV6nB,MAAO,CACLmI,WAAY5vB,KAGhB,qBACEJ,UAAU,eACV6nB,MAAO,CACLoI,OAAO,aAAD,OAAe7vB,GACrB8vB,UAAU,aAAD,OAAe9vB,MAG5B,qBAAKJ,UAAU,aAAf,SAA6BtB,EAAM2N,QAClC3N,EAAMuiD,sBACL,cAAC,GAAD,CACEjhD,UAAU,uBACVK,OAAQ3B,EAAMwiD,8BACd/yB,aAAczvB,EAAMuiD,uBAGP,OAAhBviD,EAAM8F,OAAkB,qBAAKxE,UAAU,cAAf,SAA8BtB,EAAM8F,a,cC1BjE28C,I,OAAYC,aAAW,CAC3BnU,QAAS,CACPjqB,SAAU,GACVq+B,WAAY,QACZC,WAAY,IACZvwB,gBAAiB,cAId,SAASwwB,GAAc7iD,GAC5B,IAAMu4B,EAAUkqB,KAQhB,OACE,sBAAKnhD,UAAWqqB,KAAW,gBAAiB,CAAE,gBAAiB3rB,EAAMm2C,QAAU50C,QAP3D,WACdvB,EAAMm2C,OAASn2C,EAAMuB,SACzBvB,EAAMuB,WAKR,UACE,sBAAKD,UAAWqqB,KAAW,WAAY,CAAE,aAAc3rB,EAAMm2C,QAA7D,UACE,cAACmM,GAAD,CAAO30C,MAAO3N,EAAM2N,QACpB,qBAAKwb,MAAO,CAAEqvB,YAAa,IAA3B,SAAkCx4C,EAAMm2C,QACxC,8BAAMn2C,EAAMyP,WAEZzP,EAAMm2C,OACN,cAAC7H,GAAA,EAAD,CACEnqC,MACE,4IAEFsmB,UAAU,eACV8N,QAAS,CAAEgW,QAAShW,EAAQgW,SAL9B,SAOE,qBAAKjtC,UAAU,UAAf,SACE,qBAAK2sB,IAAI,0BAA0B3sB,UAAU,OAAO0sB,IAAI,mC,OClB7D,SAAS80B,GAAT,GAAmF,IAAnDrzC,EAAkD,EAAlDA,KAAMqU,EAA4C,EAA5CA,OACrC8H,EAAMJ,iBAAuB,MACnC,EAAwBtrB,oBAAkB,GAA1C,mBAAOmqB,EAAP,KAAammB,EAAb,KACA,EAA4BtwC,mBAAiB,SAA7C,mBAAOmnB,EAAP,KAAe07B,EAAf,KACA,EAA4B7iD,mBAAiB,IAA7C,mBAAOyO,EAAP,KAAe05B,EAAf,KAEMp3B,EAAWmc,cACjB,EAA2C9sB,aAAY,SAACC,GAAD,OAAwBA,EAAMod,gBAA7EzD,EAAR,EAAQA,cAAeJ,EAAvB,EAAuBA,gBACftT,EAASlG,aAAY,SAACC,GAAD,OAAwBA,EAAMyH,SAAnDxB,KAEF6hB,EAAQC,qBACR06B,GAAc98C,GAAgCM,GAE9C4qB,EAAqB,SAArBA,EAAsBvI,GACtB+C,EAAIpB,UAAYoB,EAAIpB,QAAQsB,SAASjD,EAAMkD,UAC7CykB,GAAQ,GACR5vC,SAASI,oBAAoB,QAASowB,GAAoB,KAI9D3wB,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,GAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,GAAoB,OAW9D,IAAK/I,EAAM46B,mCACT,OAAO,KAGT,IAeI16B,EAfE26B,EACJ,eAACnqB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAASpc,WAAW,SAASolB,QAAS,EAAhE,UACE,cAACpqB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,CAAMmnC,OAAQ,IAAKxf,UAAU,UAAUyd,SAAU,GAAjD,SACGpgC,MAGL,cAACspB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,CAAMolC,SAAU,GAAI+B,OAAQ,IAAKxf,UAAU,UAA3C,SACGtO,SAYHqF,GAJJZ,EADEriB,GAAgCM,KACtB,OAACsT,QAAD,IAACA,MAAiB3P,QAAS2P,EAAgB3P,MAAQ,IAEnD,OAAC2P,QAAD,IAACA,MAAiB3P,QAEP,CAAEonB,OAAQ,uBAA0B,GAEvD+G,EAAc,SAAC7tB,GAAD,OAAe,WAC3BA,EAAK0rC,QACT3F,GAAQ,GACRv/B,EAAS8J,GAAoBtQ,OAWjC,OACE,sBAAKnJ,UAAS,+BAA2BinB,EAAwB,GAAb,YAAmBY,MAAK,gBAAOA,GAASyC,IAAKA,EAAjG,UACE,sBACErqB,QAAS,kBAAMivC,GAASnmB,IACxBlB,MAAK,cACHuI,QAAS,OACT7vB,OAAQ,OACRuhD,eAAgB,iBACZ76B,EAAW,CAAEsrB,QAAS,UAAa,CAAEqG,WAAY,KANzD,UASE,cAAC5L,GAAA,EAAD,CACEtc,OAAK,EACL7tB,MAAO++C,EACPz4B,UAAU,MACV44B,WAAY,EACZC,gBAAiB,CACf/U,QAAS,CACPtV,GAAI,CACFsqB,QAAS,UACT7hD,MAAO,UACPmyC,QAAS,UACT,sBAAuB,CACrBnyC,MAAO,WAET6vB,OAAQ,kBACRiyB,aAAc,KAftB,SAoBE,sBAAKr6B,MAAO,CAAEuI,QAAS,OAAQiiB,cAAe,SAAUuG,WAAY,GAApE,UACE,cAAC,KAAD,CACE9nB,UAAa/H,EAAO,UAAY,UAChCwlB,SAAU,GACV1mB,MAAO,CAAEs6B,aAAc,WAAYznB,SAAU,SAAUqd,SAAU,IAAKqD,WAAY,UAHpF,SAKGjtC,IAEH,cAAC,KAAD,CACE2iB,UAAa/H,EAAO,UAAY,UAChCwlB,SAAU,GACV1mB,MAAO,CACL+wB,WAAY,EACZuJ,aAAc,WACdznB,SAAU,SACVqd,SAAU,IACVqD,WAAY,UARhB,SAWG54B,SAINyE,GACC,qBAAKjnB,UAAWqqB,KAAW,gBAAiB,CAAE+3B,OAAQr5B,IAASlB,MAAO,CAAE6P,UAAW,UAAnF,SACE,cAAC,GAAD,CAAWt3B,MAAM,cAKvB,sBAAKJ,UAAWqqB,KAAW,6BAA8B,CAAEtB,KAAMA,IAAjE,UACG24B,GACC,qCACE,cAAC,GAAD,6BAAmB9oC,GAAnB,IAAkC3Y,QAvEtB,WACd2Y,EAAci8B,QAClB3F,GAAQ,GACRv/B,EAAS8J,GAAoB,UAsEvB,cAAC,KAAD,CAAM80B,SAAU,GAAI1mB,MAAO,CAAE6U,YAAa,IAA1C,iCACG,OAAClkB,QAAD,IAACA,KAAiB3P,MAAQ2P,EAAgB3P,MAAQ,EADrD,UAKJ,sBAAK7I,UAAU,cAAf,UACE,qBAAK2sB,IAAI,4BAA4BD,IAAI,WACzC,uBAAO5qB,KAAK,OAAOkqB,SAAU,SAACrsB,GAAD,OAAYonC,EAAUpnC,EAAE8qB,OAAOjmB,QAAQA,MAAO6I,IAC3E,sBAAKrN,UAAU,kBAAf,UACE,sBAAKA,UAAU,UAAf,UACE,wBAAQC,QAAS,kBAAMwhD,EAAU,UAAUzhD,UAAWqqB,KAAW,CAAEhqB,OAAmB,UAAX0lB,IAA3E,SAAkG,YAGlG,wBAAQ9lB,QAAS,kBAAMwhD,EAAU,SAASzhD,UAAWqqB,KAAW,CAAEhqB,OAAmB,SAAX0lB,IAA1E,SAAgG,WAIlG,mBACE/lB,UAAU,WACV2F,KAAI,UAAKN,GAAIoC,mBAAT,0DACJ,WAAS,gBACT,WAAS,SAJX,SAME,qBAAKklB,IAAI,yBAAyBD,IAAI,aAExC,cAAC8D,GAAD,CAASlvB,GAAG,SAASuvB,MAAM,MAAMF,MAAM,eAG3C,qBAAK3wB,UAAS,2BAAsB0hD,EAAa,GAAK,aAAtD,SACE,qBAAK75B,MAAO,CAAEtnB,OAAQ,OAAQm6B,SAAU,QAAxC,SACI,OAACliB,QAAD,IAACA,KAAiB3P,MAClB,6BACG,aAAI2P,EAAgB5E,SAClB3B,MAAK,SAAC3C,EAAmBwW,GAApB,MACO,UAAXC,EAAqBD,EAAE+uB,MAAQvlC,EAAEulC,MAAQvlC,EAAEnB,KAAK6X,cAAcF,EAAE3X,SAEjE/M,QAtJQ,SAAC+H,GACxB,OAAIkE,GACKlE,EAAKgF,KAAKtO,cAAckG,SAASsH,EAAOxN,kBAqJlCkH,KAAI,SAACoC,GACJ,OACE,oBAAqClJ,QAAS+2B,EAAY7tB,GAA1D,SACE,cAAC,GAAD,gBAAmBA,KADZA,EAAKgF,KAAKvI,QAAQ,IAAK,UAOxC,qBAAK5F,UAAU,QAAf,SAAuB,8C,WC/L/B22C,GAAY,CAChBpI,SAAU,GACVzd,UAAW,UACX2lB,OAAQ,WACRG,OAAO,GAGHC,GAAe,CACnBC,MAAO,CACLh1C,KAAMi1C,KAAYC,KAClBjmB,gBAAiB,UACjBxwB,OAAQ,IACR02C,WAAY,EACZC,YAAa,EACbtf,UAAW,GACXuf,aAAc,IAEhBC,MAAO,CACLh4C,SAAS,EACTi4C,UAAW,EACXC,WAAY,EACZC,kBAAmB,KACnBC,UAAW,WAEbC,MAAO,CACLC,cAAe,EACfhR,OAAQ,CACNiR,SAAS,IAGbC,WAAY,CACVC,MAAO,CACL,CACEC,UAAW,CACTC,SAAU,KAEZlB,aAAc,CACZC,MAAO,CACLK,aAAc,GACdvf,UAAW,IAEbwf,MAAO,CACLh4C,SAAS,EACTsnC,OAAQ,CACNiR,SAAS,MAKjB,CACEG,UAAW,CACTrZ,SAAU,KAEZoY,aAAc,CACZO,MAAO,CACLh4C,SAAS,EACTsnC,OAAQ,CACNiR,SAAS,SASjB0K,GAAoB,WACxB,IAKIpK,EACAE,EANItzC,EAASqwC,KAATrwC,KAEegwC,EAAkEhwC,EAAjFy1C,cAAoCgI,EAA6Cz9C,EAA3D02C,aAA0BgH,EAAiC19C,EAAvCA,KAAiBsJ,EAAsBtJ,EAAtBsJ,KAAMq0C,EAAgB39C,EAAhB29C,YAEnEtK,EAActC,GAAe2M,GAG/B9M,EAAYF,GAAa2C,GAa7B,OAXMA,EAAY/wC,SAChB8wC,EAAmB,6BACdpB,IADc,IAEjBO,MAAM,6BACDP,GAAaO,OADb,IAEHkB,WAAYvC,GAAmBwM,EAAW,SAG9CpK,EAAc1C,EAAYL,GAAcC,KAAOD,GAAcE,KAI7D,eAAC7d,GAAA,EAAD,CAAM+E,WAAS,EAAC7E,GAAI,CAAE4a,QAAS,UAA/B,UACE,cAAC9a,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,gCAAgC23B,GAAI,CAAE6G,KAAM,EAAGoa,WAAY,KAAhF,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAA1B,UACE,cAACphB,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAAc23B,GAAI,CAAEqmB,cAAe,KAAxD,SACE,cAAC,KAAD,CAAMltB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,cAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,GAAD,CAAsBgF,KAAMA,EAAMqU,OAAQggC,WAIhD,cAAC/qB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,qBAAKx+B,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,6BAA6B23B,GAAI,CAAE6G,KAAM,EAAGoa,WAAY,KAA7E,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAA7C,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,cAAc23B,GAAI,CAAEqmB,cAAe,GAAxD,SACE,cAAC,KAAD,CAAMltB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,0BAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAEr3B,MAAO,KAAxB,SACE,eAACm3B,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,iCAAiC23B,GAAI,CAAEp3B,OAAQ,IAAzE,UACE,cAACk3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAWqqB,KAAW,2BAA4B,CAAE,iBAAkBi4B,IAAjF,SACE,cAAC,KAAD,CAAWhH,OAAQgH,EAAMxgD,KAAK,QAAQuiB,KAAK,IAAIyM,UAAU,cAE3D,cAAC2G,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,iBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBrG,OAAQ,IAA7B,SACKuE,GAAgB,cAAC,KAAD,CAAItG,SAAU,GAAI1mB,MAAO,CAAEznB,MAAO,kBAGzD,cAACq3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,wBAArB,SACE,cAAC,KAAD,CAAgBq9B,KAAMilB,gBAMhC,cAAC7qB,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE6G,KAAM,GAAvB,SACE,qBAAKx+B,UAAU,uBAEjB,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,yBAAyB23B,GAAI,CAAE6G,KAAM,EAAGoa,WAAY,KAAzE,SACE,eAACnhB,GAAA,EAAD,CAAM+E,WAAS,EAACqc,UAAU,SAAS74C,UAAU,gBAA7C,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,oBAArB,SACE,cAAC,KAAD,CAAM8wB,UAAU,UAAUyd,SAAU,GAAIqI,OAAK,EAA7C,SAA8C,0BAIhD,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,+BAArB,SACKuiD,GAAeA,EAAUp7C,OAC1B,cAAC,KAAD,CACE0vC,aAAcoB,EACdmB,UAAU,OACV3oB,OAAQ0nB,EACR3C,OAAQ0C,EACRmB,YAAaC,KAAa2E,gBAC1B1E,yBAA0B9D,EAC1B+D,uBAAuB,IAIzB,cAAC,KAAD,CAAiB3C,aAAc,CAAEC,MAAO,CAAEv2C,OAAQ,IAAKD,MAAO,IAAKs3B,UAAW,kBAStF6qB,GAAsB,WAC1B,IACA,EADiBvN,KAATrwC,KAENw4B,KAAQwX,EADV,EACUA,MAAOyN,EADjB,EACiBA,KAGjB,OACE,eAAC7qB,GAAA,EAAD,CAAM+E,WAAS,EAACx8B,UAAU,yCAA1B,UACE,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,wBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAAIkI,OAAO,QAA1C,SAAkD,2BAIpD,cAAChf,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,sBAArB,SACE,cAAC,KAAD,CAAWs7C,OAAQgH,EAAMxgD,KAAK,QAAQuiB,KAAK,QAE7C,cAACoT,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,kBAArB,SACE,cAAC,KAAD,6BAAU22C,IAAV,IAAqBpI,SAAU,GAA/B,SACGsG,WAcI6N,GAPa,WAC1B,MAAyBxN,KAAjBxE,EAAR,EAAQA,OAAQ7rC,EAAhB,EAAgBA,KAEhB,OAAKA,GAAS8D,OAAOC,KAAK/D,GAAMsC,OACzBupC,EAAS,cAAC,GAAD,IAAwB,cAAC,GAAD,IADO,MCrM3CiG,I,OAAY,CAChBpI,SAAU,GACVzd,UAAW,UACX2lB,OAAQ,WACRG,OAAO,IAGHqD,GAAQ,CAAEh6B,SAAU,WAAYD,KAAM,OAAQD,OAAQ,SAAUD,IAAK,MAAOD,QAAS,WACrF8iC,GAAa,CAAE,GAAI,MAAO,GAAI,SAAU,GAAI,QAE5CC,GAAsB,WAC1B,IAAQ/9C,EAASqwC,KAATrwC,KACAg+C,GAA4B1wC,MAAMC,QAAQvN,GAAQA,EAAK,GAAKA,GAA5Dg+C,wBACFnjC,EAAQ/W,OAAO5G,OAAO8gD,GAAyB3H,QAAO,SAACzxC,EAAaq5C,GAAd,OAA4Br5C,EAAMq5C,IAAM,GAEpG,OACE,eAACrrB,GAAA,EAAD,CAAM+E,WAAS,EAACC,WAAW,SAA3B,UACE,cAAChF,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,KAA9B,SACE,cAAC,KAAD,6BAAUia,IAAV,IAAqBpI,SAAU,GAAIkI,OAAO,QAAQG,OAAK,EAAvD,SAAwD,mBAI1D,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,IAA9B,SACE,cAAC,KAAD,6BAAUia,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,WAAvD,SACG/2B,OAGL,qBAAK1f,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACnJ,UAAU,kBAAkB23B,GAAI,CAAEshB,aAAc,GAA3D,SACE,cAAC,KAAD,6BAAUtC,IAAV,IAAqBpI,SAAU,GAAIkI,OAAO,QAAQG,OAAK,EAAvD,SAAwD,gBAIzDjuC,OAAOitB,QAAQitB,GAAyB97C,KAAI,mCAAEnH,EAAF,KAAO4E,EAAP,YAC3C,qCACE,cAACizB,GAAA,EAAD,CAAMtuB,MAAI,EAAWnJ,UAAU,sBAAsB23B,GAAI,CAAEshB,aAAc,IAAzE,SACE,cAAC,KAAD,6BAAUtC,IAAV,IAAqBpI,SAAU,GAAIkI,OAAO,QAAQG,OAAO,EAAzD,SACGqD,GAAMr6C,OAFKA,GAKhB,cAAC63B,GAAA,EAAD,CAAMtuB,MAAI,EAAWnJ,UAAU,sBAAsB23B,GAAI,CAAEshB,aAAc,KAAzE,SACE,cAAC,KAAD,6BAAUtC,IAAV,IAAqBpI,SAAU,GAAIkI,OAAO,QAAQ3lB,UAAWnqB,GAAOgZ,kBAAkB/f,GAAtF,SACG4E,MAFW5E,aAWpBmjD,GAAmB,WACvB,IAAQl+C,EAASqwC,KAATrwC,KACAm+C,EAA6Cn+C,EAA7Cm+C,mBAAoBC,EAAyBp+C,EAAzBo+C,aAAc/gC,EAAWrd,EAAXqd,OAE1C,OACE,eAACuV,GAAA,EAAD,CAAM+E,WAAS,EAACC,WAAW,SAA3B,UACE,cAAChF,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,KAA9B,SACE,cAAC,KAAD,6BAAUia,IAAV,IAAqBpI,SAAU,GAAIkI,OAAO,QAAQG,OAAK,EAAvD,SAAwD,oBAI1D,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,IAA9B,SACE,cAAC,KAAD,6BAAUia,IAAV,IAAqBpI,SAAU,GAAI+B,OAAQ,IAAKmG,OAAO,QAAvD,SACGv0B,OAGL,qBAAKliB,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,GAA9B,SACE,cAAC,KAAD,6BAAUia,IAAV,IAAqBpI,SAAU,GAAIkI,OAAO,QAAQG,OAAK,EAAvD,SAAwD,wBAI1D,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,IAA9B,SACE,eAACjF,GAAA,EAAD,CAAM+E,WAAS,EAACC,WAAW,SAA3B,UACE,cAAChF,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,CAAgB+5C,MAAOF,EAAmBA,mBAAoBG,QAAM,MAEtE,cAAC1rB,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,CAAM2nB,UAAU,UAAU8lB,OAAK,EAA/B,SACG+L,GAAWK,EAAmBA,+BAKpCC,GACD,qCACE,qBAAKjjD,UAAU,8BACf,cAACy3B,GAAA,EAAD,CAAMtuB,MAAI,EAAV,SACE,cAAC,KAAD,6BAAUwtC,IAAV,IAAqBpI,SAAU,GAAIkI,OAAO,QAAQG,OAAK,EAAvD,SAAwD,6BAI1D,cAACnf,GAAA,EAAD,CAAMtuB,MAAI,EAACwuB,GAAI,CAAE+E,YAAa,IAA9B,SACE,cAAChS,GAAD,CACEpD,GAAE,4CAAuC27B,EAAvC,gBACF/6C,KAAM,cAAC,KAAD,CAAM4oB,UAAU,UAAhB,SAA2BmyB,IACjCjjD,UAAU,kCA0DTojD,GAPa,WAC1B,MAAsBlO,KAAdrwC,EAAR,EAAQA,KAAMwM,EAAd,EAAcA,IAEd,OAAKxM,GAAS8D,OAAOC,KAAK/D,GAAMsC,OACjB,gBAARkK,EAAwB,cAAC,GAAD,IAA0B,cAAC,GAAD,IADV,MC7JpCgyC,GAAb,4MACS3kD,WADT,8CAGE,WACE,OACE,qBAAK4B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,6dACFF,KAAK,kBARf,GAAgCQ,IAAMC,WCAzBoiD,GAAb,4MACS5kD,WADT,8CAGE,WACE,OACE,qBAAK4B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEunB,SAAS,UACTC,SAAS,UACTvnB,EAAE,4WACFF,KAAK,kBAVf,GAA6BQ,IAAMC,WCAtBqiD,GAAb,4MACS7kD,WADT,8CAGE,WACE,OACE,sBAAK4B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEC,EAAE,oHACFF,KAAK,YAEP,sBACEE,EAAE,mHACFF,KAAK,YAEP,sBACEE,EAAE,0HACFF,KAAK,YAEP,sBACEE,EAAE,wHACFF,KAAK,YAEP,sBACEE,EAAE,kHACFF,KAAK,YAEP,sBACEE,EAAE,8UACFF,KAAK,mBA5Bf,GAAiCQ,IAAMC,WCA1BsiD,GAAb,4MACS9kD,WADT,8CAGE,WACE,OACE,qBAAK4B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,0HACFF,KAAK,kBARf,GAA+BQ,IAAMC,WCAxBuiD,GAAb,4MACS/kD,WADT,8CAGE,WACE,OACE,qBAAK4B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,gFAAgFF,KAAK,kBANrG,GAAiCQ,IAAMC,WC2B1B+6C,GAAW,CACtBz5B,OAAQ,cAAC,KAAD,IACRm8B,UAAW,cAAC,KAAD,IACXvnC,GAAI,cAAC,KAAD,IACJssC,IAAK,cAAC,KAAD,IACLC,MAAO,cAAC,KAAD,IACPC,OAAQ,cAAC,KAAD,IACRC,IAAK,cAAC,KAAD,IACLtH,MAAO,cAAC,KAAD,IACPuH,WAAY,cAAC,KAAD,IACZC,UAAW,cAAC,KAAD,IACXC,YAAa,cAAC,KAAD,IACbC,OAAQ,cAAC,GAAD,IACRC,IAAK,cAAC,GAAD,IACLC,QAAS,cAAC,GAAD,IACTC,MAAO,cAAC,GAAD,IACPC,QAAS,cAAC,GAAD,KAGEhI,GAAc,SAAC/6C,GAC1B,IAAIgjD,EAAShjD,EAAGmR,QAAQ,MAAQ,EAAInR,EAAG2E,MAAM,KAAK,GAAK3E,EAEvD,OADAgjD,EAASA,EAAO1+C,QAAQ,MAAO,IACxBq2C,GAASqI,GAAmCrI,GAASqI,EAAOr9C,QAAmC,cAAC,KAAD,KAsCzFs9C,GAnCK,SAAC9+C,GACnB,IAAQkvC,EAAiBD,GAAejvC,GAAhCkvC,aAGF+F,EAAQ9F,GAAoBnvC,GAC5B++C,EAAoB9J,GAAW/xC,OAAOC,KAAK8xC,GAAS,CAAEA,SAAU,GAEhE+J,EAAoB,SAAC1hD,GACzBwC,OAAOwjB,KAAKpiB,GAAOggB,uBAAuB+zB,EAAM33C,IAAQ,WAwB1D,MAAO,CAAE2hD,qBApBoB,WAC3B,OAAQj/C,GACN,KAAK2uC,GAAgBC,UACnB,OAAO,cAAC,GAAD,cAAmBsG,YAAa8J,GAAuBD,IAChE,KAAKpQ,GAAgBhiB,aACnB,OAAO,cAAC,GAAD,IACT,KAAKgiB,GAAgBE,UACnB,OAAO,cAAC,GAAD,IACT,KAAKF,GAAgBG,kBACnB,OAAO,cAAC,GAAD,IACT,KAAKH,GAAgBI,YACnB,OAAO,cAAC,GAAD,IACT,KAAKJ,GAAgBK,aACnB,OAAO,cAAC,GAAD,IAET,QACE,OAAO,OAIkBE,iBCnClBgQ,I,OAlCuB,SAAC,GAAuD,IAArD9/C,EAAoD,EAApDA,KAAMY,EAA8C,EAA9CA,KAAM0qC,EAAwC,EAAxCA,UAAW9+B,EAA6B,EAA7BA,IAAKq/B,EAAwB,EAAxBA,OAAQkU,EAAgB,EAAhBA,UAC3E,EAA+CL,GAAY9+C,GAAnDi/C,EAAR,EAAQA,qBAAsB/P,EAA9B,EAA8BA,aACxB5tB,EAAQC,qBACRw9B,EAAkB7P,EAAe,CAAEA,eAAckQ,cAAe,GAAInU,SAAQkU,aAAc,GAC1FE,EAAazzC,EAAF,WAAYA,GAAQ,GAErC,MAAY,aAARA,GAAsB0V,EAAMg+B,sBACvB,KAIP,qBAAK/kD,UAAU,sBAAf,SACE,cAACg1C,GAAgBgQ,SAAjB,CACExgD,MAAO,CACLK,OACA6rC,SACAjrC,OACA4L,MACA8+B,aANJ,SAUE,cAAC,KAAD,2BACE2I,iBAAgB,yBAAoBrzC,GAApB,OAA2Bq/C,EAA3B,4BACZN,GAFN,IAGErU,UAAWA,EAHb,SAKGuU,aC7BIO,GAdO,WAA2B,IAA1BC,EAAyB,wDAC9C,EAA4BtmD,mBAAkBsmD,GAA9C,mBAAOxU,EAAP,KAAeC,EAAf,KAEMvO,EAAS,WACbuO,GAAU,SAAAvO,GAAM,OAAKA,MAGjBwiB,EAAY,SAACpgD,GACjBmsC,EAAUnsC,IAGZ,MAAO,CAAEksC,SAAQtO,SAAQwiB,cCNdO,I,OAAuB,SAAC,GAA4E,EAA1E1/C,KAA2E,IAArEirC,EAAoE,EAApEA,OAAoE,EAA5Dr/B,IAkBnD,OACE,qBAAKrR,UAAU,8BAA8B6nB,MAAO6oB,EAAS,CAAEnwC,OAAQ,KAAQ,CAAEA,OAAQ,IAAzF,SACE,qBAAKP,UAAU,yC,OCMd,SAASolD,GAAwB1mD,GACtC,IAAM2mD,EAAiBn7B,kBAAO,GAC9B,EAAgCtrB,oBAAkB,GAAlD,mBAAO0mD,EAAP,KAAiBC,EAAjB,KACA,EAAkC3mD,oBAAkB,GAApD,mBAAO4mD,EAAP,KAAkBC,EAAlB,KACA,EAAkD7mD,mBAgCzC,CACLsR,KAAM,GAGN64B,cAAc,EACdgE,mBAAmB,EACnBlkC,MAAO,EACP42B,QAAS,GACTzsB,WAAY,KAxChB,mBAAO0yC,EAAP,KAA0BC,EAA1B,KACA,EAAkC/mD,mBAAc,IAAhD,mBAAOgnD,EAAP,KAAkBC,EAAlB,KACA,EAAsCjnD,mBAAc,MAApD,mBAAOknD,EAAP,KAAoBC,EAApB,KACA,EAAgDnnD,oBAAS,GAAzD,mBAAOonD,EAAP,KAAyBC,EAAzB,KACA,EAAsDrnD,qBAAtD,mBAAOsnD,EAAP,KAA4BC,EAA5B,KACA,EAA8DvnD,qBAA9D,mBAAOwnD,EAAP,KAAgCC,EAAhC,KACA,EAAiEpB,IAAc,GAA/DqB,EAAhB,EAAQ5V,OAAmC6V,EAA3C,EAAgC3B,UACxB16C,EAAiBlL,aAAY,SAACC,GAAD,OAAwBA,EAAMC,WAA3DgL,aACFyF,EAAwBmc,cAE9B3sB,qBAAU,WACJkmD,EAAen8B,UACjBm8B,EAAen8B,SAAU,EAiD7B,WACMg9B,GACFA,EAAoBhU,QAEtB,IAAMsU,EAAmB,IAAIC,gBAC7BN,EAAuBK,GAEvBn/C,GAAQe,QAAQ5F,GAAMD,IAAoCwG,WAAU,SAAC02B,GACnE,IAAIxyB,EAASoyB,GAAcY,0BAA0BR,EAAQ56B,MAC7D8K,EAASuC,GAAUjF,IACnB0C,EAAS+B,GAAelP,GAAMD,KAC9BoN,EAASoK,GAAgB0lB,EAAQ56B,OACjC8K,EAASqK,GAAoBylB,EAAQ9Q,iBAErCg3B,EAAqB,CACnBz1C,KAAM,GAGN64B,aAActJ,EAAQinB,eACtB3Z,kBAAmBtN,EAAQknB,oBAC3B99C,MAAO,EACPmK,WAAYysB,EAAQmnB,iBACpBnnB,QAASJ,GAAcE,cAAcE,EAAQmnB,iBAAkBnnB,EAAQ56B,MAAQ,GAAI,CACjFY,KAAM,mBACN4L,IAAK3S,EAAMmoD,cAGftB,GAAY,MA3EZuB,GACAC,QAIJ5nD,qBAAU,WAER,OADAwQ,EAAS4B,MACF,WACL5B,EAAS+C,SAGV,IAEHvT,qBAAU,WACR4nD,MAEC,CAAC78C,IAeJ,IAAM68C,EAAoB,WACpBX,GACFA,EAAwBlU,QAE1B,IAAMsU,EAAmB,IAAIC,gBAC7BJ,EAA2BG,GAE3B,IAAMh/C,EAAQ0C,EAAF,UACL1H,GAAMD,GADD,kBAC6C2H,GACrD1H,GAAMD,GACV0jD,GAAoB,GACpB5+C,GAAQe,QAAQZ,GAAK,EAAMg/C,EAAiBl+C,QAAQS,WAAU,SAAChB,GAC7Dg+C,EAAe,6BAAKh+C,GAAN,IAAgBi/C,UAAW,sBACzCf,GAAoB,OAwDxB,IAAMgB,IAAgBnB,GAAyC,qBAA1BA,EAAYkB,UAEjD,OACE,sCACIhB,GAAoBiB,EACpB,cAAC,GAAD,CACExhD,KAAM2uC,GAAgBG,kBACtB1vC,KAAMihD,EACN3V,UAAW6V,EACXtV,OAAQ4V,EACR1B,UAAW2B,IAGb,8BACE,eAAC,KAAD,CAAS/pB,WAAS,EAACqc,UAAU,SAA7B,UACE,cAAC,KAAD,CAAS1vC,MAAI,EAACnJ,UAAU,0BAAxB,SACE,cAAC,GAAD,CAAsByF,KAAM2uC,GAAgBhiB,aAAcse,OAAQ4V,MAEpE,cAAC,KAAD,CAASn9C,MAAI,EAACwuB,GAAI,CAAEp3B,OAAQ,WAIjC+kD,EACC,qCACE,qBAAKz9B,MAAO,CAAEtnB,OAAQ,OAAQ2mD,OAAQ,GAAtC,SACE,cAAC,GAAD,CACE1U,sBA/CZ,SAA2BzlC,GACzB,IAAIonC,EAAmB,GACG,IAAtBpnC,EAAOypB,IAAIrvB,SACb4F,EAAOypB,IAAI1tB,SAAQ,SAAAxH,GACjB,IAAK,IAAM1B,KAAOmN,EAAOmD,KACvB,GAAInD,EAAOmD,KAAKtQ,GAAK8lD,EAAkB1yC,cAAgB1R,EAAI,CACzD6yC,EAAO9hC,KAAKtF,EAAOmD,KAAKtQ,GAAKunD,gBAC7B,UAKNtB,EAAa,CACX1R,OAAQA,EACR3d,IAAKzpB,EAAOypB,IACZgW,QAASz/B,EAAOy/B,UAElBiZ,GAAa,KA+BLhZ,oBAAqB,uBACrBhN,QAASimB,EAAkBjmB,QAC3BvvB,KAAMw1C,EAAkBx1C,KACxBrH,MAAO68C,EAAkB78C,MACzBtB,KAAMm+C,EAAkBn+C,KACxBwhC,aAAc2c,EAAkB3c,aAChCgE,kBAAmB2Y,EAAkB3Y,kBAGrC/5B,WAAY0yC,EAAkB1yC,WAC9BvN,KAAM/G,EAAM+G,SAGf+/C,GACC,cAAC/mD,EAAD,CAAOsB,WAAY0lD,EAAcrmD,QAASomD,EAA1C,SACE,cAACxR,GAAD,CAAgBj0C,WAAY0lD,EAAcrmD,QAASomD,EAAW3gD,KAAM+gD,SAK1E,8BAAK,kB,kBCvLAwB,GAAO,SAAC1oD,GACnB,IAAM2oD,EAAiB,SAACl+C,GAAD,OAAkB,WACvCzK,EAAM4oD,SAASn+C,GACfzK,EAAM6oD,aAAa7oD,EAAMmE,SAG3B,OACE,qBAAI7C,UAAU,aAAd,UACE,gCACE,8BAAMtB,EAAM2b,KAAKlT,OAASzI,EAAMmE,MAA1B,aAAwCnE,EAAMmE,SACnDnE,EAAMqE,MAAQ,cAAC,IAAD,CAAMukB,GAAI5oB,EAAMqE,KAAhB,SAAsB,cAEvC,qBAAK/C,UAAU,mBAAf,SACE,6BACGtB,EAAM8oD,aAAazgD,KAAI,SAACoC,GACvB,OACE,qBAAelJ,QAASonD,EAAel+C,GAAvC,UACE,cAAC,GAAD,CAAiB+4B,UAAU,SAASE,OAAQ1jC,EAAM4F,WAAa6E,IAC/D,+BAAOA,MAFAA,cCPhB,SAASs+C,GAAT,GAA6D,IAAtC3lD,EAAqC,EAArCA,KAAMkqB,EAA+B,EAA/BA,SAClC,EAAwBptB,oBAAkB,GAA1C,mBAAOmqB,EAAP,KAAammB,EAAb,KACA,EAAgDtwC,mBAAmB,IAAnE,mBAAO8oD,EAAP,KAAyBC,EAAzB,KACA,EAAgE/oD,mBAAmB,IAAnF,mBAAOgpD,EAAP,KAAiCC,EAAjC,KACA,EAAoCjpD,mBAAmB,IAAvD,mBAAOkpD,EAAP,KAAmBC,EAAnB,KACA,EAAoDnpD,mBAAmB,IAAvE,mBAAOopD,EAAP,KAA2BC,EAA3B,KACA,EAA4CrpD,mBAAmB,IAA/D,mBAAOspD,EAAP,KAAuBC,EAAvB,KACA,EAA4DvpD,mBAAmB,IAA/E,mBAAOwpD,EAAP,KAA+BC,EAA/B,KACA,EAA4CzpD,mBAAmB,IAA/D,mBAAO0pD,EAAP,KAAuBC,EAAvB,KACA,EAA4D3pD,mBAAmB,IAA/E,mBAAO4pD,EAAP,KAA+BC,EAA/B,KACA,EAAgC7pD,mBAAiB,IAAjD,mBAAO0F,EAAP,KAAiBm1B,EAAjB,KACA,EAAwC76B,mBAAwB,MAAhE,mBAAO8pD,EAAP,KAAqBC,EAArB,KACA,EAA4B/pD,mBAAiB,IAA7C,mBAAOyO,EAAP,KAAe05B,GAAf,KACA,GAAgCnoC,mBAAiB,IAAjD,qBAAOoR,GAAP,MAAiB44C,GAAjB,MACMj5C,GAAwBmc,cACtB5hB,GAAiBlL,aAAY,SAACC,GAAD,OAAwBA,EAAMC,WAA3DgL,aACFogB,GAAMJ,iBAAuB,MAEnC/qB,qBAAU,WAER,OADAG,SAASC,iBAAiB,QAASuwB,IAAoB,GAChD,WACLxwB,SAASI,oBAAoB,QAASowB,IAAoB,OAI9D3wB,qBAAU,WACR8V,GAAU,GAAD,OAAIzS,GAAMD,IAAV,wBAER,IAEHpD,qBAAU,WACRs6B,EAAYvvB,MACX,CAACA,KAEJ/K,qBAAU,WACR8V,GAAUjF,MAET,CAACA,KAEJ7Q,qBAAU,WACR,GAAIkO,EAAQ,CACV,IAAMw7C,EAA0B,GAC1BC,EAA8B,GAC9BC,EAAgC,GAChCC,EAA8B,GAC9BC,EAAwB57C,EAAOxN,cAErCioD,EAAWh/C,SAAQ,SAACgxB,GACdA,EAAEj6B,cAAckG,SAASkjD,IAC3BJ,EAAcx2C,KAAKynB,MAGvB4tB,EAAiB5+C,SAAQ,SAAC8O,GACpBA,EAAE/X,cAAckG,SAASkjD,IAC3BF,EAAoB12C,KAAKuF,MAG7BswC,EAAep/C,SAAQ,SAACgxB,GAClBA,EAAEj6B,cAAckG,SAASkjD,IAC3BH,EAAkBz2C,KAAKynB,MAG3BwuB,EAAex/C,SAAQ,SAACgxB,GAClBA,EAAEj6B,cAAckG,SAASkjD,IAC3BD,EAAkB32C,KAAKynB,MAG3BmuB,EAAsBY,GACtBR,EAA0BS,GAC1BjB,EAA4BkB,GAC5BN,EAA0BO,QAE1Bf,EAAsBH,GACtBO,EAA0BH,GAC1BL,EAA4BH,GAC5Be,EAA0BH,KAG3B,CAACj7C,IAEJ,IAAMyiB,GAAqB,SAArBA,EAAsBvI,GACtB+C,GAAIpB,UAAYoB,GAAIpB,QAAQsB,SAASjD,EAAMkD,UAC7CykB,GAAQ,GACR5vC,SAASI,oBAAoB,QAASowB,GAAoB,KAIxD7a,GAAY,SAAC1N,GACjB,IAAI2hD,EAAQviD,GAAOkY,gBAAgBtX,GACnCF,GAAQe,QAAQ8gD,GAAOngD,WAAU,SAAChB,GAChC,IAAMsU,EAAetU,EAAS6L,QAC3BxS,QAAO,SAAC2R,GAAD,MAAiC,eAAbA,EAAIjR,QAC/BiF,KAAI,SAACmM,GAAD,OAAkBA,EAAE/E,QACxB8D,KAAKtL,GAAOkf,oBACT7P,EAASjO,EAAS6L,QACrBxS,QAAO,SAAC2R,GAAD,MAAiC,iBAAbA,EAAIjR,QAC/BiF,KAAI,SAACmM,GAAD,OAAkBA,EAAE/E,QACxB8D,KAAKtL,GAAOkf,oBACT5P,EAAalO,EAAS6L,QACzBxS,QAAO,SAAC2R,GAAD,MAAiC,eAAbA,EAAIjR,QAC/BiF,KAAI,SAACmM,GAAD,OAAkBA,EAAE/E,QACxB8D,KAAKtL,GAAOkf,oBACTsjC,EAAaphD,EAAS6L,QACzBxS,QAAO,SAAC2R,GAAD,MAAiC,qBAAbA,EAAIjR,QAC/BiF,KAAI,SAACmM,GAAD,OAAkBA,EAAE/E,QACxB8D,KAAKtL,GAAOkf,oBAEfkiC,EAAc,GAAD,oBAAKD,GAAL,aAAoB9xC,KACjCiyC,EAAsB,GAAD,oBAAKH,GAAL,aAAoB9xC,KACzC2xC,EAAoB,GAAD,oBAAKD,GAAL,aAA0BrrC,KAC7CwrC,EAA4B,GAAD,oBAAKH,GAAL,aAA0BrrC,KACrD8rC,EAAkB,GAAD,oBAAKD,GAAL,aAAwBjyC,KACzCoyC,EAA0B,GAAD,oBAAKH,GAAL,aAAwBjyC,KACjDsyC,EAAkB,GAAD,oBAAKD,GAAL,aAAwBa,KACzCV,EAA0B,GAAD,oBAAKH,GAAL,aAAwBa,KAC7CphD,EAAS/B,MACX4iD,GAAY7gD,EAAS/B,UAwCrBojD,GAAmB,WACvB,OACGxB,EAAyBzgD,SACzB6gD,EAAmB7gD,SACnBihD,EAAuBjhD,SACvBqhD,EAAuBrhD,QAe5B,OACE,sBAAKnH,UAAU,cAAcsqB,IAAKA,GAAlC,UACE,mCACE,qBAAKoC,IAAI,gBAAgBC,IAAI,oCAAoC,gBAEjE,sBAAK1sB,QAAS,kBAAMivC,GAASnmB,IAAO/oB,UAAU,kBAA9C,UAhBY,WAChB,GAAIkK,GAAc,CAEhB,OAAIA,GAAa/C,OADE,GAEX,GAAN,OAAU+C,GAAakX,UAAU,EAFhB,IAEjB,OAEKlX,GAET,MAAO,GASAm/C,IAAe,aAChB,cAAC,GAAD,CAAWl7B,aAAcpF,EAAM3oB,MAAM,kBAGzC,sBAAKJ,UAAWqqB,KAAW,CAAEtB,KAAMA,IAAnC,UACE,cAAC,GAAD,CAAQiD,SAAU+a,KAClB,qBAAI/mC,UAAU,cAAd,UACE,cAAC,GAAD,CACE6C,MAAM,cACNE,KAAI,iBAAYP,GAAMD,KACtB8X,KAAM6tC,EACNV,aAAcY,EACd9jD,SAAUA,EACVgjD,SAAU7tB,EACV8tB,aAAcoB,IAEhB,cAAC,GAAD,CACE9lD,MAAM,gBACNE,KAAI,iBAAYP,GAAMD,KACtB8X,KAAMytC,EACNN,aAAcQ,EACd1jD,SAAUA,EACVgjD,SAAU7tB,EACV8tB,aAAcoB,IAEhB,cAAC,GAAD,CACE9lD,MAAM,eACNE,KAAI,iBAAYP,GAAMD,KACtB8X,KAAMqtC,EACNF,aAAcI,EACdtjD,SAAUA,EACVgjD,SAAU7tB,EACV8tB,aAAcoB,IAEhB,cAAC,GAAD,CACE9lD,MAAM,mBAENwX,KAAMiuC,EACNd,aAAcgB,EACdlkD,SAAUA,EACVgjD,SAAU7tB,EACV8tB,aAAcoB,OAGlB,sBAAK3oD,UAAU,kBAAf,UACE,cAAC,KAAD,CACE8B,KAAK,SACLoG,KAAK,gBACLjI,QA7GM,WACdw5B,EAAY,IACZkvB,EAAgB,MAChBzZ,GAAQ,GACRv/B,GAASd,GAAgB,KAErBmd,GACFA,EAAS,IAGE,SAATlqB,GACF6N,GAAST,OAmGH2sB,YAAY,YACZxX,KAAK,QACLlgB,SAAUilD,OAEZ,cAAC,KAAD,CACEtnD,KAAK,SACLoG,KAAK,QACLjI,QAtGM,WAMd,GALa,cAAT6B,IACFotC,GAAQ,GACRv/B,GAASd,GAAgBvK,IACzBqL,GAASb,GAAoB45C,KAElB,SAAT5mD,EAAiB,CACnBotC,GAAQ,GACR,IAAMjiC,EAASyhC,GAAoBsD,YACnCriC,GAAS+C,MACT/C,GAASd,GAAgBvK,IACzBqL,GAASb,GAAoB45C,IAC7B/4C,GAASuC,GAAUjF,IACnB0C,GAAST,MAEP8c,GACFA,EAAS1nB,IAuFHu3B,YAAY,OACZxX,KAAK,QACLlgB,SAAUilD,gBClQtB,IAAME,GAAY,oBAqBHC,GAnBU,SAAC7qD,GACxB,IAAQsV,EAAehV,aAAY,SAACC,GAAD,OAAgBA,EAAMyH,SAAjDsN,WAOR,OANA7U,qBAAU,WACJ6U,GACFoJ,GAA4BksC,MAE7B,CAACt1C,IAGF,sBAAKhU,UAAU,mBAAf,UACE,qBAAKA,UAAU,uBAAf,SACE,cAAC,GAAD,CAAa8B,KAAK,WAGpB,cAACsjD,GAAD,CAAyB3/C,KAAM6jD,SCpBxBE,GAAb,4JACE,WACE,OAAO,cAAC,GAAD,QAFX,GAA4CvoD,IAAMC,WCF3C,SAASuoD,GAAsB/qD,GACpC,OACE,sBACEsB,UAAS,UAAKtB,EAAMsB,WAAa,IACjCU,MAAM,6BACNJ,MAAM,OACNC,OAAO,OACPC,QAAQ,YACRC,KAAK,OANP,UAQE,sBACEE,EAAE,kMACFC,OAAO,UACPC,cAAc,QACdC,eAAe,UAEjB,sBAAMH,EAAE,iBAAiBC,OAAO,UAAUC,cAAc,QAAQC,eAAe,UAC/E,sBAAMH,EAAE,UAAUC,OAAO,UAAUC,cAAc,QAAQC,eAAe,aCfvE,IAAM4oD,GAAb,4MACShrD,WADT,8CAEE,WACE,IAAI0B,EAAQY,KAAKtC,MAAM2B,OAAS,UAAY,UAC5C,OACE,sBAAKK,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAYC,KAAK,OAA5F,UACE,sBACEE,EAAE,8IACFC,OAAQR,EACRS,cAAc,UAEhB,sBACEF,EAAE,8fACFC,OAAQR,IAEV,sBACEO,EAAE,4kBACFC,OAAO,YAET,wBAAQmnB,GAAG,KAAKC,GAAG,MAAM9U,EAAE,MAAMzS,KAAK,mBAnB9C,GAA2CQ,IAAMC,W,OCD1C,SAASyoD,GAAWjrD,GACzB,OACE,qBAAKsB,UAAU,oCAAf,SACE,sBAAKA,UAAU,mCAAf,UACGtB,EAAMoE,eAAiB,cAACpE,EAAMoE,cAAP,CAAqBzC,QAAQ,IACrD,qBAAKL,UAAU,6BAAf,SAA6CtB,EAAM2N,a,OCCpD,SAASu9C,GAAgBlrD,GAC9B,OAAOiI,GAAOga,WAAWjiB,GACvB,sBAAKsB,UAAU,wBAAf,UACE,cAAC2pD,GAAD,cAAY7mD,cAAe4mD,IAA2BhrD,IACrDA,EAAMmG,MAA8B,IAAtBnG,EAAMmG,KAAKsC,QACxB,qBAAKnH,UAAU,8BAAf,SACGtB,EAAMmG,KAAKkC,KAAI,SAACoC,EAAWQ,GAAZ,OACd,sBAAK3J,UAAU,6BAAf,UACE,qBAAKA,UAAU,GAAf,SAAmBmJ,IACnB,cAAC,IAAD,CACEnJ,UAAU,uBACVsnB,GAAE,4CAAuCne,EAAvC,gBACFtG,MAAO,GAHT,SAKE,cAAC4mD,GAAD,CAAuBzpD,UAAU,6BAPY2J,WAezD,qBAAK3J,UAAU,uCAAf,SAAsD,Y,aC5B7C6pD,I,OAAb,4JACE,WACE,OACE,sBAAKnpD,MAAM,6BAA6BJ,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAxF,UACE,sBACEE,EAAE,6SACFC,OAAO,UACPC,cAAc,QACdC,eAAe,UAEjB,sBAAMH,EAAE,kBAAkBC,OAAO,UAAUC,cAAc,QAAQC,eAAe,UAChF,sBACEH,EAAE,kRACFC,OAAO,YAET,sBACED,EAAE,gRACFC,OAAO,YAET,sBACED,EAAE,kRACFC,OAAO,mBArBjB,GAA4CK,IAAMC,Y,OCoB3C,SAAS4oD,GAAeprD,GAC7B,OACE,sBAAKsB,UAAU,uBAAf,UACGtB,EAAMqrD,oBACL,sBAAK/pD,UAAU,8BAAf,UACkB,KAAftB,EAAMkuB,MAAe,cAAC,GAAD,IACtB,sBAAK5sB,UAAU,wBAAf,UAAwCtB,EAAM2N,MAAM,UAIvD3N,EAAMmG,MACLnG,EAAMmG,KAAKkC,KAAI,SAACoC,EAAeQ,GAAhB,OACb,sBAAK3J,UAAU,2BAAf,UACE,qBAAKA,UAAU,wBAAwB6nB,MAAO,CAAEmI,WAAYtxB,EAAM+xB,OAAO9mB,MAEzE,qBAAK3J,UAAU,yBAAf,SACE,qBACEA,UAAU,wBACV6nB,MAAOnpB,EAAMsrD,kBAAoB,CAAE5pD,MAAO1B,EAAM+xB,OAAO9mB,IAAW,GAFpE,SAOGhD,GAAOmY,iBAAiB3V,EAAK3E,WAIlC,qBAAKxE,UAAU,uBAAuB6C,MAAOsG,EAAKyhC,OAAlD,SACGzhC,EAAK8gD,OAAS,cAACv/B,GAAD,CAAYpD,GAAIne,EAAK8gD,OAAQ/hD,KAAMiB,EAAKyhC,SAAazhC,EAAKyhC,WAhB9BjhC,SCLlD,SAASugD,GAASxrD,GACvB,IAAMyrD,EAASlpD,IAAMipB,OAAO,MACxBxK,EAAQ,EACN+Q,EAqFG/xB,EAAMkpB,cACT,CAAC,UAAW,UAAW,UAAW,UAAW,WAC7C,CAAC,UAAW,UAAW,UAAW,UAAW,WAGnD,OAxFA,WAEE,GADAlI,EAAQ,GACHhhB,EAAMmG,KACT,OAEFnG,EAAMmG,KAAKiE,SAAQ,SAACnI,GAClB+e,GAAgB/e,EAAE6D,SAPtB4lD,GAWAnpD,IAAM9B,WAAU,WACd,GAAKT,EAAMmG,KAAX,CAIA,IAAIooC,EAAeod,KAAA,iBAMblvB,EAAMkvB,KACFF,EAAOjhC,SACdohC,KAAK,QAAS5rD,EAAM6rD,gBAAkB,SACtCD,KAAK,SAAU5rD,EAAM6rD,gBAAkB,SACvCD,KAAK,UAJI,cA/CFE,IA+CE,YA9CDA,MAmDRC,OAAO,KACPH,KAAK,QAAS,mBACdA,KAAK,YAPI,oBAOsBhqD,GAPtB,aAOoCC,GAPpC,MASNH,EAAQiqD,KAAgB55B,GAExBi6B,EAAML,OAETp4C,KAAK,MACLzN,OAAM,SAAC7D,GAAD,OAAYA,EAAE6D,SAEnB+C,EAAY8iD,OAEbM,YAAYH,IACZI,YAAYJ,IAEHrvB,EACTsF,UAAU,QACV57B,KAAK6lD,EAAIhsD,EAAMmG,OACfgmD,QACAJ,OAAO,KACPH,KAAK,QAAS,OAGdG,OAAO,QACPH,KAAK,IAAK/iD,GACV+iD,KAAK,MAAM,SAAC3pD,EAAQgJ,GAEnB,OADAhJ,EAAEgJ,MAAQA,EACH,MAER2gD,KAAK,QAAQ,SAAC3pD,EAAGue,GAAJ,OAAe9e,EAAM8e,MAClCorC,KAAK,eAAgB,GACrBA,KAAK,SAAU5rD,EAAMkpB,cAAgB,UAAY,WACjDkjC,GAAG,aAAa,SAACnrD,EAAQgB,GAU5B,IAA2B4mB,EATvB0lB,EAAQplB,MAAM,UAAW,GAAGA,MAAM,UAAW,SAC7ColB,EACGrc,MAOoBrJ,EAPG5mB,EAQtB,wHAAN,OAG0C8vB,EAAOlJ,EAAM5d,OAHvD,cAGmEhD,GAAO6Y,WAAW+H,EAAM/iB,MAAOkb,GAHlG,wDAIgC6H,EAAM1iB,KAAK+lC,OAJ3C,sDAPK/iB,MAAM,OAAQloB,EAAEorD,MAAQ,GAAK,MAC7BljC,MAAM,MAAOloB,EAAEqrD,MAAQ,SAE3BF,GAAG,aAAcG,GACjBH,GAAG,WAAYG,GAnDlB,SAASA,IACPhe,EAAQplB,MAAM,UAAW,GACzBolB,EAAQplB,MAAM,UAAW,YAuE3B,sBAAK7nB,UAAU,iBAAf,UACE,qBAAKsqB,IAAK6/B,IACV,cAACL,GAAD,6BACMprD,GADN,IAEE+xB,OAAQA,EACR/Q,MAAOA,EACPsqC,kBAAmBtrD,EAAMsrD,kBACzBD,mBAAoBrrD,EAAMqrD,mBAC1BmB,mBAAoBxsD,EAAMwsD,yB,OC/H3B,SAASC,GAAazsD,GAC3B,OAAOiI,GAAOga,WAAWjiB,GACvB,qBAAKsB,UAAU,qBAAf,SACE,cAACkqD,GAAD,cACEF,mBAAmB,EACnBkB,oBAAoB,EACpBnB,oBAAoB,EACpBniC,eAAe,EACf2iC,eAAe,SACX7rD,MAIR,qBAAKsB,UAAU,oCAAf,SAAmD,YCbhD,IAAMorD,GAAb,4MACS1sD,WADT,8CAEE,WACE,IAAI0B,EAAQ,UACZ,OACE,sBAAKM,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAYC,KAAK,OAA5F,UACE,sBACEE,EAAE,wIACFC,OAAQR,EACRS,cAAc,UAEhB,sBAAMF,EAAE,qBAAqBC,OAAQR,EAAOS,cAAc,QAAQC,eAAe,UACjF,sBACEH,EAAE,gDACFC,OAAQR,EACRS,cAAc,QACdC,eAAe,iBAhBzB,GAAyCG,IAAMC,W,cCUxC,SAASmqD,GAAO3sD,GACrB,MAAoCuC,IAAMrC,SAAc,IAAxD,mBAAO0sD,EAAP,KAAmBC,EAAnB,KAyBA,OAvBApsD,qBAAU,WACR,IAAI0F,EAAI,aAAOnG,EAAMmG,MACrB0mD,EAAc1mD,KACb,CAACnG,EAAMmG,OAqBR,qBAAK7E,UAAU,uBAAf,SACGsrD,EAAWvkD,KAAI,SAACoC,EAAeQ,GAAhB,OACd,sBACE1J,QAAS,YAtBjB,SAAqBkJ,EAAWQ,GAC9B,IAAI9E,EAAI,aAAOymD,GAEfzmD,EAAK8E,GAAOklB,YAAc1lB,EAAK0lB,WAC/Bw7B,KAAA,kBAAwBlhD,EAAKvJ,MAC1BwpB,aACAoiC,SAAS,KACT3jC,MAAM,UAAWhjB,EAAK8E,GAAOklB,WAAa,EAAI,GAC9Cy7B,KAAK,IAAKzlD,EAAK8E,GAAOklB,WAAa,EAAI,GAE1Cw7B,KAAA,gBAAsBlhD,EAAKvJ,MACxBwpB,aACAoiC,SAAS,KACT3jC,MAAM,UAAWhjB,EAAK8E,GAAOklB,WAAa,EAAI,GAEjD08B,EAAc1mD,GAQN4mD,CAAYtiD,EAAMQ,IAEpB3J,UAAU,8BAJZ,UAOE,qBACEA,UAAU,sBACV6nB,MAAO,CACLmI,WAAY7mB,EAAK0lB,WAAaloB,GAAOgZ,kBAAkBxW,EAAKvJ,KAAO,OACnE8rD,YAAa/kD,GAAOgZ,kBAAkBxW,EAAKvJ,QAG/C,qBAAKI,UAAU,uBAAf,SAAuCmJ,EAAKkD,UATvC1C,QCzCR,SAASgiD,GAAejtD,GAC7B,IAAM2mD,EAAiBn7B,kBAAO,GACxBigC,EAASjgC,iBAAO,MAClBrlB,EAAOnG,EAAMmG,KAiMjB,OAhMA1F,qBAAU,WAER,IAAI8tC,EAAeod,KAAA,iBAcnB,SAASuB,EAAUC,GACjB,OAAOA,EAAK5lD,MAAM,KAAK,GAmGzB,SAASglD,IACPhe,EACG6e,YACA1iC,aACAvB,MAAM,UAAW,GACjBA,MAAM,UAAW,QAyBlBw9B,EAAen8B,UACjBm8B,EAAen8B,SAAU,EA/H3B,WAEE,IAAMpB,EAAgB,GAAhBA,EAAiD,GAInDikC,EAAY1B,KAAa,YAGvBlvB,EAAMkvB,KACFF,EAAOjhC,SACdohC,KAAK,QAAS,WACdG,OAAO,KACPH,KAAK,YAJI,oBAIsBxiC,EAJtB,YAIqCA,EAJrC,MAMRlH,EAhCN,WACE,IAAIorC,EAAgB,GAChBC,EAAiB,GAQrB,OAPApnD,EAAKiE,SAAQ,SAACK,GACZA,EAAKpH,OAAO+G,SAAQ,SAACtE,EAAYmF,GAC/BnF,EAAM0nD,MAAQ,GAAKviD,EACnBqiD,EAAS35C,KAAKu5C,EAAUpnD,EAAMwG,OAC9BihD,EAAU55C,KAAK7N,EAAMA,aAGlB,CAAEwnD,WAAUC,aAsBTE,GAEJ5qD,EAAS8oD,OAEZ7nC,OAAO6nC,KAAUzpC,EAAIorC,UAAU,SAAChhD,GAAD,OAAkB+gD,EAAU/gD,OAC3DohD,MAAM,CAAC,EAjBA,OAkBVjxB,EACGsvB,OAAO,KACPH,KAAK,QAAS,oBACdA,KAAK,YAHR,uBAjBW,IAiBX,MAIG+B,KACChC,KACc9oD,GACX+qD,MAAM,GACNC,cAAc,GACdC,YAAW,SAACxhD,GACX,OAAOq/C,KAAc,KAAdA,CAAoBr/C,OAKnC,IAAMxJ,EAAS6oD,OAEZ7nC,OAAO6nC,KAAUzpC,EAAIqrC,WAAW,SAACznD,GAAD,OAAiBA,MACjD4nD,MAAM,CAnCE,IAmCOxrC,EAAIqrC,UAAUrqB,OAAM,SAAC7iB,GAAD,OAAyB,IAARA,KAnC5C,IAmCkE,IAC7Eoc,EACGsvB,OAAO,KACPH,KAAK,QAAS,oBACd+B,KAAKhC,KAAY7oD,GAAG+qD,cAAc,IAGrCpxB,EACGsF,UAAU,SACV57B,KAAKA,GACLyd,KAAK,QACLgoC,KAAK,OAAQ,QACbA,KAAK,SAAS,SAAC3pD,GAAD,qBAAoBA,EAAEf,QACpC0qD,KAAK,UAAU,SAAC3pD,GAAD,OAAYgG,GAAOgZ,kBAAkBhf,EAAEf,QACtD0qD,KAAK,eAAgB,KACrBziC,MAAM,WAAW,SAAClnB,GAAD,OAAaA,EAAEkuB,WAAa,EAAI,KACjDy7B,KAAK,KAAK,SAAC3pD,GACV,OAAO0pD,OAEJoC,MAAMpC,KAAmBqC,MAAM,IAC/BnrD,GAAE,SAACZ,GAAD,OAAYY,EAAEwqD,EAAUH,EAAUjrD,EAAEqK,WACtCxJ,GAAE,SAACb,GAAD,OAAYa,GAAGb,EAAE6D,SAJf6lD,CAIuB1pD,EAAEoB,WAGtBo5B,EACXsF,UAAU,aACV57B,KAAKA,GACLgmD,QACAJ,OAAO,KAEPhqB,UAAU,iBACV57B,MAAK,SAAClE,GAAD,OAAYA,EAAEoB,UACnB8oD,QACAJ,OAAO,UACPH,KAAK,OAAQ,WACbA,KAAK,eAAgB,KACrBA,KAAK,WAAW,WAEf,OADgBtpD,KACJ2rD,WAAWC,SAAS/9B,WAAa,EAAI,KAElDy7B,KAAK,SAAS,WAEb,MAAM,UAAN,OADgBtpD,KACM2rD,WAAWC,SAAShtD,QAE3C0qD,KAAK,UAAU,WAEd,OAAO3jD,GAAOgZ,kBADE3e,KACqB2rD,WAAWC,SAAShtD,QAE1D0qD,KAAK,MAAM,SAAC3pD,GAAD,OAAYY,EAAEwqD,EAAUH,EAAUjrD,EAAEqK,WAC/Cs/C,KAAK,MAAM,SAAC3pD,GAAD,OAAYa,EAAEb,EAAE6D,UAC3B8lD,KAAK,KAAK,WAET,OADgBtpD,KACJ2rD,WAAWC,SAAS/9B,WAAa,EAAI,KAgBlDi8B,GAAG,aAAa,SAACnrD,EAAQgB,GACxBssC,EACG7jB,aACAoiC,SAAS,KACT3jC,MAAM,UAAW,GACjBA,MAAM,UAAW,SACpBxoB,YAAW,WACT,IAkBiBkoB,EAlBbwyB,EAAOp5C,EAAEurD,MAAQvsD,EAAEorD,MAAQ9d,EAAQ4f,OAAOC,YAAcntD,EAAEorD,MAAQ,GAClE/e,GAAMrrC,EAAEurD,MAAQvsD,EAAEqrD,OACtB/d,EACGrc,MAecrJ,EAfS5mB,EAgB5B,kIAAN,OAImC4mB,EAAMqjB,OAJzC,sDAKiCjkC,GAAOiG,cAAc2a,EAAMvc,MAL5D,qEAOgCuc,EAAM/iB,MAPtC,yCAWI+iB,EAAMgzB,OAAShzB,EAAMwlC,QAArB,iEAIOxlC,EAAMgzB,MAAN,qEAEwChzB,EAAMgzB,MAF9C,8FAKI,GATX,2BAYQhzB,EAAMwlC,QAAN,kEAEoCxlC,EAAMwlC,QAF1C,+FAKI,GAjBZ,+BAqBI,GAhCR,oBAmCGxlC,EAAM2kC,MAAQ,GAAd,0CAnCH,wBAfWrkC,MAAM,OAAQkyB,EAAO,MACrBlyB,MAAM,MAAOmkB,EAAM,YAIzB8e,GAAG,QAASG,GACZH,GAAG,WAAYG,GAIlB+B,MAED,CAACnoD,IA2CF,qCACE,qBAAKylB,IAAK6/B,EAAQ7pD,MAAM,OAAOC,OAAO,OAAOC,QAAO,eAAkBysD,oBAAoB,SAC1F,cAAC5B,GAAD,CAAQxmD,KAAMnG,EAAMmG,U,OCvMnB,SAASqoD,GAAwBxuD,GACtC,OAAOiI,GAAOga,WAAWjiB,GACvB,sBAAKsB,UAAU,gCAAf,UACE,cAAC2pD,GAAD,cAAY7mD,cAAesoD,IAAyB1sD,IACpD,cAACitD,GAAD,gBAAoBjtD,OAGtB,qBAAKsB,UAAU,+CAAf,SAA8D,Y,WCbrDmtD,GAAgB,CAC3BrrD,KAAM,oBACNsrD,SAAU,CACR,CACEtrD,KAAM,UACNurD,WAAY,CACVC,UAAW,EACXC,WAAY,kBACZC,UAAW,EACXC,WAAY,SACZC,OAAQ,MACRC,SAAU,EACVzK,MAAO,EACPphD,KAAM,oBACN8rD,MAAO,SACPC,QAAS,MACTC,SAAU,EACVC,QAAS,SACTC,MAAO,MACPC,OAAQ,EACRC,QAAS,SACTC,MAAO,MACPC,SAAU,EACVjgD,KAAM,SACNkgD,UAAW,SACXC,OAAQ,MACRC,SAAU,SACVC,UAAW,KACXC,OAAQ,SACRC,OAAQ,KACRC,UAAW,SACXC,UAAW,KACXC,UAAW,KACXC,SAAU,KACVC,UAAW,SACXC,SAAU,KACVC,UAAW,EACXC,UAAW,EACXC,UAAW,EACXC,WAAY,EACZC,QAAS,OACTC,WAAY,KACZC,UAAW,GACXC,WAAY,KACZC,UAAW,GACXC,QAAS,uBACTC,WAAY,yBACZC,WAAY,GACZC,QAAS,KACTC,OAAQ,KACRC,OAAQ,MACRC,OAAQ,MACRC,MAAO,MACPC,MAAO,KACPC,MAAO,MACPC,QAAS,GACTC,WAAY,MACZC,WAAY,MACZC,YAAa,GACbC,YAAa,GACbC,UAAW,gBACXC,UAAW,WACXC,UAAW,kBACXC,UAAW,4BACXC,SAAU,EACVC,SAAU,EACVC,WAAY,EACZC,MAAO,GACPC,SAAU,EACVC,SAAU,eAEZC,SAAU,CACRrvD,KAAM,UACNsvD,YAAa,CACX,CACE,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,iBAAkB,kBACpB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBACrB,EAAE,iBAAkB,mBACpB,EAAE,iBAAkB,oBACpB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,uBAK7B,CACEtvD,KAAM,UACNurD,WAAY,CACVC,UAAW,EACXC,WAAY,kBACZC,UAAW,EACXC,WAAY,SACZC,OAAQ,MACRC,SAAU,EACVzK,MAAO,EACPphD,KAAM,oBACN8rD,MAAO,SACPC,QAAS,MACTC,SAAU,EACVC,QAAS,SACTC,MAAO,MACPC,OAAQ,EACRC,QAAS,SACTC,MAAO,MACPC,SAAU,EACVjgD,KAAM,SACNkgD,UAAW,SACXC,OAAQ,MACRC,SAAU,SACVC,UAAW,KACXC,OAAQ,OACRC,OAAQ,KACRC,UAAW,SACXC,UAAW,KACXC,UAAW,KACXC,SAAU,KACVC,UAAW,SACXC,SAAU,KACVC,UAAW,EACXC,UAAW,EACXC,UAAW,EACXC,WAAY,EACZC,QAAS,SACTC,WAAY,KACZC,UAAW,GACXC,WAAY,KACZC,UAAW,GACXC,QAAS,0BACTC,WAAY,uBACZC,WAAY,GACZC,QAAS,KACTC,OAAQ,KACRC,OAAQ,MACRC,OAAQ,MACRC,MAAO,MACPC,MAAO,KACPC,MAAO,MACPC,QAAS,GACTC,WAAY,MACZC,WAAY,MACZC,YAAa,GACbC,YAAa,GACbC,UAAW,gBACXC,UAAW,WACXC,UAAW,mBACXC,UAAW,gBACXC,SAAU,EACVC,SAAU,EACVC,WAAY,EACZC,MAAO,GACPC,SAAU,EACVC,SAAU,eAEZC,SAAU,CACRrvD,KAAM,eACNsvD,YAAa,CACX,CACE,CACE,EAAE,QAAS,UACX,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,YAGf,CACE,CACE,EAAE,UAAW,UACb,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,UAAW,UACb,EAAE,UAAW,YAGjB,CACE,CACE,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,oBACrB,EAAE,mBAAoB,kBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,kBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,qBAG1B,CACE,CACE,EAAE,kBAAmB,kBACrB,EAAE,mBAAoB,mBACtB,EAAE,iBAAkB,oBACpB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,kBAAmB,kBACrB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,iBAAkB,oBACpB,EAAE,kBAAmB,kBACrB,EAAE,kBAAmB,iBACrB,EAAE,kBAAmB,mBACrB,EAAE,iBAAkB,iBACpB,EAAE,kBAAmB,oBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBAGzB,CACE,CACE,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,iBAAkB,oBACpB,EAAE,kBAAmB,oBACrB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,kBACrB,EAAE,kBAAmB,qBAGzB,CACE,CACE,EAAE,SAAU,WACZ,EAAE,SAAU,UACZ,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,UAAW,WACb,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,SAAU,aAGhB,CACE,CACE,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,WAGhB,CACE,CACE,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,iBACrB,EAAE,iBAAkB,mBACpB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,qBAGzB,CACE,CACE,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,YAGhB,CACE,CACE,EAAE,kBAAmB,mBACrB,EAAE,iBAAkB,mBACpB,EAAE,kBAAmB,kBACrB,EAAE,kBAAmB,kBACrB,EAAE,kBAAmB,kBACrB,EAAE,kBAAmB,kBACrB,EAAE,iBAAkB,mBACpB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,qBAGzB,CACE,CACE,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,SACZ,EAAE,QAAS,UACX,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,UACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,QAAS,SACX,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,SACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,EAAE,SAAU,UACZ,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AAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,oBACrB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,oBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,oBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,oBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,kBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,kBACtB,EAAE,mBAAoB,oBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,oBACrB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,mBAAoB,oBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAo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BACrB,CAAC,oBAAqB,mBACtB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,mBAAoB,oBACrB,CAAC,mBAAoB,oBACrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,mBAAoB,oBACrB,CAAC,mBAAoB,mBACrB,CAAC,mBAAoB,oBACrB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,mBAAoB,oBACrB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBACtB,CAAC,oBAAqB,oBAC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E,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,kBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,kBACtB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,kBAAmB,mBACrB,EAAE,oBAAqB,mBACvB,EAAE,oBAAqB,mBACvB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,kBAAmB,mBACrB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,kBACvB,EAAE,oBAAqB,mBACvB,EAAE,mBAAoB,mBACtB,EAAE,oBAAqB,mBACvB,EAAE,o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CrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,mBAAoB,mBACrB,CAAC,mBAAoB,mBACrB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,kBACtB,CAAC,mBAAoB,mBACrB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,kBACtB,CAAC,oBAAqB,mBACtB,CAAC,mBAAoB,mBACrB,CAAC,mBAAoB,mBACrB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,kBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,mBAAoB,mBACrB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,kBACtB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,kBAAmB,kBACpB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,kBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,kBACtB,CAAC,oBAAqB,mBACtB,CAAC,mBAAoB,mBACrB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,kBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,oBAAqB,mBACtB,CAAC,kBAAmB,kBACpB,CAAC,oBAAqB,mBACtB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","file":"static/js/main.cd0d1644.chunk.js","sourcesContent":["import { IReduxState } from 'app/store';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport './popUp.scss';\n\nexport function PopUp(props: any) {\n const [animate, setAnimate] = useState(false);\n const { allowPopupClose } = useSelector((state: IReduxState) => state.general);\n let timer: any;\n\n useEffect(() => {\n if (props.visible) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n timer = setTimeout(() => {\n setAnimate(true);\n }, 100);\n document.addEventListener('keydown', handleEsc, true);\n } else {\n setAnimate(false);\n }\n return () => {\n clearTimeout(timer);\n document.removeEventListener('keydown', handleEsc, true);\n };\n }, [props.visible]);\n\n const handleEsc = (e: KeyboardEvent) => {\n if (e.key && e.key.toLowerCase() === 'escape') {\n closePopup();\n }\n };\n\n const closePopup = () => {\n if (allowPopupClose) {\n props.setVisible(false);\n }\n };\n\n return (\n props.visible && (\n
\n
\n {props.children}\n
\n )\n );\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport const IconActionItems: React.FC = ({ active }) => {\n let color = active ? '#3455DD' : '#6D6D7A';\n\n return (\n \n \n \n );\n};\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconActiveProtect extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#6D6D7A';\n return (\n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconDashboard extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#6D6D7A';\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconDiscover extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n return (\n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconAssess extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n return (\n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconSettings extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n return (\n \n \n \n \n );\n }\n}\n","export const PathNames = {\n inventoryMetaData: 'inventoryMetaData',\n internalAssets: 'internalAssets',\n internalAssetsColumns: 'internalAssetsColumns',\n internalAssetsSummary: 'internalAssetsSummary',\n digitalSupplyChain: 'digitalSupplyChain',\n digitalSupplyChainColumns: 'digitalSupplyChainColumns',\n digitalSupplyChainSummary: 'digitalSupplyChainSummary',\n loginAssets: 'loginAssets',\n loginAssetsColumns: 'loginAssetsColumns',\n loginAssetsSummary: 'loginAssetsSummary',\n publicCloud: 'publicCloud',\n publicCloudColumns: 'publicCloudColumns',\n unlinkedAssets: 'unlinkedAssets',\n mobileAssets: 'mobileAssets',\n unlinkedAssetsColumns: 'unlinkedAssetsColumns',\n mobileAssetsColumns: 'mobileAssetsColumns',\n unlinkedAssetsSummary: 'unlinkedAssetsSummary',\n mobileAssetsSummary: 'mobileAssetsSummary',\n managedDomains: 'managedDomains',\n certificates: 'certificates',\n managedDomainsColumns: 'managedDomainsColumns',\n certificatesColumns: 'certificatesColumns',\n managedDomainsSummary: 'managedDomainsSummary',\n certificatesSummary: 'certificatesSummary',\n activeProtection: 'activeProtection',\n activeProtectionColumns: 'activeProtectionColumns',\n activeProtectionSummary: 'activeProtectionSummary',\n actionItemsMetaData: 'actionItemsMetaData',\n actionItemsClose: 'actionItemsClose',\n actionItemsCloseColumns: 'actionItemsCloseColumns',\n actionItemsCloseSummary: 'actionItemsCloseSummary',\n actionItemsOpen: 'actionItemsOpen',\n actionItemsOpenColumns: 'actionItemsOpenColumns',\n actionItemsOpenSummary: 'actionItemsOpenSummary',\n assesments: 'assesments',\n assesmentsInternalAssets: 'assesmentsInternalAssets',\n assesmentsDigitalSupplyChain: 'assesmentsDigitalSupplyChain',\n assesmentsDeepDarkMonitoring: 'assesmentsDeepDarkMonitoring',\n assesmentsLeakedCredentials: 'assesmentsLeakedCredentials',\n assesmentsInternalAssetsColumns: 'assesmentsInternalAssetsColumns',\n assesmentsDigitalSupplyChainColumns: 'assesmentsDigitalSupplyChainColumns',\n assesmentsVendorMonitoringColumns: 'assesmentsVendorMonitoringColumns',\n assesmentsVendorMonitoring: 'assesmentsVendorMonitoring',\n assesmentsOrgScoreCards: 'assesmentsOrgScoreCards',\n assesmentsOrgScoreSummary: 'assesmentsOrgScoreSummary',\n assesmentsOrgScoreSubsidiaries: 'assesmentsOrgScoreSubsidiaries',\n assesmentsOrgScoreColumns: 'assesmentsOrgScoreColumns',\n assesmentsOrgScoreCategoryData: 'assesmentsOrgScoreCategoryData',\n assesmentsOrgScoreIssuesColumns: 'assesmentsOrgScoreIssuesColumns',\n assesmentsOrgScoreIssuesData: 'assesmentsOrgScoreIssuesData',\n assesmentsDeepDarkMonitoringColumns: 'assesmentsDeepDarkMonitoringColumns',\n assesmentsLeakedCredentialsColumns: 'assesmentsLeakedCredentialsColumns',\n assesmentsMetaData: 'assesmentsMetaData',\n users: 'users',\n logout: 'logout',\n /**\n * Dashboard\n */\n action_items_chart: 'action_items_chart',\n action_items_graph: 'action_items_graph',\n action_items_pie: 'action_items_pie',\n action_items_summary: 'action_items_summary',\n connections_pie: 'connections_pie',\n geomap: 'geomap',\n hosts_pie: 'hosts_pie',\n dashboard_summary: 'dashboard_summary',\n top_assets: 'top_assets',\n /**\n * Settings\n */\n scanInfo: 'scanInfo',\n integrations: 'integrations',\n subsidiaries: 'subsidiaries',\n groups: 'groups',\n metaGroups: 'metaGroups',\n notifications: 'notifications',\n userManagement: 'userManagement',\n domainRestriction: 'domainRestriction',\n ipRestriction: 'ipRestriction',\n ipRanges: 'ipRanges',\n auditLogs: 'auditLogs',\n manageFqdns: 'manageFqdns',\n tokens: 'tokens',\n customPort: 'customPort',\n services: 'services',\n integrationJira: 'integrationJira',\n integrationSplunk: 'integrationSplunk',\n integrationSentinel: 'integrationSentinel',\n integrationServiceNow: 'integrationServiceNow'\n};\n","import { IPaths } from '../interfaces/interface';\nimport { PathNames } from './pathNames';\n\n//List of portal paths\nexport const Paths: IPaths = {};\n/**\n * Inventory\n */\nPaths[PathNames.inventoryMetaData] = 'discovery/metadata/';\n\nPaths[PathNames.internalAssets] = 'discovery/org-assets/';\nPaths[PathNames.internalAssetsColumns] = 'discovery/org-assets/columns/';\nPaths[PathNames.internalAssetsSummary] = 'discovery/org-assets/summary/';\n\nPaths[PathNames.digitalSupplyChain] = 'discovery/digital-supply-chain/';\nPaths[PathNames.digitalSupplyChainColumns] = 'discovery/digital-supply-chain/columns/';\nPaths[PathNames.digitalSupplyChainSummary] = 'discovery/digital-supply-chain/summary/';\n\nPaths[PathNames.loginAssets] = 'discovery/logins/';\nPaths[PathNames.loginAssetsColumns] = 'discovery/logins/columns/';\nPaths[PathNames.loginAssetsSummary] = 'discovery/logins/summary/';\n\nPaths[PathNames.unlinkedAssets] = 'discovery/unlinked-assets/';\nPaths[PathNames.unlinkedAssetsColumns] = 'discovery/unlinked-assets/columns/';\n\nPaths[PathNames.certificates] = 'discovery/certificates/';\nPaths[PathNames.certificatesColumns] = 'discovery/certificates/columns/';\n\nPaths[PathNames.managedDomains] = 'discovery/managed-domains/';\nPaths[PathNames.managedDomainsColumns] = 'discovery/managed-domains/columns/';\n\nPaths[PathNames.publicCloud] = 'discovery/cloud/';\nPaths[PathNames.publicCloudColumns] = 'discovery/cloud/columns/';\n\nPaths[PathNames.mobileAssets] = 'discovery/mobile/';\nPaths[PathNames.mobileAssetsColumns] = 'discovery/mobile/columns/';\n/**\n * Assesments\n */\nPaths[PathNames.assesments] = 'assessments/';\nPaths[PathNames.assesmentsInternalAssets] = 'assessments/org-assets/';\nPaths[PathNames.assesmentsDigitalSupplyChain] = 'assessments/digital-supply-chain/';\nPaths[PathNames.assesmentsInternalAssetsColumns] = 'assessments/org-assets/columns/';\nPaths[PathNames.assesmentsDigitalSupplyChainColumns] = 'assessments/digital-supply-chain/columns/';\n\nPaths[PathNames.assesmentsDeepDarkMonitoring] = 'assessments/drps/darkweb/alerts/';\nPaths[PathNames.assesmentsLeakedCredentials] = 'assessments/drps/compromised-devices/';\nPaths[PathNames.assesmentsDeepDarkMonitoringColumns] = 'assessments/drps/darkweb/alerts/columns/';\nPaths[PathNames.assesmentsLeakedCredentialsColumns] = 'assessments/drps/compromised-devices/columns/';\n\nPaths[PathNames.assesmentsMetaData] = 'assessments/metadata/';\nPaths[PathNames.assesmentsOrgScoreSummary] = 'assessments/org_score/summary/';\nPaths[PathNames.assesmentsOrgScoreCards] = 'assessments/org_score/';\nPaths[PathNames.assesmentsOrgScoreSubsidiaries] = 'assessments/org_score/summary/subsidiaries/';\nPaths[PathNames.assesmentsOrgScoreColumns] = 'assessments/org_score/:category_id/columns/';\nPaths[PathNames.assesmentsOrgScoreCategoryData] = 'assessments/org_score/:category_id/';\nPaths[PathNames.assesmentsOrgScoreIssuesColumns] = 'assessments/org_score/:category_id/issues/columns/';\nPaths[PathNames.assesmentsOrgScoreIssuesData] = 'assessments/org_score/:category_id/issues/';\n\nPaths[PathNames.assesmentsVendorMonitoringColumns] = 'assessments/vendor_monitoring/columns/';\nPaths[PathNames.assesmentsVendorMonitoring] = 'assessments/vendor_monitoring/';\n/**\n * Active Protection\n */\nPaths[PathNames.activeProtection] = 'remediation/active-protection/';\nPaths[PathNames.activeProtectionColumns] = 'remediation/active-protection/columns/';\nPaths[PathNames.activeProtectionSummary] = 'remediation/active-protection/summary/';\n\n/**\n * Action Items\n */\nPaths[PathNames.actionItemsMetaData] = 'remediation/action-items/metadata/';\n\nPaths[PathNames.actionItemsOpen] = 'remediation/action-items/open/';\nPaths[PathNames.actionItemsOpenColumns] = 'remediation/action-items/open/columns/';\nPaths[PathNames.actionItemsOpenSummary] = 'remediation/action-items/open/summary/';\n\nPaths[PathNames.actionItemsClose] = 'remediation/action-items/closed/';\nPaths[PathNames.actionItemsCloseColumns] = 'remediation/action-items/closed/columns/';\nPaths[PathNames.actionItemsCloseSummary] = 'remediation/action-items/closed/summary/';\n\n/**\n * Users\n */\nPaths[PathNames.users] = 'auth/users/?limit=4&offset=0';\nPaths[PathNames.logout] = 'auth/logout/';\n\n/**\n * Dashboard\n */\nPaths[PathNames.action_items_chart] = 'dashboard/action_items_chart/';\nPaths[PathNames.action_items_graph] = 'dashboard/action_items_graph/';\nPaths[PathNames.action_items_pie] = 'dashboard/action_items_pie/';\nPaths[PathNames.action_items_summary] = 'dashboard/action_items_summary/';\nPaths[PathNames.connections_pie] = 'dashboard/connections_pie/';\nPaths[PathNames.geomap] = 'dashboard/geomap/';\nPaths[PathNames.hosts_pie] = 'dashboard/hosts_pie/';\nPaths[PathNames.dashboard_summary] = 'dashboard/summary/';\nPaths[PathNames.top_assets] = 'dashboard/top_assets/';\n\n/**\n * Settings\n */\nPaths[PathNames.scanInfo] = 'company/scan-info/';\nPaths[PathNames.integrations] = 'settings/integrations/';\nPaths[PathNames.userManagement] = 'settings/users/user-management/';\nPaths[PathNames.notifications] = 'settings/notifications/';\nPaths[PathNames.groups] = 'settings/groups/';\nPaths[PathNames.metaGroups] = 'settings/meta-groups/';\nPaths[PathNames.subsidiaries] = 'settings/organization-management/subsidiaries/';\nPaths[PathNames.domainRestriction] = 'settings/permissions/domain-access-restrictions/';\nPaths[PathNames.ipRestriction] = 'settings/permissions/ip-restrictions/';\nPaths[PathNames.manageFqdns] = 'settings/organization-management/manage-fqdns/';\nPaths[PathNames.ipRanges] = 'settings/organization-management/ip-ranges/';\nPaths[PathNames.auditLogs] = 'settings/general/audit-logs/';\nPaths[PathNames.tokens] = 'settings/tokens/';\nPaths[PathNames.customPort] = 'settings/general/custom-ports/';\nPaths[PathNames.services] = 'settings/groups/services/';\n\nPaths[PathNames.integrationJira] = 'settings/integrations/jira/';\nPaths[PathNames.integrationSplunk] = 'settings/integrations/splunk/';\nPaths[PathNames.integrationSentinel] = 'settings/integrations/sentinel/';\nPaths[PathNames.integrationServiceNow] = 'settings/integrations/servicenow/';\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconAccounts extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#6D6D7A';\n return (\n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconThreatCenter extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n\n return (\n \n \n \n \n \n );\n }\n}\n","import { IconActionItems } from '../Icons/IconActionItems/IconActionItems';\nimport { IconActiveProtect } from '../Icons/IconActiveProtect/IconActiveProtect';\nimport { IconDashboard } from '../Icons/IconDashboard/IconDashboard';\nimport { IconDiscover } from '../Icons/IconDiscover/IconDiscover';\nimport { IconAssess } from '../Icons/IconAssess/IconAssess';\nimport { IconSettings } from '../Icons/IconSettings/IconSettings';\nimport { ISidebarMenu } from './interface';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { IconAccounts } from '../Icons/IconAccounts/IconAccounts';\nimport { IconThreatCenter } from '../Icons/IconThreatCenter/IconThreatCenter';\n\nexport const MENU_ITEMS: ISidebarMenu = {\n dashboard: {\n title: 'Dashboard',\n key: 'dashboard',\n IconComponent: IconDashboard,\n link: '/pages/dashboard',\n permissionOpen: true,\n active: false,\n restricted: false,\n hideForMssp: true\n },\n actionItems: {\n title: 'Action Items',\n key: 'actionItems',\n IconComponent: IconActionItems,\n link: '/pages/actionItems/open?filters=%7B\"is_acknowledged\"%3A0%7D',\n permissionOpen: true,\n active: false,\n restricted: false,\n hideForMssp: true\n },\n discovery: {\n title: 'Discovery',\n key: 'discovery',\n IconComponent: IconDiscover,\n link: '/pages/discovery/internalAssets',\n permissionOpen: true,\n active: false,\n restricted: false,\n hideForMssp: true\n },\n assessments: {\n title: 'Assessments',\n key: 'assessments',\n IconComponent: IconAssess,\n link: '/pages/assessments/internalAssets',\n permissionOpen: true,\n active: false,\n restricted: false,\n hideForMssp: true\n },\n activeProtection: {\n title: 'Active Protection',\n key: 'activeProtection',\n IconComponent: IconActiveProtect,\n link: '/pages/activeProtection',\n permissionOpen: true,\n active: false,\n restricted: false,\n hideForMssp: true\n },\n accounts: {\n title: 'Accounts',\n key: 'accounts',\n IconComponent: IconAccounts,\n link: '/pages/accounts',\n permissionOpen: true,\n active: false,\n restricted: false,\n hideForMssp: false,\n showOnlyForMssp: true\n },\n threatCenter: {\n title: 'Threat Center',\n key: 'threatCenter',\n IconComponent: IconThreatCenter,\n link: '/pages/threatCenter',\n permissionOpen: true,\n active: false,\n restricted: false,\n hideForMssp: true,\n flag: 'isIonixThreatCenter'\n },\n settings: {\n title: 'Settings',\n key: 'settings',\n IconComponent: IconSettings,\n link: `/pages/${Paths[PathNames.userManagement]}`,\n memberLink: `/pages/${Paths[PathNames.manageFqdns]}`,\n msspLink: `/pages/${Paths[PathNames.tokens]}`,\n permissionOpen: true,\n active: false,\n restricted: false,\n hideForMssp: false\n }\n};\n","import { ILogin } from './interface';\nexport const INIT_DATA_LOGIN: ILogin = {\n email: '',\n jwt: {\n is_active: false,\n two_fa: {\n is_active: false,\n disabled: false,\n disabled_options: [],\n options: [],\n selected: []\n }\n },\n password: {\n disabled: false,\n value: '',\n error: ''\n },\n sso: {\n is_active: false,\n options: ['microsoft-graph']\n },\n valid_code: {\n is_active: false,\n value: '',\n error: ''\n }\n};\n","import { INIT_DATA_LOGIN } from '../config';\nimport { ITfaForm, IUser } from '../interface';\nexport const LoginService = {\n returnToLogin(props: ITfaForm) {\n props.setDataLogin(INIT_DATA_LOGIN);\n props.setShowLoginEmail(true);\n },\n //@param: value = string\n //@description: Check the size of a string\n //@return class CSS\n isDisabled(value: string) {\n return value.length < 10 ? 'login_disabled' : '';\n },\n setUser(data: IUser) {\n localStorage.setItem('user_portal', JSON.stringify(data));\n },\n getUser(): IUser {\n let user: any = localStorage.getItem('user_portal');\n return JSON.parse(user);\n // return {\n // email: \"demoportal@cyberpion.com\",\n // first_name: \"demo-2\",\n // id: 15,\n // last_name: \"portal-3\",\n // }\n },\n removeItem() {\n localStorage.removeItem('user_portal');\n },\n isCyberpionUser(user: IUser) {\n return user.email?.endsWith('@cyberpion.com') || user.email?.endsWith('@ionix.io');\n },\n isViewer(user: IUser) {\n return user.role >= 40;\n },\n isRestrictedMember(user: IUser) {\n return user.role === 35;\n },\n isMember(user: IUser) {\n return user.role >= 30 && user.role < 40;\n },\n isMemberOrBelow(user: IUser) {\n return user.role >= 30;\n },\n isMemberOrAbove(user: IUser) {\n return user.role <= 30;\n },\n isAdmin(user: IUser) {\n return user.role >= 20 && user.role < 30;\n },\n isAdminOrAbove(user: IUser) {\n return user.role < 30;\n },\n isOwner(user: IUser) {\n return user.role < 20;\n }\n};\n","export const env = { ...process.env, ...window['env'] };\n","export const pathManageService = {\n //@description: Checks if there is a path that needs to be repeated\n checkPathHistory() {\n let page = window.location.href.replace(window.location.origin, '');\n if (window.location.pathname === '/login') {\n return true;\n }\n if (!window.location.href.includes('next')) window.location.href = `/login/?next=${page}`;\n },\n //@description: Checks if there is an \"next\" parameter\n nextPath() {\n let next = window.location.href.split('next=')[1];\n let defaultPath = '/pages/dashboard';\n\n try {\n return next === undefined || window.location.pathname === '/login' ? defaultPath : next;\n } catch (error) {\n return defaultPath;\n }\n }\n};\n","/* eslint-disable */\nimport { Observable } from 'rxjs';\nimport { IObject, IResponseFetch, IResponsePaginatedData, IRootResponse } from '../interfaces/interface';\nimport { pathManageService } from 'login/services/pathManage.service';\nimport { env } from 'env';\nimport { store } from '../../app/store';\nimport { Common } from './common.service';\n\ntype MethodType = 'POST' | 'PUT' | 'PATCH' | 'DELETE';\n\n//@description: Add a headers and check if there is csrftoken\nexport function addHeaders(method?: string) {\n let headers: IObject = {\n 'Content-Type': 'application/json'\n };\n\n const account = store.getState().login.account || Common.getParamFromUrl('account');\n // const user: any = store.getState().login.user;\n\n if (account) {\n headers['X-Account-Name'] = account;\n }\n\n if (method === 'GET') {\n return headers;\n }\n\n if (document.cookie != null) {\n headers['X-CSRFTOKEN'] = getCSRFToken();\n }\n\n return headers;\n}\n\nexport const RestApi = {\n //@param: path = Path to receive data\n //@return: data\n getPaginatedData: (path: string): Observable => {\n const url = `${env.REACT_APP_BASE_URL}${path}`;\n const method = 'GET';\n return new Observable(observer => {\n if (path) {\n fetch(url, {\n method: method,\n mode: 'cors',\n headers: addHeaders(method),\n credentials: 'include'\n })\n .then(response => {\n return responseManage(response);\n })\n .then(data => observer.next(data))\n .catch(error => {\n error.text().then((text: any) => {\n return observer.error(statusManage(error, text));\n });\n });\n } else {\n observer.error(false);\n }\n });\n },\n //@param: path = Path to receive data\n //@return: data\n //TODO I put \"any\" because that's the solution I found. I'll check tonight I do not want to dwell on it\n getData: (path: string, avoidRedirect?: boolean, signal?: AbortSignal): Observable => {\n const url = `${env.REACT_APP_BASE_URL}${path}`;\n const method = 'GET';\n return new Observable(observer => {\n if (path) {\n fetch(url, {\n method: method,\n mode: 'cors',\n headers: addHeaders(method),\n credentials: 'include',\n signal\n })\n .then(response => {\n return responseManage(response);\n })\n .then(data => observer.next(data))\n .catch(error => {\n if (error.text) {\n error.text().then((text: any) => {\n if (avoidRedirect) {\n return observer.error(error);\n } else {\n return observer.error(statusManage(error, text));\n }\n });\n }\n });\n } else {\n observer.error(false);\n }\n });\n },\n //@param: paths = Paths to receive data\n //@return: all data\n getDataPage(paths: any, avoidRedirect?: boolean, signal?: AbortSignal): Observable {\n let allData: any = {};\n let keysPath = Object.keys(paths);\n let count = keysPath.length;\n return new Observable(observer => {\n keysPath.forEach(key => {\n let url: string = paths[key];\n //TODO I put \"any\" because that's the solution I found. I'll check tonight I do not want to dwell on it\n this.getData(url, avoidRedirect, signal).subscribe(\n (response: any) => {\n allData[key] = response;\n count--;\n if (count === 0) {\n observer.next(allData);\n }\n },\n error => {\n count--;\n if (count === 0) {\n observer.error(error);\n }\n }\n );\n });\n });\n },\n\n getPromises(urls: string[]) {\n const promises = urls.map((url: string) =>\n fetch(`${env.REACT_APP_BASE_URL}${url}`, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders(),\n credentials: 'include'\n })\n );\n\n return promises;\n },\n\n getPromisesMixedMethods(urls: string[]) {\n const promises = urls.map((item: any) => {\n return fetch(`${env.REACT_APP_BASE_URL}${item.url}`, {\n method: item.method,\n mode: 'cors',\n headers: addHeaders(),\n credentials: 'include',\n ...(!!item.data ? { body: JSON.stringify(item.data) } : {})\n });\n });\n\n return promises;\n },\n\n async getPromiseAll(urlsData: any) {\n try {\n const keys = Object.keys(urlsData);\n const promises = this.getPromises(Object.values(urlsData));\n const responses = await Promise.all(promises);\n let index = 0;\n let result = {};\n for (let response of responses) {\n const data = await response.json();\n\n result = { ...result, [keys[index]]: data };\n index++;\n }\n return result;\n } catch (err) {\n // setIsFetchedFailure(true);\n return { err, isError: true };\n }\n },\n\n async getPromiseAllMixedMethods(urlsData: any) {\n try {\n const promises = this.getPromisesMixedMethods(Object.values(urlsData));\n const responses = await Promise.all(promises);\n let index = 0;\n let result: any = [];\n for (let response of responses) {\n if (!!urlsData[index].data) {\n const data = await response.json();\n result = [...result, { data, isError: !response.ok }];\n } else {\n result = [...result, { isError: !response.ok }];\n }\n index++;\n }\n return result;\n } catch (err) {\n // setIsFetchedFailure(true);\n return { err, isError: true };\n }\n },\n\n //@param: paths = Paths to receive data\n //@return: all data\n getDataPageByFlowPaths(paths: any, globalFilter: any): Observable {\n let allData: any = {};\n let keysPath = Object.keys(paths);\n return new Observable(observer => {\n keysPath.forEach(key => {\n let url: string = paths[key];\n //TODO I put \"any\" because that's the solution I found. I'll check tonight I do not want to dwell on it\n this.getData(`${url}${globalFilter ? `?group=${globalFilter}` : ''}`).subscribe(\n (response: any) => {\n allData[key] = response;\n observer.next(allData);\n },\n error => {\n observer.error(error);\n }\n );\n });\n });\n },\n //@param: path = Path to receive data\n //@param: data = Transfer data\n //@return: data\n setData(path: string, data: any = [], method: MethodType, avoidRedirect?: boolean) {\n let url = `${env.REACT_APP_BASE_URL}${path}`;\n return new Observable(observer => {\n fetch(url, {\n method: method,\n mode: 'cors',\n headers: addHeaders(),\n credentials: 'include',\n body: JSON.stringify(data)\n })\n .then(response => {\n return responseManage(response);\n })\n .then(data => observer.next(data))\n .catch(error => {\n error.text().then((text: any) => {\n if (!avoidRedirect) {\n if (!url.includes('/auth/')) {\n return observer.error(statusManage(error, text));\n } else {\n return observer.error(errorMessage(error, text));\n }\n } else {\n error.message = text;\n return observer.error(error);\n }\n });\n });\n });\n },\n logout(path: string) {\n const url = `${env.REACT_APP_BASE_URL}${path}`;\n fetch(url, {\n mode: 'cors',\n headers: addHeaders(),\n credentials: 'include'\n }).finally(() => {\n // This will reload the page on any response came back from the logout request,\n // if log out was succesfull, the reload will redirect to the login page,\n // if there was an error, same page will reload.\n // #TODO: we should have an error state which needs to reflect in the UI in case\n // log out was failed.\n window.location.reload();\n });\n }\n};\n\nfunction getCSRFToken() {\n /**\n * Replace with `csurf` package\n * TODO: https://www.stackhawk.com/blog/react-csrf-protection-guide-examples-and-how-to-enable-it/\n */\n let xsrfCookies = document.cookie\n .split(';')\n .map(c => c.trim())\n .filter(c => c.startsWith('csrftoken='));\n\n if (xsrfCookies.length === 0) {\n return '';\n }\n\n if (xsrfCookies.length > 1) {\n return xsrfCookies[xsrfCookies.length - 1].split('=')[1];\n }\n\n return xsrfCookies[0].split('=')[1];\n}\n\nfunction responseManage(response: IResponseFetch) {\n if (!response.ok) {\n throw response;\n }\n if (response.status === 204 || response.status === 202) {\n return response;\n }\n return response.json();\n}\n\n//@param: response of fetch\n//@description: Status Manage\nfunction statusManage(response: IResponseFetch, message: string = '') {\n switch (response.status) {\n case 401:\n pathManageService.checkPathHistory();\n return errorMessage(response, message);\n case 403:\n pathManageService.checkPathHistory();\n return errorMessage(response, message);\n default:\n return errorMessage(response, message);\n }\n}\n\n//@description: Error Message\nfunction errorMessage(response: IResponseFetch, message: string = '') {\n let err: any = new Error(`${response.statusText}`);\n err.status = response.status;\n err.message = message;\n return err;\n}\n","import { IItemFilterDate } from 'common/components/grid/components/gridUtilities/interface';\nimport { Common } from 'common/services/common.service';\n// import { Common } from \"common/services/common.service\";\nexport const FilterDateManage = {\n //@param: numDays = number\n //@description: Calculating days back\n //@return : String date . for example => 2022-05-10\n calculateDaysBack(numDays: number) {\n let d = new Date();\n let date = d.setDate(d.getDate() - numDays);\n return new Date(date); //FilterDateManage.createfromatDateToDB(new Date(date));\n },\n //@description: Creates a date format for DB\n //@return : String date. for example => 2022-05-10\n createfromatDateToDB(date: Date) {\n if (typeof date === 'string') date = new Date(date);\n let utc = FilterDateManage.createfromatDateUTC(date);\n let day = new Intl.DateTimeFormat('en', { day: '2-digit' }).format(utc);\n let month = new Intl.DateTimeFormat('en', { month: '2-digit' }).format(utc);\n return `${date.getFullYear()}-${month}-${day}T00:00:00Z`;\n // return utc.toJSON();\n },\n //@description: Creates a date format by UTC\n createfromatDateUTC(date: Date) {\n let utc = Date.UTC(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds()\n );\n return new Date(utc);\n },\n //@description: returns \"Format Date\" By Label\n getFormatDateByLabel(option: IItemFilterDate) {\n switch (option.label) {\n case 'Last 24 Hours':\n return FilterDateManage.calculateDaysBack(1).toJSON();\n case 'Last 7 Days':\n return FilterDateManage.createfromatDateToDB(FilterDateManage.calculateDaysBack(7));\n case 'Last 30 Days':\n return FilterDateManage.createfromatDateToDB(FilterDateManage.calculateDaysBack(30));\n case 'From':\n return FilterDateManage.createfromatDateToDB(option.value || new Date());\n case 'Until':\n return FilterDateManage.createfromatDateToDB(option.value || new Date());\n case 'Range':\n let date1 = FilterDateManage.createfromatDateToDB(option.child[0].value || new Date());\n let date2 = FilterDateManage.createfromatDateToDB(option.child[1].value || new Date());\n return `${date1},${date2}`;\n }\n },\n checkIsBetween(date: string) {\n let dates: any = date.split(',');\n if (dates.length > 1) return `${Common.getDateFormat(dates[0] || '')},${Common.getDateFormat(dates[1] || '')}`;\n else return Common.getDateFormat(dates[0] || '');\n }\n};\n","// @ts-ignore\nimport { query, QueryBuilder as QB } from 'js-query-builder';\nimport { env } from 'env';\nimport { FilterDateManage } from './components/gridUtilities/filtersWrapper/services/FilterDateManage';\n\nclass QueryBuilder {\n query: QB = query();\n\n constructor() {\n this.query = '';\n }\n\n buildQuery(params: any, globalFilter?: string) {\n this.addFields(params.fields);\n this.addFilters(params.filters);\n this.addSearch(params.search);\n this.addSorting(params.order);\n this.addGlobalFilter(!!globalFilter ? globalFilter : '');\n }\n\n setBaseURL(path: string, getFullPath = true) {\n if (getFullPath) {\n const baseUrl = env.REACT_APP_BASE_URL;\n this.query = query(`${baseUrl}${path}`);\n } else {\n this.query = query(path);\n }\n }\n\n addSearch(term: string) {\n if (term) {\n this.query.param('search', term);\n }\n }\n\n addFields(fields: any) {\n this.query.param('fields', fields);\n }\n\n addGlobalFilter(globalFilter: string) {\n if (globalFilter) {\n this.query.param('group', globalFilter);\n }\n }\n\n addSorting(order: string) {\n if (order) {\n this.query.param('ordering', order);\n }\n }\n\n addFilters(filters: any) {\n if (filters && Object.keys(filters).length) {\n for (let filter in filters) {\n if (filters[filter].type === '__index') {\n // Temporary to handle date filters with 'Last XXX Days'\n let date1offsetCalc: number = 0;\n switch (filters[filter].value) {\n case 0:\n date1offsetCalc = 1;\n break;\n case 1:\n date1offsetCalc = 7;\n break;\n case 2:\n date1offsetCalc = 30;\n break;\n default:\n break;\n }\n const date1 = FilterDateManage.createfromatDateToDB(FilterDateManage.calculateDaysBack(date1offsetCalc));\n const date2 = FilterDateManage.createfromatDateToDB(FilterDateManage.calculateDaysBack(-1));\n this.query.param(`${filter}__range`, `${date1},${date2}`);\n } else {\n this.query.param(`${filter}${filters[filter].type}`, filters[filter].value);\n }\n }\n }\n }\n\n getQuery() {\n return decodeURIComponent(this.query.build());\n }\n}\n\nexport const queryBuilder = new QueryBuilder();\n","// @ts-nocheck\nimport { createSlice } from '@reduxjs/toolkit';\n\nconst generalSlice = createSlice({\n name: 'general',\n initialState: {\n allowPopupClose: true,\n viewSelected: -1,\n globalFilter: '',\n globalFilterType: null,\n isOpenSavedViews: false\n },\n reducers: {\n toggleAllowPopupClose(state, action) {\n state.allowPopupClose = action.payload;\n },\n selectView(state, action) {\n state.viewSelected = action.payload;\n },\n setGlobalFilter(state, action) {\n state.globalFilter = action.payload;\n },\n setGlobalFilterType(state, action) {\n state.globalFilterType = action.payload;\n },\n setIsOpenSaveViews(state, action) {\n state.isOpenSavedViews = action.payload;\n }\n }\n});\n\nconst { actions, reducer } = generalSlice;\nexport const { toggleAllowPopupClose, selectView, setGlobalFilter, setGlobalFilterType, setIsOpenSaveViews } = actions;\nexport default reducer;\n","// @ts-nocheck\nimport { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\nimport { addHeaders } from 'common/services/rest-api.service';\nimport { queryBuilder } from 'common/components/grid/query-builder.service';\nimport { toggleAllowPopupClose } from './GeneralSlice';\n\nexport const getRows = createAsyncThunk('grid/getRows', async (_, thunkAPI) => {\n const state = thunkAPI.getState();\n queryBuilder.setBaseURL(state.grid.initialPath);\n queryBuilder.buildQuery(state.grid, state.general.globalFilter);\n thunkAPI.dispatch(toggleAllowPopupClose(false));\n\n let query = queryBuilder.getQuery();\n if (!!state.grid.addFiltersGridRows) {\n // IN CASE CUSTOM_GROUPS, ADDING FILTER type__in=1 (the API returns groups + subsidiaries, \\\n // need to get only the groups without subsidiaries)\n query += `&${state.grid.addFiltersGridRows}`;\n }\n\n const res = await fetch(query, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n }).then(data => {\n thunkAPI.dispatch(toggleAllowPopupClose(true));\n return data.json();\n });\n return res;\n});\n\nexport const getNextPage = createAsyncThunk('grid/getNextPage', async (_, { getState }) => {\n const state = getState();\n const res = await fetch(state.grid.nextPath, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n }).then(data => data.json());\n\n return res;\n});\n\nconst gridSlice = createSlice({\n name: 'grid',\n initialState: {\n rows: [],\n nextPageRows: [],\n loading: false,\n nextPath: '',\n pendingNextPath: '',\n search: '',\n filters: {},\n selectFiltersHard: [],\n initialPath: '',\n order: '',\n fields: [],\n count: 0,\n deletePromptParams: {},\n confirmationParams: {},\n // globalFilter: '',\n queryString: {},\n allowURLChange: true,\n capturedState: {},\n filtersResetDefault: false,\n isRowMenuActive: false,\n addFiltersGridRows: ''\n },\n reducers: {\n returnToLastState(state) {\n state.rows = state.capturedState.rows;\n state.nextPageRows = state.capturedState.nextPageRows;\n state.nextPath = state.capturedState.nextPath;\n state.pendingNextPath = state.capturedState.pendingNextPath;\n state.search = state.capturedState.search;\n state.filters = state.capturedState.filters;\n state.initialPath = state.capturedState.initialPath;\n state.order = state.capturedState.order;\n state.fields = state.capturedState.fields;\n state.count = state.capturedState.count;\n state.capturedState = {};\n },\n captureState(state) {\n state.capturedState = {\n rows: state.rows,\n nextPageRows: state.nextPageRows,\n nextPath: state.nextPath,\n pendingNextPath: state.pendingNextPath,\n search: state.search,\n filters: state.filters,\n initialPath: state.initialPath,\n order: state.order,\n fields: state.fields,\n count: state.count\n };\n },\n removeParams(state) {\n state.filters = {};\n state.search = '';\n state.order = '';\n state.fields = [];\n },\n resetCount(state) {\n state.count = 0;\n },\n disableURLChange(state) {\n state.allowURLChange = false;\n },\n enableURLChange(state) {\n state.allowURLChange = true;\n },\n setQueryString(state, action) {\n state.queryString[action.payload.tab] = action.payload.qs;\n },\n resetQueryString(state) {\n state.queryString = {};\n },\n addNextPageRows(state) {\n state.rows = [...state.rows, ...state.nextPageRows];\n state.nextPageRows = [];\n state.nextPath = state.pendingNextPath;\n },\n inputSearch(state, action) {\n state.rows = [];\n state.nextPath = '';\n state.nextPageRows = [];\n state.search = action.payload;\n },\n setInitialPath(state, action) {\n state.initialPath = action.payload;\n },\n addFilter(state, action) {\n state.rows = [];\n state.nextPath = '';\n state.nextPageRows = [];\n const newFilters = { ...state.filters, ...action.payload };\n state.filters = newFilters;\n },\n clearAllFilters(state) {\n state.filters = {};\n state.nextPageRows = [];\n state.nextPath = '';\n },\n setSelectFiltersHard(state, action) {\n state.selectFiltersHard = action.payload;\n },\n removeFilter(state, action) {\n const filterToRemove = action.payload;\n delete state.filters[filterToRemove];\n },\n sort(state, action) {\n state.rows = [];\n state.nextPath = '';\n state.nextPageRows = [];\n state.order = action.payload;\n },\n setFields(state, action) {\n state.fields = action.payload;\n },\n addFields(state, action) {\n action.payload.forEach(item => {\n if (!state.fields.includes(item)) {\n if (!Array.isArray(state.fields)) {\n state.fields = state.fields.split(',');\n }\n state.fields.push(item);\n }\n });\n },\n removeFields(state, action) {\n action.payload.forEach((field: string) => {\n state.fields.splice(state.fields.indexOf(field), 1);\n });\n },\n removeAllRows(state) {\n state.search = '';\n state.filters = {};\n state.nextPageRows = [];\n state.nextPath = '';\n state.count = 0;\n state.rows = [];\n state.pendingNextPath = '';\n state.order = '';\n state.fields = [];\n state.addFiltersGridRows = '';\n },\n removeRowsOnly(state) {\n state.rows = [];\n },\n updateRescan(state, action) {\n const rows = [...state.rows];\n action.payload.forEach((index: number) => {\n rows[index].title.is_scanning = true;\n });\n state.rows = rows;\n },\n updateRows(state, action) {\n const rows = [...state.rows];\n // action.payload = Common.setGridRowsClientIds(action.payload)\n action.payload.rows.forEach((row: any) => {\n const id = action.payload.identifier;\n let index = rows.findIndex(r => r[id] === row[id]);\n rows[index] = row;\n });\n state.rows = rows;\n },\n removeRowsByIndex(state, action) {\n let rows = [...state.rows];\n rows = rows.filter((r, index) => {\n return !action.payload.includes(index);\n });\n state.rows = [];\n state.rows = rows;\n },\n setDeletePromptParams(state, action) {\n state.deletePromptParams = action.payload;\n },\n setConfirmationParams(state, action) {\n state.confirmationParams = action.payload;\n },\n // setGlobalFilter(state, action) {\n // state.globalFilter = action.payload;\n // },\n setfiltersResetDefault(state, action) {\n state.filtersResetDefault = action.payload;\n },\n setIsRowMenuActive(state, action) {\n state.isRowMenuActive = action.payload;\n },\n setAddFiltersGridRows(state, action) {\n state.addFiltersGridRows = action.payload;\n }\n },\n extraReducers: {\n [getRows.pending]: state => {\n state.loading = true;\n },\n [getRows.fulfilled]: (state, { payload }) => {\n state.loading = false;\n state.nextPath = payload.next;\n state.rows = payload.results;\n state.count = payload.count;\n },\n [getRows.rejected]: state => {\n state.loading = false;\n },\n [getNextPage.fulfilled]: (state, { payload }) => {\n state.pendingNextPath = payload.next;\n state.nextPageRows = payload.results;\n }\n }\n});\n\nconst { actions, reducer } = gridSlice;\nexport const {\n addNextPageRows,\n captureState,\n returnToLastState,\n inputSearch,\n removeParams,\n setInitialPath,\n addFilter,\n sort,\n setFields,\n addFields,\n removeFields,\n clearAllFilters,\n removeAllRows,\n removeFilter,\n updateRescan,\n updateRows,\n removeRowsByIndex,\n setDeletePromptParams,\n setConfirmationParams,\n // setGlobalFilter,\n setfiltersResetDefault,\n removeRowsOnly,\n setQueryString,\n resetQueryString,\n enableURLChange,\n disableURLChange,\n resetCount,\n setIsRowMenuActive,\n setAddFiltersGridRows,\n setSelectFiltersHard\n} = actions;\nexport default reducer;\n","// @ts-nocheck\nimport { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\nimport { addHeaders } from 'common/services/rest-api.service';\nimport { env } from 'env';\n\nexport const checkSession = createAsyncThunk('login/checkSession', async () => {\n const path = `${env.REACT_APP_BASE_URL}auth/session/details/`;\n const res = await fetch(path, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n }).then(data => data.json());\n return res;\n});\n\nconst loginSlice = createSlice({\n name: 'login',\n initialState: {\n loading: true,\n user: {},\n isLoggedIn: false,\n account: null\n },\n reducers: {\n setUser(state, action) {\n state.user.first_name = action.payload.first_name;\n state.user.last_name = action.payload.last_name;\n },\n setAccount(state, action) {\n state.account = action.payload;\n }\n },\n extraReducers: {\n [checkSession.fulfilled]: (state, { payload }) => {\n state.user = payload;\n state.isLoggedIn = true;\n state.loading = false;\n },\n [checkSession.rejected]: (state, error) => {\n state.loading = false;\n }\n }\n});\n\nexport const selectCompanyDisplayName = state => state.login.user?.company_display_name;\n\nconst { actions, reducer } = loginSlice;\nexport const { setUser, setAccount } = actions;\nexport default reducer;\n","interface IRoles {\n [key: number]: string;\n}\n\nconst USER_ROLES: IRoles = {\n 10: 'Owner',\n 20: 'Admin',\n 30: 'Member',\n 35: 'Restricted Member'\n // 40: 'Viewer'\n};\n\nexport const USER_ROLES_SWAPPED = swap(USER_ROLES);\n\nfunction swap(json: IRoles) {\n var ret: {\n [key: string]: number;\n } = {};\n for (var key in json) {\n ret[json[key]] = parseInt(key);\n }\n return ret;\n}\n\nexport default USER_ROLES;\n","// @ts-nocheck\nimport { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\nimport USER_ROLES from 'common/constants/roles';\nimport { addHeaders } from 'common/services/rest-api.service';\nimport { env } from 'env';\n\nexport const setUserGroups = createAsyncThunk('groups/setUserGroups', async data => {\n const path = `${env.REACT_APP_BASE_URL}settings/users/user-management/${data.row.id}/`;\n const res = await fetch(path, {\n method: 'PATCH',\n mode: 'cors',\n headers: addHeaders('PATCH'),\n credentials: 'include',\n body: JSON.stringify({\n group_restrictions: data.items,\n role: data.items.length ? 35 : 30\n })\n }).then(data => data.json());\n data.apiRef.updateRows([{ id: data.row.id, role: USER_ROLES[res.role], group_restrictions: res.group_restrictions }]);\n return res;\n});\n\nexport const getMetaGroups = createAsyncThunk('groups/getMetaGroups', async data => {\n const path = `${env.REACT_APP_BASE_URL}settings/meta-groups/?fields=name,id`;\n const res = await fetch(path, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n }).then(data => data.json());\n return res;\n});\n\nexport const getGroups = createAsyncThunk('groups/getGroups', async (data?: any = {}, { rejectWithValue }) => {\n const path = `${env.REACT_APP_BASE_URL}settings/groups/?fields=name,id${\n data?.showGroupsOnly ? '&type__in=1,2,4 ' : ''\n }`;\n try {\n const response = await fetch(path, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n });\n const data = await response.json();\n return data;\n } catch (error) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchMetaGroupByName = createAsyncThunk(\n 'groups/fetchMetaGroupByName',\n async (metaGroupName: string, { rejectWithValue }) => {\n const path = `${env.REACT_APP_BASE_URL}settings/meta-groups/${metaGroupName}/`;\n try {\n const response = await fetch(path, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n });\n\n const data = await response.json();\n return data;\n } catch (error) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nconst groupsSlice = createSlice({\n name: 'groups',\n initialState: {\n bulkVisible: false,\n popupVisible: false,\n editMode: false,\n subsidiaryMode: false,\n label: '',\n identifier: '',\n domains: [],\n ips: [],\n mobileApps: [],\n whois: [],\n services: [],\n search: '',\n groups: [],\n metaGroups: [],\n selectedMetaGroup: {},\n metaGroupSelectedId: -1,\n metaGroupPopupVisible: false,\n metaGroupEditMode: false,\n statusGroups: 'idle',\n statusMetaGroups: 'idle',\n statusMetaGroupByName: 'idle'\n },\n reducers: {\n toggleMetaGroupPopup(state, action) {\n state.metaGroupPopupVisible = action.payload;\n },\n setMetaGroupEditMode(state, action) {\n state.metaGroupEditMode = action.payload;\n },\n setIdentifier(state, action) {\n state.identifier = action.payload;\n },\n toggleBulkVisibily(state, action) {\n state.bulkVisible = action.payload;\n },\n togglePopup(state, action) {\n state.popupVisible = action.payload;\n },\n setLabel(state, action) {\n state.label = action.payload;\n },\n setEditMode(state, action) {\n state.editMode = action.payload;\n },\n resetGroupsState(state) {\n state.domains = [];\n state.ips = [];\n state.whois = [];\n state.mobileApps = [];\n state.services = [];\n state.bulkVisible = false;\n state.editMode = false;\n state.subsidiaryMode = false;\n state.label = '';\n state.statusGroups = 'idle';\n },\n resetMetaGroupsState(state) {\n state.selectedMetaGroup = {};\n state.metaGroupSelectedId = -1;\n state.metaGroupEditMode = false;\n state.metaGroupPopupVisible = false;\n state.statusMetaGroups = 'idle';\n state.statusMetaGroupByName = 'idle';\n },\n addDomain(state, action) {\n state.domains.push(action.payload);\n },\n addIp(state, action) {\n if (!state.ips.filter(ip => ip.value === action.payload.value).length) {\n state.ips.unshift(action.payload);\n }\n },\n addWhois(state, action) {\n state.whois.unshift(action.payload);\n },\n addMobileApp(state, action) {\n state.mobileApps.unshift(action.payload);\n },\n removeMobileApp(state, action) {\n state.mobileApps.forEach((app, index) => {\n if (app.value === action.payload) {\n state.mobileApps.splice(index, 1);\n }\n });\n },\n toggleService(state, action) {\n if (state.services.includes(action.payload)) {\n state.services.splice(state.services.indexOf(action.payload), 1);\n } else {\n state.services.push(action.payload);\n }\n },\n removeServicesString(state) {\n state.services = state.services.filter(s => typeof s === 'number');\n },\n removeDomain(state, action) {\n let indexToRemove = -1;\n state.domains.forEach((row, index) => {\n if (state.subsidiaryMode && index < 2) {\n return;\n }\n if (row.value === action.payload) {\n indexToRemove = index;\n }\n });\n if (indexToRemove >= 0) {\n state.domains.splice(indexToRemove, 1);\n }\n },\n removeIp(state, action) {\n let indexToRemove = -1;\n state.ips.forEach((row, index) => {\n if (row.value === action.payload) {\n indexToRemove = index;\n }\n });\n if (indexToRemove >= 0) {\n state.ips.splice(indexToRemove, 1);\n }\n },\n removeWhois(state, action) {\n let indexToRemove = -1;\n state.whois.forEach((row, index) => {\n if (row.whois + row.type === action.payload) {\n indexToRemove = index;\n }\n });\n if (indexToRemove >= 0) {\n state.whois.splice(indexToRemove, 1);\n }\n },\n setSubsidiaryMode(state, action) {\n state.subsidiaryMode = action.payload;\n },\n inputSearch(state, action) {\n state.search = action.payload;\n },\n setMetaGroupSelectedId(state, action) {\n state.metaGroupSelectedId = action.payload;\n }\n },\n extraReducers: {\n [getGroups.fulfilled]: (state, { payload }) => {\n state.groups = payload.results;\n state.statusGroups = 'succeed';\n },\n [getGroups.rejected]: (state, action) => {\n state.error = action.error;\n state.statusGroups = 'failed';\n },\n [getGroups.pending]: state => {\n state.statusGroups = 'loading';\n },\n [getMetaGroups.fulfilled]: (state, { payload }) => {\n state.metaGroups = payload.results;\n state.statusMetaGroups = 'succeed';\n },\n [getMetaGroups.rejected]: (state, action) => {\n state.error = action.error;\n state.statusMetaGroups = 'failed';\n },\n [getMetaGroups.pending]: state => {\n state.statusMetaGroups = 'loading';\n },\n [fetchMetaGroupByName.fulfilled]: (state, action) => {\n state.selectedMetaGroup = action.payload;\n state.statusMetaGroupByName = 'succeed';\n },\n [fetchMetaGroupByName.rejected]: (state, action) => {\n state.error = action.error;\n state.statusMetaGroupByName = 'failed';\n },\n [fetchMetaGroupByName.pending]: state => {\n state.statusMetaGroupByName = 'loading';\n }\n }\n});\n\nconst { actions, reducer } = groupsSlice;\nexport const {\n toggleBulkVisibily,\n togglePopup,\n setLabel,\n setEditMode,\n setSubsidiaryMode,\n resetGroupsState,\n addDomain,\n addIp,\n addMobileApp,\n addWhois,\n toggleService,\n removeDomain,\n removeIp,\n removeMobileApp,\n removeWhois,\n setIdentifier,\n removeServicesString,\n inputSearch,\n setMetaGroupSelectedId,\n resetMetaGroupsState,\n setMetaGroupEditMode,\n toggleMetaGroupPopup\n} = actions;\n\nexport default reducer;\n","// @ts-nocheck\nimport { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\nimport { addHeaders } from 'common/services/rest-api.service';\nimport { env } from 'env';\n\nexport const addNemSubsidiary = createAsyncThunk(\n 'subsidiaries/setSubsidiary',\n async (data: any, { rejectWithValue }) => {\n const path = `${env.REACT_APP_BASE_URL}settings/organization-management/subsidiaries/`;\n\n const res = await fetch(path, {\n method: 'POST',\n mode: 'cors',\n headers: addHeaders('POST'),\n credentials: 'include',\n body: JSON.stringify(data)\n });\n const response = await res.json();\n\n if (!response.ok) {\n return rejectWithValue({ error: response });\n }\n return response;\n }\n);\n\nexport const fetchSubsidiaryByName = createAsyncThunk(\n 'subsidiaries/fetchSubsidiaryByName',\n async (subsidiaryName: string, { rejectWithValue }) => {\n const path = `${env.REACT_APP_BASE_URL}settings/organization-management/subsidiaries/${subsidiaryName}/`;\n try {\n const response = await fetch(path, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n });\n\n const data = await response.json();\n return data;\n } catch (error) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllSubsidiaries = createAsyncThunk(\n 'subsidiaries/fetchAllSubsidiaries',\n async (payload, { rejectWithValue }) => {\n const path = `${env.REACT_APP_BASE_URL}settings/organization-management/subsidiaries`;\n try {\n const response = await fetch(path, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n });\n const data = await response.json();\n return data;\n } catch (error) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchSummarySubsidiaries = createAsyncThunk(\n 'subsidiaries/fetchSummarySubsidiaries',\n async (payload, { rejectWithValue }) => {\n const path = `${env.REACT_APP_BASE_URL}assessments/org_score/summary/subsidiaries/`;\n try {\n const response = await fetch(path, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n });\n const data = await response.json();\n return data;\n } catch (error) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nconst SubsidiariesSlice = createSlice({\n name: 'subsidiaries',\n initialState: {\n allSubsidiaries: [],\n summarySubsidiaries: [],\n selectedSubsidiary: {},\n activeSubsidiary: {},\n parentCompany: {},\n subsidiaryName: '',\n subsidiariesPopupVisible: false,\n subsidiariesEditMode: false,\n subsidiarySelectedId: -1,\n statusAllSubsidiaries: 'idle',\n statusSubsidiaryByName: 'idle',\n statusSummarySubsidiaries: 'idle'\n },\n reducers: {\n toggleSubsidiariesPopup(state, action) {\n state.subsidiariesPopupVisible = action.payload;\n },\n setSubsidiariesEditMode(state, action) {\n state.subsidiariesEditMode = action.payload;\n },\n setSubsidiarySelectedId(state, action) {\n state.subsidiarySelectedId = action.payload;\n },\n setSubsidiaryName(state, action) {\n state.subsidiaryName = action.payload;\n },\n resetSubsidiaryState(state) {\n state.allSubsidiaries = [];\n state.subsidiarySelectedId = -1;\n state.subsidiariesEditMode = false;\n state.subsidiariesPopupVisible = false;\n state.selectedSubsidiary = {};\n state.activeSubsidiary = {};\n state.parentCompany = {};\n state.statusAllSubsidiaries = 'idle';\n state.statusSubsidiaryByName = 'idle';\n state.statusSummarySubsidiaries = 'idle';\n },\n\n setParentCompany(state, action) {\n state.parentCompany = action.payload;\n },\n setActiveSubsidiary(state, action) {\n state.activeSubsidiary = action.payload;\n },\n setSubsidiaries(state, action) {\n state.allSubsidiaries = action.payload;\n }\n },\n extraReducers: {\n [fetchSubsidiaryByName.fulfilled]: (state, { payload }) => {\n state.selectedSubsidiary = payload;\n state.statusSubsidiaryByName = 'succeed';\n },\n [fetchSubsidiaryByName.rejected]: (state, action) => {\n state.error = action.error;\n state.statusSubsidiaryByName = 'failed';\n },\n [fetchSubsidiaryByName.pending]: state => {\n state.statusSubsidiaryByName = 'loading';\n },\n [fetchAllSubsidiaries.fulfilled]: (state, { payload }) => {\n state.allSubsidiaries = payload.results;\n state.statusAllSubsidiaries = 'succeed';\n },\n [fetchAllSubsidiaries.rejected]: (state, action) => {\n state.error = action.error;\n state.statusAllSubsidiaries = 'failed';\n },\n [fetchAllSubsidiaries.pending]: state => {\n state.statusSubsidiaries = 'loading';\n },\n [fetchSummarySubsidiaries.fulfilled]: (state, { payload }) => {\n state.summarySubsidiaries = payload.results;\n state.statusSummarySubsidiaries = 'succeed';\n },\n [fetchSummarySubsidiaries.rejected]: (state, action) => {\n state.error = action.error;\n state.statusSummarySubsidiaries = 'failed';\n },\n [fetchSummarySubsidiaries.pending]: state => {\n state.statusSummarySubsidiaries = 'loading';\n }\n }\n});\n\nconst { actions, reducer } = SubsidiariesSlice;\nexport const {\n toggleSubsidiariesPopup,\n setSubsidiaryName,\n setSubsidiaries,\n resetSubsidiaryState,\n setSubsidiarySelectedId,\n setSubsidiariesEditMode,\n setActiveSubsidiary,\n setParentCompany\n} = actions;\n\nexport default reducer;\n","// @ts-nocheck\nimport { createSlice } from '@reduxjs/toolkit';\n// import { addHeaders } from 'common/services/rest-api.service';\n// import { env } from 'env';\n\n// export const fetchSummarySubsidiaries = createAsyncThunk(\n// 'subsidiaries/fetchSummarySubsidiaries',\n// async (payload, { rejectWithValue }) => {\n// const path = `${env.REACT_APP_BASE_URL}assessments/org_score/summary/subsidiaries/`;\n// try {\n// const response = await fetch(path, {\n// method: 'GET',\n// mode: 'cors',\n// headers: addHeaders('GET'),\n// credentials: 'include'\n// });\n// const data = await response.json();\n// return data;\n// } catch (error) {\n// return rejectWithValue(error.response.data);\n// }\n// }\n// );\n\nconst ColumnPickerSlice = createSlice({\n name: 'columnPicker',\n initialState: {\n columnPicker: [],\n showColumnPicker: false\n },\n reducers: {\n setColumnPicker(state, action) {\n state.columnPicker = action.payload;\n },\n setShowColumnPicker(state, action) {\n state.showColumnPicker = action.payload;\n },\n resetColumnPicker(state) {\n state.columnPicker = [];\n state.showColumnPicker = false;\n }\n }\n});\n\nconst { actions, reducer } = ColumnPickerSlice;\nexport const { setColumnPicker, setShowColumnPicker, resetColumnPicker } = actions;\n\nexport default reducer;\n","// @ts-nocheck\nimport { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\nimport { addHeaders } from 'common/services/rest-api.service';\nimport { env } from 'env';\n\nexport const loadList = createAsyncThunk('integrations/loadList', async (_, thunkAPI) => {\n const path = `${env.REACT_APP_BASE_URL}settings/integrations/`;\n const res = await fetch(path, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n }).then(data => {\n if (!data.ok) {\n return thunkAPI.rejectWithValue({\n status: data.status\n });\n }\n return data.json();\n });\n return res;\n});\n\nconst integrationsSlice = createSlice({\n name: 'integrations',\n initialState: {\n component: '',\n visible: false,\n loading: false,\n list: [],\n categoryPopup: '',\n integrationDeleted: false\n },\n reducers: {\n showIntegration(state, action) {\n state.component = action.payload;\n state.visible = true;\n },\n hideIntegration(state) {\n state.component = '';\n state.visible = false;\n },\n showCategoryPopup: (state, action) => {\n state.categoryPopup = action.payload;\n },\n resetIntegrationPopup: state => {\n state.categoryPopup = '';\n state.integrationDeleted = false;\n },\n setIntegrationDeleted: (state, action) => {\n state.integrationDeleted = action.payload;\n }\n },\n extraReducers: {\n [loadList.pending]: state => {\n state.loading = true;\n },\n [loadList.fulfilled]: (state, { payload }) => {\n state.loading = false;\n state.list = payload;\n state.integrationDeleted = false;\n },\n [loadList.rejected]: state => {\n state.loading = false;\n }\n }\n});\n\nconst { actions, reducer } = integrationsSlice;\nexport const {\n showIntegration,\n hideIntegration,\n showCategoryPopup,\n resetIntegrationPopup,\n setIntegrationDeleted\n} = actions;\nexport default reducer;\n","// @ts-nocheck\nimport { createSlice } from '@reduxjs/toolkit';\n\nconst getErrorMsg = (error: any) => {\n if (typeof error === 'string') return error;\n\n let _error = JSON.parse(error.message);\n if (Array.isArray(_error)) {\n _error = _error[0];\n }\n if (_error.non_field_errors && _error.non_field_errors[0].includes('unique set')) {\n return 'The value you are trying to add is already exists';\n }\n _error = _error[Object.keys(_error)[0]];\n if (Array.isArray(_error[0])) {\n _error = _error[0][0];\n } else if (!Array.isArray(_error) && typeof _error === 'object' && _error[0] !== null) {\n _error = Object.values(_error)[0][0];\n }\n return `Error: ${_error}`;\n};\n\nconst alertSlice = createSlice({\n name: 'alert',\n initialState: {\n variant: '',\n text: '',\n visible: false\n },\n reducers: {\n showError(state, action: any) {\n state.variant = 'error';\n const msg = getErrorMsg(action.payload);\n state.text = msg || 'Something Went Wrong';\n state.visible = true;\n },\n showSuccess(state, action) {\n state.variant = 'success';\n state.text = action.payload;\n state.visible = true;\n },\n hideAlert(state) {\n state.visible = false;\n }\n }\n});\n\nconst { actions, reducer } = alertSlice;\nexport const { showError, showSuccess, hideAlert } = actions;\nexport default reducer;\n","// @ts-nocheck\nimport { createSlice } from '@reduxjs/toolkit';\n\nconst infoPanelSlice = createSlice({\n name: 'infoPanel',\n initialState: {\n isOpenInfoPanel: false,\n infoPanelTitle: '',\n infoPanelContentType: '',\n infoPanelAsset: ''\n },\n reducers: {\n setInfoPanelAsset(state, action) {\n state.infoPanelAsset = action.payload;\n },\n\n setIsOpenInfoPanel(state, action) {\n state.isOpenInfoPanel = action.payload;\n },\n setInfoPanelTitle(state, action) {\n state.infoPanelTitle = action.payload;\n },\n setInfoPanelContentType(state, action) {\n state.infoPanelContentType = action.payload;\n },\n resetInfoPanel(state) {\n state.isOpenInfoPanel = false;\n state.infoPanelTitle = '';\n state.infoPanelContentType = '';\n state.infoPanelAsset = '';\n }\n }\n});\n\nconst { actions, reducer } = infoPanelSlice;\nexport const {\n resetInfoPanel,\n setInfoPanelAsset,\n setIsOpenInfoPanel,\n setInfoPanelTitle,\n setInfoPanelContentType\n} = actions;\nexport default reducer;\n","import { configureStore } from '@reduxjs/toolkit';\nimport gridReducer from '../features/GridSlice';\nimport loginReducer from '../features/LoginSlice';\nimport groupsReducer from '../features/GroupsSlice';\nimport subsidiariesReducer from '../features/SubsidiariesSlice';\nimport columnPickerReducer from '../features/columnPickerSlice';\nimport generalReducer from '../features/GeneralSlice';\nimport integrationsReducer from '../features/IntegrationsSlice';\nimport alertReducer from '../features/AlertSlice';\nimport infoPanelReducer from '../features/InfoPanelSlice';\n\nexport const store = configureStore({\n reducer: {\n grid: gridReducer,\n login: loginReducer,\n groups: groupsReducer,\n subsidiaries: subsidiariesReducer,\n columnPicker: columnPickerReducer,\n general: generalReducer,\n integrations: integrationsReducer,\n alert: alertReducer,\n infoPanel: infoPanelReducer\n },\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware({\n serializableCheck: false\n })\n});\n\nexport interface IReduxState {\n [key: string]: {\n [key: string]: any;\n };\n}\n\nexport type AppDispatch = typeof store.dispatch;\n\nexport default store;\n","import { Subject } from 'rxjs';\nimport Moment from 'moment';\nimport { IObject } from 'common/interfaces/interface';\nimport { env } from 'env';\nimport store from 'app/store';\n\nconst subject: any = new Subject();\n\nexport const updateHeader = {\n sendHeaderText: (message: any) => subject.next({ text: message }),\n // clearMessages: () => subject.next(),\n getHeaderText: () => subject.asObservable()\n};\n\nexport const Common = {\n longDateFormat: '',\n //@param: value = date string\n //@description Creates a full date format\n getDateFullTime: (date: string) => {\n var format = `${Moment.localeData().longDateFormat('L')} ${Moment.localeData().longDateFormat('LT')}`;\n return Moment(date).format(format);\n },\n getShortDate: (date: string) => {\n return Moment(date).format('MM/DD/YYYY');\n },\n getDateString: (date: string) => {\n return Moment(date).format('MMMM DD, YYYY');\n },\n getDateMonthYear: (date: string) => {\n return Moment(date).format('MMM YY');\n },\n getDateYear: (date: string) => {\n return Moment(date).format('YYYY');\n },\n getChartDateString: (date: string) => {\n return Moment(date).format('DD MMM, YY');\n },\n //@param: value = date string\n //@description Creates a date format\n getDateFormat: (value: string) => {\n return value !== '' && value !== null && value !== undefined ? Moment(value).format(Common.longDateFormat) : '';\n },\n getLocaleDateFormat: () => {\n let userLanguage = window.navigator.language;\n let locale = Moment.locale(userLanguage);\n return Common.DateFormatChecker(Moment.localeData(locale).longDateFormat('L'));\n },\n isPastDate: (date: Date | string | null) => {\n return Moment(date).isBefore() && !Moment().isSame(date, 'day');\n },\n //Date format checker. Does it contain regular numbers\n DateFormatChecker: (longDateFormat: string) => {\n let date = Moment(new Date()).format(longDateFormat);\n if (/^(?:\\d+[-/.]){2}\\d+$/.test(date)) {\n return longDateFormat;\n } else {\n // formatDefault = \"DD/MM/YYYY\"\n let locale = Moment.locale('en');\n return Moment.localeData(locale).longDateFormat('L');\n }\n },\n //@param: data\n //@description A copy of data without reference\n cloneData(data: any) {\n return JSON.parse(JSON.stringify(data));\n },\n //@param: path\n //@description: Clearing a query from the path. for example ?ordering=...etc.\n //@return Only url data\n clearQueryFromPath(path: string) {\n //Does it includes a v1 string\n let include = path.includes('/v1/');\n try {\n return include ? path.split('v1/')[1].split('?')[0] : path.split('?')[0];\n } catch (error) {\n return path;\n }\n },\n //@param: email\n //@return boolean\n emailValidation(email: any): boolean {\n const regex = /^\\w+([\\\\.-]?\\w+)*@\\w+([\\\\.-]?\\w+)*(\\.\\w{2,3})+$/;\n return regex.test(email);\n },\n splitV1FromPath(path: string) {\n return path.split('v1/')[1] || path;\n },\n //@param: number\n //@description Takes a number and inserts commas in the relevant places\n //If the number is bigger than 1M, display a shorten version of it. (1M, 1.4M, 2B...)\n numberWithCommas(val: number): string {\n const largeNumbers: Array<{ symbol: string; value: number }> = [\n { symbol: 'M', value: 1e6 }, // 1 million\n { symbol: 'B', value: 1e9 } // 1 billion\n // Add here to support larger numbers\n ];\n\n // in case the number is bigger than the first value in the largeNumbers array,\n // loop through the largeNumbers array and shorten the number\n if (val >= largeNumbers[0].value) {\n for (let i = largeNumbers.length - 1; i >= 0; i--) {\n if (val >= largeNumbers[i].value) {\n const rounded: string = this.to1DecimalPoint(val / largeNumbers[i].value);\n return `${rounded}${largeNumbers[i].symbol}`;\n }\n }\n }\n\n // default:\n // in case the number is smaller than the first value in the largeNumbers array\n return val?.toLocaleString();\n },\n to1DecimalPoint(num: number): string {\n // shorten a number into 1 decimal points, and remove .0\n return num.toFixed(1).replace(/[.,]0$/, '');\n },\n percentage(partial: number, total: number) {\n return ((partial * 100) / total).toFixed(2);\n },\n getColorByUrgency(key: string = 'no_risk') {\n let urgency: IObject = {\n no_risk: '#1aa884',\n low: '#00bdd7',\n medium: '#e7b70e',\n high: '#e06915',\n critical: '#f46666'\n };\n return urgency[key];\n },\n getColorByTestResult(key: string = 'A') {\n let testResult: IObject = {\n A: '#1aa884',\n B: '#00bdd7',\n C: '#e7b70e',\n D: '#e06915',\n F: '#f46666'\n };\n return testResult[key.toUpperCase()];\n },\n getTextByUrgency(key: string = 'no_risk') {\n let urgency: IObject = {\n no_risk: 'No Risk',\n low: 'Low',\n medium: 'Medium',\n high: 'High',\n critical: 'Critical'\n };\n return urgency[key];\n },\n isNotEmpty(obj: object) {\n return Object.keys(obj).length !== 0;\n },\n convertToClassName(string: string) {\n return string?.toLowerCase().replace(' ', '-');\n },\n getRandomString(length: number, base: number = 36) {\n return (Math.random() + 1).toString(base).substring(length);\n },\n isValidDate(date: any) {\n const _date = Moment(date);\n // make sure date is valid and year is 4 chars\n return _date.isValid() && _date.year().toString().length === 4;\n },\n shortenText(string: string, length: number, suffix: string): string {\n return string.length <= length ? string : `${string.substring(0, length)}${suffix}`;\n },\n camelCaseToTitle(camelString: string): string {\n return camelString\n .replace(/([A-Z])/g, match => ` ${match}`)\n .replace(/^./, match => match.toUpperCase())\n .trim();\n },\n underscoreToTitle(string: string, shouldUppercaseShortWord: boolean = true): string {\n // #TODO: change this logic\n let _string = string;\n\n const switchWords = [\n { source: 'pass', dest: 'password' },\n { source: 'internal_url', dest: 'internal_/_external' },\n { source: 'hash', dest: 'hash (SHA 256)' },\n { source: 'stealer_family', dest: 'stealer_family' },\n { source: 'endpoint_os', dest: 'endpoint_OS' },\n { source: 'endpoint_ip', dest: 'endpoint_IP' },\n { source: 'endpoint_antivirus', dest: 'endpoint_antivirus' },\n { source: 'endpoint_device_name', dest: 'endpoint_device_name' },\n { source: 'endpoint_ad_user', dest: \"user's_AD_domain\" }\n ];\n\n switchWords.forEach((word: any) => {\n if (_string.toLowerCase().includes(word.source)) {\n _string = _string.replace(word.source, word.dest);\n }\n });\n\n _string = _string\n .split('_')\n .map(s => ' ' + s.charAt(0).toUpperCase() + s.substring(1))\n .join('')\n .replace(/^./, '');\n\n if (shouldUppercaseShortWord && _string.length <= 3) {\n _string = _string.toUpperCase();\n }\n\n return _string;\n },\n validateDomainName(domain: string): boolean {\n const regex = /^(?:\\*\\.)?(?:[\\w-]+\\.)*(?:[\\w]+)$/;\n return regex.test(domain);\n },\n validateTldr(domain: string): boolean {\n const regex = /^(?:[\\w-]+\\.)+(?:[\\w-]{2,})+$/;\n return regex.test(domain);\n },\n validateIp(ip: string): boolean {\n return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((\\/[0-9]|\\/[12][0-9]|\\/3[0-2])?)$/.test(\n ip\n );\n },\n validateMobileApp(app: string): boolean {\n return /^[A-Za-z0-9\\\\.\\\\_\\-\\\\/\\\\%]+$/g.test(app);\n },\n validatePort(value: number): boolean {\n if (value > 0 && value < 65535) {\n return true;\n }\n return false;\n },\n validateURL(string: string) {\n var res = string.match(\n /(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/g\n );\n return res !== null;\n },\n getTableHeaderFontProps(): object {\n // These props are used for the calculations of the DataGridPro cells width\n // #TODO: remove this from here and find one source for these props\n return {\n font: 'Rubik',\n fontSize: '1rem'\n };\n },\n getParamFromUrl(param: string): string {\n const decodedURI = decodeURIComponent(window.location.href);\n const url = new URL(decodedURI);\n const value = url.searchParams.get(param);\n return value || '';\n },\n setGridRowsClientIds(rows: []) {\n return rows.map((row: any) => {\n row._id = Common.getRandomString(7);\n return row;\n });\n },\n capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n },\n capitalizeFirstLetterOfEachWord(string: string) {\n return string\n .replace(/-/g, ' ')\n .split(' ')\n .map((word: string) => Common.capitalizeFirstLetter(word))\n .join(' ');\n },\n convertToApiPath(string: string) {\n return string.replace(/-/g, '_').toLowerCase();\n },\n validatePhoneNumber(string: string) {\n const format = /^\\+?([0-9]{2})\\)?[-. ]?([0-9]{4})[-. ]?([0-9]{4})$/;\n if (string.match(format)) {\n return true;\n }\n return false;\n },\n removeParamFromURL(param: string): void {\n const url = new URL(window.location.href);\n url.searchParams.delete(param);\n window.history.replaceState(null, '', url);\n },\n getSelectMaxHeight(): string {\n const el = document.getElementsByClassName('tab-filter-wrapper')[0];\n let height = 250;\n if (el) {\n height += el.clientHeight;\n }\n return `calc(100vh - ${height}px)`;\n },\n getFileSize(size: number): string {\n return (size / 1024 / 1024).toFixed(2);\n },\n highlightText(text: string): JSX.Element[] {\n const jsx: JSX.Element[] = [];\n if (!text) {\n return [];\n }\n const splittedText = text.split(\n /(@cyberpion-start-highlight@|@ionix-start-highlight@|@IONIX-start-highlight@|@cyberpion-end-highlight@|@ionix-end-highlight@|@IONIX-end-highlight@)/g\n );\n let highlight = false;\n splittedText.forEach((part: string) => {\n if (\n part === '@cyberpion-start-highlight@' ||\n part === '@ionix-start-highlight@' ||\n part === '@IONIX-start-highlight@'\n ) {\n highlight = true;\n } else if (\n part === '@cyberpion-end-highlight@' ||\n part === '@ionix-end-highlight@' ||\n part === '@IONIX-end-highlight@'\n ) {\n highlight = false;\n } else {\n if (highlight) {\n jsx.push({part});\n } else {\n jsx.push({part});\n }\n }\n });\n return jsx;\n },\n isDemoEnv() {\n return env.REACT_APP_ENV === 'demo';\n },\n getEmptyValue() {\n return '%00';\n },\n displayHelp(show: boolean) {\n const body = document.body;\n\n !!show ? body.classList.remove('popside-active') : body.classList.add('popside-active');\n },\n\n isObject(check: any) {\n return typeof check === 'object' && check !== null && !Array.isArray(check);\n },\n\n debounce(fn: Function, delay = 300) {\n let timer: any;\n return (...args: any) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n fn.apply(this, args);\n }, delay);\n };\n },\n copyText(string: string): void {\n if (typeof string === 'string') {\n try {\n window.navigator.clipboard.writeText(string);\n } catch {}\n }\n },\n sortAlphabetically(a: any, b: any, sortBy?: string) {\n if (sortBy) {\n return a[sortBy].toLowerCase().localeCompare(b[sortBy].toLowerCase());\n } else {\n return a.toLowerCase().localeCompare(b.toLowerCase());\n }\n },\n shuffle(arr: []) {\n let shuffled = arr\n .map(value => ({ value, sort: Math.random() }))\n .sort((a, b) => a.sort - b.sort)\n .map(({ value }) => value);\n return shuffled;\n },\n getUrgencyBySeverity(severity: number) {\n let type: string;\n if (severity >= 9) {\n type = 'critical';\n } else if (severity >= 7) {\n type = 'high';\n } else if (severity >= 4) {\n type = 'medium';\n } else {\n type = 'low';\n }\n return { urgency: severity, type };\n },\n updateLinksToMssp() {\n const user: any = store.getState().login.user;\n const account: string = store.getState().login.account || Common.getParamFromUrl('account');\n if (account && user.is_mssp_user) {\n const linksInPage = document.getElementsByTagName('a');\n for (let i = 0; i < linksInPage.length; i++) {\n const link = linksInPage[i].getAttribute('href');\n if (!link?.includes('account=') && !link?.startsWith('http')) {\n linksInPage[i].setAttribute('href', link + `${link?.includes('?') ? '&' : '?'}account=${account}`);\n }\n }\n }\n },\n AddMsspAccountIfNeeded(link: string) {\n const msspAccount = Common.getParamFromUrl('account');\n if (msspAccount && !link.includes('account=')) {\n return link + `${link.includes('?') ? '&' : '?'}account=${msspAccount}`;\n } else {\n return link;\n }\n }\n // highlightText(text: string) {\n // // Split text on highlight term, include term itself into parts, ignore case\n // const parts = text.split(new RegExp(`()`, 'gi'));\n // return {parts.map(part => part.toLowerCase() === highlight.toLowerCase() ? {part} : part)};\n // }\n};\nCommon.longDateFormat = Common.getLocaleDateFormat();\n","import { useHistory } from 'react-router-dom';\nimport { IOption, ISidebarMenu } from './interface';\nimport { Button } from '@mui/material';\nimport { IReduxState } from 'app/store';\nimport { useSelector } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport { LoginService } from 'login/services/login.service';\nimport { Common } from 'common/services/common.service';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\n\nimport './sidebar-menu.scss';\n\ninterface IMenu {\n pageName: string;\n data: ISidebarMenu;\n}\nexport function SidebarMenu(props: IMenu) {\n const history = useHistory();\n const { user } = useSelector((state: IReduxState) => state.login);\n const flags = useFlags();\n\n const isActive = (item: IOption) => {\n // TODO - replace this hack by adding the singleAsset under the discovery path\n if (props.pageName === 'singleAsset' && item.key === 'discovery') {\n return true;\n }\n return item.key === props.pageName;\n };\n\n const onClickButton = (\n event: React.MouseEvent,\n link: string,\n memberLink?: string,\n msspLink?: string\n ) => {\n if (!event.metaKey && !event.ctrlKey) {\n if (user.is_mssp_user && !Common.getParamFromUrl('account') && msspLink) {\n history.push(msspLink);\n } else if (LoginService.isMember(user) && memberLink) {\n history.push(memberLink);\n } else {\n history.push(link);\n }\n event.preventDefault();\n }\n };\n\n const filter = (item: IOption) => {\n if (item.restricted || (!!item.flag && !flags[item.flag])) {\n return false;\n }\n\n if (user.is_mssp_user && !Common.getParamFromUrl('account')) {\n if (item.hideForMssp) {\n return false;\n } else {\n return true;\n }\n } else if (item.showOnlyForMssp) {\n return false;\n } else {\n return true;\n }\n };\n\n const getLink = (item: IOption) => {\n if (user.is_mssp_user && !Common.getParamFromUrl('account') && item.msspLink) {\n return item.msspLink;\n }\n return LoginService.isMember(user) && item.memberLink ? item.memberLink : item.link;\n };\n\n return (\n
\n {Object.values(props.data)\n .filter(filter)\n .map((item: IOption, index: number) => (\n
\n ) =>\n onClickButton(e, item.link, item.memberLink, item.msspLink)\n }\n data-testid={item.key}\n >\n \n
\n {item.title}\n
\n \n
\n ))}\n
\n );\n}\n","interface IIconAnonUser {\n is_black_mode?: boolean;\n}\nexport function IconAnonUser(props: IIconAnonUser) {\n let fill = props.is_black_mode ? '#E8E8E8' : '#454549';\n let stroke = props.is_black_mode ? '#B7BBC5' : '#6D6D7A';\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import './appLoading.scss';\n\nimport Lottie from 'lottie-react-web';\nimport animation from './lottie-new.json';\n\nexport function AppLoading(props: any) {\n const defaultOptions = {\n animationData: animation,\n loop: true\n };\n return (\n
\n {/* */}\n \n {props.text &&
{props.text}
}\n
\n );\n}\n","import { RestApi } from 'common/services/rest-api.service';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport ClickAwayListener from '@mui/material/ClickAwayListener';\nimport MenuList from '@mui/material/MenuList';\nimport Grow from '@mui/material/Grow';\nimport MenuItem from '@mui/material/MenuItem';\nimport Paper from '@mui/material/Paper';\nimport Popper from '@mui/material/Popper';\nimport { useState, RefObject } from 'react';\nimport './userMenu.scss';\nimport { AppLoading } from '../appLoading/appLoading';\n\nexport function UserMenu(props: {\n open: boolean;\n anchorRef: RefObject;\n handleClose: (event: MouseEvent | TouchEvent) => void;\n onOpenSettingsPopup: () => void;\n}) {\n const [isLogginOut, setIsLogginOut] = useState(false);\n\n const logOutClicked = () => {\n setIsLogginOut(true);\n RestApi.logout(Paths[PathNames.logout]);\n };\n\n const linkTo = (url: string): void => {\n window.location.href = url;\n };\n\n return (\n \n {({ TransitionProps }) => (\n \n \n \n \n Profile Settings\n linkTo('https://ionix.zendesk.com')}>Help Center\n \n Log out\n {isLogginOut && }\n \n \n \n \n \n )}\n \n );\n}\n","import { IconAnonUser } from 'common/components/Icons/IconAnonUser/IconAnonUser';\nimport { UserMenu } from '../../../common/components/userMenu/userMenu';\nimport { useState, useRef } from 'react';\nimport './user.scss';\nimport classNames from 'classnames';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nexport function User(props: any) {\n const [menuOpen, setMenuOpen] = useState(false);\n\n const anchorRef = useRef(null);\n const { user } = useSelector((state: IReduxState) => state.login);\n\n const handleToggle = () => {\n setMenuOpen(prevOpen => !prevOpen);\n };\n\n const handleClose = (event: Event | React.SyntheticEvent) => {\n if (anchorRef.current && anchorRef.current.contains(event.target as HTMLElement)) {\n return;\n }\n setMenuOpen(false);\n };\n\n function createIcon() {\n let _string: string = '';\n if (user && user.first_name && user.last_name) {\n const first = user.first_name.charAt(0).toUpperCase();\n const last = user.last_name.charAt(0).toUpperCase();\n _string = first + last;\n } else if (user && user.email) {\n _string = user.email.charAt(0).toUpperCase();\n }\n\n if (_string.length) {\n return (\n
\n {_string}\n
\n );\n }\n\n return ;\n }\n\n return (\n
\n {createIcon()}\n \n
\n );\n}\n","import { Common } from 'common/services/common.service';\nimport { Link } from 'react-router-dom';\n\nexport function LinkNewTab(props: any) {\n if (props.to.startsWith('http')) {\n return (\n \n {props.text}\n \n );\n }\n\n const subAccount = Common.getParamFromUrl('account');\n const isQueryString = props.to.includes('?');\n\n return (\n \n {props.text}\n \n );\n}\n","// import { IconConnectionAi } from \"common/components/Icons/IconConnectionAi/IconConnectionAi\";\nimport './UserSettings.scss';\nimport { User } from 'header/components/user/User';\nimport PhoneInput, { isValidPhoneNumber } from 'react-phone-number-input';\nimport { useEffect, useState } from 'react';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { AppLoading } from '../appLoading/appLoading';\nimport classNames from 'classnames';\nimport { useDispatch } from 'react-redux';\nimport { setUser } from 'features/LoginSlice';\nimport { showSuccess } from 'features/AlertSlice';\nimport { LinkNewTab } from '../LinkNewTab/LinkNewTab';\n\ntype E164Number = string;\n\nexport function UserSettings(props: any) {\n // const { user } = useSelector((state: IReduxState) => state.login);\n const [firstName, setFirstName] = useState('');\n const [firstNameError, setFirstNameError] = useState(false);\n const [lastName, setLastName] = useState('');\n const [lastNameError, setLastNameError] = useState(false);\n const [phoneNumber, setPhoneNumber] = useState('');\n const [phoneNumberError, setPhoneNumberError] = useState(false);\n const [loading, setLoading] = useState(true);\n const [email, setEmail] = useState('');\n const dispatch = useDispatch();\n // function onSetVisible() {\n // props.setVisible(false);\n // }\n\n useEffect(() => {\n RestApi.getData('users/personal_info/').subscribe((response: any) => {\n setFirstName(response.first_name);\n setLastName(response.last_name);\n setPhoneNumber(response.mobile);\n setEmail(response.email);\n setLoading(false);\n });\n }, []);\n\n const validate = (): boolean => {\n let hasError = false;\n\n if (firstName.length < 2) {\n setFirstNameError(true);\n hasError = true;\n }\n if (lastName.length < 2) {\n setLastNameError(true);\n hasError = true;\n }\n\n if (phoneNumber && !isValidPhoneNumber(phoneNumber)) {\n setPhoneNumberError(true);\n hasError = true;\n }\n\n return !hasError;\n };\n\n const submit = () => {\n if (!validate()) {\n return false;\n }\n setLoading(true);\n RestApi.setData(\n 'users/personal_info/',\n {\n first_name: firstName,\n last_name: lastName,\n mobile: phoneNumber\n },\n 'PATCH'\n ).subscribe((response: any) => {\n dispatch(setUser({ first_name: firstName, last_name: lastName }));\n props.onClose();\n dispatch(showSuccess('User Updated Successfully'));\n });\n };\n\n return (\n
\n {loading && }\n \n

Profile Settings

\n
\n
\n \n setFirstName(e.target.value)}\n value={firstName}\n />\n \n setLastName(e.target.value)}\n value={lastName}\n />\n \n \n
\n \n
\n setPhoneNumber(value || '')}\n />\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n
\n
\n );\n}\n","import './image.scss';\ninterface IImage {\n className?: string;\n icon: string;\n type: ImgType;\n alt: string;\n}\n\ntype ImgType = 'svg' | 'png';\n\nexport function Image(props: IImage) {\n return {props.alt};\n}\n","import { Image } from 'common/components/image/Image';\nimport './logo.scss';\n\nconst NEW_COMP_NAME = 'ionix';\n\nexport function Logo() {\n const shouldShowIonixLogo = (): boolean => {\n return true;\n };\n\n const getLogo = () => {\n return `logo${shouldShowIonixLogo() ? `-${NEW_COMP_NAME}` : ''}`;\n };\n\n return (\n
\n \"Logo\"\n
\n );\n}\n","import { useState } from 'react';\nimport './header.scss';\nimport { updateHeader } from '../common/services/common.service';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nimport classNames from 'classnames';\n\nexport function Header(props: any) {\n const [headerText, setHeaderText] = useState('');\n const { user } = useSelector((state: IReduxState) => state.login);\n\n updateHeader.getHeaderText().subscribe((e: any) => {\n const subAccount = user.sub_account_display_name;\n if (subAccount) {\n setHeaderText(`${subAccount} - ${e.text}`);\n } else if (user.role < 35) {\n setHeaderText(`${user.company_display_name.replace('MSSP ', '')} - ${e.text}`);\n } else {\n setHeaderText(e.text);\n }\n });\n\n return (\n
\n
{headerText}
\n
{/* \n */}
\n
\n );\n}\n","import { IInput } from 'common/interfaces/interface';\nimport React, { forwardRef } from 'react';\nimport { Image } from '../image/Image';\nimport clsx from 'clsx';\nimport './input.scss';\n\ninterface IErrorValidation {\n error?: string[] | string;\n}\n\nconst ErrorValidation: React.FC = ({ error }) => {\n if (error) {\n if (typeof error === 'string' && error !== '') {\n return
{error}
;\n }\n if (Array.isArray(error) && error.length > 0) {\n return (\n
\n {error.map((line, index) => (\n
\n {line}\n
\n ))}\n
\n );\n }\n }\n return null;\n};\n\nconst Input = forwardRef((props: IInput, ref?: any) => {\n const [toggleCleanText, setToggleCleanText] = React.useState(true);\n\n const isErrorBlock =\n props.error &&\n ((typeof props.error === 'string' && props.error !== '') || (Array.isArray(props.error) && props.error.length > 0));\n\n function handleChange(value: string) {\n if (typeof props.onChange === 'function') {\n props.onChange(value);\n if (typeof props.onCleanText === 'function') {\n setToggleCleanText(value === '');\n }\n }\n }\n\n function keyboardEvent(value: React.KeyboardEvent) {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(value);\n }\n }\n\n function onCleanText() {\n if (typeof props.onCleanText === 'function' && typeof props.onChange === 'function') {\n props.onChange('');\n props.onCleanText();\n setToggleCleanText(true);\n }\n }\n\n const customClass = props.className ? props.className : '';\n\n return (\n <>\n
\n {props.icon && {props.icon}}\n handleChange(e.target.value)}\n />\n {props.onCleanText && (\n <>\n {!toggleCleanText && (\n
\n +\n
\n )}\n \n )}\n
\n \n \n );\n});\n\nexport { Input };\n","export const IconsCommon = {\n viewRotateClass: (toggleRotate: boolean = false) => (toggleRotate ? 'rotate' : 'urotate')\n};\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nimport { IconsCommon } from '../iconsCommon';\nimport '../icons.scss';\nexport class IconArrow extends React.Component {\n public props: IIcon;\n\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n if (this.props.color) {\n color = this.props.color;\n }\n return (\n \n \n \n );\n }\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport './dropdownHeader.scss';\ninterface IDropdownHeader {\n headerTitle: string;\n isListOpen: boolean;\n onChange: (params: boolean) => void;\n}\n\nexport function DropdownHeader(props: IDropdownHeader) {\n //@description: Updates the parent element. Whether to hide or show\n function handleChange() {\n props.onChange(!props.isListOpen);\n }\n\n return (\n
\n
{props.headerTitle}
\n \n
\n );\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nimport './IconCheckbox.scss';\n\nexport class Checkbox extends React.Component {\n public props: IIcon;\n\n getState() {\n if (this.props.active) {\n return \"checkbox\";\n } else if (this.props.semiActive) {\n return '-';\n }\n }\n\n render() {\n return (\n \n {this.getState()}\n \n );\n }\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { Checkbox } from 'common/components/Icons/IconCheckbox/IconCheckbox';\nimport { IOptionSelectItem } from 'common/components/multiSelect/interface';\nimport './selectItem.scss';\n\nexport function SelectItem(props: IOptionSelectItem) {\n //Sends true or false. To hide or show a column\n function handleChange() {\n props.option.is_toggled = !props.option.is_toggled;\n props.onChange(props.option);\n }\n\n //Opens the dropdown and rotate the arrow of the dropdown\n function handleChangeArrow() {\n //I added the condition because of the interface\n if (props.onChangeArrow) props.onChangeArrow(props.toggleArrow);\n }\n\n const getClassName = (label: string): string => {\n if (props.searchTerm && !label.toLowerCase().includes(props.searchTerm.toLowerCase())) {\n return 'hide';\n }\n return '';\n };\n\n return (\n <>\n {props.option.is_displayable && (\n
\n
\n \n
{props.option.label}
\n
\n\n {props.showArrow && (\n
\n \n
\n )}\n
\n )}\n \n );\n}\n","import { IColumnPicker } from 'common/interfaces/interface';\nimport { useState } from 'react';\nimport { IOptionSelectItem } from 'common/components/multiSelect/interface';\nimport { SelectItem } from '../selectItem/SelectItem';\nimport './selectGroup.scss';\n\nexport function SelectGroup(props: IOptionSelectItem) {\n const [islistOpen, setListOpen] = useState(props.option.is_group);\n\n function selectItem(option: IColumnPicker) {\n props.onChange(option);\n }\n\n //Runs in a loop on a sub-list and puts true or false values\n function selectGroupOptions() {\n const newChild = props.option.child.map((item: IColumnPicker) => {\n const updatedItem = {\n ...item,\n is_toggled: props.option.is_toggled\n };\n return updatedItem;\n });\n\n props.option.child = newChild;\n props.onChange(props.option);\n }\n\n //Changes the value `is_group` to true or false\n function toggleList(value: boolean | undefined) {\n props.option.is_group = !value;\n setListOpen(props.option.is_group);\n }\n\n const getParentClassName = (): string => {\n const option: IColumnPicker = props.option;\n const searchTerm: string | undefined = props.searchTerm?.toLowerCase();\n let shouldDisplayGroup: boolean = false;\n\n if (!searchTerm) {\n return '';\n }\n\n if (option.label.toLowerCase().includes(searchTerm)) {\n // search keyword appear in the filter group headline,\n // in this case we add a class 'show-group' to tell\n // the css to display all the items under it\n return 'show-group';\n } else {\n option.child.forEach(row => {\n if (row.label.toLowerCase().includes(searchTerm)) {\n shouldDisplayGroup = true;\n }\n });\n }\n\n if (!shouldDisplayGroup) {\n return 'hide';\n }\n\n return '';\n };\n\n const getChildClassName = (label: string) => {\n if (props.searchTerm && !label.toLowerCase().includes(props.searchTerm.toLowerCase())) {\n return 'hide';\n }\n return '';\n };\n\n return (\n
\n {props.option.is_displayable && (\n
\n \n {islistOpen && (\n
\n {props.option.child.map((item: IColumnPicker, key: number) => (\n
\n \n
\n ))}\n
\n )}\n
\n )}\n
\n );\n}\n","import { useState, useEffect, useRef } from 'react';\n\nexport function useComponentVisible(initialIsVisible: boolean) {\n const [isComponentVisible, setIsComponentVisible] = useState(initialIsVisible);\n const ref = useRef(null);\n\n //@param: event\n //@description: Hides the component\n const handleHideDropdown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setIsComponentVisible(false);\n }\n };\n\n //@param: event\n //@description: Hides the component\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setIsComponentVisible(false);\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', handleHideDropdown, true);\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('keydown', handleHideDropdown, true);\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n return { ref, isComponentVisible, setIsComponentVisible };\n}\n","import { Common } from 'common/services/common.service';\nimport './testResultRenderer.scss';\n\nexport function TestResultRenderer(props: any) {\n if (!props.value) {\n return null;\n }\n\n let color = Common.getColorByTestResult(props.value);\n\n return (\n
\n
\n \n
{props.value.toUpperCase()}
\n \n );\n}\n","export function IconActiveProtection() {\n return (\n
\n \n \n \n \n \n \n
\n );\n}\n","import { IIcon } from 'common/interfaces/interface';\nimport { Common } from 'common/services/common.service';\ninterface IIconRisk extends IIcon {\n iconSize?: IconSize;\n color?: string;\n}\ntype IconSize = 'little' | 'medium';\n\nexport function IconRisk(props: IIconRisk) {\n let color = props.color || Common.getColorByUrgency(props.urgency);\n\n //@description : Resize Icon\n function resizeIcon() {\n let size = {\n little: (\n \n \n \n \n \n \n \n \n ),\n medium: (\n \n \n \n \n \n \n \n \n )\n };\n return size[props.iconSize || 'little'];\n }\n return resizeIcon();\n}\n","import ReactTooltip from 'react-tooltip';\nimport './toolTip.scss';\n\ninterface Colors {\n text: string;\n background: string;\n arrow: string;\n effect?: string;\n delayHide?: number;\n offset?: { left: number; top: number };\n}\n\nexport function ToolTip(props: any) {\n let colors: Colors = {\n text: '',\n background: '',\n arrow: ''\n };\n\n switch (props.theme) {\n case 'light':\n colors.text = '#5d6576';\n colors.background = '#f0f2f6';\n colors.arrow = '#f0f2f6';\n break;\n case 'dark':\n colors.text = '#f0f2f6';\n colors.background = '#333333';\n colors.arrow = '#333333';\n break;\n }\n\n return (\n \n );\n}\n","import { IconActiveProtection } from 'common/components/Icons/IconActiveProtection/IconActiveProtection';\nimport { IconRisk } from 'common/components/Icons/IconRisk/IconRisk';\nimport './riskRenderer.scss';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\nexport function RiskRenderer(props: any) {\n if (!props.value) {\n return null;\n }\n return (\n
\n \n
\n {isNaN(props.value.risk_score) ? props.value.urgency : props.value.risk_score}\n
\n {props.value.is_active_protection && }\n \n
\n );\n}\n","import { IconRisk } from 'common/components/Icons/IconRisk/IconRisk';\nimport './gradeRenderer.scss';\nimport { Common } from 'common/services/common.service';\n\nexport function GradeRenderer(props: any) {\n if (!props.value) {\n return null;\n }\n\n if (props.value.risk_grade === null || props.value.risk_grade === undefined) {\n return null;\n }\n\n const grade = props.value.type.toUpperCase();\n return (\n
\n \n
{grade}
\n
\n );\n}\n","import React from 'react';\nimport './tagsRenderer.scss';\n\ninterface ITag {\n key: string;\n value: string;\n}\n\nexport class TagsRenderer extends React.Component {\n public props: any;\n public count: number = 0;\n public widthElement: number = 0;\n public listString: string[] = [];\n componentDidMount() {}\n\n render() {\n let rows: JSX.Element[] = [];\n this.listString = [];\n this.count = 0;\n if (this.props.value) {\n this.props.value.forEach((item: ITag, index: number) => {\n this.calculate(rows, item, index);\n });\n }\n\n return (\n
\n {rows}\n {this.showCount()}\n
\n );\n }\n\n //Calculate how many tags to display\n calculate(rows: JSX.Element[], item: ITag, index: number) {\n if (this.listString.toString().length >= 20) {\n this.count++;\n } else {\n rows.push(\n
\n
{item.key}
\n
:
\n
{item.value}
\n
\n );\n }\n this.listString.push(`${item.value} ${item.key}`);\n }\n\n showCount() {\n let elementCount =
+{this.count}
;\n if (this.count === 0) {\n return;\n }\n return elementCount;\n }\n}\n","import { GridRenderCellParams } from '@mui/x-data-grid-pro';\nimport { ISource } from 'common/components/grid/columnsManage';\nimport './LinkRenderer.scss';\nimport { Common } from 'common/services/common.service';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nconst DESTINATIONS = {\n INTERNAL: 'internalAssets',\n EXTERNAL: 'digitalSupplyChain',\n ACTION_ITEMS: 'actionItems',\n VULNERABILITIES: 'vulnerabilities',\n TESTS: 'tests',\n MOBILE: 'mobileAssets',\n CONNECTIONS: 'connections'\n};\n\nexport function LinkRenderer(props: any) {\n const isIOS = props.source.tab === DESTINATIONS.MOBILE && props.params.row.type.toLowerCase().includes('ios');\n\n const buildLink = (params: GridRenderCellParams, source: ISource) => {\n if (!props.identifier) {\n return {props.params.value};\n }\n let destination: { path: string; tab: string } = { path: '', tab: '' };\n\n if (source.page === 'assesments') {\n if (source.tab === DESTINATIONS.EXTERNAL) {\n if (params.field === 'connected_assets') {\n destination = { path: DESTINATIONS.INTERNAL, tab: DESTINATIONS.ACTION_ITEMS };\n } else {\n destination = { path: DESTINATIONS.EXTERNAL, tab: DESTINATIONS.VULNERABILITIES };\n }\n } else {\n destination = { path: DESTINATIONS.INTERNAL, tab: DESTINATIONS.TESTS };\n }\n } else if (source.page === 'discovery') {\n if (source.tab === DESTINATIONS.EXTERNAL) {\n if (params.field === 'connected_assets') {\n destination = { path: DESTINATIONS.INTERNAL, tab: DESTINATIONS.ACTION_ITEMS };\n } else {\n destination = { path: DESTINATIONS.EXTERNAL, tab: DESTINATIONS.VULNERABILITIES };\n }\n } else if (source.tab === DESTINATIONS.MOBILE) {\n destination = {\n path: DESTINATIONS.MOBILE,\n tab: isIOS ? DESTINATIONS.CONNECTIONS : DESTINATIONS.TESTS\n };\n } else {\n destination = { path: DESTINATIONS.INTERNAL, tab: DESTINATIONS.ACTION_ITEMS };\n }\n } else if (source.page === 'singleAsset') {\n if (source.category === DESTINATIONS.INTERNAL) {\n if (DESTINATIONS.EXTERNAL.includes(props.params.row.connected_asset_type.toLowerCase())) {\n destination = { path: DESTINATIONS.EXTERNAL, tab: DESTINATIONS.VULNERABILITIES };\n } else {\n destination = { path: DESTINATIONS.INTERNAL, tab: DESTINATIONS.ACTION_ITEMS };\n }\n } else if (source.category === DESTINATIONS.MOBILE) {\n if (DESTINATIONS.EXTERNAL.includes(props.params.row.connected_asset_type.toLowerCase())) {\n destination = { path: DESTINATIONS.EXTERNAL, tab: DESTINATIONS.VULNERABILITIES };\n } else {\n destination = { path: DESTINATIONS.INTERNAL, tab: DESTINATIONS.ACTION_ITEMS };\n }\n } else {\n destination = { path: DESTINATIONS.INTERNAL, tab: DESTINATIONS.ACTION_ITEMS };\n }\n } else if (params.field === 'target') {\n destination = { path: DESTINATIONS.EXTERNAL, tab: DESTINATIONS.VULNERABILITIES };\n } else if (params.field === 'source') {\n destination = { path: DESTINATIONS.INTERNAL, tab: DESTINATIONS.ACTION_ITEMS };\n } else {\n destination = { path: DESTINATIONS.INTERNAL, tab: DESTINATIONS.ACTION_ITEMS };\n }\n\n const id = [DESTINATIONS.EXTERNAL, DESTINATIONS.INTERNAL].includes(destination.path)\n ? props.params.value\n : props.params.id;\n\n const subAccount = Common.getParamFromUrl('account');\n const linkUrl = `/pages/singleAsset/${destination.path}/${encodeURIComponent(id)}/${destination.tab}${\n subAccount ? `?account=${subAccount}` : ''\n }`;\n\n return !isIOS ? (\n {props.params.value}}\n className={'grid-link-field'}\n testid=\"link-renderer\"\n />\n ) : (\n props.params.value\n );\n };\n\n return buildLink(props.params, props.source);\n}\n","import { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\nimport { LinkRenderer } from '../LinkRenderer/LinkRenderer';\nimport './arrayRenderer.scss';\n\ninterface IArrayRenderer {\n data: any;\n flexWrap: Type;\n field?: string;\n source?: any;\n identifier?: any;\n}\n\ntype Type = 'wrap' | 'nowrap';\n\nconst ArrayRenderer: React.FC = ({ data, flexWrap, field, source, identifier }) => {\n //@param: index = index of array\n //@return: element circle\n const addCircle = (index: number) => {\n if (data.length - 1 !== index) {\n return
;\n }\n };\n\n return (\n
    \n {data &&\n Array.isArray(data) &&\n data.map((item: any, index: number) => {\n const renderedItem =\n field && ['connected_assets', 'hosts', 'related_assets'].includes(field) ? (\n \n ) : field === 'cves' ? (\n \n ) : (\n item\n );\n return (\n
  • \n
    \n {typeof item === 'string' || field === 'cves'\n ? renderedItem\n : typeof item === 'number'\n ? item\n : typeof item === 'object' && Object.values(item)[0]}\n
    \n {addCircle(index)}\n
  • \n );\n })}\n
\n );\n};\n\nexport { ArrayRenderer };\n","import { useSelector, useDispatch } from 'react-redux';\nimport { setInfoPanelAsset, setInfoPanelContentType, setIsOpenInfoPanel } from 'features/InfoPanelSlice';\nimport classNames from 'classnames';\n\nimport './InfoPanelRenderer.scss';\n\nconst InfoPanelRenderer = (props: any) => {\n const dispatch = useDispatch();\n const { isOpenInfoPanel, infoPanelAsset } = useSelector((state: any) => state.infoPanel);\n const { value: data, row, field } = props;\n\n const handleInfoPanelOnClick = (ev: any) => {\n ev.stopPropagation();\n dispatch(setInfoPanelContentType(field));\n\n const show = !isOpenInfoPanel || (!!isOpenInfoPanel && infoPanelAsset !== row.asset);\n dispatch(setIsOpenInfoPanel(show));\n dispatch(setInfoPanelAsset(show ? row.asset : ''));\n };\n\n return !!data && !!data.count ? (\n {`${data.count}`}\n ) : null;\n};\n\nexport { InfoPanelRenderer };\n","import './booleanRenderer.scss';\nexport function BooleanRenderer(props: any) {\n //@param: value = boolean\n //@return: Capitalize the first letter\n const capitalizeFirstLetter = (value: boolean) => {\n try {\n let str = value.toString();\n return `${str.charAt(0).toUpperCase()}${str.slice(1)}`;\n } catch (error) {\n return 'False';\n }\n };\n\n return
{capitalizeFirstLetter(props.value)}
;\n}\n","import './spinnerRenderer.scss';\n\nexport function SpinnerRenderer(props: any) {\n return (\n
\n
{props.value.label}
\n {props.value.is_scanning && (\n
\n
Rescan in Progress
\n
\n )}\n
\n );\n}\n","import { IconActiveProtection } from 'common/components/Icons/IconActiveProtection/IconActiveProtection';\nimport { IconRisk } from 'common/components/Icons/IconRisk/IconRisk';\nimport { Common } from 'common/services/common.service';\nimport './urgencyRenderer.scss';\n\nexport function UrgencyRenderer(props: any) {\n return (\n
\n \n
{Common.getTextByUrgency(props.value.type)}
\n {props.value.is_active_protection && }\n
\n );\n}\n","import './coloredNumber.scss';\n\nexport function ColoredNumber(props: any) {\n const getFormattedNumer = (num: number) => {\n if (num > 0) {\n return `+${num}`;\n }\n return num;\n };\n\n const getClassName = (num: number) => {\n if (props.formattedValue < 0) {\n return 'neg';\n }\n if (props.formattedValue === 0) {\n return '';\n }\n if (props.formattedValue > 0) {\n return 'pos';\n }\n };\n\n return (\n
\n {getFormattedNumer(props.formattedValue)}\n
\n );\n}\n","import './indexGrade.scss';\nimport { TestResultRenderer } from '../testResultRenderer/TestResultRenderer';\n\nexport function IndexGrade(props: any) {\n if (!props.value) {\n return null;\n }\n\n if (!props.value.type || !props.value.risk_grade) {\n return null;\n }\n\n return (\n
\n {props.value.risk_grade.toFixed(0)}\n \n
\n );\n}\n","// declare type Satus = 'primary' | 'success' | 'warning' | 'danger' | 'info';\ndeclare type Satus = 'success' | 'warning' | 'danger';\n\nclass TosterService {\n public stack: any;\n public toastr: any;\n constructor() {\n this.stack = document.querySelector('.cp-toastr-stack');\n }\n\n onShowToster(message: any, satus: Satus, _code = '') {\n let toastr = document.createElement('DIV');\n toastr.className = 'cp-toastr';\n\n let card = document.createElement('DIV');\n card.className = `card-toastr ${satus}`;\n\n let iconSatusTosterScope = document.createElement('DIV');\n iconSatusTosterScope.className = 'img-toastr';\n\n let iconSatus = new Image();\n iconSatus.src = `/assets/images/toster-${satus}.svg`;\n iconSatusTosterScope.appendChild(iconSatus);\n\n let bodyToastr = document.createElement('DIV');\n bodyToastr.className = 'card-body-toastr';\n\n let sectionTextToastr = document.createElement('DIV');\n sectionTextToastr.className = 'section-text-toastr';\n sectionTextToastr.innerText = message;\n\n setTimeout(() => {\n toastr.classList.add('cp-show-toastr');\n }, 0);\n\n let code = document.createElement('DIV');\n code.className = 'cp-code-toastr';\n code.innerText = _code;\n\n bodyToastr.appendChild(sectionTextToastr);\n card.appendChild(iconSatusTosterScope);\n card.appendChild(bodyToastr);\n\n card.appendChild(code);\n\n let tosterBackground = new Image();\n tosterBackground.src = `/assets/images/toster-background.svg`;\n tosterBackground.className = 'cp-toster-background';\n card.appendChild(tosterBackground);\n\n let timer = this.remove(toastr);\n\n let close = document.createElement('DIV');\n close.className = 'close-toastr';\n close.innerText = '+';\n close.onclick = () => {\n clearTimeout(timer);\n toastr.remove();\n };\n\n toastr.onmouseover = () => {\n clearTimeout(timer);\n };\n\n toastr.onmouseout = () => {\n timer = this.remove(toastr);\n };\n\n card.appendChild(close);\n toastr.appendChild(card);\n this.stack.appendChild(toastr);\n }\n\n remove(el: any) {\n return setTimeout(() => {\n el.remove();\n }, 3000);\n }\n\n showError(error: any) {\n let _error = JSON.parse(error.message);\n if (Array.isArray(_error)) {\n _error = _error[0];\n }\n if (_error.non_field_errors && _error.non_field_errors[0].includes('unique set')) {\n this.onShowToster(`The value you are trying to add is already exists`, 'danger', '');\n return;\n }\n _error = _error[Object.keys(_error)[0]];\n if (Array.isArray(_error[0])) {\n _error = _error[0][0];\n }\n this.onShowToster(`Error: ${_error}`, 'danger', '');\n }\n}\n\nexport const tosterService = new TosterService();\n","import { IReduxState } from 'app/store';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport USER_ROLES from 'common/constants/roles';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { tosterService } from 'common/services/tostar.service';\nimport { getRows, setConfirmationParams } from 'features/GridSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport './UserRolesDropdown.scss';\n\nexport function UserRolesDropdown(props: any) {\n const ref = useRef(null);\n const [visible, setVisible] = useState(false);\n const [currentUserRole, setCurrentUserRole] = useState('');\n const {\n user: { role: loggedInRole }\n } = useSelector((state: IReduxState) => state.login);\n const dispatch = useDispatch();\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n useEffect(() => {\n setCurrentUserRole(props.params.row.role);\n }, [props.params.row.role]);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setVisible(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n const onChange = (role: number) => {\n setVisible(false);\n if (currentUserRole === USER_ROLES[35]) {\n // When changing a member to admin\n dispatch(\n setConfirmationParams({\n message: (\n
\n
\n Changing {currentUserRole} role to {USER_ROLES[role]} will REMOVE any group restrictions\n that were set.\n
\n
Users with {USER_ROLES[role]} restrictions can not be restricted.
\n
\n ),\n visible: true,\n endpoint: `${Paths[PathNames.userManagement]}${props.params.row.id}/`,\n data: {\n role: role\n },\n successMessage: 'User Role Changed Successfully',\n callback: () => {\n setCurrentUserRole(USER_ROLES[role]);\n dispatch(getRows());\n }\n })\n );\n } else {\n RestApi.setData(\n `${Paths[PathNames.userManagement]}${props.params.row.id}/`,\n {\n role: role\n },\n 'PATCH'\n ).subscribe(\n () => {\n setCurrentUserRole(USER_ROLES[role]);\n dispatch(getRows());\n },\n error => {\n tosterService.showError(error);\n }\n );\n }\n };\n\n const canEdit = (): boolean => {\n const items = filteredItemsRoles();\n return props.params.row.actions?.is_editable && items.length;\n };\n\n const filteredItemsRoles = () => {\n const filtered = Object.keys(USER_ROLES).filter((role: string) => {\n const _role: number = parseInt(role);\n let obj: { [key: string]: number } = {};\n for (const [key, value] of Object.entries(USER_ROLES)) {\n obj = { ...obj, [value]: parseInt(key) };\n }\n if (USER_ROLES[_role] === currentUserRole) {\n return false;\n }\n if (_role === 35) {\n return false;\n }\n return _role > loggedInRole;\n });\n return filtered.map((role: string, index) => {\n const _role = parseInt(role);\n return (\n
  • onChange(parseInt(role))}>\n {USER_ROLES[_role]}\n
  • \n );\n });\n };\n\n return (\n
    \n
    {currentUserRole}
    \n
    \n
    setVisible(!visible)}>\n Edit Role: \n
    \n
      {filteredItemsRoles()}
    \n
    \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { setDeletePromptParams } from 'features/GridSlice';\nimport { useDispatch, useSelector } from 'react-redux';\nimport './RemoveRow.scss';\n\nexport function RemoveRow(props: any) {\n const dispatch = useDispatch();\n const { user } = useSelector((state: IReduxState) => state.login);\n\n const onClick = () => {\n const id = props.params.id;\n const index = props.params.api.getRowIndex(id);\n const category = props.source.category;\n const tab = props.source.tab;\n\n dispatch(\n setDeletePromptParams({\n category: category,\n tab: tab,\n index: index,\n ids: [id],\n message: getDeleteMessageByCategory()\n })\n );\n };\n\n const getDeleteMessageByCategory = (): string => {\n switch (props.source.tab) {\n case 'manage-fqdns':\n return \"Are you sure you would like to remove this asset and it's subdomains?\";\n case 'subsidiaries':\n return 'Are you sure you would like to remove this subsidiary?';\n default:\n return 'Are you sure you would like to remove this item?';\n }\n };\n\n const isDeleteDisabled = (): boolean => {\n if (user.email === props.params.row.email || !props.params.row?.actions?.is_deletable) {\n return true;\n }\n return false;\n };\n\n return (\n
    \n \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { removeDomain, removeIp, removeMobileApp, removeWhois } from 'features/GroupsSlice';\nimport { useDispatch, useSelector } from 'react-redux';\nimport './RemoveRow.scss';\n\nexport function RemoveRowLocal(props: any) {\n const { subsidiaryMode, domains } = useSelector((state: IReduxState) => state.groups);\n\n const dispatch = useDispatch();\n\n const onClick = () => {\n const id = props.params.id;\n setTimeout(() => {\n switch (props.source.tab) {\n case 'domains':\n dispatch(removeDomain(id));\n break;\n case 'whois':\n dispatch(removeWhois(id));\n break;\n case 'ip-networks':\n dispatch(removeIp(id));\n break;\n case 'mobile-apps':\n dispatch(removeMobileApp(id));\n break;\n }\n }, 100);\n };\n\n const canDelete = (): boolean => {\n const tab = props.source.tab;\n if (\n subsidiaryMode &&\n tab === 'domains' &&\n (domains[0].value === props.params.row.value || domains[1].value === props.params.row.value)\n ) {\n return false;\n }\n return true;\n };\n\n return (\n
    \n {canDelete() && \"delete}\n
    \n );\n}\n","export function IconPen() {\n return (\n \n \n \n \n );\n}\n","export function IconMenu({ active }: { active: boolean }) {\n let color = active ? '#3455DD' : '#5D6576';\n\n return (\n \n \n \n \n \n );\n}\n","import React, { useState } from 'react';\nimport Menu from '@mui/material/Menu';\nimport Divider from '@mui/material/Divider';\nimport MenuItem from '@mui/material/MenuItem';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport Grid from '@mui/material/Grid';\nimport { setIsRowMenuActive } from 'features/GridSlice';\nimport { IconPen } from 'common/components/Icons/IconPen/IconPen';\nimport { IconMenu } from 'common/components/Icons/IconMenu/IconMenu';\nimport { useDispatch } from 'react-redux';\nimport classNames from 'classnames';\n\ninterface IRowActionMenu {\n rowData: any;\n itemOnClick: (rowId: string, option: any, type: string, event: React.MouseEvent) => void;\n type: string;\n status?: any;\n classes?: string;\n}\n\nconst itemMenu = [\n { id: 'edit', label: 'Edit', icon: },\n { id: 'delete', label: 'Delete', icon: \"delete }\n];\n\nconst RowActionMenu: React.FC = ({ rowData, itemOnClick, type, status, classes = '' }) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const dispatch = useDispatch();\n\n const handleHoverClasses = () => {\n try {\n const actionRows = document\n .getElementsByClassName('MuiDataGrid-virtualScroller')[0]\n .getElementsByClassName('MuiDataGrid-pinnedColumns')[0]\n .getElementsByClassName('Mui-hovered');\n if (!!actionRows.length) {\n for (let i = 0; i < actionRows.length; i++) {\n actionRows[i].classList.remove('Mui-hovered');\n }\n }\n const hoveredRows = document\n .getElementsByClassName('MuiDataGrid-virtualScroller')[0]\n .getElementsByClassName('MuiDataGrid-virtualScrollerRenderZone')[0]\n .getElementsByClassName('Mui-hovered');\n if (!!hoveredRows.length) {\n for (let i = 0; i < hoveredRows.length; i++) {\n hoveredRows[i].classList.remove('Mui-hovered');\n }\n }\n } catch (error) {\n console.log(error);\n }\n };\n const handleMenuClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n handleHoverClasses();\n dispatch(setIsRowMenuActive(true));\n event.stopPropagation();\n };\n\n const handleMenuClose = (event: React.MouseEvent) => {\n setAnchorEl(null);\n handleHoverClasses();\n dispatch(setIsRowMenuActive(false));\n // event.stopPropagation();\n };\n\n const handleItemOnClick = (option: any) => (event: React.MouseEvent) => {\n setAnchorEl(null);\n event.stopPropagation();\n itemOnClick(rowData, option, type, event);\n };\n\n return (\n \n \n \n \n\n \n {itemMenu.map((option, index) => {\n const isDisabled =\n !!status &&\n ((option.id === 'edit' && !status?.is_editable) || (option.id === 'delete' && !status?.is_deletable));\n\n return (\n
    \n \n {option.icon}\n {option.label}\n \n {index === 0 && }\n
    \n );\n })}\n \n
    \n );\n};\n\nexport default RowActionMenu;\n","import { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { setDeletePromptParams } from 'features/GridSlice';\nimport {\n addDomain,\n addIp,\n addWhois,\n addMobileApp,\n setEditMode,\n setIdentifier,\n setLabel,\n setSubsidiaryMode,\n togglePopup,\n toggleService\n} from 'features/GroupsSlice';\nimport RowActionMenu from 'common/components/RowActionMenu/RowActionMenu';\n\nimport './FilterGroupsDropdown.scss';\n\nexport function FilterGroupsDropdown(props: any) {\n const ref = useRef(null);\n // const [visible, setVisible] = useState(false);\n const [id, setId] = useState(props.id);\n const dispatch = useDispatch();\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n // setVisible(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n useEffect(() => {\n const popup = Common.getParamFromUrl('popup');\n if (popup === props.row.name) {\n Common.removeParamFromURL('popup');\n setId(id);\n dispatch(setSubsidiaryMode(true));\n editOnClick();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const deleteOnClick = () => {\n const id = props.id;\n const index = props.api.getRowIndex(id);\n\n // setVisible(false);\n\n dispatch(\n setDeletePromptParams({\n category: 'groups',\n index: index,\n ids: [id],\n message: 'Are you sure you would like to remove this group?'\n })\n );\n };\n\n const editOnClick = () => {\n RestApi.getData(Paths[PathNames.services]).subscribe((responseServices: any) => {\n RestApi.getData(`${Paths[PathNames.groups]}${props.id}`).subscribe((response: any) => {\n response.whois?.forEach((w: { value: string; type: string }) => {\n dispatch(addWhois({ whois: w.value, type: w.type }));\n });\n response.domains?.forEach((d: string) => {\n dispatch(addDomain({ value: d }));\n });\n response.ip_networks?.forEach((ip: string) => {\n dispatch(addIp({ value: ip }));\n });\n response.mobile_apps?.forEach((app: string) => {\n dispatch(addMobileApp({ value: app }));\n });\n response.services?.forEach((s: string) => {\n const selectedService = responseServices.find((service: any) => service.label === s);\n dispatch(toggleService(selectedService.value));\n });\n dispatch(setLabel(response.name));\n dispatch(setEditMode(true));\n dispatch(setIdentifier(props.row[props.identifier]));\n dispatch(togglePopup(true));\n // if (props.row.type.toLowerCase() === 'subsidiary') {\n // dispatch(setSubsidiaryMode(true));\n // }\n // setVisible(false);\n });\n });\n };\n\n const shouldShowDropDown = (): boolean => {\n if (props.row.actions?.is_deletable || props.row.actions?.is_editable) {\n return true;\n }\n return false;\n };\n\n if (!shouldShowDropDown()) {\n return null;\n }\n\n const handleMenuItemOnClick = (rowData: any, option: any, type: string, event: React.MouseEvent) => {\n event.stopPropagation();\n if (option.id === 'delete') {\n deleteOnClick();\n }\n if (option.id === 'edit') {\n editOnClick();\n }\n };\n\n return (\n
    \n \n {/*
    setVisible(!visible)}>\n ...\n
    \n
      \n {props.row.actions?.is_editable &&
    • Edit
    • }\n {props.row.actions?.is_deletable &&
    • Remove
    • }\n
    */}\n
    \n );\n}\n","import { GradeRenderer } from '../gradeRenderer/GradeRenderer';\nimport './AssesmentsLinkRenderer.scss';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nconst CATEGORIES_MAP = [\n 'web_risk_grade',\n 'certificates_risk_grade',\n 'dns_risk_grade',\n 'cloud_risk_grade',\n 'network_risk_grade',\n 'tls_risk_grade',\n 'email_risk_grade'\n];\n\nexport function AssesmentsLinkRenderer(props: any) {\n const getFilter = () => {\n return JSON.stringify({ category__in: CATEGORIES_MAP.indexOf(props.field).toString() });\n };\n\n if (CATEGORIES_MAP.indexOf(props.field) < 0) {\n return ;\n }\n\n return (\n }\n />\n );\n}\n","import './AssesmentsArrayLinkRenderer.scss';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nexport function AssesmentsArrayLinkRenderer(props: any) {\n //@param: index = index of array\n //@return: element circle\n const addCircle = (index: number) => {\n if (props.value.length - 1 !== index) {\n return
    ;\n }\n };\n\n return (\n
      \n {props.value &&\n props.value.map((item: string, index: number) => (\n
    • \n \n {addCircle(index)}\n
    • \n ))}\n
    \n );\n}\n","import { IconArrow } from '../Icons/IconArrow/IconArrow';\nimport classNames from 'classnames';\nimport './DynamicMultiChoiceDropDown.scss';\nimport { useEffect, useRef, useState } from 'react';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { AppLoading } from '../appLoading/appLoading';\nimport { Checkbox } from 'common/components/Icons/IconCheckbox/IconCheckbox';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { toggleAllowPopupClose } from 'features/GeneralSlice';\nimport { Common } from 'common/services/common.service';\n\nexport function DynamicMultiChoiceDropDown(props: any) {\n const ref = useRef(null);\n const [isToggled, setIsToggled] = useState(false);\n const [selected, setSelected] = useState([]);\n const [data, setData] = useState<[]>([]);\n const [searchInput, setSearchInput] = useState('');\n const [loading, setLoading] = useState(false);\n const { groups } = useSelector((state: any) => state.groups);\n const dispatch = useDispatch();\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setIsToggled(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n setTimeout(() => {\n dispatch(toggleAllowPopupClose(!isToggled));\n }, 100);\n return () => {\n setTimeout(() => {\n dispatch(toggleAllowPopupClose(true));\n }, 100);\n };\n }, [isToggled, dispatch]);\n\n useEffect(() => {\n setData(groups);\n }, [groups]);\n\n useEffect(() => {\n if (props.row && ['admin', 'owner'].includes(props.row.role.toLowerCase())) {\n setSelected([]);\n }\n }, [props.row]);\n\n useEffect(() => {\n if (!props.row || !props.api.getRowIndex(props.id)) {\n dispatch(props.dispatchGetAction());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (props.row) {\n if (props.row.group_restrictions && typeof props.row.group_restrictions[0] === 'number') {\n const arr = props.row.group_restrictions.map((group_id: number) => {\n return groups.filter((g: any) => group_id === g.id)[0].name;\n });\n setSelected(arr);\n } else {\n setSelected(props.row.group_restrictions);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.row]);\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const _setSelected = async (item: string) => {\n let copy = [...selected];\n if (selected.includes(item)) {\n copy.splice(copy.indexOf(item), 1);\n setSelected(copy);\n } else {\n copy = [item, ...copy];\n setSelected([...selected, item]);\n }\n const items = getItemsIds(copy);\n if (props.dispatchSetAction) {\n await dispatch(\n props.dispatchSetAction({\n items: items,\n row: props.row,\n apiRef: props.api\n })\n );\n } else {\n props.onChange(items);\n }\n };\n\n const getItemsIds = (_selectedCopy: string[]): number[] => {\n const arr: number[] = [];\n data.forEach((row: any) => {\n if (_selectedCopy.includes(row.name)) {\n arr.push(row.id);\n }\n });\n return arr;\n };\n\n const _setIsToggled = () => {\n if (data.length) {\n setIsToggled(!isToggled);\n }\n };\n\n const getListHTML = (): JSX.Element[] => {\n if (!data.length) {\n return [];\n }\n const copy = [...data];\n return copy\n .sort((a, b) => Common.sortAlphabetically(a, b, 'name'))\n .map((item: any) => {\n return (\n
  • _setSelected(item[props.fieldName])}>\n \n {item[props.fieldName]}\n
  • \n );\n });\n };\n\n const onSubmitSearch = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter') {\n setLoading(true);\n RestApi.getData(props.searchPath + searchInput).subscribe((response: any) => {\n setData(response.results);\n setLoading(false);\n });\n }\n };\n\n const renderSelectedHeader = (): string => {\n const selectedString = selected.join(', ');\n if (selectedString.length > props.limitHeaderLength) {\n return selectedString.substring(0, props.limitHeaderLength - 1) + '...';\n }\n return selectedString;\n };\n\n const onClear = async () => {\n setSelected([]);\n if (props.dispatchSetAction) {\n await dispatch(\n props.dispatchSetAction({\n items: [],\n row: props.row,\n apiRef: props.api\n })\n );\n } else {\n props.onChange([]);\n }\n };\n\n return (\n \n
    \n {selected.length ? renderSelectedHeader() : props.headerText}{' '}\n \n
    \n
    \n {loading && }\n
    \n \"search\"\n setSearchInput(e.target.value)}\n onKeyDown={onSubmitSearch}\n />\n
    \n
    \n
      {data.length && getListHTML()}
    \n
    \n Clear Selection\n x\n
    \n
    \n
    \n \n );\n}\n","const countries = [\n { value: 'Afghanistan', key: 'AF' },\n { value: 'Åland Islands', key: 'AX' },\n { value: 'Albania', key: 'AL' },\n { value: 'Algeria', key: 'DZ' },\n { value: 'American Samoa', key: 'AS' },\n { value: 'Andorra', key: 'AD' },\n { value: 'Angola', key: 'AO' },\n { value: 'Anguilla', key: 'AI' },\n { value: 'Antarctica', key: 'AQ' },\n { value: 'Antigua and Barbuda', key: 'AG' },\n { value: 'Argentina', key: 'AR' },\n { value: 'Armenia', key: 'AM' },\n { value: 'Aruba', key: 'AW' },\n { value: 'Australia', key: 'AU' },\n { value: 'Austria', key: 'AT' },\n { value: 'Azerbaijan', key: 'AZ' },\n { value: 'Bahamas', key: 'BS' },\n { value: 'Bahrain', key: 'BH' },\n { value: 'Bangladesh', key: 'BD' },\n { value: 'Barbados', key: 'BB' },\n { value: 'Belarus', key: 'BY' },\n { value: 'Belgium', key: 'BE' },\n { value: 'Belize', key: 'BZ' },\n { value: 'Benin', key: 'BJ' },\n { value: 'Bermuda', key: 'BM' },\n { value: 'Bhutan', key: 'BT' },\n { value: 'Bolivia', key: 'BO' },\n { value: 'Bosnia and Herzegovina', key: 'BA' },\n { value: 'Botswana', key: 'BW' },\n { value: 'Bouvet Island', key: 'BV' },\n { value: 'Brazil', key: 'BR' },\n { value: 'Brunei Darussalam', key: 'BN' },\n { value: 'Bulgaria', key: 'BG' },\n { value: 'Burkina Faso', key: 'BF' },\n { value: 'Burundi', key: 'BI' },\n { value: 'Cambodia', key: 'KH' },\n { value: 'Cameroon', key: 'CM' },\n { value: 'Canada', key: 'CA' },\n { value: 'Cape Verde', key: 'CV' },\n { value: 'Cayman Islands', key: 'KY' },\n { value: 'Central African Republic', key: 'CF' },\n { value: 'Chad', key: 'TD' },\n { value: 'Chile', key: 'CL' },\n { value: 'China', key: 'CN' },\n { value: 'Christmas Island', key: 'CX' },\n { value: 'Cocos (Keeling) Islands', key: 'CC' },\n { value: 'Colombia', key: 'CO' },\n { value: 'Comoros', key: 'KM' },\n { value: 'Congo', key: 'CG' },\n { value: 'Congo', key: 'CD' },\n { value: 'Cook Islands', key: 'CK' },\n { value: 'Costa Rica', key: 'CR' },\n { value: \"Cote D'Ivoire\", key: 'CI' },\n { value: 'Croatia', key: 'HR' },\n { value: 'Cuba', key: 'CU' },\n { value: 'Cyprus', key: 'CY' },\n { value: 'Czech Republic', key: 'CZ' },\n { value: 'Denmark', key: 'DK' },\n { value: 'Djibouti', key: 'DJ' },\n { value: 'Dominica', key: 'DM' },\n { value: 'Dominican Republic', key: 'DO' },\n { value: 'Ecuador', key: 'EC' },\n { value: 'Egypt', key: 'EG' },\n { value: 'El Salvador', key: 'SV' },\n { value: 'Equatorial Guinea', key: 'GQ' },\n { value: 'Eritrea', key: 'ER' },\n { value: 'Estonia', key: 'EE' },\n { value: 'Ethiopia', key: 'ET' },\n { value: 'Faroe Islands', key: 'FO' },\n { value: 'Fiji', key: 'FJ' },\n { value: 'Finland', key: 'FI' },\n { value: 'France', key: 'FR' },\n { value: 'French Guiana', key: 'GF' },\n { value: 'French Polynesia', key: 'PF' },\n { value: 'Gabon', key: 'GA' },\n { value: 'Gambia', key: 'GM' },\n { value: 'Georgia', key: 'GE' },\n { value: 'Germany', key: 'DE' },\n { value: 'Ghana', key: 'GH' },\n { value: 'Gibraltar', key: 'GI' },\n { value: 'Greece', key: 'GR' },\n { value: 'Greenland', key: 'GL' },\n { value: 'Grenada', key: 'GD' },\n { value: 'Guadeloupe', key: 'GP' },\n { value: 'Guam', key: 'GU' },\n { value: 'Guatemala', key: 'GT' },\n { value: 'Guernsey', key: 'GG' },\n { value: 'Guinea', key: 'GN' },\n { value: 'Guinea-Bissau', key: 'GW' },\n { value: 'Guyana', key: 'GY' },\n { value: 'Haiti', key: 'HT' },\n { value: 'Honduras', key: 'HN' },\n { value: 'Hong Kong', key: 'HK' },\n { value: 'Hungary', key: 'HU' },\n { value: 'Iceland', key: 'IS' },\n { value: 'India', key: 'IN' },\n { value: 'Indonesia', key: 'ID' },\n { value: 'Iran', key: 'IR' },\n { value: 'Iraq', key: 'IQ' },\n { value: 'Ireland', key: 'IE' },\n { value: 'Isle of Man', key: 'IM' },\n { value: 'Israel', key: 'IL' },\n { value: 'Italy', key: 'IT' },\n { value: 'Jamaica', key: 'JM' },\n { value: 'Japan', key: 'JP' },\n { value: 'Jersey', key: 'JE' },\n { value: 'Jordan', key: 'JO' },\n { value: 'Kazakhstan', key: 'KZ' },\n { value: 'Kenya', key: 'KE' },\n { value: 'Kiribati', key: 'KI' },\n { value: 'South Korea', key: 'KR' },\n { value: 'Kuwait', key: 'KW' },\n { value: 'Kyrgyzstan', key: 'KG' },\n { value: 'Latvia', key: 'LV' },\n { value: 'Lebanon', key: 'LB' },\n { value: 'Lesotho', key: 'LS' },\n { value: 'Liberia', key: 'LR' },\n { value: 'Libyan Arab Jamahiriya', key: 'LY' },\n { value: 'Liechtenstein', key: 'LI' },\n { value: 'Lithuania', key: 'LT' },\n { value: 'Luxembourg', key: 'LU' },\n { value: 'Macao', key: 'MO' },\n { value: 'Macedonia', key: 'MK' },\n { value: 'Madagascar', key: 'MG' },\n { value: 'Malawi', key: 'MW' },\n { value: 'Malaysia', key: 'MY' },\n { value: 'Maldives', key: 'MV' },\n { value: 'Mali', key: 'ML' },\n { value: 'Malta', key: 'MT' },\n { value: 'Marshall Islands', key: 'MH' },\n { value: 'Martinique', key: 'MQ' },\n { value: 'Mauritania', key: 'MR' },\n { value: 'Mauritius', key: 'MU' },\n { value: 'Mayotte', key: 'YT' },\n { value: 'Mexico', key: 'MX' },\n { value: 'Micronesia', key: 'FM' },\n { value: 'Moldova', key: 'MD' },\n { value: 'Monaco', key: 'MC' },\n { value: 'Mongolia', key: 'MN' },\n { value: 'Montserrat', key: 'MS' },\n { value: 'Morocco', key: 'MA' },\n { value: 'Mozambique', key: 'MZ' },\n { value: 'Myanmar', key: 'MM' },\n { value: 'Namibia', key: 'NA' },\n { value: 'Nauru', key: 'NR' },\n { value: 'Nepal', key: 'NP' },\n { value: 'Netherlands', key: 'NL' },\n { value: 'Netherlands Antilles', key: 'AN' },\n { value: 'New Caledonia', key: 'NC' },\n { value: 'New Zealand', key: 'NZ' },\n { value: 'Nicaragua', key: 'NI' },\n { value: 'Niger', key: 'NE' },\n { value: 'Nigeria', key: 'NG' },\n { value: 'Niue', key: 'NU' },\n { value: 'Norfolk Island', key: 'NF' },\n { value: 'Northern Mariana Islands', key: 'MP' },\n { value: 'Norway', key: 'NO' },\n { value: 'Oman', key: 'OM' },\n { value: 'Pakistan', key: 'PK' },\n { value: 'Palau', key: 'PW' },\n { value: 'Panama', key: 'PA' },\n { value: 'Papua New Guinea', key: 'PG' },\n { value: 'Paraguay', key: 'PY' },\n { value: 'Peru', key: 'PE' },\n { value: 'Philippines', key: 'PH' },\n { value: 'Pitcairn', key: 'PN' },\n { value: 'Poland', key: 'PL' },\n { value: 'Portugal', key: 'PT' },\n { value: 'Puerto Rico', key: 'PR' },\n { value: 'Qatar', key: 'QA' },\n { value: 'Reunion', key: 'RE' },\n { value: 'Romania', key: 'RO' },\n { value: 'Russian Federation', key: 'RU' },\n { value: 'RWANDA', key: 'RW' },\n { value: 'Samoa', key: 'WS' },\n { value: 'San Marino', key: 'SM' },\n { value: 'Sao Tome and Principe', key: 'ST' },\n { value: 'Saudi Arabia', key: 'SA' },\n { value: 'Senegal', key: 'SN' },\n { value: 'Serbia and Montenegro', key: 'CS' },\n { value: 'Serbia', key: 'RS' },\n { value: 'Montenegro', key: 'ME' },\n { value: 'Seychelles', key: 'SC' },\n { value: 'Sierra Leone', key: 'SL' },\n { value: 'Singapore', key: 'SG' },\n { value: 'Slovakia', key: 'SK' },\n { value: 'Slovenia', key: 'SI' },\n { value: 'Solomon Islands', key: 'SB' },\n { value: 'Somalia', key: 'SO' },\n { value: 'South Africa', key: 'ZA' },\n { value: 'Spain', key: 'ES' },\n { value: 'Sri Lanka', key: 'LK' },\n { value: 'Sudan', key: 'SD' },\n { value: 'Surivalue', key: 'SR' },\n { value: 'Svalbard and Jan Mayen', key: 'SJ' },\n { value: 'Swaziland', key: 'SZ' },\n { value: 'Sweden', key: 'SE' },\n { value: 'Switzerland', key: 'CH' },\n { value: 'Syrian Arab Republic', key: 'SY' },\n { value: 'Taiwan', key: 'TW' },\n { value: 'Tajikistan', key: 'TJ' },\n { value: 'Tanzania', key: 'TZ' },\n { value: 'Thailand', key: 'TH' },\n { value: 'Timor-Leste', key: 'TL' },\n { value: 'Togo', key: 'TG' },\n { value: 'Tokelau', key: 'TK' },\n { value: 'Tonga', key: 'TO' },\n { value: 'Trinidad and Tobago', key: 'TT' },\n { value: 'Tunisia', key: 'TN' },\n { value: 'Turkey', key: 'TR' },\n { value: 'Turkmenistan', key: 'TM' },\n { value: 'Turks and Caicos Islands', key: 'TC' },\n { value: 'Tuvalu', key: 'TV' },\n { value: 'Uganda', key: 'UG' },\n { value: 'Ukraine', key: 'UA' },\n { value: 'United Arab Emirates', key: 'AE' },\n { value: 'United Kingdom', key: 'GB' },\n { value: 'United States', key: 'US' },\n { value: 'Uruguay', key: 'UY' },\n { value: 'Uzbekistan', key: 'UZ' },\n { value: 'Vanuatu', key: 'VU' },\n { value: 'Venezuela', key: 'VE' },\n { value: 'Viet Nam', key: 'VN' },\n { value: 'Virgin Islands, British', key: 'VG' },\n { value: 'Virgin Islands, U.S.', key: 'VI' },\n { value: 'Wallis and Futuna', key: 'WF' },\n { value: 'Western Sahara', key: 'EH' },\n { value: 'Yemen', key: 'YE' },\n { value: 'Zambia', key: 'ZM' },\n { value: 'Zimbabwe', key: 'ZW' }\n];\n\ninterface ICountry {\n [key: string]: string;\n}\n\nconst prepareCountriesMap = () => {\n const _map: ICountry = {};\n countries.forEach((country: ICountry) => {\n _map[country.key] = country.value;\n });\n return _map;\n};\n\nexport const countriesMap = prepareCountriesMap();\n\nexport default countries;\n","import './Flag.scss';\nimport ReactCountryFlag from 'react-country-flag';\nimport { countriesMap } from 'common/constants/countries';\nimport { ToolTip } from '../toolTip/toolTip';\n\nexport function Flag(props: any) {\n if (!props.value) {\n return null;\n }\n\n const countryName = countriesMap[props.value.toUpperCase()];\n\n return (\n
    \n \n \n {props.showCountry && {countryName}}\n \n \n
    \n );\n}\n","import { RestApi } from 'common/services/rest-api.service';\nimport './Download.scss';\n\nexport function Download(props: any) {\n const prepareLink = () => {\n const subAlertId = props.row.id;\n const parentAlertId = props.row.alert_id;\n RestApi.getData(`assessments/drps/darkweb/alerts/${parentAlertId}/sub_alerts/${subAlertId}/download/`).subscribe(\n (response: any) => {\n window.open(response.link);\n }\n );\n };\n\n return (\n
    \n {props.row && props.row.is_downloadable && (\n \"download\"\n )}\n
    \n );\n}\n","import classNames from 'classnames';\nimport { AppLoading } from '../appLoading/appLoading';\nimport { IconArrow } from '../Icons/IconArrow/IconArrow';\nimport './Button.scss';\n\ninterface IButton {\n text: string;\n type: 'button' | 'submit' | 'reset' | undefined;\n icon?: string;\n loading?: boolean | null;\n onClick: any;\n disabled?: boolean;\n buttonStyle: string;\n size: string;\n dataTestId?: string;\n className?: string;\n addArrow?: boolean;\n}\n\nexport function Button(props: IButton) {\n const moreProps = !!props.dataTestId ? { 'data-testid': props.dataTestId } : {};\n return (\n \n {props.loading && }\n {props.icon && \"Icon\"}\n {props.text}\n {props.addArrow ? : ''}\n \n );\n}\n","import { RestApi } from 'common/services/rest-api.service';\nimport { tosterService } from 'common/services/tostar.service';\nimport { useRef, useState } from 'react';\n\nimport './EditableColumn.scss';\nimport { Button } from '../Button/Button';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { AppLoading } from '../appLoading/appLoading';\nimport { LoginService } from 'login/services/login.service';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nimport { USER_ROLES_SWAPPED } from 'common/constants/roles';\n\nconst MAX_SSO_ID_INPUT_SIZE = 28;\n\nexport function EditableColumn(props: any) {\n const [value, setValue] = useState(props.params.value);\n const [previousValue, setPreviousValue] = useState(props.params.value);\n const [editMode, setEditMode] = useState(false);\n const [loading, setLoading] = useState(false);\n const { user } = useSelector((state: IReduxState) => state.login);\n const ref = useRef(null);\n\n const onChange = (value: string) => {\n setValue(value);\n };\n\n const onStartEdit = () => {\n if (ref.current) {\n ref.current.select();\n ref.current.focus();\n }\n setEditMode(true);\n };\n\n const onSubmit = () => {\n if (value && value.length) {\n setLoading(true);\n RestApi.setData(\n `${Paths[PathNames.userManagement]}${props.params.row.id}/`,\n { sso_id: value },\n 'PATCH'\n ).subscribe(\n () => {\n setPreviousValue(value);\n setLoading(false);\n setEditMode(false);\n tosterService.onShowToster(`SSO ID Saved Successfully`, 'success', '');\n },\n error => {\n setLoading(false);\n setValue(previousValue);\n tosterService.onShowToster(`Failed to save SSO ID`, 'danger', '');\n }\n );\n } else {\n setEditMode(false);\n setValue(previousValue);\n }\n };\n\n const onCancel = () => {\n setEditMode(false);\n setValue(previousValue);\n };\n\n if (loading) {\n return (\n
    \n \n
    \n );\n }\n\n if (!(LoginService.isAdminOrAbove(user) && user.role < USER_ROLES_SWAPPED[props.params.row.role])) {\n return
    {value}
    ;\n }\n\n return (\n
    \n
    setEditMode(true)}>\n onChange(e.target.value)}\n maxLength={128}\n />\n
    \n {editMode ? (\n
    \n
    \n ) : (\n \"Edit\"\n )}\n
    \n );\n}\n","import React from 'react';\nimport { Grid } from '@mui/material';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\ninterface IRelationship {\n relationship: number;\n label: string;\n}\n\nconst Relationship: React.FC = ({ relationship, label }) => {\n const relationshipIcons = {\n 1: '/assets/images/relationship_substract_a.svg',\n 2: '/assets/images/relationship_substract_b.svg',\n 3: '/assets/images/relationship_intersect.svg',\n 4: '/assets/images/relationship_combine.svg',\n 5: '/assets/images/relationship_union.svg'\n };\n return (\n \n \n \n \n \n {label}\n \n \n );\n};\n\nexport default Relationship;\n","import { ToolTip } from 'common/components/toolTip/toolTip';\nimport './CustomTagsRenderer.scss';\nimport { RestApi } from 'common/services/rest-api.service';\nimport ReactTooltip from 'react-tooltip';\n\nconst CustomTagsRenderer = (props: any) => {\n const onDelete = (tag: string, index: number, event: any) => {\n let apiPath = '';\n const source = `${props.source.page}_${props.source.tab}`;\n switch (source) {\n case 'discovery_internalAssets':\n apiPath = 'discovery/org-assets/tags/';\n break;\n case 'actionItems_open':\n apiPath = 'remediation/action-items/tags/';\n }\n const newTagsArray = [...props.data];\n newTagsArray.splice(index, 1);\n props.api.updateRows([{ [props.identifier]: props.id, tags: newTagsArray }]);\n ReactTooltip.hide();\n RestApi.setData(apiPath, { ids: [props.id], tags: [tag] }, 'DELETE').subscribe(\n (response: any) => {},\n error => {}\n );\n };\n\n return (\n
    \n
      \n {!!props.data &&\n !!props.data.length &&\n props.data.map((item: any, index: number) => {\n return (\n
    • \n
      \n
      {typeof item === 'string' ? item : item.name}
      \n {item.source?.toLowerCase() === 'custom' ? (\n onDelete(item.name, index, e)}\n >\n \"Delete\"\n \n ) : (\n ''\n )}\n
      \n
    • \n );\n })}\n
    \n \n
    \n );\n};\n\nexport { CustomTagsRenderer };\n","import { Button } from '@cyberpion/cyberpion-ui';\n\nexport function MSSPLoginButton(props: any) {\n return (\n \n \n );\n}\n","type TFilterType = 'multiple_choice' | 'radio' | 'stringAndNumber' | 'date';\n\nexport const FILTER_TYPE = {\n MULTIPLE_CHOICE: 'multiple_choice',\n RADIO: 'radio',\n FREE_TEXT: 'free_text',\n DATE: 'date'\n};\n\nexport const getFiltersServerFormat = (type: TFilterType, choiceItem: any, values: any, toggledOption?: any) => {\n if (type === 'multiple_choice') {\n const filterType = [\n 'tags',\n 'array_number',\n 'array_string',\n 'rbac_groups',\n 'array_chips',\n 'count_info_panel'\n ].includes(choiceItem.type)\n ? 'overlap'\n : 'in';\n return {\n [choiceItem.name]: {\n type: `__${filterType}`,\n value: values.join(',')\n }\n };\n }\n if (type === 'radio') {\n return {\n [choiceItem.name]: {\n type: '',\n value: values.name\n }\n };\n }\n if (type === 'stringAndNumber') {\n const filterType = choiceItem.type === 'array_number' ? '__overlap' : values.name;\n return {\n [choiceItem.name]: {\n type: filterType,\n value: values.value.trim()\n }\n };\n }\n if (type === 'date') {\n let filter = {\n [choiceItem.name]: {\n type: toggledOption.name,\n value: values\n }\n };\n if (toggledOption.label.startsWith('Last')) {\n filter[choiceItem.name].type = '__index';\n filter[choiceItem.name].value = toggledOption.id;\n }\n return filter;\n }\n};\n","import AdapterDateFns from '@mui/lab/AdapterDateFns';\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\nimport DatePicker from '@mui/lab/DatePicker';\nimport { TextField } from '@mui/material';\nimport { IconRadioButton } from 'common/components/Icons/IconRadioButton/IconRadioButton';\nimport { Common } from 'common/services/common.service';\nimport React from 'react';\nimport { Button } from '@mui/material';\nimport './filterDate.scss';\nimport { IItemFilterDate, IChildFilterDate, IFilters } from 'common/components/grid/components/gridUtilities/interface';\nimport { useRef, useEffect, useState } from 'react';\nimport { DropdownHeader } from '../dropdownHeader/DropdownHeader';\nimport { FilterDateManage } from '../services/FilterDateManage';\nimport { AppDispatch } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { addFields, addFilter, getRows } from 'features/GridSlice';\nimport { IChoices } from 'common/interfaces/interface';\nimport { getFiltersServerFormat } from 'utils/filters';\n\ninterface IFilterDate {\n item: IFilters;\n activeFilters: any;\n onUpdateDataFilter: (item: IFilters) => void;\n // onUpdatedFilterGrid: (params: IItemFilterDate) => void;\n}\n\nexport function FilterDate(props: IFilterDate) {\n const ref = useRef(null);\n const [isOpenDatePicker, setOpenDatePicker] = useState(false);\n const [item, setItem] = useState(props.item);\n const [isToggled, setIsToggled] = useState(false);\n const dispatch: AppDispatch = useDispatch();\n const { filters } = useSelector((state: any) => state.grid);\n\n //@param: event\n //@description: Hides the component\n const handleClickOutside = (event: Event) => {\n if (\n ref.current &&\n !ref.current.contains(event.target as Node) &&\n !isOpenDatePicker\n // !FiltersManage.contains(event.target)\n ) {\n onClose();\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n useEffect(() => {\n if (props.item) {\n const copy = { ...props.item };\n if (filters[copy.name] && filters[copy.name].type === '__index') {\n copy.sub_label = `: ${props.item.choices[filters[copy.name].value].label}`;\n copy.choices[props.item.choices[filters[copy.name].value].id].is_toggle = true;\n copy.is_active_filter = true;\n } else if (filters[copy.name]) {\n copy.choices[copy.choices.length - 1].is_toggle = true;\n const dates = filters[copy.name].value.split(',');\n const date1 = new Date(dates[0]);\n const date2 = new Date(dates[1]);\n const date1String = `${date1.getMonth() + 1}/${date1.getDate()}/${date1.getFullYear()}`;\n const date2String = `${date2.getMonth() + 1}/${date2.getDate()}/${date2.getFullYear()}`;\n copy.choices[copy.choices.length - 1].child[0].value = date1String;\n copy.choices[copy.choices.length - 1].child[1].value = date2String;\n copy.sub_label = `: Range \"${FilterDateManage.checkIsBetween(filters[copy.name].value || '')}\"`;\n copy.is_active_filter = true;\n } else if (props.activeFilters[copy.name].is_active_filter) {\n copy.is_active_filter = false;\n copy.is_toggled = false;\n copy.choices.forEach((choice: IChoices) => {\n choice.is_toggled = false;\n });\n copy.sub_label = '';\n props.onUpdateDataFilter(copy);\n //\n }\n setItem(copy);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n //@param: newDate = Date entered by the user\n //@param: index = Position of an item in an array\n //@param: numDays = Position a child in an array\n //@description: Updates the date of that item in the data\n function setValueDatePicker(newDate: Date | undefined | null, index: number, childIndex: number = 0) {\n if (Common.isValidDate(newDate)) {\n let copy = onSelected(true, index);\n if (index !== 5 && newDate) {\n copy.choices[index].value = newDate;\n copy.choices[index].error = false;\n } else {\n copy.choices[index].child[childIndex].value = newDate;\n copy.choices[index].child[childIndex].error = false;\n }\n setItem(copy);\n }\n }\n\n //@param: value = The boolean value I get from the \"IconRadioButton\" component\n //@param: index = Position of an item in an array\n //@description : Updates the data selection\n function onSelected(value: boolean, index: number) {\n let copy = { ...item };\n copy.choices.forEach((option: IItemFilterDate, i: number) => {\n if (index !== i) option.is_toggle = false;\n else option.is_toggle = value;\n });\n return copy;\n }\n\n function onChangeSelected(isToggle: boolean, index: number) {\n // return\n let copy = onSelected(isToggle, index);\n // let chosen = copy.choices[index]\n // let date = FilterDateManage.getFormatDateByLabel(chosen);\n // // let key = `${item.name}${chosen.name}`;\n // const filter = {\n // [item.name]: {\n // type: chosen.name,\n // value: date\n // }\n // }\n // let values = date\n // // filter = `${item.name}${data_dropdown.name}=${date}`;\n // if (chosen.label.startsWith('Last')) {\n // // Last filters needs to send range (CP-1126)\n // const now = new Date().toJSON()\n // filter[item.name].value = `${date},${now}`\n // // key = `${item.name}__range`\n // // values = `${date},${now}`\n // // filter = `${item.name}__range=${date},${now}`;\n // }\n // // queryGrid.updateMoreQueryChain(item.name, filter);\n // item.sub_label = `: ${chosen.label} \"${FilterDateManage.checkIsBetween(date || \"\")}\"`;\n setItem(copy);\n }\n\n //@description Closes the drop-down menu\n function onClose() {\n let copy = { ...item };\n copy.toggle_dropdown = false;\n copy.choices.forEach((option: IItemFilterDate, i: number) => {\n option.is_toggle = false;\n option.error = false;\n });\n setItem(copy);\n setIsToggled(false);\n // props.onUpdateDataFilter(copy);\n }\n\n //@description : Check if there is a selection and send a filter request\n function onApply() {\n let option: any;\n let copy = { ...item };\n for (const key in copy.choices) {\n if (copy.choices[key].is_toggle) {\n option = copy.choices[key];\n break;\n }\n }\n\n if (option) {\n if (!validationInputDate(option, copy)) {\n copy.toggle_dropdown = false;\n let date = FilterDateManage.getFormatDateByLabel(option);\n // const filter = {\n // [item.name]: {\n // type: option.name,\n // value: date\n // }\n // };\n // if (option.label.startsWith('Last')) {\n // filter[item.name].type = '__index';\n // filter[item.name].value = option.id;\n // }\n const filter = getFiltersServerFormat('date', copy, date, option);\n // queryGrid.updateMoreQueryChain(item.name, filter);\n copy.sub_label = `: ${option.label} \"${FilterDateManage.checkIsBetween(date || '')}\"`;\n copy.is_active_filter = true;\n setItem(copy);\n setIsToggled(false);\n dispatch(addFilter(filter));\n dispatch(addFields([item.name]));\n dispatch(getRows());\n props.onUpdateDataFilter(copy);\n // props.onUpdatedFilterGrid(option);\n }\n }\n }\n\n //@param: option = Selected item\n //@param: options = All data\n //@description : Validation on the same selected item\n function validationInputDate(option: IItemFilterDate, item: any) {\n if (option.id !== 5 && !Common.isValidDate(option.value) && option.show_data_picker) {\n item.choices[option.id].error = !option.value;\n setItem(item);\n return item.choices[option.id].error;\n }\n if (option.id === 5 && (!Common.isValidDate(option.child[1].value) || !Common.isValidDate(option.child[0].value))) {\n item.choices[option.id].child[0].error = true;\n item.choices[option.id].child[1].error = true;\n setItem(item);\n return true;\n }\n\n if (\n option.id === 5 &&\n option.child[1].value &&\n Common.isValidDate(option.child[1].value) &&\n option.child[0].value &&\n Common.isValidDate(option.child[0].value)\n ) {\n if (option.child[0].value > option.child[1].value) {\n item.choices[option.id].child[0].error = true;\n item.choices[option.id].child[1].error = true;\n setItem(item);\n return true;\n }\n }\n return false;\n }\n\n function showDatePicker(option: any, index: number, childIndex: number | undefined = undefined) {\n return (\n \n {\n setOpenDatePicker(true);\n }}\n onClose={() => {\n setOpenDatePicker(false);\n }}\n value={option.value}\n onChange={newValue => {\n setValueDatePicker(newValue, index, childIndex);\n }}\n renderInput={params => }\n />\n \n );\n }\n\n function showIconRadioButton(option: IItemFilterDate, index: number) {\n return (\n
    \n {\n onChangeSelected(e, index);\n }}\n />\n
    \n );\n }\n\n return (\n <>\n setIsToggled(!isToggled)}\n onChangeData={props.onUpdateDataFilter}\n isToggled={isToggled}\n // onUpdateFilterGrid={props.onUpdateFilterGrid}\n />\n {isToggled && (\n
    \n {item.choices.map((option: IItemFilterDate, index: number) => (\n \n {option.child.length === 0 && (\n
    \n {showIconRadioButton(option, index)}\n
    {option.label}
    \n {option.show_data_picker && (\n
    {showDatePicker(option, index)}
    \n )}\n
    \n )}\n {option.child.length !== 0 && (\n
    \n {showIconRadioButton(option, index)}\n {option.child.map((c: IChildFilterDate, childKey: number) => (\n
    \n
    {c.label}
    \n {c.show_data_picker && showDatePicker(c, index, childKey)}\n
    \n ))}\n
    \n )}\n
    \n ))}\n
    \n \n \n
    \n
    \n )}\n \n );\n}\n","import React, { useState, useRef, useEffect } from 'react';\nimport { IFilters } from 'common/components/grid/components/gridUtilities/interface';\nimport { IFilterGridOption } from 'common/components/grid/components/gridUtilities/interface';\nimport { Button } from '@mui/material';\nimport { Input } from 'common/components/Input/Input';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { DropdownHeader } from '../dropdownHeader/DropdownHeader';\nimport { AppDispatch } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { addFields, addFilter, getRows } from 'features/GridSlice';\nimport { getFiltersServerFormat } from 'utils/filters';\nimport { Common } from 'common/services/common.service';\nimport classNames from 'classnames';\n\nimport './filterFreeText.scss';\n\ninterface IFilterFreeText {\n item: IFilters;\n onUpdateDataFilter: (item: IFilters) => void;\n activeFilters: any;\n // onUpdatedFilterGrid: (params: IFilterGridOption) => void;\n}\nexport function FilterFreeText(props: IFilterFreeText) {\n const ref = useRef(null);\n const [item, setItem] = useState(props.item);\n const [isToggled, setIsToggled] = useState(false);\n const dispatch: AppDispatch = useDispatch();\n const { filters } = useSelector((state: any) => state.grid);\n const [error, setError] = useState(false);\n //@param: event\n //@description: Hides the component\n const handleClickOutside = (event: Event) => {\n if (\n ref.current &&\n !ref.current.contains(event.target as Node)\n // !FiltersManage.contains(event.target)\n ) {\n const option = { ...item };\n option.toggle_dropdown = false;\n setItem(option);\n setIsToggled(false);\n // props.onUpdateDataFilter(option);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n let choices = checkChoices();\n const [value, setValue] = useState(choices.value);\n const [isListOpen, setIsListOpen] = useState(false);\n const [select, setSelect] = useState(choices);\n\n useEffect(() => {\n if (choices) {\n setSelect(choices);\n }\n }, [choices]);\n\n useEffect(() => {\n if (props.item) {\n const copy = { ...props.item };\n if (filters[copy.name]) {\n _setValue(filters[copy.name].value);\n const choice = copy.choices.filter((c: any) => c.name === filters[copy.name].type)[0];\n setSelect(choice);\n copy.sub_label = `: ${choice.label} \"${filters[copy.name].value}\"`;\n copy.is_active_filter = true;\n } else if (props.activeFilters[copy.name].is_active_filter) {\n copy.is_active_filter = false;\n copy.is_toggled = false;\n _setValue('');\n copy.sub_label = '';\n props.onUpdateDataFilter(copy);\n }\n setItem(copy);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.item, filters]);\n\n //@description Check with have a selected item with a search value\n function checkChoices() {\n let choices = item.choices;\n for (let index = 0; index < choices.length; index++) {\n if (choices[index].value.trim() !== '') {\n return choices[index];\n }\n }\n return choices[0];\n }\n\n //@description Filter by value and type of filter. Then updates the grid\n function handleKeyDown(event: React.KeyboardEvent) {\n if (event.key === 'Enter') {\n onApply();\n }\n }\n\n function onApply() {\n if (value.trim() !== '') {\n if (item.type === 'array_number') {\n if (value.split(',').filter((item: any) => !item.match(/^[0-9]+$/)).length) {\n setError(true);\n return;\n }\n }\n\n if (['array_string', 'ip'].includes(item.type) && ['ips', 'ip_network'].includes(item.name)) {\n const isFullMatch = ['__overlap', '__cidr_contains'].includes(select.name);\n if (!!isFullMatch && !Common.validateIp(value)) {\n setError(true);\n return;\n }\n }\n let copy = { ...item };\n copy.choices.forEach((choice: IFilterGridOption) => {\n if (choice.label === select.label) {\n choice.value = value;\n } else {\n choice.value = '';\n }\n });\n // Added this to close the filter box after apply\n copy.toggle_dropdown = false;\n // filter = `${item.name}${data_dropdown.name}=${data_dropdown.type}`;\n // queryGrid.updateMoreQueryChain(item.name, filter);\n copy.sub_label = `: ${select.label} \"${select.value}\"`;\n copy.is_active_filter = true;\n // const filterType = item.type === 'array_number' ? '__overlap' : select.name;\n // const filter = {\n // [copy.name]: {\n // type: filterType,\n // value: select.value.trim()\n // }\n // };\n const filter = getFiltersServerFormat('stringAndNumber', item, select);\n setItem(copy);\n setIsToggled(false);\n dispatch(addFilter(filter));\n dispatch(addFields([item.name]));\n dispatch(getRows());\n props.onUpdateDataFilter(copy);\n // props.onUpdatedFilterGrid({ ...select, type: value });\n } else {\n setError(true);\n }\n }\n\n //@description Closes the drop-down menu\n function onCancel() {\n const copy = { ...item };\n copy.toggle_dropdown = false;\n setItem(copy);\n setIsToggled(false);\n // props.onUpdateDataFilter(props.item);\n }\n\n function onselectItem(option: IFilterGridOption) {\n setSelect(option);\n let input: HTMLElement | null = document.getElementById('FilterGrid-input_text');\n input?.focus();\n setIsListOpen(!isListOpen);\n }\n\n const _setValue = (_value: string) => {\n if (['number'].includes(props.item.type) && _value && !_value.match(/^[-0-9]+$/)) {\n return;\n }\n\n if (['array_number'].includes(props.item.type) && _value && !_value.match(/^[,0-9]+$/)) {\n return;\n }\n\n if (props.item.type === 'ip' && _value && !_value.match(/^[0-9]+[./]?/)) {\n return;\n }\n\n setError(false);\n setValue(_value);\n };\n\n return (\n <>\n setIsToggled(!isToggled)}\n onChangeData={props.onUpdateDataFilter}\n />\n {isToggled && (\n
    \n
    setIsListOpen(!isListOpen)}>\n
    {select.label}
    \n \n
    \n\n {isListOpen && (\n
    \n {item.choices.map((option: IFilterGridOption, key: number) => (\n
    onselectItem(option)}>\n {option.label}\n
    \n ))}\n
    \n )}\n\n
    \n _setValue(value)}\n placeholder=\"Type..\"\n />\n
    \n
    \n \n \n
    \n
    \n )}\n \n );\n}\n","import { IFilters } from 'common/components/grid/components/gridUtilities/interface';\nimport { IChoices, IColumnPicker } from 'common/interfaces/interface';\nimport { Common } from 'common/services/common.service';\nimport {\n FILTER_DATE,\n FILTER_STRING,\n FILTER_NUMBER,\n FILTER_ARRAY_STRING,\n FILTER_IP,\n FILTER_ARRAY_NUMBER\n} from '../config';\nexport const FiltersManage = {\n //@param: list = list of Column Picker\n //@description: Creates the data to component a filter\n initFilterData(list: IColumnPicker[]): IFilters[] {\n list = Common.cloneData(list);\n let options: IFilters[] = [];\n list.forEach((item: IColumnPicker) => {\n if (!item.is_group) {\n options.push(FiltersManage.itemFilter(item));\n } else {\n item.child.forEach((item: IColumnPicker) => {\n options.push(FiltersManage.itemFilter(item));\n });\n }\n });\n return options;\n },\n\n itemFilter(item: IFilters) {\n FiltersManage.addFilters(item);\n return {\n ...item,\n sub_label: [],\n is_toggled: false,\n clear_selection: false,\n is_active_filter: false,\n toggle_dropdown: false\n };\n },\n\n //@description: Adding filters by filter type\n addFilters(item: IFilters) {\n if (item.choices_type === 'multi_choice') {\n item.filter_type = 'multiple_choice';\n } else if (['date', 'datetime'].includes(item.type)) {\n item.filter_type = 'date';\n item.choices = Common.cloneData(FILTER_DATE);\n } else if (item.choices_type === 'radio' || item.type === 'radio') {\n item.filter_type = 'radio';\n } else if (item.choices.length === 0) {\n if (item.type === 'string') {\n item.filter_type = 'stringAndNumber';\n item.choices = Common.cloneData(FILTER_STRING);\n } else if (item.type === 'ip') {\n item.filter_type = 'stringAndNumber';\n item.choices = Common.cloneData(FILTER_IP);\n } else if (item.type === 'array_string' || item.type === 'rbac_groups' || item.type === 'count_info_panel') {\n item.filter_type = 'stringAndNumber';\n item.choices = Common.cloneData(FILTER_ARRAY_STRING);\n } else if (item.type === 'array_number') {\n item.filter_type = 'stringAndNumber';\n item.choices = Common.cloneData(FILTER_ARRAY_NUMBER);\n } else if (item.type === 'spinner' || item.type === 'string_with_highlight') {\n item.filter_type = 'stringAndNumber';\n item.choices = Common.cloneData(FILTER_STRING);\n } else {\n item.filter_type = 'stringAndNumber';\n item.choices = Common.cloneData(FILTER_NUMBER);\n }\n }\n },\n //@description: Filter mapping\n //@return An array of labels display in the title of a drop-down menu And an array of names (filter parameter) for BE\n mapMultipleChoiceFilter(data: IChoices[]) {\n let labels: string[] = [];\n let names: string[] = [];\n data\n .filter((param: IChoices) => param.is_toggled)\n .forEach((item: IChoices) => {\n labels.push(item.label);\n names.push(item.name === null ? Common.getEmptyValue() : item.name);\n });\n return { labels, names };\n },\n //@description: Check if an element is a child of a parent dropdownHeader\n contains(child: any) {\n let parent: any = document.querySelector('#dropdownHeader-scope');\n return parent === child || parent.contains(child);\n }\n};\n","import './NoFilterOptions.scss';\n\nexport function NoFilterOptions(props: any) {\n return (\n
    \n \"None\"\n No Filter Options\n
    \n );\n}\n","import { useEffect, useState } from 'react';\nimport './Search.scss';\n\ninterface ISearchProps {\n onChange: (input: string) => void;\n placeholder?: boolean;\n}\n\nexport function Search(props: ISearchProps) {\n const [search, setSearch] = useState('');\n\n useEffect(() => {\n props.onChange(search.trim().toLowerCase());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [search]);\n\n return (\n
    \n \"Search\"\n setSearch(e.target.value)}\n />\n
    \n );\n}\n","import { IconRisk } from 'common/components/Icons/IconRisk/IconRisk';\nimport { Checkbox } from 'common/components/Icons/IconCheckbox/IconCheckbox';\nimport './filterMultipleChoice.scss';\nimport { IFilters } from 'common/components/grid/components/gridUtilities/interface';\nimport { FiltersManage } from '../services/FiltersManage';\nimport { Common } from 'common/services/common.service';\nimport { useRef, useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { addFields, addFilter, getRows, removeFilter } from 'features/GridSlice';\nimport { AppDispatch } from 'app/store';\nimport { DropdownHeader } from '../dropdownHeader/DropdownHeader';\nimport { IChoices } from 'common/interfaces/interface';\nimport { Flag } from '../../../../../Flag/Flag';\nimport { NoFilterOptions } from 'common/components/NoFilterOptions/NoFilterOptions';\nimport classNames from 'classnames';\nimport { Search } from 'common/components/Search/Search';\nimport { SelectAll } from 'common/components/SelectAll/SelectAll';\nimport { getFiltersServerFormat } from 'utils/filters';\n\ninterface IFilterMultipleChoice {\n item: IFilters;\n onUpdateDataFilter: (item: IFilters) => void;\n activeFilters: any;\n // onUpdatedFilterGrid: (params: any) => void;\n}\n\nexport function FilterMultipleChoice(props: IFilterMultipleChoice) {\n const ref = useRef(null);\n const [item, setItem] = useState(props.item);\n const [isToggled, setIsToggled] = useState(false);\n const dispatch: AppDispatch = useDispatch();\n const { filters, loading } = useSelector((state: any) => state.grid);\n const [searchInput, setSearchInput] = useState('');\n\n //@param: event\n //@description: Hides the component\n const handleClickOutside = (event: Event) => {\n if (\n ref.current &&\n !ref.current.contains(event.target as Node)\n // !FiltersManage.contains(event.target)\n ) {\n // const option = { ...item };\n // option.toggle_dropdown = false;\n setIsToggled(false);\n // props.onUpdateDataFilter(option);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n useEffect(() => {\n const copy = { ...props.item };\n copy.choices = copy.choices.map((option: IFilters) => {\n return { ...option, visible: option.label.toLowerCase().includes(searchInput) };\n });\n setItem(copy);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchInput]);\n\n useEffect(() => {\n if (props.item) {\n const copy = { ...props.item };\n if (filters[copy.name]) {\n copy.is_active_filter = true;\n const values = filters[copy.name].value.split(',');\n copy.choices.forEach((choice: IChoices) => {\n if (!choice.name && values.includes(Common.getEmptyValue())) {\n choice.is_toggled = true;\n } else if (choice.name !== null && choice.name.toString() && values.includes(choice.name.toString())) {\n choice.is_toggled = true;\n } else {\n choice.is_toggled = false;\n }\n });\n let { labels } = FiltersManage.mapMultipleChoiceFilter(copy.choices);\n copy.sub_label = labels;\n } else if (props.activeFilters[copy.name].is_active_filter) {\n copy.is_active_filter = false;\n copy.is_toggled = false;\n copy.choices.forEach((choice: IChoices) => {\n choice.is_toggled = false;\n });\n copy.sub_label = '';\n props.onUpdateDataFilter(copy);\n //\n }\n setItem(copy);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n //@param: item = item of Filter\n //@description: Inserts an icon according to the type of information. Just in case you need to put an icon\n function typeIcon(item: IFilters) {\n switch (props.item.type) {\n case 'risk':\n return ;\n case 'grade':\n case 'result':\n return ;\n case 'country':\n return ;\n }\n }\n\n //@param: item = item of Filter\n //@param: index = item of Filter\n //@description: Update the filter data\n function updateOption(option: IFilters, index: number, override?: boolean) {\n let copy = { ...option };\n if (((searchInput && option.visible) || !searchInput) && override !== undefined) {\n copy.is_toggled = override;\n } else if (override === undefined) {\n copy.is_toggled = !copy.is_toggled;\n }\n let allData = { ...item };\n allData.is_active_filter = true;\n allData.choices[index] = copy;\n let { labels, names } = FiltersManage.mapMultipleChoiceFilter(allData.choices);\n allData.sub_label = labels;\n\n const filter = getFiltersServerFormat('multiple_choice', item, names);\n\n if (copy.is_toggled) {\n dispatch(addFilter(filter));\n dispatch(addFields([item.name]));\n } else {\n if (allData.choices.filter((c: IFilters) => c.is_toggled).length === 0) {\n dispatch(removeFilter(item.name));\n allData.is_active_filter = false;\n allData.sub_label = '';\n } else {\n dispatch(addFilter(filter));\n }\n }\n if (override === undefined || index === allData.choices.length - 1) {\n dispatch(getRows());\n props.onUpdateDataFilter(allData);\n }\n\n // props.onUpdateDataFilter(allData);\n // props.onUpdatedFilterGrid(allData.choices);\n }\n\n const isSomeSelected = (): boolean => {\n return item.choices.some((choice: IFilters) => choice.is_toggled);\n };\n\n const isAllSelected = (): boolean => {\n return item.choices.every((choice: IFilters) => choice.is_toggled);\n };\n\n const selectAll = () => {\n item.choices.forEach((choice: IFilters, index: number) => {\n updateOption(choice, index, true);\n });\n };\n\n const unselectAll = () => {\n item.choices.forEach((choice: IFilters, index: number) => {\n updateOption(choice, index, false);\n });\n };\n\n // if (!item.is_active_filter && !item.is_default_filter) {\n // return null;\n // }\n\n return (\n <>\n setIsToggled(!isToggled)}\n onChangeData={props.onUpdateDataFilter}\n // onUpdateFilterGrid={props.onUpdateFilterGrid}\n />\n {isToggled && (\n
    \n {!!item.choices.length && }\n {!!item.choices.length && (\n \n )}\n
    \n {item.choices.length ? (\n item.choices.map((option: IFilters, key: number) => (\n updateOption(option, key)}\n data-testid={option.label}\n >\n \n {typeIcon(option)}\n
    {option.label}
    \n
    \n ))\n ) : (\n \n )}\n
    \n \n )}\n \n );\n}\n","import { Input } from 'common/components/Input/Input';\nimport { Button } from '@mui/material';\nimport { useState } from 'react';\nimport './moreOptions.scss';\nimport { Checkbox } from 'common/components/Icons/IconCheckbox/IconCheckbox';\nimport { IFilters, IMoreOptions } from 'common/components/grid/components/gridUtilities/interface';\nimport { useComponentVisible } from 'common/hooks/useComponentVisible';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { addFields, getRows, removeFilter } from 'features/GridSlice';\nimport { AppDispatch } from 'app/store';\nimport { useDispatch } from 'react-redux';\nimport { IChoices } from 'common/interfaces/interface';\n\nexport function MoreOptions(props: IMoreOptions) {\n const [search, setNewSearch] = useState('');\n const { ref, isComponentVisible, setIsComponentVisible } = useComponentVisible(false);\n const dispatch: AppDispatch = useDispatch();\n //@param: item = item of Filter\n //@description: Update the filter data\n function handleChange(item: IFilters) {\n const option = { ...item };\n option.is_toggled = !option.is_toggled;\n if (option.is_toggled) {\n ColumnsManage.showSpecificColumns(props.gridRef, props.columns, [option.name]);\n dispatch(addFields([option.name]));\n dispatch(getRows());\n } else {\n option.is_active_filter = false;\n option.choices = option.choices.map((choice: IChoices) => {\n return { ...choice, is_toggled: false };\n });\n dispatch(removeFilter(option.name));\n ColumnsManage.hideSpecificColumns(props.gridRef, props.columns, [option.name]);\n }\n if (props.limit !== 15 || !option.is_toggled) {\n props.onChangeData(option);\n } else {\n alert('Limited to 15 filters');\n }\n if (!option.is_toggled) {\n dispatch(getRows());\n }\n }\n\n const onClick = (): void => {\n setIsComponentVisible(!isComponentVisible);\n setNewSearch('');\n props.onToggle();\n };\n\n return (\n
    \n \n\n {isComponentVisible && (\n
    \n
    \n setNewSearch(e)} placeholder=\"Search\" />\n
    \n
    \n
    \n {props.options\n .filter(\n (option: any) =>\n option.label.toLowerCase().includes(search.toLowerCase()) &&\n !option.is_default_filter &&\n option.is_filterable\n )\n .map((option: any, key: number) => (\n
    \n
    handleChange(option)}>\n \n
    {option.label}
    \n
    \n
    \n ))}\n
    \n
    \n
    \n )}\n
    \n );\n}\n","import './filterRadioButton.scss';\nimport { IFilters } from 'common/components/grid/components/gridUtilities/interface';\nimport { useRef, useEffect, useState } from 'react';\nimport { IconRadioButton } from 'common/components/Icons/IconRadioButton/IconRadioButton';\nimport { IChoices } from 'common/interfaces/interface';\nimport { DropdownHeader } from '../dropdownHeader/DropdownHeader';\nimport { AppDispatch } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { addFields, addFilter, getRows, removeFields } from 'features/GridSlice';\nimport { NoFilterOptions } from 'common/components/NoFilterOptions/NoFilterOptions';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { getFiltersServerFormat } from 'utils/filters';\n\ninterface IFilterRadioButton {\n item: IFilters;\n // columnPicker: IColumnPicker[];\n // hideOrShowColumnsGrid: (params: any) => void;\n onUpdateDataFilter: (item: IFilters) => void;\n gridRef?: any;\n columns?: any;\n activeFilters: any;\n // onUpdatedFilterGrid: (params: any) => void;\n}\n\nexport function FilterRadioButton(props: IFilterRadioButton) {\n const ref = useRef(null);\n const [item, setItem] = useState(props.item);\n const [isToggled, setIsToggled] = useState(false);\n const dispatch: AppDispatch = useDispatch();\n const { filters } = useSelector((state: any) => state.grid);\n //@param: event\n //@description: Hides the component\n const handleClickOutside = (event: Event) => {\n // debugger\n if (\n ref.current &&\n !ref.current.contains(event.target as Node)\n // !FiltersManage.contains(event.target)\n ) {\n const option = { ...item };\n option.toggle_dropdown = false;\n setItem(option);\n setIsToggled(false);\n // props.onUpdateDataFilter(option);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n const copy = { ...props.item };\n if (filters[copy.name]) {\n let index: number = -1;\n copy.is_active_filter = true;\n copy.choices.forEach((c: IChoices, i: number) => {\n if (c.name === filters[copy.name].value) {\n c.is_toggled = true;\n index = i;\n } else {\n c.is_toggled = false;\n }\n });\n if (index > -1) {\n copy.sub_label = `: ${copy.choices[index].label}`;\n }\n } else if (props.activeFilters[copy.name].is_active_filter) {\n copy.is_active_filter = false;\n copy.is_toggled = false;\n copy.choices.forEach((choice: IChoices) => {\n choice.is_toggled = false;\n });\n copy.sub_label = '';\n props.onUpdateDataFilter(copy);\n }\n setItem(copy);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n // useEffect(() => {\n // if (isInitialMount.current) {\n // isInitialMount.current = false;\n // props.item.choices.forEach((c: IChoices, i: number) => {\n // if (c.is_toggled) {\n // onSelected(i)\n // return true\n // }\n // })\n // }\n // })\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n function onSelected(index: number) {\n let selected: any;\n let copy = { ...item };\n copy.choices.forEach((option: IChoices, i: number) => {\n if (index !== i) {\n option.is_toggled = false;\n } else {\n selected = option;\n option.is_toggled = true;\n }\n });\n copy.sub_label = `: ${selected.label}`;\n copy.is_active_filter = true;\n // const filter = {\n // [copy.name]: {\n // type: '',\n // value: selected.name\n // }\n // };\n const filter = getFiltersServerFormat('radio', copy, selected);\n if (props.columns) {\n if (selected.remove_fields.length && selected.name === 0) {\n dispatch(removeFields(selected.remove_fields));\n ColumnsManage.hideSpecificColumns(props.gridRef, props.columns, selected.remove_fields);\n } else {\n dispatch(addFields(selected.add_fields));\n ColumnsManage.showSpecificColumns(props.gridRef, props.columns, selected.add_fields);\n }\n }\n setItem(copy);\n dispatch(addFilter(filter));\n dispatch(addFields([copy.name]));\n dispatch(getRows());\n props.onUpdateDataFilter(copy);\n }\n\n return (\n <>\n setIsToggled(!isToggled)}\n onChangeData={props.onUpdateDataFilter}\n />\n {isToggled && (\n
    \n
    \n {item.choices.length ? (\n item.choices.map((option: IChoices, key: number) => (\n
    \n
    \n {\n onSelected(key);\n }}\n />\n
    \n {\n onSelected(key);\n }}\n >\n {option.label}\n
    \n
    \n ))\n ) : (\n \n )}\n
    \n \n )}\n \n );\n}\n","import React, { useEffect } from 'react';\nimport { IChoices } from 'common/interfaces/interface';\nimport { IFilters } from '../interface';\nimport { FilterDate } from './filterDate/FilterDate';\nimport { FilterFreeText } from './filterFreeText/FilterFreeText';\nimport { FilterMultipleChoice } from './filterMultipleChoice/FilterMultipleChoice';\nimport { FiltersManage } from './services/FiltersManage';\nimport { MoreOptions } from './moreOptions/MoreOptions';\nimport { FilterRadioButton } from './filterRadioButton/FilterRadioButton';\nimport { AppDispatch } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n addFields,\n clearAllFilters,\n getRows,\n setfiltersResetDefault,\n setSelectFiltersHard,\n addFilter\n} from 'features/GridSlice';\nimport { GridApi, GridColDef } from '@mui/x-data-grid-pro';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { IReduxState } from 'app/store';\nimport { setColumnPicker } from 'features/columnPickerSlice';\nimport { Common } from 'common/services/common.service';\n\nimport './filtersWrapper.scss';\n\ninterface IFiltersWrapper {\n hideOrShowColumnsGrid: () => void;\n isMoreButton: boolean;\n gridRef?: GridApi;\n columns?: GridColDef[];\n}\n\nexport function FiltersWrapper(props: IFiltersWrapper) {\n const { columnPicker } = useSelector((state: IReduxState) => state.columnPicker);\n const [options, setOptions] = React.useState(FiltersManage.initFilterData(columnPicker));\n const [clearFilters, setClearFilters] = React.useState(false);\n\n //Limit filters to 10\n const [LimitFilters, setLimitFilters] = React.useState(0);\n // Added this state object to store all the active filters in a key-value dictionary\n // #TODO - change this to be the main functionality of this section instead of the current approach\n const [activeFilters, setActiveFilters] = React.useState<{ [key: string]: IFilters }>({});\n const dispatch: AppDispatch = useDispatch();\n const { filters } = useSelector((state: any) => state.grid);\n const { filtersResetDefault, selectFiltersHard } = useSelector((state: IReduxState) => state.grid);\n\n useEffect(() => {\n if (!!selectFiltersHard.length) {\n setOptions(FiltersManage.initFilterData(columnPicker));\n setLimitFilters(selectFiltersHard.length);\n\n dispatch(clearAllFilters());\n setDefaultFilter(true);\n selectFiltersHard.forEach((filter: any) => {\n dispatch(addFilter(filter));\n });\n dispatch(addFields(selectFiltersHard.map((filter: any) => Object.keys(filter)[0])));\n dispatch(getRows());\n dispatch(setSelectFiltersHard([]));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectFiltersHard]);\n\n // getting the default filters and store it into the activeFilters dictionary\n const setDefaultFilter = (hardReset: boolean): void => {\n let _defaultFilter: { [key: string]: IFilters } = { ...activeFilters };\n for (const element of options) {\n if (element.is_default_filter || element.is_toggled) {\n element.sub_label = [];\n // element.is_active_filter = false;\n element.choices.forEach((choice: IChoices) => {\n if (hardReset) {\n choice.is_toggled = false;\n }\n });\n _defaultFilter[element.name] = element;\n } else if (Object.keys(filters).includes(element.name)) {\n element.is_toggled = true;\n element.is_active_filter = true;\n _defaultFilter[element.name] = element;\n } else {\n delete _defaultFilter[element.name];\n }\n }\n\n if (hardReset) {\n setClearFilters(false);\n } else {\n if (Object.keys(filters).length) {\n setClearFilters(true);\n }\n }\n\n setActiveFilters(_defaultFilter);\n // FIX: added it to fix the issue of the clear filters, should not display if reset to default\n setTimeout(() => {\n dispatch(setfiltersResetDefault(false));\n }, 500);\n };\n\n useEffect(() => {\n setDefaultFilter(filtersResetDefault);\n if (filtersResetDefault) {\n setClearFilters(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters, filtersResetDefault]);\n\n useEffect(() => {\n if (!!options.length) {\n const copy = Common.cloneData(options);\n dispatch(setColumnPicker(copy));\n }\n }, [dispatch, options]);\n\n function onClearFilters() {\n setOptions(FiltersManage.initFilterData(columnPicker));\n setLimitFilters(0);\n // props.setIsStatusFilter({\n // active: false,\n // count: 0\n // })\n\n dispatch(clearAllFilters());\n dispatch(getRows());\n setDefaultFilter(true);\n setClearFilters(false);\n }\n\n //@param: item = item of Filter\n //@description: Update the filter data\n function onUpdateDataFilter(item: IFilters) {\n let data = [...options];\n let _activeFilters = { ...activeFilters };\n\n for (let index = 0; index < data.length; index++) {\n if (data[index].name === item.name) {\n data[index] = item;\n if (!item.is_default_filter && !item.is_toggled) {\n delete _activeFilters[item.name];\n }\n } else {\n data[index].toggle_dropdown = false;\n _activeFilters[item.name] = item;\n }\n }\n\n const _addFields = item.choices.filter((choice: any) => choice.add_fields?.length)[0];\n if (!item.is_active_filter && _addFields?.add_fields?.length && props.columns) {\n ColumnsManage.showSpecificColumns(props.gridRef, props.columns, _addFields.add_fields);\n dispatch(addFields(_addFields.add_fields));\n }\n\n setActiveFilters(_activeFilters);\n setOptions(data);\n isExistsActiveFilter(data);\n // dispatch(setFiltersColumnPicker(data));\n }\n //@description: Check if there is an active filter\n function isExistsActiveFilter(data: IFilters[]) {\n let count = 0;\n let isActiveFilter = false;\n for (const element of data) {\n if (element.is_toggled || element.is_default_filter) {\n count++;\n }\n if (element.is_active_filter && !filtersResetDefault) {\n isActiveFilter = true;\n }\n }\n\n setLimitFilters(count);\n setClearFilters(isActiveFilter);\n // props.setIsStatusFilter({\n // active: isExistsActiveFilter,\n // count: count,\n // });\n }\n\n //@param: item = item of Filter\n //@description: Replacing Dropdown by filter type\n function replaceDropdown(item: IFilters) {\n switch (item.filter_type) {\n case 'multiple_choice':\n return (\n onUpdatedFilterGrid(e, item)}\n />\n );\n case 'date':\n return (\n onUpdatedFilterGrid(e, item)}\n />\n );\n case 'stringAndNumber':\n return (\n onUpdatedFilterGrid(e, item)}\n />\n );\n case 'radio':\n return (\n onUpdatedFilterGrid(e, item)}\n />\n );\n }\n }\n\n const onToggleMoreOptions = (): void => {\n let data = [...options];\n for (let index = 0; index < data.length; index++) {\n data[index].toggle_dropdown = false;\n }\n setOptions(data);\n };\n\n const getFiltersSortedArray = () => {\n const alwaysSortFirst = 'rbac_groups';\n const filters = Object.values(activeFilters).filter(filter => filter.type !== alwaysSortFirst);\n const sortedFirstFilters = Object.values(activeFilters).filter(filter => filter.type === alwaysSortFirst);\n return Object.values([...sortedFirstFilters, ...filters]);\n };\n\n return (\n
    \n
    \n
    \n
    \n
    \n {activeFilters &&\n getFiltersSortedArray().map((item: IFilters, index: number) => (\n \n {(item.is_default_filter || item.is_toggled) && item.is_filterable && (\n
    {replaceDropdown(item)}
    \n )}\n
    \n ))}\n {props.isMoreButton && clearFilters && (\n
    \n Clear Filters\n +\n
    \n )}\n
    \n {props.isMoreButton && (\n \n )}\n
    \n
    \n
    \n
    \n );\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { Button } from '../Button/Button';\nimport { Input } from '../Input/Input';\nimport { Search } from '../Search/Search';\nimport './AddRemoveTags.scss';\nimport classNames from 'classnames';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { AppLoading } from '../appLoading/appLoading';\nimport { queryBuilder } from '../grid/query-builder.service';\n\ninterface ITagsDropDownProps {\n method: string;\n tags: any;\n ids: number[];\n onClose: () => void;\n apiPath: string;\n identifier: string;\n loadedRows: any[];\n}\n\nexport function AddRemoveTags(props: ITagsDropDownProps) {\n const [allTags, setAllTags] = useState([]);\n const [newTagInput, setNewTagInput] = useState('');\n const [search, setSearch] = useState('');\n const [tagsToAdd, setTagsToAdd] = useState([]);\n const [tagsToRemove, setTagsToRemove] = useState([]);\n const [loading, setLoading] = useState(true);\n const [submitting, setSubmitting] = useState(false);\n const [submitted, setSubmitted] = useState(false);\n const [error, setError] = useState('');\n const ref: any = useRef();\n\n useEffect(() => {\n if (props.method === 'remove') {\n const selectedRowsTags: any = new Set();\n props.loadedRows.forEach((row: any) => {\n if (!props.ids.length) {\n row.tags?.forEach((tag: any) => {\n if (tag.source === 'Custom') {\n selectedRowsTags.add(tag.name);\n }\n });\n }\n if (props.ids.includes(row[props.identifier])) {\n row.tags?.forEach((tag: any) => {\n if (tag.source === 'Custom') {\n selectedRowsTags.add(tag.name);\n }\n });\n }\n });\n setAllTags([...selectedRowsTags]);\n setLoading(false);\n } else {\n setAllTags(\n props.tags.choices\n .filter((tag: any) => tag.source !== 'IONIX')\n .map((_tag: any) => {\n return _tag.name;\n })\n );\n setLoading(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (props.ids.length > 100) {\n setError('Please manually select up to 100 individual rows or use filters to remove tags in bulk');\n }\n }, [props.ids]);\n\n const onSelectTag = (tag: string) => {\n if (submitting) {\n return;\n }\n if (props.method === 'remove') {\n const exists = tagsToRemove.indexOf(tag);\n if (exists > -1) {\n const copy = [...tagsToRemove];\n copy.splice(exists, 1);\n setTagsToRemove(copy);\n } else {\n setTagsToRemove([...tagsToRemove, tag]);\n }\n } else {\n const exists = tagsToAdd.indexOf(tag);\n if (exists > -1) {\n const copy = [...tagsToAdd];\n copy.splice(exists, 1);\n setTagsToAdd(copy);\n } else {\n setTagsToAdd([...tagsToAdd, tag]);\n }\n }\n };\n\n const getListHTML = (): JSX.Element[] => {\n const html: JSX.Element[] = [];\n allTags.forEach((_tag: string) => {\n if (!search || (search && _tag.toLowerCase().includes(search.toLowerCase()))) {\n html.push(\n
  • \n onSelectTag(_tag)}\n >\n {_tag}\n \n
  • \n );\n }\n });\n return html;\n };\n\n const onAddTag = () => {\n if (!allTags.includes(newTagInput) && newTagInput.length > 1) {\n setTagsToAdd([...tagsToAdd, newTagInput]);\n setAllTags([newTagInput, ...allTags]);\n setNewTagInput('');\n }\n };\n\n const handleClickOutside = (event: Event) => {\n if (submitting || loading) {\n return;\n }\n if (ref.current && !ref.current.contains(event.target as Node)) {\n props.onClose();\n }\n };\n\n const submit = () => {\n setSubmitting(true);\n RestApi.setData(\n props.apiPath + 'tags/?' + queryBuilder.getQuery().split('?')[1],\n { ids: props.ids || [], tags: props.method === 'remove' ? tagsToRemove : tagsToAdd },\n props.method === 'remove' ? 'DELETE' : 'POST'\n ).subscribe(\n (response: any) => {\n if (props.method === 'remove') {\n setAllTags(allTags.filter((tag: any) => !tagsToRemove.includes(tag)));\n }\n setNewTagInput('');\n setTagsToAdd([]);\n setTagsToRemove([]);\n setSubmitting(false);\n setSubmitted(true);\n },\n error => {\n setNewTagInput('');\n setTagsToAdd([]);\n setTagsToRemove([]);\n setSubmitting(false);\n }\n );\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n return (\n
    \n {loading && }\n {error ? (\n
    \n \"Warning\"\n
    {error}
    \n
    \n ) : (\n ''\n )}\n \n\n {props.method === 'add' ? (\n
    \n {\n setSubmitted(false);\n setNewTagInput(input);\n }}\n onKeyDown={(event: any) => {\n if (event.key === 'Enter') {\n onAddTag();\n }\n }}\n />\n
    \n ) : (\n ''\n )}\n
    \n {allTags.length === 0 && tagsToAdd.length === 0 ? (\n
    No Available Tags
    \n ) : (\n
      {getListHTML()}
    \n )}\n
    \n {props.method === 'add' ? (\n
    \n
    \n {!!submitting ? (\n \n ) : submitted ? (\n
    \n New tags saved successfully\n
    \n ) : (\n 'Uploading tags may take several minutes'\n )}\n
    \n \n
    \n ) : (\n
    \n
    \n {!!submitting ? (\n \n ) : submitted ? (\n 'Tags removed successfully'\n ) : (\n 'Removing tags may take several minutes'\n )}\n
    \n \n
    \n )}\n
    \n );\n}\n","import './select.scss';\nimport { useState } from 'react';\nimport { IconArrow } from '../Icons/IconArrow/IconArrow';\nimport { AddRemoveTags } from '../AddRemoveTags/AddRemoveTags';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nimport classNames from 'classnames';\nimport { useComponentVisible } from 'common/hooks/useComponentVisible';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { env } from 'env';\nimport { queryBuilder } from '../grid/query-builder.service';\nimport { Common } from 'common/services/common.service';\n\ninterface IOption {\n IconComponent?: any;\n data?: any;\n label: string;\n ff?: string;\n}\n\ninterface ISelect {\n options: IOption[];\n header: string;\n apiPath: string;\n callbackChange: (label: IOption) => void;\n ids: number[];\n identifier: string;\n loadedRows: any[];\n}\n\nexport function Select(props: ISelect) {\n const [showTagsDropDown, setShowTagsDropDown] = useState(false);\n const [tagsMethod, setTagsMethod] = useState('');\n const { columnPicker } = useSelector((state: IReduxState) => state.columnPicker);\n const { ref, isComponentVisible, setIsComponentVisible } = useComponentVisible(false);\n\n const flags: any = useFlags();\n\n function handleChange() {\n if (isComponentVisible) {\n setShowTagsDropDown(false);\n }\n setIsComponentVisible(!isComponentVisible);\n }\n\n function onChange(item: IOption) {\n const isMsspAccount = Common.getParamFromUrl('account');\n if (item.label === 'Add Tags') {\n setTagsMethod('add');\n setShowTagsDropDown(true);\n } else if (item.label === 'Remove Tags') {\n setTagsMethod('remove');\n setShowTagsDropDown(true);\n } else if (item.label === 'Export Discovery Evidence') {\n if (props.ids.length) {\n window.location.href = Common.AddMsspAccountIfNeeded(\n `${env.REACT_APP_BASE_URL}discovery/org-assets/export-discovery-evidence/?asset__in=${props.ids.join(\n ','\n )}&format=csv`\n );\n } else {\n window.location.href = `${env.REACT_APP_BASE_URL}discovery/org-assets/export-discovery-evidence/?${\n queryBuilder.getQuery().split('?')[1]\n }&format=csv${isMsspAccount ? `&account=${isMsspAccount}` : ''}`;\n }\n } else {\n setIsComponentVisible(false);\n props.callbackChange(item);\n }\n }\n\n return (\n
    \n
    \n
    {props.header}
    \n \n
    \n {showTagsDropDown && (\n c.name === 'tags')[0]}\n ids={props.ids || []}\n onClose={() => setShowTagsDropDown(false)}\n apiPath={props.apiPath}\n identifier={props.identifier}\n loadedRows={props.loadedRows}\n />\n )}\n {isComponentVisible && (\n
    \n {props.options\n .filter((option: IOption) => (option.ff && flags[option.ff]) || !option.ff)\n .map((item: IOption, key: number) => {\n return (\n
    \n {item.IconComponent && }\n
    onChange(item)}>\n {item.label}\n
    \n
    \n );\n })}\n
    \n )}\n
    \n );\n}\n","import React, { useEffect } from 'react';\nimport { Input } from 'common/components/Input/Input';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getRows, inputSearch } from 'features/GridSlice';\nimport { AppDispatch } from 'app/store';\n\nexport function GlobalSearch() {\n const { search } = useSelector((state: any) => state.grid);\n const [searchText, setSearchText] = React.useState(search || '');\n const dispatch: AppDispatch = useDispatch();\n\n useEffect(() => {\n if (search) {\n setSearchText(search);\n } else {\n setSearchText('');\n }\n }, [search]);\n\n function handleKeyDown(event: React.KeyboardEvent) {\n if (event.key === 'Enter') {\n dispatch(inputSearch(searchText.trim()));\n dispatch(getRows());\n }\n }\n\n function cleanText() {\n setSearchText('');\n dispatch(inputSearch(''));\n dispatch(getRows());\n }\n\n function handleChange(value: string) {\n setSearchText(value);\n if (value === '') {\n cleanText();\n }\n }\n\n return (\n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { MultiSelect } from 'common/components/multiSelect/MultiSelect';\nimport { Image } from 'common/components/image/Image';\nimport { FiltersWrapper } from './filtersWrapper/FiltersWrapper';\n// import { IconArrow } from \"common/components/Icons/IconArrow/IconArrow\";\nimport { Button as ViewsButton } from 'common/components/Button/Button';\nimport { Button } from '@mui/material';\nimport { Select } from 'common/components/select/Select';\n// import { IconCopy } from \"common/components/Icons/IconCopy/IconCopy\";\nimport { GlobalSearch } from './globalSearch/GlobalSearch';\n// import { ToolTip } from \"common/components/toolTip/toolTip\";\nimport { useSelector } from 'react-redux';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Tooltip from '@mui/material/Tooltip';\n\nimport './gridUtilities.scss';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { Common } from 'common/services/common.service';\n// import classNames from 'classnames';\n// import { RowCount } from '../rowCount/RowCount';\n\nexport function GridUtilities(props: any) {\n const [printPDF, setPrintPDF] = useState(false);\n const [isPDFLoading, setIsPDFLoading] = useState(false);\n const { count: rowsCount, initialPath, filters, search, order } = useSelector((state: any) => state.grid);\n const { globalFilter, viewSelected } = useSelector((state: any) => state.general);\n const { showColumnPicker } = useSelector((state: any) => state.columnPicker);\n let actionItemsPDFUrl = `${initialPath}detailed/?`;\n\n const flags = useFlags();\n\n // const [toggle, setToggle] = React.useState(false);\n // const [isStatusFilter, setIsStatusFilter] = React.useState({\n // active: false,\n // count: 0,\n // });\n\n // function onToggleGridUtilities() {\n // setToggle(!toggle);\n // }\n\n // function addCalssExpandOrReduce() {\n // return toggle ? \"gridUtilities-open\" : \"gridUtilities-close\";\n // }\n\n useEffect(() => {\n const doWhenMessage = ({ data }: { data: any }) => {\n if (data === 'ActionItemsPDFPrintReady') {\n document.title = 'IONIX';\n setIsPDFLoading(false);\n setPrintPDF(false);\n }\n };\n window.addEventListener('message', doWhenMessage);\n return () => {\n window.removeEventListener('message', doWhenMessage);\n };\n }, []);\n\n function isDisabled() {\n return props.selectionModel.length === 0 ? 'gridUtilities-button-selection-disabled' : '';\n }\n\n function onSelectionChange() {\n props.onSelectionChange({\n ids: props.selectionModel,\n // originalIds: props.selectionRows,\n rows: props.loadedRows,\n apiGrid: props.apiGrid\n });\n }\n\n function callbackSelect(item: any) {\n props.onSelectionChange({\n ids: props.selectionModel,\n // originalIds: props.selectionRows,\n rows: props.loadedRows,\n moreData: item,\n apiGrid: props.apiGrid\n });\n }\n\n const AddedActions = props.addedActions;\n\n const handlePrintPDFClick = () => {\n document.title = initialPath.includes('/open') ? 'IONIX - Open Action Items' : 'IONIX - Close Action Items';\n setIsPDFLoading(true);\n setPrintPDF(true);\n };\n\n if (!!filters) {\n Object.keys(filters).forEach((item: any, index: number) => {\n actionItemsPDFUrl +=\n item +\n (filters[item].type !== '' ? filters[item].type : '') +\n '=' +\n filters[item].value +\n (Object.keys(filters).length - 1 === index ? '' : '&');\n });\n }\n if (!!search) {\n actionItemsPDFUrl += `${!!filters ? '&' : ''}search=${search}`;\n }\n if (!!order) {\n actionItemsPDFUrl += `${!!filters || !!search ? '&' : ''}ordering=${order}`;\n }\n if (!!globalFilter) {\n actionItemsPDFUrl += `${!!filters || !!search || !!order ? '&' : ''}group=${globalFilter}`;\n }\n\n const msspAccount = Common.getParamFromUrl('account');\n\n if (msspAccount) {\n actionItemsPDFUrl += `${!!filters || !!search || !!order || !!globalFilter ? '&' : ''}account=${msspAccount}`;\n }\n\n let PDFTooltip;\n if (rowsCount > 1000) {\n PDFTooltip = 'Can be printed up to 1000 action items';\n } else if (rowsCount === 0) {\n PDFTooltip = '';\n } else {\n PDFTooltip = 'Print PDF';\n }\n\n const shouldShowSavedViews = () => {\n return (\n flags.isSavedViews &&\n props.savedViewsJson &&\n props.savedViewsJson[props.page] &&\n props.savedViewsJson[props.page][props.pageTab]\n );\n };\n return (\n
    \n {printPDF && (\n \n )}\n
    \n
    \n {shouldShowSavedViews() && (\n \n )}\n
    \n \n
    \n \n
    \n
    \n {props.buttonSelectionText && (\n \n )}\n {showColumnPicker && (\n \n )}\n {props.elementSelect && (\n \n )}\n {props.addedActions ? : ''}\n
    \n {props.downloadCSVPath && props.isCSVDownloadable && (\n \n \n \"CSV\"\n {/* */}\n \n \n )}\n {props.isActionItemsPDFDownloadable && (\n <>\n {isPDFLoading && (\n
    \n \n
    \n )}\n {!isPDFLoading && (\n \n \n 1000 || rowsCount === 0 ? 'diabled-icon-button' : ''\n }`}\n >\n \"PDF\"\n
    \n \n \n )}\n \n )}\n {/* \"Tag\" */}\n {/* */}\n
    \n
    \n
    \n {/* {(isStatusFilter.active || isStatusFilter.count >= 3) && (\n \n \n \n )} */}\n \n );\n}\n","import './actionItemsIcon.scss';\nexport function ActionItemsIcon(props: any) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import './technologies.scss';\nexport function Technologies(props: any) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import './defaultIcon.scss';\nexport function DefaultIcon(props: any) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import { Text } from '@cyberpion/cyberpion-ui';\nimport './NoIssuesIcon.scss';\nimport classNames from 'classnames';\n\nconst iconMiddle = (\n \n \n \n \n);\n\nexport function NoIssuesIcon(props: any) {\n return (\n
    \n {!props.subType && (\n \n \n \n \n \n \n \n \n \n )}\n
    \n
    {iconMiddle}
    \n \n {props.text || 'No information to present'}\n \n
    \n
    \n );\n}\n","import { ActionItemsIcon } from './components/actionItemsIcon/ActionItemsIcon';\nimport { Technologies } from './components/technologies/Technologies';\nimport { DefaultIcon } from './components/defaultIcon/DefaultIcon';\nimport { NoIssuesIcon } from './components/NoIssuesIcon/NoIssuesIcon';\nimport classNames from 'classnames';\n\nimport './manageNotData.scss';\nexport function ManageNotData(props: any) {\n function switchComponents() {\n switch (props.type) {\n case 'action_items':\n return ;\n case 'technologies':\n return ;\n case 'org_score':\n return ;\n case 'single_asset':\n return ;\n default:\n return ;\n }\n }\n\n return (\n \n
    {switchComponents()}
    \n
    \n \n );\n}\n","import queryString from 'query-string';\n\ninterface IQuery {\n [key: string]: any;\n}\n\ninterface IFilter {\n type: string;\n value: string;\n}\n\ninterface IFilters {\n [key: string]: IFilter;\n}\n\nclass UrlToStateConverter {\n query: IQuery;\n\n getSearch() {\n this.query = queryString.parse(window.location.search);\n return this.query.search;\n }\n\n getSort() {\n this.query = queryString.parse(window.location.search);\n return this.query.ordering;\n }\n\n getGroup() {\n this.query = queryString.parse(window.location.search);\n return this.query.group;\n }\n\n getAccount() {\n this.query = queryString.parse(window.location.search);\n return this.query.account;\n }\n\n getFields() {\n this.query = queryString.parse(window.location.search);\n return this.query.fields;\n }\n\n getFilters() {\n this.query = queryString.parse(window.location.search);\n if (!this.query.filters) {\n return {};\n }\n const filters: IFilters = {};\n const parsedQuery = JSON.parse(this.query.filters);\n for (const filter in parsedQuery) {\n const [filter_name, filter_type] = filter.split('__');\n const filter_value = parsedQuery[filter];\n filters[filter_name] = { type: `${filter_type ? `__${filter_type}` : ''}`, value: filter_value };\n }\n return filters;\n }\n\n setQueryString(filters: IFilters, search: string, order: string, group: string, fields: string) {\n const url = new URL(window.location.href);\n\n if (Object.keys(filters).length) {\n const obj: IQuery = {};\n for (const filter in filters) {\n obj[`${filter}${filters[filter].type}`] = filters[filter].value;\n }\n url.searchParams.set('filters', JSON.stringify(obj));\n } else {\n url.searchParams.delete('filters');\n }\n\n if (search) {\n url.searchParams.set('search', search);\n } else {\n url.searchParams.delete('search');\n }\n\n if (fields) {\n url.searchParams.set('fields', fields);\n } else {\n url.searchParams.delete('fields');\n }\n\n if (order) {\n url.searchParams.set('ordering', order);\n } else {\n url.searchParams.delete('ordering');\n }\n\n if (group) {\n url.searchParams.set('group', group);\n } else {\n url.searchParams.delete('group');\n }\n window.history.replaceState(null, '', url);\n }\n}\n\nexport const urlToStateConverter = new UrlToStateConverter();\n","import { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { useHistory } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport {\n clearAllFilters,\n getRows,\n inputSearch,\n removeAllRows,\n setFields,\n setfiltersResetDefault,\n sort\n} from 'features/GridSlice';\nimport { selectView } from 'features/GeneralSlice';\n\nimport './SavedViews.scss';\n\nexport function SavedViews(props: any) {\n const [open, setOpen] = useState(false);\n const dispatch = useDispatch();\n const { viewSelected } = useSelector((state: any) => state.general);\n\n const history = useHistory();\n\n useEffect(() => {\n setOpen(props.open);\n }, [props.open]);\n\n useEffect(() => {\n return () => {\n dispatch(selectView(-1));\n };\n }, [dispatch]);\n\n const isEdited = (path: string) => {\n const _isEdited =\n decodeURI(path.replaceAll(\"'\", '\"')) !==\n decodeURI(\n window.location.pathname + window.location.search.replace(/&group=.*&/, '&').replace(/&account=.*&/, '&')\n );\n props.onEdit(_isEdited);\n return _isEdited;\n };\n\n const viewOnClick = (path: string, index: number) => {\n if (viewSelected === index) {\n return;\n }\n\n dispatch(sort(''));\n dispatch(clearAllFilters());\n dispatch(inputSearch(''));\n dispatch(setFields([]));\n // dispatch(setGlobalFilter(''));\n dispatch(selectView(index));\n history.push(path.replaceAll(\"'\", '\"'));\n };\n\n const backToDefault = (ev: React.MouseEvent) => {\n if (viewSelected < 0) {\n return;\n }\n dispatch(selectView(-1));\n dispatch(setfiltersResetDefault(true));\n dispatch(removeAllRows());\n dispatch(getRows());\n dispatch(clearAllFilters());\n props.onEdit(false);\n history.push(props.data[props.page][props.tab].default.replaceAll(\"'\", '\"'));\n };\n\n const resetOnClick = (view: any) => (ev: React.MouseEvent) => {\n ev.stopPropagation();\n dispatch(removeAllRows());\n props.onEdit(false);\n history.push(view.path.replaceAll(\"'\", '\"'));\n };\n\n if (!props.data[props.page] || !props.data[props.page][props.tab]) {\n return null;\n }\n\n return (\n \n
    \n Saved Views\n -1 ? 'active' : ''} onClick={backToDefault}>\n Clear View\n \n
    \n
    \n
    \n
      \n {props.data[props.page][props.tab].views.map((view: any, index: number) => {\n return (\n viewOnClick(view.path, index)}\n className={classNames({ selected: viewSelected === index })}\n >\n
      \n
      \n \"Ionix\"\n
      \n
      {view.label}
      \n
      \n {viewSelected === index && isEdited(view.path) && (\n
      \n {viewSelected === index && isEdited(view.path) &&
      Edited
      }\n \n Reset\n \n
      \n )}\n \n );\n })}\n
    \n
    \n
    \n \n );\n}\n","import { useState, useRef, useEffect } from 'react';\nimport './grid.scss';\nimport {\n DataGridPro,\n GridApi,\n GridRowParams,\n GridColumnResizeParams,\n GridSortModel,\n GridSelectionModel\n} from '@mui/x-data-grid-pro';\nimport { GridUtilities } from './components/gridUtilities/GridUtilities';\nimport { IGrid } from './interface';\nimport { queryBuilder } from './query-builder.service';\nimport { ManageNotData } from '../manageNotData/ManageNotData';\nimport { AppLoading } from '../appLoading/appLoading';\nimport { useSelector, useDispatch } from 'react-redux';\nimport {\n addNextPageRows,\n getRows,\n getNextPage,\n sort,\n inputSearch,\n addFilter,\n setQueryString,\n resetCount,\n setFields,\n clearAllFilters\n} from 'features/GridSlice';\nimport { urlToStateConverter } from 'common/services/UrlToStateConverter.service';\nimport { ColumnsManage } from './columnsManage';\nimport { SavedViews } from './components/SavedViews/SavedViews';\nimport InfoPanel from './components/InfoPanel/InfoPanel';\nimport { RowCount } from './components/rowCount/RowCount';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { useLocation } from 'react-router-dom';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { IReduxState } from 'app/store';\nimport { setGlobalFilter, setIsOpenSaveViews } from 'features/GeneralSlice';\nimport { resetInfoPanel } from 'features/InfoPanelSlice';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Common } from 'common/services/common.service';\n\nlet PROMISE: any;\n\nexport function Grid(props: IGrid) {\n const apiRef: any = useRef();\n const [selectionModel, setSelectionModel] = useState([]);\n const [isResizing, setIsResizing] = useState(false);\n const [csvDownloadPath, setCsvDownloadPath] = useState('');\n const [savedViewsEdited, setSavedViewsEdited] = useState(false);\n const [savedViewsJson, setSavedViewsJson] = useState({});\n const {\n rows,\n loading,\n nextPageRows,\n nextPath,\n count,\n order,\n filters,\n search,\n fields,\n allowURLChange,\n capturedState,\n isRowMenuActive\n } = useSelector((state: any) => state.grid);\n const { viewSelected, globalFilter, isOpenSavedViews } = useSelector((state: any) => state.general);\n const { filtersResetDefault } = useSelector((state: IReduxState) => state.grid);\n const { isOpenInfoPanel } = useSelector((state: IReduxState) => state.infoPanel);\n const location = useLocation();\n\n const dispatch = useDispatch();\n let mouseUpEventTimer: ReturnType;\n\n const flags = useFlags();\n\n const setMouseUpEvent = (): void => {\n mouseUpEventTimer = setTimeout(() => {\n setIsResizing(false);\n clearTimeout(mouseUpEventTimer);\n }, 100);\n };\n\n const handleUrlChange = () => {\n const search = urlToStateConverter.getSearch();\n const order = urlToStateConverter.getSort();\n const filters = urlToStateConverter.getFilters();\n const fields = urlToStateConverter.getFields();\n const group = urlToStateConverter.getGroup();\n if (group) {\n dispatch(setGlobalFilter(group));\n }\n dispatch(inputSearch(search));\n if (fields) {\n dispatch(setFields(Array.isArray(fields) ? fields : fields.split(',')));\n ColumnsManage.hideColumns(apiRef, props.columns, fields);\n ColumnsManage.showSpecificColumns(apiRef, props.columns, fields);\n }\n dispatch(sort(order));\n\n if (Object.keys(filters).length) {\n for (let filter in filters) {\n dispatch(addFilter({ [filter]: filters[filter] }));\n }\n } else {\n dispatch(clearAllFilters());\n }\n };\n\n useEffect(() => {\n if (!allowURLChange) {\n return;\n }\n handleUrlChange();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dispatch, props.path]);\n\n useEffect(() => {\n if (viewSelected > -1 || filtersResetDefault) {\n handleUrlChange();\n dispatch(getRows());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location]);\n\n useEffect(() => {\n if (!allowURLChange) {\n return;\n }\n urlToStateConverter.setQueryString(filters, search, order, globalFilter, fields);\n dispatch(setQueryString({ tab: props.pageTab, qs: window.location.search }));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters, fields, search, order, globalFilter, dispatch]);\n\n useEffect(() => {\n if (PROMISE) {\n PROMISE.abort();\n }\n dispatch(resetCount());\n dispatch(resetInfoPanel());\n dispatch(setIsOpenSaveViews(false));\n PROMISE = dispatch(getRows());\n }, [dispatch, props.path]);\n\n useEffect(() => {\n if (nextPath) {\n dispatch(getNextPage());\n }\n }, [dispatch, nextPath]);\n\n useEffect(() => {\n if (rows.length) {\n const currentQuery = queryBuilder.getQuery();\n if (selectionModel.length < 100) {\n setCsvDownloadPath(\n prepareCSVDownloadPath(currentQuery + `&${props.identifier}__in=${selectionModel.join(',')}`)\n );\n } else {\n setCsvDownloadPath(prepareCSVDownloadPath(currentQuery));\n }\n PROMISE = undefined;\n }\n }, [rows, selectionModel, props.identifier]);\n\n useEffect(() => {\n // Added this to prevent a known DataGrid bug where\n // Column is triggering sorting after column resize\n document.addEventListener('mouseup', setMouseUpEvent);\n\n RestApi.getData('configuration/saved-views/').subscribe((response: any) => {\n setSavedViewsJson(response);\n });\n\n return () => {\n document.removeEventListener('mouseup', setMouseUpEvent);\n clearTimeout(mouseUpEventTimer);\n };\n // #TODO: its ok for now, let's find a new approach when refactoring\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleOnRowsScrollEnd = () => {\n if (nextPageRows.length) {\n dispatch(addNextPageRows());\n }\n };\n\n const prepareCSVDownloadPath = (path: any): string | null => {\n return Common.AddMsspAccountIfNeeded(`${path}&format=csv`);\n };\n\n //@param: model = The model used for sorting the grid\n //@description: Sort by column. And a new request for sorted data\n const handleOnSortModelChange = (model: GridSortModel) => {\n if (isResizing) {\n return;\n }\n if (model[0]) {\n const orderString = model[0].sort === 'asc' ? `-${model[0].field}` : model[0].field;\n if (order !== orderString) {\n dispatch(sort(orderString));\n dispatch(getRows());\n }\n }\n };\n\n const handleOnRowDoubleClick = (params: GridRowParams) => {\n if (typeof props.onRowDoubleClick === 'function') {\n props.onRowDoubleClick(params);\n }\n };\n\n // const handleOnFilterModelChange = (params: GridFilterModel) => {};\n const handleOnColumnResize = (params: GridColumnResizeParams) => {\n setIsResizing(true);\n };\n\n const handleOnSelectionModelChange = (model: GridSelectionModel) => {\n // Description:\n // We have 2 different Ids for each row in the table (id, _id)\n // Material UI needs the <_id> to manage the selected rows,\n // Our API needs the to identify the selected rows.\n // const selectedIDs = new Set(model);\n\n // This creates a new array with the ids that we'll later use to make api calls\n // const selectedRowsIds = rows.filter((row: any) =>\n // selectedIDs.has(row._id.toString())\n // ).map((row: any) => row.id);\n\n // setSubsidiarySelectedIds(selectedRowsIds); // For API calls\n setSelectionModel(model); // For Material DataGridPro\n };\n\n const _getRows = () => {\n if (props.isPopup) {\n return rows[0] && rows[0][props.identifier] ? rows : [];\n } else if (Object.keys(capturedState).length) {\n return capturedState.rows[0] && capturedState.rows[0][props.identifier] ? capturedState.rows : [];\n } else {\n return rows[0] && rows[0][props.identifier] ? rows : [];\n }\n };\n\n const getOrder = () => {\n const order = urlToStateConverter.getSort();\n if (order) {\n const _order = {\n field: order.replace('-', ''),\n sort: order.includes('-') ? 'asc' : 'desc'\n };\n return { ...props.initialState, sorting: { sortModel: [{ field: _order.field, sort: _order.sort }] } };\n }\n return props.initialState || {};\n };\n\n const openSavedViews = () => {\n dispatch(setIsOpenSaveViews(!isOpenSavedViews));\n };\n\n return (\n
    \n
    \n {props.showInfoPanel && !loading && (\n
    \n \"evidence\n \n IONIX employs advanced classification techniques and Machine Learning algorithms in the discovery process.\n The table below presents dominant features that attribute the domain to the organization.\n \n
    \n )}\n \n
    \n {/* */}\n \n {flags.isSavedViews && apiRef.current && (\n \n )}\n
    \n {loading && }\n\n \n \n }}\n apiRef={apiRef}\n rows={_getRows()}\n columns={props.columns}\n onRowDoubleClick={handleOnRowDoubleClick}\n // onFilterModelChange={handleOnFilterModelChange}\n onSortModelChange={handleOnSortModelChange}\n onRowsScrollEnd={handleOnRowsScrollEnd}\n onColumnResize={handleOnColumnResize}\n onSelectionModelChange={handleOnSelectionModelChange}\n selectionModel={selectionModel}\n filterMode=\"server\"\n sortingMode=\"server\"\n disableMultipleColumnsSorting={true}\n disableSelectionOnClick={true}\n disableColumnReorder={true}\n checkboxSelection\n disableColumnMenu={true}\n hideFooter={true}\n getRowId={row => row[props.identifier]}\n initialState={getOrder()}\n />\n
    \n \n
    \n
    \n
    \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { useSelector } from 'react-redux';\nimport { Search } from 'common/components/Search/Search';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Common } from 'common/services/common.service';\nimport { env } from 'env';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\n\nimport './FqdnsInfoPanel.scss';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nconst FqdnsInfoPanel = () => {\n const { infoPanelAsset } = useSelector((state: any) => state.infoPanel);\n const [infoPanelData, setInfoPanelData] = useState([]);\n const [searchedData, setSearchedData] = useState([]);\n const [isLoading, setIsLoading] = useState(true);\n const [title, setTitle] = useState('');\n\n useEffect(() => {\n if (!!infoPanelAsset) {\n if (Common.validateIp(infoPanelAsset)) {\n const url = `discovery/org-assets/?ips__overlap=${infoPanelAsset}&ordering=asset&fields=asset&type__in=0,1,2,5&is_fqdn_not_null=True&limit=2000`;\n RestApi.getData(url).subscribe((response: any) => {\n const data = response.results.map((item: any) => item.asset);\n setInfoPanelData(data);\n setSearchedData(data);\n setTitle(`${response.count} FQDNs`);\n setIsLoading(false);\n });\n } else {\n setIsLoading(false);\n console.log(`Invalid IP: ${infoPanelAsset}`);\n }\n }\n }, [infoPanelAsset]);\n\n const onSearch = (pattern: string) => {\n if (pattern === '') {\n setSearchedData(infoPanelData);\n } else {\n const filteredData = infoPanelData.filter((item: any) => item.includes(pattern));\n setSearchedData(filteredData);\n }\n };\n\n return (\n
    \n {isLoading && }\n {!isLoading && (\n <>\n
    \n \n {title}\n \n
    \n
    \n \n \n \"Export\"\n \n
    \n
    \n
    \n {!!searchedData &&\n searchedData.map((item: any) => {\n return (\n
    \n {item}}\n className=\"fqdn-link\"\n />\n
    \n );\n })}\n
    \n
    \n \n )}\n
    \n );\n};\n\nexport default FqdnsInfoPanel;\n","import { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { setInfoPanelAsset, setIsOpenInfoPanel } from 'features/InfoPanelSlice';\nimport classNames from 'classnames';\n\nimport './InfoPanel.scss';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport FqdnsInfoPanel from './components/FqdnsInfoPanel';\nimport Fade from '@mui/material/Fade';\n\nconst InfoPanel = (props: any) => {\n const { infoPanelContentType, infoPanelAsset } = useSelector((state: any) => state.infoPanel);\n const [isOpen, setIsOpen] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n setIsOpen(props.open);\n }, [props.open]);\n\n const getInfoPanelContent = () => {\n switch (infoPanelContentType) {\n case 'fqdns':\n return ;\n case 'technologies':\n return technologies;\n default:\n return default;\n }\n };\n\n const onPanelClose = () => {\n dispatch(setIsOpenInfoPanel(false));\n dispatch(setInfoPanelAsset(''));\n };\n\n return (\n
    \n {isOpen &&
    }\n \n
    \n \n\n
    \n \n
    {getInfoPanelContent()}
    \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default InfoPanel;\n","import { Common } from 'common/services/common.service';\nimport './rowCount.scss';\ninterface IRowCount {\n conut: number;\n typeData: string;\n selectedCount?: number;\n}\nexport function RowCount(props: IRowCount) {\n return (\n
    \n
    \n
    Showing {Common.numberWithCommas(props.conut)} Rows
    \n {props.selectedCount ?  ({props.selectedCount} Selected) : ''}\n
    \n
    \n );\n}\n","import { Button } from '@mui/material';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { tosterService } from 'common/services/tostar.service';\nimport * as React from 'react';\nimport './releaseRequest.scss';\nexport function ReleaseRequest(props: any) {\n const [message, setMessage] = React.useState('');\n\n function onCancel() {\n props.setVisible(false);\n props.data.apiGrid.current.setSelectionModel([]);\n }\n\n function onSave() {\n if (props.data.ids.length === 0) {\n return;\n }\n\n let url = `remediation/active-protection/release-request/`;\n let data = {\n ids: props.data.ids,\n message: message\n };\n\n RestApi.setData(url, data, 'POST').subscribe(\n (response: any) => {\n onCancel();\n tosterService.onShowToster('OK', 'success', '');\n },\n error => {\n onCancel();\n tosterService.onShowToster('error', 'danger', '');\n }\n );\n }\n\n function handleChange(e: string) {\n setMessage(e);\n }\n\n return props.visible ? (\n
    \n
    \n
    Release Request
    \n
    \n +\n
    \n \"background-popup\"\n
    \n
    \n
    \n
    You are asking to release the following assets
    \n
    \n {props.data.assets.map((asset: string, index: number) => (\n \n
    {asset}
    \n
    \n ))}\n
    \n
    \n\n
    \n \"warning\"\n
    Are You Sure You Want To Release These Assets?
    \n
    \n if your organization’s assets are still connected to the released assets,you should take over them quickly -\n before attackers do.\n
    \n
    \n\n handleChange(e.target.value)}\n >\n\n
    \n \n \n
    \n
    \n
    \n ) : (\n
    \n );\n}\n","// interface IPages {\n// \t[key: string]: string;\n// }\n\nconst TOP_PANEL_PAGES = {\n DASHBOARD: 'dashboard',\n ACTION_ITEMS: 'actionItems',\n DISCOVERY: 'discovery',\n ACTIVE_PROTECTION: 'activeProtection',\n ASSESSMENTS: 'assessments',\n SINGLE_ASSET: 'singleAsset'\n};\n\nexport default TOP_PANEL_PAGES;\n","// import TOP_PANEL_PAGES from 'common/constants/topPanelPages';\nimport TOP_PANEL_PAGES from 'common/constants/topPanelPages';\n\nexport const topPanelConfig = {\n [TOP_PANEL_PAGES.DASHBOARD]: {\n isExpandable: false\n },\n [TOP_PANEL_PAGES.ACTION_ITEMS]: {\n isExpandable: true\n },\n [TOP_PANEL_PAGES.DISCOVERY]: {\n isExpandable: true\n },\n [TOP_PANEL_PAGES.ACTIVE_PROTECTION]: {\n isExpandable: true\n },\n [TOP_PANEL_PAGES.ASSESSMENTS]: {\n isExpandable: false\n },\n [TOP_PANEL_PAGES.SINGLE_ASSET]: {\n isExpandable: false\n }\n};\n","interface ITopPanelLinkConfig {\n [keu: string]: {\n [key: string]: string;\n };\n}\n\nconst TopPanelLinksConfig: ITopPanelLinkConfig = {};\n\nTopPanelLinksConfig['dashboard'] = {\n critical: `/pages/actionItems/open?fields=id%2Curgency%2Cis_active_protection%2Ctype%2Ctitle%2Casset%2Casset_importance%2Cfirst_opened_at%2Clast_opened_at%2Cis_acknowledged%2Cgroups_names%2Cacknowledged_date%2Cacknowledged_by%2Cacknowledgement_reason&filters=%7B\"urgency__in\"%3A\"critical\"%7D`,\n high: `/pages/actionItems/open?fields=id%2Curgency%2Cis_active_protection%2Ctype%2Ctitle%2Casset%2Casset_importance%2Cfirst_opened_at%2Clast_opened_at%2Cis_acknowledged%2Cgroups_names%2Cacknowledged_date%2Cacknowledged_by%2Cacknowledgement_reason&filters=%7B\"urgency__in\"%3A\"high\"%7D`,\n medium: `/pages/actionItems/open?fields=id%2Curgency%2Cis_active_protection%2Ctype%2Ctitle%2Casset%2Casset_importance%2Cfirst_opened_at%2Clast_opened_at%2Cis_acknowledged%2Cgroups_names%2Cacknowledged_date%2Cacknowledged_by%2Cacknowledgement_reason&filters=%7B\"urgency__in\"%3A\"medium\"%7D`,\n low: `/pages/actionItems/open?fields=id%2Curgency%2Cis_active_protection%2Ctype%2Ctitle%2Casset%2Casset_importance%2Cfirst_opened_at%2Clast_opened_at%2Cis_acknowledged%2Cgroups_names%2Cacknowledged_date%2Cacknowledged_by%2Cacknowledgement_reason&filters=%7B\"urgency__in\"%3A\"low\"%7D`,\n actionItems: `/pages/actionItems/open?fields=id%2Curgency%2Cis_active_protection%2Ctype%2Ctitle%2Casset%2Casset_importance%2Cfirst_opened_at%2Clast_opened_at%2Cis_acknowledged%2Cgroups_names%2Cacknowledged_date%2Cacknowledged_by%2Cacknowledgement_reason`,\n score: `/pages/assessments/orgScore`,\n org_assets: `/pages/discovery/internalAssets?fields=id%2Crisk_score%2Casset%2Ctype%2Cimportance%2Chosting_provider%2Ctechnologies%2Cfirst_seen%2Cservice_type%2Cservice%2Cgroups`,\n external_assets: `/pages/discovery/digitalSupplyChain?fields=id%2Crisk_score%2Casset%2Cips%2Cconnected_assets%2Cconnections_types%2Chosting_provider%2Ctechnologies%2Cfirst_seen%2Cgroups`,\n activeProtection:\n '/pages/activeProtection?fields=id%2Cprotected_host%2Casset%2Ctype%2Cprotected_since%2Crelease_date%2Cgroups'\n};\n\nexport default TopPanelLinksConfig;\n","import { createContext, useContext } from 'react';\n\ntype TypeTopPanelContext = {\n data: any;\n page: string | null;\n isOpen?: boolean | null;\n tab?: string | null;\n isLoading?: boolean | null;\n};\n\nexport const TopPanelContext = createContext({\n data: null,\n page: null,\n isOpen: null,\n tab: null,\n isLoading: null\n});\n\nexport const useTopPanelContext = () => useContext(TopPanelContext);\n","import { Common } from 'common/services/common.service';\n\nconst TRENDS_COLORS = {\n GOOD: ['#24D5AA', '#2c2c30'],\n BAD: ['#F46666', '#2c2c30']\n};\n\nconst isTrendUp = (data: any) => {\n if (data.length < 2) return true;\n let current = data[0];\n for (let i = 1; i < data.length; i++) {\n if (data[i] === current) {\n if (data.length === i + 1) return true;\n current = data[i];\n continue;\n }\n if (data[i] > current) return false;\n if (data[i] < current) return true;\n }\n};\nconst getIsTrendUp = (series: any) => {\n const seriesValues = Array.from(series, (item: any) => item.y);\n const points = seriesValues.filter(item => item !== null).reverse();\n\n const ret = isTrendUp(points);\n // console.log('ret', ret);\n return ret;\n // return points.length < 2 || (points.length >= 2 && points[0] >= points[1]);\n};\n// const getIsTrendUp = (series: any) => {\n// const seriesValues = Array.from(series, (item: any) => item.y);\n// const points = seriesValues\n// .filter(item => item !== null)\n// .reverse()\n// .slice(0, 2);\n// return points.length < 2 || (points.length >= 2 && points[0] >= points[1]);\n// };\n\nconst getChartSeries = (data: any, isAddedRed?: boolean) => {\n const series = data.map((item: any) => ({ y: item.value, ...item, ...(isAddedRed ? { isAddRed: isAddedRed } : {}) }));\n return series.slice(0, 6).reverse();\n};\n\nconst getChartCategories = (series: any, xAxisFormatter: string) => {\n let categories;\n if (xAxisFormatter === 'm') {\n categories = series.map((item: any) => Common.getDateMonthYear(item.date));\n } else if (xAxisFormatter === 'y') {\n categories = series.map((item: any) => Common.getDateYear(item.date));\n }\n categories = series.map((item: any) => Common.getShortDate(item.date));\n\n return categories.reverse();\n};\nexport { TRENDS_COLORS, getIsTrendUp, getChartSeries, getChartCategories };\n","import { useDispatch, useSelector } from 'react-redux';\nimport { setSelectFiltersHard } from 'features/GridSlice';\nimport { getFiltersServerFormat } from 'utils/filters';\nimport { selectView, setIsOpenSaveViews } from 'features/GeneralSlice';\n\nconst useFilters = () => {\n const { columnPicker } = useSelector((state: any) => state.columnPicker);\n const dispatch = useDispatch();\n\n const handleFiltersOnClick = (filterId: string, fieldId: string, page?: string, findValue?: string) => {\n dispatch(setIsOpenSaveViews(false));\n dispatch(selectView(-1));\n\n const selected = columnPicker.find((item: any) => item.name === filterId);\n if (!!selected) {\n const { filter_type: filterType } = selected;\n let values;\n let filter;\n if (filterType === 'stringAndNumber') {\n values = selected.choices.find((item: any) => item.label.toLowerCase() === 'full match');\n const updatedValue = { ...values, value: fieldId };\n filter = getFiltersServerFormat(filterType, selected, updatedValue);\n } else if (filterType === 'radio') {\n values = selected.choices.find(\n (item: any) => item.name.toLowerCase() === (findValue !== undefined ? findValue : 'true')\n );\n filter = getFiltersServerFormat(filterType, selected, values);\n } else {\n values = selected.choices.find((item: any) => item.label.toLowerCase() === fieldId.toLowerCase());\n filter = getFiltersServerFormat(filterType, selected, [values.name]);\n }\n\n dispatch(setSelectFiltersHard([filter]));\n }\n };\n\n return { handleFiltersOnClick };\n};\n\nexport default useFilters;\n","import { useTopPanelContext } from '../TopPanelContext';\nimport {\n Text,\n DataPanel,\n Chart,\n IconRisk,\n LineChart,\n CHART_TYPES,\n TOOLTIP_TYPE,\n LINE_CHART_TYPE,\n IconTrend\n} from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { TRENDS_COLORS, getIsTrendUp } from 'common/components/TopPanel/utils';\nimport { getChartSeries, getChartCategories } from 'common/components/TopPanel/utils';\nimport { Common } from 'common/services/common.service';\nimport useFilters from 'common/components/TopPanel/hooks/useFilters';\n\nimport './toppanel-action-items.scss';\n\n// const texts = {\n// risky_connection: 'Risky Connection',\n// web_application: 'Web Application',\n// vulnerable_component: 'Vulnerable Component',\n// network: 'Network',\n// dns: 'DNS',\n// web: 'Web',\n// tls: 'TLS',\n// cloud: 'Cloud',\n// email: 'Email',\n// certificates: 'Certificates',\n// critical: 'Critical',\n// high: 'High',\n// medium: 'Medium',\n// low: 'Low'\n// };\nconst dataPanelProps = {\n titleTextSize: 12,\n weight: 500,\n textSize: 24,\n textColor: '#FFFFFF',\n family: 'Rajdhani',\n titleStyle: { color: '#a6acbe' }\n};\n\nconst textProps = {\n textSize: 12,\n textColor: '#FFFFFF',\n upper: true\n};\n\nconst chartOptions = {\n chart: {\n type: CHART_TYPES.AREA,\n backgroundColor: '#2c2c30',\n // width: null,\n height: 100,\n marginLeft: 0,\n marginRight: 0,\n marginTop: 10,\n marginBottom: 26\n },\n xAxis: {\n visible: true,\n tickWidth: 1,\n tickLength: 5,\n tickmarkPlacement: 'on',\n tickColor: '#B7BBC5'\n },\n yAxis: {\n gridLineWidth: 0,\n labels: {\n enabled: false\n }\n },\n responsive: {\n rules: [\n {\n condition: {\n maxWidth: 440\n },\n chartOptions: {\n chart: {\n marginBottom: 25,\n marginTop: 10\n },\n xAxis: {\n visible: true,\n labels: {\n enabled: false\n }\n }\n }\n },\n {\n condition: {\n minWidth: 441\n },\n chartOptions: {\n xAxis: {\n visible: true,\n labels: {\n enabled: true\n }\n }\n }\n }\n ]\n }\n};\n\nconst ActionItemsExpand = () => {\n const { data, tab, isLoading } = useTopPanelContext();\n const { handleFiltersOnClick } = useFilters();\n\n let updatedChartOptions;\n let chartSeries;\n let chartColors;\n let isTrendUp;\n\n if (\n !!isLoading ||\n (tab === 'open' && !data.critical_action_items) ||\n (tab === 'closed' && !data.average_time_to_resolution)\n )\n return null;\n\n updatedChartOptions = {\n ...chartOptions,\n xAxis: {\n ...chartOptions.xAxis,\n categories: getChartCategories(\n tab === 'open' ? data.critical_action_items.data : data.average_time_to_resolution.data,\n 'd'\n )\n }\n };\n chartSeries = getChartSeries(tab === 'open' ? data.critical_action_items.data : data.average_time_to_resolution.data);\n\n isTrendUp = getIsTrendUp(chartSeries);\n chartColors = isTrendUp ? TRENDS_COLORS.BAD : TRENDS_COLORS.GOOD;\n // }\n const last30Days =\n !isLoading && !!chartSeries && chartSeries.length > 1\n ? chartSeries[chartSeries.length - 1].y - chartSeries[chartSeries.length - 2].y\n : 0;\n\n const last30DaysProps =\n last30Days !== 0\n ? {\n isTrend: true,\n isTrendUp: isTrendUp,\n rightContentClassName: 'last-30',\n isUpArrowGreen: false\n }\n : {};\n return (\n \n \n \n \n \n ACTION ITEMS BY TYPE\n \n \n \n \n {[\n 'risky_connection',\n 'web_application',\n 'vulnerable_component',\n 'network',\n 'dns',\n 'tls',\n 'web',\n 'cloud',\n 'email',\n 'certificates'\n ].map((item: string) => {\n const moreProps = ['risky_connection', 'web_application', 'vulnerable_component'].includes(item)\n ? { contentClassName: 'small-padding' }\n : { contentClassName: 'content-class-name' };\n return (\n \n {\n handleFiltersOnClick('type', Common.underscoreToTitle(id), 'actionItems');\n }}\n >\n {data.action_items_by_type[item]}\n \n \n );\n })}\n \n \n \n \n \n
    \n
    \n \n \n \n \n distribution by urgency\n \n \n \n \n {['critical', 'high', 'medium', 'low'].map((item: string) => {\n return (\n \n \n \n \n \n \n {\n handleFiltersOnClick('urgency', Common.underscoreToTitle(id), 'actionItems');\n }}\n >\n {data.distribution_by_urgency[item]}\n \n \n \n \n );\n })}\n \n \n \n \n \n
    \n
    \n \n \n \n \n {`${tab === 'closed' ? 'AVERAGE TIME TO RESOLUTION' : 'Critical action items over time'} `}\n \n \n \n \n {tab === 'open' ? (\n \n \n {last30Days}\n \n \n ) : (\n \n \n {!!chartSeries.length ? chartSeries[chartSeries.length - 1].y : 0}\n \n \n )}\n \n \n \n \n \n \n \n
    \n );\n};\n\nconst ActionItemsCollapse = () => {\n const { data, tab, isLoading } = useTopPanelContext();\n const { action_items_by_type, distribution_by_urgency } = data;\n\n if (\n !!isLoading ||\n (tab === 'open' && !data.critical_action_items) ||\n (tab === 'closed' && !data.average_time_to_resolution)\n )\n return null;\n\n const isUrgencyEmpty = Object.values(distribution_by_urgency).filter((item: any) => item !== 0);\n\n const chartSeries = getChartSeries(\n tab === 'open' ? data.critical_action_items.data : data.average_time_to_resolution.data\n );\n const isTrendUp = getIsTrendUp(chartSeries) || false;\n const last30Days =\n !!chartSeries && chartSeries.length > 1\n ? chartSeries[chartSeries.length - 1].y - chartSeries[chartSeries.length - 2].y\n : 0;\n\n return (\n \n \n Action Items By type\n \n \n \n {action_items_by_type?.count}\n \n \n
    \n \n \n distribution by urgency\n \n \n {!!isUrgencyEmpty.length && (\n \n \n \n )}\n
    \n \n \n {`${tab === 'closed' ? 'AVERAGE TIME TO RESOLUTION' : 'Critical action items over time'} `}\n \n \n \n {tab === 'open' ? (\n \n \n \n Last 30 Days\n \n \n \n \n {last30Days}\n \n \n {last30Days !== 0 && (\n \n \n \n )}\n \n ) : (\n \n \n \n Current Average\n \n \n \n \n {chartSeries[chartSeries.length - 1].y}\n \n \n\n \n \n Days\n \n \n \n )}\n \n
    \n );\n};\n\nconst TopPanelActionItems = () => {\n // const [filters, setFilters] = useState(['risky_connection', 'web_application', 'vulnerable_component']);\n const { isOpen, data, isLoading } = useTopPanelContext();\n\n if (!!isLoading || !data || !Object.keys(data).length) return null;\n\n // return isOpen ? : ;\n return isOpen ? : ;\n};\n\nexport default TopPanelActionItems;\n","import {\n Text,\n DataPanel,\n TopPanelBarsPanel,\n Chart,\n CHART_TYPES,\n Indicator,\n TOOLTIP_TYPE,\n ChartEmptyState\n} from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { useTopPanelContext } from '../TopPanelContext';\nimport { TRENDS_COLORS, getChartCategories, getChartSeries, getIsTrendUp } from '../utils';\nimport classNames from 'classnames';\n\nimport './toppanel-dashboard.scss';\n\nconst texts = {\n panel_I_title: 'ASSETS DISCOVERED',\n panel_II_title: 'Org risk Score Over Time',\n panel_III_title: 'Assets Under Active Protection',\n org_assets: 'Org Assets',\n external_assets: 'Digital Supply Chain',\n connections: 'Connections',\n overall_score: 'Overall Score',\n current: 'Currently protected',\n added: 'added last 30 days',\n resolved: 'Resolved last 30 days'\n};\nconst dataPanelProps = {\n titleTextSize: 12,\n weight: 500,\n textSize: 34,\n textColor: '#FFFFFF',\n family: 'Rajdhani'\n};\n\nconst chartOptions = {\n chart: {\n type: CHART_TYPES.AREA,\n backgroundColor: '#2c2c30',\n height: 100,\n marginLeft: 0,\n marginRight: 0,\n marginTop: 10,\n marginBottom: 26\n },\n xAxis: {},\n yAxis: {\n visible: false\n },\n responsive: {\n rules: [\n {\n condition: {\n maxWidth: 380\n },\n chartOptions: {\n chart: {\n marginBottom: 25,\n marginTop: 10\n },\n xAxis: {\n visible: false\n }\n }\n },\n {\n condition: {\n minWidth: 381\n },\n chartOptions: {\n xAxis: {\n visible: true\n }\n }\n }\n ]\n }\n};\n\nconst TopPanelDashboard = ({ links, linkOnClick }: { links?: any; linkOnClick: (link: string) => void }) => {\n const { data, isLoading } = useTopPanelContext();\n\n if (!!isLoading || !data || !Object.keys(data).length) return null;\n\n const chartSeries = !!data?.org_risk_score ? getChartSeries(data?.org_risk_score.data) : [];\n\n let updatedChartOptions;\n let chartColors;\n let isTrendUp = getIsTrendUp(chartSeries);\n\n if (!!chartSeries.length) {\n updatedChartOptions = {\n ...chartOptions,\n xAxis: {\n ...chartOptions.xAxis,\n categories: getChartCategories(data?.org_risk_score.data, 'm')\n }\n };\n chartColors = isTrendUp ? TRENDS_COLORS.GOOD : TRENDS_COLORS.BAD;\n }\n const dataBars = {\n critical: data?.remediation.critical_action_items,\n high: data?.remediation.high_action_items,\n medium: data?.remediation.medium_action_items,\n low: data?.remediation.low_action_items\n };\n const total = Object.values(dataBars).reduce((acc: number, item: any) => acc + item, 0);\n\n return !!data && !!Object.keys(data).length ? (\n \n \n \n \n \n \n \"Icon\"\n \n \n \n Discovery\n \n \n \n \n \n \n {['org_assets', 'external_assets', 'connections'].map((item: string) => {\n return (\n \n \n {data.assets_discovered[item]}\n \n \n );\n })}\n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \"Icon\"\n \n \n \n Assessment\n \n \n \n \n {true ? (\n \n \n \n \n {!!data?.org_risk_score?.overall_score ? data.org_risk_score.overall_score : undefined}\n \n \n \n \n \n \n {!!chartSeries.length ? (\n \n ) : (\n \n )}\n \n \n \n ) : (\n \n \"Icon\"\n \n )}\n \n
    \n \n
    ß\n
    \n \n \n \n \n \n \"Icon\"\n \n \n \n Remediation\n \n \n \n \n\n \n \n {total}\n \n \n \n \n \n \n \n \n \n \"Icon\"\n \n \n \n {data?.remediation.active_protection}\n \n \n \n \n Protected Assets\n \n \n \n \n \n \n \n \n \n \n \n \n ) : null;\n};\n\nexport default TopPanelDashboard;\n","import { useState, useEffect } from 'react';\nimport { useTopPanelContext } from '../../TopPanelContext';\nimport { Text, DataPanel, IconRisk, LineChart, LINE_CHART_TYPE } from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { texts, textProps, dataPanelProps } from '../TopPanelDiscovery';\nimport { getTechIcon, iconByID } from 'common/components/TopPanel/hooks/useTopPanel';\nimport { Common } from 'common/services/common.service';\nimport useFilters from 'common/components/TopPanel/hooks/useFilters';\n\nconst DiscoveryInternalExpand = () => {\n const [sliceAmount, setSliceAmount] = useState(null);\n const { data } = useTopPanelContext();\n const { handleFiltersOnClick } = useFilters();\n\n useEffect(() => {\n let amount;\n\n if (window.screen.width < 1600) {\n amount = 7;\n } else if (window.screen.width < 1800) {\n amount = 9;\n } else if (window.screen.width < 2000) {\n amount = 11;\n } else {\n amount = 12;\n }\n setSliceAmount(amount);\n }, []);\n\n const renderOtherFQDN = () => {\n const other = data.assets_by_service?.data.find((item: any) => item.id === 'other');\n return !!other ? (\n \n \n \n {iconByID[other.id as keyof typeof iconByID]}\n \n \n \n {other.value}\n \n \n \n \n ) : null;\n };\n\n return (\n \n \n \n \n \n Active org assets\n \n \n \n \n {['domain', 'subdomain', 'ip'].map((item: any, index: number) => {\n // const key = Object.keys(item)[0];\n return (\n \n \n \n {iconByID[item as keyof typeof iconByID]}\n \n \n {\n handleFiltersOnClick(\n 'type',\n Common.underscoreToTitle(id === 'subdomain' ? 'sub-domain' : id),\n 'discovery-internal'\n );\n }}\n >\n {!!data.active_org_assets ? data.active_org_assets[item] : ''}\n \n \n \n \n );\n })}\n \n \n \n \n \n
    \n
    \n \n \n \n \n Risk distribution\n \n \n \n \n {['critical', 'high', 'medium', 'low', 'no_risk'].map((item: string) => {\n return (\n \n \n \n \n \n \n {\n handleFiltersOnClick('risk_score', Common.underscoreToTitle(id), 'discovery-internal');\n }}\n >\n {!!data.risk_distribution ? data.risk_distribution[item] : ''}\n \n \n \n \n );\n })}\n \n \n \n \n \n
    \n
    \n \n \n \n \n FQDNs HOSTING PROVIDERS\n \n \n \n \n {data.assets_by_service?.data\n .filter((item: any) => item.id !== 'other')\n .slice(0, sliceAmount)\n .map((item: any, index: number) => {\n return (\n \n \n \n {getTechIcon(item.id)}\n \n \n {\n handleFiltersOnClick('hosting_provider', id, 'discovery-internal');\n }}\n >\n {item.value}\n \n \n \n \n );\n })}\n {renderOtherFQDN()}\n \n \n \n \n
    \n );\n};\n\nconst DiscoveryInternalCollapse = () => {\n const { data } = useTopPanelContext();\n const { active_org_assets, assets_by_service, risk_distribution } = data;\n // const { bar } = risk_distibution;\n // const { count: fqdnCount } = fqdn;\n const totalOrgAssets: any = Object.values(active_org_assets).reduce((acc: any, all: any) => acc + all, 0);\n const totalFQDN: any = assets_by_service.data.reduce((all: number, item: any) => item.value + all, 0);\n\n return (\n \n \n \n org assets\n \n \n \n \n {totalOrgAssets}\n \n \n {Object.entries(active_org_assets).map(([key, value]) => {\n // const key = Object.keys(item)[0];\n return (\n <>\n \n \n {texts[key as keyof typeof texts]}\n \n \n \n \n {value}\n \n \n \n );\n })}\n
    \n \n \n {texts.risk_distribution}\n \n \n \n \n \n
    \n \n FQDNs HOSTING PROVIDERS\n \n \n \n {totalFQDN}\n \n \n
    \n );\n};\n\nexport { DiscoveryInternalExpand, DiscoveryInternalCollapse };\n","import React, { useState, useEffect } from 'react';\nimport { useTopPanelContext } from '../../TopPanelContext';\nimport { Text, DataPanel, IconRisk, LineChart, LINE_CHART_TYPE } from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { textProps, dataPanelProps } from '../TopPanelDiscovery';\nimport { getTechIcon, iconByID } from 'common/components/TopPanel/hooks/useTopPanel';\nimport { Common } from 'common/services/common.service';\nimport useFilters from 'common/components/TopPanel/hooks/useFilters';\n\nconst DiscoveryDigitalSupplyExpand = () => {\n const [sliceAmount, setSliceAmount] = useState(null);\n const { handleFiltersOnClick } = useFilters();\n\n const { data } = useTopPanelContext();\n const { risk_distribution, assets_by_service } = data;\n\n useEffect(() => {\n let amount;\n if (window.screen.width < 1600) {\n amount = 9;\n } else if (window.screen.width < 1800) {\n amount = 11;\n } else if (window.screen.width < 2000) {\n amount = 13;\n } else {\n amount = 14;\n }\n setSliceAmount(amount);\n }, []);\n\n const renderOtherFQDN = () => {\n const other = assets_by_service.data.find((item: any) => item.id === 'other');\n return !!other ? (\n \n \n \n {iconByID[other.id as keyof typeof iconByID]}\n \n \n \n {other.value}\n \n \n \n \n ) : null;\n };\n\n return (\n \n \n \n \n \n RISK DISTRIBUTION\n \n \n \n \n {['critical', 'high', 'medium', 'low', 'no_risk'].map((item: string) => {\n return (\n \n \n \n \n \n \n {\n handleFiltersOnClick(\n 'risk_score',\n Common.underscoreToTitle(id),\n 'discovery-digital-supply'\n );\n }}\n >\n {risk_distribution[item]}\n \n \n \n \n );\n })}\n \n \n \n \n {!!assets_by_service && !!assets_by_service.data.length && (\n <>\n \n
    \n
    \n \n \n \n \n FQDNs HOSTING PROVIDERS\n \n \n \n \n {assets_by_service.data\n .filter((item: any) => item.id !== 'other')\n .slice(0, sliceAmount)\n .map((item: any, index: number) => {\n return (\n \n \n \n {getTechIcon(item.id)}\n \n \n {\n handleFiltersOnClick('hosting_provider', id, 'discovery-digital-supply');\n }}\n >\n {item.value}\n \n \n \n \n );\n })}\n {renderOtherFQDN()}\n \n \n \n
    \n \n )}\n \n );\n};\n\nconst DiscoveryDigitalSupplyCollapse = () => {\n const { data } = useTopPanelContext();\n const { risk_distribution, assets_by_service } = data;\n const totalFQDN: any = assets_by_service.data.reduce((all: number, item: any) => item.value + all, 0);\n\n return (\n \n {!!risk_distribution && !!Object.keys(risk_distribution).length && (\n <>\n \n \n DIGITAL SUPPLY CHAIN\n \n \n\n \n \n \n \n )}\n {!!assets_by_service && !!assets_by_service.data.length && (\n <>\n
    \n \n \n FQDNs HOSTING PROVIDERS\n \n \n \n \n {totalFQDN}\n \n \n \n )}\n
    \n );\n};\n\nexport { DiscoveryDigitalSupplyExpand, DiscoveryDigitalSupplyCollapse };\n","// import React, { useState, useMemo } from 'react';\nimport { useTopPanelContext } from '../../TopPanelContext';\nimport { Text, DataPanel, Chart, IconTrend, TOOLTIP_TYPE } from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { textProps, dataPanelProps, chartOptions } from '../TopPanelDiscovery';\nimport { TRENDS_COLORS, getIsTrendUp, getChartSeries, getChartCategories } from 'common/components/TopPanel/utils';\nimport { Common } from 'common/services/common.service';\nimport useFilters from 'common/components/TopPanel/hooks/useFilters';\n\nconst DiscoveryLoginExpand = () => {\n const { data } = useTopPanelContext();\n const { insecure_login, invalid_certificates } = data;\n const { over_http, data: insecureChartData } = insecure_login;\n const { data: invalidChartData } = invalid_certificates;\n const { handleFiltersOnClick } = useFilters();\n\n let updatedInvalidChartOptions;\n let updatedInsecureChartOptions;\n let insecureColors;\n let invalidColors;\n let isTrendUpInvalid;\n let isTrendUpInsecure;\n let last30DaysInsecure;\n let last30DaysInsecureProps;\n let last30DaysInvalid;\n let last30DaysInvalidProps;\n\n const updatedInsecureSeries = getChartSeries(insecureChartData, true);\n const updatedInvalidSeries = getChartSeries(invalidChartData, true);\n\n if (!!Object.keys(updatedInsecureSeries).length) {\n updatedInsecureChartOptions = {\n ...chartOptions,\n xAxis: {\n ...chartOptions.xAxis,\n categories: getChartCategories(insecureChartData, 'm')\n }\n };\n isTrendUpInsecure = getIsTrendUp(updatedInsecureSeries);\n insecureColors = isTrendUpInsecure ? TRENDS_COLORS.BAD : TRENDS_COLORS.GOOD;\n last30DaysInsecure =\n !!updatedInsecureSeries && updatedInsecureSeries.length > 1\n ? updatedInsecureSeries[updatedInsecureSeries.length - 1].y -\n updatedInsecureSeries[updatedInsecureSeries.length - 2].y\n : 0;\n\n last30DaysInsecureProps =\n last30DaysInsecure !== 0\n ? {\n isTrend: true,\n isTrendUp: isTrendUpInsecure,\n rightContentClassName: 'last-30',\n isUpArrowGreen: false\n }\n : {};\n }\n\n if (!!Object.keys(updatedInvalidSeries).length) {\n updatedInvalidChartOptions = {\n ...chartOptions,\n xAxis: {\n ...chartOptions.xAxis,\n categories: getChartCategories(invalidChartData, 'm')\n }\n };\n isTrendUpInvalid = getIsTrendUp(updatedInvalidSeries);\n invalidColors = isTrendUpInvalid ? TRENDS_COLORS.BAD : TRENDS_COLORS.GOOD;\n last30DaysInvalid =\n !!updatedInvalidSeries && updatedInvalidSeries.length > 1\n ? updatedInvalidSeries[updatedInvalidSeries.length - 1].y -\n updatedInvalidSeries[updatedInvalidSeries.length - 2].y\n : 0;\n\n last30DaysInvalidProps =\n last30DaysInvalid !== 0\n ? {\n isTrend: true,\n isTrendUp: isTrendUpInvalid,\n rightContentClassName: 'last-30',\n isUpArrowGreen: false\n }\n : {};\n }\n\n return (\n \n \n \n \n \n INSECURE LOGIN PAGES\n \n \n \n \n \n {\n handleFiltersOnClick('is_over_http', Common.underscoreToTitle(id), 'discovery-login');\n }}\n >\n {over_http}\n \n \n \n \n \n \n \n {last30DaysInsecure}\n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n INVALID CERTIFICATES\n \n \n \n \n \n {\n handleFiltersOnClick(\n 'is_valid_certificate',\n Common.underscoreToTitle(id),\n 'discovery-login',\n 'false'\n );\n }}\n >\n {updatedInvalidSeries[updatedInvalidSeries.length - 1].y}\n \n \n \n \n \n \n \n {last30DaysInvalid}\n \n \n \n \n \n \n
    \n );\n};\n\nconst DiscoveryLoginCollapse = () => {\n const { data } = useTopPanelContext();\n const { insecure_login, invalid_certificates } = data;\n const { over_http, data: insecureChartData } = insecure_login;\n const { currently_insecure, data: invalidChartData } = invalid_certificates;\n\n const updatedInsecureSeries = getChartSeries(insecureChartData, true);\n const isTrendUpInsecure = getIsTrendUp(updatedInsecureSeries) || false;\n const last30DaysInsecure =\n !!updatedInsecureSeries && updatedInsecureSeries.length > 1\n ? updatedInsecureSeries[updatedInsecureSeries.length - 1].y -\n updatedInsecureSeries[updatedInsecureSeries.length - 2].y\n : 0;\n\n const updatedInvalidSeries = getChartSeries(invalidChartData, true);\n const isTrendUpInvalid = getIsTrendUp(updatedInvalidSeries) || false;\n const last30DaysInvalid =\n !!updatedInvalidSeries && updatedInvalidSeries.length > 1\n ? updatedInvalidSeries[updatedInvalidSeries.length - 1].y -\n updatedInvalidSeries[updatedInvalidSeries.length - 2].y\n : 0;\n\n return (\n \n \n INSECURE LOGIN PAGES\n \n\n \n \n Accessible Over Http\n \n \n \n \n {over_http}\n \n \n \n \n Last 30 Days\n \n \n \n \n {last30DaysInsecure}\n \n {last30DaysInsecure !== 0 && }\n \n\n
    \n \n INVALID CERTIFICATES\n \n\n \n \n Currently Insecure\n \n \n \n \n {currently_insecure}\n \n \n \n \n Last 30 Days\n \n \n \n \n {last30DaysInvalid}\n \n {last30DaysInvalid !== 0 && }\n \n
    \n );\n};\n\nexport { DiscoveryLoginExpand, DiscoveryLoginCollapse };\n","// import React, { useState, useMemo } from 'react';\nimport { useTopPanelContext } from '../TopPanelContext';\nimport { CHART_TYPES } from '@cyberpion/cyberpion-ui';\nimport { DiscoveryInternalExpand, DiscoveryInternalCollapse } from './tabs/DiscoveryInternal';\nimport { DiscoveryDigitalSupplyExpand, DiscoveryDigitalSupplyCollapse } from './tabs/DiscoveryDigitalSupply';\nimport { DiscoveryLoginExpand, DiscoveryLoginCollapse } from './tabs/DiscoveryLogin';\n\nimport './toppanel-discovery.scss';\n\nexport const texts = {\n panel_I_title_org: 'org assets',\n active_org_assets: 'active org assets',\n // panel_II_title_org: 'Risk Distribution',\n fqdn_hosting_provider: 'FQDN hosting provider',\n panel_I_title_external: 'External Assets',\n panel_II_title_external: 'FQDN hosting provider',\n panel_I_title_login: 'Insecure Login Pages',\n panel_II_title_login: 'Invalid Certificates',\n domain: 'Domain',\n subdomain: 'Subdomain',\n ip: 'IP',\n critical: 'Critical',\n high: 'High',\n medium: 'Medium',\n low: 'Low',\n no_risk: 'No Risk',\n accessible_over_http: 'Accessible over HTTP',\n last_30_days: 'Last 30 days',\n invalid_certificates: 'Invalid Certificates',\n currently_insecure: 'Currently Insecure',\n risk_distribution: 'Risk Distribution'\n};\nexport const dataPanelProps = {\n titleTextSize: 12,\n weight: 500,\n textSize: 22,\n textColor: '#FFFFFF',\n family: 'Rajdhani',\n titleStyle: { color: '#A6acbe', paddingBottom: 4 }\n};\n\nexport const textProps = {\n textSize: 12,\n textColor: '#FFFFFF',\n upper: true\n};\n\nexport const chartOptions = {\n chart: {\n type: CHART_TYPES.AREA,\n backgroundColor: '#2c2c30',\n // width: null,\n height: 100,\n marginLeft: 0,\n marginRight: 0,\n marginTop: 10,\n marginBottom: 26\n },\n xAxis: {\n visible: true,\n tickWidth: 1,\n tickLength: 5,\n tickmarkPlacement: 'on',\n tickColor: '#B7BBC5'\n },\n yAxis: {\n gridLineWidth: 0,\n labels: {\n enabled: false\n }\n },\n responsive: {\n rules: [\n {\n condition: {\n maxWidth: 400\n },\n chartOptions: {\n chart: {\n marginBottom: 25,\n marginTop: 10\n },\n xAxis: {\n visible: true,\n labels: {\n enabled: false\n }\n }\n }\n },\n {\n condition: {\n minWidth: 401\n },\n chartOptions: {\n xAxis: {\n visible: true,\n labels: {\n enabled: true\n }\n }\n }\n }\n ]\n }\n};\n\nconst TopPanelDiscovery = () => {\n // const [topPanel, setTopPanel] = useState(null);\n const { tab, isOpen, data } = useTopPanelContext();\n\n if (!data || !Object.keys(data).length) return null;\n\n let topPanel;\n if (tab === 'internalAssets') {\n topPanel = isOpen ? : ;\n }\n if (tab === 'digitalSupplyChain') {\n topPanel = isOpen ? : ;\n }\n if (tab === 'loginAssets') {\n topPanel = isOpen ? : ;\n }\n\n return <>{topPanel};\n};\n\nexport default TopPanelDiscovery;\n","// import React, { useState, useMemo } from 'react';\nimport { useTopPanelContext } from '../TopPanelContext';\nimport {\n Text,\n DataPanel,\n Chart,\n Legend,\n LineChart,\n CHART_TYPES,\n TOOLTIP_TYPE,\n LINE_CHART_TYPE,\n IconTrend,\n ChartEmptyState\n} from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { TRENDS_COLORS, getIsTrendUp, getChartSeries, getChartCategories } from 'common/components/TopPanel/utils';\nimport './toppanel-active-protection.scss';\n\nconst colors = ['#A862FF', '#DB42FF', '#7672F9', '#4B7AE7', '#4C8FDB'];\n\nconst texts = {\n panel_I_title: 'PROTECTED ASSETS OVER TIME',\n panel_II_title: 'time to resolution',\n currently_protected: 'Currently Protected',\n added_last_month: 'Added Last Month',\n removed_last_month: 'Removed Last Month',\n currently_insecure: 'Currently Insecure',\n days: 'Days',\n average: 'Average of last 5 days' // FIX: number should be parameter\n};\nconst dataPanelProps = {\n titleTextSize: 11,\n weight: 500,\n textSize: 36,\n textColor: '#FFFFFF',\n family: 'Rajdhani'\n // titleStyle: { color: '#E8E8E8' }\n};\n\nconst textProps = {\n textSize: 12,\n textColor: '#FFFFFF',\n upper: true\n};\n\nconst pieOptions = {\n chart: { height: 100, backgroundColor: '#2c2c30', marginLeft: -20, padding: 0 }\n};\n\nconst chartProtectedOptions = {\n chart: {\n type: CHART_TYPES.AREA,\n backgroundColor: '#2c2c30',\n // width: null,\n height: 100,\n marginLeft: 0,\n marginRight: 25,\n marginTop: 10,\n marginBottom: 26\n },\n xAxis: {\n visible: true,\n tickWidth: 1,\n tickLength: 5,\n tickmarkPlacement: 'on',\n tickColor: '#B7BBC5'\n },\n yAxis: {\n gridLineWidth: 0,\n labels: {\n enabled: false\n }\n },\n responsive: {\n rules: [\n {\n condition: {\n maxWidth: 420\n },\n chartOptions: {\n chart: {\n marginBottom: 25,\n marginTop: 10\n },\n xAxis: {\n visible: true,\n labels: {\n enabled: false\n }\n }\n }\n },\n {\n condition: {\n minWidth: 421\n },\n chartOptions: {\n xAxis: {\n visible: true,\n labels: {\n enabled: true\n }\n }\n }\n }\n ]\n }\n};\n\nconst ActiveProtectionExpand = () => {\n const { data } = useTopPanelContext();\n const { protected_assets, protected_assets_by_service, time_to_resolution } = data;\n const { data: protectedChartData } = protected_assets;\n const { current_average: currentlyInsecure, data: resolutionChartData } = time_to_resolution;\n\n const updatedProtectedSeries = getChartSeries(protectedChartData);\n const updatedResolutionSeries = getChartSeries(resolutionChartData);\n let protectedChartOptions;\n let resolutionChartOptions;\n let protectedColors;\n let resolutionColors;\n let isTrendUp;\n let isTrendUpResolution;\n\n if (!!updatedProtectedSeries.length) {\n protectedChartOptions = {\n ...chartProtectedOptions,\n xAxis: {\n ...chartProtectedOptions.xAxis,\n categories: getChartCategories(protectedChartData, 'd')\n }\n };\n isTrendUp = getIsTrendUp(updatedProtectedSeries);\n protectedColors = isTrendUp ? TRENDS_COLORS.BAD : TRENDS_COLORS.GOOD;\n }\n\n if (!!updatedResolutionSeries.length) {\n resolutionChartOptions = {\n ...chartProtectedOptions,\n xAxis: {\n ...chartProtectedOptions.xAxis,\n categories: getChartCategories(resolutionChartData, 'm')\n }\n };\n isTrendUpResolution = getIsTrendUp(updatedResolutionSeries);\n resolutionColors = isTrendUpResolution ? TRENDS_COLORS.BAD : TRENDS_COLORS.GOOD;\n }\n\n // const calcPrecentage = (count: number, item: any) => {\n // return Math.round((item / count) * 100);\n // };\n\n // const total = protected_assets_by_service.data.reduce((all: number, item: any) => all + item.value, 0);\n let pieLegendSeries = protected_assets_by_service.data\n // .filter((item: any) => item.label.toLowerCase() !== 'other')\n .map((item: any) => ({\n name: item.label,\n title: item.label,\n y: item.value //calcPrecentage(total, item.value)\n }));\n // const totalValues = pieLegendSeries.reduce((sum: number, item: any) => sum + item.y, 0);\n\n // if (totalValues < 100) {\n // pieLegendSeries = [\n // ...pieLegendSeries,\n // {\n // name: 'Other',\n // title: 'Other',\n // y: 100 - totalValues\n // }\n // ];\n // }\n\n let addedLast30Days;\n let removedLast30Days;\n if (!!updatedProtectedSeries && updatedProtectedSeries.length > 1) {\n if (\n updatedProtectedSeries[updatedProtectedSeries.length - 1].y >\n updatedProtectedSeries[updatedProtectedSeries.length - 2].y\n ) {\n addedLast30Days =\n updatedProtectedSeries[updatedProtectedSeries.length - 1].y -\n updatedProtectedSeries[updatedProtectedSeries.length - 2].y;\n removedLast30Days = 0;\n } else if (\n updatedProtectedSeries[updatedProtectedSeries.length - 1].y <\n updatedProtectedSeries[updatedProtectedSeries.length - 2].y\n ) {\n removedLast30Days =\n updatedProtectedSeries[updatedProtectedSeries.length - 2].y -\n updatedProtectedSeries[updatedProtectedSeries.length - 1].y;\n addedLast30Days = 0;\n } else {\n addedLast30Days = 0;\n removedLast30Days = 0;\n }\n } else {\n addedLast30Days = 0;\n removedLast30Days = 0;\n }\n let addedLast30DaysProps;\n let removedLast30DaysProps;\n addedLast30DaysProps =\n addedLast30Days !== 0\n ? {\n isTrend: true,\n isTrendUp: isTrendUp,\n rightContentClassName: 'last-30',\n isUpArrowGreen: false\n }\n : {};\n removedLast30DaysProps =\n removedLast30Days !== 0\n ? {\n isTrend: true,\n isTrendUp: isTrendUpResolution,\n rightContentClassName: 'last-30',\n isUpArrowGreen: false\n }\n : {};\n\n return (\n \n \n \n \n \n PROTECTED ASSETS OVER TIME\n \n \n \n \n \n \n {updatedProtectedSeries[updatedProtectedSeries.length - 1].y}\n \n \n \n {!!updatedProtectedSeries.length ? (\n \n ) : (\n \n )}\n \n \n \n {addedLast30Days}\n \n \n \n \n {removedLast30Days}\n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n TIME TO RESOLUTION\n \n \n \n \n \n \n \n \n {currentlyInsecure}\n \n \n \n {!!updatedResolutionSeries.length ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n
    \n );\n};\n\nconst ActiveProtectionCollapse = () => {\n const { data } = useTopPanelContext();\n const { protected_assets, protected_assets_by_service, time_to_resolution } = data;\n const { currently_protected: currentlyProtected, added_last_30_days: addedLastMonth } = protected_assets;\n const { current_average: currentlyInsecure } = time_to_resolution;\n const updatedProtectedSeries = getChartSeries(protected_assets.data);\n // const updatedResolutionSeries = getChartSeries(time_to_resolution.data);\n //protected_assets.data\n const isTrendUp = getIsTrendUp(updatedProtectedSeries) || false;\n // const isTrendUpResolution = getIsTrendUp(updatedResolutionSeries) || false;\n\n // const bar = protected_assets_by_service.data.map((item: any))\n // let bar = {\n // count: chart.count,\n // results: chart.series.map((item: any, index: number) => ({\n // value: item.value,\n // title: item.label,\n // color: colors[index]\n // }))\n // };\n // const total = bar.results.reduce((sum: number, item: any) => sum + item.value, 0);\n // if (total < chart.count) {\n // bar = {\n // ...bar,\n // results: [...bar.results, { value: chart.count - total, color: colors[colors.length - 1], title: 'Other' }]\n // };\n // }\n\n const last30Days =\n !!updatedProtectedSeries && updatedProtectedSeries.length > 1\n ? updatedProtectedSeries[updatedProtectedSeries.length - 1].y -\n updatedProtectedSeries[updatedProtectedSeries.length - 2].y\n : 0;\n\n // const last30DaysResolution =\n // !!updatedResolutionSeries && updatedResolutionSeries.length > 1\n // ? updatedResolutionSeries[updatedResolutionSeries.length - 1].y -\n // updatedResolutionSeries[updatedResolutionSeries.length - 2].y\n // : 0;\n\n return (\n \n \n \n PROTECTED ASSETS OVER TIME\n \n \n \n \n Currently Protected\n \n \n \n \n {currentlyProtected}\n \n \n \n \n Added Last 30 Days\n \n \n \n \n {addedLastMonth}\n \n \n \n \n Removed Last 30 Days\n \n \n \n \n {last30Days}\n \n \n {last30Days !== 0 && (\n \n \n \n )}\n {!!protected_assets_by_service && !!protected_assets_by_service.data && (\n <>\n
    \n \n \n \n \n )}\n {!!currentlyInsecure && (\n <>\n
    \n \n \n {texts.panel_II_title}\n \n \n \n \n Current Average\n \n \n \n \n {currentlyInsecure}\n \n \n \n )}\n
    \n );\n};\n\nconst TopPanelActiveProtection = () => {\n const { isOpen, data } = useTopPanelContext();\n\n if (!data || !Object.keys(data).length) return null;\n\n return isOpen ? : ;\n};\n\nexport default TopPanelActiveProtection;\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nimport { IconsCommon } from '../iconsCommon';\nimport '../icons.scss';\nexport class IconArrowTrend extends React.Component {\n public props: IIcon;\n\n render() {\n let color = this.props.active ? '#24D9AD' : '#F46666';\n\n return (\n \n \n \n );\n }\n}\n","import { Common } from 'common/services/common.service';\nimport { IconArrowTrend } from '../Icons/IconArrowTrend/IconArrowTrend';\nimport './score.scss';\n\nexport function Score(props: any) {\n let color = !!props.label ? Common.getColorByTestResult(props.label.charAt(0)) : '#555659';\n\n return (\n <>\n {\n
    \n
    \n \n
    {props.label}
    \n {props.is_upward_trajectory && (\n \n )}\n {props.value !== null &&
    {props.value}
    }\n \n }\n \n );\n}\n","import { Score } from 'common/components/score/Score';\nimport classNames from 'classnames';\nimport Tooltip from '@mui/material/Tooltip';\nimport { makeStyles } from '@material-ui/core/styles';\nimport './SubsidiaryRow.scss';\n\nconst useStyles = makeStyles({\n tooltip: {\n fontSize: 12,\n fontFamily: 'Rubik',\n fontWeight: 400,\n backgroundColor: '#1A1A1A'\n }\n});\n\nexport function SubsidiaryRow(props: any) {\n const classes = useStyles();\n\n const handleOnClick = () => {\n if (!!props.score && props.onClick) {\n props.onClick();\n }\n };\n\n return (\n
    \n
    \n \n
    {props.score}
    \n
    {props.name}
    \n
    \n {!props.score && (\n \n
    \n \"subsidiary\n
    \n \n )}\n
    \n );\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport classNames from 'classnames';\nimport { SubsidiaryRow } from './SubsidiaryRow/SubsidiaryRow';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { setActiveSubsidiary } from 'features/SubsidiariesSlice';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { env } from 'env';\nimport { ToolTip } from '../toolTip/toolTip';\nimport { IReduxState } from 'app/store';\nimport { LoginService } from 'login/services/login.service';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { Grid, Tooltip } from '@mui/material';\n\nimport './SubsidiariesDropDown.scss';\n\ninterface subsidiaryItem {\n label: string;\n score: number;\n name: string;\n}\n\nexport function SubsidiariesDropDown({ name, domain }: { name: string; domain: string }) {\n const ref = useRef(null);\n const [open, setOpen] = useState(false);\n const [sortBy, setSoryBy] = useState('score');\n const [search, setSearch] = useState('');\n\n const dispatch = useDispatch();\n const { parentCompany, allSubsidiaries } = useSelector((state: IReduxState) => state.subsidiaries);\n const { user } = useSelector((state: IReduxState) => state.login);\n\n const flags = useFlags();\n const showHeader = !LoginService.isRestrictedMember(user);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const getFilteredItems = (item: any) => {\n if (search) {\n return item.name.toLowerCase().includes(search.toLowerCase());\n }\n return true;\n };\n\n if (!flags.isSubsidiaryAttackSurfaceRiskScore) {\n return null;\n }\n\n const tooltipTitle = (\n \n \n \n {name}\n \n \n \n \n {domain}\n \n \n \n );\n\n let isActive;\n if (LoginService.isRestrictedMember(user)) {\n isActive = !!allSubsidiaries?.count && allSubsidiaries.count > 1;\n } else {\n isActive = !!allSubsidiaries?.count;\n }\n const style = isActive ? { border: '2px solid #3f404599' } : {};\n\n const itemOnClick = (item: any) => () => {\n if (!!item.score) {\n setOpen(false);\n dispatch(setActiveSubsidiary(item));\n }\n };\n\n const headerOnClick = () => {\n if (!!parentCompany.score) {\n setOpen(false);\n dispatch(setActiveSubsidiary({}));\n }\n };\n\n return (\n
    \n setOpen(!open)}\n style={{\n display: 'flex',\n height: '100%',\n justifyContent: 'space-between',\n ...(isActive ? { padding: '0 10px' } : { paddingTop: 10 })\n }}\n >\n \n
    \n \n {name}\n \n \n {domain}\n \n
    \n \n {isActive && (\n
    \n \n
    \n )}\n
    \n\n
    \n {showHeader && (\n <>\n \n\n {`Subsidiaries (${\n !!allSubsidiaries?.count ? allSubsidiaries.count : 0\n })`}\n \n )}\n
    \n \"Search\"\n setSearch(e.target.value)} value={search}>\n
    \n
    \n \n \n
    \n \n \"Export\"\n \n \n
    \n
    \n
    \n
    \n {!!allSubsidiaries?.count ? (\n
      \n {[...allSubsidiaries.results]\n .sort((a: subsidiaryItem, b: subsidiaryItem) =>\n sortBy === 'score' ? b.score - a.score : a.name.localeCompare(b.name)\n )\n .filter(getFilteredItems)\n .map((item: subsidiaryItem) => {\n return (\n
    • \n \n
    • \n );\n })}\n
    \n ) : (\n
    No subsidiaries to show here...
    \n )}\n
    \n
    \n
    \n \n );\n}\n","import {\n Text,\n Chart,\n Indicator,\n CHART_TYPES,\n TOOLTIP_TYPE,\n IconRiskLegend,\n ChartEmptyState,\n NA\n} from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { useTopPanelContext } from '../TopPanelContext';\nimport { TRENDS_COLORS, getIsTrendUp, getChartSeries, getChartCategories } from 'common/components/TopPanel/utils';\nimport { SubsidiariesDropDown } from 'common/components/SubsidiariesDropDown/SubsidiariesDropDown';\nimport classNames from 'classnames';\n\nimport './toppanel-assessments.scss';\n\nconst textProps = {\n textSize: 36,\n textColor: '#FFFFFF',\n family: 'Rajdhani',\n upper: true\n};\n\nconst chartOptions = {\n chart: {\n type: CHART_TYPES.AREA,\n backgroundColor: '#2c2c30',\n height: 100,\n marginLeft: 0,\n marginRight: 0,\n marginTop: 10,\n marginBottom: 26\n },\n xAxis: {\n visible: true,\n tickWidth: 1,\n tickLength: 5,\n tickmarkPlacement: 'on',\n tickColor: '#B7BBC5'\n },\n yAxis: {\n gridLineWidth: 0,\n labels: {\n enabled: false\n }\n },\n responsive: {\n rules: [\n {\n condition: {\n maxWidth: 400\n },\n chartOptions: {\n chart: {\n marginBottom: 25,\n marginTop: 10\n },\n xAxis: {\n visible: true,\n labels: {\n enabled: false\n }\n }\n }\n },\n {\n condition: {\n minWidth: 401\n },\n chartOptions: {\n xAxis: {\n visible: true,\n labels: {\n enabled: true\n }\n }\n }\n }\n ]\n }\n};\n\nconst AssessmentsExpand = () => {\n const { data } = useTopPanelContext();\n\n const { overall_score: score, overall_rank: rank, data: chartData, name, main_domain } = data;\n\n const chartSeries = getChartSeries(chartData);\n let updatedChartOptions;\n let chartColors;\n let isTrendUp = getIsTrendUp(chartSeries);\n\n if (!!chartSeries.length) {\n updatedChartOptions = {\n ...chartOptions,\n xAxis: {\n ...chartOptions.xAxis,\n categories: getChartCategories(chartData, 'm')\n }\n };\n chartColors = isTrendUp ? TRENDS_COLORS.GOOD : TRENDS_COLORS.BAD;\n }\n\n return (\n \n \n \n \n \n Company\n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n Attack Surface Risk\n \n \n \n \n \n \n \n \n \n {!!score ? score : }\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n Attack Surface Risk\n \n \n \n {!!chartData && !!chartData.length ? (\n \n ) : (\n \n )}\n \n \n \n
    \n );\n};\n\nconst AssessmentsCollapse = () => {\n const { data } = useTopPanelContext();\n const {\n risk: { score, rank }\n } = data;\n\n return (\n \n \n \n Attack Surface Risk\n \n \n \n \n \n \n \n {score}\n \n \n \n );\n};\n\nconst TopPanelAssessments = () => {\n const { isOpen, data } = useTopPanelContext();\n\n if (!data || !Object.keys(data).length) return null;\n return isOpen ? : ;\n};\n\nexport default TopPanelAssessments;\n","// import React, { useState, useMemo } from 'react';\nimport { Text, IconConfidence } from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { useTopPanelContext } from '../TopPanelContext';\nimport { Common } from 'common/services/common.service';\n\nimport './toppanel-single-asset.scss';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nconst textProps = {\n textSize: 36,\n textColor: '#FFFFFF',\n family: 'Rajdhani',\n upper: true\n};\n\nconst texts = { critical: 'Critical', high: 'High', medium: 'Medium', low: 'Low', no_risk: 'No Risk' };\nconst CONFIDENCE = { 10: 'Low', 20: 'Medium', 30: 'High' };\n\nconst TopPanelConnections = () => {\n const { data } = useTopPanelContext();\n const { connections_by_severity } = Array.isArray(data) ? data[0] : data;\n const total = Object.values(connections_by_severity).reduce((all: number, curr: any) => all + curr, 0);\n\n return (\n \n \n \n Connections\n \n \n \n \n {total}\n \n \n
    \n \n \n SEVERITY\n \n \n {Object.entries(connections_by_severity).map(([key, value]) => (\n <>\n \n \n {texts[key as keyof typeof texts]}\n \n \n \n \n {value}\n \n \n \n ))}\n
    \n );\n};\n\nconst TopPanelEvidence = () => {\n const { data } = useTopPanelContext();\n const { overall_confidence, derived_from, source } = data;\n\n return (\n \n \n \n ASSET SOURCE\n \n \n \n \n {source}\n \n \n
    \n \n \n confidence level\n \n \n \n \n \n \n \n \n \n {CONFIDENCE[overall_confidence.overall_confidence as keyof typeof CONFIDENCE]}\n \n \n \n \n {!!derived_from && (\n <>\n
    \n \n \n EVIDENCE DERIVED FROM\n \n \n \n {derived_from}}\n className=\"ssa-header-text-link\"\n />\n \n \n )}\n
    \n\n // \n //
    \n // CONFIDENCE LEVEL\n //
    \n // \n // \n // \n // {confidence}\n // \n // \n // \n\n // {!!derived_from && (\n //
    \n //
    \n // EVIDENCE DERIVED FROM\n //
    \n\n // \n // {derived_from}\n // \n //
    \n // )}\n // \n );\n};\n\nconst TopPanelSingleAsset = () => {\n const { data, tab } = useTopPanelContext();\n\n if (!data || !Object.keys(data).length) return null;\n return tab === 'connections' ? : ;\n};\n\nexport default TopPanelSingleAsset;\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconHeroku extends React.Component {\n public props: IIcon;\n\n render() {\n return (\n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconOVH extends React.Component {\n public props: IIcon;\n\n render() {\n return (\n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconNetlify extends React.Component {\n public props: IIcon;\n\n render() {\n return (\n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconEdgio extends React.Component {\n public props: IIcon;\n\n render() {\n return (\n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconVerizon extends React.Component {\n public props: IIcon;\n\n render() {\n return (\n \n \n \n );\n }\n}\n","import React from 'react';\nimport { topPanelConfig } from '../configs/topPanelConfig';\nimport TopPanelLinksConfig from '../configs/TopPanelLinksConfig';\nimport TopPanelActionItems from '../TopPanelActionItems/TopPanelActionItems';\nimport TopPanelDashboard from '../TopPanelDashboard/TopPanelDashboard';\nimport TopPanelDiscovery from '../TopPanelDiscovery/TopPanelDiscovery';\nimport TopPanelActiveProtection from '../TopPanelActiveProtection/TopPanelActiveProtection';\nimport TOP_PANEL_PAGES from 'common/constants/topPanelPages';\nimport TopPanelAssessments from '../TopPanelAssessments/TopPanelAssessments';\nimport TopPanelSingleAsset from '../TopPanelSingleAsset/TopPanelSingleAsset';\nimport {\n IconAWS,\n IconAzure,\n IconGCP,\n IconAkamai,\n IconIncapsula,\n IconCloudflare,\n IconIP,\n IconOther,\n IconDomain,\n IconSubDomain\n} from '@cyberpion/cyberpion-ui';\nimport { IconHeroku } from 'common/components/Icons/IconHeroku/IconHeroku';\nimport { IconOVH } from 'common/components/Icons/IconOVH/IconOVH';\nimport { IconNetlify } from 'common/components/Icons/IconNetlify/IconNetlify';\nimport { IconEdgio } from 'common/components/Icons/IconEdgio/IconEdgio';\nimport { IconVerizon } from 'common/components/Icons/IconVerizon/IconVerizon';\nimport { Common } from 'common/services/common.service';\n// import { useHistory } from 'react-router-dom';\n\nexport const iconByID = {\n domain: ,\n subdomain: ,\n ip: ,\n aws: ,\n azure: ,\n akamai: ,\n gcp: ,\n other: ,\n cloudflare: ,\n incapsula: ,\n googlecloud: ,\n heroku: ,\n ovh: ,\n netlify: ,\n edgio: ,\n verizon: \n};\n\nexport const getTechIcon = (id: string) => {\n let iconId = id.indexOf('(') > -1 ? id.split('(')[0] : id;\n iconId = iconId.replace(/\\s/g, '');\n return iconByID[iconId as keyof typeof iconByID] ? iconByID[iconId.trim() as keyof typeof iconByID] : ;\n};\n\nconst useTopPanel = (page: string) => {\n const { isExpandable } = topPanelConfig[page as keyof typeof topPanelConfig];\n // const history = useHistory();\n\n const links = TopPanelLinksConfig[page as keyof typeof topPanelConfig];\n const additionalProps = !!links && !!Object.keys(links) ? { links } : {};\n\n const handleLinkOnClick = (link: string) => {\n window.open(Common.AddMsspAccountIfNeeded(links[link]), '_blank');\n // history.push(links[link]);\n };\n\n const getTopPanelInContext = () => {\n switch (page) {\n case TOP_PANEL_PAGES.DASHBOARD:\n return ;\n case TOP_PANEL_PAGES.ACTION_ITEMS:\n return ;\n case TOP_PANEL_PAGES.DISCOVERY:\n return ;\n case TOP_PANEL_PAGES.ACTIVE_PROTECTION:\n return ;\n case TOP_PANEL_PAGES.ASSESSMENTS:\n return ;\n case TOP_PANEL_PAGES.SINGLE_ASSET:\n return ;\n\n default:\n return null;\n }\n };\n\n return { getTopPanelInContext, isExpandable };\n};\n\nexport default useTopPanel;\n","import React from 'react';\n\nimport useTopPanel from 'common/components/TopPanel/hooks/useTopPanel';\nimport { CollapsePanel } from '@cyberpion/cyberpion-ui';\nimport { TopPanelContext } from './TopPanelContext';\n\nimport './top-panel.scss';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\n\ninterface ITopPanel {\n data: any;\n page: string;\n isOpen?: boolean;\n setToggle?: (bln: boolean) => void;\n tab?: string;\n isLoading?: boolean;\n}\n\nconst TopPanel: React.FC = ({ data, page, isLoading, tab, isOpen, setToggle }) => {\n const { getTopPanelInContext, isExpandable } = useTopPanel(page);\n const flags = useFlags();\n const additionalProps = isExpandable ? { isExpandable, collapsedSize: 50, isOpen, setToggle } : {};\n const classTab = !!tab ? `-${tab}` : '';\n\n if (tab === 'evidence' && flags.isDiscoveryEvidenceV2) {\n return null;\n }\n\n return (\n
    \n \n \n {getTopPanelInContext()}\n \n \n
    \n );\n};\n\nexport default TopPanel;\n","import { useState } from 'react';\n\nconst useShowToggle = (initialValue = false) => {\n const [isOpen, setIsOpen] = useState(initialValue);\n\n const toggle = () => {\n setIsOpen(toggle => !toggle);\n };\n\n const setToggle = (value: boolean) => {\n setIsOpen(value);\n };\n\n return { isOpen, toggle, setToggle };\n};\n\nexport default useShowToggle;\n","// import TOP_PANEL_PAGES from 'common/constants/topPanelPages';\n// import ActionItemsLoadingState from './pages/ActionItemsLoadingState';\n// import DashboardLoadingState from './pages/DashboardLoadingState';\n// import { DiscoveryLoadingState, DiscoveryLoginLoadingState } from './pages/DiscoveryLoadingState';\n\nimport './top-panel-loading-state.scss';\n\nexport const TopPanelLoadingState = ({ page, isOpen, tab }: { page: string; isOpen?: boolean; tab?: string }) => {\n // switch (page) {\n // case TOP_PANEL_PAGES.DASHBOARD:\n // return ;\n // case TOP_PANEL_PAGES.ACTION_ITEMS:\n // return ;\n // case TOP_PANEL_PAGES.DISCOVERY:\n // return tab !== 'loginAssets' ? : ;\n // case TOP_PANEL_PAGES.ACTIVE_PROTECTION:\n // return ;\n // case TOP_PANEL_PAGES.ASSESSMENTS:\n // return ;\n // case TOP_PANEL_PAGES.SINGLE_ASSET:\n // return ;\n\n // default:\n // return null;\n // }\n return (\n
    \n
    \n
    \n );\n};\n","import { useEffect, useRef, useState } from 'react';\nimport { Grid } from 'common/components/grid/Grid';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { IRootColumnPicker } from 'common/interfaces/interface';\nimport { Paths } from 'common/constants/paths';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { PathNames } from 'common/constants/pathNames';\nimport { ReleaseRequest } from './components/releaseRequest/ReleaseRequest';\nimport { ISelectionRowsChange } from 'common/components/grid/interface';\nimport { removeAllRows, resetQueryString, setFields, setInitialPath } from 'features/GridSlice';\nimport { AppDispatch } from 'app/store';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport TopPanel from 'common/components/TopPanel/TopPanel';\nimport TOP_PANEL_PAGES from 'common/constants/topPanelPages';\nimport useShowToggle from 'common/hooks/useShowToggle';\nimport { Grid as MUIGrid } from '@mui/material';\nimport { TopPanelLoadingState } from 'common/components/TopPanel/TopPanelLoadingState/TopPanelLoadingState';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\n\nimport '../pages.scss';\nimport { setColumnPicker, setShowColumnPicker } from 'features/columnPickerSlice';\nexport interface IActiveProtect {\n rows?: any;\n path?: string;\n // columnPicker: IColumnPicker[];\n // showColumnPicker: boolean;\n isMoreButton: boolean;\n isCSVDownloadable: boolean;\n count: number;\n columns: Array;\n identifier: string;\n}\nexport function ActiveProtectionRouting(props: any) {\n const isInitialMount = useRef(true);\n const [showGrid, setShowGrid] = useState(false);\n const [showPopup, setShowPopup] = useState(false);\n const [activeProtectData, setActiveProtectData] = useState(initData());\n const [popupData, setPopupData] = useState([]);\n const [summaryData, setSummaryData] = useState(null);\n const [isSummaryLoading, setIsSummaryLoading] = useState(true);\n const [abortControllerGrid, setAbortControllerGrid] = useState();\n const [abortControllerTopPanel, setAbortControllerTopPanel] = useState();\n const { isOpen: isTopPanelOpne, setToggle: setTopPanelToggle } = useShowToggle(true);\n const { globalFilter } = useSelector((state: IReduxState) => state.general);\n const dispatch: AppDispatch = useDispatch();\n\n useEffect(() => {\n if (isInitialMount.current) {\n isInitialMount.current = false;\n fetchGridData();\n fetchTopPanelData();\n }\n });\n\n useEffect(() => {\n dispatch(resetQueryString());\n return () => {\n dispatch(removeAllRows());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n fetchTopPanelData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [globalFilter]);\n\n function initData(): IActiveProtect {\n return {\n rows: [],\n // columnPicker: [],\n // showColumnPicker: false,\n isMoreButton: true,\n isCSVDownloadable: false,\n count: 0,\n columns: [],\n identifier: ''\n };\n }\n\n const fetchTopPanelData = () => {\n if (abortControllerTopPanel) {\n abortControllerTopPanel.abort();\n }\n const abort_controller = new AbortController();\n setAbortControllerTopPanel(abort_controller);\n\n const url = !!globalFilter\n ? `${Paths[PathNames.activeProtectionSummary]}?group=${globalFilter}`\n : Paths[PathNames.activeProtectionSummary];\n setIsSummaryLoading(true);\n RestApi.getData(url, true, abort_controller.signal).subscribe((response: any) => {\n setSummaryData({ ...response, inContext: 'activeProtection' });\n setIsSummaryLoading(false);\n });\n };\n\n function fetchGridData() {\n if (abortControllerGrid) {\n abortControllerGrid.abort();\n }\n const abort_controller = new AbortController();\n setAbortControllerGrid(abort_controller);\n\n RestApi.getData(Paths[PathNames.activeProtectionColumns]).subscribe((columns: IRootColumnPicker) => {\n let fields = ColumnsManage.checkGridColumnsToDisplay(columns.data);\n dispatch(setFields(fields));\n dispatch(setInitialPath(Paths[PathNames.activeProtection]));\n dispatch(setColumnPicker(columns.data));\n dispatch(setShowColumnPicker(columns.is_displayable));\n\n setActiveProtectData({\n rows: [],\n // columnPicker: columns.data || [],\n // showColumnPicker: columns.is_displayable,\n isMoreButton: columns.is_more_button,\n isCSVDownloadable: columns.is_csv_downloadable,\n count: 0,\n identifier: columns.identifier_field,\n columns: ColumnsManage.createColumns(columns.identifier_field, columns.data || [], {\n page: 'activeProtection',\n tab: props.selectTab\n })\n });\n setShowGrid(true);\n });\n }\n\n function onSelectionChange(params: ISelectionRowsChange) {\n let assets: string[] = [];\n if (params.ids.length !== 0) {\n params.ids.forEach(id => {\n for (const key in params.rows) {\n if (params.rows[key][activeProtectData.identifier] === id) {\n assets.push(params.rows[key].protected_host);\n break;\n }\n }\n });\n\n setPopupData({\n assets: assets,\n ids: params.ids,\n apiGrid: params.apiGrid\n });\n setShowPopup(true);\n }\n }\n\n const showSummary = !!summaryData && summaryData.inContext === 'activeProtection';\n\n return (\n <>\n {!isSummaryLoading && showSummary ? (\n \n ) : (\n
    \n \n \n \n \n \n \n
    \n )}\n {showGrid ? (\n <>\n
    \n \n
    \n {showPopup && (\n \n \n \n )}\n \n ) : (\n
    Loading...
    \n )}\n \n );\n}\n","import { Link } from 'react-router-dom';\nimport { IconRadioButton } from '../../Icons/IconRadioButton/IconRadioButton';\nimport './List.scss';\n\ninterface IGroupFilterListProps {\n list: string[];\n filteredList: string[];\n selected: string;\n onSelect: (item: string) => void;\n onSelectType: (type: string) => void;\n title: string;\n link?: string;\n}\n\nexport const List = (props: IGroupFilterListProps) => {\n const handleOnSelect = (item: string) => () => {\n props.onSelect(item);\n props.onSelectType(props.title);\n };\n\n return (\n
  • \n
    \n
    {props.list.length ? props.title : `No ${props.title}`}
    \n {props.link && Manage}\n
    \n
    \n
      \n {props.filteredList.map((item: string) => {\n return (\n
    • \n \n {item}\n
    • \n );\n })}\n
    \n
    \n
  • \n );\n};\n","import { AppDispatch, IReduxState } from 'app/store';\nimport classNames from 'classnames';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IResponse, IResponsePaginatedData } from 'common/interfaces/interface';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useEffect, useRef, useState } from 'react';\nimport { IconArrow } from '../Icons/IconArrow/IconArrow';\nimport './GroupFilter.scss';\nimport { getRows, removeAllRows, setFields } from 'features/GridSlice';\nimport { setGlobalFilter, setGlobalFilterType } from 'features/GeneralSlice';\nimport { Search } from '../Search/Search';\nimport { List } from './List/List';\nimport { Common } from 'common/services/common.service';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { urlToStateConverter } from 'common/services/UrlToStateConverter.service';\nimport { Button } from '@cyberpion/cyberpion-ui';\n\ninterface IGroupFilterProps {\n type: string;\n onChange?: (value: string) => void;\n}\n\nexport function GroupFilter({ type, onChange }: IGroupFilterProps) {\n const [open, setOpen] = useState(false);\n const [subsidiariesList, setSubsidiariesList] = useState([]);\n const [filteredSubsidiariesList, setFilteredSubsidiariesList] = useState([]);\n const [groupsList, setGroupsList] = useState([]);\n const [filteredGroupsList, setFilteredGroupsList] = useState([]);\n const [metaGroupsList, setMetaGroupsList] = useState([]);\n const [filteredMetaGroupsList, setFilteredMetaGroupsList] = useState([]);\n const [preDefinedList, setPreDefinedList] = useState([]);\n const [filteredPreDefinedList, setFilteredPreDefinedList] = useState([]);\n const [selected, setSelected] = useState('');\n const [selectedType, setSelectedType] = useState(null);\n const [search, setSearch] = useState('');\n const [nextPath, setNextPath] = useState('');\n const dispatch: AppDispatch = useDispatch();\n const { globalFilter } = useSelector((state: IReduxState) => state.general);\n const ref = useRef(null);\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n useEffect(() => {\n getGroups(`${Paths[PathNames.groups]}?fields=name,type`);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setSelected(globalFilter);\n }, [globalFilter]);\n\n useEffect(() => {\n getGroups(nextPath);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [nextPath]);\n\n useEffect(() => {\n if (search) {\n const groupsResults: string[] = [];\n const metaGroupsResults: string[] = [];\n const subsidiariesResults: string[] = [];\n const preDefinedResults: string[] = [];\n const lowerCasedSearchInput = search.toLowerCase();\n\n groupsList.forEach((g: string) => {\n if (g.toLowerCase().includes(lowerCasedSearchInput)) {\n groupsResults.push(g);\n }\n });\n subsidiariesList.forEach((s: string) => {\n if (s.toLowerCase().includes(lowerCasedSearchInput)) {\n subsidiariesResults.push(s);\n }\n });\n metaGroupsList.forEach((g: string) => {\n if (g.toLowerCase().includes(lowerCasedSearchInput)) {\n metaGroupsResults.push(g);\n }\n });\n preDefinedList.forEach((g: string) => {\n if (g.toLowerCase().includes(lowerCasedSearchInput)) {\n preDefinedResults.push(g);\n }\n });\n setFilteredGroupsList(groupsResults);\n setFilteredMetaGroupsList(metaGroupsResults);\n setFilteredSubsidiariesList(subsidiariesResults);\n setFilteredPreDefinedList(preDefinedResults);\n } else {\n setFilteredGroupsList(groupsList);\n setFilteredMetaGroupsList(metaGroupsList);\n setFilteredSubsidiariesList(subsidiariesList);\n setFilteredPreDefinedList(preDefinedList);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [search]);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n const getGroups = (path: string) => {\n let _path = Common.splitV1FromPath(path);\n RestApi.getData(_path).subscribe((response: IResponsePaginatedData) => {\n const subsidiaries = response.results\n .filter((row: IResponse) => row.type === 'Subsidiary')\n .map((r: IResponse) => r.name)\n .sort(Common.sortAlphabetically);\n const groups = response.results\n .filter((row: IResponse) => row.type === 'Custom Group')\n .map((r: IResponse) => r.name)\n .sort(Common.sortAlphabetically);\n const metaGroups = response.results\n .filter((row: IResponse) => row.type === 'Meta Group')\n .map((r: IResponse) => r.name)\n .sort(Common.sortAlphabetically);\n const preDefined = response.results\n .filter((row: IResponse) => row.type === 'IONIX Predefined')\n .map((r: IResponse) => r.name)\n .sort(Common.sortAlphabetically);\n\n setGroupsList([...groupsList, ...groups]);\n setFilteredGroupsList([...groupsList, ...groups]);\n setSubsidiariesList([...subsidiariesList, ...subsidiaries]);\n setFilteredSubsidiariesList([...subsidiariesList, ...subsidiaries]);\n setMetaGroupsList([...metaGroupsList, ...metaGroups]);\n setFilteredMetaGroupsList([...metaGroupsList, ...metaGroups]);\n setPreDefinedList([...preDefinedList, ...preDefined]);\n setFilteredPreDefinedList([...preDefinedList, ...preDefined]);\n if (response.next) {\n setNextPath(response.next);\n }\n });\n };\n\n const onClear = () => {\n setSelected('');\n setSelectedType(null);\n setOpen(false);\n dispatch(setGlobalFilter(''));\n\n if (onChange) {\n onChange('');\n }\n\n if (type === 'grid') {\n dispatch(getRows());\n }\n };\n\n const onApply = () => {\n if (type === 'dashboard') {\n setOpen(false);\n dispatch(setGlobalFilter(selected));\n dispatch(setGlobalFilterType(selectedType));\n }\n if (type === 'grid') {\n setOpen(false);\n const fields = urlToStateConverter.getFields();\n dispatch(removeAllRows());\n dispatch(setGlobalFilter(selected));\n dispatch(setGlobalFilterType(selectedType));\n dispatch(setFields(fields));\n dispatch(getRows());\n }\n if (onChange) {\n onChange(selected);\n }\n };\n\n const isDisabledButton = () => {\n return (\n !filteredSubsidiariesList.length &&\n !filteredGroupsList.length &&\n !filteredMetaGroupsList.length &&\n !filteredPreDefinedList.length\n );\n };\n\n const getHeader = (): string => {\n if (globalFilter) {\n const titleLimit = 15;\n if (globalFilter.length > titleLimit) {\n return `${globalFilter.substring(0, titleLimit)}...`;\n }\n return globalFilter;\n }\n return '';\n };\n\n return (\n
    \n
    \n \"Global\n Global Filter\n
    setOpen(!open)} className=\"trigger-wrapper\">\n {getHeader() || 'All Groups'}\n \n
    \n
    \n
    \n \n
      \n \n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n );\n}\n","import React, { useEffect } from 'react';\nimport { ActiveProtectionRouting } from './ActiveProtectionRouting';\nimport { GroupFilter } from 'common/components/GroupFilter/GroupFilter';\nimport { updateHeader } from 'common/services/common.service';\nimport { useSelector } from 'react-redux';\n\nconst PAGE_NAME = 'Active Protection';\n\nconst ActiveProtection = (props: any) => {\n const { isLoggedIn } = useSelector((state: any) => state.login);\n useEffect(() => {\n if (isLoggedIn) {\n updateHeader.sendHeaderText(PAGE_NAME);\n }\n }, [isLoggedIn]);\n\n return (\n
    \n
    \n \n
    \n\n \n
    \n );\n};\n\nexport default ActiveProtection;\n","import React from 'react';\nimport ActiveProtection from './ActiveProtection';\nexport class ActiveProtectionModule extends React.Component {\n render() {\n return ;\n }\n}\n","export function IconCircledArrowRight(props: any) {\n return (\n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconTabManagedDomains extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n return (\n \n \n \n \n \n \n );\n }\n}\n","import './headerForm.scss';\nexport function HeaderForm(props: any) {\n return (\n
    \n
    \n {props.IconComponent && }\n
    {props.label}
    \n
    \n {/*
    {props.filter.label}
    */}\n
    \n );\n}\n","import { IconCircledArrowRight } from 'common/components/Icons/IconCircledArrowRight/IconCircledArrowRight';\nimport { IconTabManagedDomains } from 'common/components/Icons/IconTabManagedDomains/IconTabManagedDomains';\nimport { Common } from 'common/services/common.service';\nimport { Link } from 'react-router-dom';\nimport { HeaderForm } from '../headerForm/HeaderForm';\nimport './topAssetsAtRisk.scss';\n\nexport function TopAssetsAtRisk(props: any) {\n return Common.isNotEmpty(props) ? (\n
    \n \n {props.data && props.data.length !== 0 && (\n
    \n {props.data.map((item: any, index: number) => (\n
    \n
    {item}
    \n \n \n \n
    \n ))}\n
    \n )}\n
    \n ) : (\n
    No Data
    \n );\n}\n","import React from 'react';\nexport class IconConnectionPieChart extends React.Component {\n render() {\n return (\n \n \n \n \n \n \n \n );\n }\n}\n","// import { Common } from \"common/services/common.service\";\nimport { IconConnectionPieChart } from 'common/components/Icons/IconConnectionPieChart/IconConnectionPieChart';\nimport { Common } from 'common/services/common.service';\nimport './pieChartLegend.scss';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\ninterface ILegend {\n header: string;\n value: number;\n linkTo?: string;\n}\n\ninterface IPieChartLegend {\n label: string;\n data: ILegend[];\n colors: string[];\n show_percent_label: boolean;\n show_header_legend: boolean;\n show_color_number: boolean;\n icon: string;\n total: number;\n}\nexport function PieChartLegend(props: IPieChartLegend) {\n return (\n
    \n {props.show_header_legend && (\n
    \n {props.icon !== '' && }\n
    {props.label}
    \n
    \n )}\n\n {props.data &&\n props.data.map((item: ILegend, index: number) => (\n
    \n
    \n\n
    \n \n {/* {props.show_percent_label\n ? `${Common.percentage(item.value, props.total)}%`\n : Common.numberWithCommas(item.value)} */}\n {Common.numberWithCommas(item.value)}\n
    \n
    \n\n
    \n {item.linkTo ? : item.header}\n
    \n
    \n ))}\n \n );\n}\n","import React from 'react';\nimport * as d3 from 'd3';\nimport './pieChart.scss';\nimport { PieChartLegend } from './pieChartLegend/PieChartLegend';\nimport { Common } from 'common/services/common.service';\n\nconst radius = 70;\nconst width = radius * 2;\nconst height = radius * 2;\n// interface ILegend {\n// header: string;\n// name?: string;\n// date?: string;\n// value: number;\n// tooltip?: string;\n// added?: string;\n// removed?: string;\n// is_added_positive_trend?: boolean;\n// is_removed_positive_trend?: boolean;\n// }\n// interface IPieChart {\n// data: ILegend[];\n// show_percent_label: boolean;\n// is_black_mode: boolean;\n// show_header_legend: boolean;\n// show_color_number: boolean;\n// size_pie_chart?: string;\n// }\nexport function PieChart(props: any) {\n const svgRef = React.useRef(null);\n let total = 0;\n const colors = toggleColors();\n init();\n function init() {\n total = 0;\n if (!props.data) {\n return;\n }\n props.data.forEach((d: any) => {\n total = total + d.value;\n });\n }\n\n React.useEffect(() => {\n if (!props.data) {\n return;\n }\n //Tooltip\n let tooltip: any = d3.select(`.ttG-d3-scope`);\n function hiddenTooltip() {\n tooltip.style('opacity', 0);\n tooltip.style('display', 'none');\n }\n\n const svg = d3\n .select(svgRef.current)\n .attr('width', props.size_pie_chart || '100px')\n .attr('height', props.size_pie_chart || '100px')\n .attr('viewBox', `0 0 ${width} ${height}`)\n .append('g')\n .attr('class', 'group-container')\n .attr('transform', `translate(${width / 2}, ${height / 2})`);\n\n const color = d3.scaleOrdinal(colors);\n\n const pie = d3\n .pie()\n .sort(null)\n .value((d: any) => d.value);\n\n let path: any = d3\n .arc()\n .outerRadius(radius - 10)\n .innerRadius(radius - 20);\n\n const arc = svg\n .selectAll('.arc')\n .data(pie(props.data))\n .enter()\n .append('g')\n .attr('class', 'arc');\n\n arc\n .append('path')\n .attr('d', path)\n .attr('id', (d: any, index: any) => {\n d.index = index;\n return '';\n })\n .attr('fill', (d, i: any) => color(i))\n .attr('stroke-width', 2)\n .attr('stroke', props.is_black_mode ? '#454549' : '#e8e8e8')\n .on('mousemove', (e: any, d: any) => {\n tooltip.style('opacity', 1).style('display', 'block');\n tooltip\n .html(onTooltipTemplate(d))\n .style('left', e.pageX + 10 + 'px')\n .style('top', e.pageY + 'px');\n })\n .on('mouseleave', hiddenTooltip)\n .on('mouseout', hiddenTooltip);\n\n function onTooltipTemplate(event: any) {\n return `\n
    \n
    \n
    ${Common.percentage(event.value, total)}%
    \n
    ${event.data.header}
    \n\n
    \n
    \n `;\n }\n });\n\n function toggleColors() {\n return props.is_black_mode\n ? ['#A862FF', '#DB42FF', '#7672F9', '#4B7AE7', '#4C8FDB']\n : ['#4B7AE7', '#B5A5F5', '#4A97A8', '#4EABDE', '#A9CDE8'];\n }\n\n return (\n
    \n \n \n
    \n );\n}\n","import { PieChart } from 'common/components/pieChart/PieChart';\nimport { Common } from 'common/services/common.service';\nimport './pieChartForm.scss';\nexport function PieChartForm(props: any) {\n return Common.isNotEmpty(props) ? (\n
    \n \n
    \n ) : (\n
    No Data
    \n );\n}\n","import { IIcon } from 'common/interfaces/interface';\nimport React from 'react';\n\nexport class IconActionOverTimes extends React.Component {\n public props: IIcon;\n render() {\n let color = '#3455DD'; //this.props.active ? \"#3455DD\" : \"#6D6D7A\";\n return (\n \n \n \n \n \n );\n }\n}\n","import { Common } from 'common/services/common.service';\nimport React, { useEffect } from 'react';\nimport * as d3 from 'd3';\nimport './legend.scss';\ninterface ILegend {\n label: string;\n key?: string;\n is_toggled?: boolean;\n}\n\ninterface IMultiLineChartLegend {\n data: ILegend[];\n}\nexport function Legend(props: IMultiLineChartLegend) {\n const [dataLegend, setDataLegend] = React.useState([]);\n\n useEffect(() => {\n let data = [...props.data];\n setDataLegend(data);\n }, [props.data]);\n\n function filterGroup(item: any, index: number) {\n let data = [...dataLegend];\n\n data[index].is_toggled = !item.is_toggled;\n d3.selectAll(`.circle-${item.key}`)\n .transition()\n .duration(400)\n .style('opacity', data[index].is_toggled ? 1 : 0)\n .attr('r', data[index].is_toggled ? 4 : 0);\n\n d3.selectAll(`.path-${item.key}`)\n .transition()\n .duration(400)\n .style('opacity', data[index].is_toggled ? 1 : 0);\n\n setDataLegend(data);\n }\n\n return (\n
    \n {dataLegend.map((item: ILegend, index: number) => (\n {\n filterGroup(item, index);\n }}\n className=\"multiLineChart-legend-scope\"\n key={index}\n >\n
    \n
    {item.label}
    \n \n ))}\n \n );\n}\n","import { useEffect, useRef } from 'react';\nimport * as d3 from 'd3';\nimport './multiLineChart.scss';\nimport { Common } from 'common/services/common.service';\nimport { Legend } from './legend/Legend';\n\nexport function MultiLineChart(props: any) {\n const isInitialMount = useRef(true);\n const svgRef = useRef(null);\n let data = props.data;\n useEffect(() => {\n //Tooltip\n let tooltip: any = d3.select(`.ttG-d3-scope`);\n function initData() {\n let listDate: any = [];\n let listValue: any = [];\n data.forEach((item: any) => {\n item.values.forEach((value: any, index: number) => {\n value.isEnd = 2 >= index;\n listDate.push(splitTime(value.date));\n listValue.push(value.value);\n });\n });\n return { listDate, listValue };\n }\n\n function splitTime(time: string) {\n return time.split('T')[0];\n }\n\n function createGraph() {\n // set the dimensions and margins of the graph\n const margin = { top: 10, right: 30, bottom: 30, left: 60 },\n width = 1150,\n height = 300;\n\n let parseTime = d3.timeParse('%m/%d/%Y');\n\n // append the svg object to the body of the page\n const svg = d3\n .select(svgRef.current)\n .attr('color', '#8C909A')\n .append('g')\n .attr('transform', `translate(${margin.left},${margin.top})`);\n\n let obj = initData();\n // Add X axis --> it is a date format\n const x: any = d3\n .scaleTime()\n .domain(d3.extent(obj.listDate, (date: string) => parseTime(date)) as [Date, Date])\n .range([0, width]);\n svg\n .append('g')\n .attr('class', 'multiLineChart-x')\n .attr('transform', `translate(0, ${height})`)\n .call(\n d3\n .axisBottom(x)\n .ticks(6)\n .tickSizeOuter(0)\n .tickFormat((date: any) => {\n return d3.timeFormat('%B')(date);\n })\n );\n\n // Add Y axis\n const y: any = d3\n .scaleLinear()\n .domain(d3.extent(obj.listValue, (value: any) => +value) as [number, number])\n .range([height, obj.listValue.every((val: number) => val === 0) ? height : 0]);\n svg\n .append('g')\n .attr('class', 'multiLineChart-y')\n .call(d3.axisLeft(y).tickSizeOuter(0));\n\n // Draw the line\n svg\n .selectAll('.line')\n .data(data)\n .join('path')\n .attr('fill', 'none')\n .attr('class', (d: any) => `path-${d.key}`)\n .attr('stroke', (d: any) => Common.getColorByUrgency(d.key))\n .attr('stroke-width', 1.5)\n .style('opacity', (d: any) => (d.is_toggled ? 1 : 0))\n .attr('d', (d: any) => {\n return d3\n .line()\n .curve(d3.curveCatmullRom.alpha(2))\n .x((d: any) => x(parseTime(splitTime(d.date))))\n .y((d: any) => y(+d.value))(d.values);\n });\n\n let circles = svg\n .selectAll('.circle-x')\n .data(data)\n .enter()\n .append('g');\n let circle = circles\n .selectAll('.circle-scope')\n .data((d: any) => d.values)\n .enter()\n .append('circle')\n .attr('fill', '#ffffff')\n .attr('stroke-width', '3')\n .attr('opacity', function() {\n let that: any = this;\n return that.parentNode.__data__.is_toggled ? 1 : 0;\n })\n .attr('class', function() {\n let that: any = this;\n return `circle-${that.parentNode.__data__.key}`;\n })\n .attr('stroke', function() {\n let that: any = this;\n return Common.getColorByUrgency(that.parentNode.__data__.key);\n })\n .attr('cx', (d: any) => x(parseTime(splitTime(d.date))))\n .attr('cy', (d: any) => y(d.value))\n .attr('r', function() {\n let that: any = this;\n return that.parentNode.__data__.is_toggled ? 4 : 0;\n });\n toggleOpenTooltip(circle);\n }\n\n function hiddenTooltip() {\n tooltip\n .interrupt() // this stops any ongoing transition\n .transition()\n .style('opacity', 0)\n .style('display', 'none');\n }\n\n function toggleOpenTooltip(element: any) {\n // #TODO: move this function to a place where we can use it across the app\n element\n .on('mouseover', (e: any, d: any) => {\n tooltip\n .transition()\n .duration(200)\n .style('opacity', 1)\n .style('display', 'block');\n setTimeout(() => {\n let left = d.isEnd ? e.pageX - tooltip.node().offsetWidth : e.pageX + 10;\n let top = d.isEnd ? e.pageY : e.pageY;\n tooltip\n .html(onTooltipTemplate(d))\n .style('left', left + 'px')\n .style('top', top + 'px');\n });\n })\n // wheel event is for hiding the tooltip when user start scrolling\n .on('wheel', hiddenTooltip)\n .on('mouseout', hiddenTooltip);\n }\n if (isInitialMount.current) {\n isInitialMount.current = false;\n createGraph();\n }\n }, [data]);\n\n function onTooltipTemplate(event: any) {\n return `\n
    \n
    \n
    \n
    ${event.header}
    \n
    ${Common.getDateFormat(event.date)}
    \n
    \n
    ${event.value}
    \n
    \n\n ${\n event.added || event.removed\n ? `\n
      \n ${\n event.added\n ? `
    • \n ${event.added}\n Action Items Opened \n
    • `\n : ''\n }\n ${\n event.removed\n ? `
    • \n ${event.removed}\n Action Items Closed \n
    • `\n : ''\n }\n
    \n `\n : ''\n }\n\n ${event.isEnd ? '' : `
    `}\n
    \n `;\n }\n return (\n <>\n \n \n \n );\n}\n","import { IconActionOverTimes } from 'common/components/Icons/IconActionOverTimes/IconActionOverTimes';\nimport { MultiLineChart } from 'common/components/multiLineChart/MultiLineChart';\nimport { Common } from 'common/services/common.service';\nimport { HeaderForm } from 'pages/dashboard/components/headerForm/HeaderForm';\nimport './criticalActionsOverTime.scss';\n\nexport function CriticalActionsOverTime(props: any) {\n return Common.isNotEmpty(props) ? (\n
    \n \n \n
    \n ) : (\n
    No Data
    \n );\n}\n","export const DATA_MAP: any = {\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Belize\",\n sov_a3: \"BLZ\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Belize\",\n adm0_a3: \"BLZ\",\n geou_dif: 0,\n geounit: \"Belize\",\n gu_a3: \"BLZ\",\n su_dif: 0,\n subunit: \"Belize\",\n su_a3: \"BLZ\",\n brk_diff: 0,\n name: \"Belize\",\n name_long: \"Belize\",\n brk_a3: \"BLZ\",\n brk_name: \"Belize\",\n brk_group: null,\n abbrev: \"Belize\",\n postal: \"BZ\",\n formal_en: \"Belize\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Belize\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 5,\n mapcolor13: 7,\n pop_est: 307899,\n gdp_md_est: 2536,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BZ\",\n iso_a3: \"BLZ\",\n iso_n3: \"084\",\n un_a3: \"084\",\n wb_a2: \"BZ\",\n wb_a3: \"BLZ\",\n woe_id: -99,\n adm0_a3_is: \"BLZ\",\n adm0_a3_us: \"BLZ\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Central America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"BLZ.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-89.14308041050332, 17.80831899664932],\n [-89.15090938999553, 17.95546763760042],\n [-89.02985734735182, 18.001511338772488],\n [-88.84834387892661, 17.883198147040233],\n [-88.49012285027935, 18.486830552641603],\n [-88.3000310940937, 18.4999822046599],\n [-88.29633622918482, 18.35327281338327],\n [-88.10681291375437, 18.348673610909287],\n [-88.1234785631685, 18.07667470954101],\n [-88.2853549873228, 17.644142971258034],\n [-88.19786678745265, 17.489475409408456],\n [-88.30264075392444, 17.131693630435663],\n [-88.23951799187991, 17.036066392479555],\n [-88.35542822951057, 16.530774237529627],\n [-88.55182451043585, 16.265467434143147],\n [-88.73243364129594, 16.233634751851355],\n [-88.93061275913527, 15.887273464415074],\n [-89.22912167026928, 15.88693756760517],\n [-89.15080603713095, 17.015576687075836],\n [-89.14308041050332, 17.80831899664932],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Canada\",\n sov_a3: \"CAN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Canada\",\n adm0_a3: \"CAN\",\n geou_dif: 0,\n geounit: \"Canada\",\n gu_a3: \"CAN\",\n su_dif: 0,\n subunit: \"Canada\",\n su_a3: \"CAN\",\n brk_diff: 0,\n name: \"Canada\",\n name_long: \"Canada\",\n brk_a3: \"CAN\",\n brk_name: \"Canada\",\n brk_group: null,\n abbrev: \"Can.\",\n postal: \"CA\",\n formal_en: \"Canada\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Canada\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 6,\n mapcolor9: 2,\n mapcolor13: 2,\n pop_est: 33487208,\n gdp_md_est: 1300000,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"1. Developed region: G7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CA\",\n iso_a3: \"CAN\",\n iso_n3: \"124\",\n un_a3: \"124\",\n wb_a2: \"CA\",\n wb_a3: \"CAN\",\n woe_id: -99,\n adm0_a3_is: \"CAN\",\n adm0_a3_us: \"CAN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Northern America\",\n region_wb: \"North America\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"CAN.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [-63.6645, 46.55001],\n [-62.9393, 46.41587],\n [-62.01208, 46.44314],\n [-62.50391, 46.03339],\n [-62.87433, 45.96818],\n [-64.1428, 46.39265],\n [-64.39261, 46.72747],\n [-64.01486, 47.03601],\n [-63.6645, 46.55001],\n ],\n ],\n [\n [\n [-61.806305, 49.10506],\n [-62.29318, 49.08717],\n [-63.58926, 49.40069],\n [-64.51912, 49.87304],\n [-64.17322, 49.95718],\n [-62.85829, 49.70641],\n [-61.835585, 49.28855],\n [-61.806305, 49.10506],\n ],\n ],\n [\n [\n [-123.51000158755114, 48.51001089130344],\n [-124.0128907883995, 48.370846259141416],\n [-125.65501277733837, 48.8250045843385],\n [-125.95499446679275, 49.179995835967645],\n [-126.85000443587187, 49.53000031188043],\n [-127.0299934495444, 49.81499583597008],\n [-128.05933630436624, 49.9949590114266],\n [-128.44458410710217, 50.539137681676124],\n [-128.35841365625544, 50.770648098343685],\n [-127.3085810960299, 50.55257355407195],\n [-126.69500097721232, 50.400903225295394],\n [-125.75500667382319, 50.29501821552938],\n [-125.4150015875588, 49.95000051533261],\n [-124.92076818911934, 49.475274970083404],\n [-123.92250870832102, 49.06248362893581],\n [-123.51000158755114, 48.51001089130344],\n ],\n ],\n [\n [\n [-56.13403581401712, 50.6870097926793],\n [-56.795881720595276, 49.81230866149096],\n [-56.1431050278843, 50.150117499382844],\n [-55.471492275602934, 49.93581533466846],\n [-55.82240108908093, 49.58712860777911],\n [-54.935142584845664, 49.31301097268684],\n [-54.47377539734378, 49.55669118915918],\n [-53.476549445191324, 49.24913890237405],\n [-53.78601375997124, 48.51678050393363],\n [-53.086133999226256, 48.687803656603535],\n [-52.958648240762244, 48.157164211614486],\n [-52.64809872090419, 47.5355484075755],\n [-53.069158291218336, 46.65549876564495],\n [-53.52145626485304, 46.61829173439483],\n [-54.17893551290254, 46.80706574155701],\n [-53.961868659060485, 47.62520701760192],\n [-54.24048214376214, 47.75227936460763],\n [-55.4007730780115, 46.884993801453135],\n [-55.99748084168584, 46.9197203639533],\n [-55.29121904155278, 47.389562486351],\n [-56.25079871278052, 47.63254507098739],\n [-57.3252292547771, 47.572807115258],\n [-59.26601518414677, 47.603347886742505],\n [-59.419494188053704, 47.899453843774864],\n [-58.796586473207405, 48.25152537697949],\n [-59.231624518456535, 48.52318838153781],\n [-58.39180497906523, 49.12558055276418],\n [-57.35868974468604, 50.718274034215845],\n [-56.73865007183201, 51.28743825947853],\n [-55.870976935435294, 51.632094224649194],\n [-55.406974249886616, 51.58827261006573],\n [-55.60021826844209, 51.31707469339793],\n [-56.13403581401712, 50.6870097926793],\n ],\n ],\n [\n [\n [-133.1800040417117, 54.16997549093531],\n [-132.71000788443132, 54.040009315423525],\n [-131.74998958400326, 54.12000438090922],\n [-132.049480347351, 52.984621487024526],\n [-131.1790425218266, 52.180432847698285],\n [-131.57782954982292, 52.18237071390925],\n [-132.18042842677855, 52.639707139692405],\n [-132.54999243231387, 53.100014960332146],\n [-133.05461117875552, 53.41146881775537],\n [-133.2396644827927, 53.8510802272624],\n [-133.1800040417117, 54.16997549093531],\n ],\n ],\n [\n [\n [-79.26582, 62.158675],\n [-79.65752, 61.63308],\n [-80.09956, 61.7181],\n [-80.36215, 62.01649],\n [-80.315395, 62.085565],\n [-79.92939, 62.3856],\n [-79.52002, 62.36371],\n [-79.26582, 62.158675],\n ],\n ],\n [\n [\n [-81.89825, 62.7108],\n [-83.06857, 62.15922],\n [-83.77462, 62.18231],\n [-83.99367, 62.4528],\n [-83.25048, 62.91409],\n [-81.87699, 62.90458],\n [-81.89825, 62.7108],\n ],\n ],\n [\n [\n [-85.16130794954985, 65.65728465439281],\n [-84.97576371940596, 65.217518215589],\n [-84.4640120104195, 65.37177236598018],\n [-83.88262630891975, 65.10961782496355],\n [-82.78757687043877, 64.76669302027469],\n [-81.64201371939254, 64.45513580998696],\n [-81.55344031444425, 63.979609280037145],\n [-80.81736121287886, 64.05748566350101],\n [-80.10345130076661, 63.725981350348604],\n [-80.99101986359568, 63.41124603947497],\n [-82.54717810741701, 63.65172231714524],\n [-83.10879757356506, 64.10187571883972],\n [-84.10041663281388, 63.56971181909802],\n [-85.52340471061902, 63.05237905542409],\n [-85.86676876498237, 63.637252916103556],\n [-87.22198320183674, 63.541238104905226],\n [-86.35275977247127, 64.03583323837071],\n [-86.22488644076513, 64.82291697860826],\n [-85.88384782585487, 65.73877838811705],\n [-85.16130794954985, 65.65728465439281],\n ],\n ],\n [\n [\n [-75.86588, 67.14886],\n [-76.98687, 67.09873],\n [-77.2364, 67.58809],\n [-76.81166, 68.14856],\n [-75.89521, 68.28721],\n [-75.1145, 68.01036],\n [-75.10333, 67.58202],\n [-75.21597, 67.44425],\n [-75.86588, 67.14886],\n ],\n ],\n [\n [\n [-95.64768120380052, 69.10769035832178],\n [-96.2695212038006, 68.75704035832175],\n [-97.61740120380057, 69.0600303583218],\n [-98.43180120380052, 68.9507003583218],\n [-99.79740120380053, 69.4000303583218],\n [-98.91740120380055, 69.7100303583218],\n [-98.2182612038005, 70.14354035832176],\n [-97.15740120380056, 69.86003035832181],\n [-96.55740120380054, 69.68003035832176],\n [-96.25740120380053, 69.49003035832177],\n [-95.64768120380052, 69.10769035832178],\n ],\n ],\n [\n [\n [-90.5471, 69.49766],\n [-90.55151, 68.47499],\n [-89.21515, 69.25873],\n [-88.01966, 68.61508],\n [-88.31749, 67.87338],\n [-87.35017, 67.19872],\n [-86.30607, 67.92146],\n [-85.57664, 68.78456],\n [-85.52197, 69.88211],\n [-84.10081, 69.80539],\n [-82.62258, 69.65826],\n [-81.28043, 69.16202],\n [-81.2202, 68.66567],\n [-81.96436, 68.13253],\n [-81.25928, 67.59716],\n [-81.38653, 67.11078],\n [-83.34456, 66.41154],\n [-84.73542, 66.2573],\n [-85.76943, 66.55833],\n [-86.0676, 66.05625],\n [-87.03143, 65.21297],\n [-87.32324, 64.77563],\n [-88.48296, 64.09897],\n [-89.91444, 64.03273],\n [-90.70398, 63.61017],\n [-90.77004, 62.96021],\n [-91.93342, 62.83508],\n [-93.15698, 62.02469],\n [-94.24153, 60.89865],\n [-94.62931, 60.11021],\n [-94.6846, 58.94882],\n [-93.21502, 58.78212],\n [-92.76462, 57.84571],\n [-92.29703, 57.08709],\n [-90.89769, 57.28468],\n [-89.03953, 56.85172],\n [-88.03978, 56.47162],\n [-87.32421, 55.99914],\n [-86.07121, 55.72383],\n [-85.01181, 55.3026],\n [-83.36055, 55.24489],\n [-82.27285, 55.14832],\n [-82.4362, 54.28227],\n [-82.12502, 53.27703],\n [-81.40075, 52.15788],\n [-79.91289, 51.20842],\n [-79.14301, 51.53393],\n [-78.60191, 52.56208],\n [-79.12421, 54.14145],\n [-79.82958, 54.66772],\n [-78.22874, 55.13645],\n [-77.0956, 55.83741],\n [-76.54137, 56.53423],\n [-76.62319, 57.20263],\n [-77.30226, 58.05209],\n [-78.51688, 58.80458],\n [-77.33676, 59.85261],\n [-77.77272, 60.75788],\n [-78.10687, 62.31964],\n [-77.41067, 62.55053],\n [-75.69621, 62.2784],\n [-74.6682, 62.18111],\n [-73.83988, 62.4438],\n [-72.90853, 62.10507],\n [-71.67708, 61.52535],\n [-71.37369, 61.13717],\n [-69.59042, 61.06141],\n [-69.62033, 60.22125],\n [-69.2879, 58.95736],\n [-68.37455, 58.80106],\n [-67.64976, 58.21206],\n [-66.20178, 58.76731],\n [-65.24517, 59.87071],\n [-64.58352, 60.33558],\n [-63.80475, 59.4426],\n [-62.50236, 58.16708],\n [-61.39655, 56.96745],\n [-61.79866, 56.33945],\n [-60.46853, 55.77548],\n [-59.56962, 55.20407],\n [-57.97508, 54.94549],\n [-57.3332, 54.6265],\n [-56.93689, 53.78032],\n [-56.15811, 53.64749],\n [-55.75632, 53.27036],\n [-55.68338, 52.14664],\n [-56.40916, 51.7707],\n [-57.12691, 51.41972],\n [-58.77482, 51.0643],\n [-60.03309, 50.24277],\n [-61.72366, 50.08046],\n [-63.86251, 50.29099],\n [-65.36331, 50.2982],\n [-66.39905, 50.22897],\n [-67.23631, 49.51156],\n [-68.51114, 49.06836],\n [-69.95362, 47.74488],\n [-71.10458, 46.82171],\n [-70.25522, 46.98606],\n [-68.65, 48.3],\n [-66.55243, 49.1331],\n [-65.05626, 49.23278],\n [-64.17099, 48.74248],\n [-65.11545, 48.07085],\n [-64.79854, 46.99297],\n [-64.47219, 46.23849],\n [-63.17329, 45.73902],\n [-61.52072, 45.88377],\n [-60.51815, 47.00793],\n [-60.4486, 46.28264],\n [-59.80287, 45.9204],\n [-61.03988, 45.26525],\n [-63.25471, 44.67014],\n [-64.24656, 44.26553],\n [-65.36406, 43.54523],\n [-66.1234, 43.61867],\n [-66.16173, 44.46512],\n [-64.42549, 45.29204],\n [-66.02605, 45.25931],\n [-67.13741, 45.13753],\n [-67.79134, 45.70281],\n [-67.79046, 47.06636],\n [-68.23444, 47.35486],\n [-68.905, 47.185],\n [-69.237216, 47.447781],\n [-69.99997, 46.69307],\n [-70.305, 45.915],\n [-70.66, 45.46],\n [-71.08482, 45.30524],\n [-71.405, 45.255],\n [-71.50506, 45.0082],\n [-73.34783, 45.00738],\n [-74.867, 45.00048],\n [-75.31821, 44.81645],\n [-76.375, 44.09631],\n [-76.5, 44.01845889375872],\n [-76.82003414580558, 43.628784288093755],\n [-77.7378850979577, 43.629055589363304],\n [-78.72027991404238, 43.625089423184875],\n [-79.17167355011188, 43.46633942318422],\n [-79.01, 43.27],\n [-78.92, 42.965],\n [-78.9393621487437, 42.86361135514804],\n [-80.24744767934794, 42.36619985612259],\n [-81.27774654816716, 42.20902598730686],\n [-82.43927771679162, 41.675105088867156],\n [-82.69008928092018, 41.675105088867156],\n [-83.02981014680694, 41.83279572200584],\n [-83.14199968131256, 41.975681057292825],\n [-83.12, 42.08],\n [-82.9, 42.43],\n [-82.43, 42.98],\n [-82.1376423815039, 43.571087551439916],\n [-82.33776312543108, 44.44],\n [-82.55092464875818, 45.347516587905375],\n [-83.59285071484308, 45.81689362241237],\n [-83.46955074739463, 45.99468638771259],\n [-83.61613094759059, 46.11692698829907],\n [-83.89076534700575, 46.11692698829907],\n [-84.09185126416148, 46.275418606138174],\n [-84.14211951367338, 46.51222585711574],\n [-84.3367, 46.40877],\n [-84.6049, 46.4396],\n [-84.54374874544587, 46.538684190449146],\n [-84.77923824739992, 46.637101955749046],\n [-84.87607988151485, 46.90008331968238],\n [-85.65236324740343, 47.22021881773051],\n [-86.46199083122826, 47.55333801939204],\n [-87.43979262330024, 47.94],\n [-88.37811418328673, 48.302917588893735],\n [-89.27291744663668, 48.019808254582664],\n [-89.6, 48.01],\n [-90.83, 48.27],\n [-91.64, 48.14],\n [-92.61, 48.45],\n [-93.63087, 48.60926],\n [-94.32914, 48.67074],\n [-94.64, 48.84],\n [-94.81758, 49.38905],\n [-95.15609, 49.38425],\n [-95.15906950917204, 49],\n [-97.22872000000481, 49.0007],\n [-100.65, 49],\n [-104.04826, 48.99986],\n [-107.05, 49],\n [-110.05, 49],\n [-113, 49],\n [-116.04818, 49],\n [-117.03121, 49],\n [-120, 49],\n [-122.84, 49],\n [-122.97421, 49.0025377777778],\n [-124.91024, 49.98456],\n [-125.62461, 50.41656],\n [-127.43561, 50.83061],\n [-127.99276, 51.71583],\n [-127.85032, 52.32961],\n [-129.12979, 52.75538],\n [-129.30523, 53.56159],\n [-130.51497, 54.28757],\n [-130.53611, 54.80278],\n [-129.98, 55.285],\n [-130.00778, 55.91583],\n [-131.70781, 56.55212],\n [-132.73042, 57.69289],\n [-133.35556, 58.41028],\n [-134.27111, 58.86111],\n [-134.945, 59.27056],\n [-135.47583, 59.78778],\n [-136.47972, 59.46389],\n [-137.4525, 58.905],\n [-138.34089, 59.56211],\n [-139.039, 60],\n [-140.013, 60.27682],\n [-140.99778, 60.30639],\n [-140.9925, 66.00003],\n [-140.986, 69.712],\n [-139.12052, 69.47102],\n [-137.54636, 68.99002],\n [-136.50358, 68.89804],\n [-135.62576, 69.31512],\n [-134.41464, 69.62743],\n [-132.92925, 69.50534],\n [-131.43136, 69.94451],\n [-129.79471, 70.19369],\n [-129.10773, 69.77927],\n [-128.36156, 70.01286],\n [-128.13817, 70.48384],\n [-127.44712, 70.37721],\n [-125.75632, 69.48058],\n [-124.42483, 70.1584],\n [-124.28968, 69.39969],\n [-123.06108, 69.56372],\n [-122.6835, 69.85553],\n [-121.47226, 69.79778],\n [-119.94288, 69.37786],\n [-117.60268, 69.01128],\n [-116.22643, 68.84151],\n [-115.2469, 68.90591],\n [-113.89794, 68.3989],\n [-115.30489, 67.90261],\n [-113.49727, 67.68815],\n [-110.798, 67.80612],\n [-109.94619, 67.98104],\n [-108.8802, 67.38144],\n [-107.79239, 67.88736],\n [-108.81299, 68.31164],\n [-108.16721, 68.65392],\n [-106.95, 68.7],\n [-106.15, 68.8],\n [-105.34282, 68.56122],\n [-104.33791, 68.018],\n [-103.22115, 68.09775],\n [-101.45433, 67.64689],\n [-99.90195, 67.80566],\n [-98.4432, 67.78165],\n [-98.5586, 68.40394],\n [-97.66948, 68.57864],\n [-96.11991, 68.23939],\n [-96.12588, 67.29338],\n [-95.48943, 68.0907],\n [-94.685, 68.06383],\n [-94.23282, 69.06903],\n [-95.30408, 69.68571],\n [-96.47131, 70.08976],\n [-96.39115, 71.19482],\n [-95.2088, 71.92053],\n [-93.88997, 71.76015],\n [-92.87818, 71.31869],\n [-91.51964, 70.19129],\n [-92.40692, 69.69997],\n [-90.5471, 69.49766],\n ],\n ],\n [\n [\n [-114.1671699999999, 73.12145],\n [-114.66634, 72.65277],\n [-112.44101999999988, 72.95540000000011],\n [-111.05039, 72.4504],\n [-109.92034999999989, 72.96113],\n [-109.00654, 72.63335],\n [-108.18835, 71.65089],\n [-107.68599, 72.06548],\n [-108.39639, 73.08953000000011],\n [-107.51645, 73.23598],\n [-106.52259, 73.07601],\n [-105.40246, 72.67259],\n [-104.77484, 71.6984],\n [-104.46475999999984, 70.99297],\n [-102.78537, 70.49776],\n [-100.9807799999999, 70.02432],\n [-101.08929, 69.58447000000012],\n [-102.73116, 69.50402],\n [-102.09329, 69.11962000000011],\n [-102.43024, 68.75282],\n [-104.24, 68.91],\n [-105.96, 69.18000000000015],\n [-107.12254, 69.11922],\n [-109, 68.78],\n [-111.53414887520013, 68.63005915681794],\n [-113.3132, 68.53554],\n [-113.85495999999983, 69.00744000000012],\n [-115.22, 69.28],\n [-116.10794, 69.16821],\n [-117.34, 69.96000000000012],\n [-116.67472999999988, 70.06655],\n [-115.13112, 70.2373],\n [-113.72141, 70.19237],\n [-112.4161, 70.36638],\n [-114.35, 70.6],\n [-116.48684, 70.52045],\n [-117.9048, 70.54056000000014],\n [-118.43238, 70.9092],\n [-116.11311, 71.30918],\n [-117.65568, 71.2952],\n [-119.40199, 71.55859],\n [-118.56267, 72.30785],\n [-117.86642, 72.70594],\n [-115.18909, 73.31459000000012],\n [-114.1671699999999, 73.12145],\n ],\n ],\n [\n [\n [-104.5, 73.42],\n [-105.38, 72.76],\n [-106.94, 73.46],\n [-106.6, 73.6],\n [-105.26, 73.64],\n [-104.5, 73.42],\n ],\n ],\n [\n [\n [-76.34, 73.10268498995302],\n [-76.25140380859375, 72.82638549804688],\n [-77.31443786621091, 72.85554504394527],\n [-78.39167022705081, 72.87665557861328],\n [-79.48625183105466, 72.74220275878909],\n [-79.77583312988284, 72.80290222167974],\n [-80.87609863281253, 73.3331832885742],\n [-80.83388519287105, 73.69318389892578],\n [-80.35305786132812, 73.75971984863278],\n [-78.06443786621094, 73.65193176269534],\n [-76.34, 73.10268498995302],\n ],\n ],\n [\n [\n [-86.56217851433414, 73.15744700793846],\n [-85.77437130404454, 72.53412588163383],\n [-84.85011247428824, 73.34027822538712],\n [-82.31559017610098, 73.75095083281059],\n [-80.60008765330764, 72.71654368762421],\n [-80.7489416165244, 72.06190664335077],\n [-78.77063859731078, 72.35217316353416],\n [-77.82462398955958, 72.74961660429105],\n [-75.60584469267573, 72.24367849393741],\n [-74.22861609566499, 71.7671442735579],\n [-74.09914079455771, 71.33084015571765],\n [-72.24222571479766, 71.5569245469945],\n [-71.20001542833519, 70.92001251899723],\n [-68.7860542466849, 70.52502370877426],\n [-67.91497046575694, 70.12194753689761],\n [-66.96903337265417, 69.18608734809189],\n [-68.80512285020055, 68.72019847276442],\n [-66.44986609563387, 68.06716339789202],\n [-64.86231441919522, 67.84753856065163],\n [-63.42493445499676, 66.92847321234066],\n [-61.85198137068058, 66.86212067327784],\n [-62.1631768459423, 66.16025136988961],\n [-63.918444383384184, 64.99866852483284],\n [-65.14886023625363, 65.42603261988668],\n [-66.72121904159854, 66.3880410834322],\n [-68.01501603867396, 66.26272573512439],\n [-68.14128740097917, 65.68978913030438],\n [-67.08964616562339, 65.108455105237],\n [-65.73208045109976, 64.64840566675863],\n [-65.32016760930128, 64.38273712834606],\n [-64.66940629744968, 63.39292674422748],\n [-65.01380388045891, 62.67418508569599],\n [-66.27504472519047, 62.945098781986076],\n [-68.78318620469273, 63.74567007105181],\n [-67.36968075221304, 62.883965562584876],\n [-66.3282972886672, 62.280074774822054],\n [-66.16556820338016, 61.93089712182589],\n [-68.87736650254465, 62.33014923771282],\n [-71.02343705919384, 62.91070811629584],\n [-72.235378587519, 63.39783600529517],\n [-71.8862784491713, 63.67998932560885],\n [-73.37830624051838, 64.19396312118383],\n [-74.8344189114226, 64.67907562932379],\n [-74.81850257027673, 64.38909332951798],\n [-77.70997982452005, 64.22954234481679],\n [-78.55594885935417, 64.57290639918014],\n [-77.89728105336192, 65.30919220647479],\n [-76.0182742987972, 65.32696889918316],\n [-73.95979529488272, 65.45476471624089],\n [-74.29388342964964, 65.8117713487294],\n [-73.94491248238265, 66.31057811142672],\n [-72.65116716173941, 67.28457550726387],\n [-72.92605994331609, 67.72692576768239],\n [-73.31161780464575, 68.06943716091291],\n [-74.84330725777681, 68.55462718370129],\n [-76.86910091826674, 68.89473562283027],\n [-76.22864905465735, 69.14776927354742],\n [-77.28736996123712, 69.76954010688328],\n [-78.1686339993266, 69.82648753526891],\n [-78.95724219431673, 70.16688019477542],\n [-79.49245500356366, 69.87180776638891],\n [-81.30547095409176, 69.74318512641435],\n [-84.94470618359847, 69.9666340196444],\n [-87.06000342481789, 70.26000112576537],\n [-88.6817132230015, 70.41074127876081],\n [-89.51341956252304, 70.76203766548099],\n [-88.46772111688075, 71.21818553332133],\n [-89.8881512112875, 71.22255219184996],\n [-90.20516028518202, 72.2350743679608],\n [-89.43657670770494, 73.12946421985237],\n [-88.40824154331281, 73.53788890247121],\n [-85.82615108920092, 73.80381582304521],\n [-86.56217851433414, 73.15744700793846],\n ],\n ],\n [\n [\n [-100.35642, 73.84389],\n [-99.16387, 73.63339],\n [-97.38, 73.76],\n [-97.12, 73.47],\n [-98.05359, 72.99052],\n [-96.54, 72.56],\n [-96.72, 71.66],\n [-98.35966, 71.27285],\n [-99.32286, 71.35639],\n [-100.01482, 71.73827],\n [-102.5, 72.51],\n [-102.48, 72.83],\n [-100.43836, 72.70588],\n [-101.54, 73.36],\n [-100.35642, 73.84389],\n ],\n ],\n [\n [\n [-93.19629553910022, 72.77199249947336],\n [-94.26904659704726, 72.02459625923598],\n [-95.40985551632266, 72.06188080513459],\n [-96.03374508338246, 72.94027680123182],\n [-96.01826799191099, 73.4374299180958],\n [-95.49579342322403, 73.86241689726418],\n [-94.50365759965234, 74.1349067247392],\n [-92.42001217321177, 74.10002513294219],\n [-90.50979285354259, 73.85673248971203],\n [-92.0039652168299, 72.9662442084585],\n [-93.19629553910022, 72.77199249947336],\n ],\n ],\n [\n [\n [-120.46, 71.38360179308759],\n [-123.09219, 70.90164],\n [-123.62, 71.34],\n [-125.92894873747335, 71.86868846301141],\n [-125.5, 72.29226081179502],\n [-124.80729, 73.02256],\n [-123.9399999999999, 73.68000000000015],\n [-124.91775, 74.29275000000013],\n [-121.53788, 74.44893],\n [-120.10978, 74.24135],\n [-117.55563999999987, 74.18577],\n [-116.58442, 73.89607],\n [-115.51081, 73.47519],\n [-116.76793999999988, 73.22292],\n [-119.22, 72.52],\n [-120.46, 71.82],\n [-120.46, 71.38360179308759],\n ],\n ],\n [\n [\n [-93.61275590694049, 74.97999726022445],\n [-94.15690873897384, 74.59234650338686],\n [-95.60868058956561, 74.66686391875177],\n [-96.82093217648458, 74.92762319609658],\n [-96.2885874092298, 75.37782827422335],\n [-94.85081987178913, 75.6472175157609],\n [-93.97774654821794, 75.29648956979597],\n [-93.61275590694049, 74.97999726022445],\n ],\n ],\n [\n [\n [-98.5, 76.72],\n [-97.735585, 76.25656],\n [-97.704415, 75.74344],\n [-98.16, 75],\n [-99.80874, 74.89744],\n [-100.88366, 75.05736],\n [-100.86292, 75.64075],\n [-102.50209, 75.5638],\n [-102.56552, 76.3366],\n [-101.48973, 76.30537],\n [-99.98349, 76.64634],\n [-98.57699, 76.58859],\n [-98.5, 76.72],\n ],\n ],\n [\n [\n [-108.21141, 76.20168],\n [-107.81943, 75.84552],\n [-106.92893, 76.01282],\n [-105.881, 75.9694],\n [-105.70498, 75.47951],\n [-106.31347, 75.00527],\n [-109.7, 74.85],\n [-112.22307, 74.41696],\n [-113.74381, 74.39427],\n [-113.87135, 74.72029],\n [-111.79421, 75.1625],\n [-116.31221, 75.04343],\n [-117.7104, 75.2222],\n [-116.34602, 76.19903],\n [-115.40487, 76.47887],\n [-112.59056, 76.14134],\n [-110.81422, 75.54919],\n [-109.0671, 75.47321],\n [-110.49726, 76.42982],\n [-109.5811, 76.79417],\n [-108.54859, 76.67832],\n [-108.21141, 76.20168],\n ],\n ],\n [\n [\n [-94.68408586299947, 77.09787832305838],\n [-93.57392106807313, 76.77629588490609],\n [-91.60502315953661, 76.77851797149461],\n [-90.74184587274922, 76.44959747995681],\n [-90.96966142450799, 76.07401317005946],\n [-89.82223792189927, 75.84777374948563],\n [-89.18708289259979, 75.61016551380763],\n [-87.83827633334963, 75.56618886992723],\n [-86.37919226758868, 75.48242137318218],\n [-84.78962521029061, 75.69920400664651],\n [-82.75344458691006, 75.78431509063125],\n [-81.12853084992437, 75.71398346628203],\n [-80.05751095245915, 75.33684886341588],\n [-79.83393286814832, 74.92312734648719],\n [-80.45777075877584, 74.65730377877779],\n [-81.94884253612554, 74.44245901152433],\n [-83.22889360221143, 74.56402781849096],\n [-86.0974523587333, 74.41003205026115],\n [-88.15035030796022, 74.39230703398499],\n [-89.76472205275837, 74.51555532500115],\n [-92.42244096552943, 74.837757880341],\n [-92.7682854886428, 75.38681997344216],\n [-92.88990597204173, 75.88265534128266],\n [-93.893824022176, 76.31924367950054],\n [-95.96245744503582, 76.44138092722247],\n [-97.12137895382949, 76.75107778594761],\n [-96.74512285031236, 77.16138865834515],\n [-94.68408586299947, 77.09787832305838],\n ],\n ],\n [\n [\n [-116.19858659550734, 77.64528677032621],\n [-116.33581336145838, 76.87696157501055],\n [-117.10605058476878, 76.53003184681913],\n [-118.04041215703813, 76.4811717800871],\n [-119.89931758688569, 76.05321340606199],\n [-121.4999950771265, 75.9000186225328],\n [-122.85492448615896, 76.11654287383568],\n [-122.8549252936032, 76.11654287383568],\n [-121.15753536032825, 76.86450755482835],\n [-119.10393897182104, 77.51221995717464],\n [-117.57013078496597, 77.4983189968881],\n [-116.19858659550734, 77.64528677032621],\n ],\n ],\n [\n [\n [-93.84000301794399, 77.5199972602345],\n [-94.29560828324526, 77.4913426785287],\n [-96.16965410031008, 77.5551113959769],\n [-96.43630449093612, 77.83462921824362],\n [-94.42257727738638, 77.82000478790499],\n [-93.72065629756588, 77.63433136668033],\n [-93.84000301794399, 77.5199972602345],\n ],\n ],\n [\n [\n [-110.18693803591297, 77.6970148790503],\n [-112.05119116905848, 77.40922882761686],\n [-113.53427893761906, 77.73220652944116],\n [-112.72458675825384, 78.05105011668195],\n [-111.26444332563085, 78.15295604116156],\n [-109.8544518705471, 77.99632477488484],\n [-110.18693803591297, 77.6970148790503],\n ],\n ],\n [\n [\n [-109.66314571820259, 78.60197256134569],\n [-110.88131425661886, 78.40691986766001],\n [-112.54209143761517, 78.4079017198735],\n [-112.5258908760916, 78.55055451121522],\n [-111.5000103422334, 78.84999359813057],\n [-110.96366065147602, 78.80444082306522],\n [-109.66314571820259, 78.60197256134569],\n ],\n ],\n [\n [\n [-95.83029496944934, 78.05694122996326],\n [-97.30984290239799, 77.85059723582178],\n [-98.12428931353396, 78.08285696075758],\n [-98.55286780474664, 78.4581053738451],\n [-98.63198442258552, 78.87193024363839],\n [-97.33723141151262, 78.83198436147677],\n [-96.75439876990879, 78.765812689927],\n [-95.55927792029458, 78.41831452098029],\n [-95.83029496944934, 78.05694122996326],\n ],\n ],\n [\n [\n [-100.06019182005214, 78.3247543403159],\n [-99.67093909381362, 77.9075446642074],\n [-101.30394019245301, 78.01898489044481],\n [-102.94980872273305, 78.34322866486022],\n [-105.17613277873154, 78.38033234324574],\n [-104.21042945027716, 78.6774201524918],\n [-105.41958045125854, 78.91833567983645],\n [-105.49228919149316, 79.30159393992919],\n [-103.52928239623793, 79.16534902619165],\n [-100.82515804726881, 78.80046173777869],\n [-100.06019182005214, 78.3247543403159],\n ],\n ],\n [\n [\n [-87.02, 79.66],\n [-85.81435, 79.3369],\n [-87.18756, 79.0393],\n [-89.03535, 78.28723],\n [-90.80436, 78.21533],\n [-92.87669, 78.34333],\n [-93.95116, 78.75099],\n [-93.93574, 79.11373],\n [-93.14524, 79.3801],\n [-94.974, 79.37248],\n [-96.07614, 79.70502],\n [-96.70972, 80.15777],\n [-96.01644, 80.60233],\n [-95.32345, 80.90729],\n [-94.29843, 80.97727],\n [-94.73542, 81.20646],\n [-92.40984, 81.25739],\n [-91.13289, 80.72345],\n [-89.45, 80.50932203389829],\n [-87.81, 80.32],\n [-87.02, 79.66],\n ],\n ],\n [\n [\n [-68.5, 83.10632151676575],\n [-65.82735, 83.02801],\n [-63.68, 82.9],\n [-61.85, 82.6286],\n [-61.89388, 82.36165],\n [-64.334, 81.92775],\n [-66.75342, 81.72527],\n [-67.65755, 81.50141],\n [-65.48031, 81.50657],\n [-67.84, 80.9],\n [-69.4697, 80.61683],\n [-71.18, 79.8],\n [-73.2428, 79.63415],\n [-73.88, 79.43016220480207],\n [-76.90773, 79.32309],\n [-75.52924, 79.19766],\n [-76.22046, 79.01907],\n [-75.39345, 78.52581],\n [-76.34354, 78.18296],\n [-77.88851, 77.89991],\n [-78.36269, 77.50859],\n [-79.75951, 77.20968],\n [-79.61965, 76.98336],\n [-77.91089, 77.022045],\n [-77.88911, 76.777955],\n [-80.56125, 76.17812],\n [-83.17439, 76.45403],\n [-86.11184, 76.29901],\n [-87.6, 76.42],\n [-89.49068, 76.47239],\n [-89.6161, 76.95213],\n [-87.76739, 77.17833],\n [-88.26, 77.9],\n [-87.65, 77.97022222222222],\n [-84.97634, 77.53873],\n [-86.34, 78.18],\n [-87.96192, 78.37181],\n [-87.15198, 78.75867],\n [-85.37868, 78.9969],\n [-85.09495, 79.34543],\n [-86.50734, 79.73624],\n [-86.93179, 80.25145],\n [-84.19844, 80.20836],\n [-83.40869565217383, 80.1],\n [-81.84823, 80.46442],\n [-84.1, 80.58],\n [-87.59895, 80.51627],\n [-89.36663, 80.85569],\n [-90.2, 81.26],\n [-91.36786, 81.5531],\n [-91.58702, 81.89429],\n [-90.1, 82.085],\n [-88.93227, 82.11751],\n [-86.97024, 82.27961],\n [-85.5, 82.65227345805704],\n [-84.260005, 82.6],\n [-83.18, 82.32],\n [-82.42, 82.86],\n [-81.1, 83.02],\n [-79.30664, 83.13056],\n [-76.25, 83.1720588235294],\n [-75.71878, 83.06404],\n [-72.83153, 83.23324],\n [-70.665765, 83.16978075838284],\n [-68.5, 83.10632151676575],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"The Bahamas\",\n sov_a3: \"BHS\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"The Bahamas\",\n adm0_a3: \"BHS\",\n geou_dif: 0,\n geounit: \"The Bahamas\",\n gu_a3: \"BHS\",\n su_dif: 0,\n subunit: \"The Bahamas\",\n su_a3: \"BHS\",\n brk_diff: 0,\n name: \"Bahamas\",\n name_long: \"Bahamas\",\n brk_a3: \"BHS\",\n brk_name: \"Bahamas\",\n brk_group: null,\n abbrev: \"Bhs.\",\n postal: \"BS\",\n formal_en: \"Commonwealth of the Bahamas\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Bahamas, The\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 1,\n mapcolor9: 2,\n mapcolor13: 5,\n pop_est: 309156,\n gdp_md_est: 9093,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BS\",\n iso_a3: \"BHS\",\n iso_n3: \"044\",\n un_a3: \"044\",\n wb_a2: \"BS\",\n wb_a3: \"BHS\",\n woe_id: -99,\n adm0_a3_is: \"BHS\",\n adm0_a3_us: \"BHS\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Caribbean\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"BHS.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [-77.53466, 23.75975],\n [-77.78, 23.71],\n [-78.03405, 24.28615],\n [-78.40848, 24.57564],\n [-78.19087, 25.2103],\n [-77.89, 25.17],\n [-77.54, 24.34],\n [-77.53466, 23.75975],\n ],\n ],\n [\n [\n [-77.82, 26.58],\n [-78.91, 26.42],\n [-78.98, 26.79],\n [-78.51, 26.87],\n [-77.85, 26.84],\n [-77.82, 26.58],\n ],\n ],\n [\n [\n [-77, 26.59],\n [-77.17255, 25.87918],\n [-77.35641, 26.00735],\n [-77.34, 26.53],\n [-77.78802, 26.92516],\n [-77.79, 27.04],\n [-77, 26.59],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Costa Rica\",\n sov_a3: \"CRI\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Costa Rica\",\n adm0_a3: \"CRI\",\n geou_dif: 0,\n geounit: \"Costa Rica\",\n gu_a3: \"CRI\",\n su_dif: 0,\n subunit: \"Costa Rica\",\n su_a3: \"CRI\",\n brk_diff: 0,\n name: \"Costa Rica\",\n name_long: \"Costa Rica\",\n brk_a3: \"CRI\",\n brk_name: \"Costa Rica\",\n brk_group: null,\n abbrev: \"C.R.\",\n postal: \"CR\",\n formal_en: \"Republic of Costa Rica\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Costa Rica\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 2,\n mapcolor9: 4,\n mapcolor13: 2,\n pop_est: 4253877,\n gdp_md_est: 48320,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CR\",\n iso_a3: \"CRI\",\n iso_n3: \"188\",\n un_a3: \"188\",\n wb_a2: \"CR\",\n wb_a3: \"CRI\",\n woe_id: -99,\n adm0_a3_is: \"CRI\",\n adm0_a3_us: \"CRI\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Central America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"CRI.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-82.96578304719736, 8.225027980985985],\n [-83.50843726269431, 8.446926581247283],\n [-83.71147396516908, 8.656836249216866],\n [-83.59631303580665, 8.830443223501419],\n [-83.63264156770784, 9.051385809765321],\n [-83.90988562695372, 9.29080272057358],\n [-84.30340165885636, 9.487354030795714],\n [-84.64764421256866, 9.615537421095707],\n [-84.71335079622777, 9.908051866083852],\n [-84.97566036654133, 10.086723130733006],\n [-84.91137488477024, 9.795991522658923],\n [-85.11092342806532, 9.55703969974131],\n [-85.33948828809227, 9.83454214114866],\n [-85.66078650586698, 9.933347479690724],\n [-85.79744483106285, 10.134885565629034],\n [-85.79170874707843, 10.439337266476613],\n [-85.65931372754666, 10.75433095951172],\n [-85.94172543002176, 10.895278428587801],\n [-85.7125404528073, 11.088444932494824],\n [-85.56185197624418, 11.217119248901597],\n [-84.90300330273895, 10.952303371621896],\n [-84.67306901725627, 11.082657172078143],\n [-84.35593075228104, 10.999225572142905],\n [-84.19017859570485, 10.793450018756674],\n [-83.89505449088595, 10.726839097532446],\n [-83.65561174186158, 10.938764146361422],\n [-83.40231970898296, 10.395438137244652],\n [-83.01567664257517, 9.992982082555555],\n [-82.54619625520348, 9.566134751824677],\n [-82.93289099804358, 9.476812038608173],\n [-82.92715491405916, 9.074330145702916],\n [-82.71918311230053, 8.925708726431495],\n [-82.86865719270477, 8.807266343618522],\n [-82.82977067740516, 8.62629547773237],\n [-82.91317643912421, 8.42351715741907],\n [-82.96578304719736, 8.225027980985985],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Cuba\",\n sov_a3: \"CUB\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Cuba\",\n adm0_a3: \"CUB\",\n geou_dif: 0,\n geounit: \"Cuba\",\n gu_a3: \"CUB\",\n su_dif: 0,\n subunit: \"Cuba\",\n su_a3: \"CUB\",\n brk_diff: 0,\n name: \"Cuba\",\n name_long: \"Cuba\",\n brk_a3: \"CUB\",\n brk_name: \"Cuba\",\n brk_group: null,\n abbrev: \"Cuba\",\n postal: \"CU\",\n formal_en: \"Republic of Cuba\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Cuba\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 5,\n mapcolor9: 3,\n mapcolor13: 4,\n pop_est: 11451652,\n gdp_md_est: 108200,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CU\",\n iso_a3: \"CUB\",\n iso_n3: \"192\",\n un_a3: \"192\",\n wb_a2: \"CU\",\n wb_a3: \"CUB\",\n woe_id: -99,\n adm0_a3_is: \"CUB\",\n adm0_a3_us: \"CUB\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Caribbean\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 4,\n long_len: 4,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"CUB.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-82.26815121125706, 23.188610744717703],\n [-81.40445716014683, 23.11727142993878],\n [-80.6187686835812, 23.105980129483],\n [-79.67952368846025, 22.76530324959883],\n [-79.28148596873207, 22.399201565027056],\n [-78.34743445505649, 22.512166246017088],\n [-77.99329586456028, 22.277193508385935],\n [-77.14642249216105, 21.657851467367834],\n [-76.52382483590856, 21.206819566324373],\n [-76.19462012399319, 21.220565497314013],\n [-75.59822241891267, 21.016624457274133],\n [-75.67106035022806, 20.735091254148],\n [-74.9338960435845, 20.693905137611385],\n [-74.17802486845126, 20.28462779385974],\n [-74.29664811877724, 20.05037852628068],\n [-74.96159461129294, 19.92343537035569],\n [-75.63468014189459, 19.873774318923196],\n [-76.323656175426, 19.95289093676206],\n [-77.75548092315306, 19.855480861891873],\n [-77.08510840524674, 20.413353786698792],\n [-77.49265458851661, 20.67310537361389],\n [-78.13729224314159, 20.73994883878343],\n [-78.48282670766119, 21.02861338956585],\n [-78.71986650258401, 21.598113511638434],\n [-79.28499996612794, 21.5591753199065],\n [-80.21747534861865, 21.827324327069036],\n [-80.51753455272141, 22.03707896574176],\n [-81.82094336620318, 22.19205658618507],\n [-82.16999182811864, 22.38710927987075],\n [-81.79500179719267, 22.636964830001958],\n [-82.77589799674084, 22.688150336187064],\n [-83.49445878775936, 22.16851797127613],\n [-83.90880042187563, 22.154565334557333],\n [-84.05215084505326, 21.910575059491254],\n [-84.54703019889638, 21.801227728761642],\n [-84.97491105827311, 21.89602814380109],\n [-84.44706214062776, 22.204949856041907],\n [-84.23035702181178, 22.565754706303764],\n [-83.7782399156902, 22.788118394455694],\n [-83.26754757356575, 22.983041897060644],\n [-82.51043616405751, 23.078746649665188],\n [-82.26815121125706, 23.188610744717703],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Dominican Republic\",\n sov_a3: \"DOM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Dominican Republic\",\n adm0_a3: \"DOM\",\n geou_dif: 0,\n geounit: \"Dominican Republic\",\n gu_a3: \"DOM\",\n su_dif: 0,\n subunit: \"Dominican Republic\",\n su_a3: \"DOM\",\n brk_diff: 0,\n name: \"Dominican Rep.\",\n name_long: \"Dominican Republic\",\n brk_a3: \"DOM\",\n brk_name: \"Dominican Rep.\",\n brk_group: null,\n abbrev: \"Dom. Rep.\",\n postal: \"DO\",\n formal_en: \"Dominican Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Dominican Republic\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 2,\n mapcolor9: 5,\n mapcolor13: 7,\n pop_est: 9650054,\n gdp_md_est: 78000,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"DO\",\n iso_a3: \"DOM\",\n iso_n3: \"214\",\n un_a3: \"214\",\n wb_a2: \"DO\",\n wb_a3: \"DOM\",\n woe_id: -99,\n adm0_a3_is: \"DOM\",\n adm0_a3_us: \"DOM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Caribbean\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 14,\n long_len: 18,\n abbrev_len: 9,\n tiny: -99,\n homepart: 1,\n filename: \"DOM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-71.71236141629296, 19.714455878167357],\n [-71.58730445014663, 19.8849105900821],\n [-70.80670610216174, 19.880285549391985],\n [-70.21436499701613, 19.62288524014616],\n [-69.95081519232758, 19.647999986240006],\n [-69.76925004747008, 19.293267116772437],\n [-69.22212582057988, 19.313214219637103],\n [-69.25434607611385, 19.015196234609874],\n [-68.80941199408083, 18.979074408437853],\n [-68.31794328476897, 18.612197577381693],\n [-68.68931596543452, 18.205142320218613],\n [-69.16494584824892, 18.42264842373511],\n [-69.62398759629764, 18.380712998930246],\n [-69.95293392605154, 18.42830699307106],\n [-70.1332329983179, 18.245915025296895],\n [-70.51713721381422, 18.184290879788833],\n [-70.66929846869763, 18.426885891183034],\n [-70.99995012071719, 18.283328762276213],\n [-71.4002099270339, 17.5985643579766],\n [-71.65766191271202, 17.7575727401387],\n [-71.70830481635805, 18.04499705654609],\n [-71.68773759630587, 18.31666006110447],\n [-71.94511206733556, 18.61690013272026],\n [-71.70130265978248, 18.78541697842405],\n [-71.62487321642283, 19.169837958243306],\n [-71.71236141629296, 19.714455878167357],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Denmark\",\n sov_a3: \"DN1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"Greenland\",\n adm0_a3: \"GRL\",\n geou_dif: 0,\n geounit: \"Greenland\",\n gu_a3: \"GRL\",\n su_dif: 0,\n subunit: \"Greenland\",\n su_a3: \"GRL\",\n brk_diff: 0,\n name: \"Greenland\",\n name_long: \"Greenland\",\n brk_a3: \"GRL\",\n brk_name: \"Greenland\",\n brk_group: null,\n abbrev: \"Grlnd.\",\n postal: \"GL\",\n formal_en: \"Greenland\",\n formal_fr: null,\n note_adm0: \"Den.\",\n note_brk: null,\n name_sort: \"Greenland\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 1,\n mapcolor9: 3,\n mapcolor13: 12,\n pop_est: 57600,\n gdp_md_est: 1100,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GL\",\n iso_a3: \"GRL\",\n iso_n3: \"304\",\n un_a3: \"304\",\n wb_a2: \"GL\",\n wb_a3: \"GRL\",\n woe_id: -99,\n adm0_a3_is: \"GRL\",\n adm0_a3_us: \"GRL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Northern America\",\n region_wb: \"Europe & Central Asia\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 6,\n tiny: -99,\n homepart: -99,\n filename: \"GRL.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-46.76379, 82.62796],\n [-43.40644, 83.22516],\n [-39.89753, 83.18018],\n [-38.62214, 83.54905],\n [-35.08787, 83.64513],\n [-27.10046, 83.51966],\n [-20.84539, 82.72669],\n [-22.69182, 82.34165],\n [-26.51753, 82.29765],\n [-31.9, 82.2],\n [-31.39646, 82.02154],\n [-27.85666, 82.13178],\n [-24.84448, 81.78697],\n [-22.90328, 82.09317],\n [-22.07175, 81.73449],\n [-23.16961, 81.15271],\n [-20.62363, 81.52462],\n [-15.76818, 81.91245],\n [-12.77018, 81.71885],\n [-12.20855, 81.29154],\n [-16.28533, 80.58004],\n [-16.85, 80.35],\n [-20.04624, 80.17708],\n [-17.73035, 80.12912],\n [-18.9, 79.4],\n [-19.70499, 78.75128],\n [-19.67353, 77.63859],\n [-18.47285, 76.98565],\n [-20.03503, 76.94434],\n [-21.67944, 76.62795],\n [-19.83407, 76.09808],\n [-19.59896, 75.24838],\n [-20.66818, 75.15585],\n [-19.37281, 74.29561],\n [-21.59422, 74.22382],\n [-20.43454, 73.81713],\n [-20.76234, 73.46436],\n [-22.17221, 73.30955],\n [-23.56593, 73.30663],\n [-22.31311, 72.62928],\n [-22.29954, 72.18409],\n [-24.27834, 72.59788],\n [-24.79296, 72.3302],\n [-23.44296, 72.08016],\n [-22.13281, 71.46898],\n [-21.75356, 70.66369],\n [-23.53603, 70.471],\n [-24.30702, 70.85649],\n [-25.54341, 71.43094],\n [-25.20135, 70.75226],\n [-26.36276, 70.22646],\n [-23.72742, 70.18401],\n [-22.34902, 70.12946],\n [-25.02927, 69.2588],\n [-27.74737, 68.47046],\n [-30.67371, 68.12503],\n [-31.77665, 68.12078],\n [-32.81105, 67.73547],\n [-34.20196, 66.67974],\n [-36.35284, 65.9789],\n [-37.04378, 65.93768],\n [-38.37505, 65.69213],\n [-39.81222, 65.45848],\n [-40.66899, 64.83997],\n [-40.68281, 64.13902],\n [-41.1887, 63.48246],\n [-42.81938, 62.68233],\n [-42.41666, 61.90093],\n [-42.86619, 61.07404],\n [-43.3784, 60.09772],\n [-44.7875, 60.03676],\n [-46.26364, 60.85328],\n [-48.26294, 60.85843],\n [-49.23308, 61.40681],\n [-49.90039, 62.38336],\n [-51.63325, 63.62691],\n [-52.14014, 64.27842],\n [-52.27659, 65.1767],\n [-53.66166, 66.09957],\n [-53.30161, 66.8365],\n [-53.96911, 67.18899],\n [-52.9804, 68.35759],\n [-51.47536, 68.72958],\n [-51.08041, 69.14781],\n [-50.87122, 69.9291],\n [-52.013585, 69.574925],\n [-52.55792, 69.42616],\n [-53.45629, 69.283625],\n [-54.68336, 69.61003],\n [-54.75001, 70.28932],\n [-54.35884, 70.821315],\n [-53.431315, 70.835755],\n [-51.39014, 70.56978],\n [-53.10937, 71.20485],\n [-54.00422, 71.54719],\n [-55, 71.40653696727257],\n [-55.83468, 71.65444],\n [-54.71819, 72.58625],\n [-55.32634, 72.95861],\n [-56.12003, 73.64977],\n [-57.32363, 74.71026],\n [-58.59679, 75.09861],\n [-58.58516, 75.51727],\n [-61.26861, 76.10238],\n [-63.39165, 76.1752],\n [-66.06427, 76.13486],\n [-68.50438, 76.06141],\n [-69.66485, 76.37975],\n [-71.40257, 77.00857],\n [-68.77671, 77.32312],\n [-66.76397, 77.37595],\n [-71.04293, 77.63595],\n [-73.297, 78.04419],\n [-73.15938, 78.43271],\n [-69.37345, 78.91388],\n [-65.7107, 79.39436],\n [-65.3239, 79.75814],\n [-68.02298, 80.11721],\n [-67.15129, 80.51582],\n [-63.68925, 81.21396],\n [-62.23444, 81.3211],\n [-62.65116, 81.77042],\n [-60.28249, 82.03363],\n [-57.20744, 82.19074],\n [-54.13442, 82.19962],\n [-53.04328, 81.88833],\n [-50.39061, 82.43883],\n [-48.00386, 82.06481],\n [-46.59984, 81.985945],\n [-44.523, 81.6607],\n [-46.9007, 82.19979],\n [-46.76379, 82.62796],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Guatemala\",\n sov_a3: \"GTM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Guatemala\",\n adm0_a3: \"GTM\",\n geou_dif: 0,\n geounit: \"Guatemala\",\n gu_a3: \"GTM\",\n su_dif: 0,\n subunit: \"Guatemala\",\n su_a3: \"GTM\",\n brk_diff: 0,\n name: \"Guatemala\",\n name_long: \"Guatemala\",\n brk_a3: \"GTM\",\n brk_name: \"Guatemala\",\n brk_group: null,\n abbrev: \"Guat.\",\n postal: \"GT\",\n formal_en: \"Republic of Guatemala\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Guatemala\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 3,\n mapcolor9: 3,\n mapcolor13: 6,\n pop_est: 13276517,\n gdp_md_est: 68580,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GT\",\n iso_a3: \"GTM\",\n iso_n3: \"320\",\n un_a3: \"320\",\n wb_a2: \"GT\",\n wb_a3: \"GTM\",\n woe_id: -99,\n adm0_a3_is: \"GTM\",\n adm0_a3_us: \"GTM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Central America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 5,\n tiny: 4,\n homepart: 1,\n filename: \"GTM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-90.09555457229098, 13.735337632700734],\n [-90.60862403030085, 13.909771429901951],\n [-91.23241024449605, 13.927832342987957],\n [-91.68974667027912, 14.126218166556455],\n [-92.22775000686983, 14.538828640190928],\n [-92.20322953974731, 14.830102850804069],\n [-92.08721594925207, 15.06458466232844],\n [-92.22924862340628, 15.25144664149586],\n [-91.74796017125591, 16.066564846251723],\n [-90.46447262242265, 16.069562079324655],\n [-90.43886695022204, 16.410109768128095],\n [-90.60084672724092, 16.47077789963876],\n [-90.71182186558772, 16.687483018454728],\n [-91.08167009150065, 16.918476670799404],\n [-91.45392127151516, 17.252177232324172],\n [-91.0022692532842, 17.25465770107418],\n [-91.00151994501596, 17.81759491624571],\n [-90.06793351923098, 17.819326076727474],\n [-89.14308041050332, 17.80831899664932],\n [-89.15080603713095, 17.015576687075836],\n [-89.22912167026928, 15.88693756760517],\n [-88.93061275913527, 15.887273464415074],\n [-88.60458614780583, 15.70638011317736],\n [-88.51836402052686, 15.855389105690975],\n [-88.22502275262202, 15.727722479713902],\n [-88.68067969435563, 15.346247056535304],\n [-89.15481096063357, 15.06641917567481],\n [-89.22522009963127, 14.874286200413621],\n [-89.14553504103718, 14.678019110569084],\n [-89.35332597528279, 14.424132798719116],\n [-89.58734269891654, 14.362586167859488],\n [-89.53421932652051, 14.244815578666305],\n [-89.72193396682073, 14.134228013561694],\n [-90.0646779039966, 13.881969509328924],\n [-90.09555457229098, 13.735337632700734],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Honduras\",\n sov_a3: \"HND\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Honduras\",\n adm0_a3: \"HND\",\n geou_dif: 0,\n geounit: \"Honduras\",\n gu_a3: \"HND\",\n su_dif: 0,\n subunit: \"Honduras\",\n su_a3: \"HND\",\n brk_diff: 0,\n name: \"Honduras\",\n name_long: \"Honduras\",\n brk_a3: \"HND\",\n brk_name: \"Honduras\",\n brk_group: null,\n abbrev: \"Hond.\",\n postal: \"HN\",\n formal_en: \"Republic of Honduras\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Honduras\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 5,\n mapcolor9: 2,\n mapcolor13: 5,\n pop_est: 7792854,\n gdp_md_est: 33720,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"HN\",\n iso_a3: \"HND\",\n iso_n3: \"340\",\n un_a3: \"340\",\n wb_a2: \"HN\",\n wb_a3: \"HND\",\n woe_id: -99,\n adm0_a3_is: \"HND\",\n adm0_a3_us: \"HND\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Central America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"HND.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-87.31665442579549, 12.984685777229004],\n [-87.48940873894713, 13.297534898323931],\n [-87.79311113152653, 13.384480495655168],\n [-87.72350297722932, 13.785050360565606],\n [-87.85951534702161, 13.893312486217097],\n [-88.06534257684012, 13.96462596277979],\n [-88.50399797234962, 13.845485948130943],\n [-88.54123084181595, 13.980154730683523],\n [-88.84307288283276, 14.140506700085211],\n [-89.05851192905766, 14.340029405164215],\n [-89.35332597528281, 14.424132798719086],\n [-89.14553504103719, 14.678019110569153],\n [-89.22522009963124, 14.874286200413678],\n [-89.15481096063353, 15.066419175674866],\n [-88.6806796943556, 15.34624705653539],\n [-88.22502275262195, 15.72772247971403],\n [-88.12115312371537, 15.688655096901359],\n [-87.90181250685241, 15.864458319558196],\n [-87.61568010125234, 15.8787985295192],\n [-87.52292090528846, 15.797278957578783],\n [-87.36776241733213, 15.84694000901129],\n [-86.90319129102818, 15.756712958229569],\n [-86.44094560417739, 15.78283539475319],\n [-86.11923397494434, 15.893448798073962],\n [-86.00195431185784, 16.00540578863439],\n [-85.68331743034628, 15.953651841693953],\n [-85.44400387240256, 15.885749009662446],\n [-85.18244361035721, 15.90915843349063],\n [-84.98372188997882, 15.995923163308701],\n [-84.52697974316715, 15.857223619037427],\n [-84.36825558138258, 15.835157782448732],\n [-84.06305457226682, 15.648244126849136],\n [-83.77397661002612, 15.42407176356687],\n [-83.41038123242036, 15.270902818253774],\n [-83.14721900097413, 14.99582916916421],\n [-83.48998877636602, 15.016267198135663],\n [-83.62858496777288, 14.880073960830371],\n [-83.97572140169359, 14.749435939996486],\n [-84.22834164095241, 14.74876414637663],\n [-84.4493359036486, 14.621614284722511],\n [-84.64958207877963, 14.666805324761867],\n [-84.8200367906943, 14.81958669683263],\n [-84.92450069857233, 14.790492865452336],\n [-85.05278744173688, 14.551541042534723],\n [-85.14875057650288, 14.560196844943619],\n [-85.16536454948482, 14.35436961512505],\n [-85.51441301140028, 14.079011745657908],\n [-85.69866533073696, 13.960078436738002],\n [-85.8012947252685, 13.836054999237604],\n [-86.09626380079061, 14.038187364147234],\n [-86.31214209668985, 13.771356106008225],\n [-86.52070817741992, 13.778487453664468],\n [-86.75508663607962, 13.75484548589094],\n [-86.73382178419149, 13.263092556201398],\n [-86.88055701368438, 13.254204209847217],\n [-87.00576900912743, 13.025794379117258],\n [-87.31665442579549, 12.984685777229004],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Haiti\",\n sov_a3: \"HTI\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Haiti\",\n adm0_a3: \"HTI\",\n geou_dif: 0,\n geounit: \"Haiti\",\n gu_a3: \"HTI\",\n su_dif: 0,\n subunit: \"Haiti\",\n su_a3: \"HTI\",\n brk_diff: 0,\n name: \"Haiti\",\n name_long: \"Haiti\",\n brk_a3: \"HTI\",\n brk_name: \"Haiti\",\n brk_group: null,\n abbrev: \"Haiti\",\n postal: \"HT\",\n formal_en: \"Republic of Haiti\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Haiti\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 1,\n mapcolor9: 7,\n mapcolor13: 2,\n pop_est: 9035536,\n gdp_md_est: 11500,\n pop_year: -99,\n lastcensus: 2003,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"HT\",\n iso_a3: \"HTI\",\n iso_n3: \"332\",\n un_a3: \"332\",\n wb_a2: \"HT\",\n wb_a3: \"HTI\",\n woe_id: -99,\n adm0_a3_is: \"HTI\",\n adm0_a3_us: \"HTI\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Caribbean\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"HTI.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-73.18979061551762, 19.915683905511912],\n [-72.57967281766362, 19.871500555902358],\n [-71.71236141629296, 19.714455878167357],\n [-71.62487321642283, 19.169837958243306],\n [-71.70130265978248, 18.78541697842405],\n [-71.94511206733556, 18.61690013272026],\n [-71.68773759630587, 18.31666006110447],\n [-71.70830481635805, 18.04499705654609],\n [-72.37247616238935, 18.21496084235406],\n [-72.84441118029488, 18.14561107021836],\n [-73.45455481636503, 18.217906398994696],\n [-73.92243323433566, 18.030992743395004],\n [-74.45803361682478, 18.342549953682706],\n [-74.36992529976713, 18.66490753831941],\n [-73.44954220243272, 18.526052964751145],\n [-72.69493709989064, 18.445799465401862],\n [-72.334881557897, 18.668421535715254],\n [-72.79164954292489, 19.10162506761803],\n [-72.78410478381028, 19.48359141690341],\n [-73.41502234566175, 19.639550889560283],\n [-73.18979061551762, 19.915683905511912],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Jamaica\",\n sov_a3: \"JAM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Jamaica\",\n adm0_a3: \"JAM\",\n geou_dif: 0,\n geounit: \"Jamaica\",\n gu_a3: \"JAM\",\n su_dif: 0,\n subunit: \"Jamaica\",\n su_a3: \"JAM\",\n brk_diff: 0,\n name: \"Jamaica\",\n name_long: \"Jamaica\",\n brk_a3: \"JAM\",\n brk_name: \"Jamaica\",\n brk_group: null,\n abbrev: \"Jam.\",\n postal: \"J\",\n formal_en: \"Jamaica\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Jamaica\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 2,\n mapcolor9: 4,\n mapcolor13: 10,\n pop_est: 2825928,\n gdp_md_est: 20910,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"JM\",\n iso_a3: \"JAM\",\n iso_n3: \"388\",\n un_a3: \"388\",\n wb_a2: \"JM\",\n wb_a3: \"JAM\",\n woe_id: -99,\n adm0_a3_is: \"JAM\",\n adm0_a3_us: \"JAM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Caribbean\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"JAM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-77.56960079619921, 18.490525417550487],\n [-76.89661861846211, 18.400866807524082],\n [-76.36535905628554, 18.160700588447597],\n [-76.19965857614164, 17.886867173732966],\n [-76.9025614081757, 17.868237819891746],\n [-77.20634131540348, 17.70111623785982],\n [-77.76602291534061, 17.86159739834224],\n [-78.33771928578561, 18.225967922432233],\n [-78.21772661000388, 18.454532782459193],\n [-77.79736467152563, 18.524218451404778],\n [-77.56960079619921, 18.490525417550487],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Mexico\",\n sov_a3: \"MEX\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Mexico\",\n adm0_a3: \"MEX\",\n geou_dif: 0,\n geounit: \"Mexico\",\n gu_a3: \"MEX\",\n su_dif: 0,\n subunit: \"Mexico\",\n su_a3: \"MEX\",\n brk_diff: 0,\n name: \"Mexico\",\n name_long: \"Mexico\",\n brk_a3: \"MEX\",\n brk_name: \"Mexico\",\n brk_group: null,\n abbrev: \"Mex.\",\n postal: \"MX\",\n formal_en: \"United Mexican States\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Mexico\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 1,\n mapcolor9: 7,\n mapcolor13: 3,\n pop_est: 111211789,\n gdp_md_est: 1563000,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"4. Emerging region: MIKT\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MX\",\n iso_a3: \"MEX\",\n iso_n3: \"484\",\n un_a3: \"484\",\n wb_a2: \"MX\",\n wb_a3: \"MEX\",\n woe_id: -99,\n adm0_a3_is: \"MEX\",\n adm0_a3_us: \"MEX\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Central America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"MEX.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-97.14000830767071, 25.869997463478395],\n [-97.52807247596655, 24.992144069920297],\n [-97.70294552284223, 24.272343044526735],\n [-97.77604183631905, 22.932579860927657],\n [-97.87236670611111, 22.44421173755336],\n [-97.69904395220419, 21.898689480064263],\n [-97.38895952023677, 21.411018988525825],\n [-97.18933346229329, 20.635433254473128],\n [-96.52557552772032, 19.890930894444068],\n [-96.29212724484177, 19.320371405509547],\n [-95.90088497595995, 18.82802419684873],\n [-94.83906348344271, 18.562717393462208],\n [-94.4257295397562, 18.144370835843347],\n [-93.5486512926824, 18.423836981677937],\n [-92.7861138577835, 18.52483856859226],\n [-92.0373481920904, 18.704569200103432],\n [-91.40790340855926, 18.87608327888023],\n [-90.77186987991087, 19.28412038825678],\n [-90.53358985061305, 19.8674181177513],\n [-90.45147599970124, 20.707521877520435],\n [-90.27861833368489, 20.99985545499555],\n [-89.60132117385149, 21.26172577563449],\n [-88.54386633986284, 21.49367544197662],\n [-87.65841651075772, 21.458845526611977],\n [-87.05189022494807, 21.543543199138295],\n [-86.81198238803296, 21.331514797444754],\n [-86.84590796583262, 20.849864610268355],\n [-87.38329118523586, 20.25540477139873],\n [-87.62105445021075, 19.64655304613592],\n [-87.43675045444176, 19.47240346931227],\n [-87.58656043165593, 19.04013011319074],\n [-87.83719112827151, 18.25981598558343],\n [-88.09066402866318, 18.51664785407405],\n [-88.30003109409364, 18.49998220466],\n [-88.4901228502793, 18.48683055264172],\n [-88.84834387892658, 17.883198147040332],\n [-89.02985734735176, 18.00151133877256],\n [-89.15090938999549, 17.955467637600407],\n [-89.14308041050333, 17.808318996649405],\n [-90.0679335192309, 17.81932607672752],\n [-91.00151994501596, 17.817594916245696],\n [-91.00226925328417, 17.25465770107428],\n [-91.45392127151511, 17.252177232324186],\n [-91.0816700915006, 16.91847667079952],\n [-90.71182186558764, 16.687483018454767],\n [-90.60084672724093, 16.47077789963879],\n [-90.438866950222, 16.41010976812811],\n [-90.46447262242265, 16.069562079324726],\n [-91.74796017125595, 16.066564846251765],\n [-92.2292486234063, 15.251446641495873],\n [-92.08721594925203, 15.064584662328512],\n [-92.20322953974727, 14.83010285080411],\n [-92.22775000686983, 14.538828640190957],\n [-93.35946387406176, 15.615429592343672],\n [-93.87516883011851, 15.940164292865914],\n [-94.69165646033014, 16.200975246642884],\n [-95.25022701697304, 16.128318182840644],\n [-96.05338212765331, 15.752087917539596],\n [-96.55743404822829, 15.65351512294279],\n [-97.26359249549665, 15.917064927631316],\n [-98.01302995480961, 16.107311713113912],\n [-98.94767574745651, 16.566043402568763],\n [-99.69739742714705, 16.70616404872817],\n [-100.82949886758131, 17.17107107184205],\n [-101.66608862995446, 17.649026394109626],\n [-101.91852800170022, 17.916090196193977],\n [-102.47813208698891, 17.975750637275098],\n [-103.50098954955808, 18.29229462327885],\n [-103.91752743204682, 18.74857168220001],\n [-104.9920096504755, 19.316133938061682],\n [-105.49303849976144, 19.946767279535436],\n [-105.73139604370766, 20.434101874264115],\n [-105.39777299683135, 20.531718654863425],\n [-105.50066077352443, 20.81689504646613],\n [-105.27075232625793, 21.07628489835514],\n [-105.26581722697402, 21.42210358325235],\n [-105.6031609769754, 21.871145941652568],\n [-105.69341386597313, 22.269080308516152],\n [-106.02871639689897, 22.773752346278627],\n [-106.90998043498837, 23.767774359628902],\n [-107.91544877809139, 24.54891531015295],\n [-108.40190487347098, 25.17231395110593],\n [-109.26019873740665, 25.58060944264406],\n [-109.44408932171734, 25.824883938087677],\n [-109.29164384645627, 26.442934068298428],\n [-109.80145768923182, 26.676175645447927],\n [-110.3917317370857, 27.16211497650454],\n [-110.64101884646163, 27.859876003525528],\n [-111.17891883018785, 27.941240546169066],\n [-111.75960689985163, 28.46795258230395],\n [-112.2282346260904, 28.95440867768349],\n [-112.27182369672869, 29.266844387320074],\n [-112.80959448937398, 30.021113593052345],\n [-113.16381059451868, 30.78688080496943],\n [-113.14866939985717, 31.17096588797892],\n [-113.87188106978186, 31.567608344035193],\n [-114.2057366606035, 31.52404511161313],\n [-114.77645117883503, 31.799532172161147],\n [-114.93669979537212, 31.3934846054276],\n [-114.77123185917351, 30.913617255165267],\n [-114.67389929895177, 30.162681179315992],\n [-114.33097449426292, 29.75043244070741],\n [-113.58887508833544, 29.061611436473015],\n [-113.42405310754054, 28.82617361095123],\n [-113.27196936730553, 28.7547826197399],\n [-113.14003943566439, 28.411289374295958],\n [-112.9622983467965, 28.42519033458251],\n [-112.76158708377488, 27.780216783147523],\n [-112.45791052941166, 27.52581370697476],\n [-112.2449519519368, 27.17172679291076],\n [-111.6164890206192, 26.662817287700477],\n [-111.28467464887302, 25.732589830014433],\n [-110.98781938357239, 25.294606228124564],\n [-110.71000688357134, 24.82600434010186],\n [-110.65504899782887, 24.298594672131117],\n [-110.17285620811343, 24.265547593680424],\n [-109.77184709352855, 23.811182562754198],\n [-109.4091043770557, 23.36467234953625],\n [-109.43339230023292, 23.1855876734287],\n [-109.85421932660171, 22.818271592698068],\n [-110.03139197471444, 22.823077500901206],\n [-110.29507097048366, 23.43097321216669],\n [-110.94950130902805, 24.00096426034599],\n [-111.67056840701268, 24.484423122652515],\n [-112.18203589562147, 24.738412787367167],\n [-112.14898881717085, 25.47012523040405],\n [-112.3007108223797, 26.012004299416613],\n [-112.77729671919155, 26.32195954030317],\n [-113.46467078332194, 26.768185533143424],\n [-113.59672990604383, 26.639459540304472],\n [-113.84893673384424, 26.90006378835244],\n [-114.46574662968003, 27.142090358991368],\n [-115.055142178185, 27.72272675222291],\n [-114.98225257043741, 27.798200181585116],\n [-114.57036556685495, 27.74148529714489],\n [-114.19932878299925, 28.115002549750553],\n [-114.16201839888463, 28.566111965442303],\n [-114.93184221073663, 29.279479275015486],\n [-115.518653937627, 29.556361599235398],\n [-115.88736528202958, 30.180793768834178],\n [-116.25835038945293, 30.83646434175358],\n [-116.72152625208498, 31.635743720012044],\n [-117.12775999999985, 32.53534],\n [-115.99135, 32.61239000000012],\n [-114.72139, 32.72083],\n [-114.815, 32.52528],\n [-113.30498, 32.03914],\n [-111.02361, 31.33472],\n [-109.035, 31.341940000000136],\n [-108.24194, 31.34222],\n [-108.24, 31.75485371816637],\n [-106.50759, 31.75452],\n [-106.1429, 31.39995],\n [-105.63159, 31.08383],\n [-105.03737, 30.64402],\n [-104.70575, 30.12173],\n [-104.4569699999999, 29.57196],\n [-103.94, 29.27],\n [-103.11, 28.97],\n [-102.48, 29.76],\n [-101.6624, 29.7793],\n [-100.9576, 29.380710000000132],\n [-100.45584, 28.696120000000118],\n [-100.11, 28.110000000000127],\n [-99.52, 27.54],\n [-99.3, 26.84],\n [-99.02, 26.37],\n [-98.24, 26.06],\n [-97.53, 25.84],\n [-97.14000830767071, 25.869997463478395],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Panama\",\n sov_a3: \"PAN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Panama\",\n adm0_a3: \"PAN\",\n geou_dif: 0,\n geounit: \"Panama\",\n gu_a3: \"PAN\",\n su_dif: 0,\n subunit: \"Panama\",\n su_a3: \"PAN\",\n brk_diff: 0,\n name: \"Panama\",\n name_long: \"Panama\",\n brk_a3: \"PAN\",\n brk_name: \"Panama\",\n brk_group: null,\n abbrev: \"Pan.\",\n postal: \"PA\",\n formal_en: \"Republic of Panama\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Panama\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 4,\n mapcolor9: 6,\n mapcolor13: 3,\n pop_est: 3360474,\n gdp_md_est: 38830,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PA\",\n iso_a3: \"PAN\",\n iso_n3: \"591\",\n un_a3: \"591\",\n wb_a2: \"PA\",\n wb_a3: \"PAN\",\n woe_id: -99,\n adm0_a3_is: \"PAN\",\n adm0_a3_us: \"PAN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Central America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"PAN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-77.88157141794525, 7.223771267114785],\n [-78.21493608266012, 7.512254950384161],\n [-78.42916073272607, 8.052041123888927],\n [-78.18209570993864, 8.319182440621773],\n [-78.4354652574657, 8.38770538984079],\n [-78.62212053090394, 8.718124497915028],\n [-79.12030717641375, 8.996092027213022],\n [-79.55787736684519, 8.932374986197146],\n [-79.76057817251004, 8.5845150822244],\n [-80.16448116730334, 8.333315944853595],\n [-80.38265906443961, 8.298408514840432],\n [-80.4806892564973, 8.09030752200107],\n [-80.00368994822716, 7.547524115423371],\n [-80.276670701809, 7.419754136581715],\n [-80.42115800649708, 7.271571966984764],\n [-80.8864009264208, 7.220541490096537],\n [-81.05954281281473, 7.817921047390596],\n [-81.18971574575795, 7.647905585150339],\n [-81.51951473664468, 7.706610012233909],\n [-81.72131120474445, 8.108962714058435],\n [-82.13144120962892, 8.175392767769635],\n [-82.39093441438257, 8.29236237226229],\n [-82.82008134635042, 8.290863755725823],\n [-82.85095801464482, 8.073822740099956],\n [-82.96578304719736, 8.225027980985985],\n [-82.91317643912421, 8.42351715741907],\n [-82.82977067740516, 8.62629547773237],\n [-82.86865719270477, 8.807266343618522],\n [-82.71918311230053, 8.925708726431495],\n [-82.92715491405916, 9.074330145702916],\n [-82.93289099804358, 9.476812038608173],\n [-82.54619625520348, 9.566134751824677],\n [-82.18712256542341, 9.20744863528678],\n [-82.20758643261095, 8.9955752628901],\n [-81.80856686066929, 8.950616766796173],\n [-81.71415401887204, 9.031955471223583],\n [-81.43928707551154, 8.786234035675719],\n [-80.94730160187676, 8.858503526235905],\n [-80.52190121125008, 9.111072089062432],\n [-79.91459977895599, 9.31276520429762],\n [-79.57330278188431, 9.611610012241526],\n [-79.02119177927793, 9.552931423374105],\n [-79.05845048696037, 9.454565334506526],\n [-78.50088762074719, 9.420458889193881],\n [-78.05592770049802, 9.2477304142583],\n [-77.72951351592641, 8.946844387238869],\n [-77.35336076527385, 8.67050466555807],\n [-77.47472286651133, 8.524286200388218],\n [-77.24256649444008, 7.935278225125444],\n [-77.43110795765699, 7.638061224798735],\n [-77.75341386586139, 7.709839789252142],\n [-77.88157141794525, 7.223771267114785],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"United States of America\",\n sov_a3: \"US1\",\n adm0_dif: 1,\n level: 2,\n type: \"Dependency\",\n admin: \"Puerto Rico\",\n adm0_a3: \"PRI\",\n geou_dif: 0,\n geounit: \"Puerto Rico\",\n gu_a3: \"PRI\",\n su_dif: 0,\n subunit: \"Puerto Rico\",\n su_a3: \"PRI\",\n brk_diff: 0,\n name: \"Puerto Rico\",\n name_long: \"Puerto Rico\",\n brk_a3: \"PRI\",\n brk_name: \"Puerto Rico\",\n brk_group: null,\n abbrev: \"P.R.\",\n postal: \"PR\",\n formal_en: \"Commonwealth of Puerto Rico\",\n formal_fr: null,\n note_adm0: \"Commonwealth of U.S.A.\",\n note_brk: null,\n name_sort: \"Puerto Rico\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 5,\n mapcolor9: 1,\n mapcolor13: 1,\n pop_est: 3971020,\n gdp_md_est: 70230,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PR\",\n iso_a3: \"PRI\",\n iso_n3: \"630\",\n un_a3: \"630\",\n wb_a2: \"PR\",\n wb_a3: \"PRI\",\n woe_id: -99,\n adm0_a3_is: \"PRI\",\n adm0_a3_us: \"PRI\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Caribbean\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 11,\n long_len: 11,\n abbrev_len: 4,\n tiny: -99,\n homepart: -99,\n filename: \"PRI.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-66.28243445500821, 18.514761664295364],\n [-65.7713028632093, 18.426679185453878],\n [-65.59100379094295, 18.228034979723915],\n [-65.84716386581377, 17.97590566657186],\n [-66.59993445500949, 17.981822618069273],\n [-67.18416236028527, 17.946553453030077],\n [-67.24242753769435, 18.374460150622937],\n [-67.10067908391774, 18.52060110114435],\n [-66.28243445500821, 18.514761664295364],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Nicaragua\",\n sov_a3: \"NIC\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Nicaragua\",\n adm0_a3: \"NIC\",\n geou_dif: 0,\n geounit: \"Nicaragua\",\n gu_a3: \"NIC\",\n su_dif: 0,\n subunit: \"Nicaragua\",\n su_a3: \"NIC\",\n brk_diff: 0,\n name: \"Nicaragua\",\n name_long: \"Nicaragua\",\n brk_a3: \"NIC\",\n brk_name: \"Nicaragua\",\n brk_group: null,\n abbrev: \"Nic.\",\n postal: \"NI\",\n formal_en: \"Republic of Nicaragua\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Nicaragua\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 1,\n mapcolor13: 9,\n pop_est: 5891199,\n gdp_md_est: 16790,\n pop_year: -99,\n lastcensus: 2005,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"NI\",\n iso_a3: \"NIC\",\n iso_n3: \"558\",\n un_a3: \"558\",\n wb_a2: \"NI\",\n wb_a3: \"NIC\",\n woe_id: -99,\n adm0_a3_is: \"NIC\",\n adm0_a3_us: \"NIC\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Central America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"NIC.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-85.7125404528073, 11.088444932494824],\n [-86.05848832878526, 11.403438625529944],\n [-86.52584998243296, 11.806876532432597],\n [-86.74599158399633, 12.143961900272487],\n [-87.16751624220116, 12.458257961471656],\n [-87.66849341505471, 12.909909979702633],\n [-87.5574666002756, 13.064551703336065],\n [-87.39238623731923, 12.914018256069838],\n [-87.31665442579549, 12.984685777228975],\n [-87.00576900912756, 13.025794379117157],\n [-86.88055701368437, 13.254204209847245],\n [-86.7338217841916, 13.263092556201443],\n [-86.7550866360797, 13.754845485890913],\n [-86.5207081774199, 13.77848745366444],\n [-86.31214209668993, 13.77135610600817],\n [-86.0962638007906, 14.038187364147248],\n [-85.80129472526859, 13.83605499923759],\n [-85.69866533073693, 13.960078436738087],\n [-85.51441301140025, 14.079011745657837],\n [-85.1653645494848, 14.354369615125078],\n [-85.14875057650296, 14.560196844943619],\n [-85.05278744173692, 14.551541042534723],\n [-84.9245006985724, 14.790492865452352],\n [-84.82003679069435, 14.819586696832669],\n [-84.64958207877962, 14.666805324761754],\n [-84.4493359036486, 14.621614284722495],\n [-84.22834164095241, 14.748764146376658],\n [-83.97572140169359, 14.749435939996461],\n [-83.62858496777292, 14.880073960830302],\n [-83.48998877636612, 15.016267198135536],\n [-83.14721900097413, 14.99582916916411],\n [-83.23323442252394, 14.899866034398102],\n [-83.2841615465476, 14.6766238468972],\n [-83.18212643098728, 14.31070302983845],\n [-83.41249996614445, 13.970077826386557],\n [-83.51983191601468, 13.567699286345883],\n [-83.55220720084554, 13.127054348193086],\n [-83.49851538769427, 12.869292303921227],\n [-83.47332312695198, 12.419087225794428],\n [-83.62610449902292, 12.320850328007566],\n [-83.71961300325506, 11.893124497927726],\n [-83.65085751009072, 11.629032090700118],\n [-83.8554703437504, 11.373311265503787],\n [-83.80893571647155, 11.103043524617274],\n [-83.65561174186158, 10.938764146361422],\n [-83.89505449088595, 10.726839097532446],\n [-84.19017859570485, 10.793450018756674],\n [-84.35593075228104, 10.999225572142905],\n [-84.67306901725627, 11.082657172078143],\n [-84.90300330273895, 10.952303371621896],\n [-85.56185197624418, 11.217119248901597],\n [-85.7125404528073, 11.088444932494824],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"El Salvador\",\n sov_a3: \"SLV\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"El Salvador\",\n adm0_a3: \"SLV\",\n geou_dif: 0,\n geounit: \"El Salvador\",\n gu_a3: \"SLV\",\n su_dif: 0,\n subunit: \"El Salvador\",\n su_a3: \"SLV\",\n brk_diff: 0,\n name: \"El Salvador\",\n name_long: \"El Salvador\",\n brk_a3: \"SLV\",\n brk_name: \"El Salvador\",\n brk_group: null,\n abbrev: \"El. S.\",\n postal: \"SV\",\n formal_en: \"Republic of El Salvador\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"El Salvador\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 6,\n mapcolor13: 8,\n pop_est: 7185218,\n gdp_md_est: 43630,\n pop_year: -99,\n lastcensus: 2007,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SV\",\n iso_a3: \"SLV\",\n iso_n3: \"222\",\n un_a3: \"222\",\n wb_a2: \"SV\",\n wb_a3: \"SLV\",\n woe_id: -99,\n adm0_a3_is: \"SLV\",\n adm0_a3_us: \"SLV\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Central America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 11,\n long_len: 11,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"SLV.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-87.79311113152657, 13.384480495655055],\n [-87.90411210808952, 13.149016831917137],\n [-88.48330156121682, 13.163951320849492],\n [-88.8432279121297, 13.259733588102478],\n [-89.2567427233293, 13.458532823129303],\n [-89.81239356154767, 13.520622056527998],\n [-90.09555457229098, 13.735337632700734],\n [-90.0646779039966, 13.881969509328924],\n [-89.72193396682073, 14.134228013561694],\n [-89.53421932652051, 14.244815578666305],\n [-89.58734269891654, 14.362586167859488],\n [-89.35332597528279, 14.424132798719116],\n [-89.05851192905766, 14.340029405164085],\n [-88.84307288283284, 14.140506700085169],\n [-88.541230841816, 13.980154730683479],\n [-88.50399797234971, 13.845485948130857],\n [-88.06534257684012, 13.964625962779778],\n [-87.8595153470216, 13.893312486216983],\n [-87.72350297722939, 13.785050360565506],\n [-87.79311113152657, 13.384480495655055],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Trinidad and Tobago\",\n sov_a3: \"TTO\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Trinidad and Tobago\",\n adm0_a3: \"TTO\",\n geou_dif: 0,\n geounit: \"Trinidad and Tobago\",\n gu_a3: \"TTO\",\n su_dif: 0,\n subunit: \"Trinidad and Tobago\",\n su_a3: \"TTO\",\n brk_diff: 0,\n name: \"Trinidad and Tobago\",\n name_long: \"Trinidad and Tobago\",\n brk_a3: \"TTO\",\n brk_name: \"Trinidad and Tobago\",\n brk_group: null,\n abbrev: \"Tr.T.\",\n postal: \"TT\",\n formal_en: \"Republic of Trinidad and Tobago\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Trinidad and Tobago\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 6,\n mapcolor9: 2,\n mapcolor13: 5,\n pop_est: 1310000,\n gdp_md_est: 29010,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TT\",\n iso_a3: \"TTO\",\n iso_n3: \"780\",\n un_a3: \"780\",\n wb_a2: \"TT\",\n wb_a3: \"TTO\",\n woe_id: -99,\n adm0_a3_is: \"TTO\",\n adm0_a3_us: \"TTO\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Caribbean\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 19,\n long_len: 19,\n abbrev_len: 5,\n tiny: 2,\n homepart: 1,\n filename: \"TTO.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-61.68, 10.76],\n [-61.105, 10.89],\n [-60.895, 10.855],\n [-60.935, 10.11],\n [-61.77, 10],\n [-61.95, 10.09],\n [-61.66, 10.365],\n [-61.68, 10.76],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"United States of America\",\n sov_a3: \"US1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"United States of America\",\n adm0_a3: \"USA\",\n geou_dif: 0,\n geounit: \"United States of America\",\n gu_a3: \"USA\",\n su_dif: 0,\n subunit: \"United States of America\",\n su_a3: \"USA\",\n brk_diff: 0,\n name: \"United States\",\n name_long: \"United States\",\n brk_a3: \"USA\",\n brk_name: \"United States\",\n brk_group: null,\n abbrev: \"U.S.A.\",\n postal: \"US\",\n formal_en: \"United States of America\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"United States of America\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 5,\n mapcolor9: 1,\n mapcolor13: 1,\n pop_est: 313973000,\n gdp_md_est: 15094000,\n pop_year: 0,\n lastcensus: 2010,\n gdp_year: 0,\n economy: \"1. Developed region: G7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: 0,\n fips_10: null,\n iso_a2: \"US\",\n iso_a3: \"USA\",\n iso_n3: \"840\",\n un_a3: \"840\",\n wb_a2: \"US\",\n wb_a3: \"USA\",\n woe_id: -99,\n adm0_a3_is: \"USA\",\n adm0_a3_us: \"USA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"North America\",\n region_un: \"Americas\",\n subregion: \"Northern America\",\n region_wb: \"North America\",\n name_len: 13,\n long_len: 13,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"USA.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [-155.54211, 19.08348],\n [-155.68817, 18.91619],\n [-155.93665, 19.05939],\n [-155.90806, 19.33888],\n [-156.07347, 19.70294],\n [-156.02368, 19.81422],\n [-155.85008, 19.97729],\n [-155.91907, 20.17395],\n [-155.86108, 20.26721],\n [-155.78505, 20.2487],\n [-155.40214, 20.07975],\n [-155.22452, 19.99302],\n [-155.06226, 19.8591],\n [-154.80741, 19.50871],\n [-154.83147, 19.45328],\n [-155.22217, 19.23972],\n [-155.54211, 19.08348],\n ],\n ],\n [\n [\n [-156.07926, 20.64397],\n [-156.41445, 20.57241],\n [-156.58673, 20.783],\n [-156.70167, 20.8643],\n [-156.71055, 20.92676],\n [-156.61258, 21.01249],\n [-156.25711, 20.91745],\n [-155.99566, 20.76404],\n [-156.07926, 20.64397],\n ],\n ],\n [\n [\n [-156.75824, 21.17684],\n [-156.78933, 21.06873],\n [-157.32521, 21.09777],\n [-157.25027, 21.21958],\n [-156.75824, 21.17684],\n ],\n ],\n [\n [\n [-157.65283, 21.32217],\n [-157.70703, 21.26442],\n [-157.7786, 21.27729],\n [-158.12667, 21.31244],\n [-158.2538, 21.53919],\n [-158.29265, 21.57912],\n [-158.0252, 21.71696],\n [-157.94161, 21.65272],\n [-157.65283, 21.32217],\n ],\n ],\n [\n [\n [-159.34512, 21.982],\n [-159.46372, 21.88299],\n [-159.80051, 22.06533],\n [-159.74877, 22.1382],\n [-159.5962, 22.23618],\n [-159.36569, 22.21494],\n [-159.34512, 21.982],\n ],\n ],\n [\n [\n [-94.81758, 49.38905],\n [-94.63999999999987, 48.84000000000012],\n [-94.32914, 48.67074000000011],\n [-93.63087, 48.60926],\n [-92.61, 48.45],\n [-91.64, 48.14],\n [-90.82999999999986, 48.27],\n [-89.6, 48.010000000000105],\n [-89.27291744663668, 48.01980825458284],\n [-88.37811418328653, 48.30291758889382],\n [-87.43979262330024, 47.94],\n [-86.46199083122815, 47.55333801939204],\n [-85.65236324740323, 47.22021881773051],\n [-84.87607988151485, 46.90008331968238],\n [-84.77923824739983, 46.63710195574913],\n [-84.54374874544567, 46.53868419044923],\n [-84.6049, 46.4396],\n [-84.3367, 46.40877000000011],\n [-84.1421195136733, 46.51222585711574],\n [-84.09185126416148, 46.27541860613826],\n [-83.89076534700567, 46.116926988299156],\n [-83.6161309475905, 46.116926988299156],\n [-83.46955074739463, 45.99468638771259],\n [-83.59285071484308, 45.81689362241255],\n [-82.55092464875818, 45.34751658790545],\n [-82.33776312543108, 44.44],\n [-82.13764238150397, 43.57108755144],\n [-82.43, 42.9800000000001],\n [-82.89999999999989, 42.43000000000015],\n [-83.11999999999989, 42.08],\n [-83.14199968131256, 41.975681057293],\n [-83.02981014680694, 41.83279572200601],\n [-82.69008928092018, 41.675105088867326],\n [-82.43927771679162, 41.675105088867326],\n [-81.27774654816707, 42.20902598730686],\n [-80.24744767934784, 42.36619985612267],\n [-78.9393621487437, 42.86361135514812],\n [-78.92, 42.965],\n [-79.00999999999988, 43.27],\n [-79.17167355011188, 43.46633942318431],\n [-78.72027991404238, 43.62508942318496],\n [-77.73788509795762, 43.62905558936339],\n [-76.82003414580558, 43.628784288093755],\n [-76.5, 44.018458893758606],\n [-76.375, 44.09631],\n [-75.31821, 44.816450000000174],\n [-74.867, 45.000480000000124],\n [-73.34783, 45.00738],\n [-71.50505999999987, 45.0082000000001],\n [-71.405, 45.25500000000014],\n [-71.08482, 45.30524000000017],\n [-70.6599999999998, 45.46],\n [-70.305, 45.915],\n [-69.99997, 46.69307],\n [-69.237216, 47.447781],\n [-68.905, 47.185],\n [-68.23444, 47.35486],\n [-67.79046, 47.06636],\n [-67.79134, 45.70281000000014],\n [-67.13741, 45.13753],\n [-66.96466, 44.80970000000016],\n [-68.03252, 44.3252],\n [-69.05999999999989, 43.98],\n [-70.11617, 43.684050000000155],\n [-70.645475633411, 43.09023834896405],\n [-70.81489, 42.8653],\n [-70.825, 42.335],\n [-70.495, 41.805],\n [-70.08, 41.78],\n [-70.185, 42.145],\n [-69.88497, 41.92283000000012],\n [-69.96503, 41.63717000000017],\n [-70.64, 41.475],\n [-71.12039, 41.49445000000017],\n [-71.85999999999984, 41.32],\n [-72.295, 41.27],\n [-72.87643, 41.22065],\n [-73.71, 40.93110235165449],\n [-72.24126, 41.11948000000015],\n [-71.94499999999982, 40.93],\n [-73.345, 40.63],\n [-73.982, 40.628],\n [-73.952325, 40.75075],\n [-74.25671, 40.47351],\n [-73.96244, 40.42763],\n [-74.17838, 39.70926],\n [-74.90604, 38.93954],\n [-74.98041, 39.1964],\n [-75.20002, 39.248450000000105],\n [-75.52805, 39.4985],\n [-75.32, 38.96],\n [-75.0718347647898, 38.78203223017928],\n [-75.05673, 38.40412000000012],\n [-75.37747, 38.01551],\n [-75.94023, 37.21689],\n [-76.03127, 37.2566],\n [-75.72204999999978, 37.93705000000011],\n [-76.23287, 38.319215],\n [-76.35, 39.15],\n [-76.542725, 38.71761500000011],\n [-76.32933, 38.08326],\n [-76.98999793161354, 38.23999176691339],\n [-76.30162, 37.917945],\n [-76.25874, 36.96640000000011],\n [-75.9718, 36.89726],\n [-75.86803999999984, 36.55125],\n [-75.72749, 35.55074000000013],\n [-76.36318, 34.80854000000013],\n [-77.39763499999988, 34.51201],\n [-78.05496, 33.92547],\n [-78.55434999999983, 33.86133000000012],\n [-79.06067, 33.49395],\n [-79.20357, 33.15839],\n [-80.301325, 32.509355],\n [-80.86498, 32.0333],\n [-81.33629, 31.44049],\n [-81.49042, 30.72999000000013],\n [-81.31371, 30.035520000000105],\n [-80.98, 29.180000000000117],\n [-80.53558499999988, 28.47213],\n [-80.5299999999998, 28.040000000000106],\n [-80.05653928497756, 26.880000000000138],\n [-80.088015, 26.205765],\n [-80.13155999999987, 25.816775],\n [-80.38103, 25.20616],\n [-80.67999999999988, 25.08],\n [-81.17213, 25.201260000000133],\n [-81.33, 25.64],\n [-81.70999999999981, 25.87],\n [-82.24, 26.730000000000132],\n [-82.70515, 27.49504],\n [-82.85526, 27.88624],\n [-82.65, 28.550000000000153],\n [-82.92999999999988, 29.100000000000136],\n [-83.70959, 29.93656],\n [-84.1, 30.090000000000117],\n [-85.10882, 29.63615],\n [-85.28784, 29.68612000000013],\n [-85.7731, 30.152610000000124],\n [-86.39999999999988, 30.40000000000012],\n [-87.53036, 30.27433],\n [-88.41782, 30.3849],\n [-89.18048999999984, 30.31598],\n [-89.59383117841978, 30.15999400483685],\n [-89.413735, 29.89419],\n [-89.43, 29.48864],\n [-89.21767, 29.29108],\n [-89.40823, 29.15961],\n [-89.77928, 29.307140000000143],\n [-90.15463, 29.11743],\n [-90.880225, 29.148535000000123],\n [-91.62678499999987, 29.67700000000013],\n [-92.49906, 29.5523],\n [-93.22637, 29.78375],\n [-93.84842, 29.71363],\n [-94.69, 29.480000000000132],\n [-95.60026, 28.73863],\n [-96.59404, 28.30748],\n [-97.13999999999982, 27.83],\n [-97.37, 27.38],\n [-97.37999999999987, 26.69],\n [-97.33, 26.21000000000012],\n [-97.13999999999982, 25.87],\n [-97.52999999999989, 25.84],\n [-98.24, 26.060000000000116],\n [-99.01999999999988, 26.37],\n [-99.3, 26.84],\n [-99.51999999999987, 27.54],\n [-100.11, 28.110000000000127],\n [-100.45584, 28.696120000000118],\n [-100.9576, 29.380710000000132],\n [-101.6624, 29.779300000000116],\n [-102.48, 29.76],\n [-103.11, 28.97],\n [-103.94, 29.27],\n [-104.45696999999984, 29.57196],\n [-104.70575, 30.12173],\n [-105.03737, 30.64402],\n [-105.63159, 31.08383000000012],\n [-106.1429, 31.39995],\n [-106.50758999999982, 31.75452],\n [-108.24, 31.7548537181664],\n [-108.24194, 31.34222],\n [-109.035, 31.34194000000016],\n [-111.02361, 31.33472],\n [-113.30498, 32.03914],\n [-114.815, 32.52528],\n [-114.72138999999986, 32.72083],\n [-115.9913499999999, 32.61239000000014],\n [-117.12775999999978, 32.53534],\n [-117.29593769127388, 33.04622461520389],\n [-117.944, 33.621236431201396],\n [-118.41060227589749, 33.740909223124504],\n [-118.51989482279971, 34.02778157757575],\n [-119.081, 34.078],\n [-119.43884064201669, 34.3484771782843],\n [-120.36778, 34.44711],\n [-120.62286, 34.60855],\n [-120.74433, 35.15686000000011],\n [-121.71456999999988, 36.16153],\n [-122.54747, 37.551760000000115],\n [-122.51201, 37.78339000000013],\n [-122.95319, 38.11371000000011],\n [-123.7272, 38.95166000000012],\n [-123.86517, 39.76699000000013],\n [-124.39807, 40.3132],\n [-124.17886, 41.142020000000116],\n [-124.2137, 41.99964000000014],\n [-124.53284, 42.7659900000001],\n [-124.14214, 43.70838],\n [-124.020535, 44.615895],\n [-123.89893, 45.52341],\n [-124.079635, 46.86475],\n [-124.39567, 47.72017000000011],\n [-124.68721008300783, 48.18443298339855],\n [-124.56610107421876, 48.3797149658204],\n [-123.12, 48.04],\n [-122.58736, 47.096],\n [-122.34, 47.36],\n [-122.5, 48.18],\n [-122.84, 49.000000000000114],\n [-120, 49.000000000000114],\n [-117.03121, 49.000000000000114],\n [-116.04818, 49.000000000000114],\n [-113, 49.000000000000114],\n [-110.04999999999983, 49.000000000000114],\n [-107.05, 49.000000000000114],\n [-104.04826, 48.99986],\n [-100.65, 49.000000000000114],\n [-97.22872000000471, 49.00070000000011],\n [-95.15906950917196, 49.000000000000114],\n [-95.15609, 49.38425],\n [-94.81758, 49.38905],\n ],\n ],\n [\n [\n [-153.0063140533369, 57.11584219016589],\n [-154.0050902984581, 56.73467682558106],\n [-154.5164027577701, 56.9927489284467],\n [-154.67099280497115, 57.46119578717249],\n [-153.76277950744148, 57.81657461204377],\n [-153.2287294179211, 57.968968410872435],\n [-152.56479061583514, 57.901427313866975],\n [-152.1411472239063, 57.59105866152199],\n [-153.0063140533369, 57.11584219016589],\n ],\n ],\n [\n [\n [-165.57916419173358, 59.90998688418755],\n [-166.19277014876727, 59.754440822988975],\n [-166.848337368822, 59.94140615502096],\n [-167.45527706609008, 60.21306915957938],\n [-166.46779212142462, 60.38416982689778],\n [-165.67442969466367, 60.293606879306246],\n [-165.57916419173358, 59.90998688418755],\n ],\n ],\n [\n [\n [-171.7316568675394, 63.78251536727592],\n [-171.1144335602452, 63.592191067144995],\n [-170.4911124339407, 63.69497549097352],\n [-169.68250545965358, 63.431115627691156],\n [-168.6894394603007, 63.2975062120006],\n [-168.7719408844546, 63.18859813094545],\n [-169.52943986720504, 62.9769314642779],\n [-170.29055620021597, 63.194437567794466],\n [-170.67138566799088, 63.37582184513897],\n [-171.55306311753867, 63.317789211675084],\n [-171.7911106028912, 63.405845852300494],\n [-171.7316568675394, 63.78251536727592],\n ],\n ],\n [\n [\n [-155.06779029032424, 71.1477763943237],\n [-154.34416520894123, 70.6964085964702],\n [-153.90000627339262, 70.8899885118357],\n [-152.2100060699353, 70.82999217394485],\n [-152.27000240782615, 70.60000621202985],\n [-150.73999243874454, 70.43001658800571],\n [-149.72000301816752, 70.53001048449045],\n [-147.61336157935708, 70.2140349392418],\n [-145.6899898002253, 70.12000967068676],\n [-144.92001095907642, 69.9899917670405],\n [-143.5894461804252, 70.15251414659832],\n [-142.07251034871342, 69.85193817817265],\n [-140.98598752156073, 69.71199839952638],\n [-140.9859883290049, 69.71199839952638],\n [-140.9924987520294, 66.00002859156868],\n [-140.99776974812312, 60.30639679629861],\n [-140.0129978161531, 60.27683787702759],\n [-139.03900042031586, 60.000007229240026],\n [-138.34089, 59.56211000000016],\n [-137.4525, 58.905000000000115],\n [-136.4797200000001, 59.46389],\n [-135.47583, 59.78778],\n [-134.945, 59.27056000000013],\n [-134.27111, 58.86111],\n [-133.35554888220722, 58.410285142645165],\n [-132.73042, 57.69289000000011],\n [-131.70780999999988, 56.55212],\n [-130.00778, 55.91583],\n [-129.9799942633583, 55.28499787049722],\n [-130.53611018946725, 54.8027534043494],\n [-131.08581823797215, 55.17890615500204],\n [-131.9672114671423, 55.49777558045906],\n [-132.25001074285947, 56.36999624289746],\n [-133.53918108435641, 57.17888743756214],\n [-134.07806292029605, 58.1230675319669],\n [-135.03821103227907, 58.18771474876393],\n [-136.62806230995466, 58.21220937767046],\n [-137.80000627968604, 58.49999542910379],\n [-139.867787041413, 59.53776154238915],\n [-140.82527381713305, 59.727517401765084],\n [-142.57444353556446, 60.08444651960499],\n [-143.9588809948799, 59.9991804063234],\n [-145.92555681682785, 60.45860972761429],\n [-147.11437394914668, 60.88465607364463],\n [-148.22430620012767, 60.672989406977166],\n [-148.01806555885076, 59.97832896589363],\n [-148.5708225168609, 59.914172675203304],\n [-149.72785783587585, 59.70565827090556],\n [-150.60824337461645, 59.36821116803949],\n [-151.71639278868332, 59.15582103131999],\n [-151.85943315326716, 59.744984035879604],\n [-151.4097190012472, 60.72580272077939],\n [-150.34694149473253, 61.03358755150986],\n [-150.62111080625698, 61.284424953854455],\n [-151.89583919981686, 60.72719798445129],\n [-152.5783298410956, 60.06165721296429],\n [-154.01917212625762, 59.35027944603428],\n [-153.28751135965317, 58.8647276882198],\n [-154.2324924387585, 58.14637360293054],\n [-155.30749142151024, 57.72779450136633],\n [-156.3083347239231, 57.42277435976365],\n [-156.55609737854633, 56.979984849670636],\n [-158.11721655986776, 56.46360809999419],\n [-158.43332129619716, 55.99415355083855],\n [-159.60332739971744, 55.56668610292012],\n [-160.2897196116342, 55.643580634170576],\n [-161.2230476552578, 55.364734605523495],\n [-162.23776607974108, 55.02418691672011],\n [-163.06944658104638, 54.68973704692717],\n [-164.7855692210272, 54.40417308208217],\n [-164.94222632552004, 54.57222483989534],\n [-163.84833960676568, 55.03943146424612],\n [-162.87000139061593, 55.348043117893205],\n [-161.80417497459604, 55.89498647727043],\n [-160.56360470278116, 56.00805451112504],\n [-160.0705598622845, 56.41805532492876],\n [-158.68444291891944, 57.01667511659787],\n [-158.46109737855394, 57.21692129172888],\n [-157.7227703521839, 57.57000051536306],\n [-157.55027442119356, 58.32832632103023],\n [-157.041674974577, 58.91888458926172],\n [-158.19473120830548, 58.61580231386984],\n [-158.5172179840231, 58.78778148053732],\n [-159.05860612692874, 58.424186102931685],\n [-159.71166704001735, 58.93139028587634],\n [-159.9812888255002, 58.57254914004164],\n [-160.35527116599653, 59.07112335879364],\n [-161.35500342511506, 58.670837714260756],\n [-161.96889360252635, 58.67166453717738],\n [-162.05498653872468, 59.26692536074745],\n [-161.87417070213536, 59.6336213242906],\n [-162.5180590484921, 59.98972361921391],\n [-163.81834143782015, 59.79805573184339],\n [-164.66221757714646, 60.26748444278265],\n [-165.34638770247483, 60.50749563256241],\n [-165.35083187565186, 61.07389516869751],\n [-166.12137915755596, 61.500019029376226],\n [-165.73445187077053, 62.074996853271806],\n [-164.91917863671785, 62.63307648380793],\n [-164.56250790103934, 63.14637848576305],\n [-163.75333248599702, 63.21944896102377],\n [-163.0672244944579, 63.05945872664802],\n [-162.26055538638172, 63.54193573674117],\n [-161.5344498362486, 63.455816962326764],\n [-160.77250668032113, 63.766108100023274],\n [-160.95833513084256, 64.22279857040277],\n [-161.5180684072122, 64.40278758407531],\n [-160.77777767641476, 64.78860382756642],\n [-161.39192623598763, 64.77723501246234],\n [-162.45305009666885, 64.55944468856822],\n [-162.7577860178941, 64.33860545516882],\n [-163.5463942128843, 64.5591604681905],\n [-164.96082984114517, 64.44694509546885],\n [-166.42528825586447, 64.68667206487072],\n [-166.84500423893905, 65.08889557561453],\n [-168.11056006576717, 65.66999705673675],\n [-166.70527116602196, 66.0883177761394],\n [-164.4747096425755, 66.5766600612975],\n [-163.65251176659564, 66.5766600612975],\n [-163.78860165103617, 66.07720734319668],\n [-161.67777442121016, 66.11611969671242],\n [-162.48971452538, 66.73556509059512],\n [-163.71971696679108, 67.1163945583701],\n [-164.4309913808565, 67.6163382025778],\n [-165.39028683170676, 68.04277212185025],\n [-166.76444068099602, 68.35887685817968],\n [-166.20470740462662, 68.88303091091618],\n [-164.4308105133435, 68.91553538682774],\n [-163.16861365461452, 69.3711148139129],\n [-162.93056616926202, 69.85806183539927],\n [-161.90889726463553, 70.33332998318764],\n [-160.9347965159337, 70.44768992784958],\n [-159.03917578838715, 70.89164215766894],\n [-158.11972286683397, 70.82472117785105],\n [-156.58082455139805, 71.35776357694175],\n [-155.06779029032424, 71.1477763943237],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Argentina\",\n sov_a3: \"ARG\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Argentina\",\n adm0_a3: \"ARG\",\n geou_dif: 0,\n geounit: \"Argentina\",\n gu_a3: \"ARG\",\n su_dif: 0,\n subunit: \"Argentina\",\n su_a3: \"ARG\",\n brk_diff: 0,\n name: \"Argentina\",\n name_long: \"Argentina\",\n brk_a3: \"ARG\",\n brk_name: \"Argentina\",\n brk_group: null,\n abbrev: \"Arg.\",\n postal: \"AR\",\n formal_en: \"Argentine Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Argentina\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 1,\n mapcolor9: 3,\n mapcolor13: 13,\n pop_est: 40913584,\n gdp_md_est: 573900,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AR\",\n iso_a3: \"ARG\",\n iso_n3: \"032\",\n un_a3: \"032\",\n wb_a2: \"AR\",\n wb_a3: \"ARG\",\n woe_id: -99,\n adm0_a3_is: \"ARG\",\n adm0_a3_us: \"ARG\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"ARG.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [-65.5, -55.2],\n [-66.45, -55.25],\n [-66.95992, -54.89681],\n [-67.56244, -54.87001],\n [-68.63335, -54.8695],\n [-68.63401022758316, -52.63637045887445],\n [-68.25, -53.1],\n [-67.75, -53.85],\n [-66.45, -54.45],\n [-65.05, -54.7],\n [-65.5, -55.2],\n ],\n ],\n [\n [\n [-64.96489213729458, -22.075861504812348],\n [-64.37702104354227, -22.798091322523547],\n [-63.98683814152247, -21.993644301035957],\n [-62.846468471921554, -22.034985446869456],\n [-62.6850571356579, -22.249029229422405],\n [-60.84656470400994, -23.8807125790383],\n [-60.02896603050399, -24.032796319273245],\n [-58.80712846539495, -24.771459242453275],\n [-57.77721716981796, -25.16233977630904],\n [-57.63366004091114, -25.60365650808167],\n [-58.61817359071972, -27.12371876394712],\n [-57.60975969097615, -27.395898532828426],\n [-56.48670162619299, -27.54849903738625],\n [-55.6958455063982, -27.38783700939082],\n [-54.78879492859505, -26.621785577096087],\n [-54.625290696823555, -25.739255466415486],\n [-54.13004960795441, -25.54763925547725],\n [-53.62834896504873, -26.124865004177437],\n [-53.648735317587885, -26.92347258881611],\n [-54.49072526713553, -27.474756768505767],\n [-55.1622863429846, -27.88191537853342],\n [-56.2908996242391, -28.852760512000852],\n [-57.62513342958291, -30.216294854454244],\n [-57.87493730328191, -31.016556084926165],\n [-58.14244035504075, -32.04450367607619],\n [-58.13264767112142, -33.040566908502015],\n [-58.34961117209883, -33.263188978815435],\n [-58.42707414410438, -33.90945444105755],\n [-58.49544206402654, -34.43148976007011],\n [-57.225829637263644, -35.28802662530789],\n [-57.362358771378744, -35.977390232081504],\n [-56.73748735210546, -36.41312590916658],\n [-56.78828528504834, -36.901571547189334],\n [-57.74915686708343, -38.183870538079915],\n [-59.231857062401865, -38.720220228837206],\n [-61.23744523786561, -38.928424574541154],\n [-62.33595699731015, -38.82770720800437],\n [-62.12576310896293, -39.424104913084875],\n [-62.330530971919444, -40.17258635840032],\n [-62.14599443220524, -40.67689666113674],\n [-62.745802781816984, -41.02876148861209],\n [-63.77049475773253, -41.166789239263665],\n [-64.73208980981971, -40.802677097335135],\n [-65.11803524439159, -41.06431487402888],\n [-64.97856055363584, -42.05800099056932],\n [-64.30340796574248, -42.359016208669495],\n [-63.75594784204235, -42.04368661882451],\n [-63.45805904809589, -42.563138116222355],\n [-64.3788038804563, -42.87355844499964],\n [-65.1818039618397, -43.495380954767796],\n [-65.32882341171013, -44.501366062193696],\n [-65.5652689276616, -45.03678557716979],\n [-66.50996578638936, -45.03962778094584],\n [-67.29379391139244, -45.5518962542552],\n [-67.58054643418009, -46.30177296324254],\n [-66.59706641301726, -47.03392465595381],\n [-65.64102657740145, -47.236134535511894],\n [-65.98508826360074, -48.13328907653114],\n [-67.16617896184766, -48.697337334996945],\n [-67.81608761256646, -49.86966887797042],\n [-68.72874508327317, -50.26421843851887],\n [-69.1385391913478, -50.7325102679478],\n [-68.81556148952353, -51.771104011594105],\n [-68.14999487982041, -52.3499834061277],\n [-68.57154537624135, -52.29944385534626],\n [-69.49836218939609, -52.14276091263725],\n [-71.91480383979635, -52.009022305865926],\n [-72.32940385607404, -51.42595631287241],\n [-72.30997351753237, -50.677009779666356],\n [-72.97574683296463, -50.74145029073431],\n [-73.32805091011448, -50.37878508890987],\n [-73.41543575712004, -49.31843637471296],\n [-72.64824744331494, -48.87861825947679],\n [-72.33116085477195, -48.244238376661826],\n [-72.44735531278027, -47.73853281025353],\n [-71.91725847033021, -46.8848381487918],\n [-71.55200944689125, -45.56073292417713],\n [-71.65931555854533, -44.97368865334144],\n [-71.22277889675973, -44.784242852559416],\n [-71.32980078803621, -44.40752166115169],\n [-71.79362260607195, -44.20717213315611],\n [-71.46405615913051, -43.78761117937833],\n [-71.91542395698391, -43.40856454851742],\n [-72.14889807807853, -42.25488819760139],\n [-71.74680375841547, -42.051386407235995],\n [-71.91573401557756, -40.83233936947073],\n [-71.68076127794646, -39.80816415787807],\n [-71.41351660834904, -38.916022230791114],\n [-70.81466427273472, -38.55299529394074],\n [-71.11862504747543, -37.5768274879472],\n [-71.1218806627098, -36.65812387466234],\n [-70.36476925320167, -36.005088799789945],\n [-70.38804948594908, -35.16968759535944],\n [-69.81730912950147, -34.193571465798286],\n [-69.81477698431921, -33.27388600029985],\n [-70.07439938015364, -33.09120981214803],\n [-70.53506893581945, -31.365010267870286],\n [-69.91900834825192, -30.336339206668313],\n [-70.01355038112987, -29.36792286551855],\n [-69.65613033718314, -28.459141127233693],\n [-69.00123491074828, -27.52121388113613],\n [-68.2955415513704, -26.89933969493579],\n [-68.59479977077268, -26.506908868111267],\n [-68.38600114609736, -26.185016371365233],\n [-68.41765296087613, -24.518554782816878],\n [-67.32844295924414, -24.02530323659091],\n [-66.98523393417764, -22.98634856536283],\n [-67.10667355006362, -22.7359245744764],\n [-66.27333940292485, -21.832310479420684],\n [-64.96489213729458, -22.075861504812348],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Bolivia\",\n sov_a3: \"BOL\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Bolivia\",\n adm0_a3: \"BOL\",\n geou_dif: 0,\n geounit: \"Bolivia\",\n gu_a3: \"BOL\",\n su_dif: 0,\n subunit: \"Bolivia\",\n su_a3: \"BOL\",\n brk_diff: 0,\n name: \"Bolivia\",\n name_long: \"Bolivia\",\n brk_a3: \"BOL\",\n brk_name: \"Bolivia\",\n brk_group: null,\n abbrev: \"Bolivia\",\n postal: \"BO\",\n formal_en: \"Plurinational State of Bolivia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Bolivia\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 5,\n mapcolor9: 2,\n mapcolor13: 3,\n pop_est: 9775246,\n gdp_md_est: 43270,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BO\",\n iso_a3: \"BOL\",\n iso_n3: \"068\",\n un_a3: \"068\",\n wb_a2: \"BO\",\n wb_a3: \"BOL\",\n woe_id: -99,\n adm0_a3_is: \"BOL\",\n adm0_a3_us: \"BOL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 7,\n tiny: -99,\n homepart: 1,\n filename: \"BOL.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-62.846468471921554, -22.03498544686945],\n [-63.98683814152247, -21.99364430103595],\n [-64.37702104354226, -22.79809132252354],\n [-64.9648921372946, -22.075861504812327],\n [-66.27333940292485, -21.83231047942072],\n [-67.1066735500636, -22.735924574476414],\n [-67.82817989772273, -22.872918796482175],\n [-68.21991309271128, -21.494346612231865],\n [-68.75716712103375, -20.372657972904463],\n [-68.44222510443092, -19.40506845467143],\n [-68.96681840684187, -18.981683444904107],\n [-69.10024695501949, -18.260125420812674],\n [-69.59042375352405, -17.580011895419332],\n [-68.9596353827533, -16.50069793057127],\n [-69.38976416693471, -15.660129082911654],\n [-69.16034664577495, -15.323973890853019],\n [-69.33953467474701, -14.953195489158832],\n [-68.9488866848366, -14.453639418193283],\n [-68.92922380234954, -13.602683607643007],\n [-68.88007951523997, -12.899729099176653],\n [-68.66507971868961, -12.561300144097173],\n [-69.52967810736496, -10.951734307502194],\n [-68.78615759954948, -11.03638030359628],\n [-68.27125362819326, -11.01452117273682],\n [-68.04819230820539, -10.712059014532485],\n [-67.17380123561074, -10.30681243249961],\n [-66.64690833196279, -9.931331475466862],\n [-65.33843522811642, -9.76198780684639],\n [-65.44483700220539, -10.511451104375432],\n [-65.32189876978302, -10.895872084194679],\n [-65.40228146021303, -11.566270440317153],\n [-64.3163529120316, -12.461978041232191],\n [-63.19649878605057, -12.627032565972433],\n [-62.80306026879638, -13.000653171442686],\n [-62.127080857986385, -13.198780612849724],\n [-61.71320431176078, -13.489202162330052],\n [-61.08412126325565, -13.479383640194598],\n [-60.503304002511136, -13.775954685117659],\n [-60.45919816755003, -14.354007256734555],\n [-60.26432634137736, -14.64597909918364],\n [-60.251148851142936, -15.077218926659322],\n [-60.542965664295146, -15.093910414289596],\n [-60.158389655179036, -16.258283786690082],\n [-58.24121985536669, -16.299573256091293],\n [-58.38805843772404, -16.877109063385276],\n [-58.28080400250226, -17.271710300366017],\n [-57.734558274961, -17.55246835700777],\n [-57.498371141170985, -18.174187513911292],\n [-57.67600887717431, -18.961839694904025],\n [-57.949997321185826, -19.40000416430682],\n [-57.85380164247451, -19.969995212486186],\n [-58.166392381408045, -20.176700941653678],\n [-58.183471442280506, -19.868399346600363],\n [-59.115042487206104, -19.356906019775398],\n [-60.04356462262649, -19.342746677327426],\n [-61.786326463453776, -19.633736667562964],\n [-62.26596126977079, -20.513734633061276],\n [-62.29117936872922, -21.05163461678739],\n [-62.685057135657885, -22.249029229422387],\n [-62.846468471921554, -22.03498544686945],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Brazil\",\n sov_a3: \"BRA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Brazil\",\n adm0_a3: \"BRA\",\n geou_dif: 0,\n geounit: \"Brazil\",\n gu_a3: \"BRA\",\n su_dif: 0,\n subunit: \"Brazil\",\n su_a3: \"BRA\",\n brk_diff: 0,\n name: \"Brazil\",\n name_long: \"Brazil\",\n brk_a3: \"BRA\",\n brk_name: \"Brazil\",\n brk_group: null,\n abbrev: \"Brazil\",\n postal: \"BR\",\n formal_en: \"Federative Republic of Brazil\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Brazil\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 6,\n mapcolor9: 5,\n mapcolor13: 7,\n pop_est: 198739269,\n gdp_md_est: 1993000,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"3. Emerging region: BRIC\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BR\",\n iso_a3: \"BRA\",\n iso_n3: \"076\",\n un_a3: \"076\",\n wb_a2: \"BR\",\n wb_a3: \"BRA\",\n woe_id: -99,\n adm0_a3_is: \"BRA\",\n adm0_a3_us: \"BRA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"BRA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-57.62513342958296, -30.216294854454258],\n [-56.29089962423908, -28.85276051200089],\n [-55.16228634298457, -27.881915378533463],\n [-54.490725267135524, -27.47475676850579],\n [-53.648735317587885, -26.923472588816086],\n [-53.62834896504874, -26.124865004177472],\n [-54.13004960795439, -25.547639255477254],\n [-54.625290696823576, -25.73925546641551],\n [-54.42894609233059, -25.162184747012166],\n [-54.29347632507745, -24.570799655863965],\n [-54.29295956075451, -24.02101409271073],\n [-54.652834235235126, -23.83957813893396],\n [-55.02790178080954, -24.001273695575225],\n [-55.40074723979542, -23.956935316668805],\n [-55.517639329639636, -23.571997572526634],\n [-55.610682745981144, -22.655619398694842],\n [-55.79795813660691, -22.356929620047822],\n [-56.47331743022939, -22.086300144135283],\n [-56.8815095689029, -22.28215382252148],\n [-57.937155727761294, -22.090175876557172],\n [-57.87067399761779, -20.73268767668195],\n [-58.166392381408045, -20.176700941653678],\n [-57.85380164247451, -19.969995212486186],\n [-57.949997321185826, -19.40000416430682],\n [-57.67600887717431, -18.961839694904025],\n [-57.498371141170985, -18.174187513911292],\n [-57.734558274961, -17.55246835700777],\n [-58.28080400250226, -17.271710300366017],\n [-58.38805843772404, -16.877109063385276],\n [-58.24121985536669, -16.299573256091293],\n [-60.158389655179036, -16.258283786690082],\n [-60.542965664295146, -15.093910414289596],\n [-60.251148851142936, -15.077218926659322],\n [-60.26432634137736, -14.64597909918364],\n [-60.45919816755003, -14.354007256734555],\n [-60.503304002511136, -13.775954685117659],\n [-61.08412126325565, -13.479383640194598],\n [-61.71320431176078, -13.489202162330052],\n [-62.127080857986385, -13.198780612849724],\n [-62.80306026879638, -13.000653171442686],\n [-63.19649878605057, -12.627032565972433],\n [-64.3163529120316, -12.461978041232191],\n [-65.40228146021303, -11.566270440317153],\n [-65.32189876978302, -10.895872084194679],\n [-65.44483700220539, -10.511451104375432],\n [-65.33843522811642, -9.76198780684639],\n [-66.64690833196279, -9.931331475466862],\n [-67.17380123561074, -10.30681243249961],\n [-68.04819230820539, -10.712059014532485],\n [-68.27125362819326, -11.01452117273682],\n [-68.78615759954948, -11.03638030359628],\n [-69.52967810736496, -10.951734307502194],\n [-70.0937522040469, -11.123971856331012],\n [-70.54868567572841, -11.009146823778465],\n [-70.48189388699117, -9.490118096558845],\n [-71.30241227892154, -10.079436130415374],\n [-72.18489071316984, -10.053597914269432],\n [-72.56303300646564, -9.520193780152717],\n [-73.22671342639016, -9.462212823121234],\n [-73.01538265653254, -9.03283334720806],\n [-73.57105933296707, -8.424446709835834],\n [-73.98723548042966, -7.523829847853064],\n [-73.7234014553635, -7.340998630404414],\n [-73.72448666044164, -6.91859547285064],\n [-73.1200274319236, -6.629930922068239],\n [-73.21971126981461, -6.089188734566078],\n [-72.96450720894119, -5.741251315944893],\n [-72.89192765978726, -5.274561455916981],\n [-71.74840572781655, -4.593982842633011],\n [-70.92884334988358, -4.401591485210368],\n [-70.7947688463023, -4.251264743673303],\n [-69.89363521999663, -4.298186944194327],\n [-69.44410193548961, -1.556287123219818],\n [-69.42048580593223, -1.122618503426409],\n [-69.5770653957766, -0.549991957200163],\n [-70.02065589057005, -0.185156345219539],\n [-70.0155657619893, 0.541414292804205],\n [-69.45239600287246, 0.706158758950693],\n [-69.25243404811906, 0.602650865070075],\n [-69.21863766140018, 0.985676581217433],\n [-69.80459672715773, 1.089081122233466],\n [-69.81697323269162, 1.714805202639624],\n [-67.86856502955884, 1.692455145673392],\n [-67.53781002467468, 2.03716278727633],\n [-67.25999752467358, 1.719998684084956],\n [-67.0650481838525, 1.130112209473225],\n [-66.87632585312258, 1.253360500489336],\n [-66.32576514348496, 0.724452215982012],\n [-65.54826738143757, 0.78925446207603],\n [-65.35471330428837, 1.0952822941085],\n [-64.61101192895985, 1.328730576987042],\n [-64.19930579289051, 1.49285492594602],\n [-64.08308549666609, 1.91636912679408],\n [-63.36878801131166, 2.200899562993129],\n [-63.42286739770512, 2.411067613124174],\n [-64.26999915226578, 2.497005520025567],\n [-64.40882788761792, 3.126786200366624],\n [-64.36849443221409, 3.797210394705246],\n [-64.81606401229402, 4.056445217297423],\n [-64.62865943058755, 4.14848094320925],\n [-63.88834286157416, 4.020530096854571],\n [-63.0931975978991, 3.770571193858785],\n [-62.804533047116706, 4.006965033377952],\n [-62.08542965355914, 4.162123521334308],\n [-60.96689327660153, 4.536467596856639],\n [-60.60117916527194, 4.91809804933213],\n [-60.73357418480372, 5.200277207861901],\n [-60.21368343773133, 5.244486395687602],\n [-59.98095862490488, 5.014061184098139],\n [-60.11100236676737, 4.574966538914083],\n [-59.767405768458715, 4.423502915866607],\n [-59.53803992373123, 3.958802598481938],\n [-59.81541317405786, 3.606498521332085],\n [-59.97452490908456, 2.755232652188056],\n [-59.71854570172674, 2.24963043864436],\n [-59.64604366722126, 1.786893825686789],\n [-59.03086157900265, 1.317697658692722],\n [-58.5400129868783, 1.268088283692521],\n [-58.42947709820596, 1.463941962078721],\n [-58.11344987652502, 1.507195135907025],\n [-57.66097103537737, 1.682584947105639],\n [-57.335822923396904, 1.94853770589576],\n [-56.78270423036083, 1.863710842288654],\n [-56.539385748914555, 1.899522609866921],\n [-55.99569800477175, 1.817667141116601],\n [-55.905600145070885, 2.02199575439866],\n [-56.0733418442903, 2.220794989425499],\n [-55.973322109589375, 2.510363877773017],\n [-55.569755011606, 2.421506252447131],\n [-55.09758744975514, 2.523748073736613],\n [-54.52475419779971, 2.311848863123785],\n [-54.08806250671724, 2.105556545414629],\n [-53.77852067728892, 2.376702785650082],\n [-53.55483924011354, 2.334896551925951],\n [-53.4184651352953, 2.053389187015981],\n [-52.939657151894956, 2.124857692875636],\n [-52.55642473001842, 2.504705308437053],\n [-52.249337531123956, 3.241094468596245],\n [-51.65779741067888, 4.156232408053029],\n [-51.31714636901086, 4.203490505383954],\n [-51.069771287629656, 3.650397650564031],\n [-50.508875291533656, 1.901563828942457],\n [-49.97407589374506, 1.736483465986069],\n [-49.947100796088705, 1.046189683431223],\n [-50.699251268096916, 0.222984117021682],\n [-50.38821082213214, -0.078444512536819],\n [-48.62056677915631, -0.235489190271821],\n [-48.58449662941659, -1.237805271005001],\n [-47.824956427590635, -0.5816179337628],\n [-46.566583624851226, -0.941027520352776],\n [-44.905703090990414, -1.551739597178134],\n [-44.417619187993665, -2.137750339367976],\n [-44.58158850765578, -2.691308282078524],\n [-43.418791266440195, -2.383110039889793],\n [-41.47265682632825, -2.912018324397116],\n [-39.97866533055404, -2.873054294449041],\n [-38.50038347019657, -3.700652357603395],\n [-37.2232521225352, -4.820945733258917],\n [-36.45293738457639, -5.109403578312153],\n [-35.59779578301047, -5.149504489770648],\n [-35.23538896334756, -5.464937432480247],\n [-34.89602983248683, -6.738193047719711],\n [-34.729993455533034, -7.343220716992966],\n [-35.12821204277422, -8.996401462442286],\n [-35.636966518687714, -9.649281508017815],\n [-37.046518724097, -11.040721123908801],\n [-37.68361161960736, -12.171194756725823],\n [-38.42387651218844, -13.038118584854288],\n [-38.673887091616514, -13.057652276260619],\n [-38.953275722802545, -13.793369642800023],\n [-38.88229814304965, -15.667053724838768],\n [-39.16109249526431, -17.208406670808472],\n [-39.2673392400564, -17.867746270420483],\n [-39.58352149103423, -18.262295830968938],\n [-39.76082333022764, -19.59911345792741],\n [-40.77474077001034, -20.904511814052423],\n [-40.94475623225061, -21.937316989837807],\n [-41.754164191238225, -22.370675551037458],\n [-41.98828426773655, -22.970070489190892],\n [-43.07470374202475, -22.96769337330547],\n [-44.64781185563781, -23.351959323827842],\n [-45.35213578955991, -23.796841729428582],\n [-46.47209326840554, -24.08896860117454],\n [-47.64897233742066, -24.885199069927722],\n [-48.4954581365777, -25.877024834905654],\n [-48.64100480812774, -26.623697605090932],\n [-48.47473588722865, -27.17591196056189],\n [-48.661520351747626, -28.186134535435716],\n [-48.88845740415739, -28.674115085567884],\n [-49.587329474472675, -29.224469089476337],\n [-50.696874152211485, -30.984465020472957],\n [-51.576226162306156, -31.77769825615321],\n [-52.256081305538046, -32.24536996839466],\n [-52.712099982297694, -33.19657805759118],\n [-53.373661668498244, -33.768377780900764],\n [-53.6505439927181, -33.20200408298183],\n [-53.209588995971544, -32.727666110974724],\n [-53.787951626182185, -32.047242526987624],\n [-54.57245154480512, -31.494511407193748],\n [-55.601510179249345, -30.853878676071393],\n [-55.97324459494093, -30.883075860316303],\n [-56.97602576356473, -30.109686374636127],\n [-57.62513342958296, -30.216294854454258],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Chile\",\n sov_a3: \"CHL\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Chile\",\n adm0_a3: \"CHL\",\n geou_dif: 0,\n geounit: \"Chile\",\n gu_a3: \"CHL\",\n su_dif: 0,\n subunit: \"Chile\",\n su_a3: \"CHL\",\n brk_diff: 0,\n name: \"Chile\",\n name_long: \"Chile\",\n brk_a3: \"CHL\",\n brk_name: \"Chile\",\n brk_group: null,\n abbrev: \"Chile\",\n postal: \"CL\",\n formal_en: \"Republic of Chile\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Chile\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 1,\n mapcolor9: 5,\n mapcolor13: 9,\n pop_est: 16601707,\n gdp_md_est: 244500,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CL\",\n iso_a3: \"CHL\",\n iso_n3: \"152\",\n un_a3: \"152\",\n wb_a2: \"CL\",\n wb_a3: \"CHL\",\n woe_id: -99,\n adm0_a3_is: \"CHL\",\n adm0_a3_us: \"CHL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"CHL.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [-68.63401022758316, -52.63637045887437],\n [-68.6333499999999, -54.8695],\n [-67.56244, -54.87001],\n [-66.95992, -54.89681],\n [-67.29102999999989, -55.30124],\n [-68.14862999999986, -55.61183],\n [-68.63999081081181, -55.58001799908689],\n [-69.2321, -55.49906],\n [-69.95809, -55.19843],\n [-71.00568, -55.05383],\n [-72.2639, -54.49514],\n [-73.2852, -53.95751999999989],\n [-74.66253, -52.83749],\n [-73.8381, -53.04743],\n [-72.43418, -53.7154],\n [-71.10773, -54.07433],\n [-70.59177999999979, -53.61583],\n [-70.26748, -52.93123],\n [-69.34564999999989, -52.5183],\n [-68.63401022758316, -52.63637045887437],\n ],\n ],\n [\n [\n [-68.21991309271124, -21.494346612231837],\n [-67.82817989772266, -22.87291879648218],\n [-67.10667355006362, -22.7359245744764],\n [-66.98523393417764, -22.98634856536283],\n [-67.32844295924414, -24.02530323659091],\n [-68.41765296087613, -24.518554782816878],\n [-68.38600114609736, -26.185016371365233],\n [-68.59479977077268, -26.506908868111267],\n [-68.2955415513704, -26.89933969493579],\n [-69.00123491074828, -27.52121388113613],\n [-69.65613033718314, -28.459141127233693],\n [-70.01355038112987, -29.36792286551855],\n [-69.91900834825192, -30.336339206668313],\n [-70.53506893581945, -31.365010267870286],\n [-70.07439938015364, -33.09120981214803],\n [-69.81477698431921, -33.27388600029985],\n [-69.81730912950147, -34.193571465798286],\n [-70.38804948594908, -35.16968759535944],\n [-70.36476925320167, -36.005088799789945],\n [-71.1218806627098, -36.65812387466234],\n [-71.11862504747543, -37.5768274879472],\n [-70.81466427273472, -38.55299529394074],\n [-71.41351660834904, -38.916022230791114],\n [-71.68076127794646, -39.80816415787807],\n [-71.91573401557756, -40.83233936947073],\n [-71.74680375841547, -42.051386407235995],\n [-72.14889807807853, -42.25488819760139],\n [-71.91542395698391, -43.40856454851742],\n [-71.46405615913051, -43.78761117937833],\n [-71.79362260607195, -44.20717213315611],\n [-71.32980078803621, -44.40752166115169],\n [-71.22277889675973, -44.784242852559416],\n [-71.65931555854533, -44.97368865334144],\n [-71.55200944689125, -45.56073292417713],\n [-71.91725847033021, -46.8848381487918],\n [-72.44735531278027, -47.73853281025353],\n [-72.33116085477195, -48.244238376661826],\n [-72.64824744331494, -48.87861825947679],\n [-73.41543575712004, -49.31843637471296],\n [-73.32805091011448, -50.37878508890987],\n [-72.97574683296463, -50.74145029073431],\n [-72.30997351753237, -50.677009779666356],\n [-72.32940385607404, -51.42595631287241],\n [-71.91480383979635, -52.009022305865926],\n [-69.49836218939609, -52.14276091263725],\n [-68.57154537624135, -52.29944385534626],\n [-69.46128434922664, -52.29195077266393],\n [-69.94277950710614, -52.53793059037325],\n [-70.84510169135453, -52.899200528525725],\n [-71.00633216010525, -53.83325204220135],\n [-71.42979468452094, -53.85645476030039],\n [-72.55794287788486, -53.531410001184454],\n [-73.70275672066288, -52.83506926860725],\n [-73.70275672066288, -52.8350700760515],\n [-74.94676347522515, -52.26275358841903],\n [-75.2600260077785, -51.629354750373224],\n [-74.9766324530898, -51.04339568461569],\n [-75.4797541978835, -50.37837167745156],\n [-75.60801510283196, -48.6737728818718],\n [-75.18276974150213, -47.71191944762316],\n [-74.1265809801047, -46.9392534319951],\n [-75.64439531116545, -46.64764332457203],\n [-74.69215369332306, -45.76397633238098],\n [-74.35170935738427, -44.103044122087894],\n [-73.2403560045152, -44.454960625995625],\n [-72.71780392117978, -42.383355808278985],\n [-73.38889990913825, -42.11753224056957],\n [-73.70133561877486, -43.365776462579745],\n [-74.33194312203258, -43.22495818458441],\n [-74.01795711942717, -41.794812920906836],\n [-73.67709937202997, -39.942212823243125],\n [-73.21759253609068, -39.258688653318515],\n [-73.50555945503706, -38.28288258235107],\n [-73.58806087919109, -37.156284681956016],\n [-73.1667170884993, -37.12378020604435],\n [-72.55313696968173, -35.508840020491036],\n [-71.86173214383257, -33.90909270603153],\n [-71.43845048692992, -32.41889942803083],\n [-71.66872066922244, -30.92064462659252],\n [-71.37008256700773, -30.095682061485004],\n [-71.48989437527646, -28.861442152625912],\n [-70.90512386746158, -27.6403797340012],\n [-70.72495398627598, -25.70592416758721],\n [-70.40396582709505, -23.628996677344542],\n [-70.09124589708067, -21.393319187101223],\n [-70.16441972520599, -19.756468194256186],\n [-70.37257239447774, -18.347975355708883],\n [-69.85844356960581, -18.092693780187034],\n [-69.590423753524, -17.58001189541929],\n [-69.10024695501943, -18.260125420812656],\n [-68.96681840684184, -18.981683444904093],\n [-68.44222510443095, -19.405068454671422],\n [-68.75716712103372, -20.372657972904477],\n [-68.21991309271124, -21.494346612231837],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Colombia\",\n sov_a3: \"COL\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Colombia\",\n adm0_a3: \"COL\",\n geou_dif: 0,\n geounit: \"Colombia\",\n gu_a3: \"COL\",\n su_dif: 0,\n subunit: \"Colombia\",\n su_a3: \"COL\",\n brk_diff: 0,\n name: \"Colombia\",\n name_long: \"Colombia\",\n brk_a3: \"COL\",\n brk_name: \"Colombia\",\n brk_group: null,\n abbrev: \"Col.\",\n postal: \"CO\",\n formal_en: \"Republic of Colombia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Colombia\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 1,\n mapcolor9: 3,\n mapcolor13: 1,\n pop_est: 45644023,\n gdp_md_est: 395400,\n pop_year: -99,\n lastcensus: 2006,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CO\",\n iso_a3: \"COL\",\n iso_n3: \"170\",\n un_a3: \"170\",\n wb_a2: \"CO\",\n wb_a3: \"COL\",\n woe_id: -99,\n adm0_a3_is: \"COL\",\n adm0_a3_us: \"COL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"COL.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-75.37322323271385, -0.15203175212045],\n [-75.80146582711659, 0.084801337073202],\n [-76.29231441924097, 0.416047268064119],\n [-76.57637976754938, 0.256935533037435],\n [-77.4249843004304, 0.395686753741117],\n [-77.66861284047044, 0.825893052570961],\n [-77.85506140817952, 0.809925034992773],\n [-78.85525875518871, 1.380923773601822],\n [-78.99093522817103, 1.691369940595251],\n [-78.61783138702371, 1.766404120283056],\n [-78.66211808949785, 2.267355454920477],\n [-78.42761043975732, 2.629555568854215],\n [-77.93154252797149, 2.696605739752926],\n [-77.51043128122501, 3.325016994638247],\n [-77.12768978545526, 3.849636135265357],\n [-77.49627193877703, 4.087606105969428],\n [-77.3076012844794, 4.667984117039452],\n [-77.53322058786573, 5.582811997902496],\n [-77.31881507028675, 5.84535411216136],\n [-77.47666073272228, 6.691116441266303],\n [-77.88157141794525, 7.223771267114785],\n [-77.75341386586139, 7.709839789252142],\n [-77.43110795765699, 7.638061224798735],\n [-77.24256649444008, 7.935278225125444],\n [-77.47472286651133, 8.524286200388218],\n [-77.35336076527385, 8.67050466555807],\n [-76.83667395700357, 8.638749497914716],\n [-76.08638383655786, 9.336820583529487],\n [-75.67460018584005, 9.443248195834599],\n [-75.66470414905618, 9.774003200718738],\n [-75.48042599150335, 10.618990383339309],\n [-74.90689510771197, 11.083044745320322],\n [-74.27675269234489, 11.102035834187587],\n [-74.1972226630477, 11.310472723836865],\n [-73.41476396350029, 11.22701528568548],\n [-72.62783525255963, 11.731971543825523],\n [-72.23819495307892, 11.955549628136326],\n [-71.75409013536864, 12.437303168177309],\n [-71.3998223537917, 12.376040757695293],\n [-71.13746110704588, 12.112981879113505],\n [-71.3315836249503, 11.776284084515808],\n [-71.97392167833829, 11.60867157637712],\n [-72.22757544624294, 11.10870209395324],\n [-72.61465776232521, 10.821975409381778],\n [-72.9052860175347, 10.450344346554772],\n [-73.02760413276957, 9.736770331252444],\n [-73.30495154488005, 9.151999823437606],\n [-72.7887298245004, 9.085027167187334],\n [-72.6604947577681, 8.625287787302682],\n [-72.43986223009796, 8.405275376820029],\n [-72.36090064155596, 8.002638454617895],\n [-72.47967892117885, 7.632506008327354],\n [-72.44448727078807, 7.423784898300481],\n [-72.19835242378188, 7.340430813013682],\n [-71.96017574734864, 6.991614895043538],\n [-70.67423356798152, 7.087784735538719],\n [-70.09331295437242, 6.96037649172311],\n [-69.38947994655712, 6.099860541198836],\n [-68.98531856960236, 6.206804917826858],\n [-68.26505245631823, 6.153268133972475],\n [-67.69508724635502, 6.267318020040647],\n [-67.34143958196557, 6.095468044454023],\n [-67.52153194850275, 5.556870428891969],\n [-67.74469662135522, 5.221128648291668],\n [-67.82301225449355, 4.503937282728899],\n [-67.62183590358127, 3.839481716319994],\n [-67.33756384954368, 3.542342230641722],\n [-67.30317318385345, 3.31845408773718],\n [-67.8099381171237, 2.820655015469569],\n [-67.44709204778631, 2.600280869960869],\n [-67.18129431829307, 2.250638129074062],\n [-66.87632585312258, 1.253360500489336],\n [-67.0650481838525, 1.130112209473225],\n [-67.25999752467358, 1.719998684084956],\n [-67.53781002467468, 2.03716278727633],\n [-67.86856502955884, 1.692455145673392],\n [-69.81697323269162, 1.714805202639624],\n [-69.80459672715773, 1.089081122233466],\n [-69.21863766140018, 0.985676581217433],\n [-69.25243404811906, 0.602650865070075],\n [-69.45239600287246, 0.706158758950693],\n [-70.0155657619893, 0.541414292804205],\n [-70.02065589057005, -0.185156345219539],\n [-69.5770653957766, -0.549991957200163],\n [-69.42048580593223, -1.122618503426409],\n [-69.44410193548961, -1.556287123219818],\n [-69.89363521999663, -4.298186944194327],\n [-70.39404395209499, -3.766591485207825],\n [-70.69268205430971, -3.742872002785859],\n [-70.04770850287485, -2.725156345229699],\n [-70.81347571479196, -2.256864515800743],\n [-71.41364579942979, -2.342802422702128],\n [-71.7747607082854, -2.169789727388938],\n [-72.32578650581365, -2.434218031426454],\n [-73.07039221870724, -2.308954359550953],\n [-73.6595035468346, -1.260491224781134],\n [-74.12239518908906, -1.002832533373848],\n [-74.44160051135597, -0.530820000819887],\n [-75.10662451852008, -0.05720549886486],\n [-75.37322323271385, -0.15203175212045],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Ecuador\",\n sov_a3: \"ECU\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Ecuador\",\n adm0_a3: \"ECU\",\n geou_dif: 0,\n geounit: \"Ecuador\",\n gu_a3: \"ECU\",\n su_dif: 0,\n subunit: \"Ecuador\",\n su_a3: \"ECU\",\n brk_diff: 0,\n name: \"Ecuador\",\n name_long: \"Ecuador\",\n brk_a3: \"ECU\",\n brk_name: \"Ecuador\",\n brk_group: null,\n abbrev: \"Ecu.\",\n postal: \"EC\",\n formal_en: \"Republic of Ecuador\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Ecuador\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 5,\n mapcolor9: 2,\n mapcolor13: 12,\n pop_est: 14573101,\n gdp_md_est: 107700,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"EC\",\n iso_a3: \"ECU\",\n iso_n3: \"218\",\n un_a3: \"218\",\n wb_a2: \"EC\",\n wb_a3: \"ECU\",\n woe_id: -99,\n adm0_a3_is: \"ECU\",\n adm0_a3_us: \"ECU\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"ECU.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-80.30256059438722, -3.404856459164713],\n [-79.77029334178093, -2.65751189535964],\n [-79.98655921092241, -2.220794366061014],\n [-80.36878394236925, -2.685158786635788],\n [-80.96776546906436, -2.246942640800704],\n [-80.76480628123804, -1.965047702648533],\n [-80.9336590237517, -1.057454522306358],\n [-80.58337032746127, -0.906662692878683],\n [-80.39932471385376, -0.283703301600141],\n [-80.02089820018037, 0.360340074053468],\n [-80.09060970734211, 0.768428859862397],\n [-79.54276201039978, 0.982937730305963],\n [-78.85525875518871, 1.380923773601822],\n [-77.85506140817952, 0.809925034992773],\n [-77.66861284047044, 0.825893052570961],\n [-77.4249843004304, 0.395686753741117],\n [-76.57637976754938, 0.256935533037435],\n [-76.29231441924097, 0.416047268064119],\n [-75.80146582711659, 0.084801337073202],\n [-75.37322323271385, -0.15203175212045],\n [-75.23372270374193, -0.911416924649529],\n [-75.54499569365204, -1.56160979574588],\n [-76.63539425322672, -2.608677666843818],\n [-77.83790483265861, -3.003020521663103],\n [-78.45068396677564, -3.873096612161376],\n [-78.63989722361234, -4.547784112164074],\n [-79.20528906931771, -4.959128513207389],\n [-79.62497921417618, -4.454198093283494],\n [-80.02890804718561, -4.346090996928893],\n [-80.44224199087216, -4.425724379090674],\n [-80.46929460317695, -4.059286797708999],\n [-80.18401485870967, -3.821161797708044],\n [-80.30256059438722, -3.404856459164713],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"United Kingdom\",\n sov_a3: \"GB1\",\n adm0_dif: 1,\n level: 2,\n type: \"Dependency\",\n admin: \"Falkland Islands\",\n adm0_a3: \"FLK\",\n geou_dif: 0,\n geounit: \"Falkland Islands\",\n gu_a3: \"FLK\",\n su_dif: 0,\n subunit: \"Falkland Islands\",\n su_a3: \"FLK\",\n brk_diff: 1,\n name: \"Falkland Is.\",\n name_long: \"Falkland Islands\",\n brk_a3: \"B12\",\n brk_name: \"Falkland Is.\",\n brk_group: null,\n abbrev: \"Flk. Is.\",\n postal: \"FK\",\n formal_en: \"Falkland Islands\",\n formal_fr: null,\n note_adm0: \"U.K.\",\n note_brk: \"Admin. by U.K.; Claimed by Argentina\",\n name_sort: \"Falkland Islands\",\n name_alt: \"Islas Malvinas\",\n mapcolor7: 6,\n mapcolor8: 6,\n mapcolor9: 6,\n mapcolor13: 3,\n pop_est: 3140,\n gdp_md_est: 105.1,\n pop_year: -99,\n lastcensus: -99,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"FK\",\n iso_a3: \"FLK\",\n iso_n3: \"238\",\n un_a3: \"238\",\n wb_a2: \"-99\",\n wb_a3: \"-99\",\n woe_id: -99,\n adm0_a3_is: \"FLK\",\n adm0_a3_us: \"FLK\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 12,\n long_len: 16,\n abbrev_len: 8,\n tiny: -99,\n homepart: -99,\n filename: \"FLK.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-61.2, -51.85],\n [-60, -51.25],\n [-59.15, -51.5],\n [-58.55, -51.1],\n [-57.75, -51.55],\n [-58.05, -51.9],\n [-59.4, -52.2],\n [-59.85, -51.85],\n [-60.7, -52.3],\n [-61.2, -51.85],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Guyana\",\n sov_a3: \"GUY\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Guyana\",\n adm0_a3: \"GUY\",\n geou_dif: 0,\n geounit: \"Guyana\",\n gu_a3: \"GUY\",\n su_dif: 0,\n subunit: \"Guyana\",\n su_a3: \"GUY\",\n brk_diff: 0,\n name: \"Guyana\",\n name_long: \"Guyana\",\n brk_a3: \"GUY\",\n brk_name: \"Guyana\",\n brk_group: null,\n abbrev: \"Guy.\",\n postal: \"GY\",\n formal_en: \"Co-operative Republic of Guyana\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Guyana\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 1,\n mapcolor9: 4,\n mapcolor13: 8,\n pop_est: 772298,\n gdp_md_est: 2966,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GY\",\n iso_a3: \"GUY\",\n iso_n3: \"328\",\n un_a3: \"328\",\n wb_a2: \"GY\",\n wb_a3: \"GUY\",\n woe_id: -99,\n adm0_a3_is: \"GUY\",\n adm0_a3_us: \"GUY\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"GUY.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-59.758284878159195, 8.367034816924047],\n [-59.101684129458654, 7.999201971870492],\n [-58.482962205628056, 7.347691351750697],\n [-58.45487606467743, 6.832787380394463],\n [-58.07810319683737, 6.809093736188643],\n [-57.542218593970645, 6.321268215353356],\n [-57.14743648947688, 5.973149929219161],\n [-57.307245856339506, 5.073566595882227],\n [-57.91428890647214, 4.812626451024414],\n [-57.86020952007869, 4.57680105226045],\n [-58.04469438336068, 4.060863552258382],\n [-57.60156897645786, 3.334654649260685],\n [-57.2814334784097, 3.333491929534119],\n [-57.150097825739905, 2.768926906745406],\n [-56.539385748914555, 1.899522609866921],\n [-56.78270423036083, 1.863710842288654],\n [-57.335822923396904, 1.94853770589576],\n [-57.66097103537737, 1.682584947105639],\n [-58.11344987652502, 1.507195135907025],\n [-58.42947709820596, 1.463941962078721],\n [-58.5400129868783, 1.268088283692521],\n [-59.03086157900265, 1.317697658692722],\n [-59.64604366722126, 1.786893825686789],\n [-59.71854570172674, 2.24963043864436],\n [-59.97452490908456, 2.755232652188056],\n [-59.81541317405786, 3.606498521332085],\n [-59.53803992373123, 3.958802598481938],\n [-59.767405768458715, 4.423502915866607],\n [-60.11100236676737, 4.574966538914083],\n [-59.98095862490488, 5.014061184098139],\n [-60.21368343773133, 5.244486395687602],\n [-60.73357418480372, 5.200277207861901],\n [-61.410302903881956, 5.959068101419618],\n [-61.13941504580795, 6.234296779806144],\n [-61.15933631045648, 6.696077378766319],\n [-60.54399919294098, 6.856584377464883],\n [-60.29566809756239, 7.043911444522919],\n [-60.637972785063766, 7.414999904810855],\n [-60.55058793805819, 7.779602972846178],\n [-59.758284878159195, 8.367034816924047],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Peru\",\n sov_a3: \"PER\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Peru\",\n adm0_a3: \"PER\",\n geou_dif: 0,\n geounit: \"Peru\",\n gu_a3: \"PER\",\n su_dif: 0,\n subunit: \"Peru\",\n su_a3: \"PER\",\n brk_diff: 0,\n name: \"Peru\",\n name_long: \"Peru\",\n brk_a3: \"PER\",\n brk_name: \"Peru\",\n brk_group: null,\n abbrev: \"Peru\",\n postal: \"PE\",\n formal_en: \"Republic of Peru\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Peru\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 4,\n mapcolor9: 4,\n mapcolor13: 11,\n pop_est: 29546963,\n gdp_md_est: 247300,\n pop_year: -99,\n lastcensus: 2007,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PE\",\n iso_a3: \"PER\",\n iso_n3: \"604\",\n un_a3: \"604\",\n wb_a2: \"PE\",\n wb_a3: \"PER\",\n woe_id: -99,\n adm0_a3_is: \"PER\",\n adm0_a3_us: \"PER\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 4,\n long_len: 4,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"PER.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-69.59042375352405, -17.580011895419332],\n [-69.85844356960587, -18.092693780187012],\n [-70.37257239447771, -18.34797535570887],\n [-71.37525021023691, -17.773798516513857],\n [-71.46204077827112, -17.363487644116383],\n [-73.44452958850042, -16.359362888252996],\n [-75.23788265654144, -15.265682875227782],\n [-76.00920508492995, -14.649286390850321],\n [-76.42346920439775, -13.82318694423243],\n [-76.25924150257416, -13.535039157772943],\n [-77.10619238962184, -12.22271615972082],\n [-78.09215287953464, -10.377712497604065],\n [-79.03695309112695, -8.386567884965892],\n [-79.44592037628485, -7.93083342858386],\n [-79.76057817251004, -7.194340915560083],\n [-80.53748165558608, -6.541667575713717],\n [-81.24999630402642, -6.136834405139183],\n [-80.92634680858244, -5.690556735866565],\n [-81.41094255239946, -4.736764825055459],\n [-81.09966956248937, -4.036394138203697],\n [-80.30256059438722, -3.404856459164713],\n [-80.18401485870967, -3.821161797708044],\n [-80.46929460317695, -4.059286797708999],\n [-80.44224199087216, -4.425724379090674],\n [-80.02890804718561, -4.346090996928893],\n [-79.62497921417618, -4.454198093283494],\n [-79.20528906931771, -4.959128513207389],\n [-78.63989722361234, -4.547784112164074],\n [-78.45068396677564, -3.873096612161376],\n [-77.83790483265861, -3.003020521663103],\n [-76.63539425322672, -2.608677666843818],\n [-75.54499569365204, -1.56160979574588],\n [-75.23372270374193, -0.911416924649529],\n [-75.37322323271385, -0.15203175212045],\n [-75.10662451852008, -0.05720549886486],\n [-74.44160051135597, -0.530820000819887],\n [-74.12239518908906, -1.002832533373848],\n [-73.6595035468346, -1.260491224781134],\n [-73.07039221870724, -2.308954359550953],\n [-72.32578650581365, -2.434218031426454],\n [-71.7747607082854, -2.169789727388938],\n [-71.41364579942979, -2.342802422702128],\n [-70.81347571479196, -2.256864515800743],\n [-70.04770850287485, -2.725156345229699],\n [-70.69268205430971, -3.742872002785859],\n [-70.39404395209499, -3.766591485207825],\n [-69.89363521999663, -4.298186944194327],\n [-70.7947688463023, -4.251264743673303],\n [-70.92884334988358, -4.401591485210368],\n [-71.74840572781655, -4.593982842633011],\n [-72.89192765978726, -5.274561455916981],\n [-72.96450720894119, -5.741251315944893],\n [-73.21971126981461, -6.089188734566078],\n [-73.1200274319236, -6.629930922068239],\n [-73.72448666044164, -6.91859547285064],\n [-73.7234014553635, -7.340998630404414],\n [-73.98723548042966, -7.523829847853064],\n [-73.57105933296707, -8.424446709835834],\n [-73.01538265653254, -9.03283334720806],\n [-73.22671342639016, -9.462212823121234],\n [-72.56303300646564, -9.520193780152717],\n [-72.18489071316984, -10.053597914269432],\n [-71.30241227892154, -10.079436130415374],\n [-70.48189388699117, -9.490118096558845],\n [-70.54868567572841, -11.009146823778465],\n [-70.0937522040469, -11.123971856331012],\n [-69.52967810736496, -10.951734307502194],\n [-68.66507971868961, -12.561300144097173],\n [-68.88007951523997, -12.899729099176653],\n [-68.92922380234954, -13.602683607643007],\n [-68.9488866848366, -14.453639418193283],\n [-69.33953467474701, -14.953195489158832],\n [-69.16034664577495, -15.323973890853019],\n [-69.38976416693471, -15.660129082911654],\n [-68.9596353827533, -16.50069793057127],\n [-69.59042375352405, -17.580011895419332],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Paraguay\",\n sov_a3: \"PRY\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Paraguay\",\n adm0_a3: \"PRY\",\n geou_dif: 0,\n geounit: \"Paraguay\",\n gu_a3: \"PRY\",\n su_dif: 0,\n subunit: \"Paraguay\",\n su_a3: \"PRY\",\n brk_diff: 0,\n name: \"Paraguay\",\n name_long: \"Paraguay\",\n brk_a3: \"PRY\",\n brk_name: \"Paraguay\",\n brk_group: null,\n abbrev: \"Para.\",\n postal: \"PY\",\n formal_en: \"Republic of Paraguay\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Paraguay\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 3,\n mapcolor9: 6,\n mapcolor13: 2,\n pop_est: 6995655,\n gdp_md_est: 28890,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PY\",\n iso_a3: \"PRY\",\n iso_n3: \"600\",\n un_a3: \"600\",\n wb_a2: \"PY\",\n wb_a3: \"PRY\",\n woe_id: -99,\n adm0_a3_is: \"PRY\",\n adm0_a3_us: \"PRY\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"PRY.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-62.685057135657885, -22.249029229422387],\n [-62.29117936872922, -21.05163461678739],\n [-62.26596126977079, -20.513734633061276],\n [-61.786326463453776, -19.633736667562964],\n [-60.04356462262649, -19.342746677327426],\n [-59.115042487206104, -19.356906019775398],\n [-58.183471442280506, -19.868399346600363],\n [-58.166392381408045, -20.176700941653678],\n [-57.87067399761779, -20.73268767668195],\n [-57.937155727761294, -22.090175876557172],\n [-56.8815095689029, -22.28215382252148],\n [-56.47331743022939, -22.086300144135283],\n [-55.79795813660691, -22.356929620047822],\n [-55.610682745981144, -22.655619398694842],\n [-55.517639329639636, -23.571997572526634],\n [-55.40074723979542, -23.956935316668805],\n [-55.02790178080954, -24.001273695575225],\n [-54.652834235235126, -23.83957813893396],\n [-54.29295956075451, -24.02101409271073],\n [-54.29347632507745, -24.570799655863965],\n [-54.42894609233059, -25.162184747012166],\n [-54.625290696823576, -25.73925546641551],\n [-54.78879492859505, -26.621785577096134],\n [-55.69584550639816, -27.38783700939086],\n [-56.48670162619299, -27.548499037386293],\n [-57.60975969097615, -27.395898532828387],\n [-58.61817359071974, -27.123718763947096],\n [-57.633660040911124, -25.60365650808164],\n [-57.77721716981794, -25.16233977630904],\n [-58.80712846539498, -24.77145924245331],\n [-60.02896603050402, -24.032796319273274],\n [-60.84656470400991, -23.880712579038292],\n [-62.685057135657885, -22.249029229422387],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Suriname\",\n sov_a3: \"SUR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Suriname\",\n adm0_a3: \"SUR\",\n geou_dif: 0,\n geounit: \"Suriname\",\n gu_a3: \"SUR\",\n su_dif: 0,\n subunit: \"Suriname\",\n su_a3: \"SUR\",\n brk_diff: 0,\n name: \"Suriname\",\n name_long: \"Suriname\",\n brk_a3: \"SUR\",\n brk_name: \"Suriname\",\n brk_group: null,\n abbrev: \"Sur.\",\n postal: \"SR\",\n formal_en: \"Republic of Suriname\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Suriname\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 7,\n mapcolor13: 6,\n pop_est: 481267,\n gdp_md_est: 4254,\n pop_year: -99,\n lastcensus: 2004,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SR\",\n iso_a3: \"SUR\",\n iso_n3: \"740\",\n un_a3: \"740\",\n wb_a2: \"SR\",\n wb_a3: \"SUR\",\n woe_id: -99,\n adm0_a3_is: \"SUR\",\n adm0_a3_us: \"SUR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"SUR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-57.14743648947688, 5.973149929219161],\n [-55.9493184067898, 5.772877915872002],\n [-55.841779751190415, 5.953125311706059],\n [-55.033250291551774, 6.025291449401664],\n [-53.958044603070896, 5.756548163267765],\n [-54.47863298197923, 4.896755682795586],\n [-54.399542202356514, 4.212611395683466],\n [-54.00693050801901, 3.620037746592558],\n [-54.181726040246275, 3.189779771330421],\n [-54.2697051662232, 2.732391669115046],\n [-54.52475419779971, 2.311848863123785],\n [-55.09758744975514, 2.523748073736613],\n [-55.569755011606, 2.421506252447131],\n [-55.973322109589375, 2.510363877773017],\n [-56.0733418442903, 2.220794989425499],\n [-55.905600145070885, 2.02199575439866],\n [-55.99569800477175, 1.817667141116601],\n [-56.539385748914555, 1.899522609866921],\n [-57.150097825739905, 2.768926906745406],\n [-57.2814334784097, 3.333491929534119],\n [-57.60156897645786, 3.334654649260685],\n [-58.04469438336068, 4.060863552258382],\n [-57.86020952007869, 4.57680105226045],\n [-57.91428890647214, 4.812626451024414],\n [-57.307245856339506, 5.073566595882227],\n [-57.14743648947688, 5.973149929219161],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Uruguay\",\n sov_a3: \"URY\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Uruguay\",\n adm0_a3: \"URY\",\n geou_dif: 0,\n geounit: \"Uruguay\",\n gu_a3: \"URY\",\n su_dif: 0,\n subunit: \"Uruguay\",\n su_a3: \"URY\",\n brk_diff: 0,\n name: \"Uruguay\",\n name_long: \"Uruguay\",\n brk_a3: \"URY\",\n brk_name: \"Uruguay\",\n brk_group: null,\n abbrev: \"Ury.\",\n postal: \"UY\",\n formal_en: \"Oriental Republic of Uruguay\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Uruguay\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 2,\n mapcolor9: 2,\n mapcolor13: 10,\n pop_est: 3494382,\n gdp_md_est: 43160,\n pop_year: -99,\n lastcensus: 2004,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"UY\",\n iso_a3: \"URY\",\n iso_n3: \"858\",\n un_a3: \"858\",\n wb_a2: \"UY\",\n wb_a3: \"URY\",\n woe_id: -99,\n adm0_a3_is: \"URY\",\n adm0_a3_us: \"URY\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"URY.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-57.62513342958296, -30.216294854454258],\n [-56.97602576356473, -30.109686374636127],\n [-55.97324459494093, -30.883075860316303],\n [-55.601510179249345, -30.853878676071393],\n [-54.57245154480512, -31.494511407193748],\n [-53.787951626182185, -32.047242526987624],\n [-53.209588995971544, -32.727666110974724],\n [-53.6505439927181, -33.20200408298183],\n [-53.373661668498244, -33.768377780900764],\n [-53.806425950726535, -34.396814874002224],\n [-54.93586605489773, -34.952646579733624],\n [-55.67408972840329, -34.75265878676407],\n [-56.21529700379607, -34.85983570733742],\n [-57.139685024633096, -34.430456231424245],\n [-57.8178606838155, -34.4625472958775],\n [-58.42707414410439, -33.90945444105757],\n [-58.34961117209887, -33.26318897881541],\n [-58.13264767112144, -33.040566908502015],\n [-58.14244035504076, -32.044503676076154],\n [-57.87493730328188, -31.016556084926208],\n [-57.62513342958296, -30.216294854454258],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Venezuela\",\n sov_a3: \"VEN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Venezuela\",\n adm0_a3: \"VEN\",\n geou_dif: 0,\n geounit: \"Venezuela\",\n gu_a3: \"VEN\",\n su_dif: 0,\n subunit: \"Venezuela\",\n su_a3: \"VEN\",\n brk_diff: 0,\n name: \"Venezuela\",\n name_long: \"Venezuela\",\n brk_a3: \"VEN\",\n brk_name: \"Venezuela\",\n brk_group: null,\n abbrev: \"Ven.\",\n postal: \"VE\",\n formal_en: \"Bolivarian Republic of Venezuela\",\n formal_fr: \"República Bolivariana de Venezuela\",\n note_adm0: null,\n note_brk: null,\n name_sort: \"Venezuela, RB\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 3,\n mapcolor9: 1,\n mapcolor13: 4,\n pop_est: 26814843,\n gdp_md_est: 357400,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"VE\",\n iso_a3: \"VEN\",\n iso_n3: \"862\",\n un_a3: \"862\",\n wb_a2: \"VE\",\n wb_a3: \"VEN\",\n woe_id: -99,\n adm0_a3_is: \"VEN\",\n adm0_a3_us: \"VEN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"South America\",\n region_un: \"Americas\",\n subregion: \"South America\",\n region_wb: \"Latin America & Caribbean\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"VEN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-71.3315836249503, 11.776284084515808],\n [-71.36000566271082, 11.53999359786121],\n [-71.94704993354651, 11.423282375530022],\n [-71.62086829292019, 10.969459947142795],\n [-71.63306393094108, 10.446494452349027],\n [-72.07417395698451, 9.865651353388373],\n [-71.69564409044654, 9.072263088411248],\n [-71.26455929226773, 9.137194525585983],\n [-71.03999935574339, 9.859992784052407],\n [-71.35008378771079, 10.211935126176215],\n [-71.40062333849224, 10.968969021036015],\n [-70.1552988349065, 11.37548167566004],\n [-70.29384334988103, 11.846822414594214],\n [-69.94324459499683, 12.162307033736099],\n [-69.58430009629747, 11.459610907431212],\n [-68.88299923366445, 11.443384507691563],\n [-68.23327145045873, 10.885744126829946],\n [-68.19412655299763, 10.554653225135922],\n [-67.29624854192633, 10.54586823164631],\n [-66.227864142508, 10.648626817258688],\n [-65.65523759628175, 10.200798855017323],\n [-64.89045223657817, 10.0772146671913],\n [-64.32947872583374, 10.38959870039568],\n [-64.31800655786495, 10.64141795495398],\n [-63.07932247582874, 10.7017243514386],\n [-61.880946010980196, 10.715625311725104],\n [-62.73011898461641, 10.420268662960906],\n [-62.388511928950976, 9.94820445397464],\n [-61.58876746280193, 9.873066921422264],\n [-60.83059668643172, 9.38133982994894],\n [-60.67125240745973, 8.580174261911878],\n [-60.15009558779618, 8.602756862823426],\n [-59.758284878159195, 8.367034816924047],\n [-60.55058793805819, 7.779602972846178],\n [-60.637972785063766, 7.414999904810855],\n [-60.29566809756239, 7.043911444522919],\n [-60.54399919294098, 6.856584377464883],\n [-61.15933631045648, 6.696077378766319],\n [-61.13941504580795, 6.234296779806144],\n [-61.410302903881956, 5.959068101419618],\n [-60.73357418480372, 5.200277207861901],\n [-60.60117916527194, 4.91809804933213],\n [-60.96689327660153, 4.536467596856639],\n [-62.08542965355914, 4.162123521334308],\n [-62.804533047116706, 4.006965033377952],\n [-63.0931975978991, 3.770571193858785],\n [-63.88834286157416, 4.020530096854571],\n [-64.62865943058755, 4.14848094320925],\n [-64.81606401229402, 4.056445217297423],\n [-64.36849443221409, 3.797210394705246],\n [-64.40882788761792, 3.126786200366624],\n [-64.26999915226578, 2.497005520025567],\n [-63.42286739770512, 2.411067613124174],\n [-63.36878801131166, 2.200899562993129],\n [-64.08308549666609, 1.91636912679408],\n [-64.19930579289051, 1.49285492594602],\n [-64.61101192895985, 1.328730576987042],\n [-65.35471330428837, 1.0952822941085],\n [-65.54826738143757, 0.78925446207603],\n [-66.32576514348496, 0.724452215982012],\n [-66.87632585312258, 1.253360500489336],\n [-67.18129431829307, 2.250638129074062],\n [-67.44709204778631, 2.600280869960869],\n [-67.8099381171237, 2.820655015469569],\n [-67.30317318385345, 3.31845408773718],\n [-67.33756384954368, 3.542342230641722],\n [-67.62183590358127, 3.839481716319994],\n [-67.82301225449355, 4.503937282728899],\n [-67.74469662135522, 5.221128648291668],\n [-67.52153194850275, 5.556870428891969],\n [-67.34143958196557, 6.095468044454023],\n [-67.69508724635502, 6.267318020040647],\n [-68.26505245631823, 6.153268133972475],\n [-68.98531856960236, 6.206804917826858],\n [-69.38947994655712, 6.099860541198836],\n [-70.09331295437242, 6.96037649172311],\n [-70.67423356798152, 7.087784735538719],\n [-71.96017574734864, 6.991614895043538],\n [-72.19835242378188, 7.340430813013682],\n [-72.44448727078807, 7.423784898300481],\n [-72.47967892117885, 7.632506008327354],\n [-72.36090064155596, 8.002638454617895],\n [-72.43986223009796, 8.405275376820029],\n [-72.6604947577681, 8.625287787302682],\n [-72.7887298245004, 9.085027167187334],\n [-73.30495154488005, 9.151999823437606],\n [-73.02760413276957, 9.736770331252444],\n [-72.9052860175347, 10.450344346554772],\n [-72.61465776232521, 10.821975409381778],\n [-72.22757544624294, 11.10870209395324],\n [-71.97392167833829, 11.60867157637712],\n [-71.3315836249503, 11.776284084515808],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Afghanistan\",\n sov_a3: \"AFG\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Afghanistan\",\n adm0_a3: \"AFG\",\n geou_dif: 0,\n geounit: \"Afghanistan\",\n gu_a3: \"AFG\",\n su_dif: 0,\n subunit: \"Afghanistan\",\n su_a3: \"AFG\",\n brk_diff: 0,\n name: \"Afghanistan\",\n name_long: \"Afghanistan\",\n brk_a3: \"AFG\",\n brk_name: \"Afghanistan\",\n brk_group: null,\n abbrev: \"Afg.\",\n postal: \"AF\",\n formal_en: \"Islamic State of Afghanistan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Afghanistan\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 6,\n mapcolor9: 8,\n mapcolor13: 7,\n pop_est: 28400000,\n gdp_md_est: 22270,\n pop_year: -99,\n lastcensus: 1979,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AF\",\n iso_a3: \"AFG\",\n iso_n3: \"004\",\n un_a3: \"004\",\n wb_a2: \"AF\",\n wb_a3: \"AFG\",\n woe_id: -99,\n adm0_a3_is: \"AFG\",\n adm0_a3_us: \"AFG\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Southern Asia\",\n region_wb: \"South Asia\",\n name_len: 11,\n long_len: 11,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"AFG.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [61.21081709172574, 35.650072333309225],\n [62.230651483005886, 35.270663967422294],\n [62.9846623065766, 35.40404083916762],\n [63.19353844590035, 35.857165635718914],\n [63.9828959491587, 36.0079574651466],\n [64.5464791197339, 36.31207326918427],\n [64.7461051776774, 37.111817735333304],\n [65.58894778835784, 37.30521678318564],\n [65.74563073106681, 37.66116404881207],\n [66.21738488145932, 37.39379018813392],\n [66.51860680528867, 37.36278432875879],\n [67.07578209825962, 37.35614390720929],\n [67.82999962755952, 37.14499400486468],\n [68.13556237170138, 37.0231151393043],\n [68.85944583524594, 37.344335842430596],\n [69.19627282092438, 37.15114350030743],\n [69.51878543485796, 37.60899669041341],\n [70.11657840361033, 37.58822276463209],\n [70.27057417184014, 37.735164699854025],\n [70.3763041523093, 38.13839590102752],\n [70.80682050973289, 38.486281643216415],\n [71.34813113799026, 38.258905341132156],\n [71.23940392444817, 37.95326508234188],\n [71.54191775908478, 37.905774441065645],\n [71.44869347523024, 37.06564484308051],\n [71.8446382994506, 36.73817129164692],\n [72.1930408059624, 36.948287665345674],\n [72.63688968291729, 37.047558091778356],\n [73.26005577992501, 37.495256862939],\n [73.9486959166465, 37.4215662704908],\n [74.98000247589542, 37.419990139305895],\n [75.15802778514092, 37.13303091078912],\n [74.57589277537298, 37.02084137628346],\n [74.06755171091783, 36.83617564548845],\n [72.92002485544447, 36.72000702569632],\n [71.84629194528392, 36.50994232842986],\n [71.26234826038575, 36.074387518857804],\n [71.49876793812109, 35.650563259416],\n [71.6130762063507, 35.153203436822864],\n [71.11501875192162, 34.733125718722235],\n [71.15677330921346, 34.34891144463215],\n [70.8818030129884, 33.98885590263851],\n [69.9305432473596, 34.02012014417511],\n [70.3235941913716, 33.35853261975839],\n [69.68714725126485, 33.105498969041236],\n [69.26252200712256, 32.5019440780883],\n [69.31776411324255, 31.90141225842444],\n [68.92667687365767, 31.620189113892064],\n [68.55693200060932, 31.713310044882018],\n [67.79268924344478, 31.58293040620963],\n [67.68339358914747, 31.30315420178142],\n [66.93889122911847, 31.304911200479353],\n [66.38145755398602, 30.73889923758645],\n [66.34647260932442, 29.887943427036177],\n [65.0468620136161, 29.472180691031905],\n [64.35041873561852, 29.560030625928093],\n [64.14800215033125, 29.340819200145972],\n [63.55026085801117, 29.468330796826162],\n [62.54985680527278, 29.31857249604431],\n [60.874248488208785, 29.829238999952604],\n [61.781221551363444, 30.735850328081234],\n [61.699314406180825, 31.37950613049267],\n [60.94194461451113, 31.548074652628753],\n [60.863654819588966, 32.18291962333443],\n [60.536077915290775, 32.98126882581157],\n [60.963700392506006, 33.52883230237625],\n [60.52842980331158, 33.676446031218006],\n [60.80319339380745, 34.40410187431986],\n [61.21081709172574, 35.650072333309225],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"United Arab Emirates\",\n sov_a3: \"ARE\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"United Arab Emirates\",\n adm0_a3: \"ARE\",\n geou_dif: 0,\n geounit: \"United Arab Emirates\",\n gu_a3: \"ARE\",\n su_dif: 0,\n subunit: \"United Arab Emirates\",\n su_a3: \"ARE\",\n brk_diff: 0,\n name: \"United Arab Emirates\",\n name_long: \"United Arab Emirates\",\n brk_a3: \"ARE\",\n brk_name: \"United Arab Emirates\",\n brk_group: null,\n abbrev: \"U.A.E.\",\n postal: \"AE\",\n formal_en: \"United Arab Emirates\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"United Arab Emirates\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 1,\n mapcolor9: 3,\n mapcolor13: 3,\n pop_est: 4798491,\n gdp_md_est: 184300,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AE\",\n iso_a3: \"ARE\",\n iso_n3: \"784\",\n un_a3: \"784\",\n wb_a2: \"AE\",\n wb_a3: \"ARE\",\n woe_id: -99,\n adm0_a3_is: \"ARE\",\n adm0_a3_us: \"ARE\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 20,\n long_len: 20,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"ARE.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [51.57951867046327, 24.245497137951105],\n [51.757440626844186, 24.29407298430547],\n [51.794389275932865, 24.019826158132506],\n [52.57708051942561, 24.177439276622707],\n [53.404006788960146, 24.15131684009917],\n [54.00800092958758, 24.121757920828212],\n [54.69302371604863, 24.79789236093509],\n [55.43902469261414, 25.43914520924494],\n [56.07082075381456, 26.055464178973978],\n [56.261041701080956, 25.71460643157677],\n [56.396847365144005, 24.924732163995486],\n [55.88623253766801, 24.920830593357444],\n [55.804118686756226, 24.269604193615265],\n [55.981213820220454, 24.130542914317825],\n [55.52863162620823, 23.933604030853502],\n [55.525841098864475, 23.524869289640932],\n [55.234489373602884, 23.11099274341532],\n [55.20834109886319, 22.708329982997046],\n [55.0068030129249, 22.496947536707136],\n [52.000733270074335, 23.00115448657894],\n [51.61770755392698, 24.014219265228828],\n [51.57951867046327, 24.245497137951105],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Armenia\",\n sov_a3: \"ARM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Armenia\",\n adm0_a3: \"ARM\",\n geou_dif: 0,\n geounit: \"Armenia\",\n gu_a3: \"ARM\",\n su_dif: 0,\n subunit: \"Armenia\",\n su_a3: \"ARM\",\n brk_diff: 0,\n name: \"Armenia\",\n name_long: \"Armenia\",\n brk_a3: \"ARM\",\n brk_name: \"Armenia\",\n brk_group: null,\n abbrev: \"Arm.\",\n postal: \"ARM\",\n formal_en: \"Republic of Armenia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Armenia\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 1,\n mapcolor9: 2,\n mapcolor13: 10,\n pop_est: 2967004,\n gdp_md_est: 18770,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AM\",\n iso_a3: \"ARM\",\n iso_n3: \"051\",\n un_a3: \"051\",\n wb_a2: \"AM\",\n wb_a3: \"ARM\",\n woe_id: -99,\n adm0_a3_is: \"ARM\",\n adm0_a3_us: \"ARM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"ARM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [43.582745802592726, 41.09214325618257],\n [44.97248009621808, 41.248128567055595],\n [45.17949588397934, 40.98535390885141],\n [45.56035118997045, 40.812289537105926],\n [45.35917483905817, 40.56150381119346],\n [45.89190717955509, 40.21847565364],\n [45.61001224140293, 39.89999380142518],\n [46.034534132680676, 39.628020738273065],\n [46.48349897643246, 39.464154771475535],\n [46.50571984231797, 38.770605373686294],\n [46.14362308124881, 38.74120148371222],\n [45.73537926614301, 39.31971914321974],\n [45.73997846861698, 39.47399913182713],\n [45.298144972521456, 39.471751207022436],\n [45.00198733905674, 39.740003567049555],\n [44.79398969908195, 39.71300263117705],\n [44.4000085792887, 40.00500031184228],\n [43.65643639504094, 40.253563951166186],\n [43.75265791196841, 40.74020091405876],\n [43.582745802592726, 41.09214325618257],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Azerbaijan\",\n sov_a3: \"AZE\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Azerbaijan\",\n adm0_a3: \"AZE\",\n geou_dif: 0,\n geounit: \"Azerbaijan\",\n gu_a3: \"AZE\",\n su_dif: 0,\n subunit: \"Azerbaijan\",\n su_a3: \"AZE\",\n brk_diff: 0,\n name: \"Azerbaijan\",\n name_long: \"Azerbaijan\",\n brk_a3: \"AZE\",\n brk_name: \"Azerbaijan\",\n brk_group: null,\n abbrev: \"Aze.\",\n postal: \"AZ\",\n formal_en: \"Republic of Azerbaijan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Azerbaijan\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 6,\n mapcolor9: 5,\n mapcolor13: 8,\n pop_est: 8238672,\n gdp_md_est: 77610,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AZ\",\n iso_a3: \"AZE\",\n iso_n3: \"031\",\n un_a3: \"031\",\n wb_a2: \"AZ\",\n wb_a3: \"AZE\",\n woe_id: -99,\n adm0_a3_is: \"AZE\",\n adm0_a3_us: \"AZE\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"AZE.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [45.0019873390568, 39.7400035670496],\n [45.29814497252144, 39.471751207022436],\n [45.739978468617004, 39.473999131827156],\n [45.73537926614309, 39.3197191432198],\n [46.14362308124881, 38.74120148371222],\n [45.457721795438744, 38.874139105783115],\n [44.95268802265028, 39.33576467544643],\n [44.793989699082005, 39.713002631177034],\n [45.0019873390568, 39.7400035670496],\n ],\n ],\n [\n [\n [47.373315464066216, 41.219732367511256],\n [47.81566572448472, 41.151416124021345],\n [47.98728315612604, 41.40581920019423],\n [48.58435265482629, 41.808869533854676],\n [49.11026370626067, 41.282286688800525],\n [49.6189148293096, 40.57292430272997],\n [50.0848295428531, 40.52615713150578],\n [50.39282107931271, 40.256561184239104],\n [49.5692021014448, 40.17610097916071],\n [49.39525923035043, 39.39948171646225],\n [49.223228387250714, 39.04921885838792],\n [48.85653242370759, 38.81548635513178],\n [48.88324913920255, 38.32024526626264],\n [48.634375441284845, 38.27037750910094],\n [48.010744256386516, 38.794014797514535],\n [48.355529412637935, 39.28876496027689],\n [48.06009524922527, 39.582235419262446],\n [47.685079380083124, 39.50836395930119],\n [46.50571984231797, 38.770605373686266],\n [46.48349897643246, 39.464154771475535],\n [46.034534132680704, 39.62802073827305],\n [45.61001224140293, 39.89999380142518],\n [45.89190717955515, 40.218475653639985],\n [45.35917483905817, 40.56150381119349],\n [45.560351189970476, 40.81228953710595],\n [45.1794958839794, 40.98535390885143],\n [44.972480096218156, 41.24812856705562],\n [45.21742638528164, 41.41145193131405],\n [45.962600538930445, 41.1238725856098],\n [46.501637404166985, 41.06444468847411],\n [46.637908156120574, 41.181672675128226],\n [46.14543175637899, 41.72280243587264],\n [46.404950799348825, 41.86067515722735],\n [46.68607059101666, 41.827137152669906],\n [47.373315464066216, 41.219732367511256],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Bangladesh\",\n sov_a3: \"BGD\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Bangladesh\",\n adm0_a3: \"BGD\",\n geou_dif: 0,\n geounit: \"Bangladesh\",\n gu_a3: \"BGD\",\n su_dif: 0,\n subunit: \"Bangladesh\",\n su_a3: \"BGD\",\n brk_diff: 0,\n name: \"Bangladesh\",\n name_long: \"Bangladesh\",\n brk_a3: \"BGD\",\n brk_name: \"Bangladesh\",\n brk_group: null,\n abbrev: \"Bang.\",\n postal: \"BD\",\n formal_en: \"People's Republic of Bangladesh\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Bangladesh\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 4,\n mapcolor9: 7,\n mapcolor13: 7,\n pop_est: 156050883,\n gdp_md_est: 224000,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BD\",\n iso_a3: \"BGD\",\n iso_n3: \"050\",\n un_a3: \"050\",\n wb_a2: \"BD\",\n wb_a3: \"BGD\",\n woe_id: -99,\n adm0_a3_is: \"BGD\",\n adm0_a3_us: \"BGD\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Southern Asia\",\n region_wb: \"South Asia\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"BGD.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [92.67272098182556, 22.041238918541254],\n [92.65225711463799, 21.324047552978485],\n [92.30323449093868, 21.47548533780982],\n [92.36855350135562, 20.670883287025347],\n [92.08288618364612, 21.19219513598577],\n [92.02521528520839, 21.701569729086767],\n [91.83489098507744, 22.18293569588556],\n [91.41708702999766, 22.76501902922122],\n [90.49600630082728, 22.80501658781513],\n [90.58695682166098, 22.392793687422866],\n [90.27297081905554, 21.83636770272011],\n [89.84746707556428, 22.039146023033425],\n [89.70204959509493, 21.857115790285306],\n [89.41886274613549, 21.9661789006373],\n [89.03196129756623, 22.055708319582976],\n [88.87631188350309, 22.879146429937826],\n [88.52976972855377, 23.631141872649163],\n [88.69994022009092, 24.23371491138856],\n [88.08442223506242, 24.501657212821925],\n [88.30637251175602, 24.866079413344206],\n [88.93155398962308, 25.238692328384776],\n [88.2097892598025, 25.76806570078271],\n [88.56304935094977, 26.44652558034272],\n [89.35509402868729, 26.014407253518073],\n [89.83248091019962, 25.96508209889548],\n [89.92069258012185, 25.26974986419218],\n [90.8722107279121, 25.132600612889547],\n [91.79959598182207, 25.147431748957317],\n [92.37620161333481, 24.976692816664965],\n [91.91509280799443, 24.13041372323711],\n [91.46772993364367, 24.072639471934792],\n [91.15896325069971, 23.50352692310439],\n [91.70647505083211, 22.985263983649183],\n [91.86992760617132, 23.624346421802784],\n [92.14603478390681, 23.627498684172593],\n [92.67272098182556, 22.041238918541254],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Brunei\",\n sov_a3: \"BRN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Brunei\",\n adm0_a3: \"BRN\",\n geou_dif: 0,\n geounit: \"Brunei\",\n gu_a3: \"BRN\",\n su_dif: 0,\n subunit: \"Brunei\",\n su_a3: \"BRN\",\n brk_diff: 0,\n name: \"Brunei\",\n name_long: \"Brunei Darussalam\",\n brk_a3: \"BRN\",\n brk_name: \"Brunei\",\n brk_group: null,\n abbrev: \"Brunei\",\n postal: \"BN\",\n formal_en: \"Negara Brunei Darussalam\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Brunei\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 6,\n mapcolor9: 6,\n mapcolor13: 12,\n pop_est: 388190,\n gdp_md_est: 20250,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BN\",\n iso_a3: \"BRN\",\n iso_n3: \"096\",\n un_a3: \"096\",\n wb_a2: \"BN\",\n wb_a3: \"BRN\",\n woe_id: -99,\n adm0_a3_is: \"BRN\",\n adm0_a3_us: \"BRN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 6,\n long_len: 17,\n abbrev_len: 6,\n tiny: 2,\n homepart: 1,\n filename: \"BRN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [114.20401655482837, 4.525873928236805],\n [114.59996137904872, 4.900011298029966],\n [115.45071048386981, 5.447729803891534],\n [115.4057003113436, 4.955227565933839],\n [115.34746097215067, 4.316636053887009],\n [114.8695573263154, 4.348313706881925],\n [114.65959598191353, 4.007636826997754],\n [114.20401655482837, 4.525873928236805],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Bhutan\",\n sov_a3: \"BTN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Bhutan\",\n adm0_a3: \"BTN\",\n geou_dif: 0,\n geounit: \"Bhutan\",\n gu_a3: \"BTN\",\n su_dif: 0,\n subunit: \"Bhutan\",\n su_a3: \"BTN\",\n brk_diff: 0,\n name: \"Bhutan\",\n name_long: \"Bhutan\",\n brk_a3: \"BTN\",\n brk_name: \"Bhutan\",\n brk_group: null,\n abbrev: \"Bhutan\",\n postal: \"BT\",\n formal_en: \"Kingdom of Bhutan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Bhutan\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 6,\n mapcolor9: 1,\n mapcolor13: 8,\n pop_est: 691141,\n gdp_md_est: 3524,\n pop_year: -99,\n lastcensus: 2005,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BT\",\n iso_a3: \"BTN\",\n iso_n3: \"064\",\n un_a3: \"064\",\n wb_a2: \"BT\",\n wb_a3: \"BTN\",\n woe_id: -99,\n adm0_a3_is: \"BTN\",\n adm0_a3_us: \"BTN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Southern Asia\",\n region_wb: \"South Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"BTN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [91.69665652869668, 27.77174184825166],\n [92.10371178585973, 27.452614040633208],\n [92.03348351437509, 26.83831045176356],\n [91.21751264848643, 26.808648179628022],\n [90.37327477413407, 26.87572418874288],\n [89.74452762243884, 26.719402981059957],\n [88.83564253128938, 27.098966376243762],\n [88.81424848832054, 27.29931590423936],\n [89.47581017452111, 28.042758897406397],\n [90.01582889197118, 28.296438503527217],\n [90.7305139505678, 28.064953925075756],\n [91.25885379431992, 28.040614325466294],\n [91.69665652869668, 27.77174184825166],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"China\",\n sov_a3: \"CH1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"China\",\n adm0_a3: \"CHN\",\n geou_dif: 0,\n geounit: \"China\",\n gu_a3: \"CHN\",\n su_dif: 0,\n subunit: \"China\",\n su_a3: \"CHN\",\n brk_diff: 0,\n name: \"China\",\n name_long: \"China\",\n brk_a3: \"CHN\",\n brk_name: \"China\",\n brk_group: null,\n abbrev: \"China\",\n postal: \"CN\",\n formal_en: \"People's Republic of China\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"China\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 4,\n mapcolor9: 4,\n mapcolor13: 3,\n pop_est: 1338612970,\n gdp_md_est: 7973000,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"3. Emerging region: BRIC\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CN\",\n iso_a3: \"CHN\",\n iso_n3: \"156\",\n un_a3: \"156\",\n wb_a2: \"CN\",\n wb_a3: \"CHN\",\n woe_id: -99,\n adm0_a3_is: \"CHN\",\n adm0_a3_us: \"CHN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"CHN.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [110.33918786015154, 18.678395087147607],\n [109.4752095886637, 18.197700913968614],\n [108.65520796105616, 18.5076819930714],\n [108.62621748254045, 19.367887885001977],\n [109.11905561730802, 19.821038519769385],\n [110.21159874882285, 20.101253973872076],\n [110.78655073450223, 20.07753449145008],\n [111.01005130416465, 19.695929877190736],\n [110.57064660038682, 19.255879218009312],\n [110.33918786015154, 18.678395087147607],\n ],\n ],\n [\n [\n [127.6574072612624, 49.76027049417294],\n [129.39781782442046, 49.44060008401544],\n [130.5822933289824, 48.72968740497612],\n [130.98728152885386, 47.790132351261406],\n [132.50667199109952, 47.78896963153488],\n [133.37359581922803, 48.18344167743493],\n [135.02631147678673, 48.47822988544391],\n [134.50081383681064, 47.57843984637785],\n [134.11236209527263, 47.21246735288673],\n [133.7696439963129, 46.11692698829907],\n [133.09712690646646, 45.14406647397217],\n [131.8834542176596, 45.32116160743644],\n [131.0252120301561, 44.96795319272157],\n [131.28855512911557, 44.111519680348266],\n [131.14468794161488, 42.92998973242695],\n [130.6338664084098, 42.90301463477056],\n [130.64001590385246, 42.39500946712528],\n [129.99426720593326, 42.98538686784379],\n [129.5966687358795, 42.42498179785459],\n [128.05221520397234, 41.99428457291799],\n [128.20843305879075, 41.46677155208254],\n [127.34378299368305, 41.50315176041596],\n [126.86908328664988, 41.81656932226616],\n [126.18204511932946, 41.10733612727637],\n [125.07994184784062, 40.569823716792456],\n [124.26562462778534, 39.92849335383414],\n [122.86757042856104, 39.63778758397626],\n [122.13138797413094, 39.17045176854464],\n [121.05455447803288, 38.89747101496291],\n [121.5859949077225, 39.36085358332414],\n [121.37675703337267, 39.750261338859524],\n [122.16859500538104, 40.422442531896046],\n [121.64035851449356, 40.94638987890332],\n [120.76862877816197, 40.5933881699176],\n [119.63960208544907, 39.89805593521421],\n [119.02346398323304, 39.2523330755111],\n [118.04274865119793, 39.20427399347969],\n [117.53270226447708, 38.7376358098841],\n [118.0596985209897, 38.06147553156105],\n [118.87814985562838, 37.8973253443859],\n [118.91163618375353, 37.44846385349874],\n [119.70280236214207, 37.15638865818508],\n [120.82345747282366, 37.87042776137798],\n [121.71125857959797, 37.48112335870718],\n [122.35793745329848, 37.45448415786069],\n [122.51999474496584, 36.930614325501836],\n [121.10416385303303, 36.65132904718044],\n [120.6370089051146, 36.111439520811125],\n [119.6645618022461, 35.609790554337735],\n [119.1512081238586, 34.909859117160465],\n [120.22752485563375, 34.36033193616862],\n [120.6203690939166, 33.37672272392513],\n [121.22901411345023, 32.46031871187719],\n [121.90814578663006, 31.69217438407469],\n [121.89191938689035, 30.949351508095102],\n [121.26425744027331, 30.67626740164872],\n [121.50351932178475, 30.142914943964257],\n [122.09211388558911, 29.832520453403163],\n [121.93842817595308, 29.018022365834806],\n [121.68443851123847, 28.225512600206685],\n [121.12566124886645, 28.135673122667185],\n [120.39547326058234, 27.053206895449392],\n [119.58549686083958, 25.740780544532612],\n [118.65687137255453, 24.547390855400238],\n [117.28160647997086, 23.624501451099718],\n [115.89073530483515, 22.782873236578098],\n [114.76382734584624, 22.66807404224167],\n [114.15254682826568, 22.223760077396207],\n [113.80677981980075, 22.54833974862143],\n [113.24107791550162, 22.05136749927047],\n [111.84359215703248, 21.550493679281512],\n [110.78546552942414, 21.397143866455334],\n [110.44403934127169, 20.341032619706397],\n [109.88986128137357, 20.282457383703445],\n [109.62765506392466, 21.008227037026728],\n [109.86448815311834, 21.395050970947523],\n [108.52281294152444, 21.71521230721183],\n [108.050180291783, 21.552379869060104],\n [107.04342003787266, 21.811898912029903],\n [106.56727339073537, 22.218204860924743],\n [106.7254032735485, 22.79426788989838],\n [105.81124718630521, 22.976892401617903],\n [105.32920942588666, 23.352063300056983],\n [104.4768583516645, 22.81915009204692],\n [103.50451460166053, 22.70375661873922],\n [102.70699222210018, 22.708795070887703],\n [102.17043582561355, 22.464753119389343],\n [101.65201785686158, 22.31819875740956],\n [101.80311974488292, 21.174366766845054],\n [101.27002566936002, 21.20165192309517],\n [101.18000532430759, 21.43657298429406],\n [101.15003299357826, 21.84998444262902],\n [100.41653771362738, 21.558839423096657],\n [99.98348921102158, 21.74293671313646],\n [99.24089887898722, 22.118314317304566],\n [99.53199222208744, 22.949038804612595],\n [98.89874922078283, 23.142722072842588],\n [98.6602624857558, 24.063286037690006],\n [97.60471967976203, 23.897404690033056],\n [97.72460900267916, 25.083637193293043],\n [98.67183800658924, 25.918702500913497],\n [98.71209394734458, 26.74353587494025],\n [98.68269005737054, 27.50881216075066],\n [98.24623091023338, 27.74722138112918],\n [97.91198774616944, 28.335945136014374],\n [97.32711388549004, 28.26158274994634],\n [96.24883344928784, 28.411030992134467],\n [96.58659061074755, 28.83097951915437],\n [96.11767866413103, 29.452802028922516],\n [95.40480228066465, 29.031716620392164],\n [94.56599043170294, 29.277438055939964],\n [93.41334760943268, 28.640629380807237],\n [92.50311893104364, 27.89687632904645],\n [91.6966565286967, 27.771741848251622],\n [91.25885379431989, 28.04061432546635],\n [90.73051395056783, 28.064953925075738],\n [90.01582889197121, 28.296438503527185],\n [89.47581017452116, 28.042758897406372],\n [88.8142484883206, 27.299315904239393],\n [88.73032596227856, 28.08686473236756],\n [88.12044070836994, 27.876541652939576],\n [86.95451704300065, 27.97426178640353],\n [85.82331994013154, 28.20357595469875],\n [85.01163821812307, 28.642773952747376],\n [84.23457970575018, 28.839893703724698],\n [83.89899295444675, 29.32022614187764],\n [83.33711510613719, 29.463731594352193],\n [82.32751264845089, 30.115268052688208],\n [81.5258044778748, 30.422716986608663],\n [81.11125613802928, 30.18348094331341],\n [79.72136681510712, 30.882714748654735],\n [78.73889448437401, 31.51590607352705],\n [78.45844648632604, 32.61816437431273],\n [79.17612877799556, 32.483779812137755],\n [79.20889163606856, 32.99439463961374],\n [78.81108646028574, 33.506198025032404],\n [78.91226891471322, 34.32193634697577],\n [77.83745079947462, 35.49400950778781],\n [76.19284834178572, 35.89840342868786],\n [75.89689741405019, 36.66680613865188],\n [75.158027785141, 37.13303091078916],\n [74.98000247589542, 37.419990139305895],\n [74.82998579295216, 37.99000702570146],\n [74.8648157083168, 38.3788463404816],\n [74.2575142760227, 38.60650686294349],\n [73.9288521666464, 38.50581533462272],\n [73.67537926625485, 39.43123688410557],\n [73.96001305531846, 39.660008449861714],\n [73.82224368682833, 39.89397349706314],\n [74.77686242055606, 40.36642527929163],\n [75.46782799673073, 40.56207225194868],\n [76.52636803579745, 40.42794607193513],\n [76.90448449087712, 41.06648590754966],\n [78.18719689322606, 41.185315863604814],\n [78.54366092317528, 41.58224254003871],\n [80.11943037305142, 42.123940741538235],\n [80.25999026888533, 42.34999929459909],\n [80.18015018099439, 42.92006785742686],\n [80.86620649610123, 43.180362046881015],\n [79.96610639844144, 44.91751699480462],\n [81.9470707539181, 45.31702749285316],\n [82.45892581576905, 45.539649563166506],\n [83.18048383986054, 47.33003123635075],\n [85.16429039911324, 47.00095571551611],\n [85.7204838398707, 47.45296946877309],\n [85.76823286330838, 48.4557506373969],\n [86.59877648310336, 48.54918162698061],\n [87.35997033076269, 49.21498078062916],\n [87.75126427607668, 49.29719798440547],\n [88.0138322285517, 48.5994627956006],\n [88.85429772334678, 48.069081732773014],\n [90.28082563676392, 47.693549099307916],\n [90.97080936072499, 46.888146063822944],\n [90.58576826371834, 45.7197160914875],\n [90.94553958533433, 45.28607330991025],\n [92.13389082231825, 45.115075995456436],\n [93.48073367714133, 44.975472113620015],\n [94.68892866412537, 44.35233185482846],\n [95.30687544147153, 44.24133087826547],\n [95.7624548685567, 43.31944916439462],\n [96.34939578652782, 42.72563528092866],\n [97.451757440178, 42.74888967546008],\n [99.51581749878002, 42.524691473961695],\n [100.8458655131083, 42.663804429691425],\n [101.83304039917995, 42.51487295182628],\n [103.31227827353482, 41.90746816666763],\n [104.52228193564903, 41.90834666601663],\n [104.96499393109346, 41.59740957291635],\n [106.12931562706169, 42.1343277044289],\n [107.744772576938, 42.481515814781915],\n [109.24359581913146, 42.51944631608416],\n [110.4121033061153, 42.87123362891103],\n [111.12968224492023, 43.40683401140018],\n [111.8295878438814, 43.74311839453949],\n [111.66773725794323, 44.07317576758771],\n [111.34837690637946, 44.45744171811006],\n [111.87330610560028, 45.10207937273512],\n [112.43606245325887, 45.01164561622426],\n [113.46390669154422, 44.80889313412711],\n [114.46033165899607, 45.33981679949389],\n [115.98509647020013, 45.72723501238602],\n [116.71786828009888, 46.388202419615254],\n [117.42170128791425, 46.67273285581421],\n [118.87432579963873, 46.80541209572365],\n [119.66326989143877, 46.69267995867895],\n [119.77282392789756, 47.04805878355015],\n [118.86657433479498, 47.74706004494621],\n [118.06414269416675, 48.06673045510374],\n [117.29550744025747, 47.6977090521074],\n [116.30895267137325, 47.853410142602826],\n [115.74283735561575, 47.72654450132629],\n [115.48528201707305, 48.135382595403456],\n [116.19180219936761, 49.13459809019906],\n [116.67880089728621, 49.888531399121405],\n [117.87924441942639, 49.51098338479696],\n [119.28846072802585, 50.14288279886205],\n [119.27936567594239, 50.582907619827296],\n [120.18204959521695, 51.64356639261803],\n [120.738191359542, 51.964115302124554],\n [120.725789015792, 52.516226304730814],\n [120.1770886577169, 52.75388621684121],\n [121.00308475147024, 53.25140106873124],\n [122.24574791879289, 53.43172597921369],\n [123.57150678924087, 53.45880442973464],\n [125.06821129771045, 53.161044826868846],\n [125.94634891164618, 52.79279857035695],\n [126.56439904185699, 51.7842554795327],\n [126.93915652883769, 51.3538941514059],\n [127.28745568248493, 50.73979726826545],\n [127.6574072612624, 49.76027049417294],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Northern Cyprus\",\n sov_a3: \"CYN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Northern Cyprus\",\n adm0_a3: \"CYN\",\n geou_dif: 0,\n geounit: \"Northern Cyprus\",\n gu_a3: \"CYN\",\n su_dif: 0,\n subunit: \"Northern Cyprus\",\n su_a3: \"CYN\",\n brk_diff: 1,\n name: \"N. Cyprus\",\n name_long: \"Northern Cyprus\",\n brk_a3: \"B20\",\n brk_name: \"N. Cyprus\",\n brk_group: null,\n abbrev: \"N. Cy.\",\n postal: \"CN\",\n formal_en: \"Turkish Republic of Northern Cyprus\",\n formal_fr: null,\n note_adm0: \"Self admin.\",\n note_brk: \"Self admin.; Claimed by Cyprus\",\n name_sort: \"Cyprus, Northern\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 1,\n mapcolor9: 4,\n mapcolor13: 8,\n pop_est: 265100,\n gdp_md_est: 3600,\n pop_year: -99,\n lastcensus: -99,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"-99\",\n iso_a3: \"-99\",\n iso_n3: \"-99\",\n un_a3: \"-099\",\n wb_a2: \"-99\",\n wb_a3: \"-99\",\n woe_id: -99,\n adm0_a3_is: \"CYP\",\n adm0_a3_us: \"CYP\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 9,\n long_len: 15,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"CYN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [32.73178022637745, 35.14002594658844],\n [32.80247358575275, 35.14550364841138],\n [32.946960890440806, 35.3867033961337],\n [33.667227003724946, 35.37321584730551],\n [34.57647382990046, 35.67159556735879],\n [33.900804477684204, 35.245755927057616],\n [33.97361657078346, 35.058506374648],\n [33.86643965021011, 35.09359467217419],\n [33.675391880027064, 35.01786286065045],\n [33.5256852556775, 35.03868846286407],\n [33.475817498515845, 35.000344550103506],\n [33.45592207208347, 35.10142365166641],\n [33.3838334490363, 35.16271190036457],\n [33.19097700372305, 35.17312470147138],\n [32.919572381326134, 35.08783274997364],\n [32.73178022637745, 35.14002594658844],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Cyprus\",\n sov_a3: \"CYP\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Cyprus\",\n adm0_a3: \"CYP\",\n geou_dif: 0,\n geounit: \"Cyprus\",\n gu_a3: \"CYP\",\n su_dif: 0,\n subunit: \"Cyprus\",\n su_a3: \"CYP\",\n brk_diff: 0,\n name: \"Cyprus\",\n name_long: \"Cyprus\",\n brk_a3: \"CYP\",\n brk_name: \"Cyprus\",\n brk_group: null,\n abbrev: \"Cyp.\",\n postal: \"CY\",\n formal_en: \"Republic of Cyprus\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Cyprus\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 2,\n mapcolor9: 3,\n mapcolor13: 7,\n pop_est: 531640,\n gdp_md_est: 22700,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CY\",\n iso_a3: \"CYP\",\n iso_n3: \"196\",\n un_a3: \"196\",\n wb_a2: \"CY\",\n wb_a3: \"CYP\",\n woe_id: -99,\n adm0_a3_is: \"CYP\",\n adm0_a3_us: \"CYP\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"CYP.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [33.97361657078346, 35.058506374648],\n [34.00488081232004, 34.97809784600186],\n [32.97982710137845, 34.57186941175544],\n [32.49029625827753, 34.701654771456475],\n [32.25666710788596, 35.10323232679663],\n [32.73178022637745, 35.14002594658844],\n [32.919572381326134, 35.08783274997364],\n [33.19097700372305, 35.17312470147138],\n [33.3838334490363, 35.16271190036457],\n [33.45592207208347, 35.10142365166641],\n [33.475817498515845, 35.000344550103506],\n [33.5256852556775, 35.03868846286407],\n [33.675391880027064, 35.01786286065045],\n [33.86643965021011, 35.09359467217419],\n [33.97361657078346, 35.058506374648],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Georgia\",\n sov_a3: \"GEO\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Georgia\",\n adm0_a3: \"GEO\",\n geou_dif: 0,\n geounit: \"Georgia\",\n gu_a3: \"GEO\",\n su_dif: 0,\n subunit: \"Georgia\",\n su_a3: \"GEO\",\n brk_diff: 0,\n name: \"Georgia\",\n name_long: \"Georgia\",\n brk_a3: \"GEO\",\n brk_name: \"Georgia\",\n brk_group: null,\n abbrev: \"Geo.\",\n postal: \"GE\",\n formal_en: \"Georgia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Georgia\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 1,\n mapcolor9: 3,\n mapcolor13: 2,\n pop_est: 4615807,\n gdp_md_est: 21510,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GE\",\n iso_a3: \"GEO\",\n iso_n3: \"268\",\n un_a3: \"268\",\n wb_a2: \"GE\",\n wb_a3: \"GEO\",\n woe_id: -99,\n adm0_a3_is: \"GEO\",\n adm0_a3_us: \"GEO\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"GEO.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [41.55408410011065, 41.53565623632757],\n [41.70317060727271, 41.96294281673292],\n [41.45347008643839, 42.64512339941794],\n [40.87546919125379, 43.013628038091284],\n [40.32139448422032, 43.128633938156845],\n [39.955008579270924, 43.43499766699922],\n [40.07696495947977, 43.55310415300231],\n [40.922184686045625, 43.38215851498079],\n [42.39439456560882, 43.22030792904263],\n [43.75601688006739, 42.74082815202249],\n [43.931199985536836, 42.55497386328477],\n [44.537622918481986, 42.71199270280363],\n [45.47027916848572, 42.50278066666998],\n [45.77641035338277, 42.09244395605636],\n [46.404950799348825, 41.860675157227305],\n [46.14543175637902, 41.72280243587258],\n [46.63790815612058, 41.181672675128226],\n [46.50163740416693, 41.06444468847411],\n [45.96260053893039, 41.123872585609774],\n [45.217426385281584, 41.41145193131405],\n [44.97248009621808, 41.248128567055595],\n [43.582745802592726, 41.09214325618257],\n [42.61954878110449, 41.58317271581994],\n [41.55408410011065, 41.53565623632757],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Indonesia\",\n sov_a3: \"IDN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Indonesia\",\n adm0_a3: \"IDN\",\n geou_dif: 0,\n geounit: \"Indonesia\",\n gu_a3: \"IDN\",\n su_dif: 0,\n subunit: \"Indonesia\",\n su_a3: \"IDN\",\n brk_diff: 0,\n name: \"Indonesia\",\n name_long: \"Indonesia\",\n brk_a3: \"IDN\",\n brk_name: \"Indonesia\",\n brk_group: null,\n abbrev: \"Indo.\",\n postal: \"INDO\",\n formal_en: \"Republic of Indonesia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Indonesia\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 6,\n mapcolor9: 6,\n mapcolor13: 11,\n pop_est: 240271522,\n gdp_md_est: 914600,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"4. Emerging region: MIKT\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"ID\",\n iso_a3: \"IDN\",\n iso_n3: \"360\",\n un_a3: \"360\",\n wb_a2: \"ID\",\n wb_a3: \"IDN\",\n woe_id: -99,\n adm0_a3_is: \"IDN\",\n adm0_a3_us: \"IDN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"IDN.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [120.71560875863044, -10.239581394087864],\n [120.2950142762069, -10.258649997603525],\n [118.96780846565471, -9.557969252158031],\n [119.90030968636161, -9.361340427287516],\n [120.42575564990543, -9.665921319215798],\n [120.77550174365675, -9.969675388227456],\n [120.71560875863044, -10.239581394087864],\n ],\n ],\n [\n [\n [124.43595014861941, -10.140000909061442],\n [123.57998172413673, -10.359987481327963],\n [123.45998904835503, -10.239994805546175],\n [123.55000939340746, -9.90001555749798],\n [123.98000898650811, -9.290026950724695],\n [124.96868248911622, -8.892790215697048],\n [125.07001997284064, -9.089987481322837],\n [125.08852013560109, -9.393173109579322],\n [124.43595014861941, -10.140000909061442],\n ],\n ],\n [\n [\n [117.90001834520777, -8.095681247594925],\n [118.2606164897405, -8.362383314653329],\n [118.87845991422215, -8.28068287519983],\n [119.12650678922309, -8.705824883665073],\n [117.9704016459893, -8.906639499551261],\n [117.27773074754903, -9.040894870645559],\n [116.74014082241663, -9.03293670007264],\n [117.08373742072533, -8.457157891476541],\n [117.63202436734215, -8.449303073768192],\n [117.90001834520777, -8.095681247594925],\n ],\n ],\n [\n [\n [122.90353722543611, -8.094234307490737],\n [122.75698286345632, -8.64980763106064],\n [121.25449059457013, -8.933666273639943],\n [119.9243909038096, -8.810417982623875],\n [119.92092858284613, -8.444858900591072],\n [120.71509199430757, -8.236964613480865],\n [121.34166873584658, -8.536739597206022],\n [122.00736453663043, -8.460620212440162],\n [122.90353722543611, -8.094234307490737],\n ],\n ],\n [\n [\n [108.62347863162894, -6.777673841990676],\n [110.53922732955331, -6.877357679881683],\n [110.75957563684594, -6.465186455921752],\n [112.61481123255638, -6.946035658397591],\n [112.97876834518812, -7.59421314863458],\n [114.47893517462117, -7.776527601760279],\n [115.70552697150109, -8.370806573116866],\n [114.56451134649652, -8.751816908404834],\n [113.4647335144609, -8.348947442257426],\n [112.55967247930103, -8.376180922075164],\n [111.52206139531248, -8.302128594600957],\n [110.58614953007432, -8.122604668819022],\n [109.4276672709552, -7.740664157749761],\n [108.69365522668133, -7.641600437046221],\n [108.27776329959632, -7.766657403192581],\n [106.45410200401615, -7.354899590690947],\n [106.28062422081231, -6.924899997590202],\n [105.36548628135554, -6.85141611087117],\n [106.05164594932707, -5.8959188777945],\n [107.2650085795402, -5.954985039904059],\n [108.0720910990747, -6.345762220895239],\n [108.48684614464926, -6.421984958525768],\n [108.62347863162894, -6.777673841990676],\n ],\n ],\n [\n [\n [134.72462446506668, -6.214400730009287],\n [134.21013390516893, -6.895237725454706],\n [134.112775506731, -6.142467136259014],\n [134.2903357280858, -5.783057549669039],\n [134.49962527886788, -5.445042006047899],\n [134.72700158095213, -5.73758228925216],\n [134.72462446506668, -6.214400730009287],\n ],\n ],\n [\n [\n [127.24921512258892, -3.45906503663889],\n [126.87492272349888, -3.79098276124958],\n [126.18380211802733, -3.607376397316556],\n [125.98903364471929, -3.177273451351325],\n [127.00065148326499, -3.12931772218441],\n [127.24921512258892, -3.45906503663889],\n ],\n ],\n [\n [\n [130.4713440288518, -3.09376433676762],\n [130.8348360535928, -3.858472181822762],\n [129.99054650280814, -3.446300957862817],\n [129.15524865124243, -3.362636813982249],\n [128.59068362845366, -3.428679294451257],\n [127.89889122936236, -3.393435967628193],\n [128.1358793478528, -2.843650404474914],\n [129.37099775606092, -2.802154229344552],\n [130.4713440288518, -3.09376433676762],\n ],\n ],\n [\n [\n [134.1433679546478, -1.151867364103595],\n [134.42262739475305, -2.769184665542383],\n [135.4576029806947, -3.367752780779114],\n [136.2933142437188, -2.30704233155609],\n [137.44073774632753, -1.703513278819372],\n [138.3297274110448, -1.70268645590265],\n [139.18492068904297, -2.051295668143638],\n [139.92668419816042, -2.409051608900284],\n [141.00021040259188, -2.600151055515624],\n [141.01705691951904, -5.859021905138022],\n [141.0338517600139, -9.117892754760419],\n [140.14341515519257, -8.297167657100957],\n [139.12776655492812, -8.096042982620942],\n [138.88147667862498, -8.380935153846096],\n [137.61447391169284, -8.411682631059762],\n [138.0390991558352, -7.597882175327356],\n [138.6686214540148, -7.320224704623072],\n [138.40791385310237, -6.232849216337484],\n [137.92783979711086, -5.393365573756],\n [135.98925011611348, -4.546543877789048],\n [135.16459760959972, -4.462931410340772],\n [133.6628804871979, -3.538853448097527],\n [133.3677047059468, -4.024818617370315],\n [132.98395551974735, -4.112978610860281],\n [132.756940952689, -3.74628264731713],\n [132.75378869031923, -3.311787204607072],\n [131.9898043153162, -2.820551039240456],\n [133.0668445171435, -2.460417982598443],\n [133.78003095920351, -2.47984832114021],\n [133.69621178602614, -2.214541517753688],\n [132.23237348849423, -2.212526136894326],\n [131.8362219585447, -1.617161960459597],\n [130.94283979708283, -1.432522067880797],\n [130.51955814018007, -0.937720228686075],\n [131.86753787651364, -0.695461114101818],\n [132.3801164084168, -0.369537855636977],\n [133.98554813042844, -0.780210463060442],\n [134.1433679546478, -1.151867364103595],\n ],\n ],\n [\n [\n [125.24050052297159, 1.419836127117605],\n [124.43703535369737, 0.427881171058971],\n [123.68550499887672, 0.235593166500877],\n [122.72308312387288, 0.431136786293337],\n [121.0567248881891, 0.381217352699451],\n [120.18308312386276, 0.23724681233422],\n [120.04086958219548, -0.519657891444851],\n [120.93590538949073, -1.408905938323372],\n [121.4758207540762, -0.955962009285116],\n [123.34056481332848, -0.615672702643081],\n [123.2583992859845, -1.076213067228338],\n [122.82271528533161, -0.930950616055881],\n [122.38852990121539, -1.516858005381124],\n [121.50827355355548, -1.904482924002423],\n [122.4545723816843, -3.186058444840882],\n [122.27189619353257, -3.529500013852697],\n [123.17096276254657, -4.683693129091708],\n [123.16233279835379, -5.340603936385961],\n [122.62851525277871, -5.634591159694494],\n [122.23639448454806, -5.282933037948283],\n [122.71956912647707, -4.46417164471579],\n [121.73823367725439, -4.8513314754465],\n [121.48946333220127, -4.574552504091216],\n [121.61917117725388, -4.188477878438674],\n [120.89818159391771, -3.602105401222829],\n [120.97238895068877, -2.62764291749491],\n [120.30545291552991, -2.931603692235726],\n [120.39004723519176, -4.097579034037224],\n [120.43071658740539, -5.528241062037779],\n [119.79654341031952, -5.673400160345651],\n [119.36690555224496, -5.379878024927805],\n [119.65360639860013, -4.459417412944958],\n [119.49883548388597, -3.49441171632651],\n [119.078344354327, -3.487021986508765],\n [118.7677689962529, -2.801999200047689],\n [119.18097374885869, -2.147103773612798],\n [119.32339399625508, -1.353147067880471],\n [119.82599897672586, 0.154254462073496],\n [120.03570193896637, 0.566477362465804],\n [120.8857792501677, 1.309222723796836],\n [121.666816847827, 1.013943589681077],\n [122.92756676645185, 0.875192368977466],\n [124.07752241424285, 0.917101955566139],\n [125.06598921112183, 1.643259182131558],\n [125.24050052297159, 1.419836127117605],\n ],\n ],\n [\n [\n [128.68824873262074, 1.132385972494106],\n [128.63595218314137, 0.258485826006179],\n [128.12016971243617, 0.356412665199286],\n [127.96803429576887, -0.252077325037533],\n [128.37999881399972, -0.780003757331286],\n [128.10001590384232, -0.899996433112975],\n [127.69647464407504, -0.266598402511505],\n [127.39949018769377, 1.011721503092573],\n [127.60051150930907, 1.810690822757181],\n [127.93237755748751, 2.174596258956555],\n [128.00415612194084, 1.628531398928331],\n [128.59455936087548, 1.540810655112864],\n [128.68824873262074, 1.132385972494106],\n ],\n ],\n [\n [\n [117.87562706916603, 1.827640692548911],\n [118.99674726773819, 0.902219143066048],\n [117.81185835171779, 0.784241848143722],\n [117.47833865770608, 0.102474676917026],\n [117.52164350796662, -0.803723239753211],\n [116.56004845587952, -1.487660821136231],\n [116.53379682827519, -2.483517347832901],\n [116.14808393764864, -4.012726332214015],\n [116.0008577820491, -3.657037448749008],\n [114.86480309454454, -4.106984144714417],\n [114.46865156459509, -3.495703627133821],\n [113.75567182826413, -3.43916961020652],\n [113.25699425664757, -3.118775729996855],\n [112.06812625534067, -3.478392022316072],\n [111.70329064336002, -2.994442233902632],\n [111.04824018762824, -3.049425957861189],\n [110.223846063276, -2.934032484553484],\n [110.07093550012436, -1.592874037282414],\n [109.57194786991406, -1.314906507984489],\n [109.09187381392253, -0.459506524257051],\n [108.95265750532816, 0.415375474444346],\n [109.06913618371404, 1.341933905437642],\n [109.66326012577375, 2.006466986494985],\n [109.83022667850886, 1.338135687664192],\n [110.51406090702713, 0.773131415200993],\n [111.15913781132659, 0.976478176269509],\n [111.79754845586044, 0.904441229654651],\n [112.38025190638368, 1.410120957846758],\n [112.8598091980522, 1.497790025229946],\n [113.80584964401956, 1.217548732911041],\n [114.6213554220175, 1.430688177898887],\n [115.13403730678523, 2.821481838386219],\n [115.51907840379201, 3.169238389494396],\n [115.86551720587677, 4.306559149590157],\n [117.01521447150637, 4.306094061699469],\n [117.88203494677019, 4.137551377779488],\n [117.31323245653354, 3.234428208830579],\n [118.04832970588538, 2.287690131027361],\n [117.87562706916603, 1.827640692548911],\n ],\n ],\n [\n [\n [105.81765506390936, -5.852355645372413],\n [104.71038414919151, -5.873284600450646],\n [103.86821333213074, -5.037314955264975],\n [102.58426069540693, -4.220258884298204],\n [102.15617313030103, -3.614146009946765],\n [101.39911339722508, -2.799777113459172],\n [100.90250288290017, -2.05026213949786],\n [100.14198082886062, -0.650347588710957],\n [99.26373986206025, 0.183141587724663],\n [98.97001102091333, 1.042882391764536],\n [98.60135135294311, 1.823506577965617],\n [97.6995976094499, 2.453183905442117],\n [97.1769421732499, 3.30879059489861],\n [96.42401655475734, 3.868859768077911],\n [95.38087609251347, 4.970782172053673],\n [95.29302615761733, 5.479820868344817],\n [95.93686282754176, 5.439513251157109],\n [97.4848820332771, 5.246320909034011],\n [98.36916914265569, 4.268370266126368],\n [99.14255862833582, 3.590349636240916],\n [99.69399783732243, 3.174328518075157],\n [100.64143354696168, 2.099381211755798],\n [101.65801232300734, 2.083697414555189],\n [102.49827111207324, 1.398700466310217],\n [103.07684044801303, 0.561361395668854],\n [103.83839603069835, 0.104541734208667],\n [103.43764529827497, -0.711945896002845],\n [104.01078860882402, -1.059211521004229],\n [104.3699914896849, -1.084843031421016],\n [104.53949018760218, -1.782371514496716],\n [104.88789269411402, -2.340425306816655],\n [105.622111444117, -2.42884368246807],\n [106.10859337771271, -3.06177662517895],\n [105.85744591677414, -4.305524997579724],\n [105.81765506390936, -5.852355645372413],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"India\",\n sov_a3: \"IND\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"India\",\n adm0_a3: \"IND\",\n geou_dif: 0,\n geounit: \"India\",\n gu_a3: \"IND\",\n su_dif: 0,\n subunit: \"India\",\n su_a3: \"IND\",\n brk_diff: 0,\n name: \"India\",\n name_long: \"India\",\n brk_a3: \"IND\",\n brk_name: \"India\",\n brk_group: null,\n abbrev: \"India\",\n postal: \"IND\",\n formal_en: \"Republic of India\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"India\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 3,\n mapcolor9: 2,\n mapcolor13: 2,\n pop_est: 1166079220,\n gdp_md_est: 3297000,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"3. Emerging region: BRIC\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"IN\",\n iso_a3: \"IND\",\n iso_n3: \"356\",\n un_a3: \"356\",\n wb_a2: \"IN\",\n wb_a3: \"IND\",\n woe_id: -99,\n adm0_a3_is: \"IND\",\n adm0_a3_us: \"IND\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Southern Asia\",\n region_wb: \"South Asia\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"IND.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [77.83745079947457, 35.494009507787766],\n [78.91226891471322, 34.32193634697579],\n [78.81108646028574, 33.50619802503242],\n [79.20889163606857, 32.994394639613716],\n [79.17612877799553, 32.48377981213771],\n [78.45844648632601, 32.61816437431273],\n [78.73889448437401, 31.515906073527063],\n [79.7213668151071, 30.882714748654728],\n [81.11125613802932, 30.183480943313402],\n [80.4767212259174, 29.72986522065534],\n [80.08842451367627, 28.79447011974014],\n [81.05720258985203, 28.416095282499043],\n [81.99998742058497, 27.925479234319994],\n [83.30424889519955, 27.36450572357556],\n [84.6750179381738, 27.234901231387536],\n [85.25177859898338, 26.72619843190634],\n [86.02439293817918, 26.63098460540857],\n [87.22747195836628, 26.397898057556077],\n [88.06023766474982, 26.41461538340249],\n [88.17480431514092, 26.81040517832595],\n [88.04313276566123, 27.445818589786825],\n [88.12044070836987, 27.876541652939594],\n [88.73032596227856, 28.086864732367516],\n [88.81424848832054, 27.29931590423936],\n [88.83564253128938, 27.098966376243762],\n [89.74452762243884, 26.719402981059957],\n [90.37327477413407, 26.87572418874288],\n [91.21751264848643, 26.808648179628022],\n [92.03348351437509, 26.83831045176356],\n [92.10371178585973, 27.452614040633208],\n [91.69665652869668, 27.77174184825166],\n [92.50311893104364, 27.89687632904645],\n [93.41334760943268, 28.640629380807226],\n [94.56599043170294, 29.277438055939985],\n [95.40480228066464, 29.03171662039213],\n [96.11767866413103, 29.452802028922466],\n [96.58659061074749, 28.830979519154344],\n [96.24883344928779, 28.41103099213444],\n [97.32711388549004, 28.26158274994634],\n [97.40256147663612, 27.88253611908544],\n [97.0519885599681, 27.69905894623315],\n [97.1339990580153, 27.083773505149964],\n [96.41936567585097, 27.264589341739224],\n [95.12476769407496, 26.5735720891323],\n [95.1551534362626, 26.001307277932085],\n [94.60324913938538, 25.162495428970402],\n [94.55265791217164, 24.675238348890332],\n [94.10674197792505, 23.85074087167348],\n [93.3251876159428, 24.078556423432204],\n [93.28632693885928, 23.043658352139005],\n [93.06029422401463, 22.70311066333557],\n [93.16612755734836, 22.278459580977103],\n [92.67272098182556, 22.041238918541254],\n [92.14603478390681, 23.627498684172593],\n [91.86992760617132, 23.624346421802784],\n [91.70647505083211, 22.985263983649183],\n [91.15896325069971, 23.50352692310439],\n [91.46772993364367, 24.072639471934792],\n [91.91509280799443, 24.13041372323711],\n [92.37620161333481, 24.976692816664965],\n [91.79959598182207, 25.147431748957317],\n [90.8722107279121, 25.132600612889547],\n [89.92069258012185, 25.26974986419218],\n [89.83248091019962, 25.96508209889548],\n [89.35509402868729, 26.014407253518073],\n [88.56304935094977, 26.44652558034272],\n [88.2097892598025, 25.76806570078271],\n [88.93155398962308, 25.238692328384776],\n [88.30637251175602, 24.866079413344206],\n [88.08442223506242, 24.501657212821925],\n [88.69994022009092, 24.23371491138856],\n [88.52976972855377, 23.631141872649163],\n [88.87631188350309, 22.879146429937826],\n [89.03196129756623, 22.055708319582976],\n [88.88876590368542, 21.690588487224748],\n [88.20849734899521, 21.703171698487807],\n [86.97570438024027, 21.49556163175521],\n [87.03316857294887, 20.743307806882413],\n [86.49935102737378, 20.151638495356607],\n [85.0602657409097, 19.4785788029711],\n [83.94100589390001, 18.302009792549725],\n [83.18921715691785, 17.67122142177898],\n [82.19279218946592, 17.016636053937813],\n [82.19124189649719, 16.556664130107848],\n [81.69271935417748, 16.310219224507904],\n [80.79199913933014, 15.951972357644491],\n [80.32489586784388, 15.899184882058348],\n [80.02506920768644, 15.136414903214147],\n [80.2332735533904, 13.835770778859981],\n [80.28629357292186, 13.006260687710833],\n [79.8625468281285, 12.056215318240888],\n [79.85799930208682, 10.35727509199711],\n [79.340511509116, 10.30885427493962],\n [78.88534549348918, 9.546135972527722],\n [79.18971967968828, 9.216543687370148],\n [78.2779407083305, 8.933046779816934],\n [77.94116539908435, 8.252959092639742],\n [77.53989790233794, 7.965534776232333],\n [76.59297895702167, 8.89927623131419],\n [76.13006147655108, 10.299630031775521],\n [75.74646731964849, 11.308250637248307],\n [75.39610110870957, 11.781245022015824],\n [74.86481570831681, 12.741935736537897],\n [74.61671715688354, 13.99258291264968],\n [74.44385949086723, 14.617221787977696],\n [73.5341992532334, 15.99065216721496],\n [73.11990929554943, 17.928570054592498],\n [72.82090945830865, 19.208233547436166],\n [72.8244751321368, 20.419503282141534],\n [72.6305334817454, 21.356009426351008],\n [71.17527347197395, 20.757441311114235],\n [70.4704586119451, 20.877330634031384],\n [69.16413008003883, 22.0892980005727],\n [69.64492760608239, 22.450774644454338],\n [69.34959679553435, 22.84317963306269],\n [68.1766451353734, 23.69196503345671],\n [68.84259931831878, 24.35913361256094],\n [71.04324018746823, 24.3565239527302],\n [70.84469933460284, 25.21510203704352],\n [70.28287316272558, 25.72222870533983],\n [70.16892662952202, 26.491871649678842],\n [69.51439293811312, 26.940965684511372],\n [70.61649620960193, 27.989196275335868],\n [71.77766564320032, 27.913180243434525],\n [72.8237516620847, 28.961591701772054],\n [73.45063846221743, 29.97641347911987],\n [74.42138024282026, 30.979814764931177],\n [74.40592898956501, 31.69263947196528],\n [75.25864179881322, 32.2711054550405],\n [74.45155927927871, 32.7648996038055],\n [74.10429365427734, 33.44147329358685],\n [73.74994835805195, 34.31769887952785],\n [74.24020267120497, 34.74888703057125],\n [75.75706098826834, 34.50492259372132],\n [76.87172163280403, 34.65354401299274],\n [77.83745079947457, 35.494009507787766],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Iran\",\n sov_a3: \"IRN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Iran\",\n adm0_a3: \"IRN\",\n geou_dif: 0,\n geounit: \"Iran\",\n gu_a3: \"IRN\",\n su_dif: 0,\n subunit: \"Iran\",\n su_a3: \"IRN\",\n brk_diff: 0,\n name: \"Iran\",\n name_long: \"Iran\",\n brk_a3: \"IRN\",\n brk_name: \"Iran\",\n brk_group: null,\n abbrev: \"Iran\",\n postal: \"IRN\",\n formal_en: \"Islamic Republic of Iran\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Iran, Islamic Rep.\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 3,\n mapcolor9: 4,\n mapcolor13: 13,\n pop_est: 66429284,\n gdp_md_est: 841700,\n pop_year: -99,\n lastcensus: 2006,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"IR\",\n iso_a3: \"IRN\",\n iso_n3: \"364\",\n un_a3: \"364\",\n wb_a2: \"IR\",\n wb_a3: \"IRN\",\n woe_id: -99,\n adm0_a3_is: \"IRN\",\n adm0_a3_us: \"IRN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Southern Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 4,\n long_len: 4,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"IRN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [53.92159793479556, 37.19891836196126],\n [54.800303989486565, 37.392420762678185],\n [55.51157840355191, 37.96411713312317],\n [56.18037479027333, 37.93512665460742],\n [56.61936608259282, 38.121394354803485],\n [57.33043379092898, 38.02922943781094],\n [58.4361544126782, 37.522309475243794],\n [59.23476199731681, 37.412987982730336],\n [60.37763797388387, 36.52738312432837],\n [61.123070509694145, 36.49159719496624],\n [61.21081709172574, 35.650072333309225],\n [60.80319339380745, 34.40410187431986],\n [60.52842980331158, 33.676446031218006],\n [60.963700392506006, 33.52883230237625],\n [60.536077915290775, 32.98126882581157],\n [60.863654819588966, 32.18291962333443],\n [60.94194461451113, 31.548074652628753],\n [61.699314406180825, 31.37950613049267],\n [61.781221551363444, 30.735850328081234],\n [60.874248488208785, 29.829238999952604],\n [61.36930870956494, 29.303276272085924],\n [61.77186811711863, 28.699333807890795],\n [62.72783043808598, 28.25964488373539],\n [62.755425652929866, 27.378923448184985],\n [63.233897739520295, 27.21704702403071],\n [63.31663170761959, 26.756532497661667],\n [61.87418745305655, 26.239974880472104],\n [61.49736290878419, 25.0782370061185],\n [59.61613406763084, 25.380156561783778],\n [58.5257613462723, 25.60996165618573],\n [57.397251417882394, 25.73990204518364],\n [56.970765822177555, 26.96610626882136],\n [56.492138706290206, 27.143304755150197],\n [55.72371015811006, 26.96463349050104],\n [54.71508955263727, 26.480657863871514],\n [53.49309695823135, 26.81236888275305],\n [52.48359785340961, 27.580849107365495],\n [51.52076256694741, 27.865689602158298],\n [50.85294803243954, 28.814520575469384],\n [50.115008579311585, 30.147772528599717],\n [49.576850213423995, 29.985715236932407],\n [48.94133344909855, 30.317090359004037],\n [48.567971225789755, 29.926778265903522],\n [48.0145683123761, 30.452456773392598],\n [48.004698113808324, 30.985137437457244],\n [47.68528608581227, 30.98485321707963],\n [47.8492037290421, 31.70917593029867],\n [47.3346614927119, 32.469155381799105],\n [46.10936160663932, 33.017287299119005],\n [45.41669070819904, 33.967797756479584],\n [45.64845950702809, 34.748137722303014],\n [46.15178795755093, 35.09325877536429],\n [46.0763403664048, 35.67738332777549],\n [45.4206181170532, 35.97754588474282],\n [44.77267, 37.17045],\n [44.22575564960053, 37.97158437758935],\n [44.421402622257546, 38.28128123631454],\n [44.10922529478234, 39.4281362981681],\n [44.79398969908195, 39.71300263117705],\n [44.95268802265031, 39.33576467544637],\n [45.45772179543877, 38.87413910578306],\n [46.14362308124881, 38.74120148371222],\n [46.50571984231797, 38.770605373686294],\n [47.685079380083096, 39.508363959301214],\n [48.06009524922524, 39.58223541926246],\n [48.35552941263788, 39.28876496027691],\n [48.01074425638648, 38.79401479751452],\n [48.63437544128481, 38.27037750910097],\n [48.88324913920249, 38.32024526626262],\n [49.19961225769334, 37.58287425388988],\n [50.14777143738462, 37.37456655532134],\n [50.84235436381971, 36.8728142359834],\n [52.264024692601424, 36.7004216578577],\n [53.82578982932642, 36.965030829408235],\n [53.92159793479556, 37.19891836196126],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Iraq\",\n sov_a3: \"IRQ\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Iraq\",\n adm0_a3: \"IRQ\",\n geou_dif: 0,\n geounit: \"Iraq\",\n gu_a3: \"IRQ\",\n su_dif: 0,\n subunit: \"Iraq\",\n su_a3: \"IRQ\",\n brk_diff: 0,\n name: \"Iraq\",\n name_long: \"Iraq\",\n brk_a3: \"IRQ\",\n brk_name: \"Iraq\",\n brk_group: null,\n abbrev: \"Iraq\",\n postal: \"IRQ\",\n formal_en: \"Republic of Iraq\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Iraq\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 3,\n mapcolor13: 1,\n pop_est: 31129225,\n gdp_md_est: 103900,\n pop_year: -99,\n lastcensus: 1997,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"IQ\",\n iso_a3: \"IRQ\",\n iso_n3: \"368\",\n un_a3: \"368\",\n wb_a2: \"IQ\",\n wb_a3: \"IRQ\",\n woe_id: -99,\n adm0_a3_is: \"IRQ\",\n adm0_a3_us: \"IRQ\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 4,\n long_len: 4,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"IRQ.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [45.4206181170532, 35.97754588474282],\n [46.0763403664048, 35.67738332777549],\n [46.15178795755093, 35.09325877536429],\n [45.64845950702809, 34.748137722303014],\n [45.41669070819904, 33.967797756479584],\n [46.10936160663932, 33.017287299119005],\n [47.3346614927119, 32.469155381799105],\n [47.8492037290421, 31.70917593029867],\n [47.68528608581227, 30.98485321707963],\n [48.004698113808324, 30.985137437457244],\n [48.0145683123761, 30.452456773392598],\n [48.567971225789755, 29.926778265903522],\n [47.974519077349896, 29.9758192001485],\n [47.30262210469096, 30.05906993257072],\n [46.568713413281756, 29.09902517345229],\n [44.70949873228474, 29.178891099559383],\n [41.889980910007836, 31.190008653278365],\n [40.399994337736246, 31.889991766887935],\n [39.19546837744497, 32.16100881604267],\n [38.792340529136084, 33.378686428352225],\n [41.006158888519934, 34.41937226006212],\n [41.383965285005814, 35.628316555314356],\n [41.289707472505455, 36.35881460219227],\n [41.83706424334096, 36.605853786763575],\n [42.34959109881177, 37.2298725449041],\n [42.77912560402182, 37.385263576805755],\n [43.9422587420473, 37.25622752537295],\n [44.29345177590286, 37.0015143906063],\n [44.772699008977696, 37.170444647768434],\n [45.4206181170532, 35.97754588474282],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Israel\",\n sov_a3: \"ISR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Israel\",\n adm0_a3: \"ISR\",\n geou_dif: 0,\n geounit: \"Israel\",\n gu_a3: \"ISR\",\n su_dif: 0,\n subunit: \"Israel\",\n su_a3: \"ISR\",\n brk_diff: 0,\n name: \"Israel\",\n name_long: \"Israel\",\n brk_a3: \"ISR\",\n brk_name: \"Israel\",\n brk_group: null,\n abbrev: \"Isr.\",\n postal: \"IS\",\n formal_en: \"State of Israel\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Israel\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 2,\n mapcolor9: 5,\n mapcolor13: 9,\n pop_est: 7233701,\n gdp_md_est: 201400,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"IL\",\n iso_a3: \"ISR\",\n iso_n3: \"376\",\n un_a3: \"376\",\n wb_a2: \"IL\",\n wb_a3: \"ISR\",\n woe_id: -99,\n adm0_a3_is: \"ISR\",\n adm0_a3_us: \"ISR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"ISR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [35.71991824722275, 32.709192409794866],\n [35.54566531753454, 32.393992011030576],\n [35.183930291491436, 32.53251068778894],\n [34.97464074070933, 31.86658234305972],\n [35.22589155451242, 31.754341132121766],\n [34.970506626125996, 31.616778469360806],\n [34.92740848159457, 31.353435370401414],\n [35.397560662586045, 31.48908600516758],\n [35.420918409981965, 31.100065822874356],\n [34.92260257339142, 29.501326198844524],\n [34.26543338393568, 31.219360866820153],\n [34.55637169773891, 31.548823960896996],\n [34.48810713068136, 31.60553884533732],\n [34.752587111151165, 32.07292633720117],\n [34.95541710789677, 32.82737641044638],\n [35.098457472480675, 33.080539252244265],\n [35.126052687324545, 33.09090037691878],\n [35.460709262846706, 33.08904002535628],\n [35.55279666519081, 33.26427480725802],\n [35.82110070165024, 33.2774264592763],\n [35.836396925608625, 32.86812327730851],\n [35.700797967274745, 32.71601369885738],\n [35.71991824722275, 32.709192409794866],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Jordan\",\n sov_a3: \"JOR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Jordan\",\n adm0_a3: \"JOR\",\n geou_dif: 0,\n geounit: \"Jordan\",\n gu_a3: \"JOR\",\n su_dif: 0,\n subunit: \"Jordan\",\n su_a3: \"JOR\",\n brk_diff: 0,\n name: \"Jordan\",\n name_long: \"Jordan\",\n brk_a3: \"JOR\",\n brk_name: \"Jordan\",\n brk_group: null,\n abbrev: \"Jord.\",\n postal: \"J\",\n formal_en: \"Hashemite Kingdom of Jordan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Jordan\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 3,\n mapcolor9: 4,\n mapcolor13: 4,\n pop_est: 6342948,\n gdp_md_est: 31610,\n pop_year: -99,\n lastcensus: 2004,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"JO\",\n iso_a3: \"JOR\",\n iso_n3: \"400\",\n un_a3: \"400\",\n wb_a2: \"JO\",\n wb_a3: \"JOR\",\n woe_id: -99,\n adm0_a3_is: \"JOR\",\n adm0_a3_us: \"JOR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"JOR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [35.54566531753454, 32.393992011030576],\n [35.71991824722275, 32.709192409794866],\n [36.834062127435544, 32.312937526980775],\n [38.792340529136084, 33.378686428352225],\n [39.19546837744497, 32.16100881604267],\n [39.00488569515255, 32.01021698661498],\n [37.00216556168101, 31.508412990844743],\n [37.998848911294374, 30.50849986421313],\n [37.66811974462638, 30.3386652694859],\n [37.503581984209035, 30.003776150018403],\n [36.74052778498725, 29.86528331147619],\n [36.50121422704358, 29.5052536076987],\n [36.06894087092206, 29.197494615184457],\n [34.95603722508426, 29.35655467377884],\n [34.92260257339142, 29.501326198844524],\n [35.420918409981965, 31.100065822874356],\n [35.397560662586045, 31.48908600516758],\n [35.5452519060762, 31.78250478772084],\n [35.54566531753454, 32.393992011030576],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Japan\",\n sov_a3: \"JPN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Japan\",\n adm0_a3: \"JPN\",\n geou_dif: 0,\n geounit: \"Japan\",\n gu_a3: \"JPN\",\n su_dif: 0,\n subunit: \"Japan\",\n su_a3: \"JPN\",\n brk_diff: 0,\n name: \"Japan\",\n name_long: \"Japan\",\n brk_a3: \"JPN\",\n brk_name: \"Japan\",\n brk_group: null,\n abbrev: \"Japan\",\n postal: \"J\",\n formal_en: \"Japan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Japan\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 3,\n mapcolor9: 5,\n mapcolor13: 4,\n pop_est: 127078679,\n gdp_md_est: 4329000,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"1. Developed region: G7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"JP\",\n iso_a3: \"JPN\",\n iso_n3: \"392\",\n un_a3: \"392\",\n wb_a2: \"JP\",\n wb_a3: \"JPN\",\n woe_id: -99,\n adm0_a3_is: \"JPN\",\n adm0_a3_us: \"JPN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"JPN.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [134.63842817600388, 34.14923371025642],\n [134.7663790223585, 33.80633474378368],\n [134.20341596897086, 33.20117788342964],\n [133.7929500672765, 33.5219851750976],\n [133.28026818250888, 33.28957042086495],\n [133.01485802625788, 32.70456736910478],\n [132.3631148621927, 32.98938202568137],\n [132.37117638563018, 33.46364248304007],\n [132.9243725933148, 34.06029857028204],\n [133.49296837782222, 33.9446208765967],\n [133.90410607313638, 34.36493113864262],\n [134.63842817600388, 34.14923371025642],\n ],\n ],\n [\n [\n [140.9763875673053, 37.14207428644016],\n [140.59976972876214, 36.343983466124534],\n [140.77407433488264, 35.84287710219024],\n [140.25327925024513, 35.13811391859365],\n [138.97552778539622, 34.66760000257611],\n [137.21759891169123, 34.60628591566186],\n [135.7929830262689, 33.46480520276663],\n [135.12098270074543, 33.84907115328906],\n [135.07943484918272, 34.59654490817482],\n [133.340316196832, 34.37593821872076],\n [132.15677086805132, 33.90493337659652],\n [130.98614464734348, 33.88576142021628],\n [132.00003624891005, 33.149992377244615],\n [131.33279015515737, 31.450354519164843],\n [130.68631798718596, 31.029579169228242],\n [130.20241987520498, 31.418237616495418],\n [130.44767622286216, 32.319474595665724],\n [129.8146916037189, 32.61030955660439],\n [129.40846316947258, 33.29605581311759],\n [130.35393517468466, 33.6041507024417],\n [130.87845096244715, 34.232742824840045],\n [131.88422936414392, 34.74971385348791],\n [132.61767296766251, 35.43339305270942],\n [134.6083008159778, 35.73161774346582],\n [135.67753787652893, 35.527134100886826],\n [136.72383060114245, 37.30498423924038],\n [137.3906116070045, 36.827390651998826],\n [138.85760216690628, 37.82748464614346],\n [139.4264046571429, 38.21596222589764],\n [140.0547900738121, 39.438807481436385],\n [139.88337934789988, 40.563312486323696],\n [140.30578250545372, 41.19500519465956],\n [141.3689734234267, 41.37855988216029],\n [141.91426313697048, 39.99161611587868],\n [141.884600864835, 39.180864569651504],\n [140.9594893739458, 38.17400096287658],\n [140.9763875673053, 37.14207428644016],\n ],\n ],\n [\n [\n [143.9101619813795, 44.17409983985373],\n [144.61342654843963, 43.960882880217525],\n [145.3208252300831, 44.38473297787544],\n [145.54313724180278, 43.262088324550604],\n [144.0596618999999, 42.98835826270056],\n [143.18384972551732, 41.9952147486992],\n [141.61149092017249, 42.67879059505608],\n [141.06728641170665, 41.58459381770799],\n [139.95510623592108, 41.569555975911044],\n [139.81754357315995, 42.5637588567744],\n [140.31208703019323, 43.33327261003265],\n [141.38054894426003, 43.388824774746496],\n [141.67195234595394, 44.77212535255148],\n [141.967644891528, 45.55148346616135],\n [143.14287031470982, 44.510358384776964],\n [143.9101619813795, 44.17409983985373],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Kazakhstan\",\n sov_a3: \"KAZ\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Kazakhstan\",\n adm0_a3: \"KAZ\",\n geou_dif: 0,\n geounit: \"Kazakhstan\",\n gu_a3: \"KAZ\",\n su_dif: 0,\n subunit: \"Kazakhstan\",\n su_a3: \"KAZ\",\n brk_diff: 0,\n name: \"Kazakhstan\",\n name_long: \"Kazakhstan\",\n brk_a3: \"KAZ\",\n brk_name: \"Kazakhstan\",\n brk_group: null,\n abbrev: \"Kaz.\",\n postal: \"KZ\",\n formal_en: \"Republic of Kazakhstan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Kazakhstan\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 1,\n mapcolor9: 6,\n mapcolor13: 1,\n pop_est: 15399437,\n gdp_md_est: 175800,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"KZ\",\n iso_a3: \"KAZ\",\n iso_n3: \"398\",\n un_a3: \"398\",\n wb_a2: \"KZ\",\n wb_a3: \"KAZ\",\n woe_id: -99,\n adm0_a3_is: \"KAZ\",\n adm0_a3_us: \"KAZ\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Central Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"KAZ.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [70.96231489449929, 42.26615428320554],\n [70.3889648782208, 42.081307684897524],\n [69.07002729683524, 41.38424428971234],\n [68.63248294462005, 40.66868073176687],\n [68.25989586779565, 40.6623245305949],\n [67.98585574735182, 41.135990708982206],\n [66.7140470722166, 41.168443508461564],\n [66.51064863471572, 41.987644151368556],\n [66.02339155463562, 41.99464630794404],\n [66.0980123228652, 42.99766002051308],\n [64.90082441595933, 43.728080552742654],\n [63.185786981056594, 43.650074978198006],\n [62.01330040878628, 43.50447663021566],\n [61.0583199400325, 44.40581696225058],\n [60.23997195825847, 44.784036770194746],\n [58.6899890480958, 45.50001373959873],\n [58.50312706892844, 45.586804307632974],\n [55.92891727074118, 44.99585846615918],\n [55.968191359283026, 41.30864166926938],\n [55.45525109235381, 41.25985911718584],\n [54.75534549339267, 42.04397146256662],\n [54.07941775901497, 42.32410940202084],\n [52.94429324729174, 42.11603424739758],\n [52.50245975119628, 41.78331553808647],\n [52.44633914572722, 42.027150783855575],\n [52.692112257707265, 42.44389537207337],\n [52.50142622255032, 42.7922978785852],\n [51.342427199108215, 43.132974758469345],\n [50.89129194520024, 44.03103363705378],\n [50.339129266161365, 44.284015611338475],\n [50.305642938036264, 44.609835516938915],\n [51.278503452363225, 44.51485423438646],\n [51.316899041556034, 45.2459982366679],\n [52.16738976421573, 45.40839142514511],\n [53.0408764992452, 45.25904653582177],\n [53.220865512917726, 46.234645901059935],\n [53.042736850807785, 46.853006089864486],\n [52.04202273947561, 46.80463694923924],\n [51.191945428274266, 47.048704738953916],\n [50.03408328634248, 46.60898997658222],\n [49.10116000000011, 46.399330000000134],\n [48.593241001180495, 46.56103424741547],\n [48.694733514201744, 47.07562816017793],\n [48.05725304544927, 47.74375275327952],\n [47.31523115417024, 47.715847479841955],\n [46.46644575377627, 48.39415233010493],\n [47.043671502476506, 49.152038886097614],\n [46.75159630716274, 49.35600576435377],\n [47.5494804217493, 50.454698391311126],\n [48.57784142435752, 49.87475962991567],\n [48.70238162618102, 50.60512848571284],\n [50.76664839051215, 51.6927623561599],\n [52.32872358583097, 51.718652248738124],\n [54.532878452376224, 51.02623973245932],\n [55.716940545479815, 50.62171662047853],\n [56.777961053296565, 51.04355133727705],\n [58.36329064314674, 51.06365346943858],\n [59.6422823423706, 50.545442206415714],\n [59.93280724471549, 50.842194118851864],\n [61.337424350840934, 50.79907013610426],\n [61.58800337102417, 51.272658799843214],\n [59.96753380721554, 51.9604204372157],\n [60.92726850774027, 52.44754832621504],\n [60.73999311711459, 52.71998647725775],\n [61.6999861998006, 52.97999644633427],\n [60.97806644068316, 53.66499339457914],\n [61.436591424409066, 54.00626455343479],\n [65.17853356309593, 54.35422781027211],\n [65.666875848254, 54.60126699484345],\n [68.16910037625883, 54.97039175070432],\n [69.06816694527288, 55.38525014914353],\n [70.86526655465514, 55.169733588270105],\n [71.18013105660941, 54.133285224008254],\n [72.22415001820218, 54.376655381886735],\n [73.5085160663844, 54.035616766976595],\n [73.42567874542043, 53.489810289109755],\n [74.38484500519007, 53.54686107036008],\n [76.89110029491343, 54.49052440044193],\n [76.52517947785473, 54.177003485727134],\n [77.80091556184425, 53.404414984747575],\n [80.03555952344169, 50.86475088154725],\n [80.56844689323549, 51.38833649352847],\n [81.94598554883993, 50.81219594990637],\n [83.38300377801238, 51.069182847693924],\n [83.93511478061885, 50.88924551045358],\n [84.41637739455308, 50.311399644565824],\n [85.11555952346203, 50.11730296487763],\n [85.54126997268247, 49.69285858824816],\n [86.82935672398963, 49.82667470966817],\n [87.35997033076268, 49.21498078062916],\n [86.59877648310339, 48.54918162698061],\n [85.7682328633083, 48.45575063739698],\n [85.72048383987072, 47.45296946877312],\n [85.16429039911338, 47.00095571551611],\n [83.18048383986047, 47.330031236350855],\n [82.45892581576913, 45.539649563166506],\n [81.94707075391813, 45.31702749285324],\n [79.96610639844141, 44.91751699480466],\n [80.86620649610137, 43.18036204688104],\n [80.1801501809943, 42.92006785742694],\n [80.25999026888536, 42.349999294599115],\n [79.64364546094015, 42.496682847659656],\n [79.1421773619798, 42.856092434249604],\n [77.6583919615832, 42.960685533208334],\n [76.00035363149857, 42.98802236589063],\n [75.6369649596221, 42.87789988867678],\n [74.21286583852259, 43.29833934180351],\n [73.64530358266092, 43.09127187760987],\n [73.48975752146237, 42.50089447689129],\n [71.84463829945065, 42.845395412765185],\n [71.18628055205227, 42.70429291439223],\n [70.96231489449929, 42.26615428320554],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Kyrgyzstan\",\n sov_a3: \"KGZ\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Kyrgyzstan\",\n adm0_a3: \"KGZ\",\n geou_dif: 0,\n geounit: \"Kyrgyzstan\",\n gu_a3: \"KGZ\",\n su_dif: 0,\n subunit: \"Kyrgyzstan\",\n su_a3: \"KGZ\",\n brk_diff: 0,\n name: \"Kyrgyzstan\",\n name_long: \"Kyrgyzstan\",\n brk_a3: \"KGZ\",\n brk_name: \"Kyrgyzstan\",\n brk_group: null,\n abbrev: \"Kgz.\",\n postal: \"KG\",\n formal_en: \"Kyrgyz Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Kyrgyz Republic\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 7,\n mapcolor9: 7,\n mapcolor13: 6,\n pop_est: 5431747,\n gdp_md_est: 11610,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"KG\",\n iso_a3: \"KGZ\",\n iso_n3: \"417\",\n un_a3: \"417\",\n wb_a2: \"KG\",\n wb_a3: \"KGZ\",\n woe_id: -99,\n adm0_a3_is: \"KGZ\",\n adm0_a3_us: \"KGZ\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Central Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"KGZ.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [70.96231489449914, 42.26615428320549],\n [71.18628055205212, 42.70429291439214],\n [71.8446382994506, 42.84539541276509],\n [73.48975752146237, 42.50089447689132],\n [73.64530358266092, 43.09127187760982],\n [74.21286583852256, 43.29833934180337],\n [75.636964959622, 42.87789988867668],\n [76.00035363149846, 42.98802236589067],\n [77.6583919615832, 42.96068553320826],\n [79.14217736197978, 42.85609243424952],\n [79.64364546094012, 42.49668284765953],\n [80.2599902688853, 42.34999929459906],\n [80.11943037305139, 42.12394074153825],\n [78.54366092317531, 41.58224254003869],\n [78.18719689322597, 41.18531586360481],\n [76.90448449087708, 41.06648590754964],\n [76.52636803579745, 40.42794607193512],\n [75.4678279967307, 40.56207225194867],\n [74.77686242055606, 40.36642527929163],\n [73.8222436868283, 39.893973497063186],\n [73.96001305531843, 39.660008449861735],\n [73.6753792662548, 39.4312368841056],\n [71.784693637992, 39.27946320246437],\n [70.54916181832562, 39.6041979029865],\n [69.46488691597753, 39.5266832545487],\n [69.55960981636852, 40.10321137141298],\n [70.64801883329997, 39.93575389257117],\n [71.01419803252017, 40.24436554621823],\n [71.77487511585656, 40.14584442805378],\n [73.05541710804917, 40.866033026689465],\n [71.87011478057047, 41.392900092121266],\n [71.1578585142916, 41.14358714452912],\n [70.42002241402821, 41.51999827734314],\n [71.25924767444822, 42.16771067968946],\n [70.96231489449914, 42.26615428320549],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Cambodia\",\n sov_a3: \"KHM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Cambodia\",\n adm0_a3: \"KHM\",\n geou_dif: 0,\n geounit: \"Cambodia\",\n gu_a3: \"KHM\",\n su_dif: 0,\n subunit: \"Cambodia\",\n su_a3: \"KHM\",\n brk_diff: 0,\n name: \"Cambodia\",\n name_long: \"Cambodia\",\n brk_a3: \"KHM\",\n brk_name: \"Cambodia\",\n brk_group: null,\n abbrev: \"Camb.\",\n postal: \"KH\",\n formal_en: \"Kingdom of Cambodia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Cambodia\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 3,\n mapcolor9: 6,\n mapcolor13: 5,\n pop_est: 14494293,\n gdp_md_est: 27940,\n pop_year: -99,\n lastcensus: 2008,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"KH\",\n iso_a3: \"KHM\",\n iso_n3: \"116\",\n un_a3: \"116\",\n wb_a2: \"KH\",\n wb_a3: \"KHM\",\n woe_id: -99,\n adm0_a3_is: \"KHM\",\n adm0_a3_us: \"KHM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"KHM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [103.4972799011397, 10.632555446815928],\n [103.09068973186724, 11.153660590047165],\n [102.5849324890267, 12.186594956913282],\n [102.348099399833, 13.394247341358223],\n [102.98842207236163, 14.225721136934467],\n [104.28141808473661, 14.416743068901367],\n [105.21877689007887, 14.273211778210694],\n [106.04394616091552, 13.881091009979954],\n [106.49637332563087, 14.570583807834282],\n [107.38272749230109, 14.202440904186972],\n [107.61454796756243, 13.535530707244206],\n [107.49140302941089, 12.337205918827946],\n [105.81052371625313, 11.567614650921227],\n [106.24967003786946, 10.961811835163587],\n [105.19991499229235, 10.889309800658097],\n [104.33433475140347, 10.48654368737523],\n [103.4972799011397, 10.632555446815928],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Kuwait\",\n sov_a3: \"KWT\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Kuwait\",\n adm0_a3: \"KWT\",\n geou_dif: 0,\n geounit: \"Kuwait\",\n gu_a3: \"KWT\",\n su_dif: 0,\n subunit: \"Kuwait\",\n su_a3: \"KWT\",\n brk_diff: 0,\n name: \"Kuwait\",\n name_long: \"Kuwait\",\n brk_a3: \"KWT\",\n brk_name: \"Kuwait\",\n brk_group: null,\n abbrev: \"Kwt.\",\n postal: \"KW\",\n formal_en: \"State of Kuwait\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Kuwait\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 2,\n mapcolor9: 2,\n mapcolor13: 2,\n pop_est: 2691158,\n gdp_md_est: 149100,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"KW\",\n iso_a3: \"KWT\",\n iso_n3: \"414\",\n un_a3: \"414\",\n wb_a2: \"KW\",\n wb_a3: \"KWT\",\n woe_id: -99,\n adm0_a3_is: \"KWT\",\n adm0_a3_us: \"KWT\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"KWT.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [47.974519077349896, 29.9758192001485],\n [48.18318851094448, 29.534476630159766],\n [48.09394331237642, 29.306299343375002],\n [48.416094191283946, 28.55200429942667],\n [47.708850538937384, 28.526062730416143],\n [47.45982181172283, 29.002519436147224],\n [46.568713413281756, 29.09902517345229],\n [47.30262210469096, 30.05906993257072],\n [47.974519077349896, 29.9758192001485],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"South Korea\",\n sov_a3: \"KOR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"South Korea\",\n adm0_a3: \"KOR\",\n geou_dif: 0,\n geounit: \"South Korea\",\n gu_a3: \"KOR\",\n su_dif: 0,\n subunit: \"South Korea\",\n su_a3: \"KOR\",\n brk_diff: 0,\n name: \"Korea\",\n name_long: \"Republic of Korea\",\n brk_a3: \"KOR\",\n brk_name: \"Republic of Korea\",\n brk_group: null,\n abbrev: \"S.K.\",\n postal: \"KR\",\n formal_en: \"Republic of Korea\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Korea, Rep.\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 1,\n mapcolor9: 1,\n mapcolor13: 5,\n pop_est: 48508972,\n gdp_md_est: 1335000,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"4. Emerging region: MIKT\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"KR\",\n iso_a3: \"KOR\",\n iso_n3: \"410\",\n un_a3: \"410\",\n wb_a2: \"KR\",\n wb_a3: \"KOR\",\n woe_id: -99,\n adm0_a3_is: \"KOR\",\n adm0_a3_us: \"KOR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 5,\n long_len: 17,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"KOR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [128.34971642467661, 38.61224294692785],\n [129.21291954968007, 37.43239248305595],\n [129.46044966035817, 36.78418915460282],\n [129.4683044780665, 35.63214061130395],\n [129.0913765809296, 35.082484239231434],\n [128.1858504578791, 34.89037710218639],\n [127.38651940318839, 34.47567373304412],\n [126.48574751190874, 34.39004588473648],\n [126.37391971242913, 34.934560451795946],\n [126.5592313986278, 35.6845405136479],\n [126.11739790253229, 36.72548472751926],\n [126.86014326386339, 36.893924058574626],\n [126.17475874237624, 37.74968577732804],\n [126.23733890188176, 37.84037791600028],\n [126.68371992401892, 37.80477285415118],\n [127.07330854706737, 38.2561148137884],\n [127.780035435091, 38.30453563084589],\n [128.20574588431145, 38.37039724380189],\n [128.34971642467661, 38.61224294692785],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Laos\",\n sov_a3: \"LAO\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Laos\",\n adm0_a3: \"LAO\",\n geou_dif: 0,\n geounit: \"Laos\",\n gu_a3: \"LAO\",\n su_dif: 0,\n subunit: \"Laos\",\n su_a3: \"LAO\",\n brk_diff: 0,\n name: \"Lao PDR\",\n name_long: \"Lao PDR\",\n brk_a3: \"LAO\",\n brk_name: \"Laos\",\n brk_group: null,\n abbrev: \"Laos\",\n postal: \"LA\",\n formal_en: \"Lao People's Democratic Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Lao PDR\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 1,\n mapcolor9: 1,\n mapcolor13: 9,\n pop_est: 6834942,\n gdp_md_est: 13980,\n pop_year: -99,\n lastcensus: 2005,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"LA\",\n iso_a3: \"LAO\",\n iso_n3: \"418\",\n un_a3: \"418\",\n wb_a2: \"LA\",\n wb_a3: \"LAO\",\n woe_id: -99,\n adm0_a3_is: \"LAO\",\n adm0_a3_us: \"LAO\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"LAO.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [105.21877689007887, 14.273211778210694],\n [105.54433841351769, 14.723933620660416],\n [105.58903852745016, 15.570316066952858],\n [104.7793205098688, 16.44186493577145],\n [104.7169470560925, 17.42885895433008],\n [103.95647667848529, 18.24095408779688],\n [103.20019209189373, 18.309632066312773],\n [102.9987056823877, 17.9616946476916],\n [102.41300499879162, 17.932781683824288],\n [102.11359175009248, 18.109101670804165],\n [101.05954756063517, 17.51249725999449],\n [101.03593143107777, 18.408928330961615],\n [101.2820146016517, 19.462584947176765],\n [100.60629357300316, 19.508344427971224],\n [100.54888105672688, 20.109237982661128],\n [100.11598758341783, 20.417849636308187],\n [100.32910119018952, 20.786121731036232],\n [101.18000532430754, 21.436572984294024],\n [101.27002566935997, 21.201651923095184],\n [101.80311974488292, 21.17436676684507],\n [101.65201785686152, 22.318198757409547],\n [102.17043582561358, 22.464753119389304],\n [102.75489627483466, 21.675137233969465],\n [103.20386111858645, 20.766562201413745],\n [104.43500044150805, 20.75873322192153],\n [104.8225736836971, 19.886641750563882],\n [104.18338789267894, 19.62466807706022],\n [103.8965320170267, 19.265180975821806],\n [105.09459842328152, 18.66697459561108],\n [105.92576216026403, 17.48531545660896],\n [106.55600792849569, 16.604283962464805],\n [107.3127059265456, 15.90853831630318],\n [107.5645251811039, 15.202173163305558],\n [107.38272749230109, 14.202440904186972],\n [106.49637332563087, 14.570583807834282],\n [106.04394616091552, 13.881091009979954],\n [105.21877689007887, 14.273211778210694],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Lebanon\",\n sov_a3: \"LBN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Lebanon\",\n adm0_a3: \"LBN\",\n geou_dif: 0,\n geounit: \"Lebanon\",\n gu_a3: \"LBN\",\n su_dif: 0,\n subunit: \"Lebanon\",\n su_a3: \"LBN\",\n brk_diff: 0,\n name: \"Lebanon\",\n name_long: \"Lebanon\",\n brk_a3: \"LBN\",\n brk_name: \"Lebanon\",\n brk_group: null,\n abbrev: \"Leb.\",\n postal: \"LB\",\n formal_en: \"Lebanese Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Lebanon\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 4,\n mapcolor9: 4,\n mapcolor13: 12,\n pop_est: 4017095,\n gdp_md_est: 44060,\n pop_year: -99,\n lastcensus: 1970,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"LB\",\n iso_a3: \"LBN\",\n iso_n3: \"422\",\n un_a3: \"422\",\n wb_a2: \"LB\",\n wb_a3: \"LBN\",\n woe_id: -99,\n adm0_a3_is: \"LBN\",\n adm0_a3_us: \"LBN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: 4,\n homepart: 1,\n filename: \"LBN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [35.82110070165024, 33.2774264592763],\n [35.55279666519081, 33.26427480725802],\n [35.460709262846706, 33.08904002535628],\n [35.126052687324545, 33.09090037691878],\n [35.48220665868013, 33.90545014091944],\n [35.9795923194894, 34.61005829521913],\n [35.99840254084364, 34.644914048800004],\n [36.4481942075121, 34.59393524834407],\n [36.61175011571589, 34.201788641897174],\n [36.066460402172055, 33.82491242119255],\n [35.82110070165024, 33.2774264592763],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Sri Lanka\",\n sov_a3: \"LKA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Sri Lanka\",\n adm0_a3: \"LKA\",\n geou_dif: 0,\n geounit: \"Sri Lanka\",\n gu_a3: \"LKA\",\n su_dif: 0,\n subunit: \"Sri Lanka\",\n su_a3: \"LKA\",\n brk_diff: 0,\n name: \"Sri Lanka\",\n name_long: \"Sri Lanka\",\n brk_a3: \"LKA\",\n brk_name: \"Sri Lanka\",\n brk_group: null,\n abbrev: \"Sri L.\",\n postal: \"LK\",\n formal_en: \"Democratic Socialist Republic of Sri Lanka\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Sri Lanka\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 5,\n mapcolor9: 4,\n mapcolor13: 9,\n pop_est: 21324791,\n gdp_md_est: 91870,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"LK\",\n iso_a3: \"LKA\",\n iso_n3: \"144\",\n un_a3: \"144\",\n wb_a2: \"LK\",\n wb_a3: \"LKA\",\n woe_id: -99,\n adm0_a3_is: \"LKA\",\n adm0_a3_us: \"LKA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Southern Asia\",\n region_wb: \"South Asia\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"LKA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [81.7879590188914, 7.523055324733164],\n [81.63732221876059, 6.481775214051921],\n [81.21801964714433, 6.197141424988288],\n [80.34835696810441, 5.968369859232155],\n [79.87246870312853, 6.76346344647493],\n [79.69516686393513, 8.200843410673386],\n [80.14780073437964, 9.824077663609557],\n [80.83881798698656, 9.268426825391188],\n [81.30431928907177, 8.56420624433369],\n [81.7879590188914, 7.523055324733164],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Myanmar\",\n sov_a3: \"MMR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Myanmar\",\n adm0_a3: \"MMR\",\n geou_dif: 0,\n geounit: \"Myanmar\",\n gu_a3: \"MMR\",\n su_dif: 0,\n subunit: \"Myanmar\",\n su_a3: \"MMR\",\n brk_diff: 0,\n name: \"Myanmar\",\n name_long: \"Myanmar\",\n brk_a3: \"MMR\",\n brk_name: \"Myanmar\",\n brk_group: null,\n abbrev: \"Myan.\",\n postal: \"MM\",\n formal_en: \"Republic of the Union of Myanmar\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Myanmar\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 2,\n mapcolor9: 5,\n mapcolor13: 13,\n pop_est: 48137741,\n gdp_md_est: 55130,\n pop_year: -99,\n lastcensus: 1983,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MM\",\n iso_a3: \"MMR\",\n iso_n3: \"104\",\n un_a3: \"104\",\n wb_a2: \"MM\",\n wb_a3: \"MMR\",\n woe_id: -99,\n adm0_a3_is: \"MMR\",\n adm0_a3_us: \"MMR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"MMR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [99.54330936075931, 20.186597601802063],\n [98.95967573445488, 19.752980658440947],\n [98.25372399291561, 19.708203029860044],\n [97.7977828308044, 18.627080389881755],\n [97.37589643757354, 18.445437730375815],\n [97.85912275593486, 17.567946071843664],\n [98.49376102091135, 16.83783559820793],\n [98.90334842325676, 16.177824204976115],\n [98.53737592976572, 15.308497422746084],\n [98.1920740091914, 15.12370250087035],\n [98.43081912637987, 14.622027696180835],\n [99.09775516153876, 13.827502549693278],\n [99.21201175333609, 13.269293728076464],\n [99.19635379435167, 12.80474843998867],\n [99.58728600463972, 11.892762762901697],\n [99.03812055867398, 10.960545762572437],\n [98.55355065307305, 9.932959906448545],\n [98.45717410684871, 10.67526601810515],\n [98.76454552612077, 11.441291612183749],\n [98.42833865762985, 12.032986761925683],\n [98.50957400919268, 13.122377631070677],\n [98.1036039571077, 13.640459703012851],\n [97.77773237507517, 14.837285874892642],\n [97.59707156778276, 16.10056793869977],\n [97.1645398294998, 16.928734442609336],\n [96.505768670643, 16.42724050543285],\n [95.3693522481124, 15.7143899601826],\n [94.80840457558412, 15.80345429123764],\n [94.18880415240454, 16.037936102762018],\n [94.53348595579135, 17.277240301985728],\n [94.32481652219674, 18.2135139022499],\n [93.54098839719364, 19.36649262133002],\n [93.66325483599621, 19.726961574781996],\n [93.07827762245219, 19.855144965081976],\n [92.36855350135562, 20.670883287025347],\n [92.30323449093868, 21.47548533780982],\n [92.65225711463799, 21.324047552978485],\n [92.67272098182556, 22.041238918541254],\n [93.16612755734836, 22.278459580977103],\n [93.06029422401463, 22.70311066333557],\n [93.28632693885928, 23.043658352139005],\n [93.3251876159428, 24.078556423432204],\n [94.10674197792505, 23.85074087167348],\n [94.55265791217164, 24.675238348890332],\n [94.60324913938538, 25.162495428970402],\n [95.1551534362626, 26.001307277932085],\n [95.12476769407496, 26.5735720891323],\n [96.41936567585097, 27.264589341739224],\n [97.1339990580153, 27.083773505149964],\n [97.0519885599681, 27.69905894623315],\n [97.40256147663612, 27.88253611908544],\n [97.32711388549004, 28.26158274994634],\n [97.91198774616944, 28.335945136014345],\n [98.2462309102333, 27.74722138112918],\n [98.68269005737046, 27.50881216075062],\n [98.71209394734451, 26.743535874940264],\n [98.67183800658916, 25.918702500913525],\n [97.72460900267914, 25.083637193293],\n [97.60471967976198, 23.897404690033042],\n [98.66026248575577, 24.063286037689966],\n [98.89874922078276, 23.14272207284253],\n [99.5319922220874, 22.94903880461258],\n [99.24089887898725, 22.11831431730458],\n [99.98348921102149, 21.7429367131364],\n [100.41653771362738, 21.558839423096614],\n [101.15003299357825, 21.84998444262902],\n [101.18000532430754, 21.436572984294024],\n [100.32910119018952, 20.786121731036232],\n [100.11598758341783, 20.417849636308187],\n [99.54330936075931, 20.186597601802063],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Mongolia\",\n sov_a3: \"MNG\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Mongolia\",\n adm0_a3: \"MNG\",\n geou_dif: 0,\n geounit: \"Mongolia\",\n gu_a3: \"MNG\",\n su_dif: 0,\n subunit: \"Mongolia\",\n su_a3: \"MNG\",\n brk_diff: 0,\n name: \"Mongolia\",\n name_long: \"Mongolia\",\n brk_a3: \"MNG\",\n brk_name: \"Mongolia\",\n brk_group: null,\n abbrev: \"Mong.\",\n postal: \"MN\",\n formal_en: \"Mongolia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Mongolia\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 5,\n mapcolor9: 5,\n mapcolor13: 6,\n pop_est: 3041142,\n gdp_md_est: 9476,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MN\",\n iso_a3: \"MNG\",\n iso_n3: \"496\",\n un_a3: \"496\",\n wb_a2: \"MN\",\n wb_a3: \"MNG\",\n woe_id: -99,\n adm0_a3_is: \"MNG\",\n adm0_a3_us: \"MNG\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"MNG.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [87.7512642760767, 49.29719798440548],\n [88.80556684769552, 49.47052073831242],\n [90.71366743364067, 50.33181183532109],\n [92.23471154171968, 50.80217072204172],\n [93.10421919146269, 50.49529022887643],\n [94.14756635943561, 50.48053660745709],\n [94.81594933469873, 50.01343333597085],\n [95.81402794798399, 49.977466539095715],\n [97.25972781778141, 49.72606069599574],\n [98.23176150919156, 50.422400621128745],\n [97.8257397806743, 51.01099518493318],\n [98.86149051310034, 52.047366034546684],\n [99.98173221232354, 51.63400625264399],\n [100.88948042196262, 51.51685578063832],\n [102.06522260946733, 51.259920559283124],\n [102.25590864462431, 50.51056061461868],\n [103.67654544476022, 50.089966132195116],\n [104.6215523620817, 50.275329494826074],\n [105.88659142458675, 50.406019192092224],\n [106.88880415245534, 50.27429596618023],\n [107.86817589725094, 49.793705145865815],\n [108.47516727095127, 49.28254771585074],\n [109.40244917199666, 49.29296051695755],\n [110.66201053267876, 49.13012807880587],\n [111.58123091028662, 49.37796824807769],\n [112.89773969935439, 49.54356537535699],\n [114.36245649623527, 50.24830272073741],\n [114.96210981655018, 50.140247300815126],\n [115.48569542853141, 49.805177313834605],\n [116.67880089728618, 49.88853139912139],\n [116.19180219936757, 49.134598090199106],\n [115.48528201707305, 48.13538259540344],\n [115.74283735561578, 47.72654450132629],\n [116.30895267137323, 47.85341014260284],\n [117.29550744025741, 47.69770905210743],\n [118.06414269416672, 48.06673045510368],\n [118.86657433479495, 47.74706004494617],\n [119.7728239278975, 47.048058783550125],\n [119.66326989143874, 46.69267995867892],\n [118.87432579963873, 46.80541209572365],\n [117.42170128791419, 46.67273285581426],\n [116.71786828009886, 46.38820241961521],\n [115.98509647020008, 45.727235012386004],\n [114.46033165899607, 45.339816799493825],\n [113.46390669154417, 44.80889313412711],\n [112.43606245325881, 45.01164561622429],\n [111.87330610560029, 45.10207937273506],\n [111.34837690637946, 44.45744171811009],\n [111.66773725794323, 44.07317576758771],\n [111.82958784388137, 43.743118394539515],\n [111.12968224492022, 43.40683401140015],\n [110.41210330611528, 42.87123362891103],\n [109.24359581913146, 42.5194463160841],\n [107.74477257693795, 42.48151581478187],\n [106.12931562706169, 42.13432770442891],\n [104.96499393109347, 41.59740957291635],\n [104.52228193564899, 41.908346666016556],\n [103.31227827353482, 41.9074681666676],\n [101.83304039917994, 42.51487295182628],\n [100.84586551310827, 42.66380442969145],\n [99.51581749878004, 42.52469147396172],\n [97.45175744017801, 42.74888967546002],\n [96.34939578652781, 42.725635280928685],\n [95.76245486855669, 43.319449164394605],\n [95.30687544147153, 44.24133087826547],\n [94.68892866412533, 44.352331854828414],\n [93.4807336771413, 44.975472113619965],\n [92.13389082231822, 45.11507599545646],\n [90.9455395853343, 45.28607330991028],\n [90.58576826371828, 45.71971609148753],\n [90.97080936072501, 46.88814606382293],\n [90.28082563676392, 47.69354909930793],\n [88.85429772334676, 48.06908173277296],\n [88.01383222855173, 48.599462795600616],\n [87.7512642760767, 49.29719798440548],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Malaysia\",\n sov_a3: \"MYS\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Malaysia\",\n adm0_a3: \"MYS\",\n geou_dif: 0,\n geounit: \"Malaysia\",\n gu_a3: \"MYS\",\n su_dif: 0,\n subunit: \"Malaysia\",\n su_a3: \"MYS\",\n brk_diff: 0,\n name: \"Malaysia\",\n name_long: \"Malaysia\",\n brk_a3: \"MYS\",\n brk_name: \"Malaysia\",\n brk_group: null,\n abbrev: \"Malay.\",\n postal: \"MY\",\n formal_en: \"Malaysia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Malaysia\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 4,\n mapcolor9: 3,\n mapcolor13: 6,\n pop_est: 25715819,\n gdp_md_est: 384300,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MY\",\n iso_a3: \"MYS\",\n iso_n3: \"458\",\n un_a3: \"458\",\n wb_a2: \"MY\",\n wb_a3: \"MYS\",\n woe_id: -99,\n adm0_a3_is: \"MYS\",\n adm0_a3_us: \"MYS\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"MYS.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [101.07551557821333, 6.204867051615892],\n [101.15421878459384, 5.691384182147715],\n [101.81428185425804, 5.810808417174228],\n [102.14118696493645, 6.221636053894656],\n [102.37114708863524, 6.12820506431096],\n [102.9617053568667, 5.524495144061078],\n [103.38121463421217, 4.855001125503748],\n [103.4385754740562, 4.181605536308382],\n [103.33212202353488, 3.726697902842971],\n [103.42942874554055, 3.38286876058902],\n [103.50244754436889, 2.791018581550205],\n [103.85467410687036, 2.515454006353763],\n [104.24793175661151, 1.631141058759056],\n [104.22881147666354, 1.293048000489534],\n [103.51970747275443, 1.226333726400682],\n [102.57361535035479, 1.967115383304744],\n [101.39063846232918, 2.760813706875624],\n [101.27353966675585, 3.270291652841181],\n [100.6954354187067, 3.93913971599487],\n [100.55740766805509, 4.76728038168828],\n [100.19670617065773, 5.31249258058368],\n [100.30626020711652, 6.040561835143876],\n [100.08575687052709, 6.46448944745029],\n [100.25959638875692, 6.642824815289572],\n [101.07551557821333, 6.204867051615892],\n ],\n ],\n [\n [\n [118.61832075406485, 4.478202419447541],\n [117.88203494677019, 4.137551377779488],\n [117.01521447150637, 4.306094061699469],\n [115.86551720587677, 4.306559149590157],\n [115.51907840379201, 3.169238389494396],\n [115.13403730678523, 2.821481838386219],\n [114.6213554220175, 1.430688177898887],\n [113.80584964401956, 1.217548732911041],\n [112.8598091980522, 1.497790025229946],\n [112.38025190638368, 1.410120957846758],\n [111.79754845586044, 0.904441229654651],\n [111.15913781132659, 0.976478176269509],\n [110.51406090702713, 0.773131415200993],\n [109.83022667850886, 1.338135687664192],\n [109.66326012577375, 2.006466986494985],\n [110.39613528853707, 1.663774725751395],\n [111.1688529805975, 1.850636704918784],\n [111.3700810079421, 2.697303371588873],\n [111.79692833867287, 2.885896511238073],\n [112.99561486211527, 3.102394924324869],\n [113.71293541875873, 3.893509426281128],\n [114.20401655482843, 4.52587392823682],\n [114.65959598191355, 4.00763682699781],\n [114.8695573263154, 4.348313706881952],\n [115.34746097215069, 4.316636053887009],\n [115.40570031134362, 4.955227565933825],\n [115.45071048386981, 5.447729803891561],\n [116.22074100145099, 6.143191229675621],\n [116.72510298061978, 6.924771429873998],\n [117.12962609260049, 6.928052883324567],\n [117.64339318244633, 6.422166449403306],\n [117.68907514859237, 5.987490139180181],\n [118.3476912781522, 5.708695786965464],\n [119.18190392463994, 5.407835598162251],\n [119.11069380094172, 5.016128241389865],\n [118.43972700406411, 4.96651886638962],\n [118.61832075406485, 4.478202419447541],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Nepal\",\n sov_a3: \"NPL\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Nepal\",\n adm0_a3: \"NPL\",\n geou_dif: 0,\n geounit: \"Nepal\",\n gu_a3: \"NPL\",\n su_dif: 0,\n subunit: \"Nepal\",\n su_a3: \"NPL\",\n brk_diff: 0,\n name: \"Nepal\",\n name_long: \"Nepal\",\n brk_a3: \"NPL\",\n brk_name: \"Nepal\",\n brk_group: null,\n abbrev: \"Nepal\",\n postal: \"NP\",\n formal_en: \"Nepal\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Nepal\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 2,\n mapcolor9: 3,\n mapcolor13: 12,\n pop_est: 28563377,\n gdp_md_est: 31080,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"NP\",\n iso_a3: \"NPL\",\n iso_n3: \"524\",\n un_a3: \"524\",\n wb_a2: \"NP\",\n wb_a3: \"NPL\",\n woe_id: -99,\n adm0_a3_is: \"NPL\",\n adm0_a3_us: \"NPL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Southern Asia\",\n region_wb: \"South Asia\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"NPL.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [88.12044070836987, 27.876541652939594],\n [88.04313276566123, 27.445818589786825],\n [88.17480431514092, 26.81040517832595],\n [88.06023766474982, 26.41461538340249],\n [87.22747195836628, 26.397898057556077],\n [86.02439293817918, 26.63098460540857],\n [85.25177859898338, 26.72619843190634],\n [84.6750179381738, 27.234901231387536],\n [83.30424889519955, 27.36450572357556],\n [81.99998742058497, 27.925479234319994],\n [81.05720258985203, 28.416095282499043],\n [80.08842451367627, 28.79447011974014],\n [80.4767212259174, 29.72986522065534],\n [81.11125613802932, 30.183480943313402],\n [81.52580447787474, 30.42271698660863],\n [82.32751264845088, 30.115268052688133],\n [83.33711510613719, 29.463731594352193],\n [83.89899295444673, 29.320226141877658],\n [84.23457970575015, 28.839893703724698],\n [85.01163821812304, 28.642773952747344],\n [85.82331994013151, 28.203575954698703],\n [86.9545170430006, 27.974261786403517],\n [88.12044070836987, 27.876541652939594],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Oman\",\n sov_a3: \"OMN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Oman\",\n adm0_a3: \"OMN\",\n geou_dif: 0,\n geounit: \"Oman\",\n gu_a3: \"OMN\",\n su_dif: 0,\n subunit: \"Oman\",\n su_a3: \"OMN\",\n brk_diff: 0,\n name: \"Oman\",\n name_long: \"Oman\",\n brk_a3: \"OMN\",\n brk_name: \"Oman\",\n brk_group: null,\n abbrev: \"Oman\",\n postal: \"OM\",\n formal_en: \"Sultanate of Oman\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Oman\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 1,\n mapcolor13: 6,\n pop_est: 3418085,\n gdp_md_est: 66980,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"OM\",\n iso_a3: \"OMN\",\n iso_n3: \"512\",\n un_a3: \"512\",\n wb_a2: \"OM\",\n wb_a3: \"OMN\",\n woe_id: -99,\n adm0_a3_is: \"OMN\",\n adm0_a3_us: \"OMN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 4,\n long_len: 4,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"OMN.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [58.86114139184659, 21.114034532144302],\n [58.48798587426696, 20.42898590746711],\n [58.034318475176605, 20.48143748624335],\n [57.82637251163411, 20.24300242764863],\n [57.665762160070955, 19.736004950433113],\n [57.788700392493375, 19.06757029873765],\n [57.69439090356068, 18.944709580963803],\n [57.234263950433814, 18.947991034414258],\n [56.609650913321985, 18.57426707607948],\n [56.512189162019496, 18.087113348863937],\n [56.28352094912801, 17.87606679938395],\n [55.6614917336307, 17.88412832282154],\n [55.2699394061552, 17.632309068263197],\n [55.274900343655105, 17.228354397037663],\n [54.79100223167413, 16.950696926333364],\n [54.239252964093765, 17.044980577049984],\n [53.570508253804604, 16.707662665264678],\n [53.10857262554751, 16.65105113368898],\n [52.78218427919207, 17.349742336491232],\n [52.00000980002224, 19.000003363516072],\n [54.99998172386242, 19.99999400479612],\n [55.66665937685988, 22.00000112557231],\n [55.2083410988632, 22.70832998299701],\n [55.234489373602884, 23.11099274341535],\n [55.5258410988645, 23.524869289640918],\n [55.52863162620829, 23.933604030853502],\n [55.98121382022052, 24.130542914317854],\n [55.80411868675625, 24.269604193615294],\n [55.886232537668064, 24.920830593357493],\n [56.396847365144, 24.924732163995515],\n [56.84514041527606, 24.241673081961494],\n [57.40345258975744, 23.87859446867884],\n [58.13694786970834, 23.74793060962884],\n [58.72921146020544, 23.565667832935418],\n [59.18050174341036, 22.99239533130546],\n [59.45009769067703, 22.6602709009656],\n [59.80806033716286, 22.533611965418203],\n [59.8061483091681, 22.31052480721419],\n [59.44219119653641, 21.714540513592084],\n [59.282407667889885, 21.433885809814882],\n [58.86114139184659, 21.114034532144302],\n ],\n ],\n [\n [\n [56.39142133975341, 25.89599070892126],\n [56.26104170108093, 25.71460643157675],\n [56.07082075381456, 26.05546417897395],\n [56.36201744977936, 26.395934353128947],\n [56.48567915225382, 26.309117946878672],\n [56.39142133975341, 25.89599070892126],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Pakistan\",\n sov_a3: \"PAK\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Pakistan\",\n adm0_a3: \"PAK\",\n geou_dif: 0,\n geounit: \"Pakistan\",\n gu_a3: \"PAK\",\n su_dif: 0,\n subunit: \"Pakistan\",\n su_a3: \"PAK\",\n brk_diff: 0,\n name: \"Pakistan\",\n name_long: \"Pakistan\",\n brk_a3: \"PAK\",\n brk_name: \"Pakistan\",\n brk_group: null,\n abbrev: \"Pak.\",\n postal: \"PK\",\n formal_en: \"Islamic Republic of Pakistan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Pakistan\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 2,\n mapcolor9: 3,\n mapcolor13: 11,\n pop_est: 176242949,\n gdp_md_est: 427300,\n pop_year: -99,\n lastcensus: 1998,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PK\",\n iso_a3: \"PAK\",\n iso_n3: \"586\",\n un_a3: \"586\",\n wb_a2: \"PK\",\n wb_a3: \"PAK\",\n woe_id: -99,\n adm0_a3_is: \"PAK\",\n adm0_a3_us: \"PAK\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Southern Asia\",\n region_wb: \"South Asia\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"PAK.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [75.15802778514092, 37.13303091078912],\n [75.89689741405013, 36.666806138651836],\n [76.19284834178569, 35.89840342868782],\n [77.83745079947457, 35.494009507787766],\n [76.87172163280403, 34.65354401299274],\n [75.75706098826834, 34.50492259372132],\n [74.24020267120497, 34.74888703057125],\n [73.74994835805195, 34.31769887952785],\n [74.10429365427734, 33.44147329358685],\n [74.45155927927871, 32.7648996038055],\n [75.25864179881322, 32.2711054550405],\n [74.40592898956501, 31.69263947196528],\n [74.42138024282026, 30.979814764931177],\n [73.45063846221743, 29.97641347911987],\n [72.8237516620847, 28.961591701772054],\n [71.77766564320032, 27.913180243434525],\n [70.61649620960193, 27.989196275335868],\n [69.51439293811312, 26.940965684511372],\n [70.16892662952202, 26.491871649678842],\n [70.28287316272558, 25.72222870533983],\n [70.84469933460284, 25.21510203704352],\n [71.04324018746823, 24.3565239527302],\n [68.84259931831878, 24.35913361256094],\n [68.1766451353734, 23.69196503345671],\n [67.44366661974547, 23.94484365487699],\n [67.14544192898907, 24.663611151624647],\n [66.37282758979326, 25.425140896093847],\n [64.53040774929113, 25.23703868255143],\n [62.9057007180346, 25.21840932871021],\n [61.49736290878419, 25.0782370061185],\n [61.87418745305655, 26.239974880472104],\n [63.31663170761959, 26.756532497661667],\n [63.233897739520295, 27.21704702403071],\n [62.755425652929866, 27.378923448184985],\n [62.72783043808598, 28.25964488373539],\n [61.77186811711863, 28.699333807890795],\n [61.36930870956494, 29.303276272085924],\n [60.874248488208785, 29.829238999952604],\n [62.54985680527278, 29.31857249604431],\n [63.55026085801117, 29.468330796826162],\n [64.14800215033125, 29.340819200145972],\n [64.35041873561852, 29.560030625928093],\n [65.0468620136161, 29.472180691031905],\n [66.34647260932442, 29.887943427036177],\n [66.38145755398602, 30.73889923758645],\n [66.93889122911847, 31.304911200479353],\n [67.68339358914747, 31.30315420178142],\n [67.79268924344478, 31.58293040620963],\n [68.55693200060932, 31.713310044882018],\n [68.92667687365767, 31.620189113892064],\n [69.31776411324255, 31.90141225842444],\n [69.26252200712256, 32.5019440780883],\n [69.68714725126485, 33.105498969041236],\n [70.3235941913716, 33.35853261975839],\n [69.9305432473596, 34.02012014417511],\n [70.8818030129884, 33.98885590263851],\n [71.15677330921346, 34.34891144463215],\n [71.11501875192162, 34.733125718722235],\n [71.6130762063507, 35.153203436822864],\n [71.49876793812109, 35.650563259416],\n [71.26234826038575, 36.074387518857804],\n [71.84629194528392, 36.50994232842986],\n [72.92002485544447, 36.72000702569632],\n [74.06755171091783, 36.83617564548845],\n [74.57589277537298, 37.02084137628346],\n [75.15802778514092, 37.13303091078912],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Philippines\",\n sov_a3: \"PHL\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Philippines\",\n adm0_a3: \"PHL\",\n geou_dif: 0,\n geounit: \"Philippines\",\n gu_a3: \"PHL\",\n su_dif: 0,\n subunit: \"Philippines\",\n su_a3: \"PHL\",\n brk_diff: 0,\n name: \"Philippines\",\n name_long: \"Philippines\",\n brk_a3: \"PHL\",\n brk_name: \"Philippines\",\n brk_group: null,\n abbrev: \"Phil.\",\n postal: \"PH\",\n formal_en: \"Republic of the Philippines\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Philippines\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 2,\n mapcolor9: 2,\n mapcolor13: 8,\n pop_est: 97976603,\n gdp_md_est: 317500,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PH\",\n iso_a3: \"PHL\",\n iso_n3: \"608\",\n un_a3: \"608\",\n wb_a2: \"PH\",\n wb_a3: \"PHL\",\n woe_id: -99,\n adm0_a3_is: \"PHL\",\n adm0_a3_us: \"PHL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 11,\n long_len: 11,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"PHL.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [126.37681359263748, 8.414706325713354],\n [126.4785128113879, 7.750354112168978],\n [126.53742394420063, 7.189380601424574],\n [126.19677290253256, 6.27429433840004],\n [125.83142052622911, 7.293715318221857],\n [125.3638521668523, 6.786485297060992],\n [125.68316084198372, 6.049656887227258],\n [125.39651167206064, 5.58100332277229],\n [124.21978763234236, 6.161355495626182],\n [123.93871951710695, 6.885135606306122],\n [124.24366214406135, 7.360610459823661],\n [123.61021243702757, 7.833527329942754],\n [123.2960714051252, 7.418875637232787],\n [122.82550581267542, 7.457374579290217],\n [122.08549930225577, 6.899424139834849],\n [121.91992801319263, 7.192119452336072],\n [122.31235884001714, 8.034962063016508],\n [122.94239790251966, 8.316236883981174],\n [123.48768761606352, 8.693009751821194],\n [123.84115441293984, 8.240324204944386],\n [124.60146976125023, 8.514157619659017],\n [124.76461225799564, 8.96040945071546],\n [125.47139082245157, 8.986996975129642],\n [125.41211795461278, 9.760334784377548],\n [126.22271447154318, 9.28607432701885],\n [126.3066369975851, 8.782487494334575],\n [126.37681359263748, 8.414706325713354],\n ],\n ],\n [\n [\n [123.98243777882583, 10.278778591345812],\n [123.62318322153278, 9.950090643753299],\n [123.30992068897936, 9.318268744336676],\n [122.99588300994164, 9.0221886255204],\n [122.38005496631948, 9.713360907424203],\n [122.5860889018671, 9.981044826696104],\n [122.83708133350873, 10.261156927934238],\n [122.94741051645192, 10.881868394408029],\n [123.49884972543848, 10.940624497923949],\n [123.33777428598475, 10.267383938025446],\n [124.07793582570125, 11.23272553145371],\n [123.98243777882583, 10.278778591345812],\n ],\n ],\n [\n [\n [118.50458092659035, 9.31638255455809],\n [117.1742745301007, 8.367499904814665],\n [117.66447716682138, 9.066888739452935],\n [118.38691369026175, 9.684499619989225],\n [118.98734215706108, 10.376292019080509],\n [119.51149620979756, 11.369668077027214],\n [119.68967654833992, 10.554291490109875],\n [119.029458449379, 10.003653265823871],\n [118.50458092659035, 9.31638255455809],\n ],\n ],\n [\n [\n [121.88354780485913, 11.89175507247198],\n [122.48382124236147, 11.582187404827508],\n [123.12021650603597, 11.58366018314787],\n [123.10083784392647, 11.16593374271649],\n [122.6377136577267, 10.741308498574227],\n [122.00261030485957, 10.441016750526087],\n [121.96736697803655, 10.905691229694623],\n [122.03837039600555, 11.41584096928004],\n [121.88354780485913, 11.89175507247198],\n ],\n ],\n [\n [\n [125.50255171112352, 12.162694606978349],\n [125.78346479706218, 11.046121934447768],\n [125.01188398651229, 11.31145457605038],\n [125.03276126515814, 10.975816148314706],\n [125.27744917206027, 10.358722032101312],\n [124.80181928924573, 10.134678859899893],\n [124.76016808481849, 10.837995103392302],\n [124.45910119028606, 10.889929917845635],\n [124.30252160044172, 11.495370998577227],\n [124.8910128113816, 11.415582587118593],\n [124.87799035044398, 11.79418996830499],\n [124.26676150929572, 12.557760931849685],\n [125.22711632700785, 12.535720933477194],\n [125.50255171112352, 12.162694606978349],\n ],\n ],\n [\n [\n [121.52739383350351, 13.06959015548452],\n [121.26219038298157, 12.205560207564403],\n [120.83389611214656, 12.70449616134242],\n [120.3234363139675, 13.46641347905387],\n [121.18012820850217, 13.429697373910443],\n [121.52739383350351, 13.06959015548452],\n ],\n ],\n [\n [\n [121.32130822152358, 18.504064642811016],\n [121.9376013530364, 18.218552354398383],\n [122.24600630095429, 18.478949896717097],\n [122.336956821788, 18.224882717354177],\n [122.1742794129332, 17.810282701076375],\n [122.51565392465336, 17.093504746971973],\n [122.2523108256939, 16.262444362854126],\n [121.66278608610828, 15.931017564350128],\n [121.5050696147534, 15.124813544164622],\n [121.72882856657728, 14.328376369682246],\n [122.25892540902734, 14.218202216035976],\n [122.70127566944566, 14.33654124598442],\n [123.95029503794026, 13.78213064214107],\n [123.85510704965863, 13.237771104378467],\n [124.1812886902849, 12.997527370653472],\n [124.07741906137825, 12.536676947474575],\n [123.29803510955227, 13.027525539598981],\n [122.92865197152993, 13.552919826710408],\n [122.67135501514869, 13.185836289925135],\n [122.03464969288055, 13.784481919810347],\n [121.1263847189186, 13.63668732345556],\n [120.62863732308331, 13.857655747935652],\n [120.67938357959385, 14.271015529838323],\n [120.99181928923055, 14.525392767795083],\n [120.69333621631272, 14.756670640517285],\n [120.564145135583, 14.396279201713822],\n [120.0704285014664, 14.970869452367097],\n [119.92092858284613, 15.406346747290739],\n [119.88377322802826, 16.363704331929966],\n [120.28648766487882, 16.03462881109533],\n [120.39004723519176, 17.59908112229951],\n [120.71586714079191, 18.50522736253754],\n [121.32130822152358, 18.504064642811016],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"North Korea\",\n sov_a3: \"PRK\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"North Korea\",\n adm0_a3: \"PRK\",\n geou_dif: 0,\n geounit: \"North Korea\",\n gu_a3: \"PRK\",\n su_dif: 0,\n subunit: \"North Korea\",\n su_a3: \"PRK\",\n brk_diff: 0,\n name: \"Dem. Rep. Korea\",\n name_long: \"Dem. Rep. Korea\",\n brk_a3: \"PRK\",\n brk_name: \"Dem. Rep. Korea\",\n brk_group: null,\n abbrev: \"N.K.\",\n postal: \"KP\",\n formal_en: \"Democratic People's Republic of Korea\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Korea, Dem. Rep.\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 5,\n mapcolor9: 3,\n mapcolor13: 9,\n pop_est: 22665345,\n gdp_md_est: 40000,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"KP\",\n iso_a3: \"PRK\",\n iso_n3: \"408\",\n un_a3: \"408\",\n wb_a2: \"KP\",\n wb_a3: \"PRK\",\n woe_id: -99,\n adm0_a3_is: \"PRK\",\n adm0_a3_us: \"PRK\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 15,\n long_len: 15,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"PRK.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [130.6400159038524, 42.39500946712528],\n [130.78000735893113, 42.22000722916885],\n [130.40003055228902, 42.28000356705971],\n [129.96594852103726, 41.94136790625105],\n [129.66736209525482, 41.60110443782523],\n [129.70518924369247, 40.88282786718433],\n [129.18811486218, 40.66180776627199],\n [129.01039961152821, 40.485436102859815],\n [128.63336836152672, 40.18984691015031],\n [127.96741417858135, 40.02541250259756],\n [127.53343550019417, 39.7568500839767],\n [127.5021195822253, 39.32393077245153],\n [127.38543419811029, 39.213472398427655],\n [127.78334272675772, 39.05089834243742],\n [128.34971642467661, 38.61224294692785],\n [128.20574588431145, 38.37039724380189],\n [127.780035435091, 38.30453563084589],\n [127.07330854706737, 38.2561148137884],\n [126.68371992401892, 37.80477285415118],\n [126.23733890188176, 37.84037791600028],\n [126.17475874237624, 37.74968577732804],\n [125.6891036316972, 37.940010077459014],\n [125.56843916229569, 37.75208873142962],\n [125.2753304383362, 37.669070542952724],\n [125.24008711151315, 37.85722443292744],\n [124.98103315643398, 37.94882090916478],\n [124.71216067921938, 38.10834605564979],\n [124.98599409393398, 38.54847422947968],\n [125.2219486837787, 38.66585724543067],\n [125.13285851450752, 38.84855927179859],\n [125.3865897970606, 39.387957872061165],\n [125.3211157573468, 39.5513845891842],\n [124.7374821310424, 39.66034434667162],\n [124.26562462778531, 39.928493353834156],\n [125.07994184784063, 40.56982371679245],\n [126.18204511932943, 41.10733612727637],\n [126.86908328664985, 41.81656932226619],\n [127.34378299368302, 41.50315176041597],\n [128.20843305879066, 41.46677155208249],\n [128.0522152039723, 41.99428457291795],\n [129.59666873587952, 42.42498179785456],\n [129.99426720593323, 42.985386867843786],\n [130.6400159038524, 42.39500946712528],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Israel\",\n sov_a3: \"ISR\",\n adm0_dif: 1,\n level: 2,\n type: \"Disputed\",\n admin: \"Palestine\",\n adm0_a3: \"PSX\",\n geou_dif: 0,\n geounit: \"Palestine\",\n gu_a3: \"PSX\",\n su_dif: 0,\n subunit: \"Palestine\",\n su_a3: \"PSX\",\n brk_diff: 0,\n name: \"Palestine\",\n name_long: \"Palestine\",\n brk_a3: \"PSX\",\n brk_name: \"Palestine\",\n brk_group: null,\n abbrev: \"Pal.\",\n postal: \"PAL\",\n formal_en: \"West Bank and Gaza\",\n formal_fr: null,\n note_adm0: \"Partial self-admin.\",\n note_brk: \"Partial self-admin.\",\n name_sort: \"Palestine (West Bank and Gaza)\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 2,\n mapcolor9: 5,\n mapcolor13: 8,\n pop_est: 4119083,\n gdp_md_est: 11950.77,\n pop_year: -99,\n lastcensus: 2007,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PS\",\n iso_a3: \"PSE\",\n iso_n3: \"275\",\n un_a3: \"275\",\n wb_a2: \"GZ\",\n wb_a3: \"WBG\",\n woe_id: -99,\n adm0_a3_is: \"PSE\",\n adm0_a3_us: \"PSX\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 4,\n tiny: -99,\n homepart: -99,\n filename: \"PSE.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [35.54566531753454, 32.393992011030576],\n [35.5452519060762, 31.78250478772084],\n [35.397560662586045, 31.48908600516758],\n [34.92740848159457, 31.353435370401414],\n [34.970506626125996, 31.616778469360806],\n [35.22589155451242, 31.754341132121766],\n [34.97464074070933, 31.86658234305972],\n [35.183930291491436, 32.53251068778894],\n [35.54566531753454, 32.393992011030576],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Qatar\",\n sov_a3: \"QAT\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Qatar\",\n adm0_a3: \"QAT\",\n geou_dif: 0,\n geounit: \"Qatar\",\n gu_a3: \"QAT\",\n su_dif: 0,\n subunit: \"Qatar\",\n su_a3: \"QAT\",\n brk_diff: 0,\n name: \"Qatar\",\n name_long: \"Qatar\",\n brk_a3: \"QAT\",\n brk_name: \"Qatar\",\n brk_group: null,\n abbrev: \"Qatar\",\n postal: \"QA\",\n formal_en: \"State of Qatar\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Qatar\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 6,\n mapcolor9: 2,\n mapcolor13: 4,\n pop_est: 833285,\n gdp_md_est: 91330,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"QA\",\n iso_a3: \"QAT\",\n iso_n3: \"634\",\n un_a3: \"634\",\n wb_a2: \"QA\",\n wb_a3: \"QAT\",\n woe_id: -99,\n adm0_a3_is: \"QAT\",\n adm0_a3_us: \"QAT\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"QAT.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [50.81010827006958, 24.754742539971378],\n [50.74391076030369, 25.482424221289396],\n [51.01335167827349, 26.00699168548419],\n [51.28646162293606, 26.11458201751587],\n [51.58907881043726, 25.80111277923338],\n [51.60670047384881, 25.21567047779874],\n [51.38960778179063, 24.62738597258806],\n [51.11241539897702, 24.556330878186724],\n [50.81010827006958, 24.754742539971378],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Thailand\",\n sov_a3: \"THA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Thailand\",\n adm0_a3: \"THA\",\n geou_dif: 0,\n geounit: \"Thailand\",\n gu_a3: \"THA\",\n su_dif: 0,\n subunit: \"Thailand\",\n su_a3: \"THA\",\n brk_diff: 0,\n name: \"Thailand\",\n name_long: \"Thailand\",\n brk_a3: \"THA\",\n brk_name: \"Thailand\",\n brk_group: null,\n abbrev: \"Thai.\",\n postal: \"TH\",\n formal_en: \"Kingdom of Thailand\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Thailand\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 6,\n mapcolor9: 8,\n mapcolor13: 1,\n pop_est: 65905410,\n gdp_md_est: 547400,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TH\",\n iso_a3: \"THA\",\n iso_n3: \"764\",\n un_a3: \"764\",\n wb_a2: \"TH\",\n wb_a3: \"THA\",\n woe_id: -99,\n adm0_a3_is: \"THA\",\n adm0_a3_us: \"THA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"THA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [102.5849324890267, 12.186594956913282],\n [101.68715783081996, 12.645740057826572],\n [100.83180952352487, 12.627084865769206],\n [100.9784672383692, 13.412721665902566],\n [100.0977974792511, 13.406856390837433],\n [100.01873253784456, 12.307001044153354],\n [99.47892052612363, 10.846366685423547],\n [99.15377241414316, 9.963061428258554],\n [99.22239871622676, 9.239255479362427],\n [99.87383182169813, 9.20786204674512],\n [100.27964684448622, 8.295152899606052],\n [100.45927412313276, 7.429572658717177],\n [101.01732791545273, 6.856868597842478],\n [101.62307905477806, 6.74062246340192],\n [102.14118696493638, 6.221636053894628],\n [101.81428185425798, 5.810808417174242],\n [101.15421878459387, 5.691384182147715],\n [101.07551557821336, 6.204867051615921],\n [100.25959638875696, 6.642824815289543],\n [100.0857568705271, 6.46448944745029],\n [99.69069054565574, 6.848212795433597],\n [99.51964155476963, 7.34345388430276],\n [98.9882528015123, 7.907993068875327],\n [98.503786248776, 8.382305202666288],\n [98.339661899817, 7.794511623562386],\n [98.15000939330581, 8.350007432483878],\n [98.25915001830624, 8.973922837759801],\n [98.55355065307305, 9.932959906448545],\n [99.03812055867398, 10.960545762572437],\n [99.58728600463972, 11.892762762901697],\n [99.19635379435167, 12.80474843998867],\n [99.21201175333609, 13.269293728076464],\n [99.09775516153876, 13.827502549693278],\n [98.43081912637987, 14.622027696180835],\n [98.1920740091914, 15.12370250087035],\n [98.53737592976572, 15.308497422746084],\n [98.90334842325676, 16.177824204976115],\n [98.49376102091135, 16.83783559820793],\n [97.85912275593486, 17.567946071843664],\n [97.37589643757354, 18.445437730375815],\n [97.7977828308044, 18.627080389881755],\n [98.25372399291561, 19.708203029860044],\n [98.95967573445488, 19.752980658440947],\n [99.54330936075931, 20.186597601802063],\n [100.11598758341783, 20.417849636308187],\n [100.54888105672688, 20.109237982661128],\n [100.60629357300316, 19.508344427971224],\n [101.2820146016517, 19.462584947176765],\n [101.03593143107777, 18.408928330961615],\n [101.05954756063517, 17.51249725999449],\n [102.11359175009248, 18.109101670804165],\n [102.41300499879162, 17.932781683824288],\n [102.9987056823877, 17.9616946476916],\n [103.20019209189373, 18.309632066312773],\n [103.95647667848529, 18.24095408779688],\n [104.7169470560925, 17.42885895433008],\n [104.7793205098688, 16.44186493577145],\n [105.58903852745016, 15.570316066952858],\n [105.54433841351769, 14.723933620660416],\n [105.21877689007887, 14.273211778210694],\n [104.28141808473661, 14.416743068901367],\n [102.98842207236163, 14.225721136934467],\n [102.348099399833, 13.394247341358223],\n [102.5849324890267, 12.186594956913282],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Saudi Arabia\",\n sov_a3: \"SAU\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Saudi Arabia\",\n adm0_a3: \"SAU\",\n geou_dif: 0,\n geounit: \"Saudi Arabia\",\n gu_a3: \"SAU\",\n su_dif: 0,\n subunit: \"Saudi Arabia\",\n su_a3: \"SAU\",\n brk_diff: 0,\n name: \"Saudi Arabia\",\n name_long: \"Saudi Arabia\",\n brk_a3: \"SAU\",\n brk_name: \"Saudi Arabia\",\n brk_group: null,\n abbrev: \"Saud.\",\n postal: \"SA\",\n formal_en: \"Kingdom of Saudi Arabia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Saudi Arabia\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 1,\n mapcolor9: 6,\n mapcolor13: 7,\n pop_est: 28686633,\n gdp_md_est: 576500,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SA\",\n iso_a3: \"SAU\",\n iso_n3: \"682\",\n un_a3: \"682\",\n wb_a2: \"SA\",\n wb_a3: \"SAU\",\n woe_id: -99,\n adm0_a3_is: \"SAU\",\n adm0_a3_us: \"SAU\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 12,\n long_len: 12,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"SAU.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [42.77933230975097, 16.347891343648683],\n [42.649572788266084, 16.774635321514964],\n [42.347989129410706, 17.075805568912003],\n [42.270887892431226, 17.474721787989125],\n [41.75438195167396, 17.833046169500975],\n [41.22139122901558, 18.671599636301206],\n [40.93934126156654, 19.486485297111756],\n [40.247652215339826, 20.17463450772649],\n [39.80168460466095, 20.338862209550054],\n [39.139399448408284, 21.29190481209293],\n [39.023695916506796, 21.986875311770195],\n [39.06632897314759, 22.57965566659027],\n [38.49277225114008, 23.688451036060854],\n [38.02386030452362, 24.07868561451293],\n [37.483634881344386, 24.285494696545015],\n [37.154817742671185, 24.85848297779731],\n [37.209491408036, 25.084541530858104],\n [36.93162723160259, 25.602959499610176],\n [36.63960371272122, 25.82622752532722],\n [36.249136590323815, 26.57013560638488],\n [35.64018151219639, 27.37652049408342],\n [35.13018680190788, 28.06335195567472],\n [34.63233605320798, 28.058546047471566],\n [34.787778761541944, 28.6074272730597],\n [34.832220493312946, 28.957483425404845],\n [34.95603722508426, 29.35655467377884],\n [36.06894087092206, 29.197494615184457],\n [36.50121422704358, 29.5052536076987],\n [36.74052778498725, 29.86528331147619],\n [37.503581984209035, 30.003776150018403],\n [37.66811974462638, 30.3386652694859],\n [37.998848911294374, 30.50849986421313],\n [37.00216556168101, 31.508412990844743],\n [39.00488569515255, 32.01021698661498],\n [39.19546837744497, 32.16100881604267],\n [40.399994337736246, 31.889991766887935],\n [41.889980910007836, 31.190008653278365],\n [44.70949873228474, 29.178891099559383],\n [46.568713413281756, 29.09902517345229],\n [47.45982181172283, 29.002519436147224],\n [47.708850538937384, 28.526062730416143],\n [48.416094191283946, 28.55200429942667],\n [48.80759484232718, 27.689627997339883],\n [49.29955447774582, 27.46121816660981],\n [49.470913527225655, 27.10999929453808],\n [50.15242231629088, 26.689663194275997],\n [50.212935418504685, 26.277026882425375],\n [50.11330325704594, 25.943972276304248],\n [50.239858839728754, 25.608049628190926],\n [50.52738650900073, 25.3278083358721],\n [50.66055667501689, 24.99989553476402],\n [50.81010827006958, 24.754742539971378],\n [51.11241539897702, 24.556330878186724],\n [51.38960778179063, 24.62738597258806],\n [51.57951867046327, 24.245497137951105],\n [51.61770755392698, 24.014219265228828],\n [52.000733270074335, 23.00115448657894],\n [55.0068030129249, 22.496947536707136],\n [55.20834109886319, 22.708329982997046],\n [55.666659376859826, 22.00000112557234],\n [54.99998172386236, 19.999994004796108],\n [52.00000980002224, 19.000003363516058],\n [49.11667158386487, 18.616667588774945],\n [48.18334354024134, 18.166669216377315],\n [47.46669477721763, 17.116681626854884],\n [47.000004917189756, 16.949999294497445],\n [46.74999433776165, 17.283338120996177],\n [46.366658563020536, 17.233315334537636],\n [45.39999922056875, 17.333335069238558],\n [45.21665123879718, 17.43332896572333],\n [44.06261315285508, 17.410358791569593],\n [43.79151858905192, 17.31997671149111],\n [43.380794305196105, 17.57998668056767],\n [43.11579756040335, 17.088440456607373],\n [43.21837527850275, 16.66688996018641],\n [42.77933230975097, 16.347891343648683],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Syria\",\n sov_a3: \"SYR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Syria\",\n adm0_a3: \"SYR\",\n geou_dif: 0,\n geounit: \"Syria\",\n gu_a3: \"SYR\",\n su_dif: 0,\n subunit: \"Syria\",\n su_a3: \"SYR\",\n brk_diff: 0,\n name: \"Syria\",\n name_long: \"Syria\",\n brk_a3: \"SYR\",\n brk_name: \"Syria\",\n brk_group: null,\n abbrev: \"Syria\",\n postal: \"SYR\",\n formal_en: \"Syrian Arab Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Syrian Arab Republic\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 6,\n mapcolor9: 2,\n mapcolor13: 6,\n pop_est: 20178485,\n gdp_md_est: 98830,\n pop_year: -99,\n lastcensus: 2004,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SY\",\n iso_a3: \"SYR\",\n iso_n3: \"760\",\n un_a3: \"760\",\n wb_a2: \"SY\",\n wb_a3: \"SYR\",\n woe_id: -99,\n adm0_a3_is: \"SYR\",\n adm0_a3_us: \"SYR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"SYR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [38.792340529136084, 33.378686428352225],\n [36.834062127435544, 32.312937526980775],\n [35.71991824722275, 32.709192409794866],\n [35.700797967274745, 32.71601369885738],\n [35.836396925608625, 32.86812327730851],\n [35.82110070165024, 33.2774264592763],\n [36.066460402172055, 33.82491242119255],\n [36.61175011571589, 34.201788641897174],\n [36.4481942075121, 34.59393524834407],\n [35.99840254084364, 34.644914048800004],\n [35.905023227692226, 35.410009467097325],\n [36.149762811026534, 35.82153473565367],\n [36.417550083163036, 36.04061697035506],\n [36.6853890317318, 36.25969920505646],\n [36.7394942563414, 36.81752045343109],\n [37.06676110204583, 36.62303620050062],\n [38.1677274920242, 36.90121043552777],\n [38.6998913917659, 36.71292735447234],\n [39.52258019385255, 36.71605377862599],\n [40.67325931169569, 37.09127635349729],\n [41.21208947120305, 37.074352321921694],\n [42.34959109881177, 37.2298725449041],\n [41.83706424334096, 36.605853786763575],\n [41.289707472505455, 36.35881460219227],\n [41.383965285005814, 35.628316555314356],\n [41.006158888519934, 34.41937226006212],\n [38.792340529136084, 33.378686428352225],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Tajikistan\",\n sov_a3: \"TJK\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Tajikistan\",\n adm0_a3: \"TJK\",\n geou_dif: 0,\n geounit: \"Tajikistan\",\n gu_a3: \"TJK\",\n su_dif: 0,\n subunit: \"Tajikistan\",\n su_a3: \"TJK\",\n brk_diff: 0,\n name: \"Tajikistan\",\n name_long: \"Tajikistan\",\n brk_a3: \"TJK\",\n brk_name: \"Tajikistan\",\n brk_group: null,\n abbrev: \"Tjk.\",\n postal: \"TJ\",\n formal_en: \"Republic of Tajikistan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Tajikistan\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 6,\n mapcolor9: 2,\n mapcolor13: 5,\n pop_est: 7349145,\n gdp_md_est: 13160,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TJ\",\n iso_a3: \"TJK\",\n iso_n3: \"762\",\n un_a3: \"762\",\n wb_a2: \"TJ\",\n wb_a3: \"TJK\",\n woe_id: -99,\n adm0_a3_is: \"TJK\",\n adm0_a3_us: \"TJK\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Central Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"TJK.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [71.01419803252017, 40.24436554621823],\n [70.64801883329997, 39.93575389257117],\n [69.55960981636852, 40.10321137141298],\n [69.46488691597753, 39.5266832545487],\n [70.54916181832562, 39.6041979029865],\n [71.784693637992, 39.27946320246437],\n [73.6753792662548, 39.4312368841056],\n [73.92885216664644, 38.50581533462274],\n [74.25751427602273, 38.60650686294345],\n [74.86481570831681, 38.3788463404816],\n [74.8299857929521, 37.9900070257014],\n [74.98000247589542, 37.419990139305895],\n [73.9486959166465, 37.4215662704908],\n [73.26005577992501, 37.495256862939],\n [72.63688968291729, 37.047558091778356],\n [72.1930408059624, 36.948287665345674],\n [71.8446382994506, 36.73817129164692],\n [71.44869347523024, 37.06564484308051],\n [71.54191775908478, 37.905774441065645],\n [71.23940392444817, 37.95326508234188],\n [71.34813113799026, 38.258905341132156],\n [70.80682050973289, 38.486281643216415],\n [70.3763041523093, 38.13839590102752],\n [70.27057417184014, 37.735164699854025],\n [70.11657840361033, 37.58822276463209],\n [69.51878543485796, 37.60899669041341],\n [69.19627282092438, 37.15114350030743],\n [68.85944583524594, 37.344335842430596],\n [68.13556237170138, 37.0231151393043],\n [67.82999962755952, 37.14499400486468],\n [68.39203250516596, 38.157025254868735],\n [68.17602501818592, 38.901553453113905],\n [67.44221967964131, 39.140143541005486],\n [67.70142866401736, 39.58047842056453],\n [68.53641645698941, 39.53345286717894],\n [69.0116329283455, 40.08615814875666],\n [69.32949466337283, 40.72782440852485],\n [70.66662234892505, 40.96021332454141],\n [70.45815962105962, 40.49649485937029],\n [70.60140669137269, 40.21852733007229],\n [71.01419803252017, 40.24436554621823],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Turkmenistan\",\n sov_a3: \"TKM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Turkmenistan\",\n adm0_a3: \"TKM\",\n geou_dif: 0,\n geounit: \"Turkmenistan\",\n gu_a3: \"TKM\",\n su_dif: 0,\n subunit: \"Turkmenistan\",\n su_a3: \"TKM\",\n brk_diff: 0,\n name: \"Turkmenistan\",\n name_long: \"Turkmenistan\",\n brk_a3: \"TKM\",\n brk_name: \"Turkmenistan\",\n brk_group: null,\n abbrev: \"Turkm.\",\n postal: \"TM\",\n formal_en: \"Turkmenistan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Turkmenistan\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 2,\n mapcolor9: 1,\n mapcolor13: 9,\n pop_est: 4884887,\n gdp_md_est: 29780,\n pop_year: -99,\n lastcensus: 1995,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TM\",\n iso_a3: \"TKM\",\n iso_n3: \"795\",\n un_a3: \"795\",\n wb_a2: \"TM\",\n wb_a3: \"TKM\",\n woe_id: -99,\n adm0_a3_is: \"TKM\",\n adm0_a3_us: \"TKM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Central Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 12,\n long_len: 12,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"TKM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [61.21081709172574, 35.650072333309225],\n [61.123070509694145, 36.49159719496624],\n [60.37763797388387, 36.52738312432837],\n [59.23476199731681, 37.412987982730336],\n [58.4361544126782, 37.522309475243794],\n [57.33043379092898, 38.02922943781094],\n [56.61936608259282, 38.121394354803485],\n [56.18037479027333, 37.93512665460742],\n [55.51157840355191, 37.96411713312317],\n [54.800303989486565, 37.392420762678185],\n [53.92159793479556, 37.19891836196126],\n [53.73551110211252, 37.90613617609169],\n [53.880928582581845, 38.95209300389536],\n [53.101027866432894, 39.29057363540713],\n [53.35780805849123, 39.97528636327445],\n [52.69397260926982, 40.03362905533197],\n [52.915251092343624, 40.87652334244473],\n [53.858139275941134, 40.63103445084218],\n [54.73684533063215, 40.95101491959346],\n [54.008310988181314, 41.55121084244742],\n [53.72171349469059, 42.12319143327003],\n [52.916749708880076, 41.86811656347733],\n [52.81468875510361, 41.13537059179471],\n [52.50245975119615, 41.78331553808637],\n [52.944293247291654, 42.11603424739759],\n [54.07941775901495, 42.32410940202083],\n [54.75534549339263, 42.043971462566574],\n [55.45525109235377, 41.25985911718584],\n [55.96819135928291, 41.30864166926936],\n [57.0963912290791, 41.32231008561057],\n [56.932215203687804, 41.826026109375604],\n [57.78652998233708, 42.17055288346552],\n [58.62901085799146, 42.75155101172305],\n [59.97642215356978, 42.22308197689021],\n [60.08334069198167, 41.425146185871405],\n [60.46595299667069, 41.22032664648255],\n [61.54717898951356, 41.266370347654615],\n [61.88271406438469, 41.084856879229406],\n [62.374260288345, 40.05388621679039],\n [63.51801476426103, 39.36325653742564],\n [64.17022301621677, 38.892406724598246],\n [65.2159989765074, 38.40269501398429],\n [66.54615034370022, 37.97468496352687],\n [66.51860680528867, 37.36278432875879],\n [66.21738488145932, 37.39379018813392],\n [65.74563073106681, 37.66116404881207],\n [65.58894778835784, 37.30521678318564],\n [64.7461051776774, 37.111817735333304],\n [64.5464791197339, 36.31207326918427],\n [63.9828959491587, 36.0079574651466],\n [63.19353844590035, 35.857165635718914],\n [62.9846623065766, 35.40404083916762],\n [62.230651483005886, 35.270663967422294],\n [61.21081709172574, 35.650072333309225],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"East Timor\",\n sov_a3: \"TLS\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"East Timor\",\n adm0_a3: \"TLS\",\n geou_dif: 0,\n geounit: \"East Timor\",\n gu_a3: \"TLS\",\n su_dif: 0,\n subunit: \"East Timor\",\n su_a3: \"TLS\",\n brk_diff: 0,\n name: \"Timor-Leste\",\n name_long: \"Timor-Leste\",\n brk_a3: \"TLS\",\n brk_name: \"Timor-Leste\",\n brk_group: null,\n abbrev: \"T.L.\",\n postal: \"TL\",\n formal_en: \"Democratic Republic of Timor-Leste\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Timor-Leste\",\n name_alt: \"East Timor\",\n mapcolor7: 2,\n mapcolor8: 2,\n mapcolor9: 4,\n mapcolor13: 3,\n pop_est: 1131612,\n gdp_md_est: 2520,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TL\",\n iso_a3: \"TLS\",\n iso_n3: \"626\",\n un_a3: \"626\",\n wb_a2: \"TP\",\n wb_a3: \"TMP\",\n woe_id: -99,\n adm0_a3_is: \"TLS\",\n adm0_a3_us: \"TLS\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 11,\n long_len: 11,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"TLS.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [124.96868248911622, -8.892790215697083],\n [125.08624637258026, -8.65688730228468],\n [125.94707238169826, -8.432094821815035],\n [126.64470421763855, -8.398246758663852],\n [126.95724328013982, -8.273344821814398],\n [127.33592817597464, -8.397316582882603],\n [126.96799197805655, -8.668256117388893],\n [125.9258850444586, -9.106007175333351],\n [125.08852013560109, -9.393173109579294],\n [125.07001997284061, -9.089987481322872],\n [124.96868248911622, -8.892790215697083],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Turkey\",\n sov_a3: \"TUR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Turkey\",\n adm0_a3: \"TUR\",\n geou_dif: 0,\n geounit: \"Turkey\",\n gu_a3: \"TUR\",\n su_dif: 0,\n subunit: \"Turkey\",\n su_a3: \"TUR\",\n brk_diff: 0,\n name: \"Turkey\",\n name_long: \"Turkey\",\n brk_a3: \"TUR\",\n brk_name: \"Turkey\",\n brk_group: null,\n abbrev: \"Tur.\",\n postal: \"TR\",\n formal_en: \"Republic of Turkey\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Turkey\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 3,\n mapcolor9: 8,\n mapcolor13: 4,\n pop_est: 76805524,\n gdp_md_est: 902700,\n pop_year: -99,\n lastcensus: 2000,\n gdp_year: -99,\n economy: \"4. Emerging region: MIKT\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TR\",\n iso_a3: \"TUR\",\n iso_n3: \"792\",\n un_a3: \"792\",\n wb_a2: \"TR\",\n wb_a3: \"TUR\",\n woe_id: -99,\n adm0_a3_is: \"TUR\",\n adm0_a3_us: \"TUR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"TUR.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [36.91312706884215, 41.335358384764305],\n [38.34766482926452, 40.94858612727572],\n [39.51260664242025, 41.102762763018575],\n [40.373432651538245, 41.01367259374734],\n [41.554084100110714, 41.53565623632761],\n [42.619548781104555, 41.58317271581993],\n [43.58274580259271, 41.09214325618257],\n [43.7526579119685, 40.74020091405882],\n [43.65643639504096, 40.25356395116617],\n [44.400008579288766, 40.00500031184231],\n [44.793989699082005, 39.713002631177034],\n [44.109225294782355, 39.428136298168056],\n [44.4214026222576, 38.28128123631453],\n [44.22575564960053, 37.97158437758935],\n [44.77269900897775, 37.17044464776845],\n [44.29345177590286, 37.00151439060635],\n [43.94225874204736, 37.256227525372935],\n [42.77912560402186, 37.38526357680581],\n [42.34959109881177, 37.22987254490411],\n [41.21208947120303, 37.07435232192173],\n [40.673259311695716, 37.09127635349736],\n [39.52258019385252, 36.71605377862602],\n [38.69989139176593, 36.71292735447233],\n [38.16772749202416, 36.90121043552779],\n [37.06676110204583, 36.62303620050062],\n [36.739494256341374, 36.817520453431115],\n [36.68538903173183, 36.259699205056506],\n [36.41755008316309, 36.0406169703551],\n [36.14976281102659, 35.82153473565367],\n [35.782084995269855, 36.274995429014915],\n [36.160821567537056, 36.650605577128374],\n [35.55093631362834, 36.56544281671134],\n [34.714553256984374, 36.795532131490916],\n [34.02689497247647, 36.21996002862397],\n [32.5091581560641, 36.1075637883892],\n [31.699595167779567, 36.64427521417261],\n [30.62162479017107, 36.677864895162315],\n [30.39109622571712, 36.26298065850698],\n [29.699975620245567, 36.144357408181],\n [28.73290286633539, 36.67683136651644],\n [27.64118655773737, 36.658822129862756],\n [27.048767937943296, 37.65336090753601],\n [26.318218214633045, 38.208133246405396],\n [26.804700148228733, 38.98576019953356],\n [26.17078535330438, 39.463612168936464],\n [27.280019972449395, 40.42001373957831],\n [28.819977654747216, 40.46001129817221],\n [29.24000369641558, 41.21999074967269],\n [31.145933872204434, 41.08762156835706],\n [32.34797936374579, 41.73626414648464],\n [33.51328291192752, 42.018960069337304],\n [35.16770389175187, 42.04022492122544],\n [36.91312706884215, 41.335358384764305],\n ],\n ],\n [\n [\n [27.192376743282406, 40.690565700842455],\n [26.35800906749779, 40.15199392349649],\n [26.04335127127254, 40.61775360774317],\n [26.056942172965336, 40.82412344010075],\n [26.29460208507569, 40.93626129817417],\n [26.604195590936282, 41.56211456966102],\n [26.117041863720825, 41.82690460872456],\n [27.135739373490505, 42.14148489030131],\n [27.996720411905414, 42.00735871028777],\n [28.115524529744444, 41.622886054036286],\n [28.988442824018787, 41.29993419042819],\n [28.80643842948675, 41.05496206314854],\n [27.61901736828412, 40.99982330989312],\n [27.192376743282406, 40.690565700842455],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Taiwan\",\n sov_a3: \"TWN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Taiwan\",\n adm0_a3: \"TWN\",\n geou_dif: 0,\n geounit: \"Taiwan\",\n gu_a3: \"TWN\",\n su_dif: 0,\n subunit: \"Taiwan\",\n su_a3: \"TWN\",\n brk_diff: 1,\n name: \"Taiwan\",\n name_long: \"Taiwan\",\n brk_a3: \"B77\",\n brk_name: \"Taiwan\",\n brk_group: null,\n abbrev: \"Taiwan\",\n postal: \"TW\",\n formal_en: null,\n formal_fr: null,\n note_adm0: null,\n note_brk: \"Self admin.; Claimed by China\",\n name_sort: \"Taiwan\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 5,\n mapcolor9: 7,\n mapcolor13: 2,\n pop_est: 22974347,\n gdp_md_est: 712000,\n pop_year: -99,\n lastcensus: -99,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TW\",\n iso_a3: \"TWN\",\n iso_n3: \"158\",\n un_a3: \"-099\",\n wb_a2: \"-99\",\n wb_a3: \"-99\",\n woe_id: -99,\n adm0_a3_is: \"TWN\",\n adm0_a3_us: \"TWN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"TWN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [121.77781782438993, 24.3942735865194],\n [121.17563235889274, 22.790857245367167],\n [120.74707970589621, 21.970571397382113],\n [120.22008344938367, 22.81486094816674],\n [120.1061885926124, 23.556262722258236],\n [120.69467980355225, 24.538450832613737],\n [121.49504438688876, 25.295458889257386],\n [121.95124393116144, 24.997595933527034],\n [121.77781782438993, 24.3942735865194],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Uzbekistan\",\n sov_a3: \"UZB\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Uzbekistan\",\n adm0_a3: \"UZB\",\n geou_dif: 0,\n geounit: \"Uzbekistan\",\n gu_a3: \"UZB\",\n su_dif: 0,\n subunit: \"Uzbekistan\",\n su_a3: \"UZB\",\n brk_diff: 0,\n name: \"Uzbekistan\",\n name_long: \"Uzbekistan\",\n brk_a3: \"UZB\",\n brk_name: \"Uzbekistan\",\n brk_group: null,\n abbrev: \"Uzb.\",\n postal: \"UZ\",\n formal_en: \"Republic of Uzbekistan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Uzbekistan\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 3,\n mapcolor9: 5,\n mapcolor13: 4,\n pop_est: 27606007,\n gdp_md_est: 71670,\n pop_year: -99,\n lastcensus: 1989,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"UZ\",\n iso_a3: \"UZB\",\n iso_n3: \"860\",\n un_a3: \"860\",\n wb_a2: \"UZ\",\n wb_a3: \"UZB\",\n woe_id: -99,\n adm0_a3_is: \"UZB\",\n adm0_a3_us: \"UZB\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Central Asia\",\n region_wb: \"Europe & Central Asia\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: 5,\n homepart: 1,\n filename: \"UZB.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [66.51860680528867, 37.36278432875879],\n [66.54615034370022, 37.97468496352687],\n [65.2159989765074, 38.40269501398429],\n [64.17022301621677, 38.892406724598246],\n [63.51801476426103, 39.36325653742564],\n [62.374260288345, 40.05388621679039],\n [61.88271406438469, 41.084856879229406],\n [61.54717898951356, 41.266370347654615],\n [60.46595299667069, 41.22032664648255],\n [60.08334069198167, 41.425146185871405],\n [59.97642215356978, 42.22308197689021],\n [58.62901085799146, 42.75155101172305],\n [57.78652998233708, 42.17055288346552],\n [56.932215203687804, 41.826026109375604],\n [57.0963912290791, 41.32231008561057],\n [55.96819135928291, 41.30864166926936],\n [55.928917270741096, 44.99585846615911],\n [58.50312706892847, 45.586804307632825],\n [58.689989048095896, 45.50001373959862],\n [60.23997195825833, 44.78403677019473],\n [61.05831994003245, 44.40581696225051],\n [62.01330040878625, 43.50447663021565],\n [63.18578698105657, 43.650074978198006],\n [64.90082441595928, 43.72808055274258],\n [66.09801232286509, 42.99766002051309],\n [66.02339155463562, 41.99464630794398],\n [66.51064863471572, 41.987644151368436],\n [66.7140470722165, 41.1684435084615],\n [67.98585574735182, 41.13599070898222],\n [68.25989586779562, 40.6623245305949],\n [68.63248294462001, 40.66868073176681],\n [69.07002729683532, 41.38424428971237],\n [70.3889648782208, 42.08130768489745],\n [70.96231489449914, 42.26615428320549],\n [71.25924767444822, 42.16771067968946],\n [70.42002241402821, 41.51999827734314],\n [71.1578585142916, 41.14358714452912],\n [71.87011478057047, 41.392900092121266],\n [73.05541710804917, 40.866033026689465],\n [71.77487511585656, 40.14584442805378],\n [71.01419803252017, 40.24436554621823],\n [70.60140669137269, 40.21852733007229],\n [70.45815962105962, 40.49649485937029],\n [70.66662234892505, 40.96021332454141],\n [69.32949466337283, 40.72782440852485],\n [69.0116329283455, 40.08615814875666],\n [68.53641645698941, 39.53345286717894],\n [67.70142866401736, 39.58047842056453],\n [67.44221967964131, 39.140143541005486],\n [68.17602501818592, 38.901553453113905],\n [68.39203250516596, 38.157025254868735],\n [67.82999962755952, 37.14499400486468],\n [67.07578209825962, 37.35614390720929],\n [66.51860680528867, 37.36278432875879],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Vietnam\",\n sov_a3: \"VNM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Vietnam\",\n adm0_a3: \"VNM\",\n geou_dif: 0,\n geounit: \"Vietnam\",\n gu_a3: \"VNM\",\n su_dif: 0,\n subunit: \"Vietnam\",\n su_a3: \"VNM\",\n brk_diff: 0,\n name: \"Vietnam\",\n name_long: \"Vietnam\",\n brk_a3: \"VNM\",\n brk_name: \"Vietnam\",\n brk_group: null,\n abbrev: \"Viet.\",\n postal: \"VN\",\n formal_en: \"Socialist Republic of Vietnam\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Vietnam\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 6,\n mapcolor9: 5,\n mapcolor13: 4,\n pop_est: 86967524,\n gdp_md_est: 241700,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"VN\",\n iso_a3: \"VNM\",\n iso_n3: \"704\",\n un_a3: \"704\",\n wb_a2: \"VN\",\n wb_a3: \"VNM\",\n woe_id: -99,\n adm0_a3_is: \"VNM\",\n adm0_a3_us: \"VNM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"South-Eastern Asia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 5,\n tiny: 2,\n homepart: 1,\n filename: \"VNM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [108.05018029178294, 21.55237986906012],\n [106.7150679870901, 20.69685069425202],\n [105.88168216351903, 19.752050482659698],\n [105.66200564984631, 19.05816518806057],\n [106.426816847766, 18.004120998603227],\n [107.36195356651974, 16.69745656988705],\n [108.26949507042963, 16.07974233648615],\n [108.87710656131748, 15.27669057867044],\n [109.33526981001721, 13.426028347217722],\n [109.20013593957398, 11.666859239137764],\n [108.36612999881545, 11.008320624226272],\n [107.22092858279524, 10.364483954301832],\n [106.40511274620343, 9.53083974856932],\n [105.15826378786511, 8.599759629750494],\n [104.79518517458237, 9.241038316276502],\n [105.0762016133856, 9.918490505406808],\n [104.33433475140347, 10.48654368737523],\n [105.19991499229235, 10.889309800658097],\n [106.24967003786946, 10.961811835163587],\n [105.81052371625313, 11.567614650921227],\n [107.49140302941089, 12.337205918827946],\n [107.61454796756243, 13.535530707244206],\n [107.38272749230109, 14.202440904186972],\n [107.5645251811039, 15.202173163305558],\n [107.3127059265456, 15.90853831630318],\n [106.55600792849569, 16.604283962464805],\n [105.92576216026403, 17.48531545660896],\n [105.09459842328152, 18.66697459561108],\n [103.8965320170267, 19.265180975821806],\n [104.18338789267894, 19.62466807706022],\n [104.8225736836971, 19.886641750563882],\n [104.43500044150805, 20.75873322192153],\n [103.20386111858645, 20.766562201413745],\n [102.75489627483466, 21.675137233969465],\n [102.17043582561358, 22.464753119389304],\n [102.7069922221001, 22.708795070887675],\n [103.50451460166056, 22.70375661873921],\n [104.47685835166448, 22.819150092046968],\n [105.32920942588663, 23.352063300056912],\n [105.81124718630521, 22.976892401617903],\n [106.72540327354845, 22.79426788989842],\n [106.56727339073532, 22.21820486092477],\n [107.04342003787262, 21.811898912029914],\n [108.05018029178294, 21.55237986906012],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Yemen\",\n sov_a3: \"YEM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Yemen\",\n adm0_a3: \"YEM\",\n geou_dif: 0,\n geounit: \"Yemen\",\n gu_a3: \"YEM\",\n su_dif: 0,\n subunit: \"Yemen\",\n su_a3: \"YEM\",\n brk_diff: 0,\n name: \"Yemen\",\n name_long: \"Yemen\",\n brk_a3: \"YEM\",\n brk_name: \"Yemen\",\n brk_group: null,\n abbrev: \"Yem.\",\n postal: \"YE\",\n formal_en: \"Republic of Yemen\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Yemen, Rep.\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 3,\n mapcolor9: 3,\n mapcolor13: 11,\n pop_est: 23822783,\n gdp_md_est: 55280,\n pop_year: -99,\n lastcensus: 2004,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"YE\",\n iso_a3: \"YEM\",\n iso_n3: \"887\",\n un_a3: \"887\",\n wb_a2: \"RY\",\n wb_a3: \"YEM\",\n woe_id: -99,\n adm0_a3_is: \"YEM\",\n adm0_a3_us: \"YEM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Asia\",\n region_un: \"Asia\",\n subregion: \"Western Asia\",\n region_wb: \"Middle East & North Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"YEM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [53.10857262554751, 16.65105113368895],\n [52.38520592632588, 16.382411200419654],\n [52.19172936382509, 15.93843313238402],\n [52.1681649107, 15.597420355689948],\n [51.172515089732485, 15.175249742081492],\n [49.57457645040315, 14.70876658778275],\n [48.67923058451416, 14.00320241948566],\n [48.23894738138742, 13.948089504446372],\n [47.938914015500785, 14.007233181204427],\n [47.354453566279716, 13.592219753468383],\n [46.717076450391744, 13.39969920496502],\n [45.87759280781027, 13.347764390511685],\n [45.62505008319987, 13.290946153206763],\n [45.406458774605255, 13.026905422411433],\n [45.14435591002086, 12.95393830001531],\n [44.98953331887441, 12.699586900274708],\n [44.49457645038285, 12.721652736863346],\n [44.175112745954486, 12.585950425664876],\n [43.48295861183713, 12.636800035040084],\n [43.22287112811213, 13.220950425667425],\n [43.25144819516953, 13.767583726450852],\n [43.08794396339806, 14.06263031662131],\n [42.89224531430872, 14.802249253798749],\n [42.60487267433362, 15.213335272680595],\n [42.80501549660005, 15.261962795467255],\n [42.70243777850066, 15.718885809791999],\n [42.823670688657415, 15.911742255105265],\n [42.77933230975097, 16.347891343648683],\n [43.21837527850275, 16.66688996018641],\n [43.11579756040335, 17.088440456607373],\n [43.380794305196105, 17.57998668056767],\n [43.79151858905192, 17.31997671149111],\n [44.06261315285508, 17.410358791569593],\n [45.21665123879718, 17.43332896572333],\n [45.39999922056875, 17.333335069238558],\n [46.366658563020536, 17.233315334537636],\n [46.74999433776165, 17.283338120996177],\n [47.000004917189756, 16.949999294497445],\n [47.46669477721763, 17.116681626854884],\n [48.18334354024134, 18.166669216377315],\n [49.11667158386487, 18.616667588774945],\n [52.00000980002224, 19.000003363516058],\n [52.78218427919205, 17.349742336491232],\n [53.10857262554751, 16.65105113368895],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Angola\",\n sov_a3: \"AGO\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Angola\",\n adm0_a3: \"AGO\",\n geou_dif: 0,\n geounit: \"Angola\",\n gu_a3: \"AGO\",\n su_dif: 0,\n subunit: \"Angola\",\n su_a3: \"AGO\",\n brk_diff: 0,\n name: \"Angola\",\n name_long: \"Angola\",\n brk_a3: \"AGO\",\n brk_name: \"Angola\",\n brk_group: null,\n abbrev: \"Ang.\",\n postal: \"AO\",\n formal_en: \"People's Republic of Angola\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Angola\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 2,\n mapcolor9: 6,\n mapcolor13: 1,\n pop_est: 12799293,\n gdp_md_est: 110300,\n pop_year: -99,\n lastcensus: 1970,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AO\",\n iso_a3: \"AGO\",\n iso_n3: \"024\",\n un_a3: \"024\",\n wb_a2: \"AO\",\n wb_a3: \"AGO\",\n woe_id: -99,\n adm0_a3_is: \"AGO\",\n adm0_a3_us: \"AGO\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Middle Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"AGO.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [16.326528354567046, -5.877470391466218],\n [16.57317996589614, -6.622644545115094],\n [16.86019087084523, -7.222297865429979],\n [17.08999596524717, -7.545688978712476],\n [17.472970004962292, -8.068551120641656],\n [18.13422163256905, -7.987677504104866],\n [18.464175652752687, -7.847014255406477],\n [19.01675174324967, -7.98824594486014],\n [19.166613396896082, -7.738183688999725],\n [19.417502475673217, -7.155428562044278],\n [20.037723016040218, -7.11636117923166],\n [20.09162153492062, -6.943090101756951],\n [20.601822950938327, -6.939317722199689],\n [20.51474816252653, -7.299605808138665],\n [21.728110792739756, -7.290872491081316],\n [21.746455926203367, -7.920084730667114],\n [21.94913089365204, -8.305900974158305],\n [21.801801385187957, -8.908706556842986],\n [21.875181919042404, -9.523707777548566],\n [22.208753289486424, -9.89479623783653],\n [22.155268182064333, -11.084801120653779],\n [22.402798292742432, -10.99307545333569],\n [22.83734541188477, -11.017621758674338],\n [23.456790805767465, -10.867863457892483],\n [23.912215203555746, -10.926826267137542],\n [24.017893507592614, -11.237298272347118],\n [23.90415368011824, -11.722281589406336],\n [24.079905226342902, -12.191296888887308],\n [23.930922072045377, -12.565847670138822],\n [24.016136508894704, -12.911046237848552],\n [21.933886346125945, -12.898437188369357],\n [21.887842644953878, -16.080310153876894],\n [22.56247846852429, -16.898451429921835],\n [23.215048455506093, -17.523116143465952],\n [21.377176141045595, -17.93063648851971],\n [18.95618696460363, -17.789094740472237],\n [18.26330936043422, -17.309950860262006],\n [14.209706658595051, -17.353100681225712],\n [14.058501417709039, -17.423380629142656],\n [13.462362094789967, -16.97121184658874],\n [12.814081251688407, -16.941342868724078],\n [12.215461460019384, -17.111668389558062],\n [11.734198846085148, -17.3018893368245],\n [11.64009606288161, -16.67314218512921],\n [11.778537224991567, -15.79381601325069],\n [12.123580763404448, -14.878316338767931],\n [12.175618930722266, -14.449143568583892],\n [12.500095249083017, -13.547699883684402],\n [12.738478631245442, -13.137905775609935],\n [13.312913852601838, -12.483630466362513],\n [13.633721144269828, -12.038644707897191],\n [13.738727654686926, -11.297863050993143],\n [13.686379428775297, -10.731075941615842],\n [13.38732791510216, -10.373578383020728],\n [13.120987583069875, -9.766897067914115],\n [12.875369500386569, -9.166933689005488],\n [12.929061313537801, -8.959091078327575],\n [13.236432732809874, -8.562629489784342],\n [12.933040398824316, -7.596538588087753],\n [12.72829837408392, -6.927122084178805],\n [12.227347039446443, -6.294447523629372],\n [12.322431674863566, -6.100092461779653],\n [12.735171339578699, -5.965682061388478],\n [13.02486941900699, -5.984388929878108],\n [13.375597364971895, -5.864241224799557],\n [16.326528354567046, -5.877470391466218],\n ],\n ],\n [\n [\n [12.436688266660923, -5.684303887559224],\n [12.18233686692028, -5.789930515163803],\n [11.914963006242116, -5.037986748884734],\n [12.318607618873926, -4.606230157086158],\n [12.62075971848455, -4.438023369976121],\n [12.995517205465205, -4.781103203961919],\n [12.631611769265845, -4.991271254092936],\n [12.468004184629763, -5.248361504744992],\n [12.436688266660923, -5.684303887559224],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Burundi\",\n sov_a3: \"BDI\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Burundi\",\n adm0_a3: \"BDI\",\n geou_dif: 0,\n geounit: \"Burundi\",\n gu_a3: \"BDI\",\n su_dif: 0,\n subunit: \"Burundi\",\n su_a3: \"BDI\",\n brk_diff: 0,\n name: \"Burundi\",\n name_long: \"Burundi\",\n brk_a3: \"BDI\",\n brk_name: \"Burundi\",\n brk_group: null,\n abbrev: \"Bur.\",\n postal: \"BI\",\n formal_en: \"Republic of Burundi\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Burundi\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 2,\n mapcolor9: 5,\n mapcolor13: 8,\n pop_est: 8988091,\n gdp_md_est: 3102,\n pop_year: -99,\n lastcensus: 2008,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BI\",\n iso_a3: \"BDI\",\n iso_n3: \"108\",\n un_a3: \"108\",\n wb_a2: \"BI\",\n wb_a3: \"BDI\",\n woe_id: -99,\n adm0_a3_is: \"BDI\",\n adm0_a3_us: \"BDI\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"BDI.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [29.339997592900346, -4.499983412294092],\n [29.276383904749053, -3.293907159034063],\n [29.024926385216787, -2.839257907730158],\n [29.632176141078588, -2.917857761246097],\n [29.938359002407942, -2.348486830254238],\n [30.469696079232985, -2.413857517103458],\n [30.527677036264464, -2.807631931167535],\n [30.7430127296247, -3.034284763199686],\n [30.75226281100495, -3.35932952231557],\n [30.505559523243566, -3.568567396665365],\n [30.116332635221173, -4.090137627787243],\n [29.753512404099922, -4.452389418153281],\n [29.339997592900346, -4.499983412294092],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Benin\",\n sov_a3: \"BEN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Benin\",\n adm0_a3: \"BEN\",\n geou_dif: 0,\n geounit: \"Benin\",\n gu_a3: \"BEN\",\n su_dif: 0,\n subunit: \"Benin\",\n su_a3: \"BEN\",\n brk_diff: 0,\n name: \"Benin\",\n name_long: \"Benin\",\n brk_a3: \"BEN\",\n brk_name: \"Benin\",\n brk_group: null,\n abbrev: \"Benin\",\n postal: \"BJ\",\n formal_en: \"Republic of Benin\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Benin\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 2,\n mapcolor9: 2,\n mapcolor13: 12,\n pop_est: 8791832,\n gdp_md_est: 12830,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BJ\",\n iso_a3: \"BEN\",\n iso_n3: \"204\",\n un_a3: \"204\",\n wb_a2: \"BJ\",\n wb_a3: \"BEN\",\n woe_id: -99,\n adm0_a3_is: \"BEN\",\n adm0_a3_us: \"BEN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"BEN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [2.691701694356254, 6.258817246928629],\n [1.865240512712319, 6.142157701029731],\n [1.618950636409238, 6.832038072126237],\n [1.664477573258381, 9.12859039960938],\n [1.46304284018467, 9.334624335157088],\n [1.425060662450136, 9.825395412633],\n [1.077795037448738, 10.175606594275024],\n [0.772335646171484, 10.470808213742359],\n [0.899563022474069, 10.99733938236426],\n [1.243469679376489, 11.110510769083461],\n [1.447178175471066, 11.547719224488858],\n [1.935985548519881, 11.641150214072553],\n [2.154473504249921, 11.940150051313337],\n [2.49016360841793, 12.233052069543675],\n [2.848643019226671, 12.235635891158267],\n [3.611180454125559, 11.660167141155966],\n [3.572216424177469, 11.327939357951518],\n [3.797112257511714, 10.734745591673105],\n [3.600070021182801, 10.332186184119408],\n [3.705438266625919, 10.063210354040208],\n [3.220351596702101, 9.4441525333997],\n [2.912308383810256, 9.13760793704432],\n [2.723792758809509, 8.50684540448971],\n [2.74906253420022, 7.870734361192888],\n [2.691701694356254, 6.258817246928629],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Burkina Faso\",\n sov_a3: \"BFA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Burkina Faso\",\n adm0_a3: \"BFA\",\n geou_dif: 0,\n geounit: \"Burkina Faso\",\n gu_a3: \"BFA\",\n su_dif: 0,\n subunit: \"Burkina Faso\",\n su_a3: \"BFA\",\n brk_diff: 0,\n name: \"Burkina Faso\",\n name_long: \"Burkina Faso\",\n brk_a3: \"BFA\",\n brk_name: \"Burkina Faso\",\n brk_group: null,\n abbrev: \"B.F.\",\n postal: \"BF\",\n formal_en: \"Burkina Faso\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Burkina Faso\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 1,\n mapcolor9: 5,\n mapcolor13: 11,\n pop_est: 15746232,\n gdp_md_est: 17820,\n pop_year: -99,\n lastcensus: 2006,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BF\",\n iso_a3: \"BFA\",\n iso_n3: \"854\",\n un_a3: \"854\",\n wb_a2: \"BF\",\n wb_a3: \"BFA\",\n woe_id: -99,\n adm0_a3_is: \"BFA\",\n adm0_a3_us: \"BFA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 12,\n long_len: 12,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"BFA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-2.827496303712707, 9.642460842319778],\n [-3.511898972986273, 9.90032623945622],\n [-3.980449184576685, 9.8623440617217],\n [-4.330246954760383, 9.61083486575714],\n [-4.779883592131966, 9.821984768101743],\n [-4.954653286143099, 10.152713934769736],\n [-5.404341599946974, 10.370736802609146],\n [-5.470564947929006, 10.951269842976048],\n [-5.197842576508648, 11.37514577885014],\n [-5.220941941743121, 11.713858954307227],\n [-4.427166103523803, 12.542645575404295],\n [-4.28040503581488, 13.228443508349741],\n [-4.006390753587226, 13.472485459848116],\n [-3.522802700199861, 13.337661647998615],\n [-3.10370683431276, 13.541266791228594],\n [-2.967694464520577, 13.79815033615151],\n [-2.191824510090385, 14.246417548067356],\n [-2.001035122068771, 14.559008287000891],\n [-1.066363491205664, 14.973815009007765],\n [-0.515854458000348, 15.116157741755726],\n [-0.26625729003058, 14.924308986872148],\n [0.374892205414682, 14.928908189346132],\n [0.295646396495101, 14.444234930880654],\n [0.429927605805517, 13.988733018443924],\n [0.993045688490071, 13.335749620003824],\n [1.024103224297477, 12.851825669806574],\n [2.177107781593776, 12.625017808477534],\n [2.154473504249921, 11.940150051313337],\n [1.935985548519881, 11.641150214072553],\n [1.447178175471066, 11.547719224488858],\n [1.243469679376489, 11.110510769083461],\n [0.899563022474069, 10.99733938236426],\n [0.023802524423701, 11.018681748900804],\n [-0.438701544588582, 11.09834096927872],\n [-0.761575893548183, 10.936929633015055],\n [-1.203357713211431, 11.009819240762738],\n [-2.940409308270461, 10.962690334512558],\n [-2.963896246747112, 10.395334784380083],\n [-2.827496303712707, 9.642460842319778],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Botswana\",\n sov_a3: \"BWA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Botswana\",\n adm0_a3: \"BWA\",\n geou_dif: 0,\n geounit: \"Botswana\",\n gu_a3: \"BWA\",\n su_dif: 0,\n subunit: \"Botswana\",\n su_a3: \"BWA\",\n brk_diff: 0,\n name: \"Botswana\",\n name_long: \"Botswana\",\n brk_a3: \"BWA\",\n brk_name: \"Botswana\",\n brk_group: null,\n abbrev: \"Bwa.\",\n postal: \"BW\",\n formal_en: \"Republic of Botswana\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Botswana\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 5,\n mapcolor9: 7,\n mapcolor13: 3,\n pop_est: 1990876,\n gdp_md_est: 27060,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BW\",\n iso_a3: \"BWA\",\n iso_n3: \"072\",\n un_a3: \"072\",\n wb_a2: \"BW\",\n wb_a3: \"BWA\",\n woe_id: -99,\n adm0_a3_is: \"BWA\",\n adm0_a3_us: \"BWA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Southern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"BWA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [25.649163445750162, -18.53602589281899],\n [25.85039147309473, -18.714412937090536],\n [26.164790887158485, -19.29308562589494],\n [27.296504754350508, -20.391519870691],\n [27.724747348753255, -20.499058526290387],\n [27.72722781750326, -20.851801853114715],\n [28.021370070108617, -21.485975030200585],\n [28.794656202924212, -21.63945403410745],\n [29.43218834810904, -22.091312758067588],\n [28.01723595552525, -22.827753594659075],\n [27.119409620886245, -23.574323011979775],\n [26.786406691197413, -24.240690606383485],\n [26.4857532081233, -24.616326592713104],\n [25.94165205252216, -24.69637338633322],\n [25.76584882986521, -25.174845472923675],\n [25.66466637543772, -25.486816094669713],\n [25.025170525825786, -25.7196700985769],\n [24.211266717228792, -25.670215752873574],\n [23.73356977712271, -25.390129489851613],\n [23.312096795350186, -25.26868987396572],\n [22.8242712745149, -25.500458672794768],\n [22.57953169118059, -25.979447523708146],\n [22.105968865657868, -26.280256036079138],\n [21.60589603036939, -26.726533705351756],\n [20.88960900237174, -26.828542982695915],\n [20.66647016773544, -26.477453301704923],\n [20.758609246511835, -25.86813648855145],\n [20.165725538827186, -24.917961928000768],\n [19.895767856534434, -24.767790215760588],\n [19.89545779794068, -21.84915699634787],\n [20.881134067475866, -21.814327080983148],\n [20.910641310314535, -18.252218926672022],\n [21.655040317478978, -18.219146010005225],\n [23.1968583513393, -17.869038181227786],\n [23.579005568137717, -18.28126108162006],\n [24.217364536239213, -17.88934701911849],\n [24.520705193792537, -17.887124932529936],\n [25.08444339366457, -17.661815687737374],\n [25.264225701608012, -17.736539808831417],\n [25.649163445750162, -18.53602589281899],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Central African Republic\",\n sov_a3: \"CAF\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Central African Republic\",\n adm0_a3: \"CAF\",\n geou_dif: 0,\n geounit: \"Central African Republic\",\n gu_a3: \"CAF\",\n su_dif: 0,\n subunit: \"Central African Republic\",\n su_a3: \"CAF\",\n brk_diff: 0,\n name: \"Central African Rep.\",\n name_long: \"Central African Republic\",\n brk_a3: \"CAF\",\n brk_name: \"Central African Rep.\",\n brk_group: null,\n abbrev: \"C.A.R.\",\n postal: \"CF\",\n formal_en: \"Central African Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Central African Republic\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 6,\n mapcolor9: 6,\n mapcolor13: 9,\n pop_est: 4511488,\n gdp_md_est: 3198,\n pop_year: -99,\n lastcensus: 2003,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CF\",\n iso_a3: \"CAF\",\n iso_n3: \"140\",\n un_a3: \"140\",\n wb_a2: \"CF\",\n wb_a3: \"CAF\",\n woe_id: -99,\n adm0_a3_is: \"CAF\",\n adm0_a3_us: \"CAF\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Middle Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 20,\n long_len: 24,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"CAF.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [15.279460483469109, 7.421924546737969],\n [16.10623172370677, 7.497087917506505],\n [16.290561557691888, 7.754307359239306],\n [16.456184523187346, 7.734773667832968],\n [16.705988396886255, 7.508327541529979],\n [17.964929640380888, 7.890914008002866],\n [18.38955488452322, 8.281303615751824],\n [18.911021762780507, 8.630894680206353],\n [18.81200971850927, 8.982914536978598],\n [19.09400800952602, 9.07484691002584],\n [20.05968549976427, 9.012706000194854],\n [21.000868361096167, 9.475985215691509],\n [21.723821648859452, 10.567055568885976],\n [22.231129184668788, 10.97188873946051],\n [22.864165480244225, 11.142395127807546],\n [22.97754357269261, 10.71446259199854],\n [23.554304233502194, 10.089255275915308],\n [23.557249790142826, 9.681218166538684],\n [23.394779087017184, 9.265067857292223],\n [23.459012892355986, 8.954285793488893],\n [23.805813429466752, 8.666318874542426],\n [24.567369012152085, 8.229187933785468],\n [25.11493248871679, 7.825104071479174],\n [25.124130893664727, 7.500085150579436],\n [25.79664798351118, 6.979315904158071],\n [26.213418409945117, 6.546603298362072],\n [26.46590945812323, 5.94671743410187],\n [27.21340905122517, 5.550953477394557],\n [27.37422610851749, 5.233944403500061],\n [27.04406538260471, 5.127852688004836],\n [26.402760857862543, 5.150874538590871],\n [25.650455356557472, 5.256087754737123],\n [25.278798455514302, 5.170408229997192],\n [25.12883344900328, 4.927244777847789],\n [24.805028924262416, 4.89724660890235],\n [24.410531040146253, 5.108784084489129],\n [23.29721398285014, 4.609693101414223],\n [22.841479526468106, 4.710126247573484],\n [22.70412356943629, 4.633050848810157],\n [22.405123732195538, 4.029160061047321],\n [21.659122755630023, 4.22434194581372],\n [20.927591180106276, 4.322785549329737],\n [20.290679152108936, 4.691677761245288],\n [19.467783644293146, 5.03152781821278],\n [18.93231245288476, 4.709506130385975],\n [18.54298221199778, 4.201785183118318],\n [18.45306521980993, 3.504385891123349],\n [17.809900343505262, 3.56019643799857],\n [17.133042433346304, 3.728196519379452],\n [16.537058139724135, 3.198254706226279],\n [16.012852410555354, 2.267639675298085],\n [15.907380812247652, 2.557389431158612],\n [15.86273237474748, 3.013537298998983],\n [15.405395948964383, 3.33530060466434],\n [15.036219516671252, 3.851367295747124],\n [14.950953403389661, 4.210389309094921],\n [14.478372430080467, 4.732605495620447],\n [14.558935988023505, 5.03059764243153],\n [14.459407179429348, 5.4517605656103],\n [14.536560092841112, 6.22695872642069],\n [14.776545444404576, 6.408498033062045],\n [15.279460483469109, 7.421924546737969],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Ivory Coast\",\n sov_a3: \"CIV\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Ivory Coast\",\n adm0_a3: \"CIV\",\n geou_dif: 0,\n geounit: \"Ivory Coast\",\n gu_a3: \"CIV\",\n su_dif: 0,\n subunit: \"Ivory Coast\",\n su_a3: \"CIV\",\n brk_diff: 0,\n name: \"Côte d'Ivoire\",\n name_long: \"Côte d'Ivoire\",\n brk_a3: \"CIV\",\n brk_name: \"Côte d'Ivoire\",\n brk_group: null,\n abbrev: \"I.C.\",\n postal: \"CI\",\n formal_en: \"Republic of Ivory Coast\",\n formal_fr: \"Republic of Cote D'Ivoire\",\n note_adm0: null,\n note_brk: null,\n name_sort: \"Côte d'Ivoire\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 6,\n mapcolor9: 3,\n mapcolor13: 3,\n pop_est: 20617068,\n gdp_md_est: 33850,\n pop_year: -99,\n lastcensus: 1998,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CI\",\n iso_a3: \"CIV\",\n iso_n3: \"384\",\n un_a3: \"384\",\n wb_a2: \"CI\",\n wb_a3: \"CIV\",\n woe_id: -99,\n adm0_a3_is: \"CIV\",\n adm0_a3_us: \"CIV\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 13,\n long_len: 13,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"CIV.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-2.856125047202397, 4.994475816259509],\n [-3.311084357100071, 4.984295559098015],\n [-4.008819545904942, 5.179813340674315],\n [-4.649917364917911, 5.168263658057086],\n [-5.834496222344526, 4.993700669775137],\n [-6.528769090185847, 4.705087795425015],\n [-7.518941209330436, 4.338288479017308],\n [-7.71215938966975, 4.364565944837722],\n [-7.63536821128403, 5.188159084489456],\n [-7.539715135111762, 5.313345241716519],\n [-7.570152553731688, 5.707352199725904],\n [-7.993692592795881, 6.126189683451543],\n [-8.311347622094019, 6.193033148621083],\n [-8.60288021486862, 6.46756419517166],\n [-8.385451626000574, 6.911800645368742],\n [-8.48544552248535, 7.39520783124307],\n [-8.439298468448698, 7.686042792181738],\n [-8.280703497744938, 7.687179673692156],\n [-8.221792364932199, 8.123328762235573],\n [-8.299048631208564, 8.316443589710303],\n [-8.20349890790088, 8.455453192575447],\n [-7.832100389019188, 8.575704250518626],\n [-8.079113735374348, 9.376223863152035],\n [-8.30961646161225, 9.789531968622441],\n [-8.229337124046822, 10.1290202905639],\n [-8.029943610048619, 10.206534939001713],\n [-7.899589809592372, 10.297382106970828],\n [-7.622759161804809, 10.147236232946796],\n [-6.850506557635057, 10.138993841996239],\n [-6.666460944027548, 10.430810655148447],\n [-6.493965013037267, 10.411302801958271],\n [-6.205222947606431, 10.524060777219134],\n [-6.050452032892267, 10.096360785355444],\n [-5.816926235365287, 10.222554633012194],\n [-5.404341599946974, 10.370736802609146],\n [-4.954653286143099, 10.152713934769736],\n [-4.779883592131966, 9.821984768101743],\n [-4.330246954760383, 9.61083486575714],\n [-3.980449184576685, 9.8623440617217],\n [-3.511898972986273, 9.90032623945622],\n [-2.827496303712707, 9.642460842319778],\n [-2.562189500326241, 8.219627793811483],\n [-2.983584967450327, 7.379704901555512],\n [-3.244370083011262, 6.250471503113502],\n [-2.81070146321784, 5.38905121502411],\n [-2.856125047202397, 4.994475816259509],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Republic of Congo\",\n sov_a3: \"COG\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Republic of Congo\",\n adm0_a3: \"COG\",\n geou_dif: 0,\n geounit: \"Republic of Congo\",\n gu_a3: \"COG\",\n su_dif: 0,\n subunit: \"Republic of Congo\",\n su_a3: \"COG\",\n brk_diff: 0,\n name: \"Congo\",\n name_long: \"Republic of Congo\",\n brk_a3: \"COG\",\n brk_name: \"Republic of Congo\",\n brk_group: null,\n abbrev: \"Rep. Congo\",\n postal: \"CG\",\n formal_en: \"Republic of Congo\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Congo, Rep.\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 1,\n mapcolor9: 3,\n mapcolor13: 10,\n pop_est: 4012809,\n gdp_md_est: 15350,\n pop_year: -99,\n lastcensus: 2007,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CG\",\n iso_a3: \"COG\",\n iso_n3: \"178\",\n un_a3: \"178\",\n wb_a2: \"CG\",\n wb_a3: \"COG\",\n woe_id: -99,\n adm0_a3_is: \"COG\",\n adm0_a3_us: \"COG\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Middle Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 5,\n long_len: 17,\n abbrev_len: 10,\n tiny: -99,\n homepart: 1,\n filename: \"COG.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [12.995517205465177, -4.781103203961884],\n [12.620759718484491, -4.438023369976136],\n [12.318607618873926, -4.606230157086188],\n [11.91496300624209, -5.037986748884791],\n [11.093772820691925, -3.978826592630547],\n [11.855121697648114, -3.426870619321051],\n [11.478038771214303, -2.765618991714241],\n [11.820963575903193, -2.514161472181982],\n [12.495702752338161, -2.391688327650243],\n [12.575284458067642, -1.948511244315135],\n [13.109618767965628, -2.428740329603514],\n [13.99240726080771, -2.4708049454891],\n [14.299210239324564, -1.998275648612214],\n [14.425455763413593, -1.333406670744971],\n [14.316418491277743, -0.552627455247048],\n [13.843320753645655, 0.038757635901149],\n [14.276265903386957, 1.196929836426619],\n [14.026668735417218, 1.395677395021153],\n [13.282631463278818, 1.31418366129688],\n [13.003113641012078, 1.83089630778332],\n [13.075822381246752, 2.267097072759015],\n [14.33781253424658, 2.227874660649491],\n [15.146341993885244, 1.964014797367184],\n [15.940918816805064, 1.727672634280295],\n [16.012852410555354, 2.267639675298085],\n [16.537058139724135, 3.198254706226279],\n [17.133042433346304, 3.728196519379452],\n [17.809900343505262, 3.56019643799857],\n [18.45306521980993, 3.504385891123349],\n [18.39379235197114, 2.90044342692822],\n [18.094275750407434, 2.365721543788055],\n [17.898835483479587, 1.741831976728278],\n [17.774191928791566, 0.855658677571085],\n [17.826540154703252, 0.288923244626105],\n [17.66355268725468, -0.058083998213817],\n [17.638644646889986, -0.424831638189247],\n [17.523716261472856, -0.743830254726987],\n [16.865306837642123, -1.225816338713287],\n [16.407091912510054, -1.740927015798682],\n [15.972803175529151, -2.712392266453612],\n [16.0062895036543, -3.535132744972529],\n [15.75354007331475, -3.855164890156096],\n [15.170991652088444, -4.343507175314301],\n [14.58260379401318, -4.97023894615014],\n [14.209034864975223, -4.793092136253598],\n [14.144956088933299, -4.510008640158715],\n [13.600234816144678, -4.50013844159097],\n [13.258240187237048, -4.882957452009165],\n [12.995517205465177, -4.781103203961884],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Cameroon\",\n sov_a3: \"CMR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Cameroon\",\n adm0_a3: \"CMR\",\n geou_dif: 0,\n geounit: \"Cameroon\",\n gu_a3: \"CMR\",\n su_dif: 0,\n subunit: \"Cameroon\",\n su_a3: \"CMR\",\n brk_diff: 0,\n name: \"Cameroon\",\n name_long: \"Cameroon\",\n brk_a3: \"CMR\",\n brk_name: \"Cameroon\",\n brk_group: null,\n abbrev: \"Cam.\",\n postal: \"CM\",\n formal_en: \"Republic of Cameroon\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Cameroon\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 1,\n mapcolor13: 3,\n pop_est: 18879301,\n gdp_md_est: 42750,\n pop_year: -99,\n lastcensus: 2005,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CM\",\n iso_a3: \"CMR\",\n iso_n3: \"120\",\n un_a3: \"120\",\n wb_a2: \"CM\",\n wb_a3: \"CMR\",\n woe_id: -99,\n adm0_a3_is: \"CMR\",\n adm0_a3_us: \"CMR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Middle Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"CMR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [13.075822381246752, 2.267097072759015],\n [12.951333855855609, 2.32161570882694],\n [12.359380323952221, 2.19281220133945],\n [11.75166548019979, 2.326757513839993],\n [11.276449008843713, 2.261050930180872],\n [9.649158155972628, 2.283866075037736],\n [9.795195753629457, 3.073404445809117],\n [9.404366896206, 3.734526882335202],\n [8.948115675501072, 3.904128933117136],\n [8.744923943729418, 4.35221527751996],\n [8.488815545290889, 4.495617377129918],\n [8.500287713259695, 4.771982937026849],\n [8.757532993208628, 5.479665839047911],\n [9.233162876023044, 6.444490668153334],\n [9.522705926154401, 6.453482367372117],\n [10.118276808318257, 7.038769639509879],\n [10.497375115611417, 7.055357774275564],\n [11.05878787603035, 6.644426784690594],\n [11.74577436691851, 6.981382961449753],\n [11.839308709366803, 7.397042344589436],\n [12.063946160539558, 7.799808457872302],\n [12.218872104550599, 8.305824082874324],\n [12.753671502339214, 8.717762762888995],\n [12.955467970438974, 9.417771714714704],\n [13.167599724997103, 9.640626328973411],\n [13.308676385153918, 10.160362046748928],\n [13.572949659894562, 10.798565985553566],\n [14.415378859116686, 11.572368882692075],\n [14.468192172918975, 11.904751695193411],\n [14.577177768622533, 12.085360826053503],\n [14.181336297266792, 12.483656927943116],\n [14.213530714584634, 12.802035427293347],\n [14.495787387762844, 12.85939626713733],\n [14.893385857816526, 12.219047756392584],\n [14.9601518083376, 11.555574042197224],\n [14.923564894274959, 10.891325181517473],\n [15.467872755605269, 9.98233673750343],\n [14.909353875394716, 9.99212942142273],\n [14.62720055508106, 9.920919297724538],\n [14.171466098699028, 10.021378282099931],\n [13.954218377344006, 9.549494940626685],\n [14.544466586981768, 8.965861314322268],\n [14.97999555833769, 8.796104234243472],\n [15.120865512765334, 8.382150173369423],\n [15.436091749745769, 7.692812404811973],\n [15.279460483469109, 7.421924546737969],\n [14.776545444404576, 6.408498033062045],\n [14.536560092841112, 6.22695872642069],\n [14.459407179429348, 5.4517605656103],\n [14.558935988023505, 5.03059764243153],\n [14.478372430080467, 4.732605495620447],\n [14.950953403389661, 4.210389309094921],\n [15.036219516671252, 3.851367295747124],\n [15.405395948964383, 3.33530060466434],\n [15.86273237474748, 3.013537298998983],\n [15.907380812247652, 2.557389431158612],\n [16.012852410555354, 2.267639675298085],\n [15.940918816805064, 1.727672634280295],\n [15.146341993885244, 1.964014797367184],\n [14.33781253424658, 2.227874660649491],\n [13.075822381246752, 2.267097072759015],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Democratic Republic of the Congo\",\n sov_a3: \"COD\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Democratic Republic of the Congo\",\n adm0_a3: \"COD\",\n geou_dif: 0,\n geounit: \"Democratic Republic of the Congo\",\n gu_a3: \"COD\",\n su_dif: 0,\n subunit: \"Democratic Republic of the Congo\",\n su_a3: \"COD\",\n brk_diff: 0,\n name: \"Dem. Rep. Congo\",\n name_long: \"Democratic Republic of the Congo\",\n brk_a3: \"COD\",\n brk_name: \"Democratic Republic of the Congo\",\n brk_group: null,\n abbrev: \"D.R.C.\",\n postal: \"DRC\",\n formal_en: \"Democratic Republic of the Congo\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Congo, Dem. Rep.\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 4,\n mapcolor9: 4,\n mapcolor13: 7,\n pop_est: 68692542,\n gdp_md_est: 20640,\n pop_year: -99,\n lastcensus: 1984,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CD\",\n iso_a3: \"COD\",\n iso_n3: \"180\",\n un_a3: \"180\",\n wb_a2: \"ZR\",\n wb_a3: \"ZAR\",\n woe_id: -99,\n adm0_a3_is: \"COD\",\n adm0_a3_us: \"COD\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Middle Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 15,\n long_len: 32,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"COD.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [30.833859897593808, 3.509165961110341],\n [30.773346795380043, 2.339883327642127],\n [31.174149204235814, 2.204465236821264],\n [30.852670118948055, 1.849396470543809],\n [30.468507521290295, 1.58380544677972],\n [30.086153598762703, 1.062312730306289],\n [29.875778842902495, 0.597379868976304],\n [29.819503208136638, -0.205310153813372],\n [29.58783776217217, -0.587405694179481],\n [29.579466180140884, -1.341313164885626],\n [29.29188683443661, -1.620055840667987],\n [29.25483483248334, -2.215109958508911],\n [29.117478875451553, -2.292211195488385],\n [29.024926385216787, -2.839257907730158],\n [29.276383904749053, -3.293907159034063],\n [29.339997592900346, -4.499983412294092],\n [29.519986606572925, -5.419978936386314],\n [29.419992710088167, -5.939998874539433],\n [29.62003217949001, -6.520015150583426],\n [30.199996779101696, -7.079980970898163],\n [30.740015496551788, -8.340007419470915],\n [30.346086053190813, -8.238256524288218],\n [29.002912225060467, -8.407031752153472],\n [28.7348665707625, -8.526559340044578],\n [28.449871046672826, -9.164918308146085],\n [28.67368167492893, -9.605924981324932],\n [28.49606977714177, -10.789883721564044],\n [28.372253045370428, -11.793646742401393],\n [28.642417433392353, -11.971568698782315],\n [29.34154788586909, -12.360743910372413],\n [29.61600141777123, -12.178894545137311],\n [29.69961388521949, -13.257226657771831],\n [28.934285922976837, -13.248958428605135],\n [28.523561639121027, -12.698604424696683],\n [28.155108676879987, -12.272480564017897],\n [27.38879886242378, -12.132747491100666],\n [27.164419793412463, -11.608748467661075],\n [26.553087599399618, -11.924439792532127],\n [25.752309604604733, -11.784965101776358],\n [25.418118116973204, -11.330935967659961],\n [24.78316979340295, -11.238693536018964],\n [24.31451622894795, -11.26282642989927],\n [24.25715538910399, -10.951992689663657],\n [23.912215203555718, -10.926826267137514],\n [23.45679080576744, -10.867863457892483],\n [22.83734541188474, -11.01762175867433],\n [22.402798292742375, -10.99307545333569],\n [22.155268182064308, -11.084801120653772],\n [22.208753289486395, -9.894796237836509],\n [21.875181919042348, -9.523707777548566],\n [21.8018013851879, -8.908706556842978],\n [21.949130893652043, -8.305900974158277],\n [21.74645592620331, -7.920084730667149],\n [21.7281107927397, -7.290872491081302],\n [20.514748162526498, -7.299605808138629],\n [20.6018229509383, -6.939317722199682],\n [20.091621534920648, -6.943090101756993],\n [20.037723016040218, -7.116361179231646],\n [19.417502475673157, -7.155428562044298],\n [19.16661339689611, -7.738183688999754],\n [19.01675174324967, -7.988245944860132],\n [18.464175652752687, -7.847014255406444],\n [18.13422163256905, -7.987677504104922],\n [17.472970004962235, -8.0685511206417],\n [17.08999596524717, -7.545688978712526],\n [16.8601908708452, -7.222297865429986],\n [16.57317996589614, -6.622644545115087],\n [16.326528354567046, -5.877470391466267],\n [13.375597364971895, -5.864241224799549],\n [13.02486941900696, -5.984388929878157],\n [12.735171339578699, -5.965682061388499],\n [12.32243167486351, -6.10009246177966],\n [12.182336866920252, -5.789930515163839],\n [12.436688266660868, -5.684303887559246],\n [12.468004184629736, -5.248361504745005],\n [12.63161176926579, -4.991271254092936],\n [12.995517205465177, -4.781103203961884],\n [13.258240187237048, -4.882957452009165],\n [13.600234816144678, -4.50013844159097],\n [14.144956088933299, -4.510008640158715],\n [14.209034864975223, -4.793092136253598],\n [14.58260379401318, -4.97023894615014],\n [15.170991652088444, -4.343507175314301],\n [15.75354007331475, -3.855164890156096],\n [16.0062895036543, -3.535132744972529],\n [15.972803175529151, -2.712392266453612],\n [16.407091912510054, -1.740927015798682],\n [16.865306837642123, -1.225816338713287],\n [17.523716261472856, -0.743830254726987],\n [17.638644646889986, -0.424831638189247],\n [17.66355268725468, -0.058083998213817],\n [17.826540154703252, 0.288923244626105],\n [17.774191928791566, 0.855658677571085],\n [17.898835483479587, 1.741831976728278],\n [18.094275750407434, 2.365721543788055],\n [18.39379235197114, 2.90044342692822],\n [18.45306521980993, 3.504385891123349],\n [18.54298221199778, 4.201785183118318],\n [18.93231245288476, 4.709506130385975],\n [19.467783644293146, 5.03152781821278],\n [20.290679152108936, 4.691677761245288],\n [20.927591180106276, 4.322785549329737],\n [21.659122755630023, 4.22434194581372],\n [22.405123732195538, 4.029160061047321],\n [22.70412356943629, 4.633050848810157],\n [22.841479526468106, 4.710126247573484],\n [23.29721398285014, 4.609693101414223],\n [24.410531040146253, 5.108784084489129],\n [24.805028924262416, 4.89724660890235],\n [25.12883344900328, 4.927244777847789],\n [25.278798455514302, 5.170408229997192],\n [25.650455356557472, 5.256087754737123],\n [26.402760857862543, 5.150874538590871],\n [27.04406538260471, 5.127852688004836],\n [27.37422610851749, 5.233944403500061],\n [27.979977247842807, 4.408413397637375],\n [28.428993768026913, 4.287154649264494],\n [28.696677687298802, 4.455077215996937],\n [29.1590784034465, 4.389267279473231],\n [29.71599531425602, 4.600804755060025],\n [29.953500197069474, 4.173699042167683],\n [30.833859897593808, 3.509165961110341],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Djibouti\",\n sov_a3: \"DJI\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Djibouti\",\n adm0_a3: \"DJI\",\n geou_dif: 0,\n geounit: \"Djibouti\",\n gu_a3: \"DJI\",\n su_dif: 0,\n subunit: \"Djibouti\",\n su_a3: \"DJI\",\n brk_diff: 0,\n name: \"Djibouti\",\n name_long: \"Djibouti\",\n brk_a3: \"DJI\",\n brk_name: \"Djibouti\",\n brk_group: null,\n abbrev: \"Dji.\",\n postal: \"DJ\",\n formal_en: \"Republic of Djibouti\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Djibouti\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 2,\n mapcolor9: 4,\n mapcolor13: 8,\n pop_est: 516055,\n gdp_md_est: 1885,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"DJ\",\n iso_a3: \"DJI\",\n iso_n3: \"262\",\n un_a3: \"262\",\n wb_a2: \"DJ\",\n wb_a3: \"DJI\",\n woe_id: -99,\n adm0_a3_is: \"DJI\",\n adm0_a3_us: \"DJI\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Middle East & North Africa\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"DJI.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [43.08122602720015, 12.699638576707116],\n [43.31785241066467, 12.390148423711025],\n [43.286381463398925, 11.974928290245884],\n [42.715873650896526, 11.735640570518342],\n [43.14530480324214, 11.462039699748857],\n [42.77685184100096, 10.92687856693442],\n [42.55493000000013, 11.105110000000195],\n [42.31414000000012, 11.0342],\n [41.755570000000205, 11.050910000000101],\n [41.73959000000019, 11.355110000000138],\n [41.66176000000013, 11.6312],\n [42.000000000000114, 12.100000000000136],\n [42.35156000000012, 12.542230000000131],\n [42.77964236834475, 12.455415757695675],\n [43.08122602720015, 12.699638576707116],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Egypt\",\n sov_a3: \"EGY\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Egypt\",\n adm0_a3: \"EGY\",\n geou_dif: 0,\n geounit: \"Egypt\",\n gu_a3: \"EGY\",\n su_dif: 0,\n subunit: \"Egypt\",\n su_a3: \"EGY\",\n brk_diff: 0,\n name: \"Egypt\",\n name_long: \"Egypt\",\n brk_a3: \"EGY\",\n brk_name: \"Egypt\",\n brk_group: null,\n abbrev: \"Egypt\",\n postal: \"EG\",\n formal_en: \"Arab Republic of Egypt\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Egypt, Arab Rep.\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 6,\n mapcolor9: 7,\n mapcolor13: 2,\n pop_est: 83082869,\n gdp_md_est: 443700,\n pop_year: -99,\n lastcensus: 2006,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"EG\",\n iso_a3: \"EGY\",\n iso_n3: \"818\",\n un_a3: \"818\",\n wb_a2: \"EG\",\n wb_a3: \"EGY\",\n woe_id: -99,\n adm0_a3_is: \"EGY\",\n adm0_a3_us: \"EGY\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Northern Africa\",\n region_wb: \"Middle East & North Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"EGY.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [34.9226, 29.50133],\n [34.64174, 29.09942],\n [34.42655, 28.34399],\n [34.15451, 27.8233],\n [33.92136, 27.6487],\n [33.58811, 27.97136],\n [33.13676, 28.41765],\n [32.42323, 29.85108],\n [32.32046, 29.76043],\n [32.73482, 28.70523],\n [33.34876, 27.69989],\n [34.10455, 26.14227],\n [34.47387, 25.59856],\n [34.79507, 25.03375],\n [35.69241, 23.92671],\n [35.49372, 23.75237],\n [35.52598, 23.10244],\n [36.69069, 22.20485],\n [36.86623, 22],\n [32.9, 22],\n [29.02, 22],\n [25, 22],\n [25, 25.682499996361],\n [25, 29.23865452953346],\n [24.70007, 30.04419],\n [24.95762, 30.6616],\n [24.80287, 31.08929],\n [25.16482, 31.56915],\n [26.49533, 31.58568],\n [27.45762, 31.32126],\n [28.45048, 31.02577],\n [28.91353, 30.87005],\n [29.68342, 31.18686],\n [30.09503, 31.4734],\n [30.97693, 31.55586],\n [31.68796, 31.4296],\n [31.96041, 30.9336],\n [32.19247, 31.26034],\n [32.99392, 31.02407],\n [33.7734, 30.96746],\n [34.26544, 31.21936],\n [34.9226, 29.50133],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Eritrea\",\n sov_a3: \"ERI\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Eritrea\",\n adm0_a3: \"ERI\",\n geou_dif: 0,\n geounit: \"Eritrea\",\n gu_a3: \"ERI\",\n su_dif: 0,\n subunit: \"Eritrea\",\n su_a3: \"ERI\",\n brk_diff: 0,\n name: \"Eritrea\",\n name_long: \"Eritrea\",\n brk_a3: \"ERI\",\n brk_name: \"Eritrea\",\n brk_group: null,\n abbrev: \"Erit.\",\n postal: \"ER\",\n formal_en: \"State of Eritrea\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Eritrea\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 1,\n mapcolor9: 2,\n mapcolor13: 12,\n pop_est: 5647168,\n gdp_md_est: 3945,\n pop_year: -99,\n lastcensus: 1984,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"ER\",\n iso_a3: \"ERI\",\n iso_n3: \"232\",\n un_a3: \"232\",\n wb_a2: \"ER\",\n wb_a3: \"ERI\",\n woe_id: -99,\n adm0_a3_is: \"ERI\",\n adm0_a3_us: \"ERI\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"ERI.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [42.35156000000012, 12.542230000000131],\n [42.00975, 12.86582],\n [41.59856, 13.452090000000112],\n [41.15519371924984, 13.773319810435224],\n [40.8966, 14.118640000000141],\n [40.026218702969175, 14.519579169162284],\n [39.34061, 14.53155],\n [39.0994, 14.74064],\n [38.51295, 14.50547],\n [37.90607000000011, 14.959430000000168],\n [37.59377, 14.2131],\n [36.42951, 14.42211],\n [36.32318891779812, 14.82248057704106],\n [36.75386030451858, 16.29187409104429],\n [36.852530000000115, 16.95655],\n [37.16747, 17.263140000000135],\n [37.90400000000011, 17.42754],\n [38.410089959473225, 17.99830739997031],\n [38.990622999840014, 16.84062612555169],\n [39.26611006038803, 15.922723496967249],\n [39.814293654140215, 15.435647284400318],\n [41.17927493669765, 14.491079616753211],\n [41.73495161313235, 13.921036892141558],\n [42.27683068214486, 13.343992010954423],\n [42.58957645037526, 13.000421250861905],\n [43.08122602720015, 12.699638576707116],\n [42.77964236834475, 12.455415757695675],\n [42.35156000000012, 12.542230000000131],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Algeria\",\n sov_a3: \"DZA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Algeria\",\n adm0_a3: \"DZA\",\n geou_dif: 0,\n geounit: \"Algeria\",\n gu_a3: \"DZA\",\n su_dif: 0,\n subunit: \"Algeria\",\n su_a3: \"DZA\",\n brk_diff: 0,\n name: \"Algeria\",\n name_long: \"Algeria\",\n brk_a3: \"DZA\",\n brk_name: \"Algeria\",\n brk_group: null,\n abbrev: \"Alg.\",\n postal: \"DZ\",\n formal_en: \"People's Democratic Republic of Algeria\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Algeria\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 1,\n mapcolor9: 6,\n mapcolor13: 3,\n pop_est: 34178188,\n gdp_md_est: 232900,\n pop_year: -99,\n lastcensus: 2008,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"DZ\",\n iso_a3: \"DZA\",\n iso_n3: \"012\",\n un_a3: \"012\",\n wb_a2: \"DZ\",\n wb_a3: \"DZA\",\n woe_id: -99,\n adm0_a3_is: \"DZA\",\n adm0_a3_us: \"DZA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Northern Africa\",\n region_wb: \"Middle East & North Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"DZA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [11.999505649471613, 23.47166840259645],\n [8.572893100629784, 21.565660712159143],\n [5.677565952180686, 19.601206976799716],\n [4.267419467800039, 19.155265204337],\n [3.158133172222705, 19.057364203360038],\n [3.1466610042539, 19.69357859952144],\n [2.683588494486429, 19.856230170160114],\n [2.06099083823392, 20.142233384679486],\n [1.823227573259032, 20.610809434486043],\n [-1.550054897457613, 22.792665920497384],\n [-4.92333736817423, 24.974574082941],\n [-8.68439978680905, 27.395744126896005],\n [-8.665124477564191, 27.589479071558227],\n [-8.665589565454809, 27.656425889592356],\n [-8.674116176782974, 28.84128896739658],\n [-7.059227667661928, 29.57922842052453],\n [-6.060632290053774, 29.731699734001694],\n [-5.242129278982787, 30.000443020135588],\n [-4.859646165374471, 30.501187649043842],\n [-3.690441046554696, 30.896951605751152],\n [-3.647497931320146, 31.63729401298067],\n [-3.068980271812648, 31.724497992473214],\n [-2.616604783529567, 32.09434621838615],\n [-1.30789913573787, 32.2628889023061],\n [-1.124551153966308, 32.65152151135713],\n [-1.388049282222568, 32.86401500094131],\n [-1.733454555661467, 33.919712836231994],\n [-1.792985805661687, 34.527918606091205],\n [-2.169913702798624, 35.16839630791668],\n [-1.208602871089056, 35.7148487411871],\n [-0.127454392894606, 35.888662421200806],\n [0.503876580415209, 36.30127289483528],\n [1.466918572606545, 36.605647081034405],\n [3.161698846050825, 36.78390493422522],\n [4.81575809084913, 36.86503693292346],\n [5.320120070017793, 36.71651886651662],\n [6.261819695672613, 37.11065501560674],\n [7.33038496260397, 37.118380642234364],\n [7.737078484741004, 36.885707505840216],\n [8.420964389691676, 36.94642731378316],\n [8.217824334352315, 36.433176988260286],\n [8.376367628623768, 35.47987600355594],\n [8.140981479534304, 34.65514598239379],\n [7.524481642292244, 34.09737641045146],\n [7.612641635782182, 33.34411489514896],\n [8.430472853233368, 32.74833730725595],\n [8.439102817426118, 32.50628489840082],\n [9.055602654668148, 32.10269196220129],\n [9.482139926805274, 30.307556057246188],\n [9.805634392952411, 29.42463837332339],\n [9.859997999723447, 28.959989732371014],\n [9.683884718472767, 28.1441738957792],\n [9.756128370816782, 27.68825857188415],\n [9.629056023811074, 27.14095347748092],\n [9.716285841519749, 26.512206325785698],\n [9.319410841518163, 26.094324856057455],\n [9.910692579801776, 25.36545461679674],\n [9.94826134607797, 24.936953640232517],\n [10.303846876678362, 24.379313259370917],\n [10.771363559622927, 24.56253205006175],\n [11.560669386449005, 24.097909247325518],\n [11.999505649471613, 23.47166840259645],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Ethiopia\",\n sov_a3: \"ETH\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Ethiopia\",\n adm0_a3: \"ETH\",\n geou_dif: 0,\n geounit: \"Ethiopia\",\n gu_a3: \"ETH\",\n su_dif: 0,\n subunit: \"Ethiopia\",\n su_a3: \"ETH\",\n brk_diff: 0,\n name: \"Ethiopia\",\n name_long: \"Ethiopia\",\n brk_a3: \"ETH\",\n brk_name: \"Ethiopia\",\n brk_group: null,\n abbrev: \"Eth.\",\n postal: \"ET\",\n formal_en: \"Federal Democratic Republic of Ethiopia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Ethiopia\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 4,\n mapcolor9: 1,\n mapcolor13: 13,\n pop_est: 85237338,\n gdp_md_est: 68770,\n pop_year: -99,\n lastcensus: 2007,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"ET\",\n iso_a3: \"ETH\",\n iso_n3: \"231\",\n un_a3: \"231\",\n wb_a2: \"ET\",\n wb_a3: \"ETH\",\n woe_id: -99,\n adm0_a3_is: \"ETH\",\n adm0_a3_us: \"ETH\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"ETH.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [37.90607000000011, 14.959430000000168],\n [38.51295, 14.50547],\n [39.0994, 14.74064],\n [39.34061, 14.53155],\n [40.02625000000012, 14.51959],\n [40.8966, 14.118640000000141],\n [41.1552, 13.77333],\n [41.59856, 13.452090000000112],\n [42.00975, 12.86582],\n [42.35156000000012, 12.542230000000131],\n [42.000000000000114, 12.100000000000136],\n [41.66176000000013, 11.6312],\n [41.73959000000019, 11.355110000000138],\n [41.755570000000205, 11.050910000000101],\n [42.31414000000012, 11.0342],\n [42.55493000000013, 11.105110000000195],\n [42.77685184100096, 10.92687856693442],\n [42.55876, 10.57258000000013],\n [42.92812, 10.021940000000143],\n [43.29699000000011, 9.540480000000173],\n [43.67875, 9.18358000000012],\n [46.94834, 7.99688],\n [47.78942, 8.003],\n [44.9636, 5.001620000000116],\n [43.66087, 4.95755],\n [42.76967000000013, 4.252590000000225],\n [42.12861, 4.234130000000164],\n [41.85508309264412, 3.918911920483765],\n [41.17180000000013, 3.91909],\n [40.76848000000012, 4.257020000000125],\n [39.85494000000011, 3.838790000000131],\n [39.55938425876593, 3.422060000000215],\n [38.89251, 3.50074],\n [38.67114, 3.61607],\n [38.436970000000144, 3.58851],\n [38.12091500000014, 3.598605],\n [36.85509323800824, 4.447864127672858],\n [36.15907863285565, 4.447864127672858],\n [35.81744766235362, 4.776965663462022],\n [35.81744766235362, 5.338232082790853],\n [35.298007118233095, 5.506],\n [34.70702, 6.59422000000012],\n [34.25032, 6.82607],\n [34.07510000000019, 7.22595],\n [33.568290000000104, 7.71334],\n [32.954180000000235, 7.784970000000102],\n [33.29480000000012, 8.35458],\n [33.82550000000015, 8.37916],\n [33.97498, 8.684560000000147],\n [33.96162, 9.58358],\n [34.25745, 10.63009],\n [34.73115000000013, 10.910170000000107],\n [34.83163000000013, 11.318960000000118],\n [35.26049, 12.08286],\n [35.863630000000164, 12.57828],\n [36.27022, 13.563330000000121],\n [36.42951, 14.42211],\n [37.59377, 14.2131],\n [37.90607000000011, 14.959430000000168],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Gabon\",\n sov_a3: \"GAB\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Gabon\",\n adm0_a3: \"GAB\",\n geou_dif: 0,\n geounit: \"Gabon\",\n gu_a3: \"GAB\",\n su_dif: 0,\n subunit: \"Gabon\",\n su_a3: \"GAB\",\n brk_diff: 0,\n name: \"Gabon\",\n name_long: \"Gabon\",\n brk_a3: \"GAB\",\n brk_name: \"Gabon\",\n brk_group: null,\n abbrev: \"Gabon\",\n postal: \"GA\",\n formal_en: \"Gabonese Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Gabon\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 2,\n mapcolor9: 5,\n mapcolor13: 5,\n pop_est: 1514993,\n gdp_md_est: 21110,\n pop_year: -99,\n lastcensus: 2003,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GA\",\n iso_a3: \"GAB\",\n iso_n3: \"266\",\n un_a3: \"266\",\n wb_a2: \"GA\",\n wb_a3: \"GAB\",\n woe_id: -99,\n adm0_a3_is: \"GAB\",\n adm0_a3_us: \"GAB\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Middle Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: 3,\n homepart: 1,\n filename: \"GAB.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [11.093772820691925, -3.978826592630547],\n [10.06613528813574, -2.969482517105681],\n [9.40524539555497, -2.144313246269043],\n [8.79799563969317, -1.111301364754496],\n [8.830086704146423, -0.779073581550037],\n [9.048419630579588, -0.459351494960217],\n [9.29135053878369, 0.268666083167687],\n [9.492888624721985, 1.010119533691494],\n [9.830284051155644, 1.067893784993799],\n [11.285078973036462, 1.057661851400013],\n [11.276449008843713, 2.261050930180872],\n [11.75166548019979, 2.326757513839993],\n [12.359380323952221, 2.19281220133945],\n [12.951333855855609, 2.32161570882694],\n [13.075822381246752, 2.267097072759015],\n [13.003113641012078, 1.83089630778332],\n [13.282631463278818, 1.31418366129688],\n [14.026668735417218, 1.395677395021153],\n [14.276265903386957, 1.196929836426619],\n [13.843320753645655, 0.038757635901149],\n [14.316418491277743, -0.552627455247048],\n [14.425455763413593, -1.333406670744971],\n [14.299210239324564, -1.998275648612214],\n [13.99240726080771, -2.4708049454891],\n [13.109618767965628, -2.428740329603514],\n [12.575284458067642, -1.948511244315135],\n [12.495702752338161, -2.391688327650243],\n [11.820963575903193, -2.514161472181982],\n [11.478038771214303, -2.765618991714241],\n [11.855121697648114, -3.426870619321051],\n [11.093772820691925, -3.978826592630547],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Ghana\",\n sov_a3: \"GHA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Ghana\",\n adm0_a3: \"GHA\",\n geou_dif: 0,\n geounit: \"Ghana\",\n gu_a3: \"GHA\",\n su_dif: 0,\n subunit: \"Ghana\",\n su_a3: \"GHA\",\n brk_diff: 0,\n name: \"Ghana\",\n name_long: \"Ghana\",\n brk_a3: \"GHA\",\n brk_name: \"Ghana\",\n brk_group: null,\n abbrev: \"Ghana\",\n postal: \"GH\",\n formal_en: \"Republic of Ghana\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Ghana\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 3,\n mapcolor9: 1,\n mapcolor13: 4,\n pop_est: 23832495,\n gdp_md_est: 34200,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GH\",\n iso_a3: \"GHA\",\n iso_n3: \"288\",\n un_a3: \"288\",\n wb_a2: \"GH\",\n wb_a3: \"GHA\",\n woe_id: -99,\n adm0_a3_is: \"GHA\",\n adm0_a3_us: \"GHA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"GHA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [1.060121697604927, 5.928837388528876],\n [-0.507637905265938, 5.343472601742675],\n [-1.063624640294194, 5.000547797053812],\n [-1.964706590167594, 4.710462144383371],\n [-2.856125047202397, 4.994475816259509],\n [-2.81070146321784, 5.38905121502411],\n [-3.244370083011262, 6.250471503113502],\n [-2.983584967450327, 7.379704901555512],\n [-2.562189500326241, 8.219627793811483],\n [-2.827496303712707, 9.642460842319778],\n [-2.963896246747112, 10.395334784380083],\n [-2.940409308270461, 10.962690334512558],\n [-1.203357713211431, 11.009819240762738],\n [-0.761575893548183, 10.936929633015055],\n [-0.438701544588582, 11.09834096927872],\n [0.023802524423701, 11.018681748900804],\n [-0.049784715159944, 10.706917832883931],\n [0.367579990245389, 10.19121287682718],\n [0.365900506195885, 9.465003973829482],\n [0.461191847342121, 8.677222601756014],\n [0.712029249686878, 8.31246450442383],\n [0.490957472342245, 7.411744289576475],\n [0.570384148774849, 6.914358628767189],\n [0.836931186536333, 6.279978745952149],\n [1.060121697604927, 5.928837388528876],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Guinea\",\n sov_a3: \"GIN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Guinea\",\n adm0_a3: \"GIN\",\n geou_dif: 0,\n geounit: \"Guinea\",\n gu_a3: \"GIN\",\n su_dif: 0,\n subunit: \"Guinea\",\n su_a3: \"GIN\",\n brk_diff: 0,\n name: \"Guinea\",\n name_long: \"Guinea\",\n brk_a3: \"GIN\",\n brk_name: \"Guinea\",\n brk_group: null,\n abbrev: \"Gin.\",\n postal: \"GN\",\n formal_en: \"Republic of Guinea\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Guinea\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 3,\n mapcolor9: 7,\n mapcolor13: 2,\n pop_est: 10057975,\n gdp_md_est: 10600,\n pop_year: -99,\n lastcensus: 1996,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GN\",\n iso_a3: \"GIN\",\n iso_n3: \"324\",\n un_a3: \"324\",\n wb_a2: \"GN\",\n wb_a3: \"GIN\",\n woe_id: -99,\n adm0_a3_is: \"GIN\",\n adm0_a3_us: \"GIN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"GIN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-8.439298468448698, 7.686042792181738],\n [-8.722123582382123, 7.71167430259851],\n [-8.926064622422004, 7.309037380396375],\n [-9.208786383490844, 7.313920803247953],\n [-9.40334815106975, 7.526905218938907],\n [-9.337279832384581, 7.928534450711353],\n [-9.755342169625834, 8.541055202666925],\n [-10.016566534861255, 8.42850393313523],\n [-10.23009355309128, 8.406205552601293],\n [-10.505477260774668, 8.348896389189605],\n [-10.494315151399633, 8.715540676300435],\n [-10.654770473665891, 8.977178452994194],\n [-10.622395188835041, 9.267910061068278],\n [-10.8391519840833, 9.688246161330369],\n [-11.117481248407328, 10.045872911006285],\n [-11.917277390988659, 10.046983954300558],\n [-12.150338100625005, 9.858571682164381],\n [-12.425928514037565, 9.835834051955956],\n [-12.59671912276221, 9.62018830000197],\n [-12.71195756677308, 9.342711696810767],\n [-13.246550258832515, 8.903048610871508],\n [-13.685153977909792, 9.49474376061346],\n [-14.074044969122282, 9.886166897008252],\n [-14.33007585291237, 10.015719712763966],\n [-14.579698859098258, 10.214467271358515],\n [-14.693231980843505, 10.656300767454042],\n [-14.839553798877944, 10.876571560098139],\n [-15.130311245168171, 11.040411688679526],\n [-14.685687221728898, 11.527823798056488],\n [-14.382191534878729, 11.509271958863692],\n [-14.121406419317779, 11.677117010947697],\n [-13.900799729863776, 11.678718980348748],\n [-13.743160773157411, 11.811269029177412],\n [-13.828271857142125, 12.142644151249044],\n [-13.718743658899513, 12.24718557377551],\n [-13.700476040084325, 12.586182969610194],\n [-13.217818162478238, 12.575873521367967],\n [-12.499050665730564, 12.332089952031057],\n [-12.278599005573438, 12.354440008997285],\n [-12.203564825885634, 12.465647691289405],\n [-11.65830095055793, 12.386582749882834],\n [-11.51394283695059, 12.442987575729418],\n [-11.456168585648271, 12.076834214725338],\n [-11.29757361494451, 12.077971096235771],\n [-11.036555955438258, 12.211244615116515],\n [-10.870829637078215, 12.17788747807211],\n [-10.593223842806282, 11.92397532800598],\n [-10.165213792348837, 11.844083563682744],\n [-9.890992804392013, 12.060478623904972],\n [-9.567911749703214, 12.194243068892476],\n [-9.327616339546012, 12.334286200403454],\n [-9.127473517279583, 12.308060411015331],\n [-8.90526485842453, 12.088358059126437],\n [-8.786099005559464, 11.812560939984706],\n [-8.376304897484914, 11.393645941610629],\n [-8.581305304386774, 11.136245632364805],\n [-8.620321010767128, 10.810890814655183],\n [-8.407310756860028, 10.909256903522762],\n [-8.282357143578281, 10.792597357623846],\n [-8.33537716310974, 10.494811916541934],\n [-8.029943610048619, 10.206534939001713],\n [-8.229337124046822, 10.1290202905639],\n [-8.30961646161225, 9.789531968622441],\n [-8.079113735374348, 9.376223863152035],\n [-7.832100389019188, 8.575704250518626],\n [-8.20349890790088, 8.455453192575447],\n [-8.299048631208564, 8.316443589710303],\n [-8.221792364932199, 8.123328762235573],\n [-8.280703497744938, 7.687179673692156],\n [-8.439298468448698, 7.686042792181738],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Gambia\",\n sov_a3: \"GMB\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Gambia\",\n adm0_a3: \"GMB\",\n geou_dif: 0,\n geounit: \"Gambia\",\n gu_a3: \"GMB\",\n su_dif: 0,\n subunit: \"Gambia\",\n su_a3: \"GMB\",\n brk_diff: 0,\n name: \"Gambia\",\n name_long: \"The Gambia\",\n brk_a3: \"GMB\",\n brk_name: \"Gambia\",\n brk_group: null,\n abbrev: \"Gambia\",\n postal: \"GM\",\n formal_en: \"Republic of the Gambia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Gambia, The\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 1,\n mapcolor13: 8,\n pop_est: 1782893,\n gdp_md_est: 2272,\n pop_year: -99,\n lastcensus: 2003,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GM\",\n iso_a3: \"GMB\",\n iso_n3: \"270\",\n un_a3: \"270\",\n wb_a2: \"GM\",\n wb_a3: \"GMB\",\n woe_id: -99,\n adm0_a3_is: \"GMB\",\n adm0_a3_us: \"GMB\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 6,\n long_len: 10,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"GMB.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-16.841524624081273, 13.15139394780256],\n [-16.713728807023468, 13.594958604379853],\n [-15.62459632003994, 13.62358734786956],\n [-15.39877031092446, 13.86036876063092],\n [-15.08173539881382, 13.876491807505984],\n [-14.687030808968487, 13.630356960499784],\n [-14.376713833055788, 13.625680243377372],\n [-14.046992356817482, 13.79406789800045],\n [-13.844963344772408, 13.505041612192002],\n [-14.277701788784553, 13.280585028532242],\n [-14.712197231494626, 13.298206691943777],\n [-15.141163295949466, 13.509511623585238],\n [-15.511812506562935, 13.278569647672867],\n [-15.691000535534995, 13.270353094938455],\n [-15.931295945692211, 13.130284125211332],\n [-16.841524624081273, 13.15139394780256],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Guinea Bissau\",\n sov_a3: \"GNB\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Guinea Bissau\",\n adm0_a3: \"GNB\",\n geou_dif: 0,\n geounit: \"Guinea Bissau\",\n gu_a3: \"GNB\",\n su_dif: 0,\n subunit: \"Guinea Bissau\",\n su_a3: \"GNB\",\n brk_diff: 0,\n name: \"Guinea-Bissau\",\n name_long: \"Guinea-Bissau\",\n brk_a3: \"GNB\",\n brk_name: \"Guinea-Bissau\",\n brk_group: null,\n abbrev: \"GnB.\",\n postal: \"GW\",\n formal_en: \"Republic of Guinea-Bissau\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Guinea-Bissau\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 5,\n mapcolor9: 3,\n mapcolor13: 4,\n pop_est: 1533964,\n gdp_md_est: 904.2,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GW\",\n iso_a3: \"GNB\",\n iso_n3: \"624\",\n un_a3: \"624\",\n wb_a2: \"GW\",\n wb_a3: \"GNB\",\n woe_id: -99,\n adm0_a3_is: \"GNB\",\n adm0_a3_us: \"GNB\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 13,\n long_len: 13,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"GNB.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-15.130311245168171, 11.040411688679526],\n [-15.664180467175527, 11.458474025920795],\n [-16.085214199273565, 11.52459402103824],\n [-16.314786749730203, 11.806514797406548],\n [-16.30894731288123, 11.95870189050612],\n [-16.613838263403277, 12.170911159712702],\n [-16.677451951554573, 12.384851589401052],\n [-16.147716844130585, 12.547761542201187],\n [-15.816574266004254, 12.515567124883345],\n [-15.548476935274008, 12.628170070847347],\n [-13.700476040084325, 12.586182969610194],\n [-13.718743658899513, 12.24718557377551],\n [-13.828271857142125, 12.142644151249044],\n [-13.743160773157411, 11.811269029177412],\n [-13.900799729863776, 11.678718980348748],\n [-14.121406419317779, 11.677117010947697],\n [-14.382191534878729, 11.509271958863692],\n [-14.685687221728898, 11.527823798056488],\n [-15.130311245168171, 11.040411688679526],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Equatorial Guinea\",\n sov_a3: \"GNQ\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Equatorial Guinea\",\n adm0_a3: \"GNQ\",\n geou_dif: 0,\n geounit: \"Equatorial Guinea\",\n gu_a3: \"GNQ\",\n su_dif: 0,\n subunit: \"Equatorial Guinea\",\n su_a3: \"GNQ\",\n brk_diff: 0,\n name: \"Eq. Guinea\",\n name_long: \"Equatorial Guinea\",\n brk_a3: \"GNQ\",\n brk_name: \"Eq. Guinea\",\n brk_group: null,\n abbrev: \"Eq. G.\",\n postal: \"GQ\",\n formal_en: \"Republic of Equatorial Guinea\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Equatorial Guinea\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 1,\n mapcolor9: 4,\n mapcolor13: 8,\n pop_est: 650702,\n gdp_md_est: 14060,\n pop_year: 0,\n lastcensus: 2002,\n gdp_year: 0,\n economy: \"7. Least developed region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GQ\",\n iso_a3: \"GNQ\",\n iso_n3: \"226\",\n un_a3: \"226\",\n wb_a2: \"GQ\",\n wb_a3: \"GNQ\",\n woe_id: -99,\n adm0_a3_is: \"GNQ\",\n adm0_a3_us: \"GNQ\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Middle Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 10,\n long_len: 17,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"GNQ.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [9.492888624721985, 1.010119533691494],\n [9.305613234096256, 1.160911363119183],\n [9.649158155972628, 2.283866075037736],\n [11.276449008843713, 2.261050930180872],\n [11.285078973036462, 1.057661851400013],\n [9.830284051155644, 1.067893784993799],\n [9.492888624721985, 1.010119533691494],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Kenya\",\n sov_a3: \"KEN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Kenya\",\n adm0_a3: \"KEN\",\n geou_dif: 0,\n geounit: \"Kenya\",\n gu_a3: \"KEN\",\n su_dif: 0,\n subunit: \"Kenya\",\n su_a3: \"KEN\",\n brk_diff: 0,\n name: \"Kenya\",\n name_long: \"Kenya\",\n brk_a3: \"KEN\",\n brk_name: \"Kenya\",\n brk_group: null,\n abbrev: \"Ken.\",\n postal: \"KE\",\n formal_en: \"Republic of Kenya\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Kenya\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 2,\n mapcolor9: 7,\n mapcolor13: 3,\n pop_est: 39002772,\n gdp_md_est: 61510,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"KE\",\n iso_a3: \"KEN\",\n iso_n3: \"404\",\n un_a3: \"404\",\n wb_a2: \"KE\",\n wb_a3: \"KEN\",\n woe_id: -99,\n adm0_a3_is: \"KEN\",\n adm0_a3_us: \"KEN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"KEN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [40.993, -0.85829],\n [41.58513, -1.68325],\n [40.88477, -2.08255],\n [40.63785, -2.49979],\n [40.26304, -2.57309],\n [40.12119, -3.27768],\n [39.80006, -3.68116],\n [39.60489, -4.34653],\n [39.20222, -4.67677],\n [37.7669, -3.67712],\n [37.69869, -3.09699],\n [34.07262, -1.05982],\n [33.90371119710453, -0.95],\n [33.89356896966694, 0.109813537861896],\n [34.18, 0.515],\n [34.6721, 1.17694],\n [35.03599, 1.90584],\n [34.59607, 3.05374],\n [34.47913, 3.5556],\n [34.005, 4.249884947362048],\n [34.62019626785388, 4.847122742081988],\n [35.298007118232974, 5.506],\n [35.817447662353516, 5.338232082790797],\n [35.817447662353516, 4.77696566346189],\n [36.159078632855646, 4.447864127672769],\n [36.85509323800812, 4.447864127672769],\n [38.120915, 3.598605],\n [38.43697, 3.58851],\n [38.67114, 3.61607],\n [38.89251, 3.50074],\n [39.55938425876585, 3.42206],\n [39.85494, 3.83879],\n [40.76848, 4.25702],\n [41.1718, 3.91909],\n [41.85508309264397, 3.918911920483727],\n [40.98105, 2.78452],\n [40.993, -0.85829],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Liberia\",\n sov_a3: \"LBR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Liberia\",\n adm0_a3: \"LBR\",\n geou_dif: 0,\n geounit: \"Liberia\",\n gu_a3: \"LBR\",\n su_dif: 0,\n subunit: \"Liberia\",\n su_a3: \"LBR\",\n brk_diff: 0,\n name: \"Liberia\",\n name_long: \"Liberia\",\n brk_a3: \"LBR\",\n brk_name: \"Liberia\",\n brk_group: null,\n abbrev: \"Liberia\",\n postal: \"LR\",\n formal_en: \"Republic of Liberia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Liberia\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 3,\n mapcolor9: 4,\n mapcolor13: 9,\n pop_est: 3441790,\n gdp_md_est: 1526,\n pop_year: -99,\n lastcensus: 2008,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"LR\",\n iso_a3: \"LBR\",\n iso_n3: \"430\",\n un_a3: \"430\",\n wb_a2: \"LR\",\n wb_a3: \"LBR\",\n woe_id: -99,\n adm0_a3_is: \"LBR\",\n adm0_a3_us: \"LBR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 7,\n tiny: -99,\n homepart: 1,\n filename: \"LBR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-7.71215938966975, 4.364565944837722],\n [-7.974107224957251, 4.355755113131963],\n [-9.004793667018674, 4.8324185245922],\n [-9.913420376006684, 5.593560695819207],\n [-10.765383876986643, 6.140710760925558],\n [-11.438779466182055, 6.785916856305747],\n [-11.19980180504828, 7.105845648624737],\n [-11.146704270868383, 7.396706447779536],\n [-10.69559485517648, 7.939464016141087],\n [-10.23009355309128, 8.406205552601293],\n [-10.016566534861255, 8.42850393313523],\n [-9.755342169625834, 8.541055202666925],\n [-9.337279832384581, 7.928534450711353],\n [-9.40334815106975, 7.526905218938907],\n [-9.208786383490844, 7.313920803247953],\n [-8.926064622422004, 7.309037380396375],\n [-8.722123582382123, 7.71167430259851],\n [-8.439298468448698, 7.686042792181738],\n [-8.48544552248535, 7.39520783124307],\n [-8.385451626000574, 6.911800645368742],\n [-8.60288021486862, 6.46756419517166],\n [-8.311347622094019, 6.193033148621083],\n [-7.993692592795881, 6.126189683451543],\n [-7.570152553731688, 5.707352199725904],\n [-7.539715135111762, 5.313345241716519],\n [-7.63536821128403, 5.188159084489456],\n [-7.71215938966975, 4.364565944837722],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Libya\",\n sov_a3: \"LBY\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Libya\",\n adm0_a3: \"LBY\",\n geou_dif: 0,\n geounit: \"Libya\",\n gu_a3: \"LBY\",\n su_dif: 0,\n subunit: \"Libya\",\n su_a3: \"LBY\",\n brk_diff: 0,\n name: \"Libya\",\n name_long: \"Libya\",\n brk_a3: \"LBY\",\n brk_name: \"Libya\",\n brk_group: null,\n abbrev: \"Libya\",\n postal: \"LY\",\n formal_en: \"Libya\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Libya\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 2,\n mapcolor9: 2,\n mapcolor13: 11,\n pop_est: 6310434,\n gdp_md_est: 88830,\n pop_year: -99,\n lastcensus: 2006,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"LY\",\n iso_a3: \"LBY\",\n iso_n3: \"434\",\n un_a3: \"434\",\n wb_a2: \"LY\",\n wb_a3: \"LBY\",\n woe_id: -99,\n adm0_a3_is: \"LBY\",\n adm0_a3_us: \"LBY\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Northern Africa\",\n region_wb: \"Middle East & North Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"LBY.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [14.8513, 22.862950000000126],\n [14.143870883855243, 22.49128896737113],\n [13.581424594790462, 23.04050608976928],\n [11.9995056494717, 23.471668402596432],\n [11.560669386449035, 24.097909247325617],\n [10.771363559622955, 24.562532050061748],\n [10.303846876678449, 24.379313259370974],\n [9.948261346078027, 24.936953640232616],\n [9.910692579801776, 25.365454616796796],\n [9.31941084151822, 26.094324856057483],\n [9.716285841519664, 26.51220632578565],\n [9.629056023811074, 27.140953477481048],\n [9.756128370816782, 27.688258571884205],\n [9.683884718472882, 28.144173895779314],\n [9.859997999723475, 28.95998973237107],\n [9.805634392952356, 29.424638373323376],\n [9.482139926805417, 30.307556057246188],\n [9.970017124072967, 30.539324856075382],\n [10.056575148161699, 30.961831366493524],\n [9.950225050505196, 31.376069647745283],\n [10.636901482799487, 31.761420803345683],\n [10.944789666394513, 32.081814683555365],\n [11.432253452203781, 32.36890310315283],\n [11.48878746913101, 33.13699575452324],\n [12.66331, 32.79278],\n [13.08326, 32.87882],\n [13.91868, 32.71196],\n [15.24563, 32.26508],\n [15.71394, 31.37626],\n [16.61162, 31.18218],\n [18.02109, 30.76357],\n [19.08641, 30.26639],\n [19.57404, 30.52582],\n [20.05335, 30.98576],\n [19.82033, 31.75179000000014],\n [20.13397, 32.2382],\n [20.85452, 32.7068],\n [21.54298, 32.8432],\n [22.89576, 32.63858],\n [23.2368, 32.19149],\n [23.609130000000107, 32.18726],\n [23.9275, 32.01667],\n [24.92114, 31.89936],\n [25.16482, 31.56915],\n [24.80287, 31.08929],\n [24.95762, 30.6616],\n [24.70007, 30.04419],\n [25.00000000000011, 29.23865452953356],\n [25.00000000000011, 25.682499996361003],\n [25.00000000000011, 22],\n [25.00000000000011, 20.00304],\n [23.850000000000136, 20],\n [23.837660000000138, 19.580470000000105],\n [19.84926, 21.49509],\n [15.86085, 23.40972],\n [14.8513, 22.862950000000126],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Lesotho\",\n sov_a3: \"LSO\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Lesotho\",\n adm0_a3: \"LSO\",\n geou_dif: 0,\n geounit: \"Lesotho\",\n gu_a3: \"LSO\",\n su_dif: 0,\n subunit: \"Lesotho\",\n su_a3: \"LSO\",\n brk_diff: 0,\n name: \"Lesotho\",\n name_long: \"Lesotho\",\n brk_a3: \"LSO\",\n brk_name: \"Lesotho\",\n brk_group: null,\n abbrev: \"Les.\",\n postal: \"LS\",\n formal_en: \"Kingdom of Lesotho\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Lesotho\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 5,\n mapcolor9: 2,\n mapcolor13: 8,\n pop_est: 2130819,\n gdp_md_est: 3293,\n pop_year: -99,\n lastcensus: 2006,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"LS\",\n iso_a3: \"LSO\",\n iso_n3: \"426\",\n un_a3: \"426\",\n wb_a2: \"LS\",\n wb_a3: \"LSO\",\n woe_id: -99,\n adm0_a3_is: \"LSO\",\n adm0_a3_us: \"LSO\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Southern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"LSO.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [28.97826256685724, -28.955596612261715],\n [29.325166456832587, -29.257386976846252],\n [29.018415154748023, -29.74376555757737],\n [28.84839969250774, -30.070050551068253],\n [28.29106937023991, -30.2262167294543],\n [28.107204624145425, -30.54573211031495],\n [27.749397006956485, -30.64510588961222],\n [26.999261915807637, -29.875953871379984],\n [27.532511020627478, -29.24271087007536],\n [28.07433841320778, -28.851468601193588],\n [28.541700066855498, -28.64750172293757],\n [28.97826256685724, -28.955596612261715],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Morocco\",\n sov_a3: \"MAR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Morocco\",\n adm0_a3: \"MAR\",\n geou_dif: 0,\n geounit: \"Morocco\",\n gu_a3: \"MAR\",\n su_dif: 0,\n subunit: \"Morocco\",\n su_a3: \"MAR\",\n brk_diff: 0,\n name: \"Morocco\",\n name_long: \"Morocco\",\n brk_a3: \"MAR\",\n brk_name: \"Morocco\",\n brk_group: null,\n abbrev: \"Mor.\",\n postal: \"MA\",\n formal_en: \"Kingdom of Morocco\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Morocco\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 2,\n mapcolor9: 3,\n mapcolor13: 9,\n pop_est: 34859364,\n gdp_md_est: 136600,\n pop_year: -99,\n lastcensus: 2004,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MA\",\n iso_a3: \"MAR\",\n iso_n3: \"504\",\n un_a3: \"504\",\n wb_a2: \"MA\",\n wb_a3: \"MAR\",\n woe_id: -99,\n adm0_a3_is: \"MAR\",\n adm0_a3_us: \"MAR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Northern Africa\",\n region_wb: \"Middle East & North Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"MAR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-5.193863491222032, 35.75518219659085],\n [-4.591006232105143, 35.33071198174565],\n [-3.640056525070008, 35.39985504815198],\n [-2.604305792644112, 35.17909332940112],\n [-2.169913702798624, 35.16839630791671],\n [-1.792985805661658, 34.527918606091305],\n [-1.73345455566141, 33.91971283623212],\n [-1.388049282222596, 32.86401500094137],\n [-1.124551153966195, 32.6515215113572],\n [-1.30789913573787, 32.26288890230603],\n [-2.616604783529567, 32.094346218386164],\n [-3.068980271812649, 31.72449799247329],\n [-3.647497931320146, 31.63729401298082],\n [-3.690441046554667, 30.896951605751152],\n [-4.859646165374443, 30.50118764904388],\n [-5.242129278982787, 30.000443020135574],\n [-6.060632290053746, 29.731699734001808],\n [-7.059227667661901, 29.579228420524657],\n [-8.674116176782832, 28.84128896739665],\n [-8.665589565454836, 27.65642588959247],\n [-8.817809007940525, 27.65642588959247],\n [-8.817828334986643, 27.65642588959247],\n [-8.794883999049034, 27.12069631602256],\n [-9.413037482124508, 27.088476060488546],\n [-9.735343390328751, 26.860944729107416],\n [-10.189424200877452, 26.860944729107416],\n [-10.55126257978526, 26.990807603456886],\n [-11.392554897496948, 26.883423977154393],\n [-11.718219773800342, 26.104091701760808],\n [-12.030758836301658, 26.03086619720312],\n [-12.50096269372537, 24.770116278578143],\n [-13.891110398809047, 23.691009019459386],\n [-14.221167771857154, 22.310163072188345],\n [-14.630832688850946, 21.860939846274874],\n [-14.750954555713404, 21.500600083903805],\n [-17.00296179856107, 21.420734157796687],\n [-17.020428432675768, 21.422310288981635],\n [-16.973247849993186, 21.885744533774954],\n [-16.58913692876763, 22.15823436125009],\n [-16.261921759495664, 22.679339504481277],\n [-16.3264139469959, 23.017768459560898],\n [-15.982610642958063, 23.723358466074103],\n [-15.426003790742186, 24.35913361256104],\n [-15.089331834360733, 24.52026072844697],\n [-14.824645148161691, 25.103532619725314],\n [-14.800925665739667, 25.63626496022229],\n [-14.439939947964831, 26.254418443297652],\n [-13.773804897506464, 26.618892320252286],\n [-13.139941779014292, 27.640147813420494],\n [-13.121613369914712, 27.654147671719812],\n [-12.618836635783111, 28.038185533148663],\n [-11.688919236690765, 28.148643907172584],\n [-10.900956997104402, 28.83214223888092],\n [-10.399592251008642, 29.098585923777787],\n [-9.564811163765626, 29.933573716749862],\n [-9.814718390329174, 31.17773550060906],\n [-9.434793260119363, 32.038096421836485],\n [-9.300692918321829, 32.564679266890636],\n [-8.65747636558504, 33.2402452662424],\n [-7.654178432638218, 33.69706492770251],\n [-6.91254411460136, 34.11047638603745],\n [-6.244342006851411, 35.145865383437524],\n [-5.929994269219833, 35.75998810479399],\n [-5.193863491222032, 35.75518219659085],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Mali\",\n sov_a3: \"MLI\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Mali\",\n adm0_a3: \"MLI\",\n geou_dif: 0,\n geounit: \"Mali\",\n gu_a3: \"MLI\",\n su_dif: 0,\n subunit: \"Mali\",\n su_a3: \"MLI\",\n brk_diff: 0,\n name: \"Mali\",\n name_long: \"Mali\",\n brk_a3: \"MLI\",\n brk_name: \"Mali\",\n brk_group: null,\n abbrev: \"Mali\",\n postal: \"ML\",\n formal_en: \"Republic of Mali\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Mali\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 1,\n mapcolor13: 7,\n pop_est: 12666987,\n gdp_md_est: 14590,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"ML\",\n iso_a3: \"MLI\",\n iso_n3: \"466\",\n un_a3: \"466\",\n wb_a2: \"ML\",\n wb_a3: \"MLI\",\n woe_id: -99,\n adm0_a3_is: \"MLI\",\n adm0_a3_us: \"MLI\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 4,\n long_len: 4,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"MLI.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-12.170750291380301, 14.616834214735505],\n [-11.834207526079467, 14.79909699142894],\n [-11.666078253617854, 15.388208319556298],\n [-11.349095017939504, 15.411256008358478],\n [-10.650791388379417, 15.132745876521426],\n [-10.086846482778212, 15.330485744686273],\n [-9.700255092802706, 15.264107367407362],\n [-9.55023840985939, 15.486496893775437],\n [-5.537744309908447, 15.501689764869257],\n [-5.315277268891933, 16.20185374599184],\n [-5.488522508150438, 16.325102037007966],\n [-5.971128709324248, 20.64083344164763],\n [-6.453786586930335, 24.956590684503425],\n [-4.92333736817423, 24.974574082941],\n [-1.550054897457613, 22.792665920497384],\n [1.823227573259032, 20.610809434486043],\n [2.06099083823392, 20.142233384679486],\n [2.683588494486429, 19.856230170160114],\n [3.1466610042539, 19.69357859952144],\n [3.158133172222705, 19.057364203360038],\n [4.267419467800039, 19.155265204337],\n [4.270209995143801, 16.852227484601215],\n [3.723421665063483, 16.184283759012615],\n [3.638258904646477, 15.568119818580454],\n [2.749992709981484, 15.409524847876696],\n [1.385528191746858, 15.323561102759172],\n [1.01578331869851, 14.968182277887948],\n [0.374892205414682, 14.928908189346132],\n [-0.26625729003058, 14.924308986872148],\n [-0.515854458000348, 15.116157741755726],\n [-1.066363491205664, 14.973815009007765],\n [-2.001035122068771, 14.559008287000891],\n [-2.191824510090385, 14.246417548067356],\n [-2.967694464520577, 13.79815033615151],\n [-3.10370683431276, 13.541266791228594],\n [-3.522802700199861, 13.337661647998615],\n [-4.006390753587226, 13.472485459848116],\n [-4.28040503581488, 13.228443508349741],\n [-4.427166103523803, 12.542645575404295],\n [-5.220941941743121, 11.713858954307227],\n [-5.197842576508648, 11.37514577885014],\n [-5.470564947929006, 10.951269842976048],\n [-5.404341599946974, 10.370736802609146],\n [-5.816926235365287, 10.222554633012194],\n [-6.050452032892267, 10.096360785355444],\n [-6.205222947606431, 10.524060777219134],\n [-6.493965013037267, 10.411302801958271],\n [-6.666460944027548, 10.430810655148447],\n [-6.850506557635057, 10.138993841996239],\n [-7.622759161804809, 10.147236232946796],\n [-7.899589809592372, 10.297382106970828],\n [-8.029943610048619, 10.206534939001713],\n [-8.33537716310974, 10.494811916541934],\n [-8.282357143578281, 10.792597357623846],\n [-8.407310756860028, 10.909256903522762],\n [-8.620321010767128, 10.810890814655183],\n [-8.581305304386774, 11.136245632364805],\n [-8.376304897484914, 11.393645941610629],\n [-8.786099005559464, 11.812560939984706],\n [-8.90526485842453, 12.088358059126437],\n [-9.127473517279583, 12.308060411015331],\n [-9.327616339546012, 12.334286200403454],\n [-9.567911749703214, 12.194243068892476],\n [-9.890992804392013, 12.060478623904972],\n [-10.165213792348837, 11.844083563682744],\n [-10.593223842806282, 11.92397532800598],\n [-10.870829637078215, 12.17788747807211],\n [-11.036555955438258, 12.211244615116515],\n [-11.29757361494451, 12.077971096235771],\n [-11.456168585648271, 12.076834214725338],\n [-11.51394283695059, 12.442987575729418],\n [-11.467899135778524, 12.754518947800975],\n [-11.55339779300543, 13.141213690641067],\n [-11.927716030311615, 13.422075100147394],\n [-12.12488745772126, 13.994727484589788],\n [-12.170750291380301, 14.616834214735505],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Mozambique\",\n sov_a3: \"MOZ\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Mozambique\",\n adm0_a3: \"MOZ\",\n geou_dif: 0,\n geounit: \"Mozambique\",\n gu_a3: \"MOZ\",\n su_dif: 0,\n subunit: \"Mozambique\",\n su_a3: \"MOZ\",\n brk_diff: 0,\n name: \"Mozambique\",\n name_long: \"Mozambique\",\n brk_a3: \"MOZ\",\n brk_name: \"Mozambique\",\n brk_group: null,\n abbrev: \"Moz.\",\n postal: \"MZ\",\n formal_en: \"Republic of Mozambique\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Mozambique\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 2,\n mapcolor9: 1,\n mapcolor13: 4,\n pop_est: 21669278,\n gdp_md_est: 18940,\n pop_year: -99,\n lastcensus: 2007,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MZ\",\n iso_a3: \"MOZ\",\n iso_n3: \"508\",\n un_a3: \"508\",\n wb_a2: \"MZ\",\n wb_a3: \"MOZ\",\n woe_id: -99,\n adm0_a3_is: \"MOZ\",\n adm0_a3_us: \"MOZ\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"MOZ.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [34.55998904799935, -11.520020033415925],\n [35.31239790216904, -11.439146416879147],\n [36.51408165868426, -11.720938002166733],\n [36.775150994622805, -11.594537448780805],\n [37.47128421402661, -11.56875090906716],\n [37.82764489111139, -11.268769219612835],\n [38.42755659358775, -11.285202325081656],\n [39.521029900883775, -10.896853936408226],\n [40.31658857601719, -10.317096042525698],\n [40.47838748552303, -10.765440769089993],\n [40.437253045418686, -11.761710707245015],\n [40.56081139502857, -12.639176527561027],\n [40.59962039567975, -14.201975192931862],\n [40.775475294768995, -14.691764418194241],\n [40.4772506040126, -15.406294447493972],\n [40.08926395036522, -16.10077402106446],\n [39.45255862809705, -16.72089120856694],\n [38.53835086442152, -17.101023044505958],\n [37.41113284683888, -17.586368096591237],\n [36.28127933120936, -18.65968759529345],\n [35.89649661636406, -18.842260430580634],\n [35.198399692533144, -19.552811374593894],\n [34.78638349787005, -19.784011732667736],\n [34.70189253107284, -20.49704314543101],\n [35.176127150215365, -21.25436126066841],\n [35.37342776870574, -21.840837090748877],\n [35.385848253705404, -22.14],\n [35.562545536369086, -22.09],\n [35.533934767404304, -23.070787855727758],\n [35.37177412287238, -23.5353589820317],\n [35.60747033055563, -23.706563002214683],\n [35.45874555841962, -24.12260995859655],\n [35.04073489761066, -24.478350518493805],\n [34.21582400893547, -24.81631438568266],\n [33.01321007663901, -25.357573337507738],\n [32.574632195777866, -25.72731821055609],\n [32.66036339695009, -26.148584486599443],\n [32.91595503106569, -26.215867201443466],\n [32.830120477028885, -26.742191664336197],\n [32.07166548028107, -26.73382008230491],\n [31.98577924981197, -26.291779880480227],\n [31.837777947728064, -25.84333180105135],\n [31.75240848158188, -25.484283949487413],\n [31.93058882012425, -24.369416599222536],\n [31.670397983534652, -23.658969008073864],\n [31.191409132621285, -22.2515096981724],\n [32.244988234188014, -21.116488539313693],\n [32.50869306817344, -20.395292250248307],\n [32.65974327976258, -20.304290052982317],\n [32.772707960752626, -19.715592136313298],\n [32.61199425632489, -19.419382826416275],\n [32.65488569512715, -18.672089939043495],\n [32.84986087416439, -17.97905730557718],\n [32.847638787575846, -16.713398125884616],\n [32.32823896661022, -16.392074069893752],\n [31.8520406430406, -16.319417006091378],\n [31.636498243951195, -16.071990248277885],\n [31.173063999157677, -15.860943698797872],\n [30.338954705534544, -15.880839125230244],\n [30.274255812305107, -15.507786960515212],\n [30.17948123548183, -14.796099134991527],\n [33.214024692525214, -13.971860039936153],\n [33.789700148256685, -14.451830743063072],\n [34.064825473778626, -14.359950046448121],\n [34.45963341648854, -14.613009535381424],\n [34.51766604995231, -15.013708591372612],\n [34.307291294092096, -15.478641452702595],\n [34.38129194513405, -16.183559665596043],\n [35.033810255683534, -16.801299737213093],\n [35.33906294123164, -16.10744028083011],\n [35.77190473810836, -15.896858819240725],\n [35.68684533055594, -14.611045830954332],\n [35.26795617039801, -13.887834161029566],\n [34.907151320136165, -13.565424899960568],\n [34.55998904799935, -13.579997653866876],\n [34.28000613784198, -12.280025323132504],\n [34.55998904799935, -11.520020033415925],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Madagascar\",\n sov_a3: \"MDG\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Madagascar\",\n adm0_a3: \"MDG\",\n geou_dif: 0,\n geounit: \"Madagascar\",\n gu_a3: \"MDG\",\n su_dif: 0,\n subunit: \"Madagascar\",\n su_a3: \"MDG\",\n brk_diff: 0,\n name: \"Madagascar\",\n name_long: \"Madagascar\",\n brk_a3: \"MDG\",\n brk_name: \"Madagascar\",\n brk_group: null,\n abbrev: \"Mad.\",\n postal: \"MG\",\n formal_en: \"Republic of Madagascar\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Madagascar\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 5,\n mapcolor9: 2,\n mapcolor13: 3,\n pop_est: 20653556,\n gdp_md_est: 20130,\n pop_year: -99,\n lastcensus: 1993,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MG\",\n iso_a3: \"MDG\",\n iso_n3: \"450\",\n un_a3: \"450\",\n wb_a2: \"MG\",\n wb_a3: \"MDG\",\n woe_id: -99,\n adm0_a3_is: \"MDG\",\n adm0_a3_us: \"MDG\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"MDG.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [49.54351891459575, -12.469832858940554],\n [49.80898074727909, -12.895284925999555],\n [50.056510857957164, -13.555761407121985],\n [50.21743126811407, -14.758788750876795],\n [50.47653689962553, -15.226512139550541],\n [50.377111443895956, -15.706069431219126],\n [50.20027469259318, -16.000263360256767],\n [49.86060550313868, -15.414252618066916],\n [49.67260664246086, -15.710203545802479],\n [49.863344354050156, -16.451036879138776],\n [49.77456424337271, -16.875042006093597],\n [49.49861209493412, -17.106035658438273],\n [49.435618523970305, -17.953064060134366],\n [49.041792433473944, -19.118781019774445],\n [48.54854088724801, -20.496888116134127],\n [47.93074913919867, -22.391501153251085],\n [47.54772342305131, -23.781958916928517],\n [47.095761346226595, -24.941629733990453],\n [46.282477654817086, -25.178462823184105],\n [45.409507684110444, -25.60143442149309],\n [44.83357384621755, -25.34610116953894],\n [44.03972049334976, -24.988345228782308],\n [43.76376834491117, -24.460677178649988],\n [43.697777540874455, -23.574116306250602],\n [43.345654331237625, -22.776903985283873],\n [43.254187046081, -22.057413018484123],\n [43.43329756040464, -21.336475111580185],\n [43.893682895692926, -21.163307386970125],\n [43.896370070172104, -20.830459486578174],\n [44.37432539243966, -20.07236622485639],\n [44.46439741392439, -19.435454196859048],\n [44.23242190936617, -18.961994724200906],\n [44.04297610858415, -18.33138722094317],\n [43.96308434426091, -17.409944756746782],\n [44.31246870298628, -16.850495700754955],\n [44.4465173683514, -16.216219170804507],\n [44.94493655780653, -16.1793738745804],\n [45.50273196796499, -15.97437346767854],\n [45.87299360533626, -15.793454278224685],\n [46.31224327981721, -15.780018405828798],\n [46.882182651564285, -15.210182386946313],\n [47.70512983581235, -14.594302666891764],\n [48.005214878131255, -14.091232598530375],\n [47.869047479042166, -13.663868503476586],\n [48.29382775248138, -13.784067884987486],\n [48.84506025573878, -13.089174899958664],\n [48.86350874206698, -12.48786793381042],\n [49.194651320193316, -12.04055673589197],\n [49.54351891459575, -12.469832858940554],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Mauritania\",\n sov_a3: \"MRT\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Mauritania\",\n adm0_a3: \"MRT\",\n geou_dif: 0,\n geounit: \"Mauritania\",\n gu_a3: \"MRT\",\n su_dif: 0,\n subunit: \"Mauritania\",\n su_a3: \"MRT\",\n brk_diff: 0,\n name: \"Mauritania\",\n name_long: \"Mauritania\",\n brk_a3: \"MRT\",\n brk_name: \"Mauritania\",\n brk_group: null,\n abbrev: \"Mrt.\",\n postal: \"MR\",\n formal_en: \"Islamic Republic of Mauritania\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Mauritania\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 3,\n mapcolor9: 2,\n mapcolor13: 1,\n pop_est: 3129486,\n gdp_md_est: 6308,\n pop_year: -99,\n lastcensus: 2000,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MR\",\n iso_a3: \"MRT\",\n iso_n3: \"478\",\n un_a3: \"478\",\n wb_a2: \"MR\",\n wb_a3: \"MRT\",\n woe_id: -99,\n adm0_a3_is: \"MRT\",\n adm0_a3_us: \"MRT\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"MRT.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-12.170750291380301, 14.616834214735505],\n [-12.830658331747516, 15.303691514542946],\n [-13.43573767745306, 16.03938304286619],\n [-14.099521450242179, 16.304302273010492],\n [-14.577347581428981, 16.59826365810281],\n [-15.135737270558817, 16.587282416240782],\n [-15.62366614425869, 16.369337063049812],\n [-16.12069007004193, 16.455662543193384],\n [-16.463098110407884, 16.13503611903846],\n [-16.549707810929064, 16.67389211676196],\n [-16.270551723688357, 17.166962795474873],\n [-16.14634741867485, 18.108481553616656],\n [-16.256883307347167, 19.096715806550307],\n [-16.37765112961327, 19.593817246981985],\n [-16.277838100641517, 20.0925206568147],\n [-16.536323614965468, 20.567866319251493],\n [-17.063423224342568, 20.999752102130827],\n [-16.845193650773993, 21.33332347257488],\n [-12.929101935263532, 21.32707062426756],\n [-13.118754441774712, 22.771220201096256],\n [-12.874221564169575, 23.284832261645178],\n [-11.937224493853321, 23.374594224536168],\n [-11.96941891117116, 25.933352769468268],\n [-8.6872936670174, 25.881056219988906],\n [-8.68439978680905, 27.395744126896005],\n [-4.92333736817423, 24.974574082941],\n [-6.453786586930335, 24.956590684503425],\n [-5.971128709324248, 20.64083344164763],\n [-5.488522508150438, 16.325102037007966],\n [-5.315277268891933, 16.20185374599184],\n [-5.537744309908447, 15.501689764869257],\n [-9.55023840985939, 15.486496893775437],\n [-9.700255092802706, 15.264107367407362],\n [-10.086846482778212, 15.330485744686273],\n [-10.650791388379417, 15.132745876521426],\n [-11.349095017939504, 15.411256008358478],\n [-11.666078253617854, 15.388208319556298],\n [-11.834207526079467, 14.79909699142894],\n [-12.170750291380301, 14.616834214735505],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Malawi\",\n sov_a3: \"MWI\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Malawi\",\n adm0_a3: \"MWI\",\n geou_dif: 0,\n geounit: \"Malawi\",\n gu_a3: \"MWI\",\n su_dif: 0,\n subunit: \"Malawi\",\n su_a3: \"MWI\",\n brk_diff: 0,\n name: \"Malawi\",\n name_long: \"Malawi\",\n brk_a3: \"MWI\",\n brk_name: \"Malawi\",\n brk_group: null,\n abbrev: \"Mal.\",\n postal: \"MW\",\n formal_en: \"Republic of Malawi\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Malawi\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 3,\n mapcolor9: 4,\n mapcolor13: 5,\n pop_est: 14268711,\n gdp_md_est: 11810,\n pop_year: -99,\n lastcensus: 2008,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MW\",\n iso_a3: \"MWI\",\n iso_n3: \"454\",\n un_a3: \"454\",\n wb_a2: \"MW\",\n wb_a3: \"MWI\",\n woe_id: -99,\n adm0_a3_is: \"MWI\",\n adm0_a3_us: \"MWI\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"MWI.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [34.55998904799935, -11.520020033415925],\n [34.28000613784198, -12.280025323132504],\n [34.55998904799935, -13.579997653866876],\n [34.907151320136165, -13.565424899960568],\n [35.26795617039801, -13.887834161029566],\n [35.68684533055594, -14.611045830954332],\n [35.77190473810836, -15.896858819240725],\n [35.33906294123164, -16.10744028083011],\n [35.033810255683534, -16.801299737213093],\n [34.38129194513405, -16.183559665596043],\n [34.307291294092096, -15.478641452702595],\n [34.51766604995231, -15.013708591372612],\n [34.45963341648854, -14.613009535381424],\n [34.064825473778626, -14.359950046448121],\n [33.789700148256685, -14.451830743063072],\n [33.214024692525214, -13.971860039936153],\n [32.68816531752313, -13.712857761289275],\n [32.991764357237884, -12.783870537978272],\n [33.306422153463075, -12.435778090060218],\n [33.11428917820191, -11.607198174692314],\n [33.315310499817286, -10.796549981329697],\n [33.48568769708359, -10.525558770391115],\n [33.2313879737753, -9.6767216935648],\n [32.75937544122132, -9.230599053589058],\n [33.73972903823045, -9.417150974162723],\n [33.94083772409653, -9.693673841980294],\n [34.28000613784198, -10.159999688358404],\n [34.55998904799935, -11.520020033415925],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Namibia\",\n sov_a3: \"NAM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Namibia\",\n adm0_a3: \"NAM\",\n geou_dif: 0,\n geounit: \"Namibia\",\n gu_a3: \"NAM\",\n su_dif: 0,\n subunit: \"Namibia\",\n su_a3: \"NAM\",\n brk_diff: 0,\n name: \"Namibia\",\n name_long: \"Namibia\",\n brk_a3: \"NAM\",\n brk_name: \"Namibia\",\n brk_group: null,\n abbrev: \"Nam.\",\n postal: \"NA\",\n formal_en: \"Republic of Namibia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Namibia\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 1,\n mapcolor9: 1,\n mapcolor13: 7,\n pop_est: 2108665,\n gdp_md_est: 13250,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"NA\",\n iso_a3: \"NAM\",\n iso_n3: \"516\",\n un_a3: \"516\",\n wb_a2: \"NA\",\n wb_a3: \"NAM\",\n woe_id: -99,\n adm0_a3_is: \"NAM\",\n adm0_a3_us: \"NAM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Southern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"NAM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [16.344976840895242, -28.576705010697697],\n [15.601818068105814, -27.8212472470228],\n [15.21047244635946, -27.090955905874047],\n [14.989710727608552, -26.117371921495156],\n [14.743214145576331, -25.39292001719538],\n [14.408144158595833, -23.853014011329847],\n [14.385716586981149, -22.65665292734069],\n [14.257714064194175, -22.111208184499954],\n [13.86864220546866, -21.699036960539978],\n [13.35249799973744, -20.872834161057504],\n [12.826845330464492, -19.673165785401665],\n [12.608564080463621, -19.0453488094877],\n [11.794918654028066, -18.069129327061916],\n [11.734198846085121, -17.301889336824473],\n [12.215461460019355, -17.111668389558083],\n [12.814081251688407, -16.94134286872407],\n [13.462362094789967, -16.971211846588773],\n [14.05850141770901, -17.423380629142663],\n [14.209706658595024, -17.35310068122572],\n [18.26330936043416, -17.309950860262006],\n [18.956186964603603, -17.789094740472258],\n [21.377176141045567, -17.930636488519696],\n [23.215048455506064, -17.52311614346598],\n [24.033861525170778, -17.295843194246324],\n [24.682349074001507, -17.353410739819473],\n [25.07695031098226, -17.57882333747662],\n [25.08444339366457, -17.661815687737374],\n [24.520705193792537, -17.887124932529936],\n [24.217364536239213, -17.88934701911849],\n [23.579005568137717, -18.28126108162006],\n [23.1968583513393, -17.869038181227786],\n [21.655040317478978, -18.219146010005225],\n [20.910641310314535, -18.252218926672022],\n [20.881134067475866, -21.814327080983148],\n [19.89545779794068, -21.84915699634787],\n [19.895767856534434, -24.767790215760588],\n [19.894734327888614, -28.461104831660776],\n [19.002127312911085, -28.972443129188864],\n [18.464899122804752, -29.04546192801728],\n [17.83615197110953, -28.85637786226132],\n [17.387497185951503, -28.78351409272978],\n [17.218928663815404, -28.35594329194681],\n [16.824017368240902, -28.082161553664466],\n [16.344976840895242, -28.576705010697697],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Niger\",\n sov_a3: \"NER\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Niger\",\n adm0_a3: \"NER\",\n geou_dif: 0,\n geounit: \"Niger\",\n gu_a3: \"NER\",\n su_dif: 0,\n subunit: \"Niger\",\n su_a3: \"NER\",\n brk_diff: 0,\n name: \"Niger\",\n name_long: \"Niger\",\n brk_a3: \"NER\",\n brk_name: \"Niger\",\n brk_group: null,\n abbrev: \"Niger\",\n postal: \"NE\",\n formal_en: \"Republic of Niger\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Niger\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 5,\n mapcolor9: 3,\n mapcolor13: 13,\n pop_est: 15306252,\n gdp_md_est: 10040,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"NE\",\n iso_a3: \"NER\",\n iso_n3: \"562\",\n un_a3: \"562\",\n wb_a2: \"NE\",\n wb_a3: \"NER\",\n woe_id: -99,\n adm0_a3_is: \"NER\",\n adm0_a3_us: \"NER\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"NER.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [2.15447350424995, 11.940150051313424],\n [2.177107781593918, 12.625017808477537],\n [1.024103224297619, 12.851825669806601],\n [0.993045688490156, 13.335749620003865],\n [0.429927605805517, 13.988733018443893],\n [0.295646396495215, 14.444234930880667],\n [0.374892205414767, 14.928908189346147],\n [1.015783318698482, 14.968182277887989],\n [1.385528191746971, 15.32356110275924],\n [2.749992709981541, 15.409524847876753],\n [3.638258904646591, 15.568119818580442],\n [3.723421665063597, 16.184283759012658],\n [4.270209995143887, 16.852227484601315],\n [4.267419467800096, 19.155265204337127],\n [5.677565952180714, 19.6012069767998],\n [8.57289310062987, 21.565660712159225],\n [11.9995056494717, 23.471668402596432],\n [13.581424594790462, 23.04050608976928],\n [14.143870883855243, 22.49128896737113],\n [14.8513, 22.862950000000126],\n [15.096887648181848, 21.30851878507491],\n [15.471076694407316, 21.048457139565983],\n [15.487148064850146, 20.730414537025638],\n [15.903246697664313, 20.387618923417506],\n [15.685740594147774, 19.957180080642384],\n [15.30044111497972, 17.927949937405003],\n [15.247731154041846, 16.627305813050782],\n [13.972201775781684, 15.684365953021143],\n [13.540393507550789, 14.367133693901222],\n [13.956698846094127, 13.996691189016929],\n [13.95447675950561, 13.353448798063766],\n [14.595781284247607, 13.330426947477859],\n [14.495787387762903, 12.859396267137356],\n [14.21353071458475, 12.802035427293333],\n [14.18133629726691, 12.483656927943171],\n [13.995352817448293, 12.461565253138303],\n [13.318701613018561, 13.556356309457954],\n [13.083987257548813, 13.596147162322495],\n [12.30207116054055, 13.037189032437539],\n [11.527803175511508, 13.32898000737356],\n [10.989593133191532, 13.387322699431195],\n [10.701031935273818, 13.246917832894042],\n [10.114814487354748, 13.277251898649467],\n [9.52492801274309, 12.851102199754564],\n [9.014933302454438, 12.826659247280418],\n [7.804671258178871, 13.343526923063735],\n [7.330746697630047, 13.098038031461215],\n [6.820441928747812, 13.115091254117601],\n [6.445426059605722, 13.492768459522722],\n [5.443058302440135, 13.865923977102225],\n [4.368343540066007, 13.747481594289411],\n [4.107945997747379, 13.531215725147945],\n [3.967282749048934, 12.956108710171577],\n [3.680633579125925, 12.55290334721417],\n [3.611180454125587, 11.660167141155966],\n [2.848643019226586, 12.23563589115821],\n [2.490163608418015, 12.233052069543588],\n [2.15447350424995, 11.940150051313424],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Nigeria\",\n sov_a3: \"NGA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Nigeria\",\n adm0_a3: \"NGA\",\n geou_dif: 0,\n geounit: \"Nigeria\",\n gu_a3: \"NGA\",\n su_dif: 0,\n subunit: \"Nigeria\",\n su_a3: \"NGA\",\n brk_diff: 0,\n name: \"Nigeria\",\n name_long: \"Nigeria\",\n brk_a3: \"NGA\",\n brk_name: \"Nigeria\",\n brk_group: null,\n abbrev: \"Nigeria\",\n postal: \"NG\",\n formal_en: \"Federal Republic of Nigeria\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Nigeria\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 2,\n mapcolor9: 5,\n mapcolor13: 2,\n pop_est: 149229090,\n gdp_md_est: 335400,\n pop_year: -99,\n lastcensus: 2006,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"NG\",\n iso_a3: \"NGA\",\n iso_n3: \"566\",\n un_a3: \"566\",\n wb_a2: \"NG\",\n wb_a3: \"NGA\",\n woe_id: -99,\n adm0_a3_is: \"NGA\",\n adm0_a3_us: \"NGA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 7,\n tiny: -99,\n homepart: 1,\n filename: \"NGA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [8.500287713259695, 4.771982937026849],\n [7.46210818851594, 4.412108262546241],\n [7.082596469764439, 4.464689032403228],\n [6.6980721370806, 4.240594183769517],\n [5.898172641634687, 4.262453314628985],\n [5.362804803090881, 4.887970689305959],\n [5.033574252959368, 5.611802476418234],\n [4.325607130560683, 6.270651149923467],\n [3.574180128604553, 6.258300482605719],\n [2.691701694356254, 6.258817246928629],\n [2.74906253420022, 7.870734361192888],\n [2.723792758809509, 8.50684540448971],\n [2.912308383810256, 9.13760793704432],\n [3.220351596702101, 9.4441525333997],\n [3.705438266625919, 10.063210354040208],\n [3.600070021182801, 10.332186184119408],\n [3.797112257511714, 10.734745591673105],\n [3.572216424177469, 11.327939357951518],\n [3.611180454125559, 11.660167141155966],\n [3.680633579125811, 12.552903347214226],\n [3.967282749048849, 12.956108710171575],\n [4.107945997747322, 13.531215725147831],\n [4.368343540066064, 13.747481594289324],\n [5.443058302440164, 13.865923977102298],\n [6.445426059605637, 13.492768459522678],\n [6.820441928747754, 13.115091254117518],\n [7.330746697630018, 13.0980380314612],\n [7.804671258178786, 13.343526923063745],\n [9.014933302454466, 12.82665924728043],\n [9.524928012742945, 12.851102199754479],\n [10.114814487354693, 13.27725189864941],\n [10.701031935273704, 13.246917832894084],\n [10.989593133191535, 13.38732269943111],\n [11.527803175511394, 13.328980007373588],\n [12.302071160540523, 13.037189032437524],\n [13.08398725754887, 13.596147162322566],\n [13.318701613018561, 13.556356309457826],\n [13.99535281744835, 12.461565253138346],\n [14.181336297266792, 12.483656927943116],\n [14.577177768622533, 12.085360826053503],\n [14.468192172918975, 11.904751695193411],\n [14.415378859116686, 11.572368882692075],\n [13.572949659894562, 10.798565985553566],\n [13.308676385153918, 10.160362046748928],\n [13.167599724997103, 9.640626328973411],\n [12.955467970438974, 9.417771714714704],\n [12.753671502339214, 8.717762762888995],\n [12.218872104550599, 8.305824082874324],\n [12.063946160539558, 7.799808457872302],\n [11.839308709366803, 7.397042344589436],\n [11.74577436691851, 6.981382961449753],\n [11.05878787603035, 6.644426784690594],\n [10.497375115611417, 7.055357774275564],\n [10.118276808318257, 7.038769639509879],\n [9.522705926154401, 6.453482367372117],\n [9.233162876023044, 6.444490668153334],\n [8.757532993208628, 5.479665839047911],\n [8.500287713259695, 4.771982937026849],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 7,\n sovereignt: \"Western Sahara\",\n sov_a3: \"SAH\",\n adm0_dif: 0,\n level: 2,\n type: \"Indeterminate\",\n admin: \"Western Sahara\",\n adm0_a3: \"SAH\",\n geou_dif: 0,\n geounit: \"Western Sahara\",\n gu_a3: \"SAH\",\n su_dif: 0,\n subunit: \"Western Sahara\",\n su_a3: \"SAH\",\n brk_diff: 1,\n name: \"W. Sahara\",\n name_long: \"Western Sahara\",\n brk_a3: \"B28\",\n brk_name: \"W. Sahara\",\n brk_group: null,\n abbrev: \"W. Sah.\",\n postal: \"WS\",\n formal_en: \"Sahrawi Arab Democratic Republic\",\n formal_fr: null,\n note_adm0: \"Self admin.\",\n note_brk: \"Self admin.; Claimed by Morocco\",\n name_sort: \"Western Sahara\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 7,\n mapcolor9: 4,\n mapcolor13: 4,\n pop_est: -99,\n gdp_md_est: -99,\n pop_year: -99,\n lastcensus: -99,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"EH\",\n iso_a3: \"ESH\",\n iso_n3: \"732\",\n un_a3: \"732\",\n wb_a2: \"-99\",\n wb_a3: \"-99\",\n woe_id: -99,\n adm0_a3_is: \"MAR\",\n adm0_a3_us: \"SAH\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Northern Africa\",\n region_wb: \"Middle East & North Africa\",\n name_len: 9,\n long_len: 14,\n abbrev_len: 7,\n tiny: -99,\n homepart: 1,\n filename: \"ESH.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-8.794883999049077, 27.120696316022503],\n [-8.817828334986672, 27.656425889592356],\n [-8.665589565454809, 27.656425889592356],\n [-8.665124477564191, 27.589479071558227],\n [-8.68439978680905, 27.395744126896005],\n [-8.6872936670174, 25.881056219988906],\n [-11.96941891117116, 25.933352769468268],\n [-11.937224493853321, 23.374594224536168],\n [-12.874221564169575, 23.284832261645178],\n [-13.118754441774712, 22.771220201096256],\n [-12.929101935263532, 21.32707062426756],\n [-16.845193650773993, 21.33332347257488],\n [-17.063423224342568, 20.999752102130827],\n [-17.020428432675743, 21.42231028898148],\n [-17.00296179856109, 21.420734157796577],\n [-14.750954555713534, 21.500600083903663],\n [-14.630832688851072, 21.8609398462749],\n [-14.221167771857251, 22.31016307218816],\n [-13.891110398809047, 23.691009019459305],\n [-12.50096269372537, 24.7701162785782],\n [-12.030758836301615, 26.030866197203043],\n [-11.718219773800357, 26.104091701760623],\n [-11.392554897496979, 26.883423977154365],\n [-10.551262579785273, 26.990807603456886],\n [-10.189424200877582, 26.860944729107405],\n [-9.735343390328879, 26.860944729107405],\n [-9.413037482124466, 27.088476060488517],\n [-8.794883999049077, 27.120696316022503],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Rwanda\",\n sov_a3: \"RWA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Rwanda\",\n adm0_a3: \"RWA\",\n geou_dif: 0,\n geounit: \"Rwanda\",\n gu_a3: \"RWA\",\n su_dif: 0,\n subunit: \"Rwanda\",\n su_a3: \"RWA\",\n brk_diff: 0,\n name: \"Rwanda\",\n name_long: \"Rwanda\",\n brk_a3: \"RWA\",\n brk_name: \"Rwanda\",\n brk_group: null,\n abbrev: \"Rwa.\",\n postal: \"RW\",\n formal_en: \"Republic of Rwanda\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Rwanda\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 2,\n mapcolor9: 3,\n mapcolor13: 10,\n pop_est: 10473282,\n gdp_md_est: 9706,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"RW\",\n iso_a3: \"RWA\",\n iso_n3: \"646\",\n un_a3: \"646\",\n wb_a2: \"RW\",\n wb_a3: \"RWA\",\n woe_id: -99,\n adm0_a3_is: \"RWA\",\n adm0_a3_us: \"RWA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"RWA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [30.41910485201924, -1.134659112150416],\n [30.81613488131771, -1.698914076345389],\n [30.75830895358311, -2.287250257988369],\n [30.469696079232985, -2.413857517103458],\n [29.938359002407942, -2.348486830254238],\n [29.632176141078588, -2.917857761246097],\n [29.024926385216787, -2.839257907730158],\n [29.117478875451553, -2.292211195488385],\n [29.25483483248334, -2.215109958508911],\n [29.29188683443661, -1.620055840667987],\n [29.579466180140884, -1.341313164885626],\n [29.82151858899601, -1.443322442229785],\n [30.41910485201924, -1.134659112150416],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Sudan\",\n sov_a3: \"SDN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Sudan\",\n adm0_a3: \"SDN\",\n geou_dif: 0,\n geounit: \"Sudan\",\n gu_a3: \"SDN\",\n su_dif: 0,\n subunit: \"Sudan\",\n su_a3: \"SDN\",\n brk_diff: 0,\n name: \"Sudan\",\n name_long: \"Sudan\",\n brk_a3: \"SDN\",\n brk_name: \"Sudan\",\n brk_group: null,\n abbrev: \"Sudan\",\n postal: \"SD\",\n formal_en: \"Republic of the Sudan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Sudan\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 6,\n mapcolor9: 4,\n mapcolor13: 1,\n pop_est: 25946220,\n gdp_md_est: 88080,\n pop_year: -99,\n lastcensus: 2008,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SD\",\n iso_a3: \"SDN\",\n iso_n3: \"729\",\n un_a3: \"729\",\n wb_a2: \"SD\",\n wb_a3: \"SDN\",\n woe_id: -99,\n adm0_a3_is: \"SDN\",\n adm0_a3_us: \"SDN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Northern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"SDN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [33.963392794971185, 9.464285229420625],\n [33.82496348090751, 9.484060845715362],\n [33.842130853028145, 9.981914637215993],\n [33.72195924818311, 10.325262079630193],\n [33.20693808456178, 10.720111638406593],\n [33.086766479716744, 11.441141267476496],\n [33.20693808456178, 12.179338268667093],\n [32.743419037302544, 12.248007757149992],\n [32.67474954881965, 12.02483191958072],\n [32.073891524594785, 11.973329803218519],\n [32.31423473428475, 11.68148447716652],\n [32.400071594888345, 11.080626452941488],\n [31.850715687025517, 10.531270545078826],\n [31.35286189552488, 9.810240916008695],\n [30.83784073190338, 9.70723668328452],\n [29.99663949798855, 10.290927335388687],\n [29.61895731133285, 10.084918869940225],\n [29.515953078608614, 9.793073543888056],\n [29.000931914987174, 9.60423245056029],\n [28.966597170745782, 9.398223985111654],\n [27.970889587744352, 9.398223985111654],\n [27.833550610778783, 9.60423245056029],\n [27.112520981708883, 9.638567194801624],\n [26.752006167173818, 9.466893473594496],\n [26.477328213242515, 9.552730334198088],\n [25.962307049621018, 10.136420986302424],\n [25.790633328413946, 10.411098940233728],\n [25.069603699343986, 10.273759963267992],\n [24.794925745412684, 9.810240916008695],\n [24.53741516360202, 8.91753756573172],\n [24.19406772118765, 8.728696472403897],\n [23.886979580860665, 8.619729712933065],\n [23.805813429466752, 8.666318874542526],\n [23.459012892355986, 8.95428579348902],\n [23.394779087017298, 9.26506785729225],\n [23.55724979014292, 9.68121816653877],\n [23.554304233502194, 10.08925527591532],\n [22.97754357269275, 10.71446259199854],\n [22.864165480244253, 11.142395127807617],\n [22.87622, 11.384610000000123],\n [22.50869, 11.67936],\n [22.49762, 12.26024],\n [22.28801, 12.64605],\n [21.93681, 12.588180000000136],\n [22.03759, 12.95546],\n [22.29658, 13.37232],\n [22.18329, 13.78648],\n [22.51202, 14.09318],\n [22.30351, 14.32682],\n [22.56795000000011, 14.944290000000137],\n [23.024590000000103, 15.68072],\n [23.886890000000108, 15.61084],\n [23.837660000000138, 19.580470000000105],\n [23.850000000000136, 20],\n [25.00000000000011, 20.00304],\n [25.00000000000011, 22],\n [29.02, 22],\n [32.9, 22],\n [36.86623, 22],\n [37.1887200000001, 21.01885],\n [36.96941, 20.83744000000013],\n [37.11470000000014, 19.80796],\n [37.4817900000001, 18.61409],\n [37.86276, 18.36786],\n [38.410089959473225, 17.99830739997031],\n [37.90400000000011, 17.42754],\n [37.16747, 17.263140000000135],\n [36.852530000000115, 16.95655],\n [36.75389, 16.29186],\n [36.32322, 14.82249],\n [36.42951, 14.42211],\n [36.27022, 13.563330000000121],\n [35.86363, 12.57828],\n [35.26049, 12.08286],\n [34.83163000000013, 11.318960000000118],\n [34.73115000000013, 10.910170000000107],\n [34.25745, 10.63009],\n [33.96162, 9.58358],\n [33.963392794971185, 9.464285229420625],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"South Sudan\",\n sov_a3: \"SDS\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"South Sudan\",\n adm0_a3: \"SDS\",\n geou_dif: 0,\n geounit: \"South Sudan\",\n gu_a3: \"SDS\",\n su_dif: 0,\n subunit: \"South Sudan\",\n su_a3: \"SDS\",\n brk_diff: 0,\n name: \"S. Sudan\",\n name_long: \"South Sudan\",\n brk_a3: \"SDS\",\n brk_name: \"S. Sudan\",\n brk_group: null,\n abbrev: \"S. Sud.\",\n postal: \"SS\",\n formal_en: \"Republic of South Sudan\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"South Sudan\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 3,\n mapcolor9: 3,\n mapcolor13: 5,\n pop_est: 10625176,\n gdp_md_est: 13227,\n pop_year: -99,\n lastcensus: 2008,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SS\",\n iso_a3: \"SSD\",\n iso_n3: \"728\",\n un_a3: \"728\",\n wb_a2: \"SS\",\n wb_a3: \"SSD\",\n woe_id: -99,\n adm0_a3_is: \"SSD\",\n adm0_a3_us: \"SDS\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 8,\n long_len: 11,\n abbrev_len: 7,\n tiny: -99,\n homepart: 1,\n filename: \"SSD.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [33.963392794971185, 9.464285229420625],\n [33.97498, 8.68456],\n [33.82550000000015, 8.37916],\n [33.29480000000012, 8.35458],\n [32.95418, 7.784970000000102],\n [33.568290000000104, 7.71334],\n [34.0751, 7.22595],\n [34.25032, 6.82607],\n [34.70702, 6.59422000000012],\n [35.298007118233095, 5.506],\n [34.62019626785394, 4.847122742082036],\n [34.005, 4.249884947362147],\n [33.3900000000001, 3.79],\n [32.68642, 3.79232],\n [31.881450000000143, 3.55827],\n [31.24556, 3.7819],\n [30.83385, 3.50917],\n [29.95349, 4.1737],\n [29.71599531425602, 4.600804755060153],\n [29.159078403446642, 4.389267279473245],\n [28.696677687298802, 4.455077215996994],\n [28.428993768027, 4.287154649264608],\n [27.979977247842953, 4.408413397637388],\n [27.374226108517632, 5.233944403500175],\n [27.213409051225256, 5.550953477394614],\n [26.465909458123292, 5.946717434101856],\n [26.21341840994512, 6.546603298362129],\n [25.796647983511264, 6.97931590415817],\n [25.124130893664812, 7.500085150579424],\n [25.114932488716875, 7.825104071479245],\n [24.5673690121522, 8.229187933785454],\n [23.886979580860665, 8.619729712933065],\n [24.19406772118765, 8.728696472403897],\n [24.53741516360202, 8.91753756573172],\n [24.794925745412684, 9.810240916008695],\n [25.069603699343986, 10.273759963267992],\n [25.790633328413946, 10.411098940233728],\n [25.962307049621018, 10.136420986302424],\n [26.477328213242515, 9.552730334198088],\n [26.752006167173818, 9.466893473594496],\n [27.112520981708883, 9.638567194801624],\n [27.833550610778783, 9.60423245056029],\n [27.970889587744352, 9.398223985111654],\n [28.966597170745782, 9.398223985111654],\n [29.000931914987174, 9.60423245056029],\n [29.515953078608614, 9.793073543888056],\n [29.61895731133285, 10.084918869940225],\n [29.99663949798855, 10.290927335388687],\n [30.83784073190338, 9.70723668328452],\n [31.35286189552488, 9.810240916008695],\n [31.850715687025517, 10.531270545078826],\n [32.400071594888345, 11.080626452941488],\n [32.31423473428475, 11.68148447716652],\n [32.073891524594785, 11.973329803218519],\n [32.67474954881965, 12.02483191958072],\n [32.743419037302544, 12.248007757149992],\n [33.20693808456178, 12.179338268667093],\n [33.086766479716744, 11.441141267476496],\n [33.20693808456178, 10.720111638406593],\n [33.72195924818311, 10.325262079630193],\n [33.842130853028145, 9.981914637215993],\n [33.82496348090751, 9.484060845715362],\n [33.963392794971185, 9.464285229420625],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Sierra Leone\",\n sov_a3: \"SLE\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Sierra Leone\",\n adm0_a3: \"SLE\",\n geou_dif: 0,\n geounit: \"Sierra Leone\",\n gu_a3: \"SLE\",\n su_dif: 0,\n subunit: \"Sierra Leone\",\n su_a3: \"SLE\",\n brk_diff: 0,\n name: \"Sierra Leone\",\n name_long: \"Sierra Leone\",\n brk_a3: \"SLE\",\n brk_name: \"Sierra Leone\",\n brk_group: null,\n abbrev: \"S.L.\",\n postal: \"SL\",\n formal_en: \"Republic of Sierra Leone\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Sierra Leone\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 1,\n mapcolor13: 7,\n pop_est: 6440053,\n gdp_md_est: 4285,\n pop_year: -99,\n lastcensus: 2004,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SL\",\n iso_a3: \"SLE\",\n iso_n3: \"694\",\n un_a3: \"694\",\n wb_a2: \"SL\",\n wb_a3: \"SLE\",\n woe_id: -99,\n adm0_a3_is: \"SLE\",\n adm0_a3_us: \"SLE\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 12,\n long_len: 12,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"SLE.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-11.438779466182055, 6.785916856305747],\n [-11.70819454593574, 6.860098374860726],\n [-12.428098924193819, 7.26294200279203],\n [-12.949049038128194, 7.798645738145738],\n [-13.124025437868482, 8.163946438016978],\n [-13.246550258832515, 8.903048610871508],\n [-12.71195756677308, 9.342711696810767],\n [-12.59671912276221, 9.62018830000197],\n [-12.425928514037565, 9.835834051955956],\n [-12.150338100625005, 9.858571682164381],\n [-11.917277390988659, 10.046983954300558],\n [-11.117481248407328, 10.045872911006285],\n [-10.8391519840833, 9.688246161330369],\n [-10.622395188835041, 9.267910061068278],\n [-10.654770473665891, 8.977178452994194],\n [-10.494315151399633, 8.715540676300435],\n [-10.505477260774668, 8.348896389189605],\n [-10.23009355309128, 8.406205552601293],\n [-10.69559485517648, 7.939464016141087],\n [-11.146704270868383, 7.396706447779536],\n [-11.19980180504828, 7.105845648624737],\n [-11.438779466182055, 6.785916856305747],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Senegal\",\n sov_a3: \"SEN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Senegal\",\n adm0_a3: \"SEN\",\n geou_dif: 0,\n geounit: \"Senegal\",\n gu_a3: \"SEN\",\n su_dif: 0,\n subunit: \"Senegal\",\n su_a3: \"SEN\",\n brk_diff: 0,\n name: \"Senegal\",\n name_long: \"Senegal\",\n brk_a3: \"SEN\",\n brk_name: \"Senegal\",\n brk_group: null,\n abbrev: \"Sen.\",\n postal: \"SN\",\n formal_en: \"Republic of Senegal\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Senegal\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 6,\n mapcolor9: 5,\n mapcolor13: 5,\n pop_est: 13711597,\n gdp_md_est: 21980,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SN\",\n iso_a3: \"SEN\",\n iso_n3: \"686\",\n un_a3: \"686\",\n wb_a2: \"SN\",\n wb_a3: \"SEN\",\n woe_id: -99,\n adm0_a3_is: \"SEN\",\n adm0_a3_us: \"SEN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"SEN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-16.713728807023468, 13.594958604379853],\n [-17.126106736712615, 14.373515733289224],\n [-17.62504269049066, 14.729540513564071],\n [-17.18517289882223, 14.919477240452863],\n [-16.700706346085923, 15.621527411354108],\n [-16.463098110407884, 16.13503611903846],\n [-16.12069007004193, 16.455662543193384],\n [-15.62366614425869, 16.369337063049812],\n [-15.135737270558817, 16.587282416240782],\n [-14.577347581428981, 16.59826365810281],\n [-14.099521450242179, 16.304302273010492],\n [-13.43573767745306, 16.03938304286619],\n [-12.830658331747516, 15.303691514542946],\n [-12.170750291380301, 14.616834214735505],\n [-12.12488745772126, 13.994727484589788],\n [-11.927716030311615, 13.422075100147394],\n [-11.55339779300543, 13.141213690641067],\n [-11.467899135778524, 12.754518947800975],\n [-11.51394283695059, 12.442987575729418],\n [-11.65830095055793, 12.386582749882834],\n [-12.203564825885634, 12.465647691289405],\n [-12.278599005573438, 12.354440008997285],\n [-12.499050665730564, 12.332089952031057],\n [-13.217818162478238, 12.575873521367967],\n [-13.700476040084325, 12.586182969610194],\n [-15.548476935274008, 12.628170070847347],\n [-15.816574266004254, 12.515567124883345],\n [-16.147716844130585, 12.547761542201187],\n [-16.677451951554573, 12.384851589401052],\n [-16.841524624081273, 13.15139394780256],\n [-15.931295945692211, 13.130284125211332],\n [-15.691000535534995, 13.270353094938455],\n [-15.511812506562935, 13.278569647672867],\n [-15.141163295949466, 13.509511623585238],\n [-14.712197231494626, 13.298206691943777],\n [-14.277701788784553, 13.280585028532242],\n [-13.844963344772408, 13.505041612192002],\n [-14.046992356817482, 13.79406789800045],\n [-14.376713833055788, 13.625680243377372],\n [-14.687030808968487, 13.630356960499784],\n [-15.08173539881382, 13.876491807505984],\n [-15.39877031092446, 13.86036876063092],\n [-15.62459632003994, 13.62358734786956],\n [-16.713728807023468, 13.594958604379853],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Somaliland\",\n sov_a3: \"SOL\",\n adm0_dif: 0,\n level: 2,\n type: \"Indeterminate\",\n admin: \"Somaliland\",\n adm0_a3: \"SOL\",\n geou_dif: 0,\n geounit: \"Somaliland\",\n gu_a3: \"SOL\",\n su_dif: 0,\n subunit: \"Somaliland\",\n su_a3: \"SOL\",\n brk_diff: 1,\n name: \"Somaliland\",\n name_long: \"Somaliland\",\n brk_a3: \"B30\",\n brk_name: \"Somaliland\",\n brk_group: null,\n abbrev: \"Solnd.\",\n postal: \"SL\",\n formal_en: \"Republic of Somaliland\",\n formal_fr: null,\n note_adm0: \"Self admin.\",\n note_brk: \"Self admin.; Claimed by Somalia\",\n name_sort: \"Somaliland\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 6,\n mapcolor9: 5,\n mapcolor13: 2,\n pop_est: 3500000,\n gdp_md_est: 12250,\n pop_year: -99,\n lastcensus: -99,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"-99\",\n iso_a3: \"-99\",\n iso_n3: \"-99\",\n un_a3: \"-099\",\n wb_a2: \"-99\",\n wb_a3: \"-99\",\n woe_id: -99,\n adm0_a3_is: \"SOM\",\n adm0_a3_us: \"SOM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"somaliland.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [48.938129510296505, 9.451748968946674],\n [48.48673587422701, 8.83762624758998],\n [47.78942, 8.003],\n [46.94832848489796, 7.996876532417388],\n [43.67875, 9.18358000000012],\n [43.29697513201876, 9.540477403191744],\n [42.92812, 10.021940000000143],\n [42.55876, 10.57258000000013],\n [42.77685184100096, 10.92687856693442],\n [43.14530480324214, 11.462039699748857],\n [43.470659620951665, 11.27770986576388],\n [43.66666832863484, 10.864169216348158],\n [44.11780358254282, 10.445538438351605],\n [44.614259067570856, 10.442205308468942],\n [45.55694054543915, 10.698029486529776],\n [46.645401238803004, 10.816549383991173],\n [47.525657586462785, 11.12722809492999],\n [48.02159630716778, 11.193063869669743],\n [48.37878380716927, 11.375481675660126],\n [48.94820641459347, 11.41062164961852],\n [48.94200524271844, 11.394266058798166],\n [48.93849124532261, 10.982327378783452],\n [48.93823286316109, 9.973500067581483],\n [48.938129510296505, 9.451748968946674],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Somalia\",\n sov_a3: \"SOM\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Somalia\",\n adm0_a3: \"SOM\",\n geou_dif: 0,\n geounit: \"Somalia\",\n gu_a3: \"SOM\",\n su_dif: 0,\n subunit: \"Somalia\",\n su_a3: \"SOM\",\n brk_diff: 0,\n name: \"Somalia\",\n name_long: \"Somalia\",\n brk_a3: \"SOM\",\n brk_name: \"Somalia\",\n brk_group: null,\n abbrev: \"Som.\",\n postal: \"SO\",\n formal_en: \"Federal Republic of Somalia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Somalia\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 8,\n mapcolor9: 6,\n mapcolor13: 7,\n pop_est: 9832017,\n gdp_md_est: 5524,\n pop_year: -99,\n lastcensus: 1987,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SO\",\n iso_a3: \"SOM\",\n iso_n3: \"706\",\n un_a3: \"706\",\n wb_a2: \"SO\",\n wb_a3: \"SOM\",\n woe_id: -99,\n adm0_a3_is: \"SOM\",\n adm0_a3_us: \"SOM\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"SOM.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [49.72862, 11.5789],\n [50.25878, 11.67957],\n [50.73202, 12.0219],\n [51.1112, 12.02464],\n [51.13387, 11.74815],\n [51.04153, 11.16651],\n [51.04531, 10.6409],\n [50.83418, 10.27972],\n [50.55239, 9.19874],\n [50.07092, 8.08173],\n [49.4527, 6.80466],\n [48.59455, 5.33911],\n [47.74079, 4.2194],\n [46.56476, 2.85529],\n [45.56399, 2.04576],\n [44.06815, 1.05283],\n [43.13597, 0.2922],\n [42.04157, -0.91916],\n [41.81095, -1.44647],\n [41.58513, -1.68325],\n [40.993, -0.85829],\n [40.98105, 2.78452],\n [41.85508309264397, 3.918911920483727],\n [42.12861, 4.23413],\n [42.76967, 4.25259],\n [43.66087, 4.95755],\n [44.9636, 5.00162],\n [47.78942, 8.003],\n [48.48673587422695, 8.837626247589995],\n [48.93812951029645, 9.451748968946617],\n [48.93823286316103, 9.973500067581512],\n [48.938491245322496, 10.982327378783467],\n [48.94200524271835, 11.394266058798138],\n [48.94820475850974, 11.410617281697963],\n [49.26776, 11.43033],\n [49.72862, 11.5789],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Swaziland\",\n sov_a3: \"SWZ\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Swaziland\",\n adm0_a3: \"SWZ\",\n geou_dif: 0,\n geounit: \"Swaziland\",\n gu_a3: \"SWZ\",\n su_dif: 0,\n subunit: \"Swaziland\",\n su_a3: \"SWZ\",\n brk_diff: 0,\n name: \"Swaziland\",\n name_long: \"Swaziland\",\n brk_a3: \"SWZ\",\n brk_name: \"Swaziland\",\n brk_group: null,\n abbrev: \"Swz.\",\n postal: \"SW\",\n formal_en: \"Kingdom of Swaziland\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Swaziland\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 6,\n mapcolor9: 2,\n mapcolor13: 5,\n pop_est: 1123913,\n gdp_md_est: 5702,\n pop_year: -99,\n lastcensus: 2007,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SZ\",\n iso_a3: \"SWZ\",\n iso_n3: \"748\",\n un_a3: \"748\",\n wb_a2: \"SZ\",\n wb_a3: \"SWZ\",\n woe_id: -99,\n adm0_a3_is: \"SWZ\",\n adm0_a3_us: \"SWZ\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Southern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"SWZ.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [32.07166548028107, -26.73382008230491],\n [31.868060337051077, -27.177927341421277],\n [31.282773064913325, -27.285879408478998],\n [30.68596194837448, -26.74384531016953],\n [30.676608514129637, -26.398078301704608],\n [30.949666782359913, -26.022649021104147],\n [31.04407962415715, -25.731452325139443],\n [31.333157586397906, -25.66019052500895],\n [31.837777947728064, -25.84333180105135],\n [31.98577924981197, -26.291779880480227],\n [32.07166548028107, -26.73382008230491],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Chad\",\n sov_a3: \"TCD\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Chad\",\n adm0_a3: \"TCD\",\n geou_dif: 0,\n geounit: \"Chad\",\n gu_a3: \"TCD\",\n su_dif: 0,\n subunit: \"Chad\",\n su_a3: \"TCD\",\n brk_diff: 0,\n name: \"Chad\",\n name_long: \"Chad\",\n brk_a3: \"TCD\",\n brk_name: \"Chad\",\n brk_group: null,\n abbrev: \"Chad\",\n postal: \"TD\",\n formal_en: \"Republic of Chad\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Chad\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 1,\n mapcolor9: 8,\n mapcolor13: 6,\n pop_est: 10329208,\n gdp_md_est: 15860,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TD\",\n iso_a3: \"TCD\",\n iso_n3: \"148\",\n un_a3: \"148\",\n wb_a2: \"TD\",\n wb_a3: \"TCD\",\n woe_id: -99,\n adm0_a3_is: \"TCD\",\n adm0_a3_us: \"TCD\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Middle Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 4,\n long_len: 4,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"TCD.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [14.495787387762903, 12.859396267137356],\n [14.595781284247607, 13.330426947477859],\n [13.95447675950561, 13.353448798063766],\n [13.956698846094127, 13.996691189016929],\n [13.540393507550789, 14.367133693901222],\n [13.97217, 15.68437],\n [15.247731154041846, 16.627305813050782],\n [15.30044111497972, 17.927949937405003],\n [15.685740594147774, 19.957180080642384],\n [15.903246697664313, 20.387618923417506],\n [15.487148064850146, 20.730414537025638],\n [15.47106, 21.04845],\n [15.096887648181848, 21.30851878507491],\n [14.8513, 22.862950000000126],\n [15.86085, 23.40972],\n [19.84926, 21.49509],\n [23.837660000000138, 19.580470000000105],\n [23.886890000000108, 15.61084],\n [23.024590000000103, 15.68072],\n [22.56795000000011, 14.944290000000137],\n [22.30351, 14.32682],\n [22.51202, 14.09318],\n [22.18329, 13.78648],\n [22.29658, 13.37232],\n [22.03759, 12.95546],\n [21.93681, 12.588180000000136],\n [22.28801, 12.64605],\n [22.49762, 12.26024],\n [22.50869, 11.67936],\n [22.87622, 11.384610000000123],\n [22.864165480244253, 11.142395127807617],\n [22.23112918466876, 10.97188873946061],\n [21.72382164885954, 10.567055568885962],\n [21.00086836109631, 9.47598521569148],\n [20.05968549976427, 9.01270600019484],\n [19.09400800952608, 9.07484691002577],\n [18.81200971850927, 8.982914536978626],\n [18.911021762780592, 8.630894680206438],\n [18.389554884523303, 8.281303615751881],\n [17.964929640380888, 7.890914008002994],\n [16.70598839688637, 7.508327541529979],\n [16.456184523187403, 7.734773667832939],\n [16.290561557691888, 7.754307359239418],\n [16.106231723706742, 7.497087917506462],\n [15.279460483469164, 7.421924546738012],\n [15.43609174974574, 7.692812404811889],\n [15.120865512765306, 8.382150173369437],\n [14.97999555833769, 8.796104234243444],\n [14.544466586981855, 8.96586131432224],\n [13.954218377344091, 9.549494940626685],\n [14.171466098699113, 10.021378282100045],\n [14.62720055508106, 9.920919297724595],\n [14.9093538753948, 9.99212942142276],\n [15.467872755605244, 9.982336737503543],\n [14.923564894275046, 10.891325181517516],\n [14.960151808337683, 11.555574042197236],\n [14.89336, 12.21905],\n [14.495787387762903, 12.859396267137356],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Togo\",\n sov_a3: \"TGO\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Togo\",\n adm0_a3: \"TGO\",\n geou_dif: 0,\n geounit: \"Togo\",\n gu_a3: \"TGO\",\n su_dif: 0,\n subunit: \"Togo\",\n su_a3: \"TGO\",\n brk_diff: 0,\n name: \"Togo\",\n name_long: \"Togo\",\n brk_a3: \"TGO\",\n brk_name: \"Togo\",\n brk_group: null,\n abbrev: \"Togo\",\n postal: \"TG\",\n formal_en: \"Togolese Republic\",\n formal_fr: \"République Togolaise\",\n note_adm0: null,\n note_brk: null,\n name_sort: \"Togo\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 1,\n mapcolor9: 3,\n mapcolor13: 5,\n pop_est: 6019877,\n gdp_md_est: 5118,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TG\",\n iso_a3: \"TGO\",\n iso_n3: \"768\",\n un_a3: \"768\",\n wb_a2: \"TG\",\n wb_a3: \"TGO\",\n woe_id: -99,\n adm0_a3_is: \"TGO\",\n adm0_a3_us: \"TGO\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Western Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 4,\n long_len: 4,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"TGO.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [1.865240512712319, 6.142157701029731],\n [1.060121697604927, 5.928837388528876],\n [0.836931186536333, 6.279978745952149],\n [0.570384148774849, 6.914358628767189],\n [0.490957472342245, 7.411744289576475],\n [0.712029249686878, 8.31246450442383],\n [0.461191847342121, 8.677222601756014],\n [0.365900506195885, 9.465003973829482],\n [0.367579990245389, 10.19121287682718],\n [-0.049784715159944, 10.706917832883931],\n [0.023802524423701, 11.018681748900804],\n [0.899563022474069, 10.99733938236426],\n [0.772335646171484, 10.470808213742359],\n [1.077795037448738, 10.175606594275024],\n [1.425060662450136, 9.825395412633],\n [1.46304284018467, 9.334624335157088],\n [1.664477573258381, 9.12859039960938],\n [1.618950636409238, 6.832038072126237],\n [1.865240512712319, 6.142157701029731],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Tunisia\",\n sov_a3: \"TUN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Tunisia\",\n adm0_a3: \"TUN\",\n geou_dif: 0,\n geounit: \"Tunisia\",\n gu_a3: \"TUN\",\n su_dif: 0,\n subunit: \"Tunisia\",\n su_a3: \"TUN\",\n brk_diff: 0,\n name: \"Tunisia\",\n name_long: \"Tunisia\",\n brk_a3: \"TUN\",\n brk_name: \"Tunisia\",\n brk_group: null,\n abbrev: \"Tun.\",\n postal: \"TN\",\n formal_en: \"Republic of Tunisia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Tunisia\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 3,\n mapcolor9: 3,\n mapcolor13: 2,\n pop_est: 10486339,\n gdp_md_est: 81710,\n pop_year: -99,\n lastcensus: 2004,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TN\",\n iso_a3: \"TUN\",\n iso_n3: \"788\",\n un_a3: \"788\",\n wb_a2: \"TN\",\n wb_a3: \"TUN\",\n woe_id: -99,\n adm0_a3_is: \"TUN\",\n adm0_a3_us: \"TUN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Northern Africa\",\n region_wb: \"Middle East & North Africa\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"TUN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [9.482139926805274, 30.307556057246188],\n [9.055602654668148, 32.10269196220129],\n [8.439102817426118, 32.50628489840082],\n [8.430472853233368, 32.74833730725595],\n [7.612641635782182, 33.34411489514896],\n [7.524481642292244, 34.09737641045146],\n [8.140981479534304, 34.65514598239379],\n [8.376367628623768, 35.47987600355594],\n [8.217824334352315, 36.433176988260286],\n [8.420964389691676, 36.94642731378316],\n [9.509993523810607, 37.349994411766545],\n [10.210002475636317, 37.230001735984814],\n [10.18065026209453, 36.724037787415085],\n [11.028867221733348, 37.09210317641396],\n [11.100025668999251, 36.899996039368915],\n [10.600004510143094, 36.410000108377375],\n [10.593286573945136, 35.94744436293281],\n [10.939518670300687, 35.698984076473494],\n [10.807847120821009, 34.83350718844919],\n [10.149592726287125, 34.3307730168977],\n [10.339658644256616, 33.78574168551532],\n [10.856836378633687, 33.76874013929128],\n [11.108500603895122, 33.293342800422195],\n [11.48878746913101, 33.13699575452314],\n [11.432253452203696, 32.368903103152874],\n [10.944789666394456, 32.081814683555365],\n [10.636901482799487, 31.761420803345754],\n [9.950225050505082, 31.376069647745254],\n [10.056575148161755, 30.9618313664936],\n [9.970017124072854, 30.539324856075243],\n [9.482139926805274, 30.307556057246188],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"United Republic of Tanzania\",\n sov_a3: \"TZA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"United Republic of Tanzania\",\n adm0_a3: \"TZA\",\n geou_dif: 0,\n geounit: \"Tanzania\",\n gu_a3: \"TZA\",\n su_dif: 0,\n subunit: \"Tanzania\",\n su_a3: \"TZA\",\n brk_diff: 0,\n name: \"Tanzania\",\n name_long: \"Tanzania\",\n brk_a3: \"TZA\",\n brk_name: \"Tanzania\",\n brk_group: null,\n abbrev: \"Tanz.\",\n postal: \"TZ\",\n formal_en: \"United Republic of Tanzania\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Tanzania\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 6,\n mapcolor9: 2,\n mapcolor13: 2,\n pop_est: 41048532,\n gdp_md_est: 54250,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"TZ\",\n iso_a3: \"TZA\",\n iso_n3: \"834\",\n un_a3: \"834\",\n wb_a2: \"TZ\",\n wb_a3: \"TZA\",\n woe_id: -99,\n adm0_a3_is: \"TZA\",\n adm0_a3_us: \"TZA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"TZA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [33.9037111971046, -0.95],\n [34.07262, -1.05982],\n [37.69869, -3.09699],\n [37.7669, -3.67712],\n [39.20222, -4.67677],\n [38.74054, -5.90895],\n [38.79977, -6.47566],\n [39.44, -6.839999999999861],\n [39.470000000000134, -7.1],\n [39.19469, -7.7039],\n [39.25203, -8.00781],\n [39.18652, -8.48551],\n [39.53574, -9.112369999999883],\n [39.9496, -10.0984],\n [40.31659, -10.317099999999868],\n [39.521, -10.89688],\n [38.42755659358778, -11.285202325081627],\n [37.82764, -11.26879],\n [37.47129, -11.56876],\n [36.77515099462289, -11.594537448780784],\n [36.514081658684404, -11.720938002166747],\n [35.31239790216915, -11.439146416879169],\n [34.559989047999466, -11.520020033415847],\n [34.28, -10.16],\n [33.940837724096525, -9.693673841980285],\n [33.73972, -9.41715],\n [32.75937544122138, -9.230599053589003],\n [32.19186486179194, -8.930358981973257],\n [31.556348097466635, -8.762048841998647],\n [31.15775133695007, -8.594578747317314],\n [30.74, -8.34],\n [30.2, -7.08],\n [29.62, -6.52],\n [29.419992710088305, -5.939998874539299],\n [29.51998660657307, -5.419978936386258],\n [29.33999759290037, -4.499983412294114],\n [29.753512404099865, -4.452389418153302],\n [30.11632, -4.09012],\n [30.50554, -3.56858],\n [30.75224, -3.35931],\n [30.74301, -3.03431],\n [30.52766, -2.80762],\n [30.46967, -2.41383],\n [30.758308953583136, -2.287250257988376],\n [30.81613488131785, -1.698914076345375],\n [30.4191048520193, -1.134659112150416],\n [30.769860000000108, -1.01455],\n [31.86617, -1.02736],\n [33.9037111971046, -0.95],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Uganda\",\n sov_a3: \"UGA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Uganda\",\n adm0_a3: \"UGA\",\n geou_dif: 0,\n geounit: \"Uganda\",\n gu_a3: \"UGA\",\n su_dif: 0,\n subunit: \"Uganda\",\n su_a3: \"UGA\",\n brk_diff: 0,\n name: \"Uganda\",\n name_long: \"Uganda\",\n brk_a3: \"UGA\",\n brk_name: \"Uganda\",\n brk_group: null,\n abbrev: \"Uga.\",\n postal: \"UG\",\n formal_en: \"Republic of Uganda\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Uganda\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 3,\n mapcolor9: 6,\n mapcolor13: 4,\n pop_est: 32369558,\n gdp_md_est: 39380,\n pop_year: -99,\n lastcensus: 2002,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"UG\",\n iso_a3: \"UGA\",\n iso_n3: \"800\",\n un_a3: \"800\",\n wb_a2: \"UG\",\n wb_a3: \"UGA\",\n woe_id: -99,\n adm0_a3_is: \"UGA\",\n adm0_a3_us: \"UGA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"UGA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [31.86617, -1.02736],\n [30.769860000000108, -1.01455],\n [30.4191048520193, -1.134659112150416],\n [29.821518588996124, -1.443322442229771],\n [29.579466180141022, -1.341313164885605],\n [29.58783776217217, -0.587405694179381],\n [29.8195, -0.2053],\n [29.875778842902434, 0.597379868976361],\n [30.08615359876279, 1.062312730306417],\n [30.46850752129029, 1.583805446779706],\n [30.852670118948136, 1.849396470543752],\n [31.17414920423596, 2.204465236821306],\n [30.77332, 2.339890000000139],\n [30.83385, 3.50917],\n [31.24556, 3.7819],\n [31.88145, 3.55827],\n [32.68642, 3.79232],\n [33.3900000000001, 3.79],\n [34.005, 4.249884947362147],\n [34.47913, 3.5556],\n [34.59607, 3.053740000000118],\n [35.03599, 1.90584],\n [34.6721, 1.17694],\n [34.18, 0.515],\n [33.893568969666994, 0.109813537861839],\n [33.9037111971046, -0.95],\n [31.86617, -1.02736],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"South Africa\",\n sov_a3: \"ZAF\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"South Africa\",\n adm0_a3: \"ZAF\",\n geou_dif: 0,\n geounit: \"South Africa\",\n gu_a3: \"ZAF\",\n su_dif: 0,\n subunit: \"South Africa\",\n su_a3: \"ZAF\",\n brk_diff: 0,\n name: \"South Africa\",\n name_long: \"South Africa\",\n brk_a3: \"ZAF\",\n brk_name: \"South Africa\",\n brk_group: null,\n abbrev: \"S.Af.\",\n postal: \"ZA\",\n formal_en: \"Republic of South Africa\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"South Africa\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 3,\n mapcolor9: 4,\n mapcolor13: 2,\n pop_est: 49052489,\n gdp_md_est: 491000,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"5. Emerging region: G20\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"ZA\",\n iso_a3: \"ZAF\",\n iso_n3: \"710\",\n un_a3: \"710\",\n wb_a2: \"ZA\",\n wb_a3: \"ZAF\",\n woe_id: -99,\n adm0_a3_is: \"ZAF\",\n adm0_a3_us: \"ZAF\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Southern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 12,\n long_len: 12,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"ZAF.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [31.521001417778876, -29.257386976846252],\n [31.325561150851, -29.401977634398914],\n [30.901762729625343, -29.90995696382804],\n [30.622813348113823, -30.42377573010613],\n [30.05571618014278, -31.140269463832958],\n [28.925552605919535, -32.17204111097249],\n [28.2197558936771, -32.771952813448856],\n [27.464608188595975, -33.2269637997788],\n [26.419452345492825, -33.61495045342619],\n [25.90966434093349, -33.6670402971764],\n [25.780628289500697, -33.944646091448334],\n [25.172861769315972, -33.796851495093584],\n [24.677853224392123, -33.98717579522455],\n [23.594043409934642, -33.794474379208154],\n [22.988188917744733, -33.91643075941698],\n [22.574157342222236, -33.864082533505304],\n [21.542799106541025, -34.258838799782936],\n [20.689052768647002, -34.417175388325234],\n [20.071261020597632, -34.79513681410799],\n [19.61640506356457, -34.81916635512371],\n [19.193278435958717, -34.46259897230979],\n [18.85531456876987, -34.444305515278465],\n [18.42464318204938, -33.99787281670896],\n [18.377410922934615, -34.13652068454807],\n [18.244499139079917, -33.86775156019802],\n [18.250080193767445, -33.28143075941444],\n [17.92519046394844, -32.61129078545343],\n [18.247909783611192, -32.42913136162456],\n [18.22176150887148, -31.66163298922567],\n [17.56691775886887, -30.725721123987547],\n [17.064416131262703, -29.87864104585916],\n [17.062917514726223, -29.875953871379984],\n [16.344976840895242, -28.576705010697697],\n [16.824017368240902, -28.082161553664466],\n [17.218928663815404, -28.35594329194681],\n [17.387497185951503, -28.78351409272978],\n [17.83615197110953, -28.85637786226132],\n [18.464899122804752, -29.04546192801728],\n [19.002127312911085, -28.972443129188864],\n [19.894734327888614, -28.461104831660776],\n [19.895767856534434, -24.767790215760588],\n [20.165725538827186, -24.917961928000768],\n [20.758609246511835, -25.86813648855145],\n [20.66647016773544, -26.477453301704923],\n [20.88960900237174, -26.828542982695915],\n [21.60589603036939, -26.726533705351756],\n [22.105968865657868, -26.280256036079138],\n [22.57953169118059, -25.979447523708146],\n [22.8242712745149, -25.500458672794768],\n [23.312096795350186, -25.26868987396572],\n [23.73356977712271, -25.390129489851613],\n [24.211266717228792, -25.670215752873574],\n [25.025170525825786, -25.7196700985769],\n [25.66466637543772, -25.486816094669713],\n [25.76584882986521, -25.174845472923675],\n [25.94165205252216, -24.69637338633322],\n [26.4857532081233, -24.616326592713104],\n [26.786406691197413, -24.240690606383485],\n [27.119409620886245, -23.574323011979775],\n [28.01723595552525, -22.827753594659075],\n [29.43218834810904, -22.091312758067588],\n [29.839036899542972, -22.102216485281176],\n [30.322883335091774, -22.27161183033393],\n [30.65986535006709, -22.151567478119915],\n [31.191409132621285, -22.2515096981724],\n [31.670397983534652, -23.658969008073864],\n [31.93058882012425, -24.369416599222536],\n [31.75240848158188, -25.484283949487413],\n [31.837777947728064, -25.84333180105135],\n [31.333157586397906, -25.66019052500895],\n [31.04407962415715, -25.731452325139443],\n [30.949666782359913, -26.022649021104147],\n [30.676608514129637, -26.398078301704608],\n [30.68596194837448, -26.74384531016953],\n [31.282773064913325, -27.285879408478998],\n [31.868060337051077, -27.177927341421277],\n [32.07166548028107, -26.73382008230491],\n [32.830120477028885, -26.742191664336197],\n [32.580264926897684, -27.470157566031816],\n [32.46213260267845, -28.301011244420557],\n [32.20338870619304, -28.752404880490072],\n [31.521001417778876, -29.257386976846252],\n ],\n [\n [28.97826256685724, -28.955596612261715],\n [28.541700066855498, -28.64750172293757],\n [28.07433841320778, -28.851468601193588],\n [27.532511020627478, -29.24271087007536],\n [26.999261915807637, -29.875953871379984],\n [27.749397006956485, -30.64510588961222],\n [28.107204624145425, -30.54573211031495],\n [28.29106937023991, -30.2262167294543],\n [28.84839969250774, -30.070050551068253],\n [29.018415154748023, -29.74376555757737],\n [29.325166456832587, -29.257386976846252],\n [28.97826256685724, -28.955596612261715],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Zambia\",\n sov_a3: \"ZMB\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Zambia\",\n adm0_a3: \"ZMB\",\n geou_dif: 0,\n geounit: \"Zambia\",\n gu_a3: \"ZMB\",\n su_dif: 0,\n subunit: \"Zambia\",\n su_a3: \"ZMB\",\n brk_diff: 0,\n name: \"Zambia\",\n name_long: \"Zambia\",\n brk_a3: \"ZMB\",\n brk_name: \"Zambia\",\n brk_group: null,\n abbrev: \"Zambia\",\n postal: \"ZM\",\n formal_en: \"Republic of Zambia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Zambia\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 8,\n mapcolor9: 5,\n mapcolor13: 13,\n pop_est: 11862740,\n gdp_md_est: 17500,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"ZM\",\n iso_a3: \"ZMB\",\n iso_n3: \"894\",\n un_a3: \"894\",\n wb_a2: \"ZM\",\n wb_a3: \"ZMB\",\n woe_id: -99,\n adm0_a3_is: \"ZMB\",\n adm0_a3_us: \"ZMB\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"ZMB.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [32.75937544122132, -9.230599053589058],\n [33.2313879737753, -9.6767216935648],\n [33.48568769708359, -10.525558770391115],\n [33.315310499817286, -10.796549981329697],\n [33.11428917820191, -11.607198174692314],\n [33.306422153463075, -12.435778090060218],\n [32.991764357237884, -12.783870537978272],\n [32.68816531752313, -13.712857761289275],\n [33.214024692525214, -13.971860039936153],\n [30.17948123548183, -14.796099134991527],\n [30.274255812305107, -15.507786960515212],\n [29.516834344203147, -15.644677829656388],\n [28.947463413211263, -16.04305144619444],\n [28.825868768028496, -16.389748630440614],\n [28.467906121542683, -16.468400160388846],\n [27.598243442502756, -17.290830580314008],\n [27.04442711763073, -17.938026218337434],\n [26.70677330903564, -17.961228936436484],\n [26.381935255648926, -17.8460421688579],\n [25.264225701608012, -17.736539808831417],\n [25.08444339366457, -17.661815687737374],\n [25.07695031098226, -17.57882333747662],\n [24.682349074001507, -17.353410739819473],\n [24.033861525170778, -17.295843194246324],\n [23.215048455506064, -17.52311614346598],\n [22.56247846852426, -16.898451429921813],\n [21.887842644953874, -16.08031015387688],\n [21.933886346125917, -12.898437188369359],\n [24.016136508894675, -12.911046237848574],\n [23.930922072045377, -12.565847670138854],\n [24.079905226342845, -12.191296888887365],\n [23.904153680118185, -11.722281589406322],\n [24.017893507592586, -11.23729827234709],\n [23.912215203555718, -10.926826267137514],\n [24.25715538910399, -10.951992689663657],\n [24.31451622894795, -11.26282642989927],\n [24.78316979340295, -11.238693536018964],\n [25.418118116973204, -11.330935967659961],\n [25.752309604604733, -11.784965101776358],\n [26.553087599399618, -11.924439792532127],\n [27.164419793412463, -11.608748467661075],\n [27.38879886242378, -12.132747491100666],\n [28.155108676879987, -12.272480564017897],\n [28.523561639121027, -12.698604424696683],\n [28.934285922976837, -13.248958428605135],\n [29.69961388521949, -13.257226657771831],\n [29.61600141777123, -12.178894545137311],\n [29.34154788586909, -12.360743910372413],\n [28.642417433392353, -11.971568698782315],\n [28.372253045370428, -11.793646742401393],\n [28.49606977714177, -10.789883721564044],\n [28.67368167492893, -9.605924981324932],\n [28.449871046672826, -9.164918308146085],\n [28.7348665707625, -8.526559340044578],\n [29.002912225060467, -8.407031752153472],\n [30.346086053190813, -8.238256524288218],\n [30.740015496551788, -8.340007419470915],\n [31.15775133695005, -8.594578747317366],\n [31.556348097466497, -8.762048841998642],\n [32.19186486179197, -8.930358981973278],\n [32.75937544122132, -9.230599053589058],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Zimbabwe\",\n sov_a3: \"ZWE\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Zimbabwe\",\n adm0_a3: \"ZWE\",\n geou_dif: 0,\n geounit: \"Zimbabwe\",\n gu_a3: \"ZWE\",\n su_dif: 0,\n subunit: \"Zimbabwe\",\n su_a3: \"ZWE\",\n brk_diff: 0,\n name: \"Zimbabwe\",\n name_long: \"Zimbabwe\",\n brk_a3: \"ZWE\",\n brk_name: \"Zimbabwe\",\n brk_group: null,\n abbrev: \"Zimb.\",\n postal: \"ZW\",\n formal_en: \"Republic of Zimbabwe\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Zimbabwe\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 5,\n mapcolor9: 3,\n mapcolor13: 9,\n pop_est: 12619600,\n gdp_md_est: 9323,\n pop_year: 0,\n lastcensus: 2002,\n gdp_year: 0,\n economy: \"5. Emerging region: G20\",\n income_grp: \"5. Low income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"ZW\",\n iso_a3: \"ZWE\",\n iso_n3: \"716\",\n un_a3: \"716\",\n wb_a2: \"ZW\",\n wb_a3: \"ZWE\",\n woe_id: -99,\n adm0_a3_is: \"ZWE\",\n adm0_a3_us: \"ZWE\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Africa\",\n region_un: \"Africa\",\n subregion: \"Eastern Africa\",\n region_wb: \"Sub-Saharan Africa\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"ZWE.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [31.191409132621285, -22.2515096981724],\n [30.65986535006709, -22.151567478119915],\n [30.322883335091774, -22.27161183033393],\n [29.839036899542972, -22.102216485281176],\n [29.43218834810904, -22.091312758067588],\n [28.794656202924212, -21.63945403410745],\n [28.021370070108617, -21.485975030200585],\n [27.72722781750326, -20.851801853114715],\n [27.724747348753255, -20.499058526290387],\n [27.296504754350508, -20.391519870691],\n [26.164790887158485, -19.29308562589494],\n [25.85039147309473, -18.714412937090536],\n [25.649163445750162, -18.53602589281899],\n [25.264225701608012, -17.736539808831417],\n [26.381935255648926, -17.8460421688579],\n [26.70677330903564, -17.961228936436484],\n [27.04442711763073, -17.938026218337434],\n [27.598243442502756, -17.290830580314008],\n [28.467906121542683, -16.468400160388846],\n [28.825868768028496, -16.389748630440614],\n [28.947463413211263, -16.04305144619444],\n [29.516834344203147, -15.644677829656388],\n [30.274255812305107, -15.507786960515212],\n [30.338954705534544, -15.880839125230244],\n [31.173063999157677, -15.860943698797872],\n [31.636498243951195, -16.071990248277885],\n [31.8520406430406, -16.319417006091378],\n [32.32823896661022, -16.392074069893752],\n [32.847638787575846, -16.713398125884616],\n [32.84986087416439, -17.97905730557718],\n [32.65488569512715, -18.672089939043495],\n [32.61199425632489, -19.419382826416275],\n [32.772707960752626, -19.715592136313298],\n [32.65974327976258, -20.304290052982317],\n [32.50869306817344, -20.395292250248307],\n [32.244988234188014, -21.116488539313693],\n [31.191409132621285, -22.2515096981724],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Australia\",\n sov_a3: \"AU1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"Australia\",\n adm0_a3: \"AUS\",\n geou_dif: 0,\n geounit: \"Australia\",\n gu_a3: \"AUS\",\n su_dif: 0,\n subunit: \"Australia\",\n su_a3: \"AUS\",\n brk_diff: 0,\n name: \"Australia\",\n name_long: \"Australia\",\n brk_a3: \"AUS\",\n brk_name: \"Australia\",\n brk_group: null,\n abbrev: \"Auz.\",\n postal: \"AU\",\n formal_en: \"Commonwealth of Australia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Australia\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 2,\n mapcolor9: 2,\n mapcolor13: 7,\n pop_est: 21262641,\n gdp_md_est: 800200,\n pop_year: -99,\n lastcensus: 2006,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AU\",\n iso_a3: \"AUS\",\n iso_n3: \"036\",\n un_a3: \"036\",\n wb_a2: \"AU\",\n wb_a3: \"AUS\",\n woe_id: -99,\n adm0_a3_is: \"AUS\",\n adm0_a3_us: \"AUS\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Oceania\",\n region_un: \"Oceania\",\n subregion: \"Australia and New Zealand\",\n region_wb: \"East Asia & Pacific\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"AUS.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [145.39797814349484, -40.79254851660589],\n [146.36412072162372, -41.13769540788334],\n [146.90858361225085, -41.00054615658068],\n [147.68925947488415, -40.80825815202269],\n [148.28906782449602, -40.87543751400213],\n [148.35986453673584, -42.06244516374644],\n [148.0173014670731, -42.407023614268624],\n [147.9140519553538, -43.211522312188485],\n [147.564564243764, -42.93768889747386],\n [146.87034305235494, -43.634597263362096],\n [146.66332726459368, -43.58085377377856],\n [146.04837772032042, -43.54974456153889],\n [145.43192955951056, -42.69377613705627],\n [145.2950903668017, -42.03360971452756],\n [144.71807132383063, -41.162551771815714],\n [144.74375451067968, -40.70397511165771],\n [145.39797814349484, -40.79254851660589],\n ],\n ],\n [\n [\n [143.56181115129996, -13.763655694232213],\n [143.92209923723894, -14.548310642152003],\n [144.56371382057486, -14.171176039285882],\n [144.89490807513354, -14.594457696188625],\n [145.37472374896348, -14.984976495018286],\n [145.27199100156727, -15.428205254785695],\n [145.48525963763578, -16.285672295804773],\n [145.63703331927695, -16.784918308176614],\n [145.88890425026767, -16.90692636481765],\n [146.1603088726645, -17.761654554925244],\n [146.0636739442787, -18.28007252367732],\n [146.3874784690196, -18.95827402107591],\n [147.47108157774792, -19.48072275154668],\n [148.1776017600425, -19.95593922290277],\n [148.84841352762322, -20.39120981209726],\n [148.7174654481956, -20.633468926681516],\n [149.28942020080206, -21.260510756111103],\n [149.67833703023067, -22.342511895438392],\n [150.07738244038862, -22.12278370533332],\n [150.48293908101516, -22.556142266533012],\n [150.72726525289121, -22.40240488046466],\n [150.89955447815228, -23.462236830338682],\n [151.60917524638424, -24.076256198830762],\n [152.07353966695908, -24.457886651306197],\n [152.85519738180594, -25.267501316023015],\n [153.13616214417678, -26.07117319102619],\n [153.16194868389042, -26.641319268502443],\n [153.0929089703486, -27.26029957449451],\n [153.5694690289442, -28.1100668271021],\n [153.51210818910022, -28.995077406532758],\n [153.33909549378706, -29.458201592732447],\n [153.06924116435889, -30.350240166954816],\n [153.0896016786818, -30.923641859665448],\n [152.8915775901394, -31.640445651985956],\n [152.45000247620536, -32.550002536755244],\n [151.70911746643682, -33.041342054986345],\n [151.34397179586242, -33.81602345147385],\n [151.01055545471516, -34.310360202777886],\n [150.71413943908905, -35.17345997491681],\n [150.32821984273326, -35.67187916437193],\n [150.07521203023228, -36.42020558039051],\n [149.94612430236717, -37.10905242284123],\n [149.99728397033616, -37.42526051203514],\n [149.42388227762555, -37.77268116633346],\n [148.30462243061592, -37.80906137466688],\n [147.3817330263153, -38.21921721776755],\n [146.92212283751135, -38.60653207779512],\n [146.3179219911548, -39.03575652441144],\n [145.48965213438058, -38.59376799901905],\n [144.87697635312816, -38.41744801203912],\n [145.03221235573298, -37.896187839510986],\n [144.48568240781404, -38.08532358169927],\n [143.6099735861961, -38.80946542740533],\n [142.745426873953, -38.538267510737526],\n [142.178329705982, -38.38003427505984],\n [141.6065816591047, -38.30851409276788],\n [140.63857872941324, -38.019332777662555],\n [139.99215823787435, -37.40293629328511],\n [139.80658816951407, -36.64360279718828],\n [139.57414757706525, -36.13836231867067],\n [139.0828080588341, -35.73275400161178],\n [138.12074791885632, -35.612296237939404],\n [138.44946170466503, -35.127261244447894],\n [138.2075643251067, -34.38472258884593],\n [137.71917036351616, -35.07682504653103],\n [136.82940555231474, -35.26053476332862],\n [137.3523710471085, -34.70733855564409],\n [137.50388634658836, -34.130267836240776],\n [137.89011600153768, -33.640478610978334],\n [137.81032759007914, -32.90000701266811],\n [136.99683719294038, -33.752771498348636],\n [136.37206912653167, -34.09476612725619],\n [135.98904341038437, -34.89011809666049],\n [135.20821251845413, -34.47867034275261],\n [135.23921837782916, -33.94795338311498],\n [134.6134167827746, -33.22277800876314],\n [134.08590376193914, -32.848072198214766],\n [134.27390262261704, -32.61723357516696],\n [132.99077680880984, -32.011224053680195],\n [132.2880806825049, -31.98264698662277],\n [131.32633060112093, -31.495803318001048],\n [129.5357938986397, -31.590422865527483],\n [128.24093753470223, -31.948488864877856],\n [127.10286746633831, -32.28226694105105],\n [126.14871382050116, -32.21596607842061],\n [125.08862348846561, -32.728751316052836],\n [124.22164798390494, -32.95948658623607],\n [124.02894656788854, -33.483847344701715],\n [123.65966678273072, -33.89017913181273],\n [122.81103641163364, -33.91446705498984],\n [122.18306440642286, -34.003402194964224],\n [121.2991907085026, -33.82103606540613],\n [120.58026818245814, -33.930176690406626],\n [119.89369510302824, -33.976065362281815],\n [119.2988993673488, -34.50936614353397],\n [119.007340936358, -34.464149265278536],\n [118.5057178081008, -34.7468193499151],\n [118.02497195848953, -35.064732761374714],\n [117.29550744025747, -35.02545867283287],\n [116.62510908413495, -35.02509693780683],\n [115.56434695847972, -34.386427911111554],\n [115.02680870977954, -34.196517022438925],\n [115.04861616420679, -33.62342538832203],\n [115.5451233256671, -33.48725798923296],\n [115.71467370001668, -33.25957162855495],\n [115.6793786967614, -32.90036874769413],\n [115.80164513556397, -32.20506235120703],\n [115.68961063035513, -31.61243702568379],\n [115.16090905157697, -30.60159433362246],\n [114.99704308477945, -30.030724786094165],\n [115.04003787644628, -29.461095472940798],\n [114.64197431850201, -28.810230808224713],\n [114.61649783738217, -28.516398614213042],\n [114.17357913620847, -28.11807667410733],\n [114.04888390508816, -27.334765313427127],\n [113.4774975932369, -26.543134047147902],\n [113.3389530782625, -26.116545098578484],\n [113.77835778204026, -26.54902516042918],\n [113.44096235560662, -25.621278171493156],\n [113.93690107631167, -25.911234633082884],\n [114.23285200404732, -26.298446140245872],\n [114.21616051641703, -25.786281019801105],\n [113.72125532435771, -24.998938897402127],\n [113.62534386602405, -24.683971042583153],\n [113.39352339076267, -24.38476449961327],\n [113.50204389857564, -23.806350192970257],\n [113.70699262904517, -23.560215345964068],\n [113.8434184102957, -23.059987481378737],\n [113.7365515483161, -22.47547535572538],\n [114.1497563009219, -21.755881036061012],\n [114.22530724493268, -22.517488295178634],\n [114.64776207891869, -21.829519952076904],\n [115.46016727097933, -21.495173435148544],\n [115.94737267462702, -21.06868783944371],\n [116.71161543179156, -20.70168181730682],\n [117.16631635952771, -20.623598728113805],\n [117.44154503791427, -20.746898695562162],\n [118.22955895393298, -20.374208265873236],\n [118.83608523974273, -20.26331064217483],\n [118.98780724495177, -20.044202569257322],\n [119.25249393115065, -19.95294198982984],\n [119.80522505094457, -19.976506442954985],\n [120.85622033089666, -19.68370777758919],\n [121.39985639860723, -19.239755547769732],\n [121.65513797412909, -18.705317885007133],\n [122.24166548064177, -18.19764861417177],\n [122.28662397673567, -17.798603204013915],\n [122.31277225147544, -17.25496713630345],\n [123.01257449757193, -16.405199883695857],\n [123.43378909718304, -17.268558037996225],\n [123.85934451710662, -17.069035332917252],\n [123.50324222218326, -16.596506036040367],\n [123.81707319549193, -16.111316013251994],\n [124.25828657439988, -16.327943617419564],\n [124.37972619028582, -15.567059828353976],\n [124.92615278534005, -15.075100192935324],\n [125.16727501841389, -14.680395603090004],\n [125.67008670461385, -14.510070082256021],\n [125.6857963400305, -14.230655612853838],\n [126.12514936737611, -14.347340996968953],\n [126.14282270721989, -14.095986830301213],\n [126.58258914602376, -13.95279143642041],\n [127.06586714081735, -13.817967624570926],\n [127.80463341686195, -14.276906019755046],\n [128.35968997610897, -14.869169610252257],\n [128.98554324759593, -14.875990899314742],\n [129.62147342337963, -14.969783623924556],\n [129.409600050983, -14.420669854391035],\n [129.88864057832862, -13.618703301653483],\n [130.33946577364296, -13.357375583553477],\n [130.183506300986, -13.107520033422304],\n [130.617795037967, -12.536392103732467],\n [131.22349450086003, -12.183648776908115],\n [131.73509118054952, -12.302452894747162],\n [132.57529829318312, -12.114040622611014],\n [132.55721154188106, -11.603012383676685],\n [131.82469811414367, -11.273781833545101],\n [132.35722374891142, -11.128519382372644],\n [133.01956058159644, -11.376411228076847],\n [133.55084598198906, -11.786515394745138],\n [134.393068475482, -12.042365411022175],\n [134.67863244032705, -11.9411829565947],\n [135.29849124566803, -12.248606052299051],\n [135.88269331272764, -11.962266940969798],\n [136.25838097548947, -12.04934172938161],\n [136.49247521377166, -11.857208754120393],\n [136.95162031468502, -12.351958916882737],\n [136.68512495335577, -12.887223402562057],\n [136.30540652887512, -13.291229750219898],\n [135.96175825413414, -13.324509372615893],\n [136.07761681533256, -13.724278252825783],\n [135.78383629775325, -14.223989353088214],\n [135.42866417861123, -14.7154322241839],\n [135.50018436090318, -14.99774057379443],\n [136.29517459528137, -15.550264987859123],\n [137.0653601421595, -15.870762220933356],\n [137.58047081924482, -16.215082289294084],\n [138.303217401279, -16.807604261952658],\n [138.5851640158634, -16.806622409739177],\n [139.1085429221155, -17.06267913174537],\n [139.26057498591823, -17.371600843986187],\n [140.2152453960783, -17.710804945550066],\n [140.87546349503927, -17.369068698803943],\n [141.0711104676963, -16.832047214426723],\n [141.27409549373883, -16.388870131091608],\n [141.3982222841038, -15.840531508042588],\n [141.70218305884467, -15.04492115647693],\n [141.5633801617087, -14.56133310308951],\n [141.63552046118812, -14.270394789286284],\n [141.51986860571898, -13.698078301653808],\n [141.650920038011, -12.944687595270565],\n [141.84269127824624, -12.74154753993119],\n [141.6869901877508, -12.407614434461138],\n [141.92862918514757, -11.87746591557878],\n [142.118488397388, -11.32804208745162],\n [142.14370649634637, -11.042736504768143],\n [142.51526004452498, -10.668185723516643],\n [142.79731001197408, -11.157354831591519],\n [142.8667631369743, -11.784706719614931],\n [143.1159468934857, -11.905629571177911],\n [143.1586316265588, -12.325655612846191],\n [143.5221236512999, -12.834358412327433],\n [143.5971578309877, -13.400422051652598],\n [143.56181115129996, -13.763655694232213],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Fiji\",\n sov_a3: \"FJI\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Fiji\",\n adm0_a3: \"FJI\",\n geou_dif: 0,\n geounit: \"Fiji\",\n gu_a3: \"FJI\",\n su_dif: 0,\n subunit: \"Fiji\",\n su_a3: \"FJI\",\n brk_diff: 0,\n name: \"Fiji\",\n name_long: \"Fiji\",\n brk_a3: \"FJI\",\n brk_name: \"Fiji\",\n brk_group: null,\n abbrev: \"Fiji\",\n postal: \"FJ\",\n formal_en: \"Republic of Fiji\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Fiji\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 1,\n mapcolor9: 2,\n mapcolor13: 2,\n pop_est: 944720,\n gdp_md_est: 3579,\n pop_year: -99,\n lastcensus: 2007,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"FJ\",\n iso_a3: \"FJI\",\n iso_n3: \"242\",\n un_a3: \"242\",\n wb_a2: \"FJ\",\n wb_a3: \"FJI\",\n woe_id: -99,\n adm0_a3_is: \"FJI\",\n adm0_a3_us: \"FJI\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Oceania\",\n region_un: \"Oceania\",\n subregion: \"Melanesia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 4,\n long_len: 4,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"FJI.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [178.3736, -17.33992],\n [178.71806, -17.62846],\n [178.55271, -18.15059],\n [177.93266, -18.28799],\n [177.38146, -18.16432],\n [177.28504, -17.72465],\n [177.67087, -17.38114],\n [178.12557, -17.50481],\n [178.3736, -17.33992],\n ],\n ],\n [\n [\n [179.36414266196428, -16.80135407694685],\n [178.7250593629971, -17.01204167436802],\n [178.59683859511708, -16.63915],\n [179.09660936299716, -16.43398427754742],\n [179.41350936299713, -16.379054277547397],\n [180.00000000000014, -16.06713266364244],\n [180.00000000000014, -16.55521656663916],\n [179.36414266196428, -16.80135407694685],\n ],\n ],\n [\n [\n [-179.91736938476524, -16.50178313564936],\n [-180, -16.55521656663916],\n [-180, -16.06713266364244],\n [-179.79332010904858, -16.02088225674123],\n [-179.91736938476524, -16.50178313564936],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"France\",\n sov_a3: \"FR1\",\n adm0_dif: 1,\n level: 2,\n type: \"Dependency\",\n admin: \"New Caledonia\",\n adm0_a3: \"NCL\",\n geou_dif: 0,\n geounit: \"New Caledonia\",\n gu_a3: \"NCL\",\n su_dif: 0,\n subunit: \"New Caledonia\",\n su_a3: \"NCL\",\n brk_diff: 0,\n name: \"New Caledonia\",\n name_long: \"New Caledonia\",\n brk_a3: \"NCL\",\n brk_name: \"New Caledonia\",\n brk_group: null,\n abbrev: \"New C.\",\n postal: \"NC\",\n formal_en: \"New Caledonia\",\n formal_fr: \"Nouvelle-Calédonie\",\n note_adm0: \"Fr.\",\n note_brk: null,\n name_sort: \"New Caledonia\",\n name_alt: null,\n mapcolor7: 7,\n mapcolor8: 5,\n mapcolor9: 9,\n mapcolor13: 11,\n pop_est: 227436,\n gdp_md_est: 3158,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"NC\",\n iso_a3: \"NCL\",\n iso_n3: \"540\",\n un_a3: \"540\",\n wb_a2: \"NC\",\n wb_a3: \"NCL\",\n woe_id: -99,\n adm0_a3_is: \"NCL\",\n adm0_a3_us: \"NCL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Oceania\",\n region_un: \"Oceania\",\n subregion: \"Melanesia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 13,\n long_len: 13,\n abbrev_len: 6,\n tiny: -99,\n homepart: -99,\n filename: \"NCL.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [165.77998986232637, -21.08000497811563],\n [166.59999148993384, -21.700018812753523],\n [167.1200114280869, -22.159990736583488],\n [166.74003462144478, -22.39997608814695],\n [166.18973229396866, -22.12970834726045],\n [165.47437544175222, -21.679606621998232],\n [164.82981530177568, -21.14981983814195],\n [164.16799523341365, -20.444746595951628],\n [164.029605747736, -20.105645847252354],\n [164.45996707586272, -20.1200118954295],\n [165.02003624904205, -20.45999114347773],\n [165.46000939357512, -20.80002206795826],\n [165.77998986232637, -21.08000497811563],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"New Zealand\",\n sov_a3: \"NZ1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"New Zealand\",\n adm0_a3: \"NZL\",\n geou_dif: 0,\n geounit: \"New Zealand\",\n gu_a3: \"NZL\",\n su_dif: 0,\n subunit: \"New Zealand\",\n su_a3: \"NZL\",\n brk_diff: 0,\n name: \"New Zealand\",\n name_long: \"New Zealand\",\n brk_a3: \"NZL\",\n brk_name: \"New Zealand\",\n brk_group: null,\n abbrev: \"N.Z.\",\n postal: \"NZ\",\n formal_en: \"New Zealand\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"New Zealand\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 3,\n mapcolor9: 4,\n mapcolor13: 4,\n pop_est: 4213418,\n gdp_md_est: 116700,\n pop_year: -99,\n lastcensus: 2006,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"NZ\",\n iso_a3: \"NZL\",\n iso_n3: \"554\",\n un_a3: \"554\",\n wb_a2: \"NZ\",\n wb_a3: \"NZL\",\n woe_id: -99,\n adm0_a3_is: \"NZL\",\n adm0_a3_us: \"NZL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Oceania\",\n region_un: \"Oceania\",\n subregion: \"Australia and New Zealand\",\n region_wb: \"East Asia & Pacific\",\n name_len: 11,\n long_len: 11,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"NZL.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [173.02037479074076, -40.919052422856424],\n [173.24723432850206, -41.331998793300784],\n [173.95840538970288, -40.92670053483562],\n [174.24758670480813, -41.34915536882167],\n [174.2485168805895, -41.770008233406756],\n [173.8764465680879, -42.233184096038826],\n [173.22273969959568, -42.970038344088564],\n [172.71124637277077, -43.372287693048506],\n [173.0801127464702, -43.85334360125358],\n [172.30858361235252, -43.865694268571346],\n [171.45292524646365, -44.24251881284372],\n [171.18513797432726, -44.89710418068489],\n [170.61669721911662, -45.90892872495971],\n [169.8314221540093, -46.3557748349876],\n [169.33233117093428, -46.641235446967855],\n [168.41135379462858, -46.61994475686359],\n [167.76374474514685, -46.29019744240921],\n [166.67688602118423, -46.21991749449224],\n [166.5091443219647, -45.85270476662622],\n [167.04642418850327, -45.11094125750867],\n [168.3037634625969, -44.12397307716613],\n [168.94940880765157, -43.93581918719142],\n [169.66781456937318, -43.55532561622634],\n [170.52491987536618, -43.03168832781283],\n [171.125089960004, -42.51275359473778],\n [171.56971398344322, -41.767424411792135],\n [171.94870893787194, -41.51441659929115],\n [172.09722700427878, -40.95610442480968],\n [172.798579543344, -40.493962090823466],\n [173.02037479074076, -40.919052422856424],\n ],\n ],\n [\n [\n [174.61200890533055, -36.156397393540544],\n [175.3366158389272, -37.20909799575826],\n [175.35759647043753, -36.52619394302113],\n [175.8088867536425, -36.79894215265769],\n [175.9584900251275, -37.55538176854606],\n [176.76319542877658, -37.8812533505787],\n [177.4388131045605, -37.961248467766495],\n [178.0103544457087, -37.57982472102013],\n [178.51709354076283, -37.6953732236248],\n [178.27473107331386, -38.58281259537309],\n [177.97046023997936, -39.166342868812976],\n [177.20699262929915, -39.145775648760846],\n [176.93998050364704, -39.44973642350158],\n [177.0329464053401, -39.87994272233148],\n [176.88582360260526, -40.065977878582174],\n [176.50801720611938, -40.60480803808959],\n [176.0124402204403, -41.28962411882151],\n [175.239567499083, -41.68830779395324],\n [175.0678983910094, -41.42589487077508],\n [174.65097293527847, -41.28182097754545],\n [175.22763024322367, -40.459235528323404],\n [174.90015669179, -39.90893320084723],\n [173.82404666574402, -39.50885426204351],\n [173.85226199777534, -39.14660247167746],\n [174.5748018740804, -38.797683200842755],\n [174.74347374908106, -38.027807712558385],\n [174.69701663645063, -37.38112883885796],\n [174.29202843657922, -36.71109221776144],\n [174.31900353423555, -36.53482390721389],\n [173.84099653553582, -36.121980889634116],\n [173.0541711774596, -35.23712533950034],\n [172.63600548735374, -34.52910654066939],\n [173.00704227120949, -34.45066171645034],\n [173.55129845610747, -35.006183363587965],\n [174.3293904971263, -35.26549570082862],\n [174.61200890533055, -36.156397393540544],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Papua New Guinea\",\n sov_a3: \"PNG\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Papua New Guinea\",\n adm0_a3: \"PNG\",\n geou_dif: 0,\n geounit: \"Papua New Guinea\",\n gu_a3: \"PNG\",\n su_dif: 1,\n subunit: \"Papua New Guinea\",\n su_a3: \"PN1\",\n brk_diff: 0,\n name: \"Papua New Guinea\",\n name_long: \"Papua New Guinea\",\n brk_a3: \"PN1\",\n brk_name: \"Papua New Guinea\",\n brk_group: null,\n abbrev: \"P.N.G.\",\n postal: \"PG\",\n formal_en: \"Independent State of Papua New Guinea\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Papua New Guinea\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 2,\n mapcolor9: 3,\n mapcolor13: 1,\n pop_est: 6057263,\n gdp_md_est: 13210,\n pop_year: -99,\n lastcensus: 2000,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PG\",\n iso_a3: \"PNG\",\n iso_n3: \"598\",\n un_a3: \"598\",\n wb_a2: \"PG\",\n wb_a3: \"PNG\",\n woe_id: -99,\n adm0_a3_is: \"PNG\",\n adm0_a3_us: \"PNG\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Oceania\",\n region_un: \"Oceania\",\n subregion: \"Melanesia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 16,\n long_len: 16,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"PNG.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [155.88002566957843, -6.81999684003776],\n [155.5999910829888, -6.919990736522493],\n [155.16699425681512, -6.535931491729301],\n [154.72919152243836, -5.900828138862209],\n [154.51411421123967, -5.139117526880014],\n [154.65250369691736, -5.042430922061839],\n [154.7599906760844, -5.339983819198494],\n [155.06291792217937, -5.566791680527487],\n [155.54774620994172, -6.200654799019659],\n [156.01996544822478, -6.540013929880388],\n [155.88002566957843, -6.81999684003776],\n ],\n ],\n [\n [\n [151.9827958518545, -5.478063246282346],\n [151.45910688700866, -5.56028045005874],\n [151.3013904156539, -5.840728448106702],\n [150.7544470562767, -6.083762709175389],\n [150.24119673075384, -6.317753594592986],\n [149.70996300679332, -6.316513360218053],\n [148.89006473205046, -6.026040134305433],\n [148.31893680236075, -5.74714242922613],\n [148.4018257997569, -5.437755629094724],\n [149.29841190002082, -5.583741550319217],\n [149.84556196512725, -5.505503431829339],\n [149.9962504416903, -5.026101169457675],\n [150.13975589416495, -5.001348158389789],\n [150.23690758687349, -5.532220147324281],\n [150.8074670758081, -5.455842380396888],\n [151.089672072554, -5.113692722192368],\n [151.64788089417087, -4.757073662946169],\n [151.53786176982155, -4.16780730552189],\n [152.13679162008438, -4.14879037843852],\n [152.33874311748102, -4.312966403829762],\n [152.31869266175178, -4.86766122805075],\n [151.9827958518545, -5.478063246282346],\n ],\n ],\n [\n [\n [147.19187381407494, -7.38802418378998],\n [148.0846358583494, -8.044108168167611],\n [148.7341052593936, -9.104663588093757],\n [149.30683515848446, -9.07143564213007],\n [149.26663089416135, -9.514406019736027],\n [150.03872846903434, -9.684318129111702],\n [149.73879845601226, -9.872937106977005],\n [150.80162763895916, -10.293686618697421],\n [150.69057498596388, -10.582712904505868],\n [150.02839318257585, -10.652476088099931],\n [149.782310012002, -10.393267103723943],\n [148.92313764871722, -10.280922539921363],\n [147.91301842670802, -10.130440769087471],\n [147.13544315001226, -9.492443536012019],\n [146.56788089415062, -8.942554619994155],\n [146.04848107318494, -8.06741423913131],\n [144.74416792213802, -7.630128269077473],\n [143.8970878440097, -7.915330498896281],\n [143.2863757671843, -8.245491224809056],\n [143.4139132020807, -8.983068942910947],\n [142.62843143124422, -9.326820570516503],\n [142.06825890520022, -9.159595635620036],\n [141.0338517600139, -9.117892754760419],\n [141.01705691951904, -5.859021905138022],\n [141.00021040259188, -2.600151055515624],\n [142.7352466167915, -3.289152927263217],\n [144.58397098203326, -3.861417738463401],\n [145.27317955951, -4.373737888205028],\n [145.82978641172568, -4.876497897972683],\n [145.98192182839298, -5.465609226100014],\n [147.6480733583476, -6.083659356310804],\n [147.8911076194162, -6.614014580922315],\n [146.9709053895949, -6.721656589386257],\n [147.19187381407494, -7.38802418378998],\n ],\n ],\n [\n [\n [153.14003787659877, -4.499983412294114],\n [152.8272921083683, -4.766427097190999],\n [152.638673130503, -4.176127211120928],\n [152.40602583232496, -3.789742526874562],\n [151.95323693258356, -3.462062269711822],\n [151.38427941305005, -3.035421644710112],\n [150.66204959533886, -2.741486097833956],\n [150.93996544820456, -2.500002129734028],\n [151.4799841656545, -2.779985039891386],\n [151.82001509013512, -2.999971612157907],\n [152.2399894553711, -3.240008640153661],\n [152.64001671774253, -3.659983005389648],\n [153.01999352438466, -3.980015150573294],\n [153.14003787659877, -4.499983412294114],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Solomon Islands\",\n sov_a3: \"SLB\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Solomon Islands\",\n adm0_a3: \"SLB\",\n geou_dif: 0,\n geounit: \"Solomon Islands\",\n gu_a3: \"SLB\",\n su_dif: 0,\n subunit: \"Solomon Islands\",\n su_a3: \"SLB\",\n brk_diff: 0,\n name: \"Solomon Is.\",\n name_long: \"Solomon Islands\",\n brk_a3: \"SLB\",\n brk_name: \"Solomon Is.\",\n brk_group: null,\n abbrev: \"S. Is.\",\n postal: \"SB\",\n formal_en: null,\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Solomon Islands\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 1,\n mapcolor13: 6,\n pop_est: 595613,\n gdp_md_est: 1078,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SB\",\n iso_a3: \"SLB\",\n iso_n3: \"090\",\n un_a3: \"090\",\n wb_a2: \"SB\",\n wb_a3: \"SLB\",\n woe_id: -99,\n adm0_a3_is: \"SLB\",\n adm0_a3_us: \"SLB\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Oceania\",\n region_un: \"Oceania\",\n subregion: \"Melanesia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 11,\n long_len: 15,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"SLB.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [162.11902469304087, -10.482719008021135],\n [162.39864586817222, -10.82636728276212],\n [161.70003218001838, -10.820011081590224],\n [161.31979699121476, -10.204751478723125],\n [161.917383254238, -10.446700534713656],\n [162.11902469304087, -10.482719008021135],\n ],\n ],\n [\n [\n [160.85222863183796, -9.872937106977005],\n [160.46258833235729, -9.895209649294841],\n [159.8494474632142, -9.794027194867368],\n [159.64000288313517, -9.63997975020527],\n [159.70294477766666, -9.242949720906779],\n [160.36295617089846, -9.400304457235533],\n [160.6885176943372, -9.610162448772812],\n [160.85222863183796, -9.872937106977005],\n ],\n ],\n [\n [\n [161.67998172428915, -9.599982191611375],\n [161.52939660059053, -9.784312025596435],\n [160.78825320866056, -8.91754322676492],\n [160.57999718652437, -8.320008640173967],\n [160.92002811100494, -8.320008640173967],\n [161.28000613835, -9.120011488484451],\n [161.67998172428915, -9.599982191611375],\n ],\n ],\n [\n [\n [159.8750272971986, -8.337320244991716],\n [159.917401971678, -8.538289890174866],\n [159.1336771995394, -8.114181410355398],\n [158.58611372297472, -7.754823500197715],\n [158.21114953026486, -7.421872246941149],\n [158.35997765526545, -7.320017998893917],\n [158.82000125552773, -7.560003350457392],\n [159.64000288313517, -8.020026950719569],\n [159.8750272971986, -8.337320244991716],\n ],\n ],\n [\n [\n [157.5384257346893, -7.34781991946693],\n [157.33941979393327, -7.404767347852555],\n [156.9020304710148, -7.176874281445392],\n [156.49135786359133, -6.765943291860395],\n [156.54282759015396, -6.59933847415148],\n [157.1400004417189, -7.021638278840655],\n [157.5384257346893, -7.34781991946693],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Vanuatu\",\n sov_a3: \"VUT\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Vanuatu\",\n adm0_a3: \"VUT\",\n geou_dif: 0,\n geounit: \"Vanuatu\",\n gu_a3: \"VUT\",\n su_dif: 0,\n subunit: \"Vanuatu\",\n su_a3: \"VUT\",\n brk_diff: 0,\n name: \"Vanuatu\",\n name_long: \"Vanuatu\",\n brk_a3: \"VUT\",\n brk_name: \"Vanuatu\",\n brk_group: null,\n abbrev: \"Van.\",\n postal: \"VU\",\n formal_en: \"Republic of Vanuatu\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Vanuatu\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 3,\n mapcolor9: 7,\n mapcolor13: 3,\n pop_est: 218519,\n gdp_md_est: 988.5,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"7. Least developed region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"VU\",\n iso_a3: \"VUT\",\n iso_n3: \"548\",\n un_a3: \"548\",\n wb_a2: \"VU\",\n wb_a3: \"VUT\",\n woe_id: -99,\n adm0_a3_is: \"VUT\",\n adm0_a3_us: \"VUT\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Oceania\",\n region_un: \"Oceania\",\n subregion: \"Melanesia\",\n region_wb: \"East Asia & Pacific\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: 2,\n homepart: 1,\n filename: \"VUT.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [167.8448767438451, -16.466333103097156],\n [167.5151811058229, -16.597849623279966],\n [167.18000776597782, -16.15999521247096],\n [167.21680138576963, -15.891846205308452],\n [167.8448767438451, -16.466333103097156],\n ],\n ],\n [\n [\n [167.10771243720149, -14.933920179913954],\n [167.27002811103026, -15.740020847234874],\n [167.00120731024796, -15.614602146062495],\n [166.79315799384088, -15.668810723536723],\n [166.64985924709558, -15.392703545801195],\n [166.62913699774649, -14.626497084209603],\n [167.10771243720149, -14.933920179913954],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Albania\",\n sov_a3: \"ALB\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Albania\",\n adm0_a3: \"ALB\",\n geou_dif: 0,\n geounit: \"Albania\",\n gu_a3: \"ALB\",\n su_dif: 0,\n subunit: \"Albania\",\n su_a3: \"ALB\",\n brk_diff: 0,\n name: \"Albania\",\n name_long: \"Albania\",\n brk_a3: \"ALB\",\n brk_name: \"Albania\",\n brk_group: null,\n abbrev: \"Alb.\",\n postal: \"AL\",\n formal_en: \"Republic of Albania\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Albania\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 1,\n mapcolor13: 6,\n pop_est: 3639453,\n gdp_md_est: 21810,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AL\",\n iso_a3: \"ALB\",\n iso_n3: \"008\",\n un_a3: \"008\",\n wb_a2: \"AL\",\n wb_a3: \"ALB\",\n woe_id: -99,\n adm0_a3_is: \"ALB\",\n adm0_a3_us: \"ALB\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"ALB.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [20.590247430104906, 41.855404161133606],\n [20.463175083099202, 41.51508901627533],\n [20.605181919037364, 41.08622630468522],\n [21.0200403174764, 40.84272695572588],\n [20.999989861747224, 40.58000397395397],\n [20.674996779063633, 40.43499990494303],\n [20.615000441172754, 40.11000682225938],\n [20.15001590341052, 39.62499766698397],\n [19.980000441170144, 39.69499339452341],\n [19.960001661873207, 39.91500580500605],\n [19.406081984136733, 40.250773423822466],\n [19.319058872157143, 40.72723012955356],\n [19.40354983895429, 41.40956574153546],\n [19.540027296637106, 41.71998607031276],\n [19.37176883309496, 41.877547512370654],\n [19.304486118250793, 42.19574514420782],\n [19.738051385179627, 42.688247382165564],\n [19.801613396898688, 42.50009349219084],\n [20.0707, 42.58863],\n [20.283754510181893, 42.32025950781508],\n [20.52295, 42.21787],\n [20.590247430104906, 41.855404161133606],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Austria\",\n sov_a3: \"AUT\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Austria\",\n adm0_a3: \"AUT\",\n geou_dif: 0,\n geounit: \"Austria\",\n gu_a3: \"AUT\",\n su_dif: 0,\n subunit: \"Austria\",\n su_a3: \"AUT\",\n brk_diff: 0,\n name: \"Austria\",\n name_long: \"Austria\",\n brk_a3: \"AUT\",\n brk_name: \"Austria\",\n brk_group: null,\n abbrev: \"Aust.\",\n postal: \"A\",\n formal_en: \"Republic of Austria\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Austria\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 1,\n mapcolor9: 3,\n mapcolor13: 4,\n pop_est: 8210281,\n gdp_md_est: 329500,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AT\",\n iso_a3: \"AUT\",\n iso_n3: \"040\",\n un_a3: \"040\",\n wb_a2: \"AT\",\n wb_a3: \"AUT\",\n woe_id: -99,\n adm0_a3_is: \"AUT\",\n adm0_a3_us: \"AUT\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Western Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"AUT.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [16.979666782304037, 48.123497015976305],\n [16.90375410326726, 47.71486562762833],\n [16.340584344150415, 47.71290192320123],\n [16.534267612380376, 47.49617096616912],\n [16.202298211337364, 46.85238597267696],\n [16.011663852612656, 46.6836107448117],\n [15.137091912504985, 46.65870270444703],\n [14.63247155117483, 46.43181732846955],\n [13.806475457421527, 46.509306138691215],\n [12.376485223040817, 46.76755910906985],\n [12.153088006243054, 47.11539317482645],\n [11.16482791509327, 46.94157949481273],\n [11.048555942436536, 46.75135854754634],\n [10.44270145024663, 46.89354625099743],\n [9.932448357796659, 46.92072805438296],\n [9.479969516649021, 47.10280996356337],\n [9.632931756232978, 47.34760122332999],\n [9.59422610844635, 47.52505809182027],\n [9.896068149463188, 47.580196845075704],\n [10.402083774465211, 47.30248769793916],\n [10.544504021861627, 47.56639923765377],\n [11.426414015354737, 47.523766181012974],\n [12.141357456112788, 47.703083401065776],\n [12.620759718484491, 47.67238760028441],\n [12.932626987365948, 47.467645575544],\n [13.02585127122049, 47.637583523135824],\n [12.884102817443903, 48.28914581968792],\n [13.243357374737, 48.416114813829054],\n [13.595945672264437, 48.87717194273715],\n [14.33889773932472, 48.5553052842072],\n [14.901447381254057, 48.964401760445824],\n [15.253415561593982, 49.039074205107575],\n [16.02964725105022, 48.73389903420793],\n [16.49928266771877, 48.78580801044511],\n [16.960288120194576, 48.5969823268506],\n [16.879982944413, 48.47001333270947],\n [16.979666782304037, 48.123497015976305],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Belgium\",\n sov_a3: \"BEL\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Belgium\",\n adm0_a3: \"BEL\",\n geou_dif: 0,\n geounit: \"Belgium\",\n gu_a3: \"BEL\",\n su_dif: 0,\n subunit: \"Belgium\",\n su_a3: \"BEL\",\n brk_diff: 0,\n name: \"Belgium\",\n name_long: \"Belgium\",\n brk_a3: \"BEL\",\n brk_name: \"Belgium\",\n brk_group: null,\n abbrev: \"Belg.\",\n postal: \"B\",\n formal_en: \"Kingdom of Belgium\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Belgium\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 2,\n mapcolor9: 1,\n mapcolor13: 8,\n pop_est: 10414336,\n gdp_md_est: 389300,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BE\",\n iso_a3: \"BEL\",\n iso_n3: \"056\",\n un_a3: \"056\",\n wb_a2: \"BE\",\n wb_a3: \"BEL\",\n woe_id: -99,\n adm0_a3_is: \"BEL\",\n adm0_a3_us: \"BEL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Western Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"BEL.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [3.314971144228537, 51.345780951536085],\n [4.047071160507527, 51.26725861266857],\n [4.973991326526914, 51.475023708698124],\n [5.606975945670001, 51.037298488969775],\n [6.156658155958779, 50.80372101501058],\n [6.043073357781111, 50.128051662794235],\n [5.782417433300906, 50.09032786722122],\n [5.674051954784829, 49.529483547557504],\n [4.799221632515809, 49.985373033236385],\n [4.286022983425084, 49.907496649772554],\n [3.588184441755686, 50.37899241800358],\n [3.123251580425801, 50.780363267614575],\n [2.658422071960274, 50.79684804951574],\n [2.513573032246143, 51.14850617126183],\n [3.314971144228537, 51.345780951536085],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Bulgaria\",\n sov_a3: \"BGR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Bulgaria\",\n adm0_a3: \"BGR\",\n geou_dif: 0,\n geounit: \"Bulgaria\",\n gu_a3: \"BGR\",\n su_dif: 0,\n subunit: \"Bulgaria\",\n su_a3: \"BGR\",\n brk_diff: 0,\n name: \"Bulgaria\",\n name_long: \"Bulgaria\",\n brk_a3: \"BGR\",\n brk_name: \"Bulgaria\",\n brk_group: null,\n abbrev: \"Bulg.\",\n postal: \"BG\",\n formal_en: \"Republic of Bulgaria\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Bulgaria\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 5,\n mapcolor9: 1,\n mapcolor13: 8,\n pop_est: 7204687,\n gdp_md_est: 93750,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BG\",\n iso_a3: \"BGR\",\n iso_n3: \"100\",\n un_a3: \"100\",\n wb_a2: \"BG\",\n wb_a3: \"BGR\",\n woe_id: -99,\n adm0_a3_is: \"BGR\",\n adm0_a3_us: \"BGR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"BGR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [22.65714969248299, 44.23492300066128],\n [22.944832391051847, 43.82378530534713],\n [23.33230228037632, 43.89701080990471],\n [24.100679152124172, 43.74105133724785],\n [25.569271681426926, 43.68844472917472],\n [26.065158725699746, 43.94349376075126],\n [27.242399529740908, 44.175986029632405],\n [27.970107049275075, 43.81246816667521],\n [28.558081495891997, 43.70746165625813],\n [28.03909508638472, 43.293171698574184],\n [27.67389773937805, 42.577892361006214],\n [27.99672041190539, 42.00735871028779],\n [27.135739373490477, 42.14148489030134],\n [26.117041863720797, 41.82690460872456],\n [26.106138136507212, 41.32889883072778],\n [25.197201368925445, 41.23448598893053],\n [24.49264489105803, 41.583896185872035],\n [23.692073601992348, 41.30908091894385],\n [22.952377150166452, 41.33799388281115],\n [22.88137373219743, 41.99929718685026],\n [22.380525750424592, 42.32025950781509],\n [22.54501183440962, 42.46136200618804],\n [22.43659467946128, 42.580321153323936],\n [22.60480146657133, 42.898518785161144],\n [22.986018507588483, 43.211161200526966],\n [22.50015669118028, 43.64281443946099],\n [22.410446404721597, 44.00806346289995],\n [22.65714969248299, 44.23492300066128],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Bosnia and Herzegovina\",\n sov_a3: \"BIH\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Bosnia and Herzegovina\",\n adm0_a3: \"BIH\",\n geou_dif: 0,\n geounit: \"Bosnia and Herzegovina\",\n gu_a3: \"BIH\",\n su_dif: 0,\n subunit: \"Bosnia and Herzegovina\",\n su_a3: \"BIH\",\n brk_diff: 0,\n name: \"Bosnia and Herz.\",\n name_long: \"Bosnia and Herzegovina\",\n brk_a3: \"BIH\",\n brk_name: \"Bosnia and Herz.\",\n brk_group: null,\n abbrev: \"B.H.\",\n postal: \"BiH\",\n formal_en: \"Bosnia and Herzegovina\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Bosnia and Herzegovina\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 1,\n mapcolor9: 1,\n mapcolor13: 2,\n pop_est: 4613414,\n gdp_md_est: 29700,\n pop_year: -99,\n lastcensus: 1991,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BA\",\n iso_a3: \"BIH\",\n iso_n3: \"070\",\n un_a3: \"070\",\n wb_a2: \"BA\",\n wb_a3: \"BIH\",\n woe_id: -99,\n adm0_a3_is: \"BIH\",\n adm0_a3_us: \"BIH\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 16,\n long_len: 22,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"BIH.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [19.00548628101012, 44.86023366960916],\n [19.36803, 44.863],\n [19.11761, 44.42307000000011],\n [19.59976, 44.03847],\n [19.454, 43.56810000000013],\n [19.21852, 43.52384],\n [19.03165, 43.43253],\n [18.70648, 43.20011],\n [18.56, 42.65],\n [17.674921502358984, 43.02856252702361],\n [17.297373488034452, 43.44634064388736],\n [16.91615644701733, 43.66772247982567],\n [16.456442905348865, 44.04123973243128],\n [16.23966027188453, 44.35114329688571],\n [15.750026075918981, 44.81871165626256],\n [15.959367303133376, 45.233776760430935],\n [16.318156772535872, 45.00412669532591],\n [16.534939406000206, 45.21160757097772],\n [17.002146030351014, 45.233776760430935],\n [17.861783481526402, 45.067740383477144],\n [18.553214145591653, 45.08158966733145],\n [19.00548628101012, 44.86023366960916],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Belarus\",\n sov_a3: \"BLR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Belarus\",\n adm0_a3: \"BLR\",\n geou_dif: 0,\n geounit: \"Belarus\",\n gu_a3: \"BLR\",\n su_dif: 0,\n subunit: \"Belarus\",\n su_a3: \"BLR\",\n brk_diff: 0,\n name: \"Belarus\",\n name_long: \"Belarus\",\n brk_a3: \"BLR\",\n brk_name: \"Belarus\",\n brk_group: null,\n abbrev: \"Bela.\",\n postal: \"BY\",\n formal_en: \"Republic of Belarus\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Belarus\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 1,\n mapcolor9: 5,\n mapcolor13: 11,\n pop_est: 9648533,\n gdp_md_est: 114100,\n pop_year: -99,\n lastcensus: 2009,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"BY\",\n iso_a3: \"BLR\",\n iso_n3: \"112\",\n un_a3: \"112\",\n wb_a2: \"BY\",\n wb_a3: \"BLR\",\n woe_id: -99,\n adm0_a3_is: \"BLR\",\n adm0_a3_us: \"BLR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"BLR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [23.48412763844985, 53.91249766704114],\n [24.450683628037037, 53.905702216194754],\n [25.536353794056993, 54.28242340760253],\n [25.7684326514798, 54.84696259217509],\n [26.58827924979039, 55.16717560487167],\n [26.494331495883753, 55.615106919977634],\n [27.10245975109453, 55.783313707087686],\n [28.176709425577993, 56.16912995057881],\n [29.229513380660308, 55.918344224666356],\n [29.371571893030673, 55.670090643936184],\n [29.896294386522356, 55.78946320253041],\n [30.873909132620007, 55.55097646750341],\n [30.971835971813135, 55.08154775656404],\n [30.757533807098717, 54.81177094178432],\n [31.38447228366374, 54.157056382862436],\n [31.79142418796224, 53.97463857687212],\n [31.731272820774507, 53.79402944601202],\n [32.405598585751164, 53.618045355842035],\n [32.69364301934604, 53.35142080343212],\n [32.304519484188226, 53.1327261419729],\n [31.49764367038293, 53.1674268662569],\n [31.305200636528014, 53.07399587667321],\n [31.54001834486226, 52.74205231384636],\n [31.785998162571587, 52.101677964885454],\n [30.927549269338982, 52.04235342061438],\n [30.619454380014844, 51.822806098022376],\n [30.555117221811457, 51.31950348571566],\n [30.157363722460897, 51.41613841410147],\n [29.254938185347925, 51.368234361366895],\n [28.99283532076353, 51.602044379271476],\n [28.61761274589225, 51.42771393493484],\n [28.24161502453657, 51.57222707783907],\n [27.454066196408434, 51.59230337178447],\n [26.337958611768556, 51.83228872334793],\n [25.327787713327005, 51.91065603291855],\n [24.553106316839518, 51.888461005249184],\n [24.00507775238421, 51.61744395609446],\n [23.52707075368437, 51.57845408793023],\n [23.508002150168693, 52.02364655212473],\n [23.199493849386187, 52.486977444053664],\n [23.799198846133375, 52.69109935160657],\n [23.80493493011778, 53.089731350306074],\n [23.527535841575002, 53.470121568406555],\n [23.48412763844985, 53.91249766704114],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Switzerland\",\n sov_a3: \"CHE\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Switzerland\",\n adm0_a3: \"CHE\",\n geou_dif: 0,\n geounit: \"Switzerland\",\n gu_a3: \"CHE\",\n su_dif: 0,\n subunit: \"Switzerland\",\n su_a3: \"CHE\",\n brk_diff: 0,\n name: \"Switzerland\",\n name_long: \"Switzerland\",\n brk_a3: \"CHE\",\n brk_name: \"Switzerland\",\n brk_group: null,\n abbrev: \"Switz.\",\n postal: \"CH\",\n formal_en: \"Swiss Confederation\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Switzerland\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 2,\n mapcolor9: 7,\n mapcolor13: 3,\n pop_est: 7604467,\n gdp_md_est: 316700,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CH\",\n iso_a3: \"CHE\",\n iso_n3: \"756\",\n un_a3: \"756\",\n wb_a2: \"CH\",\n wb_a3: \"CHE\",\n woe_id: -99,\n adm0_a3_is: \"CHE\",\n adm0_a3_us: \"CHE\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Western Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 11,\n long_len: 11,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"CHE.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [9.59422610844635, 47.52505809182027],\n [9.632931756232978, 47.34760122332999],\n [9.479969516649021, 47.10280996356337],\n [9.932448357796659, 46.92072805438296],\n [10.44270145024663, 46.89354625099743],\n [10.363378126678612, 46.48357127540986],\n [9.92283654139038, 46.31489940040919],\n [9.182881707403055, 46.44021474871698],\n [8.966305779667806, 46.036931871111186],\n [8.489952426801324, 46.005150865251686],\n [8.31662967289438, 46.16364248309086],\n [7.755992058959833, 45.82449005795931],\n [7.273850945676656, 45.776947740250776],\n [6.843592970414504, 45.99114655210061],\n [6.500099724970425, 46.42967275652944],\n [6.022609490593537, 46.27298981382047],\n [6.037388950229001, 46.725778713561866],\n [6.768713820023606, 47.2877082383037],\n [6.736571079138059, 47.541801255882845],\n [7.192202182655507, 47.44976552997102],\n [7.46675906742223, 47.62058197691181],\n [8.317301466514152, 47.61357982033626],\n [8.522611932009765, 47.830827541691285],\n [9.59422610844635, 47.52505809182027],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Czech Republic\",\n sov_a3: \"CZE\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Czech Republic\",\n adm0_a3: \"CZE\",\n geou_dif: 0,\n geounit: \"Czech Republic\",\n gu_a3: \"CZE\",\n su_dif: 0,\n subunit: \"Czech Republic\",\n su_a3: \"CZE\",\n brk_diff: 0,\n name: \"Czech Rep.\",\n name_long: \"Czech Republic\",\n brk_a3: \"CZE\",\n brk_name: \"Czech Rep.\",\n brk_group: null,\n abbrev: \"Cz. Rep.\",\n postal: \"CZ\",\n formal_en: \"Czech Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Czech Republic\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 1,\n mapcolor9: 2,\n mapcolor13: 6,\n pop_est: 10211904,\n gdp_md_est: 265200,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"CZ\",\n iso_a3: \"CZE\",\n iso_n3: \"203\",\n un_a3: \"203\",\n wb_a2: \"CZ\",\n wb_a3: \"CZE\",\n woe_id: -99,\n adm0_a3_is: \"CZE\",\n adm0_a3_us: \"CZE\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 10,\n long_len: 14,\n abbrev_len: 8,\n tiny: -99,\n homepart: 1,\n filename: \"CZE.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [16.960288120194576, 48.5969823268506],\n [16.49928266771877, 48.78580801044511],\n [16.02964725105022, 48.73389903420793],\n [15.253415561593982, 49.039074205107575],\n [14.901447381254057, 48.964401760445824],\n [14.33889773932472, 48.5553052842072],\n [13.595945672264437, 48.87717194273715],\n [13.031328973043431, 49.30706818297324],\n [12.521024204161192, 49.547415269562734],\n [12.415190870827445, 49.96912079528057],\n [12.240111118222558, 50.266337795607285],\n [12.966836785543194, 50.484076443069085],\n [13.338131951560285, 50.73323436136435],\n [14.056227654688172, 50.92691762959429],\n [14.307013380600637, 51.117267767941414],\n [14.570718214586066, 51.002339382524276],\n [15.01699588385867, 51.10667409932158],\n [15.490972120839727, 50.78472992614321],\n [16.23862674323857, 50.69773265237984],\n [16.176253289462267, 50.42260732685791],\n [16.719475945714436, 50.21574656839354],\n [16.868769158605655, 50.47397370055603],\n [17.55456709155112, 50.36214590107641],\n [17.64944502123899, 50.049038397819956],\n [18.392913852622172, 49.98862864847075],\n [18.853144158613617, 49.49622976337764],\n [18.554971144289482, 49.49501536721878],\n [18.399993523846177, 49.31500051533004],\n [18.170498488037964, 49.271514797556435],\n [18.104972771891852, 49.04398346617531],\n [17.913511590250465, 48.996492824899086],\n [17.88648481616181, 48.90347524677371],\n [17.545006951577108, 48.80001902932537],\n [17.101984897538898, 48.81696889911711],\n [16.960288120194576, 48.5969823268506],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Germany\",\n sov_a3: \"DEU\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Germany\",\n adm0_a3: \"DEU\",\n geou_dif: 0,\n geounit: \"Germany\",\n gu_a3: \"DEU\",\n su_dif: 0,\n subunit: \"Germany\",\n su_a3: \"DEU\",\n brk_diff: 0,\n name: \"Germany\",\n name_long: \"Germany\",\n brk_a3: \"DEU\",\n brk_name: \"Germany\",\n brk_group: null,\n abbrev: \"Ger.\",\n postal: \"D\",\n formal_en: \"Federal Republic of Germany\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Germany\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 5,\n mapcolor9: 5,\n mapcolor13: 1,\n pop_est: 82329758,\n gdp_md_est: 2918000,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"1. Developed region: G7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"DE\",\n iso_a3: \"DEU\",\n iso_n3: \"276\",\n un_a3: \"276\",\n wb_a2: \"DE\",\n wb_a3: \"DEU\",\n woe_id: -99,\n adm0_a3_is: \"DEU\",\n adm0_a3_us: \"DEU\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Western Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"DEU.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [9.921906365609232, 54.983104153048025],\n [9.9395797054529, 54.596641954153256],\n [10.950112338920519, 54.363607082733154],\n [10.939466993868448, 54.00869334575258],\n [11.956252475643282, 54.19648550070116],\n [12.518440382546714, 54.47037059184799],\n [13.647467075259499, 54.0755109727059],\n [14.119686313542559, 53.75702912049103],\n [14.353315463934168, 53.248171291713106],\n [14.074521111719434, 52.98126251892535],\n [14.4375997250022, 52.624850165408304],\n [14.685026482815713, 52.089947414755216],\n [14.607098422919648, 51.745188096719964],\n [15.016995883858781, 51.10667409932171],\n [14.570718214586122, 51.00233938252438],\n [14.307013380600665, 51.11726776794137],\n [14.056227654688314, 50.92691762959435],\n [13.338131951560397, 50.73323436136428],\n [12.96683678554325, 50.48407644306917],\n [12.240111118222671, 50.26633779560723],\n [12.415190870827473, 49.96912079528062],\n [12.521024204161336, 49.54741526956275],\n [13.031328973043514, 49.30706818297324],\n [13.595945672264577, 48.877171942737164],\n [13.243357374737116, 48.41611481382903],\n [12.884102817443873, 48.28914581968786],\n [13.025851271220517, 47.63758352313595],\n [12.932626987366064, 47.467645575544],\n [12.620759718484521, 47.672387600284424],\n [12.141357456112871, 47.70308340106578],\n [11.426414015354851, 47.52376618101306],\n [10.544504021861597, 47.5663992376538],\n [10.402083774465325, 47.30248769793916],\n [9.896068149463188, 47.580196845075704],\n [9.594226108446376, 47.5250580918202],\n [8.522611932009795, 47.83082754169135],\n [8.317301466514095, 47.61357982033627],\n [7.466759067422288, 47.62058197691192],\n [7.593676385131062, 48.33301911070373],\n [8.099278598674855, 49.01778351500343],\n [6.658229607783709, 49.20195831969164],\n [6.186320428094177, 49.463802802114515],\n [6.242751092156993, 49.90222565367873],\n [6.043073357781111, 50.128051662794235],\n [6.156658155958779, 50.80372101501058],\n [5.988658074577813, 51.851615709025054],\n [6.589396599970826, 51.852029120483394],\n [6.842869500362383, 52.22844025329755],\n [7.092053256873896, 53.14404328064489],\n [6.905139601274129, 53.48216217713064],\n [7.100424838905268, 53.69393219666267],\n [7.936239454793962, 53.74829580343379],\n [8.121706170289485, 53.52779246684429],\n [8.800734490604668, 54.020785630908904],\n [8.572117954145368, 54.39564647075405],\n [8.526229282270208, 54.96274363872516],\n [9.282048780971136, 54.83086538351631],\n [9.921906365609232, 54.983104153048025],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Denmark\",\n sov_a3: \"DN1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"Denmark\",\n adm0_a3: \"DNK\",\n geou_dif: 0,\n geounit: \"Denmark\",\n gu_a3: \"DNK\",\n su_dif: 0,\n subunit: \"Denmark\",\n su_a3: \"DNK\",\n brk_diff: 0,\n name: \"Denmark\",\n name_long: \"Denmark\",\n brk_a3: \"DNK\",\n brk_name: \"Denmark\",\n brk_group: null,\n abbrev: \"Den.\",\n postal: \"DK\",\n formal_en: \"Kingdom of Denmark\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Denmark\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 1,\n mapcolor9: 3,\n mapcolor13: 12,\n pop_est: 5500510,\n gdp_md_est: 203600,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"DK\",\n iso_a3: \"DNK\",\n iso_n3: \"208\",\n un_a3: \"208\",\n wb_a2: \"DK\",\n wb_a3: \"DNK\",\n woe_id: -99,\n adm0_a3_is: \"DNK\",\n adm0_a3_us: \"DNK\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"DNK.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [12.69000613775563, 55.609990953180784],\n [12.089991082414741, 54.80001455343793],\n [11.043543328504228, 55.364863796604254],\n [10.903913608451631, 55.77995473898875],\n [12.370904168353292, 56.111407375708836],\n [12.69000613775563, 55.609990953180784],\n ],\n ],\n [\n [\n [10.912181837618363, 56.458621324277914],\n [10.667803989309988, 56.08138336854722],\n [10.369992710011985, 56.19000722922473],\n [9.649984978889307, 55.469999498102055],\n [9.921906365609175, 54.98310415304806],\n [9.282048780971136, 54.83086538351616],\n [8.526229282270236, 54.96274363872499],\n [8.120310906617588, 55.517722683323626],\n [8.08997684086225, 56.540011705137594],\n [8.256581658571264, 56.8099693874303],\n [8.543437534223386, 57.110002753316905],\n [9.42446902836761, 57.17206614849948],\n [9.775558709358563, 57.447940782289656],\n [10.580005730846153, 57.73001658795485],\n [10.546105991262692, 57.215732733786155],\n [10.250000034230226, 56.89001618105047],\n [10.369992710011985, 56.609981594460834],\n [10.912181837618363, 56.458621324277914],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Spain\",\n sov_a3: \"ESP\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Spain\",\n adm0_a3: \"ESP\",\n geou_dif: 0,\n geounit: \"Spain\",\n gu_a3: \"ESP\",\n su_dif: 0,\n subunit: \"Spain\",\n su_a3: \"ESP\",\n brk_diff: 0,\n name: \"Spain\",\n name_long: \"Spain\",\n brk_a3: \"ESP\",\n brk_name: \"Spain\",\n brk_group: null,\n abbrev: \"Sp.\",\n postal: \"E\",\n formal_en: \"Kingdom of Spain\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Spain\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 5,\n mapcolor9: 5,\n mapcolor13: 5,\n pop_est: 40525002,\n gdp_md_est: 1403000,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"ES\",\n iso_a3: \"ESP\",\n iso_n3: \"724\",\n un_a3: \"724\",\n wb_a2: \"ES\",\n wb_a3: \"ESP\",\n woe_id: -99,\n adm0_a3_is: \"ESP\",\n adm0_a3_us: \"ESP\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 3,\n tiny: -99,\n homepart: 1,\n filename: \"ESP.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-9.034817674180246, 41.88057058365967],\n [-8.984433152695672, 42.59277517350627],\n [-9.392883673530648, 43.0266246608127],\n [-7.978189663108309, 43.748337714200986],\n [-6.754491746436756, 43.567909450853925],\n [-5.411886359061596, 43.574239813809676],\n [-4.347842779955783, 43.40344920508504],\n [-3.51753170410609, 43.4559007838613],\n [-1.901351284177764, 43.42280202897834],\n [-1.502770961910528, 43.03401439063043],\n [0.338046909190581, 42.57954600683954],\n [0.701590610363894, 42.7957343613326],\n [1.826793247087153, 42.34338471126569],\n [2.985998976258458, 42.47301504166986],\n [3.039484083680549, 41.892120266276905],\n [2.091841668312185, 41.22608856868309],\n [0.810524529635188, 41.01473196060934],\n [0.721331007499401, 40.678318386389236],\n [0.106691521819869, 40.12393362076202],\n [-0.278711310212941, 39.30997813573272],\n [0.111290724293838, 38.73851430923303],\n [-0.467123582349103, 38.29236583104115],\n [-0.683389451490598, 37.642353827457825],\n [-1.438382127274849, 37.443063666324214],\n [-2.146452602538119, 36.67414419203728],\n [-3.415780808923387, 36.65889964451118],\n [-4.368900926114719, 36.677839056946155],\n [-4.995219285492211, 36.32470815687964],\n [-5.377159796561457, 35.946850083961465],\n [-5.866432257500904, 36.02981659600606],\n [-6.236693894872175, 36.367677110330334],\n [-6.520190802425404, 36.94291331638732],\n [-7.453725551778092, 37.09778758396607],\n [-7.537105475281024, 37.42890432387623],\n [-7.166507941099865, 37.803894354802225],\n [-7.029281175148796, 38.07576406508977],\n [-7.374092169616318, 38.37305858006492],\n [-7.098036668313128, 39.03007274022378],\n [-7.498632371439725, 39.62957103124181],\n [-7.066591559263529, 39.71189158788277],\n [-7.026413133156595, 40.184524237624245],\n [-6.864019944679385, 40.33087189387483],\n [-6.851126674822552, 41.11108266861753],\n [-6.389087693700915, 41.381815497394655],\n [-6.668605515967656, 41.883386949219584],\n [-7.251308966490824, 41.91834605566505],\n [-7.422512986673795, 41.79207469335983],\n [-8.013174607769912, 41.790886135417125],\n [-8.263856980817792, 42.28046865495034],\n [-8.67194576662672, 42.13468943945496],\n [-9.034817674180246, 41.88057058365967],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Estonia\",\n sov_a3: \"EST\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Estonia\",\n adm0_a3: \"EST\",\n geou_dif: 0,\n geounit: \"Estonia\",\n gu_a3: \"EST\",\n su_dif: 0,\n subunit: \"Estonia\",\n su_a3: \"EST\",\n brk_diff: 0,\n name: \"Estonia\",\n name_long: \"Estonia\",\n brk_a3: \"EST\",\n brk_name: \"Estonia\",\n brk_group: null,\n abbrev: \"Est.\",\n postal: \"EST\",\n formal_en: \"Republic of Estonia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Estonia\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 2,\n mapcolor9: 1,\n mapcolor13: 10,\n pop_est: 1299371,\n gdp_md_est: 27410,\n pop_year: -99,\n lastcensus: 2000,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"EE\",\n iso_a3: \"EST\",\n iso_n3: \"233\",\n un_a3: \"233\",\n wb_a2: \"EE\",\n wb_a3: \"EST\",\n woe_id: -99,\n adm0_a3_is: \"EST\",\n adm0_a3_us: \"EST\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"EST.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [24.312862583114622, 57.79342357037698],\n [24.42892785004216, 58.38341339785328],\n [24.061198357853186, 58.25737457949341],\n [23.42656009287668, 58.612753404364625],\n [23.339795363058645, 59.18724030215338],\n [24.604214308376182, 59.46585378685502],\n [25.86418908051664, 59.61109039981134],\n [26.949135776484525, 59.445803331125774],\n [27.981114129353244, 59.47538808861287],\n [28.13169925305175, 59.30082510033092],\n [27.42016645682494, 58.72458120384424],\n [27.71668582531572, 57.79189911562437],\n [27.28818484875151, 57.47452830670383],\n [26.463532342237787, 57.47638865826633],\n [25.602809685984365, 57.84752879498657],\n [25.16459354014927, 57.97015696881519],\n [24.312862583114622, 57.79342357037698],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Finland\",\n sov_a3: \"FI1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"Finland\",\n adm0_a3: \"FIN\",\n geou_dif: 0,\n geounit: \"Finland\",\n gu_a3: \"FIN\",\n su_dif: 0,\n subunit: \"Finland\",\n su_a3: \"FIN\",\n brk_diff: 0,\n name: \"Finland\",\n name_long: \"Finland\",\n brk_a3: \"FIN\",\n brk_name: \"Finland\",\n brk_group: null,\n abbrev: \"Fin.\",\n postal: \"FIN\",\n formal_en: \"Republic of Finland\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Finland\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 1,\n mapcolor9: 4,\n mapcolor13: 6,\n pop_est: 5250275,\n gdp_md_est: 193500,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"FI\",\n iso_a3: \"FIN\",\n iso_n3: \"246\",\n un_a3: \"246\",\n wb_a2: \"FI\",\n wb_a3: \"FIN\",\n woe_id: -99,\n adm0_a3_is: \"FIN\",\n adm0_a3_us: \"FIN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"FIN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [28.591929559043194, 69.06477692328666],\n [28.445943637818658, 68.36461294216404],\n [29.977426385220607, 67.69829702419266],\n [29.054588657352326, 66.94428620062193],\n [30.21765, 65.80598],\n [29.544429559046986, 64.94867157659048],\n [30.44468468600371, 64.20445343693909],\n [30.035872430142714, 63.55281362573855],\n [31.51609215671112, 62.86768748641288],\n [31.139991082490894, 62.35769277612441],\n [30.211107212044446, 61.78002777774969],\n [28.069997592895277, 60.503516547275844],\n [26.25517296723697, 60.4239606797625],\n [24.496623976344523, 60.05731639265165],\n [22.869694858499457, 59.846373196036225],\n [22.290763787533592, 60.39192129174154],\n [21.322244093519316, 60.72016998965952],\n [21.544866163832694, 61.7053294948718],\n [21.05921105315369, 62.60739329695874],\n [21.536029493910803, 63.18973501245587],\n [22.442744174903993, 63.81781037053129],\n [24.730511508897536, 64.90234365504082],\n [25.398067661243942, 65.11142650009373],\n [25.294043003040404, 65.53434642197045],\n [23.903378533633802, 66.00692739527962],\n [23.565879754335583, 66.39605093043743],\n [23.53947309743444, 67.93600861273525],\n [21.978534783626117, 68.6168456081807],\n [20.645592889089528, 69.10624726020087],\n [21.244936150810673, 69.37044302029307],\n [22.356237827247412, 68.84174144151491],\n [23.66204959483076, 68.89124746365054],\n [24.735679152126725, 68.64955678982146],\n [25.68921268077636, 69.09211375596904],\n [26.17962202322624, 69.82529897732614],\n [27.732292107867863, 70.16419302029625],\n [29.01557295097197, 69.76649119737799],\n [28.591929559043194, 69.06477692328666],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"France\",\n sov_a3: \"FR1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"France\",\n adm0_a3: \"FRA\",\n geou_dif: 0,\n geounit: \"France\",\n gu_a3: \"FRA\",\n su_dif: 0,\n subunit: \"France\",\n su_a3: \"FRA\",\n brk_diff: 0,\n name: \"France\",\n name_long: \"France\",\n brk_a3: \"FRA\",\n brk_name: \"France\",\n brk_group: null,\n abbrev: \"Fr.\",\n postal: \"F\",\n formal_en: \"French Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"France\",\n name_alt: null,\n mapcolor7: 7,\n mapcolor8: 5,\n mapcolor9: 9,\n mapcolor13: 11,\n pop_est: 64057792,\n gdp_md_est: 2128000,\n pop_year: -99,\n lastcensus: -99,\n gdp_year: -99,\n economy: \"1. Developed region: G7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"FR\",\n iso_a3: \"FRA\",\n iso_n3: \"250\",\n un_a3: \"250\",\n wb_a2: \"FR\",\n wb_a3: \"FRA\",\n woe_id: -99,\n adm0_a3_is: \"FRA\",\n adm0_a3_us: \"FRA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Western Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 3,\n tiny: -99,\n homepart: 1,\n filename: \"FRA.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [-52.55642473001839, 2.504705308437053],\n [-52.93965715189498, 2.124857692875622],\n [-53.418465135295264, 2.053389187016037],\n [-53.554839240113495, 2.334896551925965],\n [-53.77852067728889, 2.376702785650053],\n [-54.08806250671728, 2.105556545414629],\n [-54.52475419779975, 2.311848863123785],\n [-54.27122962097578, 2.738747870286943],\n [-54.18428402364474, 3.194172268075235],\n [-54.01150387227682, 3.622569891774858],\n [-54.399542202356514, 4.212611395683481],\n [-54.47863298197922, 4.896755682795643],\n [-53.95804460307093, 5.756548163267809],\n [-53.618452928264844, 5.646529038918402],\n [-52.88214128275408, 5.409850979021599],\n [-51.82334286152593, 4.565768133966145],\n [-51.65779741067888, 4.156232408053029],\n [-52.24933753112398, 3.241094468596287],\n [-52.55642473001839, 2.504705308437053],\n ],\n ],\n [\n [\n [9.560016310269134, 42.15249197037957],\n [9.229752231491773, 41.38000682226445],\n [8.77572309737536, 41.58361196549444],\n [8.54421268070783, 42.25651662858308],\n [8.746009148807588, 42.62812185319396],\n [9.390000848028905, 43.00998484961474],\n [9.560016310269134, 42.15249197037957],\n ],\n ],\n [\n [\n [3.588184441755715, 50.37899241800358],\n [4.28602298342514, 49.907496649772554],\n [4.799221632515753, 49.98537303323633],\n [5.674051954784885, 49.52948354755745],\n [5.897759230176376, 49.44266714130717],\n [6.186320428094206, 49.46380280211446],\n [6.658229607783539, 49.20195831969155],\n [8.099278598674772, 49.01778351500337],\n [7.593676385131062, 48.33301911070373],\n [7.46675906742223, 47.620581976911865],\n [7.192202182655535, 47.44976552997099],\n [6.736571079138088, 47.54180125588289],\n [6.768713820023634, 47.28770823830368],\n [6.037388950228972, 46.72577871356191],\n [6.022609490593567, 46.272989813820516],\n [6.500099724970454, 46.42967275652944],\n [6.843592970414562, 45.99114655210067],\n [6.802355177445662, 45.70857982032867],\n [7.096652459347837, 45.333098863295874],\n [6.749955275101711, 45.02851797136759],\n [7.007562290076663, 44.25476675066139],\n [7.549596388386163, 44.12790110938482],\n [7.435184767291843, 43.69384491634918],\n [6.529245232783068, 43.12889232031836],\n [4.556962517931396, 43.39965098731158],\n [3.10041059735272, 43.075200507167125],\n [2.985998976258486, 42.47301504166989],\n [1.826793247087181, 42.34338471126566],\n [0.701590610363922, 42.79573436133265],\n [0.338046909190581, 42.579546006839564],\n [-1.502770961910471, 43.03401439063049],\n [-1.901351284177735, 43.42280202897834],\n [-1.384225226232957, 44.02261037859017],\n [-1.193797573237362, 46.014917710954876],\n [-2.225724249673789, 47.06436269793821],\n [-2.963276129559574, 47.570326646507965],\n [-4.491554938159481, 47.95495433205642],\n [-4.592349819344747, 48.68416046812695],\n [-3.295813971357745, 48.901692409859635],\n [-1.616510789384932, 48.644421291694584],\n [-1.933494025063254, 49.776341864615766],\n [-0.98946895995536, 49.347375800160876],\n [1.338761020522753, 50.12717316344526],\n [1.6390010921385, 50.946606350297515],\n [2.513573032246171, 51.14850617126185],\n [2.658422071960331, 50.79684804951566],\n [3.123251580425716, 50.78036326761452],\n [3.588184441755715, 50.37899241800358],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"United Kingdom\",\n sov_a3: \"GB1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"United Kingdom\",\n adm0_a3: \"GBR\",\n geou_dif: 0,\n geounit: \"United Kingdom\",\n gu_a3: \"GBR\",\n su_dif: 0,\n subunit: \"United Kingdom\",\n su_a3: \"GBR\",\n brk_diff: 0,\n name: \"United Kingdom\",\n name_long: \"United Kingdom\",\n brk_a3: \"GBR\",\n brk_name: \"United Kingdom\",\n brk_group: null,\n abbrev: \"U.K.\",\n postal: \"GB\",\n formal_en: \"United Kingdom of Great Britain and Northern Ireland\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"United Kingdom\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 6,\n mapcolor9: 6,\n mapcolor13: 3,\n pop_est: 62262000,\n gdp_md_est: 1977704,\n pop_year: 0,\n lastcensus: 2011,\n gdp_year: 2009,\n economy: \"1. Developed region: G7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GB\",\n iso_a3: \"GBR\",\n iso_n3: \"826\",\n un_a3: \"826\",\n wb_a2: \"GB\",\n wb_a3: \"GBR\",\n woe_id: -99,\n adm0_a3_is: \"GBR\",\n adm0_a3_us: \"GBR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 14,\n long_len: 14,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"GBR.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [-5.661948614921897, 54.55460317648385],\n [-6.197884894220977, 53.86756500916334],\n [-6.953730231137996, 54.073702297575636],\n [-7.572167934591079, 54.05995636658599],\n [-7.366030646178785, 54.595840969452695],\n [-7.572167934591079, 55.1316222194549],\n [-6.733847011736145, 55.1728600124238],\n [-5.661948614921897, 54.55460317648385],\n ],\n ],\n [\n [\n [-3.005004848635281, 58.63500010846633],\n [-4.073828497728016, 57.55302480735525],\n [-3.055001796877661, 57.69001902936095],\n [-1.959280564776918, 57.68479970969951],\n [-2.219988165689301, 56.87001740175353],\n [-3.119003058271118, 55.973793036515474],\n [-2.085009324543023, 55.90999848085127],\n [-2.005675679673857, 55.80490285035023],\n [-1.11499101399221, 54.62498647726539],\n [-0.4304849918542, 54.46437612570216],\n [0.184981316742039, 53.32501414653103],\n [0.469976840831777, 52.92999949809197],\n [1.681530795914739, 52.739520168664],\n [1.559987827164377, 52.09999848083601],\n [1.050561557630914, 51.806760565795685],\n [1.449865349950301, 51.28942780212196],\n [0.550333693045502, 50.765738837275876],\n [-0.78751746255864, 50.77498891865622],\n [-2.489997524414377, 50.50001862243124],\n [-2.956273972984036, 50.696879991247016],\n [-3.617448085942328, 50.22835561787272],\n [-4.542507900399244, 50.34183706318566],\n [-5.245023159191135, 49.95999990498108],\n [-5.776566941745301, 50.15967763935682],\n [-4.309989793301838, 51.21000112568916],\n [-3.414850633142123, 51.42600861266925],\n [-3.422719467108323, 51.42684816740609],\n [-4.984367234710874, 51.593466091510976],\n [-5.267295701508885, 51.99140045837458],\n [-4.222346564134853, 52.301355699261364],\n [-4.770013393564113, 52.840004991255626],\n [-4.579999152026915, 53.49500377055517],\n [-3.093830673788659, 53.404547400669685],\n [-3.092079637047106, 53.404440822963544],\n [-2.945008510744344, 53.984999701546684],\n [-3.614700825433034, 54.600936773292574],\n [-3.63000545898933, 54.615012925833014],\n [-4.844169073903004, 54.790971177786844],\n [-5.082526617849226, 55.06160065369937],\n [-4.719112107756644, 55.50847260194348],\n [-5.047980922862109, 55.78398550070752],\n [-5.586397670911139, 55.31114614523682],\n [-5.644998745130181, 56.275014960344805],\n [-6.149980841486354, 56.78500967063354],\n [-5.786824713555291, 57.81884837506465],\n [-5.009998745127575, 58.63001333275005],\n [-4.211494513353557, 58.55084503847917],\n [-3.005004848635281, 58.63500010846633],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Greece\",\n sov_a3: \"GRC\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Greece\",\n adm0_a3: \"GRC\",\n geou_dif: 0,\n geounit: \"Greece\",\n gu_a3: \"GRC\",\n su_dif: 0,\n subunit: \"Greece\",\n su_a3: \"GRC\",\n brk_diff: 0,\n name: \"Greece\",\n name_long: \"Greece\",\n brk_a3: \"GRC\",\n brk_name: \"Greece\",\n brk_group: null,\n abbrev: \"Greece\",\n postal: \"GR\",\n formal_en: \"Hellenic Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Greece\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 2,\n mapcolor9: 2,\n mapcolor13: 9,\n pop_est: 10737428,\n gdp_md_est: 343000,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"GR\",\n iso_a3: \"GRC\",\n iso_n3: \"300\",\n un_a3: \"300\",\n wb_a2: \"GR\",\n wb_a3: \"GRC\",\n woe_id: -99,\n adm0_a3_is: \"GRC\",\n adm0_a3_us: \"GRC\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 6,\n tiny: -99,\n homepart: 1,\n filename: \"GRC.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [23.699980096133004, 35.70500438083553],\n [24.24666507334868, 35.368022365860156],\n [25.02501549652888, 35.42499563246198],\n [25.769207797964185, 35.35401805270908],\n [25.745023227651586, 35.179997666966216],\n [26.290002882601723, 35.29999034274792],\n [26.16499759288766, 35.004995429009796],\n [24.724982130642303, 34.91998769788961],\n [24.735007358506945, 35.08499054619759],\n [23.51497846852811, 35.27999156345098],\n [23.699980096133004, 35.70500438083553],\n ],\n ],\n [\n [\n [26.604195590936282, 41.562114569661105],\n [26.29460208507578, 40.93626129817426],\n [26.056942172965506, 40.824123440100834],\n [25.447677036244187, 40.85254547786147],\n [24.92584842296094, 40.94706167252323],\n [23.714811232200816, 40.687129218095116],\n [24.407998894964066, 40.1249929876241],\n [23.899967889102584, 39.96200552017558],\n [23.3429993018608, 39.96099782974579],\n [22.81398766448896, 40.476005153966554],\n [22.62629886240478, 40.25656118423919],\n [22.849747755634805, 39.65931081802577],\n [23.3500272966526, 39.19001129816726],\n [22.973099399515547, 38.97090322524966],\n [23.530016310324953, 38.51000112563847],\n [24.025024855248944, 38.21999298761645],\n [24.040011020613605, 37.655014553369426],\n [23.115002882589152, 37.92001129816222],\n [23.409971958111072, 37.409990749657396],\n [22.774971958108633, 37.30501007745656],\n [23.15422529469862, 36.422505804992056],\n [22.490028110451107, 36.41000010837746],\n [21.670026482843696, 36.8449864771942],\n [21.295010613701574, 37.644989325504696],\n [21.120034213961333, 38.31032339126273],\n [20.730032179454582, 38.769985256498785],\n [20.217712029712857, 39.340234686839636],\n [20.15001590341052, 39.62499766698403],\n [20.615000441172782, 40.11000682225943],\n [20.674996779063633, 40.434999904943055],\n [20.99998986174728, 40.58000397395397],\n [21.02004031747643, 40.84272695572588],\n [21.674160597426976, 40.93127452245798],\n [22.05537763844427, 41.14986583105269],\n [22.597308383889015, 41.130487168943205],\n [22.76177, 41.3048],\n [22.952377150166566, 41.33799388281122],\n [23.692073601992462, 41.30908091894386],\n [24.49264489105803, 41.58389618587205],\n [25.197201368925533, 41.23448598893066],\n [26.106138136507184, 41.32889883072784],\n [26.117041863720914, 41.82690460872473],\n [26.604195590936282, 41.562114569661105],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Croatia\",\n sov_a3: \"HRV\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Croatia\",\n adm0_a3: \"HRV\",\n geou_dif: 0,\n geounit: \"Croatia\",\n gu_a3: \"HRV\",\n su_dif: 0,\n subunit: \"Croatia\",\n su_a3: \"HRV\",\n brk_diff: 0,\n name: \"Croatia\",\n name_long: \"Croatia\",\n brk_a3: \"HRV\",\n brk_name: \"Croatia\",\n brk_group: null,\n abbrev: \"Cro.\",\n postal: \"HR\",\n formal_en: \"Republic of Croatia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Croatia\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 4,\n mapcolor9: 5,\n mapcolor13: 1,\n pop_est: 4489409,\n gdp_md_est: 82390,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"HR\",\n iso_a3: \"HRV\",\n iso_n3: \"191\",\n un_a3: \"191\",\n wb_a2: \"HR\",\n wb_a3: \"HRV\",\n woe_id: -99,\n adm0_a3_is: \"HRV\",\n adm0_a3_us: \"HRV\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"HRV.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [18.829838087650046, 45.908877671891844],\n [19.072768995854176, 45.52151113543209],\n [19.39047570158459, 45.236515611342384],\n [19.00548628101012, 44.86023366960916],\n [18.553214145591653, 45.08158966733145],\n [17.861783481526402, 45.067740383477144],\n [17.002146030351014, 45.233776760430935],\n [16.534939406000206, 45.21160757097772],\n [16.318156772535872, 45.00412669532591],\n [15.959367303133376, 45.233776760430935],\n [15.750026075918981, 44.81871165626256],\n [16.23966027188453, 44.35114329688571],\n [16.456442905348865, 44.04123973243128],\n [16.91615644701733, 43.66772247982567],\n [17.297373488034452, 43.44634064388736],\n [17.674921502358984, 43.02856252702361],\n [18.56, 42.65],\n [18.450016310304818, 42.47999136002932],\n [17.509970330483327, 42.849994615239154],\n [16.930005730871642, 43.20999848080038],\n [16.015384555737683, 43.50721548112722],\n [15.174453973052096, 44.243191229827914],\n [15.376250441151795, 44.31791535092208],\n [14.920309279040508, 44.73848399512946],\n [14.901602410550877, 45.07606028907611],\n [14.258747592839995, 45.233776760430935],\n [13.952254672917034, 44.80212352149687],\n [13.656975538801191, 45.13693512631596],\n [13.67940311041582, 45.48414907488501],\n [13.715059848697251, 45.500323798192426],\n [14.4119682145855, 45.46616567644742],\n [14.595109490627918, 45.63494090431282],\n [14.935243767972963, 45.471695054702764],\n [15.327674594797427, 45.452316392593325],\n [15.323953891672431, 45.731782538427694],\n [15.671529575267641, 45.8341535507979],\n [15.768732944408612, 46.23810822202353],\n [16.564808383864943, 46.50375092221981],\n [16.882515089595415, 46.38063182228444],\n [17.630066359129557, 45.9517691106941],\n [18.45606245288286, 45.75948110613615],\n [18.829838087650046, 45.908877671891844],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Hungary\",\n sov_a3: \"HUN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Hungary\",\n adm0_a3: \"HUN\",\n geou_dif: 0,\n geounit: \"Hungary\",\n gu_a3: \"HUN\",\n su_dif: 0,\n subunit: \"Hungary\",\n su_a3: \"HUN\",\n brk_diff: 0,\n name: \"Hungary\",\n name_long: \"Hungary\",\n brk_a3: \"HUN\",\n brk_name: \"Hungary\",\n brk_group: null,\n abbrev: \"Hun.\",\n postal: \"HU\",\n formal_en: \"Republic of Hungary\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Hungary\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 6,\n mapcolor9: 1,\n mapcolor13: 5,\n pop_est: 9905596,\n gdp_md_est: 196600,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"HU\",\n iso_a3: \"HUN\",\n iso_n3: \"348\",\n un_a3: \"348\",\n wb_a2: \"HU\",\n wb_a3: \"HUN\",\n woe_id: -99,\n adm0_a3_is: \"HUN\",\n adm0_a3_us: \"HUN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"HUN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [16.202298211337364, 46.85238597267696],\n [16.534267612380376, 47.49617096616912],\n [16.340584344150415, 47.71290192320123],\n [16.90375410326726, 47.71486562762833],\n [16.979666782304037, 48.123497015976305],\n [17.48847293464982, 47.86746613218621],\n [17.857132602620027, 47.758428860050365],\n [18.696512892336926, 47.880953681014404],\n [18.77702477384767, 48.081768296900634],\n [19.17436486173989, 48.11137889260387],\n [19.661363559658497, 48.26661489520866],\n [19.769470656013112, 48.202691148463614],\n [20.239054396249347, 48.32756724709692],\n [20.473562045989866, 48.56285004332181],\n [20.801293979584926, 48.623854071642384],\n [21.872236362401736, 48.31997081155002],\n [22.08560835133485, 48.42226430927179],\n [22.640819939878753, 48.15023956968735],\n [22.710531447040495, 47.88219391538941],\n [22.099767693782834, 47.6724392767167],\n [21.62651492685387, 46.99423777931816],\n [21.02195234547125, 46.3160879583519],\n [20.220192498462836, 46.127468980486555],\n [19.596044549241583, 46.17172984474454],\n [18.82983808764996, 45.90887767189193],\n [18.45606245288286, 45.759481106136136],\n [17.630066359129557, 45.95176911069419],\n [16.8825150895953, 46.38063182228444],\n [16.564808383864857, 46.50375092221983],\n [16.370504998447416, 46.8413272161665],\n [16.202298211337364, 46.85238597267696],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Ireland\",\n sov_a3: \"IRL\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Ireland\",\n adm0_a3: \"IRL\",\n geou_dif: 0,\n geounit: \"Ireland\",\n gu_a3: \"IRL\",\n su_dif: 0,\n subunit: \"Ireland\",\n su_a3: \"IRL\",\n brk_diff: 0,\n name: \"Ireland\",\n name_long: \"Ireland\",\n brk_a3: \"IRL\",\n brk_name: \"Ireland\",\n brk_group: null,\n abbrev: \"Ire.\",\n postal: \"IRL\",\n formal_en: \"Ireland\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Ireland\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 3,\n mapcolor9: 2,\n mapcolor13: 2,\n pop_est: 4203200,\n gdp_md_est: 188400,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"IE\",\n iso_a3: \"IRL\",\n iso_n3: \"372\",\n un_a3: \"372\",\n wb_a2: \"IE\",\n wb_a3: \"IRL\",\n woe_id: -99,\n adm0_a3_is: \"IRL\",\n adm0_a3_us: \"IRL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"IRL.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-6.197884894220991, 53.86756500916336],\n [-6.03298539877761, 53.15316417094435],\n [-6.788856573910849, 52.260117906292336],\n [-8.56161658368356, 51.669301255899356],\n [-9.977085740590269, 51.82045482035307],\n [-9.16628251793078, 52.86462881124268],\n [-9.688524542672454, 53.8813626165853],\n [-8.327987433292009, 54.66451894796863],\n [-7.572167934591064, 55.13162221945487],\n [-7.366030646178785, 54.59584096945272],\n [-7.572167934591064, 54.059956366586],\n [-6.953730231138067, 54.073702297575636],\n [-6.197884894220991, 53.86756500916336],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Iceland\",\n sov_a3: \"ISL\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Iceland\",\n adm0_a3: \"ISL\",\n geou_dif: 0,\n geounit: \"Iceland\",\n gu_a3: \"ISL\",\n su_dif: 0,\n subunit: \"Iceland\",\n su_a3: \"ISL\",\n brk_diff: 0,\n name: \"Iceland\",\n name_long: \"Iceland\",\n brk_a3: \"ISL\",\n brk_name: \"Iceland\",\n brk_group: null,\n abbrev: \"Iceland\",\n postal: \"IS\",\n formal_en: \"Republic of Iceland\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Iceland\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 4,\n mapcolor13: 9,\n pop_est: 306694,\n gdp_md_est: 12710,\n pop_year: -99,\n lastcensus: -99,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"IS\",\n iso_a3: \"ISL\",\n iso_n3: \"352\",\n un_a3: \"352\",\n wb_a2: \"IS\",\n wb_a3: \"ISL\",\n woe_id: -99,\n adm0_a3_is: \"ISL\",\n adm0_a3_us: \"ISL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 7,\n tiny: -99,\n homepart: 1,\n filename: \"ISL.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-14.508695441129236, 66.45589223903141],\n [-14.739637417041605, 65.8087482774403],\n [-13.60973222497981, 65.12667104761987],\n [-14.909833746794902, 64.36408193628868],\n [-17.794438035543422, 63.67874909123385],\n [-18.656245896874992, 63.49638296167582],\n [-19.97275468594276, 63.64363495549153],\n [-22.762971971110158, 63.960178941495386],\n [-21.778484259517683, 64.40211579045551],\n [-23.95504391121911, 64.89112986923348],\n [-22.184402635170358, 65.0849681667603],\n [-22.227423265053332, 65.37859365504272],\n [-24.326184047939336, 65.61118927678847],\n [-23.65051469572309, 66.26251902939522],\n [-22.134922451250883, 66.41046865504687],\n [-20.57628373867955, 65.73211212835143],\n [-19.05684160000159, 66.27660085719477],\n [-17.79862382655905, 65.99385325790978],\n [-16.167818976292125, 66.52679230413587],\n [-14.508695441129236, 66.45589223903141],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Italy\",\n sov_a3: \"ITA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Italy\",\n adm0_a3: \"ITA\",\n geou_dif: 0,\n geounit: \"Italy\",\n gu_a3: \"ITA\",\n su_dif: 0,\n subunit: \"Italy\",\n su_a3: \"ITA\",\n brk_diff: 0,\n name: \"Italy\",\n name_long: \"Italy\",\n brk_a3: \"ITA\",\n brk_name: \"Italy\",\n brk_group: null,\n abbrev: \"Italy\",\n postal: \"I\",\n formal_en: \"Italian Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Italy\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 7,\n mapcolor9: 8,\n mapcolor13: 7,\n pop_est: 58126212,\n gdp_md_est: 1823000,\n pop_year: -99,\n lastcensus: 2012,\n gdp_year: -99,\n economy: \"1. Developed region: G7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"IT\",\n iso_a3: \"ITA\",\n iso_n3: \"380\",\n un_a3: \"380\",\n wb_a2: \"IT\",\n wb_a3: \"ITA\",\n woe_id: -99,\n adm0_a3_is: \"ITA\",\n adm0_a3_us: \"ITA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 5,\n long_len: 5,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"ITA.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [15.520376010813834, 38.23115509699147],\n [15.160242954171736, 37.44404551853782],\n [15.309897902089006, 37.1342194687318],\n [15.099988234119449, 36.6199872909954],\n [14.335228712632016, 36.996630967754754],\n [13.826732618879928, 37.10453135838019],\n [12.431003859108813, 37.61294993748381],\n [12.570943637755136, 38.12638113051968],\n [13.741156447004585, 38.03496552179536],\n [14.76124922044616, 38.143873602850505],\n [15.520376010813834, 38.23115509699147],\n ],\n ],\n [\n [\n [9.210011834356266, 41.20999136002422],\n [9.809975213264977, 40.5000088567661],\n [9.669518670295673, 39.177376410471794],\n [9.21481774255949, 39.240473334300134],\n [8.80693566247973, 38.90661774347847],\n [8.428302443077115, 39.17184703221662],\n [8.38825320805094, 40.378310858718805],\n [8.15999840661766, 40.95000722916379],\n [8.709990675500109, 40.89998444270523],\n [9.210011834356266, 41.20999136002422],\n ],\n ],\n [\n [\n [12.376485223040843, 46.76755910906987],\n [13.806475457421556, 46.50930613869119],\n [13.698109978905478, 46.016778062517375],\n [13.937630242578335, 45.591015936864665],\n [13.141606479554298, 45.73669179949541],\n [12.328581170306306, 45.38177806251485],\n [12.383874952858605, 44.88537425391908],\n [12.261453484759159, 44.600482082694015],\n [12.589237094786483, 44.091365871754476],\n [13.526905958722494, 43.5877273626379],\n [14.029820997787027, 42.76100779883248],\n [15.142569614327956, 41.955139675456905],\n [15.926191033601896, 41.96131500911574],\n [16.169897088290412, 41.74029490820342],\n [15.889345737377797, 41.5410822617182],\n [16.785001661860576, 41.179605617836586],\n [17.519168735431208, 40.87714345963224],\n [18.376687452882575, 40.35562490494266],\n [18.4802470231954, 40.168866278639825],\n [18.293385044028096, 39.81077444107325],\n [17.738380161213286, 40.2776710068303],\n [16.869595981522338, 40.44223460546385],\n [16.448743116937322, 39.79540070246648],\n [17.1714896989715, 39.42469981542072],\n [17.05284061042934, 38.9028712021373],\n [16.635088331781844, 38.8435724960824],\n [16.100960727613057, 37.98589874933418],\n [15.684086948314501, 37.90884918878703],\n [15.687962680736321, 38.214592800441864],\n [15.891981235424707, 38.750942491199226],\n [16.109332309644312, 38.96454702407769],\n [15.718813510814641, 39.544072374014945],\n [15.413612501698822, 40.04835683853517],\n [14.998495721098237, 40.17294871679093],\n [14.70326826341477, 40.604550279292624],\n [14.060671827865264, 40.78634796809544],\n [13.627985060285397, 41.188287258461656],\n [12.88808190273042, 41.25308950455562],\n [12.10668257004491, 41.70453481705741],\n [11.191906365614187, 42.35542531998967],\n [10.511947869517797, 42.931462510747224],\n [10.200028924204048, 43.920006822274615],\n [9.702488234097814, 44.03627879493132],\n [8.88894616052687, 44.36633616797954],\n [8.428560825238577, 44.23122813575242],\n [7.850766635783201, 43.76714793555524],\n [7.435184767291843, 43.69384491634918],\n [7.549596388386163, 44.12790110938482],\n [7.007562290076663, 44.25476675066139],\n [6.749955275101711, 45.02851797136759],\n [7.096652459347837, 45.333098863295874],\n [6.802355177445662, 45.70857982032867],\n [6.843592970414562, 45.99114655210067],\n [7.273850945676685, 45.77694774025076],\n [7.755992058959833, 45.82449005795928],\n [8.31662967289438, 46.163642483090854],\n [8.489952426801295, 46.00515086525175],\n [8.966305779667834, 46.036931871111165],\n [9.182881707403112, 46.44021474871698],\n [9.922836541390353, 46.31489940040919],\n [10.363378126678668, 46.483571275409844],\n [10.442701450246602, 46.893546250997446],\n [11.048555942436508, 46.7513585475464],\n [11.164827915093326, 46.94157949481274],\n [12.153088006243081, 47.11539317482644],\n [12.376485223040843, 46.76755910906987],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Kosovo\",\n sov_a3: \"KOS\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Kosovo\",\n adm0_a3: \"KOS\",\n geou_dif: 0,\n geounit: \"Kosovo\",\n gu_a3: \"KOS\",\n su_dif: 0,\n subunit: \"Kosovo\",\n su_a3: \"KOS\",\n brk_diff: 1,\n name: \"Kosovo\",\n name_long: \"Kosovo\",\n brk_a3: \"B57\",\n brk_name: \"Kosovo\",\n brk_group: null,\n abbrev: \"Kos.\",\n postal: \"KO\",\n formal_en: \"Republic of Kosovo\",\n formal_fr: null,\n note_adm0: null,\n note_brk: \"Self admin.; Claimed by Serbia\",\n name_sort: \"Kosovo\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 2,\n mapcolor9: 3,\n mapcolor13: 11,\n pop_est: 1804838,\n gdp_md_est: 5352,\n pop_year: -99,\n lastcensus: 1981,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"-99\",\n iso_a3: \"-99\",\n iso_n3: \"-99\",\n un_a3: \"-099\",\n wb_a2: \"KV\",\n wb_a3: \"KSV\",\n woe_id: -99,\n adm0_a3_is: \"SRB\",\n adm0_a3_us: \"KOS\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"KOS.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [20.76216, 42.05186],\n [20.71731000000011, 41.84711],\n [20.59023, 41.85541],\n [20.52295, 42.21787],\n [20.28374, 42.3202500000001],\n [20.0707, 42.58863],\n [20.25758, 42.81275000000011],\n [20.49679, 42.88469],\n [20.63508, 43.21671],\n [20.81448, 43.27205],\n [20.95651, 43.13094],\n [21.143395, 43.06868500000012],\n [21.27421, 42.90959],\n [21.43866, 42.86255],\n [21.63302, 42.67717],\n [21.77505, 42.6827],\n [21.66292, 42.43922],\n [21.54332, 42.3202500000001],\n [21.57663598940212, 42.24522439706186],\n [21.35270000000014, 42.2068],\n [20.76216, 42.05186],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Lithuania\",\n sov_a3: \"LTU\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Lithuania\",\n adm0_a3: \"LTU\",\n geou_dif: 0,\n geounit: \"Lithuania\",\n gu_a3: \"LTU\",\n su_dif: 0,\n subunit: \"Lithuania\",\n su_a3: \"LTU\",\n brk_diff: 0,\n name: \"Lithuania\",\n name_long: \"Lithuania\",\n brk_a3: \"LTU\",\n brk_name: \"Lithuania\",\n brk_group: null,\n abbrev: \"Lith.\",\n postal: \"LT\",\n formal_en: \"Republic of Lithuania\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Lithuania\",\n name_alt: null,\n mapcolor7: 6,\n mapcolor8: 3,\n mapcolor9: 3,\n mapcolor13: 9,\n pop_est: 3555179,\n gdp_md_est: 63330,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"LT\",\n iso_a3: \"LTU\",\n iso_n3: \"440\",\n un_a3: \"440\",\n wb_a2: \"LT\",\n wb_a3: \"LTU\",\n woe_id: -99,\n adm0_a3_is: \"LTU\",\n adm0_a3_us: \"LTU\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"LTU.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [22.731098667092652, 54.327536932993326],\n [22.65105187347254, 54.582740993866736],\n [22.75776370615526, 54.85657440858138],\n [22.315723504330577, 55.015298570365864],\n [21.268448927503467, 55.190481675835315],\n [21.055800408622414, 56.03107636171106],\n [22.201156853939494, 56.33780182557948],\n [23.878263787539964, 56.273671373105266],\n [24.860684441840757, 56.37252838807963],\n [25.000934279080894, 56.16453074810484],\n [25.533046502390334, 56.10029694276603],\n [26.494331495883753, 55.615106919977634],\n [26.58827924979039, 55.16717560487167],\n [25.7684326514798, 54.84696259217509],\n [25.536353794056993, 54.28242340760253],\n [24.450683628037037, 53.905702216194754],\n [23.48412763844985, 53.91249766704114],\n [23.24398725758951, 54.22056671814914],\n [22.731098667092652, 54.327536932993326],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Luxembourg\",\n sov_a3: \"LUX\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Luxembourg\",\n adm0_a3: \"LUX\",\n geou_dif: 0,\n geounit: \"Luxembourg\",\n gu_a3: \"LUX\",\n su_dif: 0,\n subunit: \"Luxembourg\",\n su_a3: \"LUX\",\n brk_diff: 0,\n name: \"Luxembourg\",\n name_long: \"Luxembourg\",\n brk_a3: \"LUX\",\n brk_name: \"Luxembourg\",\n brk_group: null,\n abbrev: \"Lux.\",\n postal: \"L\",\n formal_en: \"Grand Duchy of Luxembourg\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Luxembourg\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 7,\n mapcolor9: 3,\n mapcolor13: 7,\n pop_est: 491775,\n gdp_md_est: 39370,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"LU\",\n iso_a3: \"LUX\",\n iso_n3: \"442\",\n un_a3: \"442\",\n wb_a2: \"LU\",\n wb_a3: \"LUX\",\n woe_id: -99,\n adm0_a3_is: \"LUX\",\n adm0_a3_us: \"LUX\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Western Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: 5,\n homepart: 1,\n filename: \"LUX.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [6.043073357781111, 50.128051662794235],\n [6.242751092156993, 49.90222565367873],\n [6.186320428094177, 49.463802802114515],\n [5.897759230176405, 49.44266714130703],\n [5.674051954784829, 49.529483547557504],\n [5.782417433300906, 50.09032786722122],\n [6.043073357781111, 50.128051662794235],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Latvia\",\n sov_a3: \"LVA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Latvia\",\n adm0_a3: \"LVA\",\n geou_dif: 0,\n geounit: \"Latvia\",\n gu_a3: \"LVA\",\n su_dif: 0,\n subunit: \"Latvia\",\n su_a3: \"LVA\",\n brk_diff: 0,\n name: \"Latvia\",\n name_long: \"Latvia\",\n brk_a3: \"LVA\",\n brk_name: \"Latvia\",\n brk_group: null,\n abbrev: \"Lat.\",\n postal: \"LV\",\n formal_en: \"Republic of Latvia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Latvia\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 7,\n mapcolor9: 6,\n mapcolor13: 13,\n pop_est: 2231503,\n gdp_md_est: 38860,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"LV\",\n iso_a3: \"LVA\",\n iso_n3: \"428\",\n un_a3: \"428\",\n wb_a2: \"LV\",\n wb_a3: \"LVA\",\n woe_id: -99,\n adm0_a3_is: \"LVA\",\n adm0_a3_us: \"LVA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"LVA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [21.055800408622414, 56.03107636171106],\n [21.09042361825797, 56.78387278912293],\n [21.581866489353672, 57.41187063254993],\n [22.524341261492875, 57.75337433535076],\n [23.318452996522097, 57.00623647727487],\n [24.12072960785343, 57.02569265403277],\n [24.312862583114622, 57.79342357037698],\n [25.16459354014927, 57.97015696881519],\n [25.602809685984365, 57.84752879498657],\n [26.463532342237787, 57.47638865826633],\n [27.28818484875151, 57.47452830670383],\n [27.77001590344093, 57.24425812441123],\n [27.855282016722526, 56.75932648378429],\n [28.176709425577993, 56.16912995057881],\n [27.10245975109453, 55.783313707087686],\n [26.494331495883753, 55.615106919977634],\n [25.533046502390334, 56.10029694276603],\n [25.000934279080894, 56.16453074810484],\n [24.860684441840757, 56.37252838807963],\n [23.878263787539964, 56.273671373105266],\n [22.201156853939494, 56.33780182557948],\n [21.055800408622414, 56.03107636171106],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Moldova\",\n sov_a3: \"MDA\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Moldova\",\n adm0_a3: \"MDA\",\n geou_dif: 0,\n geounit: \"Moldova\",\n gu_a3: \"MDA\",\n su_dif: 0,\n subunit: \"Moldova\",\n su_a3: \"MDA\",\n brk_diff: 0,\n name: \"Moldova\",\n name_long: \"Moldova\",\n brk_a3: \"MDA\",\n brk_name: \"Moldova\",\n brk_group: null,\n abbrev: \"Mda.\",\n postal: \"MD\",\n formal_en: \"Republic of Moldova\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Moldova\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 5,\n mapcolor9: 4,\n mapcolor13: 12,\n pop_est: 4320748,\n gdp_md_est: 10670,\n pop_year: -99,\n lastcensus: 2004,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MD\",\n iso_a3: \"MDA\",\n iso_n3: \"498\",\n un_a3: \"498\",\n wb_a2: \"MD\",\n wb_a3: \"MDA\",\n woe_id: -99,\n adm0_a3_is: \"MDA\",\n adm0_a3_us: \"MDA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"MDA.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [26.619336785597795, 48.22072622333347],\n [26.857823520624805, 48.368210761094495],\n [27.522537469195154, 48.467119452501116],\n [28.259546746541844, 48.15556224221342],\n [28.670891147585163, 48.1181485052341],\n [29.12269819511303, 47.84909516050646],\n [29.05086795422733, 47.51022695575249],\n [29.41513512545274, 47.34664520933257],\n [29.559674106573112, 46.928582872091326],\n [29.908851759569302, 46.67436066343146],\n [29.838210076626297, 46.52532583270169],\n [30.02465864433537, 46.42393667254503],\n [29.75997195813639, 46.34998769793536],\n [29.170653924279886, 46.3792623968287],\n [29.072106967899295, 46.517677720722496],\n [28.862972446414062, 46.43788930926383],\n [28.93371748222162, 46.2588304713725],\n [28.659987420371575, 45.93998688413164],\n [28.485269402792767, 45.5969070501459],\n [28.233553501099042, 45.48828318946837],\n [28.0544429867754, 45.944586086605625],\n [28.160017937947714, 46.37156260841722],\n [28.128030226359044, 46.810476386088254],\n [27.551166212684848, 47.40511709247083],\n [27.233872918412743, 47.82677094175638],\n [26.924176059687568, 48.123264472030996],\n [26.619336785597795, 48.22072622333347],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Macedonia\",\n sov_a3: \"MKD\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Macedonia\",\n adm0_a3: \"MKD\",\n geou_dif: 0,\n geounit: \"Macedonia\",\n gu_a3: \"MKD\",\n su_dif: 0,\n subunit: \"Macedonia\",\n su_a3: \"MKD\",\n brk_diff: 0,\n name: \"Macedonia\",\n name_long: \"Macedonia\",\n brk_a3: \"MKD\",\n brk_name: \"Macedonia\",\n brk_group: null,\n abbrev: \"Mkd.\",\n postal: \"MK\",\n formal_en: \"Former Yugoslav Republic of Macedonia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Macedonia, FYR\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 3,\n mapcolor9: 7,\n mapcolor13: 3,\n pop_est: 2066718,\n gdp_md_est: 18780,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"MK\",\n iso_a3: \"MKD\",\n iso_n3: \"807\",\n un_a3: \"807\",\n wb_a2: \"MK\",\n wb_a3: \"MKD\",\n woe_id: -99,\n adm0_a3_is: \"MKD\",\n adm0_a3_us: \"MKD\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 9,\n long_len: 9,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"MKD.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [20.59023, 41.85541],\n [20.71731000000011, 41.84711],\n [20.76216, 42.05186],\n [21.35270000000014, 42.2068],\n [21.57663598940212, 42.24522439706186],\n [21.917080000000112, 42.30364],\n [22.38052575042468, 42.32025950781508],\n [22.881373732197346, 41.999297186850356],\n [22.952377150166512, 41.33799388281119],\n [22.76177, 41.3048],\n [22.597308383889015, 41.130487168943205],\n [22.05537763844427, 41.14986583105269],\n [21.674160597426976, 40.93127452245795],\n [21.0200403174764, 40.84272695572588],\n [20.60518, 41.08622],\n [20.46315, 41.5150900000001],\n [20.59023, 41.85541],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Montenegro\",\n sov_a3: \"MNE\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Montenegro\",\n adm0_a3: \"MNE\",\n geou_dif: 0,\n geounit: \"Montenegro\",\n gu_a3: \"MNE\",\n su_dif: 0,\n subunit: \"Montenegro\",\n su_a3: \"MNE\",\n brk_diff: 0,\n name: \"Montenegro\",\n name_long: \"Montenegro\",\n brk_a3: \"MNE\",\n brk_name: \"Montenegro\",\n brk_group: null,\n abbrev: \"Mont.\",\n postal: \"ME\",\n formal_en: \"Montenegro\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Montenegro\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 1,\n mapcolor9: 4,\n mapcolor13: 5,\n pop_est: 672180,\n gdp_md_est: 6816,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"ME\",\n iso_a3: \"MNE\",\n iso_n3: \"499\",\n un_a3: \"499\",\n wb_a2: \"ME\",\n wb_a3: \"MNE\",\n woe_id: -99,\n adm0_a3_is: \"MNE\",\n adm0_a3_us: \"MNE\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"MNE.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [19.801613396898688, 42.50009349219084],\n [19.738051385179627, 42.688247382165564],\n [19.3044900000001, 42.19574],\n [19.37177000000014, 41.87755],\n [19.16246, 41.95502],\n [18.88214, 42.28151],\n [18.45, 42.48],\n [18.56, 42.65],\n [18.70648, 43.20011],\n [19.03165, 43.43253],\n [19.21852, 43.52384],\n [19.48389, 43.35229],\n [19.63, 43.21377997027054],\n [19.95857, 43.10604],\n [20.3398, 42.89852],\n [20.25758, 42.81275000000011],\n [20.0707, 42.58863],\n [19.801613396898688, 42.50009349219084],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Netherlands\",\n sov_a3: \"NL1\",\n adm0_dif: 1,\n level: 2,\n type: \"Country\",\n admin: \"Netherlands\",\n adm0_a3: \"NLD\",\n geou_dif: 0,\n geounit: \"Netherlands\",\n gu_a3: \"NLD\",\n su_dif: 0,\n subunit: \"Netherlands\",\n su_a3: \"NLD\",\n brk_diff: 0,\n name: \"Netherlands\",\n name_long: \"Netherlands\",\n brk_a3: \"NLD\",\n brk_name: \"Netherlands\",\n brk_group: null,\n abbrev: \"Neth.\",\n postal: \"NL\",\n formal_en: \"Kingdom of the Netherlands\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Netherlands\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 2,\n mapcolor9: 2,\n mapcolor13: 9,\n pop_est: 16715999,\n gdp_md_est: 672000,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"NL\",\n iso_a3: \"NLD\",\n iso_n3: \"528\",\n un_a3: \"528\",\n wb_a2: \"NL\",\n wb_a3: \"NLD\",\n woe_id: -99,\n adm0_a3_is: \"NLD\",\n adm0_a3_us: \"NLD\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Western Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 11,\n long_len: 11,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"NLD.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [6.074182570020923, 53.510403347378144],\n [6.905139601274129, 53.48216217713064],\n [7.092053256873896, 53.14404328064489],\n [6.842869500362383, 52.22844025329755],\n [6.589396599970826, 51.852029120483394],\n [5.988658074577813, 51.851615709025054],\n [6.156658155958779, 50.80372101501058],\n [5.606975945670001, 51.037298488969775],\n [4.973991326526914, 51.475023708698124],\n [4.047071160507527, 51.26725861266857],\n [3.314971144228537, 51.34575511331991],\n [3.830288527043137, 51.62054454203195],\n [4.705997348661185, 53.09179840759776],\n [6.074182570020923, 53.510403347378144],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Norway\",\n sov_a3: \"NOR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Norway\",\n adm0_a3: \"NOR\",\n geou_dif: 0,\n geounit: \"Norway\",\n gu_a3: \"NOR\",\n su_dif: 0,\n subunit: \"Norway\",\n su_a3: \"NOR\",\n brk_diff: 0,\n name: \"Norway\",\n name_long: \"Norway\",\n brk_a3: \"NOR\",\n brk_name: \"Norway\",\n brk_group: null,\n abbrev: \"Nor.\",\n postal: \"N\",\n formal_en: \"Kingdom of Norway\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Norway\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 3,\n mapcolor9: 8,\n mapcolor13: 12,\n pop_est: 4676305,\n gdp_md_est: 276400,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"NO\",\n iso_a3: \"NOR\",\n iso_n3: \"578\",\n un_a3: \"578\",\n wb_a2: \"NO\",\n wb_a3: \"NOR\",\n woe_id: -99,\n adm0_a3_is: \"NOR\",\n adm0_a3_us: \"NOR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"NOR.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [28.165547316202915, 71.18547435168051],\n [31.29341840996548, 70.45378774685992],\n [30.005435011522792, 70.1862588568849],\n [31.10107872897512, 69.55808014594486],\n [29.399580519332886, 69.15691600206307],\n [28.591929559043194, 69.0647769232867],\n [29.01557295097197, 69.76649119737797],\n [27.73229210786789, 70.16419302029628],\n [26.1796220232263, 69.82529897732616],\n [25.68921268077639, 69.09211375596902],\n [24.73567915212672, 68.64955678982145],\n [23.662049594830762, 68.89124746365053],\n [22.356237827247412, 68.84174144151494],\n [21.24493615081073, 69.37044302029312],\n [20.64559288908958, 69.10624726020085],\n [20.025268995857914, 69.06513865831272],\n [19.878559604581255, 68.40719432237262],\n [17.99386844246439, 68.56739126247734],\n [17.729181756265348, 68.01055186631623],\n [16.76887861498554, 68.01393667263139],\n [16.108712192456835, 67.3024555528369],\n [15.108411492583059, 66.19386688909543],\n [13.55568973150909, 64.78702769638147],\n [13.919905226302205, 64.44542064071611],\n [13.57191613124877, 64.04911408146967],\n [12.57993533697393, 64.06621898055835],\n [11.93056928879423, 63.128317572676984],\n [11.992064243221535, 61.800362453856565],\n [12.631146681375242, 61.29357168237009],\n [12.3003658382749, 60.11793284773006],\n [11.468271925511175, 59.432393296946],\n [11.027368605196926, 58.856149400459394],\n [10.356556837616097, 59.46980703392538],\n [8.382000359743643, 58.31328847923328],\n [7.048748406613299, 58.07888418235728],\n [5.665835402050419, 58.58815542259367],\n [5.308234490590735, 59.66323191999382],\n [4.992078077829007, 61.970998033284275],\n [5.912900424837885, 62.614472968182696],\n [8.553411085655766, 63.45400828719647],\n [10.527709181366788, 64.48603831649748],\n [12.358346795306375, 65.87972585719316],\n [14.761145867581604, 67.81064158799515],\n [16.43592736172897, 68.56320547146169],\n [19.184028354578516, 69.81744415961782],\n [21.378416375420613, 70.25516937934606],\n [23.023742303161583, 70.20207184516626],\n [24.546543409938522, 71.03049673123724],\n [26.370049676221807, 70.98626170519537],\n [28.165547316202915, 71.18547435168051],\n ],\n ],\n [\n [\n [24.72412, 77.85385],\n [22.49032, 77.44493],\n [20.72601, 77.67704],\n [21.41611, 77.93504],\n [20.8119, 78.25463],\n [22.88426, 78.45494],\n [23.28134, 78.07954],\n [24.72412, 77.85385],\n ],\n ],\n [\n [\n [18.25183, 79.70175],\n [21.54383, 78.95611],\n [19.02737, 78.5626],\n [18.47172, 77.82669],\n [17.59441, 77.63796],\n [17.1182, 76.80941],\n [15.91315, 76.77045],\n [13.76259, 77.38035],\n [14.66956, 77.73565],\n [13.1706, 78.02493],\n [11.22231, 78.8693],\n [10.44453, 79.65239],\n [13.17077, 80.01046],\n [13.71852, 79.66039],\n [15.14282, 79.67431],\n [15.52255, 80.01608],\n [16.99085, 80.05086],\n [18.25183, 79.70175],\n ],\n ],\n [\n [\n [25.447625359811894, 80.40734039989451],\n [27.4075057309135, 80.05640574820046],\n [25.92465050629818, 79.51783397085455],\n [23.02446577321362, 79.4000117052291],\n [20.075188429451885, 79.56682322866726],\n [19.897266473070914, 79.84236196564751],\n [18.462263624757924, 79.85988027619442],\n [17.368015170977458, 80.31889618602702],\n [20.455992059010697, 80.59815562613224],\n [21.9079447771154, 80.35767934846209],\n [22.919252557067438, 80.65714427359349],\n [25.447625359811894, 80.40734039989451],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Poland\",\n sov_a3: \"POL\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Poland\",\n adm0_a3: \"POL\",\n geou_dif: 0,\n geounit: \"Poland\",\n gu_a3: \"POL\",\n su_dif: 0,\n subunit: \"Poland\",\n su_a3: \"POL\",\n brk_diff: 0,\n name: \"Poland\",\n name_long: \"Poland\",\n brk_a3: \"POL\",\n brk_name: \"Poland\",\n brk_group: null,\n abbrev: \"Pol.\",\n postal: \"PL\",\n formal_en: \"Republic of Poland\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Poland\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 7,\n mapcolor9: 1,\n mapcolor13: 2,\n pop_est: 38482919,\n gdp_md_est: 667900,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PL\",\n iso_a3: \"POL\",\n iso_n3: \"616\",\n un_a3: \"616\",\n wb_a2: \"PL\",\n wb_a3: \"POL\",\n woe_id: -99,\n adm0_a3_is: \"POL\",\n adm0_a3_us: \"POL\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"POL.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [15.01699588385867, 51.10667409932158],\n [14.607098422919535, 51.745188096719964],\n [14.685026482815688, 52.0899474147552],\n [14.4375997250022, 52.62485016540838],\n [14.074521111719491, 52.98126251892543],\n [14.353315463934138, 53.24817129171297],\n [14.119686313542587, 53.75702912049103],\n [14.802900424873458, 54.05070628520575],\n [16.36347700365573, 54.513158677785725],\n [17.622831658608675, 54.85153595643291],\n [18.62085859546164, 54.68260569927078],\n [18.696254510175464, 54.43871877706929],\n [19.660640089606403, 54.42608388937393],\n [20.892244500418624, 54.31252492941253],\n [22.731098667092652, 54.327536932993326],\n [23.24398725758951, 54.22056671814914],\n [23.48412763844985, 53.91249766704114],\n [23.527535841575002, 53.470121568406555],\n [23.80493493011778, 53.089731350306074],\n [23.799198846133375, 52.69109935160657],\n [23.199493849386187, 52.486977444053664],\n [23.508002150168693, 52.02364655212473],\n [23.52707075368437, 51.57845408793023],\n [24.029985792748903, 50.70540660257518],\n [23.922757195743262, 50.42488108987875],\n [23.426508416444392, 50.30850576435745],\n [22.518450148211603, 49.47677358661974],\n [22.776418898212626, 49.02739533140962],\n [22.558137648211755, 49.085738023467144],\n [21.607808058364213, 49.47010732685409],\n [20.887955356538413, 49.32877228453583],\n [20.41583947111985, 49.43145335549977],\n [19.825022820726872, 49.21712535256923],\n [19.320712517990472, 49.571574001659194],\n [18.909574822676316, 49.435845852244576],\n [18.853144158613617, 49.49622976337764],\n [18.392913852622172, 49.98862864847075],\n [17.64944502123899, 50.049038397819956],\n [17.55456709155112, 50.36214590107641],\n [16.868769158605655, 50.47397370055603],\n [16.719475945714436, 50.21574656839354],\n [16.176253289462267, 50.42260732685791],\n [16.23862674323857, 50.69773265237984],\n [15.490972120839727, 50.78472992614321],\n [15.01699588385867, 51.10667409932158],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Portugal\",\n sov_a3: \"PRT\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Portugal\",\n adm0_a3: \"PRT\",\n geou_dif: 0,\n geounit: \"Portugal\",\n gu_a3: \"PRT\",\n su_dif: 1,\n subunit: \"Portugal\",\n su_a3: \"PR1\",\n brk_diff: 0,\n name: \"Portugal\",\n name_long: \"Portugal\",\n brk_a3: \"PR1\",\n brk_name: \"Portugal\",\n brk_group: null,\n abbrev: \"Port.\",\n postal: \"P\",\n formal_en: \"Portuguese Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Portugal\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 7,\n mapcolor9: 1,\n mapcolor13: 4,\n pop_est: 10707924,\n gdp_md_est: 208627,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: 0,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"PT\",\n iso_a3: \"PRT\",\n iso_n3: \"620\",\n un_a3: \"620\",\n wb_a2: \"PT\",\n wb_a3: \"PRT\",\n woe_id: -99,\n adm0_a3_is: \"PRT\",\n adm0_a3_us: \"PRT\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"PRT.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [-9.034817674180246, 41.88057058365967],\n [-8.67194576662672, 42.13468943945496],\n [-8.263856980817792, 42.28046865495034],\n [-8.013174607769912, 41.790886135417125],\n [-7.422512986673795, 41.79207469335983],\n [-7.251308966490824, 41.91834605566505],\n [-6.668605515967656, 41.883386949219584],\n [-6.389087693700915, 41.381815497394655],\n [-6.851126674822552, 41.11108266861753],\n [-6.864019944679385, 40.33087189387483],\n [-7.026413133156595, 40.184524237624245],\n [-7.066591559263529, 39.71189158788277],\n [-7.498632371439725, 39.62957103124181],\n [-7.098036668313128, 39.03007274022378],\n [-7.374092169616318, 38.37305858006492],\n [-7.029281175148796, 38.07576406508977],\n [-7.166507941099865, 37.803894354802225],\n [-7.537105475281024, 37.42890432387623],\n [-7.453725551778092, 37.09778758396607],\n [-7.855613165711985, 36.83826854099627],\n [-8.382816127953689, 36.97888011326246],\n [-8.898856980820327, 36.86880931248078],\n [-8.746101446965554, 37.65134552667661],\n [-8.839997524439879, 38.26624339451761],\n [-9.287463751655224, 38.3584858261586],\n [-9.526570603869715, 38.73742910415491],\n [-9.446988898140232, 39.39206614842837],\n [-9.048305223008427, 39.75509308527877],\n [-8.977353481471681, 40.15930613866581],\n [-8.768684047877102, 40.76063894303019],\n [-8.79085323733031, 41.18433401139126],\n [-8.99078935386757, 41.54345937760364],\n [-9.034817674180246, 41.88057058365967],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 2,\n sovereignt: \"Russia\",\n sov_a3: \"RUS\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Russia\",\n adm0_a3: \"RUS\",\n geou_dif: 0,\n geounit: \"Russia\",\n gu_a3: \"RUS\",\n su_dif: 0,\n subunit: \"Russia\",\n su_a3: \"RUS\",\n brk_diff: 0,\n name: \"Russia\",\n name_long: \"Russian Federation\",\n brk_a3: \"RUS\",\n brk_name: \"Russia\",\n brk_group: null,\n abbrev: \"Rus.\",\n postal: \"RUS\",\n formal_en: \"Russian Federation\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Russian Federation\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 5,\n mapcolor9: 7,\n mapcolor13: 7,\n pop_est: 140041247,\n gdp_md_est: 2266000,\n pop_year: -99,\n lastcensus: 2010,\n gdp_year: -99,\n economy: \"3. Emerging region: BRIC\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"RU\",\n iso_a3: \"RUS\",\n iso_n3: \"643\",\n un_a3: \"643\",\n wb_a2: \"RU\",\n wb_a3: \"RUS\",\n woe_id: -99,\n adm0_a3_is: \"RUS\",\n adm0_a3_us: \"RUS\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 18,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"RUS.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [143.64800744036287, 50.74760040954151],\n [144.65414757708564, 48.976390692737596],\n [143.17392785051723, 49.30655141865037],\n [142.5586682476501, 47.861575018904915],\n [143.53349246640406, 46.83672801369249],\n [143.5052771343726, 46.13790761980948],\n [142.74770063697392, 46.74076487892657],\n [142.0920300640545, 45.96675527605879],\n [141.90692508358504, 46.80592886004655],\n [142.0184428244709, 47.780132961612935],\n [141.90444461483506, 48.85918854429956],\n [142.13580000220568, 49.61516307229746],\n [142.1799833518153, 50.95234243428192],\n [141.59407596249002, 51.93543488220254],\n [141.68254601457366, 53.30196645772878],\n [142.60693403541075, 53.762145087287905],\n [142.2097489768154, 54.22547597921687],\n [142.654786411713, 54.36588084575388],\n [142.91461551327657, 53.704577541714734],\n [143.26084760963207, 52.74076040303905],\n [143.23526777564766, 51.75666026468875],\n [143.64800744036287, 50.74760040954151],\n ],\n ],\n [\n [\n [22.731098667092652, 54.327536932993326],\n [20.892244500418652, 54.312524929412575],\n [19.660640089606403, 54.426083889373984],\n [19.888481479581344, 54.8661603867715],\n [21.2684489275035, 55.19048167583528],\n [22.315723504330606, 55.0152985703659],\n [22.757763706155288, 54.85657440858142],\n [22.651051873472568, 54.58274099386671],\n [22.731098667092652, 54.327536932993326],\n ],\n ],\n [\n [\n [-175.01425, 66.58435],\n [-174.33983, 66.33556],\n [-174.57182, 67.06219],\n [-171.85731, 66.91308],\n [-169.89958, 65.97724],\n [-170.89107, 65.54139],\n [-172.53025, 65.43791],\n [-172.555, 64.46079],\n [-172.95533, 64.25269],\n [-173.89184, 64.2826],\n [-174.65392, 64.63125],\n [-175.98353, 64.92288],\n [-176.20716, 65.35667],\n [-177.22266, 65.52024],\n [-178.35993, 65.39052],\n [-178.90332, 65.74044],\n [-178.68611, 66.11211],\n [-179.88377, 65.87456],\n [-179.43268, 65.40411],\n [-180, 64.97970870219837],\n [-180, 68.96363636363635],\n [-177.55, 68.2],\n [-174.92825, 67.20589],\n [-175.01425, 66.58435],\n ],\n ],\n [\n [\n [180.00000000000014, 70.83219920854668],\n [178.9034250000001, 70.78114],\n [178.7253, 71.0988],\n [180.00000000000014, 71.51571433642826],\n [180.00000000000014, 70.83219920854668],\n ],\n ],\n [\n [\n [-178.69378, 70.89302],\n [-180, 70.83219920854668],\n [-180, 71.51571433642826],\n [-179.871875, 71.55762],\n [-179.02433, 71.55553],\n [-177.577945, 71.26948],\n [-177.663575, 71.13277],\n [-178.69378, 70.89302],\n ],\n ],\n [\n [\n [143.60385, 73.21244],\n [142.08763, 73.20544],\n [140.038155, 73.31692],\n [139.86312, 73.36983],\n [140.81171, 73.76506],\n [142.06207, 73.85758],\n [143.48283, 73.47525],\n [143.60385, 73.21244],\n ],\n ],\n [\n [\n [150.73167, 75.08406],\n [149.575925, 74.68892],\n [147.977465, 74.778355],\n [146.11919, 75.17298],\n [146.358485, 75.49682],\n [148.22223, 75.345845],\n [150.73167, 75.08406],\n ],\n ],\n [\n [\n [145.086285, 75.562625],\n [144.3, 74.82],\n [140.61381, 74.84768],\n [138.95544, 74.61148],\n [136.97439, 75.26167],\n [137.51176, 75.94917],\n [138.831075, 76.13676],\n [141.471615, 76.09289],\n [145.086285, 75.562625],\n ],\n ],\n [\n [\n [57.5356925799924, 70.72046397570216],\n [56.94497928246395, 70.63274323188668],\n [53.6773751157842, 70.76265778266847],\n [53.41201663596539, 71.2066616889202],\n [51.60189456564572, 71.47475901965049],\n [51.45575361512422, 72.01488108996514],\n [52.47827518088357, 72.22944163684096],\n [52.444168735570855, 72.77473135038485],\n [54.42761355979766, 73.62754751249759],\n [53.50828982932515, 73.74981395130015],\n [55.90245893740766, 74.62748647734533],\n [55.631932814359715, 75.08141225859717],\n [57.86864383324885, 75.60939036732321],\n [61.170044386647504, 76.25188345000814],\n [64.49836836127022, 76.43905548776928],\n [66.2109770038551, 76.80978221303124],\n [68.15705976753483, 76.93969676381292],\n [68.85221113472512, 76.54481130645462],\n [68.18057254422766, 76.23364166940911],\n [64.637326287703, 75.73775462513623],\n [61.58350752141476, 75.2608845079468],\n [58.47708214705338, 74.30905630156283],\n [56.98678551618801, 73.33304352486624],\n [55.419335971910954, 72.37126760526598],\n [55.622837762276305, 71.54059479439033],\n [57.5356925799924, 70.72046397570216],\n ],\n ],\n [\n [\n [106.97013000000013, 76.97419],\n [107.24000000000015, 76.48],\n [108.1538, 76.72335000000015],\n [111.07726000000017, 76.71],\n [113.33151, 76.22224],\n [114.13417, 75.84764],\n [113.88539, 75.32779000000014],\n [112.77918, 75.03186],\n [110.1512500000002, 74.47673],\n [109.4, 74.18],\n [110.64, 74.04],\n [112.11919, 73.78774000000011],\n [113.01954000000026, 73.97693000000015],\n [113.52958000000032, 73.33505000000011],\n [113.96881, 73.59488],\n [115.56782, 73.75285],\n [118.77633000000023, 73.58772],\n [119.02, 73.12],\n [123.20066000000011, 72.97122],\n [123.25777000000018, 73.73503000000011],\n [125.38000000000018, 73.56],\n [126.97644, 73.56549],\n [128.59126, 73.03871],\n [129.05157, 72.39872],\n [128.46000000000012, 71.98],\n [129.7159900000002, 71.19304],\n [131.28858000000028, 70.78699000000012],\n [132.25350000000017, 71.83630000000011],\n [133.85766000000032, 71.38642000000016],\n [135.56193, 71.65525000000014],\n [137.49755, 71.34763],\n [138.23409000000018, 71.62803],\n [139.86983000000012, 71.48783000000014],\n [139.14791, 72.4161900000001],\n [140.46817, 72.84941000000013],\n [149.5, 72.2],\n [150.3511800000002, 71.60643],\n [152.96890000000022, 70.84222],\n [157.00688, 71.03141],\n [158.99779, 70.86672],\n [159.83031000000025, 70.45324],\n [159.70866, 69.72198],\n [160.94053000000034, 69.4372800000001],\n [162.27907000000013, 69.64204],\n [164.05248000000014, 69.66823],\n [165.94037000000023, 69.47199],\n [167.83567, 69.58269],\n [169.5776300000002, 68.6938],\n [170.81688000000028, 69.01363],\n [170.0082000000002, 69.65276],\n [170.4534500000003, 70.09703],\n [173.64391000000026, 69.81743],\n [175.72403000000023, 69.87725000000023],\n [178.6, 69.4],\n [180.00000000000014, 68.96363636363657],\n [180.00000000000014, 64.97970870219848],\n [179.99281, 64.97433],\n [178.70720000000026, 64.53493],\n [177.41128000000018, 64.60821],\n [178.31300000000024, 64.07593],\n [178.9082500000002, 63.251970000000135],\n [179.37034, 62.982620000000104],\n [179.48636, 62.56894],\n [179.22825000000014, 62.30410000000015],\n [177.3643, 62.5219],\n [174.56929000000022, 61.76915],\n [173.68013, 61.65261],\n [172.15, 60.95],\n [170.6985000000001, 60.33618],\n [170.3308500000003, 59.88177],\n [168.90046, 60.57355],\n [166.29498000000032, 59.788550000000214],\n [165.84000000000023, 60.16],\n [164.87674, 59.7316],\n [163.53929000000014, 59.86871],\n [163.21711000000025, 59.21101],\n [162.0173300000001, 58.24328],\n [162.05297, 57.83912],\n [163.19191, 57.61503000000011],\n [163.05794000000017, 56.159240000000125],\n [162.12958000000023, 56.12219],\n [161.70146, 55.285680000000156],\n [162.11749000000017, 54.85514],\n [160.36877000000032, 54.34433],\n [160.02173000000022, 53.20257],\n [158.5309400000002, 52.958680000000236],\n [158.23118, 51.94269],\n [156.7897900000003, 51.01105],\n [156.42000000000016, 51.7],\n [155.99182, 53.15895],\n [155.43366000000012, 55.38103000000012],\n [155.91442000000032, 56.767920000000146],\n [156.75815, 57.3647],\n [156.8103500000001, 57.83204],\n [158.3643300000002, 58.05575],\n [160.15064000000012, 59.31477000000012],\n [161.87204, 60.34300000000013],\n [163.66969, 61.1409],\n [164.47355000000013, 62.55061],\n [163.2584200000002, 62.46627],\n [162.65791, 61.6425],\n [160.1214800000001, 60.54423],\n [159.30232, 61.77396],\n [156.7206800000001, 61.43442],\n [154.21806000000035, 59.75818000000013],\n [155.04375, 59.14495],\n [152.81185, 58.88385],\n [151.26573000000025, 58.78089],\n [151.33815000000013, 59.50396],\n [149.78371, 59.65573000000014],\n [148.54481, 59.16448],\n [145.48722, 59.33637],\n [142.19782000000018, 59.03998],\n [138.95848000000032, 57.08805],\n [135.12619, 54.72959],\n [136.70171, 54.603550000000126],\n [137.19342, 53.97732],\n [138.1647, 53.755010000000254],\n [138.80463, 54.25455000000011],\n [139.90151, 54.18968000000018],\n [141.34531, 53.08957000000012],\n [141.37923, 52.23877],\n [140.5974200000002, 51.2396700000001],\n [140.51308, 50.04553000000013],\n [140.06193000000022, 48.44671000000017],\n [138.5547200000002, 46.99965],\n [138.21971, 46.30795],\n [136.86232, 45.14350000000019],\n [135.5153500000002, 43.989],\n [134.86939000000027, 43.39821],\n [133.53687000000028, 42.81147],\n [132.90627000000015, 42.79849],\n [132.27807000000027, 43.28456000000011],\n [130.93587000000014, 42.55274],\n [130.78, 42.22000000000019],\n [130.64000000000019, 42.395],\n [130.6338664084098, 42.90301463477056],\n [131.144687941615, 42.92998973242695],\n [131.28855512911562, 44.111519680348266],\n [131.02519000000026, 44.96796],\n [131.8834542176596, 45.32116160743652],\n [133.09712000000022, 45.14409],\n [133.7696439963132, 46.116926988299156],\n [134.1123500000002, 47.21248000000014],\n [134.50081, 47.578450000000146],\n [135.0263114767868, 48.47822988544391],\n [133.37359581922803, 48.18344167743484],\n [132.50669000000013, 47.78896],\n [130.98726000000013, 47.79013],\n [130.58229332898267, 48.729687404976204],\n [129.3978178244205, 49.440600084015614],\n [127.65740000000038, 49.76027],\n [127.28745568248493, 50.73979726826545],\n [126.93915652883786, 51.3538941514059],\n [126.56439904185699, 51.7842554795327],\n [125.94634891164647, 52.79279857035695],\n [125.06821129771045, 53.161044826868924],\n [123.57147, 53.4588],\n [122.24574791879307, 53.43172597921369],\n [121.00308475147037, 53.25140106873124],\n [120.1770886577169, 52.75388621684121],\n [120.725789015792, 52.51622630473091],\n [120.7382, 51.96411],\n [120.18208000000018, 51.64355],\n [119.27939, 50.58292],\n [119.28846072802585, 50.14288279886196],\n [117.8792444194265, 49.51098338479704],\n [116.67880089728621, 49.888531399121405],\n [115.48569542853144, 49.80517731383475],\n [114.96210981655038, 50.14024730081513],\n [114.36245649623534, 50.248302720737485],\n [112.89773969935439, 49.54356537535699],\n [111.58123091028668, 49.37796824807767],\n [110.66201053267886, 49.13012807880585],\n [109.40244917199672, 49.29296051695769],\n [108.47516727095127, 49.28254771585071],\n [107.86817589725112, 49.79370514586588],\n [106.88880415245532, 50.27429596618029],\n [105.8865914245869, 50.406019192092174],\n [104.62158, 50.275320000000164],\n [103.67654544476036, 50.089966132195144],\n [102.25589000000011, 50.51056000000011],\n [102.06521, 51.25991],\n [100.88948042196265, 51.51685578063842],\n [99.98173221232356, 51.63400625264395],\n [98.8614905131005, 52.04736603454671],\n [97.82573978067452, 51.01099518493325],\n [98.23176150919173, 50.42240062112873],\n [97.25976000000023, 49.72605],\n [95.81402000000017, 49.977460000000114],\n [94.81594933469879, 50.01343333597088],\n [94.14756635943561, 50.48053660745716],\n [93.10421, 50.49529],\n [92.23471154171969, 50.80217072204175],\n [90.71366743364078, 50.331811835321105],\n [88.80556684769559, 49.47052073831247],\n [87.75126427607685, 49.29719798440556],\n [87.35997033076269, 49.21498078062916],\n [86.82935672398966, 49.82667470966813],\n [85.5412699726825, 49.69285858824816],\n [85.11555952346211, 50.11730296487763],\n [84.41637739455304, 50.311399644565824],\n [83.93511478061893, 50.88924551045358],\n [83.38300377801247, 51.069182847693895],\n [81.94598554883994, 50.81219594990633],\n [80.56844689323546, 51.38833649352844],\n [80.03555952344172, 50.864750881547224],\n [77.80091556184433, 53.40441498474754],\n [76.52517947785478, 54.177003485727134],\n [76.89110029491346, 54.49052440044193],\n [74.38482000000013, 53.54685000000011],\n [73.42567874542053, 53.489810289109755],\n [73.50851606638437, 54.035616766976595],\n [72.22415001820221, 54.37665538188679],\n [71.1801310566095, 54.133285224008254],\n [70.86526655465516, 55.169733588270105],\n [69.06816694527289, 55.3852501491435],\n [68.1691003762589, 54.97039175070438],\n [65.6668700000001, 54.601250000000164],\n [65.17853356309595, 54.35422781027208],\n [61.43660000000013, 54.00625],\n [60.97806644068325, 53.66499339457914],\n [61.699986199800634, 52.97999644633427],\n [60.739993117114544, 52.71998647725775],\n [60.92726850774025, 52.447548326215006],\n [59.96753380721557, 51.960420437215674],\n [61.58800337102414, 51.272658799843185],\n [61.33742435084101, 50.79907013610426],\n [59.93280724471557, 50.842194118851836],\n [59.64228234237057, 50.545442206415714],\n [58.36332000000013, 51.06364],\n [56.77798, 51.04355],\n [55.71694000000011, 50.62171000000015],\n [54.532878452376195, 51.02623973245937],\n [52.32872358583106, 51.718652248738096],\n [50.76664839051219, 51.69276235615987],\n [48.702381626181044, 50.60512848571284],\n [48.577841424357615, 49.874759629915644],\n [47.549480421749394, 50.454698391311126],\n [46.75159630716277, 49.35600576435374],\n [47.0436715024766, 49.152038886097586],\n [46.46644575377629, 48.39415233010493],\n [47.31524000000016, 47.71585],\n [48.05725, 47.74377],\n [48.694733514201886, 47.0756281601779],\n [48.593250000000154, 46.561040000000105],\n [49.101160000000135, 46.39933],\n [48.64541000000011, 45.80629],\n [47.67591, 45.64149000000012],\n [46.68201, 44.6092000000001],\n [47.59094, 43.66016000000013],\n [47.49252, 42.98658],\n [48.58437000000018, 41.80888],\n [47.98728315612604, 41.4058192001944],\n [47.81566572448466, 41.151416124021345],\n [47.373315464066394, 41.21973236751114],\n [46.686070591016716, 41.827137152669906],\n [46.40495079934894, 41.860675157227426],\n [45.7764, 42.09244000000024],\n [45.470279168485916, 42.50278066667005],\n [44.53762291848207, 42.711992702803684],\n [43.93121000000011, 42.5549600000001],\n [43.755990000000196, 42.74083],\n [42.39440000000016, 43.2203],\n [40.92219000000014, 43.38215000000014],\n [40.07696495947985, 43.553104153002494],\n [39.955008579271095, 43.434997666999294],\n [38.68, 44.28],\n [37.53912000000011, 44.65721],\n [36.67546000000013, 45.24469],\n [37.40317, 45.4045100000001],\n [38.23295, 46.24087],\n [37.67372, 46.63657],\n [39.14767, 47.04475000000013],\n [39.12120000000013, 47.26336],\n [38.22353803889948, 47.10218984637598],\n [38.25511233902981, 47.54640045835697],\n [38.77057, 47.82562000000024],\n [39.738277622238996, 47.89893707945208],\n [39.89562000000015, 48.23241],\n [39.67465, 48.783820000000134],\n [40.08078901546949, 49.30742991799937],\n [40.069040000000115, 49.60105],\n [38.59498823421356, 49.92646190042373],\n [38.010631137857075, 49.91566152607473],\n [37.39345950699524, 50.38395335550368],\n [36.626167840325394, 50.225590928745135],\n [35.35611616388812, 50.57719737405915],\n [35.37791, 50.77394],\n [35.02218305841794, 51.2075723333715],\n [34.2248157081544, 51.255993150428935],\n [34.14197838719061, 51.566413479206204],\n [34.39173058445723, 51.768881740925906],\n [33.75269982273588, 52.33507457133166],\n [32.71576053236716, 52.23846548116216],\n [32.41205813978777, 52.28869497334977],\n [32.15944000000022, 52.061250000000115],\n [31.78597, 52.10168],\n [31.54001834486226, 52.74205231384644],\n [31.30520063652798, 53.0739958766733],\n [31.49764, 53.16743000000014],\n [32.304519484188376, 53.132726141972846],\n [32.693643019346126, 53.35142080343214],\n [32.405598585751164, 53.618045355842014],\n [31.731272820774592, 53.79402944601202],\n [31.791424187962406, 53.974638576872195],\n [31.384472283663822, 54.15705638286238],\n [30.75753380709878, 54.811770941784395],\n [30.971835971813245, 55.081547756564134],\n [30.87390913262007, 55.55097646750351],\n [29.89629438652244, 55.7894632025305],\n [29.37157189303079, 55.67009064393628],\n [29.22951338066039, 55.91834422466641],\n [28.17670942557794, 56.16912995057879],\n [27.855282016722526, 56.75932648378438],\n [27.770015903440992, 57.244258124411196],\n [27.288184848751655, 57.47452830670392],\n [27.71668582531578, 57.79189911562445],\n [27.420150000000202, 58.72457000000014],\n [28.131699253051863, 59.300825100331],\n [27.98112, 59.47537],\n [29.1177, 60.02805000000012],\n [28.07, 60.50352000000015],\n [30.211107212044652, 61.78002777774969],\n [31.139991082491036, 62.357692776124445],\n [31.51609215671127, 62.867687486412905],\n [30.035872430142803, 63.552813625738565],\n [30.444684686003736, 64.20445343693908],\n [29.544429559047018, 64.94867157659056],\n [30.21765, 65.80598],\n [29.054588657352383, 66.94428620062203],\n [29.977426385220696, 67.69829702419275],\n [28.44594363781877, 68.36461294216399],\n [28.591929559043365, 69.0647769232867],\n [29.39955, 69.15692000000018],\n [31.10108000000011, 69.55811],\n [32.13272000000026, 69.90595000000025],\n [33.77547, 69.30142000000012],\n [36.51396, 69.06342],\n [40.292340000000166, 67.9324],\n [41.059870000000124, 67.4571300000001],\n [41.12595000000019, 66.79158000000012],\n [40.01583, 66.26618000000013],\n [38.38295, 65.9995300000001],\n [33.918710000000175, 66.75961],\n [33.18444, 66.63253],\n [34.81477, 65.90015000000014],\n [34.87857425307877, 65.4362128770482],\n [34.94391000000015, 64.41437000000016],\n [36.23129, 64.10945],\n [37.01273000000012, 63.84983000000011],\n [37.14197000000016, 64.33471],\n [36.539579035089815, 64.76446],\n [37.17604000000014, 65.14322000000013],\n [39.59345, 64.52079000000018],\n [40.43560000000011, 64.76446],\n [39.76260000000016, 65.49682],\n [42.0930900000001, 66.47623],\n [43.01604000000012, 66.41858],\n [43.94975000000014, 66.06908],\n [44.53226, 66.75634000000014],\n [43.69839, 67.35245],\n [44.18795000000014, 67.95051],\n [43.45282, 68.57079],\n [46.25000000000014, 68.25],\n [46.82134000000016, 67.68997],\n [45.55517, 67.56652],\n [45.5620200000001, 67.01005000000019],\n [46.34915000000015, 66.6676700000001],\n [47.894160000000255, 66.88455000000016],\n [48.13876, 67.52238],\n [50.22766000000016, 67.99867000000013],\n [53.71743000000018, 68.85738000000012],\n [54.47171, 68.80815],\n [53.48582000000013, 68.20131],\n [54.72628, 68.09702],\n [55.44268000000014, 68.43866],\n [57.317020000000156, 68.46628],\n [58.80200000000021, 68.88082],\n [59.94142000000019, 68.2784400000001],\n [61.07784000000018, 68.94069],\n [60.03, 69.52],\n [60.55, 69.85],\n [63.50400000000016, 69.54739],\n [64.888115, 69.23483500000013],\n [68.51216000000014, 68.09233000000017],\n [69.18068, 68.61563000000012],\n [68.16444, 69.14436],\n [68.13522, 69.35649],\n [66.93008000000012, 69.45461000000012],\n [67.25976, 69.92873],\n [66.72492000000014, 70.70889000000014],\n [66.69466, 71.02897000000024],\n [68.54006000000011, 71.93450000000024],\n [69.19636000000011, 72.84336000000016],\n [69.94, 73.04000000000013],\n [72.58754, 72.7762900000001],\n [72.79603, 72.22006],\n [71.8481100000001, 71.40898],\n [72.47011, 71.09019],\n [72.79188, 70.39114],\n [72.56470000000022, 69.02085],\n [73.66787, 68.4079],\n [73.2387, 67.7404],\n [71.28000000000011, 66.32000000000016],\n [72.42301000000018, 66.17267000000018],\n [72.82077, 66.53267],\n [73.92099000000016, 66.78946000000013],\n [74.1865100000002, 67.28429],\n [75.052, 67.76047000000017],\n [74.46926000000016, 68.32899],\n [74.93584000000013, 68.98918],\n [73.84236, 69.07146],\n [73.60187000000022, 69.62763],\n [74.3998, 70.63175],\n [73.1011, 71.44717000000026],\n [74.89082000000022, 72.12119],\n [74.65926, 72.83227],\n [75.15801000000019, 72.85497000000011],\n [75.68351, 72.30056000000013],\n [75.28898000000012, 71.33556],\n [76.35911, 71.15287000000015],\n [75.90313000000017, 71.87401],\n [77.57665000000011, 72.26717],\n [79.65202000000014, 72.32011],\n [81.5, 71.75],\n [80.61071000000013, 72.58285000000012],\n [80.51109, 73.6482],\n [82.25, 73.85000000000011],\n [84.65526, 73.80591000000018],\n [86.82230000000024, 73.93688],\n [86.00956, 74.45967000000014],\n [87.16682000000017, 75.11643],\n [88.31571000000011, 75.14393],\n [90.26, 75.64],\n [92.90058, 75.77333],\n [93.23421000000016, 76.0472],\n [95.86000000000016, 76.14],\n [96.67821, 75.91548],\n [98.92254000000023, 76.44689],\n [100.75967000000023, 76.43028],\n [101.03532, 76.86189],\n [101.99084000000013, 77.2875400000002],\n [104.3516000000001, 77.69792],\n [106.06664000000013, 77.37389],\n [104.70500000000024, 77.1274],\n [106.97013000000013, 76.97419],\n ],\n ],\n [\n [\n [105.07547, 78.30689],\n [99.43814, 77.921],\n [101.2649, 79.23399],\n [102.08635, 79.34641],\n [102.837815, 79.28129],\n [105.37243, 78.71334],\n [105.07547, 78.30689],\n ],\n ],\n [\n [\n [51.13618655783128, 80.54728017854093],\n [49.79368452332071, 80.4154277615482],\n [48.89441124857754, 80.3395667589437],\n [48.754936557821765, 80.17546824820084],\n [47.586119012244154, 80.01018117951533],\n [46.502825962109654, 80.24724681265437],\n [47.07245527526291, 80.55942414012945],\n [44.846958042181114, 80.58980988231718],\n [46.79913862487123, 80.77191762971364],\n [48.318477410684665, 80.78400991486996],\n [48.522806023966695, 80.51456899690015],\n [49.09718956889091, 80.75398590770843],\n [50.03976769389462, 80.91888540315182],\n [51.52293297710369, 80.6997256538019],\n [51.13618655783128, 80.54728017854093],\n ],\n ],\n [\n [\n [99.93976, 78.88094],\n [97.75794, 78.7562],\n [94.97259, 79.044745],\n [93.31288, 79.4265],\n [92.5454, 80.14379],\n [91.18107, 80.34146],\n [93.77766, 81.0246],\n [95.940895, 81.2504],\n [97.88385, 80.746975],\n [100.186655, 79.780135],\n [99.93976, 78.88094],\n ],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Romania\",\n sov_a3: \"ROU\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Romania\",\n adm0_a3: \"ROU\",\n geou_dif: 0,\n geounit: \"Romania\",\n gu_a3: \"ROU\",\n su_dif: 0,\n subunit: \"Romania\",\n su_a3: \"ROU\",\n brk_diff: 0,\n name: \"Romania\",\n name_long: \"Romania\",\n brk_a3: \"ROU\",\n brk_name: \"Romania\",\n brk_group: null,\n abbrev: \"Rom.\",\n postal: \"RO\",\n formal_en: \"Romania\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Romania\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 3,\n mapcolor13: 13,\n pop_est: 22215421,\n gdp_md_est: 271400,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"RO\",\n iso_a3: \"ROU\",\n iso_n3: \"642\",\n un_a3: \"642\",\n wb_a2: \"RO\",\n wb_a3: \"ROM\",\n woe_id: -99,\n adm0_a3_is: \"ROU\",\n adm0_a3_us: \"ROU\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"ROU.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [22.710531447040495, 47.88219391538941],\n [23.142236362406802, 48.09634105080695],\n [23.76095828623741, 47.985598456405455],\n [24.40205610525038, 47.98187775328042],\n [24.866317172960578, 47.73752574318831],\n [25.20774336111299, 47.89105642352747],\n [25.9459411964024, 47.987148749374214],\n [26.19745039236693, 48.22088125263035],\n [26.619336785597795, 48.22072622333347],\n [26.924176059687568, 48.123264472030996],\n [27.233872918412743, 47.82677094175638],\n [27.551166212684848, 47.40511709247083],\n [28.128030226359044, 46.810476386088254],\n [28.160017937947714, 46.37156260841722],\n [28.0544429867754, 45.944586086605625],\n [28.233553501099042, 45.48828318946837],\n [28.679779493939378, 45.304030870131704],\n [29.149724969201653, 45.46492544207245],\n [29.603289015427432, 45.293308010431126],\n [29.626543409958767, 45.03539093686239],\n [29.141611769331835, 44.82021027279904],\n [28.837857700320203, 44.913873806328056],\n [28.558081495891997, 43.70746165625813],\n [27.970107049275075, 43.81246816667521],\n [27.242399529740908, 44.175986029632405],\n [26.065158725699746, 43.94349376075126],\n [25.569271681426926, 43.68844472917472],\n [24.100679152124172, 43.74105133724785],\n [23.33230228037632, 43.89701080990471],\n [22.944832391051847, 43.82378530534713],\n [22.65714969248299, 44.23492300066128],\n [22.4740084164406, 44.40922760678177],\n [22.705725538837356, 44.57800283464702],\n [22.459022251075936, 44.7025171982543],\n [22.14508792490281, 44.47842234962059],\n [21.562022739353605, 44.7689472519655],\n [21.483526238702233, 45.18117015235778],\n [20.874312778413355, 45.416375433934235],\n [20.762174920339987, 45.734573065771436],\n [20.220192498462836, 46.127468980486555],\n [21.02195234547125, 46.3160879583519],\n [21.62651492685387, 46.99423777931816],\n [22.099767693782834, 47.6724392767167],\n [22.710531447040495, 47.88219391538941],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 5,\n sovereignt: \"Republic of Serbia\",\n sov_a3: \"SRB\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Republic of Serbia\",\n adm0_a3: \"SRB\",\n geou_dif: 0,\n geounit: \"Republic of Serbia\",\n gu_a3: \"SRB\",\n su_dif: 0,\n subunit: \"Republic of Serbia\",\n su_a3: \"SRB\",\n brk_diff: 0,\n name: \"Serbia\",\n name_long: \"Serbia\",\n brk_a3: \"SRB\",\n brk_name: \"Serbia\",\n brk_group: null,\n abbrev: \"Serb.\",\n postal: \"RS\",\n formal_en: \"Republic of Serbia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Serbia\",\n name_alt: null,\n mapcolor7: 3,\n mapcolor8: 3,\n mapcolor9: 2,\n mapcolor13: 10,\n pop_est: 7379339,\n gdp_md_est: 80340,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"3. Upper middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"RS\",\n iso_a3: \"SRB\",\n iso_n3: \"688\",\n un_a3: \"688\",\n wb_a2: \"YF\",\n wb_a3: \"SRB\",\n woe_id: -99,\n adm0_a3_is: \"SRB\",\n adm0_a3_us: \"SRB\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 5,\n tiny: -99,\n homepart: 1,\n filename: \"SRB.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [20.87431277841341, 45.41637543393432],\n [21.48352623870221, 45.18117015235788],\n [21.562022739353722, 44.76894725196564],\n [22.145087924902896, 44.47842234962059],\n [22.459022251075965, 44.70251719825444],\n [22.70572553883744, 44.57800283464701],\n [22.474008416440654, 44.40922760678177],\n [22.657149692483074, 44.234923000661354],\n [22.410446404721597, 44.008063462900054],\n [22.500156691180223, 43.642814439461006],\n [22.986018507588483, 43.2111612005271],\n [22.60480146657136, 42.898518785161116],\n [22.43659467946139, 42.58032115332394],\n [22.54501183440965, 42.46136200618804],\n [22.38052575042468, 42.32025950781508],\n [21.917080000000112, 42.30364],\n [21.57663598940212, 42.24522439706186],\n [21.54332, 42.3202500000001],\n [21.66292, 42.43922],\n [21.77505, 42.6827],\n [21.63302, 42.67717],\n [21.43866, 42.86255],\n [21.27421, 42.90959],\n [21.143395, 43.06868500000012],\n [20.95651, 43.13094],\n [20.81448, 43.27205],\n [20.63508, 43.21671],\n [20.49679, 42.88469],\n [20.25758, 42.81275000000011],\n [20.3398, 42.89852],\n [19.95857, 43.10604],\n [19.63, 43.21377997027054],\n [19.48389, 43.35229],\n [19.21852, 43.52384],\n [19.454, 43.56810000000013],\n [19.59976, 44.03847],\n [19.11761, 44.42307000000011],\n [19.36803, 44.863],\n [19.00548, 44.86023],\n [19.39047570158459, 45.236515611342384],\n [19.072768995854176, 45.52151113543209],\n [18.82982, 45.90888],\n [19.59604454924164, 46.171729844744554],\n [20.220192498462893, 46.12746898048658],\n [20.762174920339987, 45.734573065771485],\n [20.87431277841341, 45.41637543393432],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Slovakia\",\n sov_a3: \"SVK\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Slovakia\",\n adm0_a3: \"SVK\",\n geou_dif: 0,\n geounit: \"Slovakia\",\n gu_a3: \"SVK\",\n su_dif: 0,\n subunit: \"Slovakia\",\n su_a3: \"SVK\",\n brk_diff: 0,\n name: \"Slovakia\",\n name_long: \"Slovakia\",\n brk_a3: \"SVK\",\n brk_name: \"Slovakia\",\n brk_group: null,\n abbrev: \"Svk.\",\n postal: \"SK\",\n formal_en: \"Slovak Republic\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Slovak Republic\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 4,\n mapcolor9: 4,\n mapcolor13: 9,\n pop_est: 5463046,\n gdp_md_est: 119500,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SK\",\n iso_a3: \"SVK\",\n iso_n3: \"703\",\n un_a3: \"703\",\n wb_a2: \"SK\",\n wb_a3: \"SVK\",\n woe_id: -99,\n adm0_a3_is: \"SVK\",\n adm0_a3_us: \"SVK\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"SVK.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [18.853144158613617, 49.49622976337764],\n [18.909574822676316, 49.435845852244576],\n [19.320712517990472, 49.571574001659194],\n [19.825022820726872, 49.21712535256923],\n [20.41583947111985, 49.43145335549977],\n [20.887955356538413, 49.32877228453583],\n [21.607808058364213, 49.47010732685409],\n [22.558137648211755, 49.085738023467144],\n [22.28084191253356, 48.82539215758067],\n [22.08560835133485, 48.42226430927179],\n [21.872236362401736, 48.31997081155002],\n [20.801293979584926, 48.623854071642384],\n [20.473562045989866, 48.56285004332181],\n [20.239054396249347, 48.32756724709692],\n [19.769470656013112, 48.202691148463614],\n [19.661363559658497, 48.26661489520866],\n [19.17436486173989, 48.11137889260387],\n [18.77702477384767, 48.081768296900634],\n [18.696512892336926, 47.880953681014404],\n [17.857132602620027, 47.758428860050365],\n [17.48847293464982, 47.86746613218621],\n [16.979666782304037, 48.123497015976305],\n [16.879982944413, 48.47001333270947],\n [16.960288120194576, 48.5969823268506],\n [17.101984897538898, 48.81696889911711],\n [17.545006951577108, 48.80001902932537],\n [17.88648481616181, 48.90347524677371],\n [17.913511590250465, 48.996492824899086],\n [18.104972771891852, 49.04398346617531],\n [18.170498488037964, 49.271514797556435],\n [18.399993523846177, 49.31500051533004],\n [18.554971144289482, 49.49501536721878],\n [18.853144158613617, 49.49622976337764],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 6,\n sovereignt: \"Slovenia\",\n sov_a3: \"SVN\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Slovenia\",\n adm0_a3: \"SVN\",\n geou_dif: 0,\n geounit: \"Slovenia\",\n gu_a3: \"SVN\",\n su_dif: 0,\n subunit: \"Slovenia\",\n su_a3: \"SVN\",\n brk_diff: 0,\n name: \"Slovenia\",\n name_long: \"Slovenia\",\n brk_a3: \"SVN\",\n brk_name: \"Slovenia\",\n brk_group: null,\n abbrev: \"Slo.\",\n postal: \"SLO\",\n formal_en: \"Republic of Slovenia\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Slovenia\",\n name_alt: null,\n mapcolor7: 2,\n mapcolor8: 3,\n mapcolor9: 2,\n mapcolor13: 12,\n pop_est: 2005692,\n gdp_md_est: 59340,\n pop_year: -99,\n lastcensus: 2011,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SI\",\n iso_a3: \"SVN\",\n iso_n3: \"705\",\n un_a3: \"705\",\n wb_a2: \"SI\",\n wb_a3: \"SVN\",\n woe_id: -99,\n adm0_a3_is: \"SVN\",\n adm0_a3_us: \"SVN\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Southern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 8,\n long_len: 8,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"SVN.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [13.806475457421527, 46.509306138691215],\n [14.63247155117483, 46.43181732846955],\n [15.137091912504985, 46.65870270444703],\n [16.011663852612656, 46.6836107448117],\n [16.202298211337364, 46.85238597267696],\n [16.370504998447416, 46.8413272161665],\n [16.564808383864857, 46.50375092221983],\n [15.768732944408551, 46.23810822202345],\n [15.671529575267556, 45.83415355079788],\n [15.323953891672403, 45.73178253842768],\n [15.327674594797427, 45.45231639259323],\n [14.935243767972935, 45.471695054702685],\n [14.595109490627804, 45.634940904312714],\n [14.411968214585414, 45.46616567644746],\n [13.715059848697221, 45.50032379819237],\n [13.937630242578306, 45.59101593686462],\n [13.698109978905478, 46.01677806251735],\n [13.806475457421527, 46.509306138691215],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Sweden\",\n sov_a3: \"SWE\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Sweden\",\n adm0_a3: \"SWE\",\n geou_dif: 0,\n geounit: \"Sweden\",\n gu_a3: \"SWE\",\n su_dif: 0,\n subunit: \"Sweden\",\n su_a3: \"SWE\",\n brk_diff: 0,\n name: \"Sweden\",\n name_long: \"Sweden\",\n brk_a3: \"SWE\",\n brk_name: \"Sweden\",\n brk_group: null,\n abbrev: \"Swe.\",\n postal: \"S\",\n formal_en: \"Kingdom of Sweden\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Sweden\",\n name_alt: null,\n mapcolor7: 1,\n mapcolor8: 4,\n mapcolor9: 2,\n mapcolor13: 4,\n pop_est: 9059651,\n gdp_md_est: 344300,\n pop_year: -99,\n lastcensus: -99,\n gdp_year: -99,\n economy: \"2. Developed region: nonG7\",\n income_grp: \"1. High income: OECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"SE\",\n iso_a3: \"SWE\",\n iso_n3: \"752\",\n un_a3: \"752\",\n wb_a2: \"SE\",\n wb_a3: \"SWE\",\n woe_id: -99,\n adm0_a3_is: \"SWE\",\n adm0_a3_us: \"SWE\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Northern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 6,\n long_len: 6,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"SWE.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [22.183173455501926, 65.72374054632017],\n [21.21351687997722, 65.02600535751527],\n [21.369631381930958, 64.41358795842429],\n [19.77887576669022, 63.60955434839504],\n [17.84777916837521, 62.74940013289681],\n [17.119554884518124, 61.34116567651097],\n [17.83134606290639, 60.63658336042741],\n [18.78772179533209, 60.081914374422595],\n [17.86922488777634, 58.9537661810587],\n [16.829185011470088, 58.71982697207339],\n [16.447709588291474, 57.041118069071885],\n [15.879785597403783, 56.10430186626866],\n [14.666681349352075, 56.200885118222175],\n [14.100721062891465, 55.40778107362265],\n [12.942910597392057, 55.36173737245058],\n [12.625100538797028, 56.30708018658197],\n [11.787942335668674, 57.44181712506307],\n [11.027368605196866, 58.85614940045936],\n [11.468271925511146, 59.43239329694604],\n [12.3003658382749, 60.11793284773003],\n [12.631146681375183, 61.293571682370136],\n [11.992064243221563, 61.80036245385656],\n [11.93056928879423, 63.12831757267698],\n [12.579935336973932, 64.06621898055833],\n [13.571916131248711, 64.04911408146971],\n [13.919905226302204, 64.44542064071608],\n [13.55568973150909, 64.78702769638151],\n [15.108411492583002, 66.19386688909547],\n [16.108712192456778, 67.30245555283689],\n [16.768878614985482, 68.01393667263139],\n [17.729181756265348, 68.01055186631628],\n [17.993868442464333, 68.56739126247736],\n [19.878559604581255, 68.40719432237258],\n [20.025268995857886, 69.0651386583127],\n [20.645592889089528, 69.10624726020087],\n [21.978534783626117, 68.6168456081807],\n [23.53947309743444, 67.93600861273525],\n [23.565879754335583, 66.39605093043743],\n [23.903378533633802, 66.00692739527962],\n [22.183173455501926, 65.72374054632017],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 3,\n sovereignt: \"Ukraine\",\n sov_a3: \"UKR\",\n adm0_dif: 0,\n level: 2,\n type: \"Sovereign country\",\n admin: \"Ukraine\",\n adm0_a3: \"UKR\",\n geou_dif: 0,\n geounit: \"Ukraine\",\n gu_a3: \"UKR\",\n su_dif: 0,\n subunit: \"Ukraine\",\n su_a3: \"UKR\",\n brk_diff: 0,\n name: \"Ukraine\",\n name_long: \"Ukraine\",\n brk_a3: \"UKR\",\n brk_name: \"Ukraine\",\n brk_group: null,\n abbrev: \"Ukr.\",\n postal: \"UA\",\n formal_en: \"Ukraine\",\n formal_fr: null,\n note_adm0: null,\n note_brk: null,\n name_sort: \"Ukraine\",\n name_alt: null,\n mapcolor7: 5,\n mapcolor8: 1,\n mapcolor9: 6,\n mapcolor13: 3,\n pop_est: 45700395,\n gdp_md_est: 339800,\n pop_year: -99,\n lastcensus: 2001,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"4. Lower middle income\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"UA\",\n iso_a3: \"UKR\",\n iso_n3: \"804\",\n un_a3: \"804\",\n wb_a2: \"UA\",\n wb_a3: \"UKR\",\n woe_id: -99,\n adm0_a3_is: \"UKR\",\n adm0_a3_us: \"UKR\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Europe\",\n region_un: \"Europe\",\n subregion: \"Eastern Europe\",\n region_wb: \"Europe & Central Asia\",\n name_len: 7,\n long_len: 7,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"UKR.geojson\",\n },\n geometry: {\n type: \"Polygon\",\n coordinates: [\n [\n [31.785998162571587, 52.101677964885454],\n [32.15941206231267, 52.06126699483322],\n [32.41205813978763, 52.28869497334975],\n [32.71576053236697, 52.23846548116205],\n [33.7526998227357, 52.335074571331695],\n [34.39173058445701, 51.76888174092579],\n [34.14197838719039, 51.56641347920623],\n [34.22481570815427, 51.25599315042895],\n [35.02218305841788, 51.20757233337145],\n [35.37792361831512, 50.77395539001034],\n [35.35611616388795, 50.577197374059054],\n [36.62616784032534, 50.225590928745135],\n [37.39345950699507, 50.38395335550359],\n [38.010631137856905, 49.91566152607463],\n [38.59498823421342, 49.92646190042363],\n [40.06905846533911, 49.6010554062817],\n [40.08078901546935, 49.307429917999286],\n [39.67466393408753, 48.78381846780187],\n [39.89563235856758, 48.23240509703143],\n [39.738277622238826, 47.89893707945198],\n [38.7705847511412, 47.825608222029814],\n [38.25511233902975, 47.546400458356814],\n [38.22353803889942, 47.10218984637588],\n [37.42513715998999, 47.022220567404204],\n [36.75985477066439, 46.698700263040934],\n [35.82368452326483, 46.64596446388707],\n [34.96234174982388, 46.27319651954964],\n [35.020787794745985, 45.65121898048466],\n [35.51000857925317, 45.40999339454619],\n [36.52999799983016, 45.46998973243706],\n [36.33471276219916, 45.113215643893966],\n [35.23999922052812, 44.939996242851606],\n [33.882511020652885, 44.36147858334407],\n [33.326420932760044, 44.56487702084489],\n [33.54692426934946, 45.03477081967489],\n [32.4541744321055, 45.32746613217608],\n [32.630804477679135, 45.519185695978905],\n [33.58816206231839, 45.85156850848024],\n [33.29856733575471, 46.080598456397844],\n [31.74414025241518, 46.333347886737386],\n [31.675307244602408, 46.70624502215554],\n [30.748748813609097, 46.583100084004],\n [30.377608676888883, 46.03241018328567],\n [29.603289015427432, 45.293308010431126],\n [29.149724969201653, 45.46492544207245],\n [28.679779493939378, 45.304030870131704],\n [28.233553501099042, 45.48828318946837],\n [28.485269402792767, 45.5969070501459],\n [28.659987420371575, 45.93998688413164],\n [28.93371748222162, 46.2588304713725],\n [28.862972446414062, 46.43788930926383],\n [29.072106967899295, 46.517677720722496],\n [29.170653924279886, 46.3792623968287],\n [29.75997195813639, 46.34998769793536],\n [30.02465864433537, 46.42393667254503],\n [29.838210076626297, 46.52532583270169],\n [29.908851759569302, 46.67436066343146],\n [29.559674106573112, 46.928582872091326],\n [29.41513512545274, 47.34664520933257],\n [29.05086795422733, 47.51022695575249],\n [29.12269819511303, 47.84909516050646],\n [28.670891147585163, 48.1181485052341],\n [28.259546746541844, 48.15556224221342],\n [27.522537469195154, 48.467119452501116],\n [26.857823520624805, 48.368210761094495],\n [26.619336785597795, 48.22072622333347],\n [26.19745039236693, 48.22088125263035],\n [25.9459411964024, 47.987148749374214],\n [25.20774336111299, 47.89105642352747],\n [24.866317172960578, 47.73752574318831],\n [24.40205610525038, 47.98187775328042],\n [23.76095828623741, 47.985598456405455],\n [23.142236362406802, 48.09634105080695],\n [22.710531447040495, 47.88219391538941],\n [22.640819939878753, 48.15023956968735],\n [22.08560835133485, 48.42226430927179],\n [22.28084191253356, 48.82539215758067],\n [22.558137648211755, 49.085738023467144],\n [22.776418898212626, 49.02739533140962],\n [22.518450148211603, 49.47677358661974],\n [23.426508416444392, 50.30850576435745],\n [23.922757195743262, 50.42488108987875],\n [24.029985792748903, 50.70540660257518],\n [23.52707075368437, 51.57845408793023],\n [24.00507775238421, 51.61744395609446],\n [24.553106316839518, 51.888461005249184],\n [25.327787713327005, 51.91065603291855],\n [26.337958611768556, 51.83228872334793],\n [27.454066196408434, 51.59230337178447],\n [28.24161502453657, 51.57222707783907],\n [28.61761274589225, 51.42771393493484],\n [28.99283532076353, 51.602044379271476],\n [29.254938185347925, 51.368234361366895],\n [30.157363722460897, 51.41613841410147],\n [30.555117221811457, 51.31950348571566],\n [30.619454380014844, 51.822806098022376],\n [30.927549269338982, 52.04235342061438],\n [31.785998162571587, 52.101677964885454],\n ],\n ],\n },\n },\n {\n type: \"Feature\",\n properties: {\n scalerank: 1,\n featurecla: \"Admin-0 country\",\n labelrank: 4,\n sovereignt: \"Antarctica\",\n sov_a3: \"ATA\",\n adm0_dif: 0,\n level: 2,\n type: \"Indeterminate\",\n admin: \"Antarctica\",\n adm0_a3: \"ATA\",\n geou_dif: 0,\n geounit: \"Antarctica\",\n gu_a3: \"ATA\",\n su_dif: 0,\n subunit: \"Antarctica\",\n su_a3: \"ATA\",\n brk_diff: 0,\n name: \"Antarctica\",\n name_long: \"Antarctica\",\n brk_a3: \"ATA\",\n brk_name: \"Antarctica\",\n brk_group: null,\n abbrev: \"Ant.\",\n postal: \"AQ\",\n formal_en: null,\n formal_fr: null,\n note_adm0: null,\n note_brk: \"Multiple claims held in abeyance\",\n name_sort: \"Antarctica\",\n name_alt: null,\n mapcolor7: 4,\n mapcolor8: 5,\n mapcolor9: 1,\n mapcolor13: -99,\n pop_est: 3802,\n gdp_md_est: 760.4,\n pop_year: -99,\n lastcensus: -99,\n gdp_year: -99,\n economy: \"6. Developing region\",\n income_grp: \"2. High income: nonOECD\",\n wikipedia: -99,\n fips_10: null,\n iso_a2: \"AQ\",\n iso_a3: \"ATA\",\n iso_n3: \"010\",\n un_a3: \"-099\",\n wb_a2: \"-99\",\n wb_a3: \"-99\",\n woe_id: -99,\n adm0_a3_is: \"ATA\",\n adm0_a3_us: \"ATA\",\n adm0_a3_un: -99,\n adm0_a3_wb: -99,\n continent: \"Antarctica\",\n region_un: \"Antarctica\",\n subregion: \"Antarctica\",\n region_wb: \"Antarctica\",\n name_len: 10,\n long_len: 10,\n abbrev_len: 4,\n tiny: -99,\n homepart: 1,\n filename: \"ATA.geojson\",\n },\n geometry: {\n type: \"MultiPolygon\",\n coordinates: [\n [\n [\n [-59.57209469261152, -80.0401787250963],\n [-59.86584937197471, -80.54965667106185],\n [-60.1596557277702, -81.0003268370793],\n [-62.25539343936708, -80.86317758577665],\n [-64.48812537296976, -80.92193368929256],\n [-65.74166642928984, -80.58882740673914],\n [-65.74166642928984, -80.54965667106185],\n [-66.29003089055513, -80.25577280061799],\n [-64.03768775089765, -80.29494353629516],\n [-61.88324561221713, -80.39287037548829],\n [-61.13897579613345, -79.9813709451481],\n [-60.610119188058405, -79.62867929475613],\n [-59.57209469261152, -80.0401787250963],\n ],\n ],\n [\n [\n [-159.20818356019765, -79.49705942170873],\n [-161.12760128481463, -79.6342086730113],\n [-162.4398467682184, -79.28146534618702],\n [-163.02740780337697, -78.92877369579494],\n [-163.06660437727032, -78.86996591584676],\n [-163.71289567772874, -78.59566741324153],\n [-163.71289567772874, -78.59566660579728],\n [-163.10580095116381, -78.2233379111343],\n [-161.24511349184635, -78.38017588314015],\n [-160.2462080556445, -78.69364512142266],\n [-159.48240454815448, -79.04633757925899],\n [-159.20818356019765, -79.49705942170873],\n ],\n ],\n [\n [\n [-45.154757656421026, -78.04706960058674],\n [-43.920827806155756, -78.47810272233325],\n [-43.489949713706096, -79.08555999136846],\n [-43.37243750667437, -79.51664478954726],\n [-43.333266770997085, -80.02612273551293],\n [-44.88053666846429, -80.33964365022771],\n [-46.50617387550201, -80.59435678499432],\n [-48.38642086444178, -80.82948455192235],\n [-50.48210689960646, -81.02544158317312],\n [-52.85198808451178, -80.96668547965729],\n [-54.1642594061316, -80.63352752067158],\n [-53.98799109558405, -80.22202809033139],\n [-51.85313432474219, -79.94772958772609],\n [-50.99132646341059, -79.61462330517266],\n [-50.36459469257474, -79.18348683056163],\n [-49.91413123228651, -78.81120900488669],\n [-49.30695899107312, -78.45856903092692],\n [-48.66061601418252, -78.04701792415445],\n [-48.66061601418252, -78.04701873159868],\n [-48.1513964503784, -78.04706960058674],\n [-46.662856818211026, -77.83147552506503],\n [-45.154757656421026, -78.04706960058674],\n ],\n ],\n [\n [\n [-121.21151139385712, -73.50099049900604],\n [-119.91885127829205, -73.65772511814733],\n [-118.72414303269191, -73.4813534547352],\n [-119.29211870001195, -73.83409678155948],\n [-120.23221716370998, -74.08880991632616],\n [-121.62282995668426, -74.0104684449716],\n [-122.62173458544189, -73.65777760202388],\n [-122.62173539288612, -73.65777679457963],\n [-122.40624467022903, -73.32461883559391],\n [-121.21151139385712, -73.50099049900604],\n ],\n ],\n [\n [\n [-125.55956640689531, -73.4813534547352],\n [-124.03188187726685, -73.87326751723674],\n [-124.61946875064153, -73.83409678155948],\n [-125.91218054263891, -73.7361182659341],\n [-127.28312964568191, -73.46176889434082],\n [-127.28313045312618, -73.46176808689657],\n [-126.55847184309721, -73.24622568780717],\n [-125.55956640689531, -73.4813534547352],\n ],\n ],\n [\n [\n [-98.9815496488239, -71.93333424899978],\n [-97.88474321164503, -72.07053517673472],\n [-96.78793677446623, -71.9529712932707],\n [-96.20034990109144, -72.52120534275218],\n [-96.98376461463621, -72.44286387139763],\n [-98.19808325884685, -72.48203460707492],\n [-99.4320131091122, -72.44286387139763],\n [-100.78345516640921, -72.50161997491355],\n [-101.80186845580133, -72.30566294366277],\n [-102.33072506387637, -71.89416432076685],\n [-102.33072506387637, -71.89416351332261],\n [-101.70396745482444, -71.71779184991038],\n [-100.4309185453141, -71.85499277764532],\n [-98.9815496488239, -71.93333424899978],\n ],\n ],\n [\n [\n [-68.45134599473042, -70.95582285576674],\n [-68.3338337876987, -71.40649302178419],\n [-68.51012793646242, -71.79840708428573],\n [-68.78429724798698, -72.17073577894863],\n [-69.9594709947364, -72.3078850302513],\n [-71.07588863797014, -72.50384206150207],\n [-72.38813412137378, -72.48425669366343],\n [-71.89849992540829, -72.09234263116188],\n [-73.07362199572542, -72.22949188246454],\n [-74.19003963895906, -72.3666928101995],\n [-74.95389482288138, -72.07275726332324],\n [-75.01262508818121, -71.66125783298307],\n [-73.91581865100233, -71.26934457792576],\n [-73.91581865100233, -71.26934377048153],\n [-73.23033077665055, -71.15177988701751],\n [-72.07471655952355, -71.19095062269477],\n [-71.78096188016036, -70.68147267672913],\n [-71.72217993842844, -70.30919565849851],\n [-71.74179114448319, -69.5057821656568],\n [-71.17381547716315, -69.03547495536841],\n [-70.25325151231573, -68.8787403362272],\n [-69.72444658067306, -69.25101735445782],\n [-69.48942216660959, -69.62334604912073],\n [-69.05851823594381, -70.07401621513817],\n [-68.72554114447105, -70.50515268974928],\n [-68.45134599473042, -70.95582285576674],\n ],\n ],\n [\n [\n [-58.61414282900091, -64.15246713013315],\n [-59.045072597882864, -64.36800952922263],\n [-59.789342413966544, -64.21122323364905],\n [-60.61192786318869, -64.30920174927444],\n [-61.297415737540376, -64.54432951620257],\n [-62.022100185785426, -64.79909432740136],\n [-62.511760219966895, -65.09302987427752],\n [-62.648857794837376, -65.48494232189066],\n [-62.59012752953774, -65.85721934012136],\n [-62.120078701410705, -66.1903256226747],\n [-62.805566575762384, -66.42550506603496],\n [-63.745690070232364, -66.50384653738958],\n [-64.29410620792996, -66.83700449637522],\n [-64.88169308130463, -67.15047373465772],\n [-65.50842485214056, -67.58161020926892],\n [-65.66508195663327, -67.95388722749945],\n [-65.31254533553809, -68.36533498140741],\n [-64.78371456567932, -68.6789075725545],\n [-63.96110327824109, -68.91398366305017],\n [-63.197299770751044, -69.22755625419725],\n [-62.78595536970775, -69.6194186402665],\n [-62.57051632348291, -69.9917473349295],\n [-62.27673580590354, -70.38366139743104],\n [-61.80666113956059, -70.71676767998447],\n [-61.5129064601974, -71.08904469821508],\n [-61.375808885327125, -72.01007375095313],\n [-61.08197669131553, -72.38235076918383],\n [-61.00366105817719, -72.77426483168537],\n [-60.69026933454315, -73.16617889418708],\n [-60.82736690941343, -73.69524220799119],\n [-61.375808885327125, -74.10674163833137],\n [-61.96336992048569, -74.43984792088489],\n [-63.29520077172796, -74.57699717218738],\n [-63.745690070232364, -74.92974049901173],\n [-64.35283647322959, -75.26284678156516],\n [-65.86098731145177, -75.63512379979578],\n [-67.19281816269412, -75.79191009536945],\n [-68.44628170436576, -76.00745249445876],\n [-69.79772376166284, -76.22299489354818],\n [-70.60072384304624, -76.63449432388845],\n [-72.20677568224536, -76.67366505956572],\n [-73.96953630236966, -76.63449432388845],\n [-75.55597693551402, -76.7128874716752],\n [-77.2403702460676, -76.7128874716752],\n [-76.92697852243359, -77.10480153417674],\n [-75.39929399280493, -77.28106984472439],\n [-74.28287634957141, -77.55542002376181],\n [-73.65611874051945, -77.90811167415396],\n [-74.77253638375308, -78.22163258886867],\n [-76.49610042998401, -78.12365407324327],\n [-77.92585812041926, -78.37841888444225],\n [-77.98466590036747, -78.78991831478234],\n [-78.02378495961247, -79.18183318472822],\n [-76.84863705107912, -79.51493946728165],\n [-76.6332238430704, -79.88721648551227],\n [-75.36009741891175, -80.25954518017525],\n [-73.24485185412462, -80.41633147574875],\n [-71.44294633653922, -80.69062997835398],\n [-70.01316280788775, -81.00415089306878],\n [-68.19164608424754, -81.31767180778357],\n [-65.70427853052666, -81.47445810335725],\n [-63.2560300360507, -81.74875660596248],\n [-61.5520255194423, -82.04269215283854],\n [-59.69141557477345, -82.37585011182435],\n [-58.712121344626205, -82.84610564568034],\n [-58.222487148660925, -83.21843434034334],\n [-57.00811682801781, -82.86569101351907],\n [-55.36289425314155, -82.57175546664283],\n [-53.61977067728824, -82.25823455192803],\n [-51.543644171746024, -82.00352141716135],\n [-49.76134986021546, -81.72917123812375],\n [-47.27393063006221, -81.7095858702853],\n [-44.82570797380251, -81.84673512158777],\n [-42.80836340999238, -82.0819145649481],\n [-42.16202043310179, -81.65082976676929],\n [-40.771433478343596, -81.35689421989322],\n [-38.24481767429705, -81.33730885205458],\n [-36.26666968438022, -81.12171477653298],\n [-34.386396857224355, -80.90617237744347],\n [-32.31029618989831, -80.76902312614074],\n [-30.097097947701997, -80.59265146272868],\n [-28.5498022120187, -80.33793832796201],\n [-29.254901292425128, -79.98519500113764],\n [-29.685805223090963, -79.63250335074568],\n [-29.685805223090963, -79.26022633251497],\n [-31.62480831554663, -79.29939706819223],\n [-33.68132361503396, -79.45613168733344],\n [-35.639912075328255, -79.45613168733344],\n [-35.91410722506902, -79.08385466910292],\n [-35.777009650198714, -78.33924814876498],\n [-35.32654618991043, -78.12365407324327],\n [-33.89676266125886, -77.88852630631523],\n [-32.2123693507053, -77.65345021581956],\n [-30.99805070649461, -77.35951466894332],\n [-29.78373206228406, -77.06557912206725],\n [-28.882779303491358, -76.67366505956572],\n [-27.511751878355653, -76.49734507258579],\n [-26.16033565927475, -76.36014414485074],\n [-25.474821946706864, -76.28180267349629],\n [-23.92755204923978, -76.24258026138673],\n [-22.45859778491095, -76.10543101008425],\n [-21.22469377286177, -75.90947397883347],\n [-20.010375128651077, -75.67434621190543],\n [-18.91354285325616, -75.43921844497729],\n [-17.522981736714172, -75.1256975302625],\n [-16.641588507544014, -74.79253957127686],\n [-15.70149085129026, -74.49860402440063],\n [-15.407710333710867, -74.10674163833137],\n [-16.465320196996373, -73.87161387140341],\n [-16.11278357590126, -73.46011444106315],\n [-15.44685523117195, -73.14654184991608],\n [-14.408804897508986, -72.9505848186653],\n [-13.311972622113984, -72.71545705173733],\n [-12.293507656289563, -72.40193613702255],\n [-11.510067104528588, -72.01007375095313],\n [-11.020432908563038, -71.53976654066483],\n [-10.295774298534155, -71.2654163616273],\n [-9.101015183946089, -71.3242241415755],\n [-8.611380987980596, -71.65733042412884],\n [-7.416621873392415, -71.69650115980603],\n [-7.37745113771524, -71.3242241415755],\n [-6.868231573911117, -70.93231007907397],\n [-5.790984666354774, -71.03028859469927],\n [-5.53637488445267, -71.40261728936225],\n [-4.341667446296867, -71.46137339287807],\n [-3.048981492515594, -71.28505340589814],\n [-1.795492112627784, -71.16743784600183],\n [-0.659489101555522, -71.22624562595003],\n [-0.228636847322065, -71.6377450562903],\n [0.868195428072937, -71.30463877373678],\n [1.886686232113533, -71.12826711032474],\n [3.022637566753417, -70.99111785902207],\n [4.139055209987049, -70.85391693128703],\n [5.157546014027673, -70.61878916435909],\n [6.273911980828927, -70.46205454521778],\n [7.135719842160626, -70.24651214612838],\n [7.742866245157842, -69.89376881930403],\n [8.487110223025326, -70.148533630503],\n [9.525134718472202, -70.01133270276821],\n [10.249845004933434, -70.48163991305651],\n [10.81782067225339, -70.8343315634485],\n [11.953823683325652, -70.63837453219772],\n [12.404287143613942, -70.24651214612838],\n [13.422777947654394, -69.97216196709094],\n [14.734997592842005, -70.03091807060677],\n [15.126756626046586, -70.40324676526976],\n [15.949342075268646, -70.03091807060677],\n [17.02658898282516, -69.91335418714274],\n [18.201711053142333, -69.87418345146547],\n [19.259372592860046, -69.89376881930403],\n [20.37573855966147, -70.01133270276821],\n [21.452985467217815, -70.07014048271625],\n [21.923034295344735, -70.40324676526976],\n [22.569403110451447, -70.69718231214583],\n [23.66618370941421, -70.5208106487337],\n [24.841357456163593, -70.48163991305651],\n [25.977308790803644, -70.48163991305651],\n [27.093726434037276, -70.46205454521778],\n [28.092580193806867, -70.32485361748293],\n [29.15024173352458, -70.20728973401899],\n [30.03158328626253, -69.93293955498129],\n [30.97173261894861, -69.75661956800145],\n [31.99017174655685, -69.65864105237607],\n [32.75405276869529, -69.38429087333846],\n [33.30244306817676, -68.83564219169571],\n [33.8704187354966, -68.50258758557456],\n [34.908494907375854, -68.65927052828349],\n [35.30020226414822, -69.01201385510794],\n [36.16201012547978, -69.24714162203597],\n [37.20003462092657, -69.16874847424904],\n [37.9051078631168, -69.5214401246412],\n [38.649403517416914, -69.77620493584018],\n [39.66789432145733, -69.54107716891204],\n [40.020430942552565, -69.10994069430095],\n [40.92135786312909, -68.93362070732118],\n [41.95943403500823, -68.60051442476767],\n [42.9387024269391, -68.46331349703271],\n [44.113876173688624, -68.26740814221424],\n [44.897290887233424, -68.05186574312492],\n [45.719928012887834, -67.81673797619678],\n [46.503342726432635, -67.60119557710746],\n [47.443440382686305, -67.71875946057148],\n [48.34441897969512, -67.36606781017942],\n [48.9907361183696, -67.09171763114189],\n [49.93088545105567, -67.11130299898045],\n [50.75347090027773, -66.8761752320524],\n [50.94932457866392, -66.52348358166043],\n [51.791547072157044, -66.2491334026229],\n [52.614132521378934, -66.05317637137213],\n [53.613037957580815, -65.89639007579855],\n [54.533550245996054, -65.818048604444],\n [55.41494347516621, -65.8768047079599],\n [56.35504113141988, -65.97478322358538],\n [57.15809288923568, -66.2491334026229],\n [57.25596805199646, -66.68021820080163],\n [58.13736128116661, -67.01332448335515],\n [58.74450768416394, -67.28767466239267],\n [59.939318475184244, -67.40523854585669],\n [60.605220981697435, -67.6795887248942],\n [61.427806430919325, -67.95388722749945],\n [62.38748945501166, -68.01269500744755],\n [63.190489536395226, -67.81673797619678],\n [64.05234907415901, -67.40523854585669],\n [64.99244673041292, -67.62072926851371],\n [65.97171512234397, -67.73834482841004],\n [66.91186445502976, -67.85590871187414],\n [67.89113284696091, -67.9343018596608],\n [68.89003828316291, -67.9343018596608],\n [69.71262373238474, -68.97279144299837],\n [69.67345299670748, -69.22755625419725],\n [69.55594078967582, -69.67822642021471],\n [68.59625776558347, -69.93293955498129],\n [67.81273969917416, -70.30526824964429],\n [67.94988895047666, -70.69718231214583],\n [69.06630659371027, -70.67754526787499],\n [68.92915734240776, -71.06945933037653],\n [68.41998945503596, -71.44178802503953],\n [67.94988895047666, -71.85328745537961],\n [68.71376997261515, -72.16680837009442],\n [69.86930667509395, -72.2647868857198],\n [71.02489505400457, -72.08841522230775],\n [71.57328535348606, -71.69650115980603],\n [71.90628828317492, -71.3242241415755],\n [72.45462690622404, -71.01070322686063],\n [73.08141035349209, -70.71676767998447],\n [73.3360201353942, -70.3640243531602],\n [73.86487674346924, -69.87418345146547],\n [74.49155683787271, -69.77620493584018],\n [75.62755984894497, -69.73703420016281],\n [76.62646528514685, -69.6194186402665],\n [77.64490441275527, -69.4626840211253],\n [78.13453860872059, -69.07076995862376],\n [78.42837080273225, -68.69844126396067],\n [79.11385867708393, -68.32621592216243],\n [80.09312706901486, -68.07150278739576],\n [80.93534956250775, -67.87554575614499],\n [81.48379153842144, -67.54238779715926],\n [82.05176720574146, -67.36606781017942],\n [82.7764258157704, -67.20928151460592],\n [83.7753312519724, -67.30726003023122],\n [84.67620649611663, -67.20928151460592],\n [85.65552656447997, -67.09171763114189],\n [86.75235883987486, -67.15047373465772],\n [87.4770174499038, -66.8761752320524],\n [87.98628869014024, -66.20991099051335],\n [88.35841067907394, -66.48426116955086],\n [88.82840783076855, -66.95456837983923],\n [89.67063032426157, -67.15047373465772],\n [90.6303650247863, -67.22886688244446],\n [91.59009972531081, -67.11130299898045],\n [92.60853885291905, -67.1896961467672],\n [93.54863650917295, -67.20928151460592],\n [94.17541995644099, -67.11130299898045],\n [95.01759077350167, -67.17011077892865],\n [95.78147179564027, -67.38565317801798],\n [96.6823987162168, -67.24850392671549],\n [97.75964562377312, -67.24850392671549],\n [98.68020958862056, -67.11130299898045],\n [99.71818240763504, -67.24850392671549],\n [100.38418826701276, -66.91534596772968],\n [100.89335615438468, -66.58223968517625],\n [101.57889570516855, -66.30788950613864],\n [102.83241092327265, -65.56328379324512],\n [103.47867638551477, -65.70048472097997],\n [104.2425574076531, -65.97478322358538],\n [104.90845991416623, -66.32752655040964],\n [106.18156050010876, -66.9349313355684],\n [107.1608805684721, -66.95456837983923],\n [108.08139285688715, -66.95456837983923],\n [109.15863976444368, -66.83700449637522],\n [110.23583499556784, -66.69980356864036],\n [111.05847212122208, -66.42550506603496],\n [111.74395999557393, -66.13156951915889],\n [112.86037763880748, -66.09234710704932],\n [113.60467329310735, -65.8768047079599],\n [114.38808800665205, -66.07276173921068],\n [114.89730757045626, -66.38628265392548],\n [115.60238081264653, -66.69980356864036],\n [116.69916141160942, -66.66063283296299],\n [117.38470096239321, -66.91534596772968],\n [118.57946007698128, -67.17011077892865],\n [119.8329236186531, -67.26808929455395],\n [120.87099979053217, -67.1896961467672],\n [121.65441450407708, -66.8761752320524],\n [122.32036868702235, -66.56265431733769],\n [123.22129560759893, -66.48426116955086],\n [124.12227420460762, -66.6214620972859],\n [125.16024702362223, -66.71938893647891],\n [126.10039635630838, -66.56265431733769],\n [127.00142662974932, -66.56265431733769],\n [127.88276818248723, -66.66063283296299],\n [128.8032804709024, -66.75861134858846],\n [129.70425906791115, -66.58223968517625],\n [130.78145429903543, -66.42550506603496],\n [131.79994510307588, -66.38628265392548],\n [132.93589643771614, -66.38628265392548],\n [133.85646040256339, -66.28830413830009],\n [134.7573873231399, -66.20996266694563],\n [135.03158247288073, -65.72007008881862],\n [135.07075320855782, -65.30857065847843],\n [135.69748497939358, -65.58286916108366],\n [135.8738049663735, -66.03359100353342],\n [136.2067045431978, -66.44509043387367],\n [136.6180489442411, -66.77819671642702],\n [137.46027143773395, -66.95456837983923],\n [138.59622277237415, -66.89576059989113],\n [139.90844241756147, -66.8761752320524],\n [140.8094210145703, -66.81736745210438],\n [142.1216923361902, -66.81736745210438],\n [143.06184166887616, -66.79778208426566],\n [144.3740613140637, -66.83700449637522],\n [145.49042728086502, -66.91534596772968],\n [146.19555219948782, -67.22886688244446],\n [145.99969852110152, -67.60119557710746],\n [146.64606733620823, -67.8951311239837],\n [147.72326256733234, -68.13025889091166],\n [148.8396285341337, -68.38502370211054],\n [150.1323144879149, -68.56129201265819],\n [151.4837048687796, -68.71812998466397],\n [152.50224734925249, -68.87481292737299],\n [153.63819868389257, -68.8945016480761],\n [154.28456749899928, -68.56129201265819],\n [155.16585737530485, -68.83564219169571],\n [155.92979007387547, -69.14921478284279],\n [156.8111316266134, -69.38429087333846],\n [158.0255277854724, -69.48226938896394],\n [159.18101281151874, -69.59983327242796],\n [159.67069868391653, -69.9917473349295],\n [160.8066500185565, -70.22687510185754],\n [161.57047936426278, -70.57961842868181],\n [162.68689700749636, -70.73635304782319],\n [163.84243370997493, -70.71676767998447],\n [164.9196806175312, -70.77552378350029],\n [166.11443973211945, -70.75593841566175],\n [167.309095493843, -70.8343315634485],\n [168.42561648994118, -70.97148081475106],\n [169.46358930895596, -71.2066602581114],\n [170.50166548083504, -71.40261728936225],\n [171.20679039945762, -71.69650115980603],\n [171.08922651599377, -72.08841522230775],\n [170.56042158435073, -72.44115854913211],\n [170.1099581240624, -72.89182871514939],\n [169.75736982653515, -73.24452036554155],\n [169.2873209984083, -73.65601979588163],\n [167.97510135322077, -73.81280609145513],\n [167.38748864162972, -74.16549774184719],\n [166.09480268784844, -74.3810401409366],\n [165.64439090399244, -74.77295420343815],\n [164.9588513532086, -75.14528289810123],\n [164.23419274317968, -75.45880381281593],\n [163.82279666570392, -75.8703032431562],\n [163.56823856023428, -76.24258026138673],\n [163.47026004460898, -76.69330210383656],\n [163.48989708887976, -77.06557912206725],\n [164.05787275619977, -77.45744150813643],\n [164.27336347885696, -77.82977020279932],\n [164.74346398341615, -78.18251352962376],\n [166.60412560451735, -78.31961110449406],\n [166.99578128485743, -78.75074757910525],\n [165.193875767272, -78.9074830056907],\n [163.66621707585958, -79.12302540478002],\n [161.7663847190811, -79.16224781688966],\n [160.9241622255883, -79.73048186637098],\n [160.74789391504075, -80.20073740022715],\n [160.31696414615868, -80.57306609488995],\n [159.78821089094842, -80.94539478955305],\n [161.1200159039744, -81.27850107210647],\n [161.62928714421088, -81.69000050244657],\n [162.49099165267805, -82.06227752067727],\n [163.70533613510474, -82.3954354796629],\n [165.09594892807885, -82.70895639437778],\n [166.60412560451735, -83.02247730909258],\n [168.89566531806796, -83.33599822380737],\n [169.40478152900758, -83.82589080193438],\n [172.28393395414938, -84.0414332010237],\n [172.47704878162415, -84.11791432081567],\n [173.2240832868354, -84.41371021925441],\n [175.9856718285131, -84.15899708448764],\n [178.27721154206407, -84.47251799920242],\n [180.00000000000014, -84.71338],\n [180.00000000000014, -90],\n [-180, -90],\n [-180, -84.71338],\n [-179.9424993561789, -84.72144337355249],\n [-179.0586773346912, -84.1394117166491],\n [-177.25677181710574, -84.45293263136388],\n [-177.14080667326579, -84.41794122714832],\n [-176.0846728180776, -84.09925912875842],\n [-175.94723461362776, -84.11044871021662],\n [-175.82988216866252, -84.11791432081567],\n [-174.3825028148157, -84.53432301222357],\n [-173.11655941474547, -84.11791432081567],\n [-172.8891055980128, -84.06101856886234],\n [-169.95122290757143, -83.88464690545011],\n [-168.9999889801586, -84.11791432081567],\n [-168.53019853419323, -84.23739023227448],\n [-167.02209937240332, -84.5704965148279],\n [-164.18214352115507, -84.82520964959458],\n [-161.92977454328138, -85.13873056430938],\n [-158.07137956442494, -85.3739100076697],\n [-155.1922529774993, -85.0995598286321],\n [-150.94209896543802, -85.29551685988288],\n [-148.5330728830715, -85.60903777459767],\n [-145.88891822633298, -85.31510222772161],\n [-143.10771847860042, -85.04075204868391],\n [-142.89227943237563, -84.5704965148279],\n [-146.8290683664633, -84.53127410271834],\n [-150.06073157448395, -84.29614633579038],\n [-150.9029282297607, -83.90423227328884],\n [-153.5862011383002, -83.68868987419935],\n [-153.40990698953647, -83.23801970818207],\n [-153.0377591623864, -82.82652027784181],\n [-152.66563717345275, -82.45419158317881],\n [-152.86151669005505, -82.04269215283854],\n [-154.5262987945539, -81.7683936502333],\n [-155.2901798166924, -81.41565032340904],\n [-156.8374497141595, -81.10212940869425],\n [-154.40878658752223, -81.16093718864245],\n [-152.09766150613282, -81.00415089306878],\n [-150.64829260964262, -81.33730885205458],\n [-148.86599829811206, -81.04337330517833],\n [-147.2207498850195, -80.67104461051542],\n [-146.41774899619185, -80.33793832796201],\n [-146.77028642473118, -79.9264388976219],\n [-148.06294654029637, -79.65208871858422],\n [-149.5319008046251, -79.35820484814045],\n [-151.5884161041124, -79.29939706819223],\n [-153.39032162169778, -79.16224781688966],\n [-155.32937639058574, -79.06426930126419],\n [-155.97566769104418, -78.69193979915704],\n [-157.26830196839305, -78.37841888444225],\n [-158.0517683583701, -78.0256755576179],\n [-158.36513424378796, -76.88920745865494],\n [-157.87547420960635, -76.98723765071261],\n [-156.97457312724595, -77.30075856542751],\n [-155.32937639058574, -77.20272837336975],\n [-153.74283240457675, -77.06557912206725],\n [-152.92024695535477, -77.49666392024598],\n [-151.3337804839943, -77.3987370810528],\n [-150.00194963275194, -77.18314300553119],\n [-148.74848609108034, -76.90884450292597],\n [-147.61248308000808, -76.57573822037253],\n [-146.10440894899, -76.47775970474706],\n [-146.14352800823497, -76.10543101008425],\n [-146.49609127499048, -75.73315399185354],\n [-146.202309949967, -75.38041066502917],\n [-144.90962399618576, -75.20403900161696],\n [-144.32203712281108, -75.53719696060276],\n [-142.79435259318262, -75.341239929352],\n [-141.63876421427162, -75.08647511815295],\n [-140.20900652383617, -75.06688975031439],\n [-138.85759030475535, -74.96891123468892],\n [-137.50619992389045, -74.73378346776096],\n [-136.42890133990193, -74.51824106867164],\n [-135.2145826956913, -74.30269866958214],\n [-134.43119382036258, -74.36145477309796],\n [-133.74565426957855, -74.43984792088489],\n [-132.25716792873206, -74.30269866958214],\n [-130.92531123927358, -74.47901865656199],\n [-129.55428381413776, -74.45943328872343],\n [-128.24203833073426, -74.3222840374207],\n [-126.89062211165324, -74.42026255304617],\n [-125.40208247948578, -74.51824106867164],\n [-124.01149552472761, -74.47901865656199],\n [-122.5621524664536, -74.49860402440063],\n [-121.07361283428624, -74.51824106867164],\n [-119.70255957093421, -74.47901865656199],\n [-118.68414547409793, -74.18508310968583],\n [-117.46980099167122, -74.02834849054462],\n [-116.2163116117834, -74.24389088963395],\n [-115.02155249719543, -74.06751922622189],\n [-113.94433142785508, -73.71482757582983],\n [-113.29798845096448, -74.02834849054462],\n [-112.94545182986937, -74.3810401409366],\n [-112.29908301476257, -74.7141980999224],\n [-111.26105851931563, -74.42026255304617],\n [-110.06632524294372, -74.79253957127686],\n [-108.71490902386272, -74.91010345474089],\n [-107.55934648316811, -75.18445363377842],\n [-106.14914832235502, -75.1256975302625],\n [-104.87607357462866, -74.94932586685044],\n [-103.36794857462266, -74.98849660252765],\n [-102.01650651732564, -75.1256975302625],\n [-100.64553076862231, -75.30201751724243],\n [-100.11669999876325, -74.87093271906353],\n [-100.76304297565393, -74.53782643651019],\n [-101.25270300983553, -74.18508310968583],\n [-102.5453372871845, -74.10674163833137],\n [-103.11331295450454, -73.73441294366839],\n [-103.32875200072928, -73.36208424900556],\n [-103.68128862182438, -72.61753021254415],\n [-102.91748511433435, -72.75467946384681],\n [-101.60523963093073, -72.81343556736263],\n [-100.31252783893345, -72.75467946384681],\n [-99.1373799304001, -72.9114140829881],\n [-98.11888912635946, -73.20534962986417],\n [-97.68803687212609, -73.55804128025633],\n [-96.3365948148289, -73.61684906020436],\n [-95.04396053747983, -73.47969980890187],\n [-93.6729072741281, -73.28374277765093],\n [-92.43900326207896, -73.16617889418708],\n [-91.42056413447071, -73.40130666111513],\n [-90.08873328322844, -73.3229135133282],\n [-89.22695126011294, -72.55872243259596],\n [-88.4239511787295, -73.0093925986134],\n [-87.26833696160261, -73.18576426202563],\n [-86.01482174349842, -73.08778574640016],\n [-85.19223629427657, -73.47969980890187],\n [-83.87999081087275, -73.51887054457897],\n [-82.66564632844602, -73.63643442804309],\n [-81.47091305207414, -73.8519768271324],\n [-80.68744666209699, -73.47969980890187],\n [-80.295790981757, -73.12695648207743],\n [-79.29688554555499, -73.51887054457897],\n [-77.92585812041926, -73.42089202895359],\n [-76.90736731637874, -73.63643442804309],\n [-76.22187944202707, -73.96954071059642],\n [-74.8900485907848, -73.87161387140341],\n [-73.85202409533792, -73.65601979588163],\n [-72.83353329129741, -73.40130666111513],\n [-71.61921464708686, -73.26415740981237],\n [-70.20904232448996, -73.14654184991608],\n [-68.93591590033121, -73.0093925986134],\n [-67.95662167018409, -72.79385019952409],\n [-67.36906063502559, -72.4803292848093],\n [-67.13403622096203, -72.04924448663039],\n [-67.25154842799367, -71.6377450562903],\n [-67.5649401516279, -71.24583099378876],\n [-67.917476772723, -70.85391693128703],\n [-68.23084265814092, -70.46205454521778],\n [-68.48545244004302, -70.10931121839351],\n [-68.54420854355894, -69.71739715589197],\n [-68.44628170436576, -69.32553476982272],\n [-67.9762328762389, -68.95320607515973],\n [-67.58449968125032, -68.54170664481947],\n [-67.42784257675751, -68.14984425875022],\n [-67.6236704169277, -67.71875946057148],\n [-67.74118262395933, -67.32684539806993],\n [-67.25154842799367, -66.8761752320524],\n [-66.70318396672857, -66.58223968517625],\n [-66.05681515162186, -66.20996266694563],\n [-65.37132727727008, -65.89639007579855],\n [-64.5682755194544, -65.60250620535467],\n [-64.17654232446583, -65.17142302206445],\n [-63.62815202498453, -64.89707284302675],\n [-63.00139441593256, -64.64230803182787],\n [-62.04168555362398, -64.58355192831195],\n [-61.414927944572014, -64.27003101359716],\n [-60.709854702381705, -64.07407398234639],\n [-59.88726925315956, -63.95651009888237],\n [-59.16258480491453, -63.70174528768357],\n [-58.59455746116228, -63.388224372968594],\n [-57.81114274761751, -63.27066048950457],\n [-57.22358171245884, -63.52542530070364],\n [-57.595729539608875, -63.85853158325706],\n [-58.61414282900091, -64.15246713013315],\n ],\n ],\n ],\n },\n },\n ],\n};\n\nexport const COUNTRIES: any = {\n AL: {\n country: \"Albania\",\n alpha2: \"AL\",\n alpha3: \"ALB\",\n numeric: 8,\n latitude: 41,\n longitude: 20,\n },\n DZ: {\n country: \"Algeria\",\n alpha2: \"DZ\",\n alpha3: \"DZA\",\n numeric: 12,\n latitude: 28,\n longitude: 3,\n },\n AS: {\n country: \"American Samoa\",\n alpha2: \"AS\",\n alpha3: \"ASM\",\n numeric: 16,\n latitude: -14.3333,\n longitude: -170,\n },\n AD: {\n country: \"Andorra\",\n alpha2: \"AD\",\n alpha3: \"AND\",\n numeric: 20,\n latitude: 42.5,\n longitude: 1.6,\n },\n AO: {\n country: \"Angola\",\n alpha2: \"AO\",\n alpha3: \"AGO\",\n numeric: 24,\n latitude: -12.5,\n longitude: 18.5,\n },\n AI: {\n country: \"Anguilla\",\n alpha2: \"AI\",\n alpha3: \"AIA\",\n numeric: 660,\n latitude: 18.25,\n longitude: -63.1667,\n },\n AQ: {\n country: \"Antarctica\",\n alpha2: \"AQ\",\n alpha3: \"ATA\",\n numeric: 10,\n latitude: -90,\n longitude: 0,\n },\n AG: {\n country: \"Antigua and Barbuda\",\n alpha2: \"AG\",\n alpha3: \"ATG\",\n numeric: 28,\n latitude: 17.05,\n longitude: -61.8,\n },\n AR: {\n country: \"Argentina\",\n alpha2: \"AR\",\n alpha3: \"ARG\",\n numeric: 32,\n latitude: -34,\n longitude: -64,\n },\n AM: {\n country: \"Armenia\",\n alpha2: \"AM\",\n alpha3: \"ARM\",\n numeric: 51,\n latitude: 40,\n longitude: 45,\n },\n AW: {\n country: \"Aruba\",\n alpha2: \"AW\",\n alpha3: \"ABW\",\n numeric: 533,\n latitude: 12.5,\n longitude: -69.9667,\n },\n AU: {\n country: \"Australia\",\n alpha2: \"AU\",\n alpha3: \"AUS\",\n numeric: 36,\n latitude: -27,\n longitude: 133,\n },\n AT: {\n country: \"Austria\",\n alpha2: \"AT\",\n alpha3: \"AUT\",\n numeric: 40,\n latitude: 47.3333,\n longitude: 13.3333,\n },\n AZ: {\n country: \"Azerbaijan\",\n alpha2: \"AZ\",\n alpha3: \"AZE\",\n numeric: 31,\n latitude: 40.5,\n longitude: 47.5,\n },\n BS: {\n country: \"Bahamas\",\n alpha2: \"BS\",\n alpha3: \"BHS\",\n numeric: 44,\n latitude: 24.25,\n longitude: -76,\n },\n BH: {\n country: \"Bahrain\",\n alpha2: \"BH\",\n alpha3: \"BHR\",\n numeric: 48,\n latitude: 26,\n longitude: 50.55,\n },\n BD: {\n country: \"Bangladesh\",\n alpha2: \"BD\",\n alpha3: \"BGD\",\n numeric: 50,\n latitude: 24,\n longitude: 90,\n },\n BB: {\n country: \"Barbados\",\n alpha2: \"BB\",\n alpha3: \"BRB\",\n numeric: 52,\n latitude: 13.1667,\n longitude: -59.5333,\n },\n BY: {\n country: \"Belarus\",\n alpha2: \"BY\",\n alpha3: \"BLR\",\n numeric: 112,\n latitude: 53,\n longitude: 28,\n },\n BE: {\n country: \"Belgium\",\n alpha2: \"BE\",\n alpha3: \"BEL\",\n numeric: 56,\n latitude: 50.8333,\n longitude: 4,\n },\n BZ: {\n country: \"Belize\",\n alpha2: \"BZ\",\n alpha3: \"BLZ\",\n numeric: 84,\n latitude: 17.25,\n longitude: -88.75,\n },\n BJ: {\n country: \"Benin\",\n alpha2: \"BJ\",\n alpha3: \"BEN\",\n numeric: 204,\n latitude: 9.5,\n longitude: 2.25,\n },\n BM: {\n country: \"Bermuda\",\n alpha2: \"BM\",\n alpha3: \"BMU\",\n numeric: 60,\n latitude: 32.3333,\n longitude: -64.75,\n },\n BT: {\n country: \"Bhutan\",\n alpha2: \"BT\",\n alpha3: \"BTN\",\n numeric: 64,\n latitude: 27.5,\n longitude: 90.5,\n },\n BO: {\n country: \"Bolivia, Plurinational State of\",\n alpha2: \"BO\",\n alpha3: \"BOL\",\n numeric: 68,\n latitude: -17,\n longitude: -65,\n },\n BA: {\n country: \"Bosnia and Herzegovina\",\n alpha2: \"BA\",\n alpha3: \"BIH\",\n numeric: 70,\n latitude: 44,\n longitude: 18,\n },\n BW: {\n country: \"Botswana\",\n alpha2: \"BW\",\n alpha3: \"BWA\",\n numeric: 72,\n latitude: -22,\n longitude: 24,\n },\n BV: {\n country: \"Bouvet Island\",\n alpha2: \"BV\",\n alpha3: \"BVT\",\n numeric: 74,\n latitude: -54.4333,\n longitude: 3.4,\n },\n BR: {\n country: \"Brazil\",\n alpha2: \"BR\",\n alpha3: \"BRA\",\n numeric: 76,\n latitude: -10,\n longitude: -55,\n },\n IO: {\n country: \"British Indian Ocean Territory\",\n alpha2: \"IO\",\n alpha3: \"IOT\",\n numeric: 86,\n latitude: -6,\n longitude: 71.5,\n },\n BN: {\n country: \"Brunei Darussalam\",\n alpha2: \"BN\",\n alpha3: \"BRN\",\n numeric: 96,\n latitude: 4.5,\n longitude: 114.6667,\n },\n BG: {\n country: \"Bulgaria\",\n alpha2: \"BG\",\n alpha3: \"BGR\",\n numeric: 100,\n latitude: 43,\n longitude: 25,\n },\n BF: {\n country: \"Burkina Faso\",\n alpha2: \"BF\",\n alpha3: \"BFA\",\n numeric: 854,\n latitude: 13,\n longitude: -2,\n },\n BI: {\n country: \"Burundi\",\n alpha2: \"BI\",\n alpha3: \"BDI\",\n numeric: 108,\n latitude: -3.5,\n longitude: 30,\n },\n KH: {\n country: \"Cambodia\",\n alpha2: \"KH\",\n alpha3: \"KHM\",\n numeric: 116,\n latitude: 13,\n longitude: 105,\n },\n CM: {\n country: \"Cameroon\",\n alpha2: \"CM\",\n alpha3: \"CMR\",\n numeric: 120,\n latitude: 6,\n longitude: 12,\n },\n CA: {\n country: \"Canada\",\n alpha2: \"CA\",\n alpha3: \"CAN\",\n numeric: 124,\n latitude: 60,\n longitude: -95,\n },\n CV: {\n country: \"Cape Verde\",\n alpha2: \"CV\",\n alpha3: \"CPV\",\n numeric: 132,\n latitude: 16,\n longitude: -24,\n },\n KY: {\n country: \"Cayman Islands\",\n alpha2: \"KY\",\n alpha3: \"CYM\",\n numeric: 136,\n latitude: 19.5,\n longitude: -80.5,\n },\n CF: {\n country: \"Central African Republic\",\n alpha2: \"CF\",\n alpha3: \"CAF\",\n numeric: 140,\n latitude: 7,\n longitude: 21,\n },\n TD: {\n country: \"Chad\",\n alpha2: \"TD\",\n alpha3: \"TCD\",\n numeric: 148,\n latitude: 15,\n longitude: 19,\n },\n CL: {\n country: \"Chile\",\n alpha2: \"CL\",\n alpha3: \"CHL\",\n numeric: 152,\n latitude: -30,\n longitude: -71,\n },\n CN: {\n country: \"China\",\n alpha2: \"CN\",\n alpha3: \"CHN\",\n numeric: 156,\n latitude: 35,\n longitude: 105,\n },\n CX: {\n country: \"Christmas Island\",\n alpha2: \"CX\",\n alpha3: \"CXR\",\n numeric: 162,\n latitude: -10.5,\n longitude: 105.6667,\n },\n CC: {\n country: \"Cocos (Keeling) Islands\",\n alpha2: \"CC\",\n alpha3: \"CCK\",\n numeric: 166,\n latitude: -12.5,\n longitude: 96.8333,\n },\n CO: {\n country: \"Colombia\",\n alpha2: \"CO\",\n alpha3: \"COL\",\n numeric: 170,\n latitude: 4,\n longitude: -72,\n },\n KM: {\n country: \"Comoros\",\n alpha2: \"KM\",\n alpha3: \"COM\",\n numeric: 174,\n latitude: -12.1667,\n longitude: 44.25,\n },\n CG: {\n country: \"Congo\",\n alpha2: \"CG\",\n alpha3: \"COG\",\n numeric: 178,\n latitude: -1,\n longitude: 15,\n },\n CD: {\n country: \"Congo, the Democratic Republic of the\",\n alpha2: \"CD\",\n alpha3: \"COD\",\n numeric: 180,\n latitude: 0,\n longitude: 25,\n },\n CK: {\n country: \"Cook Islands\",\n alpha2: \"CK\",\n alpha3: \"COK\",\n numeric: 184,\n latitude: -21.2333,\n longitude: -159.7667,\n },\n CR: {\n country: \"Costa Rica\",\n alpha2: \"CR\",\n alpha3: \"CRI\",\n numeric: 188,\n latitude: 10,\n longitude: -84,\n },\n CI: {\n country: \"Côte d'Ivoire\",\n alpha2: \"CI\",\n alpha3: \"CIV\",\n numeric: 384,\n latitude: 8,\n longitude: -5,\n },\n HR: {\n country: \"Croatia\",\n alpha2: \"HR\",\n alpha3: \"HRV\",\n numeric: 191,\n latitude: 45.1667,\n longitude: 15.5,\n },\n CU: {\n country: \"Cuba\",\n alpha2: \"CU\",\n alpha3: \"CUB\",\n numeric: 192,\n latitude: 21.5,\n longitude: -80,\n },\n CY: {\n country: \"Cyprus\",\n alpha2: \"CY\",\n alpha3: \"CYP\",\n numeric: 196,\n latitude: 35,\n longitude: 33,\n },\n CZ: {\n country: \"Czech Republic\",\n alpha2: \"CZ\",\n alpha3: \"CZE\",\n numeric: 203,\n latitude: 49.75,\n longitude: 15.5,\n },\n DK: {\n country: \"Denmark\",\n alpha2: \"DK\",\n alpha3: \"DNK\",\n numeric: 208,\n latitude: 56,\n longitude: 10,\n },\n DJ: {\n country: \"Djibouti\",\n alpha2: \"DJ\",\n alpha3: \"DJI\",\n numeric: 262,\n latitude: 11.5,\n longitude: 43,\n },\n DM: {\n country: \"Dominica\",\n alpha2: \"DM\",\n alpha3: \"DMA\",\n numeric: 212,\n latitude: 15.4167,\n longitude: -61.3333,\n },\n DO: {\n country: \"Dominican Republic\",\n alpha2: \"DO\",\n alpha3: \"DOM\",\n numeric: 214,\n latitude: 19,\n longitude: -70.6667,\n },\n EC: {\n country: \"Ecuador\",\n alpha2: \"EC\",\n alpha3: \"ECU\",\n numeric: 218,\n latitude: -2,\n longitude: -77.5,\n },\n EG: {\n country: \"Egypt\",\n alpha2: \"EG\",\n alpha3: \"EGY\",\n numeric: 818,\n latitude: 27,\n longitude: 30,\n },\n SV: {\n country: \"El Salvador\",\n alpha2: \"SV\",\n alpha3: \"SLV\",\n numeric: 222,\n latitude: 13.8333,\n longitude: -88.9167,\n },\n GQ: {\n country: \"Equatorial Guinea\",\n alpha2: \"GQ\",\n alpha3: \"GNQ\",\n numeric: 226,\n latitude: 2,\n longitude: 10,\n },\n ER: {\n country: \"Eritrea\",\n alpha2: \"ER\",\n alpha3: \"ERI\",\n numeric: 232,\n latitude: 15,\n longitude: 39,\n },\n EE: {\n country: \"Estonia\",\n alpha2: \"EE\",\n alpha3: \"EST\",\n numeric: 233,\n latitude: 59,\n longitude: 26,\n },\n ET: {\n country: \"Ethiopia\",\n alpha2: \"ET\",\n alpha3: \"ETH\",\n numeric: 231,\n latitude: 8,\n longitude: 38,\n },\n FK: {\n country: \"Falkland Islands (Malvinas)\",\n alpha2: \"FK\",\n alpha3: \"FLK\",\n numeric: 238,\n latitude: -51.75,\n longitude: -59,\n },\n FO: {\n country: \"Faroe Islands\",\n alpha2: \"FO\",\n alpha3: \"FRO\",\n numeric: 234,\n latitude: 62,\n longitude: -7,\n },\n FJ: {\n country: \"Fiji\",\n alpha2: \"FJ\",\n alpha3: \"FJI\",\n numeric: 242,\n latitude: -18,\n longitude: 175,\n },\n FI: {\n country: \"Finland\",\n alpha2: \"FI\",\n alpha3: \"FIN\",\n numeric: 246,\n latitude: 64,\n longitude: 26,\n },\n FR: {\n country: \"France\",\n alpha2: \"FR\",\n alpha3: \"FRA\",\n numeric: 250,\n latitude: 46,\n longitude: 2,\n },\n MF: {\n country: \"France\",\n alpha2: \"MF\",\n alpha3: \"FRA\",\n numeric: 250,\n latitude: 48,\n longitude: 2,\n },\n GF: {\n country: \"French Guiana\",\n alpha2: \"GF\",\n alpha3: \"GUF\",\n numeric: 254,\n latitude: 4,\n longitude: -53,\n },\n PF: {\n country: \"French Polynesia\",\n alpha2: \"PF\",\n alpha3: \"PYF\",\n numeric: 258,\n latitude: -15,\n longitude: -140,\n },\n TF: {\n country: \"French Southern Territories\",\n alpha2: \"TF\",\n alpha3: \"ATF\",\n numeric: 260,\n latitude: -43,\n longitude: 67,\n },\n GA: {\n country: \"Gabon\",\n alpha2: \"GA\",\n alpha3: \"GAB\",\n numeric: 266,\n latitude: -1,\n longitude: 11.75,\n },\n GM: {\n country: \"Gambia\",\n alpha2: \"GM\",\n alpha3: \"GMB\",\n numeric: 270,\n latitude: 13.4667,\n longitude: -16.5667,\n },\n GE: {\n country: \"Georgia\",\n alpha2: \"GE\",\n alpha3: \"GEO\",\n numeric: 268,\n latitude: 42,\n longitude: 43.5,\n },\n DE: {\n country: \"Germany\",\n alpha2: \"DE\",\n alpha3: \"DEU\",\n numeric: 276,\n latitude: 51,\n longitude: 9,\n },\n GH: {\n country: \"Ghana\",\n alpha2: \"GH\",\n alpha3: \"GHA\",\n numeric: 288,\n latitude: 8,\n longitude: -2,\n },\n GI: {\n country: \"Gibraltar\",\n alpha2: \"GI\",\n alpha3: \"GIB\",\n numeric: 292,\n latitude: 36.1833,\n longitude: -5.3667,\n },\n GR: {\n country: \"Greece\",\n alpha2: \"GR\",\n alpha3: \"GRC\",\n numeric: 300,\n latitude: 39,\n longitude: 22,\n },\n GL: {\n country: \"Greenland\",\n alpha2: \"GL\",\n alpha3: \"GRL\",\n numeric: 304,\n latitude: 72,\n longitude: -40,\n },\n GD: {\n country: \"Grenada\",\n alpha2: \"GD\",\n alpha3: \"GRD\",\n numeric: 308,\n latitude: 12.1167,\n longitude: -61.6667,\n },\n GP: {\n country: \"Guadeloupe\",\n alpha2: \"GP\",\n alpha3: \"GLP\",\n numeric: 312,\n latitude: 16.25,\n longitude: -61.5833,\n },\n GU: {\n country: \"Guam\",\n alpha2: \"GU\",\n alpha3: \"GUM\",\n numeric: 316,\n latitude: 13.4667,\n longitude: 144.7833,\n },\n GT: {\n country: \"Guatemala\",\n alpha2: \"GT\",\n alpha3: \"GTM\",\n numeric: 320,\n latitude: 15.5,\n longitude: -90.25,\n },\n GG: {\n country: \"Guernsey\",\n alpha2: \"GG\",\n alpha3: \"GGY\",\n numeric: 831,\n latitude: 49.5,\n longitude: -2.56,\n },\n GN: {\n country: \"Guinea\",\n alpha2: \"GN\",\n alpha3: \"GIN\",\n numeric: 324,\n latitude: 11,\n longitude: -10,\n },\n GW: {\n country: \"Guinea-Bissau\",\n alpha2: \"GW\",\n alpha3: \"GNB\",\n numeric: 624,\n latitude: 12,\n longitude: -15,\n },\n GY: {\n country: \"Guyana\",\n alpha2: \"GY\",\n alpha3: \"GUY\",\n numeric: 328,\n latitude: 5,\n longitude: -59,\n },\n HT: {\n country: \"Haiti\",\n alpha2: \"HT\",\n alpha3: \"HTI\",\n numeric: 332,\n latitude: 19,\n longitude: -72.4167,\n },\n HM: {\n country: \"Heard Island and McDonald Islands\",\n alpha2: \"HM\",\n alpha3: \"HMD\",\n numeric: 334,\n latitude: -53.1,\n longitude: 72.5167,\n },\n VA: {\n country: \"Holy See (Vatican City State)\",\n alpha2: \"VA\",\n alpha3: \"VAT\",\n numeric: 336,\n latitude: 41.9,\n longitude: 12.45,\n },\n HN: {\n country: \"Honduras\",\n alpha2: \"HN\",\n alpha3: \"HND\",\n numeric: 340,\n latitude: 15,\n longitude: -86.5,\n },\n HK: {\n country: \"Hong Kong\",\n alpha2: \"HK\",\n alpha3: \"HKG\",\n numeric: 344,\n latitude: 22.25,\n longitude: 114.1667,\n },\n HU: {\n country: \"Hungary\",\n alpha2: \"HU\",\n alpha3: \"HUN\",\n numeric: 348,\n latitude: 47,\n longitude: 20,\n },\n IS: {\n country: \"Iceland\",\n alpha2: \"IS\",\n alpha3: \"ISL\",\n numeric: 352,\n latitude: 65,\n longitude: -18,\n },\n IN: {\n country: \"India\",\n alpha2: \"IN\",\n alpha3: \"IND\",\n numeric: 356,\n latitude: 20,\n longitude: 77,\n },\n ID: {\n country: \"Indonesia\",\n alpha2: \"ID\",\n alpha3: \"IDN\",\n numeric: 360,\n latitude: -5,\n longitude: 120,\n },\n IR: {\n country: \"Iran, Islamic Republic of\",\n alpha2: \"IR\",\n alpha3: \"IRN\",\n numeric: 364,\n latitude: 32,\n longitude: 53,\n },\n IQ: {\n country: \"Iraq\",\n alpha2: \"IQ\",\n alpha3: \"IRQ\",\n numeric: 368,\n latitude: 33,\n longitude: 44,\n },\n IE: {\n country: \"Ireland\",\n alpha2: \"IE\",\n alpha3: \"IRL\",\n numeric: 372,\n latitude: 53,\n longitude: -8,\n },\n IM: {\n country: \"Isle of Man\",\n alpha2: \"IM\",\n alpha3: \"IMN\",\n numeric: 833,\n latitude: 54.23,\n longitude: -4.55,\n },\n IL: {\n country: \"Israel\",\n alpha2: \"IL\",\n alpha3: \"ISR\",\n numeric: 376,\n latitude: 31.5,\n longitude: 34.75,\n },\n IT: {\n country: \"Italy\",\n alpha2: \"IT\",\n alpha3: \"ITA\",\n numeric: 380,\n latitude: 42.8333,\n longitude: 12.8333,\n },\n JM: {\n country: \"Jamaica\",\n alpha2: \"JM\",\n alpha3: \"JAM\",\n numeric: 388,\n latitude: 18.25,\n longitude: -77.5,\n },\n JP: {\n country: \"Japan\",\n alpha2: \"JP\",\n alpha3: \"JPN\",\n numeric: 392,\n latitude: 36,\n longitude: 138,\n },\n JE: {\n country: \"Jersey\",\n alpha2: \"JE\",\n alpha3: \"JEY\",\n numeric: 832,\n latitude: 49.21,\n longitude: -2.13,\n },\n JO: {\n country: \"Jordan\",\n alpha2: \"JO\",\n alpha3: \"JOR\",\n numeric: 400,\n latitude: 31,\n longitude: 36,\n },\n KZ: {\n country: \"Kazakhstan\",\n alpha2: \"KZ\",\n alpha3: \"KAZ\",\n numeric: 398,\n latitude: 48,\n longitude: 68,\n },\n KE: {\n country: \"Kenya\",\n alpha2: \"KE\",\n alpha3: \"KEN\",\n numeric: 404,\n latitude: 1,\n longitude: 38,\n },\n KI: {\n country: \"Kiribati\",\n alpha2: \"KI\",\n alpha3: \"KIR\",\n numeric: 296,\n latitude: 1.4167,\n longitude: 173,\n },\n KP: {\n country: \"Korea, Democratic People's Republic of\",\n alpha2: \"KP\",\n alpha3: \"PRK\",\n numeric: 408,\n latitude: 40,\n longitude: 127,\n },\n KR: {\n country: \"Korea, Republic of\",\n alpha2: \"KR\",\n alpha3: \"KOR\",\n numeric: 410,\n latitude: 37,\n longitude: 127.5,\n },\n KW: {\n country: \"Kuwait\",\n alpha2: \"KW\",\n alpha3: \"KWT\",\n numeric: 414,\n latitude: 29.3375,\n longitude: 47.6581,\n },\n KG: {\n country: \"Kyrgyzstan\",\n alpha2: \"KG\",\n alpha3: \"KGZ\",\n numeric: 417,\n latitude: 41,\n longitude: 75,\n },\n LA: {\n country: \"Lao People's Democratic Republic\",\n alpha2: \"LA\",\n alpha3: \"LAO\",\n numeric: 418,\n latitude: 18,\n longitude: 105,\n },\n LV: {\n country: \"Latvia\",\n alpha2: \"LV\",\n alpha3: \"LVA\",\n numeric: 428,\n latitude: 57,\n longitude: 25,\n },\n LB: {\n country: \"Lebanon\",\n alpha2: \"LB\",\n alpha3: \"LBN\",\n numeric: 422,\n latitude: 33.8333,\n longitude: 35.8333,\n },\n LS: {\n country: \"Lesotho\",\n alpha2: \"LS\",\n alpha3: \"LSO\",\n numeric: 426,\n latitude: -29.5,\n longitude: 28.5,\n },\n LR: {\n country: \"Liberia\",\n alpha2: \"LR\",\n alpha3: \"LBR\",\n numeric: 430,\n latitude: 6.5,\n longitude: -9.5,\n },\n LY: {\n country: \"Libyan Arab Jamahiriya\",\n alpha2: \"LY\",\n alpha3: \"LBY\",\n numeric: 434,\n latitude: 25,\n longitude: 17,\n },\n LI: {\n country: \"Liechtenstein\",\n alpha2: \"LI\",\n alpha3: \"LIE\",\n numeric: 438,\n latitude: 47.1667,\n longitude: 9.5333,\n },\n LT: {\n country: \"Lithuania\",\n alpha2: \"LT\",\n alpha3: \"LTU\",\n numeric: 440,\n latitude: 56,\n longitude: 24,\n },\n LU: {\n country: \"Luxembourg\",\n alpha2: \"LU\",\n alpha3: \"LUX\",\n numeric: 442,\n latitude: 49.75,\n longitude: 6.1667,\n },\n MO: {\n country: \"Macao\",\n alpha2: \"MO\",\n alpha3: \"MAC\",\n numeric: 446,\n latitude: 22.1667,\n longitude: 113.55,\n },\n MK: {\n country: \"Macedonia, the former Yugoslav Republic of\",\n alpha2: \"MK\",\n alpha3: \"MKD\",\n numeric: 807,\n latitude: 41.8333,\n longitude: 22,\n },\n MG: {\n country: \"Madagascar\",\n alpha2: \"MG\",\n alpha3: \"MDG\",\n numeric: 450,\n latitude: -20,\n longitude: 47,\n },\n MW: {\n country: \"Malawi\",\n alpha2: \"MW\",\n alpha3: \"MWI\",\n numeric: 454,\n latitude: -13.5,\n longitude: 34,\n },\n MY: {\n country: \"Malaysia\",\n alpha2: \"MY\",\n alpha3: \"MYS\",\n numeric: 458,\n latitude: 2.5,\n longitude: 112.5,\n },\n MV: {\n country: \"Maldives\",\n alpha2: \"MV\",\n alpha3: \"MDV\",\n numeric: 462,\n latitude: 3.25,\n longitude: 73,\n },\n ML: {\n country: \"Mali\",\n alpha2: \"ML\",\n alpha3: \"MLI\",\n numeric: 466,\n latitude: 17,\n longitude: -4,\n },\n MT: {\n country: \"Malta\",\n alpha2: \"MT\",\n alpha3: \"MLT\",\n numeric: 470,\n latitude: 35.8333,\n longitude: 14.5833,\n },\n MH: {\n country: \"Marshall Islands\",\n alpha2: \"MH\",\n alpha3: \"MHL\",\n numeric: 584,\n latitude: 9,\n longitude: 168,\n },\n MQ: {\n country: \"Martinique\",\n alpha2: \"MQ\",\n alpha3: \"MTQ\",\n numeric: 474,\n latitude: 14.6667,\n longitude: -61,\n },\n MR: {\n country: \"Mauritania\",\n alpha2: \"MR\",\n alpha3: \"MRT\",\n numeric: 478,\n latitude: 20,\n longitude: -12,\n },\n MU: {\n country: \"Mauritius\",\n alpha2: \"MU\",\n alpha3: \"MUS\",\n numeric: 480,\n latitude: -20.2833,\n longitude: 57.55,\n },\n YT: {\n country: \"Mayotte\",\n alpha2: \"YT\",\n alpha3: \"MYT\",\n numeric: 175,\n latitude: -12.8333,\n longitude: 45.1667,\n },\n MX: {\n country: \"Mexico\",\n alpha2: \"MX\",\n alpha3: \"MEX\",\n numeric: 484,\n latitude: 23,\n longitude: -102,\n },\n FM: {\n country: \"Micronesia, Federated States of\",\n alpha2: \"FM\",\n alpha3: \"FSM\",\n numeric: 583,\n latitude: 6.9167,\n longitude: 158.25,\n },\n MD: {\n country: \"Moldova, Republic of\",\n alpha2: \"MD\",\n alpha3: \"MDA\",\n numeric: 498,\n latitude: 47,\n longitude: 29,\n },\n MC: {\n country: \"Monaco\",\n alpha2: \"MC\",\n alpha3: \"MCO\",\n numeric: 492,\n latitude: 43.7333,\n longitude: 7.4,\n },\n MN: {\n country: \"Mongolia\",\n alpha2: \"MN\",\n alpha3: \"MNG\",\n numeric: 496,\n latitude: 46,\n longitude: 105,\n },\n ME: {\n country: \"Montenegro\",\n alpha2: \"ME\",\n alpha3: \"MNE\",\n numeric: 499,\n latitude: 42,\n longitude: 19,\n },\n MS: {\n country: \"Montserrat\",\n alpha2: \"MS\",\n alpha3: \"MSR\",\n numeric: 500,\n latitude: 16.75,\n longitude: -62.2,\n },\n MA: {\n country: \"Morocco\",\n alpha2: \"MA\",\n alpha3: \"MAR\",\n numeric: 504,\n latitude: 32,\n longitude: -5,\n },\n MZ: {\n country: \"Mozambique\",\n alpha2: \"MZ\",\n alpha3: \"MOZ\",\n numeric: 508,\n latitude: -18.25,\n longitude: 35,\n },\n MM: {\n country: \"Myanmar\",\n alpha2: \"MM\",\n alpha3: \"MMR\",\n numeric: 104,\n latitude: 22,\n longitude: 98,\n },\n NA: {\n country: \"Namibia\",\n alpha2: \"NA\",\n alpha3: \"NAM\",\n numeric: 516,\n latitude: -22,\n longitude: 17,\n },\n NR: {\n country: \"Nauru\",\n alpha2: \"NR\",\n alpha3: \"NRU\",\n numeric: 520,\n latitude: -0.5333,\n longitude: 166.9167,\n },\n NP: {\n country: \"Nepal\",\n alpha2: \"NP\",\n alpha3: \"NPL\",\n numeric: 524,\n latitude: 28,\n longitude: 84,\n },\n NL: {\n country: \"Netherlands\",\n alpha2: \"NL\",\n alpha3: \"NLD\",\n numeric: 528,\n latitude: 52.5,\n longitude: 5.75,\n },\n AN: {\n country: \"Netherlands Antilles\",\n alpha2: \"AN\",\n alpha3: \"ANT\",\n numeric: 530,\n latitude: 12.25,\n longitude: -68.75,\n },\n NC: {\n country: \"New Caledonia\",\n alpha2: \"NC\",\n alpha3: \"NCL\",\n numeric: 540,\n latitude: -21.5,\n longitude: 165.5,\n },\n NZ: {\n country: \"New Zealand\",\n alpha2: \"NZ\",\n alpha3: \"NZL\",\n numeric: 554,\n latitude: -41,\n longitude: 174,\n },\n NI: {\n country: \"Nicaragua\",\n alpha2: \"NI\",\n alpha3: \"NIC\",\n numeric: 558,\n latitude: 13,\n longitude: -85,\n },\n NE: {\n country: \"Niger\",\n alpha2: \"NE\",\n alpha3: \"NER\",\n numeric: 562,\n latitude: 16,\n longitude: 8,\n },\n NG: {\n country: \"Nigeria\",\n alpha2: \"NG\",\n alpha3: \"NGA\",\n numeric: 566,\n latitude: 10,\n longitude: 8,\n },\n NU: {\n country: \"Niue\",\n alpha2: \"NU\",\n alpha3: \"NIU\",\n numeric: 570,\n latitude: -19.0333,\n longitude: -169.8667,\n },\n NF: {\n country: \"Norfolk Island\",\n alpha2: \"NF\",\n alpha3: \"NFK\",\n numeric: 574,\n latitude: -29.0333,\n longitude: 167.95,\n },\n MP: {\n country: \"Northern Mariana Islands\",\n alpha2: \"MP\",\n alpha3: \"MNP\",\n numeric: 580,\n latitude: 15.2,\n longitude: 145.75,\n },\n NO: {\n country: \"Norway\",\n alpha2: \"NO\",\n alpha3: \"NOR\",\n numeric: 578,\n latitude: 62,\n longitude: 10,\n },\n OM: {\n country: \"Oman\",\n alpha2: \"OM\",\n alpha3: \"OMN\",\n numeric: 512,\n latitude: 21,\n longitude: 57,\n },\n PK: {\n country: \"Pakistan\",\n alpha2: \"PK\",\n alpha3: \"PAK\",\n numeric: 586,\n latitude: 30,\n longitude: 70,\n },\n PW: {\n country: \"Palau\",\n alpha2: \"PW\",\n alpha3: \"PLW\",\n numeric: 585,\n latitude: 7.5,\n longitude: 134.5,\n },\n PS: {\n country: \"Palestinian Territory, Occupied\",\n alpha2: \"PS\",\n alpha3: \"PSE\",\n numeric: 275,\n latitude: 32,\n longitude: 35.25,\n },\n PA: {\n country: \"Panama\",\n alpha2: \"PA\",\n alpha3: \"PAN\",\n numeric: 591,\n latitude: 9,\n longitude: -80,\n },\n PG: {\n country: \"Papua New Guinea\",\n alpha2: \"PG\",\n alpha3: \"PNG\",\n numeric: 598,\n latitude: -6,\n longitude: 147,\n },\n PY: {\n country: \"Paraguay\",\n alpha2: \"PY\",\n alpha3: \"PRY\",\n numeric: 600,\n latitude: -23,\n longitude: -58,\n },\n PE: {\n country: \"Peru\",\n alpha2: \"PE\",\n alpha3: \"PER\",\n numeric: 604,\n latitude: -10,\n longitude: -76,\n },\n PH: {\n country: \"Philippines\",\n alpha2: \"PH\",\n alpha3: \"PHL\",\n numeric: 608,\n latitude: 13,\n longitude: 122,\n },\n PN: {\n country: \"Pitcairn\",\n alpha2: \"PN\",\n alpha3: \"PCN\",\n numeric: 612,\n latitude: -24.7,\n longitude: -127.4,\n },\n PL: {\n country: \"Poland\",\n alpha2: \"PL\",\n alpha3: \"POL\",\n numeric: 616,\n latitude: 52,\n longitude: 20,\n },\n PT: {\n country: \"Portugal\",\n alpha2: \"PT\",\n alpha3: \"PRT\",\n numeric: 620,\n latitude: 39.5,\n longitude: -8,\n },\n PR: {\n country: \"Puerto Rico\",\n alpha2: \"PR\",\n alpha3: \"PRI\",\n numeric: 630,\n latitude: 18.25,\n longitude: -66.5,\n },\n QA: {\n country: \"Qatar\",\n alpha2: \"QA\",\n alpha3: \"QAT\",\n numeric: 634,\n latitude: 25.5,\n longitude: 51.25,\n },\n RE: {\n country: \"Réunion\",\n alpha2: \"RE\",\n alpha3: \"REU\",\n numeric: 638,\n latitude: -21.1,\n longitude: 55.6,\n },\n RO: {\n country: \"Romania\",\n alpha2: \"RO\",\n alpha3: \"ROU\",\n numeric: 642,\n latitude: 46,\n longitude: 25,\n },\n RU: {\n country: \"Russian Federation\",\n alpha2: \"RU\",\n alpha3: \"RUS\",\n numeric: 643,\n latitude: 60,\n longitude: 100,\n },\n RW: {\n country: \"Rwanda\",\n alpha2: \"RW\",\n alpha3: \"RWA\",\n numeric: 646,\n latitude: -2,\n longitude: 30,\n },\n SH: {\n country: \"Saint Helena, Ascension and Tristan da Cunha\",\n alpha2: \"SH\",\n alpha3: \"SHN\",\n numeric: 654,\n latitude: -15.9333,\n longitude: -5.7,\n },\n KN: {\n country: \"Saint Kitts and Nevis\",\n alpha2: \"KN\",\n alpha3: \"KNA\",\n numeric: 659,\n latitude: 17.3333,\n longitude: -62.75,\n },\n LC: {\n country: \"Saint Lucia\",\n alpha2: \"LC\",\n alpha3: \"LCA\",\n numeric: 662,\n latitude: 13.8833,\n longitude: -61.1333,\n },\n PM: {\n country: \"Saint Pierre and Miquelon\",\n alpha2: \"PM\",\n alpha3: \"SPM\",\n numeric: 666,\n latitude: 46.8333,\n longitude: -56.3333,\n },\n VC: {\n country: \"Saint Vincent and the Grenadines\",\n alpha2: \"VC\",\n alpha3: \"VCT\",\n numeric: 670,\n latitude: 13.25,\n longitude: -61.2,\n },\n WS: {\n country: \"Samoa\",\n alpha2: \"WS\",\n alpha3: \"WSM\",\n numeric: 882,\n latitude: -13.5833,\n longitude: -172.3333,\n },\n SM: {\n country: \"San Marino\",\n alpha2: \"SM\",\n alpha3: \"SMR\",\n numeric: 674,\n latitude: 43.7667,\n longitude: 12.4167,\n },\n ST: {\n country: \"Sao Tome and Principe\",\n alpha2: \"ST\",\n alpha3: \"STP\",\n numeric: 678,\n latitude: 1,\n longitude: 7,\n },\n SA: {\n country: \"Saudi Arabia\",\n alpha2: \"SA\",\n alpha3: \"SAU\",\n numeric: 682,\n latitude: 25,\n longitude: 45,\n },\n SN: {\n country: \"Senegal\",\n alpha2: \"SN\",\n alpha3: \"SEN\",\n numeric: 686,\n latitude: 14,\n longitude: -14,\n },\n RS: {\n country: \"Serbia\",\n alpha2: \"RS\",\n alpha3: \"SRB\",\n numeric: 688,\n latitude: 44,\n longitude: 21,\n },\n SC: {\n country: \"Seychelles\",\n alpha2: \"SC\",\n alpha3: \"SYC\",\n numeric: 690,\n latitude: -4.5833,\n longitude: 55.6667,\n },\n SL: {\n country: \"Sierra Leone\",\n alpha2: \"SL\",\n alpha3: \"SLE\",\n numeric: 694,\n latitude: 8.5,\n longitude: -11.5,\n },\n SG: {\n country: \"Singapore\",\n alpha2: \"SG\",\n alpha3: \"SGP\",\n numeric: 702,\n latitude: 1.3667,\n longitude: 103.8,\n },\n SK: {\n country: \"Slovakia\",\n alpha2: \"SK\",\n alpha3: \"SVK\",\n numeric: 703,\n latitude: 48.6667,\n longitude: 19.5,\n },\n SI: {\n country: \"Slovenia\",\n alpha2: \"SI\",\n alpha3: \"SVN\",\n numeric: 705,\n latitude: 46,\n longitude: 15,\n },\n SB: {\n country: \"Solomon Islands\",\n alpha2: \"SB\",\n alpha3: \"SLB\",\n numeric: 90,\n latitude: -8,\n longitude: 159,\n },\n SO: {\n country: \"Somalia\",\n alpha2: \"SO\",\n alpha3: \"SOM\",\n numeric: 706,\n latitude: 10,\n longitude: 49,\n },\n ZA: {\n country: \"South Africa\",\n alpha2: \"ZA\",\n alpha3: \"ZAF\",\n numeric: 710,\n latitude: -29,\n longitude: 24,\n },\n GS: {\n country: \"South Georgia and the South Sandwich Islands\",\n alpha2: \"GS\",\n alpha3: \"SGS\",\n numeric: 239,\n latitude: -54.5,\n longitude: -37,\n },\n ES: {\n country: \"Spain\",\n alpha2: \"ES\",\n alpha3: \"ESP\",\n numeric: 724,\n latitude: 40,\n longitude: -4,\n },\n LK: {\n country: \"Sri Lanka\",\n alpha2: \"LK\",\n alpha3: \"LKA\",\n numeric: 144,\n latitude: 7,\n longitude: 81,\n },\n SD: {\n country: \"Sudan\",\n alpha2: \"SD\",\n alpha3: \"SDN\",\n numeric: 736,\n latitude: 15,\n longitude: 30,\n },\n SR: {\n country: \"Suriname\",\n alpha2: \"SR\",\n alpha3: \"SUR\",\n numeric: 740,\n latitude: 4,\n longitude: -56,\n },\n SJ: {\n country: \"Svalbard and Jan Mayen\",\n alpha2: \"SJ\",\n alpha3: \"SJM\",\n numeric: 744,\n latitude: 78,\n longitude: 20,\n },\n SZ: {\n country: \"Swaziland\",\n alpha2: \"SZ\",\n alpha3: \"SWZ\",\n numeric: 748,\n latitude: -26.5,\n longitude: 31.5,\n },\n SE: {\n country: \"Sweden\",\n alpha2: \"SE\",\n alpha3: \"SWE\",\n numeric: 752,\n latitude: 62,\n longitude: 15,\n },\n CH: {\n country: \"Switzerland\",\n alpha2: \"CH\",\n alpha3: \"CHE\",\n numeric: 756,\n latitude: 47,\n longitude: 8,\n },\n SY: {\n country: \"Syrian Arab Republic\",\n alpha2: \"SY\",\n alpha3: \"SYR\",\n numeric: 760,\n latitude: 35,\n longitude: 38,\n },\n TW: {\n country: \"Taiwan, Province of China\",\n alpha2: \"TW\",\n alpha3: \"TWN\",\n numeric: 158,\n latitude: 23.5,\n longitude: 121,\n },\n TJ: {\n country: \"Tajikistan\",\n alpha2: \"TJ\",\n alpha3: \"TJK\",\n numeric: 762,\n latitude: 39,\n longitude: 71,\n },\n TZ: {\n country: \"Tanzania, United Republic of\",\n alpha2: \"TZ\",\n alpha3: \"TZA\",\n numeric: 834,\n latitude: -6,\n longitude: 35,\n },\n TH: {\n country: \"Thailand\",\n alpha2: \"TH\",\n alpha3: \"THA\",\n numeric: 764,\n latitude: 15,\n longitude: 100,\n },\n TL: {\n country: \"Timor-Leste\",\n alpha2: \"TL\",\n alpha3: \"TLS\",\n numeric: 626,\n latitude: -8.55,\n longitude: 125.5167,\n },\n TG: {\n country: \"Togo\",\n alpha2: \"TG\",\n alpha3: \"TGO\",\n numeric: 768,\n latitude: 8,\n longitude: 1.1667,\n },\n TK: {\n country: \"Tokelau\",\n alpha2: \"TK\",\n alpha3: \"TKL\",\n numeric: 772,\n latitude: -9,\n longitude: -172,\n },\n TO: {\n country: \"Tonga\",\n alpha2: \"TO\",\n alpha3: \"TON\",\n numeric: 776,\n latitude: -20,\n longitude: -175,\n },\n TT: {\n country: \"Trinidad and Tobago\",\n alpha2: \"TT\",\n alpha3: \"TTO\",\n numeric: 780,\n latitude: 11,\n longitude: -61,\n },\n TN: {\n country: \"Tunisia\",\n alpha2: \"TN\",\n alpha3: \"TUN\",\n numeric: 788,\n latitude: 34,\n longitude: 9,\n },\n TR: {\n country: \"Turkey\",\n alpha2: \"TR\",\n alpha3: \"TUR\",\n numeric: 792,\n latitude: 39,\n longitude: 35,\n },\n TM: {\n country: \"Turkmenistan\",\n alpha2: \"TM\",\n alpha3: \"TKM\",\n numeric: 795,\n latitude: 40,\n longitude: 60,\n },\n TC: {\n country: \"Turks and Caicos Islands\",\n alpha2: \"TC\",\n alpha3: \"TCA\",\n numeric: 796,\n latitude: 21.75,\n longitude: -71.5833,\n },\n TV: {\n country: \"Tuvalu\",\n alpha2: \"TV\",\n alpha3: \"TUV\",\n numeric: 798,\n latitude: -8,\n longitude: 178,\n },\n UG: {\n country: \"Uganda\",\n alpha2: \"UG\",\n alpha3: \"UGA\",\n numeric: 800,\n latitude: 1,\n longitude: 32,\n },\n UA: {\n country: \"Ukraine\",\n alpha2: \"UA\",\n alpha3: \"UKR\",\n numeric: 804,\n latitude: 49,\n longitude: 32,\n },\n AE: {\n country: \"United Arab Emirates\",\n alpha2: \"AE\",\n alpha3: \"ARE\",\n numeric: 784,\n latitude: 24,\n longitude: 54,\n },\n GB: {\n country: \"United Kingdom\",\n alpha2: \"GB\",\n alpha3: \"GBR\",\n numeric: 826,\n latitude: 54,\n longitude: -2,\n },\n US: {\n country: \"United States\",\n alpha2: \"US\",\n alpha3: \"USA\",\n numeric: 840,\n latitude: 38,\n longitude: -97,\n },\n UM: {\n country: \"United States Minor Outlying Islands\",\n alpha2: \"UM\",\n alpha3: \"UMI\",\n numeric: 581,\n latitude: 19.2833,\n longitude: 166.6,\n },\n UY: {\n country: \"Uruguay\",\n alpha2: \"UY\",\n alpha3: \"URY\",\n numeric: 858,\n latitude: -33,\n longitude: -56,\n },\n UZ: {\n country: \"Uzbekistan\",\n alpha2: \"UZ\",\n alpha3: \"UZB\",\n numeric: 860,\n latitude: 41,\n longitude: 64,\n },\n VU: {\n country: \"Vanuatu\",\n alpha2: \"VU\",\n alpha3: \"VUT\",\n numeric: 548,\n latitude: -16,\n longitude: 167,\n },\n VE: {\n country: \"Venezuela, Bolivarian Republic of\",\n alpha2: \"VE\",\n alpha3: \"VEN\",\n numeric: 862,\n latitude: 8,\n longitude: -66,\n },\n VN: {\n country: \"Viet Nam\",\n alpha2: \"VN\",\n alpha3: \"VNM\",\n numeric: 704,\n latitude: 16,\n longitude: 106,\n },\n VG: {\n country: \"Virgin Islands, British\",\n alpha2: \"VG\",\n alpha3: \"VGB\",\n numeric: 92,\n latitude: 18.5,\n longitude: -64.5,\n },\n VI: {\n country: \"Virgin Islands, U.S.\",\n alpha2: \"VI\",\n alpha3: \"VIR\",\n numeric: 850,\n latitude: 18.3333,\n longitude: -64.8333,\n },\n WF: {\n country: \"Wallis and Futuna\",\n alpha2: \"WF\",\n alpha3: \"WLF\",\n numeric: 876,\n latitude: -13.3,\n longitude: -176.2,\n },\n EH: {\n country: \"Western Sahara\",\n alpha2: \"EH\",\n alpha3: \"ESH\",\n numeric: 732,\n latitude: 24.5,\n longitude: -13,\n },\n YE: {\n country: \"Yemen\",\n alpha2: \"YE\",\n alpha3: \"YEM\",\n numeric: 887,\n latitude: 15,\n longitude: 48,\n },\n ZM: {\n country: \"Zambia\",\n alpha2: \"ZM\",\n alpha3: \"ZMB\",\n numeric: 894,\n latitude: -15,\n longitude: 30,\n },\n ZW: {\n country: \"Zimbabwe\",\n alpha2: \"ZW\",\n alpha3: \"ZWE\",\n numeric: 716,\n latitude: -20,\n longitude: 30,\n },\n AF: {\n country: \"Afghanistan\",\n alpha2: \"AF\",\n alpha3: \"AFG\",\n numeric: 4,\n latitude: 33,\n longitude: 65,\n },\n EU: {\n country: \"Kiribati\",\n alpha2: \"KI\",\n alpha3: \"KIR\",\n numeric: 296,\n latitude: 52,\n longitude: 20,\n },\n ZZ: {\n country: \"Unspecified country\",\n alpha2: \"KI\",\n alpha3: \"KIR\",\n numeric: 296,\n latitude: 26.876597,\n longitude: -55.192925,\n },\n};\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { Input } from 'common/components/Input/Input';\nimport { IResponsePaginatedData } from 'common/interfaces/interface';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport React, { useEffect } from 'react';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport './mapCard.scss';\nexport function MapCard(props: any) {\n const [nextPath, setNextPath] = React.useState(null);\n const [items, setItems] = React.useState([]);\n const [search, setSearch] = React.useState('');\n\n useEffect(() => {\n setItems(props.data.results);\n setNextPath(props.data.next);\n }, [props.data]);\n\n //@description: Sends request for more data\n function handleOnRowsScrollEnd() {\n if (nextPath != null) {\n let path = Common.splitV1FromPath(nextPath);\n RestApi.getPaginatedData(path).subscribe((response: IResponsePaginatedData) => {\n setItems([...items, ...response.results]);\n setNextPath(response.next);\n });\n }\n }\n function handleSearch(event: React.KeyboardEvent) {\n if (event.key === 'Enter') {\n const path = `dashboard/geomap/${props.countryCode}/${props.typeHost}/?search=${search}`;\n RestApi.getPaginatedData(path).subscribe((response: IResponsePaginatedData) => {\n setItems(response.results);\n setNextPath(response.next);\n });\n }\n }\n\n return (\n
    \n
    \n
    \n {\n props.setShowCard(!props.showCard);\n }}\n >\n \n
    \n\n
    {props.country}
    \n
    \n\n
    {props.data.length}
    \n
    \n
    \n setSearch(e)}\n placeholder=\"Search\"\n />\n
    \n\n
    \n
    \n {nextPath ? 'Loading...' : ''} }\n scrollableTarget=\"assignee-div\"\n >\n {items.map((item: string[], key: number) => (\n
    \n
    {item}
    \n
    \n ))}\n \n
    \n
    \n \n );\n}\n","import { IIcon } from 'common/interfaces/interface';\nimport React from 'react';\n\nexport class IconGeoMap extends React.Component {\n public props: IIcon;\n render() {\n let color = '#3455DD'; //this.props.active ? \"#3455DD\" : \"#6D6D7A\";\n return (\n \n \n \n \n \n );\n }\n}\n","import { IIcon } from 'common/interfaces/interface';\nimport React from 'react';\n\nexport class IconExpand extends React.Component {\n public props: IIcon;\n render() {\n return (\n \n \n \n );\n }\n}\n","import { IIcon } from 'common/interfaces/interface';\nimport React from 'react';\n\nexport class IconReduce extends React.Component {\n public props: IIcon;\n render() {\n return (\n \n \n \n \n \n \n );\n }\n}\n","import './mapLegend.scss';\nimport * as d3 from 'd3';\nimport React from 'react';\nexport function MapLegend(props: any) {\n let data = [\n {\n label: 'Digital Supply Chain',\n key: 'external',\n color: '#EF8068',\n toggle: true\n },\n {\n label: 'Org Assets',\n key: 'org',\n color: '#4B7AE7',\n toggle: true\n }\n ];\n const [dataLegend, setDataLegend] = React.useState(data);\n function filterGroup(item: any, index: number) {\n let data = [...dataLegend];\n data[index].toggle = !item.toggle;\n d3.selectAll('.group-' + item.key)\n .transition()\n .duration(400)\n .style('opacity', data[index].toggle ? 1 : 0)\n .attr('r', 0);\n setDataLegend(data);\n }\n\n return (\n
    \n {dataLegend.map((item: any, index: number) => (\n
    \n {\n filterGroup(item, index);\n }}\n className=\"mapLegend-circle\"\n style={{\n background: item.toggle ? item.color : '#fff',\n borderColor: item.color\n }}\n >
    \n
    {item.label}
    \n
    \n ))}\n \n );\n}\n","import React from 'react';\nimport * as d3 from 'd3';\nimport './map.scss';\nimport { COUNTRIES, DATA_MAP } from './config';\nimport { MapCard } from './mapCard/MapCard';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { IconGeoMap } from 'common/components/Icons/IconGeoMap/IconGeoMap';\nimport { IconExpand } from '../Icons/IconExpand/IconExpand';\nimport { IconReduce } from '../Icons/IconReduce/IconReduce';\nimport { MapLegend } from './mapLegend/MapLegend';\nexport class Map extends React.Component {\n public state: any;\n public props: any;\n public svgRef: any;\n public projection: any;\n public path: any;\n public container: any;\n public svg: any;\n constructor(props: any) {\n super(props);\n this.svgRef = React.createRef();\n\n this.state = {\n showCard: false,\n dataCard: [],\n country: '',\n toggleExpand: false\n };\n }\n\n componentDidMount() {\n this.projection = d3.geoEqualEarth();\n this.path = d3.geoPath(this.projection);\n this.container = d3.select('.map-dashboard');\n this.svg = this.container.append('g');\n this.drawMap();\n this.drawCircles();\n }\n\n drawMap() {\n const data = DATA_MAP;\n\n this.svg.append('g');\n\n this.svg\n .selectAll('path')\n .data(data.features)\n .enter()\n .append('path')\n .attr('d', this.path)\n .attr('class', 'map-country');\n\n this.initZoomMap();\n }\n\n initZoomMap() {\n let zoomed = (event: any) => {\n const transform = event.transform;\n this.svg.attr('transform', `translate(${transform.x},${transform.y})scale(${transform.k})`);\n };\n\n let zoom = d3\n .zoom()\n .on('zoom', zoomed)\n .scaleExtent([1, 50]);\n\n this.container.call(zoom);\n\n d3.select('.zoomin').on('click', () => {\n zoom.scaleBy(this.container.transition().duration(750), 3);\n });\n\n d3.select('.zoomout').on('click', () => {\n zoom.scaleBy(this.container.transition().duration(750), 0.4);\n });\n }\n\n drawCircles() {\n let g = this.svg\n .selectAll('g.countr-name')\n .data(this.props.data)\n .enter()\n .append('g');\n this.pointerMap(g.append('g'), 'org', '#4B7AE7');\n this.pointerMap(g.append('g'), 'external', '#EF8068', 1);\n }\n\n pointerMap(element: any, key: any, color: any, test: number = 0) {\n let radius = 3;\n element\n .classed('countr-name', true)\n .attr('class', `group-${key}`)\n .attr('cursor', 'pointer')\n .on('click', (event: any, data: any) => {\n this.getDataCountry(data, key);\n })\n .on('mouseover', (event: any, data: any) => {\n d3.select(`#text-circle-${data.id}-${key}`)\n .transition()\n .duration(500)\n .attr('font-size', '5px')\n .attr('visibility', 'visible');\n d3.select(`#circle-${data.id}-${key}`)\n .transition()\n .duration(500)\n .attr('r', radius * 3);\n })\n .on('mouseout', (event: any, data: any) => {\n d3.select(`#text-circle-${data.id}-${key}`)\n .transition()\n .duration(500)\n .attr('font-size', '1.4px')\n .attr('visibility', 'hidden');\n d3.select(`#circle-${data.id}-${key}`)\n .transition()\n .duration(500)\n .attr('r', radius);\n });\n\n element\n .filter((d: any) => d[key] !== 0 && COUNTRIES[d.id.toUpperCase()])\n .append('circle')\n .attr('id', (event: any) => `circle-${event.id}-${key}`)\n .attr('fill', color)\n .attr('fill-opacity', '0.4')\n .attr('stroke-width', '0.2px')\n .attr('stroke', color)\n .attr('r', radius)\n .attr('cx', (d: any) => {\n return this.projection([\n COUNTRIES[d.id.toUpperCase()].longitude + test,\n COUNTRIES[d.id.toUpperCase()].latitude + test\n ])[0];\n })\n .attr('cy', (d: any) => {\n return this.projection([\n COUNTRIES[d.id.toUpperCase()].longitude + test,\n COUNTRIES[d.id.toUpperCase()].latitude + test\n ])[1];\n });\n\n element\n .filter((d: any) => d[key] !== 0 && COUNTRIES[d.id.toUpperCase()])\n .append('text')\n .attr('x', (d: any) => {\n return this.projection([\n COUNTRIES[d.id.toUpperCase()].longitude + test,\n COUNTRIES[d.id.toUpperCase()].latitude + test\n ])[0];\n })\n .attr('y', (d: any) => {\n return this.projection([\n COUNTRIES[d.id.toUpperCase()].longitude + test,\n COUNTRIES[d.id.toUpperCase()].latitude + test\n ])[1];\n })\n .attr('id', (event: any) => `text-circle-${event.id}-${key}`)\n .attr('text-anchor', 'middle')\n .attr('font-size', '1.4px')\n .attr('visibility', 'hidden')\n .attr('dy', '.3em')\n .text((event: any) => {\n return event[key];\n });\n }\n\n getDataCountry(data: any, type: string) {\n if (this.state.toggleExpand) {\n let country = COUNTRIES[data.id.toUpperCase()].country;\n let path = `${Paths[PathNames.geomap]}${data.id}/${type}/?limit=100&offset=0`;\n let object = { ...this.state };\n RestApi.getPaginatedData(path).subscribe((response: any) => {\n this.setState({\n ...object,\n showCard: true,\n dataCard: response,\n country: country,\n countryCode: data.id,\n typeHost: type\n });\n });\n }\n }\n\n expandOrReduce() {\n let object = { ...this.state };\n this.setState({\n ...object,\n toggleExpand: !object.toggleExpand\n });\n if (this.state.toggleExpand) {\n this.setState({\n ...object,\n toggleExpand: !object.toggleExpand,\n showCard: false\n });\n }\n }\n\n setShowCard(toggle: boolean) {\n let object = { ...this.state };\n this.setState({\n ...object,\n showCard: toggle\n });\n }\n\n render() {\n return this.props.data ? (\n <>\n \n
    \n
    \n
    \n \n
    Geo Map
    \n
    \n
    \n
    -
    \n
    +
    \n
    \n {this.state.toggleExpand ? : }\n
    \n
    \n
    \n \n \n {this.state.showCard && (\n this.setShowCard(e)}\n data={this.state.dataCard}\n countryCode={this.state.countryCode}\n country={this.state.country}\n typeHost={this.state.typeHost}\n />\n )}\n
    \n \n ) : (\n
    No Data
    \n );\n }\n}\n","import { useEffect, useRef } from 'react';\nimport * as d3 from 'd3';\nimport './areaChart.scss';\nimport { Common } from 'common/services/common.service';\ninterface Entry {\n date: string;\n value: string;\n}\n\nexport function AreaChart(props: any) {\n const svgRef = useRef(null);\n let id = Math.random();\n useEffect(() => {\n if (!props.data) {\n return;\n }\n //Tooltip\n let tooltip: any = d3.select(`.ttG-d3-scope`);\n function createGraph() {\n let color = props.is_graph_positive ? '#69b3a2' : '#F46666';\n let parseTime = d3.timeParse('%m/%d/%Y');\n // set the dimensions and margins of the graph\n const margin: any = { top: 10, right: 30, bottom: 30, left: 50 },\n width: any = 650,\n height: any = 60;\n // append the svg object to the body of the page\n const svg = d3.select(svgRef.current);\n svg\n .selectAll('*')\n .remove()\n .attr('transform', `translate(${margin.left},${margin.top})`);\n\n if (props.is_display_measurement_lines) {\n const scaleLinear = d3\n .scaleLinear()\n .domain(d3.extent(props.data, (d: Entry) => +d.value) as [number, number])\n .rangeRound([height, 0]);\n svg\n .append('g')\n .attr('class', 'y-axis')\n // .attr(\"strokeDasharray\", \"7\")\n .call(\n d3\n .axisLeft(scaleLinear)\n .ticks(5)\n .tickSizeOuter(0)\n .tickSize(-width)\n .tickFormat(d => '')\n );\n }\n\n // Add X axis --> it is a date format\n const x: any = d3\n .scaleTime()\n .domain(d3.extent(props.data, (d: Entry) => parseTime(splitTime(d.date))) as [Date, Date])\n .range([0, width]);\n\n svg\n .append('g')\n .attr('class', props.is_display_x ? 'areaChart-x display-x' : 'areaChart-x udisplay-x')\n .attr('transform', `translate(0,${height})`)\n .call(\n d3\n .axisBottom(x)\n .ticks(6)\n .tickSizeOuter(0)\n );\n\n // Add Y axis\n const y = d3\n .scaleLinear()\n .domain(d3.extent(props.data, (d: Entry) => +d.value) as [number, number])\n .range([height, 0]);\n svg\n .append('g')\n .attr('class', props.is_display_y ? 'display-y' : 'udisplay-y')\n .attr('transform', 'translate(-5,0)')\n .call(\n d3\n .axisLeft(y)\n .ticks(4)\n .tickSizeOuter(0)\n );\n\n const lg = svg\n .append('defs')\n .append('linearGradient')\n .attr('id', `mygrad-${id}`)\n .attr('x1', '0%')\n .attr('x2', '0%')\n .attr('y1', '0%')\n .attr('y2', '100%'); //since its a vertical linear gradient\n lg.append('stop')\n .attr('offset', '0%')\n .style('stop-color', color)\n .style('stop-opacity', 1);\n\n lg.append('stop')\n .attr('offset', '100%')\n .style('stop-color', '#ffffff00')\n .style('stop-opacity', 1);\n\n // Add the area\n svg\n .append('path')\n .datum(props.data)\n .style('fill', `url(#mygrad-${id})`)\n .attr('class', 'path-chart-c')\n .attr('fill-opacity', 0.3)\n .attr('stroke', 'none')\n .attr(\n 'd',\n d3\n .area()\n .x((d: any) => x(parseTime(splitTime(d.date))))\n .y0(height)\n .y1((d: any) => y(d.value))\n );\n\n // const transitionPath = d3.transition().ease(d3.easeSin).duration(800);\n // Add the line\n svg\n .append('path')\n .attr('class', 'path-chart')\n .datum(props.data)\n .attr('fill', 'none')\n .attr('stroke', color)\n .attr('stroke-width', 2)\n // .transition(transitionPath)\n .attr(\n 'd',\n d3\n .line()\n .x((d: any) => x(parseTime(splitTime(d.date))))\n .y((d: any) => y(d.value))\n );\n\n drawRects(svg, x, y, parseTime, height);\n drawCircles(svg, color, x, y, parseTime);\n }\n\n function splitTime(time: string) {\n return time.split('T')[0];\n }\n\n function drawRects(svg: any, x: any, y: any, parseTime: any, height: number) {\n if (props.is_display_vertical_lines) {\n let rect = svg\n .selectAll('myrect')\n .data(props.data)\n .enter();\n rect\n .append('rect')\n .attr('x', (e: any) => {\n return x(parseTime(splitTime(e.date)));\n })\n .attr('y', (e: any) => y(e.value))\n .attr('width', '0.01')\n .attr('height', (e: any) => height - y(e.value))\n .attr('stroke', '#B7BBC5')\n .attr('stroke-dasharray', '9')\n .attr('stroke-width', '.06vw');\n\n let rectHidden = rect\n .append('rect')\n .attr('x', (e: any) => {\n return x(parseTime(splitTime(e.date)));\n })\n .attr('y', (e: any) => y(e.value))\n .attr('width', '6')\n .attr('height', (e: any) => height - y(e.value))\n .attr('stroke', '#ffffff00')\n .attr('fill', '#ffffff00');\n\n toggleOpenTooltip(rectHidden);\n }\n }\n\n function drawCircles(svg: any, color: string, x: any, y: any, parseTime: any) {\n // Add the circles\n let circles = svg\n .selectAll('myCircles')\n .data(props.data)\n .enter()\n .filter((data: any, index: number) => (props.is_accentuate_graph_end ? index === 0 : data));\n\n circles\n .append('circle')\n .attr('fill', 'black')\n .attr('stroke', color)\n .attr('cx', (d: any) => x(parseTime(splitTime(d.date))))\n .attr('cy', (d: any) => y(d.value))\n .attr('r', 4);\n\n let circleHidden = circles\n .append('circle')\n .attr('id', (d: any, index: any) => {\n d.isEnd = props.data.length - 1 === index || 0 === index;\n return d.index;\n })\n .attr('stroke', '#ffffff00')\n .attr('fill', '#ffffff00')\n .attr('cx', (d: any) => x(parseTime(splitTime(d.date))))\n .attr('cy', (d: any) => y(d.value))\n .attr('r', 10);\n\n toggleOpenTooltip(circleHidden);\n }\n\n function hiddenTooltip() {\n tooltip.style('opacity', 0);\n tooltip.style('display', 'none');\n }\n\n function toggleOpenTooltip(element: any) {\n element\n .on('mouseover', (e: any, d: any, y: any) => {\n tooltip.style('opacity', 1).style('display', 'block');\n setTimeout(() => {\n let left = d.isEnd ? e.pageX - tooltip.node().offsetWidth : e.pageX + 10;\n let top = d.isEnd ? e.pageY : e.pageY;\n tooltip\n .html(onTooltipTemplate(d))\n .style('left', left + 'px')\n .style('top', top + 'px');\n });\n })\n .on('wheel', hiddenTooltip)\n .on('mouseout', hiddenTooltip);\n }\n\n createGraph();\n }, [props, id]);\n\n function onTooltipTemplate(event: any) {\n return `\n
    \n
    \n
    \n
    ${event.header}
    \n
    ${Common.getDateFormat(event.date)}
    \n
    \n
    ${event.label}
    \n
    \n\n ${\n event.added || event.removed\n ? `\n
      \n ${\n event.added\n ? `
    • \n ${event.added}\n Added from last scan\n
    • `\n : ''\n }\n ${\n event.removed\n ? `
    • \n ${event.removed}\n Removed from last scan\n
    • `\n : ''\n }\n
    \n `\n : ''\n }\n\n ${event.isEnd ? '' : `
    `}\n
    \n `;\n }\n\n return (\n
    \n \n
    \n );\n}\n","import { IconRisk } from 'common/components/Icons/IconRisk/IconRisk';\nimport { Common } from 'common/services/common.service';\nimport './chartLineLegend.scss';\ninterface ILegend {\n header: string;\n name: string;\n value: number;\n}\n\ninterface IChartLineLegend {\n data: ILegend[];\n isIconRisk?: boolean;\n hideNumber?: boolean;\n}\n\nexport function ChartLineLegend(props: IChartLineLegend) {\n return (\n
    \n {props.data &&\n props.data.map((item: ILegend, index: number) => (\n
    \n
    \n \n
    {item.header}
    \n
    \n {!props.hideNumber && (\n
    {Common.numberWithCommas(item.value || 0)}
    \n )}\n
    \n ))}\n
    \n );\n}\n","import { Common } from 'common/services/common.service';\nimport { ChartLineLegend } from 'common/components/chartLineRisk/chartLineLegend/ChartLineLegend';\nimport './chartLineRisk.scss';\n\ninterface IType {\n header: string;\n name: string;\n value: number;\n}\n\ninterface IChartLine {\n data: IType[];\n count: number;\n viewLegend: boolean;\n}\n\nexport function ChartLineRisk(props: IChartLine) {\n //@param: item = An object that contains within it. Risk level and number\n //@description = Builds a sub-line design\n //@return style CSS\n function addStyle(item: IType) {\n return {\n background: Common.getColorByUrgency(item.name),\n width: `${calcPercent(item.value)}%`\n };\n }\n\n //@param: num = number\n //@description Excluding a percentage from a number\n //@return percent\n function calcPercent(num: number) {\n return (num / props.count) * 100;\n }\n\n return (\n
    \n
    \n {props.data &&\n props.data.map((item: IType, index: number) => {\n return item.value !== 0 &&
    ;\n })}\n
    \n {props.viewLegend && }\n
    \n );\n}\n","import { Common } from 'common/services/common.service';\nimport './categories.scss';\ninterface ILegend {\n header: string;\n name: string;\n value: string;\n}\n\ninterface IFormCategories {\n data: ILegend[];\n label: string;\n}\n\nexport function Categories(props: IFormCategories) {\n const getValue = (val: string): string | number => {\n const valueAsNumber = parseInt(val);\n if (Number.isNaN(valueAsNumber)) {\n return val;\n }\n\n return Common.numberWithCommas(valueAsNumber);\n };\n\n return (\n
    \n {props.data &&\n props.data.map((item: ILegend, index: number) => (\n
    \n
    {item.header}
    \n
    {getValue(item.value)}
    \n
    \n ))}\n
    \n );\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconAkamai extends React.Component {\n public props: IIcon;\n\n render() {\n let color = this.props.active ? '#8796F0' : '#5D6576';\n return (\n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconDomain extends React.Component {\n public props: IIcon;\n\n render() {\n return (\n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconAWS extends React.Component {\n public props: IIcon;\n\n render() {\n let color = this.props.active ? '#8796F0' : '#5D6576';\n return (\n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconAzure extends React.Component {\n public props: IIcon;\n\n render() {\n let color = this.props.active ? '#8796F0' : '#5D6576';\n return (\n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconCloudFlare extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#8796F0' : '#5D6576';\n return (\n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconGCP extends React.Component {\n public props: IIcon;\n\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconInCapsula extends React.Component {\n public props: IIcon;\n\n render() {\n let color = this.props.active ? '#8C909A' : '#5D6576';\n return (\n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconIP extends React.Component {\n public props: IIcon;\n\n render() {\n let color = this.props.active ? '#8C909A' : '#5D6576';\n return (\n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconOther extends React.Component {\n public props: IIcon;\n\n render() {\n let color = this.props.active ? '#8C909A' : '#5D6576';\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconSubDomain extends React.Component {\n public props: IIcon;\n\n render() {\n return (\n \n \n \n \n \n );\n }\n}\n","import { IconAkamai } from 'common/components/Icons/IconAkamai/IconAkamai';\nimport { IconDomain } from 'common/components/Icons/IconAkamai/IconDomain/IconDomain';\nimport { IconAWS } from 'common/components/Icons/IconAWS/IconAWS';\nimport { IconAzure } from 'common/components/Icons/IconAzure/IconAzure';\nimport { IconCloudFlare } from 'common/components/Icons/IconCloudFlare/IconCloudFlare';\nimport { IconEdgio } from 'common/components/Icons/IconEdgio/IconEdgio';\nimport { IconGCP } from 'common/components/Icons/IconGCP/IconGCP';\nimport { IconHeroku } from 'common/components/Icons/IconHeroku/IconHeroku';\nimport { IconInCapsula } from 'common/components/Icons/IconInCapsula/IconInCapsula';\nimport { IconIP } from 'common/components/Icons/IconIP/IconIP';\nimport { IconNetlify } from 'common/components/Icons/IconNetlify/IconNetlify';\nimport { IconOther } from 'common/components/Icons/IconOther/IconOther';\nimport { IconOVH } from 'common/components/Icons/IconOVH/IconOVH';\nimport { IconSubDomain } from 'common/components/Icons/IconSubDomain/IconSubDomain';\nimport { IconVerizon } from 'common/components/Icons/IconVerizon/IconVerizon';\n\nexport const ICONS: any = {\n azure: IconAzure,\n aws: IconAWS,\n gcp: IconGCP,\n akamai: IconAkamai,\n verizon: IconVerizon,\n heroku: IconHeroku,\n netlify: IconNetlify,\n ovh: IconOVH,\n edgio: IconEdgio,\n incapsula: IconInCapsula,\n cloudflare: IconCloudFlare,\n default: IconIP,\n ip: IconIP,\n domain: IconDomain,\n 'sub-domain': IconSubDomain,\n other: IconOther\n};\n","import { Common } from 'common/services/common.service';\nimport { ICONS } from './config';\nimport './CategoriesWithIcons.scss';\ninterface ILegend {\n header: string;\n name: string;\n value: number;\n}\n\ninterface IFormHostingProvier {\n data: ILegend[];\n label: string;\n count?: number;\n}\n\nexport function CategoriesWithIcons(props: IFormHostingProvier) {\n const extractAppName = (appName: string): string => {\n return appName\n .split('(')[0]\n .trim()\n .toLowerCase();\n };\n\n function createElement() {\n let Component;\n let list: any = [];\n props.data &&\n props.data.forEach((item: ILegend, index: number) => {\n const appName = extractAppName(item.header.toLowerCase());\n Component = ICONS[appName] ? ICONS[appName] : ICONS.default;\n list.push(\n
    \n \n
    \n {item.header}\n
    \n
    {Common.numberWithCommas(item.value)}
    \n
    \n );\n });\n return list;\n }\n return (\n
    \n {createElement()}\n {/* */}\n
    \n );\n}\n","import { IconArrowTrend } from 'common/components/Icons/IconArrowTrend/IconArrowTrend';\nimport { IconCircledArrowRight } from 'common/components/Icons/IconCircledArrowRight/IconCircledArrowRight';\nimport { Common } from 'common/services/common.service';\nimport './number.scss';\n\nexport function Number(props: any) {\n return (\n
    \n
    \n
    {props.label}
    \n {props.is_redirect && }\n
    \n
    \n {props.value && Common.numberWithCommas(props.value)}\n {props.label_number && {props.label_number}}\n {props.is_upward_trajectory !== null && (\n \n )}\n
    \n
    \n );\n}\n","import './text.scss';\n\nexport function Text(props: any) {\n return (\n
    \n
    \n
    {props.label}
    \n
    \n
    {props.value}
    \n
    \n );\n}\n","import { AreaChart } from '../areaChart/AreaChart';\nimport { ChartLineRisk } from '../chartLineRisk/ChartLineRisk';\nimport { PieChart } from '../pieChart/PieChart';\nimport { Score } from '../score/Score';\nimport { Categories } from './sections/components/categories/Categories';\nimport { CategoriesWithIcons } from './sections/components/CategoriesWithIcons/CategoriesWithIcons';\nimport { Number } from './sections/components/number/Number';\nimport { Text } from './sections/components/text/text';\n// import { FormTags } from \"./components/formTags/FormTags\";\nexport const ManageComponents = {\n //@param: data = data\n //@description: Add a form by component type\n switchComponents(data: any) {\n switch (data.type) {\n case 'categories_with_icon':\n return ;\n // case \"tags\":\n // return ;\n case 'risk':\n return ;\n case 'graph':\n return ;\n\n case 'pie':\n return (\n \n );\n\n case 'categories':\n return ;\n\n case 'score_arrow':\n return ;\n\n case 'number':\n return ;\n case 'text':\n return ;\n }\n }\n};\n","import React from 'react';\nimport { ManageComponents } from 'common/components/summary/manageComponents';\nimport './sections.scss';\n\nexport function Sections(props: any) {\n return (\n <>\n {props.sections.length !== 0 &&\n props.sections.map((item: any, index: number) => (\n {ManageComponents.switchComponents(item)}\n ))}\n \n );\n}\n","import './actionItemsSummar.scss';\nimport { Sections } from 'common/components/summary/sections/Sections';\nimport { IconActionItems } from 'common/components/Icons/IconActionItems/IconActionItems';\nimport { HeaderForm } from '../headerForm/HeaderForm';\nimport { Common } from 'common/services/common.service';\nexport function ActionItemsSummar(props: any) {\n return Common.isNotEmpty(props) ? (\n
    \n \n
    \n \n
    \n
    \n ) : (\n
    No Data
    \n );\n}\n","import { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport './DownloadReportRow.scss';\n\nexport function DownloadReportRow(props: any) {\n const getLink = (e: any) => {\n e.preventDefault();\n RestApi.setData(`reports/${props.type}/${props.data.name}/link/`, {}, 'POST').subscribe((response: any) => {\n window.open(response.link);\n });\n };\n\n return (\n
  • \n
    \n {props.isLatest && Latest}\n \n {Common.getDateString(props.data.date)} ({Common.getFileSize(props.data.size)}MB)\n \n
    \n \n
  • \n );\n}\n","import { IReduxState } from 'app/store';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { IResponsePaginatedData } from 'common/interfaces/interface';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { tosterService } from 'common/services/tostar.service';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { DownloadReportRow } from '../DownloadReportRow/DownloadReportRow';\nimport { REPORT_TYPES } from '../DownloadReports';\nimport './ReportsList.scss';\n\ninterface IReportFile {\n size: number;\n name: string;\n date: string;\n}\nexport function ReportsList(props: any) {\n const [list, setList] = useState([]);\n const [loading, setLoading] = useState(false);\n const [type, setType] = useState('');\n const [loadingText, setLoadingText] = useState('');\n const [next, setNext] = useState();\n const { user } = useSelector((state: IReduxState) => state.login);\n\n let reachedEnd = false;\n\n useEffect(() => {\n if (props.open && props.type) {\n getList();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.type, props.open]);\n\n const getList = () => {\n setLoading(true);\n RestApi.getData(`reports/${props.type}/`).subscribe((response: any) => {\n setList(response.results);\n setLoading(false);\n setType(props.type);\n setNext(response.next);\n });\n };\n\n const generate = () => {\n setLoading(true);\n setLoadingText('Creating a report, this might take a few minutes...');\n RestApi.setData(\n 'reports/executive/',\n {\n report: Common.AddMsspAccountIfNeeded(\n `${window.location.origin}/settings/generate-executive-report?company=${user.company_name}&reportType=poc&logo=show&panel=hide`\n )\n },\n 'POST'\n ).subscribe(\n (response: any) => {\n setLoadingText('');\n setLoading(false);\n tosterService.onShowToster('Report Generated Successfully', 'success', '');\n getList();\n },\n error => {\n setLoadingText('');\n setLoading(false);\n tosterService.onShowToster('There was a problem generating the report, please try again later.', 'danger', '');\n }\n );\n };\n\n const shouldShowGenerateButton = () => {\n return props.type === REPORT_TYPES.EXECUTIVE;\n };\n\n const onScrollList = (event: any) => {\n if (!next) {\n return;\n }\n if (event.target.scrollTop + event.target.clientHeight > event.target.scrollHeight - 20 && !reachedEnd) {\n RestApi.getData(Common.splitV1FromPath(next)).subscribe((response: IResponsePaginatedData) => {\n setList([...list, ...response.results]);\n setNext(response.next);\n reachedEnd = false;\n });\n reachedEnd = true;\n }\n };\n\n return (\n
    \n {loading && }\n
    \n
    \n {type} Reports\n
    \n {shouldShowGenerateButton() && (\n \n )}\n
    \n {!list.length && (\n
    \n \"Download\"\n
    No reports to download
    \n
    \n )}\n {!!list.length && (\n
    \n
    onScrollList(e)}>\n
    \n
      \n {list.map((item, i) => (\n \n ))}\n
    \n
    \n
    \n
    \n )}\n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport classNames from 'classnames';\nimport { useSelector } from 'react-redux';\nimport { useEffect, useRef, useState } from 'react';\n// import { IconArrow } from \"../Icons/IconArrow/IconArrow\";\nimport './DownloadReports.scss';\nimport { IconRadioButton } from '../Icons/IconRadioButton/IconRadioButton';\nimport { ReportsList } from './ReportsList/ReportsList';\nimport { IconArrow } from '../Icons/IconArrow/IconArrow';\nimport { LoginService } from 'login/services/login.service';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\n\nexport const REPORT_TYPES = {\n EXECUTIVE: 'executive',\n ASM: 'asm'\n};\n\nexport function DownloadReports() {\n const [open, setOpen] = useState(false);\n const [activeTab, setActiveTab] = useState('');\n const ref = useRef(null);\n const { user } = useSelector((state: IReduxState) => state.login);\n\n const flags = useFlags();\n\n useEffect(() => {\n if (user && Object.keys(flags).length) {\n if (isExecutiveEnabled()) {\n setActiveTab(REPORT_TYPES.EXECUTIVE);\n } else if (isAsmEnabled()) {\n setActiveTab(REPORT_TYPES.ASM);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [user, flags]);\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n const shouldShowDropDown = (): boolean => {\n return isExecutiveEnabled() || isAsmEnabled();\n };\n\n const isExecutiveEnabled = (): boolean => {\n if (LoginService.isCyberpionUser(user)) {\n return true;\n }\n if (flags.isExecutiveReports && flags.isOrgScore && LoginService.isAdminOrAbove(user)) {\n return true;\n }\n\n return false;\n };\n\n const isAsmEnabled = (): boolean => {\n if (LoginService.isCyberpionUser(user)) {\n return true;\n }\n return flags.isAsmReports && !LoginService.isRestrictedMember(user);\n };\n\n if (!shouldShowDropDown()) {\n return null;\n }\n\n return (\n
    \n
    setOpen(!open)}>\n Download Reports \n
    \n
    \n
    \n
    Select Type
    \n
      \n
    • setActiveTab('executive')}>\n Executive Report\n
    • \n {isAsmEnabled() && (\n
    • setActiveTab('asm')}>\n ASM Report\n
    • \n )}\n
    \n
    \n \n
    \n
    \n );\n}\n","import { useState } from 'react';\nimport './ToggleButtons.scss';\nimport classNames from 'classnames';\n\ninterface IToggleButtons {\n options: [string, string];\n onToggle: (selectedOption: string) => void;\n}\n\nexport function ToggleButtons(props: IToggleButtons) {\n const [toggled, setToggled] = useState(false);\n\n return (\n {\n props.onToggle(!toggled ? props.options[1] : props.options[0]);\n setToggled(!toggled);\n }}\n >\n {props.options.map((option: string, index) => {\n return (\n \n {option}\n \n );\n })}\n
    \n \n );\n}\n","// import { ASM_RADAR_CATEGORY_MAP, shouldShowHighlight } from '@cyberpion/cyberpion-ui';\nimport { ASM_RADAR_CATEGORY_MAP, shouldShowHighlight } from '@cyberpion/cyberpion-ui';\nimport { RestApi } from '../../services/rest-api.service';\nimport { Common } from 'common/services/common.service';\n\nconst getSeverity = (row: any) => {\n if (row?.urgency?.urgency) {\n return row.urgency.urgency;\n } else if (row?.risk_score?.risk_score) {\n return Math.floor(row.risk_score.risk_score * 0.1);\n } else {\n return 0;\n }\n};\n\nconst addAdditionalCounts = (results: any) => {\n const additionalCountResults = results.map((row: any) => {\n if (row.min_count && row.additional_count_id) {\n const additionalCountId = row.additional_count_id;\n const additionalCountItem = results.filter((row: any) => row.id === additionalCountId)[0];\n if (additionalCountItem && additionalCountItem.count + row.min_count > row.count) {\n return { ...row, count: additionalCountItem.count + row.min_count };\n }\n }\n return row;\n });\n\n return additionalCountResults;\n};\n\nexport const fetchASMRadar = async (configJson: any, globalFilter: string, shouldAddResults: boolean = false) => {\n let resultJson: any = {};\n\n const categories: string[] = Object.keys(configJson).sort();\n for (let i = 0; i < categories.length; i++) {\n const urls = configJson[categories[i]]\n .sort((a: any, b: any) => b.priority - a.priority)\n .map((object: any) => {\n if (globalFilter) {\n return object.api_call + `&group=${globalFilter}`;\n } else {\n return object.api_call;\n }\n });\n const promises: any = await RestApi.getPromiseAll(urls);\n const results: any[] = [];\n configJson[categories[i]]\n .sort((a: any, b: any) => b.priority - a.priority)\n .forEach((object: any, index: number) => {\n if (promises[index]) {\n results.push({\n ...object,\n hyperlink: Common.AddMsspAccountIfNeeded(object.hyperlink),\n count: promises[index].count,\n severity: object.severity === null ? getSeverity(promises[index].results[0]) : object.severity,\n ...(shouldAddResults ? { results: promises[index].results } : {})\n });\n index++;\n }\n });\n resultJson[categories[i]] = addAdditionalCounts(results.filter((row: any) => row.count));\n if (Object.keys(resultJson).length === categories.length) {\n let filteredConfigJson: any = {\n 1: [],\n 2: [],\n 3: [],\n '1.5': [],\n '2.5': []\n };\n for (let category in resultJson) {\n for (let i = 1; resultJson[category].length >= i; i++) {\n if (\n shouldShowHighlight(resultJson, ASM_RADAR_CATEGORY_MAP[category].limit, resultJson[category][i - 1], i - 1)\n ) {\n filteredConfigJson = {\n ...filteredConfigJson,\n ...(!!filteredConfigJson[category]\n ? { [category]: [...filteredConfigJson[category], resultJson[category][i - 1]] }\n : { [category]: [resultJson[category][i - 1]] })\n };\n }\n }\n }\n console.log('ASM Radar Data', filteredConfigJson);\n\n return filteredConfigJson;\n }\n }\n};\n","import { useEffect, useRef, useState } from 'react';\nimport { ASMWidget, ASMLegend, ASMTableView } from '@cyberpion/cyberpion-ui';\nimport classNames from 'classnames';\nimport { IconExpand } from '../Icons/IconExpand/IconExpand';\nimport { IconReduce } from '../Icons/IconReduce/IconReduce';\nimport { RestApi } from '../../services/rest-api.service';\nimport { AppLoading } from '../appLoading/appLoading';\nimport { Button } from '../Button/Button';\nimport { ToggleButtons } from '../ToggleButtons/ToggleButtons';\nimport { fetchASMRadar } from './sevice.api';\n\nimport './ASMWrapper.scss';\nimport { useSelector } from 'react-redux';\n\nexport function ASMWrapper(props: any) {\n const ref = useRef(null);\n const [expand, setExpand] = useState(props.isExpand);\n const [showLegend, setShowLegend] = useState(false);\n const [currentView, setCurrentView] = useState('graph'); // graph | table\n const [data, setData] = useState({});\n const [loading, setLoading] = useState(false);\n const { globalFilter } = useSelector((state: any) => state.general);\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n useEffect(() => {\n if (expand) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'visible';\n }\n }, [expand]);\n\n useEffect(() => {\n setLoading(true);\n async function fetchAndEnrichedASMRadar(configJson: any) {\n const data = await fetchASMRadar(configJson, globalFilter);\n setTimeout(() => {\n setData(data);\n }, 1000);\n }\n\n RestApi.getData('configuration/asm/').subscribe((response: any) => {\n fetchAndEnrichedASMRadar(response);\n });\n }, [globalFilter]);\n\n useEffect(() => {\n if (!!data && Object.keys(data).length) {\n setLoading(false);\n } else {\n setLoading(true);\n }\n }, [data]);\n\n const onToggle = (selectedOption: string) => {\n setCurrentView(selectedOption.split(' ')[0].toLowerCase());\n };\n\n const handleClickOutside = (event: Event) => {\n const clickedElement: Node | any = event.target;\n if (ref.current && !ref.current.contains(clickedElement) && !clickedElement.closest('.Button')) {\n setShowLegend(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n return (\n
    \n
    \n \n
    \n
    \n Threat Exposure Radar\n
    \n \n setShowLegend(!showLegend)}\n addArrow\n />\n
    setExpand(!expand)}>\n {expand ? : }\n
    \n
    \n
    \n
    \n
    \n
    \n {!loading ? (\n
    \n
    \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n ) : (\n \n )}\n
    \n
    \n );\n}\n","import { useEffect, useState } from 'react';\nimport { PieChartForm } from '../pieChartForm/PieChartForm';\nimport './DomainRegistrars.scss';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useSelector } from 'react-redux';\n\nexport function DomainRegistrars(props: any) {\n const [data, setData] = useState({});\n const { globalFilter } = useSelector((state: any) => state.general);\n\n useEffect(() => {\n setData({});\n RestApi.getData(`metadata/asset/org_assets/${globalFilter ? `?group=${globalFilter}` : ''}`).subscribe(\n (response: any) => {\n if (response.domain_registrars) {\n try {\n setData(prepareDomainRegistrarsData(response.domain_registrars));\n } catch (e) {}\n }\n }\n );\n }, [globalFilter]);\n\n const prepareDomainRegistrarsData = (_data: any) => {\n let count: number = _data.count;\n const graphData: any = {\n type: 'pie',\n label: 'Domain Registrars',\n data: []\n };\n _data.results.splice(0, 3).forEach((row: any) => {\n const rowCount: any = Object.values(row)[0];\n const key = Object.keys(row)[0];\n const value = Object.values(row)[0];\n if (key && value) {\n if (typeof value === 'number') {\n count = count - rowCount;\n }\n graphData.data.push({\n header: key,\n value: value,\n label: value,\n linkTo: `/pages/discovery/internalAssets/?fields=asset%2Crisk_score%2Ctype%2Cimportance%2Chosting_provider%2Cregistrar%2Ctechnologies%2Cfirst_seen%2Cservice_type%2Cservice%2Cgroups&filters=%7B\"registrar\"%3A\"${key}\"%2C\"type__in\"%3A\"0\"%7D`\n });\n }\n });\n if (count > 0) {\n graphData.data.push({\n header: 'Other',\n value: count,\n label: count\n });\n }\n return graphData;\n };\n\n if (!Object.keys(data).length) {\n return null;\n }\n\n return ;\n}\n","import { useEffect, useState } from 'react';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { TopAssetsAtRisk } from './components/topAssetsAtRisk/TopAssetsAtRisk';\nimport { PieChartForm } from './components/pieChartForm/PieChartForm';\nimport { CriticalActionsOverTime } from './components/criticalActionsOverTime/CriticalActionsOverTime';\nimport { Map } from 'common/components/map/Map';\nimport { ActionItemsSummar } from './components/actionItemsSummar/ActionItemsSummar';\nimport { updateHeader } from 'common/services/common.service';\nimport TopPanel from 'common/components/TopPanel/TopPanel';\nimport { DownloadReports } from 'common/components/DownloadReports/DownloadReports';\nimport TOP_PANEL_PAGES from 'common/constants/topPanelPages';\nimport { ASMWrapper } from 'common/components/ASMWrapper/ASMWrapper';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { AppDispatch } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { resetColumnPicker } from 'features/columnPickerSlice';\n\nimport './dashboard.scss';\nimport { DomainRegistrars } from './components/DomainRegistrars/DomainRegistrars';\nimport { GroupFilter } from 'common/components/GroupFilter/GroupFilter';\nimport { urlToStateConverter } from 'common/services/UrlToStateConverter.service';\n\nexport function Dashboard() {\n const [response, setResponse] = useState({});\n const [topPanelData, setTopPanelData] = useState(null);\n const [isLoading, setIsLoading] = useState(true);\n const { globalFilter } = useSelector((state: any) => state.general);\n const { isLoggedIn } = useSelector((state: any) => state.login);\n const flags = useFlags();\n const dispatch: AppDispatch = useDispatch();\n\n useEffect(() => {\n dispatch(resetColumnPicker());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (isLoggedIn) {\n updateHeader.sendHeaderText('Dashboard');\n }\n }, [isLoggedIn]);\n\n useEffect(() => {\n setIsLoading(true);\n setResponse({});\n getData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [globalFilter]);\n\n const initUrls = () => {\n return {\n action_items_graph: Paths[PathNames.action_items_graph],\n action_items_chart: Paths[PathNames.action_items_chart],\n action_items_pie: Paths[PathNames.action_items_pie],\n action_items_summary: Paths[PathNames.action_items_summary],\n connections_pie: Paths[PathNames.connections_pie],\n geomap: Paths[PathNames.geomap],\n hosts_pie: Paths[PathNames.hosts_pie],\n dashboard_summary: Paths[PathNames.dashboard_summary],\n top_assets: Paths[PathNames.top_assets]\n };\n };\n\n const getData = () => {\n setIsLoading(true);\n RestApi.getDataPageByFlowPaths(initUrls(), globalFilter).subscribe(\n (response: any) => {\n setResponse({ ...response });\n setTopPanelData(response.dashboard_summary);\n setIsLoading(false);\n },\n error => {}\n );\n };\n\n return (\n
    \n
    \n {\n urlToStateConverter.setQueryString({}, '', '', value, '');\n }}\n />\n \n
    \n \n\n
    \n {!!flags.isAsmDashboardWidget && }\n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n\n
    \n {flags.isDomainRegistrarsGraph && }\n {response.geomap && }\n \n
    \n
    \n
    \n );\n}\n","import React from 'react';\nimport { Dashboard } from './Dashboard';\nexport class DashboardModule extends React.Component {\n\trender() {\n\t\treturn ;\n\t}\n}\n","import './links.scss';\nimport { Link } from 'react-router-dom';\nimport { Button } from '@mui/material';\nimport { Common } from 'common/services/common.service';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nimport { GroupFilter } from '../GroupFilter/GroupFilter';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport classNames from 'classnames';\n\nexport function Links(props: any) {\n const { user } = useSelector((state: IReduxState) => state.login);\n const { queryString } = useSelector((state: IReduxState) => state.grid);\n\n const flags = useFlags();\n\n const getTabByKey = (key: string) => {\n return Object.keys(props.tabs).filter((_tab: string) => props.tabs[_tab].key === key)[0];\n };\n\n function isActiveTab(key: string) {\n return props.selectTab === getTabByKey(key);\n }\n\n // const shouldShowLockedTab = (tab: string) => {\n\n // if (props.metaData && props.metaData[tab] && !props.metaData[tab].is_available) {\n // return true\n // }\n\n // return false\n // }\n\n const buildLink = (tab: any) => {\n let link = tab.link;\n if (Array.isArray(tab.link)) {\n if (flags[tab.featureFlag[0]]) {\n link = link[0];\n } else {\n link = link[1];\n }\n }\n if (queryString[tab.gridPath]) {\n return link + queryString[tab.gridPath];\n }\n return link;\n };\n\n if (!Object.keys(props.metaData).length) {\n return
    ;\n }\n\n return (\n
    \n
    \n {Object.values(props.tabs).map((tab: any, index: number) => {\n if (tab.lockedTo && !tab.lockedTo.includes(user.company_name)) {\n return
    ;\n }\n if (tab.featureFlag) {\n if (typeof tab.featureFlag === 'string' && !flags[tab.featureFlag]) {\n return
    ;\n } else if (\n Array.isArray(tab.featureFlag) &&\n !tab.featureFlag.filter((flag: string) => flags[flag]).length\n ) {\n return
    ;\n }\n }\n if (tab.showConditionaly && (!props.metaData[tab.key] || props.metaData[tab.key].count === null)) {\n return
    ;\n }\n const isActive = isActiveTab(tab.key);\n const tabKey = tab.key === 'action-items' ? 'action_items' : tab.key;\n\n return (\n
    \n \n
    \n
    \n );\n })}\n
    \n {props.selectTab !== 'orgScore' && (\n
    \n \n
    \n )}\n
    \n );\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconTabExternalAssets extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconTabInternalAssets extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n return (\n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconOrgScore extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\nexport class IconVendorMonitoring extends React.Component {\n public props: IIcon;\n render() {\n let color = this.props.active ? '#3455DD' : '#5D6576';\n return (\n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nexport class IconTabDRPS extends React.Component {\n render() {\n return (\n \n \n \n );\n }\n}\n","import { IconTabExternalAssets } from 'common/components/Icons/IconTabExternalAssets/IconTabExternalAssets';\nimport { IconTabInternalAssets } from 'common/components/Icons/IconTabInternalAssets/IconTabInternalAssets';\nimport { IconOrgScore } from 'common/components/Icons/IconOrgScore/iconOrgScore';\nimport { IconVendorMonitoring } from 'common/components/Icons/IconVendorMonitoring/iconVendorMonitoring';\nimport { PathNames } from 'common/constants/pathNames';\nimport { IconTabDRPS } from 'common/components/Icons/IconTabDRPS/IconTabDRPS';\ninterface ITabset {\n [key: string]: ITab;\n}\nexport interface ITab {\n title: string;\n key: string;\n link: string | [string, string];\n IconComponent: any;\n permissionOpen: boolean;\n active: boolean;\n showSummary: boolean;\n columnPickerPath: string;\n gridPath: string;\n count: number;\n lockedTo?: string[];\n featureFlag?: string | [string, string];\n subTabs?: any;\n}\nexport const TABSET: ITabset = {\n internalAssets: {\n title: 'Org Assets',\n key: 'internal_assets',\n IconComponent: IconTabInternalAssets,\n link: '/pages/assessments/internalAssets',\n permissionOpen: true,\n active: false,\n showSummary: false,\n columnPickerPath: PathNames.assesmentsInternalAssetsColumns,\n gridPath: PathNames.assesmentsInternalAssets,\n count: 0\n },\n digitalSupplyChain: {\n title: 'Digital Supply Chain',\n key: 'external_assets',\n IconComponent: IconTabExternalAssets,\n link: '/pages/assessments/digitalSupplyChain',\n permissionOpen: true,\n active: false,\n showSummary: false,\n columnPickerPath: PathNames.assesmentsDigitalSupplyChainColumns,\n gridPath: PathNames.assesmentsDigitalSupplyChain,\n count: 0\n },\n drps: {\n title: 'Cyber Threat Intelligence',\n key: 'drps',\n IconComponent: IconTabDRPS,\n link: ['/pages/assessments/drps/compromisedDevices', '/pages/assessments/drps/deepDarkWebMonitoring'],\n featureFlag: ['isCompromisedDevices', 'isDeepAndDarkWebMonitoring'],\n columnPickerPath: '',\n gridPath: '',\n permissionOpen: true,\n active: false,\n showSummary: false,\n count: 0,\n subTabs: {\n compromisedDevices: {\n title: 'Compromised Devices',\n key: 'compromisedDevices',\n link: '/pages/assessments/drps/compromisedDevices',\n columnPickerPath: PathNames.assesmentsLeakedCredentialsColumns,\n gridPath: PathNames.assesmentsLeakedCredentials,\n count: 0,\n featureFlag: 'isCompromisedDevices'\n },\n deepDarkWebMonitoring: {\n title: 'Deep & Dark Web Monitoring',\n key: 'deepDarkWebMonitoring',\n link: '/pages/assessments/drps/deepDarkWebMonitoring',\n columnPickerPath: PathNames.assesmentsDeepDarkMonitoringColumns,\n gridPath: PathNames.assesmentsDeepDarkMonitoring,\n count: 0,\n featureFlag: 'isDeepAndDarkWebMonitoring'\n }\n }\n },\n orgScore: {\n title: 'Attack Surface Risk Score',\n key: 'org_score',\n IconComponent: IconOrgScore,\n link: '/pages/assessments/orgScore',\n permissionOpen: true,\n active: false,\n showSummary: false,\n columnPickerPath: '',\n gridPath: '',\n count: 0,\n // lockedTo: ['crowdstrike','anon500','ionix']\n featureFlag: 'isOrgScore'\n },\n vendorMonitoring: {\n title: 'Vendor Monitoring',\n key: 'vendor_monitoring',\n IconComponent: IconVendorMonitoring,\n link: '/pages/assessments/vendorMonitoring',\n permissionOpen: true,\n active: false,\n showSummary: false,\n columnPickerPath: PathNames.assesmentsVendorMonitoringColumns,\n gridPath: PathNames.assesmentsVendorMonitoring,\n count: 0,\n lockedTo: ['crowdstrike']\n }\n};\n","import classNames from 'classnames';\nimport './PopupHeader.scss';\n\nexport function PopupHeader(props: any) {\n return (\n
    \n
    \n {props.editable ? (\n
    \n props.onChange(e.target.value)}\n />\n \"edit\"\n {props.isError &&
    {props.errorText}
    }\n
    \n ) : (\n props.text\n )}\n
    \n
    \n +\n
    \n \"background-popup\"\n
    \n );\n}\n","import { GridColumns, GridRowParams } from '@mui/x-data-grid-pro';\nimport { AppDispatch } from 'app/store';\nimport classNames from 'classnames';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { Grid } from 'common/components/grid/Grid';\n// import { IColumnPicker } from 'common/interfaces/interface';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { disableURLChange, enableURLChange, setFields, setInitialPath } from 'features/GridSlice';\nimport { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { AlertPopup } from '../AlertPopup';\nimport { setColumnPicker, setShowColumnPicker } from 'features/columnPickerSlice';\nimport './AlertMulti.scss';\n\nconst EMPTY_PLACEHOLDER = '-';\n\nexport function AlertMulti(props: any) {\n // const [columnPicker, setColumnPicker] = useState([]);\n const [data] = useState([]);\n const [count] = useState(0);\n const [columns, setColumns] = useState([]);\n const [singleAlertVisible, setSingleAlertVisible] = useState(false);\n const [subAlertId, setSubAlertId] = useState();\n const [singleAlertAnimation, setSingleAlertAnimation] = useState(false);\n const [alertData, setAlertData] = useState({});\n const [loading, setLoading] = useState(false);\n const dispatch: AppDispatch = useDispatch();\n\n useEffect(() => {\n setLoading(true);\n RestApi.getData(`assessments/drps/darkweb/alerts/${props.id}/sub_alerts/columns/`).subscribe((response: any) => {\n const fields = ColumnsManage.checkGridColumnsToDisplay(response.data);\n dispatch(setFields(fields));\n dispatch(setInitialPath(`assessments/drps/darkweb/alerts/${props.id}/sub_alerts/`));\n // setColumnPicker(response.data);\n dispatch(setColumnPicker(response.data));\n dispatch(setShowColumnPicker(true));\n\n setColumns(\n ColumnsManage.createColumns(response.identifier_field, response.data || [], { page: 'assesments', tab: 'drps' })\n );\n });\n RestApi.getData(`assessments/drps/darkweb/alerts/${props.id}/`).subscribe((response: any) => {\n setAlertData(response);\n setLoading(false);\n });\n dispatch(disableURLChange());\n return () => {\n dispatch(enableURLChange());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setSingleAlertAnimation(singleAlertVisible);\n }, [singleAlertVisible]);\n\n const onDoubleClick = (params: GridRowParams) => {\n setSubAlertId(params.row.id);\n setSingleAlertVisible(true);\n };\n\n return (\n
    \n {loading && }\n {alertData.title &&
    {alertData.title}
    }\n
      \n
    • \n Threats:\n \n {!!alertData.threats?.length ? alertData.threats.join(', ') : EMPTY_PLACEHOLDER}\n \n
    • \n
    • \n Published Date:\n {alertData.published_date || '-'}\n
    • \n
    • \n Source:\n {!!alertData.source?.length ? alertData.source.join(', ') : EMPTY_PLACEHOLDER}\n
    • \n
    • \n Related Assets:\n \n
      \n
      \n {!!alertData.hosts?.length ? alertData.hosts.join(', ') : EMPTY_PLACEHOLDER}\n
      \n
      \n
      \n
    • \n
    • \n Related Keywords:\n \n
      \n
      \n {!!alertData.related_keywords?.length ? alertData.keywords.join(', ') : EMPTY_PLACEHOLDER}\n
      \n
      \n
      \n
    • \n
    • \n Related BINs:\n \n
      \n
      \n {!!alertData.related_bins?.length ? alertData.related_bins.join(', ') : EMPTY_PLACEHOLDER}\n
      \n
      \n
      \n
    • \n
    \n
    \n
    setSingleAlertVisible(false)}>
    \n setSingleAlertVisible(false)}\n />\n
    \n
    \n {!!columns.length && (\n \n )}\n
    \n
    \n );\n}\n","import classNames from 'classnames';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useEffect, useState } from 'react';\nimport './AlertSingle.scss';\n\nexport function AlertSingle(props: any) {\n const [data, setData] = useState({});\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n setLoading(true);\n RestApi.getData(\n `assessments/drps/darkweb/alerts/${props.id}/${props.subAlertId ? `sub_alerts/${props.subAlertId}/` : ''}`\n ).subscribe((response: any) => {\n setData(response);\n setLoading(false);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.subAlertId]);\n\n const download = () => {\n RestApi.getData(\n `assessments/drps/darkweb/alerts/${props.id}/${\n props.subAlertId ? `sub_alerts/${props.subAlertId}/` : ''\n }download/`\n ).subscribe((response: any) => {\n window.open(response.link);\n });\n };\n\n return (\n
    \n {data.title &&
    {data.title}
    }\n {loading && }\n
      \n {!!data.threats?.length && (\n
    • \n
      Threats
      \n

      {data.threats.join(', ')}

      \n
    • \n )}\n {data.published_date && (\n
    • \n
      Published Date
      \n

      {data.published_date}

      \n
    • \n )}\n {!!data.keywords?.length && (\n
    • \n
      Related Keywords
      \n

      {data.related_keywords.join(', ')}

      \n
    • \n )}\n {!!data.related_assets?.length && (\n
    • \n
      Related Assets
      \n

      {data.related_assets.join(', ')}

      \n
    • \n )}\n {!!data.ips?.length && (\n
    • \n
      IPs
      \n

      {data.ips.join(', ')}

      \n
    • \n )}\n {!!data.related_bins?.length && (\n
    • \n
      Related BINs
      \n

      {data.related_bins.join(', ')}

      \n
    • \n )}\n {data.source && (\n
    • \n
      Source
      \n

      {data.source}

      \n
    • \n )}\n {data.content && (\n
    • \n
      Content Highlights
      \n

      {Common.highlightText(data.content)}

      \n
    • \n )}\n
    \n
    \n {!loading && Close}\n {!loading && (\n \n Download Findings\n \n )}\n
    \n
    \n );\n}\n","import { PopupHeader } from 'common/components/PopupHeader/PopupHeader';\nimport { AlertMulti } from './AlertMulti/AlertMulti';\nimport { AlertSingle } from './AlertSingle/AlertSingle';\nimport './AlertPopup.scss';\nimport classNames from 'classnames';\n\nexport function AlertPopup(props: any) {\n const handleClosePopup = () => {\n props.setVisible(false);\n };\n\n return (\n \n \n
    \n
    \n
    \n {props.data.isMultiAlerts ? (\n \n ) : (\n \n )}\n
    \n
    \n
    \n \n );\n}\n","import { useHistory } from \"react-router-dom\";\nimport \"notFound/notFound.scss\";\n\ninterface INotFound {\n title?: string;\n subtitle: string;\n text: string;\n icon?: string;\n}\n\nexport function NotFound(props: any) {\n\n const history = useHistory()\n\n const onClick = (): void => {\n history.goBack()\n }\n\n const getData = (): INotFound => {\n switch(props.type) {\n case '404':\n return {\n title: '404',\n subtitle: 'That page doesn’t exist',\n text: 'Sorry, the page you were looking for could not be found.'\n }\n case '403':\n return {\n icon: 'cancel',\n subtitle: 'Sorry, You\\'re Not Allowed',\n text: 'You do not have permissions to view this content'\n }\n default:\n return {\n title: '404',\n subtitle: 'That page doesn’t exist',\n text: 'Sorry, the page you were looking for could not be found.' \n }\n }\n }\n\n const data = getData()\n\n return (\n
    \n { data.title &&

    {data.title}

    }\n { data.icon && Icon}\n

    {data.subtitle}

    \n
    {data.text}
    \n \n
    \n );\n}\n","import { useEffect, useState } from 'react';\nimport './PopSide.scss';\nimport { Common } from '../../services/common.service';\n\nexport function PopSide(props: any) {\n const [visible, setVisible] = useState(false);\n\n const onHide = () => {\n setVisible(false);\n setTimeout(props.onHide, 300);\n };\n\n useEffect(() => {\n setVisible(true);\n const El = document.getElementsByClassName('main-content-area')[0];\n El.classList.add('ontop');\n Common.displayHelp(false);\n return () => {\n El.classList.remove('ontop');\n Common.displayHelp(true);\n };\n }, []);\n\n return (\n
    \n
    \n
    \n \"Close\"\n {props.children}\n
    \n
    \n );\n}\n","import './SideAlert.scss';\nimport { useEffect, useState } from 'react';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Common } from 'common/services/common.service';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\n\nconst ALERT_FIELDS = [\n { title: 'Incident ID', key: 'incident_id' },\n { title: 'URL', key: 'url' },\n { title: 'Device Association', key: 'device_association' },\n { title: 'Date Compromised', key: 'date_compromised' },\n { title: 'Date Added', key: 'date_added' },\n { title: 'Internal / External URL', key: 'internal_url' },\n { title: 'Org Email Domain', key: 'org_email_domain' }\n];\n\ninterface IAlertData {\n [key: string]: [] | string | boolean;\n}\n\nexport function SideAlert(props: any) {\n const [data, setData] = useState({});\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (props.id) {\n RestApi.getData(`${Paths[PathNames.assesmentsLeakedCredentials]}${props.id}/`).subscribe((response: any) => {\n setData(response);\n setLoading(false);\n });\n }\n }, [props.id]);\n\n const renderRestOfFields = () => {\n let _html: JSX.Element[] = [];\n const copy: IAlertData = { ...data };\n delete copy.id;\n delete copy.username;\n delete copy.url_org_host;\n ALERT_FIELDS.forEach((field: any) => {\n delete copy[field.key];\n });\n Object.keys(copy).forEach((_field: string) => {\n if (copy[_field] !== null) {\n _html.push(\n
  • \n
    {Common.underscoreToTitle(_field)}
    \n

    {getValue(copy[_field])}

    \n
  • \n );\n }\n });\n return _html;\n };\n\n const convertUrlExposure = (val: string | string[] | boolean) => {\n if (val) {\n return 'Internal';\n }\n return 'External';\n };\n\n const renderFields = () => {\n let _html: JSX.Element[] = [];\n ALERT_FIELDS.forEach((field: any) => {\n if (data[field.key] !== null) {\n _html.push(\n
  • \n
    {field.title}
    \n

    \n {field.title === 'Internal / External URL'\n ? convertUrlExposure(data[field.key])\n : getValue(data[field.key])}\n

    \n
  • \n );\n }\n });\n return _html;\n };\n\n const getValue = (val: string | string[] | boolean) => {\n if (Array.isArray(val)) {\n return val.join(', ');\n }\n return val;\n };\n\n return (\n
    \n {loading && }\n
    \n
    \n \"Icon\"\n
    Compromised devices
    \n
    \n

    {data.url_org_host}

    \n

    \n Username: {data.username}\n

    \n
    \n
    \n
    \n
    \n
      \n {renderFields()}\n {renderRestOfFields()}\n
    \n
    \n
    \n
    \n
    \n );\n}\n","import { useEffect, useState } from 'react';\nimport { IRootColumnPicker } from 'common/interfaces/interface';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Paths } from 'common/constants/paths';\nimport { TABSET } from './config';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { Grid } from 'common/components/grid/Grid';\nimport {\n captureState,\n returnToLastState,\n removeAllRows,\n resetQueryString,\n setFields,\n setInitialPath,\n clearAllFilters\n} from 'features/GridSlice';\nimport { AppDispatch } from 'app/store';\nimport { useDispatch } from 'react-redux';\nimport { GridRowId, GridRowParams } from '@mui/x-data-grid-pro';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { AlertPopup } from './AlertPopup/AlertPopup';\nimport { NotFound } from 'notFound/NotFound';\nimport { PopSide } from 'common/components/PopSide/PopSide';\nimport { SideAlert } from './SideAlert/SideAlert';\nimport { setColumnPicker, setShowColumnPicker } from 'features/columnPickerSlice';\n\nexport interface IAssesments {\n rows?: any;\n path?: string;\n // columnPicker: IColumnPicker[];\n // showColumnPicker: boolean;\n isMoreButton: boolean;\n isCSVDownloadable: boolean;\n count: number;\n columns: Array;\n rootPath: string;\n identifier: string;\n}\n\nexport function AssesmentsRouting(props: any) {\n const [showGrid, setShowGrid] = useState(false);\n const [assesmentsData, setAssesmentsData] = useState(initData());\n const [alertPopupVisible, setAlertPopupVisible] = useState(false);\n const [alertPopupParams, setAlertPopupParams] = useState<{}>({});\n const [noPermission, setNoPermission] = useState(false);\n const [showSideAlert, setShowSideAlert] = useState(false);\n const [sideAlertId, setSideAlertId] = useState();\n const [abortController, setAbortController] = useState();\n const dispatch: AppDispatch = useDispatch();\n\n useEffect(() => {\n dispatch(removeAllRows());\n getData(props.selectTab, props.subTab);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.selectTab, props.subTab]);\n\n useEffect(() => {\n dispatch(resetQueryString());\n return () => {\n dispatch(removeAllRows());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n function initData(): IAssesments {\n return {\n rows: [],\n // columnPicker: [],\n // showColumnPicker: false,\n isMoreButton: true,\n isCSVDownloadable: false,\n count: 0,\n columns: [],\n rootPath: '',\n identifier: ''\n };\n }\n // @description : ColumnPicker data request. And checking which columns to display\n function getData(tab: string, subTab: string | undefined) {\n setShowGrid(false);\n setNoPermission(false);\n const columnPickerPath = props.subTab\n ? TABSET[tab].subTabs[props.subTab].columnPickerPath\n : TABSET[tab].columnPickerPath;\n if (abortController) {\n abortController.abort();\n }\n const abort_controller = new AbortController();\n setAbortController(abort_controller);\n RestApi.getData(Paths[columnPickerPath], true, abort_controller.signal).subscribe(\n (columns: IRootColumnPicker) => {\n // queryGrid.moreQueryChain = [];\n let fields = ColumnsManage.checkGridColumnsToDisplay(columns.data, columns.identifier_field);\n dispatch(setFields(fields));\n const gridPath = props.subTab ? TABSET[tab].subTabs[props.subTab].gridPath : TABSET[tab].gridPath;\n dispatch(setInitialPath(Paths[gridPath]));\n dispatch(setColumnPicker(columns.data));\n dispatch(setShowColumnPicker(columns.is_displayable));\n\n setAssesmentsData({\n rows: [],\n // columnPicker: columns.data || [],\n // showColumnPicker: columns.is_displayable,\n isMoreButton: columns.is_more_button,\n isCSVDownloadable: columns.is_csv_downloadable,\n // path: path,\n count: 0,\n identifier: columns.identifier_field,\n columns: ColumnsManage.createColumns(columns.identifier_field, columns.data || [], {\n page: 'assesments',\n tab: props.selectTab\n }),\n rootPath: Paths[TABSET[tab].gridPath]\n });\n setShowGrid(true);\n },\n err => {\n if (err.status === 403) {\n setNoPermission(true);\n }\n }\n );\n }\n\n function onRowDoubleClick(params: GridRowParams) {\n if (props.selectTab === 'drps' && props.subTab === 'deepDarkWebMonitoring') {\n dispatch(captureState());\n dispatch(clearAllFilters());\n setAlertPopupParams({\n isMultiAlerts: !!params.row.sub_alerts_count,\n alertId: params.row.alert_id,\n name: params.row.name\n });\n setAlertPopupVisible(true);\n } else if (props.selectTab === 'drps' && props.subTab === 'compromisedDevices') {\n setSideAlertId(params.id);\n setShowSideAlert(true);\n }\n }\n\n const _setAlertPopupVisible = (open: boolean) => {\n if (!open) {\n // dispatch(removeAllRows())\n dispatch(returnToLastState());\n // getData(props.selectTab, props.subTab);\n }\n setAlertPopupVisible(open);\n };\n\n if (noPermission) {\n return ;\n }\n\n return showGrid ? (\n <>\n
    \n \n \n \n \n {showSideAlert && (\n setShowSideAlert(false)}>\n \n \n )}\n
    \n \n ) : (\n
    \n );\n}\n","import { IconsCommon } from '../iconsCommon';\nimport './IconChevron.scss';\ninterface IIconChevron {\n toggle: boolean;\n onClick: (value: boolean) => void;\n}\n\nexport function IconChevron(props: IIconChevron) {\n function onToggleArrow() {\n props.onClick(!props.toggle);\n }\n\n return (\n \n \n \n \n \n \n \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { Image } from 'common/components/image/Image';\nimport { Common } from 'common/services/common.service';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\nimport './header.scss';\nimport { Link } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\n\ninterface IFormHeader {\n count?: number;\n label: string;\n viewArrow: boolean;\n toggleArrow?: boolean;\n description?: string;\n icon?: string | null;\n index?: number;\n source?: string;\n}\n\nexport function Header(props: IFormHeader) {\n const { user } = useSelector((state: IReduxState) => state.login);\n\n return (\n
    \n
    \n
    \n {props.icon && {props.icon}}\n
    \n {props.label}\n {/* {props.index === 0 && props.source === 'org-score-agg' && !!subsidiaries.count && } */}\n
    \n {props.description && (\n \n ?\n \n )}\n \n
    \n {['crowdstrike'].includes(user.company) && props.label === 'Org Score Over Time' ? (\n \n Show Details\n \n ) : (\n
    \n
    \n {props.count && Common.numberWithCommas(props.count)}\n
    \n {props.viewArrow && }\n
    \n )}\n
    \n
    \n );\n}\n","import { Sections } from '../sections/Sections';\nimport './form.scss';\nimport { Header } from './header/Header';\n\nexport function Form(props: any) {\n let isNotCountAndNotLabel = props.count === null && props.label === null;\n\n const getSummaryClassName = (label: string): string => {\n let _className: string = isNotCountAndNotLabel ? 'summary-from-body1' : 'summary-from-body';\n\n if (label && label.toLowerCase() === 'org score over time') {\n _className += ' graph-container';\n }\n\n return _className;\n };\n\n return (\n
    \n {(props.count || props.label) &&
    }\n
    \n \n
    \n
    \n );\n}\n","import { IconChevron } from 'common/components/Icons/IconChevron/IconChevron';\nimport React from 'react';\nimport { Form } from './form/Form';\nimport { Common } from 'common/services/common.service';\nimport useShowToggle from 'common/hooks/useShowToggle';\nimport './summary.scss';\n\nexport function Summary(props: any) {\n const { isOpen, toggle } = useShowToggle(true);\n\n function onToggleTab(value: boolean) {\n toggle();\n }\n\n function isActive() {\n let calssActive: string = 'filter-box-open';\n let calssUactive: string = 'filter-box-close';\n return isOpen ? calssActive : calssUactive;\n }\n\n // return Common.isNotEmpty(props.dataTabs) ? (\n return props.dataTabs ? (\n
    \n \n
    \n {props.dataTabs.length !== 0 &&\n props.dataTabs.map((item: any, index: number) => (\n \n
    \n \n ))}\n
    \n
    \n {!props.hidden_arrow && (\n
    \n \n
    \n )}\n \n ) : (\n
    \n );\n}\n","import { DataGridPro, GridColDef, GridRowData, GridSortItem, GridSortModel } from '@mui/x-data-grid-pro';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { queryBuilder } from 'common/components/grid/query-builder.service';\nimport { ManageNotData } from 'common/components/manageNotData/ManageNotData';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport { IResponse } from 'common/interfaces/interface';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useEffect, useState } from 'react';\nimport './OrgScorePopUp.scss';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\n\ninterface IFlexValues {\n [key: string]: number;\n}\nconst FLEX_VALUES: IFlexValues = { asset_importance: 1, asset: 2, description: 6 };\n\nexport function OrgScorePopUp(props: any) {\n const [columns, setColumns] = useState([]);\n const [rows, setRows] = useState([]);\n const [loading, setLoading] = useState(true);\n const [sort, setSort] = useState();\n const [fields, setFields] = useState([]);\n const [nextPath, setNextPath] = useState('');\n const [isResizing, setIsResizing] = useState(false);\n\n let mouseUpEventTimer: ReturnType;\n const { activeSubsidiary } = useSelector((state: IReduxState) => state.subsidiaries);\n\n const getPath = (path: string): string => {\n let _path = path.replace(':category_id', props.category.toString());\n if (Object.keys(activeSubsidiary).length && !activeSubsidiary.is_main_company) {\n _path = _path + `${_path.includes('?') ? '&' : '?'}subsidiary=${activeSubsidiary.name}`;\n }\n return _path;\n };\n\n useEffect(() => {\n RestApi.getData(`${getPath(Paths[PathNames.assesmentsOrgScoreIssuesColumns])}`).subscribe((response: IResponse) => {\n const results = response.data;\n const fields = ColumnsManage.checkGridColumnsToDisplay(results);\n const columns = ColumnsManage.createColumns(response.identifier_field, results, { page: 'orgScore', tab: '' });\n setColumns(columns);\n setFields(fields);\n });\n document.addEventListener('mouseup', setMouseUpEvent);\n\n return () => {\n document.removeEventListener('mouseup', setMouseUpEvent);\n clearTimeout(mouseUpEventTimer);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (fields.length) {\n setLoading(true);\n getRows();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fields, sort]);\n\n const setMouseUpEvent = (): void => {\n mouseUpEventTimer = setTimeout(() => {\n setIsResizing(false);\n clearTimeout(mouseUpEventTimer);\n }, 100);\n };\n\n const getRows = () => {\n queryBuilder.setBaseURL(Paths[PathNames.assesmentsOrgScoreIssuesData], false);\n queryBuilder.buildQuery({\n fields: fields.join(','),\n order: sort ? (sort.sort === 'asc' ? `-${sort.field}` : sort.field) : undefined,\n filters: { md5: { type: '', value: props.md5 } }\n });\n RestApi.getData(getPath(queryBuilder.getQuery())).subscribe((response: IResponse) => {\n setNextPath(response.next);\n setRows(response.results);\n setLoading(false);\n });\n };\n\n const handleOnSortModelChange = (model: GridSortModel) => {\n if (isResizing) {\n return;\n }\n const order = model[0];\n if (order) {\n setSort(order);\n }\n };\n\n const handleOnRowsScrollEnd = () => {\n if (nextPath) {\n let path = Common.splitV1FromPath(nextPath);\n RestApi.getData(path).subscribe((response: IResponse) => {\n setNextPath(response.next);\n setRows([...rows, ...response.results]);\n });\n }\n };\n\n const renderTable = () => {\n const _columns: any = columns.map((_column, index) => {\n return { ..._column, flex: FLEX_VALUES[_column.field], minWidth: 0 };\n });\n return (\n \n }}\n rows={rows}\n columns={_columns}\n onSortModelChange={handleOnSortModelChange}\n onRowsScrollEnd={handleOnRowsScrollEnd}\n filterMode=\"server\"\n sortingMode=\"server\"\n disableMultipleColumnsSorting={true}\n disableSelectionOnClick={true}\n disableColumnReorder={true}\n checkboxSelection={false}\n disableColumnMenu={true}\n hideFooter={true}\n />\n );\n };\n\n return (\n
    \n
    \n
    {props.issueName}
    \n
    \n +\n
    \n \"background-popup\"\n
    \n
    \n {renderTable()}\n {loading && }\n
    \n
    \n );\n}\n","import { DataGridPro, GridColDef, GridRowData, GridSortItem, GridSortModel } from '@mui/x-data-grid-pro';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { queryBuilder } from 'common/components/grid/query-builder.service';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { ManageNotData } from 'common/components/manageNotData/ManageNotData';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { Summary } from 'common/components/summary/Summary';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport { IResponse } from 'common/interfaces/interface';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useEffect, useState } from 'react';\nimport { OrgScorePopUp } from '../OrgScorePopUp/OrgScorePopUp';\nimport './Card.scss';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\n\nexport function Card(props: any) {\n const [collapsed, setCollapsed] = useState(false);\n const [popupData, setPopupData] = useState<{}>({});\n const [columns, setColumns] = useState([]);\n const [rows, setRows] = useState([]);\n const [fields, setFields] = useState([]);\n const [sort, setSort] = useState();\n const [loading, setLoading] = useState(true);\n const [nextPath, setNextPath] = useState('');\n const [identifier, setIdentifier] = useState('');\n const { activeSubsidiary } = useSelector((state: IReduxState) => state.subsidiaries);\n\n useEffect(() => {\n if (fields.length) {\n setLoading(true);\n getRows();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fields, sort]);\n\n const collapse = () => {\n if (!collapsed && !columns.length) {\n const category = getCategoryId(props.card);\n let path = `${getPath(Paths[PathNames.assesmentsOrgScoreColumns], category)}`;\n if (Object.keys(activeSubsidiary).length && !activeSubsidiary.is_main_company) {\n path = path + `?subsidiary=${activeSubsidiary.name}`;\n }\n RestApi.getData(path).subscribe((response: IResponse) => {\n const results = response.data;\n const fields = ColumnsManage.checkGridColumnsToDisplay(results);\n const columns = ColumnsManage.createColumns(\n response.identifier_field,\n results,\n { page: 'orgScore', tab: '', category: category },\n { cb: showDetails }\n );\n setIdentifier(response.identifier_field);\n setColumns(columns);\n setFields(fields);\n });\n }\n\n setCollapsed(!collapsed);\n };\n\n const getRows = () => {\n const category = getCategoryId(props.card);\n queryBuilder.setBaseURL(getPath(Paths[PathNames.assesmentsOrgScoreCategoryData], category), false);\n queryBuilder.buildQuery({\n fields: fields.join(','),\n order: sort ? (sort.sort === 'asc' ? `-${sort.field}` : sort.field) : undefined\n });\n let query = queryBuilder.getQuery();\n if (Object.keys(activeSubsidiary).length && !activeSubsidiary.is_main_company) {\n query = query + `&subsidiary=${activeSubsidiary.name}`;\n }\n RestApi.getData(query).subscribe((response: IResponse) => {\n let rows: GridRowData[] = response.results;\n setTimeout(() => {\n setNextPath(response.next);\n setRows(rows);\n setLoading(false);\n }, 500);\n });\n };\n\n const getCategoryId = (card: any) => {\n const categoryCard = card.filter((c: any) => {\n return c.value !== null;\n })[0];\n return categoryCard.value;\n };\n const showDetails = (category: number, params: { [key: string]: any }) => {\n setPopupData({\n category: category,\n id: params.id,\n title: params.row.title,\n issueName: params.getValue(params.id, 'label'),\n md5: params.row.md5\n });\n };\n\n const getPath = (path: string, category: number): string => {\n return path.replace(':category_id', category.toString());\n };\n\n const handleOnSortModelChange = (model: GridSortModel) => {\n const order = model[0];\n if (order) {\n setSort(order);\n }\n };\n\n const handleOnRowsScrollEnd = () => {\n if (nextPath) {\n let path = Common.splitV1FromPath(nextPath);\n RestApi.getData(path).subscribe((response: IResponse) => {\n setNextPath(response.next);\n setRows([...rows, ...response.results]);\n });\n }\n };\n\n const renderTable = () => {\n if (!identifier) {\n return null;\n }\n return (\n \n }}\n rows={rows}\n columns={columns}\n onSortModelChange={handleOnSortModelChange}\n onRowsScrollEnd={handleOnRowsScrollEnd}\n filterMode=\"server\"\n sortingMode=\"server\"\n disableMultipleColumnsSorting={true}\n disableSelectionOnClick={true}\n disableColumnReorder={true}\n checkboxSelection={false}\n disableColumnMenu={true}\n hideFooter={true}\n disableColumnResize={true}\n getRowId={row => row[identifier]}\n />\n );\n };\n\n if (props.card[0].sections[0].value === null) {\n return null;\n }\n\n return (\n
  • \n
    \n \n {/* */}\n
    \n \n
    \n
    \n
    \n {renderTable()}\n {loading && }\n
    \n setPopupData({})}>\n setPopupData({})} />\n \n
  • \n );\n}\n","import { ManageNotData } from 'common/components/manageNotData/ManageNotData';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { NotFound } from 'notFound/NotFound';\nimport { useEffect, useState } from 'react';\nimport { Card } from './Card/Card';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { setParentCompany, setActiveSubsidiary, setSubsidiaries } from 'features/SubsidiariesSlice';\nimport { LoginService } from 'login/services/login.service';\nimport TopPanel from 'common/components/TopPanel/TopPanel';\nimport TOP_PANEL_PAGES from 'common/constants/topPanelPages';\nimport useShowToggle from 'common/hooks/useShowToggle';\n\nimport './OrgScore.scss';\n\nexport function OrgScore(props: any) {\n const [summary, setSummary] = useState<[]>([]);\n const [cards, setCards] = useState<{ [key: string]: any }[]>([]);\n const [noPermission, setNoPermission] = useState(false);\n const [loading, setLoading] = useState(true);\n const [isLoadingSummary, setIsLoadingSummary] = useState(true);\n const { activeSubsidiary, parentCompany, allSubsidiaries } = useSelector((state: IReduxState) => state.subsidiaries);\n const { user } = useSelector((state: IReduxState) => state.login);\n const { isOpen: isTopPanelOpen, setToggle: setTopPanelToggle } = useShowToggle(true);\n const dispatch = useDispatch();\n\n const getPath = (basePath: string) => {\n if (\n !!activeSubsidiary &&\n ((Object.keys(activeSubsidiary).length && user.company_display_name !== activeSubsidiary.name) ||\n (LoginService.isRestrictedMember(user) && Object.keys(activeSubsidiary).length))\n ) {\n return basePath + `?subsidiary=${activeSubsidiary.name}`;\n }\n return basePath;\n };\n\n useEffect(() => {\n return () => {\n dispatch(setActiveSubsidiary({}));\n dispatch(setSubsidiaries({}));\n };\n }, [dispatch]);\n\n const fetchSubsidiaries = () => {\n setLoading(true);\n RestApi.getData(getPath(Paths[PathNames.assesmentsOrgScoreSubsidiaries]), true).subscribe(\n (response: any) => {\n dispatch(\n setSubsidiaries({\n count: response.count,\n results: response.results\n })\n );\n\n if (!!response.count) {\n if (LoginService.isRestrictedMember(user)) {\n dispatch(setActiveSubsidiary(response.results[0]));\n }\n }\n if (LoginService.isRestrictedMember(user) && response.count === 0) {\n setLoading(false);\n setIsLoadingSummary(false);\n }\n },\n err => {}\n );\n };\n\n useEffect(() => {\n if (!!Object.keys(user).length) {\n fetchSubsidiaries();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [user]);\n\n useEffect(() => {\n if (LoginService.isMemberOrAbove(user)) {\n getSummary();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [user, activeSubsidiary]);\n\n useEffect(() => {\n getSummary();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeSubsidiary]);\n\n useEffect(() => {\n if (!!allSubsidiaries?.count && !!Object.keys(activeSubsidiary).length) {\n getSummary();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeSubsidiary, allSubsidiaries]);\n\n useEffect(() => {\n if (LoginService.isMemberOrAbove(user) || (!!activeSubsidiary && !!Object.keys(activeSubsidiary).length)) {\n fetchOrgScores();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [user, activeSubsidiary]);\n\n const getSummary = () => {\n setIsLoadingSummary(true);\n RestApi.getData(getPath(Paths[PathNames.assesmentsOrgScoreSummary]), true).subscribe(\n (response: any) => {\n if (!Object.keys(parentCompany).length) {\n dispatch(\n setParentCompany({\n name: response.name,\n label: response.overall_rank,\n score: response.overall_score\n })\n );\n }\n setSummary(response);\n setIsLoadingSummary(false);\n },\n err => {\n if (err.status === 403) {\n setNoPermission(true);\n }\n }\n );\n };\n\n const fetchOrgScores = () => {\n setLoading(true);\n setCards([]);\n RestApi.getData(getPath(Paths[PathNames.assesmentsOrgScoreCards]), true).subscribe((response: any) => {\n setCards(response.results);\n setTimeout(() => setLoading(false), 1000);\n });\n };\n\n const shouldShowEmptyState = (): boolean => {\n if (loading || cards.filter((card: any) => card[0].sections[0].value !== null).length) {\n return false;\n }\n return true;\n };\n\n if (noPermission) {\n return ;\n }\n\n return (\n
    \n \n {loading && (\n
    \n \n
    \n )}\n {shouldShowEmptyState() ? (\n \n ) : (\n
    \n
      \n {cards.map((c, index) => {\n return ;\n })}\n
    \n
    \n )}\n
    \n );\n}\n","import './SubTabsLinks.scss';\nimport { Link } from 'react-router-dom';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\n\nexport function SubTabsLinks(props: any) {\n const flags = useFlags();\n\n const getSubTabsHTML = (): JSX.Element[] => {\n let _html: JSX.Element[] = [];\n Object.keys(props.tabs).forEach((tab: string) => {\n if (!props.tabs[tab].featureFlag || flags[props.tabs[tab].featureFlag]) {\n _html.push(\n
  • \n \n {props.tabs[tab].title}\n \n
  • \n );\n }\n });\n return _html;\n };\n\n return (\n
    \n
      {getSubTabsHTML()}
    \n
    \n );\n}\n","import { Links } from 'common/components/links/Links';\n// import { PathNames } from 'common/constants/pathNames';\n// import { Paths } from 'common/constants/paths';\nimport { updateHeader } from 'common/services/common.service';\n// import { RestApi } from 'common/services/rest-api.service';\n// import { PathNames } from 'common/constants/pathNames';\n// import { Paths } from 'common/constants/paths';\n// import { RestApi } from 'common/services/rest-api.service';\nimport { useEffect, useState } from 'react';\nimport { AssesmentsRouting } from './AssesmentsRouting';\nimport { OrgScore } from './OrgScore/OrgScore';\nimport { TABSET } from './config';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { IResponse } from 'common/interfaces/interface';\nimport { SubTabsLinks } from 'common/components/SubTabsLinks/SubTabsLinks';\nimport { useSelector } from 'react-redux';\n\nconst PAGE_NAME = 'Assesments';\n\nexport function Assesments(props: any) {\n const [tab, setTab] = useState(props.match.params.tab || 'internalAssets');\n const [subTab, setSubTab] = useState(props.match.params.subtab || undefined);\n const [metaData, setMetaData] = useState<{}>({});\n const [loading, setLoading] = useState(true);\n const { globalFilter } = useSelector((state: any) => state.general);\n\n useEffect(() => {\n getMetaData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [globalFilter]);\n\n useEffect(() => {\n const newTab = props.match.params.tab;\n setTab(newTab);\n const _subTab = props.match.params.subtab;\n setSubTab(_subTab);\n }, [props.match.params.tab, props.match.params.subtab]);\n\n useEffect(() => {\n updateHeader.sendHeaderText('Assessments');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getMetaDataUrl = () => {\n return {\n metaData: `${Paths[PathNames.assesmentsMetaData]}${globalFilter ? `?group=${globalFilter}` : ''}`\n };\n };\n\n const getMetaData = () => {\n RestApi.getDataPage(getMetaDataUrl()).subscribe((response: IResponse) => {\n setMetaData(response.metaData);\n setLoading(false);\n });\n };\n\n return (\n
    \n
    \n \n {subTab && !loading && }\n
    \n {tab === 'orgScore' ? : }\n
    \n );\n}\n","import { IconsCommon } from 'common/components/Icons/iconsCommon';\nimport './collapse.scss';\ninterface ICollapse {\n toggle: boolean;\n onClick: (value: boolean) => void;\n}\nexport function Collapse(props: ICollapse) {\n function onToggleArrow() {\n props.onClick(!props.toggle);\n }\n return (\n \n \n \n \n \n \n \n );\n}\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { useEffect, useRef, useState } from 'react';\nimport { RestApi } from 'common/services/rest-api.service';\nimport './ScanInfo.scss';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\n\ninterface IScanInfo {\n plan: number;\n last_scan_date: string | null;\n}\n\nexport function ScanInfo() {\n const ref = useRef(null);\n const [open, setOpen] = useState(false);\n const [loading, setLoading] = useState(false);\n const [data, setData] = useState({\n plan: 0,\n last_scan_date: null\n });\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const toggle = () => {\n if (!open) {\n setLoading(true);\n RestApi.getData(Paths[PathNames.scanInfo]).subscribe(\n (response: any) => {\n setData(response);\n setLoading(false);\n },\n error => {}\n );\n }\n setOpen(!open);\n };\n\n return (\n
    \n
    Scan Info
    \n \"scan-info\"\n
    \n {!loading ? (\n
    \n
      \n
    • \n Plan: {data?.plan || '-'}\n
    • \n
    • \n Last Scan Start Time: {data?.last_scan_date || '-'}\n
    • \n
    \n
    • Some critical information may be updated regardless of scan cycle
    \n
    \n ) : (\n \n )}\n
    \n
    \n );\n}\n","import classNames from 'classnames';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport './SubMenu.scss';\n\nexport function SubMenu(props: any) {\n const [open, setOpen] = useState(true);\n\n const shouldDisplayTitle = (menuItem: any) => {\n const hasViewableItems: boolean = Object.keys(menuItem).some((item: any) => {\n return props.canView(menuItem[item].viewPermissionLevel);\n });\n return hasViewableItems;\n };\n\n const isActive = (path: string) => {\n return window.location.href.includes(path);\n };\n\n return (\n
  • \n {shouldDisplayTitle(props.items) && (\n
    setOpen(!open)}>\n \n {props.text} ({Object.keys(props.items).length})\n \n \n
    \n )}\n {shouldDisplayTitle(props.items) && (\n
      \n {Object.keys(props.items).map((sub_item: string, i) => {\n if (!props.canView(props.items[sub_item].viewPermissionLevel)) {\n return
    • ;\n }\n return (\n
    • \n \n {sub_item}\n \n
    • \n );\n })}\n
    \n )}\n
  • \n );\n}\n","import { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\n\ninterface IMenu {\n [key: string]: any;\n}\n\nexport const Menu: IMenu = {\n 'Users & Permissions': {\n 'User Management': {\n path: `/pages/${Paths[PathNames.userManagement]}`,\n viewPermissionLevel: 'admin',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: false\n },\n 'Domain Restrictions': {\n path: `/pages/${Paths[PathNames.domainRestriction]}`,\n viewPermissionLevel: 'admin',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: false\n },\n 'IP Restrictions': {\n path: `/pages/${Paths[PathNames.ipRestriction]}`,\n viewPermissionLevel: 'admin',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: false\n }\n },\n 'Organization Management': {\n FQDNs: {\n path: `/pages/${Paths[PathNames.manageFqdns]}`,\n viewPermissionLevel: 'member',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: false\n },\n 'IP Ranges': {\n path: `/pages/${Paths[PathNames.ipRanges]}`,\n viewPermissionLevel: 'member',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: false\n }\n },\n 'Groups & Subsidiaries': {\n Subsidiaries: {\n path: `/pages/${Paths[PathNames.subsidiaries]}`,\n viewPermissionLevel: 'member',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: false\n },\n 'Custom Groups': {\n path: `/pages/${Paths[PathNames.groups]}`,\n viewPermissionLevel: 'member',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: false\n },\n 'Meta Groups': {\n path: `/pages/${Paths[PathNames.metaGroups]}`,\n viewPermissionLevel: 'member',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: false\n }\n },\n 'Integrations & Adapters': {\n path: `/pages/${Paths[PathNames.integrations]}`,\n viewPermissionLevel: 'admin',\n editPermissionLevel: 'admin',\n type: 'custom',\n featureFlag: 'isIntegrations',\n showForMssp: false\n },\n Notifications: {\n path: `/pages/${Paths[PathNames.notifications]}`,\n viewPermissionLevel: 'admin',\n editPermissionLevel: 'admin',\n type: 'custom',\n featureFlag: 'isNotifications',\n showForMssp: false\n },\n 'Audit Logs': {\n path: `/pages/${Paths[PathNames.auditLogs]}`,\n viewPermissionLevel: 'member',\n editPermissionLevel: 'member',\n type: 'grid',\n showForMssp: false\n },\n API: {\n path: `/pages/${Paths[PathNames.tokens]}`,\n viewPermissionLevel: 'member',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: true\n },\n Ports: {\n path: `/pages/${Paths[PathNames.customPort]}`,\n viewPermissionLevel: 'member',\n editPermissionLevel: 'admin',\n type: 'grid',\n showForMssp: false\n }\n};\n","import { IReduxState } from 'app/store';\nimport classNames from 'classnames';\nimport { Collapse } from 'pages/inventory/singleAsset/panelSide/components/collapse/Collapse';\nimport { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport { ScanInfo } from './ScanInfo/ScanInfo';\nimport { SubMenu } from './SubMenu/SubMenu';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport './SidePanel.scss';\nimport { Menu } from './config';\nimport { LoginService } from 'login/services/login.service';\nimport { Common } from 'common/services/common.service';\n\nexport function SidePanel() {\n const [sidePanelOpen, SetSidePanelOpen] = useState(true);\n const { user } = useSelector((state: IReduxState) => state.login);\n\n const flags = useFlags();\n\n const canView = (item: any): boolean => {\n if (!user.role) {\n return false;\n }\n\n if (user.is_mssp_user && !Common.getParamFromUrl('account') && !item.showForMssp) {\n return false;\n }\n\n if (item.viewPermissionLevel === 'admin') {\n return LoginService.isAdminOrAbove(user);\n }\n\n return true;\n };\n\n const isActive = (path: string) => {\n return window.location.href.includes(path);\n };\n\n if (!Object.keys(flags).length) {\n return null;\n }\n\n const isDisabledByFeatureFlag = (flag: string) => {\n if (!flag) {\n return false;\n }\n if (flag && flags[flag] === false) {\n return true;\n }\n return false;\n };\n\n return (\n
    \n
    \n SetSidePanelOpen(!sidePanelOpen)} />\n
    \n
      \n {Object.keys(Menu).map((item: string, index: number) => {\n if (Menu[item].path?.length) {\n if (!canView(Menu[item]) || isDisabledByFeatureFlag(Menu[item].featureFlag)) {\n return
    • ;\n }\n return (\n
    • \n \n {item}\n \n
    • \n );\n } else {\n return canView(item)} text={item} items={Menu[item]} />;\n }\n })}\n
    \n \n
    \n );\n}\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { PopupHeader } from 'common/components/PopupHeader/PopupHeader';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useState } from 'react';\nimport './WhiteListEdit.scss';\n\nexport function WhiteListEdit(props: any) {\n const [input, setInput] = useState(props.email.split('@')[1]);\n const [loading, setLoading] = useState(false);\n\n const onSubmit = () => {\n setLoading(true);\n RestApi.setData(\n Paths[PathNames.domainRestriction],\n [\n {\n domain: input,\n is_allowed: true\n }\n ],\n 'POST'\n ).subscribe(\n (response: any) => {\n setLoading(false);\n props.onSubmit();\n // props.onClose()\n },\n error => {\n setLoading(false);\n }\n );\n };\n\n return (\n
    \n \n
    \n {loading && }\n
    \n
    The domain you are trying to add has an email domain that was not whitelisted.
    \n
    \n setInput(e.target.value)} />\n \n \n
    \n
    \n
    \n
    \n );\n}\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { PopupHeader } from 'common/components/PopupHeader/PopupHeader';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { getRows } from 'features/GridSlice';\nimport * as EmailValidator from 'email-validator';\nimport { WhiteListEdit } from '../../WhiteListEdit/WhiteListEdit';\nimport { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport './AddUserPopUp.scss';\nimport { tosterService } from 'common/services/tostar.service';\nimport { IServerErrors } from 'common/interfaces/interface';\nimport classNames from 'classnames';\nimport 'react-phone-number-input/style.css';\nimport PhoneInput, { isValidPhoneNumber } from 'react-phone-number-input';\nimport { DynamicMultiChoiceDropDown } from 'common/components/DynamicMultiChoiceDropDown/DynamicMultiChoiceDropDown';\nimport { IReduxState } from 'app/store';\nimport { getGroups } from 'features/GroupsSlice';\nimport USER_ROLES from 'common/constants/roles';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { LoginService } from 'login/services/login.service';\n\ntype E164Number = string;\n\nexport function AddUserPopUp(props: any) {\n const [loading, setLoading] = useState(false);\n const [userTypeMenuOpen, setUserTypeMenuOpen] = useState(false);\n const [selectedUserType, setSelectedUserType] = useState(0);\n const [selectedUserTypeError, setSelectedUserTypeError] = useState(false);\n const [firstName, setFirstName] = useState('');\n const [firstNameError, setFirstNameError] = useState(false);\n const [lastName, setLastName] = useState('');\n const [lastNameError, setLastNameError] = useState(false);\n const [ssoId, setSsoId] = useState('');\n const [email, setEmail] = useState('');\n const [emailError, setEmailError] = useState(false);\n const [mobile, setMobile] = useState('');\n const [mobileError, setMobileError] = useState(false);\n const [serverErrors, setServerErrors] = useState({});\n const [whitelistPopupVisible, setWhitelistPopupVisible] = useState(false);\n const [groupsRestrictions, setGroupRestriction] = useState([]);\n const dispatch = useDispatch();\n const { user } = useSelector((state: IReduxState) => state.login);\n\n useEffect(() => {\n document.getElementsByClassName('Settings')[0].classList.add('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.add('ontop');\n return () => {\n document.getElementsByClassName('Settings')[0].classList.remove('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.remove('ontop');\n };\n }, []);\n\n const selectUserType = (type: number) => {\n setSelectedUserType(type);\n setUserTypeMenuOpen(false);\n };\n\n useEffect(() => {\n setFirstNameError(false);\n }, [firstName]);\n useEffect(() => {\n setLastNameError(false);\n }, [lastName]);\n useEffect(() => {\n setEmailError(false);\n }, [email]);\n useEffect(() => {\n setSelectedUserTypeError(false);\n }, [selectedUserType]);\n // useEffect(() => { setMobileError(false) }, [mobile])\n\n const validate = (): boolean => {\n let hasError = false;\n\n if (firstName.length < 2) {\n setFirstNameError(true);\n hasError = true;\n }\n if (lastName.length < 2) {\n setLastNameError(true);\n hasError = true;\n }\n if (mobile && !isValidPhoneNumber(mobile)) {\n setMobileError(true);\n hasError = true;\n }\n\n if (!selectedUserType) {\n setSelectedUserTypeError(true);\n hasError = true;\n }\n if (!EmailValidator.validate(email)) {\n setEmailError(true);\n hasError = true;\n }\n\n return !hasError;\n };\n\n const submit = () => {\n if (!validate()) {\n return false;\n }\n\n const data = {\n first_name: firstName,\n last_name: lastName,\n email: email,\n role: selectedUserType,\n mobile: mobile,\n group_restrictions: selectedUserType < 35 ? undefined : groupsRestrictions,\n sso_id: ssoId ? ssoId : undefined\n };\n setLoading(true);\n setServerErrors({});\n RestApi.setData(`${Paths[PathNames.userManagement]}`, data, 'POST').subscribe(\n () => {\n setLoading(false);\n props.onClose();\n setWhitelistPopupVisible(false);\n dispatch(getRows());\n tosterService.onShowToster('User Added Successfully', 'success', '');\n },\n error => {\n setLoading(false);\n const _error = JSON.parse(error.message);\n if (error.toString().includes('whitelist') && LoginService.isCyberpionUser(user)) {\n setWhitelistPopupVisible(true);\n } else if (_error.detail) {\n tosterService.onShowToster(`Error: ${JSON.parse(error.message).detail}`, 'danger', '');\n } else if (error.toString().includes('whitelist')) {\n setServerErrors({ email: _error });\n } else {\n setServerErrors(_error);\n }\n }\n );\n };\n\n const renderServerError = (error: string[]): string => {\n return error[0];\n };\n\n const filterRoles = (role: string): boolean => {\n return role > user.role;\n };\n\n const cleanSelectedGroupsHTML = (): void => {\n const selectedGroupsHeader = document.getElementById('SELECTED_GROUPS');\n if (selectedGroupsHeader) {\n selectedGroupsHeader.innerHTML = 'Group Restriction';\n }\n };\n\n return (\n
    \n {whitelistPopupVisible && (\n setWhitelistPopupVisible(false)} onSubmit={submit} />\n )}\n \n
    \n {loading && }\n
    \n setFirstName(e.target.value)}\n maxLength={32}\n placeholder=\"First Name\"\n />\n
    \n
    \n setLastName(e.target.value)}\n maxLength={32}\n placeholder=\"Last Name\"\n />\n
    \n
    \n {serverErrors.email &&
    {renderServerError(serverErrors.email)}
    }\n setEmail(e.target.value)}\n maxLength={254}\n placeholder=\"Email\"\n />\n
    \n
    \n {serverErrors.mobile &&
    {renderServerError(serverErrors.mobile)}
    }\n \n
    \n
    \n {serverErrors.sso_id &&
    {renderServerError(serverErrors.sso_id)}
    }\n setSsoId(e.target.value)}\n maxLength={128}\n placeholder=\"SSO ID (Optional)\"\n />\n
    \n
    \n
    setUserTypeMenuOpen(!userTypeMenuOpen)}>\n {selectedUserType ? USER_ROLES[selectedUserType] : 'User Type'} \n
    \n
      \n {Object.keys(USER_ROLES)\n .filter(filterRoles)\n .map((role: string) => {\n const _role = parseInt(role);\n return (\n {\n selectUserType(_role);\n if (_role !== 35) {\n cleanSelectedGroupsHTML();\n }\n }}\n >\n {USER_ROLES[_role]}\n \n );\n })}\n
    \n
    \n {\n setGroupRestriction(data);\n }}\n />\n\n
    \n \n \n
    \n
    \n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { setDeletePromptParams } from 'features/GridSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { AddUserPopUp } from './AddUserPopUp/AddUserPopUp';\nimport './UserManagementActions.scss';\n\nexport function UserManagementActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [popupVisible, setPopupVisible] = useState(false);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'users',\n tab: 'user-management',\n index: null,\n ids: props.ids,\n message: 'Are you sure you would like to remove the following users?'\n })\n );\n };\n\n return (\n
    \n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n setPopupVisible(false)}>\n setPopupVisible(false)} />\n \n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { tosterService } from 'common/services/tostar.service';\nimport { getRows, setDeletePromptParams } from 'features/GridSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport classNames from 'classnames';\nimport './EmailDomainsActions.scss';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\n\nexport function EmailDomainsActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [input, setInput] = useState('');\n const [error, setError] = useState(false);\n const [submitting, setSubmitting] = useState(false);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'permissions',\n tab: 'domain-access-restrictions',\n index: null,\n ids: props.ids,\n message: 'Are you sure you would like to remove the following domains?'\n })\n );\n };\n\n const onAdd = () => {\n if (!Common.validateDomainName(input)) {\n setError(true);\n return;\n }\n setSubmitting(true);\n RestApi.setData(\n Paths[PathNames.domainRestriction],\n [\n {\n domain: input,\n is_allowed: true\n }\n ],\n 'POST'\n ).subscribe(\n (response: any) => {\n setInput('');\n setSubmitting(false);\n dispatch(getRows());\n tosterService.onShowToster('Added Successfully', 'success', '');\n },\n error => {\n setSubmitting(false);\n tosterService.showError(error);\n }\n );\n };\n\n const onChange = (val: string) => {\n setInput(val);\n setError(false);\n };\n\n return (\n
    \n onChange(e.target.value)}\n placeholder=\"Add Email Domain\"\n />\n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { tosterService } from 'common/services/tostar.service';\nimport { getRows, setDeletePromptParams } from 'features/GridSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport classNames from 'classnames';\nimport './IpRestrictionsActions.scss';\n\nexport function IpRestrictionsActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [input, setInput] = useState('');\n const [error, setError] = useState(false);\n const [submitting, setSubmitting] = useState(false);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'permissions',\n tab: 'ip-restrictions',\n index: null,\n ids: props.ids,\n message: \"Are you sure you would like to remove the following IP's?\"\n })\n );\n };\n\n const onAdd = () => {\n if (!Common.validateIp(input)) {\n setError(true);\n return;\n }\n setSubmitting(true);\n RestApi.setData(\n 'settings/permissions/ip-restrictions/',\n [\n {\n ip: input\n }\n ],\n 'POST'\n ).subscribe(\n (response: any) => {\n setInput('');\n setSubmitting(false);\n dispatch(getRows());\n tosterService.onShowToster('Added Successfully', 'success', '');\n },\n error => {\n setSubmitting(false);\n tosterService.showError(error);\n }\n );\n };\n\n const onChange = (val: string) => {\n setInput(val);\n setError(false);\n };\n\n return (\n
    \n onChange(e.target.value)}\n placeholder=\"Add Ip Restriction\"\n />\n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n
    \n );\n}\n","import { useState, useRef } from 'react';\nimport './grid.scss';\nimport { DataGridPro, GridApi, GridRowData, GridSelectionModel } from '@mui/x-data-grid-pro';\nimport { ManageNotData } from '../manageNotData/ManageNotData';\n\nexport function LocalGrid(props: any) {\n const apiRef: any = useRef();\n const [selectionModel, setSelectionModel] = useState([]);\n\n const handleOnSelectionModelChange = (model: GridSelectionModel) => {\n setSelectionModel(model);\n };\n\n const AddedActions = props.addedActions;\n\n const getRowId = (row: GridRowData) => {\n if (row.whois) {\n return row[props.identifier] + row.type;\n }\n return row[props.identifier];\n };\n\n return (\n
    \n {props.addedActions ? (\n
    \n \n
    \n ) : (\n ''\n )}\n
    \n
    \n \n }}\n apiRef={apiRef}\n rows={props.rows}\n columns={props.columns}\n onSelectionModelChange={handleOnSelectionModelChange}\n selectionModel={selectionModel}\n filterMode=\"server\"\n sortingMode=\"server\"\n disableMultipleColumnsSorting={true}\n disableSelectionOnClick={true}\n disableColumnReorder={true}\n checkboxSelection\n disableColumnMenu={true}\n hideFooter={true}\n getRowId={row => getRowId(row)}\n />\n
    \n
    \n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { toggleBulkVisibily } from 'features/GroupsSlice';\nimport { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport classNames from 'classnames';\nimport './BulkUpload.scss';\n\nexport function BulkUpload(props: any) {\n const dispatch = useDispatch();\n const [errors, setErrors] = useState(0);\n const [input, setInput] = useState('');\n const [collapsed, setCollapsed] = useState(false);\n const [done, setDone] = useState(false);\n const [numOfRows, setNumOfRows] = useState(0);\n\n useEffect(() => {\n setDone(false);\n }, [collapsed]);\n\n const onChange = (val: string) => {\n setInput(val);\n setErrors(0);\n };\n\n useEffect(() => {\n dispatch(toggleBulkVisibily(collapsed));\n }, [collapsed, dispatch]);\n\n const validate = (_input: string[]) => {\n let hasError = 0;\n _input.forEach((row: string) => {\n if (!props.validator(row.trim())) {\n hasError += 1;\n }\n });\n if (hasError) {\n setErrors(hasError);\n return false;\n }\n\n setNumOfRows(_input.length);\n\n return true;\n };\n\n const onAdd = () => {\n const inputAsArray = input.split('\\n');\n\n if (!validate(inputAsArray)) {\n return;\n }\n\n inputAsArray.forEach((item: string) => {\n dispatch(props.reduxAction({ value: item.trim() }));\n });\n\n setDone(true);\n dispatch(toggleBulkVisibily(false));\n setInput('');\n };\n\n const onCancel = () => {\n setErrors(0);\n setInput('');\n setCollapsed(false);\n };\n\n return (\n
    \n
    setCollapsed(!collapsed)}>\n Bulk Upload\n \n \n \n
    \n {done ?
    {`${numOfRows} item${numOfRows > 1 ? 's' : ''}`} Successfully Added!
    : ''}\n
    \n
    \n onChange(e.target.value)}\n placeholder={props.placeholder}\n />\n {errors ?
    Invalid item{errors > 1 ? 's' : ''} in list
    : ''}\n
    * Each item should appear in a separate line
    \n
    \n
    \n \n \n
    \n
    \n
    \n );\n}\n","import React from 'react';\nimport { Input } from 'common/components/Input/Input';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { inputSearch } from 'features/GroupsSlice';\nimport { AppDispatch } from 'app/store';\nimport { IGroupSearchProps } from 'common/interfaces/interface';\nimport './groupSearch.scss';\n\nconst GroupSearch: React.FC = ({ autoFocus }) => {\n const { search } = useSelector((state: any) => state.groups);\n const [searchText, setSearchText] = React.useState(search);\n const dispatch: AppDispatch = useDispatch();\n\n function handleKeyDown(event: React.KeyboardEvent) {\n if (event.key === 'Enter') {\n dispatch(inputSearch(searchText));\n }\n }\n\n function cleanText() {\n setSearchText('');\n dispatch(inputSearch(''));\n }\n\n function handleChange(value: string) {\n setSearchText(value);\n if (value === '') {\n cleanText();\n }\n }\n\n return (\n
    \n \n
    \n );\n};\n\nexport default GroupSearch;\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { Common } from 'common/services/common.service';\nimport { addDomain, removeDomain } from 'features/GroupsSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport classNames from 'classnames';\nimport GroupSearch from 'pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupSearch/GroupSearch';\n\nimport './DomainsActions.scss';\n\nexport function DomainsActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [error, setError] = useState(false);\n const [input, setInput] = useState('');\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n props.ids.forEach((id: string) => {\n dispatch(removeDomain(id));\n });\n };\n\n const onAdd = () => {\n if (input.includes('*')) {\n if (input.includes('..') || input.includes('**')) {\n // disallow 2 in a row unless prefix with 'xn'\n if ((input.match(/--/g) || []).length > (input.match(/xn--/g) || []).length) {\n setError(true);\n return;\n }\n } else if (input.startsWith('.')) {\n // disallow starts with .\n setError(true);\n return;\n } else if (input.startsWith('-') || input.endsWith('-')) {\n // disallow starts with - or end with -\n setError(true);\n return;\n } else {\n const regex = /^[a-z0-9.*-]{3,}$/;\n if (!regex.test(input)) {\n setError(true);\n return;\n }\n }\n } else if (!Common.validateDomainName(input)) {\n setError(true);\n return;\n }\n dispatch(addDomain({ value: input }));\n setInput('');\n };\n\n const onChange = (val: string) => {\n setInput(val);\n setError(false);\n };\n\n return (\n
    \n
    \n \n
    \n onChange(e.target.value)}\n placeholder=\"Add Domain\"\n />\n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n
    \n
    \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { LocalGrid } from 'common/components/grid/LocalGrid';\nimport { IColumnPicker } from 'common/interfaces/interface';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { addDomain } from 'features/GroupsSlice';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { BulkUpload } from '../BulkUpload/BulkUpload';\nimport { DomainsActions } from './DomainsActions/DomainsActions';\nimport './DomainsTab.scss';\n\ntype domainType = {\n [key: string]: string;\n};\nexport function DomainsTab(props: any) {\n const [columnPicker, setColumnPicker] = useState([]);\n const [identifier, setIdenifier] = useState('');\n const { domains, subsidiaryMode, search } = useSelector((state: IReduxState) => state.groups);\n\n useEffect(() => {\n RestApi.getData('settings/groups/domains/columns/').subscribe((response: any) => {\n setIdenifier(response.identifier_field);\n setColumnPicker(response.data);\n });\n }, []);\n\n const filteredRows = domains.filter((item: domainType) => item.value.includes(search));\n return (\n
    \n \n {columnPicker.length && identifier ? (\n }\n identifier={identifier}\n />\n ) : (\n
    \n )}\n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { Common } from 'common/services/common.service';\nimport { addIp, removeIp } from 'features/GroupsSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport classNames from 'classnames';\nimport GroupSearch from 'pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupSearch/GroupSearch';\n\nimport './IPNetworksActions.scss';\n\nexport function IPNetworksActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [error, setError] = useState(false);\n const [input, setInput] = useState('');\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n props.ids.forEach((id: string) => {\n dispatch(removeIp(id));\n });\n };\n\n const onAdd = () => {\n if (!Common.validateIp(input)) {\n setError(true);\n return;\n }\n dispatch(addIp({ value: input }));\n setInput('');\n };\n\n const onChange = (val: string) => {\n setInput(val);\n setError(false);\n };\n\n return (\n
    \n
    \n \n
    \n onChange(e.target.value)}\n placeholder=\"Add IP\"\n />\n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n
    \n
    \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { LocalGrid } from 'common/components/grid/LocalGrid';\nimport { IColumnPicker } from 'common/interfaces/interface';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { addIp } from 'features/GroupsSlice';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { BulkUpload } from '../BulkUpload/BulkUpload';\nimport { IPNetworksActions } from './IPNetworksActions/IPNetworksActions';\nimport './IPNetworksTab.scss';\n\ntype ipsType = {\n [key: string]: string;\n};\nexport function IPNetworksTab(props: any) {\n const [columnPicker, setColumnPicker] = useState([]);\n const [identifier, setIdenifier] = useState('');\n const { ips, search } = useSelector((state: IReduxState) => state.groups);\n\n useEffect(() => {\n RestApi.getData('settings/groups/ip-networks/columns/').subscribe((response: any) => {\n setIdenifier(response.identifier_field);\n setColumnPicker(response.data);\n });\n }, []);\n\n const filteredRows = ips.filter((item: ipsType) => item.value.includes(search));\n return (\n
    \n \n {columnPicker.length ? (\n }\n identifier={identifier}\n />\n ) : (\n
    \n )}\n
    \n );\n}\n","import { Checkbox } from 'common/components/Icons/IconCheckbox/IconCheckbox';\nimport { IReduxState } from 'app/store';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { removeServicesString, toggleService } from 'features/GroupsSlice';\nimport { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport './ServicesTab.scss';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\n\ninterface IService {\n value: number;\n label: string;\n}\n\nexport function ServicesTab(props: any) {\n const dispatch = useDispatch();\n const [servicesList, setServicesList] = useState([]);\n const { services } = useSelector((state: IReduxState) => state.groups);\n\n useEffect(() => {\n RestApi.getData(Paths[PathNames.services]).subscribe((response: any) => {\n setServicesList(response);\n if (services && typeof services[0] === 'string') {\n response.forEach((s: IService) => {\n if (services.includes(s.label)) {\n dispatch(toggleService(s.value));\n }\n });\n dispatch(removeServicesString());\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const onSelect = (val: number) => {\n dispatch(toggleService(val));\n };\n\n return (\n
    \n
      \n {servicesList.map(service => {\n return (\n
    • onSelect(service.value)}>\n \n {service.label}\n
    • \n );\n })}\n
    \n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport './WhoisOptionsDropdown.scss';\n\nexport const WHOIS_OPTIONS: string[] = ['Email', 'Organization', 'Name-Server'];\n\nexport function WhoisOptionsDropdown(props: any) {\n const [visible, setVisible] = useState(false);\n const [selected, setSelected] = useState('');\n const [error, setError] = useState(false);\n\n useEffect(() => {\n setError(props.error);\n }, [props.error]);\n\n const onChange = (val: string) => {\n setSelected(val);\n setError(false);\n props.onChange(val);\n setVisible(false);\n };\n\n return (\n
    \n
    setVisible(!visible)}>\n {selected || 'WHOIS Record Type'} \n
    \n
      \n {WHOIS_OPTIONS.map((option: string) => {\n return (\n
    • onChange(option)}>\n {option}\n
    • \n );\n })}\n
    \n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { Common } from 'common/services/common.service';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport * as EmailValidator from 'email-validator';\nimport { WhoisOptionsDropdown } from './WhoisOptionsDropdown/WhoisOptionsDropdown';\nimport { addWhois, removeWhois } from 'features/GroupsSlice';\nimport classNames from 'classnames';\nimport GroupSearch from 'pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupSearch/GroupSearch';\n\nimport './WhoisActions.scss';\n\nexport function WhoisActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [whoisOption, setWhoisOption] = useState('');\n const [error, setError] = useState(false);\n const [whoisError, setWhoisError] = useState(false);\n const [input, setInput] = useState('');\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n props.ids.forEach((id: string) => {\n dispatch(removeWhois(id));\n });\n };\n\n const validate = (): boolean => {\n let hasError = false;\n\n if (whoisOption === 'Name-Server') {\n if (!Common.validateDomainName(input)) {\n setError(true);\n hasError = true;\n }\n }\n\n if (whoisOption === 'Organization') {\n if (input.length < 2) {\n setError(true);\n hasError = true;\n }\n }\n\n if (whoisOption === 'Email') {\n if (!EmailValidator.validate(input)) {\n setError(true);\n hasError = true;\n }\n }\n\n if (!whoisOption) {\n setWhoisError(true);\n hasError = true;\n }\n\n if (!input) {\n setError(true);\n hasError = true;\n }\n\n return !hasError;\n };\n\n const onAdd = () => {\n if (!validate()) {\n return;\n }\n dispatch(addWhois({ whois: input, type: whoisOption }));\n setInput('');\n };\n\n const onChange = (val: string) => {\n setInput(val);\n setError(false);\n };\n\n return (\n
    \n
    \n \n
    \n \n onChange(e.target.value)}\n placeholder=\"Add Whois\"\n />\n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n
    \n
    \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { LocalGrid } from 'common/components/grid/LocalGrid';\nimport { IColumnPicker } from 'common/interfaces/interface';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { WhoisActions } from './WhoisActions/WhoisActions';\nimport './WhoisTab.scss';\n\ntype WhoisType = {\n [key: string]: string;\n};\n\nexport function WhoisTab(props: any) {\n const [columnPicker, setColumnPicker] = useState([]);\n const [identifier, setIdenifier] = useState('');\n const { whois, search } = useSelector((state: IReduxState) => state.groups);\n\n useEffect(() => {\n RestApi.getData('settings/groups/whois/columns/').subscribe((response: any) => {\n setIdenifier(response.identifier_field);\n setColumnPicker(response.data);\n });\n }, []);\n\n const filteredRows = whois.filter((item: WhoisType) => item.whois.includes(search));\n return (\n
    \n {columnPicker.length ? (\n }\n identifier={identifier}\n />\n ) : (\n
    \n )}\n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { Common } from 'common/services/common.service';\nimport { addMobileApp, removeMobileApp } from 'features/GroupsSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport classNames from 'classnames';\nimport GroupSearch from 'pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupSearch/GroupSearch';\n\nimport './mobile-apps-actions.scss';\n\nexport function MobileAppsActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [error, setError] = useState(false);\n const [input, setInput] = useState('');\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n props.ids.forEach((id: string) => {\n dispatch(removeMobileApp(id));\n });\n };\n\n const onAdd = () => {\n if (!Common.validateMobileApp(input)) {\n setError(true);\n return;\n }\n dispatch(addMobileApp({ value: input }));\n setInput('');\n };\n\n const onChange = (val: string) => {\n setInput(val);\n setError(false);\n };\n\n return (\n
    \n
    \n \n
    \n onChange(e.target.value)}\n placeholder=\"Add Mobile Apps\"\n />\n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n
    \n
    \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { LocalGrid } from 'common/components/grid/LocalGrid';\nimport { IColumnPicker } from 'common/interfaces/interface';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { MobileAppsActions } from 'pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/MobileApps/MobileAppsActions/MobileAppsActions';\n\nimport './mobile-apps-tab.scss';\n\ntype ipsType = {\n [key: string]: string;\n};\nconst MobileAppsTab = (props: any) => {\n const [columnPicker, setColumnPicker] = useState([]);\n const [identifier, setIdenifier] = useState('');\n const { search, mobileApps } = useSelector((state: IReduxState) => state.groups);\n\n useEffect(() => {\n RestApi.getData('settings/groups/mobile-apps/columns/').subscribe((response: any) => {\n setIdenifier(response.identifier_field);\n setColumnPicker(response.data);\n });\n }, []);\n\n const filteredRows = mobileApps.filter((item: ipsType) => item.value.includes(search));\n return (\n
    \n {columnPicker.length && identifier ? (\n }\n identifier={identifier}\n />\n ) : (\n
    \n )}\n
    \n );\n};\n\nexport default MobileAppsTab;\n","import { ToolTip } from 'common/components/toolTip/toolTip';\nimport ReactDOMServer from 'react-dom/server';\nimport { useState } from 'react';\nimport { DomainsTab } from './DomainsTab/DomainsTab';\nimport { IPNetworksTab } from './IPNetworksTab/IPNetworksTab';\nimport { ServicesTab } from './ServicesTab/ServicesTab';\nimport { WhoisTab } from './WhoisTab/WhoisTab';\nimport MobileAppsTab from './MobileApps/MobileAppsTab';\nimport { useDispatch } from 'react-redux';\nimport { inputSearch } from 'features/GroupsSlice';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\n\nimport './GroupTabs.scss';\n\nlet GROUP_TABS = ['Domains', 'IP Networks', 'Services', 'WHOIS'];\n\nexport function GroupTabs(props: any) {\n const [activeTab, setActiveTab] = useState(0);\n const dispatch = useDispatch();\n const flags = useFlags();\n\n if (flags['isMobile'] && !GROUP_TABS.includes('Mobile Apps')) {\n GROUP_TABS.push('Mobile Apps');\n }\n\n const renderTabComponent = () => {\n switch (activeTab) {\n case 0:\n return ;\n case 1:\n return ;\n case 2:\n return ;\n case 3:\n return ;\n case 4:\n return ;\n }\n };\n\n const getToolTipHtml = (tab: string) => {\n switch (tab.toLowerCase()) {\n case 'domains':\n return ReactDOMServer.renderToString(\n
    \n
    Assets input will find exact matches (example.com)
    \n
    Use the * sign to include items that END WITH
    \n
    For Example, Use *example.com to include example.com all
    \n
    subdomains, and aaaexample.com.
    \n
    Remember to add . to include only subdomains (*.example.com)
    \n
    \n );\n case 'ip networks':\n return ReactDOMServer.renderToString(\n
    \n
    IP input will find an exact match for the IP
    \n
    IP block input will include all the IPs within that range
    \n
    \n );\n case 'services':\n return ReactDOMServer.renderToString(\n
    \n
    \n Service input will find matches for assets found running\n
    \n one of the services that have been checked\n
    \n
    \n );\n case 'whois':\n return ReactDOMServer.renderToString(\n
    \n
      \n
    • Email input will find at least one “EXACT MATCH” within the list of emails listed for an asset
    • \n
    • Name Server input will find an “EXACT MATCH” within a list of Name Servers
    • \n
    • Organization input will find a match using “STARTS WITH”
    • \n
    \n
    \n );\n case 'mobile apps':\n return ReactDOMServer.renderToString(\n
    \n
    Application name input will find text that is CONTAINED within the
    \n
    \n application name as it's displayed in the Applications column in the inventory section\n
    \n
    \n );\n default:\n return '';\n }\n };\n\n const handleTabClick = (ev: React.MouseEvent, index: number) => {\n dispatch(inputSearch(''));\n setActiveTab(index);\n };\n\n return (\n
    \n
      \n {GROUP_TABS.map((tab: string, index: number) => {\n return (\n handleTabClick(ev, index)}\n className={GROUP_TABS[activeTab] === tab ? 'active' : ''}\n >\n {tab}\n \"settings\n
      \n \n );\n })}\n
    \n
    {renderTabComponent()}
    \n \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { PopupHeader } from 'common/components/PopupHeader/PopupHeader';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { getRows } from 'features/GridSlice';\nimport { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { GroupTabs } from './GroupTabs/GroupTabs';\nimport { setLabel, inputSearch } from 'features/GroupsSlice';\nimport { Common } from 'common/services/common.service';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport { showError, showSuccess } from 'features/AlertSlice';\n\nimport './CreateGroupPopUp.scss';\n\nexport function CreateGroupPopUp(props: any) {\n const [groupNameError, setGroupNameError] = useState(false);\n\n const dispatch = useDispatch();\n const {\n bulkVisible,\n label,\n editMode,\n subsidiaryMode,\n domains,\n ips,\n services,\n whois,\n identifier,\n mobileApps\n } = useSelector((state: IReduxState) => state.groups);\n\n useEffect(() => {\n document.getElementsByClassName('Settings')[0].classList.add('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.add('ontop');\n\n return () => {\n document.getElementsByClassName('Settings')[0].classList.remove('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.remove('ontop');\n };\n }, []);\n\n const onAdd = () => {\n if (!label) {\n setGroupNameError(true);\n return;\n }\n const _domains = domains.map((d: { value: string }) => {\n return d.value;\n });\n const _ips = ips.map((ip: { value: string }) => {\n return ip.value;\n });\n const _whois = whois.map((w: { whois: string; type: string }) => {\n return { value: w.whois, type: Common.convertToApiPath(w.type) };\n });\n const _mobileApps = mobileApps.map((app: { value: string }) => {\n return app.value;\n });\n\n RestApi.setData(\n `${Paths[PathNames.groups]}${editMode ? identifier + '/' : ''}`,\n {\n name: label,\n domains: _domains,\n ip_networks: _ips,\n services: services,\n whois: _whois,\n mobile_apps: _mobileApps\n },\n editMode ? 'PUT' : 'POST'\n ).subscribe(\n (response: any) => {\n dispatch(inputSearch(''));\n props.onClose();\n dispatch(getRows());\n dispatch(showSuccess(`Group ${editMode ? 'Saved' : 'Created'} Successfully`));\n },\n (error: any) => {\n dispatch(showError(error));\n }\n );\n };\n const handleClosePopup = () => {\n dispatch(inputSearch(''));\n props.onClose();\n };\n\n const _setGroupName = (val: string) => {\n dispatch(setLabel(val));\n setGroupNameError(false);\n };\n\n const isSaveDisabled = () => {\n if (bulkVisible) {\n return true;\n }\n\n if (!domains.length && !ips.length && !whois.length && !services.length && !mobileApps.length) {\n return true;\n }\n\n return false;\n };\n\n return (\n
    \n \n
    \n
    \n Use the tabs below to define your groups.\n
    \n Creation or changes of groups may take several minutes to apply.\n
    \n \n
    \n \n \n
    \n
    \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { setDeletePromptParams } from 'features/GridSlice';\nimport { resetGroupsState, togglePopup } from 'features/GroupsSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CreateGroupPopUp } from './CreateGroupPopUp/CreateGroupPopUp';\nimport './FilterGroupsActions.scss';\n\nexport function FilterGroupsActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const { popupVisible } = useSelector((state: IReduxState) => state.groups);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const _setPopupVisible = (b: boolean) => {\n if (!b) {\n dispatch(resetGroupsState());\n }\n dispatch(togglePopup(b));\n };\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'groups',\n index: null,\n ids: props.ids,\n message: 'Are you sure you would like to remove the following groups?'\n })\n );\n };\n\n return (\n
    \n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n _setPopupVisible(false)}>\n _setPopupVisible(false)} />\n \n
    \n );\n}\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { PopupHeader } from 'common/components/PopupHeader/PopupHeader';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { getRows } from 'features/GridSlice';\nimport { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport './AddAssetsPopUp.scss';\nimport { Common } from 'common/services/common.service';\nimport classNames from 'classnames';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { showSuccess, showError } from 'features/AlertSlice';\n\nconst LIMIT = 10000;\n\nexport function AddAssetsPopUp(props: any) {\n const [loading, setLoading] = useState(false);\n const [consent, setConsent] = useState(false);\n const [consentError, setConsentError] = useState(false);\n const [input, setInput] = useState('');\n const [inputError, setInputError] = useState(false);\n const [errorText, setErrorText] = useState('');\n const dispatch = useDispatch();\n\n useEffect(() => {\n document.getElementsByClassName('Settings')[0].classList.add('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.add('ontop');\n return () => {\n document.getElementsByClassName('Settings')[0].classList.remove('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.remove('ontop');\n };\n }, []);\n\n useEffect(() => {\n setConsentError(false);\n }, [consent]);\n useEffect(() => {\n setInputError(false);\n setErrorText('');\n }, [input]);\n\n const validate = (_input: string[]): boolean => {\n let hasError = false;\n\n if (!consent) {\n setConsentError(true);\n hasError = true;\n }\n\n const inputError = _input.filter((row: string) => {\n if (props.type === 'domain') {\n return !Common.validateDomainName(row);\n } else if (props.type === 'ip') {\n return !Common.validateIp(row);\n }\n return true;\n });\n\n if (inputError.length) {\n hasError = true;\n setInputError(true);\n setErrorText(`Invalid Input: ${inputError[0]}`);\n }\n\n return !hasError;\n };\n\n const submit = () => {\n const inputAsArray = input.split('\\n');\n\n if (inputAsArray.length > LIMIT) {\n setErrorText(`List exceeded the number of items (max: ${LIMIT.toLocaleString()})`);\n }\n\n if (!validate(inputAsArray)) {\n return false;\n }\n\n const data = inputAsArray.map((item: string) => {\n return props.type === 'domain' ? { asset: item } : { ip_network: item };\n });\n\n setLoading(true);\n const url = props.type === 'domain' ? Paths[PathNames.manageFqdns] : Paths[PathNames.ipRanges];\n RestApi.setData(url, data, 'POST').subscribe(\n (response: any) => {\n setLoading(false);\n props.onClose();\n dispatch(getRows());\n const msg = props.type === 'domain' ? 'Assets Added Successfully' : 'IPs added successfully';\n dispatch(showSuccess(msg));\n },\n error => {\n setLoading(false);\n // tosterService.showError(error);\n dispatch(showError(error));\n }\n );\n };\n\n const popupHeaderText = props.type === 'domain' ? 'Add Additional Domains' : 'Add Additional IPs';\n const description =\n props.type === 'domain'\n ? 'Add here domains, subdomains of existing domains, URLs, and managed domains.'\n : 'Add here IPs and IP Ranges.';\n const checkboxText =\n props.type === 'domain'\n ? 'I confirm that all domains, URLs and managed domains are part or associated with my organization.'\n : 'I confirm that all IPs and IP ranges are part of or associated with my organization.';\n\n return (\n
    \n \n
    \n {loading && }\n
    \n
    {description}
    \n
    Each item should appear in a separate line.
    \n
    \n setInput(e.target.value)}\n >\n {!!errorText &&
    {errorText}
    }\n
    setConsent(!consent)}>\n {checkboxText}\n
    \n
    \n \n \n Add\n \n
    \n
    \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { setDeletePromptParams } from 'features/GridSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AddAssetsPopUp } from './AddAssetsPopUp/AddAssetsPopUp';\nimport './ManageAssetsActions.scss';\nimport { LoginService } from 'login/services/login.service';\n\nexport function ManageAssetsActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [popupVisible, setPopupVisible] = useState(false);\n const { user } = useSelector((state: IReduxState) => state.login);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'organization-management',\n tab: 'manage-fqdns',\n index: null,\n ids: props.ids,\n message: 'Are you sure you would like to remove the following assets and their subdomains?'\n })\n );\n };\n\n if (LoginService.isMemberOrBelow(user)) {\n return
    ;\n }\n\n return (\n
    \n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n setPopupVisible(false)}>\n setPopupVisible(false)} type=\"domain\" />\n \n
    \n );\n}\n","import { IconArrow } from '../Icons/IconArrow/IconArrow';\nimport classNames from 'classnames';\nimport './DynamicDropDown.scss';\nimport { useEffect, useState } from 'react';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { AppLoading } from '../appLoading/appLoading';\n\nexport function DynamicDropDown(props: any) {\n const [isToggled, setIsToggled] = useState(false);\n const [selected, setSelected] = useState(props.selected);\n const [data, setData] = useState<[]>([]);\n const [searchInput, setSearchInput] = useState('');\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n setLoading(true);\n RestApi.getData(props.path).subscribe((response: any) => {\n setData(response.results);\n setLoading(false);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const _setSelected = (item: string) => {\n setSelected(item);\n props.onChange(item);\n setIsToggled(false);\n };\n\n const _setIsToggled = () => {\n if (data.length) {\n setIsToggled(!isToggled);\n }\n };\n\n const getListHTML = (): JSX.Element[] => {\n if (!data.length) {\n return [];\n }\n\n return data.map((item: any, index: number) => {\n return (\n
  • _setSelected(item[props.field])}>\n {item[props.field]}\n
  • \n );\n });\n };\n\n const onSubmitSearch = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter') {\n setLoading(true);\n RestApi.getData(props.searchPath + searchInput).subscribe((response: any) => {\n setData(response.results);\n setLoading(false);\n });\n }\n };\n\n return !!data && !!data.length ? (\n
    \n
    \n {props.selected || props.headerText} \n
    \n
    \n {loading ? (\n \n ) : (\n <>\n
    \n \"search\"\n setSearchInput(e.target.value)}\n onKeyDown={onSubmitSearch}\n />\n
    \n
    \n
      {getListHTML()}
    \n
    \n \n )}\n
    \n
    \n ) : null;\n}\n","import { IconArrow } from '../Icons/IconArrow/IconArrow';\nimport classNames from 'classnames';\nimport './StaticDropDown.scss';\nimport { useState } from 'react';\nimport { IListItem } from 'common/interfaces/interface';\n\nexport function StaticDropDown(props: any) {\n const [isToggled, setIsToggled] = useState(false);\n const [selected, setSelected] = useState(props.selected);\n const [searchInput, setSearchInput] = useState('');\n const [list] = useState(props.list);\n const [filteredList, setFilteredList] = useState(props.list);\n\n const _setSelected = (item: IListItem) => {\n setSelected(item.value);\n props.onChange(item.key);\n setIsToggled(false);\n };\n\n const getListHTML = (): JSX.Element[] => {\n const _html: JSX.Element[] = [];\n filteredList.forEach((item: IListItem, index: number) => {\n _html.push(\n
  • _setSelected(item)}>\n {item.value}\n
  • \n );\n });\n return _html;\n };\n\n const onSearch = (value: string) => {\n setSearchInput(value);\n let copy = [...list];\n if (value) {\n copy = copy.filter((item: IListItem) => item.value.toLowerCase().includes(value.toLowerCase()));\n }\n setFilteredList(copy);\n };\n\n return (\n
    \n setIsToggled(!isToggled)}\n className={classNames({ selected: !!selected }, { disabled: !!props.disabled })}\n >\n {props.selected || props.headerText} \n \n
    \n
    \n \"search\"\n onSearch(e.target.value)} />\n
    \n
    \n
      {getListHTML()}
    \n
    \n
    \n
    \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nimport { PopupHeader } from 'common/components/PopupHeader/PopupHeader';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Common } from 'common/services/common.service';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport { GroupTabs } from 'pages/Settings/FilterGroups/FilterGroupsActions/CreateGroupPopUp/GroupTabs/GroupTabs';\nimport classNames from 'classnames';\nimport { DynamicDropDown } from 'common/components/DynamicDropDown/DynamicDropDown';\nimport { StaticDropDown } from 'common/components/StaticDropDown/StaticDropDown';\nimport countries, { countriesMap } from 'common/constants/countries';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { fetchSubsidiaryByName, resetSubsidiaryState } from 'features/SubsidiariesSlice';\nimport { showSuccess, showError } from 'features/AlertSlice';\nimport { resetGroupsState, addDomain, addIp, addWhois, addMobileApp, toggleService } from 'features/GroupsSlice';\nimport { getRows } from 'features/GridSlice';\n\nimport './AddSubsidiaryPopup.scss';\n\ninterface ISubsidiary {\n name: string;\n main_domain: string;\n direct_parent?: string;\n country?: string;\n}\n\nconst AddSubsidiaryPopup = (props: any) => {\n const [subsidiaryName, setSubsidiaryName] = useState('');\n const [subsidiaryNameError, setSubsidiaryNameError] = useState(false);\n const [subsidiaryDomain, setSubsidiaryDomain] = useState('');\n const [parentCompany, setParentCompany] = useState('');\n const [subsidiaryDomainError, setSubsidiaryDomainError] = useState(false);\n const [country, setCountry] = useState();\n const [countryValue, setCountryValue] = useState();\n const [loading, setLoading] = useState(false);\n\n const dispatch = useDispatch();\n\n const { bulkVisible, domains, ips, services, whois, mobileApps } = useSelector((state: IReduxState) => state.groups);\n const { subsidiariesPopupVisible, subsidiarySelectedId, subsidiariesEditMode, selectedSubsidiary } = useSelector(\n (state: IReduxState) => state.subsidiaries\n );\n\n useEffect(() => {\n if (subsidiariesEditMode && !!country) {\n setCountryValue(countriesMap[country.toUpperCase()]);\n }\n }, [subsidiariesEditMode, country]);\n\n useEffect(() => {\n const setSubsidiaryData = () => {\n setSubsidiaryName(selectedSubsidiary.name);\n setSubsidiaryDomain(selectedSubsidiary.main_domain);\n setCountry(selectedSubsidiary.country);\n setParentCompany(selectedSubsidiary.direct_parent);\n };\n\n const setGroupsData = () => {\n RestApi.getData(Paths[PathNames.services]).subscribe((responseServices: any) => {\n selectedSubsidiary.whois?.forEach((w: { value: string; type: string }) => {\n dispatch(addWhois({ whois: w.value, type: w.type }));\n });\n selectedSubsidiary.domains?.forEach((d: string) => {\n dispatch(addDomain({ value: d }));\n });\n selectedSubsidiary.ip_networks?.forEach((ip: string) => {\n dispatch(addIp({ value: ip }));\n });\n selectedSubsidiary.mobile_apps?.forEach((app: string) => {\n dispatch(addMobileApp({ value: app }));\n });\n selectedSubsidiary.services?.forEach((s: string) => {\n const selectedService = responseServices.find((service: any) => service.label === s);\n dispatch(toggleService(selectedService.value));\n });\n });\n };\n\n if (!!selectedSubsidiary && !!Object.keys(selectedSubsidiary).length && subsidiariesEditMode) {\n setSubsidiaryData();\n setGroupsData();\n }\n }, [selectedSubsidiary, subsidiariesEditMode, dispatch]);\n\n useEffect(() => {\n if (subsidiariesPopupVisible && subsidiariesEditMode) {\n dispatch(fetchSubsidiaryByName(subsidiarySelectedId));\n }\n }, [subsidiariesPopupVisible, subsidiariesEditMode, subsidiarySelectedId, dispatch]);\n\n useEffect(() => {\n document.getElementsByClassName('Settings')[0].classList.add('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.add('ontop');\n\n return () => {\n document.getElementsByClassName('Settings')[0].classList.remove('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.remove('ontop');\n };\n }, []);\n\n const validate = (): boolean => {\n let isError;\n\n setSubsidiaryDomainError(!Common.validateTldr(subsidiaryDomain));\n setSubsidiaryNameError(!subsidiaryName.length);\n\n isError = !Common.validateTldr(subsidiaryDomain) || !subsidiaryName.length;\n return !isError;\n };\n\n const getGroupsPayload = () => {\n const _domains = domains.map((d: { value: string }) => {\n return d.value;\n });\n const _ips = ips.map((ip: { value: string }) => {\n return ip.value;\n });\n const _whois = whois.map((w: { whois: string; type: string }) => {\n return { value: w.whois, type: Common.convertToApiPath(w.type) };\n });\n const _mobileApps = mobileApps.map((app: { value: string }) => {\n return app.value;\n });\n\n return {\n domains: _domains,\n ip_networks: _ips,\n services: services,\n whois: _whois,\n mobile_apps: _mobileApps\n };\n };\n\n const saveOnClick = async () => {\n if (!validate()) return false;\n\n setLoading(true);\n\n const subsidiaryPayload: ISubsidiary = {\n name: subsidiaryName,\n main_domain: subsidiaryDomain,\n country: country,\n ...(parentCompany ? { direct_parent: parentCompany } : {})\n };\n\n const groupsPayload = getGroupsPayload();\n\n RestApi.setData(\n `${Paths[PathNames.subsidiaries]}${subsidiariesEditMode ? subsidiarySelectedId + '/' : ''}`,\n subsidiariesEditMode ? { ...groupsPayload } : { ...subsidiaryPayload, ...groupsPayload },\n subsidiariesEditMode ? 'PUT' : 'POST'\n ).subscribe(\n (response: any) => {\n dispatch(resetSubsidiaryState());\n dispatch(resetGroupsState());\n\n dispatch(getRows());\n dispatch(showSuccess(`Subsidiary ${subsidiariesEditMode ? 'Saved' : 'Created'} Successfully`));\n\n props.onClose();\n },\n (error: any) => {\n dispatch(showError(error));\n setLoading(false);\n }\n );\n };\n\n const handleClosePopup = () => {\n dispatch(resetSubsidiaryState());\n dispatch(resetGroupsState());\n\n props.onClose();\n };\n\n const handleNameOnChange = (value: string) => {\n setSubsidiaryName(value);\n };\n\n return (\n
    \n \n
    \n {loading ? (\n \n ) : (\n <>\n
    \n \n the subsidiary information below. Creation or changes of groups may take several minutes to apply.\n \n
    \n
    \n
    \n
    \n setSubsidiaryDomain(e.target.value)}\n className={classNames({ error: subsidiaryDomainError })}\n type=\"text\"\n placeholder=\"Main Domain\"\n style={{ height: 35, width: 415, color: '#6d6d7a' }}\n />\n
    \n
    \n {\n setCountryValue(countriesMap[country.toUpperCase()]);\n setCountry(country);\n }}\n disabled={!!subsidiariesEditMode}\n />\n
    \n
    \n
    \n
    \n setParentCompany(company)}\n />\n {/* Country: */}\n
    \n
    \n
    \n \n )}\n
    \n Use the tabs below to define your groups.\n
    \n Creation or changes of groups may take several minutes to apply.\n
    \n \n
    \n \n \n
    \n
    \n
    \n );\n};\n\nexport { AddSubsidiaryPopup };\n","import { IReduxState } from 'app/store';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { setDeletePromptParams } from 'features/GridSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AddSubsidiaryPopup } from 'pages/Settings/Subsidiaries/SubsidiariesActions/AddSubsidiaryPopup/AddSubsidiaryPopup';\nimport { LoginService } from 'login/services/login.service';\nimport { resetGroupsState } from 'features/GroupsSlice';\nimport { resetSubsidiaryState, toggleSubsidiariesPopup } from 'features/SubsidiariesSlice';\n\nimport './SubsidiariesActions.scss';\n\nexport function SubsidiariesActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const { user } = useSelector((state: IReduxState) => state.login);\n const { subsidiariesPopupVisible } = useSelector((state: IReduxState) => state.subsidiaries);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'organization-management',\n tab: 'subsidiaries',\n index: null,\n ids: props.ids,\n message: 'Are you sure you would like to remove the following subsidiaries?'\n })\n );\n };\n\n const setPopupVisible = (b: boolean) => {\n if (!b) {\n dispatch(resetSubsidiaryState());\n dispatch(resetGroupsState());\n }\n dispatch(toggleSubsidiariesPopup(b));\n };\n\n return !LoginService.isMemberOrBelow(user) ? (\n
    \n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n {subsidiariesPopupVisible && (\n setPopupVisible(false)}>\n setPopupVisible(false)} />\n \n )}\n
    \n ) : null;\n}\n","import Grid from '@mui/material/Grid';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport classNames from 'classnames';\n\nimport './GroupRelationshipTypeBox.scss';\n\ninterface IGroupRelationshipTypeBox {\n type: string;\n selected?: boolean;\n onClick: () => void;\n}\n\nconst RELATIONSHIP_OPTIONS = {\n substractBFromA: {\n icon: '/assets/images/substractBFromA.svg',\n text: 'Substract B from A'\n },\n substractAFromB: {\n icon: '/assets/images/substractAFromB.svg',\n text: 'Substract A from B'\n },\n intersect: {\n icon: '/assets/images/intersect.svg',\n text: 'Intersect'\n },\n combine: {\n icon: '/assets/images/combine.svg',\n text: 'Combine'\n },\n union: {\n icon: '/assets/images/union.svg',\n text: 'Union'\n }\n};\nconst GroupRelationshipTypeBox: React.FC = ({ type, selected = false, onClick }) => {\n const item = RELATIONSHIP_OPTIONS[type as keyof typeof RELATIONSHIP_OPTIONS];\n\n return (\n \n \n \"search\"\n \n \n \n {item.text}\n \n \n \n );\n};\n\nexport default GroupRelationshipTypeBox;\n","import React, { useEffect, useState, memo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { getRows } from 'features/GridSlice';\nimport { getGroups, fetchMetaGroupByName, resetMetaGroupsState } from 'features/GroupsSlice';\nimport { fetchAllSubsidiaries } from 'features/SubsidiariesSlice';\nimport { showSuccess, showError } from 'features/AlertSlice';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\n// import { Common } from 'common/services/common.service';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Popup, Text, DropdownBox, BlockDivider } from '@cyberpion/cyberpion-ui';\nimport Grid from '@mui/material/Grid';\nimport OutlinedInput from '@mui/material/OutlinedInput';\nimport FormControl from '@mui/material/FormControl';\nimport GroupRelationshipTypeBox from './GroupRelationshipTypeBox/GroupRelationshipTypeBox';\nimport { IReduxState } from 'app/store';\n\nimport './MetaGroupsPopup.scss';\n\ninterface IMetaGroupsPopup {\n open: boolean;\n onClose: () => void;\n}\ninterface IMetaGroup {\n name: string;\n collection_a: string[];\n collection_b: string[];\n relationship: number | null;\n}\n\nconst MetaGroupsPopup: React.FC = ({ open, onClose }) => {\n const [isLoading, setIsLoading] = useState(false);\n const [metaGroupName, setMetaGroupName] = useState('');\n const [collectionA, setCollectionA] = useState([]);\n const [collectionB, setCollectionB] = useState([]);\n const [selectedRelation, setSelectedRelation] = useState(1);\n const [clickedSubmit, setClickedSubmit] = useState(false);\n const [isErrorA, setIsErrorA] = useState(false);\n const [isErrorB, setIsErrorB] = useState(false);\n const {\n groups,\n metaGroupPopupVisible,\n metaGroupSelectedId,\n metaGroupEditMode,\n selectedMetaGroup,\n statusGroups\n } = useSelector((state: IReduxState) => state.groups);\n const { allSubsidiaries, statusAllSubsidiaries } = useSelector((state: IReduxState) => state.subsidiaries);\n const dispatch = useDispatch();\n\n useEffect(() => {\n setIsLoading(true);\n dispatch(getGroups({ showGroupsOnly: true }));\n dispatch(fetchAllSubsidiaries());\n }, [dispatch]);\n\n useEffect(() => {\n if (statusGroups === 'succeed' && statusAllSubsidiaries === 'succeed' && !metaGroupEditMode) {\n const optionsGroups = groups.map(({ id, name }: { id: number; name: string }) => ({\n id,\n value: name,\n label: name,\n checked: false,\n disabled: false\n }));\n const optionsSubsidiaries = allSubsidiaries.map(({ id, name }: { id: number; name: string }) => ({\n id,\n value: name,\n label: name,\n checked: false,\n disabled: false\n }));\n\n setCollectionA([...optionsGroups, ...optionsSubsidiaries].map((opt: any) => ({ ...opt })));\n setCollectionB([...optionsGroups, ...optionsSubsidiaries].map((opt: any) => ({ ...opt })));\n setTimeout(() => setIsLoading(false), 500);\n }\n }, [groups, allSubsidiaries, metaGroupEditMode, statusGroups, statusAllSubsidiaries]);\n\n useEffect(() => {\n const setMetaGroupData = () => {\n const groupsA = groups.map(({ id, name }: { id: number; name: string }) => ({\n id,\n value: name,\n label: name,\n checked: selectedMetaGroup.collection_a.includes(name),\n disabled: selectedMetaGroup.collection_b.includes(name)\n }));\n const subsidiariesA = allSubsidiaries.map(({ id, name }: { id: number; name: string }) => ({\n id,\n value: name,\n label: name,\n checked: selectedMetaGroup.collection_a.includes(name),\n disabled: selectedMetaGroup.collection_b.includes(name)\n }));\n const groupsB = groups.map(({ id, name }: { id: number; name: string }) => ({\n id,\n value: name,\n label: name,\n checked: selectedMetaGroup.collection_b.includes(name),\n disabled: selectedMetaGroup.collection_a.includes(name)\n }));\n const subsidiariesB = allSubsidiaries.map(({ id, name }: { id: number; name: string }) => ({\n id,\n value: name,\n label: name,\n checked: selectedMetaGroup.collection_b.includes(name),\n disabled: selectedMetaGroup.collection_a.includes(name)\n }));\n\n setMetaGroupName(selectedMetaGroup.name);\n setCollectionA([...groupsA, ...subsidiariesA]);\n setCollectionB([...groupsB, ...subsidiariesB]);\n\n setSelectedRelation(selectedMetaGroup?.relationship?.relationship || 1);\n // setIsLoading(false);\n setTimeout(() => setIsLoading(false), 500);\n };\n\n if (!!selectedMetaGroup && !!Object.keys(selectedMetaGroup).length && metaGroupEditMode) {\n setMetaGroupData();\n }\n }, [selectedMetaGroup, metaGroupEditMode, dispatch, groups, allSubsidiaries]);\n\n useEffect(() => {\n if (metaGroupPopupVisible && metaGroupEditMode && (!!groups.length || !!allSubsidiaries.length)) {\n setIsLoading(true);\n dispatch(fetchMetaGroupByName(metaGroupSelectedId));\n }\n }, [metaGroupPopupVisible, metaGroupEditMode, metaGroupSelectedId, groups, dispatch, allSubsidiaries]);\n\n const validate = (): boolean => {\n const toggleA = collectionA.filter((option: any) => option.checked);\n const toggleB = collectionB.filter((option: any) => option.checked);\n setIsErrorA(!toggleA.length);\n setIsErrorB(!toggleB.length);\n\n return metaGroupName !== '' && !!toggleA.length && !!toggleB.length;\n };\n\n const onSave = () => {\n setClickedSubmit(true);\n if (!validate()) {\n return false;\n }\n setIsLoading(true);\n\n const data: IMetaGroup = {\n name: metaGroupName,\n collection_a: collectionA.filter((a: any) => !!a.checked).map((a: any) => a.value),\n collection_b: collectionB.filter((b: any) => !!b.checked).map((b: any) => b.value),\n relationship: selectedRelation\n };\n\n RestApi.setData(\n `${Paths[PathNames.metaGroups]}${metaGroupEditMode ? metaGroupSelectedId + '/' : ''}`,\n data,\n metaGroupEditMode ? 'PUT' : 'POST'\n ).subscribe(\n (response: any) => {\n // IN ORDER TO SEE THE LOADING ANIMATION (WITHOUT IT LOOKS LIKE WHITE SCREEN)\n setTimeout(() => {\n dispatch(resetMetaGroupsState());\n dispatch(getRows());\n dispatch(showSuccess(`Meta Groups ${metaGroupEditMode ? 'Updated' : 'Created'} Successfully`));\n setIsLoading(false);\n }, 500);\n },\n error => {\n setIsLoading(false);\n dispatch(showError(error));\n }\n );\n };\n\n const handleNameOnChange = (event: React.ChangeEvent) => {\n setClickedSubmit(false);\n setMetaGroupName(event.target.value);\n };\n\n const handleDropdownOnChange = (id: string, selected: any) => {\n let updatedA, updatedB;\n if (id === 'collectionA') {\n updatedA = collectionA.map((option: any) => ({\n ...option,\n checked: selected.includes(option.value)\n }));\n updatedB = collectionB.map((option: any) => ({\n ...option,\n disabled: selected.includes(option.value)\n }));\n } else if (id === 'collectionB') {\n updatedB = collectionB.map((option: any) => ({\n ...option,\n checked: selected.includes(option.value)\n }));\n updatedA = collectionA.map((option: any) => ({\n ...option,\n disabled: selected.includes(option.value)\n }));\n }\n\n setCollectionA([...updatedA]);\n setCollectionB([...updatedB]);\n\n setClickedSubmit(false);\n };\n\n const handleDropdownOnClear = (id: string) => {\n const collectionValues = id === 'collectionA' ? collectionA : collectionB;\n const collectionDisabled = id === 'collectionA' ? collectionB : collectionA;\n const updatedValues = collectionValues.map((option: any) => ({\n ...option,\n checked: false\n }));\n const updatedDisabled = collectionDisabled.map((option: any) => ({\n ...option,\n disabled: false\n }));\n\n setCollectionA(id === 'collectionA' ? updatedValues : updatedDisabled);\n setCollectionB(id === 'collectionA' ? updatedDisabled : updatedValues);\n setClickedSubmit(false);\n };\n\n const handleRelationOnClick = (index: number) => () => {\n setClickedSubmit(false);\n setSelectedRelation(index);\n setClickedSubmit(false);\n };\n\n const handleOnClose = () => {\n dispatch(resetMetaGroupsState());\n onClose();\n };\n const popupFooterActions = {\n onCancel: handleOnClose,\n onSave: onSave\n };\n\n const relationshipType = ['substractBFromA', 'substractAFromB', 'intersect', 'combine', 'union'];\n return (\n \n {isLoading ? (\n \n ) : (\n
    \n \n Use the view below to define your Meta group. Creation of changes of the Meta groups may take several\n minutes to apply\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {relationshipType.map((type: string, index: number) => (\n \n \n \n ))}\n \n \n \n
    \n )}\n \n );\n};\n\nexport default memo(MetaGroupsPopup);\n","import { useEffect, useRef, useState } from 'react';\nimport { IReduxState } from 'app/store';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { setDeletePromptParams } from 'features/GridSlice';\nimport { useDispatch, useSelector } from 'react-redux';\nimport MetaGroupsPopup from 'pages/Settings/MetaGroups/MetaGroupsPopup/MetaGroupsPopup';\nimport { LoginService } from 'login/services/login.service';\nimport { resetMetaGroupsState, toggleMetaGroupPopup } from 'features/GroupsSlice';\n\nimport './MetaGroupsActions.scss';\n\nconst MetaGroupsActions = (props: any) => {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n // const [popupVisible, setPopupVisible] = useState(false);\n\n const { user } = useSelector((state: IReduxState) => state.login);\n const { metaGroupPopupVisible } = useSelector((state: IReduxState) => state.groups);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'meta-groups',\n index: null,\n ids: props.ids,\n message: 'Are you sure you would like to remove the following meta group?'\n })\n );\n };\n\n if (LoginService.isMemberOrBelow(user)) {\n return null;\n }\n\n const handlePopupVisible = (show: boolean) => {\n if (!show) {\n dispatch(resetMetaGroupsState());\n }\n dispatch(toggleMetaGroupPopup(show));\n };\n\n return (\n
    \n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n {metaGroupPopupVisible && (\n handlePopupVisible(false)} />\n )}\n
    \n );\n};\n\nexport default MetaGroupsActions;\n","import { GridRowData } from '@mui/x-data-grid-pro';\nimport { IReduxState } from 'app/store';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { getRows } from 'features/GridSlice';\nimport { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showSuccess, showError } from 'features/AlertSlice';\n\nimport './DeletePromptPopup.scss';\n\nexport function DeletePromptPopup(props: any) {\n const [loading, setLoading] = useState(false);\n const dispatch = useDispatch();\n const { deletePromptParams, rows } = useSelector((state: IReduxState) => state.grid);\n\n const onApprove = () => {\n setLoading(true);\n const url = !!props.path\n ? props.path\n : `settings/${deletePromptParams.category}/${deletePromptParams.tab ? `${deletePromptParams.tab}/` : ''}`;\n RestApi.setData(\n url,\n {\n ids: deletePromptParams.ids\n },\n 'DELETE'\n ).subscribe(\n (response: any) => {\n dispatch(showSuccess('Deleted Successfully'));\n dispatch(getRows());\n\n setLoading(false);\n props.onClose();\n },\n error => {\n dispatch(showError(error));\n setLoading(false);\n props.onClose();\n }\n );\n };\n\n const getListHTML = (): JSX.Element[] => {\n const _html: JSX.Element[] = [];\n const listMaxItems = 3;\n if (typeof deletePromptParams.ids[0] === 'string') {\n deletePromptParams.ids.forEach((id: string, index: number) => {\n if (index === listMaxItems) {\n _html.push(
  • And {deletePromptParams.ids.length - listMaxItems} more...
  • );\n } else if (index < listMaxItems) {\n _html.push(
  • {id}
  • );\n }\n });\n } else {\n const filteredRows = rows.filter((row: GridRowData) => deletePromptParams.ids.includes(row.id));\n filteredRows.forEach((row: GridRowData, index: number) => {\n if (index === listMaxItems) {\n _html.push(
  • And {filteredRows.length - listMaxItems} more...
  • );\n } else if (index < listMaxItems) {\n _html.push(
  • {row.name}
  • );\n }\n });\n }\n return _html;\n };\n\n return (\n
    \n {loading && }\n
    \n

    Are you sure?

    \n

    {deletePromptParams.message}

    \n
      {getListHTML()}
    \n
    \n \n \n
    \n
    \n
    \n );\n}\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { PopupHeader } from 'common/components/PopupHeader/PopupHeader';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\nimport { Common } from 'common/services/common.service';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useEffect, useState } from 'react';\nimport Moment from 'moment';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { useDispatch } from 'react-redux';\nimport { showError } from 'features/AlertSlice';\n\nimport './AddTokenPopup.scss';\n\nexport function AddTokenPopup(props: any) {\n const [passwordVisible, setPasswordVisible] = useState(false);\n const [token, setToken] = useState('');\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (props.params.name && props.params.expirationDate) {\n RestApi.setData(\n Paths[PathNames.tokens],\n {\n name: props.params.name,\n expires_at: Moment(props.params.expirationDate)\n .utc()\n .endOf('day')\n },\n 'POST'\n ).subscribe(\n (response: any) => {\n setToken(response.token);\n },\n error => {\n props.onClose(false);\n let msg = JSON.parse(error.message);\n msg = !!msg.name && msg.name[0] ? msg.name[0] : 'Something Went Wrong';\n dispatch(showError(msg));\n }\n );\n }\n }, [props, dispatch]);\n\n const onCopy = () => {\n navigator.clipboard.writeText(token);\n };\n\n const onShow = () => {\n setPasswordVisible(!passwordVisible);\n };\n\n const handleOnClose = () => {\n setToken('');\n props.onClose(true);\n };\n\n return (\n
    \n {!token ? (\n \n ) : (\n <>\n \n
    \n
    Copy your token
    \n

    Tokens will not be visible after closing this window.

    \n
    \n
    \n {props.params.name}\n |\n Expires on: \n {Common.getShortDate(props.params.expirationDate)} (23:59 - UTC)\n
    \n
    \n \n \"Show\"\n \"Copy\"\n
    \n
    \n
    \n \n
    \n
    \n \n \n )}\n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { getRows, setDeletePromptParams } from 'features/GridSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport classNames from 'classnames';\nimport './APITokensActions.scss';\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\nimport DatePicker from '@mui/lab/DatePicker';\nimport { TextField } from '@mui/material';\nimport { Common } from 'common/services/common.service';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { AddTokenPopup } from './AddTokenPopup/AddTokenPopup';\nimport { env } from 'env';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nexport function APITokensActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [name, setName] = useState('');\n const [nameError, setNameError] = useState(false);\n const [submitting] = useState(false);\n const [expirationDate, setExpirationDate] = useState(new Date());\n const [expirationDateError, setExpirationDateError] = useState(false);\n const [popupVisible, setPopupVisible] = useState(false);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'tokens',\n index: null,\n ids: props.ids,\n message: 'Are you sure you would like to remove the following tokens?'\n })\n );\n };\n\n const onAdd = () => {\n if (!validate()) {\n return;\n }\n\n setPopupVisible(true);\n };\n\n const validate = () => {\n let hasError = false;\n if (name.length < 1) {\n setNameError(true);\n hasError = true;\n }\n if (\n !Common.isValidDate(expirationDate) ||\n (Common.isValidDate(expirationDate) && Common.isPastDate(expirationDate))\n ) {\n setExpirationDateError(true);\n hasError = true;\n }\n\n return !hasError;\n };\n\n const onChange = (val: string) => {\n setName(val);\n setNameError(false);\n };\n\n const onClosePopup = (reset: boolean) => {\n if (reset) {\n setName('');\n setExpirationDate(new Date());\n }\n setPopupVisible(false);\n dispatch(getRows());\n };\n\n return (\n
    \n
    \n \n \"Swagger\n API Documentation\n
    \n }\n />\n
    \n onChange(e.target.value)}\n placeholder=\"Token Name\"\n maxLength={32}\n />\n Expiration:\n \n \n {\n setExpirationDate(newValue);\n setExpirationDateError(false);\n }}\n renderInput={(params: any) => }\n />\n \n \n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n \n \n \n \n );\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { setDeletePromptParams } from 'features/GridSlice';\nimport { useDispatch } from 'react-redux';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { AddAssetsPopUp } from 'pages/Settings/ManageAssets/ManageAssetsActions/AddAssetsPopUp/AddAssetsPopUp';\nimport './IpRangesActions.scss';\n\nexport function IpRangesActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [popupVisible, setPopupVisible] = useState(false);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'organization-management',\n tab: 'ip-ranges',\n index: null,\n ids: props.ids,\n message: \"Are you sure you would like to remove the following IP's?\"\n })\n );\n };\n\n return (\n
    \n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n setPopupVisible(false)}>\n setPopupVisible(false)} type=\"ip\" />\n \n
    \n );\n}\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { PopupHeader } from 'common/components/PopupHeader/PopupHeader';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { getRows } from 'features/GridSlice';\nimport { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport './AddCustomPortsPopUp.scss';\nimport { tosterService } from 'common/services/tostar.service';\nimport { Common } from 'common/services/common.service';\nimport classNames from 'classnames';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\n\nconst LIMIT = 10000;\n\nexport function AddCustomPortsPopUp(props: any) {\n const [loading, setLoading] = useState(false);\n const [input, setInput] = useState('');\n const [inputError, setInputError] = useState(false);\n const [errorText, setErrorText] = useState('');\n const dispatch = useDispatch();\n\n useEffect(() => {\n document.getElementsByClassName('Settings')[0].classList.add('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.add('ontop');\n return () => {\n document.getElementsByClassName('Settings')[0].classList.remove('ontop');\n document.getElementsByClassName('settings-wrapper')[0].classList.remove('ontop');\n };\n }, []);\n\n useEffect(() => {\n setInputError(false);\n setErrorText('');\n }, [input]);\n\n const validate = (_input: string[]): boolean => {\n let hasError = false;\n\n const inputError = _input.filter((row: string) => {\n return !Common.validatePort(parseInt(row));\n });\n\n if (inputError.length) {\n hasError = true;\n setInputError(true);\n setErrorText(`Invalid Input: ${inputError[0]}`);\n }\n\n return !hasError;\n };\n\n const submit = () => {\n const inputAsArray = input.split('\\n');\n\n if (inputAsArray.length > LIMIT) {\n setErrorText(`List exceeded the number of items (max: ${LIMIT.toLocaleString()})`);\n }\n\n if (!validate(inputAsArray)) {\n return false;\n }\n\n const data = {\n ids: inputAsArray\n };\n\n setLoading(true);\n\n RestApi.setData(Paths[PathNames.customPort], data, 'POST').subscribe(\n (response: any) => {\n setLoading(false);\n props.onClose();\n dispatch(getRows());\n tosterService.onShowToster('Custom Ports Added Successfully', 'success', '');\n },\n error => {\n setLoading(false);\n tosterService.showError(error);\n }\n );\n };\n\n return (\n
    \n \n
    \n {loading && }\n
    \n
    Add here additional custom ports.
    \n
    * Each item should appear in a seperate line.
    \n
    \n setInput(e.target.value)}\n >\n {!!errorText &&
    {errorText}
    }\n
    \n \n \n
    \n
    \n
    \n );\n}\n","import { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { setDeletePromptParams } from 'features/GridSlice';\nimport { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { AddCustomPortsPopUp } from './AddCustomPortsPopUp/AddCustomPortsPopUp';\nimport './CustomPortsActions.scss';\n\nexport function CustomPortsActions(props: any) {\n const dispatch = useDispatch();\n const ref = useRef(null);\n const [actionsMenuOpen, setActionsMenuOpen] = useState(false);\n const [popupVisible, setPopupVisible] = useState(false);\n\n const handleClickOutside = (event: Event) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setActionsMenuOpen(false);\n document.removeEventListener('click', handleClickOutside, true);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const onRemove = () => {\n dispatch(\n setDeletePromptParams({\n category: 'general',\n tab: 'custom-ports',\n index: null,\n ids: props.ids,\n message: 'Are you sure you would like to remove the following ports?'\n })\n );\n };\n\n return (\n
    \n \n \n
    setActionsMenuOpen(!actionsMenuOpen)}>\n Actions\n \n
    \n
      \n
    • \n Remove\n
    • \n
    \n
    \n setPopupVisible(false)}>\n setPopupVisible(false)} />\n \n
    \n );\n}\n","import { IReduxState } from 'app/store';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { PopupHeader } from 'common/components/PopupHeader/PopupHeader';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { tosterService } from 'common/services/tostar.service';\nimport { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport './ConfirmationPopup.scss';\n\nexport function ConfirmationPopup(props: any) {\n const [loading, setLoading] = useState(false);\n const { confirmationParams } = useSelector((state: IReduxState) => state.grid);\n\n const onApprove = () => {\n setLoading(true);\n RestApi.setData(confirmationParams.endpoint, confirmationParams.data, 'PATCH').subscribe(\n (response: any) => {\n tosterService.onShowToster(confirmationParams.successMessage, 'success', '');\n confirmationParams.callback();\n setLoading(false);\n props.onClose();\n },\n error => {\n tosterService.showError(error);\n setLoading(false);\n props.onClose();\n }\n );\n };\n\n return (\n
    \n {loading && }\n \n
    \n {confirmationParams.message}\n
    \n \n \n
    \n
    \n
    \n );\n}\n","import { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\n\nexport const SECURE_INPUT_MASK = '********************************';\n\nexport interface IIntegration {\n type: string;\n is_active: boolean;\n}\n\nexport const IntegrationsList: any = {\n SIEM: {\n sentinel: {\n label: 'Microsoft Azure Sentinel',\n component: 'Sentinel',\n apiPath: Paths[PathNames.integrationSentinel],\n text: 'Send data directly to Azure Sentinel',\n guideUrl:\n 'https://support.ionix.io/hc/en-us/articles/14180413212187-Streamlining-IONIX-Incident-Management-with-Integration-with-AZURE-SENTINEL',\n showToggle: true\n },\n splunk: {\n label: 'Splunk',\n component: 'Splunk',\n apiPath: Paths[PathNames.integrationSplunk],\n text: 'Send data directly to Splunk',\n guideUrl:\n 'https://support.ionix.io/hc/en-us/articles/14180409909403-Streamlining-IONIX-Incident-Management-with-Integration-with-SPLUNK-',\n showToggle: true\n }\n },\n 'Ticketing System': {\n jira: {\n label: 'Jira',\n component: 'Jira',\n apiPath: Paths[PathNames.integrationJira],\n text: 'Automatically open Action Items in Jira',\n guideUrl:\n 'https://support.ionix.io/hc/en-us/articles/14180214174491-Streamlining-IONIX-Incident-Management-with-JIRA-Integration',\n showToggle: false\n },\n servicenow: {\n label: 'ServiceNow',\n component: 'ServiceNow',\n apiPath: Paths[PathNames.integrationServiceNow],\n text: 'Automatically open Action Items in ServiceNow',\n guideUrl: 'https://support.ionix.io/hc/en-us/articles/21199503746331',\n showToggle: true\n }\n },\n SOAR: {\n xsoar: {\n label: 'Palo Alto Cortex XSOAR',\n component: 'NotAvailableIntegration',\n apiPath: '',\n text: 'Send data directly to Cortex XSOAR',\n guideUrl: '',\n is_unavailable: true,\n showToggle: true\n }\n }\n};\n\nexport interface IField {\n label: string;\n field: string;\n isSecure?: boolean; // the field is sending to the server but not fetched from the server\n info?: string;\n isPassword?: boolean;\n errorText?: string;\n}\n\nexport interface IDropDown {\n label: string;\n options: ITimeOption[];\n valueField: string;\n activationField: string;\n}\n\nexport interface ITimeOption {\n label: string;\n value: number;\n}\n\nexport const TimeIntervalOptions: ITimeOption[] = [\n { label: 'Every Two Hours', value: 7200 },\n { label: 'Daily', value: 86400 },\n { label: 'Weekly', value: 604800 },\n { label: 'Every Two Weeks', value: 1209600 }\n];\n","import { styled, Switch } from '@mui/material';\n\nexport function CustomSwitch(props: any) {\n const AntSwitch = styled(Switch)(({ theme }) => ({\n width: 28,\n height: 16,\n padding: 0,\n display: 'flex',\n '&:active': {\n '& .MuiSwitch-thumb': {\n width: 15\n },\n '& .MuiSwitch-switchBase.Mui-checked': {\n transform: 'translateX(9px)'\n }\n },\n '& .MuiSwitch-switchBase': {\n padding: 2,\n '&.Mui-checked': {\n transform: 'translateX(12px)',\n color: '#fff',\n '& + .MuiSwitch-track': {\n opacity: 1,\n backgroundColor: '#5886FB'\n }\n }\n },\n '& .MuiSwitch-thumb': {\n boxShadow: '0 2px 4px 0 rgb(0 35 11 / 20%)',\n width: 12,\n height: 12,\n borderRadius: 6,\n transition: theme.transitions.create(['width'], {\n duration: 200\n })\n },\n '& .MuiSwitch-track': {\n borderRadius: 16 / 2,\n opacity: 1,\n backgroundColor: 'rgba(0,0,0,.15)',\n boxSizing: 'border-box'\n }\n }));\n\n const rest = !!props.id ? { id: props.id } : {};\n return (\n \n );\n}\n","import './IntegrationHeader.scss';\n\nexport function IntegrationHeader(props: any) {\n return (\n
    \n
    \n \"Icon\"\n Integrations & Adapters\n
    \n
    \n {/* {props.name} */}\n
    {props.name} Integration
    \n
    \n
    \n );\n}\n","import { Button } from 'common/components/Button/Button';\nimport '../ButtonsWrapper.scss';\n\nexport function ButtonsWrapper(props: any) {\n return (\n
    \n
    {props.error}
    \n \n \n
    \n );\n}\n","import { IField, ITimeOption, TimeIntervalOptions } from '../config';\n\nexport interface ISentinel {\n action_items_is_active: boolean;\n action_items_push_interval: number;\n is_active: boolean;\n workspace_id: string;\n primary_key: string;\n}\n\nexport const FIELDS: IField[] = [\n {\n label: 'Workspace ID',\n field: 'workspace_id'\n },\n {\n label: 'Primary Key',\n field: 'primary_key'\n }\n];\n\nexport interface IDropDown {\n label: string;\n options: ITimeOption[];\n valueField: string;\n activationField: string;\n}\n\nexport const DROP_DOWNS: IDropDown[] = [\n {\n label: 'Action Item',\n options: TimeIntervalOptions,\n activationField: 'action_items_is_active',\n valueField: 'action_items_push_interval'\n }\n];\n\nexport const initData = () => {\n return {\n action_items_is_active: true,\n action_items_push_interval: 86400,\n is_active: false,\n workspace_id: '',\n primary_key: ''\n };\n};\n","import './DropDownBox.scss';\nimport { ChangeEvent, useState } from 'react';\nimport { IconRadioButton } from 'common/components/Icons/IconRadioButton/IconRadioButton';\nimport { CustomSwitch } from 'common/components/CustomSwitch/CustomSwitch';\nexport function DropDownBox(props: any) {\n const [active, setActive] = useState(!!props.isActive || !!props.alwaysActive);\n const [selected, setSelected] = useState(props.selectedItem);\n const [showOptions, setShowOptions] = useState(active);\n\n const onToggle = (e: ChangeEvent, state: boolean) => {\n if (!props.alwaysActive) {\n setShowOptions(state);\n setActive(state);\n props.onToggle(state);\n }\n };\n\n const onSelect = (option: any) => {\n setSelected(option);\n props.onChange(option.value);\n };\n\n return (\n
  • \n
    \n setShowOptions(!showOptions)}>\n {`${props.data.label}: ${selected ? selected.label : ''}`}\n \n \n
    \n
      \n {props.data.options.map((option: any) => {\n return (\n
    • onSelect(option)}>\n \n {option.label}\n
    • \n );\n })}\n
    \n
  • \n );\n}\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { useEffect, useState } from 'react';\nimport { IntegrationHeader } from '../Integration/IntegrationHeader/IntegrationHeader';\nimport '../Integration.scss';\nimport { ButtonsWrapper } from '../Integration/ButtonsWrapper/ButtonsWrapper';\nimport { TextField } from '@mui/material';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { ISentinel, FIELDS, initData, DROP_DOWNS, IDropDown } from './config';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\nimport { DropDownBox } from '../Integration/DropDownBox/DropDownBox';\nimport { IField, SECURE_INPUT_MASK } from '../config';\nimport { useDispatch } from 'react-redux';\nimport { loadList } from 'features/IntegrationsSlice';\nimport { tosterService } from 'common/services/tostar.service';\n\nexport function Sentinel(props: any) {\n const [loading, setLoading] = useState(true);\n const [submiting, setSubmiting] = useState(false);\n const [data, setData] = useState(initData());\n const [error, setError] = useState('');\n const [isValidated, setIsValidated] = useState(false);\n const [submitEnabled, setSubmitEnabled] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (props.isEditMode) {\n RestApi.getData(Paths[PathNames.integrationSentinel] + props.id + '/').subscribe((response: any) => {\n if (response) {\n setData({\n ...response,\n primary_key: SECURE_INPUT_MASK,\n workspace_id: SECURE_INPUT_MASK\n });\n setLoading(false);\n }\n });\n } else {\n setLoading(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isEditMode]);\n\n const setValue = (key: string, value: any) => {\n let copy: ISentinel = { ...data };\n copy = { ...copy, [key]: value };\n setData(copy);\n setSubmitEnabled(true);\n };\n\n const submit = () => {\n setSubmiting(true);\n RestApi.setData(\n props.isEditMode ? Paths[PathNames.integrationSentinel] + props.id + '/' : Paths[PathNames.integrationSentinel],\n {\n ...data,\n is_active: true,\n primary_key: data.primary_key === SECURE_INPUT_MASK ? undefined : data.primary_key,\n workspace_id: data.workspace_id === SECURE_INPUT_MASK ? undefined : data.workspace_id\n },\n props.isEditMode ? 'PATCH' : 'POST'\n ).subscribe(\n (response: any) => {\n props.onClose();\n setSubmiting(false);\n dispatch(loadList());\n tosterService.onShowToster(`Integration Saved Successfully`, 'success', '');\n },\n error => {\n // const _err = JSON.parse(error.message);\n setError('Something Went Wrong');\n setSubmiting(false);\n }\n );\n };\n\n useEffect(() => {\n if (\n data.workspace_id.length > 2 &&\n data.primary_key.length > 2 &&\n data.action_items_push_interval &&\n data.action_items_is_active\n ) {\n setIsValidated(true);\n } else {\n setIsValidated(false);\n }\n }, [data]);\n\n if (loading) {\n return ;\n }\n\n return (\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    General
    \n
    \n {FIELDS.map((field: IField) => {\n return (\n
    \n setValue(field.field, e.target.value)}\n />\n {field.info && (\n \"Info\"\n )}\n
    \n );\n })}\n
    \n
    \n
    \n
    Set Time Intervals
    \n
    \n
      \n {DROP_DOWNS.map((dropdown: IDropDown) => {\n return (\n option.value === data[dropdown.valueField as keyof ISentinel]\n )[0]\n }\n alwaysActive={true}\n onChange={(state: boolean) => setValue(dropdown.valueField, state)}\n />\n );\n })}\n
    \n
    \n
    \n
    \n
    \n {!loading && (\n \n )}\n \n
    \n );\n}\n","import { IDropDown, IField, TimeIntervalOptions } from '../config';\n\nexport interface ISplunk {\n action_items_is_active: boolean;\n action_items_push_interval: number;\n is_active: boolean;\n splunk_server: string;\n unlinked_ips_is_active: boolean;\n unlinked_ips_push_interval: number;\n hec_token: string;\n}\n\nexport const FIELDS: IField[] = [\n {\n label: 'HEC (HTTP Event Collector) Token',\n field: 'hec_token'\n },\n {\n label: 'Splunk Server',\n field: 'splunk_server'\n }\n];\n\nexport const DROP_DOWNS: IDropDown[] = [\n {\n label: 'Action Item',\n options: TimeIntervalOptions,\n activationField: 'action_items_is_active',\n valueField: 'action_items_push_interval'\n },\n {\n label: 'Unlinked Assets',\n options: TimeIntervalOptions,\n activationField: 'unlinked_ips_is_active',\n valueField: 'unlinked_ips_push_interval'\n }\n];\n\nexport const initData = () => {\n return {\n action_items_is_active: true,\n action_items_push_interval: 86400,\n is_active: false,\n hec_token: '',\n splunk_server: '',\n unlinked_ips_is_active: true,\n unlinked_ips_push_interval: 86400\n };\n};\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { useEffect, useState } from 'react';\nimport { IntegrationHeader } from '../Integration/IntegrationHeader/IntegrationHeader';\nimport '../Integration.scss';\nimport { ButtonsWrapper } from '../Integration/ButtonsWrapper/ButtonsWrapper';\nimport { TextField } from '@mui/material';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { ISplunk, FIELDS, initData, DROP_DOWNS } from './config';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\nimport { DropDownBox } from '../Integration/DropDownBox/DropDownBox';\nimport { IDropDown, IField, SECURE_INPUT_MASK } from '../config';\nimport { useDispatch } from 'react-redux';\nimport { loadList } from 'features/IntegrationsSlice';\nimport { tosterService } from 'common/services/tostar.service';\n\nexport function Splunk(props: any) {\n const [loading, setLoading] = useState(true);\n const [submiting, setSubmiting] = useState(false);\n const [data, setData] = useState(initData());\n const [error, setError] = useState('');\n const [isValidated, setIsValidated] = useState(false);\n const [submitEnabled, setSubmitEnabled] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (props.isEditMode) {\n RestApi.getData(Paths[PathNames.integrationSplunk] + props.id + '/').subscribe((response: any) => {\n if (response) {\n setData({ ...response, hec_token: SECURE_INPUT_MASK });\n setLoading(false);\n }\n });\n } else {\n setLoading(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isEditMode]);\n\n const setValue = (key: string, value: any) => {\n let copy: ISplunk = { ...data };\n copy = { ...copy, [key]: value };\n setData(copy);\n setSubmitEnabled(true);\n };\n\n const submit = () => {\n setSubmiting(true);\n RestApi.setData(\n props.isEditMode ? Paths[PathNames.integrationSplunk] + props.id + '/' : Paths[PathNames.integrationSplunk],\n {\n ...data,\n is_active: true,\n hec_token: data.hec_token === SECURE_INPUT_MASK ? undefined : data.hec_token\n },\n props.isEditMode ? 'PATCH' : 'POST'\n ).subscribe(\n (response: any) => {\n setSubmiting(false);\n props.onClose();\n dispatch(loadList());\n tosterService.onShowToster(`Integration Saved Successfully`, 'success', '');\n },\n error => {\n // const _err = JSON.parse(error.message);\n setError('Something Went Wrong');\n setSubmiting(false);\n }\n );\n };\n\n useEffect(() => {\n if (\n data.hec_token.length > 2 &&\n data.splunk_server.length > 5 &&\n ((data.unlinked_ips_is_active && data.unlinked_ips_push_interval > 0) ||\n (data.action_items_is_active && data.action_items_push_interval > 0))\n ) {\n setIsValidated(true);\n } else {\n setIsValidated(false);\n }\n }, [data]);\n\n if (loading) {\n return ;\n }\n\n return (\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    General
    \n
    \n {FIELDS.map((field: IField) => {\n return (\n
    \n setValue(field.field, e.target.value)}\n />\n {field.info && (\n \"Info\"\n )}\n
    \n );\n })}\n
    \n
    \n
    \n
    Set Time Intervals
    \n
    \n
      \n {DROP_DOWNS.map((dropdown: IDropDown) => {\n return (\n option.value === data[dropdown.valueField as keyof ISplunk]\n )[0]\n }\n isActive={data[dropdown.activationField as keyof ISplunk]}\n onToggle={(state: boolean) => setValue(dropdown.activationField, state)}\n onChange={(state: boolean) => setValue(dropdown.valueField, state)}\n />\n );\n })}\n
    \n
    \n
    \n
    \n
    \n {!loading && (\n \n )}\n \n
    \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { Button } from 'common/components/Button/Button';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport Checkbox from '@mui/material/Checkbox';\nimport { makeStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport './PopSideFotter.scss';\n\nconst useStyles = makeStyles({\n checkboxRoot: {\n padding: '0px !important',\n '& .MuiSvgIcon-root': {\n width: '18px !important',\n height: '18px !important'\n }\n }\n});\n\ninterface IPopSideFotter {\n deleteBeforeApplyOnClick?: (ev: any) => void;\n deleteAfterApplyOnClick?: () => void;\n deleteOnCancel?: () => void;\n showDeletePopup: boolean;\n onClose: () => void;\n onSave: () => void;\n isValidated: boolean;\n isSubmiting: boolean;\n deleteMsgWithNotificationWarning: boolean;\n selectedDeleteIndex?: number;\n}\n\nconst PopSideFotter: React.FC = ({\n showDeletePopup,\n deleteOnCancel,\n onClose,\n onSave,\n isValidated,\n isSubmiting,\n deleteAfterApplyOnClick,\n deleteBeforeApplyOnClick,\n selectedDeleteIndex,\n deleteMsgWithNotificationWarning\n}) => {\n const [showDelete, setShowDelete] = useState(showDeletePopup);\n const [isDeleteDisabled, setIsDeleteDisabled] = useState(true);\n const classes = useStyles();\n\n useEffect(() => {\n setIsDeleteDisabled(true);\n setShowDelete(showDeletePopup);\n }, [showDeletePopup]);\n\n const deleteAllOnClick = (ev: any) => {\n setIsDeleteDisabled(true);\n setShowDelete(true);\n if (deleteBeforeApplyOnClick) {\n deleteBeforeApplyOnClick(ev);\n }\n };\n\n const handleDeleteOnCancel = () => {\n setShowDelete(false);\n if (deleteOnCancel) {\n deleteOnCancel();\n }\n };\n\n return (\n
    \n {!showDelete && (\n <>\n {!!deleteBeforeApplyOnClick && (\n
    \n \"delete\n \n Delete Integration\n \n
    \n )}\n
    \n \n \n \n )}\n {showDelete && (\n
    ev.stopPropagation()}>\n \n {selectedDeleteIndex === 999 ? 'Delete All Integrations?' : 'Delete Integration?'}\n \n
    \n {deleteMsgWithNotificationWarning && (\n <>\n \n {selectedDeleteIndex === 999\n ? 'WARNING! Removing the configuration will remove ALL Jira instances associated notifications. This action cannot be undone.'\n : 'WARNING! Deleting the integration will remove all associated notifications. This action cannot be undone.'}\n \n\n \n {selectedDeleteIndex === 999\n ? 'Are you sure you want to remove ALL Jira integration instances and all associated notifications?'\n : 'Are you sure you want to remove the integration and all associated notifications?'}\n \n \n )}\n {!deleteMsgWithNotificationWarning && (\n \n {selectedDeleteIndex === 999\n ? 'Are you sure you want to remove ALL Jira integration instances?'\n : 'Are you sure you want to remove the integration?'}\n \n )}\n
    \n\n
    \n
    \n setIsDeleteDisabled(!ev.target.checked)}\n disableRipple\n classes={{ root: classes.checkboxRoot }}\n sx={{\n marginRight: 0.75,\n '&.Mui-checked': {\n color: '#f46666'\n }\n }}\n />\n \n Confirm delete\n \n
    \n
    \n
    \n )}\n
    \n );\n};\n\nexport default PopSideFotter;\n","import { Text } from '@cyberpion/cyberpion-ui';\nimport './JiraEmptyState.scss';\n\nconst JiraEmptyState = () => {\n return (\n
    \n \"integration\n \n There are no Jira integrations configured\n \n
    \n );\n};\n\nexport default JiraEmptyState;\n","import { IField } from '../config';\n\nexport interface IJira {\n email: string;\n api_key: string;\n server_url: string;\n project_key: string;\n is_active: boolean;\n}\n\nexport const FIELDS: IField[] = [\n {\n label: 'Integration Name',\n field: 'configuration_name',\n errorText: 'At lease 3 characters'\n },\n {\n label: 'JIRA Server Base URL',\n field: 'server_url',\n errorText: 'Invalid URL'\n },\n {\n label: 'JIRA Email',\n field: 'username',\n info: 'This user will open Jira tickets on behalf of IONIX',\n errorText: 'Invalid email'\n },\n {\n label: 'JIRA API Token',\n // isSecure: true,\n field: 'password',\n isPassword: true,\n // info: 'Note that the API key has to be generated using the user/Jira email used for this integration'\n info: 'Password',\n errorText: 'At lease 3 characters'\n },\n {\n label: 'JIRA Project Key',\n field: 'project',\n errorText: 'At lease 2 characters'\n }\n];\n","import { useState, useEffect } from 'react';\nimport { TextField } from '@mui/material';\nimport { RestApi } from 'common/services/rest-api.service';\nimport * as EmailValidator from 'email-validator';\nimport { Common } from 'common/services/common.service';\nimport { IJira, FIELDS } from '../config';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { useDispatch } from 'react-redux';\nimport { CustomSwitch } from 'common/components/CustomSwitch/CustomSwitch';\nimport { showSuccess, showError } from 'features/AlertSlice';\nimport { Collapse as MuiCollapse } from '@mui/material';\nimport classNames from 'classnames';\nimport useShowToggle from 'common/hooks/useShowToggle';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\n\ninterface IJiraBlock {\n // name: string;\n integration: any;\n setValue: (key: string, value: any) => void;\n deleteIntegrationOnClick: (ev: any) => void;\n clickedSubmit: boolean;\n activeOnChange: (active: string, id: string) => void;\n error?: any;\n}\n\nconst JiraBlock: React.FC = ({\n integration,\n setValue,\n deleteIntegrationOnClick,\n clickedSubmit,\n activeOnChange\n}) => {\n // const [isActive, setIsActive] = useState(false);\n const [isActive, setIsActive] = useState(integration.status === 'active');\n const { isOpen, toggle } = useShowToggle(true);\n\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (!!integration) {\n setIsActive(integration.status === 'active');\n }\n }, [integration]);\n\n const onChange = (e: React.ChangeEvent, isChecked: boolean) => {\n setIsActive(isChecked);\n RestApi.setData(\n `${Paths[PathNames.integrationJira]}${integration.id}/`,\n { status: isChecked ? 'active' : 'inactive' },\n 'PATCH'\n ).subscribe(\n (response: any) => {\n activeOnChange(isChecked ? 'active' : 'inactive', integration.id);\n dispatch(showSuccess(`Integration ${isChecked ? 'Activated' : 'Deactivated'} Successfully`));\n },\n error => {\n setIsActive(!isChecked);\n dispatch(showError('Something went wrong'));\n }\n );\n };\n\n const deleteBeforeApplyOnClick = (ev: any) => {\n deleteIntegrationOnClick(ev);\n };\n\n const checkIsValidation = (field: any) => {\n switch (field) {\n case 'configuration_name':\n return integration.configuration_name.length > 2;\n case 'server_url':\n return Common.validateURL(integration?.configuration.server_url);\n case 'username':\n return EmailValidator.validate(integration.configuration.username);\n case 'password':\n return integration.configuration.password.length > 2;\n case 'project':\n return integration.configuration.project.length > 1;\n default:\n return false;\n }\n };\n\n return (\n
    \n
    \n
    \n \n
    \n {/* */}\n
    {integration.configuration_name}
    \n {/*
    */}\n {!!integration.id && }\n
    \n \"delete\n
    \n
    \n\n \n
    \n {FIELDS.map((field: any) => {\n const key = field.field === 'configuration_name' ? integration : integration.configuration;\n const isError = !checkIsValidation(field.field);\n return (\n
    \n setValue(field.field, e.target.value)}\n disabled={!!integration.id && !['username', 'password'].includes(field.field)}\n type={field.isPassword ? 'password' : 'text'}\n onFocus={(ev: any) => ev.target.select()}\n sx={{ '& .Mui-error': { color: 'red' }, '& .MuiFormHelperText-root': { fontSize: 11 } }}\n inputProps={{\n autoComplete: 'new-password'\n }}\n // helperText=\"HELP\"\n // error={!!error && !!error[field.field]}\n error={isError && clickedSubmit}\n // helperText={isError && clickedSubmit ? field.errorText : ''}\n />\n
    \n );\n })}\n
    \n
    \n
    \n );\n};\n\nexport default JiraBlock;\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { useEffect, useState } from 'react';\nimport { IntegrationHeader } from '../Integration/IntegrationHeader/IntegrationHeader';\nimport { RestApi } from 'common/services/rest-api.service';\nimport * as EmailValidator from 'email-validator';\nimport { Common } from 'common/services/common.service';\nimport { SECURE_INPUT_MASK } from '../config';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\nimport { useDispatch } from 'react-redux';\nimport { loadList, setIntegrationDeleted } from 'features/IntegrationsSlice';\nimport PopSideFotter from '../Integration/PopSideFotter/PopSideFotter';\nimport Fade from '@mui/material/Fade';\nimport JiraEmptyState from './JiraEmptyState/JiraEmptyState';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { showSuccess, showError } from 'features/AlertSlice';\nimport { Button } from 'common/components/Button/Button';\nimport classNames from 'classnames';\nimport JiraBlock from './JiraBlock/JiraBlock';\n\nimport './Jira.scss';\nimport '../Integration.scss';\n\nconst blockData = [\n {\n configuration_name: '',\n configuration: {\n server_url: '',\n username: '',\n password: '',\n project: '',\n issue_type: 'Task'\n },\n status: 'active'\n }\n];\n\nconst Jira = (props: any) => {\n const [isLoading, setIsLoading] = useState(true);\n const [submiting, setSubmiting] = useState(false);\n const [data, setData] = useState([]);\n const [error, setError] = useState([]);\n const [isValidated, setIsValidated] = useState(false);\n const [showDeletePopup, setShowDeletePopup] = useState(false);\n const [isEmptyState, setIsEmptyState] = useState(true);\n const [selectedDeleteIndex, setSelectedDeleteIndex] = useState(null);\n const [clickedSubmit, setClickedSubmit] = useState(false);\n const [deleteMsgWithNotificationWarning, setDeleteMsgWithNotificationWarning] = useState(false);\n\n const dispatch = useDispatch();\n useEffect(() => {\n if (!!data.length) {\n const valid = data.every((integration: any) => {\n return (\n !!EmailValidator.validate(integration.configuration.username) &&\n !!Common.validateURL(integration?.configuration.server_url) &&\n integration.configuration.project.length > 1 &&\n integration.configuration.password.length > 2 &&\n integration.configuration_name.length > 2\n );\n });\n setIsValidated(valid);\n }\n }, [data]);\n\n useEffect(() => {\n if (selectedDeleteIndex !== null && !!data.length) {\n if (selectedDeleteIndex === 999) {\n const hasIds = data.some((item: any) => !!item.id);\n setDeleteMsgWithNotificationWarning(hasIds);\n } else {\n setDeleteMsgWithNotificationWarning(!!data[selectedDeleteIndex].id);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedDeleteIndex]);\n\n useEffect(() => {\n setIsEmptyState(!data.length);\n }, [data]);\n\n useEffect(() => {\n if (props.isEditMode) {\n setIsLoading(true);\n RestApi.getData(Paths[PathNames.integrationJira]).subscribe((response: any) => {\n if (response) {\n const data = response.results.map((item: any) => ({\n id: item.id,\n status: item.status,\n configuration_name: item.configuration_name,\n configuration: {\n server_url: item.configuration.server_url,\n username: item.configuration.username,\n password: SECURE_INPUT_MASK,\n project: item.configuration.project,\n issue_type: 'Task'\n }\n }));\n setData(data);\n // setData({ ...response.results, api_key: SECURE_INPUT_MASK });\n setIsLoading(false);\n setIsEmptyState(false);\n }\n });\n } else {\n // setData([...blockData]);\n setIsLoading(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isEditMode]);\n\n const setValue = (index: number) => (field: any, value: any, isSecure?: boolean) => {\n let copy: any = [...data];\n copy[index] = {\n ...copy[index],\n ...(field === 'configuration_name'\n ? { [field]: value }\n : { configuration: { ...copy[index].configuration, [field]: value } })\n };\n setData(copy);\n // setSubmitEnabled(true);\n setClickedSubmit(false);\n };\n\n const submit = async () => {\n setClickedSubmit(true);\n if (!isValidated) {\n return;\n }\n\n setSubmiting(true);\n let urls: any = [];\n data.forEach((item: any) => {\n if (!!item.id) {\n const payload = {\n configuration: {\n username: item.configuration.username,\n ...(item.configuration.password !== SECURE_INPUT_MASK ? { password: item.configuration.password } : {})\n }\n };\n urls = [...urls, { url: Paths[PathNames.integrationJira] + item.id + '/', data: payload, method: 'PATCH' }];\n } else {\n urls = [...urls, { url: Paths[PathNames.integrationJira], data: item, method: 'POST' }];\n }\n });\n const fetchedData: any = await RestApi.getPromiseAllMixedMethods(urls);\n if (!!fetchedData.filter((item: any) => item.isError).length) {\n let errs: any = [];\n let copy = [...data];\n fetchedData.forEach((item: any, index: number) => {\n if (!item.isError) {\n errs = [...errs, { ok: true }];\n copy.splice(index, 1, { ...item.data });\n } else {\n errs = [\n ...errs,\n {\n ok: false,\n error: {\n ...(item.data.configuration_name ? { ...item.data.configuration_name } : {}),\n ...(item.data.configuration ? { ...item.data.configuration } : {})\n }\n }\n ];\n }\n });\n setData(copy);\n setError(errs);\n dispatch(showError('Something Went Wrong'));\n } else {\n dispatch(showSuccess('Integration Saved Successfully'));\n dispatch(loadList());\n props.onClose();\n }\n setSubmiting(false);\n };\n\n const deleteBeforeApplyOnClick = (index: number) => (ev: any) => {\n ev.stopPropagation();\n setSelectedDeleteIndex(index);\n setShowDeletePopup(true);\n };\n\n const handleDeleteOnCancel = () => {\n setSelectedDeleteIndex(null);\n setShowDeletePopup(false);\n };\n\n const deleteAfterApplyOnClick = async () => {\n setShowDeletePopup(false);\n setSubmiting(true);\n let urls: any = [];\n if (selectedDeleteIndex === 999) {\n data.forEach((item: any) => {\n if (!!item.id) {\n urls = [...urls, { url: Paths[PathNames.integrationJira] + item.id + '/', method: 'DELETE' }];\n }\n });\n } else {\n if (data[selectedDeleteIndex].id) {\n urls = [\n ...urls,\n { url: Paths[PathNames.integrationJira] + data[selectedDeleteIndex].id + '/', method: 'DELETE' }\n ];\n }\n }\n\n if (!!urls.length) {\n const fetchedData: any = await RestApi.getPromiseAllMixedMethods(urls);\n if (!!fetchedData.filter((item: any) => item.isError).length) {\n let copy = [...data];\n fetchedData.forEach((item: any, index: number) => {\n if (!item.isError) {\n copy.splice(index, 1);\n }\n });\n setData(copy);\n dispatch(showError('Something Went Wrong'));\n } else {\n dispatch(showSuccess('Deleted Successfully'));\n if (selectedDeleteIndex === 999) {\n // props.onClose();\n dispatch(loadList());\n } else {\n let copy = [...data];\n copy.splice(selectedDeleteIndex, 1);\n setData(copy);\n dispatch(setIntegrationDeleted(true));\n }\n }\n } else {\n if (selectedDeleteIndex === 999) {\n setData([]);\n } else {\n let copy = [...data];\n copy.splice(selectedDeleteIndex, 1);\n setData(copy);\n }\n }\n setSubmiting(false);\n setSelectedDeleteIndex(null);\n };\n\n const handlePopSideOnClick = (ev: any) => {\n ev.stopPropagation();\n setSelectedDeleteIndex(null);\n setShowDeletePopup(false);\n };\n\n const handleAddIntegration = (ev: any) => {\n ev.stopPropagation();\n let copy: any = [...data];\n setData([...blockData, ...copy]);\n setClickedSubmit(false);\n setIsEmptyState(false);\n };\n\n const handleActiveOnChange = (status: string, id: string) => {\n let copy: any = [...data];\n const index = copy.findIndex((item: any) => item.id === id);\n copy[index] = { ...copy[index], status };\n setData(copy);\n };\n\n return (\n
    \n {!!isLoading && }\n\n {!isLoading && (\n
    \n \n
    \n \n In order to connect Jira first connect the tenant and then configure it in the tenants list.\n \n \n
    \n {isEmptyState && (\n \n
    \n \n
    \n
    \n )}\n {!isEmptyState && (\n \n
    \n
    \n \n {`Integrations (${data.length})`}\n \n
    \n
    \n
    \n
    \n
    \n {!!data &&\n data.map((integration: any, index: number) => (\n 0 },\n { 'jira-last-block': data.length - 1 === index }\n )}\n >\n \n
    \n ))}\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n \n )}\n
    \n )}\n
    \n );\n};\n\nexport default Jira;\n","import { IField } from '../config';\n\nexport interface IServiceNow {\n client_id: string;\n client_secret: string;\n url: string;\n user_name: string;\n password: string;\n refresh_token: string;\n configuration_name: string;\n}\n\nexport const FIELDS: IField[] = [\n {\n label: 'Integration Name',\n field: 'configuration_name',\n errorText: 'At lease 3 characters'\n },\n {\n label: 'ServiceNow Server URL',\n field: 'server_url'\n }\n];\n\nexport const ID_PASSWORD: any = [\n {\n label: 'User ID for the intended user',\n field: 'user_name'\n },\n {\n label: 'Password',\n field: 'password',\n isPassword: true\n }\n];\n\nexport const TOKEN: IField[] = [\n {\n label: '0Auth Client ID',\n field: 'client_id'\n },\n {\n label: '0Auth Client Secret',\n field: 'client_secret'\n },\n {\n label: 'Refresh Token',\n field: 'refresh_token',\n isPassword: true\n }\n];\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { useEffect, useState } from 'react';\nimport { IntegrationHeader } from '../Integration/IntegrationHeader/IntegrationHeader';\nimport { Button } from 'common/components/Button/Button';\nimport { TextField } from '@mui/material';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { IServiceNow, FIELDS, ID_PASSWORD, TOKEN } from './config';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\nimport { IField, SECURE_INPUT_MASK } from '../config';\nimport { useDispatch } from 'react-redux';\nimport { Common } from 'common/services/common.service';\nimport { showError, showSuccess } from 'features/AlertSlice';\nimport PopSideFotter from '../Integration/PopSideFotter/PopSideFotter';\nimport classNames from 'classnames';\nimport { loadList } from 'features/IntegrationsSlice';\n\nimport './ServiceNow.scss';\nimport '../Integration.scss';\n\nconst ServiceNow = (props: any) => {\n const [isLoading, setIsLoading] = useState(true);\n const [submiting, setSubmiting] = useState(false);\n const [data, setData] = useState({});\n const [isValidated, setIsValidated] = useState(false);\n const [methods, setMethods] = useState('');\n const [showDeletePopup, setShowDeletePopup] = useState(false);\n const [clickedSubmit, setClickedSubmit] = useState(false);\n\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (props.isEditMode) {\n RestApi.getData(Paths[PathNames.integrationServiceNow]).subscribe((response: any) => {\n if (response) {\n const data = {\n id: response.results[0].id,\n configuration_name: response.results[0].configuration_name,\n server_url: response.results[0].configuration.server_url,\n ...(response.results[0].configuration.authentication.user_name\n ? {\n user_name: response.results[0].configuration.authentication.user_name,\n password: SECURE_INPUT_MASK\n }\n : {}),\n ...(response.results[0].configuration.authentication.refresh_token\n ? {\n refresh_token: response.results[0].configuration.authentication.refresh_token,\n client_id: response.results[0].configuration.authentication.client_id,\n client_secret: response.results[0].configuration.authentication.client_secret\n }\n : {})\n };\n setData(data);\n setIsLoading(false);\n setMethods(response.results[0].configuration.authentication.user_name ? 'id_password' : 'refresh_token');\n }\n });\n } else {\n setIsLoading(false);\n setMethods('id_password');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isEditMode]);\n\n useEffect(() => {\n if (!!Object.keys(data).length && !!methods && !!methods.length) {\n const valid =\n data?.configuration_name?.length > 2 &&\n data?.server_url?.length > 2 &&\n ((methods === 'id_password' && data?.user_name?.length > 2 && data?.password?.length > 2) ||\n (methods === 'refresh_token' &&\n data?.refresh_token?.length > 2 &&\n data?.client_id?.length > 2 &&\n data?.client_secret?.length > 2));\n\n setIsValidated(valid);\n }\n }, [data, methods]);\n\n useEffect(() => {\n if (methods === 'id_password') {\n delete data.refresh_token;\n delete data.client_id;\n delete data.client_secret;\n } else if (methods === 'refresh_token') {\n delete data.user_name;\n delete data.password;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [methods]);\n\n const setValue = (key: string, value: any) => {\n let copy: IServiceNow = { ...data };\n copy = { ...copy, [key]: value };\n setData(copy);\n setClickedSubmit(false);\n };\n\n const submit = () => {\n setClickedSubmit(true);\n if (!isValidated) {\n return;\n }\n\n setSubmiting(true);\n const payload = {\n ...(props.isEditMode ? {} : { configuration_name: data.configuration_name }),\n configuration: {\n ...(props.isEditMode ? {} : { server_url: data.server_url }),\n authentication: {\n ...(methods === 'id_password'\n ? {\n authentication_type: 'basic_auth',\n user_name: data.user_name,\n ...(data.password !== SECURE_INPUT_MASK ? { password: data.password } : {})\n }\n : {}),\n ...(methods === 'refresh_token'\n ? {\n authentication_type: 'refresh_token',\n refresh_token: data.refresh_token,\n client_id: data.client_id,\n client_secret: data.client_secret\n }\n : {})\n }\n }\n };\n RestApi.setData(\n props.isEditMode\n ? Paths[PathNames.integrationServiceNow] + props.id + '/'\n : Paths[PathNames.integrationServiceNow],\n {\n ...payload,\n status: 'active'\n },\n props.isEditMode ? 'PATCH' : 'POST'\n ).subscribe(\n (response: any) => {\n setSubmiting(false);\n props.onClose();\n dispatch(loadList());\n dispatch(showSuccess(`Integration Saved Successfully`));\n },\n error => {\n dispatch(showError(error));\n setSubmiting(false);\n }\n );\n };\n\n const deleteBeforeApplyOnClick = (ev: any) => {\n ev.stopPropagation();\n setShowDeletePopup(true);\n };\n\n const deleteAfterApplyOnClick = () => {\n setShowDeletePopup(false);\n setSubmiting(true);\n if (!!data.id) {\n RestApi.setData(`${Paths[PathNames.integrationServiceNow]}${data.id}/`, {}, 'DELETE').subscribe(\n (response: any) => {\n dispatch(showSuccess('Deleted Successfully'));\n dispatch(loadList());\n },\n error => {\n dispatch(showError(error));\n }\n );\n }\n props.onClose();\n };\n\n const handlePopSideOnClick = (ev: any) => {\n ev.stopPropagation();\n setShowDeletePopup(false);\n };\n\n const checkIsValidation = (field: any) => {\n switch (field) {\n case 'configuration_name':\n return data?.configuration_name?.length > 2;\n case 'server_url':\n return Common.validateURL(data?.server_url || '');\n case 'user_name':\n return data?.user_name?.length > 2;\n case 'password':\n return data?.password?.length > 2;\n case 'refresh_token':\n return data?.refresh_token?.length > 2;\n case 'client_id':\n return data?.client_id?.length > 2;\n case 'client_secret':\n return data?.client_secret?.length > 2;\n default:\n return false;\n }\n };\n\n return isLoading ? (\n \n ) : (\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    General
    \n
    \n {FIELDS.map((field: IField) => {\n const isError = !checkIsValidation(field.field);\n return (\n
    \n setValue(field.field, e.target.value)}\n error={isError && clickedSubmit}\n disabled={!!data.id && ['server_url', 'configuration_name'].includes(field.field)}\n inputProps={{\n autoComplete: 'new-password'\n }}\n type={field.isPassword ? 'password' : 'text'}\n sx={{ '& .Mui-error': { color: 'red' }, '& .MuiFormHelperText-root': { fontSize: 11 } }}\n />\n
    \n );\n })}\n
    \n
    \n
    \n
    Integration Methods
    \n
    \n
    \n setMethods('id_password')}\n type=\"button\"\n className={`service-now-button marginRight ${methods === 'id_password' ? 'active' : ''}`}\n disabled={props.isSubmiting}\n />\n setMethods('refresh_token')}\n className={`service-now-button marginLeft ${methods === 'refresh_token' ? 'active' : ''}`}\n type=\"button\"\n disabled={props.isSubmiting}\n />\n {/* \n setMethods('id_password')}\n >\n ID & Password\n \n \n */}\n
    \n {methods === 'id_password' &&\n ID_PASSWORD.map((field: IField) => {\n const isError = !checkIsValidation(field.field);\n return (\n
    \n setValue(field.field, e.target.value)}\n error={isError && clickedSubmit}\n inputProps={{\n autoComplete: 'new-password'\n }}\n type={field.isPassword ? 'password' : 'text'}\n sx={{ '& .Mui-error': { color: 'red' }, '& .MuiFormHelperText-root': { fontSize: 11 } }}\n />\n {field.info && (\n \"Info\"\n )}\n
    \n );\n })}\n {methods === 'refresh_token' &&\n TOKEN.map((field: IField) => {\n const isError = !checkIsValidation(field.field);\n return (\n
    \n setValue(field.field, e.target.value)}\n error={isError && clickedSubmit}\n inputProps={{\n autoComplete: 'new-password'\n }}\n type={field.isPassword ? 'password' : 'text'}\n sx={{ '& .Mui-error': { color: 'red' }, '& .MuiFormHelperText-root': { fontSize: 11 } }}\n />\n {/* {field.info && (\n \"Info\"\n )} */}\n
    \n );\n })}\n
    \n
    \n
    \n
    \n \n\n \n
    \n );\n};\n\nexport default ServiceNow;\n","import { IntegrationHeader } from '../Integration/IntegrationHeader/IntegrationHeader';\nimport { Button } from 'common/components/Button/Button';\nimport './NotAvailableIntegration.scss';\n\nexport function NotAvailableIntegration(props: any) {\n return (\n
    \n \n
    \n \"Icon\"\n

    In order to proceed with this integration please contact IONIX service desk

    \n
    \n
    \n
    \n
    \n );\n}\n","import './Integration.scss';\nimport { useEffect, useState } from 'react';\nimport { CustomSwitch } from 'common/components/CustomSwitch/CustomSwitch';\nimport { Button } from 'common/components/Button/Button';\nimport { PopSide } from 'common/components/PopSide/PopSide';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Sentinel } from '../Sentinel/Sentinel';\nimport { Splunk } from '../Splunk/Splunk';\nimport Jira from '../Jira/Jira';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ServiceNow from '../ServiceNow/ServiceNow';\nimport { NotAvailableIntegration } from '../NotAvailableIntegration/NotAvailableIntegration';\nimport { showError, showSuccess } from 'features/AlertSlice';\nimport { loadList, resetIntegrationPopup, setIntegrationDeleted } from 'features/IntegrationsSlice';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nexport function Integration(props: any) {\n const [isActive, setIsActive] = useState(!!props.isActive);\n const [integration, setIntegration] = useState('');\n const { categoryPopup, integrationDeleted } = useSelector((state: any) => state.integrations);\n\n const dispatch = useDispatch();\n\n useEffect(() => {\n setIsActive(!!props.isActive);\n }, [props.isActive]);\n\n useEffect(() => {\n if (!!categoryPopup.length && props.data.component.toLowerCase() === categoryPopup.toLowerCase()) {\n setIntegration(props.data.component);\n dispatch(resetIntegrationPopup());\n }\n }, [categoryPopup, props.data.component, dispatch]);\n\n const showPopSide = () => {\n setIntegration(props.data.component);\n };\n\n const onClose = () => {\n if (integrationDeleted) {\n dispatch(setIntegrationDeleted(false));\n dispatch(loadList());\n }\n setIntegration('');\n };\n\n const onHide = () => {\n if (integrationDeleted) {\n dispatch(setIntegrationDeleted(false));\n dispatch(loadList());\n }\n setIntegration('');\n };\n\n function getComponent(component: string) {\n const components: any = {\n Jira: Jira,\n Splunk: Splunk,\n ServiceNow: ServiceNow,\n Sentinel: Sentinel,\n NotAvailableIntegration: NotAvailableIntegration\n };\n const Component = components[component];\n return ;\n }\n\n const onChange = (e: React.ChangeEvent, isChecked: boolean) => {\n setIsActive(isChecked);\n RestApi.setData(\n `${props.data.apiPath}${props.id}/`,\n { status: isChecked ? 'active' : 'inactive' },\n 'PATCH'\n ).subscribe(\n (response: any) => {\n dispatch(showSuccess(`Integration ${isChecked ? 'Activated' : 'Deactivated'} Successfully`));\n },\n error => {\n dispatch(showError(error));\n setIsActive(!isChecked);\n }\n );\n };\n\n return (\n
  • \n
    \n
    \n {props.data.label}\n

    {props.data.label}

    \n
    \n {props.isExists && props.showToggle && }\n
    \n
    {props.data.text}
    \n
    \n \n {!!props.data.guideUrl && }\n
    \n {!!integration && {getComponent(integration)}}\n
  • \n );\n}\n","import { AppLoading } from 'common/components/appLoading/appLoading';\nimport { loadList, showCategoryPopup } from 'features/IntegrationsSlice';\nimport { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IntegrationsList } from './config';\nimport { Integration } from './Integration/Integration';\nimport { NotFound } from 'notFound/NotFound';\nimport { useHistory } from 'react-router-dom';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { Common } from 'common/services/common.service';\nimport Fade from '@mui/material/Fade';\n\nimport './Integrations.scss';\n// import { ManageNotData } from 'common/components/manageNotData/ManageNotData';\n\nexport function Integrations(props: any) {\n const dispatch = useDispatch();\n const [noPermission, setNoPermission] = useState(false);\n const { list, loading } = useSelector((state: any) => state.integrations);\n\n const flags = useFlags();\n const history = useHistory();\n\n useEffect(() => {\n const func = async () => {\n try {\n await dispatch(loadList()).unwrap();\n const category = Common.getParamFromUrl('openCategory');\n\n if (category?.length) {\n dispatch(showCategoryPopup(category));\n }\n } catch (err) {\n const _err: any = err;\n switch (_err.status) {\n case 403:\n setNoPermission(true);\n break;\n case 401:\n history.replace('/');\n break;\n }\n }\n };\n func();\n }, [dispatch, history]);\n\n const renderIntegrationsCategories = (): any => {\n let _html: any = [];\n Object.keys(IntegrationsList).forEach((category: string, i: number) => {\n if (Object.keys(IntegrationsList[category])) {\n if ((flags.isServicenowAndCortexPov && category === 'SOAR') || category !== 'SOAR') {\n _html.push(

    {category}

    );\n _html.push(\n
      \n {renderIntegrationsBoxes(category)}\n
    \n );\n }\n }\n });\n return _html;\n };\n\n const renderIntegrationsBoxes = (category: string) => {\n let _html: any = [];\n Object.keys(IntegrationsList[category]).forEach((app: string) => {\n const integration = list?.results?.filter((_app: any) => _app.type === app)[0];\n if (\n !IntegrationsList[category][app].is_unavailable ||\n (flags.isServicenowAndCortexPov && IntegrationsList[category][app].is_unavailable)\n ) {\n _html.push(\n \n );\n }\n });\n return _html;\n };\n\n if (noPermission) {\n return (\n
    \n \n
    \n );\n }\n\n return (\n
    \n {loading && }\n {!loading && (\n \n
    {renderIntegrationsCategories()}
    \n
    \n )}\n {/* {!list?.results?.length && } */}\n
    \n );\n}\n","import { IIcon } from 'common/interfaces/interface';\nimport React from 'react';\n\ninterface IIconNotificationsActiveProtection extends IIcon {\n isFilledColor?: boolean;\n}\nexport class IconNotificationsActiveProtection extends React.Component {\n public props: IIconNotificationsActiveProtection;\n\n render() {\n return this.props.isFilledColor ? (\n \n \n \n \n ) : (\n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport const IconNotificationsActionItems: React.FC = ({ active }) => {\n let color = active ? '#3455DD' : '#6D6D7A';\n\n return (\n \n \n \n );\n};\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport const IconNotificationsDiscovery: React.FC = ({ active }) => {\n let color = active ? '#3455DD' : '#6D6D7A';\n\n return (\n \n \n \n \n );\n};\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport const IconNotificationsCertificates: React.FC = ({ active }) => {\n let color = active ? '#3455DD' : '#6D6D7A';\n\n return (\n \n \n \n );\n};\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport const IconNotificationsPortalAccess: React.FC = ({ active }) => {\n let color = active ? '#3455DD' : '#6D6D7A';\n\n return (\n \n \n \n );\n};\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport const IconNotificationsAssetManagement: React.FC = ({ active }) => {\n let color = active ? '#3455DD' : '#6D6D7A';\n\n return (\n \n \n \n \n \n \n \n \n \n \n );\n};\n","import React, { createContext, useContext, useState, useEffect, useCallback } from 'react';\nimport { IconNotificationsActiveProtection } from 'common/components/Icons/IconNotificationsActiveProtection/IconNotificationsActiveProtection';\nimport { IconNotificationsActionItems } from 'common/components/Icons/IconNotificationsActionItems/IconNotificationsActionItems';\nimport { IconNotificationsDiscovery } from 'common/components/Icons/IconNotificationsDiscovery/IconNotificationsDiscovery';\nimport { IconNotificationsCertificates } from 'common/components/Icons/IconNotificationsCertificates/IconNotificationsCertificates';\nimport { IconNotificationsPortalAccess } from 'common/components/Icons/IconNotificationsPortalAccess/IconNotificationsPortalAccess';\nimport { IconNotificationsAssetManagement } from 'common/components/Icons/IconNotificationsAssetManagement/IconNotificationsAssetManagement';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { addHeaders } from 'common/services/rest-api.service';\nimport { showError, showSuccess } from 'features/AlertSlice';\nimport { useDispatch } from 'react-redux';\nimport { env } from 'env';\n\n// import { RestApi_MOCKS } from 'common/services/rest-api.service_MOCKS';\n// import { notificationsList_MOCK } from './mocks';\n\nexport const getCategoryFromType = (type: number) => {\n switch (Math.floor(type / 100)) {\n case 0:\n return 'action_items';\n case 10:\n case 11:\n return 'portal_access';\n case 12:\n case 13:\n return 'asset_management';\n case 20:\n case 40:\n case 41:\n case 50:\n case 70:\n return 'discovery';\n case 30:\n case 31:\n return 'certificates';\n case 60:\n return 'active_protection';\n default:\n return '';\n }\n};\n\nexport const NOTIFICATIONS_LIMIT = 200;\nexport const NOTIFICATIONS_TYPE = {\n ACTION_ITEM: 'action_items',\n // ACTIVE_PROTECTION: 'active_protection',\n DISCOVERY: 'discovery',\n CERTIFICATES: 'certificates',\n PORTAL_ACCESS: 'portal_access',\n ASSET_MANAGEMENT: 'asset_management'\n};\n\nexport const CATEGORIES_ENUM = {\n action_items: 1,\n active_protection: 2,\n discovery: 3,\n portal_access: 4,\n certificates: 5,\n asset_management: 6\n};\n\nexport const NOTIFICATION_OPTIONS = {\n action_items: {\n icon: ,\n title: 'Action Items',\n newTitle: 'Action Item Notification',\n desc: 'Notify on risk related issues'\n },\n active_protection: {\n icon: ,\n title: 'Active Protection',\n newTitle: 'Active Protection Notification',\n desc: 'Notify on assets under Active Protection'\n },\n discovery: {\n icon: ,\n title: 'Discovery',\n newTitle: 'Discovery Notification',\n desc: 'Notify on changes in the inventory'\n },\n certificates: {\n icon: ,\n title: 'Certificates',\n newTitle: 'Certificates Notification',\n desc: 'Notify on the org certificates'\n },\n portal_access: {\n icon: ,\n title: 'Portal Access',\n newTitle: 'Portal Access Notification',\n desc: 'Notify on user activity'\n },\n asset_management: {\n icon: ,\n title: 'Asset Management',\n newTitle: 'Asset Management Notification',\n desc: 'Notify on asset management'\n }\n};\n\nexport type TActionMode = 'view' | 'add' | 'edit' | 'new' | null;\nexport type TOrder = 'asc' | 'desc';\n\nexport type TSort = 'date' | 'type' | 'az';\nexport const SORT_TYPE = {\n DATE: 'date',\n TYPE: 'type',\n AZ: 'az'\n};\nexport const DROPDOWNBOX_TYPE = {\n RADIO: 'radio',\n CHECKBOX: 'checkbox',\n SLIDER: 'slider',\n IMPORTANCE: 'importance',\n TEXT_FILTER: 'textFilter',\n NUMBER_FILTER: 'numberFilter',\n NUMBERS_LIST_FILTER: 'numbersListFilter',\n STRINGS_LIST_FILTER: 'stringsListFilter',\n INPUT_CHIPS: 'inputChips',\n DATES: 'dates'\n};\n\nexport type NotificationsContextType = {\n allNotifications: any;\n filteredNotifications: any;\n isOpen: boolean;\n setIsOpen: (open: boolean) => void;\n search: string | null;\n onSearch: (search: string) => void;\n onSort: (type: TSort) => void;\n setSelectedNotification: (notification: any) => void;\n onNotificationClick: (notification: any) => void;\n onNotificationItemMenuClick: (menuId: string, notification: any) => void;\n selectedNotification: any;\n setActionMode: (mode: TActionMode) => void;\n setNotificationType: (type: string) => void;\n notificationType: string | null;\n actionMode: TActionMode;\n isLoading: boolean;\n onSwitchNotificationItem: (id: string, isActivate: boolean) => void;\n onDeleteNotification: (id: string) => void;\n activatedIds: string[];\n patchNotification: (id: string, data: any) => void;\n fetchNotifications: () => void;\n notificationsAmount: number | null;\n sortBy: any;\n};\ninterface NotificationsProviderProps {\n children: JSX.Element | JSX.Element[];\n}\n\nconst NotificationsContext = createContext(null);\n\nexport const NotificationsProvider: React.FC = ({ children }) => {\n const [allNotifications, setAllNotifications] = useState(null);\n const [filteredNotifications, setFilteredNotifications] = useState(null);\n const [notificationsAmount, setNotificationsAmount] = useState(null);\n const [search, setSearch] = useState(null);\n const [selectedNotification, setSelectedNotification] = useState(null);\n const [sortBy, setSortBy] = useState({ by: 'date', order: 'desc' });\n const [actionMode, setActionMode] = useState(null);\n const [isLoading, setIsLoading] = useState(true);\n const [isOpen, setIsOpen] = useState(false);\n const [notificationType, setNotificationType] = useState(null);\n const [activatedIds, setActivatedIds] = useState(null);\n const dispatch = useDispatch();\n\n const fetchNotifications = async () => {\n try {\n // MOCK: TESTING USAGE ***************************************\n // const data: any = await RestApi_MOCKS.getPromise_Mocks(notificationsList_MOCK);\n // const results = data.results.map((notification: any) => ({\n // ...notification,\n // notification_type: getCategoryFromType(notification.notification_type.notification_type)\n // }));\n // setAllNotifications(results);\n // setFilteredNotifications(results);\n // setActivatedIds(results.filter((f: any) => f.status.status === 0).map((notification: any) => notification.id));\n // setNotificationsAmount(data.count || 0);\n // MOCK: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n // PROD: PROD DATA ***************************************\n const path = 'settings/notifications/';\n RestApi.getData(path).subscribe((response: any) => {\n const results = response.results.map((notification: any) => ({\n ...notification,\n notification_type: getCategoryFromType(notification.notification_type.notification_type)\n }));\n setAllNotifications(results);\n setFilteredNotifications(results);\n setActivatedIds(results.filter((f: any) => f.status.status === 0).map((notification: any) => notification.id));\n setNotificationsAmount(response.count || 0);\n });\n // PROD: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n setIsLoading(false);\n } catch (err) {\n console.log('#ERR: fetch data');\n setIsLoading(false);\n }\n };\n\n useEffect(() => {\n fetchNotifications();\n }, []);\n\n const searchNotifications = useCallback(() => {\n return allNotifications.filter((notification: any) => notification.name.toLowerCase().includes(search));\n }, [allNotifications, search]);\n\n useEffect(() => {\n if (search === null || search.trim() === '') {\n setFilteredNotifications(allNotifications);\n } else {\n setFilteredNotifications(searchNotifications());\n }\n }, [search, allNotifications, searchNotifications]);\n\n const onSearch = (pattern: string) => {\n setSearch(pattern);\n };\n\n const onNotificationClick = (notification: any) => {\n const open = selectedNotification === null || notification.id !== selectedNotification.id;\n setIsOpen(open);\n if (open) {\n setActionMode('view');\n setSelectedNotification(notification);\n setNotificationType(notification.notification_type);\n }\n };\n\n const onNotificationItemMenuClick = (notification: any, menuId: string) => {\n if (menuId === 'edit') {\n setIsOpen(true);\n setActionMode('edit');\n setSelectedNotification(notification);\n setNotificationType(notification.notification_type);\n }\n };\n\n useEffect(() => {\n if (!!sortBy.by && !!sortBy.order && !!filteredNotifications?.length) {\n let sorted;\n const dirOrder = sortBy.order === 'asc' ? -1 : 1;\n\n switch (sortBy.by) {\n case SORT_TYPE.DATE:\n sorted = filteredNotifications.sort(function(a: any, b: any) {\n return dirOrder * (Number(new Date(b.updated_at)) - Number(new Date(a.updated_at)));\n });\n break;\n case SORT_TYPE.TYPE:\n sorted = filteredNotifications.sort(function(a: any, b: any) {\n return dirOrder * a.notification_type.localeCompare(b.notification_type);\n });\n break;\n case SORT_TYPE.AZ:\n sorted = filteredNotifications.sort(function(a: any, b: any) {\n return dirOrder * b.name.localeCompare(a.name);\n });\n break;\n }\n\n setFilteredNotifications([...sorted]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sortBy]);\n\n const onSort = (_sortBy: TSort) => {\n if (_sortBy !== sortBy.by) {\n setSortBy({ by: _sortBy, order: 'desc' });\n } else {\n setSortBy({ by: sortBy.by, order: sortBy.order === 'desc' ? 'asc' : 'desc' });\n }\n };\n\n const removeByValue = (arr: any, id: any) => {\n return arr.filter((item: any) => item !== id);\n };\n\n const onSwitchNotificationItem = (id: string, isActivate: boolean) => {\n if (isActivate) {\n setActivatedIds([...activatedIds, id]);\n } else {\n setActivatedIds(removeByValue(activatedIds, id));\n }\n patchNotification(id, { status: isActivate ? 0 : 1 });\n };\n\n const onDeleteNotification = async (id: string) => {\n RestApi.setData(\n 'settings/notifications/',\n {\n ids: [id]\n },\n 'DELETE'\n ).subscribe(\n (response: any) => {\n fetchNotifications();\n dispatch(showSuccess('Notification was Deleted Successfully'));\n setIsOpen(false);\n },\n error => {\n dispatch(showError('Notification Delete Error'));\n }\n );\n };\n\n const patchNotification = async (id: string, data: any) => {\n const path = `${env.REACT_APP_BASE_URL}settings/notifications/${id}/`;\n const resPatch = await fetch(path, {\n method: 'PATCH',\n mode: 'cors',\n headers: addHeaders('PATCH'),\n credentials: 'include',\n body: JSON.stringify(data)\n });\n if (resPatch.ok) {\n dispatch(showSuccess(`Notification ${data.status === 0 ? 'activated' : 'deactivated'} successfully`));\n }\n const response = await resPatch.json();\n return response;\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport const useNotifications = () => {\n return useContext(NotificationsContext);\n};\n","export function IconSortOrder({ active }: { active: boolean }) {\n let color = active ? '#3455DD' : '#5D6576';\n\n return (\n \n \n \n \n );\n}\n","import React, { useState } from 'react';\nimport { Button } from 'common/components/Button/Button';\nimport ToggleButton from '@mui/material/ToggleButton';\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup';\nimport { useNotifications, NotificationsContextType, TSort } from '../NotificationsContext';\nimport { IconSortOrder } from 'common/components/Icons/IconSortOrder/IconSortOrder';\nimport classNames from 'classnames';\nimport { Search } from 'common/components/Search/Search';\n// import Search from './Search';\nimport './notifications-header.scss';\n\ninterface INotificationsHeader {\n onAdd: () => void;\n showOrder: boolean;\n}\n\nconst NotificationsHeader: React.FC = ({ onAdd, showOrder }) => {\n const [selected, setSelected] = useState('date');\n const { onSearch, onSort, sortBy, filteredNotifications } = useNotifications() as NotificationsContextType;\n\n const handleSort = (event: React.MouseEvent, _sortBy: TSort) => {\n setSelected(!sortBy ? sortBy.by : _sortBy);\n onSort(!_sortBy ? sortBy.by : _sortBy);\n };\n\n const TOGGLES = [\n { type: 'date', label: 'Last Edited' },\n { type: 'type', label: 'By Type' },\n { type: 'az', label: 'A-Z' }\n ];\n\n return (\n
    \n
    \n
    \n \n {/* */}\n
    \n \n {TOGGLES.map((toggle: any) => (\n \n {toggle.label}\n \n \n
    \n \n ))}\n \n
    \n \n
    \n
    \n );\n};\n\nexport default NotificationsHeader;\n","import React, { useState, useEffect } from 'react';\nimport Grid from '@mui/material/Grid';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { CustomSwitch } from 'common/components/CustomSwitch/CustomSwitch';\nimport {\n useNotifications,\n NotificationsContextType,\n SORT_TYPE,\n NOTIFICATION_OPTIONS\n} from 'pages/Settings/Notifications/NotificationsContext';\nimport classNames from 'classnames';\nimport { Common } from 'common/services/common.service';\nimport Dialog from '@mui/material/Dialog';\nimport Tooltip from '@mui/material/Tooltip';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Fade from '@mui/material/Fade';\nimport { Button } from 'common/components/Button/Button';\nimport { makeStyles } from '@material-ui/core/styles';\nimport RowActionMenu from 'common/components/RowActionMenu/RowActionMenu';\nimport { Link } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\n\nimport './notification-item.scss';\n// import { ToolTip } from 'common/components/toolTip/toolTip';\n\nconst useStyles = makeStyles({\n paper: {\n width: 500\n },\n contentText: {\n fontSize: 12,\n fontFamily: 'Rubik'\n },\n dialogTitle: {\n fontSize: 22,\n fontFamily: 'Rubik'\n },\n deletedNotification: {\n fontSize: 12,\n fontFamily: 'Rubik',\n fontWeight: 600\n },\n tooltip: {\n fontSize: 12,\n fontFamily: 'Rubik'\n }\n});\n\nconst infoIcon = (\n \n \n \n \n \n);\ninterface INotificationItem {\n notification: any;\n}\nconst NotificationItem: React.FC = ({ notification }) => {\n const [showDeletePopup, setShowDeletePopup] = useState(false);\n const [isActive, setIsActive] = useState(null);\n const [integrationUrl, setIntegrationUrl] = useState(null);\n\n const {\n sortBy,\n selectedNotification,\n isOpen,\n onSwitchNotificationItem,\n onDeleteNotification,\n setIsOpen,\n onNotificationClick,\n onNotificationItemMenuClick\n } = useNotifications() as NotificationsContextType;\n const { list } = useSelector((state: IReduxState) => state.integrations);\n\n const classes = useStyles();\n\n useEffect(() => {\n if (!!notification) {\n const isNotificationActive = notification?.status.status === 0;\n const isIntegrationActive = !!notification.configuration_status && notification.configuration_status === 'active';\n\n setIsActive(\n !!notification.configuration_status ? isNotificationActive && isIntegrationActive : isNotificationActive\n );\n }\n }, [notification]);\n\n useEffect(() => {\n if (!!list?.results?.length && !!notification?.configuration_id) {\n const integration = list.results.find((integration: any) => integration.id === notification.configuration_id);\n if (integration) {\n setIntegrationUrl(`/pages/settings/integrations/?openCategory=${integration.type}`);\n }\n }\n }, [list, notification]);\n\n const handleSwitch = (ev: React.MouseEvent) => {\n ev.stopPropagation();\n ev.preventDefault();\n onSwitchNotificationItem(notification.id, !isActive);\n\n if (selectedNotification?.id === notification.id && isOpen) {\n setIsOpen(false);\n }\n setIsActive(active => !active);\n };\n\n const handleSwitchWrapper = (event: React.MouseEvent) => {\n event.stopPropagation();\n };\n\n const handleMenuItemClick = (rowData: any, option: any, type: string, event: React.MouseEvent) => {\n event.stopPropagation();\n if (option.id === 'delete') {\n setShowDeletePopup(true);\n }\n if (option.id === 'edit') {\n onNotificationItemMenuClick(rowData, 'edit');\n }\n };\n\n const handleNotificationClick = (ev: any) => {\n onNotificationClick(notification);\n };\n\n const handleDialogOnClose = (event: React.MouseEvent) => {\n event.stopPropagation();\n setShowDeletePopup(false);\n };\n\n const handleDialogOnDelete = (event: React.MouseEvent) => {\n event.stopPropagation();\n setShowDeletePopup(false);\n onDeleteNotification(notification.id);\n };\n\n // const itemMenu = [\n // { id: 'edit', label: 'Edit', icon: },\n // { id: 'delete', label: 'Delete', icon: \"delete }\n // ];\n\n const deleteDialog = (\n \n \n {'Delete Notification'}\n \n \n Clicking 'Delete' button will permanently delete the notification\n \n \n {notification.label}\n \n \n \n \n \n \n \n \n );\n\n return (\n \n \n \n \n \n \n \n \n {!!notification.configuration_status && notification.configuration_status === 'inactive' && (\n \n \n \n \n Notification channel is disabled\n \n \n \n \n
    \n This notification is currently disabled and will not be sent until reactivation of the\n related integration\n
    \n \n Go to integrations\n \n \n }\n placement=\"bottom-start\"\n componentsProps={{\n tooltip: {\n sx: {\n backgroundColor: '#202022',\n color: '#999BA4',\n padding: '5px 8px',\n lineHeight: '16px',\n fontSize: 13,\n '& .MuiTooltip-arrow': {\n color: '#999BA4'\n },\n border: '2px solid black',\n borderRadius: 1\n }\n }\n }}\n >\n
    {infoIcon}
    \n \n
    \n
    \n
    \n )}\n \n \n \n \n {sortBy.by !== SORT_TYPE.TYPE && (\n \n {\n NOTIFICATION_OPTIONS[notification.notification_type as keyof typeof NOTIFICATION_OPTIONS]\n ?.icon\n }\n \n )}\n \n \n
    \n \n {notification.name}\n \n
    \n
    \n
    \n
    \n
    \n \n {isOpen && (\n \n \n {`${notification.created_by}`}\n \n \n \n
    \n {`${Common.getShortDate(notification.created_at)}`}\n
    \n \n
    \n \n \n
    \n {`${Common.getShortDate(notification.updated_at)}`}\n
    \n \n
    \n
    \n )}\n {!isOpen && (\n \n \n {`Created by: ${notification.created_by}`}\n \n \n {`Creation date: ${Common.getShortDate(notification.created_at)}`}\n \n \n {`Last edited: ${Common.getShortDate(notification.updated_at)}`}\n \n
    \n )}\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n
    \n \n
    \n \n {deleteDialog}\n \n );\n};\n\nexport default NotificationItem;\n","import React, { useState, useEffect } from 'react';\nimport NotificationItem from './NotificationItem';\nimport {\n useNotifications,\n NotificationsContextType,\n SORT_TYPE,\n NOTIFICATION_OPTIONS\n} from 'pages/Settings/Notifications/NotificationsContext';\nimport Grid from '@mui/material/Grid';\nimport { Common } from 'common/services/common.service';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\nconst NotificationsList = () => {\n const [groupedNotifications, setGroupedNotifications] = useState(null);\n const { filteredNotifications, sortBy } = useNotifications() as NotificationsContextType;\n\n const groupByNotofocationsType = (list: any) => {\n return list.reduce((all: any, curr: any) => {\n // const type = getCategoryFromType(curr.type.type);\n return {\n ...all,\n [curr.notification_type]: !!all[curr.notification_type] ? [...all[curr.notification_type], curr] : [curr]\n };\n }, {});\n };\n\n useEffect(() => {\n const sortObject = (obj: any) => {\n const dir = sortBy.order === 'asc' ? 1 : -1;\n return !!obj\n ? Object.keys(obj)\n .sort((a, b) => (a > b ? dir * 1 : dir * -1))\n .reduce(function(result: any, key) {\n result[key as keyof typeof result] = obj[key];\n return result;\n }, {})\n : {};\n };\n\n if (sortBy.by === SORT_TYPE.TYPE && !!sortBy.order && !!filteredNotifications?.length) {\n const groupedTypes = groupByNotofocationsType(filteredNotifications);\n const updated = sortObject(groupedTypes);\n setGroupedNotifications(updated);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sortBy, filteredNotifications]);\n\n return (\n <>\n {(sortBy.by === SORT_TYPE.AZ || sortBy.by === SORT_TYPE.DATE) &&\n filteredNotifications.map((notification: any) => (\n \n ))}\n {sortBy.by === SORT_TYPE.TYPE &&\n Common.isObject(groupedNotifications) &&\n Object.keys(groupedNotifications).map((type: string) => (\n \n \n \n \n {NOTIFICATION_OPTIONS[type as keyof typeof NOTIFICATION_OPTIONS]?.icon}\n \n \n \n {`${NOTIFICATION_OPTIONS[type as keyof typeof NOTIFICATION_OPTIONS]?.title} (${\n groupedNotifications[type]?.length\n })`}\n \n \n \n \n\n \n \n {groupedNotifications[type].map((notification: any) => (\n \n \n \n ))}\n \n \n \n ))}\n \n );\n};\n\nexport default NotificationsList;\n","export const IconSearchNoResults = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import React from 'react';\n\nconst IconEmptyState = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default IconEmptyState;\n","import React from 'react';\nimport IconEmptyState from './IconEmptyState';\nimport Grid from '@mui/material/Grid';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { Button } from 'common/components/Button/Button';\n\ninterface IEmptyState {\n onAdd: () => void;\n}\nconst EmptyState: React.FC = ({ onAdd }) => {\n return (\n \n \n \n \n \n No Notifications Set\n \n \n Click the 'Add Notification' button to add your first notification rule\n \n \n \n \n \n \n );\n};\n\nconst ViewNotificationPanel = () => {\n const { selectedNotification } = useNotifications() as NotificationsContextType;\n // const contentByNotificationType = {\n // action_items: \n // };\n\n return !!selectedNotification && !!selectedNotification.notification_type ? (\n \n \n \n \n\n
    \n \n
    \n {/* {contentByNotificationType[selectedNotification?.type as keyof typeof contentByNotificationType]} */}\n \n
    \n
    \n
    \n\n \n \n \n
    \n ) : null;\n};\nexport default ViewNotificationPanel;\n","import React from 'react';\nimport { IconRadioButton } from 'common/components/Icons/IconRadioButton/IconRadioButton';\nimport { Grid } from '@mui/material';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { REQUIRED_FILTERS } from 'pages/Settings/Notifications/SidePanel/utils';\n\ninterface IRadioButtons {\n id: string;\n}\n\nconst RadioButtons: React.FC = ({ id }) => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n const {\n notificationData,\n changedNotificationData,\n onConfigurationChange,\n onChangeNotificationTypeDropdown\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n\n const requiredFields: string[] = REQUIRED_FILTERS[notificationType as keyof typeof REQUIRED_FILTERS];\n const data = requiredFields.includes(id) ? notificationData : notificationData.filters;\n const areFilters = !!data && !!data[id];\n\n let options;\n if (id === 'configuration_id') {\n const channel = changedNotificationData?.channel_type;\n options =\n areFilters &&\n data[id].choices\n .filter((option: any) => option.type === channel)\n .map((option: any) => ({\n ...option,\n is_toggled: !!option.is_toggled\n }));\n } else {\n options =\n areFilters &&\n data[id].choices.map((option: any) => ({\n ...option,\n is_toggled: !!option.is_toggled\n }));\n }\n\n const handleOnChange = (selectedItem: any) => () => {\n if (id === 'notification_type') {\n onChangeNotificationTypeDropdown(selectedItem.name);\n } else {\n onConfigurationChange(id, selectedItem.name);\n }\n };\n\n return (\n \n {!!options &&\n options.map((option: any) => {\n return (\n \n \n \n \n \n \n {option.label}\n \n \n \n );\n })}\n \n );\n};\n\nexport default RadioButtons;\n","import React, { memo } from 'react';\nimport { Checkbox } from 'common/components/Icons/IconCheckbox/IconCheckbox';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { REQUIRED_FILTERS } from 'pages/Settings/Notifications/SidePanel/utils';\n\ninterface ICheckbox {\n id: string;\n}\n\nconst Checkboxes: React.FC = ({ id }) => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n const {\n notificationData,\n onConfigurationChange\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n\n const requiredFields: string[] = REQUIRED_FILTERS[notificationType as keyof typeof REQUIRED_FILTERS];\n const data = requiredFields.includes(id) ? notificationData : notificationData.filters;\n const areFilters = !!data && data[id];\n\n const handleOnChange = (selectedOption: any) => () => {\n const updatedOptions = data[id].choices.map((option: any) => {\n if (option.name === selectedOption.name) {\n return {\n ...option,\n is_toggled: !!option.is_toggled ? !option.is_toggled : true\n };\n }\n return option;\n });\n const toggledData = updatedOptions.filter((option: any) => !!option.is_toggled).map((item: any) => item.name);\n onConfigurationChange(id, toggledData);\n };\n\n return (\n
    \n {!!areFilters &&\n data[id].choices.map((option: any) => {\n return (\n \n \n
    \n {option.label}\n
    \n
    \n );\n })}\n \n );\n};\n\nexport default memo(Checkboxes);\n","import React, { memo } from 'react';\nimport { Checkbox } from 'common/components/Icons/IconCheckbox/IconCheckbox';\n// import Importance from 'common/components/Importance/Importance';\nimport { Importance } from '@cyberpion/cyberpion-ui';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { REQUIRED_FILTERS } from 'pages/Settings/Notifications/SidePanel/utils';\n\ninterface ICheckboxImportance {\n id: string;\n}\n\nconst CheckboxImportance: React.FC = ({ id }) => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n const {\n notificationData,\n onConfigurationChange\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n\n const requiredFields: string[] = REQUIRED_FILTERS[notificationType as keyof typeof REQUIRED_FILTERS];\n const data = requiredFields.includes(id) ? notificationData : notificationData.filters;\n const areFilters = !!data && !!data[id];\n\n const handleOnChange = (selectedOption: any) => () => {\n const updatedOptions = data[id].choices.map((option: any) => {\n if (option.name === selectedOption.name) {\n return {\n ...option,\n is_toggled: !option.is_toggled\n };\n }\n return option;\n });\n const toggledData = updatedOptions.filter((option: any) => !!option.is_toggled).map((item: any) => item.name);\n onConfigurationChange(id, toggledData);\n };\n\n return (\n
    \n {!!areFilters &&\n data[id].choices.map((option: any) => {\n return (\n \n \n \n
    \n );\n })}\n \n );\n};\n\nexport default memo(CheckboxImportance);\n","import React, { useEffect, memo } from 'react';\nimport Slider from '@mui/material/Slider';\nimport classNames from 'classnames';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Grid } from '@mui/material';\n\nimport './slider-box.scss';\n\nconst useStyles = makeStyles({\n rail: {\n height: 3\n },\n track: {\n height: 3\n },\n thumb: {\n height: 17,\n width: 17\n }\n});\n\ninterface ISlider {\n id: string;\n min?: number;\n max?: number;\n step?: number;\n isActive?: boolean;\n}\n\nconst minDistance = 0;\n\nconst SliderBox: React.FC = ({ id, isActive = true, min = 0, max = 10, step = 0.1 }) => {\n const {\n notificationData,\n onConfigurationChange\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n const classes = useStyles();\n const sliderOption =\n !!notificationData && !!notificationData.filters[id] && !!notificationData.filters[id].choices?.length\n ? notificationData.filters[id].choices\n : [min, max];\n const [value, setValue] = React.useState(sliderOption);\n\n useEffect(() => {\n if (!!notificationData && !!notificationData.filters[id] && !!notificationData.filters[id].choices?.length) {\n setValue(notificationData.filters[id].choices);\n } else {\n setValue([min, max]);\n }\n }, [notificationData, min, max, id]);\n\n const handleOnChange = (event: Event, newValue: number | number[], activeThumb: number) => {\n if (!Array.isArray(newValue)) {\n return;\n }\n\n let updatedValues;\n if (activeThumb === 0) {\n updatedValues = [Math.min(newValue[0], value[1] - minDistance), value[1]];\n } else {\n updatedValues = [value[0], Math.max(newValue[1], value[0] + minDistance)];\n }\n setValue(updatedValues);\n };\n\n const handleSaveChanges = (event: React.SyntheticEvent | Event, values: number | Array) => {\n onConfigurationChange(id, values);\n };\n\n return (\n
    \n \n \n \n \n \n {!!value.length && (\n \n \n {value[0].toFixed(1)}\n \n\n \n \n \n\n \n {value[1].toFixed(1)}\n \n \n )}\n \n \n
    \n );\n};\n\nexport default memo(SliderBox);\n","import React, { useState, useEffect, memo } from 'react';\nimport DatePicker from '@mui/lab/DatePicker';\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\nimport TextField from '@mui/material/TextField';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { Grid } from '@mui/material';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\nimport './dates.scss';\n\ninterface IDates {\n id: string;\n}\n\nconst Dates: React.FC = ({ id }) => {\n const {\n notificationData,\n onConfigurationChange,\n onClear\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n const [isError, setIsError] = useState(false);\n\n const options =\n !!notificationData &&\n !!notificationData.filters &&\n !!notificationData.filters[id] &&\n notificationData.filters[id].choices\n ? notificationData.filters[id].choices\n : { from: null, to: null };\n\n const [fromDate, setFromDate] = useState(options.from);\n const [toDate, setToDate] = useState(options.to);\n\n useEffect(() => {\n if (!!fromDate && !!toDate) {\n const from = new Date(fromDate).toISOString().split('T')[0];\n const to = new Date(toDate).toISOString().split('T')[0];\n if (new Date(from) <= new Date(to)) {\n setIsError(false);\n onConfigurationChange(id, { from: new Date(fromDate).toISOString(), to: new Date(toDate).toISOString() });\n } else {\n setIsError(true);\n onClear([id]);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fromDate, toDate]);\n\n return (\n \n \n From\n \n \n \n {\n setFromDate(newValue);\n }}\n renderInput={params => (\n \n )}\n />\n \n \n \n To\n \n \n \n {\n setToDate(newValue);\n }}\n renderInput={params => (\n \n )}\n />\n \n \n \n );\n};\n\nexport default memo(Dates);\n","import React from 'react';\nimport { IconRadioButton } from 'common/components/Icons/IconRadioButton/IconRadioButton';\nimport { Grid } from '@mui/material';\nimport TextField from '@mui/material/TextField';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { REQUIRED_FILTERS } from 'pages/Settings/Notifications/SidePanel/utils';\n\nconst useStyles = makeStyles({\n textRoot: {\n width: '100%'\n }\n});\ninterface ITextFilter {\n id: string;\n}\n\nconst TextFilter: React.FC = ({ id }) => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n const {\n notificationData,\n onConfigurationChange\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n const classes = useStyles();\n\n const requiredFields: string[] = REQUIRED_FILTERS[notificationType as keyof typeof REQUIRED_FILTERS];\n const data = requiredFields.includes(id) ? notificationData : notificationData.filters;\n const areFilters = !!data && !!data[id];\n const options = areFilters && data[id].choices.filter((f: any) => !!f.is_toggled || !!f.value);\n\n const handleRadioOnChange = (selectedOption: any) => () => {\n onConfigurationChange(id, {\n text: !!options.length ? options[0].value : '',\n option: selectedOption\n });\n };\n\n // const isIPValid = (ipaddress: any) => {\n // const ipformat = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n // return ipaddress.match(ipformat);\n // };\n\n const handleTextOnChange = (event: React.ChangeEvent) => {\n if (data[id].type === 'ip' && event.currentTarget.value && !event.currentTarget.value.match(/^[./0-9]+$/)) {\n return;\n }\n onConfigurationChange(id, {\n text: !!event.target.value ? event.target.value : '',\n option: !!options.length && !!options[0].is_toggled ? options[0] : null\n });\n };\n\n return areFilters ? (\n \n \n \n \n {data[id].choices.map((option: any) => {\n return (\n \n \n \n \n \n \n {option.label}\n \n \n \n );\n })}\n \n ) : null;\n};\n\nexport default TextFilter;\n","import React from 'react';\nimport { IconRadioButton } from 'common/components/Icons/IconRadioButton/IconRadioButton';\nimport { Grid } from '@mui/material';\nimport TextField from '@mui/material/TextField';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { REQUIRED_FILTERS } from 'pages/Settings/Notifications/SidePanel/utils';\n\nconst useStyles = makeStyles({\n textRoot: {\n width: '100%'\n }\n});\ninterface INumberFilter {\n id: string;\n}\n\nconst NumberFilter: React.FC = ({ id }) => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n const {\n notificationData,\n onConfigurationChange\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n const classes = useStyles();\n\n const requiredFields: string[] = REQUIRED_FILTERS[notificationType as keyof typeof REQUIRED_FILTERS];\n const data = requiredFields.includes(id) ? notificationData : notificationData.filters;\n const areFilters = !!data && !!data[id];\n const options = areFilters && data[id].choices.filter((f: any) => !!f.is_toggled || !!f.value);\n\n const handleRadioOnChange = (selectedOption: any) => () => {\n onConfigurationChange(id, {\n text: !!options.length ? options[0].value : '',\n option: selectedOption\n });\n };\n\n const handleTextOnChange = (event: React.ChangeEvent) => {\n onConfigurationChange(id, {\n text: !!event.target.value ? event.target.value : '',\n option: !!options.length && !!options[0].is_toggled ? options[0] : null\n });\n };\n\n return areFilters ? (\n \n \n \n \n {data[id].choices.map((option: any) => {\n return (\n \n \n \n \n \n \n {option.label}\n \n \n \n );\n })}\n \n ) : null;\n};\n\nexport default NumberFilter;\n","import React from 'react';\nimport { Grid } from '@mui/material';\nimport TextField from '@mui/material/TextField';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { REQUIRED_FILTERS } from 'pages/Settings/Notifications/SidePanel/utils';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\nconst useStyles = makeStyles({\n textRoot: {\n width: '100%'\n }\n});\ninterface INumbersListFilter {\n id: string;\n}\n\nconst NumbersListFilter: React.FC = ({ id }) => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n const {\n notificationData,\n onConfigurationChange\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n const classes = useStyles();\n\n const requiredFields: string[] = REQUIRED_FILTERS[notificationType as keyof typeof REQUIRED_FILTERS];\n const data = requiredFields.includes(id) ? notificationData : notificationData.filters;\n const areFilters = !!data && !!data[id];\n\n const handleTextOnChange = (event: React.ChangeEvent) => {\n const value = event.target.value;\n if (data[id].type === 'array_number' && value !== '' && !value.match(/^[,0-9]+$/)) {\n return;\n }\n if (value.startsWith(',') || value.endsWith(',,')) {\n return;\n }\n\n onConfigurationChange(id, event.target.value);\n };\n\n return areFilters ? (\n \n \n
    \n \n Numbers are separated by commas\n \n
    \n
    \n \n \n \n
    \n ) : null;\n};\n\nexport default NumbersListFilter;\n","import React from 'react';\nimport { Grid } from '@mui/material';\nimport { IconRadioButton } from 'common/components/Icons/IconRadioButton/IconRadioButton';\nimport TextField from '@mui/material/TextField';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { REQUIRED_FILTERS } from 'pages/Settings/Notifications/SidePanel/utils';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\nconst useStyles = makeStyles({\n textRoot: {\n width: '100%'\n }\n});\ninterface IStringsListFilter {\n id: string;\n}\n\nconst StringsListFilter: React.FC = ({ id }) => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n const {\n notificationData,\n onConfigurationChange\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n const classes = useStyles();\n\n const requiredFields: string[] = REQUIRED_FILTERS[notificationType as keyof typeof REQUIRED_FILTERS];\n const data = requiredFields.includes(id) ? notificationData : notificationData.filters;\n const areFilters = !!data && !!data[id];\n const options = areFilters && data[id].choices.filter((f: any) => !!f.is_toggled || !!f.value);\n\n const handleTextOnChange = (event: React.ChangeEvent) => {\n const value = event.target.value;\n if (data[id].type === 'array_string' && value !== '' && !value.match(/^[,A-Za-z0-9]+$/)) {\n return;\n }\n if (value.startsWith(',') || value.endsWith(',,')) {\n return;\n }\n\n // onConfigurationChange(id, event.target.value);\n onConfigurationChange(id, {\n text: event.target.value.trim() !== '' ? event.target.value.trim() : '',\n option: !!options.length && !!options[0].is_toggled ? options[0] : null\n });\n };\n\n const handleRadioOnChange = (selectedOption: any) => () => {\n onConfigurationChange(id, {\n text: !!options.length ? options[0].value : '',\n option: selectedOption\n });\n };\n\n return areFilters ? (\n \n \n
    \n \n Texts are separated by commas\n \n
    \n
    \n \n \n \n {data[id].choices.map((option: any) => {\n return (\n \n \n \n \n \n \n {option.label}\n \n \n
    \n );\n })}\n \n ) : null;\n};\n\nexport default StringsListFilter;\n","import React, { useState, memo } from 'react';\nimport Chip from '@mui/material/Chip';\nimport TextField from '@material-ui/core/TextField';\nimport Autocomplete from '@mui/material/Autocomplete';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { REQUIRED_FILTERS } from 'pages/Settings/Notifications/SidePanel/utils';\nimport * as EmailValidator from 'email-validator';\nimport classNames from 'classnames';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\nconst useStyles = makeStyles({\n options: {\n fontSize: 12,\n fontFamily: 'Rubik'\n },\n deleteIcon: {\n display: 'none'\n }\n});\n\ninterface IInputChips {\n id: string;\n placeholder?: string;\n}\nconst AutoCompleteWithChips: React.FC = ({ id, placeholder }) => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n const {\n notificationData,\n onConfigurationChange\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n const [isValidMail, setIsValidMail] = useState(true);\n const classes = useStyles();\n\n const requiredFields: string[] = REQUIRED_FILTERS[notificationType as keyof typeof REQUIRED_FILTERS];\n const data = requiredFields.includes(id) ? notificationData : notificationData.filters;\n const selected = !!data && !!data[id] && !!data[id].length ? data[id] : [];\n\n const handleOnChange = (e: Event, id: string, value: any) => {\n if (isValidMail) {\n onConfigurationChange(id, value);\n } else {\n setIsValidMail(true);\n }\n };\n\n return (\n <>\n
    \n \n Type a valid email and click Enter\n \n
    \n handleOnChange(ev, id, value)}\n renderTags={(value: readonly string[], getTagProps) => {\n return value.map((option: string, index: number) => );\n }}\n onKeyDown={(ev: any) => {\n if (ev.key === 'Enter' && !EmailValidator.validate(ev.target.value)) {\n ev.defaultMuiPrevented = true;\n setIsValidMail(false);\n } else {\n setIsValidMail(true);\n }\n }}\n renderInput={params => {\n return (\n \n );\n }}\n />\n \n );\n};\n\nexport default memo(AutoCompleteWithChips);\n","import React, { useState, memo } from 'react';\nimport { Grid } from '@mui/material';\nimport CollapseButton from 'pages/Settings/Notifications/SidePanel/DropDownBox/CollapseButton/CollapseButton';\nimport RadioButtons from 'pages/Settings/Notifications/SidePanel/DropDownBox/RadioButtons/RadioButtons';\nimport Checkbox from 'pages/Settings/Notifications/SidePanel/DropDownBox/Checkbox/Checkbox';\nimport CheckboxImportance from 'pages/Settings/Notifications/SidePanel/DropDownBox/CheckboxImportance/CheckboxImportance';\nimport SliderBox from 'pages/Settings/Notifications/SidePanel/DropDownBox/SliderBox/SliderBox';\nimport Dates from 'pages/Settings/Notifications/SidePanel/DropDownBox/Dates/Dates';\nimport TextFilter from 'pages/Settings/Notifications/SidePanel/DropDownBox/TextFilter/TextFilter';\nimport NumberFilter from 'pages/Settings/Notifications/SidePanel/DropDownBox/NumberFilter/NumberFilter';\nimport NumbersListFilter from 'pages/Settings/Notifications/SidePanel/DropDownBox/NumbersListFilter/NumbersListFilter';\nimport StringsListFilter from 'pages/Settings/Notifications/SidePanel/DropDownBox/StringsListFilter/StringsListFilter';\nimport AutoCompleteWithChips from 'pages/Settings/Notifications/SidePanel/DropDownBox/AutoCompleteWithChips/AutoCompleteWithChips';\nimport Button from '@mui/material/Button';\nimport classNames from 'classnames';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Tooltip from '@material-ui/core/Tooltip';\n// import { REQUIRED_FILTERS } from 'pages/Settings/Notifications/SidePanel/utils';\n\nimport './DropDownBox.scss';\n\nconst useStyles = makeStyles({\n root: {\n minWidth: 30\n },\n textPrimary: {\n fontSize: 12,\n fontWeight: 400\n }\n});\n\ninterface IDropdownBox {\n id: string;\n label: string;\n type: string;\n isOpen?: boolean;\n isActive?: boolean;\n isClear?: boolean;\n isError?: boolean;\n}\n\nconst DropDownBox: React.FC = ({ id, label, type, isOpen, isActive, isClear, isError }) => {\n const [open, setOpen] = useState(isOpen);\n const [isHovered, setIsHovered] = useState(false);\n const { notificationType, actionMode } = useNotifications() as NotificationsContextType;\n const {\n changedNotificationData,\n onClear,\n clickedSubmit,\n dropdownBoxHeaderText,\n dropdownBoxHeaderTooltip\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n\n // const requiredFields: string[] = REQUIRED_FILTERS[notificationType as keyof typeof REQUIRED_FILTERS];\n const isHeaderText = !!dropdownBoxHeaderText && !!dropdownBoxHeaderText[id] && !!dropdownBoxHeaderText[id].length;\n const classes = useStyles();\n\n const handleDropDownClick = () => {\n setOpen(show => !show);\n };\n\n const handleClearOnClick = (ev: any) => {\n onClear([id]);\n ev.stopPropagation();\n };\n\n const contentByTypes = {\n radio: ,\n checkbox: ,\n importance: ,\n slider: ,\n textFilter: ,\n numberFilter: ,\n numbersListFilter: ,\n stringsListFilter: ,\n inputChips: ,\n dates: \n };\n\n const showClear = isClear && isHovered && isHeaderText && id !== 'type';\n\n let isRequired = !!clickedSubmit && !!isError;\n if (id === 'notification_type' || id === 'name') {\n isRequired = isRequired && !changedNotificationData[id];\n } else if (id === 'recipients') {\n isRequired =\n isRequired &&\n (!changedNotificationData['recipients'] || !changedNotificationData['recipients'].length) &&\n (changedNotificationData.channel_type === 0 || notificationType !== 'action_items');\n } else {\n isRequired = isRequired && changedNotificationData[id] === undefined;\n }\n\n return (\n <>\n \n setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={classNames('dropdownbox-header', {\n 'label-wrapper': !!open\n })}\n data-testid=\"notifications-dropdownbox-container\"\n >\n \n \n \n \n {!!dropdownBoxHeaderText && !!dropdownBoxHeaderText[id]\n ? `${label}: ${dropdownBoxHeaderText[id]}`\n : label}\n
    \n \n \n {showClear && (\n \n \n Clear\n \n \n )}\n \n \n \n \n \n \n {open && contentByTypes[type as keyof typeof contentByTypes]}\n \n \n \n );\n};\n\nexport default memo(DropDownBox);\n","import React from 'react';\nimport Divider from '@mui/material/Divider';\nimport Grid from '@mui/material/Grid';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\ninterface IBlockDivider {\n headerText?: string;\n}\nconst BlockDivider: React.FC = ({ headerText }) => {\n return (\n \n {headerText && (\n \n {headerText}\n \n )}\n \n \n \n \n );\n};\n\nexport default BlockDivider;\n","import React, { useState, useEffect } from 'react';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport Popover from '@mui/material/Popover';\nimport Button from '@mui/material/Button';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Grid from '@mui/material/Grid';\n// import Divider from '@mui/material/Divider';\nimport { Checkbox } from 'common/components/Icons/IconCheckbox/IconCheckbox';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\nimport './filters-menu.scss';\n\nconst useStyles = makeStyles({\n root: {\n minWidth: 40,\n fontSize: 12,\n fontWeight: 400\n },\n popoverRoot: {\n maxHeight: 400,\n minHeight: 105,\n padding: '15px 15px 0 15px',\n '& .checkbox': {\n display: 'flex',\n flexDirection: 'row',\n padding: '8px 0'\n // alignItems: 'center'\n }\n }\n});\n\nconst FiltersMenu = () => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const { notificationData, onApplyFilters } = useNotificationConfiguration() as NotificationConfigurationContextType;\n const [selectedFiltersIds, setSelectedFiltersIds] = useState([]);\n const areFilters = !!notificationData && !!notificationData.filters;\n const classes = useStyles();\n\n useEffect(() => {\n if (!!notificationData && !!notificationData.filters) {\n const selectedIds = Object.values(notificationData.filters)\n .filter((filter: any) => filter.is_toggled)\n .map((filter: any) => filter.id);\n\n setSelectedFiltersIds(selectedIds);\n }\n }, [notificationData]);\n\n const filterOnClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleOnChange = (selectedOption: any) => () => {\n const updatedIds = Object.values(notificationData.filters).reduce((all: any, filter: any) => {\n if (filter.id === selectedOption.id && !selectedFiltersIds.includes(filter.id)) {\n return [...all, filter.id];\n }\n if (filter.id !== selectedOption.id && selectedFiltersIds.includes(filter.id)) {\n return [...all, filter.id];\n }\n return all;\n }, []);\n setSelectedFiltersIds(updatedIds);\n };\n\n const applyOnClick = () => {\n setAnchorEl(null);\n onApplyFilters(selectedFiltersIds);\n };\n\n return (\n
    \n \n + Add Filter\n \n \n \n {/* Search\n \n \n */}\n \n {!!areFilters &&\n Object.values(notificationData.filters).map((filter: any) => (\n \n \n \n \n
    \n {filter.label}\n
    \n
    \n \n \n ))}\n \n \n \n \n {selectedFiltersIds && !!selectedFiltersIds.length && (\n \n {`${selectedFiltersIds.length} Selected`}\n \n )}\n \n \n \n Apply\n \n \n \n \n \n \n \n );\n};\n\nexport default FiltersMenu;\n","import React, { useState, useEffect, useRef, memo } from 'react';\nimport Grid from '@mui/material/Grid';\nimport DropDownBox from 'pages/Settings/Notifications/SidePanel/DropDownBox/DropDownBox';\nimport BlockDivider from 'pages/Settings/Notifications/SidePanel/BlockDivider/BlockDevider';\nimport OutlinedInput from '@mui/material/OutlinedInput';\nimport FormControl from '@mui/material/FormControl';\nimport {\n useNotifications,\n NotificationsContextType,\n DROPDOWNBOX_TYPE\n} from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport FiltersMenu from 'pages/Settings/Notifications/SidePanel/FiltersMenu/FiltersMenu';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\nconst FilterItem = ({ filter }: { filter: any }) => {\n const { onDeleteFIlter } = useNotificationConfiguration() as NotificationConfigurationContextType;\n\n const handleFilterDelete = (id: string) => () => {\n onDeleteFIlter([id]);\n };\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nconst NotificationConfigurationsContent = () => {\n const [toggledFilters, setToggledFilters] = useState(null);\n const [origNotificationName, setOrigNotificationName] = useState(null);\n const { notificationType } = useNotifications() as NotificationsContextType;\n const [notificationName, setNotificationName] = useState('');\n const [channelDropdown, setChannelDropdown] = useState([]);\n const {\n notificationData,\n changedNotificationData,\n onConfigurationChange,\n clickedSubmit,\n setClickedSubmit\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n const refName = useRef(null);\n\n // const allNames = !!allNotifications && allNotifications.map((notification: any) => notification.name.toLowerCase());\n\n const handleNotificationNameOnChange = (event: React.ChangeEvent) => {\n setNotificationName(event.target.value);\n setClickedSubmit(false);\n onConfigurationChange('name', event.target.value);\n };\n\n useEffect(() => {\n if (!!notificationData) {\n if (!!Object.keys(notificationData.filters).length) {\n const toggled = Object.values(notificationData.filters).filter((filter: any) => filter.is_toggled);\n setToggledFilters(toggled);\n } else {\n setToggledFilters(null);\n }\n if (notificationData.name !== '') {\n setNotificationName(notificationData.name);\n }\n }\n }, [notificationData]);\n\n useEffect(() => {\n if (!!changedNotificationData) {\n setNotificationName(changedNotificationData?.name || '');\n if (!origNotificationName) {\n setOrigNotificationName(changedNotificationData?.name || '');\n }\n }\n }, [changedNotificationData, origNotificationName]);\n\n useEffect(() => {\n if (notificationType === 'action_items' && !!Object.keys(changedNotificationData).length) {\n setChannelDropdown([]);\n if (changedNotificationData.channel_type?.channel_type === 0 || changedNotificationData.channel_type === 0) {\n //EMAIL\n const comp = (\n \n \n \n );\n setChannelDropdown(comp);\n return;\n }\n if (\n changedNotificationData.channel_type?.channel_type === 3 ||\n changedNotificationData.channel_type?.channel_type === 4 ||\n changedNotificationData.channel_type === 3 ||\n changedNotificationData.channel_type === 4\n ) {\n // JIRA OR SERVICENOW\n const comp = (\n \n \n \n );\n setChannelDropdown(comp);\n return;\n }\n }\n }, [notificationType, changedNotificationData]);\n\n // useEffect(() => {\n // if (!!notificationData) {\n // setNotificationName(notificationData?.notification_name || '');\n // if (!origNotificationName) {\n // setOrigNotificationName(notificationData?.notification_name || '');\n // }\n // }\n // }, [notificationData, origNotificationName]);\n\n // const isNameExist =\n // clickedSubmit &&\n // allNames.includes(notificationName.toLowerCase()) &&\n // origNotificationName?.toLowerCase() !== notificationName.toLowerCase();\n // const isError = clickedSubmit && (!notificationName.trim() || isNameExist);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {/* {isNameExist && (\n \n Notification name already exists\n \n )} */}\n \n \n \n\n \n \n \n {notificationType === 'action_items' && changedNotificationData.notification_type === 1 && (\n <>\n \n \n \n {channelDropdown}\n \n )}\n {(notificationType !== 'action_items' ||\n (notificationType === 'action_items' && changedNotificationData.notification_type !== 1)) && (\n \n \n \n )}\n \n \n \n {!!notificationData && !Object.keys(notificationData.filters).length && (\n \n No Filters\n \n )}\n {!!toggledFilters && !!toggledFilters.length && (\n \n \n \n {toggledFilters.map((filter: any) => (\n \n ))}\n \n \n \n )}\n {!!notificationData && !!Object.keys(notificationData.filters).length && (\n \n \n \n )}\n \n );\n};\n\nexport default memo(NotificationConfigurationsContent);\n","import React from 'react';\nimport Grid from '@mui/material/Grid';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport NotificationConfigurationsContent from 'pages/Settings/Notifications/SidePanel/NotificationConfigurations/NotificationConfigurationsContent/NotificationConfigurationsContent';\nimport {\n useNotifications,\n NotificationsContextType,\n NOTIFICATION_OPTIONS\n} from 'pages/Settings/Notifications/NotificationsContext';\nimport {\n useNotificationConfiguration,\n NotificationConfigurationContextType\n} from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport { Button } from 'common/components/Button/Button';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\n\nimport './notification-configurations.scss';\n\nconst PanelHeader = () => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n\n return (\n \n \n \n {NOTIFICATION_OPTIONS[notificationType as keyof typeof NOTIFICATION_OPTIONS].icon}\n \n \n {NOTIFICATION_OPTIONS[notificationType as keyof typeof NOTIFICATION_OPTIONS].title}\n \n \n \n \n \n {NOTIFICATION_OPTIONS[notificationType as keyof typeof NOTIFICATION_OPTIONS].newTitle}\n \n \n \n \n );\n};\n\nconst PanelFooter = () => {\n const { setIsOpen } = useNotifications() as NotificationsContextType;\n const {\n setClickedSubmit,\n onSaveNotification\n } = useNotificationConfiguration() as NotificationConfigurationContextType;\n\n const handleOnCloseClick = () => {\n setIsOpen(false);\n setClickedSubmit(false);\n };\n\n const handleOnCreateClick = () => {\n onSaveNotification();\n };\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nconst NotificationConfigurations = () => {\n const { notificationType } = useNotifications() as NotificationsContextType;\n const { notificationData, isLoading } = useNotificationConfiguration() as NotificationConfigurationContextType;\n\n return isLoading ? (\n \n ) : (\n \n \n \n \n {!!notificationData && !!notificationType && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n \n \n
    \n );\n};\n\nexport default NotificationConfigurations;\n","import React, { useEffect, memo } from 'react';\nimport Drawer from '@mui/material/Drawer';\nimport AddNotificationTypePanel from 'pages/Settings/Notifications/SidePanel/AddNotificationTypePanel/AddNotificationTypePanel';\nimport ViewNotificationPanel from 'pages/Settings/Notifications/SidePanel/ViewNotificationPanel/ViewNotificationPanel';\nimport { useNotifications, NotificationsContextType } from 'pages/Settings/Notifications/NotificationsContext';\nimport NotificationConfigurations from 'pages/Settings/Notifications/SidePanel/NotificationConfigurations/NotificationConfigurations';\nimport { NotificationConfigurationProvider } from 'pages/Settings/Notifications/SidePanel/NotificationConfigurationContext';\nimport classNames from 'classnames';\nimport { Common } from '../../../../common/services/common.service';\n\nimport './side-panel.scss';\n\nconst SidePanelContentByMode = () => {\n const { actionMode } = useNotifications() as NotificationsContextType;\n\n const mapContentByType = {\n add: ,\n view: ,\n edit: ,\n new: \n };\n return !!actionMode ? mapContentByType[actionMode as keyof typeof mapContentByType] : null;\n};\n\ninterface ISidePanel {\n onPanelClose: () => void;\n isOpen: boolean;\n}\n\nconst drawerWidth = 500;\n\nconst SidePanel: React.FC = ({ onPanelClose }) => {\n const { actionMode, isOpen } = useNotifications() as NotificationsContextType;\n\n useEffect(() => {\n Common.displayHelp(false);\n\n return () => {\n Common.displayHelp(true);\n };\n }, []);\n\n return (\n
    \n \n {actionMode !== 'view' && (\n \n )}\n {isOpen && (\n \n \n \n )}\n \n
    \n );\n};\n\nexport default memo(SidePanel);\n","import React, { useState, useEffect } from 'react';\nimport NotificationsHeader from './NotificationsHeader/NotificationsHeader';\nimport NotificationsList from './NotificationsList/NotificationsList';\nimport { IconSearchNoResults } from 'common/components/Icons/IconSearchNoResults/IconSearchNoResults';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { Common } from 'common/services/common.service';\nimport EmptyState from './EmptyState/EmptyState';\nimport { useNotifications, NotificationsContextType, NOTIFICATIONS_LIMIT } from './NotificationsContext';\nimport SidePanel from './SidePanel/SidePanel';\nimport { useDispatch } from 'react-redux';\nimport { showError } from 'features/AlertSlice';\nimport { loadList } from 'features/IntegrationsSlice';\nimport Fade from '@mui/material/Fade';\n\nimport classNames from 'classnames';\n\nimport './notifications.scss';\n\nconst Notifications = () => {\n const {\n allNotifications,\n filteredNotifications,\n isOpen,\n setIsOpen,\n actionMode,\n setActionMode,\n setSelectedNotification,\n isLoading,\n notificationsAmount\n } = useNotifications() as NotificationsContextType;\n const [showMask, setShowMask] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(loadList());\n }, [dispatch]);\n\n useEffect(() => {\n if (!isOpen) {\n setSelectedNotification(null);\n setActionMode(null);\n setShowMask(false);\n }\n Common.displayHelp(!isOpen);\n }, [isOpen, setSelectedNotification, setActionMode]);\n\n useEffect(() => {\n if (actionMode === 'add' || actionMode === 'new') {\n setShowMask(true);\n setSelectedNotification(null);\n }\n if (actionMode === 'edit') {\n setShowMask(true);\n }\n }, [actionMode, setSelectedNotification]);\n\n const onAdd = () => {\n if (!!notificationsAmount || notificationsAmount === 0) {\n if (notificationsAmount < NOTIFICATIONS_LIMIT) {\n setIsOpen(true);\n setActionMode('add');\n } else {\n dispatch(showError('Notifications limit reached'));\n }\n }\n };\n\n const handleOnPanelClose = () => {\n setIsOpen(false);\n };\n // const handleOnPanelClose = useCallback(() => {\n // setIsOpen(false);\n // }, []);\n\n const showOrder = !!allNotifications && allNotifications.length > 1;\n\n return (\n
    \n \n \n {isLoading && }\n {!isLoading && !!filteredNotifications?.length && (\n \n
    \n
    \n \n
    \n
    \n
    \n )}\n {!isLoading && allNotifications?.length === 0 && }\n {!isLoading && !!allNotifications?.length && !filteredNotifications?.length && (\n
    \n \n
    \n )}\n
    \n \n \n );\n};\n\nexport default Notifications;\n","import { Integrations } from './Integrations/Integrations';\nimport Notifications from './Notifications/Notifications';\nimport { NotificationsProvider } from 'pages/Settings/Notifications/NotificationsContext';\nimport classNames from 'classnames';\n\nimport './customSettingsPages.scss';\n\nexport function CustomSettingsPages(props: any) {\n const getCustomPageComponent = () => {\n switch (props.page) {\n case 'integrations':\n return ;\n case 'notifications':\n return (\n \n \n \n );\n }\n };\n\n return
    {getCustomPageComponent()}
    ;\n}\n","import { Common, updateHeader } from 'common/services/common.service';\nimport { useEffect, useState } from 'react';\nimport { SidePanel } from './SidePanel/SidePanel';\nimport { Grid } from 'common/components/grid/Grid';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { IRootColumnPicker } from 'common/interfaces/interface';\nimport { AppDispatch, IReduxState } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport {\n removeAllRows,\n resetQueryString,\n setConfirmationParams,\n setDeletePromptParams,\n setFields,\n setInitialPath,\n setAddFiltersGridRows\n} from 'features/GridSlice';\nimport { setSubsidiarySelectedId, setSubsidiariesEditMode, toggleSubsidiariesPopup } from 'features/SubsidiariesSlice';\nimport { setMetaGroupSelectedId, setMetaGroupEditMode, toggleMetaGroupPopup } from 'features/GroupsSlice';\nimport { UserManagementActions } from './UserManagement/UserManagementActions/UserManagementActions';\nimport { EmailDomainsActions } from './EmailDomains/EmailDomainsActions/EmailDomainsActions';\nimport { IpRestrictionsActions } from './IpRestrictions/IpRestrictionsActions/IpRestrictionsActions';\nimport { FilterGroupsActions } from './FilterGroups/FilterGroupsActions/FilterGroupsActions';\nimport { ManageAssetsActions } from './ManageAssets/ManageAssetsActions/ManageAssetsActions';\nimport { SubsidiariesActions } from './Subsidiaries/SubsidiariesActions/SubsidiariesActions';\nimport MetaGroupsActions from './MetaGroups/MetaGroupsActions';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { DeletePromptPopup } from './DeletePromptPopup/DeletePromptPopup';\nimport { APITokensActions } from './APITokens/APITokensActions/APITokensActions';\nimport { IpRangesActions } from './IpRanges/IpRangesActions/IpRangesActions';\nimport { CustomPortsActions } from './CustomPorts/CustomPortsActions/CustomPortsActions';\nimport { ConfirmationPopup } from './ConfirmationPopup/ConfirmationPopup';\nimport { Menu } from './SidePanel/config';\nimport { CustomSettingsPages } from './CustomSettingsPages';\nimport { PathNames } from 'common/constants/pathNames';\nimport { Paths } from 'common/constants/paths';\nimport { setColumnPicker, setShowColumnPicker } from 'features/columnPickerSlice';\n\nimport './Setting.scss';\nimport { Redirect } from 'react-router-dom';\n\nexport interface ISettingsItems {\n rows?: any;\n path?: string;\n // columnPicker: IColumnPicker[];\n // showColumnPicker: boolean;\n isMoreButton: boolean;\n isCSVDownloadable: boolean;\n count: number;\n columns: Array;\n selectTab: string;\n rootPath: string;\n identifier: string;\n}\n\n// interface INotificationItems {\n// rows: any;\n// }\n\nexport function Settings(props: any) {\n const dispatch: AppDispatch = useDispatch();\n const [data, setData] = useState(initData());\n const { user } = useSelector((state: IReduxState) => state.login);\n // const [notificationsData, setNotificationsData] = useState(\n // null\n // );\n const [tab, setTab] = useState(props.match.params.tab || '');\n const [category, setCategory] = useState(props.match.params.category);\n const { deletePromptParams, confirmationParams } = useSelector((state: IReduxState) => state.grid);\n const { columnPicker } = useSelector((state: IReduxState) => state.columnPicker);\n const { isLoggedIn } = useSelector((state: any) => state.login);\n const [pageType, setPageType] = useState(getPageType());\n\n const getColumnsPath = () => {\n if (tab) {\n return `settings/${category}/${tab}/columns/`;\n }\n return `settings/${category}/columns/`;\n };\n\n const getRowsPath = () => {\n if (tab) {\n return `settings/${category}/${tab}/`;\n }\n return `settings/${category}/`;\n };\n\n const prepareHeaderText = () => {\n const components = ['Settings'];\n const _category = Common.capitalizeFirstLetterOfEachWord(category);\n const _tab = Common.capitalizeFirstLetterOfEachWord(tab);\n if (_category) {\n components.push(_category);\n }\n if (_tab) {\n components.push(_tab);\n }\n let text = components.join(' / ');\n return text;\n };\n\n const getDeletePath = () => {\n const _tab = props.match.params.tab;\n const _category = props.match.params.category;\n\n switch (_tab || _category) {\n case 'subsidiaries':\n return Paths[PathNames.subsidiaries];\n case 'meta-groups':\n return Paths[PathNames.metaGroups];\n default:\n return '';\n }\n };\n const handleMenuItemClick = (rowData: any, option: any, type: string, event: React.MouseEvent) => {\n event.stopPropagation();\n if (option.id === 'delete') {\n dispatch(type === 'subsidiaries' ? setSubsidiarySelectedId(rowData.id) : setMetaGroupSelectedId(rowData.id));\n\n dispatch(\n setDeletePromptParams({\n path: getDeletePath(),\n index: null,\n ids: [rowData.id],\n message: `Are you sure you would like to remove this ${\n type === 'subsidiaries' ? 'subsidiariy' : 'meta group'\n }?`\n })\n );\n }\n if (option.id === 'edit') {\n if (type === 'subsidiaries') {\n dispatch(setSubsidiariesEditMode(true));\n dispatch(setSubsidiarySelectedId(rowData.id));\n dispatch(toggleSubsidiariesPopup(true));\n } else if (type === 'metaGroups') {\n dispatch(setMetaGroupEditMode(true));\n dispatch(setMetaGroupSelectedId(rowData.id));\n dispatch(toggleMetaGroupPopup(true));\n }\n }\n };\n\n const getData = () => {\n setData(initData());\n dispatch(removeAllRows());\n\n RestApi.getData(getColumnsPath()).subscribe((columns: IRootColumnPicker) => {\n let fields = ColumnsManage.checkGridColumnsToDisplay(columns.data);\n dispatch(setFields(fields));\n dispatch(setInitialPath(getRowsPath()));\n\n // IN CASE CUSTOM_GROUPS, ADDING FILTER type__in=1 (the API returns groups + subsidiaries, \\\n // need to get only the groups without subsidiaries)\n if (props.match.params.category === 'groups') {\n dispatch(setAddFiltersGridRows('type__in=1'));\n }\n dispatch(setColumnPicker(columns.data));\n dispatch(setShowColumnPicker(columns.is_displayable));\n\n setData({\n rows: [],\n // columnPicker: columns.data || [],\n // showColumnPicker: columns.is_displayable,\n isMoreButton: false,\n isCSVDownloadable: columns.is_csv_downloadable,\n count: 0,\n selectTab: '',\n identifier: columns.identifier_field,\n columns: ColumnsManage.createColumns(\n columns.identifier_field,\n columns.data || [],\n {\n page: 'settings',\n category: category,\n tab: tab\n },\n { menuItemOnClick: handleMenuItemClick }\n ),\n rootPath: getRowsPath()\n });\n });\n };\n\n // const getNotificationsData = () => {\n // setNotificationsData(mock);\n // };\n\n useEffect(() => {\n setTab(props.match.params.tab || '');\n setCategory(props.match.params.category);\n setPageType(getPageType());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.match.params]);\n\n useEffect(() => {\n dispatch(setInitialPath(removeAllRows()));\n if (pageType === 'grid') {\n getData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tab, category]);\n\n useEffect(() => {\n if (isLoggedIn) {\n updateHeader.sendHeaderText(prepareHeaderText());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLoggedIn]);\n\n useEffect(() => {\n dispatch(resetQueryString());\n return () => {\n dispatch(removeAllRows());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tab, category]);\n\n useEffect(() => {\n dispatch(resetQueryString());\n return () => {\n dispatch(removeAllRows());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n function getPageType(): string {\n const pathname = window.location.pathname;\n let type: string = '';\n for (let item in Menu) {\n if (Menu[item].path) {\n if (Menu[item].path === pathname) {\n type = Menu[item].type;\n }\n } else {\n for (let subitem in Menu[item]) {\n if (Menu[item][subitem].path === pathname) {\n type = Menu[item][subitem].type;\n }\n }\n }\n }\n return type;\n }\n\n function initData(): ISettingsItems {\n return {\n rows: [],\n // columnPicker: [],\n // showColumnPicker: false,\n isMoreButton: true,\n isCSVDownloadable: false,\n count: 0,\n columns: [],\n selectTab: '',\n rootPath: '',\n identifier: ''\n };\n }\n\n // const handleMenuClick = (event: React.MouseEvent) => {\n // setAnchorEl(event.currentTarget);\n // event.stopPropagation();\n // };\n\n // const handleMenuItemClick = (option: any) => (event: React.MouseEvent) => {\n // setAnchorEl(null);\n // if (option.id === 'delete') {\n // setShowDeletePopup(true);\n // }\n // if (option.id === 'edit') {\n // onNotificationItemMenuClick(notification, 'edit');\n // }\n // };\n\n const getActionsComponent = (_props: any) => {\n const _tab = props.match.params.tab;\n const _category = props.match.params.category;\n const hasActions = columnPicker.filter((d: any) => d.name === 'actions').length;\n if (!hasActions) {\n return
    ;\n }\n\n switch (_tab || _category) {\n case 'user-management':\n return ;\n case 'ip-restrictions':\n return ;\n case 'domain-access-restrictions':\n return ;\n case 'groups':\n return ;\n case 'meta-groups':\n return ;\n case 'manage-fqdns':\n return ;\n case 'subsidiaries':\n return ;\n case 'tokens':\n return ;\n case 'ip-ranges':\n return ;\n case 'custom-ports':\n return ;\n default:\n return
    ;\n }\n };\n\n const showDeletePopup = !!deletePromptParams.category || !!deletePromptParams.path;\n const extraProps = {\n ...(!!deletePromptParams.path ? { path: deletePromptParams.path } : {})\n };\n return (\n
    \n {user.is_mssp_user && !Common.getParamFromUrl('account') && }\n \n dispatch(setDeletePromptParams({}))}>\n dispatch(setDeletePromptParams({}))} {...extraProps} />\n \n dispatch(setConfirmationParams({}))}>\n dispatch(setConfirmationParams({}))} />\n \n
    \n {pageType === 'grid' && !!data.columns.length && (\n
    \n getActionsComponent(props)}\n identifier={data.identifier}\n initialState={{\n pinnedColumns: { right: ['actions'] }\n }}\n />\n
    \n )}\n {pageType === 'custom' && }\n
    \n {/* */}\n
    \n );\n}\n","import React from 'react';\nimport { Divider, Grid } from '@mui/material';\nimport { Common } from 'common/services/common.service';\nimport { Importance } from '@cyberpion/cyberpion-ui';\nimport './panelSideHeader.scss';\n\ninterface IPanelSideHeader {\n panelData: any;\n}\n\nconst PanelSideHeader: React.FC = ({ panelData }) => {\n const { asset, first_seen: discoveryDate, risk_score: riskScore, importance } = panelData;\n const color = Common.getColorByUrgency(riskScore?.type);\n\n const isRiskScore =\n !!panelData.risk_score && (panelData.risk_score.risk_score === 0 || !!panelData.risk_score.risk_score);\n\n return (\n \n \n {asset}\n \n {discoveryDate && (\n \n {`Discovery Date: ${discoveryDate}`}{' '}\n \n )}\n {isRiskScore && (\n <>\n \n \n \n \n \n \n \n \n Asset Risk\n \n \n {riskScore?.risk_score}\n \n \n \n \n {importance && importance.importance && (\n \n \n Asset Importance\n \n \n \n \n \n )}\n \n \n \n \n )}\n \n );\n};\n\nexport default PanelSideHeader;\n","import React, { useState } from 'react';\nimport { Collapse, Grid } from '@mui/material';\nimport { useLocation } from 'react-router-dom';\nimport { addHeaders } from 'common/services/rest-api.service';\n// import { Spinner } from \"common/components/spinner/Spinner\";\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { texts } from '../PanelSideBody/PanelSideBody';\nimport { env } from 'env';\n\nimport './collapseFields.scss';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\ninterface ICollapseFields {\n collapseItem: string;\n}\n\nconst CollapseFields: React.FC = ({ collapseItem }) => {\n const [isCollapse, setIsCollapse] = useState(false);\n const [isLoading, setisLoading] = useState(false);\n const [collapseItemData, setCollapseItemData] = useState(null);\n const location = useLocation();\n const isInternal = location.pathname.includes('internalAssets');\n\n const fetchCollapseItem = async () => {\n try {\n const url = `${env.REACT_APP_BASE_URL}discovery/${\n isInternal ? 'org-assets' : 'digital-supply-chain'\n }/${collapseItem}/ip-info/`;\n const response = await fetch(url, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n });\n const json = await response.json();\n\n if (response.ok) {\n setCollapseItemData(json);\n } else {\n setCollapseItemData({ error: 'N/A' });\n }\n setisLoading(false);\n setIsCollapse(toggle => !toggle);\n } catch (err) {\n setisLoading(false);\n }\n };\n const handleToggle = () => {\n if (!isCollapse) {\n setisLoading(true);\n fetchCollapseItem();\n } else {\n setIsCollapse(toggle => !toggle);\n }\n };\n return (\n \n \n \n \n IP\n \n \n {collapseItem}\n \n \n \n \n {isLoading ? : }\n \n \n {!isLoading &&\n collapseItemData &&\n Object.keys(collapseItemData).length > 0 &&\n Object.keys(collapseItemData)\n .filter(\n key =>\n (!Array.isArray(collapseItemData[key]) && !!collapseItemData[key] && key !== 'fqdns') ||\n (Array.isArray(collapseItemData[key]) && collapseItemData[key].length > 0)\n )\n .map((key, index) => (\n \n \n {texts[key as keyof typeof texts]}\n \n \n {Array.isArray(collapseItemData[key]) ? collapseItemData[key].join(', ') : collapseItemData[key]}\n \n \n ))}\n \n \n );\n};\n\nexport default CollapseFields;\n","import React, { useState } from 'react';\nimport './CollapsedList.scss';\nimport classNames from 'classnames';\n\nconst CollapsedList = ({ list, className }: any) => {\n const [expand, setExpand] = useState(false);\n const printKeyValue = (obj: any) => {\n const _html: JSX.Element[] = [];\n Object.keys(obj).forEach((item: string) => {\n _html.push(\n
  • \n {item}: {obj[item]}\n
  • \n );\n });\n return _html;\n };\n\n return (\n
    \n
      {printKeyValue(list)}
    \n {Object.keys(list).length > 2 ? (\n setExpand(!expand)}>{expand ? 'Collapse' : 'Show All'}\n ) : (\n ''\n )}\n
    \n );\n};\n\nexport default CollapsedList;\n","import React, { useState } from 'react';\nimport './CollaspsedDiagram.scss';\nimport classNames from 'classnames';\n\nconst CollaspsedDiagram = ({ children }: any) => {\n const [expand, setExpand] = useState(false);\n\n return (\n
    \n
    {children}
    \n setExpand(!expand)}>{expand ? 'Collapse' : 'Show All'}\n
    \n );\n};\n\nexport default CollaspsedDiagram;\n","import React, { useState } from 'react';\nimport { Divider, Grid } from '@mui/material';\nimport CollapseFields from '../CollapseFields/CollapseFields';\nimport './panelSideBody.scss';\nimport { Text, TreeDiagram } from '@cyberpion/cyberpion-ui';\nimport CollapsedList from '../CollapsedList/CollapsedList';\nimport classNames from 'classnames';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\nimport CollaspsedDiagram from '../CollaspsedDiagram/CollapsedDiagram';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nexport const texts = {\n registrar: 'Registrar',\n registrant_organization: 'Registrant Organization',\n registrant_contact_name: 'Registrant Contact Name',\n whois_name_servers: 'WHOIS Name Servers',\n whois_status: 'WHOIS Status',\n domain_expiration_date: 'Domain Expiration Date',\n whois_emails: 'WHOIS Emails',\n alexa_rank: 'Alexa Rank',\n majestic_rank: 'Majestic Rank',\n umbrella_rank: 'Umbrella Rank',\n ip: 'IP',\n ip_network: 'IP Network',\n ip_network_name: 'IP Network Name',\n ip_network_org_id: 'IP Network Org ID',\n ip_network_org_name: 'IP Network Org Name',\n ip_network_country: 'IP Network Country',\n ip_network_source: 'IP Network Source',\n open_ports: 'Open Ports',\n cloud_provider: 'Cloud Provider',\n category: 'Category',\n type: 'Cloud Asset Type',\n region: 'Region',\n is_public_facing: 'Public Facing',\n ports: 'Ports',\n custom_domains: 'Custom Domains',\n internet_paths: 'Internet Paths',\n internal_networks: 'Internal Networks',\n tags: 'Cloud Tags',\n environment_variables: 'Environment Variables',\n subscription_id: 'Subscription ID',\n resource_id: 'Resource ID'\n};\ninterface IPanelSideBody {\n panelData: any;\n type: string;\n tags: string[];\n}\n\nconst fields = [\n 'registrar',\n 'registrant_organization',\n 'registrant_contact_name',\n 'whois_name_servers',\n 'whois_status',\n 'domain_expiration_date',\n 'whois_emails',\n 'alexa_rank',\n 'majestic_rank',\n 'umbrella_rank',\n 'ip_network',\n 'ip_network_country',\n 'ip_network_name',\n 'ip_network_org_id',\n 'ip_network_org_name',\n 'ip_network_source',\n 'open_ports',\n 'cloud_provider',\n 'category',\n 'type',\n 'region',\n 'is_public_facing',\n 'ports',\n 'custom_domains',\n 'internet_paths',\n 'internal_networks',\n 'tags',\n 'environment_variables',\n 'subscription_id',\n 'resource_id'\n];\n\nconst TAGS_TO_SHOW = 3;\n\nconst PanelSideBody: React.FC = ({ panelData, type, tags }) => {\n const [isTagsExpand, setIsTagsExpand] = useState(false);\n\n const areIPs = panelData && panelData.ips && panelData.ips.length > 0;\n const areFQDNs = panelData && panelData.fqdns && panelData.fqdns.length > 0;\n const subItemsData = areIPs ? panelData.ips : panelData.fqdns;\n const getPanelBodyTitle = () => {\n if (type === 'cloud_asset') {\n return 'GENERAL INFO';\n }\n return type === 'ip' ? 'IP INFO' : 'APEX DOMAIN INFO';\n };\n\n const handleExpand = () => {\n setIsTagsExpand(expand => !expand);\n const ele = document.querySelector('.panel-body-tags');\n if (!!ele) ele.classList.toggle('collapsed');\n };\n\n const isObject = (obj: any) => {\n return typeof obj === 'object' && !Array.isArray(obj) && obj !== null;\n };\n\n const shouldDisplayTitle = (data: any) => {\n if (!data) {\n return false;\n }\n if (Array.isArray(data) && !data.length) {\n return false;\n }\n if (isObject(data) && !Object.keys(data).length) {\n return false;\n }\n return true;\n };\n\n return (\n \n \n {getPanelBodyTitle()}\n {panelData.cloud_resource_url ? (\n \n \n \n \n }\n />\n ) : (\n ''\n )}\n \n {!!tags && !!tags.length && (\n <>\n \n {`Tags (${tags.length})`}\n \n {tags.map((tag: any, index) => (\n
    \n {typeof tag === 'string' ? tag : tag?.name}\n
    \n ))}\n
    \n {tags.length > TAGS_TO_SHOW && (\n
    \n {isTagsExpand ? 'Show Less' : 'Show All'}\n
    \n )}\n \n )}\n \n {fields\n .filter(field => !!panelData[field] && shouldDisplayTitle(panelData[field]))\n .map(field => (\n \n \n\n \n \n {texts[field as keyof typeof texts]}\n {['environment_variables', 'tags'].includes(field)\n ? ` (${Object.keys(panelData[field]).length})`\n : ''}\n \n\n \n {field === 'internet_paths' ? (\n \n \n \n ) : field === 'internal_networks' ? (\n \n \n \n ) : typeof panelData[field] === 'boolean' ? (\n panelData[field] ? (\n 'Yes'\n ) : (\n 'No'\n )\n ) : Array.isArray(panelData[field]) ? (\n panelData[field].join(', ')\n ) : isObject(panelData[field]) ? (\n \n ) : (\n panelData[field]\n )}\n \n \n \n ))}\n \n \n\n {panelData && (areIPs || areFQDNs) && (\n \n \n IP INFO\n \n \n {subItemsData.map((subItem: string) => (\n \n \n \n \n ))}\n \n )}\n
    \n );\n};\n\nexport default PanelSideBody;\n","import React from 'react';\nimport { Divider, Grid } from '@mui/material';\n\nimport './mobilePanelSideBody.scss';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nexport const texts = {\n version: 'Version',\n type: 'Type',\n url: 'Store URL'\n};\ninterface IPanelSideBody {\n panelData: any;\n}\nconst MobilePanelSideBody: React.FC = ({ panelData }) => {\n const fields = ['version', 'type', 'url'];\n\n return (\n \n \n {fields\n .filter(field => !!panelData[field])\n .map(field => (\n \n \n\n \n \n {texts[field as keyof typeof texts]}\n \n \n {field !== 'url' ? panelData[field] : }\n \n \n \n ))}\n \n \n );\n};\n\nexport default MobilePanelSideBody;\n","import { useState } from 'react';\nimport { Collapse } from './components/collapse/Collapse';\nimport PanelSideHeader from './components/PanelSideHeader/PanelSideHeader';\nimport PanelSideBody from './components/PanelSideBody/PanelSideBody';\nimport MobilePanelSideBody from './components/MobilePanelSideBody/MobilePanelSideBody';\nimport './panelSide.scss';\n\nconst PanelSide = ({ data: panelData, isMobileAsset }: any) => {\n const [togglePanel, setTogglePanel] = useState(true);\n const { type } = panelData;\n\n function onTogglePanel() {\n setTogglePanel(!togglePanel);\n }\n\n function isPanelOpen() {\n let closed: string = 'panelSide-closed';\n let open: string = 'panelSide-open';\n return togglePanel ? open : closed;\n }\n\n return panelData && ((!isMobileAsset && panelData[type]) || isMobileAsset) ? (\n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {!!isMobileAsset ? (\n \n ) : (\n \n )}\n
    \n
    \n
    \n ) : null;\n};\n\nexport default PanelSide;\n","import React from 'react';\nexport class IconAddTag extends React.Component {\n render() {\n return (\n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nexport class IconExportCSV extends React.Component {\n render() {\n return (\n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nexport class IconRemoveTag extends React.Component {\n render() {\n return (\n \n \n \n \n \n \n );\n }\n}\n","import { IconAddTag } from 'common/components/Icons/IconAddTag/IconAddTag';\nimport { IconExportCSV } from 'common/components/Icons/IconExportCSV/IconExportCSV';\nimport { IconRemoveTag } from 'common/components/Icons/IconRemoveTag/IconRemoveTag';\nimport { PathNames } from 'common/constants/pathNames';\ninterface ITabset {\n [key: string]: ITab;\n}\ninterface ITab {\n title: string;\n key: string;\n link: string;\n IconComponent: any;\n permissionOpen: boolean;\n active: boolean;\n showSummary: boolean;\n columnPickerPath: string;\n gridPath: string;\n tabPath: string;\n count: number;\n lockedTo?: string[];\n featureFlag?: string;\n}\nexport const TABSET: ITabset = {\n internalAssets: {\n title: 'Org Assets',\n key: 'internal_assets',\n IconComponent: null,\n link: '/pages/discovery/internalAssets',\n permissionOpen: true,\n active: false,\n showSummary: true,\n columnPickerPath: PathNames.internalAssetsColumns,\n gridPath: PathNames.internalAssets,\n tabPath: PathNames.internalAssetsSummary,\n count: 0\n },\n digitalSupplyChain: {\n title: 'Digital Supply Chain',\n key: 'external_assets',\n IconComponent: null,\n link: '/pages/discovery/digitalSupplyChain',\n permissionOpen: true,\n active: false,\n showSummary: true,\n columnPickerPath: PathNames.digitalSupplyChainColumns,\n gridPath: PathNames.digitalSupplyChain,\n tabPath: PathNames.digitalSupplyChainSummary,\n count: 0\n },\n publicCloud: {\n title: 'Cloud Integration',\n key: 'cloud_assets',\n IconComponent: null,\n link: '/pages/discovery/publicCloud/?filters=%7B\"is_public_facing\"%3A1%7D',\n permissionOpen: true,\n active: false,\n showSummary: false,\n columnPickerPath: PathNames.publicCloudColumns,\n gridPath: PathNames.publicCloud,\n tabPath: '',\n count: 0,\n featureFlag: 'isCcv'\n },\n loginAssets: {\n title: 'Login Assets',\n key: 'login_assets',\n IconComponent: null,\n link: '/pages/discovery/loginAssets',\n permissionOpen: true,\n active: false,\n showSummary: true,\n columnPickerPath: PathNames.loginAssetsColumns,\n gridPath: PathNames.loginAssets,\n tabPath: PathNames.loginAssetsSummary,\n count: 0\n },\n managedDomains: {\n title: 'Managed Domains',\n key: 'managed_domains',\n IconComponent: null,\n link: '/pages/discovery/managedDomains',\n permissionOpen: true,\n active: false,\n showSummary: false,\n columnPickerPath: PathNames.managedDomainsColumns,\n gridPath: PathNames.managedDomains,\n tabPath: PathNames.managedDomainsSummary,\n count: 0\n },\n certificates: {\n title: 'Certificates',\n key: 'certificates',\n IconComponent: null,\n link: '/pages/discovery/certificates',\n permissionOpen: true,\n active: false,\n showSummary: false,\n columnPickerPath: PathNames.certificatesColumns,\n gridPath: PathNames.certificates,\n tabPath: PathNames.certificatesSummary,\n count: 0\n },\n unlinkedAssets: {\n title: 'Unlinked Assets',\n key: 'unlinked_assets',\n IconComponent: null,\n link: '/pages/discovery/unlinkedAssets',\n permissionOpen: true,\n active: false,\n showSummary: false,\n columnPickerPath: PathNames.unlinkedAssetsColumns,\n gridPath: PathNames.unlinkedAssets,\n tabPath: PathNames.unlinkedAssetsSummary,\n count: 0,\n featureFlag: 'isUnlinkedAssets'\n },\n mobileAssets: {\n title: 'Mobile Apps',\n key: 'mobile_assets',\n IconComponent: null,\n link: '/pages/discovery/mobileAssets',\n permissionOpen: true,\n active: false,\n showSummary: false,\n columnPickerPath: PathNames.mobileAssetsColumns,\n gridPath: PathNames.mobileAssets,\n tabPath: PathNames.mobileAssetsSummary,\n count: 0,\n featureFlag: 'isMobile'\n }\n};\n\nexport const OPTIONS = [\n {\n IconComponent: IconAddTag,\n label: 'Add Tags',\n ff: 'isCustomTags'\n },\n {\n IconComponent: IconRemoveTag,\n label: 'Remove Tags',\n ff: 'isCustomTags'\n },\n {\n IconComponent: IconExportCSV,\n label: 'Export Discovery Evidence'\n }\n];\n","export const TABSET_SINGLE_ASSET: any = {\n digitalSupplyChain: {\n vulnerabilities: {\n title: 'Vulnerabilities',\n key: 'vulnerabilities',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: false,\n typeTab: 'grid',\n columnPickerPath: 'discovery/digital-supply-chain/vulnerabilities/columns/'\n // tabPath: PathNames.vulnerabilitiesSummary\n },\n tests: {\n title: 'Tests',\n key: 'tests',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: false,\n typeTab: 'grid',\n columnPickerPath: 'discovery/digital-supply-chain/tests/columns/'\n // tabPath: PathNames.assessmentsSummary\n },\n connections: {\n title: 'Connections',\n key: 'connections',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: true,\n typeTab: 'grid',\n columnPickerPath: 'discovery/digital-supply-chain/connections/columns/'\n // tabPath: PathNames.connectionsSummary\n },\n technologies: {\n title: 'Technologies',\n key: 'technologies',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: false,\n typeTab: 'technologies',\n columnPickerPath: 'discovery/digital-supply-chain/technologies/columns/'\n // tabPath: PathNames.applicationsSummary\n }\n },\n internalAssets: {\n actionItems: {\n title: 'Action Items',\n key: 'action-items',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: false,\n typeTab: 'actionItems',\n columnPickerPath: 'discovery/org-assets/action-items/columns/'\n // tabPath: PathNames.actionItemsSummary,\n },\n tests: {\n title: 'Tests',\n key: 'tests',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: false,\n typeTab: 'grid',\n columnPickerPath: 'discovery/org-assets/tests/columns/'\n // tabPath: PathNames.assessmentsSummary\n },\n connections: {\n title: 'Connections',\n key: 'connections',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: true,\n typeTab: 'grid',\n columnPickerPath: 'discovery/org-assets/connections/columns/'\n // tabPath: PathNames.connectionsSummary\n },\n technologies: {\n title: 'Technologies',\n key: 'technologies',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: false,\n typeTab: 'technologies',\n columnPickerPath: 'discovery/org-assets/technologies/columns/'\n // tabPath: PathNames.applicationsSummary\n },\n evidence: {\n title: 'Discovery Evidence',\n key: 'evidence',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: true,\n typeTab: 'grid',\n columnPickerPath: 'discovery/org-assets/%ASSET%/evidence/columns/',\n showConditionaly: true\n },\n protocols: {\n title: 'Protocols',\n key: 'protocols',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: false,\n typeTab: 'grid',\n columnPickerPath: 'discovery/org-assets/%ASSET%/protocols/columns/',\n featureFlag: 'isProtocolTab'\n }\n // dnsTree: {\n // title: \"DNS Tree\",\n // key: \"dns_tree\",\n // link: \"/pages/singleAsset\",\n // permissionOpen: true,\n // active: false,\n // showSummary: false,\n // typeTab: \"grid\",\n // columnPickerPath: \"discovery/org-assets/internal/dns_tree/columns/\",\n // // tabPath: PathNames.dnsTreeSummary\n // }\n },\n mobileAssets: {\n tests: {\n title: 'Tests',\n key: 'tests',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: false,\n typeTab: 'grid',\n columnPickerPath: 'discovery/mobile/tests/columns'\n },\n connections: {\n title: 'Connections',\n key: 'connections',\n link: '/pages/singleAsset',\n permissionOpen: true,\n active: false,\n showSummary: true,\n typeTab: 'grid',\n columnPickerPath: 'discovery/mobile/connections/columns/'\n }\n }\n};\n","// @ts-nocheck\nimport classNames from 'classnames';\nimport './CveList.scss';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\nimport data from './cwe.json';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nexport function CveList(props: any) {\n const getNistToolTipHtml = (item: any) => {\n return `
    \n
    CVSS v${item.cvss_version || ''} Severity and Metrics:
    \n
    Base Score: ${item.base_severity || ''}
    \n
    Vector: ${item.cvss_vector || ''}
    \n
    Impact Score: ${item.impact_score || ''}
    \n
    Exploitability Score: ${item.exploitability_score || ''}
    \n
    \n
    Attack Vecor (AV): ${item.attack_vector || ''}
    \n
    Attack Complexity (AC): ${item.attack_complexity || ''}
    \n
    Privileges Required (PR): ${item.privileges_required || ''}
    \n
    User Interaction (UI): ${item.user_interaction ? 'Required' : 'NONE'}
    \n
    Scope (S): ${item.scope}
    \n
    Confidentiality (C): ${item.confidentiality_impact || ''}
    \n
    Integrity (I): ${item.integrity_impact || ''}
    \n
    Availability (A): ${item.availability_impact || ''}
    \n
    `;\n };\n\n const getCWEToolTipHtml = (item: any, id: number) => {\n return `
    \n
    CWE-${id}
    \n \n
    ${\n item.description && item.description.length > 300 ? item.description.slice(0, 300) + '...' : item.description\n }
    \n
    `;\n };\n\n const prepareHTML = () => {\n let html: JSX.Element[] = [];\n props.data.forEach((item: any, index: number) => {\n if (Object.keys(item).length) {\n html.push(\n
  • \n
    \n \n \n CVSS: {item.cvss}\n {!!item.epss && !!item.epss_percentile\n ? `, (EPSS Score: ${parseFloat(item.epss * 100).toFixed(2)}%,\n Percentile: ${parseFloat(item.epss_percentile * 100).toFixed(2)}%)`\n : ''}\n \n {item.is_cisa && (\n \n )}\n
    \n {!!item.cvss_vector && (\n
    \n NIST CVSS Vector: {item.cvss_vector}\n
    \n )}\n {!!item.cwe?.length && (\n
      \n {item.cwe.map((_cwe: string | number, index: number) => {\n return (\n
    • \n CWE-{_cwe}\n {index === item.cwe.length - 1 ? '' : ','}\n
    • \n );\n })}\n
    \n )}\n
    {item.description}
    \n
  • \n );\n }\n });\n return html;\n };\n\n return (\n
    \n
      {prepareHTML()}
    \n \n
    \n );\n}\n","import { useEffect, useState } from 'react';\nimport ReactJson from 'react-json-view';\nimport './TechnicalDetails.scss';\nimport { Common } from 'common/services/common.service';\n\nconst KEYWORD = 'Raw ';\n\nexport function TechnicalDetails(props: any) {\n const [rawData, setRawData] = useState<[]>([]);\n\n useEffect(() => {\n let data: any = [];\n if (props.data) {\n if (Array.isArray(props.data)) {\n props.data.forEach((td: any) => {\n if (['object', 'string'].includes(typeof td) && Object.keys(td)[0]?.startsWith(KEYWORD)) {\n data.push({\n key: Object.keys(td)[0],\n value: Object.values(td)[0]\n });\n }\n });\n } else {\n Object.keys(props.data).forEach((td: any) => {\n if (['object', 'string'].includes(typeof props.data[td]) && td.startsWith(KEYWORD)) {\n data.push({\n key: td,\n value: props.data[td]\n });\n }\n });\n }\n }\n setRawData(data);\n }, [props.data]);\n\n const getFilteredTechnicalDetails = () => {\n const copy = { ...props.data };\n Object.keys(copy).forEach(item => {\n if (\n ['object', 'string'].includes(typeof copy[item]) &&\n !Array.isArray(copy[item]) &&\n (Object.keys(copy[item])[0]?.startsWith(KEYWORD) || item.startsWith(KEYWORD))\n ) {\n delete copy[item];\n }\n });\n delete copy.screenshot;\n return copy;\n };\n\n if ((!props.data || !Object.keys(props.data).length) && !props.isAllowEmptyJson) {\n return null;\n }\n\n const moreProps = props.isActionItemsPDF ? { enableClipboard: false } : {};\n return (\n
    \n {props.data && (\n
    \n {!props.isActionItemsPDF &&
    Technical Details
    }\n
    \n Common.copyText(copy.src)}\n />\n
    \n
    \n )}\n\n {!!rawData.length &&\n rawData.map((r: any) => {\n return (\n
    \n
    {r.key}
    \n
    \n {!props.isPDF ? :
    {r.value}
    }\n
    \n
    \n );\n })}\n\n {props.data && props.data.screenshot && (\n
    \n
    Screenshot
    \n
    \n {\n e.preventDefault();\n const _window = window.open();\n var iframe = ``;\n if (_window) {\n _window.document.open();\n _window.document.write(iframe);\n _window.document.close();\n }\n }}\n >\n Link to screenshot\n
    \n
    \n
    \n )}\n \n );\n}\n","// import { IconConnectionAi } from \"common/components/Icons/IconConnectionAi/IconConnectionAi\";\nimport { Common } from 'common/services/common.service';\nimport './actionItemsInfo.scss';\nimport { Link } from 'react-router-dom';\nimport { Button } from '@mui/material';\nimport { CveList } from '../Vulnerabilities/CveList/CveList';\nimport { TechnicalDetails } from 'common/components/TechnicalDetails/TechnicalDetails';\nimport { IconActiveProtection } from 'common/components/Icons/IconActiveProtection/IconActiveProtection';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nexport function ActionItemsInfo(props: any) {\n function onSetVisible() {\n props.setVisible(false);\n }\n\n const shouldShowBottomScope = (): boolean => {\n return props.data.required_action || !props.hideShowMore;\n };\n\n return (\n
    \n
    \n
    \n {props.data.title &&
    {props.data.title}
    }\n
    \n +\n
    \n
    \n
    \n {props.data?.is_active_protection && (\n
    \n \n Active Protection Applied\n
    \n )}\n {props.data.type && (\n <>\n {props.data?.is_active_protection &&
    }\n
    \n Type\n {props.data.type}\n
    \n \n )}\n\n {props.data.asset && (\n <>\n
    \n
    \n Asset Name\n {props.data.asset}\n
    \n \n )}\n\n {props.data.first_opened_at && (\n <>\n
    \n
    \n {Common.getDateFormat(props.data.first_opened_at)}\n
    \n \n )}\n
    \n
    \n\n
    \n
    \n {props.data.summary && (\n
    \n
    Summary
    \n
    {props.data.summary}
    \n
    \n )}\n\n {props.data.description && (\n
    \n
    Description
    \n
    {props.data.description}
    \n
    \n )}\n\n {props.data.impact && (\n
    \n
    Impact
    \n
    {props.data.impact}
    \n
    \n )}\n\n {props.data.cves && props.data.cves.length && (\n
    \n
    CVE List
    \n
    \n \n
    \n
    \n )}\n\n {props.data.references && (\n
    \n
    References
    \n
      \n {Object.keys(props.data.references).map((reference: string) => {\n return (\n
    • \n \n
    • \n );\n })}\n
    \n
    \n )}\n\n \n
    \n
    \n\n {shouldShowBottomScope() && (\n
    \n {props.data.required_action && (\n
    \n
    Required Action
    \n
    {props.data.required_action}
    \n
    \n )}\n
    \n {/*
    Assignee
    */}\n
    \n {!props.hideShowMore && !props.data.is_asset_deleted && (\n \n )}\n {/* */}\n {/* */}\n
    \n
    \n
    \n )}\n
    \n );\n}\n","import { RestApi } from 'common/services/rest-api.service';\nimport React, { useEffect } from 'react';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport { Common } from 'common/services/common.service';\nimport './tabActionItems.scss';\nimport { GridUtilities } from 'common/components/grid/components/gridUtilities/GridUtilities';\nimport { IActionItems, ISwitchTabs } from 'pages/inventory/singleAsset/interface';\n// import { Assignee } from \"common/components/assignee/Assignee\";\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { ManageNotData } from 'common/components/manageNotData/ManageNotData';\nimport { getRows } from 'features/GridSlice';\nimport { AppDispatch, IReduxState } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ActionItemsInfo } from 'common/components/popUp/components/actionItemsInfo/ActionItemsInfo';\nimport { IconActiveProtection } from 'common/components/Icons/IconActiveProtection/IconActiveProtection';\n\nexport function TabActionItems(props: ISwitchTabs) {\n const [visible, setVisible] = React.useState(false);\n // const [nextPath, setNextPath] = React.useState(\n // props.path\n // );\n // const [currentPath, setCurrentPath] = React.useState(\n // props.path\n // );\n // const [items, setItems] = React.useState([]);\n const [dataPopUp, setDataPopUp] = React.useState();\n const { rows, nextPath } = useSelector((state: IReduxState) => state.grid);\n const dispatch: AppDispatch = useDispatch();\n\n useEffect(() => {\n // dispatch(removeAllRows())\n // if (initialPath.includes('action')) {\n dispatch(getRows());\n // }\n // let cancel = false;\n // let cancelResponse = false;\n //@description: Sends request for information\n // if (cancelResponse) return;\n // RestApi.getPaginatedData(props.path).subscribe(\n // (response: IResponsePaginatedData) => {\n // if (cancel) return;\n // setItems(response.results);\n // // setNextPath(response.next);\n // }\n // }, []);\n // return () => {\n // dispatch(removeAllRows())\n // }\n }, [dispatch]);\n\n //@description: Sends request for more data\n function handleOnRowsScrollEnd() {\n if (nextPath) {\n dispatch(getRows());\n }\n // if (nextPath != null) {\n // let path = Common.splitV1FromPath(nextPath);\n // RestApi.getPaginatedData(path).subscribe(\n // (response: IResponsePaginatedData) => {\n // setItems([...items, ...response.results]);\n // setNextPath(response.next);\n // }\n // );\n // }\n }\n\n function openPopUp(item: IActionItems) {\n const url = `remediation/action-items/${item.last_closed_at ? 'closed' : 'open'}/${item.id}/`;\n RestApi.getData(url).subscribe((response: any) => {\n setDataPopUp(response);\n setVisible(true);\n });\n }\n\n function handleCallback() {}\n // function handleUpdateGrid() {\n // if (currentPath) {\n // let path = `${Common.clearQueryFromPath(currentPath)}${queryGrid.getQueryChain()}`;\n // RestApi.getData(path).subscribe((response: IResponsePaginatedData) => {\n // setItems(response.results);\n // setNextPath(response.next);\n // if (response.next !== null) {\n // setCurrentPath(response.next);\n // }\n // });\n // }\n // }\n\n function manageMessages() {\n return

    Loading...

    ;\n }\n\n if (rows[0] && !rows[0].summary) {\n return null;\n }\n return (\n
    \n \n
    \n
    \n {rows.length === 0 ? (\n \n ) : (\n \n {rows.map((item: IActionItems, index: number) => (\n \n
    \n
    \n
    \n
    \n {item.urgency.is_active_protection && (\n \n \n Active Protection Applied\n
    \n
    \n )}\n Type\n \n {item.type}\n
    \n {item.last_closed_at ? <>Closed since {Common.getDateFormat(item.last_closed_at)} : 'Open'}\n
    \n
    \n
    \n
    \n Urgency\n {item.urgency.urgency}\n
    \n
    \n
    {Common.getDateFormat(item.first_opened_at)}
    \n
    \n
    \n
    \n
    {item.title}
    \n
    {item.summary}
    \n
    \n
    \n {/* */}\n
    openPopUp(item)}>\n Show More\n
    \n
    \n
    \n \n ))}\n \n )}\n
    \n
    \n \n \n \n \n );\n}\n","import React from 'react';\nexport class IconWarning extends React.Component {\n render() {\n return (\n \n
    \n
    \n \n \n \n Warning\n \n \n );\n }\n}\n","import React, { useEffect, useState } from 'react';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport './tabTechnologies.scss';\nimport { GridUtilities } from 'common/components/grid/components/gridUtilities/GridUtilities';\nimport { IconWarning } from 'common/components/Icons/IconWarning/IconWarning';\nimport { ITechnology, ISwitchTabs } from 'pages/inventory/singleAsset/interface';\nimport { ManageNotData } from 'common/components/manageNotData/ManageNotData';\nimport { ArrayRenderer } from 'common/components/grid/components/components-renderer/arrayRenderer/ArrayRenderer';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport { getRows } from 'features/GridSlice';\nimport { AppDispatch, IReduxState } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function TabTechnologies(props: ISwitchTabs) {\n // const [items, setItems] = React.useState([]);\n // const [nextPath, setNextPath] = React.useState(\n // props.path\n // );\n // const [currentPath, setCurrentPath] = React.useState(\n // props.path\n // );\n const [expanded, setExpanded] = useState(null);\n const { rows, nextPath } = useSelector((state: IReduxState) => state.grid);\n const dispatch: AppDispatch = useDispatch();\n\n useEffect(() => {\n rows.forEach((r: ITechnology, i: number) => {\n const el = document.getElementsByClassName(`content-index-${i}`)[0];\n const numOfVisibleLines = 3;\n const lineHeight = 10;\n if (el && el.clientHeight <= numOfVisibleLines * lineHeight) {\n const expandEl = document.getElementsByClassName(`expand-icon-wrapper index-${i}`)[0];\n const borderEl = document.getElementsByClassName(`bottom-border-inside index-${i}`)[0];\n if (expandEl && borderEl) {\n expandEl.remove();\n borderEl.remove();\n }\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rows]);\n\n useEffect(() => {\n // let cancel = false;\n // let cancelResponse = false;\n // //@description: Sends request for information\n // if (cancelResponse) return;\n // RestApi.getPaginatedData(props.path).subscribe(\n // (response: IResponsePaginatedData) => {\n // if (cancel) return;\n // setItems(response.results);\n // setNextPath(response.next);\n // }\n // );\n\n // return () => {\n // cancelResponse = true;\n // cancel = true;\n // };\n // dispatch(removeAllRows())\n // if (initialPath.includes('technologies')) {\n dispatch(getRows());\n // }\n }, [dispatch]);\n\n useEffect(() => {\n document.addEventListener('click', setClickOutSideEvent);\n\n return () => {\n document.removeEventListener('click', setClickOutSideEvent);\n };\n });\n\n function setClickOutSideEvent(e: any) {\n if (e.target.classList.contains('expand-icon-wrapper') || e.target.closest('.expand-icon-wrapper')) {\n return;\n }\n const el = e.target.closest(`.tabTechnologies-item-scope.index-${expanded}`);\n if (!el) {\n setExpanded(null);\n }\n }\n\n //@description: Sends request for more data\n function handleOnRowsScrollEnd() {\n if (nextPath) {\n dispatch(getRows());\n }\n // if (nextPath != null) {\n // let path = Common.splitV1FromPath(nextPath);\n // RestApi.getPaginatedData(path).subscribe(\n // (response: IResponsePaginatedData) => {\n // setItems([...items, ...response.results]);\n // setNextPath(response.next);\n // }\n // );\n // }\n }\n\n // function handleCallback() {}\n // function handleUpdateGrid() {\n // // if (currentPath) {\n // // let path = `${Common.clearQueryFromPath(currentPath)}${queryGrid.getQueryChain()}`;\n // // RestApi.getData(path).subscribe((response: IResponsePaginatedData) => {\n // // setItems(response.results);\n // // setNextPath(response.next);\n // // if (response.next !== null) {\n // // setCurrentPath(response.next);\n // // }\n // // });\n // // }\n // }\n\n function manageMessages() {\n return

    Loading...

    ;\n }\n\n // Returns a shorten app name as a placeholder for an app with no logo.\n // Examples:\n // AWS -> AWS\n // Slack -> Sl\n // Microsoft Teams -> Mt\n const getShortenAppName = (appName: string): string => {\n if (!appName) {\n return '';\n }\n const appNameAsArray = appName.split(' ');\n\n if (appName.length <= 3) {\n return appName;\n }\n\n if (appNameAsArray.length > 1) {\n return `${appNameAsArray[0].charAt(0)}${appNameAsArray[1].charAt(0)}`;\n }\n\n return appName.substring(0, 2);\n };\n\n const getAppImage = (item: ITechnology): JSX.Element => {\n if (item.logo_url) {\n return
    ;\n }\n\n return
    {getShortenAppName(item.label)}
    ;\n };\n\n const expand = (index: number) => {\n if (expanded === index) {\n setExpanded(null);\n } else {\n setExpanded(index);\n if (index >= rows.length - 2) {\n // if last 2 items, scroll to the bottom after expanding\n setTimeout(() => {\n const el = document.getElementsByClassName('infinite-scroll-component');\n if (el) {\n el[0].scrollTop = 10000;\n }\n }, 100);\n }\n }\n };\n\n // function prepareCSVDownloadPath(path: string | null): string | null {\n // if (path) {\n // return `${process.env.REACT_APP_BASE_URL}${path}&format=csv`;\n // }\n // return null\n // }\n\n return (\n
    \n \n
    \n
    \n {rows.length === 0 ? (\n \n ) : (\n \n {rows.map((item: ITechnology, index: number) => (\n \n \n
    expand(index)} className={`expand-icon-wrapper index-${index}`}>\n \n
    \n
    {getAppImage(item)}
    \n
    \n {item.is_vulnerable_component && (\n
    \n \n
    \n )}\n
    \n
    \n \n {item.label}\n {item.version && `V${item.version}`}\n \n
    \n
    \n \n {/* {item.cves.map((cve: string, index: number) => (\n
    {cve}
    \n ))} */}\n
    \n
    \n ...\n
    \n
    \n {/*
    \n\n
    */}\n
    \n
    \n \n ))}\n \n )}\n
    \n
    \n
    \n );\n}\n","import { useEffect, useRef, useState } from 'react';\nimport './EvidenceData.scss';\nimport { DiscoveryEvidenceDataFlow } from '@cyberpion/cyberpion-ui';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\n\ninterface IEvidenceDataProps {\n activeCategory: any;\n categories: [];\n asset: string;\n onScroll: () => void;\n onload: () => void;\n}\n\nexport function EvidenceData({ activeCategory, categories, asset, onScroll, onload }: IEvidenceDataProps) {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState([]);\n const contentRef: any = useRef();\n const { user } = useSelector((state: IReduxState) => state.login);\n\n useEffect(() => {\n if (activeCategory) {\n document.getElementById(`category_${activeCategory.category.id}`)?.scrollIntoView({ behavior: 'smooth' });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeCategory]);\n\n useEffect(() => {\n RestApi.getData(`discovery/org-assets/${asset}/evidence/?limit=1000`).subscribe((response: any) => {\n const data = categories\n .sort((a: any, b: any) => {\n return b.confidence.id - a.confidence.id || b.count - a.count;\n })\n .map((category: any) => {\n return { ...category, data: response.results.filter((row: any) => row.category === category.category.label) };\n });\n setData(data);\n setLoading(false);\n onload();\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (loading || !Object.keys(user).length) {\n return (\n
    \n \n
    \n );\n }\n\n return (\n
    \n
    \n \n \"Asset\"\n ASSET\n \n
    \n \n \"Reference\"\n REFERENCE\n \n
    \n {/* */}\n
    \n
    \n
    onScroll()}>\n {data.map((d: any) => {\n return (\n \n );\n })}\n
    \n
    \n
    \n
    \n );\n}\n","import { ConfidenceLevel, DiscoveryEvidenceDiagram, IconArrow } from '@cyberpion/cyberpion-ui';\nimport './tabDiscoveryEvidence.scss';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { EvidenceData } from './EvidenceData/EvidenceData';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { Image } from 'common/components/image/Image';\nimport { env } from 'env';\nimport { ToolTip } from 'common/components/toolTip/toolTip';\n\ninterface ITabDiscoveryEvidenceProps {\n asset: string;\n}\n\nexport function TabDiscoveryEvidence({ asset }: ITabDiscoveryEvidenceProps) {\n const [activeCategory, setActiveCategory] = useState(null);\n const [collapsed, setCollapsed] = useState(false);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [data, setData] = useState({});\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n RestApi.getData(`discovery/org-assets/${asset}/evidence/summary/`).subscribe((response: any) => {\n setData({\n ...response,\n categories: response.categories.sort((a: any, b: any) => {\n if (b.confidence && a.confidence) {\n return b.confidence.id - a.confidence.id || b.count - a.count;\n } else {\n return b.count - a.count;\n }\n })\n });\n setLoading(false);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const onScroll = () => {\n if (!collapsed) {\n setCollapsed(true);\n }\n };\n\n return (\n
    \n
    \n
    \n {loading && }\n
    \n
    \n
    \n
    \n {!!data.source && (\n
    \n Asset Source: \n {data.source}\n
    \n )}\n {!!data.derived_from && (\n
    \n Derived From: \n {data.derived_from}\n
    \n )}\n {!!collapsed && !!data.overall_confidence && (\n
    \n Discovery Confidence Level: \n \n
    \n )}\n
    \n {!loading && (\n \n \"CSV\"\n \n \n )}\n
    \n {!!Object.keys(data).length && (\n
    \n {!!isDataLoaded && (\n
    setCollapsed(!collapsed)}>\n \n
    \n )}\n
    \n {\n setCollapsed(true);\n setActiveCategory(category);\n }}\n activeCategory={activeCategory}\n />\n
    \n
    \n
    \n {\n setActiveCategory(category);\n }}\n activeCategory={activeCategory}\n collapsed\n />\n
    \n
    \n
    \n )}\n
    \n {!!data.categories && (\n cat.count)}\n onScroll={onScroll}\n onload={() => setIsDataLoaded(true)}\n />\n )}\n
    \n \n );\n}\n","import React, { useEffect, useRef } from 'react';\nimport { Grid } from 'common/components/grid/Grid';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { IResponse, IRootColumnPicker } from 'common/interfaces/interface';\nimport { TabActionItems } from './components/tabActionItems/TabActionItems';\nimport { TabTechnologies } from './components/tabTechnologies/TabTechnologies';\nimport { IManageTabs } from './interface';\nimport { GridRowData, GridRowParams } from '@mui/x-data-grid-pro';\nimport { DefaultIcon } from 'common/components/manageNotData/components/defaultIcon/DefaultIcon';\nimport {\n disableURLChange,\n enableURLChange,\n removeAllRows,\n removeRowsOnly,\n setFields,\n setInitialPath\n} from 'features/GridSlice';\nimport { AppDispatch } from 'app/store';\n\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Common } from 'common/services/common.service';\nimport { Popup } from '@cyberpion/cyberpion-ui';\nimport { setColumnPicker, setShowColumnPicker } from 'features/columnPickerSlice';\nimport { TabDiscoveryEvidence } from './components/tabDiscoveryEvidence/tabDiscoveryEvidence';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\n\nexport interface ITabGrid {\n // columnPicker: IColumnPicker[];\n // showColumnPicker: boolean;\n isMoreButton: boolean;\n isCSVDownloadable: boolean;\n count: number;\n columns: Array;\n identifier: string;\n}\n\nexport function ManageTabs(props: IManageTabs) {\n const [showGrid, setShowGrid] = React.useState(false);\n const [selectTab, setSelectTab] = React.useState('');\n const [showPopup, setShowPopup] = React.useState(false);\n const [showIconNotData, setShowIconNotData] = React.useState(false);\n const [dataTabGrid, setDataTabGrid] = React.useState(initData());\n const [popupData, setPopupData] = React.useState([]);\n const dispatch: AppDispatch = useDispatch();\n const { initialPath, rows } = useSelector((state: any) => state.grid);\n const isInitialMount = useRef(true);\n const flags = useFlags();\n //@description: Updates the data when the tab changes\n useEffect(() => {\n if (selectTab !== props.data.key && props.data.key !== '') {\n dispatch(removeRowsOnly());\n if (['evidence'].includes(props.data.key)) {\n dispatch(disableURLChange());\n } else {\n dispatch(enableURLChange());\n }\n getData();\n }\n });\n\n useEffect(() => {\n const popup = Common.getParamFromUrl('popup');\n if (rows.length && selectTab === 'tests' && popup && isInitialMount.current) {\n isInitialMount.current = false;\n const row = rows.filter((r: GridRowData) => r.name === popup)[0];\n onRowDoubleClick(undefined, row.id);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rows]);\n\n function initData(): ITabGrid {\n return {\n // columnPicker: [],\n // showColumnPicker: false,\n isMoreButton: true,\n isCSVDownloadable: false,\n count: 0,\n columns: [],\n identifier: ''\n };\n }\n useEffect(() => {\n if (props.data.gridPath) {\n dispatch(setInitialPath(props.data.gridPath));\n }\n }, [dispatch, props.data.gridPath]);\n\n useEffect(() => {\n return () => {\n dispatch(removeAllRows());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n //@description: ColumnPicker data request. And checking which columns to display\n function getData() {\n setShowGrid(false);\n setShowPopup(false);\n setSelectTab(props.data.key);\n\n const path = ['evidence', 'protocols'].includes(props.data.key)\n ? props.data.columnPickerPath.replace('%ASSET%', props.assetName)\n : props.data.columnPickerPath;\n\n RestApi.getData(path).subscribe(\n (columns: IRootColumnPicker) => {\n let fields = ColumnsManage.checkGridColumnsToDisplay(columns.data);\n dispatch(setFields(fields));\n dispatch(setColumnPicker(columns.data));\n dispatch(setShowColumnPicker(columns.is_displayable));\n\n setDataTabGrid({\n // columnPicker: columns.data || [],\n // showColumnPicker: columns.is_displayable,\n isMoreButton: columns.is_more_button,\n isCSVDownloadable: columns.is_csv_downloadable,\n count: 0,\n identifier: columns.identifier_field,\n columns: ColumnsManage.createColumns(columns.identifier_field, columns.data || [], {\n page: 'singleAsset',\n category: props.data.category,\n tab: selectTab\n })\n });\n setShowIconNotData(false);\n setShowGrid(true);\n },\n error => {\n setShowIconNotData(true);\n }\n );\n }\n\n function onRowDoubleClick(params?: GridRowParams, id?: number) {\n if (props.data.key === 'tests') {\n const mobileMore = props.data.category === 'mobileAssets' ? 'mobile/' : '';\n RestApi.getData(`tests/${mobileMore}${params ? params.row[dataTabGrid.identifier] : id}/`).subscribe(\n (response: IResponse) => {\n const name = response.name;\n if (!!response.name) delete response.name;\n\n setPopupData({ data: response, title: 'Test', subtitle: name });\n setShowPopup(true);\n },\n error => {}\n );\n } else if (props.data.key === 'connections') {\n RestApi.getData(`connections/${params ? params.row[dataTabGrid.identifier] : id}/`).subscribe(\n (response: IResponse) => {\n setPopupData({\n data: response,\n title: 'Connections',\n subtitle: response.from_source,\n metadata: params ? params.row : {}\n });\n setShowPopup(true);\n },\n error => {}\n );\n } else if (props.data.key === 'vulnerabilities') {\n RestApi.getData(`vulnerabilities/${params ? params.row[dataTabGrid.identifier] : id}/`).subscribe(\n (response: IResponse) => {\n setPopupData({ data: response, title: 'Vulnerabilities', subtitle: response.title });\n setShowPopup(true);\n },\n error => {}\n );\n }\n }\n\n //@description: Switches tabs by type of information\n function switchTabs() {\n // ADDED TO SWITCH BETWEEN OLD/NEW EVIDENCE TAB VIA FEATURE FLAG\n let tabType = props.data.typeTab;\n if (flags.isDiscoveryEvidenceV2 && props.data.key === 'evidence') {\n tabType = 'evidence';\n }\n //\n switch (tabType) {\n case 'grid':\n // #TODO: remove this if\n if (\n initialPath.indexOf('connections') > -1 ||\n initialPath.indexOf('tests') > -1 ||\n initialPath.indexOf('vulnerabilities') > -1 ||\n initialPath.indexOf('protocols') > -1 ||\n initialPath.indexOf('evidence') > -1\n ) {\n return (\n -1}\n />\n );\n }\n break;\n case 'evidence':\n if (initialPath.indexOf('evidence') > -1) {\n return ;\n }\n break;\n case 'actionItems':\n if (initialPath.indexOf('action-items') > -1) {\n return (\n \n );\n }\n break;\n case 'technologies':\n if (initialPath.indexOf('technologies') > -1) {\n return (\n \n );\n }\n break;\n default:\n return
    ;\n }\n }\n\n return showGrid ? (\n <>\n {switchTabs()}\n setShowPopup(false)}\n open={showPopup}\n list={popupData.data}\n metadata={popupData.metadata}\n />\n \n ) : showIconNotData ? (\n
    \n \n
    \n ) : (\n
    Loading...
    \n );\n}\n","import { Links } from 'common/components/links/Links';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useEffect, useState } from 'react';\nimport PanelSide from './panelSide/PanelSide';\nimport { Paths } from 'common/constants/paths';\nimport { TABSET } from '../config';\nimport { TABSET_SINGLE_ASSET } from './config';\nimport { Common, updateHeader } from 'common/services/common.service';\nimport { ManageTabs } from './ManageTabs';\nimport { IUpdateLink } from './interface';\nimport TopPanel from 'common/components/TopPanel/TopPanel';\nimport TOP_PANEL_PAGES from 'common/constants/topPanelPages';\nimport './singleAsset.scss';\nimport classNames from 'classnames';\nimport { ManageNotData } from 'common/components/manageNotData/ManageNotData';\nimport { useSelector } from 'react-redux';\nimport { NotFound } from 'notFound/NotFound';\n\nexport function SingleAsset(props: any) {\n const isMobileAsset = props.match.params.page === 'mobileAssets';\n const { globalFilter } = useSelector((state: any) => state.general);\n const page: string = props.match.params.page;\n const id: string | number = props.match.params.id;\n const [metaData, setMetaData] = useState({});\n const [data, setData] = useState({\n page: 'action_items',\n data: [],\n showSingleAsset: false,\n showNotFoundPage: false,\n showAssetRemoved: false,\n tab: props.match.params.tab\n });\n\n useEffect(() => {\n checksPagePath()\n ? getData()\n : setData({ ...data, showNotFoundPage: true, showAssetRemoved: false, showSingleAsset: false });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [globalFilter]);\n\n const updatePageHeader = (tab: string) => {\n const currentTabTitle = TABSET_SINGLE_ASSET[page][tab]?.title;\n const assetName = getAssetName();\n const pageTitle = Common.camelCaseToTitle(page.replace('internal', 'org'));\n const headerArray = ['Discovery'];\n if (pageTitle) {\n headerArray.push(pageTitle);\n }\n if (assetName) {\n headerArray.push(assetName);\n }\n if (currentTabTitle) {\n headerArray.push(currentTabTitle);\n }\n updateHeader.sendHeaderText(headerArray.join(' / '));\n };\n\n const getAssetName = () => {\n if (data.body && data.body[0]) {\n return data.body[0]['Asset Name'];\n }\n return null;\n };\n\n useEffect(() => {\n if (data.tab !== props.match.params.tab) {\n const newTab = props.match.params.tab;\n updateSelectTab(newTab);\n updatePageHeader(newTab);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.match, data.tab]);\n\n //@description = Checks if the page name exists in single assets tabs\n //@return = boolean\n const checksPagePath = (): boolean => {\n if (!page || !id) {\n return false;\n }\n\n if (!TABSET[page]) {\n return false;\n }\n\n return true;\n };\n\n const initUrls = () => {\n let urls: any = {\n detailed: `${Paths[page]}${id}${props.match.params.page !== 'mobileAssets' ? '/detailed/' : '/'}`\n };\n let tab = props.match.params.tab;\n let urlSummary = checkShowSummary(tab);\n if (urlSummary) {\n urls.dataTabs = urlSummary;\n }\n return urls;\n };\n\n const checkShowSummary = (tab: string) => {\n let showSummary = TABSET_SINGLE_ASSET[page][tab].showSummary;\n if (showSummary) {\n return `${Paths[page]}${id}/${tab}/summary/`;\n }\n };\n\n const getTabs = (_data: any) => {\n let tabs = updateLink(Common.cloneData(TABSET_SINGLE_ASSET[page]));\n if (isMobileAsset && !!_data.type && !!_data.type.toLowerCase().includes('ios')) {\n delete tabs.tests;\n }\n return tabs;\n };\n\n const getData = () => {\n getMetaData();\n RestApi.getDataPage(initUrls()).subscribe(\n (response: any) => {\n if (!response.detailed) {\n setData({ ...data, showNotFoundPage: true });\n } else {\n setData({\n data: response.detailed,\n dataTabs: response.dataTabs,\n showSingleAsset: true,\n tabs: getTabs(response.detailed),\n tab: data.tab || props.params.match.tab\n });\n updatePageHeader(data.tab || props.params.match.tab);\n }\n },\n error => {\n try {\n handleError(error);\n } catch (err) {\n setData({ ...data, showNotFoundPage: true, showSingleAsset: false });\n }\n }\n );\n };\n\n const getMetaData = () => {\n RestApi.getData(`${Paths[page]}${id}/metadata/${globalFilter ? `?group=${globalFilter}` : ''}`).subscribe(\n (response: any) => {\n if (response) {\n setMetaData(response);\n }\n }\n );\n };\n\n const handleError = (err: any) => {\n const msg = JSON.parse(err.message)[0].detail;\n if (msg.startsWith('Asset Removed')) {\n setData({ ...data, showAssetRemoved: true, showNotFoundPage: false, showSingleAsset: false });\n } else {\n setData({ ...data, showNotFoundPage: true, showAssetRemoved: false, showSingleAsset: false });\n }\n };\n\n const updateSelectTab = (tab: string) => {\n let urlSummary = checkShowSummary(tab);\n if (urlSummary) {\n if (tab !== data.tab) {\n RestApi.getDataPage({ dataTabs: urlSummary }).subscribe(\n (response: any) => {\n setData({ ...data, dataTabs: response.dataTabs, tab: tab });\n },\n error => {\n try {\n handleError(error);\n } catch (err) {\n setData({ ...data, showNotFoundPage: true, showSingleAsset: false });\n }\n }\n );\n }\n } else {\n setData({ ...data, dataTabs: undefined, tab: tab });\n }\n };\n\n // @description: Updates the path by page name and by ID\n const updateLink = (data: IUpdateLink) => {\n let tabs: IUpdateLink = {};\n Object.keys(data).forEach(key => {\n tabs[key] = data[key];\n tabs[key].link = `${data[key].link}/${page}/${id}/${key}`;\n tabs[key].gridPath = `${Paths[page]}${id}/${data[key].key}/`;\n tabs[key].category = props.match.params.page;\n });\n return tabs;\n };\n\n const showTopPanel =\n !!data.dataTabs &&\n ((data.tab === 'evidence' && !!metaData?.evidence?.count && metaData?.evidence?.count > 0) ||\n data.tab === 'connections');\n\n return (\n <>\n {data.showSingleAsset && !data.showNotFoundPage && !data.showAssetRemoved && (\n
    \n \n {!data.data?.cloud_asset?.is_virtual ? (\n
    \n
    \n \n {showTopPanel && }\n
    \n
    \n \n
    \n
    \n ) : (\n
    \n \n
    \n )}\n
    \n )}\n {data.showAssetRemoved && }\n {data.showNotFoundPage && }\n \n );\n}\n","import React from 'react';\nimport { IIcon } from 'common/interfaces/interface';\n\nexport class IconConnectionType extends React.Component {\n public props: IIcon;\n render() {\n return (\n \n \n \n \n \n \n \n );\n }\n}\n","import { IconRisk } from 'common/components/Icons/IconRisk/IconRisk';\nimport React from 'react';\nimport { Common } from 'common/services/common.service';\nimport './riskScoreByCategory.scss';\ninterface ILegend {\n label: string;\n name: string;\n type: string;\n risk_grade: number | null;\n risk_score: number | null;\n}\n\ninterface IChartLineLegend {\n label: string;\n categories: ILegend[];\n}\n\nexport function RiskScoreByCategory(props: IChartLineLegend) {\n const getTotalRiskScoreItem = (): ILegend => {\n return props.categories.filter(item => item.name === 'risk_score')[0];\n };\n\n const getIconColor = (type: string): string => {\n return Common.getColorByTestResult(type);\n };\n\n const totalRiskScore: ILegend = getTotalRiskScoreItem();\n\n return (\n
    \n
    \n
    {totalRiskScore.label}
    \n
    \n {totalRiskScore.risk_score}\n
    \n
    \n
    \n
    {props.label}
    \n
    \n {props.categories\n .filter(item => item.name !== 'risk_score')\n .map((item: ILegend, index: number) => (\n \n {item.risk_grade !== null && (\n
    \n \n
    {item.label}
    \n
    \n )}\n
    \n ))}\n
    \n
    \n
    \n );\n}\n","// import { Assignee } from \"common/components/assignee/Assignee\";\nimport { Common } from 'common/services/common.service';\nimport './topActionItems.scss';\ninterface ILegend {\n id: number;\n title: string;\n summary: string;\n type: string;\n urgency: number;\n first_seen: string;\n assignee: string | null;\n}\n\ninterface ITopActionItems {\n data: ILegend[];\n}\nexport function TopActionItems(props: ITopActionItems) {\n return props.data ? (\n
    \n {props.data[0] &&
    TOP ACTION ITEMS
    }\n {props.data.map((ai: any, index: number) => (\n
    \n
    \n
    \n
    \n
    {ai.title.label}
    \n {ai.type &&
    {ai.type}
    }\n {ai.first_opened_at &&
    {Common.getDateFormat(ai.first_opened_at)}
    }\n
    \n
    \n
    \n
    \n {Common.shortenText(ai.summary, 100, '...')}\n
    \n
    \n
    \n
    {/* */}
    \n
    \n
    \n ))}\n \n ) : (\n
    \n );\n}\n","import './generalScore.scss';\nimport { Common } from 'common/services/common.service';\ninterface IGeneralScore {\n label: string;\n risk_score: string;\n urgency: string;\n}\nexport function GeneralScore(props: IGeneralScore) {\n return (\n
    \n
    {props.label}
    \n \n {props.risk_score}\n
    \n \n );\n}\n","import './connections.scss';\n\nexport function Connections(props: any) {\n return (\n
    \n
    CONNECTIONS
    \n
    \n
    \n {props.data.connected_assets.label}\n {props.data.connected_assets.value}\n
    \n
    \n {props.data.connection_types.label}\n {props.data.connection_types.value}\n
    \n
    \n
    \n );\n}\n","import { IconConnectionType } from 'common/components/Icons/IconConnectionType/IconConnectionType';\nimport { RiskScoreByCategory } from 'common/components/quickViewPanel/components/riskScoreByCategory/RiskScoreByCategory';\nimport { TopActionItems } from 'common/components/quickViewPanel/components/topActionItems/TopActionItems';\nimport './quickViewPanel.scss';\nimport { GeneralScore } from './components/generalScore/GeneralScore';\nimport { Connections } from './components/connections/Connections';\nimport { LinkNewTab } from '../LinkNewTab/LinkNewTab';\n\ninterface IQuickViewPanel {\n data: any;\n nameTab: string;\n setVisible: (params: boolean) => void;\n visible: boolean;\n identifier: string;\n}\n\nexport function QuickViewPanel(props: IQuickViewPanel) {\n function onClose() {\n props.setVisible(false);\n }\n\n return (\n (props.visible && (\n
    \n
    \n
    \n
    \n \n {props.data.asset}\n
    \n
    \n
    \n \n
    \n
    \n +\n
    \n
    \n
    \n
    \n
    \n {props.data.risk_score && (\n \n )}\n \n
    \n \n \n
    \n
    \n\n
    \n {/*
    \n \n
    */}\n
    \n
    \n )) || \n );\n}\n","import { useState } from 'react';\nimport classNames from 'classnames';\nimport { IconArrow } from 'common/components/Icons/IconArrow/IconArrow';\nimport './Evidence.scss';\nimport { TechnicalDetails } from 'common/components/TechnicalDetails/TechnicalDetails';\n\nexport function Evidence(props: any) {\n const [visible, setVisible] = useState(props.isOpened);\n\n const convertTitle = (title: string): string | JSX.Element => {\n if (title === 'url') {\n return title.toUpperCase();\n }\n if (title.includes('fqdn')) {\n return title.replace('fqdn', 'FQDN');\n }\n\n return {title.replace(/_/g, ' ')};\n };\n\n const getItem = (item: any, title: string): JSX.Element => {\n if (title === 'url') {\n return
    {item}
    ;\n }\n if (title === 'screenshot') {\n return \"Screenshot\";\n }\n if (title.startsWith('raw')) {\n return \n\n
    setSendFeedback(!sendFeedback)}>\n
    \n \n Send a copy to the Ionix team as feedback\n
    \n
    \n \n \n
    \n
    \n \n \n ) : (\n
    \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { Grid } from 'common/components/grid/Grid';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { IColumnPicker, IRootColumnPicker } from 'common/interfaces/interface';\nimport { Paths } from 'common/constants/paths';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { OPTIONS, TABSET } from './config';\nimport { GridRowData, GridRowId, GridRowParams } from '@mui/x-data-grid-pro';\nimport { PopUp } from 'common/components/popUp/PopUp';\nimport { AcknowledgeReason } from './acknowledgeReason/AcknowledgeReason';\nimport { ISelectionRowsChange } from 'common/components/grid/interface';\nimport {\n addFields,\n removeAllRows,\n removeRowsByIndex,\n resetQueryString,\n setFields,\n setInitialPath,\n updateRescan,\n updateRows\n} from 'features/GridSlice';\nimport { AppDispatch, IReduxState } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ActionItemsInfo } from 'common/components/popUp/components/actionItemsInfo/ActionItemsInfo';\nimport { tosterService } from 'common/services/tostar.service';\nimport { urlToStateConverter } from 'common/services/UrlToStateConverter.service';\nimport TopPanel from 'common/components/TopPanel/TopPanel';\nimport TOP_PANEL_PAGES from 'common/constants/topPanelPages';\nimport useShowToggle from 'common/hooks/useShowToggle';\nimport { Grid as MUIGrid } from '@mui/material';\nimport { TopPanelLoadingState } from 'common/components/TopPanel/TopPanelLoadingState/TopPanelLoadingState';\nimport { setColumnPicker, setShowColumnPicker } from 'features/columnPickerSlice';\n\nimport '../pages.scss';\nexport interface IActionItems {\n rows?: any;\n path?: string;\n // showColumnPicker: boolean;\n isMoreButton: boolean;\n isCSVDownloadable: boolean;\n isPDFDownloadable?: boolean;\n count: number;\n columns: Array;\n selectTab: string;\n rootPath: string;\n identifier: string;\n}\nexport function ActionItemsRouting(props: any) {\n const [acknowledgeReason, setAcknowledgeReason] = useState(false);\n const [visible, setVisible] = useState(false);\n const [dataRow, setDataRow] = useState({});\n const [showGrid, setShowGrid] = useState(false);\n const [actionItemsData, setActionItemsData] = useState(initData());\n const [summaryData, setSummaryData] = useState(null);\n const [popupData, setPopupData] = useState([]);\n const [abortControllerGrid, setAbortControllerGrid] = useState();\n const [abortControllerTopPanel, setAbortControllerTopPanel] = useState();\n const [isSummaryLoading, setIsSummaryLoading] = useState(true);\n const { filters } = useSelector((state: IReduxState) => state.grid);\n const { globalFilter } = useSelector((state: IReduxState) => state.general);\n const { isOpen: isTopPanelOpne, setToggle: setTopPanelToggle } = useShowToggle(true);\n\n const dispatch: AppDispatch = useDispatch();\n\n useEffect(() => {\n dispatch(removeAllRows());\n fetchGridData(props.selectTab);\n fetchTopPanelData(props.selectTab);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.selectTab]);\n\n useEffect(() => {\n dispatch(resetQueryString());\n return () => {\n dispatch(removeAllRows());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n fetchTopPanelData(props.selectTab);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [globalFilter]);\n\n function initData(): IActionItems {\n return {\n rows: [],\n // showColumnPicker: false,\n isMoreButton: true,\n isCSVDownloadable: false,\n count: 0,\n columns: [],\n selectTab: '',\n rootPath: '',\n identifier: ''\n };\n }\n\n const fetchTopPanelData = (tab: string) => {\n if (abortControllerTopPanel) {\n abortControllerTopPanel.abort();\n }\n const abort_controller = new AbortController();\n setAbortControllerTopPanel(abort_controller);\n\n const url = !!globalFilter ? `${Paths[TABSET[tab].tabPath]}?group=${globalFilter}` : Paths[TABSET[tab].tabPath];\n setIsSummaryLoading(true);\n RestApi.getData(url, true, abort_controller.signal).subscribe((response: any) => {\n setSummaryData({ ...response, inContext: tab });\n setIsSummaryLoading(false);\n });\n };\n\n const fetchGridData = (tab: string) => {\n setShowGrid(false);\n\n let _addFields: string[] = [];\n if (abortControllerGrid) {\n abortControllerGrid.abort();\n }\n const abort_controller = new AbortController();\n setAbortControllerGrid(abort_controller);\n\n RestApi.getData(Paths[TABSET[tab].columnPickerPath], true, abort_controller.signal).subscribe(\n (columns: IRootColumnPicker) => {\n columns.data.forEach((column: IColumnPicker) => {\n if (_addFields.includes(column.name)) {\n column.is_toggled = true;\n } else {\n const _filters = urlToStateConverter.getFilters();\n if (_filters[column.name] && _filters[column.name].value) {\n const _filter = column.choices.filter((choice: any) => choice.name === 1)[0];\n if (_filter) {\n _filter.is_toggled = true;\n if (_filter.add_fields) {\n _addFields = _filter.add_fields;\n }\n }\n }\n }\n });\n const _columns = ColumnsManage.createColumns(columns.identifier_field, columns.data || [], {\n page: 'actionItems',\n tab: props.selectTab\n });\n let fields = ColumnsManage.checkGridColumnsToDisplay(columns.data);\n dispatch(setFields(fields));\n dispatch(addFields(_addFields));\n dispatch(setInitialPath(Paths[TABSET[tab].gridPath]));\n dispatch(setColumnPicker(columns.data));\n dispatch(setShowColumnPicker(columns.is_displayable));\n\n setActionItemsData({\n rows: [],\n // showColumnPicker: columns.is_displayable,\n isMoreButton: columns.is_more_button,\n isCSVDownloadable: columns.is_csv_downloadable,\n isPDFDownloadable: columns.is_pdf_downloadable,\n count: 0,\n identifier: columns.identifier_field,\n columns: _columns,\n selectTab: tab,\n rootPath: Paths[TABSET[tab].gridPath]\n });\n setShowGrid(true);\n }\n );\n };\n\n function onRowDoubleClick(params: GridRowParams) {\n let url = `remediation/action-items/${props.selectTab}/${params.row[actionItemsData.identifier]}/`;\n RestApi.getData(url).subscribe(\n (response: any) => {\n setDataRow(response);\n setVisible(true);\n },\n error => {}\n );\n }\n\n function onSelectionChange(params: ISelectionRowsChange) {\n if (params.moreData.label === 'Rescan') {\n let url = `remediation/action-items/rescan/`;\n let data = {\n ids: params.ids\n };\n\n RestApi.setData(url, data, 'POST').subscribe(\n (response: any) => {\n const indexes: number[] = [];\n params.ids.forEach(id => {\n let index = params.rows.findIndex((row: any) => row[actionItemsData.identifier] === id);\n indexes.push(index);\n });\n dispatch(updateRescan(indexes));\n params.apiGrid.current.setSelectionModel([]);\n },\n error => {\n params.apiGrid.current.setSelectionModel([]);\n tosterService.onShowToster(error, 'danger', '');\n }\n );\n }\n\n if (params.moreData.label === 'Acknowledge') {\n if (params.ids.length !== 0) {\n setPopupData(params);\n setAcknowledgeReason(true);\n }\n }\n\n if (params.moreData.label === 'Unacknowledge') {\n if (params.ids.length === 0) {\n return;\n }\n\n let url = `remediation/action-items/acknowledge/`;\n let data = {\n ids: params.ids,\n is_acknowledged: false\n };\n\n RestApi.setData(url, data, 'POST').subscribe(\n (response: any) => {\n if (filters.is_acknowledged && filters.is_acknowledged.value === 1) {\n let rows = [...params.rows];\n const indexes: number[] = [];\n params.ids.forEach((id: GridRowId) => {\n let index = rows.findIndex((row: GridRowData) => row[actionItemsData.identifier] === id);\n indexes.push(index);\n });\n dispatch(removeRowsByIndex(indexes));\n } else {\n dispatch(updateRows({ rows: response, identifier: actionItemsData.identifier }));\n }\n tosterService.onShowToster('Unacknowledge Completed', 'success', '');\n params.apiGrid.current.setSelectionModel([]);\n },\n error => {\n tosterService.onShowToster('Error', 'danger', '');\n params.apiGrid.current.setSelectionModel([]);\n }\n );\n }\n }\n\n const getElementSelect = () => {\n if (props.selectTab === 'open') {\n return {\n header: 'Actions',\n options: OPTIONS,\n apiPath: 'remediation/action-items/'\n };\n }\n return undefined;\n };\n\n const showSummary =\n !!summaryData &&\n ((props.selectTab === 'open' && summaryData.inContext === 'open') ||\n (props.selectTab === 'closed' && summaryData.inContext === 'closed'));\n\n return (\n <>\n {!!TABSET[props.selectTab] &&\n TABSET[props.selectTab].showSummary &&\n (!isSummaryLoading && showSummary ? (\n \n ) : (\n
    \n \n \n \n \n \n \n
    \n ))}\n {showGrid ? (\n <>\n
    \n \n
    \n\n \n \n \n\n \n \n \n \n ) : (\n
    Loading...
    \n )}\n \n );\n}\n","import { useState, useEffect } from 'react';\nimport { ActionItemsRouting } from './ActionItemsRouting';\nimport { updateHeader } from 'common/services/common.service';\nimport { Links } from 'common/components/links/Links';\nimport { TABSET } from './config';\nimport { Paths } from 'common/constants/paths';\nimport { PathNames } from 'common/constants/pathNames';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { useSelector } from 'react-redux';\n\nconst PAGE_NAME = 'Action Items';\n\nconst ActionItems = (props: any) => {\n const [metaData, setMetaData] = useState({});\n const { isLoggedIn } = useSelector((state: any) => state.login);\n const { globalFilter } = useSelector((state: any) => state.general);\n\n useEffect(() => {\n if (isLoggedIn) {\n updateHeader.sendHeaderText(PAGE_NAME);\n }\n }, [isLoggedIn]);\n\n useEffect(() => {\n getMetaData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [globalFilter]);\n\n const getMetaDataUrl = () => {\n return {\n metaData: `${Paths[PathNames.actionItemsMetaData]}${globalFilter ? `?group=${globalFilter}` : ''}`\n };\n };\n\n const getMetaData = () => {\n RestApi.getDataPage(getMetaDataUrl()).subscribe((response: any) => {\n setMetaData({ ...response.metaData });\n });\n };\n\n return (\n
    \n
    \n \n
    \n \n
    \n );\n};\n\nexport default ActionItems;\n","import { useEffect, useState } from 'react';\nimport { updateHeader } from 'common/services/common.service';\nimport { Grid } from 'common/components/grid/Grid';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { removeAllRows, setFields, setInitialPath } from 'features/GridSlice';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { IRootColumnPicker } from 'common/interfaces/interface';\nimport { ColumnsManage } from 'common/components/grid/columnsManage';\nimport { setColumnPicker, setShowColumnPicker } from 'features/columnPickerSlice';\n\nconst PAGE_NAME = 'Accounts';\n\nconst Accounts = (props: any) => {\n const [data, setData] = useState(initData());\n const dispatch = useDispatch();\n const { isLoggedIn } = useSelector((state: any) => state.login);\n\n useEffect(() => {\n getData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (isLoggedIn) {\n updateHeader.sendHeaderText(PAGE_NAME);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLoggedIn]);\n\n function initData(): any {\n return {\n rows: [],\n // columnPicker: [],\n // showColumnPicker: false,\n isMoreButton: true,\n isCSVDownloadable: false,\n count: 0,\n columns: [],\n selectTab: '',\n rootPath: '',\n identifier: ''\n };\n }\n\n const getData = () => {\n setData(initData());\n dispatch(removeAllRows());\n\n RestApi.getData('mssp/sub-account/columns/').subscribe((columns: IRootColumnPicker) => {\n console.log(columns);\n let fields = ColumnsManage.checkGridColumnsToDisplay(columns.data);\n dispatch(setFields(fields));\n dispatch(setInitialPath('mssp/sub-account/'));\n\n // IN CASE CUSTOM_GROUPS, ADDING FILTER type__in=1 (the API returns groups + subsidiaries, \\\n // need to get only the groups without subsidiaries)\n\n dispatch(setColumnPicker(columns.data));\n dispatch(setShowColumnPicker(columns.is_displayable));\n\n setData({\n rows: [],\n // columnPicker: columns.data || [],\n // showColumnPicker: columns.is_displayable,\n isMoreButton: false,\n isCSVDownloadable: columns.is_csv_downloadable,\n count: 0,\n selectTab: '',\n identifier: columns.identifier_field,\n columns: ColumnsManage.createColumns(columns.identifier_field, columns.data || [], {\n page: 'mssp',\n category: '',\n tab: ''\n }),\n rootPath: 'mssp/sub-account/'\n });\n });\n };\n\n return (\n
    \n
    \n {!!data.columns.length && (\n \n )}\n
    \n
    \n );\n};\n\nexport default Accounts;\n","import React, { createContext, useContext, useState, useEffect } from 'react';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Common } from 'common/services/common.service';\n// import { ThreatsCenter_Mock } from 'common/mocks/threatsCenter';\n\nexport type ThreatsCenterContextType = {\n allData: any;\n filteredData: any;\n dependentData: any;\n timeLineData: any;\n isLoading: boolean;\n search: string;\n showOnlyFindings: boolean;\n setTimelineSelected: (selected: string | null) => void;\n setShowOnlyFindings: (show: boolean) => void;\n timelineSelected: string | null;\n setSearch: (pattern: string) => void;\n};\n\ninterface ThreatsCenterProviderProps {\n children: JSX.Element | JSX.Element[];\n}\n\nconst ThreatsCenterContext = createContext(null);\n\nexport const ThreatsCenterProvider: React.FC = ({ children }) => {\n const [allData, setAllData] = useState(null);\n const [filteredData, setFilteredData] = useState(null);\n const [dependentData, setDependentData] = useState(null);\n const [timeLineData, setTimeLineData] = useState(null);\n const [timelineSelected, setTimelineSelected] = useState(null);\n const [showOnlyFindings, setShowOnlyFindings] = useState(false);\n const [isLoading, setIsLoading] = useState(true);\n const [search, setSearch] = useState('');\n\n useEffect(() => {\n if (!!allData && !isLoading) {\n let data: any;\n if (search) {\n data = allData.filter((item: any) => {\n return (\n item.title.toLowerCase().includes(search.toLowerCase()) ||\n item.description.toLowerCase().includes(search.toLowerCase())\n );\n });\n } else {\n data = allData;\n }\n if (showOnlyFindings) {\n data = data.filter((item: any) => {\n return (\n !!dependentData[item.uuid] &&\n (!!dependentData[item.uuid].findings || !!dependentData[item.uuid].potential_affected)\n );\n });\n }\n setFilteredData(data);\n }\n }, [allData, search, isLoading, dependentData, showOnlyFindings]);\n\n const buildTimeLineData = (data: any) => {\n let timeline: any = {};\n\n data\n .sort((a: any, b: any) => new Date(b.creation_time).getTime() - new Date(a.creation_time).getTime())\n .forEach((item: any) => {\n const y = new Intl.DateTimeFormat('en', { year: 'numeric' }).format(new Date(item.creation_time));\n const m = new Intl.DateTimeFormat('en', { month: 'short' }).format(new Date(item.creation_time));\n const monthNumber = new Intl.DateTimeFormat('en', { month: 'numeric' }).format(new Date(item.creation_time));\n const d = new Intl.DateTimeFormat('en', { day: 'numeric' }).format(new Date(item.creation_time));\n const urgency = Common.getUrgencyBySeverity(item.severity);\n\n timeline = {\n ...timeline,\n [y]: {\n ...timeline[y],\n [monthNumber]: {\n label: m,\n days: [...(!!timeline[y] && !!timeline[y][monthNumber] ? timeline[y][monthNumber].days : []), d],\n urgency: [\n ...(!!timeline[y] && !!timeline[y][monthNumber] ? timeline[y][monthNumber].urgency : []),\n urgency.type\n ],\n uuid: [...(!!timeline[y] && !!timeline[y][monthNumber] ? timeline[y][monthNumber].uuid : []), item.uuid]\n }\n }\n };\n });\n setTimeLineData(timeline);\n };\n\n const fetchData = async () => {\n try {\n const path = 'threat-center/';\n RestApi.getData(path).subscribe((response: any) => {\n // INFO: Real data\n setAllData(response.results);\n setFilteredData(response.results);\n buildTimeLineData(response.results);\n\n // // INFO: Mock data\n // setAllData(ThreatsCenter_Mock);\n // setFilteredData(ThreatsCenter_Mock);\n // buildTimeLineData(ThreatsCenter_Mock);\n if (!response.results?.length) {\n setIsLoading(false);\n }\n });\n } catch (err) {\n console.log('#ERR: fetch data');\n setIsLoading(false);\n }\n };\n\n useEffect(() => {\n setIsLoading(true);\n fetchData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getAllTags = (open: any, closed: any) => {\n const selectedRowsTags = new Set();\n open.forEach((row: any) => {\n if (!!row.tags) {\n row.tags.forEach((tag: any) => {\n selectedRowsTags.add(tag.name);\n });\n }\n });\n if (!!closed) {\n closed.forEach((row: any) => {\n if (!!row.tags) {\n row.tags.forEach((tag: any) => {\n selectedRowsTags.add(tag.name);\n });\n }\n });\n }\n\n return [...selectedRowsTags];\n };\n\n const fetchDependentData = async () => {\n const promisesAPIs = allData.reduce((all: any, curr: any) => {\n let closed: any;\n if (!!curr.findings_api_url && curr.findings_api_url.includes('/action-items/open/')) {\n closed = curr.findings_api_url.replace('/api/v1/', '').replace('/action-items/open/', '/action-items/closed/');\n closed = `${closed}&limit=1000`;\n }\n return curr.findings_api_url || curr.potential_affected_api_url\n ? {\n ...all,\n [curr.uuid]: {\n ...(!!curr.findings_api_url ? { findings: curr.findings_api_url.replace('/api/v1/', '') } : {}),\n ...(!!curr.potential_affected_api_url\n ? { potential_affected: curr.potential_affected_api_url.replace('/api/v1/', '') }\n : {}),\n ...(!!closed ? { closed: closed } : {})\n }\n }\n : { ...all };\n }, {});\n let responses: any = {};\n for (const key in promisesAPIs) {\n const response: any = await RestApi.getPromiseAll(promisesAPIs[key]);\n responses = {\n ...responses,\n [key]: {\n ...(!!response.findings\n ? {\n findings: response.findings.count,\n tags: getAllTags(response.findings.results, response?.closed?.results)\n }\n : {}),\n ...(!!response.potential_affected ? { potential_affected: response.potential_affected.count } : {}),\n ...(!!response.closed ? { closed: response.closed.count } : {})\n }\n };\n }\n\n setDependentData(responses);\n setIsLoading(false);\n };\n\n useEffect(() => {\n if (!!allData?.length) {\n fetchDependentData();\n // setIsLoading(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allData]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useThreatsCenter = () => {\n return useContext(ThreatsCenterContext);\n};\n","import React, { useEffect } from 'react';\nimport { Text, getColorByUrgency } from '@cyberpion/cyberpion-ui';\nimport { ThreatsCenterContextType, useThreatsCenter } from '../ThreatsCenterContext';\nimport { HashLink } from 'react-router-hash-link';\nimport { useLocation } from 'react-router-dom';\n\nimport './Timeline.scss';\n\nconst Timeline = () => {\n const {\n setSearch,\n setShowOnlyFindings,\n timeLineData,\n setTimelineSelected\n } = useThreatsCenter() as ThreatsCenterContextType;\n const location = useLocation();\n\n useEffect(() => {\n if (location?.hash) {\n setTimelineSelected(location.hash.replace('#', ''));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location?.hash]);\n\n const handleDayOnClicked = () => {\n setSearch('');\n setShowOnlyFindings(false);\n };\n\n return !!timeLineData ? (\n
    \n
    \n {Object.keys(timeLineData)\n .reverse()\n .map((year: any) => (\n
    \n
    \n \n {year}\n \n
    \n\n {Object.keys(timeLineData[year])\n .reverse()\n .map((month: any) => (\n
    \n
    \n \n {timeLineData[year][month].label}\n \n
    \n
    \n {timeLineData[year][month].days\n .sort((a: string, b: string) => parseInt(b) - parseInt(a))\n .map((day: any, index: number) => {\n const urgencyColor = getColorByUrgency(timeLineData[year][month].urgency[index]);\n const to = timeLineData[year][month].uuid[index];\n\n return (\n
    \n {\n el.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'start' });\n }}\n >\n {day}\n \n
    \n );\n })}\n
    \n
    \n ))}\n
    \n ))}\n
    \n
    \n ) : null;\n};\n\nexport default Timeline;\n","import React from 'react';\nimport { CustomSwitch } from 'common/components/CustomSwitch/CustomSwitch';\n\nimport './ThreatCenterTopBar.scss';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { ThreatsCenterContextType, useThreatsCenter } from '../ThreatsCenterContext';\n\nconst ThreatCenterTopBar = () => {\n const {\n search,\n setSearch,\n showOnlyFindings,\n setShowOnlyFindings,\n setTimelineSelected\n } = useThreatsCenter() as ThreatsCenterContextType;\n\n const handleSwitch = (e: React.ChangeEvent, isChecked: boolean) => {\n setTimelineSelected(null);\n setShowOnlyFindings(isChecked);\n };\n\n const handleOnSearch = (e: any) => {\n setTimelineSelected(null);\n setSearch(e.target.value);\n };\n\n return (\n
    \n
    \n \"Search\"\n \n
    \n
    \n \n Hide threats without findings\n \n \n
    \n
    \n );\n};\n\nexport default ThreatCenterTopBar;\n","import React from 'react';\nimport { ThreatsCenterContextType, useThreatsCenter } from 'pages/ThreatCenter/ThreatsCenterContext';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport classNames from 'classnames';\nimport { Common } from 'common/services/common.service';\n\nconst Findings = ({ data }: any) => {\n const { dependentData } = useThreatsCenter() as ThreatsCenterContextType;\n\n const findings =\n !!dependentData && !!dependentData[data.uuid] && !!dependentData[data.uuid].findings\n ? dependentData[data.uuid]?.findings\n : 0;\n const affected =\n !!dependentData && !!dependentData[data.uuid] && !!dependentData[data.uuid]?.potential_affected\n ? dependentData[data.uuid]?.potential_affected\n : 0;\n\n const handleOnClick = (type: string) => () => {\n window.open(\n type === 'findings'\n ? Common.AddMsspAccountIfNeeded(data.findings_ui_url)\n : Common.AddMsspAccountIfNeeded(data.potential_affected_ui_url),\n '_blank'\n );\n };\n\n return !!data.findings_api_url || !!data.potential_affected_api_url ? (\n
    \n \n {!!data.findings_api_url && (\n \n \n {findings}\n \n \n Confirmed Findings\n \n
    \n )}\n {!!data.findings_api_url && !!data.potential_affected_api_url && (\n
    \n )}\n {!!!!data.potential_affected_api_url && (\n \n \n {affected}\n \n \n Potentially Affected\n \n \n )}\n \n \n ) : null;\n};\n\nexport default Findings;\n","import React from 'react';\nimport { Text, getColorByUrgency } from '@cyberpion/cyberpion-ui';\nimport { Common } from 'common/services/common.service';\nimport { ThreatsCenterContextType, useThreatsCenter } from 'pages/ThreatCenter/ThreatsCenterContext';\nimport { HashLink } from 'react-router-hash-link';\nimport classNames from 'classnames';\nimport Findings from './Findings';\nimport Tooltip from '@mui/material/Tooltip';\n\nimport './ThreatItem.scss';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nconst linkIcon = (\n \n \n \n \n \n);\n\nconst ThreatItem = ({ data }: any) => {\n const {\n setSearch,\n setShowOnlyFindings,\n allData,\n timelineSelected,\n dependentData\n } = useThreatsCenter() as ThreatsCenterContextType;\n\n const textStyle = { lineHeight: 1.35 };\n const urgency = Common.getUrgencyBySeverity(data.severity);\n const urgencyColor = getColorByUrgency(urgency.type);\n const closed = !!dependentData && !!dependentData[data.uuid] ? dependentData[data.uuid]?.closed : 0;\n const tags = !!dependentData && !!dependentData[data.uuid] ? dependentData[data.uuid]?.tags : [];\n let references: string = '';\n if (!!data.references && !!data.references.length) {\n references = '
    References
      ';\n data.references.forEach(\n (ref: any) => (references += `
    • ${ref.name}
    • `)\n );\n references += '
    ';\n }\n const readMore = !!data.read_more ? `Read More` : '';\n\n let html = `
    ${data.description} ${readMore}
    \n ${!!references ? references : ''}\n `;\n\n const handleArtifactOnClicked = () => {\n setSearch('');\n setShowOnlyFindings(false);\n };\n\n return (\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n Created\n \n \n {Common.getShortDate(data.creation_time)}\n \n
    \n
    \n \n Last Updated\n \n \n {Common.getShortDate(data.update_time)}\n \n
    \n
    \n \n Source\n \n \n {data.source}\n \n
    \n\n {!!closed && !data.findings_ui_url && (\n
    \n {`${closed} Action Item${closed !== 1 ? 's' : ''} Closed`}\n
    \n )}\n {!!closed && !!data.findings_ui_url && (\n {`${closed} Action Item${closed !== 1 ? 's' : ''} Closed`}}\n />\n )}\n
    \n
    \n
    \n {!!tags &&\n !!tags.length &&\n tags.slice(0, 3).map((tag: string, index: number) => (\n
    \n {tag}\n
    \n ))}\n {!!tags && !!tags.length && tags.length > 3 && (\n
    \n \n {tags.map((tag: string, index: number) => (\n \n {tag}\n
    \n ))}\n
    \n }\n placement=\"top-start\"\n componentsProps={{\n tooltip: {\n sx: {\n backgroundColor: '#FCFCFC',\n color: '#999BA4',\n padding: '5px 8px',\n lineHeight: '16px',\n fontSize: 13,\n '& .MuiTooltip-arrow': {\n color: '#999BA4'\n },\n border: '1px solid #60646A50',\n borderRadius: 1\n }\n }\n }}\n >\n
    \n \n +{`${tags.length - 3}`}\n \n
    \n \n
    \n )}\n \n \n
    \n {!!data.image && (\n
    \n \n
    \n )}\n
    \n
    \n
    \n \n {data.title}\n \n
    \n
    \n
    \n
    \n {!!data.previous_connected_posts &&\n !!data.previous_connected_posts.length &&\n data.previous_connected_posts.map((artifact: string) => {\n const item = allData.find((item: any) => item.uuid === artifact);\n return !!item ? (\n
    \n {\n el.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'start' });\n }}\n >\n
    \n {linkIcon}\n \n {` ${Common.getShortDate(data.creation_time)} ${item.title}`}\n \n
    \n \n
    \n ) : null;\n })}\n
    \n
    \n \n
    \n \n \n );\n};\n\nexport default ThreatItem;\n","import React, { FC } from 'react';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport ThreatItem from '../ThreatItem/ThreatItem';\n\nimport './ThreatsList.scss';\n\ninterface IThreatsList {\n data: any;\n title: string;\n className: string;\n}\n\nconst ThreatsList: FC = ({ data, title, className }) => {\n return !!data && !!data.length ? (\n
    \n {`${title} (${data.length})`}\n {data.map((thread: any, index: number) => (\n
    \n \n
    \n ))}\n
    \n ) : null;\n};\n\nexport default ThreatsList;\n","import React, { useState, useEffect } from 'react';\nimport ThreatsList from './ThreatsList/ThreatsList';\nimport { ThreatsCenterContextType, useThreatsCenter } from '../ThreatsCenterContext';\n\nimport './ThreatsContainer.scss';\nimport { NoIssuesIcon } from 'common/components/manageNotData/components/NoIssuesIcon/NoIssuesIcon';\n\nconst ThreatsContainer = () => {\n const [last30Data, setLast30Data] = useState([]);\n const [earlierData, setEarlierData] = useState([]);\n const { filteredData } = useThreatsCenter() as ThreatsCenterContextType;\n\n useEffect(() => {\n if (!!filteredData) {\n const last30 = filteredData\n .sort((a: any, b: any) => new Date(b.creation_time).getTime() - new Date(a.creation_time).getTime())\n .filter((item: any) => {\n return new Date(item.creation_time).getTime() > Date.now() - 30 * 24 * 60 * 60 * 1000;\n });\n const earlier = filteredData\n .sort((a: any, b: any) => new Date(b.creation_time).getTime() - new Date(a.creation_time).getTime())\n .filter((item: any) => {\n return new Date(item.creation_time).getTime() < Date.now() - 30 * 24 * 60 * 60 * 1000;\n });\n setLast30Data(last30);\n setEarlierData(earlier);\n }\n }, [filteredData]);\n\n return (\n
    \n {!!last30Data?.length || !!earlierData?.length ? (\n <>\n \n \n \n ) : (\n \n )}\n
    \n );\n};\n\nexport default ThreatsContainer;\n","import React, { useEffect } from 'react';\nimport { updateHeader } from 'common/services/common.service';\nimport Timeline from './Timeline/Timeline';\nimport ThreatCenterTopBar from './ThreatCenterTopBar/ThreatCenterTopBar';\nimport ThreatsContainer from './Threats/ThreatsContainer';\nimport { ThreatsCenterContextType, ThreatsCenterProvider, useThreatsCenter } from './ThreatsCenterContext';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\n// import { useFlags } from 'launchdarkly-react-client-sdk';\n// import { useHistory } from 'react-router-dom';\n\nimport './ThreatCenter.scss';\n\nconst ThreatCenterModule = () => {\n const { isLoading } = useThreatsCenter() as ThreatsCenterContextType;\n\n useEffect(() => {\n updateHeader.sendHeaderText('Threat Center');\n }, []);\n\n return !isLoading ? (\n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n ) : (\n \n );\n};\n\nconst ThreatCenter = () => {\n // const flags = useFlags();\n // const history = useHistory();\n\n // if (!flags.isIonixThreatCenter) {\n // history.push('/');\n // }\n\n return (\n \n \n \n );\n};\n\nexport default ThreatCenter;\n","import { Switch, Route, Redirect } from 'react-router-dom';\nimport { ActiveProtectionModule } from 'pages/active-protection/ActiveProtectionModule';\nimport { DashboardModule } from 'pages/dashboard/DashboardModule';\nimport { Assesments } from 'pages/assesments/Assesments';\nimport { Settings } from 'pages/Settings/Settings';\nimport { NotFound } from 'notFound/NotFound';\nimport { SingleAsset } from 'pages/inventory/singleAsset/SingleAsset';\nimport Inventory from 'pages/inventory/Inventory';\nimport ActionItems from 'pages/action-items/ActionItems';\nimport Accounts from 'pages/Accounts/Accounts';\nimport { Common } from 'common/services/common.service';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nimport ThreatCenter from 'pages/ThreatCenter/ThreatCenter';\n\nexport function PagesRouting() {\n const { user } = useSelector((state: IReduxState) => state.login);\n\n const shouldRedirectToMssp = () => {\n return (\n user.is_mssp_user &&\n !Common.getParamFromUrl('account') &&\n !window.location.pathname.includes('accounts') &&\n !window.location.pathname.includes('settings')\n );\n };\n\n if (shouldRedirectToMssp()) {\n return ;\n }\n\n return (\n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n } />\n \n );\n}\n","import { useEffect, useState } from 'react';\nimport './Help.scss';\n\ndeclare const window: any;\nconst ZD_WIDGET_ID = 'webWidget';\n\nexport function Help() {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n const body = document.getElementsByTagName('body')[0];\n body.addEventListener(\n 'DOMNodeInserted',\n event => {\n const target = event.target as HTMLIFrameElement;\n if (target) {\n if (target.id === ZD_WIDGET_ID) {\n document.getElementById(ZD_WIDGET_ID)?.classList.add('show');\n }\n }\n },\n false\n );\n }, []);\n return (\n {\n if (open) {\n document.getElementById(ZD_WIDGET_ID)?.classList.remove('show');\n setOpen(false);\n } else {\n window.zE.activate();\n document.getElementById(ZD_WIDGET_ID)?.classList.add('show');\n setOpen(true);\n }\n }}\n >\n ?\n \n );\n}\n","import { useEffect, useState } from 'react';\nimport './HelpCenter.scss';\nimport classNames from 'classnames';\nimport { LinkNewTab } from '../LinkNewTab/LinkNewTab';\n\nexport function HelpCenter(props: any) {\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n setVisible(true);\n }, []);\n\n return (\n \n \"Help\n Help Center\n \n }\n />\n );\n}\n","import { PopUp } from 'common/components/popUp/PopUp';\nimport { MENU_ITEMS } from 'common/components/sidebar-menu/config';\nimport { SidebarMenu } from 'common/components/sidebar-menu/sidebar-menu';\nimport { UserSettings } from 'common/components/UserSettings/UserSettings';\nimport { Logo } from 'header/components/logo/Logo';\nimport { User } from 'header/components/user/User';\nimport { Header } from 'header/header';\nimport { useEffect, useState } from 'react';\nimport { PagesRouting } from './PagesRouting';\nimport { Help } from 'common/components/Help/Help';\nimport { useHistory } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nimport classNames from 'classnames';\nimport { Common } from 'common/services/common.service';\nimport { HelpCenter } from 'common/components/HelpCenter/HelpCenter';\n\nexport function AppRouting(props: any) {\n const [settingsPopupVisible, setSettingsPopupVisible] = useState(false);\n const { user, account } = useSelector((state: IReduxState) => state.login);\n const history = useHistory();\n\n useEffect(() => {\n Common.updateLinksToMssp();\n window.addEventListener(\n 'DOMNodeInserted',\n () => {\n Common.updateLinksToMssp();\n },\n false\n );\n history.listen(() => {\n if (account) {\n var searchParams = new URLSearchParams(window.location.search);\n searchParams.set('account', account);\n var newRelativePathQuery = window.location.pathname + '?' + searchParams.toString();\n window.history.pushState(null, '', newRelativePathQuery);\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n
    \n \n \n \n \n
    \n \n setSettingsPopupVisible(true)} />\n
    \n \n setSettingsPopupVisible(false)} />\n \n
    \n\n
    \n
    \n \n
    \n \n );\n}\n","import './LoginBackgroundAnimation.scss';\n\nexport function LoginBackgroundAnimation() {\n return (\n
    \n
    \n
    \n
    \n
    \n
    \n );\n}\n","import { useState } from 'react';\nimport './InputField.scss';\nimport classNames from 'classnames';\n\ninterface IInputField {\n type: string;\n placeholder?: string;\n onChange: Function;\n error?: string;\n disabled?: boolean;\n}\n\nexport function InputField(props: IInputField) {\n const [value, setValue] = useState('');\n\n const onChange = (e: any) => {\n setValue(e.target.value);\n props.onChange(e.target.value);\n };\n\n const getMaxLength = (): number => {\n switch (props.type.toLowerCase()) {\n case 'email':\n return 254;\n default:\n return 30;\n }\n };\n\n return (\n
    \n \n {props.error &&
    {props.error}
    }\n
    \n );\n}\n","import { Image } from 'common/components/image/Image';\nimport './SSO.scss';\nimport { env } from 'env';\n\ninterface IKeys {\n [key: string]: string;\n}\n\ninterface IRadioButton {\n toggle?: boolean;\n list: string[];\n samlIdp?: string;\n}\n\nexport function SSO(props: IRadioButton) {\n let isExsit: any = [];\n\n //@description: Adding text by icon type\n function textBySSOIcon(key: string) {\n let headersKey: IKeys = {\n 'microsoft-graph': 'Continue With Microsoft',\n saml: 'Continue With SAML'\n };\n return headersKey[key];\n }\n\n const getNextPath = () => {\n const nextPath = window.location.href.split('next=')[1];\n if (nextPath && nextPath.includes('http')) {\n return nextPath;\n }\n const nextLocation = window.location.origin + nextPath;\n return nextLocation;\n };\n\n const getLink = (sso: string) => {\n switch (sso) {\n case 'microsoft-graph':\n return `${env.REACT_APP_BASE_URL}auth/social/login/${sso}/?next=${encodeURIComponent(getNextPath())}`;\n case 'saml':\n return `${env.REACT_APP_BASE_URL}auth/social/login/${sso}/?idp=${props.samlIdp}&next=${encodeURIComponent(\n getNextPath()\n )}`;\n }\n };\n\n return (\n <>\n {props.list.length !== 0 &&\n props.list.map((key_sso: string, index: number) => {\n if (isExsit.indexOf(key_sso) === -1) {\n isExsit.push(key_sso);\n return (\n \n );\n }\n return '';\n })}\n \n );\n}\n","import * as EmailValidator from 'email-validator';\nimport { InputField } from 'common/components/InputField/InputField';\nimport { Button } from 'common/components/Button/Button';\nimport classNames from 'classnames';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { Common } from 'common/services/common.service';\nimport { INIT_DATA_LOGIN } from 'login/config';\nimport { useEffect, useState } from 'react';\nimport { ILogin } from 'login/interface';\nimport _ from 'lodash';\nimport { SSO } from 'login/components/SSO/SSO';\nimport { LoginService } from 'login/services/login.service';\nimport { pathManageService } from 'login/services/pathManage.service';\nimport { useDispatch } from 'react-redux';\nimport { checkSession } from 'features/LoginSlice';\nimport { useHistory } from 'react-router-dom';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport './LoginForm.scss';\n\nconst ERRORS = {\n EMAIL_INVALID: 'Invalid Input',\n WRONG_PASSWORD: 'Invalid Input',\n GENERAL: 'Something went wrong',\n VALIDATION_INVALID: 'Invalid Input'\n};\n\nconst MIN_PASSWORD_LENGTH = 10;\nconst VALIDATION_CODE_LENGTH = 6;\n\nexport function LoginForm(props: any) {\n const dispatch = useDispatch();\n let history = useHistory();\n const [loading, setLoading] = useState(false);\n\n const [generalError, setGeneralError] = useState('');\n\n const [email, setEmail] = useState('');\n const [emailError, setEmailError] = useState('');\n\n const [password, setPassword] = useState('');\n const [passwordError, setPasswordError] = useState('');\n const [showPasswordField, setShowPasswordField] = useState(false);\n const [showLoginButton, setShowLoginButton] = useState(true);\n\n const [validationCode, setValidationCode] = useState('');\n const [validationCodeError, setValidationCodeError] = useState('');\n const [showValidationField, setShowValidationField] = useState(false);\n const [isRequiredValidationCode, setIsRequiredValidationCode] = useState(false);\n\n const [buttonText, setButtonText] = useState('Next');\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\n\n const [loginData, setLoginData] = useState(Common.cloneData(INIT_DATA_LOGIN));\n const [accountMethodsType, setAccountMethodsType] = useState([]);\n const [userMethodsType, setUserMethodsType] = useState([]);\n const [showMethodsButtons, setShowMethodsButtons] = useState(false);\n const [selectedMethod, setSelectedMethod] = useState(null);\n\n useEffect(() => {\n setIsButtonDisabled(!EmailValidator.validate(email));\n }, [email]);\n\n useEffect(() => {\n setIsButtonDisabled(password.length < MIN_PASSWORD_LENGTH);\n }, [password]);\n\n useEffect(() => {\n setIsButtonDisabled(validationCode.length < VALIDATION_CODE_LENGTH);\n }, [validationCode]);\n\n const clearErrors = () => {\n setGeneralError('');\n setEmailError('');\n setValidationCodeError('');\n setPasswordError('');\n };\n\n const login = (method?: string) => {\n let url = `auth/login/`;\n let data: any = {\n email: email,\n password: password\n };\n\n if (isRequiredValidationCode) {\n data.otp_method = method?.toLowerCase() || selectedMethod;\n if (!!method) setSelectedMethod(method?.toLowerCase());\n }\n if (validationCode) {\n data.otp_token = validationCode;\n }\n\n RestApi.setData(url, data, 'POST').subscribe(\n (response: any) => {\n if (response && response.id) {\n LoginService.setUser(response);\n dispatch(checkSession());\n if (response.is_mssp_user) {\n history.push('/pages/accounts');\n } else {\n const next = pathManageService.nextPath();\n if (next.includes('http') && window.location.hostname.includes(next)) {\n // in case the redirect is to an external site\n window.location.href = decodeURIComponent(next);\n return;\n } else {\n history.push(next);\n }\n }\n } else {\n setIsButtonDisabled(true);\n setShowMethodsButtons(false);\n setShowValidationField(true);\n setButtonText('Login');\n setLoading(false);\n }\n },\n error => {\n setLoading(false);\n if (isRequiredValidationCode && buttonText !== 'Login') {\n setShowMethodsButtons(true);\n }\n if (error.status === 401) {\n if (!validationCode) {\n setPasswordError(ERRORS.WRONG_PASSWORD);\n } else {\n setValidationCodeError(ERRORS.VALIDATION_INVALID);\n }\n } else if (error.status === 403) {\n setGeneralError(error.message);\n } else {\n setGeneralError(ERRORS.GENERAL);\n }\n }\n );\n };\n\n const handleSubmit = (method?: string) => (e: any) => {\n e.preventDefault();\n setLoading(true);\n clearErrors();\n if (password) {\n login(method);\n return;\n }\n if (EmailValidator.validate(email)) {\n setLoading(true);\n let url = `auth/login_methods/`;\n RestApi.setData(url, { email: email }, 'POST').subscribe(\n (response: any) => {\n let merge = _.merge(Object.assign({}, loginData), response);\n setLoginData(merge);\n setLoading(false);\n setIsButtonDisabled(true);\n setShowPasswordField(!!merge.jwt.is_active);\n setShowLoginButton(!!merge.jwt.is_active);\n if (merge.jwt.two_fa.is_active) {\n setIsRequiredValidationCode(true);\n setAccountMethodsType(merge.jwt.two_fa.options);\n setUserMethodsType(merge.jwt.two_fa.selected);\n setShowMethodsButtons(true);\n // setButtonText('Send Validation Code');\n } else {\n setButtonText('Login');\n }\n },\n error => {\n setEmailError(ERRORS.EMAIL_INVALID);\n setLoading(false);\n }\n );\n } else {\n setLoading(false);\n setEmailError(ERRORS.EMAIL_INVALID);\n }\n };\n\n const onChangeEmail = (value: string) => {\n setEmail(value);\n setEmailError('');\n };\n\n const onChangePassword = (value: string) => {\n setPassword(value);\n setPasswordError('');\n };\n\n const onChangeValidation = (value: string) => {\n setValidationCode(value);\n setValidationCodeError('');\n };\n\n return (\n \n
    Login to your account
    \n \n {showPasswordField && (\n \n )}\n {showValidationField && (\n \n )}\n {showLoginButton && !showMethodsButtons && (\n \n )}\n {isRequiredValidationCode && showMethodsButtons && (\n <>\n Choose Validation Method\n 1 },\n { 'small-padding-bottom': loginData.sso.is_active }\n )}\n >\n {accountMethodsType.map((method: string, index: number) => (\n
    \n 1 },\n { 'small-padding-left': index !== 0 }\n )}\n >\n \n
    \n \n ))}\n \n \n )}\n {loginData.sso.is_active && }\n {generalError &&
    {generalError}
    }\n \n );\n}\n","import { useState, useCallback } from 'react';\nimport { RestApi, addHeaders } from 'common/services/rest-api.service';\nimport { env } from 'env';\n\nexport const useLogin = (setConfirmError?: any) => {\n const [isValidUser, setIsValidUser] = useState(null);\n const [isLoading, setIsLoading] = useState(null);\n const [isPasswordSaved, setIsPasswordChanged] = useState(false);\n const [isForgotPasswordValidEmail, setIsForgotPasswordValidEmail] = useState(false);\n const [userToken, setUserToken] = useState(null);\n\n const validateUser = useCallback((token: string) => {\n setIsLoading(true);\n const url = `auth/activate_user/${token}/`;\n RestApi.getData(url).subscribe(\n (response: any) => {\n setUserToken(token);\n setIsValidUser(true);\n setIsLoading(false);\n },\n error => {\n setUserToken(token);\n setIsValidUser(false);\n setIsLoading(false);\n }\n );\n }, []);\n\n const manageError = async (response: any) => {\n if (!response.ok && (response.status === 400 || response.status === 401)) {\n const errors = await response.json();\n const responseError = {\n statusText: response.status,\n errors: errors\n };\n throw responseError;\n }\n return response;\n };\n\n const changeUserPassword = async (password: string, isNewUser: boolean) => {\n const path = isNewUser\n ? `${env.REACT_APP_BASE_URL}auth/activate_user/${userToken}/`\n : `${env.REACT_APP_BASE_URL}auth/forgot_password/${userToken}/`;\n\n await fetch(path, {\n method: 'PATCH',\n mode: 'cors',\n headers: addHeaders('PATCH'),\n credentials: 'include',\n body: JSON.stringify({\n password\n })\n })\n .then(manageError)\n .then(response => {\n setConfirmError([]);\n setIsPasswordChanged(true);\n })\n .catch(({ errors }) => {\n setConfirmError(errors);\n setIsPasswordChanged(false);\n });\n };\n\n const forgotPasswordValidateEmail = async (email: string) => {\n setIsLoading(true);\n\n let url = `auth/forgot_password/`;\n RestApi.setData(url, { email: email }, 'POST').subscribe(\n (response: any) => {\n setIsForgotPasswordValidEmail(true);\n setIsLoading(false);\n },\n error => {\n setIsForgotPasswordValidEmail(true);\n setIsLoading(false);\n }\n );\n };\n\n const forgotPasswordValidateToken = async (token: string) => {\n const url = `${env.REACT_APP_BASE_URL}auth/forgot_password/${token}`;\n const res = await fetch(url, {\n method: 'GET',\n mode: 'cors',\n headers: addHeaders('GET'),\n credentials: 'include'\n })\n .then(manageError)\n .then(response => {\n setUserToken(token);\n setIsValidUser(true);\n })\n .catch(({ errors }) => {\n setUserToken(token);\n setIsValidUser(false);\n });\n return res;\n };\n\n return {\n isLoading,\n isValidUser,\n isPasswordSaved,\n isForgotPasswordValidEmail,\n validateUser,\n changeUserPassword,\n forgotPasswordValidateEmail,\n forgotPasswordValidateToken\n } as const;\n};\n","import './ForgotPasswordForm.scss';\nimport { InputField } from 'common/components/InputField/InputField';\nimport { Button } from 'common/components/Button/Button';\nimport * as EmailValidator from 'email-validator';\nimport classNames from 'classnames';\nimport { useLogin } from 'login/hooks/useLogin';\nimport { useEffect, useState } from 'react';\n\nexport function ForgotPasswordForm(props: any) {\n const { isLoading, isForgotPasswordValidEmail, forgotPasswordValidateEmail } = useLogin();\n const [email, setEmail] = useState('');\n const [emailError, setEmailError] = useState('');\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\n const [isVisible, setIsVisible] = useState(false);\n\n const validateEmail = (e: any): void => {\n e.preventDefault();\n if (email && EmailValidator.validate(email)) {\n forgotPasswordValidateEmail(email);\n } else {\n setEmailError('Invalid Email');\n }\n };\n\n const onChangeInput = (value: string) => {\n setEmail(value);\n setEmailError('');\n setIsButtonDisabled(!EmailValidator.validate(value));\n };\n\n useEffect(() => {\n if (props.visible) {\n setIsVisible(true);\n }\n }, [props.visible]);\n\n return (\n
    validateEmail(e)}>\n {!isForgotPasswordValidEmail ? (\n
    \n
    Reset Password
    \n

    Enter your account email address and we'll send you a link to reset your password.

    \n \n validateEmail(e)}\n />\n
    \n ) : (\n
    Authentication Email sent
    \n )}\n
    \n );\n}\n","import './ForgotPasswordFlow.scss';\nimport { InputField } from 'common/components/InputField/InputField';\nimport { Button } from 'common/components/Button/Button';\nimport { Link } from 'react-router-dom';\nimport { useLogin } from 'login/hooks/useLogin';\nimport { useEffect, useState } from 'react';\nimport { Common } from 'common/services/common.service';\n\nexport function ForgotPasswordFlow(props: any) {\n const [newPassword, setNewPassword] = useState('');\n const [newPasswordError, setNewPasswordError] = useState('');\n const [confirmPassword, setConfirmPassword] = useState('');\n const [confirmPasswordError, setConfirmPasswordError] = useState([]);\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\n const {\n isLoading,\n isValidUser,\n isPasswordSaved,\n validateUser,\n changeUserPassword,\n forgotPasswordValidateToken\n } = useLogin(setConfirmPasswordError);\n\n useEffect(() => {\n if (props.isNewUser && !isValidUser) {\n const ref = Common.getParamFromUrl('ref');\n if (ref) {\n validateUser(ref);\n }\n }\n }, [isValidUser, validateUser, props.isNewUser]);\n\n useEffect(() => {\n if (!props.isNewUser) {\n const ref = Common.getParamFromUrl('ref');\n if (ref) {\n forgotPasswordValidateToken(ref);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isNewUser]);\n\n useEffect(() => {\n setIsButtonDisabled(!(newPassword === confirmPassword && newPassword));\n }, [newPassword, confirmPassword]);\n\n const submit = (e: any): void => {\n e.preventDefault();\n if (!newPassword) {\n setNewPasswordError('Type your new password');\n return;\n }\n if (!confirmPassword) {\n setConfirmPasswordError(['Retype your new password']);\n return;\n }\n\n if (newPassword !== confirmPassword) {\n setConfirmPasswordError(['Password do not match']);\n return;\n }\n\n changeUserPassword(newPassword, props.isNewUser);\n };\n\n const onChangePassword = (value: string) => {\n setNewPassword(value);\n setNewPasswordError('');\n };\n\n const onChangeConfirmPassword = (value: string) => {\n setConfirmPassword(value);\n setConfirmPasswordError(['']);\n };\n\n const onBack = (e: React.MouseEvent): void => {\n e.preventDefault();\n props.onBack();\n };\n\n return (\n
    submit(e)}>\n {isPasswordSaved ? (\n
    \n
    New Password Saved Successfully!
    \n onBack(e)}>\n Go To Login\n \n
    \n ) : (\n
    \n
    Reset your password
    \n \n \n submit(e)}\n loading={isLoading}\n disabled={isButtonDisabled}\n />\n
    \n )}\n
    \n );\n}\n","import { useState } from 'react';\nimport './LoginBox.scss';\nimport { Link } from 'react-router-dom';\nimport { LoginForm } from './LoginForm/LoginForm';\nimport { ForgotPasswordForm } from './ForgotPasswordForm/ForgotPasswordForm';\nimport { ForgotPasswordFlow } from './ForgotPasswordFlow/ForgotPasswordFlow';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport classNames from 'classnames';\n\nexport function LoginBox() {\n const isForgotPassword = window.location.pathname.includes('forgot-password');\n const isNewUser = window.location.pathname.includes('new-user');\n const [loading, setLoading] = useState(false);\n\n const [isResetPassword, setIsResetPassword] = useState(isForgotPassword || isNewUser);\n\n const toggleForgotPassword = (val: boolean) => {\n setLoading(true);\n const timer = setTimeout(() => {\n clearTimeout(timer);\n setIsResetPassword(val);\n setLoading(false);\n }, 1000);\n };\n\n return (\n
    \n \"Logo\"\n
    \n {}\n {(isForgotPassword || isNewUser) && isResetPassword ? (\n setIsResetPassword(false)} />\n ) : (\n <>\n {isResetPassword ? (\n setIsResetPassword(false)} />\n ) : (\n \n )}\n \n )}\n
    \n
    \n {!isForgotPassword && !isNewUser && (\n
    \n {!isResetPassword ? (\n toggleForgotPassword(true)}>\n Lost your password?\n \n ) : (\n toggleForgotPassword(false)} className=\"back-to-login\">\n Back to login\n \n )}\n
    \n )}\n
    \n For general assistance please contact our support team\n
    \n
    \n
    \n );\n}\n","import { useEffect, useState } from 'react';\nimport { ILoginToken } from './interface';\nimport './login.scss';\nimport classNames from 'classnames';\nimport { useSelector } from 'react-redux';\nimport { IReduxState } from 'app/store';\nimport { LoginBackgroundAnimation } from './components/LoginBackgroundAnimation/LoginBackgroundAnimation';\nimport { LoginBox } from './components/LoginBox/LoginBox';\nimport { useHistory } from 'react-router-dom';\n\nexport function Login(props: ILoginToken) {\n // const [email, setEmail] = useState({ value: \"\", error: \"\" });\n // const [lostPassword, setLostPassword] = useState(false);\n // const [dataLogin, setDataLogin] = useState(\n // Common.cloneData(INIT_DATA_LOGIN)\n // );\n // const [showLoginEmail, setShowLoginEmail] = useState(true);\n let history = useHistory();\n const [animation, setAnimation] = useState(false);\n const { loading, isLoggedIn } = useSelector((state: IReduxState) => state.login);\n\n //@description: Displays an email error\n // function errorValidEmail() {\n // setEmail({\n // value: email.value,\n // error: \"Invalid Input\",\n // });\n // }\n\n //@description: Email verification check. If it is authentication sends to BE\n // function emailValid() {\n // if (EmailValidator.validate(email.value)) {\n // nextLogin();\n // } else {\n // errorValidEmail();\n // }\n // }\n\n // //@description: event Submit\n // const handleSubmit = async (e: React.FormEvent) => {\n // emailValid();\n // e.preventDefault();\n // };\n\n //@description: Sending verification email at BE\n // function nextLogin() {\n // let url = `auth/login_methods/`;\n // RestApi.setData(url, {email: email.value}, 'POST').subscribe(\n // (response: any) => {\n // let merge = _.merge(Object.assign({}, dataLogin), response);\n // setDataLogin(merge);\n // // setShowLoginEmail(false);\n // },\n // (error) => {\n // errorValidEmail();\n // }\n // );\n // }\n\n // function keyboardEvent(event: React.KeyboardEvent) {\n // if (event.key === \"Enter\") {\n // emailValid();\n // event.preventDefault();\n // }\n // }\n\n // const handleLostPassword = () => {\n // setEmail({ value: \"\", error: \"\" });\n // setLostPassword((lost) => !lost)\n // }\n\n useEffect(() => {\n if (!loading) {\n setTimeout(() => {\n setAnimation(true);\n }, 1000);\n }\n }, [loading]);\n\n useEffect(() => {\n if (isLoggedIn) {\n history.replace('/');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLoggedIn]);\n\n return (\n
    \n \n \n
    \n );\n}\n","// @ts-nocheck\nimport React, { useState, useEffect, useRef } from 'react';\nimport { useSelector } from 'react-redux';\nimport { RestApi } from 'common/services/rest-api.service';\nimport { IReduxState } from 'app/store';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { tosterService } from 'common/services/tostar.service';\nimport { addHeaders } from 'common/services/rest-api.service';\nimport { Grid, TextField, Switch, FormControlLabel } from '@mui/material';\nimport { Text, Indicator } from '@cyberpion/cyberpion-ui';\nimport { Common } from 'common/services/common.service';\n// import MenuItem from \"@mui/material/MenuItem\";\n// import FormControl from \"@mui/material/FormControl\";\n// import Select, { SelectChangeEvent } from \"@mui/material/Select\";\n// import InputLabel from \"@mui/material/InputLabel\";\nimport LoadingButton from '@mui/lab/LoadingButton';\nimport queryString from 'query-string';\n// import { Spinner } from \"common/components/spinner/Spinner\";\n\nimport { PDFContainer } from '@cyberpion/executive-report';\nimport { env } from 'env';\n\nimport './generate-executive-report.scss';\n\n// BE\n// feature/CP-1836-save-generated-reports-for-admin-actual\n// #new-tesyt python manage.py runserver 0:8001\n// FE\n// CP-1929-render-executive-report-in-porta\nconst GenerateExecutiveReport = () => {\n const location = useLocation();\n const history = useHistory();\n const params = queryString.parse(location.search);\n\n const {\n user: { company_name, email } //, is_report_available: isApproved = true },\n } = useSelector((state: IReduxState) => state.login);\n const [isLoading, setisLoading] = useState(false);\n const [isSavingReportToServer, setIsSavingReportToServer] = useState(false);\n const [isSaveEnable, setIsSaveEnable] = useState(true);\n const [ts, setTS] = useState(null);\n const [showLogo /*, setShowLogo*/] = React.useState(true);\n const [showBulk, setShowBulk] = React.useState(false);\n // const [reportType, setReportType] = useState(\"poc\");\n const [isApproved, setIsApproved] = useState(null);\n const [isPreview, setIsPreview] = useState(false);\n const [bulkCompanies, setBulkCompanies] = useState('');\n\n const reportType = 'poc';\n const refReport = useRef();\n const refForm = useRef();\n\n useEffect(() => {\n Common.displayHelp(false);\n\n return () => {\n Common.displayHelp(true);\n };\n }, []);\n\n useEffect(() => {\n const areBulkCompanies = bulkCompanies.split('\\n').filter(c => c !== '').length > 0;\n setIsSaveEnable((!showBulk && isPreview) || (showBulk && areBulkCompanies));\n }, [showBulk, bulkCompanies, isPreview]);\n\n const saveReportAndDownload = async () => {\n console.log('SEND PDF TO SERVER !!!!');\n let url;\n let data;\n\n if (showBulk) {\n const companies = new Set(bulkCompanies.split('\\n').filter(c => c !== ''));\n url = `${env.REACT_APP_BASE_URL}internal/companies_data/${company_name}/report/executive/`;\n data = {\n report: `settings/generate-executive-report?company=%%COMPANY_NAME%%&reportType=${reportType}&logo=${\n showLogo ? 'show' : 'hide'\n }&panel=hide&isBulk=true`,\n companies: Array.from(companies)\n };\n } else {\n url = `${env.REACT_APP_BASE_URL}reports/executive/`;\n data = {\n report: `settings/generate-executive-report?company=${company_name}&reportType=${reportType}&logo=${\n showLogo ? 'show' : 'hide'\n }&panel=hide`\n };\n }\n\n const response = await fetch(url, {\n method: 'POST',\n mode: 'cors',\n headers: addHeaders('POST'),\n credentials: 'include',\n body: JSON.stringify(data)\n })\n .then(data => data.json())\n .catch(err => {\n tosterService.onShowToster('Generated Report failed', 'danger', '');\n setIsSavingReportToServer(false);\n });\n\n console.log('response', response);\n if (response?.date || response?.companies) {\n const msg = response?.date\n ? 'Generated report finished successfully'\n : 'Generated Bulk Reports are being generated.';\n tosterService.onShowToster(msg, 'success', '');\n setIsSavingReportToServer(false);\n }\n };\n\n useEffect(() => {\n if (\n ts === null &&\n params &&\n params['company'] &&\n params['reportType'] &&\n params['panel'] &&\n params['panel'] === 'hide'\n ) {\n // http://localhost:3000/settings/generate-executive-report?company=sompo&reportType=poc&logo=show&panel=hide\n // console.log(\"SET NEW TS!!!\");\n refForm.current.hidden = true;\n document.querySelector('body').style.width = '816px';\n setTS(new Date().getTime());\n }\n if (params['isBulk'] === 'true') {\n setShowBulk(true);\n }\n }, [params, ts]);\n\n // const downloadPDF = (blobToDownload) => {\n // try {\n // const path = 'https://www.africau.edu/images/default/sample.pdf';\n // const fileName = 'report.pdf';\n // const a = document.createElement('a');\n // a.href = path;\n // a.download = fileName;\n\n // // document.body.appendChild(a);\n // a.click();\n // // document.body.removeChild(a);\n // } catch (err) {\n // console.log('ERROR: downloading PDF. ', err)\n // }\n // document.querySelector('body').style.width = '';\n // setIsSavingReportToServer(false);\n // setisLoading(false);\n // }\n\n // const handleShowLogoChange = (event: React.ChangeEvent) => {\n // setShowLogo(event.target.checked);\n // };\n\n const handleBulkOnChange = (event: React.ChangeEvent) => {\n setShowBulk(event.target.checked);\n };\n\n const handlePreviewOnClick = () => {\n setTS(new Date().getTime());\n setIsPreview(true);\n setisLoading(true);\n };\n\n const handleSaveReportAndDownloadOnClick = () => {\n setIsSavingReportToServer(true);\n saveReportAndDownload();\n };\n\n const handleReportOnSuccess = () => {\n console.log('onSuccess Report');\n\n setisLoading(false);\n };\n\n const handleReportOnFailure = () => {\n tosterService.onShowToster('Generated Report failed', 'danger', '');\n setisLoading(false);\n };\n\n const handlerBulkCompaniesOnChange = (ev: any) => {\n setBulkCompanies(ev.target.value as string);\n };\n\n // const handlerReportTypeOnChange = (event: SelectChangeEvent) => {\n // setReportType(event.target.value as string);\n // };\n\n // console.log(email);\n useEffect(() => {\n if (email && ['ionix.io', 'cyberpion.com'].includes(email.split('@')[1])) {\n setIsApproved(true);\n }\n }, [email]);\n\n // JUST FOR CHECKING IF THE USER LOGGED IN ALREADY\n useEffect(() => {\n if (!Object.keys(params).length) {\n RestApi.getData(`reports/executive/`).subscribe((response: any) => {});\n }\n }, [params]);\n\n if (isApproved !== null && !isApproved) {\n history.push('/');\n }\n\n return (\n \n \n {ts !== null && (\n \n \n \n \n \n )}\n \n \n {isSavingReportToServer && (\n
    \n
    Generating Report
    \n
    \n \n
    \n
    \n )}\n {!isSavingReportToServer && (\n <>\n \n {/* \n \n Report Type\n \n POC\n \n \n */}\n \n }\n label=\"Enable Bulk report\"\n labelPlacement=\"end\"\n />\n \n \n \n \n \n \n \n \n \n \n Companies seperated by 'Enter' key.\n \n \n \n {/* \n \n }\n label=\"Show Logo\"\n labelPlacement=\"start\"\n />\n */}\n \n \n PREVIEW\n \n \n SAVE\n \n \n \n \n \n \n \n \n \n \n \n PREVIEW button is not available for bulk reports.\n \n \n \n \n \n \n )}\n
    \n \n {isLoading && isApproved && (\n \n \n \n \n \n )}\n \n
    \n );\n};\n\nexport default GenerateExecutiveReport;\n","export function IonixLogo() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","// @ts-nocheck\nimport React from 'react';\nimport { IonixLogo } from 'common/components/Icons/IonixLogo/IonixLogo';\nimport { Text, getPDFFormatedDate } from '@cyberpion/cyberpion-ui';\n\nimport './actionItemsPDFHeader.scss';\n\ninterface IActionItemsPDFHeader {\n prefix: string;\n}\nconst ActionItemsPDFHeader: Reaxct.FC = ({ prefix }) => {\n const date = getPDFFormatedDate();\n\n return (\n
    \n
    \n
    \n \n
    \n \n {`${prefix} ACTION ITEMS REPORT`}\n \n
    \n
    \n \n {date}\n \n
    \n
    \n );\n};\n\nexport default ActionItemsPDFHeader;\n","import { IIcon } from 'common/interfaces/interface';\n\nconst DEFAULT_COLORS = {\n ACTIVE: '#2455DD',\n INACTIVE: '#D1D2D3'\n};\n\ninterface IIconImportance extends IIcon {\n type: string;\n colors?: {\n ACTIVE: string;\n INACTIVE: string;\n };\n}\n\nconst IMPORTANCE_BY_TYPE = {\n 'Very Low': 1,\n Low: 2,\n Medium: 3,\n High: 4,\n Highest: 5\n};\nconst IconImportance = ({ type, colors = DEFAULT_COLORS }: IIconImportance) => {\n return (\n \n \n = 2 ? colors.ACTIVE : colors.INACTIVE}\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n = 3 ? colors.ACTIVE : colors.INACTIVE}\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n = 4 ? colors.ACTIVE : colors.INACTIVE}\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n \n \n );\n};\n\nexport { IconImportance };\n","import React from 'react';\nimport { Text, IconRisk } from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { IconImportance } from 'common/components/Icons/IconImportance/IconImportance';\n\nimport './actionItemsTable.scss';\n\ninterface IActionItemsTable {\n actionItems: any;\n}\n\nconst ActionItemsTable: React.FC = ({ actionItems }) => {\n return !!actionItems?.length ? (\n \n \n \n summary\n \n \n \n \n \n Urgency\n \n \n Type\n \n \n Title\n \n \n Asset\n \n \n Group\n \n \n {actionItems.map(\n ({\n id,\n urgency,\n type,\n asset,\n asset_importance,\n title,\n groups_names\n }: {\n id: number;\n urgency: any;\n type: string;\n asset: string;\n asset_importance: any;\n title: any;\n groups_names: any;\n }) => {\n return (\n \n \n \n \n \n {urgency?.urgency}\n \n \n {type}\n \n \n {typeof title === 'string' ? title : title.label}\n \n \n \n {!!asset_importance && (\n \n \n \n )}\n \n {asset}\n \n \n \n \n {!!groups_names?.length ? groups_names.join(', ') : ''}\n \n \n );\n }\n )}\n \n \n ) : null;\n};\n\nexport default ActionItemsTable;\n","import React from 'react';\nimport { Text, IconRisk } from '@cyberpion/cyberpion-ui';\nimport { IconImportance } from 'common/components/Icons/IconImportance/IconImportance';\nimport { Grid } from '@mui/material';\n\nimport './actionItemHeader.scss';\n\ninterface IActionItemHeader {\n actionItem: any;\n}\n\nconst ActionItemHeader: React.FC = ({ actionItem }) => {\n const { id, urgency, title, importance, host, type, groups_names } = actionItem;\n\n return (\n \n \n \n \n \n \n {urgency?.urgency}\n \n \n \n \n \n \n {title?.label}\n \n \n \n \n {!!importance && (\n \n \n \n )}\n \n {host}\n \n \n {type}\n \n \n {groups_names?.join(', ')}\n \n \n \n \n \n \n );\n};\n\nexport default ActionItemHeader;\n","import React from 'react';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { CveList } from 'common/components/popUp/components/Vulnerabilities/CveList/CveList';\nimport { TechnicalDetails } from 'common/components/TechnicalDetails/TechnicalDetails';\nimport { Grid } from '@mui/material';\n\nimport './actionItemDetails.scss';\n\ninterface IActionItemDetails {\n actionItem: any;\n}\n\nconst ActionItemDetails: React.FC = ({ actionItem }) => {\n const { summary, description, technical_details, cves, impact, required_action } = actionItem;\n\n return (\n \n \n {summary}\n \n \n \n Description\n \n \n \n \n {description}\n \n \n {!!impact && (\n
    \n \n \n Impact\n \n \n \n {impact}\n \n
    \n )}\n {cves && !!cves.length && (\n <>\n \n \n CVE List\n \n \n \n \n \n \n )}\n {!!technical_details && (\n <>\n \n \n Technical Details\n \n \n \n \n \n \n )}\n {!!required_action && (\n
    \n \n \n Required Action\n \n \n \n {required_action}\n \n
    \n )}\n
    \n );\n};\n\nexport default ActionItemDetails;\n","import React from 'react';\nimport { Grid } from '@mui/material';\nimport ActionItemHeader from './ActionItemHeader/ActionItemHeader';\nimport ActionItemDetails from './ActionItemDetails/ActionItemDetails';\n\ninterface IActionItemContainer {\n actionItem: any;\n index: number;\n}\n\nconst ActionItemContainer: React.FC = ({ actionItem = {}, index }) => {\n const padding = index === 0 ? { paddingTop: 2.5 } : {};\n return !!actionItem ? (\n \n \n \n \n \n \n ) : null;\n};\n\nexport default ActionItemContainer;\n","import React, { useEffect, useState } from 'react';\nimport { RestApi } from 'common/services/rest-api.service';\nimport ActionItemsPDFHeader from 'common/components/GenerateActionItemsPDF/components/ActionItemsPDFHeader/ActionItemsPDFHeader';\nimport ActionItemsTable from 'common/components/GenerateActionItemsPDF/components/ActionItemsTable/ActionItemsTable';\nimport ActionItemContainer from 'common/components/GenerateActionItemsPDF/components/ActionItemPDF/ActionItemContainer';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { useLocation } from 'react-router-dom';\n\nimport './generateActionItemsPDF.scss';\nimport { Common } from '../../services/common.service';\n\nconst GenerateActionItemsPDF = () => {\n const [runTimer, setRunTimer] = useState(false);\n const [isOpen, setIsOpen] = useState(null);\n const [actionItemsData, setActionItemsData] = useState(null);\n const location = useLocation();\n\n //IN ORDER TO RUN ONLY ONCE\n useEffect(() => {\n if (runTimer) {\n const timer = setTimeout(() => {\n // const helpIframe = document.getElementById('launcher');\n // if (!!helpIframe) {\n // helpIframe.style.visibility = 'hidden';\n // }\n // const body = document.body;\n Common.displayHelp(false);\n\n window.print();\n window.parent.postMessage('ActionItemsPDFPrintReady', '*');\n setRunTimer(false);\n }, 3000);\n return () => {\n clearTimeout(timer);\n // const body = document.body;\n Common.displayHelp(true);\n };\n }\n }, [runTimer]);\n\n //THE ELEMENTS STILL NOT PAINTED TO THE DOM\n useEffect(() => {\n if (actionItemsData && !!actionItemsData.length) {\n setRunTimer(true);\n }\n }, [actionItemsData]);\n\n useEffect(() => {\n if (location?.search !== '' && actionItemsData === null) {\n const url = location.search.replace('?fetchUrl=', '');\n setIsOpen(url.includes('/open') ? true : false);\n if (url !== '') {\n RestApi.getData(`${url}&limit=1000`).subscribe((response: any) => {\n setActionItemsData(response.results);\n });\n }\n }\n }, [location?.search, actionItemsData]);\n\n return (\n
    \n \n \n
    \n \n
    \n \n action items details\n \n {!!actionItemsData?.length &&\n actionItemsData.map((item: any, index: number) => (\n
    \n {index !== 0 &&
    }\n \n
    \n ))}\n
    \n
    \n \n );\n};\n\nexport default GenerateActionItemsPDF;\n","import { RestApi } from 'common/services/rest-api.service';\nimport { lookupHighlights } from './ThreatsReportContext';\n\nconst rules = {\n action_items: {\n singleAsset: 'discovery/org-assets/[ASSET_NAME]/detailed/',\n details: 'remediation/action-items/open/[ID]/'\n },\n active_protection: {\n singleAsset: 'discovery/org-assets/[ASSET_NAME]/detailed/',\n details: 'remediation/action-items/open/[ID]/'\n },\n discovery: {\n singleAsset: 'discovery/org-assets/[ASSET_NAME]/detailed/',\n action_items:\n 'discovery/org-assets/[ASSET_NAME]/action-items/?fields=id,title,summary,type,urgency,first_opened_at,last_closed_at,is_open',\n dependent: {\n details: 'remediation/action-items/open/[ACTION_ITEM_ID]/'\n }\n },\n network_assessment: {\n singleAsset: 'discovery/org-assets/[ASSET_NAME]/detailed/',\n tests: 'discovery/org-assets/[ASSET_NAME]/tests/?fields=id,name,category,info,grade',\n dependent: {\n test: 'tests/[TEST_ID]/'\n }\n },\n cti: {\n details: 'assessments/drps/compromised-devices/[ID]/'\n }\n};\n\nconst getRule = (item: any, nextRow: any) => {\n const { section } = item;\n const rule = rules[section as keyof typeof rules];\n\n return Object.entries(rule).reduce((all: any, [key, value]: any) => {\n if (key === 'dependent') {\n return {\n ...all,\n dependent: {\n ...(all.dependent ? all.dependent : {}),\n ...value\n }\n };\n }\n return {\n ...all,\n call: {\n ...(all.call ? all.call : {}),\n [key]: value.replace('[ASSET_NAME]', nextRow.asset).replace('[ID]', nextRow.id)\n }\n };\n }, {});\n};\n\nconst sortField = (rule: string, field: string) => (a: any, b: any) => {\n const A = a[field].toUpperCase();\n const B = b[field].toUpperCase();\n if (A < B) {\n return rule === 'lowest' ? -1 : 1;\n }\n if (A > B) {\n return rule === 'lowest' ? 1 : -1;\n }\n\n return 0;\n};\n\nconst fetchHightlightData = async (jsonHighlightData: any, nextRow: any) => {\n const { call, dependent } = getRule(jsonHighlightData, nextRow);\n let fetchedData: any = await RestApi.getPromiseAll(call);\n let laterCallData: any = {};\n let laterCallUrls: any;\n\n if (!!dependent) {\n if (jsonHighlightData.section === 'discovery') {\n laterCallUrls = {\n details: dependent.details.replace('[ACTION_ITEM_ID]', fetchedData.action_items.results[0].id)\n };\n } else if (jsonHighlightData.section === 'network_assessment') {\n let test: any;\n const testsResults = fetchedData.tests.results;\n const { used_tests: usedTests } = lookupHighlights;\n\n // console.log('XXX: lookupHighlights: ', lookupHighlights);\n if (!!jsonHighlightData.rules) {\n const rules = jsonHighlightData.rules.split(':');\n if (rules[0] === 'includes') {\n test = testsResults.find((t: any) => {\n const name = t.name.toLowerCase();\n return rules[1].split(',').includes(name) && !usedTests.includes(name);\n });\n } else if (rules[0] === 'not_includes') {\n test = testsResults.find((t: any) => {\n const name = t.name.toLowerCase();\n // const name = nextRow.selected_failed_test;\n // return !notIncluded.includes(name) && !usedTests.includes(name);\n return name === nextRow.selected_failed_test.toLowerCase() && !usedTests.includes(name);\n });\n } else if (rules[0] === 'lowest' || rules[0] === 'highest') {\n const field = rules[1];\n const rule = rules[0];\n const filtered = fetchedData.tests.results\n .filter((f: any) => rules[2].split(',').includes(f.name.toLowerCase()))\n .sort(sortField(rule, field));\n test = filtered[0];\n }\n } else {\n test = fetchedData.tests.results.find(\n (t: any) => nextRow.network_failed_tests.includes(t.name) && !usedTests.includes(t.name.toLowerCase())\n );\n }\n laterCallUrls = {\n test: dependent.test.replace('[TEST_ID]', test.id)\n };\n if (!!test) {\n lookupHighlights.used_tests.push(test.name.toLowerCase());\n }\n }\n laterCallData = await RestApi.getPromiseAll(laterCallUrls);\n }\n fetchedData = {\n ...fetchedData,\n ...laterCallData,\n type: jsonHighlightData.section,\n pdf_page_type: jsonHighlightData.pdf_page_type,\n pdf_should_display: jsonHighlightData.pdf_should_display,\n id: jsonHighlightData.id,\n row: nextRow,\n title: jsonHighlightData.title\n };\n return fetchedData;\n};\n\nexport { fetchHightlightData };\n","import React, { createContext, useContext, useState, useEffect } from 'react';\n\nimport { RestApi } from 'common/services/rest-api.service';\n// import { showError, showSuccess } from 'features/AlertSlice';\nimport { useSelector } from 'react-redux';\nimport { fetchASMRadar } from '../ASMWrapper/sevice.api';\nimport { selectCompanyDisplayName } from 'features/LoginSlice';\nimport { getASMTableRowsBySevirity } from '@cyberpion/cyberpion-ui';\nimport { fetchHightlightData } from './rules';\n\nexport type ThreatsReportContextType = {\n allThreats: any;\n highlightsList: any;\n highlightsExamplesData: any;\n aggregationData: any;\n topExamplesIDs: any;\n companyName: string;\n pagesCount: any;\n pagesOrder: any;\n setPagesAmount: (data: any) => void;\n isLoading: boolean;\n totalPages: number;\n PAGE_HEIGHT: number;\n PAGE_WIDTH: number;\n};\n\ninterface ThreatsReportProviderProps {\n children: JSX.Element | JSX.Element[];\n}\n\nconst MAX_PER_CLASS = 2;\nconst NUMBER_OF_EXAMPLES = 4;\nconst ThreatsReportContext = createContext(null);\nconst fixedPages = ['cover', 'radar', 'highlights'];\nexport let lookupHighlights: any = {\n reports: 0,\n assets: [],\n classes: {},\n network: {},\n used_action_items_titles: [],\n used_tests: []\n};\n\nexport const ThreatsReportProvider: React.FC = ({ children }) => {\n const [allThreats, setAllThreats] = useState(null);\n const [highlightsList, setHighlightsList] = useState(null);\n const [highlightsExamplesData, setHighlightsExamplesData] = useState(null);\n const [aggregationData, setAggregationData] = useState(null);\n const [isLoading, setIsLoading] = useState(true);\n const [pagesCount, setPagesCount] = useState({ cover: 1, radar: 1 });\n const [pagesOrder, setPagesOrder] = useState(fixedPages);\n const [totalPages, setTotalPages] = useState(0);\n const [topExamplesIDs, setTopExamplesIDs] = useState([]);\n const companyName = useSelector(selectCompanyDisplayName);\n\n const PAGE_HEIGHT = 1242; // 1056\n const PAGE_WIDTH = 970; // 816\n\n const filterOutClassesAndSeverities = (data: any) => {\n let copy: any = [];\n let mapClasses = new Map();\n data.forEach((item: any) => {\n if ((!mapClasses.has(item.class) || mapClasses.get(item.class) < 4) && item.severity !== '0') {\n mapClasses.set(item.class, mapClasses.get(item.class) + 1 || 1);\n copy = [...copy, item];\n }\n });\n return copy;\n };\n\n const findNextResultRow = (highlight: any) => {\n const { class: className, pdf_should_display } = highlight;\n let nextRow: any;\n\n if (lookupHighlights.classes[className] >= MAX_PER_CLASS || !pdf_should_display) {\n return null;\n }\n highlight.results.every((row: any) => {\n let shouldReturnRow: boolean =\n !lookupHighlights.assets.includes(row.asset) && !lookupHighlights.assets.includes(`www.${row.asset}`);\n if (highlight.section === 'action_items') {\n const title = row?.title?.label;\n shouldReturnRow = shouldReturnRow && !lookupHighlights.used_action_items_titles.includes(title);\n if (shouldReturnRow) {\n lookupHighlights.used_action_items_titles.push(title);\n }\n } else if (highlight.section === 'network_assessment') {\n if (!!highlight.rules) {\n const networkFailed = !!row.network_failed_tests\n ? row.network_failed_tests\n .join()\n .toLowerCase()\n .split(',')\n : [];\n const rules = highlight.rules.split(':');\n if (rules[0] === 'includes') {\n shouldReturnRow =\n shouldReturnRow &&\n !!networkFailed.length &&\n rules[1].split(',').some((item: string) => {\n const isOk = networkFailed.includes(item) && !lookupHighlights.used_tests.includes(item);\n if (isOk) {\n row.selected_failed_test = item;\n }\n return isOk;\n });\n } else if (rules[0] === 'not_includes') {\n shouldReturnRow =\n shouldReturnRow &&\n !!networkFailed.length &&\n networkFailed.some((item: string) => {\n const isOk = !rules[1].split(',').includes(item) && !lookupHighlights.used_tests.includes(item);\n if (isOk) {\n row.selected_failed_test = item;\n }\n return isOk;\n });\n } else if (rules === 'lowest') {\n shouldReturnRow =\n shouldReturnRow &&\n !!row.network_failed_tests &&\n row.network_failed_tests.some((item: string) => rules[1].includes(item.toLowerCase()));\n }\n }\n }\n if (shouldReturnRow) {\n nextRow = row;\n return false;\n }\n return true;\n });\n return nextRow;\n };\n\n const findHighlightsExamples = async (jsonFilteredData: any) => {\n let index = 0;\n let stop;\n let examples: any = [];\n\n while (!stop) {\n const jsonHighlightData = jsonFilteredData[index];\n // console.log('XXX: jsonFilteredData: ', jsonFilteredData[index].title, jsonFilteredData[index], lookupHighlights);\n const nextRow = findNextResultRow(jsonHighlightData);\n\n // console.log('XXX: nextRow: ', nextRow);\n\n if (!!nextRow) {\n setPagesOrder((pages: any) => [...pages, jsonHighlightData.id]);\n const fetchedExampleData = await fetchHightlightData(jsonHighlightData, nextRow);\n\n examples = [...examples, { ...fetchedExampleData, order: index + 1 }];\n lookupHighlights.classes = {\n ...lookupHighlights.classes,\n [jsonHighlightData.class]: !!lookupHighlights.classes[jsonHighlightData.class]\n ? lookupHighlights.classes[jsonHighlightData.class] + 1\n : 1\n };\n lookupHighlights.assets.push(nextRow.asset);\n lookupHighlights.reports++;\n if (fetchedExampleData?.test?.name) {\n lookupHighlights.network[fetchedExampleData.test.name] = true;\n }\n }\n index++;\n stop = lookupHighlights.reports >= NUMBER_OF_EXAMPLES || index >= jsonFilteredData.length;\n }\n\n setPagesOrder((pages: any) => [...pages, 'lastPage']);\n console.log('Highlights: ', examples);\n // console.log('XXX: findRule', lookupHighlights);\n return examples;\n };\n\n const getHighlightsThreats = async (data: any) => {\n let updatedData: any;\n updatedData = Object.values(data)\n .flat()\n .sort((a: any, b: any) => b.priority - a.priority);\n\n updatedData = filterOutClassesAndSeverities(updatedData);\n // console.log('XXX: AFTER FILTER', updatedData);\n\n const examplesData = !!updatedData.length ? await findHighlightsExamples(updatedData) : [];\n const topIDs = examplesData\n .map((item: any) => parseInt(item.id))\n .slice(0, NUMBER_OF_EXAMPLES > 4 ? 4 : NUMBER_OF_EXAMPLES);\n setTopExamplesIDs(topIDs);\n setHighlightsExamplesData(examplesData);\n setIsLoading(false);\n };\n\n const increaseLimitApisCall = (response: any) => {\n return Object.entries(response).reduce((all: any, [key, value]: any) => {\n return {\n ...all,\n [key]: value.map((item: any) => ({\n ...item,\n api_call: item.api_call.replace('limit=1', 'limit=50')\n }))\n };\n }, {});\n };\n\n useEffect(() => {\n if (!!pagesCount) {\n const pageCount: number = Object.values(pagesCount).reduce((acc: number, item: number) => acc + item, 0);\n setTotalPages(pageCount);\n }\n }, [pagesCount]);\n\n useEffect(() => {\n async function fetchAndEnrichedASMRadar(configJson: any) {\n const allThreatsData = await fetchASMRadar(configJson, '', true);\n\n setAllThreats(allThreatsData);\n getHighlightsThreats(allThreatsData);\n }\n\n async function fetchAggregationData() {\n const aggregationData: any = await RestApi.getPromiseAll({\n aggregation: 'dashboard/summary/'\n });\n\n setAggregationData(aggregationData.aggregation);\n }\n\n RestApi.getData('configuration/asm/').subscribe((response: any) => {\n const updatedData = increaseLimitApisCall(response);\n fetchAggregationData();\n fetchAndEnrichedASMRadar(updatedData);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!!allThreats) {\n const rows = [\n ...getASMTableRowsBySevirity(allThreats, 'critical'),\n ...getASMTableRowsBySevirity(allThreats, 'high'),\n ...getASMTableRowsBySevirity(allThreats, 'medium'),\n ...getASMTableRowsBySevirity(allThreats, 'low'),\n ...getASMTableRowsBySevirity(allThreats, 'informational')\n ];\n setHighlightsList(rows);\n }\n }, [allThreats]);\n\n const setPagesAmount = (data: any) => {\n setPagesCount((count: any) => ({ ...count, ...data }));\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport const useThreatsReport = () => {\n return useContext(ThreatsReportContext);\n};\n","// @ts-nocheck\nimport React from 'react';\nimport { Text, getPDFFormatedDate, DataPanel, IconRisk } from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { Common } from 'common/services/common.service';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\nimport classNames from 'classnames';\n\nimport './ExposureHeader.scss';\n\nconst texts = {\n panel_I_title: 'ASSETS DISCOVERED',\n panel_II_title: 'Org risk Score Over Time',\n panel_III_title: 'Assets Under Active Protection',\n org_assets: 'Org Assets',\n external_assets: 'Digital Supply Chain',\n connections: 'Connections',\n overall_score: 'Overall Score',\n current: 'Currently protected',\n added: 'added last 30 days',\n resolved: 'Resolved last 30 days',\n potentially_unknown: 'Potentially Unknown'\n};\n\nconst dataPanelProps = {\n titleTextSize: 12,\n weight: 500,\n textSize: 34,\n textColor: '#FFFFFF',\n family: 'Rajdhani'\n};\n\nconst ExposureHeader = () => {\n const { aggregationData, companyName, highlightsList } = useThreatsReport() as ThreatsReportContextType;\n const date = getPDFFormatedDate();\n\n const total =\n aggregationData?.remediation?.critical_action_items +\n aggregationData?.remediation?.high_action_items +\n aggregationData?.remediation?.medium_action_items +\n aggregationData?.remediation?.low_action_items;\n const potentiallyUnknown = highlightsList\n ?.filter((item: any) => item.title.toLowerCase().includes('potentially unknown'))\n .reduce((acc: number, item: any) => acc + item.count, 0);\n\n return (\n \n \n \n \n \"ionix-logo-threat-PDF\"\n \n \n {`${companyName}, ${date}`}\n \n \n \n \n \n \n \n \n \n \n \"Icon\"\n \n \n \n Discovery\n \n \n \n \n {['org_assets', 'external_assets', 'connections', 'potentially_unknown'].map(\n (item: string, index: number) => {\n return (\n \n \n {item !== 'potentially_unknown' ? aggregationData?.assets_discovered[item] : potentiallyUnknown}\n \n \n );\n }\n )}\n \n \n \n \n \n \n \n \n \n \"Icon\"\n \n \n \n Remediation\n \n \n \n \n \n \n {total}\n \n \n {['critical', 'high', 'medium', 'low'].map((item: string, index: number) => {\n return (\n \n \n \n \n \n \n \n {aggregationData?.remediation[`${item}_action_items`]}\n \n \n \n \n );\n })}\n \n \n \n \"Icon\"\n \n \n \n {aggregationData?.remediation?.active_protection}\n \n \n \n \n \n \n \n );\n};\n\nexport default ExposureHeader;\n","// @ts-nocheck\nimport React from 'react';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\n\nimport './ExposureDescription.scss';\n\nconst ExposureDescription = () => {\n return (\n \n \n \n Threat exposure radar\n \n \n \n \n \n \n \n \n Digital Supply Chain\n \n \n \n \n Assets that the organization relies on, but does not own (Mail or DNS servers, Script Inclusion, APIs\n or others)\n \n \n \n \n \n \n \n \n External Org Assets\n \n \n \n \n Assets hosted outside of the organizational network (hosting providers, non-controlled cloud\n environments and others)\n \n \n \n \n \n \n \n \n Internal Org Assets\n \n \n \n \n Assets hosted in the organizational network (in their on-premise data centers or controlled cloud\n environments)\n \n \n \n \n \n \n \n );\n};\n\nexport default ExposureDescription;\n","// @ts-nocheck\nimport React from 'react';\nimport {\n Text,\n IconDiscovery,\n IconCertificate,\n IconCTI,\n IconAssesments,\n IconActiveProtection,\n IconActionItems,\n getColorByUrgency\n} from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\n\nimport './RadarLegend.scss';\n\nconst ICONS = {\n active_protection: {\n icon: ,\n label: 'Active Protection'\n },\n cti: {\n icon: ,\n label: 'Cyber Threat Intelligence'\n },\n assessment: {\n icon: ,\n label: 'Assesment'\n },\n action_items: {\n icon: ,\n label: 'Action Item'\n },\n certificates: {\n icon: ,\n label: 'Certificates'\n },\n discovery: {\n icon: ,\n label: 'Discovery'\n }\n};\n\n// const SEVERITIES = ['critical', 'high', 'medium', 'low', 'informational'];\n\nconst RadarLegend = () => {\n return (\n \n \n \n \n \n Type\n \n \n \n \n \n \n {['assessment', 'discovery', 'action_items'].map((item: any) => (\n \n \n {ICONS[item].icon}\n \n {ICONS[item].label}\n \n \n \n ))}\n \n \n \n \n {['certificates', 'cti', 'active_protection'].map((item: any) => (\n \n \n {ICONS[item].icon}\n \n {ICONS[item].label}\n \n \n \n ))}\n \n \n \n \n \n \n \n \n \n \n Severity\n \n \n \n \n \n \n {['Critical', 'High', 'Medium'].map((item: any, index: number) => (\n \n \n \n \n {item}\n \n \n \n ))}\n \n \n \n \n {['Low', 'Informational'].map((item: any, index: number) => (\n \n \n \n \n {item}\n \n \n \n ))}\n \n \n \n \n \n \n \n \n \n \n Shapes\n \n \n \n \n \n \n General Highlight\n \n \n \n \n \n \n \n 11\n \n \n \n Number of Findings\n \n \n \n \n \n \n );\n};\n\nexport default RadarLegend;\n","import { Text } from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\n\nconst PageFooter = ({ id, order }: { id: string; order?: number }) => {\n const { totalPages, pagesCount, pagesOrder } = useThreatsReport() as ThreatsReportContextType;\n const year = new Date().getUTCFullYear();\n let currentPage = 0;\n\n for (let i = 0; i < pagesOrder.length; i++) {\n currentPage += pagesCount[pagesOrder[i]];\n if (id === pagesOrder[i]) break;\n }\n\n return (\n \n \n \n {`©${year} IONIX Inc. All rights reserved.`}\n \n \n \n \n {`${currentPage} of ${totalPages}`}\n \n \n \n );\n};\n\nexport default PageFooter;\n","import { useState, useEffect } from 'react';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\n\nconst usePageSize = (ref: any, asset: string) => {\n const [minHeight, setMinHeight] = useState(null);\n const { setPagesAmount, PAGE_HEIGHT } = useThreatsReport() as ThreatsReportContextType;\n\n useEffect(() => {\n if (ref.current !== null && !!asset) {\n const { offsetHeight } = ref.current;\n\n let pages = Math.floor(offsetHeight / PAGE_HEIGHT);\n if (!!(offsetHeight % PAGE_HEIGHT)) {\n pages += 1;\n }\n setMinHeight(pages * PAGE_HEIGHT);\n setPagesAmount({ [asset]: pages });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref?.current, asset]);\n\n return { minHeight };\n};\n\nexport default usePageSize;\n","import React, { useRef } from 'react';\nimport ExposureHeader from 'common/components/GenerateThreatsReport/pages/ExposureRadar/ExposureHeader/ExposureHeader';\nimport ExposureDescription from 'common/components/GenerateThreatsReport/pages/ExposureRadar/ExposureDescription/ExposureDescription';\nimport RadarLegend from 'common/components/GenerateThreatsReport/pages/ExposureRadar/RadarLegend/RadarLegend';\nimport { ASMWidget } from '@cyberpion/cyberpion-ui';\nimport PageFooter from 'common/components/GenerateThreatsReport/pages/PageFooter';\nimport usePageSize from '../hooks/usePageSize';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\n\nimport './ExposureRadar.scss';\n\nconst ExposureRadar = () => {\n const { allThreats, topExamplesIDs } = useThreatsReport() as ThreatsReportContextType;\n const refDetails = useRef(null);\n const { minHeight } = usePageSize(refDetails, 'radar');\n\n return (\n
    \n \n \n\n
    \n {!!topExamplesIDs && !!topExamplesIDs.length ? (\n \n ) : (\n \n )}\n
    \n \n \n
    \n );\n};\n\nexport default ExposureRadar;\n","import { Text, getPDFFormatedDate } from '@cyberpion/cyberpion-ui';\nimport { Grid } from '@mui/material';\nimport { selectCompanyDisplayName } from 'features/LoginSlice';\nimport { useSelector } from 'react-redux';\n\nconst PageHeader = () => {\n const date = getPDFFormatedDate();\n const companyName = useSelector(selectCompanyDisplayName);\n\n return (\n \n \n \"ionix-logo-threat-PDF\"\n \n \n {`${companyName}, ${date}`}\n \n \n );\n};\n\nexport default PageHeader;\n","// @ts-nocheck\nimport React, { useRef } from 'react';\nimport Grid from '@mui/material/Grid';\nimport { Text, ASM_RADAR_CATEGORY_MAP } from '@cyberpion/cyberpion-ui';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\nimport PageFooter from 'common/components/GenerateThreatsReport/pages/PageFooter';\nimport PageHeader from 'common/components/GenerateThreatsReport/pages/PageHeader';\nimport usePageSize from '../hooks/usePageSize';\n\nimport './Highlights.scss';\n\nconst iconLink = (\n \n \n \n \n \n);\n\nconst getBackgroundColorByUrgency = (key: string = 'no_risk') => {\n let urgency: IObject = {\n informational: '#1AA8841A',\n no_risk: '#1AA8841A',\n low: '#55BAD41A',\n medium: '#F1C5441A',\n high: '#FF87171A',\n critical: '#FB58581A'\n };\n return urgency[key];\n};\n\nconst CATEGORIES = {\n action_items: 'Action Items',\n active_protection: 'Protected Assets',\n discovery: 'Discovery',\n cti: 'Cyber Threat Intelligence',\n network_assessment: 'Assessments'\n};\n\nconst HighlightsTable = ({ rows }: { rows: any }) => {\n const linkOnClick = (row: any) => () => {\n window.open(Common.AddMsspAccountIfNeeded(row.hyperlink), '_blank');\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n {!!rows &&\n rows.map((row: any, index: number) => {\n const Icon = row.icon;\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
    HighlightsDetailsTypeOperated By\n
    {row.title}{row.count > 1 ? row.sub_title_plural.replace('{counter}', row.count) : row.sub_title_single}\n \n {Icon}\n \n {CATEGORIES[row.section]}\n \n \n {ASM_RADAR_CATEGORY_MAP[row.onion_layer].label}\n {iconLink}\n
    \n );\n};\n\nconst Highlights = () => {\n const { highlightsList } = useThreatsReport() as ThreatsReportContextType;\n const refDetails = useRef(null);\n const { minHeight } = usePageSize(refDetails, 'highlights');\n\n return (\n \n \n \n \n \n \n List of highlights\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default Highlights;\n","import React from 'react';\nimport Link from '@mui/material/Link';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport Grid from '@mui/material/Grid';\n\ninterface ContactProps {\n textColor?: string;\n // style?: React.CSSProperties;\n}\nconst Contact: React.FC = ({ textColor }) => {\n return (\n \n \n \n Any questions? Contact us at\n \n \n \n support@ionix.io\n \n \n );\n};\n\nexport default Contact;\n","// @ts-nocheck\nimport React, { useRef } from 'react';\nimport Grid from '@mui/material/Grid';\nimport Contact from '../../Contact/Contact';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\nimport usePageSize from '../hooks/usePageSize';\n\nimport './lastPage.scss';\n\nconst LastPage = () => {\n const { PAGE_HEIGHT, PAGE_WIDTH } = useThreatsReport() as ThreatsReportContextType;\n const refDetails = useRef(null);\n\n const { minHeight } = usePageSize(refDetails, 'lastPage'); // eslint-disable-line\n\n return (\n \n \n \n
    \n {/* {} */}\n \"end\n \n
    \n
    \n
    \n \n );\n};\n\nexport default LastPage;\n","// @ts-nocheck\nimport React, { useState, useEffect } from 'react';\nimport Grid from '@mui/material/Grid';\nimport { Text } from '@cyberpion/cyberpion-ui';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\n\nconst CoverLegend = (): JSX.Element => {\n const [pages, setPages] = useState([]);\n const { highlightsList } = useThreatsReport() as ThreatsReportContextType;\n\n useEffect(() => {\n let list = ['Threat exposure radar'];\n if (!!highlightsList.length) {\n list.push('List of highlights');\n }\n if (!!highlightsList.find((item: any) => item.severity !== '0')) {\n list.push('Top exposure examples');\n }\n setPages(list);\n }, [highlightsList]);\n\n // console.log('XXX: ', highlightsList);\n return (\n \n \n \n Chapters\n \n \n\n \n {pages.map((item: string, index: number) => (\n \n \n
    \n \n \n \n \n \n {item}\n \n \n \n \n {`Page ${index + 2}`}\n \n \n \n \n \n ))}\n \n \n );\n};\n\nexport default CoverLegend;\n","// @ts-nocheck\nimport React from 'react';\nimport Grid from '@mui/material/Grid';\nimport { Text, getPDFFormatedDate } from '@cyberpion/cyberpion-ui';\nimport CoverLegend from './CoverLegend';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\n\nconst CoverPage = () => {\n const date = getPDFFormatedDate();\n const { companyName, PAGE_HEIGHT } = useThreatsReport() as ThreatsReportContextType;\n\n return (\n \n \n \n \n \"search\"\n \n \n \n Threat Exposure Report\n \n \n {companyName}\n \n \n \n \n \n \n Our Mission\n \n \n \n \n IONIX is on a mission to transform the way organizations see, manage, and reduce their exposure across\n their Attack Surface. The explosion of cloud infrastructure and services, consumerization of IT and\n new and distributed system architectures are creating an everchanging, unknown and uncontrolled attack\n surface. As enterprises become increasingly Internet exposed, their invisible attack surface poses an\n unparalleled challenge for security teams. This report provides a view of the top Threat Exposures\n that were detected by IONIX across the attack surface. \n \n \n \n \n \n \n \n \n \n \n \"cover\n \n \n {`${companyName}, ${date}`}\n \n \n );\n};\n\nexport default CoverPage;\n","import React, { forwardRef } from 'react';\nimport { Text } from '@cyberpion/cyberpion-ui';\n\nconst CompromisedDeviceDetails = forwardRef(({ data }: { data: any }, refDetails: any) => {\n const { details, row } = data;\n\n return (\n
    \n {!!details.username && (\n
    \n {`username: ${details.username}`}\n \n Employee\n \n
    \n )}\n {!!row.url && (\n
    \n \n URL\n \n {row.url}\n
    \n )}\n \n {!!details.date_compromised && (\n
    \n \n Date Compromised\n \n {details?.date_compromised}\n
    \n )}\n {!!details.date_added && (\n \n \n Date Added\n \n {details.date_added}\n
    \n )}\n
    \n\n {!!details.internal_url !== undefined && (\n
    \n \n Internal URL\n \n {details.internal_url.toString()}\n
    \n )}\n\n \n {!!details.related_asset && (\n
    \n \n Related Asset\n \n {details?.related_asset}\n
    \n )}\n {!!details.endpoint_ad_user && (\n \n User's AD Domain\n {details.endpoint_ad_user}\n \n )}\n \n \n {!!details.endpoint_ip && (\n
    \n \n Endpoint IP\n \n {details?.endpoint_ip}\n
    \n )}\n {!!details.endpoint_os && (\n \n \n Endpoint OS\n \n {details.endpoint_os}\n \n )}\n \n\n {!!details.stealer_family && (\n
    \n \n Stealer Family\n \n {details.stealer_family}\n
    \n )}\n {!!details.malware_path && (\n
    \n \n Malware Path\n \n {details.malware_path}\n
    \n )}\n \n {!!details.password_strength && (\n
    \n \n Password Strength\n \n {details?.password_strength}\n
    \n )}\n {!!details.password_hash && (\n \n \n Password Hash (SHA 256)\n \n {details.password_hash}\n \n )}\n \n\n {!!details.groups && (\n
    \n \n Groups\n \n {details.groups}\n
    \n )}\n \n );\n});\n\nexport default CompromisedDeviceDetails;\n","import React, { useRef } from 'react';\nimport { ASMWidget, Text } from '@cyberpion/cyberpion-ui';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\nimport PageFooter from 'common/components/GenerateThreatsReport/pages/PageFooter';\nimport PageHeader from 'common/components/GenerateThreatsReport/pages/PageHeader';\nimport CompromisedDeviceDetails from 'common/components/GenerateThreatsReport/pages/Examples/CompromisedDevice/CompromisedDeviceDetails';\nimport usePageSize from '../../hooks/usePageSize';\n\nimport './CompromisedDevice.scss';\n\nconst CompromisedDevice = ({ data }: { data: any }) => {\n const refDetails = useRef(null);\n const { minHeight } = usePageSize(refDetails, data.id);\n const { allThreats } = useThreatsReport() as ThreatsReportContextType;\n\n return (\n
    \n
    \n \n
    \n
    \n \n Top exposure examples\n \n \n {/* ASM RADAR */}\n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n );\n};\n\nexport default CompromisedDevice;\n","import React, { forwardRef } from 'react';\nimport { IconImportance, IconRisk, Indicator, Text } from '@cyberpion/cyberpion-ui';\nimport { TechnicalDetails } from 'common/components/TechnicalDetails/TechnicalDetails';\n\nconst AssetTestDetails = forwardRef(({ data }: { data: any }, refDetails: any) => {\n const { singleAsset, test } = data;\n\n let ips =\n singleAsset?.ip?.ip_network ||\n singleAsset?.domain?.ips ||\n singleAsset?.subdomain?.ips ||\n singleAsset?.managed_domain?.ips ||\n singleAsset?.cloud_asset?.ips ||\n [];\n if (!!ips && !Array.isArray(ips)) {\n ips = [ips];\n }\n\n return (\n
    \n
    \n {!!test?.grade && (\n
    \n \n
    \n )}\n\n
    \n \n {test?.name}\n \n \n {test?.category}\n \n
    \n
    \n
    \n
    \n \n Asset Name\n \n {singleAsset?.asset}\n
    \n {singleAsset?.risk_score?.type && (\n \n
    \n \n
    \n
    \n \n Asset Risk\n \n {singleAsset?.risk_score?.risk_score}\n
    \n
    \n )}\n {singleAsset?.importance && (\n \n
    \n \n
    \n
    \n \n Asset Importance\n \n {singleAsset?.importance?.type}\n
    \n
    \n )}\n \n\n {!!ips && !!ips.length && (\n
    \n \n {`${singleAsset?.type !== 'ip' ? 'IPs' : 'IP Network'}`}\n \n {ips.join(' / ')}\n
    \n )}\n {!!test?.info && (\n
    \n \n Info\n \n {test.info}\n
    \n )}\n {!!test?.description && (\n
    \n \n Description\n \n {test.description}\n
    \n )}\n\n {!!test?.technical_details && Object.keys(test.technical_details).length && (\n
    \n \n Technical Details\n \n
    \n \n
    \n
    \n )}\n \n );\n});\n\nexport default AssetTestDetails;\n","import React, { useRef } from 'react';\nimport { ASMWidget, Text } from '@cyberpion/cyberpion-ui';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\nimport PageFooter from 'common/components/GenerateThreatsReport/pages/PageFooter';\nimport PageHeader from 'common/components/GenerateThreatsReport/pages/PageHeader';\nimport AssetTestDetails from 'common/components/GenerateThreatsReport/pages/Examples/AssetTest/AssetTestDetails';\nimport usePageSize from '../../hooks/usePageSize';\n\nimport './AssetTest.scss';\n\nconst AssetTest = ({ data }: { data: any }) => {\n const refDetails = useRef(null);\n const { minHeight } = usePageSize(refDetails, data.id);\n const { allThreats } = useThreatsReport() as ThreatsReportContextType;\n\n return (\n
    \n
    \n \n
    \n
    \n \n Top exposure examples\n \n \n {/* ASM RADAR */}\n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n );\n};\n\nexport default AssetTest;\n","import React from 'react';\nimport { IconImportance, IconRisk, Text, CveList } from '@cyberpion/cyberpion-ui';\nimport { TechnicalDetails } from 'common/components/TechnicalDetails/TechnicalDetails';\nimport { LinkNewTab } from 'common/components/LinkNewTab/LinkNewTab';\n\nconst AMMOUNT_OF_CVES_TO_SHOW = 15;\n\nconst ActionItemsDetails = ({ data }: { data: any }) => {\n const { singleAsset, details, row } = data;\n const ips =\n singleAsset?.ips ||\n singleAsset?.domain?.ips ||\n singleAsset?.subdomain?.ips ||\n singleAsset?.managed_domain?.ips ||\n singleAsset?.cloud_asset?.ips ||\n [];\n\n return (\n
    \n
    \n
    \n \n
    \n \n {row?.urgency?.urgency}\n \n
    \n \n {details?.title}\n \n {details?.type}\n
    \n
    \n\n
    \n
    \n \n Asset Name\n \n {details?.asset}\n
    \n {singleAsset?.risk_score?.type && (\n \n
    \n \n
    \n
    \n \n Asset Risk\n \n {singleAsset?.risk_score?.risk_score}\n
    \n
    \n )}\n {singleAsset?.importance && (\n \n
    \n \n
    \n
    \n \n Asset Importance\n \n {singleAsset?.importance?.type}\n
    \n
    \n )}\n \n\n {!!ips && !!ips.length && (\n
    \n \n {`${singleAsset?.type !== 'ip' ? 'IPs' : 'IP Network'}`}\n \n {ips.join(' / ')}\n
    \n )}\n {!!details?.summary && (\n
    \n \n Summary\n \n \n {details.summary}\n \n
    \n )}\n {!!details?.description && (\n
    \n \n Description\n \n \n {details.description}\n \n
    \n )}\n {!!details?.impact && (\n
    \n \n Impact\n \n {details.impact}\n
    \n )}\n {!!details?.references && (\n
    \n \n References\n \n
    \n
      \n {Object.entries(details.references).map(([key, value]: any, index): any => (\n \n \n \n ))}\n
    \n
    \n
    \n )}\n {!!details?.required_action && (\n
    \n \n Required Action\n \n \n {details.required_action}\n \n
    \n )}\n {!!details?.cves && (\n
    \n \n {`CVE List (${\n details.cves.length < AMMOUNT_OF_CVES_TO_SHOW ? details.cves.length : AMMOUNT_OF_CVES_TO_SHOW\n })`}\n \n \n
    \n )}\n {!!details?.technical_details && !!Object.keys(details.technical_details).length && (\n
    \n \n Technical Details\n \n
    \n \n
    \n
    \n )}\n {!!details?.raw_request && (\n
    \n \n Raw Request (Used to inject the payload)\n \n {details.raw_request}\n
    \n )}\n \n );\n};\n\nexport default ActionItemsDetails;\n","import React, { useRef } from 'react';\nimport { ASMWidget, Text } from '@cyberpion/cyberpion-ui';\nimport PageFooter from '../../PageFooter';\nimport PageHeader from '../../PageHeader';\nimport ActionItemsDetails from './ActionItemsDetails';\nimport usePageSize from '../../hooks/usePageSize';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\n\nimport './ActionItems.scss';\n\nconst ActionItems = ({ data }: { data: any }) => {\n const refDetails = useRef(null);\n const { minHeight } = usePageSize(refDetails, data.id);\n const { allThreats } = useThreatsReport() as ThreatsReportContextType;\n\n return (\n
    \n
    \n \n
    \n
    \n \n Top exposure examples\n \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n );\n};\n\nexport default ActionItems;\n","import React, { forwardRef } from 'react';\nimport { ConfidenceLevel, IconImportance, IconRisk, Text } from '@cyberpion/cyberpion-ui';\n\nconst UnknownDetails = forwardRef(({ data }: { data: any }, refDetails: any) => {\n const { singleAsset, details, row } = data;\n const ips =\n singleAsset?.ips ||\n singleAsset?.domain?.ips ||\n singleAsset?.subdomain?.ips ||\n singleAsset?.managed_domain?.ips ||\n singleAsset?.cloud_asset?.ips;\n\n return (\n
    \n
    \n \n {details.asset}\n \n Potentially Unknown\n
    \n\n
    \n
    \n \n
    \n
    \n \n Asset Risk\n \n {singleAsset?.risk_score?.risk_score}\n
    \n {singleAsset?.importance && (\n \n
    \n \n
    \n
    \n \n Asset Importance\n \n {singleAsset?.importance?.type}\n
    \n
    \n )}\n {singleAsset?.confidence && (\n \n \n Discovery Confidence\n \n \n
    \n )}\n {!!row?.maintenance_grade?.type && (\n \n \n Maintenance Grade\n \n {row.maintenance_grade.type}\n \n )}\n \n {!!row?.bad_maintenance_indicators && (\n
    \n \n Indicators\n \n {row.bad_maintenance_indicators.join(' / ')}\n
    \n )}\n {!!ips && !!ips.length && (\n
    \n \n {`${singleAsset?.type !== 'ip' ? 'IPs' : 'IP Network'}`}\n \n {ips.join(' / ')}\n
    \n )}\n \n );\n});\n\nexport default UnknownDetails;\n","import React, { useRef } from 'react';\nimport { ASMWidget, Text } from '@cyberpion/cyberpion-ui';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\nimport PageFooter from 'common/components/GenerateThreatsReport/pages/PageFooter';\nimport PageHeader from 'common/components/GenerateThreatsReport/pages/PageHeader';\nimport UnknownDetails from 'common/components/GenerateThreatsReport/pages/Examples/Unknown/UnknownDetails';\nimport usePageSize from '../../hooks/usePageSize';\n\nimport './Unknown.scss';\n\nconst Unknown = ({ data }: { data: any }) => {\n const refDetails = useRef(null);\n const { minHeight } = usePageSize(refDetails, data.id);\n const { allThreats } = useThreatsReport() as ThreatsReportContextType;\n\n return (\n
    \n
    \n \n
    \n
    \n \n Top exposure examples\n \n \n {/* ASM RADAR */}\n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n );\n};\n\nexport default Unknown;\n","import React, { forwardRef } from 'react';\nimport { IconImportance, IconRisk, Text } from '@cyberpion/cyberpion-ui';\n\nconst MisconfiguredDetails = forwardRef(({ data }: { data: any }, refDetails: any) => {\n const { singleAsset, row } = data;\n const ips = singleAsset?.domain?.ips || singleAsset?.subdomain?.ips;\n\n return (\n
    \n
    \n \n {row?.asset}\n \n {row?.login_url}\n
    \n\n
    \n
    \n \n
    \n
    \n \n Asset Risk\n \n {singleAsset?.risk_score?.risk_score}\n
    \n {singleAsset?.importance && (\n \n
    \n \n
    \n
    \n \n Asset Importance\n \n {singleAsset?.importance?.type}\n
    \n
    \n )}\n {row?.login_type && (\n
    \n \n Login Type\n \n {row.login_type}\n
    \n )}\n
    \n {!!ips && !!ips.length && (\n
    \n \n {`${singleAsset?.type !== 'ip' ? 'IPs' : 'IP Network'}`}\n \n {ips.join(' / ')}\n
    \n )}\n
    \n {!!row.is_valid_certificate !== undefined && (\n
    \n \n Valid Certificate\n \n {row.is_valid_certificate.toString()}\n
    \n )}\n {!!row.service_type && !!row.service_type.length && (\n \n \n Service Type\n \n {row.service_type.join(' / ')}\n
    \n )}\n {!!row.service && !!row.service.length && (\n \n \n Service\n \n {row.service.join(' / ')}\n \n )}\n {!!row.is_over_http !== undefined && (\n \n \n Over HTTP\n \n {row.is_over_http.toString()}\n \n )}\n {!!row.is_over_https !== undefined && (\n \n \n Over HTTPS\n \n {row.is_over_https.toString()}\n \n )}\n \n \n );\n});\n\nexport default MisconfiguredDetails;\n","import React, { useRef } from 'react';\nimport { ASMWidget, Text } from '@cyberpion/cyberpion-ui';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\nimport PageFooter from 'common/components/GenerateThreatsReport/pages/PageFooter';\nimport PageHeader from 'common/components/GenerateThreatsReport/pages/PageHeader';\nimport MisconfiguredDetails from 'common/components/GenerateThreatsReport/pages/Examples/Misconfigured/MisconfiguredDetails';\nimport usePageSize from '../../hooks/usePageSize';\n\nimport './Misconfigured.scss';\n\nconst Misconfigured = ({ data }: { data: any }) => {\n const refDetails = useRef(null);\n const { minHeight } = usePageSize(refDetails, data.id);\n const { allThreats } = useThreatsReport() as ThreatsReportContextType;\n\n return (\n
    \n
    \n \n
    \n
    \n \n Top exposure examples\n \n \n {/* ASM RADAR */}\n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n );\n};\n\nexport default Misconfigured;\n","import React from 'react';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\nimport CompromisedDevice from 'common/components/GenerateThreatsReport/pages/Examples/CompromisedDevice/CompromisedDevice';\nimport AssetTest from 'common/components/GenerateThreatsReport/pages/Examples/AssetTest/AssetTest';\n// import HijackableAsset from 'common/components/GenerateThreatsReport/pages/Examples/HijackableAsset/HijackableAsset';\n// import DigitalSupplyChain from 'common/components/GenerateThreatsReport/pages/Examples/DigitalSupplyChain/DigitalSupplyChain';\nimport ActionItems from 'common/components/GenerateThreatsReport/pages/Examples/ActionItems/ActionItems';\nimport Unknown from 'common/components/GenerateThreatsReport/pages/Examples/Unknown/Unknown';\nimport Misconfigured from './Misconfigured/Misconfigured';\n\nconst Examples = () => {\n const { highlightsExamplesData } = useThreatsReport() as ThreatsReportContextType;\n\n const getHighlightExamples = () => {\n return highlightsExamplesData.map((example: any) => {\n if (example.pdf_page_type === 'ActionItems') {\n return ;\n } else if (example.pdf_page_type === 'CompromisedDevice') {\n return ;\n } else if (example.pdf_page_type === 'AssetTest') {\n return ;\n } else if (example.pdf_page_type === 'Unknown') {\n return ;\n } else if (example.pdf_page_type === 'Misconfigured') {\n return ;\n } else {\n return null;\n }\n });\n };\n\n return !!highlightsExamplesData && !!highlightsExamplesData.length ? (\n
    {getHighlightExamples()}
    \n ) : null;\n};\n\nexport default Examples;\n","import React, { useState, useEffect } from 'react';\nimport ExposureRadar from 'common/components/GenerateThreatsReport/pages/ExposureRadar/ExposureRadar';\nimport Highlights from 'common/components/GenerateThreatsReport/pages//Highlights/Highlights';\nimport LastPage from 'common/components/GenerateThreatsReport/pages/LastPage/LastPage';\nimport CoverPage from 'common/components/GenerateThreatsReport/pages/CoverPage/CoverPage';\nimport {\n ThreatsReportContextType,\n useThreatsReport\n} from 'common/components/GenerateThreatsReport/ThreatsReportContext';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport Examples from 'common/components/GenerateThreatsReport/pages//Examples/Examples';\n\nconst ThreatsReport = () => {\n const { highlightsList, isLoading, PAGE_WIDTH } = useThreatsReport() as ThreatsReportContextType;\n const [runTimer, setRunTimer] = useState(false);\n\n useEffect(() => {\n if (runTimer) {\n const timer = setTimeout(() => {\n window.print();\n setRunTimer(false);\n }, 3000);\n return () => {\n clearTimeout(timer);\n };\n }\n }, [runTimer]);\n\n useEffect(() => {\n if (!isLoading) {\n setRunTimer(true);\n }\n }, [isLoading]);\n\n return isLoading ? (\n \n ) : (\n
    \n \n \n \n {!!highlightsList.length && }\n \n \n
    \n \n );\n};\n\nexport default ThreatsReport;\n","import React from 'react';\nimport ThreatsReport from './pages/ThreatsReport';\nimport { ThreatsReportProvider } from 'common/components/GenerateThreatsReport/ThreatsReportContext';\n\nimport './GenerateThreatsReport.scss';\n\nconst GenerateThreatsReport = () => {\n return (\n \n \n \n );\n};\n\nexport default GenerateThreatsReport;\n","class Zendesk {\n private injected;\n private key;\n private id;\n private url;\n private initialized;\n\n constructor() {\n this.injected = false;\n this.initialized = false;\n this.key = 'a1e3b7cf-06bf-45d0-9cd0-d96dc8699681';\n this.id = 'ze-snippet';\n this.url = 'https://static.zdassets.com/ekr/snippet.js';\n }\n\n inject() {\n if (this.injected) {\n return;\n }\n this.injected = true;\n const body = document.getElementsByTagName('body')[0];\n const script = document.createElement('script');\n script.setAttribute('src', `${this.url}?key=${this.key}`);\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('id', this.id);\n body.appendChild(script);\n\n body.addEventListener(\n 'DOMNodeInserted',\n event => {\n const target = event.target as HTMLIFrameElement;\n if (target) {\n if (target.id === 'launcher') {\n document.getElementById('ZD_HELP')?.classList.add('visible');\n }\n }\n },\n false\n );\n }\n}\n\nexport const zendesk = new Zendesk();\n","import { Snackbar } from '@mui/material/';\nimport './Alert.scss';\nimport React, { useEffect } from 'react';\nimport { AppDispatch, IReduxState } from 'app/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { hideAlert } from '../../../features/AlertSlice';\nimport { Common } from '../../services/common.service';\n\nexport function Alert() {\n const dispatch: AppDispatch = useDispatch();\n const { variant, text, visible } = useSelector((state: IReduxState) => state.alert);\n\n const handleClose = () => {\n dispatch(hideAlert());\n };\n\n useEffect(() => {\n if (visible) {\n Common.displayHelp(false);\n }\n //#TEMP TO SOLVE 'HELP' SHOWN AGAIN WHEN NOTIFICATION IS ACTIVE\n // else {\n // // Common.displayHelp(true);\n // }\n }, [visible]);\n\n return (\n \n
    \n
    \n \"Icon\"\n
    \n
    \n
    {variant}
    \n

    {text}

    \n
    \n \"Close\"\n
    \n \n );\n}\n","import { BrowserRouter as Router, Redirect } from 'react-router-dom';\nimport { Route } from 'react-router-dom';\nimport { AppRouting } from 'routes/AppRouting';\nimport { LicenseInfo } from '@mui/x-data-grid-pro';\nimport { useEffect, useRef, useState } from 'react';\nimport { Login } from 'login/Login';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { AppLoading } from 'common/components/appLoading/appLoading';\nimport { urlToStateConverter } from 'common/services/UrlToStateConverter.service';\nimport { checkSession, setAccount } from 'features/LoginSlice';\nimport { IReduxState } from 'app/store';\nimport { setGlobalFilter } from 'features/GeneralSlice';\nimport GenerateExecutiveReport from 'common/components/GenerateExecutiveReport/GenerateExecutiveReport';\nimport { useLDClient } from 'launchdarkly-react-client-sdk';\nimport GenerateActionItemsPDF from 'common/components/GenerateActionItemsPDF/GenerateActionItemsPDF';\nimport GenerateThreatsReport from 'common/components/GenerateThreatsReport/GenerateThreatsReport';\nimport { ASMWrapper } from 'common/components/ASMWrapper/ASMWrapper';\nimport { zendesk } from 'common/services/zendesk.service';\nimport { Alert } from './common/components/Alert/Alert';\nimport { LoginService } from 'login/services/login.service';\n// import { useFlags } from 'launchdarkly-react-client-sdk';\n// import Downtime from 'common/components/DownTime/Downtime';\n\nimport 'styles/styles.scss';\nimport 'App.scss';\nimport { Common } from 'common/services/common.service';\n\n// MAYBE FOR FUTURE USE\n// import {Translate} from \"common/translate/translate.service\";\n// MAYBE FOR FUTURE USE\n// Translate.addDefaultLocale(require('./locales/en.json'));\n\nexport default function App() {\n const isInitialMount = useRef(true);\n const [_loading, setIsLoading] = useState(true);\n const { loading, isLoggedIn, user } = useSelector((state: IReduxState) => state.login);\n const [showASM, setShowASM] = useState(false);\n const dispatch = useDispatch();\n const ldClient = useLDClient();\n // const flags = useFlags();\n\n // useEffect(() => {\n // console.log(location.pathname);\n // }, [location.pathname]);\n\n useEffect(() => {\n if (ldClient && user.company_name && user.company_hash) {\n ldClient.identify({ key: user.company_name }, user.company_hash);\n }\n }, [user, ldClient]);\n\n useEffect(() => {\n if (!!user) {\n const show = LoginService.isCyberpionUser(user);\n setShowASM(!!show);\n }\n }, [user]);\n\n useEffect(() => {\n if (!loading) {\n setTimeout(() => {\n setIsLoading(false);\n }, 1000);\n }\n }, [loading]);\n\n useEffect(() => {\n if (isLoggedIn) {\n zendesk.inject();\n }\n }, [isLoggedIn]);\n\n useEffect(() => {\n if (isInitialMount.current) {\n populateInitialState();\n isInitialMount.current = false;\n LicenseInfo.setLicenseKey(\n 'bd9d3b8bae4a34ed7d811328293c6b84T1JERVI6MzczODIsRVhQSVJZPTE2NzU4NDk2NTAwMDAsS0VZVkVSU0lPTj0x'\n );\n }\n });\n\n useEffect(() => {\n dispatch(checkSession());\n }, [dispatch]);\n\n const ASMWrapperExpaneded = () => {\n return showASM ? : null;\n };\n\n const populateInitialState = () => {\n // const search = urlToStateConverter.getSearch()\n // const order = urlToStateConverter.getSort()\n // const filters = urlToStateConverter.getFilters()\n const group = urlToStateConverter.getGroup();\n const account = urlToStateConverter.getAccount();\n // dispatch(inputSearch(search))\n dispatch(setGlobalFilter(group));\n dispatch(setAccount(account));\n // dispatch(sort(order))\n // for (let filter in filters) {\n // dispatch( addFilter({[filter]: filters[filter]}))\n // }\n };\n\n return (\n
    \n \n {/* {!!Object.keys(flags).length && flags.isShowDowntimeScreen && } */}\n {_loading && }\n {!_loading && (\n \n \n {user.is_mssp_user && !Common.getParamFromUrl('account') ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n )}\n
    \n );\n}\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { asyncWithLDProvider } from 'launchdarkly-react-client-sdk';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport { Provider } from 'react-redux';\nimport store from './app/store';\nimport { env } from 'env';\n\nconst renderApp = async () => {\n const LDProvider = await asyncWithLDProvider({ clientSideID: env.REACT_APP_LD_CLIENT_ID });\n\n ReactDOM.render(\n \n \n
    \n \n \n \n
    \n
    ,\n document.getElementById('root')\n );\n};\n\nrenderApp();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}