⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.74
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
local
/
psa
/
admin
/
cp
/
public
/
javascript
/
Edit File: main.js.map
{"version":3,"file":"javascript/main.js","mappings":"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","sources":["webpack:///./index.js","webpack:///./polyfill.js","webpack:///./jsw/index.js","webpack:///./jsw/namespace.js","webpack:///./jsw/createComponent.js","webpack:///./jsw/component.js","webpack:///./jsw/tooltip.js","webpack:///./jsw/escapeHtml.js","webpack:///./jsw/Locale.js","webpack:///./jsw/api.js","webpack:///../common/user-activity-tracking.js","webpack:///./helpers/isNetworkError.ts","webpack:///./jsw/addUrlParams.js","webpack:///./jsw/emptyFn.js","webpack:///./jsw/Observer.js","webpack:///./components/common/Translate.tsx","webpack:///../common/react-compat.js","webpack:///external var \"window.PleskUiLibrary\"","webpack:///./jsw/render.js","webpack:///./jsw/onReady.js","webpack:///./jsw/addStatusMessage.js","webpack:///./jsw/status-message.js","webpack:///./jsw/prepareUrl.js","webpack:///./jsw/createElement.js","webpack:///./jsw/clearStatusMessages.js","webpack:///./helpers/pageData.ts","webpack:///./jsw/showInternalError.js","webpack:///./jsw/escapeAttribute.js","webpack:///./jsw/unescapeHtml.js","webpack:///./jsw/fireCustomEvent.js","webpack:///./jsw/keyCode.js","webpack:///./jsw/hint.js","webpack:///./helpers/createHtmlElement.ts","webpack:///./jsw/button.js","webpack:///./jsw/small-button.js","webpack:///./jsw/big-button.js","webpack:///./jsw/split-button.js","webpack:///./jsw/command-button.js","webpack:///./jsw/custom-button.js","webpack:///./jsw/tool-list.js","webpack:///./jsw/container.js","webpack:///./jsw/form-redirect.js","webpack:///./jsw/form.js","webpack:///./jsw/form-ajax.js","webpack:///./jsw/list-container.js","webpack:///./jsw/layout.js","webpack:///../common/cookie.ts","webpack:///./jsw/panel.js","webpack:///./jsw/message-box.js","webpack:///./jsw/modal-dialog-box.js","webpack:///./jsw/dropdown-header.js","webpack:///./jsw/dropdown-manager.js","webpack:///./jsw/small-tools.js","webpack:///./jsw/list/Filters.js","webpack:///./images/blank.gif","webpack:///./jsw/collapsible-block.js","webpack:///./jsw/pathbar.js","webpack:///./jsw/bar.js","webpack:///./jsw/dynamic-sub-form.js","webpack:///./jsw/box.js","webpack:///./jsw/gauge.js","webpack:///./jsw/popup-form.js","webpack:///./jsw/ajax-popup-form.js","webpack:///./jsw/Popup.js","webpack:///./jsw/double-list-selector.js","webpack:///./jsw/enhanced-double-list-selector.js","webpack:///./images/search-input.png","webpack:///./images/clear-search.png","webpack:///./jsw/dynamic-popup-hint.js","webpack:///./jsw/password-meter.js","webpack:///./helpers/estimatePassword.ts","webpack:///./apolloClient.js","webpack:///./queries/PasswordEstimation.graphql","webpack:///./jsw/password-generator.js","webpack:///./helpers/shuffle.ts","webpack:///./jsw/upgrade-failure-notification.js","webpack:///./jsw/webserver-configuration-failure.js","webpack:///./jsw/confirmation-popup-manager.js","webpack:///./jsw/lookup.js","webpack:///./jsw/list/index.js","webpack:///./jsw/list/List.js","webpack:///./jsw/list/ListContextMenu.js","webpack:///./jsw/isRtl.js","webpack:///./jsw/list/constants.js","webpack:///./icons/16/plesk/menu.png","webpack:///./helpers/stripTags.ts","webpack:///./jsw/list/AdditionalActions.js","webpack:///./jsw/unresolved-domain-warning.js","webpack:///./jsw/task-progress-bar.js","webpack:///./helpers/toasts.ts","webpack:///./jsw/pleskWS.js","webpack:///./jsw/task-status-message.js","webpack:///./jsw/active-list.js","webpack:///./icons/16/plesk/settings-toolbar.png","webpack:///./icons/16/plesk/order-ascending.png","webpack:///./icons/16/plesk/order-descending.png","webpack:///./icons/16/plesk/list-type-active.png","webpack:///./icons/16/plesk/list-type-classic.png","webpack:///./jsw/file-manager/tree.js","webpack:///./helpers/fileManager.ts","webpack:///./icons/16/plesk/uplevel.png","webpack:///./icons/16/plesk/file-folder.png","webpack:///./icons/16/plesk/file-txt.png","webpack:///./icons/16/plesk/file-image.png","webpack:///./icons/16/plesk/file-audio.png","webpack:///./icons/16/plesk/file-private.png","webpack:///./icons/16/plesk/file-webscript.png","webpack:///./icons/16/plesk/file-html.png","webpack:///./icons/16/plesk/file-arch.png","webpack:///./icons/16/plesk/file-binary.png","webpack:///./images/tree-open.gif","webpack:///./images/indicator.gif","webpack:///./images/tree-close.gif","webpack:///./jsw/file-manager/upload-adapter-iframe.js","webpack:///./jsw/directory-browser.js","webpack:///./jsw/drop-area.js","webpack:///./jsw/groups-list.js","webpack:///./jsw/issue-reporter.js","webpack:///./jsw/object-switcher.js","webpack:///./jsw/PopupSlider.js","webpack:///./jsw/scrollable-list.js","webpack:///./jsw/uat.js","webpack:///../common/gdpr-storage.ts","webpack:///./jsw/getControlPanelLoginHtml.js","webpack:///./jsw/punycode.js","webpack:///./plesk.js","webpack:///./components/App.js","webpack:///./routes/index.js","webpack:///./helpers/dates.ts","webpack:///./helpers/routesTransformer.tsx","webpack:///./queries/License.graphql","webpack:///./components/layouts/AppLayout.js","webpack:///./helpers/getId.ts","webpack:///./components/DynamicModule.js","webpack:///./components/layouts/useServerRouteReload.ts","webpack:///./components/layouts/getScrollRestorationKey.ts","webpack:///./queries/TaskProgressBar.graphql","webpack:///./components/layouts/CpPagesLayout.js","webpack:///./components/layouts/PageLayout/PageLayout.js","webpack:///../common/hooks/useEventListener.js","webpack:///../common/hooks/useLocalStorage.ts","webpack:///../common/helpers/readLocalStorageValue.ts","webpack:///../common/hooks/useMediaQuery.ts","webpack:///../common/hooks/useDebounce.ts","webpack:///./components/layouts/CookiePolicy/CookiePolicy.js","webpack:///./hooks/useCollector.js","webpack:///./hooks/useConfirmation.ts","webpack:///./hooks/useCreateFormInDrawer.js","webpack:///./components/common/DrawerWithProgress.js","webpack:///./hooks/useNavigate.ts","webpack:///./queries/CreateFormInDrawer.graphql","webpack:///./queries/UpdateUserSettings.graphql","webpack:///./hooks/useListOperation.ts","webpack:///./hooks/useList.js","webpack:///./hooks/useModal.ts","webpack:///./components/layouts/CookiePolicy/Info.js","webpack:///./components/layouts/CookiePolicy/urls.js","webpack:///./components/layouts/CookiePolicy/Preferences/Preferences.js","webpack:///./components/layouts/CookiePolicy/Preferences/DrawerAdapter.js","webpack:///./components/layouts/CookiePolicy/Preferences/OverlayAdapter.js","webpack:///./components/layouts/CookiePolicy/Preferences/Overlay.js","webpack:///./queries/CookiePolicy.graphql","webpack:///./components/jsw/JswComponent.js","webpack:///./components/layouts/StatusMessages/StatusMessages.js","webpack:///./components/layouts/StatusMessages/LicenseLimitsMessage/LicenseLimitsMessage.js","webpack:///./components/common/Link.tsx","webpack:///./components/layouts/PageLayout/LicenseStatus.js","webpack:///./components/layouts/PageLayout/PageHeader/PageHeader.js","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderSearch/MainHeaderSearch.js","webpack:///./helpers/form.ts","webpack:///./queries/MainHeaderSearch.graphql","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderSearch/RecentSearchHistoryQuery.graphql","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderSearch/DeleteRecentSearchResultMutation.graphql","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderNavbar.js","webpack:///./components/layouts/PageLayout/PageHeader/SubscriptionSwitcher.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenter.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/applyFilter.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/utils.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/PropTypes.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/api.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterView.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/index.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/SubjectColumn.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/notificationIntent.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/UnreadCounter.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/groupNotifications.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/DateColumn.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationDate.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationActions.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/FilterMenu.js","webpack:///./images/notification-center-empty.svg","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/getIntentByNotification.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/getMostIntentByNotifications.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationToast.js","webpack:///./queries/NotificationCenter.graphql","webpack:///./components/layouts/PageLayout/PageHeader/HelpMenu.js","webpack:///./queries/HelpMenu.graphql","webpack:///./queries/AccountMenu.graphql","webpack:///./queries/MainHeaderNavbar.graphql","webpack:///./icons/16/plesk/top-advisor.svg","webpack:///./images/logos/powered-logo.png","webpack:///./components/layouts/PageLayout/PageHeader/DiscoMode/DiscoMode.js","webpack:///./images/disco-mode/logo.svg","webpack:///./images/disco-mode/dancers.gif","webpack:///./components/layouts/PageLayout/PageSidebar.js","webpack:///./components/layouts/PageLayout/ViewSwitcher.js","webpack:///./icons/16/plesk/nav-navigation.svg","webpack:///./components/layouts/Brand/Brand.js","webpack:///./queries/Branding.graphql","webpack:///./queries/MainMenu.graphql","webpack:///./components/layouts/PageLayout/PageFooter.js","webpack:///./queries/PageFooter.graphql","webpack:///./components/layouts/PageLayout/PageContentHeader.js","webpack:///./components/layouts/PageLayout/ObjectSwitcher.js","webpack:///./components/layouts/PageLayout/PageContentHeaderNav.js","webpack:///./components/layouts/PageLayout/getTitleForHelpSearchQuery.js","webpack:///./components/layouts/PageLayout/withPageLayout.js","webpack:///./components/layouts/PageLayout/withSimplePageLayout.js","webpack:///./components/layouts/PhpPagesLayout.js","webpack:///./components/AppBoundary.js","webpack:///../common/components/ErrorPage.js","webpack:///../common/components/RepairKitAlert.js","webpack:///../common/components/ExceptionDetails.js","webpack:///../common/components/ErrorPage.module.css?fb22","webpack:///./components/pages/LogsPage.js","webpack:///./components/common/GraphQlList/GraphQlList.tsx","webpack:///./components/common/GraphQlList/GraphQlListContext.tsx","webpack:///./components/common/GraphQlList/GraphQlListSearchBar.tsx","webpack:///./components/common/GraphQlList/useGraphQlList.tsx","webpack:///./components/common/GraphQlList/helpers.ts","webpack:///./routes/databaseListRoute.js","webpack:///./components/pages/DatabasesPage/ConnectionInfo.graphql","webpack:///./components/pages/DatabasesPage/MoveToSubscription.graphql","webpack:///./routes/odbcServerRoute.js","webpack:///./routes/odbcAddRoute.js","webpack:///./queries/OdbcAddPage.graphql","webpack:///./routes/odbcEditRoute.js","webpack:///./queries/OdbcEditPage.graphql","webpack:///./queries/OdbcEditFragment.graphql","webpack:///./queries/OdbcServerList.graphql","webpack:///./queries/OdbcListFragment.graphql","webpack:///./routes/domainOverviewRoutes.js","webpack:///./queries/HostingSettingsPage.graphql","webpack:///./routes/summaryReportRoute.js","webpack:///./queries/SummaryReportLayoutsPage.graphql","webpack:///./queries/SummaryReportLayoutAddPage.graphql","webpack:///./queries/SummaryReportLayoutEditPage.graphql","webpack:///./queries/TrafficHistoryReportPage.graphql","webpack:///./queries/SummaryReportSchedulesPage.graphql","webpack:///./queries/SummaryReportScheduleAddPage.graphql","webpack:///./queries/SummaryReportScheduleEditPage.graphql","webpack:///./queries/SummaryReportPrintPage.graphql","webpack:///./queries/SummaryReportFragment.graphql","webpack:///./queries/SummaryReportPage.graphql","webpack:///./routes/domainRoute.js","webpack:///./helpers/getContextUrl.ts","webpack:///./routes/aspDotNetDomainSettingsRoute.js","webpack:///./queries/AspDotNetDomainSettingsPage.graphql","webpack:///./routes/bandwidthLimitingDomainRoute.js","webpack:///./queries/BandwidthLimitingPage.graphql","webpack:///./routes/hotlinkProtectionDomainRoute.js","webpack:///./queries/HotlinkProtectionPage.graphql","webpack:///./routes/odbcDomainRoute.js","webpack:///./queries/OdbcDomainList.graphql","webpack:///./queries/OdbcDomainPage.graphql","webpack:///./queries/DomainSubscriptionOdbcLimitFragment.graphql","webpack:///./routes/protectedDirectoriesRoute.js","webpack:///./routes/protectedDirectoryListRoute.js","webpack:///./routes/protectedDirectoryAddRoute.js","webpack:///./queries/ProtectedDirectoryAddPage.graphql","webpack:///./routes/protectedDirectoryEditRoute.js","webpack:///./queries/ProtectedDirectoryEditPage.graphql","webpack:///./queries/ProtectedDirectoryEditFragment.graphql","webpack:///./queries/ProtectedDirectoryList.graphql","webpack:///./routes/protectedDirectoryUserListRoute.js","webpack:///./routes/protectedDirectoryUserAddRoute.js","webpack:///./queries/ProtectedDirectoryPath.graphql","webpack:///./routes/protectedDirectoryUserPasswordRoute.js","webpack:///./queries/ProtectedDirectoryUserList.graphql","webpack:///./queries/ProtectedDirectoryUserListFragment.graphql","webpack:///./routes/virtualDirectoryRoute.js","webpack:///./components/sidebars/VirtualDirectorySidebar.js","webpack:///./components/sidebars/SidePanel.js","webpack:///./helpers/buildUrl.ts","webpack:///./queries/VirtualDirectoryPage.graphql","webpack:///./queries/CreateVirtualDirectoryPage.graphql","webpack:///./queries/VirtualDirectoryParentContentFragment.graphql","webpack:///./queries/EditVirtualDirectoryPage.graphql","webpack:///./queries/VirtualDirectoryBrowsePage.graphql","webpack:///./queries/VirtualDirectoryProtectionPage.graphql","webpack:///./queries/VirtualDirectoryProtectionUserList.graphql","webpack:///./queries/VirtualDirectoryMimeTypeList.graphql","webpack:///./queries/VirtualDirectoryErrorDocList.graphql","webpack:///./queries/VirtualDirectoryContentList.graphql","webpack:///./queries/VirtualDirectoryPhpPage.graphql","webpack:///./queries/IisManagerMimeContentTypes.graphql","webpack:///./queries/VirtualDirectoryEditMimeTypePage.graphql","webpack:///./queries/VirtualDirectoryEditErrorDocPage.graphql","webpack:///./routes/trafficUsageByDomainRoute.js","webpack:///./queries/TrafficUsageByDomainPage.graphql","webpack:///./queries/DomainTrafficUsage.graphql","webpack:///./queries/DomainPage.graphql","webpack:///./routes/trafficUsageByViewerResellersRoute.js","webpack:///./queries/TrafficUsageIntervals.graphql","webpack:///./queries/TrafficUsageByViewerClientsList.graphql","webpack:///./queries/TotalTrafficUsageByViewerClients.graphql","webpack:///./routes/trafficUsageByResellerRoute.js","webpack:///./queries/TrafficUsageByResellerClientsList.graphql","webpack:///./queries/TotalTrafficUsageByReseller.graphql","webpack:///./routes/trafficUsageByCustomerDomainsRoute.js","webpack:///./routes/trafficUsageByClientDomainsRoute.js","webpack:///./queries/ClientTrafficUsageIntervals.graphql","webpack:///./queries/TrafficUsageByClientDomainsList.graphql","webpack:///./queries/TotalTrafficUsageByClientDomains.graphql","webpack:///./queries/ClientTotalTrafficUsageByDomainsFragment.graphql","webpack:///./routes/trafficUsageByViewerCustomersRoute.js","webpack:///./routes/trafficUsageByViewerDomainsRoute.js","webpack:///./queries/TrafficUsageByViewerDomainsList.graphql","webpack:///./queries/TotalTrafficUsageByViewerDomains.graphql","webpack:///./routes/homeRoute.js","webpack:///./components/pages/HomePage/queries/index.js","webpack:///./components/pages/HomePage/constants.js","webpack:///./queries/AdminHomeServerInfo.graphql","webpack:///./queries/AdminHomeUpdates.graphql","webpack:///./queries/AdminHomeOverusedSubscriptions.graphql","webpack:///./queries/AdminHomeMySubscriptions.graphql","webpack:///./queries/AdminHomeExtensions.graphql","webpack:///./queries/AdminHomeChangeLog.graphql","webpack:///./components/pages/HomePage/TitleAddon.js","webpack:///./components/pages/HomePage/common/isEmptyLayout.js","webpack:///./queries/AdminHomePage.graphql","webpack:///./components/pages/HomePage/queries/Customization.graphql","webpack:///./routes/infoAndStatisticsRoute.js","webpack:///./routes/resourceUsageByDomainRoute.js","webpack:///./queries/DomainsResourceUsage.graphql","webpack:///./queries/InfoAndStatisticsPage.graphql","webpack:///./queries/ServerInformationPage.graphql","webpack:///./queries/ViewerType.graphql","webpack:///./queries/IpAddressDomainsPage.graphql","webpack:///./queries/ChangeSubscriptionsOwnerPage.graphql","webpack:///./queries/VirtualHostTemplatePage.graphql","webpack:///./queries/LoginPage.graphql","webpack:///./queries/DnsRecordsPage.graphql","webpack:///./components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/EditDnsRecord.graphql","webpack:///./components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/AddDnsRecord.graphql","webpack:///./queries/DnsSoaRecordsPage.graphql","webpack:///./queries/EditInterfaceViewPage.graphql","webpack:///./queries/NotificationUiSetting.graphql","webpack:///./queries/BrandingPage.graphql","webpack:///./queries/DatabaseServersPage.graphql","webpack:///./queries/DatabaseServerUpgradePage.graphql","webpack:///./queries/DatabaseServerCreatePage.graphql","webpack:///./queries/DatabaseServerPropertiesPage.graphql","webpack:///./queries/DatabaseServerDatabasesPage.graphql","webpack:///./queries/DatabaseServerChangePasswordPage.graphql","webpack:///./queries/WebsitesDiagnosticPage.graphql","webpack:///./queries/SystemTimePage.graphql","webpack:///./queries/ServerMailSettingsPage.graphql","webpack:///./queries/ServerMailTabs.graphql","webpack:///./queries/ServerMailBlackListPage.graphql","webpack:///./queries/ServerMailWhiteListPage.graphql","webpack:///./queries/ServerMailAntivirusPage.graphql","webpack:///./queries/ServerMailSpamFilterPage.graphql","webpack:///./queries/ServerMailSpamStatistics.graphql","webpack:///./queries/ServerMailSmarthostPage.graphql","webpack:///./queries/PrimaryKeyInfoPage.graphql","webpack:///./queries/MasterKeyProcessingState.graphql","webpack:///./queries/PrimaryKeyUploadPage.graphql","webpack:///./queries/PrimaryKeyRevertPage.graphql","webpack:///./queries/AdditionalKeysPage.graphql","webpack:///./queries/AdditionalKeyUploadPage.graphql","webpack:///./queries/AdditionalKeyInfoPage.graphql","webpack:///./queries/AdditionalKeyRevertPage.graphql","webpack:///./queries/FirewallGeneralPage.graphql","webpack:///./queries/FirewallIcmpPage.graphql","webpack:///./queries/FirewallRulesPage.graphql","webpack:///./queries/ServerComponentsPage.graphql","webpack:///./queries/IpAddressPage.graphql","webpack:///./components/pages/IpAddressResellersPage/IpAddressResellerList.graphql","webpack:///./components/pages/IpAddressResellersPage/AssignIpAddressToResellerForm/UnassignedIpAddressResellers.graphql","webpack:///./queries/ClientIpAddress.graphql","webpack:///./components/pages/ClientIpAddressPage/ClietnIpAddressProperties.graphql","webpack:///./components/pages/ClientIpAddressPage/AssignClientIpAddress/AssignClientIpAddressDrawer.graphql","webpack:///./queries/PhpExtensionsPage.graphql","webpack:///./queries/TsSessionPage.graphql","webpack:///./queries/TsSessionsPage.graphql","webpack:///./queries/AspDotNetServerSettingsPage.graphql","webpack:///./queries/ServerAboutPage.graphql","webpack:///./queries/MassMailPage.graphql","webpack:///./queries/CreateMassMailTemplatePage.graphql","webpack:///./queries/SendMassMailPage.graphql","webpack:///./queries/EditMassMailTemplatePage.graphql","webpack:///./queries/ActionLogPage.graphql","webpack:///./queries/ServerSettingsPage.graphql","webpack:///./queries/SpamFilterSettingsTabs.graphql","webpack:///./queries/ServerMailSpamFilterBlackListPage.graphql","webpack:///./queries/ServerMailSpamFilterWhiteListPage.graphql","webpack:///./components/pages/LoginPage/LoginPage.js","webpack:///./components/Form.tsx","webpack:///./components/layouts/LoginLayout.js","webpack:///./components/layouts/LayoutBackground.js","webpack:///./components/pages/LoginPage/LoginMobileApplicationPromotion.js","webpack:///./icons/64/plesk/plesk.png","webpack:///./components/pages/LoginPage/SuggestResolvableHostname.js","webpack:///./components/common/LocaleSwitcher/LocaleSwitcher.js","webpack:///./components/pages/GetPasswordPage.js","webpack:///./queries/GetPasswordPage.graphql","webpack:///./components/pages/RestorePasswordPage.js","webpack:///./components/LocaleProvider.js","webpack:///./components/common/ErrorBoundary.js","webpack:///./app/index.js","webpack:///../common/sentry.ts","webpack:///./legacy/index.js","webpack:///./legacy/admin-panel.js","webpack:///./legacy/smb.js","webpack:///./legacy/common.js","webpack:///./legacy/chk.js","webpack:///./legacy/Tooltip.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/chunk loaded","webpack:///webpack/runtime/create fake namespace object","webpack:///webpack/runtime/load script","webpack:///webpack/runtime/amd options","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/get mini-css chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/sharing","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/compat","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport './styles/index.less';\nimport './app/index.less';\nimport './components/index.less';\nimport './views/index.less';\nimport './styles/themes.less';\n\nimport './polyfill';\n\nimport * as Jsw from './jsw';\nimport * as Plesk from './plesk';\nimport './legacy';\n\nwindow.Jsw = Jsw;\nwindow.Plesk = Plesk;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport 'core-js/stable';\n\n/**\n * Workaround for 'delete arrayProto.entries;' from prototype.js\n */\nif (!Array.prototype.entries) {\n // eslint-disable-next-line no-extend-native\n Array.prototype.entries = function () {\n let index = 0;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const arr = this;\n return {\n next() {\n if (index < arr.length) {\n return { value: [index, arr[index++]], done: false };\n }\n return { value: undefined, done: true };\n },\n [Symbol.iterator]() {\n return this;\n },\n };\n };\n}\n\n\n/**\n * Workaround for Array.from(new Set(['1', '2'])) from prototype.js\n */\n// eslint-disable-next-line no-extend-native\nSet.prototype.toArray = function () {\n const array = [];\n this.forEach(item => array.push(item));\n return array;\n};\n\n/**\n * Workaround for Array.from(new Map([['a', 1], ['b', 2]])) from prototype.js\n */\n// eslint-disable-next-line no-extend-native\nMap.prototype.toArray = function () {\n const array = [];\n this.forEach((item, key) => array.push([key, item]));\n return array;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n/**\n * This is part of public Jsw API. Don't modify it!\n */\n\nexport const version = '1.0';\n\nexport { default as namespace } from './namespace';\nexport { default as createComponent } from './createComponent';\nexport { default as onReady, priority } from './onReady';\nexport { default as addStatusMessage } from './addStatusMessage';\nexport { default as clearStatusMessages } from './clearStatusMessages';\nexport { default as showInternalError, prepareInternalError } from './showInternalError';\nexport { default as prepareUrl } from './prepareUrl';\nexport { default as addUrlParams } from './addUrlParams';\nexport { default as render } from './render';\nexport { default as createElement } from './createElement';\nexport { default as escapeAttribute } from './escapeAttribute';\nexport { default as escapeHtml } from './escapeHtml';\nexport { default as unescapeHtml } from './unescapeHtml';\nexport { default as emptyFn } from './emptyFn';\nexport { default as fireCustomEvent } from './fireCustomEvent';\nexport { default as keyCode } from './keyCode';\n\nexport { Component, registerComponent, getComponent } from './component';\nexport { default as Locale } from './Locale';\nexport { Hint } from './hint';\nexport { Button } from './button';\nexport { SmallButton } from './small-button';\nexport { BigButton } from './big-button';\nexport { SplitButton } from './split-button';\nexport { CommandButton } from './command-button';\nexport { CustomButton } from './custom-button';\n\nexport { FormRedirect, submit, redirect, redirectPost } from './form-redirect';\n\nimport { DisplayField, Values } from './form';\nexport const form = {\n DisplayField,\n Values,\n};\n\nexport { FormAjax } from './form-ajax';\nexport { Container } from './container';\nexport { ListContainer } from './list-container';\n\nimport { TwoColumns } from './layout';\nexport const layout = {\n TwoColumns,\n};\n\nexport { default as Cookie } from 'common/cookie';\nexport { Panel } from './panel';\n\nexport { messageBox, MessageBox, AjaxMessageBox, MultiCheckboxMessageWindow, WebspaceFoldersMessageBox } from './message-box';\n\nexport { DropdownHeader } from './dropdown-header';\nexport { DropdownManager } from './dropdown-manager';\nexport { SmallTools } from './small-tools';\nexport { CollapsibleBlock } from './collapsible-block';\nexport { Pathbar } from './pathbar';\n\nexport { Bar, bar } from './bar';\n\nexport { DynamicSubForm, AddRemoveDynamicSubForm } from './dynamic-sub-form';\n\nexport { Box } from './box';\nexport { Gauge } from './gauge';\nexport { Tooltip } from './tooltip';\nexport { ModalDialogBox } from './modal-dialog-box';\nexport { PopupForm } from './popup-form';\nexport { AjaxPopupForm } from './ajax-popup-form';\nexport { default as Popup } from './Popup';\nexport { DoubleListSelector } from './double-list-selector';\nexport { EnhancedDoubleListSelector } from './enhanced-double-list-selector';\n\nexport { ToolList, toollist } from './tool-list';\n\nexport { DynamicPopupHint } from './dynamic-popup-hint';\nexport { PasswordMeter } from './password-meter';\nexport { PasswordGenerator } from './password-generator';\nexport { UpgradeFailureNotification } from './upgrade-failure-notification';\nexport { WebserverConfigurationFailure } from './webserver-configuration-failure';\nexport { ConfirmationPopupManager } from './confirmation-popup-manager';\nexport { LookUp } from './lookup';\nexport { StatusMessage } from './status-message';\nexport { default as Observer } from './Observer';\nexport { UnresolvedDomainWarning } from './unresolved-domain-warning';\n\nimport { ProgressBar } from './task-progress-bar';\nimport { StatusMessage, STATUS_DONE, STATUS_ERROR, STATUS_STARTED, STATUS_NOT_STARTED, STATUS_CANCELED } from './task-status-message';\nexport const Task = {\n ProgressBar,\n StatusMessage,\n STATUS_DONE,\n STATUS_ERROR,\n STATUS_STARTED,\n STATUS_NOT_STARTED,\n STATUS_CANCELED,\n};\n\nexport { ActiveList } from './active-list';\n\nimport { Tree } from './file-manager/tree';\nimport { UploadAdapterIframe } from './file-manager/upload-adapter-iframe';\nexport const FileManager = {\n Tree,\n UploadAdapterIframe,\n};\n\nexport { DirectoryBrowser } from './directory-browser';\nexport { DropArea } from './drop-area';\nexport { GroupsList } from './groups-list';\nexport { ReporterPopup } from './issue-reporter';\nexport { ObjectSwitcher } from './object-switcher';\nexport { default as PopupSlider } from './PopupSlider';\nexport { ScrollableList } from './scrollable-list';\nexport { UAT } from './uat';\n\nexport * from './list';\n\nexport { default as getControlPanelLoginHtml } from './getControlPanelLoginHtml';\nexport { default as api } from './api';\n\nexport { default as pleskWS } from './pleskWS';\nexport * from './punycode';\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/**\n * Creates namespaces to be used for scoping variables and classes so that they are not global.\n * Specifying the last node of a namespace implicitly creates all other nodes. Usage:\n *\n * namespace('Module.SubModule.list');\n *\n * @param {String} ns\n * @param {Boolean} autoCreate=true\n * @return {Object} The object that is the namespace or class name.\n */\nexport default (ns, autoCreate = true) => {\n const nsParts = ns.split('.');\n let root = window;\n\n for (let partIndex = 0; partIndex < nsParts.length; partIndex++) {\n if (typeof root[nsParts[partIndex]] === 'undefined') {\n if (autoCreate) {\n root[nsParts[partIndex]] = {};\n } else {\n return undefined;\n }\n }\n\n root = root[nsParts[partIndex]];\n }\n\n return root;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport namespace from './namespace';\n\n/**\n * Creates a new Component from the specified config object using the config object's\n * `componentType` to determine the class to instantiate.\n * @param {Object} config A configuration object for the Component you wish to create.\n * @returns {Component} The newly instantiated Component.\n */\nexport default config => {\n if (!config.componentType || config instanceof Component) {\n return config;\n }\n\n const Cls = typeof config.componentType === 'string'\n ? namespace(config.componentType, false)\n : config.componentType;\n if (!Cls) {\n throw new Error(`Unrecognized class name: ${config.componentType}`);\n }\n return new Cls(config);\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Tooltip } from './tooltip';\nimport Locale from './Locale';\nimport render from './render';\n\nconst registeredComponents = {};\n\nexport const registerComponent = (identity, component) => {\n registeredComponents[identity] = component;\n};\n\n/**\n * Returns an component by identity.\n * @param {String} identity The identity of the component.\n * @returns {Object} The component, undefined if not found.\n */\nexport const getComponent = identity => registeredComponents[identity];\n\n/**\n * The base class for all Jsw components.\n */\nexport class Component {\n /**\n * @cfg {String} id The unique id of this component instance.\n */\n /**\n * @cfg {String} cls CSS class names to apply for root element.\n */\n /**\n * @cfg {Object} attrs HTML attributes to apply for root element.\n */\n /**\n * @cfg {String} wrapperClass\n */\n /**\n * @cfg {Element|String} renderTo\n */\n /**\n * @cfg {String} renderMode=bottom\n */\n /**\n * @cfg {Element|String} applyTo\n */\n /**\n * @cfg {Object} locale\n */\n /**\n * @cfg {Boolean} hidden=false Hide component. See methods {@link #hide}/{@link #show}\n */\n\n static genId = 1;\n\n constructor(config = {}) {\n this.initialize(config);\n }\n\n // TODO EXTNODEJS-90: EXTDOCKER-50: PMT-4391: Need to move this logic to constructor\n initialize(config) {\n this._initConfiguration(config);\n this._registerComponent();\n\n this._initComponentElement();\n\n if (this._autoRender && ((null !== this._renderTarget) || (typeof this._applyTargetId === 'string' ? document.getElementById(this._applyTargetId) : this._applyTargetId))) {\n this.render();\n }\n\n if (this._getConfigParam('hidden', false)) {\n this.hide();\n }\n }\n\n _initConfiguration(config) {\n this.initialConfig = config;\n this._config = this.initialConfig;\n\n this._cls = this._getConfigParam('cls', '');\n this._attrs = this._getConfigParam('attrs', {});\n this._wrapperClass = this._getConfigParam('wrapperClass', '');\n this._autoRender = this._getConfigParam('autoRender', true);\n this._renderTarget = (this._getConfigParam('renderTo', null));\n if (typeof this._renderTarget === 'string') {\n this._renderTarget = document.getElementById(this._renderTarget);\n }\n this._renderMode = this._getConfigParam('renderMode', 'bottom');\n this._applyTargetId = this._getConfigParam('applyTo', null);\n this.setLocale(this._getConfigParam('locale', this._locale));\n\n this._id = (this._applyTargetId)\n ? this._applyTargetId\n : this._getConfigParam('id', null);\n\n if (null === this._id) {\n this._id = `gen-id-${Component.genId++}`;\n this._idIsRandom = true;\n }\n\n this._tag = (this._applyTargetId)\n ? (typeof this._applyTargetId === 'string' ? document.getElementById(this._applyTargetId) : this._applyTargetId).tagName\n : this._getConfigParam('tag', this._tag || 'div');\n }\n\n _registerComponent() {\n registerComponent(this._id, this);\n }\n\n _initComponentElement() {\n if (this._applyTargetId) {\n this._componentElement = typeof this._applyTargetId === 'string' ? document.getElementById(this._applyTargetId) : this._applyTargetId;\n return;\n }\n\n this._componentElement = document.createElement(this._tag);\n Object.keys(this._attrs).forEach(name => {\n this._componentElement.setAttribute(name, this._attrs[name]);\n });\n this._componentElement.id = this._id;\n this._componentElement.className = this._cls;\n }\n\n _initDisablerOverlay() {\n this._disablerOverlay = document.createElement('div');\n\n this._disablerOverlay.style.display = 'none';\n this._disablerOverlay.style.zIndex = this._componentElement.style.zIndex + 1000;\n\n this._disablerOverlay.classList.add('content-blocker');\n this._componentElement.appendChild(this._disablerOverlay);\n\n this._componentElement.style.position = 'relative';\n }\n\n addEventObserver(eventName, handler) {\n if ('undefined' !== typeof handler) {\n this._componentElement.addEventListener(eventName, handler);\n }\n }\n\n removeEventObserver(eventName, handler) {\n if ('undefined' !== typeof handler) {\n this._componentElement.removeEventListener(eventName, handler);\n }\n }\n\n _hasConfigParam(name) {\n return 'undefined' !== typeof this._config[name];\n }\n\n _getConfigParam(name, defaultValue) {\n return this._hasConfigParam(name)\n ? this._config[name]\n : defaultValue;\n }\n\n _getRandomNumber() {\n return Math.floor(1000000 * Math.random());\n }\n\n _addEvents() {\n // basic empty implementation\n }\n\n _addTooltips() {\n const description = this._getConfigParam('description');\n if (description) {\n this._tooltip = Tooltip.init(this._componentElement, { text: description });\n }\n }\n\n _updateComponentElement(content) {\n const oldElements = this._componentElement.childNodes;\n if (!oldElements.length) {\n render(this._componentElement, content);\n return;\n }\n\n render(this._componentElement, content, 'top');\n\n oldElements.forEach(oldElement => {\n if ('undefined' === typeof oldElement.id || '' === oldElement.id) {\n return;\n }\n\n const newElement = this._componentElement.querySelector(`#${oldElement.id}`);\n\n if (newElement) {\n newElement.parentNode.replaceChild(oldElement, newElement);\n }\n });\n }\n\n /**\n * See Component.wrapperClass for details.\n * @returns {String}\n */\n getWrapperClass() {\n return this._wrapperClass;\n }\n\n /**\n * Returns id of this component instance.\n * @returns {String}\n */\n getId() {\n return this._id;\n }\n\n /**\n * Set render target element.\n * @param {Element} target\n */\n setRenderTarget(target) {\n this._renderTarget = target;\n }\n\n /**\n * Get render target element.\n * @returns {Element}\n */\n getRenderTarget() {\n return this._renderTarget;\n }\n\n /**\n * Show component.\n */\n show() {\n this._componentElement.style.display = '';\n }\n\n /**\n * Hide component.\n */\n hide() {\n this._componentElement.style.display = 'none';\n }\n\n /**\n * Render component.\n */\n render() {\n if (this._renderTarget) {\n render(this._renderTarget, this._componentElement, this._renderMode);\n }\n\n this._addEvents();\n this._addTooltips();\n }\n\n setLocale(locale) {\n if (!(locale instanceof Locale)) {\n locale = new Locale(locale);\n }\n this.lmsg = locale.lmsg.bind(locale);\n this._locale = locale;\n }\n\n getLocale() {\n return this._locale;\n }\n\n /**\n * Remove this component.\n */\n remove() {\n this._renderTarget?.removeChild(this._componentElement);\n registerComponent(this._id);\n }\n\n getAttribute(name) {\n return this._attrs[name];\n }\n}\n\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\nComponent.subclasses = [];\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport escapeHtml from './escapeHtml';\n\nimport './tooltip.less';\n\n/**\n * @class Tooltip\n * @singleton\n */\nexport const Tooltip = {\n // show timeout\n showTimeoutStatus: true,\n\n // show timeout\n showTimeout: 0.55,\n\n // minimum viewport delta\n minDelta: 5,\n\n // horisonatl offset from cursor\n xOffsetLeft: -5,\n\n // horisonatl offset from cursor\n xOffsetRight: 5,\n\n // vertical offset from cursor\n yOffsetTop: 1,\n\n // vertical offset from cursor\n yOffsetBottom: 13,\n\n current: null,\n\n initData(contentElement) {\n let elements;\n\n if ('undefined' !== typeof contentElement) {\n elements = contentElement.querySelectorAll('.tooltipData');\n } else {\n elements = document.querySelectorAll('.tooltipData');\n }\n\n elements.forEach(tooltipData => {\n Tooltip.init(tooltipData.parentNode, { element: tooltipData });\n });\n },\n\n /**\n * @param {Element} element\n * @param {Object} config Tooltip config.\n * @param {String} config.text Text of tooltip.\n * @returns {Tooltip.Instance}\n */\n init(element, config) {\n return new Tooltip.Instance(element, config);\n },\n\n set(tooltip) {\n if (Tooltip.current && Tooltip.current !== tooltip) {\n Tooltip.hide();\n }\n if (Tooltip.current === tooltip) {\n return;\n }\n Tooltip.current = tooltip;\n tooltip.element.addEventListener('mousemove', Tooltip._onMouseMove);\n tooltip.element.addEventListener('mouseout', Tooltip._onMouseOut);\n\n Tooltip.show();\n },\n\n show() {\n Tooltip.showCancel();\n Tooltip.hideCancel();\n if (Tooltip.showTimeoutStatus) {\n Tooltip.showTask = setTimeout(Tooltip.showFinish, Tooltip.showTimeout * 1000);\n } else {\n Tooltip.showFinish();\n }\n },\n\n showCancel() {\n if (Tooltip.showTask) {\n clearTimeout(Tooltip.showTask);\n Tooltip.showTask = null;\n }\n },\n\n showFinish() {\n Tooltip.showCancel();\n const tooltipElement = Tooltip._fetchTooltipElement();\n const tooltip = Tooltip.current;\n let { text } = tooltip.config;\n text = typeof text === 'function' ? text() : text;\n\n if (text === false) {\n return;\n }\n\n if (text) {\n tooltipElement.querySelector('span').innerHTML = escapeHtml(text);\n } else if (tooltip.config.element) {\n tooltipElement.querySelector('span').innerHTML = tooltip.config.element.innerHTML;\n }\n tooltipElement.style.display = '';\n Tooltip.update();\n },\n\n hide() {\n Tooltip.showCancel();\n if (!Tooltip.current) {\n return;\n }\n const tooltip = Tooltip.current;\n Tooltip.current = null;\n const tooltipElement = Tooltip._fetchTooltipElement();\n tooltipElement.style.display = 'none';\n tooltip.element.removeEventListener('mousemove', Tooltip._onMouseMove);\n tooltip.element.removeEventListener('mouseout', Tooltip._onMouseOut);\n Tooltip.hideTask = setTimeout(Tooltip.hideFinish, Tooltip.showTimeout * 1000);\n },\n\n hideCancel() {\n if (Tooltip.hideTask) {\n clearTimeout(Tooltip.hideTask);\n Tooltip.hideTask = null;\n }\n },\n\n hideFinish() {\n Tooltip.showTimeoutStatus = true;\n },\n\n update() {\n if (!Tooltip.current) {\n return;\n }\n const tooltipElement = Tooltip._fetchTooltipElement();\n if (tooltipElement.style.display === 'none') {\n return;\n }\n const position = Tooltip._fetchTooltipPosition(tooltipElement);\n tooltipElement.style.top = `${position.y}px`;\n tooltipElement.style.left = `${position.x}px`;\n },\n\n _onMouseOut() {\n Tooltip.hide();\n },\n\n _onMouseMove(event) {\n Tooltip.tooltipX = event.clientX + (window.scrollX || window.pageXOffset);\n Tooltip.tooltipY = event.clientY + (window.scrollY || window.pageYOffset);\n Tooltip.update();\n },\n\n _fetchTooltipElement() {\n if (!Tooltip._tooltipElement) {\n const el = document.createElement('div');\n el.className = 'tooltip';\n el.innerHTML = '<b><i><i><i><span></span></i></i></i></b>';\n el.style.display = 'none';\n document.body.appendChild(el);\n Tooltip._tooltipElement = el;\n }\n\n return Tooltip._tooltipElement;\n },\n\n _fetchTooltipPosition(tooltipElement) {\n let x;\n let y;\n\n const tDim = Element.getDimensions(tooltipElement);\n const vDim = document.viewport.getDimensions();\n const vScr = document.viewport.getScrollOffsets();\n\n const freeRight = vDim.width + vScr.left - Tooltip.tooltipX;\n const freeLeft = Tooltip.tooltipX - vScr.left;\n const freeTop = Tooltip.tooltipY - vScr.top;\n const freeBottom = vDim.height + vScr.top - Tooltip.tooltipY;\n\n // apply better x\n if (freeRight > tDim.width + Tooltip.minDelta + Tooltip.xOffsetRight) {\n x = Tooltip.tooltipX + Tooltip.xOffsetRight;\n } else if (freeLeft > tDim.width + Tooltip.minDelta + Tooltip.xOffsetLeft) {\n x = Tooltip.tooltipX - tDim.width - Tooltip.xOffsetLeft;\n } else {\n x = Tooltip.tooltipX - ((tDim.width + Tooltip.xOffsetLeft) / 2);\n }\n\n // apply better y\n if (freeBottom > tDim.height + Tooltip.minDelta + Tooltip.yOffsetBottom) {\n y = Tooltip.tooltipY + Tooltip.yOffsetBottom;\n } else if (freeTop > tDim.height + Tooltip.minDelta + Tooltip.yOffsetTop) {\n y = Tooltip.tooltipY - tDim.height - Tooltip.yOffsetTop;\n } else {\n y = Tooltip.tooltipY - ((tDim.height + Tooltip.yOffsetTop) / 2);\n }\n if (x < 0) {\n x = Tooltip.minDelta;\n }\n\n return { x, y };\n },\n};\n\nwindow.addEventListener('load', () => {\n Tooltip.initData();\n});\n\n/**\n * @class Tooltip.Instance\n */\nTooltip.Instance = class {\n constructor(element, config) {\n this.element = typeof element === 'string' ? document.getElementById(element) : element;\n this.config = config;\n\n // observe events\n this.element.removeEventListener('mouseover', this.set);\n this.element.addEventListener('mouseover', this.set);\n }\n\n set = () => {\n Tooltip.set(this);\n };\n\n setText(text) {\n this.config.text = escapeHtml(text);\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/**\n * Converts HTML special characters to their entity equivalents.\n *\n * @param {String} value\n * @returns {String}\n */\nexport default value => String(value)\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>');\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport IntlMessageFormat from 'intl-messageformat';\nimport api from './api';\nimport Observer from './Observer';\nimport BaseTranslate from 'components/common/Translate';\n\n/**\n * @class Locale\n */\nclass Locale {\n static sections = {};\n\n /**\n * Register new locale section\n * @param {String} name\n * @param {Object} [messages]\n * @returns {Locale}\n */\n static addSection(name, messages) {\n this.sections[name] = new Locale(messages);\n Observer.notify({ name, messages }, 'plesk:addedLocaleSection');\n\n return this.sections[name];\n }\n\n /**\n * Register new locale sections\n * @param {Object} [sections]\n * @returns {Object}\n */\n static addSections(sections) {\n Object.entries(sections).forEach(([name, messages]) => {\n this.sections[name] = new Locale(messages);\n });\n Observer.notify({ sections }, 'plesk:addedLocaleSections');\n\n return this.sections;\n }\n\n /**\n * Returns registered locale section or created empty section\n * @param {String} name\n * @returns {Locale}\n */\n static getSection(name) {\n if (!this.sections[name]) {\n return new Locale();\n }\n return this.sections[name];\n }\n\n static getTranslate(name) {\n const Translate = props => <BaseTranslate namespace={name} {...props} />;\n return Translate;\n }\n\n /**\n * Load, register, and returns locale sections\n * @param {String[]} names\n * @param {String} [locale]\n * @returns {Promise<Locale[]>}\n */\n static async loadSections(names, locale) {\n const namesToLoad = names.filter(name => locale || !this.sections[name]);\n\n if (namesToLoad.length) {\n const params = namesToLoad.map(section => `sections[]=${encodeURIComponent(section)}`);\n if (locale) {\n params.push(`locale=${encodeURIComponent(locale)}`);\n }\n try {\n const sections = await api.get(`/cp/locale?${params.join('&')}`);\n this.addSections(sections);\n } catch {}\n }\n\n return names.map(name => this.getSection(name));\n }\n\n /**\n * Load, register, and returns locale section\n * @param {String} name\n * @returns {Promise<Locale>}\n */\n static async loadSection(name) {\n const [locale] = await this.loadSections([name]);\n return locale;\n }\n\n constructor(messages = {}) {\n this.messages = messages;\n }\n\n /**\n * Get locale message by key.\n * @param {String} key\n * @param {Object} [params]\n * @returns {String}\n */\n lmsg(key, params) {\n const value = this.messages[key];\n if ('undefined' === typeof value) {\n return `[${key}]`;\n }\n\n if ('undefined' === typeof params) {\n return value;\n }\n\n return Object.keys(params)\n .reduce((value, paramKey) => value.replace(`%%${paramKey}%%`, params[paramKey]), value);\n }\n\n /**\n * Get formatted locale message by key.\n * @param {String} key\n * @param {Object} [params]\n * @returns {String}\n */\n formatMessage(key, params) {\n return new IntlMessageFormat(this.lmsg(key, params), document.documentElement.lang || 'en-US').format(params);\n }\n}\n\nexport default Locale;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport UAT from 'common/user-activity-tracking';\nimport { isNetworkError } from 'helpers/isNetworkError';\nimport addUrlParams from './addUrlParams';\nimport emptyFn from './emptyFn';\n\nconst RETRY_DELAY = 500;\nconst GET_REQUEST_RETRY_COUNT = 3;\n\nconst request = (url, config = {}, retryCount = 0) => {\n if (window.Ajax) {\n window.Ajax.activeRequestCount++;\n }\n\n const headers = {\n 'X-Requested-With': 'XMLHttpRequest',\n };\n const tokenEl = document.getElementById('forgery_protection_token');\n if (tokenEl) {\n headers['X-Forgery-Protection-Token'] = tokenEl.content;\n }\n\n config = {\n credentials: 'same-origin',\n ...config,\n headers: {\n ...headers,\n ...config.headers,\n },\n };\n\n return fetch(url, config)\n .then(response => {\n if (response.status === 400) {\n window.location.reload();\n return new Promise(emptyFn);\n }\n if (!response.ok) {\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n return response.json()\n .then(data => Promise.reject(new Error(data.message ?? JSON.stringify(data))));\n }\n return response.text()\n .then(body => Promise.reject(new Error(body)));\n }\n return response.json();\n })\n .catch(error => {\n if (error instanceof TypeError && isNetworkError(error)) {\n if (retryCount > 0) {\n return new Promise(resolve => setTimeout(() => resolve(), RETRY_DELAY))\n .then(() => request(url, config, --retryCount));\n }\n\n throw error;\n }\n throw error;\n })\n .finally(() => {\n if (window.Ajax) {\n window.Ajax.activeRequestCount--;\n }\n });\n};\n\nexport default {\n get: (url, params = {}) => request(addUrlParams(url, params), { method: 'GET' }, GET_REQUEST_RETRY_COUNT),\n post: (url, params = {}) => {\n UAT.dispatchAction('REQUEST', { url });\n const headers = {};\n let body;\n if (params instanceof FormData) {\n body = params;\n } else {\n body = JSON.stringify(params);\n headers['Content-Type'] = 'application/json; charset=utf-8';\n }\n return request(url, {\n method: 'POST',\n headers,\n body,\n });\n },\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nif (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector;\n}\n\nimport Firehose from 'aws-sdk/clients/firehose';\nimport isURL from 'validator/lib/isURL';\n\nconst getPageUrl = ({ pathname, search }) => {\n const pageUrlParam = pathname.match(/^\\/smb\\/account\\/switch\\//i) ? 'returnUrl' : 'pageUrl';\n const re = new RegExp(`${pageUrlParam}=([^&]*)`);\n const result = re.exec(search);\n if (result && result[1]) {\n try {\n return decodeURIComponent(result[1]);\n } catch {\n }\n }\n return null;\n};\n\nconst link = document.createElement('a');\nconst filterPleskUrl = url => {\n link.href = url;\n\n const { pathname, search, hash } = link;\n\n const pageUrl = getPageUrl(link);\n if (pageUrl) {\n return filterPleskUrl(pageUrl);\n }\n\n const sensitiveUrls = [\n /^\\/smb\\/file-manager\\//i,\n /^\\/(admin|smb)\\/backup\\//i,\n /\\/hosting\\/web-directories\\//i,\n ];\n\n if (sensitiveUrls.some(pattern => pathname.match(pattern))) {\n return pathname;\n }\n\n const sensitiveParams = [\n 'searchText',\n 'sql_query',\n 'user',\n 'login',\n 'pass',\n 'token',\n 'key',\n 'mail',\n ];\n\n const safeSearch = search\n .replace(/^\\?/, '')\n .split('&')\n .reduce((acc, pair) => {\n if (!pair.includes('=')) {\n return [...acc, pair];\n }\n\n const [key] = pair.split('=');\n if (sensitiveParams.some(param => key.toLocaleLowerCase().includes(param.toLowerCase()))) {\n return [...acc, `${key}=*****`];\n }\n return [...acc, pair];\n }, [])\n .join('&');\n\n return `${pathname}${safeSearch ? `?${safeSearch}` : ''}${hash}`;\n};\n\nconst filterExternalUrl = url => {\n const allowedUrls = [\n /^https?:\\/\\/([\\w-]+\\.)*plesk\\.com/i,\n /^https?:\\/\\/(www\\.)?facebook\\.com\\/(groups\\/)?plesk$/i,\n /^https?:\\/\\/(www\\.)?twitter\\.com\\/plesk$/i,\n ];\n\n if (allowedUrls.some(pattern => url.match(pattern))) {\n return url.split('?')[0];\n }\n return null;\n};\n\nexport const getUrl = href => {\n if (href && !isURL(href, { protocols: ['http', 'https'], require_host: false })) {\n return null;\n }\n\n if (href && href.match(/^(?:[a-z]+:)?\\/\\//i)) {\n return filterExternalUrl(href);\n }\n\n return filterPleskUrl(href ? href : window.location.href);\n};\n\nconst getElementCSSSelector = el => {\n if (!el || !el.localName) {\n return null;\n }\n let label = el.localName.toLowerCase();\n if (el.id) {\n label += `#${el.id}`;\n }\n if (el.classList) {\n for (let i = 0, len = el.classList.length; i < len; ++i) {\n label += `.${el.classList[i]}`;\n }\n }\n return label;\n};\n\nconst getElementCSSPath = (el, depth) => {\n const paths = [];\n for (let i = 0; el && el.nodeType === Node.ELEMENT_NODE && i < depth; el = el.parentNode, i++) {\n paths.splice(0, 0, getElementCSSSelector(el));\n }\n return paths.length ? paths.join(' ') : null;\n};\n\nconst getElement = event => {\n let { target } = event;\n const { currentTarget, type } = event;\n\n if (currentTarget\n && currentTarget.tagName\n && (type === 'load'\n || type === 'error'\n || (type === 'click'\n && currentTarget.tagName.toLowerCase() === 'input'\n && currentTarget.type === 'radio'\n )\n )\n ) {\n target = currentTarget;\n }\n\n return target.nodeType === Node.TEXT_NODE ? target.parentNode : target;\n};\n\nconst findElement = (event, selector) => {\n let element = getElement(event);\n\n if (!selector) {\n return element;\n }\n\n while (element) {\n if (element.nodeType === Node.ELEMENT_NODE && element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n\n return null;\n};\n\nexport const prepareNodeData = (el, textEl, config) => {\n const data = {};\n const PARENT_DEPTH_LIMIT = 5;\n data.css = getElementCSSPath(el, PARENT_DEPTH_LIMIT);\n if (el.id) {\n data.id = el.id;\n }\n if (config && config.attributes) {\n config.attributes.forEach(attr => {\n if (!el.hasAttribute(attr)) {\n return;\n }\n const value = (attr === 'href') ? getUrl(el.getAttribute(attr)) : el.getAttribute(attr);\n if (value) {\n data[attr] = value;\n }\n });\n }\n ['id', 'type', 'action', ...[config && config.dataset ? config.dataset : []]].forEach(param => {\n if (!(param in el.dataset)) {\n return;\n }\n if (!('dataset' in data)) {\n data.dataset = {};\n }\n data.dataset[param] = el.dataset[param];\n });\n return data;\n};\n\nconst getParents = target => {\n if (!target || !target.parentElement) {\n return [];\n }\n\n let parent = target;\n const parents = [];\n while (parent) {\n parents.push(parent.dataset.type);\n parent = parent.parentElement.closest('[data-type]');\n }\n\n if (parents.length > 1) {\n return parents.slice(1);\n }\n\n return [];\n};\n\nconst preparePostData = (action, target) => {\n const data = {};\n\n if (action.post && target) {\n if (action.post.self) {\n action.post.self.forEach(function (attr) {\n if (attr === 'value') {\n return;\n }\n const value = target.getAttribute(attr);\n if (value) {\n data[attr] = value;\n }\n });\n }\n if (action.post.selfText) {\n data.text = target.innerText;\n }\n }\n\n if (action.data) {\n Object.keys(action.data).forEach(function (key) {\n data[key] = action.data[key];\n });\n }\n\n const parents = getParents(target);\n if (parents.length > 0) {\n data.parents = parents;\n }\n\n return data;\n};\n\nconst handleAnonymousSession = (action, config, data) => {\n if (!config.sessionId) {\n if (!window.localStorage.getItem('uat-aid')) {\n window.localStorage.setItem('uat-aid', Math.random().toString(36).slice(2));\n }\n data['uat-aid'] = window.localStorage.getItem('uat-aid');\n return;\n }\n if ('LOGIN' === action.name && window.localStorage.getItem('uat-aid')) {\n data['uat-aid'] = window.localStorage.getItem('uat-aid');\n window.localStorage.removeItem('uat-aid');\n }\n};\n\nconst encodeSensitiveChars = list => {\n const preparedChars = {\n '|': encodeURIComponent('|'),\n '\\n': encodeURIComponent('\\n'),\n };\n\n const escapeChar = value => {\n if (!value) {\n return '';\n }\n\n Object.entries(preparedChars).forEach(([raw, encoded]) => {\n value = value.replace(new RegExp(`\\\\${raw}`, 'g'), encoded);\n });\n\n return value;\n };\n\n return list.map(escapeChar);\n};\n\n/**\n * Firehose instance\n */\nlet firehose;\nlet config;\nlet initialized = false;\nlet patches = {};\n\nexport const request = (action, target, result) => {\n const parameters = {\n timestamp: (new Date()).toISOString(),\n instanceId: config.instanceId,\n accountLevel: config.accountLevel,\n accountId: config.accountId,\n sessionId: config.sessionId,\n path: action.url || getUrl(),\n action: action.name || null,\n result: result || null,\n };\n\n const data = preparePostData(action, target);\n handleAnonymousSession(action, config, data);\n if (config.parentId) {\n data.parentId = config.parentId;\n }\n if (Object.keys(data).length) {\n parameters.additionalData = JSON.stringify(data);\n }\n\n if (typeof config.logger === 'function') {\n config.logger(parameters);\n }\n if (!config.firehose) {\n return;\n }\n if (!firehose) {\n firehose = new Firehose(config.firehose);\n }\n\n firehose.putRecord({\n DeliveryStreamName: config.sessionId ? config.firehose.stream : config.firehose.noSessionStream,\n Record: {\n Data: `${encodeSensitiveChars(Object.values(parameters)).join('|')}\\n`,\n },\n }, () => {\n // empty callback\n });\n};\n\nlet watchers = {\n contentLoad(contentConfig, expect, action) {\n if (document.readyState === 'loading') {\n window.addEventListener('load', function (event) {\n action.data = action.data || {};\n if (config.extensions) {\n action.data.extensions = config.extensions;\n }\n\n setTimeout(() => {\n if (window.performance) {\n const perfData = window.performance.timing;\n action.data.pageLoadTime = perfData.loadEventEnd - perfData.navigationStart;\n action.data.requestTime = perfData.responseEnd - perfData.requestStart;\n action.data.renderTime = perfData.domComplete - perfData.domLoading;\n }\n\n request(action, event.target);\n }, 0);\n });\n } else {\n request(action, document);\n }\n },\n\n historyReplaceState(contentConfig, expect, action) {\n window.history.replaceState = new Proxy(window.history.replaceState, {\n apply: (target, thisArg, argArray) => {\n action.data = action.data || {};\n if (config.extensions) {\n action.data.extensions = config.extensions;\n }\n\n request(action, document);\n\n return target.apply(thisArg, argArray);\n },\n });\n },\n\n click: ({ elements }, expect, action, eventName) => {\n document.addEventListener(eventName, function (event) {\n if (event.uatHandled) {\n return;\n }\n for (let i = 0; i < elements.length; i++) {\n let el;\n let { selector } = elements[i];\n if (selector) {\n selector = Array.isArray(selector) ? selector : [selector];\n for (let j = 0; j < selector.length && !el; j++) {\n el = findElement(event, selector[j]);\n }\n }\n if (el) {\n event.uatHandled = true;\n request({\n ...action,\n name: (el.dataset.action || action.name).toUpperCase(),\n data: prepareNodeData(el, event.target, elements[i]),\n }, el);\n break;\n }\n }\n }, true);\n },\n};\n\nlet actions = [\n {\n expects: [{\n contentLoad: {},\n }],\n },\n {\n expects: [{\n historyReplaceState: {},\n }],\n },\n {\n name: 'CLICK',\n expects: [{\n click: {\n elements: [\n {\n selector: '[data-action]',\n },\n {\n selector: 'a',\n attributes: ['href'],\n },\n {\n selector: 'button',\n },\n {\n selector: [\n '[class*=\"commonButton\"]', '[class*=\"btn\"]', '[class*=\"link\"]', '[class*=\"hint\"]',\n '[class*=\"button\"]', '[class*=\"control\"]', '[class*=\"close\"]',\n ],\n },\n {\n selector: '[role=\"button\"]',\n },\n ],\n },\n }],\n },\n];\n\nconst patchUI = () => {\n Object.keys(patches).forEach(name => {\n patches[name]();\n });\n};\n\nconst startTracking = () => {\n actions.forEach(function (action) {\n action.expects.forEach(function (expect) {\n Object.keys(expect).forEach(function (event) {\n watchers[event] && watchers[event](expect[event], expect, action, event);\n });\n });\n });\n};\n\nconst UAT = {\n init(initConfig) {\n if (!initConfig || initialized) {\n return;\n }\n\n config = initConfig;\n patchUI();\n startTracking();\n initialized = true;\n },\n\n setPatches(fn) {\n patches = fn(patches);\n },\n\n setActions(fn) {\n actions = fn(actions);\n },\n\n setWatchers(fn) {\n watchers = fn(watchers);\n },\n\n setLogger(logger) {\n config.logger = logger;\n },\n\n dispatchAction(action, data) {\n if (!initialized) {\n return;\n }\n\n request({ name: action, url: getUrl(), data });\n },\n\n getConfig() {\n return config;\n },\n};\n\nexport default UAT;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const isNetworkError = (error: Error) => {\n const errors = [\n // chrome\n 'Failed to fetch',\n // firefox\n 'NetworkError when attempting to fetch resource.',\n // safari\n 'Fetch API cannot load',\n 'Network request failed',\n ];\n\n return errors.some(e => error.message.startsWith(e));\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nconst toQueryParams = str => {\n if (!str) {\n return {};\n }\n\n const match = str.match(/([^?#]*)(#.*)?$/);\n const params = new URLSearchParams(match[1]);\n\n return [...params.entries()].reduce((acc, [key, val]) => {\n if (Object.prototype.hasOwnProperty.call(acc, key)) {\n if (Array.isArray(acc[key])) {\n acc[key].push(val);\n } else {\n acc[key] = [acc[key], val];\n }\n } else {\n acc[key] = val;\n }\n\n return acc;\n }, {});\n};\n\n\nexport default (url, params) => {\n if ('string' === typeof params) {\n const splitUrl = url.split('?', 2);\n params = params.startsWith('/') || params.startsWith('?') ? params : `?${params}`;\n const splitParams = params.split('?', 2);\n url = splitUrl[0].replace(/\\/+$/, '') + splitParams[0];\n params = {\n ...toQueryParams(splitUrl[1] || ''),\n ...toQueryParams(splitParams[1] || ''),\n };\n }\n\n if (Object.prototype.toString.call(params) === '[object Object]') {\n params = Object.keys(params).map(function (name) {\n if ('undefined' === typeof params[name]) {\n return name;\n }\n return `${name}=${encodeURIComponent(params[name])}`;\n }).join('&');\n }\n\n if (!params) {\n return url;\n }\n return url + (-1 !== url.indexOf('?') ? '&' : '?') + params;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport default () => {};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nconst observers = new Map();\nconst getObservers = ns => {\n if (!observers.has(ns)) {\n observers.set(ns, []);\n }\n return observers.get(ns);\n};\n\nclass Observer {\n /**\n * @param {Function} callback\n * @param {String} ns\n */\n static append(callback, ns) {\n getObservers(ns).push(callback);\n }\n\n /**\n * @param {String} ns\n * @param {Function} callback\n */\n static addEventListener(ns, callback) {\n this.append(callback, ns);\n }\n\n /**\n * @param {Function} callback\n * @param {String} ns\n */\n static appendAndCall(callback, ns) {\n getObservers(ns).push(callback);\n callback();\n }\n\n /**\n * @param {Object} event\n * @param {String} ns\n */\n static notify(event, ns) {\n getObservers(ns).forEach(callback => callback(event));\n }\n\n /**\n * @param {Function} callback\n * @param {String} ns\n */\n static remove(callback, ns) {\n const pos = getObservers(ns).indexOf(callback);\n if (pos !== -1) {\n getObservers(ns).splice(pos, 1);\n }\n }\n\n /**\n * @param {String} ns\n * @param {Function} callback\n */\n static removeEventListener(ns, callback) {\n this.remove(callback, ns);\n }\n}\n\nexport default Observer;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { ElementType, Fragment } from 'react';\nimport { Translate as BaseTranslate, TranslateProps as BaseTranslateProps } from '@plesk/ui-library';\n\n\ntype TranslateProps = Omit<BaseTranslateProps, 'component'> & {\n component?: ElementType;\n}\n\nconst Translate = ({ component = Fragment, ...props }: TranslateProps) => (\n <BaseTranslate component={component} {...props} />\n);\n\nexport default Translate;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport * as React from '@plesk/ui-library';\n\nexport default React;\nexport * from '@plesk/ui-library';\n","module.exports = window.PleskUiLibrary;","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { createRoot } from 'react-dom/client';\nimport { isValidElement } from 'react';\nimport { captureException } from '@sentry/browser';\nimport { Component } from './component';\nimport emptyFn from './emptyFn';\n\nconst addScript = src => new Promise((resolve, reject) => {\n const s = document.createElement('script');\n s.setAttribute('src', src);\n s.onload = resolve;\n s.onerror = reject;\n document.body.appendChild(s);\n});\n\nconst evalScripts = string => {\n const scriptFragment = '<script[^>]*>([\\\\S\\\\s]*?)<\\/script\\\\s*>';\n\n const matchAll = new RegExp(scriptFragment, 'img');\n const matchOne = new RegExp(scriptFragment, 'im');\n\n const scripts = string.match(matchAll)?.map(scriptTag => (scriptTag.match(matchOne) || ['', ''])[1]);\n\n scripts?.forEach(script => {\n try {\n // eslint-disable-next-line no-eval\n eval(script);\n } catch (e) {\n captureException(e, scope => {\n scope.setExtras({ script });\n });\n // eslint-disable-next-line no-console\n console?.error(e);\n }\n });\n};\n\n/**\n * Helper for render components/elements/strings\n * @experimental Be careful with this method, its implementation is not yet complete.\n *\n * @param {Element} parentElement\n * @param {Component|Function|Element|Object|String} element\n * @param {String} [renderMode=bottom\"] above|below|top|bottom|inner|replace\n */\nconst render = (parentElement, element, renderMode = 'bottom') => {\n if (!element) {\n return;\n }\n\n if (renderMode === 'inner') {\n parentElement.innerHTML = '';\n renderMode = 'bottom';\n }\n\n if (Array.isArray(element)) {\n element.forEach(element => {\n render(parentElement, element, renderMode);\n });\n return;\n }\n\n if (typeof element === 'function') {\n render(parentElement, element(), renderMode);\n return;\n }\n\n if (element instanceof Component) {\n element.setRenderTarget(parentElement);\n if (renderMode) {\n element._renderMode = renderMode;\n }\n element.render();\n return;\n }\n\n if (isValidElement(element)) {\n (parentElement._jswReactRootContainer ||= createRoot(parentElement)).render(element);\n return;\n }\n\n if (Object.prototype.toString.call(element) === '[object Object]' && element.tag) {\n const attrs = { ...element.attrs };\n Object.keys(attrs).forEach(function (attr) {\n if ('undefined' === typeof attrs[attr]) {\n delete attrs[attr];\n }\n });\n\n const renderFn = typeof attrs.onrender === 'function' ? attrs.onrender : emptyFn;\n delete attrs.onrender;\n\n const events = {};\n Object.keys(attrs).forEach(attr => {\n if (typeof attrs[attr] === 'function' && attr.indexOf('on') === 0) {\n events[attr.slice(2)] = attrs[attr];\n delete attrs[attr];\n }\n });\n\n const el = document.createElement(element.tag);\n Object.keys(attrs).forEach(name => {\n if (attrs[name] === true) {\n el.setAttribute(name, name);\n } else if (attrs[name] !== null && attrs[name] !== false) {\n el.setAttribute(name, attrs[name]);\n }\n });\n Object.keys(events).forEach(eventName => {\n el.addEventListener(eventName, events[eventName]);\n });\n\n render(el, element.children);\n\n element = el;\n renderFn(element);\n }\n\n switch (renderMode) {\n case 'bottom':\n if (element instanceof Node) {\n parentElement.insertBefore(element, null);\n } else {\n parentElement.insertAdjacentHTML('beforeend', element);\n }\n break;\n\n case 'top':\n if (element instanceof Node) {\n parentElement.insertBefore(element, parentElement.firstChild);\n } else {\n parentElement.insertAdjacentHTML('afterbegin', element);\n }\n break;\n\n case 'before':\n if (element instanceof Node) {\n parentElement.parentNode.insertBefore(element, parentElement);\n } else {\n parentElement.insertAdjacentHTML('beforebegin', element);\n }\n break;\n\n case 'after':\n case 'replace':\n if (element instanceof Node) {\n parentElement.parentNode.insertBefore(element, parentElement.nextSibling);\n } else {\n parentElement.insertAdjacentHTML('afterend', element);\n }\n\n if (renderMode === 'replace') {\n parentElement.parentNode.removeChild(parentElement);\n }\n break;\n\n default:\n throw new Error(`Unsupported renderMode for render(): ${renderMode}`);\n }\n\n if (typeof element === 'string') {\n setTimeout(async () => {\n const scriptRegex = /<script.*?src=(\"|')(.*?)(\"|').*?><\\/script>/ig;\n let matches;\n while (null !== (matches = scriptRegex.exec(element))) {\n try {\n await addScript(matches[2]);\n } catch {}\n }\n evalScripts(element);\n }, 10);\n }\n};\n\nexport default render;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { captureException } from '@sentry/browser';\n\nconst HIGH = 'high';\nconst NORMAL = 'normal';\nconst LOW = 'low';\n\nexport const priority = {\n [HIGH]: HIGH,\n [NORMAL]: NORMAL,\n [LOW]: LOW,\n};\n\nconst onReadyEvents = {};\nlet firedOnReady = false;\n\n/**\n * Adds a listener to be notified when the document is ready (before onload and before images are loaded).\n * @param {String|Function} [priority]\n * @param {Function} callback The method to call.\n */\nexport default (priority, callback) => {\n if ('function' === typeof priority) {\n callback = priority;\n priority = NORMAL;\n }\n\n const wrappedCallback = () => {\n try {\n callback();\n } catch (e) {\n captureException(e);\n // eslint-disable-next-line no-console\n console && console.error(e);\n }\n };\n\n if (firedOnReady) {\n wrappedCallback();\n return;\n }\n\n if (!onReadyEvents[priority]) {\n onReadyEvents[priority] = [];\n }\n\n onReadyEvents[priority].push(wrappedCallback);\n};\n\ndocument.onreadystatechange = () => {\n if (document.readyState === 'complete' && !firedOnReady) {\n firedOnReady = true;\n const predefinedPriorities = [LOW, NORMAL, HIGH];\n Object.keys(onReadyEvents)\n .sort((a, b) => predefinedPriorities.indexOf(b) - predefinedPriorities.indexOf(a))\n .forEach(priority => {\n onReadyEvents[priority].forEach(Function.prototype.call, Function.prototype.call);\n });\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { StatusMessage } from './status-message';\nimport createComponent from './createComponent';\n\nexport default (type, message, params = {}) => {\n try {\n createComponent({\n componentType: params.componentType || StatusMessage,\n renderTo: 'main',\n renderMode: 'top',\n type,\n message,\n ...params,\n });\n } catch {\n // eslint-disable-next-line no-alert\n alert(`${type} | ${message}`);\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport prepareUrl from './prepareUrl';\nimport render from './render';\nimport createElement from './createElement';\nimport api from './api';\n\nimport './status-message.less';\n\nexport class StatusMessage extends Component {\n _initConfiguration(config) {\n super._initConfiguration(config);\n this._type = this._getConfigParam('type', 'error');\n this._cls = this._getConfigParam('cls', `msg-box msg-${this._type}`);\n this._title = this._getConfigParam('title', '');\n this._message = this._getConfigParam('message', '');\n this._source = this._getConfigParam('source', null);\n this._closable = this._getConfigParam('closable', false);\n this._onClose = this._getConfigParam('onClose', null);\n const hideUrl = this._getConfigParam('hideUrl', null);\n if (hideUrl) {\n this._closable = true;\n this._onClose = event => {\n const el = event.target.closest('.msg-box');\n el.parentNode.removeChild(el);\n api.post(prepareUrl(hideUrl));\n };\n }\n }\n\n _initComponentElement() {\n super._initComponentElement();\n if (this._source) {\n this._componentElement.dataset.source = this._source;\n }\n\n render(this._componentElement,\n createElement('div',\n createElement('div',\n createElement('div',\n createElement('div',\n createElement('div',\n createElement('div.msg-content',\n this._renderCloseButton(),\n this._renderMessage(),\n ),\n ),\n ),\n ),\n ),\n ),\n );\n }\n\n _renderMessage() {\n return [this._title ? `<b>${this._title}:</b> ` : null, this._message];\n }\n\n _renderCloseButton() {\n if (!this._closable) {\n return null;\n }\n return createElement('span.close', {\n onclick: typeof this._onClose === 'function'\n ? this._onClose.bind(this)\n : this._onClose,\n });\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport default url => {\n if (typeof url !== 'string') {\n return null;\n }\n\n const baseUrl = (global.Jsw && global.Jsw.baseUrl) || '';\n\n if (url.substr(0, 2) === '^/') {\n return url.toString().substr(1);\n }\n\n if (\n url.startsWith('/plesk/') ||\n url.startsWith('/services/') ||\n url.startsWith('/modules/') ||\n url.startsWith('/admin/') ||\n url.startsWith('/smb/') ||\n url.startsWith('/cp/') ||\n (baseUrl !== '' && url.startsWith(`${baseUrl}/`)) ||\n !url.startsWith('/') ||\n url.split('?')[0].endsWith('.php')\n ) {\n return url;\n }\n\n return baseUrl + url;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { isValidElement } from 'react';\nimport { Component } from './component';\n\n/**\n * Helper for create elements\n * @experimental Be careful with this method, its implementation is not yet complete.\n *\n * @param {String} selector\n * @param {Object} [attrs]\n * @param {String[]|String...|Object[]|Object...} [children]\n * @returns {Object}\n */\nexport default (selector, ...args) => {\n const hasAttrs = Object.prototype.toString.call(args[0]) === '[object Object]'\n && !('tag' in args[0])\n && !isValidElement(args[0])\n && !(args[0] instanceof Component);\n let tag = 'div';\n const classes = [];\n const selectorRe = /(?:(^|#|\\.)([^#\\.\\[\\]]+))|(\\[.+?\\])/g;\n const attrRe = /\\[(.+?)(?:=(\"|'|)(.*?)\\2)?\\]/;\n let match;\n const attrs = hasAttrs ? args.shift() : {};\n\n while ((match = selectorRe.exec(selector))) {\n if (match[1] === '' && match[2]) {\n tag = match[2];\n } else if (match[1] === '#') {\n attrs.id = match[2];\n } else if (match[1] === '.') {\n classes.push(match[2]);\n } else if (match[3][0] === '[') {\n const pair = attrRe.exec(match[3]);\n attrs[pair[1]] = pair[3] || (pair[2] ? '' : true);\n }\n }\n\n if (typeof attrs.class === 'string' && attrs.class !== '') {\n classes.push(attrs.class);\n }\n if (classes.length) {\n attrs.class = classes.join(' ');\n }\n\n const children = args.length === 1 && Array.isArray(args[0]) ? args[0] : args;\n\n return {\n tag,\n attrs,\n children,\n };\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport pageData from '../helpers/pageData';\n\nexport default () => {\n pageData({ ...pageData(), status: [] });\n\n const contentElement = document.getElementById('main');\n if (!contentElement) {\n return;\n }\n ['.msg-error', '.msg-info', '.msg-warning'].forEach(msgClass => {\n contentElement.querySelectorAll(`${msgClass}:not([data-rendered-by-react])`).forEach(messageElement => {\n messageElement.parentNode.removeChild(messageElement);\n });\n });\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { makeVar, useReactiveVar } from '@apollo/client';\n\ntype PageData = {\n pageSidebar?: {\n isPowerUserPanel: boolean;\n }\n [key: string]: unknown;\n};\n\nconst pageData = makeVar<PageData>({});\n\nexport const usePageData = () => useReactiveVar(pageData);\n\nexport default pageData;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport addStatusMessage from './addStatusMessage';\nimport clearStatusMessages from './clearStatusMessages';\nimport escapeHtml from './escapeHtml';\n\nexport const prepareInternalError = (\n message,\n {\n messageWrapper = 'pre',\n } = {},\n) => {\n let statusMessage = `Internal error<${messageWrapper}>${escapeHtml(message)}</${messageWrapper}>`;\n try {\n const jsonMessage = JSON.parse(message);\n if ('message' in jsonMessage && 'kbArticleUrl' in jsonMessage) {\n statusMessage = `<${messageWrapper}>${escapeHtml(jsonMessage.message)}</${messageWrapper}>`;\n statusMessage += `<a href=\"${jsonMessage.kbArticleUrl}\" target=\"_blank\">Search for related Knowledge Base articles</a>`;\n }\n } catch {\n // Show as plaintext\n }\n\n return statusMessage;\n};\n\nexport default message => {\n clearStatusMessages();\n\n addStatusMessage('error', prepareInternalError(message));\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport escapeHtml from './escapeHtml';\n\n/**\n * Escape element attributes for html concatenation\n *\n * @param {String} value\n * @returns {String}\n */\nexport default value => escapeHtml(value)\n .replace(/\"/g, '"');\n\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/**\n * Converts the entity forms of special HTML characters to their normal form.\n *\n * @param {String} value\n * @returns {String}\n */\nexport default value => String(value)\n .replace(/&/g, '&')\n .replace(/ /g, ' ')\n .replace(/"/g, '\"')\n .replace(/'/g, '\\'')\n .replace(/</g, '<')\n .replace(/>/g, '>');\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/**\n * Temporary solution for fire custom events\n */\nexport default (element, eventName) => {\n if (document.createEvent) {\n const event = document.createEvent('HTMLEvents');\n event.initEvent('dataavailable', true, true);\n event.eventName = eventName;\n\n element.dispatchEvent(event);\n return;\n }\n\n const event = document.createEventObject();\n event.eventType = 'ondataavailable';\n event.eventName = eventName;\n\n element.fireEvent(event.eventType, event);\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const ESC = 27;\nexport const ENTER = 13;\nexport const LEFT_ARROW = 37;\nexport const UP_ARROW = 38;\nexport const RIGHT_ARROW = 39;\nexport const DOWN_ARROW = 40;\n\nexport default {\n ESC,\n ENTER,\n LEFT_ARROW,\n UP_ARROW,\n RIGHT_ARROW,\n DOWN_ARROW,\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport { createHtmlElement } from 'helpers/createHtmlElement';\nimport render from './render';\n\nimport './hint.less';\n\n/**\n * @class Hint\n * @extends Component\n *\n * Example usage:\n *\n * @example\n * new Hint({\n * renderTo: document.body,\n * hint: 'This is where you manage accounts of your hosting service customers: ' +\n * 'create accounts along with service subscriptions, manage existing customers, ' +\n * 'and remove accounts. To administer websites, mail or any other services provided ' +\n * 'to a customer, go to their Customer Panel by clicking the link in the right column of the list.',\n * expandable: true\n * });\n */\nexport class Hint extends Component {\n /**\n * @cfg {String} hint\n */\n /**\n * @cfg {Boolean} [expandable=false]\n */\n\n _initConfiguration(config) {\n super._initConfiguration({ tag: 'p', ...config });\n }\n\n _initComponentElement() {\n super._initComponentElement();\n this._contentElement = this._componentElement;\n\n this.setHint(\n this._getConfigParam('hint', ''),\n );\n\n if (this._getConfigParam('expandable', false)) {\n const componentElement = createHtmlElement('div', { class: 'screen-description' });\n const wrapElement = createHtmlElement('div', { class: 'screen-description-wrap' });\n const btnShowMore = createHtmlElement('span', { class: 'screen-description-control' });\n btnShowMore.addEventListener('click', event => {\n event.target.closest('.screen-description').classList.add('expanded');\n });\n render(wrapElement, this._contentElement);\n render(wrapElement, btnShowMore);\n render(componentElement, wrapElement);\n this._componentElement = componentElement;\n this._screenControl = () => {\n if (Element.getWidth(componentElement) > Element.getWidth(wrapElement)) {\n btnShowMore.classList.add('off');\n } else {\n btnShowMore.classList.remove('off');\n }\n };\n }\n }\n\n _addEvents() {\n super._addEvents();\n\n if (this._screenControl) {\n window.addEventListener('resize', this._screenControl);\n this._screenControl();\n }\n }\n\n /**\n * Update hint text.\n * @param {String} hint\n */\n setHint(hint) {\n this._contentElement.innerHTML = hint;\n this._screenControl?.();\n }\n\n remove() {\n if (this._screenControl) {\n window.removeEventListener('resize', this._screenControl);\n }\n\n super.remove();\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const createHtmlElement = (tagName: string, attrs: Record<string, string | boolean> = {}): HTMLElement => {\n const el = document.createElement(tagName);\n\n Object.entries(attrs).forEach(([name, value]) => {\n if (value !== null && value !== false) {\n el.setAttribute(name, `${value}`);\n }\n });\n\n return el;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport prepareUrl from './prepareUrl';\nimport escapeHtml from './escapeHtml';\n\n/**\n * Example usage:\n *\n * @example\n * new Button({\n * renderTo: document.body,\n * title: 'Add a Customer',\n * cls: 's-btn sb-add-new-customer',\n * isNew: true,\n * newTitle: 'New',\n * handler() {\n * alert('You clicked the button!');\n * },\n * });\n */\nexport class Button extends Component {\n /**\n * @cfg {String} title=\"\"\n */\n /**\n * @cfg {String} rightIcon=\"\"\n */\n /**\n * @cfg {String|Function} handler\n */\n /**\n * @cfg {String} href\n */\n /**\n * @cfg {String} target\n */\n /**\n * @cfg {String} disabledClass=btn-disabled\n */\n /**\n * @cfg {Boolean} isNew=false\n */\n /**\n * @cfg {String} newTitle=\"\"\n */\n\n _initConfiguration(config) {\n super._initConfiguration({ tag: 'a', ...config });\n\n this._handler = this._getConfigParam('handler', false);\n if (typeof this._handler === 'string') {\n // eslint-disable-next-line no-eval\n eval(`this._handler = ${this._handler}`);\n }\n this._title = this._getConfigParam('title', '');\n this._rightIcon = this._getConfigParam('rightIcon', '');\n this._cls = this._getConfigParam('cls', `b-btn${!this._title ? ' btn-icon-only' : ''}`);\n this._disabledClass = this._getConfigParam('disabledClass', 'btn-disabled');\n this._isNew = this._getConfigParam('isNew', false);\n this._newTitle = this._getConfigParam('newTitle', '');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement.innerHTML = (\n '<i><i><i>' +\n `<span>${escapeHtml(this._title)}${this._isNew ? ` <span class=\"badge-new\">${this._newTitle}</span>` : ''}${this._rightIcon}</span>` +\n '</i></i></i>'\n );\n\n this._initVisibility();\n }\n\n _initVisibility() {\n this._disabled = this._getConfigParam('disabled', false);\n\n if (this._disabled) {\n this._disabled = false;\n this.disable();\n } else {\n this._disabled = true;\n this.enable();\n }\n }\n\n _addAttribute(name, value) {\n if ('undefined' !== typeof value && value !== null) {\n this._componentElement.setAttribute(name, value);\n }\n }\n\n enable() {\n if (!this._disabled) {\n return;\n }\n this._disabled = false;\n\n let classNames = this._config.addCls || '';\n if (typeof classNames === 'string') {\n classNames = classNames.split(' ').filter(className => className);\n } else {\n classNames = [classNames];\n }\n classNames.forEach(item => {\n this._componentElement.classList.add(item);\n this._componentElement.classList.remove(`${item}-disabled`);\n });\n this._componentElement.classList.remove(this._disabledClass);\n\n this._addAttribute('href', prepareUrl(this._getConfigParam('href', 'javascript:;')));\n this._addAttribute('target', this._getConfigParam('target', null));\n\n this._addProgressHandler();\n if (this._handler) {\n this.addEventObserver('click', this._handler);\n }\n }\n\n disable() {\n if (this._disabled) {\n return;\n }\n this._disabled = true;\n\n this._componentElement.classList.add(this._disabledClass);\n\n let classNames = this._config.addCls || '';\n if (typeof classNames === 'string') {\n classNames = classNames.split(' ').filter(className => className);\n } else {\n classNames = [classNames];\n }\n classNames.forEach(item => {\n this._componentElement.classList.add(`${item}-disabled`);\n this._componentElement.classList.remove(item);\n });\n this._componentElement.removeAttribute('href');\n this._componentElement.removeAttribute('target');\n\n if (this._handler) {\n this.removeEventObserver('click', this._handler);\n }\n }\n\n _addProgressHandler() {\n // basic empty implementation\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Button } from './button';\n\nexport class SmallButton extends Button {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._cls = this._getConfigParam('cls', `s-btn${!this._title ? ' btn-icon-only' : ''}`);\n }\n}\n\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\nSmallButton.subclasses = [];\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Button } from './button';\nimport render from './render';\nimport escapeHtml from './escapeHtml';\n\nexport class BigButton extends Button {\n _initConfiguration(config) {\n super._initConfiguration({\n cls: 'tool-block',\n disabledClass: 'tool-block-disabled',\n ...config,\n });\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n let button = '';\n if (this._getConfigParam('title')) {\n button += `<span class=\"tool-name\">${escapeHtml(this._getConfigParam('title'))}</span>`;\n }\n\n let description = '';\n if (Array.isArray(this._getConfigParam('additionalComments'))) {\n this._getConfigParam('additionalComments').forEach(comment => {\n description += `${escapeHtml(comment)}<br/>`;\n });\n description = `<span>${description}</span>`;\n }\n if (this._getConfigParam('comment')) {\n description += escapeHtml(this._getConfigParam('comment'));\n }\n if (description.length) {\n button += `<span class=\"tool-info\">${description}</span>`;\n }\n if (this._getConfigParam('icon')) {\n const icon = (\n '<span class=\"tool-icon\">' +\n `<img src=\"${this._getConfigParam('icon')}\">` +\n '</span>'\n );\n button = icon + button;\n }\n this._componentElement.innerHTML = button;\n }\n\n _addProgressHandler() {\n if (this._getConfigParam('indicateProgress', false)) {\n this.addEventObserver('click', () => {\n this._componentElement.style.display = 'none';\n render(this._componentElement.parentNode, `<div class=\"ajax-loading\">${this._config.waitMessage}</div>`);\n });\n }\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport { Tooltip } from './tooltip';\nimport render from './render';\nimport createElement from './createElement';\nimport escapeHtml from './escapeHtml';\nimport emptyFn from './emptyFn';\nimport { createHtmlElement } from 'helpers/createHtmlElement';\n\nexport class SplitButton extends Component {\n _initConfiguration(config) {\n super._initConfiguration({\n cls: 'btn-group',\n ...config,\n });\n\n this.title = this._getConfigParam('title', '');\n this.isAction = this._getConfigParam('isAction', false);\n this.isDefault = this._getConfigParam('isDefault', false);\n this.isMenuFlip = this._getConfigParam('isMenuFlip', false);\n this.onclick = this._getConfigParam('onclick', emptyFn);\n this.items = this._getConfigParam('items', []);\n this.isScrollable = this._getConfigParam('isScrollable');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n render(this._componentElement, [\n createElement(`button.btn${this.isAction ? '.btn-primary' : ''}`,\n {\n type: this.isDefault ? 'submit' : 'button',\n onclick: this.onclick,\n },\n escapeHtml(this.title),\n ),\n createElement('button.btn.dropdown-toggle',\n {\n type: 'button',\n onclick: this.openDropdown.bind(this),\n },\n createElement('em.caret'),\n ),\n createElement(`ul.dropdown-menu${this.isMenuFlip ? '.dropdown-menu-flip' : ''}${this.isScrollable ? '.dropdown-scrollable' : ''}`),\n ]);\n\n if (Array.isArray(this.items)) {\n this._initItems();\n }\n }\n\n _initItems() {\n this.items.forEach(item => {\n const link = createHtmlElement('a', {\n id: item.id || null,\n href: item.href || null,\n target: item.newWindow ? '_blank' : null,\n });\n link.innerHTML = escapeHtml(item.title);\n\n const listItem = createHtmlElement('li', {\n class: (item.submenu ? 'dropdown-submenu' : '') + (this.isMenuFlip ? ' to-left' : ''),\n });\n render(listItem, link);\n\n if (item.submenu) {\n render(listItem, '<ul class=\"dropdown-menu\"></ul>');\n }\n\n render(this._componentElement.querySelector('.dropdown-menu'), listItem);\n\n link.addEventListener('click', item.onclick || emptyFn);\n\n if (item.tooltip) {\n Tooltip.init(link, { text: item.tooltip });\n }\n });\n }\n\n _addTooltips() {\n const description = this._getConfigParam('description');\n if (description) {\n this._tooltip = Tooltip.init(this._componentElement.querySelector('button'), { text: description });\n }\n }\n\n openDropdown(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (typeof this.items === 'function') {\n const dropdownMenu = this._componentElement.querySelector('.dropdown-menu');\n dropdownMenu.innerHTML = `<div class=\"ajax-loading\">${this.lmsg('loading')}</div>`;\n\n const { items } = this;\n this.items = [];\n\n items().then(items => {\n dropdownMenu.innerHTML = '';\n this.items = items;\n this._initItems();\n });\n }\n\n if (!this._componentElement.classList.contains('open')) {\n document.querySelectorAll('.btn-group').forEach(item => {\n item.classList.remove('open');\n });\n }\n this._componentElement.classList.toggle('open');\n }\n\n _addEvents() {\n const openSubmenu = menuItem => {\n const submenu = menuItem.querySelector('.dropdown-menu');\n if (!menuItem.classList.contains('open') && 'undefined' !== typeof submenu && !submenu.innerHTML.trim()) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.items[this.items.length - 1].submenu ? this.items[this.items.length - 1].submenu(menuItem.querySelector('a').nextElementSibling) : '';\n }\n closeSubmenu(menuItem);\n menuItem.classList.add('open');\n clearTimeout(menuItem._menuTimeout);\n };\n\n const closeSubmenu = menuItem => {\n menuItem.classList.remove('open');\n clearTimeout(menuItem._menuTimeout);\n };\n\n this._componentElement.querySelectorAll('.dropdown-menu > li').forEach(element => {\n element.addEventListener('mouseover', () => {\n if (element.classList.contains('dropdown-submenu') && element.classList.contains('open')) {\n return;\n }\n element.parentNode.querySelectorAll('.dropdown-submenu.open').forEach(menuItem => {\n closeSubmenu(menuItem);\n });\n });\n });\n\n const submenu = this._componentElement.querySelectorAll('.dropdown-submenu');\n submenu.forEach(item => {\n item.addEventListener('mouseover', () => {\n openSubmenu(item);\n });\n const a = item.querySelector('a');\n a.addEventListener('touchend', () => {\n if (item.classList.contains('open')) {\n closeSubmenu(item);\n } else {\n openSubmenu(item);\n }\n });\n a.addEventListener('click', event => {\n event.stopPropagation();\n event.preventDefault();\n });\n });\n\n this._componentElement.querySelectorAll('.dropdown-submenu').forEach(menuItem => {\n menuItem.addEventListener('mouseleave', () => {\n clearTimeout(menuItem._menuTimeout);\n menuItem._menuTimeout = setTimeout(() => {\n closeSubmenu(menuItem);\n }, 500);\n });\n });\n\n document.body.addEventListener('click', () => {\n this._componentElement.classList.remove('open');\n });\n }\n\n disable() {\n const button = this._componentElement.querySelector('button');\n button.disabled = true;\n button.classList.add('disabled');\n\n const toggle = this._componentElement.querySelector('.dropdown-toggle');\n toggle.disabled = true;\n toggle.classList.add('disabled');\n\n if (Tooltip.current === this._tooltip) {\n Tooltip.hide();\n }\n }\n\n enable() {\n const button = this._componentElement.querySelector('button');\n button.disabled = false;\n button.classList.remove('disabled');\n\n const toggle = this._componentElement.querySelector('.dropdown-toggle');\n toggle.disabled = false;\n toggle.classList.remove('disabled');\n }\n\n setText(text) {\n this._componentElement.querySelector('button').innerHTML = text;\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\n\nexport class CommandButton extends Component {\n _initConfiguration(config) {\n super._initConfiguration({ tag: 'button', ...config });\n\n this._handler = this._getConfigParam('handler', false);\n if (typeof this._handler === 'string') {\n // eslint-disable-next-line no-eval\n eval(`this._handler = ${this._handler}`);\n }\n\n this._value = this._config.value || '';\n this._tabIndex = this._getConfigParam('tabIndex', null);\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement.type = 'button';\n this._componentElement.value = this._value;\n this._componentElement.name = this._config.name;\n this._componentElement.innerHTML = this._config.title;\n\n if (null !== this._tabIndex) {\n this._componentElement.setAttribute('tabindex', this._tabIndex);\n }\n\n this._initVisibility();\n }\n\n _initVisibility() {\n this._disabled = this._getConfigParam('disabled', false);\n\n if (this._disabled) {\n this._disabled = false;\n this.disable();\n } else {\n this._disabled = true;\n this.enable();\n }\n }\n\n setHandler(handler) {\n if (this._handler && !this._disabled) {\n this.removeEventObserver('click', this._handler);\n }\n\n this._handler = handler;\n if (!this._disabled) {\n this.addEventObserver('click', this._handler);\n }\n }\n\n enable() {\n if (!this._disabled) {\n return;\n }\n\n this._disabled = false;\n if ('send' === this._config.name || 'apply' === this._config.name) {\n this._componentElement.classList.add('action');\n }\n this._componentElement.classList.remove('disabled');\n this._componentElement.disabled = false;\n if (this._handler) {\n this.addEventObserver('click', this._handler);\n }\n }\n\n disable() {\n if (this._disabled) {\n return;\n }\n\n this._disabled = true;\n this._componentElement.disabled = true;\n if ('send' === this._config.name || 'apply' === this._config.name) {\n this._componentElement.classList.remove('action');\n }\n this._componentElement.classList.add('disabled');\n if (this._handler) {\n this.removeEventObserver('click', this._handler);\n }\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { toollist } from './tool-list';\n\nconst { Button } = toollist;\n\nexport class CustomButton extends Button {\n /**\n * @param {String} path\n * @returns {String}\n */\n getImagePath(path) {\n return path;\n }\n}\n\nif (window.Form) {\n Form.Element.Methods.disable = element => {\n element.disabled = 'disabled';\n element.classList.add('disabled');\n return element;\n };\n\n Form.Element.Methods.enable = element => {\n element.disabled = false;\n element.classList.remove('disabled');\n return element;\n };\n\n Element.addMethods();\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/* eslint-disable react/no-multi-comp */\n\nimport { Container } from './container';\nimport { Component } from './component';\nimport { Tooltip } from './tooltip';\nimport render from './render';\nimport createElement from './createElement';\nimport escapeAttribute from './escapeAttribute';\nimport escapeHtml from './escapeHtml';\nimport { createHtmlElement } from 'helpers/createHtmlElement';\n\nimport './tool-list.less';\n\n/**\n * Example usage:\n *\n * @example\n * new ToolList({\n * renderTo: document.body,\n * items: [{\n * componentType: toollist.Panel,\n * title: 'Components',\n * image: 'class-icons/component-large.png',\n * items: [{\n * componentType: toollist.Item,\n * title: Box,\n * href: './Box',\n * target: '_parent'\n * }, {\n * componentType: toollist.Item,\n * title: Button,\n * href: './Button',\n * target: '_parent',\n * attention: true\n * }]\n * }, {\n * componentType: toollist.Panel,\n * title: 'Classes',\n * image: 'class-icons/class-large.png',\n * items: [{\n * componentType: toollist.Item,\n * title: Locale,\n * href: './Locale',\n * target: '_parent'\n * }]\n * }, {\n * componentType: toollist.Panel,\n * title: 'Singletons',\n * image: 'class-icons/singleton-large.png',\n * items: [{\n * componentType: toollist.Item,\n * title: Cookie,\n * href: './Cookie',\n * target: '_parent'\n * }]\n * }]\n * });\n */\nexport class ToolList extends Container {\n _initConfiguration(config) {\n super._initConfiguration(config);\n this._tools = this._getConfigParam('tools', null);\n this._cls = this._getConfigParam('cls', 'tools-list-box');\n this._contentAreaId = `${this._id}-tools-list`;\n\n if (Array.isArray(this._tools) && !this._operations.length) {\n this._operations = null;\n }\n }\n\n _initComponentElement() {\n super._initComponentElement();\n this._updateComponentElement((\n `<div id=\"${this._id}-box-area\" class=\"box-area\">` +\n `<div id=\"${this._id}-content\" class=\"content\">` +\n `<div id=\"${this._id}-content-area\" class=\"content-area\">` +\n `<ul id=\"${this._id}-tools-list\" class=\"tools-list\"></ul>` +\n '</div>' +\n '</div>' +\n '</div>'\n ));\n }\n\n render() {\n super.render();\n Tooltip.initData(this._componentElement);\n }\n}\n\nclass Panel extends Container {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._contentAreaId = `${this._id}-tools-list`;\n this._image = this._getConfigParam('image', '');\n this._title = this._getConfigParam('title', '');\n }\n\n _initComponentElement() {\n const attributes = { class: 'tools-item' };\n const forcedId = this._getConfigParam('id', null);\n if (forcedId) {\n attributes.id = forcedId;\n }\n\n this._componentElement = createHtmlElement('li', attributes);\n render(\n this._componentElement,\n createElement('div', { class: 'tool-block' },\n createElement('span', { class: 'tool-icon' }, createElement('img', { src: this._image })),\n createElement('span', { class: 'tool-name' }, this._title),\n createElement('ul', { id: `${this._id}-tools-list`, class: 'tool-info' }),\n ),\n );\n }\n}\n\nclass Item extends Component {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._handler = this._getConfigParam('handler', false);\n if (typeof this._handler === 'string') {\n // eslint-disable-next-line no-eval\n eval(`this._handler = ${this._handler}`);\n }\n this._href = this._getConfigParam('href', '#');\n this._target = this._getConfigParam('target', null);\n this._title = this._getConfigParam('title', '');\n this._disabled = this._getConfigParam('disabled', false);\n this._attention = this._getConfigParam('attention', false);\n }\n\n _initComponentElement() {\n const href = this._disabled ? '#' : this._href;\n\n let title = escapeHtml(this._title);\n if (this._attention) {\n title = createHtmlElement('span', {\n class: 'hint-attention',\n });\n title.innerHTML = title;\n }\n\n this._componentElement = createHtmlElement('li', {\n id: this._getConfigParam('id', null),\n })\n .update(createHtmlElement('a', {\n href,\n target: this._target,\n }).update(title));\n\n if (this._handler && !this._disabled) {\n const handler = this._handler;\n this._componentElement.querySelector('a').addEventListener('click', e => {\n e.preventDefault();\n handler.call(this, e);\n });\n }\n }\n\n _addTooltips() {\n const description = this._getConfigParam('description');\n if (description) {\n this._tooltip = Tooltip.init(this._componentElement.querySelector('a'), { text: description });\n }\n }\n}\n\nclass Button extends Component {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._handler = this._getConfigParam('handler', false);\n if (typeof this._handler === 'string') {\n // eslint-disable-next-line no-eval\n eval(`this._handler = ${this._handler}`);\n }\n this._href = this._getConfigParam('href', '#');\n this._target = this._getConfigParam('target', null);\n this._image = this._getConfigParam('image', '');\n this._disabledImage = this._getConfigParam('disabledImage', this._image);\n this._title = this._getConfigParam('title', '');\n this._description = this._getConfigParam('description', '');\n this._disabled = this._getConfigParam('disabled', false);\n }\n\n _initComponentElement() {\n const attributes = { class: 'tools-item' };\n const forcedId = this._getConfigParam('id', null);\n if (forcedId) {\n attributes.id = forcedId;\n }\n\n this._componentElement = createHtmlElement('li', attributes);\n\n let href;\n let image;\n let cls = 'tool-block';\n\n if (this._disabled) {\n cls += ' tool-block-disabled';\n href = '#';\n image = this.getImagePath(this._disabledImage);\n } else {\n href = this._href;\n image = this.getImagePath(this._image);\n }\n render(this._componentElement,\n createElement(\n 'a',\n {\n class: cls,\n target: this._target,\n href,\n },\n (\n '<span class=\"tool-icon\">' +\n `<img src=\"${escapeAttribute(image)}\"/>` +\n '</span>' +\n `<span class=\"tool-name\">${escapeHtml(this._title)}</span>` +\n `<span class=\"tool-info\">${escapeHtml(this._description)}</span>`\n ),\n ),\n );\n\n if (this._handler && !this._disabled) {\n this._componentElement.addEventListener('click', this._handler);\n }\n }\n\n _addTooltips() {\n // don't show tooltips, 'cause we've inline descriptions\n }\n\n getImagePath(path) {\n return `${Jsw.skinUrl}/${path}`;\n }\n}\n\nexport const toollist = { Panel, Item, Button };\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/* eslint-disable react/require-render-return */\n\nimport { Component } from './component';\nimport createComponent from './createComponent';\nimport render from './render';\n\nexport class Container extends Component {\n /**\n * @cfg {Array} items\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._contentAreaId = this._id;\n\n this._initItems();\n }\n\n _initItems(items) {\n items = items || this._getConfigParam('items') || [];\n\n this._items = items.filter(function (item) {\n return !!item;\n }).map(createComponent);\n }\n\n _renderItems() {\n this._items.forEach(this._renderItem, this);\n }\n\n _renderItem(item) {\n render(document.getElementById(this._contentAreaId), item);\n }\n\n getItems() {\n return this._items;\n }\n\n getItem(id) {\n return this.getItems().find(item => item.getId() === id);\n }\n\n render() {\n super.render();\n\n this._renderItems();\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport prepareUrl from './prepareUrl';\nimport addUrlParams from './addUrlParams';\nimport render from './render';\nimport createElement from './createElement';\nimport { createHtmlElement } from 'helpers/createHtmlElement';\n/**\n * Submit form.\n * @param {Element|String} element Form element or form child element or it id.\n * @param {Boolean} [noRedirect]\n * @member Jsw\n */\nexport const submit = (element, noRedirect) => {\n const form = (typeof element === 'string' ? document.getElementById(element) : element).closest('form');\n form.noRedirect = noRedirect;\n form.submit();\n};\n\nconst isJavascriptProtocol = url => {\n try {\n return new URL(url).protocol === 'javascript:';\n } catch {\n // seems like a relative url;\n return false;\n }\n};\n\n/**\n * Go to url with get method.\n * @param {String|Object} action\n * @param {Object} [data]\n * @param {String} [target]\n * @member Jsw\n */\nexport const redirect = (action, data, target) => {\n let url = action;\n let method = 'get';\n if (Object.prototype.toString.call(action) === '[object Object]') {\n /* eslint-disable prefer-destructuring */\n method = action.method || method;\n data = action.data;\n target = action.target;\n url = action.url;\n /* eslint-enable prefer-destructuring */\n }\n if (isJavascriptProtocol(url)) {\n throw new Error(`The redirect to this url can not be performed: ${url}`);\n }\n url = prepareUrl(url);\n method = method.toLowerCase();\n if ('post' === method || (data && Object.keys(data).length) || target) {\n FormRedirect.redirect(url, method, data, target);\n } else {\n window.location.assign(url);\n }\n};\n\n/**\n * Go to url with post method.\n * @param {String} action\n * @param {Object} [data]\n * @param {String} [target]\n * @member Jsw\n */\nexport const redirectPost = (action, data, target) => {\n FormRedirect.redirect(prepareUrl(action), 'post', data, target);\n};\n\n/**\n * @class FormRedirect\n * @singleton\n */\nexport const FormRedirect = {\n /**\n * @param {String} action\n * @param {String} method\n * @param {Object} [data]\n * @param {String} [target]\n */\n redirect(action, method, data, target) {\n render(\n document.body,\n createElement(\n 'form',\n {\n method,\n target,\n // workaround for http://code.google.com/p/chromium/issues/detail?id=10671\n action: addUrlParams(action, `_randomId=${Math.floor(1000000 * Math.random())}`),\n onrender(form) {\n setTimeout(() => {\n form.submit();\n }, 0);\n },\n },\n data ? FormRedirect.subToElements(data) : null,\n document.getElementById('forgery_protection_token') ? createElement('input', {\n type: 'hidden',\n name: 'forgery_protection_token',\n value: document.getElementById('forgery_protection_token').content,\n }) : null,\n ),\n );\n },\n\n /**\n * @param {String} value\n * @param {String} prefix\n * @returns {Element[]}\n */\n stringToElements(value, prefix) {\n return [createHtmlElement('input', {\n type: 'hidden',\n name: prefix,\n value,\n })];\n },\n\n /**\n * @param {Boolean} value\n * @param {String} prefix\n * @returns {Element[]}\n */\n booleanToElements(value, prefix) {\n return [createHtmlElement('input', {\n type: 'hidden',\n name: prefix,\n value: value ? 1 : 0,\n })];\n },\n\n /**\n * @param {Array} data\n * @param {String} prefix\n * @returns {Element[]}\n */\n arrayToElements(data, prefix) {\n let elements = [];\n data.forEach(function (item) {\n elements = elements.concat(FormRedirect.subToElements(item, '', prefix));\n });\n return elements;\n },\n\n /**\n * @param {Object} data\n * @param {String} prefix\n * @returns {Element[]}\n */\n hashToElements(data, prefix) {\n let elements = [];\n $H(data).each(function (pair) {\n elements = elements.concat(FormRedirect.subToElements(pair.value, pair.key, prefix));\n });\n return elements;\n },\n\n /**\n * @param {String} value\n * @param {String} key\n * @param {String} prefix\n * @returns {Element[]}\n */\n subToElements(value, key, prefix) {\n let elements = [];\n const name = prefix\n ? `${prefix}[${key}]`\n : key;\n if (typeof value === 'string' || typeof value === 'number') {\n elements = elements.concat(FormRedirect.stringToElements(value, name));\n } else if ('boolean' === typeof value) {\n elements = elements.concat(FormRedirect.booleanToElements(value, name));\n } else if (Array.isArray(value)) {\n elements = elements.concat(FormRedirect.arrayToElements(value, name));\n } else if ('function' !== typeof value) {\n elements = elements.concat(FormRedirect.hashToElements(value, name));\n }\n return elements;\n },\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\n\nexport class DisplayField extends Component {\n _initConfiguration(config) {\n super._initConfiguration({\n cls: 'form-row',\n ...config,\n });\n this._valueRenderer = this._getConfigParam('valueRenderer', null);\n }\n\n renderHint() {\n const hint = this._getConfigParam('hint');\n\n if (!hint) {\n return '';\n }\n\n return `<span class=\"hint\">${hint}</span>`;\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n let values = ('function' === typeof this._valueRenderer)\n ? this._valueRenderer()\n : this._getConfigParam('value', '');\n\n values = (typeof values === 'string') ? [values] : values;\n\n let valuesElements = '';\n values.forEach(value => {\n valuesElements += `<div class=\"text-value\">${value}</div>`;\n });\n\n if (this._getConfigParam('singleRow', false)) {\n if (1 === values.length) {\n valuesElements = values.valueOf();\n }\n this._componentElement.innerHTML = `<div class=\"single-row\">${valuesElements}</div>`;\n } else {\n this._componentElement.innerHTML = (\n `<div class=\"field-name\">${this._getConfigParam('fieldLabel', '')}${this.renderHint()}</div>` +\n `<div class=\"field-value\">${valuesElements}</div>`\n );\n }\n }\n}\n\nexport class Values {\n /**\n * @cfg {String} selector CSS selector\n */\n\n constructor(config) {\n this.selector = config.selector;\n this.formValues = {};\n document.querySelectorAll(this.selector).forEach(input => {\n this.formValues[this.getStorageName(input)] = input.value;\n });\n }\n\n /**\n * @returns {Boolean}\n */\n isChanged() {\n let changed = false;\n document.querySelectorAll(this.selector).forEach(input => {\n if (this.formValues[this.getStorageName(input)] != input.value) {\n changed = true;\n }\n });\n return changed;\n }\n\n getStorageName(input) {\n return `${input.getAttribute('type')}/${input.getAttribute('name')}`;\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component, getComponent } from './component';\nimport { redirect, redirectPost } from './form-redirect';\nimport Observer from './Observer';\nimport addStatusMessage from './addStatusMessage';\nimport clearStatusMessages from './clearStatusMessages';\nimport showInternalError from './showInternalError';\nimport render from './render';\nimport escapeHtml from './escapeHtml';\n\nexport class FormAjax extends Component {\n _initConfiguration(config) {\n this._actionButtonTitle = '';\n\n super._initConfiguration(config);\n this._sendButtonId = this._getConfigParam('sendButtonId', 'btn-send');\n this._applyButtonId = this._getConfigParam('applyButtonId', 'btn-apply');\n this._cancelButtonId = this._getConfigParam('cancelButtonId', 'btn-cancel');\n this._confirmationCheckboxId = this._getConfigParam('confirmationCheckboxId', 'formNeedAttention-attentionConfirmed');\n this._submitHandler = this._getConfigParam('submitHandler', () => true);\n }\n\n disable() {\n [this._sendButtonId, this._applyButtonId, this._cancelButtonId].forEach(buttonId => {\n this._toggleButton(buttonId, true);\n });\n\n this._toggleCheckbox(this._confirmationCheckboxId, true);\n\n const actionButton = this._getActionButton();\n if (actionButton) {\n this._actionButtonTitle = actionButton.innerHTML;\n actionButton.innerHTML = `<span class=\"wait\">${this._config.waitButtonTitle}</span>`;\n }\n }\n\n enable() {\n [this._sendButtonId, this._applyButtonId, this._cancelButtonId].forEach(buttonId => {\n this._toggleButton(buttonId, false);\n });\n\n this._toggleCheckbox(this._confirmationCheckboxId, false);\n\n const actionButton = this._getActionButton();\n if (actionButton) {\n actionButton.innerHTML = this._actionButtonTitle;\n }\n }\n\n _toggleButton(buttonId, disable) {\n const button = getComponent(buttonId);\n if (button) {\n button[disable ? 'disable' : 'enable']();\n }\n }\n\n _toggleCheckbox(checkboxId, disable) {\n const checkbox = document.getElementById(checkboxId);\n if (checkbox) {\n checkbox.disabled = disable;\n }\n }\n\n _getActionButton() {\n return document.getElementById(this._componentElement.noRedirect ? this._applyButtonId : this._sendButtonId);\n }\n\n _initComponentElement() {\n this._componentElement = document.getElementById(this._id);\n this._initDisablerOverlay();\n\n if (!this._componentElement.dataset?.noInitFocus) {\n const firstElement = this._componentElement.querySelector('input, select, textarea');\n\n if (firstElement) {\n try {\n firstElement.focus();\n } catch {}\n }\n }\n\n this._submitInProgress = false;\n\n const toggleButtons = disable => {\n [this._sendButtonId, this._applyButtonId].forEach(id => this._toggleButton(id, disable));\n };\n\n const confirmationCheckbox = document.getElementById(this._confirmationCheckboxId);\n if (confirmationCheckbox) {\n toggleButtons(!confirmationCheckbox.checked);\n confirmationCheckbox.addEventListener('click', e => {\n toggleButtons(!e.currentTarget.checked);\n });\n }\n }\n\n _addEvents() {\n this._componentElement._formSubmit = this._componentElement.submit;\n this._componentElement.submit = this._onSubmit.bind(this);\n this._componentElement.addEventListener('submit', this._onSubmitEvent.bind(this));\n this._addChoiceRadioButtonsOnClickEvent();\n }\n\n _addChoiceRadioButtonsOnClickEvent() {\n document.querySelectorAll('input[type=\"radio\"]').forEach(element => {\n if (!element.closest('div.choice-block')) {\n return;\n }\n element.addEventListener('click', function () {\n element.closest('div.choice-block').querySelectorAll('span').forEach(element => {\n element.classList.remove('selected');\n\n if ('0' === element.value) {\n element.classList.remove('no');\n }\n });\n\n element.closest('span').classList.add('selected');\n\n if ('0' === element.value) {\n element.closest('span').classList.add('no');\n }\n });\n });\n }\n\n _onSubmitEvent(event) {\n this._onSubmit();\n event.preventDefault();\n return false;\n }\n\n async _onSubmit() {\n if (!await this._submitHandler()) {\n return false;\n }\n\n if (this._submitInProgress) {\n return false;\n }\n this._submitInProgress = true;\n\n this._clearMessages();\n this.disable();\n\n if (this._componentElement.enctype === 'multipart/form-data') {\n this._componentElement._formSubmit();\n return true;\n }\n\n let actionUrl = this._componentElement.getAttribute('action');\n\n if (!actionUrl) {\n actionUrl = document.location.href;\n }\n\n // remove hash symbol (and the following) cause this will encoded and lead to problems\n actionUrl = actionUrl.replace(/#.*$/, '');\n\n const params = Form.serialize(this._componentElement);\n new Ajax.Request(actionUrl, {\n method: 'post',\n parameters: params,\n onSuccess: this._onSuccess.bind(this),\n onFailure: this._onFailure.bind(this),\n });\n return true;\n }\n\n _onFailure(req) {\n this._submitInProgress = false;\n this._clearMessages();\n\n if (504 === req.status) {\n addStatusMessage('error', this._config.timeoutMessage);\n } else {\n showInternalError(req.responseText);\n }\n\n this.enable();\n }\n\n _onSuccess(req) {\n this._submitInProgress = false;\n clearStatusMessages();\n\n try {\n const response = JSON.parse(req.responseText);\n this._processForm(response);\n } catch {\n this._clearMessages();\n this.enable();\n\n // show error, if request wasn't aborted by user\n if (0 != req.status) {\n showInternalError(req.responseText);\n }\n }\n }\n\n _processForm(response) {\n if (response.componentType === 'Jsw.Task.ProgressBar.Item') {\n getComponent('asyncProgressBarWrapper').progressDialog(response);\n Observer.append(task => {\n if (task.id === response.id) {\n this.enable();\n }\n }, 'plesk:taskComplete');\n return;\n }\n\n if (response.redirect) {\n this._processResponseRedirect(response);\n return;\n }\n\n this._clearMessages();\n this._processResponseStatus(response.status);\n this._processResponseStatusMessages(response.statusMessages);\n this._processResponseFormMessages(response.formMessages);\n\n if (this._hasFieldErrors) {\n this._showFieldErrorArea();\n }\n this.enable();\n }\n\n _showFieldErrorArea() {\n const errorsElements = this._componentElement.querySelectorAll('.field-errors');\n let firstError = null;\n\n errorsElements.forEach(errorElement => {\n if (errorElement.style.display !== 'none') {\n firstError = errorElement;\n }\n });\n\n let hiddenContainerId = null;\n\n let element = firstError;\n while ((element = element.parentNode) && element.nodeType === Node.ELEMENT_NODE) {\n if (element.style.display === 'none') {\n hiddenContainerId = element.id;\n }\n }\n\n if (!hiddenContainerId) {\n return;\n }\n\n // in case of tabbed form we must switch to corresponding tab\n const tabsBar = getComponent('form-tab-buttons');\n\n if (tabsBar) {\n tabsBar.switchTab(hiddenContainerId);\n }\n }\n\n _processResponseStatus(status) {\n if ('success' !== status) {\n this._hasErrors = true;\n }\n }\n\n _clearMessages() {\n // clear field messages\n try {\n this._componentElement.querySelectorAll('.field-errors').forEach(errors => {\n errors.style.display = 'none';\n const rowElement = errors.closest('.form-row');\n if (rowElement) {\n rowElement.classList.remove('error');\n }\n errors.querySelectorAll('.error-hint').forEach(error => {\n error.parentNode.removeChild(error);\n });\n });\n } catch {\n }\n\n this._hasErrors = false;\n this._hasFieldErrors = false;\n }\n\n _processResponseStatusMessages(messages) {\n (messages || []).forEach(({ status, content, title }) => {\n this._addFormMessage(status, content, title);\n });\n }\n\n _processResponseFormMessages(messages) {\n this._processFieldMessages(messages, []);\n }\n\n _addFieldMessage(errors, message) {\n errors.closest('.form-row').classList.add('error');\n render(errors, `<span class=\"error-hint\">${escapeHtml(message)}</span>`);\n errors.style.display = '';\n }\n\n _processFieldMessage(prefix, name, message) {\n let fieldErrors;\n const formElement = this._componentElement.querySelector(`#${prefix.join('-')}`);\n fieldErrors = formElement ? formElement.parentNode.querySelector('.field-errors') : null;\n if (!fieldErrors) {\n fieldErrors = formElement ? formElement.closest('.form-row').querySelector('.field-errors') : null;\n }\n if (!fieldErrors) {\n fieldErrors = this._componentElement.querySelector(`#${prefix.join('-')}-form-row`).querySelectorAll('.field-errors');\n fieldErrors = fieldErrors[fieldErrors.length - 1];\n }\n this._addFieldMessage(fieldErrors, message);\n this._hasFieldErrors = true;\n }\n\n _processFieldMessages(messages, prefix) {\n if (Array.isArray(messages)) {\n messages.forEach(message => {\n if (typeof message === 'string') {\n this._processFieldMessage(prefix, 'error', message);\n } else {\n prefix.push(name);\n this._processFieldMessages(message, prefix);\n prefix.pop();\n }\n });\n } else {\n $H(messages).each(({ key, value }) => {\n if (typeof value === 'string') {\n this._processFieldMessage(prefix, key, value);\n } else {\n prefix.push(key);\n this._processFieldMessages(value, prefix);\n prefix.pop();\n }\n });\n }\n }\n\n _addFormMessage(type, message, title) {\n addStatusMessage(type, message, { title });\n }\n\n _processResponseRedirect(response) {\n if (this._componentElement.noRedirect) {\n document.location.reload();\n } else if (response.postData) {\n redirectPost(response.redirect, response.postData, response.target);\n } else {\n redirect(response.redirect, null, response.target);\n }\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Container } from './container';\nimport render from './render';\n\nexport class ListContainer extends Container {\n _initConfiguration(config) {\n super._initConfiguration({\n tag: 'ul',\n ...config,\n });\n }\n\n _renderItem(item) {\n let renderTargetId = null;\n const isEmptyItem = Array.isArray(item) && !item.length;\n\n if (!isEmptyItem) {\n renderTargetId = `${this._id}-item-${item.getId()}`;\n }\n\n let cls = this._getConfigParam('itemClass', '');\n\n if (this._getConfigParam('renderLastItemClass', '') && this._items[this._items.length - 1] === item) {\n cls = 'last';\n }\n\n if (isEmptyItem) {\n cls += ` ${this._getConfigParam('emptyItemClass', '')}`;\n }\n\n if (cls) {\n cls = ` class=\"${cls}\"`;\n }\n\n render(document.getElementById(this._contentAreaId), `<li ${renderTargetId ? `id=\"${renderTargetId}\"` : ''}${cls}></li>`);\n\n if (!isEmptyItem) {\n render(document.getElementById(renderTargetId), item);\n }\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Container } from './container';\nimport render from './render';\n\nexport class TwoColumns extends Container {\n _initConfiguration(config) {\n super._initConfiguration({\n cls: 'two-cols-block clearfix',\n ...config,\n });\n this._columnCls = 'first-col';\n }\n\n _initComponentElement() {\n this._componentElement = document.createElement('div');\n this._componentElement.className = this._cls;\n this._componentElement.innerHTML = (\n `<div id=\"${this._contentAreaId}\" class=\"columns-wrapper\"></div>`\n );\n }\n\n _renderItem(item) {\n const renderTargetId = `${this._id}-item-${item.getId()}`;\n render(\n document.getElementById(this._contentAreaId),\n `<div class=\"${this._columnCls}\"><div class=\"column-box\" id=\"${renderTargetId}\"></div></div>`,\n );\n render(document.getElementById(renderTargetId), item);\n\n this._columnCls = 'second-col';\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/**\n * Utility class for setting/reading values from browser cookies.\n * Values can be written using the {@link #set} or {@link #setPermanent} method.\n * Values can be read using the {@link #get} method.\n * A cookie can be invalidated on the client machine using the {@link #remove} method.\n */\nexport default {\n /**\n * Retrieves cookies that are accessible by the current page. If a cookie does not exist, `get()` returns null.\n * @param name The name of the cookie to get\n * @returns Returns the cookie value for the specified name; null if the cookie name does not exist.\n */\n get(name: string): string | null {\n const cookies = document.cookie.split('; ');\n for (let i = 0; i < cookies.length; i++) {\n const crumbs = cookies[i].split('=');\n if (name === crumbs[0]) {\n return unescape(crumbs[1]);\n }\n }\n return null;\n },\n\n /**\n * Creates a cookie with the specified name and value.\n * @param name The name of the cookie to set.\n * @param value The value to set for the cookie.\n * @param expires Specify an expiration date the cookie is to persist until.\n * @param path Setting a path on the cookie restricts access to pages that match that path.\n */\n set(\n name: string,\n value: string,\n expires?: string,\n path?: string,\n ) {\n let cookie = `${name}=${escape(value)}; `;\n\n if (expires) {\n cookie += `expires=${expires}; `;\n }\n\n if (path) {\n cookie += `path=${path}; `;\n }\n\n if (window.location.protocol === 'https:') {\n cookie += 'secure; ';\n }\n\n document.cookie = cookie;\n },\n\n /**\n * Creates a permanent cookie with the specified name and value.\n * @param name The name of the cookie to set.\n * @param value The value to set for the cookie.\n * @param path Setting a path on the cookie restricts access to pages that match that path.\n */\n setPermanent(name: string, value: string, path?: string) {\n const date = new Date();\n date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));\n const expires = date.toUTCString();\n this.set(name, value, expires, path);\n },\n\n /**\n * Removes a cookie with the provided name from the browser by setting its expiration date to sometime in the past.\n * @param name\n * @param path\n */\n remove(name: string, path?: string) {\n this.set(name, '', 'Fri, 31 Dec 1999 23:59:59 GMT', path);\n },\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Container } from './container';\nimport Cookie from 'common/cookie';\nimport createComponent from './createComponent';\nimport render from './render';\n\n/**\n * Example usage:\n *\n * @example\n * new Panel({\n * renderTo: document.body,\n * title: 'Panel title',\n * items: [\n * new Box({\n * html: 'Panel content'\n * }),\n * ],\n * });\n */\nexport class Panel extends Container {\n /**\n * @cfg {String} title\n */\n /**\n * @cfg {String} titleClass\n */\n /**\n * @cfg {Boolean} hideContentTitle\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._title = this._getConfigParam('title', '');\n this._titleClass = this._getConfigParam('titleClass', '');\n this._hideContentTitle = this._getConfigParam('hideContentTitle', this._title);\n this._titleAreaId = `${this._id}-title-area`;\n this._contentAreaId = `${this._id}-content-area`;\n this._boxItemsAreaId = `${this._id}-box-area`;\n this._initBoxItems();\n }\n\n _initBoxItems() {\n this._boxItems = this._getConfigParam('boxItems', null);\n\n if (null !== this._boxItems) {\n this._boxItems = this._boxItems.map(createComponent);\n }\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._updateComponentElement((\n `<div class=\"box-area\">${this._getTitleHtml()}${this._getSubTitleHtml()}` +\n `<div id=\"${this._boxItemsAreaId}\"></div>` +\n '<div class=\"content\">' +\n '<div class=\"content-area\">' +\n `<div class=\"content-wrapper\" id=\"${this._contentAreaId}\">${this._getConfigParam('html', '')}</div>` +\n '</div>' +\n '</div>' +\n '</div>'\n ));\n }\n\n _getTitleHtml() {\n return this._title\n ? `<div class=\"title ${this._titleClass ? this._titleClass : ''}\">` +\n `<div class=\"title-area\" id=\"${this._titleAreaId}\">${\n ('-' === this._title) ? '' : `<h3><span>${this._title}</span></h3>`\n }</div>` +\n '</div>'\n : '';\n }\n\n _getSubTitleHtml() {\n return '';\n }\n\n render() {\n super.render();\n\n this._renderBoxItems();\n }\n\n _renderBoxItems() {\n if (null !== this._boxItems) {\n this._boxItems.forEach(function (item) {\n this._renderBoxItem(item);\n }, this);\n }\n }\n\n _renderBoxItem(item) {\n render(document.getElementById(this._boxItemsAreaId), item);\n }\n\n _isHidden() {\n const rememberedStatus = Cookie.get(`${this._id}-hidden`);\n if (this._idIsRandom || null === rememberedStatus) {\n return this._getConfigParam('collapsed', false);\n }\n return 1 == rememberedStatus;\n }\n\n _setHidden(hidden) {\n if (this._getConfigParam('collapsed', false) == hidden) {\n Cookie.remove(`${this._id}-hidden`);\n } else {\n Cookie.set(`${this._id}-hidden`, hidden ? 1 : 0);\n }\n }\n\n _addEvents() {\n super._addEvents();\n if (this._isHidden()) {\n this.hideContent();\n } else {\n this.showContent();\n }\n this._componentElement.querySelectorAll(`#${this._titleAreaId}`).forEach(titleAreaElement => {\n titleAreaElement.addEventListener('click', () => {\n this.toggleContent();\n });\n });\n }\n\n _updateTitle(title) {\n if (title && ('-' !== title)) {\n this._componentElement.querySelector('div.title-area > h3 > span').innerHTML = title;\n }\n }\n\n showContent() {\n this._componentElement.classList.remove('hide');\n this._updateTitle(this._hideContentTitle);\n if (!this._idIsRandom) {\n this._setHidden(false);\n }\n }\n\n hideContent() {\n this._componentElement.classList.add('hide');\n this._updateTitle(this._title);\n if (!this._idIsRandom) {\n this._setHidden(true);\n }\n }\n\n toggleContent() {\n this._componentElement.classList.contains('hide')\n ? this.showContent()\n : this.hideContent();\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { ModalDialogBox } from './modal-dialog-box';\nimport showInternalError from './showInternalError';\nimport ce from './createElement';\nimport prepareUrl from './prepareUrl';\nimport escapeHtml from './escapeHtml';\nimport Locale from './Locale';\n\nimport './message-box.less';\n\nconst factory = (config = {}) => {\n if (config.isWebspace) {\n return new WebspaceFoldersMessageBox(config);\n }\n\n if (config.isAjax) {\n return new MultiCheckboxMessageWindow(config);\n }\n\n return new MessageBox(config);\n};\n\nconst TYPE_OK = 'TYPE_OK';\nconst TYPE_YESNO = 'TYPE_YESNO';\nconst SUBTYPE_DELETE = 'delete';\nconst SUBTYPE_TOGGLE = 'toggle';\nconst SUBTYPE_CONFIRM = 'confirm';\n\n/**\n * @class messageBox\n * @singleton\n */\nexport const messageBox = {\n TYPE_OK,\n TYPE_YESNO,\n SUBTYPE_DELETE,\n SUBTYPE_TOGGLE,\n SUBTYPE_CONFIRM,\n\n /**\n * Show message box.\n * @param {Object} config\n */\n show(config) {\n const messageBox = factory(config);\n messageBox.show();\n return messageBox;\n },\n};\n\nexport class MessageBox extends ModalDialogBox {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._cls = 'popup-panel popup-panel-sm popup-panel-centered confirmation-box';\n this._type = this._getConfigParam('type', TYPE_YESNO);\n this._text = this._getConfigParam('text', '');\n this._subtype = this._getConfigParam('subtype', null);\n this._description = this._getConfigParam('description', '');\n this._descriptionWrapperTag = this._getConfigParam('descriptionWrapperTag', 'p');\n this._descriptionDecorator = this._getConfigParam('descriptionDecorator', content => content);\n this._buttonDefault = this._getConfigParam('buttonDefault', this._type === TYPE_YESNO ? 'no' : 'yes');\n\n const buttonsLocale = Locale.getSection('components.buttons');\n this._buttonTitles = {\n ok: buttonsLocale.lmsg('ok'),\n yes: buttonsLocale.lmsg(this._subtype === SUBTYPE_DELETE ? 'yesRemove' : 'yes'),\n no: buttonsLocale.lmsg('no'),\n wait: buttonsLocale.lmsg('wait'),\n ...this._getConfigParam('buttonTitles'),\n };\n\n this._onYesClick = this._getConfigParam('onYesClick', null);\n this._onNoClick = this._getConfigParam('onNoClick', null);\n this._onOkClick = this._getConfigParam('onOkClick', null);\n this._needAttention = this._getConfigParam('needAttention', false);\n this._needAttentionText = this._getConfigParam('needAttentionText', '');\n this._needAttentionBlockSubmit = this._getConfigParam('needAttentionBlockSubmit', false);\n this._needAttentionOnChange = this._getConfigParam('needAttentionOnChange', null);\n\n if (TYPE_YESNO === this._type) {\n if (this._onYesClick) {\n this._onYesClickHandler = this._onYesClick.bind(this);\n } else {\n this._onYesClickHandler = this._defaultOnButtonClick.bind(this);\n }\n }\n }\n\n _getDescriptionCode() {\n const wrapDescription = description => `<${this._descriptionWrapperTag}>${description}</${this._descriptionWrapperTag}>`;\n\n if (Array.isArray(this._description)) {\n return this._description.map(wrapDescription).join('');\n }\n\n return this._descriptionDecorator(wrapDescription(this._description));\n }\n\n _getNeedAttentionCode() {\n if (!this._needAttention) {\n return '';\n }\n\n let needAttentionCode = '<hr>';\n if (this._needAttentionBlockSubmit || this._needAttentionOnChange) {\n needAttentionCode += (\n '<p>' +\n '<span class=\"b-indent\">' +\n '<span class=\"b-indent-icon\">' +\n '<input type=\"checkbox\" class=\"checkbox\" id=\"needAttentionConfirmationCheckbox\">' +\n '</span>' +\n `<label for=\"needAttentionConfirmationCheckbox\">${this._needAttentionText}</label>` +\n '</span>' +\n '</p>'\n );\n } else {\n needAttentionCode += `<p class=\"hint-warning\">${this._needAttentionText}</p>`;\n }\n needAttentionCode += '<hr>';\n\n return needAttentionCode;\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._updateComponentElement(\n ce('div.popup-wrapper',\n ce('div.popup-container',\n ce('div.popup-content',\n ce('div.popup-content-area',\n ce(`div.confirmation-msg${this._subtype ? `.mw-${this._subtype}` : ''}`,\n this._text ? ce('p', this._text) : null,\n this._getDescriptionCode(),\n this._getNeedAttentionCode(),\n ce('div.btns-container',\n this._type === TYPE_YESNO ? [\n ce(`button.btn${this._subtype === SUBTYPE_DELETE ? '.btn-danger' : this._buttonDefault === 'yes' ? '.action' : ''}`, {\n type: 'button',\n 'data-action': 'yes',\n }, this._buttonTitles.yes),\n ce(`button.btn${this._subtype === SUBTYPE_DELETE ? '' : this._buttonDefault === 'no' ? '.action' : ''}`, {\n type: 'button',\n 'data-action': 'no',\n }, this._buttonTitles.no),\n ] : this._type === TYPE_OK ? [\n ce('button.btn.action', {\n type: 'button',\n 'data-action': 'yes',\n }, this._buttonTitles.ok),\n ] : null,\n ),\n ),\n ),\n ),\n ),\n ),\n );\n\n this._componentElement.style.display = 'none';\n }\n\n _disableYesButton() {\n if (TYPE_YESNO === this._type) {\n const buttonYes = this._componentElement.querySelector('.btns-container .btn');\n buttonYes.classList.add('disabled');\n buttonYes.disabled = true;\n buttonYes.removeEventListener('click', this._onYesClickHandler);\n }\n }\n\n _enableYesButton() {\n if (TYPE_YESNO === this._type) {\n const buttonYes = this._componentElement.querySelector('.btns-container .btn');\n buttonYes.classList.remove('disabled');\n buttonYes.disabled = false;\n buttonYes.addEventListener('click', this._onYesClickHandler);\n }\n }\n\n _addEvents() {\n super._addEvents();\n\n const buttons = this._componentElement.querySelectorAll('button');\n\n // add default behavior - hide dialog\n buttons.forEach(button => {\n button.addEventListener('click', this._defaultOnButtonClick.bind(this));\n });\n\n if (TYPE_YESNO === this._type) {\n if (this._onYesClick) {\n const buttonYes = buttons[0];\n buttonYes.addEventListener('click', this._onYesClickHandler);\n }\n\n if (this._onNoClick) {\n const buttonNo = buttons[buttons.length - 1];\n buttonNo.addEventListener('click', event => {\n this._onNoClick(event);\n });\n }\n\n if (this._needAttention && this._needAttentionBlockSubmit) {\n const inputs = this._componentElement.querySelectorAll('input');\n const confirmationCheckbox = inputs[inputs.length - 1];\n confirmationCheckbox.addEventListener('click', () => {\n if (confirmationCheckbox.checked) {\n this._enableYesButton();\n } else {\n this._disableYesButton();\n }\n });\n }\n\n if (this._needAttention && this._needAttentionOnChange) {\n const inputs = this._componentElement.querySelectorAll('input');\n const confirmationCheckbox = inputs[inputs.length - 1];\n confirmationCheckbox.addEventListener('click', () => {\n this._needAttentionOnChange(confirmationCheckbox.checked);\n });\n }\n }\n\n if (TYPE_OK === this._type) {\n if (this._onOkClick) {\n const buttonOk = buttons[0];\n buttonOk.addEventListener('click', event => {\n this._onOkClick(event);\n });\n }\n }\n }\n\n _addTooltips() {\n // disable parent implementation\n }\n\n _defaultOnButtonClick() {\n this.hide();\n }\n\n show() {\n super.show();\n setTimeout(() => {\n this._componentElement.querySelector(`[data-action=\"${this._buttonDefault}\"]`)?.focus();\n });\n if (this._needAttention && this._needAttentionBlockSubmit) {\n this._disableYesButton();\n }\n }\n}\n\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\nMessageBox.subclasses = [];\n\nexport class AjaxMessageBox extends MessageBox {\n _initConfiguration(config) {\n super._initConfiguration(config);\n this._requestUrl = this._getConfigParam('requestUrl', '');\n this._requestMethod = this._getConfigParam('requestMethod', 'post');\n this._requestParams = this._getConfigParam('requestParams', '');\n this._contentContainerId = this._getConfigParam('contentContainerId', `${this._id}contentContainer`);\n this._confirmationCheckboxId = this._getConfigParam('confirmationCheckboxId', `${this._id}confirmationCheckbox`);\n this._loadingTitle = this._getConfigParam('loadingTitle', '');\n this._progress = false;\n }\n\n _getNeedAttentionCode() {\n return `<div id=\"${this._contentContainerId}\"></div>${super._getNeedAttentionCode()}`;\n }\n\n _showSpinner() {\n if (TYPE_YESNO === this._type) {\n this._progress = true;\n this._componentElement.querySelector('button').innerHTML = `<span class=\"wait\">${this._buttonTitles.wait}</span>`;\n }\n }\n\n _hideSpinner() {\n if (TYPE_YESNO === this._type) {\n this._progress = false;\n this._componentElement.querySelector('button').innerHTML = this._buttonTitles.yes;\n }\n }\n\n show() {\n super.show();\n if (!this._requestUrl || this._progress) {\n return;\n }\n\n new Ajax.Request(prepareUrl(this._requestUrl), {\n method: this._requestMethod,\n parameters: this._requestParams,\n onCreate: this._onCreate.bind(this),\n onSuccess: this._onSuccess.bind(this),\n onFailure: this._onFailure.bind(this),\n });\n }\n\n _onCreate() {\n this._disableYesButton();\n this._showSpinner();\n }\n\n _onSuccess() {\n this._hideSpinner();\n this._enableYesButton();\n }\n\n _onFailure() {\n this._hideSpinner();\n this._enableYesButton();\n }\n}\n\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\nAjaxMessageBox.superclass = MessageBox;\n\nexport class MultiCheckboxMessageWindow extends AjaxMessageBox {\n _onSuccess(transport) {\n this._hideSpinner();\n\n const result = JSON.parse(transport.responseText);\n\n const { content } = result;\n let contentCode = '';\n if (Array.isArray(content)) {\n if (content.length > 0) {\n contentCode = '<ul class=\"ul\">';\n content.forEach(item => {\n contentCode += `<li>${item}</li>`;\n });\n contentCode += '</ul>';\n }\n } else {\n contentCode = content;\n }\n\n let descriptionCode = '';\n if (result.description) {\n descriptionCode = `<p><span class=\"hint-warning\">${result.description}</span></p>`;\n }\n\n let confirmationCode = '';\n if (result.confirmation) {\n confirmationCode = (\n '<p><span class=\"b-indent\">' +\n '<span class=\"b-indent-icon\">' +\n `<input type=\"checkbox\" class=\"checkbox\" id=\"${this._confirmationCheckboxId}\"/>` +\n '</span>' +\n `<label for=\"${this._confirmationCheckboxId}\">${result.confirmation}</label>` +\n '</span></p>'\n );\n }\n\n document.getElementById(this._contentContainerId).innerHTML = contentCode + descriptionCode + confirmationCode;\n\n const checkboxes = this._componentElement.querySelectorAll('input[type=\"checkbox\"]');\n checkboxes.forEach(checkbox => {\n checkbox.addEventListener('click', () => {\n let enableYesButton = true;\n this._componentElement.querySelectorAll('input[type=\"checkbox\"]').forEach(confirmationCheckbox => {\n if (!confirmationCheckbox.checked) {\n enableYesButton = false;\n }\n });\n if (enableYesButton) {\n this._enableYesButton();\n } else {\n this._disableYesButton();\n }\n });\n });\n\n if (!checkboxes.length) {\n this._enableYesButton();\n }\n }\n}\n\nexport class WebspaceFoldersMessageBox extends AjaxMessageBox {\n _initConfiguration(config) {\n super._initConfiguration(config);\n this._successDescription = this._getConfigParam('successDescription', '');\n this._failureDescription = this._getConfigParam('failureDescription', '');\n }\n\n show() {\n if (!this._progress) {\n this._setDescription([]);\n }\n super.show();\n }\n\n _setDescription(folders) {\n const list = folders.map(({ name }) => `<li>${escapeHtml(name)}</li>`);\n const message = folders.length\n ? this._description.concat(' ').concat(this._successDescription).concat(`<ul>${list.join('')}</ul>`)\n : this._description;\n document.getElementById(this._contentContainerId).innerHTML = message;\n }\n\n _onSuccess(transport) {\n this._hideSpinner();\n this._enableYesButton();\n try {\n this._setDescription(JSON.parse(transport.responseText).data);\n } catch {\n showInternalError(transport.responseText);\n }\n }\n\n _onFailure() {\n super._onFailure();\n document.getElementById(this._contentContainerId).innerHTML = `${this._description} ${this._failureDescription}`;\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport render from './render';\nimport emptyFn from './emptyFn';\nimport { ESC } from './keyCode';\n\nimport './modal-dialog-box.less';\n\nexport class ModalDialogBox extends Component {\n constructor(config) {\n super(config);\n this._componentElement.querySelectorAll('[autofocus]').forEach(el => el.focus());\n }\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._screenDisablerId = this._getConfigParam('screenDisablerId', 'screenDisabler');\n this._hideOnEscape = this._getConfigParam('hideOnEscape', false);\n this._hideOnBgClick = this._getConfigParam('hideOnBgClick', true);\n this._onShow = this._getConfigParam('onShow', emptyFn);\n this._onHide = this._getConfigParam('onHide', emptyFn);\n\n if (!document.getElementById(this._screenDisablerId)) {\n ModalDialogBox.initScrollbarSpacer();\n render(\n document.body,\n `<div id=\"${this._screenDisablerId}\" class=\"main-disabled-block\"></div>`,\n 'top',\n );\n }\n\n this._screenDisabler = document.getElementById(this._screenDisablerId);\n\n const renderTo = this._getConfigParam('renderTo', 'modalDialogBox');\n this._renderTarget = typeof renderTo === 'string' ? document.getElementById(renderTo) : renderTo;\n if (!this._renderTarget) {\n this._renderTarget = document.createElement('div');\n this._renderTarget.id = renderTo;\n }\n\n this._renderTarget.innerHTML = '';\n render(this._screenDisabler, this._renderTarget, 'after');\n this._onKeyDownhandler = this._onKeyDown.bind(this);\n }\n\n _addEvents() {\n super._addEvents();\n\n if (this._hideOnBgClick) {\n this._componentElement.addEventListener('click', () => {\n this.hide();\n });\n }\n\n const popupContainer = this._componentElement.querySelector('.popup-container');\n if (popupContainer) {\n popupContainer.addEventListener('click', event => {\n event.stopPropagation();\n });\n }\n\n this._onKeyDownhandler = this._onKeyDown.bind(this);\n }\n\n show() {\n super.show();\n document.querySelector('html').classList.add('modal-open');\n document.addEventListener('keydown', this._onKeyDownhandler);\n this._onShow();\n }\n\n hide() {\n super.hide();\n document.querySelector('html').classList.remove('modal-open');\n document.removeEventListener('keydown', this._onKeyDownhandler);\n this._onHide();\n }\n\n _onKeyDown(e) {\n switch (e.keyCode) {\n case (this._hideOnEscape && ESC):\n this.hide();\n break;\n }\n }\n}\n\nModalDialogBox.initScrollbarSpacer = () => {\n const scrollDiv = document.createElement('div');\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n document.body.appendChild(scrollDiv);\n\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n\n const styleEl = document.createElement('style');\n document.head.appendChild(styleEl);\n styleEl.sheet.insertRule(`.modal-open, .modal-open .pul-layout__header-inner {padding-inline-end: ${scrollbarWidth}px}`, 0);\n styleEl.sheet.insertRule(`.modal-open .js-scrollbar-spacer {margin-right: ${scrollbarWidth}px}`, 1);\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport render from './render';\nimport { Component } from './component';\n\nexport class DropdownHeader extends Component {\n _initConfiguration(config) {\n super._initConfiguration({\n cls: 'dropdown-header',\n ...config,\n });\n this._title = this._getConfigParam('title', '');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n render(this._componentElement, this._title);\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nlet dropdowns = [];\n\nconst closeAllDropdowns = event => {\n dropdowns.forEach(dropdown => {\n if (dropdown.isOpened(event)) {\n dropdown.close(event);\n }\n });\n};\n\n/**\n * @class DropdownManager\n * @singleton\n */\nexport const DropdownManager = {\n /**\n * Register dropdown component.\n * @param {Element} toggler\n * @param {Function} isOpened\n * @param {Function} open\n * @param {Function} close\n * @param {Function} [beforeClick]\n * @returns {Object}\n */\n register(toggler, isOpened, open, close, beforeClick) {\n const dropdown = {\n toggler,\n isOpened,\n open,\n close,\n handler(event) {\n if (beforeClick && !beforeClick(event)) {\n return;\n }\n event.stopPropagation();\n const oldIsOpened = isOpened(event);\n closeAllDropdowns(event);\n if (!oldIsOpened) {\n open(event);\n }\n },\n };\n\n dropdowns.push(dropdown);\n dropdown.toggler.addEventListener('click', dropdown.handler);\n\n if (dropdowns.length > 0) {\n document.body.addEventListener('click', closeAllDropdowns);\n }\n\n return dropdown;\n },\n\n /**\n * Un register dropdown component.\n * @param {Object} dropdown\n */\n unregister(dropdown) {\n dropdown.toggler.removeEventListener('click', dropdown.handler);\n dropdowns = dropdowns.filter(item => item !== dropdown);\n\n if (dropdowns.length === 0) {\n document.body.removeEventListener('click', closeAllDropdowns);\n }\n },\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Container } from './container';\nimport { Tooltip } from './tooltip';\nimport Filters from './list/Filters';\nimport createComponent from './createComponent';\nimport render from './render';\nimport createElement from './createElement';\nimport emptyFn from './emptyFn';\n\nimport './small-tools.less';\n\n/**\n * Example usage:\n *\n * @example\n * new SmallTools({\n * renderTo: document.body,\n * operations: [{\n * componentType: SmallButton,\n * title: 'Button 1',\n * handler() {\n * alert('You clicked the Button 1!');\n * },\n * }, {\n * componentType: bar.Separator,\n * }, {\n * componentType: SmallButton,\n * title: 'Button 2',\n * handler() {\n * alert('You clicked the Button 2!');\n * },\n * }],\n * });\n */\nexport class SmallTools extends Container {\n /**\n * @cfg {Object[]} operations\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._operations = this._getConfigParam('operations', null);\n this._operationsId = this._getConfigParam('operationsId', `${this._id}-operations`);\n this._cls = this._getConfigParam('cls', 'actions-box');\n\n if (Array.isArray(this._operations) && !this._operations.length) {\n this._operations = null;\n }\n\n this.searchFilters = $H(this._getConfigParam('searchFilters', {}));\n this.searchFiltersState = this._getConfigParam('searchFiltersState', {});\n this.searchHandler = this._getConfigParam('searchHandler', emptyFn);\n this.resetSearchHandler = this._getConfigParam('resetSearchHandler', emptyFn);\n this.listId = this._getConfigParam('listId');\n\n this.searchOveral = this._getConfigParam('searchOveral', null);\n if (null === this.searchOveral) {\n this.searchFilters.each(({ key, value }) => {\n if (value.overal) {\n this.searchOverall = key;\n }\n });\n if (null === this.searchOveral && 1 === this.searchFilters.keys().length) {\n this.searchOveral = this.searchFilters.keys()[0];\n }\n if (null === this.searchOveral) {\n this.searchOveral = false;\n }\n }\n\n this.quickSearchWide = this._getConfigParam('quickSearchWide', false);\n this.quickSearchInputId = this._getConfigParam('quickSearchInputId');\n this.searchCollapsed = this._getConfigParam('searchCollapsed', false);\n this.onToggleSearch = this._getConfigParam('onToggleSearch', emptyFn);\n }\n\n render() {\n super.render();\n\n render(this._componentElement, [\n createElement(`#${this._operationsId}.objects-toolbar.clearfix`,\n this._operations ? this._operations.map(createComponent) : '',\n this.quickSearchBoxView(),\n ),\n this.searchBoxView(),\n ]);\n\n this._componentElement.classList[this.searchCollapsed ? 'remove' : 'add']('actions-box-search-show');\n\n if (this._operations) {\n this.addResponsiveButton('toolbar');\n }\n\n if (this.searchFilters.keys().length) {\n this.addResponsiveButton('search');\n }\n\n Tooltip.initData(this._componentElement);\n }\n\n quickSearchBoxView() {\n if (!this.searchFilters.keys().length) {\n return '';\n }\n\n return createElement(`.quick-search-box${this.quickSearchWide ? '.quick-search-box-wide' : ''}`,\n {\n onclick(event) {\n event.stopPropagation();\n },\n },\n this.searchOveralView(),\n this.searchFilters.keys().length > 1 ? createElement('span.search-control',\n createElement('a.s-btn.sb-search-show', {\n onclick: this.toggleSearch.bind(this),\n 'aria-label': this.lmsg('showSearch'),\n }),\n createElement('a.s-btn.sb-search-hide', {\n onclick: this.toggleSearch.bind(this),\n 'aria-label': this.lmsg('hideSearch'),\n }),\n ) : '',\n );\n }\n\n searchOveralView() {\n if (!this.searchOveral) {\n return '';\n }\n\n const filterState = this.searchFiltersState[this.searchOveral];\n const currentValue = this.searchFilters.get(this.searchOveral).value || (filterState && filterState.searchText) || '';\n\n return createElement('.search-field',\n createElement('form',\n {\n onsubmit: event => {\n event.preventDefault();\n this.searchHandler(event.target);\n },\n },\n createElement(`input${this.quickSearchInputId ? `#${this.quickSearchInputId}` : ''}`, {\n type: 'text',\n value: currentValue,\n name: `searchFilter[${this.searchOveral}][searchText]`,\n }),\n createElement('em',\n {\n onclick: event => {\n this.searchHandler(event.target.closest('form'));\n },\n },\n createElement('span'),\n ),\n ),\n );\n }\n\n searchBoxView() {\n if (this.searchFilters.keys().length < 2) {\n return null;\n }\n\n return createElement('.search-box',\n {\n onclick(event) {\n event.stopPropagation();\n },\n },\n createElement('form',\n {\n onsubmit: event => {\n event.preventDefault();\n this.searchHandler(event.target);\n },\n },\n createElement('ul',\n this.searchFiltersView(),\n ),\n createElement('a.s-btn.sb-search',\n {\n onclick: event => {\n this.searchHandler(event.target.closest('form'));\n },\n },\n this.lmsg('buttonSearch'),\n ),\n createElement('a.s-btn.sb-show-all',\n {\n onclick: () => {\n this.resetSearchHandler();\n },\n },\n this.lmsg('buttonResetSearch'),\n ),\n createElement('input', {\n type: 'image',\n style: 'border: 0pt none; height: 0pt; width: 0pt; position: absolute; left: -9999px;',\n src: require('images/blank.gif'),\n }),\n ),\n );\n }\n\n searchFiltersView() {\n const filters = [];\n\n this.searchFilters.each(({ key: name, value: config }) => {\n filters.push(\n createElement('li',\n createElement('div',\n config.title ? createElement('span', config.title) : '',\n Filters.create({\n idPrefix: this.listId,\n name,\n value: this.searchFiltersState[name] && this.searchFiltersState[name].searchText,\n ...config,\n }, event => {\n this.searchHandler(event.target.closest('form'));\n }),\n ),\n ),\n );\n });\n\n return filters;\n }\n\n toggleSearch() {\n this._componentElement.classList.toggle('actions-box-search-show');\n this.onToggleSearch(!this._componentElement.classList.contains('actions-box-search-show'));\n }\n\n _addEvents() {\n super._addEvents();\n\n document.addEventListener('click', () => {\n this._hideResponsiveButtonBlocks();\n });\n }\n\n addResponsiveButton(name) {\n if (!this._rActionsElement) {\n this._rActionsElement = new Element('div', { class: 'r-actions' });\n this._rActionsElement.innerHTML = '<ul class=\"r-actions-list\"></ul>';\n render(this._componentElement, this._rActionsElement, 'top');\n }\n\n if (this._rActionsElement.querySelector(`.r-actions-${name}`)) {\n return;\n }\n\n render(this._rActionsElement.querySelector('.r-actions-list'), (\n createElement(`li.r-actions-item.r-actions-${name}`, { onclick: e => this.onResponsiveButtonClick(e, name) }, createElement('span'))\n ));\n }\n\n onResponsiveButtonClick(event, name) {\n const button = this._componentElement.querySelector(`.r-actions-${name}`);\n const show = !button.classList.contains('r-actions-item-active');\n this._hideResponsiveButtonBlocks();\n if (show) {\n this._showResponsiveButtonBlocks(name);\n }\n event.stopPropagation();\n }\n\n _hideResponsiveButtonBlocks() {\n this._componentElement.className.split(' ').forEach(className => {\n if (className.indexOf('r-actions-active') === 0) {\n this._componentElement.classList.remove(className);\n }\n });\n this._componentElement.querySelectorAll('.r-actions-item-active').forEach(item => {\n if (item.classList.contains('r-actions-select')) {\n return;\n }\n item.classList.remove('r-actions-item-active');\n });\n }\n\n _showResponsiveButtonBlocks(name) {\n this._componentElement.querySelector(`.r-actions-${name}`).classList.add('r-actions-item-active');\n this._componentElement.classList.add('r-actions-active');\n this._componentElement.classList.add(`r-actions-active-${name}`);\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport Locale from '../Locale';\nimport createElement from '../createElement';\nimport escapeHtml from '../escapeHtml';\n\nconst Filters = {\n create(config, handler) {\n if (config.render) {\n return config.render(config, handler);\n }\n\n if (config.type === 'date') {\n return this.createDate(config, handler);\n }\n\n if (config.options) {\n if (config.multi) {\n return this.createMultiEnum(config, handler);\n }\n return this.createEnum(config, handler);\n }\n\n return this.createText(config, handler);\n },\n\n createText(config, handler) {\n const inputDataName = ({ name }) => name ? (name.charAt(0).toUpperCase() + name.split('').slice(1).join('')) : '';\n\n return createElement('input[type=\"text\"]', {\n id: config.idPrefix ? `${config.idPrefix}-search-text-${config.name}` : null,\n name: `searchFilter[${config.name}][searchText]`,\n placeholder: config.placeholder || null,\n pattern: config.pattern || null,\n title: (config.pattern && config.placeholder) || null,\n onkeyup: (config.live && handler) || null,\n value: config.value || null,\n class: config.cls || null,\n 'data-input-name': `filter${inputDataName(config)}Input`,\n });\n },\n\n createEnum(config, handler) {\n return createElement('select',\n {\n id: config.idPrefix ? `${config.idPrefix}-type-filter` : null,\n name: `searchFilter[${config.name}][searchText]`,\n onchange: handler || null,\n },\n this.enumOptionsView(config.options, config.value),\n );\n },\n\n createMultiEnum(config, handler) {\n return createElement('.dropdown',\n createElement('.input-group',\n createElement('input.form-control[type=\"text\"][readonly]', {\n placeholder: config.placeholder || null,\n }),\n createElement('span.input-group-btn',\n createElement('button.btn.dropdown-toggle[type=\"button\"]',\n createElement('span.caret'),\n ),\n ),\n ),\n createElement('ul.dropdown-menu.pull-right',\n {\n onclick(event) {\n event.stopPropagation();\n },\n },\n Array.isArray(config.options) && config.options.length ? createElement('li',\n createElement('div.dropdown-menu-content.checkbox-group',\n config.options.map(function (option) {\n return createElement('label',\n createElement('input[type=\"checkbox\"]', {\n value: option.value,\n checked: !config.value || config.value.indexOf(option.value) !== -1 ? true : null,\n onclick(event) {\n const element = event.target;\n const output = element.closest('th').querySelector('input[type=text]');\n const input = element.closest('th').querySelectorAll('input[type=checkbox]:checked');\n const total = element.closest('th').querySelectorAll('input[type=checkbox]');\n if (!input.length) {\n output.value = config.locale.lmsg('none');\n } else if (input.length === total.length) {\n output.value = '';\n } else {\n const value = [];\n input.forEach(el => {\n value.push(el.value[0].toUpperCase());\n });\n output.value = value.join(', ');\n }\n\n if (typeof handler === 'function') {\n handler();\n }\n },\n }),\n ` ${option.value}`,\n );\n }),\n ),\n ) : '',\n ),\n );\n },\n\n createDate(config, handler) {\n const date = config.date || new Date();\n const locale = config.locale || new Locale();\n\n const hour = createElement('select', { 'data-input-name': 'filterDateHourSelect' });\n for (let i = 0; i < 24; i++) {\n hour.children.push(\n createElement('option', { value: i }, (i < 10 ? '0' : '') + i),\n );\n }\n\n const minute = createElement('select', { 'data-input-name': 'filterDateMinuteSelect' });\n for (let i = 0; i < 60; i++) {\n minute.children.push(\n createElement('option', { value: i }, (i < 10 ? '0' : '') + i),\n );\n }\n\n const day = createElement('select', { 'data-input-name': 'filterDateDaySelect' });\n for (let i = 1; i < 32; i++) {\n day.children.push(\n createElement('option', { value: i }, (i < 10 ? '0' : '') + i),\n );\n }\n\n const month = createElement('select', { 'data-input-name': 'filterDateMonthSelect' });\n for (let i = 0; i < 12; i++) {\n month.children.push(\n createElement('option', { value: i }, locale.lmsg(`month${i + 1}`)),\n );\n }\n\n const year = createElement('select', { 'data-input-name': 'filterDateYearSelect' });\n for (let i = 2000; i <= date.getFullYear(); i++) {\n year.children.push(\n createElement('option', { value: i }, i),\n );\n }\n\n return createElement('.dropdown',\n createElement('.input-group',\n {\n onclick: event => {\n this.onDateSearchFilterOpen(event.target.closest('.dropdown'));\n },\n },\n createElement('input.form-control[type=\"text\"][readonly]', {\n placeholder: config.placeholder || null,\n }),\n createElement('span.input-group-btn',\n createElement('button.btn.dropdown-toggle[type=\"button\"]',\n {\n 'data-action-name': 'filterDateOpenForm',\n },\n createElement('span.caret'),\n ),\n ),\n ),\n createElement('ul.dropdown-menu',\n {\n onclick(event) {\n event.preventDefault();\n event.stopPropagation();\n },\n },\n createElement('li',\n createElement('.filter-date-form',\n createElement('.form-row',\n createElement('.inline-fields-group',\n hour, ' : ', minute,\n ),\n createElement('.inline-fields-group',\n day, ' ', month, ' ', year,\n ),\n createElement('.inline-fields-group',\n createElement('button.btn[type=\"button\"]', {\n 'data-action-name': 'filterDateApply',\n onclick: event => {\n event.target.closest('.dropdown').classList.toggle('open');\n this.onDateSearchFilterOpen(event.target.closest('.dropdown'));\n this.onDateSearchFilterChange(event.target.closest('.dropdown'));\n if (typeof handler === 'function') {\n handler();\n }\n },\n }, Locale.getSection('components.buttons').lmsg('apply')),\n createElement('button.btn[type=\"button\"]', {\n 'data-action-name': 'filterDateClear',\n onclick: event => {\n event.target.closest('.dropdown').classList.toggle('open');\n event.target.closest('.dropdown').querySelector('input').value = '';\n this.onDateSearchFilterOpen(event.target.closest('.dropdown'));\n if (typeof handler === 'function') {\n handler();\n }\n },\n }, locale.lmsg('clear')),\n ),\n ),\n createElement('.form-row.filter-actions-row',\n createElement('a.toggler', {\n onclick: event => {\n this.onDateSearchFilterModify(event.target.closest('.dropdown'), new Date(date.getTime() - (3600 * 1000)));\n if (typeof handler === 'function') {\n handler();\n }\n },\n }, locale.lmsg('hourAgo')),\n ' ',\n createElement('a.toggler', {\n onclick: event => {\n this.onDateSearchFilterModify(event.target.closest('.dropdown'), new Date(date.getTime() - (86400 * 1000)));\n if (typeof handler === 'function') {\n handler();\n }\n },\n }, locale.lmsg('prevDay')),\n ),\n ),\n ),\n ),\n );\n },\n\n enumOptionsView(options, value) {\n return options.map(function (option) {\n if ('value' === option.type) {\n return this.enumValueView(option, value);\n }\n return this.enumGroupValue(option, value);\n }.bind(this));\n },\n\n enumValueView(option, value) {\n return createElement('option', {\n value: option.value,\n selected: option.value === value,\n }, escapeHtml(option.label));\n },\n\n enumGroupValue(option, value) {\n return createElement('optgroup',\n {\n label: option.label,\n },\n this.enumOptionsView(option.options, value),\n );\n },\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onMultiEnumSearchFilterChange(element) {\n // for custom onChange handler\n },\n\n onDateSearchFilterOpen(element) {\n if (!element.classList.contains('open')) {\n return;\n }\n\n let date = new Date(element.querySelector('input').value);\n if (isNaN(date.getTime())) {\n date = new Date();\n }\n\n this._dateSearchFieldFromDate(element, date);\n },\n\n onDateSearchFilterChange(element) {\n const date = this._dateSearchFieldToDate(element);\n\n const yyyy = date.getFullYear();\n const mm = (date.getMonth() + 1 < 10 ? '0' : '') + (date.getMonth() + 1);\n const dd = (date.getDate() < 10 ? '0' : '') + date.getDate();\n const h = (date.getHours() < 10 ? '0' : '') + date.getHours();\n const m = (date.getMinutes() < 10 ? '0' : '') + date.getMinutes();\n\n element.querySelector('input').value = `${yyyy}-${mm}-${dd} ${h}:${m}`;\n },\n\n onDateSearchFilterModify(element, date) {\n this._dateSearchFieldFromDate(element, date);\n },\n\n _dateSearchFieldFromDate(element, date) {\n const elements = element.querySelectorAll('select');\n elements[0].value = date.getHours();\n elements[1].value = date.getMinutes();\n elements[2].value = date.getDate();\n elements[3].value = date.getMonth();\n elements[4].value = date.getFullYear();\n },\n\n _dateSearchFieldToDate(element) {\n const elements = element.querySelectorAll('select');\n return new Date(elements[4].value, elements[3].value, elements[2].value, elements[0].value, elements[1].value);\n },\n};\n\nexport default Filters;\n","module.exports = Jsw.skinUrl + \"/images/blank.gif?56398e76be6355ad5999b262208a17c9\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Container } from './container';\n\nimport './collapsible-block.less';\n/**\n * Example usage:\n *\n * @example\n * new CollapsibleBlock({\n * renderTo: document.body,\n * cls: 'example',\n * title: 'Collapsible block',\n * items: [\n * new Box({\n * html: 'Content of collapsible block.'\n * }),\n * ],\n * });\n */\nexport class CollapsibleBlock extends Container {\n /**\n * @cfg {Boolean} collapsed=true\n */\n /**\n * @cfg {String} title\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._blockAreaId = `${this._id}-block`;\n this._titleAreaId = `${this._id}-title-area`;\n this._contentAreaId = `${this._id}-content-area`;\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._updateComponentElement((\n `<div class=\"${this._cls}-block${this._getConfigParam('collapsed', true) ? ' hide' : ''}\" id=\"${this._blockAreaId}\">` +\n `<div class=\"${this._cls}-title\" id=\"${this._titleAreaId}\">` +\n `<span>${this._getConfigParam('title', '')}</span>` +\n '</div>' +\n `<div class=\"${this._cls}-content\" id=\"${this._contentAreaId}\"></div>` +\n '</div>'\n ));\n }\n\n _addEvents() {\n super._addEvents();\n document.getElementById(this._titleAreaId).querySelector('span').addEventListener('click', this._onTitleClickEvent.bind(this));\n }\n\n _onTitleClickEvent(event) {\n event.stopPropagation();\n document.getElementById(this._blockAreaId).classList.toggle('hide');\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/* eslint-disable react/no-multi-comp */\n\nimport { Container } from './container';\nimport { Component } from './component';\nimport render from './render';\n\nimport './pathbar.less';\n\n/**\n * Example usage:\n *\n * @example\n * new Pathbar({\n * renderTo: document.body,\n * cls: 'pathbar',\n * items: [{\n * componentType: Pathbar.Item,\n * title: 'Home',\n * }, {\n * componentType: Pathbar.Item,\n * title: 'Domains',\n * }, {\n * componentType: Pathbar.Item,\n * title: 'plesk.com',\n * }, {\n * componentType: Pathbar.Item,\n * title: 'PHP Settings',\n * }],\n * });\n */\nexport class Pathbar extends Container {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._contentAreaId = `${this._id}-content-area`;\n }\n\n _initComponentElement() {\n if (document.getElementById(this._id)) {\n this._applyTargetId = this._id;\n super._initComponentElement();\n\n return;\n }\n\n super._initComponentElement();\n\n this._updateComponentElement(\n `<ul id=\"${this._contentAreaId}\"></ul>`,\n );\n }\n\n _renderItem(item) {\n const renderTargetId = `${this._id}-item-${item.getId()}`;\n render(document.getElementById(this._contentAreaId), `<li id=\"${renderTargetId}\"></li>`);\n render(document.getElementById(renderTargetId), item);\n this._renderItemSuffix(item);\n }\n\n _renderItemSuffix(item) {\n const renderTargetId = `${this._id}-item-${item.getId()}`;\n render(document.getElementById(renderTargetId), '<b>></b>');\n }\n}\n\nPathbar.Item = class Item extends Component {\n /**\n * @cfg {String} title\n */\n /**\n * @cfg {String} href\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._title = this._getConfigParam('title', '');\n this._href = this._getConfigParam('href', '');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement = document.createElement('a');\n this._componentElement.href = this._href;\n this._componentElement.innerHTML = `<span>${this._title}</span>`;\n }\n\n getHref() {\n return this._href;\n }\n};\n\nPathbar.SimpleItem = class SimpleItem extends Component {\n /**\n * @cfg {String} title\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._title = this._getConfigParam('title', '');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement = document.createElement('span');\n this._componentElement.innerHTML = this._title;\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/* eslint-disable react/no-multi-comp */\n\nimport { Container } from './container';\nimport { Component, getComponent } from './component';\nimport { Button } from './button';\nimport render from './render';\nimport escapeHtml from './escapeHtml';\nimport { createHtmlElement } from '../helpers/createHtmlElement';\n\nimport './bar.less';\n\nexport class Bar extends Container {\n /**\n * @cfg {String} type=static Type of tabs (static or dynamic)\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._contentAreaId = `${this._id}-content-area`;\n this._type = this._getConfigParam('type', 'static');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n let content = `<ul id=\"${this._contentAreaId}\"></ul>`;\n if ('navbar' !== this._id) {\n content = `<div class=\"tabs-area\">${content}</div>`;\n }\n\n this._updateComponentElement(content);\n }\n\n _renderItem(item) {\n const renderTargetId = `${this._id}-item-${item.getId()}`;\n const containerCls = item.getContainerClass();\n\n render(document.getElementById(this._contentAreaId), `<li class=\"${containerCls}\" id=\"${renderTargetId}\"></li>`);\n render(document.getElementById(renderTargetId), item);\n\n if ('dynamic' === this._type) {\n item.addEventObserver('click', event => item.switchTab(event));\n }\n\n if (document.getElementById('main')) {\n if (!document.getElementById('main').classList.contains('tabed') && 'navbar' !== this._id) {\n document.getElementById('main').classList.add('tabed');\n }\n }\n }\n}\n\n/**\n * The following example demonstrates how to use static tabs:\n *\n * @example\n * new bar.Tabs({\n * renderTo: document.body,\n * cls: 'tabs',\n * items: [{\n * componentType: bar.Button,\n * title: 'Tab 1',\n * active: true,\n * href: 'http://example1.com'\n * }, {\n * componentType: bar.Button,\n * title: 'Tab 2',\n * href: 'http://example2.com'\n * }],\n * });\n *\n * The following example demonstrates how to use dynamic tabs:\n *\n * @example\n * new bar.Tabs({\n * renderTo: document.body,\n * cls: 'tabs',\n * type: 'dynamic',\n * items: [{\n * componentType: bar.Button,\n * tabId: 'tab-1',\n * title: 'Tab 1',\n * active: true,\n * content: 'Content of Tab 1'\n * }, {\n * componentType: bar.Button,\n * tabId: 'tab-2',\n * title: 'Tab 2',\n * content: new Box({\n * html: 'Content of Tab 2'\n * }),\n * }],\n * });\n *\n */\nexport const bar = {};\nbar.Tabs = class extends Bar {\n /**\n * @cfg {Boolean} responsive=true\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n this._isResponsive = this._getConfigParam('responsive', true);\n }\n\n _renderItems() {\n super._renderItems();\n\n if (this._isResponsive) {\n this._addResponsiveTabs();\n }\n }\n\n _addResponsiveTabs() {\n const element = document.getElementById(this._id);\n element.querySelectorAll('li a').forEach(el => {\n el.addEventListener('click', event => {\n const listItem = el.closest('li');\n if (listItem.classList.contains('active') || listItem.id === 'current') {\n event.preventDefault();\n }\n element.classList.toggle('responsive-tabs-visible');\n });\n });\n }\n\n switchTab(tabId) {\n let activeTab = null;\n\n this.getItems().forEach(function (item) {\n if (tabId === item.getTabId()) {\n activeTab = item;\n }\n\n document.getElementById(item.getTabId()).style.display = 'none';\n item.getRenderTarget().classList.remove('active');\n });\n\n document.getElementById(tabId).style.display = '';\n activeTab.getRenderTarget().classList.add('active');\n }\n\n _renderItem(item, i, size) {\n super._renderItem(item, i, size);\n\n const content = item.getTabContent();\n\n if (content) {\n const tabContentElement = createHtmlElement('div', {\n id: item.getTabId(),\n style: !item.isActive() ? 'display: none' : '',\n });\n\n render(this._componentElement.parentNode, tabContentElement);\n render(tabContentElement, content, typeof content === 'string' && 'inner');\n }\n }\n};\n\nbar.Button = class extends Button {\n /**\n * @cfg {Boolean} active=false\n */\n /**\n * @cfg {String} containerCls\n */\n /**\n * @cfg {String} tabId\n */\n\n /**\n * @cfg {Boolean} navigationTab=false\n */\n /**\n * @cfg {String|Component} content\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._isActive = this._getConfigParam('active', false);\n this._cls = this._getConfigParam('cls', '');\n this._containerCls = this._getConfigParam('containerCls', this._isActive ? 'active' : '');\n this._tabId = this._getConfigParam('tabId', null);\n if (this._tabId) {\n this._id = `${this._tabId}-button`;\n }\n this.navigationTab = this._getConfigParam('navigationTab', false);\n this._content = this._getConfigParam('content', null);\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement.innerHTML = `<span>${escapeHtml(this._title)}</span>`;\n }\n\n getContainerClass() {\n return this._containerCls;\n }\n\n getTabId() {\n return this._tabId;\n }\n\n switchTab(event) {\n const bar = getComponent(event.target.closest('ul').parentNode\n .parentNode.id);\n bar.switchTab(this._tabId);\n event.preventDefault();\n }\n\n getTabContent() {\n return this._content;\n }\n\n isActive() {\n return this._isActive;\n }\n};\n\nbar.Separator = class Separator extends Component {\n _initConfiguration(config) {\n super._initConfiguration({\n tag: 'span',\n cls: 'separator',\n ...config,\n });\n }\n\n _initComponentElement() {\n super._initComponentElement();\n this._componentElement.innerHTML = '<span></span>';\n }\n};\n\nbar.HorizontalSeparator = class HorizontalSeparator extends Component {\n _initConfiguration(config) {\n super._initConfiguration({\n tag: 'span',\n wrapperClass: 'separator',\n ...config,\n });\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport { SmallButton } from './small-button';\nimport render from './render';\n\nexport class DynamicSubForm extends Component {\n _initConfiguration(config) {\n super._initConfiguration(config);\n const getDynamicContent = this._getConfigParam('getDynamicContent', null);\n if (getDynamicContent) {\n this._getDynamicContent = getDynamicContent.bind(this);\n }\n const prepareDynamicContent = this._getConfigParam('prepareDynamicContent', null);\n if (prepareDynamicContent) {\n this._prepareDynamicContent = prepareDynamicContent.bind(this);\n }\n const bindDynamicContent = this._getConfigParam('bindDynamicContent', null);\n if (bindDynamicContent) {\n this._bindDynamicContent = bindDynamicContent.bind(this);\n }\n const insertDynamicContent = this._getConfigParam('insertDynamicContent', null);\n if (insertDynamicContent) {\n this._insertDynamicContent = insertDynamicContent.bind(this);\n }\n const onUpdateDynamic = this._getConfigParam('onUpdateDynamic', null);\n if (onUpdateDynamic) {\n this._onUpdateDynamic = onUpdateDynamic.bind(this);\n }\n const onInitDynamic = this._getConfigParam('onInitDynamic', null);\n if (onInitDynamic) {\n this._onInitDynamic = onInitDynamic.bind(this);\n }\n\n this._allowRemoveFirstElement = !!this._getConfigParam('allowRemoveFirstElement', false);\n }\n\n _addEvents() {\n super._addEvents();\n const dynamicElements = this.getElements();\n if (!dynamicElements.length) {\n this._addEmptyContent();\n } else {\n dynamicElements.forEach((element, index) => {\n this._bindDynamicContent(element, !index);\n });\n }\n this._onInitDynamic();\n this._onUpdateDynamic();\n }\n\n _addEmptyContent() {\n const element = this._prepareDynamicContent(this._getDynamicContent());\n this._insertDynamicContent(element);\n this._bindDynamicContent(element, true);\n }\n\n _getDynamicContent() {\n const dynamicElement = this._componentElement.querySelector('.dynamicSubFormTemplate').cloneNode(true);\n dynamicElement.classList.remove('dynamicSubFormTemplate');\n dynamicElement.classList.add('dynamicSubFormContent');\n dynamicElement.style.display = '';\n return dynamicElement;\n }\n\n _prepareDynamicContent(content) {\n return content;\n }\n\n _insertDynamicContent(content) {\n const dynamicElements = this.getElements();\n if (!dynamicElements.length) {\n render(this._componentElement, content, 'top');\n } else {\n render(dynamicElements[dynamicElements.length - 1], content, 'after');\n }\n }\n\n _bindDynamicContent() {\n // basic empty implementation\n }\n\n _onInitDynamic() {\n // basic empty implementation\n }\n\n _onUpdateDynamic() {\n // basic empty implementation\n }\n\n deleteContent(content) {\n content.parentNode.removeChild(content);\n this._onUpdateDynamic();\n }\n\n addContent(value) {\n const content = this._prepareDynamicContent(this._getDynamicContent(), value);\n this._insertDynamicContent(content);\n this._bindDynamicContent(content, false);\n this._onUpdateDynamic();\n }\n\n reset() {\n const dynamicElements = this.getElements();\n if (dynamicElements.length) {\n dynamicElements.forEach(element => {\n element.parentNode.removeChild(element);\n });\n this._onUpdateDynamic();\n }\n }\n\n getElements() {\n return this._componentElement.querySelectorAll('.dynamicSubFormContent');\n }\n}\n\nexport class AddRemoveDynamicSubForm extends DynamicSubForm {\n _initConfiguration(config) {\n super._initConfiguration(config);\n this._addButtonId = this._getConfigParam('addButtonId', '');\n this._addButtonTitle = this._getConfigParam('addButtonTitle', '');\n this._removeButtonId = this._getConfigParam('removeButtonId', '');\n this._removeButtonTitle = this._getConfigParam('removeButtonTitle', '');\n }\n\n _onInitDynamic() {\n const addButton = document.getElementById(this._addButtonId);\n render(addButton, `<div id=\"${this._addButtonId}\" class=\"text-value\"></div>`, 'after');\n addButton.parentNode.removeChild(addButton);\n\n new SmallButton({\n id: `dynamicSubFormContentAddButton-${this._id}`,\n title: this._addButtonTitle,\n addCls: 'sb-item-add dynamicSubFormContentAddButton',\n handler: this.addContent.bind(this),\n disabled: this._isAddButtonDisabled(),\n renderTo: this._addButtonId,\n });\n }\n\n _isAddButtonDisabled() {\n return false;\n }\n\n _bindDynamicContent(content, isFirstElement) {\n if (!isFirstElement || this._allowRemoveFirstElement) {\n const wrapperId = this._initRemoveButtonWrapper(content);\n new SmallButton({\n id: wrapperId,\n title: this._removeButtonTitle,\n addCls: 'sb-item-remove dynamicSubFormContentRemoveButton',\n handler: this.deleteContent.bind(this, content),\n renderTo: wrapperId,\n });\n }\n return content;\n }\n\n _initRemoveButtonWrapper(content) {\n const wrapperId = `${this._removeButtonId}-${this._getRandomNumber()}`;\n const inputEls = content.querySelectorAll('.field-value input, .field-value select');\n render(inputEls[inputEls.length - 1], `<span id=\"${wrapperId}\" class=\"${this._removeButtonId}\"></span>`, 'after');\n\n return wrapperId;\n }\n\n _prepareDynamicContent(content) {\n const newId = Math.floor(1000000 * Math.random());\n\n const nameRegExp = new RegExp(`(name=.*?\\\\[?${this._id}\\\\]?\\\\[)dynamicSubFormTemplate(\\\\])`, 'g');\n const idRegExp = new RegExp(`(id=.*?\\\\-?${this._id}-)dynamicSubFormTemplate(-)`, 'g');\n\n content.innerHTML = content.innerHTML\n .replace(nameRegExp, `\\$1c${newId}\\$2`)\n .replace(idRegExp, `\\$1c${newId}\\$2`);\n\n return content;\n }\n\n _onUpdateDynamic() {\n const children = this.getElements();\n document.querySelector(`label[for=\"${this._addButtonId}\"]`).style.display = children.length ? 'none' : '';\n if (children.length) {\n children.forEach((child, index) => {\n const labels = child.querySelectorAll('label');\n labels[labels.length - 1].style.display = index ? 'none' : '';\n });\n }\n }\n\n addContent(event) {\n super.addContent();\n event.stopPropagation();\n event.preventDefault();\n }\n\n deleteContent(content, event) {\n super.deleteContent(content);\n event.stopPropagation();\n event.preventDefault();\n }\n}\n\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\nDynamicSubForm.subclasses = [];\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\n\n/**\n * Component with custom inner html.\n *\n * Example usage:\n *\n * @example\n * new Box({\n * renderTo: document.body,\n * html: '<h1>Heading 1</h1><p>Paragraph</p>'\n * });\n */\nexport class Box extends Component {\n /**\n * @cfg {String} html Inner html of the box.\n */\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement.innerHTML = this._getConfigParam('html', '');\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\n\n/**\n * Example usage:\n *\n * @example\n * new Gauge({\n * renderTo: document.body,\n * value: 75\n * });\n */\nexport class Gauge extends Component {\n /**\n * @cfg {Number} value\n */\n\n _initConfiguration(config) {\n super._initConfiguration({\n cls: 'progress progress-sm',\n ...config,\n });\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this.setProgress(this._getConfigParam('value', ''));\n }\n\n setProgress(value) {\n this._componentElement.innerHTML = `<div class=\"progress-bar\" style=\"width: ${value}%\"></div>`;\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { ModalDialogBox } from './modal-dialog-box';\nimport addStatusMessage from './addStatusMessage';\nimport clearStatusMessages from './clearStatusMessages';\nimport render from './render';\nimport ce from './createElement';\n\nexport class PopupForm extends ModalDialogBox {\n _initConfiguration(config) {\n super._initConfiguration({\n cls: 'popup-panel',\n ...config,\n });\n\n this._popupContentAreaId = `${this._id}-popup-content-area`;\n this._titleAreaId = `${this._id}-title-area`;\n this._hintAreaId = `${this._id}-hint-area`;\n this._hint1AreaId = `${this._id}-hint1-area`;\n this._boxAreaId = `${this._id}-box-area`;\n this._contentAreaId = `${this._id}-content-area`;\n\n this._actionButtonsId = `${this._id}-action-buttons`;\n this._leftActionButtonsAreaId = `${this._id}-left-action-buttons-area`;\n this._rightActionButtonsAreaId = `${this._id}-right-action-buttons-area`;\n\n this._titleCls = this._getConfigParam('titleCls', '');\n this._scrollable = this._getConfigParam('scrollable');\n this._fullHeight = this._getConfigParam('fullHeight');\n this._isRemoved = false;\n\n if (this._scrollable) {\n this._cls += ' popup-panel-scrollable';\n }\n\n if (this._fullHeight) {\n this._cls += ' popup-panel-full-height';\n }\n }\n\n _initComponentElement() {\n super._initComponentElement();\n render(this._componentElement, this.view());\n this.show();\n }\n\n view() {\n return ce('.popup-wrapper', ce('.popup-container', [\n ce('.popup-heading', ce('.popup-heading-area', [\n ce('span.popup-heading-actions', this._getHeadingActions()),\n ce(`h2.${this._titleCls}`,\n ce(`span#${this._titleAreaId}`, {\n title: this._getConfigParam('title'),\n }, this._getConfigParam('title')),\n ),\n ])),\n ce('.popup-content', ce(`#${this._popupContentAreaId}.popup-content-area`,\n this._getContentArea(),\n )),\n ]));\n }\n\n _getHeadingActions() {\n return '';\n }\n\n _getContentArea() {\n return [\n ce(`p#${this._hint1AreaId}`),\n ce(`span#${this._hintAreaId}`),\n this._getBoxArea(),\n this._getButtonsArea(),\n ];\n }\n\n _getBoxArea() {\n return ce(`#${this._boxAreaId}.form-box`, ce('.box-area', ce('.content',\n ce(`#${this._contentAreaId}.content-area`),\n )));\n }\n\n _getButtonsArea() {\n let buttonsRow = ce(`#${this._rightActionButtonsAreaId}.field-value`, ' ');\n if (this._getConfigParam('singleRowButtons')) {\n buttonsRow = ce('.single-row', buttonsRow);\n } else {\n buttonsRow = [\n ce(`#${this._leftActionButtonsAreaId}.field-name`, ' '),\n buttonsRow,\n ];\n }\n return ce(`#${this._actionButtonsId}.btns-box`, ce('.box-area', ce('.form-row', buttonsRow)));\n }\n\n toggleButtonsArea(bool) {\n if (this._scrollable) {\n this._componentElement.classList[bool ? 'add' : 'remove']('popup-panel-scrollable');\n }\n document.getElementById(this._actionButtonsId).style.display = bool ? '' : 'none';\n }\n\n setBoxType(type) {\n document.getElementById(this._boxAreaId).className = type;\n if ('list-box' === type) {\n document.getElementById(this._actionButtonsId).classList.add('no-separator');\n document.getElementById(this._actionButtonsId).classList.add('simple-box');\n }\n if ('form-box' === type) {\n document.getElementById(this._actionButtonsId).classList.remove('no-separator');\n document.getElementById(this._actionButtonsId).classList.remove('simple-box');\n }\n if ('fm-box' === type) {\n document.getElementById(this._boxAreaId).className = 'list-box';\n document.getElementById(this._actionButtonsId).classList.add('no-separator');\n }\n }\n\n /**\n * @param {String} cls\n */\n setTitleType(cls) {\n document.getElementById(this._titleAreaId).parentNode.className = cls;\n }\n\n /**\n * @param {String} text\n */\n setTitle(text) {\n document.getElementById(this._titleAreaId).innerHTML = text;\n document.getElementById(this._titleAreaId).setAttribute('title', text);\n }\n\n /**\n * @param {String} text\n */\n setHint(text) {\n if (text) {\n document.getElementById(this._hintAreaId).innerHTML = text;\n document.getElementById(this._hintAreaId).style.display = '';\n } else {\n document.getElementById(this._hintAreaId).style.display = 'none';\n }\n }\n\n /**\n * @param {String} text\n */\n setHint1(text) {\n if (text) {\n document.getElementById(this._hint1AreaId).innerHTML = text;\n document.getElementById(this._hint1AreaId).style.display = '';\n } else {\n document.getElementById(this._hint1AreaId).style.display = 'none';\n }\n }\n\n /**\n * Remove this component.\n */\n remove() {\n this._isRemoved = true;\n this._renderTarget.parentNode.removeChild(this._renderTarget);\n }\n\n /**\n * @param {String} title\n * @param {Function} handler\n * @param {Boolean} [isDefault]\n * @param {Boolean} [isAction]\n * @param {Object} [params]\n * @returns {Element}\n */\n addRightButton(title, handler, isDefault, isAction, params) {\n const button = this._createButton(title, handler, isDefault, isAction, params);\n render(document.getElementById(this._rightActionButtonsAreaId), button);\n return button;\n }\n\n /**\n * @param {String} title\n * @param {Function} handler\n * @param {Boolean} [isDefault]\n * @param {Boolean} [isAction]\n * @param {Object} [params]\n * @returns {Element}\n */\n addLeftButton(title, handler, isDefault, isAction, params) {\n const button = this._createButton(title, handler, isDefault, isAction, params);\n render(document.getElementById(this._leftActionButtonsAreaId), button);\n return button;\n }\n\n /**\n * Clear right buttons area.\n */\n removeRightButtons() {\n document.getElementById(this._rightActionButtonsAreaId).innerHTML = ' ';\n }\n\n /**\n * Clear left buttons area.\n */\n removeLeftButtons() {\n document.getElementById(this._leftActionButtonsAreaId).innerHTML = ' ';\n }\n\n /**\n * Update list size.\n */\n resizeList() {\n if (this._isRemoved || !document.getElementById(this._contentAreaId)) {\n return;\n }\n\n const list = document.getElementById(this._contentAreaId).querySelector('table');\n if (!list) {\n return;\n }\n\n const listContainer = document.getElementById(this._contentAreaId).querySelector('.list');\n const buttonsHeight = Element.getHeight(document.getElementById(this._actionButtonsId));\n const top = Element.cumulativeOffset(list)[1];\n const height = Element.getHeight(list);\n // 100px below dialog\n let newHeight = document.body.clientHeight - top - buttonsHeight - 100;\n\n if (newHeight > height) {\n listContainer.style.height = '';\n listContainer.classList.remove('with-scroll');\n return;\n }\n\n const minHeigh = 150;\n if (newHeight < minHeigh) {\n newHeight = minHeigh;\n }\n\n listContainer.style.height = `${newHeight}px`;\n listContainer.style.overflowY = 'auto';\n listContainer.style.overflowX = 'hidden';\n listContainer.classList.add('with-scroll');\n }\n\n /**\n * @param {String} title\n * @param {Function} handler\n * @param {Boolean} [isDefault]\n * @param {Boolean} [isAction]\n * @param {Object} [params]\n * @returns {Element}\n * @private\n */\n _createButton(title, handler, isDefault, isAction, params = {}) {\n const button = document.createElement('button');\n Object.keys(params).forEach(name => {\n if (params[name] === true) {\n button.setAttribute(name, name);\n } else if (params[name] !== null && params[name] !== false) {\n button.setAttribute(name, params[name]);\n }\n });\n button.classList.add('btn');\n if (isAction) {\n button.classList.add('action');\n }\n\n button.type = isDefault ? 'submit' : 'button';\n button.value = '';\n button.innerHTML = title;\n\n button.addEventListener(\n 'click',\n event => {\n this._onClick(event, handler.bind(this));\n },\n );\n\n return button;\n }\n\n _updateButton(button, config) {\n $H(config).each(({ key, value }) => {\n switch (key) {\n case 'title':\n button.innerHTML = value;\n break;\n case 'disabled':\n button.disabled = !!value;\n if (value) {\n button.classList.add('disabled');\n } else {\n button.classList.remove('disabled');\n }\n break;\n }\n });\n }\n\n _onClick(event, handler) {\n event.preventDefault();\n event.stopPropagation();\n handler(event);\n }\n\n _addEvents() {\n super._addEvents();\n\n if (document.getElementById(this._hintAreaId)) {\n document.getElementById(this._hintAreaId).style.display = 'none';\n }\n if (document.getElementById(this._hint1AreaId)) {\n document.getElementById(this._hint1AreaId).style.display = 'none';\n }\n }\n\n _clearMessages() {\n const contentElement = document.getElementById(this._popupContentAreaId);\n\n ['.msg-error', '.msg-info', '.msg-warning'].forEach(msgClass => {\n contentElement.querySelectorAll(msgClass).forEach(messageElement => {\n messageElement.parentNode.removeChild(messageElement);\n });\n });\n }\n\n _addErrorMessage(message) {\n this._addStatusMessage('error', message);\n }\n\n _addStatusMessage(status, message) {\n render(document.getElementById(this._popupContentAreaId), (\n `<div class=\"msg-box msg-${status}\">` +\n '<div>' +\n '<div>' +\n '<div>' +\n '<div>' +\n '<div>' +\n `<div class=\"msg-content\">${message}</div>` +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>'\n ), 'top');\n }\n\n _userError(error) {\n clearStatusMessages();\n addStatusMessage('error', error);\n this._close();\n }\n\n _internalError(error) {\n clearStatusMessages();\n addStatusMessage('error', `Internal error: ${error}`);\n this._close();\n }\n}\n\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\nPopupForm.subclasses = [];\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PopupForm } from './popup-form';\nimport { getComponent } from './component';\nimport prepareUrl from './prepareUrl';\nimport render from './render';\n\nexport class AjaxPopupForm extends PopupForm {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._url = this._getConfigParam('url');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement.querySelector('.popup-content-area').innerHTML = `<div class=\"ajax-loading\">${this.lmsg('waitMsg')}</div>`;\n new Ajax.Request(prepareUrl(this._url), {\n method: 'get',\n onSuccess: this._onSuccess.bind(this),\n });\n }\n\n _onSuccess(transport) {\n render(this._componentElement.querySelector('.popup-content-area'), transport.responseText, 'inner');\n setTimeout(() => {\n this._componentElement.querySelector('form').setAttribute('action', prepareUrl(this._url));\n const cancelBtn = getComponent('btn-cancel');\n cancelBtn.removeEventObserver('click', cancelBtn._handler);\n cancelBtn._handler = () => {\n this.hide();\n };\n cancelBtn.addEventObserver('click', cancelBtn._handler);\n }, 10);\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { ModalDialogBox } from './modal-dialog-box';\nimport render from './render';\nimport ce from './createElement';\n\nimport './Popup.less';\n\nclass Popup extends ModalDialogBox {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._popupContentAreaId = `${this._id}-popup-content-area`;\n this._titleAreaId = `${this._id}-title-area`;\n this._actionButtonsId = `${this._id}-action-buttons`;\n this._rightActionButtonsAreaId = `${this._id}-right-action-buttons-area`;\n\n this._contentHeight = this._getConfigParam('contentHeight', null);\n this._closeButtonEnabled = this._getConfigParam('closeButtonEnabled', false);\n this._cls = this._getConfigParam('popupCls', 'popup-panel');\n this._titleCls = this._getConfigParam('titleCls', '');\n this._buttons = this._getConfigParam('buttons', []);\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n const title = this._getConfigParam('title', '');\n\n this._updateComponentElement(\n ce('.popup-wrapper',\n ce('.popup-container',\n ce('.popup-heading',\n ce('.popup-heading-area',\n this._closeButtonEnabled ? ce('span.close', {\n id: `${this._id}-close`,\n onrender: el => {\n el.addEventListener('click', event => {\n this._onCloseClick(event);\n });\n },\n }) : null,\n ce(`h2.${this._titleCls}`,\n ce('span', { id: this._titleAreaId, title }, title),\n ),\n ),\n ),\n ce('.popup-content',\n ce('.popup-content-area', {\n id: this._popupContentAreaId,\n style: this._contentHeight ? `height:${this._contentHeight}px;` : null,\n }, this._getContentArea()),\n ),\n ),\n ),\n );\n }\n\n _getContentArea() {\n let buttonsArea = '';\n if (this._buttons.length > 0) {\n buttonsArea = this._getButtonsArea();\n }\n const formId = `${this.getId()}-form`;\n const content = this._getConfigParam('content', '');\n\n if (typeof content === 'object') {\n return ce('form', { id: formId }, content, buttonsArea);\n }\n\n return `<form id=\"${formId}\">${content}${buttonsArea}</form>`;\n }\n\n _getButtonsArea() {\n return (\n `<div class=\"btns-box\" id=\"${this._actionButtonsId}\">` +\n '<div class=\"box-area\">' +\n '<div class=\"form-row\">' +\n '<div class=\"single-row\">' +\n `<div class=\"field-value\" id=\"${this._rightActionButtonsAreaId}\"> </div>` +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>'\n );\n }\n\n _addEvents() {\n super._addEvents();\n\n this._buttons.forEach(buttonDesc => {\n let buttonId = '';\n if ('undefined' !== typeof buttonDesc.id) {\n buttonId = ` id=\"${buttonDesc.id}\" `;\n }\n if ('undefined' === typeof buttonDesc.class) {\n buttonDesc.class = '';\n }\n let buttonDisabled = '';\n if ('undefined' !== typeof buttonDesc.disabled && buttonDesc.disabled) {\n buttonDisabled = 'disabled=\"disabled\"';\n }\n const buttonContainer = document.createElement('span');\n buttonContainer.className = `btn ${buttonDesc.class}`;\n buttonContainer.innerHTML = `<button ${buttonId} value=\"\" type=\"button\" ${buttonDisabled}>${buttonDesc.title}</button>`;\n buttonContainer.querySelector('button').addEventListener('click', event => {\n buttonDesc.handler(event, this);\n });\n render(document.getElementById(this._rightActionButtonsAreaId), buttonContainer);\n });\n\n this.show();\n }\n\n _onCloseClick() {\n this.hide();\n }\n}\n\n// TODO EXTNODEJS-90: Eliminate Class.create() usage for Jsw classes\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\nPopup.subclasses = [];\n\nexport default Popup;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport ce from './createElement';\nimport { Component } from './component';\nimport addStatusMessage from './addStatusMessage';\nimport clearStatusMessages from './clearStatusMessages';\nimport showInternalError from './showInternalError';\nimport prepareUrl from './prepareUrl';\nimport addUrlParams from './addUrlParams';\nimport render from './render';\nimport escapeHtml from './escapeHtml';\n\nimport './double-list-selector.less';\n\nexport class DoubleListSelector extends Component {\n _initConfiguration(config) {\n super._initConfiguration(config);\n this._cls = 'doubleListSelect';\n this._name = this._getConfigParam('name', '');\n this._list = this._getConfigParam('list', []);\n this._onChange = this._getConfigParam('onChange', () => {});\n this._dataUrl = this._getConfigParam('dataUrl', null);\n this._selectedMarked = 0;\n this._unselectedMarked = 0;\n this._prevSelectedItem = -1;\n this._isSearchable = this._getConfigParam('isSearchable', false);\n this._isLarge = this._getConfigParam('isLarge', false);\n }\n\n _initList() {\n const elements = {};\n this._list.forEach((element, index) => {\n element.marked = false;\n if ('undefined' === typeof element.selected) {\n element.selected = false;\n }\n\n this._initListItem(element, index, true);\n this._initListItem(element, index, false);\n elements[element.id] = element.selected;\n });\n this._originalSelection = elements;\n this._initInputElement(elements);\n }\n\n _initComponentElement() {\n this._componentElement = document.getElementById(this._applyTargetId);\n this._componentElement.classList.add('double-list-select');\n this._componentElement.classList.add('dls-icons-1');\n if (this._isLarge) {\n this._componentElement.classList.add('dls-large');\n }\n\n const ajaxLoading = null === this._dataUrl ? ''\n : `<div class=\"ajax-loading\" style=\"display: none;\">${this.lmsg('loadingTitle')}</div>`;\n\n this._updateComponentElement([\n ce('div.dls-first-box',\n this._isSearchable ? this._getSearchControl('unselected') : null,\n ce('h4', ce('span', this.lmsg('unselectedTitle'))),\n ce('div.dls-box-area', { id: `${this._id}-container-unselected` }, ajaxLoading, ce('ul', { id: `${this._id}-unselected` })),\n ),\n ce('div.dls-second-box',\n this._isSearchable ? this._getSearchControl('selected') : null,\n ce('h4', ce('span', this.lmsg('selectedTitle'))),\n ce('div.dls-box-area', { id: `${this._id}-container-selected` }, ajaxLoading, ce('ul', { id: `${this._id}-selected` })),\n ),\n ce('div.dls-controls', { id: `${this._id}-controls` },\n ce('button.btn.disabled', { type: 'button', id: `${this._id}-submitSelect` }, ce('span.dls-add', '>>')),\n ce('button.btn.disabled', { type: 'button', id: `${this._id}-submitUnselect` }, ce('span.dls-remove', '<<')),\n ),\n ]);\n this._initList();\n }\n\n _initListItem(element, index, isSelected) {\n let container = null;\n let isHidden = false;\n if (isSelected) {\n container = document.getElementById(`${this._id}-selected`);\n isHidden = !element.selected;\n } else {\n container = document.getElementById(`${this._id}-unselected`);\n isHidden = element.selected;\n }\n\n const item = ce(\n 'div.dls-item-block',\n ce('b', escapeHtml(element.title)),\n element.description ? ce('span', element.description) : null,\n element.icons?.length ?\n ce(\n 'span.dls-icons',\n element.icons.map(({ src, title }) => ce(\n 'i.icon',\n ce('img', { src: `${Jsw.skinUrl}${src}`, title }),\n )),\n ) :\n null,\n );\n\n const listItem = ce('li', {\n id: `${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`,\n style: isHidden ? 'display: none;' : undefined,\n onclick: event => {\n this._toggleItem(index, isSelected, event);\n },\n }, item);\n render(container, listItem);\n }\n\n _initInputElement(elements) {\n let inputElement = document.getElementById(`${this._id}-elements`);\n if (!inputElement) {\n inputElement = document.createElement('input');\n inputElement.id = `${this._id}-elements`;\n inputElement.name = this._name;\n inputElement.type = 'hidden';\n this._componentElement.appendChild(inputElement);\n }\n inputElement.value = JSON.stringify(elements);\n }\n\n _getSearchControl(columnId) {\n return ce('.dls-search',\n ce('input.search-input.search-empty', {\n id: `${this._id}-search-${columnId}`,\n type: 'text',\n autocomplete: 'off',\n value: this.lmsg('searchTitle'),\n onfocus: e => this.onFocus(e.target),\n onblur: e => this.onBlur(e.target),\n onkeyup: e => this.onToggleSearch(columnId, e.target.value),\n }),\n ce('span.search-button.icon-search', {\n id: `${this._id}-search-button-${columnId}`,\n onmousedown: () => this.onResetSearch(columnId),\n }),\n );\n }\n\n _addEvents() {\n document.getElementById(`${this._id}-submitSelect`).addEventListener('click', this._onSubmitSelect.bind(this));\n document.getElementById(`${this._id}-submitUnselect`).addEventListener('click', this._onSubmitUnselect.bind(this));\n }\n\n _toggleItem(index, isSelected, event) {\n if (this._list[index].marked) {\n this._unmarkItem(index, isSelected, event);\n } else {\n this._markItem(index, isSelected, event);\n }\n }\n\n _markItem(index, isSelected, event) {\n if (('undefined' !== typeof event) && event.shiftKey && (-1 !== this._prevSelectedItem)) {\n const startIndex = Math.min(index, this._prevSelectedItem);\n const finishIndex = Math.max(index, this._prevSelectedItem);\n for (let i = startIndex; i < finishIndex; i++) {\n this._markItem(i, isSelected);\n }\n }\n\n this._prevSelectedItem = index;\n\n this._list[index].marked = true;\n document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).classList.add('marked');\n this._updateSelectControls(isSelected, true);\n }\n\n _unmarkItem(index, isSelected) {\n this._list[index].marked = false;\n document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).classList.remove('marked');\n this._updateSelectControls(isSelected, false);\n }\n\n _onSubmitSelect() {\n this._list.forEach((element, index) => {\n if (element.marked && !element.selected && document.getElementById(`${this._id}-${index}-unselected-item`).style.display !== 'none') {\n this._unmarkItem(index, false);\n element.selected = true;\n this._updateElement(element);\n document.getElementById(`${this._id}-${index}-unselected-item`).style.display = 'none';\n document.getElementById(`${this._id}-${index}-selected-item`).style.display = '';\n }\n });\n\n this.onChange();\n }\n\n _onSubmitUnselect() {\n this._list.forEach((element, index) => {\n if (element.marked && element.selected && document.getElementById(`${this._id}-${index}-selected-item`).style.display !== 'none') {\n this._unmarkItem(index, true);\n element.selected = false;\n this._updateElement(element);\n document.getElementById(`${this._id}-${index}-selected-item`).style.display = 'none';\n document.getElementById(`${this._id}-${index}-unselected-item`).style.display = '';\n }\n });\n\n this.onChange();\n }\n\n _updateElement(element) {\n const elements = JSON.parse(document.getElementById(`${this._id}-elements`).value);\n elements[element.id] = element.selected;\n this._onChange(elements);\n document.getElementById(`${this._id}-elements`).value = JSON.stringify(elements);\n }\n\n onChange() {\n // basic empty implementation\n }\n\n onToggleSearch(columnId, searchString) {\n const isSelected = (columnId === 'selected');\n searchString = searchString.trim().toLowerCase();\n\n if (searchString.length) {\n this._toggleSearchButtonIcon(columnId, true);\n this._list.forEach(function (element, index) {\n if (isSelected !== element.selected) {\n return;\n }\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\n if (this._isSearchMatched(element, searchString)) {\n if (item.style.display === 'none' && element.marked) {\n this._updateSelectControls(isSelected, true);\n }\n item.style.display = '';\n } else {\n if (item.style.display !== 'none' && element.marked) {\n this._updateSelectControls(isSelected, false);\n }\n item.style.display = 'none';\n }\n }, this);\n } else {\n this._toggleSearchButtonIcon(columnId, false);\n this._showAllItems(columnId);\n }\n }\n\n _isSearchMatched(element, searchString) {\n const searchIndex = 'undefined' === typeof element.searchIndex\n ? element.title\n : element.searchIndex;\n\n return -1 !== searchIndex.toLowerCase().indexOf(searchString);\n }\n\n onFocus(element) {\n if (this.lmsg('searchTitle') === element.value) {\n element.value = '';\n element.classList.remove('search-empty');\n }\n }\n\n onBlur(element) {\n if ('' === element.value) {\n this._resetSearchControl(element);\n }\n }\n\n onResetSearch(columnId) {\n this._showAllItems(columnId);\n const element = document.getElementById(`${this._id}-search-${columnId}`);\n this._resetSearchControl(element);\n this._toggleSearchButtonIcon(columnId, false);\n }\n\n _showAllItems(columnId) {\n const isSelected = (columnId === 'selected');\n this._list.forEach((element, index) => {\n if (isSelected === element.selected) {\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\n if (item.style.display === 'none' && element.marked) {\n this._updateSelectControls(isSelected, true);\n }\n item.style.display = '';\n }\n });\n }\n\n _resetSearchControl(element) {\n element.value = this.lmsg('searchTitle');\n element.classList.add('search-empty');\n }\n\n _toggleSearchButtonIcon(columnId, isActive) {\n document.getElementById(`${this._id}-search-button-${columnId}`).classList[isActive ? 'add' : 'remove']('search-button-clear');\n }\n\n _updateSelectControls(isSelected, setMarked) {\n let counter = isSelected ? this._selectedMarked : this._unselectedMarked;\n const controlId = isSelected ? 'submitUnselect' : 'submitSelect';\n\n if (setMarked) {\n counter++;\n } else {\n counter--;\n }\n\n document.getElementById(`${this._id}-${controlId}`).classList[counter ? 'remove' : 'add']('disabled');\n\n if (isSelected) {\n this._selectedMarked = counter;\n } else {\n this._unselectedMarked = counter;\n }\n }\n\n isEmpty() {\n return !this._list.some(function (element) {\n return element.selected;\n });\n }\n\n reload(params) {\n if (!this._dataUrl) {\n return;\n }\n\n const reloadUrl = addUrlParams(this._dataUrl, params);\n new Ajax.Request(prepareUrl(reloadUrl), {\n method: 'get',\n onSuccess: this._onReloadSuccess.bind(this),\n onFailure: this._onReloadFailure.bind(this),\n onException: this._onReloadException.bind(this),\n onCreate: this._onReloadCreate.bind(this),\n onComplete: this._onReloadComplete.bind(this),\n });\n }\n\n _onReloadSuccess(transport) {\n if (!transport.responseText) {\n // :INFO: sometimes happens in FF if you are go to other page during request\n return;\n }\n\n let data = {};\n try {\n data = JSON.parse(transport.responseText);\n } catch {\n showInternalError(transport.responseText);\n return;\n }\n\n if (data.list) {\n this._list = data.list;\n } else if (data.status) {\n clearStatusMessages();\n (data.statusMessages || []).forEach(function (message) {\n addStatusMessage(message.status, message.content);\n });\n } else {\n showInternalError('Unable to load list data.');\n }\n\n this._initList();\n }\n\n _onReloadFailure(transport) {\n showInternalError(transport.responseText);\n }\n\n _onReloadException(transport, exception) {\n showInternalError(`${exception}\\n${transport.responseText}`);\n }\n\n _onReloadCreate() {\n this._list = [];\n this._componentElement.querySelectorAll('.dls-box-area').forEach(listArea => {\n listArea.querySelector('ul').innerHTML = '';\n listArea.querySelector('.ajax-loading').style.display = '';\n });\n }\n\n _onReloadComplete() {\n this._componentElement.querySelectorAll('.dls-box-area').forEach(listArea => {\n listArea.querySelector('.ajax-loading').style.display = 'none';\n });\n }\n\n reset() {\n this._list.forEach(item => {\n item.selected = this._originalSelection[item.id];\n });\n\n const list = this._list;\n this._onReloadCreate();\n this._onReloadComplete();\n this._list = list;\n\n this._initList();\n }\n}\n\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\nDoubleListSelector.subclasses = [];\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport ce from './createElement';\nimport { DoubleListSelector } from './double-list-selector';\nimport render from './render';\nimport escapeHtml from './escapeHtml';\n\nimport './enhanced-double-list-selector.less';\n\nexport class EnhancedDoubleListSelector extends DoubleListSelector {\n _initComponentElement() {\n this._componentElement = document.getElementById(this._applyTargetId);\n this._componentElement.classList.add('edls');\n\n this._updateComponentElement(\n ce('.edls-wrap',\n ce('.edls-box.edls-box-first',\n ce('.edls-header',\n ce('.edls-header-title', this.lmsg('unselectedTitle')),\n ),\n ce('.edls-box-wrap',\n this._isSearchable ? this._getSearchControl('unselected') : null,\n ce('.edls-box-body',\n ce('ul.edls-list', { id: `${this._id}-unselected` }),\n ce('.edls-list-empty', { style: 'display: none;' }, ce('span', this.lmsg('unselectedEmpty'))),\n ce('.edls-ajax-loading', { style: 'display: none;' }, ce('span.ajax-loading', this.lmsg('loadingTitle'))),\n ),\n ),\n ),\n ce('.edls-control',\n ce('.edls-control-wrap',\n ce('.edls-control-body',\n ce('.edls-control-text',\n ce('.edls-control-text-none', this.lmsg('controlText-none')),\n ce('.edls-control-text-first'),\n ce('.edls-control-text-second'),\n ),\n ce('.edls-control-indicator', ce('i')),\n ),\n ),\n ),\n ce('.edls-box.edls-box-second',\n ce('.edls-header',\n ce('.edls-header-title', this.lmsg('selectedTitle')),\n ),\n ce('.edls-box-wrap',\n this._isSearchable ? this._getSearchControl('selected') : null,\n ce('.edls-box-body',\n ce('ul.edls-list', { id: `${this._id}-selected` }),\n ce('.edls-list-empty', { style: 'display: none;' }, ce('span', this.lmsg('selectedEmpty'))),\n ce('.edls-ajax-loading', { style: 'display: none' }, ce('span.ajax-loading', this.lmsg('loadingTitle'))),\n ),\n ),\n ),\n ),\n );\n this._initList();\n }\n\n _initList() {\n super._initList();\n\n this._fixListZebra();\n }\n\n _fixListZebra() {\n [document.getElementById(`${this._id}-unselected`), document.getElementById(`${this._id}-selected`)].forEach(list => {\n let count = 0;\n list.querySelectorAll('.edls-item').forEach(el => {\n if (el.style.display !== 'none') {\n el.classList.add(count % 2 ? 'odd' : 'even');\n el.classList.remove(count % 2 ? 'even' : 'odd');\n count++;\n }\n });\n list.parentNode.querySelector('.edls-list-empty').style.display = count ? 'none' : '';\n });\n }\n\n _getSearchControl(columnId) {\n return (\n ce('.edls-search',\n ce('span.edls-check', ce('input.checkbox', { type: 'checkbox', value: '' })),\n ce('span.edls-search-control',\n ce('input.search-input.search-empty', {\n type: 'text',\n value: '',\n autocomplete: 'off',\n id: `${this._id}-search-${columnId}`,\n onfocus: e => this.onFocus(e.target),\n onblur: e => this.onBlur(e.target),\n onkeyup: e => this.onToggleSearch(columnId, e.target.value),\n }),\n ce('input.search-button', {\n type: 'image',\n src: require('images/search-input.png'),\n id: `${this._id}-search-button-${columnId}`,\n onmousedown: () => this.onResetSearch(columnId),\n onclick: e => e.preventDefault(),\n }),\n ),\n )\n );\n }\n\n _toggleSearchButtonIcon(columnId, isActive) {\n const inputIcon = document.getElementById(`${this._id}-search-button-${columnId}`);\n inputIcon.classList[isActive ? 'add' : 'remove']('search-button-clear');\n inputIcon.src = isActive\n ? require('images/clear-search.png')\n : require('images/search-input.png');\n }\n\n onFocus(element) {\n element.classList.remove('search-empty');\n }\n\n _resetSearchControl(element) {\n element.value = '';\n element.classList.add('search-empty');\n }\n\n _initListItem(element, index, isSelected) {\n let container = null;\n let isHidden = false;\n if (isSelected) {\n container = document.getElementById(`${this._id}-selected`);\n isHidden = !element.selected;\n } else {\n container = document.getElementById(`${this._id}-unselected`);\n isHidden = element.selected;\n }\n\n render(\n container,\n ce(\n 'li',\n {\n id: `${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`,\n class: 'edls-item',\n style: isHidden ? 'display: none;' : null,\n onclick: event => {\n this._toggleItemSelection(index, isSelected, event);\n },\n },\n ce(\n 'div',\n { class: 'edls-item-wrap' },\n ce(\n 'span',\n { class: 'edls-check' },\n ce('input', {\n type: 'checkbox',\n class: 'checkbox',\n value: '',\n onclick: event => {\n event.stopPropagation();\n this._toggleItemCheckbox(event.target, event.target.checked);\n },\n }),\n ),\n ce('span', { class: 'edls-text' }, this._getItemText(element)),\n ),\n ),\n );\n }\n\n _getItemText(element, highlight) {\n let itemIcons = '';\n if (element.icons && element.icons.length) {\n element.icons.forEach(({ src, title }) => {\n itemIcons += `<i class=\"icon\"><img src=\"${Jsw.skinUrl}${src}\" title=\"${title}\"></i>`;\n });\n itemIcons += ' ';\n }\n let itemText = escapeHtml(element.title);\n if (highlight) {\n itemText = itemText.replace(highlight, `<b class=\"search-result-label\">${highlight}</b>`);\n }\n\n return itemIcons + itemText;\n }\n\n onToggleSearch(columnId, searchString) {\n const isSelected = (columnId === 'selected');\n searchString = searchString.trim().toLowerCase();\n\n if (searchString.length) {\n this._toggleSearchButtonIcon(columnId, true);\n this._list.forEach((element, index) => {\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\n if (this._isSearchMatched(element, searchString)) {\n item.querySelector('.edls-text').innerHTML = this._getItemText(element, searchString);\n if (isSelected === element.selected) {\n item.style.display = '';\n }\n } else {\n item.querySelector('.edls-text').innerHTML = this._getItemText(element);\n const checkbox = item.querySelector('.edls-check input');\n if (item.style.display !== 'none' && checkbox.checked) {\n this._toggleItemCheckbox(checkbox, false);\n }\n item.style.display = 'none';\n }\n });\n } else {\n this._toggleSearchButtonIcon(columnId, false);\n this._showAllItems(columnId);\n }\n }\n\n _showAllItems(columnId) {\n const isSelected = (columnId === 'selected');\n this._list.forEach((element, index) => {\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\n item.querySelector('.edls-text').innerHTML = this._getItemText(element);\n if (isSelected === element.selected) {\n item.style.display = '';\n }\n });\n }\n\n _toggleItemSelection(index, isSelected, event, batchMode) {\n event?.preventDefault();\n this._list[index].selected = !isSelected;\n this._updateElement(this._list[index]);\n document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).style.display = 'none';\n document.getElementById(`${this._id}-${index}-${isSelected ? 'unselected' : 'selected'}-item`).style.display = '';\n this._toggleItemCheckbox(document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).querySelector('.edls-check input'), false);\n if (!batchMode) {\n this._fixListZebra();\n this.onChange();\n }\n }\n\n _toggleItemCheckbox(checkbox, value) {\n checkbox.checked = value;\n\n const side = checkbox.closest('.edls-box-first') ? 'first' : 'second';\n const count = checkbox.closest(`.edls-box-${side}`).querySelectorAll('.edls-list .edls-check input:checked').length;\n if (value) {\n checkbox.closest('.edls-item').classList.add('selected');\n } else {\n checkbox.closest('.edls-item').classList.remove('selected');\n checkbox.closest('.edls-box').querySelector('.edls-search .checkbox').checked = false;\n }\n checkbox.closest('.edls').classList[count ? 'add' : 'remove'](`edls-selected-${side}`);\n checkbox.closest('.edls').querySelector(`.edls-control-text-${side}`).innerHTML =\n this.getLocale().formatMessage(`controlText-${side}`, { count });\n }\n\n _updateSelectControls() {\n // disable parent implementation\n }\n\n _addEvents() {\n const componentElement = this._componentElement;\n\n this._componentElement.querySelectorAll('.edls-box-wrap').forEach(el => {\n el.addEventListener('mouseover', event => {\n componentElement.classList.add('edls-over');\n componentElement.classList.add(event.target.closest('.edls-box-first') ? 'edls-over-first' : 'edls-over-second');\n componentElement.classList.remove(event.target.closest('.edls-box-first') ? 'edls-over-second' : 'edls-over-first');\n });\n el.addEventListener('mouseleave', () => {\n if (!componentElement.classList.contains('edls-selected-first') && !componentElement.classList.contains('edls-selected-second')) {\n componentElement.classList.remove('edls-over');\n componentElement.classList.remove('edls-over-first');\n componentElement.classList.remove('edls-over-second');\n }\n });\n });\n\n this._componentElement.addEventListener('mouseleave', event => {\n event.target.classList.remove('edls-over');\n event.target.classList.remove('edls-over-first');\n event.target.classList.remove('edls-over-second');\n });\n\n this._componentElement.querySelectorAll('.edls-box .edls-search .edls-check input').forEach(element => {\n element.addEventListener('click', () => {\n const value = element.checked;\n element.closest('.edls-box').querySelectorAll('.edls-list .edls-check input').forEach(checkbox => {\n if (value && checkbox.closest('.edls-item').style.display !== 'none') {\n this._toggleItemCheckbox(checkbox, true);\n } else {\n this._toggleItemCheckbox(checkbox, false);\n }\n });\n });\n });\n\n this._componentElement.querySelector('.edls-control-wrap').addEventListener('click', event => {\n let isSelected;\n if (componentElement.classList.contains('edls-over-first')) {\n isSelected = false;\n } else if (componentElement.classList.contains('edls-over-second')) {\n isSelected = true;\n } else {\n return;\n }\n\n this._list.forEach((element, index) => {\n if (element.selected === isSelected) {\n const item = document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`);\n if (item.classList.contains('selected')) {\n this._toggleItemSelection(index, isSelected, event, true);\n }\n }\n });\n this._fixListZebra();\n this.onChange();\n });\n }\n\n _onReloadCreate() {\n this._list = [];\n this._componentElement.querySelectorAll('.edls-box').forEach(listArea => {\n listArea.querySelector('ul').innerHTML = '';\n listArea.querySelector('.edls-ajax-loading').style.display = '';\n listArea.querySelector('.edls-list-empty').style.display = 'none';\n });\n }\n\n _onReloadComplete() {\n this._componentElement.querySelectorAll('.edls-box').forEach(listArea => {\n listArea.querySelector('.edls-ajax-loading').style.display = 'none';\n });\n }\n}\n","module.exports = Jsw.skinUrl + \"/images/search-input.png?9fd99cb66354e116893e88b4f234ca6d\";","module.exports = Jsw.skinUrl + \"/images/clear-search.png?c022c431eedbe669278180412386b137\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport prepareUrl from './prepareUrl';\nimport render from './render';\n\nimport './dynamic-popup-hint.less';\n\n/**\n * @class DynamicPopupHint\n * @singleton\n */\nexport const DynamicPopupHint = {\n windowId: 'ajaxTooltipWindow',\n delay: 0.55,\n _isInitialized: false,\n _currentTooltip: null,\n\n _init(cls) {\n if (this._isInitialized) {\n return;\n }\n\n this._cls = cls;\n this._initWindowElement();\n this._initWindowEvents();\n this._isInitialized = true;\n },\n\n _initWindowElement() {\n render(document.body, `<div id=\"${this.windowId}\" class=\"${this._cls}\" style=\"display: none; z-index: 10000\"></div>`, 'top');\n\n const element = document.getElementById(this.windowId);\n element.innerHTML = (\n '<table cellspacing=\"0\" class=\"popup-wrapper\"><tbody><tr><td class=\"popup-container\">' +\n '<div class=\"c1\"><div class=\"c2\"><div class=\"c3\"><div class=\"c4\"><div class=\"c5\">' +\n '<div class=\"popup-heading\">' +\n '<div class=\"heading-area\">' +\n '<span class=\"arrow\"></span>' +\n `<span class=\"close\" id=\"${this.windowId}-close\"></span>` +\n `<h4><span id=\"${this.windowId}-title\"></span></h4>` +\n '</div>' +\n '</div>' +\n '<div class=\"popup-content\">' +\n `<div id=\"${this.windowId}-content\" class=\"popup-content-area\"></div>` +\n '</div>' +\n '</div></div></div></div></div>' +\n '</td></tr></tbody></table>'\n );\n // TODO Need remove this hack when all popup boxes will use DynamicPopupHint component and hardcoded offset will be removed in css\n element.style.marginTop = 0;\n },\n\n _initWindowEvents() {\n document.getElementById(this.windowId).addEventListener('mouseover', this._onWindowMouseOver.bind(this));\n document.getElementById(this.windowId).addEventListener('mouseout', this._onWindowMouseOut.bind(this));\n document.getElementById(`${this.windowId}-close`).addEventListener('click', this._onCloseClick.bind(this));\n document.body.addEventListener('click', this._onCloseClick.bind(this));\n document.getElementById(this.windowId).addEventListener('click', event => {\n event.stopPropagation();\n });\n },\n\n _onWindowMouseOver() {\n this._showWindow();\n },\n\n _onWindowMouseOut() {\n if (this._currentTooltip.getPlacement() === '') {\n document.getElementById(this.windowId).style.display = 'none';\n }\n },\n\n _onCloseClick() {\n document.getElementById(this.windowId).style.display = 'none';\n },\n\n set(tooltip) {\n this._init(tooltip.getCls());\n const title = tooltip.getTitle();\n const titleElement = document.getElementById(`${this.windowId}-title`);\n if (false === title) {\n document.getElementById(`${this.windowId}-title`).innerHTML = '';\n titleElement.closest('.popup-heading').style.display = 'none';\n } else {\n document.getElementById(`${this.windowId}-title`).innerHTML = title;\n titleElement.closest('.popup-heading').style.display = '';\n }\n ['left', 'right', 'top', 'bottom'].forEach(className => {\n document.getElementById(this.windowId).classList.remove(className);\n });\n document.getElementById(this.windowId).classList.add(tooltip.getPlacement());\n document.getElementById(this.windowId)\n .querySelector('.heading-area .arrow').style.display = ['left', 'right', 'bottom'].indexOf(tooltip.getPlacement()) !== -1 ? '' : 'none';\n document.getElementById(this.windowId).classList[tooltip.getScrollable() ? 'add' : 'remove']('popup-box-scrollable');\n this._currentTooltip = tooltip;\n this.updateContent(tooltip);\n this._showWindow(tooltip);\n },\n\n isSet(tooltip) {\n const element = document.getElementById(this.windowId);\n return element && element.style.display !== 'none' && this._currentTooltip === tooltip;\n },\n\n unset() {\n const element = document.getElementById(this.windowId);\n if (element) {\n element.style.display = 'none';\n }\n },\n\n updateContent(tooltip) {\n if (this._currentTooltip === tooltip) {\n render(document.getElementById(`${this.windowId}-content`), [\n tooltip.getPlacement() === 'top' ? '<span class=\"arrow\"></span>' : '',\n tooltip.getContent(),\n ], 'inner');\n }\n this._updatePosition();\n },\n\n _showWindow() {\n document.getElementById(this.windowId).style.display = '';\n this._updatePosition();\n },\n\n _updatePosition() {\n const element = document.getElementById(this.windowId);\n const elementWidth = Element.getWidth(element);\n const elementHeight = Element.getHeight(element);\n const headingElementHeight = Element.getHeight(element.querySelector('.popup-heading'));\n const tooltipElement = this._currentTooltip.getTargetElement();\n const tooltipElementHeight = Element.getHeight(tooltipElement);\n const tooltipElementWidth = Element.getWidth(tooltipElement);\n let offsetLeft = 0;\n let offsetTop = 0;\n const elementRight = Element.cumulativeOffset(tooltipElement).left + elementWidth;\n const viewportRight = document.viewport.getWidth() + document.viewport.getScrollOffsets().left;\n\n switch (this._currentTooltip.getPlacement()) {\n case 'top':\n offsetTop -= elementHeight;\n offsetLeft -= (elementWidth - tooltipElementWidth) / 2;\n break;\n case 'bottom':\n offsetTop += tooltipElementHeight;\n offsetLeft -= (elementWidth - tooltipElementWidth) / 2;\n break;\n case 'left':\n offsetTop -= (headingElementHeight - tooltipElementHeight) / 2;\n offsetLeft -= elementWidth;\n break;\n case 'right':\n offsetTop -= (headingElementHeight - tooltipElementHeight) / 2;\n offsetLeft += tooltipElementWidth;\n break;\n }\n if (elementRight + offsetLeft > viewportRight) {\n offsetLeft -= elementRight + offsetLeft - viewportRight + 10;\n }\n\n Element.clonePosition(element, tooltipElement, {\n offsetLeft,\n offsetTop,\n setWidth: false,\n setHeight: false,\n });\n },\n};\n\nDynamicPopupHint.Instance = class Instance extends Component {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._targetElement = this._getConfigParam('target', '');\n if (typeof this._targetElement === 'string') {\n this._targetElement = document.getElementById(this._targetElement);\n }\n this._title = this._getConfigParam('title', '');\n this._waitMsg = this._getConfigParam('waitMsg', '');\n this._url = this._getConfigParam('url', '');\n this._cls = this._getConfigParam('cls', 'popup-box');\n this._scrollable = this._getConfigParam('scrollable', true);\n this._placement = this._getConfigParam('placement', '');\n\n this._content = this._getConfigParam('content', `<div class=\"ajax-loading\">${this._waitMsg}</div>`);\n this._contentLoaded = false;\n this._delayedExecuter = null;\n }\n\n _initComponentElement() {\n this._initTargetEvents();\n }\n\n _initTargetEvents() {\n if (this._placement !== '') {\n this._targetElement.addEventListener('click', event => {\n event.stopPropagation();\n event.preventDefault();\n if (DynamicPopupHint.isSet(this)) {\n DynamicPopupHint.unset();\n } else {\n DynamicPopupHint.set(this);\n }\n });\n } else {\n this._targetElement.addEventListener('mouseover', this.set.bind(this));\n this._targetElement.addEventListener('mouseout', this.unset.bind(this));\n }\n }\n\n _loadContent() {\n new Ajax.Request(prepareUrl(this._url), {\n method: 'get',\n onSuccess: transport => {\n if ('' === transport.responseText) {\n return;\n }\n\n this._content = transport.responseText;\n DynamicPopupHint.updateContent(this);\n },\n });\n\n this._contentLoaded = true;\n }\n\n setContent(content) {\n this._contentLoaded = true;\n this._content = content;\n }\n\n set() {\n this._delayedExecuter = new PeriodicalExecuter(pe => {\n DynamicPopupHint.set(this);\n pe.stop();\n this._delayedExecuter = null;\n }, DynamicPopupHint.delay);\n }\n\n unset() {\n if (this._delayedExecuter) {\n this._delayedExecuter.stop();\n this._delayedExecuter = null;\n }\n }\n\n getTitle() {\n return this._title;\n }\n\n getContent() {\n if (!this._contentLoaded && this._url) {\n this._loadContent();\n }\n\n return this._content;\n }\n\n getTargetElement() {\n return this._targetElement;\n }\n\n getCls() {\n return this._cls;\n }\n\n getScrollable() {\n return this._scrollable;\n }\n\n getPlacement() {\n return this._placement;\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/* eslint-disable react/require-render-return */\n\nimport { Component } from './component';\nimport { DynamicPopupHint } from './dynamic-popup-hint';\nimport Locale from './Locale';\nimport render from './render';\nimport ce from './createElement';\nimport estimatePassword from '../helpers/estimatePassword';\n\nimport './password-meter.less';\n\nexport class PasswordMeter extends Component {\n _initConfiguration({ observe, ...config }) {\n this._passwordElement = document.getElementById(observe);\n this._passwordElement.addEventListener('keyup', this._onChange.bind(this));\n // Temporary workaround for custom prototype's event 'plesk:passwordGenerated'\n this._passwordElement.addEventListener('dataavailable', this._onChange.bind(this));\n\n super._initConfiguration({\n id: `${this._passwordElement.id}-meter`,\n tag: 'span',\n cls: 'password-strength',\n locale: Locale.getSection('components.password.meter'),\n ...config,\n });\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n render(this._componentElement, [\n ce('i', {\n onrender: el => {\n this._progress = el;\n },\n }),\n ce('b', {\n onrender: el => {\n this._verdict = el;\n },\n }),\n ]);\n }\n\n setProgress(strength) {\n const level = ['VeryWeak', 'Weak', 'Medium', 'Strong', 'VeryStrong'].indexOf(strength);\n this._progress.setAttribute('style', `width: ${(level + 1) * 20}%`);\n }\n\n async _onChange() {\n const { password, strength, suggestions } = await estimatePassword(this._passwordElement.value);\n if (password !== this._passwordElement.value) {\n return;\n }\n\n this._updateVisibility();\n this.setProgress(strength);\n this._updateHint(suggestions);\n this._updateVerdict(strength);\n this._updateColor(strength);\n }\n\n _updateVisibility() {\n if (this._passwordElement.value === '') {\n this._componentElement.style.display = 'none';\n this._hintContainer.style.display = 'none';\n } else {\n this._componentElement.style.display = '';\n this._hintContainer.style.display = '';\n }\n }\n\n _updateColor(strength) {\n const newClass = `password-strength${strength.replace(/[A-Z]/g, c => `-${c.toLowerCase()}`)}`;\n if (this._oldClass === newClass) {\n return;\n }\n if (this._oldClass) {\n this._componentElement.classList.remove(this._oldClass);\n }\n this._componentElement.classList.add(newClass);\n this._oldClass = newClass;\n }\n\n _updateHint(suggestions) {\n this._tooltip.setContent(suggestions.length ? [\n this.lmsg('description'),\n ce('br'),\n ce('ul', suggestions.map(suggestion => ce('li.asd', suggestion))),\n ] : this.lmsg('yourPasswordIsStrong'));\n }\n\n _updateVerdict(strength) {\n this._verdict.innerHTML = this.lmsg(`verdict${strength}`);\n }\n\n render() {\n super.render();\n\n render(this._componentElement, ce('span.hint-inline.hint-info', {\n onrender: el => {\n this._hintContainer = el;\n },\n }, ce('span', {\n onrender: el => {\n this._tooltip = new DynamicPopupHint.Instance({\n title: this.lmsg('title'),\n waitMsg: '',\n url: '',\n placement: 'right',\n target: el,\n });\n },\n }, '(?)')), 'after');\n this._updateVisibility();\n\n if (this._passwordElement.value) {\n this._onChange();\n }\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from '../apolloClient';\nimport { PasswordEstimation } from 'schema';\n\nimport PASSWORD_ESTIMATION_QUERY from 'queries/PasswordEstimation.graphql';\n\nconst defaultEstimateFn = async (password: string) => {\n const { data: { passwordEstimation } } = await apolloClient.query({\n query: PASSWORD_ESTIMATION_QUERY,\n variables: { password },\n });\n return passwordEstimation;\n};\n\ntype PasswordStrength = {\n password: string;\n strength: string;\n suggestions: string[];\n}\n\nexport default async (\n password: string,\n estimateFn: (password: string) => Promise<PasswordEstimation> = defaultEstimateFn,\n): Promise<PasswordStrength> => {\n const [{ level, suggestions }, locale] = await Promise.all([\n estimateFn(password),\n Locale.loadSection('components.password.suggestions'),\n ]);\n\n return {\n password,\n strength: ['VeryWeak', 'Weak', 'Medium', 'Strong'][level] ?? 'VeryStrong',\n suggestions: suggestions.map(suggestion => locale.lmsg(suggestion)),\n };\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { ApolloClient, ApolloLink, InMemoryCache, defaultDataIdFromObject, from, Observable } from '@apollo/client';\nimport { BatchHttpLink } from '@apollo/client/link/batch-http';\nimport { onError } from '@apollo/client/link/error';\nimport createUploadLink from 'apollo-upload-client/createUploadLink.mjs';\nimport isExtractableFile from 'apollo-upload-client/isExtractableFile.mjs';\nimport extractFiles from 'extract-files/extractFiles.mjs';\nimport { SentryLink } from 'apollo-link-sentry';\n\nconst sentryLink = new SentryLink({\n setTransaction: false,\n});\n\nconst errorLink = onError(error => {\n if (error.networkError?.statusCode === 400) {\n window.location.reload();\n return new Observable(() => {});\n }\n});\n\nconst headers = {\n 'X-Requested-With': 'XMLHttpRequest',\n};\n\nconst tokenEl = document.getElementById('forgery_protection_token');\nif (tokenEl) {\n headers['X-Forgery-Protection-Token'] = tokenEl.content;\n}\n\nconst fetchParams = {\n uri: '/cp/graphql',\n headers,\n};\nconst terminatingLink = ApolloLink.split(\n operation => operation.getContext().noBatch || extractFiles(operation, isExtractableFile).files.size > 0,\n createUploadLink(fetchParams),\n new BatchHttpLink({\n ...fetchParams,\n batchMax: 10,\n batchInterval: 10,\n }),\n);\n\nconst apolloClient = new ApolloClient({\n link: from([errorLink, sentryLink, terminatingLink]),\n cache: new InMemoryCache({\n typePolicies: {\n AdditionalKey: {\n keyFields: ['keyNumber'],\n },\n Domain: {\n fields: {\n hosting: {\n merge: true,\n },\n webScriptingSettings: {\n merge: true,\n },\n subscription: {\n merge: true,\n },\n },\n },\n Subscription: {\n fields: {\n permissions: { merge: true },\n },\n },\n ExtensionTab: {\n keyFields: false,\n },\n SiteButton: {\n keyFields: false,\n },\n ConfigSectionGdprCookie: {\n keyFields: ['name'],\n },\n User: {\n keyFields: ['login'],\n },\n UserLogo: {\n merge: true,\n },\n UserPermissions: {\n merge: true,\n },\n Os: {\n merge: true,\n },\n Mode: {\n merge: true,\n },\n Home: {\n merge: true,\n },\n Notification: {\n keyFields: [],\n },\n PrimaryKey: {\n keyFields: ['pleskKeyId'],\n },\n WebsitesDiagnostic: {\n keyFields: [],\n fields: {\n settings: {\n merge: true,\n },\n },\n },\n ServerMail: {\n keyFields: [],\n fields: {\n spamAssassin: {\n merge: true,\n },\n },\n },\n Capability: {\n keyFields: [],\n fields: {\n mailServer: {\n merge: true,\n },\n packages: {\n merge: true,\n },\n },\n },\n Dns: {\n keyFields: [],\n },\n Query: {\n fields: {\n additionalKeys: {\n merge: false,\n },\n recentSearch: {\n merge: false,\n },\n node: {\n read(_, { args: { id }, toReference }) {\n const __typename = atob(id).split(':')[0];\n return toReference({ id, __typename });\n },\n },\n },\n },\n Server: {\n keyFields: [],\n fields: {\n firewall: {\n merge: true,\n },\n components: {\n merge: false,\n },\n settings: {\n merge: true,\n },\n information: {\n merge: true,\n },\n productVersion: {\n merge: true,\n },\n productUpdates: {\n merge: true,\n },\n pum: {\n merge: true,\n },\n },\n },\n DnsTemplate: {\n keyFields: [],\n },\n DnsSoaRecordTemplate: {\n keyFields: [],\n },\n TaskList: {\n keyFields: [],\n },\n IpAddress: {\n fields: {\n clients: {\n merge: false,\n },\n },\n },\n IpAddressList: {\n keyFields: [],\n fields: {\n list: {\n merge: false,\n },\n },\n },\n VirtualDirectory: {\n keyFields: ['key'],\n fields: {\n errorDoc: {\n read: (_, { args: { code }, toReference }) => toReference({\n code,\n __typename: 'VirtualDirectoryErrorDoc',\n }),\n },\n },\n },\n VirtualDirectoryErrorDoc: {\n keyFields: ['code'],\n },\n SystemMessage: {\n keyFields: ['key'],\n },\n ClientStatistics: {\n merge: true,\n },\n DomainStatistics: {\n merge: true,\n },\n MailAccountConfiguration: {\n merge: true,\n },\n },\n dataIdFromObject: object => {\n switch (true) {\n case object.__typename?.startsWith('Config'):\n return object.__typename;\n default:\n return defaultDataIdFromObject(object);\n }\n },\n }),\n});\n\nexport default apolloClient;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PasswordEstimation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"passwordEstimation\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"level\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestions\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":135}};\n doc.loc.source = {\"body\":\"query PasswordEstimation($password: String!) {\\n passwordEstimation(password: $password) {\\n level\\n suggestions\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PasswordEstimation\"] = oneQuery(doc, \"PasswordEstimation\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { shuffle } from 'helpers/shuffle';\nimport { Component } from './component';\nimport fireCustomEvent from './fireCustomEvent';\n\nconst symbolClasses = {\n upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',\n lower: 'abcdefghijklmnopqrstuvwxyz',\n number: '0123456789',\n special: '!@#$%^&*?_~',\n};\n\nexport class PasswordGenerator extends Component {\n _initConfiguration(config) {\n super._initConfiguration({ tag: 'span', ...config });\n this._passwordElement = document.getElementById(this._getConfigParam('password', null));\n this._generateButtonElement = document.getElementById(this._getConfigParam('generateButton', null));\n this._generateButtonElement.addEventListener('click', this._onGeneratePasswordClick.bind(this));\n this._showButtonElement = document.getElementById(this._getConfigParam('showButton', null));\n this._showButtonElement.addEventListener('click', this._onShowPasswordClick.bind(this));\n this._showPasswordVisible = true;\n this._showPasswordTitle = this._getConfigParam('showPasswordTitle', '');\n this._hidePasswordTitle = this._getConfigParam('hidePasswordTitle', '');\n this._passwordStrength = this._getConfigParam('passwordStrength', '');\n }\n\n _onGeneratePasswordClick() {\n const password = this._generatePassword();\n this._passwordElement.value = password;\n\n const passwordConfirmationElement = document.getElementById(this._getConfigParam('passwordConfirmation'));\n\n if (passwordConfirmationElement) {\n passwordConfirmationElement.value = password;\n }\n\n fireCustomEvent(this._passwordElement, 'plesk:passwordGenerated');\n }\n\n _onShowPasswordClick() {\n if (this._showPasswordVisible) {\n this._passwordElement.setAttribute('type', 'text');\n this._showButtonElement.innerHTML = this._hidePasswordTitle;\n } else {\n this._passwordElement.setAttribute('type', 'password');\n this._showButtonElement.innerHTML = this._showPasswordTitle;\n }\n this._showPasswordVisible = !this._showPasswordVisible;\n }\n\n _generatePassword() {\n let password = '';\n const requiredClasses = ['upper', 'lower', 'lower', 'lower', 'number', 'number', 'special', 'number', 'number'];\n\n if ('Stronger' === this._passwordStrength) {\n requiredClasses.push('upper', 'upper', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower');\n }\n\n const shuffledRequiredClasses = shuffle(requiredClasses);\n\n shuffledRequiredClasses.forEach(i => {\n password += this._generateSymbol(i);\n });\n return password;\n }\n\n _generateSymbol(symbolClass) {\n const randomValue = crypto.getRandomValues(new Uint32Array(1))[0];\n const index = randomValue % symbolClasses[symbolClass].length;\n return symbolClasses[symbolClass][index];\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/**\n * Checks if two arrays contain the same elements in the same order\n */\nconst arraysInSameOrder = <T>(first: T[], second: T[]): boolean => {\n if (first.length !== second.length) {\n return false;\n }\n\n for (let i = 0; i < first.length; i++) {\n if (first[i] !== second[i]) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * Shuffle an array with the Fisher-Yates shuffle algorithm\n */\nexport const shuffle = <T>(array: T[]): T[] => {\n /* Handle empty/single-element array case */\n if (array.length <= 1) {\n return [...array];\n }\n\n /* Handle case when all elements are identical */\n if (new Set(array).size === 1) {\n return [...array];\n }\n\n const original = [...array];\n let shuffledArray: T[];\n\n /* Keep shuffling until we get a different order */\n do {\n shuffledArray = [...array];\n let remaining = array.length;\n\n /* Fisher-Yates shuffle with unbiased random index generation */\n while (remaining) {\n const currentIndex = remaining - 1;\n const randomValue = new Uint32Array(1);\n crypto.getRandomValues(randomValue);\n const randomIndex = Math.floor((randomValue[0] / (2 ** 32)) * remaining);\n\n [\n shuffledArray[currentIndex],\n shuffledArray[randomIndex],\n ] = [\n shuffledArray[randomIndex],\n shuffledArray[currentIndex],\n ];\n remaining--;\n }\n } while (arraysInSameOrder(original, shuffledArray));\n\n return shuffledArray;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { StatusMessage } from './status-message';\nimport api from './api';\nimport prepareUrl from './prepareUrl';\nimport render from './render';\nimport createElement from './createElement';\n\nexport class UpgradeFailureNotification extends StatusMessage {\n _initConfiguration(config) {\n this.updateInterval = 5000;\n\n super._initConfiguration(config);\n this._isBootstrapRunning = this._getConfigParam('isBootstrapRunning');\n this._bootstrapExecutionUrl = this._getConfigParam('bootstrapExecutionUrl');\n this._bootstrapStatusUrl = this._getConfigParam('bootstrapStatusUrl');\n this._bootstrapInProgressMessage = this._getConfigParam('bootstrapInProgressMessage');\n this._bootstrapLinkTitle = this._getConfigParam('bootstrapLinkTitle');\n }\n\n _addEvents() {\n super._addEvents();\n if (this._isBootstrapRunning) {\n this._scheduleUpdateStatus();\n }\n }\n\n _executeBootstrapper() {\n this._isBootstrapRunning = true;\n render(this._componentElement.querySelector('.msg-content'), this._renderMessage(), 'inner');\n api.post(prepareUrl(this._bootstrapExecutionUrl))\n .finally(() => {\n this._scheduleUpdateStatus();\n });\n }\n\n _renderMessage() {\n if (this._isBootstrapRunning) {\n return createElement('span.ajax-loading', this._bootstrapInProgressMessage);\n }\n return [this._message, ' ', createElement('a', { onclick: this._executeBootstrapper.bind(this) }, this._bootstrapLinkTitle)];\n }\n\n _scheduleUpdateStatus() {\n setTimeout(() => {\n this._statusUpdate();\n }, this.updateInterval);\n }\n\n _statusUpdate() {\n api.get(prepareUrl(this._bootstrapStatusUrl))\n .finally(() => {\n this._scheduleUpdateStatus();\n });\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { StatusMessage } from './status-message';\nimport api from './api';\nimport { redirectPost } from './form-redirect';\nimport addStatusMessage from './addStatusMessage';\nimport clearStatusMessages from './clearStatusMessages';\nimport prepareUrl from './prepareUrl';\nimport escapeHtml from './escapeHtml';\n\nexport class WebserverConfigurationFailure extends StatusMessage {\n _initConfiguration(config) {\n this._rebuildFailedUrl = '^/admin/subscription/webserver-configuration-rebuild/?returnUrl=/';\n this._rebuildAllUrl = '^/admin/subscription/webserver-configuration-rebuild-all/';\n\n super._initConfiguration(config);\n this._moduleInstalled = this._getConfigParam('moduleInstalled');\n this._kbArticle = this._getConfigParam('kbArticle');\n }\n\n _renderMessage() {\n return this.lmsg('message', {\n error: `${escapeHtml(this._message.trim())} ${this._moduleInstalled ? `<a href=\"/modules/configurations-troubleshooter/\">${this.lmsg('moduleLink')}</a>` : ''}`,\n link: `<a id=\"webserver-configuration-failure-rebuild-failed\">${this.lmsg('link')}</a>`,\n linkAll: `<a id=\"webserver-configuration-failure-rebuild-all\">${this.lmsg('linkAll')}</a>`,\n howToFix: this._kbArticle ? ` ${this.lmsg('knownIssue', {\n kbArticle: `<a href=\"${this._kbArticle}\" target=\"_blank\">${this._kbArticle}</a>`,\n })}` : '',\n });\n }\n\n _addEvents() {\n super._addEvents();\n document.getElementById('webserver-configuration-failure-rebuild-failed').addEventListener('click', this._rebuildFailed.bind(this));\n document.getElementById('webserver-configuration-failure-rebuild-all').addEventListener('click', this._rebuildAll.bind(this));\n }\n\n _rebuildFailed() {\n redirectPost(this._rebuildFailedUrl);\n }\n\n _rebuildAll() {\n this._onCreateExecute();\n api.post(prepareUrl(this._rebuildAllUrl))\n .then(this._onSuccess.bind(this))\n .catch(this._onException.bind(this));\n }\n\n _onCreateExecute() {\n clearStatusMessages();\n addStatusMessage('warning', `<span class=\"ajax-loading\">${this.lmsg('messageInProgress')}</span>`);\n }\n\n _onSuccess(response) {\n clearStatusMessages();\n if ('success' === response.status) {\n addStatusMessage('info', this.lmsg('messageSuccess'));\n } else {\n addStatusMessage('error', this.lmsg('messageFailure') + response.message);\n }\n }\n\n _onException(exception) {\n clearStatusMessages();\n\n if (window.location.port === '') {\n // Configuration Troubleshooter restarts main web server, therefore the connection is always interrupted.\n addStatusMessage('info', this.lmsg('messageSuccess'));\n } else {\n addStatusMessage('error', `Internal error: ${exception}`);\n }\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PopupForm } from './popup-form';\nimport { getComponent } from './component';\nimport { redirect } from './form-redirect';\nimport Locale from './Locale';\nimport prepareUrl from './prepareUrl';\nimport render from './render';\nimport api from './api';\n\nexport const ConfirmationPopupManager = {};\nConfirmationPopupManager.PopupForm = class extends PopupForm {\n _initConfiguration(config) {\n this._sendButtonTitle = '';\n\n super._initConfiguration({\n singleRowButtons: true,\n ...config,\n });\n\n this._prepareUrl = this._getConfigParam('prepareUrl', '');\n this._handlerUrl = this._getConfigParam('handlerUrl', '');\n this._ids = this._getConfigParam('ids', '');\n this._formListItemsAreaId = `${this._id}-form-list-items`;\n this._formListAreaId = `${this._id}-form-list`;\n this._formBoxAreaId = `${this._id}-form-box`;\n this._sendButtonId = this._getConfigParam('sendButtonId', 'btn-send');\n this._cancelButtonId = this._getConfigParam('cancelButtonId', 'btn-cancel');\n this._formDescriptionId = `${this._id}-form-desc`;\n this._longtask = this._getConfigParam('longtask', false);\n this._autoload = this._getConfigParam('autoload', true);\n }\n\n render() {\n super.render();\n\n this.setBoxType('form-box');\n this._setTitle();\n\n const formHtml = (\n `<form method=\"post\" action=\"\" enctype=\"application/x-www-form-urlencoded\" id=\"${this._id}-form\">` +\n `<div class=\"box\" id=\"${this._formBoxAreaId}\"></div>` +\n `<div class=\"list\" id=\"${this._formListAreaId}\"></div>` +\n '</form>'\n );\n\n document.getElementById(this._contentAreaId).innerHTML = (\n this._getHeadDescription() +\n formHtml +\n this._getBottomDescription()\n );\n\n const form = document.getElementById(`${this._id}-form`);\n form._formSubmit = form.submit;\n form.submit = this._onSubmit.bind(this);\n form.addEventListener('submit', this._onSubmitEvent.bind(this));\n\n render(document.getElementById(this._formBoxAreaId), `<div class=\"ajax-loading\">${this.lmsg('loading')}</div>`);\n\n this._addButtons();\n\n if (this._autoload) {\n this._renderPreparePopup();\n }\n }\n\n reload() {\n document.getElementById(this._formListAreaId).innerHTML = '';\n document.getElementById(this._formBoxAreaId).innerHTML = `<div class=\"ajax-loading\">${this.lmsg('loading')}</div>`;\n this._preparePopup();\n }\n\n _addButtons() {\n this.addRightButton(Locale.getSection('components.buttons').lmsg('ok'), this._onOkClick, true, true, { id: this._sendButtonId });\n this.addRightButton(Locale.getSection('components.buttons').lmsg('cancel'), this._onCancelClick, false, false, { id: this._cancelButtonId });\n }\n\n _setTitle() {\n this.setTitle(this.lmsg('title'));\n }\n\n _getHeadDescription() {\n return '';\n }\n\n _getBottomDescription() {\n return `<p id=\"${this._formDescriptionId}\">${this.lmsg('description')}</p>`;\n }\n\n _onException(exception) {\n this._addErrorMessage(`Internal error: ${exception}`);\n this.enable();\n }\n\n _onOkClick(e) {\n this._onSubmit(e);\n }\n\n _onCancelClick() {\n this.hide();\n }\n\n _preparePopup() {\n api.post(prepareUrl(this._prepareUrl), { ids: this._ids })\n .then(this._onSuccessPreparePopup.bind(this))\n .catch(this._onException.bind(this));\n }\n\n _renderPreparePopup() {\n this._preparePopup();\n }\n\n _onSubmitEvent(event) {\n this._onSubmit();\n event.preventDefault();\n return false;\n }\n\n _onSuccessResponse(response) {\n this.hide();\n redirect(response.redirect);\n }\n\n _onSuccess(transport) {\n this._clearMessages();\n try {\n const response = JSON.parse(transport.responseText);\n if ('success' === response.status) {\n this._onSuccessResponse(response);\n } else {\n if (response.redirect) {\n redirect(response.redirect);\n return;\n }\n this._addErrorMessage(response.message);\n this.enable();\n }\n } catch (e) {\n this._addErrorMessage(e.message);\n this._addErrorMessage(\n `Internal error: ${transport.responseText}`,\n );\n this.enable();\n }\n }\n\n disable() {\n const sendButton = document.getElementById(this._sendButtonId);\n if (sendButton) {\n sendButton.disabled = true;\n sendButton.classList.add('disabled');\n if (!this._sendButtonTitle) {\n this._sendButtonTitle = sendButton.innerHTML;\n }\n sendButton.innerHTML = `<span class=\"wait\">${this.lmsg('loading')}</span>`;\n }\n\n const cancelButton = document.getElementById(this._cancelButtonId);\n if (cancelButton) {\n cancelButton.disabled = true;\n cancelButton.classList.add('disabled');\n }\n }\n\n enable() {\n const sendButton = document.getElementById(this._sendButtonId);\n if (sendButton) {\n sendButton.disabled = false;\n sendButton.innerHTML = this._sendButtonTitle;\n sendButton.classList.remove('disabled');\n }\n\n const cancelButton = document.getElementById(this._cancelButtonId);\n if (cancelButton) {\n cancelButton.disabled = false;\n cancelButton.classList.remove('disabled');\n }\n }\n\n _onSuccessPreparePopup() {\n // should be implemented in child classes\n return true;\n }\n\n _getLoadingIndicatorItems() {\n return [];\n }\n\n _addLoadingIndicator() {\n // should be implemented in child classes\n }\n\n _getAdditionalParams(params) {\n // should be implemented in child classes if it necessary\n return params;\n }\n\n _isValid() {\n return true;\n }\n\n _onSubmit(e) {\n this._clearMessages();\n\n if (!this._isValid()) {\n return;\n }\n\n let params = $H();\n let count = 0;\n this._ids.forEach(id => {\n params.set(`ids[${count}]`, id);\n count++;\n });\n params = this._getAdditionalParams(params);\n\n this.disable();\n this._addLoadingIndicator(this._getLoadingIndicatorItems());\n\n if (this._needFlyEffect()) {\n const beginOffset = Element.cumulativeOffset(e.target);\n getComponent('asyncProgressBarWrapper')\n .fly(\n beginOffset,\n this._longtask,\n () => {\n this._sendRequest(params);\n },\n );\n } else {\n this._sendRequest(params);\n }\n }\n\n _needFlyEffect() {\n return (false !== this._longtask);\n }\n\n _sendRequest(params) {\n new Ajax.Request(\n this._handlerUrl,\n {\n method: 'post',\n parameters: params,\n onSuccess: this._onSuccess.bind(this),\n onException: this._onException.bind(this),\n },\n );\n }\n};\n\n// TODO WPT use Class.create()\nConfirmationPopupManager.PopupForm.subclasses = [];\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport { list } from './list';\nimport { Tooltip } from './tooltip';\nimport isRtl from './isRtl';\nimport prepareUrl from './prepareUrl';\nimport render from './render';\nimport createElement from './createElement';\nimport escapeHtml from './escapeHtml';\nimport fireCustomEvent from './fireCustomEvent';\nimport { ESC, ENTER, LEFT_ARROW, UP_ARROW, RIGHT_ARROW, DOWN_ARROW } from './keyCode';\nimport api from './api';\nimport stripTags from 'helpers/stripTags';\nimport { createHtmlElement } from 'helpers/createHtmlElement';\n\nexport class LookUp extends Component {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._name = this._getConfigParam('name', null);\n this._cls = this._getConfigParam('cls', 'lookup');\n this._data = this._getConfigParam('data', []);\n this._currentValue = this._getConfigParam('value', null);\n this._newItemValue = this._getConfigParam('newItemValue', null);\n this._dataUrl = this._getConfigParam('dataUrl', null);\n this._copyTitleValue = this._getConfigParam('copyTitleValue', false);\n this._limit = this._getConfigParam('limit', this._dataUrl ? 10 : list.ITEMS_UNLIMITED);\n this._lookUpParams = this._getConfigParam('lookUpParams', {});\n this._disabled = this._getConfigParam('disabled', false);\n this._placeholder = this._getConfigParam('placeholder', null);\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._valueField = createHtmlElement('input', {\n type: 'hidden',\n name: this._name,\n });\n\n render(this._componentElement, this._valueField);\n\n const inputFieldConfig = {\n type: 'text',\n class: 'form-control',\n };\n if (this._disabled) {\n inputFieldConfig.disabled = 'disabled';\n }\n if (null !== this._placeholder) {\n inputFieldConfig.placeholder = this._placeholder;\n }\n this._inputField = createHtmlElement('input', inputFieldConfig);\n\n this._lookUpButton = createHtmlElement('span', { class: 'form-control-icon form-control-icon-action' });\n render(this._lookUpButton, createHtmlElement('i', { class: 'icon-form-control-search' }));\n\n this._lookUpControl = createHtmlElement('div', { class: 'form-control-group' });\n render(this._lookUpControl, this._inputField);\n render(this._lookUpControl, this._lookUpButton);\n\n this._dropdownList = createHtmlElement('ul', { class: 'dropdown-menu lookup-dropdown-menu' });\n\n this._initCustomLookUpComponent();\n if (this._customLookUpComponent) {\n render(this._dropdownList,\n createElement('li', { class: 'dropdown-header' }, this.lmsg('label')),\n );\n render(this._dropdownList,\n createElement('li',\n createElement('div', { class: 'dropdown-menu-content' },\n this._lookUpControl,\n ),\n ),\n );\n } else {\n this._lookUpControl.classList.add('f-large-size');\n render(this._componentElement, this._lookUpControl);\n }\n\n this._emptyElement = createHtmlElement('li');\n render(this._emptyElement, createElement('div.dropdown-menu-content', this.lmsg('nothingFound')));\n render(this._dropdownList, this._emptyElement);\n\n render(this._componentElement, this._dropdownList);\n\n if (!this._currentValue && this._newItemValue) {\n this._currentValue = this._newItemValue;\n this.handleChange();\n }\n\n this._updateValue();\n\n if (0 < this._data.length) {\n this._updateData(this._data);\n }\n if (this._dataUrl && this._limit === list.ITEMS_UNLIMITED) {\n this._getDataByUrl();\n }\n }\n\n _initCustomLookUpComponent() {\n if (!this._newItemValue) {\n return;\n }\n\n this._customLookUpComponent = createHtmlElement('div', { class: 'input-group' });\n this._customLookUpComponent.innerHTML = (\n '<input type=\"text\" readonly=\"\" class=\"form-control f-large-size\" value=\"\">' +\n '<span class=\"input-group-btn\">' +\n '<button type=\"button\" class=\"btn dropdown-toggle\">' +\n '<span class=\"caret\"></span>' +\n '</button>' +\n '</span>'\n );\n render(this._componentElement, this._customLookUpComponent);\n\n render(this._dropdownList, this._createItem(this._newItemValue));\n render(this._dropdownList, createHtmlElement('li', { class: 'divider' }));\n\n this._setDisabled(this._disabled);\n }\n\n _setDisabled(disabled) {\n this._disabled = disabled;\n\n if (this._customLookUpComponent) {\n this._customLookUpComponent.style['pointer-events'] = disabled ? 'none' : null;\n this._customLookUpComponent.querySelector('.input-group input').disabled = disabled;\n this._customLookUpComponent.querySelector('.input-group .btn.dropdown-toggle').disabled = disabled;\n }\n }\n\n disable() {\n this._setDisabled(true);\n }\n\n enable() {\n this._setDisabled(false);\n }\n\n _getDataByUrl(filter) {\n this._emptyElement.querySelector('div').innerHTML = this.lmsg('loading');\n this._filter = filter;\n api.get(prepareUrl(this._dataUrl), {\n filter,\n limit: this._limit,\n ...this._lookUpParams,\n })\n .then(response => {\n if (filter !== this._filter) {\n return;\n }\n\n this._emptyElement.querySelector('div').innerHTML = this.lmsg('nothingFound');\n if ('error' === response.status) {\n return;\n }\n\n this._data = response.data;\n this._updateData(this._data);\n this._selectResults(filter, response.itemsCount - this._data.length);\n });\n }\n\n isEmpty() {\n return null === this._currentValue;\n }\n\n getValue() {\n return this._currentValue ? this._currentValue.id : null;\n }\n\n getItemValue() {\n return this._currentValue ? this._currentValue : null;\n }\n\n getDisplayValue() {\n return this._currentValue ? this._currentValue.title : '';\n }\n\n _openList(showAll) {\n this._componentElement.classList.add('open');\n this._lookUpButton.querySelector('i').classList.remove('icon-form-control-search');\n this._lookUpButton.querySelector('i').classList.add('icon-form-control-clear');\n this._fixDropdownPosition();\n\n const filter = showAll ? '' : this._inputField.value.toLocaleLowerCase();\n if (this._dataUrl && this._limit !== list.ITEMS_UNLIMITED) {\n this._emptyElement.querySelector('div').innerHTML = this.lmsg('loading');\n if (this._getDataTask) {\n clearTimeout(this._getDataTask);\n }\n this._getDataTask = setTimeout(function () {\n this._getDataByUrl(filter);\n }.bind(this), 250);\n } else {\n this._selectResults(filter);\n }\n }\n\n _closeList() {\n this._updateValue();\n this._componentElement.classList.remove('open');\n this._lookUpButton.querySelector('i').classList.add('icon-form-control-search');\n this._lookUpButton.querySelector('i').classList.remove('icon-form-control-clear');\n }\n\n _updateValue() {\n this._valueField.value = this._currentValue ? (this._copyTitleValue ? this._currentValue.title : this._currentValue.id) : '';\n this._inputField.value = this._currentValue && !(this._newItemValue && this._currentValue.id === this._newItemValue.id) ? this._currentValue.title : '';\n if (this._newItemValue) {\n this._componentElement.querySelector('.input-group input').value = this._currentValue ? this._currentValue.title : '';\n }\n }\n\n _selectResults(filter, itemsCount) {\n let itemsFound = 0;\n this._dropdownList.querySelectorAll('li').forEach(item => {\n if (!item._item) {\n return;\n }\n if (this._newItemValue && this._newItemValue.id === item._item.id) {\n if (this._currentValue && this._currentValue.id === this._newItemValue.id) {\n item.style.display = 'none';\n item.nextElementSibling.style.display = 'none';\n } else {\n item.style.display = '';\n item.nextElementSibling.style.display = '';\n }\n return;\n }\n item.classList.remove('active');\n const itemLink = item.querySelector('a');\n let itemData = stripTags(itemLink.innerHTML);\n const pos = itemData.toLowerCase().indexOf(filter);\n if (-1 !== pos) {\n itemsFound++;\n if (itemsFound <= this._limit) {\n item.style.display = '';\n itemData = `${\n itemData.substr(0, pos)\n }<b class=\"search-result-label\">${\n itemData.substr(pos, filter.length)\n }</b>${\n itemData.substr(pos + filter.length)\n }`;\n } else {\n item.style.display = 'none';\n }\n } else {\n item.style.display = 'none';\n }\n itemLink.innerHTML = itemData;\n });\n\n this._emptyElement.style.display = itemsFound ? 'none' : '';\n if (itemsFound) {\n const visibleItems = [...this._dropdownList.querySelectorAll('li')].filter(el => el.style.display !== 'none');\n if (visibleItems.length) {\n visibleItems[0].classList.add('active');\n }\n }\n\n itemsFound += itemsCount || 0;\n\n if (this._searchMoreElement) {\n if (itemsFound > this._limit) {\n this._searchMoreElement.querySelector('div').innerHTML = this._getSearchMoreText(itemsFound - this._limit);\n this._searchMoreElement.style.display = '';\n this._searchMoreElement.previousElementSibling.style.display = '';\n } else {\n this._searchMoreElement.style.display = 'none';\n this._searchMoreElement.previousElementSibling.style.display = 'none';\n }\n }\n\n this._fixDropdownPosition();\n }\n\n _addEvents() {\n if (this._disabled) {\n return;\n }\n\n super._addEvents();\n\n if (this._customLookUpComponent) {\n this._customLookUpComponent.addEventListener('click', event => {\n event.preventDefault();\n Tooltip.hide();\n if (this._componentElement.classList.contains('open')) {\n this._inputField.blur();\n } else {\n this._openList(true);\n this._inputField.focus();\n }\n });\n } else {\n this._inputField.addEventListener('focus', this._inputOnFocus.bind(this));\n }\n this._inputField.addEventListener('paste', this._inputOnPaste.bind(this));\n this._inputField.addEventListener('blur', this._inputOnBlur.bind(this));\n this._inputField.addEventListener('keyup', this._inputOnKeyUp.bind(this));\n this._inputField.addEventListener('keydown', this._inputOnKeyDown.bind(this));\n this._lookUpButton.addEventListener('click', this._lookUpButtonOnClick.bind(this));\n }\n\n _inputOnFocus() {\n this._openList(true);\n }\n\n _inputOnBlur() {\n // workaround for Google Chrome\n setTimeout(() => {\n this._closeList();\n }, 300);\n }\n\n _inputOnPaste() {\n setTimeout(() => {\n this._openList();\n const activeItem = this._dropdownList.querySelector('li.active');\n if (activeItem) {\n this._currentValue = activeItem._item;\n this._updateValue();\n }\n }, 300);\n }\n\n _inputOnKeyUp(event) {\n if ([UP_ARROW, DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, ESC].indexOf(event.keyCode) !== -1) {\n return;\n }\n\n this._openList();\n }\n\n _inputOnKeyDown(event) {\n if ([UP_ARROW, DOWN_ARROW].indexOf(event.keyCode) !== -1) {\n this._onArrowKeyPressed(event.keyCode);\n }\n\n if (ESC === event.keyCode) {\n this._closeList();\n }\n\n if (ENTER === event.keyCode) {\n const activeItem = this._dropdownList.querySelector('li.active');\n if (activeItem) {\n this._currentValue = activeItem._item;\n this._closeList();\n this.handleChange();\n } else {\n this._closeList();\n this._openList();\n }\n }\n }\n\n _onArrowKeyPressed(keyCode) {\n let nextItem = null;\n const activeItem = this._dropdownList.querySelector('li.active');\n if (!activeItem) {\n nextItem = this._dropdownList.querySelector('li');\n while (nextItem && !(nextItem.style.display !== 'none' && nextItem._item)) {\n nextItem = nextItem.nextElementSibling;\n }\n } else if (DOWN_ARROW === keyCode) {\n nextItem = activeItem.nextElementSibling;\n while (nextItem && !(nextItem.style.display !== 'none' && nextItem._item)) {\n nextItem = nextItem.nextElementSibling;\n }\n } else if (UP_ARROW === keyCode) {\n nextItem = activeItem.previousElementSibling;\n while (nextItem && !(nextItem.style.display !== 'none' && nextItem._item)) {\n nextItem = nextItem.previousElementSibling;\n }\n }\n if (nextItem && nextItem.style.display !== 'none' && nextItem._item) {\n nextItem.classList.add('active');\n if (activeItem) {\n activeItem.classList.remove('active');\n }\n this._scrollDropdownList();\n }\n }\n\n _scrollDropdownList() {\n const firstItem = this._dropdownList.querySelector('li.dropdown-menu-list-item');\n const activeItem = this._dropdownList.querySelector('li.active');\n\n if (!firstItem || !activeItem) {\n return;\n }\n\n const position = Math.round(activeItem.offsetTop / firstItem.offsetHeight) + 1;\n const itemsInFrame = Math.round(this._dropdownList.clientHeight / firstItem.offsetHeight);\n\n this.frameStart = this.frameStart || 1;\n\n if (position >= this.frameStart + itemsInFrame) {\n this._dropdownList.scrollTop += firstItem.offsetHeight;\n this.frameStart++;\n } else if (position <= this.frameStart) {\n this._dropdownList.scrollTop -= firstItem.offsetHeight;\n this.frameStart--;\n }\n }\n\n _lookUpButtonOnClick(event) {\n event.preventDefault();\n\n if (this._componentElement.classList.contains('open')) {\n this._closeList();\n } else {\n this._openList(true);\n }\n }\n\n _itemOnClick(event) {\n event.preventDefault();\n this._currentValue = event.target.closest('li')._item;\n this._closeList();\n this.handleChange();\n }\n\n _itemOnOver() {\n this._dropdownList.querySelectorAll('li.active').forEach(element => {\n element.classList.remove('active');\n });\n }\n\n _createItem(item) {\n const listItem = createHtmlElement('li', { class: 'dropdown-menu-list-item' });\n listItem.innerHTML = `<a href=\"#\">${escapeHtml(item.title)}</a>`;\n listItem._item = item;\n listItem.addEventListener('click', this._itemOnClick.bind(this));\n listItem.addEventListener('mouseover', this._itemOnOver.bind(this));\n\n return listItem;\n }\n\n _getSearchMoreText(count) {\n return this.lmsg('moreObjectsAvailable', { count });\n }\n\n _updateData(data) {\n this._clearData();\n\n data.forEach(item => {\n render(this._dropdownList, this._createItem(item));\n });\n\n this._addSearchMoreElement();\n }\n\n _clearData() {\n let el;\n while ((el = this._emptyElement.nextSibling)) {\n el.parentNode.removeChild(el);\n }\n }\n\n _addSearchMoreElement() {\n this._searchMoreElement = document.createElement('li');\n this._searchMoreElement.innerHTML = '<div class=\"dropdown-menu-content\"></div>';\n this._searchMoreElement.style.display = 'none';\n\n render(this._dropdownList, '<li class=\"divider\" style=\"display: none;\"></li>');\n render(this._dropdownList, this._searchMoreElement);\n }\n\n _fixDropdownPosition() {\n this._dropdownList.style[isRtl() ? 'right' : 'left'] = null;\n\n const windowWidth = document.documentElement.clientWidth;\n const offsets = this._dropdownList.getBoundingClientRect();\n\n const delta = (isRtl() ? offsets.left : (windowWidth - offsets.width - offsets.left))\n - parseInt(window.getComputedStyle(document.querySelector('.pul-layout__main-inner')).paddingLeft || 0);\n\n if (delta < 0) {\n this._dropdownList.style[isRtl() ? 'right' : 'left'] = `${delta}px`;\n }\n }\n\n handleChange() {\n fireCustomEvent(this._componentElement, 'component:change');\n\n const onChange = this._getConfigParam('onChange');\n if (typeof onChange === 'function') {\n onChange(this._currentValue);\n }\n }\n}\n\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\nLookUp.subclasses = [];\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n/**\n * This is part of public Jsw API. Don't modify it!\n */\n\nexport { default as List } from './List';\nexport { default as ListContextMenu } from './ListContextMenu';\n\nimport AdditionalActions from './AdditionalActions';\nimport { COLUMN_SELECTION, COLUMN_ACTIONS, ITEMS_UNLIMITED } from './constants';\n\nexport const list = {\n COLUMN_SELECTION,\n COLUMN_ACTIONS,\n ITEMS_UNLIMITED,\n AdditionalActions,\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport Cookie from 'common/cookie';\nimport { Component, getComponent } from '../component';\nimport { Tooltip } from '../tooltip';\nimport { bar } from '../bar';\nimport { SmallTools } from '../small-tools';\nimport { messageBox } from '../message-box';\nimport { DropdownManager } from '../dropdown-manager';\nimport createComponent from '../createComponent';\nimport { captureMessage } from '@sentry/browser';\nimport addStatusMessage from '../addStatusMessage';\nimport clearStatusMessages from '../clearStatusMessages';\nimport showInternalError from '../showInternalError';\nimport prepareUrl from '../prepareUrl';\nimport addUrlParams from '../addUrlParams';\nimport render from '../render';\nimport createElement from '../createElement';\nimport escapeHtml from '../escapeHtml';\nimport emptyFn from '../emptyFn';\nimport { redirect } from '../form-redirect';\nimport Filters from './Filters';\nimport ListContextMenu from './ListContextMenu';\nimport { COLUMN_ACTIONS, COLUMN_SELECTION, ITEMS_UNLIMITED } from './constants';\nimport stripTags from 'helpers/stripTags';\nimport api from '../api';\n\nimport './List.less';\n\n/**\n * The class for the implementation of the widget \"List\". In addition to displaying the data,\n * it is possible to change the sorting, search, perform group operations.\n */\nclass List extends Component {\n /**\n * @cfg {String} listCls=list\n */\n /**\n * @cfg {String} dataUrl=\"\"\n */\n /**\n * @cfg {Object[]} operations List operations.\n * See SmallTools.operations for details.\n */\n /**\n * @cfg {Object[]} columns\n */\n /**\n * @cfg {Object[]} itemActions\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._cls += ' js-list';\n this._listCls = this._getConfigParam('listCls', 'list');\n this._tableId = `${this._id}-table`;\n this._dataUrl = this._getConfigParam('dataUrl', '');\n this._operations = this._getConfigParam('operations', null);\n this._itemActions = this._getConfigParam('itemActions', {});\n this._columns = this._getConfigParam('columns', []).filter(Boolean);\n this._limitValues = this._getConfigParam('limitValues', [10, 25, 100, ITEMS_UNLIMITED]);\n this._splitListData(this._getConfigParam('data', { data: null, pathbar: null, state: null, pager: null, locale: null, additional: null }));\n this._searchFilters = $H(this._getConfigParam('searchFilters', {}));\n this._searchOveral = this._getConfigParam('searchOveral', null);\n this._pageable = this._getConfigParam('pageable', true);\n /** @deprecated use renderDisabledSelectHint instead */\n this._disabledSelectHint = this._getConfigParam('disabledSelectHint', '');\n this._renderDisabledSelectHint = this._getConfigParam('renderDisabledSelectHint', null);\n this._clearStatusOnReload = this._getConfigParam('clearStatusOnReload', true);\n this.isDisabledItem = this._getConfigParam('isDisabledItem', () => false);\n this._onRedraw = this._getConfigParam('onRedraw', emptyFn);\n this._emptyViewMode = this._getConfigParam('emptyViewMode', 'items');\n this._getTotalInfo = this._getConfigParam('getTotalInfo', function () {\n return this.getLocale().formatMessage('recordsTotal', { total: this._pager.totalItemCount });\n });\n this._getRowClass = this._getConfigParam('getRowClass', function () {\n return '';\n });\n\n if (Array.isArray(this._operations)) {\n this._operations = this._operations.filter(value => value !== null);\n if (!this._operations.length) {\n this._operations = null;\n }\n }\n }\n\n _getSearchOveralField() {\n if (null === this._searchOveral) {\n this._searchFilters.each(function (pair) {\n if (pair.value.overal) {\n this._searchOveral = pair.key;\n }\n }, this);\n if (null === this._searchOveral && 1 === this._searchFilters.keys().length) {\n this._searchOveral = this._searchFilters.keys()[0];\n }\n if (null === this._searchOveral) {\n this._searchOveral = false;\n }\n }\n\n return this._searchOveral;\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._updateComponentElement(`<div id=\"${this._id}-container\"></div>`);\n this._initDisablerOverlay();\n }\n\n _splitListData(listData, place) {\n if (!listData || !listData.data) {\n return false;\n }\n\n const dataLen = listData.data.length;\n if ('before' === place) {\n this._data = listData.data.concat(this._data);\n } else if ('after' === place) {\n this._data = this._data.concat(listData.data);\n } else {\n this._data = listData.data;\n }\n this._state = listData.state || {};\n this._pager = listData.pager || {};\n if (listData.locale) {\n this._locale.messages = { ...this._locale.messages, ...listData.locale };\n }\n if (listData.pathbar) {\n this._pathbar = listData.pathbar;\n }\n if (listData.additional) {\n this._additionalData = { ...this._additionalData, ...listData.additional };\n }\n return dataLen;\n }\n\n _isColumnSelectionPresent() {\n return this._getColumns().includes(COLUMN_SELECTION);\n }\n\n /**\n * @param {String} dataIndex\n */\n onHeaderClick(dataIndex) {\n this._state.sortField = dataIndex;\n this._state.sortDirection = ('down' === this._state.sortDirection)\n ? 'up'\n : 'down';\n\n this.reload(`/sort-field/${dataIndex}/sort-dir/${this._state.sortDirection}`);\n }\n\n /**\n * @param {Boolean} [force]\n */\n updateFilter(force) {\n if (!document.getElementById(this._tableId)) {\n this.checkEmptyList();\n return;\n }\n let filterChanged = false;\n let hasFilter = false;\n this._getColumns()\n .filter(({ isVisible }) => 'function' !== typeof isVisible || isVisible())\n .forEach(column => {\n if (!column.filter || !column.filter.type) {\n return;\n }\n\n let input;\n if (column.filter.options) {\n if (column.filter.multi) {\n input = this._componentElement.querySelector(`th[data-index=\"${column.dataIndex}\"]`).querySelectorAll('input[type=checkbox]:checked');\n } else {\n input = this._componentElement.querySelector(`th[data-index=\"${column.dataIndex}\"] select`);\n }\n } else {\n input = this._componentElement.querySelector(`th[data-index=\"${column.dataIndex}\"] input`);\n }\n if (!input) {\n column.filter.value = '';\n return;\n }\n\n hasFilter = true;\n\n let value;\n if (column.filter.multi) {\n value = [];\n input.forEach(function (el) {\n value.push(el.value.toLowerCase());\n });\n if (value.length === column.filter.options.length) {\n value = [];\n }\n } else {\n value = input.value.toLowerCase();\n }\n if (value === column.filter.value) {\n return;\n }\n\n column.filter.value = value;\n filterChanged = true;\n });\n\n if (!hasFilter || (!force && !filterChanged)) {\n this.checkEmptyList();\n return;\n }\n let oddEvenRowClass = 'even';\n document.getElementById(this._tableId).querySelectorAll('tr.odd, tr.even').forEach((row, rowIndex) => {\n const cells = row.childNodes;\n let match = true;\n\n this._getColumns()\n .filter(({ isVisible }) => 'function' !== typeof isVisible || isVisible())\n .forEach((column, columnIndex) => {\n const value = this._data[rowIndex][column.dataIndex];\n if (cells[columnIndex]._filtered) {\n if (column.noEscape) {\n cells[columnIndex].innerHTML = value;\n } else {\n cells[columnIndex].innerHTML = escapeHtml(value);\n }\n delete cells[columnIndex]._filtered;\n }\n\n if (!match || !column.filter || !column.filter.type || 0 === column.filter.value.length) {\n return;\n }\n\n if (column.filter.type === 'date') {\n if (new Date(value.replace(/ /g, 'T')) < new Date(column.filter.value.replace(/ /g, 'T'))) {\n match = false;\n }\n return;\n }\n\n if (column.filter.options) {\n if (column.filter.multi) {\n if (column.filter.value.indexOf(value.toLowerCase()) === -1) {\n match = false;\n }\n } else if (value.toLowerCase() !== column.filter.value) {\n match = false;\n }\n return;\n }\n\n const pos = value.toLowerCase().indexOf(column.filter.value);\n\n if (pos === -1 || (column.filter.startsWith && pos !== 0)) {\n match = false;\n return;\n }\n\n if (column.noEscape) {\n cells[columnIndex].innerHTML = `${value.substr(0, pos)\n }<b class=\"search-result-label\">${\n value.substr(pos, column.filter.value.length)\n }</b>${\n value.substr(pos + column.filter.value.length)}`;\n } else {\n cells[columnIndex].innerHTML = `${escapeHtml(value.substr(0, pos))\n }<b class=\"search-result-label\">${\n escapeHtml(value.substr(pos, column.filter.value.length))\n }</b>${\n escapeHtml(value.substr(pos + column.filter.value.length))}`;\n }\n cells[columnIndex]._filtered = true;\n });\n\n if (match) {\n row.classList.remove(oddEvenRowClass);\n oddEvenRowClass = oddEvenRowClass === 'odd' ? 'even' : 'odd';\n row.classList.add(oddEvenRowClass);\n row.style.display = '';\n } else {\n row.style.display = 'none';\n }\n });\n this.checkEmptyList();\n }\n\n /**\n * @param {String} value\n */\n onLimitClick(value) {\n this.reload({ 'items-per-page': value });\n }\n\n /**\n * @param {String} page\n */\n onPagerClick(page) {\n this.reload({ page });\n }\n\n handleSelectButtonClick = () => {\n const globalCheckbox = this._componentElement.querySelector('input[name=\"listGlobalCheckbox\"]');\n globalCheckbox.checked = !globalCheckbox.checked;\n this.onListGlobalCheckboxClick();\n };\n\n onListGlobalCheckboxClick() {\n const actionsBox = this._getActionBoxElement();\n const globalCheckbox = this._componentElement.querySelector('input[name=\"listGlobalCheckbox\"]');\n\n if (actionsBox) {\n const selectButton = actionsBox.querySelector('.r-actions-select');\n if (selectButton) {\n if (globalCheckbox.checked) {\n selectButton.classList.add('r-actions-item-active');\n } else {\n selectButton.classList.remove('r-actions-item-active');\n }\n }\n }\n\n this._componentElement.querySelectorAll('input[name=\"listCheckbox[]\"]').forEach(checkbox => {\n if (globalCheckbox.checked) {\n checkbox.closest('tr').classList.add('selected');\n } else {\n checkbox.closest('tr').classList.remove('selected');\n }\n checkbox.checked = globalCheckbox.checked;\n });\n }\n\n onPagerButtonClick(event) {\n const paging = this._componentElement.querySelector('.paging');\n const show = !paging.classList.contains('r-paging-visible');\n if (this._actionBox) {\n this._actionBox._hideResponsiveButtonBlocks();\n }\n if (show) {\n paging.classList.add('r-paging-visible');\n }\n event.stopPropagation();\n }\n\n listHeadersView() {\n const headers = [];\n const filters = [];\n let hasFilter = false;\n let colspan = 0;\n\n this._getColumns().forEach(column => {\n if (colspan) {\n colspan--;\n return;\n }\n\n if ('function' === typeof column.isVisible) {\n if (!column.isVisible()) {\n return;\n }\n }\n\n if (column.headerColspan) {\n colspan = column.headerColspan;\n }\n\n let { header } = column;\n\n let headerCls = column.headerCls ? `.${column.headerCls}` : '';\n\n if ('undefined' !== typeof column.headerRenderer) {\n header = column.headerRenderer(column);\n } else {\n let sortCssClass = '';\n if (this._state.sortField === column.dataIndex) {\n sortCssClass = 'down' === this._state.sortDirection ? '' : '.sort-up';\n headerCls += '.sort';\n }\n\n if (column.sortable) {\n header = createElement(`a${sortCssClass}`, { onclick: this.onHeaderClick.bind(this, column.dataIndex) }, header);\n }\n }\n headers.push(createElement(`th${headerCls}${colspan ? `[colspan=\"${colspan}\"]` : ''}`, { ...column.headerParams }, header));\n\n let filter = '';\n if (column.filter) {\n hasFilter = true;\n filter = Filters.create({\n name: column.dataIndex,\n locale: this.getLocale(),\n ...column.filter,\n }, this.updateFilter.bind(this, false));\n }\n filters.push(createElement('th', { 'data-index': column.dataIndex }, filter));\n });\n\n return createElement('thead',\n hasFilter ? createElement('tr.list-search-filter', filters) : '',\n createElement('tr', headers),\n );\n }\n\n listDataView(listData = this._data, indexOffset = 0) {\n if (!listData) {\n return null;\n }\n\n return createElement('tbody',\n Object.keys(listData).map(index => this.rowView(listData[index], index, indexOffset)),\n );\n }\n\n rowView(item, index, indexOffset) {\n const columns = this._getColumns()\n .filter(column => 'function' !== typeof column.isVisible || column.isVisible())\n .map(column => {\n let cell = null;\n\n if (typeof column.renderer === 'function') {\n const isDisabled = this.isDisabledItem(item);\n\n if (!isDisabled || !column.hideDisabled) {\n cell = column.renderer.call(this, item, isDisabled);\n }\n } else if ('undefined' !== typeof column.dataIndex && 'undefined' !== typeof item[column.dataIndex]) {\n if (column.noEscape) {\n cell = item[column.dataIndex];\n } else {\n cell = escapeHtml(item[column.dataIndex]);\n }\n }\n\n return createElement('td', {\n class: column.cls,\n }, cell);\n });\n\n return createElement(`tr.${this._getRowClass(item)}.${(index + indexOffset) % 2 ? 'even' : 'odd'}`, {\n 'data-row-id': item.id,\n }, columns);\n }\n\n listView() {\n return createElement(`.${this._listCls}`,\n createElement(`table#${this._tableId}[width=\"100%\"][cellspacing=\"0\"]`,\n this.listHeadersView(),\n this.listDataView(),\n ),\n );\n }\n\n containerView() {\n return createElement(`#${this._id}-container`,\n this._getActionBox(),\n this._getPathbarHtml(),\n this._getPagerHtml(),\n this.listView(),\n this._getPagerHtml(),\n this.emptyViewContainer(),\n );\n }\n\n checkEmptyList() {\n const isEmpty = this.isListEmpty();\n this._componentElement.querySelectorAll('.js-empty-list').forEach(element => {\n element.style.display = isEmpty ? '' : 'none';\n });\n this._componentElement.querySelectorAll('.paging').forEach(element => {\n element.style.display = isEmpty ? 'none' : '';\n });\n const listSelector = this._listCls.split(' ').reduce((previousValue, currentValue) => {\n if (currentValue !== '') {\n previousValue += `.${currentValue}`;\n }\n return previousValue;\n }, '');\n this._componentElement.querySelectorAll(listSelector).forEach(element => {\n element.style.display = isEmpty ? 'none' : '';\n });\n }\n\n isFiltered() {\n return Object.values(this._state?.searchFilters || {}).some(({ searchText }) => searchText);\n }\n\n isListEmpty() {\n if (!document.getElementById(this._tableId)) {\n return !this._data.length;\n }\n return ![...document.getElementById(this._tableId).querySelectorAll('tr.odd, tr.even')].filter(element => element.style.display !== 'none').length;\n }\n\n _getActionBox() {\n if (!this._operations && !this._searchFilters.keys().length) {\n return null;\n }\n\n if (!this.isFiltered() && this.isListEmpty() && this._emptyViewMode === 'all') {\n return null;\n }\n\n if (this._state.forceShowSearch) {\n Cookie.set(`${this._id}-search-show`, 'true');\n }\n\n this._actionBox = new SmallTools({\n locale: this.getLocale(),\n operationsId: `${this._id}-operations`,\n operations: this._getOperations(),\n listId: this._id,\n searchFilters: this._searchFilters,\n searchFiltersState: this._state.searchFilters,\n searchOveral: this._searchOveral,\n searchHandler: this._onSearchClick.bind(this),\n resetSearchHandler: this._onResetSearchClick.bind(this),\n searchCollapsed: 'true' !== Cookie.get(`${this._id}-search-show`),\n onToggleSearch: collapsed => {\n Cookie.set(`${this._id}-search-show`, !collapsed);\n this._hideItemsNotSelectedWarning();\n },\n quickSearchInputId: `${this._id}-search-text-${this._getSearchOveralField()}`,\n });\n\n return this._actionBox;\n }\n\n _getActionBoxElement() {\n return this._componentElement.querySelector('.actions-box');\n }\n\n _getPathbarHtml() {\n if (!this._pathbar) {\n return '';\n }\n\n return `<div id=\"${this._id}-pathbar\"></div>`;\n }\n\n _getPagerHtml() {\n return this._pageable ? (\n createElement('.paging',\n createElement('.paging-area',\n createElement('span.paging-info', { onclick: e => this.onPagerButtonClick(e) }, this._getTotalInfo()),\n createElement('span.paging-view', this.lmsg('numberOfItemPerPage'), ': ', this._getLimitValuesHtml()),\n this._pager.pageCount > 1 ? createElement('span.paging-nav', this.lmsg('pages'), ': ', this._getPagesItemsHtml()) : null,\n ),\n )\n ) : null;\n }\n\n _getLimitValuesHtml() {\n const result = [];\n this._limitValues.forEach((limitValue, index) => {\n const limitValueTitle = (ITEMS_UNLIMITED === limitValue)\n ? this.lmsg('allItems')\n : limitValue;\n\n if (index > 0) {\n result.push(' ');\n }\n result.push(this._pager.itemCountPerPage !== limitValue ? (\n createElement('a', { onclick: () => this.onLimitClick(limitValue) }, limitValueTitle)\n ) : (\n createElement('span', limitValueTitle)\n ));\n });\n return result;\n }\n\n _getPagesItemsHtml() {\n const result = [];\n\n if (this._pager.first !== this._pager.current) {\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.first) }, this.lmsg('firstPage')));\n } else {\n result.push(createElement('span', this.lmsg('firstPage')));\n }\n result.push(' ');\n\n if (this._pager.previous) {\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.previous) }, '<<'));\n } else {\n result.push(createElement('span', '<<'));\n }\n result.push(' ');\n\n $H(this._pager.pagesInRange).values().each(page => {\n if (page !== this._pager.current) {\n result.push(createElement('a', { onclick: () => this.onPagerClick(page) }, page));\n } else {\n result.push(page);\n }\n result.push(' ');\n });\n\n if (this._pager.next) {\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.next) }, '>>'));\n } else {\n result.push(createElement('span', '>>'));\n }\n result.push(' ');\n\n if (this._pager.last !== this._pager.current) {\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.last) }, this.lmsg('lastPage')));\n } else {\n result.push(createElement('span', this.lmsg('lastPage')));\n }\n\n return result;\n }\n\n emptyViewContainer() {\n return createElement('.js-empty-list.empty-list',\n this.isFiltered() ? createElement('p.text-muted', this.lmsg('noEntriesFound')) : this.emptyView(),\n );\n }\n\n emptyView() {\n return this._getConfigParam('emptyView', createElement('p.text-muted', this.lmsg('noEntries')));\n }\n\n _onSearchClick(form) {\n this.reload(`?${Form.serialize(form)}`);\n }\n\n _onResetSearchClick() {\n this.reload('/reset-search/true/');\n }\n\n _addSelectionHandlers() {\n let selectButton;\n\n const rActionsList = this._componentElement.querySelector('.actions-box .r-actions-list');\n if (rActionsList) {\n selectButton = new Element('li', { class: 'r-actions-item r-actions-select' });\n selectButton.innerHTML = '<span></span>';\n selectButton.addEventListener('click', event => {\n event.stopPropagation();\n this.handleSelectButtonClick();\n });\n render(rActionsList, selectButton, 'top');\n }\n\n const globalCheckbox = this._componentElement.querySelector('input[name=\"listGlobalCheckbox\"]');\n globalCheckbox.addEventListener('click', this.onListGlobalCheckboxClick.bind(this));\n\n this._componentElement.querySelectorAll('input[name=\"listCheckbox[]\"]').forEach(checkbox => {\n checkbox.addEventListener('click', () => {\n if (checkbox.checked) {\n checkbox.closest('tr').classList.add('selected');\n } else {\n checkbox.closest('tr').classList.remove('selected');\n globalCheckbox.checked = false;\n if (selectButton) {\n selectButton.classList.remove('r-actions-item-active');\n }\n }\n });\n });\n\n document.body.addEventListener('click', event => {\n if (event.target.closest('.actions-box')) {\n return;\n }\n\n this._hideItemsNotSelectedWarning();\n });\n document.body.addEventListener('touchstart', () => {\n this._hideItemsNotSelectedWarning();\n });\n }\n\n _addPathbar() {\n if (!this._pathbar) {\n return;\n }\n\n render(document.getElementById(`${this._id}-pathbar`), createComponent(this._pathbar));\n }\n\n disable() {\n this._disablerOverlay.style.display = '';\n }\n\n enable() {\n this._disablerOverlay.style.display = 'none';\n }\n\n getSelectedItemsIds() {\n return [...this._componentElement.querySelectorAll('input[name=\"listCheckbox[]\"]')]\n .filter(({ checked }) => checked)\n .map(({ value }) => value);\n }\n\n getSelectedItems() {\n const ids = [];\n const selectedItems = [];\n\n this.getSelectedItemsIds().forEach(function (id) {\n ids.push(id);\n });\n\n this._data.forEach(function (dataItem) {\n const itemIndex = ids.indexOf(dataItem.id.toString());\n if (itemIndex < 0) {\n return;\n }\n\n selectedItems.push(dataItem);\n });\n\n return selectedItems;\n }\n\n checkNonEmptySelection() {\n if (!this.getSelectedItemsIds().length) {\n this._showItemsNotSelectedWarning();\n return false;\n }\n this._hideItemsNotSelectedWarning();\n return true;\n }\n\n execLongGroupOperation(params, event) {\n let itemId;\n params.onSuccess = function () {\n const progressBar = getComponent('asyncProgressBarWrapper');\n progressBar.removePreparingItem(itemId);\n progressBar.update();\n };\n\n params.beforeSendRequest = function (sendRequest) {\n const beginOffset = Element.cumulativeOffset(event.target);\n itemId = getComponent('asyncProgressBarWrapper').fly(beginOffset,\n params.taskName,\n function () {\n sendRequest();\n });\n };\n\n this.execGroupOperation(params);\n }\n\n execGroupOperation(params) {\n const payload = params.payload || {};\n // workaround for $A(payload) called in extensions\n Object.defineProperty(payload, 'toArray', {\n value() {\n return Object.entries(this).map(([key, value]) => ({ key, value }));\n },\n });\n\n const idsParamName = params.submitVarName\n ? params.submitVarName\n : 'ids';\n\n const { toJsonPayload } = params;\n const selectedItems = params.selectedItems ? params.selectedItems : this.getSelectedItemsIds();\n selectedItems.forEach((id, index) => {\n if (toJsonPayload) {\n payload[idsParamName] ||= [];\n payload[idsParamName].push(id);\n } else {\n payload[`${idsParamName}[${index}]`] = id;\n }\n });\n\n if (params.checkSelection) {\n if (!params.checkSelection()) {\n return;\n }\n } else if (!selectedItems.length) {\n this._showItemsNotSelectedWarning();\n return;\n } else {\n this._hideItemsNotSelectedWarning();\n }\n\n const submit = this._submit;\n const sendRequestHandler = params.submitHandler\n ? params.submitHandler\n : (url, payload) => {\n const parameters = {\n method: 'post',\n parameters: payload,\n reloading: false,\n context: this,\n\n onSuccess: transport => {\n let response;\n try {\n response = JSON.parse(transport.responseText);\n } catch {\n showInternalError(transport.responseText);\n return;\n }\n if (response.redirect) {\n redirect(response.redirect);\n } else if (!response.noReload) {\n parameters.reloading = true;\n this.reload();\n }\n\n if (this._clearStatusOnReload) {\n clearStatusMessages();\n }\n response.statusMessages?.forEach(({ status, content }) => {\n addStatusMessage(status, content);\n });\n\n if (params.onSuccess) {\n params.onSuccess(response);\n }\n },\n\n onCreate: () => {\n this.disable();\n },\n\n onComplete: () => {\n if (!parameters.reloading) {\n this.enable();\n }\n },\n\n onFailure: req => {\n if (504 === req.status) {\n addStatusMessage('error', this.lmsg('timeoutMessage'));\n } else {\n showInternalError(req.responseText);\n }\n\n this.enable();\n },\n };\n\n submit(prepareUrl(url), parameters);\n };\n\n const sendRequest = function () {\n if (params.beforeSendRequest) {\n params.beforeSendRequest(() => {\n sendRequestHandler(params.url, payload);\n }, payload);\n } else {\n sendRequestHandler(params.url, payload);\n }\n };\n\n let { skipConfirmation } = params;\n const { mouseEvent } = params;\n\n if (mouseEvent && !skipConfirmation) {\n mouseEvent.preventDefault();\n skipConfirmation = mouseEvent.shiftKey;\n }\n\n if (skipConfirmation) {\n sendRequest();\n } else {\n params.confirmationPopup = params.confirmationPopup || this._confirmationPopup.bind(this, params, sendRequest);\n params.confirmationPopup(payload);\n }\n }\n\n _submit(url, params) {\n new Ajax.Request(url, params);\n }\n\n _confirmationPopup({\n getConfirmOnGroupOperation,\n text,\n description,\n subtype,\n needAttention = false,\n needAttentionText = '',\n needAttentionBlockSubmit = false,\n needAttentionOnChange = null,\n requestUrl,\n isAjax,\n loadingTitle,\n locale = {},\n }, onYesClick, requestParams) {\n messageBox.show({\n type: messageBox.TYPE_YESNO,\n buttonTitles: ['Yes', 'No', 'Wait'].reduce((titles, key) => {\n const buttonKey = `button${key}`;\n if (locale[buttonKey]) {\n titles[key.toLowerCase()] = locale[buttonKey];\n }\n return titles;\n }, {}),\n text: getConfirmOnGroupOperation ? getConfirmOnGroupOperation() : text || locale.confirmOnGroupOperation,\n description,\n subtype,\n needAttention,\n needAttentionText,\n needAttentionBlockSubmit,\n needAttentionOnChange,\n onYesClick,\n\n isAjax,\n requestUrl,\n requestParams,\n loadingTitle,\n });\n }\n\n _showItemsNotSelectedWarning() {\n this._hideItemsNotSelectedWarning();\n const element = this._getActionBoxElement()?.querySelector('.actions-msg-container');\n if (element) {\n element.style.display = '';\n } else {\n render(this._getActionBoxElement(), (\n '<div class=\"actions-msg-container\">' +\n `<span class=\"list-actions-msg\"><span>${this.lmsg('itemsNotSelected')}</span></span>` +\n '</div>'\n ), 'top');\n }\n this._itemsNotSelectedTimerId = setTimeout(() => {\n this._hideItemsNotSelectedWarning();\n }, 3000);\n }\n\n _hideItemsNotSelectedWarning() {\n clearTimeout(this._itemsNotSelectedTimerId);\n const element = this._getActionBoxElement()?.querySelector('.actions-msg-container');\n if (element) {\n element.style.display = 'none';\n }\n }\n\n _addEvents() {\n super._addEvents();\n\n document.body.addEventListener('click', () => {\n const paging = this._componentElement.querySelector('.paging');\n if (paging) {\n paging.classList.remove('r-paging-visible');\n }\n });\n }\n\n reload(urlParams, place) {\n urlParams = urlParams || '';\n\n if (!this._dataUrl) {\n return null;\n }\n\n let reloadUrl = addUrlParams(this._dataUrl, urlParams);\n\n if (this._additionalData && this._additionalData.controllerName) {\n reloadUrl = addUrlParams(reloadUrl, { controllerName: this._additionalData.controllerName });\n }\n if (this._additionalData && this._additionalData.actionName) {\n reloadUrl = addUrlParams(reloadUrl, { actionName: this._additionalData.actionName });\n }\n\n if (this._request) {\n this._request.abort();\n }\n\n this._request = new Ajax.Request(prepareUrl(reloadUrl), {\n method: 'get',\n onSuccess: this._onReloadSuccess.bind(this, place),\n onFailure: this._onReloadFailure.bind(this),\n onException: this._onReloadException.bind(this),\n onCreate: this._onReloadCreate.bind(this),\n onComplete: this._onReloadComplete.bind(this),\n });\n return this._request;\n }\n\n _onReloadSuccess(place, transport) {\n if (!transport.responseText) {\n // :INFO: sometimes happens in FF if you are go to other page during request\n return;\n }\n\n let data = {};\n try {\n data = JSON.parse(transport.responseText);\n } catch {\n showInternalError(transport.responseText);\n return;\n }\n if (data.redirect) {\n redirect(data.redirect);\n }\n const dataLen = this._splitListData(data, place);\n if (false === dataLen) {\n this.processReloadError(data);\n } else {\n this.redraw(place, dataLen);\n }\n }\n\n _onReloadFailure(transport) {\n showInternalError(transport.responseText);\n }\n\n _onReloadException(transport, exception) {\n showInternalError(`${exception}\\n${transport.responseText}`);\n }\n\n _onReloadCreate() {\n if (this._clearStatusOnReload) {\n clearStatusMessages();\n }\n this.disable();\n }\n\n _onReloadComplete() {\n this._request = null;\n this.enable();\n }\n\n _addDisabledCheckboxesHints() {\n const checkboxes = this._componentElement.querySelectorAll('input[type=\"checkbox\"][disabled]');\n\n checkboxes.forEach(checkbox => {\n new Tooltip.Instance(checkbox.previousSibling, { text: this._disabledSelectHint });\n });\n }\n\n _renderDisabledCheckboxesHints() {\n if (!this._renderDisabledSelectHint) {\n return;\n }\n\n this._data.forEach(item => {\n const hint = this._renderDisabledSelectHint(item);\n\n if (!hint) {\n return;\n }\n\n const row = document.getElementById(this._tableId).querySelector(`[data-row-id=\"${item.id}\"]`);\n const checkbox = row.querySelector('input[type=\"checkbox\"][disabled]');\n\n if (!checkbox) {\n return;\n }\n\n new Tooltip.Instance(checkbox.previousSibling, { text: hint });\n });\n }\n\n /**\n * @param {String} [place]\n * @param {Number} [dataLen]\n */\n redrawPartial(place, dataLen) {\n if (!dataLen) {\n return;\n }\n\n if ('before' === place) {\n render(\n document.getElementById(this._tableId).querySelector('thead'),\n this.listDataView(this._data.slice(0, dataLen)),\n 'after',\n );\n } else if ('after' === place) {\n render(\n document.getElementById(this._tableId),\n this.listDataView(this._data.slice(-dataLen)),\n );\n }\n\n Tooltip.initData(this._componentElement);\n this.updateFilter(true);\n }\n\n /**\n * @param {String} [place]\n * @param {Number} [dataLen]\n */\n redraw(place, dataLen) {\n if (place && document.getElementById(this._tableId)) {\n this.redrawPartial(place, dataLen);\n this._onRedraw();\n return;\n }\n\n this._componentElement.removeChild(this._componentElement.firstChild);\n render(this._componentElement, this.containerView(), 'top');\n\n if (this._isColumnSelectionPresent() && this._pager.totalItemCount > 0) {\n this._addSelectionHandlers();\n }\n if (this._contextMenu) {\n this._contextMenu.onRedraw();\n }\n\n this._addPathbar();\n\n if (this._disabledSelectHint) {\n this._addDisabledCheckboxesHints();\n }\n this._renderDisabledCheckboxesHints();\n\n this._addResponsiveHtml();\n\n this._initDropdowns();\n this._initItemActions();\n Tooltip.initData(this._componentElement);\n this.updateFilter(true);\n this._onRedraw();\n }\n\n _initItemActions() {\n this._componentElement.querySelectorAll('a[data-action-name]').forEach(link => {\n link.addEventListener('click', event => {\n event.preventDefault();\n if (!this._itemActions[link.dataset.actionName]) {\n return;\n }\n\n const itemId = link.closest('tr').dataset.rowId;\n const row = this._data.filter(({ id }) => id === itemId)[0];\n this._itemActions[link.dataset.actionName](row, event);\n });\n });\n }\n\n _initDropdowns() {\n let dropdown;\n this._dropdowns = this._dropdowns || [];\n while ((dropdown = this._dropdowns.pop())) {\n DropdownManager.unregister(dropdown);\n }\n\n this._componentElement.querySelectorAll('.dropdown .input-group').forEach(el => {\n this._dropdowns.push(DropdownManager.register(el,\n function () {\n return el.parentNode.classList.contains('open');\n },\n function () {\n el.parentNode.classList.add('open');\n },\n function () {\n el.parentNode.classList.remove('open');\n },\n ));\n });\n }\n\n /**\n * @param {*} data\n */\n processReloadError(data) {\n if (data && data.statusMessages) {\n data.statusMessages.forEach(({ status, content }) => {\n addStatusMessage(status, content);\n });\n } else {\n showInternalError('Unable to load list data.');\n }\n }\n\n /**\n * @param {Function} callback\n * @returns {Boolean}\n */\n hasSelectedItems(callback) {\n const selected = this.getSelectedItemsIds();\n\n if (!selected.length) {\n this._showItemsNotSelectedWarning();\n return false;\n }\n this._hideItemsNotSelectedWarning();\n\n if (callback) {\n callback.bind(this)();\n }\n\n return true;\n }\n\n getItemById(itemId) {\n for (let i = 0; i < this._data.length; i++) {\n if (((typeof this._data[i].id) === 'number' && this._data[i].id === Number(itemId)) ||\n this._data[i].id === itemId\n ) {\n return this._data[i];\n }\n }\n return null;\n }\n\n getItemByName(itemName) {\n for (let i = 0; i < this._data.length; i++) {\n if (this._data[i].name === itemName) {\n return this._data[i];\n }\n }\n return null;\n }\n\n _addResponsiveHtml() {\n const columns = this._componentElement.querySelectorAll('thead th');\n this._componentElement.querySelectorAll(`#${this._tableId} tbody tr`).forEach(row => {\n const cells = row.children;\n for (let i = 0; i < cells.length; i++) {\n const element = cells[i];\n const columnName = stripTags(columns[i].innerHTML.trim());\n const columnNameHtml = `<span class=\"r-visible\">${columnName}</span>`;\n\n this._addResponsiveHtmlToButtons(element, columnNameHtml);\n\n this._addResponsiveHtmlToImages(element, columnNameHtml);\n\n this._addResponsiveHtmlToIcons(element, columnNameHtml);\n\n this._addResponsiveHtmlToNumbers(element, columnName);\n }\n });\n }\n\n _addResponsiveHtmlToButtons(element, columnNameHtml) {\n const buttons = element.querySelectorAll('a.s-btn');\n buttons.forEach(button => {\n const tooltip = button.parentNode.querySelector('.tooltipData');\n if (!button.querySelector('span').innerHTML && tooltip) {\n button.querySelector('span').innerHTML = `<span class=\"r-visible\">${tooltip.innerHTML}</span>`;\n }\n });\n if (buttons.length === 1 && !buttons[0].querySelector('span').innerHTML) {\n buttons[0].querySelector('span').innerHTML = columnNameHtml;\n }\n }\n\n _addResponsiveHtmlToImages(element, columnNameHtml) {\n const images = element.querySelectorAll('a img,a [class^=\"icon-\"],a [class*=\" icon-\"]');\n images.forEach(image => {\n let text = '';\n const tooltip = image.parentNode.parentNode.querySelector('.tooltipData');\n if (!tooltip) {\n if (images.length !== 1) {\n return;\n }\n text = columnNameHtml;\n } else {\n text = tooltip.innerHTML;\n }\n if (!image.closest('.b-indent-icon') || !image.closest('a').innerHTML.replace(image.closest('.b-indent-icon').outerHTML, '').trim()) {\n let wrapper = image;\n if ('img' === image.tagName.toLowerCase()) {\n const icon = document.createElement('i');\n icon.className = 'icon';\n wrapper.parentNode.replaceChild(icon, wrapper);\n wrapper = icon;\n icon.appendChild(image);\n }\n render(wrapper, ` <span class=\"r-visible\">${text}</span>`, 'after');\n image.closest('a').classList.add('i-link');\n }\n });\n }\n\n _addResponsiveHtmlToIcons(element, columnNameHtml) {\n const icons = element.querySelectorAll('span.b-indent-icon');\n icons.forEach(icon => {\n const tooltip = icon.querySelector('.tooltipData');\n if (tooltip && !icon.parentNode.innerHTML.replace(icon.outerHTML, '').trim()) {\n render(icon.querySelector('img'), ` <span class=\"r-visible\">${tooltip.innerHTML}</span>`, 'after');\n }\n });\n if (icons.length === 1 && !icons[0].querySelector('span.r-visible') && !icons[0].parentNode.innerHTML.replace(icons[0].outerHTML, '').trim()) {\n render(icons[0].querySelector('img'), columnNameHtml, 'after');\n }\n }\n\n _addResponsiveHtmlToNumbers(element, columnName) {\n const number = element.innerHTML;\n const columnNameHtml = `<span class=\"r-visible\">${columnName}: </span>`;\n if ('-' === number || (!isNaN(parseFloat(number)) && isFinite(number))) {\n render(element, columnNameHtml, 'top');\n }\n const links = element.querySelectorAll('a');\n if (\n links.length === 1 &&\n ('-' === links[0].innerHTML || (!isNaN(parseFloat(links[0].innerHTML)) && isFinite(links[0].innerHTML)))\n ) {\n render(element, columnNameHtml, 'top');\n }\n }\n\n checkSyncStatus(statusElementId, url, onFinishCallback, randomId, options) {\n // list was reloaded - stop the check of sync status for old list elements\n if (this._randomId !== randomId) {\n return;\n }\n\n options = {\n timeout: 5000,\n progressStatus: 'started',\n ...options,\n };\n api.get(url)\n .then(result => {\n const statusElement = document.getElementById(statusElementId);\n if (!statusElement) {\n return;\n }\n if (options.progressStatus === result.status) {\n setTimeout(() => {\n this.checkSyncStatus(statusElementId, url, onFinishCallback, randomId, options);\n }, options.timeout);\n } else {\n onFinishCallback(statusElement, result);\n }\n });\n }\n\n _getOperations() {\n const operations = this._operations ? this._operations.slice() : [];\n if (!this._additionalData || !this._additionalData.operations || !this._additionalData.operations.length) {\n return operations;\n }\n const deleteButtonIndex = this._getDeleteButtonIndex();\n let args = [deleteButtonIndex, 0];\n if (deleteButtonIndex !== 0 && operations[deleteButtonIndex - 1].componentType !== 'Jsw.bar.Separator') {\n args.push({ componentType: bar.Separator });\n }\n args = args.concat(this._additionalData.operations);\n if (deleteButtonIndex !== operations.length) {\n args.push({ componentType: bar.Separator });\n }\n operations.splice(...args);\n return operations;\n }\n\n _getColumns() {\n const columns = this._columns.slice();\n\n const extensions = (this._additionalData && this._additionalData.extensions) || {};\n Object.keys(extensions).forEach(id => {\n this._modifyColumnsByExtension(columns, extensions[id]);\n });\n\n return columns;\n }\n\n _modifyColumnsByExtension(columns, extension) {\n const findColumn = dataIndex => {\n const column = columns.filter(column => column.dataIndex === dataIndex)[0];\n\n dataIndex = parseInt(dataIndex);\n return column || columns[dataIndex < 0 ? dataIndex + columns.length : dataIndex - 1];\n };\n\n if (extension.columnsOverride) {\n Object.keys(extension.columnsOverride).forEach(dataIndex => {\n const originalColumn = findColumn(dataIndex);\n if (!originalColumn) {\n return;\n }\n\n const column = extension.columnsOverride[dataIndex];\n\n if (column.title) {\n column.header = column.title;\n }\n\n if (column.renderer) {\n // eslint-disable-next-line no-eval\n column.renderer = eval(`(${column.renderer})`);\n captureMessage('Method eval has been called in _modifyColumnsByExtension (override)');\n }\n\n if ('undefined' !== typeof column.isVisible && !column.isVisible) {\n column.isVisible = function () {\n return false;\n };\n }\n\n Object.extend(originalColumn, column);\n });\n }\n\n if (extension.columns) {\n Object.keys(extension.columns).forEach(dataIndex => {\n let column = extension.columns[dataIndex];\n\n if (column.renderer) {\n // eslint-disable-next-line no-eval\n column.renderer = eval(`(${column.renderer})`);\n captureMessage('Method eval has been called in _modifyColumnsByExtension');\n }\n\n column = {\n header: column.title,\n dataIndex,\n ...column,\n };\n\n let index;\n let originalColumn;\n\n if (column.insertBefore && (originalColumn = findColumn(column.insertBefore))) {\n index = columns.indexOf(originalColumn);\n } else if (column.insertAfter && (originalColumn = findColumn(column.insertAfter))) {\n index = columns.indexOf(originalColumn) + 1;\n } else {\n index = columns.length;\n }\n\n columns.splice(index, 0, column);\n });\n }\n }\n\n _getDeleteButtonIndex() {\n if (!this._operations) {\n return 0;\n }\n let deleteButtonIndex = this._operations.length;\n this._operations.forEach((el, i) => {\n if (el.addCls === 'sb-remove-selected') {\n deleteButtonIndex = i;\n }\n });\n return deleteButtonIndex;\n }\n\n getItemActions({ actions = [] }) {\n actions = actions\n .reduce((actions, actionInfo) => {\n if (actionInfo === 'separator') {\n if (actions.length && actions[actions.length - 1] !== 'separator') {\n actions.push(actionInfo);\n }\n return actions;\n }\n\n if (typeof actionInfo === 'string') {\n actionInfo = { name: actionInfo };\n }\n if (actionInfo.href || this._itemActions[actionInfo.name]) {\n actions.push(actionInfo);\n }\n return actions;\n }, []);\n\n if (actions[actions.length - 1] === 'separator') {\n actions.pop();\n }\n\n return actions;\n }\n\n render() {\n super.render();\n\n if (this._getColumns().includes(COLUMN_ACTIONS)) {\n this._contextMenu = new ListContextMenu({\n renderTo: document.body,\n list: this,\n });\n }\n\n if (!this._data) {\n this.reload();\n return;\n }\n\n this.redraw();\n }\n}\n\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\nList.subclasses = [];\n\nexport default List;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport ce from '../createElement';\nimport { Container } from '../container';\nimport { DropdownManager } from '../dropdown-manager';\nimport isRtl from '../isRtl';\nimport prepareUrl from '../prepareUrl';\nimport render from '../render';\n\nconst TARGET_TYPE_DROP_DOWN = 'dropDown';\nconst TARGET_TYPE_TABLE_ROW = 'tableRow';\n\nclass ListContextMenu extends Container {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._cls = 'popup-box popup-menu collapsed';\n this._list = this._getConfigParam('list');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement.innerHTML = (\n '<table class=\"popup-wrapper\" cellspacing=\"0\"><tbody><tr><td class=\"popup-container\">' +\n '<div class=\"c1\"><div class=\"c2\"><div class=\"c3\"><div class=\"c4\"><div class=\"c5\">' +\n '<div class=\"popup-content\">' +\n '<div class=\"popup-content-area\"></div>' +\n '</div>' +\n '</div></div></div></div></div>' +\n '</td></tr></tbody></table>'\n );\n }\n\n /**\n * Called on list redraw\n */\n onRedraw() {\n this._initRowStyles();\n this._initShowOnClick();\n }\n\n /**\n * Get list of actions for popup by row\n */\n _prefillPopup(row) {\n render(this._componentElement.querySelector('.popup-content-area'), (\n ce('ul', this._list.getItemActions(row).map(actionInfo => {\n if (actionInfo === 'separator') {\n return ce('li.separator', ce('span'));\n }\n\n return ce('li',\n ce('a', {\n class: `sb-btn ${actionInfo.iconClass ? actionInfo.iconClass : 'sb-no-icon'}`,\n href: actionInfo.href ? prepareUrl(actionInfo.href) : null,\n target: actionInfo.newWindow ? '_blank' : null,\n 'data-button-key': actionInfo.name,\n onclick: this._list._itemActions[actionInfo.name] ? event => {\n event.preventDefault();\n this._list._itemActions[actionInfo.name](row, event);\n } : null,\n }, ce('i',\n ce('i',\n ce('i',\n ce('span', actionInfo.title || this._list.lmsg(`item-action-${actionInfo.name}`)),\n ),\n ),\n )),\n );\n }))\n ), 'inner');\n }\n\n /**\n * Show prefilled popup on context menu button click\n */\n _togglePopupNearButton(button) {\n document.getElementById(this._list._tableId).querySelectorAll('tr.odd,tr.even').forEach(el => {\n el.classList.remove('row-over');\n });\n this._componentElement.classList.add('collapsed');\n\n if (!button.closest('.btn-group').classList.contains('btn-group-open')) {\n document.querySelectorAll('.btn-list-menu').forEach(el => {\n el.closest('.btn-group').classList.remove('btn-group-open');\n });\n\n this._componentElement.classList.remove('collapsed');\n button.closest('tr').classList.add('row-over');\n }\n\n button.closest('.btn-group').classList.toggle('btn-group-open');\n\n const scrollOffsets = document.viewport.getScrollOffsets();\n const buttonPosition = Element.viewportOffset(button);\n buttonPosition.left += scrollOffsets.left;\n buttonPosition.top += scrollOffsets.top;\n\n const buttonWidth = Element.getWidth(button);\n const buttonHeight = Element.getHeight(button);\n\n if (!this._componentElement.classList.contains('collapsed')) {\n this._setPosition(\n buttonPosition.left,\n buttonPosition.top + buttonHeight,\n buttonPosition.left + buttonWidth,\n buttonPosition.top,\n );\n }\n }\n\n _initRowStyles() {\n document.getElementById(this._list._tableId).querySelectorAll('tr.odd,tr.even').forEach(el => {\n const button = el.querySelector('.dropdown-toggle');\n if (!button) {\n return;\n }\n\n const row = this._list.getItemById(button.dataset.rowId);\n if (!row || !this._list.getItemActions(row).length) {\n return;\n }\n\n el.classList.add('list-context-actions');\n });\n }\n\n /**\n * Hide popup and remove selection from row\n */\n _hidePopup() {\n this._componentElement.classList.add('collapsed');\n this.targetData.rowEl.querySelector('.btn-group').classList.remove('btn-group-open');\n this.targetData.rowEl.classList.remove('row-over');\n }\n\n _openPopup(event) {\n this._prefillPopup(this.targetData.rowData);\n if (this.targetType === TARGET_TYPE_TABLE_ROW) {\n this.targetData.rowEl.classList.add('row-over');\n this._componentElement.classList.remove('collapsed');\n this._setPosition(event.clientX + (window.scrollX || window.pageXOffset), event.clientY + (window.scrollY || window.pageYOffset));\n } else {\n this._togglePopupNearButton(this.targetData.dropDownEl);\n }\n }\n\n _isListContextEvent({ target }) {\n return !target.closest('input,a') && (target.closest('.list-menu') || target.closest('[data-row-id]'));\n }\n\n _getTargetData(target) {\n const rowEl = target.closest('tr');\n let dropDownEl;\n\n if (this.targetType === TARGET_TYPE_DROP_DOWN) {\n dropDownEl = target.closest('.btn-list-menu');\n } else if (this.targetType === TARGET_TYPE_TABLE_ROW) {\n dropDownEl = rowEl.querySelector('.dropdown-toggle');\n }\n if (!dropDownEl) {\n return null;\n }\n\n const rowData = this._list.getItemById(dropDownEl.dataset.rowId);\n if (rowData && this._list.getItemActions(rowData).length) {\n return {\n rowData,\n rowEl,\n dropDownEl,\n };\n }\n\n return null;\n }\n\n _getTargetType(target) {\n if (target.closest('.list-menu')) {\n return TARGET_TYPE_DROP_DOWN;\n }\n\n if (target.closest('[data-row-id]')) {\n return TARGET_TYPE_TABLE_ROW;\n }\n\n return null;\n }\n\n _open(event) {\n this.targetType = this._getTargetType(event.target);\n this.targetData = this._getTargetData(event.target);\n\n if (!this.targetData) {\n return;\n }\n\n this._openPopup(event);\n }\n\n _hide(event) {\n if (!this.targetData) {\n return;\n }\n\n this._hidePopup(event);\n\n if (this._isListContextEvent(event) && this._isImmediatelyOpening(event)) {\n this._open(event);\n }\n }\n\n _isOpened() {\n return (\n (\n this.targetData\n && this.targetData.dropDownEl\n && this.targetData.dropDownEl.closest('.btn-group').classList.contains('btn-group-open')\n )\n || !this._componentElement.classList.contains('collapsed')\n );\n }\n\n _isImmediatelyOpening(event) {\n const targetType = this._getTargetType(event.target);\n const targetData = this._getTargetData(event.target);\n\n return (targetType && targetData\n && ((targetType === TARGET_TYPE_DROP_DOWN && this.targetType === TARGET_TYPE_TABLE_ROW)\n || (targetType === TARGET_TYPE_DROP_DOWN\n && targetData.rowEl.dataset.rowId !== this.targetData.rowEl.dataset.rowId)\n )\n );\n }\n\n /**\n * Show popup on click row or dropdown button\n */\n _initShowOnClick() {\n DropdownManager.register(\n document.getElementById(this._list._tableId),\n this._isOpened.bind(this),\n this._open.bind(this),\n this._hide.bind(this),\n this._isListContextEvent.bind(this),\n );\n }\n\n _setPosition(x, y, altX, altY) {\n altX = altX || x;\n altY = altY || y;\n\n const scrollOffsets = document.viewport.getScrollOffsets();\n\n const windowWidth = Element.getWidth(document.body);\n const popupWidth = Element.getWidth(this._componentElement);\n if (isRtl()) {\n if ((altX - popupWidth - scrollOffsets.left) > 0) {\n x = altX - popupWidth;\n }\n } else if ((x + popupWidth - scrollOffsets.left) > windowWidth) {\n x = altX - popupWidth;\n }\n\n const windowHeight = Element.getHeight(document.body);\n const popupHeight = Element.getHeight(this._componentElement);\n const popupMarginTop = parseInt(Element.getStyle(this._componentElement, 'marginTop'));\n if ((y + popupHeight + popupMarginTop - scrollOffsets.top) > windowHeight) {\n y = altY - popupHeight - (2 * popupMarginTop);\n }\n\n this._componentElement.style.right = 'auto';\n this._componentElement.style.left = `${x}px`;\n this._componentElement.style.top = `${y}px`;\n }\n}\n\nexport default ListContextMenu;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport default () => document.documentElement.dir === 'rtl';\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport escapeAttribute from '../escapeAttribute';\n\nexport const COLUMN_SELECTION = {\n cls: 'select',\n headerCls: 'select',\n hideDisabled: false,\n headerRenderer() {\n return '<input type=\"checkbox\" class=\"checkbox\" name=\"listGlobalCheckbox\"/>';\n },\n renderer(item, isDisabled) {\n if (!isDisabled) {\n return `<input type=\"checkbox\" class=\"checkbox\" name=\"listCheckbox[]\" value=\"${escapeAttribute(item.id)}\"/>`;\n }\n\n return (\n '<div>' +\n '<span class=\"checkbox-disabled-wrapper\"></span>' +\n '<input style=\"z-index: 1;\" disabled=\"disabled\" type=\"checkbox\" class=\"checkbox\"/>' +\n '</div>'\n );\n },\n};\n\nexport const COLUMN_ACTIONS = {\n header: '',\n cls: 'min',\n sortable: false,\n renderer(item) {\n if (!item.actions || !item.actions.length) {\n return '';\n }\n const rowId = item.id ? escapeAttribute(item.id) : '';\n return (\n '<span class=\"btn-group list-menu\">' +\n `<button type=\"button\" class=\"btn btn-list-menu dropdown-toggle\" data-row-id=\"${rowId}\">` +\n '<i class=\"icon\">' +\n `<img src=\"${require('icons/16/plesk/menu.png')}\" alt=\"\">` +\n '</i> ' +\n '<em class=\"caret\"></em>' +\n '</button>' +\n '</span>'\n );\n },\n};\n\nexport const ITEMS_UNLIMITED = 100000;\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/menu.png?a75a537332528331bb513a94e26d173d\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/**\n * Remove tags from string\n */\nconst stripTags = (str: string): string => str.replace(/<\\/?[^>]+(>|$)/g, '');\n\nexport default stripTags;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from '../component';\nimport { SmallButton } from '../small-button';\nimport createComponent from '../createComponent';\nimport render from '../render';\n\nclass AdditionalActions extends Component {\n _initConfiguration(config) {\n super._initConfiguration({\n cls: 'actions-menu',\n ...config,\n });\n\n this._operations = this._getConfigParam('operations', null);\n this._titleAddCls = this._getConfigParam('titleAddCls', 'sb-more-actions');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n render(this._componentElement, (\n '<div class=\"popup-box collapsed\">' +\n '<table class=\"popup-wrapper\" cellspacing=\"0\"><tbody><tr>' +\n '<td class=\"popup-container\">' +\n '<div class=\"c1\"><div class=\"c2\"><div class=\"c3\"><div class=\"c4\"><div class=\"c5\">' +\n '<div class=\"popup-heading\">' +\n '<div class=\"heading-area\">' +\n '<span class=\"close\"></span>' +\n '<h4>' +\n `<span>${this._getConfigParam('title', '')}</span>` +\n '</h4>' +\n '</div>' +\n '</div>' +\n '<div class=\"popup-content\">' +\n '<div class=\"popup-content-area\">' +\n `<ul id=\"${this._id}-operations\">` +\n '</ul>' +\n '</div>' +\n '</div>' +\n '</div></div></div></div></div>' +\n '</td>' +\n '</tr></tbody></table>' +\n '</div>'\n ));\n }\n\n _addEvents() {\n super._addEvents();\n\n document.body.addEventListener('click', () => {\n this.collapse();\n });\n }\n\n enable() {\n this._titleButton.enable();\n }\n\n disable() {\n this._titleButton.disable();\n }\n\n toggle() {\n const popup = this._componentElement.querySelector('.popup-box');\n\n if (popup) {\n popup.classList.toggle('collapsed');\n }\n\n const button = this._componentElement.querySelector(`.${this._titleAddCls}`);\n\n if (button) {\n button.classList.toggle('active');\n }\n }\n\n collapse() {\n const popup = this._componentElement.querySelector('.popup-box');\n\n if (popup) {\n popup.classList.add('collapsed');\n }\n\n const button = this._componentElement.querySelector(`.${this._titleAddCls}`);\n\n if (button) {\n button.classList.remove('active');\n }\n }\n\n render() {\n super.render();\n\n this._titleButton = new SmallButton({\n id: `${this._id}-title-button`,\n title: this._getConfigParam('title', ''),\n cls: 's-btn',\n addCls: this._titleAddCls,\n handler: event => {\n event.preventDefault();\n event.stopPropagation();\n this.toggle();\n },\n });\n render(this._componentElement, this._titleButton);\n\n if (!this._operations) {\n return;\n }\n\n const operationsArea = this._componentElement.querySelector(`#${this._id}-operations`);\n this._operations.forEach(config => {\n const liElement = new Element('li');\n render(operationsArea, liElement);\n\n const operation = createComponent(config);\n const wrapperClass = operation.getWrapperClass();\n if (wrapperClass) {\n liElement.classList.add(wrapperClass);\n }\n\n render(liElement, operation);\n });\n\n if (this._getConfigParam('disabled', false)) {\n this.disable();\n } else {\n this.enable();\n }\n }\n}\n\nexport default AdditionalActions;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { StatusMessage } from './status-message';\n\nexport class UnresolvedDomainWarning extends StatusMessage {\n _addEvents() {\n super._addEvents();\n\n this._componentElement.querySelector('a#unresolved-domain-warning')?.addEventListener('click', e => {\n e.preventDefault();\n Plesk.require('app/dns-helper/dns-settings', run => {\n run({\n id: this._getConfigParam('id'),\n isAlias: this._getConfigParam('isAlias'),\n });\n });\n });\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { addToast } from 'helpers/toasts';\n\nimport { Component } from './component';\nimport { Container } from './container';\nimport { redirect } from './form-redirect';\nimport Observer from './Observer';\nimport createComponent from './createComponent';\nimport prepareUrl from './prepareUrl';\nimport escapeHtml from './escapeHtml';\nimport api from './api';\nimport pleskWS from './pleskWS';\nimport Locale from './Locale';\n\nconst STATUS_DONE = 'done';\nconst STATUS_ERROR = 'error';\nconst STATUS_STARTED = 'started';\nconst STATUS_NOT_STARTED = 'not_started';\nconst STATUS_PREPARING = 'preparing';\nconst STATUS_FLYING = 'flying';\nconst STATUS_CANCELED = 'canceled';\n\nclass Pool {\n constructor(items) {\n this.items = items;\n this.map = items.reduce((acc, item) => {\n acc[item.getId()] = item;\n return acc;\n }, {});\n }\n\n take(id) {\n if (this.map[id]) {\n const item = this.map[id];\n delete this.map[id];\n this.items = this.items.filter(item => item.getId() !== id);\n return item;\n }\n }\n\n shift() {\n const item = this.items.shift();\n if (item) {\n delete this.map[item.getId()];\n return item;\n }\n }\n\n hasItems() {\n return this.items.length > 0;\n }\n}\n\nconst generateUniq = () => Math.random().toString(36).slice(2);\n\nexport class ProgressBar extends Container {\n _initConfiguration(config) {\n super._initConfiguration({\n id: 'asyncProgressBarWrapper',\n ...config,\n });\n\n this._viewerId = this._getConfigParam('viewerId');\n\n this._preparingCounter = 0;\n this._hidden = false;\n\n this.intervalUpdateTimer = null;\n this.pleskWS = null;\n if (this._getConfigParam('wsEnabled')) {\n this.pleskWS = pleskWS.bind({\n actions: {\n task_created: this.onUpdated.bind(this),\n task_updated: this.onUpdated.bind(this),\n task_deleted: this.onDeleted.bind(this),\n },\n onOpen: this.loadTasks.bind(this),\n onClose: this.loadTasks.bind(this),\n });\n } else {\n this.loadTasks();\n }\n }\n\n addPreparingItem(title) {\n const id = `preparing-${this._preparingCounter}`;\n const item = new ProgressBar.Item({\n errors: [],\n progressTitle: title,\n status: 'flying',\n id,\n uniq: generateUniq(),\n });\n this._preparingCounter++;\n this._items.unshift(item);\n return id;\n }\n\n failPreparingItem(id, message) {\n const item = this._items.find(item => item.getId() === id);\n if (!item) {\n return;\n }\n\n item.setStatus(STATUS_ERROR);\n item.setErrors([message]);\n this._renderItems();\n }\n\n // do not remove due to backward compatibility\n removePreparingItem() {\n }\n\n // do not remove due to backward compatibility\n toggle() {\n }\n\n async loadTasks() {\n try {\n const { items } = await api.get(prepareUrl('/task/task-progress'));\n\n if (Array.isArray(items)) {\n this._loaded = true;\n this.mergeItems(items.map(createComponent));\n }\n } catch {}\n }\n\n mergeItems(items) {\n let nextItems = this.getMergedItems(items);\n\n // remove completed items\n this.getItems().forEach(item => {\n if (!items.some(newItemData => item.getId() === newItemData.getId())) {\n this.onItemStatusChange(this.completeItem(item.initialConfig));\n nextItems = nextItems.filter(currentItem => currentItem.getId() !== item.getId());\n }\n });\n\n this.setItems(nextItems);\n }\n\n mergeItem(item) {\n const nextItems = this.getMergedItems([item]);\n this.setItems(nextItems);\n }\n\n getMergedItems(items) {\n const pool = new Pool(items);\n let nextItems = this.getItems();\n // update exist items\n nextItems = nextItems.map(item => {\n const nextItem = pool.take(item.getId());\n if (nextItem) {\n if (item.getUpdated() > nextItem.getUpdated()) {\n return item;\n }\n if (nextItem.getStatus() !== item.getStatus()) {\n this.onItemStatusChange(nextItem.getData());\n } else if (JSON.stringify(nextItem.getSteps()) !== JSON.stringify(item.getSteps())) {\n this.onItemStepChange(nextItem.getData());\n }\n nextItem.setRefreshLinkEnabled(STATUS_STARTED !== nextItem.getStatus() && item.isStarted() ? true : item.isRefreshLinkEnabled());\n nextItem.setUniq(item.getUniq());\n return nextItem;\n }\n return item;\n });\n\n // replace preparing items by new items\n if (pool.hasItems()) {\n nextItems = nextItems.map(item => {\n if (item.isFlying()) {\n const nextItem = pool.shift();\n if (nextItem) {\n this.onItemStatusChange(nextItem.getData());\n nextItem.setUniq(item.getUniq());\n return nextItem;\n }\n }\n return item;\n });\n }\n\n // add new items\n if (pool.hasItems()) {\n let nextItem;\n do {\n nextItem = pool.shift();\n if (nextItem) {\n this.onItemStatusChange(nextItem.getData());\n nextItems.unshift(nextItem);\n }\n } while (nextItem);\n }\n\n return nextItems;\n }\n\n // do not remove due to backward compatibility\n update() {\n if (this.pleskWS && this.pleskWS.isReady()) {\n this.stopPeriodicalExecutor();\n return;\n }\n\n this.loadTasks();\n }\n\n onUpdated(data) {\n this.mergeItem(createComponent(data));\n }\n\n onDeleted(data) {\n this.onUpdated(this.completeItem(data));\n this.removeItemsByIds([data.id]);\n }\n\n removeItemsByIds(ids) {\n if (!ids.length) {\n return;\n }\n const items = this.getItems();\n for (let i = 0; i < ids.length; i++) {\n for (let j = 0; j < items.length; j++) {\n if (items[j].getId() === ids[i]) {\n items.splice(j, 1);\n break;\n }\n }\n }\n this.setItems(items);\n }\n\n onItemStatusChange(newItemData) {\n this.onItemStepChange(newItemData);\n Observer.notify(newItemData, 'plesk:taskUpdate');\n if (this.isCompletedItem(newItemData)) {\n Observer.notify(newItemData, 'plesk:taskComplete');\n }\n }\n\n onItemStepChange(newItemData) {\n Observer.notify(newItemData, 'plesk:taskStepUpdate');\n }\n\n setItems(items) {\n this._initItems(items);\n this._renderItems();\n this._updateProgressDialog();\n }\n\n fly(beginOffset, taskName, action) {\n const progressBarItemId = this.addPreparingItem(taskName);\n this._renderItems();\n // wait toast animation\n setTimeout(action, 300);\n return progressBarItemId;\n }\n\n progressDialog(task, { onHide, ...params } = {}) {\n const returnUrl = task && task.returnUrl;\n this._progressBarItem = task instanceof ProgressBar.Item ? task : createComponent(task);\n this.isOpenProgressDialog = true;\n\n if (!this._progressDialog) {\n this._progressDialog = document.createElement('div');\n }\n\n this.renderProgressDialog = () => {\n Plesk.require('app/progress-dialog', run => {\n if (!this._progressBarItem || !this._progressDialog) {\n return;\n }\n\n run({\n container: this._progressDialog,\n isOpen: this.isOpenProgressDialog,\n title: this._progressBarItem.getProgressTitle(),\n steps: this._progressBarItem.getSteps(),\n errors: this._progressBarItem.getVisibleErrors(),\n onHide: () => {\n this.isOpenProgressDialog = false;\n this.renderProgressDialog();\n\n if (onHide) {\n onHide(this._progressBarItem);\n return;\n }\n\n const redirectUrl = this._progressBarItem.isComplete()\n ? this._progressBarItem._getConfigParam('redirect') || returnUrl\n : returnUrl;\n const doRedirect = () => {\n if (redirectUrl) {\n redirect(redirectUrl);\n } else {\n this.show();\n }\n };\n\n if (this._progressBarItem.isCompleteSuccessfully() || this._progressBarItem.isCompleteWithWarning()) {\n this._progressBarItem.remove().then(() => {\n doRedirect();\n this._progressBarItem = null;\n });\n } else {\n doRedirect();\n }\n },\n locale: Locale.getSection('components.tasks.common').messages,\n ...params,\n });\n });\n };\n\n this.renderProgressDialog();\n this.update();\n this.hide();\n }\n\n hide() {\n this._hidden = true;\n this._renderItems();\n }\n\n show() {\n this._hidden = false;\n this._renderItems();\n }\n\n _updateProgressDialog() {\n if (!this._progressBarItem) {\n return;\n }\n\n const newItem = this.getItem(this._progressBarItem.getId());\n if (newItem) {\n this._progressBarItem = newItem;\n } else if (this._progressBarItem.getSteps().length) {\n // task was removed, show it as finished\n const finishedItem = createComponent(this.completeItem({\n ...this._progressBarItem.initialConfig,\n steps: this._progressBarItem.getSteps().map(step => this.completeItem(step)),\n }));\n finishedItem.setProgressBarElement(this._progressBarItem.getProgressBarElement());\n this._progressBarItem = finishedItem;\n }\n this.renderProgressDialog();\n }\n\n _renderItems() {\n super._renderItems();\n\n if (this._items.length) {\n this.setPeriodicalExecutor();\n }\n\n if (!this._loaded) {\n return;\n }\n\n Plesk.require('app/task-progress-bar', run => {\n run({\n viewerId: this._viewerId,\n container: this._componentElement,\n items: this._items,\n locale: Locale.getSection('components.tasks.common').messages,\n isOpen: !this._hidden,\n onGroupClose: this.handleGroupClose.bind(this),\n });\n });\n }\n\n async handleGroupClose(keys) {\n const items = this._items.filter(item => keys.includes(item.getKey()));\n const ids = items.map(item => item.getId());\n\n try {\n await api.post(prepareUrl('/task/task-remove'), { ids });\n this.removeItemsByIds(ids);\n } catch ({ message }) {\n addToast({ intent: 'danger', message });\n }\n }\n\n _renderItem(item) {\n item.setProgressBarElement(this);\n }\n\n setPeriodicalExecutor() {\n if (!this.intervalUpdateTimer && this.hasStartedTasks()) {\n this.intervalUpdateTimer = setInterval(() => {\n this.update();\n if (!this.hasStartedTasks()) {\n this.stopPeriodicalExecutor();\n }\n }, 5000);\n }\n }\n\n stopPeriodicalExecutor() {\n if (this.intervalUpdateTimer) {\n clearInterval(this.intervalUpdateTimer);\n this.intervalUpdateTimer = null;\n }\n }\n\n hasStartedTasks() {\n return this._items.some(item => item.isStarted());\n }\n\n isCompletedItem({ status }) {\n return [STATUS_DONE, STATUS_ERROR, STATUS_CANCELED].indexOf(status) !== -1;\n }\n\n completeItem(data) {\n return {\n ...data,\n status: this.isCompletedItem(data) ? data.status : STATUS_DONE,\n };\n }\n}\n\nProgressBar.Item = class Item extends Component {\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._id = this._getConfigParam('id', '');\n this._updated = new Date(this._getConfigParam('updated'));\n this._status = this._getConfigParam('status', '');\n this._errors = this._getConfigParam('errors', []);\n this._output = this._getConfigParam('output', []);\n this._isRefreshLinkEnabled = this._getConfigParam('isRefreshLinkEnabled', false)\n && this._getConfigParam('isRefreshAllowed', true);\n this._progressValue = this._getConfigParam('progressValue', 0);\n this._canCancel = this._getConfigParam('canCancel', true);\n this._referrer = this._getConfigParam('referrer', '');\n this._uniq = this._getConfigParam('uniq', undefined);\n this._progressBarElement = {};\n }\n\n _initComponentElement() {}\n\n getUpdated() {\n return this._updated;\n }\n\n getData() {\n return this._config;\n }\n\n getSteps() {\n return this._getConfigParam('steps', []);\n }\n\n getUniq() {\n return this._uniq;\n }\n\n setUniq(uniq) {\n this._uniq = uniq;\n }\n\n getKey() {\n return this._uniq || this._id;\n }\n\n setProgressBarElement(element) {\n this._progressBarElement = element;\n }\n\n getProgressBarElement() {\n return this._progressBarElement;\n }\n\n getProgressTitle() {\n return this._getConfigParam('progressTitleHtml', escapeHtml(this._getConfigParam('progressTitle', '')));\n }\n\n getProgressValue() {\n return this._progressValue;\n }\n\n getStatus() {\n return this._status;\n }\n\n setStatus(status) {\n this._status = status;\n }\n\n getProgressDialogLinkHandler() {\n if (!this.getSteps().length) {\n return undefined;\n }\n return e => {\n e.preventDefault();\n this.getProgressBarElement().progressDialog(this);\n };\n }\n\n isRefreshLinkEnabled() {\n return this._isRefreshLinkEnabled;\n }\n\n setRefreshLinkEnabled(flag) {\n this._isRefreshLinkEnabled = flag && this._isRefreshAllowed;\n }\n\n getRefreshLinkProps() {\n const _redirect = this._getConfigParam('redirect');\n if (_redirect) {\n const redirectUrl = _redirect.url || _redirect;\n return this.getProgressTitle().includes(redirectUrl) ? null : {\n title: _redirect.title,\n onClick: e => {\n e.preventDefault();\n redirect(_redirect);\n },\n };\n }\n\n if (this._isRefreshLinkEnabled && window.location.pathname === this._referrer) {\n return {\n onClick: e => {\n e.preventDefault();\n redirect(prepareUrl(window.location.pathname));\n },\n };\n }\n }\n\n hasErrors() {\n return this._errors.length > 0;\n }\n\n getErrors() {\n return this._errors;\n }\n\n setErrors(errors) {\n this._errors = errors;\n }\n\n getVisibleErrors() {\n const hideErrors = this._getConfigParam('hideErrors', false);\n\n if (hideErrors || !this.hasErrors()) {\n return [];\n }\n\n return this.getErrors();\n }\n\n getOutput() {\n return this._output.map(line => String(line).trim()).filter(Boolean);\n }\n\n isCompleteSuccessfully() {\n return STATUS_DONE === this._status && !this.hasErrors();\n }\n\n isComplete() {\n return [STATUS_DONE, STATUS_ERROR, STATUS_CANCELED].indexOf(this._status) !== -1;\n }\n\n isCompleteWithWarning() {\n return STATUS_DONE === this._status && this.hasErrors();\n }\n\n isStarted() {\n return STATUS_STARTED === this._status || STATUS_NOT_STARTED === this._status;\n }\n\n isPreparing() {\n return STATUS_PREPARING === this._status;\n }\n\n isFlying() {\n return STATUS_FLYING === this._status;\n }\n\n isProgressUndefined() {\n return this._progressValue === -1;\n }\n\n isCompleteWithError() {\n return STATUS_ERROR === this._status;\n }\n\n async remove() {\n try {\n await api.post(prepareUrl('/task/task-remove'), { ids: [this.getId()] });\n this.getProgressBarElement().removeItemsByIds([this.getId()]);\n } catch ({ message }) {\n addToast({ intent: 'danger', message });\n }\n }\n\n toToast() {\n const props = {\n key: this.getKey(),\n };\n if (this.isCompleteSuccessfully()) {\n return {\n ...props,\n intent: 'success',\n onClose: () => this.remove(),\n title: this.getProgressTitle(),\n output: this.getOutput(),\n refresh: this.getRefreshLinkProps(),\n };\n } else if (this.isCompleteWithWarning() || this.isCompleteWithError()) {\n return {\n ...props,\n intent: this.isCompleteWithWarning() ? 'warning' : 'danger',\n onClose: () => this.remove(),\n title: this.getProgressTitle(),\n errors: this.getVisibleErrors(),\n refresh: this.getRefreshLinkProps(),\n };\n } else if (this.isPreparing() || this.isFlying() || this.isProgressUndefined()) {\n return {\n ...props,\n title: this.isFlying() ? undefined : this.getProgressTitle(),\n progress: {\n onClick: this.getProgressDialogLinkHandler(),\n },\n };\n }\n return {\n ...props,\n title: this.getProgressTitle(),\n progress: {\n value: this.getProgressValue(),\n onClick: this.getProgressDialogLinkHandler(),\n },\n };\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { makeVar, useReactiveVar } from '@apollo/client';\nimport { ToasterProps } from '@plesk/ui-library';\n\ntype Toast = Omit<Exclude<ToasterProps['toasts'], undefined>[number], 'key'>;\n\ntype ToastWithKey = Toast & { key: number };\n\nconst toasts = makeVar<ToastWithKey[]>([]);\nlet key = 0;\n\nexport const useToasts = () => useReactiveVar(toasts);\n\nexport const addToast = ({ intent, ...props }: Toast) => {\n toasts([\n ...toasts(),\n {\n key: key++,\n intent,\n autoClosable: intent && ['success', 'info'].includes(intent) ? true : undefined,\n ...props,\n },\n ]);\n};\n\nexport const removeToast = ({ key }: { key: number }) => toasts(toasts().filter(toast => toast.key !== key));\n\nexport default toasts;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nlet isOpened = false;\nlet ws = null;\nconst messageSubscriptions = [];\nconst openSubscriptions = [];\nconst closeSubscriptions = [];\n\n// eslint-disable-next-line no-console\nconst handleError = error => console.error(error);\n\nconst wsConnect = (attempt = 0) => {\n const protocol = window.location.protocol === 'https:' ? 'wss' : 'ws';\n ws = new WebSocket(`${protocol}://${window.location.host}/ws`);\n ws.onmessage = message => {\n const messageData = JSON.parse(message.data);\n const { action, data, error } = messageData;\n if (error) {\n if (error === 'Unauthorized') {\n return;\n }\n throw new Error(`Unknown error ${error}`);\n }\n\n if (typeof messageSubscriptions[action] === 'undefined') {\n return;\n }\n\n messageSubscriptions[action].forEach(callback => {\n try {\n callback(data);\n } catch (e) {\n handleError(e);\n }\n });\n };\n\n ws.onopen = event => {\n isOpened = true;\n openSubscriptions.forEach(callback => {\n try {\n callback(event);\n } catch (e) {\n handleError(e);\n }\n });\n };\n\n ws.onclose = event => {\n isOpened = false;\n ws = null;\n closeSubscriptions.forEach(callback => {\n try {\n callback(event);\n } catch (e) {\n handleError(e);\n }\n });\n if (1000 !== event.code) {\n setTimeout(() => {\n wsConnect(attempt + 1);\n }, Math.min((2 ** attempt) * 1000, 60000));\n }\n };\n};\n\nconst PleskWSBinding = function ({ actions, onOpen, onClose }) {\n this.actions = actions;\n this.onOpen = onOpen;\n this.onClose = onClose;\n\n this.isReady = () => ws && 1 === ws.readyState;\n\n this.close = () => {\n if (this.actions) {\n for (const action in actions) {\n if (!Object.prototype.hasOwnProperty.call(actions, action) || typeof messageSubscriptions[action] === 'undefined') {\n return;\n }\n const messageSubscriptionsIndex = messageSubscriptions[action].indexOf(actions[action]);\n if (messageSubscriptionsIndex >= 0) {\n messageSubscriptions[action].splice(messageSubscriptionsIndex, 1);\n }\n }\n }\n\n if (this.onOpen) {\n const openSubscriptionsIndex = openSubscriptions.indexOf(onOpen);\n if (openSubscriptionsIndex >= 0) {\n openSubscriptions.splice(openSubscriptionsIndex, 1);\n }\n }\n\n if (this.onClose) {\n const closeSubscriptionsIndex = closeSubscriptions.indexOf(onClose);\n if (closeSubscriptionsIndex >= 0) {\n closeSubscriptions.splice(closeSubscriptionsIndex, 1);\n }\n }\n };\n};\n\nexport default {\n bind: ({ actions, onOpen, onClose }) => {\n if (!ws) {\n wsConnect();\n }\n if (actions) {\n for (const action in actions) {\n if (!Object.prototype.hasOwnProperty.call(actions, action)) {\n return;\n }\n if (typeof messageSubscriptions[action] === 'undefined') {\n messageSubscriptions[action] = [];\n }\n if (messageSubscriptions[action].indexOf(actions[action]) < 0) {\n messageSubscriptions[action].push(actions[action]);\n }\n }\n }\n\n if (onOpen) {\n if (openSubscriptions.indexOf(onOpen) < 0) {\n openSubscriptions.push(onOpen);\n }\n if (isOpened) {\n onOpen();\n }\n }\n\n if (onClose && closeSubscriptions.indexOf(onClose) < 0) {\n closeSubscriptions.push(onClose);\n }\n\n return new PleskWSBinding({\n actions,\n onOpen,\n onClose,\n });\n },\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport prepareUrl from './prepareUrl';\nimport api from './api';\n\n// see common/php/plib/Db/Table/Row/LongTask.php\nexport const STATUS_NOT_STARTED = 'not_started';\nexport const STATUS_STARTED = 'started';\nexport const STATUS_DONE = 'done';\nexport const STATUS_CANCELED = 'canceled';\nexport const STATUS_ERROR = 'error';\n\nexport class StatusMessage extends Component {\n _failedStatusUpdates = 0;\n\n _maxFailedStatusUpdates = 10;\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._id = this._getConfigParam('id');\n this._onStatusUpdate = this._getConfigParam('onStatusUpdate', null);\n this._onTaskDone = this._getConfigParam('onDone', null);\n this._onTaskCancel = this._getConfigParam('onCancel', null);\n this._onTaskError = this._getConfigParam('onError', null);\n this._renderMessage = this._getConfigParam('renderMessage', status => {\n if (!status.message) {\n return 'Internal error.';\n }\n if (status.progressParams.errorMessage) {\n const messages = status.progressParams.errorMessage.split('\\n');\n if (messages.length <= 1) {\n return status.progressParams.errorMessage;\n }\n let message = `${messages[0]} <a href=\"#\" class=\"js-details-link\">${this.lmsg('details')}</a><br>`;\n message += '<span class=\"js-details hidden\">';\n for (let i = 1; i < messages.length; i++) {\n message += `${messages[i]}<br>`;\n }\n message += '</span>';\n return message;\n }\n return status.message;\n });\n\n this._statusUrl = this._getConfigParam('statusUrl', prepareUrl('/task/status/taskId/'));\n this._updateInterval = this._getConfigParam('updateInterval', 60);\n this._autoRender = true;\n }\n\n _showProgress(status) {\n let statusClass = 'msg-progress';\n if (STATUS_DONE === status.status) {\n if (status.progressParams.errorMessage) {\n statusClass = 'msg-warning';\n } else {\n statusClass = 'msg-info';\n }\n } else if (STATUS_CANCELED === status.status) {\n statusClass = 'msg-warning';\n } else if (STATUS_ERROR === status.status) {\n statusClass = 'msg-error';\n }\n\n let message = this._renderMessage(status);\n\n if (STATUS_DONE !== status.status && status.progress) {\n if (this._getConfigParam('percent', true)) {\n message = `${message}: <span id=\"backupProgress\">${status.progress}</span>%`;\n }\n\n if (this._getConfigParam('gauge', true)) {\n message = (\n '<table class=\"msg-progress-container\" cellspacing=\"0\" width=\"100%\"><tr>' +\n `<td class=\"msg-progress-info\">${message}</td>` +\n '<td class=\"msg-progress-indicator\">' +\n '<div class=\"progress progress-sm\">' +\n `<div class=\"progress-bar\" id=\"backupProgressGauge\" style=\"width: ${status.progress}%;\"></div>` +\n '</div>' +\n '</td>' +\n '</tr></table>'\n );\n }\n }\n\n this._componentElement.className = `msg-box ${statusClass}`;\n this._componentElement.innerHTML = `<div class=\"msg-content\">${message}</div>`;\n }\n\n _addEvents() {\n super._addEvents();\n this._processStatus(this._getConfigParam('status', null));\n }\n\n _scheduleUpdateStatus() {\n setTimeout(() => {\n this._updateStatus();\n }, this._updateInterval * 1000);\n }\n\n _updateStatus() {\n api.get(this._statusUrl + this._id)\n .then(this._onStatusUpdateSuccess.bind(this))\n .catch(this._onStatusUpdateFailure.bind(this));\n }\n\n _onStatusUpdateSuccess(status) {\n this._failedStatusUpdates = 0;\n this._processStatus(status);\n if (this._onStatusUpdate) {\n this._onStatusUpdate(status);\n }\n }\n\n _onStatusUpdateFailure() {\n this._failedStatusUpdates++;\n if (this._failedStatusUpdates < this._maxFailedStatusUpdates) {\n this._scheduleUpdateStatus();\n }\n }\n\n _processStatus(status) {\n if (!status) {\n this._showLoading();\n this._updateStatus();\n } else if (STATUS_DONE === status.status) {\n if (this._onTaskDone) {\n this._onTaskDone(status);\n }\n this._showFinished(status);\n } else if (STATUS_CANCELED === status.status) {\n if (this._onTaskCancel) {\n this._onTaskCancel(status);\n }\n this._showFinished(status);\n } else if (STATUS_ERROR === status.status) {\n if (this._onTaskError) {\n this._onTaskError(status);\n }\n this._showError(status);\n } else if (STATUS_STARTED === status.status || STATUS_NOT_STARTED === status.status) {\n this._showWorking(status);\n this._scheduleUpdateStatus();\n } else {\n this._showNone(status);\n }\n }\n\n _addDetailsEvent() {\n const details = this._componentElement.querySelector('.js-details-link');\n if (!details) {\n return;\n }\n details.addEventListener('click', event => {\n event.preventDefault();\n this._componentElement.querySelector('.js-details').classList.toggle('hidden');\n details.classList.toggle('hidden');\n });\n }\n\n _showFinished(status) {\n this._showProgress(status);\n setTimeout(() => {\n this._addDetailsEvent();\n }, 0);\n }\n\n _showWorking(status) {\n this._showProgress(status);\n }\n\n _showError(status) {\n this._showProgress(status);\n setTimeout(() => {\n this._addDetailsEvent();\n }, 0);\n }\n\n _showLoading() {\n // empty implementation\n }\n\n _showNone() {\n // empty implementation\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\nimport { DropdownManager } from './dropdown-manager';\nimport Cookie from 'common/cookie';\nimport prepareUrl from './prepareUrl';\nimport render from './render';\nimport ce from './createElement';\nimport escapeHtml from './escapeHtml';\nimport api from './api';\nimport Locale from './Locale';\nimport addStatusMessage from './addStatusMessage';\nimport pageData from '../helpers/pageData';\nimport emptyFn from './emptyFn';\n\nimport './active-list.less';\n\n/**\n * Example usage:\n *\n * @example\n * new ActiveList({\n * renderTo: document.body,\n * toolbar: {\n * buttons: {\n * btn1: {\n * title: 'Add new item',\n * url: '#!'\n * }\n * }\n * },\n * layout: 'responsivecolumn',\n * data: [{\n * title: 'Item 1',\n * icon: 'class-icons/component-large.png',\n * buttons: [{\n * title: 'Action 1',\n * icon: 'class-icons/class-large.png'\n * }, {\n * title: 'Action 2',\n * icon: 'class-icons/singleton-large.png'\n * }]\n * }, {\n * title: 'Item 2',\n * icon: 'class-icons/component-large.png',\n * buttons: [{\n * title: 'Action 1',\n * icon: 'class-icons/class-large.png'\n * }, {\n * title: 'Action 2',\n * icon: 'class-icons/singleton-large.png'\n * }]\n * }]\n * });\n */\nexport class ActiveList extends Component {\n static stateCollapsed = (id, defaultValue = false) => {\n const cookieName = `${id}-state-collapsed`;\n let stateCollapsed = Cookie.get(cookieName);\n\n try {\n stateCollapsed = JSON.parse(stateCollapsed) || {};\n } catch {\n stateCollapsed = {};\n }\n\n return {\n get(item) {\n return stateCollapsed[item.id] === undefined ? defaultValue : Boolean(stateCollapsed[item.id]);\n },\n set(item, value) {\n if (value === defaultValue) {\n delete stateCollapsed[item.id];\n } else {\n stateCollapsed[item.id] = value ? 1 : 0;\n }\n Cookie.setPermanent(cookieName, JSON.stringify(stateCollapsed), '/');\n },\n };\n };\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this.urls = this._getConfigParam('urls', {});\n this.navigate = this._getConfigParam('onNavigate', emptyFn);\n this.pageUrl = this._getConfigParam('pageUrl', location.href);\n\n this.isCollapsible = this._getConfigParam('isCollapsible', false);\n this.isNew = this._getConfigParam('isNew', false);\n this.isShowItemTitle = this._getConfigParam('isShowItemTitle', true);\n this.layout = this._getConfigParam('layout', 'auto');\n if (typeof this.layout === 'string') {\n this.layout = {\n type: this.layout,\n };\n }\n\n this.stateCollapsed = ActiveList.stateCollapsed(this.getId());\n\n this.itemActions = this._getConfigParam('itemActions', {});\n this.data = this._getConfigParam('data', []);\n\n this._cls = `active-list${this.isCollapsible ? ' active-list-collapsible' : ''}`;\n }\n\n _initComponentElement() {\n super._initComponentElement();\n render(this._componentElement, this.view());\n }\n\n view() {\n return ce('.active-list-wrap',\n this.toolbarView(this._getConfigParam('toolbar')),\n this.itemsView(),\n this.bottomBarView(this._getConfigParam('countMoreItems', 0)),\n );\n }\n\n toolbarView(toolbar) {\n if (!toolbar) {\n return '';\n }\n\n return ce('.a-toolbar.a-toolbar-collapsed',\n ce('.a-toolbar-wrap',\n ce('.a-toolbar-buttons',\n ce('.a-toolbar-buttons-wrap',\n ce('table.a-toolbar-buttons-table[cellspacing=0]',\n ce('tbody',\n ce('tr',\n ce('td.a-toolbar-buttons-table-main',\n ce('.a-toolbar-buttons-main',\n Object.entries(toolbar.buttons).map(([id, { title, url, intent }]) => ce(\n `a.btn${intent ? `.btn-${intent}` : ''}`,\n {\n id,\n href: url,\n onclick: this.navigate,\n },\n ` ${escapeHtml(title)}`,\n )),\n ),\n ),\n ce('td.a-toolbar-buttons-table-misc',\n ce('.a-toolbar-buttons-misc',\n ce('.a-toolbar-buttons-settings.a-toolbar-buttons-settings-inactive',\n ce('button.btn.btn-settings[type=button]', { title: this.lmsg('settingsTitle') },\n ce('i.icon', ce('img[alt=\"\"]', {\n src: require('icons/16/plesk/settings-toolbar.png'),\n })),\n ),\n this.isNew ? ce('span.badge-new', this.lmsg('badgeNew')) : '',\n ce('.popup-box.a-toolbar-buttons-settings-popup',\n ce('table.popup-wrapper[cellspacing=0]', ce('tbody', ce('tr', ce('td.popup-container',\n ce('.c1', ce('.c2', ce('.c3', ce('.c4', ce('.c5',\n ce('.popup-content',\n ce('.popup-content-area',\n ce('.settings-list',\n ce('.settings-item.settings-item-1',\n ce('h3.settings-item-title',\n ce('span', `${this.lmsg('sortTitle')}:`),\n ),\n ce(`a.btn${toolbar.sortDir === 'up' ? '.btn-state-selected' : ''}`,\n { href: this.urls['sort-up'] },\n ce('i.icon', ce('img[alt=\"\"]', {\n src: require('icons/16/plesk/order-ascending.png'),\n })),\n this.lmsg('orderAscending'),\n ),\n ce(`a.btn${toolbar.sortDir === 'down' ? '.btn-state-selected' : ''}`,\n { href: this.urls['sort-down'] },\n ce('i.icon', ce('img[alt=\"\"]', {\n src: require('icons/16/plesk/order-descending.png'),\n })),\n this.lmsg('orderDescending'),\n ),\n ),\n (toolbar.allowListSwitch && toolbar.hasClassicView) ?\n ce('.settings-item.settings-item-2',\n ce('h3.settings-item-title',\n ce('span', `${this.lmsg('modeTitle')}:`),\n ),\n ce('a.btn.btn-state-selected',\n ce('i.icon', ce('img[alt=\"\"]', {\n src: require('icons/16/plesk/list-type-active.png'),\n })),\n this.lmsg('typeActive'),\n ),\n toolbar.hasClassicView ? ce('a.btn', { href: '?list-type=classic' },\n ce('i.icon', ce('img[alt=\"\"]', {\n src: require('icons/16/plesk/list-type-classic.png'),\n })),\n this.lmsg('typeClassic'),\n ) : null,\n ) : '',\n ),\n ),\n ),\n ))))),\n )))),\n ),\n ),\n ),\n ),\n ),\n ),\n ),\n ),\n ),\n ),\n );\n }\n\n itemsView() {\n if (!this.data.length) {\n return this.emptyView();\n }\n\n const items = this.data.map(this.itemView.bind(this));\n if (this.layout.type !== 'responsivecolumn') {\n return items;\n }\n\n let cls = ['.grid'];\n if (this.layout.stretched !== false) {\n cls.push('.grid-stretched');\n }\n cls = cls.concat((this.layout.columns || 'xl-2 xxl-3').split(' ').map(cls => `.grid-${cls}`));\n\n return ce(cls.join(''),\n items.map(item => ce('.grid-col', item)),\n );\n }\n\n emptyView() {\n return ce('p', this.lmsg('noObjects'));\n }\n\n itemView(item) {\n const itemClasses = [\n '.active-list-item',\n ];\n const types = [\n 'danger',\n 'warning',\n 'inactive',\n 'success',\n ];\n\n if (item.type && types.indexOf(item.type) > -1) {\n itemClasses.push(`.active-list-item-${item.type}`);\n }\n if (this.isCollapsible && item.buttons) {\n itemClasses.push('.active-list-item-collapsible');\n itemClasses.push(this.stateCollapsed.get(item) ? '.active-list-item-collapsed' : '.active-list-item-expanded');\n } else {\n itemClasses.push('.active-list-item-expanded');\n }\n\n return ce(`#active-list-item-${item.id}${itemClasses.join('')}`, { style: 'position:relative' },\n ce('.content-blocker', { style: 'display:none;' }),\n ce('.active-list-item-wrap',\n this.itemCaptionView(item),\n this.itemDetailsView(item),\n ),\n );\n }\n\n itemDetailsView(item) {\n const children = [];\n if (item.settings && item.settings.length) {\n children.push(this.itemSettingsView(item));\n }\n if (item.buttons && item.buttons.length) {\n children.push(this.itemToolsView(item));\n }\n\n if (!children.length) {\n return '';\n }\n\n return ce('.active-list-details',\n ce('.active-list-details-wrap',\n children,\n ),\n );\n }\n\n itemSettingsView(item) {\n return ce('.list',\n ce(`table#active-list-item-settings-table-${item.id}[width=100%][cellspacing=0]`,\n ce('tbody',\n item.settings.map((settings, index) => ce(`tr${index % 2 ? '.even' : '.odd'}`,\n ce('td.min',\n ce('span.tooltipData', escapeHtml(settings.hint)),\n ce(`a.s-btn.${settings.button}[data-method=post]`, { href: settings.url }, ce('span')),\n ),\n ce('td', escapeHtml(settings.name)),\n ce('td', escapeHtml(settings.description)),\n )),\n ),\n ),\n );\n }\n\n itemToolsView(item) {\n return ce('.tools-list-box',\n ce('.box-area',\n ce('.content',\n ce('.content-area',\n ce('ul.tools-list',\n item.buttons.map(button => {\n let onClick = null;\n if (button.name && this.itemActions[button.name]) {\n onClick = event => {\n event.preventDefault();\n this.itemActions[button.name](item, event);\n };\n } else if (button.handler) {\n onClick = typeof button.handler === 'function'\n ? button.handler\n : `(${button.handler}(event)); return false;`;\n } else {\n onClick = this.navigate;\n }\n\n return ce('li.tools-item',\n ce(`a.tool-block${button.disabled ? '.disabled' : ''}`,\n {\n href: !button.disabled && button.href ? button.href : null,\n onclick: button.disabled ? null : onClick,\n target: button.target || null,\n 'data-identity': button.id || null,\n 'data-action-name': button.name || null,\n rel: button.target === '_blank' ? 'noopener noreferrer' : null,\n },\n ce('span.tool-icon', ce('img[alt=\"\"]', { src: button.icon })),\n ce('span.tool-name', button.noEscapeTitle ? button.title : escapeHtml(button.title)),\n button.new ? ce('span.badge-new', this.lmsg('badgeNew')) : '',\n Array.isArray(button.additionalComments) ? ce('.span.tool-info',\n button.additionalComments\n .map(comment => button.noEscape ? comment : escapeHtml(comment))\n .join('<br>'),\n ) : '',\n ),\n button.comment ? ce('span.tooltipData', escapeHtml(button.comment)) : '',\n );\n }),\n ),\n ),\n ),\n ),\n );\n }\n\n bottomBarView(countMoreItems) {\n if (!countMoreItems) {\n return '';\n }\n\n return ce('.active-list-bottom-bar',\n ce('.active-list-bottom-bar-wrap', this.lmsg('showAll', {\n countMoreItems,\n loadAllLink: `<a href=\"?all=\">${this.lmsg('loadAll')}</a>`,\n switchToLink: `<a href=\"?list-type=classic\">${this.lmsg('switchTo', { listType: this.lmsg('typeClassic') })}</a>`,\n })),\n );\n }\n\n itemCaptionView(item) {\n return ce('.caption',\n ce('.caption-wrap',\n this.itemCaptionHeaderView(item),\n this.itemCaptionServicesView(item),\n this.itemCaptionDataView(item),\n this.itemCaptionAdditionalHtml(item),\n Array.isArray(item.buttons) && item.buttons.length ? (\n this.isCollapsible ? ce('.caption-control',\n {\n onclick: this.toggleItem.bind(this, item),\n },\n ce('span.caption-control-wrap',\n ce('i'), ' ',\n ce('span.caption-control-on', this.lmsg('showMore')),\n ce('span.caption-control-off', this.lmsg('showLess')),\n ),\n ) : ''\n ) : '',\n ),\n );\n }\n\n itemCaptionHeaderView(item) {\n return ce('.caption-header',\n ce('.caption-widget'),\n ce('.caption-header-wrap',\n ce('.caption-main',\n item.icon ? ce('.caption-icon',\n ce('span', ce('img[alt=\"\"]', { src: item.icon })),\n ) : '',\n this.itemCaptionHeadView(item),\n ),\n ),\n );\n }\n\n itemCaptionHeadView(item) {\n return ce('.caption-head',\n this.isShowItemTitle ? this.itemCaptionHeadWrapView(item) : '',\n this.itemCaptionSummaryView(item),\n this.itemCaptionToolbarView(item),\n );\n }\n\n itemCaptionHeadWrapView(item) {\n let labels = [];\n const labelTypes = ['danger', 'warning', 'success', 'info', 'inactive'];\n\n if (Array.isArray(item.labels) && item.labels.length) {\n labels = item.labels.map(function (label) {\n const type = label.type && labelTypes.indexOf(label.type) > -1 ? label.type : '';\n const cls = type === '' ? '' : (`.label-${type}`);\n\n return ce(`span.label${cls}`, label.value || '');\n });\n }\n\n return ce('.caption-head-wrap',\n {\n onclick: this.isCollapsible && item.buttons ? this.onCaptionHeadWrapClick.bind(this, item) : null,\n },\n ce('h2.caption-name',\n ce('span', escapeHtml(item.title)),\n ),\n labels,\n Array.isArray(item.primaryActions) && item.primaryActions.length ? ce('span.caption-head-widget',\n item.primaryActions.map(function (action) {\n return [ce('a.btn', { href: action.link },\n action.title,\n ), ' '];\n }),\n ) : '',\n );\n }\n\n itemCaptionSummaryView(item) {\n return Array.isArray(item.summary) && item.summary.length ? ce('.caption-summary',\n ce('.caption-summary-wrap',\n item.summary.map(this.summaryItemView.bind(this)),\n ),\n ) : item.summary || '';\n }\n\n summaryItemView(summaryItem) {\n return ce('span.summary-item', `${summaryItem.name}: <b>${summaryItem.value}</b>`);\n }\n\n itemCaptionToolbarView(item) {\n return Array.isArray(item.toolbar) && item.toolbar.length ? ce('.caption-toolbar',\n ce('.caption-toolbar-wrap',\n item.toolbar.map(this.toolbarButtonView.bind(this)),\n ),\n ) : '';\n }\n\n toolbarButtonView(button) {\n return ce(`a.i-link${button.action ? `[data-item-action=\"${button.action}\"]` : ''}`, { href: button.link || null },\n button.icon || button.iconClass ? [ce(`i${button.iconClass ? `.${button.iconClass}` : 'icon'}`,\n button.icon ? ce('img[alt=\"\"]', { src: button.icon }) : '',\n ), ' '] : '',\n ce('span', escapeHtml(button.title)),\n );\n }\n\n itemCaptionServicesView(item) {\n return Array.isArray(item.services) ? item.services.map(this.itemServiceView.bind(this)) : '';\n }\n\n itemServiceView(service) {\n return ce(`.caption-services${service.class ? `.${service.class}` : ''}`, { style: service.hidden ? 'display:none' : '' },\n ce('.caption-services-wrap',\n service.header ? ce(service.headerClass ? `.${service.headerClass}` : '',\n service.closeUrl ? ce('span.close', { 'data-close-url': service.closeUrl }) : '',\n service.header,\n ) : '',\n this.itemServiceBlockView(service),\n ),\n );\n }\n\n renderItemServiceView(service) {\n const type = service.type\n .replace(/(^\\w|-\\w)/g, ch => ch.toUpperCase())\n .replaceAll('-', '');\n return this[`itemService${type}View`](service);\n }\n\n itemServiceBlockView(service) {\n if (service.grid) {\n const columns = service.grid.reduce(function (columns, service) {\n return columns + (service.colspan || 1);\n }, 0);\n return ce(`.b-grid${service.grid.length > 1 ? `.b-grid-${columns}` : ''}`,\n ce('ul.b-grid-list',\n service.grid.map(function (subService) {\n return ce(`li.b-grid-item${service.grid.length > 1 && subService.colspan ? `.b-grid-item-${subService.colspan}` : ''}`,\n ce('.b-grid-item-wrap', this.itemServiceBlockView(subService)),\n );\n }.bind(this)),\n ),\n );\n }\n\n if (service.type) {\n return this.renderItemServiceView(service);\n }\n\n let icon = ce('img[alt=\"\"]', { src: service.icon });\n let name = escapeHtml(service.title);\n if (service.href) {\n icon = ce(`a${service.newWindow ? '[target=_blank]' : ''}`, {\n href: service.href,\n onclick: this.navigate,\n }, icon);\n name = ce(`a${service.newWindow ? '[target=_blank]' : ''}`, {\n href: service.href,\n onclick: this.navigate,\n }, name);\n }\n\n const description = service.description ? service.description : '';\n return ce('.caption-service-block',\n ce('span.caption-service-title',\n ce('i.caption-service-icon', icon),\n ce('span.caption-service-name', name, description),\n ),\n Array.isArray(service.links) && service.links.length ? ce('.caption-service-toolbar',\n service.links.map(function (link) {\n let linkView;\n if (link.childLinks && link.childLinks.length) {\n linkView = ce('.btn-group',\n ce('a.btn', {\n href: link.href,\n target: link.newWindow ? '_blank' : null,\n }, escapeHtml(link.title)),\n ce('button.btn.dropdown-toggle[type=button]', ce('em.caret')),\n ce('ul.dropdown-menu',\n link.childLinks.map(function (childLink) {\n return ce('li',\n ce('a', {\n href: childLink.href,\n target: childLink.newWindow ? '_blank' : null,\n }, escapeHtml(childLink.title)),\n );\n }),\n ),\n );\n } else {\n const icon = link.icon ? [ce('i.icon', ce('img[alt=\"\"]', { src: link.icon })), ' '] : '';\n if (link.isSimpleText) {\n linkView = ce('span',\n icon,\n link.noEscape ? link.info : escapeHtml(link.info),\n );\n } else if (link.isSimpleLink) {\n linkView = ce(`span${link.spanClass ? `.${link.spanClass}` : ''}`,\n icon,\n `${escapeHtml(link.info)} `,\n ce('a', {\n href: link.href,\n class: link.class ? escapeHtml(link.class) : null,\n onclick: link.onClick ? escapeHtml(link.onClick) : null,\n target: link.newWindow ? '_blank' : null,\n }, escapeHtml(link.title)),\n );\n } else {\n linkView = ce('a.btn', {\n href: link.href,\n class: link.class ? escapeHtml(link.class) : null,\n onclick: link.onClick ? escapeHtml(link.onClick) : null,\n target: link.newWindow ? '_blank' : null,\n id: link.id ? escapeHtml(link.id) : null,\n name: link.name ? escapeHtml(link.name) : null,\n }, icon, escapeHtml(link.title));\n }\n }\n\n return [\n link.newLine ? ce('br') : '',\n linkView,\n ' ',\n ];\n }),\n ) : '',\n );\n }\n\n itemCaptionDataView(item) {\n if (!item.data || !item.data.length) {\n return '';\n }\n\n return ce('.caption-data',\n ce('.caption-data-wrap',\n item.data.map(function (data, index) {\n return ce('.form-group',\n ce(`label.control-label[for=active-list-data-${item.id}-${index}]`, data.label),\n ce(`textarea#active-list-data-${item.id}-${index}.form-control.code[rows=${data.linesNumber}][readonly]`, escapeHtml(data.text)),\n );\n }),\n ),\n );\n }\n\n itemCaptionAdditionalHtml(item) {\n if (!item.additionalHtml) {\n return '';\n }\n\n return ce('.caption-data',\n ce('.caption-data-wrap', item.additionalHtml),\n );\n }\n\n onCaptionHeadWrapClick(item, event) {\n if (event && event.target.closest('.caption-head-action, .caption-head-status, .caption-head-widget')) {\n return;\n }\n\n this.toggleItem(item);\n\n const el = this.getItemElement(item);\n if (el.classList.contains('active-list-item-collapsed')) {\n return;\n }\n\n const itemBottom = Element.cumulativeOffset(el).top + Element.getHeight(el);\n const viewportBottom = document.viewport.getScrollOffsets().top + document.viewport.getHeight();\n if (itemBottom + 40 > viewportBottom) {\n this.scrollToItem(el, 500);\n }\n }\n\n getItemElement(item) {\n return this._componentElement.querySelector(`#active-list-item-${String(item.id).replace(/:/g, '\\\\:')}`);\n }\n\n _addEvents() {\n this._componentElement.querySelectorAll('.dropdown-toggle').forEach(element => {\n element.addEventListener('click', event => {\n event.stopPropagation();\n event.preventDefault();\n const hadClassName = event.target.closest('.btn-group').classList.contains('btn-group-open');\n document.querySelectorAll('.active-list .dropdown-toggle').forEach(elem => {\n elem.closest('.btn-group').classList.remove('btn-group-open');\n });\n if (!hadClassName) {\n event.target.closest('.btn-group').classList.add('btn-group-open');\n }\n });\n document.body.addEventListener('click', () => {\n element.closest('.btn-group').classList.remove('btn-group-open');\n });\n });\n\n this._componentElement.querySelectorAll('.a-toolbar-buttons-misc .btn-search').forEach(element => {\n element.addEventListener('click', () => {\n element.closest('.a-toolbar').classList.toggle('a-toolbar-collapsed');\n element.closest('.a-toolbar').classList.toggle('a-toolbar-expanded');\n });\n });\n\n this._componentElement.querySelectorAll('.a-toolbar-buttons-misc .btn-settings').forEach(el => {\n DropdownManager.register(el,\n function () {\n return el.parentNode.classList.contains('a-toolbar-buttons-settings-active');\n },\n function () {\n el.parentNode.classList.add('a-toolbar-buttons-settings-active');\n el.parentNode.classList.remove('a-toolbar-buttons-settings-inactive');\n },\n function () {\n el.parentNode.classList.add('a-toolbar-buttons-settings-inactive');\n el.parentNode.classList.remove('a-toolbar-buttons-settings-active');\n },\n );\n });\n\n this._componentElement.querySelectorAll('.caption-services .close').forEach(element => {\n element.addEventListener('click', event => {\n event.stopPropagation();\n event.preventDefault();\n const { closeUrl } = event.target.dataset;\n event.target.closest('.caption').querySelectorAll('.caption-services').forEach(element => {\n element.style.display = '';\n });\n const servicesEl = event.target.closest('.caption-services');\n servicesEl.parentNode.removeChild(servicesEl);\n api.post(prepareUrl(closeUrl));\n });\n });\n\n this._initToolbar();\n }\n\n disableItem(id) {\n this.getItemElement({ id }).querySelector('.content-blocker').style.display = '';\n }\n\n enableItem(id) {\n this.getItemElement({ id }).querySelector('.content-blocker').style.display = 'none';\n }\n\n _initToolbar() {\n this._componentElement.querySelectorAll('.a-toolbar-buttons-main').forEach(toolbarEl => {\n const itemEls = [...toolbarEl.children];\n\n const menuEl = new Element('span', { class: 'btn-group' });\n menuEl.innerHTML = (\n '<button type=\"button\" class=\"btn dropdown-toggle\">' +\n `<i class=\"icon\"><img src=\"${require('icons/16/plesk/menu.png')}\" alt=\"\"></i>` +\n ' <em class=\"caret\"></em>' +\n '</button>' +\n '<ul class=\"dropdown-menu pull-right\"></ul>'\n );\n\n menuEl.addEventListener('click', event => {\n event.stopPropagation();\n menuEl.classList.toggle('btn-group-open');\n\n const dropdownMenu = menuEl.querySelector('.dropdown-menu');\n if (Element.getStyle(dropdownMenu, 'display') !== 'none') {\n dropdownMenu.style.right = 0;\n const offset = Element.cumulativeOffset(dropdownMenu);\n const { left } = Element.cumulativeOffset(toolbarEl);\n if (offset.left < left) {\n dropdownMenu.style.right = `${offset.left - left}px`;\n }\n }\n });\n document.body.addEventListener('click', () => {\n menuEl.classList.remove('btn-group-open');\n });\n render(toolbarEl, menuEl);\n\n const layout = Element.getLayout(menuEl);\n toolbarEl._menuEl = {\n el: menuEl,\n width: Element.getWidth(menuEl) + layout.get('margin-left') + layout.get('margin-right'),\n };\n menuEl.style.display = 'none';\n\n toolbarEl._items = [];\n itemEls.forEach(itemEl => {\n const itemElClone = itemEl.cloneNode(true);\n itemElClone.classList.remove('btn');\n\n const liEl = new Element('li');\n render(liEl, itemElClone);\n render(menuEl.querySelector('ul'), liEl);\n\n const layout = Element.getLayout(itemEl);\n toolbarEl._items.push({\n el: itemEl,\n elInMenu: liEl,\n width: Element.getWidth(itemEl) + layout.get('margin-left') + layout.get('margin-right'),\n });\n });\n });\n\n const onWindowResize = () => {\n document.querySelectorAll('.a-toolbar-buttons-main').forEach(toolbarEl => {\n let width = Element.getWidth(toolbarEl);\n width -= toolbarEl._menuEl.width;\n\n toolbarEl._items.forEach(function (item) {\n if (width > item.width) {\n item.el.style.display = '';\n item.elInMenu.style.display = 'none';\n width -= item.width;\n } else {\n item.el.style.display = 'none';\n item.elInMenu.style.display = '';\n width = -1;\n }\n });\n if (width === -1) {\n toolbarEl._menuEl.el.style.display = '';\n } else {\n toolbarEl._menuEl.el.style.display = 'none';\n }\n });\n };\n\n onWindowResize();\n window.addEventListener('resize', onWindowResize);\n }\n\n toggleItem(item) {\n this.getItemElement(item).classList.toggle('active-list-item-collapsed');\n this.getItemElement(item).classList.toggle('active-list-item-expanded');\n this.stateCollapsed.set(item, !this.stateCollapsed.get(item));\n }\n\n scrollToItem(el, duration) {\n const startTime = new Date().getTime();\n const from = document.viewport.getScrollOffsets().top;\n let to = Element.cumulativeOffset(el).top - Element.cumulativeOffset(document.querySelector('.pul-layout__main')).top - 40;\n\n if (document.getElementById('classic-mode-navigation')) {\n to -= Element.getHeight(document.getElementById('classic-mode-navigation'));\n }\n\n const frame = () => {\n let progress = duration ? ((new Date().getTime() - startTime) / duration) : 1;\n if (progress > 1) {\n progress = 1;\n }\n\n window.scrollTo(0, Math.round(from + ((to - from) * progress)));\n\n if (progress < 1) {\n setTimeout(frame, 50);\n }\n };\n frame();\n }\n\n getItemIdFromUrl(url) {\n const m = url.match('/id/([0-9]+)');\n return m && m[1];\n }\n\n render() {\n super.render();\n\n const id = this.getItemIdFromUrl(decodeURIComponent(this.pageUrl));\n if (!id) {\n return;\n }\n\n const el = this.getItemElement({ id });\n if (el) {\n pageData().status?.forEach(({ status, content, ...props }) => {\n addStatusMessage(status, content, {\n ...props,\n title: Locale.getSection('components.status').lmsg(status),\n renderTo: el.querySelector('.caption-header-wrap'),\n renderMode: 'top',\n });\n });\n pageData({ ...pageData(), status: [] });\n this.scrollToItem(el, 10);\n }\n }\n}\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/settings-toolbar.png?6074d526f4dc827dee3280629d2e5130\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/order-ascending.png?3c02863d9b5c4a3cf034bd74e0183fa6\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/order-descending.png?c973774da91e3186ce0b188d9d895ef1\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/list-type-active.png?2bd72c88d60436bb8acc8328ed7f9ed3\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/list-type-classic.png?3eb8621bc8257a9b5f9995433f509a57\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from '../component';\nimport addStatusMessage from '../addStatusMessage';\nimport clearStatusMessages from '../clearStatusMessages';\nimport showInternalError from '../showInternalError';\nimport prepareUrl from '../prepareUrl';\nimport render from '../render';\nimport ce from '../createElement';\nimport escapeHtml from '../escapeHtml';\nimport emptyFn from '../emptyFn';\nimport { ESC, ENTER } from '../keyCode';\nimport api from '../api';\nimport { getTypeIcon } from '../../helpers/fileManager';\n\nimport './tree.less';\n\n/**\n * The widget displays directories and files in the webspace, allows selection\n *\n * Example usage:\n *\n * @example\n * new FileManager.Tree({\n * renderTo: document.body,\n * rootNodeTitle: 'Root node',\n * data: [{\n * name: 'folder',\n * isDirectory: true,\n * icon: '/icons/16/plesk/file-folder.png'\n * }, {\n * name: 'file.html',\n * isDirectory: false,\n * icon: '/icons/16/plesk/file-html.png'\n * }]\n * });\n */\nexport class Tree extends Component {\n /**\n * @cfg {Object[]} data=[]\n */\n /**\n * @cfg {String} dataUrl=\"\"\n */\n /**\n * @cfg {Boolean} showFiles=false\n */\n\n _initConfiguration(config) {\n super._initConfiguration(config);\n\n this._data = this._getConfigParam('data', null);\n this._dataUrl = this._getConfigParam('dataUrl', '');\n this._createFolderUrl = this._getConfigParam('createFolderUrl', '');\n this._onNodeClick = this._getConfigParam('onNodeClick', emptyFn);\n this._rootNodeTitle = this._getConfigParam('rootNodeTitle', '');\n this._onReload = this._getConfigParam('onReload', emptyFn);\n this._showFiles = this._getConfigParam('showFiles', false);\n this._filterNodes = this._getConfigParam('filterNodes', () => true);\n this._selectOnlyFiles = this._showFiles && this._getConfigParam('selectOnlyFiles', false);\n if (this._getConfigParam('showMessage')) {\n this._showMessage = this._getConfigParam('showMessage');\n }\n }\n\n _initComponentElement() {\n super._initComponentElement();\n if (null === this._data) {\n this.reload();\n } else {\n this._initTreeView();\n }\n }\n\n _initTreeView() {\n this._componentElement.innerHTML = '<div class=\"tree-wrap\"></div>';\n const container = this._componentElement.firstChild;\n\n this._insertNode(container, {\n name: this._rootNodeTitle,\n path: '/',\n htmlElement: 'div',\n cssClass: 'tree-item-root',\n isRootDirectory: true,\n isDirectory: true,\n });\n render(container, this._getNodes(this._data));\n }\n\n _getNodes(items) {\n const ulElement = new Element('ul', { class: 'tree-container' });\n\n items.filter(this._filterNodes).forEach(this._insertNode.bind(this, ulElement));\n\n return ulElement;\n }\n\n _insertNode(container, item, position) {\n const element = document.createElement(item.htmlElement || 'li');\n element.className = `tree-item ${item.cssClass ? item.cssClass : ''}`;\n element.innerHTML = '<div class=\"tree-item-wrap\"></div>';\n const wrapper = element.firstChild;\n element.data = item;\n\n const itemSelect = document.createElement('div');\n itemSelect.className = 'tree-item-select';\n render(wrapper, itemSelect);\n this._addCommonEvents(itemSelect, item, element);\n if (item.isDirectory && !item.isRootDirectory) {\n render(wrapper, `<span class=\"tree-item-state\"><img src=\"${require('images/tree-open.gif')}\" height=\"16\" width=\"16\"></span>`);\n wrapper.querySelector('.tree-item-state').addEventListener('click', this._onNodeToggle.bind(this, item.path, element));\n wrapper.addEventListener('dblclick', this._onNodeToggle.bind(this, item.path, element));\n if (!this._selectOnlyFiles) {\n wrapper.querySelector('.tree-item-state').addEventListener('mouseover', this._onNodeMouseover.bind(this, element));\n wrapper.querySelector('.tree-item-state').addEventListener('mouseleave', this._onNodeMouseleave.bind(this, element));\n }\n } else if (!item.isRootDirectory) {\n render(wrapper, `<span class=\"tree-item-state\"><img src=\"${require('images/blank.gif')}\" height=\"16\" width=\"16\"></span>`);\n }\n const linkElement = document.createElement('a');\n linkElement.className = 'tree-item-content';\n linkElement.innerHTML = `<span><img src=\"${getTypeIcon(item)}\" alt=\"\"><b>${escapeHtml(item.name)}</b></span>`;\n this._addCommonEvents(linkElement, item, element);\n render(wrapper, linkElement);\n\n render(container, element, position === 'top' ? 'top' : 'bottom');\n }\n\n _addCommonEvents(target, item, element) {\n if (item.isDirectory && this._selectOnlyFiles) {\n return;\n }\n target.addEventListener('mouseover', this._onNodeMouseover.bind(this, element));\n target.addEventListener('mouseleave', this._onNodeMouseleave.bind(this, element));\n target.addEventListener('click', event => {\n this._onNodeSelect(event, element);\n });\n target.addEventListener('click', this._onNodeClick.bind(this, item.path, element));\n }\n\n _onNodeToggle(directoryPath, containerElement) {\n const subTreeElement = containerElement.querySelector('ul');\n const expandElement = containerElement.querySelector('.tree-item-state');\n\n if (subTreeElement) {\n expandElement.innerHTML = `<img src=\"${require('images/tree-open.gif')}\" height=\"16\" width=\"16\">`;\n subTreeElement.parentNode.removeChild(subTreeElement);\n containerElement.data.showNewNode = false;\n return;\n }\n\n this._loadNode(directoryPath, containerElement);\n }\n\n _loadNode(directoryPath, containerElement) {\n if (containerElement.querySelector('.tree-item-state').querySelector('.js-loader')) {\n return;\n }\n this._onNodeLoadStart(containerElement);\n api.get(prepareUrl(this._dataUrl), { rootDir: directoryPath, showFiles: this._showFiles })\n .then(this._onNodeLoadSuccess.bind(this, containerElement))\n .catch(this._onNodeLoadFailure.bind(this));\n }\n\n _isNodeExpanded(nodeElement) {\n return !!nodeElement.querySelector('ul') || nodeElement.classList.contains('tree-item-root');\n }\n\n _onNodeLoadStart(containerElement) {\n const expandElement = containerElement.querySelector('.tree-item-state');\n expandElement.innerHTML = `<img src=\"${require('images/indicator.gif')}\" height=\"16\" width=\"16\" class=\"js-loader\">`;\n }\n\n _onNodeLoadSuccess(containerElement, items) {\n const expandElement = containerElement.querySelector('.tree-item-state');\n if (items.status) {\n expandElement.innerHTML = `<img src=\"${require('images/tree-open.gif')}\" height=\"16\" width=\"16\">`;\n this._showMessage(items.status, items.message);\n return;\n }\n\n clearStatusMessages();\n expandElement.innerHTML = `<img src=\"${require('images/tree-close.gif')}\" height=\"16\" width=\"16\">`;\n render(containerElement, this._getNodes(items));\n if (containerElement.data.showNewNode) {\n this.showNewNode(containerElement);\n }\n }\n\n _showMessage(status, message) {\n clearStatusMessages();\n addStatusMessage(status, message);\n }\n\n _onNodeSelect(event, containerElement) {\n if (event) {\n event.preventDefault();\n }\n this.resetSelection();\n containerElement.querySelector('.tree-item-wrap').classList.add('tree-item-row-active');\n this.hideNewNode();\n }\n\n resetSelection() {\n this._componentElement.querySelectorAll('.tree-item-wrap').forEach(element => {\n element.classList.remove('tree-item-row-active');\n });\n }\n\n _onNodeMouseover(containerElement) {\n this.resetHover();\n containerElement.querySelector('.tree-item-select').classList.add('tree-item-hover');\n }\n\n _onNodeMouseleave(containerElement) {\n this.resetHover();\n containerElement.querySelector('.tree-item-select').classList.remove('tree-item-hover');\n }\n\n resetHover() {\n this._componentElement.querySelectorAll('.tree-item-select').forEach(element => {\n element.classList.remove('tree-item-hover');\n });\n }\n\n /**\n * @param {String} directory\n */\n setDirectory(directory) {\n const node = this._getNodeElement(directory);\n if (node) {\n this._onNodeSelect(null, node);\n }\n }\n\n reload() {\n this._componentElement.innerHTML = '<div class=\"ajax-loading\">Please wait...</div>';\n\n api.get(prepareUrl(this._dataUrl), { rootDir: '/', showFiles: this._showFiles })\n .then(this._onFullReloadSuccess.bind(this))\n .catch(this._onNodeLoadFailure.bind(this));\n }\n\n _onFullReloadSuccess(data) {\n this._data = data;\n this._initTreeView();\n this._onReload();\n }\n\n _onNodeLoadFailure() {\n showInternalError('Failed to load tree data.');\n }\n\n reloadPath(path) {\n if (path === '/') {\n this.reload();\n return;\n }\n\n const node = this._getNodeElement(path);\n if (!node) {\n return;\n }\n\n if (this._isNodeExpanded(node)) {\n const el = node.querySelector('ul');\n el.parentNode.removeChild(el);\n this._loadNode(path, node);\n }\n }\n\n _getNodeElement(path) {\n if (typeof path !== 'string') {\n return null;\n }\n const nodes = this._componentElement.querySelectorAll('.tree-item');\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].data.path === path) {\n return nodes[i];\n }\n }\n const lastSlashIndex = path.lastIndexOf('/');\n if (lastSlashIndex > 0) {\n return this._getNodeElement(path.slice(0, lastSlashIndex));\n }\n return null;\n }\n\n getSelectedNode() {\n const selectedElement = this._componentElement.querySelector('.tree-item-row-active');\n if (!selectedElement) {\n return null;\n }\n\n return selectedElement.closest('.tree-item');\n }\n\n getSelectedItemData() {\n const selectedElement = this.getSelectedNode();\n if (!selectedElement) {\n return null;\n }\n\n return selectedElement.data;\n }\n\n expandNode(node) {\n if (!node) {\n node = this.getSelectedNode();\n }\n if (this._isNodeExpanded(node)) {\n return;\n }\n\n this._loadNode(node.data.path, node);\n }\n\n showNewNode(parentNode) {\n if (!parentNode) {\n parentNode = this.getSelectedNode();\n }\n if (!parentNode) {\n // Process root node\n parentNode = this._componentElement.querySelector('.tree-item-root');\n }\n parentNode.data.showNewNode = true;\n if (!this._isNodeExpanded(parentNode)) {\n this.expandNode(parentNode);\n return;\n }\n let container = parentNode.querySelector('ul.tree-container');\n if (!container) {\n // Process root node\n container = parentNode.nextElementSibling;\n }\n this._insertNewNode(container, {\n name,\n path: parentNode.data.path,\n icon: '/icons/16/plesk/file-folder.png',\n isDirectory: true,\n type: 'dir',\n }, 'top');\n }\n\n hideNewNode() {\n const newNode = this._componentElement.querySelector('.js-tree-item-new');\n if (!newNode) {\n return;\n }\n let parentNode = newNode.closest('.tree-item');\n if (!parentNode) {\n // Process root node\n parentNode = this._componentElement.querySelector('.tree-item-root');\n }\n parentNode.data.showNewNode = false;\n newNode.parentNode.removeChild(newNode);\n }\n\n _insertNewNode(container, item, position) {\n if (container.querySelector('.js-tree-item-new')) {\n return;\n }\n const element = ce('li.tree-item js-tree-item-new',\n {\n onrender(el) {\n el.data = item;\n },\n },\n ce('div.tree-item-wrap',\n ce('span.tree-item-state', ce('img', { src: require('images/blank.gif') })),\n ce('div.tree-item-content',\n ce('div.input-btn-group',\n ce('i.icon-folder'),\n ce('input.form-control', { type: 'text', onkeydown: this._onNewNodeKeyDown.bind(this) }),\n ce('button.btn btn-icon-only input-btn',\n { type: 'button', onclick: this._onCreateFolder.bind(this), onrender: el => {\n this._insertBtn = el;\n } },\n ce('i.icon-save')),\n ce('button.btn btn-icon-only input-btn',\n { type: 'button', onclick: this._onCancelCreateFolder.bind(this) }, ce('i.icon-cancel')),\n ),\n ),\n ),\n );\n\n render(container, element, position);\n container.querySelector('.js-tree-item-new input').focus();\n }\n\n _onCreateFolder(e) {\n const name = e.target.closest('.input-btn-group').querySelector('.form-control').value;\n const newNode = e.target.closest('.js-tree-item-new');\n let parentNode = newNode.parentNode.closest('.tree-item');\n if (!parentNode) {\n // Process root node\n parentNode = newNode.closest('ul.tree-container').previousElementSibling;\n }\n\n const row = parentNode.closest('.form-row');\n row.classList.remove('error');\n const errorMessage = row.querySelector('.field-value .field-errors');\n if (errorMessage) {\n errorMessage.parentNode.removeChild(errorMessage);\n }\n\n this._insertBtn.disabled = true;\n api.post(prepareUrl(this._createFolderUrl), { currentDir: newNode.data.path, newDirectoryName: name })\n .then(response => this._onFolderCreated(name, parentNode, response))\n .finally(() => {\n this._insertBtn.disabled = false;\n });\n }\n\n _onFolderCreated(name, parentNode, { status, message }) {\n if (status === 'success') {\n const path = `${parentNode.data.path}/${name}`;\n let container = parentNode.querySelector('ul.tree-container');\n if (!container) {\n // Process root node\n container = parentNode.nextElementSibling;\n }\n this.hideNewNode();\n this._insertNode(container, {\n name,\n path,\n isDirectory: true,\n }, 'top');\n this._onNodeSelect(null, container);\n } else {\n const row = parentNode.closest('.form-row');\n row.classList.add('error');\n const errorMessage = ce('span.field-errors', ce('span.error-hint', message));\n render(row.querySelector('.field-value'), errorMessage);\n }\n }\n\n _onCancelCreateFolder() {\n this.hideNewNode();\n }\n\n _onNewNodeKeyDown(e) {\n switch (e.keyCode) {\n case ENTER:\n e.preventDefault();\n this._onCreateFolder(e);\n break;\n case ESC:\n e.preventDefault();\n this._onCancelCreateFolder(e);\n break;\n }\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const FTYPE_DIR = 'dir';\nexport const FTYPE_TEXT = 'text';\nexport const FTYPE_IMAGE = 'image';\nexport const FTYPE_VECTOR_IMAGE = 'vector_image';\nexport const FTYPE_AUDIO = 'audio';\nexport const FTYPE_SECURITY = 'security';\nexport const FTYPE_WEBSCRIPT = 'webscript';\nexport const FTYPE_WEBPAGE = 'webpage';\nexport const FTYPE_WAPPAGE = 'wappage';\nexport const FTYPE_COMPRESSED = 'compressed';\nexport const FTYPE_UNKNOWN_TEXT = 'unknown_text';\nexport const FTYPE_UNKNOWN_BINARY = 'unknown_binary';\nexport const FTYPE_ZIP = 'zip';\nexport const FTYPE_RAR = 'rar';\nexport const FTYPE_TAR = 'tar';\nexport const FTYPE_TGZ = 'tgz';\n\ntype FileType = {\n type: string;\n isDirectory: boolean;\n name: string;\n};\n\nexport const getTypeIcon = ({ type, isDirectory, name }: FileType): string => {\n if (isDirectory) {\n return name === '..'\n ? require('icons/16/plesk/uplevel.png')\n : require('icons/16/plesk/file-folder.png');\n }\n\n const list: Record<string, string> = {\n [FTYPE_TEXT]: require('icons/16/plesk/file-txt.png'),\n [FTYPE_IMAGE]: require('icons/16/plesk/file-image.png'),\n [FTYPE_VECTOR_IMAGE]: require('icons/16/plesk/file-image.png'),\n [FTYPE_AUDIO]: require('icons/16/plesk/file-audio.png'),\n [FTYPE_SECURITY]: require('icons/16/plesk/file-private.png'),\n [FTYPE_WEBSCRIPT]: require('icons/16/plesk/file-webscript.png'),\n [FTYPE_WEBPAGE]: require('icons/16/plesk/file-html.png'),\n [FTYPE_WAPPAGE]: require('icons/16/plesk/file-html.png'),\n [FTYPE_COMPRESSED]: require('icons/16/plesk/file-arch.png'),\n [FTYPE_UNKNOWN_TEXT]: require('icons/16/plesk/file-txt.png'),\n [FTYPE_UNKNOWN_BINARY]: require('icons/16/plesk/file-binary.png'),\n [FTYPE_ZIP]: require('icons/16/plesk/file-arch.png'),\n [FTYPE_RAR]: require('icons/16/plesk/file-arch.png'),\n [FTYPE_TAR]: require('icons/16/plesk/file-arch.png'),\n [FTYPE_TGZ]: require('icons/16/plesk/file-arch.png'),\n };\n\n return list[type];\n};\n\nconst unixPermissions = [\n 'ownerRead',\n 'ownerWrite',\n 'ownerExecute',\n 'groupRead',\n 'groupWrite',\n 'groupExecute',\n 'othersRead',\n 'othersWrite',\n 'othersExecute',\n] as const;\n\ntype Permissions = Record<typeof unixPermissions[number], boolean>;\n\nexport const toUnixPermissionsString = (permissions: Permissions): string => (\n unixPermissions.reduce((acc, name, index) => {\n const flag = permissions[name];\n acc += flag ? ['r', 'w', 'x'][index % 3] : '-';\n if (index % 3 === 2) {\n acc += ' ';\n }\n return acc;\n }, '')\n);\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/uplevel.png?09738742d9a113e283a273f3445a1ba9\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-folder.png?377a0415c8e86b629f04f2de969b6dc7\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-txt.png?9bfe434b7467e7d61abb4b3ae8adc711\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-image.png?1327e17a096bce2f49ad2f66f4abdaf6\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-audio.png?72fe25f83d67048d40e6c86149d696bf\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-private.png?b3e618929415e17caa82f8d04d2aa689\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-webscript.png?b2aff14c14b05cccbb316c37d48fb591\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-html.png?a1c021367bd1d987f31cf58c13a2d342\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-arch.png?672559f884c624090a3e3687f16148ec\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-binary.png?e5e874cc42fb4473aab65dcace6e6664\";","module.exports = Jsw.skinUrl + \"/images/tree-open.gif?56398e76be6355ad5999b262208a17c9\";","module.exports = Jsw.skinUrl + \"/images/indicator.gif?ece6f747d3bfdc48d99f935627535c09\";","module.exports = Jsw.skinUrl + \"/images/tree-close.gif?56398e76be6355ad5999b262208a17c9\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport render from '../render';\n\nexport class UploadAdapterIframe {\n constructor({ contentAreaId, handlerUrl, startUploadHandler, finishUploadHandler }) {\n this._contentAreaId = contentAreaId;\n this._handlerUrl = handlerUrl;\n this._startUploadHandler = startUploadHandler;\n this._finishUploadHandler = finishUploadHandler;\n this._uploadFrameInitialized = false;\n this._getUploadIFrameElement();\n }\n\n _getUploadIFrameElement() {\n const contentArea = document.getElementById(this._contentAreaId);\n if (!contentArea.querySelector('iframe')) {\n this._uploadFrameElement = new Element('iframe', {\n id: `${this._contentAreaId}-upload-iframe`,\n name: '_uploadIFrame',\n style: 'display: none;',\n src: this._handlerUrl,\n });\n render(contentArea, this._uploadFrameElement);\n this._uploadFrameElement.addEventListener('load', this._onUploadFrameInitialized.bind(this));\n }\n return this._uploadFrameElement;\n }\n\n _onUploadFrameInitialized() {\n if (this._uploadFrameInitialized) {\n return;\n }\n this._uploadFrameInitialized = true;\n this._uploadFrameElement.addEventListener('load', this._finishUploadHandler);\n this._startUploadHandler();\n }\n\n isReady() {\n return this._uploadFrameInitialized;\n }\n\n getResult() {\n const statusFrame = this._getUploadIFrameElement();\n const statusDocument = statusFrame.contentDocument || statusFrame.contentWindow.document;\n try {\n return JSON.parse(statusDocument.body.innerHTML);\n } catch {\n return {\n status: 'ERROR',\n message: 'No upload response',\n };\n }\n }\n\n cancel() {\n if (this._uploadFrameElement) {\n this._uploadFrameElement.setAttribute('src', 'javascript:false;');\n }\n this._finishUploadHandler();\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PopupForm } from './popup-form';\nimport { Tree } from './file-manager/tree';\nimport emptyFn from './emptyFn';\n\nexport class DirectoryBrowser extends PopupForm {\n _initConfiguration(config) {\n super._initConfiguration(config);\n this._pathElementId = this._getConfigParam('pathElementId');\n this._subscriptionId = this._getConfigParam('subscriptionId');\n this._showFiles = this._getConfigParam('showFiles', false);\n this._onSubmit = this._getConfigParam('onSubmit', emptyFn);\n }\n\n render() {\n super.render();\n\n this.setBoxType('form-box');\n this.setTitle(this.lmsg('title'));\n\n document.getElementById(this._contentAreaId).innerHTML = (\n `<form method=\"post\" id=\"${this._id}-form\">` +\n '<div class=\"single-row\">' +\n '<div class=\"scrollable fm-scrollable\" style=\"height: 300px;\">' +\n '<div class=\"scrollable-wrap\">' +\n `<div id=\"${this._id}-files-tree\" class=\"tree\"></div>` +\n '</div>' +\n '</div>' +\n '</div>' +\n '</form>'\n );\n\n this._tree = new Tree({\n applyTo: `${this._id}-files-tree`,\n data: null,\n dataUrl: `^/smb/file-manager/tree-data/subscriptionId/${this._subscriptionId}`,\n showFiles: this._showFiles,\n onNodeClick: this._onTreeNodeClick.bind(this),\n onReload() {\n this.setDirectory('/');\n },\n ...this._getConfigParam('treeConfig', {}),\n });\n\n this._buttonOk = this.addRightButton(this.lmsg('buttonOk'), this._onOkClick, true, true);\n this._buttonCancel = this.addRightButton(this.lmsg('buttonCancel'), this._onCancelClick, false, false);\n\n if (this._showFiles) {\n this._updateButton(this._buttonOk, { disabled: true });\n }\n }\n\n _onTreeNodeClick() {\n this._updateButton(this._buttonOk, { disabled: this._showFiles && this._tree.getSelectedItemData().isDirectory });\n }\n\n _onOkClick(event) {\n if (event) {\n event.preventDefault();\n }\n\n const selectedPath = this._tree.getSelectedItemData().path;\n const pathValue = this._showFiles ? selectedPath.substr(1) : selectedPath;\n if (this._pathElementId) {\n document.getElementById(this._pathElementId).value = pathValue;\n }\n this._onSubmit(pathValue);\n this.hide();\n }\n\n _onCancelClick() {\n this.hide();\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component } from './component';\n\n/**\n * @param {Entry} entry\n * @return {Promise}\n */\nconst readEntry = entry => new Promise(resolve => {\n if (entry.isDirectory) {\n const entryReader = entry.createReader();\n readAllEntries(entry, entryReader, resolve, []);\n } else {\n resolve(entry);\n }\n});\n\nconst readAllEntries = function (entry, entryReader, resolve, allEntries) {\n entryReader.readEntries(function (results) {\n if (!results.length) {\n if (!allEntries.length) {\n resolve(entry);\n } else {\n resolve(entriesToFiles(allEntries));\n }\n } else {\n allEntries = allEntries.concat(results);\n readAllEntries(entry, entryReader, resolve, allEntries);\n }\n });\n};\n\n/**\n * @param {String[]} entries\n * @return {Promise}\n */\nconst entriesToFiles = entries => Promise.all(entries.map(readEntry))\n .then(items => {\n let files = [];\n items.forEach(function (item) {\n if (Array.isArray(item)) {\n files = files.concat(item);\n } else {\n files.push(item);\n }\n });\n return files;\n });\n\n/**\n * @param {File} file\n * @return {Promise}\n */\nconst isFile = file => new Promise(resolve => {\n if (file.size > 4096) {\n resolve(true);\n return;\n }\n\n if (!window.FileReader\n || (window.opera && navigator.platform.toLowerCase().indexOf('mac') > -1 && window.opera.version() === '12.00')\n ) {\n resolve(null);\n } else {\n try {\n const reader = new FileReader();\n reader.onerror = () => {\n reader.onloadend = null;\n reader.onprogress = null;\n reader.onerror = null;\n resolve(false);\n };\n reader.onprogress = e => {\n reader.onloadend = null;\n reader.onprogress = null;\n reader.onerror = null;\n if (e.type !== 'loadend') {\n reader.abort();\n }\n resolve(true);\n };\n reader.onloadend = reader.onprogress;\n reader.readAsDataURL(file);\n } catch {\n resolve(false);\n }\n }\n});\n\n/**\n * @param {Event} e\n * @return {Boolean}\n */\nconst isDragFiles = e => {\n if (!e.dataTransfer) {\n return false;\n }\n\n if (e.dataTransfer.effectAllowed === 'none') {\n return false;\n }\n\n return [].some.call(e.dataTransfer.types, type => type === 'Files');\n};\n\n/**\n * @param {Event} e\n * @return {Promise}\n */\nconst getDragFiles = e => {\n if (!e.dataTransfer) {\n return Promise.resolve([]);\n }\n\n if (!e.dataTransfer.items) {\n return Promise.all([].map.call(e.dataTransfer.files, isFile))\n .then(isFiles => [].filter.call(e.dataTransfer.files, (file, index) => isFiles[index]));\n }\n\n return entriesToFiles(\n [].map.call(e.dataTransfer.items, item => item.webkitGetAsEntry() || item.getAsFile()).filter(Boolean),\n );\n};\n\n/**\n * Drop area component\n */\nexport class DropArea extends Component {\n _initConfiguration(config) {\n super._initConfiguration({\n cls: 'fm-drop-area',\n ...config,\n });\n\n this.isButtomUploadDirectory = false;\n this._onDrop = this._getConfigParam('onDrop');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement.innerHTML = (\n '<div class=\"fm-drop-area-wrap\">' +\n `<span class=\"fm-drop-area-text\">\n <h2>${this.lmsg('dragAndDropArea')}</h2>\n </span>` +\n '</div>'\n );\n\n this.hide();\n }\n\n _addEvents() {\n this._addDocumentHandlers();\n this._addDropAreaHandlers();\n }\n\n _addDocumentHandlers() {\n document.addEventListener('dragover', e => {\n if (!isDragFiles(e)) {\n return;\n }\n\n if (e.dataTransfer) {\n e.preventDefault();\n }\n });\n\n document.addEventListener('dragenter', e => {\n if (!isDragFiles(e)) {\n return;\n }\n this.show();\n });\n\n document.addEventListener('drop', e => {\n if (!isDragFiles(e)) {\n return;\n }\n this.hide();\n e.preventDefault();\n });\n }\n\n _addDropAreaHandlers() {\n this._componentElement.addEventListener('dragover', e => {\n if (!isDragFiles(e)) {\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n });\n\n this._componentElement.addEventListener('drop', e => {\n if (!isDragFiles(e)) {\n return;\n }\n e.preventDefault();\n\n this.hide();\n if (this._onDrop) {\n getDragFiles(e).then(this._onDrop);\n }\n });\n\n this._componentElement.addEventListener('mouseover', () => {\n if (!this.isButtomUploadDirectory) {\n this.hide();\n }\n });\n\n this._componentElement.addEventListener('click', () => {\n this.hide();\n });\n\n document.onkeydown = event => {\n switch (event.key) {\n case 'Esc':\n case 'Escape':\n this.hide();\n break;\n default:\n }\n };\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { List } from './list';\nimport createElement from './createElement';\n\nexport class GroupsList extends List {\n _getGroupRowClass() {\n return '';\n }\n\n _initConfiguration(config) {\n this._groupBy = false;\n this._groupsConfig = [];\n\n super._initConfiguration(config);\n this._groupBy = this._getConfigParam('groupBy', false);\n this._groupsConfig = this._getConfigParam('groupsConfig', false);\n this._getGroupRowClass = this._getConfigParam('getGroupRowClass', this._getGroupRowClass);\n }\n\n listDataView(listData = this._data, indexOffset = 0) {\n if (!listData) {\n return null;\n }\n\n if (this._groupBy) {\n listData.sort((a, b) => {\n if (a[this._groupBy] > b[this._groupBy]) {\n return 1;\n }\n if (a[this._groupBy] < b[this._groupBy]) {\n return -1;\n }\n return 0;\n });\n\n const groupedData = {};\n listData.forEach(item => {\n if (!groupedData[item[this._groupBy]]) {\n groupedData[item[this._groupBy]] = {\n id: item[this._groupBy],\n items: [],\n };\n }\n groupedData[item[this._groupBy]].items.push(item);\n });\n\n return createElement('tbody',\n Object.keys(groupedData).map((groupId, groupIndex) => {\n const group = groupedData[groupId];\n return this.groupDataRowView(group, groupIndex, indexOffset);\n }),\n );\n }\n\n return createElement('tbody',\n listData.map((item, index) => this.rowView(item, index, indexOffset)),\n );\n }\n\n groupDataRowView(group, groupIndex, indexOffset) {\n return [\n createElement(`tr.${this._getGroupRowClass(group)}.${(groupIndex + indexOffset) % 2 ? 'even' : 'odd'}`, {\n colspan: this._columns.length,\n 'data-row-id': group.id,\n }, `<b>${this._getGroupName(group)}</b>`),\n ...group.items.map((item, index) => this.rowView(item, index, indexOffset)),\n ];\n }\n\n _getGroupName(group) {\n return this._groupsConfig[group.id] || group.id;\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PopupForm } from './popup-form';\nimport { DynamicPopupHint } from './dynamic-popup-hint';\nimport { List } from './list';\nimport { Panel } from './panel';\nimport { getComponent } from './component';\nimport { redirect } from './form-redirect';\nimport Locale from './Locale';\nimport addStatusMessage from './addStatusMessage';\nimport prepareUrl from './prepareUrl';\nimport escapeHtml from './escapeHtml';\n\nexport class ReporterPopup extends PopupForm {\n _initConfiguration(config) {\n super._initConfiguration({\n singleRowButtons: true,\n ...config,\n });\n\n this._actionCollectId = `${this._id}-action-collect`;\n this._actionToSupportId = `${this._id}-action-to-support`;\n this._sendButtonId = 'btn-send';\n this._cancelButtonId = 'btn-cancel';\n this._supportUrl = this._getConfigParam('supportUrl', '');\n }\n\n render() {\n super.render();\n\n this.setBoxType('form-box');\n this.setTitle(this.lmsg('title'));\n\n this.addRightButton(this.lmsg('buttonCollect'), this._onSendClick, true, true, { id: this._sendButtonId });\n this.addRightButton(Locale.getSection('components.buttons').lmsg('cancel'), this._onCancelClick, false, false, { id: this._cancelButtonId });\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n this._componentElement.querySelector('div.content-area').innerHTML = (\n '<div class=\"form-row\">' +\n '<div class=\"single-row\">' +\n '<div class=\"field-value\">' +\n '<label>' +\n `<input class=\"radio\" type=\"radio\" name=\"action\" id=\"${this._actionCollectId}\" checked=\"checked\"> ` +\n `${this.lmsg('actionCollect')}${this._getTooltip()}` +\n '</label>' +\n '</div>' +\n '<div class=\"field-value\">' +\n `<label><input class=\"radio\" type=\"radio\" name=\"action\" id=\"${this._actionToSupportId}\"> ${this.lmsg('actionToSupport')}</label>` +\n '</div>' +\n '</div>' +\n '</div>' +\n `<a href=\"#\" class=\"toggler js-show-previous-reports\">${this.lmsg('showPreviousReports')}</a>` +\n `<a href=\"#\" class=\"toggler hidden js-hide-previous-reports\">${this.lmsg('hidePreviousReports')}</a>` +\n `<div id=\"js-reports\"><span class=\"ajax-loading hidden\">${this.lmsg('pleaseWait')}</span></div>`\n );\n }\n\n _onSupportClick(close) {\n window.open(this._supportUrl, '_blank');\n this._disableSendButton(this.lmsg('buttonWait'));\n new Ajax.Request(\n prepareUrl('/admin/report/report-usage/'), {\n method: 'post',\n onException: this._onException.bind(this),\n onSuccess: () => {\n close ? this.hide() : this._enableSendButton(this.lmsg('buttonToSupport'));\n },\n },\n );\n }\n\n _onCollectClick() {\n this._disableSendButton();\n DynamicPopupHint.unset();\n document.getElementById(this._contentAreaId).innerHTML = `<p class=\"text-center\"><span class=\"ajax-loading\">${this.lmsg('collecting')}${this._getTooltip()}</span></p>`;\n this._addTooltips();\n new Ajax.Request(\n prepareUrl('/admin/report/collect/'), {\n method: 'post',\n onException: this._onException.bind(this),\n onSuccess: response => {\n const data = JSON.parse(response.responseText);\n if (this._checkResponseStatus(data)) {\n DynamicPopupHint.unset();\n const link = `<a href=\"${prepareUrl(`/admin/report/download/file/${encodeURIComponent(data.file)}`)}\">${this.lmsg('downloadLink')}</a>`;\n document.getElementById(this._contentAreaId).innerHTML = (\n `<p>${this.lmsg('collectedDescription')}</p>` +\n `<p>${this.lmsg('collectedDownload', { link })}</p>` +\n `<p>${this.lmsg('collectedConsent')}</p>`\n );\n this.file = data.file;\n this._enableSendButton(this.lmsg('buttonSend'));\n }\n },\n },\n );\n }\n\n _onSendClick() {\n const collectRadio = document.getElementById(this._actionCollectId);\n if (collectRadio && collectRadio.checked) {\n this._onCollectClick();\n return;\n }\n\n if (collectRadio && !collectRadio.checked) {\n this._onSupportClick(true);\n return;\n }\n\n if (!this.file) {\n this._onSupportClick(false);\n return;\n }\n\n this._disableSendButton(this.lmsg('buttonSending'));\n new Ajax.Request(\n prepareUrl('/admin/report/send/'), {\n method: 'post',\n parameters: { file: this.file },\n onException: this._onException.bind(this),\n onSuccess: response => {\n const data = JSON.parse(response.responseText);\n if (this._checkResponseStatus(data)) {\n delete this.file;\n document.getElementById(this._contentAreaId).innerHTML = `<p>${this.lmsg('sentInfo', { id: escapeHtml(data.reportId) })}</p>`;\n this._enableSendButton(this.lmsg('buttonToSupport'));\n }\n },\n },\n );\n }\n\n _onCancelClick() {\n this.hide();\n }\n\n _onShowReportsClick(e) {\n e.preventDefault();\n this._componentElement.querySelector('.js-show-previous-reports').classList.add('hidden');\n if (getComponent('reports-list') && this._componentElement.querySelector('.list-box')) {\n this._componentElement.querySelector('.list-box').classList.remove('hidden');\n this._componentElement.querySelector('.js-hide-previous-reports').classList.remove('hidden');\n return;\n }\n this._componentElement.querySelector('.ajax-loading').classList.remove('hidden');\n const dialogHeight = Element.getHeight(this._componentElement);\n const list = new List({\n id: 'reports-list',\n dataUrl: prepareUrl('/admin/report/list-data'),\n pageable: false,\n columns: [\n {\n header: this.lmsg('date'),\n dataIndex: 'date',\n },\n {\n header: this.lmsg('reportId'),\n dataIndex: 'id',\n },\n ],\n onRedraw: () => {\n this._componentElement.querySelector('.js-hide-previous-reports').classList.remove('hidden');\n this._componentElement.querySelector('.ajax-loading').classList.add('hidden');\n const maxHeight = Math.max(document.viewport.getScrollOffsets().top + document.viewport.getHeight() -\n (parseInt(Element.getStyle(this._componentElement, 'top')) * 1.5) - dialogHeight, 100);\n this._componentElement.querySelector('.list').style.maxHeight = `${parseInt(maxHeight)}px`;\n },\n });\n new Panel({\n cls: 'list-box',\n renderTo: 'js-reports',\n items: [\n list,\n ],\n });\n }\n\n _onHideReportsClick(e) {\n e.preventDefault();\n this._componentElement.querySelector('.list-box').classList.add('hidden');\n this._componentElement.querySelector('.js-show-previous-reports').classList.remove('hidden');\n this._componentElement.querySelector('.js-hide-previous-reports').classList.add('hidden');\n }\n\n _addEvents() {\n super._addEvents();\n\n document.getElementById(this._actionCollectId).addEventListener('click', () => {\n this._enableSendButton(this.lmsg('buttonCollect'));\n });\n document.getElementById(this._actionToSupportId).addEventListener('click', () => {\n this._enableSendButton(this.lmsg('buttonToSupport'));\n });\n this._componentElement.querySelector('.js-show-previous-reports').addEventListener('click', this._onShowReportsClick.bind(this));\n this._componentElement.querySelector('.js-hide-previous-reports').addEventListener('click', this._onHideReportsClick.bind(this));\n }\n\n _addTooltips() {\n super._addTooltips();\n\n new DynamicPopupHint.Instance({\n title: this.lmsg('hintTitle'),\n target: document.getElementById('tooltip'),\n placement: 'right',\n content: this.lmsg('hintText'),\n });\n }\n\n _getTooltip() {\n if (!this._tooltip) {\n this._tooltip = ` <a class=\"nowrap\" id=\"tooltip\">${this.lmsg('hintLink')}</a>`;\n }\n return this._tooltip;\n }\n\n _disableSendButton(title) {\n const el = document.getElementById(this._sendButtonId);\n el.disabled = true;\n el.classList.add('disabled');\n if (title) {\n el.innerHTML = `<span class=\"wait\">${title}</span>`;\n }\n }\n\n _enableSendButton(title) {\n const el = document.getElementById(this._sendButtonId);\n el.disabled = false;\n el.classList.remove('disabled');\n if (title) {\n el.innerHTML = title;\n }\n }\n\n _checkResponseStatus(response) {\n if (response.redirect) {\n redirect(response.redirect);\n }\n\n if (response.status && 'success' !== response.status) {\n (response.statusMessages || []).forEach(function (message) {\n addStatusMessage(message.status, message.content);\n });\n this.hide();\n return false;\n }\n return true;\n }\n\n _onException(transport, exception) {\n addStatusMessage('error', `Internal error: ${exception}`);\n this.hide();\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { LookUp } from './lookup';\nimport { Tooltip } from './tooltip';\nimport render from './render';\nimport createElement from './createElement';\n\nimport './object-switcher.less';\n\nexport class ObjectSwitcher extends LookUp {\n _initConfiguration(config) {\n super._initConfiguration({\n tag: 'div',\n cls: 'btn-group object-switcher',\n ...config,\n });\n\n this._listUrl = this._getConfigParam('listUrl', '');\n this._itemUrlTemplate = this._getConfigParam('itemUrlTemplate', '');\n this._owner = this._getConfigParam('owner', null);\n this._navigate = this._getConfigParam('navigate');\n }\n\n _initCustomLookUpComponent() {\n render(this._componentElement, createElement('button', {\n type: 'button',\n class: 'pul-button pul-button--ghost pul-button--empty dropdown-toggle',\n onrender: el => {\n this._customLookUpComponent = el;\n },\n }, '<span class=\"pul-icon pul-icon--size-16 pul-button__icon\">' +\n '<svg focusable=\"false\"><use href=\"/ui-library/images/symbols.svg?5f00d3c14f85d017780e960ab4a240ed#chevron-down:16\" /></svg>' +\n '</span>'));\n }\n\n _getSearchMoreText(count) {\n return super._getSearchMoreText(count)\n + (this._listUrl ? ` ${this.lmsg('refineSearchMessage', { link: `<a href=\"${this._listUrl}\">${this.lmsg('listOfAllObjects')}</a>` })}` : '');\n }\n\n _updateData(data) {\n this._clearData();\n\n let myData = [];\n\n if (null !== this._owner) {\n myData = data.filter(({ isSameParent }) => isSameParent == 1);\n\n data = data.filter(({ isSameParent }) => isSameParent != 1);\n }\n\n if (myData.length) {\n if (data.length) {\n render(this._dropdownList, createElement('li.dropdown-header', this.lmsg('myObjectsLabel', { name: this._owner })));\n }\n\n myData.forEach(item => {\n render(this._dropdownList, this._createItem(item));\n });\n\n if (data.length) {\n render(this._dropdownList, [\n createElement('li.divider'),\n createElement('li.dropdown-header', this.lmsg('otherObjectsLabel')),\n ]);\n }\n }\n\n data.forEach(item => {\n render(this._dropdownList, this._createItem(item));\n });\n\n this._addSearchMoreElement();\n }\n\n _addTooltips() {\n this._tooltip = Tooltip.init(this._customLookUpComponent, { text: this.lmsg('description') });\n }\n\n handleChange() {\n super.handleChange();\n\n let url = this._itemUrlTemplate;\n Object.entries(this._currentValue).forEach(([key, val]) => {\n url = url.replaceAll(new RegExp(`(%%|%25%25)${key}(%%|%25%25)`, 'g'), val);\n });\n\n this._navigate(url);\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport Popup from './Popup';\nimport { LEFT_ARROW, RIGHT_ARROW } from './keyCode';\nimport ce from './createElement';\nimport render from './render';\n\nimport './PopupSlider.less';\n\nclass PopupSlider extends Popup {\n _initConfiguration(config) {\n super._initConfiguration({\n popupCls: 'popup-panel popup-panel-slider popup-panel-auto',\n closeButtonEnabled: true,\n hideOnEscape: true,\n ...config,\n });\n\n this._slides = this._getConfigParam('slides', []);\n this._current = this._getConfigParam('current', 0);\n }\n\n _initComponentElement() {\n super._initComponentElement();\n this.setCurrent(this._current);\n }\n\n _getContentArea() {\n return ce('.slider',\n ce('ul.slider__container',\n this._slides.map(() => ce('li.slider__item')),\n ),\n this._slides.length > 1 ? ce('.slider__arrows',\n ce('.slider__arrow.slider__arrow--start',\n { onclick: () => this.prev() },\n '<svg class=\"slider__arrow-image\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 40\" width=\"20\" height=\"40\">' +\n '<polyline points=\"16,4 4,20 16,36\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\"' +\n ' stroke-linejoin=\"round\" stroke-linecap=\"round\" />' +\n '</svg>',\n ),\n ce('.slider__arrow.slider__arrow--end',\n { onclick: () => this.next() },\n '<svg class=\"slider__arrow-image\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 40\" width=\"20\" height=\"40\">' +\n '<polyline points=\"16,4 4,20 16,36\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\"' +\n ' stroke-linejoin=\"round\" stroke-linecap=\"round\" />' +\n '</svg>',\n ),\n ) : null,\n ce('.slider__navigation',\n ce('.slider__navigation-inner',\n this._slides.map((item, index) => ce('span.slider__navigation-dot', { onclick: () => this.setCurrent(index) })),\n ),\n ),\n );\n }\n\n _onKeyDown(e) {\n super._onKeyDown(e);\n switch (e.keyCode) {\n case LEFT_ARROW:\n this.prev();\n break;\n case RIGHT_ARROW:\n this.next();\n break;\n }\n }\n\n setCurrent(current) {\n this.renderSlide(current);\n\n const firstItem = this._componentElement.querySelector('.slider__item');\n const dots = this._componentElement.querySelectorAll('.slider__navigation-dot');\n\n dots.item(this._current).classList.remove('slider__navigation-dot--current');\n this._current = current;\n firstItem.style.marginLeft = `${-100 * current}%`;\n dots.item(this._current).classList.add('slider__navigation-dot--current');\n }\n\n renderSlide(current) {\n const curItem = this._componentElement.querySelector(`.slider__item:nth-child(${current + 1})`);\n if (curItem.innerHTML.length === 0) {\n render(curItem, this._slides[current]);\n }\n }\n\n next() {\n this.setCurrent(this._current === this._slides.length - 1 ? 0 : this._current + 1);\n }\n\n prev() {\n this.setCurrent(this._current === 0 ? this._slides.length - 1 : this._current - 1);\n }\n}\n\nexport default PopupSlider;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { List } from './list';\nimport createElement from './createElement';\n\n/**\n * The extension of the list widget: fits 100% height of screen.\n */\nexport class ScrollableList extends List {\n listView() {\n const view = super.listView();\n\n view.attrs.class += ' scrollable-list';\n view.children[0].attrs.class = 'scrollable-list-table';\n view.children = [\n createElement('table.fixed-table-head[width=\"100%\"][cellspacing=\"0\"]',\n this.listHeadersView(),\n ),\n createElement('.scrollable-list-wrapper', view.children),\n ];\n\n return view;\n }\n\n checkEmptyList() {\n super.checkEmptyList();\n\n const isEmpty = this.isListEmpty();\n this._componentElement.querySelectorAll(`.${this._listCls}`).forEach(el => {\n el.style.display = '';\n });\n this._componentElement.querySelectorAll('.scrollable-list-wrapper').forEach(el => {\n el.style.display = isEmpty ? 'none' : '';\n });\n }\n\n /**\n * @param {String} place\n * @param {Number} dataLen\n */\n redraw(place, dataLen) {\n let bottom = true;\n let scrollTop;\n let tableHeight = 0;\n const wrapper = document.getElementById(this._id).querySelector('.scrollable-list-wrapper');\n\n if (wrapper) {\n bottom = (wrapper.offsetHeight + wrapper.scrollTop >= wrapper.scrollHeight);\n // eslint-disable-next-line prefer-destructuring\n scrollTop = wrapper.scrollTop;\n tableHeight = Element.getHeight(document.getElementById(this._tableId));\n }\n\n super.redraw(place, dataLen);\n const table = document.getElementById(this._tableId);\n const headerTable = table.closest(`.${this._listCls}`).querySelector('.fixed-table-head');\n\n table.style.marginTop = `${-Element.getHeight(headerTable)}px`;\n setTimeout(() => {\n this._resizeList();\n const wrapper = table.closest('.scrollable-list-wrapper');\n if (bottom) {\n this.scrollToBottom();\n } else if ('before' === place) {\n wrapper.scrollTop += Element.getHeight(table) - tableHeight;\n } else if ('after' === place) {\n // empty\n } else {\n wrapper.scrollTop = scrollTop;\n }\n }, 0);\n }\n\n updateFilter(force) {\n super.updateFilter(force);\n this._resizeList();\n }\n\n scrollToBottom() {\n const table = document.getElementById(this._tableId);\n const wrapper = table.closest('.scrollable-list-wrapper');\n const rows = [...wrapper.querySelectorAll('tr')].filter(el => el.style.display !== 'none');\n wrapper.scrollTop = rows[rows.length - 1].offsetTop;\n }\n\n _resizeList = () => {\n const minHeight = 200;\n const table = document.getElementById(this._tableId);\n const wrapper = table.closest('.scrollable-list-wrapper');\n\n const headerTable = table.closest(`.${this._listCls}`).querySelector('.fixed-table-head');\n const visibleHeader = headerTable.querySelector('thead');\n if (visibleHeader) {\n const isEmpty = this.isListEmpty();\n visibleHeader.querySelectorAll('tr').forEach(function (tr) {\n if (!tr.classList.contains('list-search-filter')) {\n tr.style.display = isEmpty ? 'none' : '';\n }\n });\n }\n\n let blockHeight = Element.getHeight(document.body) - Element.cumulativeOffset(wrapper).top;\n for (let up = wrapper; up instanceof Element; up = up.parentNode) {\n blockHeight = blockHeight\n - (parseInt(Element.getStyle(up, 'borderBottomWidth')) || 0)\n - (parseInt(Element.getStyle(up, 'marginBottom')) || 0)\n - (parseInt(Element.getStyle(up, 'paddingBottom')) || 0);\n for (let next = up.nextElementSibling; next instanceof Element; next = next.nextElementSibling) {\n if ('none' !== Element.getStyle(next, 'display') && 'fixed' !== Element.getStyle(next, 'position') && 'absolute' !== Element.getStyle(next, 'position')) {\n blockHeight = blockHeight - Element.getHeight(next);\n }\n }\n }\n\n if (blockHeight < minHeight) {\n blockHeight = minHeight;\n }\n\n if (blockHeight > Element.getHeight(table) + parseInt(Element.getStyle(table, 'marginTop'))) {\n wrapper.style.height = null;\n } else {\n wrapper.style.height = `${blockHeight}px`;\n }\n\n if (!visibleHeader || ![...table.querySelectorAll('tr.odd,tr.even')].filter(el => el.style.display !== 'none').length) {\n return;\n }\n\n const invisibleHeader = table.querySelector('thead');\n invisibleHeader.querySelectorAll('th').forEach((th, index) => {\n visibleHeader.querySelectorAll('th')[index].style.width = `${Element.getWidth(th)}px`;\n });\n const headers = visibleHeader.querySelectorAll('th');\n const lastHeader = headers[headers.length - 1];\n lastHeader.style.width = `${(Element.getWidth(headerTable) - Element.getWidth(invisibleHeader.closest('table'))) + parseInt(Element.getStyle(lastHeader, 'width'))}px`;\n };\n\n _addResponsiveHtml() {\n // Don't need responsive UI in case of logs list\n }\n\n _addEvents() {\n super._addEvents();\n window.addEventListener('resize', this._resizeList, false);\n }\n\n remove() {\n window.removeEventListener('resize', this._resizeList, false);\n super.remove();\n }\n}\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/* global update_oC:true */\n\nimport Cookie from 'common/cookie';\nimport { List } from './list';\nimport { ConfirmationPopupManager } from './confirmation-popup-manager';\nimport { AjaxPopupForm } from './ajax-popup-form';\nimport { FormAjax } from './form-ajax';\nimport { MessageBox, AjaxMessageBox, MultiCheckboxMessageWindow, WebspaceFoldersMessageBox } from './message-box';\nimport { getComponent } from './component';\nimport UAT, { request, getUrl, prepareNodeData } from 'common/user-activity-tracking';\nimport { isAnalyticsAllowed } from 'common/gdpr-storage';\n\nconst { PopupForm } = ConfirmationPopupManager;\n\nconst patchesFactory = () => {\n const wrap = (handler, fn, after) => {\n fn = fn || function () {\n // default empty handler\n };\n if (typeof fn === 'string') {\n try {\n eval(`fn = ${fn}`); // eslint-disable-line no-eval\n } catch {\n fn = function () {\n // default empty handler\n };\n }\n }\n return after === true\n ? function (...args) {\n const result = fn.apply(this, args);\n args.push(result);\n try {\n handler.apply(this, args);\n } catch {\n }\n return result;\n }\n : function (...args) {\n try {\n handler.apply(this, args);\n } catch {\n }\n return fn.apply(this, args);\n };\n };\n\n return {\n ajaxRequest() {\n if (!window.Ajax) {\n return;\n }\n const ajaxRequestsHistory = {};\n const ajaxRequestProto = Ajax.Request.prototype;\n\n ajaxRequestProto.request = wrap(function () {\n const { url, options: { ignoreUAT }, method, parameters } = this;\n\n if (ignoreUAT || method.toLowerCase() === 'get') {\n return;\n }\n\n const targetUrl = getUrl(url);\n const requestFingerprint = `${targetUrl} ${JSON.stringify(parameters)}`;\n\n if (ajaxRequestsHistory[requestFingerprint]) {\n return;\n }\n\n ajaxRequestsHistory[requestFingerprint] = true;\n\n request({ name: 'REQUEST', url: getUrl(), data: { url: targetUrl } });\n }, ajaxRequestProto.request, true);\n },\n\n uiPointerForm() {\n document.addEventListener('DOMContentLoaded', function () {\n const lastUrl = Cookie.get('uat-data-source');\n if (lastUrl) {\n document.querySelectorAll('div[data-source]').forEach(msg => {\n const dataSource = msg.dataset.source;\n if (dataSource && dataSource.indexOf(lastUrl) !== -1) {\n let result = null;\n switch (true) {\n case msg.classList.contains('msg-warning'):\n result = 'WARNING';\n break;\n case msg.classList.contains('msg-error'):\n result = 'ERROR';\n break;\n }\n request({ name: 'POST', url: getUrl(dataSource) }, null, result);\n }\n });\n Cookie.remove('uat-data-source', '/');\n }\n if (typeof update_oC === 'undefined') { // eslint-disable-line camelcase\n return;\n }\n update_oC = wrap(function (form) { // eslint-disable-line camelcase\n Cookie.set('uat-data-source', getUrl(form.action), null, '/');\n }, update_oC, true);\n }, true);\n },\n\n jswFormAjax() {\n const formAjaxProto = FormAjax.prototype;\n\n formAjaxProto._onSubmit = wrap(function () {\n this._componentElement._formSubmit = wrap(function () {\n const url = getUrl(this._componentElement.action);\n request({ name: 'POST', post: { self: ['id', 'name'] }, url }, this._componentElement);\n }.bind(this), this._componentElement._formSubmit);\n }, formAjaxProto._onSubmit);\n\n formAjaxProto._onFailure = wrap(function (transport) {\n const name = this._componentElement.noRedirect ? 'APPLY' : 'OK';\n const url = getUrl(transport.request.url);\n request({ name, url, post: { self: ['id', 'name'] } }, this._componentElement, 'ERROR');\n }, formAjaxProto._onFailure);\n\n formAjaxProto._onSuccess = wrap(function (transport) {\n const name = this._componentElement.noRedirect ? 'APPLY' : 'OK';\n const url = getUrl(transport.request.url);\n const result = transport.responseJSON.formMessages\n ? 'VALIDATION_ERROR'\n : transport.responseJSON.status === 'error'\n ? 'ERROR'\n : null;\n request({ name, url, post: { self: ['id', 'name'] } }, this._componentElement, result);\n }, formAjaxProto._onSuccess);\n },\n\n jswList() {\n const listProto = List.prototype;\n\n listProto._submit = wrap(function (url, params) {\n const self = params.context || this;\n params.onSuccess = wrap(function (transport) {\n const name = self._lastOperation ? self._lastOperation.toUpperCase() : 'POST';\n const data = { selected: Object.keys(transport.request.parameters).length };\n const result = transport.responseJSON.status === 'error' ? 'ERROR' : null;\n request({ url: getUrl(transport.request.url), name, data }, null, result);\n }, params.onSuccess);\n\n params.onFailure = wrap(function (transport) {\n const name = self._lastOperation ? self._lastOperation.toUpperCase() : 'POST';\n const data = { selected: Object.keys(transport.request.parameters).length };\n request({ url: getUrl(transport.request.url), name, data }, null, 'ERROR');\n }, params.onFailure);\n }, listProto._submit);\n\n listProto._showItemsNotSelectedWarning = wrap(function () {\n const name = this._lastOperation ? this._lastOperation.toUpperCase() : 'POST';\n request({ name, url: getUrl() }, null, 'NOT_SELECTED');\n }, listProto._showItemsNotSelectedWarning);\n\n listProto._getOperations = wrap(function (result) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n const replaceHandlers = operations => {\n operations.forEach(function (operation) {\n if (operation.handler) {\n operation.handler = wrap(function () {\n const o = operation;\n const last = o.id || o.title || o.description || o.addCls || '';\n self._lastOperation = last\n .replace('button', '')\n .replace(' ', '')\n .replace('sb-', '')\n .replace('-', '');\n }, operation.handler);\n }\n if (operation.operations) {\n replaceHandlers(operation.operations);\n }\n });\n };\n replaceHandlers(result);\n }, listProto._getOperations, true);\n },\n\n confirmationPopupManager() {\n const popupFormProto = PopupForm.prototype;\n\n popupFormProto._onSuccess = wrap(function () {\n const name = typeof this._id === 'string' ? this._id.toUpperCase() : 'POST';\n request({ name, url: this._handlerUrl });\n }, popupFormProto._onSuccess);\n\n popupFormProto._onException = wrap(function () {\n const name = typeof this._id === 'string' ? this._id.toUpperCase() : 'POST';\n request({ name, url: this._handlerUrl }, null, 'ERROR');\n }, popupFormProto._onException);\n\n popupFormProto._onCancelClick = wrap(function () {\n request({ name: 'CANCEL', url: getUrl(), data: { popup: this._text } });\n }, popupFormProto._onCancelClick);\n },\n\n ajaxPopupForm() {\n AjaxPopupForm.prototype._onSuccess = wrap(function () {\n (function () {\n const cancelBtn = getComponent('btn-cancel');\n cancelBtn && cancelBtn.addEventObserver('click', function () {\n request({ name: 'CANCEL', url: this._url });\n }.bind(this));\n }).bind(this)\n .defer();\n }, AjaxPopupForm.prototype._onSuccess, true);\n },\n\n messageBox() {\n const msgBoxProto = MessageBox.prototype;\n\n msgBoxProto._onNoClick = wrap(function () {\n request({ name: 'CANCEL', url: getUrl(), data: { popup: this._text } });\n }, msgBoxProto._onNoClick);\n },\n\n ajaxMessageBox() {\n const ajaxMsgBoxProto = AjaxMessageBox.prototype;\n\n ajaxMsgBoxProto._onSuccess = wrap(function () {\n request({ url: this._requestUrl });\n }, ajaxMsgBoxProto._onSuccess);\n },\n\n multiCheckboxMessageWindow() {\n const msgWindowProto = MultiCheckboxMessageWindow.prototype;\n\n msgWindowProto._onSuccess = wrap(function () {\n request({ url: this._requestUrl });\n }, msgWindowProto._onSuccess);\n },\n\n webspaceFoldersMessageBox() {\n const msgBoxProto = WebspaceFoldersMessageBox.prototype;\n\n msgBoxProto._onSuccess = wrap(function () {\n request({ url: this._requestUrl });\n }, msgBoxProto._onSuccess);\n },\n\n drawersWatcher() {\n const getDrawer = node => {\n if (!node.classList || !node.classList.contains('pul-layer')) {\n return null;\n }\n\n const drawer = node.querySelector('.pul-drawer');\n if (!drawer) {\n return null;\n }\n\n return drawer;\n };\n const reportDrawerAction = name => node => {\n const drawer = getDrawer(node);\n if (!drawer) {\n return;\n }\n\n request({ name, data: prepareNodeData(drawer) });\n };\n document.addEventListener('DOMContentLoaded', () => {\n const callback = mutations => {\n mutations.forEach(({ addedNodes, removedNodes }) => {\n addedNodes.forEach(reportDrawerAction('OPEN-DRAWER'));\n removedNodes.forEach(reportDrawerAction('CLOSE-DRAWER'));\n });\n };\n const observer = new MutationObserver(callback);\n observer.observe(document.body, {\n childList: true,\n subtree: false,\n attributes: false,\n characterData: false,\n });\n });\n },\n };\n};\n\nconst pleskActions = [\n {\n name: 'LOGIN',\n expects: [{\n sessionChanged: {},\n }],\n },\n {\n name: 'LOGOUT',\n expects: [{\n unloadByClick: {\n selector: '#account-menu-content-area a[href=\"/logout.php\"]',\n },\n }],\n },\n {\n name: 'HELP',\n expects: [{\n click: {\n elements: [\n {\n selector: 'a[data-type=\"link-read-manual\"]',\n },\n ],\n },\n }],\n },\n {\n name: 'CANCEL',\n expects: [{\n click: {\n elements: [\n {\n selector: ['button[name=\"cancel\"]', 'button[name=\"bname_cancel\"]'],\n },\n ],\n },\n }],\n },\n {\n name: 'SITE_PREVIEW',\n expects: [{\n click: {\n elements: [\n {\n selector: 'a[href*=\"/plesk-site-preview/\"]',\n },\n ],\n },\n }],\n },\n {\n name: 'RADIO_SELECT',\n expects: [{\n click: {\n elements: [{\n selector: 'input[type=\"radio\"]',\n attributes: ['name', 'value'],\n }],\n },\n }],\n },\n];\n\nconst watchersFactory = () => ({\n sessionChanged() {\n document.addEventListener('DOMContentLoaded', function () {\n const config = UAT.getConfig();\n\n if (isAnalyticsAllowed()) {\n if (Cookie.get('uat-iid') !== config.instanceId) {\n Cookie.remove('uat-iid', '/');\n Cookie.set('uat-iid', config.instanceId, null, '/');\n }\n if (Cookie.get('uat-sid') !== config.sessionId) {\n Cookie.remove('uat-sid', '/');\n Cookie.set('uat-sid', config.sessionId, null, '/');\n }\n }\n\n if (config.sessionId && window.localStorage.getItem('uat-sid') !== config.sessionId) {\n window.localStorage.setItem('uat-sid', config.sessionId);\n const data = {\n userAgent: navigator.userAgent,\n versionInfo: config.versionInfo,\n accountCreated: config.accountCreated,\n width: window.innerWidth,\n height: window.innerHeight,\n ratio: window.devicePixelRatio,\n };\n request({ name: 'LOGIN', url: getUrl(), data });\n }\n }, true);\n },\n unloadByClick({ selector }, expect, action) {\n window.addEventListener('beforeunload', () => {\n const el = document.querySelector(selector);\n if (el === document.activeElement) {\n request(action, el);\n }\n }, true);\n },\n});\n\nUAT.setPatches(patches => ({\n ...patches,\n ...patchesFactory(),\n}));\n\nUAT.setActions(actions => [\n ...actions,\n ...pleskActions,\n]);\n\nUAT.setWatchers(watchers => ({\n ...watchers,\n ...watchersFactory(),\n}));\n\nconst { init } = UAT;\nUAT.init = initConfig => {\n init(initConfig);\n};\n\nexport { UAT };\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nconst COOKIE_POLICY_LOCAL_STORAGE_KEY = 'cookie-policy';\n\ntype Preferences = {\n analytics: boolean;\n marketing: boolean;\n};\n\nexport const hasPreferences = () => !!localStorage.getItem(COOKIE_POLICY_LOCAL_STORAGE_KEY);\n\nexport const savePreferences = (preferences: Preferences) => {\n localStorage.setItem(COOKIE_POLICY_LOCAL_STORAGE_KEY, JSON.stringify(preferences));\n};\n\nexport const loadPreferences = (): Preferences => {\n let analytics = false;\n let marketing = false;\n try {\n const storageItem = localStorage.getItem(COOKIE_POLICY_LOCAL_STORAGE_KEY);\n const data = storageItem ? JSON.parse(storageItem) : {};\n if (typeof data.analytics === 'boolean') {\n ({ analytics } = data);\n }\n if (typeof data.marketing === 'boolean') {\n ({ marketing } = data);\n }\n } catch {}\n return {\n analytics,\n marketing,\n };\n};\n\nexport const isAnalyticsAllowed = () => loadPreferences().analytics;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport prepareUrl from './prepareUrl';\n\nexport default (id, options = {}) => {\n options = {\n openInNew: false,\n label: '',\n hint: '',\n returnUrl: '',\n isClassicUi: '',\n showAll: false,\n ...options,\n };\n\n if (options.isClassicUi) {\n options.returnUrl = `/subscription/overview/id/${id}`;\n }\n let url = prepareUrl(`/subscription/login/id/${id}`);\n\n if (options.showAll) {\n url += '/all/true';\n }\n\n if (options.returnUrl) {\n url += `/?returnUrl=${prepareUrl(options.returnUrl)}`;\n }\n\n return (\n '<span>' +\n `<span class=\"tooltipData\">${options.hint}</span>` +\n `<a class=\"s-btn sb-login\" href=\"${url}\"` +\n `${options.isClassicUi ? '' : ` target=\"${options.openInNew ? '_blank' : '_top'}\"`}>` +\n `<i><i><i><span>${options.label}</span></i></i></i>` +\n '</a>' +\n '</span>'\n );\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport punycode from 'punycode';\n\nconst toPunycode = domain => punycode.toASCII(domain);\n\nexport { toPunycode };\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n// eslint-disable-next-line react/no-deprecated\nimport { render } from 'react-dom';\nimport { createPortal } from 'react';\nimport { gql } from '@apollo/client';\nimport { LocaleProvider, FormFieldPassword } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport App from 'components/App';\nimport ErrorBoundary from 'components/common/ErrorBoundary';\nimport require from 'app';\nimport sentry from 'common/sentry';\nimport pageData from 'helpers/pageData';\nimport apolloClient from 'apolloClient';\nimport estimatePassword from 'helpers/estimatePassword';\n\nexport { require };\nexport { default as Form } from 'components/Form';\n\nconst isInFrame = () => {\n try {\n if (window.self === window.top) {\n return false;\n }\n } catch {\n }\n\n return true;\n};\n\nFormFieldPassword.defaultProps.passwordMeterProps.onEstimate = password => estimatePassword(password);\n\nlet app = null;\n\nexport const run = ({\n config = {},\n data: { showModal, ...data } = {},\n graphqlQueries = [],\n localeSections = {},\n}) => {\n if (config.feedback) {\n sentry(config.feedback);\n }\n\n if (isInFrame()) {\n document.body.classList.add('page-content-only');\n }\n\n Locale.addSections(localeSections);\n\n pageData(data);\n\n graphqlQueries.forEach(({ query, ...options }) => {\n try {\n apolloClient.writeQuery({\n query: gql(query),\n ...options,\n });\n } catch {}\n });\n\n if (showModal) {\n const { name, ...props } = showModal;\n Plesk.require(name, run => run(props));\n }\n\n app = render(\n <App />,\n document.getElementById('plesk-root'),\n );\n};\n\nexport const addWidget = (Component, { locale, ...props }, container) => {\n let widget = <Component {...props} />;\n\n if (locale) {\n widget = <LocaleProvider messages={locale}>{widget}</LocaleProvider>;\n }\n\n widget = (\n <ErrorBoundary>\n {widget}\n </ErrorBoundary>\n );\n\n if (container) {\n widget = createPortal(widget, container);\n }\n\n app.addWidget(widget);\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component, StrictMode } from 'react';\nimport { createBrowserRouter, RouterProvider } from 'react-router-dom';\nimport { ApolloProvider } from '@apollo/client';\nimport routes from 'routes';\nimport apolloClient from '../apolloClient';\nimport LocaleProvider from './LocaleProvider';\n\nclass App extends Component {\n state = {\n widgets: [],\n };\n\n router = createBrowserRouter(routes);\n\n addWidget(widget) {\n this.setState(({ widgets }) => ({\n widgets: [\n ...widgets,\n widget,\n ],\n }));\n }\n\n render() {\n return (\n <StrictMode>\n <ApolloProvider client={apolloClient}>\n <LocaleProvider>\n <RouterProvider router={this.router} />\n {this.state.widgets}\n </LocaleProvider>\n </ApolloProvider>\n </StrictMode>\n );\n }\n}\n\nexport default App;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { generatePath, parsePath } from 'react-router';\nimport { redirect, matchRoutes } from 'react-router-dom';\nimport { gql } from '@apollo/client';\nimport { api, emptyFn, prepareUrl, Locale } from 'jsw';\nimport { addToast } from 'helpers/toasts';\nimport { isNetworkError } from 'helpers/isNetworkError';\nimport pageData from '../helpers/pageData';\nimport { getEndOfDay, toPhpDate, getStartOfDay } from 'helpers/dates';\nimport routesTransformer from '../helpers/routesTransformer';\nimport apolloClient from '../apolloClient';\nimport AppLayout from '../components/layouts/AppLayout';\nimport CpPagesLayout from '../components/layouts/CpPagesLayout';\nimport PhpPagesLayout from '../components/layouts/PhpPagesLayout';\nimport AppBoundary from '../components/AppBoundary';\nimport LogsPage from '../components/pages/LogsPage';\nimport { readGraphQlListInputFromStorage } from '../components/common/GraphQlList';\nimport { databaseListRoute } from 'routes/databaseListRoute';\nimport { odbcServerRoute } from 'routes/odbcServerRoute';\nimport domainOverviewRoutes from 'routes/domainOverviewRoutes';\nimport { summaryReportRoute, summaryReportChildrenRoute } from 'routes/summaryReportRoute';\nimport { domainRoute } from 'routes/domainRoute';\nimport { trafficUsageByViewerResellersRoute, trafficUsageByViewerResellersChildrenRoute } from 'routes/trafficUsageByViewerResellersRoute';\nimport { trafficUsageByViewerCustomersRoute, trafficUsageByViewerCustomersChildrenRoute } from 'routes/trafficUsageByViewerCustomersRoute';\nimport { trafficUsageByViewerDomainsRoute, trafficUsageByViewerDomainsChildrenRoute } from 'routes/trafficUsageByViewerDomainsRoute';\nimport { homeRoute } from 'routes/homeRoute';\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\nimport { infoAndStatisticsRoute } from './infoAndStatisticsRoute';\nimport { resourceUsageByDomainRoute } from './resourceUsageByDomainRoute';\n\nconst initialDataLoader = () => {\n const { isInitial, ...data } = pageData();\n pageData(data);\n\n return isInitial ? data : null;\n};\n\nconst createPageDataLoader = dataPath => async ({ request, params }) => {\n const url = new URL(request.url);\n if (dataPath) {\n url.pathname = generatePath(dataPath, params);\n }\n\n let result;\n try {\n result = initialDataLoader() ?? await api.get(url.toString());\n } catch (error) {\n if (isNetworkError(error)) {\n addToast({\n intent: 'danger',\n message: `${error.message}: ${url.toString()}`,\n });\n return new Promise(emptyFn);\n }\n throw error;\n }\n const { graphqlQueries = [], ...newData } = result;\n\n if (newData.redirect) {\n const url = prepareUrl(newData.redirect);\n if (isClientSideRedirectAllowed(url)) {\n return redirect(url);\n }\n\n window.location.replace(url);\n return new Promise(emptyFn);\n }\n\n graphqlQueries.forEach(({ query, ...options }) => {\n try {\n apolloClient.writeQuery({\n query: gql(query),\n ...options,\n });\n } catch { }\n });\n\n pageData(newData);\n\n return newData;\n};\n\nconst ipAddressDomainRoute = {\n path: ':ipAddressId/domains',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/IpAddressDomainsPage\" */'components/pages/IpAddressDomainsPage'),\n loader: async ({ params }) => {\n const clientId = params.clientId ? btoa(`Client:${params.clientId}`) : null;\n const { data } = await apolloClient.query({\n query: require('queries/IpAddressDomainsPage.graphql'),\n variables: { ipAddressId: params.ipAddressId, clientId },\n });\n return data;\n },\n};\n\nconst changeOwnerRoute = {\n path: 'change-owner',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ChangeSubscriptionsOwnerPage\" */'components/pages/ChangeSubscriptionsOwnerPage'),\n loader: async ({ request }) => {\n const url = new URL(request.url);\n const ids = [...url.searchParams.entries()].map(([, value]) => btoa(`Domain:${value}`));\n\n const { data } = await apolloClient.query({\n query: require('queries/ChangeSubscriptionsOwnerPage.graphql'),\n variables: { ids },\n });\n\n return data;\n },\n};\n\nconst virtualHostTemplateRoute = {\n path: 'virtual-host-template',\n loader: () => pageData(),\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('virtualHostTemplate'),\n }),\n helpContext: 'skeleton',\n },\n children: [\n {\n index: true,\n componentLoader: () => import(/* webpackChunkName: \"components/pages/VirtualHostTemplatePage\" */'components/pages/VirtualHostTemplatePage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/VirtualHostTemplatePage.graphql'),\n variables: {\n path: '',\n },\n });\n },\n },\n ],\n};\n\nconst isTsSessionsExist = async () => {\n const { data: { viewer: { type, permissions: { manageServerSessions } }, os: { isWindows } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerSessions\n }\n }\n os {\n isWindows\n }\n }\n `,\n });\n\n return type === 'ADMIN' && isWindows && manageServerSessions;\n};\n\nconst isAspPageExist = async () => {\n const { data: { viewer: { permissions: { manageAspNetSettings } }, capability: { packages: { isASPdotNetInstalled } } },\n } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n permissions {\n manageAspNetSettings\n }\n }\n capability {\n packages {\n isASPdotNetInstalled\n }\n }\n }\n `,\n });\n\n return isASPdotNetInstalled && manageAspNetSettings;\n};\n\n\nconst routes = routesTransformer([{\n element: <AppLayout />,\n errorElement: <AppBoundary />,\n children: [\n {\n path: ['/login_up.php', '/login_up.php3', '/login'],\n handle: { isAllowedWithoutLicense: true },\n componentLoader: () => import(/* webpackMode: \"eager\" */'components/pages/LoginPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/LoginPage.graphql'),\n });\n return initialDataLoader();\n },\n children: [{\n path: '*',\n loader: () => redirect('..'),\n }],\n },\n {\n path: '/get_password.php',\n handle: { isAllowedWithoutLicense: true },\n componentLoader: () => import(/* webpackMode: \"eager\" */'components/pages/GetPasswordPage'),\n loader: initialDataLoader,\n },\n {\n path: '/ch_pass_by_secret.php',\n handle: { isAllowedWithoutLicense: true },\n componentLoader: () => import(/* webpackMode: \"eager\" */'components/pages/RestorePasswordPage'),\n },\n {\n path: '/configure-mail-client.php',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ConfigureMailClientPage\" */'components/pages/ConfigureMailClientPage'),\n loader: initialDataLoader,\n },\n {\n path: '/admin/force-reset-password',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/force-reset-password\" */'views/admin/force-reset-password'),\n loader: createPageDataLoader('/admin/force-reset-password'),\n },\n {\n path: '/admin/setup/progress',\n handle: { isAllowedWithoutLicense: true },\n componentLoader: () => import(/* webpackChunkName: \"views/admin/setup/progress\" */'views/admin/setup/progress'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/setup/*',\n handle: { isAllowedWithoutLicense: true },\n componentLoader: () => import(/* webpackChunkName: \"views/admin/setup/index\" */'views/admin/setup/index'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/home/*',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/home/admin\" */'views/admin/home/admin'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/app',\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/app/info/id/:id',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/app/info\" */'views/admin/app/info'),\n loader: createPageDataLoader('/admin/app/info/id/:id'),\n },\n {\n path: '/admin/app/usage',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/app/usage\" */'views/admin/app/usage'),\n loader: createPageDataLoader('/admin/app/usage'),\n },\n {\n path: ['/admin/app/uploaded', '/admin/app/uploaded/downloadStatus/:status'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/app/uploaded\" */'views/admin/app/uploaded'),\n loader: createPageDataLoader('/admin/app/uploaded'),\n },\n {\n path: '/admin/custom-buttons/list',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/custom-buttons/list\" */'views/admin/custom-buttons/list'),\n loader: createPageDataLoader('/admin/custom-buttons/list'),\n },\n {\n path: '/smb/custom-buttons/list',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/custom-buttons/list\" */'views/admin/custom-buttons/list'),\n loader: createPageDataLoader('/smb/custom-buttons/list'),\n },\n {\n path: '/admin/ftp-sessions/list',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/ftp-sessions/list\" */'views/admin/ftp-sessions/list'),\n loader: createPageDataLoader('/admin/ftp-sessions/list'),\n },\n {\n path: '/admin/php-handler/list',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/php-handler/list\" */'views/admin/php-handler/list'),\n loader: createPageDataLoader('/admin/php-handler/list'),\n },\n {\n path: ['/admin/scheduler', '/smb/scheduler'],\n loader: createPageDataLoader(),\n },\n {\n path: ['/admin/backup/schedule', '/smb/backup/schedule', '/smb/backup/schedule/domainId/:domainId'],\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ScheduledBackupPage\" */'components/pages/ScheduledBackupPage'),\n loader: createPageDataLoader(),\n },\n {\n path: ['/admin/backup/schedule-list', '/smb/backup/schedule-list', '/smb/backup/schedule-list/domainId/:domainId'],\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ScheduledBackupListPage\" */'components/pages/ScheduledBackupListPage'),\n loader: createPageDataLoader(),\n },\n {\n path: ['/admin/scheduler/tasks-list', '/smb/scheduler/tasks-list'],\n componentLoader: () => import(/* webpackChunkName: \"views/default/scheduler/list\" */'views/default/scheduler/list'),\n loader: createPageDataLoader(),\n },\n {\n path: ['/admin/domain/list', '/admin/domain/add-domain'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/domain/list\" */'components/pages/DomainsPage'),\n loader: createPageDataLoader('/admin/domain/list'),\n children: domainOverviewRoutes.map(({ path, ...params }) => ({\n path: `:id/${path}`,\n ...params,\n })),\n },\n {\n path: ['/admin/customer/list', '/admin/customer/create'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/customer/list\" */'components/pages/CustomersPage'),\n loader: createPageDataLoader('/admin/customer/list'),\n },\n {\n path: '/admin/customer/overview/id/:id',\n loader: createPageDataLoader(),\n },\n {\n path: ['/admin/customer/domains/id/:id', '/admin/customer/add-domain/id/:id'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/customer/domains\" */'components/pages/CustomerDomainsPage'),\n loader: createPageDataLoader('/admin/customer/domains/id/:id'),\n },\n {\n path: ['/admin/customer/subscriptions/id/:id', '/admin/customer/new-subscription/id/:id'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/customer/subscriptions\" */'components/pages/CustomerSubscriptionsPage'),\n loader: createPageDataLoader('/admin/customer/subscriptions/id/:id'),\n children: [changeOwnerRoute],\n },\n {\n path: '/admin/reseller/list',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/list\" */'components/pages/ResellersPage'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/reseller/overview/id/:id',\n loader: createPageDataLoader(),\n },\n {\n path: ['/admin/reseller/customers/id/:id', '/admin/reseller/new-customer/id/:id'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/customers\" */'components/pages/ResellerCustomersPage'),\n loader: createPageDataLoader('/admin/reseller/customers/id/:id'),\n },\n {\n path: ['/admin/reseller/domains/id/:id', '/admin/reseller/add-domain/id/:id'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/domains\" */'components/pages/ResellerDomainsPage'),\n loader: createPageDataLoader('/admin/reseller/domains/id/:id'),\n },\n {\n path: ['/admin/reseller/subscriptions/id/:id', '/admin/reseller/new-subscription/id/:id'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/subscriptions\" */'components/pages/ResellerSubscriptionsPage'),\n loader: createPageDataLoader('/admin/reseller/subscriptions/id/:id'),\n children: [changeOwnerRoute],\n },\n {\n path: '/admin/server/tools',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/server/tools\" */'views/admin/server/tools'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/server/preview-domain-settings',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/server/preview-domain-settings\"*/'views/admin/server/preview-domain-settings'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/services/list',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/services/list\" */'views/admin/services/list'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/sessions/list',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/sessions/list\" */'views/admin/sessions/list'),\n loader: createPageDataLoader(),\n },\n {\n path: ['/admin/subscription/list', '/admin/subscription/create'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/subscription/list\" */'components/pages/SubscriptionsPage'),\n loader: createPageDataLoader('/admin/subscription/list'),\n children: [changeOwnerRoute],\n },\n {\n path: ['/admin/subscription/login/all/:all/id/:id/', '/admin/subscription/login/id/:id/'],\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/subscription/overview/id/:id/',\n loader: createPageDataLoader(),\n },\n {\n path: ['/smb/file-manager/list', '/smb/file-manager/list/domainId/:domainId'],\n componentLoader: () => import(/* webpackChunkName: \"views/smb/file-manager/list\" */'views/smb/file-manager/list'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/file-manager',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/file-manager/index\" */'views/smb/file-manager/index'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/my-service',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/my-service/index\" */'views/smb/my-service/index'),\n loader: createPageDataLoader('/smb/my-service'),\n },\n {\n path: ['/smb/email-address', '/smb/email-address/index', '/smb/email-address/index/domainId/:domainId'],\n componentLoader: () => import(/* webpackChunkName: \"views/smb/email-address/index\" */'views/smb/email-address/index'),\n loader: createPageDataLoader(),\n },\n {\n path: ['/smb/email-address/list', '/smb/email-address/list/domainId/:domainId'],\n componentLoader: () => import(/* webpackChunkName: \"views/smb/email-address/list\" */'views/smb/email-address/list'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/mail-settings/list',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/mail-settings/list\" */'views/smb/mail-settings/list'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/mail-settings/edit/id/:domainId/domainId/:id',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/mail-settings/edit\" */'views/smb/mail-settings/edit'),\n loader: createPageDataLoader(),\n },\n {\n path: ['/smb/account', '/smb/account/index'],\n componentLoader: () => import(/* webpackChunkName: \"views/smb/account/index\" */'views/smb/account/index'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/account/show/id/:id',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/account/show\" */'views/smb/account/show'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/user/index',\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/user/list',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/user/list\" */'components/pages/UsersPage'),\n loader: createPageDataLoader(),\n },\n {\n path: ['/smb/web/setup', '/smb/web/add-domain/create-webspace/true'],\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/setup\" */'views/smb/web/setup'),\n loader: createPageDataLoader('/smb/web/setup'),\n },\n {\n path: ['/smb/web/view', '/smb/web/view/id/:id/type/:type', '/smb/web/add-domain'],\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/view\" */'views/smb/web/view'),\n loader: createPageDataLoader('/smb/web/view'),\n children: [\n changeOwnerRoute,\n ...domainOverviewRoutes.map(({ path, ...params }) => ({\n path: `:id/${path}`,\n ...params,\n })),\n ],\n },\n {\n path: '/smb/web/overview/id/:id/type/:type',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/overview\" */'views/smb/web/overview'),\n loader: createPageDataLoader(),\n children: domainOverviewRoutes,\n },\n {\n path: '/smb/web/php-settings/id/:id',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/php-settings\" */'views/smb/web/php-settings'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/statistics/details',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/statistics/details\" */'views/smb/statistics/details'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/statistics/list',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/statistics/details\" */'views/smb/statistics/list'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/statistics',\n loader: createPageDataLoader(),\n },\n {\n path: ['/smb/account/switch/all/:all/id/:id', '/smb/account/switch/id/:id'],\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/database',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/database/index\" */'views/smb/database/index'),\n loader: createPageDataLoader(),\n },\n databaseListRoute({\n path: '/smb/database/list',\n createPageDataLoader,\n }),\n databaseListRoute({\n path: '/smb/database/list/domainId/:domainId',\n createPageDataLoader,\n isDomainRoute: true,\n }),\n {\n path: '/smb/database/users-list/domainId/:domainId',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/database/users-list\" */'views/smb/database/users-list'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/task-manager',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/task-manager/index\" */'views/admin/task-manager/index'),\n loader: createPageDataLoader(),\n },\n {\n path: '/cp/dns',\n children: [\n {\n index: true,\n loader: () => redirect('records'),\n },\n {\n path: 'records',\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records\" */'components/pages/DnsSettingsPage/Records'),\n loader: () => apolloClient.query({\n query: require('queries/DnsRecordsPage.graphql'),\n }).then(({ data }) => data),\n isExist: async () => {\n const { data: { viewer: { type, permissions }, mode: { isDnsServiceSupported } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerDnsTemplate\n }\n }\n mode {\n isDnsServiceSupported\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerDnsTemplate && isDnsServiceSupported;\n },\n children: [{\n path: ['dns-soa-zone-sync', 'dns-restore'],\n }, {\n path: ':id/edit',\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records/edit\" */'components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer'),\n loader: ({ params: { id } }) => apolloClient.query({\n query: require('components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/EditDnsRecord.graphql'),\n variables: { id },\n }),\n }, {\n path: 'add',\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records/edit\" */'components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer'),\n loader: () => apolloClient.query({\n query: require('components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/AddDnsRecord.graphql'),\n }),\n }, {\n path: 'dns-zone-sync',\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records/dns-zone-sync\" */'components/pages/DnsSettingsPage/Records/DnsZoneSyncDrawer'),\n }],\n },\n {\n path: 'soa-record',\n componentLoader: () => import(/* webpackChunkName: \"views/dns/soa-record\" */'components/pages/DnsSettingsPage/SoaRecord'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/DnsSoaRecordsPage.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions }, mode: { isDnsServiceSupported } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerDnsTemplate\n }\n }\n mode {\n isDnsServiceSupported\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerDnsTemplate && isDnsServiceSupported;\n },\n },\n ],\n },\n {\n path: '/admin/dns/acl-records',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/acl-records\" */'views/admin/dns/acl-records'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/dns/add-acl-record',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/add-acl-record\" */'views/admin/dns/add-acl-record'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/dns/external-dns',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/external-dns\" */'views/admin/dns/external-dns'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/dns/external-dns-edit/extensionId/:extensionId',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/external-dns-edit\" */'views/admin/dns/external-dns-edit'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/dns-zone/index/id/:id/type/:type',\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/dns-zone/records-list/id/:id/type/:type',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/records-list\" */'views/smb/dns-zone/records-list'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/dns-zone/soa-record/id/:id/type/:type',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/soa-record\" */'views/smb/dns-zone/soa-record'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/dns-zone/acl-records/id/:id/type/:type',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/acl-records\" */'views/smb/dns-zone/acl-records'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/dns-zone/add-acl-record/id/:id/type/:type',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/add-acl-record\" */'views/smb/dns-zone/add-acl-record'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/dns-zone/external-dns/id/:id/type/:type',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/external-dns\" */'views/smb/dns-zone/external-dns'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/dns-zone/external-dns-edit/id/:id/type/:type/extensionId/:extensionId',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/external-dns-edit\" */'views/smb/dns-zone/external-dns-edit'),\n loader: createPageDataLoader(),\n },\n {\n path: '/cp/settings-ui/edit-interface-view',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/settings-ui/edit-interface-view\" */'views/admin/settings-ui/edit-interface-view'),\n loader: () => apolloClient.query({\n query: require('queries/EditInterfaceViewPage.graphql'),\n }).then(({ data }) => data),\n isExist: async () => {\n const { data: { viewer: { type }, mode } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n }\n mode {\n isViewSwitcherAllowed\n }\n }\n `,\n });\n\n return type === 'ADMIN' && mode.isViewSwitcherAllowed;\n },\n },\n {\n path: '/admin/settings-ui/list-languages',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/settings-ui/list-languages\" */'views/admin/settings-ui/list-languages'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/settings-ui',\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/database/settings',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/database/settings\"*/'views/admin/database/settings'),\n loader: createPageDataLoader(),\n },\n {\n path: '/smb/web/web-server-settings/id/:id',\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/web-server-settings\" */'views/smb/web/web-server-settings'),\n loader: createPageDataLoader(),\n },\n {\n path: '/admin/notifications',\n children: [\n {\n index: true,\n loader: () => redirect('email-settings'),\n },\n {\n path: 'email-settings',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/notifications/index\" */'views/admin/notifications/index'),\n loader: createPageDataLoader(),\n },\n ],\n },\n {\n path: '/cp/notifications/panel-settings',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/PanelNotificationsSettings\" */'components/pages/Notifications/PanelNotificationsSettings'),\n loader: () => apolloClient.query({\n query: require('queries/NotificationUiSetting.graphql'),\n }).then(({ data }) => data),\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerNotifications\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerNotifications;\n },\n },\n {\n path: '/cp/settings-ui/branding',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/BrandingPage\" */'components/pages/BrandingPage'),\n loader: () => apolloClient.query({\n query: require('queries/BrandingPage.graphql'),\n }).then(({ data }) => data),\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerBranding\n }\n }\n }\n `,\n });\n\n return (type === 'ADMIN' && permissions.manageServerBranding) || type === 'RESELLER';\n },\n },\n {\n path: '/cp/server/db',\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServersPage'),\n loader: () => apolloClient.query({\n query: require('queries/DatabaseServersPage.graphql'),\n }).then(({ data }) => data),\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerDb\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerDb;\n },\n children: [\n {\n path: ':id/upgrade',\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerUpgradePage'),\n loader: ({ params: { id } }) => apolloClient.query({\n query: require('queries/DatabaseServerUpgradePage.graphql'),\n variables: { id: btoa(`DatabaseServer:${id}`) },\n }).then(({ data }) => data).catch(({ graphQLErrors }) => {\n graphQLErrors.forEach(({ message, debugMessage }) => {\n addToast({\n intent: 'danger',\n message: debugMessage || message,\n });\n });\n\n return redirect('/cp/server/db');\n }),\n isExist: async ({ params }) => {\n const { data: { viewer: { type, permissions }, databaseServer } } = await apolloClient.query({\n query: gql`\n query ($id: ID!) {\n viewer {\n login\n type\n permissions {\n manageServerDb\n }\n }\n databaseServer: node(id: $id) {\n id\n }\n }\n `,\n variables: {\n id: btoa(`DatabaseServer:${params.id}`),\n },\n errorPolicy: 'ignore',\n });\n\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && databaseServer);\n },\n },\n ],\n },\n {\n path: '/cp/server/db/create',\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerCreatePage'),\n loader: () => apolloClient.query({\n query: require('queries/DatabaseServerCreatePage.graphql'),\n }).then(({ data }) => data),\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerDb\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerDb;\n },\n },\n {\n path: '/cp/server/db/:id',\n children: [\n {\n index: true,\n loader: () => redirect('properties'),\n },\n {\n path: 'properties',\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerPropertiesPage'),\n loader: ({ params: { id } }) => apolloClient.query({\n query: require('queries/DatabaseServerPropertiesPage.graphql'),\n variables: { id: btoa(`DatabaseServer:${id}`) },\n }).then(({ data }) => data),\n isExist: async ({ params }) => {\n const { data: { viewer: { type, permissions }, databaseServer } } = await apolloClient.query({\n query: gql`\n query ($id: ID!) {\n viewer {\n login\n type\n permissions {\n manageServerDb\n }\n }\n databaseServer: node(id: $id) {\n id\n }\n }\n `,\n variables: {\n id: btoa(`DatabaseServer:${params.id}`),\n },\n errorPolicy: 'ignore',\n });\n\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && databaseServer);\n },\n },\n {\n path: 'databases',\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerDatabasesPage'),\n loader: ({ params: { id } }) => apolloClient.query({\n query: require('queries/DatabaseServerDatabasesPage.graphql'),\n variables: { id: btoa(`DatabaseServer:${id}`) },\n }).then(({ data }) => data),\n isExist: async ({ params }) => {\n const { data: { viewer: { type, permissions }, databaseServer } } = await apolloClient.query({\n query: gql`\n query ($id: ID!) {\n viewer {\n login\n type\n permissions {\n manageServerDb\n }\n }\n databaseServer: node(id: $id) {\n id\n }\n }\n `,\n variables: {\n id: btoa(`DatabaseServer:${params.id}`),\n },\n errorPolicy: 'ignore',\n });\n\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && databaseServer);\n },\n },\n {\n path: 'change-password',\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerChangePasswordPage'),\n loader: ({ params: { id } }) => apolloClient.query({\n query: require('queries/DatabaseServerChangePasswordPage.graphql'),\n variables: { id: btoa(`DatabaseServer:${id}`) },\n }).then(({ data }) => data),\n isExist: async ({ params }) => {\n const { data: { viewer: { type, permissions }, os, mode, databaseServer } } = await apolloClient.query({\n query: gql`\n query ($id: ID!) {\n viewer {\n login\n type\n permissions {\n manageServerDb\n }\n }\n os {\n isWindows\n }\n mode {\n isDemo\n }\n databaseServer: node(id: $id) {\n id\n }\n }\n `,\n variables: {\n id: btoa(`DatabaseServer:${params.id}`),\n },\n errorPolicy: 'ignore',\n });\n\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && os.isWindows && !mode.isDemo && databaseServer);\n },\n },\n ],\n },\n {\n path: ['/cp/websites-diagnostic', '/cp/websites-diagnostic/id/:domainId'],\n componentLoader: () => import(/* webpackChunkName: \"views/admin/websites-diagnostic/index\" */'components/pages/WebsitesDiagnostic'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/WebsitesDiagnosticPage.graphql'),\n fetchPolicy: 'network-only',\n });\n },\n isExist: async () => {\n const { data: { viewer, config } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n }\n config {\n websitesDiagnostic {\n enabled\n }\n }\n }\n `,\n });\n\n return viewer.type === 'ADMIN' && config.websitesDiagnostic.enabled;\n },\n },\n {\n path: '/cp/system-time',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SystemTimePage\" */'components/pages/SystemTimePage'),\n loader: () => apolloClient.query({\n query: require('queries/SystemTimePage.graphql'),\n }).then(({ data }) => data),\n },\n {\n path: '/cp/server/mail',\n children: [\n {\n index: true,\n loader: () => redirect('settings'),\n },\n {\n path: 'settings',\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailSettingsPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerMailSettingsPage.graphql'),\n });\n await apolloClient.query({\n query: require('queries/ServerMailTabs.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerMail\n manageServerMailAutodiscover\n manageServerSpamFilter\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && (\n permissions.manageServerMail ||\n permissions.manageServerMailAutodiscover ||\n permissions.manageServerSpamFilter\n );\n },\n },\n {\n path: 'black-list',\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailBlackListPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerMailBlackListPage.graphql'),\n });\n await apolloClient.query({\n query: require('queries/ServerMailTabs.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerMailBlackWhiteLists\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerMailBlackWhiteLists;\n },\n },\n {\n path: 'white-list',\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailWhiteListPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerMailWhiteListPage.graphql'),\n });\n await apolloClient.query({\n query: require('queries/ServerMailTabs.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerMailBlackWhiteLists\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerMailBlackWhiteLists;\n },\n },\n {\n path: 'antivirus',\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailAntivirusPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerMailAntivirusPage.graphql'),\n });\n await apolloClient.query({\n query: require('queries/ServerMailTabs.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerVirusProtection\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerVirusProtection;\n },\n },\n {\n path: 'spam-filter',\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailSpamFilterPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerMailSpamFilterPage.graphql'),\n });\n await apolloClient.query({\n query: require('queries/ServerMailTabs.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions }, os: { isWindows } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerSpamFilter\n }\n }\n os {\n isWindows\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerSpamFilter && isWindows;\n },\n },\n {\n path: 'statistics',\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailStatisticsPage'),\n loader: async () => {\n await Promise.all([\n apolloClient.query({\n query: require('queries/ServerMailSpamStatistics.graphql'),\n variables: {\n from: toPhpDate(getStartOfDay(Date.now())),\n to: toPhpDate(getEndOfDay(Date.now())),\n pagination: { page: 0, itemsPerPage: 25 },\n orderBy: { email: 'DESC' },\n },\n }),\n apolloClient.query({\n query: require('queries/ServerMailTabs.graphql'),\n }),\n ]);\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('mailStatistics'),\n href: '/admin/server/tools',\n }),\n },\n },\n {\n path: 'smarthost',\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailSmarthostPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerMailSmarthostPage.graphql'),\n });\n await apolloClient.query({\n query: require('queries/ServerMailTabs.graphql'),\n });\n },\n isExist: async () => {\n const { data: { capability: { mailServer } } } = await apolloClient.query({\n query: gql`\n query {\n capability {\n mailServer {\n isSmarthostAvailable\n }\n }\n }\n `,\n });\n\n return mailServer.isSmarthostAvailable;\n },\n },\n ],\n },\n {\n path: '/cp/license',\n handle: { isAllowedWithoutLicense: true },\n children: [\n {\n index: true,\n loader: () => redirect('primary'),\n },\n {\n path: 'primary',\n componentLoader: () => import(/* webpackChunkName: \"views/license\" */'components/pages/PrimaryKeyInfoPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/PrimaryKeyInfoPage.graphql'),\n });\n await apolloClient.query({\n query: require('queries/MasterKeyProcessingState.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerLicense\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerLicense;\n },\n children: [\n {\n path: 'upload',\n componentLoader: () => import(/* webpackChunkName: \"views/license\" */'components/pages/PrimaryKeyUploadPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/PrimaryKeyUploadPage.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions }, mode: { isDemo } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerLicense\n }\n }\n mode {\n isDemo\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\n },\n },\n {\n path: 'revert',\n componentLoader: () => import(/* webpackChunkName: \"views/license\" */'components/pages/PrimaryKeyRevertPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/PrimaryKeyRevertPage.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions }, mode: { isDemo } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerLicense\n }\n }\n mode {\n isDemo\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\n },\n },\n ],\n },\n {\n path: 'additional',\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeysPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/AdditionalKeysPage.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerLicense\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerLicense;\n },\n children: [\n {\n path: 'upload',\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeyUploadPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/AdditionalKeyUploadPage.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions }, mode: { isDemo } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerLicense\n }\n }\n mode {\n isDemo\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\n },\n },\n ],\n },\n {\n path: 'additional/:id',\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeyInfoPage'),\n loader: async ({ params: { id } }) => {\n await apolloClient.query({\n query: require('queries/AdditionalKeyInfoPage.graphql'),\n variables: { id },\n });\n },\n isExist: async ({ params }) => {\n const { data: { viewer: { type, permissions }, additionalKey } } = await apolloClient.query({\n query: gql`\n query ($id: ID!) {\n viewer {\n login\n type\n permissions {\n manageServerLicense\n }\n }\n additionalKey(id: $id) {\n keyNumber\n }\n }\n `,\n variables: {\n id: params.id,\n },\n });\n\n return additionalKey && type === 'ADMIN' && permissions.manageServerLicense;\n },\n children: [\n {\n path: 'revert',\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeyRevertPage'),\n loader: async ({ params: { id } }) => {\n await apolloClient.query({\n query: require('queries/AdditionalKeyRevertPage.graphql'),\n variables: { id },\n });\n },\n isExist: async ({ params }) => {\n const { data: { viewer: { type, permissions }, mode: { isDemo }, additionalKey } } = await apolloClient.query({\n query: gql`\n query ($id: ID!) {\n viewer {\n login\n type\n permissions {\n manageServerLicense\n }\n }\n additionalKey(id: $id) {\n keyNumber\n }\n mode {\n isDemo\n }\n }\n `,\n variables: {\n id: params.id,\n },\n });\n\n return additionalKey && type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\n },\n },\n ],\n },\n ],\n },\n {\n path: '/cp/firewall',\n children: [\n {\n index: true,\n loader: () => redirect('general'),\n },\n {\n path: 'general',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/FirewallGeneralPage\" */'components/pages/FirewallGeneralPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/FirewallGeneralPage.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions }, os: { isUnix }, mode: { isDemo } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerFirewall\n }\n }\n mode {\n isDemo\n }\n os {\n isUnix\n }\n }\n `,\n });\n\n return type === 'ADMIN' && !isUnix && !isDemo && permissions.manageServerFirewall;\n },\n },\n {\n path: 'icmp',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/FirewallIcmpPage\" */'components/pages/FirewallIcmpPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/FirewallIcmpPage.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions }, os: { isUnix }, mode: { isDemo } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerFirewall\n }\n }\n mode {\n isDemo\n }\n os {\n isUnix\n }\n }\n `,\n });\n\n return type === 'ADMIN' && !isUnix && !isDemo && permissions.manageServerFirewall;\n },\n },\n {\n path: 'rules',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/FirewallRulesPage\" */'components/pages/FirewallRulesPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/FirewallRulesPage.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions }, os: { isUnix }, mode: { isDemo } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerFirewall\n }\n }\n mode {\n isDemo\n }\n os {\n isUnix\n }\n }\n `,\n });\n\n return type === 'ADMIN' && !isUnix && !isDemo && permissions.manageServerFirewall;\n },\n },\n ],\n },\n {\n path: ['/cp/server/components', '/cp/server/components/default/:name', '/cp/server/components/configuration/:name'],\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerComponentsPage\" */'components/pages/ServerComponentsPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerComponentsPage.graphql'),\n });\n },\n isExist: async () => {\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerComponents\n }\n }\n }\n `,\n });\n\n return type === 'ADMIN' && permissions.manageServerComponents;\n },\n },\n {\n path: '/cp/ip-address/',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/ip-address/list\" */'components/pages/IpAddressPage'),\n loader: () => apolloClient.query({\n query: require('queries/IpAddressPage.graphql'),\n variables: { page: 1, itemsPerPage: 25 },\n }).then(({ data }) => data),\n children: [\n { path: ['add', ':id/edit'] },\n ipAddressDomainRoute,\n ],\n },\n {\n path: '/cp/ip-address/:id/clients',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/ip-address/clients\" */'components/pages/IpAddressResellersPage'),\n loader: ({ params: { id } }) => apolloClient.query({\n query: require('components/pages/IpAddressResellersPage/IpAddressResellerList.graphql'),\n variables: { id },\n }),\n children: [{\n path: 'assign',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/AssignIpAddressToResellerForm\" */\n 'components/pages/IpAddressResellersPage/AssignIpAddressToResellerForm'\n ),\n loader: ({ params: { id } }) => apolloClient.query({\n query: require('components/pages/IpAddressResellersPage/AssignIpAddressToResellerForm/UnassignedIpAddressResellers.graphql'),\n variables: { id },\n }),\n }],\n },\n {\n path: '/cp/client/:clientId/ip-address',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/client/ip-address\" */ 'components/pages/ClientIpAddressPage'),\n loader: async ({ params: { clientId } }) => {\n await apolloClient.query({\n query: require('queries/ClientIpAddress.graphql'),\n variables: { clientId: btoa(`Client:${clientId}`) },\n });\n },\n children: [ipAddressDomainRoute, {\n path: ':ipAddressId/properties',\n componentLoader: () => import(\n /* webpackChunkName: \"views/admin/client/ip-address/form\" */ 'components/pages/ClientIpAddressPage/ClientIpAddressProperties'\n ),\n loader: async ({ params: { clientId, ipAddressId } }) => {\n await apolloClient.query({\n query: require('components/pages/ClientIpAddressPage/ClietnIpAddressProperties.graphql'),\n variables: {\n ipAddressId,\n clientId: btoa(`Client:${clientId}`),\n },\n });\n },\n }, {\n path: 'assign',\n componentLoader: () => import(/* webpackChunkName: \"views/admin/client/ip-address/form\" */ 'components/pages/ClientIpAddressPage/AssignClientIpAddress'),\n loader: async ({ params: { clientId } }) => {\n await apolloClient.query({\n query: require('components/pages/ClientIpAddressPage/AssignClientIpAddress/AssignClientIpAddressDrawer.graphql'),\n variables: {\n clientId: btoa(`Client:${clientId}`),\n },\n });\n },\n }],\n },\n {\n path: '/cp/php/extensions/id/:id',\n componentLoader: () => import(/* webpackChunkName: \"views/php/extensions\" */'components/pages/PhpExtensionsPage'),\n loader: async ({ params: { id } }) => {\n await apolloClient.query({\n query: require('queries/PhpExtensionsPage.graphql'),\n variables: { id },\n });\n },\n isExist: async ({ params }) => {\n const { data: { viewer: { type, permissions }, os: { isWindows }, phpHandler: { cliPath } } } = await apolloClient.query({\n query: gql`\n query($id: ID!) {\n viewer {\n login\n type\n permissions {\n manageServerPhp\n }\n }\n os {\n isWindows\n }\n phpHandler(id: $id) {\n id\n cliPath\n }\n }\n `,\n variables: {\n id: params.id,\n },\n });\n\n return type === 'ADMIN' && permissions.manageServerPhp && (isWindows || cliPath !== '');\n },\n },\n {\n path: '/cp/server/ts-sessions/:id',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/TsSessionPage\" */'components/pages/TsSessionPage'),\n loader: ({ params }) => async () => {\n await apolloClient.query({\n query: require('queries/TsSessionPage.graphql'),\n variables: { ids: [params.id] },\n });\n },\n isExist: isTsSessionsExist,\n },\n {\n path: '/cp/server/ts-sessions',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/TsSessionsPage\" */'components/pages/TsSessionsPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/TsSessionsPage.graphql'),\n });\n },\n isExist: isTsSessionsExist,\n },\n {\n path: '/cp/server/asp-dot-net-settings',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage\" */'components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage'),\n loader: async () => {\n const { data } = await apolloClient.query({\n query: require('queries/AspDotNetServerSettingsPage.graphql'),\n });\n return data;\n },\n isExist: isAspPageExist,\n },\n {\n path: 'cp',\n handle: {\n crumb: ({ data }) => data.pageSidebar.isPowerUserPanel ? null : {\n title: Locale.getSection('components.routes').lmsg('home'),\n href: '/admin/home',\n },\n },\n element: <CpPagesLayout />,\n loader: () => pageData(),\n children: [\n {\n path: 'reseller-tools',\n isExist: async () => {\n const { data: { viewer } } = await apolloClient.query({\n query: require('queries/ViewerType.graphql'),\n });\n\n return viewer.type === 'RESELLER';\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('resellerTools'),\n }),\n },\n children: [\n infoAndStatisticsRoute,\n summaryReportRoute(),\n summaryReportChildrenRoute,\n virtualHostTemplateRoute,\n trafficUsageByViewerCustomersRoute({\n helpContext: 'reseller.client.traffic',\n }),\n trafficUsageByViewerCustomersChildrenRoute(),\n trafficUsageByViewerDomainsRoute(),\n trafficUsageByViewerDomainsChildrenRoute(),\n resourceUsageByDomainRoute(),\n {\n index: true,\n loader: () => new Promise(() => {\n // empty promise to avoid to show an empty page before reload\n window.location = '/admin/reseller/tools';\n }),\n },\n ],\n },\n {\n path: 'server',\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('tools'),\n }),\n },\n isExist: async () => {\n const { data: { viewer } } = await apolloClient.query({\n query: require('queries/ViewerType.graphql'),\n });\n\n return viewer.type === 'ADMIN';\n },\n children: [\n infoAndStatisticsRoute,\n summaryReportRoute(),\n summaryReportChildrenRoute,\n virtualHostTemplateRoute,\n trafficUsageByViewerResellersRoute(),\n trafficUsageByViewerResellersChildrenRoute(),\n trafficUsageByViewerCustomersRoute({\n helpContext: 'client.traffic',\n }),\n trafficUsageByViewerCustomersChildrenRoute(),\n trafficUsageByViewerDomainsRoute(),\n trafficUsageByViewerDomainsChildrenRoute(),\n resourceUsageByDomainRoute(),\n {\n index: true,\n loader: () => redirect('/admin/server/tools'),\n },\n {\n path: 'about',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerAboutPage\" */'components/pages/ServerAboutPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerAboutPage.graphql'),\n });\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('serverAbout'),\n }),\n helpContext: 'about.index',\n },\n },\n {\n path: 'mass-mail',\n loader: () => pageData(),\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('massMail'),\n }),\n helpContext: 'mass-mail',\n },\n children: [\n {\n index: true,\n componentLoader: () => import(/* webpackChunkName: \"components/pages/MassMailPage\" */'components/pages/MassMailPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/MassMailPage.graphql'),\n variables: {\n input: readGraphQlListInputFromStorage({ key: 'MassMailPage' }),\n },\n });\n },\n },\n {\n path: 'create',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/CreateMassMailTemplatePage\" */'components/pages/CreateMassMailTemplatePage'\n ),\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('createMassMailTemplate'),\n }),\n },\n loader: async () => {\n await apolloClient.query({\n query: require('queries/CreateMassMailTemplatePage.graphql'),\n });\n },\n },\n {\n path: 'send',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/SendMassMailPage\" */'components/pages/SendMassMailPage'\n ),\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('sendMassMail'),\n }),\n },\n loader: async () => {\n await apolloClient.query({\n query: require('queries/SendMassMailPage.graphql'),\n });\n },\n },\n {\n path: ':templateId/edit',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/EditMassMailTemplatePage\" */'components/pages/EditMassMailTemplatePage'\n ),\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('editMassMailTemplate'),\n }),\n },\n loader: async ({ params: { templateId } }) => {\n await apolloClient.query({\n query: require('queries/EditMassMailTemplatePage.graphql'),\n variables: {\n numericId: Number(templateId),\n id: btoa(`MassEmailTemplate:${templateId}`),\n },\n });\n },\n },\n ],\n },\n {\n path: 'action-log',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ActionLogPage\" */'components/pages/ActionLogPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ActionLogPage.graphql'),\n });\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('actionLogSettings'),\n }),\n helpContext: 'actionlog',\n },\n },\n {\n path: 'information',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerInformationPage\" */'components/pages/ServerInformationPage'),\n loader: async () => {\n const { data: { server: { information } } } = await apolloClient.query({\n query: require('queries/ServerInformationPage.graphql'),\n });\n\n if (!information) {\n throw new Response('Not Found', { status: 404 });\n }\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('serverInformation'),\n }),\n helpContext: 'server.statistics',\n },\n },\n {\n path: 'settings',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerSettingsPage\" */'components/pages/ServerSettingsPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerSettingsPage.graphql'),\n });\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('serverSettings'),\n }),\n helpContext: 'preferences',\n },\n },\n {\n path: 'spam-filter',\n componentLoader: () => import(/* webpackChunkName: \"components/tabs/SpamFilterSettingsTabs\" */'components/tabs/SpamFilterSettingsTabs'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/SpamFilterSettingsTabs.graphql'),\n });\n },\n isExist: async () => {\n const { data: { os: { isUnix } } } = await apolloClient.query({\n query: gql`\n query {\n os {\n isUnix\n }\n }\n `,\n });\n\n return isUnix;\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('serverSpamFilterSettings'),\n }),\n helpContext: 'spamassassin',\n },\n children: [\n {\n index: true,\n loader: async () => {\n const { data: { viewer: { permissions: { manageServerSpamFilter, manageServerMailBlackWhiteLists } } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n permissions {\n manageServerSpamFilter\n manageServerMailBlackWhiteLists\n }\n }\n }\n `,\n });\n\n if (manageServerSpamFilter) {\n return redirect('settings');\n }\n if (manageServerMailBlackWhiteLists) {\n return redirect('black-list');\n }\n throw new Response('Not Found', { status: 404 });\n },\n },\n {\n path: 'settings',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SpamFilterSettingsPage\" */'components/pages/SpamFilterSettingsPage'),\n loader: async () => {\n const { data: { serverMail: { spamAssassin: { settings } } } } = await apolloClient.query({\n query: require('queries/ServerMailSpamFilterPage.graphql'),\n });\n\n if (!settings) {\n throw new Response('Not Found', { status: 404 });\n }\n },\n },\n {\n path: 'black-list',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SpamFilterBlackListPage\" */'components/pages/SpamFilterBlackListPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerMailSpamFilterBlackListPage.graphql'),\n });\n },\n },\n {\n path: 'white-list',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SpamFilterWhiteListPage\" */'components/pages/SpamFilterWhiteListPage'),\n loader: async () => {\n await apolloClient.query({\n query: require('queries/ServerMailSpamFilterWhiteListPage.graphql'),\n });\n },\n },\n ],\n },\n odbcServerRoute,\n ],\n },\n domainRoute({ createPageDataLoader }),\n homeRoute,\n {\n path: 'domain-traffic-usage/domains',\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('statistics'),\n href: '/smb/statistics/details',\n }),\n helpContext: 'client.domain.traffic-hosting',\n },\n children: [trafficUsageByDomainRoute({ path: ':domainId' })],\n },\n {\n path: '*',\n loader: () => {\n throw new Response('Not Found', { status: 404 });\n },\n },\n ],\n },\n {\n id: 'php-pages-layout',\n path: '*',\n element: <PhpPagesLayout />,\n children: [\n {\n path: 'smb/log-file/browser/id/:id',\n element: <LogsPage />,\n },\n ],\n },\n ],\n}]);\n\nexport const isClientSideRedirectAllowed = to => {\n if (window.location.pathname.match(/^\\/modules\\/(warden)\\//)) {\n return false;\n }\n\n const { pathname, search } = typeof to === 'string' ? parsePath(to) : to;\n if (search?.startsWith('?modals')) {\n return true;\n }\n if (!pathname) {\n return false;\n }\n\n let route = pathname;\n\n // relative path\n if (/^(?![\\/?])/.test(to)) {\n route = window.location.pathname + route;\n }\n\n const matches = matchRoutes(routes, route);\n return matches ? !matches.some(({ route }) => route.id === 'php-pages-layout') : false;\n};\n\nexport default routes;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const HOURS_IN_MS = 1000 * 60 * 60;\n\nconst SEC_IN_MINUTE = 60;\nconst SEC_IN_HOUR = 60 * SEC_IN_MINUTE;\nconst SEC_IN_DAY = 24 * SEC_IN_HOUR;\n\nexport const getSysdate = (): Date => new Date();\n\nexport const addDays = (daysCount: number, date: Date = new Date()): Date => {\n const copy = new Date(date.getTime());\n copy.setDate(copy.getDate() + daysCount);\n\n return copy;\n};\n\nexport const addHours = (hoursCount: number, date: Date = new Date()): Date => {\n const copy = new Date(date.getTime());\n copy.setHours(copy.getHours() + hoursCount);\n\n return copy;\n};\n\nexport const isSameDay = (date1: Date, date2: Date): boolean => {\n const yearsAreEqual = date1.getFullYear() === date2.getFullYear();\n const monthsAreEqual = date1.getMonth() === date2.getMonth();\n const daysAreEqual = date1.getDate() === date2.getDate();\n\n return yearsAreEqual && monthsAreEqual && daysAreEqual;\n};\n\nexport const getTimezoneShift = (timezone: string): number => {\n const [hours, minutes] = timezone.split(':').map(Number);\n\n return hours < 0 ? -(Math.abs(hours) + (minutes / 60)) : hours + (minutes / 60);\n};\n\nconst MS_IN_SECOND = 1000;\n\nexport const formatDate = (date: Date | number): string => new Date(date)\n .toLocaleDateString(document.documentElement.lang ?? 'en', { month: 'long', day: 'numeric', year: 'numeric' });\n\nexport const formatDateFromTimestamp = (seconds: number): string => formatDate(seconds * MS_IN_SECOND);\n\n\ntype DatePeriod = {\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n}\n\nexport const toDatePeriod = (seconds: number): DatePeriod => {\n const days = Math.floor(seconds / SEC_IN_DAY);\n const daysInSeconds = days * SEC_IN_DAY;\n const hours = Math.floor((seconds - daysInSeconds) / SEC_IN_HOUR);\n const hoursInSeconds = hours * SEC_IN_HOUR;\n const minutes = Math.floor((seconds - daysInSeconds - hoursInSeconds) / SEC_IN_MINUTE);\n const minutesInSeconds = minutes * SEC_IN_MINUTE;\n\n return {\n days,\n hours,\n minutes,\n seconds: seconds - daysInSeconds - hoursInSeconds - minutesInSeconds,\n };\n};\n\nexport const getEndOfDay = (timestamp: number): Date => {\n const date = new Date(timestamp);\n date.setHours(23, 59, 59, 999);\n\n return date;\n};\n\nexport const getStartOfDay = (timestamp: number): Date => {\n const date = new Date(timestamp);\n date.setHours(0, 0, 0, 0);\n\n return date;\n};\n\nexport const getStartOfMonth = (timestamp: number): Date => {\n const date = new Date(timestamp);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n\n return date;\n};\n\nexport const getEndOfMonth = (timestamp: number): Date => {\n const date = new Date(timestamp);\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n date.setHours(23, 59, 59, 999);\n\n return date;\n};\n\nexport const getStartOfWeek = (timestamp: number): Date => {\n const date = new Date(timestamp);\n const dayOfWeek = date.getDay();\n\n const diff = dayOfWeek * -1;\n date.setDate(date.getDate() + diff);\n date.setHours(0, 0, 0, 0);\n\n return date;\n};\n\nexport const getEndOfWeek = (timestamp: number): Date => {\n const date = new Date(timestamp);\n const dayOfWeek = date.getDay();\n\n const diff = 6 - dayOfWeek;\n date.setDate(date.getDate() + diff);\n date.setHours(23, 59, 59, 999);\n\n return date;\n};\n\nexport const getDaysInMonthFromTimestamp = (timestamp: number): number => {\n const date = new Date(timestamp);\n const year = date.getFullYear();\n const month = date.getMonth();\n\n return new Date(year, month + 1, 0).getDate();\n};\n\nexport const getDaysInPreviousMonth = (timestamp: number): number => {\n const date = new Date(timestamp);\n const year = date.getFullYear();\n const month = date.getMonth();\n\n const previousMonth = month === 0 ? 11 : month - 1;\n const previousMonthYear = month === 0 ? year - 1 : year;\n\n // Create a new date for the last day of the previous month\n return new Date(previousMonthYear, previousMonth + 1, 0).getDate();\n};\n\nexport const toUnixTime = (timestamp: number): number => Math.floor(timestamp / MS_IN_SECOND);\n\nexport const toPhpDate = (timestamp: number): string => new Date(timestamp).toLocaleDateString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' });\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useLoaderData, useParams, useLocation, useRevalidator, useMatches, UIMatch } from 'react-router-dom';\nimport { useQuery } from '@apollo/client';\nimport { redirect } from 'jsw';\n\nimport LICENSE from 'queries/License.graphql';\nimport { ComponentType } from 'react';\n\ntype Route = {\n path?: string | string[];\n element?: React.ReactNode;\n componentLoader?: () => Promise<{ default: ComponentType<{ params: unknown }> }>;\n loader?: (args: { request: Request; params: Record<string, string> }) => Promise<Record<string, unknown> | Response | null>;\n isExist?: (args: { request: Request; params: Record<string, string> }) => Promise<boolean>;\n shouldRevalidate?: (args: { defaultShouldRevalidate: boolean; currentUrl: URL; nextUrl: URL }) => boolean;\n children?: Route[];\n [key: string]: unknown;\n};\n\nconst LoadableComponent = () => {\n const matches = useMatches() as UIMatch<unknown, { isAllowedWithoutLicense: boolean }>[];\n const location = useLocation();\n const revalidator = useRevalidator();\n const { Component, ...data } = useLoaderData() as { Component: ComponentType<{ params: unknown }> };\n const params = useParams();\n const { data: licenseData } = useQuery(LICENSE);\n\n if (licenseData?.mode?.isLicenseLocked) {\n const isAllowedWithoutLicense = matches.some(({ handle }) => handle?.isAllowedWithoutLicense);\n if (!isAllowedWithoutLicense) {\n redirect('/cp/license/');\n return null;\n }\n }\n\n if (location.state?.reload) {\n delete location.state.reload;\n revalidator.revalidate();\n }\n\n return <Component {...data} params={params} />;\n};\n\nconst componentLoaderTransformer = (route: Route): Route => {\n if (!route.componentLoader) {\n return route;\n }\n\n const { element, componentLoader, loader, ...other } = route;\n\n if (element) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n throw new Error('Unable to use options \"componentLoader\" and \"element\" at the same time', { cause: { route } });\n }\n\n return {\n ...other,\n element: <LoadableComponent />,\n loader: async ({ request, params }) => {\n const [Component, data] = await Promise.all([\n componentLoader().then(module => module.default || module),\n loader ? loader({ request, params }) : Promise.resolve(),\n ]);\n\n if (data instanceof Response) {\n return data;\n }\n\n return { ...data, Component };\n },\n };\n};\n\nconst isExistTransformer = (route: Route): Route => {\n if (!route.isExist) {\n return route;\n }\n\n const { isExist, loader, ...other } = route;\n\n return {\n ...other,\n loader: async ({ request, params }) => {\n if (!(await isExist({ request, params }))) {\n throw new Response('Not Found', { status: 404 });\n }\n if (loader) {\n return loader({ request, params });\n }\n return null;\n },\n };\n};\n\nconst shouldRevalidateTransformer = (route: Route): Route => {\n if (!route.loader) {\n return route;\n }\n\n const { shouldRevalidate, ...other } = route;\n\n return {\n ...other,\n shouldRevalidate: ({ defaultShouldRevalidate, ...args }) => {\n // Skip revalidation due to open/modify/close modals\n defaultShouldRevalidate &&= [...args.currentUrl.searchParams.keys(), ...args.nextUrl.searchParams.keys()]\n .every(param => !param.match(/^(modals\\[.+]|module)$/));\n\n if (shouldRevalidate) {\n defaultShouldRevalidate = shouldRevalidate({ ...args, defaultShouldRevalidate });\n }\n\n return defaultShouldRevalidate;\n },\n };\n};\n\nconst childrenTransformer = (route: Route): Route => {\n if (!Array.isArray(route.children)) {\n return route;\n }\n\n const { children, ...other } = route;\n\n return {\n ...other,\n children: routesTransformer(children),\n };\n};\n\nconst pathTransformer = (route: Route): Route | Route[] => {\n if (!Array.isArray(route.path)) {\n return route;\n }\n\n const { path, ...other } = route;\n\n return path.map(path => ({\n ...other,\n path,\n }));\n};\n\nconst routeTransformer = (route: Route) => {\n const transformedRoute = [\n componentLoaderTransformer,\n isExistTransformer,\n shouldRevalidateTransformer,\n childrenTransformer,\n ].reduce((route, transformer) => transformer(route), route);\n\n return pathTransformer(transformedRoute);\n};\n\nconst routesTransformer = (routes: Route[]): Route[] => routes.map(routeTransformer).flat();\n\nexport {\n componentLoaderTransformer,\n isExistTransformer,\n shouldRevalidateTransformer,\n childrenTransformer,\n pathTransformer,\n routeTransformer,\n};\nexport default routesTransformer;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"License\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":59}};\n doc.loc.source = {\"body\":\"query License {\\n mode {\\n isLicenseLocked\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"License\"] = oneQuery(doc, \"License\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useLayoutEffect } from 'react';\nimport { Outlet, useNavigation, ScrollRestoration } from 'react-router-dom';\nimport { useQuery } from '@apollo/client';\nimport { Toaster } from '@plesk/ui-library';\nimport TopBarProgress from 'react-topbar-progress-indicator';\nimport Cookie from 'common/cookie';\nimport { Task, Tooltip } from 'jsw';\nimport pageData from 'helpers/pageData';\nimport { useToasts, removeToast } from 'helpers/toasts';\nimport { getId } from 'helpers/getId';\nimport { ModuleProvider, DynamicModule } from 'components/DynamicModule';\nimport { useServerRouteReload } from './useServerRouteReload';\nimport { getScrollRestorationKey } from './getScrollRestorationKey';\n\nTopBarProgress.config({\n barThickness: 2,\n barColors: {\n 0: '#28aade',\n 1.0: '#28aade',\n },\n shadowBlur: 0,\n className: 'top-bar-progress',\n});\n\nimport TASK_PROGRESS_BAR_QUERY from 'queries/TaskProgressBar.graphql';\n\nconst AppLayout = () => {\n const navigation = useNavigation();\n const { data: { viewer, config } } = useQuery(TASK_PROGRESS_BAR_QUERY);\n const toasts = useToasts();\n\n useServerRouteReload();\n\n useLayoutEffect(() => {\n if (viewer.type === 'UNDEFINED') {\n return;\n }\n new Task.ProgressBar({\n wsEnabled: config.webSocket.enabled,\n viewerId: getId(viewer.client.id),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useLayoutEffect(() => {\n switch (navigation.state) {\n case 'loading': {\n const { status, ...data } = pageData();\n pageData({\n ...data,\n status: status?.filter(message => message.isNote),\n });\n break;\n }\n\n case 'idle': {\n Tooltip.hide();\n\n const bottomAnchor = document.getElementById('bottomAnchor');\n if (bottomAnchor) {\n bottomAnchor.innerHTML = Date.now();\n }\n break;\n }\n }\n }, [navigation.state]);\n\n return (\n <ModuleProvider>\n {navigation.state !== 'idle' ? (\n <TopBarProgress />\n ) : null}\n <Outlet />\n <Toaster toasts={toasts} onToastClose={key => removeToast({ key })} data-type=\"toaster\" />\n {'true' === Cookie.get('debug-testing-mode') ? (\n <>\n <style type=\"text/css\">\n {`\n *, *:before, *:after {\n transitions-delay: 0s !important;\n transition-duration: 0s !important;\n animation-duration: 0s !important;\n }\n `}\n </style>\n <div id=\"bottomAnchor\" style={{ position: 'fixed', top: 0, zIndex: -1, opacity: 0.001 }} />\n </>\n ) : null}\n <ScrollRestoration getKey={getScrollRestorationKey} />\n <DynamicModule />\n </ModuleProvider>\n );\n};\n\nexport default AppLayout;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const getId = (id?: string | null): number | null => {\n if (!id) {\n return null;\n }\n\n return Number(atob(id).split(':')[1]);\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport {\n lazy,\n createContext,\n useContext,\n useMemo,\n useCallback,\n useState,\n Suspense,\n} from 'react';\nimport TopBarProgress from 'react-topbar-progress-indicator';\nimport PropTypes from 'prop-types';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nconst ModulesContext = createContext({});\n\nconst MODULE_SEARCH_KEY = 'module';\n\nconst loadScope = (url, scope) => {\n if (window[scope]) {\n return window[scope];\n }\n const element = document.createElement('script');\n const promise = new Promise((resolve, reject) => {\n element.src = url;\n element.type = 'text/javascript';\n element.async = true;\n element.onload = () => resolve(window[scope]);\n element.onerror = reject;\n });\n document.head.appendChild(element);\n promise.finally(() => document.head.removeChild(element));\n return promise;\n};\n\nconst loadModule = async (url, scope, module) => {\n try {\n const container = await loadScope(url, scope);\n await __webpack_init_sharing__('default');\n // eslint-disable-next-line camelcase\n await container.init(__webpack_share_scopes__.default);\n const factory = await container.get(module);\n return factory();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error loading module:', error);\n return { default: () => null };\n }\n};\n\nconst useDynamicModule = () => useContext(ModulesContext);\n\nconst ModuleProvider = ({ children }) => {\n const [loaded, setLoaded] = useState({});\n const navigate = useNavigate();\n\n const openModule = useCallback((moduleString, props) => {\n const { scope, entry, url } = /module:(?<scope>.+):(?<entry>.+)@(?<url>.+)/.exec(moduleString)?.groups ?? {};\n\n if (!(scope && url && entry)) {\n return;\n }\n const key = `${scope}:${entry}`;\n if (!loaded[key]) {\n setLoaded(prev => ({\n ...prev,\n [key]: lazy(() => loadModule(url, scope, `./${entry}`)),\n }));\n }\n navigate(`?${new URLSearchParams({ [MODULE_SEARCH_KEY]: key, props: encode(props) })}`, {\n preventScrollReset: true,\n });\n }, [navigate, loaded]);\n\n const closeModule = useCallback(() => {\n const params = new URLSearchParams(location.search);\n params.delete(MODULE_SEARCH_KEY);\n params.delete('props');\n navigate(`?${params}`, { preventScrollReset: true });\n }, [navigate]);\n\n const modules = useMemo(() => Object.entries(loaded).map(([key, module]) => ({\n key,\n Component: module,\n }))\n , [loaded]);\n\n const values = useMemo(() => ({\n modules,\n openModule,\n closeModule,\n }), [closeModule, modules, openModule]);\n\n return (<ModulesContext.Provider value={values}>{children}</ModulesContext.Provider>);\n};\n\nModuleProvider.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nconst encode = object => btoa(JSON.stringify(object));\nconst decode = string => JSON.parse(atob(string));\n\nconst DynamicModule = () => {\n const { modules, closeModule } = useDynamicModule();\n const location = useLocation();\n\n const visible = useMemo(() => {\n const params = new URLSearchParams(location.search);\n if (params.has(MODULE_SEARCH_KEY)) {\n const key = params.get(MODULE_SEARCH_KEY);\n try {\n return {\n [key]: decode(params.get('props')),\n };\n } catch {\n return false;\n }\n }\n return false;\n }, [location]);\n\n return (\n <Suspense fallback={<TopBarProgress />}>\n {modules.map(({ Component, key }) => (\n <Component key={key} {...visible[key]} isOpen={!!visible[key]} onClose={closeModule} />\n ))}\n </Suspense>\n );\n};\n\nexport { ModuleProvider, DynamicModule, useDynamicModule };\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { isClientSideRedirectAllowed } from 'routes';\n\nexport const useServerRouteReload = () => {\n const location = useLocation();\n const initialized = useRef(false);\n\n useEffect(() => {\n if (initialized.current && !isClientSideRedirectAllowed(location.pathname)) {\n window.location.reload();\n }\n initialized.current = true;\n }, [location.pathname]);\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { GetScrollRestorationKeyFunction } from 'react-router-dom';\n\nlet lastNonOverlayRoute: {\n pathname: string;\n key: string;\n} | null = null;\n\ntype Handle = {\n isOverlay?: boolean;\n};\n\nexport const getScrollRestorationKey: GetScrollRestorationKeyFunction = (location, matches) => {\n const lastMatch = matches[matches.length - 1];\n const secondToLastMatch = matches[matches.length - 2];\n\n if (\n (lastMatch?.handle as Handle)?.isOverlay\n && lastNonOverlayRoute\n && secondToLastMatch\n && lastNonOverlayRoute?.pathname === secondToLastMatch.pathname\n ) {\n return lastNonOverlayRoute.key;\n }\n\n lastNonOverlayRoute = {\n pathname: lastMatch.pathname,\n key: location.key,\n };\n return location.key;\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TaskProgressBar\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webSocket\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":183}};\n doc.loc.source = {\"body\":\"query TaskProgressBar {\\n viewer {\\n login\\n type\\n client {\\n id\\n }\\n }\\n config {\\n webSocket {\\n enabled\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TaskProgressBar\"] = oneQuery(doc, \"TaskProgressBar\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Outlet, useLoaderData, useMatches, useParams, useLocation } from 'react-router-dom';\nimport PageLayout from './PageLayout';\n\nconst CpPagesLayout = () => {\n const { showFrames, pageHeader, pageSidebar } = useLoaderData();\n const matches = useMatches().filter(({ handle }) => !!handle);\n const params = useParams();\n const location = useLocation();\n\n const matchesContext = {};\n const breadcrumbs = matches.reduce((crumbs, match) => {\n if (!match.handle.crumb) {\n return crumbs;\n }\n\n const matchCrumb = match.handle.crumb({\n data: match.data,\n matchesContext,\n params,\n location,\n });\n\n if (!matchCrumb) {\n return crumbs;\n }\n\n if (Array.isArray(matchCrumb)) {\n return [...crumbs, ...matchCrumb];\n }\n\n return [...crumbs, { href: match.pathname, ...matchCrumb }];\n }, []);\n\n const reversedMatches = matches.slice().reverse();\n const returnUrl = reversedMatches.find(({ handle }) => handle.returnUrl)?.handle.returnUrl({ params });\n const helpContext = reversedMatches.find(({ handle }) => handle.helpContext)?.handle.helpContext;\n const secondary = reversedMatches.find(({ handle }) => handle.secondary)?.handle.secondary({ location, params });\n const titleRightAddon = reversedMatches.find(({ handle }) => handle.titleRightAddon)?.handle.titleRightAddon;\n const pageContentHeader = reversedMatches.find(({ handle }) => handle.pageContentHeader)?.handle.pageContentHeader;\n\n const lastBreadcrumbTitle = breadcrumbs[breadcrumbs.length - 1]?.title;\n // Check only matches that affects breadcrumbs or page title and ignore other e.g. Drawer or Dialog page\n const layoutMatches = matches.filter(({ handle }) => handle.crumb || typeof handle.pageTitle === 'function');\n const lastLayoutMatch = layoutMatches.at(-1);\n const pageTitle = lastLayoutMatch?.handle.pageTitle\n ? lastLayoutMatch.handle.pageTitle({\n data: lastLayoutMatch.data,\n matchesContext,\n params,\n location,\n }) || lastBreadcrumbTitle\n : lastBreadcrumbTitle;\n\n const lastMatch = matches.at(-1);\n const key = typeof lastMatch?.handle?.key === 'function' ? lastMatch.handle.key({ params }) : undefined;\n const noLayout = lastMatch?.handle?.noLayout ?? false;\n\n const data = {\n showFrames,\n pageHeader: {\n ...pageHeader,\n returnUrl: pageHeader.returnUrl || returnUrl,\n helpMenu: {\n ...pageHeader.helpMenu,\n helpContext,\n },\n },\n pageSidebar,\n pageContentHeader: {\n ...pageContentHeader,\n pageTitle,\n breadcrumbs,\n titleRightAddon,\n },\n secondary,\n };\n\n if (noLayout) {\n return <Outlet key={key} />;\n }\n\n return (\n <PageLayout {...data}>\n <Outlet key={key} />\n </PageLayout>\n );\n};\n\nexport default CpPagesLayout;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useEffect, useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport Measure from 'react-measure';\nimport classNames from 'classnames';\nimport { Layout, Columns, Column } from '@plesk/ui-library';\nimport { useLocalStorage, useMediaQuery } from 'common/hooks';\nimport stripTags from 'helpers/stripTags';\nimport CookiePolicy from '../CookiePolicy';\nimport JswComponent from '../../jsw/JswComponent';\nimport StatusMessages from '../StatusMessages';\nimport LicenseStatus from './LicenseStatus';\nimport PageHeader from './PageHeader';\nimport PageSidebar from './PageSidebar';\nimport PageFooter from './PageFooter';\nimport PageContentHeader from './PageContentHeader';\nimport getTitleForHelpSearchQuery from './getTitleForHelpSearchQuery';\n\nimport BRANDING_QUERY from 'queries/Branding.graphql';\n\nconst PageLayout = ({\n baseUrl = undefined,\n showFrames = true,\n returnUrl = undefined,\n pageHeader = undefined,\n pageSidebar = undefined,\n pageContentHeader = undefined,\n pageTitle = undefined,\n withSecondary = false,\n secondary = undefined,\n width = undefined,\n bodyClass = undefined,\n integrationClass = undefined,\n children = undefined,\n isSecondaryCollapsed = false,\n}) => {\n const { data: { viewer: { customTitle } } } = useQuery(BRANDING_QUERY);\n const [isClosedOnDesktop, setClosedOnDesktop] = useLocalStorage('isSidebarClosed');\n const [isClosedInResponsive, setClosedInResponsive] = useState(true);\n const sidebarCollapsed = [isClosedInResponsive && 'responsive', (isClosedOnDesktop === 'true') && 'desktop'].filter(Boolean);\n const isResponsive = useMediaQuery('(max-width: 1022px)');\n const isClosed = sidebarCollapsed.includes(isResponsive ? 'responsive' : 'desktop');\n\n pageTitle ??= pageContentHeader?.breadcrumbs?.[pageContentHeader.breadcrumbs.length - 1]?.title;\n\n useLayoutEffect(() => {\n const documentTitleEl = document.querySelector('title');\n if (!documentTitleEl) {\n return;\n }\n documentTitleEl.innerHTML = [pageTitle && stripTags(pageTitle), customTitle]\n .filter(Boolean).join(' - ');\n }, [pageTitle, customTitle]);\n\n useLayoutEffect(() => {\n const classes = classNames(bodyClass, integrationClass).split(' ').filter(Boolean);\n classes.forEach(className => document.body.classList.add(className));\n return () => {\n classes.forEach(className => document.body.classList.remove(className));\n };\n }, [bodyClass, integrationClass]);\n\n if (baseUrl) {\n global.Jsw.baseUrl = baseUrl;\n }\n\n const handleToggleSidebar = (collapsed, mode) => {\n switch (mode) {\n case 'responsive':\n setClosedInResponsive(collapsed);\n break;\n case 'desktop':\n setClosedOnDesktop(collapsed ? 'true' : 'false');\n break;\n }\n };\n\n const [headerHeight, setHeaderHeight] = useState(0);\n const [headerAddonHeight, setHeaderAddonHeight] = useState(0);\n const [stickyTop, setStickyTop] = useState(0);\n\n useEffect(() => {\n const top = headerHeight + headerAddonHeight\n + parseInt(getComputedStyle(document.querySelector('.pul-layout__main-inner')).paddingTop)\n + (document.getElementById('classic-mode-navigation')?.getBoundingClientRect().height || 0);\n setStickyTop(top);\n }, [headerHeight, headerAddonHeight]);\n\n if (pageHeader?.helpMenu && pageContentHeader) {\n pageHeader.helpMenu = {\n ...pageHeader.helpMenu,\n searchQuery: getTitleForHelpSearchQuery(pageContentHeader),\n };\n }\n\n return (\n <Layout\n id=\"page\"\n width={width}\n header={showFrames && pageHeader ? (\n <Measure bounds onResize={({ bounds }) => setHeaderHeight(bounds.height)}>\n {({ measureRef }) => (\n <div ref={measureRef}>\n <PageHeader\n returnUrl={returnUrl}\n {...pageHeader}\n />\n </div>\n )}\n </Measure>\n ) : undefined}\n headerAddon={showFrames && pageHeader ? (\n <Measure bounds onResize={({ bounds }) => setHeaderAddonHeight(bounds.height)}>\n {({ measureRef }) => (\n <div ref={measureRef}>\n <CookiePolicy />\n {pageHeader.licenseStatus ? <LicenseStatus {...pageHeader.licenseStatus} /> : null}\n </div>\n )}\n </Measure>\n ) : undefined}\n onSidebarToggle={handleToggleSidebar}\n sidebar={showFrames && pageSidebar ? (\n <PageSidebar\n title={customTitle}\n breadcrumbs={pageContentHeader?.breadcrumbs}\n isClosed={isClosed}\n onNodeClick={isResponsive ? () => setClosedInResponsive(true) : undefined}\n {...pageSidebar}\n />\n ) : undefined}\n sidebarCollapsed={sidebarCollapsed}\n sidebarType={showFrames && pageSidebar ? 'folded' : undefined}\n footer={showFrames ? (\n <PageFooter />\n ) : undefined}\n contentHeader={pageContentHeader ? (\n <PageContentHeader {...pageContentHeader} />\n ) : null}\n >\n <div className=\"b-content\">\n <Columns gap=\"md\" vertical={740} data-type=\"page-content\" className=\"b-content-wrap\">\n <Column fill id=\"content-body\" className=\"b-content-main\">\n <div id=\"main\" style={withSecondary || secondary ? { position: 'sticky', top: `${stickyTop}px` } : undefined}>\n <StatusMessages />\n {children}\n </div>\n </Column>\n {withSecondary || secondary ? (\n <Column\n width={256}\n className={classNames('b-content-side', isSecondaryCollapsed && 'b-content-side--collapsed')}\n >\n <div style={{ position: 'sticky', top: `${stickyTop}px` }}>\n {typeof secondary === 'string' ? (\n <JswComponent>{secondary}</JswComponent>\n ) : secondary}\n </div>\n </Column>\n ) : null}\n </Columns>\n </div>\n </Layout>\n );\n};\n\nPageLayout.propTypes = {\n baseUrl: PropTypes.string,\n showFrames: PropTypes.bool,\n returnUrl: PropTypes.string,\n pageHeader: PropTypes.shape(PageHeader.propTypes),\n pageSidebar: PropTypes.object,\n pageContentHeader: PropTypes.shape(PageContentHeader.propTypes),\n withSecondary: PropTypes.bool,\n secondary: PropTypes.any,\n isSecondaryCollapsed: PropTypes.bool,\n width: PropTypes.number,\n bodyClass: PropTypes.string,\n integrationClass: PropTypes.string,\n pageTitle: PropTypes.string,\n children: PropTypes.any,\n};\n\nexport default PageLayout;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useRef, useEffect } from 'react';\n\nconst useEventListener = (event, handler, element, addFn = 'addEventListener', removeFn = 'removeEventListener') => {\n const handlerRef = useRef();\n\n useEffect(() => {\n handlerRef.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n if (!element || !element[addFn]) {\n return;\n }\n\n const listener = event => handlerRef.current(event);\n\n element[addFn](event, listener);\n\n return () => {\n element[removeFn](event, listener);\n };\n },\n [event, element, addFn, removeFn],\n );\n};\n\nexport default useEventListener;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback, useState } from 'react';\nimport { readLocalStorageValue } from 'common/helpers/readLocalStorageValue';\n\ntype SetAction<V> = (value: V) => void;\n\ninterface UseLocalStorage {\n <V>(key: string, initialValue: V): [V, SetAction<V>];\n <V = undefined>(key: string): [V | undefined, SetAction<V>];\n}\n\nexport const useLocalStorage: UseLocalStorage = function <V> (\n key: string,\n initialValue?: V | undefined,\n) {\n const [storedValue, setStoredValue] = useState<V | undefined>(\n () => readLocalStorageValue(key, initialValue),\n );\n\n const setValue = useCallback((value: V) => {\n setStoredValue(value);\n\n window.localStorage.setItem(key, JSON.stringify(value));\n }, [key]);\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\ninterface ReadLocalStorageValue {\n <V>(key: string, defaultValue: V): V;\n <V = undefined>(key: string): V | undefined;\n}\n\nexport const readLocalStorageValue: ReadLocalStorageValue = <Value>(\n key: string,\n defaultValue?: Value,\n): Value | undefined => {\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : defaultValue;\n } catch {\n return defaultValue;\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useLayoutEffect, useState } from 'react';\n\nconst useMediaQuery = (query: string) => {\n const [value, setValue] = useState(false);\n\n useLayoutEffect(() => {\n const mq = window.matchMedia(query);\n\n const updateMatch = () => {\n setValue(mq.matches);\n };\n updateMatch();\n\n mq.addListener(updateMatch);\n return () => {\n mq.removeListener(updateMatch);\n };\n }, [query]);\n\n return value;\n};\n\nexport default useMediaQuery;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useEffect } from 'react';\n\nconst useDebounce = <T>(value: T, delay: number) => {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n\nexport default useDebounce;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { useModal } from 'hooks';\nimport Info from './Info';\nimport Preferences, { OverlayAdapter } from './Preferences';\nimport { loadPreferences, savePreferences, hasPreferences } from 'common/gdpr-storage';\nimport Cookie from 'common/cookie';\n\nimport COOKIE_POLICY_QUERY from 'queries/CookiePolicy.graphql';\n\nconst CookiePolicy = ({ layoutType = undefined }) => {\n const [isInfoVisible, setInfoVisible] = useState(() => !hasPreferences());\n const [isPreferencesVisible, setPreferencesVisible] = useModal('cookie-policy-preferences');\n const [preferences, setPreferences] = useState(loadPreferences);\n\n const { data: { config } = {} } = useQuery(COOKIE_POLICY_QUERY);\n\n const handleSave = nextPreferences => {\n setInfoVisible(false);\n setPreferences(nextPreferences);\n savePreferences(nextPreferences);\n config.gdpr.cookies.forEach(({ name, type }) => {\n if (nextPreferences[type] === false) {\n Cookie.remove(name, '/');\n }\n });\n };\n\n return (\n <>\n {config?.gdpr?.cookieBox?.enabled && isInfoVisible && (\n <Info\n onSave={handleSave}\n onPreferencesToggle={setPreferencesVisible}\n contentAlignment={layoutType === 'simplified' ? 'center' : undefined}\n />\n )}\n <Preferences\n isOpen={isPreferencesVisible !== null}\n preferences={preferences}\n onSave={handleSave}\n onToggle={setPreferencesVisible}\n adapter={layoutType === 'simplified' ? OverlayAdapter : undefined}\n />\n </>\n );\n};\n\nCookiePolicy.propTypes = {\n layoutType: PropTypes.oneOf(['simplified']),\n};\n\nexport default CookiePolicy;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useRef } from 'react';\n\nconst useCollector = () => {\n const collectorRef = useRef({\n setCallback(callback) {\n this.callback = callback;\n },\n collect() {\n return this.callback();\n },\n });\n return collectorRef.current;\n};\n\nexport default useCollector;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useState } from 'react';\n\ntype ResolveConfirmation = (value: boolean) => void;\n\ntype ConfirmationOptions = {\n onProceed?: () => void;\n};\n\nclass Confirmation {\n public isResolved = false;\n\n private onProceed?: ConfirmationOptions['onProceed'];\n\n constructor(\n private resolve: ResolveConfirmation,\n { onProceed }: ConfirmationOptions = {},\n ) {\n this.onProceed = onProceed;\n }\n\n proceed(isConfirmed: boolean) {\n this.isResolved = true;\n this.resolve(isConfirmed);\n this.onProceed?.();\n }\n}\n\ntype UseConfirmationReturn = readonly [\n Confirmation | null,\n () => Promise<boolean>,\n];\n\nconst useConfirmation = (): UseConfirmationReturn => {\n const [confirmation, setConfirmation] = useState<Confirmation | null>(null);\n\n useEffect(() => () => {\n if (confirmation && !confirmation.isResolved) {\n confirmation.proceed(false);\n }\n }, [confirmation]);\n\n const triggerConfirmation = () => new Promise((resolve: ResolveConfirmation) => {\n const confirmation = new Confirmation(resolve, {\n onProceed: () => setConfirmation(null),\n });\n setConfirmation(confirmation);\n });\n\n return [\n confirmation,\n triggerConfirmation,\n ];\n};\n\nexport default useConfirmation;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useState } from 'react';\nimport { useApolloClient, useMutation } from '@apollo/client';\nimport { useNavigate, useMatch } from 'react-router-dom';\nimport { ContentLoader } from '@plesk/ui-library';\nimport { api, redirect, Tooltip } from 'jsw';\nimport DrawerWithProgress from 'components/common/DrawerWithProgress';\n\nimport CREATE_FORM_IN_DRAWER_QUERY from 'queries/CreateFormInDrawer.graphql';\nimport UPDATE_USER_SETTINGS from 'queries/UpdateUserSettings.graphql';\n\nconst useCreateFormInDrawer = (Form, dataType, pageUrl, drawerUrl) => {\n const apolloClient = useApolloClient();\n const isOpen = !!useMatch(drawerUrl);\n const navigate = useNavigate();\n const [data, setData] = useState(null);\n const [task, setTask] = useState(null);\n const [updateUserSettings] = useMutation(UPDATE_USER_SETTINGS);\n\n useEffect(() => {\n if (isOpen) {\n setData(null);\n setTask(null);\n Tooltip.hide();\n Promise.all([\n api.get(drawerUrl),\n apolloClient.query({\n query: CREATE_FORM_IN_DRAWER_QUERY,\n }),\n ])\n .then(([data, { data: { config, mode } }]) => {\n if (data.redirect) {\n redirect(data.redirect);\n return;\n }\n setData({\n ...data,\n techDomain: {\n url: `${config.techDomain.url}/api/subdomain`,\n vendor: config.techDomain.vendor,\n maxDomainLength: config.techDomain.maxDomainLength,\n },\n settingsEnabled: config.domainManagement.settings.enabled,\n applicationWizardConfig: config.domainManagement.applicationWizard,\n isMailServiceSupported: mode.isMailServiceSupported,\n });\n });\n }\n }, [isOpen, drawerUrl, apolloClient]);\n\n const handleClose = () => {\n navigate(pageUrl);\n };\n\n const handleToggle = collapsed => {\n if (data) {\n data.settingsCollapsed = collapsed;\n }\n\n updateUserSettings({\n variables: {\n collapsed,\n },\n });\n };\n\n const drawer = (\n <DrawerWithProgress\n dataType={dataType}\n title={data ? data.pageTitle : ''}\n size=\"sm\"\n isOpen={isOpen}\n onClose={handleClose}\n form={data ? (\n <Form\n onCancel={handleClose}\n onProcess={setTask}\n onToggleDomainSettings={handleToggle}\n {...data}\n />\n ) : null}\n task={task}\n pageUrl={pageUrl}\n >\n {data ? null : <ContentLoader />}\n </DrawerWithProgress>\n );\n\n return [drawer];\n};\n\nexport default useCreateFormInDrawer;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useState } from 'react';\nimport { Drawer, ConsoleOutput, Button } from '@plesk/ui-library';\nimport { Observer, getComponent, Task, escapeHtml, Locale } from 'jsw';\nimport PropTypes from 'prop-types';\nimport useEventListener from 'common/hooks/useEventListener';\nimport useNavigate from 'hooks/useNavigate';\nimport { addToast } from 'helpers/toasts';\n\nconst STATUS_RUNNING = 'running';\nconst getTaskProgressBar = () => getComponent('asyncProgressBarWrapper');\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\n\n// Workaround for lists that do not support reload\nconst sameUrls = (redirectUrl, pageUrl) => {\n if (redirectUrl === pageUrl) {\n return true;\n }\n\n try {\n const params = new URLSearchParams(new URL(redirectUrl, window.location.origin).search);\n return params.get('returnUrl') === pageUrl || params.get('pageUrl') === pageUrl;\n } catch {}\n\n return true;\n};\n\n// Workaround for three different sets of task statuses\nconst getStatus = status => {\n switch (status) {\n case 'STATUS_NOT_STARTED': return Task.STATUS_NOT_STARTED;\n case 'STATUS_STARTED':\n case 'STATUS_RUNNING':\n case Task.STATUS_STARTED: return STATUS_RUNNING;\n case 'STATUS_DONE': return Task.STATUS_DONE;\n case 'STATUS_CANCELED': return Task.STATUS_CANCELED;\n case 'STATUS_ERROR': return Task.STATUS_ERROR;\n default: return status;\n }\n};\n\nconst DrawerWithProgress = ({\n children = null,\n dataType,\n isOpen = false,\n onClose,\n task = null,\n pageUrl = null,\n onTaskComplete = undefined,\n onError = undefined,\n autoCloseTimeout = undefined,\n ...props\n}) => {\n const navigate = useNavigate();\n const [steps, setSteps] = useState([]);\n const [title, setTitle] = useState(null);\n const [redirectUrl, setRedirectUrl] = useState(null);\n const [status, setStatus] = useState(null);\n const [errors, setErrors] = useState(null);\n const taskId = task ? task.id : null;\n\n const handleTaskUpdate = ({ id, steps, status: taskStatus, errors, output, progressValue, progressTitle, progressTitleHtml }) => {\n if (!isOpen || taskId !== id) {\n return;\n }\n\n const title = progressTitleHtml || escapeHtml(progressTitle);\n const status = getStatus(taskStatus);\n\n const content = (errors = [], output = []) => {\n const onErrorExecute = typeof onError === 'function' && errors.length > 0;\n return (\n <>\n {onErrorExecute && onError()}\n {errors.map(error => (<div key={error}>{error}</div>))}\n {output.length > 0 && (<ConsoleOutput data-testid=\"console-output\">{output}</ConsoleOutput>)}\n </>\n );\n };\n\n setStatus(status);\n setErrors(errors);\n if (steps && steps.length) {\n setTitle(title);\n setSteps(steps.map(({ errors, status, output, ...props }) => ({\n children: content(errors, output),\n status: getStatus(status),\n ...props,\n })));\n } else {\n setSteps([{\n title,\n status,\n progress: Number(progressValue),\n children: content(errors, output),\n }]);\n }\n };\n\n const handleTaskComplete = ({ id, redirect: redirectUrl, status }) => {\n if (!isOpen || taskId !== id) {\n return;\n }\n\n if (typeof onTaskComplete === 'function') {\n onTaskComplete({ status });\n }\n if (Task.STATUS_DONE === status) {\n setRedirectUrl(redirectUrl?.url || redirectUrl);\n }\n };\n\n useEffect(() => {\n const taskProgressBar = getTaskProgressBar();\n const onOpen = () => {\n taskProgressBar?.hide();\n setSteps([]);\n setTitle(null);\n setRedirectUrl(null);\n setStatus(null);\n setErrors(null);\n };\n\n const onClose = async () => {\n if (!isInProgress()) {\n await deleteTask();\n }\n taskProgressBar?.show();\n };\n\n isOpen ? onOpen() : onClose();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n useEffect(() => {\n if (taskId) {\n getTaskProgressBar()?.update();\n handleTaskUpdate(task);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [taskId, task]);\n\n useEventListener('plesk:taskStepUpdate', handleTaskUpdate, Observer);\n useEventListener('plesk:taskComplete', handleTaskComplete, Observer);\n\n const isInProgress = () => Task.STATUS_NOT_STARTED === status || STATUS_RUNNING === status;\n\n const handleClose = () => {\n if (!redirectUrl) {\n onClose();\n return;\n }\n\n if (sameUrls(redirectUrl, pageUrl)) {\n navigate(redirectUrl, { replace: true });\n onClose();\n return;\n }\n\n navigate(redirectUrl);\n };\n\n const deleteTask = () => taskId && getTaskProgressBar()?.getItems().find(item => item.getId() === taskId)\n ?.remove();\n\n const onFinish = () => {\n deleteTask();\n\n const intent = errors && errors.includes('finishedWithWarnings') ? 'warning' : 'success';\n\n addToast({\n intent,\n // eslint-disable-next-line react/no-danger\n message: <span dangerouslySetInnerHTML={{ __html: title || steps[0].title }} />,\n });\n };\n\n return (\n <Drawer\n data-type={dataType}\n isOpen={isOpen}\n onClose={handleClose}\n progress={steps.length ? {\n cancelable: false,\n // eslint-disable-next-line react/no-danger\n title: <span dangerouslySetInnerHTML={{ __html: title }} />,\n steps,\n onFinish,\n autoCloseTimeout,\n buttons: autoCloseTimeout === null && Task.STATUS_DONE === status ? (\n <Button\n intent=\"primary\"\n onClick={handleClose}\n >\n <ButtonsTranslate content=\"finish\" />\n </Button>\n ) : null,\n } : null}\n hideButton={isInProgress()}\n {...props}\n >\n {children}\n </Drawer>\n );\n};\n\nDrawerWithProgress.propTypes = {\n children: PropTypes.node,\n dataType: PropTypes.string.isRequired,\n isOpen: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n task: PropTypes.shape({\n id: PropTypes.string.isRequired,\n steps: PropTypes.array,\n status: PropTypes.string,\n progressTitle: PropTypes.string,\n progressTitleHtml: PropTypes.string,\n }),\n pageUrl: PropTypes.string,\n onTaskComplete: PropTypes.func,\n onError: PropTypes.func,\n autoCloseTimeout: PropTypes.number,\n};\n\nexport default DrawerWithProgress;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback } from 'react';\nimport { createPath } from 'react-router';\nimport { useNavigate as useNavigateBase, To, NavigateOptions } from 'react-router-dom';\n\nconst useNavigate = () => {\n const navigateBase = useNavigateBase();\n\n return useCallback((to: To, options: NavigateOptions = {}) => {\n if (!require('routes').isClientSideRedirectAllowed(to)) {\n window.location[options?.replace ? 'replace' : 'assign'](typeof to === 'object' && to !== null ? createPath(to) : to);\n } else {\n navigateBase(to, options);\n }\n }, [navigateBase]);\n};\n\nexport default useNavigate;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateFormInDrawer\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainManagement\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"applicationWizard\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blankSite\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uploadFiles\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailHosting\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"techDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"vendor\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxDomainLength\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailServiceSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":440}};\n doc.loc.source = {\"body\":\"query CreateFormInDrawer {\\n config {\\n domainManagement {\\n settings {\\n enabled\\n }\\n applicationWizard {\\n enabled\\n blankSite\\n uploadFiles\\n mailHosting\\n }\\n }\\n techDomain {\\n url\\n vendor\\n maxDomainLength\\n }\\n }\\n mode {\\n isMailServiceSupported\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CreateFormInDrawer\"] = oneQuery(doc, \"CreateFormInDrawer\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserSettings\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"collapsed\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateUserSettings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"collapsedDomainSettings\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"collapsed\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"result\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":146}};\n doc.loc.source = {\"body\":\"mutation UpdateUserSettings($collapsed: Boolean!) {\\n updateUserSettings(input: {collapsedDomainSettings: $collapsed}) {\\n result\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UpdateUserSettings\"] = oneQuery(doc, \"UpdateUserSettings\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState } from 'react';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype BaseOperation <ID> = (keys: ID[], ...args: any[]) => unknown;\n\ntype WrappedOperation <ID, Operation extends BaseOperation<ID>> =\n (this: unknown, ...args: Parameters<Operation>) => Promise<Awaited<ReturnType<Operation>>>;\n\nconst useListOperation = <ID> () => {\n const [selection, setSelection] = useState<ID[]>([]);\n const [loadingRows, setLoadingRows] = useState<ID[]>([]);\n\n const wrapListOperation = <O extends BaseOperation<ID>> (operation: O) => async function (keys, ...args) {\n setSelection(currentKeys => (\n currentKeys.filter(key => !keys.includes(key))\n ));\n setLoadingRows(currentKeys => [...currentKeys, ...keys]);\n\n try {\n return await operation.call(this, keys, ...args);\n } finally {\n setLoadingRows(currentKeys => (\n currentKeys.filter(key => !keys.includes(key))\n ));\n }\n } as WrappedOperation<ID, O>;\n\n return {\n selection,\n setSelection,\n loadingRows,\n wrapListOperation,\n } as const;\n};\n\nexport default useListOperation;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback, useState } from 'react';\nimport { Pagination } from '@plesk/ui-library';\nimport useListOperation from './useListOperation';\n\nexport const ALL_ITEMS = 'all';\nexport const ITEM_PER_PAGE_OPTIONS_DEFAULT = [10, 25, 100, ALL_ITEMS];\nexport const ALL_ITEMS_COUNT = 100_000;\n\n/**\n * hook for add sort and pagination for the ui-library list component\n */\nconst useList = ({\n onReload,\n onFilter,\n initialFilter,\n pagination: {\n current: currentPage,\n totalPage: totalPages,\n itemsPerPage,\n itemsPerPageOptions,\n onPageChange,\n onChangeItemsPerPage,\n } = {},\n sort: {\n direction: sortDirection,\n column: sortColumn,\n onChange: onSortChange,\n } = {},\n}) => {\n const { selection, setSelection, loadingRows, wrapListOperation } = useListOperation();\n const [loading, setLoading] = useState(false);\n const [filter, setFilter] = useState(initialFilter);\n\n const wrapAsync = async operation => {\n setLoading(true);\n await operation();\n setLoading(false);\n };\n\n const renderPagination = useCallback(() => (\n <Pagination\n current={currentPage}\n total={totalPages}\n itemsPerPage={itemsPerPage}\n onSelect={nextPage => wrapAsync(() => onPageChange(nextPage))}\n onItemsPerPageChange={itemsPerPage => wrapAsync(() => {\n const nextItemsPerPage = itemsPerPage === ALL_ITEMS ? ALL_ITEMS_COUNT : itemsPerPage;\n onChangeItemsPerPage(nextItemsPerPage);\n })}\n itemsPerPageOptions={itemsPerPageOptions ?? ITEM_PER_PAGE_OPTIONS_DEFAULT}\n />\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ), [currentPage, itemsPerPage, itemsPerPageOptions, totalPages]);\n\n const sortParams = {\n sortColumn,\n sortDirection,\n onSortChange: (...params) => wrapAsync(() => onSortChange(...params)),\n };\n\n return {\n renderPagination,\n selection,\n setSelection,\n loading,\n loadingRows,\n filter,\n sortParams,\n wrapListOperation,\n handleReload: params => wrapAsync(() => onReload(params)),\n handleFilter: params => wrapAsync(async () => {\n await onFilter(params);\n setFilter(params);\n }),\n };\n};\n\nexport default useList;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback } from 'react';\nimport { useNavigate, useLocation } from 'react-router-dom';\n\n/**\n * Helper for global modals like Notifications and Cookies\n */\nconst useModal = (\n id: string,\n search?: ConstructorParameters<typeof URLSearchParams>[0],\n) => {\n const key = `modals[${id}]`;\n const navigate = useNavigate();\n const location = useLocation();\n const value = new URLSearchParams(search ?? location.search).get(key);\n\n const setValue = useCallback((next?: string | null) => {\n const params = new URLSearchParams(window.location.search);\n if (next) {\n params.set(key, next);\n } else if (params.has(key)) {\n params.delete(key);\n }\n navigate(`?${params}${window.location.hash}`);\n }, [key, navigate]);\n\n return [value, setValue] as const;\n};\n\nexport default useModal;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport classNames from 'classnames';\nimport { Heading, Paragraph, Button, Link } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport { PLESK_COOKIES } from './urls';\n\nconst Translate = Locale.getTranslate('components.cookie-policy.info');\n\nconst Info = ({ onSave, onPreferencesToggle, contentAlignment = undefined }) => {\n const handleAcceptClick = () => {\n onSave({ analytics: true, marketing: true });\n onPreferencesToggle(false);\n };\n\n const handleAcceptNecessaryCookiesClick = () => {\n onSave({ analytics: false, marketing: false });\n onPreferencesToggle(false);\n };\n\n const handlePreferencesClick = () => {\n onPreferencesToggle(true);\n };\n\n return (\n <div\n className={classNames('cookie-policy-info', {\n [`cookie-policy-info--${contentAlignment}`]: contentAlignment,\n })}\n >\n <div className=\"cookie-policy-info__inner\">\n <Heading level={3} className=\"cookie-policy-info__title\">\n <Translate content=\"title\" />\n </Heading>\n <Paragraph>\n <Translate content=\"necessaryCookiesMessage\" />\n </Paragraph>\n <Paragraph>\n <Translate\n content=\"message\"\n params={{\n cookieInformationLink: (\n <Link\n href={PLESK_COOKIES}\n target=\"_blank\"\n className=\"cookie-policy-info__link\"\n >\n <Translate\n content=\"cookieInformationLink\"\n />\n </Link>\n ),\n }}\n />\n </Paragraph>\n <div className=\"cookie-policy-info__buttons\">\n <Button\n className=\"cookie-policy-info__button\"\n data-type=\"cookie-policy-info-accept-button\"\n onClick={handleAcceptClick}\n >\n <Translate content=\"acceptButton\" />\n </Button>\n <Button\n className=\"cookie-policy-info__button\"\n data-type=\"cookie-policy-info-accept-necessary-button\"\n onClick={handleAcceptNecessaryCookiesClick}\n >\n <Translate content=\"acceptNecessaryCookiesButton\" />\n </Button>\n <Button\n className=\"cookie-policy-info__button\"\n data-type=\"cookie-policy-info-preferences-button\"\n onClick={handlePreferencesClick}\n >\n <Translate content=\"preferencesButton\" />\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nInfo.propTypes = {\n onSave: PropTypes.func.isRequired,\n onPreferencesToggle: PropTypes.func.isRequired,\n contentAlignment: PropTypes.oneOf(['center']),\n};\n\nexport default Info;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const PLESK_COOKIES = 'https://docs.plesk.com/en-US/obsidian/cookies';\nexport const CONTROL_COOKIES = 'https://docs.plesk.com/en-US/obsidian/cookies/#delete-cookies';\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { Heading, Paragraph, Link, FormFieldRadioButtons } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport DrawerAdapter from './DrawerAdapter';\nimport { PLESK_COOKIES, CONTROL_COOKIES } from '../urls';\n\nconst Translate = Locale.getTranslate('components.cookie-policy.preferences');\n\nconst toValues = preferences => Object.keys(preferences).reduce((acc, k) => {\n acc[k] = preferences[k] ? 'on' : 'off';\n return acc;\n}, {});\n\nconst toPreferences = values => Object.keys(values).reduce((acc, k) => {\n acc[k] = values[k] === 'on';\n return acc;\n}, {});\n\nconst Preferences = ({ isOpen, onSave, onToggle, preferences, adapter: Adapter = DrawerAdapter }) => {\n const values = useMemo(() => toValues(preferences), [preferences]);\n\n const handleSubmit = values => {\n onSave(toPreferences(values));\n onToggle(false);\n };\n\n const handleCancel = () => onToggle(false);\n\n return (\n <Adapter\n isOpen={isOpen}\n title={<Translate content=\"title\" />}\n submitButton={{\n 'data-type': 'cookie-policy-preferences-submit-button',\n 'data-testid': 'submitButton',\n children: (\n <Translate content=\"submitButton\" />\n ),\n }}\n cancelButton={{\n 'data-type': 'cookie-policy-preferences-cancel-button',\n 'data-testid': 'cancelButton',\n children: (\n <Translate content=\"cancelButton\" />\n ),\n onClick: handleCancel,\n }}\n values={values}\n onSubmit={handleSubmit}\n onCancel={handleCancel}\n >\n <Paragraph>\n <Translate content=\"description\" />\n </Paragraph>\n <Heading level={2}>\n <Translate content=\"settingsTitle\" />\n </Heading>\n <Paragraph>\n <Translate content=\"settingsDescription\" />\n </Paragraph>\n <Heading level={3}>\n <Translate content=\"analyticsTitle\" />\n </Heading>\n <Paragraph>\n <Translate content=\"analyticsDescription\" />\n </Paragraph>\n <FormFieldRadioButtons\n name=\"analytics\"\n value={values.analytics}\n className=\"cookie-policy-preferences__radio-buttons\"\n data-testid={`analytics${values.analytics}`}\n options={[\n { value: 'on', label: <Translate content=\"on\" /> },\n { value: 'off', label: <Translate content=\"off\" /> },\n ]}\n />\n <Heading level={3}>\n <Translate content=\"marketingTitle\" />\n </Heading>\n <Paragraph>\n <Translate content=\"marketingDescription\" />\n </Paragraph>\n <FormFieldRadioButtons\n name=\"marketing\"\n value={values.marketing}\n className=\"cookie-policy-preferences__radio-buttons\"\n options={[\n { value: 'on', label: <Translate content=\"on\" /> },\n { value: 'off', label: <Translate content=\"off\" /> },\n ]}\n />\n <Heading level={3}>\n <Translate content=\"necessaryTitle\" />\n </Heading>\n <Paragraph>\n <Translate\n content=\"necessaryDescription\"\n params={{\n browserSettingsLink: (\n <Link href={CONTROL_COOKIES} target=\"_blank\">\n <Translate content=\"browserSettingsLink\" />\n </Link>\n ),\n }}\n />\n </Paragraph>\n <Paragraph>\n <Link href={PLESK_COOKIES} target=\"_blank\">\n <Translate content=\"pleskCookiesLink\" />\n </Link>\n </Paragraph>\n </Adapter>\n );\n};\n\nPreferences.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n onSave: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n preferences: PropTypes.object.isRequired,\n adapter: PropTypes.func,\n};\n\nexport default Preferences;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Drawer } from '@plesk/ui-library';\n\nconst DrawerAdapter = ({\n isOpen,\n onSubmit,\n onCancel,\n submitButton,\n cancelButton,\n title,\n children,\n values,\n}) => (\n <Drawer\n isOpen={isOpen}\n onClose={onCancel}\n data-type=\"cookie-policy-preferences\"\n title={title}\n size=\"sm\"\n form={{\n vertical: true,\n onSubmit,\n onCancel,\n applyButton: false,\n submitButton,\n cancelButton,\n values,\n }}\n >\n {children}\n </Drawer>\n);\n\nDrawerAdapter.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n submitButton: PropTypes.shape({\n children: PropTypes.node.isRequired,\n }).isRequired,\n cancelButton: PropTypes.shape({\n children: PropTypes.node.isRequired,\n onClick: PropTypes.func.isRequired,\n }).isRequired,\n title: PropTypes.node.isRequired,\n children: PropTypes.node.isRequired,\n values: PropTypes.object.isRequired,\n};\n\nexport default DrawerAdapter;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Form, Heading } from '@plesk/ui-library';\nimport Overlay from './Overlay';\n\nconst OverlayAdapter = ({\n isOpen,\n onSubmit,\n onCancel,\n submitButton,\n cancelButton,\n title,\n children,\n values,\n}) => (\n <Overlay isOpen={isOpen} onCancel={onCancel}>\n <Form\n vertical\n onSubmit={onSubmit}\n onCancel={onCancel}\n applyButton={false}\n submitButton={submitButton}\n cancelButton={cancelButton}\n values={values}\n >\n <Heading level={1} className=\"cookie-policy-preferences__title\">\n {title}\n </Heading>\n {children}\n </Form>\n </Overlay>\n);\n\nOverlayAdapter.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n submitButton: PropTypes.shape({\n children: PropTypes.node.isRequired,\n }).isRequired,\n cancelButton: PropTypes.shape({\n children: PropTypes.node.isRequired,\n onClick: PropTypes.func.isRequired,\n }).isRequired,\n title: PropTypes.node.isRequired,\n children: PropTypes.node.isRequired,\n values: PropTypes.object.isRequired,\n};\n\nexport default OverlayAdapter;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useState, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Icon, disableDocumentScroll, enableDocumentScroll } from '@plesk/ui-library';\n\nconst hasScroll = () => document.documentElement.style.position !== 'fixed';\n\nconst disableScroll = () => {\n if (hasScroll()) {\n disableDocumentScroll();\n }\n};\n\nconst enableScroll = () => {\n if (!hasScroll()) {\n enableDocumentScroll();\n }\n};\n\nconst Overlay = ({ isOpen, children, onCancel }) => {\n const enterTimeoutRef = useRef(null);\n const exitTimeoutRef = useRef(null);\n const [isReady, setReady] = useState(isOpen);\n\n useEffect(() => {\n let listener;\n if (isOpen) {\n setReady(true);\n listener = e => {\n if (e.keyCode === 27) {\n onCancel();\n }\n };\n document.addEventListener('keydown', listener);\n enterTimeoutRef.current = setTimeout(() => {\n disableScroll();\n }, 500);\n } else {\n exitTimeoutRef.current = setTimeout(() => {\n setReady(false);\n enableScroll();\n }, 500);\n }\n return () => {\n clearTimeout(enterTimeoutRef.current);\n clearTimeout(exitTimeoutRef.current);\n enableScroll();\n document.removeEventListener('keydown', listener);\n };\n }, [isOpen, onCancel]);\n\n if (!isOpen && !isReady) {\n return null;\n }\n\n return createPortal(\n <div\n className={classNames('cookie-policy-overlay', {\n 'cookie-policy-overlay--enter': isOpen && isReady,\n 'cookie-policy-overlay--exit': !isOpen && isReady,\n })}\n data-testid=\"overlayContainer\"\n >\n <div className=\"cookie-policy-overlay__modal\">\n <a onClick={onCancel} className=\"cookie-policy-overlay__modal-close\">\n <Icon name=\"cross-mark\" />\n </a>\n <div className=\"cookie-policy-overlay__modal-content\">\n <div className=\"cookie-policy-overlay__modal-inner\">{children}</div>\n </div>\n </div>\n </div>,\n document.body,\n );\n};\n\nOverlay.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n onCancel: PropTypes.func.isRequired,\n};\n\nexport default Overlay;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CookiePolicy\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"gdpr\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cookieBox\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cookies\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"StringValue\",\"value\":\"analytics\",\"block\":false},{\"kind\":\"StringValue\",\"value\":\"marketing\",\"block\":false}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":241}};\n doc.loc.source = {\"body\":\"query CookiePolicy {\\n config {\\n gdpr {\\n cookieBox {\\n enabled\\n }\\n cookies(type: [\\\"analytics\\\", \\\"marketing\\\"]) {\\n name\\n type\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CookiePolicy\"] = oneQuery(doc, \"CookiePolicy\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useRef, useLayoutEffect } from 'react';\n\nimport PropTypes from 'prop-types';\nimport { render } from 'jsw';\n\nconst JswComponent = ({\n component: Tag = 'div',\n renderMode = undefined,\n children = undefined,\n ...props\n}) => {\n const containerRef = useRef();\n\n useLayoutEffect(() => {\n render(containerRef.current, children, renderMode);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Tag ref={containerRef} {...props} />\n );\n};\n\nJswComponent.propTypes = {\n component: PropTypes.string,\n renderMode: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object,\n ]),\n};\n\nexport default JswComponent;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n/* eslint-disable react/jsx-max-depth */\n\nimport classNames from 'classnames';\nimport { api, prepareUrl, createComponent, Locale } from 'jsw';\nimport JswComponent from '../../jsw/JswComponent';\nimport pageData, { usePageData } from 'helpers/pageData';\nimport LicenseLimitsMessage from './LicenseLimitsMessage';\n\nconst mapping = {\n 'msg-license-limits': LicenseLimitsMessage,\n};\n\nconst StatusMessages = () => {\n const { status = [] } = usePageData();\n\n const handleCloseMessage = message => {\n if (message.hideUrl) {\n api.post(prepareUrl(message.hideUrl));\n }\n pageData({\n ...pageData(),\n status: status.filter((_, key) => message.key !== key),\n });\n };\n\n const renderMessage = message => {\n const {\n componentType,\n status,\n content,\n title = Locale.getSection('components.status').lmsg(status),\n class: className,\n ...other\n } = message;\n\n if (componentType) {\n return (\n <JswComponent>\n {() => createComponent({\n componentType,\n title,\n type: status,\n message: content,\n attrs: {\n 'data-rendered-by-react': 'true',\n },\n ...other,\n })}\n </JswComponent>\n );\n }\n\n const Component = mapping[className];\n if (Component) {\n return (\n <Component\n {...message}\n data-rendered-by-react\n />);\n }\n\n const {\n key,\n id,\n source,\n hideUrl,\n } = message;\n\n return (\n <div\n key={key}\n id={id}\n className={classNames('msg-box', `msg-${status}`, className)}\n data-source={source}\n data-rendered-by-react\n >\n <div>\n <div>\n <div>\n <div>\n <div>\n <div className=\"msg-content\">\n {hideUrl ? <span className=\"close\" onClick={() => handleCloseMessage(message)} /> : null}\n {title ? (\n <span className=\"title\">\n {title}{': '}\n </span>\n ) : null}\n <span\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: content }}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n };\n\n return status.map((message, key) => renderMessage({ key, ...message }));\n};\n\nexport default StatusMessages;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Button, Alert } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport Link from 'components/common/Link';\nimport PropTypes from 'prop-types';\nimport './LicenseLimitsMessage.less';\n\nconst Translate = Locale.getTranslate('components.license-status');\n\nconst LicenseLimitsMessage = ({ buyUrl, canManageLicense }) => (\n <Alert intent=\"warning\" className=\"license-limits-message\">\n <Translate content={canManageLicense ? 'licenseLimitsMessage' : 'licenseLimitsMessageNoPermission'} />\n {canManageLicense && (\n <>\n <Button\n intent=\"primary\"\n component=\"a\"\n icon=\"shopping-cart\"\n href={buyUrl}\n target=\"_blank\"\n >\n <Translate content=\"buyLicenseButton\" />\n </Button>\n <Link\n to=\"/cp/license/primary/upload/\"\n >\n <Translate content=\"installLicenseButton\" />\n </Link>\n </>\n )}\n </Alert>\n);\n\nLicenseLimitsMessage.propTypes = {\n buyUrl: PropTypes.string.isRequired,\n canManageLicense: PropTypes.bool.isRequired,\n};\n\nexport default LicenseLimitsMessage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport React, { useCallback, MouseEvent } from 'react';\nimport { useNavigate, Link as RouterLink, LinkProps as RouterLinkProps, createPath } from 'react-router-dom';\n\nconst urlMapping: Record<string, string> = {\n '/plesk/admin-panel=server.tools/': '/admin/server/tools',\n};\n\nexport const useNavigateCallback = () => {\n const navigate = useNavigate();\n\n return useCallback((e: MouseEvent<HTMLAnchorElement>) => {\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\n return;\n }\n\n const url = (e.target as HTMLAnchorElement).closest('a')?.getAttribute('href');\n if (!url || !require('routes').isClientSideRedirectAllowed(url)) {\n return;\n }\n\n e.preventDefault();\n navigate(url);\n }, [navigate]);\n};\n\ntype LinkProps = RouterLinkProps &{\n href?: string;\n disabled?: boolean;\n onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;\n target?: string;\n rel?: string;\n};\n\nconst Link = ({\n to,\n href,\n disabled,\n onClick,\n ...props\n}: LinkProps) => {\n to = to ?? href;\n\n if (disabled) {\n to = '';\n onClick = undefined;\n }\n\n if (typeof to === 'string' && urlMapping[to]) {\n to = urlMapping[to];\n }\n\n if (typeof to === 'object' && to !== null) {\n to = createPath(to);\n }\n\n const handleClick = (event: MouseEvent<HTMLAnchorElement>) => {\n if (onClick) {\n onClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (!to) {\n event.preventDefault();\n return;\n }\n\n if (!require('routes').isClientSideRedirectAllowed(to)) {\n event.preventDefault();\n\n const features: string[] = [];\n if (typeof props.rel === 'string' && props.rel.length > 0) {\n features.push(...props.rel.split(' '));\n }\n\n window.open(to, props.target || '_self', features.join(','));\n }\n };\n\n return <RouterLink to={to} onClick={handleClick} {...props} />;\n};\n\nexport default Link;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport classNames from 'classnames';\nimport { Alert, Button, Popover, Item, Icon } from '@plesk/ui-library';\nimport { api, Locale } from 'jsw';\nimport Link from 'components/common/Link';\n\nconst Translate = Locale.getTranslate('components.license-status');\n\nexport const STATUS_DEFAULT = 'default';\nconst STATUS_TEST = 'test';\nconst STATUS_TRIAL = 'trial';\nexport const STATUS_EXPIRED = 'expired';\n\nconst LicenseStatus = ({\n status,\n daysLeft = 0,\n isAdmin = false,\n actionUrl = null,\n installUrl = null,\n hidePopoverUrl = null,\n trialOverIcon = null,\n baseClassName = 'license-status',\n}) => {\n const [trialOverPopoverVisible, setTrialOverPopoverVisible] = useState(daysLeft <= 5 && hidePopoverUrl);\n\n const handleClosePopover = () => {\n setTrialOverPopoverVisible(false);\n api.post(hidePopoverUrl);\n };\n\n const renderActions = () => {\n const alertCls = `${baseClassName}-alert`;\n\n return (actionUrl || installUrl) ? (\n <div className={`${alertCls}__actions`}>\n {actionUrl && (\n <Button\n intent=\"primary\"\n component=\"a\"\n icon=\"shopping-cart\"\n className={`${alertCls}__actions-button`}\n href={actionUrl}\n target=\"_blank\"\n >\n <Translate content={status === STATUS_DEFAULT ? 'getTrialButton' : 'buyLicenseButton'} />\n </Button>\n )}\n {installUrl && (\n <Link\n className={`${alertCls}__actions-link`}\n to={installUrl}\n >\n <Translate content=\"installLicenseButton\" />\n </Link>\n )}\n {status === 'demo' && (\n <Translate\n content=\"demoLicenseTryPlesk\"\n component=\"span\"\n className={`${alertCls}__additional-action`}\n params={{\n link: (\n <a\n href=\"https://docs.plesk.com/try-plesk-now/\"\n target=\"_blank\"\n rel=\"nofollow noopener noreferrer\"\n >\n <Translate content=\"demoLicenseTryPleskLink\" />\n </a>\n ),\n }}\n />\n )}\n </div>\n ) : null;\n };\n\n const renderTrialPopover = content => {\n const popoverCls = `${baseClassName}-popover`;\n\n return trialOverPopoverVisible ? (\n <Popover\n className={popoverCls}\n visible\n onClose={handleClosePopover}\n target={content}\n >\n <Item\n title={<h4><Translate content=\"trialOverTitle\" /></h4>}\n icon={<Icon size=\"48\" src={trialOverIcon} />}\n >\n <Translate content=\"trialOverText\" />\n </Item>\n </Popover>\n ) : content;\n };\n\n const alertCls = `${baseClassName}-alert`;\n\n let intent = null;\n if (status !== 'demo') {\n intent = daysLeft <= 0 ? 'danger' : (daysLeft <= 5 ? 'warning' : null);\n }\n\n const content = (\n <div\n className={classNames(baseClassName, { 'license-status--active': trialOverPopoverVisible })}\n data-type=\"license-status\"\n >\n <Alert\n data-type={`license-status-${status}`}\n className={alertCls}\n intent={intent}\n >\n <div className={`${alertCls}__inner`}>\n <div className={`${alertCls}__message`}>\n {STATUS_TRIAL === status ? (\n <div className={`${alertCls}__message-count`}>{daysLeft}</div>\n ) : null}\n <div className={`${alertCls}__message-text`}>\n <Translate content={isAdmin || status === 'demo' ? `${status}LicenseWarningAdmin` : 'testLicenseWarningClient'} />\n </div>\n </div>\n {renderActions()}\n </div>\n </Alert>\n </div>\n );\n\n return renderTrialPopover(content);\n};\n\nLicenseStatus.propTypes = {\n status: PropTypes.oneOf([STATUS_DEFAULT, STATUS_TEST, STATUS_TRIAL, STATUS_EXPIRED]).isRequired,\n daysLeft: PropTypes.number,\n isAdmin: PropTypes.bool,\n actionUrl: PropTypes.string,\n installUrl: PropTypes.string,\n hidePopoverUrl: PropTypes.string,\n trialOverIcon: PropTypes.string,\n baseClassName: PropTypes.string,\n};\n\nexport default LicenseStatus;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport MainHeaderSearch from './MainHeaderSearch';\nimport MainHeaderNavbar from './MainHeaderNavbar';\nimport DiscoMode from './DiscoMode';\n\nconst PageHeader = ({ searchUrl = null, ...props }) => (\n <div className=\"page-header\">\n {searchUrl ? (\n <MainHeaderSearch url={searchUrl} />\n ) : null}\n <MainHeaderNavbar {...props} />\n <DiscoMode />\n </div>\n);\n\nPageHeader.propTypes = {\n searchUrl: PropTypes.string,\n};\n\nexport default PageHeader;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useRef, useState, useCallback, useEffect, useMemo, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Input, Menu, MenuItem, MenuDivider, MenuHeader, Icon, Status, Hint, Button } from '@plesk/ui-library';\nimport { keyCode, Locale } from 'jsw';\nimport { toFormData } from 'helpers/form';\nimport { addToast } from 'helpers/toasts';\nimport { useQuery, useMutation, useApolloClient } from '@apollo/client';\nimport Link from 'components/common/Link';\n\nimport MAIN_HEADER_SEARCH_QUERY from 'queries/MainHeaderSearch.graphql';\nimport RECENT_SEARCH_HISTORY_QUERY from './RecentSearchHistoryQuery.graphql';\nimport DELETE_RECENT_SEARCH_RESULT_MUTATION from './DeleteRecentSearchResultMutation.graphql';\n\nconst Translate = Locale.getTranslate('components.search-bar');\n\nconst MENU_ITEM_CLASSNAME = 'main-header-search-result__item';\n\nexport const SEARCH_HISTORY_STORE_URL = '/cp/search/store';\n\nconst removeTouchEventListeners = ({ onDocumentTouchStart, onDocumentTouchMove, onDocumentTouchEnd }) => {\n document.removeEventListener('touchstart', onDocumentTouchStart);\n document.removeEventListener('touchmove', onDocumentTouchMove);\n document.removeEventListener('touchend', onDocumentTouchEnd);\n};\n\nconst MainHeaderSearch = ({ url }) => {\n const searchActionDelay = 300;\n const searchTermRef = useRef();\n const lastTermRef = useRef('');\n const menuRef = useRef();\n const timer = useRef(null);\n const resetTimeout = useRef(null);\n const enterPressed = useRef(false);\n const pendingRequest = useRef(null);\n const skipKeyUp = useRef(false);\n const touchMoved = useRef(false);\n const { data: { config, viewer } = {} } = useQuery(MAIN_HEADER_SEARCH_QUERY);\n const [history, setHistory] = useState();\n const [deleteRecentSearchResult] = useMutation(DELETE_RECENT_SEARCH_RESULT_MUTATION, {\n onCompleted: ({ deleteRecentSearchResult }) => setHistory(deleteRecentSearchResult.query.recentSearch),\n });\n\n const [isSearchFocused, setSearchFocused] = useState(false);\n const [searchInProgress, setSearchInProgress] = useState(false);\n const [results, setResults] = useState(null);\n const [selectedItem, setSelectedItem] = useState(null);\n\n const apolloClient = useApolloClient();\n const isAdmin = viewer?.type === 'ADMIN';\n\n const fatalError = message => {\n // eslint-disable-next-line no-alert\n alert(message);\n };\n\n const handlePaste = () => scheduleSearch();\n\n const handleKeyUp = event => {\n if (skipKeyUp.current) {\n return;\n }\n if (event.keyCode === keyCode.ESC) {\n searchTermRef.current.blur();\n return;\n }\n if ([keyCode.UP_ARROW, keyCode.DOWN_ARROW, keyCode.LEFT_ARROW, keyCode.RIGHT_ARROW, keyCode.ENTER].indexOf(event.keyCode) !== -1) {\n return;\n }\n\n scheduleSearch();\n };\n\n const handleKeyDown = event => {\n skipKeyUp.current = event.ctrlKey || event.metaKey;\n\n if ([keyCode.UP_ARROW, keyCode.DOWN_ARROW].indexOf(event.keyCode) !== -1) {\n onArrowKeyPressed(event.keyCode);\n event.preventDefault();\n }\n\n enterPressed.current = (keyCode.ENTER === event.keyCode);\n if (enterPressed.current) {\n if (\n (pendingRequest.current && pendingRequest.current._complete)\n || (history && selectedItem !== null)\n ) {\n goToItem();\n } else {\n scheduleSearch();\n }\n }\n };\n\n const goToItem = () => {\n if (!menuRef.current) {\n return;\n }\n const elements = menuRef.current.querySelectorAll(`.${MENU_ITEM_CLASSNAME}`);\n const element = elements[selectedItem || 0];\n if (element) {\n element.click();\n searchTermRef.current.blur();\n }\n };\n\n const handleFocus = () => {\n if (resetTimeout.current) {\n clearTimeout(resetTimeout.current);\n }\n\n resetSearch();\n setSearchFocused(true);\n\n apolloClient.query({\n query: RECENT_SEARCH_HISTORY_QUERY,\n }).then(({ data }) => {\n setHistory(data.recentSearch);\n }).catch(({ networkError, message }) => {\n if (!networkError) {\n addToast({ intent: 'danger', message });\n }\n });\n\n document.addEventListener('touchstart', onDocumentTouchStart);\n document.addEventListener('touchmove', onDocumentTouchMove);\n document.addEventListener('touchend', onDocumentTouchEnd);\n };\n\n\n const handleBlur = () => {\n if (resetTimeout.current) {\n clearTimeout(resetTimeout.current);\n }\n\n lastTermRef.current = '';\n\n resetTimeout.current = setTimeout(() => {\n resetSearch();\n setSearchFocused(false);\n }, 300);\n };\n\n const scheduleSearch = () => {\n setSearchInProgress(true);\n\n abortPreviousSearch();\n timer.current = setTimeout(findTerm, searchActionDelay);\n };\n\n const abortPreviousSearch = () => {\n if (pendingRequest.current) {\n const abort = pendingRequest.current.abort.bind(pendingRequest.current);\n // global state is cleared first due to onSearchComplete callback\n pendingRequest.current = null;\n abort();\n }\n\n if (timer.current) {\n clearTimeout(timer.current);\n timer.current = null;\n }\n };\n\n const onSearchSuccess = response => {\n if (lastTermRef.current !== response.request.options.parameters.term) {\n return;\n }\n\n let data;\n try {\n data = JSON.parse(response.responseText);\n } catch (e) {\n fatalError(`Failed to parse JSON response: ${e.message}`);\n return;\n }\n\n if ('error' === data.status) {\n const result = data.statusMessages.reduce((res, message) => `${res}${message.title}: ${message.content}\\n`, '');\n fatalError(result);\n return;\n }\n\n setResults(data);\n if (enterPressed.current) {\n goToItem();\n } else if (data.records.length > 0) {\n setSelectedItem(0);\n }\n };\n\n const onSearchFailure = response => {\n fatalError(`Search request failed due to following error: ${response.responseText}`);\n };\n\n const onSearchComplete = response => {\n if (!response || pendingRequest.current === response.request) {\n setSearchInProgress(false);\n }\n };\n\n const handleSaveRecentSearch = item => {\n const storeUrl = SEARCH_HISTORY_STORE_URL;\n const token = document.getElementById('forgery_protection_token').content;\n navigator.sendBeacon(storeUrl, toFormData({ ...item, forgery_protection_token: token }));\n flushRecentSearchCache();\n };\n\n const flushRecentSearchCache = () => {\n const { cache } = apolloClient;\n cache.evict({\n id: cache.identify({ __typename: 'Query' }),\n fieldName: 'recentSearch',\n });\n setHistory(null);\n };\n\n const renderSearchItems = (items, uatKey) => items.map(({ details, target, icon, link, title, label }, index) => {\n const iconUrl = (\n !icon ||\n icon.startsWith(Jsw.skinUrl) ||\n icon.startsWith('http://') ||\n icon.startsWith('https://') ||\n icon.startsWith('/modules/')\n ) ? icon : `${Jsw.skinUrl}${icon}`;\n\n return (\n <MenuItem\n data-action={uatKey}\n component={Link}\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n to={link}\n title={details}\n target={target}\n label={label}\n active={selectedItem === index}\n icon={iconUrl ? <Icon className=\"main-header-search-result__icon\" src={iconUrl} /> : null}\n className={MENU_ITEM_CLASSNAME}\n onClick={e => {\n e.stopPropagation();\n handleSaveRecentSearch({ details, target, icon, link, title });\n }}\n >\n {title}\n </MenuItem>\n );\n });\n\n const renderSearchResults = results => [\n results.records.length ? renderSearchItems(results.records, 'searchResultRegular') : (\n <div className=\"main-header-search-result__note main-header-search-result__note--empty\">\n <Translate content=\"nothingFound\" />\n </div>\n ),\n results.meta.moreResultsFound ? (\n <>\n <MenuDivider />\n <div className=\"main-header-search-result__note\">\n <Translate content=\"moreResultsFound\" params={{ limit: config?.search?.limit }} />\n </div>\n </>\n ) : null,\n ];\n\n const renderHistory = history => history?.length ? [\n <Fragment key=\"history\">\n <MenuHeader>\n <Translate content=\"recentSearch\" />\n </MenuHeader>\n </Fragment>,\n renderSearchItems(history.map(item => ({\n ...item,\n label: (\n <Button\n className=\"main-header-search-result__item-remove\"\n ghost\n icon=\"cross-mark\"\n tooltip={<Translate content=\"removeFromRecent\" />}\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n searchTermRef.current.focus();\n deleteRecentSearchResult({ variables: { input: { link: item.link } } });\n }}\n />\n ),\n })), 'searchResultRecent'),\n ] : (\n <div className=\"main-header-search-result__note\">\n <Status intent=\"info\">\n <Hint><Translate content=\"recentSearchHint\" /></Hint>\n </Status>\n </div>\n );\n\n const renderResults = () => {\n if (!isSearchFocused || (isSearchFocused && !((history) || results))) {\n return null;\n }\n\n return (\n <Menu\n id=\"searchResultsBlock\"\n className=\"main-header-search-result\"\n ref={menuRef}\n >\n {results ? renderSearchResults(results) : null}\n {results?.records.length === 0 ? (\n <MenuDivider />\n ) : null}\n {(!results || results?.records.length === 0) ? renderHistory(history) : null}\n </Menu>\n );\n };\n\n const resetSearch = ({ resetValue = true } = {}) => {\n if (resetValue) {\n searchTermRef.current.value = '';\n }\n\n setSelectedItem(null);\n setResults(null);\n\n abortPreviousSearch();\n onSearchComplete();\n };\n\n const onArrowKeyPressed = key => {\n const records = results && results.records.length ? results.records : history;\n if (!records?.length) {\n return;\n }\n\n if (selectedItem === null) {\n setSelectedItem(0);\n return;\n }\n\n if (keyCode.DOWN_ARROW === key && selectedItem < records.length - 1) {\n setSelectedItem(selectedItem + 1);\n }\n\n if (keyCode.UP_ARROW === key && selectedItem > 0) {\n setSelectedItem(selectedItem - 1);\n }\n };\n\n const findTerm = () => {\n const term = searchTermRef.current.value.trim();\n\n if (lastTermRef.current === term || term.length < 3) {\n onSearchComplete();\n return;\n }\n lastTermRef.current = term;\n\n pendingRequest.current = new Ajax.Request(\n url,\n {\n method: 'get',\n parameters: { term: searchTermRef.current.value.trim() },\n onSuccess: onSearchSuccess,\n onFailure: onSearchFailure,\n onComplete: onSearchComplete,\n },\n );\n };\n\n const onDocumentTouchStart = useCallback(() => {\n touchMoved.current = false;\n }, [touchMoved]);\n const onDocumentTouchMove = useCallback(() => {\n touchMoved.current = true;\n }, [touchMoved]);\n const onDocumentTouchEnd = useCallback(() => {\n if (touchMoved.current) {\n return;\n }\n\n searchTermRef.current.blur();\n\n removeTouchEventListeners({ onDocumentTouchStart, onDocumentTouchMove, onDocumentTouchEnd });\n }, [touchMoved, searchTermRef, onDocumentTouchStart, onDocumentTouchMove]);\n\n const searchPlaceholder = useMemo(() => {\n if (isSearchFocused) {\n if (isAdmin) {\n return Locale.getSection('components.search-bar').lmsg('fieldStubHint');\n }\n return null;\n }\n return Locale.getSection('components.search-bar').lmsg('fieldStub');\n }, [isAdmin, isSearchFocused]);\n\n useEffect(() => () => {\n if (resetTimeout.current) {\n clearTimeout(resetTimeout.current);\n }\n\n removeTouchEventListeners({ onDocumentTouchStart, onDocumentTouchMove, onDocumentTouchEnd });\n }, [onDocumentTouchEnd, onDocumentTouchMove, onDocumentTouchStart]);\n\n return (\n <div\n className=\"main-header-search\"\n onTouchEnd={e => e.stopPropagation()}\n >\n <div className={classNames('main-header-search__group', isSearchFocused && 'search-focused')}>\n <Input\n innerRef={searchTermRef}\n id=\"searchTerm\"\n type=\"text\"\n className=\"main-header-search__control\"\n autoComplete=\"off\"\n placeholder={searchPlaceholder}\n onPaste={handlePaste}\n onKeyUp={handleKeyUp}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n prefix={searchInProgress ? (\n <span className=\"main-header-search__loader\" />\n ) : <Icon name=\"search\" />}\n suffix={(\n <Icon\n name=\"cross-mark\"\n onClick={e => e.stopPropagation()}\n />\n )}\n size=\"fill\"\n />\n {renderResults()}\n </div>\n </div>\n );\n};\n\n\nMainHeaderSearch.propTypes = {\n url: PropTypes.string.isRequired,\n};\n\nexport default MainHeaderSearch;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const toFormData = (values: Record<string, unknown> | FormData): FormData => {\n if (values instanceof FormData) {\n return values;\n }\n\n const consume = (object: object, namespace?: string) => {\n Object.entries(object).forEach(([k, value]) => {\n const name = namespace ? `${namespace}[${k}]` : k;\n switch (true) {\n case value && typeof value === 'object':\n consume(value, name);\n break;\n\n case value == null:\n data.append(name, '');\n break;\n\n default:\n data.append(name, value);\n break;\n }\n });\n };\n\n const data = new FormData();\n consume(values);\n return data;\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MainHeaderSearch\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":137}};\n doc.loc.source = {\"body\":\"query MainHeaderSearch {\\n viewer {\\n login\\n type\\n }\\n config {\\n search {\\n limit\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MainHeaderSearch\"] = oneQuery(doc, \"MainHeaderSearch\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"RecentSearchQuery\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"recentSearch\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"details\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":124}};\n doc.loc.source = {\"body\":\"query RecentSearchQuery {\\n recentSearch {\\n title\\n link\\n details\\n icon\\n target\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"RecentSearchQuery\"] = oneQuery(doc, \"RecentSearchQuery\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteRecentSearchResult\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteRecentSearchResultInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteRecentSearchResult\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"query\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"recentSearch\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"details\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":308}};\n doc.loc.source = {\"body\":\"mutation DeleteRecentSearchResult($input: DeleteRecentSearchResultInput!) {\\n deleteRecentSearchResult(input: $input) {\\n query {\\n recentSearch {\\n title\\n link\\n details\\n icon\\n target\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DeleteRecentSearchResult\"] = oneQuery(doc, \"DeleteRecentSearchResult\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Tooltip, Locale, Cookie } from 'jsw';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { Dropdown, Menu, MenuItem, Button, Icon, isRtl, Text } from '@plesk/ui-library';\nimport { useQuery } from '@apollo/client';\nimport { useMediaQuery } from 'common/hooks';\nimport SubscriptionSwitcher from './SubscriptionSwitcher';\nimport NotificationCenter from './NotificationCenter';\nimport HelpMenu from './HelpMenu';\n\nimport ACCOUNT_MENU_QUERY from 'queries/AccountMenu.graphql';\nimport MAIN_HEADER_NAVBAR_QUERY from 'queries/MainHeaderNavbar.graphql';\n\nconst Translate = Locale.getTranslate('components.shortcuts');\n// eslint-disable-next-line max-len\nconst IconSun = <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\"><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M7 .5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm0 13a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm-7-6c0 .28.22.5.5.5h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 0-.5.5Zm13.5.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1ZM2.2 2.2a.5.5 0 0 0 0 .7l.7.71a.5.5 0 0 0 .71-.7l-.7-.71a.5.5 0 0 0-.71 0Zm9.19 9.9a.5.5 0 1 1 .7-.71l.71.7a.5.5 0 0 1-.7.71l-.71-.7Zm-9.2.7c.2.2.52.2.71 0l.71-.7a.5.5 0 1 0-.7-.71l-.71.7a.5.5 0 0 0 0 .71Zm9.9-9.19a.5.5 0 0 1-.7-.7l.7-.71a.5.5 0 1 1 .71.7l-.7.71ZM12 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-1 0a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z\" clipRule=\"evenodd\" /></svg>;\n// eslint-disable-next-line max-len\nconst IconMoon = <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\"><mask id=\"a\" fill=\"#fff\"><path fillRule=\"evenodd\" d=\"M5 13A7 7 0 0 0 8.78.1a7.5 7.5 0 1 1-7.2 12.01C2.6 12.68 3.77 13 5 13Z\" clipRule=\"evenodd\" /></mask><path fill=\"currentColor\" d=\"m8.78.1.17-.98-.7 1.83.53-.84Zm-7.2 12.01.5-.87L.8 12.73l.79-.62ZM11 6a6 6 0 0 1-6 6v2a8 8 0 0 0 8-8h-2ZM8.24.95A6 6 0 0 1 11 6h2A8 8 0 0 0 9.32-.73L8.24.95Zm.37.14A6.5 6.5 0 0 1 14 7.5h2A8.5 8.5 0 0 0 8.95-.88L8.61 1.1ZM14 7.5A6.5 6.5 0 0 1 7.5 14v2c4.7 0 8.5-3.8 8.5-8.5h-2ZM7.5 14a6.49 6.49 0 0 1-5.13-2.5L.8 12.73A8.49 8.49 0 0 0 7.5 16v-2ZM5 12a5.97 5.97 0 0 1-2.93-.76l-.97 1.74A7.97 7.97 0 0 0 5 14v-2Z\" mask=\"url(#a)\" /></svg>;\n\nconst AccountMenu = ({ items }) => {\n const isHideText = useMediaQuery('(max-width: 767px)');\n const { data: { viewer: user } = {} } = useQuery(ACCOUNT_MENU_QUERY);\n\n if (!user) {\n return null;\n }\n\n return (\n <Dropdown\n menu={(\n <Menu>\n {items.map(({ title, href, icon, dataType }) => (\n <MenuItem\n key={href}\n component=\"a\"\n icon={icon}\n href={href}\n data-type={dataType}\n >\n {title}\n </MenuItem>\n ))}\n </Menu>\n )}\n menuPlacement=\"bottom-end\"\n >\n <Button id=\"account-menu\" icon=\"user\" tooltip={<Translate content=\"loggedInAs\" />} ghost caret={!isHideText}>\n {isHideText ? null : <Text truncate>{user.pname || user.login}</Text>}\n </Button>\n </Dropdown>\n );\n};\n\nAccountMenu.propTypes = {\n items: PropTypes.array.isRequired,\n};\n\nconst renderTooltips = () => {\n document.querySelectorAll('.main-header-navbar-nav__item').forEach(item => {\n if (item.dataset.description) {\n Tooltip.init(item, {\n text: item.dataset.description,\n });\n }\n });\n};\n\nconst MainHeaderNavbar = ({\n backToAdminLink = undefined,\n returnUrl = undefined,\n accountMenu = undefined,\n subscriptionSwitcher = undefined,\n headerCustomButtons,\n helpMenu = undefined,\n}) => {\n const isHideBackToAdminText = useMediaQuery('(max-width: 1310px)');\n const isHideLogo = useMediaQuery('(max-width: 1140px)');\n const { data: { viewer: user, config } = {} } = useQuery(MAIN_HEADER_NAVBAR_QUERY);\n const [theme, setTheme] = useState(() => Cookie.get('theme') ?? config?.branding?.theme);\n\n const handleToggleTheme = () => {\n const newTheme = theme === 'dark' ? 'default' : 'dark';\n document.documentElement.setAttribute('data-theme', newTheme);\n const newThemeColor = document.querySelector(`meta[name=\"theme-color-${newTheme}\"]`).getAttribute('content');\n document.querySelector('meta[name=\"theme-color\"]').setAttribute('content', newThemeColor);\n Cookie.setPermanent('theme', newTheme, '/');\n setTheme(newTheme);\n };\n\n useEffect(() => {\n renderTooltips();\n }, []);\n\n return (\n <div className=\"main-header-navbar\">\n <ul className=\"main-header-navbar-nav\">\n {backToAdminLink ? (\n <li className=\"top-back\">\n <Button\n component=\"a\"\n icon={<Icon name=\"chevron-left\" flipHorizontal={isRtl()} />}\n href={backToAdminLink}\n ghost\n >\n {isHideBackToAdminText ? null : <Translate content=\"backToAdmin\" />}\n </Button>\n </li>\n ) : null}\n {accountMenu ? (\n <li className=\"top-user\">\n <AccountMenu {...accountMenu} />\n </li>\n ) : null}\n {accountMenu && subscriptionSwitcher ? (\n <li className=\"top-webspace\">\n <SubscriptionSwitcher\n returnUrl={returnUrl}\n {...subscriptionSwitcher}\n />\n </li>\n ) : null}\n {user?.type === 'ADMIN' && config?.notification?.panel?.enabled ? (\n <li className=\"top-notification-center\">\n <NotificationCenter />\n </li>\n ) : null}\n {headerCustomButtons.map(({ id, link, target, icon, title, description }) => (\n <li\n key={id}\n id={`extNavHeader-${id}`}\n className={classNames('main-header-navbar-nav__item', `main-header-navbar-nav__item--${id}`)}\n data-description={description}\n >\n <Button\n component=\"a\"\n href={link}\n target={target}\n rel={target ? 'noopener noreferrer' : null}\n icon={<Icon src={id === 'advisor-1' ? require('icons/16/plesk/top-advisor.svg') : icon} alt={title} />}\n ghost\n />\n </li>\n ))}\n {helpMenu ? (\n <li className=\"top-help\">\n <HelpMenu {...helpMenu} />\n </li>\n ) : null}\n <li className=\"top-theme-switcher\">\n <Button\n className=\"theme-switcher\"\n ghost\n icon={theme === 'dark' ? <Icon>{IconSun}</Icon> : <Icon>{IconMoon}</Icon>}\n onClick={handleToggleTheme}\n tooltip={theme === 'dark' ? <Translate content=\"darkThemeOff\" /> : <Translate content=\"darkThemeOn\" />}\n data-type={theme === 'dark' ? 'dark-mode-on' : 'dark-mode-off'}\n />\n </li>\n {user.logo.isCustom && !isHideLogo ? (\n <li className=\"top-logo\">\n <a href=\"http://www.plesk.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n <img src={require('images/logos/powered-logo.png')} alt=\"\" />\n </a>\n </li>\n ) : null}\n </ul>\n </div>\n );\n};\n\nMainHeaderNavbar.propTypes = {\n backToAdminLink: PropTypes.string,\n returnUrl: PropTypes.string,\n accountMenu: PropTypes.shape(AccountMenu.propTypes),\n subscriptionSwitcher: PropTypes.shape(SubscriptionSwitcher.propTypes),\n headerCustomButtons: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n link: PropTypes.string,\n target: PropTypes.string,\n icon: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n })).isRequired,\n helpMenu: PropTypes.shape(HelpMenu.propTypes),\n};\n\nexport default MainHeaderNavbar;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useLocation } from 'react-router-dom';\nimport { Dropdown, Menu, MenuItem, Button, Text } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport { useMediaQuery } from 'common/hooks';\nimport Link from 'components/common/Link';\n\nconst Translate = Locale.getTranslate('components.subscription-switcher');\n\nconst changeIdRe = new RegExp(`(${[\n encodeURIComponent('/domain@'),\n '/domain@',\n '/domainId/',\n '/domains/',\n '/web/[a-z\\-]+/id/(?:d:)?',\n '/ssl-certificate/list/id/',\n '/log-file/browser/id/',\n '/dns-zone/records-list/id/',\n '/mail-settings/edit/id/',\n '/failed-request/list/id/',\n '/asp-dot-net/settings/id/',\n '/iis-app-pool/settings/id/',\n].join('|')})(\\\\d+)`);\n\nconst SubscriptionSwitcher = ({\n subscriptions,\n limit = 100,\n returnUrl = undefined,\n currentSubscriptionId: defaultCurrentSubscriptionId = undefined,\n showAll: defaultShowAll = false,\n}) => {\n const location = useLocation();\n const isHideText = useMediaQuery('(max-width: 767px)');\n const [showAll, setShowAll] = useState(defaultShowAll);\n const [currentSubscriptionId, setCurrentSubscriptionId] = useState(defaultCurrentSubscriptionId);\n\n useEffect(() => {\n setShowAll(defaultShowAll);\n setCurrentSubscriptionId(defaultCurrentSubscriptionId);\n }, [defaultShowAll, defaultCurrentSubscriptionId]);\n\n const title = showAll\n ? <Translate content=\"allSubscriptions\" />\n : subscriptions.find(({ id }) => id === currentSubscriptionId)?.name;\n\n const button = (\n <Button\n data-type=\"subscription-switcher\"\n data-state={showAll ? 'all-subscriptions' : 'single-subscription'}\n icon=\"globe\"\n tooltip={<Translate content=\"subscription\" />}\n caret={subscriptions.length > 1 && !isHideText}\n tabIndex={subscriptions.length > 1 ? null : -1}\n style={subscriptions.length > 1 ? null : { pointerEvents: 'none' }}\n ghost\n >\n {isHideText ? null : <Text truncate>{title}</Text>}\n </Button>\n );\n\n if (subscriptions.length === 1) {\n return button;\n }\n\n return (\n <Dropdown\n data-type=\"subscription-switcher-dropdown\"\n menu={(\n <Menu\n data-type=\"subscription-switcher-menu\"\n className=\"page-header-subscription-switcher-menu\"\n >\n {subscriptions.length > 1 ? (\n <MenuItem\n component={Link}\n to={subscriptions.length > limit ? null : '/smb/account/switch/all/true'}\n onClick={subscriptions.length > limit ? null : () => {\n setShowAll(true);\n }}\n disabled={subscriptions.length > limit}\n tooltip={subscriptions.length > limit ? (\n <Translate\n content=\"allSubscriptionsLimitOverusedDescription\"\n params={{\n value: subscriptions.length,\n limit,\n }}\n />\n ) : null}\n >\n <Translate content=\"allSubscriptions\" />\n </MenuItem>\n ) : null}\n {subscriptions.map(({ id, name }) => (\n <MenuItem\n key={id}\n component={Link}\n to={`/smb/account/switch/all/false/id/${id}?returnUrl=${encodeURIComponent((returnUrl || location.pathname).replace(changeIdRe, `$1${id}`))}`}\n onClick={() => {\n setShowAll(false);\n setCurrentSubscriptionId(id);\n }}\n >\n {name}\n </MenuItem>\n ))}\n </Menu>\n )}\n menuPlacement=\"bottom-end\"\n >\n {button}\n </Dropdown>\n );\n};\n\nSubscriptionSwitcher.propTypes = {\n subscriptions: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n })).isRequired,\n limit: PropTypes.number,\n showAll: PropTypes.bool,\n currentSubscriptionId: PropTypes.number,\n returnUrl: PropTypes.string,\n};\n\nexport default SubscriptionSwitcher;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useEffect, useRef } from 'react';\nimport { pleskWS, UAT, Locale } from 'jsw';\nimport { Badge, Button, Popover, Heading, Columns, Column, Label, Action, Link, Icon } from '@plesk/ui-library';\nimport { useQuery } from '@apollo/client';\nimport { useModal } from 'hooks';\nimport applyFilter from './lib/applyFilter';\nimport { deleteNotifications, listNotifications, updateNotifications } from './lib/api';\nimport NotificationCenterView from './NotificationCenterView';\nimport NotificationCenterList from './NotificationCenterList';\nimport { NOTIFICATION_CATEGORIES } from './lib/PropTypes';\nimport getIntentByNotification from './lib/getIntentByNotification';\nimport getMostIntentByNotifications from './lib/getMostIntentByNotifications';\nimport NotificationToast from './NotificationToast';\nimport { isNotificationCritical, isAllowedFeedbackOrPromotionNotification } from './lib/utils';\nimport NotificationActions from './NotificationActions';\nimport NotificationDate from './NotificationDate';\nimport { addToast, removeToast } from 'helpers/toasts';\nimport { useNavigate } from 'react-router-dom';\n\nimport NOTIFICATION_CENTER_QUERY from 'queries/NotificationCenter.graphql';\nimport groupNotifications from './lib/groupNotifications';\nimport { getSubjectIntent } from './lib/notificationIntent';\nimport UnreadCounter from './UnreadCounter';\n\nconst MAX_SHOW = 3;\nconst RELOAD_TIMEOUT = 30000;\n\nconst Translate = Locale.getTranslate('components.notification-center');\n\nconst getNotificationIcon = notification => {\n if (notification.contextIconUrl) {\n return <Icon src={notification.contextIconUrl} size=\"64\" />;\n }\n const unreadCount = (notification.notifications?.filter(({ isRead }) => !isRead).length ?? 0) + (notification.isRead ? 0 : 1);\n if (unreadCount) {\n return <UnreadCounter intent={getSubjectIntent(notification)} unreadCount={unreadCount} />;\n }\n return undefined;\n};\n\nconst NotificationCenter = () => {\n const [isListOpen, setIsListOpen] = useModal('notification-center-list');\n const [selectedNotificationId, setSelectedNotificationId] = useModal('notification-center-view');\n const [notifications, setNotifications] = useState([]);\n const [filter, setFilter] = useState({});\n const {\n data: {\n config,\n viewer: {\n type: viewerType,\n permissions: { manageServerNotifications },\n },\n },\n } = useQuery(NOTIFICATION_CENTER_QUERY);\n const toastsRef = useRef([]);\n const navigate = useNavigate();\n\n let ws;\n let reloadTimeout;\n\n useEffect(() => {\n initFilter();\n if (config.webSocket.enabled) {\n initWebSocket();\n } else {\n loadNotifications();\n }\n\n return () => {\n if (reloadTimeout) {\n clearTimeout(reloadTimeout);\n }\n if (ws) {\n ws.close();\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const initFilter = () => {\n const filter = JSON.parse(window.localStorage.getItem('notification-center-filter')) || {};\n setFilter(filter);\n };\n\n const handleNewNotificationRef = useRef();\n useEffect(() => {\n handleNewNotificationRef.current = newNotification => {\n setNotifications([newNotification, ...notifications]);\n };\n }, [notifications]);\n\n useEffect(() => {\n const groupedNotifications = groupNotifications(notifications, false, false);\n\n const allToasts = groupedNotifications\n .filter(notification => !notification.isViewed && (\n isNotificationCritical(notification) || isAllowedFeedbackOrPromotionNotification(notification)),\n )\n .map(notification => {\n const key = `notification-${notification.id}`;\n\n return {\n 'data-type': 'notification-toast',\n key,\n intent: getIntentByNotification(notification),\n accent: isAllowedFeedbackOrPromotionNotification(notification),\n icon: getNotificationIcon(notification),\n className: 'notification-center-toast',\n message: (\n <NotificationToast\n notification={notification}\n onSelectNotification={() => {\n if (isListOpen === null) {\n handleOpenNotificationCenter();\n }\n handleSelectNotification({\n notification,\n uatAdditionalData: {\n parents: ['notification-toast', 'toaster'],\n },\n });\n removeToast({ key });\n }}\n />\n ),\n autoClosable: notification.category !== NOTIFICATION_CATEGORIES.ALERT && !isAllowedFeedbackOrPromotionNotification(notification),\n onClose: () => {\n UAT.dispatchAction('NOTIFICATION_TOAST_HIDE', {\n type: notification.code,\n messageKey: notification.messageKey,\n });\n handleUpdateNotifications([notification.id], { isViewed: true });\n },\n };\n });\n\n const toasts = allToasts.length <= MAX_SHOW\n ? allToasts\n : [\n ...allToasts.slice(0, MAX_SHOW),\n {\n key: 'notification-all',\n message: (\n <div className=\"notification-center-toast__content\">\n <Icon className=\"notification-center-toast__content-icon\" name=\"list\" />\n <Link\n onClick={() => {\n handleOpenNotificationCenter();\n UAT.dispatchAction('NOTIFICATION_GROUP_TOAST_SHOW_ALL');\n }}\n >\n <Translate\n content=\"moreToasts\"\n params={{\n total: allToasts.length - 3,\n }}\n />\n </Link>\n </div>\n ),\n autoClosable: false,\n onClose: () => {\n UAT.dispatchAction('NOTIFICATION_GROUP_TOAST_HIDE');\n handleMarkAllAsViewed();\n },\n },\n ];\n\n if (JSON.stringify(toastsRef.current) !== JSON.stringify(toasts)) {\n toastsRef.current.forEach(removeToast);\n toasts.forEach(addToast);\n toastsRef.current = toasts;\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [notifications]);\n\n const initWebSocket = () => {\n ws = pleskWS.bind({\n actions: {\n panel_notification_created: newNotification => {\n handleNewNotificationRef.current(newNotification);\n },\n },\n onOpen: () => loadNotifications(),\n });\n };\n\n const loadNotifications = (id = 0) => {\n if (reloadTimeout) {\n clearTimeout(reloadTimeout);\n }\n listNotifications(id)\n .then(newNotifications => {\n setNotifications([...newNotifications, ...notifications]);\n })\n .then(() => {\n if (config.webSocket.enabled && ws.isReady()) {\n return;\n }\n reloadTimeout = window.setTimeout(\n () => loadNotifications(notifications.length ? notifications[0].id : 0),\n RELOAD_TIMEOUT,\n );\n })\n .catch(() => {\n reloadTimeout = window.setTimeout(\n () => loadNotifications(notifications.length ? notifications[0].id : 0),\n RELOAD_TIMEOUT,\n );\n });\n };\n\n const handleOpenSettings = () => {\n handleCloseNotificationCenter();\n navigate('/cp/notifications/panel-settings?context=tools');\n };\n\n const handleUpdateFilter = newFilter => {\n window.localStorage.setItem('notification-center-filter', JSON.stringify(newFilter));\n setFilter({ ...filter, ...newFilter });\n };\n\n const handleUpdateNotifications = (ids, change) => {\n setNotifications(notifications.map(notification => {\n if (ids.indexOf(notification.id) < 0) {\n return notification;\n }\n return {\n ...notification,\n ...change,\n };\n }));\n\n updateNotifications(ids, change);\n };\n\n const handleSelectNotification = ({ notification, uatAdditionalData }) => {\n UAT.dispatchAction('NOTIFICATION_DETAILS', {\n type: notification.code,\n messageKey: notification.messageKey,\n ...uatAdditionalData,\n });\n handleUpdateNotifications([notification.id], { isRead: true, isViewed: true });\n setSelectedNotificationId(notification.id);\n };\n\n const handleMarkAllAsRead = () => {\n const ids = notifications.filter(notification => !notification.isRead).map(notification => notification.id);\n handleUpdateNotifications(ids, { isRead: true });\n };\n\n const handleMarkAllAsViewed = () => {\n const ids = notifications.filter(notification => !notification.isViewed).map(notification => notification.id);\n handleUpdateNotifications(ids, { isViewed: true });\n };\n\n const handleRemoveNotification = ids => {\n setNotifications(prevNotifications => prevNotifications.filter(notification => !ids.includes(notification.id)));\n if (ids.includes(selectedNotificationId)) {\n setSelectedNotificationId(null);\n }\n\n deleteNotifications(ids);\n };\n\n const handleOpenNotificationCenter = () => {\n handleMarkAllAsViewed();\n setIsListOpen(true);\n };\n\n const handleCloseNotificationCenter = () => {\n setSelectedNotificationId(null);\n setIsListOpen(null);\n };\n\n const handleCloseNotificationView = () => {\n setSelectedNotificationId(null);\n };\n\n const unreadNotifications = applyFilter(notifications, { isUnRead: true });\n const selectedNotification = notifications.find(({ id }) => id === Number(selectedNotificationId));\n\n const button = (\n <Badge\n label={String(unreadNotifications.length)}\n intent={getMostIntentByNotifications(unreadNotifications)}\n hidden={unreadNotifications.length === 0}\n >\n <Button\n icon=\"bell\"\n onClick={isListOpen === null ? handleOpenNotificationCenter : handleCloseNotificationCenter}\n ghost\n />\n </Badge>\n );\n\n return (\n <Popover\n target={button}\n placement=\"bottom\"\n visible={isListOpen !== null}\n onClose={handleCloseNotificationCenter}\n width=\"sm\"\n height={605}\n extra={selectedNotification ? (\n <NotificationActions\n notification={selectedNotification}\n onUpdateNotifications={handleUpdateNotifications}\n onRemoveNotification={handleRemoveNotification}\n />\n ) : (viewerType === 'ADMIN' && manageServerNotifications ? (\n <Action icon=\"gear\" onClick={handleOpenSettings}>\n <Translate content=\"settings\" />\n </Action>)\n : null\n )}\n title={selectedNotification ? (\n <div className=\"notification-center-heading\">\n <div className=\"notification-center-heading__top\">\n <Button\n icon=\"arrow-left\"\n onClick={handleCloseNotificationView}\n data-action=\"NOTIFICATION_TO_LIST\"\n data-type={selectedNotification.code}\n ghost\n className=\"notification-center-heading__back-button\"\n />\n {' '}\n <Heading level={3}>{selectedNotification.subject}</Heading>\n </div>\n <Columns gap=\"md\" className=\"notification-center-heading__bottom\" vertical={false}>\n <Column>\n {isNotificationCritical(selectedNotification) ? (\n <Label intent={getIntentByNotification(selectedNotification)} className=\"notification-center-heading__label\">\n <Translate content={`category${selectedNotification.category}`} />\n </Label>\n ) : null}\n {selectedNotification.context}\n </Column>\n <Column>\n <NotificationDate notification={selectedNotification} />\n </Column>\n </Columns>\n </div>\n ) : (\n <Heading level={3}>\n <Translate content=\"title\" />\n </Heading>\n )}\n data-type={selectedNotification ? 'notification-center-view' : 'notification-center-list'}\n data-id={selectedNotification ? selectedNotification.id : null}\n >\n {selectedNotification ? (\n <NotificationCenterView\n notification={selectedNotification}\n />\n ) : (\n <NotificationCenterList\n notifications={notifications}\n filter={filter}\n onUpdateNotifications={handleUpdateNotifications}\n onUpdateFilter={handleUpdateFilter}\n onSelectNotification={({ notification }) => {\n handleSelectNotification({\n notification,\n uatAdditionalData: { parents: ['notification-center-list'] },\n });\n }}\n onRemoveNotification={handleRemoveNotification}\n onMarkAllAsRead={handleMarkAllAsRead}\n />\n )}\n </Popover>\n );\n};\n\nexport default NotificationCenter;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { isNotificationCritical } from './utils';\n\nexport default (notifications, filter) => notifications.filter(notification => (\n (!filter.isUnRead || !notification.isRead) &&\n (!filter.isFavorite || notification.isFavorite) &&\n (!filter.isCritical || isNotificationCritical(notification)) &&\n (\n !filter.search ||\n (notification.subject && notification.subject.toLowerCase().indexOf(filter.search.toLowerCase()) >= 0) ||\n (notification.context && notification.context.toLowerCase().indexOf(filter.search.toLowerCase()) >= 0)\n )\n));\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { NOTIFICATION_CATEGORIES } from './PropTypes';\n\nexport const isNotificationCritical = notification => [NOTIFICATION_CATEGORIES.ALERT, NOTIFICATION_CATEGORIES.WARNING].includes(notification.category);\n\nexport const isAllowedFeedbackOrPromotionNotification = notification => (\n notification.isPromotion\n && [NOTIFICATION_CATEGORIES.PROMOTION, NOTIFICATION_CATEGORIES.FEEDBACK].includes(notification.category)\n);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\n\nexport const CtaPropType = PropTypes.shape({\n text: PropTypes.string.isRequired,\n link: PropTypes.string.isRequired,\n});\n\nexport const NOTIFICATION_INTENTS = {\n DANGER: 'danger',\n WARNING: 'warning',\n INFO: 'info',\n INACTIVE: 'inactive',\n};\n\nexport const NOTIFICATION_CATEGORIES = {\n INFORMATION: 'Information',\n WARNING: 'Warning',\n ALERT: 'Alert',\n PROMOTION: 'Promotion',\n FEEDBACK: 'Feedback',\n};\n\nexport const NotificationPropType = PropTypes.shape({\n id: PropTypes.number.isRequired,\n isRead: PropTypes.bool.isRequired,\n isViewed: PropTypes.bool.isRequired,\n isFavorite: PropTypes.bool.isRequired,\n category: PropTypes.oneOf(Object.values(NOTIFICATION_CATEGORIES)).isRequired,\n context: PropTypes.string.isRequired,\n contextIconUrl: PropTypes.string,\n area: PropTypes.string.isRequired,\n createdAt: PropTypes.number.isRequired,\n displayDate: PropTypes.string.isRequired,\n subject: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n actionLink: PropTypes.string,\n actionText: PropTypes.string,\n openInNewTab: PropTypes.bool,\n isPromotion: PropTypes.bool,\n});\n\nexport const NotificationFilterPropType = PropTypes.shape({\n search: PropTypes.string,\n isUnRead: PropTypes.bool,\n isCritical: PropTypes.bool,\n isFavorite: PropTypes.bool,\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { api } from 'jsw';\n\nexport const listNotifications = id => api.get('/admin/notifications/list', { 'filter[older]': id });\n\nexport const updateNotifications = (ids, change) => api.post('/admin/notifications/update', { ids, ...change });\n\nexport const deleteNotifications = ids => api.post('/admin/notifications/delete', { ids });\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Button } from '@plesk/ui-library';\nimport { NotificationPropType } from './lib/PropTypes';\nimport { UAT } from 'jsw';\n\nconst handleClickButton = (code, messageKey) => {\n UAT.dispatchAction('NOTIFICATION_CTA', {\n type: code,\n messageKey,\n });\n};\n\nconst NotificationCenterView = ({\n notification: { code, message, actionLink, actionText, openInNewTab, messageKey },\n}) => (\n <>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: message }}\n />\n {actionLink ? (\n <div className=\"notification-center-view__actions\">\n <Button\n data-type={code}\n component=\"a\"\n intent=\"primary\"\n size=\"lg\"\n href={actionLink}\n target={openInNewTab ? '_blank' : null}\n rel={openInNewTab ? 'noopener noreferrer' : null}\n onClick={() => handleClickButton(code, messageKey)}\n >\n {actionText}\n </Button>\n </div>\n ) : null}\n </>\n);\n\nNotificationCenterView.propTypes = {\n notification: NotificationPropType.isRequired,\n};\n\nexport default NotificationCenterView;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport {\n Button,\n List,\n ListEmptyView,\n SearchBar,\n Toolbar,\n ToolbarExpander,\n ToolbarGroup,\n} from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport applyFilter from '../lib/applyFilter';\nimport { NotificationFilterPropType, NotificationPropType } from '../lib/PropTypes';\nimport SubjectColumn from './SubjectColumn';\n\nimport groupNotifications from '../lib/groupNotifications';\nimport DateColumn from './DateColumn';\nimport NotificationActions from '../NotificationActions';\nimport FilterMenu from './FilterMenu';\n\nimport './NotificationCenterList.less';\nimport { useState } from 'react';\n\nconst Translate = Locale.getTranslate('components.notification-center');\n\nconst NotificationCenterList = ({\n notifications,\n filter = null,\n onUpdateFilter,\n onSelectNotification,\n onUpdateNotifications,\n onRemoveNotification,\n onMarkAllAsRead,\n}) => {\n const notificationsToDisplay = applyFilter(notifications, filter);\n const [expandedRows, setExpandedRows] = useState([]);\n const filterCount = Object.values(filter).reduce((r, v) => r + (v ? 1 : 0), 0);\n const grouppedNotifications = groupNotifications(notificationsToDisplay);\n\n const selectNotification = ({ notification }) => {\n if (notification.notifications) {\n return;\n }\n onSelectNotification({ notification });\n };\n\n const toggleExpansionNotification = notification => {\n setExpandedRows(prevExpandedRows => {\n if (prevExpandedRows.includes(notification.id)) {\n return prevExpandedRows.filter(id => id !== notification.id);\n }\n return [...prevExpandedRows, notification.id];\n });\n if (notification.notifications) {\n const unreadNotificationIds = notification.notifications.filter(({ isRead }) => !isRead).map(({ id }) => id);\n if (unreadNotificationIds.length) {\n onUpdateNotifications(unreadNotificationIds, { isRead: true });\n }\n }\n };\n\n const columns = [\n {\n key: 'subject',\n type: 'title',\n render: notification => (\n <SubjectColumn\n notification={notification}\n onSelectNotification={selectNotification}\n onUpdateNotifications={onUpdateNotifications}\n onToggleExpansionNotification={toggleExpansionNotification}\n expandedRows={expandedRows}\n />\n ),\n },\n {\n key: 'date',\n render: notification => (\n <DateColumn\n notification={notification}\n onSelectNotification={onSelectNotification}\n />\n ),\n width: '10%',\n },\n {\n key: 'actions',\n type: 'actions',\n width: '80px',\n render: notification => (\n <NotificationActions\n notification={notification}\n onUpdateNotifications={onUpdateNotifications}\n onRemoveNotification={onRemoveNotification}\n />\n ),\n },\n ];\n\n const toolbar = (\n <Toolbar>\n <ToolbarGroup title=\"\">\n <Button data-type=\"mark-all-as-read\" icon=\"mail\" onClick={onMarkAllAsRead}>\n <Translate content=\"markAllAsRead\" />\n </Button>\n </ToolbarGroup>\n <ToolbarExpander />\n <ToolbarGroup title=\"\">\n <FilterMenu\n filter={filter}\n filterCount={filterCount}\n onUpdateFilter={onUpdateFilter}\n />\n </ToolbarGroup>\n <ToolbarGroup title=\"\">\n <SearchBar\n inputProps={{ placeholder: Locale.getSection('components.notification-center').lmsg('searchPlaceholder'), value: filter.search }}\n onTyping={value => onUpdateFilter({ search: value })}\n minWidth={200}\n />\n </ToolbarGroup>\n </Toolbar>\n );\n\n return (\n <List\n rowKey=\"id\"\n className=\"notification-center-list\"\n columns={columns}\n data={grouppedNotifications}\n renderRowBody={row => row.notifications?.map(notification => (\n <div key={notification.id} className=\"single-notification\">\n <div className=\"single-notification__subject\">\n <SubjectColumn\n onSelectNotification={selectNotification}\n onUpdateNotifications={onUpdateNotifications}\n notification={notification}\n expandedRows={expandedRows}\n onToggleExpansionNotification={toggleExpansionNotification}\n />\n </div>\n <DateColumn\n notification={notification}\n onSelectNotification={onSelectNotification}\n />\n <div className=\"single-notification__actions\">\n <NotificationActions\n notification={notification}\n onUpdateNotifications={onUpdateNotifications}\n onRemoveNotification={onRemoveNotification}\n />\n </div>\n </div>\n ))}\n expandedRows={expandedRows}\n onExpandedRowsChange={setExpandedRows}\n toolbar={toolbar}\n autoExpandSingleItem={false}\n emptyViewMode={filterCount ? 'items' : 'all'}\n emptyView={filterCount ? (\n <ListEmptyView\n reason=\"filtered\"\n title={<Translate content=\"listFilteredTitle\" />}\n description={<Translate content=\"listFilteredDescription\" />}\n />\n ) : (\n <ListEmptyView\n title={<Translate content=\"listEmptyTitle\" />}\n image={require('images/notification-center-empty.svg')}\n description={<Translate content=\"listEmptyDescription\" />}\n />\n )}\n />\n );\n};\n\nNotificationCenterList.propTypes = {\n notifications: PropTypes.arrayOf(NotificationPropType.isRequired).isRequired,\n filter: NotificationFilterPropType,\n onUpdateNotifications: PropTypes.func.isRequired,\n onSelectNotification: PropTypes.func.isRequired,\n onUpdateFilter: PropTypes.func.isRequired,\n onRemoveNotification: PropTypes.func.isRequired,\n onMarkAllAsRead: PropTypes.func.isRequired,\n};\n\nexport default NotificationCenterList;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Text, Media, Status, Tooltip, Button } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport { NotificationPropType } from '../lib/PropTypes';\nimport { getStatusIntent, getSubjectIntent } from '../lib/notificationIntent';\nimport UnreadCounter from '../UnreadCounter';\n\nconst Translate = Locale.getTranslate('components.notification-center');\n\n\nconst SubjectColumn = ({ notification, onSelectNotification, onToggleExpansionNotification, onUpdateNotifications, expandedRows }) => {\n const { id, subject, context, isRead, notifications } = notification;\n\n\n const isNotificationsGroup = !!notifications;\n const unreadCount = isNotificationsGroup ? notifications.filter(({ isRead }) => !isRead).length : 0;\n const notificationsId = isNotificationsGroup ? notifications.map(({ id }) => id) : [id];\n\n const subjectIntent = isNotificationsGroup ? getSubjectIntent(notification) : 'primary';\n return (\n <Media\n imageSpacing=\"xl\"\n image={\n <div className=\"single-notification__status-container\">\n {\n isNotificationsGroup ?\n <UnreadCounter intent={getSubjectIntent(notification)} unreadCount={unreadCount} /> :\n <Tooltip title={<Translate content={isRead ? 'markAsUnread' : 'markAsRead'} />}>\n <Status\n intent={getStatusIntent(notification)}\n compact\n onClick={() => onUpdateNotifications(notificationsId, {\n isRead: !isRead,\n })}\n className=\"list-context-actions\"\n data-type={`notification-is-read-${isRead}`}\n />\n </Tooltip>\n }\n </div>\n }\n >\n <div\n onClick={() => onSelectNotification({ notification })}\n className=\"list-context-actions\"\n >\n <Text\n intent={subjectIntent}\n >\n {context}\n </Text>\n <br />\n <Text\n intent={subjectIntent}\n bold={!isRead}\n >\n {subject}\n </Text>\n <br />\n {isNotificationsGroup &&\n <Button\n ghost\n onClick={() => onToggleExpansionNotification(notification)}\n icon={expandedRows.includes(id) ? 'minus' : 'plus'}\n className=\"single-notification__expander-button\"\n >\n <Translate content={expandedRows.includes(id) ? 'showLess' : 'showMore'} />\n </Button>}\n </div>\n </Media >\n );\n};\n\nSubjectColumn.propTypes = {\n notification: NotificationPropType.isRequired,\n onSelectNotification: PropTypes.func.isRequired,\n onToggleExpansionNotification: PropTypes.func.isRequired,\n onUpdateNotifications: PropTypes.func.isRequired,\n expandedRows: PropTypes.array.isRequired,\n};\n\nexport default SubjectColumn;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { NOTIFICATION_CATEGORIES } from './PropTypes';\n\nexport const getStatusIntent = ({ category, isRead }) => {\n if (isRead) {\n return 'inactive';\n }\n\n switch (category) {\n case NOTIFICATION_CATEGORIES.ALERT:\n return 'danger';\n case NOTIFICATION_CATEGORIES.WARNING:\n return 'warning';\n case NOTIFICATION_CATEGORIES.INFORMATION:\n case NOTIFICATION_CATEGORIES.FEEDBACK:\n case NOTIFICATION_CATEGORIES.PROMOTION:\n return 'info';\n }\n\n return 'inactive';\n};\n\nexport const getSubjectIntent = ({ category }) => {\n switch (category) {\n case NOTIFICATION_CATEGORIES.ALERT:\n return 'danger';\n case NOTIFICATION_CATEGORIES.WARNING:\n return 'warning';\n case NOTIFICATION_CATEGORIES.PROMOTION:\n return 'info';\n case NOTIFICATION_CATEGORIES.INFORMATION:\n case NOTIFICATION_CATEGORIES.FEEDBACK:\n return 'inactive';\n }\n return 'inactive';\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Label } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\n\nimport './UnreadCounter.less';\n\nconst UnreadCounter = ({ intent, unreadCount }) => <Label className=\"notification-center-notification__unread-counter\" intent={intent}>{unreadCount}</Label>;\n\n\nUnreadCounter.propTypes = {\n intent: PropTypes.string.isRequired,\n unreadCount: PropTypes.number.isRequired,\n};\n\nexport default UnreadCounter;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { getStartOfDay } from 'helpers/dates';\nimport { getSubjectIntent } from './notificationIntent';\n\nexport default (notifications, includeParentAsChild = true, includeRead = true) => {\n const groupedNotifications = {};\n notifications.forEach(notification => {\n if (!includeRead && notification.isRead) {\n return;\n }\n const day = getStartOfDay(notification.displayDate).getTime();\n const key = `${day}:${notification.context}${notification.category}:${notification.subject}`;\n if (!groupedNotifications[key]) {\n groupedNotifications[key] = { ...notification };\n } else {\n if (!groupedNotifications[key].notifications) {\n const originalNotification = { ...groupedNotifications[key] };\n groupedNotifications[key].notifications = includeParentAsChild ? [originalNotification] : [];\n groupedNotifications[key].intent = getSubjectIntent(originalNotification);\n }\n groupedNotifications[key].notifications.push(notification);\n groupedNotifications[key].isFavorite = groupedNotifications[key].isFavorite && notification.isFavorite;\n groupedNotifications[key].isRead = groupedNotifications[key].isRead && notification.isRead;\n }\n });\n return Object.values(groupedNotifications);\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { NotificationPropType } from '../lib/PropTypes';\nimport NotificationDate from '../NotificationDate';\n\nconst DateColumn = ({ notification, onSelectNotification }) => (\n <NotificationDate\n notification={notification}\n className=\"list-context-actions\"\n onClick={() => onSelectNotification({ notification })}\n />\n);\n\nDateColumn.propTypes = {\n notification: NotificationPropType.isRequired,\n onSelectNotification: PropTypes.func.isRequired,\n};\n\nexport default DateColumn;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Text } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport { NotificationPropType } from './lib/PropTypes';\n\nconst Translate = Locale.getTranslate('components.notification-center');\n\nconst NotificationDate = ({ notification, ...props }) => {\n const { displayDate } = notification;\n const today = new Date();\n const date = new Date(displayDate);\n const isToday =\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear();\n\n return isToday ? (\n <Translate\n component={Text}\n nowrap\n content=\"timeFormat\"\n params={{\n hours: `0${date.getHours()}`.slice(-2),\n minutes: `0${date.getMinutes()}`.slice(-2),\n }}\n {...props}\n />\n ) : (\n <Translate\n component={Text}\n nowrap\n content=\"dateFormat\"\n params={{\n day: date.getDate(),\n month: (<Translate content={`month${date.getMonth()}`} />),\n }}\n {...props}\n />\n );\n};\n\nNotificationDate.propTypes = {\n notification: NotificationPropType.isRequired,\n};\n\nexport default NotificationDate;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { ListActions, ListAction } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport { NotificationPropType } from './lib/PropTypes';\n\nimport './NotificationActions.less';\n\nconst Translate = Locale.getTranslate('components.notification-center');\n\nconst NotificationActions = ({ notification: { id, isFavorite, code, notifications }, onUpdateNotifications, onRemoveNotification }) => {\n const ids = notifications ? notifications.map(notification => notification.id) : [id];\n return (\n <ListActions className=\"notification-actions\">\n <ListAction\n data-action={isFavorite ? 'NOTIFICATION_UNFAVORITE' : 'NOTIFICATION_FAVORITE'}\n data-type={code}\n icon={isFavorite ? 'star-filled' : 'star'}\n primary\n onClick={() => onUpdateNotifications(ids, {\n isFavorite: !isFavorite,\n })}\n >\n <Translate content={isFavorite ? 'unfavoriteNotification' : 'favoriteNotification'} />\n </ListAction>\n <ListAction\n data-action=\"NOTIFICATION_DELETE\"\n data-type={code}\n icon=\"recycle\"\n primary\n onClick={() => onRemoveNotification(ids)}\n >\n\n <Translate content={notifications ? 'deleteNotifications' : 'deleteNotification'} />\n </ListAction>\n </ListActions>\n );\n};\n\nNotificationActions.propTypes = {\n notification: NotificationPropType.isRequired,\n onUpdateNotifications: PropTypes.func.isRequired,\n onRemoveNotification: PropTypes.func.isRequired,\n};\n\nexport default NotificationActions;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Badge, Button, Dropdown, Menu, MenuDivider, MenuItem } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport { NotificationFilterPropType } from '../lib/PropTypes';\n\nconst Translate = Locale.getTranslate('components.notification-center');\n\nconst FilterMenu = ({ filter, filterCount, onUpdateFilter }) => {\n const menu = (\n <Menu>\n <MenuItem\n icon={filter && filter.isUnRead ? 'check-mark' : null}\n onClick={() => onUpdateFilter({ isUnRead: !filter.isUnRead, isCritical: false, isFavorite: false })}\n >\n <Translate content=\"filterUnread\" />\n </MenuItem>\n <MenuItem\n icon={filter && filter.isCritical ? 'check-mark' : null}\n onClick={() => onUpdateFilter({ isUnRead: false, isCritical: !filter.isCritical, isFavorite: false })}\n >\n <Translate content=\"filterCritical\" />\n </MenuItem>\n <MenuItem\n icon={filter && filter.isFavorite ? 'check-mark' : null}\n onClick={() => onUpdateFilter({ isUnRead: false, isCritical: false, isFavorite: !filter.isFavorite })}\n >\n <Translate content=\"filterFavorite\" />\n </MenuItem>\n <MenuDivider />\n <MenuItem\n icon=\"remove\"\n onClick={() => onUpdateFilter({\n search: '',\n isUnRead: false,\n isCritical: false,\n isFavorite: false,\n })}\n >\n <Translate content=\"filterReset\" />\n </MenuItem>\n </Menu>\n );\n\n return (\n <Badge\n intent=\"info\"\n hidden={filterCount === 0}\n >\n <Dropdown menu={menu}>\n <Button icon=\"filter\">\n <Translate content=\"filterButton\" />\n </Button>\n </Dropdown>\n </Badge>\n );\n};\n\nFilterMenu.propTypes = {\n filter: NotificationFilterPropType.isRequired,\n filterCount: PropTypes.number.isRequired,\n onUpdateFilter: PropTypes.func.isRequired,\n};\n\nexport default FilterMenu;\n","module.exports = Jsw.skinUrl + \"/images/notification-center-empty.svg?681835d816561968b04d20ec8652c09c\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { NOTIFICATION_CATEGORIES, NOTIFICATION_INTENTS } from './PropTypes';\n\nexport default notification => {\n switch (notification.category) {\n case NOTIFICATION_CATEGORIES.ALERT:\n return NOTIFICATION_INTENTS.DANGER;\n case NOTIFICATION_CATEGORIES.WARNING:\n return NOTIFICATION_INTENTS.WARNING;\n case NOTIFICATION_CATEGORIES.FEEDBACK:\n case NOTIFICATION_CATEGORIES.PROMOTION:\n return NOTIFICATION_INTENTS.INFO;\n }\n\n return undefined;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { NOTIFICATION_INTENTS } from './PropTypes';\nimport getIntentByNotification from './getIntentByNotification';\n\nexport default notifications => {\n const intents = notifications.map(getIntentByNotification);\n\n switch (true) {\n case intents.includes(NOTIFICATION_INTENTS.DANGER):\n return NOTIFICATION_INTENTS.DANGER;\n case intents.includes(NOTIFICATION_INTENTS.WARNING):\n return NOTIFICATION_INTENTS.WARNING;\n case intents.includes(NOTIFICATION_INTENTS.INFO):\n return NOTIFICATION_INTENTS.INFO;\n }\n\n return NOTIFICATION_INTENTS.INACTIVE;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Text, Link, Icon } from '@plesk/ui-library';\nimport { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { UAT, Locale } from 'jsw';\n\nimport { makeVar, useReactiveVar } from '@apollo/client';\nimport { NotificationPropType, NOTIFICATION_CATEGORIES } from './lib/PropTypes';\n\nimport './NotificationToast.less';\n\nconst Translate = Locale.getTranslate('components.notification-center');\n\nconst selectedToastId = makeVar(null);\n\nconst useSelectedToastId = () => useReactiveVar(selectedToastId);\n\nconst categoryIconMap = {\n [NOTIFICATION_CATEGORIES.INFORMATION]: 'info-circle-filled',\n [NOTIFICATION_CATEGORIES.FEEDBACK]: 'info-circle-filled',\n [NOTIFICATION_CATEGORIES.PROMOTION]: 'info-circle-filled',\n [NOTIFICATION_CATEGORIES.WARNING]: 'triangle-exclamation-mark-filled',\n [NOTIFICATION_CATEGORIES.ALERT]: 'exclamation-mark-circle-filled',\n};\n\n\nconst categoryIntentMap = {\n [NOTIFICATION_CATEGORIES.INFORMATION]: 'info',\n [NOTIFICATION_CATEGORIES.FEEDBACK]: 'info',\n [NOTIFICATION_CATEGORIES.PROMOTION]: 'info',\n [NOTIFICATION_CATEGORIES.WARNING]: 'warning',\n [NOTIFICATION_CATEGORIES.ALERT]: 'danger',\n};\n\n\nconst NotificationBody = ({ context, subject, onSelectNotification }) => (\n <>\n <Text>{context}</Text>\n <br />\n <Text bold>{subject}</Text>\n <br />\n <Link data-type=\"notification-toast-details-link\" onClick={onSelectNotification}>\n <Translate content=\"learnMore\" />\n </Link>\n </>\n);\n\nNotificationBody.propTypes = {\n context: PropTypes.string.isRequired,\n subject: PropTypes.string.isRequired,\n onSelectNotification: PropTypes.func.isRequired,\n};\n\nconst NotificationToast = ({\n notification,\n onSelectNotification,\n}) => {\n const { subject, context, code, createdAt, messageKey, notifications } = notification;\n\n const expanded = useSelectedToastId() === notification.id;\n const setExpanded = () => selectedToastId(expanded ? null : notification.id);\n useEffect(() => {\n UAT.dispatchAction('NOTIFICATION_TOAST_SHOW', {\n createdAt,\n messageKey,\n type: code,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <>\n <NotificationBody subject={subject} context={context} onSelectNotification={onSelectNotification} />\n {\n notifications?.length &&\n <div className=\"notification-center-toast__group\">\n <Link data-testId=\"toast-expander\" onClick={setExpanded}>\n <Icon className=\"notification-center-toast__expand-icon\" name={expanded ? 'minus' : 'plus'} />\n {\n expanded ?\n <Translate content=\"showLessNotifications\" /> :\n <Translate content=\"showMoreNotifications\" params={{ count: notifications.length }} />\n }\n </Link>\n {\n expanded &&\n <div className=\"notification-center-toast__notifications\">\n {\n notifications.map(nestedNotification => (\n <div className=\"notification-center-toast__notification\" key={nestedNotification.id}>\n <div className=\"notification-center-toast__icon-container\" >\n <Icon\n intent={categoryIntentMap[nestedNotification.category]}\n name={categoryIconMap[nestedNotification.category]}\n />\n </div>\n <div>\n <NotificationBody\n subject={nestedNotification.subject}\n context={nestedNotification.context}\n onSelectNotification={onSelectNotification}\n intent={nestedNotification.intent}\n />\n </div>\n </div>\n ),\n )\n }\n </div>\n }\n </div>\n }\n </>\n );\n};\n\nNotificationToast.propTypes = {\n notification: NotificationPropType.isRequired,\n onSelectNotification: PropTypes.func.isRequired,\n};\n\nexport default NotificationToast;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"NotificationCenter\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webSocket\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerNotifications\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":214}};\n doc.loc.source = {\"body\":\"query NotificationCenter {\\n config {\\n webSocket {\\n enabled\\n }\\n }\\n viewer {\\n login\\n type\\n permissions {\\n manageServerNotifications\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"NotificationCenter\"] = oneQuery(doc, \"NotificationCenter\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, lazy, Suspense } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { Button } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\n\nimport HELP_MENU_QUERY from 'queries/HelpMenu.graphql';\n\nconst Translate = Locale.getTranslate('components.shortcuts');\nconst HelpDrawer = lazy(() => import(/* webpackChunkName: \"components/layouts/page-layout/help-drawer\" */'./HelpDrawer'));\n\nconst HelpMenu = ({\n helpUrl = undefined,\n customHelpUrl = undefined,\n helpContext = undefined,\n helpModule = undefined,\n searchQuery = undefined,\n}) => {\n const { data: { viewer: user, mode, config } = {} } = useQuery(HELP_MENU_QUERY);\n const [isOpen, setIsOpen] = useState(false);\n const [isOpened, setIsOpened] = useState(isOpen);\n\n const handleOpen = () => {\n setIsOpen(true);\n setIsOpened(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n if (helpUrl && !mode?.isClassicPanel) {\n if (helpContext) {\n helpUrl += `/plesk-context/${helpContext}`;\n }\n if (helpModule) {\n helpUrl += `/plesk-module/${helpModule}`;\n }\n }\n\n if (!customHelpUrl && !helpUrl) {\n helpUrl = `/help.php?context=${encodeURIComponent(helpContext)}`;\n if (helpModule) {\n helpUrl += `&module=${encodeURIComponent(helpModule)}`;\n }\n }\n\n if (user?.type === 'ADMIN') {\n return (\n <>\n <Button\n id=\"help-menu\"\n data-help-context={helpContext}\n data-help-prefix={user?.type}\n data-help-module={helpModule}\n ghost\n icon=\"question-mark-circle\"\n onClick={handleOpen}\n />\n {isOpened ? (\n <Suspense>\n <HelpDrawer\n helpUrl={customHelpUrl || helpUrl}\n searchQuery={(config.help.enableSearchPrefill && searchQuery) || ''}\n isOpen={isOpen}\n onClose={handleClose}\n />\n </Suspense>\n ) : null}\n </>\n );\n }\n\n return (\n <Button\n id=\"help-menu\"\n ghost\n icon=\"question-mark-circle\"\n data-type=\"link-read-manual\"\n data-help-context={helpContext}\n data-help-prefix={user?.type}\n data-help-module={helpModule}\n component=\"a\"\n href={customHelpUrl || helpUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n tooltip={<Translate content=\"readManual\" />}\n />\n );\n};\n\nHelpMenu.propTypes = {\n helpUrl: PropTypes.string,\n customHelpUrl: PropTypes.string,\n helpContext: PropTypes.string,\n helpModule: PropTypes.string,\n searchQuery: PropTypes.string,\n};\n\nexport default HelpMenu;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HelpMenu\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"help\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enableSearchPrefill\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isClassicPanel\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":181}};\n doc.loc.source = {\"body\":\"query HelpMenu {\\n viewer {\\n login\\n type\\n }\\n config {\\n help {\\n enableSearchPrefill\\n }\\n }\\n mode {\\n isClassicPanel\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HelpMenu\"] = oneQuery(doc, \"HelpMenu\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AccountMenu\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":69}};\n doc.loc.source = {\"body\":\"query AccountMenu {\\n viewer {\\n pname\\n login\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AccountMenu\"] = oneQuery(doc, \"AccountMenu\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MainHeaderNavbar\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCustom\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"notification\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"panel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branding\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"theme\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":276}};\n doc.loc.source = {\"body\":\"query MainHeaderNavbar {\\n viewer {\\n login\\n type\\n logo {\\n isCustom\\n }\\n }\\n config {\\n notification {\\n panel {\\n enabled\\n }\\n }\\n branding {\\n theme\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MainHeaderNavbar\"] = oneQuery(doc, \"MainHeaderNavbar\");\n \n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/top-advisor.svg?0b30181a1696d46d7ee8ab9b6594518b\";","module.exports = Jsw.skinUrl + \"/images/logos/powered-logo.png?8700c1cdfefb55e5ddcb48027ce87d4e\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useEffect } from 'react';\nimport Particles, { initParticlesEngine } from '@tsparticles/react';\nimport { loadConfettiPreset } from '@tsparticles/preset-confetti';\nimport { Overlay } from '@plesk/ui-library';\nimport Lottie from 'lottie-react-web';\nimport { UAT } from 'jsw';\n\nconst particles = { color: { value: ['#e1761e', '#428b8c', '#cf4e29', '#41919d', '#e8af28'] } };\nconst secret = 'DISCO';\n\nconst DiscoMode = () => {\n const [, setBuffer] = useState('');\n const [isOpen, setOpen] = useState(false);\n const [discoBall, setDiscoBal] = useState(false);\n const [confettiInit, setConfettiInit] = useState(false);\n const [confettiTop, setConfettiTop] = useState(false);\n const [confettiBottom, setConfettiBottom] = useState(false);\n const [confettiMax, setConfettiMax] = useState(false);\n\n useEffect(() => {\n const handleKeyDown = e => {\n setBuffer(buffer => {\n const newBuffer = (buffer + e.key).slice(-secret.length);\n if (newBuffer === secret) {\n handleDiscoMode();\n return '';\n }\n return newBuffer;\n });\n };\n\n document.addEventListener('keydown', handleKeyDown);\n }, []);\n\n useEffect(() => {\n if (isOpen && !confettiInit) {\n initParticlesEngine(async engine => {\n await loadConfettiPreset(engine);\n }).then(() => {\n setConfettiInit(true);\n });\n }\n }, [isOpen, confettiInit]);\n\n useEffect(() => {\n if (isOpen && !discoBall) {\n import(/* webpackChunkName: \"components/layouts/page-layout/disco-ball\" */ './disco-ball.json').then(setDiscoBal);\n }\n }, [isOpen, discoBall]);\n\n const handleDiscoMode = () => {\n UAT.dispatchAction('PLESK-70-DISCO');\n\n setConfettiTop(false);\n setConfettiBottom(false);\n setConfettiMax(false);\n setOpen(true);\n\n setTimeout(() => {\n setConfettiTop(true);\n }, 500);\n setTimeout(() => {\n setConfettiBottom(true);\n }, 2000);\n setTimeout(() => {\n setConfettiMax(true);\n }, 6000);\n\n setTimeout(() => {\n setOpen(false);\n }, 10000);\n };\n\n return (\n <Overlay\n isOpen={isOpen}\n className=\"disco-mode\"\n >\n {isOpen ? (\n <>\n <div className=\"disco-mode-logo disco-mode-showup\">\n <img src={require('images/disco-mode/logo.svg')} alt=\"plesk-70\" />\n </div>\n {discoBall && (\n <div className=\"disco-mode-ball\">\n <Lottie options={{ animationData: discoBall }} />\n </div>\n )}\n <div className=\"disco-mode-dancers disco-mode-showup\">\n <img src={require('images/disco-mode/dancers.gif')} alt=\"dancers\" />\n </div>\n {confettiInit && confettiTop && !confettiBottom && (\n <Particles\n id=\"disco-mode-confetti-top\"\n className=\"disco-mode-confetti\"\n options={{\n emitters: [\n {\n particles: {\n color: {\n value: ['#fff', '#af9aff', '#6a9fff', '#99dff6', '#315080'],\n },\n },\n position: { x: 50, y: 20 },\n rate: { quantity: 300, delay: 5 },\n },\n ],\n preset: 'confetti',\n }}\n />\n )}\n {confettiInit && confettiBottom && (\n <Particles\n id=\"disco-mode-confetti-bottom\"\n className=\"disco-mode-confetti\"\n options={{\n emitters: [\n {\n particles,\n position: { x: 5, y: 50 },\n direction: 'top-right',\n rate: { quantity: 250, delay: 1 },\n },\n {\n particles,\n position: { x: 95, y: 50 },\n direction: 'top-left',\n rate: { quantity: 250, delay: 1 },\n },\n ],\n preset: 'confetti',\n }}\n />\n )}\n {confettiInit && confettiMax && (\n <Particles\n id=\"disco-mode-confetti-bottom-max\"\n className=\"disco-mode-confetti\"\n options={{\n emitters: [\n {\n particles,\n position: { x: 5, y: 50 },\n direction: 'top-right',\n rate: { quantity: 100 },\n },\n {\n particles,\n position: { x: 95, y: 50 },\n direction: 'top-left',\n rate: { quantity: 100 },\n },\n ],\n preset: 'confetti',\n }}\n />\n )}\n </>\n ) : null}\n </Overlay>\n );\n};\n\nexport default DiscoMode;\n\n","module.exports = Jsw.skinUrl + \"/images/disco-mode/logo.svg?4682fd3a1648d22360d0de4f47aab3db\";","module.exports = Jsw.skinUrl + \"/images/disco-mode/dancers.gif?8ba854d14fa3d6c5dcd98bb5d8c3b9bc\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useRef, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport { parsePath } from 'react-router';\nimport { matchPath, useLocation } from 'react-router-dom';\nimport classNames from 'classnames';\nimport { Tooltip, Text } from '@plesk/ui-library';\nimport { prepareUrl } from 'jsw';\nimport { useLocalStorage } from 'common/hooks';\nimport ViewSwitcher from './ViewSwitcher';\nimport Brand from '../Brand';\nimport Link from 'components/common/Link';\nimport { useQuery } from '@apollo/client';\n\nimport MAIN_MENU_QUERY from 'queries/MainMenu.graphql';\n\nconst Node = ({\n id = undefined,\n styleClass = undefined,\n active = false,\n disabled = false,\n name,\n conhelp,\n link,\n target = undefined,\n custom = false,\n icon = undefined,\n label = undefined,\n onClick = undefined,\n}) => (\n <Tooltip title={conhelp}>\n <li\n id={id || null}\n className={classNames(!id && styleClass, active && 'active', disabled && 'page-sidebar-menu-item--disabled')}\n >\n <Link\n to={prepareUrl(link)}\n target={target}\n onClick={onClick}\n disabled={disabled}\n >\n <i\n className={styleClass ? `icon-${styleClass.split(' ')[0]}` : null}\n style={custom ? { backgroundImage: `url('${icon}')` } : null}\n />\n <span className=\"title\">\n <span className=\"title-name\">{name}</span>\n {!!label && (\n <Text fontSize=\"sm\" className=\"title-label\">{label}</Text>\n )}\n </span>\n </Link>\n </li>\n </Tooltip>\n);\n\nNode.propTypes = {\n id: PropTypes.string,\n styleClass: PropTypes.string,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n name: PropTypes.string.isRequired,\n conhelp: PropTypes.string.isRequired,\n link: PropTypes.string.isRequired,\n target: PropTypes.string,\n custom: PropTypes.bool,\n icon: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nconst Group = ({\n id,\n name = null,\n nodes,\n activeNode = undefined,\n statistics = undefined,\n isSidebarClosed,\n onNodeClick = null,\n}) => {\n const nodeRef = useRef(null);\n const group = id.toString().replace('_', '-');\n const [isHidden, setHidden] = useLocalStorage(`menu-group-${group}-hidden`);\n\n let title = (\n <button\n className=\"menu-group-title\"\n aria-expanded={isHidden === 'true' ? 'false' : 'true'}\n aria-controls={`menuId-${group}`}\n onClick={() => setHidden(isHidden === 'true' ? 'false' : 'true')}\n type=\"button\"\n >\n <span className=\"menu-group-toggle\" />\n <span className=\"menu-group-name\">{name}</span>\n </button>\n );\n\n if (isSidebarClosed && name) {\n title = (\n <Tooltip title={name}>\n {title}\n </Tooltip>\n );\n }\n\n return (\n <li key={id} className={`menu-group-${group}`}>\n {id === 'general' ? null : title}\n {nodes && Object.keys(nodes).length ? (\n <Transition nodeRef={nodeRef} in={isHidden !== 'true'} timeout={200} mountOnEnter unmountOnExit>\n <ul ref={nodeRef} className=\"sub-menu\" id={`menuId-${group}`}>\n {Object.entries(nodes).map(([key, { conhelp, ...props }]) => (\n <Node\n key={key}\n active={key === activeNode}\n conhelp={isSidebarClosed ? props.name : conhelp}\n onClick={onNodeClick}\n label={statistics?.[(key ?? '').replace(/([-_]\\w)/g, g => g[1].toUpperCase())]}\n {...props}\n />\n ))}\n </ul>\n </Transition>\n ) : null}\n </li>\n );\n};\n\nGroup.propTypes = {\n id: PropTypes.string.isRequired,\n name: PropTypes.string,\n nodes: PropTypes.object.isRequired,\n activeNode: PropTypes.string,\n statistics: PropTypes.object,\n isSidebarClosed: PropTypes.bool.isRequired,\n onNodeClick: PropTypes.func,\n};\n\nconst getFirstLink = navigation => {\n for (const group of navigation) {\n const foundNode = Object.values(group.nodes).find(node => node.link);\n\n if (foundNode) {\n return foundNode.link;\n }\n }\n};\n\nconst PageSidebar = ({\n title,\n navigation,\n navigationContext = undefined,\n breadcrumbs = [],\n viewSwitcher = undefined,\n isPowerUserPanel = false,\n showStatistics = false,\n isClosed = false,\n onNodeClick = undefined,\n}) => {\n const location = useLocation();\n const { data: { viewer: { statistics } = {} } = {} } = useQuery(MAIN_MENU_QUERY, {\n skip: !showStatistics,\n });\n\n const activeNode = useMemo(() => {\n const getExtension = url => url.match(/\\/modules\\/([^/]+)/)?.[1];\n const breadcrumbPathname = parsePath(breadcrumbs?.[(isPowerUserPanel || breadcrumbs.length < 2) ? 0 : 1]?.href ?? '').pathname ?? '';\n const breadcrumbExtension = getExtension(breadcrumbPathname);\n const locationPathname = location.pathname;\n const locationExtension = getExtension(locationPathname);\n\n for (const group of navigation) {\n const foundNode = Object.entries(group.nodes).find(([, node]) => {\n const nodePathname = parsePath(node.link).pathname;\n if (!nodePathname) {\n return false;\n }\n if (matchPath(nodePathname, breadcrumbPathname) || locationPathname.startsWith(nodePathname)) {\n return true;\n }\n\n const nodeExtension = getExtension(nodePathname);\n if (!nodeExtension) {\n return false;\n }\n return nodeExtension === breadcrumbExtension || nodeExtension === locationExtension;\n });\n\n if (foundNode) {\n return foundNode[0];\n }\n }\n }, [navigation, breadcrumbs, isPowerUserPanel, location.pathname]);\n\n return (\n <div\n className={classNames(\n 'page-sidebar',\n isClosed && 'page-sidebar--folded',\n )}\n data-type=\"page-sidebar\"\n >\n <div className=\"page-sidebar__content\">\n <div className=\"page-sidebar-brand\">\n {isClosed ? (\n <div className=\"brand-collapsed\">{title[0] || 'P'}</div>\n ) : (\n <Brand href={getFirstLink(navigation)} />\n )}\n </div>\n <div className=\"page-sidebar-menu-wrapper\">\n <ul className=\"page-sidebar-menu\">\n {navigation.map(({ id, ...props }) => (\n <Group\n key={id}\n id={id}\n isSidebarClosed={isClosed}\n onNodeClick={onNodeClick}\n activeNode={activeNode || navigationContext}\n statistics={id === 'hosting' ? statistics : null}\n {...props}\n />\n ))}\n </ul>\n </div>\n </div>\n {viewSwitcher ? (\n <div className=\"page-sidebar-footer-wrapper\">\n <div className=\"page-sidebar-footer\">\n {<ViewSwitcher {...viewSwitcher} />}\n </div>\n </div>\n ) : null}\n </div>\n );\n};\n\nPageSidebar.propTypes = {\n title: PropTypes.string.isRequired,\n navigation: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n showTitle: PropTypes.bool,\n name: PropTypes.string,\n nodes: PropTypes.object,\n })).isRequired,\n navigationContext: PropTypes.string,\n breadcrumbs: PropTypes.array,\n viewSwitcher: PropTypes.shape({\n locale: PropTypes.object,\n }),\n isPowerUserPanel: PropTypes.bool,\n showStatistics: PropTypes.bool,\n isClosed: PropTypes.bool,\n onNodeClick: PropTypes.func,\n};\n\nexport default PageSidebar;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Popover, Icon, Hint, Status } from '@plesk/ui-library';\nimport { messageBox, redirect, api, Locale } from 'jsw';\n\nconst Translate = Locale.getTranslate('components.view-switcher');\n\nconst ViewSwitcher = ({\n isPowerUserPanel,\n showPowerUserViewWarning,\n learnMoreUrl,\n hideSwitcherUrl,\n changeViewUrl,\n}) => {\n const [visible, setVisible] = useState(true);\n const [popoverVisible, setPopoverVisible] = useState(false);\n const targetRef = useRef();\n\n const handleTogglePopover = () => {\n setPopoverVisible(!popoverVisible);\n };\n\n const handleHideSwitcher = () => {\n const locale = Locale.getSection('components.view-switcher');\n\n messageBox.show({\n type: messageBox.TYPE_YESNO,\n subtype: 'toggle',\n text: locale.lmsg('confirmationBoxText'),\n description: locale.lmsg('confirmationBoxDescription'),\n buttonTitles: {\n yes: locale.lmsg('confirmationBoxButtonYes'),\n no: locale.lmsg('confirmationBoxButtonNo'),\n },\n onYesClick: () => {\n setVisible(false);\n api.post(hideSwitcherUrl);\n },\n });\n };\n\n const handleChangeView = async e => {\n e.preventDefault();\n const { redirect: url } = await api.post(changeViewUrl);\n if (url) {\n redirect(url);\n }\n };\n\n const handleOpenLearnMore = e => {\n e.preventDefault();\n\n redirect(learnMoreUrl);\n };\n\n const handleClosePopover = () => {\n setTimeout(() => {\n setPopoverVisible(false);\n }, 0);\n };\n\n const renderActionMessage = () => {\n const actionMessage = (\n <Translate\n content=\"actionMessage\"\n params={{\n switchLink: (\n <a\n onClick={handleChangeView}\n href=\"#\"\n onTouchStart={e => e.stopPropagation()}\n onMouseDown={e => e.stopPropagation()}\n data-action={isPowerUserPanel ? 'to-service-provider' : 'to-power-user'}\n >\n <Translate\n content=\"switchView\"\n params={{ view: <Translate content={isPowerUserPanel ? 'serviceProviderView' : 'powerUserView'} /> }}\n />\n </a>\n ),\n recommended: <Translate content={isPowerUserPanel ? 'serviceProviderViewRecommended' : 'powerUserViewRecommended'} />,\n helpLink: (\n <a\n href=\"#\"\n onClick={handleOpenLearnMore}\n onTouchStart={e => e.stopPropagation()}\n onMouseDown={e => e.stopPropagation()}\n data-action=\"learn-more\"\n >\n <Translate content=\"learnMore\" />\n </a>\n ),\n }}\n />\n );\n\n return actionMessage;\n };\n\n const renderSwitcherPopover = target => (\n <Popover\n visible={popoverVisible}\n target={target}\n targetRef={targetRef}\n title={<Translate content=\"title\" />}\n placement=\"top-right\"\n onClose={handleClosePopover}\n canCloseOnOutsideClick\n canCloseOnEscapePress\n boundariesElement={document.querySelector('.pul-layout')}\n data-type=\"view-switcher\"\n >\n <Translate\n content=\"currentViewMessage\"\n params={{\n view: <Translate content={isPowerUserPanel ? 'powerUserView' : 'serviceProviderView'} />,\n hint: <Translate content={isPowerUserPanel ? 'powerUserViewHint' : 'serviceProviderViewHint'} />,\n }}\n />\n <p>\n {renderActionMessage()}\n </p>\n {showPowerUserViewWarning && (\n <Hint>\n <Status intent=\"info\">\n <Translate content=\"powerUserViewWarning\" />\n </Status>\n </Hint>\n )}\n </Popover>\n );\n\n if (!visible) {\n return null;\n }\n\n return (\n <div className=\"view-switcher\">\n {renderSwitcherPopover((\n <button type=\"button\" className=\"view-switcher__button\" onClick={handleTogglePopover} data-action=\"toggle-view-switcher\" ref={targetRef}>\n <Icon src={require('icons/16/plesk/nav-navigation.svg')} className=\"view-switcher__button-icon\" />\n <Translate content=\"title\" className=\"view-switcher__button-text\" component=\"span\" />\n </button>\n ))}\n <button type=\"button\" className=\"view-switcher__close\" onClick={handleHideSwitcher} data-action=\"hide-view-switcher\" />\n </div>\n );\n};\n\nViewSwitcher.propTypes = {\n isPowerUserPanel: PropTypes.bool.isRequired,\n showPowerUserViewWarning: PropTypes.bool.isRequired,\n learnMoreUrl: PropTypes.string.isRequired,\n hideSwitcherUrl: PropTypes.string.isRequired,\n changeViewUrl: PropTypes.string.isRequired,\n};\n\nexport default ViewSwitcher;\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/nav-navigation.svg?8fd7ed2dae98ebbed97268ffef8454b1\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useQuery } from '@apollo/client';\nimport Link from 'components/common/Link';\n\nimport BRANDING_QUERY from 'queries/Branding.graphql';\n\nconst Brand = ({\n baseClassName = 'brand',\n className = undefined,\n href = undefined,\n}) => {\n const { data: { viewer: { logo: {\n image,\n imageAlt,\n url,\n edition,\n } } } } = useQuery(BRANDING_QUERY);\n\n const Tag = (url || href) ? Link : 'span';\n\n return (\n <Tag\n className={classNames(baseClassName, className)}\n to={url || href}\n target={url ? '_blank' : undefined}\n >\n <img className={`${baseClassName}__logo`} src={image} alt={imageAlt} />\n {edition ? <span className={`${baseClassName}__edition`}>{edition}</span> : null}\n </Tag>\n );\n};\n\nBrand.propTypes = {\n href: PropTypes.string,\n className: PropTypes.string,\n baseClassName: PropTypes.string,\n};\n\nexport default Brand;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Branding\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"image\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageAlt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edition\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":172}};\n doc.loc.source = {\"body\":\"query Branding {\\n viewer {\\n login\\n customTitle\\n logo {\\n image\\n imageAlt\\n url\\n edition\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"Branding\"] = oneQuery(doc, \"Branding\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MainMenu\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"servicePlans\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":198}};\n doc.loc.source = {\"body\":\"query MainMenu {\\n viewer {\\n login\\n statistics {\\n customers\\n resellers\\n subscriptions\\n domains\\n servicePlans\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MainMenu\"] = oneQuery(doc, \"MainMenu\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useQuery } from '@apollo/client';\nimport { Locale } from 'jsw';\nimport Link from 'components/common/Link';\n\nimport PAGE_FOOTER_QUERY from 'queries/PageFooter.graphql';\n\nconst Translate = Locale.getTranslate('components.shortcuts');\n\nconst PageFooter = () => {\n const { data: { viewer: user, config } = {} } = useQuery(PAGE_FOOTER_QUERY);\n\n const handleProvideRatingClick = () => {\n Plesk.require('app/rating', rating => {\n rating({\n supportUrl: config.product.supportUrl,\n });\n });\n };\n\n return (\n <div className=\"page-footer\" data-type=\"page-footer\">\n {config?.promos.pleskFooter ? (\n <a href={config.product.siteUrl} target=\"_blank\" rel=\"noopener noreferrer\">{'plesk.com'}</a>\n ) : null}\n {user?.type === 'ADMIN' && config?.facebook.showLikeLink ? (\n <div className=\"social-actions\">\n <a className=\"fb-link\" href={config.facebook.pleskPage} target=\"_blank\" rel=\"noopener noreferrer\">\n <svg className=\"icon\" id=\"facebook\" viewBox=\"0 0 32 32\">\n {/* eslint-disable-next-line max-len */}\n <path d=\"M17.906,9.9V7.012a1.662,1.662,0,01,1.776-1.546h3.094V-0.052l-4.26-.022c-4.736,0-5.579,4.113-5.579,6.746L13,9.9H9.97v6.123h2.96v16.1H17.9v-16.1h4.447l0.2-2.53,0.3-3.593H17.906\" />\n </svg>\n <Translate content=\"facebookJoinCommunity\" />\n </a>\n </div>\n ) : null}\n {user?.type === 'ADMIN' && config?.twitter.showFollowLink ? (\n <div className=\"social-actions\">\n <a className=\"twitter-follow-button\" href={config.twitter.pleskPage} target=\"_blank\" rel=\"noopener noreferrer\">\n <svg className=\"icon\" viewBox=\"0 0 24 24\">\n {/* eslint-disable-next-line max-len */}\n <path fill=\"#fff\" d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\" />\n </svg>\n <Translate content=\"twitterFollow\" />\n </a>\n </div>\n ) : null}\n {user?.type === 'ADMIN' && config?.rating.enabled ? (\n <div className=\"feedback-actions\">\n <a id=\"provide-rating-button\" className=\"s-btn\" onClick={handleProvideRatingClick}>\n <i className=\"icon-opinions\" /> <Translate content=\"provideRating\" />\n </a>\n </div>\n ) : null}\n {config?.feedback.userVoice ? (\n <div className=\"feedback-actions\">\n <a className=\"s-btn sb-feedback\" href={config.feedback.userVoiceUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n <span><Translate content=\"userFeedback\" /></span>\n </a>\n </div>\n ) : null}\n <div className=\"feedback-actions\">\n <Link to=\"?modals[cookie-policy-preferences]=true\">\n <Translate content=\"linkToCookies\" />\n </Link>\n </div>\n </div>\n );\n};\n\nexport default PageFooter;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PageFooter\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"promos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskFooter\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedback\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userVoice\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userVoiceUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"facebook\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showLikeLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"twitter\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showFollowLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rating\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":484}};\n doc.loc.source = {\"body\":\"query PageFooter {\\n viewer {\\n login\\n type\\n }\\n config {\\n product {\\n siteUrl\\n supportUrl\\n }\\n promos {\\n pleskFooter\\n }\\n feedback {\\n userVoice\\n userVoiceUrl\\n }\\n facebook {\\n showLikeLink\\n pleskPage\\n }\\n twitter {\\n showFollowLink\\n pleskPage\\n }\\n rating {\\n enabled\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PageFooter\"] = oneQuery(doc, \"PageFooter\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { PageHeader, Breadcrumbs, Heading, Text } from '@plesk/ui-library';\nimport Link from 'components/common/Link';\nimport ObjectSwitcher from './ObjectSwitcher';\nimport PageContentHeaderNav from './PageContentHeaderNav';\nimport stripTags from 'helpers/stripTags';\nimport JswComponent from 'components/jsw/JswComponent';\n\nconst PageContentHeader = ({\n breadcrumbs = [],\n tabs = null,\n tabsHasRootPage = false,\n navigationTabs = null,\n hidePathbar = false,\n hideHeading = false,\n wizardTitle = null,\n pageTitle = null,\n pageSubtitle = null,\n titleRightAddon = null,\n objectSwitcherParams = null,\n forceObjectSwitcher = false,\n isClassicMode = false,\n additionalTitleContent = null,\n className = 'page-content-header',\n}) => {\n breadcrumbs = Array.isArray(breadcrumbs) ? [...breadcrumbs] : [];\n let currentPage = breadcrumbs.pop();\n let addObjectSwitcher = forceObjectSwitcher;\n let objectName = null;\n let pageTitleSuffix = null;\n\n if (currentPage && tabs && tabsHasRootPage) {\n currentPage = breadcrumbs.pop();\n if (!pageTitle) {\n pageTitle = currentPage.title;\n }\n }\n\n if (currentPage && navigationTabs) {\n currentPage = breadcrumbs.pop();\n pageTitle = currentPage.title;\n\n // subscription horizontal navigation\n addObjectSwitcher = pageTitle.indexOf('</b>') !== -1;\n }\n\n const match = pageTitle && pageTitle.match(/<b>(.+)<\\/b>/i);\n if (match) {\n objectName = match[1];\n pageTitleSuffix = pageTitle.substr(match.index + match[0].length);\n pageTitle = pageTitle.substr(0, match.index);\n\n const previousPage = breadcrumbs[breadcrumbs.length - 1];\n if (previousPage && objectName === stripTags(previousPage.title)) {\n objectName = (\n // eslint-disable-next-line react/no-danger\n <Link to={previousPage.href} dangerouslySetInnerHTML={{ __html: stripTags(previousPage.title) }} />);\n breadcrumbs.pop();\n\n // domain horizontal navigation\n addObjectSwitcher = true;\n } else {\n objectName = (\n // TODO EXTSSLIT-590: EXTPHPCOMP-33: Broken header in Plesk 18.0.19\n // eslint-disable-next-line react/no-danger\n <span className=\"page-content-header__title\" dangerouslySetInnerHTML={{ __html: objectName }} />\n );\n }\n }\n\n if ((hidePathbar || breadcrumbs.length) && hideHeading && (!isClassicMode || !navigationTabs)) {\n return null;\n }\n\n return (\n <PageHeader\n className={className}\n breadcrumbs={!hidePathbar && breadcrumbs.length ? (\n <Breadcrumbs data-type=\"page-pathbar\">\n {breadcrumbs.map(({ title, href }) => (\n // eslint-disable-next-line react/no-danger\n <Link key={href} to={href} dangerouslySetInnerHTML={{ __html: stripTags(title) }} />\n ))}\n </Breadcrumbs>\n ) : null}\n tabs={isClassicMode && navigationTabs ? (\n <PageContentHeaderNav items={navigationTabs} />\n ) : null}\n title={hideHeading ? null : (\n <div>\n {wizardTitle ? (\n <Heading>{wizardTitle}</Heading>\n ) : null}\n {objectName ? (\n <Heading level={wizardTitle ? 3 : 1} data-type=\"page-title\">\n {pageTitle ? (\n // TODO EXTLETSENC-726: EXTSSLIT-590: EXTPHPCOMP-33: Broken header in Plesk 18.0.19\n // eslint-disable-next-line react/no-danger\n <span className=\"page-content-header__title\" dangerouslySetInnerHTML={{ __html: pageTitle }} />\n ) : null}\n {objectName}\n {objectSwitcherParams && addObjectSwitcher ? (\n <ObjectSwitcher {...objectSwitcherParams} />\n ) : null}\n {pageTitleSuffix}\n {additionalTitleContent && (<JswComponent key={additionalTitleContent} component=\"span\">{additionalTitleContent}</JswComponent>)}\n </Heading>\n ) : (\n <Heading level={wizardTitle ? 3 : 1} data-type=\"page-title\">\n {/* eslint-disable-next-line react/no-danger */}\n <span className=\"page-content-header__title\" dangerouslySetInnerHTML={{ __html: pageTitle }} />\n </Heading>\n )}\n </div>\n )}\n titleRightAddon={titleRightAddon}\n >\n {!hideHeading && pageSubtitle ? (\n <Text intent=\"muted\">{pageSubtitle}</Text>\n ) : null}\n </PageHeader>\n );\n};\n\nPageContentHeader.propTypes = {\n breadcrumbs: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })),\n tabs: PropTypes.array,\n tabsHasRootPage: PropTypes.bool,\n navigationTabs: PropTypes.array,\n hidePathbar: PropTypes.bool,\n hideHeading: PropTypes.bool,\n wizardTitle: PropTypes.string,\n pageTitle: PropTypes.string,\n pageSubtitle: PropTypes.string,\n titleRightAddon: PropTypes.node,\n objectSwitcherParams: PropTypes.shape(ObjectSwitcher.propTypes),\n forceObjectSwitcher: PropTypes.bool,\n isClassicMode: PropTypes.bool,\n additionalTitleContent: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default PageContentHeader;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { registerComponent, ObjectSwitcher as JswObjectSwitcher } from 'jsw';\nimport JswComponent from '../../jsw/JswComponent';\nimport useNavigate from 'hooks/useNavigate';\n\nconst ObjectSwitcher = ({ locale, limit, lookUpParams, dataUrl, listUrl, owner = null, itemUrlTemplate }) => {\n const [component, setComponent] = useState(null);\n\n const navigate = useNavigate();\n\n useEffect(() => {\n const newComponent = new JswObjectSwitcher({ locale, limit, lookUpParams, dataUrl, listUrl, owner, itemUrlTemplate, navigate });\n setComponent(newComponent);\n\n return () => {\n registerComponent(newComponent.getId());\n setComponent(null);\n };\n }, [locale, limit, lookUpParams, dataUrl, listUrl, owner, itemUrlTemplate, navigate]);\n\n return component ? (\n <JswComponent component=\"span\" key={component.getId()}>\n {component}\n </JswComponent>\n ) : null;\n};\n\nObjectSwitcher.propTypes = {\n locale: PropTypes.object.isRequired,\n limit: PropTypes.number.isRequired,\n lookUpParams: PropTypes.object.isRequired,\n dataUrl: PropTypes.string.isRequired,\n listUrl: PropTypes.string.isRequired,\n owner: PropTypes.string,\n itemUrlTemplate: PropTypes.string.isRequired,\n};\n\nexport default ObjectSwitcher;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useMemo, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Tab, Tabs } from '@plesk/ui-library';\nimport Link from 'components/common/Link';\nimport { prepareUrl } from 'jsw';\n\nconst PageContentHeaderNav = ({ items }) => {\n const ref = useRef(null);\n const active = useMemo(() => items.findIndex(({ containerCls }) => containerCls.split(' ').includes('active')) + 1, [items]);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n const nav = ref.current;\n const tabs = nav.querySelector('.page-content-header-nav__tabs');\n const headerInner = document.querySelector('.pul-layout__header-inner');\n const stickyClassName = 'page-content-header-nav--sticky';\n\n const update = () => {\n const tabsRect = tabs.getBoundingClientRect();\n const headerInnerRect = headerInner.getBoundingClientRect();\n const top = (window.scrollY || window.pageYOffset) + nav.getBoundingClientRect().top;\n\n if (document.documentElement.scrollTop > top - headerInnerRect.height) {\n nav.classList.add(stickyClassName);\n nav.style.minHeight = `${tabsRect.height}px`;\n tabs.style.top = `${headerInnerRect.height}px`;\n } else {\n nav.classList.remove(stickyClassName);\n nav.style.minHeight = null;\n tabs.style.top = null;\n }\n };\n\n window.addEventListener('resize', update);\n window.addEventListener('scroll', update);\n document.addEventListener('mousewheel', update);\n\n update();\n\n return () => {\n window.removeEventListener('resize', update);\n window.removeEventListener('scroll', update);\n document.removeEventListener('mousewheel', update);\n };\n }, []);\n\n if (!items.length) {\n return null;\n }\n\n return (\n <div id=\"classic-mode-navigation\" className=\"page-content-header-nav\" ref={ref}>\n <Tabs className=\"page-content-header-nav__tabs\" active={active}>\n {items.map(({ title, href }, index) => (\n <Tab\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n data-cy={title}\n title={title}\n component={Link}\n to={prepareUrl(href)}\n />\n ))}\n </Tabs>\n </div>\n );\n};\n\nPageContentHeaderNav.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n containerCls: PropTypes.string,\n })).isRequired,\n};\n\nexport default PageContentHeaderNav;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { unescapeHtml } from 'jsw';\nimport stripTags from 'helpers/stripTags';\n\nconst getTitleForHelpSearchQuery = ({\n wizardTitle,\n pageTitle,\n breadcrumbs = [],\n}) => {\n breadcrumbs = breadcrumbs && Array.isArray(breadcrumbs)\n ? breadcrumbs\n : [];\n let title = wizardTitle ?? pageTitle ?? breadcrumbs[breadcrumbs.length - 1]?.title ?? '';\n\n let objectName;\n const match = title.match(/<b>(.+)<\\/b>/i);\n if (match) {\n objectName = match[1];\n title = title.substring(0, match.index).trim();\n }\n\n const matchLink = title.match(/(<a(.+)<\\/a>)/);\n if (matchLink) {\n if (matchLink.index + matchLink[0].length === title.length) {\n objectName = stripTags(matchLink[0]);\n }\n\n title = title.replace(matchLink[0], '').trim();\n }\n\n if (objectName) {\n // (1) If a Plesk page title contains some text and an object name then the input value is set to this text excluding one word preceding the object name.\n title = title.substring(0, title.lastIndexOf(' '));\n }\n\n if (title === '' && breadcrumbs.length > 2) {\n // (2) If a Plesk page title is empty or contains an object name only then the input value is set to the value of the last link in the breadcrumbs.\n title = breadcrumbs[breadcrumbs.length - 2]?.title ?? '';\n }\n\n return stripTags(unescapeHtml(title)).trim();\n};\n\nexport default getTitleForHelpSearchQuery;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PageLayout from './PageLayout';\n\nconst withPageLayout = (Component, extraProps) => {\n const Wrapper = wrapperProps => {\n const {\n baseUrl,\n showFrames,\n pageHeader,\n pageSidebar,\n pageContentHeader,\n pageTitle,\n withSecondary,\n secondary,\n isSecondaryCollapsed,\n width,\n bodyClass,\n integrationClass,\n ...props\n } = {\n ...wrapperProps,\n ...(typeof extraProps === 'function' ? extraProps(wrapperProps) : extraProps),\n };\n\n return (\n <PageLayout\n baseUrl={baseUrl}\n showFrames={showFrames}\n pageHeader={pageHeader}\n pageSidebar={pageSidebar}\n pageContentHeader={pageContentHeader}\n pageTitle={pageTitle}\n withSecondary={withSecondary}\n isSecondaryCollapsed={isSecondaryCollapsed}\n secondary={secondary}\n width={width}\n bodyClass={bodyClass}\n integrationClass={integrationClass}\n >\n <Component {...props} />\n </PageLayout>\n );\n };\n Wrapper.displayName = `withPageLayout(${Component.displayName || Component.name || 'Component'})`;\n Wrapper.WrappedComponent = Component;\n\n return Wrapper;\n};\n\nexport default withPageLayout;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport pageData from 'helpers/pageData';\nimport withPageLayout from './withPageLayout';\n\nconst withSimplePageLayout = (Component, extraProps) => withPageLayout(Component, props => {\n const { showFrames, pageHeader, pageSidebar } = pageData();\n const { breadcrumbs, helpContext } = typeof extraProps === 'function' ? extraProps(props) : extraProps;\n const pageTitle = breadcrumbs[breadcrumbs.length - 1].title;\n\n return {\n ...props,\n showFrames,\n pageHeader: {\n ...pageHeader,\n helpMenu: {\n ...pageHeader.helpMenu,\n helpContext,\n },\n },\n pageSidebar,\n pageContentHeader: {\n pageTitle,\n breadcrumbs: [pageSidebar.isPowerUserPanel ? null : {\n title: Locale.getSection('components.pages.home').lmsg('title'),\n href: '/admin/home',\n }, ...breadcrumbs].filter(Boolean),\n },\n pageTitle,\n };\n});\n\nexport default withSimplePageLayout;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Outlet } from 'react-router-dom';\nimport { usePageData } from 'helpers/pageData';\nimport PageLayout from 'components/layouts/PageLayout';\n\nconst PhpPagesLayout = () => {\n const data = usePageData();\n\n return (\n <PageLayout {...data}>\n <Outlet />\n </PageLayout>\n );\n};\n\nexport default PhpPagesLayout;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useRouteError, isRouteErrorResponse } from 'react-router-dom';\nimport { LocaleProvider } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport ErrorPage from 'common/components/ErrorPage';\nimport { isNetworkError } from 'helpers/isNetworkError';\n\nconst AppBoundary = () => {\n const error = useRouteError();\n\n // eslint-disable-next-line no-console\n console.error(error);\n\n if (isRouteErrorResponse(error)) {\n if (error.status === 404) {\n return (\n <LocaleProvider messages={Locale.getSection('controllers.error.error').messages}>\n <ErrorPage code=\"404\" message=\"Page Not Found\" />\n </LocaleProvider>\n );\n }\n }\n\n if (error.graphQLErrors?.length) {\n const [graphQLError] = error.graphQLErrors;\n return (\n <LocaleProvider messages={Locale.getSection('controllers.error.error').messages}>\n <ErrorPage\n code={graphQLError.extensions?.category === 'notFound' && '404'}\n exception={{\n type: graphQLError.extensions?.category === 'notFound' ? 'Not Found' : 'GraphQL Error',\n message: graphQLError.extensions?.debugMessage ?? graphQLError.message,\n file: graphQLError.trace?.[0].file,\n line: graphQLError.trace?.[0].line,\n stackTrace: graphQLError.trace?.map(({ call, file, line }, index) => `#${index} ${file}(${line}): ${call}`).join('\\n'),\n }}\n />\n </LocaleProvider>\n );\n }\n\n return (\n <LocaleProvider messages={Locale.getSection('controllers.error.error').messages}>\n <ErrorPage\n isNetworkError={isNetworkError(error)}\n exception={{\n type: error.name,\n message: error.message,\n stackTrace: error.stack,\n }}\n />\n </LocaleProvider>\n );\n};\n\nexport default AppBoundary;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Heading, Button, Text, Icon, ConsoleOutput, Translate } from '@plesk/ui-library';\nimport RepairKitAlert from './RepairKitAlert';\nimport ExceptionDetails from './ExceptionDetails';\nimport styles from './ErrorPage.module.css';\n\nconst descriptions = {\n 400: 'Your browser sent a request that this server could not understand. Client sent malformed Host header.',\n 401: 'This server could not verify that you are authorized to access the document requested.' +\n ' Either you supplied the wrong credentials (e.g., bad password), or your browser doesn\\'t understand how to supply the credentials required.',\n 403: 'You do not have permission to access this document.',\n 404: 'This page either doesn\\'t exist, or it moved somewhere else.',\n 405: 'The HTTP verb used to access this page is not allowed.',\n 406: 'Client browser does not accept the MIME type of the requested page.',\n 407: 'You must be authenticated by a proxy server before the Web server can execute your request.',\n 412: 'The request was not completed due to preconditions that are set in the request header.\\n' +\n ' Preconditions prevent the requested method from being applied to a resource other than the one intended.',\n 414: 'The Web server is refusing to service the request because the requested URL address is too long.',\n 415: 'The Web server cannot service the request because the requested file is in a format that the server is configured not to download.',\n 500: 'The server encountered an internal error or misconfiguration and was unable to complete your request.\\n' +\n ' Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.\\n' +\n ' More information about this error may be available in the server error log.',\n 501: 'The page you are looking for cannot be displayed because a header value in the request does not match certain configuration settings on the Web server.',\n 502: 'Web server received an invalid response while acting as a gateway or proxy server.',\n 503: 'The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.',\n};\n\nconst consoleOutputHtml = `<div class=\"console-output__title\">Plesk</div>\n<span id=\"initialize\" style=\"display: none\">Initializing… [ <span>----</span> ]</span>\n<span id=\"clone\" style=\"display: none\">Cloning… [ <span>----</span> ]</span>\n<span id=\"message\" style=\"display: none\"></span>\n\n<div id=\"done\" style=\"display: none\">\n___\n\nYour Plesk is almost ready.\nIn a few seconds, we'll take you there so that you can get started!\n</div>`;\n\nconst helpActions = () => (\n <>\n <Button className={styles.action} onClick={() => window.location.reload()}>\n <Translate content=\"reloadPage\" />\n </Button>\n {\n window.history.length > 1 &&\n <Button className={styles.action} onClick={() => window.history.back()}>\n <Translate content=\"backToPreviousPage\" />\n </Button>\n }\n <Button className={styles.action} component=\"a\" href=\"/\">\n <Translate content=\"homePage\" />\n </Button>\n </>\n);\n\nconst ErrorPage = ({\n code = null,\n message,\n noRepairKit = false,\n kbArticleUrl = null,\n exception = null,\n isNetworkError = false,\n}) => (\n <div className={styles.page}>\n <div className={classNames(styles.side, code === '503.1' ? styles.sideMaintenance : '')} />\n <div className={styles.main}>\n {isNetworkError ? (\n <>\n <header className={styles.header}>\n <Heading><Text intent=\"danger\"><Translate content=\"networkError\" /></Text></Heading>\n </header>\n <main>\n <div className={styles.description}>\n <p>\n <Translate content=\"networkErrorDescription\" />\n <br />\n <Translate content=\"helpActions\" />\n </p>\n <p />\n </div>\n {helpActions()}\n </main>\n </>\n ) : code === '503.1' ? (\n <>\n <header className={styles.header}>\n <Heading component=\"h1\" level={2}>{message}</Heading>\n </header>\n <main>\n <ConsoleOutput wide>\n {/* eslint-disable-next-line react/no-danger */}\n <div dangerouslySetInnerHTML={{ __html: consoleOutputHtml }} />\n </ConsoleOutput>\n <div className={styles.actions}>\n <Button className={styles.action} onClick={() => window.location.reload()}>\n <Translate content=\"reloadPage\" />\n </Button>\n </div>\n </main>\n </>\n ) : (\n <>\n <header className={styles.header}>\n {code ? <div><Translate content=\"title\" /></div> : null}\n <Heading><Text intent=\"danger\">{code ? `${code} ` : null}{exception ? exception.type : message}</Text></Heading>\n </header>\n <main>\n <div className={styles.description}>\n <p>{exception ? exception.message : descriptions[code]}</p>\n </div>\n {exception ? (\n <ExceptionDetails {...exception} />\n ) : null}\n {code && /^5\\d\\d$/.test(code) && !noRepairKit ? (\n <RepairKitAlert />\n ) : null}\n <div className={styles.actions}>\n <p>\n <Translate content=\"reportErrorMessage\" />{' '}\n <a href=\"https://www.plesk.com/bug-report/\" target=\"_blank\" rel=\"noopener noreferrer\">\n <Translate content=\"visitHelpCenter\" />\n </a>\n </p>\n <p><Translate content=\"helpActions\" /></p>\n {helpActions()}\n {kbArticleUrl ? (\n <Button className={styles.action} component=\"a\" href={kbArticleUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n <Translate content=\"searchKbArticle\" />\n </Button>\n ) : null}\n </div>\n </main>\n </>\n )}\n <footer className={styles.footer}>\n <div className={styles.footerLinks}>\n <a href=\"https://talk.plesk.com/forums/reports.746/\" className={styles.footerLink} target=\"_blank\" rel=\"noopener noreferrer\">\n <Icon size=\"32\" src=\"/error_docs/images/report.svg\" />\n <Translate className={styles.footerLinkText} content=\"reportProblem\" />\n </a>\n <a href=\"https://docs.plesk.com/\" className={styles.footerLink} target=\"_blank\" rel=\"noopener noreferrer\">\n <Icon size=\"32\" src=\"/error_docs/images/documentation.svg\" />\n <Translate className={styles.footerLinkText} content=\"documentation\" />\n </a>\n <a href=\"https://kb.plesk.com/\" className={styles.footerLink} target=\"_blank\" rel=\"noopener noreferrer\">\n <Icon size=\"32\" src=\"/error_docs/images/knowledge-base.svg\" />\n <Translate className={styles.footerLinkText} content=\"knowledgeBase\" />\n </a>\n <a href=\"https://talk.plesk.com/\" className={styles.footerLink} target=\"_blank\" rel=\"noopener noreferrer\">\n <Icon size=\"32\" src=\"/error_docs/images/forum.svg\" />\n <Translate className={styles.footerLinkText} content=\"forum\" />\n </a>\n <a href=\"https://www.youtube.com/channel/UCeU-_6YHGQFcVSHLbEXLNlA\" className={styles.footerLink} target=\"_blank\" rel=\"noopener noreferrer\">\n <Icon size=\"32\" src=\"/error_docs/images/youtube.svg\" />\n <Translate className={styles.footerLinkText} content=\"youTube\" />\n </a>\n <a href=\"https://www.facebook.com/Plesk\" className={styles.footerLink} target=\"_blank\" rel=\"noopener noreferrer\">\n <Icon size=\"32\" src=\"/error_docs/images/facebook.svg\" />\n <Translate className={styles.footerLinkText} content=\"facebook\" />\n </a>\n </div>\n </footer>\n </div>\n </div>\n);\n\nErrorPage.propTypes = {\n code: PropTypes.string,\n message: PropTypes.string.isRequired,\n noRepairKit: PropTypes.bool,\n kbArticleUrl: PropTypes.string,\n exception: PropTypes.shape({\n type: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n }),\n isNetworkError: PropTypes.bool,\n};\n\nexport default ErrorPage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Button, Text, Icon, Alert, Media, MediaSection, Translate } from '@plesk/ui-library';\n\nconst RepaitKitAlert = () => (\n <Alert intent=\"info\">\n <Media image={<Icon src=\"/error_docs/images/go-to-repair.png\" size=\"64\" />}>\n {window.location.pathname.indexOf('/repair') === 0 ? (\n <MediaSection>\n <Translate content=\"repairKitUnavailable\" />\n </MediaSection>\n ) : (\n <>\n <MediaSection>\n <Translate content=\"repairKitDescription\" />\n <br />\n <Translate content=\"repairKitAdminDescription\" />\n </MediaSection>\n <MediaSection>\n <Button component=\"a\" intent=\"primary\" href=\"/repair\">\n <Translate content=\"repairKitOpen\" />\n </Button>\n </MediaSection>\n <MediaSection>\n <Text intent=\"muted\"><Translate content=\"repairKitOpenNote\" /></Text>\n </MediaSection>\n </>\n )}\n </Media>\n </Alert>\n);\n\nexport default RepaitKitAlert;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Text, List, ConsoleOutput } from '@plesk/ui-library';\n\nconst ExceptionDetails = ({ type, message, file, line, stackTrace = null, codeFragment = null }) => {\n const data = [{\n key: 'type',\n title: 'Type',\n value: type,\n }, {\n key: 'message',\n title: 'Message',\n value: message,\n }, {\n key: 'file',\n title: 'File',\n value: file,\n }, {\n key: 'line',\n title: 'Line',\n value: line,\n }, {\n key: 'stackTrace',\n title: 'Stack trace',\n value: stackTrace && <ConsoleOutput wide>{stackTrace}</ConsoleOutput>,\n }, {\n key: 'codeFragment',\n title: 'Code fragment',\n value: codeFragment && (\n <ConsoleOutput wide>\n {/* eslint-disable-next-line react/no-danger */}\n <div dangerouslySetInnerHTML={{ __html: codeFragment }} />\n </ConsoleOutput>\n ),\n }].filter(({ value }) => value);\n\n if (!data.length) {\n return null;\n }\n\n return (\n <List\n columns={[{\n key: 'title',\n render(row) {\n return <Text bold>{row.title}</Text>;\n },\n }, {\n key: 'value',\n }]}\n data={data}\n />\n );\n};\n\nExceptionDetails.propTypes = {\n type: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n file: PropTypes.string.isRequired,\n line: PropTypes.string.isRequired,\n stackTrace: PropTypes.string,\n codeFragment: PropTypes.string,\n};\n\nexport default ExceptionDetails;\n","// extracted by mini-css-extract-plugin\nexport default {\"page\":\"common-components-ErrorPage-module__page--3BS7t\",\"header\":\"common-components-ErrorPage-module__header--ZsKwE\",\"side\":\"common-components-ErrorPage-module__side--CyBpF\",\"sideMaintenance\":\"common-components-ErrorPage-module__sideMaintenance--5fiUj\",\"main\":\"common-components-ErrorPage-module__main--icshs\",\"description\":\"common-components-ErrorPage-module__description--QJNnB\",\"actions\":\"common-components-ErrorPage-module__actions--xclR8\",\"action\":\"common-components-ErrorPage-module__action--l73ns\",\"footer\":\"common-components-ErrorPage-module__footer--10LMy\",\"footerLinks\":\"common-components-ErrorPage-module__footerLinks--vDGlC\",\"footerLink\":\"common-components-ErrorPage-module__footerLink--xg46v\",\"footerLinkText\":\"common-components-ErrorPage-module__footerLinkText--Q2RUW\"};","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useLayoutEffect } from 'react';\nimport { getComponent } from 'jsw';\n\nconst LogsPage = () => {\n useLayoutEffect(() => () => {\n getComponent('log-browser')?.remove();\n }, []);\n\n return null;\n};\n\nexport default LogsPage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState } from 'react';\nimport { List, ListProps, Pagination } from '@plesk/ui-library';\nimport { GraphQlListContext, GraphQlListContextType } from './GraphQlListContext';\nimport GraphQlListSearchBar from './GraphQlListSearchBar';\n\ntype GraphQlListProps <ListData extends Record<string, unknown>> = {\n emptyViewFiltered?: ListProps<ListData>['emptyView'];\n listContext: GraphQlListContextType;\n} & ListProps<ListData>;\n\nconst GraphQlList = <ListData extends Record<string, unknown>>({\n onSortChange,\n filtered,\n pagination,\n emptyView,\n emptyViewFiltered = undefined,\n listContext,\n ...listProps\n}: GraphQlListProps<ListData>) => {\n const { paginationProps, setSort } = listContext;\n\n const [prevFiltered, setPrevFiltered] = useState(filtered);\n const isLoadingOrFiltered = filtered || (listProps.loading && prevFiltered);\n if (!listProps.loading && prevFiltered !== filtered) {\n setPrevFiltered(filtered);\n }\n\n return (\n <GraphQlListContext.Provider value={listContext}>\n <List\n filtered={isLoadingOrFiltered}\n pagination={pagination || (paginationProps && <Pagination {...paginationProps} />)}\n emptyView={isLoadingOrFiltered ? emptyViewFiltered : emptyView}\n {...listProps}\n onSortChange={(...args) => {\n onSortChange?.(...args);\n const [sort] = args;\n setSort({ [sort.sortColumn]: sort.sortDirection });\n }}\n />\n </GraphQlListContext.Provider>\n );\n};\n\nGraphQlList.SearchBar = GraphQlListSearchBar;\n\nexport default GraphQlList;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { createContext } from 'react';\nimport { PaginationProps } from '@plesk/ui-library';\n\nexport type Filters = Record<string, string>;\n\nexport type SetSearchFilters = (filters: Filters | ((currentFilters?: Filters) => Filters)) => void;\nexport type SetFilters = (filters: Record<string, unknown>) => void;\nexport type SetSort = (sort: { [key: string]: 'ASC' | 'DESC' }) => void;\nexport type SetPage = (page: number) => void;\nexport type SetItemsPerPage = (itemsPerPage: NonNullable<PaginationProps['itemsPerPage']>) => void;\n\nexport type GraphQlListContextType = {\n listData: unknown;\n listInput: {\n searchFilters?: Record<string, string>;\n };\n setSearchFilters: SetSearchFilters;\n setFilters: SetFilters;\n setSort: SetSort;\n setPage: SetPage;\n setItemsPerPage: SetItemsPerPage;\n paginationProps: PaginationProps | undefined;\n};\n\nexport const GraphQlListContext = createContext<GraphQlListContextType>({} as GraphQlListContextType);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useContext, useState } from 'react';\nimport { SearchBar, SearchBarProps } from '@plesk/ui-library';\nimport { GraphQlListContext } from './GraphQlListContext';\n\ntype GraphQlListSearchBarProps = {\n name: string;\n} & SearchBarProps;\n\nconst GraphQlListSearchBar = ({\n name,\n inputProps = {},\n onSearch,\n onTyping,\n ...props\n}: GraphQlListSearchBarProps) => {\n const { listInput, setSearchFilters } = useContext(GraphQlListContext);\n const [value, setValue] = useState(listInput.searchFilters?.[name]);\n\n return (\n <SearchBar\n inputProps={{\n value,\n 'data-testid': 'list-searchbar',\n ...inputProps,\n }}\n {...props}\n onTyping={(...args) => {\n onTyping?.(...args);\n const [value] = args;\n setValue(value);\n }}\n onSearch={(...args) => {\n onSearch?.(...args);\n const [value] = args;\n setValue(value);\n setSearchFilters(currentFilters => ({\n ...currentFilters,\n [name]: value,\n }));\n }}\n />\n );\n};\n\nexport default GraphQlListSearchBar;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState } from 'react';\nimport { useQuery, FetchPolicy, TypedDocumentNode, QueryResult } from '@apollo/client';\nimport { PaginationProps } from '@plesk/ui-library';\nimport { useLocalStorage } from 'common/hooks';\nimport { ListPageInfo, ListSortInfo } from 'schema';\nimport {\n GraphQlListContextType,\n SetSearchFilters,\n SetFilters,\n SetSort,\n SetPage,\n SetItemsPerPage,\n} from './GraphQlListContext';\nimport { getGraphQlListInputStorageArgs } from './helpers';\n\nconst ITEMS_PER_PAGE_OPTIONS: PaginationProps['itemsPerPageOptions'] = [10, 25, 100, 'all'];\n\ntype BaseVariables = {\n input?: {\n pagination?: { page?: number; itemsPerPage?: number | null };\n searchFilters?: Record<string, string>;\n orderBy?: Record<string, 'ASC' | 'DESC'>;\n },\n [key: string]: unknown;\n};\n\ntype BaseListData = {\n nodes: Array<unknown>;\n pageInfo: ListPageInfo;\n sortInfo: ListSortInfo;\n};\n\ntype QueryOptions <TData, Variables extends BaseVariables> = {\n query: TypedDocumentNode<TData, Variables>;\n}\n\ntype UseGraphQlListOptions<\n TData,\n Variables extends BaseVariables,\n ListData extends BaseListData,\n> = {\n key: string;\n variables?: Omit<Variables, 'input'>;\n inputVariables?: Exclude<Variables['input'], BaseVariables['input']>;\n defaultInput?: NoInfer<Variables['input']>;\n onListInputChange: (listInput: NonNullable<Variables['input']>) => void;\n withNetworkOnlyStrategy?: boolean;\n withPagination?: boolean;\n extractList: (data: NoInfer<TData>) => ListData;\n};\n\ntype UseGraphQlListResult<\n TData,\n Variables extends BaseVariables,\n ListData extends BaseListData,\n> = {\n queryResult: QueryResult<TData, Variables>;\n listData: ListData | null;\n listInput: NonNullable<Variables['input']>;\n setSearchFilters: SetSearchFilters;\n setPage: SetPage;\n setItemsPerPage: SetItemsPerPage;\n setSort: SetSort;\n paginationProps: PaginationProps | undefined;\n listProps: {\n data: ListData['nodes'];\n loading: boolean;\n totalRows: number | undefined;\n listContext: GraphQlListContextType;\n },\n};\n\nconst useGraphQlList = <Data, Variables extends Record<string, unknown>, TListData extends BaseListData> ({\n key,\n query,\n defaultInput,\n variables,\n inputVariables,\n withNetworkOnlyStrategy = true,\n onListInputChange,\n withPagination = true,\n extractList,\n}: QueryOptions<Data, Variables> & UseGraphQlListOptions<Data, NoInfer<Variables>, TListData>,\n): UseGraphQlListResult<Data, Variables, TListData> => {\n type ListInput = NonNullable<Variables['input']> & BaseVariables['input'];\n\n const [fetchPolicy, setFetchPolicy] = useState<FetchPolicy | undefined>();\n const [listInput, setListInput] = useLocalStorage<ListInput>(\n ...getGraphQlListInputStorageArgs({ key, withPagination, defaultInput: defaultInput as ListInput }),\n );\n\n const queryResult = useQuery(query, {\n variables: {\n input: { ...listInput, ...(inputVariables || {}) },\n ...(variables || {}),\n } as unknown as Variables,\n fetchPolicy,\n });\n const queryData = (queryResult.data || queryResult.previousData);\n const listData = queryData ? extractList(queryData) : null;\n\n const handleListInputChange = (listInput: ListInput) => {\n setListInput(listInput);\n withNetworkOnlyStrategy && setFetchPolicy('network-only');\n onListInputChange && onListInputChange(listInput);\n };\n\n const setSearchFilters: SetSearchFilters = filters => {\n const result = typeof filters === 'function' ? filters(listInput.searchFilters) : filters;\n handleListInputChange({\n ...listInput,\n searchFilters: result,\n pagination: { ...listInput.pagination, page: 1 },\n });\n };\n\n const setFilters: SetFilters = ({ searchFilters, ...filters }) => {\n const newListInput = {\n ...listInput,\n ...filters,\n pagination: { ...listInput.pagination, page: 1 },\n };\n\n if (listInput.searchFilters || searchFilters) {\n newListInput.searchFilters = {\n ...(listInput.searchFilters ?? {}),\n ...(searchFilters ?? {}),\n };\n }\n\n handleListInputChange(newListInput);\n };\n\n const setSort: SetSort = orderBy => handleListInputChange({ ...listInput, orderBy });\n\n const setPage: SetPage = page => handleListInputChange({\n ...listInput,\n pagination: { ...listInput.pagination, page },\n });\n\n const setItemsPerPage: SetItemsPerPage = itemsPerPage => handleListInputChange({\n ...listInput,\n pagination: {\n page: 1,\n itemsPerPage: itemsPerPage === 'all' ? null : +itemsPerPage,\n },\n });\n\n const paginationProps: PaginationProps | undefined = withPagination && listData ? {\n current: listData.pageInfo.current as number,\n total: listData.pageInfo.pageCount as number,\n onSelect: setPage,\n itemsPerPage: listInput.pagination?.itemsPerPage ?? 'all',\n itemsPerPageOptions: ITEMS_PER_PAGE_OPTIONS,\n onItemsPerPageChange: setItemsPerPage,\n } : undefined;\n\n return {\n queryResult,\n listData,\n listInput,\n setSearchFilters,\n setPage,\n setItemsPerPage,\n setSort,\n paginationProps,\n listProps: {\n listContext: {\n listData,\n listInput,\n setSearchFilters,\n setFilters,\n setSort,\n setPage,\n setItemsPerPage,\n paginationProps,\n },\n // List component props\n ...(listData?.sortInfo ?? {}),\n loading: queryResult.loading,\n data: listData?.nodes || [],\n totalRows: listData?.pageInfo.total,\n },\n };\n};\n\nexport default useGraphQlList;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { readLocalStorageValue } from 'common/helpers/readLocalStorageValue';\n\nconst DEFAULT_INPUT = {\n pagination: { page: 1, itemsPerPage: 25 },\n};\n\n// Bump version after GraphQL API changes to prevent reading of invalid input from storage\nconst VERSION = 2;\n\ntype Options <ListInput> = {\n key: string;\n withPagination?: boolean;\n defaultInput?: ListInput;\n};\n\nexport const getGraphQlListInputStorageArgs = <ListInput> ({\n key,\n withPagination = true,\n defaultInput,\n}: Options<ListInput>) => [\n `${key}ListInput.v${VERSION}`,\n defaultInput || (withPagination ? DEFAULT_INPUT : {}) as ListInput,\n] as const;\n\nexport const readGraphQlListInputFromStorage = <ListInput> (\n options: Options<ListInput>,\n) => readLocalStorageValue(...getGraphQlListInputStorageArgs(options));\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from 'apolloClient';\n\nconst getChildrenPath = (path, isDomainRoute) => isDomainRoute ? path : `:domainId/${path}`;\n\nexport const databaseListRoute = ({ path, createPageDataLoader, isDomainRoute = false }) => ({\n path,\n componentLoader: () => import(\n /* webpackChunkName: \"views/smb/database/list\" */\n 'views/smb/database/list'\n ),\n loader: createPageDataLoader(),\n children: [\n {\n path: getChildrenPath('add', isDomainRoute),\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/DatabasesPage/AddDatabase\" */\n 'components/pages/DatabasesPage/AddDatabase'\n ),\n loader: createPageDataLoader('/smb/database/create-data/domainId/:domainId'),\n handle: { isOverlay: true },\n },\n {\n path: getChildrenPath(':databaseId/connection-info', isDomainRoute),\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/DatabasesPage/ConnectionInfo\" */\n 'components/pages/DatabasesPage/ConnectionInfo'\n ),\n loader: async ({ params }) => {\n const { data } = await apolloClient.query({\n query: require('components/pages/DatabasesPage/ConnectionInfo.graphql'),\n variables: { id: btoa(`Database:${params.databaseId}`) },\n });\n\n return data;\n },\n handle: { isOverlay: true },\n },\n {\n path: getChildrenPath(':databaseId/copy', isDomainRoute),\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/DatabasesPage/CopyDatabase\" */\n 'components/pages/DatabasesPage/CopyDatabase'\n ),\n loader: createPageDataLoader(\n '/smb/database/clone-data/domainId/:domainId/id/:databaseId',\n ),\n handle: { isOverlay: true },\n },\n {\n path: getChildrenPath(':databaseId/import', isDomainRoute),\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/DatabasesPage/ImportDatabase\" */ 'components/pages/DatabasesPage/ImportDatabase'\n ),\n loader: createPageDataLoader('/smb/database/clone-data/domainId/:domainId/id/:databaseId'),\n handle: { isOverlay: true },\n },\n {\n path: getChildrenPath(':databaseId/dump', isDomainRoute),\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/DatabasesPage/ExportDatabase\" */ 'components/pages/DatabasesPage/ExportDatabase'\n ),\n loader: createPageDataLoader('/smb/database/clone-data/domainId/:domainId/id/:databaseId'),\n handle: { isOverlay: true },\n },\n {\n path: getChildrenPath(':databaseId/assign', isDomainRoute),\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/DatabasesPage/MoveToSubscription\" */\n 'components/pages/DatabasesPage/MoveToSubscription',\n ),\n loader: async ({ params }) => {\n const { data } = await apolloClient.query({\n query: require('components/pages/DatabasesPage/MoveToSubscription.graphql'),\n variables: { databaseId: btoa(`Database:${params.databaseId}`) },\n });\n\n return data;\n },\n handle: { isOverlay: true },\n },\n ],\n});\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseConnectionInfo\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"database\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Database\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fork\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultUser\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"users\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":422}};\n doc.loc.source = {\"body\":\"query DatabaseConnectionInfo($id: ID!) {\\n database: node(id: $id) {\\n ... on Database {\\n id\\n name\\n server {\\n type\\n fork\\n host\\n port\\n }\\n defaultUser {\\n id\\n login\\n }\\n users {\\n id\\n login\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseConnectionInfo\"] = oneQuery(doc, \"DatabaseConnectionInfo\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MoveToSubscriptionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"database\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Database\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":455}};\n doc.loc.source = {\"body\":\"query MoveToSubscriptionPage($databaseId: ID!) {\\n viewer {\\n login\\n client {\\n id\\n subscriptions {\\n nodes {\\n id\\n mainDomain {\\n id\\n name\\n }\\n }\\n }\\n }\\n }\\n database: node(id: $databaseId) {\\n ...on Database {\\n id\\n name\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MoveToSubscriptionPage\"] = oneQuery(doc, \"MoveToSubscriptionPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport { odbcAddRoute } from 'routes/odbcAddRoute';\nimport { odbcEditRoute } from 'routes/odbcEditRoute';\nimport apolloClient from '../apolloClient';\n\nimport ODBC_SERVER_LIST from 'queries/OdbcServerList.graphql';\n\nexport const odbcServerRoute = {\n path: 'odbc',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/OdbcPage/OdbcServerPage\" */\n 'components/pages/OdbcPage/OdbcServerPage'\n ),\n loader: async () => {\n const input = readGraphQlListInputFromStorage({ key: 'OdbcServerPage' });\n await apolloClient.query({\n query: ODBC_SERVER_LIST,\n variables: { input },\n });\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('odbcServer'),\n }),\n helpContext: 'odbc_connection_config',\n },\n children: [\n odbcAddRoute,\n odbcEditRoute,\n ],\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from 'apolloClient';\n\nimport ODBC_ADD_PAGE from 'queries/OdbcAddPage.graphql';\n\nexport const odbcAddRoute = {\n path: 'add',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/OdbcAddPage\" */\n 'components/pages/OdbcAddPage'\n ),\n loader: async ({ params }) => {\n const { data: { dsnManager: { drivers } } } = await apolloClient.query({\n query: ODBC_ADD_PAGE,\n });\n\n return { domainId: params.domainId, drivers };\n },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcAddPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dsnManager\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"drivers\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":61}};\n doc.loc.source = {\"body\":\"query OdbcAddPage {\\n dsnManager {\\n drivers\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcAddPage\"] = oneQuery(doc, \"OdbcAddPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from '../apolloClient';\n\nimport ODBC_EDIT_PAGE from 'queries/OdbcEditPage.graphql';\n\nexport const odbcEditRoute = {\n path: ':odbcId/edit',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/OdbcEditPage\" */\n 'components/pages/OdbcEditPage'\n ),\n loader: async ({ params }) => {\n const id = btoa(`OdbcDsnConnection:${params.odbcId}`);\n\n await apolloClient.query({\n query: ODBC_EDIT_PAGE,\n variables: { id },\n });\n\n return { odbcId: params.odbcId };\n },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"connection\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcEditFragment\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":143}};\n doc.loc.source = {\"body\":\"#import \\\"queries/OdbcEditFragment.graphql\\\"\\n\\nquery OdbcEditPage($id: ID!) {\\n connection: node(id: $id) {\\n ...OdbcEditFragment\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/OdbcEditFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcEditPage\"] = oneQuery(doc, \"OdbcEditPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcEditFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnection\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"driverType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parameters\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyHuman\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRequired\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fieldType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"values\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":191}};\n doc.loc.source = {\"body\":\"fragment OdbcEditFragment on OdbcDsnConnection {\\n id\\n driverType\\n parameters {\\n key\\n keyHuman\\n isRequired\\n fieldType\\n value\\n values\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcEditFragment\"] = oneQuery(doc, \"OdbcEditFragment\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcServerList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnectionListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"odbcDsnConnections\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcList\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":285}};\n doc.loc.source = {\"body\":\"#import \\\"./OdbcListFragment.graphql\\\"\\n\\nquery OdbcServerList(\\n $input: OdbcDsnConnectionListInput\\n) {\\n server {\\n odbcDsnConnections(\\n input: $input\\n ) {\\n ...OdbcList\\n nodes {\\n domainName\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./OdbcListFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcServerList\"] = oneQuery(doc, \"OdbcServerList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcList\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnectionList\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"driver\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configured\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSystem\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":291}};\n doc.loc.source = {\"body\":\"fragment OdbcList on OdbcDsnConnectionList {\\n nodes {\\n id\\n name\\n description\\n driver\\n configured\\n isSystem\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcList\"] = oneQuery(doc, \"OdbcList\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport apolloClient from '../apolloClient';\nimport { gql } from '@apollo/client';\n\nimport HOSTING_SETTINGS_PAGE from 'queries/HostingSettingsPage.graphql';\n\nexport const useGetDomainOverviewRoutePath = () => {\n const { pathname } = useLocation();\n\n return useCallback((id, type, path) => (\n pathname.includes('overview')\n ? `/smb/web/overview/id/${id}/type/${type}/${path}`\n : `/smb/web/view/${id}/${path}`\n ), [pathname]);\n};\n\nexport default [\n {\n path: 'hosting-settings',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HostingSettingsPage\" */'components/pages/HostingSettingsPage'),\n loader: async ({ params }) => {\n const { data: { viewer: { type } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n }\n }\n `,\n });\n const { data } = await apolloClient.query({\n query: HOSTING_SETTINGS_PAGE,\n variables: { id: btoa(`Domain:${params.id}`), withIpAddresses: ['ADMIN', 'RESELLER'].includes(type) },\n });\n return data;\n },\n handle: { isOverlay: true },\n },\n {\n path: 'connection-info',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ConnectionInfo\" */'components/pages/ConnectionInfo'),\n handle: { isOverlay: true },\n },\n];\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HostingSettingsPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"withIpAddresses\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":false},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmbImpersonated\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidSubscriptionRename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferredDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6Supported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidFtpUserRename\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"securitySettingsPreset\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sslRedirect\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fastcgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"writeModify\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDeploy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"perl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"python\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shell\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemUser\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"access\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shells\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"empty\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"chrooted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSecure\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"emptyShell\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyShell\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstatPackages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parentDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"withIpAddresses\"}}}]}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"availableIpAddresses\"},\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysUser\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"quota\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shell\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSecureSettingsPresetAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageWebsitesAndDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageHosting\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageHostingSsl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageQuota\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageShellAccess\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageNotChrootedShell\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowInsecureSites\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageHostingSsi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageErrorDocs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageAdditionPermissions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageWebstat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageWebDeploy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowInsecureSites\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowToChangeHtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"htype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"documentRoot\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferredDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasInstalledApplications\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSameSsl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forwarding\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"redirect\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sslSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sslRedirect\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificateId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableCertificates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"repository\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspNetSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"versions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstatSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstatProtected\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssiHtml\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgiMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgiModeOptions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fastcgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"perl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"python\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDeploy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"writeModify\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":4434}};\n doc.loc.source = {\"body\":\"query HostingSettingsPage($id: ID!, $withIpAddresses: Boolean = false) {\\n mode {\\n isSimplePanel\\n isDemo\\n }\\n viewer {\\n isSmbImpersonated\\n login\\n type\\n }\\n server {\\n settings {\\n forbidSubscriptionRename\\n preferredDomain\\n isIPv6Supported\\n forbidFtpUserRename\\n }\\n securitySettingsPreset {\\n ssl\\n sslRedirect\\n asp\\n aspDotNet\\n cgi\\n fastcgi\\n webstat\\n writeModify\\n webDeploy\\n ssi\\n errorDocs\\n perl\\n python\\n shell\\n }\\n }\\n os {\\n isUnix\\n }\\n capability {\\n systemUser {\\n access {\\n shells {\\n name\\n value\\n empty\\n chrooted\\n isSecure\\n }\\n emptyShell\\n }\\n }\\n }\\n primaryKey {\\n pleskKeyId\\n keyShell\\n }\\n capability {\\n packages {\\n webstatPackages {\\n name\\n value\\n }\\n }\\n }\\n domain: node(id: $id) {\\n ... on Domain {\\n id\\n name(idn: false)\\n isDemo\\n baseDomain {\\n id\\n }\\n parentDomain {\\n name(idn: false)\\n }\\n ipAddresses {\\n id\\n isIPv6\\n ipAddress\\n publicIpAddress\\n }\\n owner @include(if: $withIpAddresses) {\\n id\\n ipAddresses {\\n id\\n type\\n isIPv6\\n ipAddress\\n publicIpAddress\\n isBroken\\n clients {\\n id\\n }\\n }\\n availableIpAddresses: ipAddresses(filter: {unassigned: true}) {\\n id\\n type\\n isIPv6\\n ipAddress\\n publicIpAddress\\n isBroken\\n }\\n }\\n sysUser {\\n login\\n quota\\n shell\\n }\\n subscription {\\n isSecureSettingsPresetAllowed\\n permissions {\\n manageDomains\\n manageSubdomains\\n manageWebsitesAndDomains\\n manageHosting\\n manageHostingSsl\\n manageQuota\\n manageShellAccess\\n manageNotChrootedShell\\n allowInsecureSites\\n manageHostingSsi\\n manageErrorDocs\\n manageAdditionPermissions\\n manageWebstat\\n manageWebDeploy\\n allowInsecureSites\\n }\\n mainDomain {\\n id\\n name(idn: false)\\n }\\n domains {\\n id\\n name(idn: false)\\n }\\n }\\n allowToChangeHtype\\n htype\\n hosting {\\n documentRoot\\n preferredDomain\\n hasInstalledApplications\\n isSameSsl\\n }\\n forwarding {\\n code\\n redirect\\n }\\n sslSettings {\\n ssl\\n sslRedirect\\n certificateId\\n availableCertificates {\\n id\\n name\\n repository\\n }\\n }\\n aspNetSettings {\\n versions\\n configs {\\n version\\n }\\n }\\n webstatSettings {\\n webstat\\n webstatProtected\\n }\\n webScriptingSettings {\\n ssi\\n ssiHtml\\n cgi\\n cgiMode\\n cgiModeOptions\\n fastcgi\\n asp\\n aspDotNet\\n perl\\n python\\n webDeploy\\n errorDocs\\n writeModify\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HostingSettingsPage\"] = oneQuery(doc, \"HostingSettingsPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from '../apolloClient';\nimport { gql } from '@apollo/client';\nimport { redirect } from 'react-router-dom';\nimport { getId } from 'helpers/getId';\nimport { Locale } from 'jsw';\n\nconst ROUTE = 'summary-report';\n\nexport const summaryReportChildrenRoute = {\n path: ROUTE,\n children: [{\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\n }),\n },\n children: [{\n path: 'layouts',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportLayoutsPage\" */'components/pages/SummaryReportLayoutsPage'),\n loader: async () => {\n const { data } = await apolloClient.query({\n query: require('queries/SummaryReportLayoutsPage.graphql'),\n });\n return data;\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('summaryReportLayouts'),\n }),\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report.layout' : 'reseller.report.layout',\n },\n children: [{\n path: 'add',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/SummaryReportLayoutsPage/AddPage\" */\n 'components/pages/SummaryReportLayoutsPage/AddPage'\n ),\n loader: async () => {\n const { data } = await apolloClient.query({\n query: require('queries/SummaryReportLayoutAddPage.graphql'),\n });\n return data;\n },\n }, {\n path: ':layoutId/edit',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/SummaryReportLayoutsPage/EditPage\" */\n 'components/pages/SummaryReportLayoutsPage/EditPage'\n ),\n loader: async ({ params: { layoutId } }) => {\n const { data } = await apolloClient.query({\n query: require('queries/SummaryReportLayoutEditPage.graphql'),\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\n });\n return data;\n },\n }],\n }, {\n path: 'traffic-history',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/TrafficHistoryReportPage\" */'components/pages/TrafficHistoryReportPage'),\n loader: async () => {\n const { data } = await apolloClient.query({\n query: require('queries/TrafficHistoryReportPage.graphql'),\n });\n return data;\n },\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('summaryReportTrafficHistory'),\n }),\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report.traffic-history' : 'reseller.report.traffic-history',\n },\n }],\n }, {\n path: ':layoutId',\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\n }),\n },\n children: [{\n path: 'schedule',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportSchedulesPage\" */'components/pages/SummaryReportSchedulesPage'),\n loader: async ({ params: { layoutId } }) => {\n const { data } = await apolloClient.query({\n query: require('queries/SummaryReportSchedulesPage.graphql'),\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\n });\n return data;\n },\n handle: {\n crumb: ({ data: { summaryReportLayout: { name } } }) => ({\n title: Locale.getSection('components.routes').lmsg('summaryReportSchedule', { name }),\n }),\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report.layout.auto' : 'reseller.report.layout.auto',\n },\n children: [{\n path: 'add',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/SummaryReportSchedulesPage\" */\n 'components/pages/SummaryReportSchedulesPage/AddPage'\n ),\n loader: async ({ params: { layoutId } }) => {\n const { data } = await apolloClient.query({\n query: require('queries/SummaryReportScheduleAddPage.graphql'),\n variables: {\n layoutId: btoa(`SummaryReportLayout:${layoutId}`),\n },\n });\n return data;\n },\n }, {\n path: ':scheduleId/edit',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/SummaryReportSchedulesPage\" */\n 'components/pages/SummaryReportSchedulesPage/EditPage'\n ),\n loader: async ({ params: { scheduleId, layoutId } }) => {\n const { data } = await apolloClient.query({\n query: require('queries/SummaryReportScheduleEditPage.graphql'),\n variables: {\n scheduleId: btoa(`SummaryReportSchedule:${scheduleId}`),\n layoutId: btoa(`SummaryReportLayout:${layoutId}`),\n },\n });\n return data;\n },\n }],\n },\n {\n path: 'print',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportPage\" */'components/pages/SummaryReportPage/SummaryReportPrintPage'),\n loader: async ({ params: { layoutId } }) => {\n await apolloClient.query({\n query: require('queries/SummaryReportPrintPage.graphql'),\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\n });\n },\n handle: {\n noLayout: true,\n },\n }],\n },\n ],\n};\n\nexport const summaryReportRoute = ({ ignoreTopLevelTitle = false } = {}) => ({\n path: ROUTE,\n handle: {\n crumb: () => ignoreTopLevelTitle ? [] : {\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\n },\n },\n children: [{\n index: true,\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\n }),\n },\n loader: async () => {\n const { data: { viewer: { summaryReportLayouts } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n summaryReportLayouts {\n id\n isDefault\n }\n }\n }\n `,\n });\n\n const defaultId = summaryReportLayouts.find(({ isDefault }) => isDefault)?.id ?? summaryReportLayouts[0]?.id;\n if (defaultId) {\n return redirect(getId(defaultId));\n }\n\n throw new Response('Not Found', { status: 404 });\n },\n\n }, {\n path: ':layoutId',\n children: [{\n index: true,\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportPage\" */'components/pages/SummaryReportPage'),\n loader: async ({ params: { layoutId } }) => {\n const { data } = await apolloClient.query({\n query: require('queries/SummaryReportPage.graphql'),\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\n });\n return data;\n },\n handle: {\n crumb: () => ignoreTopLevelTitle ? [] : [{\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\n }],\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report' : 'reseller.report',\n },\n }],\n },\n ],\n});\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayoutsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"summaryReportLayouts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"general\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schedules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageCustomers\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":469}};\n doc.loc.source = {\"body\":\"query SummaryReportLayoutsPage {\\n viewer {\\n login\\n type\\n summaryReportLayouts {\\n name\\n isDefault\\n id\\n general\\n resellers\\n clients\\n personalClients\\n domains\\n personalDomains\\n schedules {\\n id\\n isEnabled\\n }\\n }\\n }\\n mode {\\n canManageResellers\\n canManageCustomers\\n }\\n}\\n\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportLayoutsPage\"] = oneQuery(doc, \"SummaryReportLayoutsPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayoutAddPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageCustomers\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":154}};\n doc.loc.source = {\"body\":\"query SummaryReportLayoutAddPage {\\n mode {\\n canManageResellers\\n canManageCustomers\\n }\\n viewer {\\n login\\n type\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportLayoutAddPage\"] = oneQuery(doc, \"SummaryReportLayoutAddPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayoutEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"general\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalDomains\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":334}};\n doc.loc.source = {\"body\":\"query SummaryReportLayoutEditPage($id: ID!) {\\n summaryReportLayout: node(id: $id) {\\n ... on SummaryReportLayout {\\n id\\n name\\n isDefault\\n general\\n resellers\\n clients\\n personalClients\\n domains\\n personalDomains\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportLayoutEditPage\"] = oneQuery(doc, \"SummaryReportLayoutEditPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficHistoryReportPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficHistory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":240}};\n doc.loc.source = {\"body\":\"query TrafficHistoryReportPage {\\n viewer {\\n login\\n type\\n client {\\n id\\n trafficHistory {\\n year\\n month\\n trafficUsage\\n }\\n }\\n }\\n}\\n\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficHistoryReportPage\"] = oneQuery(doc, \"TrafficHistoryReportPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportSchedulesPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schedules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastSentDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":438}};\n doc.loc.source = {\"body\":\"query SummaryReportSchedulesPage($id: ID!) {\\n viewer {\\n login\\n type\\n client {\\n id\\n email\\n }\\n }\\n summaryReportLayout: node(id: $id) {\\n ... on SummaryReportLayout {\\n id\\n name\\n schedules {\\n id\\n isEnabled\\n period\\n lastSentDate\\n email\\n }\\n }\\n }\\n}\\n\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportSchedulesPage\"] = oneQuery(doc, \"SummaryReportSchedulesPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportScheduleAddPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":280}};\n doc.loc.source = {\"body\":\"query SummaryReportScheduleAddPage($layoutId: ID!) {\\n viewer {\\n login\\n client {\\n id\\n email\\n }\\n }\\n summaryReportLayout: node(id: $layoutId) {\\n ... on SummaryReportLayout {\\n id\\n name\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportScheduleAddPage\"] = oneQuery(doc, \"SummaryReportScheduleAddPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportScheduleEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"scheduleId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportSchedule\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"scheduleId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportSchedule\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":457}};\n doc.loc.source = {\"body\":\"query SummaryReportScheduleEditPage($scheduleId: ID!, $layoutId: ID!) {\\n viewer {\\n login\\n client {\\n id\\n email\\n }\\n }\\n summaryReportSchedule: node(id: $scheduleId) {\\n ... on SummaryReportSchedule {\\n id\\n period\\n email\\n }\\n }\\n summaryReportLayout: node(id: $layoutId) {\\n ... on SummaryReportLayout {\\n id\\n name\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportScheduleEditPage\"] = oneQuery(doc, \"SummaryReportScheduleEditPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportPrintPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportFragment\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSitebuilderAvailable\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":350}};\n doc.loc.source = {\"body\":\"#import \\\"./SummaryReportFragment.graphql\\\"\\n\\nquery SummaryReportPrintPage($id: ID!) {\\n summaryReportLayout: node(id: $id) {\\n ... on SummaryReportLayout {\\n id\\n data {\\n ...SummaryReportFragment\\n }\\n }\\n }\\n os {\\n isUnix\\n }\\n server {\\n isSitebuilderAvailable\\n }\\n}\\n\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./SummaryReportFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportPrintPage\"] = oneQuery(doc, \"SummaryReportPrintPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportData\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"general\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"build\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerLogin\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fax\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"addr\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"city\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pcode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"creationDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellersList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resProblem\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resActiveClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resActiveDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clProblem\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clActiveDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalClients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clProblem\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clActiveDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"diskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"traffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"postboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pgsqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sitebuilderSites\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domHtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalDomains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"diskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"traffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"postboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pgsqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sitebuilderSites\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domHtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2751}};\n doc.loc.source = {\"body\":\"fragment SummaryReportFragment on SummaryReportData {\\n general {\\n version\\n build\\n cname\\n pname\\n ownerPname\\n ownerLogin\\n login\\n phone\\n fax\\n email\\n addr\\n city\\n state\\n pcode\\n country\\n creationDate\\n description\\n}\\n\\nresellers {\\n resellers\\n activeResellers\\n resellersList {\\n resProblem\\n resStatus\\n resPname\\n resCrDate\\n resActiveClients\\n resClients\\n resDiskSpace\\n resTraffic\\n resActiveDomains\\n resDomains\\n resSubdomains\\n resPostboxes\\n resMailGroups\\n resMailResps\\n resMailLists\\n resWebUsers\\n resDataBases\\n resMssqlDataBases\\n resPgsqlDataBases\\n }\\n}\\nclients {\\n clients\\n activeClients\\n clientsList {\\n clProblem\\n clStatus\\n clPname\\n clOwner\\n clCrDate\\n clDiskSpace\\n clTraffic\\n clActiveDomains\\n clDomains\\n clSubdomains\\n clPostboxes\\n clMailGroups\\n clMailResps\\n clMailLists\\n clWebUsers\\n clDataBases\\n clMssqlDataBases\\n clPgsqlDataBases\\n }\\n}\\npersonalClients {\\n clients\\n activeClients\\n clientsList {\\n clProblem\\n clStatus\\n clPname\\n clOwner\\n clCrDate\\n clDiskSpace\\n clTraffic\\n clActiveDomains\\n clDomains\\n clSubdomains\\n clPostboxes\\n clMailGroups\\n clMailResps\\n clMailLists\\n clWebUsers\\n clDataBases\\n clMssqlDataBases\\n clPgsqlDataBases\\n }\\n}\\ndomains {\\n diskSpace\\n traffic\\n activeDomains\\n subdomains\\n postboxes\\n mailGroups\\n mailResps\\n mailLists\\n webUsers\\n dataBases\\n mssqlDataBases\\n pgsqlDataBases\\n sitebuilderSites\\n domains\\n domainsList {\\n domStatus\\n domHtype\\n domName\\n domOwner\\n domCrDate\\n domDiskSpace\\n domTraffic\\n domSubdomains\\n domPostboxes\\n domMailGroups\\n domMailResps\\n domMailLists\\n domWebUsers\\n domDataBases\\n domMssqlDataBases\\n domPgsqlDataBases\\n }\\n}\\npersonalDomains {\\n diskSpace\\n traffic\\n activeDomains\\n subdomains\\n postboxes\\n mailGroups\\n mailResps\\n mailLists\\n webUsers\\n dataBases\\n mssqlDataBases\\n pgsqlDataBases\\n sitebuilderSites\\n domains\\n domainsList {\\n domStatus\\n domHtype\\n domName\\n domOwner\\n domCrDate\\n domDiskSpace\\n domTraffic\\n domSubdomains\\n domPostboxes\\n domMailGroups\\n domMailResps\\n domMailLists\\n domWebUsers\\n domDataBases\\n domMssqlDataBases\\n domPgsqlDataBases\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportFragment\"] = oneQuery(doc, \"SummaryReportFragment\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"summaryReportLayouts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportFragment\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyTraffic\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSitebuilderAvailable\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":603}};\n doc.loc.source = {\"body\":\"#import \\\"./SummaryReportFragment.graphql\\\"\\n\\nquery SummaryReportPage($id: ID!) {\\n viewer {\\n login\\n type\\n client {\\n id\\n email\\n type\\n }\\n summaryReportLayouts {\\n name\\n id\\n }\\n }\\n summaryReportLayout: node(id: $id) {\\n ... on SummaryReportLayout {\\n id\\n data {\\n ...SummaryReportFragment\\n }\\n }\\n }\\n primaryKey {\\n pleskKeyId\\n keyTraffic\\n }\\n os {\\n isUnix\\n }\\n server {\\n isSitebuilderAvailable\\n }\\n}\\n\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./SummaryReportFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportPage\"] = oneQuery(doc, \"SummaryReportPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport pageData from 'helpers/pageData';\nimport { getId } from 'helpers/getId';\nimport { getContextUrl } from 'helpers/getContextUrl';\nimport { aspDotNetDomainSettingsRoute } from 'routes/aspDotNetDomainSettingsRoute';\nimport { bandwidthLimitingDomainRoute } from 'routes/bandwidthLimitingDomainRoute';\nimport { hotlinkProtectionDomainRoute } from 'routes/hotlinkProtectionDomainRoute';\nimport { odbcDomainRoute } from 'routes/odbcDomainRoute';\nimport { protectedDirectoriesRoute } from 'routes/protectedDirectoriesRoute';\nimport { virtualDirectoryRoute } from './virtualDirectoryRoute';\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\nimport apolloClient from '../apolloClient';\n\nimport DOMAIN_PAGE from 'queries/DomainPage.graphql';\n\nexport const domainRoute = () => ({\n path: 'domains/:domainId',\n loader: async ({ params }) => {\n const id = btoa(`Domain:${params.domainId}`);\n\n const { data } = await apolloClient.query({\n query: DOMAIN_PAGE,\n variables: { id },\n });\n\n return data;\n },\n handle: {\n crumb: ({ data, matchesContext }) => {\n matchesContext.domainRouteData = data;\n\n const { domain } = data;\n let { baseDomain } = data;\n baseDomain = domain.baseDomain || domain;\n\n const { pageSidebar } = pageData();\n const { isPowerUserPanel, navigationContext } = pageSidebar;\n\n const domainId = getId(domain.id);\n const baseDomainId = getId(baseDomain.id);\n\n const crumbs = [\n {\n title: Locale.getSection('components.routes').lmsg('subscriptions'),\n href: '/admin/subscription/list',\n show: !isPowerUserPanel && navigationContext === 'subscriptions',\n },\n {\n title: `<b>${baseDomain.name}</b>`,\n href: `/admin/subscription/overview/id/${baseDomainId}`,\n show: !isPowerUserPanel && navigationContext === 'subscriptions',\n },\n {\n title: Locale.getSection('components.routes').lmsg('domains'),\n href: '/admin/domain/list',\n show: !isPowerUserPanel && navigationContext === 'domains',\n },\n {\n title: Locale.getSection('components.routes').lmsg('web'),\n href: getContextUrl(baseDomainId, '/smb/web/view'),\n show: isPowerUserPanel || navigationContext === 'subscriptions',\n },\n {\n title: domain.name,\n href: getContextUrl(baseDomainId, `/smb/web/overview/id/${domainId}/type/domain`),\n },\n ].filter(({ show = true }) => show);\n\n return crumbs;\n },\n },\n children: [\n aspDotNetDomainSettingsRoute,\n bandwidthLimitingDomainRoute,\n hotlinkProtectionDomainRoute,\n odbcDomainRoute,\n protectedDirectoriesRoute,\n virtualDirectoryRoute,\n trafficUsageByDomainRoute({ path: 'traffic-usage' }),\n ],\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport pageData from './pageData';\n\nexport const getContextUrl = (domainId: string | number, url: string): string => {\n const { pageSidebar } = pageData();\n const returnUrl = encodeURIComponent(url);\n return pageSidebar?.isPowerUserPanel\n ? `/smb/account/switch/id/${domainId}?hideNotice=1&returnUrl=${returnUrl}`\n : `/admin/subscription/login/id/${domainId}?pageUrl=${returnUrl}`;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from 'apolloClient';\n\nimport ASP_DOT_NET_DOMAIN_SETTINGS_PAGE from 'queries/AspDotNetDomainSettingsPage.graphql';\n\nexport const aspDotNetDomainSettingsRoute = {\n path: 'asp-dot-net-settings',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage\" */'components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage'),\n loader: async ({ params }) => {\n const { data } = await apolloClient.query({\n query: ASP_DOT_NET_DOMAIN_SETTINGS_PAGE,\n variables: { id: btoa(`Domain:${params.domainId}`) },\n });\n\n if (!data.domain.webScriptingSettings?.aspDotNet || !data.domain.aspNetSettings?.configs.length) {\n throw new Response('Not Found', { status: 404 });\n }\n\n return data;\n },\n handle: {\n helpContext: 'aspdotnet',\n crumb: ({ matchesContext, params }) => {\n const { domain } = matchesContext.domainRouteData;\n const locale = Locale.getSection('components.routes');\n\n return [\n {\n title: locale.lmsg('aspDotNetDomainSettings', { domain: `<b>${domain.name}</b>` }),\n href: `/cp/domains/${params.domainId}/asp-dot-net-settings`,\n },\n ];\n },\n },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AspDotNetDomainSettings\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspNetSettings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"versions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"culture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"connStrings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"debugMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrors\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canDelete\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"values\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"redirectUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statusCode\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reqEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sessTimeout\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tempDirectory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevelAllowOverride\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uiCulture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defLanguage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2231}};\n doc.loc.source = {\"body\":\"query AspDotNetDomainSettings($id: ID!, $webPath: String) {\\n domain: node(id: $id) {\\n id\\n ...on Domain {\\n webScriptingSettings {\\n aspDotNet\\n }\\n aspNetSettings(webPath: $webPath) {\\n versions\\n configs {\\n customErrMode {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n\\n culture {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n connStrings {\\n name\\n value\\n }\\n version\\n debugMode\\n authMode {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n customErrors {\\n canDelete\\n values {\\n redirectUrl\\n statusCode\\n }\\n }\\n\\n fileEnc\\n reqEnc\\n resEnc\\n sessTimeout\\n tempDirectory\\n trustLevelAllowOverride\\n uiCulture {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n\\n defLanguage {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n trustLevel {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AspDotNetDomainSettings\"] = oneQuery(doc, \"AspDotNetDomainSettings\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from 'apolloClient';\n\nimport BANDWIDTH_LIMITING_PAGE from 'queries/BandwidthLimitingPage.graphql';\n\nexport const bandwidthLimitingDomainRoute = {\n path: 'bandwidth-limiting',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/BandwidthLimitingPage\" */'components/pages/BandwidthLimitingPage'),\n loader: async ({ params }) => {\n const { data } = await apolloClient.query({\n query: BANDWIDTH_LIMITING_PAGE,\n variables: { id: btoa(`Domain:${params.domainId}`) },\n });\n return data;\n },\n handle: {\n helpContext: 'client.domain.hosting.performance',\n crumb: ({ matchesContext }) => {\n const { domain } = matchesContext.domainRouteData;\n\n const locale = Locale.getSection('components.routes');\n return { title: locale.lmsg('bandwidthLimiting', { domainName: `<b>${domain.name}</b>` }) };\n },\n key: ({ params }) => params.domainId,\n },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"BandwidthLimitingPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"performance\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficBandwidth\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxConnection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isQoSStarted\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":357}};\n doc.loc.source = {\"body\":\"query BandwidthLimitingPage($id: ID!) {\\n domain: node(id: $id) {\\n ... on Domain {\\n id\\n hosting {\\n performance {\\n trafficBandwidth\\n maxConnection\\n }\\n }\\n }\\n }\\n capability {\\n packages {\\n isQoSStarted\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"BandwidthLimitingPage\"] = oneQuery(doc, \"BandwidthLimitingPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from 'apolloClient';\n\nimport HOTLINK_PROTECTION_PAGE from 'queries/HotlinkProtectionPage.graphql';\n\nexport const hotlinkProtectionDomainRoute = {\n path: 'hotlink-protection',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HotlinkProtectionPage\" */'components/pages/HotlinkProtectionPage'),\n loader: async ({ params }) => {\n const { data } = await apolloClient.query({\n query: HOTLINK_PROTECTION_PAGE,\n variables: { id: btoa(`Domain:${params.domainId}`) },\n });\n return data;\n },\n handle: {\n helpContext: 'client.domain.hosting.hotlink-protection',\n crumb: ({ matchesContext }) => {\n const { domain } = matchesContext.domainRouteData;\n\n const locale = Locale.getSection('components.routes');\n return { title: locale.lmsg('hotlinkProtection', { domainName: `<b>${domain.name}</b>` }) };\n },\n key: ({ params }) => params.domainId,\n },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HotlinkProtectionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hotlinkProtection\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extensions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"friends\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":304}};\n doc.loc.source = {\"body\":\"query HotlinkProtectionPage($id: ID!) {\\n domain: node(id: $id) {\\n ... on Domain {\\n id\\n hosting {\\n hotlinkProtection {\\n isEnabled\\n extensions\\n friends\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HotlinkProtectionPage\"] = oneQuery(doc, \"HotlinkProtectionPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport { odbcAddRoute } from 'routes/odbcAddRoute';\nimport { odbcEditRoute } from 'routes/odbcEditRoute';\nimport apolloClient from '../apolloClient';\n\nimport ODBC_DOMAIN_LIST from 'queries/OdbcDomainList.graphql';\nimport ODBC_DOMAIN_PAGE from 'queries/OdbcDomainPage.graphql';\n\nexport const odbcDomainRoute = {\n path: 'odbc',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/OdbcPage/OdbcDomainPage\" */\n 'components/pages/OdbcPage/OdbcDomainPage'\n ),\n loader: async ({ params }) => {\n const input = readGraphQlListInputFromStorage({ key: `OdbcDomainPage${params.domainId}` });\n const id = btoa(`Domain:${params.domainId}`);\n\n await Promise.all([\n apolloClient.query({\n query: ODBC_DOMAIN_PAGE,\n variables: { id },\n }),\n apolloClient.query({\n query: ODBC_DOMAIN_LIST,\n variables: { id, input },\n }),\n ]);\n },\n handle: {\n helpContext: 'odbc_connection_config',\n crumb: ({ matchesContext }) => {\n if (!matchesContext.domainRouteData) {\n return null;\n }\n const { domain } = matchesContext.domainRouteData;\n\n const locale = Locale.getSection('components.routes');\n return {\n title: locale.lmsg('odbcDomain', { domainName: `<b>${domain.name}</b>` }),\n };\n },\n key: ({ params }) => params.domainId,\n },\n children: [\n odbcAddRoute,\n odbcEditRoute,\n ],\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDomainList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnectionListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"odbcDsnConnections\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcList\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":321}};\n doc.loc.source = {\"body\":\"#import \\\"./OdbcListFragment.graphql\\\"\\n\\nquery OdbcDomainList(\\n $id: ID!\\n $input: OdbcDsnConnectionListInput\\n) {\\n domain: node(id: $id) {\\n ... on Domain {\\n id\\n odbcDsnConnections(\\n input: $input\\n ) {\\n ...OdbcList\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./OdbcListFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcDomainList\"] = oneQuery(doc, \"OdbcDomainList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDomainPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainSubscriptionOdbcLimitFragment\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":238}};\n doc.loc.source = {\"body\":\"#import \\\"queries/DomainSubscriptionOdbcLimitFragment.graphql\\\"\\n\\nquery OdbcDomainPage(\\n $id: ID!\\n) {\\n domain: node(id: $id) {\\n ... on Domain {\\n id\\n ...DomainSubscriptionOdbcLimitFragment\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/DomainSubscriptionOdbcLimitFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcDomainPage\"] = oneQuery(doc, \"OdbcDomainPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainSubscriptionOdbcLimitFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limits\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"odbc\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"remaining\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLimitAvailable\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":235}};\n doc.loc.source = {\"body\":\"fragment DomainSubscriptionOdbcLimitFragment on Domain {\\n subscription {\\n id\\n limits {\\n odbc {\\n used\\n remaining\\n isLimitAvailable\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainSubscriptionOdbcLimitFragment\"] = oneQuery(doc, \"DomainSubscriptionOdbcLimitFragment\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport { protectedDirectoryListRoute } from 'routes/protectedDirectoryListRoute';\nimport { protectedDirectoryUserListRoute } from 'routes/protectedDirectoryUserListRoute';\n\nexport const protectedDirectoriesRoute = {\n path: 'protected-directories',\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('protectedDirectories'),\n }),\n returnUrl: ({ params }) => `/cp/domains/${params.domainId}/protected-directories`,\n },\n children: [\n protectedDirectoryListRoute,\n protectedDirectoryUserListRoute,\n ],\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport { protectedDirectoryAddRoute } from 'routes/protectedDirectoryAddRoute';\nimport { protectedDirectoryEditRoute } from 'routes/protectedDirectoryEditRoute';\nimport apolloClient from '../apolloClient';\n\nimport PROTECTED_DIRECTORY_LIST from 'queries/ProtectedDirectoryList.graphql';\n\nexport const protectedDirectoryListRoute = {\n path: '',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/ProtectedDirectoryListPage\" */\n 'components/pages/ProtectedDirectoryListPage'\n ),\n loader: async ({ params }) => {\n const { data: listData } = await apolloClient.query({\n query: PROTECTED_DIRECTORY_LIST,\n variables: {\n id: btoa(`Domain:${params.domainId}`),\n input: readGraphQlListInputFromStorage({ key: `ProtectedDirectoryListPage${params.domainId}` }),\n },\n });\n\n if (!listData.domain.hosting) {\n throw new Response('Not Found', { status: 404 });\n }\n },\n handle: {\n helpContext: 'client.domain.hosting.protected-directories',\n pageTitle: ({ matchesContext }) => {\n if (!matchesContext.domainRouteData) {\n return null;\n }\n const { domain } = matchesContext.domainRouteData;\n\n const locale = Locale.getSection('components.routes');\n return locale.lmsg('protectedDirectoryList', { domainName: `<b>${domain.name}</b>` });\n },\n key: ({ params }) => params.domainId,\n },\n children: [\n protectedDirectoryAddRoute,\n protectedDirectoryEditRoute,\n ],\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from 'apolloClient';\n\nimport PROTECTED_DIRECTORY_ADD_PAGE from 'queries/ProtectedDirectoryAddPage.graphql';\n\nexport const protectedDirectoryAddRoute = {\n path: 'add',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/ProtectedDirectoryAddPage\" */\n 'components/pages/ProtectedDirectoryAddPage'\n ),\n loader: async ({ params }) => {\n const { domainId } = params;\n const { data: { domain: { hosting } } } = await apolloClient.query({\n query: PROTECTED_DIRECTORY_ADD_PAGE,\n variables: { domainId: btoa(`Domain:${domainId}`) },\n });\n\n return {\n domainId,\n isProtectedDirectoryLocationSupported: hosting?.isProtectedDirectoryLocationSupported || false,\n };\n },\n handle: { isOverlay: true },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryAddPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isProtectedDirectoryLocationSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":231}};\n doc.loc.source = {\"body\":\"query ProtectedDirectoryAddPage($domainId: ID!) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n hosting {\\n isProtectedDirectoryLocationSupported\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryAddPage\"] = oneQuery(doc, \"ProtectedDirectoryAddPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from 'apolloClient';\n\nimport PROTECTED_DIRECTORY_EDIT_PAGE from 'queries/ProtectedDirectoryEditPage.graphql';\n\nexport const protectedDirectoryEditRoute = {\n path: ':protectedDirectoryId/edit',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/ProtectedDirectoryEditPage\" */\n 'components/pages/ProtectedDirectoryEditPage'\n ),\n loader: async ({ params }) => {\n const { domainId, protectedDirectoryId } = params;\n const { data: { domain: { hosting }, protectedDirectory } } = await apolloClient.query({\n query: PROTECTED_DIRECTORY_EDIT_PAGE,\n variables: {\n id: btoa(`ProtectedDirectory:${protectedDirectoryId}`),\n domainId: btoa(`Domain:${domainId}`),\n },\n });\n\n return {\n domainId,\n protectedDirectoryId,\n protectedDirectory,\n isProtectedDirectoryLocationSupported: hosting?.isProtectedDirectoryLocationSupported || false,\n };\n },\n handle: { isOverlay: true },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryEditFragment\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isProtectedDirectoryLocationSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":388}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ProtectedDirectoryEditFragment.graphql\\\"\\n\\nquery ProtectedDirectoryEditPage($domainId: ID!, $id: ID!) {\\n protectedDirectory: node(id: $id) {\\n ...ProtectedDirectoryEditFragment\\n }\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n hosting {\\n isProtectedDirectoryLocationSupported\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ProtectedDirectoryEditFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryEditPage\"] = oneQuery(doc, \"ProtectedDirectoryEditPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryEditFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"realm\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isNonSsl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCgiBin\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":118}};\n doc.loc.source = {\"body\":\"fragment ProtectedDirectoryEditFragment on ProtectedDirectory {\\n id\\n path\\n realm\\n isNonSsl\\n isCgiBin\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryEditFragment\"] = oneQuery(doc, \"ProtectedDirectoryEditFragment\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectories\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"realm\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":729}};\n doc.loc.source = {\"body\":\"query ProtectedDirectoryList(\\n $id: ID!\\n $input: ProtectedDirectoryListInput\\n) {\\n domain: node(id: $id) {\\n ... on Domain {\\n id\\n hosting {\\n protectedDirectories(\\n input: $input\\n ) {\\n nodes {\\n id\\n path\\n realm\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryList\"] = oneQuery(doc, \"ProtectedDirectoryList\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport apolloClient from 'apolloClient';\nimport { protectedDirectoryUserAddRoute } from 'routes/protectedDirectoryUserAddRoute';\nimport { protectedDirectoryUserPasswordRoute } from 'routes/protectedDirectoryUserPasswordRoute';\n\nimport PROTECTED_DIRECTORY_USER_LIST from 'queries/ProtectedDirectoryUserList.graphql';\nimport PROTECTED_DIRECTORY_PATH from 'queries/ProtectedDirectoryPath.graphql';\n\nexport const protectedDirectoryUserListRoute = {\n path: ':directoryId/users',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/ProtectedDirectoryUserListPage\" */\n 'components/pages/ProtectedDirectoryUserListPage'\n ),\n loader: async ({ params }) => {\n const id = btoa(`ProtectedDirectory:${params.directoryId}`);\n\n const [{ data: directoryData }] = await Promise.all([\n apolloClient.query({\n query: PROTECTED_DIRECTORY_PATH,\n variables: { id },\n }),\n apolloClient.query({\n query: PROTECTED_DIRECTORY_USER_LIST,\n variables: {\n id,\n input: readGraphQlListInputFromStorage({ key: `ProtectedDirectoryUserListPage${params.directoryId}` }),\n },\n }),\n ]);\n\n return directoryData;\n },\n handle: {\n helpContext: 'client.domain.hosting.protected-directories',\n crumb: ({ data }) => {\n const { protectedDirectory } = data;\n\n const locale = Locale.getSection('components.routes');\n const title = locale.lmsg('protectedDirectoryUserList', { directory: `/${protectedDirectory.path}` });\n\n return [{ title }];\n },\n },\n children: [\n protectedDirectoryUserAddRoute,\n protectedDirectoryUserPasswordRoute,\n ],\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from 'apolloClient';\n\nimport PROTECTED_DIRECTORY_PATH from 'queries/ProtectedDirectoryPath.graphql';\n\nexport const protectedDirectoryUserAddRoute = {\n path: 'add',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/ProtectedDirectoryUserAddPage\" */\n 'components/pages/ProtectedDirectoryUserAddPage'\n ),\n loader: async ({ params }) => {\n const { data } = await apolloClient.query({\n query: PROTECTED_DIRECTORY_PATH,\n variables: { id: btoa(`ProtectedDirectory:${params.directoryId}`) },\n });\n\n return data;\n },\n handle: { isOverlay: true },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryPath\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":167}};\n doc.loc.source = {\"body\":\"query ProtectedDirectoryPath($id: ID!) {\\n protectedDirectory: node(id: $id) {\\n ... on ProtectedDirectory {\\n id\\n path\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryPath\"] = oneQuery(doc, \"ProtectedDirectoryPath\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { gql } from '@apollo/client';\nimport apolloClient from 'apolloClient';\n\nexport const protectedDirectoryUserPasswordRoute = {\n path: ':userId/password',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/ProtectedDirectoryUserPasswordPage\" */\n 'components/pages/ProtectedDirectoryUserPasswordPage'\n ),\n loader: async ({ params }) => {\n const { data } = await apolloClient.query({\n query: gql`\n query ($id: ID!) {\n protectedDirectoryUser: node(id: $id) {\n ... on ProtectedDirectoryUser { id login }\n }\n }\n `,\n variables: { id: btoa(`ProtectedDirectoryUser:${params.userId}`) },\n });\n\n return data;\n },\n handle: { isOverlay: true },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"users\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":370}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ProtectedDirectoryUserListFragment.graphql\\\"\\n\\nquery ProtectedDirectoryUserList(\\n $id: ID!,\\n $input: ProtectedDirectoryUserListInput\\n) {\\n protectedDirectory: node(id: $id) {\\n ... on ProtectedDirectory {\\n id\\n users(input: $input) {\\n ...ProtectedDirectoryUserListFragment\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ProtectedDirectoryUserListFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryUserList\"] = oneQuery(doc, \"ProtectedDirectoryUserList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserList\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":252}};\n doc.loc.source = {\"body\":\"fragment ProtectedDirectoryUserListFragment on ProtectedDirectoryUserList {\\n nodes {\\n id\\n login\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryUserListFragment\"] = oneQuery(doc, \"ProtectedDirectoryUserListFragment\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\nimport { redirect } from 'react-router-dom';\nimport apolloClient from 'apolloClient';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport { Locale, escapeHtml } from 'jsw';\nimport { getId } from 'helpers/getId';\nimport VirtualDirectorySidebar from 'components/sidebars/VirtualDirectorySidebar';\nimport { protectedDirectoryUserAddRoute } from 'routes/protectedDirectoryUserAddRoute';\nimport { protectedDirectoryUserPasswordRoute } from 'routes/protectedDirectoryUserPasswordRoute';\nimport { protectedDirectoryEditRoute } from 'routes/protectedDirectoryEditRoute';\n\nimport CREATE_VIRTUAL_DIRECTORY_PAGE from 'queries/CreateVirtualDirectoryPage.graphql';\nimport EDIT_VIRTUAL_DIRECTORY_PAGE from 'queries/EditVirtualDirectoryPage.graphql';\nimport VIRTUAL_DIRECTORY_PAGE from 'queries/VirtualDirectoryPage.graphql';\nimport VIRTUAL_DIRECTORY_BROWSE_PAGE from 'queries/VirtualDirectoryBrowsePage.graphql';\nimport VIRTUAL_DIRECTORY_PROTECTION_PAGE from 'queries/VirtualDirectoryProtectionPage.graphql';\nimport VIRTUAL_DIRECTORY_PROTECTION_USER_LIST from 'queries/VirtualDirectoryProtectionUserList.graphql';\nimport VIRTUAL_DIRECTORY_MIME_TYPE_LIST from 'queries/VirtualDirectoryMimeTypeList.graphql';\nimport VIRTUAL_DIRECTORY_ERROR_DOC_LIST from 'queries/VirtualDirectoryErrorDocList.graphql';\nimport VIRTUAL_DIRECTORY_CONTENT_LIST from 'queries/VirtualDirectoryContentList.graphql';\nimport ASP_DOT_NET_DOMAIN_SETTINGS_PAGE from 'queries/AspDotNetDomainSettingsPage.graphql';\nimport VIRTUAL_DIRECTORY_PHP_PAGE from 'queries/VirtualDirectoryPhpPage.graphql';\nimport IIS_MANAGER_MIME_CONTENT_TYPES from 'queries/IisManagerMimeContentTypes.graphql';\nimport VIRTUAL_DIRECTORY_EDIT_MIME_TYPE_PAGE from 'queries/VirtualDirectoryEditMimeTypePage.graphql';\nimport VIRTUAL_DIRECTORY_EDIT_ERROR_DOC_PAGE from 'queries/VirtualDirectoryEditErrorDocPage.graphql';\n\nconst virtualDirectorySettingRoutes = [\n {\n path: ':directoryName?/edit-virtual-directory',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage\" */\n 'components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage'\n ),\n loader: async ({ request: { url }, params: { domainId, directoryName } }) => {\n const domainNodeId = btoa(`Domain:${domainId}`);\n const path = new URL(url).searchParams.get('path') || '/';\n\n const editablePath = directoryName ? `${path.replace(/\\/$/, '')}/${directoryName}` : path;\n\n const { data: pageData } = await apolloClient.query({\n query: EDIT_VIRTUAL_DIRECTORY_PAGE,\n variables: { domainNodeId, path: editablePath },\n fetchPolicy: 'network-only',\n });\n\n return {\n path: editablePath,\n isCurrentDirectory: !directoryName,\n subscriptionId: getId(pageData.domain.baseDomain?.id ?? pageData.domain.id),\n isAspEnabled: pageData.domain.webScriptingSettings.asp,\n virtualDirectory: pageData.domain.hosting.virtualDirectory,\n };\n },\n handle: { isOverlay: true },\n },\n {\n path: 'asp-dot-net',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/AspDotNetSettingsPage\" */\n 'components/pages/VirtualDirectoryPage/AspDotNetSettingsPage'\n ),\n loader: async ({ request: { url }, params: { domainId } }) => {\n const path = new URL(url).searchParams.get('path') || '/';\n const { data } = await apolloClient.query({\n query: ASP_DOT_NET_DOMAIN_SETTINGS_PAGE,\n variables: { id: btoa(`Domain:${domainId}`), webPath: path },\n });\n\n if (!data.domain.webScriptingSettings?.aspDotNet || !data.domain.aspNetSettings?.configs.length) {\n throw new Response('Not Found', { status: 404 });\n }\n },\n handle: { isOverlay: true },\n },\n {\n path: 'permissions',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/PermissionsPage\" */\n 'components/pages/VirtualDirectoryPage/PermissionsPage'\n ),\n handle: { isOverlay: true },\n },\n {\n path: 'php',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/PhpVersionPage\" */\n 'components/pages/VirtualDirectoryPage/PhpVersionPage'\n ),\n loader: async ({ request: { url }, params: { domainId } }) => {\n const path = new URL(url).searchParams.get('path') || '/';\n const { data } = await apolloClient.query({\n query: VIRTUAL_DIRECTORY_PHP_PAGE,\n variables: { domainId: btoa(`Domain:${domainId}`), path },\n });\n\n if (!data.domain.subscription.permissions.managePhpVersion ||\n !data.domain.hosting?.virtualDirectory?.isVirtual\n ) {\n throw new Response('Not Found', { status: 404 });\n }\n },\n handle: { isOverlay: true },\n },\n];\n\nexport const virtualDirectoryRoute = {\n path: 'virtual-directory',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage\" */\n 'components/pages/VirtualDirectoryPage'\n ),\n loader: async ({ request: { url }, params: { domainId } }) => {\n const id = btoa(`Domain:${domainId}`);\n const path = new URL(url).searchParams.get('path') || '/';\n\n const { data } = await apolloClient.query({\n query: VIRTUAL_DIRECTORY_PAGE,\n variables: { domainId: id, path },\n });\n\n if (!data.domain.hosting) {\n throw new Response('Not Found', { status: 404 });\n }\n },\n handle: {\n helpContext: 'client.domain.hosting.web-directories',\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('virtualDirectories'),\n }),\n pageTitle: ({ matchesContext, location: { search } }) => {\n if (!matchesContext.domainRouteData) {\n return null;\n }\n const { domain } = matchesContext.domainRouteData;\n const path = new URLSearchParams(search).get('path') || '/';\n const locale = Locale.getSection('components.routes');\n return locale.lmsg('virtualDirectoryDomain', {\n path: escapeHtml(path),\n domainName: `<b>${domain.name}</b>`,\n });\n },\n key: ({ params }) => {\n const path = new URL(window.location.toString()).searchParams.get('path') || '/';\n return `${params.domainId}${path}`;\n },\n secondary: ({ location: { search }, params: { domainId } }) => (\n <VirtualDirectorySidebar\n domainId={domainId}\n path={new URLSearchParams(search).get('path') || '/'}\n />\n ),\n },\n children: [\n {\n index: true,\n loader: ({ request }) => {\n const url = new URL(request.url);\n url.pathname = `${url.pathname}/browse`;\n return redirect(url.toString());\n },\n },\n {\n path: 'browse',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/Browse\" */\n 'components/pages/VirtualDirectoryPage/Browse'\n ),\n loader: async ({ request: { url }, params: { domainId } }) => {\n const id = btoa(`Domain:${domainId}`);\n const path = new URL(url).searchParams.get('path') || '/';\n\n await Promise.all([\n apolloClient.query({\n query: VIRTUAL_DIRECTORY_BROWSE_PAGE,\n variables: { domainId: id, path },\n }),\n apolloClient.query({\n query: VIRTUAL_DIRECTORY_CONTENT_LIST,\n variables: {\n domainId: id,\n path,\n input: readGraphQlListInputFromStorage({ key: `VirtualDirectoryPage${domainId}` }),\n },\n }),\n ]);\n },\n children: [\n ...virtualDirectorySettingRoutes,\n {\n path: 'create-directory',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/CreateDirectoryPage\" */\n 'components/pages/VirtualDirectoryPage/CreateDirectoryPage'\n ),\n handle: { isOverlay: true },\n },\n {\n path: 'create-virtual-directory',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage\" */\n 'components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage'\n ),\n loader: async ({ request: { url }, params: { domainId } }) => {\n const domainNodeId = btoa(`Domain:${domainId}`);\n const path = new URL(url).searchParams.get('path') || '/';\n\n const { data: pageData } = await apolloClient.query({\n query: CREATE_VIRTUAL_DIRECTORY_PAGE,\n variables: { domainId: domainNodeId, parentPath: path },\n fetchPolicy: 'network-only',\n });\n\n return {\n subscriptionId: getId(pageData.domain.baseDomain?.id ?? pageData.domain.id),\n isAspEnabled: pageData.domain.webScriptingSettings.asp,\n parentDirectory: pageData.domain.hosting.parentDirectory,\n };\n },\n handle: { isOverlay: true },\n },\n ],\n },\n {\n path: 'protection',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/Protection\" */\n 'components/pages/VirtualDirectoryPage/Protection'\n ),\n loader: async ({ request: { url }, params: { domainId } }) => {\n const id = btoa(`Domain:${domainId}`);\n const path = new URL(url).searchParams.get('path') || '/';\n\n const userListKey = `VirtualDirectoryProtectionUserListPage${domainId}${path}`;\n\n await Promise.all([\n apolloClient.query({\n query: VIRTUAL_DIRECTORY_PROTECTION_PAGE,\n variables: { domainId: id, path },\n }),\n apolloClient.query({\n query: VIRTUAL_DIRECTORY_PROTECTION_USER_LIST,\n variables: {\n domainId: id,\n path,\n input: readGraphQlListInputFromStorage({ key: userListKey }),\n },\n }),\n ]);\n\n return { userListKey };\n },\n children: [\n ...virtualDirectorySettingRoutes,\n {\n ...protectedDirectoryEditRoute,\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/ProtectionSettingsPage\" */\n 'components/pages/VirtualDirectoryPage/ProtectionSettingsPage'\n ),\n },\n {\n ...protectedDirectoryUserAddRoute,\n path: ':directoryId/add-user',\n },\n protectedDirectoryUserPasswordRoute,\n ],\n },\n {\n path: 'mime-types',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/MimeTypeList\" */\n 'components/pages/VirtualDirectoryPage/MimeTypeList'\n ),\n loader: async ({ request: { url }, params: { domainId } }) => {\n const id = btoa(`Domain:${domainId}`);\n const path = new URL(url).searchParams.get('path') || '/';\n\n const mimeTypeListKey = `VirtualDirectoryMimeTypeList${domainId}${path}`;\n\n await apolloClient.query({\n query: VIRTUAL_DIRECTORY_MIME_TYPE_LIST,\n variables: {\n domainId: id,\n path,\n input: readGraphQlListInputFromStorage({ key: mimeTypeListKey }),\n },\n });\n\n return { mimeTypeListKey };\n },\n children: [\n ...virtualDirectorySettingRoutes,\n {\n path: 'create',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/CreateMimeTypePage\" */\n 'components/pages/VirtualDirectoryPage/CreateMimeTypePage'\n ),\n loader: async () => {\n await apolloClient.query({ query: IIS_MANAGER_MIME_CONTENT_TYPES });\n },\n handle: { isOverlay: true },\n },\n {\n path: ':extension/edit',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/EditMimeTypePage\" */\n 'components/pages/VirtualDirectoryPage/EditMimeTypePage'\n ),\n loader: async ({ request: { url }, params: { domainId, extension } }) => {\n const [{ data: editPageData }] = await Promise.all([\n apolloClient.query({\n query: VIRTUAL_DIRECTORY_EDIT_MIME_TYPE_PAGE,\n variables: {\n domainId: btoa(`Domain:${domainId}`),\n path: new URL(url).searchParams.get('path') || '/',\n extension,\n },\n }),\n apolloClient.query({ query: IIS_MANAGER_MIME_CONTENT_TYPES }),\n ]);\n\n return {\n mimeType: editPageData.domain.hosting.virtualDirectory.mimeType,\n };\n },\n handle: { isOverlay: true },\n },\n ],\n },\n {\n path: 'error-docs',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/ErrorDocList\" */\n 'components/pages/VirtualDirectoryPage/ErrorDocList'\n ),\n loader: async ({ request: { url }, params: { domainId } }) => {\n const path = new URL(url).searchParams.get('path') || '/';\n\n const errorDocListKey = `VirtualDirectoryErrorDocList${domainId}${path}`;\n\n await apolloClient.query({\n query: VIRTUAL_DIRECTORY_ERROR_DOC_LIST,\n variables: {\n domainId: btoa(`Domain:${domainId}`),\n path,\n input: readGraphQlListInputFromStorage({ key: errorDocListKey }),\n },\n });\n\n return { errorDocListKey };\n },\n children: [\n ...virtualDirectorySettingRoutes,\n {\n path: ':code/edit',\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/EditErrorDocPage\" */\n 'components/pages/VirtualDirectoryPage/EditErrorDocPage'\n ),\n loader: async ({ request: { url }, params: { domainId, code } }) => {\n const { data: editPageData } = await apolloClient.query({\n query: VIRTUAL_DIRECTORY_EDIT_ERROR_DOC_PAGE,\n variables: {\n domainId: btoa(`Domain:${domainId}`),\n path: new URL(url).searchParams.get('path') || '/',\n code,\n },\n });\n\n return {\n errorDoc: editPageData.domain.hosting.virtualDirectory.errorDoc,\n };\n },\n handle: { isOverlay: true },\n },\n ],\n },\n ],\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { useLocation } from 'react-router-dom';\nimport { ItemList, Item, Icon } from '@plesk/ui-library';\nimport SidePanel from './SidePanel';\nimport Link from 'components/common/Link';\nimport { buildUrl } from 'helpers/buildUrl';\nimport { Locale } from 'jsw';\n\nimport VIRTUAL_DIRECTORY_PAGE from 'queries/VirtualDirectoryPage.graphql';\nimport { useQuery } from '@apollo/client';\n\nconst Translate = Locale.getTranslate('components.pages.VirtualDirectory');\n\nconst VirtualDirectorySidebar = ({ path, domainId }) => {\n const location = useLocation();\n const { data: {\n domain: {\n webScriptingSettings: { aspDotNet, php },\n hosting: { virtualDirectory: { isVirtual, canManagePermissions } },\n subscription: { permissions: { managePhpVersion } },\n },\n capability: { packages: { isASPdotNetInstalled, isPhpInstalled } },\n } } = useQuery(\n VIRTUAL_DIRECTORY_PAGE,\n { variables: { domainId: btoa(`Domain:${domainId}`), path } },\n );\n\n const urlPrefix = location.pathname;\n\n const buttonProperties = isVirtual;\n const buttonPermissions = canManagePermissions;\n const buttonAspDotNet = aspDotNet && isASPdotNetInstalled;\n const buttonPhp = isVirtual && isPhpInstalled && php && managePhpVersion;\n\n const showPanel = buttonProperties || buttonPermissions || buttonAspDotNet || buttonPhp;\n\n if (!showPanel) {\n return null;\n }\n\n return (\n <SidePanel id=\"panel-virtualDirectory\">\n <ItemList>\n {buttonProperties && (\n <Item\n id=\"buttonProperties\"\n icon={<Icon name=\"pencil\" size=\"16\" />}\n component={Link}\n to={buildUrl(`${urlPrefix}/edit-virtual-directory`, { path })}\n tooltip={<Translate content=\"buttonPropertiesHint\" />}\n >\n <Translate content=\"buttonProperties\" />\n </Item>\n )}\n {buttonPermissions && (\n <Item\n id=\"buttonPermissions\"\n icon={<Icon name=\"lock-closed-check\" size=\"16\" />}\n component={Link}\n to={buildUrl(`${urlPrefix}/permissions`, { path })}\n tooltip={<Translate content=\"buttonPermissionsHint\" />}\n >\n <Translate content=\"buttonPermissions\" />\n </Item>\n )}\n {buttonAspDotNet && (\n <Item\n id=\"buttonAspDotNet\"\n icon={<Icon name=\"microsoft\" size=\"16\" />}\n component={Link}\n to={buildUrl(`${urlPrefix}/asp-dot-net`, { path })}\n tooltip={<Translate content=\"buttonAspDotNetHint\" />}\n >\n <Translate content=\"buttonAspDotNet\" />\n </Item>\n )}\n {buttonPhp && (\n <Item\n id=\"buttonPhp\"\n icon={<Icon name=\"php\" size=\"16\" />}\n component={Link}\n to={buildUrl(`${urlPrefix}/php`, { path })}\n tooltip={<Translate content=\"buttonPhpHint\" />}\n >\n <Translate content=\"buttonPhp\" />\n </Item>\n )}\n </ItemList>\n </SidePanel>\n );\n};\n\nVirtualDirectorySidebar.propTypes = {\n path: PropTypes.string.isRequired,\n domainId: PropTypes.string.isRequired,\n};\n\nexport default VirtualDirectorySidebar;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useLocalStorage } from 'common/hooks';\nimport { Panel, Heading } from '@plesk/ui-library';\n\nconst SidePanel = ({\n baseClassName = 'side-panel',\n className = undefined,\n id = undefined,\n title = undefined,\n children,\n ...props\n}) => {\n const [isHidden, setHidden] = useLocalStorage(`${id}-hidden`);\n\n return (\n <Panel\n className={classNames(baseClassName, className)}\n id={id}\n title={title ? <Heading level={4}>{title}</Heading> : null}\n collapsible={!!id}\n collapsed={title ? isHidden === 'true' : false}\n onToggle={() => setHidden(isHidden === 'true' ? 'false' : 'true')}\n {...props}\n >\n {children}\n </Panel>\n );\n};\n\nSidePanel.propTypes = {\n id: PropTypes.string,\n title: PropTypes.any,\n children: PropTypes.any.isRequired,\n className: PropTypes.string,\n baseClassName: PropTypes.string,\n};\n\nexport default SidePanel;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const buildUrl = (url: string, params: Record<string, unknown> = {}): string => {\n const searchParams = new URLSearchParams();\n Object.entries(params)\n .filter(([, value]) => value !== null)\n .forEach(([key, value]) => searchParams.append(key, `${value}`));\n const searchString = searchParams.toString();\n return `${url}${searchString ? `?${searchString}` : ''}`;\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"php\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dirName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtual\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"doesExist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isReadable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManagePermissions\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"managePhpVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageProtectedDirectories\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isASPdotNetInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPhpInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":900}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryPage(\\n $domainId: ID!,\\n $path: String!\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n name\\n webScriptingSettings {\\n aspDotNet\\n php\\n errorDocs\\n }\\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n baseName\\n dirName\\n isVirtual\\n doesExist\\n isReadable\\n canManagePermissions\\n }\\n }\\n subscription {\\n permissions {\\n managePhpVersion\\n manageProtectedDirectories\\n }\\n }\\n }\\n }\\n capability {\\n packages {\\n isASPdotNetInstalled\\n isPhpInstalled\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryPage\"] = oneQuery(doc, \"VirtualDirectoryPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateVirtualDirectoryPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"parentPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"parentDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"parentPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryParentContentFragment\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebug\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":792}};\n doc.loc.source = {\"body\":\"#import \\\"queries/VirtualDirectoryParentContentFragment.graphql\\\"\\n\\nquery CreateVirtualDirectoryPage(\\n $domainId: ID!,\\n $parentPath: String!,\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n baseDomain {\\n id\\n }\\n webScriptingSettings {\\n asp\\n }\\n hosting {\\n parentDirectory: virtualDirectory (path: $parentPath) {\\n ...VirtualDirectoryParentContentFragment\\n properties {\\n aspBufferingLimit\\n aspMaxRequestEntityAllowed\\n aspEnableServerDebug\\n aspEnableClientDebug\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/VirtualDirectoryParentContentFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CreateVirtualDirectoryPage\"] = oneQuery(doc, \"CreateVirtualDirectoryPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryParentContentFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":159}};\n doc.loc.source = {\"body\":\"fragment VirtualDirectoryParentContentFragment on VirtualDirectory {\\n key\\n content {\\n nodes {\\n name\\n type\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryParentContentFragment\"] = oneQuery(doc, \"VirtualDirectoryParentContentFragment\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"EditVirtualDirectoryPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainNodeId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainNodeId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parent\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryParentContentFragment\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRoot\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEditable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessSource\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessRead\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessWrite\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enableDirBrowsing\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dontLog\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"appCreate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"scriptExecute\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableParentPaths\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspExecuteInMTA\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authAnonymous\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authNTLM\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requireSSL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimitInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimitDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowedInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowedDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebugInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebugDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebugInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebugDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enableDefaultDoc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultDocs\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1952}};\n doc.loc.source = {\"body\":\"#import \\\"queries/VirtualDirectoryParentContentFragment.graphql\\\"\\n\\nquery EditVirtualDirectoryPage(\\n $domainNodeId: ID!,\\n $path: String!,\\n) {\\n domain: node(id: $domainNodeId) {\\n ... on Domain {\\n id\\n baseDomain {\\n id\\n }\\n webScriptingSettings {\\n asp\\n }\\n hosting {\\n virtualDirectory (path: $path) {\\n key\\n parent {\\n key\\n ...VirtualDirectoryParentContentFragment\\n }\\n properties {\\n isRoot\\n isEditable\\n name\\n path\\n accessSource\\n accessRead\\n accessWrite\\n enableDirBrowsing\\n dontLog\\n appCreate\\n scriptExecute\\n aspEnableParentPaths\\n aspExecuteInMTA\\n authAnonymous\\n authNTLM\\n requireSSL\\n aspBufferingLimit\\n aspBufferingLimitInherited\\n aspBufferingLimitDefault\\n aspMaxRequestEntityAllowed\\n aspMaxRequestEntityAllowedInherited\\n aspMaxRequestEntityAllowedDefault\\n aspEnableServerDebug\\n aspEnableServerDebugInherited\\n aspEnableServerDebugDefault\\n aspEnableClientDebug\\n aspEnableClientDebugInherited\\n aspEnableClientDebugDefault\\n enableDefaultDoc\\n defaultDocs\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/VirtualDirectoryParentContentFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EditVirtualDirectoryPage\"] = oneQuery(doc, \"EditVirtualDirectoryPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryBrowsePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"doesExist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtual\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWritable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAccessible\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageProtectedDirectories\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":571}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryBrowsePage(\\n $domainId: ID!,\\n $path: String!\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n name\\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n doesExist\\n isVirtual\\n isWritable\\n isAccessible\\n }\\n }\\n subscription {\\n permissions {\\n manageProtectedDirectories\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryBrowsePage\"] = oneQuery(doc, \"VirtualDirectoryBrowsePage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryProtectionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDirName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isValidForProtection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":489}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryProtectionPage(\\n $domainId: ID!,\\n $path: String!\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n webDirName\\n protectedDirectory {\\n id\\n path\\n }\\n isValidForProtection\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryProtectionPage\"] = oneQuery(doc, \"VirtualDirectoryProtectionPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryProtectionUserList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"users\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListFragment\"},\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":641}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ProtectedDirectoryUserListFragment.graphql\\\"\\n\\nquery VirtualDirectoryProtectionUserList(\\n $domainId: ID!,\\n $path: String!,\\n $input: ProtectedDirectoryUserListInput,\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id \\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n protectedDirectory {\\n id\\n users(input: $input) {\\n ...ProtectedDirectoryUserListFragment\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ProtectedDirectoryUserListFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryProtectionUserList\"] = oneQuery(doc, \"VirtualDirectoryProtectionUserList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryMimeTypeList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryMimeTypeListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mimeTypes\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":858}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryMimeTypeList(\\n $domainId: ID!,\\n $path: String!,\\n $input: VirtualDirectoryMimeTypeListInput,\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id \\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n mimeTypes(input: $input) {\\n nodes {\\n extension\\n content\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryMimeTypeList\"] = oneQuery(doc, \"VirtualDirectoryMimeTypeList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryErrorDocList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryErrorDocListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"location\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":920}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryErrorDocList(\\n $domainId: ID!,\\n $path: String!,\\n $input: VirtualDirectoryErrorDocListInput,\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id \\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n errorDocs(input: $input) {\\n nodes {\\n code\\n name\\n type\\n location\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryErrorDocList\"] = oneQuery(doc, \"VirtualDirectoryErrorDocList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryContentList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryContentListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isProtected\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isReserved\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManagePermissions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"doesExist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dirName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1119}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryContentList(\\n $domainId: ID!,\\n $path: String!,\\n $input: VirtualDirectoryContentListInput\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n content(input: $input) {\\n nodes {\\n name\\n type\\n fileType\\n isProtected\\n isReserved\\n canManagePermissions\\n doesExist\\n baseName\\n dirName\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryContentList\"] = oneQuery(doc, \"VirtualDirectoryContentList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryPhpPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtual\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phpVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullVersion\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availablePhpVersions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullVersion\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"managePhpVersion\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":703}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryPhpPage(\\n $domainId: ID!,\\n $path: String!\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n isVirtual\\n phpVersion {\\n version\\n fullVersion\\n }\\n availablePhpVersions {\\n version\\n fullVersion\\n }\\n }\\n }\\n subscription {\\n permissions {\\n managePhpVersion\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryPhpPage\"] = oneQuery(doc, \"VirtualDirectoryPhpPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IisManagerMimeContentTypes\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"iisManager\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mimeContentTypes\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":85}};\n doc.loc.source = {\"body\":\"query IisManagerMimeContentTypes {\\n iisManager {\\n mimeContentTypes\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IisManagerMimeContentTypes\"] = oneQuery(doc, \"IisManagerMimeContentTypes\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryEditMimeTypePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mimeType\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":468}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryEditMimeTypePage(\\n $domainId: ID!,\\n $path: String!,\\n $extension: String!,\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n mimeType(extension: $extension) {\\n extension\\n content\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryEditMimeTypePage\"] = oneQuery(doc, \"VirtualDirectoryEditMimeTypePage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryEditErrorDocPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDoc\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"location\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":509}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryEditErrorDocPage(\\n $domainId: ID!,\\n $path: String!,\\n $code: String!,\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id \\n hosting {\\n virtualDirectory(path: $path) {\\n key\\n errorDoc(code: $code) {\\n code\\n name\\n type\\n location\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryEditErrorDocPage\"] = oneQuery(doc, \"VirtualDirectoryEditErrorDocPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from 'apolloClient';\nimport TRAFFIC_USAGE_BY_DOMAIN_PAGE from 'queries/TrafficUsageByDomainPage.graphql';\nimport DOMAIN_TRAFFIC_USAGE from 'queries/DomainTrafficUsage.graphql';\n\nexport const trafficUsageByDomainRoute = ({ path }) => ({\n path,\n handle: {\n crumb: ({ data }) => ({\n title: Locale.getSection('components.routes').lmsg(\n 'trafficUsageByDomain',\n { domainName: `<b>${data.domain.name}</b>` },\n ),\n }),\n },\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/TrafficUsageByDomainPage\" */\n 'components/pages/TrafficUsageByDomainPage'\n ),\n loader: async ({ params }) => {\n const [{ data: pageData }] = await Promise.all([\n apolloClient.query({\n query: TRAFFIC_USAGE_BY_DOMAIN_PAGE,\n variables: { domainId: btoa(`Domain:${params.domainId}`) },\n }),\n apolloClient.query({\n query: DOMAIN_TRAFFIC_USAGE,\n variables: { domainId: btoa(`Domain:${params.domainId}`) },\n }),\n ]);\n\n return {\n domain: pageData.domain,\n intervals: pageData.domain.statistics.trafficUsageIntervals,\n };\n },\n});\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByDomainPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageIntervals\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedTotalUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":381}};\n doc.loc.source = {\"body\":\"query TrafficUsageByDomainPage($domainId: ID!) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n name(idn: false)\\n statistics {\\n trafficUsageIntervals {\\n key\\n month\\n year\\n formattedTotalUsage\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByDomainPage\"] = oneQuery(doc, \"TrafficUsageByDomainPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainTrafficUsage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsage\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageByServices\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serviceName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"incoming\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"incomingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoing\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"percentOfAll\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limits\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"traffic\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnlimited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedValue\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":923}};\n doc.loc.source = {\"body\":\"query DomainTrafficUsage(\\n $domainId: ID!,\\n $intervalKey: String,\\n) {\\n domain: node(id: $domainId) {\\n ... on Domain {\\n id\\n statistics {\\n trafficUsage(intervalKey: $intervalKey) {\\n totalUsageFormatted\\n limitUsagePercent\\n usageByServices {\\n serviceName\\n usage\\n usageFormatted\\n incoming\\n incomingFormatted\\n outgoing\\n outgoingFormatted\\n percentOfAll\\n }\\n }\\n }\\n subscription {\\n limits {\\n traffic {\\n isUnlimited\\n formattedValue\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainTrafficUsage\"] = oneQuery(doc, \"DomainTrafficUsage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":228}};\n doc.loc.source = {\"body\":\"query DomainPage(\\n $id: ID!\\n) {\\n domain: node(id: $id) {\\n ... on Domain {\\n id\\n name(idn: false)\\n baseDomain {\\n id\\n name\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainPage\"] = oneQuery(doc, \"DomainPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from 'apolloClient';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\nimport TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST from 'queries/TrafficUsageByViewerClientsList.graphql';\nimport TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS from 'queries/TotalTrafficUsageByViewerClients.graphql';\nimport { trafficUsageByResellerRoute } from 'routes/trafficUsageByResellerRoute';\n\nexport const trafficUsageByViewerResellersChildrenRoute = ({ path = 'traffic-usage-resellers' } = {}) => ({\n path,\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('trafficUsageByResellers'),\n }),\n },\n children: [\n trafficUsageByResellerRoute(\n ':resellerId',\n { clientIdParamName: 'resellerId' },\n ),\n ],\n});\n\nexport const trafficUsageByViewerResellersRoute = ({ path = 'traffic-usage-resellers', ignoreTopLevelTitle = false } = {}) => ({\n path,\n handle: {\n crumb: () => ignoreTopLevelTitle ? [] : ({\n title: Locale.getSection('components.routes').lmsg('trafficUsageByResellers'),\n }),\n helpContext: 'reseller.traffic',\n },\n children: [\n {\n index: true,\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/TrafficUsageByClientsPage\" */\n 'components/pages/TrafficUsageByClientsPage'\n ),\n loader: async () => {\n const trafficUsageListKey = 'TrafficUsageByViewerResellersList';\n const clientType = 'reseller';\n\n const [{ data: intervalsData }] = await Promise.all([\n apolloClient.query({\n query: TRAFFIC_USAGE_INTERVALS,\n }),\n apolloClient.query({\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS,\n variables: { clientType },\n }),\n apolloClient.query({\n query: TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST,\n variables: {\n input: {\n ...readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\n clientTypes: [clientType],\n },\n },\n }),\n ]);\n\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\n\n return {\n trafficUsageIntervals,\n trafficUsageListKey,\n clientType,\n getClientLink: clientId => `./${clientId}`,\n };\n },\n },\n ],\n});\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageIntervals\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageIntervals\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedTotalUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":319}};\n doc.loc.source = {\"body\":\"query TrafficUsageIntervals {\\n viewer {\\n login\\n client {\\n id\\n statistics {\\n trafficUsageIntervals {\\n key\\n month\\n year\\n formattedTotalUsage\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageIntervals\"] = oneQuery(doc, \"TrafficUsageIntervals\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByViewerClientsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByClientsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByClients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":847}};\n doc.loc.source = {\"body\":\"query TrafficUsageByViewerClientsList(\\n $input: ClientTrafficUsageByClientsListInput\\n) {\\n viewer {\\n login\\n client {\\n id\\n statistics {\\n trafficUsageByClients(input: $input) {\\n nodes {\\n clientId\\n clientName\\n totalUsageFormatted\\n limitFormatted\\n limitRemainingFormatted\\n limitUsagePercent\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByViewerClientsList\"] = oneQuery(doc, \"TrafficUsageByViewerClientsList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByViewerClients\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientType\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalClientsTraffic\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientType\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientType\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageFormatted\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":413}};\n doc.loc.source = {\"body\":\"query TotalTrafficUsageByViewerClients(\\n $clientType: String,\\n $intervalKey: String,\\n) {\\n viewer {\\n login\\n client {\\n id\\n statistics {\\n totalClientsTraffic(\\n clientType: $clientType,\\n intervalKey: $intervalKey,\\n ) {\\n usageFormatted\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByViewerClients\"] = oneQuery(doc, \"TotalTrafficUsageByViewerClients\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from 'apolloClient';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\nimport TRAFFIC_USAGE_BY_RESELLER_CLIENTS_LIST from 'queries/TrafficUsageByResellerClientsList.graphql';\nimport TOTAL_TRAFFIC_USAGE_BY_RESELLER from 'queries/TotalTrafficUsageByReseller.graphql';\nimport { gql } from '@apollo/client';\nimport { trafficUsageByCustomerDomainsRoute } from 'routes/trafficUsageByCustomerDomainsRoute';\nimport { trafficUsageByClientDomainsRoute } from 'routes/trafficUsageByClientDomainsRoute';\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\n\nexport const trafficUsageByResellerRoute = (\n path,\n { clientIdParamName },\n) => ({\n path,\n handle: {\n crumb: ({ data }) => ({ title: data.client.name }),\n pageTitle: ({ data }) => Locale.getSection('components.routes').lmsg(\n 'trafficUsageByReseller',\n { resellerName: data.client.name },\n ),\n },\n loader: async ({ params }) => {\n const clientId = params[clientIdParamName];\n const clientNodeId = btoa(`Client:${clientId}`);\n\n const { data: { client } } = await apolloClient.query({\n query: gql`\n query($clientId: ID!) {\n client: node(id: $clientId) {\n ... on Client {\n id\n name\n }\n }\n }\n `,\n variables: { clientId: clientNodeId },\n });\n\n return { client };\n },\n children: [\n {\n index: true,\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/TrafficUsageByResellerPage\" */\n 'components/pages/TrafficUsageByResellerPage'\n ),\n loader: async ({ params }) => {\n const clientId = params[clientIdParamName];\n const clientNodeId = btoa(`Client:${clientId}`);\n const trafficUsageListKey = `TrafficUsageByResellerCustomersList${clientId}`;\n\n const [{ data: intervalsData }] = await Promise.all([\n apolloClient.query({ query: TRAFFIC_USAGE_INTERVALS }),\n apolloClient.query({\n query: TOTAL_TRAFFIC_USAGE_BY_RESELLER,\n variables: { clientNodeId },\n }),\n apolloClient.query({\n query: TRAFFIC_USAGE_BY_RESELLER_CLIENTS_LIST,\n variables: {\n clientNodeId,\n input: {\n ...readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\n clientTypes: ['client'],\n },\n },\n }),\n ]);\n\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\n\n return {\n trafficUsageIntervals,\n clientNodeId,\n trafficUsageListKey,\n };\n },\n },\n trafficUsageByCustomerDomainsRoute('customers/:customerId/domains'),\n {\n path: 'domains',\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('trafficUsageByDomains'),\n }),\n helpContext: 'client.domain.traffic',\n },\n children: [\n trafficUsageByClientDomainsRoute({\n clientIdParamName,\n clientType: 'reseller',\n }),\n trafficUsageByDomainRoute({ path: ':domainId' }),\n ],\n },\n ],\n});\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByResellerClientsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByClientsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByClients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":892}};\n doc.loc.source = {\"body\":\"query TrafficUsageByResellerClientsList(\\n $clientNodeId: ID!,\\n $input: ClientTrafficUsageByClientsListInput,\\n) {\\n client: node(id: $clientNodeId) {\\n ... on Client {\\n id\\n statistics {\\n trafficUsageByClients(input: $input) {\\n nodes {\\n clientId\\n clientName\\n totalUsageFormatted\\n limitFormatted\\n limitRemainingFormatted\\n limitUsagePercent\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByResellerClientsList\"] = oneQuery(doc, \"TrafficUsageByResellerClientsList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByReseller\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalTrafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ownOnly\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalClientsTraffic\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageFormatted\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":485}};\n doc.loc.source = {\"body\":\"query TotalTrafficUsageByReseller(\\n $clientNodeId: ID!,\\n $intervalKey: String\\n) {\\n client: node(id: $clientNodeId) {\\n ... on Client {\\n id\\n statistics {\\n totalTrafficUsageByDomains(intervalKey: $intervalKey, ownOnly: true) {\\n totalUsageFormatted\\n }\\n totalClientsTraffic(intervalKey: $intervalKey) {\\n usageFormatted\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByReseller\"] = oneQuery(doc, \"TotalTrafficUsageByReseller\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport { gql } from '@apollo/client';\nimport apolloClient from 'apolloClient';\nimport { trafficUsageByClientDomainsRoute } from 'routes/trafficUsageByClientDomainsRoute';\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\n\nexport const trafficUsageByCustomerDomainsRoute = path => ({\n path,\n handle: {\n crumb: ({ data }) => ({ title: data.client.name }),\n pageTitle: ({ data }) => Locale.getSection('components.routes').lmsg(\n 'trafficUsageByClientDomains',\n { clientName: data.client.name },\n ),\n helpContext: 'client.domain.traffic',\n },\n loader: async ({ params }) => {\n const { customerId } = params;\n const clientNodeId = btoa(`Client:${customerId}`);\n\n const { data: { client } } = await apolloClient.query({\n query: gql`\n query($clientId: ID!) {\n client: node(id: $clientId) {\n ... on Client {\n id\n name\n }\n }\n }\n `,\n variables: { clientId: clientNodeId },\n });\n\n return { client };\n },\n children: [\n trafficUsageByClientDomainsRoute({\n clientIdParamName: 'customerId',\n clientType: 'customer',\n }),\n trafficUsageByDomainRoute({ path: ':domainId' }),\n ],\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from 'apolloClient';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport CLIENT_TRAFFIC_USAGE_INTERVALS from 'queries/ClientTrafficUsageIntervals.graphql';\nimport TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST from 'queries/TrafficUsageByClientDomainsList.graphql';\nimport TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS from 'queries/TotalTrafficUsageByClientDomains.graphql';\n\nexport const trafficUsageByClientDomainsRoute = ({\n clientIdParamName,\n clientType,\n}) => ({\n index: true,\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/TrafficUsageByDomainsPage\" */\n 'components/pages/TrafficUsageByDomainsPage'\n ),\n loader: async ({ params }) => {\n const clientId = params[clientIdParamName];\n const trafficUsageListKey = `TrafficUsageByClientDomainsList${clientId}`;\n const clientNodeId = btoa(`Client:${clientId}`);\n\n const [{ data: intervalsData }] = await Promise.all([\n apolloClient.query({\n query: CLIENT_TRAFFIC_USAGE_INTERVALS,\n variables: { clientId: clientNodeId },\n }),\n apolloClient.query({\n query: TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS,\n variables: { clientId: clientNodeId },\n }),\n apolloClient.query({\n query: TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST,\n variables: {\n clientId: clientNodeId,\n input: readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\n },\n }),\n ]);\n\n const { trafficUsageIntervals } = intervalsData.client.statistics;\n\n return {\n trafficUsageIntervals,\n listQueryParams: {\n key: trafficUsageListKey,\n query: TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST,\n extractList: data => data.client.statistics.trafficUsageByDomains,\n variables: { clientId: clientNodeId },\n },\n totalUsageQueryParams: {\n query: TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS,\n variables: { clientId: clientNodeId },\n extractTrafficData: data => data.client.statistics.totalTrafficUsageByDomains,\n },\n showFilters: clientType !== 'customer',\n showClientNameColumn: clientType !== 'customer',\n parentClientType: clientType,\n };\n },\n});\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageIntervals\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageIntervals\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedTotalUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":361}};\n doc.loc.source = {\"body\":\"query ClientTrafficUsageIntervals(\\n $clientId: ID!\\n) {\\n client: node(id: $clientId) {\\n ... on Client {\\n id\\n statistics {\\n trafficUsageIntervals {\\n key\\n month\\n year\\n formattedTotalUsage\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientTrafficUsageIntervals\"] = oneQuery(doc, \"ClientTrafficUsageIntervals\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByClientDomainsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByDomainsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":952}};\n doc.loc.source = {\"body\":\"query TrafficUsageByClientDomainsList(\\n $clientId: ID!,\\n $input: ClientTrafficUsageByDomainsListInput\\n) {\\n client: node(id: $clientId) {\\n ... on Client {\\n id\\n statistics {\\n trafficUsageByDomains(input: $input) {\\n nodes {\\n domainId\\n domainName\\n clientName\\n totalUsageFormatted\\n subscriptionLimitFormatted\\n subscriptionLimitRemainingFormatted\\n subscriptionLimitUsagePercent\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByClientDomainsList\"] = oneQuery(doc, \"TrafficUsageByClientDomainsList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByClientDomains\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalTrafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomainsFragment\"},\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":441}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\\\"\\n\\nquery TotalTrafficUsageByClientDomains(\\n $clientId: ID!,\\n $intervalKey: String\\n) {\\n client: node(id: $clientId) {\\n ... on Client {\\n id\\n statistics {\\n totalTrafficUsageByDomains(intervalKey: $intervalKey) {\\n ...ClientTotalTrafficUsageByDomainsFragment\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByClientDomains\"] = oneQuery(doc, \"TotalTrafficUsageByClientDomains\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomainsFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomains\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnlimited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":171}};\n doc.loc.source = {\"body\":\"fragment ClientTotalTrafficUsageByDomainsFragment on ClientTotalTrafficUsageByDomains {\\n totalUsageFormatted\\n isUnlimited\\n limitFormatted\\n limitUsagePercent\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientTotalTrafficUsageByDomainsFragment\"] = oneQuery(doc, \"ClientTotalTrafficUsageByDomainsFragment\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from 'apolloClient';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport { trafficUsageByCustomerDomainsRoute } from 'routes/trafficUsageByCustomerDomainsRoute';\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\nimport TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST from 'queries/TrafficUsageByViewerClientsList.graphql';\nimport TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS from 'queries/TotalTrafficUsageByViewerClients.graphql';\n\nexport const trafficUsageByViewerCustomersChildrenRoute = ({ path = 'traffic-usage-customers' } = {}) => ({\n path,\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('trafficUsageByCustomers'),\n }),\n },\n children: [\n trafficUsageByCustomerDomainsRoute(':customerId/domains'),\n ],\n});\nexport const trafficUsageByViewerCustomersRoute = ({ path = 'traffic-usage-customers', helpContext, ignoreTopLevelTitle = false } = {}) => ({\n path,\n handle: {\n crumb: () => ignoreTopLevelTitle ? [] : ({\n title: Locale.getSection('components.routes').lmsg('trafficUsageByCustomers'),\n }),\n helpContext,\n },\n children: [\n {\n index: true,\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/TrafficUsageByClientsPage\" */\n 'components/pages/TrafficUsageByClientsPage'\n ),\n loader: async () => {\n const trafficUsageListKey = 'TrafficUsageByViewerCustomersList';\n const clientType = 'client';\n\n const [{ data: intervalsData }] = await Promise.all([\n apolloClient.query({\n query: TRAFFIC_USAGE_INTERVALS,\n }),\n apolloClient.query({\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS,\n variables: { clientType },\n }),\n apolloClient.query({\n query: TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST,\n variables: {\n input: {\n ...readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\n clientTypes: [clientType],\n },\n },\n }),\n ]);\n\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\n\n return {\n trafficUsageIntervals,\n trafficUsageListKey,\n clientType,\n getClientLink: clientId => `${clientId}/domains`,\n };\n },\n },\n ],\n});\n\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from 'apolloClient';\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\nimport TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST from 'queries/TrafficUsageByViewerDomainsList.graphql';\nimport TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS from 'queries/TotalTrafficUsageByViewerDomains.graphql';\n\n\nexport const trafficUsageByViewerDomainsChildrenRoute = ({ path = 'traffic-usage/domains' } = {}) => ({\n path,\n handle: {\n crumb: () => ({\n title: Locale.getSection('components.routes').lmsg('trafficUsageByDomains'),\n }),\n },\n children: [\n trafficUsageByDomainRoute({ path: ':domainId' }),\n ],\n});\n\nexport const trafficUsageByViewerDomainsRoute = ({ path = 'traffic-usage/domains', ignoreTopLevelTitle = false } = {}) => ({\n path,\n handle: {\n crumb: () => ignoreTopLevelTitle ? [] : ({\n title: Locale.getSection('components.routes').lmsg('trafficUsageByDomains'),\n }),\n helpContext: 'client.domain.traffic',\n },\n children: [\n {\n index: true,\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/TrafficUsageByDomainsPage\" */\n 'components/pages/TrafficUsageByDomainsPage'\n ),\n loader: async () => {\n const trafficUsageListKey = 'TrafficUsageByViewerDomainsList';\n\n const [{ data: intervalsData }] = await Promise.all([\n apolloClient.query({\n query: TRAFFIC_USAGE_INTERVALS,\n }),\n apolloClient.query({\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS,\n }),\n apolloClient.query({\n query: TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST,\n variables: {\n input: readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\n },\n }),\n ]);\n\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\n\n return {\n trafficUsageIntervals,\n listQueryParams: {\n key: trafficUsageListKey,\n query: TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST,\n extractList: data => data.viewer.client.statistics.trafficUsageByDomains,\n },\n totalUsageQueryParams: {\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS,\n extractTrafficData: data => data.viewer.client.statistics.totalTrafficUsageByDomains,\n },\n };\n },\n },\n ],\n});\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByViewerDomainsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByDomainsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":918}};\n doc.loc.source = {\"body\":\"query TrafficUsageByViewerDomainsList(\\n $input: ClientTrafficUsageByDomainsListInput\\n) {\\n viewer {\\n login\\n client {\\n id\\n statistics {\\n trafficUsageByDomains(input: $input) {\\n nodes {\\n domainId\\n domainName\\n clientName\\n totalUsageFormatted\\n subscriptionLimitFormatted\\n subscriptionLimitRemainingFormatted\\n subscriptionLimitUsagePercent\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByViewerDomainsList\"] = oneQuery(doc, \"TrafficUsageByViewerDomainsList\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByViewerDomains\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalTrafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomainsFragment\"},\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":407}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\\\"\\n\\nquery TotalTrafficUsageByViewerDomains(\\n $intervalKey: String\\n) {\\n viewer {\\n login\\n client {\\n id\\n statistics {\\n totalTrafficUsageByDomains(intervalKey: $intervalKey) {\\n ...ClientTotalTrafficUsageByDomainsFragment\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByViewerDomains\"] = oneQuery(doc, \"TotalTrafficUsageByViewerDomains\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from '../apolloClient';\nimport { gql } from '@apollo/client';\nimport { addToast } from 'helpers/toasts';\nimport pageData from 'helpers/pageData';\nimport homeQueries from 'components/pages/HomePage/queries';\nimport TitleAddon from 'components/pages/HomePage/TitleAddon';\nimport { emptyFn, redirect as jswRedirect } from 'jsw';\n\nimport HOME_PAGE from 'queries/AdminHomePage.graphql';\n\nconst redirect = url => {\n jswRedirect(url);\n return new Promise(emptyFn);\n};\nconst errors = response => (response.reason?.graphQLErrors ?? []).map(({ message, extensions }) => extensions?.debugMessage || message);\n\nexport const homeRoute = {\n path: 'home',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HomePage\" */'components/pages/HomePage'),\n loader: async () => {\n const { data: { viewer: { type } } } = await apolloClient.query({\n query: gql`\n query {\n viewer {\n login\n type\n }\n }\n `,\n });\n\n if (type !== 'ADMIN') {\n return redirect('/admin/home/');\n }\n\n const { pageSidebar } = pageData();\n if (pageSidebar?.isPowerUserPanel) {\n return redirect('/smb/');\n }\n\n const response = await Promise.allSettled([\n ...Object.values(homeQueries).map(query => apolloClient.query({ query })),\n apolloClient.query({ query: HOME_PAGE }),\n ]);\n\n const data = Object.keys(homeQueries).reduce((acc, block, i) => ({\n ...acc,\n [block]: {\n data: response[i].value?.data,\n errors: errors(response[i]),\n },\n }), {});\n\n const layoutResponse = response.at(-1);\n errors(layoutResponse).forEach(message => {\n addToast({ intent: 'danger', message });\n });\n return { data };\n },\n handle: {\n helpContext: 'home.admin',\n titleRightAddon: <TitleAddon />,\n pageContentHeader: { className: 'home-page-heading' },\n },\n children: [{\n path: 'customize',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HomeCustomizationPage\" */'components/pages/HomePage/Customization'),\n loader: () => apolloClient.query({ query: require('components/pages/HomePage/queries/Customization.graphql') }),\n }],\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport * as constants from '../constants';\nimport SERVER_INFO_QUERY from 'queries/AdminHomeServerInfo.graphql';\nimport UPDATES_QUERY from 'queries/AdminHomeUpdates.graphql';\nimport OVERUSED_SUBSCRIPTIONS_QUERY from 'queries/AdminHomeOverusedSubscriptions.graphql';\nimport MY_SUBSCRIPTIONS_QUERY from 'queries/AdminHomeMySubscriptions.graphql';\nimport EXTENSIONS_QUERY from 'queries/AdminHomeExtensions.graphql';\nimport CHANGE_LOG_QUERY from 'queries/AdminHomeChangeLog.graphql';\n\nexport default {\n [constants.SERVER_INFO]: SERVER_INFO_QUERY,\n [constants.UPDATES]: UPDATES_QUERY,\n [constants.OVERUSED_SUBSCRIPTIONS]: OVERUSED_SUBSCRIPTIONS_QUERY,\n [constants.MY_SUBSCRIPTIONS]: MY_SUBSCRIPTIONS_QUERY,\n [constants.EXTENSIONS]: EXTENSIONS_QUERY,\n [constants.CHANGE_LOG]: CHANGE_LOG_QUERY,\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const SERVER_INFO = 'serverInfo';\nexport const UPDATES = 'updates';\nexport const OVERUSED_SUBSCRIPTIONS = 'overusedSubscriptions';\nexport const MY_SUBSCRIPTIONS = 'mySubscriptions';\nexport const IP_BAN = 'ipBan';\nexport const BACKUP = 'backup';\nexport const EXTENSIONS = 'ext';\nexport const MAIL_QUEUE = 'mailQueue';\nexport const PROMO = 'promo';\nexport const CHANGE_LOG = 'changeLog';\nexport const CUSTOM_BUTTONS = 'customButtons';\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeServerInfo\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultIpAddress\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullHostName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"information\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysUptime\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerInfo\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":366}};\n doc.loc.source = {\"body\":\"query AdminHomeServerInfo {\\n server {\\n defaultIpAddress {\\n ipAddress\\n publicIpAddress\\n }\\n settings {\\n fullHostName\\n }\\n information {\\n sysUptime\\n }\\n }\\n os {\\n name\\n }\\n viewer {\\n login\\n permissions {\\n manageServerInfo\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeServerInfo\"] = oneQuery(doc, \"AdminHomeServerInfo\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeUpdates\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"patch\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productUpdates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availablePatch\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastUpdateDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastCheckDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAutoupdateEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installingUpdatesTaskId\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pum\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installingUpdatesTaskId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updates\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableVersion\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"editionName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showControls\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"visualNotifications\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPumAllowed\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerUpdates\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1003}};\n doc.loc.source = {\"body\":\"query AdminHomeUpdates {\\n server {\\n productVersion {\\n name\\n version\\n patch\\n }\\n productUpdates {\\n availablePatch\\n availableVersion\\n lastUpdateDate\\n lastCheckDate\\n isAutoupdateEnabled\\n installingUpdatesTaskId\\n }\\n pum {\\n installingUpdatesTaskId\\n updates(\\n input: { pagination: { page: 1, itemsPerPage: 1 } }\\n ) {\\n nodes {\\n name\\n availableVersion\\n }\\n pageInfo {\\n total\\n }\\n }\\n }\\n }\\n primaryKey {\\n pleskKeyId\\n editionName\\n }\\n config {\\n updates {\\n showControls\\n visualNotifications\\n }\\n }\\n mode {\\n isPumAllowed\\n }\\n viewer {\\n login\\n permissions {\\n manageServerUpdates\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeUpdates\"] = oneQuery(doc, \"AdminHomeUpdates\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeOverusedSubscriptions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"3\"}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"ASC\"}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"searchFilters\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"overuse\"},\"value\":{\"kind\":\"StringValue\",\"value\":\"true\",\"block\":false}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"own\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Subscription\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limits\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"all\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"overused\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedValue\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedUsed\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1041}};\n doc.loc.source = {\"body\":\"query AdminHomeOverusedSubscriptions {\\n viewer {\\n login\\n client {\\n id\\n subscriptions(\\n input: {\\n pagination: { page: 1, itemsPerPage: 3 }\\n orderBy: { displayName: ASC }\\n searchFilters: { overuse: \\\"true\\\" }\\n own: false,\\n }\\n ) {\\n pageInfo {\\n total\\n }\\n nodes {\\n id\\n ... on Subscription {\\n status\\n mainDomain {\\n id\\n name\\n }\\n limits {\\n all(overused: true) {\\n name\\n formattedValue\\n formattedUsed\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeOverusedSubscriptions\"] = oneQuery(doc, \"AdminHomeOverusedSubscriptions\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeMySubscriptions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createDomains\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"5\"}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"lastVisitTime\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"DESC\"}}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Subscription\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":669}};\n doc.loc.source = {\"body\":\"query AdminHomeMySubscriptions {\\n viewer {\\n login\\n permissions {\\n createDomains\\n }\\n client {\\n id\\n subscriptions(\\n input: {\\n pagination: { page: 1, itemsPerPage: 5 }\\n orderBy: { lastVisitTime: DESC }\\n }\\n ) {\\n nodes {\\n id\\n ... on Subscription {\\n status\\n mainDomain {\\n id\\n name\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeMySubscriptions\"] = oneQuery(doc, \"AdminHomeMySubscriptions\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeExtensions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extensions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"footer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"async\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skeletonSize\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":289}};\n doc.loc.source = {\"body\":\"query AdminHomeExtensions {\\n viewer {\\n login\\n home {\\n extensions {\\n name\\n title\\n icon\\n content\\n footer\\n async\\n skeletonSize\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeExtensions\"] = oneQuery(doc, \"AdminHomeExtensions\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeChangeLog\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productUpdates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"changeLogUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":108}};\n doc.loc.source = {\"body\":\"query AdminHomeChangeLog {\\n server {\\n productUpdates {\\n changeLogUrl\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeChangeLog\"] = oneQuery(doc, \"AdminHomeChangeLog\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Button } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport Link from 'components/common/Link';\nimport { useQuery } from '@apollo/client';\nimport isEmptyLayout from './common/isEmptyLayout';\n\nimport HOME_PAGE_QUERY from 'queries/AdminHomePage.graphql';\n\nconst Translate = Locale.getTranslate('components.buttons');\n\nconst TitleAddon = () => {\n const response = useQuery(HOME_PAGE_QUERY);\n\n if (response.data?.viewer?.home?.locked || isEmptyLayout(response)) {\n return null;\n }\n\n return (\n <Button\n ghost\n id=\"customize\"\n component={Link}\n to=\"/cp/home/customize\"\n icon={{\n name: 'gear',\n style: {\n order: '1',\n marginInline: '4px 0',\n },\n }}\n >\n <Translate content=\"customize\" />\n </Button>\n );\n};\n\nexport default TitleAddon;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport default response => {\n const home = response?.data?.viewer?.home ?? {};\n const { layout, systemMessages } = home;\n return !(systemMessages ?? []).length && (layout ?? []).every(column => column.length === 0);\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"layout\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedbackURL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isHideable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"component\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":328}};\n doc.loc.source = {\"body\":\"query AdminHomePage {\\n viewer {\\n login\\n home {\\n layout\\n locked\\n feedbackURL\\n systemMessages {\\n type\\n key\\n content\\n isHideable\\n component\\n params\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomePage\"] = oneQuery(doc, \"AdminHomePage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeCustomization\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sections\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blocks\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":291}};\n doc.loc.source = {\"body\":\"query HomeCustomization {\\n viewer {\\n login\\n home {\\n sections {\\n name\\n blocks {\\n name\\n enabled\\n title\\n icon\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeCustomization\"] = oneQuery(doc, \"HomeCustomization\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport apolloClient from 'apolloClient';\nimport { redirect } from 'react-router-dom';\nimport { summaryReportRoute, summaryReportChildrenRoute } from './summaryReportRoute';\nimport { resourceUsageByDomainRoute } from './resourceUsageByDomainRoute';\nimport { trafficUsageByViewerCustomersRoute, trafficUsageByViewerCustomersChildrenRoute } from 'routes/trafficUsageByViewerCustomersRoute';\nimport { trafficUsageByViewerResellersRoute, trafficUsageByViewerResellersChildrenRoute } from 'routes/trafficUsageByViewerResellersRoute';\nimport { trafficUsageByViewerDomainsRoute, trafficUsageByViewerDomainsChildrenRoute } from 'routes/trafficUsageByViewerDomainsRoute';\nexport const infoAndStatisticsRoute = {\n path: 'info-and-statistics',\n loader: async () => {\n const { data } = await apolloClient.query({\n query: require('queries/InfoAndStatisticsPage.graphql'),\n });\n\n return data;\n },\n handle: {\n crumb: ({ data: { viewer: { type } } }) => ({\n title: Locale.getSection('components.routes').lmsg(type === 'ADMIN' ? 'infoAndStatisticsAdmin' : 'infoAndStatisticsReseller'),\n }),\n },\n children: [{\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/InfoAndStatisticsPage\" */\n 'components/pages/InfoAndStatisticsPage'\n ),\n children: [\n {\n index: true,\n loader: async () => {\n const { data: { viewer: { permissions: { manageServerInfo } } } } = await apolloClient.query({\n query: require('queries/InfoAndStatisticsPage.graphql'),\n });\n\n if (manageServerInfo) {\n return redirect('overview');\n }\n return redirect('domains');\n },\n },\n {\n path: 'overview',\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerInformationPage\" */'components/pages/ServerInformationPage'),\n loader: async () => {\n const { data: { server: { information } } } = await apolloClient.query({\n query: require('queries/ServerInformationPage.graphql'),\n });\n\n if (!information) {\n throw new Response('Not Found', { status: 404 });\n }\n },\n handle: {\n helpContext: 'server.statistics',\n },\n },\n {\n path: 'traffic-usage',\n loader: async () => {\n const { data } = await apolloClient.query({\n query: require('queries/ViewerType.graphql'),\n });\n return data;\n },\n componentLoader: () => import(\n /* webpackChunkName: \"components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage\" */\n 'components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage'\n ),\n children: [\n {\n index: true,\n loader: () => redirect('./domains'),\n },\n trafficUsageByViewerDomainsRoute({ path: 'domains', ignoreTopLevelTitle: true }),\n trafficUsageByViewerCustomersRoute({ path: 'customers', ignoreTopLevelTitle: true }),\n trafficUsageByViewerResellersRoute({ path: 'resellers', ignoreTopLevelTitle: true }),\n ],\n },\n resourceUsageByDomainRoute({ path: 'domains', ignoreTopLevelTitle: true }),\n summaryReportRoute({ ignoreTopLevelTitle: true }),\n ],\n },\n summaryReportChildrenRoute,\n trafficUsageByViewerDomainsChildrenRoute({ path: 'traffic-usage/domains' }),\n trafficUsageByViewerCustomersChildrenRoute({ path: 'traffic-usage/customers' }),\n trafficUsageByViewerResellersChildrenRoute({ path: 'traffic-usage/resellers' }),\n ],\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport apolloClient from '../apolloClient';\nimport { readGraphQlListInputFromStorage } from '../components/common/GraphQlList';\nimport { Locale } from 'jsw';\n\nexport const resourceUsageByDomainRoute = ({ path = 'resource-usage', ignoreTopLevelTitle = false } = {}) => ({\n path,\n componentLoader: () => import(/* webpackChunkName: \"components/pages/DomainsResourceUsagePage\" */'components/pages/DomainsResourceUsagePage'),\n loader: async () => {\n const res = await apolloClient.query({\n query: require('queries/DomainsResourceUsage.graphql'),\n variables: {\n input: readGraphQlListInputFromStorage({ key: 'ResourceUsagePage' }),\n },\n });\n\n return res;\n },\n handle: {\n crumb: () => ignoreTopLevelTitle ? [] : ({\n title: Locale.getSection('components.routes').lmsg('resourceUsageByDomains'),\n }),\n helpContext: 'client.domain-summary-report',\n },\n});\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainsResourceUsage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ResourceUsageListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resourceUsage\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logsUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"backupsUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configsUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"anonFtpUsage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":821}};\n doc.loc.source = {\"body\":\"query DomainsResourceUsage($input: ResourceUsageListInput) {\\n viewer {\\n login\\n type\\n client {\\n id\\n email\\n resourceUsage(input: $input) {\\n nodes {\\n clientName\\n domainName\\n webUsage\\n mailUsage\\n databaseUsage\\n logsUsage\\n backupsUsage\\n configsUsage\\n anonFtpUsage\\n }\\n pageInfo {\\n current\\n pageCount\\n total\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n }\\n os {\\n isUnix\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainsResourceUsage\"] = oneQuery(doc, \"DomainsResourceUsage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"InfoAndStatisticsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerInfo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerDomainTrafficReport\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerSummaryReport\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":221}};\n doc.loc.source = {\"body\":\"query InfoAndStatisticsPage {\\n viewer {\\n login\\n type\\n permissions {\\n manageServerInfo\\n manageServerDomainTrafficReport\\n manageServerSummaryReport\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"InfoAndStatisticsPage\"] = oneQuery(doc, \"InfoAndStatisticsPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerInformationPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"information\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cpu\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cpuCores\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysUptime\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loadAverage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"last1min\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"last5min\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"last15min\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"memory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"available\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buffer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cached\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shared\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"free\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hardware\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"swap\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"free\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysDiskSpace\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"directory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"available\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectories\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"active\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"inactive\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"problems\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"build\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"osVersion\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":1071}};\n doc.loc.source = {\"body\":\"query ServerInformationPage {\\n server {\\n information {\\n cpu\\n cpuCores\\n sysUptime\\n loadAverage {\\n last1min\\n last5min\\n last15min\\n }\\n memory {\\n total\\n used\\n available\\n buffer\\n cached\\n shared\\n free\\n hardware\\n }\\n swap {\\n total\\n used\\n free\\n }\\n sysDiskSpace {\\n directory\\n total\\n used\\n available\\n protectedDirectories\\n }\\n domains {\\n active\\n inactive\\n problems\\n }\\n }\\n productVersion {\\n name\\n version\\n build\\n os\\n osVersion\\n }\\n }\\n os {\\n isWindows\\n name\\n }\\n primaryKey {\\n pleskKeyId\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerInformationPage\"] = oneQuery(doc, \"ServerInformationPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ViewerType\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":67}};\n doc.loc.source = {\"body\":\"query ViewerType {\\n viewer {\\n login\\n type\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ViewerType\"] = oneQuery(doc, \"ViewerType\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressDomainsPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":418}};\n doc.loc.source = {\"body\":\"query IpAddressDomainsPage($clientId: ID, $ipAddressId: ID!) {\\n viewer {\\n type\\n login\\n }\\n ipAddress: node(id: $ipAddressId) {\\n ... on IpAddress {\\n id\\n type\\n ipAddress\\n defaultDomain {\\n id\\n }\\n domains(filter: { clientId: $clientId }) {\\n id\\n name\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IpAddressDomainsPage\"] = oneQuery(doc, \"IpAddressDomainsPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ChangeSubscriptionsOwnerPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domains\"},\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"vendor\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCustom\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6Supported\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":807}};\n doc.loc.source = {\"body\":\"query ChangeSubscriptionsOwnerPage($ids: [ID!]!) {\\n domains: nodes(ids: $ids) {\\n id\\n ... on Domain {\\n name\\n owner {\\n id\\n name\\n vendor {\\n id\\n }\\n }\\n baseDomain {\\n id\\n }\\n ipAddresses {\\n id\\n ipAddress\\n publicIpAddress\\n isIPv6\\n }\\n subscription {\\n id\\n isCustom\\n domains {\\n id\\n }\\n }\\n }\\n }\\n server {\\n settings {\\n isIPv6Supported\\n }\\n }\\n viewer {\\n type\\n login\\n client {\\n id\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ChangeSubscriptionsOwnerPage\"] = oneQuery(doc, \"ChangeSubscriptionsOwnerPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualHostTemplatePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualHostTemplate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportedArchiveTypes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"files\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sizeInBytes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"modified\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":402}};\n doc.loc.source = {\"body\":\"query VirtualHostTemplatePage($path: String) {\\n os {\\n isWindows\\n }\\n viewer {\\n login\\n virtualHostTemplate {\\n supportedArchiveTypes\\n files(path: $path) {\\n name\\n sizeInBytes\\n modified\\n permissions\\n type\\n user\\n group\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualHostTemplatePage\"] = oneQuery(doc, \"VirtualHostTemplatePage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"LoginPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resolvableHostname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mobileApplicationPromotion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"background\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fit\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"gdpr\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cookieSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loginFormEntrypointEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"howToLoginArticle\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locales\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRtl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cloudType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isFirstLogin\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loginContentInclude\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"headContent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bodyContent\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":639}};\n doc.loc.source = {\"body\":\"query LoginPage {\\n viewer {\\n login\\n resolvableHostname\\n mobileApplicationPromotion {\\n name\\n icon\\n url\\n }\\n background {\\n file\\n color\\n fit\\n }\\n }\\n config {\\n gdpr {\\n cookieSettings {\\n loginFormEntrypointEnabled\\n }\\n }\\n login {\\n howToLoginArticle\\n }\\n }\\n locales {\\n code\\n name\\n isRtl\\n }\\n serverInfo {\\n cloudType\\n isFirstLogin\\n }\\n loginContentInclude {\\n headContent\\n bodyContent\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"LoginPage\"] = oneQuery(doc, \"LoginPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateNotSynchronized\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"soaTemplateNotSynchronized\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExternalDnsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"records\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"val\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ttl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayHost\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayVal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"opt\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":469}};\n doc.loc.source = {\"body\":\"query DnsRecordsPage {\\n os {\\n isUnix\\n }\\n dns {\\n template {\\n isEnabled\\n templateNotSynchronized\\n soaTemplateNotSynchronized\\n isExternalDnsEnabled\\n records {\\n id\\n type\\n host\\n val\\n ttl\\n displayHost\\n displayVal\\n domainName\\n opt\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsRecordsPage\"] = oneQuery(doc, \"DnsRecordsPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordEditQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportedRecordTypes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordTemplate\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayVal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayHost\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ttl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"opt\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":398}};\n doc.loc.source = {\"body\":\"query DnsRecordEditQuery($id: ID!) {\\n os {\\n isUnix\\n }\\n dns {\\n supportedRecordTypes\\n template {\\n isEnabled\\n }\\n }\\n node(id: $id) {\\n id\\n ... on DnsRecordTemplate {\\n type\\n host\\n id\\n displayVal\\n displayHost\\n domainName\\n ttl\\n opt\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsRecordEditQuery\"] = oneQuery(doc, \"DnsRecordEditQuery\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordQuery\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportedRecordTypes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":151}};\n doc.loc.source = {\"body\":\"query DnsRecordQuery {\\n os {\\n isUnix\\n }\\n dns {\\n supportedRecordTypes\\n template {\\n isEnabled\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsRecordQuery\"] = oneQuery(doc, \"DnsRecordQuery\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsSoaRecordsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"soaRecord\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ttl\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refresh\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"retry\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"expire\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minimum\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serialNumberFormat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameExternal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameEnforce\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExternalDnsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"records\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"EnumValue\",\"value\":\"NS\"}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayVal\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":892}};\n doc.loc.source = {\"body\":\"query DnsSoaRecordsPage {\\n dns {\\n template {\\n soaRecord {\\n mname\\n ttl {\\n value\\n unit\\n }\\n refresh {\\n value\\n unit\\n }\\n retry {\\n value\\n unit\\n }\\n expire {\\n value\\n unit\\n }\\n minimum {\\n value\\n unit\\n }\\n serialNumberFormat\\n rnameDomain\\n rnameExternal\\n rnameType\\n rnameEnforce\\n }\\n isEnabled\\n isExternalDnsEnabled\\n records(filter: { type: [NS] } ) {\\n displayVal\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsSoaRecordsPage\"] = oneQuery(doc, \"DnsSoaRecordsPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"EditInterfaceViewPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerUi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerLanguages\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isViewSwitcherAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPowerUserPanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanelAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanelLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailBounceHidden\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailServiceSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":464}};\n doc.loc.source = {\"body\":\"query EditInterfaceViewPage {\\n viewer {\\n login\\n permissions {\\n manageServerUi\\n manageServerLanguages\\n }\\n client {\\n id\\n clients {\\n id\\n }\\n }\\n }\\n mode {\\n isViewSwitcherAllowed\\n isPowerUserPanel\\n isSimplePanel\\n isSimplePanelAllowed\\n isSimplePanelLocked\\n isMailBounceHidden\\n isMailServiceSupported\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EditInterfaceViewPage\"] = oneQuery(doc, \"EditInterfaceViewPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"NotificationUiSettings\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"notification\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"panel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"storagePeriod\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"context\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToAdmin\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":284}};\n doc.loc.source = {\"body\":\"query NotificationUiSettings {\\n notification {\\n panel {\\n settings {\\n storagePeriod\\n }\\n templates {\\n code\\n context\\n title\\n sendToAdmin\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"NotificationUiSettings\"] = oneQuery(doc, \"NotificationUiSettings\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"BrandingPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branding\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fake\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customFavicon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"background\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":324}};\n doc.loc.source = {\"body\":\"query BrandingPage {\\n viewer {\\n login\\n type\\n branding {\\n customTitle\\n logo {\\n url\\n fake\\n }\\n customFavicon\\n background {\\n file\\n color\\n fit\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"BrandingPage\"] = oneQuery(doc, \"BrandingPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServersPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fork\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastError\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUpgradeSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLTSVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLocal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefaultServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUsedForPsaDb\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWebadminInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDynamicPort\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyRemoteDb\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":538}};\n doc.loc.source = {\"body\":\"query DatabaseServersPage {\\n databaseServers {\\n id\\n name\\n type\\n fork\\n host\\n port\\n lastError\\n serverVersion\\n isUpgradeSupported\\n isLTSVersion\\n isLocal\\n isDefaultServer\\n isUsedForPsaDb\\n isWebadminInstalled\\n isDynamicPort\\n databasesCount\\n availableReleases {\\n id\\n }\\n }\\n primaryKey {\\n pleskKeyId\\n keyRemoteDb\\n }\\n mode {\\n isDemo\\n }\\n os {\\n isWindows\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServersPage\"] = oneQuery(doc, \"DatabaseServersPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerUpgradePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fork\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detectDatabaseServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"features\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseNotesLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"endOfLifeDate\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":511}};\n doc.loc.source = {\"body\":\"query DatabaseServerUpgradePage($id: ID!) {\\n databaseServer: node(id: $id) {\\n id\\n ... on DatabaseServer {\\n name\\n type\\n host\\n port\\n serverVersion\\n fork\\n detectDatabaseServer\\n availableReleases {\\n id\\n name\\n version\\n features\\n releaseNotesLink\\n releaseDate\\n endOfLifeDate\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerUpgradePage\"] = oneQuery(doc, \"DatabaseServerUpgradePage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerCreatePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedByKeyDatabaseServerTypes\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":94}};\n doc.loc.source = {\"body\":\"query DatabaseServerCreatePage {\\n server {\\n allowedByKeyDatabaseServerTypes\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerCreatePage\"] = oneQuery(doc, \"DatabaseServerCreatePage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerPropertiesPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefaultServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUsedForPsaDb\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdminCredentialsChangeable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"adminLogin\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"externalConnections\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"backupSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tempDir\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"networkTempDir\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"networkUser\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"networkPassword\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":607}};\n doc.loc.source = {\"body\":\"query DatabaseServerPropertiesPage($id: ID!) {\\n os {\\n isWindows\\n }\\n databaseServer: node(id: $id) {\\n id\\n ... on DatabaseServer {\\n name\\n type\\n host\\n port\\n serverVersion\\n isDefaultServer\\n isUsedForPsaDb\\n isAdminCredentialsChangeable\\n adminLogin\\n externalConnections\\n databasesCount\\n backupSettings {\\n tempDir\\n networkTempDir\\n networkUser\\n networkPassword\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerPropertiesPage\"] = oneQuery(doc, \"DatabaseServerPropertiesPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerDatabasesPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isClassicPanel\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databases\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":576}};\n doc.loc.source = {\"body\":\"query DatabaseServerDatabasesPage($id: ID!) {\\n os {\\n isWindows\\n }\\n mode {\\n isClassicPanel\\n }\\n databaseServer: node(id: $id) {\\n id\\n ... on DatabaseServer {\\n name\\n databasesCount\\n databases {\\n id\\n name\\n domain {\\n id\\n name(idn: false)\\n owner {\\n id\\n name\\n type\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerDatabasesPage\"] = oneQuery(doc, \"DatabaseServerDatabasesPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerChangePasswordPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":225}};\n doc.loc.source = {\"body\":\"query DatabaseServerChangePasswordPage($id: ID!) {\\n os {\\n isWindows\\n }\\n databaseServer: node(id: $id) {\\n id\\n ... on DatabaseServer {\\n name\\n databasesCount\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerChangePasswordPage\"] = oneQuery(doc, \"DatabaseServerChangePasswordPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"WebsitesDiagnosticPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"websitesDiagnostic\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"websitesDiagnosticChecks\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"depth\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"problems\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRegularCheckEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPromoShown\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"documentationLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isNewDomainsChecked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastCheckDuration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkedDomains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skippedDomains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":972}};\n doc.loc.source = {\"body\":\"query WebsitesDiagnosticPage {\\n server {\\n websitesDiagnostic {\\n domains {\\n id\\n siteUrl\\n name(idn: false)\\n baseDomain {\\n id\\n }\\n websitesDiagnosticChecks {\\n type\\n date\\n depth\\n problems {\\n name\\n code\\n }\\n }\\n }\\n settings {\\n date\\n isRegularCheckEnabled\\n isPromoShown\\n documentationLink\\n isNewDomainsChecked\\n lastCheckDuration\\n checkedDomains {\\n id\\n name(idn: false)\\n }\\n skippedDomains {\\n id\\n name(idn: false)\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"WebsitesDiagnosticPage\"] = oneQuery(doc, \"WebsitesDiagnosticPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SystemTimePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtuozzo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemTime\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"day\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minutes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seconds\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hours\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timezone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timezones\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"daylightEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDaylightSavingChangeEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSynchronizeEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSynchronizeSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"synchronizedWith\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":453}};\n doc.loc.source = {\"body\":\"query SystemTimePage {\\n os {\\n isWindows\\n }\\n serverInfo {\\n isVirtuozzo\\n }\\n systemTime {\\n day,\\n month,\\n year,\\n minutes,\\n seconds,\\n hours,\\n timezone\\n timezones {\\n name,\\n value,\\n daylightEnabled\\n }\\n isDaylightSavingChangeEnabled,\\n isSynchronizeEnabled,\\n isSynchronizeSupported,\\n synchronizedWith\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SystemTimePage\"] = oneQuery(doc, \"SystemTimePage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSettingsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailUiEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServerName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imapServerName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxMessageSize\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxConnections\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxConnectionsPerIp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMessageSubmissionEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"messageSubmissionIp\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingEmailMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingEmailModeIps\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEmailSubaddressingEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMboxQuotaWarningEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isFixSenderEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isListSecureLinksEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasLocalhostRelayingAddressesIpV4\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasLocalhostRelayingAddressesIpV6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"autoReplyHeaders\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isShortPop3NameEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"autodiscover\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDnsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customServer\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"relay\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPopAuthEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lockTime\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpAuthEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"noRelayNetworks\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOpenRelayAllowed\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCountRecipientsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailboxLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSendmailEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportPeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"notificationPeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedReportPeriods\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedNotificationPeriods\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamFilter\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDmarcEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSigningOutgoingMailEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVerifyingIncomingMailEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRblEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rblServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSpfEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isErrorIgnored\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"behavior\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"localRules\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"guessRules\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"explanationText\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMaxLetterSizeChangeable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMessageSubmissionDedicatedIPSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMessageSubmissionAllIPSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayLockTimeSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeOpenSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeClosedSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthPop3Supported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthSmtpSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthBothSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shortPop3NamesCompatibility\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRBLInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2552}};\n doc.loc.source = {\"body\":\"query ServerMailSettingsPage {\\n serverMail {\\n isMailUiEnabled\\n settings {\\n mailServerName\\n imapServerName\\n maxMessageSize\\n maxConnections\\n maxConnectionsPerIp\\n isMessageSubmissionEnabled\\n messageSubmissionIp {\\n ipAddress\\n }\\n outgoingEmailMode\\n outgoingEmailModeIps {\\n ipAddress\\n isIPv6\\n }\\n isEmailSubaddressingEnabled\\n isMboxQuotaWarningEnabled\\n isFixSenderEnabled\\n isListSecureLinksEnabled\\n hasLocalhostRelayingAddressesIpV4\\n hasLocalhostRelayingAddressesIpV6\\n autoReplyHeaders {\\n name\\n value\\n }\\n isShortPop3NameEnabled\\n }\\n autodiscover {\\n isEnabled\\n isDnsEnabled\\n customServer\\n }\\n relay {\\n type\\n isPopAuthEnabled\\n lockTime\\n isSmtpAuthEnabled\\n noRelayNetworks\\n isOpenRelayAllowed\\n }\\n outgoingMessages {\\n isEnabled\\n isCountRecipientsEnabled\\n mailboxLimit\\n domainLimit\\n subscriptionLimit\\n isSendmailEnabled\\n reportPeriod\\n notificationPeriod\\n allowedReportPeriods\\n allowedNotificationPeriods\\n }\\n spamFilter {\\n isDmarcEnabled\\n isSigningOutgoingMailEnabled\\n isVerifyingIncomingMailEnabled\\n isRblEnabled\\n rblServer\\n isSpfEnabled\\n isErrorIgnored\\n behavior\\n localRules\\n guessRules\\n explanationText\\n }\\n }\\n os {\\n isWindows\\n }\\n capability {\\n mailServer {\\n isMaxLetterSizeChangeable\\n isMessageSubmissionDedicatedIPSupported\\n isMessageSubmissionAllIPSupported\\n isRelayLockTimeSupported\\n isRelayTypeOpenSupported\\n isRelayTypeClosedSupported\\n isRelayTypeAuthSupported\\n isRelayTypeAuthPop3Supported\\n isRelayTypeAuthSmtpSupported\\n isRelayTypeAuthBothSupported\\n shortPop3NamesCompatibility\\n }\\n packages {\\n isRBLInstalled\\n }\\n }\\n server {\\n ipAddresses {\\n nodes {\\n id\\n ipAddress\\n isIPv6\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSettingsPage\"] = oneQuery(doc, \"ServerMailSettingsPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailTabs\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerVirusProtection\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerSpamFilter\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMailAutodiscover\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMailBlackWhiteLists\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDomainsBlacklistSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmarthostAvailable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLocal\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAntiVirusInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSpamAssassinInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyDrWeb\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyQmailQueue\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":675}};\n doc.loc.source = {\"body\":\"query ServerMailTabs {\\n viewer {\\n login\\n permissions {\\n manageServerMail\\n manageServerVirusProtection\\n manageServerSpamFilter\\n manageServerMailAutodiscover\\n manageServerMailBlackWhiteLists\\n }\\n }\\n capability {\\n mailServer {\\n isDomainsBlacklistSupported\\n isSmtpWhiteListSupported\\n isSmarthostAvailable\\n isLocal\\n }\\n packages {\\n isAntiVirusInstalled\\n isSpamAssassinInstalled\\n }\\n }\\n os {\\n isWindows\\n }\\n primaryKey {\\n pleskKeyId\\n keyDrWeb\\n keyQmailQueue\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailTabs\"] = oneQuery(doc, \"ServerMailTabs\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailBlackListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blackList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"action\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":267}};\n doc.loc.source = {\"body\":\"query ServerMailBlackListPage {\\n serverMail {\\n blackList {\\n id\\n name\\n action\\n }\\n spamAssassin {\\n settings {\\n isEnabled\\n }\\n }\\n }\\n os {\\n isWindows\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailBlackListPage\"] = oneQuery(doc, \"ServerMailBlackListPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailWhiteListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"whiteList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"relay\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"noRelayNetworks\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListWithWildcardSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListWithCIDRSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":450}};\n doc.loc.source = {\"body\":\"query ServerMailWhiteListPage {\\n serverMail {\\n whiteList {\\n id\\n name\\n }\\n outgoingMessages {\\n isEnabled\\n }\\n relay {\\n noRelayNetworks\\n }\\n }\\n os {\\n isWindows\\n }\\n capability {\\n mailServer {\\n isSmtpWhiteListSupported\\n isSmtpWhiteListWithWildcardSupported\\n isSmtpWhiteListWithCIDRSupported\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailWhiteListPage\"] = oneQuery(doc, \"ServerMailWhiteListPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailAntivirusPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"antivirus\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isActive\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"antivirusPolicy\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"policy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAppliedToIncoming\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAppliedToOutgoing\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":260}};\n doc.loc.source = {\"body\":\"query ServerMailAntivirusPage {\\n serverMail {\\n antivirus {\\n key\\n name\\n isActive\\n }\\n antivirusPolicy {\\n policy\\n isAppliedToIncoming\\n isAppliedToOutgoing\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailAntivirusPage\"] = oneQuery(doc, \"ServerMailAntivirusPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamFilterPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUserSettingsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUserSettingsAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requiredHits\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxMailLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxThreadsLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alarmMessage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"languages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isTrusted\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locales\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isTrusted\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isGreylistingProtectionEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxChildren\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxChildrenLimit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUserSettingsSupported\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":848}};\n doc.loc.source = {\"body\":\"query ServerMailSpamFilterPage {\\n serverMail {\\n spamAssassin {\\n settings {\\n isEnabled\\n isUserSettingsEnabled\\n isUserSettingsAllowed\\n requiredHits\\n maxMailLimit\\n maxThreadsLimit\\n tag\\n alarmMessage\\n languages {\\n key\\n name\\n isTrusted\\n }\\n locales {\\n key\\n name\\n isTrusted\\n }\\n isGreylistingProtectionEnabled\\n maxChildren\\n maxChildrenLimit\\n }\\n }\\n }\\n capability {\\n mailServer {\\n isUserSettingsSupported\\n }\\n }\\n os {\\n isWindows\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamFilterPage\"] = oneQuery(doc, \"ServerMailSpamFilterPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamStatistics\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PaginationInput\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"EmailStatisticsRecipientsSortingInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"emailStatistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamSummary\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clean\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"infected\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protected\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skipped\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamRecipients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rows\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ratio\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalRows\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":546}};\n doc.loc.source = {\"body\":\"query ServerMailSpamStatistics(\\n $from: String!\\n $to: String!\\n $pagination: PaginationInput!\\n $orderBy: EmailStatisticsRecipientsSortingInput!\\n) {\\n emailStatistics {\\n spamSummary(from: $from, to: $to) {\\n clean\\n infected\\n protected\\n skipped\\n }\\n spamRecipients(from: $from, to: $to, pagination: $pagination, orderBy: $orderBy) {\\n rows {\\n email\\n count\\n ratio\\n }\\n totalRows\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamStatistics\"] = oneQuery(doc, \"ServerMailSpamStatistics\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSmarthostPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"smarthost\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"smarthostEncryptionOptions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isServerEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAuthenticationRequired\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"username\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"encryption\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":302}};\n doc.loc.source = {\"body\":\"query ServerMailSmarthostPage {\\n serverMail {\\n smarthost {\\n smarthostEncryptionOptions\\n isServerEnabled\\n host\\n port\\n isAuthenticationRequired\\n username\\n encryption\\n }\\n }\\n os {\\n isWindows\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSmarthostPage\"] = oneQuery(doc, \"ServerMailSmarthostPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PrimaryKeyInfoPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"potentialProblems\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"license\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disableOnExpiration\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":400}};\n doc.loc.source = {\"body\":\"query PrimaryKeyInfoPage {\\n primaryKey {\\n pleskKeyId\\n potentialProblems\\n properties {\\n name\\n description\\n value\\n }\\n revertKey {\\n pleskKeyId\\n }\\n }\\n mode {\\n isLicenseLocked\\n isLicenseDefault\\n isDemo\\n }\\n config {\\n license {\\n disableOnExpiration\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PrimaryKeyInfoPage\"] = oneQuery(doc, \"PrimaryKeyInfoPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MasterKeyProcessingState\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"masterKeyProcessingState\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":134}};\n doc.loc.source = {\"body\":\"query MasterKeyProcessingState {\\n masterKeyProcessingState\\n config {\\n product {\\n supportUrl\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MasterKeyProcessingState\"] = oneQuery(doc, \"MasterKeyProcessingState\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PrimaryKeyUploadPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPowerUserPanel\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"license\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileUpload\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":167}};\n doc.loc.source = {\"body\":\"query PrimaryKeyUploadPage {\\n mode {\\n isLicenseLocked\\n isPowerUserPanel\\n }\\n config {\\n license {\\n fileUpload\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PrimaryKeyUploadPage\"] = oneQuery(doc, \"PrimaryKeyUploadPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PrimaryKeyRevertPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":236}};\n doc.loc.source = {\"body\":\"query PrimaryKeyRevertPage {\\n primaryKey {\\n pleskKeyId\\n revertKey {\\n pleskKeyId\\n properties {\\n name\\n description\\n value\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PrimaryKeyRevertPage\"] = oneQuery(doc, \"PrimaryKeyRevertPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeysPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalKeys\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyApp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":176}};\n doc.loc.source = {\"body\":\"query AdditionalKeysPage {\\n mode {\\n isLicenseLocked\\n isDemo\\n }\\n additionalKeys {\\n keyNumber\\n keyName\\n keyApp\\n errors\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeysPage\"] = oneQuery(doc, \"AdditionalKeysPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeyUploadPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"license\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileUpload\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":104}};\n doc.loc.source = {\"body\":\"query AdditionalKeyUploadPage {\\n config {\\n license {\\n fileUpload\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeyUploadPage\"] = oneQuery(doc, \"AdditionalKeyUploadPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeyInfoPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalKey\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":284}};\n doc.loc.source = {\"body\":\"query AdditionalKeyInfoPage($id: ID!) {\\n additionalKey(id: $id) {\\n keyNumber\\n properties {\\n name\\n description\\n value\\n }\\n revertKey {\\n keyNumber\\n }\\n errors\\n }\\n mode {\\n isDemo\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeyInfoPage\"] = oneQuery(doc, \"AdditionalKeyInfoPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeyRevertPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalKey\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":259}};\n doc.loc.source = {\"body\":\"query AdditionalKeyRevertPage($id: ID!) {\\n additionalKey(id: $id) {\\n keyNumber\\n revertKey {\\n keyNumber\\n properties {\\n name\\n description\\n value\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeyRevertPage\"] = oneQuery(doc, \"AdditionalKeyRevertPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FirewallGeneralPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"interfaces\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isConnected\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":255}};\n doc.loc.source = {\"body\":\"query FirewallGeneralPage {\\n server {\\n firewall {\\n isEnabled\\n interfaces {\\n key\\n name\\n type\\n isEnabled\\n isConnected\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"FirewallGeneralPage\"] = oneQuery(doc, \"FirewallGeneralPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FirewallIcmpPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icmpRules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":159}};\n doc.loc.source = {\"body\":\"query FirewallIcmpPage {\\n server {\\n firewall {\\n icmpRules {\\n key\\n isEnabled\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"FirewallIcmpPage\"] = oneQuery(doc, \"FirewallIcmpPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FirewallRulesPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"action\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protocol\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profiles\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"remoteAddresses\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isReadonly\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":330}};\n doc.loc.source = {\"body\":\"query FirewallRulesPage {\\n server {\\n firewall {\\n rules {\\n key\\n name\\n action\\n port\\n protocol\\n profiles\\n remoteAddresses\\n isEnabled\\n isReadonly\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"FirewallRulesPage\"] = oneQuery(doc, \"FirewallRulesPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerComponentsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"components\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"error\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"depends\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dependsType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"providesType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isConfigurable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configured\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedByLicense\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parameters\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"required\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enum\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disableReason\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hideGenerateButton\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"componentTypeInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"required\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"default\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packagesCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"categoryInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isConfigurable\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":927}};\n doc.loc.source = {\"body\":\"query ServerComponentsPage {\\n os {\\n isUnix\\n }\\n server {\\n components {\\n name\\n version\\n state\\n status\\n error\\n depends\\n dependsType\\n providesType\\n description\\n isInstalled\\n isConfigurable\\n configured\\n allowedByLicense\\n parameters {\\n name\\n type\\n label\\n required\\n description\\n value\\n enum\\n disabled\\n disableReason\\n hideGenerateButton\\n }\\n componentTypeInfo {\\n name\\n required\\n default\\n packagesCount\\n }\\n categoryInfo {\\n name\\n isConfigurable\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerComponentsPage\"] = oneQuery(doc, \"ServerComponentsPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressTypeEnum\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressListSort\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"}}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"searchFilters\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"interface\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mask\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBlacklisted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMissing\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionsCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellersCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftpOverSSL\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasPublicIp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canReloadPublic\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPowerUserPanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageResellers\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtuozzo\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":1182}};\n doc.loc.source = {\"body\":\"query IpAddressPage(\\n $type: IpAddressTypeEnum,\\n $search: String,\\n $page: Int,\\n $itemsPerPage: Int,\\n $orderBy: IpAddressListSort\\n) {\\n server {\\n firewall {\\n isEnabled\\n }\\n ipAddresses(\\n input: {\\n pagination: { page: $page, itemsPerPage: $itemsPerPage },\\n searchFilters: { type: $type, ipAddress: $search },\\n orderBy: $orderBy\\n }\\n ) {\\n nodes {\\n id\\n ipAddress\\n publicIpAddress\\n interface\\n mask\\n type\\n isBlacklisted\\n isMain\\n isBroken\\n isMissing\\n subscriptionsCount\\n resellersCount\\n ftpOverSSL\\n }\\n pageInfo {\\n total\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n hasPublicIp\\n canReloadPublic\\n }\\n }\\n mode {\\n isDemo\\n isPowerUserPanel\\n canManageResellers\\n }\\n serverInfo {\\n isVirtuozzo\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IpAddressPage\"] = oneQuery(doc, \"IpAddressPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressUsage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"RESELLER\"}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"unassignedResellers\"},\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"RESELLER\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":404}};\n doc.loc.source = {\"body\":\"query IpAddressUsage($id: ID!){\\n ipAddress:node(id: $id) {\\n ... on IpAddress {\\n id\\n type\\n ipAddress\\n clients(filter:{type: RESELLER}) {\\n id\\n name\\n }\\n unassignedResellers: clients(filter:{ type: RESELLER, unassigned: true }) {\\n id\\n name\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IpAddressUsage\"] = oneQuery(doc, \"IpAddressUsage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UnassignedIpAddressResellers\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"unassignedResellers\"},\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"RESELLER\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":334}};\n doc.loc.source = {\"body\":\"query UnassignedIpAddressResellers($id: ID!){\\n ipAddress:node(id: $id) {\\n ... on IpAddress {\\n id\\n type\\n ipAddress\\n type\\n unassignedResellers: clients(filter:{ type: RESELLER, unassigned: true }) {\\n id\\n name\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UnassignedIpAddressResellers\"] = oneQuery(doc, \"UnassignedIpAddressResellers\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientIpAddress\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"availableIpAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allocatedType\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftpOverSSL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPoolEditable\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftp\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExplicitSSL\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1007}};\n doc.loc.source = {\"body\":\"query ClientIpAddress($clientId: ID!) {\\n viewer {\\n login\\n type\\n client {\\n id\\n }\\n }\\n os {\\n isWindows\\n }\\n client: node(id: $clientId) {\\n ... on Client {\\n id\\n login\\n availableIpAddress: ipAddresses(filter: { unassigned: true }) {\\n id\\n }\\n ipAddresses {\\n id\\n ipAddress\\n isBroken\\n type(clientId: $clientId)\\n allocatedType(clientId: $clientId)\\n ftpOverSSL\\n certificate {\\n id\\n name\\n ownerName\\n }\\n domains(filter: { clientId: $clientId }) {\\n id\\n }\\n }\\n }\\n }\\n server {\\n ipAddresses {\\n isPoolEditable(clientId: $clientId)\\n }\\n }\\n capability {\\n ftp {\\n isExplicitSSL\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientIpAddress\"] = oneQuery(doc, \"ClientIpAddress\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientIpAddressForm\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftp\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExplicitSSL\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"interface\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allocatedType\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"typeChangeableInClientPool\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftpOverSSL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerName\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerName\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1010}};\n doc.loc.source = {\"body\":\"query ClientIpAddressForm($ipAddressId: ID!, $clientId: ID!) {\\n capability {\\n ftp {\\n isExplicitSSL\\n }\\n }\\n os {\\n isWindows\\n }\\n ipAddress: node(id: $ipAddressId) {\\n ... on IpAddress {\\n id\\n ipAddress\\n interface\\n type(clientId: $clientId)\\n allocatedType(clientId: $clientId)\\n typeChangeableInClientPool(clientId: $clientId)\\n isBroken\\n ftpOverSSL\\n domains(filter:{ clientId: $clientId }) {\\n id\\n name\\n }\\n defaultDomain {\\n id\\n name\\n }\\n certificate {\\n id\\n name\\n ownerName\\n }\\n }\\n }\\n client: node(id: $clientId) {\\n ...on Client {\\n id\\n type\\n certificates {\\n id\\n name\\n ownerName\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientIpAddressForm\"] = oneQuery(doc, \"ClientIpAddressForm\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AssignClientIpAddress\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"availableIpAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":290}};\n doc.loc.source = {\"body\":\"query AssignClientIpAddress($clientId: ID!) {\\n client: node(id: $clientId) {\\n ... on Client {\\n id\\n login\\n availableIpAddress: ipAddresses(filter: { unassigned: true }) {\\n id\\n ipAddress\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AssignClientIpAddress\"] = oneQuery(doc, \"AssignClientIpAddress\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PhpExtensionsPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phpHandler\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cliPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phpExtensions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"affectedHandlers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"php\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pecl\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minVersion\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":423}};\n doc.loc.source = {\"body\":\"query PhpExtensionsPage($id: ID!) {\\n phpHandler(id: $id) {\\n id\\n name\\n version\\n cliPath\\n phpExtensions {\\n name\\n enabled\\n }\\n affectedHandlers {\\n id\\n name\\n }\\n }\\n os {\\n isUnix\\n }\\n config {\\n php {\\n pecl {\\n enabled\\n minVersion\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PhpExtensionsPage\"] = oneQuery(doc, \"PhpExtensionsPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TsSessionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tsSessions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"info\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":142}};\n doc.loc.source = {\"body\":\"query TsSessionPage($ids: [ID!]!) {\\n tsSessions(ids: $ids) {\\n id\\n info {\\n name\\n value\\n }\\n }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TsSessionPage\"] = oneQuery(doc, \"TsSessionPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TsSessions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tsSessions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":118}};\n doc.loc.source = {\"body\":\"query TsSessions($ids: [ID!]) {\\n tsSessions(ids: $ids) {\\n name\\n state\\n user\\n id\\n }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TsSessions\"] = oneQuery(doc, \"TsSessions\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AspDotNetServerSettings\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspNetSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"connStrings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"culture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"debugMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrors\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canDelete\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"values\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"redirectUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statusCode\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reqEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sessTimeout\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tempDirectory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevelAllowOverride\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uiCulture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defLanguage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1765}};\n doc.loc.source = {\"body\":\"query AspDotNetServerSettings {\\n server {\\n aspNetSettings {\\n configs {\\n version\\n connStrings {\\n name\\n value\\n }\\n\\n customErrMode {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n culture {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n\\n debugMode\\n authMode {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n customErrors {\\n canDelete\\n values {\\n redirectUrl\\n statusCode\\n }\\n }\\n fileEnc\\n reqEnc\\n resEnc\\n sessTimeout\\n tempDirectory\\n trustLevelAllowOverride\\n uiCulture {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n\\n defLanguage {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n trustLevel {\\n value\\n enumValues {\\n name\\n value\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AspDotNetServerSettings\"] = oneQuery(doc, \"AspDotNetServerSettings\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerAboutPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"editionName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"patch\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blogUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedback\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forumUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"facebook\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"twitter\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":435}};\n doc.loc.source = {\"body\":\"query ServerAboutPage {\\n primaryKey {\\n pleskKeyId\\n editionName\\n }\\n server {\\n productVersion {\\n name\\n version\\n patch\\n }\\n }\\n config {\\n product {\\n siteUrl\\n blogUrl\\n }\\n feedback {\\n forumUrl\\n }\\n facebook {\\n pleskPage\\n }\\n twitter {\\n pleskPage\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerAboutPage\"] = oneQuery(doc, \"ServerAboutPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MassMailPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MassEmailTemplateListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"massEmail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templates\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fromEmail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToAdmins\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellersMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClientsMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subject\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"created\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":646}};\n doc.loc.source = {\"body\":\"query MassMailPage($input: MassEmailTemplateListInput) {\\n massEmail {\\n templates(input: $input) {\\n nodes {\\n templateId\\n name\\n fromEmail\\n sendToAdmins\\n sendToResellers\\n sendToResellersMode\\n sendToClients\\n sendToClientsMode\\n subject\\n created\\n }\\n pageInfo {\\n current\\n total\\n pageCount\\n }\\n sortInfo {\\n sortColumn\\n sortDirection\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MassMailPage\"] = oneQuery(doc, \"MassMailPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateMassMailTemplatePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":230}};\n doc.loc.source = {\"body\":\"query CreateMassMailTemplatePage {\\n viewer {\\n login\\n customers {\\n id\\n name\\n email\\n }\\n resellers {\\n id\\n name\\n email\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CreateMassMailTemplatePage\"] = oneQuery(doc, \"CreateMassMailTemplatePage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SendMassMailPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"massEmail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":354}};\n doc.loc.source = {\"body\":\"query SendMassMailPage {\\n massEmail {\\n templates {\\n nodes {\\n templateId\\n name\\n }\\n }\\n }\\n viewer {\\n login\\n customers {\\n id\\n name\\n email\\n }\\n resellers {\\n id\\n name\\n email\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SendMassMailPage\"] = oneQuery(doc, \"SendMassMailPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"EditMassMailTemplatePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"numericId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"massEmail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fromEmail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToAdmins\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellersMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClientsMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subject\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateResellers\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"numericId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contacts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateClients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"numericId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contacts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":767}};\n doc.loc.source = {\"body\":\"query EditMassMailTemplatePage($id: ID!, $numericId: Int!) {\\n viewer {\\n login\\n customers {\\n id\\n name\\n email\\n }\\n resellers {\\n id\\n name\\n email\\n }\\n }\\n massEmail {\\n template(id: $id) {\\n name\\n fromEmail\\n sendToAdmins\\n sendToResellers\\n sendToResellersMode\\n sendToClients\\n sendToClientsMode\\n subject\\n body\\n }\\n templateResellers(templateId: $numericId) {\\n contacts {\\n id\\n }\\n }\\n templateClients(templateId: $numericId) {\\n contacts {\\n id\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EditMassMailTemplatePage\"] = oneQuery(doc, \"EditMassMailTemplatePage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ActionLogPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdminAlias\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"actionLog\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"objects\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"actions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rotate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"records\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minDate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":464}};\n doc.loc.source = {\"body\":\"query ActionLogPage {\\n viewer {\\n isAdminAlias\\n login\\n }\\n actionLog {\\n objects {\\n name\\n displayName\\n enabled\\n actions {\\n displayName\\n enabled\\n }\\n }\\n rotate {\\n type\\n records\\n period {\\n value\\n unit\\n }\\n }\\n minDate {\\n year\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ActionLogPage\"] = oneQuery(doc, \"ActionLogPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerSettingsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidSysUserRename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disableIpLogging\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidCreateDnsSubZone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidSubscriptionRename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullHostName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeAdminDumps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeDomainDumps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeLogs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMailboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMssqlDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includePgsqlDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMysqlDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeRemoteDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logrotateAnonymizeIps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logrotateForce\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logrotatePeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferredDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sizeCountType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficAccounting\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficStatisticsPeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDeployIncludePassword\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPumAllowed\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":858}};\n doc.loc.source = {\"body\":\"query ServerSettingsPage {\\n server {\\n settings {\\n forbidSysUserRename\\n disableIpLogging\\n forbidCreateDnsSubZone\\n forbidSubscriptionRename\\n fullHostName\\n includeAdminDumps\\n includeDatabases\\n includeDomainDumps\\n includeLogs\\n includeMailLists\\n includeMailboxes\\n includeMssqlDatabases\\n includePgsqlDatabases\\n includeMysqlDatabases\\n includeRemoteDatabases\\n logrotateAnonymizeIps\\n logrotateForce\\n logrotatePeriod\\n preferredDomain\\n sizeCountType\\n trafficAccounting\\n trafficStatisticsPeriod\\n webDeployIncludePassword\\n }\\n }\\n mode {\\n isPumAllowed\\n }\\n os {\\n isUnix\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerSettingsPage\"] = oneQuery(doc, \"ServerSettingsPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SpamFilterSettingsTabs\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerSpamFilter\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMailBlackWhiteLists\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSpamAssassinInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isGreyListingInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":300}};\n doc.loc.source = {\"body\":\"query SpamFilterSettingsTabs {\\n viewer {\\n login\\n permissions {\\n manageServerSpamFilter\\n manageServerMailBlackWhiteLists\\n }\\n }\\n capability {\\n packages {\\n isSpamAssassinInstalled\\n isGreyListingInstalled\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SpamFilterSettingsTabs\"] = oneQuery(doc, \"SpamFilterSettingsTabs\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamFilterBlackListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blackList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"level\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":223}};\n doc.loc.source = {\"body\":\"query ServerMailSpamFilterBlackListPage {\\n serverMail {\\n spamAssassin {\\n blackList {\\n id\\n name\\n level\\n status\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamFilterBlackListPage\"] = oneQuery(doc, \"ServerMailSpamFilterBlackListPage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamFilterWhiteListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"whiteList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"level\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":223}};\n doc.loc.source = {\"body\":\"query ServerMailSpamFilterWhiteListPage {\\n serverMail {\\n spamAssassin {\\n whiteList {\\n id\\n name\\n level\\n status\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamFilterWhiteListPage\"] = oneQuery(doc, \"ServerMailSpamFilterWhiteListPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useMemo, useEffect, useInsertionEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { useNavigate } from 'react-router-dom';\nimport { FormFieldText, FormFieldPassword, Action, StatusMessage, Link } from '@plesk/ui-library';\nimport { Locale, render } from 'jsw';\nimport JswComponent from '../../jsw/JswComponent';\nimport RouteLink from 'components/common/Link';\nimport Form from 'components/Form';\nimport { withLoginLayout } from '../../layouts/LoginLayout';\nimport LoginMobileApplicationPromotion from './LoginMobileApplicationPromotion';\nimport SuggestResolvableHostname from './SuggestResolvableHostname';\nimport LocaleSwitcher from 'components/common/LocaleSwitcher';\nimport { usePageData } from 'helpers/pageData';\n\nconst Translate = Locale.getTranslate('components.forms.login');\n\nimport LOGIN_PAGE_QUERY from 'queries/LoginPage.graphql';\n\nconst LoginPage = ({ values: defaultValues = undefined }) => {\n const navigate = useNavigate();\n const { status } = usePageData();\n const { data: {\n config,\n serverInfo: { isFirstLogin, cloudType },\n loginContentInclude: { headContent, bodyContent },\n } } = useQuery(LOGIN_PAGE_QUERY);\n const values = useMemo(() => ({\n login_name: '',\n passwd: '',\n locale_id: 'default',\n ...defaultValues,\n }), [defaultValues]);\n const [errors, setErrors] = useState({});\n\n useInsertionEffect(() => {\n if (!headContent) {\n return;\n }\n\n const addedElements = [];\n const first = document.head.childNodes.length;\n render(document.head, headContent);\n const last = document.head.childNodes.length;\n\n for (let i = first; i < last; i++) {\n addedElements.push(document.head.childNodes[i]);\n }\n\n return () => {\n addedElements.forEach(el => {\n document.head.removeChild(el);\n });\n };\n }, [headContent]);\n\n useEffect(() => {\n document.querySelector('input[name=\"locale_id\"]').value = values?.locale_id ?? 'default';\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = values => {\n const errors = {};\n if (values.login_name === '') {\n errors.login_name = {\n empty: <Translate content=\"enterUsername\" />,\n };\n }\n if (values.passwd === '') {\n errors.passwd = {\n empty: <Translate content=\"enterPassword\" />,\n };\n }\n setErrors(errors);\n\n if (!Object.keys(errors).length) {\n return {\n ...values,\n locale_id: document.querySelector('input[name=\"locale_id\"]').value,\n };\n }\n };\n\n return (\n <>\n {(isFirstLogin && cloudType === 'DO') ? (\n <StatusMessage intent=\"info\" className=\"login-page__info\">\n <Translate\n content=\"digitalOceanMsg\"\n params={\n { link: (\n <Link\n // eslint-disable-next-line max-len\n href=\"https://docs.plesk.com/en-US/obsidian/deployment-guide/plesk-installation-and-upgrade-on-public-cloud-services/installing-plesk-on-digitalocean.79699/#accessing-plesk-for-the-first-time\"\n target=\"_blank\"\n >\n <Translate content=\"readGuide\" />\n </Link>\n ) }\n }\n />\n </StatusMessage>\n ) : (isFirstLogin && cloudType === 'AMI_LIGHTSAIL') ? (\n <StatusMessage intent=\"info\" className=\"login-page__info\">\n <Translate\n content=\"amazonLightsailMsg\"\n params={\n { link: (\n <Link\n // eslint-disable-next-line max-len\n href=\"https://docs.plesk.com/en-US/obsidian/deployment-guide/plesk-installation-and-upgrade-on-public-cloud-services/installing-plesk-on-amazon-lightsail.79028/#accessing-plesk-for-the-first-time\"\n target=\"_blank\"\n >\n <Translate content=\"readGuide\" />\n </Link>\n ) }\n }\n />\n </StatusMessage>\n ) : null }\n <Form\n id=\"form-login\"\n method=\"post\"\n applyButton={false}\n cancelButton={false}\n statusMessages={status}\n submitButton={{\n name: 'send',\n children: <Translate content=\"loginButtonLabel\" />,\n fill: true,\n className: 'login-page__login-button',\n 'data-action': 'log-in',\n }}\n onSubmit={handleSubmit}\n vertical\n values={values}\n errors={errors}\n className=\"login-page__form\"\n >\n <div id=\"loginSection\">\n <FormFieldText\n name=\"login_name\"\n label={<Translate content=\"loginLabel\" />}\n autoFocus\n size=\"fill\"\n />\n <FormFieldPassword\n name=\"passwd\"\n label={<Translate content=\"passwdLabel\" />}\n hideGenerateButton\n hidePasswordMeter\n size=\"fill\"\n />\n <input type=\"hidden\" name=\"locale_id\" />\n </div>\n </Form>\n <div className=\"login-page__links\">\n {config?.login?.howToLoginArticle ? (\n <Action\n icon=\"question-mark-circle\"\n href={config.login.howToLoginArticle}\n target=\"_blank\"\n data-action=\"open-how-to\"\n >\n <Translate content=\"whatUsernamePassword\" />\n </Action>\n ) : null}\n <Action\n icon=\"lock-closed\"\n href=\"/get_password.php\"\n onClick={e => {\n e.preventDefault();\n const locale = document.querySelector('input[name=\"locale_id\"]').value;\n const url = e.target.closest('a').getAttribute('href');\n navigate(`${url}${locale && locale !== 'default' ? `?locale=${encodeURIComponent(locale)}` : ''}`);\n }}\n data-action=\"reset-password\"\n >\n <Translate content=\"forgotPasswordLabel\" />\n </Action>\n {config?.gdpr?.cookieSettings?.loginFormEntrypointEnabled && (\n <Action\n component={RouteLink}\n icon=\"globe\"\n to=\"?modals[cookie-policy-preferences]=true\"\n data-action=\"open-cookies-policy\"\n >\n <Translate content=\"cookies\" />\n </Action>\n )}\n </div>\n {bodyContent ? (\n <JswComponent>{bodyContent}</JswComponent>\n ) : null}\n </>\n );\n};\n\nLoginPage.propTypes = {\n values: PropTypes.shape({\n login_name: PropTypes.string,\n passwd: PropTypes.string,\n locale_id: PropTypes.string,\n }),\n};\n\nexport default withLoginLayout(LoginPage, ({ values }) => {\n const { data: {\n locales,\n viewer: { resolvableHostname, mobileApplicationPromotion, background },\n loginContentInclude: { bodyContent },\n } } = useQuery(LOGIN_PAGE_QUERY);\n\n return {\n actions: locales.length > 1 ? (\n <LocaleSwitcher\n appearance=\"dark\"\n locales={locales}\n value={values?.locale_id ?? 'default'}\n onChange={value => {\n document.querySelector('input[name=\"locale_id\"]').value = value;\n document.documentElement.lang = value.split('-')[0];\n\n const locale = locales.find(({ code }) => code === value);\n if (bodyContent || locale?.isRtl !== (document.documentElement.dir === 'rtl')) {\n document.getElementById('form-login').submit();\n } else {\n Locale.loadSections(Object.keys(Locale.sections), value);\n }\n }}\n />\n ) : undefined,\n contentAddon: [\n resolvableHostname ? (\n <SuggestResolvableHostname link={resolvableHostname} />\n ) : null,\n mobileApplicationPromotion ? (\n <LoginMobileApplicationPromotion {...mobileApplicationPromotion} />\n ) : null,\n ],\n background,\n };\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport {\n Form as BaseForm,\n FormProps as BaseFormProps,\n setIn,\n getIn,\n StatusMessage,\n} from '@plesk/ui-library';\nimport { isApolloError, FetchResult } from '@apollo/client';\nimport { forwardRef, useState, useEffect, useMemo, useImperativeHandle, useRef, ForwardedRef, ReactElement } from 'react';\nimport { redirect, redirectPost, api, escapeHtml, render, prepareInternalError } from 'jsw';\nimport { toFormData } from 'helpers/form';\nimport JswComponent from './jsw/JswComponent';\nimport { useNavigate } from 'react-router-dom';\nimport { isClientSideRedirectAllowed } from 'routes';\n\ntype EmbeddedForm = {\n name: string;\n content?: string;\n title: string;\n};\n\ntype StatusMessage = {\n status: string;\n title?: string;\n content: string;\n};\n\ntype BaseMutation <FV> = (payload: { variables: { input: NoInfer<FV> } }) => Promise<FetchResult>;\n\nconst clearMessages = (root: HTMLElement) => {\n root.querySelectorAll<HTMLElement>('.field-errors').forEach(errors => {\n errors.style.display = 'none';\n errors.closest('.form-row')?.classList.remove('error');\n errors.querySelectorAll('.error-hint').forEach(error => {\n error.parentNode!.removeChild(error);\n });\n });\n};\n\nconst processFieldMessage = (\n root: HTMLElement,\n prefix: string[],\n _name: string,\n message: string,\n) => {\n let fieldErrors;\n const formElement: HTMLElement = root.querySelector(`#${prefix.join('-')}`)!;\n fieldErrors = formElement ? formElement.parentNode!.querySelector('.field-errors') : null;\n if (!fieldErrors) {\n fieldErrors = formElement ? formElement.closest('.form-row')!.querySelector('.field-errors') : null;\n }\n if (!fieldErrors) {\n fieldErrors = root.querySelector(`#${prefix.join('-')}-form-row`)!.querySelectorAll('.field-errors');\n fieldErrors = fieldErrors[fieldErrors.length - 1];\n }\n\n fieldErrors.closest('.form-row')!.classList.add('error');\n render(fieldErrors, `<span class=\"error-hint\">${escapeHtml(message)}</span>`);\n (fieldErrors as HTMLElement).style.display = '';\n};\n\nconst processFieldMessages = (\n root: HTMLElement,\n messages: Record<string, string> | Record<string, string>[],\n prefix: string[],\n) => {\n if (Array.isArray(messages)) {\n messages.forEach(message => {\n if (typeof message === 'string') {\n processFieldMessage(root, prefix, 'error', message);\n } else {\n // @ts-expect-error unknown problem\n prefix.push(name);\n processFieldMessages(root, message, prefix);\n prefix.pop();\n }\n });\n } else {\n Object.entries(messages).forEach(([key, value]) => {\n if (typeof value === 'string') {\n processFieldMessage(root, prefix, key, value);\n } else {\n prefix.push(key);\n processFieldMessages(root, value, prefix);\n prefix.pop();\n }\n });\n }\n};\n\nconst findSubFormFields = <FV extends Record<string, unknown>> (\n formId: string | undefined,\n subFormPrefix: string[],\n callback?: (key: string, value: FV[string]) => void,\n) => {\n if (subFormPrefix.length === 0 || typeof callback !== 'function') {\n return;\n }\n const formData = new FormData([...document.forms].find(({ id }) => id === formId));\n for (const entry of formData.entries()) {\n const [key, value] = entry;\n if (subFormPrefix.some(prefix => key.startsWith(prefix))) {\n callback(key, value as FV[string]);\n }\n }\n};\n\nconst getSubFormPrefixes = (formPrefix: string, embeddedForms?: EmbeddedForm[]) => (embeddedForms || []).reduce((acc, { name }) => [\n ...acc,\n `${formPrefix}[${name}]`,\n name,\n], [] as string[]);\n\nconst setElementValue = (name: string, value: string) => {\n const elements = document.getElementsByName(name) as NodeListOf<HTMLInputElement>;\n elements.forEach(element => {\n if (element.type === 'checkbox' || element.type === 'radio') {\n element.checked = element.value === value;\n } else if (element.type === 'hidden' &&\n Array.prototype.filter.call(elements, ({ type }) => type === 'checkbox').length > 0) {\n // set only checkbox state\n } else {\n element.value = value;\n }\n });\n};\n\ntype OnSuccess <\n FV extends Record<string, unknown>,\n Mutation,\n Result = Mutation extends BaseMutation<FV>\n /** @deprecated use mutation callbacks instead */\n ? (data: NonNullable<Mutation extends BaseMutation<FV> ? Awaited<ReturnType<Mutation>>['data'] : void>, isApply?: boolean) => void\n // TODO: cover response in PPP-67379\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n : (response: any, isApply?: boolean) => void,\n> = Result;\n\nexport type FormProps <\n FV extends Record<string, unknown>,\n Mutation = undefined,\n> = {\n mutation?: Mutation;\n formPrefix?: string;\n embeddedFormsRender?: (children: ReactElement[]) => ReactElement;\n embeddedForms?: EmbeddedForm[];\n statusMessages?: StatusMessage[];\n onSubmit?: (values: FV, isApply?: boolean) => Promise<FV | null | void> | FV | null | void;\n onError?: (errors: Record<string, unknown>, setErrors?: (errors: Record<string, unknown>) => void) => void;\n onSuccess?: OnSuccess<FV, Mutation>;\n // TODO: cover in PPP-67379\n onLongTask?: unknown;\n} & BaseFormProps<FV>;\n\ntype FormComponent = <\n FV extends Record<string, unknown>,\n Mutation = undefined,\n // TODO: cover ref in PPP-67379\n> (p: FormProps<FV, Mutation> & { ref?: ForwardedRef<unknown> }) => ReactElement;\n\nconst Form = forwardRef(<\n FV extends Record<string, unknown>,\n Mutation extends BaseMutation<FV> | undefined = undefined,\n>({\n children,\n id,\n action,\n mutation,\n values,\n onFieldChange,\n onSubmit,\n onError,\n onSuccess,\n onLongTask,\n embeddedForms,\n formPrefix = '',\n embeddedFormsRender,\n statusMessages: messages,\n errors: defaultErrors,\n ...props\n }: FormProps<FV, Mutation>, ref: ForwardedRef<unknown>) => {\n const navigate = useNavigate();\n const innerRef = useRef<HTMLFormElement>(null);\n const statusRef = useRef<HTMLSpanElement>(null);\n const [errors, setErrors] = useState<Record<string, unknown>>({});\n const [statusMessages, setStatusMessages] = useState<StatusMessage[]>(messages ?? []);\n const [state, setState] = useState<BaseFormProps<Record<string, unknown>>['state'] | null>(null);\n\n const formErrors = useMemo(() => ({ ...errors, ...(defaultErrors || {}) }), [errors, defaultErrors]);\n\n useEffect(() => {\n (embeddedForms || []).forEach(({ name }) => {\n const form = document.getElementById(`embedded-form-${name}`)!;\n clearMessages(form);\n\n // @ts-expect-error // TODO: cover in PPP-67379\n const subFormErrors = (formPrefix ? errors[formPrefix] || {} : errors)[name] || {};\n processFieldMessages(form, subFormErrors, formPrefix ? [formPrefix, name] : [name]);\n });\n }, [errors, embeddedForms, formPrefix]);\n\n useEffect(() => {\n findSubFormFields(id, getSubFormPrefixes(formPrefix, embeddedForms), (key, value) => {\n const previousValue = getIn(values as FV, key, value);\n setElementValue(key, previousValue);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [embeddedForms]);\n\n useImperativeHandle(ref, () => ({\n handleEmbeddedFormValues() {\n findSubFormFields(id, getSubFormPrefixes(formPrefix, embeddedForms), onFieldChange);\n },\n submit() {\n innerRef.current?.submit();\n },\n }), [id, onFieldChange, embeddedForms, formPrefix, innerRef]);\n\n useEffect(() => {\n if (statusMessages.length) {\n statusRef.current?.scrollIntoView({ behavior: 'smooth' });\n }\n }, [statusMessages]);\n\n const handleSubmit = async (values: FV, isApply?: boolean) => {\n findSubFormFields(id, getSubFormPrefixes(formPrefix, embeddedForms), (key, value) => {\n values = setIn(values, key, value);\n });\n if (typeof onSubmit === 'function') {\n // eslint-disable-next-line require-atomic-updates\n (values as FV | null | void) = await onSubmit(values, isApply);\n }\n if (!values) {\n return;\n }\n\n setStatusMessages([]);\n setErrors({});\n\n const formState = isApply ? 'apply' : 'submit';\n setState(formState);\n\n if (mutation) {\n try {\n const { data } = await mutation({ variables: { input: values } });\n if (typeof onSuccess === 'function') {\n onSuccess(data!, isApply);\n }\n } catch (error) {\n if (!(error instanceof Error)) {\n throw error;\n }\n\n if (!isApolloError(error) || !error.graphQLErrors.length) {\n setStatusMessages([{ status: 'error', content: error.message }]);\n return;\n }\n\n const { graphQLErrors } = error;\n\n if (graphQLErrors[0].extensions?.category === 'validate') {\n const errors = graphQLErrors[0].extensions.messages;\n setErrors(errors);\n if (typeof onError === 'function') {\n onError(errors);\n }\n } else {\n setStatusMessages([{\n status: 'error',\n content: graphQLErrors[0].extensions?.debugMessage || graphQLErrors[0].message,\n }]);\n }\n } finally {\n setState(null);\n }\n return;\n }\n\n try {\n handleSubmitSuccess(await api.post(action || window.location.href, toFormData(values)), formState);\n } catch (e) {\n setState(null);\n setStatusMessages([{\n status: 'error',\n content: prepareInternalError(e, { messageWrapper: 'div' }),\n }]);\n }\n };\n\n // TODO: cover response in PPP-67379\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handleSubmitSuccess = (response: any, formState: 'apply' | 'submit') => {\n if (response.componentType === 'Jsw.Task.ProgressBar.Item' && typeof onLongTask === 'function') {\n onLongTask(response);\n return;\n }\n const isApply = formState === 'apply';\n\n const { status, redirect: url, forceRedirect = false, postData, target, formMessages, statusMessages = [], message } = response;\n if (url) {\n if (typeof onSuccess === 'function') {\n onSuccess(response, isApply);\n }\n\n if (isApply) {\n const { pathname } = window.location;\n if (isClientSideRedirectAllowed(pathname)) {\n navigate(pathname, { replace: true });\n setState(null);\n } else {\n document.location.reload();\n }\n } else if (postData) {\n redirectPost(url, postData, target);\n } else {\n (isClientSideRedirectAllowed(url) && !forceRedirect) ? navigate(url) : redirect(url, undefined, target);\n }\n } else {\n setState(null);\n if (status === 'error' && message) {\n statusMessages.push({ status: 'error', content: message });\n }\n setStatusMessages(statusMessages);\n setErrors(formMessages);\n if (!formMessages && status !== 'error' && typeof onSuccess === 'function') {\n onSuccess(response, isApply);\n }\n if (formMessages && typeof onError === 'function') {\n onError(formMessages, setErrors);\n }\n }\n };\n\n const renderStatusMessages = () => {\n if (!statusMessages.length) {\n return null;\n }\n return (\n <span ref={statusRef}>\n {statusMessages.map(({ status, content, title }) => (\n <StatusMessage intent={status === 'error' ? 'danger' : 'success'} key={content}>\n {title ? <><b>{title}{':'}</b>{' '}</> : null}\n <span\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: content }}\n />\n </StatusMessage>\n ))}\n </span>\n );\n };\n\n const renderEmbeddedForms = () => (embeddedForms || []).map(({ name, content }) => (\n <JswComponent\n key={name}\n id={`embedded-form-${name}`}\n >\n {/** @ts-expect-error JswComponents is js */}\n {content}\n </JswComponent>\n ));\n\n return (\n <BaseForm\n {...props}\n ref={innerRef}\n id={id}\n values={values}\n onFieldChange={onFieldChange}\n onSubmit={handleSubmit}\n errors={formErrors}\n state={state ?? undefined}\n >\n {renderStatusMessages()}\n {children}\n {embeddedFormsRender ? embeddedFormsRender(renderEmbeddedForms()) : renderEmbeddedForms()}\n </BaseForm>\n );\n});\n\nForm.displayName = 'Form';\n\nexport default Form as FormComponent;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Brand from './Brand';\nimport CookiePolicy from './CookiePolicy';\nimport LayoutBackground from './LayoutBackground';\n\nconst LoginLayout = ({\n children = undefined,\n actions = undefined,\n ...props\n}) => {\n useLayoutEffect(() => {\n document.body.classList.add('sid-login');\n return () => {\n document.body.classList.remove('sid-login');\n };\n }, []);\n\n return (\n <div className=\"login-page\">\n <CookiePolicy layoutType=\"simplified\" />\n <LayoutBackground\n header={(\n <div className=\"login-page-header\">\n <div className=\"login-page-header__brand\">\n <Brand />\n </div>\n {actions ? (\n <div className=\"login-page-header__actions\">\n {actions}\n </div>\n ) : null}\n </div>\n )}\n {...props}\n >\n <div id=\"main\" className=\"login-page__content\">\n {children}\n </div>\n </LayoutBackground>\n </div>\n );\n};\n\nLoginLayout.propTypes = {\n children: PropTypes.any,\n actions: PropTypes.any,\n customBackground: PropTypes.shape({\n file: PropTypes.string,\n color: PropTypes.string.isRequired,\n fit: PropTypes.string.isRequired,\n }),\n};\n\nexport const withLoginLayout = (Component, extraProps) => {\n const Wrapper = wrapperProps => {\n const {\n contentAddon,\n actions,\n background,\n ...props\n } = {\n ...wrapperProps,\n ...(typeof extraProps === 'function' ? extraProps(wrapperProps) : extraProps),\n };\n\n return (\n <LoginLayout\n contentAddon={contentAddon}\n actions={actions}\n customBackground={background}\n >\n <Component {...props} />\n </LoginLayout>\n );\n };\n Wrapper.displayName = `withLoginLayout(${Component.displayName || Component.name || 'Component'})`;\n Wrapper.WrappedComponent = Component;\n\n return Wrapper;\n};\n\nexport default LoginLayout;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport classNames from 'classnames';\nimport { Layout } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\n\nconst LayoutBackground = ({\n customBackground = {\n file: undefined,\n color: '#4B4B4B',\n fit: 'fill',\n },\n header = undefined,\n className = '',\n ...props\n}) => (\n <Layout\n type=\"simplified\"\n className={classNames(\n 'login-page__inner',\n `login-page__background login-page__background--${customBackground.fit}`,\n className,\n )}\n style={{\n '--login-bg-color': customBackground.color,\n '--login-bg-image': customBackground.file ? `url(/images/${customBackground.file})` : null,\n }}\n header={header}\n {...props}\n />\n);\n\nLayoutBackground.propTypes = {\n customBackground: PropTypes.shape({\n file: PropTypes.string,\n color: PropTypes.string.isRequired,\n fit: PropTypes.string.isRequired,\n }),\n className: PropTypes.string,\n header: PropTypes.node,\n};\n\nexport default LayoutBackground;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Heading, Alert, Media, MediaSection, Icon, Button } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport Cookie from 'common/cookie';\n\nconst Translate = Locale.getTranslate('components.forms.login');\n\nconst MOBILE_APPLICATION_PROMOTION_COOKIE_NAME = 'mobile-application-promotion-hidden';\n\nconst LoginMobileApplicationPromotion = ({\n baseClassName = 'login-mobile-application-promotion',\n className = undefined,\n name,\n url,\n icon = undefined,\n}) => {\n const [isVisible, setIsVisible] = useState(Boolean(Cookie.get(MOBILE_APPLICATION_PROMOTION_COOKIE_NAME) !== '1'));\n\n const handleHide = () => {\n setIsVisible(false);\n Cookie.setPermanent(MOBILE_APPLICATION_PROMOTION_COOKIE_NAME, '1', '/');\n };\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <Alert\n intent=\"info\"\n className={classNames(baseClassName, className)}\n >\n <Media\n title={<Heading level={4}>{name}</Heading>}\n image={<Icon className={`${baseClassName}__icon`} src={icon || require('icons/64/plesk/plesk.png')} size=\"64\" />}\n >\n <MediaSection>\n <Translate content=\"mobileApplicationMessage\" params={{ name }} />\n </MediaSection>\n <MediaSection>\n <Button className={`${baseClassName}__button`} component=\"a\" intent=\"primary\" href={url} onClick={handleHide}>\n <Translate content=\"mobileApplicationInstall\" />\n </Button>\n <Button className={`${baseClassName}__button`} onClick={handleHide}>\n <Translate content=\"mobileApplicationHide\" />\n </Button>\n </MediaSection>\n </Media>\n </Alert>\n );\n};\n\nLoginMobileApplicationPromotion.propTypes = {\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n icon: PropTypes.string,\n className: PropTypes.string,\n baseClassName: PropTypes.string,\n};\n\nexport default LoginMobileApplicationPromotion;\n","module.exports = Jsw.skinUrl + \"/icons/64/plesk/plesk.png?aee4fcbe66c643d3dde4f3de15aa8f4e\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport classNames from 'classnames';\nimport { Alert, Link } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport PropTypes from 'prop-types';\n\nconst Translate = Locale.getTranslate('components.forms.login');\n\nconst SuggestResolvableHostname = ({\n baseClassName = 'login-ssl-warnings',\n className = undefined,\n link,\n}) => {\n const match = link.match(/^https?:\\/\\/[^\\/?#]*/);\n const host = match[0];\n\n return (\n <Alert\n intent=\"info\"\n className={classNames(baseClassName, className)}\n >\n <Translate\n content=\"avoidSSLWarningsMsg\"\n params={{\n link: <Link href={link}>{host}</Link>,\n }}\n />\n </Alert>\n );\n};\n\nSuggestResolvableHostname.propTypes = {\n className: PropTypes.string,\n baseClassName: PropTypes.string,\n link: PropTypes.string.isRequired,\n};\n\nexport default SuggestResolvableHostname;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport classNames from 'classnames';\nimport { useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Dropdown, Menu, MenuItem } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\n\nimport './LocaleSwitcher.less';\n\nconst Translate = Locale.getTranslate('components.common.LocaleSwitcher');\n\nconst LocaleSwitcher = ({ locales, value: defaultValue, onChange, appearance = 'default' }) => {\n const [value, setValue] = useState(defaultValue);\n\n const sortedLocales = useMemo(() => locales.slice().sort((a, b) => {\n if (b.code === 'en-US' || a.name > b.name) {\n return 1;\n }\n if (a.code === 'en-US' || b.name > a.name) {\n return -1;\n }\n return 0;\n }), [locales]);\n\n const handleChange = value => {\n setValue(value);\n onChange(value);\n };\n\n return (\n <Dropdown\n menuPlacement=\"bottom-end\"\n menu={(\n <Menu\n className=\"locale-switcher-menu\"\n >\n <MenuItem\n active={value === 'default'}\n onClick={() => handleChange('default')}\n >\n <Translate content=\"defaultLocale\" />\n </MenuItem>\n {sortedLocales.map(({ code, name, isRtl }) => (\n <MenuItem\n key={code}\n active={value === code}\n onClick={() => handleChange(code)}\n dir={isRtl ? 'rtl' : 'ltr'}\n >\n {name}\n </MenuItem>\n ))}\n </Menu>\n )}\n >\n <Button\n className={classNames(['locale-switcher-button', { 'pul-button--on-dark': appearance === 'dark' }])}\n tooltip={<Translate content=\"localeLabel\" />}\n icon=\"globe\"\n ghost\n caret\n />\n </Dropdown>\n );\n};\n\nLocaleSwitcher.propTypes = {\n appearance: PropTypes.oneOf(['default', 'dark']),\n locales: PropTypes.arrayOf(PropTypes.shape({\n code: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n isRtl: PropTypes.bool.isRequired,\n })).isRequired,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default LocaleSwitcher;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useNavigate } from 'react-router-dom';\nimport { FormFieldText, FormFieldRadioButtons, Heading } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport { addToast } from 'helpers/toasts';\nimport Form from 'components/Form';\nimport Link from 'components/common/Link';\nimport { withLoginLayout } from '../layouts/LoginLayout';\n\nconst Translate = Locale.getTranslate('components.forms.get-password');\n\nimport GET_PASSWORD_PAGE_QUERY from 'queries/GetPasswordPage.graphql';\nimport { useQuery } from '@apollo/client';\n\nconst GetPasswordPage = ({ values: defaultValues = undefined }) => {\n const navigate = useNavigate();\n const values = useMemo(() => ({\n resetBy: 'email',\n email: '',\n login: '',\n ...defaultValues,\n }), [defaultValues]);\n\n const handleSuccess = useCallback(() => {\n addToast({\n intent: 'success',\n message: <Translate content=\"messageSend\" />,\n });\n navigate('/login_up.php');\n }, [navigate]);\n\n return (\n <>\n <Heading level=\"3\"><Translate content=\"label\" /></Heading>\n <p><Translate content=\"text\" /></p>\n <Form\n id=\"form-changepassword-getlink\"\n values={values}\n onSuccess={handleSuccess}\n applyButton={false}\n submitButton={{\n children: <Translate content=\"send\" />,\n 'data-action': 'send',\n }}\n cancelButton={{\n component: Link,\n to: '/login_up.php',\n children: <Translate content=\"cancel\" />,\n 'data-action': 'cancel',\n }}\n vertical\n >\n <FormFieldRadioButtons\n name=\"resetBy\"\n options={[\n {\n value: 'email',\n label: <Translate content=\"emailLabel\" />,\n indentFields: [\n <FormFieldText\n key=\"reset-by-email\"\n name=\"email\"\n autoFocus\n size=\"fill\"\n />,\n ],\n },\n {\n value: 'login',\n label: <Translate content=\"loginLabel\" />,\n indentFields: [\n <FormFieldText\n key=\"reset-by-login\"\n name=\"login\"\n size=\"fill\"\n />,\n ],\n },\n ]}\n />\n </Form>\n </>\n );\n};\n\nGetPasswordPage.propTypes = {\n values: PropTypes.shape({\n resetBy: PropTypes.string,\n email: PropTypes.string,\n login: PropTypes.string,\n }),\n};\n\nexport default withLoginLayout(GetPasswordPage, () => {\n const {\n data: {\n viewer: { background },\n },\n } = useQuery(GET_PASSWORD_PAGE_QUERY);\n\n return { background };\n});\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetPasswordPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"background\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":127}};\n doc.loc.source = {\"body\":\"query GetPasswordPage {\\n viewer {\\n background {\\n file\\n color\\n fit\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"GetPasswordPage\"] = oneQuery(doc, \"GetPasswordPage\");\n \n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { FormFieldPassword } from '@plesk/ui-library';\nimport { Locale, api } from 'jsw';\nimport estimatePassword from 'helpers/estimatePassword';\nimport { addToast } from 'helpers/toasts';\nimport Form from 'components/Form';\nimport Link from 'components/common/Link';\nimport { withLoginLayout } from '../layouts/LoginLayout';\n\nconst Translate = Locale.getTranslate('components.forms.restore-password');\n\nimport GET_PASSWORD_PAGE_QUERY from 'queries/GetPasswordPage.graphql';\nimport { useQuery } from '@apollo/client';\n\nconst RestorePasswordPage = () => {\n const navigate = useNavigate();\n const [errors, setErrors] = useState({});\n\n const handleSubmit = values => {\n const errors = {};\n if (!values.password) {\n errors.password = {\n isEmpty: <Translate content=\"isEmpty\" />,\n };\n }\n\n setErrors(errors);\n if (!Object.keys(errors).length) {\n return values;\n }\n };\n\n const handleSuccess = useCallback(() => {\n addToast({\n intent: 'success',\n message: <Translate content=\"restoreSuccess\" />,\n });\n navigate('/login_up.php');\n }, [navigate]);\n\n const handleEstimatePassword = useCallback(password => estimatePassword(password, password => api.post('?estimate', { password })), []);\n\n return (\n <Form\n id=\"form-restore-password\"\n onSubmit={handleSubmit}\n onSuccess={handleSuccess}\n submitButton={{\n children: <Translate content=\"buttonRestore\" />,\n }}\n applyButton={false}\n cancelButton={{\n children: <Translate content=\"buttonCancel\" />,\n component: Link,\n to: '/login_up.php',\n }}\n errors={errors}\n vertical\n >\n <h3><Translate content=\"title\" /></h3>\n <FormFieldPassword\n title={<Translate content=\"passwordLabel\" />}\n name=\"password\"\n size=\"fill\"\n autoComplete=\"new-password\"\n passwordMeterProps={{\n onEstimate: handleEstimatePassword,\n placement: 'top-right',\n }}\n />\n </Form>\n );\n};\n\nexport default withLoginLayout(RestorePasswordPage, () => {\n const {\n data: {\n viewer: { background },\n },\n } = useQuery(GET_PASSWORD_PAGE_QUERY);\n\n return { background };\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { LocaleProvider as BaseLocaleProvider } from '@plesk/ui-library';\nimport { Locale, Observer } from 'jsw';\nimport { useEventListener } from 'common/hooks';\n\nconst mergeMessages = (oldMessages, messages, prefix) => {\n const prefixedMessages = Object.entries(messages)\n .reduce((res, [key, value]) => {\n res[`${prefix}.${key}`] = value;\n return res;\n }, {});\n\n return {\n ...oldMessages,\n ...prefixedMessages,\n };\n};\n\nconst LocaleProvider = ({ children = undefined }) => {\n const [messages, setMessages] = useState(Object.entries(Locale.sections)\n .reduce((oldMessages, [sectionName, section]) => mergeMessages(oldMessages, section.messages, sectionName), {}));\n\n const handleAddedLocaleSection = useCallback(({ name, messages }) => {\n setMessages(oldMessages => mergeMessages(oldMessages, messages, name));\n }, []);\n\n const handleAddedLocaleSections = useCallback(({ sections }) => {\n setMessages(oldMessages => Object.entries(sections).reduce((acc, [name, messages]) => mergeMessages(acc, messages, name), oldMessages));\n }, []);\n\n useEventListener('plesk:addedLocaleSection', handleAddedLocaleSection, Observer);\n useEventListener('plesk:addedLocaleSections', handleAddedLocaleSections, Observer);\n\n\n return (\n <BaseLocaleProvider messages={messages}>\n {children}\n </BaseLocaleProvider>\n );\n};\n\nLocaleProvider.propTypes = {\n children: PropTypes.any,\n};\n\nexport default LocaleProvider;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Component, Popover, StatusMessage, Text } from 'react';\nimport PropTypes from 'prop-types';\nimport { captureException } from '@sentry/browser';\n\nclass ErrorBoundary extends Component {\n state = {\n error: null,\n errorInfo: null,\n };\n\n componentDidCatch(error, errorInfo) {\n this.setState({\n error,\n errorInfo,\n });\n captureException(error);\n }\n\n render() {\n if (this.state.errorInfo) {\n return (\n <Popover\n target={<StatusMessage intent=\"danger\" style={{ margin: 0 }}>{'Internal error'}</StatusMessage>}\n intent=\"danger\"\n placement=\"bottom-start\"\n wide\n >\n <Text style={{ whiteSpace: 'pre-wrap', fontFamily: 'monospace' }}>\n {this.state.error && this.state.error.toString()}\n {this.state.errorInfo.componentStack}\n </Text>\n </Popover>\n );\n }\n\n return this.props.children;\n }\n}\n\nErrorBoundary.propTypes = {\n children: PropTypes.any,\n};\n\nErrorBoundary.defaultProps = {\n children: undefined,\n};\n\nexport default ErrorBoundary;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nconst entries = {\n 'app/editlist': () => import(/* webpackChunkName: \"app/editlist\" */'./editlist'),\n 'app/rating': () => import(/* webpackChunkName: \"app/rating\" */'./rating'),\n 'app/aha': () => import(/* webpackChunkName: \"app/aha\" */'./aha'),\n 'app/eula': () => import(/* webpackChunkName: \"app/eula\" */'./eula'),\n 'app/app-image/gallery': () => import(/* webpackChunkName: \"app/app-image/gallery\" */'./app-image/gallery'),\n 'app/backup/list': () => import(/* webpackChunkName: \"app/backup/list\" */'./backup/list'),\n 'app/backup/restore': () => import(/* webpackChunkName: \"app/backup/restore\" */'./backup/restore'),\n 'app/backup/upload-files': () => import(/* webpackChunkName: \"app/backup/upload-files\" */'./backup/upload-files'),\n 'app/backup/web-content-dynamic': () => import(/* webpackChunkName: \"app/backup/web-content-dynamic\" */'./backup/web-content-dynamic'),\n 'app/database/assign-to-subscription': () => import(/* webpackChunkName: \"app/database/assign-to-subscription\" */'views/smb/database/list/AssignToSubscription'),\n 'app/dns-helper': () => import(/* webpackChunkName: \"app/dns-helper\" */'./dns-helper'),\n 'app/dns-helper/dns-settings': () => import(/* webpackChunkName: \"app/dns-helper/dns-settings\" */'./dns-helper/dns-settings'),\n 'app/email-address/aliases-dynamic': () => import(/* webpackChunkName: \"app/email-address/aliases-dynamic\" */'./email-address/aliases-dynamic'),\n 'app/email-address/client-configuration-link': () => import(/* webpackChunkName: \"app/email-address/client-configuration-link\" */'./email-address/client-configuration-link'),\n 'app/email-address/form-ajax': () => import(/* webpackChunkName: \"app/email-address/form-ajax\" */'./email-address/form-ajax'),\n 'app/email-address/postbox': () => import(/* webpackChunkName: \"app/email-address/postbox\" */'./email-address/postbox'),\n 'app/email-address/responder-attachments-dynamic': () => import(\n /* webpackChunkName: \"app/email-address/responder-attachments-dynamic\" */\n './email-address/responder-attachments-dynamic'\n ),\n 'app/file-manager/explorer': () => import(/* webpackChunkName: \"app/file-manager/explorer\" */'./file-manager/explorer'),\n 'app/file-manager/file-name-popup-form': () => import(/* webpackChunkName: \"app/file-manager/file-name-popup-form\" */'./file-manager/file-name-popup-form'),\n 'app/mail-settings/confirmation-remove-popup-form': () => import(\n /* webpackChunkName: \"app/mail-settings/confirmation-remove-popup-form\" */\n './mail-settings/confirmation-remove-popup-form'\n ),\n 'app/hosting-settings/conflicts-checker': () => import(/* webpackChunkName: \"app/hosting-settings/conflicts-checker\" */'./hosting-settings/conflicts-checker'),\n 'app/log-browser/browser': () => import(/* webpackChunkName: \"app/log-browser/browser\" */'./log-browser/browser'),\n 'app/log-browser/files': () => import(/* webpackChunkName: \"app/log-browser/files\" */'./log-browser/files'),\n 'app/login/recovery-password': () => import(/* webpackChunkName: \"app/login/recovery-password\" */'./login/recovery-password'),\n 'app/newsletter-subscription': () => import(/* webpackChunkName: \"app/newsletter-subscription\" */'./newsletter-subscription'),\n 'app/progress-dialog': () => import(/* webpackChunkName: \"app/progress-dialog\" */'./progress-dialog'),\n 'app/profile/announcement-settings': () => import(/* webpackChunkName: \"app/profile/announcement-settings\" */'./profile/announcement-settings'),\n 'app/domain/restriction': () => import(/* webpackChunkName: \"app/domain/restriction\" */'./domain/restriction'),\n 'app/pum': () => import(/* webpackChunkName: \"app/pum\" */'./pum'),\n 'app/server-mail-antivirus-promo': () => import(/* webpackChunkName: \"app/server-mail-antivirus-promo\" */'./server-mail-antivirus-promo'),\n 'app/show-output-popup': () => import(/* webpackChunkName: \"app/show-output-popup\" */'./show-output-popup'),\n 'app/task-progress-bar': () => import(/* webpackChunkName: \"app/task-progress-bar\" */'./task-progress-bar'),\n 'app/user/login-string': () => import(/* webpackChunkName: \"app/user/login-string\" */'./user/login-string'),\n 'app/change-customers-owner': () => import(/* webpackChunkName: \"app/change-customers-owner\" */'./change-customers-owner'),\n 'app/convert-customers-to-resellers': () => import(/* webpackChunkName: \"app/convert-customers-to-resellers\" */'./convert-customers-to-resellers'),\n 'app/convert-resellers-to-customers': () => import(/* webpackChunkName: \"app/convert-resellers-to-customers\" */'./convert-resellers-to-customers'),\n 'app/service-sidebar': () => import(/* webpackChunkName: \"app/service-sidebar\" */'components/sidebars/ServiceSidebar'),\n 'app/ssl-certificate/list': () => import(/* webpackChunkName: \"app/ssl-certificate/list\" */'./ssl-certificate/list'),\n 'app/app/progress': () => import(/* webpackChunkName: \"app/app/progress\" */'./app/progress'),\n 'app/app/installed': () => import(/* webpackChunkName: \"app/app/installed\" */'./app/installed'),\n 'app/app/apscatalog': () => import(/* webpackChunkName: \"app/app/apscatalog\" */'./app/apscatalog'),\n 'app/web-app-firewall/submit-handler': () => import(/* webpackChunkName: \"app/web-app-firewall/submit-handler\" */'./web-app-firewall/submit-handler'),\n};\n\nexport default async (path, callback) => {\n if (!entries[path]) {\n throw new Error(`Unknown required module ${path}.`);\n }\n\n try {\n const { default: module } = await entries[path]();\n callback?.(module);\n return module;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n return new Promise(() => {});\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport {\n init,\n getCurrentScope,\n replayIntegration,\n browserTracingIntegration,\n User,\n} from '@sentry/browser';\nimport { withoutGraphQLFetch } from 'apollo-link-sentry';\n\ntype Config = {\n sentry: {\n dsn: string;\n environment: string;\n release: string;\n tags: Record<string, string>;\n user?: User | null;\n } | null;\n};\n\nexport default ({ sentry }: Config) => {\n if (!sentry) {\n return;\n }\n\n if (window.navigator.userAgent.match(/jsdom/)) {\n return;\n }\n\n const { user = null, tags = {}, environment, ...options } = sentry;\n const isDev = environment === 'development';\n\n init({\n integrations: [\n replayIntegration({\n maskAllText: !isDev,\n maskAllInputs: !isDev,\n }),\n browserTracingIntegration({\n beforeStartSpan: context => ({\n ...context,\n name: location.pathname\n .replace(/\\/[a-f0-9]{8}-[a-f0-9]{4}-[0-5][a-f0-9]{3}-[089ab][a-f0-9]{3}-[a-f0-9]{12}/ig, '/<guid>')\n .replace(/\\/[a-f0-9]{32}/g, '/<hash>')\n .replace(/\\/\\d+/g, '/<digits>')\n .replace(/\\/type\\/(domain|alias)/, '/type/<type>'),\n }),\n }),\n ],\n beforeSend: (event, hint) => {\n const err = hint.originalException as Error;\n if (err && err.stack) {\n // mozilla and safari debuggers\n const catchDebugger = /global code@|@debugger/.test(err.stack);\n const stack = err.stack.split('\\n');\n // chrome anonymous stack\n const anonymousCall = stack.length === 2 && /<anonymous>:1:(\\d+)$/.test(stack.at(-1)!);\n if (catchDebugger || anonymousCall) {\n return null;\n }\n }\n return event;\n },\n beforeBreadcrumb: withoutGraphQLFetch(breadcrumb => {\n if (breadcrumb.category === 'xhr' || breadcrumb.category === 'fetch') {\n const url = breadcrumb.data?.url ?? '';\n\n if (url.includes('firehose.us-west-2.amazonaws.com')) {\n return null;\n }\n\n if (url.includes('/cp/locale')) {\n const sections = new URLSearchParams(url.split('?')[1]).getAll('sections[]');\n\n return {\n type: 'http',\n category: 'plesk.locale',\n data: {\n sections,\n },\n };\n }\n }\n\n return breadcrumb;\n }),\n ignoreErrors: [\n 'ResizeObserver loop',\n 'ApiFetchError:',\n 'whmcs_user_id is not defined',\n '__renderMessageNode is not defined',\n 'Module build failed',\n 'jQuery is not defined',\n 'safari-extension://',\n 'moz-extension://',\n 'chrome-extension://',\n 'Object Not Found Matching Id:',\n // TODO PPP-60163: Error: Script error for ...\n 'Script error for',\n // TODO EXTPLESK-4373: [Acronis Backup] TypeError: Cannot read properties of null (reading 'readAttribute')\n 'loadAndDisplayNotifications',\n ],\n denyUrls: [\n // Chrome extensions\n /extensions\\//i,\n /^chrome:\\/\\//i,\n // TODO EXTPLESK-1671: [Help Center] Not compatible with Plesk 18.0\n '/modules/help-center/global.js',\n // TODO EXTPLESK-2342 [Speed Kit] Sentry pollution when Plesk session is expired\n '/modules/baqend/script.js',\n // TODO EXTPLESK-2242: Legacy Addendio - WordPress Plugins and Themes generates errors on login page\n '/modules/addendio-wordpress/global.js',\n // TODO EXTPLESK-2938: [ImunifyAV] TypeError: Cannot read property 'update'/'show' of null\n '/modules/revisium-antivirus/js/ra_domain.js',\n // TODO EXTWPTOOLK-10233: TypeError: null is not an object (evaluating 'body.select')\n '/modules/wp-toolkit/js/domain-page.js',\n ],\n sampleRate: isDev ? 1 : 0.05,\n replaysSessionSampleRate: 0,\n replaysOnErrorSampleRate: isDev ? 1 : 0,\n tracesSampleRate: isDev ? 0.001 : 0,\n environment,\n ...options,\n });\n\n const scope = getCurrentScope();\n scope.setUser(user);\n for (const tag in tags) {\n scope.setTag(tag, tags[tag]);\n }\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport * as AdminPanel from './admin-panel';\nimport * as Smb from './smb';\nimport * as common from './common';\nimport * as chk from './chk';\nimport Tooltip from './Tooltip';\nimport onReady from '../jsw/onReady';\n\nwindow.AdminPanel = AdminPanel;\nwindow.Smb = Smb;\n\nObject.keys(common).forEach(fn => {\n window[fn] = common[fn];\n});\n\nObject.keys(chk).forEach(fn => {\n window[fn] = chk[fn];\n});\n\nonReady(() => {\n window.tooltip = new Tooltip(document);\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/* eslint-disable react/no-multi-comp */\n\nimport { Component, Panel as BasePanel, ListContainer, SmallButton } from 'jsw';\n\nclass UpdateAvailableNotification extends Component {\n _initComponentElement() {\n super._initComponentElement();\n\n const id = this._getConfigParam('type');\n\n const buttonNow = this._getConfigParam('nowElement');\n const buttonShow = this._getConfigParam('showElement');\n const linkLater = this._getConfigParam('laterElement');\n\n this._updateComponentElement((\n '<div class=\"msg-box msg-update\"><div><div><div><div><div>' +\n '<div class=\"msg-content\">' +\n '<table class=\"update-container\" cellspacing=\"0\" width=\"100%\">' +\n '<tbody>' +\n '<tr>' +\n '<td class=\"update\">' +\n `<span class=\"update-info\">${this._getConfigParam('message', '')}</span>` +\n '</td>' +\n '<td class=\"update-links\">' +\n `<button id=\"control-${id}-now\" class=\"btn\" type=\"submit\">${buttonNow.text}</button>` +\n `<button id=\"control-${id}-show\" class=\"btn\" type=\"submit\">${buttonShow.text}</button>` +\n `<a id=\"control-${id}-later\" href=\"#\"><span>${linkLater.text}</span></a>` +\n '</td>' +\n '</tr>' +\n '</tbody>' +\n '</table>' +\n '</div>' +\n '</div></div></div></div></div></div>'\n ));\n\n this._componentElement.querySelector(`#control-${id}-now`).addEventListener('click', event => {\n buttonNow.handler();\n event.preventDefault();\n });\n\n this._componentElement.querySelector(`#control-${id}-show`).addEventListener('click', event => {\n buttonShow.handler();\n event.preventDefault();\n });\n\n this._componentElement.querySelector(`#control-${id}-later`).addEventListener('click', event => {\n linkLater.handler();\n event.preventDefault();\n });\n }\n}\n\n\nclass UpgradeAvailableNotification extends Component {\n _initComponentElement() {\n super._initComponentElement();\n\n const id = this._getConfigParam('type');\n\n const buttonShow = this._getConfigParam('showElement');\n const linkLater = this._getConfigParam('laterElement');\n\n this._updateComponentElement((\n '<div class=\"msg-box msg-update\"><div><div><div><div><div>' +\n '<div class=\"msg-content\">' +\n '<table class=\"update-container\" cellspacing=\"0\" width=\"100%\">' +\n '<tbody>' +\n '<tr>' +\n '<td class=\"update\">' +\n `<span class=\"update-info\">${this._getConfigParam('message', '')}</span>` +\n '</td>' +\n '<td class=\"update-links\">' +\n `<button id=\"control-${id}-show\" class=\"btn\" type=\"submit\">${buttonShow.text}</button>` +\n `<a id=\"control-${id}-later\" href=\"#\"><span>${linkLater.text}</span></a>` +\n '</td>' +\n '</tr>' +\n '</tbody>' +\n '</table>' +\n '</div>' +\n '</div></div></div></div></div></div>'\n ));\n\n this._componentElement.querySelector(`#control-${id}-show`).addEventListener('click', event => {\n buttonShow.handler();\n event.preventDefault();\n });\n\n this._componentElement.querySelector(`#control-${id}-later`).addEventListener('click', event => {\n linkLater.handler();\n event.preventDefault();\n });\n }\n}\n\nclass Panel extends BasePanel {\n _addTooltips() {\n // disable tooltip for description option\n }\n\n _getSubTitleHtml() {\n const descriptionText = this._getConfigParam('description');\n if (!descriptionText) {\n return '';\n }\n\n return (\n '<div class=\"description\">' +\n `<div class=\"description-area\">${descriptionText}</div>` +\n '</div>'\n );\n }\n}\n\nclass PanelItemsGroup extends ListContainer {\n}\n\nclass PanelItem extends SmallButton {\n}\n\nexport const home = {\n UpdateAvailableNotification,\n UpgradeAvailableNotification,\n Panel,\n PanelItemsGroup,\n PanelItem,\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { createElement as ce, getComponent, api, escapeHtml, prepareUrl, BigButton, StatusMessage, Popup } from 'jsw';\n\n/* SMB specific JavaScript classes */\n\nexport const ApsLicense = {\n buy(action) {\n window.open(action);\n return false;\n },\n\n initForm() {\n document.getElementById('apsLicense-uploadType-text').addEventListener('click', this.onChangeUploadType.bind(this));\n document.getElementById('apsLicense-uploadType-file').addEventListener('click', this.onChangeUploadType.bind(this));\n },\n\n onChangeUploadType() {\n if (document.getElementById('apsLicense-uploadType-text').checked) {\n document.getElementById('apsLicense-uploadText').disabled = false;\n document.getElementById('uploadFile').disabled = true;\n } else {\n document.getElementById('apsLicense-uploadText').disabled = true;\n document.getElementById('uploadFile').disabled = false;\n }\n },\n};\n\n/**\n * @deprecated\n */\nexport const ToolButton = BigButton;\n\nexport class ApplicationUpdate extends StatusMessage {\n _initConfiguration(config) {\n super._initConfiguration({\n ...config,\n type: 'warning',\n });\n this._data = this._getConfigParam('data', []);\n this._limit = this._getConfigParam('limit', 5);\n }\n\n _renderMessage() {\n const message = [super._renderMessage()];\n message.push(ce('br'));\n this._data.forEach(app => {\n message.push(\n ce('div.b-subitem',\n `${app.name} `,\n ce('span.hint', `(${this._renderHint(app)})`),\n ' ',\n ce('a.toggler.js-install', this.lmsg('install')),\n ' ',\n ce('a.toggler.js-changelog', this.lmsg('changelog')),\n ce('input', { type: 'hidden', value: JSON.stringify(app) }),\n ),\n );\n });\n if (this._data.length > this._limit) {\n message.push(ce('a.toggler.js-view-more', this.lmsg('viewMore', { number: this._data.length - this._limit })));\n }\n return message;\n }\n\n _renderHint(app) {\n if (app.instances.length === 1) {\n return app.instances[0].name;\n }\n return this.lmsg('instances', { total: app.instances.length });\n }\n\n _addEvents() {\n super._addEvents();\n\n this._componentElement.querySelectorAll('.b-subitem').forEach(item => {\n item.querySelector('.js-install').addEventListener('click', event => {\n this._onInstallEvent(event);\n });\n item.querySelector('.js-changelog').addEventListener('click', event => {\n this._onChangelogEvent(event);\n });\n });\n\n if (this._data.length > this._limit) {\n [...this._componentElement.querySelectorAll('.b-subitem')].slice(this._limit).forEach(item => {\n item.style.display = 'none';\n });\n this._componentElement.querySelector('.js-view-more').addEventListener('click', event => {\n this._onViewMoreEvent(event);\n });\n }\n }\n\n _onInstallEvent(e) {\n const app = JSON.parse(e.target.closest('.b-subitem').querySelector('input').value);\n Smb.updateApplication(app, this.getLocale(), e);\n e.target.closest('.b-subitem').querySelectorAll('a').forEach(a => {\n a.parentNode.removeChild(a);\n });\n }\n\n _onChangelogEvent(e) {\n const app = JSON.parse(e.target.closest('.b-subitem').querySelector('input').value);\n Smb.showApplicationChangelog(app, this.getLocale(), e);\n }\n\n _onViewMoreEvent() {\n [...this._componentElement.querySelectorAll('.b-subitem')].slice(this._limit).forEach(item => {\n item.style.display = item.style.display === 'none' ? '' : 'none';\n });\n this._componentElement.querySelector('.js-view-more').style.display = 'none';\n }\n}\n\nexport const updateApplication = ({ name, instances }, locale, event) => {\n event.preventDefault();\n const beginOffset = Element.cumulativeOffset(event.target);\n const progressBar = getComponent('asyncProgressBarWrapper');\n const itemId = progressBar.fly(beginOffset,\n locale.lmsg('appInstall', { app: escapeHtml(name) }),\n () => {\n api.post(prepareUrl('/app-update/update-all'), {\n resourceIds: instances.map(({ id }) => id),\n name,\n })\n .then(() => {\n progressBar.update();\n })\n .catch(({ message }) => {\n progressBar.failPreparingItem(itemId, message);\n });\n },\n );\n if (event.target.closest('.caption-service-toolbar')) {\n event.target.closest('.caption-service-toolbar').querySelectorAll('.js-app-update').forEach(el => el.parentNode.removeChild(el));\n }\n};\n\nexport const showApplicationChangelog = (app, locale, event) => {\n new Ajax.Request(prepareUrl(`/app-update/index/resourceId/${app.instances[0].id}/`), {\n method: 'get',\n onCreate() {\n new Popup({\n content: `<div class=\"ajax-loading\">${locale.lmsg('loading')}</div>`,\n title: locale.lmsg('appChangelog', { app: escapeHtml(app.name) }),\n });\n },\n onSuccess(transport) {\n if ('' === transport.responseText) {\n return;\n }\n\n let contentText = '';\n try {\n const jsonResponse = JSON.parse(transport.responseText);\n if ('error' === jsonResponse.status) {\n contentText = ('' != jsonResponse.statusMessages)\n ? jsonResponse.statusMessages\n : locale.lmsg('unableGetChangelog');\n }\n } catch {\n contentText = transport.responseText;\n }\n\n const popup = new Popup({\n content: contentText,\n title: locale.lmsg('appChangelog', { app: escapeHtml(app.name) }),\n onShow() {\n document.querySelectorAll('.apps-box').forEach(function (e) {\n const viewportHeight = document.viewport.getHeight();\n const popupHeight = Element.getHeight(e.closest('.popup-container'));\n const popupTop = Element.positionedOffset(e.closest('.popup-panel')).top;\n if (popupHeight + (popupTop * 2) >= viewportHeight) {\n const height = viewportHeight - (popupHeight - Element.getHeight(e)) - (popupTop * 2);\n e.style.overflow = 'auto';\n e.style.height = `${height}px`;\n }\n });\n },\n buttons: [\n {\n title: locale.lmsg('close'),\n handler() {\n popup.hide();\n },\n },\n ],\n });\n },\n });\n event.preventDefault();\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { onReady, redirectPost, showInternalError, keyCode } from 'jsw';\n\n/* eslint-disable camelcase */\n\nexport const syn = s => {\n if (!s || !s.options || !s.options.length) {\n return false;\n }\n\n if (s.options[s.options.length - 1].selected) {\n s.options[s.options.length - 1].selected = false;\n }\n\n return true;\n};\n\n// ---------------------------------- redirect\n\nexport const go_to = href => {\n try {\n window.location = href;\n } catch {\n }\n};\n\n/**\n * @deprecated\n */\nexport const lon = () => true;\n\n/**\n * @deprecated\n */\nexport const loff = () => true;\n\nexport const lsubmit = f => {\n try {\n if (f.lock.value === 'true') {\n return false;\n }\n f.lock.value = 'true';\n } catch {\n }\n\n lon();\n\n const button = document.getElementById('buttonid-ok');\n if (button) {\n button.disabled = true;\n button.classList.add('btn-waiting');\n }\n\n try {\n f.submit();\n } catch {\n loff();\n f.lock.value = 'false';\n return false;\n }\n return true;\n};\n\nexport const getParentNodeByName = (o, name) => {\n const parent = o.parentNode;\n if (!parent) {\n return false;\n }\n if (parent.nodeName !== name) {\n return getParentNodeByName(parent, name);\n }\n return parent;\n};\n\nexport const errorfield = (o, status) => {\n const tr = getParentNodeByName(o, 'TR');\n if (!tr) {\n return false;\n }\n tr.className = status ? 'error' : '';\n return true;\n};\n\n// global actions and behaviors\nonReady(() => {\n document.querySelectorAll('textarea.js-auto-resize').forEach(element => {\n const resizeHandler = () => {\n const lines = element.value.split('\\n').length;\n if (lines < originalSize) {\n element.rows = originalSize;\n } else {\n element.rows = lines + 2;\n }\n };\n\n const originalSize = element.rows;\n resizeHandler();\n\n element.addEventListener('keyup', resizeHandler);\n });\n\n // disable autofill for forms with disabled autocomplete fields (Chrome issue)\n document.querySelectorAll('form input[autocomplete=\"off\"]').forEach(element => {\n element.closest('form').setAttribute('autocomplete', 'off');\n });\n});\n\ndocument.addEventListener('click', e => {\n const element = e.target.closest?.('a');\n if (!element) {\n return;\n }\n\n // prevent navigation to links with href=\"#\"\n if (element.getAttribute('href') === '#') {\n e.preventDefault();\n return;\n }\n\n // use POST method for links with href and data-method=\"post\"\n if (element.href && element.dataset.method === 'post') {\n e.preventDefault();\n redirectPost(element.href);\n }\n});\n\n// cross-site request forgery protection for legacy forms in 3d-party extensions\nif ('undefined' !== typeof Prototype) {\n const appendForgeryProtection = form => {\n if (!form || (form.method && form.method.toUpperCase() === 'GET') || form.forgery_protection_token) {\n return;\n }\n const forgeryToken = document.getElementById('forgery_protection_token');\n if (!forgeryToken) {\n return;\n }\n form.appendChild(new Element('input', {\n type: 'hidden',\n name: 'forgery_protection_token',\n value: forgeryToken.content,\n }));\n };\n\n document.addEventListener('submit', ({ target }) => {\n const form = target.closest('form');\n appendForgeryProtection(form);\n });\n\n const origSubmit = HTMLFormElement.prototype.submit;\n HTMLFormElement.prototype.submit = function () {\n appendForgeryProtection(this);\n return origSubmit.call(this);\n };\n\n const origOpen = XMLHttpRequest.prototype.open;\n XMLHttpRequest.prototype.open = function (method, url, ...args) {\n origOpen.call(this, method, url, ...args);\n\n const forgeryToken = document.getElementById('forgery_protection_token');\n if (forgeryToken && (!url.match(/^(?:[a-z]+:)?\\/\\//) || url.indexOf(window.location.host) !== -1)) {\n this.setRequestHeader('X-Forgery-Protection-Token', forgeryToken.content);\n }\n };\n\n const origInitialize = Ajax.Request.prototype.initialize;\n Ajax.Request.prototype.initialize = function (url, options) {\n return origInitialize.call(this, url, {\n onException(transport, exception) {\n throw exception;\n },\n on400() {\n // Monkey patching Prototype for proper handling of session expiration\n window.location.reload();\n },\n on500(transport) {\n showInternalError(transport.responseText);\n },\n on0() {\n // do nothing in case of internal/network error\n return false;\n },\n ...options,\n });\n };\n\n Ajax.Request.prototype.abort = function () {\n this.transport.abort();\n };\n}\n\n// prevent AJAX request canceling on Escape button press in Firefox\ndocument.addEventListener('keydown', event => {\n if (keyCode.ESC === event.keyCode) {\n event.preventDefault();\n event.stopPropagation();\n }\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/* eslint-disable camelcase */\n\n/**\n * @deprecated\n */\nexport const chk_pos_int = pos_int => {\n const re = /^\\s*[1-9]{1}[0-9]*\\s*$/;\n return pos_int.search(re) !== -1;\n};\n\n/**\n * @deprecated\n */\nexport const chk_mn = (mail_name, isWin) => {\n const re = isWin ? /^([A-Za-z0-9_\\-])+((\\.){1}([A-Za-z0-9_\\-])+)*$/ : /^[\\w-][\\w&\\-\\+]*((\\.)[\\w&\\-\\+]+)*$/;\n return mail_name.search(re) !== -1;\n};\n\n/**\n * @deprecated\n */\nexport const chk_dom = (dom_name, isWin) => {\n // check empty value\n if ('' === dom_name) {\n return false;\n }\n\n if ('localhost.rev' === dom_name) {\n return false;\n }\n\n const inaddr = /\\.in-addr.arpa$/;\n if (dom_name.search(inaddr) !== -1) {\n return false;\n }\n\n // no domain name like IP address\n if (chk_ip_address_and_mask(dom_name, 'IP_ADDRESS', 'IP_ADDRESS_FORMAT')) {\n return false;\n }\n\n if (isWin && dom_name.search(/\\.d$/) !== -1) {\n return false;\n }\n\n return true;\n};\n\n/**\n * @deprecated\n */\nexport const chk_email = (email, isWin) => {\n const re = /^([^\\@]+){1}\\@([^\\@]+){1}$/;\n const found = email.match(re);\n if (!found) {\n return false;\n }\n return chk_mn(found[1], isWin) && chk_dom(found[2], isWin);\n};\n\n/**\n * @deprecated\n */\nexport const chk_url = url => {\n const re = /^((http[s]?|ftp):\\/\\/)?([^\\/:]+)(:\\d{1,5})?(\\/[^\\s\\\"\\'`]*)?$/i;\n const found = re.exec(url);\n if (!found) {\n return false;\n }\n\n return chk_dom(found[3]);\n};\n\n/**\n * @deprecated\n */\nexport const chk_ip_t = ip => {\n const re = /^<ip>$/;\n return chk_ip_address_and_mask(ip, 'IP_ADDRESS', 'IP_ADDRESS_FORMAT') || ip.match(re);\n};\n\n/**\n * @deprecated\n */\nexport const chk_mask = mask => {\n const re = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\n const found = mask.match(re);\n if (!found) {\n return false;\n }\n let i = found.length - 1;\n while (i && (found[i] === 0)) {\n i--;\n }\n if (!i) {\n return true;\n }\n if (\n (found[i] !== 128) &&\n (found[i] !== 192) &&\n (found[i] !== 224) &&\n (found[i] !== 240) &&\n (found[i] !== 248) &&\n (found[i] !== 252) &&\n (found[i] !== 254) &&\n (found[i] !== 255)\n ) {\n return false;\n }\n\n i--;\n while (i && (found[i] === 255)) {\n i--;\n }\n\n return !i;\n};\n\n/**\n * @deprecated\n */\nexport const ip2long = str => {\n let num = 0;\n const re = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\n\n const found = str.match(re);\n if (!found) {\n return null;\n }\n for (let i = 1; i < found.length; i++) {\n num <<= 8;\n num |= found[i];\n }\n return num;\n};\n\n/**\n * convert ip block mask to int32 mask\n * @deprecated\n */\nexport const block_to_num = block => {\n let num = 0;\n for (let i = 0; i < 32; i++) {\n num <<= 1;\n num |= (block > i ? 1 : 0);\n }\n return num;\n};\n\n/**\n * check ip address and mask by valid rules\n * @deprecated\n */\nexport const chk_ip_address_and_mask = (ip, valid, valid_formats) => {\n const ip_address_block_format = /^(\\d{1,3})(\\.(\\d{1,3})(\\.(\\d{1,3})(\\.(\\d{1,3})|)|)|)\\/(\\d{1,2})$/;\n const ip_address_format = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\n\n let found;\n let ip_address = null;\n let ip_mask = null;\n\n if (\n (valid_formats === 'IP_ADDRESS_BLOCK_FORMAT') &&\n (found = ip.match(ip_address_block_format)) &&\n (!found[1] || (found[1] >= 0 && found[1] <= 255)) &&\n (!found[3] || (found[3] >= 0 && found[3] <= 255)) &&\n (!found[5] || (found[5] >= 0 && found[5] <= 255)) &&\n (!found[7] || (found[7] >= 0 && found[7] <= 255)) &&\n (found[8] >= 0 && found[8] <= 32)\n ) {\n ip_address = ip2long(`${found[1] ? found[1] : 0}.${found[3] ? found[3] : 0}.${found[5] ? found[5] : 0}.${found[7] ? found[7] : 0}`);\n ip_mask = block_to_num(found[8]);\n } else if (\n (valid_formats === 'IP_ADDRESS_FORMAT') &&\n (found = ip.match(ip_address_format)) &&\n (found[1] >= 0 && found[1] <= 255) &&\n (found[2] >= 0 && found[2] <= 255) &&\n (found[3] >= 0 && found[3] <= 255) &&\n (found[4] >= 0 && found[4] <= 255)\n ) {\n ip_address = ip2long(`${found[1]}.${found[2]}.${found[3]}.${found[4]}`);\n ip_mask = block_to_num(32);\n }\n\n if (null === ip_address || null === ip_mask) {\n return false;\n }\n\n return (\n // ip address with netmask\n ((valid === 'IP_ADDRESS_NETMASK') &&\n ip_address && ip_mask &&\n (\n // and not empty lower bits\n ((ip_address & ~ip_mask) &&\n // minimum network size 'may be removed - bcause added single addres networks by client request ...\n ~((ip_address & ~ip_mask) | ip_mask)\n ) || (ip_mask === block_to_num(32))\n )\n ) ||\n // sigle ip address\n ((valid === 'IP_ADDRESS') &&\n // not empty ip address and 0xFFFFFFFF ip mask\n ip_address && (ip_mask === block_to_num(32))\n )\n );\n};\n\n/**\n * @deprecated\n */\nexport const chk_uint = uint => !!uint.match(/^[0-9]+$/);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { escapeHtml } from 'jsw';\n\nclass Tooltip {\n // tooltip to show timeout\n showTimeout = 0.55;\n\n // minimum viewport delta\n minDelta = 5;\n\n // horisonatl offset from cursor\n xOffsetLeft = -5;\n\n // horisonatl offset from cursor\n xOffsetRight = 5;\n\n // vertical offset from cursor\n yOffsetTop = 1;\n\n // vertical offset from cursor\n yOffsetBottom = 13;\n\n // tooltip element\n tooltip = null;\n\n // tooltip generator\n tooltipEventElement = null;\n\n // tooltip mouse move observer\n tooltipMouseMoveObserver = null;\n\n // show status\n tooltipVisible = false;\n\n // show timeout\n tooltipShowTimeout = null;\n\n constructor(element) {\n this.element = element;\n this.tooltip = this.createTooltipElement();\n this.tooltipMouseMoveObserver = this.onMouseMove.bind(this);\n this.tooltipMouseOutObserver = this.onMouseOut.bind(this);\n }\n\n set(event, entries) {\n this.tooltipX = event.clientX + (window.scrollX || window.pageXOffset);\n this.tooltipY = event.clientY + (window.scrollY || window.pageYOffset);\n this.tooltipEventElement = event.target;\n\n // hack observe mouse move on tooltip actor\n if (!this.tooltipEventElement.classList.contains('tootlipObserved')) {\n this.tooltipEventElement.classList.add('tootlipObserved');\n this.tooltipEventElement.addEventListener('mousemove', this.tooltipMouseMoveObserver);\n this.tooltipEventElement.addEventListener('mouseout', this.tooltipMouseOutObserver);\n }\n\n let data = '';\n (entries || []).forEach(entry => {\n switch (entry.type) {\n case 'string':\n data += `${escapeHtml(entry.string)}<br>`;\n break;\n }\n });\n this.tooltip.innerHTML = data;\n this.show();\n }\n\n onMouseMove(event) {\n this.tooltipX = event.clientX + (window.scrollX || window.pageXOffset);\n this.tooltipY = event.clientY + (window.scrollY || window.pageYOffset);\n\n if (this.tooltipVisible) {\n this.showAction(this.tooltip);\n }\n }\n\n onMouseOut() {\n this.unset();\n }\n\n unset() {\n this.hide();\n }\n\n showTimed() {\n // show new message\n if (false === this.tooltipShowTimeout) {\n this.finishShowTimed();\n return;\n }\n\n if (null !== this.tooltipShowTimeout) {\n this.cancelShowTimed();\n }\n\n this.tooltipShowTimeout = new PeriodicalExecuter(this.finishShowTimed.bind(this), this.showTimeout);\n }\n\n cancelShowTimed() {\n if (this.tooltipShowTimeout) {\n this.tooltipShowTimeout.stop();\n this.tooltipShowTimeout = null;\n }\n }\n\n finishShowTimed() {\n this.cancelShowTimed();\n this.tooltipShowTimeout = false;\n this.showAction(this.tooltip);\n }\n\n show() {\n this.showTimed();\n }\n\n getShowPosition() {\n let x;\n let y;\n\n const tDim = Element.getDimensions(this.tooltip);\n const vDim = document.viewport.getDimensions();\n const vScr = document.viewport.getScrollOffsets();\n\n const freeRight = vDim.width + vScr.left - this.tooltipX;\n const freeLeft = this.tooltipX - vScr.left;\n const freeTop = this.tooltipY - vScr.top;\n const freeBottom = vDim.height + vScr.top - this.tooltipY;\n\n // apply better x\n if (freeRight > tDim.width + this.minDelta + this.xOffsetRight) {\n x = this.tooltipX + this.xOffsetRight;\n } else if (freeLeft > tDim.width + this.minDelta + this.xOffsetLeft) {\n x = this.tooltipX - tDim.width - this.xOffsetLeft;\n } else {\n x = this.tooltipX - ((tDim.width + this.xOffsetLeft) / 2);\n }\n\n // apply better y\n if (freeBottom > tDim.height + this.minDelta + this.yOffsetBottom) {\n y = this.tooltipY + this.yOffsetBottom;\n } else if (freeTop > tDim.height + this.minDelta + this.yOffsetTop) {\n y = this.tooltipY - tDim.height - this.yOffsetTop;\n } else {\n y = this.tooltipY - ((tDim.height + this.yOffsetTop) / 2);\n }\n\n if (x < 0) {\n x = this.minDelta;\n }\n\n return { x, y };\n }\n\n showAction(tooltip) {\n const position = this.getShowPosition();\n // change position\n tooltip.style.position = 'absolute';\n tooltip.style.top = `${position.y}px`;\n tooltip.style.left = `${position.x}px`;\n\n // show\n tooltip.style.display = '';\n\n // first show of tooltip?\n const firstShow = !this.tooltipVisible;\n this.tooltipVisible = true;\n if (firstShow) {\n // update position with correct tooltip size\n this.showAction(tooltip);\n }\n }\n\n hide() {\n this.cancelShowTimed();\n this.tooltipShowTimeout = null;\n this.hideAction(this.tooltip);\n }\n\n hideAction(tooltip) {\n this.tooltipVisible = false;\n tooltip.style.display = 'none';\n }\n\n createTooltipElement() {\n const tooltip = document.createElement('div');\n tooltip.classList.add('tooltip');\n this.hideAction(tooltip);\n document.body.appendChild(tooltip);\n return tooltip;\n }\n}\n\nexport default Tooltip;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\n// data-webpack is not used as build has no uniqueName\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"javascript/\" + chunkId + \".js?\" + {\"components/pages/IpAddressDomainsPage\":\"3171f7840e49caa6d4fc\",\"components/pages/ChangeSubscriptionsOwnerPage\":\"a74bdb38a6509026e6ab\",\"components/pages/VirtualHostTemplatePage\":\"31c8af857990a6a2a8bc\",\"components/pages/ConfigureMailClientPage\":\"f2212c1c456fef2ef29e\",\"views/admin/force-reset-password\":\"532c1659ebc9e8a56a55\",\"views/admin/setup/progress\":\"f544cbe35949ee27d247\",\"views/admin/setup/index\":\"cc25757c71f46827b63c\",\"views/admin/home/admin\":\"e6a118d547850db01dc2\",\"views/admin/app/info\":\"2a61d3e78637f7228cdb\",\"views/admin/app/usage\":\"fddbf8523936254d990c\",\"views/admin/app/uploaded\":\"f8014161f6508b2ab551\",\"views/admin/custom-buttons/list\":\"439ac58bb92371aa7b17\",\"views/admin/ftp-sessions/list\":\"024c6526a4d3d55396e5\",\"views/admin/php-handler/list\":\"4fe345c13147cfcd1614\",\"components/pages/ScheduledBackupPage\":\"3db7ce3f8758e1f01e31\",\"components/pages/ScheduledBackupListPage\":\"ad6961823904be901551\",\"views/default/scheduler/list\":\"95312d9df59f0e2a8230\",\"views/admin/domain/list\":\"855544bf6bf38b7f21bb\",\"views/admin/customer/list\":\"f67cbde36c3fc0fb367b\",\"views/admin/customer/domains\":\"6c2bd96bbece78f21ff9\",\"views/admin/customer/subscriptions\":\"5f1eb5c4414b6cdcaca4\",\"views/admin/reseller/list\":\"227b324e0f32424caba9\",\"views/admin/reseller/customers\":\"098e6cfcc8833692b6a1\",\"views/admin/reseller/domains\":\"a0f594d877d20c82520e\",\"views/admin/reseller/subscriptions\":\"0cee3cd3c5acf83541f7\",\"views/admin/server/tools\":\"b16690fef8cb4cc324d4\",\"views/admin/server/preview-domain-settings\":\"abac98e28f34aee55f2d\",\"views/admin/services/list\":\"bcfec527b50233777c46\",\"views/admin/sessions/list\":\"1e3e75911025a5a8cc7a\",\"views/admin/subscription/list\":\"fbf496c409b361ec60f3\",\"views/smb/file-manager/list\":\"c19d157eead249b1b4f4\",\"views/smb/file-manager/index\":\"426f61c4e6ed9c910ab7\",\"views/smb/my-service/index\":\"d202ebcc9d4c03ad303e\",\"views/smb/email-address/index\":\"3c54a857c4b43f6028bd\",\"views/smb/email-address/list\":\"1dd2a84c5eb7001caf9f\",\"views/smb/mail-settings/list\":\"1e6cf527f13bbb140f05\",\"views/smb/mail-settings/edit\":\"6e9eca078945fb95e4b2\",\"views/smb/account/index\":\"43c630c7cdbbd789f324\",\"views/smb/account/show\":\"4ecbb497c9361f34acd5\",\"views/smb/user/list\":\"7f285a87233b6fa8fa7d\",\"views/smb/web/setup\":\"f21954575ade5addc54d\",\"views/smb/web/view\":\"0a026d4ce84756d9522d\",\"views/smb/web/overview\":\"a66f43117072440ffaa1\",\"views/smb/web/php-settings\":\"ccbc669203481740e506\",\"views/smb/statistics/details\":\"854f6f20f5764c83de78\",\"views/smb/database/index\":\"d8d08b27268e744f352e\",\"views/smb/database/users-list\":\"01b2642bfb65e21b4a31\",\"views/admin/task-manager/index\":\"f2bdd64880f80f7ce32f\",\"views/dns/records\":\"546cd8a1f3c6e5f1b080\",\"views/dns/records/edit\":\"534ce7f0109eecefe236\",\"views/dns/records/dns-zone-sync\":\"89950e983f6de5ddca51\",\"views/dns/soa-record\":\"d097dbe7fc408459ea23\",\"views/admin/dns/acl-records\":\"4a0f4ac62b9bbfe8defc\",\"views/admin/dns/add-acl-record\":\"5644b8f30cc9d3d86fa6\",\"views/admin/dns/external-dns\":\"3faa92746024f29cf1f3\",\"views/admin/dns/external-dns-edit\":\"c8db45740eb0265efb3f\",\"views/smb/dns-zone/records-list\":\"5180e0941f0c8597a376\",\"views/smb/dns-zone/soa-record\":\"486434fd36fbabdffcae\",\"views/smb/dns-zone/acl-records\":\"ff337a78cded17caf2bd\",\"views/smb/dns-zone/add-acl-record\":\"c9d3cbdeae3eef63697a\",\"views/smb/dns-zone/external-dns\":\"7b3cdd748ffb69b92695\",\"views/smb/dns-zone/external-dns-edit\":\"142b0487bb4ec4d2410d\",\"views/admin/settings-ui/edit-interface-view\":\"d70c3ba67628e81a0c29\",\"views/admin/settings-ui/list-languages\":\"a8a377fda1ca98aa95ef\",\"views/admin/database/settings\":\"2844e750002a33fd186a\",\"views/smb/web/web-server-settings\":\"19661078df19f33b689b\",\"views/admin/notifications/index\":\"146a89585096ef58fa31\",\"components/pages/PanelNotificationsSettings\":\"63d5a741078e7e480751\",\"components/pages/BrandingPage\":\"40706f9f27ffe77cc6a5\",\"views/server/db\":\"a0f70598304cc440a808\",\"views/admin/websites-diagnostic/index\":\"478c46253ed1075961a4\",\"components/pages/SystemTimePage\":\"42db8f31e413ebb558fd\",\"views/server/mail\":\"f6afd78f6967fbda1261\",\"views/license\":\"51e75666d691d5851a21\",\"views/license/additional\":\"4bef682a415679d068aa\",\"components/pages/FirewallGeneralPage\":\"0d32abb5fcee285b0d62\",\"components/pages/FirewallIcmpPage\":\"4712fda2c2860cf9422d\",\"components/pages/FirewallRulesPage\":\"80c080c2d86c1748a0f9\",\"components/pages/ServerComponentsPage\":\"4db45029d17f65d49b1b\",\"views/admin/ip-address/list\":\"420a5f9067fab1e710f5\",\"views/admin/ip-address/clients\":\"cbcf8bbbfefb23c040b4\",\"components/pages/AssignIpAddressToResellerForm\":\"def504d261ed526dbffb\",\"views/admin/client/ip-address\":\"fc2408f5a6abfd80ef08\",\"views/admin/client/ip-address/form\":\"36aed7026a643bd84f6e\",\"views/php/extensions\":\"1d2e9422b08613ced8de\",\"components/pages/TsSessionPage\":\"597c244c0abbd4738af0\",\"components/pages/TsSessionsPage\":\"ea7e6d4ad3171992961e\",\"components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage\":\"7fa266ed5168ff1e6436\",\"components/pages/ServerAboutPage\":\"e82dac932bd917b0ce44\",\"components/pages/MassMailPage\":\"c5482b357df9b27a5bc0\",\"components/pages/CreateMassMailTemplatePage\":\"7d140d9ada6c34c28916\",\"components/pages/SendMassMailPage\":\"0fbab43d613bf0035162\",\"components/pages/EditMassMailTemplatePage\":\"29a04ac671dd3b6bed58\",\"components/pages/ActionLogPage\":\"1f62246202f657245908\",\"components/pages/ServerInformationPage\":\"0fbf09a6db7506b548f2\",\"components/pages/ServerSettingsPage\":\"4d252ceb4a8aa68cd3a1\",\"components/tabs/SpamFilterSettingsTabs\":\"199bb1f748e9ece4c04c\",\"components/pages/SpamFilterSettingsPage\":\"6881bff6f091d8011ccc\",\"components/pages/SpamFilterBlackListPage\":\"ab09fe73cadb427d3c3d\",\"components/pages/SpamFilterWhiteListPage\":\"586f28bdd1945b7faecd\",\"components/layouts/page-layout/help-drawer\":\"cad14fd61b6b1f1a9bb5\",\"components/layouts/page-layout/disco-ball\":\"2e0fffb93dd42a1f388b\",\"views/smb/database/list\":\"c3a40f25d6ee2343a342\",\"components/pages/DatabasesPage/AddDatabase\":\"9f42af70dce2f009e4b8\",\"components/pages/DatabasesPage/ConnectionInfo\":\"1aec43251fc53ccea9d8\",\"components/pages/DatabasesPage/CopyDatabase\":\"3d406bc44a10d56fe350\",\"components/pages/DatabasesPage/ImportDatabase\":\"c8ff3c3d56cc14c62bda\",\"components/pages/DatabasesPage/ExportDatabase\":\"952fc80bf421651b37bc\",\"components/pages/DatabasesPage/MoveToSubscription\":\"d8062cec26879c3d6e20\",\"components/pages/OdbcPage/OdbcServerPage\":\"0f45a88ed5b82641fb9a\",\"components/pages/OdbcAddPage\":\"cccc946fc17c99aca7db\",\"components/pages/OdbcEditPage\":\"91bcdc053faca9f62268\",\"components/pages/HostingSettingsPage\":\"abd2ef3b8b8f96786490\",\"components/pages/ConnectionInfo\":\"efc83da22adcb5a5610e\",\"components/pages/SummaryReportLayoutsPage\":\"ae2953511e51386ad55d\",\"components/pages/SummaryReportLayoutsPage/AddPage\":\"ba7af4d42dba1186c8b6\",\"components/pages/SummaryReportLayoutsPage/EditPage\":\"d905d474aef68c05d69c\",\"components/pages/TrafficHistoryReportPage\":\"08d4f2ef05310d984f94\",\"components/pages/SummaryReportSchedulesPage\":\"91c1a228744c48de79b8\",\"components/pages/SummaryReportPage\":\"a1bc3d4e626f08750157\",\"components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage\":\"6a31d2fc1eb70d190fdb\",\"components/pages/BandwidthLimitingPage\":\"94a7393297c45e7a2bb9\",\"components/pages/HotlinkProtectionPage\":\"ebcc96540cc7065bf26a\",\"components/pages/OdbcPage/OdbcDomainPage\":\"d985fe244eea297da04e\",\"components/pages/ProtectedDirectoryListPage\":\"614badf782c7326d0f0f\",\"components/pages/ProtectedDirectoryAddPage\":\"836b5b5b59c809872b23\",\"components/pages/ProtectedDirectoryEditPage\":\"0233a8d80cea8e1feb1f\",\"components/pages/ProtectedDirectoryUserListPage\":\"925fa0e18fe611231530\",\"components/pages/ProtectedDirectoryUserAddPage\":\"18f7e63fe7cb8a739f8a\",\"components/pages/ProtectedDirectoryUserPasswordPage\":\"bcb301d2c81b08971759\",\"components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage\":\"3f6134328bc0e10f214b\",\"components/pages/VirtualDirectoryPage/AspDotNetSettingsPage\":\"dc99e9e947fe7e2cf880\",\"components/pages/VirtualDirectoryPage/PermissionsPage\":\"f0ed290d72fda6f54af2\",\"components/pages/VirtualDirectoryPage/PhpVersionPage\":\"f2fb693db4bded689006\",\"components/pages/VirtualDirectoryPage\":\"77afa9e34a85ca817430\",\"components/pages/VirtualDirectoryPage/Browse\":\"8cb093ebd35d8be56f48\",\"components/pages/VirtualDirectoryPage/CreateDirectoryPage\":\"822fabb297d587e30013\",\"components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage\":\"26dc78dea54fbcbdcd90\",\"components/pages/VirtualDirectoryPage/Protection\":\"be1358715eb15cb0c6e5\",\"components/pages/VirtualDirectoryPage/ProtectionSettingsPage\":\"58b3531891ab2924ca8d\",\"components/pages/VirtualDirectoryPage/MimeTypeList\":\"14908221e8c1dc031f53\",\"components/pages/VirtualDirectoryPage/CreateMimeTypePage\":\"c69a9972323bf090f2fd\",\"components/pages/VirtualDirectoryPage/EditMimeTypePage\":\"b9b05ea773ae96d2c235\",\"components/pages/VirtualDirectoryPage/ErrorDocList\":\"cca5250bea064c49762e\",\"components/pages/VirtualDirectoryPage/EditErrorDocPage\":\"f696dbdecdb641e6a812\",\"components/pages/TrafficUsageByDomainPage\":\"504e02b73db1c48d82cc\",\"components/pages/TrafficUsageByClientsPage\":\"152b7eac626becee32e5\",\"components/pages/TrafficUsageByResellerPage\":\"fab131a5dd71f3f4736b\",\"components/pages/TrafficUsageByDomainsPage\":\"3eff17424830359bf984\",\"components/pages/HomePage\":\"b95bdd9a4e55e4c35a7a\",\"components/pages/HomeCustomizationPage\":\"3d3b16d6966f4215382c\",\"components/pages/InfoAndStatisticsPage\":\"1fc1d154dee4c166ad55\",\"components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage\":\"dd042b8b99fdda2012e5\",\"components/pages/DomainsResourceUsagePage\":\"0433ef38400d8219b1eb\",\"app/editlist\":\"426ea06668a4901d7a43\",\"app/rating\":\"939a480cdfdf342295d3\",\"app/aha\":\"3970222c785cb21fda2b\",\"app/eula\":\"4f4f6c37e4f1eb5a3da4\",\"app/app-image/gallery\":\"553b79aec5a8c459110f\",\"app/backup/list\":\"1e63fbe8ad4251d5593b\",\"app/backup/restore\":\"d4697d0f851a02324211\",\"app/backup/upload-files\":\"2517fd0585b3454e7def\",\"app/backup/web-content-dynamic\":\"262af13d5c95c6eb974f\",\"app/database/assign-to-subscription\":\"1c3f9ed6500359f3bc5e\",\"app/dns-helper\":\"0c6da1651c7b72dc348f\",\"app/dns-helper/dns-settings\":\"94c268ca76c66e75f085\",\"app/email-address/aliases-dynamic\":\"b5ec186bb1e7c55d9d45\",\"app/email-address/client-configuration-link\":\"7351f66514af4ba0aaea\",\"app/email-address/form-ajax\":\"c4dbd3279f14f446ee09\",\"app/email-address/postbox\":\"be85438ccb8a9806bbe5\",\"app/email-address/responder-attachments-dynamic\":\"8965967f46a3fd3d9da3\",\"app/file-manager/explorer\":\"23252109f972acefc61a\",\"app/file-manager/file-name-popup-form\":\"91af9086620bde028e02\",\"app/mail-settings/confirmation-remove-popup-form\":\"bcc2637bb2e18bf9b9c8\",\"app/hosting-settings/conflicts-checker\":\"e0ebac1267d414c33bf0\",\"app/log-browser/browser\":\"95849ef2fd8bf47ae0cd\",\"app/log-browser/files\":\"1efef49197a7217b741c\",\"app/login/recovery-password\":\"88a4ec89876abd6196b7\",\"app/newsletter-subscription\":\"f6c0403c08a99b4ea7b2\",\"app/progress-dialog\":\"09743d1722b5ac196b67\",\"app/profile/announcement-settings\":\"abbb087af3bdffb484ed\",\"app/domain/restriction\":\"747d5b83e03b867ee18d\",\"app/pum\":\"ac37b46bf3dc7433ebb0\",\"app/server-mail-antivirus-promo\":\"24c9d9d760fd33399cfe\",\"app/show-output-popup\":\"25279454d8ebc28d3592\",\"app/task-progress-bar\":\"75c9f3ef980748c00a2b\",\"app/user/login-string\":\"0755d86e352060b2926c\",\"app/change-customers-owner\":\"b0b3751e131609f1dda5\",\"app/convert-customers-to-resellers\":\"ece845ed754f5440f6e8\",\"app/convert-resellers-to-customers\":\"8d42ddf32c68c3374b30\",\"app/service-sidebar\":\"a0a34b7ff2b03fbca4b5\",\"app/ssl-certificate/list\":\"eaf8169b1aecf34bfa36\",\"app/app/progress\":\"8f50770bec757c59d7d2\",\"app/app/installed\":\"00d8f7b45fc773aa1931\",\"app/app/apscatalog\":\"db3c4c6801d5c21b9e83\",\"app/web-app-firewall/submit-handler\":\"4adb143813705bd0ce60\",\"views/smb/file-manager/list/UploadProgressDialog\":\"e25a5e568bbbbf31802c\",\"components/common/ServerMailAntivirusPromo\":\"577962bbb0f1c6d1695b\"}[chunkId] + \"\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = undefined;\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","__webpack_require__.p = \"/cp/\";","__webpack_require__.f.compat = (chunkId, promises) => {\n\n\t var localeDependencies = {\"main\":[\"components.buttons\",\"components.password.meter\",\"components.tasks.common\",\"components.status\",\"components.routes\",\"components.cookie-policy.info\",\"components.cookie-policy.preferences\",\"components.license-status\",\"components.search-bar\",\"components.shortcuts\",\"components.subscription-switcher\",\"components.notification-center\",\"components.view-switcher\",\"components.pages.home\",\"controllers.error.error\",\"components.pages.VirtualDirectory\",\"components.forms.login\",\"components.common.LocaleSwitcher\",\"components.forms.get-password\",\"components.forms.restore-password\"],\"components/pages/IpAddressDomainsPage\":[\"components.pages.ip-address-domains\"],\"components/pages/ChangeSubscriptionsOwnerPage\":[\"components.pages.change-subscriptions-owner\",\"components.forms.change-subscriptions-owner\",\"components.list\",\"components.elements.lookup\",\"components.forms.ip-addresses-selector\"],\"components/pages/VirtualHostTemplatePage\":[\"components.pages.VirtualHostTemplatePage\",\"components.list\"],\"components/pages/ConfigureMailClientPage\":[\"components.pages.ConfigureMailClient\",\"components.pages.ConfigureMailClient.Thunderbird\",\"components.pages.ConfigureMailClient.Common\",\"components.buttons\",\"components.pages.ConfigureMailClient.Ios\",\"components.pages.ConfigureMailClient.Gmail\",\"components.pages.ConfigureMailClient.Manual\",\"components.pages.ConfigureMailClient.Outlook\"],\"views/admin/force-reset-password\":[\"components.forms.force-reset-password\"],\"views/admin/setup/progress\":[\"components.shortcuts\"],\"views/admin/setup/index\":[\"components.forms.setup\",\"components.shortcuts\"],\"views/admin/home/admin\":[\"admin.controllers.home.admin\",\"admin.controllers.home._shared\",\"admin.controllers.home.reseller\",\"admin.controllers.home.admin.promoNewPage\"],\"views/admin/app/info\":[\"admin.controllers.app.info\",\"admin.components.lists.appinfo\"],\"views/admin/app/usage\":[\"admin.controllers.app.usage\",\"admin.components.lists.appusage\"],\"views/admin/app/uploaded\":[\"admin.controllers.app.uploaded\",\"admin.components.lists.appuploaded\"],\"views/admin/custom-buttons/list\":[\"components.lists.custombuttons\"],\"views/admin/ftp-sessions/list\":[\"admin.components.lists.ftpsessions\"],\"views/admin/php-handler/list\":[\"admin.controllers.php-handler.list\",\"admin.components.lists.phphandlers\"],\"components/pages/ScheduledBackupPage\":[\"components.buttons\",\"components.forms.backup.schedule\",\"smb.components.days-of-week\",\"controllers.backup.schedule\",\"components.forms.backup.subform\"],\"components/pages/ScheduledBackupListPage\":[\"components.lists.backup.schedule\",\"smb.components.days-of-week\",\"components.forms.backup.subform\",\"components.list\",\"components.forms.backup.schedule\",\"controllers.backup.schedule\",\"components.buttons\"],\"views/default/scheduler/list\":[\"components.lists.scheduler.tasks\"],\"views/admin/domain/list\":[\"components.pages.domains\",\"admin.components.lists.domains\",\"components.icp-permit\",\"components.list\",\"components.active-lists.sites\",\"components.buttons\",\"components.forms.domain.rename\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"components.forms.domain.move\"],\"views/admin/customer/list\":[\"components.pages.customers\",\"admin.components.forms.customer\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.forms.admin-info\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.forms.ip-addresses-selector\",\"admin.components.lists.customers\",\"admin.components.lists.subscriptions\"],\"views/admin/customer/domains\":[\"components.pages.customer-domains\",\"admin.components.lists.domains\",\"components.icp-permit\",\"components.buttons\",\"components.homonyms\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"admin.components.customer-sidebar\",\"admin.components.elements.status\",\"components.forms.admin-info\"],\"views/admin/customer/subscriptions\":[\"components.pages.customer-subscriptions\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.buttons\",\"components.forms.domain.tech-domain-name\",\"components.forms.admin-info\",\"components.forms.ip-addresses-selector\",\"components.domain-applications.applications\",\"components.domain-applications\",\"admin.components.lists.subscriptions\",\"admin.components.customer-sidebar\",\"admin.components.elements.status\"],\"views/admin/reseller/list\":[\"components.pages.resellers\",\"admin.components.lists.resellers\"],\"views/admin/reseller/customers\":[\"components.pages.reseller-customers\",\"admin.components.forms.customer\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.forms.admin-info\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.forms.ip-addresses-selector\",\"admin.components.lists.customers\",\"admin.components.lists.subscriptions\",\"admin.components.reseller-sidebar\",\"admin.components.elements.status\",\"admin.components.lists.resellers\"],\"views/admin/reseller/domains\":[\"components.pages.reseller-domains\",\"admin.components.lists.domains\",\"components.icp-permit\",\"components.buttons\",\"components.homonyms\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"admin.components.reseller-sidebar\",\"admin.components.elements.status\",\"admin.components.lists.resellers\",\"components.forms.admin-info\"],\"views/admin/reseller/subscriptions\":[\"components.pages.reseller-subscriptions\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.buttons\",\"components.forms.domain.tech-domain-name\",\"components.forms.admin-info\",\"components.forms.ip-addresses-selector\",\"components.domain-applications.applications\",\"components.domain-applications\",\"admin.components.lists.subscriptions\",\"admin.components.reseller-sidebar\",\"admin.components.elements.status\",\"admin.components.lists.resellers\"],\"views/admin/server/tools\":[\"admin.controllers.server.tools\",\"components.buttons\",\"components.issue-reporter\",\"components.forms.panel-access\"],\"views/admin/server/preview-domain-settings\":[\"admin.components.forms.preview-domain-settings\",\"admin.controllers.server.preview-domain-settings\"],\"views/admin/services/list\":[\"admin.components.lists.services\",\"admin.controllers.services.operation\",\"admin.components.forms.services.change-startup-type\"],\"views/admin/sessions/list\":[\"admin.components.lists.sessions\"],\"views/admin/subscription/list\":[\"components.pages.subscriptions\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.buttons\",\"components.forms.domain.tech-domain-name\",\"components.forms.admin-info\",\"components.forms.ip-addresses-selector\",\"components.domain-applications.applications\",\"components.domain-applications\",\"admin.components.lists.subscriptions\"],\"views/smb/file-manager/list\":[\"smb.components.lists.contentfiles\",\"components.buttons\",\"smb.controllers.file-manager.create-directory\",\"smb.components.forms.file-manager.editor\",\"smb.controllers.file-manager.form\",\"smb.components.forms.file-manager.import-file\",\"smb.components.forms.file-manager.rotation-settings\",\"permissions\",\"smb.components.forms.file-manager.permissions\",\"smb.components.forms.file-manager.unix-file-permissions\",\"smb.components.forms.file-manager.windows-permissions\",\"unix-file-permissions\",\"windows-permissions\",\"smb.controllers.file-manager.upload\"],\"views/smb/file-manager/index\":[\"smb.controllers.file-manager.index\",\"smb.components.lists.subscriptions\"],\"views/smb/my-service/index\":[\"smb.controllers.my-service.index\"],\"views/smb/email-address/index\":[\"smb.controllers.email-address.index\",\"smb.controllers.email-address.configuration\",\"components.buttons\"],\"views/smb/email-address/list\":[\"smb.controllers.email-address.list\",\"smb.components.lists.emails\",\"components.buttons\",\"components.login.recovery-password\",\"smb.controllers.email-address.configuration\",\"smb.components.confirmations.email-outgoing-messages\",\"smb.controllers.mail-settings.list\"],\"views/smb/mail-settings/list\":[\"smb.controllers.mail-settings.list\",\"smb.components.lists.mailsettings\",\"components.buttons\",\"smb.components.confirmations.domain-outgoing-messages\"],\"views/smb/mail-settings/edit\":[\"smb.components.forms.mail-settings\",\"components.buttons\",\"components.elements.switch\"],\"views/smb/account/index\":[\"smb.controllers.account.index\",\"smb.controllers.account._shared\",\"smb.components.lists.subscriptions\"],\"views/smb/account/show\":[\"smb.controllers.account.show\",\"smb.controllers.account._shared\",\"admin.components.elements.status\",\"components.limits\",\"admin.components.forms.service-plan.permissions\"],\"views/smb/user/list\":[\"smb.controllers.user.list\",\"smb.components.lists.users\"],\"views/smb/web/setup\":[\"smb.controllers.web.setup\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\"],\"views/smb/web/view\":[\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"components.sidebar\",\"admin.components.elements.status\",\"admin.components.lists.subscriptions\",\"components.homonyms\",\"components.custom-spots\",\"admin.controllers.home.admin\",\"smb.controllers.web._shared\",\"components.forms.admin-info\",\"components.active-lists.sites\",\"components.active-list\",\"components.icp-permit\",\"components.active-lists.sites.GetStarted\",\"components.active-lists.sites.GetStarted.SitejetDialog\",\"components.active-lists.sites.alias\",\"components.active-lists.sites.RenameTour\",\"components.forms.domain.rename\",\"admin.components.lists.domains\",\"components.active-lists.sites.DynamicListTour\",\"components.forms.domain.move\",\"components.site-jet-banner\"],\"views/smb/web/overview\":[\"components.active-lists.sites\",\"components.icp-permit\",\"components.forms.admin-info\",\"components.buttons\",\"components.active-lists.sites.GetStarted\",\"components.active-lists.sites.GetStarted.SitejetDialog\",\"components.active-lists.sites.alias\",\"components.forms.domain.rename\",\"components.sidebar\",\"admin.components.elements.status\",\"admin.components.lists.subscriptions\",\"components.homonyms\",\"components.custom-spots\",\"admin.controllers.home.admin\",\"smb.controllers.web._shared\",\"components.active-lists.sites.RenameTour\",\"components.forms.domain.move\",\"components.elements.lookup\"],\"views/smb/web/php-settings\":[\"components.forms.php-settings\",\"components.buttons\",\"admin.components.lists.services\",\"admin.controllers.services.operation\"],\"views/smb/statistics/details\":[\"smb.controllers.statistics.details\",\"smb.controllers.statistics.list\"],\"views/smb/database/index\":[\"smb.controllers.database.index\",\"smb.components.lists.subscriptions\"],\"views/smb/database/users-list\":[\"smb.controllers.database.users-list\",\"smb.components.lists.database.users\",\"components.pages.Databases.Page\"],\"views/admin/task-manager/index\":[\"components.lists.tasks\",\"components.lists.tasks.processes\"],\"views/dns/records\":[\"smb.components.lists.dnsrecords\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.dns\",\"components.pages.dns-records\",\"components.list\",\"admin.controllers.dns.restore-default\",\"admin.controllers.dns.soa-sync\",\"admin.controllers.dns\"],\"views/dns/records/edit\":[\"smb.components.forms.dns-zone.record\"],\"views/dns/records/dns-zone-sync\":[\"admin.controllers.dns.sync\"],\"views/dns/soa-record\":[\"smb.components.forms.dns-zone.soa-record\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.dns\",\"components.pages.dns-soa-record\",\"admin.controllers.dns\"],\"views/admin/dns/acl-records\":[\"admin.components.lists.dnsaclrecords\"],\"views/admin/dns/add-acl-record\":[\"admin.components.forms.dns.add-acl-record\"],\"views/admin/dns/external-dns\":[\"admin.controllers.dns.external-dns\"],\"views/admin/dns/external-dns-edit\":[\"admin.controllers.dns.external-dns\"],\"views/smb/dns-zone/records-list\":[\"components.dialogs.dns-zone-check\",\"components.buttons\",\"smb.components.dns-helper\",\"smb.components.lists.dnsrecords\"],\"views/smb/dns-zone/soa-record\":[\"smb.controllers.dns-zone.soa-record\",\"smb.components.forms.dns-zone.soa-record\"],\"views/smb/dns-zone/acl-records\":[\"smb.components.lists.dnsaclrecords\"],\"views/smb/dns-zone/add-acl-record\":[\"smb.components.forms.dns-zone.add-acl-record\"],\"views/smb/dns-zone/external-dns\":[\"smb.controllers.dns-zone.external-dns\"],\"views/smb/dns-zone/external-dns-edit\":[\"smb.controllers.dns-zone.external-dns\"],\"views/admin/settings-ui/edit-interface-view\":[\"admin.controllers.settings-ui.edit-interface-view\",\"admin.components.forms.settings-ui.interface-views\",\"components.view-switcher\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.settings-ui.list-languages\"],\"views/admin/settings-ui/list-languages\":[\"admin.components.lists.languages\"],\"views/admin/database/settings\":[\"admin.components.forms.database-settings\"],\"views/smb/web/web-server-settings\":[\"components.buttons\",\"components.forms.iis-settings\",\"components.forms.apache-settings\"],\"views/admin/notifications/index\":[\"admin.controllers.notifications.email-settings\",\"admin.controllers.notifications.panel-settings\",\"components.lists.notifications\",\"components.notifications.drawer\",\"components.buttons\"],\"components/pages/PanelNotificationsSettings\":[\"admin.controllers.notifications.panel-notifications-toggle\",\"admin.controllers.notifications.template-settings-list\",\"admin.controllers.notifications.template-settings-form\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.notifications.index\",\"admin.controllers.notifications.panel-settings\",\"components.list\",\"admin.controllers.notifications.email-settings\"],\"components/pages/BrandingPage\":[\"admin.components.forms.settings-ui.branding\",\"admin.components.forms.settings-ui.branding.background.fit\",\"admin.controllers.server.tools\",\"admin.controllers.navigation.index\",\"admin.controllers.settings-ui.branding\"],\"views/server/db\":[\"components.pages.database-servers\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.lists.databaseservers\",\"components.status\",\"components.buttons\",\"components.list\",\"components.pages.database-server-upgrade\",\"components.pages.database-server-upgrade.chooseReleaseStep\",\"components.pages.database-server-upgrade.preUpgradeCheckStep\",\"components.pages.database-server-upgrade.preUpgradeCheckProgressStep\",\"components.pages.database-server-create\",\"components.forms.database-server-create\",\"components.pages.database-server-properties\",\"components.pages.database-server-change-password\",\"components.pages.database-server-databases\",\"components.lists.databaseserverdatabases\",\"components.forms.database-server-change-password\"],\"views/admin/websites-diagnostic/index\":[\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.websites-diagnostic\",\"admin.controllers.websites-diagnostic.report\",\"components.list\",\"admin.controllers.websites-diagnostic.problems\",\"admin.controllers.websites-diagnostic.problem-report\",\"admin.controllers.websites-diagnostic.distribution-over-time\",\"admin.controllers.websites-diagnostic.websites\",\"admin.controllers.websites-diagnostic.new-check\"],\"components/pages/SystemTimePage\":[\"components.forms.system-time\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"smb.components.months\"],\"views/server/mail\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"admin.controllers.mail-settings.index\",\"components.pages.server-mail-settings\",\"admin.components.forms.server-mail-settings\",\"components.buttons\",\"admin.components.forms.server-mail-settings.general\",\"admin.components.forms.server-mail-settings.autodiscover\",\"admin.components.forms.server-mail-settings.relay\",\"admin.components.forms.server-mail-settings.outgoing\",\"admin.components.forms.server-mail-settings.mailman\",\"admin.components.forms.server-mail-settings.spam-filter\",\"admin.components.forms.server-mail-settings.auto-reply-headers\",\"admin.components.forms.server-mail-settings.pop3-names\",\"components.pages.server-mail-spam-filter\",\"components.pages.server-mail-antivirus\",\"components.pages.server-mail-black-list\",\"components.pages.server-mail-white-list\",\"components.pages.server-mail-queue\",\"components.pages.server-mail-statistics\",\"components.pages.server-mail-smarthost\",\"admin.components.lists.servermailblacklist\",\"components.list\",\"admin.components.forms.server-mail-black-list\",\"admin.components.lists.servermailwhitelist\",\"admin.components.forms.server-mail-white-list\",\"admin.components.forms.server-mail-antivirus\",\"admin.components.forms.server-mail-spam-filter\",\"admin.components.lists.serverMailStatistics.SpamRecipients\",\"admin.components.lists.serverMailStatistics.summary\",\"smb.components.months\",\"admin.components.lists.serverMailStatistics\",\"admin.components.lists.serverMailStatistics.VirusRecipients\",\"admin.components.lists.serverMailStatistics.VirusViruses\",\"admin.components.forms.server-mail-smarthost\",\"admin.components.forms.server-mail-smarthost.settings\",\"admin.components.forms.server-mail-smarthost.configuration\"],\"views/license\":[\"components.pages.primary-key-info\",\"components.license-status\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.license\",\"components.common.master-key-processing-state\",\"smb.components.license.properties\",\"components.dialogs.primary-key-update\",\"components.buttons\",\"components.pages.additional-keys\",\"components.pages.additional-key-upload\",\"components.pages.primary-key-upload\",\"components.forms.license-key-upload\",\"components.pages.primary-key-revert\",\"components.forms.license-key-revert\"],\"views/license/additional\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.license\",\"components.pages.additional-keys\",\"components.pages.primary-key-info\",\"components.lists.additional-keys\",\"components.buttons\",\"components.list\",\"components.pages.additional-key-upload\",\"components.pages.primary-key-upload\",\"components.forms.license-key-upload\",\"components.pages.additional-key-info\",\"admin.controllers.home.admin\",\"smb.components.license.properties\",\"components.dialogs.additional-key-update\",\"components.pages.additional-key-revert\",\"components.forms.license-key-revert\"],\"components/pages/FirewallGeneralPage\":[\"components.pages.firewall-general\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.firewall\",\"admin.components.lists.firewallinterfaces\",\"components.list\",\"components.pages.firewall-icmp\",\"components.pages.firewall-rules\",\"components.buttons\"],\"components/pages/FirewallIcmpPage\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.firewall\",\"components.pages.firewall-icmp\",\"admin.components.lists.firewallicmprules\",\"components.list\",\"components.pages.firewall-general\",\"components.pages.firewall-rules\"],\"components/pages/FirewallRulesPage\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.firewall\",\"components.pages.firewall-rules\",\"admin.components.lists.firewallrules\",\"components.buttons\",\"components.list\",\"components.pages.firewall-general\",\"components.pages.firewall-icmp\",\"admin.components.forms.firewall-rule\"],\"components/pages/ServerComponentsPage\":[\"components.lists.server-components\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"components.list\",\"components.lists.server-components.componentConf\"],\"views/admin/ip-address/list\":[\"admin.controllers.ip-address.list\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.components.lists.ipaddresses\",\"components.buttons\",\"admin.components.forms.ip-address\",\"admin.components.forms.security-policy\",\"admin.controllers.ip-address.add\"],\"views/admin/ip-address/clients\":[\"components.lists.ip-address-reseller-usage\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.ip-address.list\",\"components.buttons\",\"components.list\"],\"components/pages/AssignIpAddressToResellerForm\":[\"components.lists.ip-address-reseller-usage.assign\",\"components.lists.ip-address-reseller-usage\"],\"views/admin/client/ip-address\":[\"admin.controllers.ip-address.list\",\"admin.controllers.home.admin\",\"admin.controllers.navigation.index\",\"components.lists.client-ip-address\",\"components.buttons\",\"components.list\"],\"views/admin/client/ip-address/form\":[\"components.lists.client-ip-address\",\"components.lists.client-ip-address.properties\",\"components.lists.client-ip-address.assign\"],\"views/php/extensions\":[\"components.pages.php-handler.extensions\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.php-handler.list\",\"components.pages.php-handler\",\"components.pages.php-handler.php-ini\",\"components.pages.php-handler.extensions.manage\",\"admin.components.lists.phpextensions.installable\",\"components.list\",\"components.buttons\",\"admin.components.forms.php-handler.extension\",\"admin.components.lists.phpextensions\"],\"components/pages/TsSessionPage\":[\"components.lists.ts-sessions\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"components.pages.ts-sessions\",\"components.pages.ts-sessions-properties\"],\"components/pages/TsSessionsPage\":[\"components.lists.ts-sessions\",\"components.list\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"components.pages.ts-sessions\"],\"components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage\":[\"smb.controllers.asp-dot-net.settings\",\"admin.controllers.server.tools\",\"smb.components.forms.asp-dot-net.settings\",\"smb.components.forms.asp-dot-net.change-version\"],\"components/pages/ServerAboutPage\":[\"components.pages.ServerAbout\"],\"components/pages/MassMailPage\":[\"components.pages.MassMailPage\"],\"components/pages/CreateMassMailTemplatePage\":[\"components.pages.CreateMassMailTemplatePage\",\"components.forms.MassMailForm\",\"components.elements.double-list-selector\"],\"components/pages/SendMassMailPage\":[\"components.pages.SendMassMailPage\",\"components.forms.MassMailForm\",\"components.elements.double-list-selector\"],\"components/pages/EditMassMailTemplatePage\":[\"components.pages.EditMassMailTemplatePage\",\"components.forms.MassMailForm\",\"components.elements.double-list-selector\"],\"components/pages/ActionLogPage\":[\"components.forms.action-log\",\"smb.components.months\"],\"components/pages/ServerInformationPage\":[\"components.pages.ServerInformation\"],\"components/pages/ServerSettingsPage\":[\"components.forms.server-settings\"],\"components/tabs/SpamFilterSettingsTabs\":[\"components.pages.server-spam-filter\"],\"components/pages/SpamFilterSettingsPage\":[\"admin.components.forms.server-mail-spam-filter\",\"components.buttons\"],\"components/pages/SpamFilterBlackListPage\":[\"components.lists.spam-filter\",\"components.buttons\",\"components.list\",\"components.forms.spam-filter.add\"],\"components/pages/SpamFilterWhiteListPage\":[\"components.lists.spam-filter\",\"components.buttons\",\"components.list\",\"components.forms.spam-filter.add\"],\"components/layouts/page-layout/help-drawer\":[\"components.layouts.page-layout.help-drawer\"],\"views/smb/database/list\":[\"smb.controllers.database.list\",\"components.pages.Databases.List\",\"components.buttons\",\"components.common.DatabasePasswordPrompt\",\"components.pages.Databases.InPlaceSelect\",\"components.pages.Databases.DatabaseSummary\",\"components.pages.Databases.Page\",\"smb.components.lists.databases\",\"smb.controllers.database.download-dump\",\"smb.controllers.database.upload-dump\"],\"components/pages/DatabasesPage/AddDatabase\":[\"components.pages.Databases.Add\"],\"components/pages/DatabasesPage/ConnectionInfo\":[\"components.pages.Databases.ConnectionInfo\",\"components.buttons\"],\"components/pages/DatabasesPage/CopyDatabase\":[\"components.pages.Databases.Clone\"],\"components/pages/DatabasesPage/ImportDatabase\":[\"components.pages.Databases.Import\",\"components.common.DatabasePasswordPrompt\",\"components.buttons\"],\"components/pages/DatabasesPage/ExportDatabase\":[\"components.pages.Databases.Export\",\"components.common.DatabasePasswordPrompt\",\"components.buttons\"],\"components/pages/DatabasesPage/MoveToSubscription\":[\"components.pages.Databases.MoveToSubscription\"],\"components/pages/OdbcPage/OdbcServerPage\":[\"components.pages.Odbc\",\"components.buttons\"],\"components/pages/OdbcAddPage\":[\"components.pages.OdbcAdd\"],\"components/pages/OdbcEditPage\":[\"components.pages.OdbcEdit\"],\"components/pages/HostingSettingsPage\":[\"components.pages.HostingSettings\",\"components.buttons\",\"components.pages.HostingSettings.domainSettingsSection\",\"components.pages.HostingSettings.domainSettingsSection.security\",\"components.pages.HostingSettings.domainSettingsSection.webScripting\",\"components.pages.HostingSettings.domainSettingsSection.sameSsl\",\"components.pages.HostingSettings.webspaceSettingsSection\",\"components.forms.ip-addresses-selector\",\"components.pages.HostingSettings.webspaceSettingsSection.quota\"],\"components/pages/ConnectionInfo\":[\"components.forms.domain.connection-info\",\"components.buttons\"],\"components/pages/SummaryReportLayoutsPage\":[\"admin.components.lists.summaryreportlayouts\",\"components.buttons\",\"components.list\"],\"components/pages/SummaryReportLayoutsPage/AddPage\":[\"components.pages.SummaryReport.Layout.Add\",\"components.forms.SummaryReport.Layout\"],\"components/pages/SummaryReportLayoutsPage/EditPage\":[\"components.pages.SummaryReport.Layout\",\"components.forms.SummaryReport.Layout\"],\"components/pages/TrafficHistoryReportPage\":[\"admin.components.lists.traffichistory\",\"components.list\"],\"components/pages/SummaryReportSchedulesPage\":[\"admin.components.lists.summaryreportschedules\",\"components.buttons\",\"components.list\",\"components.pages.SummaryReport.Schedule.Add\",\"components.forms.SummaryReport.Schedule\",\"components.pages.SummaryReport.Schedule.Properties\"],\"components/pages/SummaryReportPage\":[\"admin.components.report.summary\",\"components.status.reason\",\"components.pages.SummaryReport.Report\"],\"components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage\":[\"smb.components.forms.asp-dot-net.settings\",\"smb.controllers.asp-dot-net.settings\",\"smb.components.forms.asp-dot-net.change-version\"],\"components/pages/BandwidthLimitingPage\":[\"components.pages.BandwidthLimiting\"],\"components/pages/HotlinkProtectionPage\":[\"components.pages.HotlinkProtection\"],\"components/pages/OdbcPage/OdbcDomainPage\":[\"components.pages.Odbc\",\"components.buttons\"],\"components/pages/ProtectedDirectoryListPage\":[\"components.pages.ProtectedDirectoryList\",\"components.buttons\"],\"components/pages/ProtectedDirectoryAddPage\":[\"components.pages.ProtectedDirectoryAdd\",\"components.forms.ProtectedDirectory\"],\"components/pages/ProtectedDirectoryEditPage\":[\"components.pages.ProtectedDirectoryEdit\",\"components.forms.ProtectedDirectory\"],\"components/pages/ProtectedDirectoryUserListPage\":[\"components.lists.ProtectedDirectoryUser\",\"components.buttons\"],\"components/pages/ProtectedDirectoryUserAddPage\":[\"components.pages.ProtectedDirectoryUserAdd\"],\"components/pages/ProtectedDirectoryUserPasswordPage\":[\"components.pages.ProtectedDirectoryUserPassword\"],\"components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage\":[\"components.pages.VirtualDirectory.EditVirtualDirectory\",\"components.forms.VirtualDirectory.DirectorySection\",\"components.forms.VirtualDirectory.CheckboxField\",\"components.forms.VirtualDirectory.Path\",\"components.dialogs.DirectoryBrowserDialog\",\"components.forms.VirtualDirectory.ApplicationSettingsSection\",\"components.forms.VirtualDirectory.ScriptExecuteField\",\"components.forms.VirtualDirectory.scriptExecuteOption\",\"components.forms.VirtualDirectory.SecuritySection\",\"components.forms.VirtualDirectory.AspSection\",\"components.forms.VirtualDirectory.DocumentsSection\",\"components.forms.VirtualDirectory.DefaultDocsField\",\"components.forms.VirtualDirectory.NewDefaultDoc\",\"components.forms.VirtualDirectory.PhysicalDirectoryConflictDialog\"],\"components/pages/VirtualDirectoryPage/AspDotNetSettingsPage\":[\"components.pages.VirtualDirectory.AspDotNet\",\"smb.components.forms.asp-dot-net.settings\",\"smb.controllers.asp-dot-net.settings\",\"smb.components.forms.asp-dot-net.change-version\"],\"components/pages/VirtualDirectoryPage/PermissionsPage\":[\"permissions\",\"smb.components.forms.file-manager.permissions\",\"smb.components.forms.file-manager.unix-file-permissions\",\"smb.components.forms.file-manager.windows-permissions\",\"unix-file-permissions\",\"windows-permissions\"],\"components/pages/VirtualDirectoryPage/PhpVersionPage\":[\"components.pages.VirtualDirectory.Php\"],\"components/pages/VirtualDirectoryPage\":[\"components.pages.VirtualDirectory\"],\"components/pages/VirtualDirectoryPage/Browse\":[\"smb.components.lists.virtualdirectories\",\"components.buttons\"],\"components/pages/VirtualDirectoryPage/CreateDirectoryPage\":[\"components.pages.VirtualDirectory.CreateDirectory\"],\"components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage\":[\"components.pages.VirtualDirectory.CreateVirtualDirectory\",\"components.forms.VirtualDirectory.DirectorySection\",\"components.forms.VirtualDirectory.CheckboxField\",\"components.forms.VirtualDirectory.Path\",\"components.dialogs.DirectoryBrowserDialog\",\"components.forms.VirtualDirectory.ApplicationSettingsSection\",\"components.forms.VirtualDirectory.ScriptExecuteField\",\"components.forms.VirtualDirectory.scriptExecuteOption\",\"components.forms.VirtualDirectory.SecuritySection\",\"components.forms.VirtualDirectory.AspSection\",\"components.forms.VirtualDirectory.DocumentsSection\",\"components.forms.VirtualDirectory.DefaultDocsField\",\"components.forms.VirtualDirectory.NewDefaultDoc\",\"components.forms.VirtualDirectory.PhysicalDirectoryConflictDialog\"],\"components/pages/VirtualDirectoryPage/Protection\":[\"components.pages.VirtualDirectory.Protection\",\"components.pages.VirtualDirectory.Protection.NoProtectionView\",\"components.lists.ProtectedDirectoryUser\",\"components.buttons\"],\"components/pages/VirtualDirectoryPage/ProtectionSettingsPage\":[\"components.pages.ProtectedDirectoryEdit\",\"components.forms.ProtectedDirectory\"],\"components/pages/VirtualDirectoryPage/MimeTypeList\":[\"components.pages.VirtualDirectory.MimeTypeList\",\"components.buttons\"],\"components/pages/VirtualDirectoryPage/CreateMimeTypePage\":[\"components.pages.VirtualDirectory.CreateMimeType\",\"components.forms.VirtualDirectoryMimeType\"],\"components/pages/VirtualDirectoryPage/EditMimeTypePage\":[\"components.pages.VirtualDirectory.EditMimeType\",\"components.forms.VirtualDirectoryMimeType\"],\"components/pages/VirtualDirectoryPage/ErrorDocList\":[\"components.pages.VirtualDirectory.ErrorDocList\",\"components.pages.VirtualDirectory.errorDocType\"],\"components/pages/VirtualDirectoryPage/EditErrorDocPage\":[\"components.pages.VirtualDirectory.EditErrorDoc\",\"components.pages.VirtualDirectory.EditErrorDoc.EditErrorDocForm\",\"components.pages.VirtualDirectory.errorDocType\"],\"components/pages/TrafficUsageByDomainPage\":[\"components.common.TrafficUsage.TotalUsageInfo\",\"smb.components.months\",\"components.pages.TrafficUsageByDomain.List\",\"components.list\"],\"components/pages/TrafficUsageByClientsPage\":[\"components.lists.TrafficUsageByClients\",\"components.common.TrafficUsage.TotalUsageInfo\",\"smb.components.months\"],\"components/pages/TrafficUsageByResellerPage\":[\"components.pages.TrafficUsageByReseller\",\"components.lists.TrafficUsageByClients\",\"components.pages.TrafficUsageByReseller.TotalUsage\"],\"components/pages/TrafficUsageByDomainsPage\":[\"components.pages.TrafficUsageByDomains.Viewer.Filters\",\"components.common.ListFilterPanel\",\"components.common.ListFilterForm\",\"components.pages.TrafficUsageByDomains.Viewer.List\",\"components.common.TrafficUsage.TotalUsageInfo\",\"smb.components.months\"],\"components/pages/HomePage\":[\"components.pages.Home.ServerInfo\",\"components.buttons\",\"components.pages.Home.Customization\",\"components.pages.Home.Updates\",\"components.pages.Home.Backup\",\"components.lists.backup.schedule\",\"smb.components.days-of-week\",\"components.forms.backup.subform\",\"components.list\",\"components.forms.backup.schedule\",\"controllers.backup.schedule\",\"components.pages.Home.OverusedSubscriptions\",\"components.status.reason\",\"components.pages.Home.Subscriptions\",\"components.pages.Home.IpBan\",\"components.pages.Home.Extension\",\"components.pages.Home.MailQueue\",\"components.pages.Home.Promo.Customize\",\"components.pages.Home.Promo.SwitchToPuv\",\"components.pages.Home.ChangeLog\",\"components.pages.Home.CustomButtons\",\"components.pages.Home.Status\",\"components.webserver-configuration-failure\",\"components.upgrade-failure-notification\",\"components.pages.Home.EmptyView\",\"components.pages.Home.PromoNewHomeView\"],\"components/pages/HomeCustomizationPage\":[\"components.pages.Home.Customization\"],\"components/pages/InfoAndStatisticsPage\":[\"components.pages.InfoAndStatistics.Main\"],\"components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage\":[\"components.pages.InfoAndStatistics.TrafficUsage\"],\"components/pages/DomainsResourceUsagePage\":[\"admin.components.lists.resourceusage\"],\"app/editlist\":[\"components.editlist\"],\"app/rating\":[\"components.rating\",\"components.buttons\"],\"app/aha\":[\"components.aha\",\"components.buttons\"],\"app/eula\":[\"admin.controllers.index.eula\"],\"app/app-image/gallery\":[\"smb.controllers.app-image.gallery\"],\"app/backup/list\":[\"components.lists.backup\",\"controllers.backup.size-hint\",\"controllers.backup.restore-status\"],\"app/backup/restore\":[\"controllers.backup.restore-status\"],\"app/backup/upload-files\":[\"components.forms.backup.upload\"],\"app/backup/web-content-dynamic\":[\"components.forms.backup.web-content-dynamic\",\"components.buttons\"],\"app/database/assign-to-subscription\":[\"smb.components.lists.databases\",\"components.buttons\"],\"app/dns-helper\":[\"smb.components.dns-helper\"],\"app/dns-helper/dns-settings\":[\"smb.components.dns-helper\"],\"app/email-address/aliases-dynamic\":[\"smb.components.forms.email-address\"],\"app/email-address/client-configuration-link\":[\"components.email-address.client-configuration-link\",\"components.buttons\"],\"app/email-address/form-ajax\":[\"components.buttons\"],\"app/email-address/postbox\":[\"smb.components.forms.email-address\"],\"app/email-address/responder-attachments-dynamic\":[\"smb.components.forms.email-address\"],\"app/file-manager/explorer\":[\"smb.components.lists.contentfiles\",\"components.buttons\",\"smb.controllers.file-manager.create-directory\"],\"app/file-manager/file-name-popup-form\":[\"smb.components.forms.file-manager.show\",\"components.buttons\"],\"app/mail-settings/confirmation-remove-popup-form\":[\"smb.components.forms.mail-settings.show\",\"components.buttons\"],\"app/hosting-settings/conflicts-checker\":[\"admin.controllers.customer-service-plan._shared\"],\"app/log-browser/browser\":[\"components.lists.logbrowser\",\"components.buttons\"],\"app/log-browser/files\":[\"smb.components.lists.logfiles\",\"components.buttons\"],\"app/login/recovery-password\":[\"components.login.recovery-password\",\"components.buttons\"],\"app/newsletter-subscription\":[\"components.newsletter-subscription\"],\"app/progress-dialog\":[\"components.tasks.common\"],\"app/profile/announcement-settings\":[\"admin.components.forms.admin.announcement-settings\"],\"app/domain/restriction\":[\"admin.components.lists.restricteddomains\"],\"app/pum\":[\"admin.components.lists.pumpackages\",\"components.buttons\"],\"app/show-output-popup\":[\"components.tasks.scheduler-run-task\"],\"app/task-progress-bar\":[\"components.tasks.common\"],\"app/change-customers-owner\":[\"admin.components.confirmations.change-customer-owner\"],\"app/convert-customers-to-resellers\":[\"admin.components.confirmations.customer\"],\"app/convert-resellers-to-customers\":[\"admin.components.confirmations.reseller\"],\"app/service-sidebar\":[\"smb.controllers.service.index\"],\"app/app/progress\":[\"smb.components.elements.download\"],\"app/app/installed\":[\"smb.components.lists.app.instances\",\"smb.controllers.service.index\"],\"app/app/apscatalog\":[\"smb.components.forms.aps.catalog\"],\"app/web-app-firewall/submit-handler\":[\"components.forms.web-app-firewall\",\"components.buttons\"],\"views/smb/file-manager/list/UploadProgressDialog\":[\"smb.controllers.file-manager.upload\"],\"components/common/ServerMailAntivirusPromo\":[\"components.common.ServerMailAntivirusPromo\",\"admin.controllers.server.tools\",\"admin.controllers.mail-settings.index\"]};\n\t if (localeDependencies[chunkId]) {\n\t promises.push(Jsw.Locale.loadSections(localeDependencies[chunkId]));\n\t }\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"main\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkPlesk\"] = self[\"webpackChunkPlesk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"vendors\"], () => (__webpack_require__(0)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["window","Jsw","Plesk","Array","prototype","entries","index","arr","this","next","length","value","done","undefined","Symbol","iterator","Set","toArray","array","forEach","item","push","Map","key","version","form","DisplayField","Values","layout","TwoColumns","Task","ProgressBar","StatusMessage","STATUS_DONE","STATUS_ERROR","STATUS_STARTED","STATUS_NOT_STARTED","STATUS_CANCELED","FileManager","Tree","UploadAdapterIframe","ns","autoCreate","nsParts","split","root","partIndex","config","componentType","Component","Cls","namespace","Error","registeredComponents","registerComponent","identity","component","getComponent","constructor","initialize","_initConfiguration","_registerComponent","_initComponentElement","_autoRender","_renderTarget","_applyTargetId","document","getElementById","render","_getConfigParam","hide","initialConfig","_config","_cls","_attrs","_wrapperClass","_renderMode","setLocale","_locale","_id","genId","_idIsRandom","_tag","tagName","_componentElement","createElement","Object","keys","name","setAttribute","id","className","_initDisablerOverlay","_disablerOverlay","style","display","zIndex","classList","add","appendChild","position","addEventObserver","eventName","handler","addEventListener","removeEventObserver","removeEventListener","_hasConfigParam","defaultValue","_getRandomNumber","Math","floor","random","_addEvents","_addTooltips","description","_tooltip","Tooltip","init","text","_updateComponentElement","content","oldElements","childNodes","oldElement","newElement","querySelector","parentNode","replaceChild","getWrapperClass","getId","setRenderTarget","target","getRenderTarget","show","locale","Locale","lmsg","bind","getLocale","remove","removeChild","getAttribute","_defineProperty","subclasses","showTimeoutStatus","showTimeout","minDelta","xOffsetLeft","xOffsetRight","yOffsetTop","yOffsetBottom","current","initData","contentElement","elements","querySelectorAll","tooltipData","element","Instance","set","tooltip","_onMouseMove","_onMouseOut","showCancel","hideCancel","showTask","setTimeout","showFinish","clearTimeout","tooltipElement","_fetchTooltipElement","innerHTML","escapeHtml","update","hideTask","hideFinish","_fetchTooltipPosition","top","y","left","x","event","tooltipX","clientX","scrollX","pageXOffset","tooltipY","clientY","scrollY","pageYOffset","_tooltipElement","el","body","tDim","Element","getDimensions","vDim","viewport","vScr","getScrollOffsets","freeRight","width","freeLeft","freeTop","freeBottom","height","setText","String","replace","addSection","messages","sections","Observer","notify","addSections","getSection","getTranslate","props","_jsx","BaseTranslate","loadSections","names","namesToLoad","filter","params","map","section","encodeURIComponent","api","get","join","loadSection","reduce","paramKey","formatMessage","IntlMessageFormat","documentElement","lang","format","request","url","retryCount","Ajax","activeRequestCount","headers","tokenEl","credentials","fetch","then","response","status","location","reload","Promise","emptyFn","ok","json","startsWith","data","reject","message","JSON","stringify","catch","error","TypeError","isNetworkError","resolve","finally","addUrlParams","method","post","UAT","dispatchAction","FormData","matches","msMatchesSelector","link","filterPleskUrl","href","pathname","search","hash","pageUrl","getPageUrl","pageUrlParam","match","result","RegExp","exec","decodeURIComponent","some","pattern","sensitiveParams","safeSearch","acc","pair","includes","param","toLocaleLowerCase","toLowerCase","getUrl","isURL","protocols","require_host","getElementCSSSelector","localName","label","i","len","findElement","selector","currentTarget","type","nodeType","Node","TEXT_NODE","getElement","ELEMENT_NODE","prepareNodeData","textEl","css","getElementCSSPath","depth","paths","splice","attributes","attr","hasAttribute","dataset","encodeSensitiveChars","list","preparedChars","raw","encoded","firehose","initialized","patches","action","parameters","timestamp","Date","toISOString","instanceId","accountLevel","accountId","sessionId","path","preparePostData","self","selfText","innerText","parents","parentElement","parent","closest","slice","getParents","handleAnonymousSession","localStorage","getItem","setItem","toString","removeItem","parentId","additionalData","logger","Firehose","putRecord","DeliveryStreamName","stream","noSessionStream","Record","Data","values","watchers","contentLoad","contentConfig","expect","readyState","extensions","performance","perfData","timing","pageLoadTime","loadEventEnd","navigationStart","requestTime","responseEnd","requestStart","renderTime","domComplete","domLoading","historyReplaceState","history","replaceState","Proxy","apply","thisArg","argArray","click","uatHandled","isArray","j","toUpperCase","actions","expects","initConfig","setPatches","fn","setActions","setWatchers","setLogger","getConfig","e","toQueryParams","str","URLSearchParams","val","hasOwnProperty","call","splitUrl","splitParams","indexOf","observers","getObservers","has","append","callback","appendAndCall","pos","Translate","Fragment","module","exports","PleskUiLibrary","addScript","src","s","onload","onerror","evalScripts","string","scriptFragment","matchAll","matchOne","scripts","scriptTag","script","eval","captureException","scope","setExtras","console","renderMode","isValidElement","_jswReactRootContainer","createRoot","tag","attrs","renderFn","onrender","events","children","insertBefore","insertAdjacentHTML","firstChild","nextSibling","async","scriptRegex","HIGH","NORMAL","LOW","priority","onReadyEvents","firedOnReady","wrappedCallback","onreadystatechange","predefinedPriorities","sort","a","b","Function","createComponent","renderTo","alert","super","_type","_title","_message","_source","_closable","_onClose","hideUrl","prepareUrl","source","_renderCloseButton","_renderMessage","onclick","baseUrl","global","substr","endsWith","args","classes","selectorRe","attrRe","shift","class","pageData","msgClass","messageElement","makeVar","usePageData","useReactiveVar","prepareInternalError","messageWrapper","statusMessage","jsonMessage","parse","kbArticleUrl","clearStatusMessages","addStatusMessage","createEvent","initEvent","dispatchEvent","createEventObject","eventType","fireEvent","ESC","ENTER","LEFT_ARROW","UP_ARROW","RIGHT_ARROW","DOWN_ARROW","Hint","_contentElement","setHint","componentElement","createHtmlElement","wrapElement","btnShowMore","_screenControl","getWidth","hint","Button","_handler","_rightIcon","_disabledClass","_isNew","_newTitle","_initVisibility","_disabled","disable","enable","_addAttribute","classNames","addCls","_addProgressHandler","removeAttribute","SmallButton","BigButton","cls","disabledClass","button","comment","waitMessage","SplitButton","title","isAction","isDefault","isMenuFlip","items","isScrollable","openDropdown","_initItems","newWindow","listItem","submenu","preventDefault","stopPropagation","dropdownMenu","contains","toggle","openSubmenu","menuItem","trim","nextElementSibling","closeSubmenu","_menuTimeout","disabled","CommandButton","_value","_tabIndex","setHandler","toollist","CustomButton","getImagePath","Form","Methods","addMethods","ToolList","Container","_tools","_contentAreaId","_operations","Panel","_image","forcedId","Item","_href","_target","_attention","_disabledImage","_description","image","escapeAttribute","skinUrl","_items","_renderItems","_renderItem","getItems","find","submit","noRedirect","redirect","URL","protocol","isJavascriptProtocol","FormRedirect","assign","redirectPost","subToElements","stringToElements","prefix","booleanToElements","arrayToElements","concat","hashToElements","$H","each","_valueRenderer","renderHint","valuesElements","valueOf","formValues","input","getStorageName","isChanged","changed","FormAjax","_actionButtonTitle","_sendButtonId","_applyButtonId","_cancelButtonId","_confirmationCheckboxId","_submitHandler","buttonId","_toggleButton","_toggleCheckbox","actionButton","_getActionButton","waitButtonTitle","checkboxId","checkbox","noInitFocus","firstElement","focus","_submitInProgress","toggleButtons","confirmationCheckbox","checked","_formSubmit","_onSubmit","_onSubmitEvent","_addChoiceRadioButtonsOnClickEvent","_clearMessages","enctype","actionUrl","serialize","Request","onSuccess","_onSuccess","onFailure","_onFailure","req","timeoutMessage","showInternalError","responseText","_processForm","progressDialog","task","_processResponseRedirect","_processResponseStatus","_processResponseStatusMessages","statusMessages","_processResponseFormMessages","formMessages","_hasFieldErrors","_showFieldErrorArea","errorsElements","firstError","errorElement","hiddenContainerId","tabsBar","switchTab","_hasErrors","errors","rowElement","_addFormMessage","_processFieldMessages","_addFieldMessage","_processFieldMessage","fieldErrors","formElement","pop","postData","ListContainer","renderTargetId","isEmptyItem","_columnCls","cookies","cookie","crumbs","unescape","expires","escape","setPermanent","date","setTime","getTime","toUTCString","_titleClass","_hideContentTitle","_titleAreaId","_boxItemsAreaId","_initBoxItems","_boxItems","_getTitleHtml","_getSubTitleHtml","_renderBoxItems","_renderBoxItem","_isHidden","rememberedStatus","Cookie","_setHidden","hidden","hideContent","showContent","titleAreaElement","toggleContent","_updateTitle","TYPE_OK","TYPE_YESNO","SUBTYPE_DELETE","messageBox","SUBTYPE_TOGGLE","SUBTYPE_CONFIRM","factory","isWebspace","WebspaceFoldersMessageBox","isAjax","MultiCheckboxMessageWindow","MessageBox","ModalDialogBox","_text","_subtype","_descriptionWrapperTag","_descriptionDecorator","_buttonDefault","buttonsLocale","_buttonTitles","yes","no","wait","_onYesClick","_onNoClick","_onOkClick","_needAttention","_needAttentionText","_needAttentionBlockSubmit","_needAttentionOnChange","_onYesClickHandler","_defaultOnButtonClick","_getDescriptionCode","wrapDescription","_getNeedAttentionCode","needAttentionCode","ce","_disableYesButton","buttonYes","_enableYesButton","buttons","inputs","AjaxMessageBox","_requestUrl","_requestMethod","_requestParams","_contentContainerId","_loadingTitle","_progress","_showSpinner","_hideSpinner","onCreate","_onCreate","superclass","transport","contentCode","descriptionCode","confirmationCode","confirmation","checkboxes","enableYesButton","_successDescription","_failureDescription","_setDescription","folders","_screenDisablerId","_hideOnEscape","_hideOnBgClick","_onShow","_onHide","initScrollbarSpacer","_screenDisabler","_onKeyDownhandler","_onKeyDown","popupContainer","keyCode","scrollDiv","overflow","scrollbarWidth","offsetWidth","clientWidth","styleEl","head","sheet","insertRule","DropdownHeader","dropdowns","closeAllDropdowns","dropdown","isOpened","close","DropdownManager","register","toggler","open","beforeClick","oldIsOpened","unregister","SmallTools","_operationsId","searchFilters","searchFiltersState","searchHandler","resetSearchHandler","listId","searchOveral","overal","searchOverall","quickSearchWide","quickSearchInputId","searchCollapsed","onToggleSearch","quickSearchBoxView","searchBoxView","addResponsiveButton","searchOveralView","toggleSearch","filterState","currentValue","searchText","onsubmit","searchFiltersView","require","filters","Filters","create","idPrefix","_hideResponsiveButtonBlocks","_rActionsElement","onResponsiveButtonClick","_showResponsiveButtonBlocks","createDate","options","multi","createMultiEnum","createEnum","createText","placeholder","onkeyup","live","inputDataName","charAt","onchange","enumOptionsView","option","output","total","hour","minute","day","month","year","getFullYear","onDateSearchFilterOpen","onDateSearchFilterChange","onDateSearchFilterModify","enumValueView","enumGroupValue","selected","onMultiEnumSearchFilterChange","isNaN","_dateSearchFieldFromDate","_dateSearchFieldToDate","yyyy","mm","getMonth","dd","getDate","h","getHours","m","getMinutes","CollapsibleBlock","_blockAreaId","_onTitleClickEvent","Pathbar","_renderItemSuffix","getHref","SimpleItem","Bar","containerCls","getContainerClass","bar","Tabs","_isResponsive","_addResponsiveTabs","tabId","activeTab","getTabId","size","getTabContent","tabContentElement","isActive","_isActive","_containerCls","_tabId","navigationTab","_content","Separator","HorizontalSeparator","wrapperClass","DynamicSubForm","getDynamicContent","_getDynamicContent","prepareDynamicContent","_prepareDynamicContent","bindDynamicContent","_bindDynamicContent","insertDynamicContent","_insertDynamicContent","onUpdateDynamic","_onUpdateDynamic","onInitDynamic","_onInitDynamic","_allowRemoveFirstElement","dynamicElements","getElements","_addEmptyContent","dynamicElement","cloneNode","deleteContent","addContent","reset","AddRemoveDynamicSubForm","_addButtonId","_addButtonTitle","_removeButtonId","_removeButtonTitle","addButton","_isAddButtonDisabled","isFirstElement","wrapperId","_initRemoveButtonWrapper","inputEls","newId","nameRegExp","idRegExp","child","labels","Box","Gauge","setProgress","PopupForm","_popupContentAreaId","_hintAreaId","_hint1AreaId","_boxAreaId","_actionButtonsId","_leftActionButtonsAreaId","_rightActionButtonsAreaId","_titleCls","_scrollable","_fullHeight","_isRemoved","view","_getHeadingActions","_getContentArea","_getBoxArea","_getButtonsArea","buttonsRow","toggleButtonsArea","bool","setBoxType","setTitleType","setTitle","setHint1","addRightButton","_createButton","addLeftButton","removeRightButtons","removeLeftButtons","resizeList","listContainer","buttonsHeight","getHeight","cumulativeOffset","newHeight","clientHeight","overflowY","overflowX","_onClick","_updateButton","_addErrorMessage","_addStatusMessage","_userError","_close","_internalError","AjaxPopupForm","_url","cancelBtn","Popup","_contentHeight","_closeButtonEnabled","_buttons","_onCloseClick","buttonsArea","formId","buttonDesc","buttonDisabled","buttonContainer","DoubleListSelector","_name","_list","_onChange","_dataUrl","_selectedMarked","_unselectedMarked","_prevSelectedItem","_isSearchable","_isLarge","_initList","marked","_initListItem","_originalSelection","_initInputElement","ajaxLoading","_getSearchControl","isSelected","container","isHidden","icons","_toggleItem","inputElement","columnId","autocomplete","onfocus","onFocus","onblur","onBlur","onmousedown","onResetSearch","_onSubmitSelect","_onSubmitUnselect","_unmarkItem","_markItem","shiftKey","startIndex","min","finishIndex","max","_updateSelectControls","_updateElement","onChange","searchString","_toggleSearchButtonIcon","_isSearchMatched","_showAllItems","searchIndex","_resetSearchControl","setMarked","counter","controlId","isEmpty","reloadUrl","_onReloadSuccess","_onReloadFailure","onException","_onReloadException","_onReloadCreate","onComplete","_onReloadComplete","exception","listArea","EnhancedDoubleListSelector","_fixListZebra","count","inputIcon","_toggleItemSelection","_toggleItemCheckbox","_getItemText","highlight","itemIcons","itemText","batchMode","side","DynamicPopupHint","windowId","delay","_isInitialized","_currentTooltip","_init","_initWindowElement","_initWindowEvents","marginTop","_onWindowMouseOver","_onWindowMouseOut","_showWindow","getPlacement","getCls","getTitle","titleElement","getScrollable","updateContent","isSet","unset","getContent","_updatePosition","elementWidth","elementHeight","headingElementHeight","getTargetElement","tooltipElementHeight","tooltipElementWidth","offsetLeft","offsetTop","elementRight","viewportRight","clonePosition","setWidth","setHeight","_targetElement","_waitMsg","_placement","_contentLoaded","_delayedExecuter","_initTargetEvents","_loadContent","setContent","PeriodicalExecuter","pe","stop","PasswordMeter","observe","_passwordElement","_verdict","strength","level","password","suggestions","estimatePassword","_updateVisibility","_updateHint","_updateVerdict","_updateColor","_hintContainer","newClass","c","_oldClass","suggestion","waitMsg","placement","defaultEstimateFn","passwordEstimation","apolloClient","query","PASSWORD_ESTIMATION_QUERY","variables","estimateFn","all","sentryLink","SentryLink","setTransaction","errorLink","onError","networkError","statusCode","Observable","fetchParams","uri","terminatingLink","ApolloLink","operation","getContext","noBatch","extractFiles","isExtractableFile","files","createUploadLink","BatchHttpLink","batchMax","batchInterval","ApolloClient","from","cache","InMemoryCache","typePolicies","AdditionalKey","keyFields","Domain","fields","hosting","merge","webScriptingSettings","subscription","Subscription","permissions","ExtensionTab","SiteButton","ConfigSectionGdprCookie","User","UserLogo","UserPermissions","Os","Mode","Home","Notification","PrimaryKey","WebsitesDiagnostic","settings","ServerMail","spamAssassin","Capability","mailServer","packages","Dns","Query","additionalKeys","recentSearch","node","read","_","toReference","__typename","atob","Server","firewall","components","information","productVersion","productUpdates","pum","DnsTemplate","DnsSoaRecordTemplate","TaskList","IpAddress","clients","IpAddressList","VirtualDirectory","errorDoc","code","VirtualDirectoryErrorDoc","SystemMessage","ClientStatistics","DomainStatistics","MailAccountConfiguration","dataIdFromObject","object","defaultDataIdFromObject","doc","loc","collectFragmentReferences","refs","kind","selectionSet","selections","selection","variableDefinitions","def","definitions","definitionRefs","findOperation","operationName","newDoc","opRefs","allRefs","newRefs","refName","prevRefs","childRef","op","oneQuery","symbolClasses","upper","lower","number","special","PasswordGenerator","_generateButtonElement","_onGeneratePasswordClick","_showButtonElement","_onShowPasswordClick","_showPasswordVisible","_showPasswordTitle","_hidePasswordTitle","_passwordStrength","_generatePassword","passwordConfirmationElement","fireCustomEvent","requiredClasses","shuffle","_generateSymbol","symbolClass","crypto","getRandomValues","Uint32Array","arraysInSameOrder","first","second","original","shuffledArray","remaining","currentIndex","randomValue","randomIndex","UpgradeFailureNotification","updateInterval","_isBootstrapRunning","_bootstrapExecutionUrl","_bootstrapStatusUrl","_bootstrapInProgressMessage","_bootstrapLinkTitle","_scheduleUpdateStatus","_executeBootstrapper","_statusUpdate","WebserverConfigurationFailure","_rebuildFailedUrl","_rebuildAllUrl","_moduleInstalled","_kbArticle","linkAll","howToFix","kbArticle","_rebuildFailed","_rebuildAll","_onCreateExecute","_onException","port","ConfirmationPopupManager","_sendButtonTitle","singleRowButtons","_prepareUrl","_handlerUrl","_ids","_formListItemsAreaId","_formListAreaId","_formBoxAreaId","_formDescriptionId","_longtask","_autoload","_setTitle","formHtml","_getHeadDescription","_getBottomDescription","_addButtons","_renderPreparePopup","_preparePopup","_onCancelClick","ids","_onSuccessPreparePopup","_onSuccessResponse","sendButton","cancelButton","_getLoadingIndicatorItems","_addLoadingIndicator","_getAdditionalParams","_isValid","_needFlyEffect","beginOffset","fly","_sendRequest","LookUp","_data","_currentValue","_newItemValue","_copyTitleValue","_limit","ITEMS_UNLIMITED","_lookUpParams","_placeholder","_valueField","inputFieldConfig","_inputField","_lookUpButton","_lookUpControl","_dropdownList","_initCustomLookUpComponent","_customLookUpComponent","_emptyElement","handleChange","_updateValue","_updateData","_getDataByUrl","_createItem","_setDisabled","_filter","limit","_selectResults","itemsCount","getValue","getItemValue","getDisplayValue","_openList","showAll","_fixDropdownPosition","_getDataTask","_closeList","itemsFound","_item","itemLink","itemData","stripTags","visibleItems","_searchMoreElement","_getSearchMoreText","previousElementSibling","blur","_inputOnFocus","_inputOnPaste","_inputOnBlur","_inputOnKeyUp","_inputOnKeyDown","_lookUpButtonOnClick","activeItem","_onArrowKeyPressed","nextItem","_scrollDropdownList","firstItem","round","offsetHeight","itemsInFrame","frameStart","scrollTop","_itemOnClick","_itemOnOver","_clearData","_addSearchMoreElement","isRtl","windowWidth","offsets","getBoundingClientRect","delta","parseInt","getComputedStyle","paddingLeft","COLUMN_SELECTION","COLUMN_ACTIONS","AdditionalActions","List","globalCheckbox","onListGlobalCheckboxClick","_listCls","_tableId","_itemActions","_columns","Boolean","_limitValues","_splitListData","pathbar","state","pager","additional","_searchFilters","_searchOveral","_pageable","_disabledSelectHint","_renderDisabledSelectHint","_clearStatusOnReload","isDisabledItem","_onRedraw","_emptyViewMode","_getTotalInfo","_pager","totalItemCount","_getRowClass","_getSearchOveralField","listData","place","dataLen","_state","_pathbar","_additionalData","_isColumnSelectionPresent","_getColumns","onHeaderClick","dataIndex","sortField","sortDirection","updateFilter","force","checkEmptyList","filterChanged","hasFilter","isVisible","column","oddEvenRowClass","row","rowIndex","cells","columnIndex","_filtered","noEscape","onLimitClick","onPagerClick","page","actionsBox","_getActionBoxElement","selectButton","onPagerButtonClick","paging","_actionBox","listHeadersView","colspan","headerColspan","header","headerCls","headerRenderer","sortCssClass","sortable","headerParams","listDataView","indexOffset","rowView","columns","cell","renderer","isDisabled","hideDisabled","listView","containerView","_getActionBox","_getPathbarHtml","_getPagerHtml","emptyViewContainer","isListEmpty","listSelector","previousValue","isFiltered","forceShowSearch","operationsId","operations","_getOperations","_onSearchClick","_onResetSearchClick","collapsed","_hideItemsNotSelectedWarning","_getLimitValuesHtml","pageCount","_getPagesItemsHtml","limitValue","limitValueTitle","itemCountPerPage","previous","pagesInRange","last","emptyView","_addSelectionHandlers","rActionsList","handleSelectButtonClick","_addPathbar","getSelectedItemsIds","getSelectedItems","selectedItems","dataItem","checkNonEmptySelection","_showItemsNotSelectedWarning","execLongGroupOperation","itemId","progressBar","removePreparingItem","beforeSendRequest","sendRequest","taskName","execGroupOperation","payload","defineProperty","idsParamName","submitVarName","toJsonPayload","checkSelection","_submit","sendRequestHandler","submitHandler","reloading","context","noReload","skipConfirmation","mouseEvent","confirmationPopup","_confirmationPopup","getConfirmOnGroupOperation","subtype","needAttention","needAttentionText","needAttentionBlockSubmit","needAttentionOnChange","requestUrl","loadingTitle","onYesClick","requestParams","buttonTitles","titles","buttonKey","confirmOnGroupOperation","_itemsNotSelectedTimerId","urlParams","controllerName","actionName","_request","abort","processReloadError","redraw","_addDisabledCheckboxesHints","previousSibling","_renderDisabledCheckboxesHints","redrawPartial","_contextMenu","onRedraw","_addResponsiveHtml","_initDropdowns","_initItemActions","rowId","_dropdowns","hasSelectedItems","getItemById","Number","getItemByName","itemName","columnName","columnNameHtml","_addResponsiveHtmlToButtons","_addResponsiveHtmlToImages","_addResponsiveHtmlToIcons","_addResponsiveHtmlToNumbers","images","outerHTML","wrapper","icon","parseFloat","isFinite","links","checkSyncStatus","statusElementId","onFinishCallback","randomId","_randomId","timeout","progressStatus","statusElement","deleteButtonIndex","_getDeleteButtonIndex","_modifyColumnsByExtension","extension","findColumn","columnsOverride","originalColumn","captureMessage","extend","insertAfter","getItemActions","actionInfo","ListContextMenu","TARGET_TYPE_DROP_DOWN","TARGET_TYPE_TABLE_ROW","_initRowStyles","_initShowOnClick","_prefillPopup","iconClass","_togglePopupNearButton","scrollOffsets","buttonPosition","viewportOffset","buttonWidth","buttonHeight","_setPosition","_hidePopup","targetData","rowEl","_openPopup","rowData","targetType","dropDownEl","_isListContextEvent","_getTargetData","_getTargetType","_open","_hide","_isImmediatelyOpening","_isOpened","altX","altY","popupWidth","windowHeight","popupHeight","popupMarginTop","getStyle","right","dir","_titleAddCls","collapse","_titleButton","popup","operationsArea","liElement","UnresolvedDomainWarning","run","isAlias","Pool","take","hasItems","_viewerId","_preparingCounter","_hidden","intervalUpdateTimer","pleskWS","task_created","onUpdated","task_updated","task_deleted","onDeleted","onOpen","loadTasks","onClose","addPreparingItem","progressTitle","uniq","unshift","failPreparingItem","setStatus","setErrors","_loaded","mergeItems","nextItems","getMergedItems","newItemData","onItemStatusChange","completeItem","currentItem","setItems","mergeItem","pool","getUpdated","getStatus","getData","getSteps","onItemStepChange","setRefreshLinkEnabled","isStarted","isRefreshLinkEnabled","setUniq","getUniq","isFlying","isReady","stopPeriodicalExecutor","removeItemsByIds","isCompletedItem","_updateProgressDialog","progressBarItemId","onHide","returnUrl","_progressBarItem","isOpenProgressDialog","_progressDialog","renderProgressDialog","isOpen","getProgressTitle","steps","getVisibleErrors","redirectUrl","isComplete","doRedirect","isCompleteSuccessfully","isCompleteWithWarning","newItem","finishedItem","step","setProgressBarElement","getProgressBarElement","setPeriodicalExecutor","viewerId","onGroupClose","handleGroupClose","getKey","addToast","intent","hasStartedTasks","setInterval","clearInterval","_updated","_status","_errors","_output","_isRefreshLinkEnabled","_progressValue","_canCancel","_referrer","_uniq","_progressBarElement","getProgressValue","getProgressDialogLinkHandler","flag","_isRefreshAllowed","getRefreshLinkProps","_redirect","onClick","hasErrors","getErrors","getOutput","line","isPreparing","isProgressUndefined","isCompleteWithError","toToast","refresh","progress","toasts","useToasts","autoClosable","removeToast","toast","ws","messageSubscriptions","openSubscriptions","closeSubscriptions","handleError","wsConnect","attempt","WebSocket","host","onmessage","messageData","onopen","onclose","PleskWSBinding","messageSubscriptionsIndex","openSubscriptionsIndex","closeSubscriptionsIndex","_onStatusUpdate","_onTaskDone","_onTaskCancel","_onTaskError","progressParams","errorMessage","_statusUrl","_updateInterval","_showProgress","statusClass","_processStatus","_updateStatus","_onStatusUpdateSuccess","_onStatusUpdateFailure","_failedStatusUpdates","_maxFailedStatusUpdates","_showFinished","_showError","_showWorking","_showNone","_showLoading","_addDetailsEvent","details","ActiveList","urls","navigate","isCollapsible","isNew","isShowItemTitle","stateCollapsed","itemActions","toolbarView","itemsView","bottomBarView","toolbar","sortDir","allowListSwitch","hasClassicView","itemView","stretched","itemClasses","itemCaptionView","itemDetailsView","itemSettingsView","itemToolsView","rel","noEscapeTitle","new","additionalComments","countMoreItems","loadAllLink","switchToLink","listType","itemCaptionHeaderView","itemCaptionServicesView","itemCaptionDataView","itemCaptionAdditionalHtml","toggleItem","itemCaptionHeadView","itemCaptionHeadWrapView","itemCaptionSummaryView","itemCaptionToolbarView","labelTypes","onCaptionHeadWrapClick","primaryActions","summary","summaryItemView","summaryItem","toolbarButtonView","services","itemServiceView","service","headerClass","closeUrl","itemServiceBlockView","renderItemServiceView","ch","replaceAll","grid","subService","linkView","childLinks","childLink","isSimpleText","info","isSimpleLink","spanClass","newLine","linesNumber","additionalHtml","getItemElement","scrollToItem","hadClassName","elem","servicesEl","_initToolbar","disableItem","enableItem","toolbarEl","itemEls","menuEl","offset","getLayout","_menuEl","itemEl","itemElClone","liEl","elInMenu","onWindowResize","duration","startTime","to","frame","scrollTo","getItemIdFromUrl","cookieName","_createFolderUrl","_onNodeClick","_rootNodeTitle","_onReload","_showFiles","_filterNodes","_selectOnlyFiles","_showMessage","_initTreeView","_insertNode","htmlElement","cssClass","isRootDirectory","isDirectory","_getNodes","ulElement","itemSelect","_addCommonEvents","_onNodeToggle","_onNodeMouseover","_onNodeMouseleave","linkElement","getTypeIcon","_onNodeSelect","directoryPath","containerElement","subTreeElement","expandElement","showNewNode","_loadNode","_onNodeLoadStart","rootDir","showFiles","_onNodeLoadSuccess","_onNodeLoadFailure","_isNodeExpanded","nodeElement","resetSelection","hideNewNode","resetHover","setDirectory","directory","_getNodeElement","_onFullReloadSuccess","reloadPath","nodes","lastSlashIndex","lastIndexOf","getSelectedNode","selectedElement","getSelectedItemData","expandNode","_insertNewNode","newNode","onkeydown","_onNewNodeKeyDown","_onCreateFolder","_insertBtn","_onCancelCreateFolder","currentDir","newDirectoryName","_onFolderCreated","FTYPE_DIR","FTYPE_TEXT","FTYPE_IMAGE","FTYPE_VECTOR_IMAGE","FTYPE_AUDIO","FTYPE_SECURITY","FTYPE_WEBSCRIPT","FTYPE_WEBPAGE","FTYPE_WAPPAGE","FTYPE_COMPRESSED","FTYPE_UNKNOWN_TEXT","FTYPE_UNKNOWN_BINARY","FTYPE_ZIP","FTYPE_RAR","FTYPE_TAR","FTYPE_TGZ","unixPermissions","toUnixPermissionsString","contentAreaId","handlerUrl","startUploadHandler","finishUploadHandler","_startUploadHandler","_finishUploadHandler","_uploadFrameInitialized","_getUploadIFrameElement","contentArea","_uploadFrameElement","_onUploadFrameInitialized","getResult","statusFrame","statusDocument","contentDocument","contentWindow","cancel","DirectoryBrowser","_pathElementId","_subscriptionId","_tree","applyTo","dataUrl","onNodeClick","_onTreeNodeClick","onReload","_buttonOk","_buttonCancel","selectedPath","pathValue","readEntry","entry","entryReader","createReader","readAllEntries","allEntries","readEntries","results","entriesToFiles","isFile","file","FileReader","opera","navigator","platform","reader","onloadend","onprogress","readAsDataURL","isDragFiles","dataTransfer","effectAllowed","types","DropArea","isButtomUploadDirectory","_onDrop","_addDocumentHandlers","_addDropAreaHandlers","webkitGetAsEntry","getAsFile","isFiles","getDragFiles","GroupsList","_getGroupRowClass","_groupBy","_groupsConfig","groupedData","groupId","groupIndex","group","groupDataRowView","_getGroupName","ReporterPopup","_actionCollectId","_actionToSupportId","_supportUrl","_onSendClick","_getTooltip","_onSupportClick","_disableSendButton","_enableSendButton","_onCollectClick","_checkResponseStatus","collectRadio","reportId","_onShowReportsClick","dialogHeight","pageable","maxHeight","_onHideReportsClick","ObjectSwitcher","_listUrl","_itemUrlTemplate","_owner","_navigate","myData","isSameParent","PopupSlider","popupCls","closeButtonEnabled","hideOnEscape","_slides","_current","setCurrent","prev","renderSlide","dots","marginLeft","curItem","ScrollableList","table","headerTable","visibleHeader","tr","blockHeight","up","invisibleHeader","th","lastHeader","bottom","tableHeight","scrollHeight","_resizeList","scrollToBottom","rows","patchesFactory","wrap","after","ajaxRequest","ajaxRequestsHistory","ajaxRequestProto","ignoreUAT","targetUrl","requestFingerprint","uiPointerForm","lastUrl","msg","dataSource","update_oC","jswFormAjax","formAjaxProto","responseJSON","jswList","listProto","_lastOperation","replaceHandlers","o","confirmationPopupManager","popupFormProto","ajaxPopupForm","defer","msgBoxProto","ajaxMessageBox","ajaxMsgBoxProto","multiCheckboxMessageWindow","msgWindowProto","webspaceFoldersMessageBox","drawersWatcher","reportDrawerAction","drawer","getDrawer","MutationObserver","mutations","addedNodes","removedNodes","childList","subtree","characterData","pleskActions","sessionChanged","unloadByClick","watchersFactory","isAnalyticsAllowed","userAgent","versionInfo","accountCreated","innerWidth","innerHeight","ratio","devicePixelRatio","activeElement","COOKIE_POLICY_LOCAL_STORAGE_KEY","hasPreferences","savePreferences","preferences","loadPreferences","analytics","marketing","storageItem","openInNew","isClassicUi","toPunycode","domain","punycode","FormFieldPassword","defaultProps","passwordMeterProps","onEstimate","app","showModal","graphqlQueries","localeSections","feedback","sentry","isInFrame","writeQuery","gql","App","addWidget","widget","LocaleProvider","ErrorBoundary","createPortal","widgets","createBrowserRouter","routes","setState","StrictMode","ApolloProvider","client","_jsxs","RouterProvider","router","initialDataLoader","isInitial","createPageDataLoader","dataPath","generatePath","newData","isClientSideRedirectAllowed","ipAddressDomainRoute","componentLoader","loader","clientId","btoa","ipAddressId","changeOwnerRoute","searchParams","virtualHostTemplateRoute","handle","crumb","helpContext","isTsSessionsExist","viewer","manageServerSessions","os","isWindows","routesTransformer","AppLayout","AppBoundary","isAllowedWithoutLicense","domainOverviewRoutes","databaseListRoute","isDomainRoute","isExist","mode","isDnsServiceSupported","manageServerDnsTemplate","isViewSwitcherAllowed","manageServerNotifications","manageServerBranding","manageServerDb","graphQLErrors","debugMessage","databaseServer","errorPolicy","isDemo","fetchPolicy","websitesDiagnostic","enabled","manageServerMail","manageServerMailAutodiscover","manageServerSpamFilter","manageServerMailBlackWhiteLists","manageServerVirusProtection","toPhpDate","getStartOfDay","now","getEndOfDay","pagination","itemsPerPage","orderBy","email","capability","isSmarthostAvailable","manageServerLicense","additionalKey","isUnix","manageServerFirewall","manageServerComponents","phpHandler","cliPath","manageServerPhp","manageAspNetSettings","isASPdotNetInstalled","pageSidebar","isPowerUserPanel","CpPagesLayout","infoAndStatisticsRoute","summaryReportRoute","summaryReportChildrenRoute","trafficUsageByViewerCustomersRoute","trafficUsageByViewerCustomersChildrenRoute","trafficUsageByViewerDomainsRoute","trafficUsageByViewerDomainsChildrenRoute","resourceUsageByDomainRoute","trafficUsageByViewerResellersRoute","trafficUsageByViewerResellersChildrenRoute","readGraphQlListInputFromStorage","templateId","numericId","server","Response","serverMail","odbcServerRoute","domainRoute","homeRoute","trafficUsageByDomainRoute","PhpPagesLayout","LogsPage","parsePath","route","test","matchRoutes","HOURS_IN_MS","SEC_IN_HOUR","getSysdate","addDays","daysCount","copy","setDate","addHours","hoursCount","setHours","isSameDay","date1","date2","yearsAreEqual","monthsAreEqual","daysAreEqual","getTimezoneShift","timezone","hours","minutes","abs","formatDate","toLocaleDateString","formatDateFromTimestamp","seconds","toDatePeriod","days","daysInSeconds","hoursInSeconds","getStartOfMonth","getEndOfMonth","setMonth","getStartOfWeek","diff","getDay","getEndOfWeek","getDaysInMonthFromTimestamp","getDaysInPreviousMonth","toUnixTime","LoadableComponent","useMatches","useLocation","revalidator","useRevalidator","useLoaderData","useParams","licenseData","useQuery","LICENSE","isLicenseLocked","revalidate","componentLoaderTransformer","other","cause","default","isExistTransformer","shouldRevalidateTransformer","shouldRevalidate","defaultShouldRevalidate","currentUrl","nextUrl","every","childrenTransformer","pathTransformer","routeTransformer","transformedRoute","transformer","flat","TopBarProgress","barThickness","barColors","shadowBlur","navigation","useNavigation","TASK_PROGRESS_BAR_QUERY","useServerRouteReload","useLayoutEffect","wsEnabled","webSocket","isNote","bottomAnchor","ModuleProvider","Outlet","Toaster","onToastClose","_Fragment","opacity","ScrollRestoration","getScrollRestorationKey","DynamicModule","ModulesContext","createContext","MODULE_SEARCH_KEY","loadModule","loadScope","promise","__webpack_init_sharing__","__webpack_share_scopes__","useDynamicModule","useContext","loaded","setLoaded","useState","useNavigate","openModule","useCallback","moduleString","groups","lazy","encode","preventScrollReset","closeModule","delete","modules","useMemo","Provider","propTypes","PropTypes","isRequired","visible","Suspense","fallback","useRef","useEffect","lastNonOverlayRoute","lastMatch","secondToLastMatch","isOverlay","showFrames","pageHeader","matchesContext","breadcrumbs","matchCrumb","reversedMatches","reverse","secondary","titleRightAddon","pageContentHeader","lastBreadcrumbTitle","lastLayoutMatch","pageTitle","at","noLayout","helpMenu","PageLayout","withSecondary","bodyClass","integrationClass","isSecondaryCollapsed","customTitle","BRANDING_QUERY","isClosedOnDesktop","setClosedOnDesktop","useLocalStorage","isClosedInResponsive","setClosedInResponsive","sidebarCollapsed","isResponsive","useMediaQuery","isClosed","documentTitleEl","headerHeight","setHeaderHeight","headerAddonHeight","setHeaderAddonHeight","stickyTop","setStickyTop","paddingTop","searchQuery","getTitleForHelpSearchQuery","Layout","Measure","bounds","onResize","measureRef","ref","PageHeader","headerAddon","CookiePolicy","licenseStatus","LicenseStatus","onSidebarToggle","handleToggleSidebar","sidebar","PageSidebar","sidebarType","footer","PageFooter","contentHeader","PageContentHeader","Columns","gap","vertical","Column","fill","StatusMessages","JswComponent","useEventListener","addFn","removeFn","handlerRef","listener","initialValue","storedValue","setStoredValue","readLocalStorageValue","setValue","mq","matchMedia","updateMatch","addListener","removeListener","useDebounce","debouncedValue","setDebouncedValue","layoutType","isInfoVisible","setInfoVisible","isPreferencesVisible","setPreferencesVisible","useModal","setPreferences","COOKIE_POLICY_QUERY","handleSave","nextPreferences","gdpr","cookieBox","Info","onSave","onPreferencesToggle","contentAlignment","Preferences","onToggle","adapter","OverlayAdapter","useCollector","setCallback","collect","Confirmation","onProceed","proceed","isConfirmed","isResolved","useConfirmation","setConfirmation","triggerConfirmation","useCreateFormInDrawer","dataType","drawerUrl","useApolloClient","useMatch","setData","setTask","updateUserSettings","useMutation","UPDATE_USER_SETTINGS","CREATE_FORM_IN_DRAWER_QUERY","techDomain","vendor","maxDomainLength","settingsEnabled","domainManagement","applicationWizardConfig","applicationWizard","isMailServiceSupported","handleClose","DrawerWithProgress","onCancel","onProcess","onToggleDomainSettings","settingsCollapsed","ContentLoader","STATUS_RUNNING","getTaskProgressBar","ButtonsTranslate","onTaskComplete","autoCloseTimeout","setSteps","setRedirectUrl","taskId","handleTaskUpdate","taskStatus","progressValue","progressTitleHtml","onErrorExecute","ConsoleOutput","taskProgressBar","isInProgress","deleteTask","handleTaskComplete","sameUrls","origin","Drawer","cancelable","dangerouslySetInnerHTML","__html","onFinish","hideButton","navigateBase","useNavigateBase","createPath","useListOperation","setSelection","loadingRows","setLoadingRows","wrapListOperation","currentKeys","ALL_ITEMS","ITEM_PER_PAGE_OPTIONS_DEFAULT","ALL_ITEMS_COUNT","useList","onFilter","initialFilter","currentPage","totalPage","totalPages","itemsPerPageOptions","onPageChange","onChangeItemsPerPage","direction","sortColumn","onSortChange","loading","setLoading","setFilter","wrapAsync","renderPagination","Pagination","onSelect","nextPage","onItemsPerPageChange","sortParams","handleReload","handleFilter","Heading","Paragraph","cookieInformationLink","Link","PLESK_COOKIES","handleAcceptClick","handleAcceptNecessaryCookiesClick","handlePreferencesClick","CONTROL_COOKIES","Adapter","DrawerAdapter","k","toValues","handleCancel","submitButton","onSubmit","toPreferences","FormFieldRadioButtons","browserSettingsLink","applyButton","Overlay","hasScroll","enableScroll","enableDocumentScroll","enterTimeoutRef","exitTimeoutRef","setReady","disableDocumentScroll","Icon","Tag","containerRef","mapping","LicenseLimitsMessage","handleCloseMessage","renderMessage","buyUrl","canManageLicense","Alert","urlMapping","useNavigateCallback","metaKey","altKey","ctrlKey","RouterLink","defaultPrevented","features","STATUS_DEFAULT","STATUS_TRIAL","STATUS_EXPIRED","daysLeft","isAdmin","installUrl","hidePopoverUrl","trialOverIcon","baseClassName","trialOverPopoverVisible","setTrialOverPopoverVisible","handleClosePopover","alertCls","renderActions","popoverCls","Popover","renderTrialPopover","oneOf","searchUrl","MainHeaderSearch","MainHeaderNavbar","DiscoMode","MENU_ITEM_CLASSNAME","SEARCH_HISTORY_STORE_URL","removeTouchEventListeners","onDocumentTouchStart","onDocumentTouchMove","onDocumentTouchEnd","searchTermRef","lastTermRef","menuRef","timer","resetTimeout","enterPressed","pendingRequest","skipKeyUp","touchMoved","MAIN_HEADER_SEARCH_QUERY","setHistory","deleteRecentSearchResult","DELETE_RECENT_SEARCH_RESULT_MUTATION","onCompleted","isSearchFocused","setSearchFocused","searchInProgress","setSearchInProgress","setResults","selectedItem","setSelectedItem","fatalError","goToItem","scheduleSearch","abortPreviousSearch","findTerm","onSearchSuccess","term","records","res","onSearchFailure","onSearchComplete","flushRecentSearchCache","evict","identify","fieldName","renderSearchItems","uatKey","iconUrl","MenuItem","active","storeUrl","token","sendBeacon","toFormData","forgery_protection_token","handleSaveRecentSearch","renderSearchResults","meta","moreResultsFound","MenuDivider","renderHistory","MenuHeader","ghost","Status","resetSearch","resetValue","onArrowKeyPressed","searchPlaceholder","onTouchEnd","Input","innerRef","autoComplete","onPaste","handlePaste","onKeyUp","onKeyDown","_complete","handleFocus","RECENT_SEARCH_HISTORY_QUERY","handleBlur","suffix","Menu","consume","IconSun","xmlns","viewBox","fillRule","d","clipRule","IconMoon","mask","AccountMenu","isHideText","user","ACCOUNT_MENU_QUERY","Dropdown","menu","menuPlacement","caret","Text","truncate","pname","login","backToAdminLink","accountMenu","subscriptionSwitcher","headerCustomButtons","isHideBackToAdminText","isHideLogo","MAIN_HEADER_NAVBAR_QUERY","theme","setTheme","branding","flipHorizontal","SubscriptionSwitcher","notification","panel","NotificationCenter","alt","HelpMenu","handleToggleTheme","newTheme","newThemeColor","logo","isCustom","changeIdRe","subscriptions","currentSubscriptionId","defaultCurrentSubscriptionId","defaultShowAll","setShowAll","setCurrentSubscriptionId","tabIndex","pointerEvents","getNotificationIcon","contextIconUrl","unreadCount","notifications","isRead","UnreadCounter","getSubjectIntent","isListOpen","setIsListOpen","selectedNotificationId","setSelectedNotificationId","setNotifications","viewerType","NOTIFICATION_CENTER_QUERY","toastsRef","reloadTimeout","initFilter","initWebSocket","loadNotifications","handleNewNotificationRef","newNotification","allToasts","groupNotifications","isViewed","isNotificationCritical","isAllowedFeedbackOrPromotionNotification","getIntentByNotification","accent","NotificationToast","onSelectNotification","handleOpenNotificationCenter","handleSelectNotification","uatAdditionalData","category","NOTIFICATION_CATEGORIES","ALERT","messageKey","handleUpdateNotifications","handleMarkAllAsViewed","panel_notification_created","listNotifications","newNotifications","change","updateNotifications","handleRemoveNotification","prevNotifications","deleteNotifications","handleCloseNotificationCenter","unreadNotifications","applyFilter","isUnRead","selectedNotification","Badge","getMostIntentByNotifications","extra","NotificationActions","onUpdateNotifications","onRemoveNotification","Action","handleOpenSettings","handleCloseNotificationView","subject","Label","NotificationDate","NotificationCenterView","NotificationCenterList","onUpdateFilter","newFilter","onMarkAllAsRead","handleMarkAllAsRead","isFavorite","isCritical","WARNING","isPromotion","PROMOTION","FEEDBACK","CtaPropType","NOTIFICATION_INTENTS","DANGER","INFO","INACTIVE","INFORMATION","NotificationPropType","area","createdAt","displayDate","actionLink","actionText","openInNewTab","NotificationFilterPropType","handleClickButton","notificationsToDisplay","expandedRows","setExpandedRows","filterCount","r","v","grouppedNotifications","selectNotification","toggleExpansionNotification","prevExpandedRows","unreadNotificationIds","SubjectColumn","onToggleExpansionNotification","DateColumn","Toolbar","ToolbarGroup","ToolbarExpander","FilterMenu","SearchBar","inputProps","onTyping","minWidth","rowKey","renderRowBody","onExpandedRowsChange","autoExpandSingleItem","emptyViewMode","ListEmptyView","reason","isNotificationsGroup","notificationsId","subjectIntent","Media","imageSpacing","getStatusIntent","compact","bold","includeParentAsChild","includeRead","groupedNotifications","originalNotification","today","nowrap","ListActions","ListAction","primary","intents","selectedToastId","categoryIconMap","categoryIntentMap","NotificationBody","expanded","setExpanded","nestedNotification","HelpDrawer","helpUrl","customHelpUrl","helpModule","HELP_MENU_QUERY","setIsOpen","setIsOpened","handleOpen","isClassicPanel","help","enableSearchPrefill","particles","color","secret","setBuffer","setOpen","discoBall","setDiscoBal","confettiInit","setConfettiInit","confettiTop","setConfettiTop","confettiBottom","setConfettiBottom","confettiMax","setConfettiMax","buffer","newBuffer","handleDiscoMode","initParticlesEngine","loadConfettiPreset","engine","Lottie","animationData","Particles","emitters","rate","quantity","preset","styleClass","conhelp","custom","backgroundImage","fontSize","Group","activeNode","statistics","isSidebarClosed","nodeRef","setHidden","Transition","in","mountOnEnter","unmountOnExit","g","getFirstLink","foundNode","navigationContext","viewSwitcher","showStatistics","MAIN_MENU_QUERY","skip","getExtension","breadcrumbPathname","breadcrumbExtension","locationPathname","locationExtension","nodePathname","matchPath","nodeExtension","Brand","ViewSwitcher","showTitle","showPowerUserViewWarning","learnMoreUrl","hideSwitcherUrl","changeViewUrl","setVisible","popoverVisible","setPopoverVisible","targetRef","handleChangeView","handleOpenLearnMore","handleTogglePopover","canCloseOnOutsideClick","canCloseOnEscapePress","boundariesElement","switchLink","onTouchStart","onMouseDown","recommended","helpLink","handleHideSwitcher","imageAlt","edition","PAGE_FOOTER_QUERY","promos","pleskFooter","product","siteUrl","facebook","showLikeLink","pleskPage","twitter","showFollowLink","rating","handleProvideRatingClick","supportUrl","userVoice","userVoiceUrl","tabs","tabsHasRootPage","navigationTabs","hidePathbar","hideHeading","wizardTitle","pageSubtitle","objectSwitcherParams","forceObjectSwitcher","isClassicMode","additionalTitleContent","addObjectSwitcher","objectName","pageTitleSuffix","previousPage","Breadcrumbs","PageContentHeaderNav","lookUpParams","listUrl","owner","itemUrlTemplate","setComponent","newComponent","JswObjectSwitcher","findIndex","nav","headerInner","stickyClassName","tabsRect","headerInnerRect","minHeight","Tab","substring","matchLink","unescapeHtml","withPageLayout","extraProps","Wrapper","wrapperProps","displayName","WrappedComponent","withSimplePageLayout","useRouteError","isRouteErrorResponse","ErrorPage","graphQLError","trace","stackTrace","stack","descriptions","helpActions","styles","back","noRepairKit","sideMaintenance","main","wide","ExceptionDetails","RepairKitAlert","footerLinks","footerLink","footerLinkText","RepaitKitAlert","MediaSection","codeFragment","GraphQlList","filtered","emptyViewFiltered","listContext","listProps","paginationProps","setSort","prevFiltered","setPrevFiltered","isLoadingOrFiltered","GraphQlListContext","GraphQlListSearchBar","onSearch","listInput","setSearchFilters","currentFilters","ITEMS_PER_PAGE_OPTIONS","useGraphQlList","defaultInput","inputVariables","withNetworkOnlyStrategy","onListInputChange","withPagination","extractList","setFetchPolicy","setListInput","getGraphQlListInputStorageArgs","queryResult","queryData","previousData","handleListInputChange","setPage","setItemsPerPage","pageInfo","setFilters","newListInput","sortInfo","totalRows","DEFAULT_INPUT","getChildrenPath","databaseId","ODBC_SERVER_LIST","odbcAddRoute","odbcEditRoute","dsnManager","drivers","ODBC_ADD_PAGE","domainId","odbcId","ODBC_EDIT_PAGE","useGetDomainOverviewRoutePath","HOSTING_SETTINGS_PAGE","withIpAddresses","ROUTE","layoutId","summaryReportLayout","scheduleId","ignoreTopLevelTitle","summaryReportLayouts","defaultId","DOMAIN_PAGE","domainRouteData","baseDomain","baseDomainId","getContextUrl","aspDotNetDomainSettingsRoute","bandwidthLimitingDomainRoute","hotlinkProtectionDomainRoute","odbcDomainRoute","protectedDirectoriesRoute","virtualDirectoryRoute","ASP_DOT_NET_DOMAIN_SETTINGS_PAGE","aspDotNet","aspNetSettings","configs","BANDWIDTH_LIMITING_PAGE","domainName","HOTLINK_PROTECTION_PAGE","ODBC_DOMAIN_PAGE","ODBC_DOMAIN_LIST","protectedDirectoryListRoute","protectedDirectoryUserListRoute","PROTECTED_DIRECTORY_LIST","protectedDirectoryAddRoute","protectedDirectoryEditRoute","PROTECTED_DIRECTORY_ADD_PAGE","isProtectedDirectoryLocationSupported","protectedDirectoryId","protectedDirectory","PROTECTED_DIRECTORY_EDIT_PAGE","directoryId","directoryData","PROTECTED_DIRECTORY_PATH","PROTECTED_DIRECTORY_USER_LIST","protectedDirectoryUserAddRoute","protectedDirectoryUserPasswordRoute","userId","virtualDirectorySettingRoutes","directoryName","domainNodeId","editablePath","EDIT_VIRTUAL_DIRECTORY_PAGE","isCurrentDirectory","subscriptionId","isAspEnabled","asp","virtualDirectory","webPath","VIRTUAL_DIRECTORY_PHP_PAGE","managePhpVersion","isVirtual","VIRTUAL_DIRECTORY_PAGE","VirtualDirectorySidebar","VIRTUAL_DIRECTORY_BROWSE_PAGE","VIRTUAL_DIRECTORY_CONTENT_LIST","CREATE_VIRTUAL_DIRECTORY_PAGE","parentPath","parentDirectory","userListKey","VIRTUAL_DIRECTORY_PROTECTION_PAGE","VIRTUAL_DIRECTORY_PROTECTION_USER_LIST","mimeTypeListKey","VIRTUAL_DIRECTORY_MIME_TYPE_LIST","IIS_MANAGER_MIME_CONTENT_TYPES","editPageData","VIRTUAL_DIRECTORY_EDIT_MIME_TYPE_PAGE","mimeType","errorDocListKey","VIRTUAL_DIRECTORY_ERROR_DOC_LIST","VIRTUAL_DIRECTORY_EDIT_ERROR_DOC_PAGE","php","canManagePermissions","isPhpInstalled","urlPrefix","buttonProperties","buttonPermissions","buttonAspDotNet","buttonPhp","SidePanel","ItemList","buildUrl","collapsible","TRAFFIC_USAGE_BY_DOMAIN_PAGE","DOMAIN_TRAFFIC_USAGE","intervals","trafficUsageIntervals","trafficUsageByResellerRoute","clientIdParamName","trafficUsageListKey","clientType","intervalsData","TRAFFIC_USAGE_INTERVALS","TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS","TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST","clientTypes","getClientLink","resellerName","clientNodeId","TOTAL_TRAFFIC_USAGE_BY_RESELLER","TRAFFIC_USAGE_BY_RESELLER_CLIENTS_LIST","trafficUsageByCustomerDomainsRoute","trafficUsageByClientDomainsRoute","clientName","customerId","CLIENT_TRAFFIC_USAGE_INTERVALS","TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS","TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST","listQueryParams","trafficUsageByDomains","totalUsageQueryParams","extractTrafficData","totalTrafficUsageByDomains","showFilters","showClientNameColumn","parentClientType","TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS","TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST","jswRedirect","allSettled","homeQueries","HOME_PAGE","block","layoutResponse","TitleAddon","constants","SERVER_INFO_QUERY","UPDATES_QUERY","OVERUSED_SUBSCRIPTIONS_QUERY","MY_SUBSCRIPTIONS_QUERY","EXTENSIONS_QUERY","CHANGE_LOG_QUERY","SERVER_INFO","UPDATES","OVERUSED_SUBSCRIPTIONS","MY_SUBSCRIPTIONS","IP_BAN","BACKUP","EXTENSIONS","MAIL_QUEUE","PROMO","CHANGE_LOG","CUSTOM_BUTTONS","HOME_PAGE_QUERY","home","locked","isEmptyLayout","order","marginInline","systemMessages","manageServerInfo","LoginPage","defaultValues","serverInfo","isFirstLogin","cloudType","loginContentInclude","headContent","bodyContent","LOGIN_PAGE_QUERY","login_name","passwd","locale_id","useInsertionEffect","addedElements","empty","FormFieldText","autoFocus","hideGenerateButton","hidePasswordMeter","howToLoginArticle","cookieSettings","loginFormEntrypointEnabled","RouteLink","withLoginLayout","locales","resolvableHostname","mobileApplicationPromotion","background","LocaleSwitcher","appearance","contentAddon","SuggestResolvableHostname","LoginMobileApplicationPromotion","processFieldMessage","processFieldMessages","findSubFormFields","subFormPrefix","formData","forms","getSubFormPrefixes","formPrefix","embeddedForms","forwardRef","mutation","onFieldChange","onLongTask","embeddedFormsRender","defaultErrors","statusRef","setStatusMessages","formErrors","subFormErrors","setElementValue","getElementsByName","getIn","useImperativeHandle","handleEmbeddedFormValues","scrollIntoView","behavior","handleSubmitSuccess","formState","isApply","forceRedirect","renderEmbeddedForms","BaseForm","setIn","isApolloError","LoginLayout","LayoutBackground","customBackground","fit","MOBILE_APPLICATION_PROMOTION_COOKIE_NAME","setIsVisible","handleHide","sortedLocales","GetPasswordPage","resetBy","handleSuccess","indentFields","GET_PASSWORD_PAGE_QUERY","RestorePasswordPage","handleEstimatePassword","mergeMessages","oldMessages","setMessages","sectionName","handleAddedLocaleSection","handleAddedLocaleSections","BaseLocaleProvider","errorInfo","componentDidCatch","margin","whiteSpace","fontFamily","componentStack","app/editlist","app/rating","app/aha","app/eula","app/app-image/gallery","app/backup/list","app/backup/restore","app/backup/upload-files","app/backup/web-content-dynamic","app/database/assign-to-subscription","app/dns-helper","app/dns-helper/dns-settings","app/email-address/aliases-dynamic","app/email-address/client-configuration-link","app/email-address/form-ajax","app/email-address/postbox","app/email-address/responder-attachments-dynamic","app/file-manager/explorer","app/file-manager/file-name-popup-form","app/mail-settings/confirmation-remove-popup-form","app/hosting-settings/conflicts-checker","app/log-browser/browser","app/log-browser/files","app/login/recovery-password","app/newsletter-subscription","app/progress-dialog","app/profile/announcement-settings","app/domain/restriction","app/pum","app/server-mail-antivirus-promo","app/show-output-popup","app/task-progress-bar","app/user/login-string","app/change-customers-owner","app/convert-customers-to-resellers","app/convert-resellers-to-customers","app/service-sidebar","app/ssl-certificate/list","app/app/progress","app/app/installed","app/app/apscatalog","app/web-app-firewall/submit-handler","tags","environment","isDev","integrations","replayIntegration","maskAllText","maskAllInputs","browserTracingIntegration","beforeStartSpan","beforeSend","err","originalException","catchDebugger","anonymousCall","beforeBreadcrumb","withoutGraphQLFetch","breadcrumb","getAll","ignoreErrors","denyUrls","sampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","tracesSampleRate","getCurrentScope","setUser","setTag","AdminPanel","Smb","common","chk","onReady","UpdateAvailableNotification","buttonNow","buttonShow","linkLater","UpgradeAvailableNotification","BasePanel","descriptionText","PanelItemsGroup","PanelItem","ApsLicense","buy","initForm","onChangeUploadType","ToolButton","ApplicationUpdate","_renderHint","instances","_onInstallEvent","_onChangelogEvent","_onViewMoreEvent","updateApplication","showApplicationChangelog","resourceIds","contentText","jsonResponse","onShow","viewportHeight","popupTop","positionedOffset","syn","go_to","lon","loff","lsubmit","f","lock","getParentNodeByName","nodeName","errorfield","resizeHandler","lines","originalSize","Prototype","appendForgeryProtection","forgeryToken","origSubmit","HTMLFormElement","origOpen","XMLHttpRequest","setRequestHeader","origInitialize","on400","on500","on0","chk_pos_int","pos_int","chk_mn","mail_name","isWin","re","chk_dom","dom_name","chk_ip_address_and_mask","chk_email","found","chk_url","chk_ip_t","ip","chk_mask","ip2long","num","block_to_num","valid","valid_formats","ip_address","ip_mask","chk_uint","uint","createTooltipElement","tooltipMouseMoveObserver","onMouseMove","tooltipMouseOutObserver","onMouseOut","tooltipEventElement","tooltipVisible","showAction","showTimed","tooltipShowTimeout","cancelShowTimed","finishShowTimed","getShowPosition","firstShow","hideAction","__webpack_module_cache__","deferred","leafPrototypes","getProto","inProgress","__webpack_require__","moduleId","cachedModule","__webpack_modules__","amdO","O","chunkIds","notFulfilled","Infinity","fulfilled","n","getter","__esModule","getPrototypeOf","obj","t","getOwnPropertyNames","definition","enumerable","chunkId","promises","u","miniCssF","globalThis","prop","l","needAttach","getElementsByTagName","charset","nc","onScriptComplete","doneFns","toStringTag","nmd","S","initPromises","initTokens","I","initScope","initToken","p","compat","localeDependencies","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
Simpan