{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/components/AppAvatarBannerItem.vue?a12b","webpack:///./src/common/views/view-state/DisclaimerView.vue?3d0b","webpack:///./src/views/AnalyticsView.vue?5750","webpack:///./src/views/ManageLicensesView.vue?3873","webpack:///./src/common/lang/fr.ts","webpack:///./src/components/RephraseParameters/TwoLinesList.vue?046d","webpack:///./src/lang/es.ts","webpack:///./src/components/LicenseManagement/UserDetailsCard.vue?5b61","webpack:///./src/common/utils/EncodageHelper.ts","webpack:///./src/common/views/view-state/PageNotFoundView.vue?94c3","webpack:///./src/components/TopFiveErrorTypes.vue?bfd9","webpack:///./src/common/views/view-state/ErrorPageView.vue?d84c","webpack:///./src/components/AnalyticsUserFilters.vue?e88f","webpack:///./src/components/TopFiveErrorTypes.vue?ab51","webpack:///./src/components/LicenseManagement/PasswordCreationLink.vue?5fa9","webpack:///./src/views/AnalyticsView.vue?65c6","webpack:///./src/common/components/AppHolygrailLayout.vue?30fa","webpack:///./src/components/AnalyticsServiceFilters.vue?9748","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/lang sync nonrecursive \\.ts$","webpack:///./src/common/components/AppAnalyticsLangPickerMenu.vue?5dc9","webpack:///./src/components/TopFiveErrorTypes.vue?5528","webpack:///./src/common/components/AppAnalyticsFilterAndExport.vue?c50b","webpack:///./src/common/lang sync nonrecursive \\.ts$","webpack:///./src/components/LicenseManagement/ImportUsersForm.vue?fad0","webpack:///./src/common/components/AppTopbar.vue?917a","webpack:///./src/common/components/AppMenuList.vue?6aed","webpack:///./src/components/RephraseParameters/BoxList.vue?2aaf","webpack:///./src/common/components/AppPlaceholder.vue?8efb","webpack:///./src/views/AnalyticsView.vue?8627","webpack:///./src/lang/fr.ts","webpack:///./src/lang/index.ts","webpack:///./src/views/RephraseView.vue?9823","webpack:///./src/components/RephraseParameters/BoxList.vue?495d","webpack:///./src/components/RephraseParameters/TwoLinesList.vue?39d7","webpack:///./src/components/AnalyticsUserFilters.vue?653b","webpack:///./src/common/components/AppSnackBar.vue?7c8f","webpack:///./src/common/views/auth/AuthEndSessionView.vue?deaa","webpack:///./src/lang/en.ts","webpack:///./src/common/components/AppTopbar.vue?0621","webpack:///./src/components/AnalyticsServiceFilters.vue?e0ea","webpack:///./src/common/components/AppSubscriptionAlert.vue?1be5","webpack:///./src/views/TeamProgressView.vue?4055","webpack:///./src/views/RephraseView.vue?8811","webpack:///./src/common/lang/en.ts","webpack:///./src/components/AnalyticsUserFilters.vue?855e","webpack:///./src/common/components/AppSparklineCardItem.vue?ae5e","webpack:///./src/components/RephraseParameters/BoxList.vue?1e3a","webpack:///./src/components/RephraseParameters/RephraseTester.vue?3469","webpack:///./src/views/HomeView.vue?896d","webpack:///./src/views/RephraseView.vue?0905","webpack:///./src/common/views/view-state/PageNotFoundView.vue?6f64","webpack:///./src/common/components/AppSideNavigationMenu.vue?b63a","webpack:///./src/common/components/AppAnalyticsDatePickerMenu.vue?f213","webpack:///./src/views/HomeView.vue?f62d","webpack:///./src/components/AnalyticsServiceFilters.vue?13f6","webpack:///./src/common/views/auth/AuthEndSessionView.vue?bc8b","webpack:///./src/common/lang/es.ts","webpack:///./src/components/RephraseParameters/RephraseTester.vue?de07","webpack:///./src/App.vue?07a3","webpack:///./src/common/components/AppAnalyticsFilterAndExport.vue?4d52","webpack:///./src/App.vue","webpack:///./src/common/data-access/analytics/models/AnalyticsByCriteriaEntity.ts","webpack:///./src/common/data-access/analytics/models/AnalyticsKPIEntity.ts","webpack:///./src/common/data-access/auth/services/OAuth2Service.ts","webpack:///./src/common/data-access/auth/services/OAuth2ServerConnector.ts","webpack:///./src/common/data-access/auth/services/OAuth2SecuredHttpServerConnector.ts","webpack:///./src/common/data-access/auth/store/actions.ts","webpack:///./src/common/data-access/auth/store/getters.ts","webpack:///./src/common/data-access/auth/store/state.ts","webpack:///./src/common/data-access/auth/store/mutations.ts","webpack:///./src/common/data-access/auth/store/module.ts","webpack:///./src/common/data-access/config/models/FeatureEntity.ts","webpack:///./src/common/data-access/config/models/FeatureGroupEntity.ts","webpack:///./src/common/data-access/config/models/SpecificPermissionsEnum.ts","webpack:///./src/common/data-access/filters/models/TimeFilterThresholdTypeEnum.ts","webpack:///./src/common/data-access/config/services/ConfigService.ts","webpack:///./src/common/data-access/config/services/FeaturesFactory.ts","webpack:///./src/common/data-access/config/services/FeaturesConfigHelper.ts","webpack:///./src/common/data-access/filters/services/SubperiodComputingService.ts","webpack:///./src/common/data-access/filters/models/TimeFilterThresholdPeriod.ts","webpack:///./src/common/data-access/filters/models/TimeFilterThresholdDay.ts","webpack:///./src/common/data-access/filters/models/TimeFilterThresholdMonth.ts","webpack:///./src/common/data-access/filters/models/TimeFilterThresholdWeek.ts","webpack:///./src/common/data-access/filters/models/TimeFilterThresholdYear.ts","webpack:///./src/common/data-access/filters/store/actions.ts","webpack:///./src/common/data-access/filters/store/getters.ts","webpack:///./src/common/data-access/filters/store/state.ts","webpack:///./src/common/data-access/filters/store/mutations.ts","webpack:///./src/common/data-access/filters/store/module.ts","webpack:///./src/common/data-access/http/models/ExecutionStatusEnum.ts","webpack:///./src/common/data-access/http/services/AwaitToRequest.ts","webpack:///./src/common/data-access/http/services/HttpErrorHandler.ts","webpack:///./src/common/data-access/view-state/models/AppLayoutsEnum.ts","webpack:///./src/common/data-access/http/models/HttpRequestError.ts","webpack:///./src/common/data-access/users/models/UserEntity.ts","webpack:///./src/common/data-access/users/services/UserService.ts","webpack:///./src/common/data-access/view-state/models/ErrorViewModel.ts","webpack:///./src/common/data-access/view-state/store/actions.ts","webpack:///./src/common/data-access/view-state/store/getters.ts","webpack:///./src/common/data-access/view-state/store/mutations.ts","webpack:///./src/common/data-access/view-state/store/state.ts","webpack:///./src/common/data-access/view-state/store/module.ts","webpack:///./src/common/utils/Connector.ts","webpack:///./src/common/utils/CSVExportHelper.ts","webpack:///./src/common/utils/DateHelper.ts","webpack:///./src/common/utils/EnumHelper.ts","webpack:///./src/common/utils/IdGenerator.ts","webpack:///./src/common/utils/EventBus.ts","webpack:///./src/common/utils/GetFlag.ts","webpack:///./src/common/views/view-state/DisclaimerView.vue","webpack:///./src/common/views/AbstractView.vue","webpack:///./src/common/views/AbstractView.vue?e601","webpack:///./src/common/views/AbstractView.vue?23bb","webpack:///./src/common/components/AppPlaceholder.vue","webpack:///./src/common/components/AppPlaceholder.vue?871e","webpack:///./src/common/components/AppPlaceholder.vue?cfc4","webpack:///./src/common/components/AppPlaceholder.vue?e6c4","webpack:///./src/common/views/view-state/DisclaimerView.vue?809e","webpack:///./src/common/views/view-state/DisclaimerView.vue?15eb","webpack:///./src/common/views/view-state/DisclaimerView.vue?9a05","webpack:///./src/common/views/auth/AuthEndSessionView.vue","webpack:///./src/common/views/auth/AuthEndSessionView.vue?4934","webpack:///./src/common/views/auth/AuthEndSessionView.vue?609d","webpack:///./src/common/views/auth/AuthLoginCallbackView.vue","webpack:///./src/common/views/auth/AuthLoginCallbackView.vue?139c","webpack:///./src/common/views/auth/AuthLoginCallbackView.vue?0de2","webpack:///./src/common/views/auth/AuthLoginCallbackView.vue?a8eb","webpack:///./src/common/views/auth/AuthEndSessionRedirectView.vue","webpack:///./src/common/views/auth/AuthEndSessionRedirectView.vue?38ac","webpack:///./src/common/views/auth/AuthEndSessionRedirectView.vue?039f","webpack:///./src/common/routes/AuthRoutes.ts","webpack:///./src/common/views/view-state/ErrorPageView.vue","webpack:///./src/common/views/view-state/ErrorPageView.vue?4b2b","webpack:///./src/common/views/view-state/ErrorPageView.vue?aa54","webpack:///./src/common/routes/ViewStateRoutes.ts","webpack:///./src/data-access/analytics/models/AppAnalyticsEnum.ts","webpack:///./src/data-access/analytics/models/ErrorClassificationLevelsEnum.ts","webpack:///./src/data-access/analytics/models/error-first-level/ErrorFirstLevelCodes_en.ts","webpack:///./src/data-access/analytics/models/error-first-level/ErrorFirstLevelCodes_fr.ts","webpack:///./src/data-access/analytics/models/error-first-level/ErrorFirstLevelCodes_es.ts","webpack:///./src/data-access/analytics/models/error-first-level/ErrorFirstLevelCodes_de.ts","webpack:///./src/data-access/analytics/models/error-first-level/ErrorFirstLevelCodes_it.ts","webpack:///./src/data-access/analytics/models/error-first-level/ErrorFirstLevelCodes_nl.ts","webpack:///./src/data-access/analytics/models/error-third-level/ErrorThirdLevelCodes_fr.ts","webpack:///./src/data-access/analytics/models/error-third-level/ErrorThirdLevelCodes_en.ts","webpack:///./src/data-access/analytics/models/error-third-level/ErrorThirdLevelCodes_es.ts","webpack:///./src/data-access/analytics/models/error-third-level/ErrorThirdLevelCodes_de.ts","webpack:///./src/data-access/analytics/models/error-third-level/ErrorThirdLevelCodes_it.ts","webpack:///./src/data-access/analytics/models/error-third-level/ErrorThirdLevelCodes_nl.ts","webpack:///./src/data-access/analytics/services/TeamKPIsService.ts","webpack:///./src/data-access/analytics/services/ServiceUsageService.ts","webpack:///./src/data-access/analytics/services/TopFiveErrorTypesService.ts","webpack:///./src/data-access/analytics/services/AnalyticsKpiFactory.ts","webpack:///./src/data-access/analytics/services/ErrorClassificationService.ts","webpack:///./src/data-access/analytics/services/ExportKPIsService.ts","webpack:///./src/data-access/analytics/services/AvailableLangsService.ts","webpack:///./src/data-access/analytics/store/actions.ts","webpack:///./src/data-access/analytics/store/state.ts","webpack:///./src/data-access/analytics/store/getters.ts","webpack:///./src/data-access/analytics/store/mutations.ts","webpack:///./src/data-access/analytics/store/module.ts","webpack:///./src/data-access/config/models/AppFeaturesEnum.ts","webpack:///./src/data-access/config/models/AppFeatureGroupsEnum.ts","webpack:///./src/data-access/privileges/models/RolesEnum.ts","webpack:///./src/data-access/config/services/FeaturesConfigService.ts","webpack:///./src/data-access/privileges/models/FineGrainedAuthItemsEnum.ts","webpack:///./src/data-access/privileges/services/PermissionsService.ts","webpack:///./src/data-access/custom-filters/models/User.ts","webpack:///./src/data-access/custom-filters/CustomFiltersService.ts","webpack:///./src/data-access/custom-filters/store/actions.ts","webpack:///./src/data-access/custom-filters/store/getters.ts","webpack:///./src/data-access/custom-filters/store/state.ts","webpack:///./src/data-access/custom-filters/store/mutations.ts","webpack:///./src/data-access/custom-filters/store/module.ts","webpack:///./src/data-access/licenses/store/actions.ts","webpack:///./src/data-access/licenses/store/getters.ts","webpack:///./src/data-access/licenses/store/state.ts","webpack:///./src/data-access/licenses/store/mutations.ts","webpack:///./src/data-access/licenses/store/module.ts","webpack:///./src/data-access/rephrase/models/Prompt.ts","webpack:///./src/data-access/rephrase/models/TemplateParameters.ts","webpack:///./src/data-access/rephrase/store/actions.ts","webpack:///./src/data-access/rephrase/store/getters.ts","webpack:///./src/data-access/rephrase/store/state.ts","webpack:///./src/data-access/rephrase/store/mutations.ts","webpack:///./src/data-access/rephrase/store/module.ts","webpack:///./src/views/AnalyticsView.vue","webpack:///./src/components/AnalyticsUserFilters.vue","webpack:///./src/AppEventBus.ts","webpack:///./src/data-access/custom-filters/models/TypeFilterEnum.ts","webpack:///./src/components/AnalyticsUserFilters.vue?2d0f","webpack:///./src/components/AnalyticsUserFilters.vue?c2ce","webpack:///./src/components/AnalyticsUserFilters.vue?3901","webpack:///./src/components/AnalyticsServiceFilters.vue","webpack:///./src/components/AnalyticsServiceFilters.vue?7f98","webpack:///./src/components/AnalyticsServiceFilters.vue?61a3","webpack:///./src/components/AnalyticsServiceFilters.vue?6a88","webpack:///./src/components/AnalyticsFilterAndExportAdapter.vue","webpack:///./src/common/components/AppAnalyticsFilterAndExport.vue","webpack:///./src/common/components/AppAnalyticsDatePickerMenu.vue","webpack:///./src/common/components/AppAnalyticsDatePickerMenu.vue?22d8","webpack:///./src/common/components/AppAnalyticsDatePickerMenu.vue?55c9","webpack:///./src/common/components/AppAnalyticsDatePickerMenu.vue?034a","webpack:///./src/common/components/AppAnalyticsLangPickerMenu.vue","webpack:///./src/common/components/AppAnalyticsLangPickerMenu.vue?ea9f","webpack:///./src/common/components/AppAnalyticsLangPickerMenu.vue?532f","webpack:///./src/common/components/AppAnalyticsLangPickerMenu.vue?4947","webpack:///./src/common/components/AppAnalyticsFilterAndExport.vue?eebe","webpack:///./src/common/components/AppAnalyticsFilterAndExport.vue?64fd","webpack:///./src/common/components/AppAnalyticsFilterAndExport.vue?69bc","webpack:///./src/components/AnalyticsFilterAndExportAdapter.vue?f027","webpack:///./src/components/AnalyticsFilterAndExportAdapter.vue?4feb","webpack:///./src/components/AnalyticsFilterAndExportAdapter.vue?f734","webpack:///./src/common/components/AppSparklineCardItem.vue","webpack:///./src/common/components/AppSparklineCardItem.vue?79dd","webpack:///./src/common/components/AppSparklineCardItem.vue?d161","webpack:///./src/common/components/AppSparklineCardItem.vue?31a1","webpack:///./src/common/components/AppPieAndHistogramChart.vue","webpack:///./src/common/components/AppPieAndHistogramChart.vue?3e4c","webpack:///./src/common/components/AppPieAndHistogramChart.vue?aca1","webpack:///./src/common/components/AppPieAndHistogramChart.vue?c028","webpack:///./src/components/TopFiveErrorTypes.vue","webpack:///./src/components/TopFiveErrorTypes.vue?dbb4","webpack:///./src/components/TopFiveErrorTypes.vue?d6b3","webpack:///./src/components/TopFiveErrorTypes.vue?6e36","webpack:///./src/common/components/AppScatterChart.vue","webpack:///./src/common/components/AppScatterChart.vue?209c","webpack:///./src/common/components/AppScatterChart.vue?5e69","webpack:///./src/common/components/AppScatterChart.vue?5377","webpack:///./src/views/AnalyticsView.vue?5b9c","webpack:///./src/views/AnalyticsView.vue?1874","webpack:///./src/views/AnalyticsView.vue?9915","webpack:///./src/views/TeamProgressView.vue","webpack:///./src/views/TeamProgressView.vue?77c3","webpack:///./src/views/TeamProgressView.vue?3d70","webpack:///./src/views/TeamProgressView.vue?0a49","webpack:///./src/views/ManageLicensesView.vue","webpack:///./src/components/LicenseManagement/UserDetailsCard.vue","webpack:///./src/components/LicenseManagement/PasswordCreationLink.vue","webpack:///./src/components/LicenseManagement/PasswordCreationLink.vue?e43e","webpack:///./src/components/LicenseManagement/PasswordCreationLink.vue?d2b4","webpack:///./src/components/LicenseManagement/PasswordCreationLink.vue?954c","webpack:///./src/components/LicenseManagement/UserDetailsCard.vue?5756","webpack:///./src/components/LicenseManagement/UserDetailsCard.vue?7ef5","webpack:///./src/components/LicenseManagement/UserDetailsCard.vue?e8de","webpack:///./src/components/LicenseManagement/AccountCreationForm.vue","webpack:///./src/data-access/licenses/models/Mail.ts","webpack:///./src/components/LicenseManagement/AccountCreationForm.vue?244f","webpack:///./src/components/LicenseManagement/AccountCreationForm.vue?f5b3","webpack:///./src/components/LicenseManagement/AccountCreationForm.vue?a218","webpack:///./src/components/LicenseManagement/ImportUsersForm.vue","webpack:///./src/components/LicenseManagement/ImportUsersForm.vue?cc98","webpack:///./src/components/LicenseManagement/ImportUsersForm.vue?39f6","webpack:///./src/components/LicenseManagement/ImportUsersForm.vue?0253","webpack:///./src/views/ManageLicensesView.vue?9740","webpack:///./src/views/ManageLicensesView.vue?2a39","webpack:///./src/views/ManageLicensesView.vue?b1d5","webpack:///./src/views/RephraseView.vue","webpack:///./src/components/RephraseParameters/BoxList.vue","webpack:///./src/components/RephraseParameters/BoxList.vue?ce43","webpack:///./src/components/RephraseParameters/BoxList.vue?e1da","webpack:///./src/components/RephraseParameters/BoxList.vue?dc0e","webpack:///./src/components/RephraseParameters/TwoLinesList.vue","webpack:///./src/components/RephraseParameters/TwoLinesList.vue?9fdb","webpack:///./src/components/RephraseParameters/TwoLinesList.vue?b375","webpack:///./src/components/RephraseParameters/TwoLinesList.vue?5a7f","webpack:///./src/components/RephraseParameters/RephraseTester.vue","webpack:///./src/components/RephraseParameters/RephraseTester.vue?f324","webpack:///./src/components/RephraseParameters/RephraseTester.vue?7644","webpack:///./src/components/RephraseParameters/RephraseTester.vue?3e05","webpack:///./src/views/RephraseView.vue?105b","webpack:///./src/views/RephraseView.vue?09f5","webpack:///./src/views/RephraseView.vue?260d","webpack:///./src/routes/MonitoringRoutes.ts","webpack:///./src/AppConfigService.ts","webpack:///./src/common/components/AppHolygrailLayout.vue","webpack:///./src/common/components/AppTopbar.vue","webpack:///./src/common/components/AppAvatarBannerItem.vue","webpack:///./src/common/components/AppMenuList.vue","webpack:///./src/common/components/AppMenuList.vue?b0a3","webpack:///./src/common/components/AppMenuList.vue?1136","webpack:///./src/common/components/AppMenuList.vue?6549","webpack:///./src/common/components/AppAvatarBannerItem.vue?e68a","webpack:///./src/common/components/AppAvatarBannerItem.vue?fbcb","webpack:///./src/common/components/AppAvatarBannerItem.vue?e3f8","webpack:///./src/common/components/AppSubscriptionAlert.vue","webpack:///./src/common/components/AppSubscriptionAlert.vue?61b2","webpack:///./src/common/components/AppSubscriptionAlert.vue?bfa4","webpack:///./src/common/components/AppSubscriptionAlert.vue?72a1","webpack:///./src/common/components/AppTopbar.vue?9e9a","webpack:///./src/common/components/AppTopbar.vue?3fff","webpack:///./src/common/components/AppTopbar.vue?7597","webpack:///./src/common/components/AppSideNavigationMenu.vue","webpack:///./src/common/components/AppHeaderLogo.vue","webpack:///./src/common/components/AppHeaderLogo.vue?0010","webpack:///./src/common/components/AppHeaderLogo.vue?afe3","webpack:///./src/common/components/AppHeaderLogo.vue?8e71","webpack:///./src/common/components/AppSideNavigationMenu.vue?8016","webpack:///./src/common/components/AppSideNavigationMenu.vue?ee1b","webpack:///./src/common/components/AppSideNavigationMenu.vue?2a05","webpack:///./src/common/components/AppHolygrailLayout.vue?c41b","webpack:///./src/common/components/AppHolygrailLayout.vue?27fa","webpack:///./src/common/components/AppHolygrailLayout.vue?9ad7","webpack:///./src/common/components/AppSnackBar.vue","webpack:///./src/common/components/AppSnackBar.vue?dda5","webpack:///./src/common/components/AppSnackBar.vue?2bf4","webpack:///./src/common/components/AppSnackBar.vue?3a24","webpack:///./src/App.vue?dad8","webpack:///./src/App.vue?9e1d","webpack:///./src/App.vue?315a","webpack:///./src/common/views/view-state/PageNotFoundView.vue","webpack:///./src/common/views/view-state/PageNotFoundView.vue?bcef","webpack:///./src/common/views/view-state/PageNotFoundView.vue?001a","webpack:///./src/views/HomeView.vue","webpack:///./src/views/HomeView.vue?7339","webpack:///./src/views/HomeView.vue?5412","webpack:///./src/views/HomeView.vue?257c","webpack:///./src/routes/UserAccountRoutes.ts","webpack:///./src/router.ts","webpack:///./src/plugins/i18n.ts","webpack:///./src/plugins/vuex.ts","webpack:///./src/plugins/vuetify.ts","webpack:///./src/main.ts","webpack:///./src/common/components/AppSparklineCardItem.vue?6cbb","webpack:///./src/components/RephraseParameters/TwoLinesList.vue?f183","webpack:///./src/components/TopFiveErrorTypes.vue?6ce9","webpack:///./src/common/views/view-state/ErrorPageView.vue?6932","webpack:///./src/components/RephraseParameters/RephraseTester.vue?6bfa","webpack:///./src/common/components/AppAnalyticsFilterAndExport.vue?9397","webpack:///./src/common/components/AppHeaderLogo.vue?d966","webpack:///./src/views/HomeView.vue?3b08"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","Component","options","__i18n","ctx","normalize","_normalize","__i18nBridge","_Ctor","EncodageHelper","obj","Buffer","from","JSON","stringify","toString","encodedStr","decodedStr","parse","map","webpackContext","req","id","webpackContextResolve","code","keys","messages","extFiles","require","appFiles","forEach","replace","assign","default","languages","_c","_self","_setup","attrs","scopedSlots","proxy","_vm","snackBarError","staticRenderFns","AnalyticsByCriteriaEntity","constructor","label","_defineProperty","AnalyticsKPIEntity","kpiId","kpiLabel","owner","totalValue","unitCharacter","totalTendancyRate","subCriteriaValues","OAuth2Service","accessTokenTS","sessionData","decodedSessionData","decodeBase64Object","validationDate","expires_in","isTokenValid","Date","now","refreshExp","refresh_expires_in","ConfigService","getRefreshTokenValidationTimeInMillis","accessInfo","getTime","encodeBase64Object","access_token","id_token","refresh_token","accessToken","decodedToken","jwtDecode","email","usrData","sub","firstname","given_name","lastname","family_name","login","avatarImgUrl","img","exportAll","export_all","manageSubscription","manage_subscription","managedTenants","managed_tenants","tenant","getTokenTenantPropName","getDefaultTenantName","privileges","realm_access","roles","Array","isArray","tokenRoles","tokenRole","getDefaultUserPrivilege","getAccessToken","usrAuthorizations","roleLevel","rolesByTenant","currentRole","getOwnPropertyNames","indexOf","usrTenantRoles","role","OAuth2ServerConnector","axios","baseURL","getOAuth2ServerUrl","getDefaulRequestTimeout","headers","defaultHeaders","tokenEndpoint","params","axiosInstance","challengeMethod","getAuthChallengeMethod","useHeaders","corsHeaders","post","refreshToken","grant_type","client_id","getOAuth2ClientId","endSessionEndpoint","tokenId","uri","getOAuth2LogoutRedirectURI","OAuth2SecuredHttpServerConnector","baseApiURL","header","this","log","originalRequest","config","errI18NMsg","_retry","response","status","refreshTokenErr","toHttpRequest","getTokenEndpoint","authenticationData","generateOAuth2SessionData","EventBus","$emit","defaults","common","addTokenToRequest","token","path","interceptors","use","async","handleExpiredTokenAndRetry","put","delete","OAuth2Actions","verifyAuthStatus","commit","state","dispatch","idp","isAccessTokenValid","redirectPage","isRefreshTokenValid","accTS","root","ErrorViewModel","sendTokenToExtension","chrome","runtime","getAccessData","sendMessage","AppConfigService","getChromeExtensionAppId","extMsg","displayLoginPage","clientId","redirectURI","getOAuth2RedirectURI","scopes","getOAuth2Scopes","clientSecret","getOAuth2ClientSecret","codeChallengeParams","base64URLEncode","str","codeChallenge","crypto","randomBytes","requestState","flowTmpData","requestedPage","authUrl","getAuthorizeEndpoint","location","href","encodeURI","rolesFromServerIndex","redirect_uri","cc","retrieveValidToken","userPrivileges","retrieveUserPrivilegesByTenant","userIdentity","retrieveEncodedUserIdentityFromToken","HttpRequestError","getRefreshToken","saveRefreshedSessionData","setHighestUserAuthorizationLevel","usrHighestAuthorization","getEndSessionEndpoint","endSession","getTokenId","clearAuthData","handleAuthError","pageError","originalTenantName","retrieveTenantName","tenantName","Connector","getFilterServerConnector","accountType","getBaseApiServerConnector","getUserIdentityEndPointUri","idUserIdentity","typeCompte","OAuth2Getters","authServerConfigData","authEPs","rls","hrl","usrIdentity","idd","UserService","getUserEntity","requestSt","st","AuthState","OAuth2Mutations","SET_AUTHENTICATION_IDP_ALIAS","idpAlias","SET_AUTHENTICATION_SERVER_DATA","SET_AUTHENTICATION_DATA","SET_AUTHORIZATION_DATA","authorizationData","REMOVE_AUTHORIZATION_DATA","SET_HIGHEST_AUTHORIZATION_LEVEL","SET_USER_IDENTITY_DATA","usrIdentityData","SET_AUTHENTICATION_FLOW_TEMP_DATA","tempData","REMOVE_AUTHENTICATION_DATA","SET_TENANT_NAME","usrSess","namespaced","actions","getters","mutations","FeatureEntity","group","link","icon","FeatureGroupEntity","features","active","SpecificPermissionsEnum","TimeFilterThresholdTypeEnum","serverConfig","restRoot","process","VUE_APP_BASE_API_URL","Number","VUE_APP_SIDEMENU_BREAKPOINT","VUE_APP_DEFAULT_MENU_AVATAR_IMG","VUE_APP_DOCUMENTATION_BASE_URL","VUE_APP_RELEASE_NOTES_BASE_URL","split","authConfig","authRedirectUri","authLogoutRedirectUri","authChallengeMethod","authRefreshTokenValTime","getOAuth2RefreshTokenDefaultLifetime","authClientId","authClientSecret","VUE_APP_CLIENT_SECRET","authScopes","VUE_APP_ACCOUNT_CREATION","FeaturesFactory","labelGroupI18N","featureGroup","featureGroupIcon","enumeratedFeatures","extPath","featuresIcons","buildFeatures","EnumHelper","enumKeys","uriPath","includes","FeaturesConfigHelper","usrRole","featureName","roleLevels","featuresPermissionLevel","featureRoleLevel","authFeats","feat","SubperiodComputingService","thresholdsMap","set","TimeFilterThresholdDay","TimeFilterThresholdWeek","TimeFilterThresholdMonth","TimeFilterThresholdYear","dateFrom","dateTo","size","initializeThresholdsMap","dayCounts","threshold","dayCount","DateHelper","computeDayCount","splitInSubperiods","subperiodName","getSubperiodName","currentSubperiod","TimeFilterThresholdPeriod","setDate","getDate","haveToSplit","setHours","Map","date","toLocaleDateString","getMonth","getDay","getWeekNumber","oneJan","getFullYear","numberOfDays","Math","floor","ceil","FiltersActions","setSearchFilterPeriod","dates","subperiods","generateSubperiods","clearSearchFilters","setLang","lang","setAvailableLangs","availableLangs","FiltersGetters","selectedDateFrom","selectedDateTo","associatedSubperiods","selectedCustomFilters","customFilters","selectedLang","FiltersState","FiltersMutations","SET_FILTER_PERIOD","datePayload","SET_COMPUTED_SUBPERIODS","CLEAR_FILTERS","SET_LANG_FILTER","SET_AVAILABLE_LANGS","searchFilters","ExecutionStatusEnum","then","results","exceptions","reduce","acc","item","errcode","handleServerError","responses","catch","httpCode","handleHttpError","responseError","errorI18nLabel","statusCode","AppLayoutsEnum","requestError","serverErrCode","IdGenerator","generateId","timestamp","UserEntity","decodedUsrIdentity","FULLSCREEN_LAYOUT","BASIC_LAYOUT","HOLY_GRAIL_LAYOUT","ViewActions","setPageTitle","pageTitle","setCurrentPageRoute","pageRoute","setFullscreenLayout","setBasicLayout","setHolyGrailLayout","showSidePanel","setTopBarTabFeatures","tabFeatures","setTopBarDropdownMenuFeatures","dropdownMenuFeatures","setSidePanelInitialState","toggleSidePanelState","setSidePanelMenuFeatures","sidePanelMenuFeatures","setSnackBarError","viewError","resetSnackBarError","setPageError","resetPageError","clearViewState","ViewGetters","currentPage","activateTopBar","topBarTabFeatures","dropdownTopBarMenuFeatures","activateSidePanel","ViewMutations","SET_PAGE_TITLE","SET_CURRENT_PAGE","ACTIVATE_TOP_BAR","SET_TOP_BAR_TABS_AUTH_FEATURES","SET_TOP_BAR_DROPDOWN_MENU_AUTH_FEATURES","ACTIVATE_SIDE_PANEL","SET_SIDE_PANEL_INITIAL_STATE","TOGGLE_SIDE_PANEL_STATE","SET_SIDE_PANEL_MENU_AUTH_FEATURES","SET_SNACK_BAR_ERROR_DATA","RESET_SNACK_BAR_ERROR_DATA","SET_PAGE_ERROR_DATA","RESET_PAGE_ERROR_DATA","CLEAR_VIEW_STATE_DATA","stateReq","ViewState","viewState","baseApiServerConnector","getBaseApiUrl","getFilterDbUri","CSVExportHelper","filename","textInput","element","encodeURIComponent","body","click","removeChild","initializedCSVFile","dataToExport","csvString","kpiCodes","kpiObj","csvLine","formatDate","kpiCode","substring","tenantKPIs","tenantKPIsToExport","totalRequests","totalErrors","totalAppliedSuggestions","typeErrors","totalConsumption","dateBegining","dateEnd","abs","dateToFormat","locale","moment","format","utc","filter","k","isNaN","counter","VueEventBus","Vue","singleton","getInstance","GetFlag","language","infos","cssClass","class","displayButton","on","render","AbstractView","args","mounted","useLayout","layout","$store","$forceUpdate","__decorate","Prop","component","footerStyle","loading","staticClass","imgUrlWithContext","disclaimer","_v","imgLoadingUrlWithContext","_e","AppPlaceholder","getProjectAssetsDir","getAppLoaderLogo","getAppPlaceholderLogo","loaderSize","loaderAnimationSize","DisclaimerView","goToInitialPage","$router","getDefaultInitialPage","components","AuthEndSessionView","logoutUser","$t","Action","namespace","Getter","AuthLoginCallbackView","created","$route","query","getDefaultErrorPage","authCode","rolesFromServer","authError","decodeURIComponent","authErrorDesc","error_description","authPageError","AuthEndSessionRedirectView","OAuth2Routes","afterLoginRedirectUrl","props","nextRoute","excludedRoutes","globalBeforeEach","store","router","anonymousAccessRoutes","to","next","identityProviderId","ErrorPageView","ViewStateRoutes","AppServiceUsageEnum","AppAverageStatisticsEnum","AppRephrasingServiceUsageEnum","ErrorClassificationLevelEnum","ErrorFirstLevelClassEnum","ErrorSecondLevelClassEnum","ErrorsFromCodes","TeamKPIsService","correctionData","errorFirstLevelClassification","ErrorClassificationService","getErrorFirstLevelClassificationCodes","detectedErrors","DetectedErrors","appliedSuggestions","AppliedSuggestions","period","errors","NB_CORRECTION_REQUESTS","NB_ERRORS_FOUND","SearchByInner","errorList","errorCode","NB_APPLIED_SUGGESTIONS","totalApplied","uniqueValues","values","finalResults","rephrasingData","requestMap","RephrasingRequestByUser","docCount","NB_REPHRASING_REQUEST","RephrasingAppliedByUser","totalRequest","ratio","round","userResult","find","NB_REPHRASING_APPLIED","REPHRASING_APPLICATION_RATIO","ServiceUsageService","AnalyticsKpiFactory","buildServiceUsageKPIs","_result$0$subCriteria","_result$1$subCriteria","totalRequestForPeriod","totalErrorsForPeriod","_result$2$subCriteria","totalAppliedForPeriod","buildCorrectionByCategoryKPIs","category","_category$subCriteria","errorsByType","computeTotalErrorCountByType","kpi","findEvolutionKpiFromString","periodLabel","tmpResults","averageConsumptionResult","averageErrorsResult","avgConsumption","averageConsumption","buildVerifiedWordAverageForUser","averageErrors","buildErrorCountForUser","getCharacterToWordsFactor","dataRequest","dataApplied","dataRequestByPeriod","RephrasingRequestByPeriod","dataAppliedByPeriod","RephrasingAppliedByPeriod","requestKPI","buildRephrasingRequestServiceUsageKPIs","computeRephrasingKPI","computeRephrasingBySubperiod","appliedKPI","buildRephrasingAppliedServiceUsageKPIs","ratioKPI","buildRephrasingApplicationRatioKPIs","computeRephrasingRatioMean","subperiodItemKey","subperiodTotal","emailItemKey","total","userData","errorObjs","errorObj","errorValue","findErrorTypeFromCode","errorEnum","evolutionKPIs","enumKey","TopFiveErrorTypesService","errorThirdLevelClassifications","getErrorThirdLevelClassificationCodes","usedData","errorMap","topFiveErrors","sort","a","b","errorClassLevel","AVERAGE_VERIFIED_WORDS","AVERAGE_ERRORS","ErrorFirstLevelCodes_fr","ErrorFirstLevelCodes_en","ErrorFirstLevelCodes_es","ErrorFirstLevelCodes_de","ErrorFirstLevelCodes_it","ErrorFirstLevelCodes_nl","ErrorThirdLevelCodes_fr","ErrorThirdLevelCodes_en","ErrorThirdLevelCodes_es","ErrorThirdLevelCodes_de","ErrorThirdLevelCodes_it","ErrorThirdLevelCodes_nl","ExportKPIsService","teampKPIs","parseTeamKPIs","user","index","typesErrors","SPELLING","TYPOGRAPHY","SYNTAX","userKPIs","AvailableLangsService","queryResult","_response$data","langs","AnalyticsActions","sendAnalyticsQuery","rootState","emails","customSearchFilters","selectedUsers","requestParams","requestInfo","refreshtoken","endpoint","handleMainKPIData","payload","Correction","Rephrasing","teamKPIs","teamRephrasingKPIs","parseTeamRephrasingKPIs","serviceUsageKPIs","parseServiceUsage","topFiveErrorTypesKPIs","parseTopFiveErrorTypes","parseEvolutionKPIs","averageKPIs","parseAverageKPIs","rephrasingServiceUsageKPI","parseRephrasingServiceUsageKPIs","handleExportAllData","tenantFollowUpKPIs","parseExportAllQueryResult","handleAvailableLangs","parseAvailableLangs","handleSnackBarError","handlePageError","clearAnalyticsData","setRequestInProgress","AnalyticsDefaultState","isRequestInProgress","rephrasingServiceUsage","teamFollowUpKPIs","teamErrorFoundAverage","teamVerifiedWordsAverage","topFiveErrorTypes","AnalyticsGetters","rephrasingServiceUsageKPIs","hasRephrasingValues","errorFoundAverage","verifiedWordsAverage","AnalyticsMutations","CORRECTION_LOGS_REQUEST_IN_PROGRESS","SET_TEAM_FOLLOW_UP_KPIS","SET_TENANT_FOLLOW_UP_KPIS","SET_EVOLUTION_KPIS","SET_SERVICE_USAGE_KPIS","SET_TEAM_REPHRASING_KPIS","SET_REPHRASING_SERVICE_USAGE_KPIS","SET_TOP_FIVE_ERROR_TYPES","SET_VERIFIED_WORDS_AVERAGE","SET_ERROR_COUNT_AVERAGE","errorCountAverage","CORRECTION_LOGS_REQUEST_END","REMOVE_ANALYTICS_DATA","analytics","MainAppFeaturesEnum","MainAppFeaturesEnumIconFromEnum","LoggedUserFeaturesEnum","LoggedUserFeaturesEnumIconFromEnum","AppFeatureGroupsEnum","AppFeatureGroupIconFromEnum","RolesEnum","FeaturesConfigService","getMainMenuFeatureGroups","loggedUserRole","groupFeats","featGroup","buildFeatureGroup","MONITORING","selectAuthorizedFeatures","RoleLevel","PermissionService","getTopBarDropdownMenuFeatureGroups","LOGGED_USER","filterCustomDropdownFeatures","featureGoups","getSidePanelMenuFeatureGroups","RolesFromServerIndex","0","SUPER_ADMIN","1","USER","2","SUPERVISOR","3","LICENSE_MANAGER","4","EXPORT_ALL","5","MANAGE_SUBSCRIPTION","6","REPHRASE_EDITOR","FineGrainedAuthItemsEnum","LOGOUT","SUBSCRIPTION","HOME","ANALYTICS","TEAM","LICENSES","REPHRASE","specificPermissionByRole","superAdminFineGrainedAuthz","SUPER_LICENCES_MANAGER","ALL","supervisorFineGrainedAuthz","KPI_DATA","EXPORT","User","service","manager","CustomFiltersService","requestData","managerEmail","users","Managers","Email","Id","Service","CustomFiltersActions","parseUserFilter","setSelectedUserForService","services","usersForService","authUsers","emailList","initAuthorizedUserFromMail","createUserFromEmail","setAuthorizedUsers","setUsersSearchFilter","userEmails","clearCustomFilters","resetSelectedServices","CustomFiltersGetters","selectedServices","CustomFiltersState","CustomFiltersMutations","SET_AUTHORIZED_USERS_FILTER","SET_SELECTED_USERS_FILTER","CLEAR_CUSTOM_FILTERS","SET_SELECTED_FILTER","LicensesActions","managedTenantsAttribute","retrieveManagedTenants","usersOfTenant","usersOfHierarchy","B2C","formattedUsers","accountData","file","formData","FormData","append","importedUsers","badlyFormattedEmails","usersAlreadyExist","passwordDefinitionUrls","url","userMailNameTenant","tenantsLicenses","fetch","Authorization","ok","errorMessage","text","json","licenses","formatedEmail","userNotFound","isSubscribed","clearSubscriptionData","errorHandling","setConflictError","LicensesGetters","conflictError","emailHash","tenantsNames","LicensesState","LicensesMutations","SET_USERS_OF_TENANT","SET_USERS_OF_HIERARCHY","SET_CONFLICT_ERROR","SET_EMAIL_HASH","SET_TENANTS_LICENSES","SET_ALL_TENANTS_NAMES","SET_IS_SUBSCRIBED","RESET_IS_SUBSCRIBED","Licenses","Prompt","template_id","description","TemplateParameters","RephraseActions","templateParameters","template","prompt","rephrase","promptParameters","promptId","tryAgain","join","updatePromptParameters","setCurrentPromptId","RephraseGetters","prompts","currentPromptId","RephraseState","RephraseMutations","SET_PROMPTS","SET_PROMPT_PARAMETERS","SET_TEMPLATE_PARAMETERS","SET_LANGS","UPDATE_PROMPT_PARAMETERS","promptParameter","param","exists","SET_CURRENT_PROMPT_ID","directives","_l","rawName","expression","SPARKLINE_GRADIENT","chartColors","lineColor","isDisplayCustomFiltersAllowed","$event","modelSelectedUsers","TypeFilterEnum","AnalyticsUserFilters","$on","filterChanged","USER_EMAIL","onAuthUserChanges","onSelectedUsers","Watch","modelSelectedServices","AnalyticsServiceFilters","SERVICE_NAME","onSelectedServices","_setupProxy","onDateChange","onDateChangeWrapper","onExportCSV","onExportCsvWrapper","onExportAll","onExportAllWrapper","onLangChange","langChangeHandler","authorizeExportCSV","authorizeExportAll","langPayload","onLangChangeWrapper","allowExportData","fn","ref","callback","$$v","model","showMenu","AppAnalyticsDatePickerMenu","navigator","onSelectedDateChanged","labelFrom","labelTo","showMonth","onPeriodValidation","refs","orderedDates","timezoneOffset","getTimezoneOffset","toISOString","menu","save","onPeriodChange","toggleMonthViewFlag","AppAnalyticsLangPickerMenu","getAvailableLangs","onSeltectedLang","AppAnalyticsFilterAndExport","AnalyticsFilterAndExportAdapter","generateCsvExport","initCsvHeaders","executeDownloadCsvFile","getExportFileName","runExportToCSV","formatTenantKPIsForExport","has","domProps","AppSparklineCardItem","chartOptions","AppPieAndHistogramChart","updateChart","onDataUpdate","subPeriodNumber","series","buildSeriesColumn","buildSeriesAverageCurve","buildSeriePieChart","title","credits","enabled","yAxis","min","yAxisName","xAxis","categories","x","labels","items","html","subTitle","style","left","pieChartMarginleft","top","pieChartMarginTop","color","kpiData","entries","colors","average","initializeAverageValues","curveName","marker","lineWidth","fillColor","tooltip","headerFormat","pointFormat","pieName","buildPieChartData","center","showInLegend","dataLabels","y","fill","toFixed","highcharts","Chart","getColor","TopFiveErrorTypes","getIcon","getTopFiveMainColor","totalSize","AppScatterChart","temp","firstDataSet","secondDataSet","kpi1","kpi2","dataForUser","previousUserWithSameData","chart","zoomType","subtitle","xAxisName","startOnTick","endOnTick","showLastLabel","legend","plotOptions","scatter","radius","states","hover","serieName","pointsColor","formatedData","AnalyticsView","search","TeamProgressView","onDataChanged","onRequestStateChanged","correctionDataTableHeaders","correctionHeader","align","correctionHeaderTitle","rephrasingDataTableHeaders","rephraseHeader","rephrasingHeaderTitle","rephrasingHeader","userType","createAccountFormVisible","importUserVisible","fetchUsers","_vm$selectedUsers","delUser","isSelected","select","_vm$usersOfHierarchy","random","_u","admin","selectedAccount","dialogVisible","confirmDeleteUser","_s","checkIfUserInHierarchy","editMode","lastName","formatTimestamp","createdTimestamp","lastUseDate","_vm$usrIdentity","userCopy","$set","_vm$usersOfHierarchy2","_vm$usersOfHierarchy3","staticStyle","managers","cancelEdit","applyChanges","snackbar","PasswordCreationLink","position","visible","showSnackbar","getAccountCreationLink","clipboard","writeText","sendAccountCreationEmail","firstName","UserDetailsCard","onUserChange","setUserCopy","_this$usersOfHierarch","userHierarchy","updateUserState","_this$user$managers","updateUser","getManagerName","timestampStr","parseInt","day","padStart","month","year","hour","getHours","minutes","getMinutes","seconds","getSeconds","Emit","resetErrors","isB2C","newTenant","reset","accountCreatedDialogVisible","Mail","To","Subject","Body","setReceiverMail","receiverEmail","setSubject","subject","setBody","addToBody","AccountCreationForm","required","test","setTenantsLicensesInfo","newTenantChange","isB2CChange","checked","tenantChange","displayConflictErrorPopup","displayMaxLicensesErrorPopup","$refs","createAccountForm","resetValidation","tenantsLicensesInfo","tenantInfo","tenant_name","actual_licenses","max_licenses","fetchTenantsLicenses","closeAccountCreatedDialog","disable","createUser","validate","checkAndFillAccountData","createManagers","toLowerCase","rules","selectedFile","usersImportedVisible","ImportUserForm","closeUsersImportedDialog","downloadTextFile","content","blob","Blob","download","URL","createObjectURL","revokeObjectURL","isValid","CreateUsersFromCSV","ManageLicensesView","onUsersOfTenantChanged","combinedUsers","usersDateArray","fetchLastCorrectionConso","usersDate","cur","UserFineGrainedAuthz","fetchAllTenantsNames","initTableHeaders","_this$usersOfHierarch2","_this$usrIdentity","sortable","width","dataTableHeaders","managerInfo","_user$managers$","_this$usersOfHierarch3","userTenant","matchingUser","getRowClass","mail","deleteUser","selectedUser","tableLoading","fetchUsersFromAllHierarchies","fetchUsersFromAllTenants","fetchUsersFromHierarchy","fetchUsersFromTenant","confirmationDialog","ImportUsersForm","changePrompt","newPrompt","tag","isEditing","deleteConfirm","BoxList","onCurrentPromptChanged","getParameters","onPromptParametersChanged","parameter","parameterName","listParameters","pushParameters","updateParameter","forbiddenChars","removeParameter","addParameter","outerIndex","example","parameters","parseParameters","regex","linesArray","match","exec","firstLine","secondLine","lineKey","_this$parameters$valu","trim","newValue","RephraseTester","detail","RephraseView","ParamToComponent","setPromptData","fetchPromptsFromTenant","fetchPromptParametersFromTenant","fetchAuthorizedLangsFromTenant","fetchTemplateParameters","promptID","newPrompts","changePromptID","getComponentName","templateId","componentData","pr","goodPrompt","goodTemplateParameters","promptToCreate","createPrompt","promptToUpdate","updatePrompt","promptToDelete","deletePrompt","cancel","TwoLinesList","MonitoringRoutes","topBarColor","userRoleDesc","avatarTitle","avatarLink","avatarAlt","avatarImg","_t","tab","feature","loggedUserFullname","loggedUserAvatarImg","loggedUserInitials","goToAvatarLink","avatarImgDisplay","menuFeatures","inverseColors","subtitleUrl","slot","nativeOn","AppMenuList","onLinkSelected","evt","AppAvatarBannerItem","getDefaultMenuAvatarImg","open","showModal","navigateToSubscription","AppSubscriptionAlert","closeModal","AppTopbar","getSubscription","loggedUserEmail","onSelectedTab","loggedUserTenantName","feats","panelWidth","drawer","activateAvatarBanner","AppHeaderLogo","imgName","AppSideNavigationMenu","_","onCollapsedMenuStateChanged","f","getAppSmallLogo","getAppLogo","AppHolygrailLayout","initials","toUpperCase","AppSnackBar","onSnackbarClosed","App","onUserAuthentifiedEvent","currentRoute","onViewError","onTenantName","initDefaultFilterValue","onAuthenticationDataChanged","setTenantName","mostImportantRole","getUserHighestRoleNameFromAuthorizedTenants","usrHighestAuth","featuresConfigService","dropdownMenuFeaturesTemp","sideMenuFeatures","timeZoneSecDelta","setUTCHours","computedDateFrom","fetchUsersForEmail","getSnackBarTimeout","PageNotFoundView","HomeView","UserAccountRoutes","VueRouter","base","getAppContext","routes","redirect","VueI18n","fallbackLocale","getDefaultLocale","silentFallbackWarn","silentTranslationWarn","Vuex","vuexPersist","VuexPersistence","storage","localStorage","Store","RESTORE_MUTATION","plugins","plugin","locales","en","es","fr","current","Vuetify","silent","icons","iconfont","theme","dark","themes","primary","accent","secondary","success","info","warning","light","productionTip","beforeEach","initFeaturesPermissionLevel","initRolesSpecificAuthorizations","vuetify","i18n","h","$mount","HighchartsVue"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASY,EAAe5B,GACvB,OAAOyB,EAAoBI,EAAI,OAAS,GAAG7B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,YAAYA,GAAW,MAIhH,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU+B,QAGnC,IAAIC,EAASJ,EAAiB5B,GAAY,CACzCK,EAAGL,EACHiC,GAAG,EACHF,QAAS,IAUV,OANAjB,EAAQd,GAAUW,KAAKqB,EAAOD,QAASC,EAAQA,EAAOD,QAASL,GAG/DM,EAAOC,GAAI,EAGJD,EAAOD,QAKfL,EAAoBQ,EAAI,SAAuBjC,GAC9C,IAAIkC,EAAW,GAKXC,EAAqBxB,EAAgBX,GACzC,GAA0B,IAAvBmC,EAGF,GAAGA,EACFD,EAAStB,KAAKuB,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAIC,SAAQ,SAASC,EAASC,GAC3CJ,EAAqBxB,EAAgBX,GAAW,CAACsC,EAASC,MAE3DL,EAAStB,KAAKuB,EAAmB,GAAKC,GAGtC,IACII,EADAC,EAASC,SAASC,cAAc,UAGpCF,EAAOG,QAAU,QACjBH,EAAOI,QAAU,IACbpB,EAAoBqB,IACvBL,EAAOM,aAAa,QAAStB,EAAoBqB,IAElDL,EAAOO,IAAMpB,EAAe5B,GAG5B,IAAIiD,EAAQ,IAAIC,MAChBV,EAAmB,SAAUW,GAE5BV,EAAOW,QAAUX,EAAOY,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAQ5C,EAAgBX,GAC5B,GAAa,IAAVuD,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYL,IAAyB,SAAfA,EAAMM,KAAkB,UAAYN,EAAMM,MAChEC,EAAUP,GAASA,EAAMQ,QAAUR,EAAMQ,OAAOX,IACpDC,EAAMW,QAAU,iBAAmB5D,EAAU,cAAgBwD,EAAY,KAAOE,EAAU,IAC1FT,EAAMY,KAAO,iBACbZ,EAAMQ,KAAOD,EACbP,EAAMa,QAAUJ,EAChBH,EAAM,GAAGN,GAEVtC,EAAgBX,QAAW+D,IAG7B,IAAIlB,EAAUmB,YAAW,WACxBxB,EAAiB,CAAEiB,KAAM,UAAWE,OAAQlB,MAC1C,MACHA,EAAOW,QAAUX,EAAOY,OAASb,EACjCE,SAASuB,KAAKC,YAAYzB,GAG5B,OAAOJ,QAAQ8B,IAAIjC,IAIpBT,EAAoB2C,EAAIvD,EAGxBY,EAAoB4C,EAAI1C,EAGxBF,EAAoB6C,EAAI,SAASxC,EAAS+B,EAAMU,GAC3C9C,EAAoB+C,EAAE1C,EAAS+B,IAClCtD,OAAOkE,eAAe3C,EAAS+B,EAAM,CAAEa,YAAY,EAAMC,IAAKJ,KAKhE9C,EAAoBmD,EAAI,SAAS9C,GACX,qBAAX+C,QAA0BA,OAAOC,aAC1CvE,OAAOkE,eAAe3C,EAAS+C,OAAOC,YAAa,CAAEC,MAAO,WAE7DxE,OAAOkE,eAAe3C,EAAS,aAAc,CAAEiD,OAAO,KAQvDtD,EAAoBuD,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQtD,EAAoBsD,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK5E,OAAO6E,OAAO,MAGvB,GAFA3D,EAAoBmD,EAAEO,GACtB5E,OAAOkE,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOtD,EAAoB6C,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR1D,EAAoB8D,EAAI,SAASxD,GAChC,IAAIwC,EAASxC,GAAUA,EAAOmD,WAC7B,WAAwB,OAAOnD,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAN,EAAoB6C,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR9C,EAAoB+C,EAAI,SAASgB,EAAQC,GAAY,OAAOlF,OAAOC,UAAUC,eAAeC,KAAK8E,EAAQC,IAGzGhE,EAAoBI,EAAI,IAGxBJ,EAAoBiE,GAAK,SAASC,GAA2B,MAApBC,QAAQ3C,MAAM0C,GAAYA,GAEnE,IAAIE,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjF,KAAK0E,KAAKO,GAC5CA,EAAWjF,KAAOf,EAClBgG,EAAaA,EAAWG,QACxB,IAAI,IAAI5F,EAAI,EAAGA,EAAIyF,EAAWvF,OAAQF,IAAKP,EAAqBgG,EAAWzF,IAC3E,IAAIU,EAAsBiF,EAI1B/E,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6EC5NT,W,oCCAA,Y,oCCAA,W,oCCAA,W,oCCAA,OAAe,cACb,uBAAwB,mBACxB,cAAe,aAGf,oBAAqB,UACrB,gBAAiB,KACjB,wBAAyB,WACzB,wBAAyB,gBACzB,qBAAqB,aAErB,6BAA8B,4BAC9B,+BAAgC,oDAChC,uCAAwC,oBACxC,2CAA4C,OAE5C,8BAA+B,cAC/B,8BAA+B,eAC/B,iCAAkC,mBAClC,+BAAgC,iBAEhC,6CAA8C,KAC9C,2CAA4C,KAC5C,8CAA+C,wBAC/C,uCAAwC,eACxC,qCAAsC,gBAEtC,yCAA0C,6DAC1C,2CAA4C,2EAC5C,sCAAuC,6DACvC,kCAAmC,6EACnC,mCAAoC,wGACpC,sCAAuC,8CACvC,uCAAwC,wBACxC,qCAAuC,wFACvC,wCAAyC,gFACzC,2CAA4C,qEAC5C,mCAAoC,yFAEpC,oCAAqC,yBAGrC,iBAAkB,UAClB,iBAAkB,UAClB,iBAAkB,OAClB,iBAAkB,QAClB,iBAAkB,MAClB,iBAAkB,OAClB,iBAAkB,UAClB,iBAAkB,OAClB,iBAAkB,YAClB,iBAAkB,UAClB,kBAAmB,WACnB,kBAAmB,a,6ECrDrBa,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,2CAA6CwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,eAEjH,GAAM,CACJ,2CAA6CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,eAEjH,GAAM,CACJ,2CAA6CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,kBAIrHL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,mMAC7BqF,EAAUC,QAAQM,Q,2DClB3B,OAAe,cACX,WAAY,UACZ,sBAAuB,+BAGvB,qCAAsC,gBACtC,gDAAiD,wBACjD,0CAA2C,kBAC3C,wCAAyC,sBAGzC,oCAAqC,oBACrC,oCAAqC,YAGrC,kBAAmB,gBACnB,wBAAyB,6BAGzB,qBAAsB,6BACtB,gBAAiB,sBACjB,oBAAqB,uBAGrB,iCAAkC,kFAClC,8BAA+B,gBAG/B,oBAAqB,yBAGrB,sCAAuC,oBACvC,+BAAgC,oBAChC,8BAA+B,cAC/B,oCAAqC,6CACrC,sCAAwC,kBACxC,gCAAiC,WACjC,gCAAiC,WAGjC,sCAAwC,oBACxC,4CAA6C,8BAC7C,8CAA+C,mDAC/C,+CAAgD,0DAChD,6CAA8C,WAC9C,8CAA+C,YAG/C,sCAAuC,eACvC,+BAAgC,eAChC,+BAAgC,qBAChC,qCAAsC,sCACtC,kCAAmC,aACnC,wCAAyC,iJACzC,0CAA2C,uBAC3C,gDAAiD,gCACjD,mCAAoC,SACpC,kCAAmC,WACnC,sCAAwC,kBACxC,iCAAmC,WACnC,kCAAmC,eACnC,kCAAmC,qBACnC,gCAAiC,WACjC,gCAAiC,QACjC,+CAAgD,6CAChD,kDAAmD,4CACnD,mCAAoC,mBAGpC,8BAA+B,qBAC/B,qCAAsC,oBACtC,oCAAqC,aACrC,mCAAoC,kBACpC,gCAAiC,WACjC,iCAAkC,eAClC,wCAAyC,mBACzC,kCAAmC,SACnC,kCAAmC,QACnC,oCAAqC,WACrC,kCAAmC,UAGnC,gCAAiC,wCACjC,6BAA8B,sIAC9B,sCAAuC,sCACvC,mCAAoC,iIACpC,gCAAiC,8CACjC,6BAA8B,mIAG9B,sCAAuC,2EACvC,4CAA6C,4DAC7C,sCAAuC,wEACvC,uCAAwC,gDACxC,uCAAwC,SAGxC,oCAAqC,sBACrC,mCAAoC,QACpC,0BAA2B,iBAC3B,4BAA6B,SAC7B,gCAAiC,wBACjC,kCAAmC,+BACnC,iCAAmC,yBAGnC,wCAAyC,sBACzC,0CAA2C,0KAC3C,wCAAyC,SAGzC,4DAA6D,aAC7D,4DAA6D,aAC7D,wDAAyD,WAGzD,0DAA2D,0BAC3D,mDAAoD,iCACpD,0DAA2D,qCAC3D,uDAAwD,+BACxD,sDAAuD,yBACvD,6DAA8D,2BAG9D,iCAAkC,wBAClC,iCAAkC,wBAClC,6BAA8B,sBAC9B,4CAA6C,gCAC7C,qCAAsC,yBACtC,4CAA6C,6BAC7C,sCAAuC,+BACvC,oCAAqC,yDACrC,2CAA4C,2DAG5C,yCAA0C,wDAC1C,2CAA4C,wDAC5C,sCAAuC,8DACvC,kCAAmC,qFACnC,mCAAoC,mFACpC,sCAAuC,yFACvC,uCAAwC,8FACxC,gDAAkD,oFAClD,qCAAuC,wFACvC,2CAA4C,gFAC5C,wCAAyC,gFACzC,mDAAoD,8EACpD,2CAA4C,gFAC5C,mCAAoC,4GACpC,wCAAyC,4FACzC,+BAAiC,yHAGjC,wBAA0B,a,oCCzJ9B,W,gFCAA,8CAAM,MAAOC,EAMF,0BAA0BC,GAC7B,OAAOC,EAAOC,KAAKC,KAAKC,UAAUJ,IAAMK,SAAS,UAQ9C,0BAA0BC,GAC7B,MAAMC,EAAqBN,EAAOC,KAAKI,EAAY,UAAUD,SAAS,SACtE,OAAOF,KAAKK,MAAMD,O,iECjB1B,yBAA6S,eAAG,G,kCCAhT,W,qBCAAlF,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,2BAA6BwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,mFAEjG,GAAM,CACJ,2BAA6BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,oFAEjG,GAAM,CACJ,2BAA6BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,+FAIrGL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,yWAC7BqF,EAAUC,QAAQM,Q,8CClB3BzE,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,qCAAuCwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,gDAE3G,GAAM,CACJ,qCAAuCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,kCAE3G,GAAM,CACJ,qCAAuCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,0CAI/GL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,6PAC7BqF,EAAUC,QAAQM,Q,sDClB3B,yBAA4R,eAAG,G,oCCA/R,W,kCCAA,yBAAwR,eAAG,G,6DCA3R,W,sDCAA,yBAAkS,eAAG,G,qBCArS,IAAIW,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,WAAY,OACZ,cAAe,OACf,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,WAAY,OACZ,cAAe,OACf,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,QAAS,OACT,aAAc,OACd,gBAAiB,OACjB,WAAY,OACZ,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,QAIf,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAO5F,EAAoB6F,GAE5B,SAASC,EAAsBF,GAC9B,IAAI5F,EAAoB+C,EAAE2C,EAAKE,GAAM,CACpC,IAAIpF,EAAI,IAAIiB,MAAM,uBAAyBmE,EAAM,KAEjD,MADApF,EAAEuF,KAAO,mBACHvF,EAEP,OAAOkF,EAAIE,GAEZD,EAAeK,KAAO,WACrB,OAAOlH,OAAOkH,KAAKN,IAEpBC,EAAe9E,QAAUiF,EACzBxF,EAAOD,QAAUsF,EACjBA,EAAeE,GAAK,Q,4JCvSpB,IAAIH,EAAM,CACT,UAAW,OACX,UAAW,OACX,UAAW,OACX,aAAc,QAIf,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAO5F,EAAoB6F,GAE5B,SAASC,EAAsBF,GAC9B,IAAI5F,EAAoB+C,EAAE2C,EAAKE,GAAM,CACpC,IAAIpF,EAAI,IAAIiB,MAAM,uBAAyBmE,EAAM,KAEjD,MADApF,EAAEuF,KAAO,mBACHvF,EAEP,OAAOkF,EAAIE,GAEZD,EAAeK,KAAO,WACrB,OAAOlH,OAAOkH,KAAKN,IAEpBC,EAAe9E,QAAUiF,EACzBxF,EAAOD,QAAUsF,EACjBA,EAAeE,GAAK,Q,oCCzBpB,W,oCCAA,W,oCCAA,W,uBCAA,IAAIH,EAAM,CACT,UAAW,OACX,UAAW,OACX,UAAW,QAIZ,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAO5F,EAAoB6F,GAE5B,SAASC,EAAsBF,GAC9B,IAAI5F,EAAoB+C,EAAE2C,EAAKE,GAAM,CACpC,IAAIpF,EAAI,IAAIiB,MAAM,uBAAyBmE,EAAM,KAEjD,MADApF,EAAEuF,KAAO,mBACHvF,EAEP,OAAOkF,EAAIE,GAEZD,EAAeK,KAAO,WACrB,OAAOlH,OAAOkH,KAAKN,IAEpBC,EAAe9E,QAAUiF,EACzBxF,EAAOD,QAAUsF,EACjBA,EAAeE,GAAK,Q,oCCxBpB,W,oDCAA,W,6GCAA,W,kCCAA,yBAA2R,eAAG,G,oCCA9R,W,4CCAAvF,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,2CAA6CwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,6DAC/G,kCAAoCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,yCACtG,kCAAoCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,qCACtG,4CAA8CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,8CAChH,kDAAoDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,8CACtH,0CAA4CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,gDAEhH,GAAM,CACJ,2CAA6CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,0BAC/G,kCAAoCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,wBACtG,kCAAoCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,6BACtG,4CAA8CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,+BAChH,kDAAoDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,2CACtH,0CAA4CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,uCAEhH,GAAM,CACJ,2CAA6CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,4BAC/G,kCAAoCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,4BACtG,kCAAoCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,qCACtG,4CAA8CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,8BAChH,kDAAoDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,qDACtH,0CAA4CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,0CAIpHL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,83CAC7BqF,EAAUC,QAAQM,Q,oCCjC3B,OAAe,cACX,WAAY,UACZ,sBAAuB,4BAGvB,qCAAsC,iBACtC,gDAAiD,uBACjD,0CAA2C,sBAC3C,wCAAyC,mBAGzC,iCAAkC,2BAClC,oCAAqC,iCACrC,oCAAqC,aAGrC,kBAAmB,iBACnB,wBAAyB,uBAGzB,gBAAiB,UACjB,qBAAsB,sCACtB,gBAAiB,0BACjB,oBAAqB,sBACrB,oBAAqB,2BAGrB,iCAAkC,mFAClC,8BAA+B,cAG/B,oBAAqB,wBAGrB,sCAAwC,yBACxC,4CAA6C,8BAC7C,8CAA+C,uDAC/C,+CAAgD,wDAChD,6CAA8C,UAC9C,8CAA+C,YAG/C,sCAAuC,4BACvC,+BAAgC,4BAChC,8BAA+B,cAC/B,oCAAqC,mBACrC,sCAAwC,kBACxC,gCAAiC,UACjC,gCAAiC,WAGjC,uCAAyC,iCACzC,+CAAiD,oCACjD,mDAAqD,iCACrD,gDAAkD,4CAClD,uCAAyC,SAGzC,sCAAuC,yBACvC,+BAAgC,qBAChC,+BAAgC,QAChC,qCAAsC,iBACtC,kCAAmC,eACnC,wCAAyC,4HACzC,0CAA2C,+BAC3C,gDAAiD,yCACjD,mCAAoC,SACpC,kCAAmC,MACnC,sCAAwC,kBACxC,iCAAkC,UAClC,kCAAmC,eACnC,kCAAmC,qBACnC,gCAAiC,UACjC,gCAAiC,QACjC,+CAAgD,+CAChD,kDAAmD,2DACnD,mCAAoC,0BAGpC,wCAAyC,iCACzC,0CAA2C,0LAC3C,wCAAyC,SAGzC,8BAA+B,QAC/B,qCAAsC,mBACtC,oCAAqC,uBACrC,mCAAoC,kBACpC,gCAAiC,UACjC,iCAAkC,eAClC,wCAAyC,oBACzC,kCAAmC,UACnC,kCAAmC,SACnC,oCAAqC,UACrC,kCAAmC,cAGnC,gCAAiC,wCACjC,6BAA8B,yIAC9B,sCAAuC,yCACvC,mCAAoC,kKACpC,gCAAiC,2CACjC,6BAA8B,kJAG9B,sCAAuC,kEACvC,4CAA6C,mDAC7C,sCAAuC,yEACvC,uCAAwC,oDACxC,uCAAwC,SAIxC,oCAAqC,wBACrC,mCAAoC,OACpC,0BAA2B,iBAC3B,4BAA6B,aAC7B,gCAAiC,sBACjC,kCAAmC,0BACnC,iCAAmC,uBAGnC,4DAA6D,cAC7D,4DAA6D,cAC7D,wDAAyD,UAGzD,0DAA2D,yBAC3D,mDAAoD,6BACpD,0DAA2D,mCAC3D,uDAAwD,4BACxD,sDAAuD,4BACvD,6DAA8D,4BAG9D,iCAAkC,wBAClC,iCAAkC,yBAClC,6BAA8B,qBAC9B,4CAA6C,4BAC7C,qCAAsC,uBACtC,4CAA6C,4BAC7C,sCAAuC,gCACvC,oCAAqC,0DACrC,2CAA4C,uDAG5C,+BAAgC,6EAChC,yCAA0C,6DAC1C,2CAA4C,2EAC5C,sCAAuC,6DACvC,kCAAmC,6EACnC,mCAAoC,wGACpC,sCAAuC,mGACvC,uCAAwC,mEACxC,gDAAkD,4FAClD,qCAAuC,wFACvC,2CAA4C,4EAC5C,mDAAoD,yEACpD,wCAAyC,gFACzC,2CAA4C,qEAC5C,mCAAoC,yFACpC,qCAAsC,qHACtC,wCAAyC,qFACzC,+BAAiC,0GACjC,qCAAuC,6FAGvC,wBAA0B,Y,kJCnK9B,MAAMkB,EAAgB,GAChBC,EAAWC,UACXC,EAAWD,UAEjBC,EAASJ,OAAOK,QAAQzC,IACtB,GAAY,eAARA,EACJ,IACEqC,EAASrC,EAAI0C,QAAQ,eAAgB,KAAOxH,OAAOyH,OAAO,GAAIL,EAAStC,GAAK4C,QAASJ,EAASxC,GAAK4C,SACnG,MAAMtC,OAKV,MAAMuC,EAAY3H,OAAOkH,KAAKC,I,oCCjB9B,W,oCCAA,W,oGCAA,yBAAgS,eAAG,G,kCCAnS,W,oCCAA,W,qBCAA3F,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,kCAAoCwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,kBAExG,GAAM,CACJ,kCAAoCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,qBAExG,GAAM,CACJ,kCAAoCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,wBAI5GL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,uLAC7BqF,EAAUC,QAAQM,Q,+EClB3B,OAAe,cACX,WAAY,UACZ,sBAAuB,oBAGvB,qCAAsC,gBACtC,gDAAiD,eACjD,0CAA2C,eAC3C,wCAAyC,mBAGzC,oCAAqC,cACrC,oCAAqC,aAGrC,kBAAmB,SACnB,wBAAyB,yBAGzB,qBAAsB,iBACtB,gBAAiB,gBACjB,oBAAqB,sBAGrB,iCAAkC,yEAClC,8BAA+B,aAG/B,oBAAqB,wBAGrB,sCAAuC,eACvC,+BAAgC,+BAChC,8BAA+B,gBAC/B,oCAAqC,uBACrC,sCAAwC,eACxC,gCAAiC,SACjC,gCAAiC,SAGjC,sCAAwC,eACxC,4CAA6C,wBAC7C,8CAA+C,8CAC/C,+CAAgD,gDAChD,6CAA8C,SAC9C,8CAA+C,UAG/C,sCAAuC,iBACvC,+BAAgC,uBAChC,+BAAgC,QAChC,qCAAsC,yBACtC,kCAAmC,WACnC,wCAAyC,kIACzC,0CAA2C,mBAC3C,gDAAiD,0BACjD,mCAAoC,aACpC,kCAAmC,YACnC,sCAAwC,eACxC,iCAAkC,UAClC,kCAAmC,WACnC,kCAAmC,YACnC,gCAAiC,SACjC,gCAAiC,SACjC,+CAAgD,mDAChD,kDAAmD,uDACnD,mCAAoC,mBAGpC,wCAAyC,oCACzC,0CAA2C,gKAC3C,wCAAyC,QAGzC,8BAA+B,QAC/B,qCAAsC,gBACtC,oCAAqC,WACrC,mCAAoC,eACpC,gCAAiC,UACjC,iCAAkC,WAClC,wCAAyC,kBACzC,kCAAmC,OACnC,kCAAmC,OACnC,oCAAqC,SACrC,kCAAmC,OAGnC,gCAAiC,4CACjC,6BAA8B,6HAC9B,sCAAuC,+BACvC,mCAAoC,qIACpC,gCAAiC,+CACjC,6BAA8B,mIAG9B,sCAAuC,sDACvC,4CAA6C,8CAC7C,sCAAuC,+DACvC,uCAAwC,4CACxC,uCAAwC,QAGxC,oCAAqC,iBACrC,mCAAoC,MACpC,0BAA2B,iBAC3B,4BAA6B,SAC7B,gCAAiC,0BACjC,kCAAmC,8BACnC,iCAAmC,0BAGnC,4DAA6D,WAC7D,4DAA6D,aAC7D,wDAAyD,SAGzD,0DAA2D,sBAC3D,mDAAoD,4BACpD,0DAA2D,gCAC3D,uDAAwD,sBACxD,sDAAuD,qBACvD,6DAA8D,yBAG9D,iCAAkC,kBAClC,iCAAkC,oBAClC,6BAA8B,gBAC9B,4CAA6C,sBAC7C,qCAAsC,kBACtC,4CAA6C,sBAC7C,sCAAuC,iCACvC,oCAAqC,kCACrC,2CAA4C,oCAG5C,yCAA0C,6CAC1C,2CAA4C,6CAC5C,sCAAuC,qDACvC,kCAAmC,8DACnC,mCAAoC,2DACpC,sCAAuC,8EACvC,uCAAwC,gDACxC,gDAAkD,qEAClD,qCAAuC,kEACvC,2CAA4C,8DAC5C,wCAAyC,oEACzC,mDAAoD,gFACpD,2CAA4C,2DAC5C,mCAAoC,qEACpC,wCAA0C,yDAC1C,+BAAiC,2GAGjC,wBAA0B,Y,mCCzJ9B,W,qBCAAzE,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,wCAA0CwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,4CAE9G,GAAM,CACJ,wCAA0CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,qCAE9G,GAAM,CACJ,wCAA0CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,0CAIlHL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,qQAC7BqF,EAAUC,QAAQM,Q,oCClB3B,W,sJCAA,W,2DCAA,yBAAuR,eAAG,G,6DCA1R,OAAe,cACb,uBAAwB,QACxB,cAAe,UAGf,oBAAqB,SACrB,gBAAgB,KAChB,wBAAwB,aACxB,wBAAwB,aACxB,qBAAqB,UAErB,6BAA8B,oBAC9B,+BAAgC,4BAChC,uCAAwC,iBACxC,2CAA4C,MAE5C,8BAA+B,QAC/B,8BAA+B,QAC/B,iCAAkC,eAClC,+BAAgC,aAEhC,6CAA8C,OAC9C,2CAA4C,KAC5C,8CAA+C,kBAC/C,uCAAwC,cACxC,qCAAsC,YAEtC,yCAA0C,6CAC1C,2CAA4C,6CAC5C,sCAAuC,oDACvC,kCAAmC,6DACnC,mCAAoC,0DACpC,sCAAuC,6EACvC,uCAAwC,wBACxC,qCAAuC,iEACvC,wCAAyC,mEACzC,2CAA4C,0DAC5C,mCAAoC,qEAEpC,oCAAqC,aAGrC,iBAAkB,UAClB,iBAAkB,WAClB,iBAAkB,QAClB,iBAAkB,QAClB,iBAAkB,MAClB,iBAAkB,OAClB,iBAAkB,OAClB,iBAAkB,SAClB,iBAAkB,YAClB,iBAAkB,UAClB,kBAAmB,WACnB,kBAAmB,a,sFCrDrB,yBAA+R,eAAG,G,oCCAlS,W,mBCAAzE,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,mCAAqCwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,YAEzG,GAAM,CACJ,mCAAqCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,YAEzG,GAAM,CACJ,mCAAqCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,gBAI7GL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,mKAC7BqF,EAAUC,QAAQM,Q,yDClB3B,W,kCCAA,yBAAmR,eAAG,G,iECAtRzE,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,oBAAsBwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,SACxF,2BAA6BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,iBAC/F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,WAC1F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,iBAC1F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,aAC1F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,eAC1F,2BAA6BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,YAC/F,8BAAgCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,2EAClG,iCAAmCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,gFACrG,iCAAmCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,8EACrG,6BAA+BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,YACjG,gCAAkCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,kDACpG,mCAAqCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,wDACvG,mCAAqCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,sDACvG,gDAAkDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,iCACpH,kDAAoDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,8DACtH,iDAAmDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,aACrH,kDAAoDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,gBAExH,GAAM,CACJ,oBAAsBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,UACxF,2BAA6BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,iBAC/F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,YAC1F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,UAC1F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,YAC1F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,YAC1F,2BAA6BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,WAC/F,8BAAgCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,yDAClG,iCAAmCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,uDACrG,iCAAmCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,yDACrG,6BAA+BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,aACjG,gCAAkCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,kDACpG,mCAAqCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,kDACvG,mCAAqCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,kDACvG,gDAAkDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,2BACpH,kDAAoDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,oDACtH,iDAAmDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,YACrH,kDAAoDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,cAExH,GAAM,CACJ,oBAAsBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,cACxF,2BAA6BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,iBAC/F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,WAC1F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,aAC1F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,cAC1F,sBAAwBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,YAC1F,2BAA6BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,WAC/F,8BAAgCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,oEAClG,iCAAmCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,oEACrG,iCAAmCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,oEACrG,6BAA+BF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,WACjG,gCAAkCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,kDACpG,mCAAqCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,uDACvG,mCAAqCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,qDACvG,gDAAkDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,iCACpH,kDAAoDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,+DACtH,iDAAmDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,cACrH,kDAAoDF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,mBAI5HL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,kyGAC7BqF,EAAUC,QAAQM,Q,mBCrE3BzE,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,8BAAgCwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,wCAEpG,GAAM,CACJ,8BAAgCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,6BAEpG,GAAM,CACJ,8BAAgCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,6CAIxGL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,+NAC7BqF,EAAUC,QAAQM,Q,mCClB3B,W,kCCAA,W,iFCAA,W,kCCAA,W,kCCAA,yBAA+S,eAAG,G,kCCAlT,OAAe,cACb,uBAAwB,WACxB,cAAe,UAEf,oBAAqB,WACrB,gBAAiB,KACjB,wBAAwB,eACxB,wBAAwB,gBACxB,qBAAqB,YAErB,6BAA8B,2BAC9B,+BAAgC,uCAChC,uCAAwC,uBACxC,2CAA4C,QAE5C,8BAA+B,UAC/B,8BAA+B,WAC/B,iCAAkC,uBAClC,+BAAgC,2BAEhC,6CAA8C,MAC9C,2CAA4C,KAC5C,8CAA+C,uBAC/C,uCAAwC,gBACxC,qCAAsC,eAEtC,yCAA0C,wDAC1C,2CAA4C,wDAC5C,sCAAuC,8DACvC,kCAAmC,qFACnC,mCAAoC,mFACpC,sCAAuC,yFACvC,uCAAwC,8FACxC,qCAAuC,wFACvC,wCAAyC,gFACzC,2CAA4C,gFAC5C,mCAAoC,4GAEpC,oCAAqC,qBAGrC,iBAAkB,QAClB,iBAAkB,UAClB,iBAAkB,QAClB,iBAAkB,QAClB,iBAAkB,OAClB,iBAAkB,QAClB,iBAAkB,QAClB,iBAAkB,SAClB,iBAAkB,aAClB,iBAAkB,UAClB,kBAAmB,YACnB,kBAAmB,c,mBCpDrBzE,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,yCAA2CwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,gCAC7G,sCAAwCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,+DAE5G,GAAM,CACJ,yCAA2CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,yBAC7G,sCAAwCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,mDAE5G,GAAM,CACJ,yCAA2CF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,+BAC7G,sCAAwCF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,uDAIhHL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,ufAC7BqF,EAAUC,QAAQM,Q,kCCrB3B,W,mBCAAzE,EAAOD,QAAU,SAAUmE,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAOvF,KAAK,CAC5B,OAAU,GACV,SAAY,CACV,GAAM,CACJ,mBAAqBwF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,saAEzF,GAAM,CACJ,mBAAqBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,2UAEzF,GAAM,CACJ,mBAAqBF,IAAS,MAAQC,UAAWC,GAAeF,EAAI,OAAOE,EAAW,CAAC,uXAI7FL,EAAUC,QAAQK,aAAeN,EAAUC,QAAQK,cAAgB,GACnEN,EAAUC,QAAQK,aAAa3F,KAAK,qrCAC7BqF,EAAUC,QAAQM,Q,yFClBiB2B,EAAOC,W,IAASC,EAAM,KAAuB,EAAOF,EAAG,MAAO,GAAS,oB,OAAuB,EAAC,Q,MAAK,CAAC,kBAAK,OAAIA,GAAG,QAAiDG,GAAK,uBAAC,C,MAAC,mB,MAAuB,CAAuB,qBAACC,eAAmB,O,YAAmB,KAAU,E,IAAC,UAA0B,GAAC,WAACC,MAAM,oBAAWC,OAAIC,OAA0C,gBAAe,mB,MAAC,CAAa,MAAOD,QAAqC,OAAS,EAAoB,sCAAG,QAAU,EAAG,mBAElgBE,Y,iECFE,MAAOC,EAUXC,YAAmB9D,EACA+D,GAAaC,eAAA,qBAAAA,eAAA,qBADb,KAAAhE,QACA,KAAA+D,SCPf,MAAOE,EAaXH,YAAmBI,EACAC,EACAC,EAAgB,GAChBC,EAAqB,EACrBC,EAAwB,GACxBC,EAA4B,EAC5BC,EAAiD,IAAER,eAAA,qBAAAA,eAAA,wBAAAA,eAAA,qBAAAA,eAAA,0BAAAA,eAAA,6BAAAA,eAAA,iCAAAA,eAAA,iCANnD,KAAAE,QACA,KAAAC,WACA,KAAAC,QACA,KAAAC,aACA,KAAAC,gBACA,KAAAC,oBACA,KAAAC,qB,8CCff,MAAOC,EAOJ,0BAA2BC,EAAmCC,GAInE,GAAIA,GAAeD,EAAe,CAChC,MAAME,EAA0BlD,QAAemD,mBAAmBF,GAE5DG,EAAiBJ,EAAgD,IAAhCE,EAAmBG,WACpDC,EAAeC,KAAKC,MAAQJ,EAClC,OAAOE,GAUJ,2BAA4BN,EAAmCC,GAGpE,QAAoB3F,IAAhB2F,GAA6BD,EAAe,CAC9C,MAAME,EAA0BlD,QAAemD,mBAAmBF,GAG5DQ,EAAaP,EAAmBQ,mBAA+D,IAAxCR,EAAmBQ,mBAA4B,IAChDC,EAAcC,wCAI1E,OAAQL,KAAKC,MAASR,EAAgBS,GASnC,iCAAkCI,GAIvC,YAHsCvG,IAAlCuG,EAAWH,qBACbG,EAAWH,oBAAqB,IAAIH,MAAOO,UAAYH,EAAcC,yCAEhE5D,QAAe+D,mBAAmBF,GAOpC,qBAAsBZ,GAC3B,OAAOjD,QAAemD,mBAAmBF,GAQpC,sBAAuBA,GAC5B,OAAOjD,QAAemD,mBAAmBF,GAAae,aAOjD,kBAAmBf,GACxB,OAAOjD,QAAemD,mBAAmBF,GAAagB,SAOjD,uBAAwBhB,GAC7B,OAAOjD,QAAemD,mBAAmBF,GAAaiB,cAOjD,4CAA6CC,GAClD,MAAMC,EAAoBC,eAAsBF,GAChD,IAAKC,EACH,MAAM,IAAI3H,MAAM,sCACX,GAAI2H,EAAaE,MAAO,CAC7B,MAAMC,EAAe,CACG1D,GAAIuD,EAAaI,IACjBF,MAAOF,EAAaE,MACpBG,UAAWL,EAAaM,WACxBC,SAAUP,EAAaQ,YACvBC,MAAOT,EAAaE,MACpBQ,aAAcV,EAAaW,IAC3BC,UAAWZ,EAAaa,WACxBC,mBAAoBd,EAAae,oBACjCC,eAAiBhB,EAAaiB,iBAEpD,OAAOd,GAUN,sCAAuCJ,GAC5C,MAAMC,EAAoBC,eAAsBF,GAChD,IAAKC,EACH,MAAM,IAAI3H,MAAM,sCACX,GAAI2H,EAAaE,MAAO,CAI7B,MAAMgB,EAAiBlB,EAAaT,EAAc4B,2BAA6B5B,EAAc6B,uBAC7F,IAAIC,EAAkB,GAEtB,GAAIrB,EAAasB,cAAgBtB,EAAasB,aAAaC,MACzD,GAAIC,MAAMC,QAAQzB,EAAasB,aAAaC,OAAQ,CAClD,MAAMG,EAAuB1B,EAAasB,aAAaC,MACvDG,EAAWzE,QAAS0E,IACbN,EAAWH,GAGdG,EAAWH,GAAQnL,KAAK4L,GAFxBN,EAAWH,GAAU,CAACS,UAM1BN,EAAarB,EAAasB,aAAaC,WAEhChC,EAAcqC,0BAA0BnM,OAAS,IAC1D4L,EAAWH,GAAU,CAAC3B,EAAcqC,4BAEtC,OAAOhG,QAAe+D,mBAAmB0B,IAStC,sBAAuBtB,GAC5B,MAAMC,EAAoBC,eAAsBF,GAChD,IAAKC,EACH,MAAM,IAAI3H,MAAM,sCAElB,OAAO2H,EAAaI,IAOf,8BAA+BL,GACpC,MAAMC,EAAoBC,eAAsBF,GAChD,IAAKC,EACH,MAAM,IAAI3H,MAAM,sCAElB,OAAO2H,EAAaiB,gBAOf,0BAA2BpC,GAChC,MAAMkB,EAAsBpB,EAAckD,eAAehD,GACnDmB,EAAoBC,eAAsBF,GAChD,IAAKC,EACH,MAAM,IAAI3H,MAAM,sCAElB,OAAO2H,EAAaT,EAAc4B,2BAA6B5B,EAAc6B,uBAWxE,mDAAmDU,EAAoCC,GAC5F,GAAKD,EAEE,CACH,MAAME,EAA0B,GAChC,IAAIC,EAAsB1C,EAAcqC,0BAsBxC,OArBAlM,OAAOwM,oBAAoBJ,GAAmB7E,QAASzC,IACnD,IAA2B,IAAvBA,EAAI2H,QAAQ,MAAc,CAE1B,MAAMC,EAAsBN,EAAkBtH,GAC1CgH,MAAMC,QAAQW,GACdA,EAAenF,QAASoF,IAChBN,EAAUM,IAASN,EAAUE,KAC7BA,EAAcI,KAItBJ,EAAcG,EAElBJ,EAAcjM,KAAKkM,MAG3BD,EAAc/E,QAASoF,IACfN,EAAUM,IAASN,EAAUE,KAC7BA,EAAcI,KAGfJ,EAzBP,OAAO1C,EAAcqC,2B,qCCjMvB,MAAOU,EAkBF,0BACL,OAAOC,IAAMhI,OAAO,CAAEiI,QAASjD,EAAckD,qBAAsBzK,QAASuH,EAAcmD,4BAC7E5I,IAAI,mCAAoC,CAAE6I,QAASL,EAAsBM,iBASjF,0BAA2BC,EAAuBC,GAClDR,EAAsBS,gBACzBT,EAAsBS,cAAgBR,IAAMhI,OAAO,CACjDiI,QAASjD,EAAckD,qBACvBzK,QAASuH,EAAcmD,6BAE3B,MAAMM,EAAsCzD,EAAc0D,yBACpDC,OAAuChK,IAApB8J,GAAiCA,EAAgBvN,OAAS,EAAK6M,EAAsBM,eACtBN,EAAsBa,YAC9G,OAAOb,EAAsBS,cAAcK,KAAKP,EAAe5G,uBAAU6G,GAAS,CAAEH,QAASO,IASxF,oBAAqBL,EAAuBQ,GAE5Cf,EAAsBS,gBACzBT,EAAsBS,cAAgBR,IAAMhI,OAAO,CACjDiI,QAASjD,EAAckD,qBACvBzK,QAASuH,EAAcmD,6BAG3B,MAAMI,EAAc,CACEQ,WAAY,gBACZxD,cAAeuD,EACfE,UAAWhE,EAAciE,qBAGzCR,EAAsCzD,EAAc0D,yBACpDC,OAAuChK,IAApB8J,GAAiCA,EAAgBvN,OAAS,EAAK6M,EAAsBM,eACtBN,EAAsBa,YAC9G,OAAOb,EAAsBS,cAAcK,KAAKP,EAAe5G,uBAAU6G,GAAS,CAAEH,QAASO,IASxF,kBAAmBO,EAA4BC,GAE/CpB,EAAsBS,gBACzBT,EAAsBS,cAAgBR,IAAMhI,OAAO,CACjDiI,QAASjD,EAAckD,qBACvBzK,QAASuH,EAAcmD,6BAG3B,IAAIiB,EAAa,GAAGF,mBAAoCC,IACxD,MAAMV,EAAsCzD,EAAc0D,yBAC1DU,QAA4BzK,IAApB8J,GAAiCA,EAAgBvN,OAAS,EAAM,iBAAiB8J,EAAcqE,6BAC/B,6BAA6BrE,EAAcqE,6BACnH,MAAMV,OAAuChK,IAApB8J,GAAiCA,EAAgBvN,OAAS,EAAK6M,EAAsBM,eACtBN,EAAsBa,YAC9G,OAAOb,EAAsBS,cAAcjJ,IAAI6J,EAAK,CAAEhB,QAASO,K,eAvFxDZ,EAAqB,wBAAApE,eAArBoE,EAAqB,iBAEO,CACnC,OAAU,MACV,eAAgB,sCACjBpE,eALQoE,EAAqB,cAOI,CAChC,OAAU,MACV,eAAgB,oCAChB,8BAA+B,IAC/B,+BAAgC,0DAChC,mCAAoC,SCRpC,MAAOuB,EAYT7F,YAAY8F,EAAoB9L,EAAiB+L,GAAY7F,eAAA,6BAAAA,eAAA,8BAE3D8F,KAAKpB,eAAiBmB,GAAkB,CACtC,eAAgB,oBAGlBC,KAAKjB,cAAgBR,IAAMhI,OAAO,CAAEiI,QAASsB,EAAY9L,QAASA,IAUpE,iCAAiCI,EAAYiL,GAC3CtI,QAAQkJ,IAAI,0BACZ,MAAMC,EAAkB9L,EAAM+L,OAC9B,GAAId,GAAqC,0CAArBjL,EAAMgM,YACjBF,IAAoBA,EAAgBG,QACpCjM,EAAMkM,WAAuC,MAA1BlM,EAAMkM,SAASC,QAA4C,MAA1BnM,EAAMkM,SAASC,QAAiB,CAG3FL,EAAgBG,QAAS,EAGzB,MAAOG,EAAiBF,SAAuDG,EAC3EnC,EAAsBe,aAAa9D,EAAcmF,mBAAoBrB,IAEzE,GAAImB,EAEF,OAAOhN,QAAQE,OAAO8M,GAGxB,GAAIF,EAAU,CACZ,MAAMK,EAA6BhG,EAAciG,0BAA0BN,GAK3E,OAJAO,GAASC,MAAM,0BAA2BH,GAG1CpC,IAAMwC,SAASpC,QAAQqC,OAAO,iBAAmB,UAAYV,EAAS1E,aAC/DoE,KAAKjB,cAAcmB,IAG9B,OAAO1M,QAAQE,OAAOU,GASf6M,kBAAkBd,EAA4Be,GACrDf,EAAOxB,QAAU,IAAKwB,EAAOxB,QAAS,cAAiB,UAAUuC,GAY5DpL,IAAIqL,EAAcD,EAAe7B,EAAuBV,GAC7D,MAAMO,EAAiCP,GAAoB,CAAEA,QAASqB,KAAKpB,gBAO3E,OANAoB,KAAKiB,kBAAkB/B,EAAYgC,GAEnClB,KAAKjB,cAAcqC,aAAad,SAASe,IACtCf,GAAkBA,EACnBgB,SAAsBtB,KAAKuB,2BAA2BnN,EAAOiL,IAExDW,KAAKjB,cAAcjJ,IAAIqL,EAAMjC,GAa/BE,KAAK+B,EAAcD,EAAe7B,EAAuBP,EAAcH,GAC5E,MAAMO,EAAiCP,GAAoB,CAAEA,QAASqB,KAAKpB,gBAO3E,OANAoB,KAAKiB,kBAAkB/B,EAAYgC,GAEnClB,KAAKjB,cAAcqC,aAAad,SAASe,IACtCf,GAAkBA,EACnBgB,SAAsBtB,KAAKuB,2BAA2BnN,EAAOiL,IAExDW,KAAKjB,cAAcK,KAAK+B,EAAMrC,EAAQI,GAaxCsC,IAAIL,EAAcD,EAAe7B,EAAuBP,EAAcH,GAC3E,MAAMO,EAAiCP,GAAoB,CAAEA,QAASqB,KAAKpB,gBAO3E,OANAoB,KAAKiB,kBAAkB/B,EAAYgC,GAEnClB,KAAKjB,cAAcqC,aAAad,SAASe,IACtCf,GAAkBA,EACnBgB,SAAsBtB,KAAKuB,2BAA2BnN,EAAOiL,IAExDW,KAAKjB,cAAcyC,IAAIL,EAAMrC,EAAQI,GAYvCuC,OAAON,EAAcD,EAAe7B,EAAuBV,GAChE,MAAMO,EAAiCP,GAAoB,CAAEA,QAASqB,KAAKpB,gBAO3E,OANAoB,KAAKiB,kBAAkB/B,EAAYgC,GAEnClB,KAAKjB,cAAcqC,aAAad,SAASe,IACtCf,GAAkBA,EACnBgB,SAAsBtB,KAAKuB,2BAA2BnN,EAAOiL,IAExDW,KAAKjB,cAAc0C,OAAON,EAAMjC,I,yBClEtC,MAAMwC,EAA8B,CAEzCC,kBAAiB,OAAEC,EAAM,MAAEC,EAAK,SAAEC,IAAY,IAAEC,EAAG,mBAAEC,EAAkB,aAAEC,IACvE,IACE,MAAMC,EAA2CvH,EAAcuH,oBAAoBL,EAAMM,MAAON,EAAM5Q,WACnFiE,IAAf2M,EAAM5Q,WAA+BiE,IAAR6M,QAAkC7M,GAAb2M,EAAME,KAG1DH,EAAO,+BAAgCG,GACvCD,EAAS,2BAA4B,CAAEG,gBAAgB,CAAEG,MAAM,KAErDJ,EAYVnB,GAASC,MAAM,mBAAoBmB,GAPjCH,EADEI,EACO,uBAGA,2BAHwB,CAAED,gBAAgB,CAAEG,MAAM,IAU/D,MAAMhO,GACN,MAAM0C,EAAsB,IAAIuL,EAAe,mCAAoCjO,GACnF0N,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,MAIzDE,sBAAqB,MAAET,IACrB,GAAI5K,OAAOsL,QAAUA,QAAUA,OAAOC,QAAS,CAC7C,MAAM/G,EAAad,EAAc8H,cAAcZ,EAAM5Q,MACrDsR,OAAOC,QAAQE,YAAaC,GAAiBC,0BACjB,CAAE,WAAcnH,GACfoH,IAEC9L,QAAQkJ,IAAI,qBAAsB4C,OAKpEC,kBAAiB,OAAElB,EAAM,MAAEC,EAAK,SAAEC,IAAY,aAAEG,IAC9C,IAEEL,EAAO,6BAGP,IAAI9C,EAAiB,IACjB+C,EAAME,MAAQxG,EAAc6B,yBAE9B0B,GAAU,eAAe+C,EAAME,KAGjC,MAAMgB,EAA+BxH,EAAciE,oBAC7CwD,EAAkCzH,EAAc0H,uBAChDC,EAA6B3H,EAAc4H,kBAEjD,QAAiBjO,IAAb6N,QAA0C7N,IAAhB8N,QAAwC9N,IAAXgO,EAAsB,CAC/E,MAAMpM,EAAsB,IAAIuL,EAAe,iDAE/CP,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,QAChD,CACLtD,GAAU,iCAAiCiE,EAC3CjE,GAAU,iBAAiBkE,WAAqBE,IAEhD,MAAME,EAAoC7H,EAAc8H,wBAClDrE,EAAsCzD,EAAc0D,yBAE1D,QAAwB/J,IAApB8J,QAAkD9J,IAAjBkO,EAA4B,CAC/D,MAAMtM,EAAsB,IAAIuL,EAAe,iDAE/CP,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,QAChD,CACL,IAAIkB,EAA8B,GAClC,QAAwBpO,IAApB8J,GAAiCA,EAAgBvN,OAAS,EAAG,CAC/D,MAAM8R,EAAmBC,GAAaA,EAAItL,SAAS,UAAUgB,QAAQ,MAAO,KAAKA,QAAQ,MAAO,KAAKA,QAAQ,KAAM,IAC7GuK,EAAqBF,EAAgBG,IAAOC,YAAY,KACxDC,EAAoBL,EAAgBG,IAAOC,YAAY,KAC7DL,EAAsB,mBAAmBG,2BAAuCzE,WAAyB4E,IAGzG,MAAMC,EAAc,CAAEJ,cAAeA,EAAeG,aAAcA,EAAcE,cAAe7B,GAC/FL,EAAO,oCAAqCiC,QAE5C/E,GAAU,kBAAkBsE,EAI9B,MAAMW,EAAkB,GAAGxI,EAAckD,uBAAuBlD,EAAcyI,yBAAyBlF,IAASwE,IAChHvM,QAAQkJ,IAAI,kDAAmD8D,GAC/D9M,OAAOgN,SAASC,KAAOC,UAAUJ,KAIrC,MAAM3P,GACN,MAAM0C,EAAsB,IAAIuL,EAAe,mCAAoCjO,GACnF0N,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,MAIzD,sBAAsB,OAAER,EAAM,MAAEC,EAAK,SAAEC,IAAY,KAAEnJ,EAAI,qBAAEyL,EAAoB,aAAEnC,IAC/E,IACE,GAAI1G,EAAcmF,mBAAmBjP,OAAS,EAAG,CAE/CmQ,EAAO,6BAEP,MAAM9C,EAAc,CAAEnG,OACA2G,WAAY,qBACZC,UAAWhE,EAAciE,oBACzB6E,aAAc9I,EAAc0H,6BAEjC/N,IAAb2M,EAAMyC,GACRxF,EAAO,iBAAmB+C,EAAMyC,GAEhCxF,EAAO,iBAAmBvD,EAAc8H,wBAG1C,MAAOvM,EAAKwJ,SAAuDG,EAC/DnC,EAAsBiG,mBAAmBhJ,EAAcmF,mBAAoB5B,IAE/E,GAAIhI,EACFgL,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,SAChD,GAAI9B,EAAU,CACnB,MAAMK,EAA6BhG,EAAciG,0BAA0BN,EAASrP,MACpF2Q,EAAO,0BAA2BjB,GAElC,MAAMO,EAAgBZ,EAASrP,KAAK2K,aAC9BI,EAAoBC,eAAsBiF,GAChD,GAAKlF,EAcH,GATI/E,OAAOsL,QAAUA,QAAUA,OAAOC,SACpCD,OAAOC,QAAQE,YAAaC,GAAiBC,0BACjB,CAAE,WAActC,EAASrP,MACxB4R,IAEC9L,QAAQkJ,IAAI,qBAAsB4C,KAI9D7G,EAAaE,OAASF,EAAaI,IAAK,CACvC,MAAMoI,EAAsB7J,EAAc8J,+BAA+BvD,GACzEU,EAAO,yBAA0B4C,GAEjC,MAAME,EAAmC/J,EAAcgK,qCAAqCzD,GAC5F,GAAKwD,EAIH9C,EAAO,yBAA0B8C,OAJhB,CACjB,MAAM5N,EAAwB,IAAI8N,EAAiB,wCAAyC,KAC5F9C,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,IAKvDrL,QAAQkJ,IAAI,mEAAoEgC,GAChFpB,GAASC,MAAM,mBAAoBmB,QAGtCH,EAAS,iCAAkC,CAAEG,eAAcmC,wBAAwB,CAAEhC,MAAM,QA9B5E,CACjB,MAAMtL,EAAwB,IAAI8N,EAAiB,qCAAsC,KACzF9C,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,UAiCpD,CACL,MAAMtL,EAAwB,IAAI8N,EAAiB,mCAAoC,KACvF9C,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,KAEvD,MAAMhO,GACN,MAAM0C,EAAsB,IAAIuL,EAAe,mCAAoCjO,GACnF0N,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,MAIzD,oBAAoB,OAAER,EAAM,MAAEC,EAAK,SAAEC,IAAY,aAAEG,IACjD,IAEE,GAAI1G,EAAcmF,mBAAmBjP,OAAS,EAAG,CAC/C,MAAOqF,EAAKwJ,SAAuDG,EACjEnC,EAAsBe,aAAa9D,EAAcmF,mBAAoB/F,EAAckK,gBAAgBhD,EAAM5Q,QAE3G,GAAI6F,EAEFgL,EAAS,2BAA4B,CAAEG,gBAAgB,CAAEG,MAAM,SAC1D,GAAI9B,EAAU,CACnB,MAAMK,EAA6BhG,EAAciG,0BAA0BN,EAASrP,MACpF2Q,EAAO,0BAA2BjB,GAClCE,GAASC,MAAM,mBAAoBmB,QAGhC,CACL,MAAMnL,EAAwB,IAAI8N,EAAiB,mCAAoC,KACvF9C,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,KAEvD,MAAMhO,GACN,MAAM0C,EAAsB,IAAIuL,EAAe,mCAAoCjO,GACnF0N,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,MAIzD0C,0BAAyB,OAAElD,EAAM,SAAEE,IAAY,mBAAEnB,IAC/C,IACEiB,EAAO,0BAA2BjB,GAClC,MAAMvM,GACN,MAAM0C,EAAsB,IAAIuL,EAAe,mCAAoCjO,GACnF0N,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,MAIzD2C,kCAAiC,OAAEnD,EAAM,SAAEE,IAAY,wBAAEkD,IACvD,IACEpD,EAAO,kCAAmChK,QAAe+D,mBAAmBqJ,IAC5E,MAAM5Q,GACN,MAAM0C,EAAsB,IAAIuL,EAAe,mCAAoCjO,GACnF0N,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,MAIzD,kBAAkB,MAAEP,EAAK,OAAED,EAAM,SAAEE,IACjC,IAEMvG,EAAc0J,wBAAwBxT,OAAS,QAAoByD,IAAf2M,EAAM5Q,aAEtDwP,EACJnC,EAAsB4G,WAAW3J,EAAc0J,wBAAyBtK,EAAcwK,WAAWtD,EAAM5Q,QAEzG2Q,EAAO,8BACPE,EAAS,mCAAoC,KAAM,CAAEM,MAAM,IAC3DN,EAAS,2BAA4B,KAAM,CAAEM,MAAM,IAG/CnL,OAAOsL,QAAUA,QAAUA,OAAOC,SACpCD,OAAOC,QAAQE,YAAaC,GAAiBC,0BACjB,CAAE,QAAU,GACXC,IACC9L,QAAQkJ,IAAI,qBAAsB4C,MAKpE,MAAMzO,GACN2C,QAAQkJ,IAAI,kCAAmC7L,KAInDgR,eAAe,OAAExD,IACfA,EAAO,+BAGTyD,iBAAiB,OAAEzD,EAAM,SAAEE,IAAY,IAAEhL,IACvC8K,EAAO,8BACP,MAAM0D,EAA4B,IAAIjD,EAAevL,EAAIsJ,WAAYtJ,GACrEgL,EAAS,yBAA0B,CAAEwD,aAAa,CAAElD,MAAM,KAG5D,qBAAoB,OAAER,EAAM,MAAEC,IAC5B,GAAGA,EAAM5Q,KAAK,CACZ,MAAMsU,EAAqB5K,EAAc6K,mBAAmB3D,EAAM5Q,MAClE,IAAIwU,EAAaF,EAEjB,MAAOzO,EAAKwJ,SACJG,EAAciF,GAAUC,2BAA2B7P,IAAI,uBAAuByP,EAAsB,UAE3FrQ,IAAboL,GAAwD,QAA9BA,EAASrP,KAAK2U,cAC1CH,EAAalK,EAAc6B,wBAE7BwE,EAAO,kBAAmB6D,KAQ9B,8BAA6B,OAAE7D,EAAM,MAAEC,EAAK,SAAEC,IAAY,aAAEG,EAAY,qBAAEmC,IACxE,IACE,MAAOtN,EAAKwJ,SACJG,EAAciF,GAAUG,4BAA4B/P,IAAIyF,EAAcuK,6BAC1EnL,EAAckD,eAAegE,EAAM5Q,MAAO0J,EAAckK,gBAAgBhD,EAAM5Q,QAElF,GAAI6F,EACF8K,EAAO,8BACPE,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,SAChD,GAAI9B,EAAU,CACnB,MAAMnE,EAAe,CAAG1D,GAAI6H,EAASrP,KAAK8U,eAClB7J,MAAOoE,EAASrP,KAAKiL,MACrBG,UAAWiE,EAASrP,KAAKoL,UACzBE,SAAU+D,EAASrP,KAAK+D,KACxByH,MAAO6D,EAASrP,KAAKiL,OAE7C,GAAKC,EAIHyF,EAAO,yBAA0BzF,OAJrB,CACZ,MAAMrF,EAAwB,IAAI8N,EAAiB,wCAAyC,KAC5F9C,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,IAKvD,MAAM/E,EAAkB,GACxBA,EAAY9B,EAAc6B,wBAA2B,CAAEgH,EAAqB9D,EAASrP,KAAK+U,aAC1F,MAAMxB,EAAsB5M,QAAe+D,mBAAmB0B,GAC9DuE,EAAO,yBAA0B4C,GAGjC3D,GAASC,MAAM,mBAAoBmB,IAErC,MAAM7N,GACN,MAAM0C,EAAsB,IAAIuL,EAAe,mCAAoCjO,GACnF0N,EAAS,0BAA2B,CAAEhL,OAAO,CAAEsL,MAAM,OC/U9C6D,EAA8B,CAEzCjE,mBAAmBH,GACjB,OAAOlH,EAAcqH,mBAAmBH,EAAMM,MAAON,EAAM5Q,OAG7DiV,qBAAqBrE,GACnB,OAAOA,EAAMsE,SAGfxF,mBAAmBkB,GACjB,OAAOA,EAAM5Q,KAAO2G,QAAemD,mBAAmB8G,EAAM5Q,WAAQiE,GAGtE4I,kBAAkB+D,GAChB,OAAOA,EAAMuE,IAAMxO,QAAemD,mBAAmB8G,EAAMuE,UAAOlR,GAGpE8P,wBAAwBnD,GACtB,OAAOA,EAAMwE,IAAMzO,QAAemD,mBAAmB8G,EAAMwE,UAAOnR,GAGpEoR,YAAYzE,GACV,OAAOA,EAAM0E,IAAMC,EAAYC,cAAc5E,EAAM0E,UAAOrR,GAG5DuQ,WAAW5D,GACT,OAAOA,EAAM4D,YAGfiB,UAAU7E,GACR,OAAOA,EAAM8E,IAGf5E,IAAIF,GACF,OAAOA,EAAME,MC9EJ6E,EAAYA,KAChB,CACL7E,SAAK7M,EACLiR,aAASjR,EACTiN,MAAO,EACPlR,UAAMiE,EACNkR,SAAKlR,EACLmR,SAAKnR,EACLqR,SAAKrR,EACLoP,QAAIpP,EACJyR,QAAIzR,EACJuQ,gBAAYvQ,IC8BH2R,EAAkC,CAE7CC,6BAA8BA,CAACjF,EAAmBkF,KAChDlF,EAAME,IAAMgF,GAGdC,+BAAgCA,CAACnF,EAAmBsE,KAClDtE,EAAMsE,QAAUA,GAGlBc,wBAAyBA,CAACpF,EAAmBlB,KAC3CkB,EAAM5Q,KAAO0P,EACbkB,EAAMM,MAAQhH,KAAKC,MACnByG,EAAMyC,QAAKpP,EACX2M,EAAM8E,QAAKzR,GAGbgS,uBAAwBA,CAACrF,EAAmBsF,KAC1CtF,EAAMuE,IAAMe,GAGdC,0BAA4BvF,IAC1BA,EAAMuE,SAAMlR,GAGdmS,gCAAiCA,CAACxF,EAAmBmD,KACnDnD,EAAMwE,IAAMrB,GAGdsC,uBAAwBA,CAACzF,EAAmB0F,KAC1C1F,EAAM0E,IAAMgB,GAGdC,kCAAmCA,CAAC3F,EAAmB4F,KACrD5F,EAAMyC,GAAKmD,EAAShE,cACpB5B,EAAM8E,GAAKc,EAAS7D,cAGtB8D,2BAA6B7F,IAC3BA,EAAME,SAAM7M,EACZ2M,EAAM5Q,UAAOiE,EACb2M,EAAMM,MAAQ,EACdN,EAAMuE,SAAMlR,EACZ2M,EAAMwE,SAAMnR,EACZ2M,EAAM0E,SAAMrR,EACZ2M,EAAMyC,QAAKpP,EACX2M,EAAM8E,QAAKzR,EACX2M,EAAM4D,gBAAavQ,GAErByS,gBAAiBA,CAAC9F,EAAmB4D,KACnC5D,EAAM4D,WAAaA,ICnGVmC,EAAyC,CACpDC,YAAY,EACZC,QAAS,IACJpG,GAELqG,QAAS,IACJ9B,GAELpE,MAAO,IACF+E,KAELoB,UAAW,IACNnB,IChCD,MAAOoB,EAWTjO,YAAmBC,EACArF,EACAsT,EACAC,EACAC,GAAalO,eAAA,qBAAAA,eAAA,oBAAAA,eAAA,qBAAAA,eAAA,oBAAAA,eAAA,oBAJb,KAAAD,QACA,KAAArF,OACA,KAAAsT,QACA,KAAAC,OACA,KAAAC,QCXjB,MAAOC,EAYXrO,YAAmBC,EACArF,EACA0T,EACAF,GAAalO,eAAA,qBAAAA,eAAA,oBAAAA,eAAA,wBAAAA,eAAA,oBAbhCA,eAAA,sBAUmB,KAAAD,QACA,KAAArF,OACA,KAAA0T,WACA,KAAAF,OAELpI,KAAKuI,QAAS,GCrBvB,IAAKC,GAAZ,SAAYA,GAMRA,EAAA,aAMAA,EAAA,eAKAA,EAAA,yBAKAA,EAAA,qBAMAA,EAAA,mBAOAA,EAAA,mBAMAA,EAAA,yCAzCJ,CAAYA,MAAuB,KA2CpBA,IC3CHC,ECAN,MAAOlN,EAMJ,uBAEL,OAAOtE,OAAOyR,aAAezR,OAAOyR,aAAaC,SAAWC,ipDAAYC,qBAGnE,uBAEL,MAA0DD,GAGrD,iCAEL,OAAyEE,OAAOF,UAG3E,iCAEL,OAAgFE,OAAOF,UAGlF,uBAEL,MAA0DA,GAGrD,+BAEL,MAA4EA,QAGvE,6BAEL,MAA2EA,YAGtE,oCAEL,MAAyGA,uBAGpG,+BAEL,YAAoD1T,IAA5C0T,ipDAAYG,4BAA6C,IAAMD,OAAOF,ipDAAYG,6BAGrF,yBAEL,MAA6DH,sBAGxD,+BAEL,MAAmEA,mBAG9D,0BAEL,MAA8DA,sBAGzD,oBAEL,MAA8DA,mBAGzD,4BAEL,OAAqEE,OAAOF,QAGvE,6BAEL,MAAyEA,SAGpE,0BAEL,MAAmEA,KAG9D,iCAEL,YAAwD1T,IAAhD0T,ipDAAYI,gCAAiD,GAAKJ,ipDAAYI,gCAGjF,iCAEL,YAAuD9T,IAA/C0T,ipDAAYK,+BAAgD,SAAWL,ipDAAYK,+BAGtF,gCAEL,YAAuD/T,IAA/C0T,ipDAAYM,+BAAgD,0BAA4BN,ipDAAYM,+BAGvG,iCAEL,MAAyEN,qBAGpE,gCAEL,MAAyEA,YAGpE,8BAEL,MAAgFA,aAG3E,oCAEL,MAA6EA,+EAA+CO,MAAM,KAI7H,oCAEL,MAA8EP,oCAOzE,oCAEL,MAA6EA,aAGxE,4BAEL,OAAQ3R,OAAOmS,YAAcnS,OAAOmS,WAAWrF,QAAW9M,OAAOmS,WAAWrF,QAAU6E,4DAGjF,8BAEL,OAAQ3R,OAAOmS,YAAcnS,OAAOmS,WAAWC,gBAAmBpS,OAAOmS,WAAWC,gBAAkBT,+CAGjG,oCAEL,OAAQ3R,OAAOmS,YAAcnS,OAAOmS,WAAWE,sBAAyBrS,OAAOmS,WAAWE,sBAAwBV,+CAG7G,gCAEL,OAAQ3R,OAAOmS,YAAcnS,OAAOmS,WAAWG,oBAAuBtS,OAAOmS,WAAWG,oBAAsBX,QAGzG,+CAEL,MAAMtW,EAAU2E,OAAOmS,YAAcnS,OAAOmS,WAAWI,wBAA2BV,OAAO7R,OAAOmS,WAAWI,yBACjCjO,EAAckO,uCACvF,OAAOnX,EAGH,8CAEL,MAAMA,EAA4FwW,OAAOF,QACzG,OAAOtW,EAGF,2BAEL,OAAQ2E,OAAOmS,YAAcnS,OAAOmS,WAAWM,aAAgBzS,OAAOmS,WAAWM,aAAed,gBAG3F,+BAEL,OAAQ3R,OAAOmS,YAAcnS,OAAOmS,WAAWO,iBAAoB1S,OAAOmS,WAAWO,iBAAmBf,ipDAAYgB,sBAG/G,yBAEL,OAAQ3S,OAAOmS,YAAcnS,OAAOmS,WAAWS,WAAc5S,OAAOmS,WAAWS,WAAajB,SAGvF,8BAEL,MAAMtW,EAA4EsW,gCAClF,OAAOtW,EAGF,0BAEL,MAAMA,EAAwEsW,iCAC9E,OAAOtW,EAGF,+BAEL,MAAMA,EAAyEsW,kCAC/E,OAAOtW,EAGF,oCAEL,MAAMA,OAAmD4C,IAAzC0T,ipDAAYkB,yBAA0C,GAAKlB,ipDAAYkB,yBACvF,OAAOxX,GCpML,MAAOyX,EAaF,yBAAyBC,EACAC,EACAC,EACAC,EACAC,EACAC,GAE5B,OAAO,IAAIhC,EAAqB2B,EACAC,EACAF,EAAgBO,cAAcL,EAAcE,EAAoBC,EAASC,GACzEH,GAY7B,qBAAqBD,EAAmBE,EAAyBC,EAAiBC,GACrF,MAAM/B,EAA4B,GAClC,IAAK,MAAMpS,KAASqU,GAAWC,SAASL,GAAqB,CACzD,MAAMM,EAA8BN,EAAmBjU,GAAOwU,SAAS,SAAW,GAAGN,KAAWD,EAAmBjU,KACnC,IAAIiU,EAAmBjU,GACvGoS,EAASvW,KAAK,IAAIkW,EAAc,YAAYkC,EAAmBjU,GAC/BiU,EAAmBjU,GACnB+T,EACAQ,EACAJ,EAAgBA,EAAcF,EAAmBjU,SAAUhB,IAE/F,OAAOoT,GC/CT,MAAOqC,EAUF,kCAAkCC,EAAiBC,EAAqBC,EAAiBC,GAC5F,MAAMC,EAAuCD,EAAwBjV,IAAI+U,GACzE,QAAKG,GAGOF,EAAWF,IAAYE,EAAWE,GAY3C,gCAAgCJ,EAAiBtC,EAA2BwC,EAAiBC,GAChG,MAAME,EAA6B,GACnC,IAAK,MAAMC,KAAQ5C,EAAU,CACzB,MAAM0C,EAAuCD,EAAwBjV,IAAIoV,EAAKtW,MAC1EoW,GAAoBF,EAAWF,IAAYE,EAAWE,IACtDC,EAAUlZ,KAAKmZ,GAGvB,OAAOD,GChCT,MAAOE,EAGH,iCACNA,EAA0BC,cAAcC,IAAI,EAAG,IAAIC,GACnDH,EAA0BC,cAAcC,IAAI,GAAI,IAAIE,GACpDJ,EAA0BC,cAAcC,IAAI,GAAI,IAAIG,GACpDL,EAA0BC,cAAcC,IAAI,IAAK,IAAII,GAUhD,0BAA2BC,EAAgBC,GACK,IAAjDR,EAA0BC,cAAcQ,MAC1CT,EAA0BU,0BAG5B,MAAMC,EAAsCX,EAA0BC,cAAcxS,OACpF,IAAImT,OAA6C7W,EACjD,IAAK,MAAM8W,KAAYF,EACjBG,GAAWC,gBAAgBR,EAAUC,GAAUK,IACjDD,EAAYZ,EAA0BC,cAActV,IAAIkW,IAI5D,YAAqB9W,IAAd6W,EAA0B/L,KAAKmM,kBAAkBJ,EAAWL,EAAUC,GAAU,GAWjF,yBAA0BI,EAAgCL,EAAgBC,GAChF,MAAMrZ,EAAsC,GACtC8Z,EAAwBL,EAAUM,iBAAiBX,GACzD,IAAIY,EAA+C,IAAIC,EAA0Bb,EAAUA,EAAUU,GAErG,IAAK,IAAI3W,EAAU,IAAI0F,KAAKuQ,GAAWjW,GAAKkW,EAAQlW,EAAE+W,QAAQ/W,EAAEgX,UAAY,GACtEV,EAAUW,YAAYjX,IAAMA,EAAEiG,YAAcgQ,EAAShQ,WACvDpJ,EAAOP,KAAKua,GACZA,EAAmB,IAAIC,EAA0B,IAAIpR,KAAK1F,GAAI,IAAI0F,KAAK1F,GAAIsW,EAAUM,iBAAiB5W,KAEtG6W,EAAiBX,OAAS,IAAIxQ,KAAK1F,GAErC6W,EAAiBX,OAAOgB,SAAS,GAAI,GAAI,IAG3C,OADAra,EAAOP,KAAKua,GACLha,G,eAxDE6Y,EAAyB,gBAC6B,IAAIyB,KJZvE,SAAYnE,GACRA,EAAA,aACAA,EAAA,eACAA,EAAA,iBACAA,EAAA,eAJJ,CAAYA,MAA2B,KKAjC,MAAO8D,EAYXvS,YAAmB0R,EACAC,EACA1R,GAAaC,eAAA,wBAAAA,eAAA,sBAAAA,eAAA,qBAFb,KAAAwR,WACA,KAAAC,SACA,KAAA1R,SCVf,MAAOqR,EACXoB,YAAYG,GACV,OAAO,EAGTR,iBAAiBQ,GACf,OAAOA,EAAKC,sBCNV,MAAOtB,EAGXkB,YAAYG,GACV,OAA0B,IAAnBA,EAAKJ,UAGdJ,iBAAiBQ,GACf,MAAO,gBAAgBA,EAAKE,WAAW7U,YCRrC,MAAOqT,EACXmB,YAAYG,GACV,OAAyB,IAAlBA,EAAKG,SAGdX,iBAAiBQ,GACf,MAAO,OAAS7M,KAAKiN,cAAcJ,GAG7BI,cAAcJ,GACpB,MAAMK,EAAS,IAAI/R,KAAK0R,EAAKM,cAAe,EAAG,GACzCC,EAAeC,KAAKC,OAAOT,EAAKnR,UAAYwR,EAAOxR,WAAa,OAChEpJ,EAAS+a,KAAKE,MAAMV,EAAKG,SAAW,EAAII,GAAgB,GAC9D,OAAO9a,GCbL,MAAOmZ,EACXiB,YAAYG,GACV,OAA0B,IAAnBA,EAAKJ,WAAuC,IAApBI,EAAKE,WAGtCV,iBAAiBQ,GACf,OAAOA,EAAKM,cAAcjV,YCqBvB,MAAMsV,EAAkC,CAE7CC,uBAAsB,OAAE7L,GAAU8L,GAChC9L,EAAO,oBAAqB8L,GAC5B,MAAMC,EAAaxC,EAA0ByC,mBAAmB,IAAIzS,KAAKuS,EAAMhC,UAAW,IAAIvQ,KAAKuS,EAAM/B,SACzG/J,EAAO,0BAA2B+L,IAGpCE,oBAAmB,OAAEjM,IACnBA,EAAO,kBAGTkM,SAAQ,OAAElM,GAAUmM,GAClBnM,EAAO,kBAAmBmM,IAG5BC,mBAAkB,OAAEpM,GAAUqM,GAC5BrM,EAAO,sBAAuBqM,KCCrBC,EAAkC,CAE7CC,iBAAiBtM,GACf,OAAOA,EAAM6J,UAGf0C,eAAevM,GACb,OAAOA,EAAM8J,QAGf0C,qBAAqBxM,GACnB,OAAOA,EAAM8L,YAGfW,sBAAsBzM,GACpB,OAAOA,EAAM0M,eAGfC,aAAa3M,GACX,OAAOA,EAAMkM,MAGfE,eAAepM,GACb,OAAOA,EAAMoM,iBCrDJQ,EAAeA,KACnB,CACL/C,cAAUxW,EACVyW,YAAQzW,EACRyY,gBAAYzY,EACZqZ,mBAAerZ,EACf6Y,UAAM7Y,EACN+Y,oBAAgB/Y,ICaPwZ,EAAsC,CAEjDC,kBAAmBA,CAAC9M,EAAsB+M,KACxC/M,EAAM6J,SAAWkD,EAAYlD,SAC7B7J,EAAM8J,OAASiD,EAAYjD,QAG7BkD,wBAAyBA,CAAChN,EAAsB8L,KAC9C9L,EAAM8L,WAAaA,GAGrBmB,cAAgBjN,IACdA,EAAM6J,cAAWxW,EACjB2M,EAAM8J,YAASzW,EACf2M,EAAM8L,gBAAazY,EACnB2M,EAAM0M,mBAAgBrZ,EACtB2M,EAAMkM,UAAO7Y,EACb2M,EAAMoM,oBAAiB/Y,GAGzB6Z,gBAAiBA,CAAClN,EAAsBkM,KACtClM,EAAMkM,KAAOA,GAGfiB,oBAAqBA,CAACnN,EAAsBoM,KAC1CpM,EAAMoM,eAAiBA,IC5CdgB,EAAkD,CAC7DpH,YAAY,EACZC,QAAS,IACJ0F,GAELzF,QAAS,IACJmG,GAELrM,MAAO,IACF4M,KAELzG,UAAW,IACN0G,I,IChCKQ,E,oBCWN,SAAUzO,EAAqBlN,GACnC,OAAOA,EAAQ4b,KAA2C7O,IACxD,GAAI9C,MAAMC,QAAQ6C,EAASrP,MACzB,OAAIqP,EAASrP,KAAKQ,OAAS,IAAM6O,EAASrP,KAAK,GAAGme,SAAW9O,EAASrP,KAAK,GAAGoe,YACrE/O,EAASrP,KAAKqe,OAAO,CAACC,EAAUC,KACrC,MAAM,WAAEH,KAAeD,GAAYI,EAC7Bpb,EAAsCib,EAAWI,QAAU,EAAIC,EAAkBL,QAAcna,EACrG,MAAO,CAACd,EAAQ,IAAImb,EAAI,GAAInb,QAASc,EAAWka,EAAU,IAAIG,EAAI,GAAIH,QAAWla,IAChF,CAAC,GAAI,KAED,MAACA,EAAYoL,GAEjB,GAAIA,EAASqP,UAClB,MAAO,MAACza,EAAYoL,GAGjB,GAAIA,EAASrP,KAAK+I,aAAetI,QAAW4O,EAASrP,KAAKoe,WAExD,CACL,MAAM,WAAEA,KAAeD,GAAY9O,EAASrP,KAC5C,IAAI6F,EAIJ,OAHIuY,GAAcA,EAAWI,QAAU,IACrC3Y,EAAM4Y,EAAkBL,IAEnB,CAACvY,EAAKsY,GAPb,MAAO,MAACla,EAAWoL,KASpBsP,MAAyB9Y,QACH5B,IAAnB4B,EAAIsJ,YAA4BtJ,EAAI+Y,SAC/B,CAAC/Y,OAAK5B,GAEX4B,IAAQA,EAAIwJ,SACP,CAACwP,EAAgBhZ,EAAKA,EAAI/B,cAAUG,GAGtC,CAAC4a,EAAgBhZ,EAAIwJ,SAAUxJ,EAAI/B,cAAUG,ICnClD,SAAUwa,EAAmBK,EAAoBC,EAAyBC,GAC9E,OAAO,IAAIrL,EACToL,GAAkBD,EAAchb,QAChCkb,GAAc,IACdF,EACCA,EAAcN,SAAWM,EAAcN,QAAU,EAAKzX,KAAKC,UAAU8X,EAAcN,SAAW,IAQ7F,SAAUK,EAAiBxP,EAAevL,GAC9C,IAAKuL,EACH,OAAIvL,GAAuB,kBAAZA,EACN,IAAI6P,EAAiB,sCAAuC,IAAKtE,GAC9DvL,EAGH,IAAI6P,EAAiB,kCAAmC,KAFvD,IAAIA,EAAiB,sCAAuC,KAMtE,GAAItE,EAAS3H,MAA0B,iBAAlB2H,EAAS3H,KAC5B,OAAO,IAAIiM,EAAiB,kCAAmC,IAAKtE,GAGtE,GAAIvL,GAAuB,kBAAZA,EACb,OAAO,IAAI6P,EAAiB,sCAAuC,IAAKtE,GAG1E,IAAKA,EAASC,OACZ,OAAKxL,EAGI,IAAI6P,EAAiB,kCAAmC,KAFvD,IAAIA,EAAiB,sCAAuC,KAMxE,OAAQtE,EAASC,QACf,KAAK,IACH,YAAsBrL,IAAlBoL,EAASrP,MAA8C,kBAAxBqP,EAASrP,KAAKmD,MACxC,IAAIwQ,EAAiB,wCAAyC,IAAKtE,GAEnE,IAAIsE,EAAiB,sCAAuCtE,EAASC,OAAQD,GAExF,KAAK,IACH,YAAsBpL,IAAlBoL,EAASrP,OAAyF,IAAnEqP,EAASrP,KAAKkN,QAAQ,uCAChD,IAAIyG,EAAiB,mDAAoD,IAAKtE,GAE9E,IAAIsE,EAAiB,wCAAyCtE,EAASC,OAAQD,GAE1F,KAAK,IACH,OAAO,IAAIsE,EAAiB,kCAAmCtE,EAASC,OAAQD,GAClF,KAAK,IACH,OAAO,IAAIsE,EAAiB,yCAA0CtE,EAASC,OAAQD,GACzF,KAAK,IACH,OAAO,IAAIsE,EAAiB,2CAA4CtE,EAASC,OAAQD,GAC3F,QACE,OAAO,IAAIsE,EAAiB,kCAAmCtE,EAASC,OAAQD,KFtExF,SAAY4O,GACRA,IAAA,kBACAA,IAAA,gCACAA,IAAA,kBACAA,IAAA,0BACAA,IAAA,2BALJ,CAAYA,MAAmB,KAOhBA,IGPHgB,ECIN,MAAOtL,EAKX5K,YAA8BoG,EACAyP,EACAM,EACAC,GAAsBlW,eAAA,0BAAAA,eAAA,wBAAAA,eAAA,4BAAAA,eAAA,6BAAAA,eAAA,kBAAAA,eAAA,uBAAAA,eAAA,yBAHtB,KAAAkG,aACA,KAAAyP,WACA,KAAAM,eACA,KAAAC,gBAE5BpQ,KAAKvH,GAAK4X,GAAYC,aAAapY,WACnC8H,KAAKuQ,UAAYpV,KAAKC,MAGtB4E,KAAKjL,QAAUqL,GAAc,mECV3B,MAAOoQ,EAcXxW,YAA4BvB,EACAyD,EACAG,EACAE,EACAE,EACAC,EACAE,EACAI,GAAyB9C,eAAA,kBAAAA,eAAA,qBAAAA,eAAA,yBAAAA,eAAA,wBAAAA,eAAA,qBAAAA,eAAA,4BAAAA,eAAA,yBAAAA,eAAA,8BAPzB,KAAAzB,KACA,KAAAyD,QACA,KAAAG,YACA,KAAAE,WACA,KAAAE,QACA,KAAAC,eACA,KAAAE,YACA,KAAAI,kBCzBxB,MAAOwJ,EAQF,qBAAqBiK,GAExB,OAAO,IAAID,EAAaC,EAAmBhY,GACnBgY,EAAmBvU,MACnBuU,EAAmBpU,UACnBoU,EAAmBlU,SACnBkU,EAAmBhU,MACnBgU,EAAmB/T,eACnB+T,EAAmB7T,UACnB6T,EAAmBzT,eAAiByT,EAAmBzT,oBAAiB9H,KHrBxG,SAAYgb,GACRA,EAAA,wCACAA,EAAA,8BACAA,EAAA,wCAHJ,CAAYA,MAAc,KAOnBA,EAAeQ,kBACfR,EAAeS,aACfT,EAAeU,kBILhB,MAAOvO,EAUXrI,YAA8BoG,EACAtJ,GAASoD,eAAA,0BAAAA,eAAA,mBAAAA,eAAA,kBAAAA,eAAA,yBADT,KAAAkG,aACA,KAAAtJ,MAC5BkJ,KAAKvH,GAAK4X,GAAYC,aAAapY,WACnC8H,KAAKuQ,UAAYpV,KAAKC,OC6EnB,MAAMyV,GAA4B,CAEvCC,cAAa,OAAElP,IAAU,UAAEmP,IACzBnP,EAAO,iBAAkBmP,IAG3BC,qBAAoB,OAAEpP,IAAU,UAAEqP,IAChCrP,EAAO,mBAAoBqP,IAG7BC,qBAAoB,OAAEtP,IACpBA,EAAO,uBAAuB,GAC9BA,EAAO,oBAAoB,GAC3BA,EAAO,gCAAgC,IAGzCuP,gBAAe,OAAEvP,IACfA,EAAO,oBAAoB,GAC3BA,EAAO,uBAAuB,GAC9BA,EAAO,gCAAgC,IAGzCwP,oBAAmB,OAAExP,IAAU,cAAEyP,IAC/BzP,EAAO,oBAAoB,GAC3BA,EAAO,uBAAuB,GAC9BA,EAAO,+BAAgCyP,IAGzCC,sBAAqB,OAAE1P,IAAU,YAAE2P,IACjC3P,EAAO,iCAAkC2P,IAG3CC,+BAA8B,OAAE5P,IAAU,qBAAE6P,IAC1C7P,EAAO,0CAA2C6P,IAGpDC,0BAAyB,OAAE9P,IAAU,cAAEyP,IACrCzP,EAAO,+BAAgCyP,IAGzCM,sBAAqB,OAAE/P,IACrBA,EAAO,4BAGTgQ,0BAAyB,OAAEhQ,IAAU,sBAAEiQ,IACrCjQ,EAAO,oCAAqCiQ,IAG9CC,kBAAiB,OAAElQ,IAAU,UAAEmQ,IAC7BnQ,EAAO,2BAA4BmQ,IAGrCC,oBAAmB,OAAEpQ,IACnBA,EAAO,+BAGTqQ,cAAa,OAAErQ,IAAU,UAAEmQ,IACzBnQ,EAAO,sBAAuBmQ,IAGhCG,gBAAe,OAAEtQ,IACfA,EAAO,0BAGTuQ,gBAAe,OAAEvQ,IACfA,EAAO,2BCjFEwQ,GAA4B,CACvCrB,UAAUlP,GACR,OAAOA,EAAMkP,WAGfsB,YAAYxQ,GACV,OAAOA,EAAMwQ,aAGfC,eAAezQ,GACb,OAAOA,EAAMyQ,gBAGfC,kBAAkB1Q,GAChB,OAAOA,EAAM0Q,mBAGfC,2BAA2B3Q,GACzB,OAAOA,EAAM2Q,4BAGfC,kBAAkB5Q,GAChB,OAAOA,EAAM4Q,mBAGfpB,cAAcxP,GACZ,OAAOA,EAAMwP,eAGfQ,sBAAsBhQ,GACpB,OAAOA,EAAMgQ,uBAGfhY,cAAcgI,GACZ,OAAOA,EAAMhI,eAGfyL,UAAUzD,GACR,OAAOA,EAAMyD,YC3BJoN,GAAgC,CAC3CC,eAAgBA,CAAC9Q,EAAmBkP,KAClClP,EAAMkP,UAAYA,GAGpB6B,iBAAkBA,CAAC/Q,EAAmBoP,KACpCpP,EAAMwQ,YAAcpB,GAGtB4B,iBAAkBA,CAAChR,EAAmByQ,KACpCzQ,EAAMyQ,eAAiBA,GAGzBQ,+BAAgCA,CAACjR,EAAmB0P,KAClD1P,EAAM0Q,kBAAoBhB,GAG5BwB,wCAAyCA,CAAClR,EAAmB2Q,KAC3D3Q,EAAM2Q,2BAA6BA,GAGrCQ,oBAAqBA,CAACnR,EAAmB4Q,KACvC5Q,EAAM4Q,kBAAoBA,GAG5BQ,6BAA8BA,CAACpR,EAAmBwP,KAChDxP,EAAMwP,cAAgBA,GAGxB6B,wBAA0BrR,IACxBA,EAAMwP,eAAiBxP,EAAMwP,eAG/B8B,kCAAmCA,CAACtR,EAAmBgQ,KACrDhQ,EAAMgQ,sBAAwBA,GAGhCuB,yBAA0BA,CAACvR,EAAmBkQ,KAC5ClQ,EAAMhI,cAAgBkY,GAGxBsB,2BAA4BxR,IAC1BA,EAAMhI,mBAAgB3E,GAGxBoe,oBAAqBA,CAACzR,EAAmBkQ,KACvClQ,EAAMyD,UAAYyM,GAGpBwB,sBAAwB1R,IACtBA,EAAMyD,eAAYpQ,GAGpBse,sBAAwB3R,IACtBA,EAAMkP,UAAY,GAClBlP,EAAMyQ,gBAAiB,EACvBzQ,EAAM4Q,mBAAoB,EAC1B5Q,EAAMwP,eAAgB,EACtBxP,EAAMhI,mBAAgB3E,EACtB2M,EAAMyD,eAAYpQ,EAClB2M,EAAM4R,cAAWve,EACjB2M,EAAMwQ,iBAAcnd,EACpB2M,EAAM2Q,gCAA6Btd,EACnC2M,EAAM0Q,uBAAoBrd,EAC1B2M,EAAMgQ,2BAAwB3c,ICtIrBwe,GAAYA,KAChB,CACL3C,UAAW,GACXuB,gBAAgB,EAChBG,mBAAmB,EACnBpB,eAAe,EACfxX,mBAAe3E,EACfoQ,eAAWpQ,EACXue,cAAUve,EACVmd,iBAAand,EACbsd,gCAA4Btd,EAC5Bqd,uBAAmBrd,EACnB2c,2BAAuB3c,ICXdye,GAA2C,CACtD9L,YAAY,EACZC,QAAS,IACJ+I,IAEL9I,QAAS,IACJqK,IAELvQ,MAAO,IACF6R,MAEL1L,UAAW,IACN0K,KC1BD,MAAOhN,GAGJ,mCAKL,OAJKA,GAAUkO,yBACblO,GAAUkO,uBAAyB,IAAI/T,EACrCtE,EAAcsY,gBAAiBtY,EAAcmD,4BAE1CgH,GAAUkO,uBAGZ,kCAKL,OAJKlO,GAAUkO,yBACblO,GAAUkO,uBAAyB,IAAI/T,EACrC8C,GAAiBmR,iBAAkBvY,EAAcmD,4BAE9CgH,GAAUkO,wBAKpB1Z,eArBYwL,GAAS,iCCFhB,MAAOqO,GAOF,8BAA8BC,EAAkBC,GACnD,MAAMC,EAAUrgB,SAASC,cAAc,KACvCogB,EAAQhgB,aAAa,OAAQ,kCAAoCigB,mBAAmBF,IACpFC,EAAQhgB,aAAa,WAAY8f,GACjCngB,SAASugB,KAAK/e,YAAY6e,GAC1BA,EAAQG,QACRxgB,SAASugB,KAAKE,YAAYJ,GAUvB,yBAAyBK,EAA4BC,EAAqB9I,EAAkBC,GAC/F,IAAI8I,EAAoBF,EAExB,MAAMG,EAAqBhjB,OAAOwM,oBAAoBsW,EAAa,IAcnE,OAbAA,EAAavb,QAAS0b,IAClB,IAAIC,EAAU,GACdA,GAAWD,EAAO,SAClBC,GAAW,IAAI3I,GAAW4I,WAAW,IAAI1Z,KAAKuQ,IAC9CkJ,GAAW,IAAI3I,GAAW4I,WAAW,IAAI1Z,KAAKwQ,IAC9C+I,EAASzb,QAAS6b,KACiB,IAA3BA,EAAQ3W,QAAQ,OAA4B,UAAZ2W,IAChCF,GAAW,IAAID,EAAOG,MAG9BL,GAAaG,EAAQG,UAAU,EAAGH,EAAQnjB,QAAU,OAGjDgjB,EAUJ,iCAAiCO,GACpC,MAAMC,EAA0B,GAChC,IAAK,MAAMze,KAAOwe,EAAY,CAC1B,MAAM9e,EAAQ8e,EAAWxe,GACzBye,EAAmBljB,KAAK,CACpBuI,MAAO9D,EACP,yBAA0BN,EAAMgf,cAChC,kBAAmBhf,EAAMif,YACzB,yBAA0Bjf,EAAMkf,2BAC7Blf,EAAMmf,WACTC,iBAAkBpf,EAAMof,mBAGhC,OAAOL,G,4BCjET,MAAOhJ,GAEJ,oBAAoBsJ,EAAoBC,GAC7C,OAAOnI,KAAKoI,IAAIF,EAAa7Z,UAAY8Z,EAAQ9Z,WAAa,KAGzD,sBAAsB6Z,EAAoBC,GAC/C,OAAOnI,KAAKoI,IAAIF,EAAa7Z,UAAY8Z,EAAQ9Z,WAAa,IAGzD,qBAAqB6Z,EAAoBC,GAC9C,OAAOnI,KAAKoI,IAAIF,EAAa7Z,UAAY8Z,EAAQ9Z,WAAa,IAGzD,uBAAuB6Z,EAAoBC,GAChD,OAAOnI,KAAKoI,IAAIF,EAAa7Z,UAAY8Z,EAAQ9Z,WAAa,MAGzD,sBAAsBga,EAAoBC,GAE/C,OADAC,KAAOD,OAAOA,GACPC,KAAOF,GAAcG,SAGvB,kBAAkBH,GACvB,OAAOE,KAAOE,IAAIJ,GAAcG,OAAO,e,2BC1BrC,MAAOtL,GASJ,gBAA+D1S,GACpE,OAAOnG,OAAOkH,KAAKf,GAAKke,OAAOC,GAAKlN,OAAOmN,OAAOD,KCVhD,MAAO3F,GAEJ,oBACL,OAAOlV,KAAKC,MAAQiV,GAAY6F,W,eAHvB7F,GAAW,UAMG,GCJrB,MAAO8F,WAAoBC,aAIxB,qBAIL,OAHKD,GAAYE,YACfF,GAAYE,UAAY,IAAIF,IAEvBA,GAAYE,WAOvBnc,eAfaic,GAAY,oBAgBlB,MAAMtV,GAAwBsV,GAAYG,cClB3C,MAAOC,GACT,oBAAoBC,GAChB,MAAMC,EAAQ,CAAEC,SAAU,GAAI1hB,KAAM,IAEpC,GAAIwhB,EACA,OAAOA,GACH,IAAK,KACL,IAAK,QACL,IAAK,KACL,IAAK,KACL,IAAK,QACL,IAAK,QACL,IAAK,QACDC,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,UACb,MACJ,IAAK,KACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,aACb,MACJ,IAAK,KACL,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,WACb,MACJ,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,KACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,UACb,MACJ,IAAK,KACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,UACb,MACJ,IAAK,KACL,IAAK,QACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,YACb,MACJ,IAAK,KACL,IAAK,KACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,OACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,YACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,MACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,QACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,WACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,UACb,MACJ,IAAK,KACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,WACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,MACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,QACb,MACJ,IAAK,KACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,QACb,MACJ,IAAK,KACL,IAAK,KACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,QACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,SACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,SACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,UACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,YACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,cACb,MACJ,IAAK,KACL,IAAK,KACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,UACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,UACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,QACb,MACJ,IAAK,KACL,IAAK,QACDyhB,EAAMC,SAAW,QACjBD,EAAMzhB,KAAO,aACb,MACJ,QACIyhB,EAAMC,SAAW,GACjBD,EAAMzhB,KAAO,GAGzB,OAAOyhB,G,8BClJ6Cjd,GAAOI,WAAsB,MAAU,KAAY+c,EAAK,EAAE,SAAuC,oB,OAAC,UAAc,C,MAAI,kC,MAAoB,CAAgB,kBAAIrd,iBAAG,GAAmBG,cAAM,K,CAAgC,oBAAa,CAAG,OAAKG,WAAIgd,EAAa,cAAcnd,WAAM,OAAqB,2BAACod,MAAG,CAAC,MAAQjd,aAAqB,GAAEA,CACtY,0BAGD,GAASkd,OAAQhd,UAAe,2C,MCSf,IAAMid,GAAN,cAA2BX,OAAGpc,eAAAgd,GAAA,SAAAA,GAAA9c,eAAA,yBAAAA,eAAA,sBAAAA,eAAA,6BAK3C+c,UACE,MAAMlG,EAAiB,CAAEA,UAAW/Q,KAAK+Q,UAAY/Q,KAAK+Q,UAAY,IAChEmG,EAAoBlX,KAAKmX,OAASnX,KAAKmX,OAASjH,EAAeU,kBAErE,IAAIS,EAAqB,KACrB6F,IAAchH,EAAeU,kBAC/BS,EAAgB,CAAEA,cAAgBrR,KAAKmX,SAAWjH,EAAeU,wBAA4C1b,IAAvB8K,KAAKqR,eAA+BrR,KAAKqR,gBAE/HA,EAAgB,CAAEA,eAAe,GACjCrR,KAAKoX,OAAOtV,SAAS,qCAAsCuP,EAAe,CAAEjP,MAAM,KAGpFpC,KAAKoX,OAAOtV,SAAS,yBAA0BiP,EAAW,CAAE3O,MAAM,IAClEpC,KAAKoX,OAAOtV,SAAS,gBAAgBoV,EAAa7F,EAAe,CAAEjP,MAAM,IACzEpC,KAAKqX,iBAlBCC,eAAA,CAAPC,kB,iCACOD,eAAA,CAAPC,kB,8BACOD,eAAA,CAAPC,kB,qCAHkBR,GAAYO,eAAA,CAHhClgB,eAAU,CACTpC,KAAM,kBAEa+hB,QCbnB,GAAQ,GDaWA,MEbiY,M,aDOpZS,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,GAAAA,G,qBElB6Ble,GAAOC,W,IAASC,EAAM,KAAuB,EAAQ,EAAI,MAACie,GAA8B,oBAAyB,OAAQC,cAAyjB,SAACC,YAAY,qBAA8Ble,GAAK,MAAC,C,YAAWme,8BAAiB,OAAKhe,IAAIie,uBAAiEje,EAAIke,WAAa,EAAG,MAAMD,CAC94B,0CACG/d,WAAe,EAAK,iCAFyJ,SAAuB6d,kCAA0Cle,GAAK,QAAC,W,YAAS,8B,MAAU,CAA+B,MAAQ,UAAE,2BAAkB,QAAIH,cAAS,KAA2CG,GAAK,MAAC,C,YAAWse,8BAAwB,OAAK,IAAKC,EAAI,8BAAyE,EAAC,eAAgHpe,EAAIke,KAApH,S,YAAWF,8BAAiB,OAAG,IAAO,EAAIhe,qBAAgF,EAACA,WAAcA,EAAIie,OAAuCF,YAAY,+BAAqB,CAACre,EAAG,OAAM,wC,MCoB/sB,IAAM2e,GAAN,cAA6B7B,OAAGpc,eAAAgd,GAAA,SAAAA,GAAA9c,eAAA,0BAAAA,eAAA,uBAAAA,eAAA,0BAAAA,eAAA,2BAM7C,+BACE,OAAOqB,EAAc2c,sBAAwB3c,EAAc4c,mBAG7D,wBACE,OAAO5c,EAAc2c,sBAAwB3c,EAAc6c,wBAG7D,0BACE,OAAOpY,KAAKqY,WAAarY,KAAKqY,WAAa,IAG7C,oBACE,OAAOrY,KAAKsY,oBAAsB,KAlB5BhB,eAAA,CAAPC,kB,kCACOD,eAAA,CAAPC,kB,+BACOD,eAAA,CAAPC,kB,kCACOD,eAAA,CAAPC,kB,mCAJkBU,GAAcX,eAAA,CAHlClgB,eAAU,CACTpC,KAAM,oBAEaijB,cCpBqY,MCQtZ,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCFE,IAAMM,GAAN,cAA6BxB,GAAY/c,eAAAgd,GAAA,SAAAA,GAAA9c,eAAA,sBACtC,GAChBse,kBACExY,KAAKyY,QAAQ1mB,KAAK,CAAEoP,KAAM5F,EAAcmd,4BAHvBH,GAAcjB,eAAA,CANlClgB,eAAU,CACTpC,KAAM,iBACN2jB,WAAY,CACVV,sBAGiBM,cCjBqZ,MCQxa,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCPE,IAAMK,GAAN,cAAiCL,GAAcve,eAAAgd,GAAA,SAAAA,GAAA9c,eAAA,0BAAAA,eAAA,mBAI5D+c,UACMjX,KAAK+B,KAAO/B,KAAK+B,IAAItQ,OAAS,IAChCuO,KAAK4W,eAAgB,GAEvB5W,KAAK6Y,aAGP,oBACE,OAAO7Y,KAAK8Y,GAAG,qCAX+BxB,eAAA,CAA/CyB,eAAO,aAAc,CAAEC,UAAW,a,kCACM1B,eAAA,CAAxC2B,eAAO,MAAO,CAAED,UAAW,a,2BAFTJ,GAAkBtB,eAAA,CAHtClgB,eAAU,CACTpC,KAAM,wBAEa4jB,QCZnB,GAAQ,GDYWA,MEZyZ,M,aDO5a,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAMoB,oBAAX,eAAuB,sBAAO,IAE1B,U,QEtB6Btf,GAAOC,W,IAASC,EAAM,KAAuB,EAAOF,EAAG,SAAkB,oB,OAAC,UAAc,C,MAAI,CAAoB,eAAc,GAAE,oBAAIA,cAAG,K,CAA0B,oBAAoB,C,MAAqC,CAAe,WAAa,EAAC,GAAK,qCAAC,WAAgB,eAAI,WAAG,QAE5TQ,I,MCoBa,IAAMof,GAAN,cAAoCnC,GAAY/c,eAAAgd,GAAA,SAAAA,GAAA9c,eAAA,yBAAAA,eAAA,+BAAAA,eAAA,4BAAAA,eAAA,8BAAAA,eAAA,+BAAAA,eAAA,kCAAAA,eAAA,yBAS7Dif,UACE,GAAKnZ,KAAKgC,mBAgCRhC,KAAKyY,QAAQ1mB,KAAK,CAAEoP,KAAM5F,EAAcmd,8BAhCZ,CAI5B,MAAM7W,EAAoC7B,KAAKoZ,OAAOC,MAAMxX,MAC5D,QAAuB3M,IAAnB8K,KAAK0G,WAA2B7E,IAAU7B,KAAK0G,UAAW,CAC5D,MAAMpB,EAA4B,IAAIjD,EAAe,4CACrDrC,KAAKiS,aAAa3M,GAElBtF,KAAKyY,QAAQ1mB,KAAK,CAAEoP,KAAM5F,EAAc+d,wBAK1C,MAAMC,EAAuCvZ,KAAKoZ,OAAOC,MAAM1gB,KAC/D,QAAiBzD,IAAbqkB,EACFvZ,KAAKnC,eAAe,CAAElF,KAAM4gB,EAAUtX,aAAc1G,EAAcmd,wBAAyBtU,qBAAsBpE,KAAKwZ,sBACjH,CAEL,MAAMC,EAAwCC,mBAAmB,GAAG1Z,KAAKoZ,OAAOC,MAAMjlB,OAEhFulB,EAA4CD,mBAAmB,GAAG1Z,KAAKoZ,OAAOC,MAAMO,mBACpFC,EAAwBF,EAAgB,yBAAyBF,EAAc,sCAC/EnU,EAA4B,IAAIjD,EAAewX,EAAe,IAAIxlB,MAAM,cAAcslB,IAE5F3Z,KAAKiS,aAAa3M,GAElBtF,KAAKyY,QAAQ1mB,KAAK,CAAEoP,KAAM5F,EAAc+d,4BApCtChC,eAAA,CAAPC,kB,iCACOD,eAAA,CAAPC,kB,uCACmDD,eAAA,CAAnDyB,eAAO,eAAgB,CAAEC,UAAW,e,oCACe1B,eAAA,CAAnDyB,eAAO,iBAAkB,CAAEC,UAAW,a,sCACc1B,eAAA,CAApDyB,eAAO,kBAAmB,CAAEC,UAAW,a,uCACgB1B,eAAA,CAAvD2B,eAAO,qBAAsB,CAAED,UAAW,a,0CACI1B,eAAA,CAA9C2B,eAAO,YAAa,CAAED,UAAW,a,iCAPfE,GAAqB5B,eAAA,CANzClgB,eAAU,CACTpC,KAAM,wBACN2jB,WAAY,CACVV,sBAGiBiB,cCtB4Z,MCO/a,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCVE,IAAMY,GAAN,cAAyC1D,SAAnC0D,GAA0BxC,eAAA,CAH9ClgB,eAAU,CACTpC,KAAM,gCAEa8kB,QCRnB,GAAQ,GDQWA,MERia,MDOpb,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QECT,SAAUC,GAAaC,EAAgC5V,GAC3D,MAAO,CAAC,CACNjD,KAAM,mBACNnM,KAAM,eACNilB,MAAO,CACLC,UAAWF,EACXR,gBAAiBpV,EACjB+S,OAAQjH,EAAeQ,mBAEzB8G,UAAW0B,IACV,CACD/X,KAAM,mBACNnM,KAAM,iBACNilB,MAAO,CACL9C,OAAQjH,EAAeQ,mBAEzB8G,UAAWsC,IACV,CACD3Y,KAAM,UACN8Y,MAAO,CACL9C,OAAQjH,EAAeQ,mBAEzB8G,UAAWoB,KAOf,MAAMuB,GAA2B,CAC/B,mBACA,YACA,UACA,mBACA,QAYK,SAAUC,GAAiBC,EAAYC,EAAaC,GACzD,MAAO,CAACC,EAAIziB,EAAM0iB,KAkBhB,GAhBkB,cAAd1iB,EAAKoJ,MAGPkZ,EAAMvY,SAAS,2BAA4B,KAAM,CAAEM,MAAM,IAIvDrK,EAAKoJ,OAASqZ,EAAGrZ,OACfqZ,EAAGrZ,OAAS5F,EAAcmd,wBAE5B+B,EAAKlf,EAAcmd,yBAEnB+B,EAAK,MAIO,cAAZD,EAAGrZ,KACLsZ,QACK,CAEL,MAAMC,EAAiDF,EAAGnB,MAAMtX,IAC1DC,EAAqBrH,EAAcqH,mBAAmBqY,EAAMxY,MAAM+F,QAAQzF,MAAOkY,EAAMxY,MAAM+F,QAAQ3W,WAG/EiE,IAAvB8M,IAA2D,IAAvBA,GACtB,qBAAdjK,EAAKoJ,MAAgCgZ,GAAezP,SAAS8P,EAAGrZ,OAAUoZ,EAAsB7P,SAAS8P,EAAGrZ,OAMtF,UAArBqZ,EAAGnB,MAAMpkB,SACXolB,EAAMvY,SAAS,+BAAgC,CAAEM,MAAM,IAEzDqY,KALAJ,EAAMvY,SAAS,2BAA4B,CAAEG,aAAcuY,EAAGrZ,KAAMa,qBAAqBD,IAAK2Y,GAAsB,CAAEtY,MAAM,MClFnH,IAAMuY,GAAN,cAA4BpC,GAAcve,eAAAgd,GAAA,SAAAA,GAAA9c,eAAA,yBAGvD,oBACE,OAAO8F,KAAKsF,UAAYtF,KAAK8Y,GAAG9Y,KAAKsF,UAAUlF,YAAcJ,KAAK8Y,GAAG,8BAHtBxB,eAAA,CAAhD2B,eAAO,YAAa,CAAED,UAAW,e,iCADf2B,GAAarD,eAAA,CAHjClgB,eAAU,CACTpC,KAAM,mBAEa2lB,QCfnB,GAAQ,GDeWA,MEfoZ,M,aDOva,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAMoB,oBAAX,eAAuB,sBAAO,IAE1B,U,QEdR,MAAMC,GAAiC,CAAC,CAC7CzZ,KAAM,YACNnM,KAAM,YACNilB,MAAO,CACL9C,OAAQjH,EAAeQ,mBAEzB8G,UAAWmD,KCdN,IAAKE,GAMAC,GAKAC,GCXAC,GAMAC,GAMAC,IDZZ,SAAYL,GACRA,EAAA,mDACAA,EAAA,qCACAA,EAAA,oDAHJ,CAAYA,QAAmB,KAM/B,SAAYC,GACRA,EAAA,kDACAA,EAAA,mCAFJ,CAAYA,QAAwB,KAKpC,SAAYC,GACRA,EAAA,kDACAA,EAAA,iDACAA,EAAA,+DAHJ,CAAYA,QAA6B,KCXzC,SAAYC,GACRA,EAAA,qCACAA,EAAA,uCACAA,EAAA,uBAHJ,CAAYA,QAA4B,KAMxC,SAAYC,GACRA,EAAA,0BACAA,EAAA,4BACAA,EAAA,oBAHJ,CAAYA,QAAwB,KAMpC,SAAYC,GACRA,EAAA,0BACAA,EAAA,4BACAA,EAAA,oBACAA,EAAA,uBACAA,EAAA,iBALJ,CAAYA,QAAyB,KAQ9B,MAAMC,GAAgF,CACzF,YAAe,WACf,YAAe,aACf,QAAW,UCtBA,QACT,6BAAgC,cAChC,mBAAsB,cACtB,yBAA4B,cAC5B,gBAAmB,cACnB,oBAAuB,cACvB,kBAAqB,UACrB,0BAA6B,cAC7B,iBAAoB,cACpB,qBAAwB,cACxB,yBAA4B,UAC5B,WAAc,UACd,mCAAsC,UACtC,aAAgB,UAChB,wBAA2B,cAC3B,8BAAiC,UACjC,aAAgB,cAChB,kBAAqB,UACrB,sBAAyB,cACzB,kBAAqB,UACrB,iBAAoB,UACpB,qBAAwB,UACxB,yBAA4B,UAC5B,kBAAqB,UACrB,kBAAqB,UACrB,QAAW,cACX,yBAA4B,cAC5B,QAAW,cACX,YAAe,cACf,gBAAmB,cACnB,KAAQ,cACR,UAAa,cACb,OAAU,cACV,SAAY,cACZ,aAAgB,cAChB,eAAkB,cAClB,OAAU,cACV,gBAAmB,cACnB,qBAAwB,cACxB,UAAa,cACb,eAAkB,cAClB,OAAU,cACV,YAAe,cACf,QAAW,cACX,UAAa,cACb,OAAU,cACV,QAAW,cACX,SAAY,cACZ,OAAU,cACV,OAAU,cACV,UAAa,cACb,UAAa,cACb,WAAc,cACd,SAAY,cACZ,UAAa,cACb,SAAY,cACZ,cAAiB,cACjB,eAAkB,cAClB,UAAa,cACb,WAAc,cACd,WAAc,cACd,MAAS,cACT,OAAU,cACV,WAAc,cACd,gBAAmB,cACnB,QAAW,cACX,SAAY,cACZ,gBAAmB,cACnB,GAAM,cACN,MAAS,cACT,UAAa,cACb,QAAW,cACX,OAAU,cACV,SAAY,cACZ,gBAAmB,cACnB,UAAa,cACb,aAAgB,cAChB,QAAW,cACX,WAAc,cACd,UAAa,cACb,UAAa,cACb,sBAAyB,cACzB,OAAU,cACV,KAAQ,cACR,MAAS,cACT,iBAAoB,cACpB,UAAa,cACb,MAAS,cACT,OAAU,cACV,SAAY,cACZ,SAAY,cACZ,SAAY,cACZ,iBAAoB,cACpB,aAAgB,cAChB,cAAiB,cACjB,iBAAoB,cACpB,UAAa,cACb,kBAAqB,cACrB,QAAW,cACX,mBAAsB,cACtB,YAAe,cACf,YAAe,cACf,iBAAoB,cACpB,aAAgB,cAChB,cAAiB,cACjB,OAAU,cACV,MAAS,cACT,KAAQ,cACR,iBAAoB,cACpB,IAAO,cACP,GAAM,cACN,KAAQ,cACR,IAAO,cACP,WAAc,cACd,iBAAoB,cACpB,UAAa,cACb,QAAW,cACX,gBAAmB,cACnB,mBAAsB,cACtB,aAAgB,cAChB,cAAiB,cACjB,aAAgB,cAChB,WAAc,cACd,WAAc,cACd,QAAW,cACX,qBAAwB,cACxB,yBAA4B,cAC5B,UAAa,cACb,SAAY,cACZ,SAAY,cACZ,WAAc,cACd,iBAAoB,cACpB,OAAU,cACV,QAAW,cACX,aAAgB,cAChB,uBAA0B,cAC1B,sBAAyB,cACzB,gBAAmB,cACnB,aAAgB,cAChB,KAAQ,cACR,MAAS,cACT,QAAW,cACX,SAAY,cACZ,OAAU,cACV,MAAS,cACT,UAAa,cACb,MAAS,cACT,UAAa,cACb,QAAW,cACX,MAAS,cACT,MAAS,cACT,UAAa,cACb,UAAa,cACb,2BAA8B,cAC9B,SAAY,cACZ,qBAAwB,cACxB,uBAA0B,cAC1B,0BAA6B,cAC7B,kBAAqB,cACrB,wBAA2B,cAC3B,QAAW,cACX,YAAe,cACf,OAAU,cACV,UAAa,cACb,aAAgB,cAChB,WAAc,cACd,WAAc,cACd,WAAc,cACd,aAAgB,cAChB,eAAkB,cAClB,MAAS,cACT,mBAAsB,cACtB,QAAW,cACX,OAAU,cACV,UAAa,cACb,kBAAqB,cACrB,cAAiB,cACjB,YAAe,cACf,OAAU,cACV,UAAa,cACb,YAAe,cACf,OAAU,cACV,QAAW,cACX,YAAe,cACf,WAAc,cACd,eAAkB,cAClB,YAAe,cACf,QAAW,cACX,QAAW,cACX,SAAY,cACZ,eAAkB,cAClB,WAAc,cACd,SAAY,cACZ,QAAW,cACX,cAAiB,cACjB,kBAAqB,cACrB,SAAY,cACZ,gBAAmB,cACnB,iBAAoB,cACpB,OAAU,cACV,aAAgB,cAChB,eAAkB,cAClB,oBAAuB,cACvB,WAAc,cACd,aAAgB,cAChB,SAAY,cACZ,YAAe,cACf,iBAAoB,cACpB,UAAa,cACb,OAAU,cACV,SAAY,cACZ,WAAc,cACd,SAAY,cACZ,SAAY,cACZ,SAAY,cACZ,SAAY,cACZ,YAAe,cACf,QAAW,cACX,MAAS,cACT,MAAS,cACT,YAAe,cACf,KAAQ,cACR,gBAAmB,cACnB,YAAe,cACf,QAAW,cACX,QAAW,cACX,UAAa,cACb,iBAAoB,cACpB,aAAgB,cAChB,aAAgB,cAChB,UAAa,cACb,gBAAmB,cACnB,QAAW,cACX,KAAQ,cACR,sBAAyB,cACzB,YAAe,cACf,IAAO,cACP,gBAAmB,cACnB,eAAkB,cAClB,QAAW,cACX,WAAc,cACd,aAAgB,cAChB,UAAa,cACb,YAAe,cACf,aAAgB,cAChB,UAAa,cACb,QAAW,cACX,UAAa,cACb,SAAY,cACZ,QAAW,cACX,SAAY,cACZ,WAAc,cACd,MAAS,cACT,UAAa,cACb,KAAQ,cACR,KAAQ,cACR,SAAY,cACZ,aAAgB,cAChB,MAAS,cACT,WAAc,cACd,WAAc,cACd,aAAgB,cAChB,aAAgB,cAChB,SAAY,cACZ,QAAW,cACX,UAAa,cACb,SAAY,cACZ,0BAA6B,cAC7B,iBAAoB,cACpB,KAAQ,cACR,QAAW,cACX,SAAY,cACZ,YAAe,cACf,QAAW,cACX,SAAY,cACZ,IAAO,cACP,WAAc,cACd,WAAc,cACd,eAAkB,cAClB,eAAkB,cAClB,SAAY,cACZ,OAAU,cACV,KAAQ,cACR,0BAA6B,cAC7B,qCAAwC,cACxC,yBAA4B,cAC5B,+BAAkC,cAClC,iCAAoC,cACpC,sBAAyB,cACzB,wBAA2B,cAC3B,+BAAkC,cAClC,cAAiB,cACjB,mBAAsB,cACtB,cAAiB,cACjB,kBAAqB,cACrB,SAAY,cACZ,OAAU,cACV,iBAAoB,cACpB,cAAiB,cACjB,cAAiB,cACjB,eAAkB,cAClB,iBAAoB,cACpB,iBAAoB,cACpB,WAAc,cACd,UAAa,cACb,qBAAwB,cACxB,uBAA0B,cAC1B,kBAAqB,cACrB,SAAY,cACZ,WAAc,cACd,UAAa,cACb,YAAe,cACf,YAAe,cACf,UAAa,cACb,SAAY,cACZ,eAAkB,cAClB,WAAc,cACd,YAAe,cACf,QAAW,cACX,UAAa,cACb,WAAc,cACd,SAAY,cACZ,SAAY,cACZ,SAAY,cACZ,YAAe,cACf,aAAgB,cAChB,WAAc,cACd,UAAa,cACb,aAAgB,cAChB,UAAa,cACb,UAAa,cACb,WAAc,cACd,SAAY,cACZ,YAAe,cACf,UAAa,cACb,WAAc,cACd,YAAe,cACf,SAAY,cACZ,WAAc,cACd,SAAY,cACZ,QAAW,cACX,YAAe,cACf,UAAa,cACb,YAAe,cACf,WAAY,cACZ,aAAgB,cAChB,aAAgB,cAChB,WAAc,cACd,YAAe,cACf,YAAe,cACf,aAAgB,cAChB,WAAc,cACd,UAAa,cACb,eAAkB,cAClB,UAAa,cACb,UAAa,cACb,UAAa,cACb,WAAc,cACd,YAAe,cACf,SAAY,cACZ,aAAgB,cAChB,8BAAiC,cACjC,6BAAgC,cAChC,QAAW,cACX,WAAc,cACd,UAAa,cACb,UAAa,cACb,aAAgB,cAChB,oBAAuB,cACvB,cAAiB,cACjB,aAAgB,cAChB,cAAiB,cACjB,WAAc,cACd,eAAkB,cAClB,aAAgB,cAChB,mBAAsB,cACtB,cAAiB,cACjB,eAAkB,cAClB,aAAgB,cAChB,cAAiB,cACjB,kBAAqB,cACrB,YAAe,cACf,SAAY,cACZ,yBAA4B,cAC5B,kBAAqB,cACrB,aAAgB,cAChB,2BAA8B,cAC9B,WAAc,cACd,kBAAqB,cACrB,cAAiB,cACjB,cAAiB,cACjB,kBAAqB,cACrB,gBAAmB,cACnB,gBAAmB,cACnB,WAAc,cACd,UAAa,cACb,YAAe,cACf,UAAa,cACb,mBAAsB,cACtB,YAAe,cACf,eAAkB,cAClB,mBAAsB,cACtB,iBAAoB,cACpB,qBAAwB,cACxB,4BAA+B,cAC/B,YAAe,cACf,WAAc,cACd,YAAe,cACf,aAAgB,cAChB,SAAY,cACZ,SAAY,cACZ,UAAa,cACb,YAAe,cACf,aAAgB,cAChB,UAAa,cACb,SAAY,cACZ,WAAc,cACd,eAAkB,cAClB,YAAe,cACf,aAAgB,cAChB,cAAiB,cACjB,kBAAqB,cACrB,iBAAoB,cACpB,iBAAoB,cACpB,iBAAoB,cACpB,YAAe,cACf,SAAY,cACZ,MAAS,cACT,WAAc,cACd,UAAa,cACb,OAAU,cACV,OAAU,cACV,KAAQ,cACR,WAAc,cACd,WAAc,cACd,cAAiB,cACjB,UAAa,cACb,SAAY,cACZ,aAAgB,cAChB,cAAiB,cACjB,aAAgB,cAChB,cAAiB,cACjB,eAAkB,cAClB,UAAa,cACb,cAAiB,cACjB,cAAiB,cACjB,UAAa,cACb,iBAAoB,cACpB,gBAAmB,cACnB,aAAgB,cAChB,UAAa,cACb,gBAAmB,cACnB,WAAc,cACd,gBAAmB,cACnB,oBAAuB,cACvB,oBAAuB,cACvB,eAAkB,cAClB,gBAAmB,cACnB,iBAAoB,cACpB,kBAAqB,cACrB,eAAkB,cAClB,UAAa,cACb,sBAAuB,cACvB,qBAAwB,cACxB,QAAW,cACX,gBAAmB,cACnB,WAAc,cACd,YAAe,cACf,WAAc,cACd,cAAiB,cACjB,mBAAsB,cACtB,sBAAyB,cACzB,gBAAmB,cACnB,mBAAsB,cACtB,mBAAsB,cACtB,UAAa,cACb,gBAAmB,cACnB,YAAe,cACf,YAAe,cACf,SAAY,cACZ,eAAkB,cAClB,aAAgB,cAChB,eAAkB,cAClB,kBAAqB,cACrB,YAAe,cACf,WAAc,cACd,qBAAwB,cACxB,QAAW,cACX,aAAgB,cAChB,YAAe,cACf,WAAc,cACd,WAAc,cACd,kBAAqB,cACrB,gBAAmB,cACnB,mBAAsB,cACtB,SAAY,cACZ,eAAkB,cAClB,sBAAyB,cACzB,mCAAsC,cACtC,cAAiB,cACjB,iBAAoB,cACpB,YAAe,cACf,WAAc,cACd,gBAAmB,cACnB,WAAc,cACd,kBAAqB,cACrB,cAAiB,cACjB,kBAAqB,cACrB,sBAAyB,cACzB,cAAiB,cACjB,oBAAuB,cACvB,aAAgB,cAChB,eAAkB,cAClB,iBAAoB,cACpB,WAAc,cACd,sBAAyB,cACzB,YAAa,cACb,WAAc,cACd,kBAAqB,cACrB,oBAAuB,cACvB,iBAAoB,cACpB,eAAkB,cAClB,kBAAqB,cACrB,cAAe,cACf,kBAAqB,cACrB,YAAe,cACf,WAAc,cACd,OAAU,cACV,SAAY,cACZ,MAAS,cACT,SAAY,cACZ,QAAW,cACX,SAAY,cACZ,WAAc,cACd,WAAc,cACd,aAAgB,cAChB,WAAc,cACd,aAAgB,cAChB,aAAgB,cAChB,aAAgB,cAChB,YAAe,cACf,aAAgB,cAChB,aAAgB,cAChB,YAAe,cACf,cAAiB,cACjB,UAAa,cACb,UAAa,cACb,sBAAyB,cACzB,YAAe,cACf,WAAc,cACd,YAAe,cACf,YAAe,cACf,WAAc,cACd,YAAe,cACf,SAAY,cACZ,SAAY,cACZ,WAAc,cACd,kCAAqC,cACrC,sBAAyB,cACzB,WAAc,cACd,uBAA0B,cAC1B,iBAAoB,cACpB,WAAc,cACd,sBAAyB,cACzB,iBAAoB,cACpB,UAAa,cACb,UAAa,cACb,SAAY,cACZ,SAAY,cACZ,WAAc,cACd,WAAc,cACd,SAAY,cACZ,YAAe,cACf,QAAW,cACX,QAAW,cACX,oBAAuB,cACvB,eAAkB,cAClB,WAAc,cACd,MAAS,cACT,GAAM,cACN,yBAA4B,cAC5B,GAAM,cACN,WAAc,cACd,aAAgB,cAChB,QAAW,cACX,cAAiB,cACjB,aAAgB,cAChB,GAAM,cACN,GAAM,cACN,GAAM,cACN,SAAY,cACZ,GAAM,cACN,GAAM,cACN,OAAU,cACV,GAAM,cACN,kBAAqB,cACrB,IAAO,cACP,MAAS,cACT,SAAY,cACZ,WAAc,cACd,SAAY,cACZ,OAAU,cACV,KAAQ,cACR,qBAAwB,cACxB,eAAkB,cAClB,QAAW,cACX,UAAa,cACb,qBAAwB,cACxB,YAAe,cACf,iBAAoB,cACpB,QAAW,cACX,cAAiB,cACjB,oBAAuB,cACvB,mBAAsB,cACtB,oBAAuB,cACvB,mBAAsB,cACtB,gBAAmB,cACnB,oBAAuB,cACvB,uBAA0B,cAC1B,aAAgB,cAChB,wBAA2B,cAC3B,OAAU,cACV,UAAa,cACb,kBAAqB,cACrB,eAAkB,cAClB,mBAAsB,cACtB,oBAAuB,cACvB,mBAAsB,cACtB,gBAAmB,cACnB,0BAA6B,cAC7B,qBAAwB,cACxB,kBAAqB,cACrB,eAAkB,cAClB,uBAA0B,cAC1B,yBAA4B,cAC5B,YAAe,cACf,iBAAoB,cACpB,iBAAoB,cACpB,iBAAoB,cACpB,QAAW,cACX,gBAAmB,cACnB,eAAkB,cAClB,QAAW,cACX,cAAiB,cACjB,SAAY,cACZ,qBAAwB,cACxB,qBAAwB,cACxB,kBAAqB,cACrB,kBAAqB,cACrB,mBAAsB,cACtB,kBAAqB,cACrB,kBAAqB,cACrB,kBAAqB,cACrB,kBAAqB,cACrB,oBAAuB,cACvB,mBAAsB,cACtB,eAAkB,cAClB,QAAW,cACX,iBAAoB,cACpB,sBAAyB,cACzB,sBAAyB,cACzB,kBAAqB,cACrB,oBAAuB,cACvB,sBAAyB,cACzB,gBAAmB,cACnB,WAAc,cACd,WAAc,cACd,qBAAwB,cACxB,iBAAoB,cACpB,kBAAqB,cACrB,cAAiB,cACjB,oBAAuB,cACvB,mBAAsB,cACtB,gBAAmB,cACnB,gBAAmB,cACnB,gBAAmB,cACnB,mBAAsB,cACtB,oBAAuB,cACvB,WAAc,cACd,WAAc,cACd,aAAgB,cAChB,aAAgB,cAChB,mBAAsB,cACtB,gBAAmB,cACnB,kBAAqB,cACrB,mBAAsB,cACtB,eAAkB,cAClB,mBAAsB,cACtB,mBAAsB,cACtB,sBAAyB,cACzB,mBAAsB,cACtB,gBAAmB,cACnB,YAAe,cACf,eAAkB,cAClB,eAAkB,cAClB,mBAAsB,cACtB,eAAkB,UAClB,aAAgB,UAChB,WAAc,UACd,2BAA8B,UAC9B,UAAa,UACb,aAAgB,UAChB,qBAAwB,UACxB,kBAAqB,UACrB,OAAU,UACV,sBAAyB,UACzB,WAAc,UACd,uBAA0B,UAC1B,mBAAsB,UACtB,kBAAqB,UACrB,mBAAsB,UACtB,iBAAoB,UACpB,UAAa,UACb,YAAe,UACf,iBAAoB,UACpB,YAAe,UACf,UAAa,UACb,KAAQ,UACR,uBAA0B,UAC1B,4BAA+B,UAC/B,cAAiB,UACjB,qBAAwB,UACxB,wBAA2B,UAC3B,UAAa,UACb,cAAiB,UACjB,wCAA2C,UAC3C,wCAA2C,UAC3C,WAAc,UACd,MAAS,UACT,+BAAkC,UAClC,UAAa,UACb,kBAAqB,UACrB,WAAc,UACd,cAAiB,UACjB,cAAiB,UACjB,SAAY,UACZ,gBAAmB,UACnB,sBAAyB,UACzB,0BAA6B,UAC7B,SAAY,UACZ,2BAA8B,UAC9B,uBAA0B,UAC1B,eAAkB,UAClB,eAAkB,UAClB,kBAAqB,UACrB,cAAiB,UACjB,aAAgB,UAChB,QAAW,UACX,UAAa,UACb,SAAY,UACZ,aAAgB,UAChB,cAAiB,UACjB,YAAe,UACf,WAAc,UACd,YAAe,UACf,wBAA2B,UAC3B,WAAc,UACd,cAAiB,UACjB,qBAAwB,UACxB,oBAAuB,UACvB,WAAc,UACd,MAAS,UACT,cAAiB,UACjB,WAAc,UACd,iBAAoB,UACpB,cAAiB,UACjB,mBAAsB,UACtB,YAAe,UACf,uBAA0B,UAC1B,oBAAuB,UACvB,0BAA6B,UAC7B,eAAkB,UAClB,uBAA0B,UAC1B,sBAAyB,UACzB,YAAe,UACf,WAAc,UACd,YAAe,UACf,aAAgB,UAChB,eAAkB,UAClB,kBAAqB,UACrB,UAAa,UACb,QAAW,UACX,cAAiB,UACjB,eAAkB,UAClB,sBAAyB,UACzB,oBAAuB,UACvB,YAAe,UACf,cAAiB,UACjB,eAAkB,UAClB,cAAiB,UACjB,eAAkB,UAClB,eAAkB,UAClB,WAAc,UACd,MAAS,UACT,QAAW,UACX,gBAAmB,UACnB,SAAY,UACZ,gBAAmB,UACnB,gBAAmB,UACnB,QAAW,UACX,WAAc,UACd,qBAAwB,UACxB,gBAAmB,UACnB,YAAe,UACf,kBAAqB,UACrB,WAAc,UACd,OAAU,UACV,WAAc,UACd,iBAAoB,UACpB,QAAW,UACX,aAAgB,UAChB,yBAA4B,UAC5B,eAAkB,UAClB,aAAgB,UAChB,iBAAoB,UACpB,WAAc,UACd,MAAS,UACT,kBAAqB,UACrB,YAAe,UACf,iBAAoB,UACpB,YAAe,UACf,OAAU,UACV,OAAU,UACV,YAAe,UACf,cAAiB,UACjB,eAAkB,UAClB,eAAkB,UAClB,mBAAsB,UACtB,wBAA2B,UAC3B,QAAW,UACX,gBAAmB,UACnB,YAAe,UACf,KAAQ,UACR,OAAU,UACV,uBAA0B,UAC1B,8BAAiC,UACjC,WAAc,UACd,eAAkB,UAClB,iBAAoB,UACpB,WAAc,UACd,YAAe,UACf,UAAa,UACb,WAAc,UACd,YAAe,UACf,gBAAmB,UACnB,kBAAqB,UACrB,UAAa,UACb,UAAa,UACb,kBAAqB,UACrB,YAAe,UACf,aAAgB,UAChB,gBAAmB,UACnB,aAAgB,UAChB,KAAQ,UACR,QAAW,UACX,WAAc,UACd,WAAc,UACd,aAAgB,UAChB,mBAAsB,UACtB,MAAS,UACT,MAAS,UACT,4BAA+B,UAC/B,iBAAoB,UACpB,oBAAuB,UACvB,sBAAyB,UACzB,WAAc,UACd,QAAW,UACX,MAAS,UACT,OAAU,UACV,gBAAmB,UACnB,kBAAqB,UACrB,SAAY,UACZ,aAAgB,UAChB,OAAU,UACV,eAAkB,UAClB,eAAkB,UAClB,UAAa,UACb,kBAAqB,UACrB,YAAe,UACf,WAAc,UACd,aAAgB,UAChB,OAAU,UACV,UAAa,UACb,UAAa,UACb,YAAe,UACf,WAAc,UACd,aAAgB,UAChB,aAAgB,UAChB,aAAgB,UAChB,SAAY,UACZ,qBAAwB,UACxB,cAAiB,UACjB,mBAAsB,UACtB,aAAgB,UAChB,cAAiB,UACjB,UAAa,UACb,cAAiB,UACjB,6BAAgC,UAChC,MAAS,UACT,QAAW,UACX,UAAa,UACb,UAAa,UACb,MAAS,UACT,SAAY,UACZ,iBAAoB,UACpB,aAAgB,UAChB,aAAgB,UAChB,iBAAoB,UACpB,SAAY,UACZ,uBAA0B,UAC1B,KAAQ,UACR,UAAa,UACb,QAAW,UACX,WAAc,UACd,WAAc,UACd,gBAAmB,UACnB,KAAQ,UACR,UAAa,UACb,WAAc,UACd,YAAe,UACf,YAAe,UACf,IAAO,UACP,UAAa,UACb,SAAY,UACZ,WAAc,UACd,SAAY,UACZ,SAAY,UACZ,UAAa,UACb,QAAW,UACX,WAAc,UACd,UAAa,UACb,KAAQ,UACR,cAAiB,UACjB,UAAa,UACb,KAAQ,UACR,MAAS,UACT,kBAAqB,UACrB,IAAO,UACP,QAAW,UACX,YAAe,UACf,iBAAoB,UACpB,eAAkB,UAClB,mBAAsB,UACtB,mBAAsB,UACtB,kBAAqB,UACrB,aAAgB,UAChB,gBAAmB,UACnB,mBAAsB,UACtB,mBAAsB,UACtB,sBAAyB,UACzB,qBAAwB,UACxB,eAAkB,UAClB,WAAc,UACd,aAAgB,UAChB,SAAY,UACZ,aAAgB,UAChB,wBAA2B,UAC3B,kBAAqB,UACrB,kBAAqB,UACrB,QAAW,UACX,eAAkB,UAClB,iBAAoB,UACpB,YAAe,UACf,uBAA0B,UAC1B,iBAAoB,UACpB,kBAAqB,UACrB,uBAA0B,UAC1B,kBAAqB,UACrB,qBAAwB,UACxB,cAAiB,UACjB,iBAAoB,UACpB,iBAAoB,UACpB,oBAAuB,UACvB,kBAAqB,UACrB,mBAAsB,UACtB,kBAAqB,UACrB,mBAAsB,UACtB,iBAAoB,UACpB,aAAgB,UAChB,oBAAuB,UACvB,sBAAyB,UACzB,oBAAuB,UACvB,gBAAmB,UACnB,cAAiB,UACjB,eAAkB,UAClB,eAAkB,UAClB,gBAAmB,UACnB,eAAkB,UAClB,cAAiB,UACjB,eAAkB,UAClB,iBAAoB,UACpB,eAAkB,UAClB,eAAkB,UAClB,cAAiB,UACjB,gBAAmB,UACnB,eAAkB,UAClB,kBAAqB,UACrB,iBAAoB,UACpB,aAAgB,UAChB,eAAkB,UAClB,eAAkB,UAClB,cAAiB,UACjB,gBAAmB,UACnB,gBAAmB,UACnB,gBAAmB,UACnB,eAAkB,UAClB,gBAAmB,UACnB,cAAiB,UACjB,eAAkB,UAClB,eAAkB,UAClB,iBAAoB,UACpB,iBAAoB,UACpB,kBAAqB,UACrB,eAAkB,UAClB,eAAkB,UAClB,gBAAmB,UACnB,gBAAmB,UACnB,eAAkB,UAClB,eAAkB,UAClB,gBAAmB,UACnB,eAAkB,UAClB,aAAgB,UAChB,eAAkB,UAClB,eAAkB,UAClB,cAAiB,UACjB,cAAiB,UACjB,eAAkB,UAClB,eAAkB,UAClB,gBAAmB,UACnB,eAAkB,UAClB,iBAAoB,UACpB,iBAAoB,UACpB,gBAAmB,UACnB,kBAAqB,UACrB,eAAkB,UAClB,iBAAoB,UACpB,sBAAyB,UACzB,mBAAsB,UACtB,kBAAqB,UACrB,sBAAyB,UACzB,eAAkB,UAClB,gBAAmB,UACnB,iBAAoB,UACpB,eAAkB,UAClB,eAAkB,UAClB,eAAkB,UAClB,gBAAmB,UACnB,gBAAmB,UACnB,cAAiB,UACjB,cAAiB,UACjB,iBAAoB,UACpB,eAAkB,UAClB,kBAAqB,UACrB,eAAkB,UAClB,eAAkB,UAClB,gBAAmB,UACnB,cAAiB,UACjB,cAAiB,UACjB,cAAiB,UACjB,eAAkB,UAClB,iBAAoB,UACpB,gBAAmB,UACnB,YAAe,UACf,YAAe,UACf,aAAgB,UAChB,UAAa,UACb,UAAa,UACb,QAAW,UACX,gBAAmB,UACnB,qBAAwB,UACxB,eAAkB,UAClB,UAAa,UACb,yBAA4B,UAC5B,qBAAwB,UACxB,gBAAmB,UACnB,WAAc,UACd,QAAW,UACX,YAAe,UACf,QAAW,UACX,SAAY,UACZ,mBAAsB,UACtB,aAAgB,UAChB,SAAY,UACZ,IAAO,UACP,kBAAqB,UACrB,UAAa,UACb,aAAgB,UAChB,MAAS,UACT,OAAU,UACV,SAAY,UACZ,WAAc,UACd,QAAW,UACX,OAAU,UACV,aAAgB,UAChB,UAAa,UACb,UAAa,UACb,YAAe,UACf,SAAY,UACZ,QAAW,UACX,OAAU,UACV,QAAW,UACX,OAAU,UACV,OAAU,UACV,YAAe,UACf,MAAS,UACT,YAAe,UACf,QAAW,UACX,QAAW,UACX,YAAe,UACf,SAAY,UACZ,SAAY,UACZ,aAAgB,UAChB,WAAc,UACd,UAAa,UACb,cAAiB,UACjB,UAAa,UACb,YAAe,UACf,UAAa,UACb,WAAc,UACd,mBAAsB,UACtB,MAAS,UACT,SAAY,UACZ,SAAY,UACZ,mBAAsB,UACtB,iBAAoB,UACpB,OAAU,UACV,WAAc,UACd,mBAAsB,UACtB,MAAS,UACT,QAAW,UACX,YAAe,UACf,QAAW,UACX,YAAe,UACf,WAAc,UACd,UAAa,UACb,mBAAsB,UACtB,QAAW,UACX,cAAiB,UACjB,sBAAyB,UACzB,SAAY,UACZ,SAAY,UACZ,YAAe,UACf,UAAa,UACb,SAAY,UACZ,eAAkB,UAClB,gBAAmB,UACnB,wBAA2B,UAC3B,iBAAoB,UACpB,UAAa,UACb,0BAA6B,UAC7B,mCAAsC,UACtC,QAAW,UACX,SAAY,UACZ,WAAc,UACd,mCAAsC,UACtC,mCAAsC,UACtC,uBAA0B,UAC1B,YAAe,UACf,OAAU,UACV,WAAc,UACd,aAAgB,UAChB,aAAgB,UAChB,YAAe,UACf,WAAc,UACd,cAAiB,UACjB,iBAAoB,UACpB,YAAe,UACf,YAAe,UACf,eAAkB,UAClB,WAAc,UACd,cAAiB,UACjB,UAAa,UACb,YAAe,UACf,aAAgB,UAChB,KAAQ,UACR,aAAgB,UAChB,WAAc,UACd,8BAAiC,UACjC,gBAAmB,UACnB,aAAgB,UAChB,QAAW,UACX,UAAa,UACb,cAAiB,UACjB,YAAe,UACf,kBAAqB,UACrB,sBAAyB,UACzB,UAAa,UACb,aAAgB,UAChB,UAAa,UACb,WAAc,UACd,cAAiB,UACjB,kBAAqB,UACrB,WAAc,UACd,aAAgB,UAChB,SAAY,UACZ,UAAa,UACb,QAAW,UACX,aAAgB,UAChB,YAAe,UACf,UAAa,UACb,UAAa,UACb,WAAc,UACd,YAAe,UACf,QAAW,UACX,UAAa,UACb,UAAa,UACb,WAAc,UACd,QAAW,UACX,QAAW,UACX,QAAW,UACX,OAAU,UACV,SAAY,UACZ,SAAY,UACZ,WAAc,UACd,WAAc,UACd,SAAY,UACZ,QAAW,UACX,SAAY,UACZ,WAAc,UACd,gBAAmB,UACnB,aAAgB,UAChB,QAAW,UACX,aAAgB,UAChB,WAAc,UACd,qBAAwB,UACxB,iBAAoB,UACpB,UAAa,UACb,gBAAmB,UACnB,iBAAoB,UACpB,WAAc,UACd,UAAa,UACb,QAAW,UACX,SAAY,UACZ,YAAe,UACf,gBAAmB,UACnB,aAAgB,UAChB,SAAY,UACZ,cAAiB,UACjB,QAAW,UACX,SAAY,UACZ,SAAY,UACZ,gBAAmB,UACnB,cAAiB,UACjB,WAAc,UACd,OAAU,UACV,aAAgB,UAChB,eAAkB,UAClB,OAAU,UACV,mBAAsB,UACtB,UAAa,UACb,SAAY,UACZ,YAAe,UACf,yBAA4B,UAC5B,YAAe,UACf,SAAY,UACZ,OAAU,UACV,eAAkB,UAClB,gBAAmB,UACnB,gBAAmB,UACnB,UAAa,UACb,SAAY,UACZ,aAAgB,UAChB,aAAgB,UAChB,QAAW,UACX,WAAc,UACd,gBAAmB,UACnB,QAAW,UACX,aAAgB,UAChB,aAAgB,UAChB,kBAAqB,UACrB,iBAAoB,UACpB,YAAe,UACf,cAAiB,UACjB,cAAiB,UACjB,MAAS,UACT,YAAe,UACf,YAAe,UACf,YAAe,UACf,mBAAsB,UACtB,YAAe,UACf,SAAY,UACZ,QAAW,UACX,WAAc,UACd,UAAa,UACb,OAAU,UACV,qBAAwB,UACxB,cAAiB,UACjB,UAAa,UACb,gBAAmB,UACnB,cAAiB,UACjB,gBAAmB,UACnB,aAAgB,UAChB,YAAe,UACf,aAAgB,UAChB,SAAY,UACZ,MAAS,UACT,YAAe,UACf,eAAkB,UAClB,SAAY,UACZ,aAAgB,UAChB,eAAkB,UAClB,YAAe,UACf,YAAe,UACf,UAAa,UACb,cAAiB,UACjB,cAAiB,UACjB,UAAa,UACb,WAAc,UACd,iBAAoB,UACpB,gBAAmB,UACnB,aAAgB,UAChB,cAAiB,UACjB,cAAiB,UACjB,gBAAmB,UACnB,WAAc,UACd,SAAY,UACZ,OAAU,UACV,WAAc,UACd,UAAa,UACb,QAAW,UACX,cAAiB,UACjB,UAAa,UACb,aAAgB,UAChB,YAAe,UACf,iBAAoB,UACpB,OAAU,UACV,MAAS,UACT,UAAa,UACb,WAAc,UACd,QAAW,UACX,QAAW,UACX,iBAAoB,UACpB,WAAc,UACd,cAAiB,UACjB,gBAAmB,UACnB,mBAAsB,UACtB,UAAa,UACb,WAAc,UACd,cAAiB,UACjB,WAAc,UACd,SAAY,UACZ,YAAe,UACf,kBAAqB,UACrB,uBAA0B,UAC1B,0BAA6B,UAC7B,gBAAmB,UACnB,eAAkB,UAClB,gBAAmB,UACnB,gBAAmB,UACnB,eAAkB,UAClB,qBAAwB,UACxB,kBAAqB,UACrB,eAAkB,UAClB,mBAAsB,UACtB,eAAkB,UAClB,cAAiB,UACjB,iBAAoB,UACpB,cAAiB,UACjB,yBAA4B,UAC5B,cAAiB,UACjB,iBAAoB,UACpB,gBAAmB,UACnB,gBAAmB,UACnB,gBAAmB,UACnB,iBAAoB,UACpB,eAAkB,UAClB,mBAAsB,UACtB,iBAAoB,UACpB,YAAe,UACf,cAAiB,UACjB,kBAAqB,UACrB,iBAAoB,UACpB,qBAAwB,UACxB,mBAAsB,UACtB,kBAAqB,UACrB,kBAAqB,UACrB,cAAiB,UACjB,oBAAuB,UACvB,kBAAqB,UACrB,mBAAsB,UACtB,gBAAmB,UACnB,iBAAoB,UACpB,UAAa,UACb,kBAAqB,UACrB,qBAAwB,UACxB,wBAA2B,UAC3B,kBAAqB,UACrB,SAAY,UACZ,qBAAwB,UACxB,aAAgB,UAChB,iBAAoB,UACpB,iBAAoB,UACpB,gBAAmB,UACnB,uBAA0B,UAC1B,aAAgB,UAChB,cAAiB,UACjB,0BAA6B,UAC7B,oBAAuB,UACvB,SAAY,UACZ,SAAY,UACZ,YAAe,UACf,OAAU,UACV,QAAW,UACX,SAAY,UACZ,gBAAmB,UACnB,eAAkB,UAClB,aAAgB,UAChB,sBAAyB,UACzB,qBAAwB,UACxB,sBAAyB,UACzB,gBAAmB,UACnB,eAAkB,UAClB,SAAY,UACZ,iBAAoB,UACpB,YAAe,UACf,QAAW,UACX,MAAS,UACT,cAAiB,UACjB,yBAA4B,UAC5B,YAAe,UACf,OAAU,UACV,kBAAqB,UACrB,WAAc,UACd,SAAY,UACZ,OAAU,UACV,sBAAyB,UACzB,cAAiB,UACjB,YAAe,UACf,SAAY,UACZ,OAAU,UACV,SAAY,UACZ,8BAAiC,UACjC,aAAgB,UAChB,sBAAyB,UACzB,gBAAmB,UACnB,oBAAuB,UACvB,WAAc,UACd,WAAc,UACd,cAAiB,UACjB,SAAY,UACZ,QAAW,UACX,YAAe,UACf,aAAgB,UAChB,UAAa,UACb,aAAgB,UAChB,UAAa,UACb,SAAY,UACZ,UAAa,UACb,WAAc,UACd,eAAkB,UAClB,cAAiB,UACjB,8BAAiC,UACjC,qBAAwB,UACxB,mBAAsB,UACtB,WAAc,UACd,gBAAmB,UACnB,aAAgB,UAChB,SAAY,UACZ,MAAS,UACT,WAAc,UACd,SAAY,UACZ,WAAc,UACd,UAAa,UACb,QAAW,UACX,YAAe,UACf,aAAgB,UAChB,YAAe,UACf,oBAAuB,UACvB,oBAAuB,UACvB,qBAAwB,UACxB,UAAa,UACb,oBAAuB,UACvB,eAAkB,UAClB,0BAA6B,UAC7B,WAAc,UACd,uBAA0B,UAC1B,iBAAoB,UACpB,WAAc,UACd,aAAgB,UAChB,YAAe,UACf,qBAAwB,UACxB,cAAiB,UACjB,iBAAoB,UACpB,iBAAoB,UACpB,SAAY,UACZ,QAAW,UACX,SAAY,UACZ,WAAc,UACd,eAAkB,UAClB,WAAc,UACd,kBAAqB,UACrB,mBAAsB,UACtB,gCAAmC,UACnC,SAAY,UACZ,WAAc,UACd,iBAAoB,UACpB,iBAAoB,UACpB,aAAgB,UAChB,iBAAoB,UACpB,iBAAoB,UACpB,iBAAoB,UACpB,kBAAqB,UACrB,YAAe,UACf,gBAAmB,UACnB,6BAAgC,UAChC,mBAAsB,UACtB,mBAAsB,UACtB,cAAiB,UACjB,cAAiB,UACjB,gBAAmB,UACnB,YAAe,UACf,aAAgB,UAChB,sBAAyB,UACzB,aAAgB,UAChB,UAAa,UACb,YAAe,UACf,SAAY,UACZ,UAAa,UACb,mBAAsB,UACtB,YAAe,UACf,UAAa,UACb,wBAA2B,UAC3B,aAAgB,UAChB,UAAa,UACb,gBAAmB,UACnB,UAAa,UACb,WAAc,UACd,oBAAuB,UACvB,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,SAAY,UACZ,KAAQ,UACR,MAAS,UACT,SAAY,UACZ,UAAa,UACb,SAAY,UACZ,SAAY,UACZ,WAAc,UACd,QAAW,UACX,SAAY,UACZ,SAAY,UACZ,QAAW,UACX,SAAY,UACZ,QAAW,UACX,SAAY,UACZ,QAAW,UACX,QAAW,UACX,SAAY,UACZ,KAAQ,UACR,aAAgB,UAChB,QAAW,UACX,UAAa,UACb,OAAU,UACV,WAAc,UACd,SAAY,UACZ,WAAc,UACd,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,MAAS,UACT,QAAW,UACX,OAAU,UACV,QAAW,UACX,OAAU,UACV,QAAW,UACX,WAAc,UACd,UAAa,UACb,IAAO,UACP,MAAS,UACT,MAAS,UACT,SAAY,UACZ,QAAW,UACX,YAAe,UACf,mBAAsB,UACtB,eAAkB,UAClB,cAAiB,UACjB,QAAW,UACX,QAAW,UACX,QAAW,UACX,YAAe,UACf,OAAU,UACV,cAAiB,UACjB,UAAa,UACb,WAAc,UACd,UAAa,UACb,UAAa,UACb,aAAgB,UAChB,cAAiB,UACjB,MAAS,UACT,gBAAmB,UACnB,gBAAmB,UACnB,iBAAoB,UACpB,SAAY,UACZ,YAAe,UACf,aAAgB,UAChB,cAAiB,UACjB,eAAkB,UAClB,YAAe,UACf,mBAAsB,UACtB,WAAc,UACd,gBAAmB,UACnB,QAAW,UACX,QAAW,UACX,SAAY,UACZ,cAAiB,UACjB,kBAAqB,UACrB,iBAAoB,UACpB,kBAAqB,UACrB,iBAAoB,UACpB,kBAAqB,UACrB,kBAAqB,UACrB,kBAAqB,UACrB,qBAAwB,UACxB,oBAAuB,UACvB,WAAc,UACd,sBAAyB,UACzB,YAAe,UACf,aAAgB,UAChB,mBAAsB,UACtB,YAAe,UACf,YAAe,UACf,aAAgB,UAChB,YAAe,UACf,cAAiB,UACjB,gBAAmB,UACnB,WAAc,UACd,cAAiB,UACjB,aAAgB,UAChB,aAAgB,UAChB,aAAgB,UAChB,cAAiB,UACjB,YAAe,UACf,cAAiB,UACjB,YAAe,UACf,YAAe,UACf,kBAAqB,UACrB,qBAAwB,UACxB,YAAe,UACf,MAAS,UACT,WAAc,UACd,yCAA4C,UAC5C,aAAgB,UAChB,WAAc,UACd,eAAkB,UAClB,QAAW,UACX,cAAiB,UACjB,UAAa,UACb,gBAAmB,UACnB,cAAiB,UACjB,OAAU,UACV,UAAa,UACb,OAAU,UACV,+BAAkC,UAClC,aAAgB,UAChB,qBAAwB,UACxB,WAAc,UACd,YAAe,UACf,mBAAsB,UACtB,aAAgB,UAChB,SAAY,UACZ,oBAAuB,UACvB,YAAe,UACf,UAAa,UACb,cAAiB,UACjB,cAAiB,UACjB,aAAgB,UAChB,gBAAmB,UACnB,eAAkB,UAClB,WAAc,UACd,MAAS,UACT,OAAU,UACV,OAAU,UACV,OAAU,UACV,WAAc,UACd,aAAgB,UAChB,QAAW,UACX,mBAAsB,UACtB,YAAe,UACf,YAAe,UACf,SAAY,UACZ,kBAAqB,UACrB,aAAgB,UAChB,UAAa,UACb,SAAY,UACZ,WAAc,UACd,YAAe,UACf,aAAgB,UAChB,aAAgB,UAChB,YAAe,UACf,iBAAoB,UACpB,kBAAqB,UACrB,eAAkB,UAClB,iBAAoB,UACpB,cAAiB,UACjB,aAAgB,UAChB,gBAAmB,UACnB,gBAAmB,UACnB,aAAgB,UAChB,cAAiB,UACjB,gBAAmB,UACnB,cAAiB,UACjB,gBAAmB,UACnB,aAAgB,UAChB,gBAAmB,UACnB,cAAiB,UACjB,cAAiB,UACjB,eAAkB,UAClB,YAAe,UACf,eAAkB,UAClB,kBAAqB,UACrB,gBAAmB,UACnB,qBAAwB,UACxB,cAAiB,UACjB,iBAAoB,UACpB,OAAU,UACV,cAAiB,UACjB,SAAY,UACZ,+BAAkC,UAClC,sCAAyC,UACzC,eAAkB,UAClB,qBAAwB,UACxB,eAAkB,UAClB,yBAA4B,UAC5B,aAAgB,UAChB,UAAa,UACb,aAAgB,UAChB,2BAA8B,UAC9B,cAAiB,UACjB,oCAAuC,UACvC,kBAAqB,UACrB,uBAA0B,UAC1B,sBAAyB,UACzB,eAAkB,UAClB,cAAiB,UACjB,cAAiB,UACjB,YAAe,UACf,cAAiB,UACjB,YAAe,UACf,cAAiB,UACjB,gBAAmB,UACnB,YAAe,UACf,UAAa,UACb,YAAe,UACf,SAAY,UACZ,UAAa,UACb,WAAc,UACd,eAAkB,UAClB,WAAc,UACd,eAAkB,UAClB,aAAgB,UAChB,gBAAmB,UACnB,eAAkB,UAClB,cAAiB,UACjB,iBAAoB,UACpB,WAAc,UACd,eAAkB,UAClB,qBAAwB,UACxB,WAAc,UACd,oBAAuB,UACvB,cAAiB,UACjB,qBAAwB,UACxB,WAAc,UACd,oBAAuB,UACvB,eAAkB,UAClB,YAAe,UACf,cAAiB,UACjB,aAAgB,UAChB,oBAAuB,UACvB,yBAA4B,UAC5B,kBAAqB,UACrB,cAAiB,UACjB,eAAkB,UAClB,kBAAqB,UACrB,gBAAmB,UACnB,kBAAqB,UACrB,aAAgB,UAChB,gBAAmB,UACnB,gBAAmB,UACnB,cAAiB,UACjB,qBAAwB,UACxB,eAAkB,UAClB,mBAAsB,UACtB,eAAkB,UAClB,kBAAqB,UACrB,kBAAqB,UACrB,WAAc,UACd,QAAW,UACX,UAAa,UACb,aAAgB,UAChB,kBAAqB,UACrB,mBAAsB,UACtB,kBAAqB,UACrB,cAAiB,UACjB,sBAAyB,UACzB,gBAAmB,UACnB,YAAe,UACf,aAAgB,UAChB,kBAAqB,UACrB,cAAiB,UACjB,aAAgB,UAChB,aAAgB,UAChB,eAAkB,UAClB,mBAAsB,UACtB,eAAkB,UAClB,qBAAwB,UACxB,cAAiB,UACjB,iBAAoB,UACpB,eAAkB,UAClB,YAAe,UACf,aAAgB,UAChB,eAAkB,UAClB,WAAc,UACd,0BAA6B,UAC7B,wBAA2B,UAC3B,iBAAoB,UACpB,gBAAmB,UACnB,oBAAuB,UACvB,eAAkB,UAClB,uBAA0B,UAC1B,YAAe,UACf,YAAe,UACf,QAAW,UACX,wBAA2B,UAC3B,YAAe,UACf,kBAAqB,UACrB,kBAAqB,UACrB,aAAgB,UAChB,eAAkB,UAClB,SAAY,UACZ,WAAc,UACd,aAAgB,UAChB,uBAA0B,UAC1B,eAAkB,UAClB,qBAAwB,UACxB,aAAgB,UAChB,cAAiB,UACjB,aAAgB,UAChB,aAAgB,UAChB,iBAAoB,UACpB,iBAAoB,UACpB,eAAkB,UAClB,mBAAsB,UACtB,UAAa,UACb,cAAiB,UACjB,aAAgB,UAChB,iBAAoB,UACpB,eAAkB,UAClB,mBAAsB,UACtB,gBAAmB,UACnB,aAAgB,UAChB,gBAAmB,UACnB,gBAAmB,UACnB,aAAgB,UAChB,cAAiB,UACjB,aAAgB,UAChB,YAAe,UACf,gBAAmB,UACnB,mBAAsB,UACtB,cAAiB,UACjB,sBAAyB,UACzB,iBAAoB,UACpB,gBAAmB,UACnB,gBAAmB,UACnB,mBAAsB,UACtB,eAAkB,UAClB,eAAkB,UAClB,qBAAwB,UACxB,iBAAoB,UACpB,eAAkB,UAClB,iBAAoB,UACpB,qBAAwB,UACxB,cAAiB,UACjB,4BAA+B,UAC/B,WAAc,UACd,YAAe,UACf,KAAQ,UACR,gBAAmB,UACnB,YAAe,UACf,kBAAqB,UACrB,YAAe,UACf,qBAAwB,UACxB,cAAiB,UACjB,gBAAmB,UACnB,aAAgB,UAChB,mBAAsB,UACtB,gBAAmB,UACnB,aAAgB,UAChB,aAAgB,UAChB,WAAc,UACd,cAAiB,UACjB,cAAiB,UACjB,YAAe,UACf,OAAU,UACV,cAAiB,UACjB,WAAc,UACd,eAAkB,UAClB,WAAc,UACd,aAAgB,UAChB,WAAc,UACd,oBAAuB,UACvB,eAAkB,UAClB,oBAAuB,UACvB,OAAU,UACV,kBAAqB,UACrB,eAAkB,UAClB,kBAAqB,UACrB,aAAgB,UAChB,cAAiB,UACjB,iBAAoB,UACpB,iBAAoB,UACpB,mBAAsB,UACtB,0BAA6B,UAC7B,aAAgB,UAChB,WAAc,UACd,iBAAoB,UACpB,0BAA6B,UAC7B,cAAiB,UACjB,aAAgB,UAChB,gBAAmB,UACnB,aAAgB,UAChB,0BAA6B,UAC7B,cAAiB,UACjB,WAAc,UACd,cAAiB,UACjB,UAAa,UACb,iBAAoB,UACpB,eAAkB,UAClB,qBAAwB,UACxB,YAAe,UACf,yBAA4B,UAC5B,YAAe,UACf,cAAiB,UACjB,aAAgB,UAChB,oBAAuB,UACvB,WAAc,UACd,kBAAqB,UACrB,gBAAmB,UACnB,gBAAmB,UACnB,0BAA6B,cAC7B,aAAgB,cAChB,4BAA+B,cAC/B,kBAAqB,cACrB,8BAAiC,cACjC,mBAAsB,cACtB,gBAAmB,cACnB,UAAa,cACb,iBAAoB,cACpB,YAAe,cACf,YAAe,cACf,YAAe,cACf,eAAkB,cAClB,sBAAyB,cACzB,uBAA0B,cAC1B,mBAAsB,cACtB,2BAA8B,cAC9B,yBAA4B,cAC5B,qBAAwB,cACxB,oBAAuB,cACvB,aAAgB,cAChB,yBAA4B,cAC5B,aAAgB,cAChB,IAAO,cACP,IAAO,cACP,cAAiB,cACjB,kBAAqB,cACrB,sBAAyB,cACzB,UAAa,cACb,oBAAuB,cACvB,sBAAyB,cACzB,UAAa,cACb,8BAAiC,cACjC,uBAA0B,cAC1B,wCAA2C,cAC3C,0BAA6B,cAC7B,oBAAuB,cACvB,mCAAsC,cACtC,kBAAqB,cACrB,4BAA+B,cAC/B,6BAAgC,cAChC,cAAiB,cACjB,mBAAsB,cACtB,wBAA2B,cAC3B,0BAA6B,cAC7B,0BAA6B,cAC7B,0BAA6B,cAC7B,SAAY,cACZ,SAAY,cACZ,iBAAoB,cACpB,aAAgB,cAChB,eAAkB,cAClB,uBAA0B,cAC1B,WAAc,cACd,kBAAqB,cACrB,SAAY,cACZ,QAAW,cACX,iBAAoB,cACpB,4CAA+C,cAC/C,gBAAmB,cACnB,gBAAmB,cACnB,eAAkB,cAClB,WAAc,cACd,UAAa,cACb,YAAe,cACf,uBAA0B,cAC1B,kCAAqC,cACrC,iBAAoB,UACpB,SAAY,UACZ,SAAY,UACZ,kBAAqB,UACrB,UAAa,UACb,WAAc,UACd,mBAAsB,UACtB,iBAAoB,UACpB,SAAY,UACZ,aAAgB,UAChB,cAAiB,UACjB,SAAY,UACZ,cAAiB,UACjB,SAAY,UACZ,WAAc,UACd,UAAa,UACb,SAAY,UACZ,WAAc,UACd,UAAa,UACb,6BAAgC,UAChC,SAAY,UACZ,iBAAoB,UACpB,UAAa,UACb,QAAW,UACX,QAAW,UACX,kBAAqB,UACrB,WAAc,UACd,UAAa,UACb,gBAAmB,UACnB,WAAc,UACd,OAAU,UACV,YAAe,UACf,cAAiB,UACjB,eAAkB,UAClB,gBAAmB,UACnB,iBAAoB,UACpB,SAAY,UACZ,oBAAuB,UACvB,eAAkB,UAClB,eAAkB,UAClB,aAAgB,UAChB,cAAiB,UACjB,gBAAmB,UACnB,MAAS,UACT,gBAAmB,UACnB,QAAW,UACX,UAAa,UACb,4BAA+B,UAC/B,yBAA4B,UAC5B,sBAAyB,UACzB,YAAe,UACf,WAAc,UACd,UAAa,UACb,WAAc,UACd,WAAc,UACd,eAAkB,UAClB,QAAW,UACX,eAAkB,UAClB,gBAAmB,UACnB,aAAgB,UAChB,aAAgB,UAChB,SAAY,UACZ,YAAe,UACf,UAAa,UACb,SAAY,UACZ,kBAAqB,UACrB,QAAW,UACX,WAAc,UACd,WAAc,UACd,OAAU,UACV,cAAiB,UACjB,eAAkB,UAClB,SAAY,UACZ,2BAA8B,UAC9B,WAAc,UACd,OAAU,UACV,WAAc,UACd,UAAa,UACb,SAAY,UACZ,QAAW,UACX,QAAW,UACX,MAAS,UACT,OAAU,UACV,aAAgB,UAChB,aAAgB,UAChB,iBAAoB,UACpB,cAAiB,UACjB,aAAgB,UAChB,aAAgB,UAChB,kBAAqB,UACrB,OAAU,UACV,eAAkB,UAClB,SAAY,UACZ,SAAY,UACZ,WAAc,UACd,UAAa,UACb,MAAS,UACT,QAAW,UACX,UAAa,UACb,aAAgB,UAChB,QAAW,UACX,SAAY,UACZ,gBAAmB,UACnB,SAAY,UACZ,gBAAmB,UACnB,cAAiB,UACjB,SAAY,UACZ,SAAY,UACZ,WAAc,UACd,SAAY,UACZ,YAAe,UACf,aAAgB,UAChB,oBAAuB,UACvB,oBAAuB,UACvB,UAAa,UACb,MAAS,UACT,eAAkB,UAClB,UAAa,UACb,UAAa,UACb,YAAe,UACf,iCAAoC,UACpC,UAAa,UACb,WAAc,UACd,WAAc,UACd,gBAAmB,UACnB,cAAiB,UACjB,QAAW,UACX,cAAiB,UACjB,SAAY,UACZ,QAAW,UACX,QAAW,UACX,SAAY,UACZ,SAAY,UACZ,aAAgB,UAChB,SAAY,UACZ,eAAkB,UAClB,UAAa,UACb,UAAa,UACb,aAAgB,UAChB,YAAe,UACf,UAAa,UACb,WAAc,UACd,QAAW,UACX,WAAc,UACd,WAAc,UACd,SAAY,UACZ,UAAa,UACb,WAAc,UACd,WAAc,UACd,SAAY,UACZ,aAAgB,UAChB,WAAc,UACd,MAAS,UACT,SAAY,UACZ,KAAQ,UACR,UAAa,UACb,SAAY,UACZ,UAAa,UACb,WAAc,UACd,OAAU,UACV,iBAAoB,UACpB,QAAW,UACX,uBAA0B,UAC1B,OAAU,UACV,WAAc,UACd,WAAc,UACd,WAAc,UACd,YAAe,UACf,WAAc,UACd,aAAgB,UAChB,SAAY,UACZ,cAAiB,UACjB,iBAAoB,UACpB,iBAAoB,UACpB,UAAa,UACb,YAAe,UACf,UAAa,UACb,UAAa,UACb,UAAa,UACb,eAAkB,UAClB,aAAgB,UAChB,eAAkB,UAClB,MAAS,UACT,SAAY,UACZ,SAAY,UACZ,KAAQ,UACR,MAAS,UACT,SAAY,UACZ,kBAAqB,UACrB,uBAA0B,UAC1B,oBAAuB,UACvB,OAAU,UACV,QAAW,UACX,iBAAoB,UACpB,KAAQ,UACR,OAAU,UACV,aAAgB,UAChB,gBAAmB,UACnB,QAAW,UACX,WAAc,UACd,SAAY,UACZ,SAAY,UACZ,OAAU,UACV,aAAgB,UAChB,YAAe,UACf,kBAAqB,UACrB,cAAiB,UACjB,WAAc,UACd,QAAW,UACX,aAAgB,UAChB,WAAc,UACd,OAAU,UACV,gBAAmB,UACnB,SAAY,UACZ,MAAS,UACT,QAAW,UACX,MAAS,UACT,kBAAqB,UACrB,aAAgB,UAChB,mBAAsB,UACtB,2BAA8B,UAC9B,QAAW,UACX,UAAa,UACb,SAAY,UACZ,SAAY,UACZ,eAAkB,UAClB,SAAY,UACZ,OAAU,UACV,aAAgB,UAChB,eAAkB,UAClB,SAAY,UACZ,WAAc,UACd,SAAY,UACZ,WAAc,UACd,gBAAmB,UACnB,UAAa,UACb,QAAW,UACX,eAAkB,UAClB,SAAY,UACZ,WAAc,UACd,YAAe,UACf,YAAe,UACf,UAAa,UACb,UAAa,UACb,YAAe,UACf,gBAAmB,UACnB,OAAU,UACV,MAAS,UACT,QAAW,UACX,YAAe,UACf,cAAiB,UACjB,aAAgB,UAChB,UAAa,UACb,WAAc,UACd,UAAa,UACb,KAAQ,UACR,OAAU,UACV,UAAa,UACb,kBAAqB,UACrB,YAAe,UACf,MAAS,UACT,SAAY,UACZ,UAAa,UACb,SAAY,UACZ,MAAS,UACT,YAAe,UACf,SAAY,UACZ,WAAc,UACd,aAAgB,UAChB,cAAiB,UACjB,WAAc,UACd,OAAU,UACV,UAAa,UACb,cAAiB,UACjB,iBAAoB,UACpB,mBAAsB,UACtB,UAAa,UACb,UAAa,UACb,MAAS,UACT,gBAAmB,UACnB,kBAAqB,UACrB,WAAc,UACd,OAAU,UACV,QAAW,UACX,aAAgB,UAChB,WAAc,UACd,SAAY,UACZ,aAAgB,UAChB,YAAe,UACf,OAAU,UACV,cAAiB,UACjB,UAAa,UACb,eAAkB,UAClB,qBAAwB,UACxB,WAAc,UACd,OAAU,UACV,YAAe,UACf,aAAgB,UAChB,gBAAiB,UACjB,mBAAsB,UACtB,SAAY,UACZ,WAAc,UACd,SAAY,UACZ,sBAAyB,UACzB,uBAA0B,UAC1B,qBAAwB,UACxB,WAAc,UACd,aAAgB,UAChB,YAAe,UACf,WAAc,UACd,eAAkB,UAClB,cAAe,UACf,QAAW,UACX,mBAAsB,UACtB,eAAkB,UAClB,WAAc,UACd,aAAgB,UAChB,SAAY,UACZ,cAAiB,UACjB,YAAe,UACf,SAAY,UACZ,YAAe,UACf,cAAiB,UACjB,gBAAmB,UACnB,wBAA2B,UAC3B,qBAAwB,UACxB,iBAAoB,UACpB,kBAAqB,UACrB,mBAAsB,UACtB,gBAAmB,UACnB,YAAe,UACf,eAAkB,UAClB,cAAiB,UACjB,qBAAwB,UACxB,UAAa,UACb,SAAY,UACZ,YAAe,UACf,kBAAqB,UACrB,YAAe,UACf,QAAW,UACX,YAAe,UACf,SAAY,UACZ,gBAAiB,UACjB,cAAiB,UACjB,OAAU,UACV,aAAgB,UAChB,QAAW,UACX,OAAU,UACV,OAAU,UACV,KAAQ,UACR,eAAkB,UAClB,eAAkB,UAClB,aAAgB,UAChB,SAAY,UACZ,OAAU,UACV,WAAc,UACd,WAAc,UACd,UAAa,UACb,YAAe,UACf,cAAiB,UACjB,UAAa,UACb,UAAa,UACb,YAAe,UACf,UAAa,UACb,WAAc,UACd,8BAAiC,UACjC,0BAA6B,UAC7B,2BAA8B,UAC9B,gBAAmB,UACnB,OAAU,UACV,SAAY,UACZ,QAAW,UACX,YAAe,UACf,SAAY,UACZ,QAAW,UACX,SAAY,UACZ,WAAc,UACd,SAAY,UACZ,OAAU,UACV,SAAY,UACZ,YAAe,UACf,gBAAmB,UACnB,cAAiB,UACjB,YAAe,UACf,gBAAmB,UACnB,cAAiB,UACjB,kBAAqB,UACrB,eAAkB,UAClB,WAAc,UACd,sBAAyB,UACzB,YAAe,UACf,gBAAmB,UACnB,oBAAuB,UACvB,kBAAqB,UACrB,QAAW,UACX,UAAa,UACb,QAAW,UACX,cAAiB,UACjB,SAAY,UACZ,QAAW,UACX,gBAAmB,UACnB,WAAc,UACd,mBAAsB,UACtB,eAAkB,UAClB,aAAgB,UAChB,kBAAqB,UACrB,aAAgB,UAChB,WAAc,UACd,QAAW,UACX,OAAU,UACV,SAAY,UACZ,0BAA6B,UAC7B,WAAc,UACd,6BAAgC,UAChC,wBAA2B,UAC3B,uBAA0B,UAC1B,qBAAwB,UACxB,4BAA+B,UAC/B,iCAAoC,UACpC,YAAe,UACf,gBAAmB,UACnB,iBAAoB,UACpB,iBAAoB,UACpB,SAAY,UACZ,UAAa,UACb,eAAkB,UAClB,WAAc,UACd,WAAc,UACd,WAAc,UACd,YAAe,UACf,eAAkB,UAClB,4BAA+B,UAC/B,iBAAoB,UACpB,YAAe,UACf,gBAAmB,UACnB,gBAAmB,UACnB,iBAAoB,UACpB,iBAAoB,UACpB,SAAY,UACZ,YAAe,UACf,YAAe,UACf,WAAc,UACd,UAAa,UACb,UAAa,UACb,eAAkB,UAClB,eAAkB,UAClB,cAAiB,UACjB,YAAe,UACf,SAAY,UACZ,aAAgB,UAChB,UAAa,UACb,YAAe,UACf,WAAc,UACd,kBAAqB,UACrB,YAAe,UACf,WAAc,UACd,QAAW,UACX,QAAW,UACX,aAAgB,UAChB,UAAa,UACb,cAAiB,UACjB,cAAiB,UACjB,oBAAuB,UACvB,oBAAuB,UACvB,MAAS,UACT,aAAgB,UAChB,QAAW,UACX,mBAAsB,UACtB,YAAe,UACf,WAAc,UACd,eAAkB,UAClB,qBAAwB,UACxB,qBAAwB,UACxB,cAAiB,UACjB,eAAkB,UAClB,UAAa,UACb,cAAiB,UACjB,OAAU,UACV,mBAAsB,UACtB,WAAc,UACd,UAAa,UACb,UAAa,UACb,UAAa,UACb,QAAW,UACX,YAAe,UACf,gBAAmB,UACnB,mBAAsB,UACtB,iBAAoB,UACpB,gBAAmB,UACnB,aAAgB,UAChB,IAAO,UACP,WAAc,UACd,kBAAqB,UACrB,SAAY,UACZ,cAAiB,UACjB,gBAAmB,UACnB,cAAiB,UACjB,WAAc,UACd,YAAe,UACf,kBAAqB,UACrB,oBAAuB,UACvB,cAAiB,UACjB,cAAiB,UACjB,iBAAoB,UACpB,mBAAsB,UACtB,mBAAsB,UACtB,aAAgB,UAChB,cAAiB,UACjB,4BAA+B,UAC/B,SAAY,UACZ,WAAc,UACd,yBAA4B,UAC5B,WAAc,UACd,cAAiB,UACjB,yCAA4C,UAC5C,aAAgB,UAChB,kBAAqB,UACrB,cAAiB,UACjB,QAAW,UACX,eAAkB,UAClB,gBAAmB,UACnB,sBAAyB,UACzB,oBAAuB,UACvB,mBAAsB,UACtB,kBAAqB,UACrB,UAAa,UACb,cAAiB,UACjB,cAAiB,UACjB,kBAAqB,UACrB,yBAA4B,UAC5B,YAAe,UACf,UAAa,UACb,WAAc,UACd,YAAe,UACf,kBAAqB,UACrB,aAAgB,UAChB,MAAS,UACT,kBAAqB,UACrB,kBAAqB,UACrB,QAAW,UACX,gBAAmB,UACnB,iBAAoB,UACpB,UAAa,UACb,wBAA2B,UAC3B,mBAAsB,UACtB,cAAe,UACf,0BAA6B,UAC7B,qBAAwB,UACxB,uBAA0B,UAC1B,gBAAmB,UACnB,oBAAuB,UACvB,QAAW,UACX,MAAS,UACT,iCAAoC,UACpC,0BAA6B,UAC7B,eAAkB,UAClB,iBAAoB,UACpB,qBAAwB,UACxB,uBAA0B,UAC1B,mBAAsB,UACtB,aAAgB,UAChB,eAAkB,UAClB,WAAc,UACd,UAAa,UACb,aAAgB,UAChB,SAAY,UACZ,UAAa,UACb,sBAAyB,UACzB,WAAc,UACd,iBAAoB,UACpB,WAAc,UACd,cAAiB,UACjB,YAAe,UACf,eAAkB,UAClB,QAAW,UACX,SAAY,UACZ,cAAiB,UACjB,WAAc,UACd,gBAAmB,UACnB,gBAAmB,UACnB,cAAiB,UACjB,sBAAyB,UACzB,mBAAsB,UACtB,iBAAoB,UACpB,YAAe,UACf,gBAAmB,UACnB,iBAAoB,UACpB,YAAe,UACf,WAAc,UACd,iBAAoB,UACpB,mBAAsB,UACtB,YAAe,UACf,aAAgB,UAChB,kBAAqB,UACrB,cAAiB,UACjB,oBAAuB,UACvB,mBAAsB,UACtB,eAAkB,UAClB,mBAAsB,UACtB,UAAa,UACb,iBAAoB,UACpB,eAAkB,UAClB,aAAgB,UAChB,6BAAgC,UAChC,eAAkB,UAClB,uBAA0B,UAC1B,oBAAuB,UACvB,WAAc,UACd,aAAgB,UAChB,sBAAyB,UACzB,eAAkB,UAClB,YAAe,UACf,QAAW,UACX,aAAgB,UAChB,cAAiB,UACjB,iBAAoB,UACpB,eAAkB,UAClB,WAAc,UACd,UAAa,UACb,WAAc,UACd,eAAkB,UAClB,aAAgB,UAChB,OAAU,UACV,qBAAwB,UACxB,kBAAqB,UACrB,OAAU,UACV,gBAAmB,UACnB,cAAiB,UACjB,QAAW,UACX,IAAO,UACP,aAAgB,UAChB,aAAgB,UAChB,gBAAmB,UACnB,WAAc,UACd,YAAe,UACf,gBAAmB,UACnB,8BAAiC,UACjC,gCAAmC,UACnC,kBAAqB,UACrB,eAAkB,UAClB,OAAU,UACV,cAAiB,UACjB,uBAA0B,UAC1B,eAAkB,UAClB,sBAAyB,UACzB,kBAAqB,UACrB,kBAAqB,UACrB,MAAS,UACT,QAAW,UACX,SAAY,UACZ,SAAY,UACZ,QAAW,UACX,YAAe,UACf,WAAc,UACd,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAW,UACX,QAAW,UACX,MAAS,UACT,MAAS,UACT,QAAW,UACX,IAAO,UACP,IAAO,UACP,IAAO,UACP,MAAS,UACT,OAAU,UACV,SAAY,UACZ,MAAS,UACT,MAAS,UACT,mBAAsB,UACtB,eAAkB,UAClB,OAAU,UACV,cAAiB,UACjB,WAAc,UACd,UAAa,UACb,eAAkB,UAClB,YAAe,UACf,UAAa,UACb,aAAgB,UAChB,QAAW,UACX,oBAAuB,UACvB,gBAAmB,UACnB,qCAAwC,UACxC,kBAAqB,UACrB,iBAAoB,UACpB,4BAA+B,UAC/B,KAAQ,UACR,cAAiB,UACjB,WAAc,UACd,UAAa,UACb,aAAgB,UAChB,cAAiB,UACjB,aAAgB,UAChB,0BAA6B,UAC7B,aAAgB,UAChB,sBAAyB,UACzB,UAAa,UACb,YAAe,UACf,cAAiB,UACjB,cAAiB,cACjB,eAAkB,cAClB,mBAAsB,cACtB,yBAA4B,cAC5B,8BAAiC,cACjC,uBAA0B,cAC1B,uBAA0B,cAC1B,MAAS,cACT,SAAY,cACZ,kBAAqB,cACrB,oBAAuB,cACvB,mBAAsB,cACtB,MAAS,cACT,UAAa,cACb,SAAY,cACZ,UAAa,cACb,SAAY,cACZ,eAAkB,cAClB,UAAa,cACb,SAAY,cACZ,iBAAoB,cACpB,oBAAuB,cACvB,oBAAuB,cACvB,mBAAsB,cACtB,2BAA8B,cAC9B,OAAU,cACV,sBAAyB,cACzB,oBAAuB,cACvB,WAAc,cACd,mBAAsB,cACtB,2BAA8B,cAC9B,gCAAmC,cACnC,WAAc,UACd,gBAAmB,UACnB,SAAY,UACZ,kBAAqB,UACrB,iBAAkB,UAClB,mBAAoB,UACpB,iBAAoB,UACpB,qBAAwB,UACxB,WAAc,UACd,8BAAiC,UACjC,4BAA+B,UAC/B,WAAc,UACd,oBAAuB,UACvB,uCAA0C,UAC1C,YAAe,UACf,GAAM,UACN,QAAW,UACX,qBAAwB,cACxB,wBAA2B,cAC3B,WAAc,UACd,yBAA4B,UAC5B,YAAe,UACf,OAAU,UACV,IAAO,cACP,sBAAyB,cACzB,YAAe,cACf,WAAc,cACd,KAAQ,cACR,uBAA0B,cAC1B,mBAAsB,cACtB,qBAAwB,cACxB,SAAY,cACZ,YAAe,UACf,YAAe,UACf,WAAc,UACd,yBAA4B,UAC5B,cAAiB,UACjB,OAAU,UACV,cAAiB,UACjB,UAAa,UACb,mBAAsB,UACtB,4BAA+B,UAC/B,uCAA0C,UAC1C,eAAkB,UAClB,UAAa,UACb,cAAiB,UACjB,gBAAmB,UACnB,KAAQ,UACR,sBAAyB,cACzB,sBAAyB,cACzB,sBAAyB,eC3uFf,IACR,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,OAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,OAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,QAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,QAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,QAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,QAAS,cACT,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,QAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,KAAQ,cACR,QAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,QAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,QAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,QAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,QAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,SAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,SAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,SAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,SAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,SAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,SAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,cACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,cACT,MAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,cACT,MAAS,cACT,MAAS,UACT,MAAS,UACT,MAAS,cACT,MAAS,cACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,SAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,SAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,SAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,cACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,QAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,MAAS,UACT,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KA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","file":"js/app.71fe19c2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0ac417\":\"c67b74c9\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\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\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAvatarBannerItem.vue?vue&type=style&index=0&id=0b87c2fa&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisclaimerView.vue?vue&type=style&index=0&id=cef6c45e&prod&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsView.vue?vue&type=style&index=0&id=3e326405&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageLicensesView.vue?vue&type=style&index=0&id=7da84e58&prod&lang=scss&scoped=true\"","export default {\r\n 'app.page.title.login': 'Authentification',\r\n 'app.loading': 'Chargement',\r\n\r\n\r\n 'app.button.cancel': 'Annuler',\r\n 'app.button.OK': 'OK',\r\n 'app.button.export.CSV': 'Exporter',\r\n 'app.button.export.all': 'Exporter tout',\r\n 'app.button.refresh':'Rafraîchir',\r\n\r\n 'app.datatable.no.data.text': 'Aucune donnée enregistrée',\r\n 'app.datatable.no.result.text': 'Aucun résultat correspond au critère de recherche',\r\n 'app.datatable.footer.pagination.text': 'Éléments par page',\r\n 'app.datatable.footer.pagination.all.text': 'Tout',\r\n\r\n 'app.feature.analytics.owner': 'Utilisateur',\r\n 'app.feature.analytics.users': 'Utilisateurs',\r\n 'app.feature.analytics.dateFrom': 'Début de période',\r\n 'app.feature.analytics.dateTo': 'Fin de période',\r\n\r\n 'app.form.datepicker.period.menu.label.from': 'Du',\r\n 'app.form.datepicker.period.menu.label.to': 'au',\r\n 'app.form.datepicker.period.menu.placeholder': 'Sélectionnez une date',\r\n 'app.form.datepicker.label.mode.month': 'Montrer mois',\r\n 'app.form.datepicker.label.mode.day': 'Montrer jours',\r\n\r\n 'app.common.error.server.request.failed': 'Service indisponible, veuillez réessayer ultérieurement...',\r\n 'app.common.error.server.temp.unavailable': 'Service momentanément indisponible, veuillez réessayer ultérieurement...',\r\n 'app.common.error.server.bad.request': 'Requête invalide, veuillez contacter le support technique.',\r\n 'app.common.error.server.unknown': 'Une erreur inconnue est survenue, veuillez contacter le support technique.',\r\n 'app.common.error.server.internal': 'Une erreur est survenue lors du traitement de votre demande, veuillez contacter le support technique.',\r\n 'app.common.error.server.unreachable': 'Connexion au serveur refusée ou impossible.',\r\n 'app.common.error.server.wrong.params': 'Paramètres invalides.',\r\n 'app.common.error.invalid.jwt.token' : 'Requête d\\'authentification invalide (token), veuillez contacter le support technique.',\r\n 'app.common.error.auth.invalid_request': 'Requête d\\'authentification invalide, veuillez contacter le support technique.',\r\n 'app.common.error.auth.invalid.state.code': 'Échec d\\'authentification, veuillez contacter le support technique.',\r\n 'app.common.error.expired.licence': 'Votre licence a expiré, veuillez contacter le service client pour tout renouvellement.',\r\n\r\n 'app.common.disclaimer.msg.loading': 'Chargement en cours...',\r\n\r\n // Month translation\r\n 'month.number.0': 'Janvier',\r\n 'month.number.1': 'Février',\r\n 'month.number.2': 'Mars',\r\n 'month.number.3': 'Avril',\r\n 'month.number.4': 'Mai',\r\n 'month.number.5': 'Juin',\r\n 'month.number.6': 'Juillet',\r\n 'month.number.7': 'Août',\r\n 'month.number.8': 'Septembre',\r\n 'month.number.9': 'Octobre',\r\n 'month.number.10': 'Novembre',\r\n 'month.number.11': 'Décembre',\r\n}\r\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.rephrase.twolineslist.title.examples\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Exemples\"])}\n },\n \"en\": {\n \"app.rephrase.twolineslist.title.examples\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Examples\"])}\n },\n \"es\": {\n \"app.rephrase.twolineslist.title.examples\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ejemplos\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.rephrase.twolineslist.title.examples\":\"Exemples\"},\"en\":{\"app.rephrase.twolineslist.title.examples\":\"Examples\"},\"es\":{\"app.rephrase.twolineslist.title.examples\":\"Ejemplos\"}}')\n delete Component.options._Ctor\n \n}\n","export default {\r\n 'app.name': 'Cordial',\r\n 'app.page.title.home': 'Regresar a la página inicial',\r\n\r\n // RolesEnum\r\n 'app.common.user.role.admin-cordial': 'Administrador',\r\n 'app.common.user.role.stats-correction-cordial': 'Responsable de equipo',\r\n 'app.common.user.role.correction-cordial': 'Usuario Cordial',\r\n 'app.common.user.role.licenses-manager': 'Gestor de licencias',\r\n\r\n // AppFeatureGroupsEnum\r\n 'app.menu.feature.group.monitoring': 'Monitoreo Cordial',\r\n 'app.menu.feature.group.loggedUser': 'Mi cuenta',\r\n\r\n // LoggedUserFeaturesEnum\r\n 'app.menu.logout': 'Desconectarse',\r\n 'app.menu.subscription': 'Administrar mi suscripción',\r\n\r\n // MainAppFeaturesEnum\r\n 'app.menu.analytics': 'Indicadores de seguimiento',\r\n 'app.menu.team': 'Progreso del equipo',\r\n 'app.menu.licenses': 'Gestión de licencias',\r\n\r\n // Subscription Alert\r\n 'app.subscription.alert.message': 'Tu suscripción ha expirado. Para suscribirte nuevamente y disfrutar de Cordial,',\r\n 'app.subscription.alert.link': 'haz clic aquí',\r\n\r\n // UsedLicenses\r\n 'app.licenses.used': 'Número de licencias : ',\r\n\r\n // ImportUsers\r\n 'app.user.import.dialog.button.title': 'Importar usuarios',\r\n 'app.user.import.dialog.title': 'Importar usuarios',\r\n 'app.user.import.dialog.file': 'Archivo CSV',\r\n 'app.user.import.dialog.file.error': 'El archivo debe ser un archivo CSV válido.',\r\n 'app.user.import.dialog.company.pass' : 'Pase de empresa',\r\n 'app.user.import.dialog.cancel': 'Cancelar',\r\n 'app.user.import.dialog.import': 'Importar',\r\n\r\n // UserDeleteConfirmationDialog\r\n 'app.user.delete.dialog.button.title' : 'Eliminar usuarios',\r\n 'app.user.delete.confirmation.dialog.title': 'Confirmación de eliminación',\r\n 'app.user.delete.confirmation.dialog.content': '¿Está seguro de que desea eliminar este usuario?',\r\n 'app.users.delete.confirmation.dialog.content': '¿Estás seguro de que quieres eliminar a estos usuarios?',\r\n 'app.user.delete.confirmation.dialog.cancel': 'Cancelar',\r\n 'app.user.delete.confirmation.dialog.confirm': 'Confirmar',\r\n\r\n // UserCreateDialog\r\n 'app.user.create.dialog.button.title': 'Crear cuenta',\r\n 'app.user.create.dialog.title': 'Crear cuenta',\r\n 'app.user.create.dialog.email': 'Correo electrónico',\r\n 'app.user.create.dialog.email.error': 'El correo electrónico no es válido.',\r\n 'app.user.create.dialog.password': 'Contraseña',\r\n 'app.user.create.dialog.password.error': 'La contraseña debe tener al menos 8 caracteres, incluyendo al menos una letra mayúscula, una letra minúscula, un número y un carácter especial',\r\n 'app.user.create.dialog.confirm.password': 'Confirmar contraseña',\r\n 'app.user.create.dialog.confirm.password.error': 'Las contraseñas no coinciden.',\r\n 'app.user.create.dialog.firstname': 'Nombre',\r\n 'app.user.create.dialog.lastname': 'Apellido',\r\n 'app.user.create.dialog.company.pass' : 'Pase de empresa',\r\n 'app.user.create.dialog.service' : 'Servicio',\r\n 'app.user.create.dialog.managers': 'Responsables',\r\n 'app.user.create.dialog.required': 'Campo obligatorio.',\r\n 'app.user.create.dialog.cancel': 'Cancelar',\r\n 'app.user.create.dialog.create': 'Crear',\r\n 'app.user.create.dialog.create.error.conflict': 'Ya existe una cuenta con esta información.',\r\n 'app.user.create.dialog.create.error.maxlicenses': 'No hay suficientes licencias disponibles.',\r\n 'app.user.create.dialog.newtenant': 'New Company pass',\r\n\r\n // DetailsUserCard\r\n 'app.user.details.card.email': 'Correo electrónico',\r\n 'app.user.details.card.creationDate': 'Fecha de creación',\r\n 'app.user.details.card.lastUseDate': 'Último uso',\r\n 'app.user.details.card.tenantName': 'Pase de empresa',\r\n 'app.user.details.card.service': 'Servicio',\r\n 'app.user.details.card.managers': 'Responsables',\r\n 'app.user.details.card.create.password': 'Crear contraseña',\r\n 'app.user.details.card.send.link': 'Enviar',\r\n 'app.user.details.card.copy.link': 'Copia',\r\n 'app.user.details.card.edit.cancel': 'Cancelar',\r\n 'app.user.details.card.edit.save': 'Guardar',\r\n\r\n // EmailInfo\r\n 'app.user.create.email.subject': 'Su licencia Cordial ha sido activada.',\r\n 'app.user.create.email.body': \"Su licencia de Cordial ha sido activada por su administrador. Por favor, haga clic en el siguiente enlace para crear su contraseña:\",\r\n 'app.user.set.password.email.subject': 'Su enlace de creación de contraseña',\r\n 'app.user.set.password.email.body': \"Hola, ha solicitado crear una contraseña para su cuenta de Cordial. Haga clic en el siguiente enlace para crear su contraseña:\",\r\n 'app.user.delete.email.subject': 'Su licencia de Cordial ha sido desactivada.',\r\n 'app.user.delete.email.body': \"Su licencia de Cordial ha sido desactivada por su administrador. Para más información, póngase en contacto con su administrador.\",\r\n\r\n // SetPasswordSnackbarMessages\r\n 'app.user.set.password.snackbar.mail': 'El enlace para crear la contraseña se ha enviado por correo electrónico.',\r\n 'app.user.set.password.snackbar.mail.error': 'Se ha producido un error al enviar el correo electrónico.',\r\n 'app.user.set.password.snackbar.copy': 'El enlace de creación de contraseña se ha copiado en el portapapeles.',\r\n 'app.user.set.password.snackbar.error': 'Se ha producido un error al copiar el enlace.',\r\n 'app.user.set.password.snackbar.close': 'Cerrar',\r\n\r\n // UsersTable\r\n 'app.datatable.items.per.page.text': 'Usuarios por página',\r\n 'app.datatable.items.per.page.all': 'Todos',\r\n 'app.datatable.page.text': '{0}-{1} de {2}',\r\n 'app.datatable.search.text': 'Buscar',\r\n 'app.datatable.user.reactivate': 'Reactivar esta cuenta',\r\n 'app.datatable.user.desactivated': 'Esta cuenta está desactivada',\r\n 'app.datatable.user.desactivate' : 'Desactivar esta cuenta',\r\n\r\n // UserCreatedSuccessDialog\r\n 'app.user.created.success.dialog.title': 'Cuenta inicializada',\r\n 'app.user.created.success.dialog.content': 'La cuenta se ha inicializado correctamente. El usuario necesita ahora establecer su contraseña para finalizar su cuenta. ¿Cómo desea enviarles el enlace de activación?',\r\n 'app.user.created.success.dialog.close': 'Cerrar',\r\n\r\n // ErrorFirstLevelClassEnum\r\n 'app.analytics.correction.kpis.nb-errors-found.orthographe': 'Ortografía',\r\n 'app.analytics.correction.kpis.nb-errors-found.typographie': 'Tipografía',\r\n 'app.analytics.correction.kpis.nb-errors-found.syntaxe': 'Sintaxis',\r\n\r\n // AppServiceUsageEnum\r\n 'app.analytics.service.usage.kpis.nb-correction-requests': 'Solicitud de corrección',\r\n 'app.analytics.service.usage.kpis.nb-errors-found': 'Cantidad de errores reportados',\r\n 'app.analytics.service.usage.kpis.nb-applied-suggestions': 'Cantidad de correcciones aplicadas',\r\n 'app.analytics.rephrasing.kpis.nb-rephrasing-requests': 'Solicitudes de reformulación',\r\n 'app.analytics.rephrasing.kpis.nb-rephrasing-applied': 'Reformulación aplicada',\r\n 'app.analytics.rephrasing.kpis.rephrasing-application-ratio': 'Porcentaje de aplicación',\r\n\r\n // Tabular view and export CSV data\r\n 'app.analytics.kpis.orthographe': 'Errores de ortografía',\r\n 'app.analytics.kpis.typographie': 'Errores de tipografía',\r\n 'app.analytics.kpis.syntaxe': 'Errores de sintaxis',\r\n 'app.analytics.kpis.nb-correction-requests': 'No. solicitudes de corrección',\r\n 'app.analytics.kpis.nb-errors-found': 'No. errores reportados',\r\n 'app.analytics.kpis.nb-applied-suggestions': 'No. correcciones aplicadas',\r\n 'app.analytics.kpis.totalConsumption': 'No. de caracteres corregidos',\r\n 'app.analytics.kpis.average-errors': `No. de errores detectados en promedio por cada usuario`,\r\n 'app.analytics.kpis.verified-word-average': `No. de palabras verificadas en promedio por cada usuario`,\r\n\r\n // Http errors to be displayed in snack bar\r\n 'app.common.error.server.request.failed': 'Servicio indisponible, por favor regrese más tarde...',\r\n 'app.common.error.server.temp.unavailable': 'Servicio indisponible, por favor regrese más tarde...',\r\n 'app.common.error.server.bad.request': 'Solicitud inválida, por favor contacte el servicio técnico.',\r\n 'app.common.error.server.unknown': 'Un problema desconocido ha sido detectado, por favor contacte el servicio técnico.',\r\n 'app.common.error.server.internal': 'Un error del servidor ha sido detectado, por favor contacte el servicio técnico.',\r\n 'app.common.error.server.unreachable': 'Conexión al servidor rechazada o inalcanzable, por favor contacte el servicio técnico.',\r\n 'app.common.error.server.wrong.params': 'Solicitud inválida, los parámetros son incorrectos, por favor contacte el servicio técnico.',\r\n 'app.common.error.server.invalid.configuration' : 'Un problema ha sido detectado, por favor verifique la configuración del servidor.',\r\n 'app.common.error.invalid.jwt.token' : 'Solicitud de identification inválida (token), por favor contacte el servicio técnico.',\r\n 'app.common.error.auth.invalid.server.url': 'Configuración inválida, la URL del servidor de identificación es desconocida.',\r\n 'app.common.error.auth.invalid.request': 'Solicitud de identification inválida, por favor contacte el servicio técnico.',\r\n 'app.common.error.auth.token.scope.invalid.access': 'Solicitud de identification inválida, el token no tiene el scope requerido.',\r\n 'app.common.error.auth.invalid.state.code': 'Solicitud de identification denegada, por favor contacte el servicio técnico.',\r\n 'app.common.error.expired.licence': 'La licencia ha expirado, por favor contacte el servicio de atención al cliente para cualquier renovación.',\r\n 'app.common.error.server.expired.token': 'Su sesión de trabajo ha expirado, quiere ser redirigido a la página de inicio de sesión ?',\r\n 'app.common.error.auth.denied' : 'Nivel de acceso insuficiente, por favor contacte el administrador del chatbot para configurar correctamente su cuenta.',\r\n\r\n //Charts\r\n 'app.analytics.average' : 'Promedio'\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserDetailsCard.vue?vue&type=style&index=0&id=9350720e&prod&lang=scss&scoped=true\"","export class EncodageHelper {\r\n /**\r\n * Encodes in base64 the given object.\r\n * @param obj The object to encode in base64\r\n * @returns The encoded object as a string\r\n */\r\n public static encodeBase64Object(obj: any): string {\r\n return Buffer.from(JSON.stringify(obj)).toString('base64')\r\n }\r\n\r\n /**\r\n * Decodes base64 the given string.\r\n * @param encodedStr The object encoded in base64\r\n * @returns The decoded object\r\n */\r\n public static decodeBase64Object(encodedStr: string): any {\r\n const decodedStr: string = Buffer.from(encodedStr, 'base64').toString('ascii')\r\n return JSON.parse(decodedStr)\r\n }\r\n}","import mod from \"-!../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFoundView.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFoundView.vue?vue&type=custom&index=0&blockType=i18n\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopFiveErrorTypes.vue?vue&type=style&index=1&id=41be0499&prod&lang=scss&scoped=true\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.errorpage.disclaimer\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolée, un problème est survenu, le service est momentanément indisponible.\"])}\n },\n \"en\": {\n \"app.errorpage.disclaimer\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, a problem has been found, the service is not available for the moment.\"])}\n },\n \"es\": {\n \"app.errorpage.disclaimer\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lo sentimos, ha occurrido un problema, el servicio no está disponible por el momento.\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.errorpage.disclaimer\":\"Désolée, un problème est survenu, le service est momentanément indisponible.\"},\"en\":{\"app.errorpage.disclaimer\":\"Sorry, a problem has been found, the service is not available for the moment.\"},\"es\":{\"app.errorpage.disclaimer\":\"Lo sentimos, ha occurrido un problema, el servicio no está disponible por el momento.\"}}')\n delete Component.options._Ctor\n \n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.analytics.custom.filters.users\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sélectionnez un ou plusieurs utilisateurs\"])}\n },\n \"en\": {\n \"app.analytics.custom.filters.users\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Select one or several users\"])}\n },\n \"es\": {\n \"app.analytics.custom.filters.users\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Selectione uno o varios usuarios\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.analytics.custom.filters.users\":\"Sélectionnez un ou plusieurs utilisateurs\"},\"en\":{\"app.analytics.custom.filters.users\":\"Select one or several users\"},\"es\":{\"app.analytics.custom.filters.users\":\"Selectione uno o varios usuarios\"}}')\n delete Component.options._Ctor\n \n}\n","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopFiveErrorTypes.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopFiveErrorTypes.vue?vue&type=custom&index=0&blockType=i18n\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordCreationLink.vue?vue&type=style&index=0&id=1c93906c&prod&lang=scss&scoped=true\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsView.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsView.vue?vue&type=custom&index=0&blockType=i18n\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHolygrailLayout.vue?vue&type=style&index=0&id=e5881818&prod&lang=scss&scoped=true\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsServiceFilters.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsServiceFilters.vue?vue&type=custom&index=0&blockType=i18n\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-ps\": \"4c98\",\n\t\"./ar-ps.js\": \"4c98\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku-kmr\": \"7558\",\n\t\"./ku-kmr.js\": \"7558\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var map = {\n\t\"./en.ts\": \"84ff\",\n\t\"./es.ts\": \"15af\",\n\t\"./fr.ts\": \"6cca\",\n\t\"./index.ts\": \"6ebf\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"5643\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsLangPickerMenu.vue?vue&type=style&index=0&id=51b033ec&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopFiveErrorTypes.vue?vue&type=style&index=0&id=41be0499&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsFilterAndExport.vue?vue&type=style&index=0&id=1b46bd63&prod&lang=scss&scoped=true\"","var map = {\n\t\"./en.ts\": \"9b31\",\n\t\"./es.ts\": \"c69a\",\n\t\"./fr.ts\": \"0663\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"5c5b\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportUsersForm.vue?vue&type=style&index=0&id=7820e2e9&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTopbar.vue?vue&type=style&index=1&id=c58c0184&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuList.vue?vue&type=style&index=0&id=e97f1aa0&prod&lang=scss&scoped=true\"","import mod from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BoxList.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BoxList.vue?vue&type=custom&index=0&blockType=i18n\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppPlaceholder.vue?vue&type=style&index=0&id=f0d64510&prod&lang=scss&scoped=true\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.analytics.top.five.error.types.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Palmarès des corrections appliquées les plus fréquentes\"])},\n \"app.analytics.progression.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bilan de progression sur la période\"])},\n \"app.analytics.error.progression\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Progression du nombre d'erreurs\"])},\n \"app.analytics.progression.pie.chart.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total répartition par catégorie d'erreur\"])},\n \"app.analytics.progression.pie.chart.yaxis.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre d'erreurs détectées par catégorie\"])},\n \"app.analytics.average.progression.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Qualité moyenne des écrits sur la période\"])}\n },\n \"en\": {\n \"app.analytics.top.five.error.types.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Most frequent errors\"])},\n \"app.analytics.progression.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Period progression\"])},\n \"app.analytics.error.progression\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error count progression\"])},\n \"app.analytics.progression.pie.chart.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total by error categories\"])},\n \"app.analytics.progression.pie.chart.yaxis.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Number of errors detected by category\"])},\n \"app.analytics.average.progression.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Writting quality over the period\"])}\n },\n \"es\": {\n \"app.analytics.top.five.error.types.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Errores más frecuentes\"])},\n \"app.analytics.progression.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Progreso en el período\"])},\n \"app.analytics.error.progression\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Evolución del nombre de errores\"])},\n \"app.analytics.progression.pie.chart.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total por cada categoría\"])},\n \"app.analytics.progression.pie.chart.yaxis.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cantidad de errores detectos por cada categoría\"])},\n \"app.analytics.average.progression.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Calidad promedio de la redacción\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.analytics.top.five.error.types.title\":\"Palmarès des corrections appliquées les plus fréquentes\",\"app.analytics.progression.title\":\"Bilan de progression sur la période\",\"app.analytics.error.progression\":\"Progression du nombre d\\u0027erreurs\",\"app.analytics.progression.pie.chart.title\":\"Total répartition par catégorie d\\u0027erreur\",\"app.analytics.progression.pie.chart.yaxis.title\":\"Nombre d\\u0027erreurs détectées par catégorie\",\"app.analytics.average.progression.title\":\"Qualité moyenne des écrits sur la période\"},\"en\":{\"app.analytics.top.five.error.types.title\":\"Most frequent errors\",\"app.analytics.progression.title\":\"Period progression\",\"app.analytics.error.progression\":\"Error count progression\",\"app.analytics.progression.pie.chart.title\":\"Total by error categories\",\"app.analytics.progression.pie.chart.yaxis.title\":\"Number of errors detected by category\",\"app.analytics.average.progression.title\":\"Writting quality over the period\"},\"es\":{\"app.analytics.top.five.error.types.title\":\"Errores más frecuentes\",\"app.analytics.progression.title\":\"Progreso en el período\",\"app.analytics.error.progression\":\"Evolución del nombre de errores\",\"app.analytics.progression.pie.chart.title\":\"Total por cada categoría\",\"app.analytics.progression.pie.chart.yaxis.title\":\"Cantidad de errores detectos por cada categoría\",\"app.analytics.average.progression.title\":\"Calidad promedio de la redacción\"}}')\n delete Component.options._Ctor\n \n}\n","export default {\r\n 'app.name': 'Cordial',\r\n 'app.page.title.home': 'Retour à la page initiale',\r\n\r\n // RolesEnum\r\n 'app.common.user.role.admin-cordial': 'Administrateur',\r\n 'app.common.user.role.stats-correction-cordial': 'Responsable d\\'équipe',\r\n 'app.common.user.role.correction-cordial': 'Utilisateur Cordial',\r\n 'app.common.user.role.licenses-manager': 'Licences manager',\r\n\r\n // AppFeatureGroupsEnum\r\n 'app.menu.feature.group.setting': 'Mon outil de progression',\r\n 'app.menu.feature.group.monitoring': 'Suivi d\\'utilisation de Cordial',\r\n 'app.menu.feature.group.loggedUser': 'Mon compte',\r\n\r\n // LoggedUserFeaturesEnum\r\n 'app.menu.logout': 'Se déconnecter',\r\n 'app.menu.subscription': 'Gérer mon abonnement',\r\n\r\n // MainAppFeaturesEnum\r\n 'app.menu.home': 'Accueil',\r\n 'app.menu.analytics': 'Indicateurs de suivi de progression',\r\n 'app.menu.team': 'Progression de l\\'équipe',\r\n 'app.menu.licenses': 'Gestion de licences',\r\n 'app.menu.rephrase': 'Edition de reformulation',\r\n\r\n // Subscription Alert\r\n 'app.subscription.alert.message': 'Votre abonnement a expiré. Pour vous réabonner et profiter à nouveau de Cordial,',\r\n 'app.subscription.alert.link': 'cliquez-ici',\r\n\r\n // UsedLicenses\r\n 'app.licenses.used': 'Nombre de licences : ',\r\n\r\n // UserDeleteConfirmationDialog\r\n 'app.user.delete.dialog.button.title' : 'Supprimer utilisateurs',\r\n 'app.user.delete.confirmation.dialog.title': 'Confirmation de suppression',\r\n 'app.user.delete.confirmation.dialog.content': 'Êtes-vous sûr de vouloir supprimer cet utilisateur ?',\r\n 'app.users.delete.confirmation.dialog.content': 'Êtes-vous sûr de vouloir supprimer ces utilisateurs ?',\r\n 'app.user.delete.confirmation.dialog.cancel': 'Annuler',\r\n 'app.user.delete.confirmation.dialog.confirm': 'Confirmer',\r\n\r\n // ImportUsers\r\n 'app.user.import.dialog.button.title': 'Importer des utilisateurs',\r\n 'app.user.import.dialog.title': 'Importer des utilisateurs',\r\n 'app.user.import.dialog.file': 'Fichier CSV',\r\n 'app.user.import.dialog.file.error': 'Fichier invalide',\r\n 'app.user.import.dialog.company.pass' : 'Pass entreprise',\r\n 'app.user.import.dialog.cancel': 'Annuler',\r\n 'app.user.import.dialog.import': 'Importer',\r\n\r\n // UsersImportedSuccessDialog\r\n 'app.user.import.success.dialog.title' : 'Récapitulatif de l\\'importation',\r\n 'app.user.import.success.dialog.importedUsers' : 'Utilisateurs importés avec succès',\r\n 'app.user.import.success.dialog.userAlreadyExists' : 'Utilisateurs déjà existants : ',\r\n 'app.user.import.success.dialog.badlyFormatted' : 'Utilisateurs avec un email mal formaté : ',\r\n 'app.user.import.success.dialog.close' : 'Fermer',\r\n\r\n // UserCreateDialog\r\n 'app.user.create.dialog.button.title': 'Ajouter un utilisateur',\r\n 'app.user.create.dialog.title': 'Création de compte',\r\n 'app.user.create.dialog.email': 'Email',\r\n 'app.user.create.dialog.email.error': 'Email invalide',\r\n 'app.user.create.dialog.password': 'Mot de passe',\r\n 'app.user.create.dialog.password.error': 'Le mot de passe doit contenir au moins 8 caractères dont une majuscule, une minuscule, un chiffre et un caractère spécial',\r\n 'app.user.create.dialog.password.confirm': 'Confirmation du mot de passe',\r\n 'app.user.create.dialog.password.confirm.error': 'Les mots de passe ne correspondent pas',\r\n 'app.user.create.dialog.firstname': 'Prénom',\r\n 'app.user.create.dialog.lastname': 'Nom',\r\n 'app.user.create.dialog.company.pass' : 'Pass entreprise',\r\n 'app.user.create.dialog.service': 'Service',\r\n 'app.user.create.dialog.managers': 'Responsables',\r\n 'app.user.create.dialog.required': 'Champ obligatoire.',\r\n 'app.user.create.dialog.cancel': 'Annuler',\r\n 'app.user.create.dialog.create': 'Créer',\r\n 'app.user.create.dialog.create.error.conflict': 'Un compte avec ces informations existe déjà.',\r\n 'app.user.create.dialog.create.error.maxlicenses': 'Vous avez atteint votre nombre maximum de licences pour ',\r\n 'app.user.create.dialog.newtenant': 'Nouveau pass entreprise',\r\n\r\n // UserCreatedSuccessDialog\r\n 'app.user.created.success.dialog.title': 'Compte initialisé avec succès.',\r\n 'app.user.created.success.dialog.content': \"Le compte a été initialisé avec succès. L'utilisateur doit maintenant définir son mot de passe pour finaliser son compte. Comment voulez-vous lui faire parvenir le lien d'activation ?\",\r\n 'app.user.created.success.dialog.close': 'Fermer',\r\n\r\n // DetailsUserCard\r\n 'app.user.details.card.email': 'Email',\r\n 'app.user.details.card.creationDate': 'Date de création',\r\n 'app.user.details.card.lastUseDate': 'Dernière utilisation',\r\n 'app.user.details.card.tenantName': 'Pass entreprise',\r\n 'app.user.details.card.service': 'Service',\r\n 'app.user.details.card.managers': 'Responsables',\r\n 'app.user.details.card.create.password': \"Lien d'activation\",\r\n 'app.user.details.card.send.link': 'Envoyer',\r\n 'app.user.details.card.copy.link': 'Copier',\r\n 'app.user.details.card.edit.cancel': 'Annuler',\r\n 'app.user.details.card.edit.save': 'Sauvegarder',\r\n\r\n // EmailInfo\r\n 'app.user.create.email.subject': 'Votre licence Cordial a été activée !',\r\n 'app.user.create.email.body': \"Votre licence Cordial a été activée par votre administrateur.\\n\\nVeuillez cliquer sur le lien suivant pour créer votre mot de passe : \",\r\n 'app.user.set.password.email.subject': 'Votre lien de création de mot de passe',\r\n 'app.user.set.password.email.body': \"Bonjour,\\n\\nVous avez demandé la création d'un mot de passe pour votre compte Cordial.\\n\\nVeuillez cliquer sur le lien suivant pour créer votre mot de passe : \",\r\n 'app.user.delete.email.subject': 'Votre licence Cordial a été desactivée !',\r\n 'app.user.delete.email.body': \"Bonjour,\\n\\nVotre licence Cordial a été desactivée par votre administrateur. Pour plus d'informations, veuillez contacter votre administrateur.\",\r\n\r\n // SetPasswordSnackbarMessages\r\n 'app.user.set.password.snackbar.mail': 'Le lien de création de mot de passe a bien été envoyé par mail.',\r\n 'app.user.set.password.snackbar.mail.error': 'Une erreur est survenue lors de l\\'envoi du mail.',\r\n 'app.user.set.password.snackbar.copy': 'Le lien de création de mot de passe a été copié dans le presse-papier.',\r\n 'app.user.set.password.snackbar.error': 'Une erreur est survenue lors de la copie du lien.',\r\n 'app.user.set.password.snackbar.close': 'Fermer',\r\n\r\n \r\n // UsersTable\r\n 'app.datatable.items.per.page.text': 'Utilisateurs par page',\r\n 'app.datatable.items.per.page.all': 'Tous',\r\n 'app.datatable.page.text': '{0}-{1} de {2}',\r\n 'app.datatable.search.text': 'Rechercher',\r\n 'app.datatable.user.reactivate': 'Réactiver ce compte',\r\n 'app.datatable.user.desactivated': 'Ce compte est désactivé',\r\n 'app.datatable.user.desactivate' : 'Désactiver ce compte',\r\n\r\n // ErrorFirstLevelClassEnum\r\n 'app.analytics.correction.kpis.nb-errors-found.orthographe': 'Orthographe',\r\n 'app.analytics.correction.kpis.nb-errors-found.typographie': 'Typographie',\r\n 'app.analytics.correction.kpis.nb-errors-found.syntaxe': 'Syntaxe',\r\n\r\n // AppServiceUsageEnum\r\n 'app.analytics.service.usage.kpis.nb-correction-requests': 'Demandes de correction',\r\n 'app.analytics.service.usage.kpis.nb-errors-found': 'Nombre d\\'erreurs signalées',\r\n 'app.analytics.service.usage.kpis.nb-applied-suggestions': 'Nombre de corrections appliquées',\r\n 'app.analytics.rephrasing.kpis.nb-rephrasing-requests': 'Demandes de reformulation',\r\n 'app.analytics.rephrasing.kpis.nb-rephrasing-applied': 'Reformulations appliquées',\r\n 'app.analytics.rephrasing.kpis.rephrasing-application-ratio': 'Pourcentage d\\'application',\r\n\r\n // Tabular view and export CSV data\r\n 'app.analytics.kpis.orthographe': 'Erreurs d\\'orthographe',\r\n 'app.analytics.kpis.typographie': 'Erreurs de typographie',\r\n 'app.analytics.kpis.syntaxe': 'Erreurs de syntaxe',\r\n 'app.analytics.kpis.nb-correction-requests': 'Nb demandes de correction',\r\n 'app.analytics.kpis.nb-errors-found': 'Nb erreurs signalées',\r\n 'app.analytics.kpis.nb-applied-suggestions': 'Nb corrections appliquées',\r\n 'app.analytics.kpis.totalConsumption': 'Nombre de caractères corrigés',\r\n 'app.analytics.kpis.average-errors': `Nombre d'erreurs détectées en moyenne par collaborateur`,\r\n 'app.analytics.kpis.verified-word-average': `Nombre de mots vérifiés en moyenne par collaborateur`,\r\n\r\n // Error messages\r\n 'app.common.error.app.unknown': 'Une erreur inconnue est survenue, veuillez contacter le support technique.',\r\n 'app.common.error.server.request.failed': 'Service indisponible, veuillez réessayer ultérieurement...',\r\n 'app.common.error.server.temp.unavailable': 'Service momentanément indisponible, veuillez réessayer ultérieurement...',\r\n 'app.common.error.server.bad.request': 'Requête invalide, veuillez contacter le support technique.',\r\n 'app.common.error.server.unknown': 'Une erreur inconnue est survenue, veuillez contacter le support technique.',\r\n 'app.common.error.server.internal': 'Une erreur est survenue lors du traitement de votre demande, veuillez contacter le support technique.',\r\n 'app.common.error.server.unreachable': 'Le service est temporairement indisponible, impossible de rétablir la connexion avec le serveur.',\r\n 'app.common.error.server.wrong.params': 'Une erreur inconnue est survenue, vos paramètres sont invalides.',\r\n 'app.common.error.server.invalid.configuration' : 'Une erreur applicative est survenue, veuillez vérifier la configuration de votre serveur.',\r\n 'app.common.error.invalid.jwt.token' : 'Requête d\\'authentification invalide (token), veuillez contacter le support technique.',\r\n 'app.common.error.auth.invalid.server.url': 'Configuration invalide, l\\'URL du serveur d\\'authentification est inconnue.',\r\n 'app.common.error.auth.token.scope.invalid.access': 'Requête d\\'authentification invalide, le token n\\'a pas le scope requis.',\r\n 'app.common.error.auth.invalid.request': 'Requête d\\'authentification invalide, veuillez contacter le support technique.',\r\n 'app.common.error.auth.invalid.state.code': 'Échec d\\'authentification, veuillez contacter le support technique.',\r\n 'app.common.error.expired.licence': 'Votre licence a expiré, veuillez contacter le service client pour tout renouvellement.',\r\n 'app.common.error.data.session.lost': 'Impossible de récupérer les données de votre session, veuillez vous déconnecter et reconnecter dans l\\'application.',\r\n 'app.common.error.server.expired.token': 'Votre session a expiré, voulez-vous vous être rédirigé vers la page de connexion ?',\r\n 'app.common.error.auth.denied' : 'Niveau d\\'accès insuffisant, veuillez contacter le gestionnaire du chatbot pour configurer votre compte.',\r\n 'app.common.error.auth.unknown.user' : 'Login inconnu, veuillez contacter le gestionnaire du service pour configurer votre compte.',\r\n\r\n //Charts\r\n 'app.analytics.average' : 'Moyenne'\r\n}\r\n","/**\r\n * The file enables `../plugins/i18n.js` to import all lang messages\r\n * in a one-shot manner. There should not be any reason to edit this file.\r\n */\r\nconst messages: any = {}\r\nconst extFiles = require.context('../common/lang', false, /\\.ts$/)\r\nconst appFiles = require.context('.', false, /\\.ts$/)\r\n\r\nappFiles.keys().forEach(key => {\r\n if (key === './index.ts') return\r\n try {\r\n messages[key.replace(/(\\.\\/|\\.ts)/g, '')] = Object.assign({}, extFiles(key).default, appFiles(key).default)\r\n } catch(err: any) {\r\n // if language not exist in external files, the error is ignored\r\n }\r\n})\r\n\r\nconst languages = Object.keys(messages)\r\nexport {\r\n messages,\r\n languages\r\n}\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseView.vue?vue&type=style&index=0&id=70b47637&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BoxList.vue?vue&type=style&index=0&id=f9cae852&prod&lang=css\"","import mod from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoLinesList.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoLinesList.vue?vue&type=custom&index=0&blockType=i18n\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsUserFilters.vue?vue&type=style&index=0&id=5e6b5892&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSnackBar.vue?vue&type=style&index=0&id=2c61591a&prod&lang=scss&scoped=true\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.auth.logout.page.disclaimer\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"À bientôt !\"])}\n },\n \"en\": {\n \"app.auth.logout.page.disclaimer\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"See you soon !\"])}\n },\n \"es\": {\n \"app.auth.logout.page.disclaimer\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hasta pronto !\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.auth.logout.page.disclaimer\":\"À bientôt !\"},\"en\":{\"app.auth.logout.page.disclaimer\":\"See you soon !\"},\"es\":{\"app.auth.logout.page.disclaimer\":\"Hasta pronto !\"}}')\n delete Component.options._Ctor\n \n}\n","export default {\r\n 'app.name': 'Cordial',\r\n 'app.page.title.home': 'Back to home page',\r\n\r\n // RolesEnum\r\n 'app.common.user.role.admin-cordial': 'Administrator',\r\n 'app.common.user.role.stats-correction-cordial': 'Team manager',\r\n 'app.common.user.role.correction-cordial': 'Cordial user',\r\n 'app.common.user.role.licenses-manager': 'Licenses manager',\r\n\r\n // AppFeatureGroupsEnum\r\n 'app.menu.feature.group.monitoring': 'Codial KPIs',\r\n 'app.menu.feature.group.loggedUser': 'My account',\r\n\r\n // LoggedUserFeaturesEnum\r\n 'app.menu.logout': 'Logout',\r\n 'app.menu.subscription': 'Manage my subscription',\r\n\r\n // MainAppFeaturesEnum\r\n 'app.menu.analytics': 'Follow up KPIs',\r\n 'app.menu.team': 'Team progress',\r\n 'app.menu.licenses': 'Licenses management',\r\n\r\n // Subscription Alert\r\n 'app.subscription.alert.message': 'Your subscription has expired. To resubscribe and enjoy Cordial again,',\r\n 'app.subscription.alert.link': 'click here',\r\n\r\n // UsedLicenses\r\n 'app.licenses.used': 'Number of licenses : ',\r\n\r\n // ImportUsers\r\n 'app.user.import.dialog.button.title': 'Import users',\r\n 'app.user.import.dialog.title': 'Import users from a CSV file',\r\n 'app.user.import.dialog.file': 'Select a file',\r\n 'app.user.import.dialog.file.error': 'Invalid file format.',\r\n 'app.user.import.dialog.company.pass' : 'Company pass',\r\n 'app.user.import.dialog.cancel': 'Cancel',\r\n 'app.user.import.dialog.import': 'Import',\r\n\r\n // UserDeleteConfirmationDialog\r\n 'app.user.delete.dialog.button.title' : 'Delete users',\r\n 'app.user.delete.confirmation.dialog.title': 'Deletion confirmation',\r\n 'app.user.delete.confirmation.dialog.content': 'Are you sure you want to delete this user ?',\r\n 'app.users.delete.confirmation.dialog.content': 'Are you sure you want to delete these users ?',\r\n 'app.user.delete.confirmation.dialog.cancel': 'Cancel',\r\n 'app.user.delete.confirmation.dialog.confirm': 'Confirm',\r\n\r\n // UserCreateDialog\r\n 'app.user.create.dialog.button.title': 'Add a new user',\r\n 'app.user.create.dialog.title': 'Create a new account',\r\n 'app.user.create.dialog.email': 'Email',\r\n 'app.user.create.dialog.email.error': 'Invalid email address.',\r\n 'app.user.create.dialog.password': 'Password',\r\n 'app.user.create.dialog.password.error': 'Password must contain at least 8 characters, one uppercase letter, one lowercase letter, one number, and one special character.',\r\n 'app.user.create.dialog.confirm.password': 'Confirm password',\r\n 'app.user.create.dialog.confirm.password.error': 'Passwords do not match.',\r\n 'app.user.create.dialog.firstname': 'First name',\r\n 'app.user.create.dialog.lastname': 'Last name',\r\n 'app.user.create.dialog.company.pass' : 'Company pass',\r\n 'app.user.create.dialog.service': 'Service',\r\n 'app.user.create.dialog.managers': 'Managers',\r\n 'app.user.create.dialog.required': 'Required.',\r\n 'app.user.create.dialog.cancel': 'Cancel',\r\n 'app.user.create.dialog.create': 'Create',\r\n 'app.user.create.dialog.create.error.conflict': 'An account with this information already exists.',\r\n 'app.user.create.dialog.create.error.maxlicenses': 'The maximum number of licenses has been reached for ',\r\n 'app.user.create.dialog.newtenant': 'New company pass',\r\n \r\n // UserCreatedSuccessDialog\r\n 'app.user.created.success.dialog.title': 'Account Successfully initialized.',\r\n 'app.user.created.success.dialog.content': 'The account has been successfully initialized. The user now needs to set a password to finalize the account. How do you want to send him the activation link?',\r\n 'app.user.created.success.dialog.close': 'Close',\r\n\r\n // DetailsUserCard\r\n 'app.user.details.card.email': 'Email',\r\n 'app.user.details.card.creationDate': 'Creation date',\r\n 'app.user.details.card.lastUseDate': 'Last use',\r\n 'app.user.details.card.tenantName': 'Company pass',\r\n 'app.user.details.card.service': 'Service',\r\n 'app.user.details.card.managers': 'Managers',\r\n 'app.user.details.card.create.password': 'Create password',\r\n 'app.user.details.card.send.link': 'Send',\r\n 'app.user.details.card.copy.link': 'Copy',\r\n 'app.user.details.card.edit.cancel': 'Cancel',\r\n 'app.user.details.card.edit.save': 'Save',\r\n\r\n // EmailInfo\r\n 'app.user.create.email.subject': 'Your Cordial license has been activated !',\r\n 'app.user.create.email.body': \"Your Cordial license has been activated by your administrator. Please click on the following link to create your password:\",\r\n 'app.user.set.password.email.subject': 'Create your Cordial password',\r\n 'app.user.set.password.email.body': \"Hello,You have requested to create a password for your Cordial account.Please click on the following link to create your password:\",\r\n 'app.user.delete.email.subject': 'Your Cordial license has been desactivated !',\r\n 'app.user.delete.email.body': \"Hello, your Cordial license has been deactivated by your administrator. For more information, please contact your administrator.\",\r\n\r\n // SetPasswordSnackbarMessages\r\n 'app.user.set.password.snackbar.mail': 'The password creation link has been sent by e-mail.',\r\n 'app.user.set.password.snackbar.mail.error': 'An error occurred while sending the e-mail.',\r\n 'app.user.set.password.snackbar.copy': 'The password creation link has been copied to the clipboard.',\r\n 'app.user.set.password.snackbar.error': 'An error occurred while copying the link.',\r\n 'app.user.set.password.snackbar.close': 'Close',\r\n\r\n // UsersTable\r\n 'app.datatable.items.per.page.text': 'Users per page',\r\n 'app.datatable.items.per.page.all': 'All',\r\n 'app.datatable.page.text': '{0}-{1} of {2}',\r\n 'app.datatable.search.text': 'Search',\r\n 'app.datatable.user.reactivate': 'Reactivate this account',\r\n 'app.datatable.user.desactivated': 'This account is deactivated',\r\n 'app.datatable.user.desactivate' : 'Deactivate this account',\r\n\r\n // ErrorFirstLevelClassEnum\r\n 'app.analytics.correction.kpis.nb-errors-found.orthographe': 'Spelling',\r\n 'app.analytics.correction.kpis.nb-errors-found.typographie': 'Typography',\r\n 'app.analytics.correction.kpis.nb-errors-found.syntaxe': 'Syntax',\r\n\r\n // AppServiceUsageEnum\r\n 'app.analytics.service.usage.kpis.nb-correction-requests': 'Correction requests',\r\n 'app.analytics.service.usage.kpis.nb-errors-found': 'Number of reported errors',\r\n 'app.analytics.service.usage.kpis.nb-applied-suggestions': 'Number of applied suggestions',\r\n 'app.analytics.rephrasing.kpis.nb-rephrasing-requests': 'Rephrasing requests',\r\n 'app.analytics.rephrasing.kpis.nb-rephrasing-applied': 'Rephrasing applied',\r\n 'app.analytics.rephrasing.kpis.rephrasing-application-ratio': 'Application percentage',\r\n\r\n // Tabular view and export CSV data\r\n 'app.analytics.kpis.orthographe': 'Spelling errors',\r\n 'app.analytics.kpis.typographie': 'Typography errors',\r\n 'app.analytics.kpis.syntaxe': 'Syntax errors',\r\n 'app.analytics.kpis.nb-correction-requests': 'Correction requests',\r\n 'app.analytics.kpis.nb-errors-found': 'Reported errors',\r\n 'app.analytics.kpis.nb-applied-suggestions': 'Applied suggestions',\r\n 'app.analytics.kpis.totalConsumption': 'Number of characters corrected',\r\n 'app.analytics.kpis.average-errors': `Average of errors found by user`,\r\n 'app.analytics.kpis.verified-word-average': `Average of verified words by user`,\r\n\r\n // Http errors to be displayed in snack bar\r\n 'app.common.error.server.request.failed': 'Service unavailable, please retry later...',\r\n 'app.common.error.server.temp.unavailable': 'Service unavailable, please retry later...',\r\n 'app.common.error.server.bad.request': 'Invalid request, please contact technical support.',\r\n 'app.common.error.server.unknown': 'Unknown problem detected, please contact technical support.',\r\n 'app.common.error.server.internal': 'Internal server error, please contact technical support.',\r\n 'app.common.error.server.unreachable': 'Server connection refused or unreachable, please contact technical support.',\r\n 'app.common.error.server.wrong.params': 'Internal server error, wrong paramaters sent.',\r\n 'app.common.error.server.invalid.configuration' : 'Unknown problem detected, please verify application configuration.',\r\n 'app.common.error.invalid.jwt.token' : 'Invalid authentication token, please contact technical support.',\r\n 'app.common.error.auth.invalid.server.url': 'Invalid configuration, unknown authentification server URL.',\r\n 'app.common.error.auth.invalid.request': 'Invalid authentication request, please contact technical support.',\r\n 'app.common.error.auth.token.scope.invalid.access': 'Invalid authentication request, token doesn\\'t grant access to provided scope.',\r\n 'app.common.error.auth.invalid.state.code': 'Authentication failed, please contact technical support.',\r\n 'app.common.error.expired.licence': 'Expired Licence, please contact customer service for any renewals.',\r\n 'app.common.error.server.expired.token' : 'Your session has been expired, do you want to log in ?',\r\n 'app.common.error.auth.denied' : 'Insufficient access level, please contact chatbot administrator to configure your account access rights.',\r\n\r\n //Charts\r\n 'app.analytics.average' : 'Average'\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTopbar.vue?vue&type=style&index=0&id=c58c0184&prod&lang=scss\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.analytics.custom.filters.services\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sélectionnez un ou plusieurs services\"])}\n },\n \"en\": {\n \"app.analytics.custom.filters.services\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Select one or several services\"])}\n },\n \"es\": {\n \"app.analytics.custom.filters.services\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Selectione uno o varios servicio\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.analytics.custom.filters.services\":\"Sélectionnez un ou plusieurs services\"},\"en\":{\"app.analytics.custom.filters.services\":\"Select one or several services\"},\"es\":{\"app.analytics.custom.filters.services\":\"Selectione uno o varios servicio\"}}')\n delete Component.options._Ctor\n \n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSubscriptionAlert.vue?vue&type=style&index=0&id=69a9b15c&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamProgressView.vue?vue&type=style&index=0&id=d5b5f8ae&prod&lang=scss&scoped=true\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseView.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseView.vue?vue&type=custom&index=0&blockType=i18n\"","export default {\r\n 'app.page.title.login': 'Login',\r\n 'app.loading': 'Loading',\r\n\r\n\r\n 'app.button.cancel': 'Cancel',\r\n 'app.button.OK':'OK',\r\n 'app.button.export.CSV':'CSV Export',\r\n 'app.button.export.all':'Export all',\r\n 'app.button.refresh':'Refresh',\r\n\r\n 'app.datatable.no.data.text': 'No data available',\r\n 'app.datatable.no.result.text': 'No matching records found',\r\n 'app.datatable.footer.pagination.text': 'Items per page',\r\n 'app.datatable.footer.pagination.all.text': 'All',\r\n\r\n 'app.feature.analytics.owner': 'Owner',\r\n 'app.feature.analytics.users': 'Users',\r\n 'app.feature.analytics.dateFrom': 'Start period',\r\n 'app.feature.analytics.dateTo': 'End period',\r\n\r\n 'app.form.datepicker.period.menu.label.from': 'From',\r\n 'app.form.datepicker.period.menu.label.to': 'to',\r\n 'app.form.datepicker.period.menu.placeholder': 'Select a period',\r\n 'app.form.datepicker.label.mode.month': 'Show months',\r\n 'app.form.datepicker.label.mode.day': 'Show days',\r\n\r\n 'app.common.error.server.request.failed': 'Service unavailable, please retry later...',\r\n 'app.common.error.server.temp.unavailable': 'Service unavailable, please retry later...',\r\n 'app.common.error.server.bad.request': 'Invalid request, please contact technical support',\r\n 'app.common.error.server.unknown': 'Unknown problem detected, please contact technical support',\r\n 'app.common.error.server.internal': 'Internal server error, please contact technical support',\r\n 'app.common.error.server.unreachable': 'Server connection refused or unreachable, please contact technical support',\r\n 'app.common.error.server.wrong.params': 'Wrong paramaters sent',\r\n 'app.common.error.invalid.jwt.token' : 'Invalid authentication token, please contact technical support',\r\n 'app.common.error.auth.invalid_request': 'Invalid authentication request, please contact technical support',\r\n 'app.common.error.auth.invalid.state.code': 'Authentication failed, please contact technical support',\r\n 'app.common.error.expired.licence': 'Expired Licence, please contact customer service for any renewals.',\r\n\r\n 'app.common.disclaimer.msg.loading': 'Loading...',\r\n\r\n // Month translation\r\n 'month.number.0': 'January',\r\n 'month.number.1': 'February',\r\n 'month.number.2': 'March',\r\n 'month.number.3': 'April',\r\n 'month.number.4': 'May',\r\n 'month.number.5': 'June',\r\n 'month.number.6': 'July',\r\n 'month.number.7': 'August',\r\n 'month.number.8': 'September',\r\n 'month.number.9': 'October',\r\n 'month.number.10': 'November',\r\n 'month.number.11': 'December',\r\n}\r\n","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsUserFilters.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsUserFilters.vue?vue&type=custom&index=0&blockType=i18n\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSparklineCardItem.vue?vue&type=style&index=0&id=26d8f78c&prod&lang=scss\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.rephrase.boxlist.title.style\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Style\"])}\n },\n \"en\": {\n \"app.rephrase.boxlist.title.style\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Style\"])}\n },\n \"es\": {\n \"app.rephrase.boxlist.title.style\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Estilo\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.rephrase.boxlist.title.style\":\"Style\"},\"en\":{\"app.rephrase.boxlist.title.style\":\"Style\"},\"es\":{\"app.rephrase.boxlist.title.style\":\"Estilo\"}}')\n delete Component.options._Ctor\n \n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseTester.vue?vue&type=style&index=0&id=07b68b2a&prod&scoped=true&lang=css\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeView.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeView.vue?vue&type=custom&index=0&blockType=i18n\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.rephrase.name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"app.rephrase.description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"app.rephrase.create\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Créer\"])},\n \"app.rephrase.update\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enregistrer\"])},\n \"app.rephrase.cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"app.rephrase.delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"app.rephrase.error.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur\"])},\n \"app.rephrase.error.text.add\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur est survenue au moment de la création. Veuillez réessayer.\"])},\n \"app.rephrase.error.text.update\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur est survenue au moment de l'enregistrement. Veuillez réessayer.\"])},\n \"app.rephrase.error.text.delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur est survenue au moment de la suppression. Veuillez réessayer.\"])},\n \"app.rephrase.success.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Succès\"])},\n \"app.rephrase.success.text.add\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre reformulation a été créée avec succès.\"])},\n \"app.rephrase.success.text.update\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre reformulation a été enregistrée avec succès.\"])},\n \"app.rephrase.success.text.delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre reformulation a été supprimée avec succès.\"])},\n \"app.rephrase.delete.confirmation.dialog.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation de suppression\"])},\n \"app.rephrase.delete.confirmation.dialog.content\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer cette reformulation ?\"])},\n \"app.rephrase.delete.confirmation.dialog.cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"app.rephrase.delete.confirmation.dialog.confirm\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmer\"])}\n },\n \"en\": {\n \"app.rephrase.name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"app.rephrase.description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"app.rephrase.create\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Create\"])},\n \"app.rephrase.update\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Save\"])},\n \"app.rephrase.cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"app.rephrase.delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete\"])},\n \"app.rephrase.error.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error\"])},\n \"app.rephrase.error.text.add\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An error occurred while creating. Please try again.\"])},\n \"app.rephrase.error.text.update\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An error occurred while saving. Please try again.\"])},\n \"app.rephrase.error.text.delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An error occurred while deleting. Please try again.\"])},\n \"app.rephrase.success.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Success\"])},\n \"app.rephrase.success.text.add\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your rephrase has been successfully created.\"])},\n \"app.rephrase.success.text.update\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your rephrase has been successfully updated.\"])},\n \"app.rephrase.success.text.delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your rephrase has been successfully deleted.\"])},\n \"app.rephrase.delete.confirmation.dialog.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deletion confirmation\"])},\n \"app.rephrase.delete.confirmation.dialog.content\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this rephrase?\"])},\n \"app.rephrase.delete.confirmation.dialog.cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"app.rephrase.delete.confirmation.dialog.confirm\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm\"])}\n },\n \"es\": {\n \"app.rephrase.name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Apellido\"])},\n \"app.rephrase.description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Descripción\"])},\n \"app.rephrase.create\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Crear\"])},\n \"app.rephrase.update\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ahorrar\"])},\n \"app.rephrase.cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancelar\"])},\n \"app.rephrase.delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Borrar\"])},\n \"app.rephrase.error.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error\"])},\n \"app.rephrase.error.text.add\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se produjo un error al guardar. Por favor, inténtalo de nuevo.\"])},\n \"app.rephrase.error.text.update\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se produjo un error al guardar. Por favor, inténtalo de nuevo.\"])},\n \"app.rephrase.error.text.delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se produjo un error al guardar. Por favor, inténtalo de nuevo.\"])},\n \"app.rephrase.success.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Éxito\"])},\n \"app.rephrase.success.text.add\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Su reformulación se ha creado correctamente.\"])},\n \"app.rephrase.success.text.update\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Su reformulación se ha actualizado correctamente.\"])},\n \"app.rephrase.success.text.delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Su reformulación se ha eliminado correctamente.\"])},\n \"app.rephrase.delete.confirmation.dialog.title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmación de eliminación\"])},\n \"app.rephrase.delete.confirmation.dialog.content\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"¿Estás seguro de que quieres eliminar este reformulación?\"])},\n \"app.rephrase.delete.confirmation.dialog.cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancelar\"])},\n \"app.rephrase.delete.confirmation.dialog.confirm\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmar\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.rephrase.name\":\"Nom\",\"app.rephrase.description\":\"Description\",\"app.rephrase.create\":\"Créer\",\"app.rephrase.update\":\"Enregistrer\",\"app.rephrase.cancel\":\"Annuler\",\"app.rephrase.delete\":\"Supprimer\",\"app.rephrase.error.title\":\"Erreur\",\"app.rephrase.error.text.add\":\"Une erreur est survenue au moment de la création. Veuillez réessayer.\",\"app.rephrase.error.text.update\":\"Une erreur est survenue au moment de l\\u0027enregistrement. Veuillez réessayer.\",\"app.rephrase.error.text.delete\":\"Une erreur est survenue au moment de la suppression. Veuillez réessayer.\",\"app.rephrase.success.title\":\"Succès\",\"app.rephrase.success.text.add\":\"Votre reformulation a été créée avec succès.\",\"app.rephrase.success.text.update\":\"Votre reformulation a été enregistrée avec succès.\",\"app.rephrase.success.text.delete\":\"Votre reformulation a été supprimée avec succès.\",\"app.rephrase.delete.confirmation.dialog.title\":\"Confirmation de suppression\",\"app.rephrase.delete.confirmation.dialog.content\":\"Êtes-vous sûr de vouloir supprimer cette reformulation ?\",\"app.rephrase.delete.confirmation.dialog.cancel\":\"Annuler\",\"app.rephrase.delete.confirmation.dialog.confirm\":\"Confirmer\"},\"en\":{\"app.rephrase.name\":\"Name\",\"app.rephrase.description\":\"Description\",\"app.rephrase.create\":\"Create\",\"app.rephrase.update\":\"Save\",\"app.rephrase.cancel\":\"Cancel\",\"app.rephrase.delete\":\"Delete\",\"app.rephrase.error.title\":\"Error\",\"app.rephrase.error.text.add\":\"An error occurred while creating. Please try again.\",\"app.rephrase.error.text.update\":\"An error occurred while saving. Please try again.\",\"app.rephrase.error.text.delete\":\"An error occurred while deleting. Please try again.\",\"app.rephrase.success.title\":\"Success\",\"app.rephrase.success.text.add\":\"Your rephrase has been successfully created.\",\"app.rephrase.success.text.update\":\"Your rephrase has been successfully updated.\",\"app.rephrase.success.text.delete\":\"Your rephrase has been successfully deleted.\",\"app.rephrase.delete.confirmation.dialog.title\":\"Deletion confirmation\",\"app.rephrase.delete.confirmation.dialog.content\":\"Are you sure you want to delete this rephrase?\",\"app.rephrase.delete.confirmation.dialog.cancel\":\"Cancel\",\"app.rephrase.delete.confirmation.dialog.confirm\":\"Confirm\"},\"es\":{\"app.rephrase.name\":\"Apellido\",\"app.rephrase.description\":\"Descripción\",\"app.rephrase.create\":\"Crear\",\"app.rephrase.update\":\"Ahorrar\",\"app.rephrase.cancel\":\"Cancelar\",\"app.rephrase.delete\":\"Borrar\",\"app.rephrase.error.title\":\"Error\",\"app.rephrase.error.text.add\":\"Se produjo un error al guardar. Por favor, inténtalo de nuevo.\",\"app.rephrase.error.text.update\":\"Se produjo un error al guardar. Por favor, inténtalo de nuevo.\",\"app.rephrase.error.text.delete\":\"Se produjo un error al guardar. Por favor, inténtalo de nuevo.\",\"app.rephrase.success.title\":\"Éxito\",\"app.rephrase.success.text.add\":\"Su reformulación se ha creado correctamente.\",\"app.rephrase.success.text.update\":\"Su reformulación se ha actualizado correctamente.\",\"app.rephrase.success.text.delete\":\"Su reformulación se ha eliminado correctamente.\",\"app.rephrase.delete.confirmation.dialog.title\":\"Confirmación de eliminación\",\"app.rephrase.delete.confirmation.dialog.content\":\"¿Estás seguro de que quieres eliminar este reformulación?\",\"app.rephrase.delete.confirmation.dialog.cancel\":\"Cancelar\",\"app.rephrase.delete.confirmation.dialog.confirm\":\"Confirmar\"}}')\n delete Component.options._Ctor\n \n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.pagenotfound.disclaimer\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolée, cette page n'existe pas.\"])}\n },\n \"en\": {\n \"app.pagenotfound.disclaimer\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, page not found.\"])}\n },\n \"es\": {\n \"app.pagenotfound.disclaimer\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lo sentimos, esta página no existe.\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.pagenotfound.disclaimer\":\"Désolée, cette page n\\u0027existe pas.\"},\"en\":{\"app.pagenotfound.disclaimer\":\"Sorry, page not found.\"},\"es\":{\"app.pagenotfound.disclaimer\":\"Lo sentimos, esta página no existe.\"}}')\n delete Component.options._Ctor\n \n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSideNavigationMenu.vue?vue&type=style&index=0&id=d8e3f1e8&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsDatePickerMenu.vue?vue&type=style&index=0&id=ba8bae10&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeView.vue?vue&type=style&index=0&id=c7ca10d8&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsServiceFilters.vue?vue&type=style&index=0&id=643a7b29&prod&lang=scss&scoped=true\"","import mod from \"-!../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthEndSessionView.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthEndSessionView.vue?vue&type=custom&index=0&blockType=i18n\"","export default {\r\n 'app.page.title.login': 'Conexión',\r\n 'app.loading': 'loading',\r\n\r\n 'app.button.cancel': 'Cancelar',\r\n 'app.button.OK': 'OK',\r\n 'app.button.export.CSV':'Exportar CSV',\r\n 'app.button.export.all':'Exportar todo',\r\n 'app.button.refresh':'Refreshos',\r\n\r\n 'app.datatable.no.data.text': 'No hay datos disponibles',\r\n 'app.datatable.no.result.text': 'No se ha encontrado ningun resultado',\r\n 'app.datatable.footer.pagination.text': 'Elementos por página',\r\n 'app.datatable.footer.pagination.all.text': 'Todos',\r\n\r\n 'app.feature.analytics.owner': 'Usiario',\r\n 'app.feature.analytics.users': 'Usuarios',\r\n 'app.feature.analytics.dateFrom': 'Periodo fecha inicio',\r\n 'app.feature.analytics.dateTo': 'Periodo fecha de término',\r\n\r\n 'app.form.datepicker.period.menu.label.from': 'Del',\r\n 'app.form.datepicker.period.menu.label.to': 'al',\r\n 'app.form.datepicker.period.menu.placeholder': 'Seleccione una fecha',\r\n 'app.form.datepicker.label.mode.month': 'Mostrar meses',\r\n 'app.form.datepicker.label.mode.day': 'Mostrar días',\r\n\r\n 'app.common.error.server.request.failed': 'Servicio indisponible, por favor regrese más tarde...',\r\n 'app.common.error.server.temp.unavailable': 'Servicio indisponible, por favor regrese más tarde...',\r\n 'app.common.error.server.bad.request': 'Solicitud inválida, por favor contacte el servicio técnico.',\r\n 'app.common.error.server.unknown': 'Un problema desconocido ha sido detectado, por favor contacte el servicio técnico.',\r\n 'app.common.error.server.internal': 'Un error del servidor ha sido detectado, por favor contacte el servicio técnico.',\r\n 'app.common.error.server.unreachable': 'Conexión al servidor rechazada o inalcanzable, por favor contacte el servicio técnico.',\r\n 'app.common.error.server.wrong.params': 'Solicitud inválida, los parámetros son incorrectos, por favor contacte el servicio técnico.',\r\n 'app.common.error.invalid.jwt.token' : 'Solicitud de identification inválida (token), por favor contacte el servicio técnico.',\r\n 'app.common.error.auth.invalid_request': 'Solicitud de identification inválida, por favor contacte el servicio técnico.',\r\n 'app.common.error.auth.invalid.state.code': 'Solicitud de identification denegada, por favor contacte el servicio técnico.',\r\n 'app.common.error.expired.licence': 'La licencia ha expirado, por favor contacte el servicio de atención al cliente para cualquier renovación.',\r\n\r\n 'app.common.disclaimer.msg.loading': 'Cargando página...',\r\n\r\n // Month translation\r\n 'month.number.0': 'Enero',\r\n 'month.number.1': 'Febrero',\r\n 'month.number.2': 'Marzo',\r\n 'month.number.3': 'Abril',\r\n 'month.number.4': 'Mayo',\r\n 'month.number.5': 'Junio',\r\n 'month.number.6': 'Julio',\r\n 'month.number.7': 'Agosto',\r\n 'month.number.8': 'Septiembre',\r\n 'month.number.9': 'Octubre',\r\n 'month.number.10': 'Noviembre',\r\n 'month.number.11': 'Diciembre',\r\n}\r\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.rephrase.twolineslist.title.tester\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tester cette reformulation\"])},\n \"app.rephrase.twolineslist.title.tip\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"(ne prend pas en compte les changements non sauvegardés)\"])}\n },\n \"en\": {\n \"app.rephrase.twolineslist.title.tester\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Try this rephrasing\"])},\n \"app.rephrase.twolineslist.title.tip\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"(does not take into account unsaved changes)\"])}\n },\n \"es\": {\n \"app.rephrase.twolineslist.title.tester\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Probar esta reformulación\"])},\n \"app.rephrase.twolineslist.title.tip\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"(no tiene en cuenta los cambios no guardados)\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.rephrase.twolineslist.title.tester\":\"Tester cette reformulation\",\"app.rephrase.twolineslist.title.tip\":\"(ne prend pas en compte les changements non sauvegardés)\"},\"en\":{\"app.rephrase.twolineslist.title.tester\":\"Try this rephrasing\",\"app.rephrase.twolineslist.title.tip\":\"(does not take into account unsaved changes)\"},\"es\":{\"app.rephrase.twolineslist.title.tester\":\"Probar esta reformulación\",\"app.rephrase.twolineslist.title.tip\":\"(no tiene en cuenta los cambios no guardados)\"}}')\n delete Component.options._Ctor\n \n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7a4489c8&prod&lang=scss\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.button.infos\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les statistiques avant le 30 mai 2024 sont calculées selon la totalité des erreurs remontées par Cordial. Pour plus de pertinence, après cette date, certaines statistiques (palmarès et tableau de progression d'équipe) sont calculées selon les erreurs appliquées par l'utilisateur. Si la période sélectionnée inclut le 30 mai 2024, seules les statistiques calculées selon la nouvelle méthode seront prises en compte.\"])}\n },\n \"en\": {\n \"app.button.infos\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics before May 30, 2024, are calculated based on all the errors reported by Cordial. For more relevance, after this date, the errors are calculated based on the errors applied by the user. If the selected period includes May 30, 2024, only the statistics calculated based on the new method will be taken into account.\"])}\n },\n \"es\": {\n \"app.button.infos\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Las estadísticas antes del 30 de mayo de 2024 se calculan en base a todos los errores reportados por Cordial. Para mayor pertinencia, después de esta fecha, los errores se calculan en base a los errores aplicados por el usuario. Si el período seleccionado incluye el 30 de mayo de 2024, sólo se tendrán en cuenta las estadísticas calculadas en base al nuevo método.\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.button.infos\":\"Les statistiques avant le 30 mai 2024 sont calculées selon la totalité des erreurs remontées par Cordial. Pour plus de pertinence, après cette date, certaines statistiques (palmarès et tableau de progression d\\u0027équipe) sont calculées selon les erreurs appliquées par l\\u0027utilisateur. Si la période sélectionnée inclut le 30 mai 2024, seules les statistiques calculées selon la nouvelle méthode seront prises en compte.\"},\"en\":{\"app.button.infos\":\"Statistics before May 30, 2024, are calculated based on all the errors reported by Cordial. For more relevance, after this date, the errors are calculated based on the errors applied by the user. If the selected period includes May 30, 2024, only the statistics calculated based on the new method will be taken into account.\"},\"es\":{\"app.button.infos\":\"Las estadísticas antes del 30 de mayo de 2024 se calculan en base a todos los errores reportados por Cordial. Para mayor pertinencia, después de esta fecha, los errores se calculan en base a los errores aplicados por el usuario. Si el período seleccionado incluye el 30 de mayo de 2024, sólo se tendrán en cuenta las estadísticas calculadas en base al nuevo método.\"}}')\n delete Component.options._Ctor\n \n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-app',{class:['str-app-layout'],attrs:{\"id\":\"app\"}},[_c('app-holygrail-layout',{class:['str-app-layout'],attrs:{\"topBarColor\":\"accent\",\"sidePanelWidth\":\"335\"},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('router-view')]},proxy:true}])}),(_vm.snackBarError)?_c('app-snack-bar',{attrs:{\"color\":'error',\"isTop\":true,\"text\":_vm.$t(_vm.snackBarError.errI18NMsg),\"timeout\":_vm.snackBarTimeout}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class AnalyticsByCriteriaEntity {\r\n\r\n /**\r\n * Keeps the data analytics value for a specific criteria : it could be the period selected\r\n * by the user or a used to display analytics data, or a type of data.\r\n * \r\n * @param value The analytics value associated to the given grouping criteria. \r\n * @param label The label to display in graph or tabular view column for the data the given \r\n * the grouping criteria.\r\n */\r\n constructor(public value: number,\r\n public label: string) {}\r\n}\r\n","import {\r\n AnalyticsByCriteriaEntity,\r\n} from '.'\r\n\r\nexport class AnalyticsKPIEntity {\r\n /**\r\n * Define the analytics data for the selected period.\r\n * \r\n * @param kpiId The id of the KPI\r\n * @param kpiLabel The label of the KPI\r\n * @param owner The data owner KPI (optional).\r\n * @param totalValue The cumulation of the each subPeriod values.\r\n * @param totalTendancyRate The KPI tendency rate, positive or negative value in percent, \r\n * value computed from subcriteria values.\r\n * @param subcriteriaValues The analytics data by \"subcriteria\" where is the subperiods in case of a \r\n * selected period, \"fruit names\" in case of a custom filter is \"Food\", etc.\r\n */\r\n constructor(public kpiId: string,\r\n public kpiLabel: string, \r\n public owner: string = '',\r\n public totalValue: number = 0,\r\n public unitCharacter: string = \"\",\r\n public totalTendancyRate: number = 0,\r\n public subCriteriaValues: AnalyticsByCriteriaEntity[] = []) {}\r\n}\r\n","import jwtDecode, {\r\n JwtPayload\r\n} from \"jwt-decode\"\r\nimport {\r\n EncodageHelper,\r\n ConfigService\r\n} from '../../..'\r\n\r\nexport class OAuth2Service {\r\n\r\n /**\r\n * Verifies whether the access token is valid or not.\r\n * @param accessTokenTS timestamp in milliseconds of the moment of storing the valid access token\r\n * @param sessionData valid JWT access information.\r\n */\r\n public static isAccessTokenValid (accessTokenTS: number | undefined, sessionData: string | undefined): boolean | undefined {\r\n // console.log('[isAccessTokenValid] accessToken timestamp : ', accessTokenTS)\r\n // console.log('[isAccessTokenValid] SessionData provided ? ', (sessionData !== undefined))\r\n\r\n if (sessionData && accessTokenTS) {\r\n const decodedSessionData: any = EncodageHelper.decodeBase64Object(sessionData)\r\n // [expires_in] property is configured in \"Access Token Lifespan For Implicit Flow\" of Realms settings / Token tab\r\n const validationDate = accessTokenTS + decodedSessionData.expires_in * 1000\r\n const isTokenValid = Date.now() < validationDate\r\n return isTokenValid\r\n }\r\n return undefined\r\n }\r\n\r\n /**\r\n * Verifies whether the refresh token is valid or not.\r\n * @param accessTokenTS timestamp in milliseconds of the moment of storing the valid access token\r\n * @param sessionData valid JWT access information.\r\n */\r\n public static isRefreshTokenValid (accessTokenTS: number | undefined, sessionData: string | undefined): boolean | undefined {\r\n // console.log('[isRefreshTokenValid] SessionData provided ? ', (sessionData !== undefined))\r\n\r\n if (sessionData !== undefined && accessTokenTS) {\r\n const decodedSessionData: any = EncodageHelper.decodeBase64Object(sessionData)\r\n\r\n // [refresh_expires_in] property is configured in \"SSO Session Idle\" of Realms settings / Token tab\r\n const refreshExp = decodedSessionData.refresh_expires_in ? (decodedSessionData.refresh_expires_in * 1000 - 60000)\r\n : ConfigService.getRefreshTokenValidationTimeInMillis()\r\n\r\n // console.log('[isRefreshTokenValid] computed refresh Expiration ', refreshExp)\r\n // console.log('[isRefreshTokenValid] Current time ' + Date.now() + ' < accessTokenTS + refreshExp ' , (accessTokenTS + refreshExp))\r\n return (Date.now() < (accessTokenTS + refreshExp))\r\n }\r\n return undefined\r\n }\r\n\r\n /**\r\n * Generate session access data with encoded access information.\r\n * @param accessToken The valid JWT access information.\r\n */\r\n public static generateOAuth2SessionData (accessInfo: any): string {\r\n if (accessInfo.refresh_expires_in === undefined) {\r\n accessInfo.refresh_expires_in = new Date().getTime() + ConfigService.getRefreshTokenValidationTimeInMillis()\r\n }\r\n return EncodageHelper.encodeBase64Object(accessInfo)\r\n }\r\n\r\n /**\r\n * Decode session access data and return entire access data.\r\n * @param sessionData The session data information with encoded access.\r\n */\r\n public static getAccessData (sessionData: string): string {\r\n return EncodageHelper.decodeBase64Object(sessionData)\r\n }\r\n\r\n\r\n /**\r\n * Decode session access data and return access token.\r\n * @param sessionData The session data information with encoded access.\r\n */\r\n public static getAccessToken (sessionData: string): string {\r\n return EncodageHelper.decodeBase64Object(sessionData).access_token\r\n }\r\n\r\n /**\r\n * Decode session access data and return access token.\r\n * @param sessionData The session data information with encoded access.\r\n */\r\n public static getTokenId (sessionData: string): string {\r\n return EncodageHelper.decodeBase64Object(sessionData).id_token\r\n }\r\n\r\n /**\r\n * Decode session access data and return access token.\r\n * @param sessionData The session data information with encoded access.\r\n */\r\n public static getRefreshToken (sessionData: string): string {\r\n return EncodageHelper.decodeBase64Object(sessionData).refresh_token\r\n }\r\n\r\n /**\r\n * Decode access token to retrieve user entity.\r\n * @param accessToken The valid JWT access token.\r\n */\r\n public static retrieveEncodedUserIdentityFromToken (accessToken: string): string | undefined {\r\n const decodedToken: any = jwtDecode(accessToken)\r\n if (!decodedToken) {\r\n throw new Error('app.common.error.invalid.jwt.token')\r\n } else if (decodedToken.email) {\r\n const usrData: any = {\r\n id: decodedToken.sub,\r\n email: decodedToken.email,\r\n firstname: decodedToken.given_name,\r\n lastname: decodedToken.family_name,\r\n login: decodedToken.email,\r\n avatarImgUrl: decodedToken.img,\r\n exportAll: decodedToken.export_all,\r\n manageSubscription: decodedToken.manage_subscription,\r\n managedTenants : decodedToken.managed_tenants\t \r\n }\r\n return usrData\r\n }\r\n return undefined\r\n }\r\n\r\n /**\r\n * Decode access token to retrieve the configured user privileges.\r\n * @param accessToken The valid JWT access token.\r\n * @return a map that set the list of roles associated to a tenant.\r\n */ \r\n public static retrieveUserPrivilegesByTenant (accessToken: string): any {\r\n const decodedToken: any = jwtDecode(accessToken)\r\n if (!decodedToken) {\r\n throw new Error('app.common.error.invalid.jwt.token')\r\n } else if (decodedToken.email) {\r\n\r\n // token could define user access rights for different tenants in realm_access.roles as follow : {tenant1:role1,tenant2:role2} or \r\n // if only one tenant is possible it could be precised into token in a specific property\r\n const tenant: string = decodedToken[ConfigService.getTokenTenantPropName()] || ConfigService.getDefaultTenantName()\r\n let privileges: any = {}\r\n\r\n if (decodedToken.realm_access && decodedToken.realm_access.roles) {\r\n if (Array.isArray(decodedToken.realm_access.roles)) {\r\n const tokenRoles: string[] = decodedToken.realm_access.roles\r\n tokenRoles.forEach((tokenRole: string) => {\r\n if (!privileges[tenant]) {\r\n privileges[tenant] = [tokenRole]\r\n } else {\r\n privileges[tenant].push(tokenRole)\r\n }\r\n })\r\n } else {\r\n privileges = decodedToken.realm_access.roles\r\n }\r\n } else if (ConfigService.getDefaultUserPrivilege().length > 0) {\r\n privileges[tenant] = [ConfigService.getDefaultUserPrivilege()]\r\n }\r\n return EncodageHelper.encodeBase64Object(privileges)\r\n }\r\n return undefined\r\n }\r\n\r\n /**\r\n * Decode access token to retrieve user identifies.\r\n * @param accessToken The JWT access token.\r\n */\r\n public static retrieveUserId (accessToken: string): string {\r\n const decodedToken: any = jwtDecode(accessToken)\r\n if (!decodedToken) {\r\n throw new Error('app.common.error.invalid.jwt.token')\r\n }\r\n return decodedToken.sub\r\n }\r\n\r\n /**\r\n * Decode access token to retrieve managed tenants.\r\n * @param accessToken The JWT access token.\r\n */\r\n public static retrieveManagedTenants (accessToken: string): string {\r\n const decodedToken: any = jwtDecode(accessToken)\r\n if (!decodedToken) {\r\n throw new Error('app.common.error.invalid.jwt.token')\r\n }\r\n return decodedToken.managed_tenants\r\n }\r\n\r\n /**\r\n * Decode access token to retrieve the tenant name.\r\n * @param sessionData The session data information with encoded access.\r\n */\r\n public static retrieveTenantName (sessionData: string): string {\r\n const accessToken: string = OAuth2Service.getAccessToken(sessionData)\r\n const decodedToken: any = jwtDecode(accessToken)\r\n if (!decodedToken) {\r\n throw new Error('app.common.error.invalid.jwt.token')\r\n }\r\n return decodedToken[ConfigService.getTokenTenantPropName()] || ConfigService.getDefaultTenantName()\r\n }\r\n\r\n /**\r\n * Determine the highest role configured between whole authorized tenants.\r\n * @param usrAuthorizations The user authorizations decoded object that maps authoraized tenant names with \r\n * their associated role list (roles could be cumulative or mutually excluding by\r\n * hierarchie level).\r\n * @param roleLevel The mapper object to get the user role as a numeric value giving the rights level\r\n * @returns the highest role found.\r\n */\r\n public static getUserHighestRoleNameFromAuthorizedTenants(usrAuthorizations: any | undefined, roleLevel?: any): string {\r\n if (!usrAuthorizations) {\r\n return ConfigService.getDefaultUserPrivilege()\r\n } else {\r\n const rolesByTenant: string[] = []\r\n let currentRole: string = ConfigService.getDefaultUserPrivilege()\r\n Object.getOwnPropertyNames(usrAuthorizations).forEach((key: any) => {\r\n if (key.indexOf('__') === -1) {\r\n // find the highest role for a tenant\r\n const usrTenantRoles: any = usrAuthorizations[key]\r\n if (Array.isArray(usrTenantRoles)) {\r\n usrTenantRoles.forEach((role: string) => {\r\n if (roleLevel[role] >= roleLevel[currentRole]) {\r\n currentRole = role\r\n }\r\n })\r\n } else {\r\n currentRole = usrTenantRoles\r\n }\r\n rolesByTenant.push(currentRole)\r\n }\r\n })\r\n rolesByTenant.forEach((role: string) => {\r\n if (roleLevel[role] >= roleLevel[currentRole]) {\r\n currentRole = role\r\n }\r\n })\r\n return currentRole\r\n }\r\n }\r\n}\r\n","import axios, {\r\n AxiosInstance,\r\n AxiosPromise\r\n} from 'axios'\r\nimport {\r\n ConfigService\r\n} from '../../..'\r\nimport {\r\n stringify\r\n} from 'qs'\r\n\r\nexport class OAuth2ServerConnector {\r\n private static axiosInstance: AxiosInstance\r\n private static defaultHeaders: any = { \r\n 'Accept': '*/*',\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n }\r\n\r\n private static corsHeaders: any = {\r\n 'Accept': '*/*',\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Headers': 'Accept, Accept-Language, Content-Language, Content-Type',\r\n 'Access-Control-Allow-Credentials': 'true'\r\n }\r\n\r\n /**\r\n * Retrieve OpenID Connect server endpoints.\r\n */\r\n public static getConfiguration () : AxiosPromise {\r\n return axios.create({ baseURL: ConfigService.getOAuth2ServerUrl(), timeout: ConfigService.getDefaulRequestTimeout() })\r\n .get('.well-known/openid-configuration', { headers: OAuth2ServerConnector.defaultHeaders })\r\n }\r\n\r\n /**\r\n * Retrieve a valid token for the user and redirect to the requested page.\r\n * \r\n * @param tokenEndpoint The URI of the endpoint to retrieve access token.\r\n * @param params The request parameters\r\n */\r\n public static retrieveValidToken (tokenEndpoint: string, params: any) : AxiosPromise {\r\n if (!OAuth2ServerConnector.axiosInstance) {\r\n OAuth2ServerConnector.axiosInstance = axios.create({ \r\n baseURL: ConfigService.getOAuth2ServerUrl(), \r\n timeout: ConfigService.getDefaulRequestTimeout() })\r\n }\r\n const challengeMethod: string | undefined = ConfigService.getAuthChallengeMethod()\r\n const useHeaders: any = (challengeMethod !== undefined && challengeMethod.length > 0) ? OAuth2ServerConnector.defaultHeaders \r\n : OAuth2ServerConnector.corsHeaders\r\n return OAuth2ServerConnector.axiosInstance.post(tokenEndpoint, stringify(params), { headers: useHeaders })\r\n }\r\n\r\n /**\r\n * Retrieve a valid token for the user and redirect to the requested page.\r\n * \r\n * @param tokenEndpoint The URI of the endpoint to retrieve access token.\r\n * @param refreshToken The refresh token (not mandatory).\r\n */\r\n public static refreshToken (tokenEndpoint: string, refreshToken: string) : AxiosPromise {\r\n\r\n if (!OAuth2ServerConnector.axiosInstance) {\r\n OAuth2ServerConnector.axiosInstance = axios.create({ \r\n baseURL: ConfigService.getOAuth2ServerUrl(), \r\n timeout: ConfigService.getDefaulRequestTimeout() })\r\n }\r\n\r\n const params: any = {\r\n grant_type: 'refresh_token',\r\n refresh_token: refreshToken,\r\n client_id: ConfigService.getOAuth2ClientId()\r\n }\r\n\r\n const challengeMethod: string | undefined = ConfigService.getAuthChallengeMethod()\r\n const useHeaders: any = (challengeMethod !== undefined && challengeMethod.length > 0) ? OAuth2ServerConnector.defaultHeaders \r\n : OAuth2ServerConnector.corsHeaders\r\n return OAuth2ServerConnector.axiosInstance.post(tokenEndpoint, stringify(params), { headers: useHeaders })\r\n }\r\n\r\n /**\r\n * Finalize user session and invalidates access token.\r\n * \r\n * @param endSessionEndpoint The URI of the endpoint to end user session.\r\n * @param tokenId The valid access token (not mandatory).\r\n */\r\n public static endSession (endSessionEndpoint: string, tokenId?: string) : AxiosPromise {\r\n\r\n if (!OAuth2ServerConnector.axiosInstance) {\r\n OAuth2ServerConnector.axiosInstance = axios.create({ \r\n baseURL: ConfigService.getOAuth2ServerUrl(), \r\n timeout: ConfigService.getDefaulRequestTimeout() })\r\n }\r\n\r\n let uri: string =`${endSessionEndpoint}?id_token_hint=${tokenId}`\r\n const challengeMethod: string | undefined = ConfigService.getAuthChallengeMethod()\r\n uri += (challengeMethod !== undefined && challengeMethod.length > 0) ? `&redirect_uri=${ConfigService.getOAuth2LogoutRedirectURI()}`\r\n : `&post_logout_redirect_uri=${ConfigService.getOAuth2LogoutRedirectURI()}`\r\n const useHeaders: any = (challengeMethod !== undefined && challengeMethod.length > 0) ? OAuth2ServerConnector.defaultHeaders \r\n : OAuth2ServerConnector.corsHeaders\r\n return OAuth2ServerConnector.axiosInstance.get(uri, { headers: useHeaders })\r\n }\r\n}\r\n","import axios, {\r\n AxiosInstance,\r\n AxiosRequestConfig,\r\n AxiosPromise\r\n} from 'axios'\r\nimport {\r\n EventBus,\r\n ConfigService,\r\n toHttpRequest,\r\n HttpRequestError,\r\n OAuth2Service,\r\n OAuth2ServerConnector,\r\n} from '../../..'\r\n\r\n\r\nexport class OAuth2SecuredHttpServerConnector {\r\n \r\n private axiosInstance: AxiosInstance\r\n private defaultHeaders: any\r\n\r\n /**\r\n * Constructor of OAuth2SecuredHttpServerConnector.\r\n *\r\n * @param baseApiURL Base server APIs URL to use.\r\n * @param timeout Requests timeout to use on each request.\r\n * @param header Requests default header to use.\r\n */\r\n constructor(baseApiURL: string, timeout: number, header?: any) {\r\n \r\n this.defaultHeaders = header ? header : {\r\n 'content-type': 'application/json',\r\n }\r\n\r\n this.axiosInstance = axios.create({ baseURL: baseApiURL, timeout: timeout })\r\n }\r\n\r\n /**\r\n * Handle expired token and retry request.\r\n * \r\n * @param error - The request error thrown \r\n * @param refreshToken - The registered refresh token\r\n * @returns The Promise with the request answer\r\n */\r\n async handleExpiredTokenAndRetry(error: any, refreshToken?: string) {\r\n console.log(\"handling expired token\");\r\n const originalRequest = error.config;\r\n if (refreshToken && error.errI18NMsg !== 'app.common.error.server.expired.token' \r\n && originalRequest && !originalRequest._retry \r\n && error.response && (error.response.status === 401 || error.response.status === 403)) {\r\n \r\n // tag request as a retry request\r\n originalRequest._retry = true\r\n\r\n // get a new authentication token\r\n const [refreshTokenErr, response]: [HttpRequestError | undefined, any] = await toHttpRequest(\r\n OAuth2ServerConnector.refreshToken(ConfigService.getTokenEndpoint(), refreshToken))\r\n\r\n if (refreshTokenErr) {\r\n // when refresh token is invalid a HTTP error is thrown, the adapted process is managed by the global error handler\r\n return Promise.reject(refreshTokenErr)\r\n }\r\n\r\n if (response) {\r\n const authenticationData: string = OAuth2Service.generateOAuth2SessionData(response)\r\n EventBus.$emit('ON_AUTH_TOKEN_REFRESHED', authenticationData) // notify app to update app state\r\n\r\n // set the new access token and retry request\r\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + response.access_token\r\n return this.axiosInstance(originalRequest)\r\n }\r\n }\r\n return Promise.reject(error)\r\n }\r\n\r\n /**\r\n * Adds a given token to the request configuration.\r\n * \r\n * @param token token to add to the request\r\n * @param config Axios request config\r\n */\r\n private addTokenToRequest(config: AxiosRequestConfig, token: string) {\r\n config.headers = { ...config.headers, 'Authorization': `Bearer ${token}` }\r\n }\r\n\r\n /**\r\n * Connector for GET request to server API calls.\r\n *\r\n * @param path Context path to the target service.\r\n * @param token The authentication access token.\r\n * @param refreshToken The refresh token to use in case of access token expired.\r\n * @param headers No mandatory specific headers to use for this request, default value will be used\r\n * when no provided.\r\n */\r\n public get(path: string, token: string, refreshToken?: string, headers?: AxiosRequestConfig) {\r\n const useHeaders: AxiosRequestConfig = headers ? headers : { headers: this.defaultHeaders }\r\n this.addTokenToRequest(useHeaders, token)\r\n\r\n this.axiosInstance.interceptors.response.use(\r\n (response: any) => response, \r\n async (error: any) => this.handleExpiredTokenAndRetry(error, refreshToken))\r\n\r\n return this.axiosInstance.get(path, useHeaders)\r\n }\r\n\r\n /**\r\n * Connector for POST request to server API calls.\r\n *\r\n * @param path Context path to the target service.\r\n * @param token The authentication access token.\r\n * @param refreshToken The refresh token to use in case of access token expired.\r\n * @param params Service parameters to send.\r\n * @param headers No mandatory specific headers to use for this request, default value will be used\r\n * when no provided.\r\n */\r\n public post(path: string, token: string, refreshToken?: string, params?: any, headers?: AxiosRequestConfig): AxiosPromise {\r\n const useHeaders: AxiosRequestConfig = headers ? headers : { headers: this.defaultHeaders }\r\n this.addTokenToRequest(useHeaders, token)\r\n\r\n this.axiosInstance.interceptors.response.use(\r\n (response: any) => response, \r\n async (error: any) => this.handleExpiredTokenAndRetry(error, refreshToken))\r\n \r\n return this.axiosInstance.post(path, params, useHeaders)\r\n }\r\n\r\n /**\r\n * Connector for PUT request to server API calls.\r\n *\r\n * @param path Context path to the target service.\r\n * @param token The authentication access token.\r\n * @param refreshToken The refresh token to use in case of access token expired.\r\n * @param params Service parameters to send.\r\n * @param headers No mandatory specific headers to use for this request, default value will be used\r\n * when no provided.\r\n */\r\n public put(path: string, token: string, refreshToken?: string, params?: any, headers?: AxiosRequestConfig): AxiosPromise {\r\n const useHeaders: AxiosRequestConfig = headers ? headers : { headers: this.defaultHeaders }\r\n this.addTokenToRequest(useHeaders, token)\r\n\r\n this.axiosInstance.interceptors.response.use(\r\n (response: any) => response, \r\n async (error: any) => this.handleExpiredTokenAndRetry(error, refreshToken))\r\n\r\n return this.axiosInstance.put(path, params, useHeaders)\r\n }\r\n\r\n /**\r\n * Connector for DELETE request to server API calls.\r\n *\r\n * @param path Context path to the target service.\r\n * @param token The authentication access token.\r\n * @param refreshToken The refresh token to use in case of access token expired.\r\n * @param headers No mandatory specific headers to use for this request, default value will be used\r\n * when no provided.\r\n */\r\n public delete(path: string, token: string, refreshToken?: string, headers?: AxiosRequestConfig): AxiosPromise {\r\n const useHeaders: AxiosRequestConfig = headers ? headers : { headers: this.defaultHeaders }\r\n this.addTokenToRequest(useHeaders, token)\r\n\r\n this.axiosInstance.interceptors.response.use(\r\n (response: any) => response, \r\n async (error: any) => this.handleExpiredTokenAndRetry(error, refreshToken))\r\n\r\n return this.axiosInstance.delete(path, useHeaders)\r\n }\r\n}","import crypto from \"crypto\"\r\nimport jwtDecode, {\r\n JwtPayload\r\n} from \"jwt-decode\"\r\nimport {\r\n EventBus,\r\n ErrorViewModel,\r\n HttpRequestError,\r\n toHttpRequest,\r\n ConfigService,\r\n OAuth2Service,\r\n OAuth2ServerConnector,\r\n Connector,\r\n EncodageHelper\r\n} from '../../..'\r\nimport {\r\n AppConfigService\r\n} from '../../../..'\r\n\r\nexport interface IAuthActions {\r\n /**\r\n * Action definition triggered to verify authentication data state.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n verifyAuthStatus(storeFunctions: any, payload: any): any\r\n /**\r\n * Action definition triggered when user needs to log into the application.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n displayLoginPage(storeFunctions: any, payload: any): any\r\n /**\r\n * Action definition triggered when user needs a valid access token.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n getAccessToken(storeFunctions: any, payload: any): any\r\n /**\r\n * Action definition triggered when user needs a valid access token.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n refreshToken(storeFunctions: any, payload: any): any\r\n /**\r\n * Triggered when dashboard is called from extension with specific query param\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n sendTokenToExtension(storeFunctions: any): any\r\n /**\r\n * Action definition triggered when user session has been expired but thanks to a valid refresh token a new session data has been retrieved.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Action payload to use (the new session data to keep in store)\r\n */\r\n saveRefreshedSessionData(storeFunctions: any, payload: any): any\r\n /**\r\n * Action definition triggered at application initialization has a new valid access token.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setHighestUserAuthorizationLevel(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when authentication workflow had totally failed. (Token + Refresh).\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n handleAuthError(storeFunctions: any, payload: any): any\r\n /**\r\n * Action definition triggered when user needs to logout the application.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n logoutUser(storeFunctions: any): any\r\n /**\r\n * Action definition triggered when user successfully logout the application.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n clearAuthData(storeFunctions: any): any\r\n /**\r\n * Set the tenantName value\r\n * @param storeFunctions \r\n */\r\n setTenantName(storeFunctions: any): any\r\n\r\n /** ******************************************************************************************* */\r\n /** TEMPORARY CODE */\r\n /** ******************************************************************************************* */\r\n\r\n /**\r\n * Action definition triggered when user logs into the application.\r\n * The logged user data like the name, the role, etc is kept for further usage.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n retrieveLoggedUserData(storeFunctions: any, payload: any): any\r\n}\r\n\r\n/**\r\n * Actions for authenticating with OAuth2\r\n */\r\nexport const OAuth2Actions: IAuthActions = {\r\n\r\n verifyAuthStatus({ commit, state, dispatch }, { idp, isAccessTokenValid, redirectPage }) {\r\n try {\r\n const isRefreshTokenValid: boolean | undefined = OAuth2Service.isRefreshTokenValid(state.accTS, state.data)\r\n if (state.data === undefined || (idp !== undefined && state.idp == undefined)) {\r\n\r\n // update provided identity provider alias\r\n commit('SET_AUTHENTICATION_IDP_ALIAS', idp)\r\n dispatch('usrSess/displayLoginPage', { redirectPage }, { root: true })\r\n\r\n } else if (!isAccessTokenValid) {\r\n \r\n // if no idp changed then access token has expired, then verify \r\n // refresh token before to redirect to login form\r\n if (isRefreshTokenValid) {\r\n dispatch('usrSess/refreshToken', { redirectPage }, { root: true })\r\n } else {\r\n // if both refresh token and access token have expired then redirect to login form\r\n dispatch('usrSess/displayLoginPage', { redirectPage }, { root: true })\r\n }\r\n\r\n } else {\r\n EventBus.$emit('ON_AUTH_FINISHED', redirectPage)\r\n }\r\n\r\n } catch(error) {\r\n const err: ErrorViewModel = new ErrorViewModel('app.common.error.server.internal', error)\r\n dispatch('usrSess/handlePageError', { err }, { root: true })\r\n }\r\n },\r\n\r\n sendTokenToExtension({ state }){\r\n if (window.chrome && chrome && chrome.runtime) {\r\n const accessInfo = OAuth2Service.getAccessData(state.data)\r\n chrome.runtime.sendMessage( AppConfigService.getChromeExtensionAppId(), \r\n { 'accessInfo': accessInfo }, \r\n (extMsg: any) => {\r\n // TODO : Display welcome message until chrome extension confirmation (extMsg === 'TOKEN RECEIVED')\r\n console.log('Extension answer: ', extMsg)\r\n })\r\n }\r\n },\r\n\r\n displayLoginPage({ commit, state, dispatch }, { redirectPage }) {\r\n try {\r\n // clears previous data to ensure watcher notification in App.vue\r\n commit('REMOVE_AUTHORIZATION_DATA')\r\n\r\n // TODO : Verify whether prompt=login is a problem for RememberMe feature\r\n let params: string = '?'\r\n if (state.idp !== ConfigService.getDefaultTenantName()) { \r\n // in case of kc_idp_hint refer to a unknown idp alias thedefault server login page is displayed\r\n params += `kc_idp_hint=${state.idp}`\r\n }\r\n \r\n const clientId: string | undefined = ConfigService.getOAuth2ClientId()\r\n const redirectURI: string | undefined = ConfigService.getOAuth2RedirectURI()\r\n const scopes: string | undefined = ConfigService.getOAuth2Scopes()\r\n \r\n if (clientId === undefined || redirectURI === undefined || scopes === undefined) {\r\n const err: ErrorViewModel = new ErrorViewModel('app.common.error.server.invalid.configuration')\r\n // console.log('[displayLoginPage] Invalid params : clientId=' + clientId + ' redirectURI=' + redirectURI + ' scopes=' + scopes)\r\n dispatch('usrSess/handlePageError', { err }, { root: true })\r\n } else {\r\n params += `&response_type=code&client_id=${clientId}`\r\n params += `&redirect_uri=${redirectURI}&scope=${scopes}`\r\n\r\n const clientSecret : string | undefined = ConfigService.getOAuth2ClientSecret()\r\n const challengeMethod: string | undefined = ConfigService.getAuthChallengeMethod()\r\n\r\n if (challengeMethod === undefined && clientSecret === undefined) {\r\n const err: ErrorViewModel = new ErrorViewModel('app.common.error.server.invalid.configuration')\r\n // console.log('[displayLoginPage] Invalid params : challengeMethod=' + challengeMethod + ' clientSecret=' + clientSecret)\r\n dispatch('usrSess/handlePageError', { err }, { root: true })\r\n } else {\r\n let codeChallengeParams: string = ''\r\n if (challengeMethod !== undefined && challengeMethod.length > 0) {\r\n const base64URLEncode = (str: any) => str.toString('base64').replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '')\r\n const codeChallenge: any = base64URLEncode(crypto.randomBytes(32))\r\n const requestState: any = base64URLEncode(crypto.randomBytes(32))\r\n codeChallengeParams = `&code_challenge=${codeChallenge}&code_challenge_method=${challengeMethod}&state=${requestState}`\r\n\r\n // store temporary flow data improving security level\r\n const flowTmpData = { codeChallenge: codeChallenge, requestState: requestState, requestedPage: redirectPage}\r\n commit('SET_AUTHENTICATION_FLOW_TEMP_DATA', flowTmpData)\r\n } else {\r\n params += `&client_secret=${clientSecret}`\r\n }\r\n\r\n // display login page\r\n const authUrl: string = `${ConfigService.getOAuth2ServerUrl()}${ConfigService.getAuthorizeEndpoint()}${params}${codeChallengeParams}`\r\n console.log('[displayLoginPage] Redirecting to login page : ', authUrl)\r\n window.location.href = encodeURI(authUrl)\r\n }\r\n }\r\n\r\n } catch(error) {\r\n const err: ErrorViewModel = new ErrorViewModel('app.common.error.server.internal', error)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n }\r\n },\r\n\r\n async getAccessToken ({ commit, state, dispatch }, { code, rolesFromServerIndex, redirectPage }) {\r\n try {\r\n if (ConfigService.getTokenEndpoint().length > 0) {\r\n // clears previous data to ensure watcher notification in App.vue\r\n commit('REMOVE_AUTHORIZATION_DATA')\r\n\r\n const params: any = { code,\r\n grant_type: 'authorization_code',\r\n client_id: ConfigService.getOAuth2ClientId(),\r\n redirect_uri: ConfigService.getOAuth2RedirectURI() }\r\n\r\n if (state.cc !== undefined) {\r\n params['code_verifier'] = state.cc\r\n } else {\r\n params['client_secret'] = ConfigService.getOAuth2ClientSecret()\r\n }\r\n\r\n const [err, response]: [HttpRequestError | undefined, any] = await toHttpRequest(\r\n OAuth2ServerConnector.retrieveValidToken(ConfigService.getTokenEndpoint(), params)) \r\n \r\n if (err) {\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n } else if (response) {\r\n const authenticationData: string = OAuth2Service.generateOAuth2SessionData(response.data)\r\n commit('SET_AUTHENTICATION_DATA', authenticationData)\r\n \r\n const token: string = response.data.access_token\r\n const decodedToken: any = jwtDecode(token)\r\n if (!decodedToken) {\r\n const err: HttpRequestError = new HttpRequestError('app.common.error.invalid.jwt.token', 401)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n } else {\r\n // @ts-ignore: Object is possibly 'null'\r\n if (window.chrome && chrome && chrome.runtime) {\r\n chrome.runtime.sendMessage( AppConfigService.getChromeExtensionAppId(), \r\n { 'accessInfo': response.data }, \r\n (extMsg: any) => {\r\n // TODO : Display welcome message until chrome extension confirmation (extMsg === 'TOKEN RECEIVED')\r\n console.log('Extension answer: ', extMsg)\r\n })\r\n }\r\n\r\n if (decodedToken.email && decodedToken.sub) {\r\n const userPrivileges: any = OAuth2Service.retrieveUserPrivilegesByTenant(token)\r\n commit('SET_AUTHORIZATION_DATA', userPrivileges)\r\n\r\n const userIdentity: string | undefined = OAuth2Service.retrieveEncodedUserIdentityFromToken(token)\r\n if (!userIdentity) {\r\n const err: HttpRequestError = new HttpRequestError('app.common.error.auth.invalid_request', 401)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n } else {\r\n commit('SET_USER_IDENTITY_DATA', userIdentity)\r\n }\r\n\r\n console.log('[retrieveLoggedUserData] UserData retrieved with redirectPage : ', redirectPage)\r\n EventBus.$emit('ON_AUTH_FINISHED', redirectPage)\r\n\r\n } else {\r\n dispatch('usrSess/retrieveLoggedUserData', { redirectPage, rolesFromServerIndex }, { root: true })\r\n }\r\n }\r\n }\r\n\r\n } else {\r\n const err: HttpRequestError = new HttpRequestError('app.common.error.server.internal', 500)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n }\r\n } catch(error) {\r\n const err: ErrorViewModel = new ErrorViewModel('app.common.error.server.internal', error)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n }\r\n },\r\n\r\n async refreshToken ({ commit, state, dispatch }, { redirectPage }) {\r\n try {\r\n // console.log('[refreshToken] Requesting refresh token with redirectPage : ', redirectPage)\r\n if (ConfigService.getTokenEndpoint().length > 0) {\r\n const [err, response]: [HttpRequestError | undefined, any] = await toHttpRequest(\r\n OAuth2ServerConnector.refreshToken(ConfigService.getTokenEndpoint(), OAuth2Service.getRefreshToken(state.data)))\r\n\r\n if (err) {\r\n // if unable to refresh token then redirect to login form\r\n dispatch('usrSess/displayLoginPage', { redirectPage }, { root: true })\r\n } else if (response) {\r\n const authenticationData: string = OAuth2Service.generateOAuth2SessionData(response.data)\r\n commit('SET_AUTHENTICATION_DATA', authenticationData)\r\n EventBus.$emit('ON_AUTH_FINISHED', redirectPage)\r\n }\r\n \r\n } else {\r\n const err: HttpRequestError = new HttpRequestError('app.common.error.server.internal', 500)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n }\r\n } catch(error) {\r\n const err: ErrorViewModel = new ErrorViewModel('app.common.error.server.internal', error)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n }\r\n },\r\n\r\n saveRefreshedSessionData({ commit, dispatch }, { authenticationData }) {\r\n try {\r\n commit('SET_AUTHENTICATION_DATA', authenticationData)\r\n } catch(error) {\r\n const err: ErrorViewModel = new ErrorViewModel('app.common.error.server.internal', error)\r\n dispatch('usrSess/handlePageError', { err }, { root: true })\r\n }\r\n },\r\n\r\n setHighestUserAuthorizationLevel({ commit, dispatch }, { usrHighestAuthorization }) {\r\n try {\r\n commit('SET_HIGHEST_AUTHORIZATION_LEVEL', EncodageHelper.encodeBase64Object(usrHighestAuthorization))\r\n } catch(error) {\r\n const err: ErrorViewModel = new ErrorViewModel('app.common.error.server.internal', error)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n }\r\n },\r\n\r\n async logoutUser ({ state, commit, dispatch }) {\r\n try {\r\n // console.log('[logoutUser] Login out user, cleaning app state ...')\r\n if (ConfigService.getEndSessionEndpoint().length > 0 && state.data !== undefined) {\r\n\r\n await toHttpRequest(\r\n OAuth2ServerConnector.endSession(ConfigService.getEndSessionEndpoint(), OAuth2Service.getTokenId(state.data)))\r\n\r\n commit('REMOVE_AUTHENTICATION_DATA')\r\n dispatch('searchFilters/clearSearchFilters', null, { root: true })\r\n dispatch('viewState/clearViewState', null, { root: true })\r\n\r\n // Send message to chrome extension to try to log it out if it's installed and connected\r\n if (window.chrome && chrome && chrome.runtime) {\r\n chrome.runtime.sendMessage( AppConfigService.getChromeExtensionAppId(), \r\n { 'logout': true }, \r\n (extMsg: any) => {\r\n console.log('Extension answer: ', extMsg)\r\n })\r\n }\r\n\r\n }\r\n } catch(error) {\r\n console.log('[logoutUser] Login out failure ', error)\r\n }\r\n },\r\n\r\n clearAuthData ({ commit }) {\r\n commit('REMOVE_AUTHENTICATION_DATA')\r\n },\r\n\r\n handleAuthError ({ commit, dispatch }, { err }) {\r\n commit('REMOVE_AUTHENTICATION_DATA')\r\n const pageError: ErrorViewModel = new ErrorViewModel(err.errI18NMsg, err)\r\n dispatch('viewState/setPageError', { pageError }, { root: true })\r\n },\r\n\r\n async setTenantName({ commit, state}){\r\n if(state.data){\r\n const originalTenantName = OAuth2Service.retrieveTenantName(state.data)\r\n let tenantName = originalTenantName\r\n\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/user?tenantName=${originalTenantName}`, ''))\r\n \r\n if (response === undefined || response.data.accountType === \"B2C\") {\r\n tenantName = ConfigService.getDefaultTenantName()\r\n }\r\n commit('SET_TENANT_NAME', tenantName)\r\n }\r\n },\r\n\r\n /** ******************************************************************************************* */\r\n /** TEMPORARY CODE */\r\n /** ******************************************************************************************* */\r\n\r\n async retrieveLoggedUserData({ commit, state, dispatch }, { redirectPage, rolesFromServerIndex }) {\r\n try {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getBaseApiServerConnector().get(ConfigService.getUserIdentityEndPointUri(), \r\n OAuth2Service.getAccessToken(state.data), OAuth2Service.getRefreshToken(state.data)))\r\n\r\n if (err) {\r\n commit('REMOVE_AUTHENTICATION_DATA')\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n } else if (response) {\r\n const usrData: any = { id: response.data.idUserIdentity,\r\n email: response.data.email,\r\n firstname: response.data.firstname,\r\n lastname: response.data.name,\r\n login: response.data.email }\r\n \r\n if (!usrData) {\r\n const err: HttpRequestError = new HttpRequestError('app.common.error.auth.invalid_request', 401)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n } else {\r\n commit('SET_USER_IDENTITY_DATA', usrData)\r\n }\r\n\r\n const privileges: any = {}\r\n privileges[ ConfigService.getDefaultTenantName() ] = [ rolesFromServerIndex[response.data.typeCompte] ]\r\n const userPrivileges: any = EncodageHelper.encodeBase64Object(privileges)\r\n commit('SET_AUTHORIZATION_DATA', userPrivileges)\r\n\r\n // console.log('[retrieveLoggedUserData] UserData retrieved with redirectPage : ', redirectPage)\r\n EventBus.$emit('ON_AUTH_FINISHED', redirectPage)\r\n }\r\n } catch(error) {\r\n const err: ErrorViewModel = new ErrorViewModel('app.common.error.server.internal', error)\r\n dispatch('usrSess/handleAuthError', { err }, { root: true })\r\n }\r\n },\r\n}\r\n","import {\r\n EncodageHelper,\r\n IAuthState,\r\n OAuth2ServerConfigData,\r\n OAuth2Service,\r\n UserService,\r\n UserEntity,\r\n} from '../../..'\r\n\r\nexport interface IAuthGetters {\r\n /**\r\n * Indicates whether the authentication state is valid or not.\r\n * @param state Current state.\r\n * @returns TRUE when the authentication data is valid, FALSE otherwise.\r\n */\r\n isAccessTokenValid(state: IAuthState): boolean | undefined\r\n /**\r\n * Gets the current authentication server config info.\r\n * @param state Current state.\r\n * @returns An instance of the AuthData object, undefined when the user has not been\r\n * authenticated yet.\r\n */\r\n authServerConfigData(state: IAuthState): OAuth2ServerConfigData | undefined\r\n /**\r\n * Gets the current authentication data state.\r\n * @param state Current state.\r\n * @returns A string of the AuthData object, undefined when the user has not been\r\n * authenticated yet.\r\n */\r\n authenticationData(state: IAuthState): string | undefined\r\n /**\r\n * Gets the logged user rights, that means the associations { tenant => roles[] }.\r\n * \r\n * @param state Current state.\r\n * @returns The user authorizations decoded object that maps authoraized tenant names with their associated role list \r\n * (roles could be cumulative or mutually excluding by hierarchie level).\r\n */\r\n usrAuthorizations(state: IAuthState): any | undefined\r\n /**\r\n * The highest level authorization data initialized with latest valid token key.\r\n * @param state Current state.\r\n * @returns The highest level authorization decoded item provided by identitity server\r\n */\r\n usrHighestAuthorization(state: IAuthState): string | undefined\r\n /**\r\n * Gets the logged user entity.\r\n * @param state Current state.\r\n * @returns The logged user entity.\r\n */\r\n usrIdentity(state: IAuthState): UserEntity | undefined\r\n /**\r\n * Gets the logged user entity.\r\n * @param state Current state.\r\n * @returns The tenant name associated to the logged user.\r\n */\r\n tenantName(state: IAuthState): string | undefined\r\n /**\r\n * Gets the temp request value state to prevent potential CSRF attacks.\r\n * @param state Current state.\r\n * @returns The temp request value state.\r\n */\r\n requestSt(state: IAuthState): string | undefined\r\n\r\n /**\r\n * Gets the current idp used for authentication.\r\n * @param state Current state.\r\n * @returns The idp name\r\n */\r\n idp(state: IAuthState): string | undefined\r\n}\r\n\r\nexport const OAuth2Getters: IAuthGetters = {\r\n\r\n isAccessTokenValid(state: IAuthState): boolean | undefined {\r\n return OAuth2Service.isAccessTokenValid(state.accTS, state.data)\r\n },\r\n\r\n authServerConfigData(state: IAuthState): OAuth2ServerConfigData | undefined {\r\n return state.authEPs\r\n },\r\n\r\n authenticationData(state: IAuthState): string | undefined {\r\n return state.data ? EncodageHelper.decodeBase64Object(state.data) : undefined\r\n },\r\n\r\n usrAuthorizations(state: IAuthState): any | undefined {\r\n return state.rls ? EncodageHelper.decodeBase64Object(state.rls) : undefined\r\n },\r\n\r\n usrHighestAuthorization(state: IAuthState): string | undefined {\r\n return state.hrl ? EncodageHelper.decodeBase64Object(state.hrl) : undefined\r\n },\r\n\r\n usrIdentity(state: IAuthState): UserEntity | undefined {\r\n return state.idd ? UserService.getUserEntity(state.idd) : undefined\r\n },\r\n\r\n tenantName(state: IAuthState): string | undefined {\r\n return state.tenantName\r\n },\r\n\r\n requestSt(state: IAuthState): string | undefined {\r\n return state.st\r\n },\r\n \r\n idp(state: IAuthState): string | undefined {\r\n return state.idp\r\n },\r\n}\r\n","import {\r\n OAuth2ServerConfigData,\r\n UserEntity,\r\n} from '../..'\r\n\r\nexport interface IAuthState {\r\n /** The authentication identity provider alias */\r\n idp?: string\r\n /** The authentication server end points URIs */\r\n authEPs?: OAuth2ServerConfigData\r\n /** The access token reception time in order to be able to evaluate the expiration time of the access and refresh tokens */\r\n accTS?: number\r\n /** The Authentication data initialized with latest valid token key */\r\n data?: string\r\n /** The authorization rights and permissions data initialized with latest valid token key */\r\n rls?: string,\r\n /** The highest level authorization data initialized with latest valid token key */\r\n hrl?: string,\r\n /** The user identity data initialized with latest valid token key */\r\n idd?: UserEntity,\r\n /** Keeps temp value of codeChallenge between authentication request and token request */\r\n cc?: string\r\n /** Keeps temp value of state between authentication request and token request : prevents potential CSRF attack */\r\n st?: string\r\n /** The tenant name of the user logged*/\r\n tenantName?: string\r\n}\r\n\r\nexport const AuthState = (): IAuthState => {\r\n return {\r\n idp: undefined,\r\n authEPs: undefined,\r\n accTS: 0,\r\n data: undefined,\r\n rls: undefined,\r\n hrl: undefined,\r\n idd: undefined,\r\n cc: undefined,\r\n st: undefined,\r\n tenantName: undefined\r\n }\r\n}\r\n","import {\r\n IAuthState,\r\n OAuth2ServerConfigData,\r\n UserEntity\r\n} from '../..'\r\n\r\nexport interface IAuthMutations {\r\n /**\r\n * Updates current state with identity provider alias.\r\n * @param state Current state to update.\r\n * @param idpAlias The identity provider alias.\r\n */\r\n SET_AUTHENTICATION_IDP_ALIAS(state: IAuthState, idpAlias: string): void\r\n /**\r\n * Updates current state with authentication data.\r\n * @param state Current state to update.\r\n * @param authEPs An instance of the authentication data with valid token.\r\n */\r\n SET_AUTHENTICATION_SERVER_DATA(state: IAuthState, authEPs: OAuth2ServerConfigData): void\r\n /**\r\n * Updates current state with authentication data.\r\n * @param state Current state to update.\r\n * @param authenticationData An string of the authentication data with valid token.\r\n */\r\n SET_AUTHENTICATION_DATA(state: IAuthState, authenticationData: string): void\r\n /**\r\n * Updates current state with authorization data.\r\n * @param state Current state to update.\r\n * @param authorizationData An string of the authorization data, that means, user rights, permissions,\r\n * authorized tenants, etc.\r\n */\r\n SET_AUTHORIZATION_DATA(state: IAuthState, authorizationData: string): void\r\n /**\r\n * Clears current authorization data state.\r\n * @param state Current state to update.\r\n */\r\n REMOVE_AUTHORIZATION_DATA(state: IAuthState): void\r\n /**\r\n * Sets the highest level authorization data initialized with latest valid token key.\r\n * @param state Current state to update.\r\n * @param authorizationData An string of the highest authorization data, that means, user right with\r\n * the highest application permission level etc.\r\n */\r\n SET_HIGHEST_AUTHORIZATION_LEVEL(state: IAuthState, usrHighestAuthorization: string): void\r\n /**\r\n * Updates current state with user identity data.\r\n * @param state Current state to update.\r\n * @param usrIdentityData An string of the authorization data, that means, user firstname, lastname, email, avatar link, etc.\r\n */\r\n SET_USER_IDENTITY_DATA(state: IAuthState, usrIdentityData: UserEntity): void\r\n /**\r\n * Updates current state with authentication data.\r\n * @param state Current state to update.\r\n * @param tempData A payload object with codeChallenge and requestState temp data\r\n */\r\n SET_AUTHENTICATION_FLOW_TEMP_DATA(state: IAuthState, tempData: {codeChallenge: string; requestState: string; }): void\r\n /**\r\n * Removes authentication data when user logout the application.\r\n * @param state Current state to update.\r\n */\r\n REMOVE_AUTHENTICATION_DATA(state: IAuthState): void\r\n\r\n /** Set tenant name \r\n * @param state Current state to update.\r\n * @param tenantName the tenantName to store\r\n */\r\n SET_TENANT_NAME(state: IAuthState, tenantName: string): void\r\n}\r\n\r\nexport const OAuth2Mutations: IAuthMutations = {\r\n\r\n SET_AUTHENTICATION_IDP_ALIAS: (state: IAuthState, idpAlias: string) => {\r\n state.idp = idpAlias\r\n },\r\n\r\n SET_AUTHENTICATION_SERVER_DATA: (state: IAuthState, authEPs: OAuth2ServerConfigData) => {\r\n state.authEPs = authEPs\r\n },\r\n\r\n SET_AUTHENTICATION_DATA: (state: IAuthState, authenticationData: string) => {\r\n state.data = authenticationData\r\n state.accTS = Date.now()\r\n state.cc = undefined\r\n state.st = undefined\r\n },\r\n\r\n SET_AUTHORIZATION_DATA: (state: IAuthState, authorizationData: string) => {\r\n state.rls = authorizationData\r\n },\r\n\r\n REMOVE_AUTHORIZATION_DATA: (state: IAuthState) => {\r\n state.rls = undefined\r\n },\r\n\r\n SET_HIGHEST_AUTHORIZATION_LEVEL: (state: IAuthState, usrHighestAuthorization: string) => {\r\n state.hrl = usrHighestAuthorization\r\n },\r\n\r\n SET_USER_IDENTITY_DATA: (state: IAuthState, usrIdentityData: UserEntity) => {\r\n state.idd = usrIdentityData\r\n },\r\n\r\n SET_AUTHENTICATION_FLOW_TEMP_DATA: (state: IAuthState, tempData: {codeChallenge: string; requestState: string; }) => {\r\n state.cc = tempData.codeChallenge\r\n state.st = tempData.requestState\r\n },\r\n\r\n REMOVE_AUTHENTICATION_DATA: (state: IAuthState) => {\r\n state.idp = undefined // to force validation of Licence status\r\n state.data = undefined\r\n state.accTS = 0\r\n state.rls = undefined\r\n state.hrl = undefined\r\n state.idd = undefined\r\n state.cc = undefined\r\n state.st = undefined\r\n state.tenantName = undefined\r\n },\r\n SET_TENANT_NAME: (state: IAuthState, tenantName: string) => {\r\n state.tenantName = tenantName\r\n }\r\n}","import {\r\n Module\r\n} from 'vuex'\r\nimport {\r\n IState\r\n} from '../..'\r\nimport {\r\n OAuth2Actions\r\n} from './actions'\r\nimport {\r\n OAuth2Getters\r\n} from './getters'\r\nimport {\r\n IAuthState,\r\n AuthState\r\n} from './state'\r\nimport {\r\n OAuth2Mutations\r\n} from './mutations'\r\n\r\nexport const usrSess: Module < IAuthState, IState > = {\r\n namespaced: true,\r\n actions: {\r\n ...OAuth2Actions\r\n },\r\n getters: {\r\n ...OAuth2Getters\r\n },\r\n state: {\r\n ...AuthState(),\r\n },\r\n mutations: {\r\n ...OAuth2Mutations\r\n },\r\n}","export class FeatureEntity {\r\n\r\n /**\r\n * Feature entity constructor.\r\n *\r\n * @param label Internationalized key associated to the feature label.\r\n * @param type Enumerated feature type used as identifier.\r\n * @param group Feature group associated to this feature.\r\n * @param link Link (full or relative link) to provide to router in order to display the associated view. (optional)\r\n * @param icon The material icon name to be associated to this feature. (optional)\r\n */\r\n constructor(public label: string,\r\n public type: string,\r\n public group: string,\r\n public link?: string,\r\n public icon?: string) {}\r\n}\r\n","import { \r\n FeatureEntity \r\n} from './FeatureEntity'\r\n\r\nexport class FeatureGroupEntity {\r\n\r\n /** Indicates that this feature is currently in use or not */\r\n public active: boolean\r\n\r\n /**\r\n * FeatureGroup constructor definition.\r\n * @param label Internationalized key associated to the feature label.\r\n * @param type Enumerated feature type used as identifier.\r\n * @param features List of features belonging to this menu feature group.\r\n * @param icon The material icon name to associate to this feature group. (optional)\r\n */\r\n constructor(public label: string,\r\n public type: string,\r\n public features: FeatureEntity[],\r\n public icon?: string) {\r\n // set default value\r\n this.active = false\r\n }\r\n}\r\n","export enum SpecificPermissionsEnum {\r\n /** \r\n * Permission that provides full rights for a given feature or entity. Default permission \r\n * when feature configured. If a list of specific permissions are configured, then the others\r\n * will be considered as forbidden. \r\n */\r\n ALL= 'all',\r\n\r\n /** \r\n * Permission that provides creation, consultation, update and deletion possibility for \r\n * a given entity.\r\n */\r\n CRUD= 'crud',\r\n\r\n /** \r\n * Permission that provides only consultation possibility for a given entity.\r\n */\r\n READ_ONLY= 'read-only',\r\n\r\n /** \r\n * Permission that provides the execution possibility for a given feature or entity.\r\n */\r\n EXECUTE= 'execute',\r\n\r\n /** \r\n * Permission that provides the export possibility not for a specific entity but maybe \r\n * several. \r\n */\r\n EXPORT= 'export',\r\n\r\n /** \r\n * Permission that provides the import possibility not ony for one specific entity but maybe several.\r\n * By exemple : import chatbot creates ChatbotEntity, but also GenerationRules, Documents, etc.\r\n * It could be usefull to provide access to the button CREATE but not to the button IMPORT by example.\r\n */\r\n IMPORT= 'import',\r\n\r\n /** \r\n * Permission that provides access to a general physical resource : Upload documents or files \r\n * into a server by example, import files, etc.\r\n */\r\n RESOURCE_ACCESS_TO= 'resource-access',\r\n}\r\nexport default SpecificPermissionsEnum\r\n","export enum TimeFilterThresholdTypeEnum {\r\n DAY = 'day',\r\n WEEK = 'week',\r\n MONTH = 'month',\r\n YEAR = 'year'\r\n}\r\n","export class ConfigService {\r\n \r\n /** ******************************************************************************************* */\r\n /** APP CONFIG PARAMS */\r\n /** ******************************************************************************************* */\r\n\r\n public static getBaseApiUrl (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return window.serverConfig ? window.serverConfig.restRoot : process.env.VUE_APP_BASE_API_URL\r\n }\r\n\r\n public static getAppVersion (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_VERSION === undefined) ? '' : process.env.VUE_APP_VERSION\r\n }\r\n\r\n public static getDefaulRequestTimeout (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_REQUEST_TIMEOUT === undefined) ? 0 : Number(process.env.VUE_APP_DEFAULT_REQUEST_TIMEOUT)\r\n }\r\n\r\n public static sessionExpirationPeriod (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_USER_SESSION_EXPIRATION_PERIOD === undefined) ? 0 : Number(process.env.VUE_APP_USER_SESSION_EXPIRATION_PERIOD)\r\n }\r\n\r\n public static getAppContext (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_CONTEXT === undefined) ? '' : process.env.VUE_APP_CONTEXT\r\n }\r\n\r\n public static getDefaultInitialPage (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_INITIAL_PAGE === undefined) ? '/home' : process.env.VUE_APP_DEFAULT_INITIAL_PAGE\r\n }\r\n\r\n public static getDefaultErrorPage (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_ERROR_PAGE === undefined) ? '/error' : process.env.VUE_APP_DEFAULT_ERROR_PAGE\r\n }\r\n\r\n public static getDefaultInitialPageLabel (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_INITIAL_PAGE_BTN_LABEL === undefined) ? 'app.pagenotfound.btn.bck' : process.env.VUE_APP_DEFAULT_INITIAL_PAGE_BTN_LABEL\r\n }\r\n\r\n public static getSideMenuBreakpoint (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_SIDEMENU_BREAKPOINT === undefined) ? 600 : Number(process.env.VUE_APP_SIDEMENU_BREAKPOINT)\r\n }\r\n\r\n public static getAppSmallLogo (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_SMALL_LOGO === undefined) ? '' : process.env.VUE_APP_SMALL_LOGO\r\n }\r\n\r\n public static getAppPlaceholderLogo (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_PLACEHOLDER_LOGO === undefined) ? '' : process.env.VUE_APP_PLACEHOLDER_LOGO\r\n }\r\n\r\n public static getAppLoaderLogo (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_LOADER_LOGO === undefined) ? '' : process.env.VUE_APP_LOADER_LOGO\r\n }\r\n\r\n public static getAppLogo (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_HEADER_LOGO === undefined) ? '' : process.env.VUE_APP_HEADER_LOGO\r\n }\r\n\r\n public static getSnackBarTimeout(): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_SNACKBAR_TIMEOUT === undefined) ? 6000 : Number(process.env.VUE_APP_SNACKBAR_TIMEOUT)\r\n }\r\n\r\n public static getProjectAssetsDir (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_ASSETS_DIRECTORY === undefined) ? '/imgs/' : process.env.VUE_APP_ASSETS_DIRECTORY\r\n }\r\n\r\n public static getDefaultLocale (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_LOCALE === undefined) ? 'fr' : process.env.VUE_APP_DEFAULT_LOCALE\r\n }\r\n\r\n public static getDefaultMenuAvatarImg (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_MENU_AVATAR_IMG === undefined) ? '' : process.env.VUE_APP_DEFAULT_MENU_AVATAR_IMG\r\n }\r\n\r\n public static getDocumentationBaseUrl (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DOCUMENTATION_BASE_URL === undefined) ? '/docs/' : process.env.VUE_APP_DOCUMENTATION_BASE_URL\r\n }\r\n\r\n public static getReleaseNotesBaseUrl (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_RELEASE_NOTES_BASE_URL === undefined) ? '/docs/NotesDeVersions/v' : process.env.VUE_APP_RELEASE_NOTES_BASE_URL\r\n }\r\n\r\n public static getDefaultUserPrivilege (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_USER_PRIVILEGE === undefined) ? '' : process.env.VUE_APP_DEFAULT_USER_PRIVILEGE\r\n }\r\n\r\n public static getTokenTenantPropName (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_TOKEN_TENANT_PROP_NAME === undefined) ? '' : process.env.VUE_APP_TOKEN_TENANT_PROP_NAME\r\n }\r\n \r\n public static getDefaultTenantName (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_TENANT_NAME === undefined) ? 'any_tenant' : process.env.VUE_APP_DEFAULT_TENANT_NAME\r\n }\r\n\r\n public static getTenantNameWithHierarchy(): string[] {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_TENANT_NAME_WITH_HIERARCHY === undefined) ? [] : process.env.VUE_APP_TENANT_NAME_WITH_HIERARCHY.split(',')\r\n }\r\n\r\n // TEMP CODE\r\n public static getUserIdentityEndPointUri (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_USER_IDENTITY_END_POINT_URI === undefined) ? '' : process.env.VUE_APP_USER_IDENTITY_END_POINT_URI\r\n }\r\n\r\n /** ******************************************************************************************* */\r\n /** AUTH CONFIG PARAMS */\r\n /** ******************************************************************************************* */\r\n\r\n public static getDefaultIdentityProvider (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_TENANT_NAME === undefined) ? 'synapse' : process.env.VUE_APP_DEFAULT_TENANT_NAME\r\n }\r\n\r\n public static getOAuth2ServerUrl (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (window.authConfig && window.authConfig.authUrl) ? window.authConfig.authUrl : process.env.VUE_APP_AUTH_URL\r\n }\r\n\r\n public static getOAuth2RedirectURI (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (window.authConfig && window.authConfig.authRedirectUri) ? window.authConfig.authRedirectUri : process.env.VUE_APP_AUTH_REDIRECT_URI\r\n }\r\n\r\n public static getOAuth2LogoutRedirectURI (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (window.authConfig && window.authConfig.authLogoutRedirectUri) ? window.authConfig.authLogoutRedirectUri : process.env.VUE_APP_END_SESSION_REDIRECT_URI\r\n }\r\n\r\n public static getAuthChallengeMethod (): string | undefined {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (window.authConfig && window.authConfig.authChallengeMethod) ? window.authConfig.authChallengeMethod : process.env.VUE_APP_AUTH_CHALLENGE_METHOD\r\n }\r\n\r\n public static getRefreshTokenValidationTimeInMillis (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n const result = (window.authConfig && window.authConfig.authRefreshTokenValTime) ? Number(window.authConfig.authRefreshTokenValTime) \r\n : ConfigService.getOAuth2RefreshTokenDefaultLifetime()\r\n return result; \r\n }\r\n\r\n public static getOAuth2RefreshTokenDefaultLifetime (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n const result = (process.env.VUE_APP_AUTH_DEFAULT_REFRESH_TOKEN_LIFETIME === undefined) ? 60000 : Number(process.env.VUE_APP_AUTH_DEFAULT_REFRESH_TOKEN_LIFETIME)\r\n return result;\r\n }\r\n\r\n public static getOAuth2ClientId (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (window.authConfig && window.authConfig.authClientId) ? window.authConfig.authClientId : process.env.VUE_APP_CLIENT_ID\r\n }\r\n\r\n public static getOAuth2ClientSecret (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (window.authConfig && window.authConfig.authClientSecret) ? window.authConfig.authClientSecret : process.env.VUE_APP_CLIENT_SECRET\r\n }\r\n\r\n public static getOAuth2Scopes (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (window.authConfig && window.authConfig.authScopes) ? window.authConfig.authScopes : process.env.VUE_APP_AUTH_SCOPES\r\n }\r\n\r\n public static getAuthorizeEndpoint (): string | undefined {\r\n // @ts-ignore: Object is possibly 'null'\r\n const result = (process.env.VUE_APP_AUTH_AUTHORIZE_ENDPOINT === undefined) ? '' : process.env.VUE_APP_AUTH_AUTHORIZE_ENDPOINT\r\n return result;\r\n }\r\n\r\n public static getTokenEndpoint (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n const result = (process.env.VUE_APP_AUTH_TOKEN_ENDPOINT === undefined) ? '' : process.env.VUE_APP_AUTH_TOKEN_ENDPOINT\r\n return result;\r\n }\r\n \r\n public static getEndSessionEndpoint (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n const result = (process.env.VUE_APP_AUTH_LOGOUT_ENDPOINT === undefined) ? '' : process.env.VUE_APP_AUTH_LOGOUT_ENDPOINT\r\n return result;\r\n }\r\n\r\n public static getAccountCreationEndpoint (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n const result = (process.env.VUE_APP_ACCOUNT_CREATION === undefined) ? '' : process.env.VUE_APP_ACCOUNT_CREATION\r\n return result;\r\n }\r\n}\r\n","import {\r\n EnumHelper,\r\n FeatureEntity,\r\n FeatureGroupEntity\r\n} from '../../../..'\r\n\r\n/**\r\n * FeaturesFactory is in charge of the instantiation of FeatureEntity and FeatureGroupEntity.\r\n */\r\nexport class FeaturesFactory {\r\n\r\n /**\r\n * Build feature group and their features from enumerated definitions.\r\n * \r\n * @param labelGroupI18N The feature group internationalized label key\r\n * @param featureGroup The feature group enum item\r\n * @param featureGroupIcon The feature group icon\r\n * @param enumeratedFeatures The enumerated feature list\r\n * @param extPath The external feature path\r\n * @param featuresIcons The associated feature icons\r\n * @returns The feature group entity\r\n */\r\n public static buildFeatureGroup(labelGroupI18N: string, \r\n featureGroup: any, \r\n featureGroupIcon: string, \r\n enumeratedFeatures: any, \r\n extPath: string, \r\n featuresIcons ? : any): FeatureGroupEntity {\r\n\r\n return new FeatureGroupEntity( labelGroupI18N,\r\n featureGroup,\r\n FeaturesFactory.buildFeatures(featureGroup, enumeratedFeatures, extPath, featuresIcons),\r\n featureGroupIcon)\r\n }\r\n\r\n /**\r\n * Build features from enumerated definitions.\r\n * \r\n * @param featureGroup The associated feature group\r\n * @param enumeratedFeatures The enumerated feature list\r\n * @param extPath The external feature path\r\n * @param featuresIcons The associated feature icons\r\n * @returns The feature entities list\r\n */\r\n public static buildFeatures(featureGroup: any, enumeratedFeatures: any, extPath: string, featuresIcons ? : any): FeatureEntity[] {\r\n const features: FeatureEntity[] = []\r\n for (const value of EnumHelper.enumKeys(enumeratedFeatures)) {\r\n const uriPath: string | undefined = enumeratedFeatures[value].includes('.aspx') ? `${extPath}/${enumeratedFeatures[value]}` \r\n : `/${enumeratedFeatures[value]}`\r\n features.push(new FeatureEntity(`app.menu.${enumeratedFeatures[value]}`,\r\n enumeratedFeatures[value],\r\n featureGroup,\r\n uriPath,\r\n featuresIcons ? featuresIcons[enumeratedFeatures[value]] : undefined))\r\n }\r\n return features\r\n }\r\n}\r\n","import { \r\n FeatureEntity \r\n} from '../../..'\r\n\r\n/**\r\n * FeaturesConfigHelper provide helpers to select the authorized \r\n * features giving the logged user permissions.\r\n */\r\nexport class FeaturesConfigHelper {\r\n\r\n /**\r\n * Returns whether the user has permission to access to the given feature.\r\n * @param usrRole The logged user role.\r\n * @param featureName The feature enumerated item to check.\r\n * @param roleLevels The role hierarchy levels to verify authorization\r\n * @param featuresPermissionLevel A map of features list with their associated minimum access level\r\n * @returns TRUE if the user is authorized, FALSE otherwise.\r\n */\r\n public static isAuthorizedFeatureForUser(usrRole: string, featureName: string, roleLevels: any, featuresPermissionLevel: Map): boolean {\r\n const featureRoleLevel: string | undefined = featuresPermissionLevel.get(featureName)\r\n if (!featureRoleLevel) {\r\n return false\r\n } else {\r\n return (roleLevels[usrRole] >= roleLevels[featureRoleLevel])\r\n }\r\n }\r\n\r\n /**\r\n * Returns only the authorized features for the given role.\r\n * @param usrRole The user role\r\n * @param features The features to check\r\n * @param roleLevels The role hierarchy levels to verify authorization\r\n * @param featuresPermissionLevel A map of features list with their associated minimum access level\r\n * @returns the authorized features for the given role\r\n */\r\n public static selectAuthorizedFeatures(usrRole: string, features: FeatureEntity[], roleLevels: any, featuresPermissionLevel: Map): FeatureEntity[] {\r\n const authFeats: FeatureEntity[] = []\r\n for (const feat of features) {\r\n const featureRoleLevel: string | undefined = featuresPermissionLevel.get(feat.type)\r\n if (featureRoleLevel && roleLevels[usrRole] >= roleLevels[featureRoleLevel]) {\r\n authFeats.push(feat) \r\n }\r\n }\r\n return authFeats\r\n }\r\n}\r\n","import {\r\n DateHelper,\r\n TimeFilterThresholdPeriod,\r\n TimeFilterThreshold,\r\n TimeFilterThresholdDay,\r\n TimeFilterThresholdWeek,\r\n TimeFilterThresholdMonth,\r\n TimeFilterThresholdYear,\r\n} from '../../..'\r\n\r\n\r\nexport class SubperiodComputingService {\r\n private static thresholdsMap: Map = new Map()\r\n\r\n private static initializeThresholdsMap () {\r\n SubperiodComputingService.thresholdsMap.set(0, new TimeFilterThresholdDay())\r\n SubperiodComputingService.thresholdsMap.set(13, new TimeFilterThresholdWeek())\r\n SubperiodComputingService.thresholdsMap.set(49, new TimeFilterThresholdMonth())\r\n SubperiodComputingService.thresholdsMap.set(366, new TimeFilterThresholdYear())\r\n }\r\n\r\n /**\r\n * Determine wich threshold will be used to split the main period then call the split method.\r\n * \r\n * @param dateFrom the begining of the main period.\r\n * @param dateTo the end of the main period.\r\n * @returns the list of the subPeriods.\r\n */\r\n public static generateSubperiods (dateFrom: Date, dateTo: Date): TimeFilterThresholdPeriod[] {\r\n if (SubperiodComputingService.thresholdsMap.size === 0 ) {\r\n SubperiodComputingService.initializeThresholdsMap()\r\n }\r\n\r\n const dayCounts: IterableIterator = SubperiodComputingService.thresholdsMap.keys()\r\n let threshold: TimeFilterThreshold | undefined = undefined\r\n for (const dayCount of dayCounts) {\r\n if (DateHelper.computeDayCount(dateFrom, dateTo) > dayCount) {\r\n threshold = SubperiodComputingService.thresholdsMap.get(dayCount)\r\n }\r\n }\r\n\r\n return threshold !== undefined ? this.splitInSubperiods(threshold, dateFrom, dateTo) : []\r\n }\r\n\r\n /**\r\n * Split the main period into subPeriods.\r\n * \r\n * @param threshold the threshold used to split the main perdiod\r\n * @param dateFrom the begining of the main period.\r\n * @param dateTo the end of the main period.\r\n * @returns the list of the subperiods.\r\n */\r\n private static splitInSubperiods (threshold: TimeFilterThreshold, dateFrom: Date, dateTo: Date): TimeFilterThresholdPeriod[] {\r\n const result: TimeFilterThresholdPeriod[] = []\r\n const subperiodName: string = threshold.getSubperiodName(dateFrom)\r\n let currentSubperiod : TimeFilterThresholdPeriod = new TimeFilterThresholdPeriod(dateFrom, dateFrom, subperiodName)\r\n\r\n for (let d: Date = new Date(dateFrom); d <= dateTo; d.setDate(d.getDate() + 1)) {\r\n if (threshold.haveToSplit(d) && d.getTime() !== dateFrom.getTime()) {\r\n result.push(currentSubperiod)\r\n currentSubperiod = new TimeFilterThresholdPeriod(new Date(d), new Date(d), threshold.getSubperiodName(d))\r\n } else {\r\n currentSubperiod.dateTo = new Date(d)\r\n }\r\n currentSubperiod.dateTo.setHours(23, 59, 59)\r\n }\r\n result.push(currentSubperiod)\r\n return result\r\n }\r\n}\r\n","export class TimeFilterThresholdPeriod {\r\n\r\n /**\r\n * Define the data threshold period, they are adjusted to the user period set into the filter input : \r\n * if the main period is large, the subperiods will be large,. E.g. if the period selected by the user\r\n * is a period of 6 months : the subperiods will be associated to each month.\r\n * \r\n * @param dateFrom The begining of the associated period\r\n * @param dateTo The end of the associated period\r\n * @param label The label to display in graph or tabular view column for the data in the given period \r\n * (in case of a sub period it could be \"April\")\r\n */\r\n constructor(public dateFrom: Date, \r\n public dateTo: Date,\r\n public label: string) {}\r\n}\r\n","import {\r\n TimeFilterThreshold\r\n} from '.'\r\n\r\nexport class TimeFilterThresholdDay implements TimeFilterThreshold {\r\n haveToSplit(date: Date): boolean {\r\n return true\r\n }\r\n\r\n getSubperiodName(date: Date): string {\r\n return date.toLocaleDateString()\r\n }\r\n}\r\n","import {\r\n TimeFilterThreshold\r\n} from '.'\r\n\r\nexport class TimeFilterThresholdMonth implements TimeFilterThreshold {\r\n\r\n\r\n haveToSplit(date: Date): boolean {\r\n return date.getDate() === 1\r\n }\r\n\r\n getSubperiodName(date: Date): string {\r\n return 'month.number.'+date.getMonth().toString()\r\n }\r\n}\r\n","import {\r\n TimeFilterThreshold\r\n} from '.'\r\n\r\nexport class TimeFilterThresholdWeek implements TimeFilterThreshold {\r\n haveToSplit(date: any): boolean {\r\n return date.getDay() === 0\r\n }\r\n\r\n getSubperiodName(date: Date): string {\r\n return 'week' + this.getWeekNumber(date)\r\n }\r\n\r\n private getWeekNumber(date: Date): number {\r\n const oneJan = new Date(date.getFullYear(), 0, 1)\r\n const numberOfDays = Math.floor((date.getTime() - oneJan.getTime()) / (24 * 60 * 60 * 1000))\r\n const result = Math.ceil((date.getDay() + 1 + numberOfDays) / 7)\r\n return result\r\n }\r\n}\r\n","import {\r\n TimeFilterThreshold\r\n} from '.'\r\n\r\nexport class TimeFilterThresholdYear implements TimeFilterThreshold {\r\n haveToSplit(date: any): boolean {\r\n return date.getDate() === 1 && date.getMonth() === 0\r\n }\r\n\r\n getSubperiodName(date: Date): string {\r\n return date.getFullYear().toString()\r\n }\r\n}\r\n","import {\r\n SubperiodComputingService\r\n} from '../..'\r\n\r\nexport interface IFiltersActions {\r\n /**\r\n * Action definition triggered to register new period to be used in search filters. The\r\n * associated subperiods will be computed and saved in state.\r\n * @param payload Action payload to use.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n setSearchFilterPeriod(storeFunctions: any, payload: any): any\r\n /**\r\n * Action definition triggered to set initial values of filters data in state.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n clearSearchFilters(storeFunctions: any): any\r\n /**\r\n * Action definition triggered to set lang filter\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setLang(storeFunctions: any, payload: any): any\r\n /**\r\n * Action definition triggered to se available langs\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setAvailableLangs(storeFunctions: any, payload: any): any\r\n}\r\n\r\nexport const FiltersActions: IFiltersActions = {\r\n\r\n setSearchFilterPeriod({ commit }, dates: { dateFrom: string; dateTo: string }) {\r\n commit('SET_FILTER_PERIOD', dates)\r\n const subperiods = SubperiodComputingService.generateSubperiods(new Date(dates.dateFrom), new Date(dates.dateTo))\r\n commit('SET_COMPUTED_SUBPERIODS', subperiods)\r\n },\r\n\r\n clearSearchFilters({ commit }) {\r\n commit('CLEAR_FILTERS')\r\n },\r\n\r\n setLang({ commit }, lang: string) {\r\n commit('SET_LANG_FILTER', lang)\r\n },\r\n\r\n setAvailableLangs({ commit }, availableLangs: string[]) {\r\n commit('SET_AVAILABLE_LANGS', availableLangs)\r\n },\r\n\r\n}\r\n","import {\r\n IFiltersState,\r\n TimeFilterThresholdPeriod,\r\n} from '..'\r\n\r\nexport interface IFiltersGetters {\r\n /**\r\n * Gets the current value of the selected dateFrom.\r\n * @param state Current state.\r\n * @returns The current value of the selected dateFrom.\r\n */\r\n selectedDateFrom(state: IFiltersState): string | undefined\r\n\r\n /**\r\n * Gets the current value of the selected dateTo.\r\n * @param state Current state.\r\n * @returns The current value of the selected dateTo.\r\n */\r\n selectedDateTo(state: IFiltersState): string | undefined\r\n\r\n /**\r\n * Gets the current value of the associated subperiods between the dateFrom and \r\n * dateTo.\r\n * @param state Current state.\r\n * @returns The associated subperiods between the dateFrom and \r\n * dateTo.\r\n */\r\n associatedSubperiods(state: IFiltersState): TimeFilterThresholdPeriod[] | undefined\r\n\r\n /**\r\n * Gets the list of the selected custom filters.\r\n * @param state Current state.\r\n * @returns The selected custom filters list.\r\n */\r\n selectedCustomFilters(state: IFiltersState): any[] | undefined\r\n\r\n /**\r\n * Gets the selected lang\r\n * @param state Current state.\r\n */\r\n selectedLang(state: IFiltersState): string | undefined\r\n \r\n /**\r\n * Gets the available langs\r\n * @param state Current state.\r\n */\r\n availableLangs(state: IFiltersState): string[] | undefined\r\n}\r\n\r\nexport const FiltersGetters: IFiltersGetters = {\r\n\r\n selectedDateFrom(state: IFiltersState): string | undefined {\r\n return state.dateFrom\r\n },\r\n\r\n selectedDateTo(state: IFiltersState): string | undefined {\r\n return state.dateTo\r\n },\r\n\r\n associatedSubperiods(state: IFiltersState): TimeFilterThresholdPeriod[] | undefined {\r\n return state.subperiods\r\n },\r\n\r\n selectedCustomFilters(state: IFiltersState): any[] | undefined {\r\n return state.customFilters\r\n },\r\n\r\n selectedLang(state: IFiltersState): string | undefined {\r\n return state.lang\r\n },\r\n\r\n availableLangs(state: IFiltersState): string[] | undefined {\r\n return state.availableLangs\r\n }\r\n}\r\n","import {\r\n TimeFilterThresholdPeriod\r\n} from '..'\r\n\r\nexport interface IFiltersState {\r\n /** The beginning evaluation period filter selected by the logged user. */\r\n dateFrom?: string\r\n /** The end of evaluation period filter selected by the logged user. */\r\n dateTo?: string\r\n /** The global evaluation period filter splitted in subperiods. */\r\n subperiods?: TimeFilterThresholdPeriod[],\r\n /** The custom filter list selected by the logged user. */\r\n customFilters?: any,\r\n /** The lang of the corrections to filter */\r\n lang?: string\r\n /** The list of available langs for user */\r\n availableLangs?: string[]\r\n}\r\n\r\nexport const FiltersState = (): IFiltersState => {\r\n return {\r\n dateFrom: undefined,\r\n dateTo: undefined,\r\n subperiods: undefined,\r\n customFilters: undefined,\r\n lang: undefined,\r\n availableLangs: undefined\r\n }\r\n}\r\n","import { \r\n IFiltersState \r\n} from './state'\r\nimport {\r\n TimeFilterThresholdPeriod\r\n} from '../../..'\r\n\r\nexport interface IFiltersMutations {\r\n /**\r\n * Sets the selected period to use in search filters.\r\n * @param state Current state to update.\r\n * @param datePayload An payload object with dateFrom and dateTo data.\r\n */\r\n SET_FILTER_PERIOD(state: IFiltersState, datePayload: { dateFrom: string; dateTo: string; }): void\r\n /**\r\n * Sets the computed subperiods associated to the selected period.\r\n * @param state Current state to update.\r\n * @param subperiods A list of TimeFilterThresholdPeriod objects.\r\n */\r\n SET_COMPUTED_SUBPERIODS(state: IFiltersState, subperiods: TimeFilterThresholdPeriod[]): void\r\n /**\r\n * Sets initial state values.\r\n * @param state Current state to update.\r\n */\r\n CLEAR_FILTERS(state: IFiltersState): void\r\n /**\r\n * Sets the lang to use in search filters\r\n * @param state Current state to update.\r\n * @param lang lang\r\n */\r\n SET_LANG_FILTER(state: IFiltersState, lang: string): void\r\n /**\r\n * Sets the available langs\r\n * @param state Current state to update.\r\n * @param availableLangs availableLangs\r\n */\r\n SET_AVAILABLE_LANGS(state: IFiltersState, availableLangs: string[]): void\r\n}\r\n\r\nexport const FiltersMutations: IFiltersMutations = {\r\n\r\n SET_FILTER_PERIOD: (state: IFiltersState, datePayload: { dateFrom: string; dateTo: string; }) => {\r\n state.dateFrom = datePayload.dateFrom\r\n state.dateTo = datePayload.dateTo\r\n },\r\n\r\n SET_COMPUTED_SUBPERIODS: (state: IFiltersState, subperiods: TimeFilterThresholdPeriod[]) => {\r\n state.subperiods = subperiods\r\n },\r\n\r\n CLEAR_FILTERS: (state: IFiltersState) => {\r\n state.dateFrom = undefined\r\n state.dateTo = undefined\r\n state.subperiods = undefined\r\n state.customFilters = undefined\r\n state.lang = undefined\r\n state.availableLangs = undefined\r\n },\r\n\r\n SET_LANG_FILTER: (state: IFiltersState, lang: string) => {\r\n state.lang = lang\r\n },\r\n\r\n SET_AVAILABLE_LANGS: (state: IFiltersState, availableLangs: string[]) => {\r\n state.availableLangs = availableLangs\r\n }\r\n\r\n}\r\n","import {\r\n Module\r\n} from 'vuex'\r\nimport {\r\n IState\r\n} from '../..'\r\nimport {\r\n FiltersActions\r\n} from './actions'\r\nimport {\r\n FiltersGetters\r\n} from './getters'\r\nimport {\r\n IFiltersState,\r\n FiltersState\r\n} from './state'\r\nimport {\r\n FiltersMutations\r\n} from './mutations'\r\n\r\nexport const searchFilters: Module < IFiltersState, IState > = {\r\n namespaced: true,\r\n actions: {\r\n ...FiltersActions\r\n },\r\n getters: {\r\n ...FiltersGetters\r\n },\r\n state: {\r\n ...FiltersState(),\r\n },\r\n mutations: {\r\n ...FiltersMutations\r\n },\r\n}","export enum ExecutionStatusEnum {\r\n TODO,\r\n IN_PROGRESS,\r\n DONE,\r\n CANCELED,\r\n ON_ERROR,\r\n}\r\nexport default ExecutionStatusEnum\r\n","import {\r\n HttpRequestError,\r\n handleServerError,\r\n handleHttpError\r\n} from '../../..'\r\n\r\n/**\r\n * Await to the asynchronous execution of an HTTP request.\r\n * @param { Promise } promise Http request Promise.\r\n * @return { Promise } Promise of the asynchronous treatment.\r\n */\r\nexport function toHttpRequest (promise: Promise): Promise<[ HttpRequestError | undefined, T | undefined]> {\r\n return promise.then<[HttpRequestError | undefined, any]>((response: any) => {\r\n if (Array.isArray(response.data)) {\r\n if (response.data.length > 0 && (response.data[0].results || response.data[0].exceptions)) {\r\n return response.data.reduce((acc: any, item: any) => {\r\n const { exceptions, ...results } = item\r\n const error: HttpRequestError | undefined = exceptions.errcode > 0 ? handleServerError(exceptions) : undefined\r\n return [error ? [...acc[0], error] : undefined, results ? [...acc[1], results] : undefined]\r\n }, [[], []])\r\n } else {\r\n return [undefined , response]\r\n }\r\n } else if (response.responses) {\r\n return [undefined , response]\r\n } \r\n // Check if dictionary without exceptions\r\n else if (response.data.constructor == Object && !response.data.exceptions){\r\n return [undefined, response]\r\n } else {\r\n const { exceptions, ...results } = response.data\r\n let err: HttpRequestError | undefined\r\n if (exceptions && exceptions.errcode > 0) {\r\n err = handleServerError(exceptions)\r\n }\r\n return [err, results]\r\n }\r\n }).catch<[any, undefined]>((err: any) => {\r\n if (err.errI18NMsg !== undefined && err.httpCode) {\r\n return [err, undefined]\r\n }\r\n if (err && !err.response) { // Axios errors (Timeout for instance)\r\n return [handleHttpError(err, err.message), undefined]\r\n }\r\n // delegates error management to HttpErrorHandler\r\n return [handleHttpError(err.response, err.message), undefined]\r\n })\r\n}\r\n","import {\r\n HttpRequestError\r\n} from '../../../..'\r\n\r\n/**\r\n * Returns HttpRequestError with the server error code.\r\n * @param responseError The error instance.\r\n * @param errorI18nLabel Additional Information you can pass to the err object.\r\n * @param statusCode Http response status.\r\n */\r\nexport function handleServerError (responseError: any, errorI18nLabel?: string, statusCode?: number): HttpRequestError {\r\n return new HttpRequestError(\r\n errorI18nLabel || responseError.message, \r\n statusCode || 500, \r\n responseError, \r\n (responseError.errcode && responseError.errcode > 0) ? JSON.stringify(responseError.errcode) : '')\r\n}\r\n\r\n/**\r\n * Handles standard HTTP errors giving the HTTP response status.\r\n * @param response Http response sent by the server.\r\n * @param message Additional Information you can pass to the err object.\r\n */\r\nexport function handleHttpError (response: any, message?: string): HttpRequestError {\r\n if (!response) {\r\n if (message && message === 'Network Error') {\r\n return new HttpRequestError('app.common.error.server.unreachable', 522, response)\r\n } else if (!message) {\r\n return new HttpRequestError('app.common.error.server.unreachable', 503)\r\n } else {\r\n return new HttpRequestError('app.common.error.server.unknown', 500)\r\n }\r\n } else {\r\n\r\n if (response.code && response.code === 'ECONNABORTED') { // Request timeout\r\n return new HttpRequestError('app.common.error.server.timeout', 408, response)\r\n }\r\n\r\n if (message && message === 'Network Error') {\r\n return new HttpRequestError('app.common.error.server.unreachable', 522, response)\r\n }\r\n\r\n if (!response.status) {\r\n if (!message) {\r\n return new HttpRequestError('app.common.error.server.unreachable', 503)\r\n } else {\r\n return new HttpRequestError('app.common.error.server.unknown', 500)\r\n }\r\n }\r\n\r\n switch (response.status) {\r\n case 400:\r\n if (response.data !== undefined && response.data.error === 'invalid_grant') {\r\n return new HttpRequestError('app.common.error.server.expired.token', 401, response)\r\n } else {\r\n return new HttpRequestError('app.common.error.server.bad.request', response.status, response)\r\n }\r\n case 401:\r\n if (response.data !== undefined && response.data.indexOf('token doesn\\'t grant access to scope') !== -1) {\r\n return new HttpRequestError('app.common.error.auth.token.scope.invalid.access', 403, response)\r\n } else {\r\n return new HttpRequestError('app.common.error.server.expired.token', response.status, response)\r\n }\r\n case 403:\r\n return new HttpRequestError('app.loginpage.error.auth.denied', response.status, response)\r\n case 404:\r\n return new HttpRequestError('app.common.error.server.request.failed', response.status, response)\r\n case 503:\r\n return new HttpRequestError('app.common.error.server.temp.unavailable', response.status, response)\r\n default:\r\n return new HttpRequestError('app.common.error.server.unknown', response.status, response)\r\n }\r\n }\r\n}\r\n","export enum AppLayoutsEnum {\r\n FULLSCREEN_LAYOUT= 'FullscreenLayout',\r\n BASIC_LAYOUT= 'BasicLayout',\r\n HOLY_GRAIL_LAYOUT= 'HolyGrailLayout',\r\n}\r\n\r\nexport const AppLayoutsFromIndex: {[id: number]: string} = {\r\n 0: AppLayoutsEnum.FULLSCREEN_LAYOUT,\r\n 1: AppLayoutsEnum.BASIC_LAYOUT,\r\n 2: AppLayoutsEnum.HOLY_GRAIL_LAYOUT,\r\n}\r\n\r\nexport default AppLayoutsEnum\r\n","import {\r\n IdGenerator\r\n} from '../../..'\r\n\r\nexport class HttpRequestError {\r\n public readonly id: string;\r\n public readonly message: string;\r\n public readonly timestamp ?: number;\r\n\r\n constructor ( public readonly errI18NMsg: string,\r\n public readonly httpCode: number,\r\n public readonly requestError?: any,\r\n public readonly serverErrCode?: string) {\r\n \r\n this.id = IdGenerator.generateId().toString()\r\n this.timestamp = Date.now()\r\n\r\n // TODO add internationalized message\r\n this.message = errI18NMsg || 'We appear to be having difficulties. Please check back shortly.'\r\n }\r\n}\r\n","import {\r\n IAvateable,\r\n IEntity\r\n} from '../../..'\r\n\r\n/**\r\n * Entity definition of the application user. This entity could have an avatar.\r\n */\r\nexport class UserEntity implements IAvateable, IEntity {\r\n\r\n /**\r\n * The user entity constructor.\r\n * \r\n * @param id Central system unique identifier for this user\r\n * @param email Registered user's email\r\n * @param firstname User's firstname\r\n * @param lastname User's lastname\r\n * @param login Login to access application\r\n * @param avatarImgUrl User's image URL\r\n * @param exportAll Bool to know if user has permission to export data from its entire tenant\r\n * @param managedTenants List of tenants managed by the licenses manager\r\n */\r\n constructor(public readonly id: string,\r\n public readonly email: string,\r\n public readonly firstname ? : string,\r\n public readonly lastname ? : string,\r\n public readonly login ? : string,\r\n public readonly avatarImgUrl ? : string,\r\n public readonly exportAll ? : boolean,\r\n public readonly managedTenants ? : string ) {}\r\n}\r\n","import {\r\n UserEntity\r\n} from \"..\"\r\n\r\nexport class UserService {\r\n /**\r\n * The user data services retrieves from server the user's profile or send requests to update it.\r\n * When user logs into the application, this services provide access to store to keep user's profile\r\n * and role data.\r\n * @param decodedUsrIdentity The object used to encode user data : name, email, etc.\r\n * @returns The highest role name.\r\n */\r\n public static getUserEntity(decodedUsrIdentity: any): UserEntity {\r\n\r\n return new UserEntity( decodedUsrIdentity.id,\r\n decodedUsrIdentity.email,\r\n decodedUsrIdentity.firstname,\r\n decodedUsrIdentity.lastname,\r\n decodedUsrIdentity.login,\r\n decodedUsrIdentity.avatarImgUrl,\r\n decodedUsrIdentity.exportAll ? true : false,\r\n decodedUsrIdentity.managedTenants ? decodedUsrIdentity.managedTenants : undefined)\r\n }\r\n}\r\n","import { \r\n IdGenerator\r\n} from '../../../..'\r\n\r\nexport class ErrorViewModel {\r\n public readonly id: string;\r\n public readonly timestamp ?: number;\r\n\r\n /**\r\n * Error view model used to display error message to the final user.\r\n *\r\n * @param errI18NMsg The error message i18n key\r\n * @param err The associated error thrown\r\n */\r\n constructor ( public readonly errI18NMsg: string, \r\n public readonly err?: any) {\r\n this.id = IdGenerator.generateId().toString()\r\n this.timestamp = Date.now()\r\n }\r\n}\r\n","import {\r\n ConfigService\r\n} from '../../..'\r\n\r\nexport interface IViewActions {\r\n /**\r\n * Action triggered to set the page title according to the main content.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setPageTitle(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered to set the current page route according to the main content.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setCurrentPageRoute(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when a view shall use the configuration to display a fullscreen layout.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n setFullscreenLayout(storeFunctions: any): any\r\n /**\r\n * Action triggered when a view shall use the configuration to display a basic layout.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n setBasicLayout(storeFunctions: any): any\r\n /**\r\n * Action triggered when a view shall use the configuration to display a holy grail layout.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setHolyGrailLayout(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered at initialization of top bar tabs.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setTopBarTabFeatures(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered at initialization of top bar dropdown menu.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setTopBarDropdownMenuFeatures(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when a view shall use the configuration to display or not the side panel.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setSidePanelInitialState(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when a view shall change the side panel state.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n toggleSidePanelState(storeFunctions: any): any\r\n /**\r\n * Action triggered at initialization of side panel menu.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setSidePanelMenuFeatures(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when an error shall be displayed in view.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setSnackBarError(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when an error has been already displayed in view.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n resetSnackBarError(storeFunctions: any): any\r\n /**\r\n * Action triggered when an error page has to de displayed.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setPageError(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when an error has been already displayed in view.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n resetPageError(storeFunctions: any): any\r\n /**\r\n * Action triggered when an user logs out the application.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n clearViewState(storeFunctions: any): any\r\n}\r\n\r\n/**\r\n * Actions to manage view state\r\n */\r\nexport const ViewActions: IViewActions = {\r\n\r\n setPageTitle({ commit }, { pageTitle }) {\r\n commit('SET_PAGE_TITLE', pageTitle)\r\n },\r\n \r\n setCurrentPageRoute({ commit }, { pageRoute }) {\r\n commit('SET_CURRENT_PAGE', pageRoute)\r\n },\r\n\r\n setFullscreenLayout({ commit }) {\r\n commit('ACTIVATE_SIDE_PANEL', false)\r\n commit('ACTIVATE_TOP_BAR', false)\r\n commit('SET_SIDE_PANEL_INITIAL_STATE', false)\r\n },\r\n\r\n setBasicLayout({ commit }) {\r\n commit('ACTIVATE_TOP_BAR', true)\r\n commit('ACTIVATE_SIDE_PANEL', false)\r\n commit('SET_SIDE_PANEL_INITIAL_STATE', false)\r\n },\r\n\r\n setHolyGrailLayout({ commit }, { showSidePanel }) {\r\n commit('ACTIVATE_TOP_BAR', true)\r\n commit('ACTIVATE_SIDE_PANEL', true)\r\n commit('SET_SIDE_PANEL_INITIAL_STATE', showSidePanel)\r\n },\r\n\r\n setTopBarTabFeatures({ commit }, { tabFeatures }) {\r\n commit('SET_TOP_BAR_TABS_AUTH_FEATURES', tabFeatures)\r\n },\r\n\r\n setTopBarDropdownMenuFeatures({ commit }, { dropdownMenuFeatures }) {\r\n commit('SET_TOP_BAR_DROPDOWN_MENU_AUTH_FEATURES', dropdownMenuFeatures)\r\n },\r\n \r\n setSidePanelInitialState({ commit }, { showSidePanel }) {\r\n commit('SET_SIDE_PANEL_INITIAL_STATE', showSidePanel)\r\n },\r\n\r\n toggleSidePanelState({ commit }) {\r\n commit('TOGGLE_SIDE_PANEL_STATE')\r\n },\r\n\r\n setSidePanelMenuFeatures({ commit }, { sidePanelMenuFeatures }) {\r\n commit('SET_SIDE_PANEL_MENU_AUTH_FEATURES', sidePanelMenuFeatures)\r\n },\r\n\r\n setSnackBarError({ commit }, { viewError }) {\r\n commit('SET_SNACK_BAR_ERROR_DATA', viewError)\r\n },\r\n\r\n resetSnackBarError({ commit }) {\r\n commit('RESET_SNACK_BAR_ERROR_DATA')\r\n },\r\n\r\n setPageError({ commit }, { viewError }) {\r\n commit('SET_PAGE_ERROR_DATA', viewError)\r\n },\r\n\r\n resetPageError({ commit }) {\r\n commit('RESET_PAGE_ERROR_DATA')\r\n },\r\n\r\n clearViewState({ commit }) {\r\n commit('CLEAR_VIEW_STATE_DATA')\r\n },\r\n}\r\n","import {\r\n IViewState,\r\n ErrorViewModel,\r\n FeatureGroupEntity\r\n} from '../..'\r\n\r\nexport interface IViewGetters {\r\n /**\r\n * Gets the current page title\r\n * @param state Current state.\r\n * @returns The current page title\r\n */\r\n pageTitle(state: IViewState): string\r\n\r\n /**\r\n * Gets the current page URI\r\n * @param state Current state.\r\n * @returns The current page URI\r\n */\r\n currentPage(state: IViewState): any\r\n\r\n /**\r\n * Gets the top bar activation state\r\n * @param state Current state.\r\n * @returns The state of the top bar\r\n */\r\n activateTopBar(state: IViewState): boolean\r\n\r\n /**\r\n * Gets the top bar tabs authorized features for logged user\r\n * @param state Current state.\r\n * @returns The list of authorized features\r\n */\r\n topBarTabFeatures(state: IViewState): FeatureGroupEntity[] | undefined\r\n\r\n /**\r\n * Gets the top bar dropdown menu authorized features for logged user\r\n * @param state Current state.\r\n * @returns The list of authorized features\r\n */\r\n dropdownTopBarMenuFeatures(state: IViewState): FeatureGroupEntity[] | undefined\r\n\r\n /**\r\n * Gets the top bar activation state\r\n * @param state Current state.\r\n * @returns The state of the top bar\r\n */\r\n activateSidePanel(state: IViewState): boolean\r\n\r\n /**\r\n * Gets the side menu visibility state\r\n * @param state Current state.\r\n * @returns The state of the side menu\r\n */\r\n showSidePanel(state: IViewState): boolean\r\n\r\n /**\r\n * Gets the side menu authorized features for logged user\r\n * @param state Current state.\r\n * @returns The list of authorized features organized by groups\r\n */\r\n sidePanelMenuFeatures(state: IViewState): FeatureGroupEntity[] | undefined\r\n\r\n /**\r\n * Gets the latest view error.\r\n * @param state Current state.\r\n * @returns An instance of the latest error.\r\n */\r\n snackBarError(state: IViewState): ErrorViewModel | undefined\r\n\r\n /**\r\n * Gets the latest page error.\r\n * @param state Current state.\r\n * @returns An instance of the latest error.\r\n */\r\n pageError(state: IViewState): ErrorViewModel | undefined\r\n}\r\n\r\nexport const ViewGetters: IViewGetters = {\r\n pageTitle(state: IViewState): string {\r\n return state.pageTitle\r\n },\r\n\r\n currentPage(state: IViewState): any {\r\n return state.currentPage\r\n },\r\n\r\n activateTopBar(state: IViewState): boolean {\r\n return state.activateTopBar\r\n },\r\n\r\n topBarTabFeatures(state: IViewState): FeatureGroupEntity[] | undefined {\r\n return state.topBarTabFeatures\r\n },\r\n\r\n dropdownTopBarMenuFeatures(state: IViewState): FeatureGroupEntity[] | undefined {\r\n return state.dropdownTopBarMenuFeatures\r\n },\r\n\r\n activateSidePanel(state: IViewState): boolean {\r\n return state.activateSidePanel\r\n },\r\n\r\n showSidePanel(state: IViewState): boolean {\r\n return state.showSidePanel\r\n },\r\n\r\n sidePanelMenuFeatures(state: IViewState): FeatureGroupEntity[] | undefined {\r\n return state.sidePanelMenuFeatures\r\n },\r\n \r\n snackBarError(state: IViewState): ErrorViewModel | undefined {\r\n return state.snackBarError\r\n },\r\n\r\n pageError(state: IViewState): ErrorViewModel | undefined {\r\n return state.pageError\r\n }\r\n}\r\n","import {\r\n ErrorViewModel,\r\n IViewState,\r\n FeatureGroupEntity\r\n} from '../..'\r\n\r\nexport interface IViewMutations {\r\n /**\r\n * Updates the page title.\r\n * @param state Current state to update.\r\n * @param pageTitle The page title\r\n */\r\n SET_PAGE_TITLE(state: IViewState, pageTitle: string): void\r\n /**\r\n * Updates the current page route.\r\n * @param state Current state to update.\r\n * @param pageRoute The page route\r\n */\r\n SET_CURRENT_PAGE(state: IViewState, pageRoute: string): void\r\n /**\r\n * Activates topbar.\r\n * @param state Current state to update.\r\n * @param activateTopBar The state of the top bar\r\n */\r\n ACTIVATE_TOP_BAR(state: IViewState, activateTopBar: boolean): void\r\n /**\r\n * Configures topbar tabs features according to logged user privileges.\r\n * @param state Current state to update.\r\n * @param tabFeatures The authorized features to activate into tab panel\r\n */\r\n SET_TOP_BAR_TABS_AUTH_FEATURES(state: IViewState, tabFeatures: FeatureGroupEntity[]): void\r\n /**\r\n * Configures topbar dropdown menu features according to logged user privileges.\r\n * @param state Current state to update.\r\n * @param dropdownTopBarMenuFeatures The authorized features to activate into tab panel dropdown menu\r\n */\r\n SET_TOP_BAR_DROPDOWN_MENU_AUTH_FEATURES(state: IViewState, dropdownTopBarMenuFeatures: FeatureGroupEntity[]): void\r\n /**\r\n * Activates the side panel.\r\n * @param state Current state to update.\r\n * @param activateSidePanel The state of the side menu\r\n */\r\n ACTIVATE_SIDE_PANEL(state: IViewState, activateSidePanel: boolean): void\r\n /**\r\n * Sets the side panel initial state.\r\n * @param state Current state to update.\r\n * @param showSidePanel The initial state of the side panel : displayed or hidden\r\n */\r\n SET_SIDE_PANEL_INITIAL_STATE(state: IViewState, showSidePanel: boolean): void\r\n /**\r\n * Toggles the side panel state.\r\n * @param state Current state to update.\r\n */\r\n TOGGLE_SIDE_PANEL_STATE(state: IViewState): void\r\n /**\r\n * Configures side panel menu features according to logged user privileges.\r\n * @param state Current state to update.\r\n * @param sidePanelMenuFeatures The authorized features to activate into side panel menu\r\n */\r\n SET_SIDE_PANEL_MENU_AUTH_FEATURES(state: IViewState, sidePanelMenuFeatures: FeatureGroupEntity[]): void\r\n /**\r\n * Sets the view error to display to the user.\r\n * @param state Current state to update.\r\n * @param viewError An instance of the error.\r\n */\r\n SET_SNACK_BAR_ERROR_DATA(state: IViewState, viewError: ErrorViewModel): void\r\n /**\r\n * Resets the registered view error.\r\n * @param state Current state to update.\r\n */\r\n RESET_SNACK_BAR_ERROR_DATA(state: IViewState): void\r\n /**\r\n * Sets the page error to display to the user.\r\n * @param state Current state to update.\r\n * @param viewError An instance of the error.\r\n */\r\n SET_PAGE_ERROR_DATA(state: IViewState, viewError: ErrorViewModel): void\r\n /**\r\n * Resets the registered view error.\r\n * @param state Current state to update.\r\n */\r\n RESET_PAGE_ERROR_DATA(state: IViewState): void\r\n /**\r\n * Clear the registered view state : feature by menu, state side bar, layouts, etc.\r\n * @param state Current state to update.\r\n */\r\n CLEAR_VIEW_STATE_DATA(state: IViewState): void\r\n}\r\n\r\nexport const ViewMutations: IViewMutations = {\r\n SET_PAGE_TITLE: (state: IViewState, pageTitle: string) => {\r\n state.pageTitle = pageTitle\r\n },\r\n\r\n SET_CURRENT_PAGE: (state: IViewState, pageRoute: string) => {\r\n state.currentPage = pageRoute\r\n },\r\n\r\n ACTIVATE_TOP_BAR: (state: IViewState, activateTopBar: boolean) => {\r\n state.activateTopBar = activateTopBar\r\n },\r\n\r\n SET_TOP_BAR_TABS_AUTH_FEATURES: (state: IViewState, tabFeatures: FeatureGroupEntity[]) => {\r\n state.topBarTabFeatures = tabFeatures\r\n },\r\n\r\n SET_TOP_BAR_DROPDOWN_MENU_AUTH_FEATURES: (state: IViewState, dropdownTopBarMenuFeatures: FeatureGroupEntity[]) => {\r\n state.dropdownTopBarMenuFeatures = dropdownTopBarMenuFeatures\r\n },\r\n\r\n ACTIVATE_SIDE_PANEL: (state: IViewState, activateSidePanel: boolean) => {\r\n state.activateSidePanel = activateSidePanel\r\n },\r\n\r\n SET_SIDE_PANEL_INITIAL_STATE: (state: IViewState, showSidePanel: boolean) => {\r\n state.showSidePanel = showSidePanel\r\n },\r\n\r\n TOGGLE_SIDE_PANEL_STATE: (state: IViewState) => {\r\n state.showSidePanel = !state.showSidePanel\r\n },\r\n\r\n SET_SIDE_PANEL_MENU_AUTH_FEATURES: (state: IViewState, sidePanelMenuFeatures: FeatureGroupEntity[]) => {\r\n state.sidePanelMenuFeatures = sidePanelMenuFeatures\r\n },\r\n\r\n SET_SNACK_BAR_ERROR_DATA: (state: IViewState, viewError: ErrorViewModel) => {\r\n state.snackBarError = viewError\r\n },\r\n\r\n RESET_SNACK_BAR_ERROR_DATA:(state: IViewState) => {\r\n state.snackBarError = undefined\r\n },\r\n\r\n SET_PAGE_ERROR_DATA: (state: IViewState, viewError: ErrorViewModel) => {\r\n state.pageError = viewError\r\n },\r\n\r\n RESET_PAGE_ERROR_DATA: (state: IViewState) => {\r\n state.pageError = undefined\r\n },\r\n\r\n CLEAR_VIEW_STATE_DATA: (state: IViewState) => {\r\n state.pageTitle = ''\r\n state.activateTopBar = false\r\n state.activateSidePanel = false\r\n state.showSidePanel = false\r\n state.snackBarError = undefined\r\n state.pageError = undefined\r\n state.stateReq = undefined\r\n state.currentPage = undefined\r\n state.dropdownTopBarMenuFeatures = undefined\r\n state.topBarTabFeatures = undefined\r\n state.sidePanelMenuFeatures = undefined\r\n },\r\n}\r\n","import {\r\n ErrorViewModel,\r\n FeatureGroupEntity\r\n} from '../..'\r\n\r\nexport interface IViewState {\r\n pageTitle: string\r\n activateTopBar: boolean\r\n activateSidePanel: boolean\r\n showSidePanel: boolean\r\n pageError ? : ErrorViewModel\r\n snackBarError ? : ErrorViewModel\r\n stateReq ? : string\r\n currentPage ? : any\r\n dropdownTopBarMenuFeatures ? : FeatureGroupEntity[]\r\n topBarTabFeatures ? : FeatureGroupEntity[]\r\n sidePanelMenuFeatures ? : FeatureGroupEntity[]\r\n}\r\n\r\nexport const ViewState = (): IViewState => {\r\n return {\r\n pageTitle: '',\r\n activateTopBar: false,\r\n activateSidePanel: false,\r\n showSidePanel: false,\r\n snackBarError: undefined,\r\n pageError: undefined,\r\n stateReq: undefined,\r\n currentPage: undefined,\r\n dropdownTopBarMenuFeatures: undefined,\r\n topBarTabFeatures: undefined,\r\n sidePanelMenuFeatures: undefined,\r\n }\r\n}\r\n","import {\r\n Module\r\n} from 'vuex'\r\nimport {\r\n IState\r\n} from '../../..'\r\nimport {\r\n ViewGetters\r\n} from './getters'\r\nimport {\r\n ViewMutations\r\n} from './mutations'\r\nimport {\r\n ViewActions\r\n} from './actions'\r\nimport {\r\n IViewState,\r\n ViewState\r\n} from './state'\r\n\r\nexport const viewState: Module < IViewState, IState > = {\r\n namespaced: true,\r\n actions: {\r\n ...ViewActions\r\n },\r\n getters: {\r\n ...ViewGetters\r\n },\r\n state: {\r\n ...ViewState(),\r\n },\r\n mutations: {\r\n ...ViewMutations\r\n },\r\n}\r\n","import {\r\n AppConfigService,\r\n ConfigService,\r\n OAuth2SecuredHttpServerConnector\r\n} from '../..'\r\n\r\nexport class Connector {\r\n private static baseApiServerConnector: OAuth2SecuredHttpServerConnector\r\n\r\n public static getBaseApiServerConnector (): OAuth2SecuredHttpServerConnector {\r\n if (!Connector.baseApiServerConnector) {\r\n Connector.baseApiServerConnector = new OAuth2SecuredHttpServerConnector(\r\n ConfigService.getBaseApiUrl(), ConfigService.getDefaulRequestTimeout())\r\n }\r\n return Connector.baseApiServerConnector\r\n }\r\n\r\n public static getFilterServerConnector (): OAuth2SecuredHttpServerConnector {\r\n if (!Connector.baseApiServerConnector) {\r\n Connector.baseApiServerConnector = new OAuth2SecuredHttpServerConnector(\r\n AppConfigService.getFilterDbUri(), ConfigService.getDefaulRequestTimeout())\r\n }\r\n return Connector.baseApiServerConnector\r\n }\r\n \r\n\r\n \r\n}\r\n","import {\r\n DateHelper\r\n} from '.'\r\n\r\nexport class CSVExportHelper {\r\n\r\n /**\r\n * Triggers download file from browser.\r\n * @param filename The file name to set to downloaded file.\r\n * @param textInput The file content as string.\r\n */\r\n public static executeDownloadCsvFile(filename: string, textInput: string) {\r\n const element = document.createElement('a')\r\n element.setAttribute('href', 'data:text/plain;charset=utf-8, ' + encodeURIComponent(textInput))\r\n element.setAttribute('download', filename)\r\n document.body.appendChild(element)\r\n element.click()\r\n document.body.removeChild(element)\r\n }\r\n\r\n /**\r\n * Generates the CSV export of the given data.\r\n * @param initializedCSVFile The initialized export file with CSV headers already translated.\r\n * @param dataToExport The data to format as CSV content.\r\n * @param dateFrom The start period as a date of the exported data.\r\n * @param dateTo The end period as a date of the exported data.\r\n */\r\n public static generateCsvExport(initializedCSVFile: string, dataToExport: any[], dateFrom: string, dateTo: string): string {\r\n let csvString: string = initializedCSVFile\r\n\r\n const kpiCodes: string[] = Object.getOwnPropertyNames(dataToExport[0])\r\n dataToExport.forEach((kpiObj: any) => {\r\n let csvLine = ''\r\n csvLine += kpiObj['owner']\r\n csvLine += `,${DateHelper.formatDate(new Date(dateFrom))}`\r\n csvLine += `,${DateHelper.formatDate(new Date(dateTo))}`\r\n kpiCodes.forEach((kpiCode: string) => {\r\n if (kpiCode.indexOf('__') === -1 && kpiCode !== 'owner') {\r\n csvLine += `,${kpiObj[kpiCode]}`\r\n }\r\n })\r\n csvString += csvLine.substring(0, csvLine.length) + '\\n'\r\n })\r\n\r\n return csvString\r\n }\r\n\r\n /**\r\n * Formats tenantKPIs value to get it ready for export\r\n * We move away from a dict object (easy to be searched and edited) to make an array that can become a CSV line easily.\r\n * @param tenantKPIs The tenantKPI dictionary for the tenant\r\n * @returns the output array to be exported\r\n */\r\n // Format TenantKPIs dict into an array with first line as headers for CSV export\r\n public static formatTenantKPIsForExport(tenantKPIs: any | undefined) {\r\n const tenantKPIsToExport: any = []\r\n for (const key in tenantKPIs) {\r\n const value = tenantKPIs[key]\r\n tenantKPIsToExport.push({\r\n owner: key,\r\n 'nb-correction-requests': value.totalRequests,\r\n 'nb-errors-found': value.totalErrors,\r\n 'nb-applied-suggestions': value.totalAppliedSuggestions,\r\n ...value.typeErrors,\r\n totalConsumption: value.totalConsumption,\r\n })\r\n }\r\n return tenantKPIsToExport\r\n }\r\n}\r\n","import moment from 'moment'\r\n\r\nexport class DateHelper {\r\n\r\n public static computeHours(dateBegining: Date, dateEnd: Date): number {\r\n return Math.abs(dateBegining.getTime() - dateEnd.getTime()) / 3600000\r\n }\r\n\r\n public static computeMinutes(dateBegining: Date, dateEnd: Date): number {\r\n return Math.abs(dateBegining.getTime() - dateEnd.getTime()) / 60000\r\n }\r\n\r\n public static computeSecond(dateBegining: Date, dateEnd: Date): number {\r\n return Math.abs(dateBegining.getTime() - dateEnd.getTime()) / 1000\r\n }\r\n\r\n public static computeDayCount(dateBegining: Date, dateEnd: Date): number {\r\n return Math.abs(dateBegining.getTime() - dateEnd.getTime()) / 86400000\r\n }\r\n\r\n public static formatI18nDate(dateToFormat: Date, locale: string) {\r\n moment.locale(locale)\r\n return moment(dateToFormat).format()\r\n }\r\n\r\n public static formatDate(dateToFormat: Date) {\r\n return moment.utc(dateToFormat).format('YYYY-MM-DD')\r\n }\r\n \r\n}","export class EnumHelper {\r\n\r\n /**\r\n * Returns the enumeration values\r\n * \r\n * @param obj The enum definition\r\n * @returns a list of enumeration values when the enumeration has defined strings\r\n * (see https://www.petermorlion.com/iterating-a-typescript-enum/ for more information)\r\n */\r\n public static enumKeys(obj: O): K[] {\r\n return Object.keys(obj).filter(k => Number.isNaN(+k)) as K[]\r\n }\r\n}\r\n","export class IdGenerator {\r\n /** Generate nextId for new entities with number keys */\r\n public static generateId (): number {\r\n return Date.now() + IdGenerator.counter++\r\n }\r\n\r\n private static counter = 1\r\n}\r\n","import Vue from 'vue'\r\n\r\nexport class VueEventBus extends Vue {\r\n /**\r\n * Get a singleton instance of this service.\r\n */\r\n public static getInstance () {\r\n if (!VueEventBus.singleton) {\r\n VueEventBus.singleton = new VueEventBus()\r\n }\r\n return VueEventBus.singleton\r\n }\r\n\r\n // the singleton instance of this service\r\n private static singleton: VueEventBus;\r\n}\r\n\r\n// Initialized singleton instance of VueEventBus\r\nexport const EventBus: VueEventBus = VueEventBus.getInstance()\r\n","export class GetFlag {\r\n static GetLangInfos(language: string): any {\r\n const infos = { cssClass: '', name: '' };\r\n \r\n if (language) {\r\n switch(language) {\r\n case 'gb': // English\r\n case 'en-US':\r\n case 'en':\r\n case 'En':\r\n case 'en-UK':\r\n case 'en-EN':\r\n case 'en-GB':\r\n infos.cssClass = 'fi-gb';\r\n infos.name = 'English';\r\n break;\r\n case 'nl': // Dutch\r\n infos.cssClass = 'fi-nl';\r\n infos.name = 'Nederlands';\r\n break;\r\n case 'fr': // French, Breton\r\n case 'Fr': // Cordial case \r\n case 'br-FR':\r\n infos.cssClass = 'fi-fr';\r\n infos.name = 'Français';\r\n break;\r\n case 'de-DE':\r\n case \"de-AT\":\r\n case \"de-CH\":\r\n case 'de': // German\r\n infos.cssClass = 'fi-de';\r\n infos.name = 'Deutsch';\r\n break;\r\n case 'es': // Spanish, Asturian, Catalan, Galician\r\n infos.cssClass = 'fi-es';\r\n infos.name = 'Español';\r\n break;\r\n case 'pt': // Portuguese\r\n case 'pt-PT': // Portuguese\r\n case 'pt-BR': // Brésilien\r\n infos.cssClass = 'fi-pt';\r\n infos.name = 'Português';\r\n break;\r\n case 'sa': // Arabic\r\n case 'ar':\r\n infos.cssClass = 'fi-sa';\r\n infos.name = 'عربي';\r\n break;\r\n case 'by': // Belarusian\r\n case 'be-BY':\r\n infos.cssClass = 'fi-by';\r\n infos.name = 'беларускі';\r\n break;\r\n case 'cn': // Chinese\r\n case 'zh-CN':\r\n infos.cssClass = 'fi-cn';\r\n infos.name = '中国人';\r\n break;\r\n case 'dk': // Danish\r\n case 'da-DK':\r\n infos.cssClass = 'fi-dk';\r\n infos.name = 'Dansk';\r\n break;\r\n case 'gr': // Greek\r\n case 'el-GR':\r\n infos.cssClass = 'fi-gr';\r\n infos.name = 'Ελληνικά';\r\n break;\r\n case 'ie': // Irish\r\n case 'ga-IE':\r\n infos.cssClass = 'fi-ie';\r\n infos.name = 'Gaeilge';\r\n break;\r\n case 'it': // Italian\r\n infos.cssClass = 'fi-it';\r\n infos.name = 'Italiano';\r\n break;\r\n case 'jp': // Japanese\r\n case 'ja-JP':\r\n infos.cssClass = 'fi-jp';\r\n infos.name = '日本語';\r\n break;\r\n case 'kh': // Khmer\r\n case 'km-KH':\r\n infos.cssClass = 'fi-kh';\r\n infos.name = 'ខ្មែរ';\r\n break;\r\n case 'no': // Norwegian\r\n infos.cssClass = 'fi-no';\r\n infos.name = 'Norsk';\r\n break;\r\n case 'ir': // Persian\r\n case 'fa':\r\n infos.cssClass = 'fi-ir';\r\n infos.name = 'فارسی';\r\n break;\r\n case 'pl': // Polish\r\n case 'pl-PL':\r\n infos.cssClass = 'fi-pl';\r\n infos.name = 'Polski';\r\n break;\r\n case 'ro': // Romanian\r\n case 'ro-RO':\r\n infos.cssClass = 'fi-ro';\r\n infos.name = 'Română';\r\n break;\r\n case 'ru': // Russian\r\n case 'ru-RU':\r\n infos.cssClass = 'fi-ru';\r\n infos.name = 'Русский';\r\n break;\r\n case 'sk': // Slovak\r\n case 'sk-SK':\r\n infos.cssClass = 'fi-sk';\r\n infos.name = 'Slovenský';\r\n break;\r\n case 'si': // Slovenian\r\n case 'sl-SI':\r\n infos.cssClass = 'fi-si';\r\n infos.name = 'Slovenščina';\r\n break;\r\n case 'se': // Swedish\r\n case 'sv':\r\n infos.cssClass = 'fi-se';\r\n infos.name = 'Svenska';\r\n break;\r\n case 'ph': // Tagalog\r\n case 'tl-PH':\r\n infos.cssClass = 'fi-ph';\r\n infos.name = 'Tagalog';\r\n break;\r\n case 'in': // Tamil\r\n case 'ta-IN':\r\n infos.cssClass = 'fi-in';\r\n infos.name = 'தமிழ்';\r\n break;\r\n case 'ua': // Ukrainian\r\n case 'uk-UA':\r\n infos.cssClass = 'fi-ua';\r\n infos.name = 'українська';\r\n break;\r\n default:\r\n infos.cssClass = ''; // Default CSS class, or you could set it to a generic flag\r\n infos.name = ''; // Default name, or you could set it to a generic flag\r\n }\r\n }\r\n return infos;\r\n }\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-layout',{class:['str-disclaimer-page-container'],attrs:{\"align-center\":\"\",\"justify-center\":\"\",\"fill-height\":\"\"}},[_c('app-placeholder',{attrs:{\"disclaimer\":_vm.disclaimerMsg,\"loaderSize\":200}}),(_vm.displayButton)?_c('v-btn',{attrs:{\"color\":\"secondary\"},on:{\"click\":_vm.goToInitialPage}},[_vm._v(\" \"+_vm._s(_vm.$t('app.page.title.home'))+\" \")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Prop,\r\n Vue\r\n } from 'vue-property-decorator'\r\n import {\r\n AppLayoutsEnum\r\n } from '../..'\r\n\r\n @Component({\r\n name: 'AbstractView'\r\n })\r\n export default class AbstractView extends Vue {\r\n @Prop() pageTitle!: string | undefined\r\n @Prop() layout!: string | undefined\r\n @Prop() showSidePanel!: boolean | undefined\r\n\r\n mounted () {\r\n const pageTitle: any = { pageTitle: this.pageTitle ? this.pageTitle : '' }\r\n const useLayout: string = this.layout ? this.layout : AppLayoutsEnum.HOLY_GRAIL_LAYOUT\r\n \r\n let showSidePanel: any = null\r\n if (useLayout === AppLayoutsEnum.HOLY_GRAIL_LAYOUT) {\r\n showSidePanel = { showSidePanel: (this.layout === AppLayoutsEnum.HOLY_GRAIL_LAYOUT && this.showSidePanel !== undefined) ? this.showSidePanel : false }\r\n } else {\r\n showSidePanel = { showSidePanel: false }\r\n this.$store.dispatch('viewState/setSidePanelInitialState', showSidePanel, { root: true })\r\n }\r\n \r\n this.$store.dispatch('viewState/setPageTitle', pageTitle, { root: true })\r\n this.$store.dispatch(`viewState/set${useLayout}`, showSidePanel, { root: true })\r\n this.$forceUpdate()\r\n }\r\n }\r\n","var render, staticRenderFns\nimport script from \"./AbstractView.vue?vue&type=script&lang=ts\"\nexport * from \"./AbstractView.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbstractView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbstractView.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.footerStyle)?_c('div',{class:['str-placeholder-layout']},[(_vm.loading)?_c('v-progress-circular',{staticClass:\"str-placeholder-loader-item\",attrs:{\"color\":\"loading\",\"size\":_vm.loaderAnimationSize,\"width\":4,\"indeterminate\":\"\"}},[_c('img',{staticClass:\"str-placeholder-loader-item\",attrs:{\"src\":_vm.imgLoadingUrlWithContext}})]):_vm._e(),(!_vm.loading)?_c('img',{staticClass:\"str-placeholder-loader-item\",attrs:{\"src\":_vm.imgUrlWithContext}}):_vm._e(),(_vm.disclaimer)?_c('div',{staticClass:\"str-placeholder-loader-item\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.disclaimer)))]):_vm._e()],1):_c('div',{staticClass:\"str-layout-footer\"},[_c('img',{staticClass:\"str-placeholder-loader-item\",attrs:{\"src\":_vm.imgUrlWithContext}}),(_vm.disclaimer)?_c('div',{staticClass:\"str-placeholder-disclaimer\"},[_vm._v(_vm._s(_vm.$t(this.disclaimer)))]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Prop,\r\n Vue\r\n } from 'vue-property-decorator'\r\n import { \r\n ConfigService \r\n } from '..'\r\n\r\n/** *************************************** */\r\n/** Encapsulates application styles for */\r\n/** a reusable placeholder. */\r\n/** Sets loading state, on error page */\r\n/** disclaimer. */\r\n/** *************************************** */\r\n\r\n@Component({\r\n name: 'AppPlaceholder'\r\n})\r\nexport default class AppPlaceholder extends Vue {\r\n @Prop() loaderSize!: number\r\n @Prop() loading!: boolean\r\n @Prop() disclaimer!: string\r\n @Prop() footerStyle!: boolean\r\n\r\n get imgLoadingUrlWithContext () {\r\n return ConfigService.getProjectAssetsDir() + ConfigService.getAppLoaderLogo()\r\n }\r\n\r\n get imgUrlWithContext () {\r\n return ConfigService.getProjectAssetsDir() + ConfigService.getAppPlaceholderLogo()\r\n }\r\n\r\n get loaderAnimationSize () {\r\n return this.loaderSize ? this.loaderSize : 200\r\n }\r\n\r\n get loaderImgSize () {\r\n return this.loaderAnimationSize - 20\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppPlaceholder.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppPlaceholder.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppPlaceholder.vue?vue&type=template&id=f0d64510&scoped=true\"\nimport script from \"./AppPlaceholder.vue?vue&type=script&lang=ts\"\nexport * from \"./AppPlaceholder.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppPlaceholder.vue?vue&type=style&index=0&id=f0d64510&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f0d64510\",\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component\r\n } from 'vue-property-decorator'\r\n import {\r\n ConfigService\r\n } from '../..'\r\n import AbstractView from '../AbstractView.vue'\r\n import AppPlaceholder from '../../components/AppPlaceholder.vue'\r\n\r\n\r\n @Component({\r\n name: 'DisclaimerView',\r\n components: {\r\n AppPlaceholder\r\n }\r\n })\r\n export default class DisclaimerView extends AbstractView {\r\n displayButton = true\r\n goToInitialPage () {\r\n this.$router.push({ path: ConfigService.getDefaultInitialPage() })\r\n }\r\n }\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisclaimerView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisclaimerView.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DisclaimerView.vue?vue&type=template&id=cef6c45e\"\nimport script from \"./DisclaimerView.vue?vue&type=script&lang=ts\"\nexport * from \"./DisclaimerView.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DisclaimerView.vue?vue&type=style&index=0&id=cef6c45e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\nimport {\r\n Component\r\n } from 'vue-property-decorator'\r\n import {\r\n Action, Getter\r\n } from 'vuex-class'\r\n import DisclaimerView from '../view-state/DisclaimerView.vue'\r\n\r\n @Component({\r\n name: 'AuthEndSessionView',\r\n })\r\n export default class AuthEndSessionView extends DisclaimerView {\r\n @Action('logoutUser', { namespace: 'usrSess' }) logoutUser: any\r\n @Getter('idp', { namespace: 'usrSess' }) idp!: string | undefined\r\n\r\n mounted () {\r\n if (this.idp && this.idp.length > 0) {\r\n this.displayButton = false\r\n }\r\n this.logoutUser()\r\n }\r\n\r\n get disclaimerMsg () {\r\n return this.$t('app.auth.logout.page.disclaimer')\r\n }\r\n }\r\n","var render, staticRenderFns\nimport script from \"./AuthEndSessionView.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthEndSessionView.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./AuthEndSessionView.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthEndSessionView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthEndSessionView.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-layout',{attrs:{\"align-center\":\"\",\"justify-center\":\"\",\"fill-height\":\"\"}},[_c('app-placeholder',{attrs:{\"disclaimer\":_vm.$t('app.common.disclaimer.msg.loading'),\"loading\":true,\"footerStyle\":false,\"loaderSize\":200}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Prop\r\n } from 'vue-property-decorator'\r\n import {\r\n Action,\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n ErrorViewModel,\r\n ConfigService\r\n } from '../..'\r\n import AbstractView from '../AbstractView.vue'\r\n import AppPlaceholder from '../../components/AppPlaceholder.vue'\r\n\r\n @Component({\r\n name: 'AuthLoginCallbackView',\r\n components: {\r\n AppPlaceholder\r\n }\r\n })\r\n export default class AuthLoginCallbackView extends AbstractView {\r\n @Prop() nextRoute!: string\r\n @Prop() rolesFromServer!: any\r\n @Action('setPageError', { namespace: 'viewState' }) setPageError: any\r\n @Action('getAccessToken', { namespace: 'usrSess' }) getAccessToken: any\r\n @Action('handleAuthError', { namespace: 'usrSess' }) handleAuthError: any\r\n @Getter('isAccessTokenValid', { namespace: 'usrSess' }) isAccessTokenValid!: string | undefined\r\n @Getter('requestSt', { namespace: 'usrSess' }) requestSt!: string | undefined\r\n\r\n created () {\r\n if (!this.isAccessTokenValid) {\r\n\r\n /** Verifies authorization request state code to prevent potential CSRF attack */\r\n // @ts-ignore: Object is possibly 'null'\r\n const state: string | (string | null)[] = this.$route.query.state\r\n if (this.requestSt !== undefined && state !== this.requestSt) {\r\n const pageError: ErrorViewModel = new ErrorViewModel('app.common.error.auth.invalid.state.code')\r\n this.setPageError(pageError)\r\n // @ts-ignore: Object is possibly 'null'\r\n this.$router.push({ path: ConfigService.getDefaultErrorPage() })\r\n }\r\n\r\n /** Retrieves authorization code to obtain autorization to display login page */\r\n // @ts-ignore: Object is possibly 'null'\r\n const authCode: string | (string | null)[] = this.$route.query.code\r\n if (authCode !== undefined) {\r\n this.getAccessToken({ code: authCode, redirectPage: ConfigService.getDefaultInitialPage(), rolesFromServerIndex: this.rolesFromServer })\r\n } else {\r\n // @ts-ignore: Object is possibly 'null'\r\n const authError: string | (string | null)[] = decodeURIComponent(`${this.$route.query.error}`)\r\n // @ts-ignore: Object is possibly 'null'\r\n const authErrorDesc: string | (string | null)[] = decodeURIComponent(`${this.$route.query.error_description}`)\r\n const authPageError: string = authErrorDesc ? `app.common.error.auth.${authError}` : 'app.common.error.server.bad.request'\r\n const pageError: ErrorViewModel = new ErrorViewModel(authPageError, new Error(`[Keycloak] ${authErrorDesc}`))\r\n \r\n this.setPageError(pageError)\r\n // @ts-ignore: Object is possibly 'null'\r\n this.$router.push({ path: ConfigService.getDefaultErrorPage() })\r\n }\r\n\r\n } else {\r\n // @ts-ignore: Object is possibly 'null'\r\n this.$router.push({ path: ConfigService.getDefaultInitialPage() })\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthLoginCallbackView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthLoginCallbackView.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AuthLoginCallbackView.vue?vue&type=template&id=1f89664c\"\nimport script from \"./AuthLoginCallbackView.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthLoginCallbackView.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component,\r\n Vue\r\n } from 'vue-property-decorator'\r\n @Component({\r\n name: 'AuthEndSessionRedirectView',\r\n })\r\n export default class AuthEndSessionRedirectView extends Vue {}\r\n","var render, staticRenderFns\nimport script from \"./AuthEndSessionRedirectView.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthEndSessionRedirectView.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthEndSessionRedirectView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthEndSessionRedirectView.vue?vue&type=script&lang=ts\"","import {\r\n RouteConfig,\r\n NavigationGuard\r\n} from 'vue-router/types/router'\r\nimport {\r\n ConfigService,\r\n OAuth2Service,\r\n AppLayoutsEnum\r\n} from '..'\r\nimport AuthEndSessionView from '../views/auth/AuthEndSessionView.vue'\r\nimport AuthLoginCallbackView from '../views/auth/AuthLoginCallbackView.vue'\r\nimport AuthEndSessionRedirectView from '../views/auth/AuthEndSessionRedirectView.vue'\r\n\r\n/**\r\n * Creates the module corresponding routes to add to the global router.\r\n * \r\n * @param afterLoginRedirectUrl Url to redirect after responding to the identity provider callback\r\n * @param rolesFromServerIndex The mapper object to get the user role as a string\r\n */\r\nexport function OAuth2Routes(afterLoginRedirectUrl?: string, rolesFromServerIndex?: any): RouteConfig[] {\r\n return [{\r\n path: '/oauth2/redirect',\r\n name: 'authcallback',\r\n props: {\r\n nextRoute: afterLoginRedirectUrl,\r\n rolesFromServer: rolesFromServerIndex,\r\n layout: AppLayoutsEnum.FULLSCREEN_LAYOUT,\r\n },\r\n component: AuthLoginCallbackView,\r\n }, {\r\n path: '/logout/redirect',\r\n name: 'logoutcallback',\r\n props: {\r\n layout: AppLayoutsEnum.FULLSCREEN_LAYOUT,\r\n },\r\n component: AuthEndSessionRedirectView,\r\n }, {\r\n path: '/logout',\r\n props: {\r\n layout: AppLayoutsEnum.FULLSCREEN_LAYOUT,\r\n },\r\n component: AuthEndSessionView,\r\n }]\r\n}\r\n\r\n/**\r\n * Routes that are excluded of the authorization process. User authentication won't be checked on these.\r\n */\r\nconst excludedRoutes: string[] = [\r\n '/oauth2/redirect',\r\n '/errormsg',\r\n '/logout',\r\n '/logout/redirect',\r\n '/404',\r\n]\r\n\r\n/**\r\n * This function returns a NavigationGuard to be set as the beforeEach method in global router.\r\n * It allows to check wuether the user is authenticated before each call to a new route.\r\n * The store is passed to the function to be able to dispatch the verifyAuthStatus action.\r\n * \r\n * @param store The instance of the store\r\n * @param router The application router to be used if a page redirection is neeeded\r\n * @param anonymousAccessRoutes The application specific routes that not required authentication\r\n */\r\n export function globalBeforeEach(store: any, router: any, anonymousAccessRoutes: string[]): NavigationGuard < Vue > {\r\n return (to, from, next) => {\r\n\r\n if (from.path === '/errormsg') {\r\n // console.log('[globalBeforeEach] ResetPageError data... ')\r\n // reset the already displayed error\r\n store.dispatch('viewState/resetPageError', null, { root: true })\r\n }\r\n\r\n // prevent [NavigationDuplicated: Avoided redundant navigation to current location] error\r\n if (from.path === to.path) {\r\n if (to.path !== ConfigService.getDefaultInitialPage()) {\r\n // console.log('[globalBeforeEach] Redundant navigation: from.path === to.path redirect to ', ConfigService.getDefaultInitialPage())\r\n next(ConfigService.getDefaultInitialPage())\r\n } else {\r\n next('/')\r\n }\r\n }\r\n\r\n if (to.path === '/errormsg') {\r\n next()\r\n } else {\r\n // Retrieves tenant name to obtain autorization server URL\r\n const identityProviderId: string | (string | null)[] = to.query.idp \r\n const isAccessTokenValid = OAuth2Service.isAccessTokenValid(store.state.usrSess.accTS, store.state.usrSess.data)\r\n // console.log('[globalBeforeEach] identityProviderId=' + identityProviderId + ' isAccessTokenValid=', isAccessTokenValid)\r\n\r\n if ((isAccessTokenValid === undefined || isAccessTokenValid === false)\r\n && from.path !== '/oauth2/redirect' && !excludedRoutes.includes(to.path) && !anonymousAccessRoutes.includes(to.path)) {\r\n\r\n //--> ici ça ne redirige pas vers la bonne page\r\n // console.log('[globalBeforeEach] VerifyAuthStatus : redirectPage: ', to.path)\r\n store.dispatch('usrSess/verifyAuthStatus', { redirectPage: to.path, isAccessTokenValid, idp: identityProviderId }, { root: true })\r\n } else {\r\n if (to.query.request === \"token\"){\r\n store.dispatch('usrSess/sendTokenToExtension', { root: true })\r\n }\r\n next()\r\n }\r\n }\r\n }\r\n}\r\n","\r\n import {\r\n Component\r\n } from 'vue-property-decorator'\r\n import {\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n ErrorViewModel\r\n } from '../..'\r\n import DisclaimerView from './DisclaimerView.vue'\r\n\r\n @Component({\r\n name: 'ErrorPageView'\r\n })\r\n export default class ErrorPageView extends DisclaimerView {\r\n @Getter('pageError', { namespace: 'viewState' }) pageError!: ErrorViewModel | undefined\r\n\r\n get disclaimerMsg () {\r\n return this.pageError ? this.$t(this.pageError.errI18NMsg) : this.$t('app.errorpage.disclaimer')\r\n }\r\n }\r\n","var render, staticRenderFns\nimport script from \"./ErrorPageView.vue?vue&type=script&lang=ts\"\nexport * from \"./ErrorPageView.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./ErrorPageView.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorPageView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorPageView.vue?vue&type=script&lang=ts\"","import {\r\n RouteConfig\r\n} from 'vue-router/types/router'\r\nimport {\r\n AppLayoutsEnum\r\n} from '..'\r\nimport ErrorPageView from '../views/view-state/ErrorPageView.vue'\r\n\r\nexport const ViewStateRoutes: RouteConfig[] = [{\r\n path: '/errormsg',\r\n name: 'errorpage',\r\n props: {\r\n layout: AppLayoutsEnum.FULLSCREEN_LAYOUT,\r\n },\r\n component: ErrorPageView\r\n}]","export enum AppServiceUsageEnum {\r\n NB_CORRECTION_REQUESTS = 'nb-correction-requests',\r\n NB_ERRORS_FOUND = 'nb-errors-found',\r\n NB_APPLIED_SUGGESTIONS = 'nb-applied-suggestions'\r\n}\r\n\r\nexport enum AppAverageStatisticsEnum {\r\n AVERAGE_VERIFIED_WORDS = 'verified-word-average',\r\n AVERAGE_ERRORS = 'average-errors'\r\n}\r\n\r\nexport enum AppRephrasingServiceUsageEnum{\r\n NB_REPHRASING_REQUEST = 'nb-rephrasing-requests',\r\n NB_REPHRASING_APPLIED = 'nb-rephrasing-applied',\r\n REPHRASING_APPLICATION_RATIO = 'rephrasing-application-ratio',\r\n}","export enum ErrorClassificationLevelEnum {\r\n FIRST_LEVEL = 'first-preconfigured',\r\n SECOND_LEVEL = 'second-preconfigured',\r\n TOP_FIVE = 'top_five',\r\n}\r\n\r\nexport enum ErrorFirstLevelClassEnum {\r\n SPELLING = 'orthographe',\r\n TYPOGRAPHY = 'typographie',\r\n SYNTAX = 'syntaxe'\r\n}\r\n\r\nexport enum ErrorSecondLevelClassEnum {\r\n SPELLING = 'orthographe',\r\n TYPOGRAPHY = 'typographie',\r\n SYNTAX = 'syntaxe',\r\n GRAMMAR = 'grammaire',\r\n STYLE = 'style',\r\n}\r\n\r\nexport const ErrorsFromCodes: {[errorCode: string]: keyof typeof ErrorFirstLevelClassEnum} = {\r\n 'orthographe': 'SPELLING',\r\n 'typographie': 'TYPOGRAPHY',\r\n 'syntaxe': 'SYNTAX',\r\n}\r\n","// Handles en-GB, en-US, en-CA & en-AU\r\nexport default {\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"typographie\",\r\n \"DOUBLE_PUNCTUATION\": \"typographie\",\r\n \"UPPERCASE_SENTENCE_START\": \"typographie\",\r\n \"WHITESPACE_RULE\": \"typographie\",\r\n \"SENTENCE_WHITESPACE\": \"typographie\",\r\n \"TOO_LONG_SENTENCE\": \"syntaxe\",\r\n \"PUNCTUATION_PARAGRAPH_END\": \"typographie\",\r\n \"EN_SPECIFIC_CASE\": \"typographie\",\r\n \"EN_UNPAIRED_BRACKETS\": \"typographie\",\r\n \"ENGLISH_WORD_REPEAT_RULE\": \"syntaxe\",\r\n \"EN_A_VS_AN\": \"syntaxe\",\r\n \"ENGLISH_WORD_REPEAT_BEGINNING_RULE\": \"syntaxe\",\r\n \"EN_COMPOUNDS\": \"syntaxe\",\r\n \"EN_CONTRACTION_SPELLING\": \"orthographe\",\r\n \"ENGLISH_WRONG_WORD_IN_CONTEXT\": \"syntaxe\",\r\n \"EN_DASH_RULE\": \"typographie\",\r\n \"EN_WORD_COHERENCY\": \"syntaxe\",\r\n \"EN_DIACRITICS_REPLACE\": \"orthographe\",\r\n \"EN_SIMPLE_REPLACE\": \"syntaxe\",\r\n \"EN_REPEATEDWORDS\": \"syntaxe\",\r\n \"EN_GB_SIMPLE_REPLACE\": \"syntaxe\",\r\n \"METRIC_UNITS_EN_IMPERIAL\": \"syntaxe\",\r\n \"REP_PASSIVE_VOICE\": \"syntaxe\",\r\n \"REP_THANK_YOU_FOR\": \"syntaxe\",\r\n \"VOX_DEI\": \"typographie\",\r\n \"EUCLIDEAN_CAPITALIZATION\": \"typographie\",\r\n \"CELSIUS\": \"typographie\",\r\n \"IN_SHANGHAI\": \"typographie\",\r\n \"OMICRON_VARIANT\": \"typographie\",\r\n \"SAAS\": \"typographie\",\r\n \"HALLOWEEN\": \"typographie\",\r\n \"U_TURN\": \"typographie\",\r\n \"V_SHAPED\": \"typographie\",\r\n \"PONZI_SCHEME\": \"typographie\",\r\n \"GEIGER_COUNTER\": \"typographie\",\r\n \"LA_PAZ\": \"typographie\",\r\n \"LOWERCASE_NAMES\": \"typographie\",\r\n \"FILE_EXTENSIONS_CASE\": \"typographie\",\r\n \"ID_CASING\": \"typographie\",\r\n \"CAPITALIZATION\": \"typographie\",\r\n \"T_BONE\": \"typographie\",\r\n \"THIRD_WORLD\": \"typographie\",\r\n \"PILATES\": \"typographie\",\r\n \"CHRISTMAS\": \"typographie\",\r\n \"PAYPAL\": \"typographie\",\r\n \"YOUTUBE\": \"typographie\",\r\n \"LINKEDIN\": \"typographie\",\r\n \"WECHAT\": \"typographie\",\r\n \"GITHUB\": \"typographie\",\r\n \"WORDPRESS\": \"typographie\",\r\n \"BLACK_SEA\": \"typographie\",\r\n \"THE_FRENCH\": \"typographie\",\r\n \"IN_CHINA\": \"typographie\",\r\n \"IN_QUEENS\": \"typographie\",\r\n \"BAY_AREA\": \"typographie\",\r\n \"IN_LONG_BEACH\": \"typographie\",\r\n \"IN_LONG_ISLAND\": \"typographie\",\r\n \"THE_DUTCH\": \"typographie\",\r\n \"THE_POLISH\": \"typographie\",\r\n \"NEW_GUINEA\": \"typographie\",\r\n \"JAPAN\": \"typographie\",\r\n \"TURKEY\": \"typographie\",\r\n \"ROYAL_MAIL\": \"typographie\",\r\n \"ROYAL_AIR_FORCE\": \"typographie\",\r\n \"FRISBEE\": \"typographie\",\r\n \"PARMESAN\": \"typographie\",\r\n \"LC_AFTER_PERIOD\": \"typographie\",\r\n \"AI\": \"typographie\",\r\n \"I_A_M\": \"orthographe\",\r\n \"LOT_ON_OF\": \"orthographe\",\r\n \"SOU_YOU\": \"orthographe\",\r\n \"THE_RE\": \"orthographe\",\r\n \"OVERT_HE\": \"orthographe\",\r\n \"CAN_MISSPELLING\": \"orthographe\",\r\n \"MY_NOT_MU\": \"orthographe\",\r\n \"IT_S_BRITNEY\": \"orthographe\",\r\n \"COLDN_T\": \"orthographe\",\r\n \"THE_APO_RE\": \"orthographe\",\r\n \"IT_APOS_A\": \"orthographe\",\r\n \"LOOK_DOOR\": \"orthographe\",\r\n \"EN_SPLIT_WORDS_HYPHEN\": \"orthographe\",\r\n \"HELLOS\": \"orthographe\",\r\n \"A3FT\": \"orthographe\",\r\n \"HIPAA\": \"orthographe\",\r\n \"NUMBERS_IN_WORDS\": \"orthographe\",\r\n \"TYPO_A_RE\": \"orthographe\",\r\n \"YOURE\": \"orthographe\",\r\n \"YOUR_E\": \"orthographe\",\r\n \"PRP_AREA\": \"orthographe\",\r\n \"FORT_THE\": \"orthographe\",\r\n \"YAL_YALL\": \"orthographe\",\r\n \"TYPO_CONTRACTION\": \"orthographe\",\r\n \"UNITE_STATES\": \"orthographe\",\r\n \"UNITE_KINGDOM\": \"orthographe\",\r\n \"DIED_IN_THE_WOOL\": \"orthographe\",\r\n \"FAIR_SURE\": \"orthographe\",\r\n \"WE_APOSTROPHE_ARE\": \"orthographe\",\r\n \"WERE_RE\": \"orthographe\",\r\n \"HAS_IT_NNS__IT_ITS\": \"orthographe\",\r\n \"LOOKS_LIKES\": \"orthographe\",\r\n \"KIN_REGARDS\": \"orthographe\",\r\n \"PERPETUUM_MOBILE\": \"orthographe\",\r\n \"WELL_SUITING\": \"orthographe\",\r\n \"PEE_INSTALLED\": \"orthographe\",\r\n \"ADD_NO\": \"orthographe\",\r\n \"SON_T\": \"orthographe\",\r\n \"T_HE\": \"orthographe\",\r\n \"CONTRACTION_CASE\": \"orthographe\",\r\n \"MAH\": \"orthographe\",\r\n \"MI\": \"orthographe\",\r\n \"HING\": \"orthographe\",\r\n \"HEP\": \"orthographe\",\r\n \"NEED_HELPS\": \"orthographe\",\r\n \"PAPUA_NEW_GUINEA\": \"orthographe\",\r\n \"LIGATURES\": \"orthographe\",\r\n \"IN_LAWS\": \"orthographe\",\r\n \"COMPERE_COMPARE\": \"orthographe\",\r\n \"SHOULD_VS_SHOULDER\": \"orthographe\",\r\n \"TRUE_TO_WORD\": \"orthographe\",\r\n \"DEGREE_CHANGE\": \"orthographe\",\r\n \"TOW_THE_LINE\": \"orthographe\",\r\n \"RACK_BRAIN\": \"orthographe\",\r\n \"HALO_HALLO\": \"orthographe\",\r\n \"APOS_RE\": \"orthographe\",\r\n \"AS_FOLLOW_AS_FOLLOWS\": \"orthographe\",\r\n \"BY_PASSIVE_PARTICIPLE_BE\": \"orthographe\",\r\n \"MISS_VERB\": \"orthographe\",\r\n \"BEE_BEEN\": \"orthographe\",\r\n \"SEE_SEEN\": \"orthographe\",\r\n \"WORD_WORLD\": \"orthographe\",\r\n \"WONT_CONTRACTION\": \"orthographe\",\r\n \"DONT_T\": \"orthographe\",\r\n \"WANT_BE\": \"orthographe\",\r\n \"DELETE_SPACE\": \"orthographe\",\r\n \"INCORRECT_CONTRACTIONS\": \"orthographe\",\r\n \"PERS_PRON_CONTRACTION\": \"orthographe\",\r\n \"IVE_CONTRACTION\": \"orthographe\",\r\n \"BEAT_REGARDS\": \"orthographe\",\r\n \"LING\": \"orthographe\",\r\n \"WAN_T\": \"orthographe\",\r\n \"RE_CENT\": \"orthographe\",\r\n \"IF_WHICH\": \"orthographe\",\r\n \"I_FEEL\": \"orthographe\",\r\n \"LOT_S\": \"orthographe\",\r\n \"GOOD_NEWS\": \"orthographe\",\r\n \"A_BUT\": \"orthographe\",\r\n \"TOOL_LONG\": \"orthographe\",\r\n \"AN_THEN\": \"orthographe\",\r\n \"AH_HA\": \"orthographe\",\r\n \"A_WAS\": \"orthographe\",\r\n \"ALLTHOUGH\": \"orthographe\",\r\n \"ALSO_KNOW\": \"orthographe\",\r\n \"AS_OPPOSE_TO_AS_OPPOSED_TO\": \"orthographe\",\r\n \"WHAT_HOW\": \"orthographe\",\r\n \"CONFUSION_GONG_GOING\": \"orthographe\",\r\n \"CONFUSION_OF_THEN_THAN\": \"orthographe\",\r\n \"CONFUSION_OF_THESES_THESE\": \"orthographe\",\r\n \"CONFUSION_OF_ME_I\": \"orthographe\",\r\n \"CONFUSION_OF_BEEN_BEING\": \"orthographe\",\r\n \"OUR_OUT\": \"orthographe\",\r\n \"YOUR_SHOULD\": \"orthographe\",\r\n \"US_USE\": \"orthographe\",\r\n \"ON_OF_THE\": \"orthographe\",\r\n \"APART_A_PART\": \"orthographe\",\r\n \"APART_FORM\": \"orthographe\",\r\n \"UP_TO_DATA\": \"orthographe\",\r\n \"COLD_COULD\": \"orthographe\",\r\n \"FEEL_TREE_TO\": \"orthographe\",\r\n \"EASIEST_WAS_TO\": \"orthographe\",\r\n \"ET_AL\": \"orthographe\",\r\n \"ARE_STILL_THE_SOME\": \"orthographe\",\r\n \"DE_JURO\": \"orthographe\",\r\n \"I_THIN\": \"orthographe\",\r\n \"ALL_BE_IT\": \"orthographe\",\r\n \"ALL_OVER_THE_WORD\": \"orthographe\",\r\n \"ANOTHER_WORDS\": \"orthographe\",\r\n \"BEING_BEGIN\": \"orthographe\",\r\n \"CA_PRP\": \"orthographe\",\r\n \"FROM_FORM\": \"orthographe\",\r\n \"THERE_EXITS\": \"orthographe\",\r\n \"HE_THE\": \"orthographe\",\r\n \"THE_HOW\": \"orthographe\",\r\n \"I_LOWERCASE\": \"orthographe\",\r\n \"IN_JANUARY\": \"orthographe\",\r\n \"IN_PARENTHESIS\": \"orthographe\",\r\n \"IN_STEAD_OF\": \"orthographe\",\r\n \"IN_TACT\": \"orthographe\",\r\n \"IT_SELF\": \"orthographe\",\r\n \"VE_GO_TO\": \"orthographe\",\r\n \"FOR_ALONG_TIME\": \"orthographe\",\r\n \"FOR_AWHILE\": \"orthographe\",\r\n \"AWAY_FRO\": \"orthographe\",\r\n \"FOR_FRO\": \"orthographe\",\r\n \"HUMANS_BEINGS\": \"orthographe\",\r\n \"LAST_BUT_NOT_LAST\": \"orthographe\",\r\n \"HOUR_OUR\": \"orthographe\",\r\n \"ONE_IN_THE_SAME\": \"orthographe\",\r\n \"ONE_THE_ONE_HAND\": \"orthographe\",\r\n \"PER_SE\": \"orthographe\",\r\n \"SOME_WHAT_JJ\": \"orthographe\",\r\n \"STAND_ALONE_NN\": \"orthographe\",\r\n \"INDUSTRY_LEADING_NN\": \"orthographe\",\r\n \"UNDER_WEAR\": \"orthographe\",\r\n \"WHAT_SO_EVER\": \"orthographe\",\r\n \"WHERE_AS\": \"orthographe\",\r\n \"WITHOUT_OUT\": \"orthographe\",\r\n \"YOURS_APOSTROPHE\": \"orthographe\",\r\n \"CD_WEEK_S\": \"orthographe\",\r\n \"TOT_HE\": \"orthographe\",\r\n \"TANK_YOU\": \"orthographe\",\r\n \"FILED_WITH\": \"orthographe\",\r\n \"WITH_OUT\": \"orthographe\",\r\n \"IT_IS_NO\": \"orthographe\",\r\n \"ALLOT_OF\": \"orthographe\",\r\n \"ALL_MOST\": \"orthographe\",\r\n \"ANALYSIS_IF\": \"orthographe\",\r\n \"TOW_TWO\": \"orthographe\",\r\n \"IF_OF\": \"orthographe\",\r\n \"IF_IS\": \"orthographe\",\r\n \"BED_ENGLISH\": \"orthographe\",\r\n \"WIFI\": \"orthographe\",\r\n \"SENT_START_THEM\": \"orthographe\",\r\n \"THINK_YOU_A\": \"orthographe\",\r\n \"IS_WERE\": \"orthographe\",\r\n \"ONE_ORE\": \"orthographe\",\r\n \"GOING_ONE\": \"orthographe\",\r\n \"NAIL_ON_THE_HEAD\": \"orthographe\",\r\n \"ON_THE_SHELF\": \"orthographe\",\r\n \"COME_THROUGH\": \"orthographe\",\r\n \"VARY_VERY\": \"orthographe\",\r\n \"WEATHER_WHETHER\": \"orthographe\",\r\n \"SEE_SEA\": \"orthographe\",\r\n \"I_IF\": \"orthographe\",\r\n \"STATIONARY_STATIONERY\": \"orthographe\",\r\n \"THE_ONLY_ON\": \"orthographe\",\r\n \"I_A\": \"orthographe\",\r\n \"PLEASE_NOT_THAT\": \"orthographe\",\r\n \"I_AM_NOTE_SURE\": \"orthographe\",\r\n \"NUT_NOT\": \"orthographe\",\r\n \"AND_SO_ONE\": \"orthographe\",\r\n \"THROUGH_AWAY\": \"orthographe\",\r\n \"OR_WAY_IT\": \"orthographe\",\r\n \"DT_RESPONDS\": \"orthographe\",\r\n \"PRP_RESPONSE\": \"orthographe\",\r\n \"THINK_OFF\": \"orthographe\",\r\n \"NOT_US1\": \"orthographe\",\r\n \"YOU_THING\": \"orthographe\",\r\n \"WERE_VBB\": \"orthographe\",\r\n \"VBZ_VBD\": \"orthographe\",\r\n \"LOOK_ATE\": \"orthographe\",\r\n \"A_KNOW_BUG\": \"orthographe\",\r\n \"MY_BE\": \"orthographe\",\r\n \"IS_SHOULD\": \"orthographe\",\r\n \"CANT\": \"orthographe\",\r\n \"HELL\": \"orthographe\",\r\n \"LETS_LET\": \"orthographe\",\r\n \"IT_SOMETHING\": \"orthographe\",\r\n \"IT_IS\": \"orthographe\",\r\n \"ITS_JJS_NN\": \"orthographe\",\r\n \"FOR_ITS_NN\": \"orthographe\",\r\n \"ABOUT_ITS_NN\": \"orthographe\",\r\n \"TO_VB_ITS_NN\": \"orthographe\",\r\n \"DOE_SNOT\": \"orthographe\",\r\n \"IT_IS_2\": \"orthographe\",\r\n \"CC_IT_VBG\": \"orthographe\",\r\n \"WED_WE_D\": \"orthographe\",\r\n \"WRONG_GENITIVE_APOSTROPHE\": \"orthographe\",\r\n \"MISSING_GENITIVE\": \"orthographe\",\r\n \"WHOS\": \"orthographe\",\r\n \"WHOS_NN\": \"orthographe\",\r\n \"WHOSE_DT\": \"orthographe\",\r\n \"WHOS_ACTUAL\": \"orthographe\",\r\n \"WHOS_TO\": \"orthographe\",\r\n \"NO_WHERE\": \"orthographe\",\r\n \"NOW\": \"orthographe\",\r\n \"SCENT_SENT\": \"orthographe\",\r\n \"SCENE_SEEN\": \"orthographe\",\r\n \"MANGER_MANAGER\": \"orthographe\",\r\n \"SQUARED_SQUARE\": \"orthographe\",\r\n \"MODAL_OF\": \"orthographe\",\r\n \"HAD_OF\": \"orthographe\",\r\n \"ONES\": \"orthographe\",\r\n \"PRESIDENTS_DAY_APOSTROPHE\": \"orthographe\",\r\n \"INTERNATIONAL_WORKERS_DAY_APOSTROPHE\": \"orthographe\",\r\n \"CHILDRENS_DAY_APOSTROPHE\": \"orthographe\",\r\n \"TOMORROW_POSSESSIVE_APOSTROPHE\": \"orthographe\",\r\n \"THIS_YEARS_POSSESSIVE_APOSTROPHE\": \"orthographe\",\r\n \"POSSESSIVE_APOSTROPHE\": \"orthographe\",\r\n \"POSSESSIVE_APOSTROPHE_2\": \"orthographe\",\r\n \"SPECIFIC_POSSESSIVE_APOSTROPHE\": \"orthographe\",\r\n \"A_NNS_BEST_NN\": \"orthographe\",\r\n \"APOSTROPHE_PLURAL_\": \"orthographe\",\r\n \"DOS_AND_DONTS\": \"orthographe\",\r\n \"VERB_APOSTROPHE_S\": \"orthographe\",\r\n \"ANY_BODY\": \"orthographe\",\r\n \"MAY_BE\": \"orthographe\",\r\n \"ONCE_AND_A_WHILE\": \"orthographe\",\r\n \"SPARKING_WINE\": \"orthographe\",\r\n \"THROWS_THROES\": \"orthographe\",\r\n \"THOUGH_THROUGH\": \"orthographe\",\r\n \"ENVELOPE_ENVELOP\": \"orthographe\",\r\n \"ENVELOP_ENVELOPE\": \"orthographe\",\r\n \"VERY_MATCH\": \"orthographe\",\r\n \"VARY_MUCH\": \"orthographe\",\r\n \"HASNT_IRREGULAR_VERB\": \"orthographe\",\r\n \"COULDVE_IRREGULAR_VERB\": \"orthographe\",\r\n \"ANINFOR_EVERY_DAY\": \"orthographe\",\r\n \"ALL_WAYS\": \"orthographe\",\r\n \"THERE_FORE\": \"orthographe\",\r\n \"SELF_FISH\": \"orthographe\",\r\n \"EVERY_WHERE\": \"orthographe\",\r\n \"FIGURE_HEAD\": \"orthographe\",\r\n \"FLAG_SHIP\": \"orthographe\",\r\n \"HOW_EVER\": \"orthographe\",\r\n \"LAUGHING_STOCK\": \"orthographe\",\r\n \"MEAN_WHILE\": \"orthographe\",\r\n \"NATION_WIDE\": \"orthographe\",\r\n \"NEAR_BY\": \"orthographe\",\r\n \"NEW_COMER\": \"orthographe\",\r\n \"NOW_A_DAYS\": \"orthographe\",\r\n \"ON_GOING\": \"orthographe\",\r\n \"OUT_GROW\": \"orthographe\",\r\n \"OUT_SIDE\": \"orthographe\",\r\n \"OVER_LOOKED\": \"orthographe\",\r\n \"OVER_LOOKING\": \"orthographe\",\r\n \"OVER_RATED\": \"orthographe\",\r\n \"OVER_SEAS\": \"orthographe\",\r\n \"SHORT_COMING\": \"orthographe\",\r\n \"SHORT_CUT\": \"orthographe\",\r\n \"SIDE_KICK\": \"orthographe\",\r\n \"SKY_DIVING\": \"orthographe\",\r\n \"SOME_HOW\": \"orthographe\",\r\n \"THEM_SELVES\": \"orthographe\",\r\n \"BACK_FIRE\": \"orthographe\",\r\n \"WORLD_WIDE\": \"orthographe\",\r\n \"WORTH_WHILE\": \"orthographe\",\r\n \"WAY_SIDE\": \"orthographe\",\r\n \"ALONG_SIDE\": \"orthographe\",\r\n \"BE_CAUSE\": \"orthographe\",\r\n \"BE_WARE\": \"orthographe\",\r\n \"BEFORE_HAND\": \"orthographe\",\r\n \"DOWN_SIDE\": \"orthographe\",\r\n \"THROUGH_OUT\": \"orthographe\",\r\n \"ON-GOING\": \"orthographe\",\r\n \"LIGHT_WEIGHT\": \"orthographe\",\r\n \"HEAVY_WEIGHT\": \"orthographe\",\r\n \"FREE_LANCE\": \"orthographe\",\r\n \"FREE_LANCER\": \"orthographe\",\r\n \"FREE_LANCES\": \"orthographe\",\r\n \"FREE_LANCING\": \"orthographe\",\r\n \"VB_A_WHILE\": \"orthographe\",\r\n \"KEY_WORDS\": \"orthographe\",\r\n \"CROWD_SOURCING\": \"orthographe\",\r\n \"META_DATA\": \"orthographe\",\r\n \"PAST_TIME\": \"orthographe\",\r\n \"ANY_WHERE\": \"orthographe\",\r\n \"SOME_WHERE\": \"orthographe\",\r\n \"DT_BAIL_OUT\": \"orthographe\",\r\n \"OUT_COME\": \"orthographe\",\r\n \"COMPRISED_OF\": \"orthographe\",\r\n \"WRITINGPOLITICALSCIENCE_GAFFS\": \"orthographe\",\r\n \"WRITINGPOLITICALSCIENCE_GAFF\": \"orthographe\",\r\n \"WERE_MD\": \"orthographe\",\r\n \"OTHER_THEN\": \"orthographe\",\r\n \"WAS_ALOUD\": \"orthographe\",\r\n \"ELUDED_TO\": \"orthographe\",\r\n \"ALLUDE_ELUDE\": \"orthographe\",\r\n \"COMPLAINT_COMPLIANT\": \"orthographe\",\r\n \"BAITED_BREATH\": \"orthographe\",\r\n \"BARE_IN_MIND\": \"orthographe\",\r\n \"PLAYOFF_BIRTH\": \"orthographe\",\r\n \"DISC_BREAK\": \"orthographe\",\r\n \"HIT_THE_BREAKS\": \"orthographe\",\r\n \"SPINAL_CHORD\": \"orthographe\",\r\n \"FULL_COMPLIMENT_OF\": \"orthographe\",\r\n \"IN_EDITION_TO\": \"orthographe\",\r\n \"FAIRED_AS_WELL\": \"orthographe\",\r\n \"FAIRED_BADLY\": \"orthographe\",\r\n \"AND_SO_FOURTH\": \"orthographe\",\r\n \"PUT_FOURTH_THEAAN\": \"orthographe\",\r\n \"FORTH_PLACE\": \"orthographe\",\r\n \"DOOR_JAM\": \"orthographe\",\r\n \"LESS_DOLLARSMINUTESHOURS\": \"orthographe\",\r\n \"FEWER_UNCOUNTABLE\": \"orthographe\",\r\n \"AM_LOATHE_TO\": \"orthographe\",\r\n \"LOOSING_EFFORTRECORDSEASON\": \"orthographe\",\r\n \"MUTE_POINT\": \"orthographe\",\r\n \"PEAK_HIS_INTEREST\": \"orthographe\",\r\n \"MOST_POPULACE\": \"orthographe\",\r\n \"AT_THE_REIGNS\": \"orthographe\",\r\n \"MANAGERIAL_REIGNS\": \"orthographe\",\r\n \"REIGNS_OF_POWER\": \"orthographe\",\r\n \"TAKE_THE_REIGNS\": \"orthographe\",\r\n \"FREE_REIGN\": \"orthographe\",\r\n \"LEAD_ROLL\": \"orthographe\",\r\n \"ROLL_PLAYER\": \"orthographe\",\r\n \"ROLE_CALL\": \"orthographe\",\r\n \"CONSTRUCTION_SIGHT\": \"orthographe\",\r\n \"OUT_OF_SINK\": \"orthographe\",\r\n \"DIFFERENT_TACT\": \"orthographe\",\r\n \"IN_PRP_THEN_IN_PRP\": \"orthographe\",\r\n \"COMPARISONS_THEN\": \"orthographe\",\r\n \"COMPARISONS_NNS_THEN\": \"orthographe\",\r\n \"COMPARISONS_AS_ADJECTIVE_AS\": \"orthographe\",\r\n \"TO__THEN_BY\": \"orthographe\",\r\n \"WAIVED_OFF\": \"orthographe\",\r\n \"WRECK_HAVOC\": \"orthographe\",\r\n \"ABOUT_WHO_TO\": \"orthographe\",\r\n \"WHO_WHOM\": \"orthographe\",\r\n \"WHOM_WHO\": \"orthographe\",\r\n \"VBG_YOURE\": \"orthographe\",\r\n \"THATS_YOURE\": \"orthographe\",\r\n \"THATS_THEYRE\": \"orthographe\",\r\n \"THATS_ITS\": \"orthographe\",\r\n \"YOUR_YOU\": \"orthographe\",\r\n \"YOUR_YOU_2\": \"orthographe\",\r\n \"EXITED_EXCITED\": \"orthographe\",\r\n \"YOUR_YOU_RE\": \"orthographe\",\r\n \"YOURE_JJS_NN\": \"orthographe\",\r\n \"THEYRE_JJS_NN\": \"orthographe\",\r\n \"WRB_THERE_THEY_RE\": \"orthographe\",\r\n \"VBZ_IN_THEYRE_NN\": \"orthographe\",\r\n \"IN_VBZ_THEYRE_NN\": \"orthographe\",\r\n \"DT_VBZ_THEYRE_NN\": \"orthographe\",\r\n \"NEED_TO_VBG\": \"orthographe\",\r\n \"ILL_I_LL\": \"orthographe\",\r\n \"I_ILL\": \"orthographe\",\r\n \"WITHE_WITH\": \"orthographe\",\r\n \"DUCK_DUCT\": \"orthographe\",\r\n \"OFT_HE\": \"orthographe\",\r\n \"HAST_O\": \"orthographe\",\r\n \"GOON\": \"orthographe\",\r\n \"LAID_AHEAD\": \"orthographe\",\r\n \"LAY_AROUND\": \"orthographe\",\r\n \"LAYING_AROUND\": \"orthographe\",\r\n \"LAYS_ATOP\": \"orthographe\",\r\n \"WAS_LAIN\": \"orthographe\",\r\n \"JIMMY_BUFFET\": \"orthographe\",\r\n \"HARRISON_FORD\": \"orthographe\",\r\n \"SCHROEDINGER\": \"orthographe\",\r\n \"JIMMY_HENDRIX\": \"orthographe\",\r\n \"PHILLIPS_ARENA\": \"orthographe\",\r\n \"JIVE_WITH\": \"orthographe\",\r\n \"MASH_POTATOES\": \"orthographe\",\r\n \"IS_RENOWN_FOR\": \"orthographe\",\r\n \"BREW_HAHA\": \"orthographe\",\r\n \"WORKING_PROGRESS\": \"orthographe\",\r\n \"HISTORIC_RECORD\": \"orthographe\",\r\n \"GUEST_STARED\": \"orthographe\",\r\n \"IN_TITLED\": \"orthographe\",\r\n \"IS_CONTAINED_OF\": \"orthographe\",\r\n \"AFTER_BEEN\": \"orthographe\",\r\n \"IMMINENT_DOMAIN\": \"orthographe\",\r\n \"CHOMPING_AT_THE_BIT\": \"orthographe\",\r\n \"CONSTELLATION_PRIZE\": \"orthographe\",\r\n \"CONSTITUTES_OF\": \"orthographe\",\r\n \"COULD_CARE_LESS\": \"orthographe\",\r\n \"COULDNT_CARELESS\": \"orthographe\",\r\n \"COULD_GIVE_A_DAMN\": \"orthographe\",\r\n \"DAILY_REGIMENT\": \"orthographe\",\r\n \"DE_FACTOR\": \"orthographe\",\r\n \"WORSE-CASE_SCENARIO\": \"orthographe\",\r\n \"WORST_COMES_TO_WORST\": \"orthographe\",\r\n \"TO_BATH\": \"orthographe\",\r\n \"TREASURE_TROUGH\": \"orthographe\",\r\n \"AD_NAUSEUM\": \"orthographe\",\r\n \"NOBLE_PRIZE\": \"orthographe\",\r\n \"LAND_LOVER\": \"orthographe\",\r\n \"STRIKE_A_CORD\": \"orthographe\",\r\n \"SAFETY_DEPOSIT_BOX\": \"orthographe\",\r\n \"STATUE_OF_LIMITATIONS\": \"orthographe\",\r\n \"ALL_THE_FARTHER\": \"orthographe\",\r\n \"DISCUSSIONS_AROUND\": \"orthographe\",\r\n \"AS_TIME_PROGRESSED\": \"orthographe\",\r\n \"AS_FOLLOW\": \"orthographe\",\r\n \"BEYOND_THE_PAIL\": \"orthographe\",\r\n \"BECKON_CALL\": \"orthographe\",\r\n \"BEGS_BELIEF\": \"orthographe\",\r\n \"BUTTLOAD\": \"orthographe\",\r\n \"BRUSSEL_SPROUT\": \"orthographe\",\r\n \"BUILD_OFF_OF\": \"orthographe\",\r\n \"TRITE_AND_TRUE\": \"orthographe\",\r\n \"BETWEEN_YOU_AND_I\": \"orthographe\",\r\n \"EVERY_SINCE\": \"orthographe\",\r\n \"FOWL_SWOOP\": \"orthographe\",\r\n \"GARDENERGARDEN_SNAKE\": \"orthographe\",\r\n \"HAY_DAY\": \"orthographe\",\r\n \"HARDLY_NEVER\": \"orthographe\",\r\n \"HEW_AND_CRY\": \"orthographe\",\r\n \"MINUS_WELL\": \"orthographe\",\r\n \"OFT_CHANCE\": \"orthographe\",\r\n \"ON_THE_SAME_TOKEN\": \"orthographe\",\r\n \"ONE_OF_THE_ONLY\": \"orthographe\",\r\n \"PEDAL_TO_THE_MEDAL\": \"orthographe\",\r\n \"PAWN_OFF\": \"orthographe\",\r\n \"PLAYS_A_FACTOR\": \"orthographe\",\r\n \"REALMS_OF_POSSIBILITY\": \"orthographe\",\r\n \"SENSE_OF_FALSE_HOPEPRIVACYSECURITY\": \"orthographe\",\r\n \"RING_ITS_NECK\": \"orthographe\",\r\n \"RIGHT_OF_PASSAGE\": \"orthographe\",\r\n \"RODROT_IRON\": \"orthographe\",\r\n \"SOUSE_CHEF\": \"orthographe\",\r\n \"STOCK_AND_TRADE\": \"orthographe\",\r\n \"SOUND_BYTE\": \"orthographe\",\r\n \"TO_THE_MANOR_BORN\": \"orthographe\",\r\n \"VINTAGE_POINT\": \"orthographe\",\r\n \"WHIM_AND_A_PRAYER\": \"orthographe\",\r\n \"YEAR_END_AND_YEAR_OUT\": \"orthographe\",\r\n \"HAND_AND_HAND\": \"orthographe\",\r\n \"GRASPING_FOR_STRAWS\": \"orthographe\",\r\n \"GRILL_CHEESE\": \"orthographe\",\r\n \"MIGHT_HAS_WELL\": \"orthographe\",\r\n \"ON_THE_CONTRAIRE\": \"orthographe\",\r\n \"DAMP_SQUID\": \"orthographe\",\r\n \"CURSING_THROUGH_VEINS\": \"orthographe\",\r\n \"DARING-DO\": \"orthographe\",\r\n \"DEATH_NAIL\": \"orthographe\",\r\n \"REAP_WHAT_YOU_SEW\": \"orthographe\",\r\n \"SPARE_OF_THE_MOMENT\": \"orthographe\",\r\n \"TONGUE_AND_CHEEK\": \"orthographe\",\r\n \"URINE_ANALYSIS\": \"orthographe\",\r\n \"WET_YOUR_APPETITE\": \"orthographe\",\r\n \"TATTLE-TAIL\": \"orthographe\",\r\n \"OLD_WISE_TAILTALE\": \"orthographe\",\r\n \"ON_THE_LAMB\": \"orthographe\",\r\n \"YOULL_WILL\": \"orthographe\",\r\n \"ITS_IS\": \"orthographe\",\r\n \"WERE_ARE\": \"orthographe\",\r\n \"IM_AM\": \"orthographe\",\r\n \"IVE_HAVE\": \"orthographe\",\r\n \"ITS_HAS\": \"orthographe\",\r\n \"ID_WOULD\": \"orthographe\",\r\n \"CAN_BACKUP\": \"orthographe\",\r\n \"PRP_BACKUP\": \"orthographe\",\r\n \"CAN_BLACKOUT\": \"orthographe\",\r\n \"SETUP_VERB\": \"orthographe\",\r\n \"WORKOUT_VERB\": \"orthographe\",\r\n \"HANGOUT_VERB\": \"orthographe\",\r\n \"ROLLOUT_VERB\": \"orthographe\",\r\n \"CAN_CHECKIN\": \"orthographe\",\r\n \"CAN_CHECKOUT\": \"orthographe\",\r\n \"GOT_SHUTDOWN\": \"orthographe\",\r\n \"GOT_SHUTOUT\": \"orthographe\",\r\n \"IN_ALONG_TIME\": \"orthographe\",\r\n \"IN_ANYWAY\": \"orthographe\",\r\n \"INCASE_OF\": \"orthographe\",\r\n \"PORTLAND_TRAILBLAZERS\": \"orthographe\",\r\n \"TAKE_AWHILE\": \"orthographe\",\r\n \"TO_BACKOUT\": \"orthographe\",\r\n \"TO_BLACKOUT\": \"orthographe\",\r\n \"TO_COMEBACK\": \"orthographe\",\r\n \"ALONG_TIME\": \"orthographe\",\r\n \"DOWNPAYMENT\": \"orthographe\",\r\n \"ALA_MODE\": \"orthographe\",\r\n \"AFTERALL\": \"orthographe\",\r\n \"I_AM_WORRY\": \"orthographe\",\r\n \"MUST_OF_THE_TIME_MOST_OF_THE_TIME\": \"orthographe\",\r\n \"COMPLEMENT_COMPLIMENT\": \"orthographe\",\r\n \"HART_HEART\": \"orthographe\",\r\n \"CONFUSION_OF_FOND_FUND\": \"orthographe\",\r\n \"CONTRACT_CONTACT\": \"orthographe\",\r\n \"IN_TO_INTO\": \"orthographe\",\r\n \"CONFUSION_OF_RIDE_RID\": \"orthographe\",\r\n \"FOR_TIME_TO_TIME\": \"orthographe\",\r\n \"TOME_TIME\": \"orthographe\",\r\n \"SAVE_SAFE\": \"orthographe\",\r\n \"SAV_SAVE\": \"orthographe\",\r\n \"TYP_TYPE\": \"orthographe\",\r\n \"AWAY_AWAYS\": \"orthographe\",\r\n \"SILL_STILL\": \"orthographe\",\r\n \"TEL_TELL\": \"orthographe\",\r\n \"ELDER_OLDER\": \"orthographe\",\r\n \"MASTERS\": \"orthographe\",\r\n \"TOO_TWO\": \"orthographe\",\r\n \"TOO_CARDINAL_NUMBER\": \"orthographe\",\r\n \"TOO_DETERMINER\": \"orthographe\",\r\n \"TH_THORIUM\": \"orthographe\",\r\n \"HAIRS\": \"orthographe\",\r\n \"AU\": \"orthographe\",\r\n \"WORD_CONTAINS_UNDERSCORE\": \"orthographe\",\r\n \"FR\": \"orthographe\",\r\n \"THANKS_YOU\": \"orthographe\",\r\n \"THANK_THANKS\": \"orthographe\",\r\n \"HI_TIME\": \"orthographe\",\r\n \"LANGUAGE_TOOL\": \"orthographe\",\r\n \"LANGUAGETOOL\": \"orthographe\",\r\n \"TR\": \"orthographe\",\r\n \"NE\": \"orthographe\",\r\n \"OM\": \"orthographe\",\r\n \"APPSTORE\": \"orthographe\",\r\n \"UR\": \"orthographe\",\r\n \"BU\": \"orthographe\",\r\n \"IM_I_M\": \"orthographe\",\r\n \"ER\": \"orthographe\",\r\n \"NON_STANDARD_WORD\": \"orthographe\",\r\n \"TIS\": \"orthographe\",\r\n \"W_HAT\": \"orthographe\",\r\n \"HAWAIIAN\": \"orthographe\",\r\n \"ALZHEIMERS\": \"orthographe\",\r\n \"MUS_MUST\": \"orthographe\",\r\n \"ANTHER\": \"orthographe\",\r\n \"WOLD\": \"orthographe\",\r\n \"TIME_CRITICAL_HYPHEN\": \"orthographe\",\r\n \"DIAL_UP_HYPHEN\": \"orthographe\",\r\n \"ONBOARD\": \"orthographe\",\r\n \"LINKED_IN\": \"orthographe\",\r\n \"MAKE_OR_BREAK_HYPHEN\": \"orthographe\",\r\n \"CUMBER_SOME\": \"orthographe\",\r\n \"ONE_TRICK_HYPHEN\": \"orthographe\",\r\n \"NODE_JS\": \"orthographe\",\r\n \"MISS_SPELLING\": \"orthographe\",\r\n \"SAFE_GUARD_COMPOUND\": \"orthographe\",\r\n \"EVEN_HANDED_HYPHEN\": \"orthographe\",\r\n \"BLACK_LIST_COMPOUND\": \"orthographe\",\r\n \"PEER_REVIEW_HYPHEN\": \"orthographe\",\r\n \"OFF_RAMP_HYPHEN\": \"orthographe\",\r\n \"GET_TOGETHER_HYPHEN\": \"orthographe\",\r\n \"NO_HAGGLE_PRICE_HYPHEN\": \"orthographe\",\r\n \"WRITTEN_DOWN\": \"orthographe\",\r\n \"READ_ONLY_ACCESS_HYPHEN\": \"orthographe\",\r\n \"A_LONG\": \"orthographe\",\r\n \"THERE_FOR\": \"orthographe\",\r\n \"ABOUT_FACE_HYPHEN\": \"orthographe\",\r\n \"ONE_OFF_HYPHEN\": \"orthographe\",\r\n \"COMMON_USED_HYPHEN\": \"orthographe\",\r\n \"SLEEP_WALK_COMPOUND\": \"orthographe\",\r\n \"PASSER_BY_COMPOUND\": \"orthographe\",\r\n \"PIECE_COMPOUNDS\": \"orthographe\",\r\n \"TWO_STATE_SOLUTION_HYPHEN\": \"orthographe\",\r\n \"UP_AND_COMING_HYPHEN\": \"orthographe\",\r\n \"GOD_SEND_COMPOUND\": \"orthographe\",\r\n \"PLAY_COMPOUNDS\": \"orthographe\",\r\n \"PICTURE_PERFECT_HYPHEN\": \"orthographe\",\r\n \"SAME_DAY_DELIVERY_HYPHEN\": \"orthographe\",\r\n \"TOUCH_POINT\": \"orthographe\",\r\n \"DROP_DEAD_HYPHEN\": \"orthographe\",\r\n \"SEEKER_COMPOUNDS\": \"orthographe\",\r\n \"RESISTANT_HYPHEN\": \"orthographe\",\r\n \"THERETO\": \"orthographe\",\r\n \"DECISION_MAKING\": \"orthographe\",\r\n \"CHRISTMAS_TIME\": \"orthographe\",\r\n \"DO_ABLE\": \"orthographe\",\r\n \"YARDER_HYPHEN\": \"orthographe\",\r\n \"PRO_RATA\": \"orthographe\",\r\n \"DRIVE_THROUGH_HYPHEN\": \"orthographe\",\r\n \"ON_OFF_SCREEN_HYPHEN\": \"orthographe\",\r\n \"ONE_HANDED_HYPHEN\": \"orthographe\",\r\n \"OFF_HAND_COMPOUND\": \"orthographe\",\r\n \"STRAIGHT_UP_HYPHEN\": \"orthographe\",\r\n \"NEAR_DEATH_HYPHEN\": \"orthographe\",\r\n \"UP_TO_DATE_HYPHEN\": \"orthographe\",\r\n \"THREE_LINE_HYPHEN\": \"orthographe\",\r\n \"FOR_PROFIT_HYPHEN\": \"orthographe\",\r\n \"TRICKLE_DOWN_HYPHEN\": \"orthographe\",\r\n \"TAILOR_MADE_HYPHEN\": \"orthographe\",\r\n \"X_RATED_HYPHEN\": \"orthographe\",\r\n \"DAYTIME\": \"orthographe\",\r\n \"ONE_PAGER_HYPHEN\": \"orthographe\",\r\n \"SECOND_LARGEST_HYPHEN\": \"orthographe\",\r\n \"MILLION_DOLLAR_HYPHEN\": \"orthographe\",\r\n \"FUND_RAISE_HYPHEN\": \"orthographe\",\r\n \"HEAD_TO_HEAD_HYPHEN\": \"orthographe\",\r\n \"WEEK_OVER_WEEK_HYPHEN\": \"orthographe\",\r\n \"ABOVE_MENTIONED\": \"orthographe\",\r\n \"EVERY_BODY\": \"orthographe\",\r\n \"SOME_TIMES\": \"orthographe\",\r\n \"OUT_PERFORM_COMPOUND\": \"orthographe\",\r\n \"WELL_WISH_HYPHEN\": \"orthographe\",\r\n \"TRUE_CRIME_HYPHEN\": \"orthographe\",\r\n \"ON_OFF_HYPHEN\": \"orthographe\",\r\n \"VERB_NOUN_CONFUSION\": \"orthographe\",\r\n \"CLICK_THROUGH_RATE\": \"orthographe\",\r\n \"SCORE_COMPOUNDS\": \"orthographe\",\r\n \"PRESIDENT_ELECT\": \"orthographe\",\r\n \"STAND_UP_HYPHEN\": \"orthographe\",\r\n \"LEFT_OVER_COMPOUND\": \"orthographe\",\r\n \"VIDEO_TAPE_COMPOUND\": \"orthographe\",\r\n \"MID_HYPHEN\": \"orthographe\",\r\n \"DROP_IN_NN\": \"orthographe\",\r\n \"ASTRA_ZENECA\": \"orthographe\",\r\n \"HOUSE_HYPHEN\": \"orthographe\",\r\n \"NO_FLY_ZONE_HYPHEN\": \"orthographe\",\r\n \"NO_FAULT_HYPHEN\": \"orthographe\",\r\n \"FORCE_FEED_HYPHEN\": \"orthographe\",\r\n \"HAND_FULL_COMPOUND\": \"orthographe\",\r\n \"DO_OVER_HYPHEN\": \"orthographe\",\r\n \"MAKE_OVER_COMPOUND\": \"orthographe\",\r\n \"NOTE_TAKING_HYPHEN\": \"orthographe\",\r\n \"HEART_BROKEN_COMPOUND\": \"orthographe\",\r\n \"DOG_EAT_DOG_HYPHEN\": \"orthographe\",\r\n \"ROLL_OUT_HYPHEN\": \"orthographe\",\r\n \"BORN_HYPHEN\": \"orthographe\",\r\n \"ON_PAGE_HYPHEN\": \"orthographe\",\r\n \"SIGN_UP_HYPHEN\": \"orthographe\",\r\n \"CHECK_BOX_COMPOUND\": \"orthographe\",\r\n \"SIGN_IN_HYPHEN\": \"syntaxe\",\r\n \"ANOTHER_DATE\": \"syntaxe\",\r\n \"THIS_VB_DT\": \"syntaxe\",\r\n \"QUALITY_PARTITIVE_SINGULAR\": \"syntaxe\",\r\n \"I_NO_GOOD\": \"syntaxe\",\r\n \"SIMILAR_LIKE\": \"syntaxe\",\r\n \"FOR_WHATEVER_REASONS\": \"syntaxe\",\r\n \"WITH_EXCEPTION_OF\": \"syntaxe\",\r\n \"THE_CC\": \"syntaxe\",\r\n \"SENTENCE_END_CONTRACT\": \"syntaxe\",\r\n \"DOUBLE_AUX\": \"syntaxe\",\r\n \"WH_AUX_PROPER_NOUN_AGR\": \"syntaxe\",\r\n \"HAS_TO_APPROVED_BY\": \"syntaxe\",\r\n \"TAG_QUESTIONS_SVA\": \"syntaxe\",\r\n \"WH_AUX_PRONOUN_AGR\": \"syntaxe\",\r\n \"WH_AUX_THIS_THAT\": \"syntaxe\",\r\n \"A_NNS_AND\": \"syntaxe\",\r\n \"CD_DAY_WEEK\": \"syntaxe\",\r\n \"PLEASE_TO_INFORM\": \"syntaxe\",\r\n \"SINGLES_DAY\": \"syntaxe\",\r\n \"YEARS_OLD\": \"syntaxe\",\r\n \"COPD\": \"syntaxe\",\r\n \"NOUN_APOSTROPHE_S_VERB\": \"syntaxe\",\r\n \"SINGULAR_NOUN_ADV_AGREEMENT\": \"syntaxe\",\r\n \"ALL_OF_SUDDEN\": \"syntaxe\",\r\n \"AS_WELL_AS_AGREEMENT\": \"syntaxe\",\r\n \"BODY_TISSUE_UNCOUNTABLE\": \"syntaxe\",\r\n \"BACHELORS\": \"syntaxe\",\r\n \"ONE_YEARS_OLD\": \"syntaxe\",\r\n \"PCT_PLURAL_NOUN_SINGULAR_VERB_AGREEMENT\": \"syntaxe\",\r\n \"PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT\": \"syntaxe\",\r\n \"IS_AND_ARE\": \"syntaxe\",\r\n \"ASIDE\": \"syntaxe\",\r\n \"ONE_OF_THE_MISSING_SUPERLATIVE\": \"syntaxe\",\r\n \"HOW_TO_IT\": \"syntaxe\",\r\n \"AVOIDING_TO_INFIN\": \"syntaxe\",\r\n \"DO_NOTHING\": \"syntaxe\",\r\n \"GOOD_EDUCATED\": \"syntaxe\",\r\n \"FALL_IS_AMONG\": \"syntaxe\",\r\n \"GOT_HERE\": \"syntaxe\",\r\n \"CD_OF_MY_FRIEND\": \"syntaxe\",\r\n \"HOW_DOES_THIS_CHANGES\": \"syntaxe\",\r\n \"BEGINNING_TO_ADDING_BROAD\": \"syntaxe\",\r\n \"SHE_LIVE\": \"syntaxe\",\r\n \"BEGINNING_TO_ADDING_NARROW\": \"syntaxe\",\r\n \"CONFUSION_OF_WHEN_WHAT\": \"syntaxe\",\r\n \"NO_DET_NOUN_OF\": \"syntaxe\",\r\n \"THIS_PLURAL_OF\": \"syntaxe\",\r\n \"WANTED_TO_RE_SENT\": \"syntaxe\",\r\n \"WIDE_ACCEPTED\": \"syntaxe\",\r\n \"PAST_AN_PAST\": \"syntaxe\",\r\n \"GET_VBN\": \"syntaxe\",\r\n \"CC_IS_VBZ\": \"syntaxe\",\r\n \"GOING_BE\": \"syntaxe\",\r\n \"BE_NOT_BE_JJ\": \"syntaxe\",\r\n \"EVEN_ALTHOUGH\": \"syntaxe\",\r\n \"THE_WHETHER\": \"syntaxe\",\r\n \"TOMFOOLERY\": \"syntaxe\",\r\n \"KEEP_SEEING\": \"syntaxe\",\r\n \"THANKS_FOR_LET_YOU_KNOW\": \"syntaxe\",\r\n \"A_DISCOVER\": \"syntaxe\",\r\n \"OF_ALL_PLURAL\": \"syntaxe\",\r\n \"EVERYTHING_WENT_GOOD\": \"syntaxe\",\r\n \"PERFECT_TENSE_SINCE\": \"syntaxe\",\r\n \"THANK_YOUR\": \"syntaxe\",\r\n \"MD_JJ\": \"syntaxe\",\r\n \"SOON_OR_LATER\": \"syntaxe\",\r\n \"IN_WEBSITE\": \"syntaxe\",\r\n \"PROFITS_WARNINGS\": \"syntaxe\",\r\n \"NNP_AGREEMENT\": \"syntaxe\",\r\n \"DIDN_T_BEEN_SOLVED\": \"syntaxe\",\r\n \"NICE_TOO_ME\": \"syntaxe\",\r\n \"COMPOUND_NNP_AGREEMENT\": \"syntaxe\",\r\n \"LIKE_THIS_AGREEMENT\": \"syntaxe\",\r\n \"NNS_OF_SINGULAR_AGREEMENT\": \"syntaxe\",\r\n \"SUBJECT_NUMBER\": \"syntaxe\",\r\n \"WHAT_ARE_TALKING_ABOUT\": \"syntaxe\",\r\n \"PLURAL_THAT_AGREEMENT\": \"syntaxe\",\r\n \"YOU_KIDDING\": \"syntaxe\",\r\n \"IN_WINDOWS\": \"syntaxe\",\r\n \"RUBIKS_CUBE\": \"syntaxe\",\r\n \"LATER_LATTER\": \"syntaxe\",\r\n \"UKRAINE_NO_THE\": \"syntaxe\",\r\n \"DO_YOU_FASCINATED\": \"syntaxe\",\r\n \"EVEN_THOU\": \"syntaxe\",\r\n \"MORE_NN\": \"syntaxe\",\r\n \"TAKE_SOMETIME\": \"syntaxe\",\r\n \"DO_IT_SOMETIME\": \"syntaxe\",\r\n \"PHRASAL_VERB_SOMETIME\": \"syntaxe\",\r\n \"SOME_TIME_SOMETIMES\": \"syntaxe\",\r\n \"WHO_S_NN_VB\": \"syntaxe\",\r\n \"THAT_S_WHAT_S\": \"syntaxe\",\r\n \"PROOFED_PROVED\": \"syntaxe\",\r\n \"ANY_WAY_TO_VB\": \"syntaxe\",\r\n \"IS_POSSIBLE_TO\": \"syntaxe\",\r\n \"WHERE_YOU_FROM\": \"syntaxe\",\r\n \"ADDITIONAL\": \"syntaxe\",\r\n \"UNDOS\": \"syntaxe\",\r\n \"SIGN_IN\": \"syntaxe\",\r\n \"SINGED_CONTRACT\": \"syntaxe\",\r\n \"THE_SOME\": \"syntaxe\",\r\n \"IT_HAS_WORK_FOR\": \"syntaxe\",\r\n \"THOUSANDS_OF_NN\": \"syntaxe\",\r\n \"AFFECTS\": \"syntaxe\",\r\n \"IT_TIME_TO\": \"syntaxe\",\r\n \"HOW_MANY_Q_AGREEMENT\": \"syntaxe\",\r\n \"ON_THE_LOOK_OUT\": \"syntaxe\",\r\n \"ARE_WE_HAVE\": \"syntaxe\",\r\n \"THERE_IS_A_LOT_OF\": \"syntaxe\",\r\n \"AS_DISCUSS\": \"syntaxe\",\r\n \"AS_SAD\": \"syntaxe\",\r\n \"AS_MENTION\": \"syntaxe\",\r\n \"UNKNOWN_HAVE_ITS\": \"syntaxe\",\r\n \"I_AM_VB\": \"syntaxe\",\r\n \"THIS_IS_HAVE\": \"syntaxe\",\r\n \"IF_YOU_FURTHER_QUESTIONS\": \"syntaxe\",\r\n \"WHAT_IS_REASON\": \"syntaxe\",\r\n \"NNS_THAT_VBZ\": \"syntaxe\",\r\n \"DID_YOU_HAVE_VBN\": \"syntaxe\",\r\n \"CC_NNP_VBP\": \"syntaxe\",\r\n \"DOB_T\": \"syntaxe\",\r\n \"FOR_INCONVENIENCE\": \"syntaxe\",\r\n \"HELP_NP_VBZ\": \"syntaxe\",\r\n \"EITHER_OF_THE_NN\": \"syntaxe\",\r\n \"WHERE_MD_VB\": \"syntaxe\",\r\n \"FOR_VB\": \"syntaxe\",\r\n \"SPOKED\": \"syntaxe\",\r\n \"TO_FRESH_UP\": \"syntaxe\",\r\n \"PLEASE_NOT_VB\": \"syntaxe\",\r\n \"STARTING_DOING\": \"syntaxe\",\r\n \"TYPO_FORM_FROM\": \"syntaxe\",\r\n \"NNS_THAT_AGREEMENT\": \"syntaxe\",\r\n \"MISSING_VERB_AFTER_WHAT\": \"syntaxe\",\r\n \"PLAY_ED\": \"syntaxe\",\r\n \"LOOK_FORWARD_TO\": \"syntaxe\",\r\n \"ITS_TO_IT_S\": \"syntaxe\",\r\n \"WIEN\": \"syntaxe\",\r\n \"BAYERN\": \"syntaxe\",\r\n \"SUBJECT_VERB_AGREEMENT\": \"syntaxe\",\r\n \"SUBJECT_VERB_AGREEMENT_PLURAL\": \"syntaxe\",\r\n \"LIMITED_TO\": \"syntaxe\",\r\n \"REPEATED_VERBS\": \"syntaxe\",\r\n \"NO_PROBLEM_ET_AL\": \"syntaxe\",\r\n \"A_FEEDBACK\": \"syntaxe\",\r\n \"DO_XX_MD_VB\": \"syntaxe\",\r\n \"NOT_NEVER\": \"syntaxe\",\r\n \"ONTO_ON_TO\": \"syntaxe\",\r\n \"EXCITED_FOR\": \"syntaxe\",\r\n \"PRE_AND_POST_NN\": \"syntaxe\",\r\n \"HAVE_FOLLOWING_NN\": \"syntaxe\",\r\n \"I_DONT_DT\": \"syntaxe\",\r\n \"CAN_I_VBD\": \"syntaxe\",\r\n \"LET_IT_INFINITIVE\": \"syntaxe\",\r\n \"BE_AWARE_OF\": \"syntaxe\",\r\n \"PRP_REPITION\": \"syntaxe\",\r\n \"SOME_TIMES_TIME\": \"syntaxe\",\r\n \"A_RB_A_JJ_NN\": \"syntaxe\",\r\n \"I_ME\": \"syntaxe\",\r\n \"AND_BUT\": \"syntaxe\",\r\n \"NOT_LONGER\": \"syntaxe\",\r\n \"A_HEADS_UP\": \"syntaxe\",\r\n \"IN_A_TROUBLE\": \"syntaxe\",\r\n \"PLEASE_TO_MEET_YOU\": \"syntaxe\",\r\n \"IF_VB\": \"syntaxe\",\r\n \"WOLFS\": \"syntaxe\",\r\n \"TO_ALL_INTENTS_AND_PURPOSES\": \"syntaxe\",\r\n \"THANK_IN_ADVANCE\": \"syntaxe\",\r\n \"NOUN_VERB_CONFUSION\": \"syntaxe\",\r\n \"QUESTION_WITHOUT_VERB\": \"syntaxe\",\r\n \"WANT_TO_NN\": \"syntaxe\",\r\n \"THIS_CD\": \"syntaxe\",\r\n \"STAID\": \"syntaxe\",\r\n \"IS_VBZ\": \"syntaxe\",\r\n \"DO_MAKE_PRP_VBG\": \"syntaxe\",\r\n \"SEASONS_GREETINGS\": \"syntaxe\",\r\n \"I_NOT_JJ\": \"syntaxe\",\r\n \"PLEASE_BE_VB\": \"syntaxe\",\r\n \"I_M_MD\": \"syntaxe\",\r\n \"WAS_THERE_MANY\": \"syntaxe\",\r\n \"FIRSTLY_OF_ALL\": \"syntaxe\",\r\n \"NN_NOT_JJ\": \"syntaxe\",\r\n \"THIS_MISSING_VERB\": \"syntaxe\",\r\n \"THANKS_YOUR\": \"syntaxe\",\r\n \"DIDN_T_SAW\": \"syntaxe\",\r\n \"DIDN_T_SPOKE\": \"syntaxe\",\r\n \"ALL_NN\": \"syntaxe\",\r\n \"AS_IS_VBG\": \"syntaxe\",\r\n \"IN_TO_VBD\": \"syntaxe\",\r\n \"WHAT_TO_VBD\": \"syntaxe\",\r\n \"THIS_TOOLS\": \"syntaxe\",\r\n \"THIS_TWO_MEN\": \"syntaxe\",\r\n \"WHAT_DID_VBD\": \"syntaxe\",\r\n \"WHAT_DO_THAT\": \"syntaxe\",\r\n \"IS_RB_BE\": \"syntaxe\",\r\n \"LADIES_AND_GENTLEMAN\": \"syntaxe\",\r\n \"IN_LOVED_WITH\": \"syntaxe\",\r\n \"THERE_MISSING_VERB\": \"syntaxe\",\r\n \"PRP_VB_VB_TO\": \"syntaxe\",\r\n \"SEEMING_SEEMS\": \"syntaxe\",\r\n \"BE_HAVENT\": \"syntaxe\",\r\n \"NONE_THE_LESS\": \"syntaxe\",\r\n \"MISSING_TO_BETWEEN_BE_AND_VB\": \"syntaxe\",\r\n \"HER_S\": \"syntaxe\",\r\n \"THEIR_S\": \"syntaxe\",\r\n \"SOFTWARES\": \"syntaxe\",\r\n \"HARDWARES\": \"syntaxe\",\r\n \"HE_VE\": \"syntaxe\",\r\n \"HE_D_VBD\": \"syntaxe\",\r\n \"GINI_COEFFICIENT\": \"syntaxe\",\r\n \"HOMO_ERECTUS\": \"syntaxe\",\r\n \"HOMO_SAPIENS\": \"syntaxe\",\r\n \"MOLOTOV_COCKTAIL\": \"syntaxe\",\r\n \"MD_WON_T\": \"syntaxe\",\r\n \"AGREEMENT_SENT_START_2\": \"syntaxe\",\r\n \"A_TO\": \"syntaxe\",\r\n \"HAVE_HAVE\": \"syntaxe\",\r\n \"BORN_IN\": \"syntaxe\",\r\n \"IN_WEEKDAY\": \"syntaxe\",\r\n \"THANK_FULL\": \"syntaxe\",\r\n \"PRE_YEAR_HYPHEN\": \"syntaxe\",\r\n \"A_OK\": \"syntaxe\",\r\n \"NNP_BASED\": \"syntaxe\",\r\n \"SUPPOSE_TO\": \"syntaxe\",\r\n \"WHAT_IS_YOU\": \"syntaxe\",\r\n \"HOW_DO_I_VB\": \"syntaxe\",\r\n \"NEE\": \"syntaxe\",\r\n \"AMERICANO\": \"syntaxe\",\r\n \"MD_NO_VB\": \"syntaxe\",\r\n \"HAVE_NO_VB\": \"syntaxe\",\r\n \"BE_NO_VB\": \"syntaxe\",\r\n \"DO_NO_VB\": \"syntaxe\",\r\n \"PRP_NO_VB\": \"syntaxe\",\r\n \"IN_SANE\": \"syntaxe\",\r\n \"A_CAPPELLA\": \"syntaxe\",\r\n \"PLEASE_VB\": \"syntaxe\",\r\n \"I_MA\": \"syntaxe\",\r\n \"YOU_RE_AREN_T\": \"syntaxe\",\r\n \"FULL_FILL\": \"syntaxe\",\r\n \"U_RE\": \"syntaxe\",\r\n \"YOU_R\": \"syntaxe\",\r\n \"PERSONA_NON_GRATA\": \"syntaxe\",\r\n \"LED\": \"syntaxe\",\r\n \"SLOW_MO\": \"syntaxe\",\r\n \"LIKELY_HOOD\": \"syntaxe\",\r\n \"PICK_UP_COMPOUND\": \"syntaxe\",\r\n \"SHOW_COMPOUNDS\": \"syntaxe\",\r\n \"DAY_DREAM_COMPOUND\": \"syntaxe\",\r\n \"TAIL_GATE_COMPOUND\": \"syntaxe\",\r\n \"CAR_POOL_COMPOUND\": \"syntaxe\",\r\n \"BE_COMPOUNDS\": \"syntaxe\",\r\n \"PROOF_COMPOUNDS\": \"syntaxe\",\r\n \"HAND_CUFF_COMPOUND\": \"syntaxe\",\r\n \"BREAKING_COMPOUNDS\": \"syntaxe\",\r\n \"HARD_WORKING_COMPOUND\": \"syntaxe\",\r\n \"UNDER_COVER_COMPOUND\": \"syntaxe\",\r\n \"WOULD_BE_JJ_VB\": \"syntaxe\",\r\n \"OKEY_DOKEY\": \"syntaxe\",\r\n \"DON_T_AREN_T\": \"syntaxe\",\r\n \"WON_T_TO\": \"syntaxe\",\r\n \"OF_ALL_TIMES\": \"syntaxe\",\r\n \"IN_THE_MEAN_TIME_PHRASE\": \"syntaxe\",\r\n \"IN_TERM_OF_PHRASE\": \"syntaxe\",\r\n \"IN_THE_LONG_TERMS\": \"syntaxe\",\r\n \"COULDVE\": \"syntaxe\",\r\n \"THAT_VERY_COOL\": \"syntaxe\",\r\n \"THAT_SOUND_GREAT\": \"syntaxe\",\r\n \"SOUND_GREAT\": \"syntaxe\",\r\n \"EDITOR_IN_CHIEF_HYPHEN\": \"syntaxe\",\r\n \"LATE_TERM_HYPHEN\": \"syntaxe\",\r\n \"MIAMI_DADE_HYPHEN\": \"syntaxe\",\r\n \"HARLEY_DAVIDSON_HYPHEN\": \"syntaxe\",\r\n \"SLUT_SHAME_HYPHEN\": \"syntaxe\",\r\n \"PROBLEM_SOLVE_HYPHEN\": \"syntaxe\",\r\n \"DOUBLE_HYPHEN\": \"syntaxe\",\r\n \"DAY_TRADE_HYPHEN\": \"syntaxe\",\r\n \"ROLE_PLAY_HYPHEN\": \"syntaxe\",\r\n \"ROLLER_SKATE_HYPHEN\": \"syntaxe\",\r\n \"STRONG_ARM_HYPHEN\": \"syntaxe\",\r\n \"DEAD_LIFT_COMPOUND\": \"syntaxe\",\r\n \"GUILT_TRIP_HYPHEN\": \"syntaxe\",\r\n \"DAISY_CHAIN_HYPHEN\": \"syntaxe\",\r\n \"CLEAR_CUT_HYPHEN\": \"syntaxe\",\r\n \"CLICK_HYPHEN\": \"syntaxe\",\r\n \"OTHER_WISE_COMPOUND\": \"syntaxe\",\r\n \"FURTHER_MORE_COMPOUND\": \"syntaxe\",\r\n \"FINE_TUNE_COMPOUNDS\": \"syntaxe\",\r\n \"CROSS_COMPOUNDS\": \"syntaxe\",\r\n \"DOG_COMPOUNDS\": \"syntaxe\",\r\n \"ROOM_COMPOUNDS\": \"syntaxe\",\r\n \"BALL_COMPOUNDS\": \"syntaxe\",\r\n \"CYBER_COMPOUNDS\": \"syntaxe\",\r\n \"STEP_COMPOUNDS\": \"syntaxe\",\r\n \"BOX_COMPOUNDS\": \"syntaxe\",\r\n \"SUIT_COMPOUNDS\": \"syntaxe\",\r\n \"BREAST_COMPOUNDS\": \"syntaxe\",\r\n \"LONG_COMPOUNDS\": \"syntaxe\",\r\n \"NOTE_COMPOUNDS\": \"syntaxe\",\r\n \"EYE_COMPOUNDS\": \"syntaxe\",\r\n \"LIGHT_COMPOUNDS\": \"syntaxe\",\r\n \"SIDE_COMPOUNDS\": \"syntaxe\",\r\n \"THUNDER_COMPOUNDS\": \"syntaxe\",\r\n \"DROP_SHIP_HYPHEN\": \"syntaxe\",\r\n \"ON_COMPOUNDS\": \"syntaxe\",\r\n \"HEAD_COMPOUNDS\": \"syntaxe\",\r\n \"MATE_COMPOUNDS\": \"syntaxe\",\r\n \"MAN_COMPOUNDS\": \"syntaxe\",\r\n \"WOMAN_COMPOUNDS\": \"syntaxe\",\r\n \"PRINT_COMPOUNDS\": \"syntaxe\",\r\n \"SHELL_COMPOUNDS\": \"syntaxe\",\r\n \"LINE_COMPOUNDS\": \"syntaxe\",\r\n \"OWNER_COMPOUNDS\": \"syntaxe\",\r\n \"LAW_COMPOUNDS\": \"syntaxe\",\r\n \"HOOD_COMPOUNDS\": \"syntaxe\",\r\n \"MARK_COMPOUNDS\": \"syntaxe\",\r\n \"FRIEND_COMPOUNDS\": \"syntaxe\",\r\n \"WORTHY_COMPOUNDS\": \"syntaxe\",\r\n \"COUNTER_COMPOUNDS\": \"syntaxe\",\r\n \"YARD_COMPOUNDS\": \"syntaxe\",\r\n \"HAND_COMPOUNDS\": \"syntaxe\",\r\n \"SPACE_COMPOUNDS\": \"syntaxe\",\r\n \"WHOLE_COMPOUNDS\": \"syntaxe\",\r\n \"WARE_COMPOUNDS\": \"syntaxe\",\r\n \"HAIR_COMPOUNDS\": \"syntaxe\",\r\n \"PLACE_COMPOUNDS\": \"syntaxe\",\r\n \"DOOR_COMPOUNDS\": \"syntaxe\",\r\n \"UP_COMPOUNDS\": \"syntaxe\",\r\n \"DOWN_COMPOUNDS\": \"syntaxe\",\r\n \"ACHE_COMPOUNDS\": \"syntaxe\",\r\n \"OUT_COMPOUNDS\": \"syntaxe\",\r\n \"HOW_COMPOUNDS\": \"syntaxe\",\r\n \"LAND_COMPOUNDS\": \"syntaxe\",\r\n \"HOME_COMPOUNDS\": \"syntaxe\",\r\n \"HOUSE_COMPOUNDS\": \"syntaxe\",\r\n \"BACK_COMPOUNDS\": \"syntaxe\",\r\n \"WRITER_COMPOUNDS\": \"syntaxe\",\r\n \"WORKER_COMPOUNDS\": \"syntaxe\",\r\n \"MAKER_COMPOUNDS\": \"syntaxe\",\r\n \"FIGHTER_COMPOUNDS\": \"syntaxe\",\r\n \"ROLL_COMPOUNDS\": \"syntaxe\",\r\n \"KEEPER_COMPOUNDS\": \"syntaxe\",\r\n \"PER_USER_BASIS_HYPHEN\": \"syntaxe\",\r\n \"KNOW_IT_ALL_HYPHEN\": \"syntaxe\",\r\n \"KICK_START_HYPHEN\": \"syntaxe\",\r\n \"SUBJECT_MATTER_HYPHEN\": \"syntaxe\",\r\n \"OFF_KEY_HYPHEN\": \"syntaxe\",\r\n \"SUPER_COMPOUNDS\": \"syntaxe\",\r\n \"STAIRS_COMPOUNDS\": \"syntaxe\",\r\n \"TAIL_COMPOUNDS\": \"syntaxe\",\r\n \"NEWS_COMPOUNDS\": \"syntaxe\",\r\n \"WIDE_COMPOUNDS\": \"syntaxe\",\r\n \"MOTOR_COMPOUNDS\": \"syntaxe\",\r\n \"SMART_COMPOUNDS\": \"syntaxe\",\r\n \"SKY_COMPOUNDS\": \"syntaxe\",\r\n \"WAY_COMPOUNDS\": \"syntaxe\",\r\n \"HOLDER_COMPOUNDS\": \"syntaxe\",\r\n \"HOLE_COMPOUNDS\": \"syntaxe\",\r\n \"BREAKER_COMPOUNDS\": \"syntaxe\",\r\n \"LIFE_COMPOUNDS\": \"syntaxe\",\r\n \"SHIP_COMPOUNDS\": \"syntaxe\",\r\n \"WHEEL_COMPOUNDS\": \"syntaxe\",\r\n \"SEA_COMPOUNDS\": \"syntaxe\",\r\n \"WEB_COMPOUNDS\": \"syntaxe\",\r\n \"AIR_COMPOUNDS\": \"syntaxe\",\r\n \"RAIN_COMPOUNDS\": \"syntaxe\",\r\n \"NOW_ARE_THE_TIME\": \"syntaxe\",\r\n \"IN_THIS_REGARDS\": \"syntaxe\",\r\n \"BUENOS_DIAS\": \"syntaxe\",\r\n \"AFTERMARKET\": \"syntaxe\",\r\n \"HAPPY_EASTER\": \"syntaxe\",\r\n \"SPIDERMAN\": \"syntaxe\",\r\n \"AIRCRAFTS\": \"syntaxe\",\r\n \"MAKE_UP\": \"syntaxe\",\r\n \"UNDER_COMPOUNDS\": \"syntaxe\",\r\n \"HITCH_HIKE_COMPOUNDS\": \"syntaxe\",\r\n \"OVER_COMPOUNDS\": \"syntaxe\",\r\n \"FEED_BACK\": \"syntaxe\",\r\n \"FREQUENT_ASKED_QUESTIONS\": \"syntaxe\",\r\n \"WORK_AROUND_COMPOUND\": \"syntaxe\",\r\n \"YOUR_LOVES_ONES\": \"syntaxe\",\r\n \"WELL_KNOWN\": \"syntaxe\",\r\n \"BE_COME\": \"syntaxe\",\r\n \"GOING_TO_JJ\": \"syntaxe\",\r\n \"BE_DONT\": \"syntaxe\",\r\n \"BE_RB_BE\": \"syntaxe\",\r\n \"PEDAL_TO_THE_METAL\": \"syntaxe\",\r\n \"HAVE_RB_HAVE\": \"syntaxe\",\r\n \"MD_IT_JJ\": \"syntaxe\",\r\n \"IDK\": \"syntaxe\",\r\n \"MOST_OF_THE_TIMES\": \"syntaxe\",\r\n \"A_IT_MORE\": \"syntaxe\",\r\n \"IF_IT_OK_FOR\": \"syntaxe\",\r\n \"IT_IT\": \"syntaxe\",\r\n \"IT_ITS\": \"syntaxe\",\r\n \"WUD_LIKE\": \"syntaxe\",\r\n \"PRP_ILL_VB\": \"syntaxe\",\r\n \"PRP_THE\": \"syntaxe\",\r\n \"PRP_JJ\": \"syntaxe\",\r\n \"PRP_MAYBE_JJ\": \"syntaxe\",\r\n \"PRP_RB_JJ\": \"syntaxe\",\r\n \"IF_VB_PCT\": \"syntaxe\",\r\n \"KIND_REGARD\": \"syntaxe\",\r\n \"SPLITTED\": \"syntaxe\",\r\n \"CHOOSED\": \"syntaxe\",\r\n \"BIDDED\": \"syntaxe\",\r\n \"STRIKED\": \"syntaxe\",\r\n \"CASTED\": \"syntaxe\",\r\n \"BENDED\": \"syntaxe\",\r\n \"JAILBREAKED\": \"syntaxe\",\r\n \"WROTE\": \"syntaxe\",\r\n \"TO_RB_TO_VB\": \"syntaxe\",\r\n \"MD_ABLE\": \"syntaxe\",\r\n \"TO_ABLE\": \"syntaxe\",\r\n \"PRP_ABLE_TO\": \"syntaxe\",\r\n \"ABLE_VBP\": \"syntaxe\",\r\n \"YOU_GOOD\": \"syntaxe\",\r\n \"CAN_ANYTHING\": \"syntaxe\",\r\n \"IF_YOU_ANY\": \"syntaxe\",\r\n \"PRP_MD_NN\": \"syntaxe\",\r\n \"THAT_S_YOU_RE\": \"syntaxe\",\r\n \"BE_TO_VBG\": \"syntaxe\",\r\n \"TO_JJR_THAN\": \"syntaxe\",\r\n \"MANY_TIME\": \"syntaxe\",\r\n \"COPY_PASTE\": \"syntaxe\",\r\n \"STATE_OF_THE_UNION\": \"syntaxe\",\r\n \"A_BIT\": \"syntaxe\",\r\n \"A_BIT_OF\": \"syntaxe\",\r\n \"BUNCH_OF\": \"syntaxe\",\r\n \"CONDITIONAL_CLAUSE\": \"syntaxe\",\r\n \"LOWERCASE_MONTHS\": \"syntaxe\",\r\n \"GETTED\": \"syntaxe\",\r\n \"LET_OBJECT\": \"syntaxe\",\r\n \"ASK_NO_PREPOSITION\": \"syntaxe\",\r\n \"BE_IS\": \"syntaxe\",\r\n \"BE_WILL\": \"syntaxe\",\r\n \"CAN_ABLE_TO\": \"syntaxe\",\r\n \"RELY_ON\": \"syntaxe\",\r\n \"ALLOW_TO_DO\": \"syntaxe\",\r\n \"EXPLAIN_TO\": \"syntaxe\",\r\n \"DEPEND_ON\": \"syntaxe\",\r\n \"THANKS_IN_ADVANCED\": \"syntaxe\",\r\n \"AND_END\": \"syntaxe\",\r\n \"GRADUATE_FROM\": \"syntaxe\",\r\n \"ALL_MOST_SOME_OF_NOUN\": \"syntaxe\",\r\n \"WHO_VERB\": \"syntaxe\",\r\n \"IF_THERE\": \"syntaxe\",\r\n \"DO_YOU_WHAT\": \"syntaxe\",\r\n \"DONT_WHAT\": \"syntaxe\",\r\n \"CAN_WHAT\": \"syntaxe\",\r\n \"OBJECTIVE_CASE\": \"syntaxe\",\r\n \"POSSESSIVE_CASE\": \"syntaxe\",\r\n \"WRONG_PRP_AT_SENT_START\": \"syntaxe\",\r\n \"TOO_ADJECTIVE_TO\": \"syntaxe\",\r\n \"BASE_FORM\": \"syntaxe\",\r\n \"TWO_CONNECTED_MODAL_VERBS\": \"syntaxe\",\r\n \"COLLECTIVE_NOUN_VERB_AGREEMENT_VBP\": \"syntaxe\",\r\n \"POKEMON\": \"syntaxe\",\r\n \"POKEMONS\": \"syntaxe\",\r\n \"POKEMON_GO\": \"syntaxe\",\r\n \"COLLECTIVE_NOUN_VERB_AGREEMENT_VBD\": \"syntaxe\",\r\n \"SINGULAR_VERB_AFTER_THESE_OR_THOSE\": \"syntaxe\",\r\n \"PLURAL_VERB_AFTER_THIS\": \"syntaxe\",\r\n \"THIS_NNS_VB\": \"syntaxe\",\r\n \"ONE_OF\": \"syntaxe\",\r\n \"PEOPLE_VBZ\": \"syntaxe\",\r\n \"WE_RB_ARE_VB\": \"syntaxe\",\r\n \"SOME_FACULTY\": \"syntaxe\",\r\n \"NEITHER_NOR\": \"syntaxe\",\r\n \"EITHER_NOR\": \"syntaxe\",\r\n \"IS_EVEN_WORST\": \"syntaxe\",\r\n \"JJS_OF_ALL_OTHER\": \"syntaxe\",\r\n \"SOME_NN_VBP\": \"syntaxe\",\r\n \"IS_CAUSE_BY\": \"syntaxe\",\r\n \"BE_INTEREST_IN\": \"syntaxe\",\r\n \"TOO_EITHER\": \"syntaxe\",\r\n \"PREFER_TO_VBG\": \"syntaxe\",\r\n \"VE_HAVING\": \"syntaxe\",\r\n \"HAVE_HAVING\": \"syntaxe\",\r\n \"PRP_MD_CD_IN\": \"syntaxe\",\r\n \"AM_I\": \"syntaxe\",\r\n \"SHOULD_BE_DO\": \"syntaxe\",\r\n \"MUST_BE_DO\": \"syntaxe\",\r\n \"NEEDNT_TO_DO_AND_DONT_NEED_DO\": \"syntaxe\",\r\n \"IT_IS_JJ_TO_VBG\": \"syntaxe\",\r\n \"BE_USE_TO_DO\": \"syntaxe\",\r\n \"AT_TIME\": \"syntaxe\",\r\n \"HAPPEN_TO\": \"syntaxe\",\r\n \"DISCUSS_ABOUT\": \"syntaxe\",\r\n \"ON_ADDITION\": \"syntaxe\",\r\n \"LEARN_NNNNS_ON_DO\": \"syntaxe\",\r\n \"ESSENTIAL_ESSENTIALLY\": \"syntaxe\",\r\n \"GAVE_GIVE\": \"syntaxe\",\r\n \"TO_WITHDRAWN\": \"syntaxe\",\r\n \"AFFORD_VB\": \"syntaxe\",\r\n \"BE_FOND_TO\": \"syntaxe\",\r\n \"MANY_KINDS_OF\": \"syntaxe\",\r\n \"THE_NN_AND_THE_NN\": \"syntaxe\",\r\n \"ARRIVE_NNP\": \"syntaxe\",\r\n \"WILL_LIKE_TO\": \"syntaxe\",\r\n \"WHO_NOUN\": \"syntaxe\",\r\n \"THEY_WARE\": \"syntaxe\",\r\n \"A_STOKE\": \"syntaxe\",\r\n \"A_INFINITIVE\": \"syntaxe\",\r\n \"THE_HOT_DOG\": \"syntaxe\",\r\n \"THE_WELSH\": \"syntaxe\",\r\n \"A_SCISSOR\": \"syntaxe\",\r\n \"IN_A_HARRY\": \"syntaxe\",\r\n \"A_BLESS_DAY\": \"syntaxe\",\r\n \"CC_VERB\": \"syntaxe\",\r\n \"THE_BUILT\": \"syntaxe\",\r\n \"MUST_HAVE\": \"syntaxe\",\r\n \"WOLD_WOULD\": \"syntaxe\",\r\n \"HE_SEAS\": \"syntaxe\",\r\n \"YOU_HAV\": \"syntaxe\",\r\n \"THE_ARE\": \"syntaxe\",\r\n \"AN_ARE\": \"syntaxe\",\r\n \"THE_THEY\": \"syntaxe\",\r\n \"COD_CODE\": \"syntaxe\",\r\n \"A_HAVE_VBN\": \"syntaxe\",\r\n \"HAVE_A_VBN\": \"syntaxe\",\r\n \"EVER_DAY\": \"syntaxe\",\r\n \"EVER_NN\": \"syntaxe\",\r\n \"WANT_ONE\": \"syntaxe\",\r\n \"HIGH_LIGHT\": \"syntaxe\",\r\n \"THE_HEADQUARTER\": \"syntaxe\",\r\n \"SPEAK_SPEECH\": \"syntaxe\",\r\n \"BEG_BAG\": \"syntaxe\",\r\n \"HEAVE_USE_OF\": \"syntaxe\",\r\n \"A_COMPLAIN\": \"syntaxe\",\r\n \"COMPLAINT_COMPLAINED\": \"syntaxe\",\r\n \"IS_THERE_ANY_NNS\": \"syntaxe\",\r\n \"AN_VB_PRP\": \"syntaxe\",\r\n \"THE_THIRD_PARTY\": \"syntaxe\",\r\n \"PREPOSITION_VERB\": \"syntaxe\",\r\n \"THE_ADD_ON\": \"syntaxe\",\r\n \"A_INSTALL\": \"syntaxe\",\r\n \"GAMEBOY\": \"syntaxe\",\r\n \"FOX_NEWS\": \"syntaxe\",\r\n \"WHITE_HOUSE\": \"syntaxe\",\r\n \"PRESIDENT_TRUMP\": \"syntaxe\",\r\n \"MARKDOWN_NNP\": \"syntaxe\",\r\n \"A_GOOGLE\": \"syntaxe\",\r\n \"GOGGLE_GOOGLE\": \"syntaxe\",\r\n \"TWITTER\": \"syntaxe\",\r\n \"ON_SKYPE\": \"syntaxe\",\r\n \"ON_EXCEL\": \"syntaxe\",\r\n \"GOOGLE_PRODUCTS\": \"syntaxe\",\r\n \"OPERA_BROWSER\": \"syntaxe\",\r\n \"NORTH_POLE\": \"syntaxe\",\r\n \"SPACEX\": \"syntaxe\",\r\n \"BON_APPETITE\": \"syntaxe\",\r\n \"APPLE_PRODUCTS\": \"syntaxe\",\r\n \"MAC_OS\": \"syntaxe\",\r\n \"MICROSOFT_PRODUCTS\": \"syntaxe\",\r\n \"VITAMIN_C\": \"syntaxe\",\r\n \"COVID_19\": \"syntaxe\",\r\n \"WALTER_REED\": \"syntaxe\",\r\n \"JOHNS_HOPKINS_UNIVERSITY\": \"syntaxe\",\r\n \"POWER_SHELL\": \"syntaxe\",\r\n \"BEST_BUY\": \"syntaxe\",\r\n \"G_MAIL\": \"syntaxe\",\r\n \"HARPERS_BAZAAR\": \"syntaxe\",\r\n \"SCHINDLERS_LIST\": \"syntaxe\",\r\n \"EDGAR_ALLAN_POE\": \"syntaxe\",\r\n \"WHATS_APP\": \"syntaxe\",\r\n \"CHAT_GPT\": \"syntaxe\",\r\n \"HERBERT_DIES\": \"syntaxe\",\r\n \"EIFFEL_TOWER\": \"syntaxe\",\r\n \"GIT_HUB\": \"syntaxe\",\r\n \"LEROY_SANE\": \"syntaxe\",\r\n \"CARNEGIE_MELLON\": \"syntaxe\",\r\n \"AIR_BNB\": \"syntaxe\",\r\n \"CALL_OF_DUTY\": \"syntaxe\",\r\n \"BARACK_OBAMA\": \"syntaxe\",\r\n \"WERNHER_VON_BRAUN\": \"syntaxe\",\r\n \"JENNIFER_ANISTON\": \"syntaxe\",\r\n \"RINGO_STARR\": \"syntaxe\",\r\n \"SALVADOR_DALI\": \"syntaxe\",\r\n \"RONALD_REAGAN\": \"syntaxe\",\r\n \"T_REX\": \"syntaxe\",\r\n \"JESUS_CHRIS\": \"syntaxe\",\r\n \"SANTA_CLAUS\": \"syntaxe\",\r\n \"LITHIUM_ION\": \"syntaxe\",\r\n \"BLACK_LIVES_MATTER\": \"syntaxe\",\r\n \"JAVA_SCRIPT\": \"syntaxe\",\r\n \"YOU_TUBE\": \"syntaxe\",\r\n \"PAY_PAL\": \"syntaxe\",\r\n \"KAMA_SUTRA\": \"syntaxe\",\r\n \"COCA_COLA\": \"syntaxe\",\r\n \"Z_WAVE\": \"syntaxe\",\r\n \"LONG_ISLAND_ICED_TEA\": \"syntaxe\",\r\n \"GREYS_ANATOMY\": \"syntaxe\",\r\n \"COLD_PLAY\": \"syntaxe\",\r\n \"ASSASSINS_CREED\": \"syntaxe\",\r\n \"MERCEDES_BENZ\": \"syntaxe\",\r\n \"MERRIAM_WEBSTER\": \"syntaxe\",\r\n \"SAINT_TROPEZ\": \"syntaxe\",\r\n \"ROLLS_ROYCE\": \"syntaxe\",\r\n \"ALKA_SELTZER\": \"syntaxe\",\r\n \"BAND_AID\": \"syntaxe\",\r\n \"JAY_Z\": \"syntaxe\",\r\n \"OBJECTIVE_C\": \"syntaxe\",\r\n \"DELTA_AIRLINES\": \"syntaxe\",\r\n \"BIT_COIN\": \"syntaxe\",\r\n \"SEVEN_ELEVEN\": \"syntaxe\",\r\n \"BOEING_737_MAX\": \"syntaxe\",\r\n \"APRIL_FOOLS\": \"syntaxe\",\r\n \"COTE_D_AZUR\": \"syntaxe\",\r\n \"MCDONALDS\": \"syntaxe\",\r\n \"SCHITTS_CREEK\": \"syntaxe\",\r\n \"QUEENS_GAMBIT\": \"syntaxe\",\r\n \"SAMS_CLUB\": \"syntaxe\",\r\n \"MOORES_LAW\": \"syntaxe\",\r\n \"VICTORIAS_SECRET\": \"syntaxe\",\r\n \"LOCKHEED_MARTIN\": \"syntaxe\",\r\n \"JACK_DANIELS\": \"syntaxe\",\r\n \"KINGS_COLLEGE\": \"syntaxe\",\r\n \"DOMINOS_PIZZA\": \"syntaxe\",\r\n \"TRAVELERS_CHECK\": \"syntaxe\",\r\n \"UNCLE_BENS\": \"syntaxe\",\r\n \"KELLOGGS\": \"syntaxe\",\r\n \"WENDYS\": \"syntaxe\",\r\n \"SAINSBURYS\": \"syntaxe\",\r\n \"SAO_PAOLO\": \"syntaxe\",\r\n \"ERDOGAN\": \"syntaxe\",\r\n \"SUPER_TUESDAY\": \"syntaxe\",\r\n \"EARL_GREY\": \"syntaxe\",\r\n \"FORREST_GUMP\": \"syntaxe\",\r\n \"NEW_ZEELAND\": \"syntaxe\",\r\n \"LEHMANN_BROTHERS\": \"syntaxe\",\r\n \"LOREAL\": \"syntaxe\",\r\n \"FEDEX\": \"syntaxe\",\r\n \"CAP_CORAL\": \"syntaxe\",\r\n \"LOS_ANGELS\": \"syntaxe\",\r\n \"JONG_UN\": \"syntaxe\",\r\n \"TIK_TOK\": \"syntaxe\",\r\n \"SOCIETE_GENERALE\": \"syntaxe\",\r\n \"NDRANGHETA\": \"syntaxe\",\r\n \"VON_DER_LEYEN\": \"syntaxe\",\r\n \"EMMANUEL_MACRON\": \"syntaxe\",\r\n \"RED_NOSED_REINDEER\": \"syntaxe\",\r\n \"A_WINDOWS\": \"syntaxe\",\r\n \"A_SNICKERS\": \"syntaxe\",\r\n \"DUNKIN_DONUTS\": \"syntaxe\",\r\n \"MAR_A_LAGO\": \"syntaxe\",\r\n \"A_ATTACH\": \"syntaxe\",\r\n \"A_THANK_YOU\": \"syntaxe\",\r\n \"WORK_LIFE_BALANCE\": \"syntaxe\",\r\n \"ONE_NIGHT_STAND_HYPHEN\": \"syntaxe\",\r\n \"ONE_TERM_PRESIDENT_HYPHEN\": \"syntaxe\",\r\n \"TOP_DOWN_HYPHEN\": \"syntaxe\",\r\n \"TOSS_UP_HYPHEN\": \"syntaxe\",\r\n \"HANDS_ON_HYPHEN\": \"syntaxe\",\r\n \"ONE_STOP_HYPHEN\": \"syntaxe\",\r\n \"MAIL_IN_HYPHEN\": \"syntaxe\",\r\n \"OUT_OF_POCKET_HYPHEN\": \"syntaxe\",\r\n \"SOON_TO_BE_HYPHEN\": \"syntaxe\",\r\n \"WAKE_UP_HYPHEN\": \"syntaxe\",\r\n \"ONE_TO_MANY_HYPHEN\": \"syntaxe\",\r\n \"PUSH_UP_HYPHEN\": \"syntaxe\",\r\n \"IN_APP_HYPHEN\": \"syntaxe\",\r\n \"RUNNER_UP_HYPHEN\": \"syntaxe\",\r\n \"HOW_TO_HYPHEN\": \"syntaxe\",\r\n \"LOW_HANGING_FRUIT_HYPHEN\": \"syntaxe\",\r\n \"RUN_ON_HYPHEN\": \"syntaxe\",\r\n \"BUTTON_UP_HYPHEN\": \"syntaxe\",\r\n \"HIGH_END_HYPHEN\": \"syntaxe\",\r\n \"SAME_SEX_HYPHEN\": \"syntaxe\",\r\n \"LOW_COST_HYPHEN\": \"syntaxe\",\r\n \"OPEN_PLAN_HYPHEN\": \"syntaxe\",\r\n \"ENGINED_HYPHEN\": \"syntaxe\",\r\n \"MUCH_NEEDED_HYPHEN\": \"syntaxe\",\r\n \"DRY_ERASE_HYPHEN\": \"syntaxe\",\r\n \"MILE_HYPHEN\": \"syntaxe\",\r\n \"PERSON_HYPHEN\": \"syntaxe\",\r\n \"END_TO_END_HYPHEN\": \"syntaxe\",\r\n \"SO_CALLED_HYPHEN\": \"syntaxe\",\r\n \"FIRST_PERSON_SHOOTER\": \"syntaxe\",\r\n \"SET_TOP_BOX_HYPHEN\": \"syntaxe\",\r\n \"PRIME_TIME_HYPHEN\": \"syntaxe\",\r\n \"FACT_CHECK_HYPHEN\": \"syntaxe\",\r\n \"IN_EAR_HYPHEN\": \"syntaxe\",\r\n \"STEP_BY_STEP_HYPHEN\": \"syntaxe\",\r\n \"OPEN_HEART_HYPHEN\": \"syntaxe\",\r\n \"ALL_KNOWING_HYPHEN\": \"syntaxe\",\r\n \"ALL_TIME_HYPHEN\": \"syntaxe\",\r\n \"ALL_GIRLS_HYPHEN\": \"syntaxe\",\r\n \"ALL_WHEEL\": \"syntaxe\",\r\n \"ALL_IN_ONE_HYPHEN\": \"syntaxe\",\r\n \"AFRO_AMERICAN_HYPHEN\": \"syntaxe\",\r\n \"ZERO_DAY_EXPLOIT_HYPHEN\": \"syntaxe\",\r\n \"DAY_TO_DAY_HYPHEN\": \"syntaxe\",\r\n \"TAKEAWAY\": \"syntaxe\",\r\n \"ANTI_AMERICAN_HYPHEN\": \"syntaxe\",\r\n \"NO_GO_HYPHEN\": \"syntaxe\",\r\n \"LOGGED_IN_HYPHEN\": \"syntaxe\",\r\n \"CATCH_ALL_HYPHEN\": \"syntaxe\",\r\n \"BUILT_IN_HYPHEN\": \"syntaxe\",\r\n \"ALL_YOU_CAN_EAT_HYPHEN\": \"syntaxe\",\r\n \"GO_TO_HYPHEN\": \"syntaxe\",\r\n \"OPT_IN_HYPHEN\": \"syntaxe\",\r\n \"PASSWORD_PROTECTED_HYPHEN\": \"syntaxe\",\r\n \"DOUBLE_CLICK_HYPHEN\": \"syntaxe\",\r\n \"HANDOVER\": \"syntaxe\",\r\n \"SHUTDOWN\": \"syntaxe\",\r\n \"OPEN_OFFICE\": \"syntaxe\",\r\n \"MANEGE\": \"syntaxe\",\r\n \"COMPERE\": \"syntaxe\",\r\n \"MATERIEL\": \"syntaxe\",\r\n \"BARCA_DIACRITIC\": \"syntaxe\",\r\n \"RE_DO_COMPOUND\": \"syntaxe\",\r\n \"TO_DO_HYPHEN\": \"syntaxe\",\r\n \"DO_IT_YOURSELF_HYPHEN\": \"syntaxe\",\r\n \"SIMPLE_TO_USE_HYPHEN\": \"syntaxe\",\r\n \"CALL_TO_ACTION_HYPHEN\": \"syntaxe\",\r\n \"WRITE_UP_HYPHEN\": \"syntaxe\",\r\n \"THOUGH_THOUGHT\": \"syntaxe\",\r\n \"MAN_MADE\": \"syntaxe\",\r\n \"OPERATION_SYSTEM\": \"syntaxe\",\r\n \"HOVER_BOARD\": \"syntaxe\",\r\n \"AREA_51\": \"syntaxe\",\r\n \"YA_LL\": \"syntaxe\",\r\n \"BE_FINED_WITH\": \"syntaxe\",\r\n \"VERY_THANKS_THANKS_A_LOT\": \"syntaxe\",\r\n \"BETWEEN_PRP\": \"syntaxe\",\r\n \"IN_WHO\": \"syntaxe\",\r\n \"IF_WOULD_HAVE_VBN\": \"syntaxe\",\r\n \"FEWER_LESS\": \"syntaxe\",\r\n \"DOES_YOU\": \"syntaxe\",\r\n \"DO_VBZ\": \"syntaxe\",\r\n \"DO_VBZ_AMBIGUOUS_VERB\": \"syntaxe\",\r\n \"MD_BE_NON_VBP\": \"syntaxe\",\r\n \"DOES_NP_VBZ\": \"syntaxe\",\r\n \"WHAT_VBZ\": \"syntaxe\",\r\n \"IT_VBZ\": \"syntaxe\",\r\n \"DID_PAST\": \"syntaxe\",\r\n \"ADVERB_VERB_ADVERB_REPETITION\": \"syntaxe\",\r\n \"GOING_TO_VBD\": \"syntaxe\",\r\n \"NON_ACTION_CONTINUOUS\": \"syntaxe\",\r\n \"ON_FIRST_GLANCE\": \"syntaxe\",\r\n \"CONGRATULATIONS_FOR\": \"syntaxe\",\r\n \"DONT_NEEDS\": \"syntaxe\",\r\n \"DOES_X_HAS\": \"syntaxe\",\r\n \"A_QUITE_WHILE\": \"syntaxe\",\r\n \"DT_RB_IN\": \"syntaxe\",\r\n \"A_RB_NN\": \"syntaxe\",\r\n \"WANT_THAT_I\": \"syntaxe\",\r\n \"THE_SENT_END\": \"syntaxe\",\r\n \"THE_PUNCT\": \"syntaxe\",\r\n \"PRP_RB_NO_VB\": \"syntaxe\",\r\n \"DONT_WILL\": \"syntaxe\",\r\n \"WAS_BEEN\": \"syntaxe\",\r\n \"LETS_DONT\": \"syntaxe\",\r\n \"THESE_ONES\": \"syntaxe\",\r\n \"EACH_EVERY_NNS\": \"syntaxe\",\r\n \"A_INFORMATION\": \"syntaxe\",\r\n \"SINGULAR_AGREEMENT_SENT_START\": \"syntaxe\",\r\n \"AGREEMENT_SENT_START\": \"syntaxe\",\r\n \"AGREEMENT_QUESTION\": \"syntaxe\",\r\n \"A_HUNDREDS\": \"syntaxe\",\r\n \"COUPLE_OF_TIMES\": \"syntaxe\",\r\n \"A_NUMBER_NNS\": \"syntaxe\",\r\n \"A_CD_NNS\": \"syntaxe\",\r\n \"A_NNS\": \"syntaxe\",\r\n \"ONE_PLURAL\": \"syntaxe\",\r\n \"DIE_DICE\": \"syntaxe\",\r\n \"ESPECIALLY\": \"syntaxe\",\r\n \"FOOT_FEET\": \"syntaxe\",\r\n \"MAN_MEN\": \"syntaxe\",\r\n \"WOMAN_WOMEN\": \"syntaxe\",\r\n \"HAVE_TWITTER\": \"syntaxe\",\r\n \"PRP_HAVE_VB\": \"syntaxe\",\r\n \"HAVE_PART_AGREEMENT\": \"syntaxe\",\r\n \"BE_PART_AGREEMENT_2\": \"syntaxe\",\r\n \"CONFUSION_RIDE_RIGHT\": \"syntaxe\",\r\n \"BE_VBP_IN\": \"syntaxe\",\r\n \"BEEN_PART_AGREEMENT\": \"syntaxe\",\r\n \"MASS_AGREEMENT\": \"syntaxe\",\r\n \"RELATIVE_CLAUSE_AGREEMENT\": \"syntaxe\",\r\n \"AS_WILL_AS\": \"syntaxe\",\r\n \"PERS_PRONOUN_AGREEMENT\": \"syntaxe\",\r\n \"TAKE_IT_PERSONAL\": \"syntaxe\",\r\n \"I_PERSONAL\": \"syntaxe\",\r\n \"PRONOUN_NOUN\": \"syntaxe\",\r\n \"TO_NON_BASE\": \"syntaxe\",\r\n \"MANY_FEW_UNCOUNTABLE\": \"syntaxe\",\r\n \"A_UNCOUNTABLE\": \"syntaxe\",\r\n \"MOST_SOME_OF_NNS\": \"syntaxe\",\r\n \"HAVE_A_BREAKFAST\": \"syntaxe\",\r\n \"IN_1990s\": \"syntaxe\",\r\n \"IN_PAST\": \"syntaxe\",\r\n \"ALLOW_TO\": \"syntaxe\",\r\n \"AFFORD_VBG\": \"syntaxe\",\r\n \"ADMIT_ENJOY_VB\": \"syntaxe\",\r\n \"ADVISE_VBG\": \"syntaxe\",\r\n \"PROGRESSIVE_VERBS\": \"syntaxe\",\r\n \"IT_IS_DEPENDING_ON\": \"syntaxe\",\r\n \"INCORRECT_POSSESSIVE_APOSTROPHE\": \"syntaxe\",\r\n \"THIS_NNS\": \"syntaxe\",\r\n \"A_MUCH_NN1\": \"syntaxe\",\r\n \"SUPERLATIVE_THAN\": \"syntaxe\",\r\n \"SUPERIOR_THAN_TO\": \"syntaxe\",\r\n \"THE_WORSE_OF\": \"syntaxe\",\r\n \"MOST_SUPERLATIVE\": \"syntaxe\",\r\n \"MOST_COMPARATIVE\": \"syntaxe\",\r\n \"LESS_COMPARATIVE\": \"syntaxe\",\r\n \"LEAST_COMPARATIVE\": \"syntaxe\",\r\n \"WORLDS_BEST\": \"syntaxe\",\r\n \"THE_SUPERLATIVE\": \"syntaxe\",\r\n \"DETERMINER_GEOGRAPHICAL_WORD\": \"syntaxe\",\r\n \"SHORT_COMPARATIVES\": \"syntaxe\",\r\n \"SHORT_SUPERLATIVES\": \"syntaxe\",\r\n \"WILL_BECOMING\": \"syntaxe\",\r\n \"WILL_BASED_ON\": \"syntaxe\",\r\n \"WOULD_NEVER_VBN\": \"syntaxe\",\r\n \"MD_BASEFORM\": \"syntaxe\",\r\n \"DID_BASEFORM\": \"syntaxe\",\r\n \"DID_FOUND_AMBIGUOUS_2\": \"syntaxe\",\r\n \"MUST_HAVE_TO\": \"syntaxe\",\r\n \"AS_ADJ_AS\": \"syntaxe\",\r\n \"THE_SAME_AS\": \"syntaxe\",\r\n \"EAGER_TO\": \"syntaxe\",\r\n \"COMP_THAN\": \"syntaxe\",\r\n \"MISSING_PAST_TENSE\": \"syntaxe\",\r\n \"USE_TO_VERB\": \"syntaxe\",\r\n \"MORE_A_JJ\": \"syntaxe\",\r\n \"ORDER_OF_WORDS_WITH_NOT\": \"syntaxe\",\r\n \"NON3PRS_VERB\": \"syntaxe\",\r\n \"OUGHT_SAY\": \"syntaxe\",\r\n \"NOTHING_SUCH_AS\": \"syntaxe\",\r\n \"DO_ANYONE\": \"syntaxe\",\r\n \"DO_HE_VERB\": \"syntaxe\",\r\n \"WHEN_IS_NNP_AND_NNP\": \"syntaxe\",\r\n \"WAS_IS\": \"syntaxe\",\r\n \"IS_WAS\": \"syntaxe\",\r\n \"IS_OWN\": \"syntaxe\",\r\n \"DIDINT\": \"syntaxe\",\r\n \"DIDENT\": \"syntaxe\",\r\n \"PRP_DINT\": \"syntaxe\",\r\n \"I_EM\": \"syntaxe\",\r\n \"ANI_T\": \"syntaxe\",\r\n \"PRP_ANIT\": \"syntaxe\",\r\n \"PRP_HAVES\": \"syntaxe\",\r\n \"PRP_FOND\": \"syntaxe\",\r\n \"PRP_WONT\": \"syntaxe\",\r\n \"PRP_SUITES\": \"syntaxe\",\r\n \"PRP_MUS\": \"syntaxe\",\r\n \"PRP_NEDS\": \"syntaxe\",\r\n \"PRP_DELT\": \"syntaxe\",\r\n \"PRP_GOS\": \"syntaxe\",\r\n \"PRP_HAFT\": \"syntaxe\",\r\n \"PRP_DOS\": \"syntaxe\",\r\n \"PRP_DRYS\": \"syntaxe\",\r\n \"YOUR_RE\": \"syntaxe\",\r\n \"A_MD_VB\": \"syntaxe\",\r\n \"PRP_NOWS\": \"syntaxe\",\r\n \"WENT\": \"syntaxe\",\r\n \"PRP_PORTRAIT\": \"syntaxe\",\r\n \"PRP_WUS\": \"syntaxe\",\r\n \"PRP_BOUGH\": \"syntaxe\",\r\n \"HE_HIS\": \"syntaxe\",\r\n \"PRP_SOOTHS\": \"syntaxe\",\r\n \"PRP_SAIS\": \"syntaxe\",\r\n \"PRP_KNOWNS\": \"syntaxe\",\r\n \"CANN_T\": \"syntaxe\",\r\n \"DONN_T\": \"syntaxe\",\r\n \"MUSN_T\": \"syntaxe\",\r\n \"COUD_T\": \"syntaxe\",\r\n \"COUN_T\": \"syntaxe\",\r\n \"WOUN_T\": \"syntaxe\",\r\n \"ISEN_T\": \"syntaxe\",\r\n \"ARN_T\": \"syntaxe\",\r\n \"WASEN_T\": \"syntaxe\",\r\n \"WASENT\": \"syntaxe\",\r\n \"DOESENT\": \"syntaxe\",\r\n \"DONS_T\": \"syntaxe\",\r\n \"PRP_DON\": \"syntaxe\",\r\n \"PRP_DOCENT\": \"syntaxe\",\r\n \"PRP_MIGHT\": \"syntaxe\",\r\n \"DOS\": \"syntaxe\",\r\n \"DOSNT\": \"syntaxe\",\r\n \"HAVNT\": \"syntaxe\",\r\n \"NED_NEED\": \"syntaxe\",\r\n \"IES_IZE\": \"syntaxe\",\r\n \"BENTS_BENDS\": \"syntaxe\",\r\n \"EMPHASIS_EMPHASIZE\": \"syntaxe\",\r\n \"BELIVE_BELIEVE\": \"syntaxe\",\r\n \"HOW_YOU_DOING\": \"syntaxe\",\r\n \"PRP_VBG\": \"syntaxe\",\r\n \"HE_NEED\": \"syntaxe\",\r\n \"HE_LIKE\": \"syntaxe\",\r\n \"HE_VERB_AGR\": \"syntaxe\",\r\n \"I_BORN\": \"syntaxe\",\r\n \"PRP_PAST_PART\": \"syntaxe\",\r\n \"HAS_OUGHT\": \"syntaxe\",\r\n \"EQUALLY_AS\": \"syntaxe\",\r\n \"IF_OR_NOT\": \"syntaxe\",\r\n \"KIND_OF_A\": \"syntaxe\",\r\n \"BECAUSE_OF_I\": \"syntaxe\",\r\n \"CAUSE_BECAUSE\": \"syntaxe\",\r\n \"PAYED\": \"syntaxe\",\r\n \"BOTH_AS_WELL_AS\": \"syntaxe\",\r\n \"ACCORDING_TO_ME\": \"syntaxe\",\r\n \"AFRAID_OF_HEIGHT\": \"syntaxe\",\r\n \"I_AFRAID\": \"syntaxe\",\r\n \"DOES_XX_CAN\": \"syntaxe\",\r\n \"THERE_S_MANY\": \"syntaxe\",\r\n \"THERE_RE_MANY\": \"syntaxe\",\r\n \"THERE_WAS_MANY\": \"syntaxe\",\r\n \"A_LOT_OF_NN\": \"syntaxe\",\r\n \"A_COLLECTIVE_OF_NN\": \"syntaxe\",\r\n \"LOTS_OF_NN\": \"syntaxe\",\r\n \"STARS_AND_STEPS\": \"syntaxe\",\r\n \"HAD_TOO\": \"syntaxe\",\r\n \"HAD_TWO\": \"syntaxe\",\r\n \"TEN_FOLD\": \"syntaxe\",\r\n \"FACTOR_HYPHEN\": \"syntaxe\",\r\n \"EASY_GOING_HYPHEN\": \"syntaxe\",\r\n \"RED_LIGHT_HYPHEN\": \"syntaxe\",\r\n \"MONEY_BACK_HYPHEN\": \"syntaxe\",\r\n \"WEEK_LONG_HYPHEN\": \"syntaxe\",\r\n \"HANDS_FREE_HYPHEN\": \"syntaxe\",\r\n \"BARE_BONES_HYPHEN\": \"syntaxe\",\r\n \"GUEST_EDIT_HYPHEN\": \"syntaxe\",\r\n \"LIFE_CHANGING_HYPHEN\": \"syntaxe\",\r\n \"POST_IT_NOTE_HYPHEN\": \"syntaxe\",\r\n \"BIT_HYPHEN\": \"syntaxe\",\r\n \"ROOM_APARTMENT_HYPHEN\": \"syntaxe\",\r\n \"DOOR_HYPHEN\": \"syntaxe\",\r\n \"STORY_HYPHEN\": \"syntaxe\",\r\n \"FOUR_SEASON_HYPHEN\": \"syntaxe\",\r\n \"HOUR_HYPHEN\": \"syntaxe\",\r\n \"WEEK_HYPHEN\": \"syntaxe\",\r\n \"MONTH_HYPHEN\": \"syntaxe\",\r\n \"YEAR_HYPHEN\": \"syntaxe\",\r\n \"FIGURE_HYPHEN\": \"syntaxe\",\r\n \"CYLINDER_HYPHEN\": \"syntaxe\",\r\n \"CAR_HYPHEN\": \"syntaxe\",\r\n \"DEGREE_HYPHEN\": \"syntaxe\",\r\n \"PIECE_HYPHEN\": \"syntaxe\",\r\n \"CARAT_HYPHEN\": \"syntaxe\",\r\n \"WHEEL_HYPHEN\": \"syntaxe\",\r\n \"COURSE_HYPHEN\": \"syntaxe\",\r\n \"INCH_HYPHEN\": \"syntaxe\",\r\n \"HEADED_HYPHEN\": \"syntaxe\",\r\n \"SEAT_HYPHEN\": \"syntaxe\",\r\n \"YARD_HYPHEN\": \"syntaxe\",\r\n \"WORD_ESSAY_HYPHEN\": \"syntaxe\",\r\n \"BUY_TWO_GET_ONE_FREE\": \"syntaxe\",\r\n \"AT_CD_CLOCK\": \"syntaxe\",\r\n \"CD_NN\": \"syntaxe\",\r\n \"TH_CENTURY\": \"syntaxe\",\r\n \"INCORRECT_POSSESSIVE_FORM_AFTER_A_NUMBER\": \"syntaxe\",\r\n \"CD_DOZENS_OF\": \"syntaxe\",\r\n \"NODT_DOZEN\": \"syntaxe\",\r\n \"MUCH_COUNTABLE\": \"syntaxe\",\r\n \"MANY_NN\": \"syntaxe\",\r\n \"DT_JJ_NO_NOUN\": \"syntaxe\",\r\n \"MANY_NN_U\": \"syntaxe\",\r\n \"DOUBLE_NEGATIVE\": \"syntaxe\",\r\n \"TIP_AND_TRICK\": \"syntaxe\",\r\n \"AD_AND\": \"syntaxe\",\r\n \"GOOD_GOOF\": \"syntaxe\",\r\n \"FOR_MY\": \"syntaxe\",\r\n \"EXCEPTION_PREPOSITION_THE_RULE\": \"syntaxe\",\r\n \"REGARDING_TO\": \"syntaxe\",\r\n \"ARTICLE_ADJECTIVE_OF\": \"syntaxe\",\r\n \"LOSE_LIVES\": \"syntaxe\",\r\n \"MEAN_FOR_TO\": \"syntaxe\",\r\n \"BEWARE_PREPOSITION\": \"syntaxe\",\r\n \"THE_BEST_WAY\": \"syntaxe\",\r\n \"THE_MOST\": \"syntaxe\",\r\n \"EVERY_EACH_SINGULAR\": \"syntaxe\",\r\n \"EACH_OTHERS\": \"syntaxe\",\r\n \"SIGN_INTO\": \"syntaxe\",\r\n \"ACCUSTOMED_TO\": \"syntaxe\",\r\n \"INSPIRED_WITH\": \"syntaxe\",\r\n \"MISSING_NOUN\": \"syntaxe\",\r\n \"MISSING_ARTICLE\": \"syntaxe\",\r\n \"BE_I_BE_GERUND\": \"syntaxe\",\r\n \"DESPITE_OF\": \"syntaxe\",\r\n \"DT_DT\": \"syntaxe\",\r\n \"THE_US\": \"syntaxe\",\r\n \"THE_IT\": \"syntaxe\",\r\n \"DT_PRP\": \"syntaxe\",\r\n \"AN_ANOTHER\": \"syntaxe\",\r\n \"FIRST_SERVED\": \"syntaxe\",\r\n \"SHOE_IN\": \"syntaxe\",\r\n \"PROSTRATE_PROSTATE\": \"syntaxe\",\r\n \"WORSE_WORST\": \"syntaxe\",\r\n \"WORST_WORSE\": \"syntaxe\",\r\n \"KNOT_NOT\": \"syntaxe\",\r\n \"PHRASE_REPETITION\": \"syntaxe\",\r\n \"ACCORDING_TO\": \"syntaxe\",\r\n \"GOOD_WELL\": \"syntaxe\",\r\n \"WEEK_END\": \"syntaxe\",\r\n \"AFTER_NOON\": \"syntaxe\",\r\n \"THERE_AFTER\": \"syntaxe\",\r\n \"CA_BRAND_NEW\": \"syntaxe\",\r\n \"CA_BRICK_RED\": \"syntaxe\",\r\n \"CA_BUG_EYED\": \"syntaxe\",\r\n \"CA_CARD_CARRYING\": \"syntaxe\",\r\n \"CA_COAST_TO_COAST\": \"syntaxe\",\r\n \"CA_COOLING_OFF\": \"syntaxe\",\r\n \"CA_CUT_AND_PASTE\": \"syntaxe\",\r\n \"CA_CUT_THROAT\": \"syntaxe\",\r\n \"CA_DO_OR_DIE\": \"syntaxe\",\r\n \"CA_DOWN_AND_OUT\": \"syntaxe\",\r\n \"CA_DUAL_PURPOSE\": \"syntaxe\",\r\n \"CA_DUTY_FREE\": \"syntaxe\",\r\n \"CA_EAGLE_EYED\": \"syntaxe\",\r\n \"CA_EYE_CATCHING\": \"syntaxe\",\r\n \"CA_FIRST_HAND\": \"syntaxe\",\r\n \"CA_FLY_BY_NIGHT\": \"syntaxe\",\r\n \"CA_FOLLOW_UP\": \"syntaxe\",\r\n \"CA_HAND_TO_HAND\": \"syntaxe\",\r\n \"CA_HEAVY_DUTY\": \"syntaxe\",\r\n \"CA_KNIFE_EDGE\": \"syntaxe\",\r\n \"CA_MOM_AND_POP\": \"syntaxe\",\r\n \"CA_NEW_LOOK\": \"syntaxe\",\r\n \"CA_OUT_OF_BODY\": \"syntaxe\",\r\n \"CA_RAGS_TO_RICHES\": \"syntaxe\",\r\n \"CA_WALL_TO_WALL\": \"syntaxe\",\r\n \"MISSING_APOSTROPHE_T\": \"syntaxe\",\r\n \"THANKS_GIVING\": \"syntaxe\",\r\n \"PRP_CUSTOM_BUILD\": \"syntaxe\",\r\n \"PRP_VB\": \"syntaxe\",\r\n \"SEVERAL_OTHER\": \"syntaxe\",\r\n \"VE_DIDNT\": \"syntaxe\",\r\n \"ADVERB_OR_HYPHENATED_ADJECTIVE\": \"syntaxe\",\r\n \"AUXILIARY_DO_WITH_INCORRECT_VERB_FORM\": \"syntaxe\",\r\n \"ANYMORE_ADVERB\": \"syntaxe\",\r\n \"HUNDREDS_OF_THOUSAND\": \"syntaxe\",\r\n \"NNS_IN_NNP_VBZ\": \"syntaxe\",\r\n \"MISSING_TO_BEFORE_A_VERB\": \"syntaxe\",\r\n \"THERE_VBP_NN\": \"syntaxe\",\r\n \"CRAVE_FOR\": \"syntaxe\",\r\n \"OPEN_TO_PAGE\": \"syntaxe\",\r\n \"MISSING_PREP_KNOCK_ON_DOOR\": \"syntaxe\",\r\n \"LIES_THEY_SAY\": \"syntaxe\",\r\n \"IN_THE_RECENT_YEARS_IN_RECENT_YEARS\": \"syntaxe\",\r\n \"TAKE_INTO_ACCOUNT\": \"syntaxe\",\r\n \"BETTER_SAFE_THAN_SORRY\": \"syntaxe\",\r\n \"TO_WHO_IT_MAY_CONCERN\": \"syntaxe\",\r\n \"SALAAM_ALAIKUM\": \"syntaxe\",\r\n \"DID_A_MISTAKE\": \"syntaxe\",\r\n \"HAVE_CD_YEARS\": \"syntaxe\",\r\n \"IN_NOWADAYS\": \"syntaxe\",\r\n \"SUPERIOR_THAN\": \"syntaxe\",\r\n \"OBVIOUS_FOR\": \"syntaxe\",\r\n \"TODAY_MORNING\": \"syntaxe\",\r\n \"YESTERDAY_NIGHT\": \"syntaxe\",\r\n \"TODAY_NIGHT\": \"syntaxe\",\r\n \"WORRY_FOR\": \"syntaxe\",\r\n \"SINKING_HIP\": \"syntaxe\",\r\n \"APPLY_TO\": \"syntaxe\",\r\n \"APPLY_FOR\": \"syntaxe\",\r\n \"VERB_IN_AT\": \"syntaxe\",\r\n \"BETWEEN_TO_AND\": \"syntaxe\",\r\n \"WELL_IN_ON\": \"syntaxe\",\r\n \"ADMITTED_AT_TO\": \"syntaxe\",\r\n \"SUMMON_AT_TO\": \"syntaxe\",\r\n \"IN_THE_INTERNET\": \"syntaxe\",\r\n \"ACCOMPANY_WITH\": \"syntaxe\",\r\n \"PLAY_WITH_FOR\": \"syntaxe\",\r\n \"OPPOSITE_FROM_TO\": \"syntaxe\",\r\n \"MARRY_WITH\": \"syntaxe\",\r\n \"PREFER_OVER_TO\": \"syntaxe\",\r\n \"PREFER_INSTEAD_OF_TO\": \"syntaxe\",\r\n \"TALK_AT_TO\": \"syntaxe\",\r\n \"STRESS_OUT_FOR_OVER\": \"syntaxe\",\r\n \"TIRED_OF_FROM\": \"syntaxe\",\r\n \"REPERCUSSION_WITH_ON\": \"syntaxe\",\r\n \"LOOK_AT_TO\": \"syntaxe\",\r\n \"PASSIONATE_BY_ABOUT\": \"syntaxe\",\r\n \"IN_THE_OUTSIDE\": \"syntaxe\",\r\n \"IN_A_ISLAND\": \"syntaxe\",\r\n \"CRAZY_ON_WITH\": \"syntaxe\",\r\n \"HIDE_OF_FROM\": \"syntaxe\",\r\n \"CONCENTRATE_WITH_ON\": \"syntaxe\",\r\n \"DIFFERENCE_ABOUT_BETWEEN\": \"syntaxe\",\r\n \"IMPORTANT_WITH_TO\": \"syntaxe\",\r\n \"CONSIST_TO_OF\": \"syntaxe\",\r\n \"IN_ON_BIRTHDAY\": \"syntaxe\",\r\n \"PARTICIPATE_TO_IN\": \"syntaxe\",\r\n \"ON_IN_A_MEETING\": \"syntaxe\",\r\n \"IN_AT_THE_MORNING\": \"syntaxe\",\r\n \"IN_ON_A_TEAM\": \"syntaxe\",\r\n \"ADDICTION_TO_OF\": \"syntaxe\",\r\n \"ON_IN_CHARGE_OF\": \"syntaxe\",\r\n \"IN_AT_A_PARTY\": \"syntaxe\",\r\n \"WORK_IN_ON_A_PROJECT\": \"syntaxe\",\r\n \"SUFFER_OF_WITH\": \"syntaxe\",\r\n \"TALK_DOWN_ABOUT_TO\": \"syntaxe\",\r\n \"IN_ON_THE_FOOT\": \"syntaxe\",\r\n \"AT_IN_THE_MORNING\": \"syntaxe\",\r\n \"GET_A_JOB_IN_WITH\": \"syntaxe\",\r\n \"PLAY_GAMES\": \"syntaxe\",\r\n \"DO_ARTS\": \"syntaxe\",\r\n \"GO_GERUND\": \"syntaxe\",\r\n \"DAMAGE_OF_TO\": \"syntaxe\",\r\n \"INTEREST_ABOUT_IN\": \"syntaxe\",\r\n \"VULNERABLE_FROM_TO\": \"syntaxe\",\r\n \"IMITATION_FROM_OF\": \"syntaxe\",\r\n \"OFFERED_IN_AT\": \"syntaxe\",\r\n \"PERSPECTIVES_ABOUT_ON\": \"syntaxe\",\r\n \"VARIETIES_IN_OF\": \"syntaxe\",\r\n \"COVER_BY_IN\": \"syntaxe\",\r\n \"LEAVE_TO_FOR\": \"syntaxe\",\r\n \"DO_HAVE_A_MEETING\": \"syntaxe\",\r\n \"GROWLED_TO_AT\": \"syntaxe\",\r\n \"TO_ON_A_TRIP\": \"syntaxe\",\r\n \"IN_ON_A_TRIP\": \"syntaxe\",\r\n \"THINK_IN_ABOUT\": \"syntaxe\",\r\n \"RESPONSIBLE_OF_FOR\": \"syntaxe\",\r\n \"WAIT_AFTER_FOR\": \"syntaxe\",\r\n \"ON_IN_A_HOSPITAL_BED\": \"syntaxe\",\r\n \"LIVE_FROM_OFF\": \"syntaxe\",\r\n \"ANXIOUS_OF_ABOUT\": \"syntaxe\",\r\n \"BE_ON_IN_SHOCK\": \"syntaxe\",\r\n \"FAR_OF_FROM\": \"syntaxe\",\r\n \"NEAR_FROM_TO\": \"syntaxe\",\r\n \"BLIND_FOR_FROM\": \"syntaxe\",\r\n \"YELL_ON_AT\": \"syntaxe\",\r\n \"TAKING_INTO_CONSIDERATION\": \"syntaxe\",\r\n \"IN_FROM_THE_PERSPECTIVE\": \"syntaxe\",\r\n \"SIT_ON_THE_COURT\": \"syntaxe\",\r\n \"FOLLOW_A_COURSE\": \"syntaxe\",\r\n \"ON_IN_THE_AFTERNOON\": \"syntaxe\",\r\n \"ACCUSE_FOR_OFF\": \"syntaxe\",\r\n \"IN_ON_A_SECRET_MISSION\": \"syntaxe\",\r\n \"LAUGH_OF_AT\": \"syntaxe\",\r\n \"BRING_AT_TO\": \"syntaxe\",\r\n \"ON_FACT\": \"syntaxe\",\r\n \"BRING_PUN_ON_THE_AGENDA\": \"syntaxe\",\r\n \"IN_FRONT_OF\": \"syntaxe\",\r\n \"DEPARTURE_OF_FROM\": \"syntaxe\",\r\n \"LIVE_IN_ON_PLANET\": \"syntaxe\",\r\n \"COUNTLESS_OF\": \"syntaxe\",\r\n \"FED_UP_OF_WITH\": \"syntaxe\",\r\n \"ENTER_IN\": \"syntaxe\",\r\n \"GO_TO_HOME\": \"syntaxe\",\r\n \"CAME_IN_INTO\": \"syntaxe\",\r\n \"ARRIVE_ON_AT_THE_BEACH\": \"syntaxe\",\r\n \"RETURN_AT_HOME\": \"syntaxe\",\r\n \"BE_IN_UNDER_PRESSURE\": \"syntaxe\",\r\n \"ABSORB_AT_IN\": \"syntaxe\",\r\n \"ACCUSE_FOR_OF\": \"syntaxe\",\r\n \"ASHAMED_FROM\": \"syntaxe\",\r\n \"ARRIVE_AT_IN\": \"syntaxe\",\r\n \"ANGRY_WITH_ABOUT\": \"syntaxe\",\r\n \"ACCUSTOM_WITH_TO\": \"syntaxe\",\r\n \"AFRAID_FROM_OF\": \"syntaxe\",\r\n \"ANGRY_AGAINST_WITH\": \"syntaxe\",\r\n \"AIM_ON_AT\": \"syntaxe\",\r\n \"BELIEVE_TO_IN\": \"syntaxe\",\r\n \"BOAST_FOR_OF\": \"syntaxe\",\r\n \"CAREFUL_FOR_WITH\": \"syntaxe\",\r\n \"TRAVEL_WITH_BY\": \"syntaxe\",\r\n \"COMPLAIN_FOR_ABOUT\": \"syntaxe\",\r\n \"COMPOSE_FROM_OF\": \"syntaxe\",\r\n \"CURE_FROM_OF\": \"syntaxe\",\r\n \"DEPRIVE_FROM_OF\": \"syntaxe\",\r\n \"DISAPPOINT_FROM\": \"syntaxe\",\r\n \"DOUBT_FOR_IN\": \"syntaxe\",\r\n \"DRESS_WITH_IN\": \"syntaxe\",\r\n \"FULL_WITH_OF\": \"syntaxe\",\r\n \"RID_FROM_OF\": \"syntaxe\",\r\n \"GLAD_WITH_ABOUT\": \"syntaxe\",\r\n \"GUARD_FROM_AGAINST\": \"syntaxe\",\r\n \"GUILTY_FOR_OF\": \"syntaxe\",\r\n \"INDEPENDENTLY_FROM_OF\": \"syntaxe\",\r\n \"INSIST_ON_GERUND\": \"syntaxe\",\r\n \"INTEREST_FOR_IN\": \"syntaxe\",\r\n \"JEALOUS_FROM_OF\": \"syntaxe\",\r\n \"PHOTO_WITH_HIS_CAT\": \"syntaxe\",\r\n \"IN_THIS_MOMENT\": \"syntaxe\",\r\n \"TIRED_ABOUT_OF\": \"syntaxe\",\r\n \"ADVERTISEMENT_OF_FOR\": \"syntaxe\",\r\n \"STOP_HIM_OF_FROM\": \"syntaxe\",\r\n \"IN_ON_AN_ALBUM\": \"syntaxe\",\r\n \"CURE_AGAINST_FOR\": \"syntaxe\",\r\n \"TO_FOUND_FIND_A_CURE\": \"syntaxe\",\r\n \"DESIRE_ON_FOR\": \"syntaxe\",\r\n \"BROUGHT_THEM_IN_THE_AIRPORT\": \"syntaxe\",\r\n \"CURATOR_OF\": \"syntaxe\",\r\n \"CLOSER_FROM\": \"syntaxe\",\r\n \"A_MY\": \"syntaxe\",\r\n \"ENROLLED_IN_FOR\": \"syntaxe\",\r\n \"STEPS_TO_DO\": \"syntaxe\",\r\n \"GOING_TO_VACATION\": \"syntaxe\",\r\n \"IN_FACEBOOK\": \"syntaxe\",\r\n \"WRITE_IN_MY_OWN_PAGE\": \"syntaxe\",\r\n \"COME_TO_PLANE\": \"syntaxe\",\r\n \"THAT_I_WORK_FOR\": \"syntaxe\",\r\n \"TRAVELED_FOR\": \"syntaxe\",\r\n \"RESPECTFUL_AGAINST\": \"syntaxe\",\r\n \"DISAPPOINTED_OF\": \"syntaxe\",\r\n \"ACCOUNTS_FOR\": \"syntaxe\",\r\n \"ON_THE_NOVEL\": \"syntaxe\",\r\n \"ARRIVED_IN\": \"syntaxe\",\r\n \"MENTION_ABOUT\": \"syntaxe\",\r\n \"ASSOCIATES_TO\": \"syntaxe\",\r\n \"NAMED_IT_AS\": \"syntaxe\",\r\n \"LOT_OF\": \"syntaxe\",\r\n \"INTERESTED_BY\": \"syntaxe\",\r\n \"AT_THE_JOB\": \"syntaxe\",\r\n \"ANALYSIS_ABOUT\": \"syntaxe\",\r\n \"IT_IS_SURE\": \"syntaxe\",\r\n \"SPEND_IT_FOR\": \"syntaxe\",\r\n \"BY_EXAMPLE\": \"syntaxe\",\r\n \"GESTURE_OF_GREETING\": \"syntaxe\",\r\n \"WHAT_WE_CALL_2\": \"syntaxe\",\r\n \"CONSEQUENCES_OF_FOR\": \"syntaxe\",\r\n \"ASK_TO\": \"syntaxe\",\r\n \"AT_IN_THE_KITCHEN\": \"syntaxe\",\r\n \"INVOICE_OF_FOR\": \"syntaxe\",\r\n \"IN_CHARGE_OF_FROM\": \"syntaxe\",\r\n \"FILL_OF_WITH\": \"syntaxe\",\r\n \"LOCATED_ON_AT\": \"syntaxe\",\r\n \"ON_IN_THE_MIDDLE\": \"syntaxe\",\r\n \"ON_IN_THE_CORNER\": \"syntaxe\",\r\n \"ON_IN_THE_CORNER_2\": \"syntaxe\",\r\n \"SIMILAR_LIKE_AS_SOMETHING\": \"syntaxe\",\r\n \"KIND_WITH_TO\": \"syntaxe\",\r\n \"COME_IN_TO\": \"syntaxe\",\r\n \"MOTIVATION_IN_TO\": \"syntaxe\",\r\n \"IN_ON_THE_RIGHT_HAND_SIDE\": \"syntaxe\",\r\n \"IN_AT_THE_TOP\": \"syntaxe\",\r\n \"LUNCH_TO_FOR\": \"syntaxe\",\r\n \"DIFFICULT_TO_ME\": \"syntaxe\",\r\n \"DIVERSITY_OF\": \"syntaxe\",\r\n \"WAITING_MY_PATIENT_FINISH\": \"syntaxe\",\r\n \"RETURN_IN_THE\": \"syntaxe\",\r\n \"DO_A_PARTY\": \"syntaxe\",\r\n \"IN_CHARGE_FOR\": \"syntaxe\",\r\n \"A_TRIP_TO\": \"syntaxe\",\r\n \"LISTEN_TO_MOVIES\": \"syntaxe\",\r\n \"IN_ON_THE_TEAM\": \"syntaxe\",\r\n \"ARRIVAL_TO_THE_HOUSE\": \"syntaxe\",\r\n \"COME_IN_CAR\": \"syntaxe\",\r\n \"ATD_VERBS_TO_COLLOCATION\": \"syntaxe\",\r\n \"NON_ANTI_JJ\": \"syntaxe\",\r\n \"THANK_NNP_PRP\": \"syntaxe\",\r\n \"THANK_THE_NN\": \"syntaxe\",\r\n \"MISSING_PREPOSITION\": \"syntaxe\",\r\n \"GOOD_IN_AT\": \"syntaxe\",\r\n \"GOOD_IN_AT_GERUND\": \"syntaxe\",\r\n \"EXCEPTION_OF_TO\": \"syntaxe\",\r\n \"EAT_ANTIBIOTICS\": \"syntaxe\",\r\n \"COMMA_CLOSING_PARENTHESIS\": \"typographie\",\r\n \"HYPHEN_TO_EN\": \"typographie\",\r\n \"SUPERFLUOUS_OXFORD_ADJACENT\": \"typographie\",\r\n \"OXFORD_NEW_CLAUSE\": \"typographie\",\r\n \"NEITHER_NOR_SUPERFLUOUS_COMMA\": \"typographie\",\r\n \"FINAL_ADVERB_COMMA\": \"typographie\",\r\n \"THEN_WHEN_COMMA\": \"typographie\",\r\n \"HUH_COMMA\": \"typographie\",\r\n \"IF_WE_CANT_COMMA\": \"typographie\",\r\n \"RB_RB_COMMA\": \"typographie\",\r\n \"UH_UH_COMMA\": \"typographie\",\r\n \"OK_OK_COMMA\": \"typographie\",\r\n \"NOWADAYS_COMMA\": \"typographie\",\r\n \"THANKS_SENT_END_COMMA\": \"typographie\",\r\n \"THE_JJR_THE_MORE_COMMA\": \"typographie\",\r\n \"I_FOR_ONE_VB_COMMA\": \"typographie\",\r\n \"SENT_START_JJ_PLEASE_COMMA\": \"typographie\",\r\n \"SENT_START_JJ_THAT_COMMA\": \"typographie\",\r\n \"HAPPY_BIRTHDAY_COMMA\": \"typographie\",\r\n \"PRP_MD_PRP_MD_COMMA\": \"typographie\",\r\n \"COMMA_THANKS\": \"typographie\",\r\n \"ABBREVIATION_PUNCTUATION\": \"typographie\",\r\n \"COMMA_PERIOD\": \"typographie\",\r\n \"E_G\": \"typographie\",\r\n \"I_E\": \"typographie\",\r\n \"QUESTION_MARK\": \"typographie\",\r\n \"NN_CD_NN_CD_COMMA\": \"typographie\",\r\n \"GO_FOR_IT_GIRLS_COMMA\": \"typographie\",\r\n \"GOD_COMMA\": \"typographie\",\r\n \"FOR_GODS_SAKE_COMMA\": \"typographie\",\r\n \"ME_MYSELF_AND_I_COMMA\": \"typographie\",\r\n \"PRP_COMMA\": \"typographie\",\r\n \"FIRST_COME_FIRST_SERVED_COMMA\": \"typographie\",\r\n \"MISSING_COMMA_WITH_NNP\": \"typographie\",\r\n \"MISSING_COMMA_AFTER_INTRODUCTORY_PHRASE\": \"typographie\",\r\n \"INTERJECTIONS_PUNCTUATION\": \"typographie\",\r\n \"COMMA_AFTER_A_MONTH\": \"typographie\",\r\n \"MISSING_COMMA_BETWEEN_DAY_AND_YEAR\": \"typographie\",\r\n \"UNNECESSARY_COMMA\": \"typographie\",\r\n \"MISSING_COMMA_AFTER_WEEKDAY\": \"typographie\",\r\n \"UNLIKELY_OPENING_PUNCTUATION\": \"typographie\",\r\n \"FOR_NOUN_SAKE\": \"typographie\",\r\n \"COMMA_TAG_QUESTION\": \"typographie\",\r\n \"COMMA_COMPOUND_SENTENCE\": \"typographie\",\r\n \"COMMA_COMPOUND_SENTENCE_2\": \"typographie\",\r\n \"COMMA_COMPOUND_SENTENCE_3\": \"typographie\",\r\n \"COMMA_COMPOUND_SENTENCE_4\": \"typographie\",\r\n \"APOS_ARE\": \"typographie\",\r\n \"FRENCH_S\": \"typographie\",\r\n \"STATE_OF_THE_ART\": \"typographie\",\r\n \"OUT_OF_PLACE\": \"typographie\",\r\n \"OUT_OF_THE_WAY\": \"typographie\",\r\n \"NO_SPACE_CLOSING_QUOTE\": \"typographie\",\r\n \"UNIT_SPACE\": \"typographie\",\r\n \"COMMA_AND_NUMBERS\": \"typographie\",\r\n \"EG_SPACE\": \"typographie\",\r\n \"O_CLOCK\": \"typographie\",\r\n \"BY_DEFAULT_COMMA\": \"typographie\",\r\n \"SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA\": \"typographie\",\r\n \"YEAR_OLD_PLURAL\": \"typographie\",\r\n \"YEAR_OLD_HYPHEN\": \"typographie\",\r\n \"MISSING_HYPHEN\": \"typographie\",\r\n \"FACE_FIRST\": \"typographie\",\r\n \"DASH_RULE\": \"typographie\",\r\n \"TWO_HYPHENS\": \"typographie\",\r\n \"ENUMERATION_AND_DASHES\": \"typographie\",\r\n \"NO_COMMA_BEFORE_INDIRECT_QUESTION\": \"typographie\",\r\n \"EXITING_EXCITING\": \"syntaxe\",\r\n \"NON_NONE\": \"syntaxe\",\r\n \"TAN_THAN\": \"syntaxe\",\r\n \"PRINCIPA_PRINCIPL\": \"syntaxe\",\r\n \"THUS_THIS\": \"syntaxe\",\r\n \"BRAN_BRAND\": \"syntaxe\",\r\n \"RAMSTEIN_RAMMSTEIN\": \"syntaxe\",\r\n \"AMASSING_AMAZING\": \"syntaxe\",\r\n \"HAT_THAT\": \"syntaxe\",\r\n \"REPLAY_REPLY\": \"syntaxe\",\r\n \"NIGGER_BIGGER\": \"syntaxe\",\r\n \"FORM_FOR\": \"syntaxe\",\r\n \"ACCESS_EXCESS\": \"syntaxe\",\r\n \"AIR_HEIR\": \"syntaxe\",\r\n \"AISLE_ISLE\": \"syntaxe\",\r\n \"DIES_DOES\": \"syntaxe\",\r\n \"FIN_FIND\": \"syntaxe\",\r\n \"WITH_WIDTH\": \"syntaxe\",\r\n \"DIED_DEAD\": \"syntaxe\",\r\n \"EMIGRATE_IMMIGRATE_CONFUSION\": \"syntaxe\",\r\n \"SEE_SEEM\": \"syntaxe\",\r\n \"PRINCES_PRINCESS\": \"syntaxe\",\r\n \"KEY_STOKE\": \"syntaxe\",\r\n \"ELL_NNS\": \"syntaxe\",\r\n \"HART_OF\": \"syntaxe\",\r\n \"AFFECTED_EFFECTED\": \"syntaxe\",\r\n \"GETS_WORST\": \"syntaxe\",\r\n \"WERE_WEAR\": \"syntaxe\",\r\n \"SUMMERY_SUMMARY\": \"syntaxe\",\r\n \"BEEN_ADDER\": \"syntaxe\",\r\n \"WEE_WE\": \"syntaxe\",\r\n \"MABEY_MAYBE\": \"syntaxe\",\r\n \"DECREE_DREGEE\": \"syntaxe\",\r\n \"VARIOUS_VARIES\": \"syntaxe\",\r\n \"FARTHER_FURTHER\": \"syntaxe\",\r\n \"FORWARD_FOREWORD\": \"syntaxe\",\r\n \"SAY_TELL\": \"syntaxe\",\r\n \"CONFIDANT_CONFIDENT\": \"syntaxe\",\r\n \"ROAD_TO_MARKET\": \"syntaxe\",\r\n \"WINING_WINNING\": \"syntaxe\",\r\n \"SCREE_SCREEN\": \"syntaxe\",\r\n \"UNITES_UNITED\": \"syntaxe\",\r\n \"LENDING_LANDING\": \"syntaxe\",\r\n \"AS_US\": \"syntaxe\",\r\n \"WESTING_WASTING\": \"syntaxe\",\r\n \"WON_OWN\": \"syntaxe\",\r\n \"WHET_WHAT\": \"syntaxe\",\r\n \"CONFUSION_ALLUSION_ILLUSION\": \"syntaxe\",\r\n \"CONFUSION_ELICIT_ILLICIT\": \"syntaxe\",\r\n \"CONFUSION_WORSE_WORST\": \"syntaxe\",\r\n \"GRAND_GRANT\": \"syntaxe\",\r\n \"RELAY_RELY\": \"syntaxe\",\r\n \"TAIL_TALE\": \"syntaxe\",\r\n \"MOTH_MONTH\": \"syntaxe\",\r\n \"KNOW_KNOWN\": \"syntaxe\",\r\n \"MARY_CHRISTMAS\": \"syntaxe\",\r\n \"HWY_WHY\": \"syntaxe\",\r\n \"OVERDUE_OVERDO\": \"syntaxe\",\r\n \"OPINING_OPENING\": \"syntaxe\",\r\n \"ENSUE_ENSURE\": \"syntaxe\",\r\n \"HEATH_HEALTH\": \"syntaxe\",\r\n \"WOK_WORK\": \"syntaxe\",\r\n \"HEART_HEARD\": \"syntaxe\",\r\n \"MORE_MOVE\": \"syntaxe\",\r\n \"FEE_FREE\": \"syntaxe\",\r\n \"JAPANISE_JAPANESE\": \"syntaxe\",\r\n \"ART_ARE\": \"syntaxe\",\r\n \"WOOD_WOULD\": \"syntaxe\",\r\n \"LEAR_LEARN\": \"syntaxe\",\r\n \"BEE_BE\": \"syntaxe\",\r\n \"PEDDLE_PADDLE\": \"syntaxe\",\r\n \"PEAK_ATTENTION\": \"syntaxe\",\r\n \"MEAN_MAN\": \"syntaxe\",\r\n \"FUNCTIONALLY_FUNCTIONALITY\": \"syntaxe\",\r\n \"WORT_WORTH\": \"syntaxe\",\r\n \"DE_THE\": \"syntaxe\",\r\n \"TUFF_TOUGH\": \"syntaxe\",\r\n \"BEAN_BEEN\": \"syntaxe\",\r\n \"GOD_GOOD\": \"syntaxe\",\r\n \"FIR_FOR\": \"syntaxe\",\r\n \"FIR_FIT\": \"syntaxe\",\r\n \"EM_ME\": \"syntaxe\",\r\n \"SE_SEE\": \"syntaxe\",\r\n \"NAIVE_NATIVE\": \"syntaxe\",\r\n \"PEASE_PLEASE\": \"syntaxe\",\r\n \"TANKFUL_THANKFUL\": \"syntaxe\",\r\n \"WALLED_WALLET\": \"syntaxe\",\r\n \"CORSE_COURSE\": \"syntaxe\",\r\n \"PLEAS_PLEASE\": \"syntaxe\",\r\n \"COLLEGE_COLLEAGUE\": \"syntaxe\",\r\n \"AS_ASK\": \"syntaxe\",\r\n \"RELIEVE_RELIEF\": \"syntaxe\",\r\n \"OUR_YOUR\": \"syntaxe\",\r\n \"JUT_JUST\": \"syntaxe\",\r\n \"SEES_SEEMS\": \"syntaxe\",\r\n \"LUCK_LICK\": \"syntaxe\",\r\n \"ME_BE\": \"syntaxe\",\r\n \"PER_PRE\": \"syntaxe\",\r\n \"SIGH_SIGN\": \"syntaxe\",\r\n \"CAUSE_COURSE\": \"syntaxe\",\r\n \"EGO_AGO\": \"syntaxe\",\r\n \"IND_KIND\": \"syntaxe\",\r\n \"DEUS_EX_MACHINA\": \"syntaxe\",\r\n \"NOTE_NOT\": \"syntaxe\",\r\n \"SECONDE_SECONDS\": \"syntaxe\",\r\n \"LET_ME_TROUGH\": \"syntaxe\",\r\n \"HER_HERE\": \"syntaxe\",\r\n \"GOO_GOOD\": \"syntaxe\",\r\n \"MEAN_MEANT\": \"syntaxe\",\r\n \"SAID_SAD\": \"syntaxe\",\r\n \"HEARS_YEARS\": \"syntaxe\",\r\n \"OTHER_OTHERS\": \"syntaxe\",\r\n \"COOPERATE_CORPORATE\": \"syntaxe\",\r\n \"WITHDRAWAL_WITHDRAW\": \"syntaxe\",\r\n \"WARE_WEAR\": \"syntaxe\",\r\n \"AD_AS\": \"syntaxe\",\r\n \"GENERA_GENERAL\": \"syntaxe\",\r\n \"LIFE_LIVE\": \"syntaxe\",\r\n \"ROLE_ROLL\": \"syntaxe\",\r\n \"TREAD_TREAT\": \"syntaxe\",\r\n \"CONFUSION_OF_YET_ALONE_LET_ALONE\": \"syntaxe\",\r\n \"TENT_TEND\": \"syntaxe\",\r\n \"EVERY_EVER\": \"syntaxe\",\r\n \"TREE_THREE\": \"syntaxe\",\r\n \"THREAT_THREATEN\": \"syntaxe\",\r\n \"WITHER_EITHER\": \"syntaxe\",\r\n \"BIS_BUS\": \"syntaxe\",\r\n \"MANNER_MATTER\": \"syntaxe\",\r\n \"BET_BEST\": \"syntaxe\",\r\n \"EKE_EEK\": \"syntaxe\",\r\n \"NIT_NOT\": \"syntaxe\",\r\n \"HER_HEAR\": \"syntaxe\",\r\n \"MAD_MADE\": \"syntaxe\",\r\n \"MANOR_MANNER\": \"syntaxe\",\r\n \"DON_DONE\": \"syntaxe\",\r\n \"CURIOS_CURIOUS\": \"syntaxe\",\r\n \"SEEN_SEEM\": \"syntaxe\",\r\n \"THAT_THAN\": \"syntaxe\",\r\n \"DINER_DINNER\": \"syntaxe\",\r\n \"CHEEP_CHEAP\": \"syntaxe\",\r\n \"WEAK_WEEK\": \"syntaxe\",\r\n \"SIGH_SIGHT\": \"syntaxe\",\r\n \"ARE_OUR\": \"syntaxe\",\r\n \"WE_LL_WELL\": \"syntaxe\",\r\n \"BASE_BASIS\": \"syntaxe\",\r\n \"RED_READ\": \"syntaxe\",\r\n \"LIEN_LINE\": \"syntaxe\",\r\n \"PAST_PASTE\": \"syntaxe\",\r\n \"TECH_TEACH\": \"syntaxe\",\r\n \"LOOT_LOT\": \"syntaxe\",\r\n \"RATER_RATHER\": \"syntaxe\",\r\n \"EVENT_EVEN\": \"syntaxe\",\r\n \"AT_AS\": \"syntaxe\",\r\n \"DOE_DOES\": \"syntaxe\",\r\n \"I_IS\": \"syntaxe\",\r\n \"LIVE_LIFE\": \"syntaxe\",\r\n \"MIS_MISS\": \"syntaxe\",\r\n \"WHIT_WITH\": \"syntaxe\",\r\n \"WHIT_WHITE\": \"syntaxe\",\r\n \"THE_TO\": \"syntaxe\",\r\n \"HONESTY_HONESTLY\": \"syntaxe\",\r\n \"DOD_DID\": \"syntaxe\",\r\n \"COINCIDENT_COINCIDENCE\": \"syntaxe\",\r\n \"DO_DUE\": \"syntaxe\",\r\n \"RITE_RIGHT\": \"syntaxe\",\r\n \"RITE_WRITE\": \"syntaxe\",\r\n \"ROTE_WROTE\": \"syntaxe\",\r\n \"MAY_MANY_MY\": \"syntaxe\",\r\n \"TRUE_TRUTH\": \"syntaxe\",\r\n \"ASSES_ASSESS\": \"syntaxe\",\r\n \"AVE_HAVE\": \"syntaxe\",\r\n \"CHOICE_CHOOSE\": \"syntaxe\",\r\n \"DELIVERY_DELIVER\": \"syntaxe\",\r\n \"DEPARTURE_DEPART\": \"syntaxe\",\r\n \"WELL_WILL\": \"syntaxe\",\r\n \"FOUNT_FOUND\": \"syntaxe\",\r\n \"MACH_MUCH\": \"syntaxe\",\r\n \"DOSE_DOES\": \"syntaxe\",\r\n \"ROAD_RODE\": \"syntaxe\",\r\n \"CARRIES_CARIES\": \"syntaxe\",\r\n \"WRITS_WRITES\": \"syntaxe\",\r\n \"TROUGH_THROUGH\": \"syntaxe\",\r\n \"IS_US\": \"syntaxe\",\r\n \"THE_THEM\": \"syntaxe\",\r\n \"CAR_CARE\": \"syntaxe\",\r\n \"I_IN\": \"syntaxe\",\r\n \"HE_BE\": \"syntaxe\",\r\n \"DUN_DONT\": \"syntaxe\",\r\n \"AIR_BORNE_AIRBORN\": \"syntaxe\",\r\n \"BLOOD_BORNE_BLOODBORNE\": \"syntaxe\",\r\n \"FOOD_BORNE_FOODBORN\": \"syntaxe\",\r\n \"TOR_TO\": \"syntaxe\",\r\n \"TOR_FOR\": \"syntaxe\",\r\n \"NEEDLES_NEEDLESS\": \"syntaxe\",\r\n \"O_TO\": \"syntaxe\",\r\n \"TO_TWO\": \"syntaxe\",\r\n \"SHOUT_SHOULD\": \"syntaxe\",\r\n \"ACTIVE_ACTIVATE\": \"syntaxe\",\r\n \"TAB_TAP\": \"syntaxe\",\r\n \"NIGH_NIGHT\": \"syntaxe\",\r\n \"MAY_MANY\": \"syntaxe\",\r\n \"SON_SOON\": \"syntaxe\",\r\n \"NO_NOT\": \"syntaxe\",\r\n \"ETHER_EITHER\": \"syntaxe\",\r\n \"FILED_FIELD\": \"syntaxe\",\r\n \"SHIPPING_SHOPPING\": \"syntaxe\",\r\n \"EFFORT_AFFORD\": \"syntaxe\",\r\n \"FOUD_FOUND\": \"syntaxe\",\r\n \"HOE_HOW\": \"syntaxe\",\r\n \"MANGE_MANAGE\": \"syntaxe\",\r\n \"GUES_GUESS\": \"syntaxe\",\r\n \"GO_GOT\": \"syntaxe\",\r\n \"HAPPED_HAPPENED\": \"syntaxe\",\r\n \"FORE_FOR\": \"syntaxe\",\r\n \"MA_MY\": \"syntaxe\",\r\n \"CAN_CAB\": \"syntaxe\",\r\n \"IT_SI\": \"syntaxe\",\r\n \"MULTIPLE_MULTIPLY\": \"syntaxe\",\r\n \"GLADY_GLADLY\": \"syntaxe\",\r\n \"SOMETIME_SOMETIMES\": \"syntaxe\",\r\n \"FOR_SOMETIME_FOR_SOME_TIME\": \"syntaxe\",\r\n \"NO_KNOW\": \"syntaxe\",\r\n \"FARE_FAIR\": \"syntaxe\",\r\n \"TOO_TOOL\": \"syntaxe\",\r\n \"SEN_SEND\": \"syntaxe\",\r\n \"POSSES_POSSESS\": \"syntaxe\",\r\n \"HIS_HE_S\": \"syntaxe\",\r\n \"AL_ALL\": \"syntaxe\",\r\n \"MATER_MATTER\": \"syntaxe\",\r\n \"DISCUS_DISCUSS\": \"syntaxe\",\r\n \"COM_COME\": \"syntaxe\",\r\n \"WRIT_WRITE\": \"syntaxe\",\r\n \"WAN_WANT\": \"syntaxe\",\r\n \"BELOW_BLOW\": \"syntaxe\",\r\n \"RETARDS_REGARDS\": \"syntaxe\",\r\n \"HART_HARD\": \"syntaxe\",\r\n \"GIT_GET\": \"syntaxe\",\r\n \"BESIDES_BESIDE\": \"syntaxe\",\r\n \"LES_LESS\": \"syntaxe\",\r\n \"SINE_SINCE\": \"syntaxe\",\r\n \"WURST_WORST\": \"syntaxe\",\r\n \"TRAIL_TRIAL\": \"syntaxe\",\r\n \"MEED_MEET\": \"syntaxe\",\r\n \"SEEM_SEEN\": \"syntaxe\",\r\n \"PLANE_PLAIN\": \"syntaxe\",\r\n \"CONFUSION_IT_IS\": \"syntaxe\",\r\n \"OFF_OF\": \"syntaxe\",\r\n \"DO_TO\": \"syntaxe\",\r\n \"ANS_AND\": \"syntaxe\",\r\n \"GRATE_GREAT\": \"syntaxe\",\r\n \"BATTER_BETTER\": \"syntaxe\",\r\n \"BEGONE_BEGUN\": \"syntaxe\",\r\n \"PARE_PAIR\": \"syntaxe\",\r\n \"THAN_THANK\": \"syntaxe\",\r\n \"TRY_TRIAL\": \"syntaxe\",\r\n \"A_OR\": \"syntaxe\",\r\n \"AN_AND\": \"syntaxe\",\r\n \"LET_IS_VB\": \"syntaxe\",\r\n \"WHAT_IT_HAPPENING\": \"syntaxe\",\r\n \"WHAT_IT_THE\": \"syntaxe\",\r\n \"IT_IF\": \"syntaxe\",\r\n \"HAD_HARD\": \"syntaxe\",\r\n \"MUSH_MUCH\": \"syntaxe\",\r\n \"ONE_ONCE\": \"syntaxe\",\r\n \"WE_BE\": \"syntaxe\",\r\n \"FLEE_MARKET\": \"syntaxe\",\r\n \"HAVE_BIN\": \"syntaxe\",\r\n \"TURN_IT_OF\": \"syntaxe\",\r\n \"I_AS_LOOKING\": \"syntaxe\",\r\n \"BARLEY_BARELY\": \"syntaxe\",\r\n \"HALF_HALVE\": \"syntaxe\",\r\n \"WEN_WE\": \"syntaxe\",\r\n \"MOST_MUST\": \"syntaxe\",\r\n \"A_HASTILY_WAY\": \"syntaxe\",\r\n \"ADJECTIVE_ADVERB\": \"syntaxe\",\r\n \"ADJECTIVE_ADVERB_2\": \"syntaxe\",\r\n \"WANT_WONT\": \"syntaxe\",\r\n \"WONT_WANT\": \"syntaxe\",\r\n \"YO_TO\": \"syntaxe\",\r\n \"TORCHER_TORTURE\": \"syntaxe\",\r\n \"PRICE_SENSIBILITY\": \"syntaxe\",\r\n \"WHAT_WOULD\": \"syntaxe\",\r\n \"HAS_AS\": \"syntaxe\",\r\n \"BLU_RAY\": \"syntaxe\",\r\n \"THEYRE_THEIR\": \"syntaxe\",\r\n \"VBG_THEYRE\": \"syntaxe\",\r\n \"PIC_PICK\": \"syntaxe\",\r\n \"WRIGHT_WRITE\": \"syntaxe\",\r\n \"THING_THINK\": \"syntaxe\",\r\n \"AD_ADD\": \"syntaxe\",\r\n \"INTENT_INTEND\": \"syntaxe\",\r\n \"THERE_OWN\": \"syntaxe\",\r\n \"DESERT_DESSERT\": \"syntaxe\",\r\n \"PRECEDENT_PRECEDENCE\": \"syntaxe\",\r\n \"COMA_COMMA\": \"syntaxe\",\r\n \"LOG_IN\": \"syntaxe\",\r\n \"THERE_THEIR\": \"syntaxe\",\r\n \"RATIO_RATION\": \"syntaxe\",\r\n \"ZERO-SUM_GAIN\": \"syntaxe\",\r\n \"RATIONAL_RATIONALE\": \"syntaxe\",\r\n \"CLEAN_UP\": \"syntaxe\",\r\n \"TURNED_OFF\": \"syntaxe\",\r\n \"THE_FLEW\": \"syntaxe\",\r\n \"CONFUSION_OF_MANS_MEN\": \"syntaxe\",\r\n \"CONFUSION_OF_MARS_MARS\": \"syntaxe\",\r\n \"MARRIAGE_ANNIVERSARY\": \"syntaxe\",\r\n \"BACK_ABACK\": \"syntaxe\",\r\n \"IN_THE_SKIES\": \"syntaxe\",\r\n \"PASSED_PAST\": \"syntaxe\",\r\n \"BOLD_FACED\": \"syntaxe\",\r\n \"ONE_FELL_SWOOP\": \"syntaxe\",\r\n \"DOG-EAT-DOG\": \"syntaxe\",\r\n \"GRANITE\": \"syntaxe\",\r\n \"INTENSIVE_PURPOSES\": \"syntaxe\",\r\n \"LESS_MORE_THEN\": \"syntaxe\",\r\n \"COMMA_THAN\": \"syntaxe\",\r\n \"FROM_THAN_ON\": \"syntaxe\",\r\n \"AND_THAN\": \"syntaxe\",\r\n \"NUMBER_OF_NNS\": \"syntaxe\",\r\n \"THAN_INTERJ\": \"syntaxe\",\r\n \"WHO_THAN\": \"syntaxe\",\r\n \"RATHER_THEN\": \"syntaxe\",\r\n \"UNTIED_STATES\": \"syntaxe\",\r\n \"UNCLEAR_NUCLEAR\": \"syntaxe\",\r\n \"CONFUSION_OF_HART_HEART\": \"syntaxe\",\r\n \"CONFUSION_AWAIT_WAIT\": \"syntaxe\",\r\n \"CONFUSION_DUE_DO\": \"syntaxe\",\r\n \"CONFUSION_AWL_ALL\": \"syntaxe\",\r\n \"CONFUSION_KNOT_NOT\": \"syntaxe\",\r\n \"THAT_BEING_SAID\": \"syntaxe\",\r\n \"MARRY_MERRY\": \"syntaxe\",\r\n \"IN_ON_VACATION\": \"syntaxe\",\r\n \"IN_ON_WEEKDAY\": \"syntaxe\",\r\n \"CONFUSION_DURING_FOR\": \"syntaxe\",\r\n \"MUST_MOST\": \"syntaxe\",\r\n \"COULD_OF\": \"syntaxe\",\r\n \"PEACE_PIECE\": \"syntaxe\",\r\n \"ALREADY_ALL_READY\": \"syntaxe\",\r\n \"QUIET_QUITE\": \"syntaxe\",\r\n \"PRP_NEW\": \"syntaxe\",\r\n \"SOME_EXTEND\": \"syntaxe\",\r\n \"THEIR_IS\": \"syntaxe\",\r\n \"MOTHER-IN-LOW\": \"syntaxe\",\r\n \"IN_THE_PASSED\": \"syntaxe\",\r\n \"BY_BUY\": \"syntaxe\",\r\n \"ABOUT_TO_VBD\": \"syntaxe\",\r\n \"BY_PASS\": \"syntaxe\",\r\n \"TOO_TO\": \"syntaxe\",\r\n \"TO_TOO\": \"syntaxe\",\r\n \"YOUR\": \"syntaxe\",\r\n \"PIGEON_ENGLISH\": \"syntaxe\",\r\n \"TELEPHONE_POLL\": \"syntaxe\",\r\n \"OPINION_POLE\": \"syntaxe\",\r\n \"SHELL_WE\": \"syntaxe\",\r\n \"I_HERD\": \"syntaxe\",\r\n \"LOOSE_LOSE\": \"syntaxe\",\r\n \"LOSE_LOOSE\": \"syntaxe\",\r\n \"LOSE_LOSS\": \"syntaxe\",\r\n \"GIVE_ADVISE\": \"syntaxe\",\r\n \"ADVICE_ADVISE\": \"syntaxe\",\r\n \"HERE_HEAR\": \"syntaxe\",\r\n \"HEAR_HERE\": \"syntaxe\",\r\n \"WITCH_HAUNT\": \"syntaxe\",\r\n \"TEEM_TEAM\": \"syntaxe\",\r\n \"SNEAK_PEAK\": \"syntaxe\",\r\n \"CONFUSION_OF_ANOTHER_IN_OTHER\": \"syntaxe\",\r\n \"CONFUSION_OF_SOBBER_SOBER\": \"syntaxe\",\r\n \"FOR_ALL_INTENSIVE_PURPOSES\": \"syntaxe\",\r\n \"ALL_OF_A_SUDDEN\": \"syntaxe\",\r\n \"NO_NOW\": \"syntaxe\",\r\n \"KNOW_NOW\": \"syntaxe\",\r\n \"IN_VEIN\": \"syntaxe\",\r\n \"INSURE_THAT\": \"syntaxe\",\r\n \"IN_MASSE\": \"syntaxe\",\r\n \"EN_MASS\": \"syntaxe\",\r\n \"FOR_SELL\": \"syntaxe\",\r\n \"CHALK_FULL\": \"syntaxe\",\r\n \"EGG_YOKE\": \"syntaxe\",\r\n \"ET_ALL\": \"syntaxe\",\r\n \"BOB_WIRE\": \"syntaxe\",\r\n \"BYE_THE_WAY\": \"syntaxe\",\r\n \"BACK_AND_FOURTH\": \"syntaxe\",\r\n \"BACK_IN_FORTH\": \"syntaxe\",\r\n \"ALL_FOR_NOT\": \"syntaxe\",\r\n \"MASSAGE_MESSAGE\": \"syntaxe\",\r\n \"CHANCE_CHANGE\": \"syntaxe\",\r\n \"FORMALLY_KNOWN_AS\": \"syntaxe\",\r\n \"BREATHE_BREATH\": \"syntaxe\",\r\n \"ASK_WETHER\": \"syntaxe\",\r\n \"BRAKE_AWAY_BREAK_AWAY\": \"syntaxe\",\r\n \"BE_ALOUD_TO\": \"syntaxe\",\r\n \"AIRPLANE_HANGER\": \"syntaxe\",\r\n \"DO_TO_THE_FACT_THAT\": \"syntaxe\",\r\n \"DO_TO_THE_LACK_OF\": \"syntaxe\",\r\n \"MINUETS\": \"syntaxe\",\r\n \"DEPENDENT\": \"syntaxe\",\r\n \"BUY_VBG\": \"syntaxe\",\r\n \"FURTHER_ADIEU\": \"syntaxe\",\r\n \"ADOPT_TO\": \"syntaxe\",\r\n \"TO_AIDE\": \"syntaxe\",\r\n \"ALL_THE_FURTHER\": \"syntaxe\",\r\n \"ALLY_ALLAY\": \"syntaxe\",\r\n \"AMENABLE_AMENDABLE\": \"syntaxe\",\r\n \"ARCHITECT_VERB\": \"syntaxe\",\r\n \"ASCETIC_ACID\": \"syntaxe\",\r\n \"AS_WELL_AS_BETTER\": \"syntaxe\",\r\n \"AWAITING_FOR\": \"syntaxe\",\r\n \"AXED_ASKED\": \"syntaxe\",\r\n \"PUBIC_X\": \"syntaxe\",\r\n \"TESTES\": \"syntaxe\",\r\n \"WAR_WART\": \"syntaxe\",\r\n \"CONFUSION_OF_CORRAL_CORAL\": \"syntaxe\",\r\n \"ANUS_ANGUS\": \"syntaxe\",\r\n \"CONFUSION_OF_MARSHAL_MARTIAL\": \"syntaxe\",\r\n \"CONFUSION_OF_SATE_STATE\": \"syntaxe\",\r\n \"CONFUSION_OF_GOLD_GOLF\": \"syntaxe\",\r\n \"CONFUSION_OF_JIB_JOB\": \"syntaxe\",\r\n \"CONFUSION_OF_SCEPTIC_SEPTIC\": \"syntaxe\",\r\n \"CONFUSION_OF_ADDICTING_ADDICITVE\": \"syntaxe\",\r\n \"DEEP_SEEDED\": \"syntaxe\",\r\n \"DECEASE_DISEASE\": \"syntaxe\",\r\n \"STRIPPED_STRIPED\": \"syntaxe\",\r\n \"STRIPED_STRIPPED\": \"syntaxe\",\r\n \"CALENDER\": \"syntaxe\",\r\n \"ON_BEHAVE\": \"syntaxe\",\r\n \"WITCH_IS_WRONG\": \"syntaxe\",\r\n \"THEY_WHERE\": \"syntaxe\",\r\n \"WERE_WE_RE\": \"syntaxe\",\r\n \"WERE_WHERE\": \"syntaxe\",\r\n \"ALTER_ALTAR\": \"syntaxe\",\r\n \"ADVERSE_AVERSE\": \"syntaxe\",\r\n \"CONFUSION_OF_DECENT_DESCENT\": \"syntaxe\",\r\n \"DIFFUSE_TENSIONS\": \"syntaxe\",\r\n \"DEFUSE_BOMB\": \"syntaxe\",\r\n \"COUNSEL_GENERAL\": \"syntaxe\",\r\n \"WILDLY_ACCEPTED\": \"syntaxe\",\r\n \"THROUGH_THOROUGH\": \"syntaxe\",\r\n \"WAS_WANDERING_IF\": \"syntaxe\",\r\n \"KNEW_NEW\": \"syntaxe\",\r\n \"PRICE_PRIZE\": \"syntaxe\",\r\n \"PRIZE_PRICE\": \"syntaxe\",\r\n \"LOOK_WATCH\": \"syntaxe\",\r\n \"SITE_SIDE\": \"syntaxe\",\r\n \"SIDE_SITE\": \"syntaxe\",\r\n \"BELIEVE_BELIEF\": \"syntaxe\",\r\n \"BELIEF_BELIEVE\": \"syntaxe\",\r\n \"COARSE_COURSE\": \"syntaxe\",\r\n \"PROVE_PROOF\": \"syntaxe\",\r\n \"IT_SEAMS\": \"syntaxe\",\r\n \"EASE_OFF_USE\": \"syntaxe\",\r\n \"EASE_EASY\": \"syntaxe\",\r\n \"ADMIN_ADMIT\": \"syntaxe\",\r\n \"NOT_AD_ALL\": \"syntaxe\",\r\n \"TAKING_CASE_OF_IT\": \"syntaxe\",\r\n \"I_WANDER_IF\": \"syntaxe\",\r\n \"WORTH_THAN\": \"syntaxe\",\r\n \"NOT_JET\": \"syntaxe\",\r\n \"YOUR_NN\": \"syntaxe\",\r\n \"IN_YOU_RE_NN\": \"syntaxe\",\r\n \"DEER_DEAR\": \"syntaxe\",\r\n \"ACCEPT_EXCEPT\": \"syntaxe\",\r\n \"AFFECT_EFFECT\": \"syntaxe\",\r\n \"ECONOMICAL_ECONOMIC\": \"syntaxe\",\r\n \"ECONOMIC_ECONOMICAL\": \"syntaxe\",\r\n \"VERSE\": \"syntaxe\",\r\n \"IN_PRINCIPAL\": \"syntaxe\",\r\n \"NIB_NUB\": \"syntaxe\",\r\n \"EVERYDAY_EVERY_DAY\": \"syntaxe\",\r\n \"EVERYONE_OF\": \"syntaxe\",\r\n \"NIECE_NICE\": \"syntaxe\",\r\n \"SLIGHT_OF_HAND\": \"syntaxe\",\r\n \"ROUTE_OF_THE_PROBLEM\": \"syntaxe\",\r\n \"COMPLAINS_COMPLAINTS\": \"syntaxe\",\r\n \"FIRST_AID_KIT\": \"syntaxe\",\r\n \"SPILLING_ERROR\": \"syntaxe\",\r\n \"SINCE_FOR\": \"syntaxe\",\r\n \"EXTEND_EXTENT\": \"syntaxe\",\r\n \"SUPPER\": \"syntaxe\",\r\n \"PERSONAL_PERSONNEL\": \"syntaxe\",\r\n \"WHORE_WORE\": \"syntaxe\",\r\n \"OVERNIGHT\": \"syntaxe\",\r\n \"OVER_TIME\": \"syntaxe\",\r\n \"BAR_B_QUE\": \"syntaxe\",\r\n \"VBN_BUY\": \"syntaxe\",\r\n \"AN_A_PRIORY\": \"syntaxe\",\r\n \"DE_JURE_DU_JOUR\": \"syntaxe\",\r\n \"OEDOMETER_ODOMETER\": \"syntaxe\",\r\n \"THE_LATER_LATTER\": \"syntaxe\",\r\n \"WORK_AS_A_CHARM\": \"syntaxe\",\r\n \"STATE_OF_ART\": \"syntaxe\",\r\n \"TAT\": \"syntaxe\",\r\n \"IN_X_ORDER\": \"syntaxe\",\r\n \"I_NEVER_HAVE_BEEN\": \"syntaxe\",\r\n \"FROM_X_Y\": \"syntaxe\",\r\n \"MONTH_OF_XXXX\": \"syntaxe\",\r\n \"THE_QUESTION_WH\": \"syntaxe\",\r\n \"IN_THE_MOMENT\": \"syntaxe\",\r\n \"MAKE_SINCE\": \"syntaxe\",\r\n \"ALL_AND_ALL\": \"syntaxe\",\r\n \"ALL_OF_THE_SUDDEN\": \"syntaxe\",\r\n \"ALONG_THE_SAME_VEIN\": \"syntaxe\",\r\n \"EVER_SO_OFTEN\": \"syntaxe\",\r\n \"EARLY_ADAPTER\": \"syntaxe\",\r\n \"FAR_BE_IT_FOR_ME\": \"syntaxe\",\r\n \"MONEY_IS_NO_OPTION\": \"syntaxe\",\r\n \"NIP_IT_IN_THE_BUTT\": \"syntaxe\",\r\n \"NOW_AND_DAYS\": \"syntaxe\",\r\n \"ROUND_A_BOUTS\": \"syntaxe\",\r\n \"THE_PROOF_IS_IN_THE_PUDDING\": \"syntaxe\",\r\n \"QUI_BONO\": \"syntaxe\",\r\n \"WHIP_CREAM\": \"syntaxe\",\r\n \"IN_OR_WITH_REGARDS_TO_OF\": \"syntaxe\",\r\n \"VERY_KNOWN\": \"syntaxe\",\r\n \"CD_00_O_CLOCK\": \"syntaxe\",\r\n \"SI_UNITS_OF_MEASURMENT_ADJECTIVES_PLURAL\": \"syntaxe\",\r\n \"INFORMATIONS\": \"syntaxe\",\r\n \"MORE_THAN_CD_PLUS\": \"syntaxe\",\r\n \"IN_A_X_MANNER\": \"syntaxe\",\r\n \"TELL_IT\": \"syntaxe\",\r\n \"FORMER_ALUMNUS\": \"syntaxe\",\r\n \"SWORN_AFFIDAVIT\": \"syntaxe\",\r\n \"DIRECTLY_ANTITHETICAL\": \"syntaxe\",\r\n \"APPROXIMATELY_ABOUT\": \"syntaxe\",\r\n \"ASSOCIATE_TOGETHER\": \"syntaxe\",\r\n \"SUFFICIENT_ENOUGH\": \"syntaxe\",\r\n \"OF_ANY_OF\": \"syntaxe\",\r\n \"SEND_AN_EMAIL\": \"syntaxe\",\r\n \"SENT_AN_EMAIL\": \"syntaxe\",\r\n \"SEND_PRP_AN_EMAIL\": \"syntaxe\",\r\n \"BECAUSE_OF_THE_FACT_THAT\": \"syntaxe\",\r\n \"ATM_MACHINE\": \"syntaxe\",\r\n \"HIV_VIRUS\": \"syntaxe\",\r\n \"PIN_NUMBER\": \"syntaxe\",\r\n \"LCD_DISPLAY\": \"syntaxe\",\r\n \"ADD_AN_ADDITIONAL\": \"syntaxe\",\r\n \"AM_PM_OCLOCK\": \"syntaxe\",\r\n \"AM_PM\": \"syntaxe\",\r\n \"AM_IN_THE_MORNING\": \"syntaxe\",\r\n \"PM_IN_THE_EVENING\": \"syntaxe\",\r\n \"AND_ETC\": \"syntaxe\",\r\n \"ADEQUATE_ENOUGH\": \"syntaxe\",\r\n \"ASK_THE_QUESTION\": \"syntaxe\",\r\n \"AS_OF_YET\": \"syntaxe\",\r\n \"AUTOBIOGRAPHY_OF_A_LIFE\": \"syntaxe\",\r\n \"BASIC_FUNDAMENTALS\": \"syntaxe\",\r\n \"BALD-HEADED\": \"syntaxe\",\r\n \"TEMPORARY_BIVOUAC_BIVOUAC\": \"syntaxe\",\r\n \"BIVOUAC_CAMP_BIVOUAC\": \"syntaxe\",\r\n \"ADJECTIVE_IN_ATTRIBUTE\": \"syntaxe\",\r\n \"BITTER_IN_TASTE\": \"syntaxe\",\r\n \"BIOGRAPHY_OF_A_LIFE\": \"syntaxe\",\r\n \"CD_DISC\": \"syntaxe\",\r\n \"CDROM\": \"syntaxe\",\r\n \"ACCUSED_OF_A_CHARGE_CHARGED_WITH\": \"syntaxe\",\r\n \"CIRCUMSTANCES_SURROUNDING\": \"syntaxe\",\r\n \"CLOSE_SCRUTINY\": \"syntaxe\",\r\n \"COMBINE_TOGETHER\": \"syntaxe\",\r\n \"COMFORTABLE_WITH_VBG\": \"syntaxe\",\r\n \"COMMUTE_BACK_AND_FORTH\": \"syntaxe\",\r\n \"CONTINUE_TO_REMAIN\": \"syntaxe\",\r\n \"DESCEND_DOWN\": \"syntaxe\",\r\n \"EACH_AND_EVERY\": \"syntaxe\",\r\n \"ALL_OF_THE\": \"syntaxe\",\r\n \"DROP_DOWN\": \"syntaxe\",\r\n \"FIRST_OF_ALL\": \"syntaxe\",\r\n \"FOCUS_IN\": \"syntaxe\",\r\n \"GATHER_UP\": \"syntaxe\",\r\n \"INCREDIBLE_TO_BELIEVE\": \"syntaxe\",\r\n \"OUTSIDE_OF\": \"syntaxe\",\r\n \"PRIVATE_INDUSTRY\": \"syntaxe\",\r\n \"RIGHT_OVER\": \"syntaxe\",\r\n \"SELF_ADMITTED\": \"syntaxe\",\r\n \"SOME_OF_THE\": \"syntaxe\",\r\n \"SUBJECT_MATTER\": \"syntaxe\",\r\n \"TRY_AND\": \"syntaxe\",\r\n \"SO_AS_TO\": \"syntaxe\",\r\n \"FEW_OCCASIONS\": \"syntaxe\",\r\n \"ALSO_OTHER\": \"syntaxe\",\r\n \"LARGE_NUMBER_OF\": \"syntaxe\",\r\n \"SMALL_NUMBER_OF\": \"syntaxe\",\r\n \"SUBSEQUENT_TO\": \"syntaxe\",\r\n \"WITH_THE_EXCEPTION_OF\": \"syntaxe\",\r\n \"EVERY_NOW_AND_THEN\": \"syntaxe\",\r\n \"ESTABLISHED_FACT\": \"syntaxe\",\r\n \"SUMMER_TIME\": \"syntaxe\",\r\n \"THE_FALL_SEASON\": \"syntaxe\",\r\n \"FAMOUS_CELEBRITY\": \"syntaxe\",\r\n \"SALSA_SAUCE\": \"syntaxe\",\r\n \"GENERAL_XX\": \"syntaxe\",\r\n \"OVER_EXAGGERATED\": \"syntaxe\",\r\n \"ORIGINALLY_BORN_IN\": \"syntaxe\",\r\n \"RETURN_BACK\": \"syntaxe\",\r\n \"REPEAT_AGAIN\": \"syntaxe\",\r\n \"REPEATED_CURRENCY\": \"syntaxe\",\r\n \"MIGHT_PERHAPS\": \"syntaxe\",\r\n \"AGREE_WITH_THE_FACT\": \"syntaxe\",\r\n \"WILL_IN_THE_FUTURE\": \"syntaxe\",\r\n \"WORK_COLLEAGUE\": \"syntaxe\",\r\n \"NUMEROUS_DIFFERENT\": \"syntaxe\",\r\n \"WHOLE_LOT\": \"syntaxe\",\r\n \"FELLOW_CLASSMATE\": \"syntaxe\",\r\n \"FOREIGN_IMPORT\": \"syntaxe\",\r\n \"HONEST_TRUTH\": \"syntaxe\",\r\n \"INTRODUCE_FOR_THE_FIRST_TIME\": \"syntaxe\",\r\n \"NOUN_AROUND_IT\": \"syntaxe\",\r\n \"PAST_EXPERIENCE_MEMORY\": \"syntaxe\",\r\n \"POINT_BEING_IS_THAT\": \"syntaxe\",\r\n \"REASON_WHY\": \"syntaxe\",\r\n \"SO_THEREFORE\": \"syntaxe\",\r\n \"THERAPEUTIC_TREATMENT\": \"syntaxe\",\r\n \"RUSTIC_COUNTRY\": \"syntaxe\",\r\n \"VERY_UNIQUE\": \"syntaxe\",\r\n \"WHETHER\": \"syntaxe\",\r\n \"FEMALE_ACTOR\": \"syntaxe\",\r\n \"FEMALE_WAITER\": \"syntaxe\",\r\n \"FIRST_WOMAN_NOUN\": \"syntaxe\",\r\n \"FIRST_MAN_NOUN\": \"syntaxe\",\r\n \"LITTLE_BIT\": \"syntaxe\",\r\n \"FREE_GIFT\": \"syntaxe\",\r\n \"RIO_GRANDE\": \"syntaxe\",\r\n \"MOUNT_FUJIYAMA\": \"syntaxe\",\r\n \"HELP_TO_FIND\": \"syntaxe\",\r\n \"BUSSES\": \"syntaxe\",\r\n \"PASSIVE_VOICE_SIMPLE\": \"syntaxe\",\r\n \"MORE_EASY_N_CLEAR\": \"syntaxe\",\r\n \"FASTLY\": \"syntaxe\",\r\n \"REPEATED_PLEASE\": \"syntaxe\",\r\n \"TOO_TO_EITHER\": \"syntaxe\",\r\n \"ANYWAYS\": \"syntaxe\",\r\n \"PPL\": \"syntaxe\",\r\n \"SUBJECT_DROP\": \"syntaxe\",\r\n \"PREVENT_FROM\": \"syntaxe\",\r\n \"SERIAL_COMMA_ON\": \"syntaxe\",\r\n \"WILL_ALLOW\": \"syntaxe\",\r\n \"WHOLE_OTHER\": \"syntaxe\",\r\n \"WEEK_END_HYPHEN\": \"syntaxe\",\r\n \"THERE_RE_CONTRACTION_UNCOMMON\": \"syntaxe\",\r\n \"SENT_START_ARE_NOT_ARENT_FORMAL\": \"syntaxe\",\r\n \"NOT_SURE_IT_WORKS\": \"syntaxe\",\r\n \"THANK_YOU_MUCH\": \"syntaxe\",\r\n \"TIFLIS\": \"syntaxe\",\r\n \"USED_TO_COULD\": \"syntaxe\",\r\n \"MISSING_COMMA_WITH_TOO\": \"syntaxe\",\r\n \"INDIAN_ENGLISH\": \"syntaxe\",\r\n \"RECOMMENDED_COMPOUNDS\": \"syntaxe\",\r\n \"MOST_OF_OUR_TIMES\": \"syntaxe\",\r\n \"REASON_IS_BECAUSE\": \"syntaxe\",\r\n \"ALINE\": \"syntaxe\",\r\n \"BESTEST\": \"syntaxe\",\r\n \"BORED_OF\": \"syntaxe\",\r\n \"THEMSELF\": \"syntaxe\",\r\n \"OURSELF\": \"syntaxe\",\r\n \"MERCHANDIZE\": \"syntaxe\",\r\n \"SUPER_BOWL\": \"syntaxe\",\r\n \"GOTTA\": \"syntaxe\",\r\n \"GONNA\": \"syntaxe\",\r\n \"Y_ALL\": \"syntaxe\",\r\n \"DONTCHA\": \"syntaxe\",\r\n \"WHATCHA\": \"syntaxe\",\r\n \"OUTTA\": \"syntaxe\",\r\n \"LEMME\": \"syntaxe\",\r\n \"BOUT_TO\": \"syntaxe\",\r\n \"LUV\": \"syntaxe\",\r\n \"DAT\": \"syntaxe\",\r\n \"DIS\": \"syntaxe\",\r\n \"GIMME\": \"syntaxe\",\r\n \"GOTCHA\": \"syntaxe\",\r\n \"WANNA_TO\": \"syntaxe\",\r\n \"WANNA\": \"syntaxe\",\r\n \"DUNNO\": \"syntaxe\",\r\n \"EXTREME_ADJECTIVES\": \"syntaxe\",\r\n \"DIFFERENT_THAN\": \"syntaxe\",\r\n \"THAN_I\": \"syntaxe\",\r\n \"MOST_EVERYONE\": \"syntaxe\",\r\n \"WHEN_WHERE\": \"syntaxe\",\r\n \"PROFANITY\": \"syntaxe\",\r\n \"RUDE_SARCASTIC\": \"syntaxe\",\r\n \"NEEDS_FIXED\": \"syntaxe\",\r\n \"AN_INVITE\": \"syntaxe\",\r\n \"IRREGARDLESS\": \"syntaxe\",\r\n \"FOUR_NN\": \"syntaxe\",\r\n \"POSSIBILTY_POSSIBLE\": \"syntaxe\",\r\n \"ABLE_TO_PASSIVE\": \"syntaxe\",\r\n \"OCCASION_TRANSITIVE_VERB_VERY_FORMAL\": \"syntaxe\",\r\n \"ADVERB_WORD_ORDER\": \"syntaxe\",\r\n \"TWELFTH_OF_NEVER\": \"syntaxe\",\r\n \"APOSTROPHE_UPPERCASE_LETTER\": \"syntaxe\",\r\n \"PH_D\": \"syntaxe\",\r\n \"BACHELOR_ABBR\": \"syntaxe\",\r\n \"YEAR_20001\": \"syntaxe\",\r\n \"BOTH_ENUM\": \"syntaxe\",\r\n \"WINTER_DDDDD\": \"syntaxe\",\r\n \"DATE_NEW_YEAR\": \"syntaxe\",\r\n \"DATE_WEEKDAY\": \"syntaxe\",\r\n \"DATE_WEEKDAY_WITHOUT_YEAR\": \"syntaxe\",\r\n \"INVALID_DATE\": \"syntaxe\",\r\n \"ORDINAL_NUMBER_SUFFIX\": \"syntaxe\",\r\n \"LIGHTYEAR\": \"syntaxe\",\r\n \"SQUARE_ROOT\": \"syntaxe\",\r\n \"TWICE_AS_COLD\": \"syntaxe\",\r\n \"GERMAN_QUOTES\": \"typographie\",\r\n \"CAFE_DIACRITIC\": \"typographie\",\r\n \"CONSECUTIVE_SPACES\": \"typographie\",\r\n \"SPACE_BEFORE_PARENTHESIS\": \"typographie\",\r\n \"SPACE_BETWEEN_NUMBER_AND_WORD\": \"typographie\",\r\n \"COMMA_PERIOD_CONFUSION\": \"typographie\",\r\n \"APOS_SPACE_CONTRACTION\": \"typographie\",\r\n \"TL_DR\": \"typographie\",\r\n \"O_CONNOR\": \"typographie\",\r\n \"DOUBLE_APOSTROPHE\": \"typographie\",\r\n \"APOSTROPHE_VS_QUOTE\": \"typographie\",\r\n \"MISSING_APOSTROPHE\": \"typographie\",\r\n \"CD_TH\": \"typographie\",\r\n \"TRADEMARK\": \"typographie\",\r\n \"R_SYMBOL\": \"typographie\",\r\n \"COPYRIGHT\": \"typographie\",\r\n \"CURRENCY\": \"typographie\",\r\n \"CURRENCY_SPACE\": \"typographie\",\r\n \"EN_QUOTES\": \"typographie\",\r\n \"ELLIPSIS\": \"typographie\",\r\n \"WRONG_APOSTROPHE\": \"typographie\",\r\n \"SPURIOUS_APOSTROPHE\": \"typographie\",\r\n \"APOSTROPHE_IN_DATES\": \"typographie\",\r\n \"APOSTROPHE_IN_DAYS\": \"typographie\",\r\n \"CAPITALIZATION_NNP_DERIVED\": \"typographie\",\r\n \"ARROWS\": \"typographie\",\r\n \"HYPOTHESIS_TYPOGRAPHY\": \"typographie\",\r\n \"MULTIPLICATION_SIGN\": \"typographie\",\r\n \"PLUS_MINUS\": \"typographie\",\r\n \"NON_STANDARD_COMMA\": \"typographie\",\r\n \"NON_STANDARD_QUESTION_MARK\": \"typographie\",\r\n \"NON_ENGLISH_CHARACTER_IN_A_WORD\": \"typographie\",\r\n \"LUNCH_ROOM\": \"syntaxe\",\r\n \"DRIVERS_LICENSE\": \"syntaxe\",\r\n \"EGGPLANT\": \"syntaxe\",\r\n \"ZIP_CODE_POSTCODE\": \"syntaxe\",\r\n \"APARTMENT-FLAT\": \"syntaxe\",\r\n \"BAND-AID_PLASTER\": \"syntaxe\",\r\n \"GROUND_VS_MINCED\": \"syntaxe\",\r\n \"MOVIE_THEATER_CINEMA\": \"syntaxe\",\r\n \"GOT_GOTTEN\": \"syntaxe\",\r\n \"LICENCE_LICENSE_NOUN_SINGULAR\": \"syntaxe\",\r\n \"LICENCE_LICENSE_NOUN_PLURAL\": \"syntaxe\",\r\n \"TRUNK_BOOT\": \"syntaxe\",\r\n \"AIR_PLANE_AEROPLANE\": \"syntaxe\",\r\n \"SI_UNITS_OF_MEASUREMENT_ADJECTIVES_AME\": \"syntaxe\",\r\n \"TAKE_A_BATH\": \"syntaxe\",\r\n \"OK\": \"syntaxe\",\r\n \"ANYMORE\": \"syntaxe\",\r\n \"OXFORD_SPELLING_GRAM\": \"orthographe\",\r\n \"OXFORD_SPELLING_Z_NOT_S\": \"orthographe\",\r\n \"UNION_JACK\": \"syntaxe\",\r\n \"DATE_FUTURE_VERB_PAST_US\": \"syntaxe\",\r\n \"FOR_EVER_CA\": \"syntaxe\",\r\n \"AWAKED\": \"syntaxe\",\r\n \"AIT\": \"orthographe\",\r\n \"MORFOLOGIK_RULE_EN_GB\": \"orthographe\",\r\n \"FOR_EVER_US\": \"orthographe\",\r\n \"TRAD_TRADE\": \"orthographe\",\r\n \"THEE\": \"orthographe\",\r\n \"STREET_LIGHTS_COMPOUND\": \"orthographe\",\r\n \"SHIT_SHOW_COMPOUND\": \"orthographe\",\r\n \"HOME_COMPOUNDS_EN_US\": \"orthographe\",\r\n \"ANY_MORE\": \"orthographe\",\r\n \"EG_NO_COMMA\": \"syntaxe\",\r\n \"IE_NO_COMMA\": \"syntaxe\",\r\n \"ETC_PERIOD\": \"syntaxe\",\r\n \"MISSING_COMMA_AFTER_YEAR\": \"syntaxe\",\r\n \"US_ONE_ENTITY\": \"syntaxe\",\r\n \"TOILET\": \"syntaxe\",\r\n \"AFTERWARDS_US\": \"syntaxe\",\r\n \"AUBERGINE\": \"syntaxe\",\r\n \"GROUND_FIRST_FLOOR\": \"syntaxe\",\r\n \"MASTERS_DISSERTATION_THESIS\": \"syntaxe\",\r\n \"SI_UNITS_OF_MEASUREMENT_ADJECTIVES_BRE\": \"syntaxe\",\r\n \"AT_THE_WEEKEND\": \"syntaxe\",\r\n \"IN_FUTURE\": \"syntaxe\",\r\n \"HAVE_A_SHOWER\": \"syntaxe\",\r\n \"HAPPY_CHRISTMAS\": \"syntaxe\",\r\n \"THRU\": \"syntaxe\",\r\n \"MORFOLOGIK_RULE_EN_US\": \"orthographe\",\r\n \"MORFOLOGIK_RULE_EN_CA\": \"orthographe\",\r\n \"MORFOLOGIK_RULE_EN_AU\": \"orthographe\"\r\n }","export default {\r\n \"1.1\": \"orthographe\",\r\n \"1.2\": \"orthographe\",\r\n \"1.3\": \"orthographe\",\r\n \"1.4\": \"orthographe\",\r\n \"1.5\": \"orthographe\",\r\n \"1.6\": \"orthographe\",\r\n \"1.7\": \"orthographe\",\r\n \"1.8\": \"orthographe\",\r\n \"8.1\": \"orthographe\",\r\n \"9.1\": \"typographie\",\r\n \"9.2\": \"typographie\",\r\n \"9.3\": \"typographie\",\r\n \"9.4\": \"typographie\",\r\n \"9.5\": \"orthographe\",\r\n \"9.6\": \"orthographe\",\r\n \"9.7\": \"orthographe\",\r\n \"9.8\": \"orthographe\",\r\n \"9.9\": \"orthographe\",\r\n \"9.10\": \"orthographe\",\r\n \"9.11\": \"orthographe\",\r\n \"9.12\": \"orthographe\",\r\n \"9.13\": \"orthographe\",\r\n \"9.14\": \"orthographe\",\r\n \"9.15\": \"typographie\",\r\n \"9.16\": \"orthographe\",\r\n \"9.17\": \"orthographe\",\r\n \"9.18\": \"orthographe\",\r\n \"9.19\": \"orthographe\",\r\n \"9.20\": \"orthographe\",\r\n \"9.21\": \"typographie\",\r\n \"9.22\": \"typographie\",\r\n \"9.23\": \"typographie\",\r\n \"9.24\": \"typographie\",\r\n \"9.25\": \"orthographe\",\r\n \"9.26\": \"orthographe\",\r\n \"9.27\": \"orthographe\",\r\n \"11.1\": \"typographie\",\r\n \"11.2\": \"typographie\",\r\n \"11.3\": \"typographie\",\r\n \"11.4\": \"typographie\",\r\n \"11.5\": \"typographie\",\r\n \"11.6\": \"typographie\",\r\n \"11.7\": \"typographie\",\r\n \"11.8\": \"typographie\",\r\n \"11.9\": \"typographie\",\r\n \"11.10\": \"typographie\",\r\n \"11.11\": \"typographie\",\r\n \"11.12\": \"typographie\",\r\n \"11.13\": \"typographie\",\r\n \"11.14\": \"typographie\",\r\n \"11.15\": \"typographie\",\r\n \"11.16\": \"typographie\",\r\n \"11.17\": \"typographie\",\r\n \"11.18\": \"typographie\",\r\n \"11.19\": \"typographie\",\r\n \"11.20\": \"typographie\",\r\n \"11.21\": \"typographie\",\r\n \"11.22\": \"typographie\",\r\n \"11.23\": \"typographie\",\r\n \"11.24\": \"typographie\",\r\n \"11.25\": \"typographie\",\r\n \"11.26\": \"typographie\",\r\n \"11.27\": \"typographie\",\r\n \"11.28\": \"typographie\",\r\n \"11.29\": \"typographie\",\r\n \"12.1\": \"typographie\",\r\n \"12.2\": \"typographie\",\r\n \"12.3\": \"typographie\",\r\n \"12.4\": \"typographie\",\r\n \"12.5\": \"typographie\",\r\n \"12.6\": \"typographie\",\r\n \"12.7\": \"typographie\",\r\n \"13.1\": \"typographie\",\r\n \"13.2\": \"typographie\",\r\n \"15.1\": \"typographie\",\r\n \"15.2\": \"typographie\",\r\n \"15.3\": \"typographie\",\r\n \"15.4\": \"typographie\",\r\n \"15.5\": \"typographie\",\r\n \"15.6\": \"typographie\",\r\n \"15.7\": \"typographie\",\r\n \"15.8\": \"typographie\",\r\n \"15.9\": \"typographie\",\r\n \"15.10\": \"typographie\",\r\n \"15.11\": \"typographie\",\r\n \"15.12\": \"typographie\",\r\n \"15.13\": \"typographie\",\r\n \"15.14\": \"typographie\",\r\n \"15.15\": \"typographie\",\r\n \"15.16\": \"typographie\",\r\n \"15.17\": \"typographie\",\r\n \"15.18\": \"typographie\",\r\n \"15.19\": \"typographie\",\r\n \"15.20\": \"typographie\",\r\n \"16.1\": \"typographie\",\r\n \"16.2\": \"typographie\",\r\n \"16.3\": \"typographie\",\r\n \"16.4\": \"typographie\",\r\n \"16.5\": \"typographie\",\r\n \"16.6\": \"typographie\",\r\n \"16.7\": \"typographie\",\r\n \"16.8\": \"typographie\",\r\n \"16.9\": \"typographie\",\r\n \"16.10\": \"typographie\",\r\n \"16.11\": \"typographie\",\r\n \"16.12\": \"typographie\",\r\n \"16.13\": \"typographie\",\r\n \"16.14\": \"typographie\",\r\n \"18.1\": \"typographie\",\r\n \"18.2\": \"typographie\",\r\n \"18.3\": \"typographie\",\r\n \"18.4\": \"typographie\",\r\n \"18.5\": \"typographie\",\r\n \"19.1\": \"typographie\",\r\n \"19.2\": \"typographie\",\r\n \"19.3\": \"typographie\",\r\n \"19.4\": \"typographie\",\r\n \"19.5\": \"typographie\",\r\n \"19.6\": \"typographie\",\r\n \"19.7\": \"typographie\",\r\n \"19.8\": \"typographie\",\r\n \"19.9\": \"typographie\",\r\n \"19.10\": \"typographie\",\r\n \"19.11\": \"typographie\",\r\n \"19.12\": \"typographie\",\r\n \"19.13\": \"typographie\",\r\n \"19.14\": \"typographie\",\r\n \"19.15\": \"typographie\",\r\n \"19.16\": \"typographie\",\r\n \"19.17\": \"typographie\",\r\n \"19.18\": \"typographie\",\r\n \"19.19\": \"typographie\",\r\n \"19.20\": \"typographie\",\r\n \"19.21\": \"typographie\",\r\n \"19.22\": \"typographie\",\r\n \"19.23\": \"typographie\",\r\n \"19.24\": \"typographie\",\r\n \"19.25\": \"typographie\",\r\n \"19.26\": \"typographie\",\r\n \"19.27\": \"typographie\",\r\n \"19.28\": \"typographie\",\r\n \"19.29\": \"typographie\",\r\n \"19.30\": \"typographie\",\r\n \"19.31\": \"typographie\",\r\n \"19.32\": \"typographie\",\r\n \"19.33\": \"typographie\",\r\n \"19.34\": \"typographie\",\r\n \"19.35\": \"typographie\",\r\n \"19.36\": \"typographie\",\r\n \"19.37\": \"typographie\",\r\n \"19.38\": \"typographie\",\r\n \"19.39\": \"typographie\",\r\n \"19.40\": \"typographie\",\r\n \"19.41\": \"typographie\",\r\n \"19.42\": \"typographie\",\r\n \"19.43\": \"typographie\",\r\n \"19.44\": \"typographie\",\r\n \"19.45\": \"typographie\",\r\n \"19.46\": \"typographie\",\r\n \"19.47\": \"typographie\",\r\n \"19.48\": \"typographie\",\r\n \"19.49\": \"typographie\",\r\n \"19.50\": \"typographie\",\r\n \"19.51\": \"typographie\",\r\n \"19.52\": \"typographie\",\r\n \"19.53\": \"typographie\",\r\n \"20.1\": \"syntaxe\",\r\n \"20.2\": \"syntaxe\",\r\n \"20.3\": \"syntaxe\",\r\n \"20.4\": \"syntaxe\",\r\n \"20.5\": \"syntaxe\",\r\n \"20.6\": \"syntaxe\",\r\n \"20.7\": \"syntaxe\",\r\n \"20.8\": \"syntaxe\",\r\n \"20.9\": \"syntaxe\",\r\n \"20.10\": \"syntaxe\",\r\n \"20.11\": \"syntaxe\",\r\n \"20.12\": \"syntaxe\",\r\n \"20.13\": \"syntaxe\",\r\n \"20.14\": \"syntaxe\",\r\n \"20.15\": \"syntaxe\",\r\n \"20.16\": \"syntaxe\",\r\n \"20.17\": \"syntaxe\",\r\n \"20.18\": \"syntaxe\",\r\n \"20.19\": \"syntaxe\",\r\n \"20.20\": \"syntaxe\",\r\n \"20.21\": \"syntaxe\",\r\n \"20.22\": \"syntaxe\",\r\n \"20.23\": \"syntaxe\",\r\n \"20.24\": \"syntaxe\",\r\n \"20.25\": \"typographie\",\r\n \"20.26\": \"syntaxe\",\r\n \"20.27\": \"syntaxe\",\r\n \"20.28\": \"syntaxe\",\r\n \"20.29\": \"syntaxe\",\r\n \"20.30\": \"syntaxe\",\r\n \"20.31\": \"syntaxe\",\r\n \"20.32\": \"syntaxe\",\r\n \"20.33\": \"syntaxe\",\r\n \"20.34\": \"syntaxe\",\r\n \"20.35\": \"syntaxe\",\r\n \"20.36\": \"syntaxe\",\r\n \"20.37\": \"syntaxe\",\r\n \"20.38\": \"syntaxe\",\r\n \"20.39\": \"syntaxe\",\r\n \"20.40\": \"syntaxe\",\r\n \"20.41\": \"syntaxe\",\r\n \"20.42\": \"syntaxe\",\r\n \"20.43\": \"syntaxe\",\r\n \"20.44\": \"syntaxe\",\r\n \"20.45\": \"syntaxe\",\r\n \"20.46\": \"syntaxe\",\r\n \"20.47\": \"syntaxe\",\r\n \"20.48\": \"syntaxe\",\r\n \"20.49\": \"syntaxe\",\r\n \"20.50\": \"syntaxe\",\r\n \"20.51\": \"syntaxe\",\r\n \"20.52\": \"syntaxe\",\r\n \"20.53\": \"syntaxe\",\r\n \"20.54\": \"syntaxe\",\r\n \"20.55\": \"syntaxe\",\r\n \"20.56\": \"syntaxe\",\r\n \"20.57\": \"syntaxe\",\r\n \"20.58\": \"syntaxe\",\r\n \"20.59\": \"syntaxe\",\r\n \"20.60\": \"syntaxe\",\r\n \"20.61\": \"typographie\",\r\n \"20.62\": \"syntaxe\",\r\n \"20.63\": \"syntaxe\",\r\n \"20.64\": \"syntaxe\",\r\n \"20.65\": \"syntaxe\",\r\n \"20.66\": \"syntaxe\",\r\n \"20.67\": \"syntaxe\",\r\n \"20.68\": \"syntaxe\",\r\n \"20.69\": \"syntaxe\",\r\n \"20.70\": \"syntaxe\",\r\n \"20.71\": \"syntaxe\",\r\n \"20.72\": \"syntaxe\",\r\n \"20.73\": \"syntaxe\",\r\n \"20.74\": \"syntaxe\",\r\n \"20.75\": \"syntaxe\",\r\n \"20.76\": \"syntaxe\",\r\n \"20.77\": \"syntaxe\",\r\n \"20.78\": \"syntaxe\",\r\n \"20.79\": \"syntaxe\",\r\n \"20.80\": \"syntaxe\",\r\n \"20.81\": \"syntaxe\",\r\n \"20.82\": \"syntaxe\",\r\n \"20.83\": \"syntaxe\",\r\n \"20.84\": \"syntaxe\",\r\n \"20.85\": \"syntaxe\",\r\n \"20.86\": \"syntaxe\",\r\n \"20.87\": \"syntaxe\",\r\n \"20.88\": \"syntaxe\",\r\n \"20.89\": \"syntaxe\",\r\n \"20.90\": \"syntaxe\",\r\n \"20.91\": \"syntaxe\",\r\n \"20.92\": \"syntaxe\",\r\n \"20.93\": \"syntaxe\",\r\n \"20.94\": \"syntaxe\",\r\n \"20.95\": \"syntaxe\",\r\n \"20.96\": \"syntaxe\",\r\n \"20.97\": \"syntaxe\",\r\n \"20.98\": \"syntaxe\",\r\n \"20.99\": \"syntaxe\",\r\n \"20.100\": \"syntaxe\",\r\n \"20.101\": \"syntaxe\",\r\n \"20.102\": \"syntaxe\",\r\n \"20.103\": \"syntaxe\",\r\n \"20.104\": \"syntaxe\",\r\n \"20.105\": \"syntaxe\",\r\n \"20.106\": \"syntaxe\",\r\n \"20.107\": \"syntaxe\",\r\n \"20.108\": \"syntaxe\",\r\n \"20.109\": \"syntaxe\",\r\n \"20.110\": \"syntaxe\",\r\n \"20.111\": \"syntaxe\",\r\n \"20.112\": \"syntaxe\",\r\n \"20.113\": \"syntaxe\",\r\n \"20.114\": \"syntaxe\",\r\n \"20.115\": \"syntaxe\",\r\n \"20.116\": \"syntaxe\",\r\n \"20.117\": \"syntaxe\",\r\n \"20.118\": \"syntaxe\",\r\n \"20.119\": \"syntaxe\",\r\n \"20.120\": \"syntaxe\",\r\n \"20.121\": \"syntaxe\",\r\n \"20.122\": \"syntaxe\",\r\n \"20.123\": \"syntaxe\",\r\n \"20.124\": \"syntaxe\",\r\n \"20.125\": \"syntaxe\",\r\n \"20.126\": \"syntaxe\",\r\n \"20.127\": \"syntaxe\",\r\n \"20.128\": \"syntaxe\",\r\n \"21.2\": \"syntaxe\",\r\n \"21.3\": \"syntaxe\",\r\n \"21.4\": \"syntaxe\",\r\n \"21.5\": \"syntaxe\",\r\n \"21.6\": \"syntaxe\",\r\n \"21.7\": \"syntaxe\",\r\n \"21.8\": \"syntaxe\",\r\n \"21.9\": \"syntaxe\",\r\n \"21.10\": \"syntaxe\",\r\n \"21.11\": \"syntaxe\",\r\n \"21.12\": \"syntaxe\",\r\n \"21.13\": \"syntaxe\",\r\n \"21.14\": \"syntaxe\",\r\n \"21.15\": \"syntaxe\",\r\n \"21.16\": \"syntaxe\",\r\n \"21.17\": \"typographie\",\r\n \"21.18\": \"syntaxe\",\r\n \"21.19\": \"syntaxe\",\r\n \"21.20\": \"syntaxe\",\r\n \"21.21\": \"syntaxe\",\r\n \"21.22\": \"syntaxe\",\r\n \"21.23\": \"syntaxe\",\r\n \"21.24\": \"syntaxe\",\r\n \"21.25\": \"syntaxe\",\r\n \"21.26\": \"syntaxe\",\r\n \"21.27\": \"syntaxe\",\r\n \"21.28\": \"syntaxe\",\r\n \"21.29\": \"syntaxe\",\r\n \"21.30\": \"syntaxe\",\r\n \"21.31\": \"syntaxe\",\r\n \"21.32\": \"syntaxe\",\r\n \"21.33\": \"syntaxe\",\r\n \"21.34\": \"syntaxe\",\r\n \"21.35\": \"syntaxe\",\r\n \"21.36\": \"typographie\",\r\n \"21.37\": \"syntaxe\",\r\n \"21.38\": \"syntaxe\",\r\n \"21.39\": \"syntaxe\",\r\n \"21.40\": \"syntaxe\",\r\n \"21.41\": \"syntaxe\",\r\n \"21.42\": \"syntaxe\",\r\n \"21.43\": \"syntaxe\",\r\n \"21.44\": \"syntaxe\",\r\n \"21.45\": \"syntaxe\",\r\n \"21.46\": \"syntaxe\",\r\n \"21.47\": \"syntaxe\",\r\n \"21.48\": \"syntaxe\",\r\n \"21.49\": \"syntaxe\",\r\n \"21.50\": \"syntaxe\",\r\n \"21.51\": \"syntaxe\",\r\n \"21.52\": \"syntaxe\",\r\n \"21.53\": \"syntaxe\",\r\n \"21.54\": \"syntaxe\",\r\n \"21.55\": \"syntaxe\",\r\n \"21.56\": \"syntaxe\",\r\n \"21.57\": \"syntaxe\",\r\n \"21.58\": \"syntaxe\",\r\n \"21.59\": \"syntaxe\",\r\n \"21.60\": \"syntaxe\",\r\n \"21.61\": \"syntaxe\",\r\n \"21.62\": \"syntaxe\",\r\n \"21.63\": \"syntaxe\",\r\n \"21.64\": \"syntaxe\",\r\n \"21.65\": \"syntaxe\",\r\n \"21.66\": \"syntaxe\",\r\n \"21.67\": \"syntaxe\",\r\n \"21.68\": \"syntaxe\",\r\n \"21.69\": \"syntaxe\",\r\n \"21.70\": \"syntaxe\",\r\n \"21.71\": \"syntaxe\",\r\n \"21.72\": \"syntaxe\",\r\n \"21.73\": \"syntaxe\",\r\n \"21.74\": \"syntaxe\",\r\n \"21.75\": \"syntaxe\",\r\n \"21.76\": \"syntaxe\",\r\n \"21.77\": \"syntaxe\",\r\n \"21.78\": \"syntaxe\",\r\n \"21.79\": \"syntaxe\",\r\n \"21.80\": \"syntaxe\",\r\n \"21.81\": \"syntaxe\",\r\n \"21.82\": \"syntaxe\",\r\n \"21.83\": \"syntaxe\",\r\n \"21.84\": \"syntaxe\",\r\n \"21.85\": \"syntaxe\",\r\n \"21.86\": \"syntaxe\",\r\n \"21.87\": \"syntaxe\",\r\n \"21.88\": \"syntaxe\",\r\n \"21.89\": \"syntaxe\",\r\n \"21.90\": \"syntaxe\",\r\n \"21.91\": \"syntaxe\",\r\n \"21.92\": \"syntaxe\",\r\n \"21.93\": \"syntaxe\",\r\n \"21.94\": \"syntaxe\",\r\n \"21.95\": \"syntaxe\",\r\n \"21.96\": \"syntaxe\",\r\n \"21.97\": \"syntaxe\",\r\n \"21.98\": \"syntaxe\",\r\n \"21.99\": \"syntaxe\",\r\n \"21.100\": \"syntaxe\",\r\n \"21.101\": \"syntaxe\",\r\n \"21.102\": \"syntaxe\",\r\n \"21.103\": \"syntaxe\",\r\n \"21.104\": \"syntaxe\",\r\n \"21.105\": \"syntaxe\",\r\n \"21.106\": \"syntaxe\",\r\n \"21.107\": \"syntaxe\",\r\n \"21.108\": \"syntaxe\",\r\n \"21.109\": \"syntaxe\",\r\n \"21.110\": \"syntaxe\",\r\n \"21.111\": \"syntaxe\",\r\n \"21.112\": \"syntaxe\",\r\n \"21.113\": \"syntaxe\",\r\n \"21.114\": \"syntaxe\",\r\n \"21.115\": \"syntaxe\",\r\n \"21.116\": \"syntaxe\",\r\n \"21.117\": \"syntaxe\",\r\n \"21.118\": \"syntaxe\",\r\n \"21.119\": \"syntaxe\",\r\n \"21.120\": \"syntaxe\",\r\n \"21.121\": \"syntaxe\",\r\n \"21.122\": \"syntaxe\",\r\n \"21.123\": \"syntaxe\",\r\n \"21.124\": \"syntaxe\",\r\n \"21.125\": \"syntaxe\",\r\n \"21.126\": \"syntaxe\",\r\n \"21.127\": \"syntaxe\",\r\n \"21.128\": \"syntaxe\",\r\n \"22.2\": \"syntaxe\",\r\n \"22.3\": \"syntaxe\",\r\n \"22.4\": \"syntaxe\",\r\n \"22.5\": \"syntaxe\",\r\n \"22.6\": \"syntaxe\",\r\n \"22.7\": \"syntaxe\",\r\n \"22.8\": \"syntaxe\",\r\n \"22.9\": \"syntaxe\",\r\n \"22.10\": \"syntaxe\",\r\n \"22.11\": \"syntaxe\",\r\n \"22.12\": \"syntaxe\",\r\n \"22.13\": \"syntaxe\",\r\n \"22.14\": \"syntaxe\",\r\n \"22.15\": \"syntaxe\",\r\n \"22.16\": \"syntaxe\",\r\n \"22.17\": \"syntaxe\",\r\n \"22.18\": \"syntaxe\",\r\n \"22.19\": \"syntaxe\",\r\n \"22.20\": \"syntaxe\",\r\n \"22.21\": \"syntaxe\",\r\n \"22.22\": \"syntaxe\",\r\n \"22.23\": \"syntaxe\",\r\n \"22.24\": \"syntaxe\",\r\n \"22.25\": \"syntaxe\",\r\n \"22.26\": \"syntaxe\",\r\n \"22.27\": \"syntaxe\",\r\n \"22.28\": \"syntaxe\",\r\n \"22.29\": \"syntaxe\",\r\n \"22.30\": \"syntaxe\",\r\n \"22.31\": \"syntaxe\",\r\n \"22.32\": \"typographie\",\r\n \"22.33\": \"syntaxe\",\r\n \"22.34\": \"syntaxe\",\r\n \"22.35\": \"syntaxe\",\r\n \"22.36\": \"syntaxe\",\r\n \"22.37\": \"typographie\",\r\n \"22.38\": \"syntaxe\",\r\n \"22.39\": \"syntaxe\",\r\n \"22.40\": \"syntaxe\",\r\n \"22.41\": \"syntaxe\",\r\n \"22.42\": \"syntaxe\",\r\n \"22.43\": \"syntaxe\",\r\n \"22.44\": \"syntaxe\",\r\n \"22.45\": \"typographie\",\r\n \"22.46\": \"syntaxe\",\r\n \"22.47\": \"syntaxe\",\r\n \"22.48\": \"syntaxe\",\r\n \"22.49\": \"syntaxe\",\r\n \"22.50\": \"typographie\",\r\n \"22.51\": \"syntaxe\",\r\n \"22.52\": \"syntaxe\",\r\n \"22.53\": \"syntaxe\",\r\n \"22.54\": \"syntaxe\",\r\n \"22.55\": \"syntaxe\",\r\n \"22.56\": \"syntaxe\",\r\n \"22.57\": \"typographie\",\r\n \"22.58\": \"syntaxe\",\r\n \"22.59\": \"syntaxe\",\r\n \"22.60\": \"syntaxe\",\r\n \"22.61\": \"syntaxe\",\r\n \"22.62\": \"syntaxe\",\r\n \"22.63\": \"syntaxe\",\r\n \"22.64\": \"typographie\",\r\n \"22.65\": \"typographie\",\r\n \"22.66\": \"syntaxe\",\r\n \"22.67\": \"syntaxe\",\r\n \"22.68\": \"syntaxe\",\r\n \"22.69\": \"syntaxe\",\r\n \"22.70\": \"typographie\",\r\n \"22.71\": \"syntaxe\",\r\n \"22.72\": \"syntaxe\",\r\n \"22.73\": \"typographie\",\r\n \"22.74\": \"typographie\",\r\n \"22.75\": \"typographie\",\r\n \"22.76\": \"syntaxe\",\r\n \"22.77\": \"syntaxe\",\r\n \"22.78\": \"typographie\",\r\n \"22.79\": \"typographie\",\r\n \"22.80\": \"syntaxe\",\r\n \"22.81\": \"syntaxe\",\r\n \"22.82\": \"syntaxe\",\r\n \"22.83\": \"syntaxe\",\r\n \"22.84\": \"syntaxe\",\r\n \"22.85\": \"syntaxe\",\r\n \"22.86\": \"syntaxe\",\r\n \"22.87\": \"syntaxe\",\r\n \"22.88\": \"syntaxe\",\r\n \"22.89\": \"syntaxe\",\r\n \"22.90\": \"syntaxe\",\r\n \"22.91\": \"syntaxe\",\r\n \"22.92\": \"syntaxe\",\r\n \"22.93\": \"syntaxe\",\r\n \"22.94\": \"syntaxe\",\r\n \"22.95\": \"syntaxe\",\r\n \"22.96\": \"syntaxe\",\r\n \"22.97\": \"syntaxe\",\r\n \"22.98\": \"syntaxe\",\r\n \"22.99\": \"syntaxe\",\r\n \"22.100\": \"syntaxe\",\r\n \"22.101\": \"syntaxe\",\r\n \"22.102\": \"syntaxe\",\r\n \"22.103\": \"syntaxe\",\r\n \"22.104\": \"syntaxe\",\r\n \"22.105\": \"syntaxe\",\r\n \"22.106\": \"syntaxe\",\r\n \"22.107\": \"syntaxe\",\r\n \"22.108\": \"syntaxe\",\r\n \"22.109\": \"syntaxe\",\r\n \"22.110\": \"syntaxe\",\r\n \"22.111\": \"syntaxe\",\r\n \"22.112\": \"syntaxe\",\r\n \"22.113\": \"syntaxe\",\r\n \"22.114\": \"syntaxe\",\r\n \"22.115\": \"syntaxe\",\r\n \"22.116\": \"syntaxe\",\r\n \"22.117\": \"syntaxe\",\r\n \"22.118\": \"syntaxe\",\r\n \"22.119\": \"syntaxe\",\r\n \"22.120\": \"syntaxe\",\r\n \"22.121\": \"syntaxe\",\r\n \"22.122\": \"syntaxe\",\r\n \"22.123\": \"syntaxe\",\r\n \"22.124\": \"syntaxe\",\r\n \"22.125\": \"syntaxe\",\r\n \"22.126\": \"syntaxe\",\r\n \"22.127\": \"syntaxe\",\r\n \"22.128\": \"syntaxe\",\r\n \"23.2\": \"syntaxe\",\r\n \"23.3\": \"syntaxe\",\r\n \"23.4\": \"syntaxe\",\r\n \"23.5\": \"syntaxe\",\r\n \"23.6\": \"syntaxe\",\r\n \"23.7\": \"syntaxe\",\r\n \"23.8\": \"syntaxe\",\r\n \"30.1\": \"syntaxe\",\r\n \"30.2\": \"syntaxe\",\r\n \"30.3\": \"syntaxe\",\r\n \"30.4\": \"syntaxe\",\r\n \"30.5\": \"syntaxe\",\r\n \"30.6\": \"syntaxe\",\r\n \"30.7\": \"syntaxe\",\r\n \"30.8\": \"syntaxe\",\r\n \"30.9\": \"syntaxe\",\r\n \"30.10\": \"syntaxe\",\r\n \"30.11\": \"syntaxe\",\r\n \"30.12\": \"syntaxe\",\r\n \"30.13\": \"syntaxe\",\r\n \"30.14\": \"syntaxe\",\r\n \"30.15\": \"syntaxe\",\r\n \"30.16\": \"syntaxe\",\r\n \"30.17\": \"syntaxe\",\r\n \"31.1\": \"syntaxe\",\r\n \"31.2\": \"syntaxe\",\r\n \"31.3\": \"syntaxe\",\r\n \"31.4\": \"syntaxe\",\r\n \"40.1\": \"syntaxe\",\r\n \"40.2\": \"syntaxe\",\r\n \"40.3\": \"syntaxe\",\r\n \"40.4\": \"syntaxe\",\r\n \"40.5\": \"syntaxe\",\r\n \"40.6\": \"syntaxe\",\r\n \"40.7\": \"syntaxe\",\r\n \"40.8\": \"syntaxe\",\r\n \"40.9\": \"syntaxe\",\r\n \"40.10\": \"syntaxe\",\r\n \"40.11\": \"syntaxe\",\r\n \"40.12\": \"syntaxe\",\r\n \"40.13\": \"syntaxe\",\r\n \"40.14\": \"syntaxe\",\r\n \"41.1\": \"syntaxe\",\r\n \"41.2\": \"syntaxe\",\r\n \"41.3\": \"syntaxe\",\r\n \"41.4\": \"syntaxe\",\r\n \"42.1\": \"syntaxe\",\r\n \"42.2\": \"syntaxe\",\r\n \"42.3\": \"syntaxe\",\r\n \"42.4\": \"syntaxe\",\r\n \"43.1\": \"syntaxe\",\r\n \"43.2\": \"syntaxe\",\r\n \"43.3\": \"syntaxe\",\r\n \"43.4\": \"syntaxe\",\r\n \"43.5\": \"syntaxe\",\r\n \"44.1\": \"syntaxe\",\r\n \"44.2\": \"syntaxe\",\r\n \"44.3\": \"syntaxe\",\r\n \"44.4\": \"syntaxe\",\r\n \"44.5\": \"syntaxe\",\r\n \"44.6\": \"typographie\",\r\n \"44.7\": \"syntaxe\",\r\n \"44.8\": \"syntaxe\",\r\n \"44.9\": \"syntaxe\",\r\n \"45.1\": \"syntaxe\",\r\n \"45.2\": \"syntaxe\",\r\n \"45.3\": \"syntaxe\",\r\n \"45.4\": \"syntaxe\",\r\n \"45.5\": \"syntaxe\",\r\n \"45.6\": \"syntaxe\",\r\n \"45.7\": \"syntaxe\",\r\n \"45.8\": \"syntaxe\",\r\n \"50.2\": \"syntaxe\",\r\n \"50.3\": \"syntaxe\",\r\n \"50.4\": \"syntaxe\",\r\n \"50.5\": \"syntaxe\",\r\n \"50.6\": \"syntaxe\",\r\n \"50.7\": \"syntaxe\",\r\n \"50.8\": \"syntaxe\",\r\n \"50.9\": \"syntaxe\",\r\n \"50.10\": \"syntaxe\",\r\n \"50.11\": \"syntaxe\",\r\n \"50.12\": \"syntaxe\",\r\n \"50.13\": \"syntaxe\",\r\n \"50.14\": \"syntaxe\",\r\n \"50.15\": \"syntaxe\",\r\n \"50.16\": \"syntaxe\",\r\n \"50.17\": \"syntaxe\",\r\n \"50.18\": \"syntaxe\",\r\n \"50.19\": \"syntaxe\",\r\n \"50.20\": \"syntaxe\",\r\n \"50.21\": \"syntaxe\",\r\n \"50.22\": \"syntaxe\",\r\n \"50.23\": \"syntaxe\",\r\n \"50.24\": \"syntaxe\",\r\n \"50.25\": \"syntaxe\",\r\n \"50.26\": \"syntaxe\",\r\n \"50.27\": \"syntaxe\",\r\n \"50.28\": \"syntaxe\",\r\n \"50.29\": \"syntaxe\",\r\n \"50.30\": \"syntaxe\",\r\n \"50.31\": \"syntaxe\",\r\n \"50.32\": \"syntaxe\",\r\n \"50.33\": \"syntaxe\",\r\n \"50.34\": \"syntaxe\",\r\n \"50.35\": \"syntaxe\",\r\n \"50.36\": \"syntaxe\",\r\n \"50.37\": \"syntaxe\",\r\n \"50.38\": \"syntaxe\",\r\n \"50.39\": \"syntaxe\",\r\n \"50.40\": \"syntaxe\",\r\n \"50.41\": \"syntaxe\",\r\n \"50.42\": \"syntaxe\",\r\n \"50.43\": \"syntaxe\",\r\n \"50.44\": \"syntaxe\",\r\n \"50.45\": \"syntaxe\",\r\n \"50.46\": \"syntaxe\",\r\n \"50.47\": \"syntaxe\",\r\n \"50.48\": \"syntaxe\",\r\n \"50.49\": \"syntaxe\",\r\n \"50.50\": \"syntaxe\",\r\n \"50.51\": \"syntaxe\",\r\n \"50.52\": \"syntaxe\",\r\n \"50.53\": \"syntaxe\",\r\n \"51.1\": \"syntaxe\",\r\n \"51.2\": \"syntaxe\",\r\n \"51.3\": \"syntaxe\",\r\n \"51.4\": \"syntaxe\",\r\n \"51.5\": \"syntaxe\",\r\n \"51.6\": \"syntaxe\",\r\n \"51.7\": \"syntaxe\",\r\n \"51.8\": \"syntaxe\",\r\n \"51.9\": \"syntaxe\",\r\n \"51.10\": \"syntaxe\",\r\n \"51.11\": \"syntaxe\",\r\n \"51.12\": \"syntaxe\",\r\n \"51.13\": \"syntaxe\",\r\n \"51.14\": \"syntaxe\",\r\n \"51.15\": \"syntaxe\",\r\n \"51.16\": \"syntaxe\",\r\n \"52.1\": \"syntaxe\",\r\n \"52.2\": \"syntaxe\",\r\n \"52.3\": \"syntaxe\",\r\n \"52.4\": \"syntaxe\",\r\n \"52.5\": \"syntaxe\",\r\n \"52.6\": \"syntaxe\",\r\n \"52.7\": \"syntaxe\",\r\n \"52.8\": \"syntaxe\",\r\n \"52.9\": \"syntaxe\",\r\n \"52.10\": \"syntaxe\",\r\n \"52.11\": \"syntaxe\",\r\n \"52.12\": \"syntaxe\",\r\n \"52.13\": \"syntaxe\",\r\n \"52.14\": \"syntaxe\",\r\n \"52.15\": \"syntaxe\",\r\n \"52.16\": \"syntaxe\",\r\n \"52.17\": \"syntaxe\",\r\n \"53.1\": \"syntaxe\",\r\n \"53.2\": \"syntaxe\",\r\n \"53.3\": \"syntaxe\",\r\n \"53.4\": \"syntaxe\",\r\n \"53.5\": \"syntaxe\",\r\n \"53.6\": \"syntaxe\",\r\n \"53.7\": \"syntaxe\",\r\n \"53.8\": \"syntaxe\",\r\n \"53.9\": \"syntaxe\",\r\n \"53.10\": \"syntaxe\",\r\n \"53.11\": \"syntaxe\",\r\n \"53.12\": \"syntaxe\",\r\n \"53.13\": \"syntaxe\",\r\n \"53.14\": \"syntaxe\",\r\n \"53.15\": \"syntaxe\",\r\n \"53.16\": \"syntaxe\",\r\n \"53.17\": \"syntaxe\",\r\n \"60.1\": \"syntaxe\",\r\n \"60.2\": \"syntaxe\",\r\n \"60.3\": \"syntaxe\",\r\n \"60.4\": \"syntaxe\",\r\n \"61.1\": \"syntaxe\",\r\n \"61.2\": \"syntaxe\",\r\n \"61.3\": \"syntaxe\",\r\n \"61.4\": \"syntaxe\",\r\n \"62.1\": \"syntaxe\",\r\n \"62.2\": \"syntaxe\",\r\n \"62.3\": \"syntaxe\",\r\n \"62.4\": \"syntaxe\",\r\n \"62.5\": \"syntaxe\",\r\n \"62.6\": \"syntaxe\",\r\n \"62.7\": \"syntaxe\",\r\n \"63.1\": \"syntaxe\",\r\n \"63.2\": \"syntaxe\",\r\n \"63.3\": \"syntaxe\",\r\n \"63.4\": \"syntaxe\",\r\n \"63.5\": \"syntaxe\",\r\n \"63.6\": \"syntaxe\",\r\n \"63.7\": \"syntaxe\",\r\n \"64.1\": \"syntaxe\",\r\n \"64.2\": \"syntaxe\",\r\n \"64.3\": \"syntaxe\",\r\n \"64.4\": \"syntaxe\",\r\n \"64.5\": \"syntaxe\",\r\n \"64.6\": \"syntaxe\",\r\n \"64.7\": \"syntaxe\",\r\n \"64.8\": \"syntaxe\",\r\n \"64.9\": \"syntaxe\",\r\n \"64.10\": \"syntaxe\",\r\n \"64.11\": \"syntaxe\",\r\n \"64.12\": \"syntaxe\",\r\n \"64.13\": \"syntaxe\",\r\n \"64.14\": \"syntaxe\",\r\n \"65.1\": \"syntaxe\",\r\n \"65.2\": \"syntaxe\",\r\n \"65.3\": \"syntaxe\",\r\n \"65.4\": \"syntaxe\",\r\n \"65.5\": \"syntaxe\",\r\n \"65.6\": \"syntaxe\",\r\n \"65.7\": \"syntaxe\",\r\n \"65.8\": \"syntaxe\",\r\n \"65.9\": \"syntaxe\",\r\n \"65.10\": \"syntaxe\",\r\n \"65.11\": \"syntaxe\",\r\n \"66.1\": \"syntaxe\",\r\n \"66.2\": \"syntaxe\",\r\n \"66.3\": \"syntaxe\",\r\n \"66.4\": \"syntaxe\",\r\n \"66.5\": \"syntaxe\",\r\n \"66.6\": \"syntaxe\",\r\n \"66.7\": \"syntaxe\",\r\n \"66.8\": \"syntaxe\",\r\n \"66.9\": \"syntaxe\",\r\n \"66.10\": \"syntaxe\",\r\n \"66.11\": \"syntaxe\",\r\n \"66.12\": \"syntaxe\",\r\n \"66.13\": \"syntaxe\",\r\n \"66.14\": \"syntaxe\",\r\n \"66.15\": \"syntaxe\",\r\n \"67.1\": \"syntaxe\",\r\n \"67.2\": \"syntaxe\",\r\n \"67.3\": \"syntaxe\",\r\n \"67.4\": \"syntaxe\",\r\n \"67.5\": \"syntaxe\",\r\n \"67.6\": \"syntaxe\",\r\n \"67.7\": \"syntaxe\",\r\n \"67.8\": \"syntaxe\",\r\n \"67.9\": \"syntaxe\",\r\n \"68.1\": \"syntaxe\",\r\n \"68.2\": \"syntaxe\",\r\n \"68.3\": \"syntaxe\",\r\n \"68.4\": \"syntaxe\",\r\n \"68.5\": \"syntaxe\",\r\n \"68.6\": \"syntaxe\",\r\n \"70.1\": \"syntaxe\",\r\n \"70.2\": \"syntaxe\",\r\n \"70.3\": \"syntaxe\",\r\n \"70.4\": \"syntaxe\",\r\n \"70.5\": \"syntaxe\",\r\n \"70.6\": \"syntaxe\",\r\n \"71.1\": \"syntaxe\",\r\n \"71.2\": \"syntaxe\",\r\n \"71.3\": \"syntaxe\",\r\n \"71.4\": \"syntaxe\",\r\n \"71.5\": \"syntaxe\",\r\n \"71.6\": \"syntaxe\",\r\n \"72.1\": \"syntaxe\",\r\n \"80.1\": \"syntaxe\",\r\n \"80.2\": \"syntaxe\",\r\n \"80.3\": \"syntaxe\",\r\n \"80.4\": \"syntaxe\",\r\n \"80.5\": \"syntaxe\",\r\n \"80.6\": \"syntaxe\",\r\n \"80.7\": \"syntaxe\",\r\n \"80.8\": \"syntaxe\",\r\n \"80.9\": \"syntaxe\",\r\n \"80.10\": \"syntaxe\",\r\n \"80.11\": \"syntaxe\",\r\n \"80.12\": \"syntaxe\",\r\n \"80.13\": \"syntaxe\",\r\n \"80.14\": \"syntaxe\",\r\n \"80.15\": \"syntaxe\",\r\n \"80.16\": \"syntaxe\",\r\n \"80.17\": \"syntaxe\",\r\n \"80.18\": \"syntaxe\",\r\n \"80.19\": \"syntaxe\",\r\n \"80.20\": \"syntaxe\",\r\n \"80.21\": \"syntaxe\",\r\n \"80.22\": \"typographie\",\r\n \"80.23\": \"syntaxe\",\r\n \"80.24\": \"syntaxe\",\r\n \"80.25\": \"syntaxe\",\r\n \"80.26\": \"syntaxe\",\r\n \"80.27\": \"syntaxe\",\r\n \"80.28\": \"syntaxe\",\r\n \"80.29\": \"syntaxe\",\r\n \"80.30\": \"syntaxe\",\r\n \"80.31\": \"syntaxe\",\r\n \"80.32\": \"syntaxe\",\r\n \"80.33\": \"syntaxe\",\r\n \"80.34\": \"syntaxe\",\r\n \"80.35\": \"syntaxe\",\r\n \"80.36\": \"syntaxe\",\r\n \"80.37\": \"syntaxe\",\r\n \"80.38\": \"syntaxe\",\r\n \"80.39\": \"syntaxe\",\r\n \"80.40\": \"syntaxe\",\r\n \"80.41\": \"syntaxe\",\r\n \"80.42\": \"syntaxe\",\r\n \"80.43\": \"syntaxe\",\r\n \"80.44\": \"syntaxe\",\r\n \"80.45\": \"syntaxe\",\r\n \"80.46\": \"syntaxe\",\r\n \"80.47\": \"syntaxe\",\r\n \"80.48\": \"syntaxe\",\r\n \"80.49\": \"syntaxe\",\r\n \"80.50\": \"syntaxe\",\r\n \"80.51\": \"syntaxe\",\r\n \"80.52\": \"syntaxe\",\r\n \"80.53\": \"syntaxe\",\r\n } ","export default {\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"typographie\",\r\n \"DOUBLE_PUNCTUATION\": \"typographie\",\r\n \"ES_UNPAIRED_BRACKETS\": \"typographie\",\r\n \"ES_QUESTION_MARK\": \"typographie\",\r\n \"MORFOLOGIK_RULE_ES\": \"orthographe\",\r\n \"UPPERCASE_SENTENCE_START\": \"typographie\",\r\n \"SPANISH_WORD_REPEAT_RULE\": \"syntaxe\",\r\n \"WHITESPACE_RULE\": \"typographie\",\r\n \"SPANISH_WRONG_WORD_IN_CONTEXT\": \"syntaxe\",\r\n \"TOO_LONG_SENTENCE\": \"syntaxe\",\r\n \"ES_SIMPLE_REPLACE\": \"orthographe\",\r\n \"ES_SIMPLE_REPLACE_VERBS\": \"orthographe\",\r\n \"SPANISH_WORD_REPEAT_BEGINNING_RULE\": \"syntaxe\",\r\n \"ES_COMPOUNDS\": \"syntaxe\",\r\n \"ES_REPEATEDWORDS\": \"syntaxe\",\r\n \"REP_POR_LO_TANTO\": \"syntaxe\",\r\n \"REP_ANTES\": \"syntaxe\",\r\n \"REP_YA_QUE\": \"syntaxe\",\r\n \"REP_DESPUES\": \"syntaxe\",\r\n \"DOBLE_ESPACIO\": \"typographie\",\r\n \"MAYUSCULAS_INICIO_FRASE\": \"typographie\",\r\n \"ESO\": \"typographie\",\r\n \"WHATSAPP\": \"typographie\",\r\n \"MAY_ABREVIATURA\": \"typographie\",\r\n \"MIN_MESES\": \"typographie\",\r\n \"MIN_DIAS_SEMANA\": \"typographie\",\r\n \"MIN_ESTACIONES\": \"typographie\",\r\n \"HOMO\": \"typographie\",\r\n \"SAO_PAULO\": \"syntaxe\",\r\n \"A_CONTRAPIE\": \"syntaxe\",\r\n \"OBEDIENCIA_DEBIDA\": \"syntaxe\",\r\n \"LITROS_POR_METRO\": \"syntaxe\",\r\n \"EN_LA_MEDIDA_EN_QUE\": \"syntaxe\",\r\n \"CUOTA_COTA\": \"syntaxe\",\r\n \"AL_IGUAL_QUE\": \"syntaxe\",\r\n \"HOLA_QUE_TAL\": \"syntaxe\",\r\n \"HOLA_COMO_ESTAS\": \"syntaxe\",\r\n \"VALLA_VAYA\": \"syntaxe\",\r\n \"PODER_VOSEO\": \"syntaxe\",\r\n \"HACE_UN_MES_ATRAS\": \"syntaxe\",\r\n \"EXCESO_DE_AFORO\": \"syntaxe\",\r\n \"DHONDT\": \"syntaxe\",\r\n \"PRET_A_PORTER\": \"syntaxe\",\r\n \"MENAGE_A_TROIS\": \"syntaxe\",\r\n \"PEARL_HARBOR\": \"syntaxe\",\r\n \"DEJA_VU\": \"syntaxe\",\r\n \"A_PUNTO_DE\": \"syntaxe\",\r\n \"TAL_ES_ASI\": \"syntaxe\",\r\n \"POR_TAL_DE\": \"syntaxe\",\r\n \"ALTO_CARGO\": \"syntaxe\",\r\n \"PLASMA_CONVALECIENTE\": \"syntaxe\",\r\n \"TIRA_AFLOJA\": \"syntaxe\",\r\n \"AFRENTAR_DIFICULTADES\": \"syntaxe\",\r\n \"DESTORNILLAR_RISA\": \"syntaxe\",\r\n \"CONTRA_MAS\": \"syntaxe\",\r\n \"SIN_ECUANIME\": \"syntaxe\",\r\n \"EMPECE\": \"typographie\",\r\n \"COLERA\": \"typographie\",\r\n \"FALTA_ELEMENTO_ENTRE_VERBOS\": \"typographie\",\r\n \"COMO_COMPARATIVO\": \"typographie\",\r\n \"DIACRITICS_VERB_N_ADJ\": \"typographie\",\r\n \"ANIMO\": \"typographie\",\r\n \"LA_MATRICULA\": \"typographie\",\r\n \"PRORROGA\": \"typographie\",\r\n \"CELEBRE\": \"typographie\",\r\n \"TERMINO\": \"typographie\",\r\n \"MARQUES\": \"typographie\",\r\n \"PIO\": \"typographie\",\r\n \"PRACTICA\": \"typographie\",\r\n \"REPUBLICA\": \"typographie\",\r\n \"PUBLICO\": \"typographie\",\r\n \"CIRCULO\": \"typographie\",\r\n \"INTIMA\": \"typographie\",\r\n \"DIACRITICS_SPECIAL\": \"typographie\",\r\n \"DIACRITICS_00\": \"typographie\",\r\n \"DIACRITICS_01\": \"typographie\",\r\n \"DIACRITICS_02\": \"typographie\",\r\n \"DIACRITICS_03\": \"typographie\",\r\n \"DIACRITICS_04\": \"typographie\",\r\n \"DIACRITICS_05\": \"typographie\",\r\n \"DIACRITICS_06\": \"typographie\",\r\n \"LIDERES\": \"typographie\",\r\n \"LEGITIMA\": \"typographie\",\r\n \"DEPOSITO\": \"typographie\",\r\n \"DIACRITICS_CONDICIONAL\": \"typographie\",\r\n \"VIVIDAMENTE\": \"typographie\",\r\n \"RELATIVOS_SIN_TILDE\": \"typographie\",\r\n \"QUE\": \"typographie\",\r\n \"QUE_TILDE\": \"typographie\",\r\n \"QUE_SIN_TILDE\": \"typographie\",\r\n \"QUIEN\": \"typographie\",\r\n \"QUE_TAL\": \"typographie\",\r\n \"INTERROGATIVAS_INDIRECTAS\": \"typographie\",\r\n \"SE_CREO\": \"typographie\",\r\n \"SE_CREO2\": \"typographie\",\r\n \"PROMEDIO\": \"typographie\",\r\n \"SE_FIE\": \"typographie\",\r\n \"SE_A\": \"typographie\",\r\n \"SE\": \"typographie\",\r\n \"CONTINUA\": \"typographie\",\r\n \"SABIA\": \"typographie\",\r\n \"AMPLIA\": \"typographie\",\r\n \"VARIA\": \"typographie\",\r\n \"TENIA\": \"typographie\",\r\n \"SALIO\": \"typographie\",\r\n \"SERA\": \"typographie\",\r\n \"VERA\": \"typographie\",\r\n \"VENIA\": \"typographie\",\r\n \"COMO\": \"typographie\",\r\n \"CUAL_SIN_TILDE\": \"typographie\",\r\n \"CUAL_CON_TILDE\": \"typographie\",\r\n \"FUTURO_SUBJ_IND\": \"typographie\",\r\n \"SUBJUNTIVO_INCORRECTO\": \"typographie\",\r\n \"SUBJUNTIVO_FUTURO\": \"typographie\",\r\n \"SUBJUNTIVO_PASADO\": \"typographie\",\r\n \"SUBJUNTIVO_PASADO2\": \"typographie\",\r\n \"DIACRITICS_OTHERS\": \"typographie\",\r\n \"PAGINA\": \"typographie\",\r\n \"LIQUIDA\": \"typographie\",\r\n \"GRAFICO\": \"typographie\",\r\n \"NUMERO\": \"typographie\",\r\n \"ULTIMA\": \"typographie\",\r\n \"ULTIMO\": \"typographie\",\r\n \"TOCARIA\": \"typographie\",\r\n \"ADEMAS\": \"typographie\",\r\n \"UNUSUAL_WITHOUT_ACCENT\": \"typographie\",\r\n \"ORDENES\": \"typographie\",\r\n \"DANES\": \"typographie\",\r\n \"INGLES\": \"typographie\",\r\n \"RIO\": \"typographie\",\r\n \"FRIO\": \"typographie\",\r\n \"LIO\": \"typographie\",\r\n \"AMEN\": \"typographie\",\r\n \"SERIAN\": \"typographie\",\r\n \"SERIA\": \"typographie\",\r\n \"PARIS\": \"typographie\",\r\n \"EL_NO_TILDE\": \"typographie\",\r\n \"EL_TILDE\": \"typographie\",\r\n \"MI_TILDE\": \"typographie\",\r\n \"MI_SIN_TILDE\": \"typographie\",\r\n \"TU_SIN_TILDE\": \"typographie\",\r\n \"TU_TILDE\": \"typographie\",\r\n \"ESTA_TILDE\": \"typographie\",\r\n \"ESTAS_NO_TILDE\": \"typographie\",\r\n \"IRA_TILDE\": \"typographie\",\r\n \"ESTAS_TILDE\": \"typographie\",\r\n \"ESTAS_TILDE2\": \"typographie\",\r\n \"ESTE_TILDE\": \"typographie\",\r\n \"DE_TILDE\": \"typographie\",\r\n \"TE_TILDE\": \"typographie\",\r\n \"TE_TILDE2\": \"typographie\",\r\n \"HACIA_NO_TILDE\": \"typographie\",\r\n \"HACIA_TILDE\": \"typographie\",\r\n \"SOLICITO_NO_TILDE\": \"typographie\",\r\n \"MAS\": \"typographie\",\r\n \"AUN\": \"typographie\",\r\n \"AUN2\": \"typographie\",\r\n \"SI\": \"typographie\",\r\n \"SI_AFIRMACION\": \"typographie\",\r\n \"SI_AFIRMACION2\": \"typographie\",\r\n \"PASO\": \"typographie\",\r\n \"EX_ALTO_CARGO\": \"orthographe\",\r\n \"CLICK_CLIC\": \"orthographe\",\r\n \"D_ELA\": \"orthographe\",\r\n \"SUGERENCIAS_ANTE\": \"orthographe\",\r\n \"NUMBERS_IN_WORDS\": \"orthographe\",\r\n \"DEMAS\": \"orthographe\",\r\n \"PLURAL_SEPARADO\": \"orthographe\",\r\n \"R_RR\": \"orthographe\",\r\n \"CONTRACCIONES\": \"orthographe\",\r\n \"ARTICULO_EN_TOPONIMOS\": \"orthographe\",\r\n \"SIGLAS\": \"orthographe\",\r\n \"CURRICULUM\": \"orthographe\",\r\n \"SEPARADO\": \"orthographe\",\r\n \"INFINITIVO_LA\": \"orthographe\",\r\n \"CON_GUION\": \"orthographe\",\r\n \"APARTES\": \"orthographe\",\r\n \"EN_TORNO\": \"orthographe\",\r\n \"APARTE\": \"orthographe\",\r\n \"NO_SEPARADO\": \"orthographe\",\r\n \"BIEN_VENIDO\": \"orthographe\",\r\n \"TIK_TOK\": \"orthographe\",\r\n \"SUPER\": \"orthographe\",\r\n \"HIPER\": \"orthographe\",\r\n \"AUTO_NO_SEPARADO\": \"orthographe\",\r\n \"PREFIJOS_JUNTOS_EN_DICCIONARIO\": \"orthographe\",\r\n \"ALREDEDOR\": \"orthographe\",\r\n \"LLEVAR_ACABO\": \"orthographe\",\r\n \"DAR_ABASTO\": \"orthographe\",\r\n \"DAR_A_LUGAR\": \"orthographe\",\r\n \"SOBRETODO\": \"orthographe\",\r\n \"HALLA_HAYA\": \"orthographe\",\r\n \"SE_HALLA_SE_HAYA\": \"orthographe\",\r\n \"SE_HALLA_SE_HAYA_PARTICIPIO\": \"orthographe\",\r\n \"HAYA_HALLA\": \"orthographe\",\r\n \"ONOMATOPEYAS\": \"orthographe\",\r\n \"TV\": \"orthographe\",\r\n \"TOMAS\": \"orthographe\",\r\n \"SINGLE_CHARACTER\": \"orthographe\",\r\n \"USO_HUSO\": \"orthographe\",\r\n \"A_PARTICIPIO\": \"orthographe\",\r\n \"AN_PARTICIPIO\": \"orthographe\",\r\n \"E_PARTICIPIO\": \"orthographe\",\r\n \"PRON_HABER_PARTICIPIO\": \"orthographe\",\r\n \"AH_INF\": \"orthographe\",\r\n \"HAZ_HAS\": \"orthographe\",\r\n \"VOY_HA_INF\": \"orthographe\",\r\n \"VOY_INF\": \"orthographe\",\r\n \"ECHO_HECHO\": \"orthographe\",\r\n \"HECHO_ECHO\": \"orthographe\",\r\n \"DESHECHO_DESECHO\": \"orthographe\",\r\n \"AY_HAY\": \"orthographe\",\r\n \"HABER_AVER\": \"orthographe\",\r\n \"ROMAN_NUMERALS_CHECK\": \"orthographe\",\r\n \"BASTANTES\": \"syntaxe\",\r\n \"CONCORDANCIA_GRAN\": \"syntaxe\",\r\n \"CONCORDANCIA_BUEN\": \"syntaxe\",\r\n \"CONCORDANCIA_PRONOMBRE\": \"syntaxe\",\r\n \"PERMITIR_QUE_A\": \"syntaxe\",\r\n \"VERBO_MODAL_INFINITIVO\": \"syntaxe\",\r\n \"DOS_VERBOS_MODALES\": \"syntaxe\",\r\n \"TE_HAY\": \"syntaxe\",\r\n \"MUY_MUCHO\": \"syntaxe\",\r\n \"MUY_GRAVISIMO\": \"syntaxe\",\r\n \"LEISMO\": \"syntaxe\",\r\n \"LOISMO_LAISMO\": \"syntaxe\",\r\n \"PARA_QUE_IND\": \"syntaxe\",\r\n \"Y_E_O_U\": \"syntaxe\",\r\n \"PORQUE\": \"syntaxe\",\r\n \"PREP_VERB\": \"syntaxe\",\r\n \"SURGIR_EFECTO\": \"syntaxe\",\r\n \"EN_BASE_A\": \"syntaxe\",\r\n \"EN_BASE_AL\": \"syntaxe\",\r\n \"DE_GRATIS\": \"syntaxe\",\r\n \"QUEISMO\": \"syntaxe\",\r\n \"DEQUEISMO\": \"syntaxe\",\r\n \"DADO_A_QUE\": \"syntaxe\",\r\n \"DETRAS_PX\": \"syntaxe\",\r\n \"NO_IMPERATIVO\": \"syntaxe\",\r\n \"ID_HUBO_HUBIERON\": \"syntaxe\",\r\n \"HAN_HABIDO\": \"syntaxe\",\r\n \"PODER_HABER\": \"syntaxe\",\r\n \"PARTICIPIO_MS\": \"syntaxe\",\r\n \"HABER_GERUNDIO\": \"syntaxe\",\r\n \"PP_SE\": \"syntaxe\",\r\n \"MAS_BUENA\": \"syntaxe\",\r\n \"MAS_MALA\": \"syntaxe\",\r\n \"GROSSO_MODO\": \"syntaxe\",\r\n \"SIN_ENCAMBIO\": \"syntaxe\",\r\n \"SI_QUIERA\": \"syntaxe\",\r\n \"SINO_SI_NO\": \"syntaxe\",\r\n \"MALO_AMIGO_MAL_AMIGO\": \"syntaxe\",\r\n \"CONCORDANCIA_ADJECTIVOS_NEUTROS\": \"syntaxe\",\r\n \"UNO_DE_LAS\": \"syntaxe\",\r\n \"AGREEMENT_NUMERAL_PLURAL\": \"syntaxe\",\r\n \"AGRREMENT_NUMBER\": \"syntaxe\",\r\n \"AGREEMENT_NUMERAL_GENDER\": \"syntaxe\",\r\n \"NOUN_PLURAL\": \"syntaxe\",\r\n \"NOUN_PLURAL2\": \"syntaxe\",\r\n \"NOUN_SINGULAR\": \"syntaxe\",\r\n \"NUMERO_DE_SG_PL\": \"syntaxe\",\r\n \"AGREEMENT_ORDINALS\": \"syntaxe\",\r\n \"AGREEMENT_DET_DET\": \"syntaxe\",\r\n \"AGREEMENT_DET_ABREV\": \"syntaxe\",\r\n \"LOS_MAPUCHE\": \"syntaxe\",\r\n \"AGREEMENT_DET_NOUN_EXCEPTIONS\": \"syntaxe\",\r\n \"AGREEMENT_DET_NOUN\": \"syntaxe\",\r\n \"LO_LOS\": \"syntaxe\",\r\n \"UNO_UNOS\": \"syntaxe\",\r\n \"LO_LA\": \"syntaxe\",\r\n \"AGREEMENT_DET_ADJ\": \"syntaxe\",\r\n \"MUCHO_MAS_EDAD\": \"syntaxe\",\r\n \"DET_FEM_NOM_FEM\": \"syntaxe\",\r\n \"AGREEMENT_DET_GN\": \"syntaxe\",\r\n \"TODO_EL\": \"syntaxe\",\r\n \"TODO_LO\": \"syntaxe\",\r\n \"TODA_EL_AGUA\": \"syntaxe\",\r\n \"TODO_MODO\": \"syntaxe\",\r\n \"LAS_NUMBER_MALE\": \"syntaxe\",\r\n \"LOS_NUMBER_FEMALE\": \"syntaxe\",\r\n \"EL_AGRAVANTE\": \"syntaxe\",\r\n \"DAR_POR_HECHO_EL\": \"syntaxe\",\r\n \"TENER_PREVISTO_EL\": \"syntaxe\",\r\n \"AGREEMENT_QUEDAR_VP\": \"syntaxe\",\r\n \"BUENAS_TARDES\": \"syntaxe\",\r\n \"AGREEMENT_POSTPONED_ADJ\": \"syntaxe\",\r\n \"POSTPONED_ADJ_PARTICULAR\": \"syntaxe\",\r\n \"AGREEMENT_ADJ_NOUN_AREA\": \"syntaxe\",\r\n \"AGREEMENT_ADJ_NOUN\": \"syntaxe\",\r\n \"AGREEMENT_PARTICIPLE_NOUN\": \"syntaxe\",\r\n \"AGREEMENT_SER_ADJ_SG\": \"syntaxe\",\r\n \"AGREEMENT_VERB_PARTICIPLE\": \"syntaxe\",\r\n \"AGREEMENT_PRONOUNSUBJECT_VERB\": \"syntaxe\",\r\n \"AGREEMENT_SUBJECT_VERB_SG_PL\": \"syntaxe\",\r\n \"AGREEMENT_SUBJECT_VERB_PL_SG\": \"syntaxe\",\r\n \"AGREEMENT_GUSTAR\": \"syntaxe\",\r\n \"MAMA\": \"syntaxe\",\r\n \"PAPA\": \"syntaxe\",\r\n \"PER_CAPITA\": \"syntaxe\",\r\n \"COMPLEJIZAR\": \"syntaxe\",\r\n \"MEXICO\": \"syntaxe\",\r\n \"ASI\": \"syntaxe\",\r\n \"PA_PARA\": \"syntaxe\",\r\n \"NADIE\": \"syntaxe\",\r\n \"ENMEDIO\": \"syntaxe\",\r\n \"ABREVIATURA_NUMERO\": \"syntaxe\",\r\n \"ABREVIATURA_PAGINA\": \"syntaxe\",\r\n \"ABREVIATURA_TELEFONO\": \"syntaxe\",\r\n \"A_NIVEL_DE\": \"syntaxe\",\r\n \"LOOR\": \"syntaxe\",\r\n \"EN_RELACION_A\": \"syntaxe\",\r\n \"EN_RELACION_AL\": \"syntaxe\",\r\n \"RELACIONADO_A\": \"syntaxe\",\r\n \"CONTRACORRIENTE\": \"syntaxe\",\r\n \"ET_ALII\": \"typographie\",\r\n \"MONOSILABOS\": \"typographie\",\r\n \"SOLO\": \"typographie\",\r\n \"O_NO_TILDE\": \"typographie\",\r\n \"ESTE_ESE_AQUEL_ADJETIVO\": \"typographie\",\r\n \"ESTE_ESE_AQUEL_NOTILDE\": \"typographie\",\r\n \"LA_ESTA\": \"syntaxe\",\r\n \"EL_MENOS\": \"syntaxe\",\r\n \"ES_SPLIT_WORDS_HYPHEN\": \"syntaxe\",\r\n \"ARA\": \"syntaxe\",\r\n \"AUNQUE\": \"syntaxe\",\r\n \"PLURALS\": \"syntaxe\",\r\n \"LA_A\": \"syntaxe\",\r\n \"CENYO\": \"syntaxe\",\r\n \"CAYO\": \"syntaxe\",\r\n \"MASTATE\": \"syntaxe\",\r\n \"PERSONES\": \"syntaxe\",\r\n \"SE_LO_ENTREGADA\": \"syntaxe\",\r\n \"TAJO_TRAJO\": \"syntaxe\",\r\n \"DESDE_ERA\": \"syntaxe\",\r\n \"LAS_MILES\": \"syntaxe\",\r\n \"A_TRAVES\": \"syntaxe\",\r\n \"APESAR\": \"syntaxe\",\r\n \"GOOGLE_DOC\": \"syntaxe\",\r\n \"CUALQUIERA\": \"syntaxe\",\r\n \"HAZMERREIR\": \"syntaxe\",\r\n \"CUIDAD_CIUDAD\": \"syntaxe\",\r\n \"TARTA_TRATA\": \"syntaxe\",\r\n \"TE_NO\": \"syntaxe\",\r\n \"ES_SPLIT_WORDS\": \"syntaxe\",\r\n \"ORIGINAL_ORIGINAR\": \"syntaxe\",\r\n \"U_NO\": \"syntaxe\",\r\n \"DESDE\": \"syntaxe\",\r\n \"DESDE_EL\": \"syntaxe\",\r\n \"CASA_CADA\": \"syntaxe\",\r\n \"DES_DE\": \"syntaxe\",\r\n \"PAR_POR\": \"syntaxe\",\r\n \"CON_O_SIN\": \"syntaxe\",\r\n \"DURANTE_A\": \"syntaxe\",\r\n \"DURANTE_AL\": \"syntaxe\",\r\n \"ADVERBIO_MENTE\": \"syntaxe\",\r\n \"DEL_LA\": \"syntaxe\",\r\n \"ESTABAMOS\": \"syntaxe\",\r\n \"POR_NO\": \"syntaxe\",\r\n \"A_FINES\": \"syntaxe\",\r\n \"ABAJO\": \"syntaxe\",\r\n \"AVECES\": \"syntaxe\",\r\n \"PARA_MI_ERA\": \"syntaxe\",\r\n \"DEBIDO_AUN\": \"syntaxe\",\r\n \"HICO\": \"syntaxe\",\r\n \"DENUDO\": \"syntaxe\",\r\n \"BOCABAJO\": \"syntaxe\",\r\n \"LEE_LE\": \"syntaxe\",\r\n \"SABER_SABES_\": \"syntaxe\",\r\n \"LARDO_LARGO\": \"syntaxe\",\r\n \"JUNTO_A\": \"syntaxe\",\r\n \"ALA_A_LA\": \"syntaxe\",\r\n \"DE_BASA\": \"syntaxe\",\r\n \"IR_PARTICIPIO_GERUNDIO\": \"syntaxe\",\r\n \"ESTAR_PARTICIPIO_GERUNDIO\": \"syntaxe\",\r\n \"JOHNS_HOPKINS\": \"syntaxe\",\r\n \"DEBIDO_QUE\": \"syntaxe\",\r\n \"PODAR_PODER\": \"syntaxe\",\r\n \"ORA_HORA\": \"syntaxe\",\r\n \"VEN\": \"syntaxe\",\r\n \"SUBJUNTIVO_INFINITIVO\": \"syntaxe\",\r\n \"DE_LA\": \"syntaxe\",\r\n \"DE_LAS\": \"syntaxe\",\r\n \"JAMAS\": \"syntaxe\",\r\n \"AH_HA\": \"syntaxe\",\r\n \"TAL_TAN\": \"syntaxe\",\r\n \"TENER_QUE_INFINITIVO\": \"syntaxe\",\r\n \"HABER_DE_INFINITIVO\": \"syntaxe\",\r\n \"SIDO\": \"syntaxe\",\r\n \"REBELAR_REVELAR\": \"syntaxe\",\r\n \"VEMOS_HEMOS\": \"syntaxe\",\r\n \"LAQUE\": \"syntaxe\",\r\n \"OLA_HOLA\": \"syntaxe\",\r\n \"HOLA_OLA\": \"syntaxe\",\r\n \"HA_A\": \"syntaxe\",\r\n \"AYA_HAYA\": \"syntaxe\",\r\n \"VE_LE\": \"syntaxe\",\r\n \"A_VER_HABER\": \"syntaxe\",\r\n \"HABER_A_VER\": \"syntaxe\",\r\n \"PUDE_PUEDE\": \"syntaxe\",\r\n \"E_SINGLE_CHAR\": \"syntaxe\",\r\n \"ESTO_ESTE\": \"syntaxe\",\r\n \"ESO_ESE\": \"syntaxe\",\r\n \"ESO_ESOS\": \"syntaxe\",\r\n \"WRONG_IMPERATIVE\": \"syntaxe\",\r\n \"PRONOMBRE_ENCLITICO_SEPARADO\": \"syntaxe\",\r\n \"PRONOMBRE_SIN_VERBO\": \"syntaxe\",\r\n \"MANTELO\": \"syntaxe\",\r\n \"OJALA\": \"syntaxe\",\r\n \"A_FINALES\": \"syntaxe\",\r\n \"ENSERIO\": \"syntaxe\",\r\n \"SON_CON\": \"syntaxe\",\r\n \"ANO\": \"syntaxe\",\r\n \"SIN_EMBRAGO\": \"syntaxe\",\r\n \"PRESA_PRENSA\": \"syntaxe\",\r\n \"VES_VEZ\": \"syntaxe\",\r\n \"IR_GERUNDIO\": \"syntaxe\",\r\n \"CONFUSION_AL_LA\": \"syntaxe\",\r\n \"MANA_MAMA\": \"syntaxe\",\r\n \"HE_HA\": \"syntaxe\",\r\n \"ERAR\": \"syntaxe\",\r\n \"EL_LA_EN_LA\": \"syntaxe\",\r\n \"MORTANDAD\": \"syntaxe\",\r\n \"REVERTIR_REVESTIR\": \"syntaxe\",\r\n \"MB\": \"syntaxe\",\r\n \"ENSENAR\": \"syntaxe\",\r\n \"MONTANA\": \"syntaxe\",\r\n \"MONTANERO\": \"syntaxe\",\r\n \"MONTANISMO\": \"syntaxe\",\r\n \"MONTANISTA\": \"syntaxe\",\r\n \"PANO\": \"syntaxe\",\r\n \"ARANA\": \"syntaxe\",\r\n \"PINA\": \"syntaxe\",\r\n \"PESTANA\": \"syntaxe\",\r\n \"COMPRAR_GASTAR\": \"syntaxe\",\r\n \"ADOLECER_CARECER\": \"syntaxe\",\r\n \"EN_TANTO\": \"syntaxe\",\r\n \"AFORO\": \"syntaxe\",\r\n \"EQUIVALENTE_A\": \"syntaxe\",\r\n \"DEPENDER_DE\": \"syntaxe\",\r\n \"DESCONFIAR_DE\": \"syntaxe\",\r\n \"INSISTIR_DE\": \"syntaxe\",\r\n \"ENFRENTARSE_ANTE\": \"syntaxe\",\r\n \"ETCETERA\": \"syntaxe\",\r\n \"OROGRAFIA_DEL_TERRENO\": \"syntaxe\",\r\n \"ANOS_SIN_PUNTO\": \"typographie\",\r\n \"MISSING_POINT\": \"typographie\",\r\n \"MISSING_COMMA\": \"typographie\",\r\n \"MUCHO_NF\": \"typographie\",\r\n \"POR_CIERTO\": \"typographie\",\r\n \"COMA_SUJETO_PREDICADO\": \"typographie\",\r\n \"YA_QUE\": \"typographie\",\r\n \"PUES_COMAS\": \"typographie\",\r\n \"PUESTO_QUE\": \"typographie\",\r\n \"COMMA_SINO\": \"typographie\",\r\n \"COMMA_SINO2\": \"typographie\",\r\n \"COMMA_PERO\": \"typographie\",\r\n \"COMMA_ADVERB\": \"typographie\",\r\n \"COMMA_MARCADOR_DISCURSIVO\": \"typographie\",\r\n \"COMMA_REPETITION\": \"typographie\",\r\n \"CUATRO_PUNTOS\": \"typographie\",\r\n \"ESPACIO_DESPUES_DE_PUNTO\": \"typographie\",\r\n \"CAPITALIZATION_AFTER_QUESTION_MARK\": \"typographie\",\r\n \"ES_INITIAL_QUESTION_MARK\": \"typographie\",\r\n \"INCORRECT_SPACES\": \"typographie\",\r\n \"ORDINAL_CHAR\": \"typographie\",\r\n \"DEGREE_CHAR\": \"typographie\",\r\n \"SUPERINDEX\": \"typographie\",\r\n \"PUNTO_EN_ABREVIATURAS\": \"typographie\",\r\n \"ABREVIATURA_SIGLO\": \"typographie\",\r\n \"WRONG_DASH\": \"typographie\",\r\n \"ABREV_HORA\": \"typographie\",\r\n \"ABREV_ORDINALES\": \"typographie\",\r\n \"P_EJ\": \"typographie\",\r\n \"SPACE_UNITIES\": \"typographie\",\r\n \"DECADAS_1920\": \"typographie\",\r\n \"ARROWS\": \"typographie\",\r\n \"PUNTOS_SUSPENSIVOS\": \"typographie\",\r\n \"GUION_LARGO\": \"typographie\",\r\n \"COMILLAS_TIPOGRAFICAS\": \"typographie\",\r\n \"VOSEO\": \"syntaxe\",\r\n \"ES_NO_ES\": \"syntaxe\",\r\n \"QUE_QUE\": \"syntaxe\",\r\n \"REPETEAD_ELEMENTS\": \"syntaxe\",\r\n \"PHRASE_REPETITION\": \"syntaxe\",\r\n \"ANY20011_2011\": \"syntaxe\",\r\n \"INVIERNO_DDDDD\": \"syntaxe\",\r\n \"DATE_NEW_YEAR\": \"syntaxe\",\r\n \"DATE_WEEKDAY\": \"syntaxe\",\r\n \"NUMBER_DAYS_MONTH\": \"syntaxe\",\r\n \"PERSONAJES_FAMOSOS\": \"syntaxe\"\r\n}","// Handles de-DE, de-AT & de-CH\r\nexport default {\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"typographie\",\r\n \"UNPAIRED_BRACKETS\": \"typographie\",\r\n \"UPPERCASE_SENTENCE_START\": \"typographie\",\r\n \"WHITESPACE_RULE\": \"typographie\",\r\n \"PUNCTUATION_PARAGRAPH_END\": \"typographie\",\r\n \"DE_SIMPLE_REPLACE\": \"syntaxe\",\r\n \"OLD_SPELLING\": \"orthographe\",\r\n \"DE_SENTENCE_WHITESPACE\": \"syntaxe\",\r\n \"DE_DOUBLE_PUNCTUATION\": \"typographie\",\r\n \"GERMAN_WORD_REPEAT_RULE\": \"syntaxe\",\r\n \"GERMAN_WORD_REPEAT_BEGINNING_RULE\": \"syntaxe\",\r\n \"GERMAN_WRONG_WORD_IN_CONTEXT\": \"syntaxe\",\r\n \"DE_AGREEMENT\": \"syntaxe\",\r\n \"DE_AGREEMENT2\": \"syntaxe\",\r\n \"DE_CASE\": \"typographie\",\r\n \"DE_DASH\": \"syntaxe\",\r\n \"DE_VERBAGREEMENT\": \"syntaxe\",\r\n \"DE_SUBJECT_VERB_AGREEMENT\": \"syntaxe\",\r\n \"DE_WORD_COHERENCY\": \"syntaxe\",\r\n \"DE_WIEDER_VS_WIDER\": \"orthographe\",\r\n \"DE_COMPOUND_COHERENCY\": \"syntaxe\",\r\n \"TOO_LONG_SENTENCE_DE\": \"syntaxe\",\r\n \"DE_DU_UPPER_LOWER\": \"typographie\",\r\n \"EINHEITEN_METRISCH\": \"syntaxe\",\r\n \"COMMA_IN_FRONT_RELATIVE_CLAUSE\": \"typographie\",\r\n \"COMMA_BEHIND_RELATIVE_CLAUSE\": \"typographie\",\r\n \"COMPOUND_INFINITIV_RULE\": \"syntaxe\",\r\n \"DE_REPEATEDWORDS\": \"syntaxe\",\r\n \"TYPO_KAMM_KANN\": \"orthographe\",\r\n \"FISCHEN_FRISCHEN\": \"orthographe\",\r\n \"WICHE_WOCHE\": \"orthographe\",\r\n \"SCHLAF_INS_GESICHT\": \"orthographe\",\r\n \"GEHT_RAUTE_S\": \"orthographe\",\r\n \"SEP\": \"orthographe\",\r\n \"VERTRAGENDE\": \"orthographe\",\r\n \"NICHT_ER_SUB\": \"orthographe\",\r\n \"VIELE_ERFOLG\": \"orthographe\",\r\n \"PLUS_BER\": \"orthographe\",\r\n \"MIT_ENSETZTEN\": \"orthographe\",\r\n \"WAR_FUER\": \"orthographe\",\r\n \"IM_ENDDEFEKT\": \"orthographe\",\r\n \"AUF_JEDEN_FALLS\": \"orthographe\",\r\n \"LETZTES_ENDES\": \"orthographe\",\r\n \"MOMENTANE\": \"orthographe\",\r\n \"TEL\": \"orthographe\",\r\n \"WIR_HABE\": \"orthographe\",\r\n \"DOLLER_DOLLAR\": \"orthographe\",\r\n \"ZAHL_IM_WORT\": \"orthographe\",\r\n \"KOMPOSITA_BIVALENTE_VERBEN\": \"orthographe\",\r\n \"ZUVIEL\": \"orthographe\",\r\n \"UNTERSCHIED_ZWISCHEN\": \"orthographe\",\r\n \"ALARM_AUSLOSEN\": \"orthographe\",\r\n \"VERTREIB_VERTRIEB\": \"orthographe\",\r\n \"HEER_HERR\": \"orthographe\",\r\n \"GESETZT_GESETZ\": \"orthographe\",\r\n \"ENTSCHEIDEN_ENTSCHEIDEND\": \"orthographe\",\r\n \"VERSANDEN_VERSTANDEN\": \"orthographe\",\r\n \"SCHEINT_SCHIENT\": \"orthographe\",\r\n \"TASCHE_ASCHE\": \"orthographe\",\r\n \"STUBE_TUBE\": \"orthographe\",\r\n \"REGIEREN_REAGIEREN\": \"orthographe\",\r\n \"SPINNE_SINNE\": \"orthographe\",\r\n \"HIMMEL_HUMMEL\": \"orthographe\",\r\n \"ZUM_ANBEISSEN\": \"orthographe\",\r\n \"SCHALTEN_UND_WALTEN\": \"orthographe\",\r\n \"BELEIBT_BELIEBT\": \"orthographe\",\r\n \"BEWENDEN_BEENDEN\": \"orthographe\",\r\n \"VERENDEN_VERSENDEN\": \"orthographe\",\r\n \"SCHALL_UND_RAUCH\": \"orthographe\",\r\n \"WIEN_WEIN\": \"orthographe\",\r\n \"ZEIL\": \"orthographe\",\r\n \"VIELE_DANK\": \"orthographe\",\r\n \"GILBT\": \"orthographe\",\r\n \"PRP_DM\": \"orthographe\",\r\n \"STILLE_SUBST_TYPO\": \"orthographe\",\r\n \"HAT_HAST\": \"orthographe\",\r\n \"FEIEN\": \"orthographe\",\r\n \"ALTERNATIVE\": \"orthographe\",\r\n \"ROBBE_ROBE\": \"orthographe\",\r\n \"ROBE_PROBE\": \"orthographe\",\r\n \"GAS_GLAS\": \"orthographe\",\r\n \"STATT\": \"orthographe\",\r\n \"WURST_SEIN\": \"orthographe\",\r\n \"AUS_DEM_EFFEFF\": \"orthographe\",\r\n \"ENTGEHEN_LASSEN\": \"orthographe\",\r\n \"BEAMTER\": \"orthographe\",\r\n \"ZU_SCHRIEBEN_ETC\": \"orthographe\",\r\n \"SAGT_UND_BESCHEID\": \"orthographe\",\r\n \"DE_KOMMA\": \"orthographe\",\r\n \"EUCH_ALL\": \"orthographe\",\r\n \"INF_VER_MOD\": \"orthographe\",\r\n \"NIEMANDEN\": \"orthographe\",\r\n \"IM_UM\": \"orthographe\",\r\n \"DES_ES\": \"orthographe\",\r\n \"VEREINBAREN\": \"orthographe\",\r\n \"ALLER_X_MONATE\": \"orthographe\",\r\n \"ETWAS_DASS\": \"orthographe\",\r\n \"EIN_ODER_MEHRMALS\": \"orthographe\",\r\n \"SCHNELLE_RUND\": \"orthographe\",\r\n \"NACHEILEN\": \"orthographe\",\r\n \"BEIDEN\": \"orthographe\",\r\n \"BEI_VERB\": \"orthographe\",\r\n \"WO_BIS\": \"orthographe\",\r\n \"ET\": \"orthographe\",\r\n \"KEINE_KLEINE\": \"orthographe\",\r\n \"MIR_DIR\": \"orthographe\",\r\n \"MIR_MIR\": \"orthographe\",\r\n \"FINDER_GEWICKELT\": \"orthographe\",\r\n \"DAS_BEST\": \"orthographe\",\r\n \"SEIHE_UNTEN\": \"orthographe\",\r\n \"ANS_HERZ_GEWASCHEN\": \"orthographe\",\r\n \"GENANT\": \"orthographe\",\r\n \"CHRISTI_HIMMELPFAD\": \"orthographe\",\r\n \"RAUSCH_AUSSCHLAGEN\": \"orthographe\",\r\n \"VERSCHIEBEN_VERSCHRIEBEN\": \"orthographe\",\r\n \"GEBRAUCHTSPUREN\": \"orthographe\",\r\n \"IM_IHM\": \"orthographe\",\r\n \"SEIN_MONATEN\": \"orthographe\",\r\n \"ZUR_STANDE\": \"orthographe\",\r\n \"BIT_62\": \"orthographe\",\r\n \"SUCH_SICH\": \"orthographe\",\r\n \"DAR_DER\": \"orthographe\",\r\n \"SIEHE_SEHE\": \"orthographe\",\r\n \"BERUHEN_BERUFEN\": \"orthographe\",\r\n \"LIEGEN_LEGEN\": \"orthographe\",\r\n \"SITZEN_SETZEN\": \"orthographe\",\r\n \"UEBERLASEN_UEBERLASSEN\": \"orthographe\",\r\n \"DA_DAS\": \"orthographe\",\r\n \"KLEINSCHREIBEN_UNG\": \"orthographe\",\r\n \"ZUWEISEN_UNG\": \"orthographe\",\r\n \"SCHREIBEN_SCHRIEBEN\": \"orthographe\",\r\n \"REIZ_MICH\": \"orthographe\",\r\n \"ZUR_KENNTNIS\": \"orthographe\",\r\n \"ZUR_DER\": \"orthographe\",\r\n \"UM_UM\": \"orthographe\",\r\n \"SONDERN_KEIN_NICHT\": \"orthographe\",\r\n \"AUF_AUS\": \"orthographe\",\r\n \"AU_AUS\": \"orthographe\",\r\n \"WAS_WAR\": \"orthographe\",\r\n \"ETWAS_ZAHL\": \"orthographe\",\r\n \"AUFFUEHREN_AUSFUEHREN\": \"orthographe\",\r\n \"BEIM_BEI\": \"orthographe\",\r\n \"DIREKTER_DIREKTOR\": \"orthographe\",\r\n \"WALTER_WALZER\": \"orthographe\",\r\n \"EN_OHNE_PASSANT\": \"orthographe\",\r\n \"KOMMA_TLD\": \"orthographe\",\r\n \"GESETZ_DEN_FALL\": \"orthographe\",\r\n \"VON_GANZEN_GANZEM_HERZEN\": \"orthographe\",\r\n \"ABREITEN_VS_ARBEITEN\": \"orthographe\",\r\n \"HAARE_VS_HARRE\": \"orthographe\",\r\n \"ETWAS_ETWA\": \"orthographe\",\r\n \"EINFACHERER_EINFACHER\": \"orthographe\",\r\n \"SEHER_GEEHRTE\": \"orthographe\",\r\n \"WIR_WIE\": \"orthographe\",\r\n \"DU_DIE\": \"orthographe\",\r\n \"KEIN_KANN\": \"orthographe\",\r\n \"ACHTZIGIGSTEN\": \"orthographe\",\r\n \"JA_MEHR\": \"orthographe\",\r\n \"ZU_KOENNE\": \"orthographe\",\r\n \"VERMEIDEN_VERMIEDEN\": \"orthographe\",\r\n \"STARTE_STARRTE\": \"orthographe\",\r\n \"VIEL_SPASSE\": \"orthographe\",\r\n \"LIEBE_GRUSS\": \"orthographe\",\r\n \"GEGEN_GEGEBEN\": \"orthographe\",\r\n \"SAGT_SAGT\": \"orthographe\",\r\n \"SAGT_RUFT\": \"orthographe\",\r\n \"FLEKTIERTES_ADJEKTIV_AM_SATZENDE\": \"orthographe\",\r\n \"SO_SCHNELLE_WIE\": \"orthographe\",\r\n \"JE_SCHNELL_DESTO\": \"orthographe\",\r\n \"DANK_DANKE\": \"orthographe\",\r\n \"DANK_DAN\": \"orthographe\",\r\n \"ZIEGEN_ZEIGEN\": \"orthographe\",\r\n \"ALS_OHNE_KOMPARATIV\": \"orthographe\",\r\n \"NAEHREN_VS_NAEHEREN\": \"orthographe\",\r\n \"NAEHREN_VS_NAEHERN\": \"orthographe\",\r\n \"BESSERN_VS_BESSEREN\": \"orthographe\",\r\n \"AEUSSERN_VS_AUSSEREN\": \"orthographe\",\r\n \"GEKOMMEN_KONNTE\": \"orthographe\",\r\n \"EIGNE_VS_EIGENE\": \"orthographe\",\r\n \"EIN_EINE\": \"orthographe\",\r\n \"SICH_BEWEHREN\": \"orthographe\",\r\n \"SICH_WAEHREN\": \"orthographe\",\r\n \"WAS_LANGE_WEHRT\": \"orthographe\",\r\n \"WAEHREN_DER\": \"orthographe\",\r\n \"WAEHRENDEN_WAEHREND\": \"orthographe\",\r\n \"HERZ_HERTZ\": \"orthographe\",\r\n \"INS_UNS\": \"orthographe\",\r\n \"ES_WIR\": \"orthographe\",\r\n \"ZU_SEIEN\": \"orthographe\",\r\n \"ES_KANN_NICHT_SEIEN\": \"orthographe\",\r\n \"ZUR_RUHE_GEBETET\": \"orthographe\",\r\n \"AUF_ROSEN_GEBETET\": \"orthographe\",\r\n \"FUER_IHN_GEBETTET\": \"orthographe\",\r\n \"MIT_MIR\": \"orthographe\",\r\n \"ER_EINZIGE\": \"orthographe\",\r\n \"VERZEIHT_VERZIEHT\": \"orthographe\",\r\n \"EMAIL\": \"orthographe\",\r\n \"ZWEIT\": \"orthographe\",\r\n \"ZWEITER\": \"orthographe\",\r\n \"WENIGSTEN_VS_WENIGSTENS\": \"orthographe\",\r\n \"CHAMPAGNE_VS_CHAMPAGNER\": \"orthographe\",\r\n \"STATT_VS_STAAT\": \"orthographe\",\r\n \"INS_LEERE\": \"orthographe\",\r\n \"GAEHNENDE_LEERE\": \"orthographe\",\r\n \"PREIS-LEISTUNGS-VERHAELTNIS\": \"orthographe\",\r\n \"BESCHRANKT_BESCHRAENKT\": \"orthographe\",\r\n \"LEERE_DROHUNG\": \"orthographe\",\r\n \"KEINE_WAL\": \"orthographe\",\r\n \"SPRACHE_VS_SPRACH\": \"orthographe\",\r\n \"BEKANNT_ALT\": \"orthographe\",\r\n \"NACH_NOCH\": \"orthographe\",\r\n \"SCHRIEBT\": \"orthographe\",\r\n \"GRUENE_VS_GRUENDE\": \"orthographe\",\r\n \"BEKANNTEST\": \"orthographe\",\r\n \"WOLLTE_GRAD\": \"orthographe\",\r\n \"ERSTEN_MAIN\": \"orthographe\",\r\n \"ZU_SPAEHT\": \"orthographe\",\r\n \"AUF_DER_JAGT\": \"orthographe\",\r\n \"IN_DER_REGELN\": \"orthographe\",\r\n \"FLAME_VS_FLAMME\": \"orthographe\",\r\n \"BEREIST_BEREITS\": \"orthographe\",\r\n \"BAFF_ERSTAUNT\": \"orthographe\",\r\n \"KLINGENDE_KASSEN\": \"orthographe\",\r\n \"DIE_DE\": \"orthographe\",\r\n \"BIS_BISS\": \"orthographe\",\r\n \"BEREIT_BEFREIT\": \"orthographe\",\r\n \"VON_HAND\": \"orthographe\",\r\n \"WAHR_NEHMEN\": \"orthographe\",\r\n \"DAS_AMEN\": \"orthographe\",\r\n \"LIEDER_LEIDER\": \"orthographe\",\r\n \"FIELE_UND_VIELE\": \"orthographe\",\r\n \"FIEL_UND_VIEL\": \"orthographe\",\r\n \"FUER_UND_WIEDER\": \"orthographe\",\r\n \"EINEM_LEIHEN\": \"orthographe\",\r\n \"WIE_IST_DEN\": \"orthographe\",\r\n \"INDER\": \"orthographe\",\r\n \"GIBT_ES_GENUEGEN\": \"orthographe\",\r\n \"MIR_ZIEMLICH_SICH\": \"orthographe\",\r\n \"BEIN_NAECHSTEN\": \"orthographe\",\r\n \"ER_LIES\": \"orthographe\",\r\n \"LEERZEICHEN_UND\": \"orthographe\",\r\n \"SAG_SAH\": \"orthographe\",\r\n \"HAUTE_COUTURE\": \"orthographe\",\r\n \"HAUTE_HEUTE\": \"orthographe\",\r\n \"WAR_WERDEN\": \"orthographe\",\r\n \"ER_WAHR\": \"orthographe\",\r\n \"DU_WUENSCHT\": \"orthographe\",\r\n \"HIN_UNS_WIEDER\": \"orthographe\",\r\n \"HIN_UND_WIDER\": \"orthographe\",\r\n \"WIEDER_EINMAL\": \"orthographe\",\r\n \"SONDER\": \"orthographe\",\r\n \"WARD_VS_WART\": \"orthographe\",\r\n \"SEID_VS_SEIT\": \"orthographe\",\r\n \"SEIT_VS_SEID\": \"orthographe\",\r\n \"IN_DIE_ANALEN\": \"orthographe\",\r\n \"ALLES_OLLES\": \"orthographe\",\r\n \"WIE_WIR\": \"orthographe\",\r\n \"OHNE_GEWEHR\": \"orthographe\",\r\n \"SEHEN_STEHEN\": \"orthographe\",\r\n \"VERENDEN_VERWENDEN\": \"orthographe\",\r\n \"VEREIST_VERREIST\": \"orthographe\",\r\n \"LASEN_LASSEN\": \"orthographe\",\r\n \"DENN_DEN\": \"orthographe\",\r\n \"AL_ALS\": \"orthographe\",\r\n \"BESCHEIDE_BESCHEID\": \"orthographe\",\r\n \"WIEDER_WILLEN\": \"orthographe\",\r\n \"ICH_VERALTE\": \"orthographe\",\r\n \"VERALTEN_VERHALTEN\": \"orthographe\",\r\n \"MITTELOHRENZUENDUNG\": \"orthographe\",\r\n \"WALDNUSSÖL\": \"orthographe\",\r\n \"VON_WIEDER_VON\": \"orthographe\",\r\n \"BEREIT_BESTEHENDE\": \"orthographe\",\r\n \"INS_BEZUG\": \"orthographe\",\r\n \"AUF_DEM_ERSTEN_BLICK\": \"orthographe\",\r\n \"DIES_DIE\": \"orthographe\",\r\n \"ZU_NEIGE\": \"orthographe\",\r\n \"PRIESE\": \"orthographe\",\r\n \"PREISE\": \"orthographe\",\r\n \"OCR_ERROR\": \"orthographe\",\r\n \"ERDEN_WERDEN\": \"orthographe\",\r\n \"GEROCHEN_GEBROCHEN\": \"orthographe\",\r\n \"VERIRRT_VERWIRRT\": \"orthographe\",\r\n \"JOUR_FIXE\": \"orthographe\",\r\n \"PLANT_PLANET\": \"orthographe\",\r\n \"METERN_METREN\": \"syntaxe\",\r\n \"HAKEN_HACKEN\": \"syntaxe\",\r\n \"ZULIEBE_ZUR_LIEBE\": \"syntaxe\",\r\n \"WEISST_WEIST\": \"syntaxe\",\r\n \"LAUT_LAUF\": \"syntaxe\",\r\n \"MACH_NACH\": \"syntaxe\",\r\n \"BEST_BESTE\": \"syntaxe\",\r\n \"BRACHT_BRAUCHT\": \"syntaxe\",\r\n \"LIEBE_LIEBER\": \"syntaxe\",\r\n \"KUNDIGE\": \"syntaxe\",\r\n \"GLUCK\": \"syntaxe\",\r\n \"HOHL_HOL\": \"syntaxe\",\r\n \"HOHLE_HÖHLE\": \"syntaxe\",\r\n \"UND_UNS\": \"syntaxe\",\r\n \"ALL_ALLE\": \"syntaxe\",\r\n \"WIRD_WIR\": \"syntaxe\",\r\n \"ZUGEGEBENERWEISE\": \"syntaxe\",\r\n \"STRICK_DURCH_DIE_RECHNUNG\": \"syntaxe\",\r\n \"NEUN_NEUEN\": \"syntaxe\",\r\n \"BEDENKEN_BEDANKEN\": \"syntaxe\",\r\n \"LEIDE_LEIDER\": \"syntaxe\",\r\n \"BISS_BIS\": \"syntaxe\",\r\n \"BISSEN_BISSCHEN\": \"syntaxe\",\r\n \"FASST_FAST\": \"syntaxe\",\r\n \"KREUZ_UND_QUEER\": \"syntaxe\",\r\n \"SCHON_SCHÖN\": \"syntaxe\",\r\n \"GRUNDE\": \"syntaxe\",\r\n \"HARZ_HARTZ\": \"syntaxe\",\r\n \"WEITERS_WEITERES\": \"syntaxe\",\r\n \"MAER_MAERZ\": \"syntaxe\",\r\n \"EINE_FREUNDE\": \"syntaxe\",\r\n \"DIE_UNTERSCHEIDE\": \"syntaxe\",\r\n \"UNSERE_BESCHAEFTIGEN\": \"syntaxe\",\r\n \"DIE_BEFRAGEN\": \"syntaxe\",\r\n \"LAUFT_LAEUFT\": \"syntaxe\",\r\n \"STETS_STEHTS\": \"syntaxe\",\r\n \"SONNST_VERB\": \"syntaxe\",\r\n \"HABACHTSTELLUNG\": \"syntaxe\",\r\n \"DIENEN_DEINEN\": \"syntaxe\",\r\n \"RAMMSTEIN_RAMSTEIN\": \"syntaxe\",\r\n \"TRAB_TRAPP\": \"syntaxe\",\r\n \"TAETIGE_TAEGIGE\": \"syntaxe\",\r\n \"STATISCHE_BUNDESAMT\": \"syntaxe\",\r\n \"GESCHAEFTIG_GESCHAEFTLICH\": \"syntaxe\",\r\n \"DIFFUSER_DIFFUSOR\": \"syntaxe\",\r\n \"MITTELSTAENDIGES_UNTERNEHMEN\": \"syntaxe\",\r\n \"FAIL_FEHL\": \"syntaxe\",\r\n \"VERWANDET_VERWANDTE\": \"syntaxe\",\r\n \"TOPP_TOP\": \"syntaxe\",\r\n \"FREU_FRAU\": \"syntaxe\",\r\n \"IN_DER_NAHE\": \"syntaxe\",\r\n \"IMPFLICHT\": \"syntaxe\",\r\n \"ZU_SO\": \"syntaxe\",\r\n \"AM_EIGENEN_LAIB\": \"syntaxe\",\r\n \"LEIB_LIEB\": \"syntaxe\",\r\n \"RATE_RATTE\": \"syntaxe\",\r\n \"BLICK_BLOCK\": \"syntaxe\",\r\n \"TRAGE_FRAGE\": \"syntaxe\",\r\n \"CAFE_KAFFEE\": \"syntaxe\",\r\n \"SICH_SICHT\": \"syntaxe\",\r\n \"GUENTER_GUENTHER\": \"syntaxe\",\r\n \"SCHACH_SCHACHT\": \"syntaxe\",\r\n \"KOPF_KNOPF\": \"syntaxe\",\r\n \"ORT_WORT\": \"syntaxe\",\r\n \"GERAGT_GEFRAGT\": \"syntaxe\",\r\n \"VERFUGEN_VERFUEGEN\": \"syntaxe\",\r\n \"WACHEN_WASCHEN\": \"syntaxe\",\r\n \"BEDIENUNGEN_BEDINGUNGEN\": \"syntaxe\",\r\n \"EINWEIHEN_EINWEISEN\": \"syntaxe\",\r\n \"WAENDE_WENDE\": \"syntaxe\",\r\n \"BUECKE_BRUECK\": \"syntaxe\",\r\n \"KRISE_KREISE\": \"syntaxe\",\r\n \"HER_HERR\": \"syntaxe\",\r\n \"SICH_DICH\": \"syntaxe\",\r\n \"WIDER_WIEDER\": \"syntaxe\",\r\n \"GOTEN_GUTEN\": \"syntaxe\",\r\n \"VERSORGT_VORSORGT\": \"syntaxe\",\r\n \"VERBRACHT_VOLLBRACHT\": \"syntaxe\",\r\n \"AUSKLINKEN_AUSKLINGEN\": \"syntaxe\",\r\n \"VERKOESTIGUNG\": \"syntaxe\",\r\n \"VOLLZUG_VERZUG\": \"syntaxe\",\r\n \"VERSENGEN_VERSENKEN\": \"syntaxe\",\r\n \"VERSINKEN_VERSENKEN\": \"syntaxe\",\r\n \"HUMAN_RESOURCES\": \"syntaxe\",\r\n \"MERZ_MÄRZ\": \"syntaxe\",\r\n \"VEREINT_VEREINIGT\": \"syntaxe\",\r\n \"SCHUSS_SCHLUSS\": \"syntaxe\",\r\n \"ANGANG_ANFANG\": \"syntaxe\",\r\n \"SICH_AUSDRUCKEN\": \"syntaxe\",\r\n \"AUSGERUECKT_AUSGEDRUECKT\": \"syntaxe\",\r\n \"ARRANGIERT_ENGAGIERT\": \"syntaxe\",\r\n \"IT-GIRL\": \"syntaxe\",\r\n \"OHMEN\": \"syntaxe\",\r\n \"DANKS\": \"syntaxe\",\r\n \"UEBERWEIDUNG\": \"syntaxe\",\r\n \"VEREINIGTE_STATTEN\": \"syntaxe\",\r\n \"APARTHEIT\": \"syntaxe\",\r\n \"DARZUSTELLEN\": \"syntaxe\",\r\n \"WEIS_ICH\": \"syntaxe\",\r\n \"WESEN_WESSEN\": \"syntaxe\",\r\n \"TOT_GEWEIHT\": \"syntaxe\",\r\n \"AB_DIENSTAGE\": \"syntaxe\",\r\n \"OH_MAN\": \"syntaxe\",\r\n \"VERZINNST\": \"syntaxe\",\r\n \"FUEHR_FUER\": \"syntaxe\",\r\n \"HALO_HALLO\": \"syntaxe\",\r\n \"ZURZEIT\": \"syntaxe\",\r\n \"WIDER_MIT\": \"syntaxe\",\r\n \"DAS_FUERCHTEN_LERNEN\": \"syntaxe\",\r\n \"ZEIT_UND_MUSE\": \"syntaxe\",\r\n \"WAR_WAHR\": \"syntaxe\",\r\n \"LIEHT\": \"syntaxe\",\r\n \"TEILNAME\": \"syntaxe\",\r\n \"WENN_WEN\": \"syntaxe\",\r\n \"WEN_WEM\": \"syntaxe\",\r\n \"LEITEND\": \"syntaxe\",\r\n \"LIESST\": \"syntaxe\",\r\n \"WEHREND\": \"syntaxe\",\r\n \"KEIM_NOMEN\": \"syntaxe\",\r\n \"FUSS_FUESSEN\": \"syntaxe\",\r\n \"IN_PUNCTO\": \"syntaxe\",\r\n \"REALITER\": \"syntaxe\",\r\n \"VERBIETE_MIR\": \"syntaxe\",\r\n \"SPAET_JEMANDEN_AUS\": \"syntaxe\",\r\n \"DEZIDIERTER_SERVER\": \"syntaxe\",\r\n \"FIKTIV_FIKTIONAL\": \"syntaxe\",\r\n \"HARMONISIEREN\": \"syntaxe\",\r\n \"KATHEDER\": \"syntaxe\",\r\n \"ROHES_FROHES\": \"syntaxe\",\r\n \"GEISEL_DER_MENSCHHEIT\": \"syntaxe\",\r\n \"SCHARFES_SZ\": \"syntaxe\",\r\n \"ZU_ZUR\": \"syntaxe\",\r\n \"LINK_LINKS\": \"syntaxe\",\r\n \"BREIT_BEREIT\": \"syntaxe\",\r\n \"UEBERSEHT_UEBERSAET\": \"syntaxe\",\r\n \"SOL_SOLL\": \"syntaxe\",\r\n \"PASSIONIERTE_PASSIERTE\": \"syntaxe\",\r\n \"HODEN_HOSEN\": \"syntaxe\",\r\n \"KACKE_JACKE\": \"syntaxe\",\r\n \"ACH_NACH\": \"syntaxe\",\r\n \"PFERD_PFERDE\": \"syntaxe\",\r\n \"OJE\": \"syntaxe\",\r\n \"DIEB\": \"syntaxe\",\r\n \"ANSCHIESSEND\": \"syntaxe\",\r\n \"AUSGESCHOSSEN\": \"syntaxe\",\r\n \"DRUCKEN_DRUCKSEN\": \"syntaxe\",\r\n \"WAHREN_WAREN\": \"syntaxe\",\r\n \"WENNSCHON_DENNSCHON\": \"syntaxe\",\r\n \"OSTEN_OSTERN\": \"syntaxe\",\r\n \"LIEBEND\": \"syntaxe\",\r\n \"KONISCH_KOMISCH\": \"syntaxe\",\r\n \"LIEBE_LEIBE\": \"syntaxe\",\r\n \"SACHEN_SACHSEN\": \"syntaxe\",\r\n \"STRICKTE\": \"syntaxe\",\r\n \"AUF_WUSCH\": \"syntaxe\",\r\n \"NAJA_NA_JA\": \"syntaxe\",\r\n \"PRAESENS_PRAESENZ\": \"syntaxe\",\r\n \"SCHIESSEN_SCHLIESSEN\": \"syntaxe\",\r\n \"HINTERS_ICH\": \"syntaxe\",\r\n \"SEI_SIE\": \"syntaxe\",\r\n \"WAISE_WEISE\": \"syntaxe\",\r\n \"RIEGEL_REGEL\": \"syntaxe\",\r\n \"SEGEL_SIEGEL\": \"syntaxe\",\r\n \"WAGE_VAGE\": \"syntaxe\",\r\n \"WAGE_WAAGE\": \"syntaxe\",\r\n \"SANG_UND_KLAGLOS\": \"syntaxe\",\r\n \"SPURTEN_SPUTEN\": \"syntaxe\",\r\n \"ZU_TUN\": \"syntaxe\",\r\n \"FROHES_SCHAFFEN\": \"syntaxe\",\r\n \"ZUPASSKOMMEN\": \"syntaxe\",\r\n \"ZU_RECHT\": \"syntaxe\",\r\n \"JE_DESTO\": \"syntaxe\",\r\n \"CHAMPIGNON_CHAMPION\": \"syntaxe\",\r\n \"BOT_BOOT\": \"syntaxe\",\r\n \"TOT_TOD\": \"syntaxe\",\r\n \"SCHEISSEN_SCHIESSEN\": \"syntaxe\",\r\n \"SCHEIDE_SCHNEIDE\": \"syntaxe\",\r\n \"GEHANGEN_GEHAENGT\": \"syntaxe\",\r\n \"MIT_VORNAHMEN\": \"syntaxe\",\r\n \"GEWOHNT_GEWOEHNT\": \"syntaxe\",\r\n \"EMISSION_EMULSION\": \"syntaxe\",\r\n \"LINKEN_VERLINKEN\": \"syntaxe\",\r\n \"FOLGERN_FOLGEN\": \"syntaxe\",\r\n \"PERDU_PARTOUT\": \"syntaxe\",\r\n \"SALZSAEURE_SALZSAEULE\": \"syntaxe\",\r\n \"SICHTWEISE_SICHTWEITE\": \"syntaxe\",\r\n \"UHRZEIT_URZEIT\": \"syntaxe\",\r\n \"GROSSER_STIEL\": \"syntaxe\",\r\n \"OEKONOMISCH_OEKUMENISCH\": \"syntaxe\",\r\n \"KARIKATIV_VS_KARITATIV\": \"syntaxe\",\r\n \"GRAT_VS_GRAD\": \"syntaxe\",\r\n \"COACH_VS_COUCH\": \"syntaxe\",\r\n \"MIENE\": \"syntaxe\",\r\n \"RELATIVPRONOMEN_STATT_DASS\": \"syntaxe\",\r\n \"DASS_STATT_DAS_RELATIVPRONOMEN\": \"syntaxe\",\r\n \"DASS_MIT_VERB\": \"syntaxe\",\r\n \"DASS_MIT_SUBJUNKTION\": \"syntaxe\",\r\n \"SODASS\": \"syntaxe\",\r\n \"FOND_VS_FONDS\": \"syntaxe\",\r\n \"VATER_MORGANA\": \"syntaxe\",\r\n \"SEITE_SAITE\": \"syntaxe\",\r\n \"LID_LIED\": \"syntaxe\",\r\n \"LEBEN_LIEBEN\": \"syntaxe\",\r\n \"AUFGEWASCHEN\": \"syntaxe\",\r\n \"WINDE_WUNDE\": \"syntaxe\",\r\n \"SUCHT_SICHT\": \"syntaxe\",\r\n \"ETHISCH_ETHNISCH\": \"syntaxe\",\r\n \"AUFS_TRAPEZ_BRINGEN\": \"syntaxe\",\r\n \"GROS_GROSS\": \"syntaxe\",\r\n \"DER_GENUS\": \"syntaxe\",\r\n \"NIVEA\": \"syntaxe\",\r\n \"PUNK_PUNKT\": \"syntaxe\",\r\n \"KOMA_KOMMA\": \"syntaxe\",\r\n \"IDEN_IDEEN\": \"syntaxe\",\r\n \"DER_SCHILD\": \"syntaxe\",\r\n \"GEHTNICHTMEHR\": \"syntaxe\",\r\n \"CONFUSION_RULE_MIR_MIT_NEU\": \"syntaxe\",\r\n \"VERWECHSLUNG_MIR_DIR_MIR_DIE\": \"syntaxe\",\r\n \"VERWECHSLUNG_MIR_IHR_MIR_IHRE\": \"syntaxe\",\r\n \"EDGAR_ALLAN_POE\": \"syntaxe\",\r\n \"HERBERT_DIES\": \"syntaxe\",\r\n \"SAUCE_HOLLANDAISE\": \"syntaxe\",\r\n \"WARREN_BUFFETT\": \"syntaxe\",\r\n \"DUE_DILIGENCE\": \"syntaxe\",\r\n \"CHILI_CON_CARNE\": \"syntaxe\",\r\n \"CORDON_BLEU\": \"syntaxe\",\r\n \"CHILI_SIN_CARNE\": \"syntaxe\",\r\n \"ENGEL_UND_VOLKERS\": \"syntaxe\",\r\n \"BELA_RETHY\": \"syntaxe\",\r\n \"PLANTEN_UN_BLOMEN\": \"syntaxe\",\r\n \"ALOE_VERA\": \"syntaxe\",\r\n \"JOE_BIDEN\": \"syntaxe\",\r\n \"ANNALENA_BAERBOCK\": \"syntaxe\",\r\n \"WINFRIED_KRETSCHMANN\": \"syntaxe\",\r\n \"SALVADOR_DALI\": \"syntaxe\",\r\n \"HANSI_FICK\": \"syntaxe\",\r\n \"ASTRA_ZENECA\": \"syntaxe\",\r\n \"JOHNS_HOPKINS_UNIVERSITY\": \"syntaxe\",\r\n \"WHATS_APP\": \"syntaxe\",\r\n \"CHAT_GPT\": \"syntaxe\",\r\n \"AIR_BNB\": \"syntaxe\",\r\n \"POWER_SHELL\": \"syntaxe\",\r\n \"PAY_PAL\": \"syntaxe\",\r\n \"POWER_POINT\": \"syntaxe\",\r\n \"BLACK_LIVES_MATTER\": \"syntaxe\",\r\n \"JAVA_SCRIPT\": \"syntaxe\",\r\n \"YOU_TUBE\": \"syntaxe\",\r\n \"OBJECTIVE_C\": \"syntaxe\",\r\n \"CHECK_24\": \"syntaxe\",\r\n \"FRAUNHOFER_INSTITUT\": \"syntaxe\",\r\n \"MERCEDES_BENZ\": \"syntaxe\",\r\n \"COVID_19\": \"syntaxe\",\r\n \"SOVIEL\": \"syntaxe\",\r\n \"FRANK_WALTER_STEINMEIER\": \"syntaxe\",\r\n \"COTE_D_AZUR\": \"syntaxe\",\r\n \"VERONIKA_POOTH\": \"syntaxe\",\r\n \"SAO_PAOLO\": \"syntaxe\",\r\n \"LOREAL\": \"syntaxe\",\r\n \"CITROEN\": \"syntaxe\",\r\n \"JONG_UN\": \"syntaxe\",\r\n \"TIK_TOK\": \"syntaxe\",\r\n \"FRITZ_BOX\": \"syntaxe\",\r\n \"SOCIETE_GENERALE\": \"syntaxe\",\r\n \"NDRANGHETA\": \"syntaxe\",\r\n \"KRAMP_KARRENBAUER\": \"syntaxe\",\r\n \"VON_DER_LEYEN\": \"syntaxe\",\r\n \"EMMANUEL_MACRON\": \"syntaxe\",\r\n \"JEROME_BOATENG\": \"syntaxe\",\r\n \"ILKAY_GUNDOGAN\": \"syntaxe\",\r\n \"LEROY_SANE\": \"syntaxe\",\r\n \"RHEINLAND_FALZ\": \"syntaxe\",\r\n \"MEISSENER\": \"syntaxe\",\r\n \"JUECHEN_JUELICH\": \"syntaxe\",\r\n \"AM_REIN\": \"syntaxe\",\r\n \"AUS_ESSEN\": \"syntaxe\",\r\n \"DOM_VS_DON\": \"syntaxe\",\r\n \"ROTHENBURG_VS_ROTENBURG\": \"syntaxe\",\r\n \"STRASBURG\": \"syntaxe\",\r\n \"MUEHLHEIM_A_D_RUHR\": \"syntaxe\",\r\n \"LAS_VEGAS\": \"syntaxe\",\r\n \"OPENOFFICE\": \"syntaxe\",\r\n \"LIBREOFFICE\": \"syntaxe\",\r\n \"BLUE_RAY\": \"syntaxe\",\r\n \"IPHONE\": \"syntaxe\",\r\n \"UNITY_MEDIA\": \"syntaxe\",\r\n \"SONY_ERICSSON\": \"syntaxe\",\r\n \"GIRLS_DAY\": \"syntaxe\",\r\n \"OPEN_STREET_MAP\": \"syntaxe\",\r\n \"IF_SCHLEIFE\": \"syntaxe\",\r\n \"JAVASCRIPT_APPLET\": \"syntaxe\",\r\n \"UBUNTU_12_4\": \"syntaxe\",\r\n \"MP_3\": \"syntaxe\",\r\n \"WERNHER_VON_BRAUN\": \"syntaxe\",\r\n \"ALEXIUS_MEINONG\": \"syntaxe\",\r\n \"HENRY_MATISSE\": \"syntaxe\",\r\n \"RINGO_STARR\": \"syntaxe\",\r\n \"SOPHIA_LOREN\": \"syntaxe\",\r\n \"LIZA_MINNELLI\": \"syntaxe\",\r\n \"FRANCOIS_HOLLANDE\": \"syntaxe\",\r\n \"ADDAMS_FAMILY\": \"syntaxe\",\r\n \"JOSEF_HAYDN\": \"syntaxe\",\r\n \"HERMAN_REUTTER\": \"syntaxe\",\r\n \"ABRAHAM_LINCOLN\": \"syntaxe\",\r\n \"MAX_BROD\": \"syntaxe\",\r\n \"REIT_IM_WINKL\": \"syntaxe\",\r\n \"JANE_AUSTEN\": \"syntaxe\",\r\n \"MARX_BROTHERS\": \"syntaxe\",\r\n \"JIMI_HENDRIX\": \"syntaxe\",\r\n \"FRIEDRICH_LOEFFLER\": \"syntaxe\",\r\n \"INNENMINISTERIUM\": \"syntaxe\",\r\n \"ULRIKE_MEINHOF\": \"syntaxe\",\r\n \"JOHANNES_GUTENBERG\": \"syntaxe\",\r\n \"ELISABETH_SELBERT\": \"syntaxe\",\r\n \"ANDREAS_BAADER\": \"syntaxe\",\r\n \"REINEKE_FUCHS\": \"syntaxe\",\r\n \"BERTRAND_RUSSELL\": \"syntaxe\",\r\n \"SAHRA_WAGENKNECHT\": \"syntaxe\",\r\n \"ZARAH_LEANDER\": \"syntaxe\",\r\n \"TIL_SCHWEIGER\": \"syntaxe\",\r\n \"WILLY_BRANDT\": \"syntaxe\",\r\n \"HELMUT_SCHMIDT\": \"syntaxe\",\r\n \"HELMUT_KOHL\": \"syntaxe\",\r\n \"JOSEPH_GOEBBELS\": \"syntaxe\",\r\n \"BARBRA_STREISAND\": \"syntaxe\",\r\n \"BERTOLT_BRECHT\": \"syntaxe\",\r\n \"GUSTAF_GRUENDGENS\": \"syntaxe\",\r\n \"IMMANUEL_KANT\": \"syntaxe\",\r\n \"SIGMUND_FREUD\": \"syntaxe\",\r\n \"GOTTLOB_FREGE\": \"syntaxe\",\r\n \"CARL_FRIEDRICH_GAUSS\": \"syntaxe\",\r\n \"GEORG_CANTOR\": \"syntaxe\",\r\n \"HEINRICH_HERTZ\": \"syntaxe\",\r\n \"ALBERT_SCHWEITZER\": \"syntaxe\",\r\n \"MUTTER_TERESA\": \"syntaxe\",\r\n \"LUIS_TRENKER\": \"syntaxe\",\r\n \"EMIL_LENZ\": \"syntaxe\",\r\n \"HENDRIK_LORENTZ\": \"syntaxe\",\r\n \"LUDVIG_LORENZ\": \"syntaxe\",\r\n \"GOTTFRIED_WILHELM_LEIBNIZ\": \"syntaxe\",\r\n \"RAF\": \"syntaxe\",\r\n \"FELDHERRNHALLE\": \"syntaxe\",\r\n \"ON_OFF_BEZIEHUNG\": \"syntaxe\",\r\n \"BEHINDERTEN_PARKPLATZ\": \"syntaxe\",\r\n \"ZU_MUTEN\": \"syntaxe\",\r\n \"SEIT_BEKANNT_WERDEN\": \"syntaxe\",\r\n \"ZU_GESCHICKT_WORDEN\": \"syntaxe\",\r\n \"XXX_TECHNISCH\": \"syntaxe\",\r\n \"XXX_HAFTE\": \"syntaxe\",\r\n \"VORHER_NACHHER_BILD\": \"syntaxe\",\r\n \"WIR_GEFUEHL\": \"syntaxe\",\r\n \"NIRGEND_WO\": \"syntaxe\",\r\n \"HOECHST_WAHRSCHEINLICH\": \"syntaxe\",\r\n \"HEREIN_SPAZIERT\": \"syntaxe\",\r\n \"BLUETOOTH_LAUTSPRECHER\": \"syntaxe\",\r\n \"JEDER_ZEIT\": \"syntaxe\",\r\n \"DICHTMACHEN\": \"syntaxe\",\r\n \"DICHT_MACHEN\": \"syntaxe\",\r\n \"HIER_MIT\": \"syntaxe\",\r\n \"ZUFRIEDENLASSEN\": \"syntaxe\",\r\n \"SIEBEN_SACHEN\": \"syntaxe\",\r\n \"IMMER_HIN\": \"syntaxe\",\r\n \"AN_STATT\": \"syntaxe\",\r\n \"SCHLICHT_WEG\": \"syntaxe\",\r\n \"VORLIEB_NEHMEN\": \"syntaxe\",\r\n \"RABATT_BINDESTRICH_CODE\": \"syntaxe\",\r\n \"HIN_WEG\": \"syntaxe\",\r\n \"TWITTER_KANÄLE\": \"syntaxe\",\r\n \"LANGE_WEILE\": \"syntaxe\",\r\n \"HIER_FUER\": \"syntaxe\",\r\n \"VOR_ERST\": \"syntaxe\",\r\n \"MIT_UNTER\": \"syntaxe\",\r\n \"SEIT_HER\": \"syntaxe\",\r\n \"MIT_REISSEN\": \"syntaxe\",\r\n \"WO_VON\": \"syntaxe\",\r\n \"DANKE_SCHOEN\": \"syntaxe\",\r\n \"DAZU_VERDIENEN\": \"syntaxe\",\r\n \"ZWEIT_KLAESSLER\": \"syntaxe\",\r\n \"GERADE_AUS\": \"syntaxe\",\r\n \"DRAUF_KLICKEN\": \"syntaxe\",\r\n \"DRAUF_LOS\": \"syntaxe\",\r\n \"ZU_LEGEN\": \"syntaxe\",\r\n \"NEUN_EURO_TICKET\": \"syntaxe\",\r\n \"WIEDER_GUT_MACHEN\": \"syntaxe\",\r\n \"TEILER_COMPOUND\": \"syntaxe\",\r\n \"DUTZEND_MAL\": \"syntaxe\",\r\n \"ALLER_HAND\": \"syntaxe\",\r\n \"ZU_FOLGE\": \"syntaxe\",\r\n \"KICK_OFF\": \"syntaxe\",\r\n \"ZU_GLEICH\": \"syntaxe\",\r\n \"JEDEN_FALLS\": \"syntaxe\",\r\n \"NAHE_ZU_ADJ\": \"syntaxe\",\r\n \"SCHOEN_REDEN\": \"syntaxe\",\r\n \"LIEBLINGS_SUB\": \"syntaxe\",\r\n \"EIN_LOGGEN\": \"syntaxe\",\r\n \"ZIEL_GERECHT\": \"syntaxe\",\r\n \"BEI_BEHALTEN\": \"syntaxe\",\r\n \"VOR_BEI\": \"syntaxe\",\r\n \"RIESEN_DANK\": \"syntaxe\",\r\n \"AUF_DICH_ZU_KOMMEN\": \"syntaxe\",\r\n \"MIT_VERANTWORTLICH\": \"syntaxe\",\r\n \"HEAD_UP_DISPLAY\": \"syntaxe\",\r\n \"MAKE_UP_ARTIST\": \"syntaxe\",\r\n \"TIPP_TOPP\": \"syntaxe\",\r\n \"WAS_MIR_ZU_STEHT\": \"syntaxe\",\r\n \"SCHEISS_EGAL\": \"syntaxe\",\r\n \"CONTENT_HYPHEN\": \"syntaxe\",\r\n \"NULL_KOMMA_NICHTS\": \"syntaxe\",\r\n \"ZWISCHEN_DURCH\": \"syntaxe\",\r\n \"DAS_EINS_SEIN\": \"syntaxe\",\r\n \"DEM_ENTSPRECHEND\": \"syntaxe\",\r\n \"GEFAELLT_MIR_BUTTON\": \"syntaxe\",\r\n \"GROESSEN_WAHNSINNIG\": \"syntaxe\",\r\n \"NORD_WESTEN\": \"syntaxe\",\r\n \"NORD_WESTLICH\": \"syntaxe\",\r\n \"ZU_KOMMEN_LASSEN\": \"syntaxe\",\r\n \"ZU_SCHICKEN_LASSEN\": \"syntaxe\",\r\n \"DA_DURCH\": \"syntaxe\",\r\n \"FUENF_PROZENT_HUERDE\": \"syntaxe\",\r\n \"WERT_SCHAETZEN\": \"syntaxe\",\r\n \"PUBLIC_PRIVATE_PARTNERSHIP\": \"syntaxe\",\r\n \"SAVE_THE_DATE_KARTEN\": \"syntaxe\",\r\n \"DREI_METER_BRETT\": \"syntaxe\",\r\n \"MEINET_WEGEN\": \"syntaxe\",\r\n \"FOLGEN_SCHWER\": \"syntaxe\",\r\n \"SEINES_GLEICHEN\": \"syntaxe\",\r\n \"SUPER_GAU\": \"syntaxe\",\r\n \"BURN_DOWN_CHART\": \"syntaxe\",\r\n \"GUT_DUENKEN\": \"syntaxe\",\r\n \"IRGEND_COMPOUND\": \"syntaxe\",\r\n \"DUDEN_MENTOR_HYPHEN\": \"syntaxe\",\r\n \"ALL_ZU\": \"syntaxe\",\r\n \"NACH_GEBEN\": \"syntaxe\",\r\n \"AD_HOC_MITTEILUNG\": \"syntaxe\",\r\n \"STARK_MACHEN\": \"syntaxe\",\r\n \"TEIL_NEHMEN\": \"syntaxe\",\r\n \"ZUTEIL_WERDEN\": \"syntaxe\",\r\n \"ROT_ROT_GRÜN\": \"syntaxe\",\r\n \"US_ARMEE\": \"syntaxe\",\r\n \"TUV_GEPRUEFT\": \"syntaxe\",\r\n \"NONSTOP_FLUG\": \"syntaxe\",\r\n \"DURCH_SCHAUEN\": \"syntaxe\",\r\n \"ALL_IN_ONE\": \"syntaxe\",\r\n \"ZWEIFELS_OHNE\": \"syntaxe\",\r\n \"ZAHL_SUFFIX_IN_ZUSAMMENSETZUNG\": \"syntaxe\",\r\n \"SOZIAL_MEDIA\": \"syntaxe\",\r\n \"IM_VERGANGEN_JAHR\": \"syntaxe\",\r\n \"EINE_ORIGINAL_RECHNUNG_TEST\": \"syntaxe\",\r\n \"EINE_ORIGINAL_RECHNUNG\": \"syntaxe\",\r\n \"GEGEN_CHECKEN\": \"syntaxe\",\r\n \"NAHEGESTANDEN\": \"syntaxe\",\r\n \"MEISTGELESEN\": \"syntaxe\",\r\n \"GROSSSCHREIBEN\": \"syntaxe\",\r\n \"ALLEINLASSEN\": \"syntaxe\",\r\n \"INFOLGEDESSEN\": \"syntaxe\",\r\n \"OPEN_OFFICE\": \"syntaxe\",\r\n \"BLAU_ÄUGIG\": \"syntaxe\",\r\n \"GROSS_FLAECHIG\": \"syntaxe\",\r\n \"ZWEI_KLASSEN_GESELLSCHAFT\": \"syntaxe\",\r\n \"NOM_GEN_COMPOUND\": \"syntaxe\",\r\n \"SUB_-S_BEDINGT_BASIERT\": \"syntaxe\",\r\n \"TEXT_-_BASIERT\": \"syntaxe\",\r\n \"NACH_DEM_NACHDEM_PKT\": \"syntaxe\",\r\n \"VOR_ORT_TERMIN\": \"syntaxe\",\r\n \"POP_UP\": \"syntaxe\",\r\n \"MUST_HAVE\": \"syntaxe\",\r\n \"FUENF_PUNKTE_PLAN\": \"syntaxe\",\r\n \"FUENF_MINUTEN_TAKT\": \"syntaxe\",\r\n \"AU_PAIR\": \"syntaxe\",\r\n \"ADD_ON\": \"syntaxe\",\r\n \"PLUG_IN\": \"syntaxe\",\r\n \"ALLER_COMPOUNDS\": \"syntaxe\",\r\n \"RUNDUM_SORGLOS_PAKET\": \"syntaxe\",\r\n \"SCHNICK_SCHNACK\": \"syntaxe\",\r\n \"GET_TOGETHER\": \"syntaxe\",\r\n \"GELD_ZURUECK_GARANTIE\": \"syntaxe\",\r\n \"FEST_COMPOUNDS\": \"syntaxe\",\r\n \"NO_GO\": \"syntaxe\",\r\n \"PLUG_IN_HYBRID\": \"syntaxe\",\r\n \"MIDLIFE_CRISIS\": \"syntaxe\",\r\n \"RUND_UM_DIE_UHR_BEWACHUNG\": \"syntaxe\",\r\n \"EIN_KIND_POLITIK\": \"syntaxe\",\r\n \"SCHRITT_FUER_SCHRITT_ANLEITUNG\": \"syntaxe\",\r\n \"TOP_GROSS_SUB\": \"syntaxe\",\r\n \"DURCH_WACHSEN\": \"syntaxe\",\r\n \"DIE_JENIGEN\": \"syntaxe\",\r\n \"DIES_BEZUEGLICH\": \"syntaxe\",\r\n \"LANDING_PAGE\": \"syntaxe\",\r\n \"ONLINE_MARKETING\": \"syntaxe\",\r\n \"HOME_OFFICE\": \"syntaxe\",\r\n \"FUGEN_S_ZUSAMMENSCHREIBUNG\": \"syntaxe\",\r\n \"NAECHSTMOEGLICH\": \"syntaxe\",\r\n \"INMITTEN\": \"syntaxe\",\r\n \"ZU_LIEBE\": \"syntaxe\",\r\n \"MUTMASSLICH\": \"syntaxe\",\r\n \"TASK_FORCE\": \"syntaxe\",\r\n \"LETZT_ENDLICH\": \"syntaxe\",\r\n \"VOLL_DROEHNEN\": \"syntaxe\",\r\n \"NACHVOLLZIEHEN\": \"syntaxe\",\r\n \"DESWEITEREN\": \"syntaxe\",\r\n \"FOLLOW_UP\": \"syntaxe\",\r\n \"GO_LIVE\": \"syntaxe\",\r\n \"PUSH_UP\": \"syntaxe\",\r\n \"EBEN_FALLS\": \"syntaxe\",\r\n \"DEUTSCH_SPRACHIG\": \"syntaxe\",\r\n \"LANGUAGE_TOOL\": \"syntaxe\",\r\n \"HINEIN_FRESSEN_HINEINFRESSEN\": \"syntaxe\",\r\n \"N_TEILIG\": \"syntaxe\",\r\n \"APRES_SKI\": \"syntaxe\",\r\n \"COPY_AND_PASTE\": \"syntaxe\",\r\n \"DRAG_AND_DROP\": \"syntaxe\",\r\n \"PAY_PER_VIEW\": \"syntaxe\",\r\n \"N_EINHALB\": \"syntaxe\",\r\n \"ZAHL_ER\": \"syntaxe\",\r\n \"FRISS_ODER_STIRB\": \"syntaxe\",\r\n \"AM_SONSTEN\": \"syntaxe\",\r\n \"EIWEISS_REICH\": \"syntaxe\",\r\n \"AUSEINANDER_GESETZT\": \"syntaxe\",\r\n \"AUSSEN_VOR_LASSEN\": \"syntaxe\",\r\n \"STATT_DESSEN\": \"syntaxe\",\r\n \"ZU_DEM_ZUDEM\": \"syntaxe\",\r\n \"IN_ZWISCHEN\": \"syntaxe\",\r\n \"BEI_M\": \"syntaxe\",\r\n \"NACH_HOLEN\": \"syntaxe\",\r\n \"BIS_LANG\": \"syntaxe\",\r\n \"SCHOCKSCHWERENOT\": \"syntaxe\",\r\n \"SATT_HABEN\": \"syntaxe\",\r\n \"SICHER_GESTELLT\": \"syntaxe\",\r\n \"DRUMHERUM_REDEN\": \"syntaxe\",\r\n \"OTTO-NORMALVERBRAUCHER\": \"syntaxe\",\r\n \"MULTI-KULTI\": \"syntaxe\",\r\n \"AUF_PASSEN\": \"syntaxe\",\r\n \"FUSSFASSEN\": \"syntaxe\",\r\n \"TEUFELSKUECHE\": \"syntaxe\",\r\n \"HIER_BEI\": \"syntaxe\",\r\n \"BEI_ZEITEN\": \"syntaxe\",\r\n \"WIE_SO_OFT\": \"syntaxe\",\r\n \"DOLCEFARNIENTE\": \"syntaxe\",\r\n \"IN_KRAFT_TRETEN\": \"syntaxe\",\r\n \"DURCH_AUS\": \"syntaxe\",\r\n \"NICHTSDESTOTROTZ\": \"syntaxe\",\r\n \"GUT_TUN_GUTTUN\": \"syntaxe\",\r\n \"ZU_GUTE_ZUGUTE\": \"syntaxe\",\r\n \"ZU_LASSEN\": \"syntaxe\",\r\n \"ADDIS_ABEBA\": \"syntaxe\",\r\n \"ZUNICHTE\": \"syntaxe\",\r\n \"VON_NOETEN\": \"syntaxe\",\r\n \"WOHL_GEMERKT\": \"syntaxe\",\r\n \"ZU_ALLERERST\": \"syntaxe\",\r\n \"PLAN_MAESSIG\": \"syntaxe\",\r\n \"GEZWUNGENER_MASSEN\": \"syntaxe\",\r\n \"INNE_HABEN\": \"syntaxe\",\r\n \"KNOWHOW\": \"syntaxe\",\r\n \"DIPL_ING\": \"syntaxe\",\r\n \"DR_ING\": \"syntaxe\",\r\n \"BEILEIBE_NICHT\": \"syntaxe\",\r\n \"VORBEI_VERB\": \"syntaxe\",\r\n \"ZU_MAL\": \"syntaxe\",\r\n \"ZU_LETZT\": \"syntaxe\",\r\n \"TAGUNDNACHTGLEICHE\": \"syntaxe\",\r\n \"ZAHL_JAHRELANG\": \"syntaxe\",\r\n \"HOCH_SCHALTEN\": \"syntaxe\",\r\n \"SO_WOHL\": \"syntaxe\",\r\n \"ZEITLANG_ZEIT_LANG\": \"syntaxe\",\r\n \"EINMALEINS\": \"syntaxe\",\r\n \"ACHTMALVIER\": \"syntaxe\",\r\n \"UEBER_DEN_WEGLAUFEN\": \"syntaxe\",\r\n \"DEM_ZUFOLGE\": \"syntaxe\",\r\n \"FREUND_SCHAFT\": \"syntaxe\",\r\n \"GUTHABEN_GUT_HABEN\": \"syntaxe\",\r\n \"ENTWEDER_ODER\": \"syntaxe\",\r\n \"VIELMEHR_VIEL_MEHR\": \"syntaxe\",\r\n \"ZWEI_UND_VIERZIG\": \"syntaxe\",\r\n \"HERUM_GELAUFEN\": \"syntaxe\",\r\n \"UEBER_FLUESSIG\": \"syntaxe\",\r\n \"ZEIT_LEBENS\": \"syntaxe\",\r\n \"TEUER_ZU_STEHEN_KOMMEN\": \"syntaxe\",\r\n \"EBEN_SO\": \"syntaxe\",\r\n \"GENAU_SO\": \"syntaxe\",\r\n \"LOG_IN\": \"syntaxe\",\r\n \"JE_UM_SO\": \"syntaxe\",\r\n \"VIEL_LEICHT\": \"syntaxe\",\r\n \"DA_NACH_PLUS_VERB\": \"syntaxe\",\r\n \"NACHDEM_NACH_DEM\": \"syntaxe\",\r\n \"AUS_AN_DEREN\": \"syntaxe\",\r\n \"JE_NACH_DEM\": \"syntaxe\",\r\n \"DA_MIT_VS_DAMIT\": \"syntaxe\",\r\n \"SO_WEIT\": \"syntaxe\",\r\n \"SO_FERN\": \"syntaxe\",\r\n \"SO_LANG\": \"syntaxe\",\r\n \"NACH_DEM_VS_NACHDEM\": \"syntaxe\",\r\n \"SO_BALD_VS_SOBALD\": \"syntaxe\",\r\n \"PREIS_GEBEN\": \"syntaxe\",\r\n \"OST_ASIATISCH\": \"syntaxe\",\r\n \"PFLEGE_FALL\": \"syntaxe\",\r\n \"BAR_GELD\": \"syntaxe\",\r\n \"VIEL_ZAHL\": \"syntaxe\",\r\n \"NACH_LAESSIGKEIT\": \"syntaxe\",\r\n \"FRAGE_ZEICHEN\": \"syntaxe\",\r\n \"MEIST_GESEHEN\": \"syntaxe\",\r\n \"HIN_WEISEN\": \"syntaxe\",\r\n \"ZWEIT_BESTER\": \"syntaxe\",\r\n \"DAS_SELBE\": \"syntaxe\",\r\n \"MOEGLICHER_WEISE_ETC\": \"syntaxe\",\r\n \"ZU_TEIL\": \"syntaxe\",\r\n \"RUND_UM\": \"syntaxe\",\r\n \"EIN_DANKE_SCHOEN\": \"syntaxe\",\r\n \"ZUM_HAARESCHNEIDEN\": \"syntaxe\",\r\n \"EINST_WEILEN\": \"syntaxe\",\r\n \"MITTLER_WEILE\": \"syntaxe\",\r\n \"UEBER_QUELLEND\": \"syntaxe\",\r\n \"HILF_REICH\": \"syntaxe\",\r\n \"BEI_GESTEUERT\": \"syntaxe\",\r\n \"ZWEIFEL_LOS\": \"syntaxe\",\r\n \"OBDACH_LOS\": \"syntaxe\",\r\n \"ZU_ER_SCHEINEN\": \"syntaxe\",\r\n \"ZU_ZUMUTEN\": \"syntaxe\",\r\n \"TROTZ_ALLEDEM\": \"syntaxe\",\r\n \"TROTZ_DEM_TROTZDEM\": \"syntaxe\",\r\n \"VONSTATTEN_GEHEN\": \"syntaxe\",\r\n \"VON_STATTEN\": \"syntaxe\",\r\n \"WEIT_AUS\": \"syntaxe\",\r\n \"WO_ANDERS\": \"syntaxe\",\r\n \"REIHEN_FOLGE\": \"syntaxe\",\r\n \"ZU_ERST\": \"syntaxe\",\r\n \"BIS_HER\": \"syntaxe\",\r\n \"STATTFINDEN\": \"syntaxe\",\r\n \"NICHTSDESTOWENIGER\": \"syntaxe\",\r\n \"VORNHEREIN\": \"syntaxe\",\r\n \"VORHINEIN\": \"syntaxe\",\r\n \"HOERENSAGEN\": \"syntaxe\",\r\n \"ZEITDRUCK\": \"syntaxe\",\r\n \"INWIEFERN\": \"syntaxe\",\r\n \"SOWIESO\": \"syntaxe\",\r\n \"DURCHEINANDER\": \"syntaxe\",\r\n \"DIENSTAG_ABEND\": \"syntaxe\",\r\n \"DIENSTAG_ABENDS\": \"syntaxe\",\r\n \"DESWEGEN\": \"syntaxe\",\r\n \"CONTRA_PRODUKTIV\": \"syntaxe\",\r\n \"AUFRECHT_ERHALTEN\": \"syntaxe\",\r\n \"INFINITIV_MIT_ZU\": \"syntaxe\",\r\n \"ALLE_NASE_LANG\": \"syntaxe\",\r\n \"KLARMACHEN\": \"syntaxe\",\r\n \"IRREMACHEN\": \"syntaxe\",\r\n \"SCHWARZSEHEN\": \"syntaxe\",\r\n \"ROTSEHEN\": \"syntaxe\",\r\n \"KLEINREDEN\": \"syntaxe\",\r\n \"SICHERSTELLEN\": \"syntaxe\",\r\n \"KALTLASSEN\": \"syntaxe\",\r\n \"KALTSTELLEN\": \"syntaxe\",\r\n \"BERGAUFWAERTS\": \"syntaxe\",\r\n \"FESTNAGELN\": \"syntaxe\",\r\n \"HEILIGSPRECHEN\": \"syntaxe\",\r\n \"KUERZERTRETEN\": \"syntaxe\",\r\n \"ZUFRIEDENGEBEN\": \"syntaxe\",\r\n \"GUTHEISSEN\": \"syntaxe\",\r\n \"KRANKSCHREIBEN\": \"syntaxe\",\r\n \"WACHHALTEN\": \"syntaxe\",\r\n \"ZUSAMMENGESETZTE_VERBEN\": \"syntaxe\",\r\n \"INBEGRIFFEN\": \"syntaxe\",\r\n \"MASSREGELN\": \"syntaxe\",\r\n \"MASSHALTEN\": \"syntaxe\",\r\n \"SCHLAFWANDELN\": \"syntaxe\",\r\n \"SCHIEFGEHEN\": \"syntaxe\",\r\n \"HOCH_ADJ\": \"syntaxe\",\r\n \"HOCH_ZUSAMMENSCHREIBUNG\": \"syntaxe\",\r\n \"SCHWERFAELLIG\": \"syntaxe\",\r\n \"SCHWERFALLEN\": \"syntaxe\",\r\n \"ANHAND\": \"syntaxe\",\r\n \"ZAHL_FACH\": \"syntaxe\",\r\n \"AUSGESCHRIEBENE_ZAHLEN\": \"syntaxe\",\r\n \"HINZU\": \"syntaxe\",\r\n \"ZUSAMMENSCHREIBUNG_ZURUECK\": \"syntaxe\",\r\n \"ZUSAMMENSCHREIBUNG_HER\": \"syntaxe\",\r\n \"ZUSAMMENSCHREIBUNG_HIERHER\": \"syntaxe\",\r\n \"ZUSAMMENSCHREIBUNG_HINTER\": \"syntaxe\",\r\n \"ZUSAMMENSCHREIBUNG_HIN\": \"syntaxe\",\r\n \"ZUSAMMENSCHREIBUNG_VORAUS\": \"syntaxe\",\r\n \"ZUSAMMENSCHREIBUNG_UEBER\": \"syntaxe\",\r\n \"INFINITIVGRUPPE_FALSCH_ZUSAMMEN\": \"syntaxe\",\r\n \"LATEINISCHE_TAENZE\": \"syntaxe\",\r\n \"ZAHL_LANG_NOMEN\": \"syntaxe\",\r\n \"MORGEN_MIT_VERGANGENHEIT\": \"syntaxe\",\r\n \"GESTERN_MIT_PRAESENS\": \"syntaxe\",\r\n \"HUMANEXPERIMENT\": \"syntaxe\",\r\n \"MASSEUSE\": \"syntaxe\",\r\n \"TEUFELSKREISLAUF\": \"syntaxe\",\r\n \"HUERDEN_UMSCHIFFEN\": \"syntaxe\",\r\n \"UNGEFAEHR_GENAU\": \"syntaxe\",\r\n \"SEIT_IN_KRAFT_TRETEN\": \"syntaxe\",\r\n \"IMMER_NIE\": \"syntaxe\",\r\n \"RUNDE_ECKEN\": \"syntaxe\",\r\n \"NOBELPREISGEWINNER\": \"syntaxe\",\r\n \"LICHTJAHR\": \"syntaxe\",\r\n \"FLIESEND\": \"syntaxe\",\r\n \"QUADRATWURZEL\": \"syntaxe\",\r\n \"DOPPELTE_TEMPERATUR\": \"syntaxe\",\r\n \"WINTER_DDDDD\": \"syntaxe\",\r\n \"DATUM_ZUKUNFT_VERB_VERGANGENHEIT\": \"syntaxe\",\r\n \"DATUM_NEUES_JAHR\": \"syntaxe\",\r\n \"DATUM_WOCHENTAG\": \"syntaxe\",\r\n \"DATUM_WOCHENTAG_OHNE_JAHR\": \"syntaxe\",\r\n \"UNGUELTIGES_DATUM\": \"syntaxe\",\r\n \"DATUM_VON_BIS\": \"syntaxe\",\r\n \"DOPPELUNG_JAHRE\": \"syntaxe\",\r\n \"DOPPELTE_VERNEINUNG\": \"syntaxe\",\r\n \"KEIN_EIN\": \"syntaxe\",\r\n \"HAUPTPROTAGONIST\": \"syntaxe\",\r\n \"TAEGLICHER_ALLTAG\": \"syntaxe\",\r\n \"WELTWEIT_DER_WELT\": \"syntaxe\",\r\n \"ZENTRALER_KERNBAUSTEIN\": \"syntaxe\",\r\n \"NEBEN_MIT\": \"syntaxe\",\r\n \"HEILIGER_SANKT_X\": \"syntaxe\",\r\n \"CA_ETWA\": \"syntaxe\",\r\n \"UEBER_DARUEBER\": \"syntaxe\",\r\n \"EHEMALIG_EX\": \"syntaxe\",\r\n \"INNEN_HOHL\": \"syntaxe\",\r\n \"FALSCHER_TRUGSCHLUSS\": \"syntaxe\",\r\n \"UND_ETC\": \"syntaxe\",\r\n \"UND_SOWIE\": \"syntaxe\",\r\n \"DOPPELUNG_YYXXER_JAHRE\": \"syntaxe\",\r\n \"ETC_PUNKTE\": \"syntaxe\",\r\n \"SCHEINT_ANSCHEINEND\": \"syntaxe\",\r\n \"ZEITLICH_SYNCHRON\": \"syntaxe\",\r\n \"VERDOPPELUNG\": \"syntaxe\",\r\n \"SEMANTISCHE_BEDEUTUNG\": \"syntaxe\",\r\n \"KLEINE_-CHEN\": \"syntaxe\",\r\n \"SELTENE_RARITAET\": \"syntaxe\",\r\n \"ZEITLICHE_VERZOEGERUNG\": \"syntaxe\",\r\n \"WERTLOSER_BALLAST\": \"syntaxe\",\r\n \"WEIBLICHE_-INNEN\": \"syntaxe\",\r\n \"RUNDE_KUGEL\": \"syntaxe\",\r\n \"VON_WOHER\": \"syntaxe\",\r\n \"WOHIN_HIN\": \"syntaxe\",\r\n \"WAEHREND_DES_VERLAUFS\": \"syntaxe\",\r\n \"KAUSAL_VERURSACHT\": \"syntaxe\",\r\n \"ERHOEHTER_HOCHDRUCK\": \"syntaxe\",\r\n \"SYNONYME_BEDEUTUNG\": \"syntaxe\",\r\n \"ANONYMER_NAME\": \"syntaxe\",\r\n \"KMH_PRO_STUNDE\": \"syntaxe\",\r\n \"RECHTLICH_LEGAL\": \"syntaxe\",\r\n \"ENTSTAMMEN_AUS\": \"syntaxe\",\r\n \"INMITTEN_IN_DER\": \"syntaxe\",\r\n \"ISBN-NUMMER\": \"syntaxe\",\r\n \"TROMMELREVOLVER\": \"syntaxe\",\r\n \"ERSTE_PERSON_SIN_OHNE_E\": \"syntaxe\",\r\n \"ZUM_STATT_FUERS\": \"syntaxe\",\r\n \"DOPPELPERFEKT\": \"syntaxe\",\r\n \"SO_DERMASSEN\": \"syntaxe\",\r\n \"UEBERHAUPT_GAR_NICHT\": \"syntaxe\",\r\n \"BRAUCHEN_ZU\": \"syntaxe\",\r\n \"WEGEN_DIR\": \"syntaxe\",\r\n \"FUER_UMSONST\": \"syntaxe\",\r\n \"SATZ_VON\": \"syntaxe\",\r\n \"BRAUCHEN_OHNE_ZU\": \"syntaxe\",\r\n \"BAUCHWEH\": \"syntaxe\",\r\n \"PER_DEFINITION\": \"syntaxe\",\r\n \"TAUCHERBRILLE\": \"syntaxe\",\r\n \"GOTTESTEILCHEN\": \"syntaxe\",\r\n \"AUF_OFFEN\": \"syntaxe\",\r\n \"SCHEISS_HAMMER_RIESEN\": \"syntaxe\",\r\n \"GEHIESSEN\": \"syntaxe\",\r\n \"LILANES\": \"syntaxe\",\r\n \"MEIN_INTERNET\": \"syntaxe\",\r\n \"MATHE\": \"syntaxe\",\r\n \"FERNSEHENGUCKEN\": \"syntaxe\",\r\n \"MODALPARTIKELN\": \"syntaxe\",\r\n \"ALS_WIE\": \"syntaxe\",\r\n \"KOMP_WIE\": \"syntaxe\",\r\n \"SINN_MACHEN\": \"syntaxe\",\r\n \"DASSELBE_DAS_GLEICHE\": \"syntaxe\",\r\n \"MACHEN_UMGANGSSPRACHE\": \"syntaxe\",\r\n \"PLUS_RECHNEN\": \"syntaxe\",\r\n \"VOLTZAHL\": \"syntaxe\",\r\n \"RAN_RUM_RAUF_REIN_RAUS_RUNTER\": \"syntaxe\",\r\n \"MIT_OHNE\": \"syntaxe\",\r\n \"MURKSEN\": \"syntaxe\",\r\n \"VOLTMETER\": \"syntaxe\",\r\n \"DRAUF\": \"syntaxe\",\r\n \"NACH_HAUS\": \"syntaxe\",\r\n \"KUDAMM\": \"syntaxe\",\r\n \"MEINSTE\": \"syntaxe\",\r\n \"KATARI\": \"syntaxe\",\r\n \"CUM_EX\": \"syntaxe\",\r\n \"WORTWIEDERHOLUNG_SEHR\": \"syntaxe\",\r\n \"ALLEN_ERNSTES_STIL\": \"syntaxe\",\r\n \"VERSEHENTLICHERWEISE\": \"syntaxe\",\r\n \"ICH_LIEBS\": \"syntaxe\",\r\n \"INS_FITNESS\": \"syntaxe\",\r\n \"ARGUMENT_ANBRINGEN\": \"syntaxe\",\r\n \"KALTE_TEMPERATUR\": \"syntaxe\",\r\n \"SOWOHL_UND\": \"syntaxe\",\r\n \"SICH_GEGENSEITIG\": \"syntaxe\",\r\n \"WOERTER_OHNE_STEIGERUNG\": \"syntaxe\",\r\n \"DAUERN_TUT\": \"syntaxe\",\r\n \"OEFTESTEN\": \"syntaxe\",\r\n \"AUF_ARBEIT\": \"syntaxe\",\r\n \"DRUEBER\": \"syntaxe\",\r\n \"DRUNTER\": \"syntaxe\",\r\n \"DADRAUS\": \"syntaxe\",\r\n \"DADRAN\": \"syntaxe\",\r\n \"DADRAUF\": \"syntaxe\",\r\n \"DADRINNEN\": \"syntaxe\",\r\n \"DADRIN\": \"syntaxe\",\r\n \"DADRUNTER\": \"syntaxe\",\r\n \"DADRUEBER\": \"syntaxe\",\r\n \"DADRUM\": \"syntaxe\",\r\n \"MEHR_LIEB_ALS\": \"syntaxe\",\r\n \"SUCHEN_HELFEN\": \"syntaxe\",\r\n \"SIEBEN_TAGES_INZIDENZ\": \"syntaxe\",\r\n \"AN_FUER_SICH\": \"syntaxe\",\r\n \"MEHR_ALS_ZAL_PLUS\": \"syntaxe\",\r\n \"NIX\": \"syntaxe\",\r\n \"NICHTSDESTOTROTZ_II\": \"syntaxe\",\r\n \"DIESEN_JAHRES\": \"syntaxe\",\r\n \"FEHLERHAFTER_SUPERLATIV\": \"syntaxe\",\r\n \"FEHLERHAFTER_SUPERLATIV_PREFEKT\": \"syntaxe\",\r\n \"NICHT_ADAEQUAT_GENUG\": \"syntaxe\",\r\n \"MEISTE_ALLER\": \"syntaxe\",\r\n \"PRP_WAS_WO\": \"syntaxe\",\r\n \"UST_ID\": \"syntaxe\",\r\n \"ZWISCHEN_SEIT_BIS\": \"syntaxe\",\r\n \"ADWORDS\": \"syntaxe\",\r\n \"MYTAXI\": \"syntaxe\",\r\n \"SPACEX\": \"syntaxe\",\r\n \"ERSTSEMESTERIN\": \"syntaxe\",\r\n \"MAENNER_VS_LEUTE\": \"syntaxe\",\r\n \"MANNSTUNDE\": \"syntaxe\",\r\n \"MAEDCHENNAME\": \"syntaxe\",\r\n \"PUTZFRAU\": \"syntaxe\",\r\n \"GLEICHBEHANDLUNG\": \"syntaxe\",\r\n \"MIT_FREUNDLICHEN_GRUESSE\": \"syntaxe\",\r\n \"ANREDE\": \"syntaxe\",\r\n \"LIEBER_ANNA\": \"syntaxe\",\r\n \"LIEB_GRUESSE\": \"syntaxe\",\r\n \"MIT_FREUNDLICHEN\": \"syntaxe\",\r\n \"MFG\": \"syntaxe\",\r\n \"SIE_GROSS\": \"syntaxe\",\r\n \"SIE_ANREDE_BITTE\": \"syntaxe\",\r\n \"MIT_FREUNDLICHEN_GRUESSEN_KOMMA\": \"syntaxe\",\r\n \"DAS_UNDENKBARE\": \"typographie\",\r\n \"HEY_LIEBES\": \"typographie\",\r\n \"WAS_MACHST_DU_SCHOENES\": \"typographie\",\r\n \"VOM_FEINSTEN\": \"typographie\",\r\n \"UNTER_FERNER_LIEFEN\": \"typographie\",\r\n \"IM_INNEREN\": \"typographie\",\r\n \"ALS_LETZTER\": \"typographie\",\r\n \"SCHLIMMERES_VERHINDERN\": \"typographie\",\r\n \"MIT_VERWEIS_AUF\": \"typographie\",\r\n \"DAS_BE_UND_ENTLADEN\": \"typographie\",\r\n \"VIELE_REISENDE\": \"typographie\",\r\n \"DAS_BESTE\": \"typographie\",\r\n \"DAS_HOECHSTE_DER_GEFUEHLE\": \"typographie\",\r\n \"SECHS_RICHTIGE\": \"typographie\",\r\n \"SEIT_BEKANNTWERDEN\": \"typographie\",\r\n \"SCHMIERE_STEHEN\": \"typographie\",\r\n \"ICH_BIN_AM_UEBERLEGEN\": \"typographie\",\r\n \"MEIN_ERSPARTES\": \"typographie\",\r\n \"PROF_KLEIN\": \"typographie\",\r\n \"KEINE_EILE\": \"typographie\",\r\n \"DAS_GESAGTE\": \"typographie\",\r\n \"REGEN_KLEIN\": \"typographie\",\r\n \"IN_WEITE_FERNE\": \"typographie\",\r\n \"IM_FREIEN\": \"typographie\",\r\n \"WERKE_SUBST\": \"typographie\",\r\n \"FUER_DAS_REAGIEREN\": \"typographie\",\r\n \"ICH_VERB_GROSS\": \"typographie\",\r\n \"HALLO_LIEBE_PETRA\": \"typographie\",\r\n \"IN_TEILEN\": \"typographie\",\r\n \"DEUTSCHE_POST\": \"typographie\",\r\n \"IN_DEN_GRIFF_BEKOMMEN\": \"typographie\",\r\n \"ZUR_WEHR_SETZEN\": \"typographie\",\r\n \"ZWIEBEL_SUBST\": \"typographie\",\r\n \"ZUGRIFF_SUBST\": \"typographie\",\r\n \"WAS_GIBT_ES_NEUES\": \"typographie\",\r\n \"WAHRES_ICH\": \"typographie\",\r\n \"PERSONAL\": \"typographie\",\r\n \"IM_SOG\": \"typographie\",\r\n \"KOMMODE\": \"typographie\",\r\n \"BOCK_HABEN\": \"typographie\",\r\n \"NACH_DEM_RECHTEN_SCHAUEN\": \"typographie\",\r\n \"RATE_SUBST\": \"typographie\",\r\n \"AUF_ANHIEB\": \"typographie\",\r\n \"IN_ALLEN_BELANGEN\": \"typographie\",\r\n \"AUSSCHAU_HALTEN\": \"typographie\",\r\n \"ABLAUF_SUBST\": \"typographie\",\r\n \"HABE_BEDENKEN\": \"typographie\",\r\n \"SUB_INF_UND_VER_INF\": \"typographie\",\r\n \"IM_LANDE\": \"typographie\",\r\n \"IM_PLUS\": \"typographie\",\r\n \"BEAMTE\": \"typographie\",\r\n \"SO_EIN_QUATSCH\": \"typographie\",\r\n \"IST_DIE_FRAGE\": \"typographie\",\r\n \"KREUZ_SUBST\": \"typographie\",\r\n \"KREUZ_UND_QUER\": \"typographie\",\r\n \"KEIN_ZURUECK\": \"typographie\",\r\n \"BETRIEB_SUBST\": \"typographie\",\r\n \"TOP_IN_FORM\": \"typographie\",\r\n \"ERST_RECHT\": \"typographie\",\r\n \"PASS_SUBST\": \"typographie\",\r\n \"ORTE_SUBST\": \"typographie\",\r\n \"WETTER_SUBST\": \"typographie\",\r\n \"POST_SUBST\": \"typographie\",\r\n \"EIN_KOMMEN_UND_GEHEN\": \"typographie\",\r\n \"ADJ_CASE\": \"typographie\",\r\n \"FUER_MICH_SELBST\": \"typographie\",\r\n \"GANG_CASE\": \"typographie\",\r\n \"ANGST_CASE\": \"typographie\",\r\n \"SOCIAL_MEDIA\": \"typographie\",\r\n \"ACH_UND_KRACH\": \"typographie\",\r\n \"PER_DEFAULT\": \"typographie\",\r\n \"BIKE_SUBST\": \"typographie\",\r\n \"SPERRE_SUBST\": \"typographie\",\r\n \"VERTRAG_SUBST\": \"typographie\",\r\n \"SCHOENEN_UND_REICHEN\": \"typographie\",\r\n \"VERGLEICH_SUBST\": \"typographie\",\r\n \"JEDERMANN\": \"typographie\",\r\n \"KOMMT_MIR_SPANISCH_VOR\": \"typographie\",\r\n \"IM_HIER_UND_JETZT\": \"typographie\",\r\n \"EINE_NEUE_BLEIBE\": \"typographie\",\r\n \"VIELE_LIEBE_GRUESSE\": \"typographie\",\r\n \"WEISE_SUBST\": \"typographie\",\r\n \"ZU_GUTER_LETZT\": \"typographie\",\r\n \"EIN_DUTZEND_MAL\": \"typographie\",\r\n \"NICHT_SO_RECHT\": \"typographie\",\r\n \"AL_DENTE\": \"typographie\",\r\n \"NICHTS_FUER_UNGUT\": \"typographie\",\r\n \"FUER_GROSS_UND_KLEIN\": \"typographie\",\r\n \"JEDEM_DAS_SEINE\": \"typographie\",\r\n \"ZU_SEINEM_ENTSETZEN\": \"typographie\",\r\n \"FEDERN_LASSEN\": \"typographie\",\r\n \"ZUM_TROTZ\": \"typographie\",\r\n \"BEIDE_MALE\": \"typographie\",\r\n \"GUTES_GELINGEN\": \"typographie\",\r\n \"AUS_DER_PATSCHE\": \"typographie\",\r\n \"VORSCHAU_SUBST\": \"typographie\",\r\n \"GERAET_SUBST\": \"typographie\",\r\n \"MIETE_SUBST\": \"typographie\",\r\n \"IHR_LIEBEN\": \"typographie\",\r\n \"MUSS_NOMEN\": \"typographie\",\r\n \"AUFGABEN_SUBST\": \"typographie\",\r\n \"DER_KLICK_AUF\": \"typographie\",\r\n \"GEGENUEBER\": \"typographie\",\r\n \"RUECKEN_AN_RUECKEN\": \"typographie\",\r\n \"EIN_AUF_UND_AB\": \"typographie\",\r\n \"IN_RAGE\": \"typographie\",\r\n \"FALL_SUBST\": \"typographie\",\r\n \"TOP_ODER_FLOP\": \"typographie\",\r\n \"KEIN_VERLASS\": \"typographie\",\r\n \"HALLO_ZUSAMMEN\": \"typographie\",\r\n \"GANG_UND_GAEBE\": \"typographie\",\r\n \"NAH_UND_FERN\": \"typographie\",\r\n \"FROHES_NEUES\": \"typographie\",\r\n \"AM_NOETIGSTEN\": \"typographie\",\r\n \"ERST_MAL_KLEIN\": \"typographie\",\r\n \"NACH_LÄNGEREM_ÜBERLEGEN\": \"typographie\",\r\n \"ALLE_VERBLEIBENDEN\": \"typographie\",\r\n \"ER_IST_STOLZ\": \"typographie\",\r\n \"GUTEN_RUTSCH\": \"typographie\",\r\n \"IN_DER_FRUEH\": \"typographie\",\r\n \"WICHTIGERES_ZU_TUN\": \"typographie\",\r\n \"ALLEN_ERNSTES\": \"typographie\",\r\n \"AUF_DRÄNGEN\": \"typographie\",\r\n \"BEI_GENAUEREM_HINSEHEN\": \"typographie\",\r\n \"DAS_RICHTIGE_TUN\": \"typographie\",\r\n \"PRIVATES_UND_BERUFLICHES\": \"typographie\",\r\n \"IN_FLAGRANTI\": \"typographie\",\r\n \"EIN_GEBEN_UND_NEHMEN\": \"typographie\",\r\n \"UM_GROESSERES_ZU\": \"typographie\",\r\n \"DER_KLUEGERE_GIBT_NACH\": \"typographie\",\r\n \"GENAUERES_SAGEN\": \"typographie\",\r\n \"BEI_BEGINN\": \"typographie\",\r\n \"BEI_GOOGLE\": \"typographie\",\r\n \"NICHTS_ZU_SCHADE\": \"typographie\",\r\n \"AUF_ZUHAUSE\": \"typographie\",\r\n \"AUF_DAHEIM\": \"typographie\",\r\n \"FUER_UNTERWEGS\": \"typographie\",\r\n \"TUTEN_UND_BLASEN\": \"typographie\",\r\n \"UNTERM_STRICH\": \"typographie\",\r\n \"LUG_UND_TRUG\": \"typographie\",\r\n \"AUF_ZACK\": \"typographie\",\r\n \"EINS_ZU_EINS_CASING\": \"typographie\",\r\n \"PAR_EXCELLENCE\": \"typographie\",\r\n \"SUESSES_ODER_SAURES\": \"typographie\",\r\n \"TOUREN_SUBST\": \"typographie\",\r\n \"UNTER_DRUCK\": \"typographie\",\r\n \"REDE_UND_ANTWORT\": \"typographie\",\r\n \"MIT_ERSTAUNEN\": \"typographie\",\r\n \"NACH_JETZIGEN_STAND\": \"typographie\",\r\n \"RELEASE_SUBST\": \"typographie\",\r\n \"IN_FORM\": \"typographie\",\r\n \"IM_STILLEN\": \"typographie\",\r\n \"IM_WEG_STEHEN\": \"typographie\",\r\n \"HAPPY_END\": \"typographie\",\r\n \"KEIN_GERINGERER_ALS\": \"typographie\",\r\n \"IM_OSTEN\": \"typographie\",\r\n \"EINIGES\": \"typographie\",\r\n \"FUNKEN_ANSTAND\": \"typographie\",\r\n \"IM_SITZEN\": \"typographie\",\r\n \"ZUM_BESSEREN_ÄNDERN\": \"typographie\",\r\n \"AUS_DEM_NICHTS\": \"typographie\",\r\n \"IN_GRENZEN\": \"typographie\",\r\n \"GROEBSTEN\": \"typographie\",\r\n \"SCHLIMMSTE_HINTER_UNS\": \"typographie\",\r\n \"EINE_MENGE_GUTES\": \"typographie\",\r\n \"SICH_SELBST_DER_NAECHSTE\": \"typographie\",\r\n \"DIE_GRUENEN_WAEHLEN\": \"typographie\",\r\n \"KFZ_CASE\": \"typographie\",\r\n \"EFFIZIENTES_ARBEITEN\": \"typographie\",\r\n \"TAT_SUBST\": \"typographie\",\r\n \"GEBRAUCH_MACHEN\": \"typographie\",\r\n \"DA\": \"typographie\",\r\n \"EXTRA\": \"typographie\",\r\n \"DAS_WEITE\": \"typographie\",\r\n \"IN_DER_MACHE\": \"typographie\",\r\n \"DIE_HECHTE\": \"typographie\",\r\n \"KUGELN_SUBST\": \"typographie\",\r\n \"STRICH_SUBST\": \"typographie\",\r\n \"AUSMASS_SUBST\": \"typographie\",\r\n \"MESSERS_SCHNEIDE\": \"typographie\",\r\n \"ZUCKERBROT_UND_PEITSCHE\": \"typographie\",\r\n \"HERR_MEINER_SELBST\": \"typographie\",\r\n \"ANSTAND_SUBST\": \"typographie\",\r\n \"BLICK_SUBST\": \"typographie\",\r\n \"NEUES_WAGEN\": \"typographie\",\r\n \"SCHMERZEN_SUBST\": \"typographie\",\r\n \"GEBÜHREN_SUBST\": \"typographie\",\r\n \"LINK_SUBST\": \"typographie\",\r\n \"IHR_EUCH\": \"typographie\",\r\n \"EHRE_SUBST\": \"typographie\",\r\n \"VERSPRECHEN_SUBST\": \"typographie\",\r\n \"BUTTER_BEI_DIE_FISCHE\": \"typographie\",\r\n \"MUEHE_SUBST\": \"typographie\",\r\n \"RUF_SUBST\": \"typographie\",\r\n \"REISE_SUBST\": \"typographie\",\r\n \"WELLEN_SUBST\": \"typographie\",\r\n \"KRAFT_AMTES\": \"typographie\",\r\n \"IST_TEIL\": \"typographie\",\r\n \"TEIL_VON\": \"typographie\",\r\n \"ZUM_TEIL\": \"typographie\",\r\n \"IN_KAUF_NEHMEN\": \"typographie\",\r\n \"IHN\": \"typographie\",\r\n \"ALLE\": \"typographie\",\r\n \"AUF_JEDEN_FALL\": \"typographie\",\r\n \"AUF_BITTEN\": \"typographie\",\r\n \"KLEINSCHREIBUNG_MAL\": \"typographie\",\r\n \"AUFS_SCHAERFSTE\": \"typographie\",\r\n \"WERT_SEIN\": \"typographie\",\r\n \"PAUSE_MACHEN\": \"typographie\",\r\n \"DAS_ALTER\": \"typographie\",\r\n \"KLEIN_NACH_PUNKT\": \"typographie\",\r\n \"ICH_HABE\": \"typographie\",\r\n \"FRAGE_KLEIN\": \"typographie\",\r\n \"RECHT_MACHEN\": \"typographie\",\r\n \"TEILEN\": \"typographie\",\r\n \"DER_UNTERSCHIED\": \"typographie\",\r\n \"EINIGE_FRAGEN\": \"typographie\",\r\n \"DIE_ZEIT\": \"typographie\",\r\n \"FOLGENDES\": \"typographie\",\r\n \"DER_FADEN\": \"typographie\",\r\n \"DIE_SCHWERE\": \"typographie\",\r\n \"SAMT_UND_SONDERS\": \"typographie\",\r\n \"ZU_ALLEM_ÜBEL\": \"typographie\",\r\n \"STELLT_FEST\": \"typographie\",\r\n \"FEST\": \"typographie\",\r\n \"DAS_KLEINES_SUBST_ADJEKTIV\": \"typographie\",\r\n \"ZU_ALLEM\": \"typographie\",\r\n \"DER_BESTE\": \"typographie\",\r\n \"PRP_VER_PRGK\": \"typographie\",\r\n \"DAS_BESTE_AM\": \"typographie\",\r\n \"DOPPELPUNKT_GROSS\": \"typographie\",\r\n \"BESTES_GEBEN\": \"typographie\",\r\n \"DAS_BESTE_SEIN\": \"typographie\",\r\n \"IN_DER_MACHT_STEHENDE\": \"typographie\",\r\n \"RECHTENS\": \"typographie\",\r\n \"WILLKOMMEN_GROSS\": \"typographie\",\r\n \"VON_RANG\": \"typographie\",\r\n \"FREUND\": \"typographie\",\r\n \"BESTAND\": \"typographie\",\r\n \"SUBSTANTIVIERTES_ADJEKTIV\": \"typographie\",\r\n \"SEIT_BEGINN\": \"typographie\",\r\n \"DEFEKT\": \"typographie\",\r\n \"GROSSSCHREIBUNG_BEI_WOERTLICHER_REDE\": \"typographie\",\r\n \"UNFEST_ZUSAMMENGESETZTE_VERBEN\": \"typographie\",\r\n \"SUBSTANTIVIERTES_PARTIZIP\": \"typographie\",\r\n \"PRAEPOSITION_NICHTDEKLINIERTES_ADJEKTIV\": \"typographie\",\r\n \"AUFS_SPIEL_SETZEN\": \"typographie\",\r\n \"AUF_DEM_TROCKENEN\": \"typographie\",\r\n \"SIE_DIALOG\": \"typographie\",\r\n \"ICH_NOMEN\": \"typographie\",\r\n \"ZUR_ABBITTE_ETC\": \"typographie\",\r\n \"ESSEN_GEHEN\": \"typographie\",\r\n \"ZU_ESSEN\": \"typographie\",\r\n \"ZU_SCHERZEN\": \"typographie\",\r\n \"AUS_ZUM_TROTZ\": \"typographie\",\r\n \"EIN_KLEINES_NOMEN\": \"typographie\",\r\n \"EIN_FUENFTEL\": \"typographie\",\r\n \"EIN_NTEL_EINHEIT\": \"typographie\",\r\n \"KARDINALZAHLEN\": \"typographie\",\r\n \"ZAHLWOERTER\": \"typographie\",\r\n \"EINS_UND_EINS\": \"typographie\",\r\n \"FOLGE_LEISTEN\": \"typographie\",\r\n \"DU_DICH\": \"typographie\",\r\n \"WORTPAAR\": \"typographie\",\r\n \"PLEITE_SEIN\": \"typographie\",\r\n \"ALS_ERSTES\": \"typographie\",\r\n \"ANS_KLEINES_NOMEN\": \"typographie\",\r\n \"ANS_EINGEMACHTE\": \"typographie\",\r\n \"AM_KLEINES_NOMEN\": \"typographie\",\r\n \"VOM_KLEINES_NOMEN\": \"typographie\",\r\n \"VOM_SPRACHADJEKTIV\": \"typographie\",\r\n \"AM_VERB_KLEIN\": \"typographie\",\r\n \"AM_XSTEN\": \"typographie\",\r\n \"BIEGEN_UND_BRECHEN\": \"typographie\",\r\n \"JAEHRIG\": \"typographie\",\r\n \"HALBMAST\": \"typographie\",\r\n \"DER_ERSTE\": \"typographie\",\r\n \"ZUM_EINEN\": \"typographie\",\r\n \"DES_OEFTEREN\": \"typographie\",\r\n \"KRAFT_MEINES_AMTES\": \"typographie\",\r\n \"WUNDER_PUNKT\": \"typographie\",\r\n \"DAS_INFINITIV_VON\": \"typographie\",\r\n \"SUB_VER_KLEIN\": \"typographie\",\r\n \"SUBSTANTIVIERUNG_NACH_DURCH\": \"typographie\",\r\n \"IM_AUS\": \"typographie\",\r\n \"IM_GESTERN\": \"typographie\",\r\n \"IM_KLAREN\": \"typographie\",\r\n \"LINKS_ADV\": \"typographie\",\r\n \"RECHTS_ADV\": \"typographie\",\r\n \"BARFUSS_ADJ\": \"typographie\",\r\n \"ABSAGE_SUBST\": \"typographie\",\r\n \"VERB_FEM_SUBST\": \"typographie\",\r\n \"HUELLE_UND_FUELLE\": \"typographie\",\r\n \"PAUKEN_UND_TROMPETEN\": \"typographie\",\r\n \"WACHE_SUBST\": \"typographie\",\r\n \"WEICHE_SUBST\": \"typographie\",\r\n \"SCHWAMM_SUBST\": \"typographie\",\r\n \"EHE_SUBST\": \"typographie\",\r\n \"IN_EHREN\": \"typographie\",\r\n \"WETTE_SUBST\": \"typographie\",\r\n \"GNADE_SUBST\": \"typographie\",\r\n \"IN_DER_SCHWEBE\": \"typographie\",\r\n \"STILLE_SUBST\": \"typographie\",\r\n \"INNERES_SUBST\": \"typographie\",\r\n \"LAUT_SUBST\": \"typographie\",\r\n \"PELLE_SUBST\": \"typographie\",\r\n \"EBENE_SUBST\": \"typographie\",\r\n \"FRISCHE_SUBST\": \"typographie\",\r\n \"REGELN_SUBST\": \"typographie\",\r\n \"WAGEN_SUBST\": \"typographie\",\r\n \"STROEME_SUBST\": \"typographie\",\r\n \"BEDARF_SUBST\": \"typographie\",\r\n \"AUSREDE_SUBST\": \"typographie\",\r\n \"BERUF_SUBST\": \"typographie\",\r\n \"SCHAU_SUBST\": \"typographie\",\r\n \"WIDERSTAND_SUBST\": \"typographie\",\r\n \"FUSSENDE_SUBST\": \"typographie\",\r\n \"ANGRIFF_SUBST\": \"typographie\",\r\n \"ZWEIFEL_SUBST\": \"typographie\",\r\n \"LUEFTE_SUBST\": \"typographie\",\r\n \"BAND_SUBST\": \"typographie\",\r\n \"MASS_SUBST\": \"typographie\",\r\n \"SEGEL_SUBST\": \"typographie\",\r\n \"NAEHTE_SUBST\": \"typographie\",\r\n \"STRICKE_SUBST\": \"typographie\",\r\n \"SCHRAUBE_SUBST\": \"typographie\",\r\n \"KREISE_SUBST\": \"typographie\",\r\n \"WUNDE_SUBST\": \"typographie\",\r\n \"SCHNUPFEN_SUBST\": \"typographie\",\r\n \"VORSORGE_SUBST\": \"typographie\",\r\n \"SCHULDEN_SUBST\": \"typographie\",\r\n \"FILME_SUBST\": \"typographie\",\r\n \"BEWEISE_SUBST\": \"typographie\",\r\n \"UNIFORM_SUBST\": \"typographie\",\r\n \"SCHLANGEN_SUBST\": \"typographie\",\r\n \"KNOTEN_SUBST\": \"typographie\",\r\n \"FISCHE_SUBST\": \"typographie\",\r\n \"ARBEITEN_SUBST\": \"typographie\",\r\n \"WAERME_SUBST\": \"typographie\",\r\n \"GLAETTE_SUBST\": \"typographie\",\r\n \"FASS_SUBST\": \"typographie\",\r\n \"KOEPFE_SUBST\": \"typographie\",\r\n \"GRENZEN_SUBST\": \"typographie\",\r\n \"AUSNAHME_SUBST\": \"typographie\",\r\n \"BERGE_SUBST\": \"typographie\",\r\n \"AUSSAGE_SUBST\": \"typographie\",\r\n \"ANGABEN_SUBST\": \"typographie\",\r\n \"ERMESSEN_SUBST\": \"typographie\",\r\n \"BESTAND_SUBST\": \"typographie\",\r\n \"TROPFEN_SUBST\": \"typographie\",\r\n \"JENSEITS_SUBST\": \"typographie\",\r\n \"NUTZEN_SUBST\": \"typographie\",\r\n \"ZU_NUTZE\": \"typographie\",\r\n \"ZU_RATE\": \"typographie\",\r\n \"ZU_GRABE_TRAGEN\": \"typographie\",\r\n \"ZU_UNRECHT\": \"typographie\",\r\n \"FETT_SUBST\": \"typographie\",\r\n \"WAREN_SUBST\": \"typographie\",\r\n \"WEILE_SUBST\": \"typographie\",\r\n \"JUNGE_SUBST\": \"typographie\",\r\n \"ZWEI_FLIEGEN_MIT_EINER_KLAPPE\": \"typographie\",\r\n \"STINKT_NACH\": \"typographie\",\r\n \"PFEIFE_SUBST\": \"typographie\",\r\n \"SCHEISSE_SUBST\": \"typographie\",\r\n \"WOHL_ODER_UEBEL\": \"typographie\",\r\n \"IN_DER_KLEMME\": \"typographie\",\r\n \"SCHNAUZE_SUBST\": \"typographie\",\r\n \"NOMEN_KLEIN\": \"typographie\",\r\n \"KEIN_ZUTRITT\": \"typographie\",\r\n \"RAETSELN_SUBST\": \"typographie\",\r\n \"STUFE_SUBST\": \"typographie\",\r\n \"AUF_DIE_SCHLICHE\": \"typographie\",\r\n \"RECHTE_VORBEHALTEN\": \"typographie\",\r\n \"GENOSSINNEN_UND_GENOSSEN\": \"typographie\",\r\n \"EIN_EINSEHEN\": \"typographie\",\r\n \"DAS_NACHSEHEN\": \"typographie\",\r\n \"DEN_KUERZEREN_ZIEHEN\": \"typographie\",\r\n \"NACH_DEM_RECHTEN_SEHEN\": \"typographie\",\r\n \"IN_GEORDNETEN_BAHNEN\": \"typographie\",\r\n \"IN_DIE_ENGE_TREIBEN\": \"typographie\",\r\n \"IM_NIRGENDWO\": \"typographie\",\r\n \"DER_LETZTE_SCHREI\": \"typographie\",\r\n \"PER_EINSCHREIBEN\": \"typographie\",\r\n \"HINWEISE_SUBST\": \"typographie\",\r\n \"MIT_ABSTAND\": \"typographie\",\r\n \"ZUM_ABSCHIED\": \"typographie\",\r\n \"MIT_BEDAUERN\": \"typographie\",\r\n \"MIT_OHNE_VERSTAND\": \"typographie\",\r\n \"MIT_OHNE_WISSEN\": \"typographie\",\r\n \"MIT_OHNE_SCHALE\": \"typographie\",\r\n \"UEBEL_SUBST\": \"typographie\",\r\n \"SINNE_SUBST\": \"typographie\",\r\n \"SINN_UND_VERSTAND\": \"typographie\",\r\n \"TREUE_SCHWOEREN\": \"typographie\",\r\n \"MIT_ALLEN_WASSERN\": \"typographie\",\r\n \"AUS_DEN_LATSCHEN\": \"typographie\",\r\n \"QUELLEN_ANGEBEN\": \"typographie\",\r\n \"IN_SCHRECKEN_VERSETZEN\": \"typographie\",\r\n \"ANZEIGE_SUBST\": \"typographie\",\r\n \"ZUR_SCHULE_GEHEN\": \"typographie\",\r\n \"MUEHE_GEBEN\": \"typographie\",\r\n \"ANKLANG_FINDEN\": \"typographie\",\r\n \"WERT_ADV\": \"typographie\",\r\n \"WERT_SUBST\": \"typographie\",\r\n \"HAUT_SUBST\": \"typographie\",\r\n \"STUMPF_UND_STIEL\": \"typographie\",\r\n \"WIDER_ERWARTEN\": \"typographie\",\r\n \"DIENST_SUBST\": \"typographie\",\r\n \"TRAEUME_SUBST\": \"typographie\",\r\n \"WOGEN_SUBST\": \"typographie\",\r\n \"UNTER_OPFERN\": \"typographie\",\r\n \"UNTER_SCHMERZEN\": \"typographie\",\r\n \"TRAENEN_SUBST\": \"typographie\",\r\n \"RUNDE_SUBST\": \"typographie\",\r\n \"WUNDER_SUBST\": \"typographie\",\r\n \"LEHRE_SUBST\": \"typographie\",\r\n \"TAUFE_SUBST\": \"typographie\",\r\n \"SOG_SUBST\": \"typographie\",\r\n \"TIEFE_SUBST\": \"typographie\",\r\n \"GLAESER_SUBST\": \"typographie\",\r\n \"DECKE_SUBST\": \"typographie\",\r\n \"WAND_SUBST\": \"typographie\",\r\n \"IN_DIE_TAT_UMSETZEN\": \"typographie\",\r\n \"IN_DER_TAT\": \"typographie\",\r\n \"AUF_FRISCHER_TAT\": \"typographie\",\r\n \"IM_REGEN_STEHEN\": \"typographie\",\r\n \"IM_STICH_LASSEN\": \"typographie\",\r\n \"HOEREN_UND_SEHEN\": \"typographie\",\r\n \"FLIEGE_SUBST\": \"typographie\",\r\n \"PREIS_SUBST\": \"typographie\",\r\n \"ZEIT_SUBST\": \"typographie\",\r\n \"KRAFT_SUBST\": \"typographie\",\r\n \"MACHT_SUBST\": \"typographie\",\r\n \"MORGEN_SUBST\": \"typographie\",\r\n \"FADEN_SUBST\": \"typographie\",\r\n \"ANGELN_SUBST\": \"typographie\",\r\n \"HAARE_SUBST\": \"typographie\",\r\n \"SCHULTERN_SUBST\": \"typographie\",\r\n \"RASEN_SUBST\": \"typographie\",\r\n \"VERTRAUEN_SUBST\": \"typographie\",\r\n \"IM_RAHMEN\": \"typographie\",\r\n \"IM_GLAUBEN\": \"typographie\",\r\n \"GLAUBEN_SCHENKEN\": \"typographie\",\r\n \"IM_ALTER\": \"typographie\",\r\n \"INS_SCHLEUDERN\": \"typographie\",\r\n \"IM_GRIFF\": \"typographie\",\r\n \"IN_MASZEN\": \"typographie\",\r\n \"SCHLOSS_SUBST\": \"typographie\",\r\n \"PLATZ_SUBST\": \"typographie\",\r\n \"ASCHE_SUBST\": \"typographie\",\r\n \"IN_ALLER_SCHAERFE\": \"typographie\",\r\n \"AUF_DIE_REISE\": \"typographie\",\r\n \"GEGEN_DEN_STRICH\": \"typographie\",\r\n \"IN_GEWISSER_WEISE\": \"typographie\",\r\n \"AUS_DER_FERNE\": \"typographie\",\r\n \"AN_DER_BAR\": \"typographie\",\r\n \"AUF_DEM_STAND\": \"typographie\",\r\n \"AUF_DER_STRECKE\": \"typographie\",\r\n \"ANTRIEB_SUBST\": \"typographie\",\r\n \"AN_DER_SCHWELLE\": \"typographie\",\r\n \"AUFS_GANZE_GEHEN\": \"typographie\",\r\n \"DAS_GANZE\": \"typographie\",\r\n \"MIT_SICH_IM_REINEN_SEIN\": \"typographie\",\r\n \"AUS_DEM_VOLLEN\": \"typographie\",\r\n \"AUF_VERLANGEN\": \"typographie\",\r\n \"VON_PRIVAT\": \"typographie\",\r\n \"AUF_ENGLISCH\": \"typographie\",\r\n \"KEIN_WORT_ENGLISCH\": \"typographie\",\r\n \"IHR_ENGLISCH_IST\": \"typographie\",\r\n \"NACH_AUSSAGE\": \"typographie\",\r\n \"KANN_ENGLISCH\": \"typographie\",\r\n \"GROSSSCHREIBUNG_MEHRTEILIGE_NAMEN\": \"typographie\",\r\n \"GROSSCHREIBUNG_CO\": \"typographie\",\r\n \"GROSSSCHREIBUNG_EHRENBEZEICHNUNG\": \"typographie\",\r\n \"GROSSSCHREIBUNG_KALENDERTAGE\": \"typographie\",\r\n \"KLEINSCHREIBUNG_KEIN_NAME\": \"typographie\",\r\n \"SORGEN_MACHEN\": \"typographie\",\r\n \"MONTAGS\": \"typographie\",\r\n \"SPITZE_SUBST\": \"typographie\",\r\n \"AUF_DER_KIPPE\": \"typographie\",\r\n \"AUF_DER_GRENZE\": \"typographie\",\r\n \"AUF_DER_FLUCHT\": \"typographie\",\r\n \"WILLE_SUBST\": \"typographie\",\r\n \"VOR_DEM_AUS\": \"typographie\",\r\n \"NICHT_MEHR_DER_JUENGSTE\": \"typographie\",\r\n \"LAECHELN_SUBST\": \"typographie\",\r\n \"UNTERSCHIED_SUBST\": \"typographie\",\r\n \"UNTER_ANDEREM\": \"typographie\",\r\n \"DUSCHE_SUBST\": \"typographie\",\r\n \"SCHADEN_SUBST\": \"typographie\",\r\n \"KOENNEN_SUBST\": \"typographie\",\r\n \"AERGER_SUBST\": \"typographie\",\r\n \"HERZEN_SUBST\": \"typographie\",\r\n \"BAD_SUBST\": \"typographie\",\r\n \"HACKE_SUBST\": \"typographie\",\r\n \"RUECKEN_SUBST\": \"typographie\",\r\n \"VERDIENST_SUBST\": \"typographie\",\r\n \"LEGENDE_SUBST\": \"typographie\",\r\n \"SPRACHEN_SUBST\": \"typographie\",\r\n \"WIEGE_SUBST\": \"typographie\",\r\n \"GRUENDE_SUBST\": \"typographie\",\r\n \"WUERDE_SUBST\": \"typographie\",\r\n \"EIGEN_SUBST\": \"typographie\",\r\n \"RECHT_SUBST\": \"typographie\",\r\n \"RECHT_ADJ\": \"typographie\",\r\n \"LAUFE_SUBST\": \"typographie\",\r\n \"GANG_KLEIN\": \"typographie\",\r\n \"TRAUTES_HEIM\": \"typographie\",\r\n \"IN_ALLER_MUNDE\": \"typographie\",\r\n \"AUF_ERDEN\": \"typographie\",\r\n \"AUF_DER_ERDE\": \"typographie\",\r\n \"HIMMEL_UND_ERDE\": \"typographie\",\r\n \"GUTER_DINGE\": \"typographie\",\r\n \"VOR_ALLEN_DINGEN\": \"typographie\",\r\n \"IN_ALLEN_FORMEN\": \"typographie\",\r\n \"LIEBE_SUBST\": \"typographie\",\r\n \"IN_FRIEDEN\": \"typographie\",\r\n \"IN_FLAMMEN\": \"typographie\",\r\n \"ZEUGE_SUBST\": \"typographie\",\r\n \"AUF_DIE_PROBE\": \"typographie\",\r\n \"IM_GROSSEN_UND_GANZEN\": \"typographie\",\r\n \"ZU_HAUSE\": \"typographie\",\r\n \"AUF_DEM_WEG\": \"typographie\",\r\n \"AUF_SCHRITT_UND_TRITT\": \"typographie\",\r\n \"SCHRITT_SUBST\": \"typographie\",\r\n \"IM_SCHNITT\": \"typographie\",\r\n \"AUS_STAHL\": \"typographie\",\r\n \"TRAEGER_VON\": \"typographie\",\r\n \"VERGNUEGEN_SUBST\": \"typographie\",\r\n \"ENDE_SUBST\": \"typographie\",\r\n \"REDE_SUBST\": \"typographie\",\r\n \"SCHULD_SEIN\": \"typographie\",\r\n \"MEINE_SCHULD\": \"typographie\",\r\n \"AUF_DIE_NERVEN\": \"typographie\",\r\n \"ZUR_NEIGE_GEHEN\": \"typographie\",\r\n \"MENGE_SUBST\": \"typographie\",\r\n \"REIHE_SUBST\": \"typographie\",\r\n \"LICHT_SUBST\": \"typographie\",\r\n \"KRIEG_SUBST\": \"typographie\",\r\n \"FAHRT_SUBST\": \"typographie\",\r\n \"VOR_LACHEN\": \"typographie\",\r\n \"ANGST_SUBST\": \"typographie\",\r\n \"ANGST_UND_BANGE\": \"typographie\",\r\n \"TAGEN_SUBST\": \"typographie\",\r\n \"DANK_SUBST\": \"typographie\",\r\n \"BETRUG_SUBST\": \"typographie\",\r\n \"FARBEN_SUBST\": \"typographie\",\r\n \"KETTE_SUBST\": \"typographie\",\r\n \"FAELLEN_SUBST\": \"typographie\",\r\n \"IN_DIE_BREITE\": \"typographie\",\r\n \"IN_DIE_FALLE\": \"typographie\",\r\n \"IN_DIE_SUB_VERB\": \"typographie\",\r\n \"IN_DIE_HOCKE\": \"typographie\",\r\n \"IN_DIE_KNIE\": \"typographie\",\r\n \"STELLE_SUBST\": \"typographie\",\r\n \"MARINE_SUBST\": \"typographie\",\r\n \"ANTIKE_SUBST\": \"typographie\",\r\n \"BUERSTE_SUBST\": \"typographie\",\r\n \"SCHERE_SUBST\": \"typographie\",\r\n \"BOGEN_SUBST\": \"typographie\",\r\n \"HECKE_SUBST\": \"typographie\",\r\n \"VERSUCH_SUBST\": \"typographie\",\r\n \"FALTEN_SUBST\": \"typographie\",\r\n \"BELIEBEN_SUBST\": \"typographie\",\r\n \"OBDACHLOS_SUBST\": \"typographie\",\r\n \"DAS_NASS\": \"typographie\",\r\n \"HOCH_SUBST\": \"typographie\",\r\n \"LEID_SUBST\": \"typographie\",\r\n \"ERNST_SUBST\": \"typographie\",\r\n \"STOLZ_SUBST\": \"typographie\",\r\n \"VERHALTEN_SUBST\": \"typographie\",\r\n \"NOTFALLS_SUBST\": \"typographie\",\r\n \"KOSTEN_SUBST\": \"typographie\",\r\n \"LOECHERN_SUBST\": \"typographie\",\r\n \"BRUESTE_SUBST\": \"typographie\",\r\n \"STREICHE_SUBST\": \"typographie\",\r\n \"ZUSTAND_SUBST\": \"typographie\",\r\n \"AUFSTAND_SUBST\": \"typographie\",\r\n \"ALLERLEI_SUBST\": \"typographie\",\r\n \"DURCHEINANDER_SUBST\": \"typographie\",\r\n \"LUEGE_SUBST\": \"typographie\",\r\n \"ARM_SUBST\": \"typographie\",\r\n \"KLAUEN_SUBST\": \"typographie\",\r\n \"SCHAECHTE_SUBST\": \"typographie\",\r\n \"STIMME_SUBST\": \"typographie\",\r\n \"WUESTE_SUBST\": \"typographie\",\r\n \"RAEUMEN_SUBST\": \"typographie\",\r\n \"ROLLE_SUBST\": \"typographie\",\r\n \"IM_FOLGENDEN\": \"typographie\",\r\n \"ZUR_STRAFE\": \"typographie\",\r\n \"ZUR_LAST\": \"typographie\",\r\n \"ZUR_STRECKE\": \"typographie\",\r\n \"ZUM_WOHL\": \"typographie\",\r\n \"WOHL_UND_WEHE\": \"typographie\",\r\n \"IM_LEBEN\": \"typographie\",\r\n \"SCHWAECHE_SUBST\": \"typographie\",\r\n \"BITTE_SUBST\": \"typographie\",\r\n \"KLIPP_UND_KLAR\": \"typographie\",\r\n \"EINEN_GEFALLEN\": \"typographie\",\r\n \"ZUR_EILE\": \"typographie\",\r\n \"IN_KUERZE\": \"typographie\",\r\n \"UM_DIE_ECKE\": \"typographie\",\r\n \"ANGRIFF_AUF\": \"typographie\",\r\n \"DICHTER_UND_DENKER\": \"typographie\",\r\n \"SAMT_UND_SEIDE\": \"typographie\",\r\n \"VON_BEGRIFF\": \"typographie\",\r\n \"ER_BEGRIFF\": \"typographie\",\r\n \"WEITERE_VORGEHEN\": \"typographie\",\r\n \"BEICHTE\": \"typographie\",\r\n \"DIE_SUCHE\": \"typographie\",\r\n \"DES_WEITEREN\": \"typographie\",\r\n \"DES_NACHTS\": \"typographie\",\r\n \"GUT_UND_BOESE\": \"typographie\",\r\n \"HAB_UND_GUT\": \"typographie\",\r\n \"KLAGE_SUBST\": \"typographie\",\r\n \"REIFE_SUBST\": \"typographie\",\r\n \"GENUEGE\": \"typographie\",\r\n \"FEHL_UND_TADEL\": \"typographie\",\r\n \"WENN_UND_ABER\": \"typographie\",\r\n \"DAS_ERSTE_MAL\": \"typographie\",\r\n \"IN_ACHT_NEHMEN\": \"typographie\",\r\n \"AUSSER_ACHT_LASSEN\": \"typographie\",\r\n \"AUS_VERSEHEN\": \"typographie\",\r\n \"AUF_DEM_LAUFENDEN\": \"typographie\",\r\n \"AUFS_VERB\": \"typographie\",\r\n \"AUFS_GLEICHE\": \"typographie\",\r\n \"ETWAS_GUTES\": \"typographie\",\r\n \"ALLES_GUTE\": \"typographie\",\r\n \"ZU_BUCHE\": \"typographie\",\r\n \"ZUM_BESTEN_GEBEN\": \"typographie\",\r\n \"AM_BESTEN\": \"typographie\",\r\n \"ZUM_NARREN_HALTEN\": \"typographie\",\r\n \"NACHFRAGE_SUBST\": \"typographie\",\r\n \"IN_FRAGE\": \"typographie\",\r\n \"DIE_FRAGE_IST\": \"typographie\",\r\n \"FRAGEN_HABEN\": \"typographie\",\r\n \"OHNE_FRAGE\": \"typographie\",\r\n \"SEIT_BESTEHEN\": \"typographie\",\r\n \"PRAEP_PLUS_VERB\": \"typographie\",\r\n \"GEWISSEN_SUBST\": \"typographie\",\r\n \"ODER_FLUSS\": \"typographie\",\r\n \"AUSSER_BETRIEB\": \"typographie\",\r\n \"ZUR_FOLGE\": \"typographie\",\r\n \"ZUR_REDE\": \"typographie\",\r\n \"INS_REINE\": \"typographie\",\r\n \"IN_RUHE\": \"typographie\",\r\n \"IN_DER_NAEHE\": \"typographie\",\r\n \"GRUENDE\": \"typographie\",\r\n \"GROSS_KLEIN_EINHEITEN\": \"typographie\",\r\n \"UM_WILLEN\": \"typographie\",\r\n \"EIN_PAAR\": \"typographie\",\r\n \"ZAHLSUBST_GROSS\": \"typographie\",\r\n \"GUTEN_UND_SCHLECHTEN\": \"typographie\",\r\n \"NAMENS\": \"typographie\",\r\n \"GOTT_SCHUETZE\": \"typographie\",\r\n \"WIR_TREFFEN\": \"typographie\",\r\n \"RICHTIG\": \"typographie\",\r\n \"INTEGER\": \"typographie\",\r\n \"VIELFACHES\": \"typographie\",\r\n \"EIN_BISSCHEN\": \"typographie\",\r\n \"SAURE_GURKEN\": \"typographie\",\r\n \"IM_BILDE\": \"typographie\",\r\n \"BLIND_DATE\": \"typographie\",\r\n \"IM_ALLGEMEINEN\": \"typographie\",\r\n \"DES_UEBLICHEN\": \"typographie\",\r\n \"LEID_TUN\": \"typographie\",\r\n \"SOMMERS_WIE_WINTERS\": \"typographie\",\r\n \"ZEIT_SEINES_LEBENS\": \"typographie\",\r\n \"TONARTEN\": \"typographie\",\r\n \"WLAN\": \"typographie\",\r\n \"SONDERFAELLE\": \"typographie\",\r\n \"GROSSSCHREIBUNG_MAL\": \"typographie\",\r\n \"IN_WEISS\": \"typographie\",\r\n \"DAS_FARBE_GENITIV\": \"typographie\",\r\n \"FARBE_IN_WENDUNG\": \"typographie\",\r\n \"DAS_XFACHE\": \"typographie\",\r\n \"VERB_VOR_NEBENSATZ\": \"typographie\",\r\n \"EIN_UND_ALLES\": \"typographie\",\r\n \"DAS_ETWAS\": \"typographie\",\r\n \"JA_NEIN\": \"typographie\",\r\n \"SOLL\": \"typographie\",\r\n \"SPARTEN_SUBST\": \"typographie\",\r\n \"SCHWARZ_AUF_WEISS\": \"typographie\",\r\n \"ROT_GEFAERBT\": \"typographie\",\r\n \"SANITAER\": \"typographie\",\r\n \"BESSEREN_BELEHREN\": \"typographie\",\r\n \"PRO_UND_KONTRA\": \"typographie\",\r\n \"DAS_FUER_UND_WIDER\": \"typographie\",\r\n \"BEDENKEN\": \"typographie\",\r\n \"UNTERTAN\": \"typographie\",\r\n \"PROBLEMLOS_KLEIN\": \"typographie\",\r\n \"VOM_BERUF\": \"syntaxe\",\r\n \"UEBER_EIN_MANGEL\": \"syntaxe\",\r\n \"IM_ANBETRACHT\": \"syntaxe\",\r\n \"VON_VOM\": \"syntaxe\",\r\n \"GESAGTE_HABEN\": \"syntaxe\",\r\n \"ZU_LAST_FALLEN\": \"syntaxe\",\r\n \"HERZLICHE_GLUECKWUNSCH\": \"syntaxe\",\r\n \"AUS_MEHRERE\": \"syntaxe\",\r\n \"AUFGRUND_GENITIV\": \"syntaxe\",\r\n \"EIN_FACH\": \"syntaxe\",\r\n \"ZU_WEHR_SETZEN\": \"syntaxe\",\r\n \"SEIT_ANFANG_AN\": \"syntaxe\",\r\n \"VOM_BEGINN_AN\": \"syntaxe\",\r\n \"NACH_7_TAGE\": \"syntaxe\",\r\n \"WUENSCHE_EIN_SCHOEN_ABEND\": \"syntaxe\",\r\n \"SCHOEN_GUTEN_ABEND\": \"syntaxe\",\r\n \"INS_KICK_OFF\": \"syntaxe\",\r\n \"EIN_ROSE\": \"syntaxe\",\r\n \"DEN_VEREINIGTE_STAATEN\": \"syntaxe\",\r\n \"ICH_WART\": \"syntaxe\",\r\n \"IN_MEHREN\": \"syntaxe\",\r\n \"EIN_ANDERS_MAL\": \"syntaxe\",\r\n \"IN_DEUTSCHE_SPRACHE\": \"syntaxe\",\r\n \"WIEVIEL_MAL\": \"syntaxe\",\r\n \"KOENNTE_SIE\": \"syntaxe\",\r\n \"PASSWORTE\": \"syntaxe\",\r\n \"SCHOENE_WETTER\": \"syntaxe\",\r\n \"AUF_JEDEM_FALL_OS\": \"syntaxe\",\r\n \"DU_KANNS\": \"syntaxe\",\r\n \"DU_MACHTS\": \"syntaxe\",\r\n \"BABYPHONE\": \"syntaxe\",\r\n \"DE_FACTO\": \"syntaxe\",\r\n \"ZWECKS_TERMIN\": \"syntaxe\",\r\n \"ALLES_GUT\": \"syntaxe\",\r\n \"ZWEI_GESCHOESSIG\": \"syntaxe\",\r\n \"AUF_DER_SCHLICHE\": \"syntaxe\",\r\n \"MAX_MIN_PUNKT\": \"syntaxe\",\r\n \"ZWEI_DUMME_EIN_GEDANKE\": \"syntaxe\",\r\n \"EIN_ANDER_MAL\": \"syntaxe\",\r\n \"KOFFERWOERTER\": \"syntaxe\",\r\n \"JEDEN_DAS_SEINE\": \"syntaxe\",\r\n \"IN_UKRAINE\": \"syntaxe\",\r\n \"ZU_UNSEREN_BEDAUERN\": \"syntaxe\",\r\n \"SATZSTELLUNG_KON_UNT_VERB_AM_ENDE\": \"syntaxe\",\r\n \"MIR_NICHTS_DIR_NICHTS\": \"syntaxe\",\r\n \"VORM_AUSSTERBEN_BEDROHT\": \"syntaxe\",\r\n \"SOLCHE_VORGEHEN\": \"syntaxe\",\r\n \"HAST_DICH\": \"syntaxe\",\r\n \"HAT_DU\": \"syntaxe\",\r\n \"ICH_KOENNT\": \"syntaxe\",\r\n \"AM_NÄHESTEN\": \"syntaxe\",\r\n \"GOOGLEN\": \"syntaxe\",\r\n \"ZWEI_AN_HALB\": \"syntaxe\",\r\n \"ZU_GENÜGE\": \"syntaxe\",\r\n \"SO_WIES_IST\": \"syntaxe\",\r\n \"EINS_ZU_EINS\": \"syntaxe\",\r\n \"DE_PHRASE_REPETITION\": \"syntaxe\",\r\n \"DOPPELUNG_MODALVERB\": \"syntaxe\",\r\n \"DA_VOR\": \"syntaxe\",\r\n \"FUER_ALLEM\": \"syntaxe\",\r\n \"PEU_A_PEU\": \"syntaxe\",\r\n \"VER_DOPPELUNG\": \"syntaxe\",\r\n \"IM_AUFTRAG_VON\": \"syntaxe\",\r\n \"SCHWEREN_HERZEN\": \"syntaxe\",\r\n \"KEIN_GERINGER_ALS\": \"syntaxe\",\r\n \"AN_EINEN_STRANG\": \"syntaxe\",\r\n \"SPREU_VOM_WEIZEN\": \"syntaxe\",\r\n \"RESPONSIV_DESIGN\": \"syntaxe\",\r\n \"AUS_TIEFSTEM\": \"syntaxe\",\r\n \"IN_AUGE\": \"syntaxe\",\r\n \"KEIN_KEINEN\": \"syntaxe\",\r\n \"ZULANGE\": \"syntaxe\",\r\n \"WIE_GEHST_DIR\": \"syntaxe\",\r\n \"GUT_BESSERUNG\": \"syntaxe\",\r\n \"BEWERBE_BEWIRB\": \"syntaxe\",\r\n \"ERGEBE_ERGIB\": \"syntaxe\",\r\n \"ESS\": \"syntaxe\",\r\n \"SIMPLE_AGREEMENT_MAS\": \"syntaxe\",\r\n \"SIMPLE_AGREEMENT_NEU\": \"syntaxe\",\r\n \"HALT_MACHEN\": \"syntaxe\",\r\n \"CLICK_AND_COLLECT\": \"syntaxe\",\r\n \"DOS_AND_DONTS\": \"syntaxe\",\r\n \"DIE_SEINESGLEICHEN\": \"syntaxe\",\r\n \"SACK_KARTOFFEL\": \"syntaxe\",\r\n \"SIND_VS_SEIEN\": \"syntaxe\",\r\n \"MIT_EIER\": \"syntaxe\",\r\n \"MIT_GEHACKTES\": \"syntaxe\",\r\n \"NEUSTARTEN\": \"syntaxe\",\r\n \"OUT_OF_THE_BOX\": \"syntaxe\",\r\n \"FUER_INSBESONDERE\": \"syntaxe\",\r\n \"INSBESONDERS\": \"syntaxe\",\r\n \"ZAL_MAL\": \"syntaxe\",\r\n \"DU_MEINS_DAS\": \"syntaxe\",\r\n \"BEI_AUFWACHEN\": \"syntaxe\",\r\n \"CREME_BRULEE\": \"syntaxe\",\r\n \"CREME_FRAICHE\": \"syntaxe\",\r\n \"CREME_LEGERE\": \"syntaxe\",\r\n \"MOUSSE_AU_CHOCOLAT\": \"syntaxe\",\r\n \"MITGLIEDERINNEN\": \"syntaxe\",\r\n \"PERSONA_NON_GRATA\": \"syntaxe\",\r\n \"WHO_S_WHO\": \"syntaxe\",\r\n \"KO\": \"syntaxe\",\r\n \"CO.-TRAINER\": \"syntaxe\",\r\n \"HERZ_KREISLAUFERKRANKUNG\": \"syntaxe\",\r\n \"RUND_UM_SORGLOS\": \"syntaxe\",\r\n \"AUSSAGEKRAEFTIG\": \"syntaxe\",\r\n \"ZUSAMMENSEIN\": \"syntaxe\",\r\n \"DEJA_VU\": \"syntaxe\",\r\n \"DOPPELTER_NOMINATIV\": \"syntaxe\",\r\n \"DATIV_PRP_PA1_SUB\": \"syntaxe\",\r\n \"IST_UNTERSCHIED\": \"syntaxe\",\r\n \"SIND_IST\": \"syntaxe\",\r\n \"PRP_DAT_AKK\": \"syntaxe\",\r\n \"DR_FRAU\": \"syntaxe\",\r\n \"SCHENKEN_DATIV\": \"syntaxe\",\r\n \"ZEITANGABE_DATIV\": \"syntaxe\",\r\n \"TODO\": \"syntaxe\",\r\n \"ALL_INCLUSIVE\": \"syntaxe\",\r\n \"BUY_OUT\": \"syntaxe\",\r\n \"CO_WORKING_SPACE\": \"syntaxe\",\r\n \"BREAK_EVEN\": \"syntaxe\",\r\n \"TRIAL_AND_ERROR\": \"syntaxe\",\r\n \"ON_AIR\": \"syntaxe\",\r\n \"PLUG_AND_PLAY\": \"syntaxe\",\r\n \"EVERBODYS_DARLING\": \"syntaxe\",\r\n \"MAKE_UP\": \"syntaxe\",\r\n \"STAND_UP\": \"syntaxe\",\r\n \"PLAY_OFF\": \"syntaxe\",\r\n \"POST_IT\": \"syntaxe\",\r\n \"CHECK_IN\": \"syntaxe\",\r\n \"CHECK_OUT\": \"syntaxe\",\r\n \"COMING_OUT\": \"syntaxe\",\r\n \"DRIVE_IN\": \"syntaxe\",\r\n \"HIGH_SCHOOL\": \"syntaxe\",\r\n \"HEDGEFONDS\": \"syntaxe\",\r\n \"BEST_OF\": \"syntaxe\",\r\n \"MAKING_OF\": \"syntaxe\",\r\n \"START_UP\": \"syntaxe\",\r\n \"LINE_UP\": \"syntaxe\",\r\n \"CLOSE_UP\": \"syntaxe\",\r\n \"WIN_WIN_SITUATION\": \"syntaxe\",\r\n \"E_AUTO\": \"syntaxe\",\r\n \"E_BOOK\": \"syntaxe\",\r\n \"ANS_ARTIKEL\": \"syntaxe\",\r\n \"SEHR_GEEHRTER_NAME\": \"syntaxe\",\r\n \"ZUM_FEM_NOMEN\": \"syntaxe\",\r\n \"IN_DER_PLU\": \"syntaxe\",\r\n \"ALS_SOLCHES\": \"syntaxe\",\r\n \"DIESEM_EINEM\": \"syntaxe\",\r\n \"VON_EINEN\": \"syntaxe\",\r\n \"MEINES_NICHT_GENITIV\": \"syntaxe\",\r\n \"FUER_IMP_SUB\": \"syntaxe\",\r\n \"PRAESENS_EINST\": \"syntaxe\",\r\n \"DEF_ARTIKEL_INDEF_ADJ\": \"syntaxe\",\r\n \"VERB_IST\": \"syntaxe\",\r\n \"LTD_ABK\": \"syntaxe\",\r\n \"ZB_ABK\": \"syntaxe\",\r\n \"UVM_ABK\": \"syntaxe\",\r\n \"BHF_ABK\": \"syntaxe\",\r\n \"TELEFON_NR\": \"syntaxe\",\r\n \"AKTIVIER_SIND\": \"syntaxe\",\r\n \"ART_KLEINES_NOMEN\": \"syntaxe\",\r\n \"BEI_ANDEREN_SUB\": \"syntaxe\",\r\n \"MODALVERB_FLEKT_VERB\": \"syntaxe\",\r\n \"SENT_START_SIN_PLU\": \"syntaxe\",\r\n \"SENT_START_PLU_SIN\": \"syntaxe\",\r\n \"MICH_DENKEN_DASS\": \"syntaxe\",\r\n \"EINES_GENITIV\": \"syntaxe\",\r\n \"ZU_KOMMA_ALS\": \"syntaxe\",\r\n \"DER_KORPUS\": \"syntaxe\",\r\n \"DAS_DASS\": \"syntaxe\",\r\n \"WIDER_BESSEREN_WISSENS\": \"syntaxe\",\r\n \"FEHLENDER_PLURAL\": \"syntaxe\",\r\n \"KEIN_PLURAL_WAEHRUNG\": \"syntaxe\",\r\n \"SUBJ_VERBLETZTSTELLUNG\": \"syntaxe\",\r\n \"VERBEN_MIT_GENITIV\": \"syntaxe\",\r\n \"PRAEP_GEN\": \"syntaxe\",\r\n \"MEIN_KLEIN_HAUS\": \"syntaxe\",\r\n \"PRONOUN_SUBJECT_AGREEMENT\": \"syntaxe\",\r\n \"DER_ABGEORDNETER\": \"syntaxe\",\r\n \"OBJECT_AGREEMENT\": \"syntaxe\",\r\n \"PRP_ADJ_AGREEMENT\": \"syntaxe\",\r\n \"SUBJECT_VERB_AGREEMENT\": \"syntaxe\",\r\n \"PASSIV_KEIN_PARTIZIP\": \"syntaxe\",\r\n \"AUSSER_LANDES\": \"syntaxe\",\r\n \"GEMAESS_DES\": \"syntaxe\",\r\n \"PRAEP_DAT\": \"syntaxe\",\r\n \"PRAEP_AKK\": \"syntaxe\",\r\n \"ART_ADJ_SOL\": \"syntaxe\",\r\n \"ADJ_PRAEDIKATIV\": \"syntaxe\",\r\n \"NACHDEM_PRAETERITUM\": \"syntaxe\",\r\n \"EINE_MILLIONEN\": \"syntaxe\",\r\n \"IM_KEINEN\": \"syntaxe\",\r\n \"MEINES_WISSENS_NACH\": \"syntaxe\",\r\n \"HILFSVERB_HABEN_SEIN\": \"syntaxe\",\r\n \"ERSATZINFINITIV\": \"syntaxe\",\r\n \"WORDEN_WURDEN\": \"syntaxe\",\r\n \"WURDEN_WORDEN_1\": \"syntaxe\",\r\n \"WURDEN_WORDEN_2\": \"syntaxe\",\r\n \"SPRECH_NICHT\": \"syntaxe\",\r\n \"LES_VS_LIES\": \"syntaxe\",\r\n \"AUFFORDERUNG_SIE\": \"syntaxe\",\r\n \"DEN_DEM\": \"syntaxe\",\r\n \"AN_HERR\": \"syntaxe\",\r\n \"ADJEKTIVE_ZU_ADVERBIEN\": \"syntaxe\",\r\n \"VIELZAHL_PLUS_SINGULAR\": \"syntaxe\",\r\n \"USA_PLURAL\": \"syntaxe\",\r\n \"PRINCIPIA_PLURAL\": \"syntaxe\",\r\n \"AN_AM\": \"syntaxe\",\r\n \"IN_IM\": \"syntaxe\",\r\n \"ORDER_OF_WORDS\": \"syntaxe\",\r\n \"REGNET_IM_STROEMEN\": \"syntaxe\",\r\n \"TAG_EIN_TAG_AUS\": \"syntaxe\",\r\n \"AUF_DEN_PLAN_RUFEN\": \"syntaxe\",\r\n \"SEIT_GEBURT_AN\": \"syntaxe\",\r\n \"SEIT_KLEIN_AUF\": \"syntaxe\",\r\n \"IM_SCHACH_HALTEN\": \"syntaxe\",\r\n \"AUF_DEM_GEIST\": \"syntaxe\",\r\n \"AUF_DEM_LEIM\": \"syntaxe\",\r\n \"AUF_DEM_PUNKT\": \"syntaxe\",\r\n \"AUF_DEM_PLAN_RUFEN\": \"syntaxe\",\r\n \"UNTER_DEM_TEPPICH_KEHREN\": \"syntaxe\",\r\n \"AUF_DEM_KOPF_STELLEN\": \"syntaxe\",\r\n \"IN_ANGRIFF\": \"syntaxe\",\r\n \"IN_SAUS_UND_BRAUS\": \"syntaxe\",\r\n \"WIE_EH_UND_JE\": \"syntaxe\",\r\n \"WEDER_OHNE_NOCH\": \"syntaxe\",\r\n \"AUF_DEM_LAUFENDEN_IDIOM\": \"syntaxe\",\r\n \"AUS_DEM_VOLLEN_IDIOM\": \"syntaxe\",\r\n \"MEINES_ERACHTENS_NACH\": \"syntaxe\",\r\n \"FUENFTES_RAD\": \"syntaxe\",\r\n \"ZWEIGLEISIGES_SCHWERT\": \"syntaxe\",\r\n \"A_LA_CARTE\": \"syntaxe\",\r\n \"ZUM_VORSCHEIN\": \"syntaxe\",\r\n \"GESETZT_DEN_FALL\": \"syntaxe\",\r\n \"LEBZEITEN\": \"syntaxe\",\r\n \"INSOFERN_ALS_DASS\": \"syntaxe\",\r\n \"ZEIT_VERRENNT\": \"syntaxe\",\r\n \"SCHMERZEN_ZUFUEHREN\": \"syntaxe\",\r\n \"AUF_WEITEM_FLUR\": \"syntaxe\",\r\n \"IN_DIE_PRESCHE\": \"syntaxe\",\r\n \"UEBER_DIE_STRENGE_SCHLAGEN\": \"syntaxe\",\r\n \"ZAUN_ZAUM\": \"syntaxe\",\r\n \"RAT_UND_TAT\": \"syntaxe\",\r\n \"DAS_HIN_UND_HER\": \"syntaxe\",\r\n \"INNERE_WERTE\": \"syntaxe\",\r\n \"ALLES_MOEGLICHE\": \"syntaxe\",\r\n \"FASSUNGSLOS\": \"syntaxe\",\r\n \"IN_BAUCH_UND_BOGEN\": \"syntaxe\",\r\n \"NIE_UND_IMMER\": \"syntaxe\",\r\n \"GANG_UND_GEBE\": \"syntaxe\",\r\n \"STUMPF_UND_STIL\": \"syntaxe\",\r\n \"WART_NICHT_MEHR_GESEHEN\": \"syntaxe\",\r\n \"EIERLEGENDE_VOLLMILCHSAU\": \"syntaxe\",\r\n \"STREU_VOM_WEIZEN\": \"syntaxe\",\r\n \"LICHT_UNTER_DEN_SCHEMEL\": \"syntaxe\",\r\n \"ZUR_SALZSAEURE\": \"syntaxe\",\r\n \"APPEL_UND_EI\": \"syntaxe\",\r\n \"MIT_RUM_BEKLECKERT\": \"syntaxe\",\r\n \"MALT_MAHLT\": \"syntaxe\",\r\n \"AUS_DER_LUFT_ENTSTANDEN\": \"syntaxe\",\r\n \"NACH_HAUSE\": \"syntaxe\",\r\n \"SOVIEL_ICH_WEISS_KOMMA\": \"typographie\",\r\n \"DAS_IST_GLAUBE_ICH_EGAL\": \"typographie\",\r\n \"LEERZEICHEN_NACH_KLAMMER\": \"typographie\",\r\n \"EIN_ZWEI_FRAGEN_KOMMA\": \"typographie\",\r\n \"ICH_BIN_STAND_JETZT_KOMMA\": \"typographie\",\r\n \"GUTEN_TAG_KOMMA\": \"typographie\",\r\n \"HOFFE_DEIN_TAG_WAR_KOMMA\": \"typographie\",\r\n \"SOFERN_KOMMA\": \"typographie\",\r\n \"WIE_DER_DER_KOMMA\": \"typographie\",\r\n \"IST_DER_TEST_DER_KOMMA\": \"typographie\",\r\n \"WEISST_DU_WARUM_KOMMA\": \"typographie\",\r\n \"DIE_FRAGE_IST_KOMMA\": \"typographie\",\r\n \"WO_DENKST_DU_SIND_KOMMA\": \"typographie\",\r\n \"DAHER_DACHTE_ICH_MIR_KOMMA\": \"typographie\",\r\n \"STELL_DIR_VOR_KOMMA\": \"typographie\",\r\n \"MEINST_DU_DAS_KOMMA\": \"typographie\",\r\n \"GEHT_NICHT_GIBT_ES_NICHT_KOMMA\": \"typographie\",\r\n \"ICH_MELDE_MICH_SOLLTE_KOMMA\": \"typographie\",\r\n \"ICH_SEHE_WAS_WAS\": \"typographie\",\r\n \"SO_WIE_KEIN_KOMMA\": \"typographie\",\r\n \"ICH_GLAUBE_FUER_EUCH\": \"typographie\",\r\n \"GEMACHT_HABE_IST_KOMMA\": \"typographie\",\r\n \"ALLE_DIE_DIE\": \"typographie\",\r\n \"WAS_WENN\": \"typographie\",\r\n \"ALL_DAS_WAS_KOMMA\": \"typographie\",\r\n \"GESAGT_GETAN\": \"typographie\",\r\n \"WEGEN_DEM_WAS_KOMMA\": \"typographie\",\r\n \"WENN_DOCH_KOMMA\": \"typographie\",\r\n \"UND_SUB_KOMMA\": \"typographie\",\r\n \"SEHR_SEHR_GUT\": \"typographie\",\r\n \"VERINF_DAS_DASS_SUB\": \"typographie\",\r\n \"VER_INF_PKT_VER_INF\": \"typographie\",\r\n \"KARAETIG_OHNE_BINDESTRICH\": \"typographie\",\r\n \"KONJUNKTION_DASS_DAS\": \"typographie\",\r\n \"KOMMA_VOR_UND_ODER\": \"typographie\",\r\n \"FEHLERHAFTES_KOMMA_IN_WENDUNG\": \"typographie\",\r\n \"BINDESTRICH_BEI_ZIFFER\": \"typographie\",\r\n \"XJAEHRIG\": \"typographie\",\r\n \"XX-PROZENTIG\": \"typographie\",\r\n \"EIN_UND_AUS_GEHEN\": \"typographie\",\r\n \"IN_UND_AUSWENDIG\": \"typographie\",\r\n \"ZEICHENSETZUNG_DIREKTE_REDE\": \"typographie\",\r\n \"GROSSSCHREIBUNG_WOERTLICHER_REDE\": \"typographie\",\r\n \"SEMIKOLON_VOR_ANFUEHRUNGSZEICHEN\": \"typographie\",\r\n \"FRAGEZEICHEN_NACH_DIREKTER_REDE\": \"typographie\",\r\n \"PUNKT_ENDE_DIREKTE_REDE\": \"typographie\",\r\n \"ABKUERZUNG_FALSCHE_PUNKTE\": \"typographie\",\r\n \"ABKUERZUNG_FEHLENDE_PUNKTE\": \"typographie\",\r\n \"AUFFORDERUNG_MIT_FRAGEZEICHEN\": \"typographie\",\r\n \"FRAGEZEICHEN_STATT_PUNKT\": \"typographie\",\r\n \"DIRECTORS_CUT\": \"typographie\",\r\n \"ROCK_N_ROLL\": \"typographie\",\r\n \"DOPPELTES_AUSRUFEZEICHEN\": \"typographie\",\r\n \"NICHTS_OHNE_APOSTROPH\": \"typographie\",\r\n \"ANS_OHNE_APOSTROPH\": \"typographie\",\r\n \"PLURAL_APOSTROPH\": \"typographie\",\r\n \"APOSTROPH_S\": \"typographie\",\r\n \"PUNKT_UND_KLAMMER\": \"typographie\",\r\n \"ZAHL_PUNKT_KOMMA\": \"typographie\",\r\n \"PUNKT_NACH_ORDINALZAHL\": \"typographie\",\r\n \"PFEILE\": \"typographie\",\r\n \"GROESSERALS\": \"typographie\",\r\n \"GRAD_ZU_VIEL\": \"typographie\",\r\n \"DIN_A_4\": \"typographie\",\r\n \"EINHEIT_LEERZEICHEN\": \"typographie\",\r\n \"SCHRAEGSTRICH_EINHEITEN\": \"typographie\",\r\n \"MALZEICHEN\": \"typographie\",\r\n \"LEERZEICHEN_RECHENZEICHEN\": \"typographie\",\r\n \"APRIL_APRIL\": \"typographie\",\r\n \"KOMMA_AUFZAEHLUNG\": \"typographie\",\r\n \"KOMMA_ALS_KOMPARATIV\": \"typographie\",\r\n \"KOMMA_KONJ_ADV\": \"typographie\",\r\n \"KOMMA_STATT_PUNKT\": \"typographie\",\r\n \"FEHLENDER_PUNKT_BEI_DATUM\": \"typographie\",\r\n \"KOMMA_DATUM_WOCHENTAG\": \"typographie\",\r\n \"SONDERN_KOMMA\": \"typographie\",\r\n \"SUBJUNKTION_KOMMA\": \"typographie\",\r\n \"SUBJUNKTION_KOMMA_2\": \"typographie\",\r\n \"BISSTRICH_STATT_WAEHRUNG\": \"typographie\",\r\n \"ZWISCHEN_BISSTRICH\": \"typographie\",\r\n \"VON_BIS\": \"typographie\",\r\n \"KOMMA_VOR_UND_ZWAR\": \"typographie\",\r\n \"INDIREKTE_FRAGE\": \"typographie\",\r\n \"KOMMA_VOR_WIE\": \"typographie\",\r\n \"DOPPELTE_SATZZEICHEN\": \"typographie\",\r\n \"BINDESTRICH_SUBSTANTIV\": \"typographie\",\r\n \"AUSLASSUNGSPUNKTE_LEERZEICHEN\": \"typographie\",\r\n \"MIO_PUNKT\": \"typographie\",\r\n \"LEERZEICHEN_VOR_KLAMMER\": \"typographie\",\r\n \"DOPPELTES_LEERZEICHEN\": \"typographie\",\r\n \"SPACE_BEFORE_OG\": \"typographie\",\r\n \"TRADEMARK\": \"typographie\",\r\n \"R_SYMBOL\": \"typographie\",\r\n \"COPYRIGHT\": \"typographie\",\r\n \"H2O\": \"typographie\",\r\n \"LEERZEICHEN_VOR_AUSRUFEZEICHEN_ETC\": \"typographie\",\r\n \"FALSCHE_VERWENDUNG_DES_BINDESTRICHS\": \"typographie\",\r\n \"TRIPLE_PRIME_ZEICHEN\": \"typographie\",\r\n \"FALSCHES_ANFUEHRUNGSZEICHEN\": \"typographie\",\r\n \"FALSCHES_ANFUEHRUNGSZEICHEN_2\": \"typographie\",\r\n \"TYPOGRAFISCHE_APOSTROPHE\": \"typographie\",\r\n \"TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_2\": \"typographie\",\r\n \"GROESSER_KLEINER_ANFUEHRUNG\": \"typographie\",\r\n \"ANFUEHRUNG_VERSCHACHTELT\": \"typographie\",\r\n \"MULTIPLICATION_SIGN\": \"typographie\",\r\n \"AKZENT_STATT_APOSTROPH\": \"typographie\",\r\n \"BISSTRICH\": \"typographie\",\r\n \"AUSLASSUNGSPUNKTE\": \"typographie\",\r\n \"ABKUERZUNG_LEERZEICHEN\": \"typographie\",\r\n \"PARAGRAF_LEERZEICHEN\": \"typographie\",\r\n \"LEERZEICHEN_NACH_VOR_ANFUEHRUNGSZEICHEN\": \"typographie\",\r\n \"LEERZEICHEN_HINTER_DOPPELPUNKT\": \"typographie\",\r\n \"ADJ_SUB_VER_KOMMA_ADJ_SUB\": \"typographie\",\r\n \"KOMMA_INFINITIVGRUPPEN\": \"typographie\",\r\n \"KOMMA_INFINITIVGRUPPE_II\": \"typographie\",\r\n \"KOMMA_VOR_SONDERN\": \"typographie\",\r\n \"KOMMA_VOR_ERLAEUTERUNG\": \"typographie\",\r\n \"KOMMA_NACH_DIREKTER_REDE\": \"typographie\",\r\n \"KOMMA_VOR_NICHT_WAHR\": \"typographie\",\r\n \"KOMMA_DASS\": \"typographie\",\r\n \"KOMMA_ZWISCHEN_HAUPT_UND_NEBENSATZ\": \"typographie\",\r\n \"KOMMA_ZWISCHEN_HAUPT_UND_NEBENSATZ_2\": \"typographie\",\r\n \"FEHLERHAFTES_KOMMA_ALLG\": \"typographie\",\r\n \"PROBIEREN_GEHT_UEBER_STUDIEREN\": \"orthographe\",\r\n \"EVTL_ABK\": \"orthographe\",\r\n \"VLT_ABK\": \"orthographe\",\r\n \"GGF_ABK\": \"orthographe\",\r\n \"GEFEATURED\": \"orthographe\",\r\n \"BZGL_ABK\": \"orthographe\",\r\n \"AB_TEST\": \"orthographe\",\r\n \"F_ANSTATT_PH\": \"orthographe\",\r\n \"TEST_F_ANSTATT_PH\": \"orthographe\",\r\n \"PH_ANSTATT_F\": \"orthographe\",\r\n \"I_ANSTATT_Y\": \"orthographe\",\r\n \"Z_ANSTATT_T\": \"orthographe\",\r\n \"EMPFOHLENE_GETRENNTSCHREIBUNG\": \"orthographe\",\r\n \"EMPFOHLENE_ZUSAMMENSCHREIBUNG\": \"orthographe\",\r\n \"EMPFOHLENE_SCHREIBUNG_EIGENNAMEN\": \"orthographe\",\r\n \"EMPFOHLENE_GROSS_KLEINSCHREIBUNG\": \"orthographe\",\r\n \"EUERM_EUERN\": \"orthographe\",\r\n \"WEISS\": \"orthographe\",\r\n \"ANREDE_KOMMA\": \"syntaxe\",\r\n \"ANREDE_KOMMA_2\": \"syntaxe\",\r\n \"TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN\": \"typographie\",\r\n \"WAEHRUNGSANGABEN_KOMMA\": \"typographie\",\r\n \"AUSTRIAN_GERMAN_SPELLER_RULE\": \"orthographe\",\r\n \"DE_CH_COMPOUNDS\": \"syntaxe\",\r\n \"SWISS_GERMAN_SPELLER_RULE\": \"orthographe\",\r\n \"WAEHRUNGSANGABEN_CHF\": \"typographie\",\r\n \"TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_CH\": \"typographie\",\r\n \"DE_COMPOUNDS\": \"syntaxe\",\r\n \"GERMAN_SPELLER_RULE\": \"orthographe\"\r\n}","export default {\r\n \"WHITESPACE_PUNCTUATION\": \"typographie\",\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"typographie\",\r\n \"DOUBLE_PUNCTUATION\": \"typographie\",\r\n \"UNPAIRED_BRACKETS\": \"typographie\",\r\n \"MORFOLOGIK_RULE_IT_IT\": \"orthographe\",\r\n \"UPPERCASE_SENTENCE_START\": \"typographie\",\r\n \"ITALIAN_WORD_REPEAT_RULE\": \"syntaxe\",\r\n \"WHITESPACE_RULE\": \"typographie\",\r\n \"GR_04_001\": \"syntaxe\",\r\n \"GR_04_002\": \"syntaxe\",\r\n \"ARTICOLATA_SOSTANTIVO\": \"syntaxe\",\r\n \"GR_07_001\": \"syntaxe\",\r\n \"GR_09_001\": \"syntaxe\",\r\n \"GR_09_002\": \"syntaxe\",\r\n \"GR_09_003\": \"syntaxe\",\r\n \"GR_09_004\": \"syntaxe\",\r\n \"DOPPIO_VERBO_AUSILIARE_TERZA_PERSONA\": \"syntaxe\",\r\n \"GR_10_003\": \"syntaxe\",\r\n \"GR_10_004\": \"syntaxe\",\r\n \"ST_01_002\": \"syntaxe\",\r\n \"ST_01_003\": \"syntaxe\",\r\n \"ST_01_004\": \"syntaxe\",\r\n \"ST_01_005\": \"syntaxe\",\r\n \"ST_03_001\": \"syntaxe\",\r\n \"ER_01_001\": \"syntaxe\",\r\n \"ER_01_002\": \"syntaxe\",\r\n \"ER_01_003\": \"syntaxe\",\r\n \"GIRONI_GIORNI\": \"orthographe\",\r\n \"ER_02_001\": \"orthographe\",\r\n \"ER_02_004\": \"orthographe\",\r\n \"ER_02_005\": \"orthographe\",\r\n \"ANNO20011_2011\": \"syntaxe\",\r\n \"DATE_WEEKDAY\": \"syntaxe\"\r\n}","export default {\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"typographie\",\r\n \"DOUBLE_PUNCTUATION\": \"typographie\",\r\n \"UNPAIRED_BRACKETS\": \"typographie\",\r\n \"UPPERCASE_SENTENCE_START\": \"typographie\",\r\n \"MORFOLOGIK_RULE_NL_NL\": \"orthographe\",\r\n \"WHITESPACE_RULE\": \"typographie\",\r\n \"NL_COMPOUNDS\": \"syntaxe\",\r\n \"DUTCH_WRONG_WORD_IN_CONTEXT\": \"syntaxe\",\r\n \"NL_WORD_COHERENCY\": \"syntaxe\",\r\n \"NL_SIMPLE_REPLACE\": \"syntaxe\",\r\n \"TOO_LONG_SENTENCE\": \"syntaxe\",\r\n \"NL_PREFERRED_WORD_RULE\": \"syntaxe\",\r\n \"NL_SPACE_IN_COMPOUND\": \"syntaxe\",\r\n \"SENTENCE_WHITESPACE\": \"typographie\",\r\n \"NL_CHECKCASE\": \"typographie\",\r\n \"POSS_PRON_PLUS_NOUN\": \"syntaxe\",\r\n \"MEN_MIJN\": \"syntaxe\",\r\n \"AFTE\": \"syntaxe\",\r\n \"PIJLEN\": \"syntaxe\",\r\n \"BE\": \"syntaxe\",\r\n \"EN_OF\": \"syntaxe\",\r\n \"EN-\": \"syntaxe\",\r\n \"DE_HERE\": \"syntaxe\",\r\n \"WORDT_JE\": \"syntaxe\",\r\n \"SOURCE\": \"syntaxe\",\r\n \"DD\": \"syntaxe\",\r\n \"A_LA\": \"syntaxe\",\r\n \"VEEL_DAGEN\": \"syntaxe\",\r\n \"GETALLEN_UITSCHRIJVEN\": \"syntaxe\",\r\n \"SPATIE_GETALLEN\": \"syntaxe\",\r\n \"INSPECIFIEK_3\": \"syntaxe\",\r\n \"INSPECIFIEK_6\": \"syntaxe\",\r\n \"WIJ_ZIJ_MIJ\": \"syntaxe\",\r\n \"MEEST_GEWOON\": \"syntaxe\",\r\n \"DATE_WEEKDAY\": \"syntaxe\",\r\n \"INVALID_DATE\": \"syntaxe\",\r\n \"BOOMEN_BOMEN\": \"syntaxe\",\r\n \"MEERT_MIRT\": \"syntaxe\",\r\n \"SMEERT_SMIRT\": \"syntaxe\",\r\n \"MEER_MIR\": \"syntaxe\",\r\n \"KEER_KIR\": \"syntaxe\",\r\n \"GEBEUREN_GEBUREN\": \"syntaxe\",\r\n \"DEUR_DUR\": \"syntaxe\",\r\n \"ZIEDEN\": \"syntaxe\",\r\n \"GEUREN_GUREN\": \"syntaxe\",\r\n \"GEURIGE_GURIGE\": \"syntaxe\",\r\n \"GEURIG_GURIG\": \"syntaxe\",\r\n \"SPEURT_SPURT\": \"syntaxe\",\r\n \"LEUREN_LUREN\": \"syntaxe\",\r\n \"UITSCHEUREN_UITSCHUREN\": \"syntaxe\",\r\n \"PEUREN_PUREN\": \"syntaxe\",\r\n \"KEUREND_KUREND\": \"syntaxe\",\r\n \"KEURENDE_KURENDE\": \"syntaxe\",\r\n \"DOORSCHEUREN_DOORSCHUREN\": \"syntaxe\",\r\n \"BRANDDEUREN_BRANDDUREN\": \"syntaxe\",\r\n \"AFSPEURT_AFSPURT\": \"syntaxe\",\r\n \"RONDSCHEUREN_RONDSCHUREN\": \"syntaxe\",\r\n \"AFSCHEURING_AFSCHURING\": \"syntaxe\",\r\n \"VLUCHTDEUREN_VLUCHTDUREN\": \"syntaxe\",\r\n \"BEDRIJFSDEUREN_BEDRIJFSDUREN\": \"syntaxe\",\r\n \"LOOPDEUREN_LOOPDUREN\": \"syntaxe\",\r\n \"DROOGSCHEUREN_DROOGSCHUREN\": \"syntaxe\",\r\n \"PEURT_PURT\": \"syntaxe\",\r\n \"AFSCHEURINGEN_AFSCHURINGEN\": \"syntaxe\",\r\n \"GEPEURD_GEPURD\": \"syntaxe\",\r\n \"PEURDE_PURDE\": \"syntaxe\",\r\n \"VERBINDINGSDEUREN_VERBINDINGSDUREN\": \"syntaxe\",\r\n \"ZEURIG_ZURIG\": \"syntaxe\",\r\n \"ZEURIGE_ZURIGE\": \"syntaxe\",\r\n \"ZEURIGER_ZURIGER\": \"syntaxe\",\r\n \"OVENDEUREN_OVENDUREN\": \"syntaxe\",\r\n \"PEURDEN_PURDEN\": \"syntaxe\",\r\n \"WEGSCHEURENDE_WEGSCHURENDE\": \"syntaxe\",\r\n \"TRANSPORTDEUREN_TRANSPORTDUREN\": \"syntaxe\",\r\n \"DOORSCHEUREND_DOORSCHUREND\": \"syntaxe\",\r\n \"NAKEUREN_NAKUREN\": \"syntaxe\",\r\n \"BEURELEN_BURELEN\": \"syntaxe\",\r\n \"GEURIGS_GURIGS\": \"syntaxe\",\r\n \"PEUREND_PUREND\": \"syntaxe\",\r\n \"GEPEURDE_GEPURDE\": \"syntaxe\",\r\n \"UITSCHEURENDE_UITSCHURENDE\": \"syntaxe\",\r\n \"BEURENDE_BURENDE\": \"syntaxe\",\r\n \"AFSCHEUREND_AFSCHUREND\": \"syntaxe\",\r\n \"AFSCHEURENDE_AFSCHURENDE\": \"syntaxe\",\r\n \"DOORSCHEURENDE_DOORSCHURENDE\": \"syntaxe\",\r\n \"BEUREND_BUREND\": \"syntaxe\",\r\n \"SCHEURINKJES_SCHURINKJES\": \"syntaxe\",\r\n \"ZEUREND_ZUREND\": \"syntaxe\",\r\n \"ZEURENDE_ZURENDE\": \"syntaxe\",\r\n \"ZEURENDEN_ZURENDEN\": \"syntaxe\",\r\n \"PEURENDE_PURENDE\": \"syntaxe\",\r\n \"WEGSCHEUREND_WEGSCHUREND\": \"syntaxe\",\r\n \"AANSCHEURENDE_AANSCHURENDE\": \"syntaxe\",\r\n \"GEHOORD_GEHORD\": \"syntaxe\",\r\n \"GEHOORDE_GEHORDE\": \"syntaxe\",\r\n \"HOORDE_HORDE\": \"syntaxe\",\r\n \"VERWOORDEN_VERWORDEN\": \"syntaxe\",\r\n \"POORTJE_PORTJE\": \"syntaxe\",\r\n \"DOOR_DOR\": \"syntaxe\",\r\n \"POORTJES_PORTJES\": \"syntaxe\",\r\n \"HOOR_HOR\": \"syntaxe\",\r\n \"KOORTS_KORTS\": \"syntaxe\",\r\n \"PASTOOR_PASTOR\": \"syntaxe\",\r\n \"OOR_OR\": \"syntaxe\",\r\n \"POORT_PORT\": \"syntaxe\",\r\n \"VOORSTE_VORSTE\": \"syntaxe\",\r\n \"POORTEN_PORTEN\": \"syntaxe\",\r\n \"KOOR_KOR\": \"syntaxe\",\r\n \"KOORDEN_KORDEN\": \"syntaxe\",\r\n \"MAJOORS_MAJORS\": \"syntaxe\",\r\n \"STUURBOORD_STUURBORD\": \"syntaxe\",\r\n \"SPOORTJE_SPORTJE\": \"syntaxe\",\r\n \"GOOR_GOR\": \"syntaxe\",\r\n \"VERWOORDING_VERWORDING\": \"syntaxe\",\r\n \"BUITENBOORD_BUITENBORD\": \"syntaxe\",\r\n \"MOOR_MOR\": \"syntaxe\",\r\n \"SPOORTJES_SPORTJES\": \"syntaxe\",\r\n \"NOOR_NOR\": \"syntaxe\",\r\n \"VERWOORDINGEN_VERWORDINGEN\": \"syntaxe\",\r\n \"KOORDE_KORDE\": \"syntaxe\",\r\n \"POORTHUIS_PORTHUIS\": \"syntaxe\",\r\n \"BOORDSYSTEEM_BORDSYSTEEM\": \"syntaxe\",\r\n \"ONDERBOORD_ONDERBORD\": \"syntaxe\",\r\n \"BOORDPAPIEREN_BORDPAPIEREN\": \"syntaxe\",\r\n \"GOORS_GORS\": \"syntaxe\",\r\n \"KOORDELEN_KORDELEN\": \"syntaxe\",\r\n \"BOORDRAND_BORDRAND\": \"syntaxe\",\r\n \"GEMOORDE_GEMORDE\": \"syntaxe\",\r\n \"BOORDZIJDE_BORDZIJDE\": \"syntaxe\",\r\n \"GEHOORDEN_GEHORDEN\": \"syntaxe\",\r\n \"BOVENBOORD_BOVENBORD\": \"syntaxe\",\r\n \"BOORDRANDEN_BORDRANDEN\": \"syntaxe\",\r\n \"KOORNIS_KORNIS\": \"syntaxe\",\r\n \"KOORDEEL_KORDEEL\": \"syntaxe\",\r\n \"SIERBOORD_SIERBORD\": \"syntaxe\",\r\n \"POORTVRIJE_PORTVRIJE\": \"syntaxe\",\r\n \"SCHUTBOORD_SCHUTBORD\": \"syntaxe\",\r\n \"KOORTOREN_KORTOREN\": \"syntaxe\",\r\n \"POORTGEBIED_PORTGEBIED\": \"syntaxe\",\r\n \"POORTGEBIEDEN_PORTGEBIEDEN\": \"syntaxe\",\r\n \"DOORRENDEN_DORRENDEN\": \"syntaxe\",\r\n \"BOORDINFORMATIE_BORDINFORMATIE\": \"syntaxe\",\r\n \"BLOEMENBOORD_BLOEMENBORD\": \"syntaxe\",\r\n \"GELUIDSPOORTEN_GELUIDSPORTEN\": \"syntaxe\",\r\n \"WATERBOORDEN_WATERBORDEN\": \"syntaxe\",\r\n \"TOREADOORTJE_TOREADORTJE\": \"syntaxe\",\r\n \"SCHUTBOORDEN_SCHUTBORDEN\": \"syntaxe\",\r\n \"BOORDRANDJE_BORDRANDJE\": \"syntaxe\",\r\n \"BLOEMENBOORDEN_BLOEMENBORDEN\": \"syntaxe\",\r\n \"BOORDBREEDTE_BORDBREEDTE\": \"syntaxe\",\r\n \"BOORDRANDJES_BORDRANDJES\": \"syntaxe\",\r\n \"ECHT_EGT\": \"syntaxe\",\r\n \"KLAARLIGT_KLAARLICHT\": \"syntaxe\",\r\n \"AANLIGT_AANLICHT\": \"syntaxe\",\r\n \"VLOGT_VLOCHT\": \"syntaxe\",\r\n \"DICHT_DIGT\": \"syntaxe\",\r\n \"SCHUT\": \"syntaxe\",\r\n \"AAN_BOT\": \"syntaxe\",\r\n \"DOORLIGT_DOORLICHT\": \"syntaxe\",\r\n \"ONDERLIGT_ONDERLICHT\": \"syntaxe\",\r\n \"DREGT_DRECHT\": \"syntaxe\",\r\n \"NACHT_NAGT\": \"syntaxe\",\r\n \"PLAGT_PLACHT\": \"syntaxe\",\r\n \"PLACHT_PLAGT\": \"syntaxe\",\r\n \"VERLIES_LEIDEN\": \"syntaxe\",\r\n \"LEIDEN_LIJDEN\": \"syntaxe\",\r\n \"LEIDT_LIJDT\": \"syntaxe\",\r\n \"WILD_U\": \"syntaxe\",\r\n \"RONDT\": \"syntaxe\",\r\n \"LIJDT_LEIDT\": \"syntaxe\",\r\n \"RIJDEN_REIDEN\": \"syntaxe\",\r\n \"VERMIJDEN_VERMEIDEN\": \"syntaxe\",\r\n \"VERMIJD_VERMEID\": \"syntaxe\",\r\n \"AFRIJDEN_AFREIDEN\": \"syntaxe\",\r\n \"AFRIJD_AFREIT\": \"syntaxe\",\r\n \"WIJDS_WEIDS\": \"syntaxe\",\r\n \"VERWIJDEN_VERWEIDEN\": \"syntaxe\",\r\n \"BERIJDBAAR_BEREIDBAAR\": \"syntaxe\",\r\n \"WIJDING_WEIDING\": \"syntaxe\",\r\n \"VERWIJDING_VERWEIDING\": \"syntaxe\",\r\n \"UITWEIDEN_UITWIJDEN\": \"syntaxe\",\r\n \"SCHRIJDEN_SCHREIDEN\": \"syntaxe\",\r\n \"ONTWIJD_ONTWEID\": \"syntaxe\",\r\n \"WIJDST_WEIDST\": \"syntaxe\",\r\n \"VERWIJDINGEN_VERWEIDINGEN\": \"syntaxe\",\r\n \"ONTWIJDEN_ONTWEIDEN\": \"syntaxe\",\r\n \"SCHADELIJDER_SCHADELEIDER\": \"syntaxe\",\r\n \"SCHADELIJDERS_SCHADELEIDERS\": \"syntaxe\",\r\n \"GERIJD_GEREID\": \"syntaxe\",\r\n \"ONTWIJDE_ONTWEIDE\": \"syntaxe\",\r\n \"KANKERLIJDER_KANKERLEIDER\": \"syntaxe\",\r\n \"TERINGLIJDERS_TERINGLEIDERS\": \"syntaxe\",\r\n \"BEREID_BERIJD\": \"syntaxe\",\r\n \"WIJDEND_WEIDEND\": \"syntaxe\",\r\n \"WIJDENDE_WEIDENDE\": \"syntaxe\",\r\n \"LIJDERTJE_LEIDERTJE\": \"syntaxe\",\r\n \"LIJDERTJES_LEIDERTJES\": \"syntaxe\",\r\n \"BESCHRIJDEN_BESCHREIDEN\": \"syntaxe\",\r\n \"HYPOTHEEKLIJDERS_HYPOTHEEKLEIDERS\": \"syntaxe\",\r\n \"WIJD_WEIT\": \"syntaxe\",\r\n \"VERMIJD_VERMEIT\": \"syntaxe\",\r\n \"RIJD_REIT\": \"syntaxe\",\r\n \"ONTWIJD_ONTWEIT\": \"syntaxe\",\r\n \"VERLIJD_VERLEIT\": \"syntaxe\",\r\n \"BEID\": \"syntaxe\",\r\n \"SCHIJT_SCHEID\": \"syntaxe\",\r\n \"BIJTJES_BEIDJES\": \"syntaxe\",\r\n \"HUISMIJT_HUISMEID\": \"syntaxe\",\r\n \"VERBIJT_VERBEID\": \"syntaxe\",\r\n \"GEBIJT_GEBEID\": \"syntaxe\",\r\n \"GESCHIJT_GESCHEID\": \"syntaxe\",\r\n \"SCHIJTERTJE_SCHEIDERTJE\": \"syntaxe\",\r\n \"WIJT_WEIT\": \"syntaxe\",\r\n \"RIJTJE_REITJE\": \"syntaxe\",\r\n \"RIJTJES_REITJES\": \"syntaxe\",\r\n \"VLIJEN_VLEIEN\": \"syntaxe\",\r\n \"VLIJT_VLEIT\": \"syntaxe\",\r\n \"FEIT_FIJT\": \"syntaxe\",\r\n \"BEITEL_BIJTEL\": \"syntaxe\",\r\n \"BRIJTJES_BREITJES\": \"syntaxe\",\r\n \"BRIJTJE_BREITJE\": \"syntaxe\",\r\n \"MARGE_MARSJE\": \"syntaxe\",\r\n \"MARGES_MARSJES\": \"syntaxe\",\r\n \"GAGE_GAASJE\": \"syntaxe\",\r\n \"GAGES_GAASJES\": \"syntaxe\",\r\n \"OPENINGSMARGE_OPENINGSMARSJE\": \"syntaxe\",\r\n \"KIESER_KIEZER\": \"syntaxe\",\r\n \"KIESERS_KIEZERS\": \"syntaxe\",\r\n \"NASIS_NAZIS\": \"syntaxe\",\r\n \"SETTE_ZETTE\": \"syntaxe\",\r\n \"BASEN_BAZEN\": \"syntaxe\",\r\n \"SUS_ZUS\": \"syntaxe\",\r\n \"SONNETJE_ZONNETJE\": \"syntaxe\",\r\n \"SAGEN_ZAGEN\": \"syntaxe\",\r\n \"SUSSEN_ZUSSEN\": \"syntaxe\",\r\n \"SOU_ZOU\": \"syntaxe\",\r\n \"SUIDEN_ZUIDEN\": \"syntaxe\",\r\n \"SONDE_ZONDE\": \"syntaxe\",\r\n \"SELDEN_ZELDEN\": \"syntaxe\",\r\n \"SONE_ZONE\": \"syntaxe\",\r\n \"KIESEN_KIEZEN\": \"syntaxe\",\r\n \"SUL_ZUL\": \"syntaxe\",\r\n \"SINT_ZINT\": \"syntaxe\",\r\n \"SULT_ZULT\": \"syntaxe\",\r\n \"SAAIEN_ZAAIEN\": \"syntaxe\",\r\n \"SOLEN_ZOLEN\": \"syntaxe\",\r\n \"NASI_NAZI\": \"syntaxe\",\r\n \"SONDEREN_ZONDEREN\": \"syntaxe\",\r\n \"SEIS_ZEIS\": \"syntaxe\",\r\n \"SIER_ZIER\": \"syntaxe\",\r\n \"SEMEN_ZEMEN\": \"syntaxe\",\r\n \"SOLDERING_ZOLDERING\": \"syntaxe\",\r\n \"MIESEREN_MIEZEREN\": \"syntaxe\",\r\n \"SETTEND_ZETTEND\": \"syntaxe\",\r\n \"SPITSEN_SPITZEN\": \"syntaxe\",\r\n \"MIESER_MIEZER\": \"syntaxe\",\r\n \"SAAIER_ZAAIER\": \"syntaxe\",\r\n \"LASER_LAZER\": \"syntaxe\",\r\n \"SETTER_ZETTER\": \"syntaxe\",\r\n \"OPENINGSSET_OPENINGSZET\": \"syntaxe\",\r\n \"BEGINSET_BEGINZET\": \"syntaxe\",\r\n \"HOOFDSONDE_HOOFDZONDE\": \"syntaxe\",\r\n \"SOUTJE_ZOUTJE\": \"syntaxe\",\r\n \"SEIST_ZEIST\": \"syntaxe\",\r\n \"FES_FEZ\": \"syntaxe\",\r\n \"SULLENDE_ZULLENDE\": \"syntaxe\",\r\n \"RUISEN_RUIZEN\": \"syntaxe\",\r\n \"SIPPER_ZIPPER\": \"syntaxe\",\r\n \"VERSWAAR_VERZWAAR\": \"syntaxe\",\r\n \"PAUSEN_PAUZEN\": \"syntaxe\",\r\n \"SAAIERS_ZAAIERS\": \"syntaxe\",\r\n \"SETSYSTEEM_ZETSYSTEEM\": \"syntaxe\",\r\n \"MESSES_MEZZES\": \"syntaxe\",\r\n \"POSEN_POZEN\": \"syntaxe\",\r\n \"TUSSENPAUSEN_TUSSENPAUZEN\": \"syntaxe\",\r\n \"BRIEZEN_BRIESEN\": \"syntaxe\",\r\n \"SOOS_ZOOS\": \"syntaxe\",\r\n \"KLEMSET_KLEMZET\": \"syntaxe\",\r\n \"SIPPERS_ZIPPERS\": \"syntaxe\",\r\n \"SIPS_ZIPS\": \"syntaxe\",\r\n \"PROEFSETTING_PROEFZETTING\": \"syntaxe\",\r\n \"SUPERSOON_SUPERZOON\": \"syntaxe\",\r\n \"KLEURSETTING_KLEURZETTING\": \"syntaxe\",\r\n \"BUSSENDE_BUZZENDE\": \"syntaxe\",\r\n \"SLOTSET_SLOTZET\": \"syntaxe\",\r\n \"FESSEN_FEZZEN\": \"syntaxe\",\r\n \"SULLEND_ZULLEND\": \"syntaxe\",\r\n \"THEESET_THEEZET\": \"syntaxe\",\r\n \"SLEUTELSET_SLEUTELZET\": \"syntaxe\",\r\n \"SETSYSTEMEN_ZETSYSTEMEN\": \"syntaxe\",\r\n \"CULTUURPAUSEN_CULTUURPAUZEN\": \"syntaxe\",\r\n \"TAFELSETTING_TAFELZETTING\": \"syntaxe\",\r\n \"TARIEFSETTING_TARIEFZETTING\": \"syntaxe\",\r\n \"SIPPERTJES_ZIPPERTJES\": \"syntaxe\",\r\n \"LOSERTJE_LOZERTJE\": \"syntaxe\",\r\n \"FANTASIESETTING_FANTASIEZETTING\": \"syntaxe\",\r\n \"MOEDERSONDE_MOEDERZONDE\": \"syntaxe\",\r\n \"FESJE_FEZJE\": \"syntaxe\",\r\n \"SIPJES_ZIPJES\": \"syntaxe\",\r\n \"LEISEN_LEIZEN\": \"syntaxe\",\r\n \"POLITIESONDE_POLITIEZONDE\": \"syntaxe\",\r\n \"LOSERTJES_LOZERTJES\": \"syntaxe\",\r\n \"BASEND_BAZEND\": \"syntaxe\",\r\n \"SIPPENDE_ZIPPENDE\": \"syntaxe\",\r\n \"NASIETJE_NAZIETJE\": \"syntaxe\",\r\n \"SETTINKJE_ZETTINKJE\": \"syntaxe\",\r\n \"SOLDERINKJE_ZOLDERINKJE\": \"syntaxe\",\r\n \"FESJES_FEZJES\": \"syntaxe\",\r\n \"PREMIESETTING_PREMIEZETTING\": \"syntaxe\",\r\n \"SLOTSETJE_SLOTZETJE\": \"syntaxe\",\r\n \"GEVARENSETTING_GEVARENZETTING\": \"syntaxe\",\r\n \"GRAFEN_GRAVEN\": \"syntaxe\",\r\n \"FAAG_VAAG\": \"syntaxe\",\r\n \"BRIEFEN_BRIEVEN\": \"syntaxe\",\r\n \"FATTEN_VATTEN\": \"syntaxe\",\r\n \"FORSTEN_VORSTEN\": \"syntaxe\",\r\n \"FISJE_VISJE\": \"syntaxe\",\r\n \"FOERT_VOERT\": \"syntaxe\",\r\n \"FIST_VIST\": \"syntaxe\",\r\n \"FISSEN_VISSEN\": \"syntaxe\",\r\n \"FORM_VORM\": \"syntaxe\",\r\n \"TOEFEN_TOEVEN\": \"syntaxe\",\r\n \"FIS_VIS\": \"syntaxe\",\r\n \"FORST_VORST\": \"syntaxe\",\r\n \"GEFIST_GEVIST\": \"syntaxe\",\r\n \"FLAKKER_VLAKKER\": \"syntaxe\",\r\n \"FIOOL_VIOOL\": \"syntaxe\",\r\n \"FIN_VIN\": \"syntaxe\",\r\n \"FLOER_VLOER\": \"syntaxe\",\r\n \"FELLEN_VELLEN\": \"syntaxe\",\r\n \"GOLFEN_GOLVEN\": \"syntaxe\",\r\n \"FAZEN_VAZEN\": \"syntaxe\",\r\n \"FAAS_VAAS\": \"syntaxe\",\r\n \"FRIES_VRIES\": \"syntaxe\",\r\n \"FLOEREN_VLOEREN\": \"syntaxe\",\r\n \"SAFE_SAVE\": \"syntaxe\",\r\n \"FISTE_VISTE\": \"syntaxe\",\r\n \"FAAL_VAAL\": \"syntaxe\",\r\n \"ELFEN_ELVEN\": \"syntaxe\",\r\n \"FAASJE_VAASJE\": \"syntaxe\",\r\n \"FULPEN_VULPEN\": \"syntaxe\",\r\n \"FISTEN_VISTEN\": \"syntaxe\",\r\n \"FAASJES_VAASJES\": \"syntaxe\",\r\n \"FORMPJE_VORMPJE\": \"syntaxe\",\r\n \"FLAKKERE_VLAKKERE\": \"syntaxe\",\r\n \"FLOTEN_VLOTEN\": \"syntaxe\",\r\n \"FALIES_VALIES\": \"syntaxe\",\r\n \"FAGEN_VAGEN\": \"syntaxe\",\r\n \"FUT_VUT\": \"syntaxe\",\r\n \"SAFEN_SAVEN\": \"syntaxe\",\r\n \"GOLFING_GOLVING\": \"syntaxe\",\r\n \"HYFE_HYVE\": \"syntaxe\",\r\n \"GOLFINGEN_GOLVINGEN\": \"syntaxe\",\r\n \"GEFIT_GEVIT\": \"syntaxe\",\r\n \"VOND_VONT\": \"syntaxe\",\r\n \"FORSEN_VORSEN\": \"syntaxe\",\r\n \"GEFISTE_GEVISTE\": \"syntaxe\",\r\n \"HYFEN_HYVEN\": \"syntaxe\",\r\n \"FIERDERS_VIERDERS\": \"syntaxe\",\r\n \"FIERDER_VIERDER\": \"syntaxe\",\r\n \"VOUTE_FOUTE\": \"syntaxe\",\r\n \"FOORWAGEN_VOORWAGEN\": \"syntaxe\",\r\n \"GEVLOTEN_GEFLOTEN\": \"syntaxe\",\r\n \"FEZELEN_VEZELEN\": \"syntaxe\",\r\n \"COMPUTERFREES_COMPUTERVREES\": \"syntaxe\",\r\n \"FOORTJES_VOORTJES\": \"syntaxe\",\r\n \"FITTEND_VITTEND\": \"syntaxe\",\r\n \"FORSTE_VORSTE\": \"syntaxe\",\r\n \"MAILFORM_MAILVORM\": \"syntaxe\",\r\n \"FITTENDE_VITTENDE\": \"syntaxe\",\r\n \"FAS_VAS\": \"syntaxe\",\r\n \"CONFECTIEPATRONEN_CONVECTIEPATRONEN\": \"syntaxe\",\r\n \"FELLERS_VELLERS\": \"syntaxe\",\r\n \"GEFEESTEN_GEVEESTEN\": \"syntaxe\",\r\n \"FOOR_VOOR\": \"syntaxe\",\r\n \"FOORTJE_VOORTJE\": \"syntaxe\",\r\n \"FITTERTJES_VITTERTJES\": \"syntaxe\",\r\n \"FOORWAGENTJE_VOORWAGENTJE\": \"syntaxe\",\r\n \"FIFOS_VIVOS\": \"syntaxe\",\r\n \"FERMATEN_VERMATEN\": \"syntaxe\",\r\n \"CONFECTIEMODELLEN_CONVECTIEMODELLEN\": \"syntaxe\",\r\n \"CONFECTIEPATROON_CONVECTIEPATROON\": \"syntaxe\",\r\n \"INSTINCT_INSTINKT\": \"syntaxe\",\r\n \"LACH_LAKH\": \"syntaxe\",\r\n \"TACT_TAKT\": \"syntaxe\",\r\n \"KICKEN_KIKKEN\": \"syntaxe\",\r\n \"COLA_KOLA\": \"syntaxe\",\r\n \"HOOFDCAST_HOOFDKAST\": \"syntaxe\",\r\n \"KINDERCAST_KINDERKAST\": \"syntaxe\",\r\n \"CINEMA_KINEMA\": \"syntaxe\",\r\n \"STICKER_STIKKER\": \"syntaxe\",\r\n \"CAMPER_KAMPER\": \"syntaxe\",\r\n \"CORPSLID_KORPSLID\": \"syntaxe\",\r\n \"CLIP_KLIP\": \"syntaxe\",\r\n \"CABINETJE_KABINETJE\": \"syntaxe\",\r\n \"STUCWERK_STUKWERK\": \"syntaxe\",\r\n \"STUCWERKER_STUKWERKER\": \"syntaxe\",\r\n \"PACT_PAKT\": \"syntaxe\",\r\n \"COL_KOL\": \"syntaxe\",\r\n \"DOC_DOK\": \"syntaxe\",\r\n \"CULT_KULT\": \"syntaxe\",\r\n \"CARTER_KARTER\": \"syntaxe\",\r\n \"TIC_TIK\": \"syntaxe\",\r\n \"GECAST_GEKAST\": \"syntaxe\",\r\n \"LOC_LOK\": \"syntaxe\",\r\n \"CROP_KROP\": \"syntaxe\",\r\n \"ROCKENDE_ROKKENDE\": \"syntaxe\",\r\n \"CUTTER_KUTTER\": \"syntaxe\",\r\n \"CUTTERS_KUTTERS\": \"syntaxe\",\r\n \"COPS_KOPS\": \"syntaxe\",\r\n \"CUTS_KUTS\": \"syntaxe\",\r\n \"CROPPEN_KROPPEN\": \"syntaxe\",\r\n \"TOPCAST_TOPKAST\": \"syntaxe\",\r\n \"CLIPPEN_KLIPPEN\": \"syntaxe\",\r\n \"ROCKEND_ROKKEND\": \"syntaxe\",\r\n \"CRANKS_KRANKS\": \"syntaxe\",\r\n \"CUTTEN_KUTTEN\": \"syntaxe\",\r\n \"MACA_MAKA\": \"syntaxe\",\r\n \"DOCKEN_DOKKEN\": \"syntaxe\",\r\n \"COLT_KOLT\": \"syntaxe\",\r\n \"SJIEK_CHIQUE\": \"syntaxe\",\r\n \"OUDGRIEKS\": \"syntaxe\",\r\n \"IN_HET_CONTINENT\": \"syntaxe\",\r\n \"ZO_N_MEERVOUD\": \"syntaxe\",\r\n \"ZINS_ZINNENS\": \"syntaxe\",\r\n \"BE_NL_VERSCHIL\": \"syntaxe\",\r\n \"ERG_LANG_WOORD\": \"syntaxe\",\r\n \"NAAM_FOUT_GESPELD\": \"syntaxe\",\r\n \"MS_TEAMS\": \"syntaxe\",\r\n \"LANGUAGE_TOOL\": \"syntaxe\",\r\n \"XE_JAARS\": \"syntaxe\",\r\n \"PRIVE_AUTO\": \"syntaxe\",\r\n \"VAN_DE_WEGRAKEN\": \"syntaxe\",\r\n \"EN_OF_KOPPELTEKEN\": \"syntaxe\",\r\n \"SAMENSTELLING_EIGENNAAM\": \"syntaxe\",\r\n \"VERDEEL_EN_HEERS_DING\": \"syntaxe\",\r\n \"X_ACHTIG\": \"syntaxe\",\r\n \"WIL_DE_GAAN\": \"syntaxe\",\r\n \"VEELMEER\": \"syntaxe\",\r\n \"DE_DIT_ARTIKEL\": \"syntaxe\",\r\n \"DE_ALLE_EERSTE\": \"syntaxe\",\r\n \"DE_ALLES_IN_EEN_DING\": \"syntaxe\",\r\n \"DOE_HET_ZELF_ZAAK\": \"syntaxe\",\r\n \"WIN_WIN_SITUATIE\": \"syntaxe\",\r\n \"STAND_IN\": \"syntaxe\",\r\n \"DEGENE_DE\": \"syntaxe\",\r\n \"DE_WKWVLT3EP\": \"syntaxe\",\r\n \"DE_WKW3EP\": \"syntaxe\",\r\n \"DE_VERBROKENE_DING\": \"syntaxe\",\r\n \"DE_VERDOM_DE\": \"syntaxe\",\r\n \"STAM_BAAR\": \"syntaxe\",\r\n \"STAM_STER\": \"syntaxe\",\r\n \"STAM_DING\": \"syntaxe\",\r\n \"STAM_KING\": \"syntaxe\",\r\n \"STAM_LENDE\": \"syntaxe\",\r\n \"DOORRIJD_DING\": \"syntaxe\",\r\n \"AAN_DE_RECYCLE\": \"syntaxe\",\r\n \"VOOR_DE_RECYCLE\": \"syntaxe\",\r\n \"BEIDEN_BRUGGEN\": \"syntaxe\",\r\n \"TE_WKW1EP\": \"syntaxe\",\r\n \"TE_ZNW\": \"syntaxe\",\r\n \"TE_VLT\": \"syntaxe\",\r\n \"SAMENSTELLING_STAM_ZNW\": \"syntaxe\",\r\n \"DE_AH\": \"syntaxe\",\r\n \"DE_ALLE\": \"syntaxe\",\r\n \"DE_AFTELLEN_BUTTON\": \"syntaxe\",\r\n \"GAAN_ERVAN_UIT\": \"syntaxe\",\r\n \"VOORVOEGSEL\": \"syntaxe\",\r\n \"ZO_N\": \"syntaxe\",\r\n \"VLAKBIJ\": \"syntaxe\",\r\n \"DE_WEGGAAT\": \"syntaxe\",\r\n \"HET_GAAT_LOOS\": \"syntaxe\",\r\n \"ONVERRICHT_TER_ZAKE\": \"syntaxe\",\r\n \"DANKJE_WEL\": \"syntaxe\",\r\n \"COLLEGA_ZNW\": \"syntaxe\",\r\n \"DARM_SYNDROOM\": \"syntaxe\",\r\n \"VAN_TE_VOREN\": \"syntaxe\",\r\n \"OF_TE_WEL\": \"syntaxe\",\r\n \"TE_SAMEN\": \"syntaxe\",\r\n \"MINDER_VALIDE\": \"syntaxe\",\r\n \"LIEVE_HEERSBEEST\": \"syntaxe\",\r\n \"DE_GENE\": \"syntaxe\",\r\n \"IN_DE\": \"syntaxe\",\r\n \"MENIET\": \"syntaxe\",\r\n \"DAT_ER\": \"syntaxe\",\r\n \"VAN_EEN\": \"syntaxe\",\r\n \"AF_TE\": \"syntaxe\",\r\n \"DAT_JE\": \"syntaxe\",\r\n \"VOOR_DE\": \"syntaxe\",\r\n \"JE_IN\": \"syntaxe\",\r\n \"IN_MIJN\": \"syntaxe\",\r\n \"MOET_JE\": \"syntaxe\",\r\n \"NIET_TE\": \"syntaxe\",\r\n \"ME_NIET\": \"syntaxe\",\r\n \"ZE_DE\": \"syntaxe\",\r\n \"TOTEN_MET\": \"syntaxe\",\r\n \"HOEFJE\": \"syntaxe\",\r\n \"WENSJE\": \"syntaxe\",\r\n \"ER_OOK_VOORKIEZEN\": \"syntaxe\",\r\n \"VOORKINDEREN\": \"syntaxe\",\r\n \"INPLAATS_VAN\": \"syntaxe\",\r\n \"INREKENING\": \"syntaxe\",\r\n \"INGOEDE\": \"syntaxe\",\r\n \"WATJE\": \"syntaxe\",\r\n \"OPZOEK\": \"syntaxe\",\r\n \"AANDOEN\": \"syntaxe\",\r\n \"OPMAAT\": \"syntaxe\",\r\n \"INSTAAT\": \"syntaxe\",\r\n \"WEETNIET\": \"syntaxe\",\r\n \"MANDIE\": \"syntaxe\",\r\n \"ONDERHAAR\": \"syntaxe\",\r\n \"NIETTEN\": \"syntaxe\",\r\n \"INGOED\": \"syntaxe\",\r\n \"VANDOEN\": \"syntaxe\",\r\n \"INGEVAL_VAN\": \"syntaxe\",\r\n \"INWERKING_TREDEN\": \"syntaxe\",\r\n \"INSLAAP_VALLEN\": \"syntaxe\",\r\n \"TEGELOVEN\": \"syntaxe\",\r\n \"TEMEER\": \"syntaxe\",\r\n \"IN_ZAKE\": \"syntaxe\",\r\n \"GETAL_SAMENST\": \"syntaxe\",\r\n \"A_CAPELLA_\": \"syntaxe\",\r\n \"A_LA_CARTE_\": \"syntaxe\",\r\n \"GROOTTE\": \"syntaxe\",\r\n \"_2E_KAMER\": \"syntaxe\",\r\n \"RODE_KRUIS_\": \"syntaxe\",\r\n \"MAKE_UP\": \"syntaxe\",\r\n \"EEN_IEDER\": \"syntaxe\",\r\n \"BIJ_VOORBEELD\": \"syntaxe\",\r\n \"EEN_ZELFDE\": \"syntaxe\",\r\n \"TER_DOOD_\": \"syntaxe\",\r\n \"TER_AARDE_\": \"syntaxe\",\r\n \"TER_BESCHIKKING\": \"syntaxe\",\r\n \"XXX_DING\": \"syntaxe\",\r\n \"_24_UURS_DING\": \"syntaxe\",\r\n \"TE_VEEL\": \"syntaxe\",\r\n \"TEVEEL\": \"syntaxe\",\r\n \"EX_KOSTEN\": \"syntaxe\",\r\n \"EX_\": \"syntaxe\",\r\n \"_15_JARIG\": \"syntaxe\",\r\n \"PEPER_EN_ZOUTSTEL\": \"syntaxe\",\r\n \"ART_DECOSTIJL\": \"syntaxe\",\r\n \"BIJNA_DOOD_ERVARING\": \"syntaxe\",\r\n \"N_PERSOONS\": \"syntaxe\",\r\n \"GELE_TRUIDRAGER_a\": \"syntaxe\",\r\n \"DERDE_WERELD_\": \"syntaxe\",\r\n \"IN_X_STELLING\": \"syntaxe\",\r\n \"TE_VOORSCHIJN\": \"syntaxe\",\r\n \"VEERTIG_DAGENTIJD\": \"syntaxe\",\r\n \"HIGH_TECH\": \"syntaxe\",\r\n \"_15_E\": \"syntaxe\",\r\n \"TEN_EINDE\": \"syntaxe\",\r\n \"GR\": \"typographie\",\r\n \"DI\": \"typographie\",\r\n \"CS\": \"typographie\",\r\n \"EO\": \"typographie\",\r\n \"ED\": \"typographie\",\r\n \"VON\": \"typographie\",\r\n \"MI\": \"typographie\",\r\n \"C_IPV_CA\": \"typographie\",\r\n \"B_V_\": \"typographie\",\r\n \"N_V_\": \"typographie\",\r\n \"PP_PUNT\": \"typographie\",\r\n \"PP\": \"typographie\",\r\n \"AD\": \"typographie\",\r\n \"ET_AL\": \"typographie\",\r\n \"EENHEDEN\": \"typographie\",\r\n \"V_CHR\": \"typographie\",\r\n \"DR\": \"typographie\",\r\n \"ZON_ZO_N\": \"typographie\",\r\n \"AFKO_PUNT\": \"typographie\",\r\n \"AFKO_PUNT2\": \"typographie\",\r\n \"AFKO_PUNT3\": \"typographie\",\r\n \"NL_PUNT\": \"typographie\",\r\n \"T\": \"typographie\",\r\n \"A_I_O\": \"typographie\",\r\n \"BEGINNEN_WW\": \"typographie\",\r\n \"ONGEPAST\": \"syntaxe\",\r\n \"DES_TE-VREEMD\": \"syntaxe\",\r\n \"VREEMD_VRZ_HIJ\": \"syntaxe\",\r\n \"DESONDANKS_ONDANKS\": \"syntaxe\",\r\n \"HET_WORD\": \"syntaxe\",\r\n \"DIT_END\": \"syntaxe\",\r\n \"HET_ZACHTS\": \"syntaxe\",\r\n \"TE_VERLEDEN\": \"syntaxe\",\r\n \"MIJN_FORTE\": \"syntaxe\",\r\n \"JARIG_LUSTRUM\": \"syntaxe\",\r\n \"A_APO_S\": \"syntaxe\",\r\n \"DES_DE\": \"syntaxe\",\r\n \"EINDE_ZIN_ONTBREEKT\": \"syntaxe\",\r\n \"EINDE_ZIN_ONVERWACHT\": \"syntaxe\",\r\n \"ALS_ZIJNDE\": \"syntaxe\",\r\n \"BESEF_ME\": \"syntaxe\",\r\n \"IRRITEERT_ZICH\": \"syntaxe\",\r\n \"JAREN_APO_80\": \"syntaxe\",\r\n \"GROTERE_ALS\": \"syntaxe\",\r\n \"EVENVEEL_DAN\": \"syntaxe\",\r\n \"DE_1E_INSTANTIE\": \"syntaxe\",\r\n \"REFEREER_NAAR\": \"syntaxe\",\r\n \"MANKEREN\": \"syntaxe\",\r\n \"WAT_SCHETST\": \"syntaxe\",\r\n \"CORDON_BLUE\": \"syntaxe\",\r\n \"MISTTE\": \"syntaxe\",\r\n \"LAAT_ONS\": \"syntaxe\",\r\n \"DIT_VERANDERD\": \"syntaxe\",\r\n \"EEN_VERSTOORT\": \"syntaxe\",\r\n \"STRAAT_HL\": \"syntaxe\",\r\n \"TE_PLAATS\": \"syntaxe\",\r\n \"SCHOUWEN_DUIVELAND\": \"syntaxe\",\r\n \"PEKING\": \"syntaxe\",\r\n \"WATER_DE\": \"syntaxe\",\r\n \"PLAATS_DE\": \"syntaxe\",\r\n \"GOLF_VAN\": \"syntaxe\",\r\n \"KOALA_LUMPUR\": \"syntaxe\",\r\n \"HOOFDDORP\": \"syntaxe\",\r\n \"STRAAT_\": \"syntaxe\",\r\n \"PLAATS_AAN_DEN\": \"syntaxe\",\r\n \"PLAATS_HL\": \"syntaxe\",\r\n \"ZEE\": \"syntaxe\",\r\n \"GELE_RIVIER\": \"syntaxe\",\r\n \"MIDDELL_ZEE\": \"syntaxe\",\r\n \"OEKRAINE\": \"syntaxe\",\r\n \"DUIZEND\": \"typographie\",\r\n \"GROTE_GETALLEN\": \"typographie\",\r\n \"JOEN_JARD\": \"typographie\",\r\n \"A\": \"typographie\",\r\n \"NADRUKTEKENS\": \"syntaxe\",\r\n \"NADRUKTEKENS_EEN\": \"syntaxe\",\r\n \"OPTIONAL_HYPHEN\": \"syntaxe\",\r\n \"ETC_ZONDER_HOOFDLETTERS\": \"typographie\",\r\n \"DJ\": \"typographie\",\r\n \"TEL_ZONDER_HOOFDLETTERS\": \"typographie\",\r\n \"JARIGE_JOB\": \"typographie\",\r\n \"ORANJES\": \"typographie\",\r\n \"NAM\": \"typographie\",\r\n \"KOERDEN\": \"typographie\",\r\n \"AN\": \"typographie\",\r\n \"WEEKDAGEN_MAANDEN\": \"typographie\",\r\n \"EIGENNAMEN_PLAATSEN\": \"typographie\",\r\n \"AMERICAN_DREAM\": \"typographie\",\r\n \"ABRAHAM\": \"typographie\",\r\n \"SARA\": \"typographie\",\r\n \"NIEUW_ZEELAND\": \"typographie\",\r\n \"GEEN_HOOFDLETTER_NA_GETAL\": \"typographie\",\r\n \"HOOFDLETTERS_OVERBODIG_A\": \"typographie\",\r\n \"HOOFDLETTERS_OVERBODIG_B\": \"typographie\",\r\n \"KOMMA_HOOFDLETTER\": \"typographie\",\r\n \"DUBBELOP\": \"typographie\",\r\n \"SPELDE_MOUW\": \"typographie\",\r\n \"PAMPUS\": \"typographie\",\r\n \"EDE\": \"typographie\",\r\n \"AMERIKAAN\": \"typographie\",\r\n \"KERSTMAN\": \"typographie\",\r\n \"EIGENNAMEN_HOOFDLETTER\": \"typographie\",\r\n \"U\": \"typographie\",\r\n \"FRIES\": \"typographie\",\r\n \"GENT\": \"typographie\",\r\n \"IJSLANDER\": \"typographie\",\r\n \"BRAVE_H\": \"typographie\",\r\n \"AAN_HET_HARD\": \"typographie\",\r\n \"EIGENNAAM\": \"typographie\",\r\n \"VAN_DE_ZOTTE\": \"syntaxe\",\r\n \"EN_ZO\": \"syntaxe\",\r\n \"DOUWEN\": \"syntaxe\",\r\n \"NOU\": \"syntaxe\",\r\n \"MEKAAR\": \"syntaxe\",\r\n \"OVERNIEUW\": \"syntaxe\",\r\n \"EFFE\": \"syntaxe\",\r\n \"IE\": \"syntaxe\",\r\n \"EEN_BOEL\": \"syntaxe\",\r\n \"NIKS\": \"syntaxe\",\r\n \"GEEN_EEN\": \"syntaxe\",\r\n \"GEEN_EENS\": \"syntaxe\",\r\n \"VEELS_TE\": \"syntaxe\",\r\n \"DOOR_DE_WAR\": \"syntaxe\",\r\n \"BEZIG_GAAN_MET\": \"syntaxe\",\r\n \"JE_EIGEN\": \"syntaxe\",\r\n \"EIGENGEMAAKT\": \"syntaxe\",\r\n \"ENIGSTE\": \"syntaxe\",\r\n \"ALLES_DAT\": \"syntaxe\",\r\n \"DUBBELE_SPATIE\": \"typographie\",\r\n \"EINDE_KOMMA\": \"typographie\",\r\n \"SPATIES_OM_KOPPEL\": \"typographie\",\r\n \"KOMMA_AANHALING\": \"typographie\",\r\n \"SINT_X\": \"typographie\",\r\n \"AANHALINMG_Z_SPATIE\": \"typographie\",\r\n \"MINMIN\": \"typographie\",\r\n \"KOMMA_APO\": \"typographie\",\r\n \"BULLET_SPATIE\": \"typographie\",\r\n \"MUNTEENHEID_SPATIE\": \"typographie\",\r\n \"PUNT_GEEN_HL\": \"typographie\",\r\n \"SPATIES_OM\": \"typographie\",\r\n \"SPATIE_NA\": \"typographie\",\r\n \"SPATIE_VOOR_BELETSELTEKEN\": \"typographie\",\r\n \"KOMMA_MAAR\": \"typographie\",\r\n \"KOMMA_MAAR_2\": \"typographie\",\r\n \"KOMMA_DAT\": \"typographie\",\r\n \"PUNT_UITR\": \"typographie\",\r\n \"ECHTER\": \"typographie\",\r\n \"ECHTER_2\": \"typographie\",\r\n \"KOMMA_ONTBR\": \"typographie\",\r\n \"GOAL\": \"syntaxe\",\r\n \"SLOGAN\": \"syntaxe\",\r\n \"UPDATEN\": \"syntaxe\",\r\n \"CRASHEN\": \"syntaxe\",\r\n \"BULLSHIT\": \"syntaxe\",\r\n \"FOHN\": \"syntaxe\",\r\n \"IMAGE\": \"syntaxe\",\r\n \"COMMERCIAL\": \"syntaxe\",\r\n \"BREAK\": \"syntaxe\",\r\n \"MULTIPLE_CHOICE\": \"syntaxe\",\r\n \"BABYSIT\": \"syntaxe\",\r\n \"MAGAZINE\": \"syntaxe\",\r\n \"PASSWORD\": \"syntaxe\",\r\n \"REPORTER\": \"syntaxe\",\r\n \"EYECATCHER\": \"syntaxe\",\r\n \"CELEBRITY\": \"syntaxe\",\r\n \"SALE\": \"syntaxe\",\r\n \"MATCH_COMPOUND\": \"syntaxe\",\r\n \"BODYGUARD\": \"syntaxe\",\r\n \"TALKSHOW\": \"syntaxe\",\r\n \"AIRCO\": \"syntaxe\",\r\n \"CRUISECONTROL\": \"syntaxe\",\r\n \"CALL\": \"syntaxe\",\r\n \"HEY\": \"syntaxe\",\r\n \"WERD_VERWAARLOOST\": \"syntaxe\",\r\n \"VINDT_IK\": \"syntaxe\",\r\n \"DIKKEN_MAN\": \"syntaxe\",\r\n \"X_GEWIJS\": \"syntaxe\",\r\n \"HET_STUK_DIE\": \"syntaxe\",\r\n \"EEN_LELIJKE_MEISJE\": \"syntaxe\",\r\n \"DE_IPV_HET\": \"syntaxe\",\r\n \"HET_JE_DIE\": \"syntaxe\",\r\n \"HET_ZNW_DE_ZNW_HET\": \"syntaxe\",\r\n \"WIKKEN\": \"syntaxe\",\r\n \"LUIST\": \"syntaxe\",\r\n \"VIERKANTE_METER\": \"syntaxe\",\r\n \"KUBIEKE_METER\": \"syntaxe\",\r\n \"EURO_TEKEN\": \"syntaxe\",\r\n \"EURO\": \"syntaxe\",\r\n \"OR_EENH_GETAL\": \"syntaxe\",\r\n \"GRADEN_KELVIN\": \"syntaxe\",\r\n \"POSTCODE\": \"syntaxe\",\r\n \"TIJD\": \"syntaxe\",\r\n \"_4_CIJFERS\": \"syntaxe\",\r\n \"BIJ_MIDDEL_VAN\": \"syntaxe\",\r\n \"ENKEL\": \"syntaxe\",\r\n \"ZEGGEN_EN_SCHRIJVEN\": \"syntaxe\",\r\n \"TEN_DEZE\": \"syntaxe\",\r\n \"DES_AL_NIET_TE_MIN\": \"syntaxe\",\r\n \"DESALNIETTEMIN\": \"syntaxe\",\r\n \"TENEINDE\": \"syntaxe\",\r\n \"HER_EN_DER\": \"syntaxe\",\r\n \"DES_MORGENS\": \"syntaxe\",\r\n \"TEN_STENGSTE\": \"syntaxe\",\r\n \"DIEN\": \"syntaxe\",\r\n \"TEN_DODE\": \"syntaxe\",\r\n \"DEN_HAAG_a\": \"syntaxe\",\r\n \"DEN_HAAG_b\": \"syntaxe\",\r\n \"DEN_BOSCH\": \"syntaxe\",\r\n \"THANS\": \"syntaxe\",\r\n \"DANWEL\": \"syntaxe\",\r\n \"DERHALVE\": \"syntaxe\",\r\n \"DEWELKE\": \"syntaxe\",\r\n \"NIMMER\": \"syntaxe\",\r\n \"IMMER\": \"syntaxe\",\r\n \"ZULKS\": \"syntaxe\",\r\n \"ALSOOK\": \"syntaxe\",\r\n \"NIETTEMIN\": \"syntaxe\",\r\n \"ALSMEDE\": \"syntaxe\",\r\n \"HUNNER_ETC\": \"syntaxe\",\r\n \"AANVRAGE\": \"syntaxe\",\r\n \"ALSTOEN\": \"syntaxe\",\r\n \"ALVORENS\": \"syntaxe\",\r\n \"ALWAAR\": \"syntaxe\",\r\n \"ANDERSZINS\": \"syntaxe\",\r\n \"BEHOUDENS\": \"syntaxe\",\r\n \"BENEVENS\": \"syntaxe\",\r\n \"OMTRENT\": \"syntaxe\",\r\n \"DAARENBOVEN\": \"syntaxe\",\r\n \"BIJGEVOLG\": \"syntaxe\",\r\n \"CONFLICTEREN\": \"syntaxe\",\r\n \"BLIJKENS\": \"syntaxe\",\r\n \"BIJ_SCHRIJVEN_VAN\": \"syntaxe\",\r\n \"DEGEEN\": \"syntaxe\",\r\n \"CONSTITUEREN\": \"syntaxe\",\r\n \"DESGEVRAAGD\": \"syntaxe\",\r\n \"DESNIETTEGENSTAANDE\": \"syntaxe\",\r\n \"DEZERZIJDS\": \"syntaxe\",\r\n \"ENTAMEREN\": \"syntaxe\",\r\n \"DIENAANGAANDE\": \"syntaxe\",\r\n \"DIENTENGEVOLGE\": \"syntaxe\",\r\n \"DOCH\": \"syntaxe\",\r\n \"DISCREPANTIE\": \"syntaxe\",\r\n \"EERST_DAN\": \"syntaxe\",\r\n \"EVENMIN\": \"syntaxe\",\r\n \"EVENWEL\": \"syntaxe\",\r\n \"EVENZEER\": \"syntaxe\",\r\n \"EXCEPTIONEEL\": \"syntaxe\",\r\n \"EXCESSIEF\": \"syntaxe\",\r\n \"EXPLICATIE\": \"syntaxe\",\r\n \"GAARNE\": \"syntaxe\",\r\n \"FLUCTUEREN\": \"syntaxe\",\r\n \"EVIDENT\": \"syntaxe\",\r\n \"NIET_X_MINST\": \"syntaxe\",\r\n \"EX_NUNC\": \"syntaxe\",\r\n \"GELUKKEN\": \"syntaxe\",\r\n \"GERAKEN\": \"syntaxe\",\r\n \"GEENSZINS\": \"syntaxe\",\r\n \"GENOEGZAAM\": \"syntaxe\",\r\n \"AANDACHTIG\": \"syntaxe\",\r\n \"AANGAANDE\": \"syntaxe\",\r\n \"AANMERKELIJK\": \"syntaxe\",\r\n \"AANPASSINGEN_REALISEREN\": \"syntaxe\",\r\n \"AANSTONDS\": \"syntaxe\",\r\n \"AAN_TE_GANE\": \"syntaxe\",\r\n \"AANVANGEN\": \"syntaxe\",\r\n \"AANVANKELIJK\": \"syntaxe\",\r\n \"AANWENDEN\": \"syntaxe\",\r\n \"ABUSIEVELIJK\": \"syntaxe\",\r\n \"ACCENTEN_VERLEGGEN\": \"syntaxe\",\r\n \"ACCORDEREN\": \"syntaxe\",\r\n \"ACHTEN\": \"syntaxe\",\r\n \"ACTIVITEITEN_VOORTZETTEN\": \"syntaxe\",\r\n \"ACTUALISEREN\": \"syntaxe\",\r\n \"ACUUT\": \"syntaxe\",\r\n \"AD_\": \"syntaxe\",\r\n \"ADDITIONEEL\": \"syntaxe\",\r\n \"ADEQUAAT\": \"syntaxe\",\r\n \"ADHESIE\": \"syntaxe\",\r\n \"ADHESIE_BETUIGEN\": \"syntaxe\",\r\n \"AD_HOC\": \"syntaxe\",\r\n \"ADSTRUEREN\": \"syntaxe\",\r\n \"ADVIES_UITBRENGEN\": \"syntaxe\",\r\n \"AFDOENING\": \"syntaxe\",\r\n \"AFFIRMATIEF\": \"syntaxe\",\r\n \"AFGEZIEN_VAN\": \"syntaxe\",\r\n \"AFRONDEN\": \"syntaxe\",\r\n \"ALDAAR\": \"syntaxe\",\r\n \"ALLOCEREN\": \"syntaxe\",\r\n \"ALOM\": \"syntaxe\",\r\n \"ALSDAN\": \"syntaxe\",\r\n \"AMBIVALENT\": \"syntaxe\",\r\n \"ANDERZIJDS\": \"syntaxe\",\r\n \"ANIMO\": \"syntaxe\",\r\n \"ANNONCE\": \"syntaxe\",\r\n \"APPELLANT\": \"syntaxe\",\r\n \"APPELLEREN\": \"syntaxe\",\r\n \"APPELLEREN_AAN\": \"syntaxe\",\r\n \"APPRECIATIE\": \"syntaxe\",\r\n \"A_PRIORI\": \"syntaxe\",\r\n \"AUTONOOM\": \"syntaxe\",\r\n \"BEDUIDEND\": \"syntaxe\",\r\n \"BEHELZEN\": \"syntaxe\",\r\n \"BEHOEFTE_BESTAAT_AAN\": \"syntaxe\",\r\n \"BEHOEVEN\": \"syntaxe\",\r\n \"BEHOUDENS_INDIEN\": \"syntaxe\",\r\n \"BEHOUDENS_IN_HET_GEVAL_DAT\": \"syntaxe\",\r\n \"BEHOUDENS_VOOR_ZOVER\": \"syntaxe\",\r\n \"BELEIDSIMPULS\": \"syntaxe\",\r\n \"BELEIDSINTENSIVERINGEN\": \"syntaxe\",\r\n \"BENCHMARKING\": \"syntaxe\",\r\n \"BEROUW\": \"syntaxe\",\r\n \"BESLAG_KRIJGEN\": \"syntaxe\",\r\n \"BESTENDIGEN\": \"syntaxe\",\r\n \"BETUIGEN\": \"syntaxe\",\r\n \"BEWERKSTELLIGEN\": \"syntaxe\",\r\n \"BEZIEN\": \"syntaxe\",\r\n \"BEZOLDIGD\": \"syntaxe\",\r\n \"BIJ_BRIEF\": \"syntaxe\",\r\n \"BIJ_DEZEN\": \"syntaxe\",\r\n \"BIJ_GELEGENHEID\": \"syntaxe\",\r\n \"BIJ_GEVAL\": \"syntaxe\",\r\n \"BIJ_SCHRIJVEN_VAN_1_MAART\": \"syntaxe\",\r\n \"BIJ_WIJZE_VAN\": \"syntaxe\",\r\n \"BILATERAAL\": \"syntaxe\",\r\n \"BINNEN_DE_GEMEENTELIJKE_ORGANISATIE\": \"syntaxe\",\r\n \"BINNEN_HET_RAAM_VAN_ONZE_VOORWAARDEN\": \"syntaxe\",\r\n \"BLACK_SPOT\": \"syntaxe\",\r\n \"BOVENGENOEMDE\": \"syntaxe\",\r\n \"BRANDING\": \"syntaxe\",\r\n \"BRANDSTOFVERKOOPPUNT\": \"syntaxe\",\r\n \"CASU_QUO\": \"syntaxe\",\r\n \"C_Q\": \"syntaxe\",\r\n \"MET_GEEN\": \"syntaxe\",\r\n \"CIRCA\": \"syntaxe\",\r\n \"CITYMARKETING\": \"syntaxe\",\r\n \"CLAUSULE\": \"syntaxe\",\r\n \"CLUSTEREN\": \"syntaxe\",\r\n \"COHESIE\": \"syntaxe\",\r\n \"COMPATIBEL\": \"syntaxe\",\r\n \"COMPENSATIE\": \"syntaxe\",\r\n \"COMPLICEREN\": \"syntaxe\",\r\n \"CONCIPIËREN\": \"syntaxe\",\r\n \"CONDITIE\": \"syntaxe\",\r\n \"CONFIGURATIE\": \"syntaxe\",\r\n \"CONFLICTSITUATIE\": \"syntaxe\",\r\n \"CONSENSUS\": \"syntaxe\",\r\n \"CONSOLIDATIE\": \"syntaxe\",\r\n \"CONSTELLATIE\": \"syntaxe\",\r\n \"CONSTRUCTIEF\": \"syntaxe\",\r\n \"CONSULTATIEF\": \"syntaxe\",\r\n \"CONSULTEREN\": \"syntaxe\",\r\n \"CONTINUEREN\": \"syntaxe\",\r\n \"CONVENANT\": \"syntaxe\",\r\n \"COÖRDINEREN\": \"syntaxe\",\r\n \"COURANT\": \"syntaxe\",\r\n \"CRITERIUM\": \"syntaxe\",\r\n \"CRUCIAAL\": \"syntaxe\",\r\n \"CUM_SUIS\": \"syntaxe\",\r\n \"CUMULATIEF\": \"syntaxe\",\r\n \"CURIEUS\": \"syntaxe\",\r\n \"DAGTEKENING\": \"syntaxe\",\r\n \"DANIG\": \"syntaxe\",\r\n \"DANKZEGGEN\": \"syntaxe\",\r\n \"DAT_WIL_ZEGGEN\": \"syntaxe\",\r\n \"DECENTRAAL\": \"syntaxe\",\r\n \"DE_DATO\": \"syntaxe\",\r\n \"DEDUCTIEF\": \"syntaxe\",\r\n \"DE_FACTO\": \"syntaxe\",\r\n \"DE_HANDEN_INEENSLAAN\": \"syntaxe\",\r\n \"DELEGEREN\": \"syntaxe\",\r\n \"DE_MENING_TOEGEDAAN\": \"syntaxe\",\r\n \"DEREGULERING\": \"syntaxe\",\r\n \"DEROGATIE\": \"syntaxe\",\r\n \"DERVEN\": \"syntaxe\",\r\n \"DERVING\": \"syntaxe\",\r\n \"DESIDERATA\": \"syntaxe\",\r\n \"DESIDERATUM\": \"syntaxe\",\r\n \"DESONDANKS\": \"syntaxe\",\r\n \"DESTIJDS\": \"syntaxe\",\r\n \"DESWEGE\": \"syntaxe\",\r\n \"DEZER_DAGEN\": \"syntaxe\",\r\n \"DICTA\": \"syntaxe\",\r\n \"DICTUM\": \"syntaxe\",\r\n \"DIENEN_TE\": \"syntaxe\",\r\n \"DIENOVEREENKOMSTIG\": \"syntaxe\",\r\n \"DIFFERENTIËREN\": \"syntaxe\",\r\n \"DISCONTINU\": \"syntaxe\",\r\n \"DISKWALIFICATIE\": \"syntaxe\",\r\n \"DISTRIBUEREN\": \"syntaxe\",\r\n \"DIT_SCHRIJVEN\": \"syntaxe\",\r\n \"DIVERSITEIT\": \"syntaxe\",\r\n \"DOEN_TOEKOMEN\": \"syntaxe\",\r\n \"DOGMATISCH\": \"syntaxe\",\r\n \"DOORGANG_VINDEN\": \"syntaxe\",\r\n \"DOORPAKKEN\": \"syntaxe\",\r\n \"DRAAGVLAK\": \"syntaxe\",\r\n \"DRALEN\": \"syntaxe\",\r\n \"X_TAL\": \"syntaxe\",\r\n \"DUSDANIG\": \"syntaxe\",\r\n \"EDOCH\": \"syntaxe\",\r\n \"EDUCATIEF\": \"syntaxe\",\r\n \"EEN_AANTAL\": \"syntaxe\",\r\n \"EEN_DEZER_DAGEN\": \"syntaxe\",\r\n \"EEN_EN_ANDER\": \"syntaxe\",\r\n \"EEN_KLEIN_AANTAL\": \"syntaxe\",\r\n \"EERDER_GENOEMDE\": \"syntaxe\",\r\n \"EFFECTUEREN\": \"syntaxe\",\r\n \"ELDERS\": \"syntaxe\",\r\n \"ELIMINEREN\": \"syntaxe\",\r\n \"ELKEEN\": \"syntaxe\",\r\n \"ENERZIJDS\": \"syntaxe\",\r\n \"EPISTEL\": \"syntaxe\",\r\n \"EQUIVALENT\": \"syntaxe\",\r\n \"ERGO\": \"syntaxe\",\r\n \"ERTOE_STREKKEN\": \"syntaxe\",\r\n \"ESCALEREN\": \"syntaxe\",\r\n \"ESSENTIEEL\": \"syntaxe\",\r\n \"EVENZO\": \"syntaxe\",\r\n \"EX_ARTIKEL\": \"syntaxe\",\r\n \"EXCERPEREN\": \"syntaxe\",\r\n \"EXORBITANT\": \"syntaxe\",\r\n \"EXPIRATIE\": \"syntaxe\",\r\n \"EXPIREREN\": \"syntaxe\",\r\n \"EXPLICEREN\": \"syntaxe\",\r\n \"EXPLICIET\": \"syntaxe\",\r\n \"EXPLOITATIE\": \"syntaxe\",\r\n \"EXPLOITEREN\": \"syntaxe\",\r\n \"EXPLORATIE\": \"syntaxe\",\r\n \"EXPLOREREN\": \"syntaxe\",\r\n \"EXPLOSIEF\": \"syntaxe\",\r\n \"EXPONENTIEEL\": \"syntaxe\",\r\n \"EXPOSÉ\": \"syntaxe\",\r\n \"EXTENSIVERING\": \"syntaxe\",\r\n \"IN_EXTENSO\": \"syntaxe\",\r\n \"EXTRAMURAAL\": \"syntaxe\",\r\n \"EXTREEM\": \"syntaxe\",\r\n \"IN_EXTREMIS\": \"syntaxe\",\r\n \"EXTRINSIEK\": \"syntaxe\",\r\n \"EXUBERANT\": \"syntaxe\",\r\n \"FACILITEREN\": \"syntaxe\",\r\n \"FASEGEWIJS\": \"syntaxe\",\r\n \"FIAT\": \"syntaxe\",\r\n \"FIATTEREN\": \"syntaxe\",\r\n \"FINETUNEN\": \"syntaxe\",\r\n \"FINETUNING\": \"syntaxe\",\r\n \"FLANKEREND\": \"syntaxe\",\r\n \"FRAAI\": \"syntaxe\",\r\n \"FUNDAMENT\": \"syntaxe\",\r\n \"FUNDAMENTEEL\": \"syntaxe\",\r\n \"FUNDEREN\": \"syntaxe\",\r\n \"FUNGEREN\": \"syntaxe\",\r\n \"GARANT_STAAN_VOOR\": \"syntaxe\",\r\n \"GEACCORDEERD\": \"syntaxe\",\r\n \"GEAGENDEERD\": \"syntaxe\",\r\n \"GECOMPLICEERD\": \"syntaxe\",\r\n \"GECOÖRDINEERD\": \"syntaxe\",\r\n \"GEFASEERD\": \"syntaxe\",\r\n \"GEGROND_OP\": \"syntaxe\",\r\n \"GEÏNTEGREERDE_AANPAK\": \"syntaxe\",\r\n \"GEÏNVOLVEERD\": \"syntaxe\",\r\n \"GEKANT_ZIJN_TEGEN\": \"syntaxe\",\r\n \"IN_DE_GELEGENHEID\": \"syntaxe\",\r\n \"GELIJKLUIDEND\": \"syntaxe\",\r\n \"GELIJKTIJDIG\": \"syntaxe\",\r\n \"GEMEENTELIJKE_VERORDENING\": \"syntaxe\",\r\n \"GEMEENZAAM\": \"syntaxe\",\r\n \"GEREED\": \"syntaxe\",\r\n \"GEREVITALISEERD\": \"syntaxe\",\r\n \"GESCHIL\": \"syntaxe\",\r\n \"GESTRUCTUREERD\": \"syntaxe\",\r\n \"GEWAG_MAKEN_VAN\": \"syntaxe\",\r\n \"GEZIEN_HET_FEIT_DAT\": \"syntaxe\",\r\n \"GREMIUM\": \"syntaxe\",\r\n \"GROOTSTEDELIJK\": \"syntaxe\",\r\n \"HANGENDE_HET_BESLUIT\": \"syntaxe\",\r\n \"HEDENMIDDAG\": \"syntaxe\",\r\n \"HEDENOCHTEND\": \"syntaxe\",\r\n \"HEDEN_TEN_DAGE\": \"syntaxe\",\r\n \"HERORIËNTATIE\": \"syntaxe\",\r\n \"HERORIËNTEREN\": \"syntaxe\",\r\n \"HEROVERWEGEN\": \"syntaxe\",\r\n \"HETGEEN\": \"syntaxe\",\r\n \"HET_IS_GEBODEN\": \"syntaxe\",\r\n \"HET_KAN_NIET_WORDEN_TEGENGESPROKEN_DAT\": \"syntaxe\",\r\n \"HET_LIGT_GEENSZINS_IN_DE_BEDOELING_DAT\": \"syntaxe\",\r\n \"HET_MOGE_DUIDELIJK_ZIJN\": \"syntaxe\",\r\n \"HET_VALT_TE_PROBEREN\": \"syntaxe\",\r\n \"HET_WARE_TE_WENSEN_DAT\": \"syntaxe\",\r\n \"HETWELK\": \"syntaxe\",\r\n \"HIËRARCHIE\": \"syntaxe\",\r\n \"HIERNAVOLGENDE\": \"syntaxe\",\r\n \"HIEROMTRENT\": \"syntaxe\",\r\n \"HIERONDER_RESSORTEERT\": \"syntaxe\",\r\n \"HIER_TE_LANDE\": \"syntaxe\",\r\n \"HIERTOE\": \"syntaxe\",\r\n \"HOGERGENOEMDE\": \"syntaxe\",\r\n \"HOOFDE\": \"syntaxe\",\r\n \"HOOFDLIJNEN\": \"syntaxe\",\r\n \"HOOFDZAKELIJK\": \"syntaxe\",\r\n \"HOOGACHTEND\": \"syntaxe\",\r\n \"HORIZONTAAL_WERKVERBAND\": \"syntaxe\",\r\n \"IMMERS\": \"syntaxe\",\r\n \"IMPACT\": \"syntaxe\",\r\n \"IMPLEMENTATIE\": \"syntaxe\",\r\n \"IMPLICATIE\": \"syntaxe\",\r\n \"IMPLICEREN\": \"syntaxe\",\r\n \"IN_AANMERKING_NEMEN\": \"syntaxe\",\r\n \"IN_BEGINSEL\": \"syntaxe\",\r\n \"IN_CASU\": \"syntaxe\",\r\n \"INCIDENT\": \"syntaxe\",\r\n \"IN_CONCRETO\": \"syntaxe\",\r\n \"INCONGRUENT\": \"syntaxe\",\r\n \"INCONSEQUENT\": \"syntaxe\",\r\n \"INCOURANT\": \"syntaxe\",\r\n \"IN_DE_BETEKENIS_VAN\": \"syntaxe\",\r\n \"IN_DE_GELEGENHEID_ZIJN\": \"syntaxe\",\r\n \"IN_DE_NABIJE_TOEKOMST\": \"syntaxe\",\r\n \"IN_DE_NABIJHEID_VAN\": \"syntaxe\",\r\n \"IN_DE_OMSTANDIGHEID_VERKEREN\": \"syntaxe\",\r\n \"IN_DE_TRANT_VAN\": \"syntaxe\",\r\n \"IN_DEZEN\": \"syntaxe\",\r\n \"IN_DE_WEEK_LEGGEN\": \"syntaxe\",\r\n \"IN_DE_ZIN_VAN\": \"syntaxe\",\r\n \"INDICATIE\": \"syntaxe\",\r\n \"INDIEN\": \"syntaxe\",\r\n \"IN_DIER_VOEGE\": \"syntaxe\",\r\n \"IN_DUPLO\": \"syntaxe\",\r\n \"INFLATIE\": \"syntaxe\",\r\n \"IN_GEMEEN_OVERLEG\": \"syntaxe\",\r\n \"IN_GEVAL_VAN\": \"syntaxe\",\r\n \"INGEVOLGE\": \"syntaxe\",\r\n \"IN_GOEDE_ORDE\": \"syntaxe\",\r\n \"IN_HET_HUIDIGE_TIJDSGEWRICHT\": \"syntaxe\",\r\n \"IN_HET_LICHT_VAN\": \"syntaxe\",\r\n \"IN_HET_MERENDEEL_VAN_DE_GEVALLEN\": \"syntaxe\",\r\n \"IN_HET_NAVOLGENDE\": \"syntaxe\",\r\n \"INITIEEL\": \"syntaxe\",\r\n \"INITIËREN\": \"syntaxe\",\r\n \"IN_MINDERE_MATE\": \"syntaxe\",\r\n \"IN_OVERLEG_TREDEN\": \"syntaxe\",\r\n \"IN_OVERWEGING_NEMEN\": \"syntaxe\",\r\n \"IN_SAMENWERKING_MET\": \"syntaxe\",\r\n \"IN_SITU\": \"syntaxe\",\r\n \"INSTITUEREN\": \"syntaxe\",\r\n \"INSTITUTIONALISEREN\": \"syntaxe\",\r\n \"INTEGRAAL\": \"syntaxe\",\r\n \"INTENTIE\": \"syntaxe\",\r\n \"IN_TOENEMENDE_MATE\": \"syntaxe\",\r\n \"INSISTEREN\": \"syntaxe\",\r\n \"INVORDEREN\": \"syntaxe\",\r\n \"IN_WERKING_STELLEN\": \"syntaxe\",\r\n \"IN_WERKING_TREDEN\": \"syntaxe\",\r\n \"INWILLIGEN\": \"syntaxe\",\r\n \"INZAKE\": \"syntaxe\",\r\n \"IRREËEL\": \"syntaxe\",\r\n \"IRRELEVANT\": \"syntaxe\",\r\n \"ISSUE\": \"syntaxe\",\r\n \"JEGENS\": \"syntaxe\",\r\n \"JONGSTLEDEN\": \"syntaxe\",\r\n \"JUMELAGE\": \"syntaxe\",\r\n \"JUNCTO\": \"syntaxe\",\r\n \"JURISPRUDENTIE\": \"syntaxe\",\r\n \"JUSTIFICATIE\": \"syntaxe\",\r\n \"KANDELABEREN\": \"syntaxe\",\r\n \"KENNISNEMEN_VAN\": \"syntaxe\",\r\n \"KERNTAAK\": \"syntaxe\",\r\n \"KICK-OFF\": \"syntaxe\",\r\n \"KLANKBORDEN\": \"syntaxe\",\r\n \"KORTSLUITEN\": \"syntaxe\",\r\n \"KORTWIEKEN\": \"syntaxe\",\r\n \"KOSTENINDICATIE\": \"syntaxe\",\r\n \"KRACHTENS\": \"syntaxe\",\r\n \"KWALIFICATIE\": \"syntaxe\",\r\n \"KWALIFICEREN\": \"syntaxe\",\r\n \"KWALIJK\": \"syntaxe\",\r\n \"KWALITATIEF\": \"syntaxe\",\r\n \"KWANTIFICEREN\": \"syntaxe\",\r\n \"KWANTITATIEF\": \"syntaxe\",\r\n \"KWANTITEIT\": \"syntaxe\",\r\n \"KWESTIEUS\": \"syntaxe\",\r\n \"LAATSTELIJK\": \"syntaxe\",\r\n \"LABELEN\": \"syntaxe\",\r\n \"LANCEREN\": \"syntaxe\",\r\n \"LANGJARIG\": \"syntaxe\",\r\n \"LARDEREN_MET\": \"syntaxe\",\r\n \"LECTORI_SALUTEM\": \"syntaxe\",\r\n \"L_S_\": \"syntaxe\",\r\n \"LEGES\": \"syntaxe\",\r\n \"LEGIO\": \"syntaxe\",\r\n \"LEGITIEM\": \"syntaxe\",\r\n \"LEIDMOTIEF\": \"syntaxe\",\r\n \"LERING_TREKKEN_UIT\": \"syntaxe\",\r\n \"LIAISON\": \"syntaxe\",\r\n \"LIBERALISATIE\": \"syntaxe\",\r\n \"LICHTVAARDIG\": \"syntaxe\",\r\n \"LIJNTJES_LEGGEN\": \"syntaxe\",\r\n \"LITIGIEUS\": \"syntaxe\",\r\n \"MANAGEN\": \"syntaxe\",\r\n \"MANDAAT\": \"syntaxe\",\r\n \"MANIFEST_WORDEN\": \"syntaxe\",\r\n \"MEDEDELEN\": \"syntaxe\",\r\n \"MEDIO\": \"syntaxe\",\r\n \"MENIGEEN\": \"syntaxe\",\r\n \"MERENDEELS\": \"syntaxe\",\r\n \"MET_ALS_REDEN\": \"syntaxe\",\r\n \"MET_ALS_RESULTAAT_DAT\": \"syntaxe\",\r\n \"MET_DE_BEDOELING_DAT\": \"syntaxe\",\r\n \"MET_HET_RESULTAAT_DAT\": \"syntaxe\",\r\n \"MET_NAME\": \"syntaxe\",\r\n \"MET_REDENEN_OMKLEED\": \"syntaxe\",\r\n \"MET_REFERTE_AAN\": \"syntaxe\",\r\n \"MET_TERZIJDE_LATEN_VAN\": \"syntaxe\",\r\n \"MET_WEGLATING_VAN\": \"syntaxe\",\r\n \"MIDDELS\": \"syntaxe\",\r\n \"MIJNE_HEREN\": \"syntaxe\",\r\n \"MIJNS_INZIENS\": \"syntaxe\",\r\n \"M_I\": \"syntaxe\",\r\n \"MITS\": \"syntaxe\",\r\n \"MITSDIEN\": \"syntaxe\",\r\n \"MITSGADERS\": \"syntaxe\",\r\n \"MOMENTEEL\": \"syntaxe\",\r\n \"MOTIE\": \"syntaxe\",\r\n \"MOTIE_VAN_WANTROUWEN\": \"syntaxe\",\r\n \"MUTATIE\": \"syntaxe\",\r\n \"NAAR_BEHOREN\": \"syntaxe\",\r\n \"NAAR_DE_MENSEN_TOE\": \"syntaxe\",\r\n \"NADERE\": \"syntaxe\",\r\n \"NADIEN\": \"syntaxe\",\r\n \"NAGENOEG\": \"syntaxe\",\r\n \"NAVOLGENDE\": \"syntaxe\",\r\n \"NAVRANT\": \"syntaxe\",\r\n \"NEVENEFFECT\": \"syntaxe\",\r\n \"NEVENSTAANDE\": \"syntaxe\",\r\n \"NEVENVERMELDE\": \"syntaxe\",\r\n \"NIETTEGENSTAANDE\": \"syntaxe\",\r\n \"NIET_ZIJNDE\": \"syntaxe\",\r\n \"NOCHTANS\": \"syntaxe\",\r\n \"NOPEN\": \"syntaxe\",\r\n \"NOPENS\": \"syntaxe\",\r\n \"OFFICIEUS\": \"syntaxe\",\r\n \"OFSCHOON\": \"syntaxe\",\r\n \"OFTEWEL\": \"syntaxe\",\r\n \"OFTE\": \"syntaxe\",\r\n \"OMBUIGEN\": \"syntaxe\",\r\n \"OMBUIGING\": \"syntaxe\",\r\n \"OM_DEZE_REDENEN\": \"syntaxe\",\r\n \"OM_REDEN_VAN\": \"syntaxe\",\r\n \"OMVANGRIJK\": \"syntaxe\",\r\n \"ONBEZOLDIGD\": \"syntaxe\",\r\n \"ONDER_CURATELE_STELLEN\": \"syntaxe\",\r\n \"ONDERGETEKENDE\": \"syntaxe\",\r\n \"ONDERHAVIG\": \"syntaxe\",\r\n \"ONDER_INVLOED_VAN\": \"syntaxe\",\r\n \"ONDER_REFERTE_AAN\": \"syntaxe\",\r\n \"ONDERSCHEIDENLIJK\": \"syntaxe\",\r\n \"ONDERWERPELIJK\": \"syntaxe\",\r\n \"ONDERWIJL\": \"syntaxe\",\r\n \"ONGEACHT\": \"syntaxe\",\r\n \"ONGENOEGEN\": \"syntaxe\",\r\n \"ONJUIST\": \"syntaxe\",\r\n \"ONLANGS\": \"syntaxe\",\r\n \"ONTBEREN\": \"syntaxe\",\r\n \"ONTPLOOIEN\": \"syntaxe\",\r\n \"DAT_LAAT_ONVERLET\": \"syntaxe\",\r\n \"ONVERWIJLD\": \"syntaxe\",\r\n \"ONZERZIJDS\": \"syntaxe\",\r\n \"OOGMERK\": \"syntaxe\",\r\n \"OORZAAK_LIGT_IN_HET_FEIT_DAT\": \"syntaxe\",\r\n \"OP_DEZE_WIJZE\": \"syntaxe\",\r\n \"OP_GROND_VAN\": \"syntaxe\",\r\n \"OP_GROND_VAN_HET_VOORGAANDE\": \"syntaxe\",\r\n \"OP_HET_HUIDIGE_MOMENT\": \"syntaxe\",\r\n \"OPSTARTEN\": \"syntaxe\",\r\n \"OPTEREN_VOOR\": \"syntaxe\",\r\n \"ZO_OPTIMAAL_MOGELIJK\": \"syntaxe\",\r\n \"OPTIMAAL\": \"syntaxe\",\r\n \"OP_VOORHAND\": \"syntaxe\",\r\n \"OP_WELKE_WIJZE\": \"syntaxe\",\r\n \"OVER_DE_GEHELE_LINIE\": \"syntaxe\",\r\n \"OVEREENKOMSTIG\": \"syntaxe\",\r\n \"OVERHEAD\": \"syntaxe\",\r\n \"OVERIGENS\": \"syntaxe\",\r\n \"PANEL\": \"syntaxe\",\r\n \"PARTICIPEREN\": \"syntaxe\",\r\n \"PARTIEEL\": \"syntaxe\",\r\n \"PEILDATUM\": \"syntaxe\",\r\n \"PER_ABUIS\": \"syntaxe\",\r\n \"PERCENT\": \"syntaxe\",\r\n \"PER_OMGAANDE\": \"syntaxe\",\r\n \"PERSISTEREN\": \"syntaxe\",\r\n \"PIKETPAALTJES_SLAAN\": \"syntaxe\",\r\n \"PILOT\": \"syntaxe\",\r\n \"POGEN\": \"syntaxe\",\r\n \"PORTEFEUILLE\": \"syntaxe\",\r\n \"PREALABEL\": \"syntaxe\",\r\n \"PRECEDENT\": \"syntaxe\",\r\n \"PRECEDENTWERKING\": \"syntaxe\",\r\n \"PRELIMINAIR\": \"syntaxe\",\r\n \"PRELUDEREN_OP\": \"syntaxe\",\r\n \"PREMATUUR\": \"syntaxe\",\r\n \"PREVALEREN\": \"syntaxe\",\r\n \"PREVENTIEF\": \"syntaxe\",\r\n \"PRIMAIR\": \"syntaxe\",\r\n \"PRINCIPE\": \"syntaxe\",\r\n \"PRINCIPIEEL\": \"syntaxe\",\r\n \"PRIORITEITSSTELLING\": \"syntaxe\",\r\n \"PROACTIEF\": \"syntaxe\",\r\n \"PROCEDÉ\": \"syntaxe\",\r\n \"PROCEDURE\": \"syntaxe\",\r\n \"PROCEDUREEL\": \"syntaxe\",\r\n \"PROFILEREN\": \"syntaxe\",\r\n \"PROGNOSE\": \"syntaxe\",\r\n \"PROMINENT\": \"syntaxe\",\r\n \"QUA\": \"syntaxe\",\r\n \"QUASI\": \"syntaxe\",\r\n \"QUICKSCAN\": \"syntaxe\",\r\n \"QUOD_NON\": \"syntaxe\",\r\n \"QUOTUM\": \"syntaxe\",\r\n \"RAMING\": \"syntaxe\",\r\n \"RANDVOORWAARDE\": \"syntaxe\",\r\n \"RATIO\": \"syntaxe\",\r\n \"RATIONEEL\": \"syntaxe\",\r\n \"REACTIEF\": \"syntaxe\",\r\n \"RECENTELIJK\": \"syntaxe\",\r\n \"RECES\": \"syntaxe\",\r\n \"RECHTENS\": \"syntaxe\",\r\n \"RECLAMANT\": \"syntaxe\",\r\n \"RECTIFICEREN\": \"syntaxe\",\r\n \"REDEN_DAARTOE_IS\": \"syntaxe\",\r\n \"REDUCTIE\": \"syntaxe\",\r\n \"REEDS\": \"syntaxe\",\r\n \"REFEREREN_AAN\": \"syntaxe\",\r\n \"REGARDEREN\": \"syntaxe\",\r\n \"REGIE_NEMEN\": \"syntaxe\",\r\n \"REGULIER\": \"syntaxe\",\r\n \"REPARATIEWETGEVING\": \"syntaxe\",\r\n \"REPERCUSSIE\": \"syntaxe\",\r\n \"REPLICEREN\": \"syntaxe\",\r\n \"RESPONS\": \"syntaxe\",\r\n \"RESTITUTIE\": \"syntaxe\",\r\n \"RESTRICTIE\": \"syntaxe\",\r\n \"RESULTEREN_IN\": \"syntaxe\",\r\n \"RESUMÉ\": \"syntaxe\",\r\n \"RESUMEREND\": \"syntaxe\",\r\n \"RETOURNEREN\": \"syntaxe\",\r\n \"RETOURZENDEN\": \"syntaxe\",\r\n \"RETRIBUTIE\": \"syntaxe\",\r\n \"REVITALISERING\": \"syntaxe\",\r\n \"RUCHTBAARHEID_GEVEN_AAN\": \"syntaxe\",\r\n \"SANCTIE\": \"syntaxe\",\r\n \"SANCTIONEREN\": \"syntaxe\",\r\n \"SEDERT\": \"syntaxe\",\r\n \"SEPARAAT\": \"syntaxe\",\r\n \"SEPONEREN\": \"syntaxe\",\r\n \"SHARED_SERVICES\": \"syntaxe\",\r\n \"SIGNIFICANT\": \"syntaxe\",\r\n \"SPIN-OFF\": \"syntaxe\",\r\n \"STAGNATIE\": \"syntaxe\",\r\n \"STAGNEREN\": \"syntaxe\",\r\n \"STAKEHOLDER\": \"syntaxe\",\r\n \"STORNEREN\": \"syntaxe\",\r\n \"STORNERING\": \"syntaxe\",\r\n \"STRINGENT\": \"syntaxe\",\r\n \"STRUCTUREEL\": \"syntaxe\",\r\n \"EEN_STUKJE_BELEID\": \"syntaxe\",\r\n \"SUBJECTIEF\": \"syntaxe\",\r\n \"SUBOPTIMAAL\": \"syntaxe\",\r\n \"SUBSIDIABEL\": \"syntaxe\",\r\n \"SUBSTANTIEEL\": \"syntaxe\",\r\n \"SUMMIER\": \"syntaxe\",\r\n \"SUPPLETOIR\": \"syntaxe\",\r\n \"TAL_VAN\": \"syntaxe\",\r\n \"TARGET\": \"syntaxe\",\r\n \"TASKFORCE\": \"syntaxe\",\r\n \"TE_ALLEN_TIJDE\": \"syntaxe\",\r\n \"TECHNISCH\": \"syntaxe\",\r\n \"TE_DEZEN\": \"syntaxe\",\r\n \"TEGEMOET_ZIEN\": \"syntaxe\",\r\n \"TEGEN_DE_ACHTERGROND_VAN\": \"syntaxe\",\r\n \"TELKENMALE\": \"syntaxe\",\r\n \"TEMPORISEREN\": \"syntaxe\",\r\n \"TEN_AANZIEN_VAN\": \"syntaxe\",\r\n \"TEN_BEHOEVE_VAN\": \"syntaxe\",\r\n \"T_B_V\": \"syntaxe\",\r\n \"TEN_BEWIJZE_VAN\": \"syntaxe\",\r\n \"TEN_DETRIMENTE_VAN\": \"syntaxe\",\r\n \"TEN_GEVOLGE_VAN\": \"syntaxe\",\r\n \"TEN_GRONDSLAG_LIGGEN_AAN\": \"syntaxe\",\r\n \"TEN_GUNSTE_VAN\": \"syntaxe\",\r\n \"TEN_MINSTE\": \"syntaxe\",\r\n \"TEN_PRINCIPALE\": \"syntaxe\",\r\n \"TEN_TIJDE_VAN\": \"syntaxe\",\r\n \"GENAAMD_NAAR\": \"syntaxe\",\r\n \"TEN_UITVOER_BRENGEN\": \"syntaxe\",\r\n \"TEN_VOLLE_VAN_BEWUST\": \"syntaxe\",\r\n \"TE_ONZENT\": \"syntaxe\",\r\n \"TER_BEREIKING_HIERVAN\": \"syntaxe\",\r\n \"TER_BESCHIKKING_HEBBEN\": \"syntaxe\",\r\n \"TERDEGE\": \"syntaxe\",\r\n \"TERECHTWIJZEN\": \"syntaxe\",\r\n \"TERECHTWIJZING\": \"syntaxe\",\r\n \"TER_GELEGENHEID_VAN\": \"syntaxe\",\r\n \"TER_HAND_NEMEN\": \"syntaxe\",\r\n \"TER_HAND_STELLEN\": \"syntaxe\",\r\n \"TER_REALISERING_VAN_DIT_OOGMERK\": \"syntaxe\",\r\n \"TERSTOND\": \"syntaxe\",\r\n \"TERUGKOPPELEN\": \"syntaxe\",\r\n \"TERUGMELDEN\": \"syntaxe\",\r\n \"TER_ZAKE\": \"syntaxe\",\r\n \"TER_ZITTING\": \"syntaxe\",\r\n \"TE_UWEN_NAME\": \"syntaxe\",\r\n \"TE_UWENT\": \"syntaxe\",\r\n \"TEVENS\": \"syntaxe\",\r\n \"TEZAMEN\": \"syntaxe\",\r\n \"TE_ZIJNER_TIJD\": \"syntaxe\",\r\n \"TIJDPAD\": \"syntaxe\",\r\n \"TIJDSBESTEK\": \"syntaxe\",\r\n \"TOENTERTIJD\": \"syntaxe\",\r\n \"TOETSEN_AAN\": \"syntaxe\",\r\n \"TOPIC\": \"syntaxe\",\r\n \"TOT_DE_CONCLUSIE_KOMEN\": \"syntaxe\",\r\n \"TOT_TAAK_HEBBEN\": \"syntaxe\",\r\n \"TRACHTEN\": \"syntaxe\",\r\n \"TRANSPARANT\": \"syntaxe\",\r\n \"U_GELIEVE\": \"syntaxe\",\r\n \"UIT_ANDEREN_HOOFDE\": \"syntaxe\",\r\n \"UIT_HOOFDE_VAN\": \"syntaxe\",\r\n \"ULTIMO_\": \"syntaxe\",\r\n \"UNIVERSEEL\": \"syntaxe\",\r\n \"URGENT\": \"syntaxe\",\r\n \"URGENTIE\": \"syntaxe\",\r\n \"USANCE\": \"syntaxe\",\r\n \"UTILITAIR\": \"syntaxe\",\r\n \"UWENTHALVE\": \"syntaxe\",\r\n \"UWENTWEGE\": \"syntaxe\",\r\n \"UWERZIJDS\": \"syntaxe\",\r\n \"VACANT\": \"syntaxe\",\r\n \"VACATUREHOUDEND\": \"syntaxe\",\r\n \"VALIDE\": \"syntaxe\",\r\n \"VALIDEREN\": \"syntaxe\",\r\n \"VALORISATIE\": \"syntaxe\",\r\n \"VANDAAR\": \"syntaxe\",\r\n \"VAN_GEMEENTEWEGE\": \"syntaxe\",\r\n \"VAN_MENING_ZIJN\": \"syntaxe\",\r\n \"VAN_OORDEEL_ZIJN\": \"syntaxe\",\r\n \"VAN_START_GAAN\": \"syntaxe\",\r\n \"VAN_TEVOREN\": \"syntaxe\",\r\n \"VANUIT_DE_ORGANISATIE\": \"syntaxe\",\r\n \"VANWEGE_HET_FEIT_DAT\": \"syntaxe\",\r\n \"VEELAL\": \"syntaxe\",\r\n \"VEELVULDIG\": \"syntaxe\",\r\n \"VERGEWISSEN\": \"syntaxe\",\r\n \"VERKETELEN\": \"syntaxe\",\r\n \"VERKIEZEN_BOVEN\": \"syntaxe\",\r\n \"VERMANEN\": \"syntaxe\",\r\n \"VERORDENING\": \"syntaxe\",\r\n \"VERSTENEN\": \"syntaxe\",\r\n \"VERSTREKEN_PERIODE\": \"syntaxe\",\r\n \"VERTAALSLAG\": \"syntaxe\",\r\n \"VERTROUWEN_OPZEGGEN\": \"syntaxe\",\r\n \"VERWERVEN\": \"syntaxe\",\r\n \"VERZUIMEN\": \"syntaxe\",\r\n \"VIGEREN\": \"syntaxe\",\r\n \"VLIEGUREN_MAKEN\": \"syntaxe\",\r\n \"VOLGAARNE\": \"syntaxe\",\r\n \"VOLGTIJDELIJK\": \"syntaxe\",\r\n \"VOORAFGAAND_AAN\": \"syntaxe\",\r\n \"VOORAFGAANDELIJK\": \"syntaxe\",\r\n \"VOORALEER\": \"syntaxe\",\r\n \"VOORALSNOG\": \"syntaxe\",\r\n \"VOORHANDEN_ZIJN\": \"syntaxe\",\r\n \"VOORHEEN\": \"syntaxe\",\r\n \"VOOR_HET_GEVAL_DAT\": \"syntaxe\",\r\n \"VOORLIGGEND\": \"syntaxe\",\r\n \"VOORMELD\": \"syntaxe\",\r\n \"VOORNEMEN\": \"syntaxe\",\r\n \"VOORNEMENS_ZIJN\": \"syntaxe\",\r\n \"VOORNOEMDE\": \"syntaxe\",\r\n \"VOORSHANDS\": \"syntaxe\",\r\n \"VOORTS\": \"syntaxe\",\r\n \"VOORWAARDEN_SCHEPPEN\": \"syntaxe\",\r\n \"VORENBEDOELDE\": \"syntaxe\",\r\n \"VORENOMSCHREVEN\": \"syntaxe\",\r\n \"VORENOVERWOGENE\": \"syntaxe\",\r\n \"VORENSTAANDE\": \"syntaxe\",\r\n \"VRAAGPUNT\": \"syntaxe\",\r\n \"VREZEN_VOOR\": \"syntaxe\",\r\n \"VRIJWEL\": \"syntaxe\",\r\n \"AL_WEER\": \"syntaxe\",\r\n \"WEDER\": \"syntaxe\",\r\n \"WEDEROM\": \"syntaxe\",\r\n \"WATERGANG\": \"syntaxe\",\r\n \"WELISWAAR\": \"syntaxe\",\r\n \"WELLICHT\": \"syntaxe\",\r\n \"WERKBAAR\": \"syntaxe\",\r\n \"WERKVOORRAAD\": \"syntaxe\",\r\n \"WESHALVE\": \"syntaxe\",\r\n \"WIJ_VERTROUWEN_EROP_U_HIERMEE_VOLDOENDE_TE_HEBBEN_GEÏNFORMEERD\": \"syntaxe\",\r\n \"WIJZE\": \"syntaxe\",\r\n \"WILLENS_EN_WETENS\": \"syntaxe\",\r\n \"WOONACHTIG_ZIJN\": \"syntaxe\",\r\n \"WOONVOORZIENING\": \"syntaxe\",\r\n \"WORTELOPDRUK\": \"syntaxe\",\r\n \"XENOFOBIE\": \"syntaxe\",\r\n \"XENOFOOB\": \"syntaxe\",\r\n \"YELL\": \"syntaxe\",\r\n \"YUP\": \"syntaxe\",\r\n \"ZELFREDZAAMHEID\": \"syntaxe\",\r\n \"ZICH_BERADEN\": \"syntaxe\",\r\n \"ZICH_VERSTAAN_MET\": \"syntaxe\",\r\n \"HOE_DIT_OOK_ZIJ\": \"syntaxe\",\r\n \"WAT_DAARVAN_ZIJ\": \"syntaxe\",\r\n \"VAN_DE_ZIJDE_VAN\": \"syntaxe\",\r\n \"ZIJDENS\": \"syntaxe\",\r\n \"ZODANIG\": \"syntaxe\",\r\n \"ZODOENDE\": \"syntaxe\",\r\n \"ZONDER_MEER\": \"syntaxe\",\r\n \"ZONDER_UITZONDERING\": \"syntaxe\",\r\n \"ZORG_DRAGEN_VOOR\": \"syntaxe\",\r\n \"ZO_SPOEDIG_MOGELIJK\": \"syntaxe\",\r\n \"ZULKS_IMPLICEERT_DERHALVE\": \"syntaxe\",\r\n \"ZWAKTEBOD\": \"syntaxe\",\r\n \"VOLGEND_VOLGENS\": \"orthographe\",\r\n \"WK\": \"orthographe\",\r\n \"VE\": \"orthographe\",\r\n \"STAM_DE_HIJ\": \"orthographe\",\r\n \"DAT_GELD\": \"orthographe\",\r\n \"PH\": \"orthographe\",\r\n \"SEMI\": \"orthographe\",\r\n \"EE\": \"orthographe\",\r\n \"_10X\": \"orthographe\",\r\n \"ERS\": \"orthographe\",\r\n \"TE_WERKWOORD\": \"orthographe\",\r\n \"OH_O\": \"orthographe\",\r\n \"NL_AFGEBROKEN_WOORD\": \"orthographe\",\r\n \"QUASI_LOS\": \"orthographe\",\r\n \"CIJFERS_IN_WOORD\": \"orthographe\",\r\n \"CODERINGSFOUT\": \"orthographe\",\r\n \"_2ASSIG\": \"orthographe\",\r\n \"_9-STE\": \"orthographe\",\r\n \"_3D\": \"orthographe\",\r\n \"_3G\": \"orthographe\",\r\n \"KINDER\": \"orthographe\",\r\n \"DE_ORDENDE\": \"orthographe\",\r\n \"WOORD_MET_UNDERSCORE\": \"orthographe\",\r\n \"AAN_X_SLAG\": \"orthographe\",\r\n \"WORT\": \"orthographe\",\r\n \"HEBT_ZONDER_U_JE\": \"orthographe\",\r\n \"WORD_ZONDER_IK\": \"orthographe\",\r\n \"STAM_ZONDER_IK\": \"orthographe\",\r\n \"BETEKENT_HEEFT\": \"orthographe\",\r\n \"BETEKEND_BETEKENT\": \"orthographe\",\r\n \"NAAR_BET\": \"orthographe\",\r\n \"X-EN\": \"orthographe\",\r\n \"WEIDE_WERELD\": \"orthographe\",\r\n \"MET_ZEN_ALLEN\": \"orthographe\",\r\n \"INBED\": \"orthographe\",\r\n \"HEMEN\": \"orthographe\",\r\n \"INWATER\": \"orthographe\",\r\n \"MEERGELD\": \"orthographe\",\r\n \"PLATVORM\": \"orthographe\",\r\n \"XXXYJE\": \"orthographe\",\r\n \"A_CAPELLA\": \"orthographe\",\r\n \"A_LA_CARTE\": \"orthographe\",\r\n \"S_AVONDS\": \"orthographe\",\r\n \"ZOEVEN\": \"orthographe\",\r\n \"ZOVEEL_DAN\": \"syntaxe\",\r\n \"IN_X_MINUTEN\": \"syntaxe\",\r\n \"VAN_BETEKENIS\": \"syntaxe\",\r\n \"HEEFT_ALLES_TE_MAKEN_MET\": \"syntaxe\",\r\n \"BINNEN_NU_EN_X_MAANDEN\": \"syntaxe\",\r\n \"DUBBELE_VOORLETTER\": \"syntaxe\",\r\n \"KAN_KUN\": \"syntaxe\",\r\n \"ZAL_ZUL\": \"syntaxe\",\r\n \"MITS_TENZIJ\": \"syntaxe\",\r\n \"NIET_ON\": \"syntaxe\",\r\n \"ER_MIST\": \"syntaxe\",\r\n \"VAAG\": \"syntaxe\",\r\n \"OVERDRIJVING\": \"syntaxe\",\r\n \"OVERDRIJVING_2\": \"syntaxe\",\r\n \"OVERDRIJVING_3\": \"syntaxe\",\r\n \"TE_BED\": \"syntaxe\",\r\n \"NAAR_VERLOOP\": \"syntaxe\",\r\n \"AD_HOC_X\": \"syntaxe\",\r\n \"FRANK_EN_VRIJ\": \"syntaxe\",\r\n \"AT_REM\": \"syntaxe\",\r\n \"M\": \"syntaxe\",\r\n \"D_R\": \"syntaxe\",\r\n \"N\": \"syntaxe\",\r\n \"T2\": \"syntaxe\",\r\n \"ZN\": \"syntaxe\",\r\n \"TM\": \"syntaxe\",\r\n \"V_H\": \"syntaxe\",\r\n \"V_D\": \"syntaxe\",\r\n \"P_A\": \"syntaxe\",\r\n \"HOED_U\": \"syntaxe\",\r\n \"ALS_MIJ\": \"syntaxe\",\r\n \"ALS_HEM\": \"syntaxe\",\r\n \"AANVAART\": \"syntaxe\",\r\n \"HOUW_VAN\": \"syntaxe\",\r\n \"GROEP_DOET\": \"syntaxe\",\r\n \"GROEP_DEED\": \"syntaxe\",\r\n \"HELEBOEL_DOET\": \"syntaxe\",\r\n \"EEN_PAAR_DOET\": \"syntaxe\",\r\n \"UW_U_a\": \"syntaxe\",\r\n \"U_WIL\": \"syntaxe\",\r\n \"HOUT_JE\": \"syntaxe\",\r\n \"VERBRANDDE_DING\": \"syntaxe\",\r\n \"WE_WILDE\": \"syntaxe\",\r\n \"IK_LOOPT\": \"syntaxe\",\r\n \"LOOPT_IK\": \"syntaxe\",\r\n \"HIJ_WILT\": \"syntaxe\",\r\n \"HIJ_VIND\": \"syntaxe\",\r\n \"ZICH_INBEELD\": \"syntaxe\",\r\n \"JIJ_LOOP\": \"syntaxe\",\r\n \"HUN_HEBBEN\": \"syntaxe\",\r\n \"JIJ_BEHEERD\": \"syntaxe\",\r\n \"GIJ_LIEPT\": \"syntaxe\",\r\n \"WIJ_LOOP\": \"syntaxe\",\r\n \"AN_ZICH\": \"syntaxe\",\r\n \"SOCIAL_MEDIA_DINGES\": \"syntaxe\",\r\n \"ANTI_DINGES_DINGES\": \"syntaxe\",\r\n \"ANTI_DINGES\": \"syntaxe\",\r\n \"GFT\": \"syntaxe\",\r\n \"HANGT_ERVAN_AF\": \"syntaxe\",\r\n \"MET_ZONDER_X\": \"syntaxe\",\r\n \"LANGE_TERMIJN_X\": \"syntaxe\",\r\n \"NET_NIET\": \"syntaxe\",\r\n \"DRIE_STERREN_X\": \"syntaxe\",\r\n \"IN_GEDACHTE\": \"syntaxe\",\r\n \"TEN_OPZICHTE_VAN\": \"syntaxe\",\r\n \"KOSTE\": \"syntaxe\",\r\n \"TEN_BEHOEVE\": \"syntaxe\",\r\n \"TEN_ONRECHTE\": \"syntaxe\",\r\n \"TE_X_LASTE\": \"syntaxe\",\r\n \"PERSE\": \"syntaxe\",\r\n \"HARTE\": \"syntaxe\",\r\n \"GENE_ZIJDE\": \"syntaxe\",\r\n \"GENE\": \"syntaxe\",\r\n \"TEN_DELE\": \"syntaxe\",\r\n \"GROTEN_GETALE\": \"syntaxe\",\r\n \"KOELEN_BLOEDE\": \"syntaxe\",\r\n \"DEZER\": \"syntaxe\",\r\n \"DIER_VOEGE\": \"syntaxe\",\r\n \"TE_DEZER_GELEGENHEID\": \"syntaxe\",\r\n \"TE_BERDE\": \"syntaxe\",\r\n \"URE\": \"syntaxe\",\r\n \"ZAKE\": \"syntaxe\",\r\n \"HUIZES\": \"syntaxe\",\r\n \"GEVALLE\": \"syntaxe\",\r\n \"VOORBEDACHTEN_RADE\": \"syntaxe\",\r\n \"MACHTE\": \"syntaxe\",\r\n \"IN_SPE\": \"syntaxe\",\r\n \"NOTA_BENE\": \"syntaxe\",\r\n \"NOGAL_WIEDES\": \"syntaxe\",\r\n \"DEN_LIJVE\": \"syntaxe\",\r\n \"TYPEFOUT_UITDR\": \"syntaxe\",\r\n \"WILLENS\": \"syntaxe\",\r\n \"A_CHARGE\": \"syntaxe\",\r\n \"NA_AANLEIDING\": \"syntaxe\",\r\n \"FULL_COLOR\": \"syntaxe\",\r\n \"FOUT\": \"syntaxe\",\r\n \"COMME\": \"syntaxe\",\r\n \"AU_BAIN\": \"syntaxe\",\r\n \"TEN_TIJDEN_VAN\": \"syntaxe\",\r\n \"TEN_ALLEN_TIJDE\": \"syntaxe\",\r\n \"HAASJE_REPJE\": \"syntaxe\",\r\n \"HAAS_ALTIJD\": \"syntaxe\",\r\n \"VERIJZEN\": \"syntaxe\",\r\n \"RECHTERLIJK\": \"syntaxe\",\r\n \"NAUW_EN_OF\": \"syntaxe\",\r\n \"OVALEN\": \"syntaxe\",\r\n \"KAMT_MET\": \"syntaxe\",\r\n \"SEPSIS_SCEPSIS\": \"syntaxe\",\r\n \"GEVAARLIJK_PRESIDENT\": \"syntaxe\",\r\n \"LEIDT_TWIJFEL\": \"syntaxe\",\r\n \"BREI_BRIJ\": \"syntaxe\",\r\n \"LOSSE_LETTERS\": \"syntaxe\",\r\n \"X_KEER\": \"syntaxe\",\r\n \"ONTWARBAAR\": \"syntaxe\",\r\n \"IN_DE_LAG\": \"syntaxe\",\r\n \"AD_RANDOM\": \"syntaxe\",\r\n \"HET_ZEI_ZO\": \"syntaxe\",\r\n \"METEN_PERSEN\": \"syntaxe\",\r\n \"BAADT_NIET\": \"syntaxe\",\r\n \"BEDOENING\": \"syntaxe\",\r\n \"BEDOELING\": \"syntaxe\",\r\n \"HUISHOUDELIJK_GEWELD\": \"syntaxe\",\r\n \"CADET\": \"syntaxe\",\r\n \"KADET\": \"syntaxe\",\r\n \"BUIGEN_OP\": \"syntaxe\",\r\n \"MONOPOLIEN\": \"syntaxe\",\r\n \"SLIBBEN\": \"syntaxe\",\r\n \"WOUDEN\": \"syntaxe\",\r\n \"PEILER\": \"syntaxe\",\r\n \"VERAS\": \"syntaxe\",\r\n \"VERKEERD_IN_STAAT\": \"syntaxe\",\r\n \"DE_18_DE\": \"syntaxe\",\r\n \"VOORWAARDEN\": \"syntaxe\",\r\n \"FOUTE_WOORDGROEPEN\": \"syntaxe\",\r\n \"VANDAAG_AAN_DE_DAG\": \"syntaxe\",\r\n \"TEVERGEEFSE\": \"syntaxe\",\r\n \"PROF_DR\": \"syntaxe\",\r\n \"PLAATSINGSBUREAU\": \"syntaxe\",\r\n \"NIET_DAN_NADAT\": \"syntaxe\",\r\n \"ALS_IK_JIJ_WAS\": \"syntaxe\",\r\n \"IN_EN_EXPORT\": \"syntaxe\",\r\n \"VTD_GEWORDEN\": \"syntaxe\",\r\n \"GEEN_DE_MINSTE\": \"syntaxe\",\r\n \"AANHEF1\": \"syntaxe\",\r\n \"AANHEF2\": \"syntaxe\",\r\n \"ONTKEN_2\": \"syntaxe\",\r\n \"ONTKEN_3\": \"syntaxe\",\r\n \"IETS_DAT\": \"syntaxe\",\r\n \"VERLUID\": \"syntaxe\",\r\n \"VERVANG_VOOR\": \"syntaxe\",\r\n \"WERKZAAMHEID\": \"syntaxe\",\r\n \"UW_BEIDER_BELANG\": \"syntaxe\",\r\n \"DRAAGT_VERANTWOORDING\": \"syntaxe\",\r\n \"NB\": \"syntaxe\",\r\n \"PS\": \"syntaxe\",\r\n \"LEGER_DES_HEILS\": \"syntaxe\",\r\n \"EENS_NOOIT_MEER\": \"syntaxe\",\r\n \"TER_BESTEMDER_PLAATSE\": \"syntaxe\",\r\n \"TER_BESTEMDER_TIJD\": \"syntaxe\",\r\n \"TER_AANGEHAALDER_PLAATSE\": \"syntaxe\",\r\n \"TER_ZELFDER\": \"syntaxe\",\r\n \"TER_JUISTER\": \"syntaxe\",\r\n \"TER_PLEKKE\": \"syntaxe\",\r\n \"LIJVE\": \"syntaxe\",\r\n \"HUNNENT_1\": \"syntaxe\",\r\n \"BATE\": \"syntaxe\",\r\n \"GERUCHTE\": \"syntaxe\",\r\n \"BIJ_MACHTE\": \"syntaxe\",\r\n \"URE_1\": \"syntaxe\",\r\n \"EENRE_2\": \"syntaxe\",\r\n \"WIJLE_1\": \"syntaxe\",\r\n \"MONDE\": \"syntaxe\",\r\n \"EIGENER_1\": \"syntaxe\",\r\n \"DES\": \"syntaxe\",\r\n \"SPAAR_DER\": \"syntaxe\",\r\n \"DER\": \"syntaxe\",\r\n \"STAM_DEN\": \"syntaxe\",\r\n \"DEN\": \"syntaxe\",\r\n \"HAARS\": \"syntaxe\",\r\n \"HARER\": \"syntaxe\",\r\n \"JOUWEN\": \"syntaxe\",\r\n \"GEBREKE\": \"syntaxe\",\r\n \"LANGEN\": \"syntaxe\",\r\n \"TE_DIEN_AANZIEN\": \"syntaxe\",\r\n \"DEN_GEKKEN\": \"syntaxe\",\r\n \"RADARWERK\": \"syntaxe\",\r\n \"NEFAST\": \"syntaxe\",\r\n \"KOMMA_VIND_IK\": \"syntaxe\",\r\n \"KOMMA_HOOR\": \"syntaxe\",\r\n \"EN_EN_EN\": \"syntaxe\",\r\n \"APPELTJE_EITJE\": \"syntaxe\",\r\n \"_2_ONDER_1_KAP\": \"syntaxe\",\r\n \"HUIS_AAN_HUIS\": \"syntaxe\",\r\n \"HUIS_TUIN_EN_KEUKEN\": \"syntaxe\",\r\n \"AAN-EN-UIT-RELATIE\": \"syntaxe\",\r\n \"ADVOCAAT-VAN-DE-DUIVEL-ROL\": \"syntaxe\",\r\n \"ALLEEN-OP-DE-WERELD-GEVOEL\": \"syntaxe\",\r\n \"ALLES-OF-NIETS-POGING\": \"syntaxe\",\r\n \"BAAS-BOVEN-BAAS-PRINCIPE\": \"syntaxe\",\r\n \"BAAS-IN-EIGEN-BUIK-DEMONSTRATIE\": \"syntaxe\",\r\n \"BENEN-OP-TAFEL-OVERLEG\": \"syntaxe\",\r\n \"DAG-NA-DAG-BESCHRIJVING\": \"syntaxe\",\r\n \"DERTIEN-IN-EEN-DOZIJN-FILM\": \"syntaxe\",\r\n \"FACE-TO-FACE-ONDERWIJS\": \"syntaxe\",\r\n \"GELD-TERUG-BIJ-VERTRAGING-ACTIE\": \"syntaxe\",\r\n \"GLAS-IN-LOOD-RAAM\": \"syntaxe\",\r\n \"HALF-OM-HALF-GEHAKT\": \"syntaxe\",\r\n \"HARD-TEGEN-HARD-DISCUSSIE\": \"syntaxe\",\r\n \"HEET-VAN-DE-NAALD-VERSLAG\": \"syntaxe\",\r\n \"HUIS-IN-HUIS-CONSTRUCTIE\": \"syntaxe\",\r\n \"KOP-OF-MUNT-BESLISSING\": \"syntaxe\",\r\n \"LIJF-AAN-LIJF-GEVECHT\": \"syntaxe\",\r\n \"LIK-OP-STUK-BELEID\": \"syntaxe\",\r\n \"MAMA-EN-PAPA-LENING\": \"syntaxe\",\r\n \"MANNEN-ONDER-ELKAAR-HUMOR\": \"syntaxe\",\r\n \"MAN-TEGEN-MAN-GEVECHT\": \"syntaxe\",\r\n \"MOND-OP-MOND-BEADEMING\": \"syntaxe\",\r\n \"MOND-OP-MOND-RECLAME\": \"syntaxe\",\r\n \"MOND-TOT-MOND-RECLAME\": \"syntaxe\",\r\n \"NEGEN-TOT-VIJF-MENTALITEIT\": \"syntaxe\",\r\n \"NEK-AAN-NEK-RACE\": \"syntaxe\",\r\n \"OPA-EN-OMA-REGELING\": \"syntaxe\",\r\n \"OVER-MIJN-LIJK-MENTALITEIT\": \"syntaxe\",\r\n \"PAPA-EN-MAMA-HUIS\": \"syntaxe\",\r\n \"RIJST-MET-KRENTEN-HOND\": \"syntaxe\",\r\n \"ROND-DE-TAFEL-COACHING\": \"syntaxe\",\r\n \"ROND-DE-WERELD-TICKET\": \"syntaxe\",\r\n \"STAP-VOOR-STAP-PLAN\": \"syntaxe\",\r\n \"TUSSEN-DE-OREN-ZIEKTE\": \"syntaxe\",\r\n \"VAN-NEGEN-TOT-VIJF-TYPE\": \"syntaxe\",\r\n \"VER-VAN-MIJN-BED-SHOW\": \"syntaxe\",\r\n \"VOET-BIJ-STUK-BELEID\": \"syntaxe\",\r\n \"VRAAG-EN-ANTWOORD-SPEL\": \"syntaxe\",\r\n \"VROUWEN-ONDER-ELKAAR-HUMOR\": \"syntaxe\",\r\n \"GOOI-EN-SMIJT-WERK\": \"syntaxe\",\r\n \"HANG-EN-SLUIT-WERK\": \"syntaxe\",\r\n \"HANS-EN-GRIETJE-HUIS\": \"syntaxe\",\r\n \"JEU-DE-BOULES-BAAN\": \"syntaxe\",\r\n \"JIP-EN-JANNEKE-TAAL\": \"syntaxe\",\r\n \"KAT-EN-MUIS-SPEL\": \"syntaxe\",\r\n \"KIP-OF-EI-VRAAG\": \"syntaxe\",\r\n \"LACH-OF-IK-SCHIET-SHOW\": \"syntaxe\",\r\n \"MOND-EN-KLAUW-ZEER\": \"syntaxe\",\r\n \"NORMEN-EN-WAARDEN-DEBAT\": \"syntaxe\",\r\n \"OT-EN-SIEN-KLEDING\": \"syntaxe\",\r\n \"PEPER-EN-ZOUTCOMBINATIE\": \"syntaxe\",\r\n \"PEPER-EN-ZOUT-STEL\": \"syntaxe\",\r\n \"POEP-EN-PIES-HUMOR\": \"syntaxe\",\r\n \"WELLES-NIETES-SPEL\": \"syntaxe\",\r\n \"BRANDEND_SCHOON\": \"syntaxe\",\r\n \"VERSE_GROETEN\": \"syntaxe\",\r\n \"EEN_AANTAL_KEER\": \"syntaxe\",\r\n \"ALLE_DRIE_WINNAARS\": \"syntaxe\",\r\n \"X_EEUWSE\": \"syntaxe\",\r\n \"DIT_BETEKEND_DAT\": \"syntaxe\",\r\n \"GROOTTE_VAN_ORDE\": \"syntaxe\",\r\n \"TAAK_IS_VOLDAAN\": \"syntaxe\",\r\n \"AMPEL_AMPER_a\": \"syntaxe\",\r\n \"GAAT_TE_PAARD_MET\": \"syntaxe\",\r\n \"NOG_EENDJE\": \"syntaxe\",\r\n \"EEN_AFDOENDE_ANTWOORD\": \"syntaxe\",\r\n \"ME_TEEN\": \"syntaxe\",\r\n \"WEER_ZIN\": \"syntaxe\",\r\n \"DE_MAXIMUM\": \"syntaxe\",\r\n \"DAR\": \"syntaxe\",\r\n \"ONDANKS_HET_FEIT_DAT\": \"syntaxe\",\r\n \"SCHERPST_VAN_DE_SNEDE\": \"syntaxe\",\r\n \"SCHRIL_CONTRACT\": \"syntaxe\",\r\n \"MAND_GELDIG\": \"syntaxe\",\r\n \"KASSA_RINKELT\": \"syntaxe\",\r\n \"ROLLS\": \"syntaxe\",\r\n \"HOBBY\": \"syntaxe\",\r\n \"SCHANDPAAL\": \"syntaxe\",\r\n \"SPOOR_BIJSTER\": \"syntaxe\",\r\n \"STOELEN_BANKEN\": \"syntaxe\",\r\n \"OPEN_VIZIER\": \"syntaxe\",\r\n \"BADWATER\": \"syntaxe\",\r\n \"BITTERE_PIL\": \"syntaxe\",\r\n \"BIERKAAI\": \"syntaxe\",\r\n \"ROER_OMGOOIEN\": \"syntaxe\",\r\n \"BAKENS_VERZETTEN\": \"syntaxe\",\r\n \"LACHSPIEREN\": \"syntaxe\",\r\n \"DAAD_BIJ_WOORD\": \"syntaxe\",\r\n \"KNUPPEL_HOENDERHOK\": \"syntaxe\",\r\n \"INKT_DROOG\": \"syntaxe\",\r\n \"_5_VOOR_12\": \"syntaxe\",\r\n \"UIT_DE_MOUW\": \"syntaxe\",\r\n \"AAN_ZIJN_JAS_TREKKEN\": \"syntaxe\",\r\n \"ZURE_APPEL\": \"syntaxe\",\r\n \"MOSTERD_MAALTIJD\": \"syntaxe\",\r\n \"DRUIVEN_ZUUR\": \"syntaxe\",\r\n \"TIEN_TEGEN_EEN\": \"syntaxe\",\r\n \"VOET_SCHIETEN\": \"syntaxe\",\r\n \"STEEN_BIJDRAGEN\": \"syntaxe\",\r\n \"VINKENTOUW\": \"syntaxe\",\r\n \"MELK_BROKKELEN\": \"syntaxe\",\r\n \"ONDERSTE_KAN\": \"syntaxe\",\r\n \"KOGEL_KERK\": \"syntaxe\",\r\n \"STEKKER_ER_UIT\": \"syntaxe\",\r\n \"PADDENSTOELEN\": \"syntaxe\",\r\n \"VINGER_AAN_DE_POLS\": \"syntaxe\",\r\n \"UIT_DE_GROND_STAMPEN\": \"syntaxe\",\r\n \"OP_DE_KAART\": \"syntaxe\",\r\n \"DE_KOEK_IS_OP\": \"syntaxe\",\r\n \"MAAT_VOL\": \"syntaxe\",\r\n \"BIEZEN_PAKKEN\": \"syntaxe\",\r\n \"NEUZEN_KANT\": \"syntaxe\",\r\n \"DE_KLOKKEN_GELIJK\": \"syntaxe\",\r\n \"GEMOEDEREN_BEZIG\": \"syntaxe\",\r\n \"ZONDER_SLAG_OF_STOOT\": \"syntaxe\",\r\n \"IN_DE_RIJ\": \"syntaxe\",\r\n \"IN_DE_KINDERSCHOENEN\": \"syntaxe\",\r\n \"OM_ZICH_HEEN\": \"syntaxe\",\r\n \"IN_DE_BAN_VAN\": \"syntaxe\",\r\n \"ONDERSTE_STEEN\": \"syntaxe\",\r\n \"GROEN_LICHT\": \"syntaxe\",\r\n \"HANDDOEK_RING\": \"syntaxe\",\r\n \"VELD_RUIMEN\": \"syntaxe\",\r\n \"STALEN_ZENUWEN\": \"syntaxe\",\r\n \"OP_GLAD_IJS\": \"syntaxe\",\r\n \"DOOR_HET_STOF_a\": \"syntaxe\",\r\n \"SCHOUDERS_ERONDER\": \"syntaxe\",\r\n \"BREVET_ONVERMOGEN\": \"syntaxe\",\r\n \"LAATSTE_STUIP\": \"syntaxe\",\r\n \"HOGE_POTEN\": \"syntaxe\",\r\n \"ACHTERSTE_BENEN\": \"syntaxe\",\r\n \"TIERELIER\": \"syntaxe\",\r\n \"GEVOELIGE_SNAAR\": \"syntaxe\",\r\n \"SLEPEN_RECHTER\": \"syntaxe\",\r\n \"HANDEN_EN_VOETEN\": \"syntaxe\",\r\n \"GROEIEN_ALS_KOOL\": \"syntaxe\",\r\n \"SCHRIL_CONTRAST\": \"syntaxe\",\r\n \"DOLK_IN_DE_RUG\": \"syntaxe\",\r\n \"TIK_OP_DE_VINGERS\": \"syntaxe\",\r\n \"HAND_OP_DE_KNIP\": \"syntaxe\",\r\n \"ALLE_ZEILEN\": \"syntaxe\",\r\n \"WIND_RUG\": \"syntaxe\",\r\n \"SLEUTEL_TOT_SUCCES\": \"syntaxe\",\r\n \"SNEEUW_VOOR_DE_ZON\": \"syntaxe\",\r\n \"DONKERE_WOLKEN\": \"syntaxe\",\r\n \"DE_NOODKLOK\": \"syntaxe\",\r\n \"DOORN_OOG\": \"syntaxe\",\r\n \"HOLLANDS_GLORIE\": \"syntaxe\",\r\n \"VLUCHTHAVEN\": \"syntaxe\",\r\n \"POSTALE_DEPRESSIE\": \"syntaxe\",\r\n \"VISUELE_CIRKEL\": \"syntaxe\",\r\n \"FINALE_PLEITING\": \"syntaxe\",\r\n \"LASTIG_PAKKET\": \"syntaxe\",\r\n \"SURVEILLANCE_VAN_BETALING\": \"syntaxe\",\r\n \"ZAAK_AANHANKELIJK\": \"syntaxe\",\r\n \"EIS_EN_WEDER_DIENENDE\": \"syntaxe\",\r\n \"JAARGETAL\": \"syntaxe\",\r\n \"LIBER_AMORICUM\": \"syntaxe\",\r\n \"VACCINEREND\": \"syntaxe\",\r\n \"MOMENT_SUBLIEM\": \"syntaxe\",\r\n \"EPISCH_CENTRUM\": \"syntaxe\",\r\n \"HEET_GEBLAKERD\": \"syntaxe\",\r\n \"DRAADKRACHT\": \"syntaxe\",\r\n \"EXTRA_DEMENTIE\": \"syntaxe\",\r\n \"TERMINALE_BADEN\": \"syntaxe\",\r\n \"MEDIA_MAAND\": \"syntaxe\",\r\n \"VOL_PENSIOEN\": \"syntaxe\",\r\n \"BOVEN_HET_MAISVELD\": \"syntaxe\",\r\n \"SO_WIE_SO\": \"syntaxe\",\r\n \"PUBERTIJD\": \"syntaxe\",\r\n \"CHAMPIGNONS_LEAGUE\": \"syntaxe\",\r\n \"BEGAANDE_GROND\": \"syntaxe\",\r\n \"AANGEDAAN_WORDT\": \"syntaxe\",\r\n \"ONTROEREND_GOED\": \"syntaxe\",\r\n \"OP_DE_KEEPER_BESCHOUWD\": \"syntaxe\",\r\n \"WENDT_OF_KEERT\": \"syntaxe\",\r\n \"INVALIDE_TOILET\": \"syntaxe\",\r\n \"EEN_SOORT_VAN_JAMMER\": \"syntaxe\",\r\n \"HEUR_HAAR\": \"syntaxe\",\r\n \"DUBBEL_WOORD\": \"syntaxe\",\r\n \"VAN_VAN\": \"syntaxe\",\r\n \"DE_HET\": \"syntaxe\",\r\n \"JOU_JOUW\": \"syntaxe\",\r\n \"SPATIE_LEESTEKEN\": \"typographie\",\r\n \"GEDACHTESTREEPJE\": \"typographie\",\r\n \"STREEPJE_TUSSEN_SPATIES_WEGLATING\": \"typographie\",\r\n \"_2_LEESTEKENS\": \"typographie\",\r\n \"_2_AANH_A\": \"typographie\",\r\n \"KOMMA_AANH\": \"typographie\",\r\n \"PNT_PNT_PNT\": \"typographie\",\r\n \"BACKTICK\": \"typographie\",\r\n \"_2_AANH_B\": \"typographie\",\r\n \"KOMMA_KOMMA\": \"typographie\",\r\n \"SEKSE_VOLGORDE\": \"syntaxe\",\r\n \"VROUWELIJK_FUNCTIE\": \"syntaxe\",\r\n \"DE_HIJ\": \"syntaxe\",\r\n \"DE_MAX\": \"syntaxe\",\r\n \"DE_LEESTEKEN\": \"syntaxe\",\r\n \"DE_LIGT_ONTVLAMBARE\": \"syntaxe\",\r\n \"DE_WKW_DE\": \"syntaxe\",\r\n \"DE_WKW\": \"syntaxe\",\r\n \"DE_3EP\": \"syntaxe\",\r\n \"DE_LELIJKS_TE\": \"syntaxe\",\r\n \"DE_LELIJKS\": \"syntaxe\",\r\n \"SPATIEFOUT_HET_DE\": \"syntaxe\",\r\n \"SPATIEFOUT_HEIDS\": \"syntaxe\",\r\n \"DE_ONVERWACHT\": \"syntaxe\",\r\n \"OP_ZIJN_ZACHTS\": \"syntaxe\",\r\n \"EEN_VAN_DE_MAN\": \"syntaxe\",\r\n \"LAATS\": \"syntaxe\",\r\n \"IETS_KLEINS\": \"syntaxe\",\r\n \"GRAND_PRIX\": \"syntaxe\",\r\n \"_24_UURS\": \"syntaxe\",\r\n \"ME_MOETEN\": \"syntaxe\",\r\n \"VERHUISD_HIJ\": \"syntaxe\",\r\n \"BEHOUD_ZICH\": \"syntaxe\",\r\n \"NUM_PONT\": \"syntaxe\",\r\n \"DAT_IK_HOUD_NIET_VAN\": \"syntaxe\",\r\n \"LAGER_TOV\": \"syntaxe\",\r\n \"RONDT_UUR\": \"syntaxe\",\r\n \"COPY_PASTE\": \"syntaxe\",\r\n \"COPY\": \"syntaxe\",\r\n \"TOD\": \"syntaxe\",\r\n \"HIJ_ZIJ\": \"syntaxe\",\r\n \"ZIJN_HAAR\": \"syntaxe\",\r\n \"PAT\": \"syntaxe\",\r\n \"DEZE_WASMIDDEL\": \"syntaxe\",\r\n \"LICHT_AMANDELGEUR\": \"syntaxe\",\r\n \"ZIEKTE_IN_MENSEN\": \"syntaxe\",\r\n \"ZEER_GROTERE\": \"syntaxe\",\r\n \"_4_TOKENS_001\": \"syntaxe\",\r\n \"_4_TOKENS_002\": \"syntaxe\",\r\n \"_4_TOKENS_003\": \"syntaxe\",\r\n \"_4_TOKENS_004\": \"syntaxe\",\r\n \"_4_TOKENS_005\": \"syntaxe\",\r\n \"_4_TOKENS_006\": \"syntaxe\",\r\n \"_4_TOKENS_007\": \"syntaxe\",\r\n \"_4_TOKENS_008\": \"syntaxe\",\r\n \"_4_TOKENS_009\": \"syntaxe\",\r\n \"_5_TOKENS_001\": \"syntaxe\",\r\n \"_6_TOKENS_001\": \"syntaxe\",\r\n \"FULL_SENTENCE_001\": \"syntaxe\",\r\n \"PART_SENTENCE_001\": \"syntaxe\",\r\n \"PART_SENTENCE_002\": \"syntaxe\",\r\n \"IDD\": \"syntaxe\",\r\n \"KRUID_VERSCHIETEN\": \"syntaxe\",\r\n \"ENZO\": \"syntaxe\",\r\n \"OFZOIETS\": \"syntaxe\",\r\n \"OFZO\": \"syntaxe\",\r\n \"I_HAD\": \"syntaxe\",\r\n \"ZOGAUW\": \"syntaxe\",\r\n \"MAARJA\": \"syntaxe\",\r\n \"FF\": \"syntaxe\",\r\n \"DANKJE\": \"syntaxe\",\r\n \"ZODADELIJK\": \"syntaxe\",\r\n \"VD\": \"syntaxe\",\r\n \"DA_Q_S\": \"syntaxe\",\r\n \"NB_2\": \"syntaxe\",\r\n \"AFKO_VOLUIT\": \"syntaxe\",\r\n \"AFKO_ONJUIST\": \"syntaxe\",\r\n \"AFKO_PUNTEN\": \"syntaxe\",\r\n \"LS_IS\": \"syntaxe\",\r\n \"DOET-IE\": \"syntaxe\",\r\n \"ONS_BEIDE\": \"syntaxe\"\r\n}","\r\nexport default {\r\n \"1.1\"\t: \"Mot inconnu\",\r\n \"1.2\"\t: \"Mot inconnu, suggestion de remplacement automatique\",\r\n \"1.3\"\t: \"Mot inconnu, aucune suggestion de remplacement\",\r\n \"1.4\"\t: \"Orthographe erronnée selon les règles de l'orthographe traditionnelle\",\r\n \"1.5\"\t: \"Orthographe erronnée selon les règles de l'orthographe rectifiée\",\r\n \"1.6\"\t: \"En orthographe rectifiée, le participe reste toujours invariable lorsqu'il est suivi d'un infinitif\",\r\n \"1.7\"\t: \"Utilisation erronnée du trait d'union dans les nombres en orthographe traditionnelle\",\r\n \"1.8\"\t: \"En orthographe rectifiée, les nombres sont toujours reliés par des traits d'union\",\r\n \"8.1\"\t: \"Mot figurant en double dans le texte\",\r\n \"9.1\"\t: \"L'abréviation d'un nombre qui sert à  exprimer l'ordre s'écrit sur le modèle 1er, 1re, 2e, 3e\",\r\n \"9.2\"\t: \"L'abréviation d'un nombre qui sert à exprimer l'ordre s'écrit sur le modèle Ier, Ire, IIe, IIIe\",\r\n \"9.3\"\t: \"Un prénom de souverain ou de pape est suivi par des chiffres romains\",\r\n \"9.4\"\t: \"Les siècles, les millénaires et les années du calendrier républicain sont suivis par des chiffres romains\",\r\n \"9.5\"\t: \"Le mot composé s'écrit en principe sans trait d'union\",\r\n \"9.6\"\t: \"Le mot composé s'écrit en principe avec un trait d'union après le préfixe\",\r\n \"9.7\"\t: \"L' apposition à trois termes se lie par un trait d'union\",\r\n \"9.8\"\t: \"L'apposition à termes opposés se lie par un trait d'union\",\r\n \"9.9\"\t: \"Apposition comportant un trait d'union\",\r\n \"9.10\"\t: \"Apposition ne comportant pas de trait d'union\",\r\n \"9.11\"\t: \"L'pposition ne devrait pas être liée par un trait d'union\",\r\n \"9.12\"\t: \"L' apposition devrait être liée par un trait d'union\",\r\n \"9.13\"\t: \"Ligature interdite selon votre paramétrage\",\r\n \"9.14\"\t: \"Ligature obligatoire selon votre paramétrage\",\r\n \"9.15\"\t: \"Les chiffres romains s'écrivent habituellement en majuscules\",\r\n \"9.16\"\t: \"Selon votre paramétrage, le mot anglais doit vous être signalé\",\r\n \"9.17\"\t: \"Selon votre paramétrage, le mot allemand doit vous être signalé\",\r\n \"9.18\"\t: \"Selon votre paramétrage, le mot espagnol doit vous être signalé\",\r\n \"9.19\"\t: \"Selon votre paramétrage, le mot italien doit vous être signalé\",\r\n \"9.20\"\t: \"Selon votre paramétrage, le mot portugais doit vous être signalé\",\r\n \"9.21\"\t: \"Préférez les chiffres romains pour les numéros d'ordre de régime politique, des grandes assemblées, les dynasties et les conciles\",\r\n \"9.22\"\t: \"Préférez les chiffres romains pour les divisions et subdivisions d'un ouvrage\",\r\n \"9.23\"\t: \"Préférez les chiffres romains pour les numéros d'arrondissements des grandes villes et des universités françaises\",\r\n \"9.24\"\t: \"Préférez les chiffres romains pour le numéro d'ordre d'une manifestation (scientifique, sportive, religieuse...)\",\r\n \"9.25\"\t: \"Selon votre paramétrage, le mot étranger doit vous être signalé\",\r\n \"9.26\"\t: \"Le prénom du personnage portant ce nom de famille n'est pas celui employé,\",\r\n \"9.27\"\t: \"Cette phrase contient beaucoup de mots inconnus\",\r\n \"11.1\"\t: \"En début de phrase, la capitale est obligatoire\",\r\n \"11.2\"\t: \"Pour un nom propre, la capitale est obligatoire\",\r\n \"11.3\"\t: \"Pour le mot employé, la capitale est inhabituelle\",\r\n \"11.4\"\t: \"Les noms de mois s'écrivent sans capitale\",\r\n \"11.5\"\t: \"Les noms de jours de la semaine s'écrivent sans capitale\",\r\n \"11.6\"\t: \"Les noms de fêtes s'écrivent avec capitale\",\r\n \"11.7\"\t: \"Pour le possessif précédant un titre, une capitale est recommandée\",\r\n \"11.8\"\t: \"Pour une particule de noblesse, la capitale est déconseillée\",\r\n \"11.9\"\t: \"Le titre honorifique non précédé d'un possessif ne prend pas de capitale\",\r\n \"11.10\"\t: \"Précédé d'un possessif, le titre honorifique prend une capitale\",\r\n \"11.11\"\t: \"dans le contexte donné, le titre de politesse reste en minuscules\",\r\n \"11.12\"\t: \"dans le contexte donné, le titre de politesse prend une capitale\",\r\n \"11.13\"\t: \"dans le contexte donné, le nom d'institution ne prend pas de capitale\",\r\n \"11.14\"\t: \"dans le contexte donné, le nom d'institution prend une capitale\",\r\n \"11.15\"\t: \"Suivi d'un adjectif, le type de nom géographique prend une minuscule\",\r\n \"11.16\"\t: \"dans le contexte donné, le nom prend une capitale\",\r\n \"11.17\"\t: \"L'adjectif reste en minuscules après «bassin»,\",\r\n \"11.18\"\t: \"Le mot ne prend pas de capitale dans le contexte donné\",\r\n \"11.19\"\t: \"Devant ministre, premier prend une capitale de déférence\",\r\n \"11.20\"\t: \"Le titre ne prend la majuscule que lorsqu'on désire marquer un grand respect\",\r\n \"11.21\"\t: \"Précédé d'un titre de politesse, le titre prend d'habitude une capitale\",\r\n \"11.22\"\t: \"Utilisé comme nom de style, le mot prend une capitale\",\r\n \"11.23\"\t: \"L'adjectif prend une capitale dans le contexte\",\r\n \"11.24\"\t: \"Le mot prend une capitale après le mot «saint»\",\r\n \"11.25\"\t: \"Le mot doit être relié par un trait d'union à «saint»\",\r\n \"11.26\"\t: \"Le mot saint ne prend pas de capitale dans le contexte\",\r\n \"11.27\"\t: \"Le mot saint prend une capitale dans le contexte\",\r\n \"11.28\"\t: \"Selon votre paramétrage, une capitale est nécessaire dans une énumération\",\r\n \"11.29\"\t: \"Selon votre paramétrage, une capitale est nécessaire pour les marques déposées\",\r\n \"12.1\"\t: \"Un trait d'union est nécessaire\",\r\n \"12.2\"\t: \"Un trait d'union semble nécessaire\",\r\n \"12.3\"\t: \"Un trait d'union est nécessaire entre le verbe et le pronom qui suit\",\r\n \"12.4\"\t: \"Le prénom composé doit être relié par un trait d'union\",\r\n \"12.5\"\t: \"Le nom propre humain doit être relié au mot suivant par un trait d'union\",\r\n \"12.6\"\t: \"Le nom propre doit être relié au mot suivant par un trait d'union\",\r\n \"12.7\"\t: \"Pour une apposition, utilisez un trait d'union plutôt qu'une barre oblique\",\r\n \"13.1\"\t: \"Votre paramétrage impose des points abréviatifs dans les sigles\",\r\n \"13.2\"\t: \"Votre paramétrage impose des majuscules dans les sigles\",\r\n \"15.1\"\t: \"Après la virgule, un espace est nécessaire\",\r\n \"15.2\"\t: \"Avant la parenthèse ouverte, un espace est nécessaire\",\r\n \"15.3\"\t: \"Après la parenthèse fermée, un espace est nécessaire\",\r\n \"15.4\"\t: \"Avant le crochet ouvert, un espace est nécessaire\",\r\n \"15.5\"\t: \"Après le crochet fermé, un espace est nécessaire\",\r\n \"15.6\"\t: \"Avant l'accolade ouverte, un espace est nécessaire\",\r\n \"15.7\"\t: \"Après l'accolade fermée, un espace est nécessaire\",\r\n \"15.8\"\t: \"Après les guillemets ouvrants, un espace est nécessaire\",\r\n \"15.9\"\t: \"Avant les guillemets fermants, un espace est nécessaire\",\r\n \"15.10\"\t: \"Avant les guillemets ou le pourcentage, un espace est nécessaire\",\r\n \"15.11\"\t: \"Espace superflu avant le guillemet ou le pourcentage\",\r\n \"15.12\"\t: \"Avant les deux-points, selon votre paramétrage, un espace est nécessaire\",\r\n \"15.13\"\t: \"Après les deux-points, un espace est nécessaire\",\r\n \"15.14\"\t: \"Avant le point-virgule, selon votre paramétrage, un espace est nécessaire\",\r\n \"15.15\"\t: \"Après le point-virgule, un espace est nécessaire\",\r\n \"15.16\"\t: \"Avant le point d'exclamation, selon votre paramétrage, un espace est nécessaire\",\r\n \"15.17\"\t: \"Après le point d'exclamation, un espace est nécessaire\",\r\n \"15.18\"\t: \"Avant le point d'interrogation, selon votre paramétrage, un espace est nécessaire\",\r\n \"15.19\"\t: \"Après le point d'interrogation, un espace est nécessaire\",\r\n \"15.20\"\t: \"Après la ponctuation finale, un espace est nécessaire\",\r\n \"16.1\"\t: \"Espace superflu avant l'apostrophe ou le trait d'union\",\r\n \"16.2\"\t: \"Espace superflu après l'apostrophe ou le trait d'union\",\r\n \"16.3\"\t: \"Présence de plusieurs espaces successifs après le mot\",\r\n \"16.4\"\t: \"Selon votre paramétrage, la tabulation est remplacée par un espace\",\r\n \"16.5\"\t: \"Présence de plusieurs espaces avant la ponctuation\",\r\n \"16.6\"\t: \"Présence de plusieurs espaces après la ponctuation\",\r\n \"16.7\"\t: \"Espace superflu avant la virgule\",\r\n \"16.8\"\t: \"Espace superflu après la parenthèse ouverte\",\r\n \"16.9\"\t: \"Espace superflu avant la parenthèse fermée\",\r\n \"16.10\"\t: \"Espace superflu après le crochet ou l'accolade ouverte\",\r\n \"16.11\"\t: \"Espace superflu\",\r\n \"16.12\"\t: \"Espace superflu après le guillemet ouvrant\",\r\n \"16.13\"\t: \"Espace superflu avant le guillemet fermant\",\r\n \"16.14\"\t: \"Espace superflu, selon votre paramétrage, avant la ponctuation\",\r\n \"18.1\"\t: \"Une parenthèse a été ouverte dans la phrase et non refermée\",\r\n \"18.2\"\t: \"Un crochet a été ouvert dans la phrase et non refermé\",\r\n \"18.3\"\t: \"Une accolade a été ouverte dans la phrase et non refermée\",\r\n \"18.4\"\t: \"Utilisez des guillemets plutôt que des apostrophes\",\r\n \"18.5\"\t: \"Mieux vaut éviter d'ouvrir des parenthèses dans les parenthèses\",\r\n \"19.1\"\t: \"Les points de suspension de convenanle vont par trois\",\r\n \"19.2\"\t: \"Les astérisques de politesse vont par trois\",\r\n \"19.3\"\t: \"Utilisez plutôt un guillemet qu'une double apostrophe\",\r\n \"19.4\"\t: \"L'abréviation de Monsieur est en principe M.\",\r\n \"19.5\"\t: \"S'agit-il d'astérisques de discrétion ?\",\r\n \"19.6\"\t: \"S'agit-il de points de suspension de convenanle ?\",\r\n \"19.7\"\t: \"L'apostrophe après des chiffres est refusée par paramétrage\",\r\n \"19.8\"\t: \"Le format de date est contraire au paramétrage\",\r\n \"19.9\"\t: \"Il est d'usage d'éviter le 0 dans un format de date\",\r\n \"19.10\"\t: \"Le format de date est américain\",\r\n \"19.11\"\t: \"Il ne peut y avoir de jour 0 dans une date\",\r\n \"19.12\"\t: \"Le jour n'existe pas pour le mois\",\r\n \"19.13\"\t: \"En février de la année-là, il n'y a que 28 jours\",\r\n \"19.14\"\t: \"Il ne peut y avoir de mois 0 dans une date\",\r\n \"19.15\"\t: \"Il n'y a que douze mois dans l'année\",\r\n \"19.16\"\t: \"Le séparateur décimal est contraire au paramétrage\",\r\n \"19.17\"\t: \"Présence de plusieurs espaces inutiles dans une abréviation\",\r\n \"19.18\"\t: \"Un point final doit figurer en fin de phrase\",\r\n \"19.19\"\t: \"Un séparateur doit figurer en fin de membre d'énumération\",\r\n \"19.20\"\t: \"Accentuation de la capitale en début de mot\",\r\n \"19.21\"\t: \"Le mot etc. ne doit pas être suivi de points de suspension\",\r\n \"19.22\"\t: \"Le mot etc doit être précédé d'une virgule\",\r\n \"19.23\"\t: \"Les points de suspension vont par trois\",\r\n \"19.24\"\t: \"Après un point-virgule, la capitale est inhabituelle\",\r\n \"19.25\"\t: \"Après un deux-points, la capitale est inhabituelle\",\r\n \"19.26\"\t: \"Phrase longue\",\r\n \"19.27\"\t: \"Conversion d'âge en lettres\",\r\n \"19.28\"\t: \"Une apostrophe doit suivre le mot\",\r\n \"19.29\"\t: \"Une abréviation s'écrit avec un point\",\r\n \"19.30\"\t: \"L'abréviation de francs s'écrit simplement F\",\r\n \"19.31\"\t: \"Ponctuation inutile\",\r\n \"19.32\"\t: \"Confusion entre la lettre «O» et le chiffre «0»\",\r\n \"19.33\"\t: \"Les trois points sont remplacés par le caractère '...'\",\r\n \"19.34\"\t: \"L'apostrophe droite est remplacée par l'apostrophe typographique\",\r\n \"19.35\"\t: \"Le trait d'union est remplacé un tiret demi-cadratin\",\r\n \"19.36\"\t: \"La ponctuation se plale après la parenthèse ou le crochet\",\r\n \"19.37\"\t: \"Evitez les doubles ponctuations\",\r\n \"19.38\"\t: \"Nombre de points de suspension trop élevé !\",\r\n \"19.39\"\t: \"Les nombres en chiffres doivent être signalés selon votre paramétrage\",\r\n \"19.40\"\t: \"Pas de point en fin de nombre\",\r\n \"19.41\"\t: \"Espace de séparation nécessaire après le nombre\",\r\n \"19.42\"\t: \"Pour le nom propre, le mot de liaison ne prend pas de majuscule\",\r\n \"19.43\"\t: \"Un chiffre inférieur ou égal à dix s'écrit de préférence en lettres\",\r\n \"19.44\"\t: \"Dans un nombre, les milliers se séparent par une espace et non un point\",\r\n \"19.45\"\t: \"Pour la phrase non interrogative, le point d'interrogation est superflu\",\r\n \"19.46\"\t: \"Pour la phrase interrogative, le point d'interrogation est nécessaire\",\r\n \"19.47\"\t: \"Un trait d'union est nécessaire lors de l'inversion entre sujet et verbe\",\r\n \"19.48\"\t: \"Dans certains noms de famille, la particule de noblesse de s'écrit en minuscules\",\r\n \"19.49\"\t: \"Selon votre paramétrage, les groupes de trois chiffres doivent être séparés par une espace\",\r\n \"19.50\"\t: \"Les noms de périodes religieuses ne prennent pas de capitale\",\r\n \"19.51\"\t: \"Espace manquant entre deux mots\",\r\n \"19.52\"\t: \"L'année de début doit être inférieure à l'année de fin\",\r\n \"19.53\"\t: \"La période ne peut couvrir plus d'une année\",\r\n \"20.1\"\t: \"Contraction obligatoire de l'article \",\r\n \"20.2\"\t: \" Correction devant une voyelle phonétique\",\r\n \"20.3\"\t: \"Le contexte demande de remplacer par la forme verbale\",\r\n \"20.4\"\t: \"Erreur de forme\",\r\n \"20.5\"\t: \"Erreur d'apostrophe\",\r\n \"20.6\"\t: \"Erreur de forme devant une consonne phonétique ou un \\\"h\\\" aspiré\",\r\n \"20.7\"\t: \"Erreur de forme devant une voyelle phonétique \",\r\n \"20.8\"\t: \"Erreur de forme devant une consonne phonétique ou un \\\"h\\\" aspiré\",\r\n \"20.9\"\t: \"L'élision de \\\"tu\\\" est incorrecte\",\r\n \"20.10\"\t: \"L'élision de \\\"je\\\" devant une consonne phonétique est incorrecte\",\r\n \"20.11\"\t: \"Vous semblez confondre \\\"sur\\\" préposition et \\\"sûr\\\" adjectif\",\r\n \"20.12\"\t: \"Erreur de forme devant un féminin singulier \",\r\n \"20.13\"\t: \"Effacement obligatoire de l'article\",\r\n \"20.14\"\t: \"Vous semblez confondre \\\"ce\\\" et \\\"se\\\"\",\r\n \"20.15\"\t: \"L'ordre des pronoms personnels semble incorrect\",\r\n \"20.16\"\t: \"Le redoublement de la négation semble obligatoire\",\r\n \"20.17\"\t: \"Le redoublement de la négation semble incorrect\",\r\n \"20.18\"\t: \"Le deuxième terme de la négation est introuvable\",\r\n \"20.19\"\t: \"Dans le contexte donné, le mot est au singulier\",\r\n \"20.20\"\t: \"Dans le contexte donné, le mot pourrait être confondu avec son homophone\",\r\n \"20.21\"\t: \"tant qu'à devant un nom ou un pronom est un barbarisme\",\r\n \"20.22\"\t: \"Invariable dans le contexte donné\",\r\n \"20.23\"\t: \"S'accorde normalement dans le contexte donné\",\r\n \"20.24\"\t: \"Forme incorrecte devant un verbe.\",\r\n \"20.25\"\t: \"Doit se lier par un trait d'union\",\r\n \"20.26\"\t: \"S'accorde uniquement en genre\",\r\n \"20.27\"\t: \"Participe passé invariable\",\r\n \"20.28\"\t: \"Vous semblez confondre l'adjectif ou le nom et le participe passé\",\r\n \"20.29\"\t: \"Vous semblez confondre \\\"on\\\" et \\\"ont\\\"\",\r\n \"20.30\"\t: \"S'accorde avec le nom qui suit\",\r\n \"20.31\"\t: \"Le verbe reste au singulier pour raison d'euphonie\",\r\n \"20.32\"\t: \"S'accorde avec le nom qui précède\",\r\n \"20.33\"\t: \"Vous inversez les formes (verbe et préposition)\",\r\n \"20.34\"\t: \"Vous semblez confondre l'adjectif et le nom\",\r\n \"20.35\"\t: \"Vous semblez confondre l'adverbe et la locution\",\r\n \"20.36\"\t: \"Erreur de forme\",\r\n \"20.37\"\t: \"Invariable devant un adjectif ou un participe + trait d'union\",\r\n \"20.38\"\t: \"Vous semblez confondre l'adjectif et le pronom\",\r\n \"20.39\"\t: \"Cette forme est figée et invariable\",\r\n \"20.40\"\t: \"Vous semblez confondre le verbe et la préposition\",\r\n \"20.41\"\t: \"Il faut intercaler un \\\"t\\\" euphonique\",\r\n \"20.42\"\t: \"Mauvais accord sujet verbe. Corrigez en conséquence\",\r\n \"20.43\"\t: \"Vous semblez confondre l'adjectif et le participe présent\",\r\n \"20.44\"\t: \"Vous semblez confondre le participe présent et l'adjectif\",\r\n \"20.45\"\t: \"Ajout de \\\"s\\\" à l'impératif singulier\",\r\n \"20.46\"\t: \"Il semble que le second terme de la négation soit mal placé\",\r\n \"20.47\"\t: \"Il manque le premier terme de la négation\",\r\n \"20.48\"\t: \"faute de + infinitif se construit sans \\\"ne\\\". Sinon vous dites le contraire\",\r\n \"20.49\"\t: \"eu égard = en considération de. \\\"à l'égard de\\\" = relativement, par comparaison\",\r\n \"20.50\"\t: \"Vous semblez confondre \\\"donc\\\" et \\\"dont\\\"\",\r\n \"20.51\"\t: \"En principe \\\"à\\\" ou \\\"que\\\" et non \\\"à ce que\\\"\",\r\n \"20.52\"\t: \"En principe \\\"de\\\" ou \\\"que\\\" et non \\\"de ce que\\\"\",\r\n \"20.53\"\t: \"Vous semblez confondre \\\"chaque\\\" et \\\"chacun\\\"\",\r\n \"20.54\"\t: \"En principe au pluriel\",\r\n \"20.55\"\t: \"Le redoublement de l'article semble fautif\",\r\n \"20.56\"\t: \"Le contexte ne demande pas de forme verbale\",\r\n \"20.57\"\t: \"Vous semblez confondre \\\"ou\\\" conjonction et \\\"où\\\" adverbe\",\r\n \"20.58\"\t: \"L'ordre des négations est incorrect\",\r\n \"20.59\"\t: \"Tournure parlée, préférez une forme interrogative\",\r\n \"20.60\"\t: \"Pléonasme. Simplifiez votre expression\",\r\n \"20.61\"\t: \"Forme incorrecte. Erreur de ponctuation ?\",\r\n \"20.62\"\t: \"En principe \\\"à ce que\\\" et non \\\"que\\\"\",\r\n \"20.63\"\t: \"Vous semblez confondre le \\\"fond\\\" (partie la plus basse ou caractère particulier) et le \\\"fonds\\\" (propriété ou capacité)\",\r\n \"20.64\"\t: \"Vous semblez confondre \\\"fort\\\" et \\\"fors\\\" (\\\"for\\\" ne s'emploie que dans l'expression \\\"for intérieur\\\")\",\r\n \"20.65\"\t: \"Ne confondez-vous pas \\\"soir\\\" et \\\"soit\\\" ?\",\r\n \"20.66\"\t: \"Suppression d'un mot lors de la correction\",\r\n \"20.67\"\t: \"Vous semblez confondre la forme verbale \\\"boite\\\" et le nom \\\"boîte\\\"\",\r\n \"20.68\"\t: \"Vous semblez confondre \\\"ci\\\" et \\\"si\\\"\",\r\n \"20.69\"\t: \"En style soutenu, on préférera utiliser : \",\r\n \"20.70\"\t: \"Dans le contexte donné, ce mot pourrait être confondu avec son homonyme : \",\r\n \"20.71\"\t: \"sans que se construit sans \\\"ne\\\". Sinon vous dites le contraire\",\r\n \"20.72\"\t: \"Dans le contexte donné, ce mot pourrait être confondu avec son paronyme : \",\r\n \"20.73\"\t: \"Il semble s'agir du nom. Il faut des traits d'union\",\r\n \"20.74\"\t: \"Forme incorrecte. Erreur de ponctuation ?\",\r\n \"20.75\"\t: \"Il faudrait un infinitif ou une forme conjuguée\",\r\n \"20.76\"\t: \"La préposition \\\"à\\\" doit se placer avant le pronom COI\",\r\n \"20.77\"\t: \"Vous semblez confondre l'article et la préposition\",\r\n \"20.78\"\t: \"Devant \\\"mille\\\" précédé d'un adjectif\",\r\n \"20.79\"\t: \"Tour incorrect. Choisissez l'un ou l'autre terme\",\r\n \"20.80\"\t: \"La forme correcte est : \",\r\n \"20.81\"\t: \"Pléonasme. Simplifiez votre expression\",\r\n \"20.82\"\t: \"autant ne peut pas modifier un adjectif\",\r\n \"20.83\"\t: \"beaucoup ne peut pas modifier cet adjectif. Vous pouvez utiliser : \",\r\n \"20.84\"\t: \"beaucoup ne peut pas modifier cet adverbe\",\r\n \"20.85\"\t: \"Après un comparatif, \\\"beaucoup\\\" doit être précédé de \\\"de\\\"\",\r\n \"20.86\"\t: \"Vous semblez confondre \\\"quoique\\\" et \\\"quoi que\\\"\",\r\n \"20.87\"\t: \"On dit \\\"déposer une plainte\\\" ou \\\"porter plainte\\\"\",\r\n \"20.88\"\t: \"Se construit normalement sans \\\"de\\\"\",\r\n \"20.89\"\t: \"pas un suivi d'un verbe se construit avec \\\"ne\\\"\",\r\n \"20.90\"\t: \"Mot manquant\",\r\n \"20.91\"\t: \"La préposition correcte est \\\"de\\\"\",\r\n \"20.92\"\t: \"La préposition correcte est \\\"à\\\"\",\r\n \"20.93\"\t: \"Transitif direct. Évitez la préposition\",\r\n \"20.94\"\t: \"La préposition correcte est \\\"avec\\\"\",\r\n \"20.95\"\t: \"La préposition correcte est \\\"en\\\"\",\r\n \"20.96\"\t: \"Confusion de caractère avec le point d'exclamation ?\",\r\n \"20.97\"\t: \"La préposition correcte est \\\"sous\\\"\",\r\n \"20.98\"\t: \"La préposition correcte est \\\"dans\\\"\",\r\n \"20.99\"\t: \"Style familier\",\r\n \"20.100\"\t: \"Demander peut se construire avec \\\"à\\\" (devant un infinitif) ou avec \\\"de\\\". \\\"demander après\\\" est une tournure populaire\",\r\n \"20.101\"\t: \"Idée de diminution, il faut utiliser \\\"au minimum\\\"\",\r\n \"20.102\"\t: \"Idée d'augmentation, il faut utiliser \\\"au maximum\\\"\",\r\n \"20.103\"\t: \"Vous semblez confondre \\\"affilé\\\" et \\\"effilé\\\"\",\r\n \"20.104\"\t: \"Votre phrase semble incomplète\",\r\n \"20.105\"\t: \"Après \\\"champion\\\", évitez \\\"en\\\", préférez \\\"au\\\" ou \\\"du\\\"\",\r\n \"20.106\"\t: \"Vous semblez confondre \\\"compréhensible\\\" et \\\"compréhensif\\\"\",\r\n \"20.107\"\t: \"Vous semblez confondre le contenant et le contenu\",\r\n \"20.108\"\t: \"Ne pas dissocier \\\"ensuivre\\\"\",\r\n \"20.109\"\t: \"Vous semblez confondre \\\"rebattre\\\" et \\\"rabattre\\\"\",\r\n \"20.110\"\t: \"Dans cette expression l'adjectif doit être au masculin pluriel\",\r\n \"20.111\"\t: \"Terminer ne peut avoir pour complément un infinitif. Vous pouvez préférer \\\"achever\\\" ou \\\"finir\\\"\",\r\n \"20.112\"\t: \"La formulation précédente semblait contradictoire\",\r\n \"20.113\"\t: \"Vous semblez confondre \\\"ingambe\\\" et \\\"impotent\\\"\",\r\n \"20.114\"\t: \"Ne prend le pluriel que devant un nom qui n'a pas de singulier\",\r\n \"20.115\"\t: \"Vous semblez confondre \\\"près de\\\" et \\\"prêt à\\\"\",\r\n \"20.116\"\t: \"Il faut utiliser les prépositions \\\"à\\\" ou \\\"de\\\"\",\r\n \"20.117\"\t: \"Invariable devant un titre d'ouvrage (sans article féminin)\",\r\n \"20.118\"\t: \"qui est ici mal employé\",\r\n \"20.119\"\t: \"sans a une valeur négative, \\\"pas\\\" est inutile\",\r\n \"20.120\"\t: \"Il vaut mieux utiliser \\\"c'est\\\" devant un nom de nombre\",\r\n \"20.121\"\t: \"Absence du premier terme de la négation ?\",\r\n \"20.122\"\t: \"Construction avec \\\"je\\\" inversé fautive. Essayez \\\"est-ce que je\\\"\",\r\n \"20.123\"\t: \"Remplacement du \\\"e\\\" terminal par \\\"é\\\"\",\r\n \"20.124\"\t: \"Pluriel habituel. Vous devez accorder l'adjectif\",\r\n \"20.125\"\t: \"Suivant l'usage de la plupart des auteurs : \",\r\n \"20.126\"\t: \"Suppression d'un mot lors de la correction\",\r\n \"20.127\"\t: \"Confusion possible entre \\\"baiser\\\" et \\\"baisser\\\"\",\r\n \"20.128\"\t: \"Confusion possible entre \\\"lasser\\\" et \\\"laisser\\\"\",\r\n \"21.2\"\t: \"L'élision est ici déconseillée, l'écriture du mot suivant entre guillemets est par contre recommandée\",\r\n \"21.3\"\t: \"Cette préposition est ici inutile\",\r\n \"21.4\"\t: \"Les noms de mois s'accordent normalement mais attention à la lisibilité\",\r\n \"21.5\"\t: \"La préposition correcte est \\\"sur\\\"\",\r\n \"21.6\"\t: \"La préposition correcte est \\\"par\\\"\",\r\n \"21.7\"\t: \"La préposition correcte est \\\"sous\\\", ou bien \\\"à\\\"\",\r\n \"21.8\"\t: \"L'article ne devrait pas être élidé dans ce cas\",\r\n \"21.9\"\t: \"Formulation discutable\",\r\n \"21.10\"\t: \"Formulation lourde\",\r\n \"21.11\"\t: \"En style soutenu, on préférera utiliser un autre terme\",\r\n \"21.12\"\t: \"Le relatif \\\"qui\\\" fait référence à un être humain\",\r\n \"21.13\"\t: \"Dans le contexte donné, ce relatif prépositionnel semble incorrect\",\r\n \"21.14\"\t: \"Dans le contexte donné, ce relatif objet direct semble incorrect\",\r\n \"21.15\"\t: \"Dans ce type de phrase interrogative, la reprise du sujet est incorrecte\",\r\n \"21.16\"\t: \"Cette construction demande en principe un \\\"ne\\\" explétif\",\r\n \"21.17\"\t: \"Apostrophe et non trait d'union\",\r\n \"21.18\"\t: \"Fin de forme verbale ne nécessitant pas un \\\"t\\\" euphonique\",\r\n \"21.19\"\t: \"Il semble qu'il y ait là une faute de frappe\",\r\n \"21.20\"\t: \"Forme erronnée\",\r\n \"21.21\"\t: \"Satisfaire dans le sens de \\\"contenter\\\" se conjugue sans préposition\",\r\n \"21.22\"\t: \"La particule \\\"en\\\" devrait se placer avant l'auxiliaire\",\r\n \"21.23\"\t: \"Doivent être unis par des traits d'union. Tolérance, cependant, de la réforme Haby\",\r\n \"21.24\"\t: \"Participe passé normalement invariable\",\r\n \"21.25\"\t: \"Pléonasme. Simplifiez votre expression\",\r\n \"21.26\"\t: \"Au cas où suivi du conditionnel est plus correct\",\r\n \"21.27\"\t: \"Ce verbe est transitif direct on se rappelle \\\"quelque chose\\\", sans \\\"de\\\"\",\r\n \"21.28\"\t: \"Inversion de \\\"ce\\\" déconseillée. Essayez \\\"est-ce que\\\"\",\r\n \"21.29\"\t: \"Avec un complément l'usage demande \\\"centaine de milliers\\\"\",\r\n \"21.30\"\t: \"En principe, \\\"davantage\\\" ne peut concerner un adverbe\",\r\n \"21.31\"\t: \"aussi ou \\\"autant\\\" suivis de \\\"comme\\\" est une tournure populaire\",\r\n \"21.32\"\t: \"Un adjectif qui est déjà un comparatif supporte mal \\\"plus\\\" ou \\\"moins\\\"\",\r\n \"21.33\"\t: \"Etymologiquement exact mais ce n'est pas la graphie qui s'est imposée\",\r\n \"21.34\"\t: \"sans immédiatement précédé de \\\"ni\\\" est un archaïsme\",\r\n \"21.35\"\t: \"Utilisez \\\"touché par\\\" ou \\\"touché de\\\" + infinitif\",\r\n \"21.36\"\t: \"quasi ne prend pas de trait d'union devant un adjectif ou un adverbe\",\r\n \"21.37\"\t: \"On dit \\\"à l'heure\\\" et non pas \\\"de l'heure\\\" ou \\\"par heure\\\"\",\r\n \"21.38\"\t: \"non doit se lier avec cet adjectif\",\r\n \"21.39\"\t: \"Avec le substantif choisi, le complément se met généralement au pluriel\",\r\n \"21.40\"\t: \"Avec le substantif choisi, le complément se met généralement au singulier\",\r\n \"21.41\"\t: \"L' adjectif ou le participe devant \\\"gens\\\" (sans complément) prend la forme du féminin pluriel\",\r\n \"21.42\"\t: \"Après un cardinal il vaut mieux utiliser \\\"personne\\\"\",\r\n \"21.43\"\t: \"maint ne peut faire office de pronom\\\",\",\r\n \"21.44\"\t: \"En principe \\\"suivant\\\" ne s'utilise pas devant un pronom\",\r\n \"21.45\"\t: \"Cet adjectif se prête difficilement au degré\",\r\n \"21.46\"\t: \"Il vaut mieux éviter l'apposition du substantif. Utilisez \\\"de+article\\\"\",\r\n \"21.47\"\t: \"et autres n'est admis que s'il est accompagné d'un substantif\",\r\n \"21.48\"\t: \"Après \\\"des plus, des moins\\\" l'adjectif est au singulier dans cette tournure impersonnelle\",\r\n \"21.49\"\t: \"Après \\\"des plus, des moins, des mieux\\\" l'adjectif est souvent au pluriel\",\r\n \"21.50\"\t: \"Vous semblez confondre \\\"lunettes\\\", verres correcteurs et \\\"lunette\\\" instrument d'optique\",\r\n \"21.51\"\t: \"En fait, cette expression est un non-sens\",\r\n \"21.52\"\t: \"Il faut écrire \\\"ces deux groupes font pendants\\\" (au pluriel), \\\"ces deux groupes se font pendant\\\" (au singulier)\",\r\n \"21.53\"\t: \"moussu couvert de mousse, \\\"mousseux\\\" qui produit de la mousse\",\r\n \"21.54\"\t: \"Dans le contexte donné, un nombre cardinal serait plus habituel\",\r\n \"21.55\"\t: \"aubade (aube) est donnée le matin. \\\"sérénade\\\" (soir) à la nuit tombante\",\r\n \"21.56\"\t: \"En toute logique cette expression est une tautologie\",\r\n \"21.57\"\t: \"Ce verbe est transitif direct. On ne s'accapare pas de quelque chose\",\r\n \"21.58\"\t: \"Ce verbe s'accompagne habituellement de \\\"ne\\\"\",\r\n \"21.59\"\t: \"pareil est un adjectif ne l'utilisez pas en tant qu'adverbe\",\r\n \"21.60\"\t: \"Avec un événement malheureux, \\\"à cause de\\\" n'est-il pas préférable?\",\r\n \"21.61\"\t: \"Si vous niez un événement malheureux il devient heureux. \\\"grâce à\\\" n'est-il pas préférable?\",\r\n \"21.62\"\t: \"Si vous niez un événement heureux, il devient malheureux. \\\"à cause de\\\" n'est-il pas préférable?\",\r\n \"21.63\"\t: \"Avec un événement heureux, \\\"grâce à\\\" n'est-il pas préférable?\",\r\n \"21.64\"\t: \"infini supporte mal les signes du comparatif\",\r\n \"21.65\"\t: \"Se construit avec \\\"de\\\" ou \\\"sur\\\". \\\"de\\\" indique plutôt la cause, \\\"sur\\\" l'objet\",\r\n \"21.66\"\t: \"On observe quelqu'un, on fait observer à quelqu'un\",\r\n \"21.67\"\t: \"Forme lourde, souvent incorrecte. Remplacez par l'inversion sujet-verbe\",\r\n \"21.68\"\t: \"si ne peut pas modifier un participe passé conjugué avec son auxiliaire. Il faut utiliser \\\"tant\\\" ou \\\"tellement\\\"\",\r\n \"21.69\"\t: \"La phrase interrogative devrait comporter une reprise du sujet\",\r\n \"21.70\"\t: \"trop admet difficilement cette préposition\",\r\n \"21.71\"\t: \"Probable confusion entre \\\"c'est\\\" et \\\"ce\\\"\",\r\n \"21.72\"\t: \"Cette tournure est familière, évitez-la en style soutenu\",\r\n \"21.73\"\t: \"Dans le contexte donné, ce relatif prépositionnel semble incorrect\",\r\n \"21.74\"\t: \"Dans le contexte donné, ce relatif objet direct semble incorrect\",\r\n \"21.75\"\t: \"En style soutenu, on préférera utiliser un autre terme\",\r\n \"21.76\"\t: \"tâcher moyen que est une tournure populaire, vous pouvez préférer \\\"tâcher de ou que\\\"\",\r\n \"21.77\"\t: \"chercher après est une tournure populaire.\",\r\n \"21.78\"\t: \"Tournure orale\",\r\n \"21.79\"\t: \"davantage s'emploie le plus souvent sans complément\",\r\n \"21.80\"\t: \"de suite signifie \\\"à la file\\\". \\\"tout de suite\\\" signifie \\\"immédiatement\\\", \\\"sans délai\\\"\",\r\n \"21.81\"\t: \"On ne dit pas \\\"il a quel âge\\\" mais \\\"quel âge a-t-il\\\"\",\r\n \"21.82\"\t: \"Pléonasme. Simplifiez votre expression\",\r\n \"21.83\"\t: \"Erreur de forme\",\r\n \"21.84\"\t: \"On ne repart pas \\\"à\\\" zéro mais bien \\\"de\\\" zéro\",\r\n \"21.85\"\t: \"sans employé sans complément est à éviter en style soutenu\",\r\n \"21.86\"\t: \"en ensuivre comme \\\"en enfuir\\\" est lourd et à éviter\",\r\n \"21.87\"\t: \"ceci s'emploie pour ce qui va suivre. \\\"cela\\\" pour ce qui précède\",\r\n \"21.88\"\t: \"an mil si \\\"mille\\\" commence la date et est suivi par d'autres chiffres. Sinon \\\"mille\\\"\",\r\n \"21.89\"\t: \"En principe, \\\"soi-disant\\\" pour l'humain, \\\"prétendu\\\" pour le concret ou l'abstrait\",\r\n \"21.90\"\t: \"à part de + infinitif est lourd. Vous pouvez préférer \\\"si ce n'est + infinitif\\\"\",\r\n \"21.91\"\t: \"anti contient l'idée de \\\"contre\\\". Vous pouvez préférer \\\"à, au, du, de\\\"\",\r\n \"21.92\"\t: \"Tournure orale, à éviter en style \\\"soutenu\\\"\",\r\n \"21.93\"\t: \"Tour relativement récent, lourd et critiqué par les grammairiens. \\\"autrement\\\" suffit\",\r\n \"21.94\"\t: \"Style commercial. Évitez-le en style soutenu\",\r\n \"21.95\"\t: \"Il faut éviter avec \\\"s'avérer\\\" les attributs contradictoires avec le sens ou qui font pléonasme\",\r\n \"21.96\"\t: \"Admis mais peu élégant. Vous pouvez préférer \\\"il est certain que\\\" \\\"il est sûr que\\\"\",\r\n \"21.97\"\t: \"Vous pouvez préférer \\\"pour le but\\\" ou \\\"dans le dessein\\\"\",\r\n \"21.98\"\t: \"L'expression \\\"en un tournemain\\\" est vieillie, on dit plutôt \\\"en un tour de main\\\"\",\r\n \"21.99\"\t: \"ensuite de est vieilli. Vous pouvez préférer \\\"à la suite de\\\"\",\r\n \"21.100\"\t: \"cependant que est vieilli. Vous pouvez préférer \\\"pendant que\\\"\",\r\n \"21.101\"\t: \"moyennant que est vieilli. Vous pouvez préférer \\\"à condition que\\\"\",\r\n \"21.102\"\t: \"primer sur est vieilli. Vous pouvez préférer \\\"primer\\\" sans la préposition\",\r\n \"21.103\"\t: \"Tour contesté. Vous pouvez préférer \\\"tendre à, vers un but\\\"\",\r\n \"21.104\"\t: \"Vous pouvez préférer \\\"en revanche\\\"\",\r\n \"21.105\"\t: \"Tour contesté. Vous pouvez préférer \\\"atteindre un but\\\"\",\r\n \"21.106\"\t: \"La préposition correcte est \\\"à\\\"\",\r\n \"21.107\"\t: \"Tour vieilli. Vous pouvez préférer \\\"autour, autour de\\\"\",\r\n \"21.108\"\t: \"alentour aux environs. Ne pas confondre avec \\\"alentours\\\" (toujours pluriel). Remplacez par \\\"autour de\\\"\",\r\n \"21.109\"\t: \"Il faut utiliser \\\"à travers\\\" sans \\\"de\\\" ou \\\"au travers\\\" avec \\\"de\\\"\",\r\n \"21.110\"\t: \"la réticence c'est l'action de taire volontairement\",\r\n \"21.111\"\t: \"après ne marque pas le contact et ne peut remplacer \\\"à\\\" ou \\\"sur\\\"\",\r\n \"21.112\"\t: \"Lourd devant un adjectif ou un participe. Doit être suivi d'un relatif ou d'un verbe conjugué\",\r\n \"21.113\"\t: \"Lourd. En style \\\"soutenu\\\" évitez cette construction\",\r\n \"21.114\"\t: \"chaque et un cardinal est lourd. Vous pouvez préférer \\\"tous les toutes les\\\"\",\r\n \"21.115\"\t: \"même semble être un adjectif. Il devrait s'accorder\",\r\n \"21.116\"\t: \"même semble être un adverbe. Il ne devrait pas s'accorder\",\r\n \"21.117\"\t: \"Dans certains cas, on dit \\\"aller en\\\" plutôt que \\\"dans\\\"\",\r\n \"21.118\"\t: \"Ne faudrait-il pas, dans le contexte donné, \\\"que\\\" ou \\\"qui\\\" ?\",\r\n \"21.119\"\t: \"Ne faudrait-il pas, dans le contexte donné, \\\"lequel\\\" ou \\\"laquelle\\\" ?\",\r\n \"21.120\"\t: \"préférer...à avec deux infinitifs est archaïque\",\r\n \"21.121\"\t: \"préférer de avec un infinitif est archaïque\",\r\n \"21.122\"\t: \"On parle de blessures graves ou légères. Mais pas de blessés\",\r\n \"21.123\"\t: \"cuisseau pour le veau. \\\"cuissot\\\" est un terme de vénerie\",\r\n \"21.124\"\t: \"dentée est surtout un terme technique. \\\"dentelée\\\" (botanique, anatomie) qui rappelle la forme des dents\",\r\n \"21.125\"\t: \"fleurissait, \\\"fleurissant\\\" pour le sens propre. \\\"florissait, florissant\\\" pour le sens figuré\",\r\n \"21.126\"\t: \"On presse sur la détente et non sur la gâchette\",\r\n \"21.127\"\t: \"En style soutenu, utilisez \\\"fort\\\" ou \\\"une grande\\\"\",\r\n \"21.128\"\t: \"Attention, on ne peut appliquer \\\"notoire\\\" à un humain sans une nuance dépréciative\",\r\n \"22.2\"\t: \"Seule la forme pronominale accepte \\\"en\\\". Vous pouvez utiliser \\\"à, de, contre, devant, etc.\\\"\",\r\n \"22.3\"\t: \"Si vous parlez au figuré, votre image est mal choisie. \\\"base\\\" c'est le point le plus bas\",\r\n \"22.4\"\t: \"recouvrer c'est récupérer. \\\"retrouver\\\" c'est trouver après avoir égaré\",\r\n \"22.5\"\t: \"antan signifie proprement \\\"l'année d'avant\\\"\",\r\n \"22.6\"\t: \"On commémore un événement et non son anniversaire\",\r\n \"22.7\"\t: \"Il s'agit d'un \\\"à\\\" possessif, il vaut mieux employer \\\"de\\\" ou \\\"pour\\\" selon le sens\",\r\n \"22.8\"\t: \"L'académie ignore le verbe \\\"émotionner\\\", il vaut mieux ne pas décliner ses formes\",\r\n \"22.9\"\t: \"Dans cette construction vous pouvez vous passer de \\\"pas\\\"\",\r\n \"22.10\"\t: \"Avec une valeur positive, \\\"aucun\\\" est rare ou affecté\",\r\n \"22.11\"\t: \"Cette expression est si employée qu'elle en devient un cliché\",\r\n \"22.12\"\t: \"Style familier. Évitez cette tournure en style \\\"soutenu\\\"\",\r\n \"22.13\"\t: \"par exprès s'il s'agit d'un colis, d'une lettre, etc\",\r\n \"22.14\"\t: \"Cette expression n'est pas incorrecte mais l'usage semble l'éviter soigneusement\",\r\n \"22.15\"\t: \"Tour pléonastique. \\\"mais\\\" coordonne des éléments mis en opposition, il fait donc double emploi avec l'adverbe\",\r\n \"22.16\"\t: \"voire même est archaïque. Certains y voient un pléonasme\",\r\n \"22.17\"\t: \"Attention à l'allitération, surtout si le texte doit être lu en public\",\r\n \"22.18\"\t: \"Cacophonie entre ces mots\",\r\n \"22.19\"\t: \"Une alternative c'est déjà deux possibilités\",\r\n \"22.20\"\t: \"Vous semblez confondre \\\"bénit\\\", qui s'applique aux choses consacrées, et \\\"béni\\\"\",\r\n \"22.21\"\t: \"Cette formulation est un canadianisme, issu de l'anglais\",\r\n \"22.22\"\t: \"Seul un domestique, un serveur, un valet de chambre peut être stylé\",\r\n \"22.23\"\t: \"Le pronom possessif doit s'accorder ici avec le sujet\",\r\n \"22.24\"\t: \"Pour cette phrase interrogative, l'inversion du sujet est recommandée\",\r\n \"22.25\"\t: \"Le pronom \\\"en\\\" fait pléonasme avec l'introducteur \\\"dont\\\" de la proposition\\\"\",\r\n \"22.26\"\t: \"L'adjectif possessif fait pléonasme avec l'introducteur \\\"dont\\\" de la proposition\\\",\",\r\n \"22.27\"\t: \"Le pronom \\\"y\\\" fait pléonasme avec la circonstanciel de lieu de la proposition\\\",\",\r\n \"22.28\"\t: \"Pour cette phrase interrogative, la reprise du sujet est inutile\\\",\",\r\n \"22.29\"\t: \"Pour cette phrase interrogative, l'inversion du sujet de la seconde proposition est inutile\",\r\n \"22.30\"\t: \"Ceci est un canadianisme, mieux vaut utiliser un terme plus classique\",\r\n \"22.31\"\t: \"Ceci est un belgicisme, mieux vaut utiliser un terme plus classique\",\r\n \"22.32\"\t: \"Ce nom de langue ne prend pas de majuscule\",\r\n \"22.33\"\t: \"L' adverbe de renforcement est redondant\",\r\n \"22.34\"\t: \"La préposition correcte est \\\"pour\\\"\",\r\n \"22.35\"\t: \"Vous semblez confondre peut-être la dénomination italienne \\\"maestro\\\" d'un chef d'orchestre, et le titre \\\"maître\\\"\",\r\n \"22.36\"\t: \"Pour les villes, contrairement aux pays et régions, on préférera \\\"au\\\" et le point cardinal\",\r\n \"22.37\"\t: \"Dans le contexte donné, le mot prend une capitale\",\r\n \"22.38\"\t: \"Helvétisme, mieux vaut utiliser un terme plus classique\",\r\n \"22.39\"\t: \"Avec \\\"à\\\", \\\"de\\\" ou \\\"en\\\", le groupe prépositionnel coordonné doit être précédé de la même préposition\",\r\n \"22.40\"\t: \"Le complément d'objet direct placé en apostrophe doit être repris par un pronom personnel\",\r\n \"22.41\"\t: \"Le pronom \\\"en\\\" fait pléonasme avec le complément d'objet indirect\",\r\n \"22.42\"\t: \"Ce terme est un africanisme, mieux vaut utiliser un terme plus classique\",\r\n \"22.43\"\t: \"Ce mot vieilli ne s'utilise plus guère qu'en poésie\",\r\n \"22.44\"\t: \"Le pronom de pronominalisation doit s'accorder avec la reprise du complément\",\r\n \"22.45\"\t: \"Les dates doivent être appariées. On écrira \\\"14-18\\\" ou \\\"1914-1918\\\" mais pas \\\"1914-18\\\"\",\r\n \"22.46\"\t: \"Ce nom de pays s'écrit en principe sans article\",\r\n \"22.47\"\t: \"Ce nom de pays est normalement précédé de l'article\",\r\n \"22.48\"\t: \"L'expression 'en termes de' signifie 'selon le vocabulaire utilisé en' ; avec ce complément, il est préférable d'utiliser 'en matière de'\",\r\n \"22.49\"\t: \"L'éponymie est le fait de donner son nom à quelque chose. Dans le contexte donné \\\"homonyme\\\" est plus approprié\",\r\n \"22.50\"\t: \"Un exposant, au carré ou au cube, s'écrit en police exposant\",\r\n \"22.51\"\t: \"Le mot est vieilli\",\r\n \"22.52\"\t: \"Un verbe intransitif ne peut avoir de complément d'objet direct\",\r\n \"22.53\"\t: \"Dans le contexte donné, le masculin semble plus approprié\",\r\n \"22.54\"\t: \"Au billard, une boule s'appelle une bille\",\r\n \"22.55\"\t: \"Dans le contexte donné, le mot 'technique' est préférable au mot 'technologie', qui est l'étude des techniques\",\r\n \"22.56\"\t: \"Utilisez plutôt la graphie la plus courante\",\r\n \"22.57\"\t: \"Le mot 'demi' devant un adjectif n'est pas lié par un trait d'union lorsqu'il est précédé de la préposition 'à'\",\r\n \"22.58\"\t: \"Employez ici le participe passé au lieu de la forme verbale \",\r\n \"22.59\"\t: \"La forme verbale devrait être remplacée par une autre forme verbale\",\r\n \"22.60\"\t: \"Le participe passé devrait être remplacée par une autre forme verbale\",\r\n \"22.61\"\t: \"Employez ici l'infinitif et non le participe passé \",\r\n \"22.62\"\t: \"Ce mot est un anglicisme\",\r\n \"22.63\"\t: \"Le pronom interrogatif s'accorde avec son complément\",\r\n \"22.64\"\t: \"Un trait d'union est nécessaire lors de l'inversion entre sujet et verbe\",\r\n \"22.65\"\t: \"Le nom propre ne comporte pas de majuscule interne\",\r\n \"22.66\"\t: \"L'infinitive a ici un rôle de COD, le pronom doit donc être remplacé par le pronom\",\r\n \"22.67\"\t: \"Le verbe intransitif a habituellement un complément d'objet indirect\",\r\n \"22.68\"\t: \"Qui devrait plutôt être placé en début de phrase\",\r\n \"22.69\"\t: \"Il y a une incohérence entre la mesure en toute lettres et la mesure en chiffres\",\r\n \"22.70\"\t: \"Ce nombre en lettres devrait s'écrire en chiffres puisqu'il est suivi d'un symbole\",\r\n \"22.71\"\t: \"Le singulier est conseillé lorsque le même nom est utilisé dans \\\"de ... en ...\\\"\",\r\n \"22.72\"\t: \"Le pluriel est conseillé lorsque des noms différents sont utilisés dans \\\"de ... en ...\\\"\",\r\n \"22.73\"\t: \"Le chiffre des minutes doit s'écrire en lettres après \\\"midi\\\" ou \\\"minuit\\\"\",\r\n \"22.74\"\t: \"Avec un nombre en chiffres, la monnaie doit suivre avec le symbole\",\r\n \"22.75\"\t: \"Le mot n'est pas un pluriel anglais\",\r\n \"22.76\"\t: \"Le millésime semble fautif\",\r\n \"22.77\"\t: \"L'adjectif démonstratif ne précède par directement le nom, donc pas de trait d'union\",\r\n \"22.78\"\t: \"Le mot composé s'écrit en principe sans trait d'union\",\r\n \"22.79\"\t: \"Le mot composé s'écrit sans trait d'union\",\r\n \"22.80\"\t: \"Ce verbe s'accompagne de la préposition \\\"de\\\"\",\r\n \"22.81\"\t: \"aucun a une valeur négative, \\\"pas\\\" est inutile\\\",\",\r\n \"22.82\"\t: \"Pas de \\\"ne\\\" explétif après \\\"autrement que\\\" précédé d'une négation\",\r\n \"22.83\"\t: \"Ce verbe n'est jamais pronominal\",\r\n \"22.84\"\t: \"On clôture un jardin ou un pré mais une notion abstraite se clot\",\r\n \"22.85\"\t: \"Ce complément d'objet direct est inabituel pour «confronter», une formulation utilisant ce sujet et le verbe «être confronté» serait préférable\",\r\n \"22.86\"\t: \"L'introducteur «en» doit être repris avant le second complément\",\r\n \"22.87\"\t: \"Usage plutôt administratif\",\r\n \"22.88\"\t: \"Pour éviter une homophonie ambiguë\",\r\n \"22.89\"\t: \"«à qui mieux mieux» suppose un sujet au pluriel\",\r\n \"22.90\"\t: \"Dans cette construction le «ne» qui ne porte pas de sens négatif n'est pas conseillé\",\r\n \"22.91\"\t: \"Tournure copiée à l'anglais\",\r\n \"22.92\"\t: \"Le néologisme «mél» est un acronyme pour «messagerie électronique». Utilisez plutôt «courriel»\",\r\n \"22.93\"\t: \"Ce groupe de mots implique un sujet et un verbe au pluriel\",\r\n \"22.94\"\t: \"L'inversion du sujet est nécessaire\",\r\n \"22.95\"\t: \"L'inversion du sujet est inutile\",\r\n \"22.96\"\t: \"Les particules intégrées dans les noms propres ne prennent pas de majuscule\",\r\n \"22.97\"\t: \"Ce mot est inadéquat, préférez une forme verbale\",\r\n \"22.98\"\t: \"La tournure est plus complexe que nécessaire\",\r\n \"22.99\"\t: \"L'expression semble être un stéréotype\",\r\n \"22.100\"\t: \"L'expression semble être un proverbe\",\r\n \"22.101\"\t: \"L'expression semble être un préjugé\",\r\n \"22.102\"\t: \"Mot passe-partout\",\r\n \"22.103\"\t: \"Tournure négative \",\r\n \"22.104\"\t: \"La suite d'adverbes est lourde\",\r\n \"22.105\"\t: \"Verbe passe-partout\",\r\n \"22.106\"\t: \"Formule fréquente proche du cliché\",\r\n \"22.107\"\t: \"Formule fréquente proche du cliché\",\r\n \"22.108\"\t: \"Formule fréquente proche du cliché\",\r\n \"22.109\"\t: \"Formule fréquente proche du stéréotype\",\r\n \"22.110\"\t: \"Formule fréquente proche du stéréotype\",\r\n \"22.111\"\t: \"Formule fréquente proche du stéréotype\",\r\n \"22.112\"\t: \"Formule fréquente proche du stéréotype\",\r\n \"22.113\"\t: \"Formule fréquente proche du stéréotype\",\r\n \"22.114\"\t: \"Proverbe dont le sens peut ne pas être évident pour tout le monde\",\r\n \"22.115\"\t: \"Semble être un préjugé\",\r\n \"22.116\"\t: \"Formule fréquente proche du stéréotype\",\r\n \"22.117\"\t: \"Formule fréquente proche du stéréotype\",\r\n \"22.118\"\t: \"Formule fréquente proche du stéréotype\",\r\n \"22.119\"\t: \"Formule fréquente proche du stéréotype\",\r\n \"22.120\"\t: \"Terme très souvent associé à un autre\",\r\n \"22.121\"\t: \"Terme très souvent associé à un autre\",\r\n \"22.122\"\t: \"Terme très souvent associé à un autre\",\r\n \"22.123\"\t: \"Terme très souvent associé à un autre\",\r\n \"22.124\"\t: \"Terme très souvent associé à un autre\",\r\n \"22.125\"\t: \"Terme très souvent associé à un autre\",\r\n \"22.126\"\t: \"à l'instar de signifie \\\"comme\\\", employez plutôt \\\"contrairement\\\"\",\r\n \"22.127\"\t: \"Il semble manquer un mot après l'adverbe\",\r\n \"22.128\"\t: \"Quelque devant un nombre s'emploie pour une quantité approximative\",\r\n \"23.2\"\t: \"Utilisez \\\"que\\\" plutôt que \\\"dont\\\" avec ce verbe\",\r\n \"23.3\"\t: \"Utilisez \\\"auquel\\\" plutôt que \\\"dont\\\" avec ce verbe\",\r\n \"23.4\"\t: \"Utilisez \\\"contre lequel\\\" plutôt que \\\"dont\\\" avec ce verbe\",\r\n \"23.5\"\t: \"Ce mot est normalement masculin mais il est admis au féminin au Canada\",\r\n \"23.6\"\t: \"Utilisez \\\"dont\\\" plutôt que \\\"que\\\" avec ce verbe\",\r\n \"23.7\"\t: \"En principe le mot suivant \\\"et autres\\\" est moins spécifique que le mot précédant\",\r\n \"23.8\"\t: \"Tournure pas adaptée en contexte de rédaction normalisée\",\r\n \"30.1\"\t: \"Ce mot est un anglicisme\",\r\n \"30.2\"\t: \"Ce mot est un canadianisme\",\r\n \"30.3\"\t: \"Ce mot est un africanisme\",\r\n \"30.4\"\t: \"Ce mot est un belgicisme\",\r\n \"30.5\"\t: \"Ce mot est un helvétisme\",\r\n \"30.6\"\t: \"Ce mot est un occitanisme\",\r\n \"30.7\"\t: \"Ce mot est un régionalisme\",\r\n \"30.8\"\t: \"Ce mot est une marque déposée\",\r\n \"30.9\"\t: \"Ce mot est un barbarisme\",\r\n \"30.10\"\t: \"Ce mot appartient au vocabulaire familier\",\r\n \"30.11\"\t: \"Ce mot appartient au vocabulaire populaire\",\r\n \"30.12\"\t: \"Ce mot appartient au vocabulaire argotique\",\r\n \"30.13\"\t: \"Ce mot est considéré comme grossier\",\r\n \"30.14\"\t: \"Ce mot est considéré comme injurieux\",\r\n \"30.15\"\t: \"Ce mot obsolète a une connotation un peu précieuse\",\r\n \"30.16\"\t: \"Ce mot est d'usage peu fréquent \",\r\n \"30.17\"\t: \"Ce mot est un anglicisme, le Journal Officiel ne recommande pas son usage\",\r\n \"31.1\"\t: \"Le nom homographe est masculin dans ce contexte\",\r\n \"31.2\"\t: \"Le nom homographe est féminin dans ce contexte\",\r\n \"31.3\"\t: \"Dans le contexte donné, ce mot pourrait être confondu avec son homophone\",\r\n \"31.4\"\t: \"Dans le contexte donné, ce mot pourrait être confondu avec son paronyme\",\r\n \"40.1\"\t: \"Ce groupe nominal est masculin singulier\",\r\n \"40.2\"\t: \"Ce groupe nominal est féminin singulier\",\r\n \"40.3\"\t: \"Ce groupe nominal est masculin pluriel\",\r\n \"40.4\"\t: \"Ce groupe nominal est féminin pluriel\",\r\n \"40.5\"\t: \"Cet adjectif de couleur est invariable ou s'accorde avec le nom antécédent\",\r\n \"40.6\"\t: \"Un double adjectif de couleur est invariable\",\r\n \"40.7\"\t: \"Cet adjectif de couleur accompagné d'un nom de nuance est invariable\",\r\n \"40.8\"\t: \"Cet adjectif de couleur accompagné d'un adjectif de nuance est invariable\",\r\n \"40.9\"\t: \"Cet adjectif employé adverbialement est invariable\",\r\n \"40.10\"\t: \"Un adjectif de couleur est variable lorsqu'il est seul\",\r\n \"40.11\"\t: \"Un nom de nuance reste au singulier après un adjectif de couleur\",\r\n \"40.12\"\t: \"Ce mot utilisé comme adjectif est invariable\",\r\n \"40.13\"\t: \"Un substantif épithète derrière un nom de jour reste invariable\",\r\n \"40.14\"\t: \"Un déterminant pluriel avec des noms singuliers coordonnés est d'usage rare\",\r\n \"41.1\"\t: \"Ce groupe pronominal est masculin singulier\",\r\n \"41.2\"\t: \"Ce groupe pronominal est féminin singulier\",\r\n \"41.3\"\t: \"Ce groupe pronominal est masculin pluriel\",\r\n \"41.4\"\t: \"Ce groupe pronominal est féminin pluriel\",\r\n \"42.1\"\t: \"Ce groupe adjectival est masculin singulier\",\r\n \"42.2\"\t: \"Ce groupe adjectival est féminin singulier\",\r\n \"42.3\"\t: \"Ce groupe adjectival est masculin pluriel\",\r\n \"42.4\"\t: \"Ce groupe adjectival est féminin pluriel\",\r\n \"43.1\"\t: \"Cet adjectif pourrait s'accorder au masculin singulier\",\r\n \"43.2\"\t: \"Cet adjectif pourrait s'accorder au féminin singulier\",\r\n \"43.3\"\t: \"Cet adjectif pourrait être au masculin pluriel \",\r\n \"43.4\"\t: \"Cet adjectif pourrait être au féminin pluriel \",\r\n \"43.5\"\t: \"L'accord de l'adjectif avec le premier nom pourrait être faux\",\r\n \"44.1\"\t: \"multiplié ou \\\"ôté\\\" suivant un nombre doit être au singulier\",\r\n \"44.2\"\t: \"Le sujet et son apposition ne sont pas à la même personne\",\r\n \"44.3\"\t: \"Le pronom relatif s'accorde avec son antécédent\",\r\n \"44.4\"\t: \"Le pronom interrogatif s'accorde avec son complément\",\r\n \"44.5\"\t: \"Si ce groupe est en apposition au sujet, l'accord est nécessaire\",\r\n \"44.6\"\t: \"Cette phrase interrogative devrait se terminer par \\\"?\\\" ou \\\"!\\\"\",\r\n \"44.7\"\t: \"après que doit être suivi de l'indicatif selon l'Académie\",\r\n \"44.8\"\t: \"Ce complément d'agent, sujet réel, est surprenant pour ce verbe\",\r\n \"44.9\"\t: \"Vous semblez confondre l'impératif et le présent.\",\r\n \"45.1\"\t: \"Le complément de ce nom singulier doit être au singulier\",\r\n \"45.2\"\t: \"Le complément de ce nom singulier doit être au pluriel\",\r\n \"45.3\"\t: \"Le complément de ce nom pluriel doit être au singulier\",\r\n \"45.4\"\t: \"Le complément de ce nom pluriel doit être au pluriel\",\r\n \"45.5\"\t: \"Le complément de ce pronom doit être au masculin singulier\",\r\n \"45.6\"\t: \"Le complément de ce pronom doit être au féminin singulier\",\r\n \"45.7\"\t: \"Le complément de ce pronom doit être au masculin pluriel\",\r\n \"45.8\"\t: \"Le complément de ce pronom doit être au féminin pluriel\",\r\n \"50.2\"\t: \"Sujet à la 1e personne du singulier et verbe à la 2e personne du singulier\",\r\n \"50.3\"\t: \"Sujet à la 1e personne du singulier et verbe à la 3e personne du singulier\",\r\n \"50.4\"\t: \"Sujet à la 1e personne du singulier et verbe à la 1e personne du pluriel\",\r\n \"50.5\"\t: \"Sujet à la 1e personne du singulier et verbe à la 2e personne du pluriel\",\r\n \"50.6\"\t: \"Sujet à la 1e personne du singulier et verbe à la 3e personne du pluriel\",\r\n \"50.7\"\t: \"Sujet à la 2e personne du singulier et verbe à la 1e personne du singulier\",\r\n \"50.8\"\t: \"Précédé d'un article pluriel, ce nom propre pourrait prendre un s final\",\r\n \"50.9\"\t: \"Sujet à la 2e personne du singulier et verbe à la 3e personne du singulier\",\r\n \"50.10\"\t: \"Sujet à la 2e personne du singulier et verbe à la 1e personne du pluriel\",\r\n \"50.11\"\t: \"Sujet à la 2e personne du singulier et verbe à la 2e personne du pluriel\",\r\n \"50.12\"\t: \"Sujet à la 2e personne du singulier et verbe à la 3e personne du pluriel\",\r\n \"50.13\"\t: \"Sujet à la 3e personne du singulier et verbe à la 1e personne du singulier\",\r\n \"50.14\"\t: \"Sujet à la 3e personne du singulier et verbe à la 2e personne du singulier\",\r\n \"50.15\"\t: \"Dans ce contexte, les adjectifs épithètes restent au singulier\",\r\n \"50.16\"\t: \"Sujet à la 3e personne du singulier et verbe à la 1e personne du pluriel\",\r\n \"50.17\"\t: \"Sujet à la 3e personne du singulier et verbe à la 2e personne du pluriel\",\r\n \"50.18\"\t: \"Sujet à la 3e personne du singulier et verbe à la 3e personne du pluriel\",\r\n \"50.19\"\t: \"Sujet à la 1e personne du pluriel et verbe à la 1e personne du singulier\",\r\n \"50.20\"\t: \"Sujet à la 1e personne du pluriel et verbe à la 2e personne du singulier\",\r\n \"50.21\"\t: \"Sujet à la 1e personne du pluriel et verbe à la 3e personne du singulier\",\r\n \"50.22\"\t: \"Ce groupe pronominal, s'il reprend le C.O.D., doit s'accorder avec celui-ci\",\r\n \"50.23\"\t: \"Sujet à la 1e personne du pluriel et verbe à la 2e personne du pluriel\",\r\n \"50.24\"\t: \"Sujet à la 1e personne du pluriel et verbe à la 3e personne du pluriel\",\r\n \"50.25\"\t: \"Sujet à la 2e personne du pluriel et verbe à la 1e personne du singulier\",\r\n \"50.26\"\t: \"Sujet à la 2e personne du pluriel et verbe à la 2e personne du singulier\",\r\n \"50.27\"\t: \"Sujet à la 2e personne du pluriel et verbe à la 3e personne du singulier\",\r\n \"50.28\"\t: \"Sujet à la 2e personne du pluriel et verbe à la 1e personne du pluriel\",\r\n \"50.29\"\t: \"Ce groupe pronominal, s'il reprend le C.O.I., doit s'accorder avec celui-ci\",\r\n \"50.30\"\t: \"Sujet à la 2e personne du pluriel et verbe à la 3e personne du pluriel\",\r\n \"50.31\"\t: \"Sujet à la 3e personne du pluriel et verbe à la 1e personne du singulier\",\r\n \"50.32\"\t: \"Sujet à la 3e personne du pluriel et verbe à la 2e personne du singulier\",\r\n \"50.33\"\t: \"Sujet à la 3e personne du pluriel et verbe à la 3e personne du singulier\",\r\n \"50.34\"\t: \"Sujet à la 3e personne du pluriel et verbe à la 1e personne du pluriel\",\r\n \"50.35\"\t: \"Sujet à la 3e personne du pluriel et verbe à la 2e personne du pluriel\",\r\n \"50.36\"\t: \"Ce verbe est sans sujet\",\r\n \"50.37\"\t: \"Dans ce contexte, le conditionnel est préférable au futur\",\r\n \"50.38\"\t: \"Adjectif indéfini individualisant, donc demandant le singulier\",\r\n \"50.39\"\t: \"Adjectif indéfini collectif, donc demandant un verbe au pluriel\",\r\n \"50.40\"\t: \"Pronom indéfini individualisant demandant le singulier\",\r\n \"50.41\"\t: \"Pronom indéfini collectif demandant un verbe au pluriel\",\r\n \"50.42\"\t: \"Ce nom collectif réclame un verbe au pluriel\",\r\n \"50.43\"\t: \"Un sujet composé relié par \\\"comme\\\" demande un verbe au pluriel\",\r\n \"50.44\"\t: \"à un sujet masculin doit correspondre un participe passé du verbe au masculin\",\r\n \"50.45\"\t: \"à un sujet féminin doit correspondre un participe passé du verbe au féminin\",\r\n \"50.46\"\t: \"L'antécédant de la relative nécessiterait un verbe au singulier\",\r\n \"50.47\"\t: \"L'antécédant de la relative nécessiterait un verbe au pluriel\",\r\n \"50.48\"\t: \"Ce verbe à la 1e personne est sans sujet\",\r\n \"50.49\"\t: \"Ce verbe à la 2e personne est sans sujet\",\r\n \"50.50\"\t: \"Des sujets coordonnés demandant un verbe au pluriel\",\r\n \"50.51\"\t: \"Des sujets juxtaposés demandant un verbe au singulier\",\r\n \"50.52\"\t: \"Le verbe de cette proposition semble manquer\",\r\n \"50.53\"\t: \"Le sujet du verbe n'a pu être identifié\",\r\n \"51.1\"\t: \"Le sujet singulier avait un attribut pluriel\",\r\n \"51.2\"\t: \"Le sujet pluriel avait un attribut singulier\",\r\n \"51.3\"\t: \"Le sujet masculin avait un attribut féminin\",\r\n \"51.4\"\t: \"Le sujet féminin avait un attribut masculin\",\r\n \"51.5\"\t: \"Le sujet masculin singulier avait un attribut féminin pluriel\",\r\n \"51.6\"\t: \"Le sujet féminin singulier avait un attribut masculin pluriel\",\r\n \"51.7\"\t: \"Le sujet masculin pluriel avait un attribut féminin singulier\",\r\n \"51.8\"\t: \"Le sujet féminin pluriel avait un attribut masculin singulier\",\r\n \"51.9\"\t: \"L'adjectif attribut doit être au pluriel après \\\"des plus\\\" si le sujet est un nom\",\r\n \"51.10\"\t: \"L'adjectif attribut doit être au singulier après \\\"des plus\\\" si le sujet est un pronom\",\r\n \"51.11\"\t: \"Ce nom propre n'est habituellement pas précédé d'un article\",\r\n \"51.12\"\t: \"Utilisation d'un \\\"nous\\\" de majesté\",\r\n \"51.13\"\t: \"Utilisation d'un \\\"vous\\\" de politesse\",\r\n \"51.14\"\t: \"Le pronom \\\"on\\\" est employé ici avec le pluriel\",\r\n \"51.15\"\t: \"Lorsque \\\"on\\\" désigne une personne générique, l'accord se fait au singulier\",\r\n \"51.16\"\t: \"Lorsque \\\"on\\\" désigne clairement plusieurs personnes, l'accord se fait au pluriel \",\r\n \"52.1\"\t: \"Cette phrase ne semble pas cohérente mais l'origine de cette incohérence n'a pu être déterminée\",\r\n \"52.2\"\t: \"Sujet masculin singulier et reprise du sujet féminin singulier\",\r\n \"52.3\"\t: \"Sujet masculin singulier et reprise du sujet masculin pluriel\",\r\n \"52.4\"\t: \"Sujet masculin singulier et reprise du sujet féminin pluriel\",\r\n \"52.5\"\t: \"Sujet féminin singulier et reprise du sujet masculin singulier\",\r\n \"52.6\"\t: \"Sujet féminin singulier et reprise du sujet masculin pluriel\",\r\n \"52.7\"\t: \"Sujet féminin singulier et reprise du sujet féminin pluriel\",\r\n \"52.8\"\t: \"Sujet masculin pluriel et reprise du sujet masculin singulier\",\r\n \"52.9\"\t: \"Sujet masculin pluriel et reprise du sujet féminin singulier\",\r\n \"52.10\"\t: \"Sujet masculin pluriel et reprise du sujet féminin pluriel\",\r\n \"52.11\"\t: \"Sujet féminin pluriel et reprise du sujet masculin singulier\",\r\n \"52.12\"\t: \"Sujet féminin pluriel et reprise du sujet féminin singulier\",\r\n \"52.13\"\t: \"Sujet féminin pluriel et reprise du sujet masculin pluriel\",\r\n \"52.14\"\t: \"Sujet singulier et reprise du sujet au pluriel\",\r\n \"52.15\"\t: \"Sujet au pluriel et reprise du sujet au singulier\",\r\n \"52.16\"\t: \"Sujet masculin et reprise du sujet au féminin\",\r\n \"52.17\"\t: \"Sujet féminin et reprise du sujet au masculin\",\r\n \"53.1\"\t: \"Il semble y avoir confusion entre une forme verbale et un nom\",\r\n \"53.2\"\t: \"C.O.D. masculin singulier et attribut du C.O.D. féminin singulier\",\r\n \"53.3\"\t: \"C.O.D. masculin singulier et attribut du C.O.D. masculin pluriel\",\r\n \"53.4\"\t: \"C.O.D. masculin singulier et attribut du C.O.D. féminin pluriel\",\r\n \"53.5\"\t: \"C.O.D. féminin singulier et attribut du C.O.D. masculin singulier\",\r\n \"53.6\"\t: \"C.O.D. féminin singulier et attribut du C.O.D. masculin pluriel\",\r\n \"53.7\"\t: \"C.O.D. féminin singulier et attribut du C.O.D. féminin pluriel\",\r\n \"53.8\"\t: \"C.O.D. masculin pluriel et attribut du C.O.D. masculin singulier\",\r\n \"53.9\"\t: \"C.O.D. masculin pluriel et attribut du C.O.D. féminin singulier\",\r\n \"53.10\"\t: \"C.O.D. masculin pluriel et attribut du C.O.D. féminin pluriel\",\r\n \"53.11\"\t: \"C.O.D. féminin pluriel et attribut du C.O.D. masculin singulier\",\r\n \"53.12\"\t: \"C.O.D. féminin pluriel et attribut du C.O.D. féminin singulier\",\r\n \"53.13\"\t: \"C.O.D. féminin pluriel et attribut du C.O.D. masculin pluriel\",\r\n \"53.14\"\t: \"C.O.D. singulier et attribut du C.O.D. au pluriel\",\r\n \"53.15\"\t: \"C.O.D. au pluriel et attribut du C.O.D. au singulier\",\r\n \"53.16\"\t: \"C.O.D. masculin et attribut du C.O.D. au féminin\",\r\n \"53.17\"\t: \"C.O.D. féminin et attribut du C.O.D. au masculin\",\r\n \"60.1\"\t: \"Employez ici un infinitif et non un participe passé\",\r\n \"60.2\"\t: \"Employez ici un participe passé au lieu d'un infinitif\",\r\n \"60.3\"\t: \"Employez ici un participe passé au lieu d'une forme verbale\",\r\n \"60.4\"\t: \"Employez ici un infinitif au lieu d'une forme verbale\",\r\n \"61.1\"\t: \"Employez ici un participe présent au lieu d'un adjectif\",\r\n \"61.2\"\t: \"Employez ici un adjectif au lieu d'un participe présent\",\r\n \"61.3\"\t: \"Employez ici un participe présent au lieu d'un nom\",\r\n \"61.4\"\t: \"Employez ici un nom au lieu d'un participe présent\",\r\n \"62.1\"\t: \"Cette forme subjonctive semble anormale dans ce contexte\",\r\n \"62.2\"\t: \"Il semble y avoir confusion de formes verbales\",\r\n \"62.3\"\t: \"Ce verbe impersonnel nécessite le sujet \\\"il\\\"\",\r\n \"62.4\"\t: \"Ce verbe pronominal impose un sujet pluriel\",\r\n \"62.5\"\t: \"Il semble y avoir confusion entre le participe passé et une forme verbale\",\r\n \"62.6\"\t: \"Problème d'homophonie de participe passé\",\r\n \"62.7\"\t: \"La forme verbale devrait être remplacée par un nom\",\r\n \"63.1\"\t: \"Ce verbe nécessite l'auxiliaire avoir\",\r\n \"63.2\"\t: \"Ce verbe nécessite l'auxiliaire être\",\r\n \"63.3\"\t: \"Un verbe pronominal se conjugue avec l'auxiliaire être\",\r\n \"63.4\"\t: \"Ce verbe n'admet normalement pas un infinitif à sa suite\",\r\n \"63.5\"\t: \"Ce verbe intransitif ne peut avoir de C.O.D\",\r\n \"63.6\"\t: \"Ce verbe n'admet pas normalement de complétive\",\r\n \"63.7\"\t: \"Ce verbe normalement intransitif ne devrait pas avoir de complément\",\r\n \"64.1\"\t: \"Cet adjectif impose une complétive à l'indicatif\",\r\n \"64.2\"\t: \"Cet adjectif impose une complétive au subjonctif\",\r\n \"64.3\"\t: \"Ce nom impose une complétive à l'indicatif\",\r\n \"64.4\"\t: \"Ce nom impose une complétive au subjonctif\",\r\n \"64.5\"\t: \"Ce verbe impose une complétive à l'indicatif\",\r\n \"64.6\"\t: \"Ce verbe impose une complétive au subjonctif\",\r\n \"64.7\"\t: \"Cette conjonction de subordination impose l'indicatif\",\r\n \"64.8\"\t: \"Cette conjonction de subordination impose le subjonctif\",\r\n \"64.9\"\t: \"Les règles de la concordance des temps nécessitent un futur\",\r\n \"64.10\"\t: \"Les règles de la concordance des temps nécessitent un conditionnel\",\r\n \"64.11\"\t: \"Dans ce contexte, le subjonctif est nécessaire\",\r\n \"64.12\"\t: \"Cet adjectif impose une complétive à l'indicatif après une négation\",\r\n \"64.13\"\t: \"Cet adjectif impose une complétive au subjonctif après une négation\",\r\n \"64.14\"\t: \"Cette conjonction conditionnelle n'accepte pas ce temps\",\r\n \"65.1\"\t: \"Participe passé invariable pour un verbe suivi du C.O.D\",\r\n \"65.2\"\t: \"Participe passé invariable pour un verbe suivi d'infinitive sans C.O.D\",\r\n \"65.3\"\t: \"Participe passé invariable pour un verbe interrogatif pronominal avec complétive\",\r\n \"65.4\"\t: \"Participe passé invariable pour un verbe pronominal avec complétive C.O.D\",\r\n \"65.5\"\t: \"Participe passé invariable pour un verbe pronominal réfléchi non transitif\",\r\n \"65.6\"\t: \"Participe passé invariable pour un verbe intransitif\",\r\n \"65.7\"\t: \"Participe passé invariable pour un verbe impersonnel\",\r\n \"65.8\"\t: \"Participe passé invariable pour un verbe sans C.O.D. antécédent\",\r\n \"65.9\"\t: \"Participe passé invariable pour ce verbe suivi d'un infinitif\",\r\n \"65.10\"\t: \"Participe passé invariable car le complément est la proposition suivante!\",\r\n \"65.11\"\t: \"Participe passé toujours invariable\",\r\n \"66.1\"\t: \"Participe passé s'accordant avec le sujet pour un verbe pronominal suivi d'infinitive avec C.O.D\",\r\n \"66.2\"\t: \"Participe passé s'accordant avec le sujet pour un verbe pronominal avec complétive C.O.I\",\r\n \"66.3\"\t: \"Participe passé s'accordant avec le sujet pour un verbe pronominal avec PPV C.O.D\",\r\n \"66.4\"\t: \"Participe passé s'accordant avec le sujet pour un verbe pronominal avec le pronom relatif\",\r\n \"66.5\"\t: \"Participe passé s'accordant avec le sujet pour un verbe pronominal non transitif\",\r\n \"66.6\"\t: \"Participe passé s'accordant avec le sujet pour un verbe pronominal non transitif et non réfléchi\",\r\n \"66.7\"\t: \"Participe passé s'accordant avec le sujet pour un verbe pronominal réfléchi transitif\",\r\n \"66.8\"\t: \"Participe passé s'accordant avec le sujet du verbe être\",\r\n \"66.9\"\t: \"Le participe passé sans auxiliaire, s'accorde, comme l'adjectif, avec le nom auquel il se rapporte \",\r\n \"66.10\"\t: \"Participe passé invariable ou s'accordant avec le COD au masculin singulier\",\r\n \"66.11\"\t: \"Participe passé invariable ou s'accordant avec le COD au masculin pluriel\",\r\n \"66.12\"\t: \"Participe passé invariable ou s'accordant avec le COD au féminin singulier\",\r\n \"66.13\"\t: \"Participe passé invariable ou s'accordant avec le COD au féminin pluriel\",\r\n \"66.14\"\t: \"Participe passé invariable car le complément est une proposition sous-entendue\",\r\n \"66.15\"\t: \"Participe passé invariable car le COD apparent est un complément de mesure ou de durée\",\r\n \"67.1\"\t: \"Participe passé s'accordant avec le C.O.D. qui précède pour ce verbe pronominal\",\r\n \"67.2\"\t: \"Participe passé s'accordant avec la particule pré-verbale au pluriel\",\r\n \"67.3\"\t: \"Participe passé s'accordant avec la particule pré-verbale au singulier\",\r\n \"67.4\"\t: \"Participe passé s'accordant avec le C.O.D. au masculin singulier\",\r\n \"67.5\"\t: \"Participe passé s'accordant avec le C.O.D. au féminin singulier\",\r\n \"67.6\"\t: \"Participe passé s'accordant avec le C.O.D. au masculin pluriel\",\r\n \"67.7\"\t: \"Participe passé s'accordant avec le C.O.D. au féminin pluriel\",\r\n \"67.8\"\t: \"Le participe passé d'un verbe transitif s'accorde avec le C.O.D. qui précède\",\r\n \"67.9\"\t: \"Participe passé s'accordant avec le groupe interrogatif C.O.D\",\r\n \"68.1\"\t: \"Le participe passé du verbe pronominal s'accorde avec l'antécédent de la relative\",\r\n \"68.2\"\t: \"Le participe passé du verbe s'accorde avec l'antécédent de la relative, sujet de l'infinitif\",\r\n \"68.3\"\t: \"Le participe passé du verbe s'accorde avec l'antécédent de la relative\",\r\n \"68.4\"\t: \"Le participe passé du verbe s'accorde avec le pronom relatif débutant la phrase\",\r\n \"68.5\"\t: \"Le participe passé du verbe s'accorde avec un antécédent joint coordonné\",\r\n \"68.6\"\t: \"Le participe passé du verbe s'accorde avec le premier terme de l'antécédent\",\r\n \"70.1\"\t: \"Absence de verbe dans la phrase\",\r\n \"70.2\"\t: \"Absence de sujet dans la phrase\",\r\n \"70.3\"\t: \"Absence de C.O.D. pour un verbe à C.O.D. obligatoire\",\r\n \"70.4\"\t: \"Absence de C.O.I. pour un verbe à C.O.I. obligatoire\",\r\n \"70.5\"\t: \"Absence apparente d'article devant le substantif sujet\",\r\n \"70.6\"\t: \"Absence d'article entre le verbe et le substantif\",\r\n \"71.1\"\t: \"Double déterminant\",\r\n \"71.2\"\t: \"Particule préverbale C.O.D. anormale\",\r\n \"71.3\"\t: \"Particule préverbale C.O.I. anormale\",\r\n \"71.4\"\t: \"Pronom personnel mal placé\",\r\n \"71.5\"\t: \"Ce complément d'infinitif est anormal\",\r\n \"71.6\"\t: \"Ce voisinage de mots est anormal\",\r\n \"72.1\"\t: \"Cette apposition de noms est inhabituelle\",\r\n \"80.1\"\t: \"Ce sujet est surprenant associé à ce verbe\",\r\n \"80.2\"\t: \"Ce C.O.D. est surprenant associé à ce verbe\",\r\n \"80.3\"\t: \"Ce C.O.I. est surprenant associé à ce verbe\",\r\n \"80.4\"\t: \"Cet attribut est surprenant pour ce type de sujet\",\r\n \"80.5\"\t: \"Cet adjectif précède rarement le nom\",\r\n \"80.6\"\t: \"Cet adjectif suit rarement le nom\",\r\n \"80.7\"\t: \"Anormal entre le sujet et le verbe\",\r\n \"80.8\"\t: \"Ces particules pré-verbales ne sont pas dans l'ordre normal\",\r\n \"80.9\"\t: \"Pour ce verbe principal, l'attribut de l'infinitif prépositionnel s'accorde avec le sujet\",\r\n \"80.10\"\t: \"Pour ce verbe principal, l'attribut de l'infinitif prépositionnel s'accorde avec le C.O.D.\",\r\n \"80.11\"\t: \"Pour ce verbe principal, l'attribut de l'infinitif prépositionnel s'accorde avec le C.O.I.\",\r\n \"80.12\"\t: \"Cet adjectif en apposition est une épithète détachée s'accordant avec le mot support\",\r\n \"80.13\"\t: \"Cet adjectif, s'il s'accorde avec tout le groupe coordonné, devrait être au masculin pluriel\",\r\n \"80.14\"\t: \"Cet adjectif, s'il s'accorde avec tout le groupe coordonné, devrait être au féminin pluriel\",\r\n \"80.15\"\t: \"Cet adjectif devrait plutôt s'accorder avec le premier nom du groupe nominal\",\r\n \"80.16\"\t: \"Cet adjectif devrait plutôt s'accorder avec le deuxième nom du groupe nominal\",\r\n \"80.17\"\t: \"Si une proposition n'est pas sous-entendue après le participe, celui-ci s'accorde normalement avec l'antécédent\",\r\n \"80.18\"\t: \"Le pronom élidé est neutre, le participe passé reste donc invariable\",\r\n \"80.19\"\t: \"Le participe reste invariable car l'antécédent de la relative est le COD de l'infinitive prépositionnelle \",\r\n \"80.20\"\t: \"Participe passé en principe invariable quand l'objet direct est \\\"en\\\"\",\r\n \"80.21\"\t: \"Participe passé invariable pour un temps surcomposé\",\r\n \"80.22\"\t: \"Une virgule devrait être placée avant ce mot\",\r\n \"80.23\"\t: \"Devant ce mot, une virgule est peut-être inutile\",\r\n \"80.24\"\t: \"Le complément circonstanciel de temps nécessiterait plutôt un verbe au futur\",\r\n \"80.25\"\t: \"Le complément circonstanciel de temps nécessiterait plutôt un verbe au passé\",\r\n \"80.26\"\t: \"Les règles de la concordance des temps nécessitent un imparfait ou un passé\",\r\n \"80.27\"\t: \"Les règles de la concordance des temps n'acceptent pas ce temps\",\r\n \"80.28\"\t: \"Les règles de la concordance des temps nécessitent un présent\",\r\n \"80.29\"\t: \"Ce sujet apparent, C.O.D. réel, est surprenant associé à cette forme passive \",\r\n \"80.30\"\t: \"Selon votre paramétrage, cette forme passive doit être signalée\",\r\n \"80.31\"\t: \"Dans ce contexte, le futur est préférable au conditionnel\",\r\n \"80.32\"\t: \"Le jour de la semaine indiqué était incorrect pour cette date\",\r\n \"80.33\"\t: \"Groupe de mots figurant en doublon\",\r\n \"80.34\"\t: \"Les pronoms personnels précédant le sujet imposent une autre personne\",\r\n \"80.35\"\t: \"Dans ce contexte affirmatif, un futur semble préférable à un conditionnel\",\r\n \"80.36\"\t: \"Pour cette forme non interrogative, l'inversion du sujet semble fautive\",\r\n \"80.37\"\t: \"Pour cette forme interrogative, l'inversion du sujet est nécessaire\",\r\n \"80.38\"\t: \"Des groupes prépositionnels coordonnés doivent tous être au singulier ou au pluriel\",\r\n \"80.39\"\t: \"Dans ce contexte, le conditionnel est préférable au futur\",\r\n \"80.40\"\t: \"Dans ce contexte, ces adjectifs désignant des pays ou des continents restent au singulier\",\r\n \"80.41\"\t: \"Dans cette énumération, tous les éléments devraient être au singulier\",\r\n \"80.42\"\t: \"Dans cette énumération, tous les éléments devraient être au pluriel\",\r\n \"80.43\"\t: \"Cette reprise anaphorique doit être au pluriel comme son référent\",\r\n \"80.44\"\t: \"Après cette interjection, un point d'exclamation est nécessaire\",\r\n \"80.45\"\t: \"La latitude est Nord ou Sud, la longitude est Ouest ou Est\",\r\n \"80.46\"\t: \"La confusion phonétique entre 'la pesanteur' et 'l'apesanteur' impose le terme 'impesanteur'\",\r\n \"80.47\"\t: \"Le participe passé reste invariable car le verbe constitue une expression verbale avec l'antécédent\",\r\n \"80.48\"\t: \"Le nom devrait être remplacée par la forme verbale\",\r\n \"80.49\"\t: \"L'accord en nombre de ce groupe nominal en apposition du groupe précédent semble nécessaire\",\r\n \"80.50\"\t: \"L'accord de ce groupe nominal en apposition du nom propre semble nécessaire\",\r\n \"80.51\"\t: \"L'accord de ce groupe nominal avec le nom propre semble nécessaire\",\r\n \"80.52\"\t: \"L'association entre le sujet et le participe présent est inhabituelle\",\r\n \"80.53\"\t: \"Le verbe devrait être à l'indicatif ou, mieux, au conditionnel\"\r\n }","// Handles en-GB, en-US, en-CA & en-AU\r\nexport default {\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"Use of whitespace before comma and before/after parentheses\",\r\n \"DOUBLE_PUNCTUATION\": \"Use of two consecutive dots or commas\",\r\n \"UPPERCASE_SENTENCE_START\": \"Checks that a sentence starts with an uppercase letter\",\r\n \"WHITESPACE_RULE\": \"Whitespace repetition (bad formatting)\",\r\n \"SENTENCE_WHITESPACE\": \"Missing space between sentences\",\r\n \"TOO_LONG_SENTENCE\": \"Readability: sentence over 40 words\",\r\n \"PUNCTUATION_PARAGRAPH_END\": \"No punctuation mark at the end of paragraph\",\r\n \"EN_SPECIFIC_CASE\": \"Checks upper/lower case spelling of some proper nouns\",\r\n \"EN_UNPAIRED_BRACKETS\": \"Unpaired braces, brackets, quotation marks and similar symbols\",\r\n \"ENGLISH_WORD_REPEAT_RULE\": \"Word repetition (e.g. 'will will')\",\r\n \"EN_A_VS_AN\": \"Use of 'a' vs. 'an'\",\r\n \"ENGLISH_WORD_REPEAT_BEGINNING_RULE\": \"Successive sentences beginning with the same word\",\r\n \"EN_COMPOUNDS\": \"Hyphenated words, e.g., 'case-sensitive' instead of 'case sensitive'\",\r\n \"EN_CONTRACTION_SPELLING\": \"Spelling of English contractions\",\r\n \"ENGLISH_WRONG_WORD_IN_CONTEXT\": \"commonly confused words (proscribe/prescribe, heroine/heroin etc.)\",\r\n \"EN_DASH_RULE\": \"Checks if hyphenated words were spelled with dashes (e.g., 'T — shirt' instead 'T-shirt').\",\r\n \"EN_WORD_COHERENCY\": \"Coherent spelling of words with two admitted variants.\",\r\n \"EN_DIACRITICS_REPLACE\": \"Words with diacritics\",\r\n \"EN_SIMPLE_REPLACE\": \"Checks for wrong words/phrases\",\r\n \"EN_REPEATEDWORDS\": \"Suggest synonyms for repeated words.\",\r\n \"EN_GB_SIMPLE_REPLACE\": \"American words easily confused in British English\",\r\n \"METRIC_UNITS_EN_IMPERIAL\": \"Suggests or checks conversion of units to their metric equivalents.\",\r\n \"REP_PASSIVE_VOICE\": \"Passive voice (repetition experiment)\",\r\n \"REP_THANK_YOU_FOR\": \"Rep: thank you for\",\r\n \"VOX_DEI\": \"vox populi, vox dei (Dei)\",\r\n \"EUCLIDEAN_CAPITALIZATION\": \"euclidean (Euclidean) distance\",\r\n \"CELSIUS\": \"capitalization of 'Celsius'\",\r\n \"IN_SHANGHAI\": \"in shanghai (Shanghai)\",\r\n \"OMICRON_VARIANT\": \"Omicron\",\r\n \"SAAS\": \"SAAS (SaaS)\",\r\n \"HALLOWEEN\": \"Halloween\",\r\n \"U_TURN\": \"u-turn (U-turn)\",\r\n \"V_SHAPED\": \"v-shaped (V-turn)\",\r\n \"PONZI_SCHEME\": \"Ponzi scheme\",\r\n \"GEIGER_COUNTER\": \"Geiger counter\",\r\n \"LA_PAZ\": \"La Paz\",\r\n \"LOWERCASE_NAMES\": \"harry's (Harry's)\",\r\n \"FILE_EXTENSIONS_CASE\": \"Capitalize file extensions\",\r\n \"ID_CASING\": \"id (ID / I'd)\",\r\n \"CAPITALIZATION\": \"capitalize proper names, geographic terms, historic episodes...\",\r\n \"T_BONE\": \"t-bone (T-bone)\",\r\n \"THIRD_WORLD\": \"Third World\",\r\n \"PILATES\": \"Pilates\",\r\n \"CHRISTMAS\": \"Christmas\",\r\n \"PAYPAL\": \"PayPal\",\r\n \"YOUTUBE\": \"YouTube\",\r\n \"LINKEDIN\": \"LinkedIn\",\r\n \"WECHAT\": \"WeChat\",\r\n \"GITHUB\": \"GitHub\",\r\n \"WORDPRESS\": \"WordPress\",\r\n \"BLACK_SEA\": \"Black Sea\",\r\n \"THE_FRENCH\": \"the french (French)\",\r\n \"IN_CHINA\": \"china (China)\",\r\n \"IN_QUEENS\": \"queens (Queens)\",\r\n \"BAY_AREA\": \"bay area (Bay Area)\",\r\n \"IN_LONG_BEACH\": \"long beach (Long Beach)\",\r\n \"IN_LONG_ISLAND\": \"long island (Long Island)\",\r\n \"THE_DUTCH\": \"the dutch (Dutch)\",\r\n \"THE_POLISH\": \"the polish (polish)\",\r\n \"NEW_GUINEA\": \"New guinea (New Guinea)\",\r\n \"JAPAN\": \"proper noun 'Japan'\",\r\n \"TURKEY\": \"proper noun 'Turkey' (country)\",\r\n \"ROYAL_MAIL\": \"royal mail (Royal Mail)\",\r\n \"ROYAL_AIR_FORCE\": \"royal air force (Royal Air Force)\",\r\n \"FRISBEE\": \"frisbee (Frisbee)\",\r\n \"PARMESAN\": \"parmesan (Parmesan)\",\r\n \"LC_AFTER_PERIOD\": \"Lowercase word after word and no space in between\",\r\n \"AI\": \"ai (AI)\",\r\n \"I_A_M\": \"I a m (am)\",\r\n \"LOT_ON_OF\": \"I have a lot on (of) balls\",\r\n \"SOU_YOU\": \"sou (you)\",\r\n \"THE_RE\": \"the re (are)\",\r\n \"OVERT_HE\": \"overt he (over the)\",\r\n \"CAN_MISSPELLING\": \"It cam (can) happen anytime.\",\r\n \"MY_NOT_MU\": \"Welcome to mu (my) house\",\r\n \"IT_S_BRITNEY\": \"Britney Spears misspellings\",\r\n \"COLDN_T\": \"coudn't (couldn't)\",\r\n \"THE_APO_RE\": \"the're\",\r\n \"IT_APOS_A\": \"it'a (it's)\",\r\n \"LOOK_DOOR\": \"look (lock) the door\",\r\n \"EN_SPLIT_WORDS_HYPHEN\": \"wrongly split words with hyphen\",\r\n \"HELLOS\": \"Hellos (Hello)\",\r\n \"A3FT\": \"a3ft (a 3ft elephant)\",\r\n \"HIPAA\": \"HIPPA (HIPAA)\",\r\n \"NUMBERS_IN_WORDS\": \"Numbers in words\",\r\n \"TYPO_A_RE\": \"There a re (are) a few items missing\",\r\n \"YOURE\": \"youre vs your\",\r\n \"YOUR_E\": \"your'e (you're) it\",\r\n \"PRP_AREA\": \"they area (are)\",\r\n \"FORT_THE\": \"fort the (for the)\",\r\n \"YAL_YALL\": \"y'al (y'all)\",\r\n \"TYPO_CONTRACTION\": \"isn'r (isn't)\",\r\n \"UNITE_STATES\": \"Unite State -> United States\",\r\n \"UNITE_KINGDOM\": \"Unite Kingdom -> United Kingdom\",\r\n \"DIED_IN_THE_WOOL\": \"died-in-the-wool -> dyed-in-the-wool\",\r\n \"FAIR_SURE\": \"fair sure ? fairly sure\",\r\n \"WE_APOSTROPHE_ARE\": \"we'are ? we're\",\r\n \"WERE_RE\": \"were're ? we're\",\r\n \"HAS_IT_NNS__IT_ITS\": \"has it advantages ? has its advantages\",\r\n \"LOOKS_LIKES\": \"looks likes ? looks like\",\r\n \"KIN_REGARDS\": \"Kin (kind) regards\",\r\n \"PERPETUUM_MOBILE\": \"perpetuum mobile\",\r\n \"WELL_SUITING\": \"well suiting, well suitable ? well suited\",\r\n \"PEE_INSTALLED\": \"pee-configured (pre-configured)\",\r\n \"ADD_NO\": \"add-no (add-on)\",\r\n \"SON_T\": \"son't (don't)\",\r\n \"T_HE\": \"t he (the)\",\r\n \"CONTRACTION_CASE\": \"inconsistent case in contraction (e.g. I'Ve)\",\r\n \"MAH\": \"mah (my)\",\r\n \"MI\": \"mi (me)\",\r\n \"HING\": \"hing (thing / hang)\",\r\n \"HEP\": \"hep (help / hip)\",\r\n \"NEED_HELPS\": \"I need helps (help)\",\r\n \"PAPUA_NEW_GUINEA\": \"Misspellings of 'Papua New Guinea'\",\r\n \"LIGATURES\": \"Word contains a ligature\",\r\n \"IN_LAWS\": \"brother-in-laws (brothers-in-law)\",\r\n \"COMPERE_COMPARE\": \"compere (compare)\",\r\n \"SHOULD_VS_SHOULDER\": \"looked over her should (shoulder)\",\r\n \"TRUE_TO_WORD\": \"true to her words (word)\",\r\n \"DEGREE_CHANGE\": \"360 (180) degree change\",\r\n \"TOW_THE_LINE\": \"tow (toe) the line\",\r\n \"RACK_BRAIN\": \"wrack (rack) one's brain about\",\r\n \"HALO_HALLO\": \"Halo (Hallo)\",\r\n \"APOS_RE\": \"we'Re' (we're) etc\",\r\n \"AS_FOLLOW_AS_FOLLOWS\": \"'as follow' (as follows)\",\r\n \"BY_PASSIVE_PARTICIPLE_BE\": \"'by' + passive participle (be)\",\r\n \"MISS_VERB\": \"miss use (misuse)\",\r\n \"BEE_BEEN\": \"bee (been)\",\r\n \"SEE_SEEN\": \"see (seen)\",\r\n \"WORD_WORLD\": \"word (world)\",\r\n \"WONT_CONTRACTION\": \"wont (won't)\",\r\n \"DONT_T\": \"I dont't (don't)\",\r\n \"WANT_BE\": \"want be (won't be)\",\r\n \"DELETE_SPACE\": \"does n't (doesn't)\",\r\n \"INCORRECT_CONTRACTIONS\": \"Contraction errors: e.g. did'nt (didn't)\",\r\n \"PERS_PRON_CONTRACTION\": \"I'l (I'll) etc.\",\r\n \"IVE_CONTRACTION\": \"Ive -> I've\",\r\n \"BEAT_REGARDS\": \"beat (best) regards\",\r\n \"LING\": \"ling (long)\",\r\n \"WAN_T\": \"wan't (want)\",\r\n \"RE_CENT\": \"re cent (recent)\",\r\n \"IF_WHICH\": \"if which (if, which)\",\r\n \"I_FEEL\": \"I feel good\",\r\n \"LOT_S\": \"lot's of (lots of)\",\r\n \"GOOD_NEWS\": \"the good new (news) is ...\",\r\n \"A_BUT\": \"a but (a bit / about)\",\r\n \"TOOL_LONG\": \"tool long (too long)\",\r\n \"AN_THEN\": \"an then (and then)\",\r\n \"AH_HA\": \"ah ha (aha)\",\r\n \"A_WAS\": \"a was (way)\",\r\n \"ALLTHOUGH\": \"all though (although)\",\r\n \"ALSO_KNOW\": \"also know (known)\",\r\n \"AS_OPPOSE_TO_AS_OPPOSED_TO\": \"as oppose to (as opposed to)\",\r\n \"WHAT_HOW\": \"How (What) is he like?\",\r\n \"CONFUSION_GONG_GOING\": \"gong/going\",\r\n \"CONFUSION_OF_THEN_THAN\": \"then (than)\",\r\n \"CONFUSION_OF_THESES_THESE\": \"theses (these)\",\r\n \"CONFUSION_OF_ME_I\": \"me (I)\",\r\n \"CONFUSION_OF_BEEN_BEING\": \"been (being)\",\r\n \"OUR_OUT\": \"out (our)\",\r\n \"YOUR_SHOULD\": \"your (you) should\",\r\n \"US_USE\": \"confusion of 'us' vs. 'use'\",\r\n \"ON_OF_THE\": \"on (one) of the most/least/...\",\r\n \"APART_A_PART\": \"apart of (a part of, apart from)\",\r\n \"APART_FORM\": \"apart form (apart from)\",\r\n \"UP_TO_DATA\": \"up to data (date)\",\r\n \"COLD_COULD\": \"he cold do (he could do)\",\r\n \"FEEL_TREE_TO\": \"feel tree (free) to\",\r\n \"EASIEST_WAS_TO\": \"easiest was (way) to\",\r\n \"ET_AL\": \"et al (et al.)\",\r\n \"ARE_STILL_THE_SOME\": \"are still the some (same)\",\r\n \"DE_JURO\": \"de juro (jure)\",\r\n \"I_THIN\": \"I thin (think)\",\r\n \"ALL_BE_IT\": \"all be it (albeit)\",\r\n \"ALL_OVER_THE_WORD\": \"all over the word (all over the world)\",\r\n \"ANOTHER_WORDS\": \"another words (in other words)\",\r\n \"BEING_BEGIN\": \"being (begin)\",\r\n \"CA_PRP\": \"ca I (can I)\",\r\n \"FROM_FORM\": \"from/form\",\r\n \"THERE_EXITS\": \"there exits (there exists)\",\r\n \"HE_THE\": \"he (the)\",\r\n \"THE_HOW\": \"the how/why (how/why)\",\r\n \"I_LOWERCASE\": \"i vs. I\",\r\n \"IN_JANUARY\": \"in January 1 (on January 1)\",\r\n \"IN_PARENTHESIS\": \"in parenthesis (in parentheses)\",\r\n \"IN_STEAD_OF\": \"in stead of (instead of)\",\r\n \"IN_TACT\": \"in tact (intact)\",\r\n \"IT_SELF\": \"it self (itself)\",\r\n \"VE_GO_TO\": \"I've go to (I've got to)\",\r\n \"FOR_ALONG_TIME\": \"for along time (for a long time)\",\r\n \"FOR_AWHILE\": \"awhile (a while)\",\r\n \"AWAY_FRO\": \"away fro (away from)\",\r\n \"FOR_FRO\": \"fro (for)\",\r\n \"HUMANS_BEINGS\": \"humans beings (human beings)\",\r\n \"LAST_BUT_NOT_LAST\": \"last but not last (least)\",\r\n \"HOUR_OUR\": \"half an our (half an hour)\",\r\n \"ONE_IN_THE_SAME\": \"one in the same (one and the same)\",\r\n \"ONE_THE_ONE_HAND\": \"'One the one hand' (On the one hand)\",\r\n \"PER_SE\": \"per say (per se)\",\r\n \"SOME_WHAT_JJ\": \"some what (somewhat)\",\r\n \"STAND_ALONE_NN\": \"stand alone (standalone)\",\r\n \"INDUSTRY_LEADING_NN\": \"industry leading (industry-leading)\",\r\n \"UNDER_WEAR\": \"under wear (underwear)\",\r\n \"WHAT_SO_EVER\": \"whatsoever ? whatsoever\",\r\n \"WHERE_AS\": \"where as/by (whereas/whereby)\",\r\n \"WITHOUT_OUT\": \"without out (without)\",\r\n \"YOURS_APOSTROPHE\": \"Possessive pronoun with apostrophe\",\r\n \"CD_WEEK_S\": \"Number + 'week's time' (weeks' time)\",\r\n \"TOT_HE\": \"tot he (to the)\",\r\n \"TANK_YOU\": \"tank (thank) you\",\r\n \"FILED_WITH\": \"filed (filled) with\",\r\n \"WITH_OUT\": \"with out (without)\",\r\n \"IT_IS_NO\": \"it is no (not/now)\",\r\n \"ALLOT_OF\": \"allot of (a lot of)\",\r\n \"ALL_MOST\": \"all most (almost)\",\r\n \"ANALYSIS_IF\": \"analysis if (of)\",\r\n \"TOW_TWO\": \"tow (two)\",\r\n \"IF_OF\": \"if (of)\",\r\n \"IF_IS\": \"if it if (is)\",\r\n \"BED_ENGLISH\": \"bed/bat (bad) English/...\",\r\n \"WIFI\": \"WiFi (Wi-Fi)\",\r\n \"SENT_START_THEM\": \"'Them (Then)' at sentence start\",\r\n \"THINK_YOU_A\": \"think you a/an (are)\",\r\n \"IS_WERE\": \"is were (where)\",\r\n \"ONE_ORE\": \"one ore (or)\",\r\n \"GOING_ONE\": \"going one (on)\",\r\n \"NAIL_ON_THE_HEAD\": \"nail on the hat (head)\",\r\n \"ON_THE_SHELF\": \"sit of (on) the shelf\",\r\n \"COME_THROUGH\": \"come threw (through)\",\r\n \"VARY_VERY\": \"vary (very)\",\r\n \"WEATHER_WHETHER\": \"weather (whether)\",\r\n \"SEE_SEA\": \"see (sea)\",\r\n \"I_IF\": \"I (if)\",\r\n \"STATIONARY_STATIONERY\": \"stationary (stationery)\",\r\n \"THE_ONLY_ON\": \"the only on (one)\",\r\n \"I_A\": \"I a/an (am)\",\r\n \"PLEASE_NOT_THAT\": \"please not (note) that\",\r\n \"I_AM_NOTE_SURE\": \"I'm note (not) sure\",\r\n \"NUT_NOT\": \"nut (not)\",\r\n \"AND_SO_ONE\": \"and so one (on)\",\r\n \"THROUGH_AWAY\": \"through (throw) away\",\r\n \"OR_WAY_IT\": \"or way (was) it\",\r\n \"DT_RESPONDS\": \"the/a responds (response)\",\r\n \"PRP_RESPONSE\": \"responds vs. response\",\r\n \"THINK_OFF\": \"think/know off (of)\",\r\n \"NOT_US1\": \"not us (use)\",\r\n \"YOU_THING\": \"I/you/... thing (think)\",\r\n \"WERE_VBB\": \"were (where/we)\",\r\n \"VBZ_VBD\": \"it (is)\",\r\n \"LOOK_ATE\": \"look ate (at)\",\r\n \"A_KNOW_BUG\": \"a know (known) bug/problem\",\r\n \"MY_BE\": \"my (may) be\",\r\n \"IS_SHOULD\": \"is (it) should/could\",\r\n \"CANT\": \"cant (can't)\",\r\n \"HELL\": \"hell/shell (he'll, she'll)\",\r\n \"LETS_LET\": \"let's (lets)\",\r\n \"IT_SOMETHING\": \"if it (is) something else\",\r\n \"IT_IS\": \"its vs. it's\",\r\n \"ITS_JJS_NN\": \"its (possessive) JJS NN\",\r\n \"FOR_ITS_NN\": \"for its NN (possessive)\",\r\n \"ABOUT_ITS_NN\": \"about its NN (possessive)\",\r\n \"TO_VB_ITS_NN\": \"to VB its NN (possessive)\",\r\n \"DOE_SNOT\": \"doe snot (does not)\",\r\n \"IT_IS_2\": \"its vs it is\",\r\n \"CC_IT_VBG\": \"'it' vs. 'its' after 'and'\",\r\n \"WED_WE_D\": \"wed (we'd)\",\r\n \"WRONG_GENITIVE_APOSTROPHE\": \"wrong genitive (e.g., 'employees's' instead of 'employee's')\",\r\n \"MISSING_GENITIVE\": \"missing genitive (e.g., 'employee's' instead of 'employee')\",\r\n \"WHOS\": \"who's (whose)\",\r\n \"WHOS_NN\": \"whos NN (possessive)\",\r\n \"WHOSE_DT\": \"whose DT (possessive)\",\r\n \"WHOS_ACTUAL\": \"who's actual (possessive)\",\r\n \"WHOS_TO\": \"who's PREPOSITION\",\r\n \"NO_WHERE\": \"no where (nowhere)\",\r\n \"NOW\": \"no/now\",\r\n \"SCENT_SENT\": \"seen or scene\",\r\n \"SCENE_SEEN\": \"seen/scene\",\r\n \"MANGER_MANAGER\": \"manger (manager)\",\r\n \"SQUARED_SQUARE\": \"squared (square)\",\r\n \"MODAL_OF\": \"could of (could have)\",\r\n \"HAD_OF\": \"had of (had)\",\r\n \"ONES\": \"ones (one's)\",\r\n \"PRESIDENTS_DAY_APOSTROPHE\": \"missing apostrophe in 'Presidents Day'\",\r\n \"INTERNATIONAL_WORKERS_DAY_APOSTROPHE\": \"missing apostrophe in 'International Workers Day'\",\r\n \"CHILDRENS_DAY_APOSTROPHE\": \"missing apostrophe in 'Childrens Day'\",\r\n \"TOMORROW_POSSESSIVE_APOSTROPHE\": \"Missing possessive: Todays (today's) meeting\",\r\n \"THIS_YEARS_POSSESSIVE_APOSTROPHE\": \"Missing possessive: This weeks (week's) meeting\",\r\n \"POSSESSIVE_APOSTROPHE\": \"Possessive apostrophe error\",\r\n \"POSSESSIVE_APOSTROPHE_2\": \"somethings ('s) wrong\",\r\n \"SPECIFIC_POSSESSIVE_APOSTROPHE\": \"Possessive apostrophe error\",\r\n \"A_NNS_BEST_NN\": \"a girls best friend\",\r\n \"APOSTROPHE_PLURAL_\": \"Possessive form instead of plural\",\r\n \"DOS_AND_DONTS\": \"Do's and Don'ts\",\r\n \"VERB_APOSTROPHE_S\": \"Verb with 's\",\r\n \"ANY_BODY\": \"any body (anybody)\",\r\n \"MAY_BE\": \"may be (maybe)\",\r\n \"ONCE_AND_A_WHILE\": \"once and (in) a while\",\r\n \"SPARKING_WINE\": \"sparking (sparkling) wine\",\r\n \"THROWS_THROES\": \"throws (throes)\",\r\n \"THOUGH_THROUGH\": \"though (through)\",\r\n \"ENVELOPE_ENVELOP\": \"envelope (envelop)\",\r\n \"ENVELOP_ENVELOPE\": \"envelop (envelope)\",\r\n \"VERY_MATCH\": \"very match (much)\",\r\n \"VARY_MUCH\": \"...you vary (very) much\",\r\n \"HASNT_IRREGULAR_VERB\": \"'hasn't' + irregular past tense verb\",\r\n \"COULDVE_IRREGULAR_VERB\": \"'Could've' + irregular past tense verb\",\r\n \"ANINFOR_EVERY_DAY\": \"an every day (everyday)\",\r\n \"ALL_WAYS\": \"all ways (always)\",\r\n \"THERE_FORE\": \"there fore (therefore)\",\r\n \"SELF_FISH\": \"self fish (selfish)\",\r\n \"EVERY_WHERE\": \"every where (everywhere)\",\r\n \"FIGURE_HEAD\": \"figure head (figurehead)\",\r\n \"FLAG_SHIP\": \"flag ship (flagship)\",\r\n \"HOW_EVER\": \"how ever (however)\",\r\n \"LAUGHING_STOCK\": \"laughing stock (laughingstock)\",\r\n \"MEAN_WHILE\": \"mean while (meanwhile)\",\r\n \"NATION_WIDE\": \"nation wide (nationwide)\",\r\n \"NEAR_BY\": \"near by (nearby)\",\r\n \"NEW_COMER\": \"new comer (newcomer)\",\r\n \"NOW_A_DAYS\": \"now a days (nowadays)\",\r\n \"ON_GOING\": \"on going (ongoing)\",\r\n \"OUT_GROW\": \"out grow (outgrow)\",\r\n \"OUT_SIDE\": \"out side (outside)\",\r\n \"OVER_LOOKED\": \"over looked (overlooked)\",\r\n \"OVER_LOOKING\": \"over looking (overlooking)\",\r\n \"OVER_RATED\": \"over rated (overrated)\",\r\n \"OVER_SEAS\": \"over seas (overseas)\",\r\n \"SHORT_COMING\": \"short coming (shortcoming)\",\r\n \"SHORT_CUT\": \"short cut (shortcut)\",\r\n \"SIDE_KICK\": \"side kick (sidekick)\",\r\n \"SKY_DIVING\": \"sky diving (skydiving)\",\r\n \"SOME_HOW\": \"some how (somehow)\",\r\n \"THEM_SELVES\": \"them selves (themselves)\",\r\n \"BACK_FIRE\": \"back fire (backfire)\",\r\n \"WORLD_WIDE\": \"world wide (worldwide)\",\r\n \"WORTH_WHILE\": \"worth while (worthwhile)\",\r\n \"WAY_SIDE\": \"way side (wayside)\",\r\n \"ALONG_SIDE\": \"along side (alongside)\",\r\n \"BE_CAUSE\": \"be cause (because)\",\r\n \"BE_WARE\": \"be ware (beware)\",\r\n \"BEFORE_HAND\": \"before hand (beforehand)\",\r\n \"DOWN_SIDE\": \"down side (downside)\",\r\n \"THROUGH_OUT\": \"through out (throughout)\",\r\n \"ON-GOING\": \"on-going (ongoing)\",\r\n \"LIGHT_WEIGHT\": \"light weight (lightweight)\",\r\n \"HEAVY_WEIGHT\": \"heavy weight (heavyweight)\",\r\n \"FREE_LANCE\": \"free lance (freelance)\",\r\n \"FREE_LANCER\": \"free lancer (freelancer)\",\r\n \"FREE_LANCES\": \"free lances (freelances)\",\r\n \"FREE_LANCING\": \"free lancing (freelancing)\",\r\n \"VB_A_WHILE\": \"VB a while (awhile)\",\r\n \"KEY_WORDS\": \"key words (keywords)\",\r\n \"CROWD_SOURCING\": \"crowd sourcing (crowdsourcing)\",\r\n \"META_DATA\": \"meta data (metadata)\",\r\n \"PAST_TIME\": \"past time (pastime)\",\r\n \"ANY_WHERE\": \"any where (anywhere)\",\r\n \"SOME_WHERE\": \"some where (somewhere)\",\r\n \"DT_BAIL_OUT\": \"a bail out (bailout)\",\r\n \"OUT_COME\": \"out come (outcome)\",\r\n \"COMPRISED_OF\": \"comprised of\",\r\n \"WRITINGPOLITICALSCIENCE_GAFFS\": \"political gaffs (gaffes)\",\r\n \"WRITINGPOLITICALSCIENCE_GAFF\": \"political gaff (gaffe)\",\r\n \"WERE_MD\": \"were MD\",\r\n \"OTHER_THEN\": \"other then (other than)\",\r\n \"WAS_ALOUD\": \"was aloud (allowed)\",\r\n \"ELUDED_TO\": \"eluded to (alluded to)\",\r\n \"ALLUDE_ELUDE\": \"allude (elude)\",\r\n \"COMPLAINT_COMPLIANT\": \"complaint (compliant) with\",\r\n \"BAITED_BREATH\": \"baited (bated) breath\",\r\n \"BARE_IN_MIND\": \"bare (bear) in mind\",\r\n \"PLAYOFF_BIRTH\": \"playoff birth (berth)\",\r\n \"DISC_BREAK\": \"disc break (brakes)\",\r\n \"HIT_THE_BREAKS\": \"hit the breaks (brakes)\",\r\n \"SPINAL_CHORD\": \"spinal chord (cord)\",\r\n \"FULL_COMPLIMENT_OF\": \"full compliment (complement) of\",\r\n \"IN_EDITION_TO\": \"in edition (addition) to\",\r\n \"FAIRED_AS_WELL\": \"faired (fared) as well\",\r\n \"FAIRED_BADLY\": \"faired (fared) badly\",\r\n \"AND_SO_FOURTH\": \"and so fourth (forth)\",\r\n \"PUT_FOURTH_THEAAN\": \"put fourth (forth) the\",\r\n \"FORTH_PLACE\": \"forth (fourth) place\",\r\n \"DOOR_JAM\": \"door jam (jamb)\",\r\n \"LESS_DOLLARSMINUTESHOURS\": \"less (fewer) dollars\",\r\n \"FEWER_UNCOUNTABLE\": \"fewer (less) uncountable\",\r\n \"AM_LOATHE_TO\": \"am loathe (loath) to\",\r\n \"LOOSING_EFFORTRECORDSEASON\": \"loosing (losing) effort\",\r\n \"MUTE_POINT\": \"mute (moot) point\",\r\n \"PEAK_HIS_INTEREST\": \"peak (pique) his interest\",\r\n \"MOST_POPULACE\": \"most populace (populous)\",\r\n \"AT_THE_REIGNS\": \"at the reigns (reins)\",\r\n \"MANAGERIAL_REIGNS\": \"managerial reigns (reins)\",\r\n \"REIGNS_OF_POWER\": \"reigns (reins) of power\",\r\n \"TAKE_THE_REIGNS\": \"take the reigns (reins)\",\r\n \"FREE_REIGN\": \"free reign (rein)\",\r\n \"LEAD_ROLL\": \"lead roll (role)\",\r\n \"ROLL_PLAYER\": \"roll player (role player)\",\r\n \"ROLE_CALL\": \"role (roll) call\",\r\n \"CONSTRUCTION_SIGHT\": \"construction sight (site)\",\r\n \"OUT_OF_SINK\": \"out of sink (sync)\",\r\n \"DIFFERENT_TACT\": \"different tact (tack)\",\r\n \"IN_PRP_THEN_IN_PRP\": \"IN PRP then (than) IN PRP\",\r\n \"COMPARISONS_THEN\": \"comparisons then (than)\",\r\n \"COMPARISONS_NNS_THEN\": \"comparisons NNS then (than)\",\r\n \"COMPARISONS_AS_ADJECTIVE_AS\": \"comparison 'as ... as' (no comparative/superlative)\",\r\n \"TO__THEN_BY\": \"to blank then (than) by\",\r\n \"WAIVED_OFF\": \"waived (waved) off\",\r\n \"WRECK_HAVOC\": \"wreck (wreak) havoc\",\r\n \"ABOUT_WHO_TO\": \"about who (whom) to\",\r\n \"WHO_WHOM\": \"who (whom)\",\r\n \"WHOM_WHO\": \"whom (who)\",\r\n \"VBG_YOURE\": \"VBG you're (your)\",\r\n \"THATS_YOURE\": \"that's you're (your)\",\r\n \"THATS_THEYRE\": \"that's they're (their)\",\r\n \"THATS_ITS\": \"that's its (possessive)\",\r\n \"YOUR_YOU\": \"your (you)\",\r\n \"YOUR_YOU_2\": \"you/your (you're)\",\r\n \"EXITED_EXCITED\": \"exited (excited)\",\r\n \"YOUR_YOU_RE\": \"Your (You're)\",\r\n \"YOURE_JJS_NN\": \"you're (your) JJS NN\",\r\n \"THEYRE_JJS_NN\": \"they're (their) JJS NN\",\r\n \"WRB_THERE_THEY_RE\": \"'wherever there (they are) going'\",\r\n \"VBZ_IN_THEYRE_NN\": \"VBZ IN they're (their) NN\",\r\n \"IN_VBZ_THEYRE_NN\": \"IN VBZ they're (their) NN\",\r\n \"DT_VBZ_THEYRE_NN\": \"DT VBZ they're (their) NN\",\r\n \"NEED_TO_VBG\": \"need to VBG (VB)\",\r\n \"ILL_I_LL\": \"Ill (I'll)\",\r\n \"I_ILL\": \"I ill (I will)\",\r\n \"WITHE_WITH\": \"with(e)\",\r\n \"DUCK_DUCT\": \"duck (duct) tape\",\r\n \"OFT_HE\": \"oft he (of the)\",\r\n \"HAST_O\": \"hast o (has to)\",\r\n \"GOON\": \"goon (go on)\",\r\n \"LAID_AHEAD\": \"laid (lay) ahead\",\r\n \"LAY_AROUND\": \"lay (lie) around\",\r\n \"LAYING_AROUND\": \"laying (lying) around\",\r\n \"LAYS_ATOP\": \"lays (lies) atop\",\r\n \"WAS_LAIN\": \"was lain (laid)\",\r\n \"JIMMY_BUFFET\": \"Jimmy Buffet (Buffett)\",\r\n \"HARRISON_FORD\": \"Harison (Harrison) Ford\",\r\n \"SCHROEDINGER\": \"Erwin Schroedinger (Schrödinger)\",\r\n \"JIMMY_HENDRIX\": \"Jimmy (Jimi) Hendrix\",\r\n \"PHILLIPS_ARENA\": \"Phillips (Philips) Arena\",\r\n \"JIVE_WITH\": \"jive (jibe) with\",\r\n \"MASH_POTATOES\": \"mash (mashed) potatoes\",\r\n \"IS_RENOWN_FOR\": \"is renown (renowned) for\",\r\n \"BREW_HAHA\": \"brew haha (brouhaha)\",\r\n \"WORKING_PROGRESS\": \"working (work in) progress\",\r\n \"HISTORIC_RECORD\": \"historic (historical) record\",\r\n \"GUEST_STARED\": \"guest stared (guest-starred)\",\r\n \"IN_TITLED\": \"in titled (entitled)\",\r\n \"IS_CONTAINED_OF\": \"is contained of (contains)\",\r\n \"AFTER_BEEN\": \"after been (being)\",\r\n \"IMMINENT_DOMAIN\": \"imminent (eminent) domain\",\r\n \"CHOMPING_AT_THE_BIT\": \"chomping (champing) at the bit\",\r\n \"CONSTELLATION_PRIZE\": \"constellation (consolation) prize\",\r\n \"CONSTITUTES_OF\": \"constitutes (consists) of\",\r\n \"COULD_CARE_LESS\": \"could (couldn't) care less\",\r\n \"COULDNT_CARELESS\": \"couldn't careless (care less)\",\r\n \"COULD_GIVE_A_DAMN\": \"could (couldn't) give a damn\",\r\n \"DAILY_REGIMENT\": \"daily regiment (regimen)\",\r\n \"DE_FACTOR\": \"de factor (facto)\",\r\n \"WORSE-CASE_SCENARIO\": \"worse-case (worst-case) scenario\",\r\n \"WORST_COMES_TO_WORST\": \"worst (worse) comes to worst\",\r\n \"TO_BATH\": \"to bath (bathe)\",\r\n \"TREASURE_TROUGH\": \"treasure trough (trove)\",\r\n \"AD_NAUSEUM\": \"ad nauseum (nauseam)\",\r\n \"NOBLE_PRIZE\": \"Noble (Nobel) Prize\",\r\n \"LAND_LOVER\": \"land lover (landlubber)\",\r\n \"STRIKE_A_CORD\": \"strike a cord (chord)\",\r\n \"SAFETY_DEPOSIT_BOX\": \"safety (safe) deposit box\",\r\n \"STATUE_OF_LIMITATIONS\": \"statue (statute) of limitations\",\r\n \"ALL_THE_FARTHER\": \"all the farther (as far as)\",\r\n \"DISCUSSIONS_AROUND\": \"discussions around (about)\",\r\n \"AS_TIME_PROGRESSED\": \"as time progressed (passed)\",\r\n \"AS_FOLLOW\": \"as follow (follows)\",\r\n \"BEYOND_THE_PAIL\": \"beyond the pail (pale)\",\r\n \"BECKON_CALL\": \"beckon (beck and) call\",\r\n \"BEGS_BELIEF\": \"begs (beggars) belief\",\r\n \"BUTTLOAD\": \"buttload (boatload)\",\r\n \"BRUSSEL_SPROUT\": \"brussel (brussels) sprout\",\r\n \"BUILD_OFF_OF\": \"build off of (build on)\",\r\n \"TRITE_AND_TRUE\": \"trite (tried) and true\",\r\n \"BETWEEN_YOU_AND_I\": \"between you and I (me)\",\r\n \"EVERY_SINCE\": \"every (ever) since\",\r\n \"FOWL_SWOOP\": \"fowl (fell) swoop\",\r\n \"GARDENERGARDEN_SNAKE\": \"gardener (garter) snake\",\r\n \"HAY_DAY\": \"hay day (heyday)\",\r\n \"HARDLY_NEVER\": \"hardly never (ever)\",\r\n \"HEW_AND_CRY\": \"hew (hue) and cry\",\r\n \"MINUS_WELL\": \"minus well (might as well)\",\r\n \"OFT_CHANCE\": \"oft chance (off chance)\",\r\n \"ON_THE_SAME_TOKEN\": \"on the same token (by the same token)\",\r\n \"ONE_OF_THE_ONLY\": \"one of the only (few)\",\r\n \"PEDAL_TO_THE_MEDAL\": \"pedal to the medal (metal)\",\r\n \"PAWN_OFF\": \"pawn off (palm off)\",\r\n \"PLAYS_A_FACTOR\": \"plays a factor (plays a role)\",\r\n \"REALMS_OF_POSSIBILITY\": \"realms (realm) of possibility\",\r\n \"SENSE_OF_FALSE_HOPEPRIVACYSECURITY\": \"sense of false security (false sense of security)\",\r\n \"RING_ITS_NECK\": \"ring (wring) its neck\",\r\n \"RIGHT_OF_PASSAGE\": \"right (rite) of passage\",\r\n \"RODROT_IRON\": \"rod (wrought) iron\",\r\n \"SOUSE_CHEF\": \"souse (sous) chef\",\r\n \"STOCK_AND_TRADE\": \"stock and trade (stock in trade)\",\r\n \"SOUND_BYTE\": \"sound byte (bite)\",\r\n \"TO_THE_MANOR_BORN\": \"to the manor (manner) born\",\r\n \"VINTAGE_POINT\": \"vintage (vantage) point\",\r\n \"WHIM_AND_A_PRAYER\": \"whim (wing) and a prayer\",\r\n \"YEAR_END_AND_YEAR_OUT\": \"year end (in) and year out\",\r\n \"HAND_AND_HAND\": \"hand and hand (hand in hand)\",\r\n \"GRASPING_FOR_STRAWS\": \"grasping for straws (grasping at straws)\",\r\n \"GRILL_CHEESE\": \"grill (grilled) cheese\",\r\n \"MIGHT_HAS_WELL\": \"might has (as) well\",\r\n \"ON_THE_CONTRAIRE\": \"on the contraire (au contraire)\",\r\n \"DAMP_SQUID\": \"damp squid (squib)\",\r\n \"CURSING_THROUGH_VEINS\": \"cursing (coursing) through veins\",\r\n \"DARING-DO\": \"daring-do (derring-do)\",\r\n \"DEATH_NAIL\": \"death nail (knell)\",\r\n \"REAP_WHAT_YOU_SEW\": \"reap what you sew (sow)\",\r\n \"SPARE_OF_THE_MOMENT\": \"spare (spur) of the moment\",\r\n \"TONGUE_AND_CHEEK\": \"tongue and (in) cheek\",\r\n \"URINE_ANALYSIS\": \"urine analysis (urinalysis)\",\r\n \"WET_YOUR_APPETITE\": \"wet (whet) your appetite\",\r\n \"TATTLE-TAIL\": \"tattle-tail (tattle-tale)\",\r\n \"OLD_WISE_TAILTALE\": \"old wise tail (old wives' tale)\",\r\n \"ON_THE_LAMB\": \"on the lamb (lam)\",\r\n \"YOULL_WILL\": \"youll will (you will)\",\r\n \"ITS_IS\": \"its is (it is)\",\r\n \"WERE_ARE\": \"were are (we are)\",\r\n \"IM_AM\": \"Im am (I am)\",\r\n \"IVE_HAVE\": \"Ive have (I have)\",\r\n \"ITS_HAS\": \"It's has (It has)\",\r\n \"ID_WOULD\": \"Id would (I would)\",\r\n \"CAN_BACKUP\": \"can backup (back up)\",\r\n \"PRP_BACKUP\": \"They backup (back up)\",\r\n \"CAN_BLACKOUT\": \"can blackout (black out)\",\r\n \"SETUP_VERB\": \"setup (set up)\",\r\n \"WORKOUT_VERB\": \"can workout (work out)\",\r\n \"HANGOUT_VERB\": \"hangout (hang out)\",\r\n \"ROLLOUT_VERB\": \"rollout (roll out)\",\r\n \"CAN_CHECKIN\": \"can checkin (check in)\",\r\n \"CAN_CHECKOUT\": \"can checkout (check out)\",\r\n \"GOT_SHUTDOWN\": \"got shutdown (shut down)\",\r\n \"GOT_SHUTOUT\": \"got shutout (shut out)\",\r\n \"IN_ALONG_TIME\": \"in along (a long) time\",\r\n \"IN_ANYWAY\": \"in anyway (any way)\",\r\n \"INCASE_OF\": \"incase (in case) of\",\r\n \"PORTLAND_TRAILBLAZERS\": \"Portland Trailblazers (Trail Blazers)\",\r\n \"TAKE_AWHILE\": \"take awhile (a while)\",\r\n \"TO_BACKOUT\": \"to backout (back out)\",\r\n \"TO_BLACKOUT\": \"to blackout (black out)\",\r\n \"TO_COMEBACK\": \"to comeback (come back)\",\r\n \"ALONG_TIME\": \"along (a long) time\",\r\n \"DOWNPAYMENT\": \"downpayment (down payment)\",\r\n \"ALA_MODE\": \"ala mode (a la mode)\",\r\n \"AFTERALL\": \"afterall (after all)\",\r\n \"I_AM_WORRY\": \"I am worry (worried)\",\r\n \"MUST_OF_THE_TIME_MOST_OF_THE_TIME\": \"must of the time (most of the time)\",\r\n \"COMPLEMENT_COMPLIMENT\": \"complement / compliment\",\r\n \"HART_HEART\": \"confusion of hart/heart\",\r\n \"CONFUSION_OF_FOND_FUND\": \"confusion of fond/fund\",\r\n \"CONTRACT_CONTACT\": \"confusion of contract/contact\",\r\n \"IN_TO_INTO\": \"in to (into)\",\r\n \"CONFUSION_OF_RIDE_RID\": \"to get ride (rid) if (of)\",\r\n \"FOR_TIME_TO_TIME\": \"for time to time (from time to time)\",\r\n \"TOME_TIME\": \"tome (time)\",\r\n \"SAVE_SAFE\": \"save (safe)\",\r\n \"SAV_SAVE\": \"confusion of 'sav' vs. 'save'\",\r\n \"TYP_TYPE\": \"confusion of 'typ' vs. 'type'\",\r\n \"AWAY_AWAYS\": \"confusion of 'aways' vs. 'always'\",\r\n \"SILL_STILL\": \"confusion of 'sill' vs. 'still'\",\r\n \"TEL_TELL\": \"confusion of 'tel' vs. 'tell'\",\r\n \"ELDER_OLDER\": \"to be elder (older) than\",\r\n \"MASTERS\": \"masters (master’s) degree/dissertation/thesis\",\r\n \"TOO_TWO\": \"too (two) o'clock\",\r\n \"TOO_CARDINAL_NUMBER\": \"too CARDINAL NUMBER\",\r\n \"TOO_DETERMINER\": \"too DETERMINER\",\r\n \"TH_THORIUM\": \"Th (The/thorium)\",\r\n \"HAIRS\": \"'hair' + singular verb\",\r\n \"AU\": \"au [astronomical unit] (Au=gold)\",\r\n \"WORD_CONTAINS_UNDERSCORE\": \"A word contains an underscore\",\r\n \"FR\": \"fr [franc), Fr (Father, francium)\",\r\n \"THANKS_YOU\": \"Thanks (Thank) you\",\r\n \"THANK_THANKS\": \"Thank (Thanks)\",\r\n \"HI_TIME\": \"hi (his, high) time\",\r\n \"LANGUAGE_TOOL\": \"Language Tool (LanguageTool)\",\r\n \"LANGUAGETOOL\": \"Proper spelling of LanguageTool\",\r\n \"TR\": \"tr (try)\",\r\n \"NE\": \"ne (né, me, no)\",\r\n \"OM\": \"om (on)\",\r\n \"APPSTORE\": \"AppStore (App Store, Amazon Appstore)\",\r\n \"UR\": \"Ur (You're)\",\r\n \"BU\": \"bu (by, bus, but)\",\r\n \"IM_I_M\": \"im (I'm)\",\r\n \"ER\": \"er (her, err, Er)\",\r\n \"NON_STANDARD_WORD\": \"Non-standard word\",\r\n \"TIS\": \"tis (this)\",\r\n \"W_HAT\": \"w hat (what)\",\r\n \"HAWAIIAN\": \"Hawaiian\",\r\n \"ALZHEIMERS\": \"Alzheimers\",\r\n \"MUS_MUST\": \"mus (must)\",\r\n \"ANTHER\": \"anther (another)\",\r\n \"WOLD\": \"wold (world)\",\r\n \"TIME_CRITICAL_HYPHEN\": \"missing hyphen in 'time-critical'\",\r\n \"DIAL_UP_HYPHEN\": \"dial up (dial-up) internet\",\r\n \"ONBOARD\": \"onboard -> on board\",\r\n \"LINKED_IN\": \"linked in (LinkedIn)\",\r\n \"MAKE_OR_BREAK_HYPHEN\": \"make or break (make-or-break)\",\r\n \"CUMBER_SOME\": \"cumber some (cumbersome)\",\r\n \"ONE_TRICK_HYPHEN\": \"one(-)trick pony\",\r\n \"NODE_JS\": \"Node JS (Node.js)\",\r\n \"MISS_SPELLING\": \"miss spelling (misspelling)\",\r\n \"SAFE_GUARD_COMPOUND\": \"safe guard (safeguard)\",\r\n \"EVEN_HANDED_HYPHEN\": \"even handed (even-handed)\",\r\n \"BLACK_LIST_COMPOUND\": \"verb 'black list' as one word\",\r\n \"PEER_REVIEW_HYPHEN\": \"missing hyphen in 'peer review'\",\r\n \"OFF_RAMP_HYPHEN\": \"off ramp (off-ramp)\",\r\n \"GET_TOGETHER_HYPHEN\": \"get together (get-together)\",\r\n \"NO_HAGGLE_PRICE_HYPHEN\": \"no haggle (no-haggle)\",\r\n \"WRITTEN_DOWN\": \"It's a blog where the author has penned-down (penned down) his experiences\",\r\n \"READ_ONLY_ACCESS_HYPHEN\": \"read only (read-only)\",\r\n \"A_LONG\": \"a long (along)\",\r\n \"THERE_FOR\": \"there for (therefore)\",\r\n \"ABOUT_FACE_HYPHEN\": \"about face (about-face)\",\r\n \"ONE_OFF_HYPHEN\": \"missing hyphen in 'one off'\",\r\n \"COMMON_USED_HYPHEN\": \"common (commonly) used\",\r\n \"SLEEP_WALK_COMPOUND\": \"sleep walk (sleepwalk)\",\r\n \"PASSER_BY_COMPOUND\": \"passer by (passer-by)\",\r\n \"PIECE_COMPOUNDS\": \"ear piece (earpiece)\",\r\n \"TWO_STATE_SOLUTION_HYPHEN\": \"two state (two-state) solution\",\r\n \"UP_AND_COMING_HYPHEN\": \"missing hyphens in 'up and coming'\",\r\n \"GOD_SEND_COMPOUND\": \"a god send (godsend)\",\r\n \"PLAY_COMPOUNDS\": \"play ground (playground)\",\r\n \"PICTURE_PERFECT_HYPHEN\": \"picture perfect (picture-perfect)\",\r\n \"SAME_DAY_DELIVERY_HYPHEN\": \"hyphen in 'same day delivery'\",\r\n \"TOUCH_POINT\": \"Touch point (Touchpoint)\",\r\n \"DROP_DEAD_HYPHEN\": \"missing hyphen in 'drop dead'\",\r\n \"SEEKER_COMPOUNDS\": \"home seeker (homeseeker)\",\r\n \"RESISTANT_HYPHEN\": \"water resistant (water-resistant)\",\r\n \"THERETO\": \"thereto (there to)\",\r\n \"DECISION_MAKING\": \"decision making (decision-making)\",\r\n \"CHRISTMAS_TIME\": \"Christmas time (Christmastime)\",\r\n \"DO_ABLE\": \"Do able (Doable)\",\r\n \"YARDER_HYPHEN\": \"a 42 yarder (42-yarder)\",\r\n \"PRO_RATA\": \"prorata -> pro rata\",\r\n \"DRIVE_THROUGH_HYPHEN\": \"missing hyphen in 'drive-through'\",\r\n \"ON_OFF_SCREEN_HYPHEN\": \"missing hyphen in 'on/off screen'\",\r\n \"ONE_HANDED_HYPHEN\": \"one handed (one-handed)\",\r\n \"OFF_HAND_COMPOUND\": \"off hand (offhand)\",\r\n \"STRAIGHT_UP_HYPHEN\": \"straight up (straight-up)\",\r\n \"NEAR_DEATH_HYPHEN\": \"near death (near-death)\",\r\n \"UP_TO_DATE_HYPHEN\": \"up to date (up-to-date)\",\r\n \"THREE_LINE_HYPHEN\": \"missing hyphen in 'three line'\",\r\n \"FOR_PROFIT_HYPHEN\": \"missing hyphen in 'for-profit'\",\r\n \"TRICKLE_DOWN_HYPHEN\": \"missing hyphen in 'trickle down'\",\r\n \"TAILOR_MADE_HYPHEN\": \"missing hyphen in 'tailor-made'\",\r\n \"X_RATED_HYPHEN\": \"X-rated\",\r\n \"DAYTIME\": \"day time (daytime)\",\r\n \"ONE_PAGER_HYPHEN\": \"one pager (one-pager)\",\r\n \"SECOND_LARGEST_HYPHEN\": \"Missing hyphen in 'second largest'\",\r\n \"MILLION_DOLLAR_HYPHEN\": \"Missing hyphen in 'billion dollar'\",\r\n \"FUND_RAISE_HYPHEN\": \"Missing hyphen in 'fund raise'\",\r\n \"HEAD_TO_HEAD_HYPHEN\": \"missing hyphens in 'head-to-head'\",\r\n \"WEEK_OVER_WEEK_HYPHEN\": \"missing hyphen in 'year over year'\",\r\n \"ABOVE_MENTIONED\": \"above mentioned\",\r\n \"EVERY_BODY\": \"every body (everybody)\",\r\n \"SOME_TIMES\": \"some times (sometimes)\",\r\n \"OUT_PERFORM_COMPOUND\": \"out + perform\",\r\n \"WELL_WISH_HYPHEN\": \"missing hyphen in 'well wishes'\",\r\n \"TRUE_CRIME_HYPHEN\": \"missing hyphen in 'true-crime'\",\r\n \"ON_OFF_HYPHEN\": \"on off (on-off)\",\r\n \"VERB_NOUN_CONFUSION\": \"warm up (warm-up)\",\r\n \"CLICK_THROUGH_RATE\": \"Hyphen in 'click through rate'\",\r\n \"SCORE_COMPOUNDS\": \"score card (scorecard)\",\r\n \"PRESIDENT_ELECT\": \"president-elect\",\r\n \"STAND_UP_HYPHEN\": \"stand up comedian (stand-up)\",\r\n \"LEFT_OVER_COMPOUND\": \"left over ? leftover\",\r\n \"VIDEO_TAPE_COMPOUND\": \"video tape (videotape)\",\r\n \"MID_HYPHEN\": \"missing hyphen after 'mid'\",\r\n \"DROP_IN_NN\": \"drop-in\",\r\n \"ASTRA_ZENECA\": \"AstraZeneca\",\r\n \"HOUSE_HYPHEN\": \"missing hyphen in '2 family house'\",\r\n \"NO_FLY_ZONE_HYPHEN\": \"missing hyphen in 'no fly zone'\",\r\n \"NO_FAULT_HYPHEN\": \"missing hyphen in 'no fault insurance'\",\r\n \"FORCE_FEED_HYPHEN\": \"missing hyphen in 'force feed'\",\r\n \"HAND_FULL_COMPOUND\": \"hand full (handful)\",\r\n \"DO_OVER_HYPHEN\": \"do over (do-over)\",\r\n \"MAKE_OVER_COMPOUND\": \"make over (makeover)\",\r\n \"NOTE_TAKING_HYPHEN\": \"note taking (note-taking)\",\r\n \"HEART_BROKEN_COMPOUND\": \"heart broken (heartbroken)\",\r\n \"DOG_EAT_DOG_HYPHEN\": \"dog-eat-dog\",\r\n \"ROLL_OUT_HYPHEN\": \"the roll out (roll-out)\",\r\n \"BORN_HYPHEN\": \"Missing hyphen in 'An American born scientist'\",\r\n \"ON_PAGE_HYPHEN\": \"on page seo (on-page seo)\",\r\n \"SIGN_UP_HYPHEN\": \"sign up (sign-up)\",\r\n \"CHECK_BOX_COMPOUND\": \"check box (checkbox)\",\r\n \"SIGN_IN_HYPHEN\": \"...because your Mac has been signed-out (signed out) from iCloud\",\r\n \"ANOTHER_DATE\": \"other (another) date\",\r\n \"THIS_VB_DT\": \"this render (renders) the ...\",\r\n \"QUALITY_PARTITIVE_SINGULAR\": \"this kind of days (day)\",\r\n \"I_NO_GOOD\": \"I no good (I'm not good)\",\r\n \"SIMILAR_LIKE\": \"similar like (to)\",\r\n \"FOR_WHATEVER_REASONS\": \"for some reasons (reason)\",\r\n \"WITH_EXCEPTION_OF\": \"with (the) exception of\",\r\n \"THE_CC\": \"the and\",\r\n \"SENTENCE_END_CONTRACT\": \"I wonder where they're (they are).\",\r\n \"DOUBLE_AUX\": \"Did your yoga training was (Was your yoga training) good today?\",\r\n \"WH_AUX_PROPER_NOUN_AGR\": \"Interrogative proper noun agreement\",\r\n \"HAS_TO_APPROVED_BY\": \"I have to hid (hide) behind ...\",\r\n \"TAG_QUESTIONS_SVA\": \"He doesn't live here, do(es) he?\",\r\n \"WH_AUX_PRONOUN_AGR\": \"Why do(es) it matter?\",\r\n \"WH_AUX_THIS_THAT\": \"Do(es) that mean you won't come?\",\r\n \"A_NNS_AND\": \"But when I write, I like to use a pens (a pen|pens) and paper\",\r\n \"CD_DAY_WEEK\": \"2 day (days) / week\",\r\n \"PLEASE_TO_INFORM\": \"please (pleased) to\",\r\n \"SINGLES_DAY\": \"Singles(') Day\",\r\n \"YEARS_OLD\": \"years-old (years old|year-old)\",\r\n \"COPD\": \"C.O.P.D (COPD)\",\r\n \"NOUN_APOSTROPHE_S_VERB\": \"The symptom's (symptoms) vary\",\r\n \"SINGULAR_NOUN_ADV_AGREEMENT\": \"The dog always bark(s) at me\",\r\n \"ALL_OF_SUDDEN\": \"all of (a) sudden\",\r\n \"AS_WELL_AS_AGREEMENT\": \"Belladonna leaves as well as other studied leaves contains (contain)\",\r\n \"BODY_TISSUE_UNCOUNTABLE\": \"brain tissues (tissue)\",\r\n \"BACHELORS\": \"bachelors (bachelor's)\",\r\n \"ONE_YEARS_OLD\": \"one years (year) old\",\r\n \"PCT_PLURAL_NOUN_SINGULAR_VERB_AGREEMENT\": \"punctuation + plural noun + singular verb\",\r\n \"PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT\": \"punctuation + singular noun + plural verb\",\r\n \"IS_AND_ARE\": \"...is a major cause of death and affect(s) approximately 795,000\",\r\n \"ASIDE\": \"I will put it a side (aside) for later\",\r\n \"ONE_OF_THE_MISSING_SUPERLATIVE\": \"It's one of my (most|least) favorite suits I've ever worn\",\r\n \"HOW_TO_IT\": \"I don't know how to (*missing verb*) it\",\r\n \"AVOIDING_TO_INFIN\": \"I'm avoiding to register (registering) for classes because I've had a bad experience\",\r\n \"DO_NOTHING\": \"Do (Does) anyone know what to do?\",\r\n \"GOOD_EDUCATED\": \"She is good-educated (well-educated).\",\r\n \"FALL_IS_AMONG\": \"Fall is among (upon) us\",\r\n \"GOT_HERE\": \"I got hear (here/heard)\",\r\n \"CD_OF_MY_FRIEND\": \"two of my friend (friends)\",\r\n \"HOW_DOES_THIS_CHANGES\": \"how does this changes (change)\",\r\n \"BEGINNING_TO_ADDING_BROAD\": \"I'm beginning to adding (add)\",\r\n \"SHE_LIVE\": \"she live (lives) in\",\r\n \"BEGINNING_TO_ADDING_NARROW\": \"I'm beginning to adding (add)\",\r\n \"CONFUSION_OF_WHEN_WHAT\": \"When (What) can be done about something\",\r\n \"NO_DET_NOUN_OF\": \"IndMys, (a|the) derivative of Alpha-3 code for India and Malaysia...\",\r\n \"THIS_PLURAL_OF\": \"This (These) types of projects\",\r\n \"WANTED_TO_RE_SENT\": \"I wanted to resent (resend) that email\",\r\n \"WIDE_ACCEPTED\": \"It is wide(ly) accepted that...\",\r\n \"PAST_AN_PAST\": \"Chris rose from his chair an(d) applauded\",\r\n \"GET_VBN\": \"A lot of money is getting spend (spent) these days\",\r\n \"CC_IS_VBZ\": \"when is (it) comes off\",\r\n \"GOING_BE\": \"going (to) be\",\r\n \"BE_NOT_BE_JJ\": \"I am not (be) in the office\",\r\n \"EVEN_ALTHOUGH\": \"They hugged even although (though) they had a fight\",\r\n \"THE_WHETHER\": \"How's the whether (weather)?\",\r\n \"TOMFOOLERY\": \"Such torn foolery (tomfoolery) is inexcusable\",\r\n \"KEEP_SEEING\": \"I keep see(ing) these errors in my log\",\r\n \"THANKS_FOR_LET_YOU_KNOW\": \"Thanks for let (letting)\",\r\n \"A_DISCOVER\": \"a discover (discovery)\",\r\n \"OF_ALL_PLURAL\": \"We need control of all process(es)\",\r\n \"EVERYTHING_WENT_GOOD\": \"Everything went good (well) until I checked out the competition\",\r\n \"PERFECT_TENSE_SINCE\": \"I work (I have worked|I have been working) here since 2002\",\r\n \"THANK_YOUR\": \"thank your (you)\",\r\n \"MD_JJ\": \"who would (be) responsible\",\r\n \"SOON_OR_LATER\": \"soon (sooner) or later\",\r\n \"IN_WEBSITE\": \"on (the) website\",\r\n \"PROFITS_WARNINGS\": \"profit warning\",\r\n \"NNP_AGREEMENT\": \"Tom like (likes|liked) the sun\",\r\n \"DIDN_T_BEEN_SOLVED\": \"didn't (hadn't) been\",\r\n \"NICE_TOO_ME\": \"Nice too (to) me\",\r\n \"COMPOUND_NNP_AGREEMENT\": \"I think Jack and Elon has (have) been on this...\",\r\n \"LIKE_THIS_AGREEMENT\": \"Studies like this relies (rely) on current data\",\r\n \"NNS_OF_SINGULAR_AGREEMENT\": \"Three members of our team needs (need) LanguageTool\",\r\n \"SUBJECT_NUMBER\": \"...if user(s) open the card by clicking on the error?\",\r\n \"WHAT_ARE_TALKING_ABOUT\": \"What are (you) talking about?\",\r\n \"PLURAL_THAT_AGREEMENT\": \"Do not believe any ratings that is (are) less than 5 stars\",\r\n \"YOU_KIDDING\": \"you kidding (are you kidding)?\",\r\n \"IN_WINDOWS\": \"in (on) Windows\",\r\n \"RUBIKS_CUBE\": \"Rubik's Cube\",\r\n \"LATER_LATTER\": \"confusion/typo of 'later' and 'latter'\",\r\n \"UKRAINE_NO_THE\": \"...the situation in the (*omit the*) Ukraine\",\r\n \"DO_YOU_FASCINATED\": \"Do (Are) you interested in music\",\r\n \"EVEN_THOU\": \"even thou (though)\",\r\n \"MORE_NN\": \"We have more slot (slots) available.\",\r\n \"TAKE_SOMETIME\": \"We should take sometime (some time) to do this\",\r\n \"DO_IT_SOMETIME\": \"Let's go to the movie some time (sometime)\",\r\n \"PHRASAL_VERB_SOMETIME\": \"We should hang out some time (sometime)\",\r\n \"SOME_TIME_SOMETIMES\": \"Some time (Sometimes) I like to read fiction\",\r\n \"WHO_S_NN_VB\": \"Who's (whose) idea was that?\",\r\n \"THAT_S_WHAT_S\": \"That's what's (what)\",\r\n \"PROOFED_PROVED\": \"It proofed (proved) to be better\",\r\n \"ANY_WAY_TO_VB\": \"Is there anyway (any way) to change this?\",\r\n \"IS_POSSIBLE_TO\": \"Is (it) possible to ...?\",\r\n \"WHERE_YOU_FROM\": \"Where you from?\",\r\n \"ADDITIONAL\": \"Additional (Additionally)\",\r\n \"UNDOS\": \"undos (undoes)\",\r\n \"SIGN_IN\": \"You need to sign-in (sign in) somewhere\",\r\n \"SINGED_CONTRACT\": \"confusion singed/signed\",\r\n \"THE_SOME\": \"the some cars (some cars)\",\r\n \"IT_HAS_WORK_FOR\": \"It has work (worked) for\",\r\n \"THOUSANDS_OF_NN\": \"There are thousands of add-on(s) available\",\r\n \"AFFECTS\": \"These are some of the affects (effects) we've seen\",\r\n \"IT_TIME_TO\": \"It (is) time to ...\",\r\n \"HOW_MANY_Q_AGREEMENT\": \"How many cards are (is) that?\",\r\n \"ON_THE_LOOK_OUT\": \"on the look out (lookout)\",\r\n \"ARE_WE_HAVE\": \"Are we have (Do we have)\",\r\n \"THERE_IS_A_LOT_OF\": \"there is (are) a lot of\",\r\n \"AS_DISCUSS\": \"as discuss (discussed)\",\r\n \"AS_SAD\": \"as sad (said)\",\r\n \"AS_MENTION\": \"as mention (mentioned)\",\r\n \"UNKNOWN_HAVE_ITS\": \"have its (has its/have their)\",\r\n \"I_AM_VB\": \"I am (I) + VERB BASE\",\r\n \"THIS_IS_HAVE\": \"This is has (has/is)\",\r\n \"IF_YOU_FURTHER_QUESTIONS\": \"if you (have) further questions\",\r\n \"WHAT_IS_REASON\": \"What is (the) reason?\",\r\n \"NNS_THAT_VBZ\": \"Words that doesn't (don't)\",\r\n \"DID_YOU_HAVE_VBN\": \"Did you have entered (Have you entered|Did you enter) your PIN?\",\r\n \"CC_NNP_VBP\": \"Subject-verb agreement error after conjunction\",\r\n \"DOB_T\": \"dob't\",\r\n \"FOR_INCONVENIENCE\": \"for (the) inconvenience\",\r\n \"HELP_NP_VBZ\": \"this will help him sleeps (sleep)\",\r\n \"EITHER_OF_THE_NN\": \"either of the car (cars)\",\r\n \"WHERE_MD_VB\": \"missing pronoun after 'where/when/how/why'\",\r\n \"FOR_VB\": \"thank you for bring (bringing) this\",\r\n \"SPOKED\": \"spoked (spoke/spoken)\",\r\n \"TO_FRESH_UP\": \"fresh up -> freshen up\",\r\n \"PLEASE_NOT_VB\": \"please not do this (please don't do this)\",\r\n \"STARTING_DOING\": \"he has starting (started) doing that\",\r\n \"TYPO_FORM_FROM\": \"The skin darkens form (from) pink to purplish brown\",\r\n \"NNS_THAT_AGREEMENT\": \"She brought some things that isn't (aren't) on the list\",\r\n \"MISSING_VERB_AFTER_WHAT\": \"What (is) up?\",\r\n \"PLAY_ED\": \"play ed (played)\",\r\n \"LOOK_FORWARD_TO\": \"missing 'to' after 'look forward'\",\r\n \"ITS_TO_IT_S\": \"I have to do laundry while its (it's) still sunny\",\r\n \"WIEN\": \"Wien vs Vienna\",\r\n \"BAYERN\": \"Bayern vs Bavaria\",\r\n \"SUBJECT_VERB_AGREEMENT\": \"Subject-verb agreement\",\r\n \"SUBJECT_VERB_AGREEMENT_PLURAL\": \"Subject-verb agreement plural\",\r\n \"LIMITED_TO\": \"which include but are not limited too (to)\",\r\n \"REPEATED_VERBS\": \"Repeated verb forms\",\r\n \"NO_PROBLEM_ET_AL\": \"et al (at all)\",\r\n \"A_FEEDBACK\": \"a feedback\",\r\n \"DO_XX_MD_VB\": \"Does anybody would (Would anybody)\",\r\n \"NOT_NEVER\": \"not never\",\r\n \"ONTO_ON_TO\": \"climb on to (onto)\",\r\n \"EXCITED_FOR\": \"Excited for (about)\",\r\n \"PRE_AND_POST_NN\": \"Hyphens in 'pre- and post-noun'\",\r\n \"HAVE_FOLLOWING_NN\": \"I have following (the following) questions\",\r\n \"I_DONT_DT\": \"Missing verb after 'don't'\",\r\n \"CAN_I_VBD\": \"Can I sent (send) it?\",\r\n \"LET_IT_INFINITIVE\": \"Don't let any negativity to affect (affect) you\",\r\n \"BE_AWARE_OF\": \"Need to (be) aware of\",\r\n \"PRP_REPITION\": \"Repetition of pronouns\",\r\n \"SOME_TIMES_TIME\": \"some times (time)\",\r\n \"A_RB_A_JJ_NN\": \"redundant determiner\",\r\n \"I_ME\": \"I vs me\",\r\n \"AND_BUT\": \"and but\",\r\n \"NOT_LONGER\": \"not longer -> no longer\",\r\n \"A_HEADS_UP\": \"a heads-up\",\r\n \"IN_A_TROUBLE\": \"In a trouble\",\r\n \"PLEASE_TO_MEET_YOU\": \"Please(d) to meet you\",\r\n \"IF_VB\": \"if (we/they/you) need something\",\r\n \"WOLFS\": \"wolfs vs wolves\",\r\n \"TO_ALL_INTENTS_AND_PURPOSES\": \"all intensive purposes (all intents and purposes)\",\r\n \"THANK_IN_ADVANCE\": \"thank (thanks) in advance\",\r\n \"NOUN_VERB_CONFUSION\": \"Noun vs verb\",\r\n \"QUESTION_WITHOUT_VERB\": \"missing verb in question\",\r\n \"WANT_TO_NN\": \"unexpected noun after 'to'\",\r\n \"THIS_CD\": \"This (These) two are happy\",\r\n \"STAID\": \"I staid (stayed) at home\",\r\n \"IS_VBZ\": \"is + VBZ\",\r\n \"DO_MAKE_PRP_VBG\": \"Can you make it working (work) again?\",\r\n \"SEASONS_GREETINGS\": \"missing apostrophe in 'seasons greetings'\",\r\n \"I_NOT_JJ\": \"I not sure (I am not sure)\",\r\n \"PLEASE_BE_VB\": \"please be prepare (prepared)\",\r\n \"I_M_MD\": \"I'm might (I might) be\",\r\n \"WAS_THERE_MANY\": \"Was (were) there many ...\",\r\n \"FIRSTLY_OF_ALL\": \"firstly (first) of all\",\r\n \"NN_NOT_JJ\": \"missing verb before 'not'\",\r\n \"THIS_MISSING_VERB\": \"missing verb after 'this'\",\r\n \"THANKS_YOUR\": \"Thanks (for) your help\",\r\n \"DIDN_T_SAW\": \"I didn't saw (see)\",\r\n \"DIDN_T_SPOKE\": \"I didn't spoke (speak)\",\r\n \"ALL_NN\": \"All car (cars)\",\r\n \"AS_IS_VBG\": \"as (it) is happening\",\r\n \"IN_TO_VBD\": \"to sent (send)\",\r\n \"WHAT_TO_VBD\": \"I know what to sent (send)\",\r\n \"THIS_TOOLS\": \"This tools (These tools)\",\r\n \"THIS_TWO_MEN\": \"this (these) two men\",\r\n \"WHAT_DID_VBD\": \"What did happened (happen)?\",\r\n \"WHAT_DO_THAT\": \"Who do (does) that?\",\r\n \"IS_RB_BE\": \"He is never be (He has never been)\",\r\n \"LADIES_AND_GENTLEMAN\": \"ladies and gentleman (gentlemen)\",\r\n \"IN_LOVED_WITH\": \"In loved (love) with\",\r\n \"THERE_MISSING_VERB\": \"There (are) a lot of …\",\r\n \"PRP_VB_VB_TO\": \"redundant verb after verb\",\r\n \"SEEMING_SEEMS\": \"confusion of is seeming/seems\",\r\n \"BE_HAVENT\": \"I'm haven't (I haven't)\",\r\n \"NONE_THE_LESS\": \"none the less (nonetheless)\",\r\n \"MISSING_TO_BETWEEN_BE_AND_VB\": \"Missing 'to': It's possible do it\",\r\n \"HER_S\": \"her's (here's)\",\r\n \"THEIR_S\": \"their's (theirs)\",\r\n \"SOFTWARES\": \"softwares ? pieces of software\",\r\n \"HARDWARES\": \"hardwares ? pieces of hardware\",\r\n \"HE_VE\": \"He've (He has)\",\r\n \"HE_D_VBD\": \"He'd wrote (write / written)\",\r\n \"GINI_COEFFICIENT\": \"gini (Gini) coefficient\",\r\n \"HOMO_ERECTUS\": \"homo (Homo) erectus\",\r\n \"HOMO_SAPIENS\": \"homo (Homo) sapiens\",\r\n \"MOLOTOV_COCKTAIL\": \"molotov (Molotov) cocktail\",\r\n \"MD_WON_T\": \"I would won't (want)\",\r\n \"AGREEMENT_SENT_START_2\": \"Possible agreement error: plural noun + singular verb\",\r\n \"A_TO\": \"a to\",\r\n \"HAVE_HAVE\": \"duplicate 'have'\",\r\n \"BORN_IN\": \"born in (on) 10th of June\",\r\n \"IN_WEEKDAY\": \"in (on) Monday\",\r\n \"THANK_FULL\": \"thank full (thankful)\",\r\n \"PRE_YEAR_HYPHEN\": \"pre 2010 (pre-2010)\",\r\n \"A_OK\": \"It is A ok (A-OK)\",\r\n \"NNP_BASED\": \"windows-based (Windows-based)\",\r\n \"SUPPOSE_TO\": \"suppose (supposed) to\",\r\n \"WHAT_IS_YOU\": \"What is you (your)\",\r\n \"HOW_DO_I_VB\": \"Who did you seen (see)?\",\r\n \"NEE\": \"nee (née)\",\r\n \"AMERICANO\": \"speak Americano (American English)\",\r\n \"MD_NO_VB\": \"I can no (not) speak English\",\r\n \"HAVE_NO_VB\": \"I have no (not) checked\",\r\n \"BE_NO_VB\": \"I am no (not) coming\",\r\n \"DO_NO_VB\": \"I did no (not) have\",\r\n \"PRP_NO_VB\": \"I no (don't) speak English\",\r\n \"IN_SANE\": \"in sane (insane)\",\r\n \"A_CAPPELLA\": \"a cappella\",\r\n \"PLEASE_VB\": \"please + wrong verb form\",\r\n \"I_MA\": \"I ma (am)\",\r\n \"YOU_RE_AREN_T\": \"you're aren't\",\r\n \"FULL_FILL\": \"full fill (fulfill)\",\r\n \"U_RE\": \"U're (You're)\",\r\n \"YOU_R\": \"You r (You are)\",\r\n \"PERSONA_NON_GRATA\": \"Persona non grata\",\r\n \"LED\": \"led (LED)\",\r\n \"SLOW_MO\": \"slo-mo\",\r\n \"LIKELY_HOOD\": \"likely hood (likelihood)\",\r\n \"PICK_UP_COMPOUND\": \"pick up (pickup)\",\r\n \"SHOW_COMPOUNDS\": \"show case (showcase)\",\r\n \"DAY_DREAM_COMPOUND\": \"day dreaming (daydreaming)\",\r\n \"TAIL_GATE_COMPOUND\": \"tail gate (tailgate)\",\r\n \"CAR_POOL_COMPOUND\": \"car pool (carpool)\",\r\n \"BE_COMPOUNDS\": \"be wilder (bewilder)\",\r\n \"PROOF_COMPOUNDS\": \"weather proof (weatherproof)\",\r\n \"HAND_CUFF_COMPOUND\": \"hand cuff (handcuff)\",\r\n \"BREAKING_COMPOUNDS\": \"heart breaking (heartbreaking)\",\r\n \"HARD_WORKING_COMPOUND\": \"hard working (hardworking)\",\r\n \"UNDER_COVER_COMPOUND\": \"under cover (undercover)\",\r\n \"WOULD_BE_JJ_VB\": \"It would be great (to) write\",\r\n \"OKEY_DOKEY\": \"okey-dokey\",\r\n \"DON_T_AREN_T\": \"don't aren't\",\r\n \"WON_T_TO\": \"I won't (want) to be\",\r\n \"OF_ALL_TIMES\": \"He's the best of all times\",\r\n \"IN_THE_MEAN_TIME_PHRASE\": \"in the mean time (meantime)\",\r\n \"IN_TERM_OF_PHRASE\": \"in term (terms) of\",\r\n \"IN_THE_LONG_TERMS\": \"in term (terms) of\",\r\n \"COULDVE\": \"couldve (could've)\",\r\n \"THAT_VERY_COOL\": \"That cool (That is cool)\",\r\n \"THAT_SOUND_GREAT\": \"That sound (sounds) cool\",\r\n \"SOUND_GREAT\": \"Sound (sounds) great\",\r\n \"EDITOR_IN_CHIEF_HYPHEN\": \"editor-in-chief\",\r\n \"LATE_TERM_HYPHEN\": \"missing hyphen in 'late-term'\",\r\n \"MIAMI_DADE_HYPHEN\": \"Miami-Dade\",\r\n \"HARLEY_DAVIDSON_HYPHEN\": \"Miami-Dade\",\r\n \"SLUT_SHAME_HYPHEN\": \"slut-shame\",\r\n \"PROBLEM_SOLVE_HYPHEN\": \"problem-solve\",\r\n \"DOUBLE_HYPHEN\": \"missing hyphen in 'double check/click/cross/park'\",\r\n \"DAY_TRADE_HYPHEN\": \"missing hyphen in 'day trade'\",\r\n \"ROLE_PLAY_HYPHEN\": \"missing hyphen in 'role play'\",\r\n \"ROLLER_SKATE_HYPHEN\": \"missing hyphen in 'roller skate'\",\r\n \"STRONG_ARM_HYPHEN\": \"missing hyphen in 'strong arm'\",\r\n \"DEAD_LIFT_COMPOUND\": \"compound verb 'dead lift'\",\r\n \"GUILT_TRIP_HYPHEN\": \"missing hyphen in 'guilt trip'\",\r\n \"DAISY_CHAIN_HYPHEN\": \"missing hyphen in 'daisy chain'\",\r\n \"CLEAR_CUT_HYPHEN\": \"missing hyphen in 'clear cut'\",\r\n \"CLICK_HYPHEN\": \"missing hyphen in 'right/left click'\",\r\n \"OTHER_WISE_COMPOUND\": \"other wise (otherwise)\",\r\n \"FURTHER_MORE_COMPOUND\": \"further more (furthermore)\",\r\n \"FINE_TUNE_COMPOUNDS\": \"fine tune (fine-tune)\",\r\n \"CROSS_COMPOUNDS\": \"cross-check\",\r\n \"DOG_COMPOUNDS\": \"bull dog (bulldog)\",\r\n \"ROOM_COMPOUNDS\": \"bed room (bedroom)\",\r\n \"BALL_COMPOUNDS\": \"foot ball (football)\",\r\n \"CYBER_COMPOUNDS\": \"cyber security (cybersecurity)\",\r\n \"STEP_COMPOUNDS\": \"step father (stepfather)\",\r\n \"BOX_COMPOUNDS\": \"mail box (mailbox)\",\r\n \"SUIT_COMPOUNDS\": \"swim suit (swimsuit)\",\r\n \"BREAST_COMPOUNDS\": \"breast plate (breastplate)\",\r\n \"LONG_COMPOUNDS\": \"life long\",\r\n \"NOTE_COMPOUNDS\": \"key note (keynote)\",\r\n \"EYE_COMPOUNDS\": \"eye brow/lash/lid/sight/sore (eyebrow/eyelash/eyelid/eyesight/eyesore)\",\r\n \"LIGHT_COMPOUNDS\": \"day light (daylight)\",\r\n \"SIDE_COMPOUNDS\": \"country side (countryside)\",\r\n \"THUNDER_COMPOUNDS\": \"thunder storm (thunderstorm)\",\r\n \"DROP_SHIP_HYPHEN\": \"drop-ship\",\r\n \"ON_COMPOUNDS\": \"on boarding (onboarding)\",\r\n \"HEAD_COMPOUNDS\": \"head shot (thunderstorm)\",\r\n \"MATE_COMPOUNDS\": \"stale mate (stalemate)\",\r\n \"MAN_COMPOUNDS\": \"business man (businessman)\",\r\n \"WOMAN_COMPOUNDS\": \"business woman (businesswoman)\",\r\n \"PRINT_COMPOUNDS\": \"foot print (footprint)\",\r\n \"SHELL_COMPOUNDS\": \"bomb shell (bombshell)\",\r\n \"LINE_COMPOUNDS\": \"dead line (deadline)\",\r\n \"OWNER_COMPOUNDS\": \"home owner (homeowner)\",\r\n \"LAW_COMPOUNDS\": \"law suit (lawsuit)\",\r\n \"HOOD_COMPOUNDS\": \"neighbor hood (neighborhood)\",\r\n \"MARK_COMPOUNDS\": \"trade mark (trademark)\",\r\n \"FRIEND_COMPOUNDS\": \"boy friend (boyfriend)\",\r\n \"WORTHY_COMPOUNDS\": \"news worthy (newsworthy)\",\r\n \"COUNTER_COMPOUNDS\": \"counter part (counterpart)\",\r\n \"YARD_COMPOUNDS\": \"grave yard (graveyard)\",\r\n \"HAND_COMPOUNDS\": \"before hand (beforehand)\",\r\n \"SPACE_COMPOUNDS\": \"space ship (spaceship)\",\r\n \"WHOLE_COMPOUNDS\": \"whole sale (wholesale)\",\r\n \"WARE_COMPOUNDS\": \"soft ware (software)\",\r\n \"HAIR_COMPOUNDS\": \"hair style (hairstyle)\",\r\n \"PLACE_COMPOUNDS\": \"market place (marketplace)\",\r\n \"DOOR_COMPOUNDS\": \"in door (indoor)\",\r\n \"UP_COMPOUNDS\": \"up date (update)\",\r\n \"DOWN_COMPOUNDS\": \"down load (download)\",\r\n \"ACHE_COMPOUNDS\": \"head ache (headache)\",\r\n \"OUT_COMPOUNDS\": \"out break (outbreak)\",\r\n \"HOW_COMPOUNDS\": \"any how (anyhow)\",\r\n \"LAND_COMPOUNDS\": \"land lord (landlord)\",\r\n \"HOME_COMPOUNDS\": \"home land (homeland)\",\r\n \"HOUSE_COMPOUNDS\": \"house hold (household)\",\r\n \"BACK_COMPOUNDS\": \"back log (backlog)\",\r\n \"WRITER_COMPOUNDS\": \"ghost writer (ghostwriter)\",\r\n \"WORKER_COMPOUNDS\": \"steel worker (steelworker)\",\r\n \"MAKER_COMPOUNDS\": \"trouble maker (troublemaker)\",\r\n \"FIGHTER_COMPOUNDS\": \"fire fighter (firefighter)\",\r\n \"ROLL_COMPOUNDS\": \"pay roll (payroll)\",\r\n \"KEEPER_COMPOUNDS\": \"bar keeper (barkeeper)\",\r\n \"PER_USER_BASIS_HYPHEN\": \"missing hyphen in 'per user basis'\",\r\n \"KNOW_IT_ALL_HYPHEN\": \"missing hyphens in 'know it all'\",\r\n \"KICK_START_HYPHEN\": \"kick start (kick-start)\",\r\n \"SUBJECT_MATTER_HYPHEN\": \"missing hyphen in 'subject matter expert'\",\r\n \"OFF_KEY_HYPHEN\": \"missing hyphen in 'off key'\",\r\n \"SUPER_COMPOUNDS\": \"super market (supermarket)\",\r\n \"STAIRS_COMPOUNDS\": \"down stairs (downstairs)\",\r\n \"TAIL_COMPOUNDS\": \"cock tail (cocktail)\",\r\n \"NEWS_COMPOUNDS\": \"news paper (newspaper)\",\r\n \"WIDE_COMPOUNDS\": \"wide spread (widespread)\",\r\n \"MOTOR_COMPOUNDS\": \"motor bike (motorbike)\",\r\n \"SMART_COMPOUNDS\": \"smart phone (smartphone)\",\r\n \"SKY_COMPOUNDS\": \"sky scraper (skyscraper)\",\r\n \"WAY_COMPOUNDS\": \"park way (parkway)\",\r\n \"HOLDER_COMPOUNDS\": \"share holder (shareholder)\",\r\n \"HOLE_COMPOUNDS\": \"key hole (keyhole)\",\r\n \"BREAKER_COMPOUNDS\": \"law breaker (lawbreaker)\",\r\n \"LIFE_COMPOUNDS\": \"life style (lifestyle)\",\r\n \"SHIP_COMPOUNDS\": \"space ship (spaceship)\",\r\n \"WHEEL_COMPOUNDS\": \"wheel chair (wheelchair)\",\r\n \"SEA_COMPOUNDS\": \"sea food (seafood)\",\r\n \"WEB_COMPOUNDS\": \"web site (website)\",\r\n \"AIR_COMPOUNDS\": \"air line (air line)\",\r\n \"RAIN_COMPOUNDS\": \"rain bow (rainbow)\",\r\n \"NOW_ARE_THE_TIME\": \"Now are (is) the time\",\r\n \"IN_THIS_REGARDS\": \"In this regards (regard)\",\r\n \"BUENOS_DIAS\": \"buenos días\",\r\n \"AFTERMARKET\": \"Aftermarket\",\r\n \"HAPPY_EASTER\": \"Happy Easter\",\r\n \"SPIDERMAN\": \"Spiderman\",\r\n \"AIRCRAFTS\": \"Aircrafts\",\r\n \"MAKE_UP\": \"make up (makeup)\",\r\n \"UNDER_COMPOUNDS\": \"under appreciate (underappreciate)\",\r\n \"HITCH_HIKE_COMPOUNDS\": \"hitch hike (hitchhike)\",\r\n \"OVER_COMPOUNDS\": \"over complicated (overcomplicated)\",\r\n \"FEED_BACK\": \"feed back (feedback)\",\r\n \"FREQUENT_ASKED_QUESTIONS\": \"Frequently Asked Questions\",\r\n \"WORK_AROUND_COMPOUND\": \"the work around (workaround)\",\r\n \"YOUR_LOVES_ONES\": \"Your loves (loved) one\",\r\n \"WELL_KNOWN\": \"is well know\",\r\n \"BE_COME\": \"be come (become)\",\r\n \"GOING_TO_JJ\": \"going to (be / too) great\",\r\n \"BE_DONT\": \"I am don't (not) sure\",\r\n \"BE_RB_BE\": \"be + adverb + be\",\r\n \"PEDAL_TO_THE_METAL\": \"petal to the metal\",\r\n \"HAVE_RB_HAVE\": \"duplicated use of 'have'\",\r\n \"MD_IT_JJ\": \"missing 'be' in 'Would it possible'\",\r\n \"IDK\": \"idk (IDK)\",\r\n \"MOST_OF_THE_TIMES\": \"most of the times (time)\",\r\n \"A_IT_MORE\": \"a it (bit) more\",\r\n \"IF_IT_OK_FOR\": \"If it (it is) ok for you\",\r\n \"IT_IT\": \"it it (it is)\",\r\n \"IT_ITS\": \"confusion of 'it' and 'its'\",\r\n \"WUD_LIKE\": \"wud like (would like)\",\r\n \"PRP_ILL_VB\": \"We ill (will) do\",\r\n \"PRP_THE\": \"We the best (missing verb)\",\r\n \"PRP_JJ\": \"He scary (He is scary)\",\r\n \"PRP_MAYBE_JJ\": \"maybe vs. may be\",\r\n \"PRP_RB_JJ\": \"missing verb between 'it' and adjective\",\r\n \"IF_VB_PCT\": \"if need (needed)\",\r\n \"KIND_REGARD\": \"Kind regard (regards)\",\r\n \"SPLITTED\": \"splitted (split)\",\r\n \"CHOOSED\": \"choosed (chose)\",\r\n \"BIDDED\": \"bidded (bid)\",\r\n \"STRIKED\": \"striked (struck)\",\r\n \"CASTED\": \"casted (cast)\",\r\n \"BENDED\": \"bended (bent)\",\r\n \"JAILBREAKED\": \"jailbreaked (jailbroke)\",\r\n \"WROTE\": \"writed (wrote)\",\r\n \"TO_RB_TO_VB\": \"to also (to) go\",\r\n \"MD_ABLE\": \"missing 'be' in 'will able'\",\r\n \"TO_ABLE\": \"missing 'be' in 'to able'\",\r\n \"PRP_ABLE_TO\": \"missing 'be' before 'able'\",\r\n \"ABLE_VBP\": \"missing 'to' after 'able'\",\r\n \"YOU_GOOD\": \"You good? (Are you good?)\",\r\n \"CAN_ANYTHING\": \"can (do) anything for you\",\r\n \"IF_YOU_ANY\": \"if you (have) any\",\r\n \"PRP_MD_NN\": \"missing verb after 'will/can/could/would'\",\r\n \"THAT_S_YOU_RE\": \"that's you're (that you're)\",\r\n \"BE_TO_VBG\": \"He is to making (is making)\",\r\n \"TO_JJR_THAN\": \"'is too high than' vs. 'is higher than'\",\r\n \"MANY_TIME\": \"many time (times)\",\r\n \"COPY_PASTE\": \"Copy (and) paste\",\r\n \"STATE_OF_THE_UNION\": \"proper capitalization of 'State of the Union'\",\r\n \"A_BIT\": \"(a) bit\",\r\n \"A_BIT_OF\": \"a bit (of)\",\r\n \"BUNCH_OF\": \"(a) bunch of\",\r\n \"CONDITIONAL_CLAUSE\": \"conditional clause\",\r\n \"LOWERCASE_MONTHS\": \"august (August)\",\r\n \"GETTED\": \"getted (got)\",\r\n \"LET_OBJECT\": \"Let + object\",\r\n \"ASK_NO_PREPOSITION\": \"ask + object (no preposition)\",\r\n \"BE_IS\": \"inflected form of 'be'\",\r\n \"BE_WILL\": \"will follows be ('he is would')\",\r\n \"CAN_ABLE_TO\": \"can able to (can)\",\r\n \"RELY_ON\": \"rely on\",\r\n \"ALLOW_TO_DO\": \"Missing preposition: allow (to) do\",\r\n \"EXPLAIN_TO\": \"Missing preposition: explain (to)\",\r\n \"DEPEND_ON\": \"depend on\",\r\n \"THANKS_IN_ADVANCED\": \"Thanks in advanced (advance)\",\r\n \"AND_END\": \"the and (end)\",\r\n \"GRADUATE_FROM\": \"graduate from\",\r\n \"ALL_MOST_SOME_OF_NOUN\": \"all/most/some (of) + noun\",\r\n \"WHO_VERB\": \"Who + verb (who know's/knows)\",\r\n \"IF_THERE\": \"missing verb after 'if there'\",\r\n \"DO_YOU_WHAT\": \"do you what (do you know what)\",\r\n \"DONT_WHAT\": \"missing verb (dont't what / dont't know what)\",\r\n \"CAN_WHAT\": \"missing verb (can what / can see what)\",\r\n \"OBJECTIVE_CASE\": \"objective case after with(out)/at/to/...\",\r\n \"POSSESSIVE_CASE\": \"possessive case after with(out)/at/in/to/...\",\r\n \"WRONG_PRP_AT_SENT_START\": \"incorrect pronoun as subject ('Her loves me.')\",\r\n \"TOO_ADJECTIVE_TO\": \"too ADJECTIVE to\",\r\n \"BASE_FORM\": \"base form after I/you/we/they\",\r\n \"TWO_CONNECTED_MODAL_VERBS\": \"Two modal verbs in a row (could should)\",\r\n \"COLLECTIVE_NOUN_VERB_AGREEMENT_VBP\": \"a fleet of ships are (is)\",\r\n \"POKEMON\": \"Pokémon\",\r\n \"POKEMONS\": \"Plural of Pokémon\",\r\n \"POKEMON_GO\": \"Pokémon Go\",\r\n \"COLLECTIVE_NOUN_VERB_AGREEMENT_VBD\": \"a fleet of ships have (has)\",\r\n \"SINGULAR_VERB_AFTER_THESE_OR_THOSE\": \"Singular verb after 'these' or 'those'\",\r\n \"PLURAL_VERB_AFTER_THIS\": \"Plural verb after 'this' or 'that'\",\r\n \"THIS_NNS_VB\": \"this + plural noun + verb (these)\",\r\n \"ONE_OF\": \"one of the JJR + plural\",\r\n \"PEOPLE_VBZ\": \"people + 3rd person verb\",\r\n \"WE_RB_ARE_VB\": \"we + ... + are + base form verb (gerund)\",\r\n \"SOME_FACULTY\": \"some faculty... (some faculty members...)\",\r\n \"NEITHER_NOR\": \"neither X or Y (neither X nor Y)\",\r\n \"EITHER_NOR\": \"either X nor Y\",\r\n \"IS_EVEN_WORST\": \"is even worst (worse)\",\r\n \"JJS_OF_ALL_OTHER\": \"superlative + 'of all other'\",\r\n \"SOME_NN_VBP\": \"'some' + sing. noun + verb\",\r\n \"IS_CAUSE_BY\": \"is cause (caused) by\",\r\n \"BE_INTEREST_IN\": \"be interesting (interested) in\",\r\n \"TOO_EITHER\": \"'too' in negation (either)\",\r\n \"PREFER_TO_VBG\": \"prefer to [gerund] ? [base form]\",\r\n \"VE_HAVING\": \"'ve having ? 've been having\",\r\n \"HAVE_HAVING\": \"have having ? have been having\",\r\n \"PRP_MD_CD_IN\": \"Missing verb (some cases)\",\r\n \"AM_I\": \"missing 'I' in 'am I'\",\r\n \"SHOULD_BE_DO\": \"should be do (done)\",\r\n \"MUST_BE_DO\": \"must be do (done)\",\r\n \"NEEDNT_TO_DO_AND_DONT_NEED_DO\": \"needn't to do(do)\",\r\n \"IT_IS_JJ_TO_VBG\": \"it is ... to doing (do)\",\r\n \"BE_USE_TO_DO\": \"be use (used) to\",\r\n \"AT_TIME\": \"wrong preposition with times 'on (at) 7:30 p.m.'\",\r\n \"HAPPEN_TO\": \"wrong preposition: 'happen with' (happen to)\",\r\n \"DISCUSS_ABOUT\": \"wrong preposition: 'discuss about something' (discuss something)\",\r\n \"ON_ADDITION\": \"wrong preposition: 'On addition' (In addition)\",\r\n \"LEARN_NNNNS_ON_DO\": \"wrong preposition: 'learn sth on do' (to do)\",\r\n \"ESSENTIAL_ESSENTIALLY\": \"essentially\",\r\n \"GAVE_GIVE\": \"verb before 'gave'\",\r\n \"TO_WITHDRAWN\": \"to/will before withdrawn\",\r\n \"AFFORD_VB\": \"'afford', 'choose', etc. used with base form instead of infinitive\",\r\n \"BE_FOND_TO\": \"Wrong preposition: 'be fond to' (be fond of)\",\r\n \"MANY_KINDS_OF\": \"many kinds of + singular noun\",\r\n \"THE_NN_AND_THE_NN\": \"the ... and the ... is (are)\",\r\n \"ARRIVE_NNP\": \"'arrive' + proper noun ('arrive in' + proper noun)\",\r\n \"WILL_LIKE_TO\": \"'will like to' (would like to)\",\r\n \"WHO_NOUN\": \"Noun following 'who'\",\r\n \"THEY_WARE\": \"'they ware' vs 'they were'\",\r\n \"A_STOKE\": \"having a stoke (stroke)\",\r\n \"A_INFINITIVE\": \"a infinitive\",\r\n \"THE_HOT_DOG\": \"the hot-dog (hot dog)\",\r\n \"THE_WELSH\": \"the/a welsh (Welsh)\",\r\n \"A_SCISSOR\": \"a scissor (scissors)\",\r\n \"IN_A_HARRY\": \"In a harry (hurry)\",\r\n \"A_BLESS_DAY\": \"Have a bless (blessed) day\",\r\n \"CC_VERB\": \"Correct use of 'cc'\",\r\n \"THE_BUILT\": \"'the built'\",\r\n \"MUST_HAVE\": \"Hyphen in 'must have/see'\",\r\n \"WOLD_WOULD\": \"wold vs. would\",\r\n \"HE_SEAS\": \"seas vs. sees\",\r\n \"YOU_HAV\": \"you hav (have)\",\r\n \"THE_ARE\": \"the (they, there) are\",\r\n \"AN_ARE\": \"an + are\",\r\n \"THE_THEY\": \"the (they)\",\r\n \"COD_CODE\": \"cod (code)\",\r\n \"A_HAVE_VBN\": \"A have been (I have been)\",\r\n \"HAVE_A_VBN\": \"have a (I) been\",\r\n \"EVER_DAY\": \"ever day (every day)\",\r\n \"EVER_NN\": \"ever day (every day)\",\r\n \"WANT_ONE\": \"'want' vs. 'one'\",\r\n \"HIGH_LIGHT\": \"high light (highlight)\",\r\n \"THE_HEADQUARTER\": \"the + headquarter\",\r\n \"SPEAK_SPEECH\": \"speak (speech)\",\r\n \"BEG_BAG\": \"confusion of 'beg' vs 'bag'\",\r\n \"HEAVE_USE_OF\": \"make heave (heavy) use of\",\r\n \"A_COMPLAIN\": \"a + complain/restrain\",\r\n \"COMPLAINT_COMPLAINED\": \"He complaint/restraint (complained/restrained)\",\r\n \"IS_THERE_ANY_NNS\": \"Is (are) there any chances\",\r\n \"AN_VB_PRP\": \"'an' vs. 'and' vs. 'any'\",\r\n \"THE_THIRD_PARTY\": \"the third-party\",\r\n \"PREPOSITION_VERB\": \"the + verb\",\r\n \"THE_ADD_ON\": \"the + add on\",\r\n \"A_INSTALL\": \"a/the + install\",\r\n \"GAMEBOY\": \"gameboy (game boy)\",\r\n \"FOX_NEWS\": \"Fox News\",\r\n \"WHITE_HOUSE\": \"White House\",\r\n \"PRESIDENT_TRUMP\": \"president trump (Trump)\",\r\n \"MARKDOWN_NNP\": \"Proper noun: Markdown\",\r\n \"A_GOOGLE\": \"a/the + proper noun\",\r\n \"GOGGLE_GOOGLE\": \"goggle vs. Google\",\r\n \"TWITTER\": \"twitter (Twitter)\",\r\n \"ON_SKYPE\": \"Let's talk on skype (Skype)\",\r\n \"ON_EXCEL\": \"In excel (Excel)\",\r\n \"GOOGLE_PRODUCTS\": \"Google product names\",\r\n \"OPERA_BROWSER\": \"capitalization of 'Opera' (browser)\",\r\n \"NORTH_POLE\": \"north pole (North Pole)\",\r\n \"SPACEX\": \"SpaceX\",\r\n \"BON_APPETITE\": \"bon appétit\",\r\n \"APPLE_PRODUCTS\": \"Apple product names\",\r\n \"MAC_OS\": \"Mac OS (macOS)\",\r\n \"MICROSOFT_PRODUCTS\": \"Microsoft product names\",\r\n \"VITAMIN_C\": \"vitamin C\",\r\n \"COVID_19\": \"COVID-19\",\r\n \"WALTER_REED\": \"Walter Reed Hospital\",\r\n \"JOHNS_HOPKINS_UNIVERSITY\": \"Johns Hopkins University\",\r\n \"POWER_SHELL\": \"PowerShell\",\r\n \"BEST_BUY\": \"Best Buy\",\r\n \"G_MAIL\": \"Gmail\",\r\n \"HARPERS_BAZAAR\": \"Harper's Bazaar\",\r\n \"SCHINDLERS_LIST\": \"Schindler's List\",\r\n \"EDGAR_ALLAN_POE\": \"Allen Poe (Allan Poe)\",\r\n \"WHATS_APP\": \"WhatsApp\",\r\n \"CHAT_GPT\": \"Chat GPT (ChatGPT)\",\r\n \"HERBERT_DIES\": \"Herbert Dies (Diess)\",\r\n \"EIFFEL_TOWER\": \"Eifel (Eiffel)\",\r\n \"GIT_HUB\": \"GitHub\",\r\n \"LEROY_SANE\": \"Leroy Sané\",\r\n \"CARNEGIE_MELLON\": \"Carnegie Mellon\",\r\n \"AIR_BNB\": \"Air Bnb (Airbnb)\",\r\n \"CALL_OF_DUTY\": \"Call of Duty\",\r\n \"BARACK_OBAMA\": \"Barrack Obama -> Barack Obama\",\r\n \"WERNHER_VON_BRAUN\": \"Werner (Wernher) von Braun\",\r\n \"JENNIFER_ANISTON\": \"Jennifer Aniston\",\r\n \"RINGO_STARR\": \"Ringo Starr\",\r\n \"SALVADOR_DALI\": \"Salvador Dalí\",\r\n \"RONALD_REAGAN\": \"Ronald Reagan\",\r\n \"T_REX\": \"T-rex (T. rex)\",\r\n \"JESUS_CHRIS\": \"Jesus Chris (Christ)\",\r\n \"SANTA_CLAUS\": \"Santa Clause (Claus)\",\r\n \"LITHIUM_ION\": \"lithium ion battery\",\r\n \"BLACK_LIVES_MATTER\": \"Black Lives Matter\",\r\n \"JAVA_SCRIPT\": \"JavaScript\",\r\n \"YOU_TUBE\": \"YouTube\",\r\n \"PAY_PAL\": \"PayPal\",\r\n \"KAMA_SUTRA\": \"Kama Sutra\",\r\n \"COCA_COLA\": \"Coca Cola (Coca-Cola)\",\r\n \"Z_WAVE\": \"Z-Wave\",\r\n \"LONG_ISLAND_ICED_TEA\": \"Long Island iced tea\",\r\n \"GREYS_ANATOMY\": \"Grey's Anatomy\",\r\n \"COLD_PLAY\": \"Coldplay\",\r\n \"ASSASSINS_CREED\": \"Assassin's Creed\",\r\n \"MERCEDES_BENZ\": \"Mercedes Benz (Mercedes-Benz)\",\r\n \"MERRIAM_WEBSTER\": \"Merriam Webster (Merriam-Webster)\",\r\n \"SAINT_TROPEZ\": \"Saint Tropez (Saint-Tropez)\",\r\n \"ROLLS_ROYCE\": \"Rolls Royce (Rolls-Royce)\",\r\n \"ALKA_SELTZER\": \"Alka Seltzer (Alker-Seltzer)\",\r\n \"BAND_AID\": \"Band Aid (Band-Aid)\",\r\n \"JAY_Z\": \"Jay Z (Jay-Z)\",\r\n \"OBJECTIVE_C\": \"Objective-C\",\r\n \"DELTA_AIRLINES\": \"Delta Air Lines\",\r\n \"BIT_COIN\": \"Bitcoin\",\r\n \"SEVEN_ELEVEN\": \"7-Eleven\",\r\n \"BOEING_737_MAX\": \"737 max (Max)\",\r\n \"APRIL_FOOLS\": \"April Fools' Day\",\r\n \"COTE_D_AZUR\": \"Côte d’Azur\",\r\n \"MCDONALDS\": \"McDonald's\",\r\n \"SCHITTS_CREEK\": \"Schitt's Creek\",\r\n \"QUEENS_GAMBIT\": \"Queen's Gambit\",\r\n \"SAMS_CLUB\": \"Sam's Club\",\r\n \"MOORES_LAW\": \"Moore's Law\",\r\n \"VICTORIAS_SECRET\": \"Victoria's Secret\",\r\n \"LOCKHEED_MARTIN\": \"Lockheed Martin\",\r\n \"JACK_DANIELS\": \"Jack Daniel's\",\r\n \"KINGS_COLLEGE\": \"King's College\",\r\n \"DOMINOS_PIZZA\": \"Dominos Pizza\",\r\n \"TRAVELERS_CHECK\": \"traveler's check\",\r\n \"UNCLE_BENS\": \"Uncle Bens -> Ben's\",\r\n \"KELLOGGS\": \"Kellogg's\",\r\n \"WENDYS\": \"Wendy's\",\r\n \"SAINSBURYS\": \"Sainsbury's\",\r\n \"SAO_PAOLO\": \"Sau Paulo (São Paulo)\",\r\n \"ERDOGAN\": \"Erdogan (Erdo?an)\",\r\n \"SUPER_TUESDAY\": \"Super Tuesday\",\r\n \"EARL_GREY\": \"Earl Grey\",\r\n \"FORREST_GUMP\": \"Forest (Forrest) Gump\",\r\n \"NEW_ZEELAND\": \"New Zeeland (Zealand)\",\r\n \"LEHMANN_BROTHERS\": \"Lehman Brothers\",\r\n \"LOREAL\": \"L’Oréal\",\r\n \"FEDEX\": \"FedEx\",\r\n \"CAP_CORAL\": \"Cap Coral\",\r\n \"LOS_ANGELS\": \"Los Angels (Los Angeles)\",\r\n \"JONG_UN\": \"Kim Jong-un\",\r\n \"TIK_TOK\": \"TikTok\",\r\n \"SOCIETE_GENERALE\": \"Société Générale\",\r\n \"NDRANGHETA\": \"'Ndrangheta\",\r\n \"VON_DER_LEYEN\": \"Ursula von der Leyen\",\r\n \"EMMANUEL_MACRON\": \"Emmanuel Macron\",\r\n \"RED_NOSED_REINDEER\": \"Red-Nosed Reindeer\",\r\n \"A_WINDOWS\": \"Windows (proper noun)\",\r\n \"A_SNICKERS\": \"Snickers (proper noun)\",\r\n \"DUNKIN_DONUTS\": \"Dunkin' Donuts\",\r\n \"MAR_A_LAGO\": \"proper noun 'mar-a-lago'\",\r\n \"A_ATTACH\": \"a/the attach\",\r\n \"A_THANK_YOU\": \"a/the + thank you\",\r\n \"WORK_LIFE_BALANCE\": \"missing hyphen in 'work life balance'\",\r\n \"ONE_NIGHT_STAND_HYPHEN\": \"missing hyphen in 'one night stand'\",\r\n \"ONE_TERM_PRESIDENT_HYPHEN\": \"missing hyphen in 'one term president'\",\r\n \"TOP_DOWN_HYPHEN\": \"missing hyphen in 'top down'\",\r\n \"TOSS_UP_HYPHEN\": \"missing hyphen in 'toss up'\",\r\n \"HANDS_ON_HYPHEN\": \"missing hyphen in 'hands on'\",\r\n \"ONE_STOP_HYPHEN\": \"missing hyphen in 'one stop'\",\r\n \"MAIL_IN_HYPHEN\": \"missing hyphen in 'mail in'\",\r\n \"OUT_OF_POCKET_HYPHEN\": \"missing hyphen in 'one night stand'\",\r\n \"SOON_TO_BE_HYPHEN\": \"missing hyphens in 'soon to be'\",\r\n \"WAKE_UP_HYPHEN\": \"missing hyphen in 'wake up call'\",\r\n \"ONE_TO_MANY_HYPHEN\": \"missing hyphen in 'many to many'\",\r\n \"PUSH_UP_HYPHEN\": \"missing hyphen in 'push up bra'\",\r\n \"IN_APP_HYPHEN\": \"missing hyphen in 'in app'\",\r\n \"RUNNER_UP_HYPHEN\": \"runnner-up\",\r\n \"HOW_TO_HYPHEN\": \"the how to (how-to)\",\r\n \"LOW_HANGING_FRUIT_HYPHEN\": \"missing hyphen in 'low hanging fruit'\",\r\n \"RUN_ON_HYPHEN\": \"missing hyphen in 'run on'\",\r\n \"BUTTON_UP_HYPHEN\": \"missing hyphen in 'run on'\",\r\n \"HIGH_END_HYPHEN\": \"missing hyphen in 'high end'\",\r\n \"SAME_SEX_HYPHEN\": \"missing hyphen in 'same sex'\",\r\n \"LOW_COST_HYPHEN\": \"missing hyphen in 'low cost'\",\r\n \"OPEN_PLAN_HYPHEN\": \"missing hyphen in 'open plan'\",\r\n \"ENGINED_HYPHEN\": \"missing hyphen in 'twin-engined\",\r\n \"MUCH_NEEDED_HYPHEN\": \"missing hyphen in 'much needed'\",\r\n \"DRY_ERASE_HYPHEN\": \"missing hyphen in 'dry erase'\",\r\n \"MILE_HYPHEN\": \"missing hyphen in '2 mile race'\",\r\n \"PERSON_HYPHEN\": \"missing hyphen in '2 person meeting'\",\r\n \"END_TO_END_HYPHEN\": \"missing hyphen in 'end-to-end\",\r\n \"SO_CALLED_HYPHEN\": \"missing hyphen in 'so called'\",\r\n \"FIRST_PERSON_SHOOTER\": \"hyphen in 'first person shooter'\",\r\n \"SET_TOP_BOX_HYPHEN\": \"missing hyphen in 'set top box'\",\r\n \"PRIME_TIME_HYPHEN\": \"missing hyphen in 'prime time television'\",\r\n \"FACT_CHECK_HYPHEN\": \"missing hyphen in 'fact check'\",\r\n \"IN_EAR_HYPHEN\": \"missing hyphen in 'in ear'\",\r\n \"STEP_BY_STEP_HYPHEN\": \"missing hyphens in 'step-by-step'\",\r\n \"OPEN_HEART_HYPHEN\": \"missing hyphen in 'open heart'\",\r\n \"ALL_KNOWING_HYPHEN\": \"missing hyphen in 'all knowing'\",\r\n \"ALL_TIME_HYPHEN\": \"missing hyphen in 'all time high'\",\r\n \"ALL_GIRLS_HYPHEN\": \"missing hyphen in 'all girls'\",\r\n \"ALL_WHEEL\": \"missing hyphen in 'all-wheel'\",\r\n \"ALL_IN_ONE_HYPHEN\": \"missing hyphens in 'all-in-one'\",\r\n \"AFRO_AMERICAN_HYPHEN\": \"missing hyphen in 'Afro American'\",\r\n \"ZERO_DAY_EXPLOIT_HYPHEN\": \"a zero day (zero-day) exploit\",\r\n \"DAY_TO_DAY_HYPHEN\": \"missing hyphens in 'day to day'\",\r\n \"TAKEAWAY\": \"take away (takeaway)\",\r\n \"ANTI_AMERICAN_HYPHEN\": \"missing hyphen in 'anti-Semitism'\",\r\n \"NO_GO_HYPHEN\": \"missing hyphen in 'no-go'\",\r\n \"LOGGED_IN_HYPHEN\": \"missing hyphen in 'logged in'\",\r\n \"CATCH_ALL_HYPHEN\": \"missing hyphen in 'catch-all'\",\r\n \"BUILT_IN_HYPHEN\": \"missing hyphen in 'built in'\",\r\n \"ALL_YOU_CAN_EAT_HYPHEN\": \"hyphens in 'all-you-can-eat'\",\r\n \"GO_TO_HYPHEN\": \"missing hyphen in 'go to'\",\r\n \"OPT_IN_HYPHEN\": \"hyphen in 'opt in/out'\",\r\n \"PASSWORD_PROTECTED_HYPHEN\": \"missing hyphen in 'password protected area'\",\r\n \"DOUBLE_CLICK_HYPHEN\": \"missing hyphen in 'double click' (verb)\",\r\n \"HANDOVER\": \"handover (hand over)\",\r\n \"SHUTDOWN\": \"shutdown (shut down)\",\r\n \"OPEN_OFFICE\": \"Open Office (OpenOffice)\",\r\n \"MANEGE\": \"Manege (manège or manage)\",\r\n \"COMPERE\": \"Compere (compère or compare)\",\r\n \"MATERIEL\": \"Materiel (matériel or material)\",\r\n \"BARCA_DIACRITIC\": \"Barca or Barça\",\r\n \"RE_DO_COMPOUND\": \"'re do' spelled as one word\",\r\n \"TO_DO_HYPHEN\": \"missing hyphen in 'to do'\",\r\n \"DO_IT_YOURSELF_HYPHEN\": \"missing hyphen in 'do it yourself'\",\r\n \"SIMPLE_TO_USE_HYPHEN\": \"missing hyphen in 'simple to use'\",\r\n \"CALL_TO_ACTION_HYPHEN\": \"missing hyphen in 'call to action'\",\r\n \"WRITE_UP_HYPHEN\": \"hyphen in 'write up'\",\r\n \"THOUGH_THOUGHT\": \"confusion of though/thought\",\r\n \"MAN_MADE\": \"hyphen in 'man made'\",\r\n \"OPERATION_SYSTEM\": \"operation (operating) system\",\r\n \"HOVER_BOARD\": \"hover board (hoverboard)\",\r\n \"AREA_51\": \"area 51 (Area 51)\",\r\n \"YA_LL\": \"Ya'll (Y'all)\",\r\n \"BE_FINED_WITH\": \"be fined with (be fine with)\",\r\n \"VERY_THANKS_THANKS_A_LOT\": \"very thanks (thanks a lot)\",\r\n \"BETWEEN_PRP\": \"between he and… (between him and…)\",\r\n \"IN_WHO\": \"Preposition + who (whom)\",\r\n \"IF_WOULD_HAVE_VBN\": \"if I would have (if I had)\",\r\n \"FEWER_LESS\": \"fewer with countable nouns (less)\",\r\n \"DOES_YOU\": \"does (do) I/you/we/they\",\r\n \"DO_VBZ\": \"do you sings (sing)\",\r\n \"DO_VBZ_AMBIGUOUS_VERB\": \"do you found (find)\",\r\n \"MD_BE_NON_VBP\": \"could/should/must be does (done)\",\r\n \"DOES_NP_VBZ\": \"'does' ... 3rd person verb (base verb)\",\r\n \"WHAT_VBZ\": \"3rd person verb (base verb) after what/who\",\r\n \"IT_VBZ\": \"'it' + non-3rd person verb\",\r\n \"DID_PAST\": \"'did' with past tense verb\",\r\n \"ADVERB_VERB_ADVERB_REPETITION\": \"Adverb repetition: e.g. 'also see also'\",\r\n \"GOING_TO_VBD\": \"Use of past form with 'going to ...'\",\r\n \"NON_ACTION_CONTINUOUS\": \"Use of continuous form with non-action verbs\",\r\n \"ON_FIRST_GLANCE\": \"on (at) first glance\",\r\n \"CONGRATULATIONS_FOR\": \"congratulations for (on)\",\r\n \"DONT_NEEDS\": \"don't ... 3rd person verb\",\r\n \"DOES_X_HAS\": \"does ... 3rd person verb\",\r\n \"A_QUITE_WHILE\": \"a quite while (quite a while)\",\r\n \"DT_RB_IN\": \"Adverb instead of noun\",\r\n \"A_RB_NN\": \"Adverb instead of an adjective\",\r\n \"WANT_THAT_I\": \"want that I (want me to)\",\r\n \"THE_SENT_END\": \"Sentence ending with 'the' or 'a'\",\r\n \"THE_PUNCT\": \"'The' or 'a' before a punctuation\",\r\n \"PRP_RB_NO_VB\": \"Verb missing after personal pronoun and adverb at beginning of sentence.\",\r\n \"DONT_WILL\": \"don't will (won't)\",\r\n \"WAS_BEEN\": \"was been (has been)\",\r\n \"LETS_DONT\": \"let's don't (let's not)\",\r\n \"THESE_ONES\": \"these/those ones (these/those)\",\r\n \"EACH_EVERY_NNS\": \"'each' or 'every' with plural nouns\",\r\n \"A_INFORMATION\": \"'information' as a plural noun\",\r\n \"SINGULAR_AGREEMENT_SENT_START\": \"Possible agreement error: singular noun + plural verb\",\r\n \"AGREEMENT_SENT_START\": \"Possible agreement error: plural noun + singular verb\",\r\n \"AGREEMENT_QUESTION\": \"agreement error: auxiliary verb (do/have) and subject in questions\",\r\n \"A_HUNDREDS\": \"a hundreds (hundred)\",\r\n \"COUPLE_OF_TIMES\": \"couples of times (couple of times)\",\r\n \"A_NUMBER_NNS\": \"number (of) years\",\r\n \"A_CD_NNS\": \"I have a 20 cars (I have 20 cars)\",\r\n \"A_NNS\": \"Agreement: 'a' + plural word\",\r\n \"ONE_PLURAL\": \"Agreement: 'one' + plural word\",\r\n \"DIE_DICE\": \"one die, two dice\",\r\n \"ESPECIALLY\": \"(e)specially\",\r\n \"FOOT_FEET\": \"one foot, two feet\",\r\n \"MAN_MEN\": \"one man, two men\",\r\n \"WOMAN_WOMEN\": \"one woman, two women\",\r\n \"HAVE_TWITTER\": \"have twitter (have Twitter / have twittered)\",\r\n \"PRP_HAVE_VB\": \"He has uses (used) the switch\",\r\n \"HAVE_PART_AGREEMENT\": \"Agreement: 'have' + past/present tense\",\r\n \"BE_PART_AGREEMENT_2\": \"Were they send (sent) via WhatsApp?\",\r\n \"CONFUSION_RIDE_RIGHT\": \"confusion of ride/right\",\r\n \"BE_VBP_IN\": \"can be access (accessed)\",\r\n \"BEEN_PART_AGREEMENT\": \"Agreement: 'been' or 'was' + past tense\",\r\n \"MASS_AGREEMENT\": \"Agreement: Mass/singular noun + non-third-person verb\",\r\n \"RELATIVE_CLAUSE_AGREEMENT\": \"Agreement of relative pronoun 'who' and verb\",\r\n \"AS_WILL_AS\": \"as will (well) as\",\r\n \"PERS_PRONOUN_AGREEMENT\": \"Agreement: 'I is / you is / ... '\",\r\n \"TAKE_IT_PERSONAL\": \"Take it personal (personally)\",\r\n \"I_PERSONAL\": \"I personal (personally)\",\r\n \"PRONOUN_NOUN\": \"Pronoun + noun\",\r\n \"TO_NON_BASE\": \"'to' + non-base form\",\r\n \"MANY_FEW_UNCOUNTABLE\": \"'many/few' + uncountable noun, e.g. 'many (much) food'\",\r\n \"A_UNCOUNTABLE\": \"Articles: a + uncountable noun\",\r\n \"MOST_SOME_OF_NNS\": \"Articles: 'most/some of' + plural noun\",\r\n \"HAVE_A_BREAKFAST\": \"Articles before nouns used normally without them\",\r\n \"IN_1990s\": \"Missing definite article in the date\",\r\n \"IN_PAST\": \"Missing definite article referring to a time period\",\r\n \"ALLOW_TO\": \"'allow' + 'to' + infinitive\",\r\n \"AFFORD_VBG\": \"'afford', 'choose', 'deserve', 'pretend', 'learn', 'strive', 'want' and 'struggle' used with gerund instead of infinitive\",\r\n \"ADMIT_ENJOY_VB\": \"'admit', 'appreciate', 'avoid', 'enjoy' etc. with a base form of a verb\",\r\n \"ADVISE_VBG\": \"'advise', 'help' and 'remind' used with gerund instead of infinitive\",\r\n \"PROGRESSIVE_VERBS\": \"Progressive forms of non-progressive verbs (doubt, believe, understand)\",\r\n \"IT_IS_DEPENDING_ON\": \"it's depending on (it depends on)\",\r\n \"INCORRECT_POSSESSIVE_APOSTROPHE\": \"This weeks' (week's)\",\r\n \"THIS_NNS\": \"'this' vs. 'these'\",\r\n \"A_MUCH_NN1\": \"Superfluous article before 'much', e.g. 'a much work'\",\r\n \"SUPERLATIVE_THAN\": \"SUPERLATIVE + THAN, e.g. worst (worse) than\",\r\n \"SUPERIOR_THAN_TO\": \"Latinate comparatives (e.g. superior than/to)\",\r\n \"THE_WORSE_OF\": \"THE + RELATIVE + OF, e.g. the worse (worst) of\",\r\n \"MOST_SUPERLATIVE\": \"No 'more' or 'most' before superlatives\",\r\n \"MOST_COMPARATIVE\": \"No 'more' or 'most' before comparatives\",\r\n \"LESS_COMPARATIVE\": \"'less' before comparative or superlative\",\r\n \"LEAST_COMPARATIVE\": \"'least' before comparative or superlative\",\r\n \"WORLDS_BEST\": \"Worlds (World's) Best\",\r\n \"THE_SUPERLATIVE\": \"Zero or indefinite article ('a'/'an') before superlatives\",\r\n \"DETERMINER_GEOGRAPHICAL_WORD\": \"Determiners preceding geographical terms\",\r\n \"SHORT_COMPARATIVES\": \"more old vs. older\",\r\n \"SHORT_SUPERLATIVES\": \"Short superlatives\",\r\n \"WILL_BECOMING\": \"will becoming (be coming)\",\r\n \"WILL_BASED_ON\": \"it would (be) appreciated\",\r\n \"WOULD_NEVER_VBN\": \"would never done (have done)\",\r\n \"MD_BASEFORM\": \"Non-infinitive verb after modal verbs\",\r\n \"DID_BASEFORM\": \"Non-infinitive verb after did/does\",\r\n \"DID_FOUND_AMBIGUOUS_2\": \"Auxiliary verb + found/saw\",\r\n \"MUST_HAVE_TO\": \"'must to' instead of 'have to'\",\r\n \"AS_ADJ_AS\": \"Comparison with 'as'\",\r\n \"THE_SAME_AS\": \"Comparison with 'the same ... as'\",\r\n \"EAGER_TO\": \"Non-infinitive verb with 'eager to...'\",\r\n \"COMP_THAN\": \"Comparison with 'than', e.g. 'bigger then (than)'\",\r\n \"MISSING_PAST_TENSE\": \"Missing past tense with '...last year/month/etc.'\",\r\n \"USE_TO_VERB\": \"Missing past tense for 'used to...'\",\r\n \"MORE_A_JJ\": \"Word order: 'more a ...' instead of 'a more ...'\",\r\n \"ORDER_OF_WORDS_WITH_NOT\": \"wrong order of words\",\r\n \"NON3PRS_VERB\": \"Agreement error: Third-person verb with a non-third-person pronoun\",\r\n \"OUGHT_SAY\": \"ought + infinitive (ought to + infinitive)\",\r\n \"NOTHING_SUCH_AS\": \"to be nothing such as (to be no such thing as)\",\r\n \"DO_ANYONE\": \"Do (Does) anyone\",\r\n \"DO_HE_VERB\": \"do (does) he have\",\r\n \"WHEN_IS_NNP_AND_NNP\": \"Incorrect use of 'is' vs. 'are'\",\r\n \"WAS_IS\": \"was is\",\r\n \"IS_WAS\": \"is was\",\r\n \"IS_OWN\": \"is own\",\r\n \"DIDINT\": \"he didin't (didn't)\",\r\n \"DIDENT\": \"he dident (didn't)\",\r\n \"PRP_DINT\": \"he dint (didn't)\",\r\n \"I_EM\": \"I em (am)\",\r\n \"ANI_T\": \"he ani't (ani't)\",\r\n \"PRP_ANIT\": \"he ani't (ani't)\",\r\n \"PRP_HAVES\": \"he haves (has)\",\r\n \"PRP_FOND\": \"we fond (found)\",\r\n \"PRP_WONT\": \"he wonts (wants)\",\r\n \"PRP_SUITES\": \"he suites (suits)\",\r\n \"PRP_MUS\": \"he mus (must)\",\r\n \"PRP_NEDS\": \"he neds (needs)\",\r\n \"PRP_DELT\": \"he delt (dealt)\",\r\n \"PRP_GOS\": \"he gos (goes)\",\r\n \"PRP_HAFT\": \"They haft (have) to\",\r\n \"PRP_DOS\": \"he dos (does)\",\r\n \"PRP_DRYS\": \"it drys (dries)\",\r\n \"YOUR_RE\": \"Your're (you're)\",\r\n \"A_MD_VB\": \"A would not do it\",\r\n \"PRP_NOWS\": \"he nows (knows)\",\r\n \"WENT\": \"wen't (went)\",\r\n \"PRP_PORTRAIT\": \"he portraits (portrays)\",\r\n \"PRP_WUS\": \"he wos (was)\",\r\n \"PRP_BOUGH\": \"he bough (bought)\",\r\n \"HE_HIS\": \"he his (is)\",\r\n \"PRP_SOOTHS\": \"it sooths (soothes)\",\r\n \"PRP_SAIS\": \"it sais (says)\",\r\n \"PRP_KNOWNS\": \"he knowns (knows)\",\r\n \"CANN_T\": \"cann't ? can't\",\r\n \"DONN_T\": \"donn't ? don't\",\r\n \"MUSN_T\": \"musn't ? mustn't\",\r\n \"COUD_T\": \"oud't, oudn't, ould't ? ouldn't\",\r\n \"COUN_T\": \"coun't ? couldn't, count\",\r\n \"WOUN_T\": \"woun't ? wouldn't, won't\",\r\n \"ISEN_T\": \"isen't ? isn't\",\r\n \"ARN_T\": \"arn't ? aren't\",\r\n \"WASEN_T\": \"he wasen't (wasn't)\",\r\n \"WASENT\": \"he wasent (wasn't)\",\r\n \"DOESENT\": \"dosent (doesn't)\",\r\n \"DONS_T\": \"dons't (don't)\",\r\n \"PRP_DON\": \"they don (don't)\",\r\n \"PRP_DOCENT\": \"he docent (doesn't)\",\r\n \"PRP_MIGHT\": \"I mite (might)\",\r\n \"DOS\": \"Dos vs Does\",\r\n \"DOSNT\": \"he dosn't (doesn't)\",\r\n \"HAVNT\": \"they havn't (haven't)\",\r\n \"NED_NEED\": \"we ned (need) to\",\r\n \"IES_IZE\": \"I priorities (prioritize)\",\r\n \"BENTS_BENDS\": \"She bents (bends)\",\r\n \"EMPHASIS_EMPHASIZE\": \"I emphasis (emphasize)\",\r\n \"BELIVE_BELIEVE\": \"I belive (believe)\",\r\n \"HOW_YOU_DOING\": \"how (are) you doing'\",\r\n \"PRP_VBG\": \"He going (He is going)\",\r\n \"HE_NEED\": \"He need (needs)\",\r\n \"HE_LIKE\": \"He like (likes) me\",\r\n \"HE_VERB_AGR\": \"Agreement error: Non-third person/past tense verb with 'he/she/it' or a pronoun\",\r\n \"I_BORN\": \"I (was) born in the USA\",\r\n \"PRP_PAST_PART\": \"Agreement error: past participle without 'have'\",\r\n \"HAS_OUGHT\": \"has ought (ought)\",\r\n \"EQUALLY_AS\": \"equally as (equally)\",\r\n \"IF_OR_NOT\": \"if or not (whether or not)\",\r\n \"KIND_OF_A\": \"'kind/type/sort of a/an'\",\r\n \"BECAUSE_OF_I\": \"because of we (because we)\",\r\n \"CAUSE_BECAUSE\": \"confusion of cause vs. because\",\r\n \"PAYED\": \"payed (paid)\",\r\n \"BOTH_AS_WELL_AS\": \"both... as well as (and)\",\r\n \"ACCORDING_TO_ME\": \"according to me (in my opinion)\",\r\n \"AFRAID_OF_HEIGHT\": \"'afraid of' + singular\",\r\n \"I_AFRAID\": \"'I afraid of' (I'm afraid of)\",\r\n \"DOES_XX_CAN\": \"Wrong usage of modal verbs in questions\",\r\n \"THERE_S_MANY\": \"Possible agreement error 'there's' + plural noun\",\r\n \"THERE_RE_MANY\": \"Possible agreement error 'there're' + singular noun\",\r\n \"THERE_WAS_MANY\": \"Possible agreement error 'there was' + plural noun\",\r\n \"A_LOT_OF_NN\": \"Possible agreement error: 'a lot/bunch/couple of' + singular countable noun\",\r\n \"A_COLLECTIVE_OF_NN\": \"Possible agreement error: 'a + collective noun + of' + singular countable noun\",\r\n \"LOTS_OF_NN\": \"Possible agreement error: 'lots/plenty of' + singular countable noun\",\r\n \"STARS_AND_STEPS\": \"Missing hyphen: number + page/step/star\",\r\n \"HAD_TOO\": \"confusion of 'too' and 'to'\",\r\n \"HAD_TWO\": \"confusion of 'two' and 'to'\",\r\n \"TEN_FOLD\": \"'ten fold' written as one word\",\r\n \"FACTOR_HYPHEN\": \"missing hyphen in 'two factor auth'\",\r\n \"EASY_GOING_HYPHEN\": \"missing hyphen in 'easy going'\",\r\n \"RED_LIGHT_HYPHEN\": \"missing hyphen in 'red light district'\",\r\n \"MONEY_BACK_HYPHEN\": \"missing hyphen in 'money back guarantee'\",\r\n \"WEEK_LONG_HYPHEN\": \"A week long (week-long) vacation\",\r\n \"HANDS_FREE_HYPHEN\": \"hands free (hands-free)\",\r\n \"BARE_BONES_HYPHEN\": \"bare bones (bare-bones)\",\r\n \"GUEST_EDIT_HYPHEN\": \"guest edit (guest-edit)\",\r\n \"LIFE_CHANGING_HYPHEN\": \"missing hyphen in 'life changing moments'\",\r\n \"POST_IT_NOTE_HYPHEN\": \"The post it (post-it) note\",\r\n \"BIT_HYPHEN\": \"missing hyphen in 'a 32 bit processor'\",\r\n \"ROOM_APARTMENT_HYPHEN\": \"missing hyphen in '2 room apartment'\",\r\n \"DOOR_HYPHEN\": \"missing hyphen in '2 door coupe'\",\r\n \"STORY_HYPHEN\": \"missing hyphen in '10 story window'\",\r\n \"FOUR_SEASON_HYPHEN\": \"missing hyphen in '4 season tent'\",\r\n \"HOUR_HYPHEN\": \"missing hyphen in '24 hour motel'\",\r\n \"WEEK_HYPHEN\": \"missing hyphen in '8 week semester'\",\r\n \"MONTH_HYPHEN\": \"missing hyphen in '2 month cycle'\",\r\n \"YEAR_HYPHEN\": \"missing hyphen in '2 month cycle'\",\r\n \"FIGURE_HYPHEN\": \"missing hyphen in '7 figure salary'\",\r\n \"CYLINDER_HYPHEN\": \"missing hyphen in '8 cylinder engine'\",\r\n \"CAR_HYPHEN\": \"missing hyphen in 'four car garage'\",\r\n \"DEGREE_HYPHEN\": \"missing hyphen in '10 degree angle'\",\r\n \"PIECE_HYPHEN\": \"missing hyphen in '125 piece puzzle'\",\r\n \"CARAT_HYPHEN\": \"missing hyphen in '30 carat gold'\",\r\n \"WHEEL_HYPHEN\": \"missing hyphen in '4 wheel drive'\",\r\n \"COURSE_HYPHEN\": \"missing hyphen in '3 course meal'\",\r\n \"INCH_HYPHEN\": \"missing hyphen in '22 inch monitor'\",\r\n \"HEADED_HYPHEN\": \"missing hyphen in 'two headed monster'\",\r\n \"SEAT_HYPHEN\": \"missing hyphen in '2 seat convertible'\",\r\n \"YARD_HYPHEN\": \"missing hyphen in '100 yard house plan'\",\r\n \"WORD_ESSAY_HYPHEN\": \"missing hyphen in '1000 word essay'\",\r\n \"BUY_TWO_GET_ONE_FREE\": \"missing comma in 'buy two get one free'\",\r\n \"AT_CD_CLOCK\": \"At 7 clock (o'clock)\",\r\n \"CD_NN\": \"Possible agreement error: numeral + singular countable noun\",\r\n \"TH_CENTURY\": \"'19 century' (19th century)\",\r\n \"INCORRECT_POSSESSIVE_FORM_AFTER_A_NUMBER\": \"Incorrect possessive form after a number\",\r\n \"CD_DOZENS_OF\": \"Plural form of numbers in 'two dozens of' (two dozen)\",\r\n \"NODT_DOZEN\": \"Numeral (dozen, hundred, thousand, million) without a determiner or a number\",\r\n \"MUCH_COUNTABLE\": \"'much' + countable noun, e.g. 'much (many) children'\",\r\n \"MANY_NN\": \"Possible agreement error: 'many/several/few' + singular countable noun\",\r\n \"DT_JJ_NO_NOUN\": \"Missing noun after an adjective\",\r\n \"MANY_NN_U\": \"Possible agreement error: 'many/several/few' + uncountable noun\",\r\n \"DOUBLE_NEGATIVE\": \"Double negative (e.g., 'not... nothing' instead of 'not... anything')\",\r\n \"TIP_AND_TRICK\": \"misspelled tips and tricks\",\r\n \"AD_AND\": \"ad (and)\",\r\n \"GOOD_GOOF\": \"goof (good)\",\r\n \"FOR_MY\": \"form y (for my)\",\r\n \"EXCEPTION_PREPOSITION_THE_RULE\": \"wrong preposition: 'exception PREPOSITION the rule' (exception to the rule)\",\r\n \"REGARDING_TO\": \"Regarding to (regard to/regarding)\",\r\n \"ARTICLE_ADJECTIVE_OF\": \"ARTICLE ADJECTIVE of\",\r\n \"LOSE_LIVES\": \"lose their life (lives)\",\r\n \"MEAN_FOR_TO\": \"mean something for (to) somebody\",\r\n \"BEWARE_PREPOSITION\": \"beware PREPOSITION\",\r\n \"THE_BEST_WAY\": \"missing article before 'BE + ADJECTIVE + way'\",\r\n \"THE_MOST\": \"missing article before 'BE + MOST + ADJECTIVE + NOUN'\",\r\n \"EVERY_EACH_SINGULAR\": \"'every/each' + SINGULAR\",\r\n \"EACH_OTHERS\": \"each others’ (other’s)\",\r\n \"SIGN_INTO\": \"wrong preposition: sign into (sign in to)\",\r\n \"ACCUSTOMED_TO\": \"accustomed to\",\r\n \"INSPIRED_WITH\": \"inspired with (by)\",\r\n \"MISSING_NOUN\": \"Missing noun: 'The is the'\",\r\n \"MISSING_ARTICLE\": \"missing article\",\r\n \"BE_I_BE_GERUND\": \"'was I am doing' (etc.)\",\r\n \"DESPITE_OF\": \"despite of (despite)\",\r\n \"DT_DT\": \"Two consecutive articles, e.g. 'the a'\",\r\n \"THE_US\": \"In the us (US)\",\r\n \"THE_IT\": \"the it (IT)\",\r\n \"DT_PRP\": \"The you (you)\",\r\n \"AN_ANOTHER\": \"an another (an/another)\",\r\n \"FIRST_SERVED\": \"first come, first serve(d)\",\r\n \"SHOE_IN\": \"shoe-in (shoo)\",\r\n \"PROSTRATE_PROSTATE\": \"prostrate (prostate)\",\r\n \"WORSE_WORST\": \"worse come to worse (worst)\",\r\n \"WORST_WORSE\": \"much worst (worse)\",\r\n \"KNOT_NOT\": \"knot (not)\",\r\n \"PHRASE_REPETITION\": \"Repetition of two words ('at the at the')\",\r\n \"ACCORDING_TO\": \"according to\",\r\n \"GOOD_WELL\": \"good (well)\",\r\n \"WEEK_END\": \"week end (weekend)\",\r\n \"AFTER_NOON\": \"after noon (afternoon)\",\r\n \"THERE_AFTER\": \"thereafter\",\r\n \"CA_BRAND_NEW\": \"Compound adjective: brand new\",\r\n \"CA_BRICK_RED\": \"Compound adjective: brick red\",\r\n \"CA_BUG_EYED\": \"Compound adjective: bug eyed\",\r\n \"CA_CARD_CARRYING\": \"Compound adjective: card carrying\",\r\n \"CA_COAST_TO_COAST\": \"Compound adjective: coast to coast\",\r\n \"CA_COOLING_OFF\": \"Compound adjective: cooling off\",\r\n \"CA_CUT_AND_PASTE\": \"Compound adjective: cut and paste\",\r\n \"CA_CUT_THROAT\": \"Compound adjective: cut throat\",\r\n \"CA_DO_OR_DIE\": \"Compound adjective: do or die\",\r\n \"CA_DOWN_AND_OUT\": \"Compound adjective: down and out\",\r\n \"CA_DUAL_PURPOSE\": \"Compound adjective: dual purpose\",\r\n \"CA_DUTY_FREE\": \"Compound adjective: duty free\",\r\n \"CA_EAGLE_EYED\": \"Compound adjective: eagle eyed\",\r\n \"CA_EYE_CATCHING\": \"Compound adjective: eye catching\",\r\n \"CA_FIRST_HAND\": \"Compound adjective: first hand\",\r\n \"CA_FLY_BY_NIGHT\": \"Compound adjective: fly by night\",\r\n \"CA_FOLLOW_UP\": \"Compound adjective: follow up\",\r\n \"CA_HAND_TO_HAND\": \"Compound adjective: hand to hand\",\r\n \"CA_HEAVY_DUTY\": \"Compound adjective: heavy duty\",\r\n \"CA_KNIFE_EDGE\": \"Compound adjective: knife edge\",\r\n \"CA_MOM_AND_POP\": \"Compound adjective: mom and pop\",\r\n \"CA_NEW_LOOK\": \"Compound adjective: new look\",\r\n \"CA_OUT_OF_BODY\": \"Compound adjective: out of body\",\r\n \"CA_RAGS_TO_RICHES\": \"Compound adjective: rags to riches\",\r\n \"CA_WALL_TO_WALL\": \"Compound adjective: wall to wall\",\r\n \"MISSING_APOSTROPHE_T\": \"Missing: 't\",\r\n \"THANKS_GIVING\": \"'thanks giving' (Thanksgiving)\",\r\n \"PRP_CUSTOM_BUILD\": \"custom build (custom-build)\",\r\n \"PRP_VB\": \"Missing verb: PRONOUN + NOUN (VERB)\",\r\n \"SEVERAL_OTHER\": \"several other (others)\",\r\n \"VE_DIDNT\": \"ve didn't\",\r\n \"ADVERB_OR_HYPHENATED_ADJECTIVE\": \"Use an adverb or a compound adjective, not an adjective\",\r\n \"AUXILIARY_DO_WITH_INCORRECT_VERB_FORM\": \"After auxiliary 'do', use the base form of a verb\",\r\n \"ANYMORE_ADVERB\": \"anymore (any more)\",\r\n \"HUNDREDS_OF_THOUSAND\": \"hundreds of thousand (thousands of) users\",\r\n \"NNS_IN_NNP_VBZ\": \"Use the base form or the past tense with a plural noun\",\r\n \"MISSING_TO_BEFORE_A_VERB\": \"Use 'to' before the base form of a verb\",\r\n \"THERE_VBP_NN\": \"There are (is) a ...\",\r\n \"CRAVE_FOR\": \"I crave for () chocolate\",\r\n \"OPEN_TO_PAGE\": \"open at (to) page 6\",\r\n \"MISSING_PREP_KNOCK_ON_DOOR\": \"He knocked (on) the door\",\r\n \"LIES_THEY_SAY\": \"These are just some of the lies they say (tell)\",\r\n \"IN_THE_RECENT_YEARS_IN_RECENT_YEARS\": \"In the recent years (in recent years)\",\r\n \"TAKE_INTO_ACCOUNT\": \"take into account\",\r\n \"BETTER_SAFE_THAN_SORRY\": \"Better safe than sorry\",\r\n \"TO_WHO_IT_MAY_CONCERN\": \"To whom it may concern\",\r\n \"SALAAM_ALAIKUM\": \"salaam alaikum\",\r\n \"DID_A_MISTAKE\": \"made (did) a mistake\",\r\n \"HAVE_CD_YEARS\": \"Wrong phrase: have x years old (be x years old)\",\r\n \"IN_NOWADAYS\": \"Wrong phrase: 'in nowadays' (nowadays)\",\r\n \"SUPERIOR_THAN\": \"Wrong preposition: 'superior/inferior than' (superior/inferior to)\",\r\n \"OBVIOUS_FOR\": \"Wrong preposition: 'obvious for' (obvious to)\",\r\n \"TODAY_MORNING\": \"Wrong phrase: 'today morning' (this morning)\",\r\n \"YESTERDAY_NIGHT\": \"Wrong phrase: 'yesterday night' (last night)\",\r\n \"TODAY_NIGHT\": \"Wrong phrase: 'today night' (tonight)\",\r\n \"WORRY_FOR\": \"Wrong collocation: 'worry for' (worry about)\",\r\n \"SINKING_HIP\": \"a sinking (s)hip\",\r\n \"APPLY_TO\": \"Collocation: apply to/for\",\r\n \"APPLY_FOR\": \"Collocation: apply for/to\",\r\n \"VERB_IN_AT\": \"Collocation: Sit in/at\",\r\n \"BETWEEN_TO_AND\": \"Collocation: Between ... to/and ...\",\r\n \"WELL_IN_ON\": \"Collocation: Well in/on\",\r\n \"ADMITTED_AT_TO\": \"Collocation: Admitted at/to\",\r\n \"SUMMON_AT_TO\": \"Collocation: Summon at/to\",\r\n \"IN_THE_INTERNET\": \"Collocation: in/on the Internet\",\r\n \"ACCOMPANY_WITH\": \"Collocation: accompany with/by\",\r\n \"PLAY_WITH_FOR\": \"Collocation: Play with/for\",\r\n \"OPPOSITE_FROM_TO\": \"Collocation: Opposite from/to\",\r\n \"MARRY_WITH\": \"Collocation: Marry with/to\",\r\n \"PREFER_OVER_TO\": \"Collocation: Prefer over/to\",\r\n \"PREFER_INSTEAD_OF_TO\": \"Collocation: Prefer instead of/to\",\r\n \"TALK_AT_TO\": \"Collocation: Talk at/to\",\r\n \"STRESS_OUT_FOR_OVER\": \"Collocation: Stress out for/over\",\r\n \"TIRED_OF_FROM\": \"Collocation: Tired of/from\",\r\n \"REPERCUSSION_WITH_ON\": \"Collocation: Repercussion with/on\",\r\n \"LOOK_AT_TO\": \"Collocation: Look at/to\",\r\n \"PASSIONATE_BY_ABOUT\": \"Collocation: Passionate by/about\",\r\n \"IN_THE_OUTSIDE\": \"Collocation: in/on the outside\",\r\n \"IN_A_ISLAND\": \"Collocation: in/on a island\",\r\n \"CRAZY_ON_WITH\": \"Collocation: Crazy on/with\",\r\n \"HIDE_OF_FROM\": \"Collocation: Hide of/from\",\r\n \"CONCENTRATE_WITH_ON\": \"Collocation: Concentrate with/on\",\r\n \"DIFFERENCE_ABOUT_BETWEEN\": \"Collocation: Difference about/between\",\r\n \"IMPORTANT_WITH_TO\": \"Collocation: Important with/to\",\r\n \"CONSIST_TO_OF\": \"Collocation: Consist to/of\",\r\n \"IN_ON_BIRTHDAY\": \"Collocation: in/on birthday\",\r\n \"PARTICIPATE_TO_IN\": \"Collocation: Participate to/in\",\r\n \"ON_IN_A_MEETING\": \"Collocation: on/in a meeting\",\r\n \"IN_AT_THE_MORNING\": \"Collocation: at/in the morning\",\r\n \"IN_ON_A_TEAM\": \"Collocation: in/on a team\",\r\n \"ADDICTION_TO_OF\": \"Collocation: addiction to/of\",\r\n \"ON_IN_CHARGE_OF\": \"Collocation: on/in charge of\",\r\n \"IN_AT_A_PARTY\": \"Collocation: in/at a party\",\r\n \"WORK_IN_ON_A_PROJECT\": \"Collocation: in (on) university projects\",\r\n \"SUFFER_OF_WITH\": \"Collocation: suffer of/with/from\",\r\n \"TALK_DOWN_ABOUT_TO\": \"Collocation: talk down about/to\",\r\n \"IN_ON_THE_FOOT\": \"Collocation: in/on the foot\",\r\n \"AT_IN_THE_MORNING\": \"Collocation: at/in the morning\",\r\n \"GET_A_JOB_IN_WITH\": \"Collocation: get a job in/with\",\r\n \"PLAY_GAMES\": \"Collocation: do/play game\",\r\n \"DO_ARTS\": \"Collocation: go/do art\",\r\n \"GO_GERUND\": \"Collocation: do/go activity\",\r\n \"DAMAGE_OF_TO\": \"Collocation: damage of/to\",\r\n \"INTEREST_ABOUT_IN\": \"Collocation: interest about/in\",\r\n \"VULNERABLE_FROM_TO\": \"Collocation: vulnerable from/to\",\r\n \"IMITATION_FROM_OF\": \"Collocation: imitation from/of\",\r\n \"OFFERED_IN_AT\": \"Collocation: offered in/at\",\r\n \"PERSPECTIVES_ABOUT_ON\": \"Collocation: perspectives about/on\",\r\n \"VARIETIES_IN_OF\": \"Collocation: varieties in/of\",\r\n \"COVER_BY_IN\": \"Collocation: cover by/in\",\r\n \"LEAVE_TO_FOR\": \"Collocation: leave to/for\",\r\n \"DO_HAVE_A_MEETING\": \"Collocation: do/have a meeting\",\r\n \"GROWLED_TO_AT\": \"Collocation: growled to/at\",\r\n \"TO_ON_A_TRIP\": \"Collocation: to/on a trip\",\r\n \"IN_ON_A_TRIP\": \"Collocation: in/on a trip\",\r\n \"THINK_IN_ABOUT\": \"Collocation: think on/about\",\r\n \"RESPONSIBLE_OF_FOR\": \"Collocation: responsible of/for\",\r\n \"WAIT_AFTER_FOR\": \"Collocation: waiting after (for) someone\",\r\n \"ON_IN_A_HOSPITAL_BED\": \"Collocation: on/in a hospital bed\",\r\n \"LIVE_FROM_OFF\": \"Collocation: live from/off\",\r\n \"ANXIOUS_OF_ABOUT\": \"Collocation: anxious of/about\",\r\n \"BE_ON_IN_SHOCK\": \"Collocation: be on/in shock\",\r\n \"FAR_OF_FROM\": \"Collocation: far of/from\",\r\n \"NEAR_FROM_TO\": \"Collocation: near from/to\",\r\n \"BLIND_FOR_FROM\": \"Collocation: blind for/from\",\r\n \"YELL_ON_AT\": \"Collocation: yell on/at\",\r\n \"TAKING_INTO_CONSIDERATION\": \"Collocation: takes into consideration (of)\",\r\n \"IN_FROM_THE_PERSPECTIVE\": \"Collocation: in/from the perspective\",\r\n \"SIT_ON_THE_COURT\": \"Collocation: sit on the court/bench\",\r\n \"FOLLOW_A_COURSE\": \"Collocation: follow/take a course\",\r\n \"ON_IN_THE_AFTERNOON\": \"Collocation: on/in the afternoon\",\r\n \"ACCUSE_FOR_OFF\": \"Collocation: accuse for/of\",\r\n \"IN_ON_A_SECRET_MISSION\": \"Collocation: in/on a secret mission\",\r\n \"LAUGH_OF_AT\": \"Collocation: laugh of/at\",\r\n \"BRING_AT_TO\": \"Collocation: bring at/to\",\r\n \"ON_FACT\": \"Collocation: on/in fact\",\r\n \"BRING_PUN_ON_THE_AGENDA\": \"Collocation: bring to/put on the agenda\",\r\n \"IN_FRONT_OF\": \"Collocation: in front of\",\r\n \"DEPARTURE_OF_FROM\": \"Collocation: departure of/from\",\r\n \"LIVE_IN_ON_PLANET\": \"Collocation: live in/on planet\",\r\n \"COUNTLESS_OF\": \"Collocation: countless of\",\r\n \"FED_UP_OF_WITH\": \"Collocation: fed up of/with\",\r\n \"ENTER_IN\": \"Collocation: enter in\",\r\n \"GO_TO_HOME\": \"Collocation: go to home (go home)\",\r\n \"CAME_IN_INTO\": \"Collocation: came in/into\",\r\n \"ARRIVE_ON_AT_THE_BEACH\": \"Collocation: arrive on/at the beach\",\r\n \"RETURN_AT_HOME\": \"Collocation: return at home\",\r\n \"BE_IN_UNDER_PRESSURE\": \"Collocation: be in/under pressure\",\r\n \"ABSORB_AT_IN\": \"Collocation: absorb at/in\",\r\n \"ACCUSE_FOR_OF\": \"Collocation: accuse for/of\",\r\n \"ASHAMED_FROM\": \"Collocation: ashamed from/of\",\r\n \"ARRIVE_AT_IN\": \"Collocation: arrive at/in\",\r\n \"ANGRY_WITH_ABOUT\": \"Collocation: angry with/about\",\r\n \"ACCUSTOM_WITH_TO\": \"Collocation: accustom with/to\",\r\n \"AFRAID_FROM_OF\": \"Collocation: afraid from/of\",\r\n \"ANGRY_AGAINST_WITH\": \"Collocation: angry against/with\",\r\n \"AIM_ON_AT\": \"Collocation: aim on/at\",\r\n \"BELIEVE_TO_IN\": \"Collocation: believe to/in\",\r\n \"BOAST_FOR_OF\": \"Collocation: boast for/about/of\",\r\n \"CAREFUL_FOR_WITH\": \"Collocation: careful for/with\",\r\n \"TRAVEL_WITH_BY\": \"Collocation: travel with/by\",\r\n \"COMPLAIN_FOR_ABOUT\": \"Collocation: complain for/about\",\r\n \"COMPOSE_FROM_OF\": \"Collocation: compose from/of\",\r\n \"CURE_FROM_OF\": \"Collocation: cure from/of\",\r\n \"DEPRIVE_FROM_OF\": \"Collocation: deprive from/of\",\r\n \"DISAPPOINT_FROM\": \"Collocation: disappoint from/with\",\r\n \"DOUBT_FOR_IN\": \"Collocation: doubt for/in/about\",\r\n \"DRESS_WITH_IN\": \"Collocation: dress with/in\",\r\n \"FULL_WITH_OF\": \"Collocation: full with/of\",\r\n \"RID_FROM_OF\": \"Collocation: rid from/of\",\r\n \"GLAD_WITH_ABOUT\": \"Collocation: glad with/about\",\r\n \"GUARD_FROM_AGAINST\": \"Collocation: guard from/against\",\r\n \"GUILTY_FOR_OF\": \"Collocation: guilty for/of\",\r\n \"INDEPENDENTLY_FROM_OF\": \"Collocation: independently from/of\",\r\n \"INSIST_ON_GERUND\": \"Collocation: insist on + gerund\",\r\n \"INTEREST_FOR_IN\": \"Collocation: interest for/in\",\r\n \"JEALOUS_FROM_OF\": \"Collocation: jealous from/of\",\r\n \"PHOTO_WITH_HIS_CAT\": \"Collocation: photo with/of + POSSESSIVE PRONOUN + NOUN\",\r\n \"IN_THIS_MOMENT\": \"Collocation: in/at this moment\",\r\n \"TIRED_ABOUT_OF\": \"Collocation: tired about/of\",\r\n \"ADVERTISEMENT_OF_FOR\": \"Collocation: advertisement of/for\",\r\n \"STOP_HIM_OF_FROM\": \"Collocation: stop him of/from\",\r\n \"IN_ON_AN_ALBUM\": \"Collocation: in/on an album\",\r\n \"CURE_AGAINST_FOR\": \"Collocation: cure against/for\",\r\n \"TO_FOUND_FIND_A_CURE\": \"Collocation: to found/find a cure\",\r\n \"DESIRE_ON_FOR\": \"Collocation: desire on/for\",\r\n \"BROUGHT_THEM_IN_THE_AIRPORT\": \"bring SOMEBODY in/to\",\r\n \"CURATOR_OF\": \"curator on/of\",\r\n \"CLOSER_FROM\": \"closer from/to\",\r\n \"A_MY\": \"article + possessive form\",\r\n \"ENROLLED_IN_FOR\": \"I enrolled international school\",\r\n \"STEPS_TO_DO\": \"steps to do/take\",\r\n \"GOING_TO_VACATION\": \"going on vacation\",\r\n \"IN_FACEBOOK\": \"in (on) Facebook\",\r\n \"WRITE_IN_MY_OWN_PAGE\": \"Write on my page\",\r\n \"COME_TO_PLANE\": \"came to/by\",\r\n \"THAT_I_WORK_FOR\": \"work (for) is\",\r\n \"TRAVELED_FOR\": \"travel (for) X days\",\r\n \"RESPECTFUL_AGAINST\": \"Respectful against/toward\",\r\n \"DISAPPOINTED_OF\": \"Disappointed with, at, or by\",\r\n \"ACCOUNTS_FOR\": \"account (for)\",\r\n \"ON_THE_NOVEL\": \"contribution on/to\",\r\n \"ARRIVED_IN\": \"Collocation: arrived (in the) downtown\",\r\n \"MENTION_ABOUT\": \"Collocation: consider (about)\",\r\n \"ASSOCIATES_TO\": \"Collocation: associates to/with\",\r\n \"NAMED_IT_AS\": \"named it (as)\",\r\n \"LOT_OF\": \"Collocation: lot (of)\",\r\n \"INTERESTED_BY\": \"Collocation: interested by/in\",\r\n \"AT_THE_JOB\": \"Collocation: at/on the job\",\r\n \"ANALYSIS_ABOUT\": \"Collocation: analysis about/of\",\r\n \"IT_IS_SURE\": \"Collocation: it is sure/certain\",\r\n \"SPEND_IT_FOR\": \"Collocation: spend it for/on\",\r\n \"BY_EXAMPLE\": \"Translation errors: by/for example\",\r\n \"GESTURE_OF_GREETING\": \"Translation error: a gesture of greeting\",\r\n \"WHAT_WE_CALL_2\": \"Collocation: we call/you would call\",\r\n \"CONSEQUENCES_OF_FOR\": \"Collocation: consequences on/for/of\",\r\n \"ASK_TO\": \"Collocation: ask (to)\",\r\n \"AT_IN_THE_KITCHEN\": \"Collocation: at/in the room\",\r\n \"INVOICE_OF_FOR\": \"Collocation: invoice of/for\",\r\n \"IN_CHARGE_OF_FROM\": \"Collocation: in charge of/for\",\r\n \"FILL_OF_WITH\": \"Collocation: fill of/with\",\r\n \"LOCATED_ON_AT\": \"Collocation: located on (at) Main street\",\r\n \"ON_IN_THE_MIDDLE\": \"Collocation: on/in the middle\",\r\n \"ON_IN_THE_CORNER\": \"Collocation: on/in the corner\",\r\n \"ON_IN_THE_CORNER_2\": \"Collocation: on/in the corner\",\r\n \"SIMILAR_LIKE_AS_SOMETHING\": \"Collocation: similar/like as/to\",\r\n \"KIND_WITH_TO\": \"Collocation: kind with/to\",\r\n \"COME_IN_TO\": \"Collocation: come in/into\",\r\n \"MOTIVATION_IN_TO\": \"Collocation: motivation in/to\",\r\n \"IN_ON_THE_RIGHT_HAND_SIDE\": \"Collocation: in/on the right hand side\",\r\n \"IN_AT_THE_TOP\": \"Collocation: in/at the top\",\r\n \"LUNCH_TO_FOR\": \"Collocation: lunch to/for\",\r\n \"DIFFICULT_TO_ME\": \"Collocation: difficult to/for\",\r\n \"DIVERSITY_OF\": \"Collocation: a diversity of colors OR diverse colors\",\r\n \"WAITING_MY_PATIENT_FINISH\": \"Collocation: waiting (to) finish\",\r\n \"RETURN_IN_THE\": \"Collocation: return in/to\",\r\n \"DO_A_PARTY\": \"Collocation: do/throw/have a party\",\r\n \"IN_CHARGE_FOR\": \"Collocation: in charge for/of/with\",\r\n \"A_TRIP_TO\": \"Collocation: a trip to\",\r\n \"LISTEN_TO_MOVIES\": \"Collocation: listen to/watch movies\",\r\n \"IN_ON_THE_TEAM\": \"Collocation: in/on the team\",\r\n \"ARRIVAL_TO_THE_HOUSE\": \"Collocation: arrival to/in the house\",\r\n \"COME_IN_CAR\": \"Collocation: come in/by car\",\r\n \"ATD_VERBS_TO_COLLOCATION\": \"Collocation: Word + to + PRP|NNP|DT\",\r\n \"NON_ANTI_JJ\": \"missing hyphen in adjectives with 'non/anti'\",\r\n \"THANK_NNP_PRP\": \"'Thank' + Proper noun\",\r\n \"THANK_THE_NN\": \"'Thank the' + noun\",\r\n \"MISSING_PREPOSITION\": \"Missing preposition\",\r\n \"GOOD_IN_AT\": \"Collocation: Good in/at\",\r\n \"GOOD_IN_AT_GERUND\": \"Collocation: good in/at\",\r\n \"EXCEPTION_OF_TO\": \"Collocation: exception to/of\",\r\n \"EAT_ANTIBIOTICS\": \"eat (take) antibiotics\",\r\n \"COMMA_CLOSING_PARENTHESIS\": \"Comma before closing parenthesis\",\r\n \"HYPHEN_TO_EN\": \"40-70 (40–70)\",\r\n \"SUPERFLUOUS_OXFORD_ADJACENT\": \"Remove comma after Oxford list, before predicate\",\r\n \"OXFORD_NEW_CLAUSE\": \"Comma after Oxford list, before new clause\",\r\n \"NEITHER_NOR_SUPERFLUOUS_COMMA\": \"neither X, nor Y, nor Z (neither X nor Y nor Z)\",\r\n \"FINAL_ADVERB_COMMA\": \"comma before ending sentence with adverb\",\r\n \"THEN_WHEN_COMMA\": \"comma between 'then' and 'when'\",\r\n \"HUH_COMMA\": \"comma before/after 'huh?'\",\r\n \"IF_WE_CANT_COMMA\": \"if we can't we ...\",\r\n \"RB_RB_COMMA\": \"Comma in 'very very good'\",\r\n \"UH_UH_COMMA\": \"Comma in 'oh oh'\",\r\n \"OK_OK_COMMA\": \"Comma in 'ok ok'\",\r\n \"NOWADAYS_COMMA\": \"Comma after 'nowadays\",\r\n \"THANKS_SENT_END_COMMA\": \"comma before 'thanks'\",\r\n \"THE_JJR_THE_MORE_COMMA\": \"The older the more we ...\",\r\n \"I_FOR_ONE_VB_COMMA\": \"I(,) for one(,) think\",\r\n \"SENT_START_JJ_PLEASE_COMMA\": \"Great(,) please ...\",\r\n \"SENT_START_JJ_THAT_COMMA\": \"Great(,) that is ...\",\r\n \"HAPPY_BIRTHDAY_COMMA\": \"Happy Birthday (,) Peter\",\r\n \"PRP_MD_PRP_MD_COMMA\": \"missing comma after modal verb\",\r\n \"COMMA_THANKS\": \"Great (,) thanks\",\r\n \"ABBREVIATION_PUNCTUATION\": \"missing period after last letter in abbreviations\",\r\n \"COMMA_PERIOD\": \"redundant punctuation\",\r\n \"E_G\": \"e.g.\",\r\n \"I_E\": \"i.e.\",\r\n \"QUESTION_MARK\": \"Missing question mark\",\r\n \"NN_CD_NN_CD_COMMA\": \"Comma in 'act 2 scene 5'\",\r\n \"GO_FOR_IT_GIRLS_COMMA\": \"Comma after 'go for it'\",\r\n \"GOD_COMMA\": \"Comma after 'Oh my god'\",\r\n \"FOR_GODS_SAKE_COMMA\": \"Comma after 'for god's sake\",\r\n \"ME_MYSELF_AND_I_COMMA\": \"Comma in 'Me myself and I'\",\r\n \"PRP_COMMA\": \"Missing comma after pronoun\",\r\n \"FIRST_COME_FIRST_SERVED_COMMA\": \"Missing comma 'first come first serve'\",\r\n \"MISSING_COMMA_WITH_NNP\": \"Missing vocative comma\",\r\n \"MISSING_COMMA_AFTER_INTRODUCTORY_PHRASE\": \"Missing comma after introductory phrase\",\r\n \"INTERJECTIONS_PUNCTUATION\": \"Missing punctuation after an interjection\",\r\n \"COMMA_AFTER_A_MONTH\": \"Comma after a month\",\r\n \"MISSING_COMMA_BETWEEN_DAY_AND_YEAR\": \"Missing comma between day of month and year\",\r\n \"UNNECESSARY_COMMA\": \"Unnecessary comma: 'Bob(,) and I'\",\r\n \"MISSING_COMMA_AFTER_WEEKDAY\": \"Missing comma after weekday\",\r\n \"UNLIKELY_OPENING_PUNCTUATION\": \"Loose punctuation mark\",\r\n \"FOR_NOUN_SAKE\": \"for heaven's sake\",\r\n \"COMMA_TAG_QUESTION\": \"comma before tag question\",\r\n \"COMMA_COMPOUND_SENTENCE\": \"comma between independent clauses\",\r\n \"COMMA_COMPOUND_SENTENCE_2\": \"comma between independent clauses\",\r\n \"COMMA_COMPOUND_SENTENCE_3\": \"Comma before 'so/but/and please'\",\r\n \"COMMA_COMPOUND_SENTENCE_4\": \"Comma before 'so/but/and MD + PRP + VB'\",\r\n \"APOS_ARE\": \"extraneous apostrophes before 'are'\",\r\n \"FRENCH_S\": \"French's => French people\",\r\n \"STATE_OF_THE_ART\": \"state of the art (state-of-the-art)\",\r\n \"OUT_OF_PLACE\": \"out of place (out-of-place) etc.\",\r\n \"OUT_OF_THE_WAY\": \"out of the way (out-of-the-way) etc.\",\r\n \"NO_SPACE_CLOSING_QUOTE\": \"Missing space after closing quote\",\r\n \"UNIT_SPACE\": \"Missing space between numeric value and unit (e.g., 25 km)\",\r\n \"COMMA_AND_NUMBERS\": \"Wrong space/comma in numbers\",\r\n \"EG_SPACE\": \"abbreviations with spaces in between (e. g.)\",\r\n \"O_CLOCK\": \"space in 'o´clock'\",\r\n \"BY_DEFAULT_COMMA\": \"Comma after by default at the beginning of a sentence.\",\r\n \"SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA\": \"Commas after conjunctive/linking adverbs in front of a new sentence.\",\r\n \"YEAR_OLD_PLURAL\": \"She turned 25 year (years) old.\",\r\n \"YEAR_OLD_HYPHEN\": \"Missing hyphens in '5 year old'\",\r\n \"MISSING_HYPHEN\": \"Missing hyphens in compounds\",\r\n \"FACE_FIRST\": \"Missing hyphen: face first (face-first)\",\r\n \"DASH_RULE\": \"Hyphen, n-dash and m-dash\",\r\n \"TWO_HYPHENS\": \"Change two hyphens to en or em dash\",\r\n \"ENUMERATION_AND_DASHES\": \"Enumerations with dashes: 1.2.-\",\r\n \"NO_COMMA_BEFORE_INDIRECT_QUESTION\": \"no comma before indirect question\",\r\n \"EXITING_EXCITING\": \"exiting vs exciting\",\r\n \"NON_NONE\": \"non vs none\",\r\n \"TAN_THAN\": \"I am more tan (than) pleased\",\r\n \"PRINCIPA_PRINCIPL\": \"The principle (principal) will hold an assembly tomorrow\",\r\n \"THUS_THIS\": \"this vs thus\",\r\n \"BRAN_BRAND\": \"bran/brand\",\r\n \"RAMSTEIN_RAMMSTEIN\": \"Ramstein/Rammstein\",\r\n \"AMASSING_AMAZING\": \"amassing/amazing\",\r\n \"HAT_THAT\": \"hat vs that\",\r\n \"REPLAY_REPLY\": \"replay vs reply\",\r\n \"NIGGER_BIGGER\": \"nigger vs bigger\",\r\n \"FORM_FOR\": \"Looks good form (for) me\",\r\n \"ACCESS_EXCESS\": \"The twins have an access (excess) of energy\",\r\n \"AIR_HEIR\": \"He was the air (heir) to the throne\",\r\n \"AISLE_ISLE\": \"We will walk down the (a)isle in less than three months\",\r\n \"DIES_DOES\": \"dies vs does\",\r\n \"FIN_FIND\": \"fin vs find\",\r\n \"WITH_WIDTH\": \"with vs width\",\r\n \"DIED_DEAD\": \"died vs dead\",\r\n \"EMIGRATE_IMMIGRATE_CONFUSION\": \"confusion of emigrate and immigrate\",\r\n \"SEE_SEEM\": \"see (seem)\",\r\n \"PRINCES_PRINCESS\": \"princes vs princess\",\r\n \"KEY_STOKE\": \"key stoke (stroke)\",\r\n \"ELL_NNS\": \"ell (all)\",\r\n \"HART_OF\": \"He has a hart (heart) of a lion\",\r\n \"AFFECTED_EFFECTED\": \"I remember how it effected (affected) the job market\",\r\n \"GETS_WORST\": \"It only gets worst (worse)\",\r\n \"WERE_WEAR\": \"were vs wear\",\r\n \"SUMMERY_SUMMARY\": \"summery vs summary\",\r\n \"BEEN_ADDER\": \"has been adder (added)\",\r\n \"WEE_WE\": \"we vs wee\",\r\n \"MABEY_MAYBE\": \"Mabey vs. Maybe\",\r\n \"DECREE_DREGEE\": \"decree vs. degree\",\r\n \"VARIOUS_VARIES\": \"The decision sometimes various (varies)\",\r\n \"FARTHER_FURTHER\": \"without farther (further) word on the deal...\",\r\n \"FORWARD_FOREWORD\": \"forward vs. foreword\",\r\n \"SAY_TELL\": \"say (tell) me what's wrong\",\r\n \"CONFIDANT_CONFIDENT\": \"confidant vs confident\",\r\n \"ROAD_TO_MARKET\": \"road-to-market (route-to-market)\",\r\n \"WINING_WINNING\": \"wining vs winning\",\r\n \"SCREE_SCREEN\": \"scree vs. screen\",\r\n \"UNITES_UNITED\": \"Unites (United)\",\r\n \"LENDING_LANDING\": \"lending vs. landing\",\r\n \"AS_US\": \"as vs. us\",\r\n \"WESTING_WASTING\": \"westing vs wasting\",\r\n \"WON_OWN\": \"won vs own\",\r\n \"WHET_WHAT\": \"whet vs what\",\r\n \"CONFUSION_ALLUSION_ILLUSION\": \"It's an allusion (illusion) of not being lonely\",\r\n \"CONFUSION_ELICIT_ILLICIT\": \"Their elicit (illicit) behavior got them expelled\",\r\n \"CONFUSION_WORSE_WORST\": \"It's the worse (worst) possible outcome\",\r\n \"GRAND_GRANT\": \"grand vs grant\",\r\n \"RELAY_RELY\": \"relay vs rely\",\r\n \"TAIL_TALE\": \"tail vs tale\",\r\n \"MOTH_MONTH\": \"moth vs months\",\r\n \"KNOW_KNOWN\": \"know vs known\",\r\n \"MARY_CHRISTMAS\": \"Mary (Merry) Christmas\",\r\n \"HWY_WHY\": \"hwy vs why\",\r\n \"OVERDUE_OVERDO\": \"overdue vs overdo\",\r\n \"OPINING_OPENING\": \"opining vs. opening\",\r\n \"ENSUE_ENSURE\": \"ensue vs ensure\",\r\n \"HEATH_HEALTH\": \"heath vs heath\",\r\n \"WOK_WORK\": \"wok vs work\",\r\n \"HEART_HEARD\": \"heart/herd vs heard\",\r\n \"MORE_MOVE\": \"more vs move\",\r\n \"FEE_FREE\": \"fee vs free\",\r\n \"JAPANISE_JAPANESE\": \"Japanise vs Japanese\",\r\n \"ART_ARE\": \"art vs are\",\r\n \"WOOD_WOULD\": \"wood vs would\",\r\n \"LEAR_LEARN\": \"lear vs learn\",\r\n \"BEE_BE\": \"bee vs be\",\r\n \"PEDDLE_PADDLE\": \"peddle (paddle/pedal)\",\r\n \"PEAK_ATTENTION\": \"peaked (piqued) my attention\",\r\n \"MEAN_MAN\": \"mean vs man\",\r\n \"FUNCTIONALLY_FUNCTIONALITY\": \"functionally vs functionality\",\r\n \"WORT_WORTH\": \"wort vs worth\",\r\n \"DE_THE\": \"de vs the\",\r\n \"TUFF_TOUGH\": \"tuff vs tough\",\r\n \"BEAN_BEEN\": \"have bean (been)\",\r\n \"GOD_GOOD\": \"sounds god (good)\",\r\n \"FIR_FOR\": \"fir vs for\",\r\n \"FIR_FIT\": \"fir vs fit\",\r\n \"EM_ME\": \"let em (me) know\",\r\n \"SE_SEE\": \"se vs see\",\r\n \"NAIVE_NATIVE\": \"naive vs native\",\r\n \"PEASE_PLEASE\": \"pleas vs please\",\r\n \"TANKFUL_THANKFUL\": \"tankful vs thankful\",\r\n \"WALLED_WALLET\": \"walled vs wallet\",\r\n \"CORSE_COURSE\": \"corse vs course\",\r\n \"PLEAS_PLEASE\": \"pleas vs please\",\r\n \"COLLEGE_COLLEAGUE\": \"college vs colleague\",\r\n \"AS_ASK\": \"as vs. ask\",\r\n \"RELIEVE_RELIEF\": \"relieve vs relief\",\r\n \"OUR_YOUR\": \"our vs your\",\r\n \"JUT_JUST\": \"jut vs just\",\r\n \"SEES_SEEMS\": \"sees vs seems\",\r\n \"LUCK_LICK\": \"luck vs lick\",\r\n \"ME_BE\": \"me vs be\",\r\n \"PER_PRE\": \"per vs pre\",\r\n \"SIGH_SIGN\": \"sigh vs sign\",\r\n \"CAUSE_COURSE\": \"cause vs course\",\r\n \"EGO_AGO\": \"ego vs ago\",\r\n \"IND_KIND\": \"ind vs kind\",\r\n \"DEUS_EX_MACHINA\": \"deus ex machina\",\r\n \"NOTE_NOT\": \"note vs not\",\r\n \"SECONDE_SECONDS\": \"seconde vs seconds\",\r\n \"LET_ME_TROUGH\": \"Let me trough (through)!\",\r\n \"HER_HERE\": \"her vs here\",\r\n \"GOO_GOOD\": \"goo vs good\",\r\n \"MEAN_MEANT\": \"mean vs meant\",\r\n \"SAID_SAD\": \"said vs sad\",\r\n \"HEARS_YEARS\": \"hears vs years\",\r\n \"OTHER_OTHERS\": \"other vs others\",\r\n \"COOPERATE_CORPORATE\": \"cooperate vs corporate\",\r\n \"WITHDRAWAL_WITHDRAW\": \"withdrawal vs withdraw\",\r\n \"WARE_WEAR\": \"ware vs wear\",\r\n \"AD_AS\": \"ad vs as\",\r\n \"GENERA_GENERAL\": \"genera vs general\",\r\n \"LIFE_LIVE\": \"I life (live)\",\r\n \"ROLE_ROLL\": \"roll vs role\",\r\n \"TREAD_TREAT\": \"tread vs treat\",\r\n \"CONFUSION_OF_YET_ALONE_LET_ALONE\": \"confusion of yet alone ? let alone\",\r\n \"TENT_TEND\": \"tent vs tend\",\r\n \"EVERY_EVER\": \"ever vs every\",\r\n \"TREE_THREE\": \"tree (three)\",\r\n \"THREAT_THREATEN\": \"threat vs threaten\",\r\n \"WITHER_EITHER\": \"wither vs either\",\r\n \"BIS_BUS\": \"bis vs bus\",\r\n \"MANNER_MATTER\": \"manner vs matter\",\r\n \"BET_BEST\": \"bet vs best\",\r\n \"EKE_EEK\": \"eek vs eke\",\r\n \"NIT_NOT\": \"nit vs not\",\r\n \"HER_HEAR\": \"her vs hear\",\r\n \"MAD_MADE\": \"mad vs made\",\r\n \"MANOR_MANNER\": \"manor vs manner\",\r\n \"DON_DONE\": \"don vs done\",\r\n \"CURIOS_CURIOUS\": \"curios vs curious\",\r\n \"SEEN_SEEM\": \"seen vs seem\",\r\n \"THAT_THAN\": \"that vs than\",\r\n \"DINER_DINNER\": \"dinner vs diner\",\r\n \"CHEEP_CHEAP\": \"cheep vs cheap\",\r\n \"WEAK_WEEK\": \"week vs weak\",\r\n \"SIGH_SIGHT\": \"sigh vs sight\",\r\n \"ARE_OUR\": \"are vs our\",\r\n \"WE_LL_WELL\": \"we'll vs well\",\r\n \"BASE_BASIS\": \"on a daily base (basis)\",\r\n \"RED_READ\": \"red vs read\",\r\n \"LIEN_LINE\": \"lien vs line\",\r\n \"PAST_PASTE\": \"past vs paste\",\r\n \"TECH_TEACH\": \"tech vs teach\",\r\n \"LOOT_LOT\": \"loot vs lot\",\r\n \"RATER_RATHER\": \"rater vs rather\",\r\n \"EVENT_EVEN\": \"event vs even\",\r\n \"AT_AS\": \"at vs as\",\r\n \"DOE_DOES\": \"doe vs does\",\r\n \"I_IS\": \"I vs is\",\r\n \"LIVE_LIFE\": \"live vs life\",\r\n \"MIS_MISS\": \"mis vs miss\",\r\n \"WHIT_WITH\": \"whit vs with\",\r\n \"WHIT_WHITE\": \"whit vs white\",\r\n \"THE_TO\": \"the vs to\",\r\n \"HONESTY_HONESTLY\": \"honesty vs honestly\",\r\n \"DOD_DID\": \"dod vs did\",\r\n \"COINCIDENT_COINCIDENCE\": \"coincident vs coincidence\",\r\n \"DO_DUE\": \"do vs due\",\r\n \"RITE_RIGHT\": \"rite vs right\",\r\n \"RITE_WRITE\": \"rite vs write\",\r\n \"ROTE_WROTE\": \"rote vs wrote\",\r\n \"MAY_MANY_MY\": \"may vs many/my\",\r\n \"TRUE_TRUTH\": \"true vs truth\",\r\n \"ASSES_ASSESS\": \"asses vs assess\",\r\n \"AVE_HAVE\": \"ave vs have\",\r\n \"CHOICE_CHOOSE\": \"choice vs choose\",\r\n \"DELIVERY_DELIVER\": \"delivery vs deliver\",\r\n \"DEPARTURE_DEPART\": \"departure vs depart\",\r\n \"WELL_WILL\": \"well vs will\",\r\n \"FOUNT_FOUND\": \"fount vs found\",\r\n \"MACH_MUCH\": \"mach vs much\",\r\n \"DOSE_DOES\": \"dose vs does\",\r\n \"ROAD_RODE\": \"road vs rode\",\r\n \"CARRIES_CARIES\": \"carries vs caries\",\r\n \"WRITS_WRITES\": \"writs vs writes\",\r\n \"TROUGH_THROUGH\": \"trough vs through\",\r\n \"IS_US\": \"is vs us\",\r\n \"THE_THEM\": \"the vs them\",\r\n \"CAR_CARE\": \"car vs care\",\r\n \"I_IN\": \"I vs in\",\r\n \"HE_BE\": \"he vs be\",\r\n \"DUN_DONT\": \"dun vs don't\",\r\n \"AIR_BORNE_AIRBORN\": \"air born vs airborne\",\r\n \"BLOOD_BORNE_BLOODBORNE\": \"blood born vs blood-borne\",\r\n \"FOOD_BORNE_FOODBORN\": \"food born vs foodborne\",\r\n \"TOR_TO\": \"tor vs to\",\r\n \"TOR_FOR\": \"tor vs for\",\r\n \"NEEDLES_NEEDLESS\": \"needles (needless)\",\r\n \"O_TO\": \"o (to)\",\r\n \"TO_TWO\": \"to vs two\",\r\n \"SHOUT_SHOULD\": \"shout vs should\",\r\n \"ACTIVE_ACTIVATE\": \"active vs activate\",\r\n \"TAB_TAP\": \"tab vs tap\",\r\n \"NIGH_NIGHT\": \"nigh vs night\",\r\n \"MAY_MANY\": \"many vs may\",\r\n \"SON_SOON\": \"too so(o)n\",\r\n \"NO_NOT\": \"no vs not\",\r\n \"ETHER_EITHER\": \"ether vs either\",\r\n \"FILED_FIELD\": \"filed vs field\",\r\n \"SHIPPING_SHOPPING\": \"shipping vs shopping\",\r\n \"EFFORT_AFFORD\": \"effort vs afford\",\r\n \"FOUD_FOUND\": \"foud vs found\",\r\n \"HOE_HOW\": \"hoe vs how\",\r\n \"MANGE_MANAGE\": \"mange vs manage\",\r\n \"GUES_GUESS\": \"gues vs guess\",\r\n \"GO_GOT\": \"go vs got\",\r\n \"HAPPED_HAPPENED\": \"happed vs happened\",\r\n \"FORE_FOR\": \"fore vs for\",\r\n \"MA_MY\": \"ma vs my\",\r\n \"CAN_CAB\": \"can vs cab/cam\",\r\n \"IT_SI\": \"it vs si\",\r\n \"MULTIPLE_MULTIPLY\": \"multiple vs multiply\",\r\n \"GLADY_GLADLY\": \"glady vs gladly\",\r\n \"SOMETIME_SOMETIMES\": \"sometime vs sometimes\",\r\n \"FOR_SOMETIME_FOR_SOME_TIME\": \"for sometime ? for some time\",\r\n \"NO_KNOW\": \"no vs know\",\r\n \"FARE_FAIR\": \"fare vs fair\",\r\n \"TOO_TOOL\": \"too vs tool\",\r\n \"SEN_SEND\": \"sen vs send\",\r\n \"POSSES_POSSESS\": \"posess vs possess\",\r\n \"HIS_HE_S\": \"his vs he's\",\r\n \"AL_ALL\": \"al vs. all\",\r\n \"MATER_MATTER\": \"mater vs matter\",\r\n \"DISCUS_DISCUSS\": \"he discuses (discusses)\",\r\n \"COM_COME\": \"you com (come)\",\r\n \"WRIT_WRITE\": \"writ vs write\",\r\n \"WAN_WANT\": \"wan vs want\",\r\n \"BELOW_BLOW\": \"blow (below)\",\r\n \"RETARDS_REGARDS\": \"retards (regards)\",\r\n \"HART_HARD\": \"hart vs hard\",\r\n \"GIT_GET\": \"git vs get\",\r\n \"BESIDES_BESIDE\": \"beside vs besides\",\r\n \"LES_LESS\": \"les vs. less\",\r\n \"SINE_SINCE\": \"sine vs. since\",\r\n \"WURST_WORST\": \"wurst vs worst\",\r\n \"TRAIL_TRIAL\": \"trail (trial)\",\r\n \"MEED_MEET\": \"meed (meet)\",\r\n \"SEEM_SEEN\": \"seem vs seen\",\r\n \"PLANE_PLAIN\": \"plain vs plane\",\r\n \"CONFUSION_IT_IS\": \"She it (is) happy\",\r\n \"OFF_OF\": \"off vs of\",\r\n \"DO_TO\": \"do vs to\",\r\n \"ANS_AND\": \"ans (and)\",\r\n \"GRATE_GREAT\": \"grate (great)\",\r\n \"BATTER_BETTER\": \"batter (better)\",\r\n \"BEGONE_BEGUN\": \"begone (begun)\",\r\n \"PARE_PAIR\": \"a pare (pair) of\",\r\n \"THAN_THANK\": \"Than (Thank) you\",\r\n \"TRY_TRIAL\": \"try (trial) and error\",\r\n \"A_OR\": \"once a (or) twice\",\r\n \"AN_AND\": \"confusion of 'an' and 'and'\",\r\n \"LET_IS_VB\": \"let is (us) know\",\r\n \"WHAT_IT_HAPPENING\": \"what it (is) happening\",\r\n \"WHAT_IT_THE\": \"what it (is) the\",\r\n \"IT_IF\": \"it vs. if\",\r\n \"HAD_HARD\": \"had vs. hard\",\r\n \"MUSH_MUCH\": \"mush vs. much\",\r\n \"ONE_ONCE\": \"I one (once) had\",\r\n \"WE_BE\": \"we vs. be\",\r\n \"FLEE_MARKET\": \"flee (flea) market\",\r\n \"HAVE_BIN\": \"have bin (been)\",\r\n \"TURN_IT_OF\": \"turn it of (off)\",\r\n \"I_AS_LOOKING\": \"I as (was) looking\",\r\n \"BARLEY_BARELY\": \"barely vs. barley\",\r\n \"HALF_HALVE\": \"half vs halve\",\r\n \"WEN_WE\": \"wen vs. when/we\",\r\n \"MOST_MUST\": \"must vs most\",\r\n \"A_HASTILY_WAY\": \"In a hastily way\",\r\n \"ADJECTIVE_ADVERB\": \"adjective vs. adverb\",\r\n \"ADJECTIVE_ADVERB_2\": \"adjective vs. adverb\",\r\n \"WANT_WONT\": \"want (wont)\",\r\n \"WONT_WANT\": \"wont vs. want\",\r\n \"YO_TO\": \"yo vs. to\",\r\n \"TORCHER_TORTURE\": \"torcher (torture) yourself\",\r\n \"PRICE_SENSIBILITY\": \"price sensibility (sensitivity)\",\r\n \"WHAT_WOULD\": \"He what (would) do it again\",\r\n \"HAS_AS\": \"Has (as) far as I can tell\",\r\n \"BLU_RAY\": \"Blue-ray (Blu-ray)\",\r\n \"THEYRE_THEIR\": \"they're (their)\",\r\n \"VBG_THEYRE\": \"VBG they're (their)\",\r\n \"PIC_PICK\": \"pic vs. pick\",\r\n \"WRIGHT_WRITE\": \"wright vs. write\",\r\n \"THING_THINK\": \"thing vs. think\",\r\n \"AD_ADD\": \"'ad' vs 'add'\",\r\n \"INTENT_INTEND\": \"'intend' vs 'intent'\",\r\n \"THERE_OWN\": \"there (their) own\",\r\n \"DESERT_DESSERT\": \"desert / dessert\",\r\n \"PRECEDENT_PRECEDENCE\": \"precedent / precedence\",\r\n \"COMA_COMMA\": \"coma / comma\",\r\n \"LOG_IN\": \"login (log in)\",\r\n \"THERE_THEIR\": \"there (their)\",\r\n \"RATIO_RATION\": \"ration or ratio\",\r\n \"ZERO-SUM_GAIN\": \"zero-sum gain (game)\",\r\n \"RATIONAL_RATIONALE\": \"rational (rationale)\",\r\n \"CLEAN_UP\": \"cleanup / clean up\",\r\n \"TURNED_OFF\": \"turn of (off)\",\r\n \"THE_FLEW\": \"the flew (flu)\",\r\n \"CONFUSION_OF_MANS_MEN\": \"Confusion of mans/men\",\r\n \"CONFUSION_OF_MARS_MARS\": \"Confusion of mars/Mars\",\r\n \"MARRIAGE_ANNIVERSARY\": \"marriage (wedding) anniversary\",\r\n \"BACK_ABACK\": \"taken back (aback) by\",\r\n \"IN_THE_SKIES\": \"a blessing in the skies (disguise)\",\r\n \"PASSED_PAST\": \"to walk passed (past)\",\r\n \"BOLD_FACED\": \"a bold-faced (bald-faced) lie\",\r\n \"ONE_FELL_SWOOP\": \"one foul (fell) swoop\",\r\n \"DOG-EAT-DOG\": \"doggy-dog (dog-eat-dog)\",\r\n \"GRANITE\": \"take for granite (granted)\",\r\n \"INTENSIVE_PURPOSES\": \"intensive purposes (intents and purposes)\",\r\n \"LESS_MORE_THEN\": \"less/more ... then (than)\",\r\n \"COMMA_THAN\": \"..., than (then)\",\r\n \"FROM_THAN_ON\": \"from than (then) on\",\r\n \"AND_THAN\": \"and than (then)\",\r\n \"NUMBER_OF_NNS\": \"number or (of)\",\r\n \"THAN_INTERJ\": \"..., than, ... (then)\",\r\n \"WHO_THAN\": \"who than (then)\",\r\n \"RATHER_THEN\": \"rather/other/different then (than)\",\r\n \"UNTIED_STATES\": \"Untied (United) States\",\r\n \"UNCLEAR_NUCLEAR\": \"unclear (nuclear)\",\r\n \"CONFUSION_OF_HART_HEART\": \"hard (heart)\",\r\n \"CONFUSION_AWAIT_WAIT\": \"await (wait)\",\r\n \"CONFUSION_DUE_DO\": \"due (do)\",\r\n \"CONFUSION_AWL_ALL\": \"awl (all)\",\r\n \"CONFUSION_KNOT_NOT\": \"knot (not)\",\r\n \"THAT_BEING_SAID\": \"That being sad (said)\",\r\n \"MARRY_MERRY\": \"marry (merry)\",\r\n \"IN_ON_VACATION\": \"in (on) vacation\",\r\n \"IN_ON_WEEKDAY\": \"in (on) weekdays\",\r\n \"CONFUSION_DURING_FOR\": \"during (for)\",\r\n \"MUST_MOST\": \"must (most) of\",\r\n \"COULD_OF\": \"could of (have)\",\r\n \"PEACE_PIECE\": \"peace (piece)\",\r\n \"ALREADY_ALL_READY\": \"already vs. all ready\",\r\n \"QUIET_QUITE\": \"quite / quiet\",\r\n \"PRP_NEW\": \"He new (knew)\",\r\n \"SOME_EXTEND\": \"some/certain extend (extent)\",\r\n \"THEIR_IS\": \"their/they're (there) is/are\",\r\n \"MOTHER-IN-LOW\": \"mother-in-low (mother-in-law)\",\r\n \"IN_THE_PASSED\": \"in the passed (in the past)\",\r\n \"BY_BUY\": \"I will by (buy) this car\",\r\n \"ABOUT_TO_VBD\": \"He is about to (be) executed\",\r\n \"BY_PASS\": \"by pass (bypass)\",\r\n \"TOO_TO\": \"too go (to go)\",\r\n \"TO_TOO\": \"to/two (too) late/soon/much\",\r\n \"YOUR\": \"your (you're)\",\r\n \"PIGEON_ENGLISH\": \"pigeon (pidgin) English/...\",\r\n \"TELEPHONE_POLL\": \"telephone/... poll (pole)\",\r\n \"OPINION_POLE\": \"opinion/... pole (poll)\",\r\n \"SHELL_WE\": \"shell (shall) we\",\r\n \"I_HERD\": \"I herd (heard)\",\r\n \"LOOSE_LOSE\": \"loose (lose)\",\r\n \"LOSE_LOOSE\": \"lose (loose)\",\r\n \"LOSE_LOSS\": \"at a lose (at a loss)\",\r\n \"GIVE_ADVISE\": \"give/any/of advise (advice)\",\r\n \"ADVICE_ADVISE\": \"advice (advise)\",\r\n \"HERE_HEAR\": \"here (hear)\",\r\n \"HEAR_HERE\": \"hear (here)\",\r\n \"WITCH_HAUNT\": \"witch haunt (witch hunt)\",\r\n \"TEEM_TEAM\": \"football teem (football team)\",\r\n \"SNEAK_PEAK\": \"sneak peak (sneak peek)\",\r\n \"CONFUSION_OF_ANOTHER_IN_OTHER\": \"another (in other)\",\r\n \"CONFUSION_OF_SOBBER_SOBER\": \"sobber (sober)\",\r\n \"FOR_ALL_INTENSIVE_PURPOSES\": \"for all intensive purposes (for all intents and purposes)\",\r\n \"ALL_OF_A_SUDDEN\": \"all over (of a) sudden\",\r\n \"NO_NOW\": \"no (now) on\",\r\n \"KNOW_NOW\": \"know (now)\",\r\n \"IN_VEIN\": \"in vein (in vain)\",\r\n \"INSURE_THAT\": \"insure that (ensure that)\",\r\n \"IN_MASSE\": \"in masse (en masse)\",\r\n \"EN_MASS\": \"en mass (en masse)\",\r\n \"FOR_SELL\": \"for sell (for sale)\",\r\n \"CHALK_FULL\": \"chalk full (chock-full)\",\r\n \"EGG_YOKE\": \"egg yoke (egg yolk)\",\r\n \"ET_ALL\": \"et all (et al.)\",\r\n \"BOB_WIRE\": \"bob/barb wire (barbed wire)\",\r\n \"BYE_THE_WAY\": \"bye the way (by the way)\",\r\n \"BACK_AND_FOURTH\": \"back and fourth (back and forth)\",\r\n \"BACK_IN_FORTH\": \"back in forth (back and forth)\",\r\n \"ALL_FOR_NOT\": \"all for not (all for naught)\",\r\n \"MASSAGE_MESSAGE\": \"error massage (message)\",\r\n \"CHANCE_CHANGE\": \"chance (change) a setting\",\r\n \"FORMALLY_KNOWN_AS\": \"formally known as (formerly known as)\",\r\n \"BREATHE_BREATH\": \"breath (breathe)\",\r\n \"ASK_WETHER\": \"ask wether/weather (whether)\",\r\n \"BRAKE_AWAY_BREAK_AWAY\": \"brake away (break away)\",\r\n \"BE_ALOUD_TO\": \"aloud to (allowed to)\",\r\n \"AIRPLANE_HANGER\": \"airplane hanger (airplane hangar)\",\r\n \"DO_TO_THE_FACT_THAT\": \"'Do to that fact that' ? 'Due to'\",\r\n \"DO_TO_THE_LACK_OF\": \"'Do to the lack of' ? 'Due to lack of'\",\r\n \"MINUETS\": \"minuet (minute)\",\r\n \"DEPENDENT\": \"Dependent\",\r\n \"BUY_VBG\": \"buy (by) + gerund verb\",\r\n \"FURTHER_ADIEU\": \"Further ado instead of further adieu\",\r\n \"ADOPT_TO\": \"Adapt to v. adopt to\",\r\n \"TO_AIDE\": \"Aide in wrong context\",\r\n \"ALL_THE_FURTHER\": \"'all the further' is a common, but incorrect phrase\",\r\n \"ALLY_ALLAY\": \"'ally' used in wrong situation\",\r\n \"AMENABLE_AMENDABLE\": \"Amendable to error\",\r\n \"ARCHITECT_VERB\": \"Architect as a verb\",\r\n \"ASCETIC_ACID\": \"Ascetic acid v acetic acid\",\r\n \"AS_WELL_AS_BETTER\": \"Missing 'as' in 'as well as or better than'\",\r\n \"AWAITING_FOR\": \"Awaiting for - incorrect\",\r\n \"AXED_ASKED\": \"Axed v asked\",\r\n \"PUBIC_X\": \"pubic (public) education etc.\",\r\n \"TESTES\": \"testes (tested)\",\r\n \"WAR_WART\": \"war (wart)\",\r\n \"CONFUSION_OF_CORRAL_CORAL\": \"corral (coral)\",\r\n \"ANUS_ANGUS\": \"anus (angus)\",\r\n \"CONFUSION_OF_MARSHAL_MARTIAL\": \"marshal/marital (martial)\",\r\n \"CONFUSION_OF_SATE_STATE\": \"sate (state)\",\r\n \"CONFUSION_OF_GOLD_GOLF\": \"gold (golf)\",\r\n \"CONFUSION_OF_JIB_JOB\": \"jib (job)\",\r\n \"CONFUSION_OF_SCEPTIC_SEPTIC\": \"sceptic (septic)\",\r\n \"CONFUSION_OF_ADDICTING_ADDICITVE\": \"addicting (addictive)\",\r\n \"DEEP_SEEDED\": \"deep-seeded (deep-seated)\",\r\n \"DECEASE_DISEASE\": \"decease (disease)\",\r\n \"STRIPPED_STRIPED\": \"stripped (striped)\",\r\n \"STRIPED_STRIPPED\": \"striped (stripped)\",\r\n \"CALENDER\": \"calender (calendar)\",\r\n \"ON_BEHAVE\": \"on behave (on behalf)\",\r\n \"WITCH_IS_WRONG\": \"witch (which) is wrong\",\r\n \"THEY_WHERE\": \"where (were)\",\r\n \"WERE_WE_RE\": \"were (we're)\",\r\n \"WERE_WHERE\": \"were (where)\",\r\n \"ALTER_ALTAR\": \"alter (altar)\",\r\n \"ADVERSE_AVERSE\": \"adverse (averse)\",\r\n \"CONFUSION_OF_DECENT_DESCENT\": \"decent (descent)\",\r\n \"DIFFUSE_TENSIONS\": \"diffuse (defuse) tensions\",\r\n \"DEFUSE_BOMB\": \"diffuse (defuse) bomb\",\r\n \"COUNSEL_GENERAL\": \"counsel (consul) general\",\r\n \"WILDLY_ACCEPTED\": \"wildly (widely) accepted\",\r\n \"THROUGH_THOROUGH\": \"a through(thorough) discussion etc.\",\r\n \"WAS_WANDERING_IF\": \"I was wandering (wondering) if\",\r\n \"KNEW_NEW\": \"knew (new)\",\r\n \"PRICE_PRIZE\": \"price (prize)\",\r\n \"PRIZE_PRICE\": \"prize (price)\",\r\n \"LOOK_WATCH\": \"look (watch)\",\r\n \"SITE_SIDE\": \"site (side)\",\r\n \"SIDE_SITE\": \"side (site)\",\r\n \"BELIEVE_BELIEF\": \"believe (belief)\",\r\n \"BELIEF_BELIEVE\": \"belief (believe)\",\r\n \"COARSE_COURSE\": \"coarse (course)\",\r\n \"PROVE_PROOF\": \"prove (proof)\",\r\n \"IT_SEAMS\": \"it seams (seems)\",\r\n \"EASE_OFF_USE\": \"ease off (of) use\",\r\n \"EASE_EASY\": \"ease (easy)\",\r\n \"ADMIN_ADMIT\": \"admin (admit)\",\r\n \"NOT_AD_ALL\": \"not ad (at) all\",\r\n \"TAKING_CASE_OF_IT\": \"take case (care) of it\",\r\n \"I_WANDER_IF\": \"I wander (wonder) if\",\r\n \"WORTH_THAN\": \"worth (worse) than\",\r\n \"NOT_JET\": \"not jet (yet)\",\r\n \"YOUR_NN\": \"your (you're)\",\r\n \"IN_YOU_RE_NN\": \"you're (your)\",\r\n \"DEER_DEAR\": \"deer/dear\",\r\n \"ACCEPT_EXCEPT\": \"accept/except\",\r\n \"AFFECT_EFFECT\": \"affect vs effect\",\r\n \"ECONOMICAL_ECONOMIC\": \"'economical (economic) growth' etc.\",\r\n \"ECONOMIC_ECONOMICAL\": \"'economic (economical) car' etc.\",\r\n \"VERSE\": \"'written in verses (verse)'\",\r\n \"IN_PRINCIPAL\": \"principal (principle)\",\r\n \"NIB_NUB\": \"nib / nub\",\r\n \"EVERYDAY_EVERY_DAY\": \"everyday (every day)\",\r\n \"EVERYONE_OF\": \"everyone (every one) of\",\r\n \"NIECE_NICE\": \"niece (nice) day etc.\",\r\n \"SLIGHT_OF_HAND\": \"slight (sleight) of hand\",\r\n \"ROUTE_OF_THE_PROBLEM\": \"route (root) of the problem\",\r\n \"COMPLAINS_COMPLAINTS\": \"complains (complaints)\",\r\n \"FIRST_AID_KIT\": \"first aid kid (kit)\",\r\n \"SPILLING_ERROR\": \"spilling (spelling) error\",\r\n \"SINCE_FOR\": \"since (for) + 'period of time'\",\r\n \"EXTEND_EXTENT\": \"extend (extent)\",\r\n \"SUPPER\": \"super (supper)\",\r\n \"PERSONAL_PERSONNEL\": \"personal (personnel)\",\r\n \"WHORE_WORE\": \"whore (wore)\",\r\n \"OVERNIGHT\": \"overnight instead of 'over night'\",\r\n \"OVER_TIME\": \"over time (overtime)\",\r\n \"BAR_B_QUE\": \"bar-b-queue instead of 'bar-b-que'\",\r\n \"VBN_BUY\": \"buy (by)\",\r\n \"AN_A_PRIORY\": \"a priory (a priori)\",\r\n \"DE_JURE_DU_JOUR\": \"de jure (du jour)\",\r\n \"OEDOMETER_ODOMETER\": \"oedometer (odometer)\",\r\n \"THE_LATER_LATTER\": \"the later (latter)\",\r\n \"WORK_AS_A_CHARM\": \"works as (like) a charm\",\r\n \"STATE_OF_ART\": \"state of art (state of the art, state-of-the-art)\",\r\n \"TAT\": \"tat (that)\",\r\n \"IN_X_ORDER\": \"redundant determiner: 'in (an) alphabetical order\",\r\n \"I_NEVER_HAVE_BEEN\": \"I never have been (I have never been)\",\r\n \"FROM_X_Y\": \"from X - Y (from X to Y)\",\r\n \"MONTH_OF_XXXX\": \"February of 2005 (February 2005)\",\r\n \"THE_QUESTION_WH\": \"the question what (the question of what)\",\r\n \"IN_THE_MOMENT\": \"in the moment (currently)\",\r\n \"MAKE_SINCE\": \"make since (sense)\",\r\n \"ALL_AND_ALL\": \"all and all (all in all)\",\r\n \"ALL_OF_THE_SUDDEN\": \"all of the sudden (all of a sudden)\",\r\n \"ALONG_THE_SAME_VEIN\": \"along the same vein (along the same line, in the same vein)\",\r\n \"EVER_SO_OFTEN\": \"Misused phrase: 'ever so often (every so often)'\",\r\n \"EARLY_ADAPTER\": \"early adapter (early adopter)\",\r\n \"FAR_BE_IT_FOR_ME\": \"far be it for me (far be it from me)\",\r\n \"MONEY_IS_NO_OPTION\": \"money is no option (money is no object)\",\r\n \"NIP_IT_IN_THE_BUTT\": \"nip it in the butt (nip it in the bud)\",\r\n \"NOW_AND_DAYS\": \"now and days (nowadays)\",\r\n \"ROUND_A_BOUTS\": \"round a bout (round a bouts)\",\r\n \"THE_PROOF_IS_IN_THE_PUDDING\": \"the proof is in the pudding (the proof of the pudding is in the eating)\",\r\n \"QUI_BONO\": \"qui bono (cui bono)\",\r\n \"WHIP_CREAM\": \"whip cream (whipped cream)\",\r\n \"IN_OR_WITH_REGARDS_TO_OF\": \"in/with regards to/of (regarding, with regard to)\",\r\n \"VERY_KNOWN\": \"very known (very well-known, well-known)\",\r\n \"CD_00_O_CLOCK\": \"7:00 o'clock (7:00 or 7 o'clock)\",\r\n \"SI_UNITS_OF_MEASURMENT_ADJECTIVES_PLURAL\": \"5-farads/5-farad\",\r\n \"INFORMATIONS\": \"legal term: informations\",\r\n \"MORE_THAN_CD_PLUS\": \"Redundant 'plus': 100+ and more\",\r\n \"IN_A_X_MANNER\": \"Wordiness: in a ... manner\",\r\n \"TELL_IT\": \"I [told it to] -> I [told] Leo\",\r\n \"FORMER_ALUMNUS\": \"former alumnus (alumnus)\",\r\n \"SWORN_AFFIDAVIT\": \"sworn affidavit (affidavit)\",\r\n \"DIRECTLY_ANTITHETICAL\": \"directly antithetical (antithetical)\",\r\n \"APPROXIMATELY_ABOUT\": \"approximately about\",\r\n \"ASSOCIATE_TOGETHER\": \"associate together (associate)\",\r\n \"SUFFICIENT_ENOUGH\": \"sufficient enough ? sufficient\",\r\n \"OF_ANY_OF\": \"of any of ? of\",\r\n \"SEND_AN_EMAIL\": \"send an email to (email)\",\r\n \"SENT_AN_EMAIL\": \"sent an email to (email)\",\r\n \"SEND_PRP_AN_EMAIL\": \"send me an email (email me)\",\r\n \"BECAUSE_OF_THE_FACT_THAT\": \"because of the fact that (because)\",\r\n \"ATM_MACHINE\": \"ATM machine (ATM)\",\r\n \"HIV_VIRUS\": \"HIV virus (HIV)\",\r\n \"PIN_NUMBER\": \"PIN number / ISBN number (PIN / ISBN)\",\r\n \"LCD_DISPLAY\": \"LCD display (LCD)\",\r\n \"ADD_AN_ADDITIONAL\": \"add an additional (add)\",\r\n \"AM_PM_OCLOCK\": \"7 o'clock AM (7 o'clock)\",\r\n \"AM_PM\": \"12;30 a.m. (12:30 a.m.)\",\r\n \"AM_IN_THE_MORNING\": \"AM in the morning (AM)\",\r\n \"PM_IN_THE_EVENING\": \"PM in the evening (PM)\",\r\n \"AND_ETC\": \"and (etc)\",\r\n \"ADEQUATE_ENOUGH\": \"adequate enough (adequate)\",\r\n \"ASK_THE_QUESTION\": \"ask the question (ask)\",\r\n \"AS_OF_YET\": \"as of yet (yet)\",\r\n \"AUTOBIOGRAPHY_OF_A_LIFE\": \"autobiography of a life (autobiography)\",\r\n \"BASIC_FUNDAMENTALS\": \"basic fundamentals/necessities (fundamentals/necessities)\",\r\n \"BALD-HEADED\": \"bald-headed (bald)\",\r\n \"TEMPORARY_BIVOUAC_BIVOUAC\": \"temporary bivouac (bivouac)\",\r\n \"BIVOUAC_CAMP_BIVOUAC\": \"bivouac camp (bivouac)\",\r\n \"ADJECTIVE_IN_ATTRIBUTE\": \"Big in size, yellow in color, etc.\",\r\n \"BITTER_IN_TASTE\": \"bitter in taste (bitter)\",\r\n \"BIOGRAPHY_OF_A_LIFE\": \"biography of her life (biography)\",\r\n \"CD_DISC\": \"CD disc (CD)\",\r\n \"CDROM\": \"CDROM (CD-ROM)\",\r\n \"ACCUSED_OF_A_CHARGE_CHARGED_WITH\": \"accused of a charge (charged with)\",\r\n \"CIRCUMSTANCES_SURROUNDING\": \"circumstances surrounding (circumstances of)\",\r\n \"CLOSE_SCRUTINY\": \"close scrutiny/proximity (scrutiny/proximity)\",\r\n \"COMBINE_TOGETHER\": \"combine together (combine)\",\r\n \"COMFORTABLE_WITH_VBG\": \"comfortable with doing (comfortable doing)\",\r\n \"COMMUTE_BACK_AND_FORTH\": \"commute back and forth (commute)\",\r\n \"CONTINUE_TO_REMAIN\": \"continue to remain (remain)\",\r\n \"DESCEND_DOWN\": \"descend down (descend)\",\r\n \"EACH_AND_EVERY\": \"each and every one (each one)\",\r\n \"ALL_OF_THE\": \"all of the (all the)\",\r\n \"DROP_DOWN\": \"drop down (drop)\",\r\n \"FIRST_OF_ALL\": \"first of all (first)\",\r\n \"FOCUS_IN\": \"focus in (focus on)\",\r\n \"GATHER_UP\": \"gather up (gather)\",\r\n \"INCREDIBLE_TO_BELIEVE\": \"incredible to believe (incredible)\",\r\n \"OUTSIDE_OF\": \"outside of (outside)\",\r\n \"PRIVATE_INDUSTRY\": \"private industry (industry)\",\r\n \"RIGHT_OVER\": \"right over (over)\",\r\n \"SELF_ADMITTED\": \"self-admitted (admitted)\",\r\n \"SOME_OF_THE\": \"some of the (some)\",\r\n \"SUBJECT_MATTER\": \"subject matter (subject)\",\r\n \"TRY_AND\": \"try and (try to)\",\r\n \"SO_AS_TO\": \"so as to (to)\",\r\n \"FEW_OCCASIONS\": \"on a few occasions (occasionally)\",\r\n \"ALSO_OTHER\": \"there are also other (also)\",\r\n \"LARGE_NUMBER_OF\": \"a large number of (many)\",\r\n \"SMALL_NUMBER_OF\": \"a small number of (a few)\",\r\n \"SUBSEQUENT_TO\": \"subsequent to (after)\",\r\n \"WITH_THE_EXCEPTION_OF\": \"with the exception of (except)\",\r\n \"EVERY_NOW_AND_THEN\": \"every now and then (now and then)\",\r\n \"ESTABLISHED_FACT\": \"established fact (fact)\",\r\n \"SUMMER_TIME\": \"summertime (summer)\",\r\n \"THE_FALL_SEASON\": \"fall season (fall)\",\r\n \"FAMOUS_CELEBRITY\": \"famous celebrity (celebrity)\",\r\n \"SALSA_SAUCE\": \"salsa sauce (salsa)\",\r\n \"GENERAL_XX\": \"general public (public)\",\r\n \"OVER_EXAGGERATED\": \"over exaggerated (exaggerated)\",\r\n \"ORIGINALLY_BORN_IN\": \"originally born in (born in)\",\r\n \"RETURN_BACK\": \"return back (return)\",\r\n \"REPEAT_AGAIN\": \"repeat again (repeat)\",\r\n \"REPEATED_CURRENCY\": \"$500 (dollars)\",\r\n \"MIGHT_PERHAPS\": \"might perhaps (might)\",\r\n \"AGREE_WITH_THE_FACT\": \"disagree with the fact that (disagree that)\",\r\n \"WILL_IN_THE_FUTURE\": \"will in the future (will)\",\r\n \"WORK_COLLEAGUE\": \"work colleague (colleague)\",\r\n \"NUMEROUS_DIFFERENT\": \"numerous different (numerous)\",\r\n \"WHOLE_LOT\": \"whole lot (lot)\",\r\n \"FELLOW_CLASSMATE\": \"fellow classmates/co-workers/comrades (classmates/co-workers/comrades)\",\r\n \"FOREIGN_IMPORT\": \"foreign import (import)\",\r\n \"HONEST_TRUTH\": \"honest truth (truth)\",\r\n \"INTRODUCE_FOR_THE_FIRST_TIME\": \"introduce for the first time (introduce)\",\r\n \"NOUN_AROUND_IT\": \"the noun around it (surrounding noun)\",\r\n \"PAST_EXPERIENCE_MEMORY\": \"past experience/memory (experience/memory)\",\r\n \"POINT_BEING_IS_THAT\": \"point being is that (point is that/point being that)\",\r\n \"REASON_WHY\": \"reason why (reason)\",\r\n \"SO_THEREFORE\": \"so therefore (therefore)\",\r\n \"THERAPEUTIC_TREATMENT\": \"therapeutic treatment (treatment)\",\r\n \"RUSTIC_COUNTRY\": \"rustic country (rustic)\",\r\n \"VERY_UNIQUE\": \"very unique (unique)\",\r\n \"WHETHER\": \"the question whether (whether) etc.\",\r\n \"FEMALE_ACTOR\": \"female actor (actress)\",\r\n \"FEMALE_WAITER\": \"female waiter (waitress)\",\r\n \"FIRST_WOMAN_NOUN\": \"first woman president (female president)\",\r\n \"FIRST_MAN_NOUN\": \"first man president (male president)\",\r\n \"LITTLE_BIT\": \"little bit\",\r\n \"FREE_GIFT\": \"free gift\",\r\n \"RIO_GRANDE\": \"Rio Grande (river)\",\r\n \"MOUNT_FUJIYAMA\": \"Mount Fuji\",\r\n \"HELP_TO_FIND\": \"help to find (help find)\",\r\n \"BUSSES\": \"busses (buses)\",\r\n \"PASSIVE_VOICE_SIMPLE\": \"simple cases of passive voice\",\r\n \"MORE_EASY_N_CLEAR\": \"more easy (easier, less difficult), more clear (clearer, apparent, obvious, evident) to\",\r\n \"FASTLY\": \"fastly (quickly)\",\r\n \"REPEATED_PLEASE\": \"'please' twice in a sentence\",\r\n \"TOO_TO_EITHER\": \"I'm not very experienced too (either)\",\r\n \"ANYWAYS\": \"anyways (anyway)\",\r\n \"PPL\": \"abbreviation 'ppl'\",\r\n \"SUBJECT_DROP\": \"I saw it and I (0) should have said something to you\",\r\n \"PREVENT_FROM\": \"It's supposed to prevent it (from) spilling over\",\r\n \"SERIAL_COMMA_ON\": \"Warn when the serial comma is not used\",\r\n \"WILL_ALLOW\": \"This will allow (allows) them to bloom...\",\r\n \"WHOLE_OTHER\": \"a whole other (entirely different) issue\",\r\n \"WEEK_END_HYPHEN\": \"week-end (weekend)\",\r\n \"THERE_RE_CONTRACTION_UNCOMMON\": \"there're ? there are\",\r\n \"SENT_START_ARE_NOT_ARENT_FORMAL\": \"Are not (formal) ? Aren't\",\r\n \"NOT_SURE_IT_WORKS\": \"Not sure (if) it works\",\r\n \"THANK_YOU_MUCH\": \"Thank you much\",\r\n \"TIFLIS\": \"Tiflis\",\r\n \"USED_TO_COULD\": \"used to could (be able to)\",\r\n \"MISSING_COMMA_WITH_TOO\": \"Missing vocative comma\",\r\n \"INDIAN_ENGLISH\": \"Indian English replacements\",\r\n \"RECOMMENDED_COMPOUNDS\": \"Recommended compounds (smartphone, website, …)\",\r\n \"MOST_OF_OUR_TIMES\": \"Most of our times (time)\",\r\n \"REASON_IS_BECAUSE\": \"'the reason... is because'\",\r\n \"ALINE\": \"aline vs. align\",\r\n \"BESTEST\": \"bestest (best)\",\r\n \"BORED_OF\": \"bored of (with)\",\r\n \"THEMSELF\": \"'themself'\",\r\n \"OURSELF\": \"'ourself'\",\r\n \"MERCHANDIZE\": \"'merchandize' vs. 'merchandise'\",\r\n \"SUPER_BOWL\": \"Super Bowl (Roman numerals)\",\r\n \"GOTTA\": \"informal 'gotta'\",\r\n \"GONNA\": \"gonna (going to)\",\r\n \"Y_ALL\": \"y'all (you all)\",\r\n \"DONTCHA\": \"dontcha (don't you)\",\r\n \"WHATCHA\": \"whatcha (what are you)\",\r\n \"OUTTA\": \"outta (out of)\",\r\n \"LEMME\": \"lemme (let me)\",\r\n \"BOUT_TO\": \"I'm bout (about) to\",\r\n \"LUV\": \"luv (love)\",\r\n \"DAT\": \"dat (that)\",\r\n \"DIS\": \"dis (this)\",\r\n \"GIMME\": \"gimme (give me)\",\r\n \"GOTCHA\": \"gotcha (got you)\",\r\n \"WANNA_TO\": \"I don't wanna to travel (want to travel)\",\r\n \"WANNA\": \"wanna (want to)\",\r\n \"DUNNO\": \"dunno (don't know)\",\r\n \"EXTREME_ADJECTIVES\": \"Extreme adjectives\",\r\n \"DIFFERENT_THAN\": \"different than (from)\",\r\n \"THAN_I\": \"be bigger than me (I)\",\r\n \"MOST_EVERYONE\": \"most (almost) every\",\r\n \"WHEN_WHERE\": \"where/when\",\r\n \"PROFANITY\": \"Profanity\",\r\n \"RUDE_SARCASTIC\": \"Sarcasm\",\r\n \"NEEDS_FIXED\": \"'Needs fixed' type construction\",\r\n \"AN_INVITE\": \"an invite (invitation)\",\r\n \"IRREGARDLESS\": \"irregardless (regardless)\",\r\n \"FOUR_NN\": \"Readability: Four nouns in a row\",\r\n \"POSSIBILTY_POSSIBLE\": \"Style: 'possible' after 'possibility'\",\r\n \"ABLE_TO_PASSIVE\": \"to be able to + 'passive voice'\",\r\n \"OCCASION_TRANSITIVE_VERB_VERY_FORMAL\": \"transitive verb 'occasion' is very formal\",\r\n \"ADVERB_WORD_ORDER\": \"Word order: Wrong position of adverb, e.g. 'Always I am happy. (I am always happy.)'\",\r\n \"TWELFTH_OF_NEVER\": \"Impossible dates (April 31st, etc.)\",\r\n \"APOSTROPHE_UPPERCASE_LETTER\": \"Inconsistent case: She'S (She's)\",\r\n \"PH_D\": \"abbreviation of 'philosophiae doctor' (PhD)\",\r\n \"BACHELOR_ABBR\": \"abbreviation for bachelor's degree\",\r\n \"YEAR_20001\": \"May 20001 (May 2001)\",\r\n \"BOTH_ENUM\": \"'to both ...' with more than two items\",\r\n \"WINTER_DDDDD\": \"Winter 20211 (2021)\",\r\n \"DATE_NEW_YEAR\": \"A new year has begun\",\r\n \"DATE_WEEKDAY\": \"Weekday doesn't match date\",\r\n \"DATE_WEEKDAY_WITHOUT_YEAR\": \"Weekday doesn't match date for the current year\",\r\n \"INVALID_DATE\": \"Invalid date, like 'February 31, 2014'\",\r\n \"ORDINAL_NUMBER_SUFFIX\": \"wrong suffix of ordinal number\",\r\n \"LIGHTYEAR\": \"Light-year as a unit of time\",\r\n \"SQUARE_ROOT\": \"square roots (2 solutions)\",\r\n \"TWICE_AS_COLD\": \"Interval scale: doubling values ('twice as hot')\",\r\n \"GERMAN_QUOTES\": \"Usage of German quotes („“)\",\r\n \"CAFE_DIACRITIC\": \"cafe (café)\",\r\n \"CONSECUTIVE_SPACES\": \"Two consecutive spaces\",\r\n \"SPACE_BEFORE_PARENTHESIS\": \"Missing whitespace before a parenthesis\",\r\n \"SPACE_BETWEEN_NUMBER_AND_WORD\": \"3dogs (3 dogs)\",\r\n \"COMMA_PERIOD_CONFUSION\": \"12,5% ? 12.5%\",\r\n \"APOS_SPACE_CONTRACTION\": \"space after apostrophe in contraction (e.g. I' m)\",\r\n \"TL_DR\": \"TL DR (TL;DR)\",\r\n \"O_CONNOR\": \"O Connor (O'Connor)\",\r\n \"DOUBLE_APOSTROPHE\": \"redundant apostrophe\",\r\n \"APOSTROPHE_VS_QUOTE\": \"double quote instead of apostrophe\",\r\n \"MISSING_APOSTROPHE\": \"missing apostrophe\",\r\n \"CD_TH\": \"number + (th, nd, st, rd)\",\r\n \"TRADEMARK\": \"(TM) instead of ™\",\r\n \"R_SYMBOL\": \"(R) instead of ®\",\r\n \"COPYRIGHT\": \"(c) instead of ©\",\r\n \"CURRENCY\": \"Position of currency symbols: '100$' ($100)\",\r\n \"CURRENCY_SPACE\": \"Whitespace after currency symbols: '$ 100' ($100)\",\r\n \"EN_QUOTES\": \"Smart quotes (“”)\",\r\n \"ELLIPSIS\": \"Smart ellipsis (…)\",\r\n \"WRONG_APOSTROPHE\": \"Wrong apostrophe character\",\r\n \"SPURIOUS_APOSTROPHE\": \"two tank's (tanks)\",\r\n \"APOSTROPHE_IN_DATES\": \"Apostrophe in dates\",\r\n \"APOSTROPHE_IN_DAYS\": \"Apostrophe in holidays (Mother's Day)\",\r\n \"CAPITALIZATION_NNP_DERIVED\": \"Capitalization of words derived from proper nouns\",\r\n \"ARROWS\": \"Arrows: -> (?)\",\r\n \"HYPOTHESIS_TYPOGRAPHY\": \"Typography for hypotheses\",\r\n \"MULTIPLICATION_SIGN\": \"Mathematics: Multiplication: x - × \",\r\n \"PLUS_MINUS\": \"Mathematics: +- - ± \",\r\n \"NON_STANDARD_COMMA\": \"Non-standard comma\",\r\n \"NON_STANDARD_QUESTION_MARK\": \"Non-standard question mark\",\r\n \"NON_ENGLISH_CHARACTER_IN_A_WORD\": \"Non-standard character in a word\",\r\n \"LUNCH_ROOM\": \"lunchroom\",\r\n \"DRIVERS_LICENSE\": \"driver's licence/driving licence\",\r\n \"EGGPLANT\": \"eggplant/aubergine\",\r\n \"ZIP_CODE_POSTCODE\": \"zip code/postcode\",\r\n \"APARTMENT-FLAT\": \"apartment/flat\",\r\n \"BAND-AID_PLASTER\": \"band-aid/plaster\",\r\n \"GROUND_VS_MINCED\": \"ground beef/minced beef\",\r\n \"MOVIE_THEATER_CINEMA\": \"movie theater/cinema\",\r\n \"GOT_GOTTEN\": \"gotten/got\",\r\n \"LICENCE_LICENSE_NOUN_SINGULAR\": \"License/Licence (noun)\",\r\n \"LICENCE_LICENSE_NOUN_PLURAL\": \"Licenses/Licences (noun)\",\r\n \"TRUNK_BOOT\": \"trunk/boot (of car)\",\r\n \"AIR_PLANE_AEROPLANE\": \"air plane/aeroplane\",\r\n \"SI_UNITS_OF_MEASUREMENT_ADJECTIVES_AME\": \"1-liter/1-litre\",\r\n \"TAKE_A_BATH\": \"Collocation: take (have) a bath/nap\",\r\n \"OK\": \"ok (OK)\",\r\n \"ANYMORE\": \"anymore (any more)\",\r\n \"OXFORD_SPELLING_GRAM\": \"Oxford spelling of 'gram' (not 'gramme')\",\r\n \"OXFORD_SPELLING_Z_NOT_S\": \"Oxford spelling is/iz\",\r\n \"UNION_JACK\": \"Union Jack\",\r\n \"DATE_FUTURE_VERB_PAST_US\": \"Future date, but verb in past tense (UK)\",\r\n \"FOR_EVER_CA\": \"for ever (forever)\",\r\n \"AWAKED\": \"awaked (awoke, awoken)\",\r\n \"AIT\": \"ait (it)\",\r\n \"MORFOLOGIK_RULE_EN_GB\": \"Possible spelling mistake\",\r\n \"FOR_EVER_US\": \"for ever (forever)\",\r\n \"TRAD_TRADE\": \"trad vs trade\",\r\n \"THEE\": \"thee (the)\",\r\n \"STREET_LIGHTS_COMPOUND\": \"street light (streetlight)\",\r\n \"SHIT_SHOW_COMPOUND\": \"shit show (shitshow)\",\r\n \"HOME_COMPOUNDS_EN_US\": \"home town (hometown)\",\r\n \"ANY_MORE\": \"any more (anymore)\",\r\n \"EG_NO_COMMA\": \"'e.g.' without a comma\",\r\n \"IE_NO_COMMA\": \"'i.e.' without a comma\",\r\n \"ETC_PERIOD\": \"period after abbreviation 'etc.'\",\r\n \"MISSING_COMMA_AFTER_YEAR\": \"Potentially missing comma after year\",\r\n \"US_ONE_ENTITY\": \"The United States are (is) 246 years old\",\r\n \"TOILET\": \"offensive word 'toilet'\",\r\n \"AFTERWARDS_US\": \"We visited them afterwards (afterward)\",\r\n \"AUBERGINE\": \"eggplant/aubergine\",\r\n \"GROUND_FIRST_FLOOR\": \"ground floor/first floor\",\r\n \"MASTERS_DISSERTATION_THESIS\": \"master's dissertation (thesis)\",\r\n \"SI_UNITS_OF_MEASUREMENT_ADJECTIVES_BRE\": \"1-litre/1-liter\",\r\n \"AT_THE_WEEKEND\": \"Collocation: at the weekend\",\r\n \"IN_FUTURE\": \"Missing definite article referring to a time period\",\r\n \"HAVE_A_SHOWER\": \"have a shower ? take a shower\",\r\n \"HAPPY_CHRISTMAS\": \"Happy (Merry) Christmas\",\r\n \"THRU\": \"thru / through\",\r\n \"MORFOLOGIK_RULE_EN_US\": \"Possible spelling mistake\",\r\n \"MORFOLOGIK_RULE_EN_CA\": \"Possible spelling mistake\",\r\n \"MORFOLOGIK_RULE_EN_AU\": \"Possible spelling mistake\"\r\n}","export default {\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"Espacios en blanco antes de coma y antes/después de paréntesis\",\r\n \"DOUBLE_PUNCTUATION\": \"Dos puntos o comas consecutivos\",\r\n \"ES_UNPAIRED_BRACKETS\": \"Paréntesis, comillas, signos de exclamación, interrogación y similares desparejados\",\r\n \"ES_QUESTION_MARK\": \"Signos de exclamación / interrogación desparejados\",\r\n \"MORFOLOGIK_RULE_ES\": \"Posible error de ortografía\",\r\n \"UPPERCASE_SENTENCE_START\": \"Comprobar si la frase empieza con una letra mayúscula\",\r\n \"SPANISH_WORD_REPEAT_RULE\": \"Repetición de una palabra (p. ej. 'soy soy')\",\r\n \"WHITESPACE_RULE\": \"Múltiples espacios en blanco (formato incorrecto)\",\r\n \"SPANISH_WRONG_WORD_IN_CONTEXT\": \"Confusión según el contexto (infligir/infringir, etc.)\",\r\n \"TOO_LONG_SENTENCE\": \"Legibilidad: oración con más de 60 palabras\",\r\n \"ES_SIMPLE_REPLACE\": \"Detecta palabras incorrectas y propone sugerencias.\",\r\n \"ES_SIMPLE_REPLACE_VERBS\": \"Detecta verbos incorrectos y propone sugerencias.\",\r\n \"SPANISH_WORD_REPEAT_BEGINNING_RULE\": \"Dos frases consecutivas comienzan con la misma palabra.\",\r\n \"ES_COMPOUNDS\": \"Palabras compuestas con guion\",\r\n \"ES_REPEATEDWORDS\": \"Sinónimos para palabras repetidas.\",\r\n \"REP_POR_LO_TANTO\": \"repetición: por lo tanto\",\r\n \"REP_ANTES\": \"repetición: antes\",\r\n \"REP_YA_QUE\": \"repetición: ya que\",\r\n \"REP_DESPUES\": \"repetición: después\",\r\n \"DOBLE_ESPACIO\": \"doble espacio\",\r\n \"MAYUSCULAS_INICIO_FRASE\": \"mayúsculas a principio de frase\",\r\n \"ESO\": \"ESO (Educación Secundaria Obligatoria\",\r\n \"WHATSAPP\": \"WhatsApp\",\r\n \"MAY_ABREVIATURA\": \"mayúscula en algunas abreviaturas\",\r\n \"MIN_MESES\": \"Meses en minúscula\",\r\n \"MIN_DIAS_SEMANA\": \"Días de la semana en minúscula\",\r\n \"MIN_ESTACIONES\": \"Estaciones del año en minúscula\",\r\n \"HOMO\": \"homo/Homo\",\r\n \"SAO_PAULO\": \"São Paulo\",\r\n \"A_CONTRAPIE\": \"*a contra pie/a contrapié\",\r\n \"OBEDIENCIA_DEBIDA\": \"obediencia *de vida/debida\",\r\n \"LITROS_POR_METRO\": \"litros por *metros/metro cuadrado\",\r\n \"EN_LA_MEDIDA_EN_QUE\": \"en la medida *de que/en que\",\r\n \"CUOTA_COTA\": \"cuota/cota\",\r\n \"AL_IGUAL_QUE\": \"al igual *de/*a/que\",\r\n \"HOLA_QUE_TAL\": \"hola, ¿qué tal?\",\r\n \"HOLA_COMO_ESTAS\": \"Hola, ¿cómo estás?\",\r\n \"VALLA_VAYA\": \"valla/vaya (ir)\",\r\n \"PODER_VOSEO\": \"poder + forma voseo\",\r\n \"HACE_UN_MES_ATRAS\": \"*hace un mes atrás\",\r\n \"EXCESO_DE_AFORO\": \"exceso de aforo\",\r\n \"DHONDT\": \"D'Hondt\",\r\n \"PRET_A_PORTER\": \"prêt-à-porter\",\r\n \"MENAGE_A_TROIS\": \"ménage à trois\",\r\n \"PEARL_HARBOR\": \"Pearl Harbor\",\r\n \"DEJA_VU\": \"déjà-vu\",\r\n \"A_PUNTO_DE\": \"*apunto de/a punto de\",\r\n \"TAL_ES_ASI\": \"*tal es así/tanto es así\",\r\n \"POR_TAL_DE\": \"*por tal de\",\r\n \"ALTO_CARGO\": \"*alta cargo/alto cargo\",\r\n \"PLASMA_CONVALECIENTE\": \"plasma (de) convaleciente\",\r\n \"TIRA_AFLOJA\": \"tira y afloja\",\r\n \"AFRENTAR_DIFICULTADES\": \"afrentar dificultades o problemas (afrontar)\",\r\n \"DESTORNILLAR_RISA\": \"destornillarse de risa (desternillarse)\",\r\n \"CONTRA_MAS\": \"Contra más (cuanto más)\",\r\n \"SIN_ECUANIME\": \"sin ecuánime (sine qua non)\",\r\n \"EMPECE\": \"empece/empecé\",\r\n \"COLERA\": \"colera/cólera\",\r\n \"FALTA_ELEMENTO_ENTRE_VERBOS\": \"Falta un elemento entre verbos: hay algo *(que) es claro\",\r\n \"COMO_COMPARATIVO\": \"como comparativo, sin tilde\",\r\n \"DIACRITICS_VERB_N_ADJ\": \"nombres y adjetivos con tilde\",\r\n \"ANIMO\": \"animo -> ánimo\",\r\n \"LA_MATRICULA\": \"matricula -> matrícula\",\r\n \"PRORROGA\": \"prorroga -> prórroga\",\r\n \"CELEBRE\": \"celebre -> célebre\",\r\n \"TERMINO\": \"termino->término\",\r\n \"MARQUES\": \"marques/marqués\",\r\n \"PIO\": \"pio > pío\",\r\n \"PRACTICA\": \"practica/práctica\",\r\n \"REPUBLICA\": \"republica/república\",\r\n \"PUBLICO\": \"publico/público\",\r\n \"CIRCULO\": \"circulo->círculo\",\r\n \"INTIMA\": \"intima->íntima\",\r\n \"DIACRITICS_SPECIAL\": \"diacríticos, casos especiales\",\r\n \"DIACRITICS_00\": \"linea/línea\",\r\n \"DIACRITICS_01\": \"verbo/adj o nombre 01\",\r\n \"DIACRITICS_02\": \"verbo/adj o nombre 02\",\r\n \"DIACRITICS_03\": \"verbo/adj o nombre 03\",\r\n \"DIACRITICS_04\": \"verbo/adj o nombre 04\",\r\n \"DIACRITICS_05\": \"05\",\r\n \"DIACRITICS_06\": \"06\",\r\n \"LIDERES\": \"lideres/líderes\",\r\n \"LEGITIMA\": \"legitima -> legítima\",\r\n \"DEPOSITO\": \"deposito/depóstio\",\r\n \"DIACRITICS_CONDICIONAL\": \"secundaria/secundaría\",\r\n \"VIVIDAMENTE\": \"vividamente/vívidamente\",\r\n \"RELATIVOS_SIN_TILDE\": \"relativos sin tilde (quien, donde...)\",\r\n \"QUE\": \"que/qué\",\r\n \"QUE_TILDE\": \"que -> qué\",\r\n \"QUE_SIN_TILDE\": \"qué -> que\",\r\n \"QUIEN\": \"quien/quién...\",\r\n \"QUE_TAL\": \"que/qué tal\",\r\n \"INTERROGATIVAS_INDIRECTAS\": \"interrogativas indirectas: el cómo, el quién\",\r\n \"SE_CREO\": \"confusión: se creo/creó\",\r\n \"SE_CREO2\": \"confusión: se creo/creó\",\r\n \"PROMEDIO\": \"promedio/promedió\",\r\n \"SE_FIE\": \"confusión: se fie/fíe\",\r\n \"SE_A\": \"se/sé\",\r\n \"SE\": \"se/sé\",\r\n \"CONTINUA\": \"continua/continúa\",\r\n \"SABIA\": \"sabia/sabía\",\r\n \"AMPLIA\": \"amplia/amplía\",\r\n \"VARIA\": \"varia/varía\",\r\n \"TENIA\": \"tenia/tenía\",\r\n \"SALIO\": \"salio salia/salió salía\",\r\n \"SERA\": \"sera/será\",\r\n \"VERA\": \"vera/verá\",\r\n \"VENIA\": \"venia/venía\",\r\n \"COMO\": \"como/cómo\",\r\n \"CUAL_SIN_TILDE\": \"cuál > cual\",\r\n \"CUAL_CON_TILDE\": \"cual > cuál\",\r\n \"FUTURO_SUBJ_IND\": \"confusión cantareis/cantaréis, cantare/cantaré\",\r\n \"SUBJUNTIVO_INCORRECTO\": \"verbo en modo subjuntivo incorrecto\",\r\n \"SUBJUNTIVO_FUTURO\": \"confusión cantara/cantará\",\r\n \"SUBJUNTIVO_PASADO\": \"confusión cante/canté\",\r\n \"SUBJUNTIVO_PASADO2\": \"analice/analicé ayer\",\r\n \"DIACRITICS_OTHERS\": \"otros casos de falta de tilde\",\r\n \"PAGINA\": \"pagina/página\",\r\n \"LIQUIDA\": \"liquida/líquida\",\r\n \"GRAFICO\": \"grafico/gráfico\",\r\n \"NUMERO\": \"numero/número\",\r\n \"ULTIMA\": \"ultima/última\",\r\n \"ULTIMO\": \"ultimo/últimos\",\r\n \"TOCARIA\": \"tocaria/tocaría\",\r\n \"ADEMAS\": \"ademas\",\r\n \"UNUSUAL_WITHOUT_ACCENT\": \"palabras usualmente con tilde\",\r\n \"ORDENES\": \"ordenes/órdenes\",\r\n \"DANES\": \"danes/danés\",\r\n \"INGLES\": \"ingles/inglés\",\r\n \"RIO\": \"rio/río\",\r\n \"FRIO\": \"frio/frío\",\r\n \"LIO\": \"lio/lío\",\r\n \"AMEN\": \"amen/amén\",\r\n \"SERIAN\": \"serian/serían\",\r\n \"SERIA\": \"seria/sería\",\r\n \"PARIS\": \"Paris/París\",\r\n \"EL_NO_TILDE\": \"él -> el\",\r\n \"EL_TILDE\": \"el / él\",\r\n \"MI_TILDE\": \"mi/mí\",\r\n \"MI_SIN_TILDE\": \"mí > mi\",\r\n \"TU_SIN_TILDE\": \"tú > tu\",\r\n \"TU_TILDE\": \"tu / tú\",\r\n \"ESTA_TILDE\": \"*esta/está\",\r\n \"ESTAS_NO_TILDE\": \"estás/estas\",\r\n \"IRA_TILDE\": \"ira/irá\",\r\n \"ESTAS_TILDE\": \"estas/estás\",\r\n \"ESTAS_TILDE2\": \"estas/estás\",\r\n \"ESTE_TILDE\": \"este/esté\",\r\n \"DE_TILDE\": \"de/dé (dar)\",\r\n \"TE_TILDE\": \"té/te\",\r\n \"TE_TILDE2\": \"te tilde (test)\",\r\n \"HACIA_NO_TILDE\": \"hacia -> hacía\",\r\n \"HACIA_TILDE\": \"hacia -> hacía\",\r\n \"SOLICITO_NO_TILDE\": \"palabras sin tilde según el contexto\",\r\n \"MAS\": \"mas/más\",\r\n \"AUN\": \"aún -> aun\",\r\n \"AUN2\": \"aun -> aún\",\r\n \"SI\": \"si/sí\",\r\n \"SI_AFIRMACION\": \"si -> sí\",\r\n \"SI_AFIRMACION2\": \"si -> sí (afirmación)\",\r\n \"PASO\": \"paso/pasó\",\r\n \"EX_ALTO_CARGO\": \"exalto cargo (ex alto cargo)\",\r\n \"CLICK_CLIC\": \"click -> clic\",\r\n \"D_ELA\": \"revisar letra suelta: d, l, n\",\r\n \"SUGERENCIAS_ANTE\": \"error de ortografía: -ante\",\r\n \"NUMBERS_IN_WORDS\": \"Numbers in words\",\r\n \"DEMAS\": \"demás/de más\",\r\n \"PLURAL_SEPARADO\": \"marca de plural separada\",\r\n \"R_RR\": \"-rr- en prefijos\",\r\n \"CONTRACCIONES\": \"contracciones: del, al\",\r\n \"ARTICULO_EN_TOPONIMOS\": \"del Cario > de El Cairo\",\r\n \"SIGLAS\": \"siglas\",\r\n \"CURRICULUM\": \"currículum / curriculum vitae\",\r\n \"SEPARADO\": \"palabras que se escriben separadas\",\r\n \"INFINITIVO_LA\": \"acabarla/acabar la\",\r\n \"CON_GUION\": \"palabras con guion\",\r\n \"APARTES\": \"apartes/aparte\",\r\n \"EN_TORNO\": \"entorno/en torno\",\r\n \"APARTE\": \"a parte/aparte\",\r\n \"NO_SEPARADO\": \"palabras no separadas\",\r\n \"BIEN_VENIDO\": \"bein venido > bienvenido\",\r\n \"TIK_TOK\": \"TikTok\",\r\n \"SUPER\": \"super/súper/super-\",\r\n \"HIPER\": \"híper/hiper-\",\r\n \"AUTO_NO_SEPARADO\": \"prefijo auto- no separado\",\r\n \"PREFIJOS_JUNTOS_EN_DICCIONARIO\": \"prefijos escritos juntos: *anti occidental\",\r\n \"ALREDEDOR\": \"*(a) alrededor\",\r\n \"LLEVAR_ACABO\": \"llevar *acabo/a cabo\",\r\n \"DAR_ABASTO\": \"dar *a basto/abasto\",\r\n \"DAR_A_LUGAR\": \"dar *(a) lugar\",\r\n \"SOBRETODO\": \"sobretodo/sobre todo\",\r\n \"HALLA_HAYA\": \"halla/haya\",\r\n \"SE_HALLA_SE_HAYA\": \"se halla / se haya\",\r\n \"SE_HALLA_SE_HAYA_PARTICIPIO\": \"se halla / se haya\",\r\n \"HAYA_HALLA\": \"haya/halla\",\r\n \"ONOMATOPEYAS\": \"onomatopeyas\",\r\n \"TV\": \"tv/TV\",\r\n \"TOMAS\": \"tomas/Tomás\",\r\n \"SINGLE_CHARACTER\": \"carácter único en minúscula\",\r\n \"USO_HUSO\": \"uso/huso horario\",\r\n \"A_PARTICIPIO\": \"a + participio\",\r\n \"AN_PARTICIPIO\": \"an + participio\",\r\n \"E_PARTICIPIO\": \"e/he + participio\",\r\n \"PRON_HABER_PARTICIPIO\": \"pronombre + haber + participio\",\r\n \"AH_INF\": \"ah + infinitivo (a)\",\r\n \"HAZ_HAS\": \"haz/has\",\r\n \"VOY_HA_INF\": \"ir ha + infinitivo (a)\",\r\n \"VOY_INF\": \"ir + infinitivo (a)\",\r\n \"ECHO_HECHO\": \"*echo/hecho\",\r\n \"HECHO_ECHO\": \"*hecho/echo\",\r\n \"DESHECHO_DESECHO\": \"*deshecho/desecho\",\r\n \"AY_HAY\": \"ay/hay\",\r\n \"HABER_AVER\": \"Uso incorrecto de «haber» por «a ver»\",\r\n \"ROMAN_NUMERALS_CHECK\": \"comprueba números romanos\",\r\n \"BASTANTES\": \"bastantes -> bastante\",\r\n \"CONCORDANCIA_GRAN\": \"concordancia gran + nombre/adjetivo\",\r\n \"CONCORDANCIA_BUEN\": \"concordancia buen + nombre/adjetivo\",\r\n \"CONCORDANCIA_PRONOMBRE\": \"concordancia pronombres\",\r\n \"PERMITIR_QUE_A\": \"permitir que/a\",\r\n \"VERBO_MODAL_INFINITIVO\": \"verbo modal + infinitivo\",\r\n \"DOS_VERBOS_MODALES\": \"dos verbos modales seguidos\",\r\n \"TE_HAY\": \"*te hay\",\r\n \"MUY_MUCHO\": \"mucho/muy (adverbio)\",\r\n \"MUY_GRAVISIMO\": \"*muy gravísimo\",\r\n \"LEISMO\": \"leísmo\",\r\n \"LOISMO_LAISMO\": \"loísmo, laísmo\",\r\n \"PARA_QUE_IND\": \"para que/qué + v. ind.\",\r\n \"Y_E_O_U\": \"e Italia; u Honduras\",\r\n \"PORQUE\": \"porque/por que/porqué\",\r\n \"PREP_VERB\": \"Combinación imposible: preposición + verbo conjugado\",\r\n \"SURGIR_EFECTO\": \"*surgir/surtir efecto\",\r\n \"EN_BASE_A\": \"en base a\",\r\n \"EN_BASE_AL\": \"en base al\",\r\n \"DE_GRATIS\": \"«de gratis» (gratis)\",\r\n \"QUEISMO\": \"queísmo\",\r\n \"DEQUEISMO\": \"dequeísmo\",\r\n \"DADO_A_QUE\": \"*dado a que/dado que\",\r\n \"DETRAS_PX\": \"Adverbio de posición + posesivo\",\r\n \"NO_IMPERATIVO\": \"no + imperativo\",\r\n \"ID_HUBO_HUBIERON\": \"Uso incorrecto del plural del verbo haber\",\r\n \"HAN_HABIDO\": \"Uso incorrecto del plural del verbo haber\",\r\n \"PODER_HABER\": \"poder haber (concordancia)\",\r\n \"PARTICIPIO_MS\": \"haber + participio masc. sing\",\r\n \"HABER_GERUNDIO\": \"han *realizando/realizado\",\r\n \"PP_SE\": \"te se, me se\",\r\n \"MAS_BUENA\": \"más + bueno/malo (mejor/peor)\",\r\n \"MAS_MALA\": \"más + bueno/malo (mejor/peor)\",\r\n \"GROSSO_MODO\": \"a grosso modo ? grosso modo\",\r\n \"SIN_ENCAMBIO\": \"sin en cambio ? sin embargo, en cambio\",\r\n \"SI_QUIERA\": \"si quiera ? siquiera\",\r\n \"SINO_SI_NO\": \"sino -> si no\",\r\n \"MALO_AMIGO_MAL_AMIGO\": \"«malo» y «bueno» se apocopan delante de sustantivos masculinos en singular\",\r\n \"CONCORDANCIA_ADJECTIVOS_NEUTROS\": \"concordancias con adjetivos neutros\",\r\n \"UNO_DE_LAS\": \"Concordancias de «*uno de las»\",\r\n \"AGREEMENT_NUMERAL_PLURAL\": \"concordancia número + nombre/adjetivo plural\",\r\n \"AGRREMENT_NUMBER\": \"concordancia del número\",\r\n \"AGREEMENT_NUMERAL_GENDER\": \"concordancia de género en numerales\",\r\n \"NOUN_PLURAL\": \"nombre en plural\",\r\n \"NOUN_PLURAL2\": \"nombre en plural\",\r\n \"NOUN_SINGULAR\": \"nombre en singular\",\r\n \"NUMERO_DE_SG_PL\": \"número de + singular/plural\",\r\n \"AGREEMENT_ORDINALS\": \"concordancias ordinales: vigésima segunda / vigesimosegunda\",\r\n \"AGREEMENT_DET_DET\": \"concordancias det. + det.\",\r\n \"AGREEMENT_DET_ABREV\": \"concordancia determinante y abreviatura\",\r\n \"LOS_MAPUCHE\": \"los mapuche/mapuches\",\r\n \"AGREEMENT_DET_NOUN_EXCEPTIONS\": \"Concordancias determinante y sustantivo (excepciones)\",\r\n \"AGREEMENT_DET_NOUN\": \"Concordancias determinante y sustantivo\",\r\n \"LO_LOS\": \"confusión lo/los\",\r\n \"UNO_UNOS\": \"confusión uno/unos, alguno/algunos\",\r\n \"LO_LA\": \"confusión lo/la\",\r\n \"AGREEMENT_DET_ADJ\": \"Concordancias determinante y adjetivo\",\r\n \"MUCHO_MAS_EDAD\": \"*mucho/mucha más edad\",\r\n \"DET_FEM_NOM_FEM\": \"la agua>el agua\",\r\n \"AGREEMENT_DET_GN\": \"concordancia det. + grupo nominal\",\r\n \"TODO_EL\": \"concordancia: todo el\",\r\n \"TODO_LO\": \"concordancia: todo lo\",\r\n \"TODA_EL_AGUA\": \"toda el agua\",\r\n \"TODO_MODO\": \"concordancias: todo + sustantivo\",\r\n \"LAS_NUMBER_MALE\": \"'las tres preceptos' etcétera\",\r\n \"LOS_NUMBER_FEMALE\": \"'los tres preguntas' etcétera\",\r\n \"EL_AGRAVANTE\": \"El agravante y el atenuante\",\r\n \"DAR_POR_HECHO_EL\": \"concordancia: dar por hecha la\",\r\n \"TENER_PREVISTO_EL\": \"concordancia: tener/estar previsto + det.\",\r\n \"AGREEMENT_QUEDAR_VP\": \"concordancia: quedar + participio + el\",\r\n \"BUENAS_TARDES\": \"concordancia: buenas tardes\",\r\n \"AGREEMENT_POSTPONED_ADJ\": \"concordancia de adjetivo pospuesto a sustantivos\",\r\n \"POSTPONED_ADJ_PARTICULAR\": \"casos particulares de adjetivo pospuesto\",\r\n \"AGREEMENT_ADJ_NOUN_AREA\": \"*el mismo área\",\r\n \"AGREEMENT_ADJ_NOUN\": \"Concordancias adjetivo y nombre\",\r\n \"AGREEMENT_PARTICIPLE_NOUN\": \"concordancias participio y nombre\",\r\n \"AGREEMENT_SER_ADJ_SG\": \"concordancia: soy consciente\",\r\n \"AGREEMENT_VERB_PARTICIPLE\": \"*están hecho/hechos\",\r\n \"AGREEMENT_PRONOUNSUBJECT_VERB\": \"Concordancias: pronombre personal (sujeto) y verbo\",\r\n \"AGREEMENT_SUBJECT_VERB_SG_PL\": \"concordancia sujeto-verbo (ser, estar, tener...)\",\r\n \"AGREEMENT_SUBJECT_VERB_PL_SG\": \"concordancia sujeto-verbo (ser, estar, tener...)\",\r\n \"AGREEMENT_GUSTAR\": \"concordancia: gustar\",\r\n \"MAMA\": \"mama/mamá\",\r\n \"PAPA\": \"papa/papá\",\r\n \"PER_CAPITA\": \"per cápita\",\r\n \"COMPLEJIZAR\": \"complejizar/complicar\",\r\n \"MEXICO\": \"México/Méjico\",\r\n \"ASI\": \"así/asín/asina\",\r\n \"PA_PARA\": \"pa -> para\",\r\n \"NADIE\": \"nadie/naide\",\r\n \"ENMEDIO\": \"enmedio\",\r\n \"ABREVIATURA_NUMERO\": \"abreviatura de número\",\r\n \"ABREVIATURA_PAGINA\": \"abreviatura de página\",\r\n \"ABREVIATURA_TELEFONO\": \"abreviatura de teléfono\",\r\n \"A_NIVEL_DE\": \"a nivel de\",\r\n \"LOOR\": \"Loor de multitudes\",\r\n \"EN_RELACION_A\": \"en relación a -> en relación con\",\r\n \"EN_RELACION_AL\": \"en relación al\",\r\n \"RELACIONADO_A\": \"relacionado a/con\",\r\n \"CONTRACORRIENTE\": \" *contracorriente, *a contra corriente\",\r\n \"ET_ALII\": \"et alii\",\r\n \"MONOSILABOS\": \"los monosílabos no llevan tilde\",\r\n \"SOLO\": \"sólo/solo\",\r\n \"O_NO_TILDE\": \"ó/o\",\r\n \"ESTE_ESE_AQUEL_ADJETIVO\": \"éste, ése, aquél -> este, ese aquel\",\r\n \"ESTE_ESE_AQUEL_NOTILDE\": \"éste, ése, aquél -> este, ese aquel\",\r\n \"LA_ESTA\": \"combinación imposible: la esta\",\r\n \"EL_MENOS\": \"el menos/al menos\",\r\n \"ES_SPLIT_WORDS_HYPHEN\": \"palabras partidas con guión\",\r\n \"ARA\": \"ara/hora/para\",\r\n \"AUNQUE\": \"aun que/aunque\",\r\n \"PLURALS\": \"establecimiento s -> establecimientos\",\r\n \"LA_A\": \"la a -> la\",\r\n \"CENYO\": \"seño/ceño\",\r\n \"CAYO\": \"cayo/cayó\",\r\n \"MASTATE\": \"mastate/mataste\",\r\n \"PERSONES\": \"persones/personas\",\r\n \"SE_LO_ENTREGADA\": \"se lo *entregada/entregara\",\r\n \"TAJO_TRAJO\": \"tajo/trajo\",\r\n \"DESDE_ERA\": \"desde (que) era\",\r\n \"LAS_MILES\": \"*las/los miles\",\r\n \"A_TRAVES\": \"través/a través\",\r\n \"APESAR\": \"a pesar\",\r\n \"GOOGLE_DOC\": \"Google Doc/Docs\",\r\n \"CUALQUIERA\": \"cual quiera ? cualquiera\",\r\n \"HAZMERREIR\": \"hazmerreír\",\r\n \"CUIDAD_CIUDAD\": \"*cuidad/ciudad\",\r\n \"TARTA_TRATA\": \"tarta/trata\",\r\n \"TE_NO\": \"te no/no te (orden incorrecto)\",\r\n \"ES_SPLIT_WORDS\": \"palabras mal partidas\",\r\n \"ORIGINAL_ORIGINAR\": \"original -> originar\",\r\n \"U_NO\": \"u no -> uno\",\r\n \"DESDE\": \"des de -> desde\",\r\n \"DESDE_EL\": \"des del -> desde el\",\r\n \"CASA_CADA\": \"casa -> cada\",\r\n \"DES_DE\": \"des -> de\",\r\n \"PAR_POR\": \"par -> por\",\r\n \"CON_O_SIN\": \"con *a sin -> con o sin\",\r\n \"DURANTE_A\": \"durante a > durante la\",\r\n \"DURANTE_AL\": \"durante al > durante la\",\r\n \"ADVERBIO_MENTE\": \"posterior mente -> posteriormente\",\r\n \"DEL_LA\": \"confusión: del la -> de la\",\r\n \"ESTABAMOS\": \"está vamos/estábamos\",\r\n \"POR_NO\": \"porno/por no\",\r\n \"A_FINES\": \"a fines\",\r\n \"ABAJO\": \"a bajo / abajo\",\r\n \"AVECES\": \"aveces/a veces\",\r\n \"PARA_MI_ERA\": \"para mi/mí era\",\r\n \"DEBIDO_AUN\": \"debido aun/a un\",\r\n \"HICO\": \"hico/hizo\",\r\n \"DENUDO\": \"denudo/desnudo\",\r\n \"BOCABAJO\": \"bocabajo/boca abajo\",\r\n \"LEE_LE\": \"confusión *lee/le\",\r\n \"SABER_SABES_\": \"confusión saber/sabes\",\r\n \"LARDO_LARGO\": \"lardo/largo\",\r\n \"JUNTO_A\": \"junto / junto a\",\r\n \"ALA_A_LA\": \"ala/a la\",\r\n \"DE_BASA\": \"*de/se basa\",\r\n \"IR_PARTICIPIO_GERUNDIO\": \"confusión participio/gerundio\",\r\n \"ESTAR_PARTICIPIO_GERUNDIO\": \"confusión participio/gerundio\",\r\n \"JOHNS_HOPKINS\": \"Johns Hopkins\",\r\n \"DEBIDO_QUE\": \"debido (a) que\",\r\n \"PODAR_PODER\": \"podar/poder\",\r\n \"ORA_HORA\": \"ora/hora\",\r\n \"VEN\": \"confusiones ven/ver/en\",\r\n \"SUBJUNTIVO_INFINITIVO\": \"*formalizase/formalizarse\",\r\n \"DE_LA\": \"del a/de la\",\r\n \"DE_LAS\": \"del as/de las\",\r\n \"JAMAS\": \"jamas/jamás\",\r\n \"AH_HA\": \"*ah/ha enviado\",\r\n \"TAL_TAN\": \"tal/tan\",\r\n \"TENER_QUE_INFINITIVO\": \"tener que + infinitivo\",\r\n \"HABER_DE_INFINITIVO\": \"haber de + infinitivo\",\r\n \"SIDO\": \"sido\",\r\n \"REBELAR_REVELAR\": \"rebelar/revelar\",\r\n \"VEMOS_HEMOS\": \"vemos/hemos\",\r\n \"LAQUE\": \"laque/la que\",\r\n \"OLA_HOLA\": \"ola/hola\",\r\n \"HOLA_OLA\": \"hola -> ola\",\r\n \"HA_A\": \"ha -> a\",\r\n \"AYA_HAYA\": \"*aya/haya\",\r\n \"VE_LE\": \"*ve/le/me\",\r\n \"A_VER_HABER\": \"a ver->haber\",\r\n \"HABER_A_VER\": \"haber->a ver\",\r\n \"PUDE_PUEDE\": \"pude/puede\",\r\n \"E_SINGLE_CHAR\": \"confusión e/el/en/de\",\r\n \"ESTO_ESTE\": \"esto/este\",\r\n \"ESO_ESE\": \"eso/ese\",\r\n \"ESO_ESOS\": \"confusión eso/esos\",\r\n \"WRONG_IMPERATIVE\": \"imperativo incorrecto\",\r\n \"PRONOMBRE_ENCLITICO_SEPARADO\": \"pronombre enclítico separado\",\r\n \"PRONOMBRE_SIN_VERBO\": \"pronombre sin verbo\",\r\n \"MANTELO\": \"mantelo/mantenlo\",\r\n \"OJALA\": \"ojala/ojalá\",\r\n \"A_FINALES\": \"*al/a finales\",\r\n \"ENSERIO\": \"enserio / en serio\",\r\n \"SON_CON\": \"confusión son/con\",\r\n \"ANO\": \"ano/año\",\r\n \"SIN_EMBRAGO\": \"sin *embrago/embargo\",\r\n \"PRESA_PRENSA\": \"*presa/prensa\",\r\n \"VES_VEZ\": \"ves/vez\",\r\n \"IR_GERUNDIO\": \"confusión: ir + *participio/gerundio\",\r\n \"CONFUSION_AL_LA\": \"confusión al/la\",\r\n \"MANA_MAMA\": \"cáncer de *mana/mama\",\r\n \"HE_HA\": \"*he ha\",\r\n \"ERAR\": \"erar/errar\",\r\n \"EL_LA_EN_LA\": \"*el/en la\",\r\n \"MORTANDAD\": \"mortandad/mortalidad\",\r\n \"REVERTIR_REVESTIR\": \"revertir/revestir\",\r\n \"MB\": \"Mb/MB\",\r\n \"ENSENAR\": \"ensenar/enseñar\",\r\n \"MONTANA\": \"montana/montaña\",\r\n \"MONTANERO\": \"montanero/montañero\",\r\n \"MONTANISMO\": \"montanismo/montañismo\",\r\n \"MONTANISTA\": \"montanista/montañista\",\r\n \"PANO\": \"pano/paño\",\r\n \"ARANA\": \"arana/araña\",\r\n \"PINA\": \"pina/piña\",\r\n \"PESTANA\": \"pestana/pestaña\",\r\n \"COMPRAR_GASTAR\": \"*comprar/gastar en\",\r\n \"ADOLECER_CARECER\": \"*adolecer/carecer\",\r\n \"EN_TANTO\": \"en tanto / en cuanto\",\r\n \"AFORO\": \"aforo/afluencia\",\r\n \"EQUIVALENTE_A\": \"equivalente a\",\r\n \"DEPENDER_DE\": \"depender *en/de\",\r\n \"DESCONFIAR_DE\": \"desconfiar *en/de\",\r\n \"INSISTIR_DE\": \"insistir *de/en\",\r\n \"ENFRENTARSE_ANTE\": \"enfrentarse *ante/con\",\r\n \"ETCETERA\": \"etc...\",\r\n \"OROGRAFIA_DEL_TERRENO\": \"redundancia: orografía del terreno\",\r\n \"ANOS_SIN_PUNTO\": \"años y números de página sin punto: *1.950\",\r\n \"MISSING_POINT\": \"falta de punto\",\r\n \"MISSING_COMMA\": \"falta de coma\",\r\n \"MUCHO_NF\": \"mucho + nombre femenino\",\r\n \"POR_CIERTO\": \"por cierto(,)\",\r\n \"COMA_SUJETO_PREDICADO\": \"coma incorrecta entre sujeto y predicado\",\r\n \"YA_QUE\": \"ya que (con coma previa)\",\r\n \"PUES_COMAS\": \"pues (comas)\",\r\n \"PUESTO_QUE\": \"puesto que (con coma)\",\r\n \"COMMA_SINO\": \"coma antes de 'sino'\",\r\n \"COMMA_SINO2\": \"coma antes de 'sino'\",\r\n \"COMMA_PERO\": \"coma antes de 'pero'\",\r\n \"COMMA_ADVERB\": \"coma en adverbio al principio de frase\",\r\n \"COMMA_MARCADOR_DISCURSIVO\": \"coma después de marcador discursivo\",\r\n \"COMMA_REPETITION\": \"coma en repeticiones\",\r\n \"CUATRO_PUNTOS\": \"más de tres puntos suspensivos\",\r\n \"ESPACIO_DESPUES_DE_PUNTO\": \"comprueba que hay espacio después de punto\",\r\n \"CAPITALIZATION_AFTER_QUESTION_MARK\": \"Mayúscula después de interrogante\",\r\n \"ES_INITIAL_QUESTION_MARK\": \"Signos de exclamación/interrogación desparejados\",\r\n \"INCORRECT_SPACES\": \"espacios sobrantes\",\r\n \"ORDINAL_CHAR\": \"carácter equivocado en ordinales\",\r\n \"DEGREE_CHAR\": \"carácter equivocado de grados\",\r\n \"SUPERINDEX\": \"superíndices en unidades: m2/m²\",\r\n \"PUNTO_EN_ABREVIATURAS\": \"Punto en abreviaturas: pág., núm., etc.\",\r\n \"ABREVIATURA_SIGLO\": \"punto en abreviatura de siglo (s.)\",\r\n \"WRONG_DASH\": \"Carácter de guion incorrecto (u+2500...)\",\r\n \"ABREV_HORA\": \"abreviatura de horas, gramos\",\r\n \"ABREV_ORDINALES\": \"abreviatura de ordinales\",\r\n \"P_EJ\": \"Puntuación en: p. ej.\",\r\n \"SPACE_UNITIES\": \"espacio en unidades\",\r\n \"DECADAS_1920\": \"años *20's/*20s/20\",\r\n \"ARROWS\": \"Flechas: ?\",\r\n \"PUNTOS_SUSPENSIVOS\": \"Carácter de puntos suspensivos\",\r\n \"GUION_LARGO\": \"Guion largo\",\r\n \"COMILLAS_TIPOGRAFICAS\": \"Comillas tipográficas\",\r\n \"VOSEO\": \"Evitar formas de voseo\",\r\n \"ES_NO_ES\": \"*es no es\",\r\n \"QUE_QUE\": \"que y que\",\r\n \"REPETEAD_ELEMENTS\": \"elementos repetidos incorrectamente\",\r\n \"PHRASE_REPETITION\": \"Repetición de dos palabras ('en casa en casa')\",\r\n \"ANY20011_2011\": \"*20011/2011\",\r\n \"INVIERNO_DDDDD\": \"invierno 20211 (2021)\",\r\n \"DATE_NEW_YEAR\": \"Año nuevo\",\r\n \"DATE_WEEKDAY\": \"Fecha incorrecta\",\r\n \"NUMBER_DAYS_MONTH\": \"día máximo del mes (28, 29, 30, 31)\",\r\n \"PERSONAJES_FAMOSOS\": \"nombres de personajes famosos\"\r\n}","// Handles de-DE, de-AT & de-CH\r\nexport default {\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"Leerzeichen vor/hinter Kommas und Klammern\",\r\n \"UNPAIRED_BRACKETS\": \"Unpaarige Anführungszeichen und Klammern\",\r\n \"UPPERCASE_SENTENCE_START\": \"Großschreibung am Satzanfang\",\r\n \"WHITESPACE_RULE\": \"Wiederholung von Leerzeichen\",\r\n \"PUNCTUATION_PARAGRAPH_END\": \"Kein Satzzeichen am Ende des Absatzes\",\r\n \"DE_SIMPLE_REPLACE\": \"Prüft auf bestimmte falsche Wörter/Phrasen\",\r\n \"OLD_SPELLING\": \"Findet Schreibweisen, die nur in der alten Rechtschreibung gültig waren\",\r\n \"DE_SENTENCE_WHITESPACE\": \"Fehlendes Leerzeichen zwischen Sätzen oder nach Ordnungszahlen\",\r\n \"DE_DOUBLE_PUNCTUATION\": \"Zwei aufeinanderfolgende Kommas oder Punkte\",\r\n \"GERMAN_WORD_REPEAT_RULE\": \"Wortwiederholung (z. B. 'als als')\",\r\n \"GERMAN_WORD_REPEAT_BEGINNING_RULE\": \"Aufeinanderfolgende Sätze beginnen mit dem gleichen Wort\",\r\n \"GERMAN_WRONG_WORD_IN_CONTEXT\": \"Wortverwechslungen (Mine/Miene, Saite/Seite etc.)\",\r\n \"DE_AGREEMENT\": \"Kongruenz von Nominalphrasen (unvollständig!), z.B. 'mein kleiner (kleines) Haus'\",\r\n \"DE_AGREEMENT2\": \"Kongruenz von Adjektiv und Nomen (unvollständig!), z.B. 'kleiner (kleines) Haus'\",\r\n \"DE_CASE\": \"Großschreibung von Nomen und substantivierten Verben\",\r\n \"DE_DASH\": \"Keine Leerzeichen in Bindestrich-Komposita (wie z.B. in 'Diäten- Erhöhung')\",\r\n \"DE_VERBAGREEMENT\": \"Kongruenz von Subjekt und Prädikat (nur 1. u. 2. Person oder m. Personalpronomen), z.B. 'Er bist (ist)'\",\r\n \"DE_SUBJECT_VERB_AGREEMENT\": \"Kongruenz von Subjekt und Prädikat (unvollständig)\",\r\n \"DE_WORD_COHERENCY\": \"Einheitliche Schreibweise für Wörter mit mehr als einer korrekten Schreibweise\",\r\n \"DE_WIEDER_VS_WIDER\": \"Möglicher Tippfehler 'spiegeln ... wieder (wider)'\",\r\n \"DE_COMPOUND_COHERENCY\": \"Einheitliche Schreibung bei Komposita (mit oder ohne Bindestrich)\",\r\n \"TOO_LONG_SENTENCE_DE\": \"Findet lange Sätze\",\r\n \"DE_DU_UPPER_LOWER\": \"Einheitliche Verwendung von Du/du, Dir/dir etc.\",\r\n \"EINHEITEN_METRISCH\": \"Schlägt vor oder überprüft Angaben des metrischen Äquivalentes bei bestimmten Maßeinheiten.\",\r\n \"COMMA_IN_FRONT_RELATIVE_CLAUSE\": \"Fehlendes Komma vor Relativsatz\",\r\n \"COMMA_BEHIND_RELATIVE_CLAUSE\": \"Fehlendes Komma nach Relativsatz\",\r\n \"COMPOUND_INFINITIV_RULE\": \"Erweiterter Infinitiv mit zu (Zusammenschreibung)\",\r\n \"DE_REPEATEDWORDS\": \"Synonyme für wiederholte Wörter.\",\r\n \"TYPO_KAMM_KANN\": \"Typo kamm (kann/kam)\",\r\n \"FISCHEN_FRISCHEN\": \"fischen (frischen)\",\r\n \"WICHE_WOCHE\": \"Wiche (Woche)\",\r\n \"SCHLAF_INS_GESICHT\": \"ein Schlaf (Schlag) ins Gesicht\",\r\n \"GEHT_RAUTE_S\": \"geht#s (geht's)\",\r\n \"SEP\": \"Sep. ? Sept.\",\r\n \"VERTRAGENDE\": \"Vertragende (Vertragsende)\",\r\n \"NICHT_ER_SUB\": \"nicht er (der) Punkt\",\r\n \"VIELE_ERFOLG\": \"Viele (Viel) Erfolg\",\r\n \"PLUS_BER\": \"+ber (über)\",\r\n \"MIT_ENSETZTEN\": \"mit Entsetzten (Entsetzen)\",\r\n \"WAR_FUER\": \"War (was) für ein…\",\r\n \"IM_ENDDEFEKT\": \"im Enddefekt (Endeffekt)\",\r\n \"AUF_JEDEN_FALLS\": \"auf jeden Falls (Fall)\",\r\n \"LETZTES_ENDES\": \"letztes (letzten) Endes\",\r\n \"MOMENTANE\": \"momentane (momentan)\",\r\n \"TEL\": \"tel (Tel.)\",\r\n \"WIR_HABE\": \"wir habe (haben)\",\r\n \"DOLLER_DOLLAR\": \"Doller (Dollar)\",\r\n \"ZAHL_IM_WORT\": \"Zahl im Wort\",\r\n \"KOMPOSITA_BIVALENTE_VERBEN\": \"Ich kenne mehrere Blumen Läden (Blumenläden)\",\r\n \"ZUVIEL\": \"zuviel (zu viel)\",\r\n \"UNTERSCHIED_ZWISCHEN\": \"der Unterschied (zwischen) A und B\",\r\n \"ALARM_AUSLOSEN\": \"Alarm auslosen (auslösen)\",\r\n \"VERTREIB_VERTRIEB\": \"der Vertreib (Vertrieb)\",\r\n \"HEER_HERR\": \"Heer (Herr) Müller\",\r\n \"GESETZT_GESETZ\": \"Gesetzt (Gesetz)\",\r\n \"ENTSCHEIDEN_ENTSCHEIDEND\": \"entscheiden(d)\",\r\n \"VERSANDEN_VERSTANDEN\": \"vers(t)anden\",\r\n \"SCHEINT_SCHIENT\": \"schient (scheint)\",\r\n \"TASCHE_ASCHE\": \"Tasche vs. Asche\",\r\n \"STUBE_TUBE\": \"Stube vs. Tube\",\r\n \"REGIEREN_REAGIEREN\": \"regieren vs. reagieren\",\r\n \"SPINNE_SINNE\": \"Spinne vs. Sinne\",\r\n \"HIMMEL_HUMMEL\": \"Himmel vs. Hummel\",\r\n \"ZUM_ANBEISSEN\": \"zum Anbeißen vs. zum Abbeißen\",\r\n \"SCHALTEN_UND_WALTEN\": \"schalten und walten\",\r\n \"BELEIBT_BELIEBT\": \"beliebt (beleibt)\",\r\n \"BEWENDEN_BEENDEN\": \"beenden (bewenden) lassen\",\r\n \"VERENDEN_VERSENDEN\": \"verenden (versenden/verwenden)\",\r\n \"SCHALL_UND_RAUCH\": \"Schal\",\r\n \"WIEN_WEIN\": \"Wien (Wein)\",\r\n \"ZEIL\": \"Möglicher Tippfehler 'Zeil'\",\r\n \"VIELE_DANK\": \"viele (vielen) Dank\",\r\n \"GILBT\": \"gilbt (gilt/gibt)\",\r\n \"PRP_DM\": \"über/mit dm (dem)\",\r\n \"STILLE_SUBST_TYPO\": \"'in aller stille (Stille) beigesetzt' etc.\",\r\n \"HAT_HAST\": \"hat (hast)\",\r\n \"FEIEN\": \"'im Feien (Freien)'\",\r\n \"ALTERNATIVE\": \"alternative (Alternative) zu\",\r\n \"ROBBE_ROBE\": \"Robbe (Robe)\",\r\n \"ROBE_PROBE\": \"Robe (Probe)\",\r\n \"GAS_GLAS\": \"Gas (Glas)\",\r\n \"STATT\": \"an ... Statt (statt)\",\r\n \"WURST_SEIN\": \"Wurst (wurst) sein\",\r\n \"AUS_DEM_EFFEFF\": \"Redewendung: aus dem Effeff\",\r\n \"ENTGEHEN_LASSEN\": \"entgegen (entgehen) lassen\",\r\n \"BEAMTER\": \"der Beamte(r)\",\r\n \"ZU_SCHRIEBEN_ETC\": \"zu schrieben (schreiben) etc.\",\r\n \"SAGT_UND_BESCHEID\": \"sagt und (uns) Bescheid\",\r\n \"DE_KOMMA\": \"de, (dem)\",\r\n \"EUCH_ALL\": \"euch all (alle)\",\r\n \"INF_VER_MOD\": \"Fehlender Infinitiv vor modalem Hilfsverb (sage[n] durfte)\",\r\n \"NIEMANDEN\": \"niemanden (niemandem)\",\r\n \"IM_UM\": \"im (um)\",\r\n \"DES_ES\": \"des (es)\",\r\n \"VEREINBAREN\": \"zu Vereinbaren (vereinbaren)\",\r\n \"ALLER_X_MONATE\": \"aller (alle) x Monate\",\r\n \"ETWAS_DASS\": \"', etwas dass (, etwa dass)'\",\r\n \"EIN_ODER_MEHRMALS\": \"ein- oder mehrmals (ein oder mehrmals)\",\r\n \"SCHNELLE_RUND\": \"'schnelle rund (schneller und)' etc.\",\r\n \"NACHEILEN\": \"Nacheile (Nachteile)\",\r\n \"BEIDEN\": \"die beide (beiden)\",\r\n \"BEI_VERB\": \"bei + Verb\",\r\n \"WO_BIS\": \"Wo bis (bist) du?\",\r\n \"ET\": \"et (er)\",\r\n \"KEINE_KLEINE\": \"ein paar keine (kleine)\",\r\n \"MIR_DIR\": \"Wiederholung Dativ: mir dir/uns\",\r\n \"MIR_MIR\": \"Wiederholung Dativ: mir mir\",\r\n \"FINDER_GEWICKELT\": \"um den Finder (Finger) gewickelt\",\r\n \"DAS_BEST\": \"das Best (Beste)\",\r\n \"SEIHE_UNTEN\": \"seihe (siehe) unten\",\r\n \"ANS_HERZ_GEWASCHEN\": \"ans Herz gewaschen (gewachsen)\",\r\n \"GENANT\": \"genant (genannt)\",\r\n \"CHRISTI_HIMMELPFAD\": \"Christi Himmelpfad (Himmelfahrt)\",\r\n \"RAUSCH_AUSSCHLAGEN\": \"Rausch ausschlagen (ausschlafen)\",\r\n \"VERSCHIEBEN_VERSCHRIEBEN\": \"verschieben (verschrieben)\",\r\n \"GEBRAUCHTSPUREN\": \"Gebrauchtspuren (Gebrauchsspuren)\",\r\n \"IM_IHM\": \"'im (ihm)'\",\r\n \"SEIN_MONATEN\": \"sein (seit) Jahren etc.\",\r\n \"ZUR_STANDE\": \"zur Stande (zustande, zu Stande)\",\r\n \"BIT_62\": \"62-Bit (64-Bit) etc.\",\r\n \"SUCH_SICH\": \"lasst/lässt such (sich)\",\r\n \"DAR_DER\": \"'dar (der)'\",\r\n \"SIEHE_SEHE\": \"siehe/sehe\",\r\n \"BERUHEN_BERUFEN\": \"beruhen/berufen\",\r\n \"LIEGEN_LEGEN\": \"liegen (legen)\",\r\n \"SITZEN_SETZEN\": \"sitzen (setzen)\",\r\n \"UEBERLASEN_UEBERLASSEN\": \"'sich selbst überlasen (überlassen)' u.ä.\",\r\n \"DA_DAS\": \"'da (das)'\",\r\n \"KLEINSCHREIBEN_UNG\": \"'unter Beachtung von Kleinschreiben (Kleinschreibung)' etc.\",\r\n \"ZUWEISEN_UNG\": \"'zuweisen (Zuweisung)'\",\r\n \"SCHREIBEN_SCHRIEBEN\": \"'im Schrieben (Schreiben)'\",\r\n \"REIZ_MICH\": \"'es reiz (reizt) mich'\",\r\n \"ZUR_KENNTNIS\": \"zu (zur) Kenntnis\",\r\n \"ZUR_DER\": \"'zur (zu) der Veranstaltung'\",\r\n \"UM_UM\": \"'um gestern um 12 Uhr'\",\r\n \"SONDERN_KEIN_NICHT\": \"fehlende Verneinung bei sondern-Konstruktion\",\r\n \"AUF_AUS\": \"'auf (aus) einer Liste entfernen'\",\r\n \"AU_AUS\": \"au (aus)\",\r\n \"WAS_WAR\": \"'ich was (war) ein' etc.\",\r\n \"ETWAS_ZAHL\": \"'etwas (etwa) [Zahl]'\",\r\n \"AUFFUEHREN_AUSFUEHREN\": \"'aufführen (ausführen)' etc.\",\r\n \"BEIM_BEI\": \"'bei beim' etc.\",\r\n \"DIREKTER_DIREKTOR\": \"'der Direkter (Direktor) des Instituts'\",\r\n \"WALTER_WALZER\": \"'Walter (Walzer)'\",\r\n \"EN_OHNE_PASSANT\": \"'en (den, eng, in, ...)'\",\r\n \"KOMMA_TLD\": \"'example,com (example.com)'\",\r\n \"GESETZ_DEN_FALL\": \"'Gesetz (Gesetzt) den Fall'\",\r\n \"VON_GANZEN_GANZEM_HERZEN\": \"Von ganzen (ganzem) Herzen\",\r\n \"ABREITEN_VS_ARBEITEN\": \"'abreitet (arbeitet) daran' etc.\",\r\n \"HAARE_VS_HARRE\": \"'Harre (Haare) schneiden'\",\r\n \"ETWAS_ETWA\": \"'vor etwas (etwa) einem Jahr' etc.\",\r\n \"EINFACHERER_EINFACHER\": \"'einfacherer (einfacher) zu machen' etc.\",\r\n \"SEHER_GEEHRTE\": \"'Seher (Sehr) geehrte' etc.\",\r\n \"WIR_WIE\": \"'im selben Stall wir (wie)' etc.\",\r\n \"DU_DIE\": \"'du (die)'\",\r\n \"KEIN_KANN\": \"'das kein (kann) nicht sein'\",\r\n \"ACHTZIGIGSTEN\": \"'80igsten (80sten)' etc.\",\r\n \"JA_MEHR\": \"'ja (je) mehr'\",\r\n \"ZU_KOENNE\": \"'um das zu könne (können)'\",\r\n \"VERMEIDEN_VERMIEDEN\": \"'vermeiden (vermieden)'\",\r\n \"STARTE_STARRTE\": \"'er starte (starrte) mich an' u.ä.\",\r\n \"VIEL_SPASSE\": \"'viel Spaße (Spaß)'\",\r\n \"LIEBE_GRUSS\": \"Liebe Gruß (Grüße)\",\r\n \"GEGEN_GEGEBEN\": \"'gegen (gegeben)'\",\r\n \"SAGT_SAGT\": \"Zwei gleiche aufeinanderfolgende Verben\",\r\n \"SAGT_RUFT\": \"Zwei aufeinanderfolgende Verben\",\r\n \"FLEKTIERTES_ADJEKTIV_AM_SATZENDE\": \"'Er ist schnelle (schnell).' etc.\",\r\n \"SO_SCHNELLE_WIE\": \"'so schnelle (schnell) wie' etc.\",\r\n \"JE_SCHNELL_DESTO\": \"'je schnell (schneller), desto besser'\",\r\n \"DANK_DANKE\": \"'Ich dank (danke) schön'\",\r\n \"DANK_DAN\": \"Dank/Dan\",\r\n \"ZIEGEN_ZEIGEN\": \"Ziegen/Zeigen\",\r\n \"ALS_OHNE_KOMPARATIV\": \"'schnelle (schneller) als' etc.\",\r\n \"NAEHREN_VS_NAEHEREN\": \"'nähre (nähere) Hinweise' etc.\",\r\n \"NAEHREN_VS_NAEHERN\": \"'sich nähren (nähern)' etc.\",\r\n \"BESSERN_VS_BESSEREN\": \"'den bessern (besseren) Computer' etc.\",\r\n \"AEUSSERN_VS_AUSSEREN\": \"'die äußern (äußeren) Umstände' etc.\",\r\n \"GEKOMMEN_KONNTE\": \"'gekommen (kommen) konnte' etc.\",\r\n \"EIGNE_VS_EIGENE\": \"'eigne (eigene)' etc.\",\r\n \"EIN_EINE\": \"'ein (in) eine' etc.\",\r\n \"SICH_BEWEHREN\": \"'sich bewehren (bewähren)'\",\r\n \"SICH_WAEHREN\": \"'sich währen (wehren)'\",\r\n \"WAS_LANGE_WEHRT\": \"'was lange wehrt (währt)'\",\r\n \"WAEHREN_DER\": \"'währen (während) der/des' etc.\",\r\n \"WAEHRENDEN_WAEHREND\": \"'währenden (während) der/des' etc.\",\r\n \"HERZ_HERTZ\": \"'50 Herz (Hertz)'\",\r\n \"INS_UNS\": \"'ins (in) uns'\",\r\n \"ES_WIR\": \"'es wir (wird)'\",\r\n \"ZU_SEIEN\": \"'zu seien (sein/seinen)'\",\r\n \"ES_KANN_NICHT_SEIEN\": \"'es kann nicht seien (sein)'\",\r\n \"ZUR_RUHE_GEBETET\": \"'zur Ruhe gebetet (gebettet)'\",\r\n \"AUF_ROSEN_GEBETET\": \"'auf Rosen gebetet (gebettet)'\",\r\n \"FUER_IHN_GEBETTET\": \"'für jemanden betten (beten)'\",\r\n \"MIT_MIR\": \"'mit (mir)'\",\r\n \"ER_EINZIGE\": \"'er (der) einzige'\",\r\n \"VERZEIHT_VERZIEHT\": \"'verzeiht (verzieht)'\",\r\n \"EMAIL\": \"'Email (E-Mail)'\",\r\n \"ZWEIT\": \"'zweit (zweite)' etc.\",\r\n \"ZWEITER\": \"'zweiter (zweier)'\",\r\n \"WENIGSTEN_VS_WENIGSTENS\": \"'wenigsten (wenigstens)'\",\r\n \"CHAMPAGNE_VS_CHAMPAGNER\": \"'Champagne (Champagner)'\",\r\n \"STATT_VS_STAAT\": \"'Statt (Staat) Alabama' etc.\",\r\n \"INS_LEERE\": \"'ins Lehre (Leere)'\",\r\n \"GAEHNENDE_LEERE\": \"'gähnende Lehre (Leere)'\",\r\n \"PREIS-LEISTUNGS-VERHAELTNIS\": \"'Preis-/Leistungsverhältnis (Preis-Leistungs-Verhältnis)'\",\r\n \"BESCHRANKT_BESCHRAENKT\": \"'beschränkt (beschrankt)'\",\r\n \"LEERE_DROHUNG\": \"'lehre (leere) Drohungen' etc.\",\r\n \"KEINE_WAL\": \"'Wal (Wahl)'\",\r\n \"SPRACHE_VS_SPRACH\": \"'in deutscher Sprach (Sprache)'\",\r\n \"BEKANNT_ALT\": \"'bekannt alt (als)'\",\r\n \"NACH_NOCH\": \"'nach (noch)'\",\r\n \"SCHRIEBT\": \"'schriebt (schreibt)'\",\r\n \"GRUENE_VS_GRUENDE\": \"'aus guten Grünen (Gründen)'\",\r\n \"BEKANNTEST\": \"'bekanntest (bekannteste)'\",\r\n \"WOLLTE_GRAD\": \"'Grad (gerade)'\",\r\n \"ERSTEN_MAIN\": \"'1. Main (Mai)'\",\r\n \"ZU_SPAEHT\": \"'zu/erst/sehr späht (spät)'\",\r\n \"AUF_DER_JAGT\": \"'auf der Jagt (Jagd)'\",\r\n \"IN_DER_REGELN\": \"'in der Regeln (Regel)'\",\r\n \"FLAME_VS_FLAMME\": \"'Flame (Flamme)'\",\r\n \"BEREIST_BEREITS\": \"'bereist (bereits) etwas vor'\",\r\n \"BAFF_ERSTAUNT\": \"'baff (bass) erstaunt'\",\r\n \"KLINGENDE_KASSEN\": \"'klingende (klingelnde) Kassen'\",\r\n \"DIE_DE\": \"'de (die)'\",\r\n \"BIS_BISS\": \"'biss (bis)'\",\r\n \"BEREIT_BEFREIT\": \"'bereit (befreit)'\",\r\n \"VON_HAND\": \"'van (von) Hand'\",\r\n \"WAHR_NEHMEN\": \"'nehme ... war (wahr)'\",\r\n \"DAS_AMEN\": \"'das Armen (Amen)'\",\r\n \"LIEDER_LEIDER\": \"'Lieder (Leider) ...'\",\r\n \"FIELE_UND_VIELE\": \"'fiele (viele) Grüße'\",\r\n \"FIEL_UND_VIEL\": \"'nehmen/geben fiel (viel)'\",\r\n \"FUER_UND_WIEDER\": \"'für und wieder (wider)'\",\r\n \"EINEM_LEIHEN\": \"'einem Leihen (Laien)'\",\r\n \"WIE_IST_DEN\": \"'wie ist den (denn)'\",\r\n \"INDER\": \"'Inder (In der)'\",\r\n \"GIBT_ES_GENUEGEN\": \"'gibt es genügen (genügend)'\",\r\n \"MIR_ZIEMLICH_SICH\": \"'mir ziemlich sich (sicher)'\",\r\n \"BEIN_NAECHSTEN\": \"'Bein (Beim) nächsten/...'\",\r\n \"ER_LIES\": \"'er lies (ließ)'\",\r\n \"LEERZEICHEN_UND\": \"vergessenes Leerzeichen nach Bindestrich\",\r\n \"SAG_SAH\": \"sag (sah)\",\r\n \"HAUTE_COUTURE\": \"'Haut (Haute) Couture'\",\r\n \"HAUTE_HEUTE\": \"'haute (heute)'\",\r\n \"WAR_WERDEN\": \"'war (wahr) werden'\",\r\n \"ER_WAHR\": \"'Er wahr (war)'\",\r\n \"DU_WUENSCHT\": \"'du wünscht (wünschst)'\",\r\n \"HIN_UNS_WIEDER\": \"'hin uns (und) wieder/her'\",\r\n \"HIN_UND_WIDER\": \"'hin und wider (wieder)'\",\r\n \"WIEDER_EINMAL\": \"'wider (wieder) einmal'\",\r\n \"SONDER\": \"'sonder (sondern)'\",\r\n \"WARD_VS_WART\": \"'ward (wart)'\",\r\n \"SEID_VS_SEIT\": \"'seit (seid)'\",\r\n \"SEIT_VS_SEID\": \"'seid (seit)'\",\r\n \"IN_DIE_ANALEN\": \"'in die Analen (Annalen)'\",\r\n \"ALLES_OLLES\": \"'alles/olles'\",\r\n \"WIE_WIR\": \"'wie/wir'\",\r\n \"OHNE_GEWEHR\": \"'ohne Gewehr (Gewähr)'\",\r\n \"SEHEN_STEHEN\": \"sehen/stehen\",\r\n \"VERENDEN_VERWENDEN\": \"verenden/verwenden\",\r\n \"VEREIST_VERREIST\": \"vereist/verreist\",\r\n \"LASEN_LASSEN\": \"lasen/lassen\",\r\n \"DENN_DEN\": \"'aber denn (dann)'\",\r\n \"AL_ALS\": \"al (als)\",\r\n \"BESCHEIDE_BESCHEID\": \"'Bescheide/Bescheid'\",\r\n \"WIEDER_WILLEN\": \"'wieder (wider) Willen/Erwarten'\",\r\n \"ICH_VERALTE\": \"'ich veralte (verwalte/verhalte)'\",\r\n \"VERALTEN_VERHALTEN\": \"das Veralten (Verhalten)\",\r\n \"MITTELOHRENZUENDUNG\": \"'Mittelohrenzündung (Mittelohrentzündung)'\",\r\n \"WALDNUSSÖL\": \"'Waldnussöl (Walnussöl)'\",\r\n \"VON_WIEDER_VON\": \"'von (schon) wieder von'\",\r\n \"BEREIT_BESTEHENDE\": \"'bereit (bereits) bestehende'\",\r\n \"INS_BEZUG\": \"'ins (in) Bezug'\",\r\n \"AUF_DEM_ERSTEN_BLICK\": \"'auf dem (den) ersten Blick'\",\r\n \"DIES_DIE\": \"'dies (die)'\",\r\n \"ZU_NEIGE\": \"zu Neige (zur Neige)\",\r\n \"PRIESE\": \"'Priese (Prise) Salz'\",\r\n \"PREISE\": \"'Priese (Preise)'\",\r\n \"OCR_ERROR\": \"'vor-Übergehend (vorübergehend)'\",\r\n \"ERDEN_WERDEN\": \"'erden (werden)'\",\r\n \"GEROCHEN_GEBROCHEN\": \"gerochen (gebrochen)\",\r\n \"VERIRRT_VERWIRRT\": \"verirrt (verwirrt)\",\r\n \"JOUR_FIXE\": \"Schreibweise 'Der Jour fixe'\",\r\n \"PLANT_PLANET\": \"Plant (Planet)\",\r\n \"METERN_METREN\": \"Metren vs. Metern\",\r\n \"HAKEN_HACKEN\": \"Hacken/Haken\",\r\n \"ZULIEBE_ZUR_LIEBE\": \"zur Liebe -> zuliebe\",\r\n \"WEISST_WEIST\": \"er weißt (weist) auf\",\r\n \"LAUT_LAUF\": \"laut vs. lauf\",\r\n \"MACH_NACH\": \"mach vs. nach\",\r\n \"BEST_BESTE\": \"Best(e)\",\r\n \"BRACHT_BRAUCHT\": \"bracht vs. braucht\",\r\n \"LIEBE_LIEBER\": \"lieber vs. liebe\",\r\n \"KUNDIGE\": \"kundige (kündige)\",\r\n \"GLUCK\": \"Gluck (Glück)\",\r\n \"HOHL_HOL\": \"hohl vs. hol\",\r\n \"HOHLE_HÖHLE\": \"Hohle vs. Höhle\",\r\n \"UND_UNS\": \"und (uns)\",\r\n \"ALL_ALLE\": \"all vs. alle\",\r\n \"WIRD_WIR\": \"Wird (Wir) sind\",\r\n \"ZUGEGEBENERWEISE\": \"zugegebenerweise ? zugegebenermaßen\",\r\n \"STRICK_DURCH_DIE_RECHNUNG\": \"Strick (Strich) durch die Rechnung\",\r\n \"NEUN_NEUEN\": \"neun vs. neuen\",\r\n \"BEDENKEN_BEDANKEN\": \"bedenken vs. bedanken\",\r\n \"LEIDE_LEIDER\": \"leide vs. leider\",\r\n \"BISS_BIS\": \"biss vs. bis\",\r\n \"BISSEN_BISSCHEN\": \"bissen vs. bisschen\",\r\n \"FASST_FAST\": \"fasst vs. fast\",\r\n \"KREUZ_UND_QUEER\": \"kreuz und queer (quer)\",\r\n \"SCHON_SCHÖN\": \"schonen vs. schönen\",\r\n \"GRUNDE\": \"Grunde vs. Gründe\",\r\n \"HARZ_HARTZ\": \"'Harz ? Hartz'\",\r\n \"WEITERS_WEITERES\": \"weiters vs. weiteres\",\r\n \"MAER_MAERZ\": \"Mär vs. März\",\r\n \"EINE_FREUNDE\": \"eine Freunde (Freude)\",\r\n \"DIE_UNTERSCHEIDE\": \"Unterscheide vs. Unterschiede\",\r\n \"UNSERE_BESCHAEFTIGEN\": \"Beschäftigen vs. Beschäftigten\",\r\n \"DIE_BEFRAGEN\": \"Befragen vs. Befragten\",\r\n \"LAUFT_LAEUFT\": \"lauft ? läuft\",\r\n \"STETS_STEHTS\": \"stets ? stehts\",\r\n \"SONNST_VERB\": \"sonnst (sonst)\",\r\n \"HABACHTSTELLUNG\": \"Halbachtststellung (Habachtstellung)\",\r\n \"DIENEN_DEINEN\": \"dienen vs. deinen\",\r\n \"RAMMSTEIN_RAMSTEIN\": \"Ramstein vs. Rammstein\",\r\n \"TRAB_TRAPP\": \"Trab vs. Trapp\",\r\n \"TAETIGE_TAEGIGE\": \"tägig vs. tätig\",\r\n \"STATISCHE_BUNDESAMT\": \"Statisches (Statistisches) Bundesamt\",\r\n \"GESCHAEFTIG_GESCHAEFTLICH\": \"geschäftig vs. geschäftlich\",\r\n \"DIFFUSER_DIFFUSOR\": \"Diffuser vs. Diffusor\",\r\n \"MITTELSTAENDIGES_UNTERNEHMEN\": \"mittelständig vs. mittelständisch\",\r\n \"FAIL_FEHL\": \"fail vs. fehl\",\r\n \"VERWANDET_VERWANDTE\": \"verwandet\",\r\n \"TOPP_TOP\": \"topp vs. top\",\r\n \"FREU_FRAU\": \"Freu vs. Frau\",\r\n \"IN_DER_NAHE\": \"in der Nahe (Nähe)\",\r\n \"IMPFLICHT\": \"Impflicht (Impfpflicht)\",\r\n \"ZU_SO\": \"zu (so) lange\",\r\n \"AM_EIGENEN_LAIB\": \"am eigenen Laib (Leib)\",\r\n \"LEIB_LIEB\": \"Leib vs. Lieb\",\r\n \"RATE_RATTE\": \"Rate vs. Ratte\",\r\n \"BLICK_BLOCK\": \"Blick vs. Block\",\r\n \"TRAGE_FRAGE\": \"Trage vs. Frage\",\r\n \"CAFE_KAFFEE\": \"Café vs. Kaffee\",\r\n \"SICH_SICHT\": \"aus Sich (Sicht)\",\r\n \"GUENTER_GUENTHER\": \"Günther vs. Günter\",\r\n \"SCHACH_SCHACHT\": \"In Schacht (Schach) halten\",\r\n \"KOPF_KNOPF\": \"Kopf (Knopf)\",\r\n \"ORT_WORT\": \"Ort (Wort)\",\r\n \"GERAGT_GEFRAGT\": \"geragt (gefragt)\",\r\n \"VERFUGEN_VERFUEGEN\": \"verfugen vs. verfügen\",\r\n \"WACHEN_WASCHEN\": \"wachen vs. waschen\",\r\n \"BEDIENUNGEN_BEDINGUNGEN\": \"Bedienungen vs. Bedingungen\",\r\n \"EINWEIHEN_EINWEISEN\": \"'einweist' vs. 'einweihst'\",\r\n \"WAENDE_WENDE\": \"Wände vs. Wende\",\r\n \"BUECKE_BRUECK\": \"Bücke vs. Brücke\",\r\n \"KRISE_KREISE\": \"Krise vs. Kreise\",\r\n \"HER_HERR\": \"Her Müller (Herr Müller)\",\r\n \"SICH_DICH\": \"Ich freue mich auf sich (dich)\",\r\n \"WIDER_WIEDER\": \"wider vs. wieder\",\r\n \"GOTEN_GUTEN\": \"Goten vs. Guten\",\r\n \"VERSORGT_VORSORGT\": \"vorsorgen vs. versorgen\",\r\n \"VERBRACHT_VOLLBRACHT\": \"verbracht vs. vollbracht\",\r\n \"AUSKLINKEN_AUSKLINGEN\": \"ausklinken vs. ausklingen\",\r\n \"VERKOESTIGUNG\": \"verköstigen vs. verkosten\",\r\n \"VOLLZUG_VERZUG\": \"Vollzug vs. Verzug\",\r\n \"VERSENGEN_VERSENKEN\": \"versengen vs. versenken\",\r\n \"VERSINKEN_VERSENKEN\": \"'versinken' vs. 'versenken'\",\r\n \"HUMAN_RESOURCES\": \"Ressource vs. Resource\",\r\n \"MERZ_MÄRZ\": \"März vs. Merz\",\r\n \"VEREINT_VEREINIGT\": \"Vereinigten Nationen (Vereinten Nationen)\",\r\n \"SCHUSS_SCHLUSS\": \"Schuss (Schluss)\",\r\n \"ANGANG_ANFANG\": \"Angang (Anfang)\",\r\n \"SICH_AUSDRUCKEN\": \"sich ausdrucken (ausdrücken)\",\r\n \"AUSGERUECKT_AUSGEDRUECKT\": \"ausgerückt (ausgedrückt)\",\r\n \"ARRANGIERT_ENGAGIERT\": \"sozial arrangiert (engagiert)\",\r\n \"IT-GIRL\": \"IT-Girl\",\r\n \"OHMEN\": \"Ohmen (Omen)\",\r\n \"DANKS\": \"Danks (Danke)\",\r\n \"UEBERWEIDUNG\": \"Überweidung (Überweisung)\",\r\n \"VEREINIGTE_STATTEN\": \"Vereinigte Statten (Staaten)\",\r\n \"APARTHEIT\": \"Apartheit (Apartheid)\",\r\n \"DARZUSTELLEN\": \"da(dar)stellen\",\r\n \"WEIS_ICH\": \"weis (weiß) ich\",\r\n \"WESEN_WESSEN\": \"Wesen/Wessen\",\r\n \"TOT_GEWEIHT\": \"tot geweiht (todgeweiht)\",\r\n \"AB_DIENSTAGE\": \"ab Dienstage (Dienstag) etc.\",\r\n \"OH_MAN\": \"'Oh man' statt 'oh Mann'\",\r\n \"VERZINNST\": \"'verzinnst' statt 'verzinst'\",\r\n \"FUEHR_FUER\": \"führ (für)\",\r\n \"HALO_HALLO\": \"Halo (Hallo)\",\r\n \"ZURZEIT\": \"zur Zeit (zurzeit)\",\r\n \"WIDER_MIT\": \"'wider mit (wieder mit)'\",\r\n \"DAS_FUERCHTEN_LERNEN\": \"das Fürchten lernen (lehren)\",\r\n \"ZEIT_UND_MUSE\": \"Zeit und Muse (Muße)\",\r\n \"WAR_WAHR\": \"war (wahr)\",\r\n \"LIEHT\": \"lieht (liegt)\",\r\n \"TEILNAME\": \"Teilname (Teilnahme)\",\r\n \"WENN_WEN\": \"wenn/wen\",\r\n \"WEN_WEM\": \"wen/wem\",\r\n \"LEITEND\": \"leidend (leitend)\",\r\n \"LIESST\": \"ließt (liest)\",\r\n \"WEHREND\": \"wehrend (während)\",\r\n \"KEIM_NOMEN\": \"'Keim (Kein) Mensch' etc.\",\r\n \"FUSS_FUESSEN\": \"Füßen/Füssen\",\r\n \"IN_PUNCTO\": \"punkto/puncto\",\r\n \"REALITER\": \"punkto/puncto\",\r\n \"VERBIETE_MIR\": \"ich verbiete (verbitte) mir\",\r\n \"SPAET_JEMANDEN_AUS\": \"spät (späht) jemanden aus\",\r\n \"DEZIDIERTER_SERVER\": \"'dezidierter (dedizierter) Server'\",\r\n \"FIKTIV_FIKTIONAL\": \"fiktiv/fiktional\",\r\n \"HARMONISIEREN\": \"harmonisieren/harmonieren\",\r\n \"KATHEDER\": \"Katheder/Katheter\",\r\n \"ROHES_FROHES\": \"'rohes (frohes)'\",\r\n \"GEISEL_DER_MENSCHHEIT\": \"Geisel (Geißel) der Menschheit\",\r\n \"SCHARFES_SZ\": \"'scharfes ß' (scharfes S)\",\r\n \"ZU_ZUR\": \"zu (zur)\",\r\n \"LINK_LINKS\": \"unten link(s)/recht(s)\",\r\n \"BREIT_BEREIT\": \"b(e)reit\",\r\n \"UEBERSEHT_UEBERSAET\": \"überseht (übersät)\",\r\n \"SOL_SOLL\": \"Sol (Soll)\",\r\n \"PASSIONIERTE_PASSIERTE\": \"passionierte/passierte\",\r\n \"HODEN_HOSEN\": \"Hoden (Hosen)\",\r\n \"KACKE_JACKE\": \"Kacke (Jacke)\",\r\n \"ACH_NACH\": \"ach/nach\",\r\n \"PFERD_PFERDE\": \"Pferd/Pferde\",\r\n \"OJE\": \"Oje\",\r\n \"DIEB\": \"Dieb/Diebe\",\r\n \"ANSCHIESSEND\": \"anschießend / anschließend\",\r\n \"AUSGESCHOSSEN\": \"ausgeschossen / ausgeschlossen\",\r\n \"DRUCKEN_DRUCKSEN\": \"druck(s)en\",\r\n \"WAHREN_WAREN\": \"wahren (waren)\",\r\n \"WENNSCHON_DENNSCHON\": \"wenn schon, dann (denn) schon\",\r\n \"OSTEN_OSTERN\": \"frohe Osten / Ostern\",\r\n \"LIEBEND\": \"lieben / liebend\",\r\n \"KONISCH_KOMISCH\": \"konisch/komisch\",\r\n \"LIEBE_LEIBE\": \"Leibe (Liebe)\",\r\n \"SACHEN_SACHSEN\": \"Sachen (Sachsen)\",\r\n \"STRICKTE\": \"strickte (strikte)\",\r\n \"AUF_WUSCH\": \"auf Wusch (Wunsch)\",\r\n \"NAJA_NA_JA\": \"Naja/Na ja\",\r\n \"PRAESENS_PRAESENZ\": \"Präsens (Präsenz)\",\r\n \"SCHIESSEN_SCHLIESSEN\": \"schießen/schließen\",\r\n \"HINTERS_ICH\": \"hinters ich/hinter sich\",\r\n \"SEI_SIE\": \"sei (sie)\",\r\n \"WAISE_WEISE\": \"Waise/Weise/Wiese\",\r\n \"RIEGEL_REGEL\": \"Regel (Riegel)\",\r\n \"SEGEL_SIEGEL\": \"Segel (Siegel)\",\r\n \"WAGE_VAGE\": \"wage/vage\",\r\n \"WAGE_WAAGE\": \"wage/Waage\",\r\n \"SANG_UND_KLAGLOS\": \"klaglos/klanglos\",\r\n \"SPURTEN_SPUTEN\": \"spurten/sputen\",\r\n \"ZU_TUN\": \"zu tun (Zutun)\",\r\n \"FROHES_SCHAFFEN\": \"frohes schaffen (Schaffen)\",\r\n \"ZUPASSKOMMEN\": \"zu Pass kommen (zupasskomen)\",\r\n \"ZU_RECHT\": \"zurecht/zu Recht\",\r\n \"JE_DESTO\": \"je/desto\",\r\n \"CHAMPIGNON_CHAMPION\": \"Champignon/Champion\",\r\n \"BOT_BOOT\": \"bot/Boot\",\r\n \"TOT_TOD\": \"tot/Tod\",\r\n \"SCHEISSEN_SCHIESSEN\": \"schießen/scheißen\",\r\n \"SCHEIDE_SCHNEIDE\": \"Scheide (Schneide)\",\r\n \"GEHANGEN_GEHAENGT\": \"gehängt/gehangen\",\r\n \"MIT_VORNAHMEN\": \"Nachnahme/Nachname\",\r\n \"GEWOHNT_GEWOEHNT\": \"gewöhnt/gewohnt\",\r\n \"EMISSION_EMULSION\": \"Emission/Emulsion\",\r\n \"LINKEN_VERLINKEN\": \"linken/verlinken\",\r\n \"FOLGERN_FOLGEN\": \"folgern/folgen\",\r\n \"PERDU_PARTOUT\": \"perdu/partout\",\r\n \"SALZSAEURE_SALZSAEULE\": \"Salzsäule/Salzsäure\",\r\n \"SICHTWEISE_SICHTWEITE\": \"Sichtweise/Sichtweite\",\r\n \"UHRZEIT_URZEIT\": \"Uhrzeit/Urzeit\",\r\n \"GROSSER_STIEL\": \"Stiel/Stil\",\r\n \"OEKONOMISCH_OEKUMENISCH\": \"'ökonomischer (ökumenischer) Gottesdienst/...'\",\r\n \"KARIKATIV_VS_KARITATIV\": \"karikativ/karitativ\",\r\n \"GRAT_VS_GRAD\": \"Grad/Grat\",\r\n \"COACH_VS_COUCH\": \"Coach/Couch\",\r\n \"MIENE\": \"Mine/Miene\",\r\n \"RELATIVPRONOMEN_STATT_DASS\": \"'das' anstatt 'dass'\",\r\n \"DASS_STATT_DAS_RELATIVPRONOMEN\": \"dass/das\",\r\n \"DASS_MIT_VERB\": \"'dass (das) ist' etc.\",\r\n \"DASS_MIT_SUBJUNKTION\": \"'weil dass (das)' etc.\",\r\n \"SODASS\": \"'so das (so dass)'\",\r\n \"FOND_VS_FONDS\": \"Fond/Fonds\",\r\n \"VATER_MORGANA\": \"'Vater (Fata) Morgana'\",\r\n \"SEITE_SAITE\": \"Seite/Saite\",\r\n \"LID_LIED\": \"Ende vom Lid (Lied)\",\r\n \"LEBEN_LIEBEN\": \"leben/lieben\",\r\n \"AUFGEWASCHEN\": \"aufgewaschen (aufgewachsen)\",\r\n \"WINDE_WUNDE\": \"Winde (Wunde)\",\r\n \"SUCHT_SICHT\": \"Sucht (Sicht)\",\r\n \"ETHISCH_ETHNISCH\": \"ethisch/ethnisch\",\r\n \"AUFS_TRAPEZ_BRINGEN\": \"Trapez/Tapet\",\r\n \"GROS_GROSS\": \"Groß/Gros\",\r\n \"DER_GENUS\": \"Genus/Genuss\",\r\n \"NIVEA\": \"Nivea/Niveau\",\r\n \"PUNK_PUNKT\": \"Punk/Punkt\",\r\n \"KOMA_KOMMA\": \"Koma/Komma\",\r\n \"IDEN_IDEEN\": \"Ideen/Iden\",\r\n \"DER_SCHILD\": \"das/der Schild\",\r\n \"GEHTNICHTMEHR\": \"bis zum geht nicht mehr (Gehtnichtmehr)\",\r\n \"CONFUSION_RULE_MIR_MIT_NEU\": \"Mögliche Verwechslung von mir und mit\",\r\n \"VERWECHSLUNG_MIR_DIR_MIR_DIE\": \"Mögliche Verwechslung von dir und die nach mir\",\r\n \"VERWECHSLUNG_MIR_IHR_MIR_IHRE\": \"Mögliche Verwechslung von ihr und Ihre nach mir\",\r\n \"EDGAR_ALLAN_POE\": \"Allen Poe (Allan Poe)\",\r\n \"HERBERT_DIES\": \"Herbert Dies (Diess)\",\r\n \"SAUCE_HOLLANDAISE\": \"Sauce hollandaise\",\r\n \"WARREN_BUFFETT\": \"Warren Buffett\",\r\n \"DUE_DILIGENCE\": \"Due Diligence\",\r\n \"CHILI_CON_CARNE\": \"Chili con Carne\",\r\n \"CORDON_BLEU\": \"Cordon bleu\",\r\n \"CHILI_SIN_CARNE\": \"Chili sin Carne\",\r\n \"ENGEL_UND_VOLKERS\": \"Engel & Völkers\",\r\n \"BELA_RETHY\": \"Béla Réthy\",\r\n \"PLANTEN_UN_BLOMEN\": \"Planten un Blomen\",\r\n \"ALOE_VERA\": \"Aloe vera\",\r\n \"JOE_BIDEN\": \"Joe Biden\",\r\n \"ANNALENA_BAERBOCK\": \"Annalena Baerbock\",\r\n \"WINFRIED_KRETSCHMANN\": \"Winfried Kretschmann\",\r\n \"SALVADOR_DALI\": \"Salvador Dalí\",\r\n \"HANSI_FICK\": \"Hansi Fick (Flick)\",\r\n \"ASTRA_ZENECA\": \"AstraZeneca\",\r\n \"JOHNS_HOPKINS_UNIVERSITY\": \"Johns Hopkins University\",\r\n \"WHATS_APP\": \"Whats App (WhatsApp)\",\r\n \"CHAT_GPT\": \"Chat GPT (ChatGPT)\",\r\n \"AIR_BNB\": \"Air Bnb (Airbnb)\",\r\n \"POWER_SHELL\": \"PowerShell\",\r\n \"PAY_PAL\": \"PayPal\",\r\n \"POWER_POINT\": \"PowerPoint\",\r\n \"BLACK_LIVES_MATTER\": \"Black Lives Matter\",\r\n \"JAVA_SCRIPT\": \"JavaScript\",\r\n \"YOU_TUBE\": \"YouTube\",\r\n \"OBJECTIVE_C\": \"Objective-C\",\r\n \"CHECK_24\": \"Check 24 (Check24)\",\r\n \"FRAUNHOFER_INSTITUT\": \"Fraunhofer Institut (Fraunhofer-Institut)\",\r\n \"MERCEDES_BENZ\": \"Mercedes Benz (Mercedes-Benz)\",\r\n \"COVID_19\": \"COVID-19\",\r\n \"SOVIEL\": \"so viel (soviel)\",\r\n \"FRANK_WALTER_STEINMEIER\": \"Frank-Walter Steinmeier\",\r\n \"COTE_D_AZUR\": \"Côte d’Azur\",\r\n \"VERONIKA_POOTH\": \"Veronika (Verona) Pooth\",\r\n \"SAO_PAOLO\": \"Sau Paulo (São Paulo)\",\r\n \"LOREAL\": \"L’Oréal\",\r\n \"CITROEN\": \"Citroën\",\r\n \"JONG_UN\": \"Kim Jong-un\",\r\n \"TIK_TOK\": \"TikTok\",\r\n \"FRITZ_BOX\": \"Schreibweise 'Fritz!Box'\",\r\n \"SOCIETE_GENERALE\": \"Société Générale\",\r\n \"NDRANGHETA\": \"'Ndrangheta\",\r\n \"KRAMP_KARRENBAUER\": \"Kramp-Karrenbauer\",\r\n \"VON_DER_LEYEN\": \"Ursula von der Leyen\",\r\n \"EMMANUEL_MACRON\": \"Emmanuel Macron\",\r\n \"JEROME_BOATENG\": \"Jérôme Boateng\",\r\n \"ILKAY_GUNDOGAN\": \"?lkay Gündo?an\",\r\n \"LEROY_SANE\": \"Leroy Sané\",\r\n \"RHEINLAND_FALZ\": \"'Rheinland-Falz (Rheinland-Pfalz)'\",\r\n \"MEISSENER\": \"'Meissener (Meißener)'\",\r\n \"JUECHEN_JUELICH\": \"'Forschungszentrum Jüchen (Jülich)'\",\r\n \"AM_REIN\": \"'am Rein (Rhein)'\",\r\n \"AUS_ESSEN\": \"Ortsname: 'aus/nach/in siegen (Siegen)' etc.\",\r\n \"DOM_VS_DON\": \"'Kölner Don (Dom)' etc.\",\r\n \"ROTHENBURG_VS_ROTENBURG\": \"Ortsname: 'Rotenburg (Rothenburg) ob der Tauber' etc.\",\r\n \"STRASBURG\": \"Ortsname: 'Strasburg (Straßburg)'\",\r\n \"MUEHLHEIM_A_D_RUHR\": \"Ortsname: 'Mühlheim (Mülheim) an der Ruhr'\",\r\n \"LAS_VEGAS\": \"Ortsname: 'las (Las) Vegas'\",\r\n \"OPENOFFICE\": \"Produktname: 'OpenOffice (OpenOffice.org)'\",\r\n \"LIBREOFFICE\": \"Produktname: 'Libre Office (LibreOffice)'\",\r\n \"BLUE_RAY\": \"Produktname: 'Blue Ray (Blu-ray)'\",\r\n \"IPHONE\": \"Produktname: 'I-Phone (iPhone)' etc.\",\r\n \"UNITY_MEDIA\": \"'Unity Media (Unitymedia)'\",\r\n \"SONY_ERICSSON\": \"'Sony Eriksson (Sony Ericsson)'\",\r\n \"GIRLS_DAY\": \"'Girl's (Girls’) Day'\",\r\n \"OPEN_STREET_MAP\": \"'Open Street Map (OpenStreetMap)'\",\r\n \"IF_SCHLEIFE\": \"Fachbegriff: 'if-Schleife (if-Bedingung)'\",\r\n \"JAVASCRIPT_APPLET\": \"Fachbegriff: 'JavaScript-Applet (Java-Applet)'\",\r\n \"UBUNTU_12_4\": \"'Ubuntu 12.4 (12.04)' etc.\",\r\n \"MP_3\": \"'MP-3 (MP3)' etc.\",\r\n \"WERNHER_VON_BRAUN\": \"Werner (Wernher) von Braun\",\r\n \"ALEXIUS_MEINONG\": \"'Alexius Meinung (Meinong)'\",\r\n \"HENRY_MATISSE\": \"'Henry (Henri) Matisse'\",\r\n \"RINGO_STARR\": \"Ringo Starr\",\r\n \"SOPHIA_LOREN\": \"Sophia Loren\",\r\n \"LIZA_MINNELLI\": \"Lisa (Liza) Minnelli\",\r\n \"FRANCOIS_HOLLANDE\": \"François Holland (Hollande)\",\r\n \"ADDAMS_FAMILY\": \"Addams Family\",\r\n \"JOSEF_HAYDN\": \"'Josef (Joseph) Haydn'\",\r\n \"HERMAN_REUTTER\": \"'Herman (Hermann) Reutter'\",\r\n \"ABRAHAM_LINCOLN\": \"'Abraham Linken (Lincoln)'\",\r\n \"MAX_BROD\": \"'Max Brot (Brod)'\",\r\n \"REIT_IM_WINKL\": \"'Reit im Winkel (Winkl)'\",\r\n \"JANE_AUSTEN\": \"'Jane Austin (Austen)'\",\r\n \"MARX_BROTHERS\": \"'Max (Marx) Brothers'\",\r\n \"JIMI_HENDRIX\": \"'Jimi Hendrix'\",\r\n \"FRIEDRICH_LOEFFLER\": \"'Friedrich Loeffler'\",\r\n \"INNENMINISTERIUM\": \"'Bundesministerium des Innern'\",\r\n \"ULRIKE_MEINHOF\": \"'Ulrike Meinhoff (Meinhof)'\",\r\n \"JOHANNES_GUTENBERG\": \"'Johannes Guttenberg (Gutenberg)'\",\r\n \"ELISABETH_SELBERT\": \"'Elisabeth Selber (Selbert)' etc.\",\r\n \"ANDREAS_BAADER\": \"'Andreas Bader (Baader)'\",\r\n \"REINEKE_FUCHS\": \"'Reinecke (Reineke) Fuchs'\",\r\n \"BERTRAND_RUSSELL\": \"'Russel (Russell)'\",\r\n \"SAHRA_WAGENKNECHT\": \"'Sarah (Sahra) Wagenknecht'\",\r\n \"ZARAH_LEANDER\": \"'Sarah (Zarah) Leander'\",\r\n \"TIL_SCHWEIGER\": \"'Till (Til) Schweiger'\",\r\n \"WILLY_BRANDT\": \"'Willi (Willy) Brandt'\",\r\n \"HELMUT_SCHMIDT\": \"'Helmuth (Helmut) Schmidt'\",\r\n \"HELMUT_KOHL\": \"'Helmuth (Helmut) Kohl'\",\r\n \"JOSEPH_GOEBBELS\": \"'Josef (Joseph) Goebbels'\",\r\n \"BARBRA_STREISAND\": \"'Barbara (Barbra) Streisand'\",\r\n \"BERTOLT_BRECHT\": \"'Berthold (Bertolt) Brecht'\",\r\n \"GUSTAF_GRUENDGENS\": \"'Gustav (Gustaf) Gründgens'\",\r\n \"IMMANUEL_KANT\": \"'Emanuel (Immanuel) Kant'\",\r\n \"SIGMUND_FREUD\": \"'Siegmund (Sigmund) Freud'\",\r\n \"GOTTLOB_FREGE\": \"'Gottlieb (Gottlob) Frege'\",\r\n \"CARL_FRIEDRICH_GAUSS\": \"'Karl (Carl) Friedrich Gauß'\",\r\n \"GEORG_CANTOR\": \"'Georg Kantor (Cantor)'\",\r\n \"HEINRICH_HERTZ\": \"'Heinrich Herz (Hertz)'\",\r\n \"ALBERT_SCHWEITZER\": \"'Albert Schweizer (Schweitzer)'\",\r\n \"MUTTER_TERESA\": \"Mutter Theresa (Teresa)\",\r\n \"LUIS_TRENKER\": \"Louis (Luis) Trenker\",\r\n \"EMIL_LENZ\": \"'Lentz (Lenz)'\",\r\n \"HENDRIK_LORENTZ\": \"'Lorenz (Lorentz)'\",\r\n \"LUDVIG_LORENZ\": \"'Lorentz (Lorenz)'\",\r\n \"GOTTFRIED_WILHELM_LEIBNIZ\": \"'Leibnitz (Leibniz)'\",\r\n \"RAF\": \"'Rote Armee Fraktion'\",\r\n \"FELDHERRNHALLE\": \"Feldherrenhalle (Feldherrnhalle)\",\r\n \"ON_OFF_BEZIEHUNG\": \"On/Off Beziehung (On-off-Beziehung)\",\r\n \"BEHINDERTEN_PARKPLATZ\": \"behinderten Parkplatz (Behindertenparkplatz)\",\r\n \"ZU_MUTEN\": \"zu muten (zumuten)\",\r\n \"SEIT_BEKANNT_WERDEN\": \"seit bekannt werden (Bekanntwerden)\",\r\n \"ZU_GESCHICKT_WORDEN\": \"zu geschickt (zugeschickt) wird\",\r\n \"XXX_TECHNISCH\": \"Urlaubs technisch (urlaubstechnisch)\",\r\n \"XXX_HAFTE\": \"fehler Hafte (fehlerhafte)\",\r\n \"VORHER_NACHHER_BILD\": \"Vorher-Nachher-Vergleich\",\r\n \"WIR_GEFUEHL\": \"Wir(-)Gefühl\",\r\n \"NIRGEND_WO\": \"nirgend wo (nirgendwo)\",\r\n \"HOECHST_WAHRSCHEINLICH\": \"höchstwahrscheinlich als ein Wort\",\r\n \"HEREIN_SPAZIERT\": \"herein spaziert (hereinspaziert)\",\r\n \"BLUETOOTH_LAUTSPRECHER\": \"Bluetooth Lautsprecher (Zusammenschreibung)\",\r\n \"JEDER_ZEIT\": \"jeder Zeit (jederzeit)\",\r\n \"DICHTMACHEN\": \"dichtmachen (dicht machen)\",\r\n \"DICHT_MACHEN\": \"dicht machen (dichtmachen)\",\r\n \"HIER_MIT\": \"hier mit (hiermit)\",\r\n \"ZUFRIEDENLASSEN\": \"zufrieden lassen (zufriedenlassen)\",\r\n \"SIEBEN_SACHEN\": \"sieben Sachen (Siebensachen)\",\r\n \"IMMER_HIN\": \"immer hin (immerhin)\",\r\n \"AN_STATT\": \"an statt (anstatt)\",\r\n \"SCHLICHT_WEG\": \"schlicht weg (schlichtweg)\",\r\n \"VORLIEB_NEHMEN\": \"vorlieb nehmen (vorliebnehmen)\",\r\n \"RABATT_BINDESTRICH_CODE\": \"Rabatt-Code wird mit Bindestrich geschrieben\",\r\n \"HIN_WEG\": \"hin weg (hinweg)\",\r\n \"TWITTER_KANÄLE\": \"Falsche Leerzeichen bei Komposita\",\r\n \"LANGE_WEILE\": \"lange Weile (Langeweile)\",\r\n \"HIER_FUER\": \"hier für (hierfür)\",\r\n \"VOR_ERST\": \"vor erst (vorerst)\",\r\n \"MIT_UNTER\": \"mit unter (mitunter)\",\r\n \"SEIT_HER\": \"seit her (seither)\",\r\n \"MIT_REISSEN\": \"mit reißend (mitreißend)\",\r\n \"WO_VON\": \"Wo von (Wovon)\",\r\n \"DANKE_SCHOEN\": \"dankeschön (danke schön)\",\r\n \"DAZU_VERDIENEN\": \"dazu verdienen (dazuverdienen)\",\r\n \"ZWEIT_KLAESSLER\": \"2. Klässler (Zweitklässler)\",\r\n \"GERADE_AUS\": \"gerade aus (geradeaus)\",\r\n \"DRAUF_KLICKEN\": \"drauf klicken (draufklicken)\",\r\n \"DRAUF_LOS\": \"drauf los (drauflos)\",\r\n \"ZU_LEGEN\": \"Zahn zu legen (zulegen)\",\r\n \"NEUN_EURO_TICKET\": \"9-Euro-Ticket\",\r\n \"WIEDER_GUT_MACHEN\": \"wieder gut machen (wiedergutmachen)\",\r\n \"TEILER_COMPOUND\": \"3 Teiler (3-Teiler)\",\r\n \"DUTZEND_MAL\": \"dutzend mal (dutzendmal)\",\r\n \"ALLER_HAND\": \"aller Hand (allerhand)\",\r\n \"ZU_FOLGE\": \"zu folge (zufolge)\",\r\n \"KICK_OFF\": \"Kick Off (Kick-off)\",\r\n \"ZU_GLEICH\": \"zu gleich (zugleich)\",\r\n \"JEDEN_FALLS\": \"jeden Falls (jedenfalls)\",\r\n \"NAHE_ZU_ADJ\": \"nahe zu (nahezu)\",\r\n \"SCHOEN_REDEN\": \"schön reden (schönreden)\",\r\n \"LIEBLINGS_SUB\": \"Lieblings Tisch (Lieblingstisch)\",\r\n \"EIN_LOGGEN\": \"ein loggen (einloggen)\",\r\n \"ZIEL_GERECHT\": \"Ziel gerecht (zielgerecht)\",\r\n \"BEI_BEHALTEN\": \"bei behalten (beibehalten)\",\r\n \"VOR_BEI\": \"vor bei (vorbei)\",\r\n \"RIESEN_DANK\": \"riesen Dank (Riesendank)\",\r\n \"AUF_DICH_ZU_KOMMEN\": \"auf uns zu kommen (zukommen)\",\r\n \"MIT_VERANTWORTLICH\": \"mit verantwortlich (mitverantwortlich)\",\r\n \"HEAD_UP_DISPLAY\": \"Head-up-Display\",\r\n \"MAKE_UP_ARTIST\": \"Make-up-Artist\",\r\n \"TIPP_TOPP\": \"tip top (tipptopp)\",\r\n \"WAS_MIR_ZU_STEHT\": \"was mir zu steht (zusteht)\",\r\n \"SCHEISS_EGAL\": \"scheißegal\",\r\n \"CONTENT_HYPHEN\": \"Fehlender Bindestrich in 'Content-Marketing'\",\r\n \"NULL_KOMMA_NICHTS\": \"Nullkommanichts\",\r\n \"ZWISCHEN_DURCH\": \"zwischendurch\",\r\n \"DAS_EINS_SEIN\": \"das Einssein\",\r\n \"DEM_ENTSPRECHEND\": \"dem entsprechend (dementsprechend)\",\r\n \"GEFAELLT_MIR_BUTTON\": \"„Gefällt mir“-Button\",\r\n \"GROESSEN_WAHNSINNIG\": \"Größen wahnsinnig (Größenwahnsinnig)\",\r\n \"NORD_WESTEN\": \"im osten (Osten)\",\r\n \"NORD_WESTLICH\": \"nord-westlich\",\r\n \"ZU_KOMMEN_LASSEN\": \"zu kommen (zukommen)\",\r\n \"ZU_SCHICKEN_LASSEN\": \"zu schicken (zuschicken)\",\r\n \"DA_DURCH\": \"da durch (dadurch)\",\r\n \"FUENF_PROZENT_HUERDE\": \"5-Prozent-Hürde\",\r\n \"WERT_SCHAETZEN\": \"wert schätzen (wertschätzen)\",\r\n \"PUBLIC_PRIVATE_PARTNERSHIP\": \"Public-private-Partnership\",\r\n \"SAVE_THE_DATE_KARTEN\": \"Save-the-Date-Karten\",\r\n \"DREI_METER_BRETT\": \"3-Meter-Brett\",\r\n \"MEINET_WEGEN\": \"Meinet wegen (meinetwegen)\",\r\n \"FOLGEN_SCHWER\": \"Folgen reich (folgenreich)\",\r\n \"SEINES_GLEICHEN\": \"sucht seines gleichen (seinesgleichen)\",\r\n \"SUPER_GAU\": \"Super-GAU\",\r\n \"BURN_DOWN_CHART\": \"Burn-Down-Chart\",\r\n \"GUT_DUENKEN\": \"gut dünken (Gutdünken)\",\r\n \"IRGEND_COMPOUND\": \"Ich komme irgend wann (irgendwann) zur Party.\",\r\n \"DUDEN_MENTOR_HYPHEN\": \"Duden-Mentor\",\r\n \"ALL_ZU\": \"allzu\",\r\n \"NACH_GEBEN\": \"nach geben (nachgeben)\",\r\n \"AD_HOC_MITTEILUNG\": \"Ad-hoc-Meldung\",\r\n \"STARK_MACHEN\": \"stark machen (starkmachen)\",\r\n \"TEIL_NEHMEN\": \"teil nehmen (teilnehmen)\",\r\n \"ZUTEIL_WERDEN\": \"zuteilwerden\",\r\n \"ROT_ROT_GRÜN\": \"Er wählt 'rot rot grün' (rot-rot-grün)\",\r\n \"US_ARMEE\": \"US Armee (US-Armee)\",\r\n \"TUV_GEPRUEFT\": \"TÜV-geprüft\",\r\n \"NONSTOP_FLUG\": \"Nonstop-Flug\",\r\n \"DURCH_SCHAUEN\": \"durch + Verb\",\r\n \"ALL_IN_ONE\": \"All-in-one-Soundsystem\",\r\n \"ZWEIFELS_OHNE\": \"Zweifels ohne (zweifelsohne)\",\r\n \"ZAHL_SUFFIX_IN_ZUSAMMENSETZUNG\": \"Bindestrich nach Ziffer und Suffix: 5er-Pack, 100stel-Liter\",\r\n \"SOZIAL_MEDIA\": \"sozial Media\",\r\n \"IM_VERGANGEN_JAHR\": \"vergangen vs. vergangenen\",\r\n \"EINE_ORIGINAL_RECHNUNG_TEST\": \"Eine original Rechnung (Originalrechnung)\",\r\n \"EINE_ORIGINAL_RECHNUNG\": \"Eine original Rechnung (Originalrechnung)\",\r\n \"GEGEN_CHECKEN\": \"gegen checken (gegenchecken)\",\r\n \"NAHEGESTANDEN\": \"nahe gestanden (nahegestanden)\",\r\n \"MEISTGELESEN\": \"meist gelesen (meistgelesen)\",\r\n \"GROSSSCHREIBEN\": \"groß / klein schreiben (großschreiben / kleinschreiben)\",\r\n \"ALLEINLASSEN\": \"allein lassen (alleinlassen)\",\r\n \"INFOLGEDESSEN\": \"infolge dessen (infolgedessen)\",\r\n \"OPEN_OFFICE\": \"Open Office (OpenOffice)\",\r\n \"BLAU_ÄUGIG\": \"blau äugig (blauäugig)\",\r\n \"GROSS_FLAECHIG\": \"groß zügig (großzügig)\",\r\n \"ZWEI_KLASSEN_GESELLSCHAFT\": \"Zwei-Klassen-Gesellschaft\",\r\n \"NOM_GEN_COMPOUND\": \"wegen des iPhone Angebots (iPhone-Angebots)\",\r\n \"SUB_-S_BEDINGT_BASIERT\": \"Alters bedingten (altersbedingt)\",\r\n \"TEXT_-_BASIERT\": \"Text basiert (textbasiert)\",\r\n \"NACH_DEM_NACHDEM_PKT\": \"nach dem (nachdem)\",\r\n \"VOR_ORT_TERMIN\": \"Vor-Ort-Termin\",\r\n \"POP_UP\": \"Pop-up\",\r\n \"MUST_HAVE\": \"Must-have\",\r\n \"FUENF_PUNKTE_PLAN\": \"5-Punkte-Plan\",\r\n \"FUENF_MINUTEN_TAKT\": \"5-Minuten-Takt\",\r\n \"AU_PAIR\": \"Au Pair (Au-pair)\",\r\n \"ADD_ON\": \"Add-on\",\r\n \"PLUG_IN\": \"Plug-in\",\r\n \"ALLER_COMPOUNDS\": \"aller bestes (allerbestes)\",\r\n \"RUNDUM_SORGLOS_PAKET\": \"Rundum-sorglos-Paket\",\r\n \"SCHNICK_SCHNACK\": \"Schnickschnack\",\r\n \"GET_TOGETHER\": \"Get-together\",\r\n \"GELD_ZURUECK_GARANTIE\": \"Geld-zurück-Garantie\",\r\n \"FEST_COMPOUNDS\": \"fest genommen (festgenommen)\",\r\n \"NO_GO\": \"No-Go\",\r\n \"PLUG_IN_HYBRID\": \"Plug-in-Hybrid\",\r\n \"MIDLIFE_CRISIS\": \"Midlife-Crisis\",\r\n \"RUND_UM_DIE_UHR_BEWACHUNG\": \"Rund-um-die-Uhr-Bewachung\",\r\n \"EIN_KIND_POLITIK\": \"Ein-Kind-Politik\",\r\n \"SCHRITT_FUER_SCHRITT_ANLEITUNG\": \"Schritt-für-Schritt-Anleitung\",\r\n \"TOP_GROSS_SUB\": \"Top Model (Top-Model|Topmodel|top Model)\",\r\n \"DURCH_WACHSEN\": \"durch wachsen (durchwachsen)\",\r\n \"DIE_JENIGEN\": \"die Jenigen (diejenigen)\",\r\n \"DIES_BEZUEGLICH\": \"dies bezüglich (diesbezüglich)\",\r\n \"LANDING_PAGE\": \"Landingpage\",\r\n \"ONLINE_MARKETING\": \"Online-Marketing\",\r\n \"HOME_OFFICE\": \"Home-Office\",\r\n \"FUGEN_S_ZUSAMMENSCHREIBUNG\": \"Wirtschafts Weisen (Wirtschschaftsweisen)\",\r\n \"NAECHSTMOEGLICH\": \"nächst möglich (nächstmöglich)\",\r\n \"INMITTEN\": \"in mitten (inmitten)\",\r\n \"ZU_LIEBE\": \"zu Liebe/Folge (zuliebe/zufolge)\",\r\n \"MUTMASSLICH\": \"mut maßlich (mutmaßlich)\",\r\n \"TASK_FORCE\": \"Task Force (Taskforce)\",\r\n \"LETZT_ENDLICH\": \"letzt endlich (letztendlich)\",\r\n \"VOLL_DROEHNEN\": \"voll dröhnen (volldröhnen)\",\r\n \"NACHVOLLZIEHEN\": \"nach vollziehen (nachvollziehen)\",\r\n \"DESWEITEREN\": \"desweiteren (des Weiteren)\",\r\n \"FOLLOW_UP\": \"Follow up (Follow-up)\",\r\n \"GO_LIVE\": \"Go live (Go-live)\",\r\n \"PUSH_UP\": \"Push Up (Push-up)\",\r\n \"EBEN_FALLS\": \"eben falls (ebenfalls)\",\r\n \"DEUTSCH_SPRACHIG\": \"deutsch sprachig (deutschsprachig)\",\r\n \"LANGUAGE_TOOL\": \"Language Tool (LanguageTool)\",\r\n \"HINEIN_FRESSEN_HINEINFRESSEN\": \"hinein fressen (hineinfressen)\",\r\n \"N_TEILIG\": \"fünf teilig (fünfteilig) etc.\",\r\n \"APRES_SKI\": \"Après-Ski\",\r\n \"COPY_AND_PASTE\": \"Copy-and-paste\",\r\n \"DRAG_AND_DROP\": \"Drag-and-drop\",\r\n \"PAY_PER_VIEW\": \"Pay-per-View\",\r\n \"N_EINHALB\": \"zwei einhalb (zweieinhalb)\",\r\n \"ZAHL_ER\": \"100 er (100er)\",\r\n \"FRISS_ODER_STIRB\": \"Friss oder stirb\",\r\n \"AM_SONSTEN\": \"am sonsten (ansonsten)\",\r\n \"EIWEISS_REICH\": \"Eiweiß reich (eiweißreich)\",\r\n \"AUSEINANDER_GESETZT\": \"auseinander setzen (auseinandersetzen)\",\r\n \"AUSSEN_VOR_LASSEN\": \"außen vorlassen (vor lassen)\",\r\n \"STATT_DESSEN\": \"statt dessen (stattdessen)\",\r\n \"ZU_DEM_ZUDEM\": \"Zu dem (Zudem)\",\r\n \"IN_ZWISCHEN\": \"in zwischen (inzwischen)\",\r\n \"BEI_M\": \"bei m (beim)\",\r\n \"NACH_HOLEN\": \"nach holen (nachholen)\",\r\n \"BIS_LANG\": \"'bis lang (bislang)'\",\r\n \"SCHOCKSCHWERENOT\": \"Schock schwere Not (Schockschwerenot)\",\r\n \"SATT_HABEN\": \"'satt haben (satthaben)'\",\r\n \"SICHER_GESTELLT\": \"sicher gestellt (sichergestellt)\",\r\n \"DRUMHERUM_REDEN\": \"drumherum reden (drum herumreden)\",\r\n \"OTTO-NORMALVERBRAUCHER\": \"Otto-Normalverbraucher (Otto Normalverbraucher)\",\r\n \"MULTI-KULTI\": \"Multi-Kulti (Multikulti)\",\r\n \"AUF_PASSEN\": \"auf passen (aufpassen)\",\r\n \"FUSSFASSEN\": \"Fußfassen (Fuß fassen)\",\r\n \"TEUFELSKUECHE\": \"in Teufelsküche (Teufels Küche)\",\r\n \"HIER_BEI\": \"hier bei (hierbei)\",\r\n \"BEI_ZEITEN\": \"bei Zeiten (beizeiten)\",\r\n \"WIE_SO_OFT\": \"'wie so' \",\r\n \"DOLCEFARNIENTE\": \"'Dolcefarniente'\",\r\n \"IN_KRAFT_TRETEN\": \"'Inkrafttreten'\",\r\n \"DURCH_AUS\": \"'durchaus'\",\r\n \"NICHTSDESTOTROTZ\": \"'nichts desto trotz (nichtsdestotrotz)'\",\r\n \"GUT_TUN_GUTTUN\": \"gut tun (guttun)\",\r\n \"ZU_GUTE_ZUGUTE\": \"zu gute (zugute)\",\r\n \"ZU_LASSEN\": \"zulassen (zu lassen)\",\r\n \"ADDIS_ABEBA\": \"Addis-Abeba (Addis Abeba)\",\r\n \"ZUNICHTE\": \"zu nichte (zunichte)\",\r\n \"VON_NOETEN\": \"'von Nöten (vonnöten)'\",\r\n \"WOHL_GEMERKT\": \"wohl gemerkt vs. wohlgemerkt\",\r\n \"ZU_ALLERERST\": \"'zu allererst (zuallererst)'\",\r\n \"PLAN_MAESSIG\": \"'plan mäßig (planmäßig)' etc.\",\r\n \"GEZWUNGENER_MASSEN\": \"gezwungener maßen (gezwungenermaßen)\",\r\n \"INNE_HABEN\": \"inne haben (innehaben)\",\r\n \"KNOWHOW\": \"Know How (Know-how)\",\r\n \"DIPL_ING\": \"Dipl. Ing. (Dipl.-Ing.)\",\r\n \"DR_ING\": \"Dr. Ing. (Dr.-Ing.)\",\r\n \"BEILEIBE_NICHT\": \"bei Leibe (beileibe) nicht\",\r\n \"VORBEI_VERB\": \"vorbei reden etc. (vorbeireden)\",\r\n \"ZU_MAL\": \"zu mal (zumal)\",\r\n \"ZU_LETZT\": \"zu letzt (zuletzt)\",\r\n \"TAGUNDNACHTGLEICHE\": \"'Tag- und Nachtgleiche (Tagundnachtgleiche)\",\r\n \"ZAHL_JAHRELANG\": \"'einige jahrelang (Jahre lang)' etc.\",\r\n \"HOCH_SCHALTEN\": \"'hoch schalten (hochschalten)' etc.\",\r\n \"SO_WOHL\": \"'so wohl (sowohl) … als auch'\",\r\n \"ZEITLANG_ZEIT_LANG\": \"'eine gewisse Zeitlang (Zeit lang)' etc.\",\r\n \"EINMALEINS\": \"'das ein mal eins (Einmaleins)' etc.\",\r\n \"ACHTMALVIER\": \"'acht mal (achtmal)' etc.\",\r\n \"UEBER_DEN_WEGLAUFEN\": \"'über den weggelaufen (über den Weg gelaufen)'\",\r\n \"DEM_ZUFOLGE\": \"'demzufolge (dem zufolge) in Relativsätzen'\",\r\n \"FREUND_SCHAFT\": \"'Freund Schaft (Freundschaft)'\",\r\n \"GUTHABEN_GUT_HABEN\": \"'ihr sollt es guthaben (gut haben)'\",\r\n \"ENTWEDER_ODER\": \"'ein entweder oder (Entweder-oder)'\",\r\n \"VIELMEHR_VIEL_MEHR\": \"'sehr vielmehr (viel mehr)'\",\r\n \"ZWEI_UND_VIERZIG\": \"Zusammenschreibung von Zahlwörtern: 'zwei und vierzig (zweiundvierzig)' etc.\",\r\n \"HERUM_GELAUFEN\": \"'herum gelaufen (herumgelaufen)' etc.\",\r\n \"UEBER_FLUESSIG\": \"'über flüssig (überflüssig)'\",\r\n \"ZEIT_LEBENS\": \"'zeit Lebens (zeitlebens)'\",\r\n \"TEUER_ZU_STEHEN_KOMMEN\": \"'teuer zustehen (zu stehen) kommen'\",\r\n \"EBEN_SO\": \"'eben so (ebenso)'\",\r\n \"GENAU_SO\": \"'genau so (genauso)'\",\r\n \"LOG_IN\": \"'Log in (Log-in)'\",\r\n \"JE_UM_SO\": \"'je ... um so (umso) ...'\",\r\n \"VIEL_LEICHT\": \"'Viel leicht (vielleicht) ist' etc.\",\r\n \"DA_NACH_PLUS_VERB\": \"'Da nach (danach) war Ruhe' etc.\",\r\n \"NACHDEM_NACH_DEM\": \"'nachdem (nach dem) Essen etc.'\",\r\n \"AUS_AN_DEREN\": \"'aus an deren (anderen)'\",\r\n \"JE_NACH_DEM\": \"'je nach dem (je nachdem)'\",\r\n \"DA_MIT_VS_DAMIT\": \"'Da mit (Damit) ...'\",\r\n \"SO_WEIT\": \"so weit (soweit)\",\r\n \"SO_FERN\": \"so fern (sofern)\",\r\n \"SO_LANG\": \"so lang(e) (solang(e))\",\r\n \"NACH_DEM_VS_NACHDEM\": \"'Nach dem (Nachdem) ...'\",\r\n \"SO_BALD_VS_SOBALD\": \"'sobald (so bald) wie möglich' etc.\",\r\n \"PREIS_GEBEN\": \"'preis geben (preisgeben)'\",\r\n \"OST_ASIATISCH\": \"'ost asiatisch (ostasiatisch)' etc.\",\r\n \"PFLEGE_FALL\": \"'Pflege Fall (Pflegefall)' etc.\",\r\n \"BAR_GELD\": \"'Bar Geld (Bargeld)'\",\r\n \"VIEL_ZAHL\": \"'eine viel Zahl (Vielzahl)'\",\r\n \"NACH_LAESSIGKEIT\": \"'aus nach Lässigkeit (Nachlässigkeit)'\",\r\n \"FRAGE_ZEICHEN\": \"'ein Frage Zeichen (Fragezeichen)'\",\r\n \"MEIST_GESEHEN\": \"meist + Verb (zusammengeschrieben)\",\r\n \"HIN_WEISEN\": \"'darauf hin weisen (hinweisen)'\",\r\n \"ZWEIT_BESTER\": \"'zweit bester (zweitbester)' etc.\",\r\n \"DAS_SELBE\": \"'das selbe (dasselbe)' etc.\",\r\n \"MOEGLICHER_WEISE_ETC\": \"'möglicher Weise (möglicherweise)' etc.\",\r\n \"ZU_TEIL\": \"'zu Teil (zuteil/zum Teil)'\",\r\n \"RUND_UM\": \"'rund um (rundum) sorglos' etc.\",\r\n \"EIN_DANKE_SCHOEN\": \"'ein danke schön (Dankeschön)'\",\r\n \"ZUM_HAARESCHNEIDEN\": \"'zum/beim Haare schneiden (Haareschneiden)' etc.\",\r\n \"EINST_WEILEN\": \"'einst weilen (einstweilen)'\",\r\n \"MITTLER_WEILE\": \"'mittler Weile (mittlerweile)'\",\r\n \"UEBER_QUELLEND\": \"'über quellend (überquellend)'\",\r\n \"HILF_REICH\": \"'hilf reich (hilfreich)'\",\r\n \"BEI_GESTEUERT\": \"'bei gesteuert (beigesteuert)'\",\r\n \"ZWEIFEL_LOS\": \"'zweifel los (zweifellos)'\",\r\n \"OBDACH_LOS\": \"'obdachlos'\",\r\n \"ZU_ER_SCHEINEN\": \"'zu' + Infinitiv\",\r\n \"ZU_ZUMUTEN\": \"'zu zu ... (zuzu ...)'\",\r\n \"TROTZ_ALLEDEM\": \"'trotz alle dem (alledem)'\",\r\n \"TROTZ_DEM_TROTZDEM\": \"'trotz dem (trotzdem / trotz des)'\",\r\n \"VONSTATTEN_GEHEN\": \"'vonstatten gehen (vonstattengehen)'\",\r\n \"VON_STATTEN\": \"'von statten (vonstatten)'\",\r\n \"WEIT_AUS\": \"'weit aus (weitaus)'\",\r\n \"WO_ANDERS\": \"'wo anders (woanders)'\",\r\n \"REIHEN_FOLGE\": \"'reihen folge (Reihenfolge)'\",\r\n \"ZU_ERST\": \"'zu erst (zuerst)'\",\r\n \"BIS_HER\": \"'bis her (bisher)'\",\r\n \"STATTFINDEN\": \"'statt finden (stattfinden)'\",\r\n \"NICHTSDESTOWENIGER\": \"'nichts desto weniger (nichtsdestoweniger)'\",\r\n \"VORNHEREIN\": \"'von vorn herein (vornherein)'\",\r\n \"VORHINEIN\": \"'im vor hinein (Vorhinein)'\",\r\n \"HOERENSAGEN\": \"'vom Hören sagen (Hörensagen)'\",\r\n \"ZEITDRUCK\": \"'unter Zeit Druck (Zeitdruck)' etc.\",\r\n \"INWIEFERN\": \"'in wie fern (inwiefern)' etc.\",\r\n \"SOWIESO\": \"'so wie so (sowieso)'\",\r\n \"DURCHEINANDER\": \"'durcheinander' etc.\",\r\n \"DIENSTAG_ABEND\": \"'Dienstag abend (Dienstagabend)\",\r\n \"DIENSTAG_ABENDS\": \"'Dienstag abend (dienstagabends)\",\r\n \"DESWEGEN\": \"'des wegen (deswegen)'\",\r\n \"CONTRA_PRODUKTIV\": \"'contra produktiv (kontraproduktiv)'\",\r\n \"AUFRECHT_ERHALTEN\": \"'aufrecht erhalten (aufrechterhalten)'\",\r\n \"INFINITIV_MIT_ZU\": \"Infinitiv mit 'zu'\",\r\n \"ALLE_NASE_LANG\": \"alle Nase lang (naselang)\",\r\n \"KLARMACHEN\": \"klar machen (klarmachen)\",\r\n \"IRREMACHEN\": \"irre machen (irremachen)\",\r\n \"SCHWARZSEHEN\": \"schwarz sehen (schwarzsehen)\",\r\n \"ROTSEHEN\": \"rot sehen (rotsehen)\",\r\n \"KLEINREDEN\": \"klein reden (kleinreden)\",\r\n \"SICHERSTELLEN\": \"sicher stellen (sicherstellen)\",\r\n \"KALTLASSEN\": \"kalt lassen (kaltlassen)\",\r\n \"KALTSTELLEN\": \"kalt stellen (kaltstellen)\",\r\n \"BERGAUFWAERTS\": \"Berg aufwärts (bergaufwärts)\",\r\n \"FESTNAGELN\": \"fest nageln (festnageln)\",\r\n \"HEILIGSPRECHEN\": \"heilig sprechen (heiligsprechen)\",\r\n \"KUERZERTRETEN\": \"kürzer treten (kürzertreten)\",\r\n \"ZUFRIEDENGEBEN\": \"zufrieden geben (zufriedengeben)\",\r\n \"GUTHEISSEN\": \"gut heißen (gutheißen)\",\r\n \"KRANKSCHREIBEN\": \"krank schreiben (krankschreiben)\",\r\n \"WACHHALTEN\": \"wach halten / wachhalten\",\r\n \"ZUSAMMENGESETZTE_VERBEN\": \"auf halten (aufhalten)\",\r\n \"INBEGRIFFEN\": \"in begriffen (inbegriffen)\",\r\n \"MASSREGELN\": \"maß regeln (maßregeln)\",\r\n \"MASSHALTEN\": \"maß halten (maßhalten)\",\r\n \"SCHLAFWANDELN\": \"schlaf (wandeln)\",\r\n \"SCHIEFGEHEN\": \"schief gehen (schiefgehen)\",\r\n \"HOCH_ADJ\": \"'hoch + Adjektiv' zusammenschreiben\",\r\n \"HOCH_ZUSAMMENSCHREIBUNG\": \"'hoch + bestimmte Verben, Partizipien (und Adjektive, die nicht erkannt werden)' zusammenschreiben\",\r\n \"SCHWERFAELLIG\": \"schwer fällig (schwerfällig)\",\r\n \"SCHWERFALLEN\": \"schwer fallen (schwerfallen)\",\r\n \"ANHAND\": \"an hand (anhand)\",\r\n \"ZAHL_FACH\": \"zwei fach (zweifach)\",\r\n \"AUSGESCHRIEBENE_ZAHLEN\": \"zwei hundert (zweihundert)\",\r\n \"HINZU\": \"hinzu (hin zu)\",\r\n \"ZUSAMMENSCHREIBUNG_ZURUECK\": \"Zusammenschreibung von Verben mit dem Präfix 'zurück'\",\r\n \"ZUSAMMENSCHREIBUNG_HER\": \"Zusammenschreibung von Verben mit dem Präfix 'her', 'hervor', 'umher' etc.\",\r\n \"ZUSAMMENSCHREIBUNG_HIERHER\": \"Zusammenschreibung von Verben mit dem Präfix 'hierher'\",\r\n \"ZUSAMMENSCHREIBUNG_HINTER\": \"Zusammenschreibung von Verben mit dem Präfix 'hinter', 'hinterher'\",\r\n \"ZUSAMMENSCHREIBUNG_HIN\": \"Zusammenschreibung von Verben mit dem Präfix 'hin', 'hinzu' etc.\",\r\n \"ZUSAMMENSCHREIBUNG_VORAUS\": \"Zusammenschreibung von Verben mit dem Präfix 'voraus', 'vorweg' etc.\",\r\n \"ZUSAMMENSCHREIBUNG_UEBER\": \"Zusammenschreibung von Verben mit dem Präfix 'über'\",\r\n \"INFINITIVGRUPPE_FALSCH_ZUSAMMEN\": \"Falsche Zusammenschreibung bei Infinitivgruppen\",\r\n \"LATEINISCHE_TAENZE\": \"lateinische (lateinamerikanische) Tänze\",\r\n \"ZAHL_LANG_NOMEN\": \"Zahl + 'lang/breit' etc. (fehlende Einheit)\",\r\n \"MORGEN_MIT_VERGANGENHEIT\": \"Zeitform: 'morgen' etc. mit Vergangenheit\",\r\n \"GESTERN_MIT_PRAESENS\": \"Zeitform: 'gestern' etc. mit Präsens\",\r\n \"HUMANEXPERIMENT\": \"Mehrdeutigkeit: menschliche Experimente (Humanexperimente)\",\r\n \"MASSEUSE\": \"Mehrdeutigkeit: Masseuse (Masseurin)\",\r\n \"TEUFELSKREISLAUF\": \"Teufelskreislauf (Teufelskreis)\",\r\n \"HUERDEN_UMSCHIFFEN\": \"'Hürden umschiffen / Klippen überspringen'\",\r\n \"UNGEFAEHR_GENAU\": \"'ungefähr genau'\",\r\n \"SEIT_IN_KRAFT_TRETEN\": \"in Kraft / in Kraft treten\",\r\n \"IMMER_NIE\": \"'immer nie'\",\r\n \"RUNDE_ECKEN\": \"'runde Ecken'\",\r\n \"NOBELPREISGEWINNER\": \"'Nobelpreisträger' statt 'Nobelpreisgewinner'\",\r\n \"LICHTJAHR\": \"Lichtjahr als Zeiteinheit\",\r\n \"FLIESEND\": \"fliesend (fließend)\",\r\n \"QUADRATWURZEL\": \"Quadratwurzel (2 Lösungen)\",\r\n \"DOPPELTE_TEMPERATUR\": \"Temperatur vs. Temperaturdifferenz: 'halb so warm'\",\r\n \"WINTER_DDDDD\": \"Winter 20211 (2021)\",\r\n \"DATUM_ZUKUNFT_VERB_VERGANGENHEIT\": \"Datum in der Zukunft, Verb in der Vergangenheitsform\",\r\n \"DATUM_NEUES_JAHR\": \"Ein neues Jahr hat begonnen\",\r\n \"DATUM_WOCHENTAG\": \"Wochentag passt nicht zum Datum\",\r\n \"DATUM_WOCHENTAG_OHNE_JAHR\": \"Wochentag passt nicht zum Datum dieses Jahres\",\r\n \"UNGUELTIGES_DATUM\": \"Ungültiges Datum, z.B. '31. Februar'\",\r\n \"DATUM_VON_BIS\": \"falsche von/bis-Reihenfolge bei Datum\",\r\n \"DOPPELUNG_JAHRE\": \"'Jahre 1990 bis 1990'\",\r\n \"DOPPELTE_VERNEINUNG\": \"Doppelte Verneinung: 'ohne dass es keine'\",\r\n \"KEIN_EIN\": \"'kein ein'\",\r\n \"HAUPTPROTAGONIST\": \"Hauptprotagonist (Protagonist)\",\r\n \"TAEGLICHER_ALLTAG\": \"täglicher Alltag\",\r\n \"WELTWEIT_DER_WELT\": \"weltweit ... der Welt\",\r\n \"ZENTRALER_KERNBAUSTEIN\": \"zentraler Kernbaustein\",\r\n \"NEBEN_MIT\": \"neben mit\",\r\n \"HEILIGER_SANKT_X\": \"Der heilige Sankt Peter etc.\",\r\n \"CA_ETWA\": \"'ca. etwa'\",\r\n \"UEBER_DARUEBER\": \"'über darüber'\",\r\n \"EHEMALIG_EX\": \"ehemaliger Ex- ...\",\r\n \"INNEN_HOHL\": \"'innen hohl'\",\r\n \"FALSCHER_TRUGSCHLUSS\": \"'falscher Trugschluss'\",\r\n \"UND_ETC\": \"'und etc.'\",\r\n \"UND_SOWIE\": \"'und sowie'\",\r\n \"DOPPELUNG_YYXXER_JAHRE\": \"19XXer Jahre des zwanzigsten Jahrhunderts\",\r\n \"ETC_PUNKTE\": \"'etc. …'\",\r\n \"SCHEINT_ANSCHEINEND\": \"'scheint anscheinend'\",\r\n \"ZEITLICH_SYNCHRON\": \"'zeitlich synchron'\",\r\n \"VERDOPPELUNG\": \"'meistens immer', 'schon bereits' etc.\",\r\n \"SEMANTISCHE_BEDEUTUNG\": \"'semantische Bedeutung'\",\r\n \"KLEINE_-CHEN\": \"'kleines Häuschen' etc.\",\r\n \"SELTENE_RARITAET\": \"seltene Rarität\",\r\n \"ZEITLICHE_VERZOEGERUNG\": \"zeitliche Verzögerung\",\r\n \"WERTLOSER_BALLAST\": \"wertloser Ballast\",\r\n \"WEIBLICHE_-INNEN\": \"'weibliche Benutzerin' etc.\",\r\n \"RUNDE_KUGEL\": \"'runde Kugel' etc. (nur für wenige Fälle)\",\r\n \"VON_WOHER\": \"'von woher'\",\r\n \"WOHIN_HIN\": \"'wohin ... hin'\",\r\n \"WAEHREND_DES_VERLAUFS\": \"'während des Verlaufs'\",\r\n \"KAUSAL_VERURSACHT\": \"'kausal verursachen'\",\r\n \"ERHOEHTER_HOCHDRUCK\": \"'erhöhter Bluthochdruck'\",\r\n \"SYNONYME_BEDEUTUNG\": \"'synonyme Bedeutung'\",\r\n \"ANONYMER_NAME\": \"'anonymer Name'\",\r\n \"KMH_PRO_STUNDE\": \"'km/h (Kilometer) pro Stunde'\",\r\n \"RECHTLICH_LEGAL\": \"'rechtlich/juristisch legal'\",\r\n \"ENTSTAMMEN_AUS\": \"'entstammt aus (entstammt)'\",\r\n \"INMITTEN_IN_DER\": \"'inmitten in der (inmitten der)'\",\r\n \"ISBN-NUMMER\": \"Verdoppelung bei Komposita: 'ISBN-Nummer (ISBN)' etc.\",\r\n \"TROMMELREVOLVER\": \"Verdoppelung bei Komposita: 'Trommelrevolver (Revolver)' etc.\",\r\n \"ERSTE_PERSON_SIN_OHNE_E\": \"ich kauf (ich kaufe)\",\r\n \"ZUM_STATT_FUERS\": \"fürs (zum) Schneiden\",\r\n \"DOPPELPERFEKT\": \"Doppeltes Perfekt: 'ich habe es geputzt gehabt' etc.\",\r\n \"SO_DERMASSEN\": \"'so dermaßen (so/dermaßen)'\",\r\n \"UEBERHAUPT_GAR_NICHT\": \"'überhaupt gar nicht/kein' etc.\",\r\n \"BRAUCHEN_ZU\": \"brauchen mit Infinitiv mit 'zu\",\r\n \"WEGEN_DIR\": \"'wegen dir (deinetwegen)' etc.\",\r\n \"FUER_UMSONST\": \"'für umsonst'\",\r\n \"SATZ_VON\": \"'Satz von (des) Pythagoras etc.'\",\r\n \"BRAUCHEN_OHNE_ZU\": \"fehlendes zu\",\r\n \"BAUCHWEH\": \"'Bauchweh (Bauchschmerz)'\",\r\n \"PER_DEFINITION\": \"'per Definition (definitionem)'\",\r\n \"TAUCHERBRILLE\": \"'Taucherbrille (Schwimmbrille, Tauchermaske)'\",\r\n \"GOTTESTEILCHEN\": \"'Gottesteilchen (Higgs-Boson)'\",\r\n \"AUF_OFFEN\": \"'auf (offen)'\",\r\n \"SCHEISS_HAMMER_RIESEN\": \"'riesen' etc. als Adjektiv\",\r\n \"GEHIESSEN\": \"'gehießen (geheißen)'\",\r\n \"LILANES\": \"'orangenes (oranges) Shirt'\",\r\n \"MEIN_INTERNET\": \"'mein Internet (meine Internetverbindung)'\",\r\n \"MATHE\": \"'Mathe (Mathematik) etc.'\",\r\n \"FERNSEHENGUCKEN\": \"'Fernsehen gucken (fernsehen)'\",\r\n \"MODALPARTIKELN\": \"Häufung von Modalpartikeln (z.B. 'dann doch eigentlich auch')\",\r\n \"ALS_WIE\": \"'als wie (wie)'\",\r\n \"KOMP_WIE\": \"'besser wie (als)'\",\r\n \"SINN_MACHEN\": \"'Sinn machen'\",\r\n \"DASSELBE_DAS_GLEICHE\": \"'das gleiche (dasselbe)'\",\r\n \"MACHEN_UMGANGSSPRACHE\": \"umgangssprachliche Verwendung von 'machen'\",\r\n \"PLUS_RECHNEN\": \"'plus rechnen (addieren)' etc.\",\r\n \"VOLTZAHL\": \"Einheitsbezeichnungen ('Voltzahl', 'Stundenkilometer' etc.)\",\r\n \"RAN_RUM_RAUF_REIN_RAUS_RUNTER\": \"'rauf (herauf)' etc. [unvollständig!]\",\r\n \"MIT_OHNE\": \"'mit ohne'\",\r\n \"MURKSEN\": \"'abmurksen' etc. [unvollständige Markierung ugs. Ausdrucksweisen]\",\r\n \"VOLTMETER\": \"'Voltmeter (Spannungsmessgerät)' etc.\",\r\n \"DRAUF\": \"'drauf'\",\r\n \"NACH_HAUS\": \"Ich gehe nach Haus (Hause)\",\r\n \"KUDAMM\": \"Ku'damm\",\r\n \"MEINSTE\": \"Meinste (Meinst du)\",\r\n \"KATARI\": \"Katari (Katarer)\",\r\n \"CUM_EX\": \"CumEx (Cum-Ex)\",\r\n \"WORTWIEDERHOLUNG_SEHR\": \"Alternativen für Wortwiederholung von 'sehr'\",\r\n \"ALLEN_ERNSTES_STIL\": \"Alternativen für 'allen Ernstes'\",\r\n \"VERSEHENTLICHERWEISE\": \"versehentlicherweise (versehentlich)\",\r\n \"ICH_LIEBS\": \"ich liebs (liebe es)\",\r\n \"INS_FITNESS\": \"ins Fitness (Fitnessstudio)\",\r\n \"ARGUMENT_ANBRINGEN\": \"ein Argument anbringen\",\r\n \"KALTE_TEMPERATUR\": \"heiße / kalte (hohe / niedrige) Temperatur\",\r\n \"SOWOHL_UND\": \"sowohl ... und (als auch)\",\r\n \"SICH_GEGENSEITIG\": \"gegenseitig (einander)\",\r\n \"WOERTER_OHNE_STEIGERUNG\": \"Sie waren die Einzigsten (Einzigen).\",\r\n \"DAUERN_TUT\": \"dauern tut -> dauert\",\r\n \"OEFTESTEN\": \"öftesten (häufigsten)\",\r\n \"AUF_ARBEIT\": \"Auf (der) Arbeit\",\r\n \"DRUEBER\": \"drüber (darüber)\",\r\n \"DRUNTER\": \"drunter (darunter)\",\r\n \"DADRAUS\": \"dadraus\",\r\n \"DADRAN\": \"dadran\",\r\n \"DADRAUF\": \"dadrauf\",\r\n \"DADRINNEN\": \"dadrinnen\",\r\n \"DADRIN\": \"dadrin\",\r\n \"DADRUNTER\": \"dadrunter\",\r\n \"DADRUEBER\": \"dadrüber\",\r\n \"DADRUM\": \"dadrum\",\r\n \"MEHR_LIEB_ALS\": \"mehr lieb -> lieber\",\r\n \"SUCHEN_HELFEN\": \"suchen helfen -> beim Suchen helfen\",\r\n \"SIEBEN_TAGES_INZIDENZ\": \"7-Tage-Inzidenz\",\r\n \"AN_FUER_SICH\": \"an für sich (an und für sich)\",\r\n \"MEHR_ALS_ZAL_PLUS\": \"mehr als 10+ (10)\",\r\n \"NIX\": \"nix (nichts)\",\r\n \"NICHTSDESTOTROTZ_II\": \"nichtsdestotrotz (nichtsdestoweniger)\",\r\n \"DIESEN_JAHRES\": \"diesen (dieses) Jahres\",\r\n \"FEHLERHAFTER_SUPERLATIV\": \"nicht-steigerbares Adjektiv 'ideal'\",\r\n \"FEHLERHAFTER_SUPERLATIV_PREFEKT\": \"nicht-steigerbares Adjektiv 'perfekt'\",\r\n \"NICHT_ADAEQUAT_GENUG\": \"'nicht adäquat genug'\",\r\n \"MEISTE_ALLER\": \"'die meisten aller ...'\",\r\n \"PRP_WAS_WO\": \"Standardsprache: 'woran' statt 'an was'\",\r\n \"UST_ID\": \"Empfohlene Schreibweise für Umsatzsteuer-Identifikationsnummer\",\r\n \"ZWISCHEN_SEIT_BIS\": \"'Zwischen ... bis ...'\",\r\n \"ADWORDS\": \"AdWords (umbenannt zu Google Ads)\",\r\n \"MYTAXI\": \"MyTaxi (umbenannt zu Free Now)\",\r\n \"SPACEX\": \"SpaceX\",\r\n \"ERSTSEMESTERIN\": \"die Erstsemesterin (das Erstsemester)\",\r\n \"MAENNER_VS_LEUTE\": \"'Kaufmänner' etc. statt 'Kaufleute'\",\r\n \"MANNSTUNDE\": \"'Mannstunde' etc. statt 'Personenstunde'\",\r\n \"MAEDCHENNAME\": \"'Mädchenname' statt 'Geburtsname'\",\r\n \"PUTZFRAU\": \"'Reinigungskraft' statt 'Putzfrau'\",\r\n \"GLEICHBEHANDLUNG\": \"Gleichbehandlung: (m/w) -> (m/w/x)\",\r\n \"MIT_FREUNDLICHEN_GRUESSE\": \"'Mit freundlichen Grüße (Grüßen)' etc.\",\r\n \"ANREDE\": \"'Sehr geehrte (geehrter) Herr Müller' etc.\",\r\n \"LIEBER_ANNA\": \"'Lieber (Liebe) Anna, ...' (als Anredeformel)\",\r\n \"LIEB_GRUESSE\": \"'Lieb (Liebe) Grüße'\",\r\n \"MIT_FREUNDLICHEN\": \"'mit Freundlichen (freundlichen) grüßen (Grüßen)'\",\r\n \"MFG\": \"'MfG (Mit freundlichen Grüßen)' (abgekürzte Schlussformeln)\",\r\n \"SIE_GROSS\": \"Möglicherweise fälschlich großgeschriebenes 'Sie'\",\r\n \"SIE_ANREDE_BITTE\": \"Möglicherweise fälschlich kleingeschriebenes 'Sie' in 'bitte ... sie'\",\r\n \"MIT_FREUNDLICHEN_GRUESSEN_KOMMA\": \"Falsches Satzzeichen nach 'Mit freundlichen Grüßen' etc.\",\r\n \"DAS_UNDENKBARE\": \"das undenkbare (Undenkbare)\",\r\n \"HEY_LIEBES\": \"Hey liebes (Liebes),\",\r\n \"WAS_MACHST_DU_SCHOENES\": \"Was machst du schönes (Schönes)\",\r\n \"VOM_FEINSTEN\": \"vom feinsten (Feinsten)\",\r\n \"UNTER_FERNER_LIEFEN\": \"unter ferner Liefen (liefen)\",\r\n \"IM_INNEREN\": \"im inneren (Inneren)\",\r\n \"ALS_LETZTER\": \"als letztes (Letztes)\",\r\n \"SCHLIMMERES_VERHINDERN\": \"schlimmeres (Schlimmeres) verhindern\",\r\n \"MIT_VERWEIS_AUF\": \"mit verweis (Verweis) auf\",\r\n \"DAS_BE_UND_ENTLADEN\": \"das be- und entladen (Be- und Entladen)\",\r\n \"VIELE_REISENDE\": \"viele reisende (Reisende)\",\r\n \"DAS_BESTE\": \"das beste (Beste), was\",\r\n \"DAS_HOECHSTE_DER_GEFUEHLE\": \"das Höchste (höchste) der Gefühle\",\r\n \"SECHS_RICHTIGE\": \"sechs richtige (Richtige)\",\r\n \"SEIT_BEKANNTWERDEN\": \"seit bekanntwerden (Bekanntwerden)\",\r\n \"SCHMIERE_STEHEN\": \"schmiere (Schmiere) stehen\",\r\n \"ICH_BIN_AM_UEBERLEGEN\": \"Ich bin am überlegen (Überlegen)\",\r\n \"MEIN_ERSPARTES\": \"mein erspartes (Erspartes)\",\r\n \"PROF_KLEIN\": \"prof. -> Prof.\",\r\n \"KEINE_EILE\": \"keine eile (Eile)\",\r\n \"DAS_GESAGTE\": \"das gesagte (Gesagte)\",\r\n \"REGEN_KLEIN\": \"der regen (Regen)\",\r\n \"IN_WEITE_FERNE\": \"in weite ferne (Ferne)\",\r\n \"IM_FREIEN\": \"im freien (Freien)\",\r\n \"WERKE_SUBST\": \"werke (Werke)\",\r\n \"FUER_DAS_REAGIEREN\": \"Danke für das schnelle reagieren (Reagieren)\",\r\n \"ICH_VERB_GROSS\": \"Ich Liebe (liebe) dich\",\r\n \"HALLO_LIEBE_PETRA\": \"Hallo Liebe (liebe) Petra\",\r\n \"IN_TEILEN\": \"in teilen (Teilen)\",\r\n \"DEUTSCHE_POST\": \"deutsche (Deutsche) Post\",\r\n \"IN_DEN_GRIFF_BEKOMMEN\": \"in den griff (Griff) bekommen\",\r\n \"ZUR_WEHR_SETZEN\": \"zur wehr (Wehr) setzen\",\r\n \"ZWIEBEL_SUBST\": \"zwiebel (Zwiebel)\",\r\n \"ZUGRIFF_SUBST\": \"der zugriff (Zugriff)\",\r\n \"WAS_GIBT_ES_NEUES\": \"was gibt es neues (Neues)\",\r\n \"WAHRES_ICH\": \"sein wahres ich (Ich)\",\r\n \"PERSONAL\": \"personal (Personal)\",\r\n \"IM_SOG\": \"im sog (Sog)\",\r\n \"KOMMODE\": \"die kommode (Kommode)\",\r\n \"BOCK_HABEN\": \"bock (Bock) haben\",\r\n \"NACH_DEM_RECHTEN_SCHAUEN\": \"nach dem rechten (Rechten)\",\r\n \"RATE_SUBST\": \"die rate (Rate)\",\r\n \"AUF_ANHIEB\": \"auf anhieb (Anhieb)\",\r\n \"IN_ALLEN_BELANGEN\": \"in allen belangen (Belangen)\",\r\n \"AUSSCHAU_HALTEN\": \"ausschau (Ausschau) halten\",\r\n \"ABLAUF_SUBST\": \"der ablauf (Ablauf)\",\r\n \"HABE_BEDENKEN\": \"habe bedenken (Bedenken)\",\r\n \"SUB_INF_UND_VER_INF\": \"beim Suchen und finden (Finden)\",\r\n \"IM_LANDE\": \"im lande (Lande)\",\r\n \"IM_PLUS\": \"ins plus (Plus)\",\r\n \"BEAMTE\": \"beamte vs. Beamte\",\r\n \"SO_EIN_QUATSCH\": \"so ein quatsch (Quatsch)\",\r\n \"IST_DIE_FRAGE\": \"dann ist die frage (Frage)\",\r\n \"KREUZ_SUBST\": \"das kreuz (Kreuz) ist\",\r\n \"KREUZ_UND_QUER\": \"Kreuz (kreuz) und Quer (quer)\",\r\n \"KEIN_ZURUECK\": \"kein zurück (Zurück)\",\r\n \"BETRIEB_SUBST\": \"der betrieb (Betrieb) ist\",\r\n \"TOP_IN_FORM\": \"Top (top) in Form\",\r\n \"ERST_RECHT\": \"erst Recht (recht)\",\r\n \"PASS_SUBST\": \"der pass (Pass) ist\",\r\n \"ORTE_SUBST\": \"der ort (Ort) ist\",\r\n \"WETTER_SUBST\": \"das wetter (Wetter)\",\r\n \"POST_SUBST\": \"einen post (Post) veröffentlichen\",\r\n \"EIN_KOMMEN_UND_GEHEN\": \"ein kommen und gehen\",\r\n \"ADJ_CASE\": \"ein Zeitloses (zeitloses) Design\",\r\n \"FUER_MICH_SELBST\": \"für mich Selbst (selbst)\",\r\n \"GANG_CASE\": \"'gang' kleingeschrieben\",\r\n \"ANGST_CASE\": \"'angst' kleingeschrieben\",\r\n \"SOCIAL_MEDIA\": \"Social Media\",\r\n \"ACH_UND_KRACH\": \"mit ach (Ach) und krach (Krach)\",\r\n \"PER_DEFAULT\": \"per default (Default)\",\r\n \"BIKE_SUBST\": \"ein bike (Bike) radeln\",\r\n \"SPERRE_SUBST\": \"eine sperre (Sperre) verhängen\",\r\n \"VERTRAG_SUBST\": \"einen vertrag (Vertrag) schließen\",\r\n \"SCHOENEN_UND_REICHEN\": \"die reichen (Reichen) und schönen (Schönen)\",\r\n \"VERGLEICH_SUBST\": \"der vergleich (Vergleicht) hinkt\",\r\n \"JEDERMANN\": \"'Jedermann' Kleinschreibung\",\r\n \"KOMMT_MIR_SPANISCH_VOR\": \"kommt mir Spanisch (spanisch) vor\",\r\n \"IM_HIER_UND_JETZT\": \"im Hier und Jetzt\",\r\n \"EINE_NEUE_BLEIBE\": \"eine neue bleibe (Bleibe)\",\r\n \"VIELE_LIEBE_GRUESSE\": \"Viele Liebe (liebe) Grüße\",\r\n \"WEISE_SUBST\": \"auf diese weise (Weise)\",\r\n \"ZU_GUTER_LETZT\": \"zu guter letzt (Letzt)\",\r\n \"EIN_DUTZEND_MAL\": \"ein dutzend Mal (Dutzend Mal)\",\r\n \"NICHT_SO_RECHT\": \"nicht so Recht (recht)\",\r\n \"AL_DENTE\": \"Kleinschreibung von 'al dente'\",\r\n \"NICHTS_FUER_UNGUT\": \"nichts für Ungut (ungut)\",\r\n \"FUER_GROSS_UND_KLEIN\": \"für groß (Groß) und klein (Klein)\",\r\n \"JEDEM_DAS_SEINE\": \"jedem das seine (Seine)\",\r\n \"ZU_SEINEM_ENTSETZEN\": \"zu seinem entsetzen (Entsetzen)\",\r\n \"FEDERN_LASSEN\": \"federn (Federn) lassen\",\r\n \"ZUM_TROTZ\": \"zum trotz (Trotz)\",\r\n \"BEIDE_MALE\": \"beide male (Male)\",\r\n \"GUTES_GELINGEN\": \"ein gutes gelingen (Gelingen)\",\r\n \"AUS_DER_PATSCHE\": \"patsche (Patsche)\",\r\n \"VORSCHAU_SUBST\": \"ihre vorschau (Vorschau)\",\r\n \"GERAET_SUBST\": \"ihr gerät (Gerät)\",\r\n \"MIETE_SUBST\": \"halbe miete (Miete)\",\r\n \"IHR_LIEBEN\": \"hallo ihr lieben (Lieben)\",\r\n \"MUSS_NOMEN\": \"ein muss (Muss)\",\r\n \"AUFGABEN_SUBST\": \"meine aufgaben (Aufgaben)\",\r\n \"DER_KLICK_AUF\": \"der klick (Klick) auf\",\r\n \"GEGENUEBER\": \"Gegenüber (gegenüber)\",\r\n \"RUECKEN_AN_RUECKEN\": \"Rücken an Rücken\",\r\n \"EIN_AUF_UND_AB\": \"ein auf und ab (Auf und Ab)\",\r\n \"IN_RAGE\": \"in rage (Rage)\",\r\n \"FALL_SUBST\": \"fall (Fall)\",\r\n \"TOP_ODER_FLOP\": \"top (Top) oder flop (Flop)\",\r\n \"KEIN_VERLASS\": \"kein verlass (Verlass)\",\r\n \"HALLO_ZUSAMMEN\": \"Hallo Zusammen (zusammen)\",\r\n \"GANG_UND_GAEBE\": \"gang und gäbe\",\r\n \"NAH_UND_FERN\": \"Nah (nah) und Fern (fern)\",\r\n \"FROHES_NEUES\": \"frohes neues (Neues)!\",\r\n \"AM_NOETIGSTEN\": \"am nötigsten (Nötigsten)\",\r\n \"ERST_MAL_KLEIN\": \"erst Mal (mal)\",\r\n \"NACH_LÄNGEREM_ÜBERLEGEN\": \"nach längerem überlegen (Überlegen)\",\r\n \"ALLE_VERBLEIBENDEN\": \"alle verbleibenden (Verbleibenden)\",\r\n \"ER_IST_STOLZ\": \"Er ist Stolz (stolz)\",\r\n \"GUTEN_RUTSCH\": \"guten rutsch (Rutsch)\",\r\n \"IN_DER_FRUEH\": \"in der früh (Früh)\",\r\n \"WICHTIGERES_ZU_TUN\": \"wichtigeres (Wichtigeres) zu tun\",\r\n \"ALLEN_ERNSTES\": \"allen ernstes (Ernstes)\",\r\n \"AUF_DRÄNGEN\": \"Auf drängen (Drängen)\",\r\n \"BEI_GENAUEREM_HINSEHEN\": \"bei genauerem hinsehen (Hinsehen)\",\r\n \"DAS_RICHTIGE_TUN\": \"das richtige (Richtige) tun\",\r\n \"PRIVATES_UND_BERUFLICHES\": \"privates und berufliches (Privates und Berufliches)\",\r\n \"IN_FLAGRANTI\": \"in Flagranti (flagranti)\",\r\n \"EIN_GEBEN_UND_NEHMEN\": \"ein geben (Geben) und nehmen (Nehmen)\",\r\n \"UM_GROESSERES_ZU\": \"um schlimmeres (Schlimmeres) zu vermeiden\",\r\n \"DER_KLUEGERE_GIBT_NACH\": \"Der klügere (Klügere) gibt nach\",\r\n \"GENAUERES_SAGEN\": \"genaueres (Genaueres) sagen\",\r\n \"BEI_BEGINN\": \"bei beginn (Beginn)\",\r\n \"BEI_GOOGLE\": \"bei google (Google)\",\r\n \"NICHTS_ZU_SCHADE\": \"zu Schade (schade)\",\r\n \"AUF_ZUHAUSE\": \"auf Zuhause (zu Hause)\",\r\n \"AUF_DAHEIM\": \"auf Daheim (daheim)\",\r\n \"FUER_UNTERWEGS\": \"für Unterwegs (unterwegs)\",\r\n \"TUTEN_UND_BLASEN\": \"Tuten und Blasen\",\r\n \"UNTERM_STRICH\": \"unterm strich (Strich)\",\r\n \"LUG_UND_TRUG\": \"Lug und Trug\",\r\n \"AUF_ZACK\": \"auf zack (Zack)\",\r\n \"EINS_ZU_EINS_CASING\": \"Eins zu Eins (eins zu eins)\",\r\n \"PAR_EXCELLENCE\": \"par Excellence (par excellence)\",\r\n \"SUESSES_ODER_SAURES\": \"süßes oder saures (Süßes oder Saures)\",\r\n \"TOUREN_SUBST\": \"auf touren (Touren)\",\r\n \"UNTER_DRUCK\": \"unter druck (Druck)\",\r\n \"REDE_UND_ANTWORT\": \"Rede und Antwort\",\r\n \"MIT_ERSTAUNEN\": \"mit erstaunen (Erstaunen)\",\r\n \"NACH_JETZIGEN_STAND\": \"nach heutigem stand (Stand)\",\r\n \"RELEASE_SUBST\": \"das release (Release)\",\r\n \"IN_FORM\": \"in form (Form)\",\r\n \"IM_STILLEN\": \"im stillen (Stillen)\",\r\n \"IM_WEG_STEHEN\": \"im weg (Weg) stehen\",\r\n \"HAPPY_END\": \"Happy End\",\r\n \"KEIN_GERINGERER_ALS\": \"kein geringerer (Geringerer) als\",\r\n \"IM_OSTEN\": \"im osten (Osten)\",\r\n \"EINIGES\": \"Einiges (einiges)\",\r\n \"FUNKEN_ANSTAND\": \"keinen Funken Anstand\",\r\n \"IM_SITZEN\": \"im sitzen (Sitzen)\",\r\n \"ZUM_BESSEREN_ÄNDERN\": \"zum besseren (Besseren) wenden\",\r\n \"AUS_DEM_NICHTS\": \"aus dem nichts (Nichts)\",\r\n \"IN_GRENZEN\": \"in grenzen (Grenzen)\",\r\n \"GROEBSTEN\": \"mit dem gröbsten (Gröbsten) durch\",\r\n \"SCHLIMMSTE_HINTER_UNS\": \"das schlimmste (Schlimmste) hinter sich\",\r\n \"EINE_MENGE_GUTES\": \"Eine Menge gutes (Gutes)\",\r\n \"SICH_SELBST_DER_NAECHSTE\": \"sich selbst der nächste (Nächste)\",\r\n \"DIE_GRUENEN_WAEHLEN\": \"Die grünen (Grünen) wählen\",\r\n \"KFZ_CASE\": \"KFZ -> Kfz\",\r\n \"EFFIZIENTES_ARBEITEN\": \"effizientes arbeiten (Arbeiten)\",\r\n \"TAT_SUBST\": \"die tat (Tat)\",\r\n \"GEBRAUCH_MACHEN\": \"gebrauch (Gebrauch) machen\",\r\n \"DA\": \"DA (Da)\",\r\n \"EXTRA\": \"Extra als Adverb\",\r\n \"DAS_WEITE\": \"das weite (Weite) suchen\",\r\n \"IN_DER_MACHE\": \"in der mache (Mache)\",\r\n \"DIE_HECHTE\": \"barsche (Barsche) etc. fangen\",\r\n \"KUGELN_SUBST\": \"zwei kugeln (Kugeln) Eis\",\r\n \"STRICH_SUBST\": \"ein strich (Strich)\",\r\n \"AUSMASS_SUBST\": \"von ungeahnten ausmaßen (Ausmaßen) etc.\",\r\n \"MESSERS_SCHNEIDE\": \"auf Messers Schneide\",\r\n \"ZUCKERBROT_UND_PEITSCHE\": \"Zuckerbrot und peitsche (Peitsche)\",\r\n \"HERR_MEINER_SELBST\": \"Herr seiner Selbst (selbst)\",\r\n \"ANSTAND_SUBST\": \"keinen anstand (Anstand)\",\r\n \"BLICK_SUBST\": \"der blick (Blick)\",\r\n \"NEUES_WAGEN\": \"neues (Neues) wagen\",\r\n \"SCHMERZEN_SUBST\": \"die schmerzen (Schmerzen)\",\r\n \"GEBÜHREN_SUBST\": \"die gebühren (Gebühren)\",\r\n \"LINK_SUBST\": \"der link (Link)\",\r\n \"IHR_EUCH\": \"Ihr euch (Euch)\",\r\n \"EHRE_SUBST\": \"die ehre (Ehre)\",\r\n \"VERSPRECHEN_SUBST\": \"das versprechen (Versprechen)\",\r\n \"BUTTER_BEI_DIE_FISCHE\": \"Butter bei die Fische!\",\r\n \"MUEHE_SUBST\": \"mühe (Mühe) geben\",\r\n \"RUF_SUBST\": \"sein ruf (Ruf)\",\r\n \"REISE_SUBST\": \"ihre reise (Reise)\",\r\n \"WELLEN_SUBST\": \"Alle wellen (Wellen)\",\r\n \"KRAFT_AMTES\": \"Kraft (kraft) Amtes\",\r\n \"IST_TEIL\": \"ist teil (Teil) von\",\r\n \"TEIL_VON\": \"teil (Teil) von\",\r\n \"ZUM_TEIL\": \"zum teil (Teil)\",\r\n \"IN_KAUF_NEHMEN\": \"in kauf (Kauf) nehmen\",\r\n \"IHN\": \"Kleinschreibung 'ihn/ihm'\",\r\n \"ALLE\": \"Alle vs. alle\",\r\n \"AUF_JEDEN_FALL\": \"Auf jeden fall (Fall)\",\r\n \"AUF_BITTEN\": \"auf bitten (Bitten)\",\r\n \"KLEINSCHREIBUNG_MAL\": \"Mal ? mal\",\r\n \"AUFS_SCHAERFSTE\": \"auf das schärfste (Schärfste)\",\r\n \"WERT_SEIN\": \"was das Wert (wert) ist\",\r\n \"PAUSE_MACHEN\": \"pause (Pause) machen\",\r\n \"DAS_ALTER\": \"Das alter (Alter)\",\r\n \"KLEIN_NACH_PUNKT\": \"Kleinschreibung und fehlendes Leerzeichen nach Punkt\",\r\n \"ICH_HABE\": \"Ich Habe (habe) das nicht gegessen.\",\r\n \"FRAGE_KLEIN\": \"eine frage (Frage)\",\r\n \"RECHT_MACHEN\": \"Kleinschreibung 'recht' in 'es allen recht machen'\",\r\n \"TEILEN\": \"zu beiden teilen (Teilen)\",\r\n \"DER_UNTERSCHIED\": \"der unterschied (Unterschied)\",\r\n \"EINIGE_FRAGEN\": \"einige fragen (Fragen)\",\r\n \"DIE_ZEIT\": \"die zeit (Zeit)\",\r\n \"FOLGENDES\": \"folgendes (Folgendes)\",\r\n \"DER_FADEN\": \"der faden (Faden)\",\r\n \"DIE_SCHWERE\": \"die schwere (Schwere)\",\r\n \"SAMT_UND_SONDERS\": \"Samt (samt) und sonders\",\r\n \"ZU_ALLEM_ÜBEL\": \"zu allem übel (Übel)\",\r\n \"STELLT_FEST\": \"stellen Fest (fest)\",\r\n \"FEST\": \"fest (Fest)\",\r\n \"DAS_KLEINES_SUBST_ADJEKTIV\": \"kleingeschriebenes nominalisiertes Adjektiv am Satzanfang\",\r\n \"ZU_ALLEM\": \"zu Allem (allem)\",\r\n \"DER_BESTE\": \"der beste (Beste) sein\",\r\n \"PRP_VER_PRGK\": \"bei fragen (Fragen)\",\r\n \"DAS_BESTE_AM\": \"'das beste (Beste) am' etc.\",\r\n \"DOPPELPUNKT_GROSS\": \"Großschreibung nach Doppelpunkt\",\r\n \"BESTES_GEBEN\": \"'bestes (Bestes) geben/tun/kommen'\",\r\n \"DAS_BESTE_SEIN\": \"'das beste (Beste) sein'\",\r\n \"IN_DER_MACHT_STEHENDE\": \"Großschreibung von 'Stehende' in 'alles in jemandes Macht Stehende'\",\r\n \"RECHTENS\": \"'Rechtens (rechtens)'\",\r\n \"WILLKOMMEN_GROSS\": \"herzlich Willkommen (willkommen)\",\r\n \"VON_RANG\": \"von/im rang (Rang)\",\r\n \"FREUND\": \"freund (Freund)\",\r\n \"BESTAND\": \"bestand (Bestand)\",\r\n \"SUBSTANTIVIERTES_ADJEKTIV\": \"ein langsames senken (Senken) des Drucks\",\r\n \"SEIT_BEGINN\": \"'seit beginn (seit Beginn)'\",\r\n \"DEFEKT\": \"'kein defekt (kein Defekt)'\",\r\n \"GROSSSCHREIBUNG_BEI_WOERTLICHER_REDE\": \"Großschreibung bei wörtlicher Rede\",\r\n \"UNFEST_ZUSAMMENGESETZTE_VERBEN\": \"unfest zusammengesetzte Verben: du stehst Kopf (kopf)\",\r\n \"SUBSTANTIVIERTES_PARTIZIP\": \"nominalisiertes Partizip\",\r\n \"PRAEPOSITION_NICHTDEKLINIERTES_ADJEKTIV\": \"Kleinschreibung undeklinierter Adjektive mit Präposition\",\r\n \"AUFS_SPIEL_SETZEN\": \"aufs spiel (Spiel) setzen\",\r\n \"AUF_DEM_TROCKENEN\": \"auf dem trockenen (Trockenen) sitzen\",\r\n \"SIE_DIALOG\": \"Erlauben sie (Sie)?\",\r\n \"ICH_NOMEN\": \"Ich Rede (rede) etc.\",\r\n \"ZUR_ABBITTE_ETC\": \"meiner abfahrt (Abfahrt) etc.\",\r\n \"ESSEN_GEHEN\": \"'essen gehen'\",\r\n \"ZU_ESSEN\": \"zu Essen (essen) geben / haben / bekommen\",\r\n \"ZU_SCHERZEN\": \"zu scherzen (Scherzen) aufgelegt\",\r\n \"AUS_ZUM_TROTZ\": \"'zum Trotz' / 'aus Trotz'\",\r\n \"EIN_KLEINES_NOMEN\": \"ein klopfen (Klopfen) etc.\",\r\n \"EIN_FUENFTEL\": \"ein fünftel (Fünftel) etc.\",\r\n \"EIN_NTEL_EINHEIT\": \"ein Fünftel (fünftel) Liter\",\r\n \"KARDINALZAHLEN\": \"Kleinschreibung von Kardinalzahlen: um Vier (vier)\",\r\n \"ZAHLWOERTER\": \"Großschreibung von Zahlwörtern\",\r\n \"EINS_UND_EINS\": \"eins und eins zusammenzählen\",\r\n \"FOLGE_LEISTEN\": \"leiste ... folge (Folge)\",\r\n \"DU_DICH\": \"Du dich (Du Dich, du dich)\",\r\n \"WORTPAAR\": \"jung und alt (Jung und Alt)\",\r\n \"PLEITE_SEIN\": \"Pleite (pleite) sein\",\r\n \"ALS_ERSTES\": \"'als erstes (Erstes)' etc.\",\r\n \"ANS_KLEINES_NOMEN\": \"ans/fürs/... + kleingeschriebenes Nomen\",\r\n \"ANS_EINGEMACHTE\": \"ans eingemachte (Eingemachte)\",\r\n \"AM_KLEINES_NOMEN\": \"am/beim/... + kleingeschriebenes Nomen\",\r\n \"VOM_KLEINES_NOMEN\": \"vom + kleingeschriebenes Nomen\",\r\n \"VOM_SPRACHADJEKTIV\": \"vom + nominalisiertes Sprachadjektiv\",\r\n \"AM_VERB_KLEIN\": \"am + kleingeschriebenes Verb\",\r\n \"AM_XSTEN\": \"am Schnellsten etc. (schnellsten)\",\r\n \"BIEGEN_UND_BRECHEN\": \"auf biegen und brechen (Biegen und Brechen)\",\r\n \"JAEHRIG\": \"x-jährig/Jährig\",\r\n \"HALBMAST\": \"auf Halbmast (halbmast)\",\r\n \"DER_ERSTE\": \"der erste (Erste)\",\r\n \"ZUM_EINEN\": \"zum Einen (einen), zum Anderen (anderen)\",\r\n \"DES_OEFTEREN\": \"des öfteren (Öfteren)\",\r\n \"KRAFT_MEINES_AMTES\": \"'Kraft (kraft) meines Amtes'\",\r\n \"WUNDER_PUNKT\": \"'Wunde (wunde) Punkt'\",\r\n \"DAS_INFINITIV_VON\": \"'das importieren (Importieren) von' etc.\",\r\n \"SUB_VER_KLEIN\": \"Verben, die auch Nomen sein können (z.B. 'ich Besuche (besuche)) (nur 1. Person Singular)'\",\r\n \"SUBSTANTIVIERUNG_NACH_DURCH\": \"Nominalisierung nach 'durch'\",\r\n \"IM_AUS\": \"im aus (Aus)\",\r\n \"IM_GESTERN\": \"im gestern (Gestern) leben\",\r\n \"IM_KLAREN\": \"'im klaren (Klaren)'\",\r\n \"LINKS_ADV\": \"'Links (links)'\",\r\n \"RECHTS_ADV\": \"'Rechts (rechts)'\",\r\n \"BARFUSS_ADJ\": \"'Barfuß (barfuß)'\",\r\n \"ABSAGE_SUBST\": \"'eine absage (Absage) erteilen'\",\r\n \"VERB_FEM_SUBST\": \"'miete (Miete) zahlen, flöte (Flöte) spielen' etc.\",\r\n \"HUELLE_UND_FUELLE\": \"'in hülle (Hülle) und fülle (Fülle)'\",\r\n \"PAUKEN_UND_TROMPETEN\": \"'mit pauken (Pauken) und trompeten (Trompeten)'\",\r\n \"WACHE_SUBST\": \"'wache (Wache) halten' etc.\",\r\n \"WEICHE_SUBST\": \"'die weiche (Weiche) stellen' etc.\",\r\n \"SCHWAMM_SUBST\": \"'ein schwamm (Schwamm)'\",\r\n \"EHE_SUBST\": \"'die ehe (Ehe) versprechen' etc.\",\r\n \"IN_EHREN\": \"'bei meiner ehre (Ehre)' etc.\",\r\n \"WETTE_SUBST\": \"'um die wette (Wette) laufen' etc.\",\r\n \"GNADE_SUBST\": \"'gnade (Gnade) walten lassen'\",\r\n \"IN_DER_SCHWEBE\": \"'in der schwebe (Schwebe) lassen/halten'\",\r\n \"STILLE_SUBST\": \"'in aller stille (Stille) beigesetzt' etc.\",\r\n \"INNERES_SUBST\": \"'im inneren (Inneren) des Körpers' etc.\",\r\n \"LAUT_SUBST\": \"'keinen laut (Laut) von sich geben' etc.\",\r\n \"PELLE_SUBST\": \"'auf die pelle (Pelle) rücken' etc.\",\r\n \"EBENE_SUBST\": \"'auf vielen ebenen (Ebenen)' etc.\",\r\n \"FRISCHE_SUBST\": \"'in alter frische (Frische)'\",\r\n \"REGELN_SUBST\": \"'an die regeln (Regeln) halten' etc.\",\r\n \"WAGEN_SUBST\": \"'mit dem wagen (Wagen) kommen' etc.\",\r\n \"STROEME_SUBST\": \"'in strömen (Strömen)'\",\r\n \"BEDARF_SUBST\": \"'bei bedarf (Bedarf)'\",\r\n \"AUSREDE_SUBST\": \"'faule ausrede (Ausrede)'\",\r\n \"BERUF_SUBST\": \"'kaufmännische berufe (Berufe)' etc.\",\r\n \"SCHAU_SUBST\": \"'die schau (Schau) stehlen' etc.\",\r\n \"WIDERSTAND_SUBST\": \"'widerstand (Widerstand) leisten' etc.\",\r\n \"FUSSENDE_SUBST\": \"'zum fußende (Fußende)'\",\r\n \"ANGRIFF_SUBST\": \"'zum angriff (Angriff)'\",\r\n \"ZWEIFEL_SUBST\": \"'zweifel (Zweifel)'\",\r\n \"LUEFTE_SUBST\": \"'durch die lüfte (Lüfte)'\",\r\n \"BAND_SUBST\": \"'auf das band (Band) legen' etc.\",\r\n \"MASS_SUBST\": \"'das maß (Maß) aller Dinge' etc.\",\r\n \"SEGEL_SUBST\": \"'den Wind aus den segeln (Segeln) nehmen'\",\r\n \"NAEHTE_SUBST\": \"'es platzte aus den nähten (Nähten)'\",\r\n \"STRICKE_SUBST\": \"'wenn alle stricke (Stricke) reißen'\",\r\n \"SCHRAUBE_SUBST\": \"'eine schraube (Schraube) locker'\",\r\n \"KREISE_SUBST\": \"'in bürgerlichen kreisen (Kreisen)' etc.\",\r\n \"WUNDE_SUBST\": \"'eine offene wunde (Wunde)' etc.\",\r\n \"SCHNUPFEN_SUBST\": \"'ich habe schnupfen (Schnupfen)' etc.\",\r\n \"VORSORGE_SUBST\": \"'ich habe vorsorge (Vorsorge) getroffen' etc.\",\r\n \"SCHULDEN_SUBST\": \"'ich habe schulden (Schulden)' etc.\",\r\n \"FILME_SUBST\": \"'ich zeige filme (Filme)' etc.\",\r\n \"BEWEISE_SUBST\": \"'beweise (Beweise) vorlegen' etc.\",\r\n \"UNIFORM_SUBST\": \"'in uniform (Uniform)' etc.\",\r\n \"SCHLANGEN_SUBST\": \"'schlangen (Schlangen) bilden' etc.\",\r\n \"KNOTEN_SUBST\": \"'knoten (Knoten) knüpfen' etc.\",\r\n \"FISCHE_SUBST\": \"'fische (Fische) fangen' etc.\",\r\n \"ARBEITEN_SUBST\": \"'arbeiten (Arbeiten) verrichten'\",\r\n \"WAERME_SUBST\": \"'vor wärme (Wärme) schützen'\",\r\n \"GLAETTE_SUBST\": \"'bei glätte (Glätte)' etc.\",\r\n \"FASS_SUBST\": \"'ein fass (Fass) ohne Boden' etc.\",\r\n \"KOEPFE_SUBST\": \"'da rollen köpfe (Köpfe)' etc.\",\r\n \"GRENZEN_SUBST\": \"'in grenzen (Grenzen)'\",\r\n \"AUSNAHME_SUBST\": \"'keine ausnahmen (Ausnahmen)'\",\r\n \"BERGE_SUBST\": \"'berge (Berge) von'\",\r\n \"AUSSAGE_SUBST\": \"'laut aussage (Aussage)'\",\r\n \"ANGABEN_SUBST\": \"'nach angaben (Angaben)'\",\r\n \"ERMESSEN_SUBST\": \"'nach eigenem ermessen (Ermessen)'\",\r\n \"BESTAND_SUBST\": \"'der bestand (Bestand) an'\",\r\n \"TROPFEN_SUBST\": \"'Steter tropfen (Tropfen)' etc.\",\r\n \"JENSEITS_SUBST\": \"'ins jenseits (Jenseits) befördern' etc.\",\r\n \"NUTZEN_SUBST\": \"'nutzen (Nutzen) ziehen' etc.\",\r\n \"ZU_NUTZE\": \"'zu nutze (Nutze)'\",\r\n \"ZU_RATE\": \"'zu rate (Rate) ziehen' etc.\",\r\n \"ZU_GRABE_TRAGEN\": \"'zu grabe (Grabe) tragen'\",\r\n \"ZU_UNRECHT\": \"'zu unrecht (Unrecht)' etc.\",\r\n \"FETT_SUBST\": \"'in heißem fett (Fett)' etc.\",\r\n \"WAREN_SUBST\": \"'waren (Waren) und Dienstleistungen' etc.\",\r\n \"WEILE_SUBST\": \"'eine ganze weile (Weile)' etc.\",\r\n \"JUNGE_SUBST\": \"'Mädchen und jungen (Jungen)' etc.\",\r\n \"ZWEI_FLIEGEN_MIT_EINER_KLAPPE\": \"'zwei Fliegen mit einer klappe (Klappe) schlagen'\",\r\n \"STINKT_NACH\": \"'es stinkt nach kotze (Kotze)' etc.\",\r\n \"PFEIFE_SUBST\": \"'Was soll das, du pfeife (Pfeife)?'\",\r\n \"SCHEISSE_SUBST\": \"'in die scheiße (Scheiße) reiten' etc.\",\r\n \"WOHL_ODER_UEBEL\": \"Wohl oder Übel (wohl oder übel)\",\r\n \"IN_DER_KLEMME\": \"'in der klemme (Klemme) stecken' etc.\",\r\n \"SCHNAUZE_SUBST\": \"'die schnauze (Schnauze) halten' etc.\",\r\n \"NOMEN_KLEIN\": \"Nomen, die auch Verben oder Adjektive sein können (z.B. 'die aussagen (Aussagen)')\",\r\n \"KEIN_ZUTRITT\": \"'kein zutritt (Zutritt) für Erwachsene'\",\r\n \"RAETSELN_SUBST\": \"'du sprichst in rätseln (Rätseln)'\",\r\n \"STUFE_SUBST\": \"'Vorsicht stufe (Stufe)!'\",\r\n \"AUF_DIE_SCHLICHE\": \"'auf die schliche (Schliche) kommen'\",\r\n \"RECHTE_VORBEHALTEN\": \"'Alle rechte (Rechte) vorbehalten'\",\r\n \"GENOSSINNEN_UND_GENOSSEN\": \"'Genossinnen und genossen (Genossen)'\",\r\n \"EIN_EINSEHEN\": \"'ein einsehen (Einsehen)'\",\r\n \"DAS_NACHSEHEN\": \"'das nachsehen (Nachsehen) haben'\",\r\n \"DEN_KUERZEREN_ZIEHEN\": \"'den kürzeren (Kürzeren) ziehen'\",\r\n \"NACH_DEM_RECHTEN_SEHEN\": \"'nach dem rechten (Rechten) sehen'\",\r\n \"IN_GEORDNETEN_BAHNEN\": \"'in geordneten bahnen (Bahnen)'\",\r\n \"IN_DIE_ENGE_TREIBEN\": \"'jemanden in die enge (Enge) treiben'\",\r\n \"IM_NIRGENDWO\": \"'mitten im nirgendwo (Nirgendwo)'\",\r\n \"DER_LETZTE_SCHREI\": \"'der letzte schrei (Schrei)'\",\r\n \"PER_EINSCHREIBEN\": \"'per einschreiben (Einschreiben)'\",\r\n \"HINWEISE_SUBST\": \"'für hinweise (Hinweise)'\",\r\n \"MIT_ABSTAND\": \"'mit abstand (Abstand)' etc.\",\r\n \"ZUM_ABSCHIED\": \"'zum abschied (Abschied)'\",\r\n \"MIT_BEDAUERN\": \"'mit bedauern (Bedauern)'\",\r\n \"MIT_OHNE_VERSTAND\": \"'mit/ohne verstand (Verstand)'\",\r\n \"MIT_OHNE_WISSEN\": \"'mit/ohne wissen (Wissen)'\",\r\n \"MIT_OHNE_SCHALE\": \"'mit/ohne schale (Schale)'\",\r\n \"UEBEL_SUBST\": \"'das kleinere übel (Übel)'\",\r\n \"SINNE_SUBST\": \"'mir schwinden die sinne (Sinne)' etc.\",\r\n \"SINN_UND_VERSTAND\": \"'mit/ohne Sinn und verstand (Verstand)' etc.\",\r\n \"TREUE_SCHWOEREN\": \"'treue (Treue) schwören'\",\r\n \"MIT_ALLEN_WASSERN\": \"'mit allen wassern (Wassern) gewaschen'\",\r\n \"AUS_DEN_LATSCHEN\": \"'aus den latschen (Latschen) kippen'\",\r\n \"QUELLEN_ANGEBEN\": \"'quellen (Quellen) angeben'\",\r\n \"IN_SCHRECKEN_VERSETZEN\": \"'in schrecken (Schrecken) versetzen'\",\r\n \"ANZEIGE_SUBST\": \"'zur anzeige (Anzeige) bringen'\",\r\n \"ZUR_SCHULE_GEHEN\": \"'zur schule (Schule) gehen'\",\r\n \"MUEHE_GEBEN\": \"'sich mühe (Mühe) geben'\",\r\n \"ANKLANG_FINDEN\": \"'anklang (Anklang) finden'\",\r\n \"WERT_ADV\": \"'Wert (wert) sein' etc.\",\r\n \"WERT_SUBST\": \"'wert (Wert) legen' etc.\",\r\n \"HAUT_SUBST\": \"'haut (Haut) und Knochen' etc.\",\r\n \"STUMPF_UND_STIEL\": \"'mit stumpf (Stumpf) und Stiel'\",\r\n \"WIDER_ERWARTEN\": \"'wider erwarten (Erwarten)'\",\r\n \"DIENST_SUBST\": \"'dienst (Dienst) erweisen' etc.\",\r\n \"TRAEUME_SUBST\": \"'die Frau meiner träume (Träume)' etc.\",\r\n \"WOGEN_SUBST\": \"'Öl auf die wogen (Wogen)' etc.\",\r\n \"UNTER_OPFERN\": \"'unter großen opfern (Opfern)' etc.\",\r\n \"UNTER_SCHMERZEN\": \"'unter schmerzen (Schmerzen)' etc.\",\r\n \"TRAENEN_SUBST\": \"'tränen (Tränen) vergießen' etc.\",\r\n \"RUNDE_SUBST\": \"'über die runden (Runden) kommen' etc.\",\r\n \"WUNDER_SUBST\": \"'kein wunder (Wunder)'\",\r\n \"LEHRE_SUBST\": \"'eine lehre (Lehre) erteilen' etc.\",\r\n \"TAUFE_SUBST\": \"'aus der taufe (Taufe) heben' etc.\",\r\n \"SOG_SUBST\": \"'in den sog (Sog) geraten' etc.\",\r\n \"TIEFE_SUBST\": \"'in die tiefe (Tiefe) gehen/stürzen' etc.\",\r\n \"GLAESER_SUBST\": \"'nach ein paar gläsern (Gläsern) Wein' etc.\",\r\n \"DECKE_SUBST\": \"'an die decke (Decke) gehen' etc.\",\r\n \"WAND_SUBST\": \"'an die wand (Wand) nageln' etc.\",\r\n \"IN_DIE_TAT_UMSETZEN\": \"'in die tat (Tat) umsetzen'\",\r\n \"IN_DER_TAT\": \"'in der tat (Tat)'\",\r\n \"AUF_FRISCHER_TAT\": \"'auf frischer tat (Tat)'\",\r\n \"IM_REGEN_STEHEN\": \"'im regen (Regen) stehen'\",\r\n \"IM_STICH_LASSEN\": \"'im stich (Stich) lassen'\",\r\n \"HOEREN_UND_SEHEN\": \"'hören und sehen (Hören und Sehen) vergehen'\",\r\n \"FLIEGE_SUBST\": \"'keiner fliege (Fliege)' etc.\",\r\n \"PREIS_SUBST\": \"'preis (Preis)' etc.\",\r\n \"ZEIT_SUBST\": \"'zeit (Zeit) haben' etc.\",\r\n \"KRAFT_SUBST\": \"'keine kraft (Kraft) haben' etc.\",\r\n \"MACHT_SUBST\": \"'keine macht (Macht) der Welt' etc.\",\r\n \"MORGEN_SUBST\": \"'am nächsten/frühen morgen (Morgen)' etc.\",\r\n \"FADEN_SUBST\": \"'am seidenen faden (Faden)' etc.\",\r\n \"ANGELN_SUBST\": \"'aus den angeln (Angeln) heben' etc.\",\r\n \"HAARE_SUBST\": \"'an den haaren (Haaren) herbeigezogen' etc.\",\r\n \"SCHULTERN_SUBST\": \"'mit den schultern (Schultern) zucken' etc.\",\r\n \"RASEN_SUBST\": \"'auf dem rasen (Rasen)' etc.\",\r\n \"VERTRAUEN_SUBST\": \"'im vertrauen (Vertrauen)'\",\r\n \"IM_RAHMEN\": \"'im rahmen (Rahmen)' etc.\",\r\n \"IM_GLAUBEN\": \"'im glauben (Glauben)' etc.\",\r\n \"GLAUBEN_SCHENKEN\": \"'glauben (Glauben) schenken'\",\r\n \"IM_ALTER\": \"'im alter (Alter)'\",\r\n \"INS_SCHLEUDERN\": \"'ins schleudern (Schleudern) kommen' etc.\",\r\n \"IM_GRIFF\": \"'im griff (Griff)'\",\r\n \"IN_MASZEN\": \"'in maßen (Maßen)'\",\r\n \"SCHLOSS_SUBST\": \"'ins schloss (Schloss) fallen' etc.\",\r\n \"PLATZ_SUBST\": \"'fehl am platze (Platze)' etc.\",\r\n \"ASCHE_SUBST\": \"'in Schutt und asche (Asche) legen' etc.\",\r\n \"IN_ALLER_SCHAERFE\": \"'in aller schärfe (Schärfe)'\",\r\n \"AUF_DIE_REISE\": \"'auf die reise (Reise)'\",\r\n \"GEGEN_DEN_STRICH\": \"'gegen den strich (Strich)'\",\r\n \"IN_GEWISSER_WEISE\": \"'in gewisser weise (Weise)' etc.\",\r\n \"AUS_DER_FERNE\": \"'aus der ferne (Ferne)'\",\r\n \"AN_DER_BAR\": \"'an der bar (Bar)' etc.\",\r\n \"AUF_DEM_STAND\": \"'auf dem stand (Stand)' etc.\",\r\n \"AUF_DER_STRECKE\": \"'auf der strecke (Strecke) bleiben'\",\r\n \"ANTRIEB_SUBST\": \"'aus eigenem antrieb (Antrieb)' etc.\",\r\n \"AN_DER_SCHWELLE\": \"'an der schwelle (Schwelle)'\",\r\n \"AUFS_GANZE_GEHEN\": \"aus dem vollen\",\r\n \"DAS_GANZE\": \"das ganze (Ganze)\",\r\n \"MIT_SICH_IM_REINEN_SEIN\": \"mit sich im reinen (Reinen) sein\",\r\n \"AUS_DEM_VOLLEN\": \"'aus dem vollen (Vollen) schöpfen'\",\r\n \"AUF_VERLANGEN\": \"'auf verlangen (Verlangen)'\",\r\n \"VON_PRIVAT\": \"von Privat (privat)\",\r\n \"AUF_ENGLISCH\": \"'auf englisch (Englisch)'\",\r\n \"KEIN_WORT_ENGLISCH\": \"'kein Wort englisch (Englisch)'\",\r\n \"IHR_ENGLISCH_IST\": \"'ihr englisch (Englisch) ist'\",\r\n \"NACH_AUSSAGE\": \"nach aussage (Aussage) von\",\r\n \"KANN_ENGLISCH\": \"'ich kann kein englisch (Englisch)'\",\r\n \"GROSSSCHREIBUNG_MEHRTEILIGE_NAMEN\": \"Mehrteilige Namen 'französische (Französische) Revolution etc.'\",\r\n \"GROSSCHREIBUNG_CO\": \"Großschreibung Abkürzung 'Co.'\",\r\n \"GROSSSCHREIBUNG_EHRENBEZEICHNUNG\": \"Titel und Ehrenbezeichnungen 'heiliger (Heiliger) Vater etc.'\",\r\n \"GROSSSCHREIBUNG_KALENDERTAGE\": \"Besondere Kalendertage 'Tag der deutschen (Deutschen) Einheit etc.'\",\r\n \"KLEINSCHREIBUNG_KEIN_NAME\": \"Kein Eigenname 'Schwarzer (schwarzer) Tee etc.'\",\r\n \"SORGEN_MACHEN\": \"'sorgen (Sorgen) machen etc.'\",\r\n \"MONTAGS\": \"'Montags/montags etc.'\",\r\n \"SPITZE_SUBST\": \"'an der spitze (Spitze)' etc.\",\r\n \"AUF_DER_KIPPE\": \"'auf der kippe (Kippe)'\",\r\n \"AUF_DER_GRENZE\": \"'auf der grenze (Grenze)'\",\r\n \"AUF_DER_FLUCHT\": \"'auf der flucht (Flucht)'\",\r\n \"WILLE_SUBST\": \"'gegen seinen willen (Willen)'\",\r\n \"VOR_DEM_AUS\": \"'vor dem aus (Aus)'\",\r\n \"NICHT_MEHR_DER_JUENGSTE\": \"'nicht mehr der Jüngste' etc.\",\r\n \"LAECHELN_SUBST\": \"'lächeln (Lächeln)'\",\r\n \"UNTERSCHIED_SUBST\": \"'unterschied (Unterschied)'\",\r\n \"UNTER_ANDEREM\": \"'unter Anderem (anderem)'\",\r\n \"DUSCHE_SUBST\": \"'unter der dusche (Dusche)'\",\r\n \"SCHADEN_SUBST\": \"'schaden (Schaden)'\",\r\n \"KOENNEN_SUBST\": \"'sein können (Können) unter Beweis stellen'\",\r\n \"AERGER_SUBST\": \"'ärger (Ärger)'\",\r\n \"HERZEN_SUBST\": \"'von herzen (Herzen)'\",\r\n \"BAD_SUBST\": \"'das Kind mit dem bade (Bade)'\",\r\n \"HACKE_SUBST\": \"'auf hohen hacken (Hacken)'\",\r\n \"RUECKEN_SUBST\": \"'rücken (Rücken)'\",\r\n \"VERDIENST_SUBST\": \"'verdienst (Verdienst)'\",\r\n \"LEGENDE_SUBST\": \"'legende (Legende)'\",\r\n \"SPRACHEN_SUBST\": \"'in asiatischen sprachen (Sprachen)' etc.\",\r\n \"WIEGE_SUBST\": \"'an der wiege (Wiege) gesungen'\",\r\n \"GRUENDE_SUBST\": \"'mit guten gründen (Gründen)' etc.\",\r\n \"WUERDE_SUBST\": \"'die würde (Würde) des Gerichts' etc.\",\r\n \"EIGEN_SUBST\": \"'eigen (Eigen)'\",\r\n \"RECHT_SUBST\": \"'recht (Recht)'\",\r\n \"RECHT_ADJ\": \"'Recht (recht)' etc.\",\r\n \"LAUFE_SUBST\": \"'im laufe (Laufe) des Tages'\",\r\n \"GANG_KLEIN\": \"'gang (Gang)'\",\r\n \"TRAUTES_HEIM\": \"'trautes heim (Heim)'\",\r\n \"IN_ALLER_MUNDE\": \"'in aller munde (Munde)'\",\r\n \"AUF_ERDEN\": \"'auf erden (Erden)'\",\r\n \"AUF_DER_ERDE\": \"'auf der erde (Erde)' etc.\",\r\n \"HIMMEL_UND_ERDE\": \"'Himmel und erde (Erde)'\",\r\n \"GUTER_DINGE\": \"'guter dinge (Dinge)'\",\r\n \"VOR_ALLEN_DINGEN\": \"'vor allen dingen (Dingen)'\",\r\n \"IN_ALLEN_FORMEN\": \"'in allen formen (Formen)'\",\r\n \"LIEBE_SUBST\": \"'aus liebe (Liebe)' etc.\",\r\n \"IN_FRIEDEN\": \"'in frieden (Frieden)'\",\r\n \"IN_FLAMMEN\": \"'in flammen (Flammen)' etc.\",\r\n \"ZEUGE_SUBST\": \"'als zeuge (Zeuge) vernehmen' etc.\",\r\n \"AUF_DIE_PROBE\": \"'auf die probe (Probe) stellen'\",\r\n \"IM_GROSSEN_UND_GANZEN\": \"'im großen und ganzen (Großen und Ganzen)'\",\r\n \"ZU_HAUSE\": \"'zu hause (Hause)'\",\r\n \"AUF_DEM_WEG\": \"'auf/aus dem weg (Weg)'\",\r\n \"AUF_SCHRITT_UND_TRITT\": \"'auf Schritt und Tritt'\",\r\n \"SCHRITT_SUBST\": \"'schritt (Schritt)'\",\r\n \"IM_SCHNITT\": \"'im schnitt (Schnitt)'\",\r\n \"AUS_STAHL\": \"'aus stahl (Stahl)' etc.\",\r\n \"TRAEGER_VON\": \"'träger (Träger)'\",\r\n \"VERGNUEGEN_SUBST\": \"'kein vergnügen (Vergnügen)'\",\r\n \"ENDE_SUBST\": \"'ende (Ende)'\",\r\n \"REDE_SUBST\": \"'rede (Rede)'\",\r\n \"SCHULD_SEIN\": \"'Schuld (schuld) sein'\",\r\n \"MEINE_SCHULD\": \"'jemandes schuld (Schuld) etc.'\",\r\n \"AUF_DIE_NERVEN\": \"'auf die nerven (Nerven) gehen'\",\r\n \"ZUR_NEIGE_GEHEN\": \"'zur neige (Neige) gehen'\",\r\n \"MENGE_SUBST\": \"'in größeren mengen (Mengen)' etc.\",\r\n \"REIHE_SUBST\": \"'an die reihe (Reihe) kommen' etc.\",\r\n \"LICHT_SUBST\": \"'licht (Licht)'\",\r\n \"KRIEG_SUBST\": \"'krieg (Krieg)'\",\r\n \"FAHRT_SUBST\": \"'fahrt (Fahrt)'\",\r\n \"VOR_LACHEN\": \"'vor lachen (Lachen)'\",\r\n \"ANGST_SUBST\": \"'angst (Angst)'\",\r\n \"ANGST_UND_BANGE\": \"'Angst/angst und Bange/bange'\",\r\n \"TAGEN_SUBST\": \"'unter tage (Tage)' etc.\",\r\n \"DANK_SUBST\": \"'dank (Dank)'\",\r\n \"BETRUG_SUBST\": \"'betrug (Betrug)'\",\r\n \"FARBEN_SUBST\": \"'bei rot (Rot) über die Straße' etc.\",\r\n \"KETTE_SUBST\": \"'Das schwächste Glied in der kette (Kette)' etc.\",\r\n \"FAELLEN_SUBST\": \"'fällen (Fällen)'\",\r\n \"IN_DIE_BREITE\": \"'breite (Breite)'\",\r\n \"IN_DIE_FALLE\": \"'in die falle (Falle) locken' etc.\",\r\n \"IN_DIE_SUB_VERB\": \"'in die spalte (Spalte) fallen' etc.\",\r\n \"IN_DIE_HOCKE\": \"'in die hocke (Hocke) gehen'\",\r\n \"IN_DIE_KNIE\": \"'in die knie (Knie) gehen' etc.\",\r\n \"STELLE_SUBST\": \"'stelle (Stelle)'\",\r\n \"MARINE_SUBST\": \"'marine (Marine)'\",\r\n \"ANTIKE_SUBST\": \"'antike (Antike)'\",\r\n \"BUERSTE_SUBST\": \"'bürste (Bürste)'\",\r\n \"SCHERE_SUBST\": \"'schere (Schere)'\",\r\n \"BOGEN_SUBST\": \"'in Bausch und bogen (Bogen)' etc.\",\r\n \"HECKE_SUBST\": \"'hecke (Hecke)'\",\r\n \"VERSUCH_SUBST\": \"'versuche (Versuche) machen' etc.\",\r\n \"FALTEN_SUBST\": \"'falten (Falten) werfen'\",\r\n \"BELIEBEN_SUBST\": \"'nach/ins belieben (Belieben)'\",\r\n \"OBDACHLOS_SUBST\": \"nominalisierte Adjektive ('Obdachlose, Angestellte, Abgeordnete, Jugendliche')\",\r\n \"DAS_NASS\": \"'nass (Nass)'\",\r\n \"HOCH_SUBST\": \"'Ein hoch (Hoch) auf ...'\",\r\n \"LEID_SUBST\": \"'leid (LEID)'\",\r\n \"ERNST_SUBST\": \"'ernst (Ernst)'\",\r\n \"STOLZ_SUBST\": \"'stolz (Stolz)'\",\r\n \"VERHALTEN_SUBST\": \"'verhalten (Verhalten)'\",\r\n \"NOTFALLS_SUBST\": \"'wegen eines notfalls (Notfalls)'\",\r\n \"KOSTEN_SUBST\": \"'auf jemandes kosten (Kosten)' etc.\",\r\n \"LOECHERN_SUBST\": \"'löchern (Löchern)'\",\r\n \"BRUESTE_SUBST\": \"'brüste (Brüste)'\",\r\n \"STREICHE_SUBST\": \"'streiche (Streiche) spielen'\",\r\n \"ZUSTAND_SUBST\": \"'zustand (Zustand)'\",\r\n \"AUFSTAND_SUBST\": \"'aufstand (Aufstand)'\",\r\n \"ALLERLEI_SUBST\": \"'allerlei (Allerlei)'\",\r\n \"DURCHEINANDER_SUBST\": \"'durcheinander (Durcheinander)'\",\r\n \"LUEGE_SUBST\": \"'lüge (Lüge)'\",\r\n \"ARM_SUBST\": \"'arm (Arm)'\",\r\n \"KLAUEN_SUBST\": \"'klauen (Klauen)'\",\r\n \"SCHAECHTE_SUBST\": \"'schächte (Schächte)'\",\r\n \"STIMME_SUBST\": \"'stimme (Stimme)'\",\r\n \"WUESTE_SUBST\": \"'wüste (Wüste)'\",\r\n \"RAEUMEN_SUBST\": \"'räumen (Räumen)'\",\r\n \"ROLLE_SUBST\": \"'rolle (Rolle)'\",\r\n \"IM_FOLGENDEN\": \"'im folgenden (Folgenden)'\",\r\n \"ZUR_STRAFE\": \"'zur strafe (Strafe)'\",\r\n \"ZUR_LAST\": \"'zur last (Last)'\",\r\n \"ZUR_STRECKE\": \"'zur strecke (Strecke) bringen'\",\r\n \"ZUM_WOHL\": \"'zum wohl (Wohl)'\",\r\n \"WOHL_UND_WEHE\": \"'das wohl und wehe (Wohl und Wehe)'\",\r\n \"IM_LEBEN\": \"'im/am leben (Leben)'\",\r\n \"SCHWAECHE_SUBST\": \"'eine schwäche (Schwäche) haben' etc.\",\r\n \"BITTE_SUBST\": \"'eine bitte (Bitte) haben' etc.\",\r\n \"KLIPP_UND_KLAR\": \"'Klipp (klipp) und klar'\",\r\n \"EINEN_GEFALLEN\": \"'einen gefallen (Gefallen) tun'\",\r\n \"ZUR_EILE\": \"'zur eile (Eile)'\",\r\n \"IN_KUERZE\": \"'in kürze (Kürze)'\",\r\n \"UM_DIE_ECKE\": \"'um die ecke (Ecke)'\",\r\n \"ANGRIFF_AUF\": \"'angriff (Angriff)'\",\r\n \"DICHTER_UND_DENKER\": \"'dichter (Dichter) und Denker'\",\r\n \"SAMT_UND_SEIDE\": \"'Samt und Seide'\",\r\n \"VON_BEGRIFF\": \"'im/von begriff (Begriff) sein'\",\r\n \"ER_BEGRIFF\": \"'er Begriff (begriff)'\",\r\n \"WEITERE_VORGEHEN\": \"'das weitere vorgehen (Vorgehen)'\",\r\n \"BEICHTE\": \"'die beichte (Beichte)'\",\r\n \"DIE_SUCHE\": \"'die suche (Suche)'\",\r\n \"DES_WEITEREN\": \"'des weiteren (Weiteren)'\",\r\n \"DES_NACHTS\": \"'des nachts (Nachts), eines nachts (Nachts)'\",\r\n \"GUT_UND_BOESE\": \"'jenseits von gut (Gut) und böse (Böse)'\",\r\n \"HAB_UND_GUT\": \"'hab und gut (Hab und Gut)'\",\r\n \"KLAGE_SUBST\": \"'Grund zur klage (Klage)' etc.\",\r\n \"REIFE_SUBST\": \"'zur reife (Reife) bringen' etc.\",\r\n \"GENUEGE\": \"'zur genüge (Genüge)'\",\r\n \"FEHL_UND_TADEL\": \"'ohne fehl (Fehl) und Tadel'\",\r\n \"WENN_UND_ABER\": \"'ohne wenn (Wenn) und aber (Aber)'\",\r\n \"DAS_ERSTE_MAL\": \"'das erste mal (Mal)'\",\r\n \"IN_ACHT_NEHMEN\": \"'in acht (Acht) nehmen'\",\r\n \"AUSSER_ACHT_LASSEN\": \"'außer acht (Acht) lassen'\",\r\n \"AUS_VERSEHEN\": \"'aus versehen (Versehen)'\",\r\n \"AUF_DEM_LAUFENDEN\": \"'auf dem laufenden (Laufenden) halten'\",\r\n \"AUFS_VERB\": \"aufs + Verb (kleingeschrieben)\",\r\n \"AUFS_GLEICHE\": \"aufs gleiche (Gleiche) herauskommen\",\r\n \"ETWAS_GUTES\": \"'etwas/nichts gutes (Gutes)' etc.\",\r\n \"ALLES_GUTE\": \"'alles gute (Gute)' [Glückwunschformel]\",\r\n \"ZU_BUCHE\": \"'zu buche (Buche) schlagen'\",\r\n \"ZUM_BESTEN_GEBEN\": \"'zum besten (Besten) geben'\",\r\n \"AM_BESTEN\": \"am Besten (besten)\",\r\n \"ZUM_NARREN_HALTEN\": \"'zum narren (Narren) halten'\",\r\n \"NACHFRAGE_SUBST\": \"'Angebot und nachfrage (Nachfrage)'\",\r\n \"IN_FRAGE\": \"'in frage (Frage)'\",\r\n \"DIE_FRAGE_IST\": \"'die frage (Frage) ist' etc.\",\r\n \"FRAGEN_HABEN\": \"'fragen (Fragen) haben/stellen'\",\r\n \"OHNE_FRAGE\": \"'ohne frage (Frage)'\",\r\n \"SEIT_BESTEHEN\": \"'seit bestehen (Bestehen)'\",\r\n \"PRAEP_PLUS_VERB\": \"'zum mitnehmen (Mitnehmen), im sitzen (Sitzen)' etc.\",\r\n \"GEWISSEN_SUBST\": \"'auf dem gewissen (Gewissen)' etc.\",\r\n \"ODER_FLUSS\": \"'oder/Oder (der Fluss)'\",\r\n \"AUSSER_BETRIEB\": \"'außer betrieb (Betrieb)'\",\r\n \"ZUR_FOLGE\": \"'zur folge (Folge)'\",\r\n \"ZUR_REDE\": \"'zur rede (Rede)'\",\r\n \"INS_REINE\": \"'ins reine (Reine) kommen'\",\r\n \"IN_RUHE\": \"'in/zur ruhe (Ruhe)'\",\r\n \"IN_DER_NAEHE\": \"'in/aus der nähe (Nähe)'\",\r\n \"GRUENDE\": \"gründe (Gründe)\",\r\n \"GROSS_KLEIN_EINHEITEN\": \"Einheiten 'KB (kB), KWh (kWh)'\",\r\n \"UM_WILLEN\": \"'um … Willen (willen)'\",\r\n \"EIN_PAAR\": \"Paar vs. paar\",\r\n \"ZAHLSUBST_GROSS\": \"'zwei dutzend (Dutzend) Eier'\",\r\n \"GUTEN_UND_SCHLECHTEN\": \"'in Guten (guten) wie in Schlechten (schlechten) Zeiten'\",\r\n \"NAMENS\": \"'Namens (namens)'\",\r\n \"GOTT_SCHUETZE\": \"'Schütze (schütze)'\",\r\n \"WIR_TREFFEN\": \"'wir Treffen (treffen)'\",\r\n \"RICHTIG\": \"'in der Richtigen (richtigen) Reihenfolge' etc.\",\r\n \"INTEGER\": \"'integer (Integer)'\",\r\n \"VIELFACHES\": \"'vielfaches (Vielfaches)'\",\r\n \"EIN_BISSCHEN\": \"'Bisschen (bisschen)'\",\r\n \"SAURE_GURKEN\": \"'saure gurken (Gurken)'\",\r\n \"IM_BILDE\": \"'im bilde (Bilde)'\",\r\n \"BLIND_DATE\": \"'blind (Blind) Date'\",\r\n \"IM_ALLGEMEINEN\": \"'im allgemeinen (Allgemeinen)'\",\r\n \"DES_UEBLICHEN\": \"'des üblichen (Üblichen)'\",\r\n \"LEID_TUN\": \"'tut mir Leid (leid)'\",\r\n \"SOMMERS_WIE_WINTERS\": \"'sommers wie winters'\",\r\n \"ZEIT_SEINES_LEBENS\": \"'... Zeit (zeit) seines Lebens'\",\r\n \"TONARTEN\": \"Groß-/Kleinschreibung bei Tonarten: 'A-Moll (a-Moll)/c-Dur (C-Dur)' etc.\",\r\n \"WLAN\": \"'Wlan (WLAN)' etc.\",\r\n \"SONDERFAELLE\": \"Sonderfälle der Groß-/Kleinschreibung: 'I-Punkt (i-Punkt)' etc.\",\r\n \"GROSSSCHREIBUNG_MAL\": \"Großschreibung des Wortes 'Mal'\",\r\n \"IN_WEISS\": \"in + 'Farbe' ('in Weiß')\",\r\n \"DAS_FARBE_GENITIV\": \"das + 'Farbe' + Genitiv ('das Weiß ihres Kleides')\",\r\n \"FARBE_IN_WENDUNG\": \"Karpfen Blau (blau)\",\r\n \"DAS_XFACHE\": \"das dreifache (Dreifache)\",\r\n \"VERB_VOR_NEBENSATZ\": \"Verb + ',' + Nebensatz\",\r\n \"EIN_UND_ALLES\": \"Großschreibung 'Ein und Alles'\",\r\n \"DAS_ETWAS\": \"das gewisse etwas (Etwas)\",\r\n \"JA_NEIN\": \"mit ja (Ja)\",\r\n \"SOLL\": \"sein soll (Soll) erfüllen\",\r\n \"SPARTEN_SUBST\": \"'nach sparten (Sparten) geordnet' etc.\",\r\n \"SCHWARZ_AUF_WEISS\": \"Schwarz auf Weiß (schwarz auf weiß)\",\r\n \"ROT_GEFAERBT\": \"Rot gefärbt (rot gefärbt)\",\r\n \"SANITAER\": \"sanitär (Sanitär)\",\r\n \"BESSEREN_BELEHREN\": \"eines besseren (belehren)\",\r\n \"PRO_UND_KONTRA\": \"das pro (Pro) und kontra (Kontra)\",\r\n \"DAS_FUER_UND_WIDER\": \"das für (Für) und wider (Wider)\",\r\n \"BEDENKEN\": \"'Bedenken' / 'bedenken'\",\r\n \"UNTERTAN\": \"Untertan (untertan)\",\r\n \"PROBLEMLOS_KLEIN\": \"Problemlos (problemlos)\",\r\n \"VOM_BERUF\": \"vom (von) Beruf\",\r\n \"UEBER_EIN_MANGEL\": \"über ein(en) Mangel\",\r\n \"IM_ANBETRACHT\": \"Im (In) Anbetracht\",\r\n \"VON_VOM\": \"von vs. vom\",\r\n \"GESAGTE_HABEN\": \"gesagte (gesagt) hat\",\r\n \"ZU_LAST_FALLEN\": \"zu(r) Last fallen\",\r\n \"HERZLICHE_GLUECKWUNSCH\": \"Herzliche(n) Glückwunsch\",\r\n \"AUS_MEHRERE\": \"aus mehrere (mehreren)\",\r\n \"AUFGRUND_GENITIV\": \"'aufgrund' benötigt Genitiv\",\r\n \"EIN_FACH\": \"ein fach (einfach, ein Fach)\",\r\n \"ZU_WEHR_SETZEN\": \"zu (zur) Wehr setzen\",\r\n \"SEIT_ANFANG_AN\": \"seit (von) Anfang an\",\r\n \"VOM_BEGINN_AN\": \"vom (von) Beginn an\",\r\n \"NACH_7_TAGE\": \"nach 7 Tage (Tagen)\",\r\n \"WUENSCHE_EIN_SCHOEN_ABEND\": \"ein schön Abend (einen schönen Abend)\",\r\n \"SCHOEN_GUTEN_ABEND\": \"schön (schönen) guten Tag\",\r\n \"INS_KICK_OFF\": \"ins Kick-off (in den Kick-off)\",\r\n \"EIN_ROSE\": \"ein Rose (Rosé)\",\r\n \"DEN_VEREINIGTE_STAATEN\": \"Vereinigte (Vereinigten) Staaten\",\r\n \"ICH_WART\": \"ich wart (warte)\",\r\n \"IN_MEHREN\": \"in mehren (mehreren)\",\r\n \"EIN_ANDERS_MAL\": \"ein anders (anderes) Mal\",\r\n \"IN_DEUTSCHE_SPRACHE\": \"in deutsche(r) Sprache\",\r\n \"WIEVIEL_MAL\": \"wieviel Mal (wievielmal)\",\r\n \"KOENNTE_SIE\": \"könnte (könnten) Sie mir\",\r\n \"PASSWORTE\": \"Passworte (Passwörter)\",\r\n \"SCHOENE_WETTER\": \"Es ist schöne (schönes) Wetter\",\r\n \"AUF_JEDEM_FALL_OS\": \"auf jedem (jeden) Fall\",\r\n \"DU_KANNS\": \"du kanns (kannst)\",\r\n \"DU_MACHTS\": \"du machts (machst)\",\r\n \"BABYPHONE\": \"Babyphone (Babyfon)\",\r\n \"DE_FACTO\": \"de Fakto (facto)\",\r\n \"ZWECKS_TERMIN\": \"zwecks Termin (eines Termins)\",\r\n \"ALLES_GUT\": \"alles Gut (gut/Gute)\",\r\n \"ZWEI_GESCHOESSIG\": \"3-geschössig -> 3-geschossig\",\r\n \"AUF_DER_SCHLICHE\": \"auf der Schliche (Spur)\",\r\n \"MAX_MIN_PUNKT\": \"max (max.)\",\r\n \"ZWEI_DUMME_EIN_GEDANKE\": \"zwei Dumme, ein Gedanke\",\r\n \"EIN_ANDER_MAL\": \"ein ander Mal (anderes Mal)\",\r\n \"KOFFERWOERTER\": \"Gestern war das zumindestens so.\",\r\n \"JEDEN_DAS_SEINE\": \"jeden (jedem) das Seine\",\r\n \"IN_UKRAINE\": \"in (der) Ukraine\",\r\n \"ZU_UNSEREN_BEDAUERN\": \"zu unseren (unserem) Bedauern\",\r\n \"SATZSTELLUNG_KON_UNT_VERB_AM_ENDE\": \"Ich gehe nicht zum Sport, weil ich will nicht (ich nicht will).\",\r\n \"MIR_NICHTS_DIR_NICHTS\": \"mir nichts, dir nichts\",\r\n \"VORM_AUSSTERBEN_BEDROHT\": \"vorm (vom) Aussterben bedroht\",\r\n \"SOLCHE_VORGEHEN\": \"solche(s) Vorgehen\",\r\n \"HAST_DICH\": \"hast (du) dich\",\r\n \"HAT_DU\": \"ha(s)t du\",\r\n \"ICH_KOENNT\": \"ich könnt(e)\",\r\n \"AM_NÄHESTEN\": \"am nähesten (nächsten)\",\r\n \"GOOGLEN\": \"googlen -> googeln\",\r\n \"ZWEI_AN_HALB\": \"2 an halb (zweieinhalb)\",\r\n \"ZU_GENÜGE\": \"zu genüge (zur Genüge)\",\r\n \"SO_WIES_IST\": \"so wies (wie es) ist\",\r\n \"EINS_ZU_EINS\": \"1-zu-1 (eins zu eins)\",\r\n \"DE_PHRASE_REPETITION\": \"Wiederholung von Wortgruppen (z.B. 'auf der auf der Straße')\",\r\n \"DOPPELUNG_MODALVERB\": \"Wiederholung von Modalverben\",\r\n \"DA_VOR\": \"da vor (davor)\",\r\n \"FUER_ALLEM\": \"für (vor) allem\",\r\n \"PEU_A_PEU\": \"peu à peu\",\r\n \"VER_DOPPELUNG\": \"Doppelung von Verben\",\r\n \"IM_AUFTRAG_VON\": \"im Auftrag von\",\r\n \"SCHWEREN_HERZEN\": \"schweren Herzens\",\r\n \"KEIN_GERINGER_ALS\": \"kein Geringer (Geringerer) als\",\r\n \"AN_EINEN_STRANG\": \"an einen (einem) Strang\",\r\n \"SPREU_VOM_WEIZEN\": \"Spreu von (vom) Weizen\",\r\n \"RESPONSIV_DESIGN\": \"responsiv (Responsive) Design\",\r\n \"AUS_TIEFSTEM\": \"aus tiefsten (tiefstem) Herzen\",\r\n \"IN_AUGE\": \"in (im) Auge behalten\",\r\n \"KEIN_KEINEN\": \"macht kein (keinen) Sinn\",\r\n \"ZULANGE\": \"Es ist zulange (zu lange) her\",\r\n \"WIE_GEHST_DIR\": \"Wie gehst (gehts) euch?\",\r\n \"GUT_BESSERUNG\": \"gut (gute) Besserung\",\r\n \"BEWERBE_BEWIRB\": \"Grammatik: bewerbe (bewirb) dich!\",\r\n \"ERGEBE_ERGIB\": \"Grammatik: ergebe (ergib) dich!\",\r\n \"ESS\": \"ess (iss)\",\r\n \"SIMPLE_AGREEMENT_MAS\": \"Die (Der) Tisch ist\",\r\n \"SIMPLE_AGREEMENT_NEU\": \"Der (Das) Haus ist\",\r\n \"HALT_MACHEN\": \"halt machen (Halt machen / haltmachen)\",\r\n \"CLICK_AND_COLLECT\": \"Click and Collect\",\r\n \"DOS_AND_DONTS\": \"Dos and Don'ts\",\r\n \"DIE_SEINESGLEICHEN\": \"die seinesgleichen (ihresgleichen) sucht\",\r\n \"SACK_KARTOFFEL\": \"ein Sack Kartoffel (Kartoffeln)\",\r\n \"SIND_VS_SEIEN\": \"sein/sind (seien) wir doch mal ehrlich\",\r\n \"MIT_EIER\": \"mit zwei Spiegeleier (Spiegeleiern)\",\r\n \"MIT_GEHACKTES\": \"mit Gehacktes (Gehacktem)\",\r\n \"NEUSTARTEN\": \"neu starten\",\r\n \"OUT_OF_THE_BOX\": \"out of the box\",\r\n \"FUER_INSBESONDERE\": \"für insbesondere (für besonders)\",\r\n \"INSBESONDERS\": \"insbesonders (insbesondere / besonders)\",\r\n \"ZAL_MAL\": \"Fehlender Bindestrich in '10 mal'\",\r\n \"DU_MEINS_DAS\": \"Du meins (meinst) das.\",\r\n \"BEI_AUFWACHEN\": \"Bei (Beim) Aufwachen verspürte der Patient ein Taubheitsgefühl.\",\r\n \"CREME_BRULEE\": \"Crème brûlée\",\r\n \"CREME_FRAICHE\": \"Crème fraîche\",\r\n \"CREME_LEGERE\": \"Crème légère\",\r\n \"MOUSSE_AU_CHOCOLAT\": \"Mousse au Chocolat\",\r\n \"MITGLIEDERINNEN\": \"Mitgliederinnen\",\r\n \"PERSONA_NON_GRATA\": \"Persona non grata\",\r\n \"WHO_S_WHO\": \"Das Who's who\",\r\n \"KO\": \"KO (K. o.)\",\r\n \"CO.-TRAINER\": \"Co.-Trainer (Co-Trainer)\",\r\n \"HERZ_KREISLAUFERKRANKUNG\": \"Herz-Kreislauferkrankung (Herz-Kreislauf-Erkrankung)\",\r\n \"RUND_UM_SORGLOS\": \"Rundum-Sorglos- (Rund-um-Sorglos-)\",\r\n \"AUSSAGEKRAEFTIG\": \"aussage kräftig (aussagekräftig)\",\r\n \"ZUSAMMENSEIN\": \"zusammensein (zusammen sein)\",\r\n \"DEJA_VU\": \"Déjà-vu\",\r\n \"DOPPELTER_NOMINATIV\": \"doppelter Nominativ ('ich du' / 'wir ich')\",\r\n \"DATIV_PRP_PA1_SUB\": \"mit wachsenden (wachsendem) Garten\",\r\n \"IST_UNTERSCHIED\": \"ist (der) Unterschied\",\r\n \"SIND_IST\": \"sind (ist) x Jahre her\",\r\n \"PRP_DAT_AKK\": \"Präposition mit Dativ oder Akkusativ\",\r\n \"DR_FRAU\": \"Dr. Frau (Frau Dr.)\",\r\n \"SCHENKEN_DATIV\": \"'Dativ nach 'schenken'\",\r\n \"ZEITANGABE_DATIV\": \"'Dativ mit Zeitangaben\",\r\n \"TODO\": \"Die Todos (To-dos)\",\r\n \"ALL_INCLUSIVE\": \"'all-inclusive'\",\r\n \"BUY_OUT\": \"'Buy-out'\",\r\n \"CO_WORKING_SPACE\": \"'Co-Working-Space'\",\r\n \"BREAK_EVEN\": \"'Break-even'\",\r\n \"TRIAL_AND_ERROR\": \"Try and Error (Trial-and-Error)\",\r\n \"ON_AIR\": \"on air\",\r\n \"PLUG_AND_PLAY\": \"Plug-and-play\",\r\n \"EVERBODYS_DARLING\": \"Everybody's Darling\",\r\n \"MAKE_UP\": \"'Make-up'\",\r\n \"STAND_UP\": \"'Stand-up'\",\r\n \"PLAY_OFF\": \"'Play-off'\",\r\n \"POST_IT\": \"'Post-it'\",\r\n \"CHECK_IN\": \"'Check-in'\",\r\n \"CHECK_OUT\": \"'Check-out'\",\r\n \"COMING_OUT\": \"'Coming-out'\",\r\n \"DRIVE_IN\": \"'Drive-in'\",\r\n \"HIGH_SCHOOL\": \"High School (High School)\",\r\n \"HEDGEFONDS\": \"Hedge Fonds (Hedgefonds)\",\r\n \"BEST_OF\": \"'Best-of'\",\r\n \"MAKING_OF\": \"'Making-of'\",\r\n \"START_UP\": \"'Start-up'\",\r\n \"LINE_UP\": \"'Line-up'\",\r\n \"CLOSE_UP\": \"'Close-up'\",\r\n \"WIN_WIN_SITUATION\": \"Win-win-Situation\",\r\n \"E_AUTO\": \"E-Auto/E-Mobilität\",\r\n \"E_BOOK\": \"E-Book/E-Commerce\",\r\n \"ANS_ARTIKEL\": \"ans/fürs/... + Artikel\",\r\n \"SEHR_GEEHRTER_NAME\": \"Sehr geehrter (Name) -> Herr/Frau (Name)\",\r\n \"ZUM_FEM_NOMEN\": \"zum + fem. Nomen\",\r\n \"IN_DER_PLU\": \"in der + Plural-Nomen + sein\",\r\n \"ALS_SOLCHES\": \"'dem Haus als solches (solchem)' etc.\",\r\n \"DIESEM_EINEM\": \"diesem einem (einen)\",\r\n \"VON_EINEN\": \"von einen (einem)\",\r\n \"MEINES_NICHT_GENITIV\": \"'meines' etc + Nicht-Genitiv Nomen\",\r\n \"FUER_IMP_SUB\": \"'für' + Imperativ + Nomen\",\r\n \"PRAESENS_EINST\": \"Präsens + 'einst' etc.\",\r\n \"DEF_ARTIKEL_INDEF_ADJ\": \"bestimmter Artikel + unbestimmtes Adjektiv\",\r\n \"VERB_IST\": \"Verb 1./3. Person (statt Partizip) + 'ist'\",\r\n \"LTD_ABK\": \"Ltd\",\r\n \"ZB_ABK\": \"Schreibweise der Abkürzung 'z. B.'\",\r\n \"UVM_ABK\": \"Schreibweise der Abkürzung 'u. v. m.'\",\r\n \"BHF_ABK\": \"Schreibweise der Abkürzung 'Bhf.'\",\r\n \"TELEFON_NR\": \"Zusammenschreibung 'Telefon-Nr.'\",\r\n \"AKTIVIER_SIND\": \"aktivier(t) ist\",\r\n \"ART_KLEINES_NOMEN\": \"der/die/das + kleingeschriebenes Nomen\",\r\n \"BEI_ANDEREN_SUB\": \"'bei anderen' + ohne Dativ plural\",\r\n \"MODALVERB_FLEKT_VERB\": \"Modalverb mit flektiertem Verb\",\r\n \"SENT_START_SIN_PLU\": \"Nomen singular + Verb plural am Satzanfang\",\r\n \"SENT_START_PLU_SIN\": \"Nomen plural + Verb singular am Satzanfang\",\r\n \"MICH_DENKEN_DASS\": \"mich (mir) denken, dass\",\r\n \"EINES_GENITIV\": \"Nomen + eines/einer + Genitiv\",\r\n \"ZU_KOMMA_ALS\": \"zu, als dass\",\r\n \"DER_KORPUS\": \"der (das) Korpus\",\r\n \"DAS_DASS\": \", das dass (, dass das)\",\r\n \"WIDER_BESSEREN_WISSENS\": \"'wider besseren Wissens (wider besseres Wissen)'\",\r\n \"FEHLENDER_PLURAL\": \"Fehlender Plural nach 'werden / müssen etc.'\",\r\n \"KEIN_PLURAL_WAEHRUNG\": \"Kein Plural bei Geldbeträgen, z.B. 'fünf Euros (Euro)'\",\r\n \"SUBJ_VERBLETZTSTELLUNG\": \"Fehlende Verbletztstellung in Nebensatz\",\r\n \"VERBEN_MIT_GENITIV\": \"Verben mit Genitiv\",\r\n \"PRAEP_GEN\": \"Präposition mit Genitiv (abzüglich, wegen etc.)\",\r\n \"MEIN_KLEIN_HAUS\": \"Unflektiertes Adjektiv statt flektierter Form (unvollständig!), z.B. 'mein klein (kleines) Haus' \",\r\n \"PRONOUN_SUBJECT_AGREEMENT\": \"fehlende Übereinstimmung zwischen Pronomen und Subjekt\",\r\n \"DER_ABGEORDNETER\": \"Falscher Artikel bei nominalisierten Adjektiven\",\r\n \"OBJECT_AGREEMENT\": \"falscher Kasus des Objekts\",\r\n \"PRP_ADJ_AGREEMENT\": \"falscher Kasus/Numerus/Genus des Adjektivs\",\r\n \"SUBJECT_VERB_AGREEMENT\": \"fehlende Übereinstimmung zwischen Subjekt und Prädikat\",\r\n \"PASSIV_KEIN_PARTIZIP\": \"fehlerhafte Passivkonstruktion (z.B. 'ist fahndet (gefahndet) worden')\",\r\n \"AUSSER_LANDES\": \"'außer Lande (Landes)'\",\r\n \"GEMAESS_DES\": \"Präposition/Kasus – 'gemäß des (dem)'\",\r\n \"PRAEP_DAT\": \"Präposition mit Dativ (mit, bei, von)\",\r\n \"PRAEP_AKK\": \"Präposition mit Akkusativ (ohne, für etc.)\",\r\n \"ART_ADJ_SOL\": \"Stark oder gemischt flektiertes Adjektiv nach Artikel, z.B. 'im heißem (heißen) Ofen'\",\r\n \"ADJ_PRAEDIKATIV\": \"Starke, schwache oder gemischte Adjektiv-Flexion statt prädikativer, z.B. 'sich normale (normal) entwickeln'\",\r\n \"NACHDEM_PRAETERITUM\": \"'nachdem' mit Präteritum\",\r\n \"EINE_MILLIONEN\": \"'eine Millionen (Million)'\",\r\n \"IM_KEINEN\": \"'im keinen (kleinen)'\",\r\n \"MEINES_WISSENS_NACH\": \"'meines Wissens nach (meines Wissens)'\",\r\n \"HILFSVERB_HABEN_SEIN\": \"falsches Hilfsverb für Perfekt (z.B. 'hat (ist) gegangen')\",\r\n \"ERSATZINFINITIV\": \"'ich habe es kommen gesehen (sehen)' etc.\",\r\n \"WORDEN_WURDEN\": \"'worden (wurden)'\",\r\n \"WURDEN_WORDEN_1\": \"'wurden (worden)'\",\r\n \"WURDEN_WORDEN_2\": \"'wurden (worden)'\",\r\n \"SPRECH_NICHT\": \"'bitte sprech (sprich)'\",\r\n \"LES_VS_LIES\": \"les/ließ (lies) dir das durch'\",\r\n \"AUFFORDERUNG_SIE\": \"'Kommen sie (Sie)!' [Aufforderung in Höflichkeitsform]\",\r\n \"DEN_DEM\": \"'dem/den' (nur für wenige Verben)\",\r\n \"AN_HERR\": \"Präposition/Kasus – 'an/für Herr (Herrn)' etc.\",\r\n \"ADJEKTIVE_ZU_ADVERBIEN\": \"'bisherig, seitherig etc.'\",\r\n \"VIELZAHL_PLUS_SINGULAR\": \"'eine Vielzahl von Möglichkeit (Möglichkeiten)' etc. (falscher Singular)\",\r\n \"USA_PLURAL\": \"'Die USA ist (sind)' etc. (falscher Singular)\",\r\n \"PRINCIPIA_PLURAL\": \"'Die Principia Mathematica ist (sind)' etc. (falscher Singular)\",\r\n \"AN_AM\": \"an (am)\",\r\n \"IN_IM\": \"in (im)\",\r\n \"ORDER_OF_WORDS\": \"falsche Wortreihenfolge\",\r\n \"REGNET_IM_STROEMEN\": \"regnet im (in) Strömen\",\r\n \"TAG_EIN_TAG_AUS\": \"Tag ein, Tag aus\",\r\n \"AUF_DEN_PLAN_RUFEN\": \"auf (den) Plan rufen\",\r\n \"SEIT_GEBURT_AN\": \"seit (von) Geburt an\",\r\n \"SEIT_KLEIN_AUF\": \"seit (von) klein auf\",\r\n \"IM_SCHACH_HALTEN\": \"im (in) Schach halten\",\r\n \"AUF_DEM_GEIST\": \"auf dem (den) Geist gehen\",\r\n \"AUF_DEM_LEIM\": \"auf dem (den) Leim gehen\",\r\n \"AUF_DEM_PUNKT\": \"auf dem (den) Punkt bringen\",\r\n \"AUF_DEM_PLAN_RUFEN\": \"auf dem (den) Plan rufen\",\r\n \"UNTER_DEM_TEPPICH_KEHREN\": \"unter dem (den) Teppich kehren\",\r\n \"AUF_DEM_KOPF_STELLEN\": \"auf dem (den) Kopf stellen\",\r\n \"IN_ANGRIFF\": \"in den Angriff (in Angriff) nehmen\",\r\n \"IN_SAUS_UND_BRAUS\": \"in saus (Saus) und braus (Braus)\",\r\n \"WIE_EH_UND_JE\": \"wie eh und je\",\r\n \"WEDER_OHNE_NOCH\": \"'weder' ohne 'noch'\",\r\n \"AUF_DEM_LAUFENDEN_IDIOM\": \"'auf den (dem) Laufenden halten'\",\r\n \"AUS_DEM_VOLLEN_IDIOM\": \"'aus den (dem) Vollen schöpfen'\",\r\n \"MEINES_ERACHTENS_NACH\": \"meines Erachtens nach (meines Erachtens)\",\r\n \"FUENFTES_RAD\": \"drittes (fünftes) Rad am Wagen\",\r\n \"ZWEIGLEISIGES_SCHWERT\": \"zweigleisiges (zweischneidiges) Schwert\",\r\n \"A_LA_CARTE\": \"Wendung: à la carte\",\r\n \"ZUM_VORSCHEIN\": \"Wendung: zum Vorschein bringen\",\r\n \"GESETZT_DEN_FALL\": \"Wendung: 'gesetzt den Fall'\",\r\n \"LEBZEITEN\": \"'zu seinen Lebzeiten'\",\r\n \"INSOFERN_ALS_DASS\": \"'insofern, als dass (als)'\",\r\n \"ZEIT_VERRENNT\": \"'die Zeit verrennt (verrinnt)'\",\r\n \"SCHMERZEN_ZUFUEHREN\": \"'jmd. Schmerzen zuführen (zufügen)'\",\r\n \"AUF_WEITEM_FLUR\": \"'auf weitem (weiter) Flur'\",\r\n \"IN_DIE_PRESCHE\": \"'in die Presche (Bresche) springen'\",\r\n \"UEBER_DIE_STRENGE_SCHLAGEN\": \"'über die Strenge (Stränge) schlagen'\",\r\n \"ZAUN_ZAUM\": \"'im Zaun (Zaum) halten/vom Zaum (Zaun) brechen'\",\r\n \"RAT_UND_TAT\": \"'mit Rad (Rat) und tat (Tat)'\",\r\n \"DAS_HIN_UND_HER\": \"'das hin (Hin) und her (Her)'\",\r\n \"INNERE_WERTE\": \"'innere werte (Werte)'\",\r\n \"ALLES_MOEGLICHE\": \"'alles mögliche (Mögliche)'\",\r\n \"FASSUNGSLOS\": \"kein Nomen: .*ungslos\",\r\n \"IN_BAUCH_UND_BOGEN\": \"'in Bauch (Bausch) und Bogen'\",\r\n \"NIE_UND_IMMER\": \"'nie und (n)immer'\",\r\n \"GANG_UND_GEBE\": \"'gang und gebe (gäbe)'\",\r\n \"STUMPF_UND_STIL\": \"'mit Stumpf und Stil (Stiel)'\",\r\n \"WART_NICHT_MEHR_GESEHEN\": \"'wart (ward) nicht mehr gesehen'\",\r\n \"EIERLEGENDE_VOLLMILCHSAU\": \"'eierlegende Vollmilchsau (Wollmilchsau)'\",\r\n \"STREU_VOM_WEIZEN\": \"'Streu (Spreu) vom Weizen trennen'\",\r\n \"LICHT_UNTER_DEN_SCHEMEL\": \"'sein Licht unter den Schemel (Scheffel) stellen'\",\r\n \"ZUR_SALZSAEURE\": \"'zur Salzsäure (-säule) erstarren'\",\r\n \"APPEL_UND_EI\": \"'für einen Apfel und ein Eis (Ei)'\",\r\n \"MIT_RUM_BEKLECKERT\": \"'mit Rum (Ruhm) bekleckert'\",\r\n \"MALT_MAHLT\": \"'malt (mahlt) zuerst'\",\r\n \"AUS_DER_LUFT_ENTSTANDEN\": \"'aus der Luft gegriffen' etc.\",\r\n \"NACH_HAUSE\": \"zu (nach) Hause kommen\",\r\n \"SOVIEL_ICH_WEISS_KOMMA\": \"soviel ich weiß(,)\",\r\n \"DAS_IST_GLAUBE_ICH_EGAL\": \"das ist(,) glaube ich(,) gut\",\r\n \"LEERZEICHEN_NACH_KLAMMER\": \"fehlendes Leerzeichen nach schließender Klammer\",\r\n \"EIN_ZWEI_FRAGEN_KOMMA\": \"ein(,) zwei Fragen\",\r\n \"ICH_BIN_STAND_JETZT_KOMMA\": \"Ich werde(,) Stand jetzt(,)\",\r\n \"GUTEN_TAG_KOMMA\": \"Guten Tag(,) wie gehts?\",\r\n \"HOFFE_DEIN_TAG_WAR_KOMMA\": \"hoffe(,) dein Tag war\",\r\n \"SOFERN_KOMMA\": \"Komma vor 'sofern'\",\r\n \"WIE_DER_DER_KOMMA\": \"wie der(,) der damals\",\r\n \"IST_DER_TEST_DER_KOMMA\": \"ist der Test(,) der …\",\r\n \"WEISST_DU_WARUM_KOMMA\": \"Weißt du(,) warum?\",\r\n \"DIE_FRAGE_IST_KOMMA\": \"die Frage ist(,) wem\",\r\n \"WO_DENKST_DU_SIND_KOMMA\": \"Wo denkst du(,) soll es sein?\",\r\n \"DAHER_DACHTE_ICH_MIR_KOMMA\": \"daher dachten wir(,) es wäre\",\r\n \"STELL_DIR_VOR_KOMMA\": \"Stell dir vor(,) du ...\",\r\n \"MEINST_DU_DAS_KOMMA\": \"Meinst du(,) das stimmt?\",\r\n \"GEHT_NICHT_GIBT_ES_NICHT_KOMMA\": \"geht nicht(,) gibts nicht\",\r\n \"ICH_MELDE_MICH_SOLLTE_KOMMA\": \"ich melde mich(,) sollte\",\r\n \"ICH_SEHE_WAS_WAS\": \"ich sehe was(,) was du nicht siehst\",\r\n \"SO_WIE_KEIN_KOMMA\": \"Kein Komma in 'So, wie'\",\r\n \"ICH_GLAUBE_FUER_EUCH\": \"Ich glaube(,) für euch ist ...\",\r\n \"GEMACHT_HABE_IST_KOMMA\": \"… gemacht habe(,) ist …\",\r\n \"ALLE_DIE_DIE\": \"alle die(,) die ...\",\r\n \"WAS_WENN\": \"Was(,) wenn ...\",\r\n \"ALL_DAS_WAS_KOMMA\": \"All das(,) was\",\r\n \"GESAGT_GETAN\": \"gesagt(,) getan\",\r\n \"WEGEN_DEM_WAS_KOMMA\": \"wegen dem(,) was\",\r\n \"WENN_DOCH_KOMMA\": \"Komma nach 'wenn doch'\",\r\n \"UND_SUB_KOMMA\": \"Fehlerhaftes Komma nach 'und/oder'\",\r\n \"SEHR_SEHR_GUT\": \"sehr(,) sehr gut\",\r\n \"VERINF_DAS_DASS_SUB\": \"Kann es sein das (sein, dass) Papa der schlauste Mensch der Welt ist?\",\r\n \"VER_INF_PKT_VER_INF\": \"Komma zwischen Haupt- und Nebensatz, z. B. Um das herauszubekommen(,) diskutieren zwei Experten.\",\r\n \"KARAETIG_OHNE_BINDESTRICH\": \"Zahl und -karätig werden mit Bindestrich verbunden\",\r\n \"KONJUNKTION_DASS_DAS\": \"Super das (, dass) viele Autos nun elektrisch fahren.\",\r\n \"KOMMA_VOR_UND_ODER\": \"Fehlerhaftes Komma vor 'und' oder 'oder'\",\r\n \"FEHLERHAFTES_KOMMA_IN_WENDUNG\": \"Fehlerhaftes Komma in Wendungen (sowohl - als auch, weder - noch)\",\r\n \"BINDESTRICH_BEI_ZIFFER\": \"fehlender Bindestrich bei Auslassung mit Ziffer ('3- bis 4-facher Wert')\",\r\n \"XJAEHRIG\": \"Xjährig (X-jährig)\",\r\n \"XX-PROZENTIG\": \"20-%ig (20%ig)\",\r\n \"EIN_UND_AUS_GEHEN\": \"'ein- und ausgehen (ein und aus gehen)'\",\r\n \"IN_UND_AUSWENDIG\": \"'in (in-) und auswendig' etc.\",\r\n \"ZEICHENSETZUNG_DIREKTE_REDE\": \"Zeichensetzung bei direkter Rede\",\r\n \"GROSSSCHREIBUNG_WOERTLICHER_REDE\": \"Fälschliche Kleinschreibung des ersten Wortes wörtlicher Rede\",\r\n \"SEMIKOLON_VOR_ANFUEHRUNGSZEICHEN\": \"Fälschliches Semikolon vor schließendem Anführungszeichen\",\r\n \"FRAGEZEICHEN_NACH_DIREKTER_REDE\": \"Fehlendes Fragezeichen am Abschluss einer direkten Rede\",\r\n \"PUNKT_ENDE_DIREKTE_REDE\": \"Fehlender Punkt am Ende der direkten Rede\",\r\n \"ABKUERZUNG_FALSCHE_PUNKTE\": \"zu viel gesetzte Punkte in Abkürzungen (z. B. 'e.t.c.')\",\r\n \"ABKUERZUNG_FEHLENDE_PUNKTE\": \"Fehlende Punkte in Abkürzungen ('z B.', 'u.a' etc.)\",\r\n \"AUFFORDERUNG_MIT_FRAGEZEICHEN\": \"Fragezeichen statt Ausrufezeichen\",\r\n \"FRAGEZEICHEN_STATT_PUNKT\": \"Fragezeichen statt eines Punkts am Ende einer Frage\",\r\n \"DIRECTORS_CUT\": \"Apostroph in 'Directors Cut'\",\r\n \"ROCK_N_ROLL\": \"Apostroph in 'Rock 'n' Roll'\",\r\n \"DOPPELTES_AUSRUFEZEICHEN\": \"mehrere Ausrufezeichen etc.\",\r\n \"NICHTS_OHNE_APOSTROPH\": \"Kein Apostroph bei 'nichts', 'nachts', 'montags' etc.\",\r\n \"ANS_OHNE_APOSTROPH\": \"Kein Apostroph bei 'ans', 'ins', 'aufs' etc.\",\r\n \"PLURAL_APOSTROPH\": \"AGB's (AGBs) etc.\",\r\n \"APOSTROPH_S\": \"Apostroph vor Genitiv-s\",\r\n \"PUNKT_UND_KLAMMER\": \"Punkt und Klammer bei Aufzählungen, z.B. '1.)'\",\r\n \"ZAHL_PUNKT_KOMMA\": \"Komma als Tausendertrennzeichen, z.B. '27,182,818'\",\r\n \"PUNKT_NACH_ORDINALZAHL\": \"Punkt nach Ordinalzahlen\",\r\n \"PFEILE\": \"-> (?)\",\r\n \"GROESSERALS\": \">= (?)\",\r\n \"GRAD_ZU_VIEL\": \"Gradzeichen zu viel ('°K (K)')\",\r\n \"DIN_A_4\": \"'DIN A 4 (A4)'\",\r\n \"EINHEIT_LEERZEICHEN\": \"Falsches/Fehlendes Leerzeichen zwischen Zahl und Einheit\",\r\n \"SCHRAEGSTRICH_EINHEITEN\": \"Fehlender/zu viel gesetzter Schrägstrich bei Einheiten\",\r\n \"MALZEICHEN\": \"Sternchen statt Malzeichen\",\r\n \"LEERZEICHEN_RECHENZEICHEN\": \"Leerzeichen vor Rechenzeichen\",\r\n \"APRIL_APRIL\": \"Komma in 'April April'\",\r\n \"KOMMA_AUFZAEHLUNG\": \"Falsches Komma vor Konjunktion in Aufzählung (nur wenige Fälle)\",\r\n \"KOMMA_ALS_KOMPARATIV\": \"Komma bei 'als' mit Komparativ\",\r\n \"KOMMA_KONJ_ADV\": \"Fehlendes Komma vor bestimmten Adverbien und Konjunktionen\",\r\n \"KOMMA_STATT_PUNKT\": \"Komma statt Punkt\",\r\n \"FEHLENDER_PUNKT_BEI_DATUM\": \"Fehlender Punkt bei Datumsangabe (24.12)\",\r\n \"KOMMA_DATUM_WOCHENTAG\": \"Fehlendes Komma zwischen Wochentag und Datumsangabe\",\r\n \"SONDERN_KOMMA\": \"Fehlendes Komma vor 'sondern'\",\r\n \"SUBJUNKTION_KOMMA\": \"Fehlendes Komma bei Subjunktion\",\r\n \"SUBJUNKTION_KOMMA_2\": \"Fehlendes Komma bei Subjunktion\",\r\n \"BISSTRICH_STATT_WAEHRUNG\": \"Bis-Strich statt Währungssymbol\",\r\n \"ZWISCHEN_BISSTRICH\": \"'zwischen' mit Bis-Strich\",\r\n \"VON_BIS\": \"'von' mit Bis-Strich\",\r\n \"KOMMA_VOR_UND_ZWAR\": \"Komma vor 'und zwar'\",\r\n \"INDIREKTE_FRAGE\": \"indirekte Frage\",\r\n \"KOMMA_VOR_WIE\": \"Komma vor wie\",\r\n \"DOPPELTE_SATZZEICHEN\": \"Doppelte Satzzeichen\",\r\n \"BINDESTRICH_SUBSTANTIV\": \"Ungewollter Bindestrich '-Aufgabe'\",\r\n \"AUSLASSUNGSPUNKTE_LEERZEICHEN\": \"Leerzeichen vor/hinter Auslassungspunkten\",\r\n \"MIO_PUNKT\": \"2 Mio (Mio.)\",\r\n \"LEERZEICHEN_VOR_KLAMMER\": \"Fehlendes Leerzeichen vor einer Klammer\",\r\n \"DOPPELTES_LEERZEICHEN\": \"Doppeltes Leerzeichen\",\r\n \"SPACE_BEFORE_OG\": \"Im 2.OG (2. OG)\",\r\n \"TRADEMARK\": \"(TM) statt ™\",\r\n \"R_SYMBOL\": \"(R) statt ®\",\r\n \"COPYRIGHT\": \"(c) statt ©\",\r\n \"H2O\": \"H2O (H?O) etc.\",\r\n \"LEERZEICHEN_VOR_AUSRUFEZEICHEN_ETC\": \"Falsches Leerzeichen vor Ausrufezeichen etc.\",\r\n \"FALSCHE_VERWENDUNG_DES_BINDESTRICHS\": \"Mögliche falsche Verwendung des Bindestrichs\",\r\n \"TRIPLE_PRIME_ZEICHEN\": \"Triple Prime-Zeichen\",\r\n \"FALSCHES_ANFUEHRUNGSZEICHEN\": \"Falsche Anführungszeichen ('” [99]' statt '“ [66]')\",\r\n \"FALSCHES_ANFUEHRUNGSZEICHEN_2\": \"Doppelte Kommas oder doppelte Apostrophe\",\r\n \"TYPOGRAFISCHE_APOSTROPHE\": \"Typografischer Apostroph ’ statt '\",\r\n \"TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_2\": \"Typografische Anführungszeichen\",\r\n \"GROESSER_KLEINER_ANFUEHRUNG\": \"Größer-/Kleiner-Zeichen statt frz. Anführungszeichen\",\r\n \"ANFUEHRUNG_VERSCHACHTELT\": \"„Verschachtelte ‚Anführungszeichen‘“\",\r\n \"MULTIPLICATION_SIGN\": \"Mathematik: Multiplikation: x - × \",\r\n \"AKZENT_STATT_APOSTROPH\": \"Akzent statt Apostroph\",\r\n \"BISSTRICH\": \"Bis-Strich vs. Bindestrich\",\r\n \"AUSLASSUNGSPUNKTE\": \"Auslassungspunkte\",\r\n \"ABKUERZUNG_LEERZEICHEN\": \"geschütztes Leerzeichen bei Abkürzungen wie 'z. B.'\",\r\n \"PARAGRAF_LEERZEICHEN\": \"Fehlendes geschütztes Leerzeichen nach '§'\",\r\n \"LEERZEICHEN_NACH_VOR_ANFUEHRUNGSZEICHEN\": \"Falsches Leerzeichen nach oder vor Anführungszeichen oder Klammern\",\r\n \"LEERZEICHEN_HINTER_DOPPELPUNKT\": \"Fehlendes Leerzeichen hinter ':' und ';'\",\r\n \"ADJ_SUB_VER_KOMMA_ADJ_SUB\": \"Falsches Komma in z. B. '... erfordert, harte Stuhlrollen.'\",\r\n \"KOMMA_INFINITIVGRUPPEN\": \"Komma vor Infinitivgruppen mit 'als', 'anstatt', 'außer', 'ohne', 'statt', 'um'\",\r\n \"KOMMA_INFINITIVGRUPPE_II\": \"Komma vor Infinitivgruppe, die von einem Korrelat (es) abhängt\",\r\n \"KOMMA_VOR_SONDERN\": \"Komma vor 'sondern'\",\r\n \"KOMMA_VOR_ERLAEUTERUNG\": \"Komma vor nachgestellter Erläuterung\",\r\n \"KOMMA_NACH_DIREKTER_REDE\": \"Fehlendes Komma nach direkter Rede\",\r\n \"KOMMA_VOR_NICHT_WAHR\": \"Fehlendes Komma vor 'nicht wahr' etc.\",\r\n \"KOMMA_DASS\": \"Unter der Bedingung das (, dass)\",\r\n \"KOMMA_ZWISCHEN_HAUPT_UND_NEBENSATZ\": \"Fehlendes Komma zwischen Haupt- und Nebensatz oder zwei Hauptsätzen\",\r\n \"KOMMA_ZWISCHEN_HAUPT_UND_NEBENSATZ_2\": \"Fehlendes Komma zwischen Haupt- und Nebensatz oder zwei Hauptsätzen\",\r\n \"FEHLERHAFTES_KOMMA_ALLG\": \"Fehlerhaftes Komma\",\r\n \"PROBIEREN_GEHT_UEBER_STUDIEREN\": \"Probieren geht über Studieren\",\r\n \"EVTL_ABK\": \"Schreibweise der Abkürzung 'evtl.'\",\r\n \"VLT_ABK\": \"Schreibweise der Abkürzung 'vlt.'\",\r\n \"GGF_ABK\": \"Schreibweise der Abkürzung 'ggf.'\",\r\n \"GEFEATURED\": \"gefeatured -> gefeaturt\",\r\n \"BZGL_ABK\": \"Schreibweise der Abkürzung 'bzgl.'\",\r\n \"AB_TEST\": \"A/B-Test\",\r\n \"F_ANSTATT_PH\": \"Worte mit F anstatt Ph\",\r\n \"TEST_F_ANSTATT_PH\": \"Worte mit Ph anstatt F\",\r\n \"PH_ANSTATT_F\": \"Worte mit Ph anstatt F\",\r\n \"I_ANSTATT_Y\": \"Worte mit I anstatt Y\",\r\n \"Z_ANSTATT_T\": \"Worte mit Z anstatt T\",\r\n \"EMPFOHLENE_GETRENNTSCHREIBUNG\": \"Empfohlene Getrenntschreibung\",\r\n \"EMPFOHLENE_ZUSAMMENSCHREIBUNG\": \"Empfohlene Zusammenschreibung\",\r\n \"EMPFOHLENE_SCHREIBUNG_EIGENNAMEN\": \"Empfohlene Schreibung von Eigennamen\",\r\n \"EMPFOHLENE_GROSS_KLEINSCHREIBUNG\": \"Empfohlene Groß-/Kleinschreibung\",\r\n \"EUERM_EUERN\": \"eurem/euerem und euren/eueren statt euerm und euern\",\r\n \"WEISS\": \"weiss (weiß)\",\r\n \"ANREDE_KOMMA\": \"Fehlendes Komma nach der Anrede\",\r\n \"ANREDE_KOMMA_2\": \"Fehlendes Komma nach Begrüßungsformeln (Hallo, Guten Tag)\",\r\n \"TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN\": \"Typografische Anführungszeichen\",\r\n \"WAEHRUNGSANGABEN_KOMMA\": \"Währungsangaben mit Komma statt Punkt, z. B. '45.00 Euro (45,00 Euro)'\",\r\n \"AUSTRIAN_GERMAN_SPELLER_RULE\": \"Möglicher Rechtschreibfehler\",\r\n \"DE_CH_COMPOUNDS\": \"Zusammenschreibung von Wörtern, z. B. 'CD-ROM' statt 'CD ROM'\",\r\n \"SWISS_GERMAN_SPELLER_RULE\": \"Möglicher Rechtschreibfehler\",\r\n \"WAEHRUNGSANGABEN_CHF\": \"Währungsangaben in CHF mit Punkt statt Komma, z. B. '45,00 CHF (45.00 CHF)'\",\r\n \"TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_CH\": \"Typografische Anführungszeichen\",\r\n \"DE_COMPOUNDS\": \"Zusammenschreibung von Wörtern, z. B. 'CD-ROM' statt 'CD ROM'\",\r\n \"GERMAN_SPELLER_RULE\": \"Möglicher Rechtschreibfehler\"\r\n}","export default {\r\n \"WHITESPACE_PUNCTUATION\": \"Utilizzo dello spazio prima di : ; %\",\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"Utilizzo dello spazio prima della virgola e prima/dopo le parentesi\",\r\n \"DOUBLE_PUNCTUATION\": \"Doppia battitura di punti o di virgole\",\r\n \"UNPAIRED_BRACKETS\": \"Non chiusura di parentesi, virgolette e altra punteggiatura simile\",\r\n \"MORFOLOGIK_RULE_IT_IT\": \"Probabile errore di battitura\",\r\n \"UPPERCASE_SENTENCE_START\": \"Controlla che la frase inizi con una maiuscola\",\r\n \"ITALIAN_WORD_REPEAT_RULE\": \"Parola ripetuta (es. 'casa casa')\",\r\n \"WHITESPACE_RULE\": \"Ripetizione dello spazio (brutta formattazione)\",\r\n \"GR_04_001\": \"apocopi vocaliche\",\r\n \"GR_04_002\": \"Elisioni\",\r\n \"ARTICOLATA_SOSTANTIVO\": \"Concordanza preposizione articolata - sostantivo\",\r\n \"GR_07_001\": \"uso corretto\",\r\n \"GR_09_001\": \"asterischi di omissione (***)\",\r\n \"GR_09_002\": \"puntini di sospensione (...)\",\r\n \"GR_09_003\": \"ripetizioni\",\r\n \"GR_09_004\": \"sigle\",\r\n \"DOPPIO_VERBO_AUSILIARE_TERZA_PERSONA\": \"Doppio verbo ausiliare terza persona\",\r\n \"GR_10_003\": \"uso del congiuntivo\",\r\n \"GR_10_004\": \"uso corretto\",\r\n \"ST_01_002\": \"parlato\",\r\n \"ST_01_003\": \"pleonasmi\",\r\n \"ST_01_004\": \"regionali\",\r\n \"ST_01_005\": \"straniere\",\r\n \"ST_03_001\": \"eufoniche\",\r\n \"ER_01_001\": \"scambio di 'a' ed 'ha'\",\r\n \"ER_01_002\": \"scambio di 'ai' ed 'hai'\",\r\n \"ER_01_003\": \"scambio di 'anno' ed 'hanno'\",\r\n \"GIRONI_GIORNI\": \"7 gironi -> 7 giorni\",\r\n \"ER_02_001\": \"scambio di 'ala' ed 'alla'\",\r\n \"ER_02_004\": \"scambio di 'là' e 'la'\",\r\n \"ER_02_005\": \"scambio di 'dà' e 'da'\",\r\n \"ANNO20011_2011\": \"*20011/2011\",\r\n \"DATE_WEEKDAY\": \"Data incorrecta\"\r\n}","export default {\r\n \"COMMA_PARENTHESIS_WHITESPACE\": \"Spatie voor of achter haakje\",\r\n \"DOUBLE_PUNCTUATION\": \"Twee komma's of punten\",\r\n \"UNPAIRED_BRACKETS\": \"Niet-gecombineerde haakjes, aanhalingstekens of andere symbolen\",\r\n \"UPPERCASE_SENTENCE_START\": \"Controleert of een zin begint met een hoofdletter\",\r\n \"MORFOLOGIK_RULE_NL_NL\": \"Waarschijnlijk een spelfout\",\r\n \"WHITESPACE_RULE\": \"Te veel witruimte tussen woorden\",\r\n \"NL_COMPOUNDS\": \"Woorden die aaneengeschreven horen, bijvoorbeeld 'zee-egel' i.p.v. 'zee egel'\",\r\n \"DUTCH_WRONG_WORD_IN_CONTEXT\": \"Woordverwarring\",\r\n \"NL_WORD_COHERENCY\": \"Consistente spelling van woorden met meerdere correcte vormen.\",\r\n \"NL_SIMPLE_REPLACE\": \"Snelle correctie van veel voorkomende vergissingen\",\r\n \"TOO_LONG_SENTENCE\": \"Leesbaarheid: zin heeft meer dan 40 woorden.\",\r\n \"NL_PREFERRED_WORD_RULE\": \"Suggereert een gebruikelijker woord.\",\r\n \"NL_SPACE_IN_COMPOUND\": \"Detecteert spatiefouten\",\r\n \"SENTENCE_WHITESPACE\": \"Tussen twee zinnen hoort witruimte\",\r\n \"NL_CHECKCASE\": \"Controle op hoofd- en kleine letters\",\r\n \"POSS_PRON_PLUS_NOUN\": \"ons/onze congruentie\",\r\n \"MEN_MIJN\": \"Appels zijn men (mijn) favoriete fruitsoort\",\r\n \"AFTE\": \"afte lopen/af te lopen\",\r\n \"PIJLEN\": \"-> (?)\",\r\n \"BE\": \"be kan van alles zijn…\",\r\n \"EN_OF\": \"En of / en/of\",\r\n \"EN-\": \"En- / en -\",\r\n \"DE_HERE\": \"Heer/Here\",\r\n \"WORDT_JE\": \"Wordt/word\",\r\n \"SOURCE\": \"Source/bron\",\r\n \"DD\": \"Dd/d.d.\",\r\n \"A_LA\": \"a la / á la\",\r\n \"VEEL_DAGEN\": \"2021 dagen\",\r\n \"GETALLEN_UITSCHRIJVEN\": \"Getallen onder 20 en ronde getallen uitschrijven\",\r\n \"SPATIE_GETALLEN\": \"Spatie tussen getal en meeteenheid\",\r\n \"INSPECIFIEK_3\": \"zeer waarschijnlijk\",\r\n \"INSPECIFIEK_6\": \"te verwachten\",\r\n \"WIJ_ZIJ_MIJ\": \"Wij, zij, jij/jou/jouw, mij ? we, ze, je, me\",\r\n \"MEEST_GEWOON\": \"Meest gewoon/gewoonst\",\r\n \"DATE_WEEKDAY\": \"Dag komt niet overeen met datum\",\r\n \"INVALID_DATE\": \"Ongeldige datum, bijv. '31 februari 2014'\",\r\n \"BOOMEN_BOMEN\": \"waarschuwing bij gebruik boomen i.p.v. bomen\",\r\n \"MEERT_MIRT\": \"waarschuwing bij gebruik mirt i.p.v. meert\",\r\n \"SMEERT_SMIRT\": \"waarschuwing bij gebruik smirt i.p.v. smeert\",\r\n \"MEER_MIR\": \"waarschuwing bij gebruik mir i.p.v. meer\",\r\n \"KEER_KIR\": \"waarschuwing bij gebruik kir i.p.v. keer\",\r\n \"GEBEUREN_GEBUREN\": \"waarschuwing bij gebruik geburen i.p.v. gebeuren\",\r\n \"DEUR_DUR\": \"waarschuwing bij gebruik dur i.p.v. deur\",\r\n \"ZIEDEN\": \"Zieden/zien\",\r\n \"GEUREN_GUREN\": \"waarschuwing bij gebruik guren i.p.v. geuren\",\r\n \"GEURIGE_GURIGE\": \"waarschuwing bij gebruik gurige i.p.v. geurige\",\r\n \"GEURIG_GURIG\": \"waarschuwing bij gebruik gurig i.p.v. geurig\",\r\n \"SPEURT_SPURT\": \"waarschuwing bij gebruik spurt i.p.v. speurt\",\r\n \"LEUREN_LUREN\": \"waarschuwing bij gebruik luren i.p.v. leuren\",\r\n \"UITSCHEUREN_UITSCHUREN\": \"waarschuwing bij gebruik uitschuren i.p.v. uitscheuren\",\r\n \"PEUREN_PUREN\": \"waarschuwing bij gebruik puren i.p.v. peuren\",\r\n \"KEUREND_KUREND\": \"waarschuwing bij gebruik kurend i.p.v. keurend\",\r\n \"KEURENDE_KURENDE\": \"waarschuwing bij gebruik kurende i.p.v. keurende\",\r\n \"DOORSCHEUREN_DOORSCHUREN\": \"waarschuwing bij gebruik doorschuren i.p.v. doorscheuren\",\r\n \"BRANDDEUREN_BRANDDUREN\": \"waarschuwing bij gebruik brandduren i.p.v. branddeuren\",\r\n \"AFSPEURT_AFSPURT\": \"waarschuwing bij gebruik afspurt i.p.v. afspeurt\",\r\n \"RONDSCHEUREN_RONDSCHUREN\": \"waarschuwing bij gebruik rondschuren i.p.v. rondscheuren\",\r\n \"AFSCHEURING_AFSCHURING\": \"waarschuwing bij gebruik afschuring i.p.v. afscheuring\",\r\n \"VLUCHTDEUREN_VLUCHTDUREN\": \"waarschuwing bij gebruik vluchtduren i.p.v. vluchtdeuren\",\r\n \"BEDRIJFSDEUREN_BEDRIJFSDUREN\": \"waarschuwing bij gebruik bedrijfsduren i.p.v. bedrijfsdeuren\",\r\n \"LOOPDEUREN_LOOPDUREN\": \"waarschuwing bij gebruik loopduren i.p.v. loopdeuren\",\r\n \"DROOGSCHEUREN_DROOGSCHUREN\": \"waarschuwing bij gebruik droogschuren i.p.v. droogscheuren\",\r\n \"PEURT_PURT\": \"waarschuwing bij gebruik purt i.p.v. peurt\",\r\n \"AFSCHEURINGEN_AFSCHURINGEN\": \"waarschuwing bij gebruik afschuringen i.p.v. afscheuringen\",\r\n \"GEPEURD_GEPURD\": \"waarschuwing bij gebruik gepurd i.p.v. gepeurd\",\r\n \"PEURDE_PURDE\": \"waarschuwing bij gebruik purde i.p.v. peurde\",\r\n \"VERBINDINGSDEUREN_VERBINDINGSDUREN\": \"waarschuwing bij gebruik verbindingsduren i.p.v. verbindingsdeuren\",\r\n \"ZEURIG_ZURIG\": \"waarschuwing bij gebruik zurig i.p.v. zeurig\",\r\n \"ZEURIGE_ZURIGE\": \"waarschuwing bij gebruik zurige i.p.v. zeurige\",\r\n \"ZEURIGER_ZURIGER\": \"waarschuwing bij gebruik zuriger i.p.v. zeuriger\",\r\n \"OVENDEUREN_OVENDUREN\": \"waarschuwing bij gebruik ovenduren i.p.v. ovendeuren\",\r\n \"PEURDEN_PURDEN\": \"waarschuwing bij gebruik purden i.p.v. peurden\",\r\n \"WEGSCHEURENDE_WEGSCHURENDE\": \"waarschuwing bij gebruik wegschurende i.p.v. wegscheurende\",\r\n \"TRANSPORTDEUREN_TRANSPORTDUREN\": \"waarschuwing bij gebruik transportduren i.p.v. transportdeuren\",\r\n \"DOORSCHEUREND_DOORSCHUREND\": \"waarschuwing bij gebruik doorschurend i.p.v. doorscheurend\",\r\n \"NAKEUREN_NAKUREN\": \"waarschuwing bij gebruik nakuren i.p.v. nakeuren\",\r\n \"BEURELEN_BURELEN\": \"waarschuwing bij gebruik burelen i.p.v. beurelen\",\r\n \"GEURIGS_GURIGS\": \"waarschuwing bij gebruik gurigs i.p.v. geurigs\",\r\n \"PEUREND_PUREND\": \"waarschuwing bij gebruik purend i.p.v. peurend\",\r\n \"GEPEURDE_GEPURDE\": \"waarschuwing bij gebruik gepurde i.p.v. gepeurde\",\r\n \"UITSCHEURENDE_UITSCHURENDE\": \"waarschuwing bij gebruik uitschurende i.p.v. uitscheurende\",\r\n \"BEURENDE_BURENDE\": \"waarschuwing bij gebruik burende i.p.v. beurende\",\r\n \"AFSCHEUREND_AFSCHUREND\": \"waarschuwing bij gebruik afschurend i.p.v. afscheurend\",\r\n \"AFSCHEURENDE_AFSCHURENDE\": \"waarschuwing bij gebruik afschurende i.p.v. afscheurende\",\r\n \"DOORSCHEURENDE_DOORSCHURENDE\": \"waarschuwing bij gebruik doorschurende i.p.v. doorscheurende\",\r\n \"BEUREND_BUREND\": \"waarschuwing bij gebruik burend i.p.v. beurend\",\r\n \"SCHEURINKJES_SCHURINKJES\": \"waarschuwing bij gebruik schurinkjes i.p.v. scheurinkjes\",\r\n \"ZEUREND_ZUREND\": \"waarschuwing bij gebruik zurend i.p.v. zeurend\",\r\n \"ZEURENDE_ZURENDE\": \"waarschuwing bij gebruik zurende i.p.v. zeurende\",\r\n \"ZEURENDEN_ZURENDEN\": \"waarschuwing bij gebruik zurenden i.p.v. zeurenden\",\r\n \"PEURENDE_PURENDE\": \"waarschuwing bij gebruik purende i.p.v. peurende\",\r\n \"WEGSCHEUREND_WEGSCHUREND\": \"waarschuwing bij gebruik wegschurend i.p.v. wegscheurend\",\r\n \"AANSCHEURENDE_AANSCHURENDE\": \"waarschuwing bij gebruik aanschurende i.p.v. aanscheurende\",\r\n \"GEHOORD_GEHORD\": \"waarschuwing bij gebruik gehord i.p.v. gehoord\",\r\n \"GEHOORDE_GEHORDE\": \"waarschuwing bij gebruik gehorde i.p.v. gehoorde\",\r\n \"HOORDE_HORDE\": \"waarschuwing bij gebruik horde i.p.v. hoorde\",\r\n \"VERWOORDEN_VERWORDEN\": \"waarschuwing bij gebruik verworden i.p.v. verwoorden\",\r\n \"POORTJE_PORTJE\": \"waarschuwing bij gebruik portje i.p.v. poortje\",\r\n \"DOOR_DOR\": \"waarschuwing bij gebruik dor i.p.v. door\",\r\n \"POORTJES_PORTJES\": \"waarschuwing bij gebruik portjes i.p.v. poortjes\",\r\n \"HOOR_HOR\": \"waarschuwing bij gebruik hor i.p.v. hoor\",\r\n \"KOORTS_KORTS\": \"waarschuwing bij gebruik korts i.p.v. koorts\",\r\n \"PASTOOR_PASTOR\": \"waarschuwing bij gebruik pastor i.p.v. pastoor\",\r\n \"OOR_OR\": \"waarschuwing bij gebruik or i.p.v. oor\",\r\n \"POORT_PORT\": \"waarschuwing bij gebruik port i.p.v. poort\",\r\n \"VOORSTE_VORSTE\": \"waarschuwing bij gebruik vorste i.p.v. voorste\",\r\n \"POORTEN_PORTEN\": \"waarschuwing bij gebruik porten i.p.v. poorten\",\r\n \"KOOR_KOR\": \"waarschuwing bij gebruik kor i.p.v. koor\",\r\n \"KOORDEN_KORDEN\": \"waarschuwing bij gebruik korden i.p.v. koorden\",\r\n \"MAJOORS_MAJORS\": \"waarschuwing bij gebruik majors i.p.v. majoors\",\r\n \"STUURBOORD_STUURBORD\": \"waarschuwing bij gebruik stuurbord i.p.v. stuurboord\",\r\n \"SPOORTJE_SPORTJE\": \"waarschuwing bij gebruik sportje i.p.v. spoortje\",\r\n \"GOOR_GOR\": \"waarschuwing bij gebruik gor i.p.v. goor\",\r\n \"VERWOORDING_VERWORDING\": \"waarschuwing bij gebruik verwording i.p.v. verwoording\",\r\n \"BUITENBOORD_BUITENBORD\": \"waarschuwing bij gebruik buitenbord i.p.v. buitenboord\",\r\n \"MOOR_MOR\": \"waarschuwing bij gebruik mor i.p.v. moor\",\r\n \"SPOORTJES_SPORTJES\": \"waarschuwing bij gebruik sportjes i.p.v. spoortjes\",\r\n \"NOOR_NOR\": \"waarschuwing bij gebruik nor i.p.v. noor\",\r\n \"VERWOORDINGEN_VERWORDINGEN\": \"waarschuwing bij gebruik verwordingen i.p.v. verwoordingen\",\r\n \"KOORDE_KORDE\": \"waarschuwing bij gebruik korde i.p.v. koorde\",\r\n \"POORTHUIS_PORTHUIS\": \"waarschuwing bij gebruik porthuis i.p.v. poorthuis\",\r\n \"BOORDSYSTEEM_BORDSYSTEEM\": \"waarschuwing bij gebruik bordsysteem i.p.v. boordsysteem\",\r\n \"ONDERBOORD_ONDERBORD\": \"waarschuwing bij gebruik onderbord i.p.v. onderboord\",\r\n \"BOORDPAPIEREN_BORDPAPIEREN\": \"waarschuwing bij gebruik bordpapieren i.p.v. boordpapieren\",\r\n \"GOORS_GORS\": \"waarschuwing bij gebruik gors i.p.v. goors\",\r\n \"KOORDELEN_KORDELEN\": \"waarschuwing bij gebruik kordelen i.p.v. koordelen\",\r\n \"BOORDRAND_BORDRAND\": \"waarschuwing bij gebruik bordrand i.p.v. boordrand\",\r\n \"GEMOORDE_GEMORDE\": \"waarschuwing bij gebruik gemorde i.p.v. gemoorde\",\r\n \"BOORDZIJDE_BORDZIJDE\": \"waarschuwing bij gebruik bordzijde i.p.v. boordzijde\",\r\n \"GEHOORDEN_GEHORDEN\": \"waarschuwing bij gebruik gehorden i.p.v. gehoorden\",\r\n \"BOVENBOORD_BOVENBORD\": \"waarschuwing bij gebruik bovenbord i.p.v. bovenboord\",\r\n \"BOORDRANDEN_BORDRANDEN\": \"waarschuwing bij gebruik bordranden i.p.v. boordranden\",\r\n \"KOORNIS_KORNIS\": \"waarschuwing bij gebruik kornis i.p.v. koornis\",\r\n \"KOORDEEL_KORDEEL\": \"waarschuwing bij gebruik kordeel i.p.v. koordeel\",\r\n \"SIERBOORD_SIERBORD\": \"waarschuwing bij gebruik sierbord i.p.v. sierboord\",\r\n \"POORTVRIJE_PORTVRIJE\": \"waarschuwing bij gebruik portvrije i.p.v. poortvrije\",\r\n \"SCHUTBOORD_SCHUTBORD\": \"waarschuwing bij gebruik schutbord i.p.v. schutboord\",\r\n \"KOORTOREN_KORTOREN\": \"waarschuwing bij gebruik kortoren i.p.v. koortoren\",\r\n \"POORTGEBIED_PORTGEBIED\": \"waarschuwing bij gebruik portgebied i.p.v. poortgebied\",\r\n \"POORTGEBIEDEN_PORTGEBIEDEN\": \"waarschuwing bij gebruik portgebieden i.p.v. poortgebieden\",\r\n \"DOORRENDEN_DORRENDEN\": \"waarschuwing bij gebruik dorrenden i.p.v. doorrenden\",\r\n \"BOORDINFORMATIE_BORDINFORMATIE\": \"waarschuwing bij gebruik bordinformatie i.p.v. boordinformatie\",\r\n \"BLOEMENBOORD_BLOEMENBORD\": \"waarschuwing bij gebruik bloemenbord i.p.v. bloemenboord\",\r\n \"GELUIDSPOORTEN_GELUIDSPORTEN\": \"waarschuwing bij gebruik geluidsporten i.p.v. geluidspoorten\",\r\n \"WATERBOORDEN_WATERBORDEN\": \"waarschuwing bij gebruik waterborden i.p.v. waterboorden\",\r\n \"TOREADOORTJE_TOREADORTJE\": \"waarschuwing bij gebruik toreadortje i.p.v. toreadoortje\",\r\n \"SCHUTBOORDEN_SCHUTBORDEN\": \"waarschuwing bij gebruik schutborden i.p.v. schutboorden\",\r\n \"BOORDRANDJE_BORDRANDJE\": \"waarschuwing bij gebruik bordrandje i.p.v. boordrandje\",\r\n \"BLOEMENBOORDEN_BLOEMENBORDEN\": \"waarschuwing bij gebruik bloemenborden i.p.v. bloemenboorden\",\r\n \"BOORDBREEDTE_BORDBREEDTE\": \"waarschuwing bij gebruik bordbreedte i.p.v. boordbreedte\",\r\n \"BOORDRANDJES_BORDRANDJES\": \"waarschuwing bij gebruik bordrandjes i.p.v. boordrandjes\",\r\n \"ECHT_EGT\": \"waarschuwing bij gebruik egt i.p.v. echt\",\r\n \"KLAARLIGT_KLAARLICHT\": \"waarschuwing bij gebruik klaarlicht i.p.v. klaarligt\",\r\n \"AANLIGT_AANLICHT\": \"waarschuwing bij gebruik aanlicht i.p.v. aanligt\",\r\n \"VLOGT_VLOCHT\": \"waarschuwing bij gebruik vlocht i.p.v. vlogt\",\r\n \"DICHT_DIGT\": \"waarschuwing bij gebruik digt i.p.v. dicht\",\r\n \"SCHUT\": \"Schut/scvhud-schudt\",\r\n \"AAN_BOT\": \"Aan bot/aan bod\",\r\n \"DOORLIGT_DOORLICHT\": \"waarschuwing bij gebruik doorlicht i.p.v. doorligt\",\r\n \"ONDERLIGT_ONDERLICHT\": \"waarschuwing bij gebruik onderlicht i.p.v. onderligt\",\r\n \"DREGT_DRECHT\": \"waarschuwing bij gebruik drecht i.p.v. dregt\",\r\n \"NACHT_NAGT\": \"waarschuwing bij gebruik nagt i.p.v. nacht\",\r\n \"PLAGT_PLACHT\": \"waarschuwing bij gebruik placht i.p.v. plagt\",\r\n \"PLACHT_PLAGT\": \"waarschuwing bij gebruik placht i.p.v. plagt\",\r\n \"VERLIES_LEIDEN\": \"Verlies lijden/leiden\",\r\n \"LEIDEN_LIJDEN\": \"waarschuwing bij gebruik leiden i.p.v. lijden\",\r\n \"LEIDT_LIJDT\": \"waarschuwing bij gebruik leidt i.p.v. lijdt\",\r\n \"WILD_U\": \"Wild u/ wilt u\",\r\n \"RONDT\": \"Rondt/rond\",\r\n \"LIJDT_LEIDT\": \"waarschuwing bij gebruik lijdt i.p.v. leidt\",\r\n \"RIJDEN_REIDEN\": \"waarschuwing bij gebruik reiden i.p.v. rijden\",\r\n \"VERMIJDEN_VERMEIDEN\": \"waarschuwing bij gebruik vermeiden i.p.v. vermijden\",\r\n \"VERMIJD_VERMEID\": \"waarschuwing bij gebruik vermeid i.p.v. vermijd\",\r\n \"AFRIJDEN_AFREIDEN\": \"waarschuwing bij gebruik afreiden i.p.v. afrijden\",\r\n \"AFRIJD_AFREIT\": \"waarschuwing bij gebruik afreit i.p.v. afrijd\",\r\n \"WIJDS_WEIDS\": \"waarschuwing bij gebruik weids i.p.v. wijds\",\r\n \"VERWIJDEN_VERWEIDEN\": \"waarschuwing bij gebruik verweiden i.p.v. verwijden\",\r\n \"BERIJDBAAR_BEREIDBAAR\": \"waarschuwing bij gebruik bereidbaar i.p.v. berijdbaar\",\r\n \"WIJDING_WEIDING\": \"waarschuwing bij gebruik weiding i.p.v. wijding\",\r\n \"VERWIJDING_VERWEIDING\": \"waarschuwing bij gebruik verweiding i.p.v. verwijding\",\r\n \"UITWEIDEN_UITWIJDEN\": \"waarschuwing bij gebruik uitwijden i.p.v. uitweiden\",\r\n \"SCHRIJDEN_SCHREIDEN\": \"waarschuwing bij gebruik schreiden i.p.v. schrijden\",\r\n \"ONTWIJD_ONTWEID\": \"waarschuwing bij gebruik ontweid i.p.v. ontwijd\",\r\n \"WIJDST_WEIDST\": \"waarschuwing bij gebruik weidst i.p.v. wijdst\",\r\n \"VERWIJDINGEN_VERWEIDINGEN\": \"waarschuwing bij gebruik verweidingen i.p.v. verwijdingen\",\r\n \"ONTWIJDEN_ONTWEIDEN\": \"waarschuwing bij gebruik ontweiden i.p.v. ontwijden\",\r\n \"SCHADELIJDER_SCHADELEIDER\": \"waarschuwing bij gebruik schadeleider i.p.v. schadelijder\",\r\n \"SCHADELIJDERS_SCHADELEIDERS\": \"waarschuwing bij gebruik schadeleiders i.p.v. schadelijders\",\r\n \"GERIJD_GEREID\": \"waarschuwing bij gebruik gereid i.p.v. gerijd\",\r\n \"ONTWIJDE_ONTWEIDE\": \"waarschuwing bij gebruik ontweide i.p.v. ontwijde\",\r\n \"KANKERLIJDER_KANKERLEIDER\": \"waarschuwing bij gebruik kankerleider i.p.v. kankerlijder\",\r\n \"TERINGLIJDERS_TERINGLEIDERS\": \"waarschuwing bij gebruik teringleiders i.p.v. teringlijders\",\r\n \"BEREID_BERIJD\": \"waarschuwing bij gebruik berijd i.p.v. bereid\",\r\n \"WIJDEND_WEIDEND\": \"waarschuwing bij gebruik weidend i.p.v. wijdend\",\r\n \"WIJDENDE_WEIDENDE\": \"waarschuwing bij gebruik weidende i.p.v. wijdende\",\r\n \"LIJDERTJE_LEIDERTJE\": \"waarschuwing bij gebruik leidertje i.p.v. lijdertje\",\r\n \"LIJDERTJES_LEIDERTJES\": \"waarschuwing bij gebruik leidertjes i.p.v. lijdertjes\",\r\n \"BESCHRIJDEN_BESCHREIDEN\": \"waarschuwing bij gebruik beschreiden i.p.v. beschrijden\",\r\n \"HYPOTHEEKLIJDERS_HYPOTHEEKLEIDERS\": \"waarschuwing bij gebruik hypotheekleiders i.p.v. hypotheeklijders\",\r\n \"WIJD_WEIT\": \"waarschuwing bij gebruik weit i.p.v. wijd\",\r\n \"VERMIJD_VERMEIT\": \"waarschuwing bij gebruik vermeit i.p.v. vermijd\",\r\n \"RIJD_REIT\": \"waarschuwing bij gebruik reit i.p.v. rijd\",\r\n \"ONTWIJD_ONTWEIT\": \"waarschuwing bij gebruik ontweit i.p.v. ontwijd\",\r\n \"VERLIJD_VERLEIT\": \"waarschuwing bij gebruik verleit i.p.v. verlijd\",\r\n \"BEID\": \"waarschuwing bij gebruik beid i.p.v. bijt\",\r\n \"SCHIJT_SCHEID\": \"waarschuwing bij gebruik scheid i.p.v. schijt\",\r\n \"BIJTJES_BEIDJES\": \"waarschuwing bij gebruik beidjes i.p.v. bijtjes\",\r\n \"HUISMIJT_HUISMEID\": \"waarschuwing bij gebruik huismeid i.p.v. huismijt\",\r\n \"VERBIJT_VERBEID\": \"waarschuwing bij gebruik verbeid i.p.v. verbijt\",\r\n \"GEBIJT_GEBEID\": \"waarschuwing bij gebruik gebeid i.p.v. gebijt\",\r\n \"GESCHIJT_GESCHEID\": \"waarschuwing bij gebruik gescheid i.p.v. geschijt\",\r\n \"SCHIJTERTJE_SCHEIDERTJE\": \"waarschuwing bij gebruik scheidertje i.p.v. schijtertje\",\r\n \"WIJT_WEIT\": \"waarschuwing bij gebruik weit i.p.v. wijt\",\r\n \"RIJTJE_REITJE\": \"waarschuwing bij gebruik reitje i.p.v. rijtje\",\r\n \"RIJTJES_REITJES\": \"waarschuwing bij gebruik reitjes i.p.v. rijtjes\",\r\n \"VLIJEN_VLEIEN\": \"waarschuwing bij gebruik vleien i.p.v. vlijen\",\r\n \"VLIJT_VLEIT\": \"waarschuwing bij gebruik vleit i.p.v. vlijt\",\r\n \"FEIT_FIJT\": \"waarschuwing bij gebruik fijt\",\r\n \"BEITEL_BIJTEL\": \"waarschuwing bij gebruik beitel i.p.v. bijtel\",\r\n \"BRIJTJES_BREITJES\": \"waarschuwing bij gebruik breitjes i.p.v. brijtjes\",\r\n \"BRIJTJE_BREITJE\": \"waarschuwing bij gebruik breitje i.p.v. brijtje\",\r\n \"MARGE_MARSJE\": \"waarschuwing bij gebruik marsje i.p.v. marge\",\r\n \"MARGES_MARSJES\": \"waarschuwing bij gebruik marsjes i.p.v. marges\",\r\n \"GAGE_GAASJE\": \"waarschuwing bij gebruik gaasjes i.p.v. gage\",\r\n \"GAGES_GAASJES\": \"waarschuwing bij gebruik gaasjes i.p.v. gages\",\r\n \"OPENINGSMARGE_OPENINGSMARSJE\": \"waarschuwing bij gebruik openingsmarsje i.p.v. openingsmarge\",\r\n \"KIESER_KIEZER\": \"waarschuwing bij gebruik kieser i.p.v. kiezer\",\r\n \"KIESERS_KIEZERS\": \"waarschuwing bij gebruik kiesers i.p.v. kiezers\",\r\n \"NASIS_NAZIS\": \"waarschuwing bij gebruik nasi's i.p.v. nazi's\",\r\n \"SETTE_ZETTE\": \"waarschuwing bij gebruik sette i.p.v. zette\",\r\n \"BASEN_BAZEN\": \"waarschuwing bij gebruik basen i.p.v. bazen\",\r\n \"SUS_ZUS\": \"waarschuwing bij gebruik sus i.p.v. zus\",\r\n \"SONNETJE_ZONNETJE\": \"waarschuwing bij gebruik sonnetje i.p.v. zonnetje\",\r\n \"SAGEN_ZAGEN\": \"waarschuwing bij gebruik sagen i.p.v. zagen\",\r\n \"SUSSEN_ZUSSEN\": \"waarschuwing bij gebruik sussen i.p.v. zussen\",\r\n \"SOU_ZOU\": \"waarschuwing bij gebruik sou i.p.v. zou\",\r\n \"SUIDEN_ZUIDEN\": \"waarschuwing bij gebruik suiden i.p.v. zuiden\",\r\n \"SONDE_ZONDE\": \"waarschuwing bij gebruik sonde i.p.v. zonde\",\r\n \"SELDEN_ZELDEN\": \"waarschuwing bij gebruik selden i.p.v. zelden\",\r\n \"SONE_ZONE\": \"waarschuwing bij gebruik sone i.p.v. zone\",\r\n \"KIESEN_KIEZEN\": \"waarschuwing bij gebruik kiesen i.p.v. kiezen\",\r\n \"SUL_ZUL\": \"waarschuwing bij gebruik sul i.p.v. zul\",\r\n \"SINT_ZINT\": \"waarschuwing bij gebruik sint i.p.v. zint\",\r\n \"SULT_ZULT\": \"waarschuwing bij gebruik sult i.p.v. zult\",\r\n \"SAAIEN_ZAAIEN\": \"waarschuwing bij gebruik saaien i.p.v. zaaien\",\r\n \"SOLEN_ZOLEN\": \"waarschuwing bij gebruik solen i.p.v. zolen\",\r\n \"NASI_NAZI\": \"waarschuwing bij gebruik nasi i.p.v. nazi\",\r\n \"SONDEREN_ZONDEREN\": \"waarschuwing bij gebruik sonderen i.p.v. zonderen\",\r\n \"SEIS_ZEIS\": \"waarschuwing bij gebruik seis i.p.v. zeis\",\r\n \"SIER_ZIER\": \"waarschuwing bij gebruik sier i.p.v. zier\",\r\n \"SEMEN_ZEMEN\": \"waarschuwing bij gebruik semen i.p.v. zemen\",\r\n \"SOLDERING_ZOLDERING\": \"waarschuwing bij gebruik soldering i.p.v. zoldering\",\r\n \"MIESEREN_MIEZEREN\": \"waarschuwing bij gebruik mieseren i.p.v. miezeren\",\r\n \"SETTEND_ZETTEND\": \"waarschuwing bij gebruik settend i.p.v. zettend\",\r\n \"SPITSEN_SPITZEN\": \"waarschuwing bij gebruik spitsen i.p.v. spitzen\",\r\n \"MIESER_MIEZER\": \"waarschuwing bij gebruik mieser i.p.v. miezer\",\r\n \"SAAIER_ZAAIER\": \"waarschuwing bij gebruik saaier i.p.v. zaaier\",\r\n \"LASER_LAZER\": \"waarschuwing bij gebruik laser i.p.v. lazer\",\r\n \"SETTER_ZETTER\": \"waarschuwing bij gebruik setter i.p.v. zetter\",\r\n \"OPENINGSSET_OPENINGSZET\": \"waarschuwing bij gebruik openingsset i.p.v. openingszet\",\r\n \"BEGINSET_BEGINZET\": \"waarschuwing bij gebruik beginset i.p.v. beginzet\",\r\n \"HOOFDSONDE_HOOFDZONDE\": \"waarschuwing bij gebruik hoofdsonde i.p.v. hoofdzonde\",\r\n \"SOUTJE_ZOUTJE\": \"waarschuwing bij gebruik soutje i.p.v. zoutje\",\r\n \"SEIST_ZEIST\": \"waarschuwing bij gebruik seist i.p.v. zeist\",\r\n \"FES_FEZ\": \"waarschuwing bij gebruik fes i.p.v. fez\",\r\n \"SULLENDE_ZULLENDE\": \"waarschuwing bij gebruik sullende i.p.v. zullende\",\r\n \"RUISEN_RUIZEN\": \"waarschuwing bij gebruik ruisen i.p.v. ruizen\",\r\n \"SIPPER_ZIPPER\": \"waarschuwing bij gebruik sipper i.p.v. zipper\",\r\n \"VERSWAAR_VERZWAAR\": \"waarschuwing bij gebruik verswaar i.p.v. verzwaar\",\r\n \"PAUSEN_PAUZEN\": \"waarschuwing bij gebruik pausen i.p.v. pauzen\",\r\n \"SAAIERS_ZAAIERS\": \"waarschuwing bij gebruik saaiers i.p.v. zaaiers\",\r\n \"SETSYSTEEM_ZETSYSTEEM\": \"waarschuwing bij gebruik setsysteem i.p.v. zetsysteem\",\r\n \"MESSES_MEZZES\": \"waarschuwing bij gebruik messes i.p.v. mezzes\",\r\n \"POSEN_POZEN\": \"waarschuwing bij gebruik posen i.p.v. pozen\",\r\n \"TUSSENPAUSEN_TUSSENPAUZEN\": \"waarschuwing bij gebruik tussenpausen i.p.v. tussenpauzen\",\r\n \"BRIEZEN_BRIESEN\": \"waarschuwing bij gebruik briezen i.p.v. briesen\",\r\n \"SOOS_ZOOS\": \"waarschuwing bij gebruik soos i.p.v. zoos\",\r\n \"KLEMSET_KLEMZET\": \"waarschuwing bij gebruik klemset i.p.v. klemzet\",\r\n \"SIPPERS_ZIPPERS\": \"waarschuwing bij gebruik sippers i.p.v. zippers\",\r\n \"SIPS_ZIPS\": \"waarschuwing bij gebruik sips i.p.v. zips\",\r\n \"PROEFSETTING_PROEFZETTING\": \"waarschuwing bij gebruik proefsetting i.p.v. proefzetting\",\r\n \"SUPERSOON_SUPERZOON\": \"waarschuwing bij gebruik supersoon i.p.v. superzoon\",\r\n \"KLEURSETTING_KLEURZETTING\": \"waarschuwing bij gebruik kleursetting i.p.v. kleurzetting\",\r\n \"BUSSENDE_BUZZENDE\": \"waarschuwing bij gebruik bussende i.p.v. buzzende\",\r\n \"SLOTSET_SLOTZET\": \"waarschuwing bij gebruik slotset i.p.v. slotzet\",\r\n \"FESSEN_FEZZEN\": \"waarschuwing bij gebruik fessen i.p.v. fezzen\",\r\n \"SULLEND_ZULLEND\": \"waarschuwing bij gebruik sullend i.p.v. zullend\",\r\n \"THEESET_THEEZET\": \"waarschuwing bij gebruik theeset i.p.v. theezet\",\r\n \"SLEUTELSET_SLEUTELZET\": \"waarschuwing bij gebruik sleutelset i.p.v. sleutelzet\",\r\n \"SETSYSTEMEN_ZETSYSTEMEN\": \"waarschuwing bij gebruik setsystemen i.p.v. zetsystemen\",\r\n \"CULTUURPAUSEN_CULTUURPAUZEN\": \"waarschuwing bij gebruik cultuurpausen i.p.v. cultuurpauzen\",\r\n \"TAFELSETTING_TAFELZETTING\": \"waarschuwing bij gebruik tafelsetting i.p.v. tafelzetting\",\r\n \"TARIEFSETTING_TARIEFZETTING\": \"waarschuwing bij gebruik tariefsetting i.p.v. tariefzetting\",\r\n \"SIPPERTJES_ZIPPERTJES\": \"waarschuwing bij gebruik sippertjes i.p.v. zippertjes\",\r\n \"LOSERTJE_LOZERTJE\": \"waarschuwing bij gebruik losertje i.p.v. lozertje\",\r\n \"FANTASIESETTING_FANTASIEZETTING\": \"waarschuwing bij gebruik fantasiesetting i.p.v. fantasiezetting\",\r\n \"MOEDERSONDE_MOEDERZONDE\": \"waarschuwing bij gebruik moedersonde i.p.v. moederzonde\",\r\n \"FESJE_FEZJE\": \"waarschuwing bij gebruik fesje i.p.v. fezje\",\r\n \"SIPJES_ZIPJES\": \"waarschuwing bij gebruik sipjes i.p.v. zipjes\",\r\n \"LEISEN_LEIZEN\": \"waarschuwing bij gebruik leisen i.p.v. leizen\",\r\n \"POLITIESONDE_POLITIEZONDE\": \"waarschuwing bij gebruik politiesonde i.p.v. politiezonde\",\r\n \"LOSERTJES_LOZERTJES\": \"waarschuwing bij gebruik losertjes i.p.v. lozertjes\",\r\n \"BASEND_BAZEND\": \"waarschuwing bij gebruik basend i.p.v. bazend\",\r\n \"SIPPENDE_ZIPPENDE\": \"waarschuwing bij gebruik sippende i.p.v. zippende\",\r\n \"NASIETJE_NAZIETJE\": \"waarschuwing bij gebruik nasietje i.p.v. nazietje\",\r\n \"SETTINKJE_ZETTINKJE\": \"waarschuwing bij gebruik settinkje i.p.v. zettinkje\",\r\n \"SOLDERINKJE_ZOLDERINKJE\": \"waarschuwing bij gebruik solderinkje i.p.v. zolderinkje\",\r\n \"FESJES_FEZJES\": \"waarschuwing bij gebruik fesjes i.p.v. fezjes\",\r\n \"PREMIESETTING_PREMIEZETTING\": \"waarschuwing bij gebruik premiesetting i.p.v. premiezetting\",\r\n \"SLOTSETJE_SLOTZETJE\": \"waarschuwing bij gebruik slotsetje i.p.v. slotzetje\",\r\n \"GEVARENSETTING_GEVARENZETTING\": \"waarschuwing bij gebruik gevarensetting i.p.v. gevarenzetting\",\r\n \"GRAFEN_GRAVEN\": \"waarschuwing bij gebruik grafen i.p.v. graven\",\r\n \"FAAG_VAAG\": \"waarschuwing bij gebruik faag i.p.v. vaag\",\r\n \"BRIEFEN_BRIEVEN\": \"waarschuwing bij gebruik briefen i.p.v. brieven\",\r\n \"FATTEN_VATTEN\": \"waarschuwing bij gebruik fatten i.p.v. vatten\",\r\n \"FORSTEN_VORSTEN\": \"waarschuwing bij gebruik forsten i.p.v. vorsten\",\r\n \"FISJE_VISJE\": \"waarschuwing bij gebruik fisje i.p.v. visje\",\r\n \"FOERT_VOERT\": \"waarschuwing bij gebruik foert i.p.v. voert\",\r\n \"FIST_VIST\": \"waarschuwing bij gebruik fist i.p.v. vist\",\r\n \"FISSEN_VISSEN\": \"waarschuwing bij gebruik fissen i.p.v. vissen\",\r\n \"FORM_VORM\": \"waarschuwing bij gebruik form i.p.v. vorm\",\r\n \"TOEFEN_TOEVEN\": \"waarschuwing bij gebruik toefen i.p.v. toeven\",\r\n \"FIS_VIS\": \"waarschuwing bij gebruik fis i.p.v. vis\",\r\n \"FORST_VORST\": \"waarschuwing bij gebruik forst i.p.v. vorst\",\r\n \"GEFIST_GEVIST\": \"waarschuwing bij gebruik gefist i.p.v. gevist\",\r\n \"FLAKKER_VLAKKER\": \"waarschuwing bij gebruik flakker i.p.v. vlakker\",\r\n \"FIOOL_VIOOL\": \"waarschuwing bij gebruik fiolen i.p.v. violen\",\r\n \"FIN_VIN\": \"waarschuwing bij gebruik fin i.p.v. vin\",\r\n \"FLOER_VLOER\": \"waarschuwing bij gebruik floer i.p.v. vloer\",\r\n \"FELLEN_VELLEN\": \"waarschuwing bij gebruik fellen i.p.v. vellen\",\r\n \"GOLFEN_GOLVEN\": \"waarschuwing bij gebruik golfen i.p.v. golven\",\r\n \"FAZEN_VAZEN\": \"waarschuwing bij gebruik fazen i.p.v. vazen\",\r\n \"FAAS_VAAS\": \"waarschuwing bij gebruik faas i.p.v. vaas\",\r\n \"FRIES_VRIES\": \"waarschuwing bij gebruik fries i.p.v. vries\",\r\n \"FLOEREN_VLOEREN\": \"waarschuwing bij gebruik floeren i.p.v. vloeren\",\r\n \"SAFE_SAVE\": \"waarschuwing bij gebruik safe i.p.v. save\",\r\n \"FISTE_VISTE\": \"waarschuwing bij gebruik fiste i.p.v. viste\",\r\n \"FAAL_VAAL\": \"waarschuwing bij gebruik faal i.p.v. vaal\",\r\n \"ELFEN_ELVEN\": \"waarschuwing bij gebruik elfen i.p.v. elven\",\r\n \"FAASJE_VAASJE\": \"waarschuwing bij gebruik faasje i.p.v. vaasje\",\r\n \"FULPEN_VULPEN\": \"waarschuwing bij gebruik fulpen i.p.v. vulpen\",\r\n \"FISTEN_VISTEN\": \"waarschuwing bij gebruik fisten i.p.v. visten\",\r\n \"FAASJES_VAASJES\": \"waarschuwing bij gebruik faasjes i.p.v. vaasjes\",\r\n \"FORMPJE_VORMPJE\": \"waarschuwing bij gebruik formpje i.p.v. vormpje\",\r\n \"FLAKKERE_VLAKKERE\": \"waarschuwing bij gebruik flakkere i.p.v. vlakkere\",\r\n \"FLOTEN_VLOTEN\": \"waarschuwing bij gebruik floten i.p.v. vloten\",\r\n \"FALIES_VALIES\": \"waarschuwing bij gebruik falies i.p.v. valies\",\r\n \"FAGEN_VAGEN\": \"waarschuwing bij gebruik fagen i.p.v. vagen\",\r\n \"FUT_VUT\": \"waarschuwing bij gebruik fut i.p.v. vut\",\r\n \"SAFEN_SAVEN\": \"waarschuwing bij gebruik safen i.p.v. saven\",\r\n \"GOLFING_GOLVING\": \"waarschuwing bij gebruik golfing i.p.v. golving\",\r\n \"HYFE_HYVE\": \"waarschuwing bij gebruik hyfe i.p.v. hyve\",\r\n \"GOLFINGEN_GOLVINGEN\": \"waarschuwing bij gebruik golfingen i.p.v. golvingen\",\r\n \"GEFIT_GEVIT\": \"waarschuwing bij gebruik gefit i.p.v. gevit\",\r\n \"VOND_VONT\": \"waarschuwing bij gebruik font i.p.v. vont\",\r\n \"FORSEN_VORSEN\": \"waarschuwing bij gebruik forsen i.p.v. vorsen\",\r\n \"GEFISTE_GEVISTE\": \"waarschuwing bij gebruik gefiste i.p.v. geviste\",\r\n \"HYFEN_HYVEN\": \"waarschuwing bij gebruik hyfen i.p.v. hyven\",\r\n \"FIERDERS_VIERDERS\": \"waarschuwing bij gebruik fierders i.p.v. vierders\",\r\n \"FIERDER_VIERDER\": \"waarschuwing bij gebruik fierder i.p.v. vierder\",\r\n \"VOUTE_FOUTE\": \"waarschuwing bij gebruik voute i.p.v. foute\",\r\n \"FOORWAGEN_VOORWAGEN\": \"waarschuwing bij gebruik foorwagen i.p.v. voorwagen\",\r\n \"GEVLOTEN_GEFLOTEN\": \"waarschuwing bij gebruik gevloten i.p.v. gefloten\",\r\n \"FEZELEN_VEZELEN\": \"waarschuwing bij gebruik fezelen i.p.v. vezelen\",\r\n \"COMPUTERFREES_COMPUTERVREES\": \"waarschuwing bij gebruik computerfrees i.p.v. computervrees\",\r\n \"FOORTJES_VOORTJES\": \"waarschuwing bij gebruik foortjes i.p.v. voortjes\",\r\n \"FITTEND_VITTEND\": \"waarschuwing bij gebruik fittend i.p.v. vittend\",\r\n \"FORSTE_VORSTE\": \"waarschuwing bij gebruik forste i.p.v. vorste\",\r\n \"MAILFORM_MAILVORM\": \"waarschuwing bij gebruik mailform i.p.v. mailvorm\",\r\n \"FITTENDE_VITTENDE\": \"waarschuwing bij gebruik fittende i.p.v. vittende\",\r\n \"FAS_VAS\": \"waarschuwing bij gebruik fa's i.p.v. va's\",\r\n \"CONFECTIEPATRONEN_CONVECTIEPATRONEN\": \"waarschuwing bij gebruik confectiepatronen i.p.v. convectiepatronen\",\r\n \"FELLERS_VELLERS\": \"waarschuwing bij gebruik fellers i.p.v. vellers\",\r\n \"GEFEESTEN_GEVEESTEN\": \"waarschuwing bij gebruik gefeesten i.p.v. geveesten\",\r\n \"FOOR_VOOR\": \"waarschuwing bij gebruik foor i.p.v. voor\",\r\n \"FOORTJE_VOORTJE\": \"waarschuwing bij gebruik foortje i.p.v. voortje\",\r\n \"FITTERTJES_VITTERTJES\": \"waarschuwing bij gebruik fittertjes i.p.v. vittertjes\",\r\n \"FOORWAGENTJE_VOORWAGENTJE\": \"waarschuwing bij gebruik foorwagentje i.p.v. voorwagentje\",\r\n \"FIFOS_VIVOS\": \"waarschuwing bij gebruik fifo's i.p.v. vivo's\",\r\n \"FERMATEN_VERMATEN\": \"waarschuwing bij gebruik fermaten i.p.v. vermaten\",\r\n \"CONFECTIEMODELLEN_CONVECTIEMODELLEN\": \"waarschuwing bij gebruik confectiemodellen i.p.v. convectiemodellen\",\r\n \"CONFECTIEPATROON_CONVECTIEPATROON\": \"waarschuwing bij gebruik confectiepatroon i.p.v. convectiepatroon\",\r\n \"INSTINCT_INSTINKT\": \"waarschuwing bij gebruik instinkt i.p.v. instinct\",\r\n \"LACH_LAKH\": \"waarschuwing bij gebruik lakh i.p.v. lach\",\r\n \"TACT_TAKT\": \"waarschuwing bij gebruik takt i.p.v. tact\",\r\n \"KICKEN_KIKKEN\": \"waarschuwing bij gebruik kikken i.p.v. kicken\",\r\n \"COLA_KOLA\": \"waarschuwing bij gebruik kola i.p.v. cola\",\r\n \"HOOFDCAST_HOOFDKAST\": \"waarschuwing bij gebruik hoofdkast i.p.v. hoofdcast\",\r\n \"KINDERCAST_KINDERKAST\": \"waarschuwing bij gebruik kinderkast i.p.v. kindercast\",\r\n \"CINEMA_KINEMA\": \"waarschuwing bij gebruik kinema i.p.v. cinema\",\r\n \"STICKER_STIKKER\": \"waarschuwing bij gebruik stikker i.p.v. sticker\",\r\n \"CAMPER_KAMPER\": \"waarschuwing bij gebruik kamper i.p.v. camper\",\r\n \"CORPSLID_KORPSLID\": \"waarschuwing bij gebruik korpslid i.p.v. corpslid\",\r\n \"CLIP_KLIP\": \"waarschuwing bij gebruik klip i.p.v. clip\",\r\n \"CABINETJE_KABINETJE\": \"waarschuwing bij gebruik kabinetje i.p.v. cabinetje\",\r\n \"STUCWERK_STUKWERK\": \"waarschuwing bij gebruik stukwerk i.p.v. stucwerk\",\r\n \"STUCWERKER_STUKWERKER\": \"waarschuwing bij gebruik stukwerker i.p.v. stucwerker\",\r\n \"PACT_PAKT\": \"waarschuwing bij gebruik pakt i.p.v. pact\",\r\n \"COL_KOL\": \"waarschuwing bij gebruik kol i.p.v. col\",\r\n \"DOC_DOK\": \"waarschuwing bij gebruik dok i.p.v. doc\",\r\n \"CULT_KULT\": \"waarschuwing bij gebruik kult i.p.v. cult\",\r\n \"CARTER_KARTER\": \"waarschuwing bij gebruik karter i.p.v. carter\",\r\n \"TIC_TIK\": \"waarschuwing bij gebruik tik i.p.v. tic \",\r\n \"GECAST_GEKAST\": \"waarschuwing bij gebruik gekast i.p.v. gecast\",\r\n \"LOC_LOK\": \"waarschuwing bij gebruik lok i.p.v. loc\",\r\n \"CROP_KROP\": \"waarschuwing bij gebruik krop i.p.v. crop\",\r\n \"ROCKENDE_ROKKENDE\": \"waarschuwing bij gebruik rokkende i.p.v. rockende\",\r\n \"CUTTER_KUTTER\": \"waarschuwing bij gebruik kutter i.p.v. cutter\",\r\n \"CUTTERS_KUTTERS\": \"waarschuwing bij gebruik kutters i.p.v. cutters\",\r\n \"COPS_KOPS\": \"waarschuwing bij gebruik kops i.p.v. cops\",\r\n \"CUTS_KUTS\": \"waarschuwing bij gebruik kuts i.p.v. cuts\",\r\n \"CROPPEN_KROPPEN\": \"waarschuwing bij gebruik kroppen i.p.v. croppen\",\r\n \"TOPCAST_TOPKAST\": \"waarschuwing bij gebruik topkast i.p.v. topcast\",\r\n \"CLIPPEN_KLIPPEN\": \"waarschuwing bij gebruik klippen i.p.v. clippen\",\r\n \"ROCKEND_ROKKEND\": \"waarschuwing bij gebruik rokkend i.p.v. rockend\",\r\n \"CRANKS_KRANKS\": \"waarschuwing bij gebruik kranks i.p.v. cranks\",\r\n \"CUTTEN_KUTTEN\": \"waarschuwing bij gebruik kutten i.p.v. cutten\",\r\n \"MACA_MAKA\": \"waarschuwing bij gebruik maka i.p.v. maca\",\r\n \"DOCKEN_DOKKEN\": \"waarschuwing bij gebruik dokken i.p.v. docken\",\r\n \"COLT_KOLT\": \"waarschuwing bij gebruik kolt i.p.v. colt\",\r\n \"SJIEK_CHIQUE\": \"waarschuwing bij gebruik sjiek\",\r\n \"OUDGRIEKS\": \"Oud(-)Grieks\",\r\n \"IN_HET_CONTINENT\": \"in/op het continent\",\r\n \"ZO_N_MEERVOUD\": \"Zo'n vingers/zulke vingers\",\r\n \"ZINS_ZINNENS\": \"Verschil in gebruikelijkheid 'zins/zinnens\",\r\n \"BE_NL_VERSCHIL\": \"Verschil in betekenis\",\r\n \"ERG_LANG_WOORD\": \"Lang woord\",\r\n \"NAAM_FOUT_GESPELD\": \"Jimmy Hendrix ? Jimi Hendrix (etc.)\",\r\n \"MS_TEAMS\": \"Microsoft teams/Microsoftteams\",\r\n \"LANGUAGE_TOOL\": \"Language Tool (LanguageTool)\",\r\n \"XE_JAARS\": \"1e jaarsstudent/1e-jaarsstudent\",\r\n \"PRIVE_AUTO\": \"Privé auto/privéauto\",\r\n \"VAN_DE_WEGRAKEN\": \"wegraken / weg raken\",\r\n \"EN_OF_KOPPELTEKEN\": \"eet - en drinkgelegenheden/ eet- en drinkgelegenheden\",\r\n \"SAMENSTELLING_EIGENNAAM\": \"eBay ding / eBayding\",\r\n \"VERDEEL_EN_HEERS_DING\": \"Verdeel-en-heersstrategie\",\r\n \"X_ACHTIG\": \"Iets achtig/ietsachtig\",\r\n \"WIL_DE_GAAN\": \"wil de /wilde\",\r\n \"VEELMEER\": \"veelmeer / veel meer\",\r\n \"DE_DIT_ARTIKEL\": \"de_dit / dit\",\r\n \"DE_ALLE_EERSTE\": \"Alle eerste/ allereerste\",\r\n \"DE_ALLES_IN_EEN_DING\": \"De alles in een aanpak\",\r\n \"DOE_HET_ZELF_ZAAK\": \"doe het zelf zaak/doe-het-zelf-zaak\",\r\n \"WIN_WIN_SITUATIE\": \"doe het zelf zaak/doe-het-zelf-zaak\",\r\n \"STAND_IN\": \"Stand in/stand-in\",\r\n \"DEGENE_DE\": \"Degene de/degene die\",\r\n \"DE_WKWVLT3EP\": \"De aanlegde\",\r\n \"DE_WKW3EP\": \"De loopt\",\r\n \"DE_VERBROKENE_DING\": \"de verbrokene/verbroken belofte\",\r\n \"DE_VERDOM_DE\": \"de verdom de/de verdomde\",\r\n \"STAM_BAAR\": \"beschik baar\",\r\n \"STAM_STER\": \"berijd ster\",\r\n \"STAM_DING\": \"Aanvaar ding\",\r\n \"STAM_KING\": \"bedek king\",\r\n \"STAM_LENDE\": \"opval lende\",\r\n \"DOORRIJD_DING\": \"Achteruitrijd camera/achteruitrijcamera\",\r\n \"AAN_DE_RECYCLE\": \"aan de recycle\",\r\n \"VOOR_DE_RECYCLE\": \"aan de recycle\",\r\n \"BEIDEN_BRUGGEN\": \"beiden / beide\",\r\n \"TE_WKW1EP\": \"te check\",\r\n \"TE_ZNW\": \"te man\",\r\n \"TE_VLT\": \"te fietsten\",\r\n \"SAMENSTELLING_STAM_ZNW\": \"lees ervaring\",\r\n \"DE_AH\": \"de ah / de AH\",\r\n \"DE_ALLE\": \"de alle / alle\",\r\n \"DE_AFTELLEN_BUTTON\": \"de aftellen button/de aftelbutton\",\r\n \"GAAN_ERVAN_UIT\": \"Gaan ervan uit\",\r\n \"VOORVOEGSEL\": \"mega, giga etc.\",\r\n \"ZO_N\": \"Zo 'n / zo'n\",\r\n \"VLAKBIJ\": \"vlakbij /vlak bij\",\r\n \"DE_WEGGAAT\": \"De weggaat = de weg gaat\",\r\n \"HET_GAAT_LOOS\": \"Het gaat loos / het gaat los \",\r\n \"ONVERRICHT_TER_ZAKE\": \"Onverricht ter zake / onverrichterzake \",\r\n \"DANKJE_WEL\": \"Dankje wel / dank je wel \",\r\n \"COLLEGA_ZNW\": \"collega minister ? collega-minister\",\r\n \"DARM_SYNDROOM\": \"prikkelbare darmsyndroom ? prikkelbaredarmsyndroom\",\r\n \"VAN_TE_VOREN\": \"van te voren ? van tevoren\",\r\n \"OF_TE_WEL\": \"of te wel ? oftewel\",\r\n \"TE_SAMEN\": \"te samen ? tezamen\",\r\n \"MINDER_VALIDE\": \"minder valide ? mindervalide\",\r\n \"LIEVE_HEERSBEEST\": \"lieve heersbeest ? lieveheersbeest\",\r\n \"DE_GENE\": \"die gene ? diegene\",\r\n \"IN_DE\": \"inde ? in de\",\r\n \"MENIET\": \"meniet ? me niet\",\r\n \"DAT_ER\": \"dater ? dat er\",\r\n \"VAN_EEN\": \"vaneen ? van een\",\r\n \"AF_TE\": \"afte ? af te\",\r\n \"DAT_JE\": \"datje ? dat je\",\r\n \"VOOR_DE\": \"voorde ? voor de\",\r\n \"JE_IN\": \"jein ? je in\",\r\n \"IN_MIJN\": \"inmijn ? in mijn\",\r\n \"MOET_JE\": \"moetje ? moet je\",\r\n \"NIET_TE\": \"niette ? niet te\",\r\n \"ME_NIET\": \"meniet ? me niet\",\r\n \"ZE_DE\": \"zede ? ze de\",\r\n \"TOTEN_MET\": \"toten met ? tot en met\",\r\n \"HOEFJE\": \"hoefje ? hoef je\",\r\n \"WENSJE\": \"wensje ? wens je\",\r\n \"ER_OOK_VOORKIEZEN\": \"er ook voorkiezen ? er ook voor kiezen\",\r\n \"VOORKINDEREN\": \"voorkinderen ? voor kinderen\",\r\n \"INPLAATS_VAN\": \"inplaats van ? in plaats van\",\r\n \"INREKENING\": \"inrekening ? in rekening\",\r\n \"INGOEDE\": \"ingoede ? in goede\",\r\n \"WATJE\": \"watje ? wat je\",\r\n \"OPZOEK\": \"opzoek ? op zoek\",\r\n \"AANDOEN\": \"aandoen ? aan doen\",\r\n \"OPMAAT\": \"opmaat ? op maat\",\r\n \"INSTAAT\": \"instaat ? instaat\",\r\n \"WEETNIET\": \"weetniet ? weet niet\",\r\n \"MANDIE\": \"mandie ? man die\",\r\n \"ONDERHAAR\": \"onderhaar ? onder haar\",\r\n \"NIETTEN\": \"nietten ? niet ten\",\r\n \"INGOED\": \"ingoed ? in goed\",\r\n \"VANDOEN\": \"vandoen ? van doen\",\r\n \"INGEVAL_VAN\": \"ingeval van ? in geval van\",\r\n \"INWERKING_TREDEN\": \"inwerking treden ? in werking treden\",\r\n \"INSLAAP_VALLEN\": \"inslaap vallen ? in slaap vallen\",\r\n \"TEGELOVEN\": \"tegeloven ? te geloven\",\r\n \"TEMEER\": \"temeer ? te meer\",\r\n \"IN_ZAKE\": \"in zake ? inzake\",\r\n \"GETAL_SAMENST\": \"20-dollarbiljet ? 20 dollarbiljet\",\r\n \"A_CAPELLA_\": \"a capellagroep ? a-cappellagroep\",\r\n \"A_LA_CARTE_\": \"a la cartediner ? à-la-cartediner\",\r\n \"GROOTTE\": \"Grote ? grootte\",\r\n \"_2E_KAMER\": \"tweede-kamerstuk ? Tweede Kamerstuk\",\r\n \"RODE_KRUIS_\": \"rode-kruishulp ? Rode Kruishulp\",\r\n \"MAKE_UP\": \"make up ? make-up\",\r\n \"EEN_IEDER\": \"een ieder ? eenieder\",\r\n \"BIJ_VOORBEELD\": \"Bij voorbeeld\",\r\n \"EEN_ZELFDE\": \"een zelfde ? eenzelfde\",\r\n \"TER_DOOD_\": \"Ter dood veroordeling ? terdoodveroordeling\",\r\n \"TER_AARDE_\": \"Ter aarde bestelling ? teraardebestelling\",\r\n \"TER_BESCHIKKING\": \"Ter beschikking stelling\",\r\n \"XXX_DING\": \"KLM vliegtuig ? KLM-vliegtuig\",\r\n \"_24_UURS_DING\": \"24-uurs ding\",\r\n \"TE_VEEL\": \"Te veel ? teveel\",\r\n \"TEVEEL\": \"Teveel ? te veel\",\r\n \"EX_KOSTEN\": \"ex btw ? excl. btw\",\r\n \"EX_\": \"ex man ? ex-man-\",\r\n \"_15_JARIG\": \"15 jarig ? 15-jarig\",\r\n \"PEPER_EN_ZOUTSTEL\": \"peper- en zoutstel ? peper-en-zoutstel\",\r\n \"ART_DECOSTIJL\": \"art decostijl ? art-decostijl\",\r\n \"BIJNA_DOOD_ERVARING\": \"bijna dood ervaring ? bijna-doodervaring\",\r\n \"N_PERSOONS\": \"2 persoonsdinges ? 2-persoonsdinges\",\r\n \"GELE_TRUIDRAGER_a\": \"gele truidrager ? geletruidrager\",\r\n \"DERDE_WERELD_\": \"derde wereldland ? derdewereldland\",\r\n \"IN_X_STELLING\": \"in vrijheidstelling ? invrijheidstelling\",\r\n \"TE_VOORSCHIJN\": \"te voorschijn ? tevoorschijn\",\r\n \"VEERTIG_DAGENTIJD\": \"veertig dagentijd ? veertigdagentijd\",\r\n \"HIGH_TECH\": \"high tech ? hightech\",\r\n \"_15_E\": \"15 e ? 15e\",\r\n \"TEN_EINDE\": \"Ten einde ? teneinde\",\r\n \"GR\": \"gr ? gr.\",\r\n \"DI\": \"di ? d.i.\",\r\n \"CS\": \"cso ? c.s.\",\r\n \"EO\": \"eo ? e.o.\",\r\n \"ED\": \"ed ? e.d.\",\r\n \"VON\": \"von ? v.o.n.\",\r\n \"MI\": \"mi ? m.i.\",\r\n \"C_IPV_CA\": \"c. ? ca.\",\r\n \"B_V_\": \"B.V. ? BV of bv\",\r\n \"N_V_\": \"N.V. ? nv\",\r\n \"PP_PUNT\": \"pp. 20-33 ? pagina's 20-33\",\r\n \"PP\": \"pp ? p.p.\",\r\n \"AD\": \"ad. ? ad\",\r\n \"ET_AL\": \"et al ? et al.\",\r\n \"EENHEDEN\": \"km. ? km\",\r\n \"V_CHR\": \"v. Chr ? V.Chr\",\r\n \"DR\": \"dr / d'r, dr.\",\r\n \"ZON_ZO_N\": \"Zon/zo'n\",\r\n \"AFKO_PUNT\": \"dhr ? dhr.\",\r\n \"AFKO_PUNT2\": \"m.a.w ? m.a.w.\",\r\n \"AFKO_PUNT3\": \"he. jij/ hè, jij\",\r\n \"NL_PUNT\": \"nl. ? namelijk\",\r\n \"T\": \"t ? het\",\r\n \"A_I_O\": \"a.i.o. ? aio\",\r\n \"BEGINNEN_WW\": \"beginnen lopen ? beginnen te lopen\",\r\n \"ONGEPAST\": \"Mogelijk ongepast taalgebruik\",\r\n \"DES_TE-VREEMD\": \"Vreemd woord na des te\",\r\n \"VREEMD_VRZ_HIJ\": \"Vreemd voorzetsel\",\r\n \"DESONDANKS_ONDANKS\": \"desondanks -> ondanks\",\r\n \"HET_WORD\": \"vangen\",\r\n \"DIT_END\": \"vangen\",\r\n \"HET_ZACHTS\": \"zachts => zachtst\",\r\n \"TE_VERLEDEN\": \"te duidden => te duiden\",\r\n \"MIJN_FORTE\": \"mijn fort is beter\",\r\n \"JARIG_LUSTRUM\": \"rare combinatie\",\r\n \"A_APO_S\": \"xxx 's ? xxx's\",\r\n \"DES_DE\": \"des de ? des te\",\r\n \"EINDE_ZIN_ONTBREEKT\": \"Einde zin vergeten\",\r\n \"EINDE_ZIN_ONVERWACHT\": \"onverwacht einde zin\",\r\n \"ALS_ZIJNDE\": \"als .. zijnde\",\r\n \"BESEF_ME\": \"besef me ? realiseer me\",\r\n \"IRRITEERT_ZICH\": \"irriteert zich etc\",\r\n \"JAREN_APO_80\": \"Jaren '80 ? Jaren 80\",\r\n \"GROTERE_ALS\": \"grotere als\",\r\n \"EVENVEEL_DAN\": \"evenveel dan\",\r\n \"DE_1E_INSTANTIE\": \"de eerste instantie\",\r\n \"REFEREER_NAAR\": \"Refereren naar ? verwijzen naar\",\r\n \"MANKEREN\": \"Mankeren\",\r\n \"WAT_SCHETST\": \"wat schetst\",\r\n \"CORDON_BLUE\": \"cordon bleu\",\r\n \"MISTTE\": \"mistte of miste\",\r\n \"LAAT_ONS\": \"laat ons\",\r\n \"DIT_VERANDERD\": \"Dit veranderd/verandert\",\r\n \"EEN_VERSTOORT\": \"Een verstoort/verstoord\",\r\n \"STRAAT_HL\": \"Straat als soortnaam of eigennaam\",\r\n \"TE_PLAATS\": \"Te voor plaats\",\r\n \"SCHOUWEN_DUIVELAND\": \"Schouwen Duiveland => Schouwen-Duiveland\",\r\n \"PEKING\": \"Bejing\",\r\n \"WATER_DE\": \"Hoofdletter voor een rivier of water met 'de' of 'den'\",\r\n \"PLAATS_DE\": \"Hoofdletter bij plaatsnaam met de\",\r\n \"GOLF_VAN\": \"hoofdletter in Golf van .. etc\",\r\n \"KOALA_LUMPUR\": \"Koala Lumpur / Kuala Lumpur \",\r\n \"HOOFDDORP\": \"Een hoofddorp / Hoofddorp\",\r\n \"STRAAT_\": \"Hoofdletter bij Straat ..\",\r\n \"PLAATS_AAN_DEN\": \"Geen de maar den in plaatsnaam met 'aan de' er in.\",\r\n \"PLAATS_HL\": \"Missende hoofdletter in plaatsnaam met 'aan den' er in.\",\r\n \"ZEE\": \"Missende hoofdletter van Zee in plaats 'aan Zee'\",\r\n \"GELE_RIVIER\": \"Mogelijk missende hoofdletter in 'gele' in 'Gele Rivier' etc.\",\r\n \"MIDDELL_ZEE\": \"Koppelteken hoort niet in Middellandse-Zee\",\r\n \"OEKRAINE\": \"de Oekraïne\",\r\n \"DUIZEND\": \"Na duizend een spatie\",\r\n \"GROTE_GETALLEN\": \"grote getallen\",\r\n \"JOEN_JARD\": \"-jard is onduidelijk\",\r\n \"A\": \"Geen a of ad maar à\",\r\n \"NADRUKTEKENS\": \"optionele accenten\",\r\n \"NADRUKTEKENS_EEN\": \"optionele accenten\",\r\n \"OPTIONAL_HYPHEN\": \"optioneel koppelteken\",\r\n \"ETC_ZONDER_HOOFDLETTERS\": \"ETC./etc.\",\r\n \"DJ\": \"DJ/dj\",\r\n \"TEL_ZONDER_HOOFDLETTERS\": \"TEL./tel.\",\r\n \"JARIGE_JOB\": \"Job/job\",\r\n \"ORANJES\": \"Oranjes/oranjes\",\r\n \"NAM\": \"De name/de NAM\",\r\n \"KOERDEN\": \"De koerden/Koerden\",\r\n \"AN\": \"an/An\",\r\n \"WEEKDAGEN_MAANDEN\": \"Hoofdletters bij dagen en maanden\",\r\n \"EIGENNAMEN_PLAATSEN\": \"Hoofdletters bij plaatsnamen\",\r\n \"AMERICAN_DREAM\": \"Hoofdletters bij American\",\r\n \"ABRAHAM\": \"Abraham / abraham\",\r\n \"SARA\": \"Sara / sara\",\r\n \"NIEUW_ZEELAND\": \"nieuw zeelander ? Nieuw-Zeelander\",\r\n \"GEEN_HOOFDLETTER_NA_GETAL\": \"Na getal begint zin niet met hoofdletter.\",\r\n \"HOOFDLETTERS_OVERBODIG_A\": \"Woorden die ook klein geschreven mogen worden.\",\r\n \"HOOFDLETTERS_OVERBODIG_B\": \"Woorden die ook klein geschreven mogen worden.\",\r\n \"KOMMA_HOOFDLETTER\": \", Hoofdletter\",\r\n \"DUBBELOP\": \"Voorlopig concept\",\r\n \"SPELDE_MOUW\": \"spelde/speldde op mouw\",\r\n \"PAMPUS\": \"Pampus of pampus\",\r\n \"EDE\": \"Ede of ede\",\r\n \"AMERIKAAN\": \"amerikaan of Amerikaan\",\r\n \"KERSTMAN\": \"een kerstman, de Kerstman\",\r\n \"EIGENNAMEN_HOOFDLETTER\": \"Namen van organisatie met spatie\",\r\n \"U\": \"u\",\r\n \"FRIES\": \"Fries of fries\",\r\n \"GENT\": \"Gent of gent\",\r\n \"IJSLANDER\": \"IJslander of ijslander\",\r\n \"BRAVE_H\": \"Brave Hendrik\",\r\n \"AAN_HET_HARD\": \"Aan het hard ? aan het hart\",\r\n \"EIGENNAAM\": \"eigennaam?\",\r\n \"VAN_DE_ZOTTE\": \"Van de zotte\",\r\n \"EN_ZO\": \"Enzo / en zo/ en zo meer\",\r\n \"DOUWEN\": \"Douwen/duwen\",\r\n \"NOU\": \"Nou/nu\",\r\n \"MEKAAR\": \"Mekaar/elkaar\",\r\n \"OVERNIEUW\": \"overnieuw ? opnieuw\",\r\n \"EFFE\": \"effe ? even\",\r\n \"IE\": \"ie ? hij\",\r\n \"EEN_BOEL\": \"een boel ? veel\",\r\n \"NIKS\": \"niks ? niets\",\r\n \"GEEN_EEN\": \"geen een\",\r\n \"GEEN_EENS\": \"geen eens\",\r\n \"VEELS_TE\": \"veels te\",\r\n \"DOOR_DE_WAR\": \"door de war\",\r\n \"BEZIG_GAAN_MET\": \"bezig gaan met\",\r\n \"JE_EIGEN\": \"je eigen\",\r\n \"EIGENGEMAAKT\": \"eigengemaakt\",\r\n \"ENIGSTE\": \"enigste\",\r\n \"ALLES_DAT\": \"geen 'alles dat', maar 'alles wat'\",\r\n \"DUBBELE_SPATIE\": \"dubbele spatie\",\r\n \"EINDE_KOMMA\": \"Einde met puntkomma\",\r\n \"SPATIES_OM_KOPPEL\": \"spaties om -\",\r\n \"KOMMA_AANHALING\": \"Volgorde aanhalingsteken en komma.\",\r\n \"SINT_X\": \"Sint Anna/Sint-Anna\",\r\n \"AANHALINMG_Z_SPATIE\": \"«»\",\r\n \"MINMIN\": \"-- / -\",\r\n \"KOMMA_APO\": \"oma,s/oma's\",\r\n \"BULLET_SPATIE\": \"Na een bullet hoort een spatie\",\r\n \"MUNTEENHEID_SPATIE\": \"Na een munteenheid hoort een spatie\",\r\n \"PUNT_GEEN_HL\": \"Geen spatie en hoofdletter na punt\",\r\n \"SPATIES_OM\": \"Geen spaties voor nadruk\",\r\n \"SPATIE_NA\": \"spatie na ; of :\",\r\n \"SPATIE_VOOR_BELETSELTEKEN\": \"spatie voor beletselteken\",\r\n \"KOMMA_MAAR\": \", maar\",\r\n \"KOMMA_MAAR_2\": \"maar ? , maar\",\r\n \"KOMMA_DAT\": \", dat ? dat\",\r\n \"PUNT_UITR\": \".! of .?\",\r\n \"ECHTER\": \"Echter zonder komma\",\r\n \"ECHTER_2\": \"Echter het (Echter, het) is niet ideaal.\",\r\n \"KOMMA_ONTBR\": \"Komma vergeten?\",\r\n \"GOAL\": \"goal ? doel(punt)\",\r\n \"SLOGAN\": \"slogan ? slagzin\",\r\n \"UPDATEN\": \"updaten ? bijwerken\",\r\n \"CRASHEN\": \"crashen ? neerstorten\",\r\n \"BULLSHIT\": \"bullshit ? onzin\",\r\n \"FOHN\": \"föhn ? haardroger\",\r\n \"IMAGE\": \"image ? imago\",\r\n \"COMMERCIAL\": \"commercial ? reclame\",\r\n \"BREAK\": \"break ? pauze\",\r\n \"MULTIPLE_CHOICE\": \"multiple choice ? meerkeuze\",\r\n \"BABYSIT\": \"babysit ? oppasser\",\r\n \"MAGAZINE\": \"magazine ? tijdschrift\",\r\n \"PASSWORD\": \"password ? wachtwoord\",\r\n \"REPORTER\": \"reporter ? verslaggever\",\r\n \"EYECATCHER\": \"eyecatcher ? blikvanger\",\r\n \"CELEBRITY\": \"celebrity ? ster\",\r\n \"SALE\": \"sale ? uitverkoop\",\r\n \"MATCH_COMPOUND\": \"match ? wedstrijd, overeenkomst\",\r\n \"BODYGUARD\": \"bodyguard ? lijfwacht\",\r\n \"TALKSHOW\": \"talkshow ? praatprogramma\",\r\n \"AIRCO\": \"airconditioning ? luchtbehandeling\",\r\n \"CRUISECONTROL\": \"cruisecontrol ? snelheidsregeling\",\r\n \"CALL\": \"overbodig Engels: call\",\r\n \"HEY\": \"overbodig Engels: hey\",\r\n \"WERD_VERWAARLOOST\": \"verkeerde werkwoordvorm\",\r\n \"VINDT_IK\": \"verkeerde werkwoordvorm\",\r\n \"DIKKEN_MAN\": \"een n te veel\",\r\n \"X_GEWIJS\": \"gewijs hoort vaak ergens aan vast\",\r\n \"HET_STUK_DIE\": \"Dat vs die\",\r\n \"EEN_LELIJKE_MEISJE\": \"Een lelijke meisje\",\r\n \"DE_IPV_HET\": \"De i.p.v. het\",\r\n \"HET_JE_DIE\": \"het hondje die\",\r\n \"HET_ZNW_DE_ZNW_HET\": \"het deur verhaal\",\r\n \"WIKKEN\": \"wikken zonder wegen\",\r\n \"LUIST\": \"luist/juist/luidt\",\r\n \"VIERKANTE_METER\": \"Vierkante meter met superscript\",\r\n \"KUBIEKE_METER\": \"Kubieke meter met superscript\",\r\n \"EURO_TEKEN\": \"€ teken ? €-teken\",\r\n \"EURO\": \"Correcties rond euro\",\r\n \"OR_EENH_GETAL\": \"Tussen eenheid en getal een spatie\",\r\n \"GRADEN_KELVIN\": \"Kelvin hoort zonder gradenteken\",\r\n \"POSTCODE\": \"In Nederlandse postcode hoort een spatie\",\r\n \"TIJD\": \"tijdnotaties\",\r\n \"_4_CIJFERS\": \"geen punt in getal met 4 cijfers\",\r\n \"BIJ_MIDDEL_VAN\": \"Bij middel van ? door middel van\",\r\n \"ENKEL\": \"Enkel ? alleen\",\r\n \"ZEGGEN_EN_SCHRIJVEN\": \"Zeggen en schrijven ? zegge en schrijve\",\r\n \"TEN_DEZE\": \"Ten deze(n) ? hierbij\",\r\n \"DES_AL_NIET_TE_MIN\": \"Des al niet te min ? desalniettemin, toch\",\r\n \"DESALNIETTEMIN\": \"Desalniettemin ? toch\",\r\n \"TENEINDE\": \"Teneinde ? om\",\r\n \"HER_EN_DER\": \"her en der\",\r\n \"DES_MORGENS\": \"des morgens etc.\",\r\n \"TEN_STENGSTE\": \"ten strengste etc.\",\r\n \"DIEN\": \"dien\",\r\n \"TEN_DODE\": \"ten dode etc.\",\r\n \"DEN_HAAG_a\": \"'s Gravenhage\",\r\n \"DEN_HAAG_b\": \"'s-Gravenhage of Den Haag\",\r\n \"DEN_BOSCH\": \"'s-Hertogenbosch of Den Bosch\",\r\n \"THANS\": \"Thans ? nu, tegenwoordig\",\r\n \"DANWEL\": \"Danwel ? of\",\r\n \"DERHALVE\": \"Derhalve ? daarom\",\r\n \"DEWELKE\": \"Dewelke ? die\",\r\n \"NIMMER\": \"Nimmer ? nooit\",\r\n \"IMMER\": \"Immer ? altijd\",\r\n \"ZULKS\": \"Zulks ? dit, dat, zoiets\",\r\n \"ALSOOK\": \"Alsook ? net als, en, of\",\r\n \"NIETTEMIN\": \"Niettemin ? toch, intussen\",\r\n \"ALSMEDE\": \"Alsmede ? en, evenals\",\r\n \"HUNNER_ETC\": \"Hunner etc.\",\r\n \"AANVRAGE\": \"Aanvrage ? aanvraag\",\r\n \"ALSTOEN\": \"Alstoen ? toen\",\r\n \"ALVORENS\": \"Alvorens ? voordat\",\r\n \"ALWAAR\": \"Alwaar ? waar\",\r\n \"ANDERSZINS\": \"Anderszins ? op een andere manier, anders\",\r\n \"BEHOUDENS\": \"Behoudens ? behalve, met uitzondering van, met behoud van, onder voorbehoud van\",\r\n \"BENEVENS\": \"Benevens ? behalve, naast, en ook, net als, evenals, met daarbij\",\r\n \"OMTRENT\": \"Omtrent ? over\",\r\n \"DAARENBOVEN\": \"Daarenboven ? bovendien, behalve dat, daarbij, verder\",\r\n \"BIJGEVOLG\": \"Bijgevolg ? dus, daardoor\",\r\n \"CONFLICTEREN\": \"Conflicteren ? botsen\",\r\n \"BLIJKENS\": \"Blijkens ? gezien\",\r\n \"BIJ_SCHRIJVEN_VAN\": \"Bij schrijven van ? in een brief\",\r\n \"DEGEEN\": \"Degeen ? degene\",\r\n \"CONSTITUEREN\": \"Constitueren ? instellen\",\r\n \"DESGEVRAAGD\": \"Desgevraagd ? daarnaar gevraagd\",\r\n \"DESNIETTEGENSTAANDE\": \"Desniettegenstaande ? echter, maar, toch\",\r\n \"DEZERZIJDS\": \"Dezerzijds ? van mijn kant\",\r\n \"ENTAMEREN\": \"Entameren ? beginnen, in gang zetten\",\r\n \"DIENAANGAANDE\": \"Dienaangaande ? hierover\",\r\n \"DIENTENGEVOLGE\": \"Dientengevolge ? daardoor\",\r\n \"DOCH\": \"Doch ? maar\",\r\n \"DISCREPANTIE\": \"Discrepantie ? verschil, tegenstrijdigheid\",\r\n \"EERST_DAN\": \"Eerst dan ? pas dan\",\r\n \"EVENMIN\": \"Evenmin ? ook niet\",\r\n \"EVENWEL\": \"Evenwel ? echter, maar …, toch, niettemin\",\r\n \"EVENZEER\": \"Evenzeer ? ook\",\r\n \"EXCEPTIONEEL\": \"Exceptioneel ? uitzonderlijk\",\r\n \"EXCESSIEF\": \"Exceptioneel ? excessief\",\r\n \"EXPLICATIE\": \"Explicatie ? uitleg\",\r\n \"GAARNE\": \"Gaarne ? graag\",\r\n \"FLUCTUEREN\": \"Fluctueren ? schommelen\",\r\n \"EVIDENT\": \"Evident ? duidelijk\",\r\n \"NIET_X_MINST\": \"Niet (in) het minst\",\r\n \"EX_NUNC\": \"Ex nunc ? meteen, direct\",\r\n \"GELUKKEN\": \"Gelukken ? lukken\",\r\n \"GERAKEN\": \"Geraken ? raken\",\r\n \"GEENSZINS\": \"Geenszins ? niet, zeker niet\",\r\n \"GENOEGZAAM\": \"Genoegzaam ? voldoende\",\r\n \"AANDACHTIG\": \"aandachtig\",\r\n \"AANGAANDE\": \"aangaande\",\r\n \"AANMERKELIJK\": \"aanmerkelijk\",\r\n \"AANPASSINGEN_REALISEREN\": \"aanpassingen realiseren\",\r\n \"AANSTONDS\": \"aanstonds\",\r\n \"AAN_TE_GANE\": \"aan te gane\",\r\n \"AANVANGEN\": \"aanvangen\",\r\n \"AANVANKELIJK\": \"aanvankelijk\",\r\n \"AANWENDEN\": \"aanwenden\",\r\n \"ABUSIEVELIJK\": \"abusievelijk\",\r\n \"ACCENTEN_VERLEGGEN\": \"accenten verleggen\",\r\n \"ACCORDEREN\": \"accorderen\",\r\n \"ACHTEN\": \"achten\",\r\n \"ACTIVITEITEN_VOORTZETTEN\": \"activiteiten voortzetten\",\r\n \"ACTUALISEREN\": \"actualiseren\",\r\n \"ACUUT\": \"acuut\",\r\n \"AD_\": \"ad\",\r\n \"ADDITIONEEL\": \"additioneel\",\r\n \"ADEQUAAT\": \"adequaat\",\r\n \"ADHESIE\": \"adhesie\",\r\n \"ADHESIE_BETUIGEN\": \"adhesie betuigen\",\r\n \"AD_HOC\": \"ad hoc\",\r\n \"ADSTRUEREN\": \"adstrueren\",\r\n \"ADVIES_UITBRENGEN\": \"advies uitbrengen\",\r\n \"AFDOENING\": \"afdoening\",\r\n \"AFFIRMATIEF\": \"affirmatief\",\r\n \"AFGEZIEN_VAN\": \"afgezien van\",\r\n \"AFRONDEN\": \"afronden\",\r\n \"ALDAAR\": \"aldaar\",\r\n \"ALLOCEREN\": \"alloceren\",\r\n \"ALOM\": \"alom\",\r\n \"ALSDAN\": \"alsdan\",\r\n \"AMBIVALENT\": \"ambivalent\",\r\n \"ANDERZIJDS\": \"anderzijds\",\r\n \"ANIMO\": \"animo\",\r\n \"ANNONCE\": \"annonce\",\r\n \"APPELLANT\": \"appellant\",\r\n \"APPELLEREN\": \"appelleren\",\r\n \"APPELLEREN_AAN\": \"appelleren aan\",\r\n \"APPRECIATIE\": \"appreciatie\",\r\n \"A_PRIORI\": \"a priori\",\r\n \"AUTONOOM\": \"autonoom\",\r\n \"BEDUIDEND\": \"beduidend\",\r\n \"BEHELZEN\": \"behelzen\",\r\n \"BEHOEFTE_BESTAAT_AAN\": \"behoefte bestaat aan\",\r\n \"BEHOEVEN\": \"behoeven\",\r\n \"BEHOUDENS_INDIEN\": \"behoudens indien\",\r\n \"BEHOUDENS_IN_HET_GEVAL_DAT\": \"behoudens in het geval dat\",\r\n \"BEHOUDENS_VOOR_ZOVER\": \"behoudens voor zover\",\r\n \"BELEIDSIMPULS\": \"beleidsimpuls\",\r\n \"BELEIDSINTENSIVERINGEN\": \"beleidsintensiveringen\",\r\n \"BENCHMARKING\": \"benchmarking\",\r\n \"BEROUW\": \"berouw\",\r\n \"BESLAG_KRIJGEN\": \"beslag krijgen\",\r\n \"BESTENDIGEN\": \"bestendigen\",\r\n \"BETUIGEN\": \"betuigen\",\r\n \"BEWERKSTELLIGEN\": \"bewerkstelligen\",\r\n \"BEZIEN\": \"bezien\",\r\n \"BEZOLDIGD\": \"bezoldigd\",\r\n \"BIJ_BRIEF\": \"bij brief\",\r\n \"BIJ_DEZEN\": \"bij dezen\",\r\n \"BIJ_GELEGENHEID\": \"bij gelegenheid\",\r\n \"BIJ_GEVAL\": \"bij geval\",\r\n \"BIJ_SCHRIJVEN_VAN_1_MAART\": \"bij schrijven van 1 maart\",\r\n \"BIJ_WIJZE_VAN\": \"bij wijze van\",\r\n \"BILATERAAL\": \"bilateraal\",\r\n \"BINNEN_DE_GEMEENTELIJKE_ORGANISATIE\": \"binnen de gemeentelijke organisatie\",\r\n \"BINNEN_HET_RAAM_VAN_ONZE_VOORWAARDEN\": \"binnen het raam van onze voorwaarden\",\r\n \"BLACK_SPOT\": \"black spot\",\r\n \"BOVENGENOEMDE\": \"bovengenoemde\",\r\n \"BRANDING\": \"branding\",\r\n \"BRANDSTOFVERKOOPPUNT\": \"brandstofverkooppunt\",\r\n \"CASU_QUO\": \"casu quo\",\r\n \"C_Q\": \"c.q. betekent geen 'of'\",\r\n \"MET_GEEN\": \"met geen/ zonder\",\r\n \"CIRCA\": \"circa\",\r\n \"CITYMARKETING\": \"citymarketing\",\r\n \"CLAUSULE\": \"clausule\",\r\n \"CLUSTEREN\": \"clusteren\",\r\n \"COHESIE\": \"cohesie\",\r\n \"COMPATIBEL\": \"compatibel\",\r\n \"COMPENSATIE\": \"compensatie\",\r\n \"COMPLICEREN\": \"compliceren\",\r\n \"CONCIPIËREN\": \"concipiëren\",\r\n \"CONDITIE\": \"conditie\",\r\n \"CONFIGURATIE\": \"configuratie\",\r\n \"CONFLICTSITUATIE\": \"conflictsituatie\",\r\n \"CONSENSUS\": \"consensus\",\r\n \"CONSOLIDATIE\": \"consolidatie\",\r\n \"CONSTELLATIE\": \"constellatie\",\r\n \"CONSTRUCTIEF\": \"constructief\",\r\n \"CONSULTATIEF\": \"consultatief\",\r\n \"CONSULTEREN\": \"consulteren\",\r\n \"CONTINUEREN\": \"continueren\",\r\n \"CONVENANT\": \"convenant\",\r\n \"COÖRDINEREN\": \"coördineren\",\r\n \"COURANT\": \"courant\",\r\n \"CRITERIUM\": \"criterium\",\r\n \"CRUCIAAL\": \"cruciaal\",\r\n \"CUM_SUIS\": \"cum suis\",\r\n \"CUMULATIEF\": \"cumulatief\",\r\n \"CURIEUS\": \"curieus\",\r\n \"DAGTEKENING\": \"dagtekening\",\r\n \"DANIG\": \"danig\",\r\n \"DANKZEGGEN\": \"dankzeggen\",\r\n \"DAT_WIL_ZEGGEN\": \"dat wil zeggen\",\r\n \"DECENTRAAL\": \"decentraal\",\r\n \"DE_DATO\": \"de dato\",\r\n \"DEDUCTIEF\": \"deductief\",\r\n \"DE_FACTO\": \"de facto\",\r\n \"DE_HANDEN_INEENSLAAN\": \"de handen ineenslaan\",\r\n \"DELEGEREN\": \"delegeren\",\r\n \"DE_MENING_TOEGEDAAN\": \"de mening toegedaan\",\r\n \"DEREGULERING\": \"deregulering\",\r\n \"DEROGATIE\": \"derogatie\",\r\n \"DERVEN\": \"derven\",\r\n \"DERVING\": \"derving\",\r\n \"DESIDERATA\": \"desiderata\",\r\n \"DESIDERATUM\": \"desideratum\",\r\n \"DESONDANKS\": \"desondanks\",\r\n \"DESTIJDS\": \"destijds\",\r\n \"DESWEGE\": \"deswege\",\r\n \"DEZER_DAGEN\": \"dezer dagen\",\r\n \"DICTA\": \"dicta\",\r\n \"DICTUM\": \"dictum\",\r\n \"DIENEN_TE\": \"dienen te\",\r\n \"DIENOVEREENKOMSTIG\": \"dienovereenkomstig\",\r\n \"DIFFERENTIËREN\": \"differentiëren\",\r\n \"DISCONTINU\": \"discontinu\",\r\n \"DISKWALIFICATIE\": \"diskwalificatie\",\r\n \"DISTRIBUEREN\": \"distribueren\",\r\n \"DIT_SCHRIJVEN\": \"dit schrijven\",\r\n \"DIVERSITEIT\": \"diversiteit\",\r\n \"DOEN_TOEKOMEN\": \"doen toekomen\",\r\n \"DOGMATISCH\": \"dogmatisch\",\r\n \"DOORGANG_VINDEN\": \"doorgang vinden\",\r\n \"DOORPAKKEN\": \"doorpakken\",\r\n \"DRAAGVLAK\": \"draagvlak\",\r\n \"DRALEN\": \"dralen\",\r\n \"X_TAL\": \"drietal\",\r\n \"DUSDANIG\": \"dusdanig\",\r\n \"EDOCH\": \"edoch\",\r\n \"EDUCATIEF\": \"educatief\",\r\n \"EEN_AANTAL\": \"een aantal\",\r\n \"EEN_DEZER_DAGEN\": \"een dezer dagen\",\r\n \"EEN_EN_ANDER\": \"een en ander\",\r\n \"EEN_KLEIN_AANTAL\": \"een klein aantal\",\r\n \"EERDER_GENOEMDE\": \"eerder genoemde\",\r\n \"EFFECTUEREN\": \"effectueren\",\r\n \"ELDERS\": \"elders\",\r\n \"ELIMINEREN\": \"elimineren\",\r\n \"ELKEEN\": \"elkeen\",\r\n \"ENERZIJDS\": \"enerzijds\",\r\n \"EPISTEL\": \"epistel\",\r\n \"EQUIVALENT\": \"equivalent\",\r\n \"ERGO\": \"ergo\",\r\n \"ERTOE_STREKKEN\": \"ertoe strekken\",\r\n \"ESCALEREN\": \"escaleren\",\r\n \"ESSENTIEEL\": \"essentieel\",\r\n \"EVENZO\": \"evenzo\",\r\n \"EX_ARTIKEL\": \"ex. artikel\",\r\n \"EXCERPEREN\": \"excerperen\",\r\n \"EXORBITANT\": \"exorbitant\",\r\n \"EXPIRATIE\": \"expiratie\",\r\n \"EXPIREREN\": \"expireren\",\r\n \"EXPLICEREN\": \"expliceren\",\r\n \"EXPLICIET\": \"expliciet\",\r\n \"EXPLOITATIE\": \"exploitatie\",\r\n \"EXPLOITEREN\": \"exploiteren\",\r\n \"EXPLORATIE\": \"exploratie\",\r\n \"EXPLOREREN\": \"exploreren\",\r\n \"EXPLOSIEF\": \"explosief\",\r\n \"EXPONENTIEEL\": \"exponentieel\",\r\n \"EXPOSÉ\": \"exposé\",\r\n \"EXTENSIVERING\": \"extensivering\",\r\n \"IN_EXTENSO\": \"in extenso\",\r\n \"EXTRAMURAAL\": \"extramuraal\",\r\n \"EXTREEM\": \"extreem\",\r\n \"IN_EXTREMIS\": \"in extremis\",\r\n \"EXTRINSIEK\": \"extrinsiek\",\r\n \"EXUBERANT\": \"exuberant\",\r\n \"FACILITEREN\": \"faciliteren\",\r\n \"FASEGEWIJS\": \"fasegewijs\",\r\n \"FIAT\": \"fiat\",\r\n \"FIATTEREN\": \"fiatteren\",\r\n \"FINETUNEN\": \"finetunen\",\r\n \"FINETUNING\": \"finetuning\",\r\n \"FLANKEREND\": \"flankerend\",\r\n \"FRAAI\": \"fraai\",\r\n \"FUNDAMENT\": \"fundament\",\r\n \"FUNDAMENTEEL\": \"fundamenteel\",\r\n \"FUNDEREN\": \"funderen\",\r\n \"FUNGEREN\": \"fungeren\",\r\n \"GARANT_STAAN_VOOR\": \"garant staan voor\",\r\n \"GEACCORDEERD\": \"geaccordeerd\",\r\n \"GEAGENDEERD\": \"geagendeerd\",\r\n \"GECOMPLICEERD\": \"gecompliceerd\",\r\n \"GECOÖRDINEERD\": \"gecoördineerd\",\r\n \"GEFASEERD\": \"gefaseerd\",\r\n \"GEGROND_OP\": \"gegrond op\",\r\n \"GEÏNTEGREERDE_AANPAK\": \"geïntegreerde aanpak\",\r\n \"GEÏNVOLVEERD\": \"geïnvolveerd\",\r\n \"GEKANT_ZIJN_TEGEN\": \"gekant zijn tegen\",\r\n \"IN_DE_GELEGENHEID\": \"in de gelegenheid zijn\",\r\n \"GELIJKLUIDEND\": \"gelijkluidend\",\r\n \"GELIJKTIJDIG\": \"gelijktijdig\",\r\n \"GEMEENTELIJKE_VERORDENING\": \"gemeentelijke verordening\",\r\n \"GEMEENZAAM\": \"gemeenzaam\",\r\n \"GEREED\": \"gereed\",\r\n \"GEREVITALISEERD\": \"gerevitaliseerd\",\r\n \"GESCHIL\": \"geschil\",\r\n \"GESTRUCTUREERD\": \"gestructureerd\",\r\n \"GEWAG_MAKEN_VAN\": \"gewag maken van\",\r\n \"GEZIEN_HET_FEIT_DAT\": \"gezien het feit dat\",\r\n \"GREMIUM\": \"gremium\",\r\n \"GROOTSTEDELIJK\": \"grootstedelijk\",\r\n \"HANGENDE_HET_BESLUIT\": \"hangende het besluit\",\r\n \"HEDENMIDDAG\": \"hedenmiddag\",\r\n \"HEDENOCHTEND\": \"hedenochtend\",\r\n \"HEDEN_TEN_DAGE\": \"heden ten dage\",\r\n \"HERORIËNTATIE\": \"heroriëntatie\",\r\n \"HERORIËNTEREN\": \"heroriënteren\",\r\n \"HEROVERWEGEN\": \"heroverwegen\",\r\n \"HETGEEN\": \"hetgeen\",\r\n \"HET_IS_GEBODEN\": \"het is geboden\",\r\n \"HET_KAN_NIET_WORDEN_TEGENGESPROKEN_DAT\": \"het kan niet worden tegengesproken dat\",\r\n \"HET_LIGT_GEENSZINS_IN_DE_BEDOELING_DAT\": \"het ligt geenszins in de bedoeling\",\r\n \"HET_MOGE_DUIDELIJK_ZIJN\": \"het moge duidelijk zijn\",\r\n \"HET_VALT_TE_PROBEREN\": \"het valt te proberen\",\r\n \"HET_WARE_TE_WENSEN_DAT\": \"het ware te wensen dat\",\r\n \"HETWELK\": \"hetwelk\",\r\n \"HIËRARCHIE\": \"hiërarchie\",\r\n \"HIERNAVOLGENDE\": \"hiernavolgende\",\r\n \"HIEROMTRENT\": \"hieromtrent\",\r\n \"HIERONDER_RESSORTEERT\": \"hieronder ressorteert\",\r\n \"HIER_TE_LANDE\": \"hier te lande\",\r\n \"HIERTOE\": \"hiertoe\",\r\n \"HOGERGENOEMDE\": \"hogergenoemde\",\r\n \"HOOFDE\": \"uit dien hoofde\",\r\n \"HOOFDLIJNEN\": \"hoofdlijnen\",\r\n \"HOOFDZAKELIJK\": \"hoofdzakelijk\",\r\n \"HOOGACHTEND\": \"hoogachtend\",\r\n \"HORIZONTAAL_WERKVERBAND\": \"horizontaal werkverband\",\r\n \"IMMERS\": \"immers\",\r\n \"IMPACT\": \"impact\",\r\n \"IMPLEMENTATIE\": \"implementatie\",\r\n \"IMPLICATIE\": \"implicatie\",\r\n \"IMPLICEREN\": \"impliceren\",\r\n \"IN_AANMERKING_NEMEN\": \"in aanmerking nemen\",\r\n \"IN_BEGINSEL\": \"in beginsel\",\r\n \"IN_CASU\": \"in casu\",\r\n \"INCIDENT\": \"incident\",\r\n \"IN_CONCRETO\": \"in concreto\",\r\n \"INCONGRUENT\": \"incongruent\",\r\n \"INCONSEQUENT\": \"inconsequent\",\r\n \"INCOURANT\": \"incourant\",\r\n \"IN_DE_BETEKENIS_VAN\": \"in de betekenis van\",\r\n \"IN_DE_GELEGENHEID_ZIJN\": \"in de gelegenheid zijn\",\r\n \"IN_DE_NABIJE_TOEKOMST\": \"in de nabije toekomst\",\r\n \"IN_DE_NABIJHEID_VAN\": \"in de nabijheid van\",\r\n \"IN_DE_OMSTANDIGHEID_VERKEREN\": \"in de omstandigheid verkeren\",\r\n \"IN_DE_TRANT_VAN\": \"in de trant van\",\r\n \"IN_DEZEN\": \"in dezen\",\r\n \"IN_DE_WEEK_LEGGEN\": \"in de week leggen\",\r\n \"IN_DE_ZIN_VAN\": \"in de zin van\",\r\n \"INDICATIE\": \"indicatie\",\r\n \"INDIEN\": \"indien\",\r\n \"IN_DIER_VOEGE\": \"in dier voege\",\r\n \"IN_DUPLO\": \"in duplo\",\r\n \"INFLATIE\": \"inflatie\",\r\n \"IN_GEMEEN_OVERLEG\": \"in gemeen overleg\",\r\n \"IN_GEVAL_VAN\": \"in geval van\",\r\n \"INGEVOLGE\": \"ingevolge\",\r\n \"IN_GOEDE_ORDE\": \"in goede orde\",\r\n \"IN_HET_HUIDIGE_TIJDSGEWRICHT\": \"in het huidige tijdsgewricht\",\r\n \"IN_HET_LICHT_VAN\": \"in het licht van\",\r\n \"IN_HET_MERENDEEL_VAN_DE_GEVALLEN\": \"in het merendeel van de gevallen\",\r\n \"IN_HET_NAVOLGENDE\": \"in het navolgende\",\r\n \"INITIEEL\": \"initieel\",\r\n \"INITIËREN\": \"initiëren\",\r\n \"IN_MINDERE_MATE\": \"in mindere mate\",\r\n \"IN_OVERLEG_TREDEN\": \"in overleg treden\",\r\n \"IN_OVERWEGING_NEMEN\": \"in overweging nemen\",\r\n \"IN_SAMENWERKING_MET\": \"in samenwerking met\",\r\n \"IN_SITU\": \"in situ\",\r\n \"INSTITUEREN\": \"institueren\",\r\n \"INSTITUTIONALISEREN\": \"institutionaliseren\",\r\n \"INTEGRAAL\": \"integraal\",\r\n \"INTENTIE\": \"intentie\",\r\n \"IN_TOENEMENDE_MATE\": \"in toenemende mate\",\r\n \"INSISTEREN\": \"insisteren\",\r\n \"INVORDEREN\": \"invorderen\",\r\n \"IN_WERKING_STELLEN\": \"in werking stellen\",\r\n \"IN_WERKING_TREDEN\": \"in werking treden\",\r\n \"INWILLIGEN\": \"inwilligen\",\r\n \"INZAKE\": \"inzake\",\r\n \"IRREËEL\": \"irreëel\",\r\n \"IRRELEVANT\": \"irrelevant\",\r\n \"ISSUE\": \"issue\",\r\n \"JEGENS\": \"jegens\",\r\n \"JONGSTLEDEN\": \"jongstleden\",\r\n \"JUMELAGE\": \"jumelage\",\r\n \"JUNCTO\": \"juncto\",\r\n \"JURISPRUDENTIE\": \"jurisprudentie\",\r\n \"JUSTIFICATIE\": \"justificatie\",\r\n \"KANDELABEREN\": \"kandelaberen\",\r\n \"KENNISNEMEN_VAN\": \"kennisnemen van\",\r\n \"KERNTAAK\": \"kerntaak\",\r\n \"KICK-OFF\": \"kick-off\",\r\n \"KLANKBORDEN\": \"klankborden\",\r\n \"KORTSLUITEN\": \"kortsluiten\",\r\n \"KORTWIEKEN\": \"kortwieken\",\r\n \"KOSTENINDICATIE\": \"kostenindicatie\",\r\n \"KRACHTENS\": \"krachtens\",\r\n \"KWALIFICATIE\": \"kwalificatie\",\r\n \"KWALIFICEREN\": \"kwalificeren\",\r\n \"KWALIJK\": \"kwalijk\",\r\n \"KWALITATIEF\": \"kwalitatief\",\r\n \"KWANTIFICEREN\": \"kwantificeren\",\r\n \"KWANTITATIEF\": \"kwantitatief\",\r\n \"KWANTITEIT\": \"kwantiteit\",\r\n \"KWESTIEUS\": \"kwestieus\",\r\n \"LAATSTELIJK\": \"laatstelijk\",\r\n \"LABELEN\": \"labelen\",\r\n \"LANCEREN\": \"lanceren\",\r\n \"LANGJARIG\": \"langjarig\",\r\n \"LARDEREN_MET\": \"larderen met\",\r\n \"LECTORI_SALUTEM\": \"Lectori Salutem\",\r\n \"L_S_\": \"L.S.\",\r\n \"LEGES\": \"leges\",\r\n \"LEGIO\": \"legio\",\r\n \"LEGITIEM\": \"legitiem\",\r\n \"LEIDMOTIEF\": \"leidmotief, leitmotiv\",\r\n \"LERING_TREKKEN_UIT\": \"lering trekken uit\",\r\n \"LIAISON\": \"liaison\",\r\n \"LIBERALISATIE\": \"liberalisatie/liberalisering\",\r\n \"LICHTVAARDIG\": \"lichtvaardig\",\r\n \"LIJNTJES_LEGGEN\": \"lijntjes leggen\",\r\n \"LITIGIEUS\": \"litigieus\",\r\n \"MANAGEN\": \"managen\",\r\n \"MANDAAT\": \"mandaat\",\r\n \"MANIFEST_WORDEN\": \"manifest worden\",\r\n \"MEDEDELEN\": \"mededelen\",\r\n \"MEDIO\": \"medio\",\r\n \"MENIGEEN\": \"menigeen\",\r\n \"MERENDEELS\": \"merendeels\",\r\n \"MET_ALS_REDEN\": \"met als reden\",\r\n \"MET_ALS_RESULTAAT_DAT\": \"met als resultaat dat\",\r\n \"MET_DE_BEDOELING_DAT\": \"met de bedoeling dat\",\r\n \"MET_HET_RESULTAAT_DAT\": \"met het resultaat dat\",\r\n \"MET_NAME\": \"met name\",\r\n \"MET_REDENEN_OMKLEED\": \"met redenen omkleed\",\r\n \"MET_REFERTE_AAN\": \"met referte aan\",\r\n \"MET_TERZIJDE_LATEN_VAN\": \"met terzijde laten van\",\r\n \"MET_WEGLATING_VAN\": \"met weglating van\",\r\n \"MIDDELS\": \"middels\",\r\n \"MIJNE_HEREN\": \"Mijne heren\",\r\n \"MIJNS_INZIENS\": \"mijns inziens\",\r\n \"M_I\": \"m.i.\",\r\n \"MITS\": \"mits\",\r\n \"MITSDIEN\": \"mitsdien\",\r\n \"MITSGADERS\": \"mitsgaders\",\r\n \"MOMENTEEL\": \"momenteel\",\r\n \"MOTIE\": \"motie\",\r\n \"MOTIE_VAN_WANTROUWEN\": \"motie van wantrouwen\",\r\n \"MUTATIE\": \"mutatie\",\r\n \"NAAR_BEHOREN\": \"naar behoren\",\r\n \"NAAR_DE_MENSEN_TOE\": \"naar de mensen toe\",\r\n \"NADERE\": \"nadere\",\r\n \"NADIEN\": \"nadien\",\r\n \"NAGENOEG\": \"nagenoeg\",\r\n \"NAVOLGENDE\": \"navolgende\",\r\n \"NAVRANT\": \"navrant\",\r\n \"NEVENEFFECT\": \"neveneffect\",\r\n \"NEVENSTAANDE\": \"nevenstaande\",\r\n \"NEVENVERMELDE\": \"nevenvermelde\",\r\n \"NIETTEGENSTAANDE\": \"niettegenstaande\",\r\n \"NIET_ZIJNDE\": \"niet zijnde\",\r\n \"NOCHTANS\": \"nochtans\",\r\n \"NOPEN\": \"nopen\",\r\n \"NOPENS\": \"nopens\",\r\n \"OFFICIEUS\": \"officieus\",\r\n \"OFSCHOON\": \"ofschoon\",\r\n \"OFTEWEL\": \"oftewel\",\r\n \"OFTE\": \"oftel\",\r\n \"OMBUIGEN\": \"ombuigen\",\r\n \"OMBUIGING\": \"ombuiging\",\r\n \"OM_DEZE_REDENEN\": \"om deze redenen\",\r\n \"OM_REDEN_VAN\": \"om reden van\",\r\n \"OMVANGRIJK\": \"omvangrijk\",\r\n \"ONBEZOLDIGD\": \"onbezoldigd\",\r\n \"ONDER_CURATELE_STELLEN\": \"onder curatele stellen\",\r\n \"ONDERGETEKENDE\": \"ondergetekende\",\r\n \"ONDERHAVIG\": \"onderhavig\",\r\n \"ONDER_INVLOED_VAN\": \"onder invloed van\",\r\n \"ONDER_REFERTE_AAN\": \"onder referte aan …\",\r\n \"ONDERSCHEIDENLIJK\": \"onderscheidenlijk\",\r\n \"ONDERWERPELIJK\": \"onderwerpelijk\",\r\n \"ONDERWIJL\": \"onderwijl\",\r\n \"ONGEACHT\": \"ongeacht\",\r\n \"ONGENOEGEN\": \"ongenoegen\",\r\n \"ONJUIST\": \"onjuist\",\r\n \"ONLANGS\": \"onlangs\",\r\n \"ONTBEREN\": \"ontberen\",\r\n \"ONTPLOOIEN\": \"ontplooien\",\r\n \"DAT_LAAT_ONVERLET\": \"dat laat onverlet\",\r\n \"ONVERWIJLD\": \"onverwijld\",\r\n \"ONZERZIJDS\": \"onzerzijds\",\r\n \"OOGMERK\": \"oogmerk\",\r\n \"OORZAAK_LIGT_IN_HET_FEIT_DAT\": \"oorzaak ligt in het feit dat\",\r\n \"OP_DEZE_WIJZE\": \"op deze wijze\",\r\n \"OP_GROND_VAN\": \"op grond van\",\r\n \"OP_GROND_VAN_HET_VOORGAANDE\": \"op grond van het voorgaande\",\r\n \"OP_HET_HUIDIGE_MOMENT\": \"op het huidige moment\",\r\n \"OPSTARTEN\": \"opstarten\",\r\n \"OPTEREN_VOOR\": \"opteren voor\",\r\n \"ZO_OPTIMAAL_MOGELIJK\": \"zo optimaal mogelijk\",\r\n \"OPTIMAAL\": \"optimaal\",\r\n \"OP_VOORHAND\": \"op voorhand\",\r\n \"OP_WELKE_WIJZE\": \"op welke wijze\",\r\n \"OVER_DE_GEHELE_LINIE\": \"over de gehele linie\",\r\n \"OVEREENKOMSTIG\": \"overeenkomstig\",\r\n \"OVERHEAD\": \"overhead\",\r\n \"OVERIGENS\": \"overigens\",\r\n \"PANEL\": \"panel\",\r\n \"PARTICIPEREN\": \"participeren\",\r\n \"PARTIEEL\": \"partieel\",\r\n \"PEILDATUM\": \"peildatum\",\r\n \"PER_ABUIS\": \"per abuis\",\r\n \"PERCENT\": \"percent\",\r\n \"PER_OMGAANDE\": \"per omgaande\",\r\n \"PERSISTEREN\": \"persisteren\",\r\n \"PIKETPAALTJES_SLAAN\": \"piketpaaltjes slaan\",\r\n \"PILOT\": \"pilot\",\r\n \"POGEN\": \"pogen\",\r\n \"PORTEFEUILLE\": \"portefeuille\",\r\n \"PREALABEL\": \"prealabel\",\r\n \"PRECEDENT\": \"precedent\",\r\n \"PRECEDENTWERKING\": \"precedentwerking\",\r\n \"PRELIMINAIR\": \"preliminair\",\r\n \"PRELUDEREN_OP\": \"preluderen op\",\r\n \"PREMATUUR\": \"prematuur\",\r\n \"PREVALEREN\": \"prevaleren\",\r\n \"PREVENTIEF\": \"preventief\",\r\n \"PRIMAIR\": \"primair\",\r\n \"PRINCIPE\": \"principe\",\r\n \"PRINCIPIEEL\": \"principieel\",\r\n \"PRIORITEITSSTELLING\": \"prioriteitsstelling\",\r\n \"PROACTIEF\": \"proactief\",\r\n \"PROCEDÉ\": \"procedé\",\r\n \"PROCEDURE\": \"procedure\",\r\n \"PROCEDUREEL\": \"procedureel\",\r\n \"PROFILEREN\": \"profileren\",\r\n \"PROGNOSE\": \"prognose\",\r\n \"PROMINENT\": \"prominent\",\r\n \"QUA\": \"qua\",\r\n \"QUASI\": \"quasi\",\r\n \"QUICKSCAN\": \"quickscan\",\r\n \"QUOD_NON\": \"quod non\",\r\n \"QUOTUM\": \"quotum\",\r\n \"RAMING\": \"raming\",\r\n \"RANDVOORWAARDE\": \"randvoorwaarde\",\r\n \"RATIO\": \"ratio\",\r\n \"RATIONEEL\": \"rationeel\",\r\n \"REACTIEF\": \"reactief\",\r\n \"RECENTELIJK\": \"recentelijk\",\r\n \"RECES\": \"reces\",\r\n \"RECHTENS\": \"rechtens\",\r\n \"RECLAMANT\": \"reclamant\",\r\n \"RECTIFICEREN\": \"rectificeren\",\r\n \"REDEN_DAARTOE_IS\": \"reden daartoe is\",\r\n \"REDUCTIE\": \"reductie\",\r\n \"REEDS\": \"reeds\",\r\n \"REFEREREN_AAN\": \"refereren aan\",\r\n \"REGARDEREN\": \"regarderen\",\r\n \"REGIE_NEMEN\": \"regie nemen\",\r\n \"REGULIER\": \"regulier\",\r\n \"REPARATIEWETGEVING\": \"reparatiewetgeving\",\r\n \"REPERCUSSIE\": \"repercussie\",\r\n \"REPLICEREN\": \"repliceren\",\r\n \"RESPONS\": \"respons\",\r\n \"RESTITUTIE\": \"restitutie\",\r\n \"RESTRICTIE\": \"restrictie\",\r\n \"RESULTEREN_IN\": \"resulteren in\",\r\n \"RESUMÉ\": \"resumé\",\r\n \"RESUMEREND\": \"resumerend\",\r\n \"RETOURNEREN\": \"retourneren\",\r\n \"RETOURZENDEN\": \"retourzenden\",\r\n \"RETRIBUTIE\": \"retributie\",\r\n \"REVITALISERING\": \"revitalisering\",\r\n \"RUCHTBAARHEID_GEVEN_AAN\": \"ruchtbaarheid geven aan\",\r\n \"SANCTIE\": \"sanctie\",\r\n \"SANCTIONEREN\": \"sanctioneren\",\r\n \"SEDERT\": \"sedert\",\r\n \"SEPARAAT\": \"separaat\",\r\n \"SEPONEREN\": \"seponeren\",\r\n \"SHARED_SERVICES\": \"shared services\",\r\n \"SIGNIFICANT\": \"significant\",\r\n \"SPIN-OFF\": \"spin-off\",\r\n \"STAGNATIE\": \"stagnatie\",\r\n \"STAGNEREN\": \"stagneren\",\r\n \"STAKEHOLDER\": \"stakeholder\",\r\n \"STORNEREN\": \"storneren\",\r\n \"STORNERING\": \"stornering\",\r\n \"STRINGENT\": \"stringent\",\r\n \"STRUCTUREEL\": \"structureel\",\r\n \"EEN_STUKJE_BELEID\": \"een stukje.\",\r\n \"SUBJECTIEF\": \"subjectief\",\r\n \"SUBOPTIMAAL\": \"suboptimaal\",\r\n \"SUBSIDIABEL\": \"subsidiabel\",\r\n \"SUBSTANTIEEL\": \"substantieel\",\r\n \"SUMMIER\": \"summier\",\r\n \"SUPPLETOIR\": \"suppletoir\",\r\n \"TAL_VAN\": \"tal van\",\r\n \"TARGET\": \"target\",\r\n \"TASKFORCE\": \"taskforce\",\r\n \"TE_ALLEN_TIJDE\": \"te allen tijde\",\r\n \"TECHNISCH\": \"beleidstechnisch enz.\",\r\n \"TE_DEZEN\": \"te dezen\",\r\n \"TEGEMOET_ZIEN\": \"tegemoet zien\",\r\n \"TEGEN_DE_ACHTERGROND_VAN\": \"tegen de achtergrond van\",\r\n \"TELKENMALE\": \"telkenmale\",\r\n \"TEMPORISEREN\": \"temporiseren\",\r\n \"TEN_AANZIEN_VAN\": \"ten aanzien van\",\r\n \"TEN_BEHOEVE_VAN\": \"ten behoeve van\",\r\n \"T_B_V\": \"t.b.v.\",\r\n \"TEN_BEWIJZE_VAN\": \"ten bewijze van\",\r\n \"TEN_DETRIMENTE_VAN\": \"ten detrimente van\",\r\n \"TEN_GEVOLGE_VAN\": \"ten gevolge van\",\r\n \"TEN_GRONDSLAG_LIGGEN_AAN\": \"ten grondslag liggen aan\",\r\n \"TEN_GUNSTE_VAN\": \"ten gunste van\",\r\n \"TEN_MINSTE\": \"ten minste\",\r\n \"TEN_PRINCIPALE\": \"ten principale\",\r\n \"TEN_TIJDE_VAN\": \"ten tijde van\",\r\n \"GENAAMD_NAAR\": \"genaamd naar i.p.v genoemd naar\",\r\n \"TEN_UITVOER_BRENGEN\": \"ten uitvoer brengen\",\r\n \"TEN_VOLLE_VAN_BEWUST\": \"ten volle bewust van\",\r\n \"TE_ONZENT\": \"te onzent\",\r\n \"TER_BEREIKING_HIERVAN\": \"ter bereiking hiervan\",\r\n \"TER_BESCHIKKING_HEBBEN\": \"ter beschikking hebben\",\r\n \"TERDEGE\": \"terdege\",\r\n \"TERECHTWIJZEN\": \"terechtwijzen\",\r\n \"TERECHTWIJZING\": \"terechtwijzing\",\r\n \"TER_GELEGENHEID_VAN\": \"ter gelegenheid van\",\r\n \"TER_HAND_NEMEN\": \"ter hand nemen\",\r\n \"TER_HAND_STELLEN\": \"ter hand stellen\",\r\n \"TER_REALISERING_VAN_DIT_OOGMERK\": \"ter realisering van dit oogmerk\",\r\n \"TERSTOND\": \"terstond\",\r\n \"TERUGKOPPELEN\": \"terugkoppelen\",\r\n \"TERUGMELDEN\": \"terugmelden\",\r\n \"TER_ZAKE\": \"ter zake\",\r\n \"TER_ZITTING\": \"ter zitting\",\r\n \"TE_UWEN_NAME\": \"te uwen name\",\r\n \"TE_UWENT\": \"te uwent\",\r\n \"TEVENS\": \"tevens\",\r\n \"TEZAMEN\": \"tezamen\",\r\n \"TE_ZIJNER_TIJD\": \"te zijner tijd\",\r\n \"TIJDPAD\": \"tijdpad\",\r\n \"TIJDSBESTEK\": \"tijdsbestek\",\r\n \"TOENTERTIJD\": \"toentertijd\",\r\n \"TOETSEN_AAN\": \"toetsen aan\",\r\n \"TOPIC\": \"topic\",\r\n \"TOT_DE_CONCLUSIE_KOMEN\": \"tot de conclusie komen\",\r\n \"TOT_TAAK_HEBBEN\": \"tot taak hebben\",\r\n \"TRACHTEN\": \"trachten\",\r\n \"TRANSPARANT\": \"transparant\",\r\n \"U_GELIEVE\": \"u gelieve\",\r\n \"UIT_ANDEREN_HOOFDE\": \"uit anderen hoofde\",\r\n \"UIT_HOOFDE_VAN\": \"uit hoofde van\",\r\n \"ULTIMO_\": \"ultimo\",\r\n \"UNIVERSEEL\": \"universeel\",\r\n \"URGENT\": \"urgent\",\r\n \"URGENTIE\": \"urgentie\",\r\n \"USANCE\": \"usance\",\r\n \"UTILITAIR\": \"utilitair\",\r\n \"UWENTHALVE\": \"uwenthalve\",\r\n \"UWENTWEGE\": \"uwentwege\",\r\n \"UWERZIJDS\": \"uwerzijds\",\r\n \"VACANT\": \"vacant\",\r\n \"VACATUREHOUDEND\": \"vacaturehoudend\",\r\n \"VALIDE\": \"valide\",\r\n \"VALIDEREN\": \"valideren\",\r\n \"VALORISATIE\": \"valorisatie\",\r\n \"VANDAAR\": \"vandaar\",\r\n \"VAN_GEMEENTEWEGE\": \"van gemeentewege\",\r\n \"VAN_MENING_ZIJN\": \"van mening zijn\",\r\n \"VAN_OORDEEL_ZIJN\": \"van oordeel zijn\",\r\n \"VAN_START_GAAN\": \"van start gaan\",\r\n \"VAN_TEVOREN\": \"van tevoren\",\r\n \"VANUIT_DE_ORGANISATIE\": \"vanuit de organisatie\",\r\n \"VANWEGE_HET_FEIT_DAT\": \"vanwege het feit dat\",\r\n \"VEELAL\": \"veelal\",\r\n \"VEELVULDIG\": \"veelvuldig\",\r\n \"VERGEWISSEN\": \"vergewissen\",\r\n \"VERKETELEN\": \"verketelen\",\r\n \"VERKIEZEN_BOVEN\": \"verkiezen boven\",\r\n \"VERMANEN\": \"vermanen\",\r\n \"VERORDENING\": \"verordening\",\r\n \"VERSTENEN\": \"verstenen\",\r\n \"VERSTREKEN_PERIODE\": \"verstreken periode\",\r\n \"VERTAALSLAG\": \"vertaalslag\",\r\n \"VERTROUWEN_OPZEGGEN\": \"vertrouwen opzeggen\",\r\n \"VERWERVEN\": \"verwerven\",\r\n \"VERZUIMEN\": \"verzuimen\",\r\n \"VIGEREN\": \"vigeren\",\r\n \"VLIEGUREN_MAKEN\": \"vlieguren maken\",\r\n \"VOLGAARNE\": \"volgaarne\",\r\n \"VOLGTIJDELIJK\": \"volgtijdelijk\",\r\n \"VOORAFGAAND_AAN\": \"voorafgaand aan\",\r\n \"VOORAFGAANDELIJK\": \"voorafgaandelijk\",\r\n \"VOORALEER\": \"vooraleer\",\r\n \"VOORALSNOG\": \"vooralsnog\",\r\n \"VOORHANDEN_ZIJN\": \"voorhanden zijn\",\r\n \"VOORHEEN\": \"voorheen\",\r\n \"VOOR_HET_GEVAL_DAT\": \"voor het geval dat\",\r\n \"VOORLIGGEND\": \"voorliggend\",\r\n \"VOORMELD\": \"voormeld\",\r\n \"VOORNEMEN\": \"voornemen\",\r\n \"VOORNEMENS_ZIJN\": \"voornemens zijn\",\r\n \"VOORNOEMDE\": \"voornoemde\",\r\n \"VOORSHANDS\": \"voorshands\",\r\n \"VOORTS\": \"voorts\",\r\n \"VOORWAARDEN_SCHEPPEN\": \"voorwaarden scheppen\",\r\n \"VORENBEDOELDE\": \"vorenbedoelde\",\r\n \"VORENOMSCHREVEN\": \"vorenomschreven\",\r\n \"VORENOVERWOGENE\": \"vorenoverwogene\",\r\n \"VORENSTAANDE\": \"vorenstaande\",\r\n \"VRAAGPUNT\": \"vraagpunt\",\r\n \"VREZEN_VOOR\": \"vrezen voor\",\r\n \"VRIJWEL\": \"vrijwel\",\r\n \"AL_WEER\": \"al weer ? alweer\",\r\n \"WEDER\": \"weder\",\r\n \"WEDEROM\": \"wederom\",\r\n \"WATERGANG\": \"watergang\",\r\n \"WELISWAAR\": \"weliswaar\",\r\n \"WELLICHT\": \"misschien\",\r\n \"WERKBAAR\": \"werkbaar\",\r\n \"WERKVOORRAAD\": \"werkvoorraad\",\r\n \"WESHALVE\": \"weshalve\",\r\n \"WIJ_VERTROUWEN_EROP_U_HIERMEE_VOLDOENDE_TE_HEBBEN_GEÏNFORMEERD\": \"wij vertrouwen erop u hiermee voldoende te hebben geïnformeerd\",\r\n \"WIJZE\": \"wijze\",\r\n \"WILLENS_EN_WETENS\": \"willens en wetens\",\r\n \"WOONACHTIG_ZIJN\": \"woonachtig zijn\",\r\n \"WOONVOORZIENING\": \"woonvoorziening\",\r\n \"WORTELOPDRUK\": \"wortelopdruk\",\r\n \"XENOFOBIE\": \"xenofobie\",\r\n \"XENOFOOB\": \"xenofoob\",\r\n \"YELL\": \"yell\",\r\n \"YUP\": \"yup\",\r\n \"ZELFREDZAAMHEID\": \"zelfredzaamheid\",\r\n \"ZICH_BERADEN\": \"zich beraden\",\r\n \"ZICH_VERSTAAN_MET\": \"zich verstaan met\",\r\n \"HOE_DIT_OOK_ZIJ\": \"hoe dit ook zij\",\r\n \"WAT_DAARVAN_ZIJ\": \"wat daarvan zij\",\r\n \"VAN_DE_ZIJDE_VAN\": \"van de zijde van\",\r\n \"ZIJDENS\": \"zijdens\",\r\n \"ZODANIG\": \"zodanig\",\r\n \"ZODOENDE\": \"zodoende\",\r\n \"ZONDER_MEER\": \"zonder meer\",\r\n \"ZONDER_UITZONDERING\": \"zonder uitzondering\",\r\n \"ZORG_DRAGEN_VOOR\": \"zorg dragen voor\",\r\n \"ZO_SPOEDIG_MOGELIJK\": \"zo spoedig mogelijk\",\r\n \"ZULKS_IMPLICEERT_DERHALVE\": \"zulks impliceert derhalve\",\r\n \"ZWAKTEBOD\": \"zwaktebod\",\r\n \"VOLGEND_VOLGENS\": \"volgend / volgens\",\r\n \"WK\": \"WK/wk\",\r\n \"VE\": \"ve / van een\",\r\n \"STAM_DE_HIJ\": \"muteer de hij/muteerde hij\",\r\n \"DAT_GELD\": \"dat geld voor/dat geldt voor\",\r\n \"PH\": \"pH\",\r\n \"SEMI\": \"Semi is meestal een voorvoegsel\",\r\n \"EE\": \"ee / een\",\r\n \"_10X\": \"10x 10 keer\",\r\n \"ERS\": \"ers / 'ers\",\r\n \"TE_WERKWOORD\": \"OCR-fout: re gaan / te gaan\",\r\n \"OH_O\": \"Oh/O\",\r\n \"NL_AFGEBROKEN_WOORD\": \"afgebroken woorden\",\r\n \"QUASI_LOS\": \"Quasi aan woord vast\",\r\n \"CIJFERS_IN_WOORD\": \"Getal in woord\",\r\n \"CODERINGSFOUT\": \"fout in tekencodering\",\r\n \"_2ASSIG\": \"2assig/2-assig\",\r\n \"_9-STE\": \"Geen koppelteken bij rangtelwoord\",\r\n \"_3D\": \"3d/3D\",\r\n \"_3G\": \"3g/3G\",\r\n \"KINDER\": \"Kinder cadeau/kindercadeau\",\r\n \"DE_ORDENDE\": \"De ordende/de geordende\",\r\n \"WOORD_MET_UNDERSCORE\": \"Een woord met een underscore\",\r\n \"AAN_X_SLAG\": \"Aan de slag\",\r\n \"WORT\": \"wort ? wordt of word\",\r\n \"HEBT_ZONDER_U_JE\": \"Hebt zonder u/ge/je\",\r\n \"WORD_ZONDER_IK\": \"word zonder ik\",\r\n \"STAM_ZONDER_IK\": \"werkwoordstam zonder ik\",\r\n \"BETEKENT_HEEFT\": \"3e persoon i.p.v. voltooid deelwoord\",\r\n \"BETEKEND_BETEKENT\": \"betekend/betekent\",\r\n \"NAAR_BET\": \"Naar bet ? naar het of naar bed\",\r\n \"X-EN\": \"voor-en ? voor- en\",\r\n \"WEIDE_WERELD\": \"weide wereld ? wijde wereld\",\r\n \"MET_ZEN_ALLEN\": \"zen i.p.v. z'n\",\r\n \"INBED\": \"inbed ? in bed, inbedt\",\r\n \"HEMEN\": \"hemen ? hem en\",\r\n \"INWATER\": \"inwater ? in water\",\r\n \"MEERGELD\": \"meergeld ? meer geld\",\r\n \"PLATVORM\": \"Platvorm ? platform\",\r\n \"XXXYJE\": \"ABCtje\",\r\n \"A_CAPELLA\": \"a capella\",\r\n \"A_LA_CARTE\": \"à la carte\",\r\n \"S_AVONDS\": \"s avonds\",\r\n \"ZOEVEN\": \"zo-even\",\r\n \"ZOVEEL_DAN\": \"In/over\",\r\n \"IN_X_MINUTEN\": \"In/over\",\r\n \"VAN_BETEKENIS\": \"Van betekenis/belangrijk\",\r\n \"HEEFT_ALLES_TE_MAKEN_MET\": \"Heeft alles te maken met / komt door\",\r\n \"BINNEN_NU_EN_X_MAANDEN\": \"Binnen nu en/binnen\",\r\n \"DUBBELE_VOORLETTER\": \"dubbele voorletter\",\r\n \"KAN_KUN\": \"kan vs kun\",\r\n \"ZAL_ZUL\": \"zal of zul\",\r\n \"MITS_TENZIJ\": \"verwarring mits en tenzij\",\r\n \"NIET_ON\": \"Niet ondenkbeeldig\",\r\n \"ER_MIST\": \"Er mist ? Er ontbreekt\",\r\n \"VAAG\": \"vage taal\",\r\n \"OVERDRIJVING\": \"mogelijke overdrijving\",\r\n \"OVERDRIJVING_2\": \"vreselijk mooi (mooi)\",\r\n \"OVERDRIJVING_3\": \"heel erg saai (erg saai)\",\r\n \"TE_BED\": \"te bed\",\r\n \"NAAR_VERLOOP\": \"naar verloop van ? na verloop van\",\r\n \"AD_HOC_X\": \"ad hoc in samenstelling\",\r\n \"FRANK_EN_VRIJ\": \"frank en vrij\",\r\n \"AT_REM\": \"at rem\",\r\n \"M\": \"'m\",\r\n \"D_R\": \"d'r\",\r\n \"N\": \"'n\",\r\n \"T2\": \"'t\",\r\n \"ZN\": \"z'n\",\r\n \"TM\": \"t/m\",\r\n \"V_H\": \"v/h\",\r\n \"V_D\": \"v/d\",\r\n \"P_A\": \"p/a\",\r\n \"HOED_U\": \"Hoedt u / hoed u\",\r\n \"ALS_MIJ\": \"Als mij\",\r\n \"ALS_HEM\": \"als hem\",\r\n \"AANVAART\": \"Aanvaart\",\r\n \"HOUW_VAN\": \"houw van\",\r\n \"GROEP_DOET\": \"groep doet\",\r\n \"GROEP_DEED\": \"groep deed\",\r\n \"HELEBOEL_DOET\": \"een heleboel doet/doen\",\r\n \"EEN_PAAR_DOET\": \"een paar doet/doen\",\r\n \"UW_U_a\": \"uw gaat ? u gaat\",\r\n \"U_WIL\": \"u wil ? u wilt\",\r\n \"HOUT_JE\": \"hout je ? houd je\",\r\n \"VERBRANDDE_DING\": \"de verbrandde fiets\",\r\n \"WE_WILDE\": \"wij wilde\",\r\n \"IK_LOOPT\": \"ik loopt\",\r\n \"LOOPT_IK\": \"loopt ik\",\r\n \"HIJ_WILT\": \"hij wilt\",\r\n \"HIJ_VIND\": \"hij vind => hij vindt\",\r\n \"ZICH_INBEELD\": \"zich inbeeld ? zich inbeeldt\",\r\n \"JIJ_LOOP\": \"jij loop\",\r\n \"HUN_HEBBEN\": \"hun hebben\",\r\n \"JIJ_BEHEERD\": \"Jij beheerd ? jij beheert\",\r\n \"GIJ_LIEPT\": \"Gij liept\",\r\n \"WIJ_LOOP\": \"wij loopt\",\r\n \"AN_ZICH\": \"an zich/an sich\",\r\n \"SOCIAL_MEDIA_DINGES\": \"social media training / socialmediatraining\",\r\n \"ANTI_DINGES_DINGES\": \"anti abortus verhaal / antiabortusverhaal\",\r\n \"ANTI_DINGES\": \"anti abortus / antiabortus\",\r\n \"GFT\": \"Groente-, fruit- en tuinafval\",\r\n \"HANGT_ERVAN_AF\": \"Moet hangt ervan af zijn\",\r\n \"MET_ZONDER_X\": \"met zonder jas / zonder jas\",\r\n \"LANGE_TERMIJN_X\": \"lange termijn geheugen\",\r\n \"NET_NIET\": \"net-niet generatie\",\r\n \"DRIE_STERREN_X\": \"driesterren geheel / driesterrengeheel\",\r\n \"IN_GEDACHTE\": \"in gedachte\",\r\n \"TEN_OPZICHTE_VAN\": \"ten opzichte van\",\r\n \"KOSTE\": \"koste ? kostte ? kosten\",\r\n \"TEN_BEHOEVE\": \"ten behoeve van\",\r\n \"TEN_ONRECHTE\": \"ten onrechte\",\r\n \"TE_X_LASTE\": \"te ? laste ? te mijnen laste\",\r\n \"PERSE\": \"perse\",\r\n \"HARTE\": \"harte\",\r\n \"GENE_ZIJDE\": \"gene zijde\",\r\n \"GENE\": \"gene ? geen\",\r\n \"TEN_DELE\": \"ten dele\",\r\n \"GROTEN_GETALE\": \"groten getale\",\r\n \"KOELEN_BLOEDE\": \"koelen bloede\",\r\n \"DEZER\": \"dezer\",\r\n \"DIER_VOEGE\": \"dier voege\",\r\n \"TE_DEZER_GELEGENHEID\": \"te dezer gelegenheid\",\r\n \"TE_BERDE\": \"te berde etc.\",\r\n \"URE\": \"ure\",\r\n \"ZAKE\": \"zake\",\r\n \"HUIZES\": \"huizes\",\r\n \"GEVALLE\": \"gevalle\",\r\n \"VOORBEDACHTEN_RADE\": \"rade\",\r\n \"MACHTE\": \"Machte of machten\",\r\n \"IN_SPE\": \"in spe\",\r\n \"NOTA_BENE\": \"nota bene\",\r\n \"NOGAL_WIEDES\": \"nota bene\",\r\n \"DEN_LIJVE\": \"aan den lijve\",\r\n \"TYPEFOUT_UITDR\": \"mogelijke typefout van vaste uitdrukking\",\r\n \"WILLENS\": \"willens en wetens\",\r\n \"A_CHARGE\": \"à charge\",\r\n \"NA_AANLEIDING\": \"naar aanleiding van\",\r\n \"FULL_COLOR\": \"full color\",\r\n \"FOUT\": \"faut\",\r\n \"COMME\": \"comme il faut\",\r\n \"AU_BAIN\": \"au bain marie\",\r\n \"TEN_TIJDEN_VAN\": \"ten tijden van\",\r\n \"TEN_ALLEN_TIJDE\": \"ten allen tijde\",\r\n \"HAASJE_REPJE\": \"haasje repje\",\r\n \"HAAS_ALTIJD\": \"haas/haast\",\r\n \"VERIJZEN\": \"Verijzen/verwijzen/verrijzen\",\r\n \"RECHTERLIJK\": \"Rechte(r)lijk\",\r\n \"NAUW_EN_OF\": \"Nauw/nou en of\",\r\n \"OVALEN\": \"ovalen / ovale\",\r\n \"KAMT_MET\": \"kamt met / kamt met\",\r\n \"SEPSIS_SCEPSIS\": \"Sepsis vs scepsis\",\r\n \"GEVAARLIJK_PRESIDENT\": \"President vs precedent\",\r\n \"LEIDT_TWIJFEL\": \"twijfel leiden/lijden\",\r\n \"BREI_BRIJ\": \"brei , brij\",\r\n \"LOSSE_LETTERS\": \"losse letters verbeteren\",\r\n \"X_KEER\": \"5x / 5 ×\",\r\n \"ONTWARBAAR\": \"ontwarbaar ? onontwarbaar\",\r\n \"IN_DE_LAG\": \"in de lag ? in de lach\",\r\n \"AD_RANDOM\": \"ad random ? at random\",\r\n \"HET_ZEI_ZO\": \"het zei zo ? het zij zo\",\r\n \"METEN_PERSEN\": \"meten en persen ? Meden en Perzen\",\r\n \"BAADT_NIET\": \"Baadt het niet ? baat het niet\",\r\n \"BEDOENING\": \"Bedoening ? bedoeling\",\r\n \"BEDOELING\": \"Bedoeling ? bedoening\",\r\n \"HUISHOUDELIJK_GEWELD\": \"Huishoudelijk geweld of huiselijk geweld\",\r\n \"CADET\": \"Cadet of kadet\",\r\n \"KADET\": \"Cadet of kadet\",\r\n \"BUIGEN_OP\": \"Buigen op / bogen op\",\r\n \"MONOPOLIEN\": \"monopoliën of monopolyen\",\r\n \"SLIBBEN\": \"Slibben of slippen\",\r\n \"WOUDEN\": \"wilden of wouden\",\r\n \"PEILER\": \"peiler of pijler\",\r\n \"VERAS\": \"verassen i.p.v. verrassen\",\r\n \"VERKEERD_IN_STAAT\": \"Verkeerd in goede staat / verkeert in goede staat\",\r\n \"DE_18_DE\": \"18 de/18e\",\r\n \"VOORWAARDEN\": \"Aan/op deze voorwaarden\",\r\n \"FOUTE_WOORDGROEPEN\": \"Foute woordgroepen\",\r\n \"VANDAAG_AAN_DE_DAG\": \"vandaag aan de dag ? vandaag de dag\",\r\n \"TEVERGEEFSE\": \"tevergeefse ? vergeefse\",\r\n \"PROF_DR\": \"Prof.dr. / prof. dr.\",\r\n \"PLAATSINGSBUREAU\": \"Plaatsingsbureau ? arbeidsbureau\",\r\n \"NIET_DAN_NADAT\": \"Niet dan nadat ? pas nadat\",\r\n \"ALS_IK_JIJ_WAS\": \"Als ik jij was ? als ik jou was\",\r\n \"IN_EN_EXPORT\": \"in- en export ? im- en export\",\r\n \"VTD_GEWORDEN\": \"Gebruikt geworden ? gebruikt\",\r\n \"GEEN_DE_MINSTE\": \"Geen de minste ? niet de minste\",\r\n \"AANHEF1\": \"Mijne heren ? Geachte heer\",\r\n \"AANHEF2\": \"Geachte mijnheer ? Geachte heer\",\r\n \"ONTKEN_2\": \"dubbele ontkenning\",\r\n \"ONTKEN_3\": \"Ik heb nooit geen (nooit) koffie gedronken.\",\r\n \"IETS_DAT\": \"Iets dat ? iets wat\",\r\n \"VERLUID\": \"verluid\",\r\n \"VERVANG_VOOR\": \"Vervangen voor ? vervangen door\",\r\n \"WERKZAAMHEID\": \"werkzaamheid\",\r\n \"UW_BEIDER_BELANG\": \"u beider belang\",\r\n \"DRAAGT_VERANTWOORDING\": \"draagt verantwoordelijkheid\",\r\n \"NB\": \"N.B.: ? N.B. \",\r\n \"PS\": \"P.S.\",\r\n \"LEGER_DES_HEILS\": \"Leger des Heils\",\r\n \"EENS_NOOIT_MEER\": \"eens, maar nooit meer\",\r\n \"TER_BESTEMDER_PLAATSE\": \"Afraden - ter bestemder plaatse\",\r\n \"TER_BESTEMDER_TIJD\": \"Afraden - ter bestemder tijd\",\r\n \"TER_AANGEHAALDER_PLAATSE\": \"Afraden - ter aangehaalder plaatse\",\r\n \"TER_ZELFDER\": \"Afraden - ter zelfder plaatse\",\r\n \"TER_JUISTER\": \"Afraden - ter juister plaatse\",\r\n \"TER_PLEKKE\": \"Afraden - ter plekke\",\r\n \"LIJVE\": \"uitdrukkingen met 'lijve'\",\r\n \"HUNNENT_1\": \"uitdrukkingen met 'hunnent' etc.\",\r\n \"BATE\": \"uitdrukkingen met 'bate'\",\r\n \"GERUCHTE\": \"uitdrukkingen met 'geruchte'\",\r\n \"BIJ_MACHTE\": \"uitdrukkingen met 'machte'\",\r\n \"URE_1\": \"uitdrukkingen met 'ure'\",\r\n \"EENRE_2\": \"Afraden - te eenre zijde\",\r\n \"WIJLE_1\": \"uitdrukkingen met 'wijle'\",\r\n \"MONDE\": \"uitdrukkingen met 'monde'\",\r\n \"EIGENER_1\": \"uitdrukkingen met 'eigener'\",\r\n \"DES\": \"Waarschuwen voor 'des' buiten staande uitdrukkingen\",\r\n \"SPAAR_DER\": \"spaar der / spaarder\",\r\n \"DER\": \"Waarschuwen voor 'der' buiten staande uitdrukkingen\",\r\n \"STAM_DEN\": \"Verlief den/verliefden\",\r\n \"DEN\": \"Waarschuwen voor 'den' buiten staande uitdrukkingen\",\r\n \"HAARS\": \"Waarschuwen voor 'haars' etc. buiten staande uitdrukkingen\",\r\n \"HARER\": \"Waarschuwen voor 'harer' etc. buiten staande uitdrukkingen\",\r\n \"JOUWEN\": \"Waarschuwen voor 'jouwen' etc. buiten staande uitdrukkingen\",\r\n \"GEBREKE\": \"Waarschuwen voor 'gebreke' buiten 'in gebreke'\",\r\n \"LANGEN\": \"ten langen teste'\",\r\n \"TE_DIEN_AANZIEN\": \"te dien aanzien'\",\r\n \"DEN_GEKKEN\": \"Vlaams of Oudnederlands, geen Standaardnederlands\",\r\n \"RADARWERK\": \"Radarwerk of raderwerk\",\r\n \"NEFAST\": \"Nefast\",\r\n \"KOMMA_VIND_IK\": \", vind ik.\",\r\n \"KOMMA_HOOR\": \", hoor.\",\r\n \"EN_EN_EN\": \"En … en … en …\",\r\n \"APPELTJE_EITJE\": \"Appeltje eitje ? appeltje-eitje\",\r\n \"_2_ONDER_1_KAP\": \"Twee onder een kap woning ? twee-onder-een-kap-woning\",\r\n \"HUIS_AAN_HUIS\": \"Huis aan huis blad ? huis-aan-huisblad\",\r\n \"HUIS_TUIN_EN_KEUKEN\": \"Huis aan huis blad ? huis-aan-huisblad\",\r\n \"AAN-EN-UIT-RELATIE\": \"aan en uit relatie ? aan-en-uit-relatie\",\r\n \"ADVOCAAT-VAN-DE-DUIVEL-ROL\": \"advocaat van de duivel rol ? advocaat-van-de-duivel-rol\",\r\n \"ALLEEN-OP-DE-WERELD-GEVOEL\": \"alleen op de wereld gevoel ? alleen-op-de-wereld-gevoel\",\r\n \"ALLES-OF-NIETS-POGING\": \"alles of niets poging ? alles-of-niets-poging\",\r\n \"BAAS-BOVEN-BAAS-PRINCIPE\": \"baas boven baasprincipe ? baas-boven-baasprincipe\",\r\n \"BAAS-IN-EIGEN-BUIK-DEMONSTRATIE\": \"baas in eigen buik demonstratie ? baas-in-eigen-buik-demonstratie\",\r\n \"BENEN-OP-TAFEL-OVERLEG\": \"benen op tafel overleg ? benen-op-tafel-overleg\",\r\n \"DAG-NA-DAG-BESCHRIJVING\": \"dag na dag beschrijving ? dag-na-dag-beschrijving\",\r\n \"DERTIEN-IN-EEN-DOZIJN-FILM\": \"dertien in een dozijn film ? dertien-in-een-dozijn-film\",\r\n \"FACE-TO-FACE-ONDERWIJS\": \"face to face onderwijs ? face-to-face-onderwijs\",\r\n \"GELD-TERUG-BIJ-VERTRAGING-ACTIE\": \"geld terug bij vertraging actie ? geld-terug-bij-vertraging-actie\",\r\n \"GLAS-IN-LOOD-RAAM\": \"glas in lood raam ? glas-in-lood-raam\",\r\n \"HALF-OM-HALF-GEHAKT\": \"half om half gehakt ? half-om-half-gehakt\",\r\n \"HARD-TEGEN-HARD-DISCUSSIE\": \"hard tegen hard discussie ? hard-tegen-hard-discussie\",\r\n \"HEET-VAN-DE-NAALD-VERSLAG\": \"heet van de naald verslag ? heet-van-de-naald-verslag\",\r\n \"HUIS-IN-HUIS-CONSTRUCTIE\": \"huis in huis constructie ? huis-in-huis-constructie\",\r\n \"KOP-OF-MUNT-BESLISSING\": \"kop of munt beslissing ? kop-of-munt-beslissing\",\r\n \"LIJF-AAN-LIJF-GEVECHT\": \"lijf aan lijf gevecht ? lijf-aan-lijf-gevecht\",\r\n \"LIK-OP-STUK-BELEID\": \"lik op stuk beleid ? lik-op-stuk-beleid\",\r\n \"MAMA-EN-PAPA-LENING\": \"mama en papa lening ? mama-en-papa-lening\",\r\n \"MANNEN-ONDER-ELKAAR-HUMOR\": \"mannen onder elkaar humor ? mannen-onder-elkaar-humor\",\r\n \"MAN-TEGEN-MAN-GEVECHT\": \"man tegen man gevecht ? man-tegen-man-gevecht\",\r\n \"MOND-OP-MOND-BEADEMING\": \"mond op mond beademing ? mond-op-mond-beademing\",\r\n \"MOND-OP-MOND-RECLAME\": \"mond op mond reclame ? mond-tot-mond-reclame\",\r\n \"MOND-TOT-MOND-RECLAME\": \"mond tot mond reclame ? mond-tot-mond-reclame\",\r\n \"NEGEN-TOT-VIJF-MENTALITEIT\": \"negen tot vijf mentaliteit ? negen-tot-vijf-mentaliteit\",\r\n \"NEK-AAN-NEK-RACE\": \"nek aan nek race ? nek-aan-nek-race\",\r\n \"OPA-EN-OMA-REGELING\": \"opa en oma regeling ? opa-en-oma-regeling\",\r\n \"OVER-MIJN-LIJK-MENTALITEIT\": \"over mijn lijk mentaliteit ? over-mijn-lijk-mentaliteit\",\r\n \"PAPA-EN-MAMA-HUIS\": \"papa en mama huis ? papa-en-mama-huis\",\r\n \"RIJST-MET-KRENTEN-HOND\": \"rijst met krenten hond ? rijst-met-krenten-hond\",\r\n \"ROND-DE-TAFEL-COACHING\": \"rond de tafel coaching ? rond-de-tafel-coaching\",\r\n \"ROND-DE-WERELD-TICKET\": \"rond de wereld ticket ? rond-de-wereld-ticket\",\r\n \"STAP-VOOR-STAP-PLAN\": \"stap voor stap plan ? stap-voor-stap-plan\",\r\n \"TUSSEN-DE-OREN-ZIEKTE\": \"tussen de oren ziekte ? tussen-de-oren-ziekte\",\r\n \"VAN-NEGEN-TOT-VIJF-TYPE\": \"van negen tot vijf type ? van-negen-tot-vijf-type\",\r\n \"VER-VAN-MIJN-BED-SHOW\": \"ver van mijn bed show ? ver-van-mijn-bed-show\",\r\n \"VOET-BIJ-STUK-BELEID\": \"voet bij stuk beleid ? voet-bij-stuk-beleid\",\r\n \"VRAAG-EN-ANTWOORD-SPEL\": \"vraag en antwoord spel ? vraag-en-antwoord-spel\",\r\n \"VROUWEN-ONDER-ELKAAR-HUMOR\": \"vrouwen onder elkaar humor ? vrouwen-onder-elkaar-humor\",\r\n \"GOOI-EN-SMIJT-WERK\": \"gooi en smijt werk ? gooi-en-smijt-werk\",\r\n \"HANG-EN-SLUIT-WERK\": \"hang en sluit werk ? hang-en-sluit-werk\",\r\n \"HANS-EN-GRIETJE-HUIS\": \"hans en grietje huis ? hans-en-grietje-huis\",\r\n \"JEU-DE-BOULES-BAAN\": \"jeu de boules baan ? jeu-de-boules-baan\",\r\n \"JIP-EN-JANNEKE-TAAL\": \"jip en janneke taal ? jip-en-janneke-taal\",\r\n \"KAT-EN-MUIS-SPEL\": \"kat en muis spel ? kat-en-muis-spel\",\r\n \"KIP-OF-EI-VRAAG\": \"kip of ei vraag ? kip-of-ei-vraag\",\r\n \"LACH-OF-IK-SCHIET-SHOW\": \"lach of ik schiet show ? lach-of-ik-schiet-show\",\r\n \"MOND-EN-KLAUW-ZEER\": \"mond en klauw zeer ? mond-en-klauw-zeer\",\r\n \"NORMEN-EN-WAARDEN-DEBAT\": \"normen en waarden debat ? normen-en-waarden-debat\",\r\n \"OT-EN-SIEN-KLEDING\": \"ot en sien kleding ? ot-en-sien-kleding\",\r\n \"PEPER-EN-ZOUTCOMBINATIE\": \"peper en zout stel ? peper-en-zout-stel\",\r\n \"PEPER-EN-ZOUT-STEL\": \"peper en zout stel ? peper-en-zout-stel\",\r\n \"POEP-EN-PIES-HUMOR\": \"poep en pies humor ? poep-en-pies-humor\",\r\n \"WELLES-NIETES-SPEL\": \"welles nietes spel ? welles-nietes-spel\",\r\n \"BRANDEND_SCHOON\": \"Brandend schoon ? brandschoon\",\r\n \"VERSE_GROETEN\": \"Verse groeten ? verse groenten\",\r\n \"EEN_AANTAL_KEER\": \"Een aantal keer ? een aantal keren\",\r\n \"ALLE_DRIE_WINNAARS\": \"Alle drie winnaars ? alle drie de winnaars\",\r\n \"X_EEUWSE\": \"19e eeuwse ? 19e-eeuwse\",\r\n \"DIT_BETEKEND_DAT\": \"Dit betekend ? dit betekent\",\r\n \"GROOTTE_VAN_ORDE\": \"Grootte van orde ? orde van grootte\",\r\n \"TAAK_IS_VOLDAAN\": \"Taak is voldaan ? taak is volbracht\",\r\n \"AMPEL_AMPER_a\": \"Ampel en amper\",\r\n \"GAAT_TE_PAARD_MET\": \"Gaat te paard met ? gaat gepaard met\",\r\n \"NOG_EENDJE\": \"Nog eendje ? nog eentje\",\r\n \"EEN_AFDOENDE_ANTWOORD\": \"Een afdoende antwoord ? een afdoend antwoord\",\r\n \"ME_TEEN\": \"me teen ? meteen, met een, mijn teen\",\r\n \"WEER_ZIN\": \"weer zin ? weerzin\",\r\n \"DE_MAXIMUM\": \"De maximum aanvaardbare ? de maximaal aanvaardbare\",\r\n \"DAR\": \"Dar ? daar\",\r\n \"ONDANKS_HET_FEIT_DAT\": \"Ondanks het feit dat ? hoewel\",\r\n \"SCHERPST_VAN_DE_SNEDE\": \"Scherpst van de snede ? scherp van de snede\",\r\n \"SCHRIL_CONTRACT\": \"Schril contract ? schril contrast\",\r\n \"MAND_GELDIG\": \"Mand geldig ? maand geldig\",\r\n \"KASSA_RINKELT\": \"De kassa rinkelt\",\r\n \"ROLLS\": \"De Rolls-Royce onder de\",\r\n \"HOBBY\": \"Uit de hand gelopen hobby\",\r\n \"SCHANDPAAL\": \"Aan de schandpaal\",\r\n \"SPOOR_BIJSTER\": \"Spoor bijster\",\r\n \"STOELEN_BANKEN\": \"Onder stoelen of banken\",\r\n \"OPEN_VIZIER\": \"Met open vizier\",\r\n \"BADWATER\": \"Met het badwater weggooien\",\r\n \"BITTERE_PIL\": \"Een bittere pil\",\r\n \"BIERKAAI\": \"Vechten tegen de bierkaai\",\r\n \"ROER_OMGOOIEN\": \"Het roer omgooien\",\r\n \"BAKENS_VERZETTEN\": \"De bakens verzetten\",\r\n \"LACHSPIEREN\": \"Op de lachspieren werken\",\r\n \"DAAD_BIJ_WOORD\": \"De daad bij het woord voegen\",\r\n \"KNUPPEL_HOENDERHOK\": \"De knuppel in het hoenderhok\",\r\n \"INKT_DROOG\": \"De inkt is nog niet droog\",\r\n \"_5_VOOR_12\": \"Vijf voor twaalf\",\r\n \"UIT_DE_MOUW\": \"Uit de mouw schudden\",\r\n \"AAN_ZIJN_JAS_TREKKEN\": \"Aan zijn jas trekken\",\r\n \"ZURE_APPEL\": \"Door de zure appel bijten\",\r\n \"MOSTERD_MAALTIJD\": \"Mosterd na de maaltijd\",\r\n \"DRUIVEN_ZUUR\": \"De druiven zijn zuur\",\r\n \"TIEN_TEGEN_EEN\": \"Tien tegen een\",\r\n \"VOET_SCHIETEN\": \"In de voet schieten\",\r\n \"STEEN_BIJDRAGEN\": \"Een steentje bijdragen\",\r\n \"VINKENTOUW\": \"Op het vinkentouw\",\r\n \"MELK_BROKKELEN\": \"In de melk te brokkelen\",\r\n \"ONDERSTE_KAN\": \"Het onderste uit de kan\",\r\n \"KOGEL_KERK\": \"De kogel is door de kerk\",\r\n \"STEKKER_ER_UIT\": \"De stekker er uit trekken\",\r\n \"PADDENSTOELEN\": \"Als paddenstoelen uit de grond\",\r\n \"VINGER_AAN_DE_POLS\": \"De vinger aan de pols houden\",\r\n \"UIT_DE_GROND_STAMPEN\": \"Uit de grond stampen\",\r\n \"OP_DE_KAART\": \"Op de kaart zetten\",\r\n \"DE_KOEK_IS_OP\": \"De koek is op\",\r\n \"MAAT_VOL\": \"De maat is vol\",\r\n \"BIEZEN_PAKKEN\": \"Zijn biezen pakken\",\r\n \"NEUZEN_KANT\": \"De neuzen dezelfde kant op\",\r\n \"DE_KLOKKEN_GELIJK\": \"De klokken gelijk zetten\",\r\n \"GEMOEDEREN_BEZIG\": \"De gemoederen bezighouden\",\r\n \"ZONDER_SLAG_OF_STOOT\": \"Zonder slag of stoot\",\r\n \"IN_DE_RIJ\": \"In de rij staan voor\",\r\n \"IN_DE_KINDERSCHOENEN\": \"In de kinderschoenen\",\r\n \"OM_ZICH_HEEN\": \"Om zich heen slaan\",\r\n \"IN_DE_BAN_VAN\": \"In de ban van\",\r\n \"ONDERSTE_STEEN\": \"De onderste steen boven\",\r\n \"GROEN_LICHT\": \"Groen licht geven\",\r\n \"HANDDOEK_RING\": \"De handdoek in de ring gooien\",\r\n \"VELD_RUIMEN\": \"Het veld ruimen\",\r\n \"STALEN_ZENUWEN\": \"Stalen zenuwen hebben\",\r\n \"OP_GLAD_IJS\": \"Zich op glad ijs begeven\",\r\n \"DOOR_HET_STOF_a\": \"Door het stof gaan\",\r\n \"SCHOUDERS_ERONDER\": \"De schouders eronder\",\r\n \"BREVET_ONVERMOGEN\": \"Brevet van onvermogen\",\r\n \"LAATSTE_STUIP\": \"Laatste stuiptrekking\",\r\n \"HOGE_POTEN\": \"Op hoge poten\",\r\n \"ACHTERSTE_BENEN\": \"Op de achterste benen\",\r\n \"TIERELIER\": \"Als een tierelier\",\r\n \"GEVOELIGE_SNAAR\": \"Een gevoelige snaar raken\",\r\n \"SLEPEN_RECHTER\": \"Voor de rechter slepen\",\r\n \"HANDEN_EN_VOETEN\": \"Handen en voeten\",\r\n \"GROEIEN_ALS_KOOL\": \"Groeien als kool\",\r\n \"SCHRIL_CONTRAST\": \"In schril contrast met\",\r\n \"DOLK_IN_DE_RUG\": \"Dolk in de rug\",\r\n \"TIK_OP_DE_VINGERS\": \"Tik op de vingers\",\r\n \"HAND_OP_DE_KNIP\": \"De hand op de kip houden\",\r\n \"ALLE_ZEILEN\": \"Alle zeilen bijzetten\",\r\n \"WIND_RUG\": \"De wind in de rug hebben\",\r\n \"SLEUTEL_TOT_SUCCES\": \"Sleutel tot succes\",\r\n \"SNEEUW_VOOR_DE_ZON\": \"Als sneeuw voor de zon\",\r\n \"DONKERE_WOLKEN\": \"Donkere wolken pakken zich samen\",\r\n \"DE_NOODKLOK\": \"De noodklok luiden\",\r\n \"DOORN_OOG\": \"Door in het oog\",\r\n \"HOLLANDS_GLORIE\": \"Hollands glorie\",\r\n \"VLUCHTHAVEN\": \"vluchthaven ? luchthaven\",\r\n \"POSTALE_DEPRESSIE\": \"Postale depressie ? postnatale depressie\",\r\n \"VISUELE_CIRKEL\": \"Visuele cirkel ? vicieuze cirkel\",\r\n \"FINALE_PLEITING\": \"Finale pleiting ? finale kwijting\",\r\n \"LASTIG_PAKKET\": \"Lastig pakket ? lastig parket\",\r\n \"SURVEILLANCE_VAN_BETALING\": \"Surveillance van betaling ? surseance van betaling\",\r\n \"ZAAK_AANHANKELIJK\": \"Zaak aanhankelijk maken ? zaak aanhangig maken\",\r\n \"EIS_EN_WEDER_DIENENDE\": \"Eis en weder ? ijs en weder\",\r\n \"JAARGETAL\": \"Jaargetal ? jaartal\",\r\n \"LIBER_AMORICUM\": \"Liber amoricum ? liber amicorum\",\r\n \"VACCINEREND\": \"vaccinerend ? fascinerend\",\r\n \"MOMENT_SUBLIEM\": \"moment subliem ? moment suprême\",\r\n \"EPISCH_CENTRUM\": \"Episch centrum ? epicentrum\",\r\n \"HEET_GEBLAKERD\": \"Heet geblakerd ? heetgebakerd\",\r\n \"DRAADKRACHT\": \"Draadkracht ? daadkracht\",\r\n \"EXTRA_DEMENTIE\": \"Extra dementie ? extra dimensie\",\r\n \"TERMINALE_BADEN\": \"Terminale baden ? thermale baden\",\r\n \"MEDIA_MAAND\": \"Media januari ? medio januari\",\r\n \"VOL_PENSIOEN\": \"Vol pensioen ? Vol pension\",\r\n \"BOVEN_HET_MAISVELD\": \"Boven het maisveld ? boven het maaiveld\",\r\n \"SO_WIE_SO\": \"Boven het maisveld ? boven het maaiveld\",\r\n \"PUBERTIJD\": \"Pubertijd ? puberteit\",\r\n \"CHAMPIGNONS_LEAGUE\": \"Chapignons league ? Champions League\",\r\n \"BEGAANDE_GROND\": \"begaande grond ? begane grond\",\r\n \"AANGEDAAN_WORDT\": \"vang\",\r\n \"ONTROEREND_GOED\": \"Ontroerend goed ? onroerend goed\",\r\n \"OP_DE_KEEPER_BESCHOUWD\": \"Op de keeper beschouwd ? op de keper beschouwd\",\r\n \"WENDT_OF_KEERT\": \"Went of keert ? wendt of keert\",\r\n \"INVALIDE_TOILET\": \"Invalide toilet ? invalidentoilet\",\r\n \"EEN_SOORT_VAN_JAMMER\": \"Een soort van jammer ? jammer\",\r\n \"HEUR_HAAR\": \"Heur haar ? haar haar\",\r\n \"DUBBEL_WOORD\": \"Dubbel woord\",\r\n \"VAN_VAN\": \"van van/van Van\",\r\n \"DE_HET\": \"De het\",\r\n \"JOU_JOUW\": \"jou of jouw\",\r\n \"SPATIE_LEESTEKEN\": \"spatie voor leesteken schrappen\",\r\n \"GEDACHTESTREEPJE\": \"- ? –\",\r\n \"STREEPJE_TUSSEN_SPATIES_WEGLATING\": \"lees - of ? lees- of\",\r\n \"_2_LEESTEKENS\": \"Twee maal zelfde leesteken\",\r\n \"_2_AANH_A\": \"Twee enkele aanhalingstekens\",\r\n \"KOMMA_AANH\": \"Komma als aanhalingsteken\",\r\n \"PNT_PNT_PNT\": \"...\",\r\n \"BACKTICK\": \"geen ` (backtick)\",\r\n \"_2_AANH_B\": \"twee keer een ' i.p.v. dubbele\",\r\n \"KOMMA_KOMMA\": \"dubbele komma i.p.v. aanhalingsteken onder\",\r\n \"SEKSE_VOLGORDE\": \"misschien volgorde omdraaien\",\r\n \"VROUWELIJK_FUNCTIE\": \"Chauffeur/chauffeuse\",\r\n \"DE_HIJ\": \"de hij\",\r\n \"DE_MAX\": \"de max / het maximum\",\r\n \"DE_LEESTEKEN\": \"de;\",\r\n \"DE_LIGT_ONTVLAMBARE\": \"ligt / licht\",\r\n \"DE_WKW_DE\": \"De benauwen de\",\r\n \"DE_WKW\": \"de fantaseren\",\r\n \"DE_3EP\": \"de loopt\",\r\n \"DE_LELIJKS_TE\": \"De lelijks te/de lelijkste\",\r\n \"DE_LELIJKS\": \"De lelijks/de lelijke\",\r\n \"SPATIEFOUT_HET_DE\": \"de-hetfout of spatiefout\",\r\n \"SPATIEFOUT_HEIDS\": \"foutheids criterium\",\r\n \"DE_ONVERWACHT\": \"Onverwachte woorden na 'de'\",\r\n \"OP_ZIJN_ZACHTS\": \"zachts => zachtst\",\r\n \"EEN_VAN_DE_MAN\": \"is een van de bekendste man/mannen\",\r\n \"LAATS\": \"laats\",\r\n \"IETS_KLEINS\": \"vreemde constructie rond 'kleins'\",\r\n \"GRAND_PRIX\": \"Grand Prix-iets / grand-prixiets\",\r\n \"_24_UURS\": \"24-uursding/24 uursding\",\r\n \"ME_MOETEN\": \"Me/we\",\r\n \"VERHUISD_HIJ\": \"Verhuisd/verhuist\",\r\n \"BEHOUD_ZICH\": \"Voor zich past geen 1e persoon\",\r\n \"NUM_PONT\": \"pont/pond\",\r\n \"DAT_IK_HOUD_NIET_VAN\": \"verkeerde woordvolgorde\",\r\n \"LAGER_TOV\": \"ten opzichte van/dan\",\r\n \"RONDT_UUR\": \"rondt/rond\",\r\n \"COPY_PASTE\": \"copy/paste => copy-paste\",\r\n \"COPY\": \"copy/kopie of kopij\",\r\n \"TOD\": \"tod/tot\",\r\n \"HIJ_ZIJ\": \"hij/zij\",\r\n \"ZIJN_HAAR\": \"zijn/haar\",\r\n \"PAT\": \"pat/pad\",\r\n \"DEZE_WASMIDDEL\": \"deze/dit\",\r\n \"LICHT_AMANDELGEUR\": \"licht/lichte\",\r\n \"ZIEKTE_IN_MENSEN\": \"Anglicisme\",\r\n \"ZEER_GROTERE\": \"Zeer grotere/grote\",\r\n \"_4_TOKENS_001\": \"verkeerde werkwoordvorm\",\r\n \"_4_TOKENS_002\": \"ontbrekend woord\",\r\n \"_4_TOKENS_003\": \"verkeerde werkwoordvorm\",\r\n \"_4_TOKENS_004\": \"verkeerde werkwoordvorm\",\r\n \"_4_TOKENS_005\": \"vreemde zinsbouw\",\r\n \"_4_TOKENS_006\": \"vreemde zinsbouw\",\r\n \"_4_TOKENS_007\": \"vreemde zinsbouw\",\r\n \"_4_TOKENS_008\": \"vreemde zinsbouw\",\r\n \"_4_TOKENS_009\": \"vreemde zinsbouw\",\r\n \"_5_TOKENS_001\": \"verkeerde werkwoordvorm\",\r\n \"_6_TOKENS_001\": \"verkeerde werkwoordvorm\",\r\n \"FULL_SENTENCE_001\": \"verkeerde werkwoordvorm\",\r\n \"PART_SENTENCE_001\": \"verkeerde werkwoordvorm\",\r\n \"PART_SENTENCE_002\": \"verkeerde werkwoordvorm\",\r\n \"IDD\": \"idd/inderdaad\",\r\n \"KRUID_VERSCHIETEN\": \"kruid/kruit\",\r\n \"ENZO\": \"Enzo\",\r\n \"OFZOIETS\": \"Ofzoiets/of zoiets\",\r\n \"OFZO\": \"Ofzo/of zo\",\r\n \"I_HAD\": \"I/Ik\",\r\n \"ZOGAUW\": \"Zogauw/zo gauw\",\r\n \"MAARJA\": \"Maar ja/maar ja\",\r\n \"FF\": \"FF/even\",\r\n \"DANKJE\": \"dankje / dank je\",\r\n \"ZODADELIJK\": \"Zodadelijk/zo dadelijk\",\r\n \"VD\": \"vd/v.d.\",\r\n \"DA_Q_S\": \"da's/dat is\",\r\n \"NB_2\": \"NB/Nota bene\",\r\n \"AFKO_VOLUIT\": \"Afkortingen voluit\",\r\n \"AFKO_ONJUIST\": \"Afkorting onjuist\",\r\n \"AFKO_PUNTEN\": \"Afkortingen zonder punt\",\r\n \"LS_IS\": \"ls / Is\",\r\n \"DOET-IE\": \"Doet-ie / doet ie\",\r\n \"ONS_BEIDE\": \"Ons beide/ons beiden\"\r\n}","import {\r\n EnumHelper,\r\n AnalyticsKPIEntity\r\n} from '../../..'\r\nimport {\r\n AppServiceUsageEnum,\r\n AppRephrasingServiceUsageEnum,\r\n ErrorFirstLevelClassEnum,\r\n ErrorClassificationLevelEnum,\r\n AnalyticsKpiFactory,\r\n ErrorClassificationService\r\n} from '..'\r\n\r\nexport class TeamKPIsService {\r\n\r\n /**\r\n * Generates the object with the team correction follow up related KPIs values.\r\n * @param correctionData the data provided by the request to elastic\r\n * @param lang lang used\r\n * @returns the object that organise data according to the usage in view.\r\n */\r\n public static parseTeamKPIs(correctionData: any, lang: string): any[] {\r\n\r\n const results : any = {}\r\n const errorFirstLevelClassification: any = ErrorClassificationService.getErrorFirstLevelClassificationCodes(lang)\r\n\r\n const detectedErrors = correctionData.DetectedErrors\r\n const appliedSuggestions = correctionData.AppliedSuggestions\r\n\r\n // Order of elements in results : [owner, nb-correction-requests, nb-errors-found, nb-applied-suggestions, orthographe, syntaxe, typographie]\r\n\r\n // Correction request\r\n Object.keys(detectedErrors).forEach( period => {\r\n const errors = detectedErrors[period];\r\n\r\n errors.forEach((item: any) => {\r\n // don't handle cases where the user has no correction requests,\r\n // if, for every period, the user has no correction requests, then the user is not in the final table\r\n if(item.totalRequests !== 0){\r\n\r\n const email = item.email\r\n if(!results[email])\r\n results[email] = {}\r\n\r\n results[email][AppServiceUsageEnum.NB_CORRECTION_REQUESTS] = (results[email][AppServiceUsageEnum.NB_CORRECTION_REQUESTS] || 0) + item.totalRequests;\r\n results[email][AppServiceUsageEnum.NB_ERRORS_FOUND] = (results[email][AppServiceUsageEnum.NB_ERRORS_FOUND] || 0) + item.totalErrors\r\n\r\n if(!correctionData.SearchByInner){\r\n item.errorList.forEach((error: any) => {\r\n const errorCode = error.errorCode\r\n results[email][errorFirstLevelClassification[errorCode]] = (results[email][errorFirstLevelClassification[errorCode]] || 0) + error.totalErrors\r\n });\r\n }\r\n }\r\n });\r\n })\r\n\r\n // Applied suggestions\r\n Object.keys(appliedSuggestions).forEach( period => {\r\n const errors = appliedSuggestions[period];\r\n\r\n\r\n errors.forEach((item: any) => {\r\n const email = item.email\r\n // don't handle cases where the user has no correction requests, \r\n // but handle cases where the user has correction requests but no applied suggestions\r\n if(results[email] !== undefined){ \r\n\r\n results[email][AppServiceUsageEnum.NB_APPLIED_SUGGESTIONS] = (results[email][AppServiceUsageEnum.NB_APPLIED_SUGGESTIONS] || 0) + item.totalApplied\r\n\r\n if(correctionData.SearchByInner){\r\n \r\n item.errorList.forEach((error: any) => {\r\n const errorCode = error.errorCode\r\n results[email][errorFirstLevelClassification[errorCode]] = (results[email][errorFirstLevelClassification[errorCode]] || 0) + error.totalErrors\r\n });\r\n }\r\n }\r\n });\r\n })\r\n\r\n //Add 0 for each classification if no applied suggestions\r\n const uniqueValues : any[] = Object.values(errorFirstLevelClassification);\r\n Object.keys(results).forEach((email : any) => {\r\n uniqueValues.forEach((value : any) => {\r\n if(results[email][value] === undefined){\r\n results[email][value] = 0\r\n }\r\n })\r\n })\r\n // format and return results (convert them from object to array)\r\n const finalResults : any[] = []\r\n Object.keys(results).forEach((key : any) => {\r\n finalResults.push({ owner: key, ...results[key] })\r\n })\r\n return finalResults\r\n }\r\n\r\n /**\r\n * Generates the object with the team correction follow up related KPIs values.\r\n * @param teamFollowUpKPIs The object that maps owner and the prebuilded object associating kpiCode -> kpiValue\r\n * @param resultsByUser The query results by user\r\n * @param errorClassificationLevel The classification to be used for error codes.\r\n * @returns the object that organise data according to the usage in view.\r\n */\r\n public static parseTeamRephrasingKPIs(rephrasingData: any, lang: string): any[] {\r\n const finalResults: any[] = []\r\n if(rephrasingData == null){\r\n return finalResults\r\n }\r\n \r\n // Store requests by user in a map for quick lookup\r\n const requestMap = new Map()\r\n\r\n // 1st step : storing total request by user\r\n for (const usrData of rephrasingData.RephrasingRequestByUser) {\r\n const email = usrData.email\r\n const totalRequests = usrData.docCount\r\n // don't handle cases where the user has no rephrasing requests,\r\n // if, for every period, the user has no rephrasing requests, then the user is not in the final table\r\n if(totalRequests === 0){\r\n continue\r\n }\r\n requestMap.set(email, totalRequests)\r\n \r\n finalResults.push({\r\n owner: email,\r\n [AppRephrasingServiceUsageEnum.NB_REPHRASING_REQUEST]: totalRequests\r\n })\r\n }\r\n \r\n // 2nd step : storing total applied by user ratio\r\n for (const usrData of rephrasingData.RephrasingAppliedByUser) {\r\n const email = usrData.email\r\n const totalApplied = usrData.docCount\r\n \r\n // Retrieve totalRequests from the map, handle missing data gracefully\r\n const totalRequest = requestMap.get(email)\r\n if (totalRequest != null) {\r\n const ratio = Math.round(totalApplied / totalRequest * 100)\r\n const userResult = finalResults.find((item: any) => item.owner === email)\r\n if (userResult) {\r\n userResult[AppRephrasingServiceUsageEnum.NB_REPHRASING_APPLIED] = totalApplied\r\n userResult[AppRephrasingServiceUsageEnum.REPHRASING_APPLICATION_RATIO] = ratio\r\n }\r\n }\r\n }\r\n return finalResults\r\n }\r\n \r\n}\r\n","import {\r\n EnumHelper,\r\n AnalyticsByCriteriaEntity,\r\n AnalyticsKPIEntity,\r\n ErrorFirstLevelClassEnum,\r\n TimeFilterThresholdPeriod,\r\n AppConfigService\r\n} from \"../../..\"\r\nimport {\r\n AnalyticsKpiFactory,\r\n ErrorsFromCodes,\r\n ErrorClassificationService\r\n} from \"..\"\r\n\r\nexport class ServiceUsageService {\r\n\r\n /**\r\n * Creation of the 3 kpi of the global indicators.\r\n * @param correctionReqData The data provided by the request to elastic.\r\n * @param innerCorrectionData The data related to correction user requests.\r\n * @returns The list containing the KPIs associated to the service usage. Only if the total value of the KPI is > 0.\r\n */\r\n public static parseServiceUsage(correctionData: any): AnalyticsKPIEntity[] {\r\n const result: AnalyticsKPIEntity[]= AnalyticsKpiFactory.buildServiceUsageKPIs()\r\n // result[0] = number of correction requests\r\n // result[1] = detected errors\r\n // result[2] = applied corrections\r\n\r\n const detectedErrors = correctionData.DetectedErrors\r\n const appliedSuggestions = correctionData.AppliedSuggestions;\r\n\r\n for (const period in detectedErrors) { \r\n let totalRequestForPeriod : number = 0\r\n let totalErrorsForPeriod : number = 0\r\n detectedErrors[period].forEach((item: any) => {\r\n // number of correction requests\r\n const totalRequests = item.totalRequests\r\n result[0].totalValue += totalRequests\r\n totalRequestForPeriod += totalRequests\r\n\r\n // number of detected errors\r\n const totalErrors = item.totalErrors\r\n result[1].totalValue += totalErrors\r\n totalErrorsForPeriod += totalErrors\r\n })\r\n result[0].subCriteriaValues?.push(new AnalyticsByCriteriaEntity(totalRequestForPeriod, '')) \r\n result[1].subCriteriaValues?.push(new AnalyticsByCriteriaEntity(totalErrorsForPeriod, ''))\r\n }\r\n\r\n for(const period in appliedSuggestions){\r\n let totalAppliedForPeriod : number = 0\r\n appliedSuggestions[period].forEach((item: any) => {\r\n // number of applied corrections\r\n const totalApplied = item.totalApplied\r\n result[2].totalValue += totalApplied\r\n totalAppliedForPeriod += totalApplied\r\n })\r\n result[2].subCriteriaValues?.push(new AnalyticsByCriteriaEntity(totalAppliedForPeriod, ''))\r\n }\r\n\r\n return result.filter(item => item.totalValue !== 0);\r\n }\r\n\r\n /**\r\n * Generate data used to build evolution kpi graph (histogram)\r\n * @param correctionData The correction data from query result.\r\n * @param subperiods The associated subperiods to generate subgroups of data.\r\n * @returns The list containing the KPI associated to the spelling user requests.\r\n */\r\n public static parseEvolutionKPIs(correctionData: any, lang: string): AnalyticsKPIEntity[] {\r\n let result : AnalyticsKPIEntity[] = []\r\n result = AnalyticsKpiFactory.buildCorrectionByCategoryKPIs(ErrorFirstLevelClassEnum)\r\n\r\n const detectedErrors = correctionData.DetectedErrors\r\n\r\n result.forEach((category: AnalyticsKPIEntity) => {\r\n category.subCriteriaValues = []\r\n let totalValue : number = 0\r\n for (const period in detectedErrors) {\r\n let totalErrorsForPeriod : number = 0\r\n detectedErrors[period].forEach((item: any) => {\r\n const errorsByType: any = this.computeTotalErrorCountByType(item.errorList, lang)\r\n for (const errorType of Object.keys(errorsByType)) {\r\n if (ErrorFirstLevelClassEnum[errorType as keyof typeof ErrorFirstLevelClassEnum] === category.kpiId) {\r\n const kpi = this.findEvolutionKpiFromString(errorType, result) \r\n if (kpi) {\r\n totalErrorsForPeriod += errorsByType[errorType]\r\n } \r\n }\r\n \r\n }\r\n })\r\n const periodLabel = period.split(\"_period_\")[1];\r\n category.subCriteriaValues?.push(new AnalyticsByCriteriaEntity(totalErrorsForPeriod, periodLabel))\r\n totalValue += totalErrorsForPeriod\r\n }\r\n category.totalValue = totalValue\r\n })\r\n\r\n return result\r\n }\r\n\r\n /**\r\n * Generate a list of AnalyticsKPIEntity to store Elasticsearch average words corrected and error coutn data.\r\n * The words number is computed from consumption number (which is in characters) divided by 6.\r\n * @param correctionData The elastic data from the query result\r\n * @returns The list containing the KPIs associated to the average words corrected and error count.\r\n */\r\n public static parseAverageKPIs(correctionData: any): any {\r\n const tmpResults : any = {}\r\n const averageConsumptionResult: AnalyticsKPIEntity[] = []\r\n const averageErrorsResult: AnalyticsKPIEntity[] = []\r\n const result : any = { averageConsumptionResult, averageErrorsResult}\r\n const detectedErrors = correctionData.DetectedErrors\r\n for (const period in detectedErrors) { \r\n detectedErrors[period].forEach((item: any) => {\r\n if(!tmpResults[item.email])\r\n tmpResults[item.email] = { totalConsumption: 0, totalRequests: 0, totalErrors: 0}\r\n // multiply each avgConsumption by the numRequests to get the total weighted consumption\r\n tmpResults[item.email].totalConsumption += item.avgConsumption * item.totalRequests\r\n tmpResults[item.email].totalRequests += item.totalRequests;\r\n tmpResults[item.email].totalErrors += item.totalErrors\r\n })\r\n }\r\n\r\n for (const email in tmpResults) {\r\n const averageConsumption = AnalyticsKpiFactory.buildVerifiedWordAverageForUser(email)\r\n const averageErrors = AnalyticsKpiFactory.buildErrorCountForUser(email)\r\n // divide the total weighted consumption by the total number of requests\r\n // then divide by 6 to get the number of words\r\n averageConsumption.totalValue = tmpResults[email].totalConsumption / tmpResults[email].totalRequests / AppConfigService.getCharacterToWordsFactor()\r\n // divide the total number of errors by the total number of requests to get the average number of errors\r\n averageErrors.totalValue = tmpResults[email].totalErrors / tmpResults[email].totalRequests\r\n averageConsumptionResult.push(averageConsumption)\r\n averageErrorsResult.push(averageErrors)\r\n }\r\n\r\n return result\r\n }\r\n\r\n public static parseRephrasingServiceUsageKPIs(rephrasingData : any): AnalyticsKPIEntity[]{\r\n\r\n const result: AnalyticsKPIEntity[] = []\r\n if(rephrasingData == null){\r\n return result\r\n }\r\n const dataRequest = rephrasingData.RephrasingRequestByUser\r\n const dataApplied = rephrasingData.RephrasingAppliedByUser\r\n const dataRequestByPeriod = rephrasingData.RephrasingRequestByPeriod\r\n const dataAppliedByPeriod = rephrasingData.RephrasingAppliedByPeriod\r\n\r\n if(dataRequest != null && dataApplied != null){\r\n const requestKPI: AnalyticsKPIEntity = AnalyticsKpiFactory.buildRephrasingRequestServiceUsageKPIs()\r\n requestKPI.totalValue = this.computeRephrasingKPI(dataRequest)\r\n requestKPI.subCriteriaValues = this.computeRephrasingBySubperiod(dataRequestByPeriod)\r\n const appliedKPI: AnalyticsKPIEntity = AnalyticsKpiFactory.buildRephrasingAppliedServiceUsageKPIs()\r\n appliedKPI.totalValue = this.computeRephrasingKPI(dataApplied)\r\n appliedKPI.subCriteriaValues = this.computeRephrasingBySubperiod(dataAppliedByPeriod)\r\n const ratioKPI: AnalyticsKPIEntity = AnalyticsKpiFactory.buildRephrasingApplicationRatioKPIs()\r\n ratioKPI.totalValue = Math.round(appliedKPI.totalValue / requestKPI.totalValue * 100)\r\n ratioKPI.subCriteriaValues = this.computeRephrasingRatioMean(requestKPI.subCriteriaValues , appliedKPI.subCriteriaValues)\r\n ratioKPI.unitCharacter = \"%\"\r\n result.push(requestKPI)\r\n result.push(appliedKPI)\r\n result.push(ratioKPI)\r\n }\r\n\r\n return result\r\n }\r\n\r\n private static computeRephrasingRatioMean(dataRequest: any[] , dataApplied: any[]) :any[]{\r\n const result: any[] = []\r\n if(dataRequest.length == dataApplied.length){\r\n for (let i :number = 0 ; i < dataApplied.length ; i++){\r\n const ratio = dataRequest[i] == 0 ? 0 : dataApplied[i] / dataRequest[i] * 100 // prevent divide by 0\r\n result.push(ratio)\r\n }\r\n }\r\n return result\r\n }\r\n\r\n private static computeRephrasingBySubperiod(data: any) : any{\r\n const result : any = []\r\n for (const subperiodItemKey in data){\r\n let subperiodTotal = 0\r\n for (const emailItemKey of data[subperiodItemKey]){\r\n subperiodTotal += emailItemKey.docCount\r\n }\r\n result.push(subperiodTotal)\r\n }\r\n return result\r\n }\r\n private static computeRephrasingKPI(data: any) : number{\r\n let total = 0\r\n for (const userData of data){\r\n total += userData.docCount\r\n }\r\n return total\r\n }\r\n\r\n private static computeTotalErrorCountByType(errorObjs: any[], lang: string): any {\r\n const result: any = {}\r\n for (const kpiCode of EnumHelper.enumKeys(ErrorFirstLevelClassEnum)) {\r\n result[kpiCode] = 0\r\n }\r\n for (const errorObj of errorObjs) {\r\n const errorValue: ErrorFirstLevelClassEnum = ServiceUsageService.findErrorTypeFromCode(errorObj.errorCode, lang)\r\n const errorEnum: keyof typeof ErrorFirstLevelClassEnum = ErrorsFromCodes[errorValue]\r\n result[errorEnum] += errorObj.totalErrors\r\n }\r\n return result\r\n }\r\n\r\n private static findEvolutionKpiFromString(errorType: string, evolutionKPIs: AnalyticsKPIEntity[]): AnalyticsKPIEntity | undefined {\r\n const enumKey : keyof typeof ErrorFirstLevelClassEnum = (errorType as keyof typeof ErrorFirstLevelClassEnum)\r\n return evolutionKPIs.find(e => e.kpiId == ErrorFirstLevelClassEnum[enumKey])\r\n }\r\n\r\n private static findErrorTypeFromCode(errorCode: string, lang: string): ErrorFirstLevelClassEnum {\r\n const errorFirstLevelClassification : any = ErrorClassificationService.getErrorFirstLevelClassificationCodes(lang)\r\n return errorFirstLevelClassification[errorCode]\r\n }\r\n}","import {\r\n AnalyticsKPIEntity, \r\n ErrorClassificationService\r\n} from \"../../..\"\r\n\r\nexport class TopFiveErrorTypesService {\r\n\r\n /**\r\n * Creation of the top 5 error types\r\n * @param correctionData the data provided by the request to elastic\r\n * @returns the array of the 5 error types\r\n */\r\n public static parseTopFiveErrorTypes(correctionData: any, lang: string): AnalyticsKPIEntity[] {\r\n\r\n let result: AnalyticsKPIEntity[] = []\r\n const errorThirdLevelClassifications : any = ErrorClassificationService.getErrorThirdLevelClassificationCodes(lang)\r\n \r\n const detectedErrors = correctionData.DetectedErrors\r\n const appliedSuggestions = correctionData.AppliedSuggestions\r\n const usedData = correctionData.SearchByInner ? appliedSuggestions : detectedErrors\r\n\r\n const errorMap: Record = {};\r\n Object.keys(usedData).forEach( period => {\r\n const errors = usedData[period];\r\n\r\n errors.forEach((item: any) => {\r\n item.errorList.forEach((error: any) => {\r\n if (errorMap[error.errorCode]) {\r\n errorMap[error.errorCode] += error.totalErrors;\r\n } else {\r\n errorMap[error.errorCode] = error.totalErrors;\r\n }\r\n });\r\n });\r\n })\r\n\r\n // Sort the accumulated errors and slice the top five\r\n const topFiveErrors = Object.keys(errorMap)\r\n .map(key => ({ errorCode: key, totalErrors: errorMap[key] }))\r\n .sort((a, b) => b.totalErrors - a.totalErrors)\r\n .slice(0, 5);\r\n\r\n // Map the top five errors to AnalyticsKPIEntity instances\r\n result = topFiveErrors.map(error => new AnalyticsKPIEntity(\r\n errorThirdLevelClassifications[error.errorCode],'','',error.totalErrors\r\n ));\r\n\r\n // Handle empty result case\r\n if (result.length === 0) {\r\n for(let i = 0; i < 5; i++) {\r\n result[i] = new AnalyticsKPIEntity('--','', '', 0)\r\n }\r\n }\r\n return result\r\n }\r\n}","import {\r\n EnumHelper,\r\n AnalyticsKPIEntity\r\n} from \"../../..\"\r\nimport {\r\n AppAverageStatisticsEnum,\r\n AppServiceUsageEnum,\r\n AppRephrasingServiceUsageEnum\r\n} from \"..\"\r\n\r\nexport class AnalyticsKpiFactory {\r\n\r\n /**\r\n * Generates AnalyticsKPIEntity list associated to AppServiceUsageEnum. \r\n * @param owner The data owner KPI (optional).\r\n * @returns an AnalyticsKPIEntity list with default values.\r\n */\r\n public static buildServiceUsageKPIs (owner?: string): AnalyticsKPIEntity[] {\r\n const result: AnalyticsKPIEntity[] = []\r\n for (const kpiCode of EnumHelper.enumKeys(AppServiceUsageEnum)) {\r\n result.push(new AnalyticsKPIEntity(AppServiceUsageEnum[kpiCode], `app.analytics.service.usage.kpis.${AppServiceUsageEnum[kpiCode]}`, owner))\r\n }\r\n return result\r\n }\r\n\r\n /**\r\n * Generates AnalyticsKPIEntity list associated to ErrorFirstLevelClassEnum.\r\n * @param errorClassLevel The enumation with the associated error categories giving a classification level.\r\n * @param owner The data owner KPI (optional).\r\n * @returns an AnalyticsKPIEntity list with default values.\r\n */\r\n public static buildCorrectionByCategoryKPIs (errorClassLevel: any, owner?: string): AnalyticsKPIEntity[] {\r\n const result: AnalyticsKPIEntity[] = []\r\n for (const kpiCode of EnumHelper.enumKeys(errorClassLevel)) {\r\n result.push(new AnalyticsKPIEntity(errorClassLevel[kpiCode], `app.analytics.correction.kpis.nb-errors-found.${errorClassLevel[kpiCode]}`, owner))\r\n }\r\n return result\r\n }\r\n \r\n /**\r\n * Generate a AnalyticsKPIEntity with KpiId, KpiLabel to store the average number of verified words and initialise the owner of the KPI.\r\n * @param owner The data owner KPI (optional).\r\n * @returns The AnalyticsKPIEntity initialized instance.\r\n */\r\n public static buildVerifiedWordAverageForUser (owner: string): AnalyticsKPIEntity {\r\n return new AnalyticsKPIEntity(AppAverageStatisticsEnum.AVERAGE_VERIFIED_WORDS,`app.analytics.correction.kpis.${AppAverageStatisticsEnum.AVERAGE_VERIFIED_WORDS}`, owner)\r\n }\r\n\r\n /**\r\n * Generate a AnalyticsKPIEntity with KpiId, KpiLabel to store the average number of error found and initialise the owner of the KPI.\r\n * @param the mail of owner the owner of the kpi \r\n * @returns A AnalyticsKPIEntity with the field kpiId, kpiLabel and owner initialized for counting average error by user\r\n */\r\n public static buildErrorCountForUser (owner: string): AnalyticsKPIEntity {\r\n return new AnalyticsKPIEntity(AppAverageStatisticsEnum.AVERAGE_ERRORS,`app.analytics.correction.kpis.${AppAverageStatisticsEnum.AVERAGE_ERRORS}`, owner)\r\n }\r\n\r\n public static buildRephrasingRequestServiceUsageKPIs(owner?: string) : AnalyticsKPIEntity{\r\n return new AnalyticsKPIEntity(AppRephrasingServiceUsageEnum.NB_REPHRASING_REQUEST , `app.analytics.rephrasing.kpis.${AppRephrasingServiceUsageEnum.NB_REPHRASING_REQUEST}`, owner)\r\n }\r\n\r\n public static buildRephrasingAppliedServiceUsageKPIs(owner?: string) : AnalyticsKPIEntity{\r\n return new AnalyticsKPIEntity(AppRephrasingServiceUsageEnum.NB_REPHRASING_APPLIED , `app.analytics.rephrasing.kpis.${AppRephrasingServiceUsageEnum.NB_REPHRASING_APPLIED}`, owner)\r\n }\r\n\r\n public static buildRephrasingApplicationRatioKPIs(owner?: string) : AnalyticsKPIEntity{\r\n return new AnalyticsKPIEntity(AppRephrasingServiceUsageEnum.REPHRASING_APPLICATION_RATIO , `app.analytics.rephrasing.kpis.${AppRephrasingServiceUsageEnum.REPHRASING_APPLICATION_RATIO}`, owner)\r\n }\r\n}\r\n ","\r\nimport ErrorFirstLevelCodes_fr from '../models/error-first-level/ErrorFirstLevelCodes_fr'\r\nimport ErrorFirstLevelCodes_en from '../models/error-first-level/ErrorFirstLevelCodes_en'\r\nimport ErrorFirstLevelCodes_es from '../models/error-first-level/ErrorFirstLevelCodes_es'\r\nimport ErrorFirstLevelCodes_de from '../models/error-first-level/ErrorFirstLevelCodes_de'\r\nimport ErrorFirstLevelCodes_it from '../models/error-first-level/ErrorFirstLevelCodes_it'\r\nimport ErrorFirstLevelCodes_nl from '../models/error-first-level/ErrorFirstLevelCodes_nl'\r\n\r\nimport ErrorThirdLevelCodes_fr from '../models/error-third-level/ErrorThirdLevelCodes_fr'\r\nimport ErrorThirdLevelCodes_en from '../models/error-third-level/ErrorThirdLevelCodes_en'\r\nimport ErrorThirdLevelCodes_es from '../models/error-third-level/ErrorThirdLevelCodes_es'\r\nimport ErrorThirdLevelCodes_de from '../models/error-third-level/ErrorThirdLevelCodes_de'\r\nimport ErrorThirdLevelCodes_it from '../models/error-third-level/ErrorThirdLevelCodes_it'\r\nimport ErrorThirdLevelCodes_nl from '../models/error-third-level/ErrorThirdLevelCodes_nl'\r\n\r\nexport class ErrorClassificationService {\r\n\r\n /**\r\n * Return all first level classification codes for a given lang\r\n * The first level classification is the category associated to an error code\r\n * @param lang correction lang\r\n * @returns a json containing the list of all first level classification codes\r\n */\r\n public static getErrorFirstLevelClassificationCodes(lang: string): any {\r\n\r\n switch(lang){\r\n case 'fr':\r\n return ErrorFirstLevelCodes_fr\r\n case 'en':\r\n return ErrorFirstLevelCodes_en\r\n case 'es':\r\n return ErrorFirstLevelCodes_es\r\n case 'de':\r\n return ErrorFirstLevelCodes_de\r\n case 'it':\r\n return ErrorFirstLevelCodes_it\r\n case 'nl':\r\n return ErrorFirstLevelCodes_nl\r\n default :\r\n return ErrorFirstLevelCodes_fr\r\n }\r\n }\r\n\r\n /**\r\n * Return all third level classification codes for a given lang\r\n * The third level classification is the error description associated to an error code\r\n * @param lang correction lang\r\n * @returns a json containing the list of all third level classification codes\r\n */\r\n public static getErrorThirdLevelClassificationCodes(lang: string): any {\r\n\r\n switch(lang){\r\n case 'fr':\r\n return ErrorThirdLevelCodes_fr\r\n case 'en':\r\n return ErrorThirdLevelCodes_en\r\n case 'es':\r\n return ErrorThirdLevelCodes_es\r\n case 'de':\r\n return ErrorThirdLevelCodes_de\r\n case 'it':\r\n return ErrorThirdLevelCodes_it\r\n case 'nl':\r\n return ErrorThirdLevelCodes_nl\r\n default :\r\n return ErrorThirdLevelCodes_fr\r\n }\r\n }\r\n\r\n\r\n}","import { EnumHelper } from \"@/common/utils\"\r\nimport { ErrorFirstLevelClassEnum } from \"../models/ErrorClassificationLevelsEnum\"\r\nimport { TeamKPIsService } from \"./TeamKPIsService\"\r\nimport { AppServiceUsageEnum } from \"../models/AppAnalyticsEnum\"\r\n\r\nexport interface UserKPIs {\r\n totalConsumption: number\r\n totalRequests: number\r\n totalErrors: number\r\n typeErrors: any\r\n totalAppliedSuggestions?: number\r\n}\r\n\r\nexport class ExportKPIsService {\r\n\r\n /**\r\n * Generates the object with the tenant service usage related KPIs values.\r\n * @param correctionData The raw query results from Analytics backend\r\n * @returns a dictionary containing all data queried with every user's email as key.\r\n */\r\n public static parseExportAllQueryResult(correctionData: any, lang : string) {\r\n\r\n // Data we need are the same as the one in the team table\r\n const teampKPIs = TeamKPIsService.parseTeamKPIs(correctionData, lang)\r\n\r\n // We just need to compute total consumption for each user\r\n Object.keys(correctionData.DetectedErrors).forEach( period => {\r\n const errors = correctionData.DetectedErrors[period];\r\n errors.forEach((item: any) => {\r\n // find the user in the teamKPIs\r\n const user = teampKPIs.find((user: any) => user.owner === item.email)\r\n // find index of this user in teamKPIs\r\n const index = teampKPIs.indexOf(user)\r\n // append the total consumption to teamKPIs\r\n if(index > -1) teampKPIs[index][\"totalConsumption\"] = (teampKPIs[index][\"totalConsumption\"] || 0) + item.totalConsumption\r\n })\r\n })\r\n\r\n const result : any = {}\r\n\r\n // Then build the final result object\r\n teampKPIs.forEach((user: any) => {\r\n const email = user.owner\r\n const totalRequests: number = user[AppServiceUsageEnum.NB_CORRECTION_REQUESTS]\r\n const totalErrors: number = user[AppServiceUsageEnum.NB_ERRORS_FOUND]\r\n const totalAppliedSuggestions: number = user[AppServiceUsageEnum.NB_APPLIED_SUGGESTIONS]\r\n const totalConsumption : number = user[\"totalConsumption\"]\r\n const typesErrors : any = {}\r\n typesErrors[ErrorFirstLevelClassEnum.SPELLING] = user[ErrorFirstLevelClassEnum.SPELLING]\r\n typesErrors[ErrorFirstLevelClassEnum.TYPOGRAPHY] = user[ErrorFirstLevelClassEnum.TYPOGRAPHY]\r\n typesErrors[ErrorFirstLevelClassEnum.SYNTAX] = user[ErrorFirstLevelClassEnum.SYNTAX]\r\n\r\n const userKPIs: UserKPIs = {\r\n totalConsumption: totalConsumption,\r\n totalRequests: totalRequests,\r\n totalErrors: totalErrors,\r\n totalAppliedSuggestions: totalAppliedSuggestions,\r\n typeErrors: { ...typesErrors }\r\n };\r\n result[email] = userKPIs\r\n })\r\n\r\n return result\r\n }\r\n}\r\n","export interface UserKPIs {\r\n totalConsumption: number\r\n totalRequests: number\r\n totalErrors: number\r\n typeErrors: any\r\n totalAppliedSuggestions?: number\r\n}\r\n\r\nexport class AvailableLangsService {\r\n\r\n /**\r\n * Generates the list of available langs\r\n * If every indexed document has no lang field value, return \"fr\"\r\n * @param queryResult The raw query results from ElasticSearch\r\n * @returns a list of available langs\r\n */\r\n public static parseAvailableLangs(queryResult: any) {\r\n const { response } = queryResult\r\n\r\n const langs = response.data ?? [];\r\n\r\n const availableLangs : string[] = []\r\n\r\n langs.forEach((lang: any) => {\r\n availableLangs.push(lang)\r\n });\r\n\r\n if(availableLangs.length == 0){\r\n availableLangs.push(\"fr\")\r\n }\r\n\r\n return availableLangs\r\n }\r\n}\r\n","import {\r\n AppServiceUsageEnum,\r\n ErrorViewModel,\r\n AnalyticsKPIEntity,\r\n Connector,\r\n HttpRequestError,\r\n OAuth2Service,\r\n toHttpRequest,\r\n} from '../../..'\r\nimport {\r\n ServiceUsageService,\r\n TopFiveErrorTypesService,\r\n TeamKPIsService,\r\n ErrorClassificationLevelEnum,\r\n} from '../../../'\r\nimport { ExportKPIsService } from '../services/ExportKPIsService'\r\nimport { AvailableLangsService } from '../services/AvailableLangsService'\r\n\r\n\r\nexport interface IAnalyticsActions {\r\n /**\r\n * Action triggered to execute a data search. Start the pipeline of data fetch. From the bulding \r\n * of all the query to sending of the request.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param query The type of query to be fetched\r\n */\r\n sendAnalyticsQuery(storeFunctions: any, query: string): any\r\n /**\r\n * Execute the query request given the query prepared in previous actions.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param requestParams The query filter conditions to add.\r\n * @param query The type of query to be fetched\r\n */\r\n fetchAnalyticsData(storeFunctions: any, requestInfo: any): any\r\n /**\r\n * Action triggered when search workflow has failed and requires a snack bar display.\r\n * @param payload Action payload to use.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n handleMainKPIData(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when search workflow has failed and requires a snack bar display.\r\n * @param payload Action payload to use.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n handleExportAllData(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when fetching list of available langs\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n handleAvailableLangs(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when search workflow has failed and requires a snack bar display.\r\n * @param payload Action payload to use.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n handleSnackBarError(storeFunctions: any, payload: any): any\r\n /**\r\n * Action triggered when search has failed and requires a page redirection.\r\n * @param payload Action payload to use.\r\n * @param storeFunctions Commit, dispatch and getters functions to apply changes into the store.\r\n */\r\n handlePageError(storeFunctions: any, payload: any): any\r\n /**\r\n * Action definition triggered when user successfully logout the application.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n clearAnalyticsData(storeFunctions: any): any\r\n\r\n /**\r\n * Set the request in progress status to true\r\n * @param storeFunctions \r\n */\r\n setRequestInProgress(storeFunctions: any): any\r\n}\r\n\r\nexport const AnalyticsActions: IAnalyticsActions = {\r\n sendAnalyticsQuery({ commit, rootState, dispatch }, query) {\r\n commit('CORRECTION_LOGS_REQUEST_IN_PROGRESS')\r\n const tenantName: string = rootState.usrSess.tenantName\r\n const dateFrom: Date = rootState.searchFilters.dateFrom\r\n const dateTo: Date = rootState.searchFilters.dateTo\r\n const emails: string[] = rootState.customSearchFilters.selectedUsers\r\n const lang: string = rootState.searchFilters.lang\r\n const requestParams = {\r\n tenantName,\r\n dateFrom,\r\n dateTo,\r\n emails,\r\n lang\r\n }\r\n const requestInfo = {query, requestParams}\r\n // Call fetch method\r\n dispatch('fetchAnalyticsData', requestInfo)\r\n },\r\n\r\n async fetchAnalyticsData({ rootState, state, dispatch }, requestInfo: any) {\r\n const { dateFrom, dateTo, tenantName, emails, lang } = requestInfo.requestParams\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n \r\n if (token) {\r\n let body: any = { tenantName };\r\n let endpoint: string = \"\";\r\n switch(requestInfo.query){\r\n case 'exportAll':\r\n endpoint = 'export'\r\n body = { ...body, dateFrom, dateTo };\r\n break\r\n case 'getAvailableLangs':\r\n endpoint = 'langs'\r\n body = { ...body, emails };\r\n break\r\n default:\r\n endpoint = 'all'\r\n body = { ...body, dateFrom, dateTo, emails, lang };\r\n break;\r\n }\r\n \r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().post(`/v1/analytics/${endpoint}`, token, refreshtoken, JSON.stringify(body)))\r\n \r\n if (err) {\r\n dispatch('handleSnackBarError', { err })\r\n } else {\r\n // dispatch to appropriate action based on query\r\n switch (requestInfo.query) {\r\n case 'exportAll':\r\n dispatch('handleExportAllData', { response, lang })\r\n break\r\n case 'getAvailableLangs':\r\n dispatch('handleAvailableLangs', { response })\r\n break\r\n default:\r\n dispatch('handleMainKPIData', { response, lang })\r\n }\r\n }\r\n }\r\n },\r\n\r\n handleMainKPIData({ commit }, payload) {\r\n \r\n const data = payload.response.data;\r\n const correctionData = data.Correction;\r\n const rephrasingData = data.Rephrasing;\r\n const lang = payload.lang;\r\n\r\n // I. Build Team progress view (table) data\r\n // Team progress view (table)\r\n const teamKPIs : any[] = TeamKPIsService.parseTeamKPIs(correctionData, lang)\r\n commit('SET_TEAM_FOLLOW_UP_KPIS', teamKPIs)\r\n\r\n const teamRephrasingKPIs = TeamKPIsService.parseTeamRephrasingKPIs(rephrasingData, lang)\r\n commit('SET_TEAM_REPHRASING_KPIS', teamRephrasingKPIs)\r\n\r\n // II. Build Analytcis view (KPI & graphs) data\r\n // 1. Build correction service usage\r\n const serviceUsageKPIs: AnalyticsKPIEntity[] = ServiceUsageService.parseServiceUsage(correctionData)\r\n commit('SET_SERVICE_USAGE_KPIS', serviceUsageKPIs)\r\n // 2. Build Top 5\r\n const topFiveErrorTypesKPIs: AnalyticsKPIEntity[] = TopFiveErrorTypesService.parseTopFiveErrorTypes(correctionData, lang)\r\n commit('SET_TOP_FIVE_ERROR_TYPES', topFiveErrorTypesKPIs)\r\n // 3. Build Evolution graph data (histogram)\r\n const evolutionKPIs: AnalyticsKPIEntity[] = ServiceUsageService.parseEvolutionKPIs(correctionData, lang)\r\n commit('SET_EVOLUTION_KPIS', evolutionKPIs)\r\n // 4. Build average quality data (scatter plot)\r\n const averageKPIs: any = ServiceUsageService.parseAverageKPIs(correctionData)\r\n commit('SET_VERIFIED_WORDS_AVERAGE', averageKPIs.averageConsumptionResult)\r\n commit('SET_ERROR_COUNT_AVERAGE', averageKPIs.averageErrorsResult)\r\n // 5. Build rephrasing service usage\r\n const rephrasingServiceUsageKPI: AnalyticsKPIEntity[] = ServiceUsageService.parseRephrasingServiceUsageKPIs(rephrasingData)\r\n commit('SET_REPHRASING_SERVICE_USAGE_KPIS', rephrasingServiceUsageKPI)\r\n },\r\n\r\n handleExportAllData({ commit, dispatch }, payload) {\r\n const { response } = payload;\r\n if (!response.data || response.status !== 200){\r\n dispatch('handleSnackBarError', {err: {errI18NMsg: 'app.common.error.server.request.failed'}})\r\n } else {\r\n const tenantFollowUpKPIs = ExportKPIsService.parseExportAllQueryResult(payload.response.data.Correction, payload.lang)\r\n commit('SET_TENANT_FOLLOW_UP_KPIS', tenantFollowUpKPIs)\r\n }\r\n },\r\n\r\n handleAvailableLangs({ dispatch }, payload) {\r\n const { response } = payload;\r\n if (!response.data || response.status !== 200){\r\n dispatch('handleSnackBarError', {err: {errI18NMsg: 'app.common.error.server.request.failed'}})\r\n } else {\r\n const availableLangs = AvailableLangsService.parseAvailableLangs(payload)\r\n dispatch('searchFilters/setAvailableLangs', availableLangs, { root: true })\r\n }\r\n },\r\n\r\n handleSnackBarError({ commit, dispatch }, { err }) {\r\n commit('CORRECTION_LOGS_REQUEST_END')\r\n const snackBarError: ErrorViewModel = new ErrorViewModel(err.errI18NMsg, err)\r\n dispatch('viewState/setSnackBarError', { viewError: snackBarError }, { root: true })\r\n },\r\n\r\n handlePageError({ commit, dispatch }, { err }) {\r\n commit('CORRECTION_LOGS_REQUEST_END')\r\n const pageError: ErrorViewModel = new ErrorViewModel(err.errI18NMsg, err)\r\n dispatch('viewState/setPageError', { viewError: pageError }, { root: true })\r\n },\r\n\r\n clearAnalyticsData({ commit }) {\r\n commit('REMOVE_ANALYTICS_DATA')\r\n },\r\n\r\n setRequestInProgress({ commit }) {\r\n commit('CORRECTION_LOGS_REQUEST_IN_PROGRESS')\r\n }\r\n}\r\n","import {\r\n AnalyticsKPIEntity\r\n} from '../../..'\r\n\r\nexport interface IAnalyticsState {\r\n /** \r\n * Indicates whether the user authentication request is in progress or not \r\n */\r\n isRequestInProgress: boolean\r\n /** \r\n * The global service usage KPI values for all users in filter : total verification requests,\r\n * total errors done, total corrections applied, etc.\r\n */\r\n serviceUsageKPIs?: AnalyticsKPIEntity[]\r\n /**\r\n * Rephrasing service usage\r\n */\r\n rephrasingServiceUsage?: AnalyticsKPIEntity[]\r\n /**\r\n * The team rephrasing errors global KPI values.\r\n */\r\n teamRephrasingKPIs?: any[]\r\n /** \r\n * The global correction errors KPI values for all users in filter following an specific error\r\n * classification level : spelling errors number, grammar errors number, etc.\r\n */\r\n evolutionKPIs?: AnalyticsKPIEntity[]\r\n /**\r\n * The team service usage and correction errors global KPI values.\r\n */\r\n teamFollowUpKPIs?: any[]\r\n /**\r\n * The entire tenant service usage and correction errors global KPI values.\r\n */\r\n tenantFollowUpKPIs?: any[]\r\n /**\r\n * The average quality writing KPI is computed using the number of errors found.\r\n */\r\n teamErrorFoundAverage?: AnalyticsKPIEntity[]\r\n /**\r\n * The average quality writing KPI is computed using the number of words verfied.\r\n */\r\n teamVerifiedWordsAverage?: AnalyticsKPIEntity[]\r\n /**\r\n * The TopFive error types KPIs values giving the target filters search.\r\n */\r\n topFiveErrorTypes?: AnalyticsKPIEntity[]\r\n}\r\n\r\nexport const AnalyticsDefaultState = (): IAnalyticsState => {\r\n return {\r\n isRequestInProgress: false,\r\n serviceUsageKPIs: undefined,\r\n rephrasingServiceUsage: undefined,\r\n teamRephrasingKPIs: undefined,\r\n evolutionKPIs: undefined,\r\n teamFollowUpKPIs: undefined,\r\n tenantFollowUpKPIs: undefined,\r\n teamErrorFoundAverage: undefined,\r\n teamVerifiedWordsAverage: undefined,\r\n topFiveErrorTypes: undefined\r\n }\r\n}\r\n","import {\r\n AnalyticsKPIEntity\r\n} from '../../../'\r\nimport {\r\n IAnalyticsState\r\n} from '.'\r\n\r\nexport interface IAnalyticsGetters {\r\n /**\r\n * Gets the data loading in progress indicator.\r\n * @param state Current state.\r\n * @returns TRUE if a query is in progress. FALSE otherwise.\r\n */\r\n isRequestInProgress(state: IAnalyticsState): boolean\r\n /**\r\n * Gets the team FollowUpKPIs.\r\n * @param state Current state.\r\n * @returns An instance of the teamFollowUpKPIs state\r\n */\r\n teamFollowUpKPIs(state: IAnalyticsState): any[] | undefined\r\n /**\r\n * Gets the tenant FollowUpKPIs.\r\n * @param state Current state.\r\n * @returns An instance of the teamFollowUpKPIs state\r\n */\r\n tenantFollowUpKPIs(state: IAnalyticsState): any[] | undefined\r\n /**\r\n * Gets the serviceUsageKPIs values.\r\n * @param state Current state.\r\n * @returns An instance of the teamFollowUpKPIs state\r\n */\r\n serviceUsageKPIs(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined\r\n\r\n /**\r\n * Gets the rephrasingServiceUsageKPIs values\r\n * @param state \r\n */\r\n rephrasingServiceUsageKPIs(state: IAnalyticsState): AnalyticsKPIEntity[]| undefined\r\n /**\r\n * Gets the rephrasingServiceUsageKPIs values\r\n * @param state \r\n */\r\n teamRephrasingKPIs(state: IAnalyticsState): string[]| undefined\r\n /**\r\n * Get if ther is rephrasing values for users selected\r\n * @param state \r\n */\r\n hasRephrasingValues(state: IAnalyticsState): boolean\r\n /**\r\n * Gets the evolutionKPIs values.\r\n * @param state Current state.\r\n * @returns An instance of the top five erro types state\r\n */\r\n evolutionKPIs(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined\r\n /**\r\n * Gets the top five error types values.\r\n * @param state Current state.\r\n * @returns An instance of the top five erro types state\r\n */\r\n topFiveErrorTypes(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined\r\n /**\r\n * Gets the errorFoundAverage values.\r\n * @param state Current state.\r\n * @returns An instance of the errorFoundAverage state\r\n */\r\n errorFoundAverage(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined\r\n /**\r\n * Gets the verifiedWordsAverage values.\r\n * @param state Current state.\r\n * @returns An instance of the verifiedWordsAverage state\r\n */\r\n verifiedWordsAverage (state: IAnalyticsState): AnalyticsKPIEntity[] | undefined\r\n}\r\n\r\nexport const AnalyticsGetters: IAnalyticsGetters = {\r\n\r\n isRequestInProgress(state: IAnalyticsState): boolean {\r\n return state.isRequestInProgress\r\n },\r\n\r\n teamFollowUpKPIs(state: IAnalyticsState): any[] | undefined {\r\n return state.teamFollowUpKPIs\r\n },\r\n\r\n tenantFollowUpKPIs(state: IAnalyticsState): any[] | undefined {\r\n return state.tenantFollowUpKPIs\r\n },\r\n\r\n serviceUsageKPIs(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined {\r\n return state.serviceUsageKPIs\r\n },\r\n\r\n rephrasingServiceUsageKPIs(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined {\r\n return state.rephrasingServiceUsage\r\n },\r\n\r\n teamRephrasingKPIs(state: IAnalyticsState): string[] | undefined {\r\n return state.teamRephrasingKPIs\r\n },\r\n\r\n hasRephrasingValues(state: IAnalyticsState): boolean {\r\n if(state.rephrasingServiceUsage && state.rephrasingServiceUsage.length > 0 ){\r\n return state.rephrasingServiceUsage[0].totalValue > 0\r\n }\r\n return false\r\n },\r\n\r\n evolutionKPIs(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined {\r\n return state.evolutionKPIs\r\n },\r\n\r\n topFiveErrorTypes(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined {\r\n return state.topFiveErrorTypes\r\n },\r\n\r\n errorFoundAverage(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined {\r\n return state.teamErrorFoundAverage\r\n },\r\n\r\n verifiedWordsAverage(state: IAnalyticsState): AnalyticsKPIEntity[] | undefined {\r\n return state.teamVerifiedWordsAverage\r\n }\r\n\r\n}\r\n","import {\r\n AnalyticsKPIEntity,\r\n IAnalyticsState\r\n} from '../../..'\r\n\r\nexport interface IAnalyticsMutations {\r\n /**\r\n * Sets isLoading state for the request before server response.\r\n * @param state Current state to update.\r\n */\r\n CORRECTION_LOGS_REQUEST_IN_PROGRESS(state: IAnalyticsState): void\r\n /**\r\n * Sets no Loading state for the request after server response.\r\n * @param state Current state to update.\r\n */\r\n CORRECTION_LOGS_REQUEST_END(state: IAnalyticsState): void\r\n /**\r\n * Sets the team service usage and correction errors by category KPI values.\r\n * @param state Current state to update.\r\n */\r\n SET_TEAM_FOLLOW_UP_KPIS(state: IAnalyticsState, teamFollowUpKPIs: any | undefined): void\r\n /**\r\n * Sets the service usage and correction errors data for all the users from the current tenant.\r\n * @param state Current state to update.\r\n */\r\nSET_TENANT_FOLLOW_UP_KPIS(state: IAnalyticsState, tenantFollowUpKPIs: any | undefined): void\r\n/**\r\n * Sets the global correction errors KPI values for all users in filter following an specific error\r\n * classification level : spelling errors number, grammar errors number, etc.\r\n * @param state Current state to update.\r\n */\r\n SET_EVOLUTION_KPIS(state: IAnalyticsState, evolutionKPIs: AnalyticsKPIEntity[] | undefined): void\r\n /**\r\n * Sets the global service usage KPI values for all users in filter : total verification requests,\r\n * total errors done, total corrections applied, etc.\r\n * @param state Current state to update.\r\n */\r\n SET_SERVICE_USAGE_KPIS(state: IAnalyticsState, serviceUsageKPIs: AnalyticsKPIEntity[] | undefined): void\r\n /**\r\n * set the rephrasingServiceUsage value\r\n * @param state \r\n * @param rephrasingServiceUsage \r\n */\r\n SET_TEAM_REPHRASING_KPIS(state: IAnalyticsState, teamRephrasingKPIs: string[] | undefined): void\r\n /**\r\n * set the teamRephrasingKPIs value\r\n * @param state \r\n * @param teamRephrasingKPIs \r\n */\r\n SET_REPHRASING_SERVICE_USAGE_KPIS(state: IAnalyticsState, teamRephrasingKPIs: AnalyticsKPIEntity[] | undefined): void\r\n /**\r\n * Sets the top five error types KPI.\r\n * @param state Current state to update.\r\n */\r\n SET_TOP_FIVE_ERROR_TYPES(state: IAnalyticsState, topFiveErrorTypes: AnalyticsKPIEntity[] | undefined): void\r\n /**\r\n * Set the team verified words average KPI value.\r\n * @param state Current state to update.\r\n * @param verifiedWordsAverage The KPI value.\r\n */\r\n SET_VERIFIED_WORDS_AVERAGE(state: IAnalyticsState, verifiedWordsAverage: AnalyticsKPIEntity[] | undefined): void\r\n /**\r\n * set the teamErrorFoundAverage value\r\n * @param state Current state to update.\r\n * @param errorCountAverage The KPI value\r\n */\r\n SET_ERROR_COUNT_AVERAGE(state: IAnalyticsState, errorCountAverage: AnalyticsKPIEntity[] | undefined): void\r\n \r\n\r\n /**\r\n * Removes KPIs data when user logout the application.\r\n * @param state Current state to update.\r\n */\r\n REMOVE_ANALYTICS_DATA(state: IAnalyticsState): void\r\n}\r\n\r\nexport const AnalyticsMutations: IAnalyticsMutations = {\r\n CORRECTION_LOGS_REQUEST_IN_PROGRESS: (state: IAnalyticsState) => {\r\n state.isRequestInProgress = true\r\n },\r\n\r\n SET_TEAM_FOLLOW_UP_KPIS: (state: IAnalyticsState, teamFollowUpKPIs: any | undefined) => {\r\n state.teamFollowUpKPIs = teamFollowUpKPIs\r\n state.isRequestInProgress = false\r\n },\r\n\r\n SET_TENANT_FOLLOW_UP_KPIS: (state: IAnalyticsState, tenantFollowUpKPIs: any | undefined) => {\r\n state.tenantFollowUpKPIs = tenantFollowUpKPIs\r\n state.isRequestInProgress = false\r\n },\r\n\r\n SET_EVOLUTION_KPIS: (state: IAnalyticsState, evolutionKPIs: AnalyticsKPIEntity[] | undefined) => {\r\n state.evolutionKPIs = evolutionKPIs\r\n state.isRequestInProgress = false\r\n },\r\n\r\n SET_SERVICE_USAGE_KPIS: (state: IAnalyticsState, serviceUsageKPIs: AnalyticsKPIEntity[] | undefined) => {\r\n state.serviceUsageKPIs = serviceUsageKPIs\r\n state.isRequestInProgress = false\r\n },\r\n\r\n SET_TEAM_REPHRASING_KPIS:(state: IAnalyticsState, teamRephrasingKPIs: string[] | undefined) => {\r\n state.teamRephrasingKPIs = teamRephrasingKPIs\r\n },\r\n \r\n SET_REPHRASING_SERVICE_USAGE_KPIS:(state: IAnalyticsState, rephrasingServiceUsage: AnalyticsKPIEntity[] | undefined) => {\r\n state.rephrasingServiceUsage = rephrasingServiceUsage\r\n },\r\n\r\n SET_TOP_FIVE_ERROR_TYPES: (state: IAnalyticsState, topFiveErrorTypes: AnalyticsKPIEntity[] | undefined) => {\r\n state.topFiveErrorTypes = topFiveErrorTypes\r\n state.isRequestInProgress = false\r\n },\r\n \r\n SET_VERIFIED_WORDS_AVERAGE: (state: IAnalyticsState, verifiedWordsAverage: AnalyticsKPIEntity[] | undefined) => {\r\n state.teamVerifiedWordsAverage = verifiedWordsAverage\r\n state.isRequestInProgress = false\r\n },\r\n\r\n SET_ERROR_COUNT_AVERAGE: (state: IAnalyticsState, errorCountAverage: AnalyticsKPIEntity[] | undefined) => {\r\n state.teamErrorFoundAverage = errorCountAverage\r\n state.isRequestInProgress = false\r\n },\r\n\r\n CORRECTION_LOGS_REQUEST_END: (state: IAnalyticsState) => {\r\n state.isRequestInProgress = false\r\n },\r\n REMOVE_ANALYTICS_DATA: (state: IAnalyticsState) => {\r\n state.isRequestInProgress = false\r\n state.serviceUsageKPIs = undefined\r\n state.evolutionKPIs = undefined\r\n state.teamFollowUpKPIs = undefined\r\n state.tenantFollowUpKPIs = undefined\r\n state.teamErrorFoundAverage = undefined\r\n state.teamVerifiedWordsAverage = undefined\r\n state.topFiveErrorTypes = undefined\r\n }\r\n}\r\n","import {\r\n Module\r\n} from 'vuex'\r\nimport {\r\n AnalyticsDefaultState,\r\n IAnalyticsState\r\n} from './state'\r\nimport {\r\n AnalyticsActions\r\n} from './actions'\r\nimport {\r\n AnalyticsGetters\r\n} from './getters'\r\nimport {\r\n AnalyticsMutations\r\n} from './mutations'\r\nimport {\r\n IState\r\n} from '../../..'\r\n\r\nexport const analytics: Module = {\r\n namespaced: true,\r\n actions: {\r\n ...AnalyticsActions\r\n },\r\n getters: {\r\n ...AnalyticsGetters\r\n },\r\n state: {\r\n ...AnalyticsDefaultState()\r\n },\r\n mutations: {\r\n ...AnalyticsMutations\r\n }\r\n}\r\n","export enum MainAppFeaturesEnum {\r\n HOME = 'home',\r\n ANALYTICS = 'analytics',\r\n TEAM = 'team',\r\n REPHRASE = 'rephrase',\r\n LICENSES = 'licenses',\r\n}\r\n\r\nexport const MainAppFeaturesEnumIconFromEnum: {[featureName: string]: string} = {\r\n 'home': 'mdi-account-star',\r\n 'analytics': 'mdi-trending-up',\r\n 'team': 'mdi-account-multiple',\r\n 'rephrase': 'mdi-text-box-search',\r\n 'licenses': 'mdi-key-chain-variant',\r\n}\r\n\r\nexport enum LoggedUserFeaturesEnum {\r\n LOGOUT = 'logout',\r\n SUBSCRIPTION = 'subscription'\r\n}\r\n\r\nexport const LoggedUserFeaturesEnumIconFromEnum: {[featureName: string]: string} = {\r\n 'logout': 'mdi-exit-to-app',\r\n 'subscription': 'mdi-card-account-details-outline'\r\n}\r\n","export enum AppFeatureGroupsEnum {\r\n SETTING = 'setting',\r\n MONITORING = 'monitoring',\r\n LOGGED_USER = 'loggedUser',\r\n}\r\n\r\nexport const AppFeatureGroupIconFromEnum: {[group: string]: string} = {\r\n 'setting': 'mdi-account-wrench',\r\n 'monitoring': 'mdi-trending-up',\r\n 'loggedUser': 'mdi-dots-vertical',\r\n}\r\nexport default AppFeatureGroupsEnum\r\n","export enum RolesEnum {\r\n SUPER_ADMIN= 'admin-cordial',\r\n USER= 'correction-cordial',\r\n SUPERVISOR= 'stats-correction-cordial',\r\n LICENSE_MANAGER = 'licenses-manager',\r\n EXPORT_ALL = 'export-all',\r\n MANAGE_SUBSCRIPTION = 'manage-subscription',\r\n REPHRASE_EDITOR = 'rephrase-editor',\r\n}\r\n\r\nexport const RolesFromServerIndex: {[id: number]: string} = {\r\n 0: RolesEnum.SUPER_ADMIN,\r\n 1: RolesEnum.USER,\r\n 2: RolesEnum.SUPERVISOR,\r\n 3: RolesEnum.LICENSE_MANAGER,\r\n 4: RolesEnum.EXPORT_ALL,\r\n 5: RolesEnum.MANAGE_SUBSCRIPTION,\r\n 6: RolesEnum.REPHRASE_EDITOR,\r\n}\r\n\r\nexport const RoleLevel: {[roleName: string]: number} = {\r\n 'export-all': 0,\r\n 'manage-subscription': 0,\r\n 'correction-cordial' : 1,\r\n 'stats-correction-cordial' : 2,\r\n 'licenses-manager' : 3,\r\n 'rephrase-editor' : 4,\r\n 'admin-cordial' : 4,\r\n}\r\n\r\nexport default RolesEnum\r\n","import {\r\n RoleLevel,\r\n IFeaturesConfigService,\r\n FeaturesConfigHelper,\r\n FeaturesFactory,\r\n PermissionService,\r\n FeatureGroupEntity,\r\n AppFeatureGroupsEnum,\r\n AppFeatureGroupIconFromEnum,\r\n MainAppFeaturesEnum,\r\n MainAppFeaturesEnumIconFromEnum,\r\n LoggedUserFeaturesEnum,\r\n LoggedUserFeaturesEnumIconFromEnum\r\n} from '../../..'\r\n\r\n/**\r\n * The FeaturesConfigService is in charge of the configuration of application features.\r\n */\r\nexport class FeaturesConfigService implements IFeaturesConfigService {\r\n /**\r\n * Instantiates the features groups instances to be displayed in main menu.\r\n * @param loggedUserRole The logged user param to use for selection of authorized features. \r\n * @returns A list of FeatureGroupEntity loaded with the associated\r\n * FeatureEntity. If no feature entity autorized for a group,this one \r\n * is not instantiated. Empty list whether logged user has no features authorized.\r\n */\r\n public getMainMenuFeatureGroups(loggedUserRole: string): FeatureGroupEntity[] {\r\n const groupFeats: FeatureGroupEntity[] = []\r\n const featGroup = FeaturesFactory.buildFeatureGroup(`app.menu.feature.group.${AppFeatureGroupsEnum.MONITORING}`,\r\n AppFeatureGroupsEnum.MONITORING,\r\n AppFeatureGroupIconFromEnum[AppFeatureGroupsEnum.MONITORING],\r\n MainAppFeaturesEnum,\r\n '',\r\n MainAppFeaturesEnumIconFromEnum)\r\n\r\n featGroup.features = FeaturesConfigHelper.selectAuthorizedFeatures(loggedUserRole, featGroup.features, RoleLevel, PermissionService.featuresPermissionLevel)\r\n if (featGroup.features.length > 0) {\r\n groupFeats.push(featGroup)\r\n }\r\n return groupFeats\r\n }\r\n\r\n /**\r\n * Instantiates the features groups instances to be displayed in side panel menu.\r\n * @param loggedUserRole The logged user param to use for selection of authorized features. \r\n * @returns A list of FeatureGroupEntity loaded with the associated\r\n * FeatureEntity. If no feature entity autorized for a group,this one \r\n * is not instantiated. Empty list whether logged user has no features authorized.\r\n */\r\n public getTopBarDropdownMenuFeatureGroups(loggedUserRole: string): FeatureGroupEntity[] {\r\n const groupFeats: FeatureGroupEntity[] = []\r\n const featGroup = FeaturesFactory.buildFeatureGroup(`app.menu.feature.group.${AppFeatureGroupsEnum.LOGGED_USER}`,\r\n AppFeatureGroupsEnum.LOGGED_USER,\r\n AppFeatureGroupIconFromEnum[AppFeatureGroupsEnum.LOGGED_USER],\r\n LoggedUserFeaturesEnum,\r\n '',\r\n LoggedUserFeaturesEnumIconFromEnum)\r\n\r\n \r\n\r\n featGroup.features = FeaturesConfigHelper.selectAuthorizedFeatures(loggedUserRole, featGroup.features, RoleLevel, PermissionService.featuresPermissionLevel)\r\n if (featGroup.features.length > 0) {\r\n groupFeats.push(featGroup)\r\n }\r\n return groupFeats\r\n }\r\n\r\n /**\r\n * Filter custom features out of the dropdown depending on the presence of claims in the user token\r\n * @param feaatureGroups The original feature group list\r\n * @param usrAuthorizations The claims decoded from the user token \r\n * @returns A new featureGroups list with the appropriate custom features filtered out\r\n */\r\n public filterCustomDropdownFeatures(featureGoups: any, usrAuthorizations: any) {\r\n if (!usrAuthorizations) {\r\n return featureGoups;\r\n }\r\n Object.getOwnPropertyNames(usrAuthorizations).forEach((key) => {\r\n // Filter manage-subscription if right not found\r\n if (!usrAuthorizations[key].includes('manage-subscription')) {\r\n featureGoups[\"dropdownMenuFeatures\"][0].features = featureGoups[\"dropdownMenuFeatures\"][0].features.filter((e: any) => e.type !== \"subscription\")\r\n }\r\n })\r\n return featureGoups;\r\n }\r\n\r\n /**\r\n * Instantiates the features groups instances to be displayed in top bar dropdown menu.\r\n * @param loggedUserRole The logged user param to use for selection of authorized features. \r\n * @returns A list of FeatureGroupEntity loaded with the associated\r\n * FeatureEntity. If no feature entity autorized for a group,this one \r\n * is not instantiated. Empty list whether logged user has no features authorized.\r\n */\r\n public getSidePanelMenuFeatureGroups(loggedUserRole: string): FeatureGroupEntity[] {\r\n return []\r\n }\r\n}\r\n","export enum FineGrainedAuthItemsEnum {\r\n KPI_DATA= 'kpi-data',\r\n SUPER_LICENCES_MANAGER= 'super-licenses-manager',\r\n}\r\nexport default FineGrainedAuthItemsEnum\r\n","import {\r\n SpecificPermissionsEnum,\r\n} from '../../..'\r\nimport {\r\n RolesEnum,\r\n FineGrainedAuthItemsEnum,\r\n MainAppFeaturesEnum,\r\n LoggedUserFeaturesEnum\r\n} from '../../..'\r\n\r\n/**\r\n * The PermissionsService is in charge of the configuration of application features. Since\r\n * server side does not manage permissions yet, this service configures the user role permissions.\r\n *\r\n * Keeps a reference to the configured permissions as a cache in order to provide this information\r\n * at any time during the user's session.\r\n *\r\n * Due to security issues, this service does not persist the permissions data in LocalStorage or as\r\n * Cookies.\r\n */\r\n export class PermissionService {\r\n /** Features names authorized for each user role */\r\n public static featuresPermissionLevel: Map < string, RolesEnum > = new Map < string, RolesEnum > ()\r\n\r\n /** Features names authorization level, couples of < AppFeaturesEnum , SpecificPermissionsEnum > \r\n * mapped for each user role. */\r\n public static specificPermissionByRole: Map < string, Map < FineGrainedAuthItemsEnum, SpecificPermissionsEnum > > \r\n = new Map < RolesEnum, Map < FineGrainedAuthItemsEnum, SpecificPermissionsEnum > > ()\r\n\r\n /**\r\n * Initialize the features minimum permission level.\r\n * @returns A map with the associated maximum level authorization level\r\n */\r\n public static initFeaturesPermissionLevel (): Map < string, RolesEnum > {\r\n if (PermissionService.featuresPermissionLevel.size !== 0) {\r\n return PermissionService.featuresPermissionLevel\r\n }\r\n\r\n PermissionService.featuresPermissionLevel.set(LoggedUserFeaturesEnum.LOGOUT, RolesEnum.USER)\r\n PermissionService.featuresPermissionLevel.set(LoggedUserFeaturesEnum.SUBSCRIPTION, RolesEnum.USER)\r\n PermissionService.featuresPermissionLevel.set(MainAppFeaturesEnum.HOME, RolesEnum.USER)\r\n PermissionService.featuresPermissionLevel.set(MainAppFeaturesEnum.ANALYTICS, RolesEnum.USER)\r\n PermissionService.featuresPermissionLevel.set(MainAppFeaturesEnum.TEAM, RolesEnum.SUPERVISOR)\r\n PermissionService.featuresPermissionLevel.set(MainAppFeaturesEnum.LICENSES , RolesEnum.LICENSE_MANAGER)\r\n PermissionService.featuresPermissionLevel.set(MainAppFeaturesEnum.REPHRASE , RolesEnum.REPHRASE_EDITOR)\r\n\r\n return PermissionService.featuresPermissionLevel\r\n }\r\n\r\n /**\r\n * Initialize roles specific authorizations.\r\n * @returns associatons of fine grained permissions of specific items by user role\r\n */\r\n public static initRolesSpecificAuthorizations (): Map < string, Map < FineGrainedAuthItemsEnum, SpecificPermissionsEnum > > {\r\n if (PermissionService.specificPermissionByRole.size !== 0) {\r\n return PermissionService.specificPermissionByRole\r\n }\r\n const superAdminFineGrainedAuthz: Map < FineGrainedAuthItemsEnum, SpecificPermissionsEnum >\r\n = new Map < FineGrainedAuthItemsEnum, SpecificPermissionsEnum > ();\r\n superAdminFineGrainedAuthz.set(FineGrainedAuthItemsEnum.SUPER_LICENCES_MANAGER, SpecificPermissionsEnum.ALL);\r\n \r\n PermissionService.specificPermissionByRole.set(RolesEnum.SUPER_ADMIN, superAdminFineGrainedAuthz);\r\n \r\n // Supervisor authorization minimum level mapping : < AppFeaturesEnum , SpecificPermissionsEnum > */\r\n const supervisorFineGrainedAuthz: Map < FineGrainedAuthItemsEnum, SpecificPermissionsEnum >\r\n = new Map < FineGrainedAuthItemsEnum, SpecificPermissionsEnum > ()\r\n supervisorFineGrainedAuthz.set(FineGrainedAuthItemsEnum.KPI_DATA, SpecificPermissionsEnum.EXPORT)\r\n\r\n PermissionService.specificPermissionByRole.set(RolesEnum.SUPERVISOR, supervisorFineGrainedAuthz)\r\n return PermissionService.specificPermissionByRole\r\n }\r\n}\r\n","export class User{\r\n\r\n constructor(\r\n public email: string,\r\n public id: number,\r\n public service: string,\r\n public manager?: User,\r\n ){}\r\n}","import { User } from \"./models/User\"\r\n\r\nexport class CustomFiltersService{\r\n\r\n public static parseUserFilter(requestData: any[], managerEmail: string): User[]{\r\n const users : User[] = []\r\n let manager: User = new User(managerEmail, -1, \"\")\r\n if(requestData.length > 0){\r\n manager = new User(requestData[0].Managers[0].Email ,requestData[0].Managers[0].Id, requestData[0].Managers[0].Service )\r\n for (const userData of requestData){\r\n users.push(new User(userData.Email, userData.Id, userData.Service,manager))\r\n }\r\n }\r\n users.splice(0,0,manager) // insert at index 0\r\n return users\r\n }\r\n\r\n public static createUserFromEmail(email: string): User{\r\n return new User(email, 0,'b2c')\r\n }\r\n}","import { \r\n Connector,\r\n OAuth2Service,\r\n toHttpRequest,\r\n ErrorViewModel,\r\n HttpRequestError,\r\n} from \"@/common\"\r\nimport {\r\n CustomFiltersService\r\n} from \"../CustomFiltersService\"\r\nimport {\r\n User,\r\n} from \"../models/User\"\r\n\r\nexport interface ICustomFiltersActions {\r\n /**\r\n * Action definition triggered to retrieve users list to be used in search filters.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n setAuthorizedUsers(storeFunctions: any, users: User[]): any\r\n /**\r\n * Action definition triggered to register users list to be used in search filters.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Action payload to use.\r\n */\r\n setUsersSearchFilter(storeFunctions: any, payload: any): any\r\n /**\r\n * Action definition triggered to set initial values of filters data in state.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n clearCustomFilters(storeFunctions: any): any\r\n /**\r\n * Action used to recover list of user managed by the email given \r\n * @param storeFunctions \r\n * @param managerEmail the email of the manager\r\n */\r\n fetchUsersForEmail(storeFunctions: any, managerEmail: string): any\r\n\r\n initAuthorizedUserFromMail(storeFunctions: any, email: string): any\r\n\r\n setSelectedUserForService(storeFunctions: any, services: string[]): any\r\n\r\n resetSelectedServices(storeFunctions: any): any\r\n \r\n}\r\n\r\nexport const CustomFiltersActions: ICustomFiltersActions = {\r\n \r\n async fetchUsersForEmail({rootState ,dispatch}, managerEmail :string){\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n \r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/user/managed/${managerEmail}`, token, refreshtoken))\r\n \r\n if (err) {\r\n if (err.errI18NMsg === 'app.common.error.server.expired.token') {\r\n // if both refresh token and access token have expired then redirect to login form\r\n dispatch('usrSess/displayLoginPage', { redirectPage: '/' }, { root: true })\r\n } else {\r\n const pageError: ErrorViewModel = new ErrorViewModel(err.errI18NMsg, err)\r\n dispatch('viewState/setPageError', { viewError: pageError }, { root: true })\r\n }\r\n } else if (response) {\r\n const users: User[] = CustomFiltersService.parseUserFilter(response.data,managerEmail)\r\n dispatch('setAuthorizedUsers' , users )\r\n }\r\n }\r\n },\r\n\r\n setSelectedUserForService({rootState ,dispatch,commit}, services: string[]){\r\n const usersForService: User[] = (rootState.customSearchFilters.authUsers as User[]).filter(user => services.includes(user.service))\r\n const emailList: string [] = usersForService.map(user => user.email)\r\n commit('SET_SELECTED_FILTER', services)\r\n dispatch('setUsersSearchFilter' , emailList)\r\n },\r\n\r\n initAuthorizedUserFromMail({dispatch}, email:string ){\r\n dispatch('setAuthorizedUsers' , [CustomFiltersService.createUserFromEmail(email)])\r\n },\r\n\r\n setAuthorizedUsers({ commit }, users: User[]) {\r\n commit('SET_AUTHORIZED_USERS_FILTER', users)\r\n },\r\n\r\n setUsersSearchFilter({ commit }, userEmails: any) {\r\n commit('SET_SELECTED_USERS_FILTER', userEmails)\r\n },\r\n\r\n clearCustomFilters({ commit }) {\r\n commit('CLEAR_CUSTOM_FILTERS')\r\n },\r\n\r\n resetSelectedServices({commit}){\r\n commit('SET_SELECTED_FILTER', [])\r\n }\r\n}\r\n","import {\r\n ICustomFiltersState,\r\n} from '..'\r\nimport { User } from '../models/User';\r\n\r\nexport interface ICustomFiltersGetters {\r\n /**\r\n * Gets the authorized users to be used in a custom filter.\r\n * @param state Current state.\r\n * @returns The authorized users list.\r\n */\r\n authUsers(state: ICustomFiltersState): User[] | undefined\r\n /**\r\n * Gets selected users to be used in a search query.\r\n * @param state Current state.\r\n * @returns The selected users list.\r\n */\r\n selectedUsers(state: ICustomFiltersState): string[] | undefined\r\n\r\n selectedServices(state: ICustomFiltersState): string[]\r\n\r\n}\r\n\r\nexport const CustomFiltersGetters: ICustomFiltersGetters = {\r\n\r\n authUsers(state: ICustomFiltersState): User[] {\r\n return state.authUsers\r\n },\r\n\r\n selectedUsers(state: ICustomFiltersState): string[] {\r\n return state.selectedUsers\r\n },\r\n\r\n selectedServices(state: ICustomFiltersState): string[] {\r\n return state.selectedServices\r\n }\r\n}\r\n","import { User } from \"../models/User\"\r\n\r\nexport interface ICustomFiltersState {\r\n /** The authorized users to be used in a custom filter */\r\n authUsers: User[]\r\n /** The selected users to be used in a search query */\r\n selectedUsers: string[]\r\n /** The selected services bu the user in the filters*/\r\n selectedServices: string[]\r\n}\r\n\r\nexport const CustomFiltersState = (): ICustomFiltersState => {\r\n return {\r\n authUsers: [],\r\n selectedUsers: [],\r\n selectedServices:[]\r\n }\r\n}\r\n","import { User } from '../models'\r\nimport { \r\n ICustomFiltersState \r\n} from './state'\r\n\r\nexport interface ICustomFiltersMutations {\r\n /**\r\n * Sets the authorized users to use in custom filter.\r\n * @param state Current state to update.\r\n * @param datePayload An payload object with dateFrom and dateTo data.\r\n */\r\n SET_AUTHORIZED_USERS_FILTER(state: ICustomFiltersState, users: User[]): void\r\n /**\r\n * Sets the selected users to use in search queries.\r\n * @param state Current state to update.\r\n * @param datePayload An payload object with dateFrom and dateTo data.\r\n */\r\n SET_SELECTED_USERS_FILTER(state: ICustomFiltersState, users: string[]): void\r\n /**\r\n * Sets initial state values.\r\n * @param state Current state to update.\r\n */\r\n CLEAR_CUSTOM_FILTERS(state: ICustomFiltersState): void\r\n\r\n SET_SELECTED_FILTER (state: ICustomFiltersState, services: string []): void\r\n}\r\n\r\nexport const CustomFiltersMutations: ICustomFiltersMutations = {\r\n\r\n SET_AUTHORIZED_USERS_FILTER: (state: ICustomFiltersState, users: User[]) => {\r\n state.authUsers = users\r\n },\r\n\r\n SET_SELECTED_USERS_FILTER: (state: ICustomFiltersState, users: string[]) => {\r\n state.selectedUsers = users\r\n },\r\n\r\n CLEAR_CUSTOM_FILTERS: (state: ICustomFiltersState) => {\r\n state.authUsers = []\r\n state.selectedUsers = []\r\n },\r\n \r\n SET_SELECTED_FILTER: (state: ICustomFiltersState, services: string []) => {\r\n state.selectedServices = services\r\n }\r\n}\r\n","import {\r\n Module\r\n} from 'vuex'\r\nimport {\r\n IState\r\n} from '../../..'\r\nimport {\r\n CustomFiltersActions\r\n} from './actions'\r\nimport {\r\n CustomFiltersGetters\r\n} from './getters'\r\nimport {\r\n ICustomFiltersState,\r\n CustomFiltersState\r\n} from './state'\r\nimport {\r\n CustomFiltersMutations\r\n} from './mutations'\r\n\r\nexport const customSearchFilters: Module < ICustomFiltersState, IState > = {\r\n namespaced: true,\r\n actions: {\r\n ...CustomFiltersActions\r\n },\r\n getters: {\r\n ...CustomFiltersGetters\r\n },\r\n state: {\r\n ...CustomFiltersState(),\r\n },\r\n mutations: {\r\n ...CustomFiltersMutations\r\n },\r\n}","import { \r\n Connector,\r\n OAuth2Service,\r\n toHttpRequest,\r\n ErrorViewModel,\r\n HttpRequestError,\r\n } from \"@/common\";\r\n\r\nimport { AppConfigService } from \"../../../\";\r\nimport { Mail } from \"../models\";\r\n\r\n export interface ILicensesActions {\r\n /**\r\n * Action definition triggered to retrieve users list from tenant.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchUsersFromTenant(storeFunctions: any): any\r\n\r\n /**\r\n * Action definition triggered to retrieve users list from hierarchy.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchUsersFromHierarchy(storeFunctions: any): any\r\n\r\n /**\r\n * Action definition triggered to retrieve all users from all tenants.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param B2C Boolean to know if we want to retrieve B2C users.\r\n */\r\n fetchUsersFromAllTenants(storeFunctions: any, B2C: boolean): any\r\n\r\n /**\r\n * Action definition triggered to retrieve all users from all hierarchies.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchUsersFromAllHierarchies(storeFunctions: any): any\r\n \r\n /**\r\n * Action definition triggered to retrieve all B2B tenants names.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchAllTenantsNames(storeFunctions: any): any\r\n\r\n /**\r\n * Action definition triggered to retrieve all B2B tenants names.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchLastCorrectionConso(storeFunctions: any, users: any): any\r\n\r\n /**\r\n * Action definition triggered to delete a user from auth database and from hierarchy if needed.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Informations of the user to delete (email, tenantName).\r\n */\r\n deleteUser(storeFunctions: any, payload: any): any\r\n\r\n /**\r\n * Action definition triggered to update user into auth database and into hierarchy if needed.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param accountData Informations of the user to update.\r\n */\r\n updateUser(storeFunctions: any, accountData: any): any\r\n\r\n /**\r\n * Action definition triggered to update user state into auth database.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Informations of the user to update (email, state).\r\n */\r\n updateUserState(storeFunctions: any, payload: any): any\r\n\r\n /**\r\n * Action definition triggered to creaate user into auth database and into hierarchy if needed.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param accountData Informations of the new user.\r\n */\r\n createUser(storeFunctions: any, accountData: any): any\r\n \r\n /**\r\n * Action definition triggered to create users from a CSV file.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload Informations of the user to create.\r\n */\r\n CreateUsersFromCSV(storeFunctions: any, payload: any): any\r\n\r\n /**\r\n * Action definition triggered to create a subscription portal where the user can manage his payment details.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n createSubscriptionPortal(storeFunctions: any): any\r\n\r\n /**\r\n * Action definition triggered to handle errors.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param error The error to handle.\r\n */\r\n errorHandling(storeFunctions: any, error: any): any\r\n\r\n /**\r\n * Action definition triggered to set conflict error state.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param state The conflict error state.\r\n */\r\n setConflictError(storeFunctions: any, state: boolean): any\r\n\r\n /**\r\n * Action definition triggered to send an email to the user when his account is created.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param email The email of the user.\r\n */\r\n sendAccountCreationEmail(storeFunctions: any, email: string): any\r\n\r\n /**\r\n * Action definition triggered to fetch a link allowing the user to set his password after creating his account.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param email The email of the user.\r\n */\r\n getAccountCreationLink(storeFunctions: any, email: string): any\r\n\r\n /**\r\n * Action definition triggered to get the maximum number of licenses for the tenant.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchTenantsLicenses(storeFunctions: any): any\r\n\r\n /**\r\n * Action definition triggered to get the subscription.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param email The email of the user.\r\n */\r\n getSubscription(storeFunctions: any, email: string): any\r\n\r\n /**\r\n * Action definition triggered to clear subscription data.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n clearSubscriptionData(storeFunctions: any): any\r\n }\r\n \r\n export const LicensesActions: ILicensesActions = {\r\n\r\n async fetchUsersFromTenant({rootState ,dispatch, commit}) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n \r\n if (token) {\r\n const managedTenantsAttribute: string | undefined = OAuth2Service.retrieveManagedTenants(token)\r\n const managedTenants: string[] | undefined = managedTenantsAttribute ? managedTenantsAttribute.split(',') : [rootState.usrSess.tenantName]\r\n if (managedTenants) {\r\n const usersOfTenant: string[] = []\r\n for (const tenant of managedTenants) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/user/tenant/${encodeURIComponent(tenant)}`, token, refreshtoken))\r\n \r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n usersOfTenant.push(...response.data)\r\n }\r\n }\r\n commit('SET_USERS_OF_TENANT', usersOfTenant)\r\n }\r\n }\r\n },\r\n\r\n async fetchUsersFromHierarchy({rootState ,dispatch, commit}) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const managedTenantsAttribute: string | undefined = OAuth2Service.retrieveManagedTenants(token)\r\n const managedTenants: string[] | undefined = managedTenantsAttribute ? managedTenantsAttribute.split(',') : [rootState.usrSess.tenantName]\r\n if (managedTenants) {\r\n const usersOfHierarchy: string[] = []\r\n for (const tenant of managedTenants) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/user/hierarchy/${encodeURIComponent(tenant)}`, token, refreshtoken))\r\n \r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n usersOfHierarchy.push(...response.data)\r\n }\r\n }\r\n commit('SET_USERS_OF_HIERARCHY', usersOfHierarchy)\r\n }\r\n }\r\n },\r\n\r\n async fetchUsersFromAllTenants({rootState ,dispatch, commit}, B2C: boolean) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/user/tenants?B2C=${encodeURIComponent(B2C)}`, token, refreshtoken))\r\n \r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n commit('SET_USERS_OF_TENANT', response.data)\r\n }\r\n }\r\n },\r\n\r\n async fetchUsersFromAllHierarchies({rootState ,dispatch, commit}) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/user/hierarchies`, token, refreshtoken))\r\n \r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n commit('SET_USERS_OF_HIERARCHY', response.data)\r\n }\r\n }\r\n },\r\n\r\n async fetchAllTenantsNames({rootState ,dispatch, commit}) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/user/tenants/names`, token, refreshtoken))\r\n \r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n commit('SET_ALL_TENANTS_NAMES', response.data)\r\n }\r\n }\r\n },\r\n\r\n async fetchLastCorrectionConso({rootState ,dispatch, commit}, users) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const formattedUsers = users.filter((user: any) => user.tenantName).map((user: any) => ({ email: user.email, tenantName: user.tenantName }));\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().post(`/v1/analytics/lastcorrectionconso`, token, refreshtoken, JSON.stringify(formattedUsers)))\r\n \r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n return response.data\r\n }\r\n }\r\n },\r\n\r\n async deleteUser({ rootState, dispatch }, { email, tenantName } ) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (!tenantName) {\r\n tenantName = rootState.usrSess.tenantName;\r\n }\r\n \r\n if (token && tenantName) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().delete(`/v1/user?email=${encodeURIComponent(email)}&tenantName=${encodeURIComponent(tenantName)}`, token, refreshtoken))\r\n\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } \r\n }\r\n },\r\n\r\n async updateUser({ rootState, dispatch }, accountData: any ) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (!accountData.tenantName) {\r\n accountData.tenantName = rootState.usrSess.tenantName;\r\n }\r\n\r\n if (token && accountData.tenantName) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().put(`/v1/user`, token, refreshtoken, JSON.stringify(accountData)))\r\n\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n }\r\n }\r\n },\r\n\r\n async updateUserState({ rootState, dispatch }, { email, state } ) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().put(`/v1/user/state?email=${encodeURIComponent(email)}&enabled=${encodeURIComponent(state)}`, token, refreshtoken))\r\n\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n }\r\n }\r\n },\r\n\r\n async createUser({ rootState, dispatch }, accountData: any ) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (!accountData.tenantName) {\r\n accountData.tenantName = rootState.usrSess.tenantName;\r\n }\r\n\r\n if (token && accountData.tenantName) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().post(`/v1/user`, token, refreshtoken, JSON.stringify(accountData)))\r\n\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n }\r\n }\r\n },\r\n \r\n async CreateUsersFromCSV({ rootState, dispatch }, { file, tenantName } ) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token && tenantName) {\r\n const formData = new FormData()\r\n formData.append('file', file)\r\n formData.append('tenantName', tenantName)\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().post(`/v1/user/from-csv`, token, refreshtoken, formData))\r\n\r\n if (err || response === null) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n return [response.data.importedUsers, response.data.badlyFormattedEmails, response.data.usersAlreadyExist, response.data.passwordDefinitionUrls]\r\n }\r\n }\r\n },\r\n\r\n async createSubscriptionPortal({ rootState, dispatch }) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().post(`/v1/shop/portal`, token, refreshtoken))\r\n\r\n if (err || response === null) {\r\n dispatch('errorHandling', err)\r\n }\r\n\r\n return response.data.url\r\n }\r\n },\r\n\r\n async sendAccountCreationEmail({ rootState, dispatch }, userMailNameTenant: any ) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().post(`/v1/user/account-creation/email`, token, refreshtoken, JSON.stringify(userMailNameTenant)))\r\n\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n }\r\n }\r\n },\r\n\r\n async getAccountCreationLink({ rootState, dispatch }, email: string ) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/user/account-creation/link?email=${email}`, token, refreshtoken, { headers: {'Accept':'text/plain'} }))\r\n\r\n if (err || response === null || response.data.link === null) {\r\n dispatch('errorHandling', err)\r\n }\r\n\r\n return response.data.link\r\n }\r\n },\r\n\r\n async fetchTenantsLicenses({ rootState, dispatch, commit }) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const managedTenantsAttribute: string | undefined = OAuth2Service.retrieveManagedTenants(token)\r\n const managedTenants: string[] | undefined = managedTenantsAttribute ? managedTenantsAttribute.split(',') : [rootState.usrSess.tenantName]\r\n if (managedTenants) {\r\n const tenantsLicenses: { tenantName: string, licenses: number | undefined } [] = []\r\n for (let i = 0; i < managedTenants.length; i++) {\r\n const response = await fetch(`${AppConfigService.getFilterDbUri()}/v1/user/tenant/licenses/${managedTenants[i]}`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n })\r\n if (!response.ok) {\r\n const errorMessage = await response.text()\r\n dispatch ('errorHandling', errorMessage)\r\n }\r\n if (response.status != 204) {\r\n const data = await response.json()\r\n tenantsLicenses[i] = {tenantName: managedTenants[i], licenses: data};\r\n } else {\r\n tenantsLicenses[i] = {tenantName: managedTenants[i], licenses: undefined};\r\n }\r\n }\r\n commit('SET_TENANTS_LICENSES', tenantsLicenses)\r\n }\r\n }\r\n },\r\n\r\n async getSubscription({ rootState, dispatch, commit }, email: string) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const formatedEmail = { email: email }\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n \r\n await toHttpRequest(Connector.getFilterServerConnector().post(`/v1/shop/subscription`, token, refreshtoken, JSON.stringify(formatedEmail)))\r\n\r\n let userNotFound = false\r\n if(err && err.requestError && err.requestError.data === \"User not found\") {\r\n userNotFound = true\r\n }\r\n\r\n if (!userNotFound && (err || response == null || response.data == null || response.data.isSubscribed == null)) {\r\n dispatch('errorHandling', err)\r\n }\r\n\r\n commit('SET_IS_SUBSCRIBED', userNotFound ? true : response.data.isSubscribed) // if user not found on Stripe, we set subscription to true (retrocompatibility)\r\n }\r\n },\r\n \r\n clearSubscriptionData({ commit }) {\r\n commit('RESET_IS_SUBSCRIBED')\r\n },\r\n\r\n errorHandling({ dispatch }, error: any) {\r\n if (error.errI18NMsg === 'app.common.error.server.expired.token') {\r\n // if both refresh token and access token have expired then redirect to login form\r\n dispatch('usrSess/displayLoginPage', { redirectPage: '/' }, { root: true })\r\n }\r\n else if (error.httpCode == 409) {\r\n dispatch('setConflictError', true)\r\n }\r\n else {\r\n const snackBarError: ErrorViewModel = new ErrorViewModel(error.errI18NMsg, error)\r\n dispatch('viewState/setSnackBarError', { viewError: snackBarError }, { root: true })\r\n }\r\n },\r\n\r\n setConflictError({ commit }, state: boolean) {\r\n commit('SET_CONFLICT_ERROR', state)\r\n }\r\n }\r\n ","import {\r\n ILicensesState,\r\n } from '..'\r\n \r\n export interface ILicensesGetters {\r\n /**\r\n * Gets the tenant users.\r\n * @param state Current state.\r\n * @returns The tenant users list.\r\n */\r\n usersOfTenant (state: ILicensesState): string[] | undefined\r\n\r\n /**\r\n * Gets the hierarchy users.\r\n * @param state Current state.\r\n * @returns The hierarchy users list.\r\n */\r\n usersOfHierarchy (state: ILicensesState): string[] | undefined\r\n\r\n /**\r\n * Gets conflict error state.\r\n * @param state Current state.\r\n * @returns The conflict error state.\r\n */\r\n conflictError (state: ILicensesState): boolean | undefined\r\n\r\n /**\r\n * Get the emailHash of the user.\r\n * @param state Current state.\r\n * @returns The emailHash of the user.\r\n */\r\n emailHash (state: ILicensesState): string | undefined\r\n\r\n /**\r\n * Get the maximum number of licenses for the tenant.\r\n * @param state Current state.\r\n * @returns The maximum number of licenses for the tenant.\r\n */\r\n tenantsLicenses (state: ILicensesState): any | undefined\r\n\r\n /**\r\n * Get all B2B tenants names.\r\n * @param state Current state.\r\n * @returns All B2B tenants names.\r\n */\r\n tenantsNames (state: ILicensesState): string[] | undefined\r\n\r\n /**\r\n * Get the subscription state.\r\n * @param state Current state.\r\n * @returns The subscription state.\r\n */\r\n isSubscribed (state: ILicensesState): boolean | undefined\r\n }\r\n \r\n export const LicensesGetters: ILicensesGetters = {\r\n \r\n usersOfTenant (state: ILicensesState): string[] {\r\n return state.usersOfTenant\r\n },\r\n\r\n usersOfHierarchy (state: ILicensesState): string[] {\r\n return state.usersOfHierarchy\r\n },\r\n \r\n conflictError (state: ILicensesState): boolean {\r\n return state.conflictError\r\n },\r\n\r\n emailHash (state: ILicensesState): string {\r\n return state.emailHash\r\n },\r\n\r\n tenantsLicenses (state: ILicensesState): number {\r\n return state.tenantsLicenses\r\n },\r\n\r\n tenantsNames (state: ILicensesState): string[] {\r\n return state.tenantsNames\r\n },\r\n\r\n isSubscribed (state: ILicensesState): boolean {\r\n return state.isSubscribed\r\n }\r\n}\r\n ","export interface ILicensesState {\r\n /** The tenant users */\r\n usersOfTenant : string[]\r\n\r\n /** The hierarchy users */\r\n usersOfHierarchy : string[]\r\n\r\n /** If true, a conflict error is displayed */\r\n conflictError: boolean,\r\n\r\n /** The emailHash of the user */\r\n emailHash: string\r\n\r\n /** The maximum number of licenses for the tenant */\r\n tenantsLicenses: any\r\n\r\n /** All B2B tenants names */\r\n tenantsNames: string[]\r\n\r\n /** The subscription state */\r\n isSubscribed: boolean\r\n}\r\n\r\nexport const LicensesState = (): ILicensesState => {\r\n return {\r\n usersOfTenant : [],\r\n usersOfHierarchy : [],\r\n conflictError: false,\r\n emailHash: '',\r\n tenantsLicenses: null,\r\n tenantsNames: [],\r\n isSubscribed: true\r\n }\r\n}\r\n","import { \r\n ILicensesState \r\n} from './state'\r\n\r\nexport interface ILicensesMutations {\r\n /**\r\n * Sets the tenant users.\r\n * @param state Current state to update.\r\n */\r\n SET_USERS_OF_TENANT(state: ILicensesState, users: string[]): void\r\n\r\n /**\r\n * Sets the hierarchy users.\r\n * @param state Current state to update.\r\n */\r\n SET_USERS_OF_HIERARCHY(state: ILicensesState, users: string[]): void\r\n\r\n /**\r\n * Sets the conflict error.\r\n * @param state Current state to update.\r\n */\r\n SET_CONFLICT_ERROR(state: ILicensesState, error: boolean): void\r\n\r\n /**\r\n * Sets the emailHash of the user.\r\n * @param state Current state to update.\r\n */\r\n SET_EMAIL_HASH(state: ILicensesState, emailHash: string): void\r\n\r\n /**\r\n * Sets the maximum number of licenses for the tenant.\r\n * @param state Current state to update.\r\n */\r\n SET_TENANTS_LICENSES(state: ILicensesState, tenantsLicenses: any): void\r\n\r\n /**\r\n * Sets all B2B tenants names.\r\n */\r\n SET_ALL_TENANTS_NAMES(state: ILicensesState, tenantsNames: string[]): void\r\n\r\n /**\r\n * Sets the subscription state.\r\n * @param state Current state to update. \r\n */\r\n SET_IS_SUBSCRIBED(state: ILicensesState, isSubscribed: boolean): void\r\n\r\n /**\r\n * RESET the subscription state.\r\n * @param state Current state to update.\r\n */\r\n RESET_IS_SUBSCRIBED(state: ILicensesState): void\r\n}\r\n\r\nexport const LicensesMutations: ILicensesMutations = {\r\n\r\n SET_USERS_OF_TENANT: (state: ILicensesState, users: string[]) => {\r\n state.usersOfTenant = users\r\n },\r\n\r\n SET_USERS_OF_HIERARCHY: (state: ILicensesState, users: string[]) => {\r\n state.usersOfHierarchy = users\r\n },\r\n\r\n SET_CONFLICT_ERROR: (state: ILicensesState, error: boolean) => {\r\n state.conflictError = error\r\n },\r\n\r\n SET_EMAIL_HASH: (state: ILicensesState, emailHash: string) => {\r\n state.emailHash = emailHash\r\n },\r\n\r\n SET_TENANTS_LICENSES: (state: ILicensesState, tenantsLicenses: any) => {\r\n state.tenantsLicenses = tenantsLicenses\r\n },\r\n\r\n SET_ALL_TENANTS_NAMES: (state: ILicensesState, tenantsNames: string[]) => {\r\n state.tenantsNames = tenantsNames\r\n },\r\n\r\n SET_IS_SUBSCRIBED: (state: ILicensesState, isSubscribed: boolean) => {\r\n state.isSubscribed = isSubscribed\r\n },\r\n\r\n RESET_IS_SUBSCRIBED: (state: ILicensesState) => {\r\n state.isSubscribed = true\r\n }\r\n}\r\n","import {\r\n Module\r\n} from 'vuex'\r\nimport {\r\n IState\r\n} from '../../..'\r\nimport {\r\n LicensesActions\r\n} from './actions'\r\nimport {\r\n LicensesGetters\r\n} from './getters'\r\nimport {\r\n ILicensesState,\r\n LicensesState\r\n} from './state'\r\nimport {\r\n LicensesMutations\r\n} from './mutations'\r\n\r\nexport const Licenses: Module < ILicensesState, IState > = {\r\n namespaced: true,\r\n actions: {\r\n ...LicensesActions\r\n },\r\n getters: {\r\n ...LicensesGetters\r\n },\r\n state: {\r\n ...LicensesState(),\r\n },\r\n mutations: {\r\n ...LicensesMutations\r\n },\r\n}"," export class Prompt {\r\n /**\r\n * Define the prompt.\r\n * \r\n * @param id The id of the prompt.\r\n * @param name The name of the prompt.\r\n * @param description The description of the prompt.\r\n */\r\n\r\n constructor(public id: string | null,\r\n public template_id: string,\r\n public name: string,\r\n public description: string) {}\r\n }\r\n "," export class TemplateParameters {\r\n /**\r\n * Defines the prompt parameters defined in CordialLLM\r\n * \r\n * @param template_id The id of the template (ex: rephrase-gpt-4o-mini)\r\n * @param value The associated parameters. (ex: [\"style\", \"examples\"])\r\n */\r\n constructor(public template_id: string,\r\n public value: string[]) {}\r\n }\r\n ","import { \r\n Connector,\r\n OAuth2Service,\r\n toHttpRequest,\r\n HttpRequestError,\r\n } from \"@/common\";\r\nimport { Prompt, PromptParameter, TemplateParameters } from \"..\";\r\n\r\nexport interface IRephraseActions {\r\n\r\n /**\r\n * Action definition triggered to retrieve prompts list from tenant.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchPromptsFromTenant(storeFunctions: any): any\r\n\r\n /**\r\n * Action definition triggered to retrieve prompt parameters list from tenant.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchPromptParametersFromTenant(storeFunctions: any): any\r\n\r\n /**\r\n * Action definition triggered to retrieve parameters list from template.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchTemplateParameters(storeFunctions: any): any\r\n\r\n /**\r\n * Action definition triggered to retrieve prompt parameters list from tenant.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n createPrompt(storeFunctions: any, prompt: Prompt): any\r\n\r\n /**\r\n * Action definition triggered to retrieve prompt parameters list from tenant.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n updatePrompt(storeFunctions: any, prompt: Prompt): any\r\n\r\n /**\r\n * Action definition triggered to retrieve prompt parameters list from tenant.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n deletePrompt(storeFunctions: any, id: string): any\r\n \r\n /**\r\n * Action definition triggered to retrieve langs list from tenant.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n fetchAuthorizedLangsFromTenant(storeFunctions: any): any\r\n\r\n /**\r\n * Action definition triggered to rephrase text\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n * @param payload The text to rephrase, promptId and tryAgain\r\n */\r\n rephrase(storeFunctions: any, payload:any): any\r\n\r\n /**\r\n * Action definition triggered to set prompt parameters.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n updatePromptParameters(storeFunctions: any, promptParams: PromptParameter): any\r\n\r\n /**\r\n * Action definition triggered to set current prompt.\r\n * @param storeFunctions Commit and Dispatch functions to apply changes into the store.\r\n */\r\n setCurrentPromptId(storeFunctions: any, prompt: string): any\r\n}\r\n\r\nexport const RephraseActions: IRephraseActions = {\r\n\r\n async fetchPromptsFromTenant({rootState ,dispatch, commit}) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/prompt/all`, token, refreshtoken))\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n commit('SET_PROMPTS', response.data)\r\n }\r\n }\r\n },\r\n\r\n async fetchPromptParametersFromTenant({rootState ,dispatch, commit}) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/prompt/tenant/parameters`, token, refreshtoken))\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n commit('SET_PROMPT_PARAMETERS', response.data)\r\n }\r\n }\r\n },\r\n\r\n async fetchTemplateParameters({rootState ,dispatch, commit}) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/prompt/templates/parameters`, token, refreshtoken))\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n const templateParameters = response.data.map((template: any) => new TemplateParameters(template.template_id, template.value))\r\n commit('SET_TEMPLATE_PARAMETERS', templateParameters)\r\n }\r\n }\r\n },\r\n\r\n async createPrompt({rootState ,dispatch}, prompt) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n \r\n console.log(prompt)\r\n console.log(rootState.rephrase.promptParameters)\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().post(`/v1/prompt`, token, refreshtoken, { promptParameters: rootState.rephrase.promptParameters, prompt }))\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n },\r\n\r\n async updatePrompt({rootState ,dispatch}, prompt) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n console.log(prompt)\r\n console.log(rootState.rephrase.promptParameters)\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().put(`/v1/prompt`, token, refreshtoken, { promptParameters: rootState.rephrase.promptParameters, prompt }))\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n },\r\n\r\n async deletePrompt({rootState ,dispatch}, id: string) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().delete(`/v1/prompt/${id}`, token, refreshtoken))\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n },\r\n\r\n async fetchAuthorizedLangsFromTenant({rootState ,dispatch, commit}) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().get(`/v1/analytics/authorized-langs`, token, refreshtoken))\r\n if (err) {\r\n dispatch('errorHandling', err)\r\n } else if (response) {\r\n commit('SET_LANGS', response.data)\r\n }\r\n }\r\n },\r\n\r\n\r\n async rephrase({rootState ,dispatch}, {text, lang, promptId, tryAgain}) {\r\n const token: string | undefined = rootState.usrSess.data ? OAuth2Service.getAccessToken(rootState.usrSess.data) : undefined\r\n const refreshtoken: string | undefined = rootState.usrSess.data ? OAuth2Service.getRefreshToken(rootState.usrSess.data) : undefined\r\n\r\n if (token) {\r\n const [err, response]: [HttpRequestError | undefined, any] = \r\n await toHttpRequest(Connector.getFilterServerConnector().post(`/v1/llm/rephrase`, token, refreshtoken, \r\n { text, lang, promptId, tryAgain }))\r\n if (err) {\r\n return err;\r\n } else if (response) {\r\n return Object.values(response).join('');\r\n }\r\n }\r\n },\r\n\r\n updatePromptParameters({commit}, promptParameters) {\r\n commit('UPDATE_PROMPT_PARAMETERS', promptParameters)\r\n },\r\n\r\n setCurrentPromptId({commit}, prompt) {\r\n commit('SET_CURRENT_PROMPT_ID', prompt)\r\n }\r\n}\r\n","import {\r\n IRephraseState, Prompt, PromptParameter, TemplateParameters,\r\n} from '..'\r\n \r\nexport interface IRephraseGetters {\r\n\r\n /**\r\n * Gets the prompts list.\r\n * @param state Current state.\r\n * @returns The prompts list.\r\n */\r\n prompts (state: IRephraseState): Prompt[] | undefined\r\n\r\n /**\r\n * Gets the prompt parameters list.\r\n * @param state Current state.\r\n * @returns The prompt parameters list.\r\n */\r\n promptParameters (state: IRephraseState): PromptParameter[] | undefined\r\n\r\n /**\r\n * Gets the template parameters list.\r\n * @param state Current state.\r\n * @returns The prompt parameters list.\r\n */\r\n templateParameters (state: IRephraseState): TemplateParameters[] | undefined\r\n\r\n /**\r\n * Gets the langs list.\r\n * @param state Current state.\r\n * @returns The langs list.\r\n */\r\n langs (state: IRephraseState): string[] | undefined\r\n\r\n /**\r\n * Gets the current modified prompt.\r\n * @param state Current state.\r\n * @returns The current prompt.\r\n */\r\n currentPromptId (state: IRephraseState): string | undefined\r\n}\r\n\r\nexport const RephraseGetters: IRephraseGetters = {\r\n\r\n prompts (state: IRephraseState): Prompt[] {\r\n return state.prompts\r\n },\r\n\r\n promptParameters (state: IRephraseState): PromptParameter[] {\r\n return state.promptParameters\r\n },\r\n\r\n templateParameters (state: IRephraseState): TemplateParameters[] {\r\n return state.templateParameters\r\n },\r\n\r\n langs (state: IRephraseState): string[] {\r\n return state.langs\r\n },\r\n\r\n currentPromptId (state: IRephraseState): string {\r\n return state.currentPromptId\r\n }\r\n}\r\n","import { Prompt, PromptParameter, TemplateParameters } from \"..\"\r\n\r\nexport interface IRephraseState {\r\n prompts: Prompt[],\r\n\r\n /* Define the prompt parameters. It is an array because a prompt can have multiple prompt parameters\r\n For instance, he can have one prompt parameters called \"examples\" for each authorized lang */\r\n promptParameters: PromptParameter[],\r\n /* List of templates names from CordialLLM templates */\r\n templateParameters: TemplateParameters[],\r\n /* List of authorized langs */\r\n langs: string[],\r\n /* Current prompt id displayed on rephrasing view */\r\n currentPromptId: string\r\n }\r\n \r\n export const RephraseState = (): IRephraseState => {\r\n return {\r\n prompts: [],\r\n promptParameters: [],\r\n templateParameters: [],\r\n langs: [],\r\n currentPromptId: \"\"\r\n }\r\n }\r\n ","import {\r\n Prompt,\r\n PromptParameter,\r\n IRephraseState,\r\n TemplateParameters\r\n} from '..'\r\n \r\n export interface IRephraseMutations {\r\n\r\n /**\r\n * Sets the prompts.\r\n * @param state Current state to update.\r\n */\r\n SET_PROMPTS(state: IRephraseState, prompts: Prompt[]): void\r\n\r\n /**\r\n * Sets the prompt parameters.\r\n * @param state Current state to update.\r\n */\r\n SET_PROMPT_PARAMETERS(state: IRephraseState, promptParameters: PromptParameter[]): void\r\n\r\n /**\r\n * Sets the prompt parameters.\r\n * @param state Current state to update.\r\n */\r\n SET_TEMPLATE_PARAMETERS(state: IRephraseState, templateParameters: TemplateParameters[]): void\r\n\r\n /**\r\n * Sets the langs.\r\n * @param state Current state to update.\r\n */\r\n SET_LANGS(state: IRephraseState, langs: string[]): void\r\n\r\n /**\r\n * Sets the current modified prompt.\r\n * @param state Current state to update.\r\n */\r\n UPDATE_PROMPT_PARAMETERS(state: IRephraseState, promptParameters: PromptParameter): void\r\n\r\n /**\r\n * Sets the current modified prompt.\r\n * @param state Current state to update.\r\n */\r\n SET_CURRENT_PROMPT_ID(state: IRephraseState, prompt: string): void\r\n }\r\n \r\n export const RephraseMutations: IRephraseMutations = {\r\n\r\n SET_PROMPTS: (state: IRephraseState, prompts: Prompt[]) => {\r\n state.prompts = prompts\r\n },\r\n \r\n SET_PROMPT_PARAMETERS: (state: IRephraseState, promptParameters: PromptParameter[]) => {\r\n state.promptParameters = promptParameters\r\n },\r\n\r\n SET_TEMPLATE_PARAMETERS: (state: IRephraseState, templateParameters: TemplateParameters[]) => {\r\n state.templateParameters = templateParameters\r\n },\r\n\r\n SET_LANGS: (state: IRephraseState, langs: string[]) => {\r\n state.langs = langs\r\n },\r\n\r\n UPDATE_PROMPT_PARAMETERS: (state: IRephraseState, promptParameter: any) => {\r\n if(state.promptParameters.length === 0) {\r\n state.promptParameters.push(promptParameter)\r\n }else{\r\n if(promptParameter.id){\r\n if(state.promptParameters.find((param: any) => param.id === promptParameter.id)){\r\n state.promptParameters = state.promptParameters.map((param: any) => {\r\n if (param.id === promptParameter.id) {\r\n return promptParameter;\r\n }\r\n return param;\r\n })\r\n }else{\r\n state.promptParameters.push(promptParameter)\r\n }\r\n }else{\r\n let exists = false\r\n state.promptParameters = state.promptParameters.map((param: any) => {\r\n if (!param.id && param.name === promptParameter.name && param.promptId === promptParameter.promptId && param.lang === promptParameter.lang) {\r\n exists = true;\r\n return promptParameter;\r\n }\r\n return param;\r\n })\r\n if (!exists) {\r\n state.promptParameters.push(promptParameter)\r\n }\r\n }\r\n }\r\n },\r\n\r\n SET_CURRENT_PROMPT_ID: (state: IRephraseState, prompt: string) => {\r\n state.currentPromptId = prompt\r\n }\r\n }\r\n ","import {\r\n Module\r\n } from 'vuex'\r\n import {\r\n IState\r\n } from '../../..'\r\n import {\r\n RephraseActions\r\n } from './actions'\r\n import {\r\n RephraseGetters\r\n } from './getters'\r\n import {\r\n IRephraseState,\r\n RephraseState\r\n } from './state'\r\n import {\r\n RephraseMutations\r\n } from './mutations'\r\n \r\n export const rephrase: Module < IRephraseState, IState > = {\r\n namespaced: true,\r\n actions: {\r\n ...RephraseActions\r\n },\r\n getters: {\r\n ...RephraseGetters\r\n },\r\n state: {\r\n ...RephraseState()\r\n },\r\n mutations: {\r\n ...RephraseMutations\r\n },\r\n }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-flex',{staticClass:\"str-analytics-page-container\"},[_c('v-progress-linear',{attrs:{\"color\":\"loading\",\"active\":this.isRequestInProgress,\"indeterminate\":\"\"}}),_c('v-layout',{staticClass:\"str-analytics-filters-container\",attrs:{\"row\":\"\"}},[_c('div',{staticClass:\"str-analytics-service-users-filters\"},[_c('analytics-service-filters'),_c('analytics-user-filters')],1),_c('analytics-filter-and-export-adapter')],1),_c('div',{staticClass:\"scroll\"},[_c('v-flex',{staticClass:\"scroll-overflow\"},[((!_vm.serviceUsageKPIs || _vm.serviceUsageKPIs.length === 0))?_c('div',{class:['str-placeholder-layout']},[_c('v-icon',{staticClass:\"str-no-data-disclaimer\",attrs:{\"size\":\"300px\"}},[_vm._v(\" mdi-chart-areaspline \")]),_c('div',{staticClass:\"str-placeholder-loader-item\"},[_vm._v(\" \"+_vm._s(_vm.$t('app.datatable.no.data.text')))])],1):_vm._e(),(_vm.serviceUsageKPIs && _vm.serviceUsageKPIs.length > 0)?_c('v-flex',{staticClass:\"str-page-items-container\"},[_c('v-layout',{staticClass:\"str-flex-wrap-content\"},[_c('div',{staticClass:\"str-row-kpis-container str-global-kpis-container elevation-0\",attrs:{\"column\":\"\"}},[_c('v-tabs',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasRephrasingValues),expression:\"hasRephrasingValues\"}]},[_c('v-tab',{staticClass:\"kpi-tab-title\",attrs:{\"href\":\"#correction\"}},[_c('div',{staticClass:\"mb-2\"},[_vm._v(\"Correction\")])]),_c('v-tab-item',{attrs:{\"value\":\"correction\"}},_vm._l((_vm.serviceUsageKPIs),function(kpi,index){return _c('app-sparkline-card-item',{key:'kpi_card' + index,attrs:{\"title\":_vm.$t(kpi.kpiLabel),\"gradient\":_vm.SPARKLINE_GRADIENT,\"values\":kpi.subCriteriaValues,\"total\":kpi.totalValue}})}),1),_c('v-tab',{attrs:{\"href\":\"#rephrasing\"}},[_c('div',{staticClass:\"mb-2\"},[_vm._v(\"Reformulation\")])]),_c('v-tab-item',{attrs:{\"value\":\"rephrasing\"}},_vm._l((_vm.rephrasingServiceUsageKPIs),function(kpi,index){return _c('app-sparkline-card-item',{key:'kpi_card' + index,attrs:{\"title\":_vm.$t(kpi.kpiLabel),\"gradient\":_vm.SPARKLINE_GRADIENT,\"values\":kpi.subCriteriaValues,\"total\":kpi.totalValue,\"unitCharacter\":kpi.unitCharacter}})}),1)],1),_vm._l((_vm.serviceUsageKPIs),function(kpi,index){return _c('app-sparkline-card-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hasRephrasingValues),expression:\"!hasRephrasingValues\"}],key:'kpi_card' + index,attrs:{\"title\":_vm.$t(kpi.kpiLabel),\"gradient\":_vm.SPARKLINE_GRADIENT,\"values\":kpi.subCriteriaValues,\"total\":kpi.totalValue}})})],2),(_vm.topFiveErrorTypes && _vm.topFiveErrorTypes.length > 0)?_c('v-card',{staticClass:\"str-row-kpis-container content-main elevation-0\"},[_c('v-card-title',{staticClass:\"lnf-main-kpi-title mb-2 str-top-five-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"app.analytics.top.five.error.types.title\"))+\" \")]),_c('v-card-text',{staticClass:\"str-top-five-container\"},_vm._l((_vm.topFiveErrorTypes),function(item,i){return _c('top-five-error-types',{key:i,attrs:{\"index\":i,\"text\":item.kpiId,\"subtext\":item.totalValue}})}),1)],1):_vm._e()],1),(_vm.evolutionKPIs && _vm.evolutionKPIs.length > 0)?_c('v-card',{staticClass:\"str-chart-container elevation-0\"},[_c('v-card-title',{staticClass:\"lnf-main-kpi-title mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"app.analytics.progression.title\"))+\" \")]),_c('v-card-text',[_c('app-pie-and-histogram-chart',{staticClass:\"str-progression-chart\",attrs:{\"title\":\"\",\"data\":_vm.evolutionKPIs,\"yAxisName\":_vm.$t('app.analytics.progression.pie.chart.yaxis.title'),\"subTitle\":_vm.$t('app.analytics.progression.pie.chart.title'),\"colors\":{ chartColors: _vm.CHART_COLORS, lineColor: _vm.LINE_COLOR },\"curveName\":_vm.$t('app.analytics.average'),\"pieName\":_vm.$t('app.analytics.service.usage.kpis.nb-errors-found')}})],1)],1):_vm._e(),(_vm.verifiedWordsAverage && _vm.verifiedWordsAverage.length > 0)?_c('v-card',{staticClass:\"str-chart-container elevation-0\"},[_c('v-card-title',{staticClass:\"lnf-main-kpi-title mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"app.analytics.average.progression.title\"))+\" \")]),_c('v-card-text',[_c('app-scatter-chart',{attrs:{\"firstDataSet\":_vm.verifiedWordsAverage,\"secondDataSet\":_vm.errorFoundAverage,\"title\":'',\"subTitle\":'',\"xAxisName\":_vm.$t('app.analytics.kpis.verified-word-average'),\"yAxisName\":_vm.$t('app.analytics.kpis.average-errors'),\"pointsColor\":_vm.POINTS_COLOR,\"serieName\":''}})],1)],1):_vm._e()],1):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isDisplayCustomFiltersAllowed)?_c('div',{staticClass:\"str-analytics-user-filter-container\"},[_c('v-icon',[_vm._v(\"mdi-account-multiple\")]),_c('v-select',{staticClass:\"str-app-analytics-filter-banner-container\",attrs:{\"items\":Array.from(_vm.authUsers).map(user => user.email),\"persistent-hint\":true,\"multiple\":\"\"},on:{\"blur\":function($event){return _vm.onSelectedUsers()}},scopedSlots:_vm._u([{key:\"selection\",fn:function({ item, index }){return [(index === 0)?_c('v-chip',[_c('span',[_vm._v(_vm._s(item))])]):_vm._e(),(index === 1)?_c('span',{staticClass:\"grey--text text-caption\"},[_vm._v(\" (+\"+_vm._s(_vm.modelSelectedUsers.length - 1)+\" others) \")]):_vm._e()]}}],null,false,3632871045),model:{value:(_vm.modelSelectedUsers),callback:function ($$v) {_vm.modelSelectedUsers=$$v},expression:\"modelSelectedUsers\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\r\n\r\nexport class VueEventBus extends Vue {\r\n \r\n // the singleton instance of this service\r\n private static singleton: VueEventBus;\r\n\r\n /**\r\n * Get a singleton instance of this service.\r\n */\r\n public static getInstance () {\r\n if (!VueEventBus.singleton) {\r\n VueEventBus.singleton = new VueEventBus()\r\n }\r\n return VueEventBus.singleton\r\n }\r\n\r\n}\r\n\r\n// Initialized singleton instance of VueEventBus\r\nexport const AppEventBus: VueEventBus = VueEventBus.getInstance()\r\n","export enum TypeFilterEnum {\r\n USER_EMAIL = 'userEmail',\r\n SERVICE_NAME = 'serviceName'\r\n}\r\n","\r\nimport { VueEventBus } from '@/AppEventBus'\r\nimport { User } from '@/data-access/custom-filters/models/User'\r\nimport { TypeFilterEnum } from '@/data-access/custom-filters/models/TypeFilterEnum'\r\nimport {\r\n Component,\r\n Vue,\r\n Watch,\r\n } from 'vue-property-decorator'\r\n import {\r\n Action,\r\n Getter\r\n } from 'vuex-class'\r\n\r\n @Component({\r\n name: 'AnalyticsUserFilters',\r\n })\r\n export default class AnalyticsUserFilters extends Vue {\r\n @Action('sendAnalyticsQuery', { namespace: 'analytics' }) sendAnalyticsQuery: any\r\n @Action('setUsersSearchFilter', { namespace: 'customSearchFilters' }) setUsersSearchFilter: any\r\n @Getter('authUsers', { namespace: 'customSearchFilters' }) authUsers!: User[]\r\n @Getter('selectedUsers', { namespace: 'customSearchFilters' }) selectedUsers!: string[]\r\n @Getter('selectedServices', { namespace: 'customSearchFilters' }) selectedServices!: string[]\r\n\r\n modelSelectedUsers: string[] = []\r\n\r\n created(){\r\n VueEventBus.getInstance().$on('APP_EVT_CUSTOM_FILTER_CHANGE', (filterChanged: string) => {\r\n\r\n if(filterChanged != TypeFilterEnum.USER_EMAIL){\r\n this.modelSelectedUsers = []\r\n }\r\n })\r\n this.modelSelectedUsers = this.selectedUsers.length > 0 && this.selectedServices.length == 0 ? this.selectedUsers : this.modelSelectedUsers\r\n }\r\n\r\n @Watch('authUsers')\r\n onAuthUserChanges(){\r\n if (this.authUsers){\r\n this.modelSelectedUsers = this.authUsers.map(user => user.email)\r\n this.setUsersSearchFilter(this.modelSelectedUsers)\r\n this.sendAnalyticsQuery()\r\n }\r\n }\r\n\r\n onSelectedUsers () {\r\n if (this.modelSelectedUsers && this.modelSelectedUsers.length > 0) {\r\n VueEventBus.getInstance().$emit(\"APP_EVT_CUSTOM_FILTER_CHANGE\", TypeFilterEnum.USER_EMAIL)\r\n this.setUsersSearchFilter(this.modelSelectedUsers)\r\n this.sendAnalyticsQuery()\r\n }\r\n }\r\n\r\n get isDisplayCustomFiltersAllowed () {\r\n return this.authUsers && this.authUsers.length > 1\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsUserFilters.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsUserFilters.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AnalyticsUserFilters.vue?vue&type=template&id=5e6b5892&scoped=true\"\nimport script from \"./AnalyticsUserFilters.vue?vue&type=script&lang=ts\"\nexport * from \"./AnalyticsUserFilters.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AnalyticsUserFilters.vue?vue&type=style&index=0&id=5e6b5892&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e6b5892\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./AnalyticsUserFilters.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isDisplayCustomFiltersAllowed)?_c('div',{staticClass:\"str-analytics-service-filter-container\"},[_c('v-icon',[_vm._v(\"mdi-domain\")]),_c('v-select',{staticClass:\"str-app-analytics-filter-banner-container\",attrs:{\"items\":Array.from(_vm.authUsers).map(user => user.service),\"persistent-hint\":true,\"multiple\":\"\"},on:{\"blur\":function($event){return _vm.onSelectedServices()}},scopedSlots:_vm._u([{key:\"selection\",fn:function({ item, index }){return [(index === 0)?_c('v-chip',[_c('span',[_vm._v(_vm._s(item))])]):_vm._e(),(index === 1)?_c('span',{staticClass:\"grey--text text-caption\"},[_vm._v(\" (+\"+_vm._s(_vm.modelSelectedServices.length - 1)+\" others) \")]):_vm._e()]}}],null,false,700833321),model:{value:(_vm.modelSelectedServices),callback:function ($$v) {_vm.modelSelectedServices=$$v},expression:\"modelSelectedServices\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { VueEventBus } from '@/AppEventBus'\r\nimport { TypeFilterEnum } from '@/data-access/custom-filters/models/TypeFilterEnum'\r\nimport {\r\n Component,\r\n Vue,\r\n } from 'vue-property-decorator'\r\n import {\r\n Action,\r\n Getter\r\n } from 'vuex-class'\r\n\r\n @Component({\r\n name: 'AnalyticsServiceFilters',\r\n })\r\n export default class AnalyticsServiceFilters extends Vue {\r\n @Action('sendAnalyticsQuery', { namespace: 'analytics' }) sendAnalyticsQuery: any\r\n @Action('setSelectedUserForService', { namespace: 'customSearchFilters' }) setSelectedUserForService!: any\r\n @Action('resetSelectedServices', { namespace: 'customSearchFilters' }) resetSelectedServices!: any\r\n \r\n @Getter('authUsers', { namespace: 'customSearchFilters' }) authUsers!: string[]\r\n @Getter('selectedServices', { namespace: 'customSearchFilters' }) selectedServices!: string[]\r\n\r\n modelSelectedServices: string[] = []\r\n\r\n created(){\r\n VueEventBus.getInstance().$on('APP_EVT_CUSTOM_FILTER_CHANGE', (filterChanged: string) => {\r\n if(filterChanged != TypeFilterEnum.SERVICE_NAME){\r\n this.modelSelectedServices = []\r\n this.resetSelectedServices()\r\n }\r\n })\r\n this.modelSelectedServices = this.selectedServices\r\n }\r\n\r\n\r\n onSelectedServices () {\r\n if (this.modelSelectedServices && this.modelSelectedServices.length > 0) {\r\n VueEventBus.getInstance().$emit(\"APP_EVT_CUSTOM_FILTER_CHANGE\", TypeFilterEnum.SERVICE_NAME)\r\n this.setSelectedUserForService(this.modelSelectedServices)\r\n this.sendAnalyticsQuery()\r\n }\r\n }\r\n\r\n get isDisplayCustomFiltersAllowed () {\r\n return this.authUsers && this.authUsers.length > 1\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsServiceFilters.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsServiceFilters.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AnalyticsServiceFilters.vue?vue&type=template&id=643a7b29&scoped=true\"\nimport script from \"./AnalyticsServiceFilters.vue?vue&type=script&lang=ts\"\nexport * from \"./AnalyticsServiceFilters.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AnalyticsServiceFilters.vue?vue&type=style&index=0&id=643a7b29&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"643a7b29\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./AnalyticsServiceFilters.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('app-analytics-filter-and-export',{attrs:{\"onDateChange\":() => _vm.onDateChangeWrapper(),\"onExportCSV\":() => _vm.onExportCsvWrapper(),\"onExportAll\":() => _vm.onExportAllWrapper(),\"onLangChange\":() => _vm.langChangeHandler(),\"allowExportData\":_vm.authorizeExportCSV,\"allowExportAll\":_vm.authorizeExportAll}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"str-app-analytics-filter-banner-container\"},[_c('div',{staticClass:\"str-app-analytics-filter-banner-lang-date-container\"},[_c('app-analytics-date-picker-menu',{attrs:{\"onPeriodChange\":(datePayload) => _vm.onDateChangeWrapper(datePayload)}}),_c('app-analytics-lang-picker-menu',{attrs:{\"onLangChange\":(langPayload) => _vm.onLangChangeWrapper(langPayload)}})],1),_c('div',{staticClass:\"str-app-analytics-filter-banner-buttons-container\"},[_c('v-btn',{staticClass:\"str-app-analytics-filter-banner-refresh-btn\",attrs:{\"ripple\":false},on:{\"click\":() => this.sendAnalyticsQuery()}},[_c('v-icon',{staticClass:\"str-app-analytcis-filter-icon\"},[_vm._v(\"mdi-refresh\")]),_vm._v(\" \"+_vm._s(_vm.$t('app.button.refresh'))+\" \")],1),_c('div',{staticClass:\"str-app-analytics-filter-banner-export-container\"},[(_vm.allowExportData)?_c('v-btn',{staticClass:\"str-app-analytics-filter-banner-export-btn\",attrs:{\"color\":\"secondary\"},on:{\"click\":() => this.onExportCSV()}},[_c('v-icon',{staticClass:\"str-app-analytcis-filter-icon\"},[_vm._v(\"mdi-account-multiple\")]),_vm._v(\" \"+_vm._s(_vm.$t('app.button.export.CSV'))+\" \")],1):_vm._e(),(_vm.allowExportAll)?_c('v-btn',{staticClass:\"str-app-analytics-filter-banner-export-btn\",attrs:{\"color\":\"secondary\"},on:{\"click\":() => this.onExportAll()}},[_c('v-icon',{staticClass:\"str-app-analytcis-filter-icon\"},[_vm._v(\"mdi-account-group\")]),_vm._v(\" \"+_vm._s(_vm.$t('app.button.export.all'))+\" \")],1):_vm._e()],1),_c('div',{staticClass:\"tooltip\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('span',_vm._g({staticClass:\"info-icon\"},on),[_vm._v(\"i\")])]}}])},[_c('div',{staticClass:\"tooltip-text\"},[_vm._v(_vm._s(_vm.$t('app.button.infos')))])])],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":false,\"return-value\":_vm.dates,\"transition\":\"scale-transition\",\"min-width\":\"auto\",\"offset-y\":\"\"},on:{\"update:returnValue\":function($event){_vm.dates=$event},\"update:return-value\":function($event){_vm.dates=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({class:['str-app-analytics-datepicker'],attrs:{\"label\":_vm.getDatesText,\"prepend-icon\":\"mdi-calendar\",\"readonly\":\"\"}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.showMenu),callback:function ($$v) {_vm.showMenu=$$v},expression:\"showMenu\"}},[_c('v-date-picker',{staticClass:\"lnf-date-picker\",attrs:{\"locale\":_vm.browserLocale,\"type\":_vm.datePickerType,\"range\":\"\",\"color\":\"secondary\"},model:{value:(_vm.dates),callback:function ($$v) {_vm.dates=$$v},expression:\"dates\"}}),_c('div',{staticClass:\"lnf-date-picker-buttons\"},[_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){_vm.showMenu = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('app.button.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){return _vm.onPeriodValidation(_vm.$refs, _vm.dates)}}},[_vm._v(\" \"+_vm._s(_vm.$t('app.button.OK'))+\" \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Vue,\r\n Prop,\r\n Watch\r\n } from 'vue-property-decorator'\r\n import {\r\n Getter,\r\n } from 'vuex-class'\r\n\r\n @Component({\r\n name: 'AppAnalyticsDatePickerMenu'\r\n })\r\n export default class AppAnalyticsDatePickerMenu extends Vue {\r\n @Prop() onPeriodChange! : Function\r\n @Getter('selectedDateFrom', { namespace: 'searchFilters' }) selectedDateFrom!: string | undefined\r\n @Getter('selectedDateTo', { namespace: 'searchFilters' }) selectedDateTo!: string | undefined\r\n\r\n dates: string[] = []\r\n browserLocale: string = navigator.language.split('-')[0]\r\n showMenu: boolean = false\r\n showMonth: boolean = false\r\n\r\n mounted () {\r\n if (this.dates.length !== 2 && this.selectedDateFrom && this.selectedDateTo) {\r\n this.dates[0] = this.selectedDateFrom\r\n this.dates[1] = this.selectedDateTo\r\n }\r\n }\r\n\r\n @Watch('selectedDateFrom')\r\n onSelectedDateChanged () {\r\n if (this.selectedDateFrom && this.selectedDateTo) {\r\n this.dates[0] = this.selectedDateFrom\r\n this.dates[1] = this.selectedDateTo\r\n }\r\n this.$forceUpdate()\r\n }\r\n\r\n get getDatesText (): string {\r\n if (this.selectedDateFrom && this.selectedDateTo) {\r\n const labelFrom: string = `${this.$t('app.form.datepicker.period.menu.label.from')}`\r\n const labelTo: string = `${this.$t('app.form.datepicker.period.menu.label.to')}`\r\n return `${labelFrom} ${this.selectedDateFrom.substring(0,10)} ${labelTo} ${this.selectedDateTo.substring(0,10)}`\r\n } else {\r\n return `${this.$t('app.form.datepicker.period.menu.placeholder')}`\r\n }\r\n }\r\n\r\n get datePickerType (): string {\r\n return this.showMonth ? 'month' : 'date'\r\n }\r\n\r\n // TODO : take into account month mode selection \r\n onPeriodValidation (refs: any, dates: string[]) {\r\n let orderedDates : string[] = []\r\n if (new Date(dates[0]).getTime() > new Date(dates[1]).getTime()) {\r\n orderedDates[0] = dates[1]\r\n orderedDates[1] = dates[0]\r\n } else {\r\n orderedDates = [...dates]\r\n }\r\n\r\n // set the time to the end of the day for the dateTo\r\n // and the beginning of the day for the dateFrom\r\n // also handle timezone offset\r\n let timezoneOffset = new Date().getTimezoneOffset() * 60000\r\n orderedDates[1] = new Date(new Date(orderedDates[1]).setHours(23,59,59) - timezoneOffset).toISOString()\r\n orderedDates[0] = new Date(new Date(orderedDates[0]).setHours(0,0,0) - timezoneOffset).toISOString()\r\n this.dates = orderedDates\r\n refs.menu.save(orderedDates)\r\n this.onPeriodChange({ dateFrom: orderedDates[0], dateTo: orderedDates[1] })\r\n }\r\n\r\n toggleMonthViewFlag () {\r\n this.showMonth = !this.showMonth\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsDatePickerMenu.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsDatePickerMenu.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppAnalyticsDatePickerMenu.vue?vue&type=template&id=ba8bae10&scoped=true\"\nimport script from \"./AppAnalyticsDatePickerMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AppAnalyticsDatePickerMenu.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppAnalyticsDatePickerMenu.vue?vue&type=style&index=0&id=ba8bae10&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ba8bae10\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"str-app-analytics-lang-picker-container\"},[_c('v-icon',{staticClass:\"str-app-analytics-lang-picker-icon\"},[_vm._v(\"mdi-translate\")]),_c('v-select',{class:['str-app-analytics-langpicker'],attrs:{\"items\":_vm.availableLangs},model:{value:(_vm.lang),callback:function ($$v) {_vm.lang=$$v},expression:\"lang\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Vue,\r\n Prop,\r\n Watch\r\n } from 'vue-property-decorator'\r\n import {\r\n Getter,\r\n Action\r\n } from 'vuex-class'\r\n\r\n @Component({\r\n name: 'AppAnalyticsLangPickerMenu'\r\n })\r\n export default class AppAnalyticsLangPickerMenu extends Vue {\r\n @Prop() onLangChange! : Function\r\n @Action('setAvailableLangs', { namespace: 'searchFilters'}) setAvailableLangs: any\r\n @Action('sendAnalyticsQuery', { namespace: 'analytics' }) sendAnalyticsQuery: any\r\n @Getter('selectedLang', { namespace: 'searchFilters' }) selectedLang!: string | undefined\r\n @Getter('availableLangs', { namespace: 'searchFilters' }) availableLangs!: string[] | undefined\r\n lang : string = \"\"\r\n\r\n mounted(){\r\n this.getAvailableLangs();\r\n if(this.selectedLang)\r\n this.lang = this.selectedLang\r\n else {\r\n if (this.availableLangs && this.availableLangs.length > 0)\r\n this.lang = this.availableLangs[0]\r\n else \r\n this.lang = 'fr'\r\n }\r\n \r\n }\r\n\r\n @Watch('lang')\r\n onSeltectedLang(){\r\n this.onLangChange(this.lang)\r\n }\r\n\r\n getAvailableLangs(){\r\n this.sendAnalyticsQuery('getAvailableLangs')\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsLangPickerMenu.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsLangPickerMenu.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppAnalyticsLangPickerMenu.vue?vue&type=template&id=51b033ec&scoped=true\"\nimport script from \"./AppAnalyticsLangPickerMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AppAnalyticsLangPickerMenu.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppAnalyticsLangPickerMenu.vue?vue&type=style&index=0&id=51b033ec&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51b033ec\",\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component,\r\n Vue,\r\n Prop\r\n } from 'vue-property-decorator'\r\n import {\r\n Action,\r\n Getter,\r\n } from 'vuex-class'\r\n import AppAnalyticsDatePickerMenu from './AppAnalyticsDatePickerMenu.vue'\r\n import AppAnalyticsLangPickerMenu from './AppAnalyticsLangPickerMenu.vue'\r\n\r\n @Component({\r\n name: 'AppAnalyticsFilterAndExport',\r\n components: {\r\n AppAnalyticsDatePickerMenu,\r\n AppAnalyticsLangPickerMenu\r\n }\r\n })\r\n export default class AppAnalyticsFilterAndExport extends Vue {\r\n @Prop() onDateChange!: Function\r\n @Prop() onLangChange!: Function\r\n @Prop() onExportCSV!: Function\r\n @Prop() onExportAll!: Function\r\n @Prop() allowExportData!: boolean\r\n @Prop() allowExportAll!: boolean\r\n\r\n @Action('sendAnalyticsQuery', { namespace: 'analytics' }) sendAnalyticsQuery: any\r\n @Action('setSearchFilterPeriod', { namespace: 'searchFilters' }) setSearchFilterPeriod: any\r\n @Action('setLang', { namespace: 'searchFilters'}) setLang: any\r\n\r\n @Getter('selectedDateFrom', { namespace: 'searchFilters' }) selectedDateFrom!: string | undefined \r\n @Getter('selectedDateTo', { namespace: 'searchFilters' }) selectedDateTo!: string | undefined\r\n @Getter('selectedLang', { namespace: 'searchFilters'}) selectedLang!: string | undefined\r\n \r\n onDateChangeWrapper (datePayload: { dateFrom: string; dateTo: string; }) {\r\n // update datepicker filter\r\n this.setSearchFilterPeriod(datePayload)\r\n // execute the provided callback function at date change\r\n this.onDateChange()\r\n }\r\n\r\n onLangChangeWrapper(lang: string){\r\n // update lang filter\r\n this.setLang(lang)\r\n // execute the provided callback function at date change\r\n this.onLangChange(lang)\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsFilterAndExport.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsFilterAndExport.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppAnalyticsFilterAndExport.vue?vue&type=template&id=1b46bd63&scoped=true\"\nimport script from \"./AppAnalyticsFilterAndExport.vue?vue&type=script&lang=ts\"\nexport * from \"./AppAnalyticsFilterAndExport.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppAnalyticsFilterAndExport.vue?vue&type=style&index=0&id=1b46bd63&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b46bd63\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./AppAnalyticsFilterAndExport.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","\r\n import {\r\n Component,\r\n Vue,\r\n Watch,\r\n } from 'vue-property-decorator'\r\n import {\r\n Action,\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n DateHelper,\r\n CSVExportHelper,\r\nUserEntity,\r\n } from '..'\r\n import {\r\n FineGrainedAuthItemsEnum,\r\n SpecificPermissionsEnum,\r\n PermissionService\r\n } from '..'\r\n import AppAnalyticsFilterAndExport from '../common/components/AppAnalyticsFilterAndExport.vue'\r\n\r\n @Component({\r\n name: 'AnalyticsFilterAndExportAdapter',\r\n components: {\r\n AppAnalyticsFilterAndExport\r\n }\r\n })\r\n export default class AnalyticsFilterAndExportAdapter extends Vue {\r\n @Action('sendAnalyticsQuery', { namespace: 'analytics' }) sendAnalyticsQuery: any\r\n @Action('setLang', { namespace: 'searchFilters'}) setLang: any\r\n @Getter('teamFollowUpKPIs', { namespace: 'analytics' }) teamFollowUpKPIs!: any[] | undefined\r\n @Getter('tenantFollowUpKPIs', { namespace: 'analytics' }) tenantFollowUpKPIs!: any[] | undefined\r\n @Getter('usrHighestAuthorization', { namespace: 'usrSess' }) usrHighestAuthorization!: string | undefined\r\n @Getter('usrAuthorizations', { namespace: 'usrSess' }) usrAuthorizations!: any | undefined\r\n @Getter('usrIdentity', { namespace: 'usrSess' }) usrIdentity!: UserEntity | undefined\r\n @Getter('selectedDateFrom', { namespace: 'searchFilters' }) selectedDateFrom!: string | undefined\r\n @Getter('selectedDateTo', { namespace: 'searchFilters' }) selectedDateTo!: string | undefined\r\n @Getter('availableLangs', { namespace: 'searchFilters' }) availableLangs: string[] | undefined\r\n @Getter('selectedLang', { namespace: 'searchFilters' }) selectedLang!: string | undefined\r\n\r\n\r\n onDateChangeWrapper () {\r\n this.sendAnalyticsQuery()\r\n }\r\n\r\n onExportCsvWrapper () {\r\n if (this.teamFollowUpKPIs && this.selectedDateFrom && this.selectedDateTo) {\r\n const csvString : string = CSVExportHelper.generateCsvExport( this.initCsvHeaders(this.teamFollowUpKPIs),\r\n this.teamFollowUpKPIs, \r\n this.selectedDateFrom, \r\n this.selectedDateTo)\r\n CSVExportHelper.executeDownloadCsvFile(this.getExportFileName(), csvString)\r\n }\r\n }\r\n\r\n onExportAllWrapper () {\r\n if (this.selectedDateFrom && this.selectedDateTo) {\r\n this.sendAnalyticsQuery('exportAll')\r\n }\r\n }\r\n\r\n langChangeHandler () {\r\n this.sendAnalyticsQuery()\r\n }\r\n\r\n // After query from onExportAllWrapper updates tenantFollowUpKPIs state, we run the export\r\n @Watch('tenantFollowUpKPIs')\r\n runExportToCSV() {\r\n if (this.tenantFollowUpKPIs && this.selectedDateFrom && this.selectedDateTo){\r\n const dataToExport = CSVExportHelper.formatTenantKPIsForExport(this.tenantFollowUpKPIs)\r\n const csvString : string = CSVExportHelper.generateCsvExport( this.initCsvHeaders(dataToExport),\r\n dataToExport,\r\n this.selectedDateFrom,\r\n this.selectedDateTo)\r\n CSVExportHelper.executeDownloadCsvFile(this.getExportFileName(), csvString)\r\n } \r\n }\r\n\r\n initCsvHeaders (dataToExport: any | undefined): string {\r\n let csvString : string = ''\r\n let csvLine = ''\r\n\r\n csvLine += this.$t('app.feature.analytics.owner')\r\n csvLine += `,${this.$t('app.feature.analytics.dateFrom')}`\r\n csvLine += `,${this.$t('app.feature.analytics.dateTo')}`\r\n\r\n if (dataToExport) {\r\n const kpiCodes: string[] = Object.getOwnPropertyNames(dataToExport[0])\r\n for (const kpiCode of kpiCodes) {\r\n if (kpiCode.indexOf('__') === -1 && kpiCode !== 'owner') {\r\n csvLine += ','\r\n csvLine += this.$t(`app.analytics.kpis.${kpiCode}`)\r\n }\r\n }\r\n csvString += csvLine.substring(0, csvLine.length) + '\\n'\r\n }\r\n return csvString\r\n }\r\n\r\n getExportFileName () {\r\n if (this.selectedDateFrom && this.selectedDateTo) {\r\n return `cordial-team-follow-up-KPIs__${DateHelper.formatDate(\r\n new Date(this.selectedDateFrom))}__${DateHelper.formatDate(new Date(this.selectedDateTo))}.csv`\r\n }\r\n return `cordial-team-follow-up-KPIs__${DateHelper.formatDate(new Date())}__${DateHelper.formatDate(new Date())}.csv`\r\n }\r\n\r\n get authorizeExportCSV () {\r\n if (!this.usrHighestAuthorization) {\r\n return false\r\n }\r\n const supervisorFineGrainedAuthz: Map < FineGrainedAuthItemsEnum, SpecificPermissionsEnum > | undefined\r\n = PermissionService.specificPermissionByRole.get(this.usrHighestAuthorization)\r\n return (supervisorFineGrainedAuthz && supervisorFineGrainedAuthz.has(FineGrainedAuthItemsEnum.KPI_DATA))\r\n }\r\n\r\n get authorizeExportAll () {\r\n let exportAll = false;\r\n if (!this.usrAuthorizations) {\r\n return false\r\n }\r\n Object.getOwnPropertyNames(this.usrAuthorizations).forEach((key) => {\r\n if (this.usrAuthorizations[key].includes('export-all')) {\r\n exportAll = true\r\n }\r\n })\r\n return exportAll\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsFilterAndExportAdapter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsFilterAndExportAdapter.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AnalyticsFilterAndExportAdapter.vue?vue&type=template&id=4d84c358\"\nimport script from \"./AnalyticsFilterAndExportAdapter.vue?vue&type=script&lang=ts\"\nexport * from \"./AnalyticsFilterAndExportAdapter.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-card',{staticClass:\"str-card-container\",attrs:{\"elevation\":\"2\",\"outlined\":\"\",\"tile\":\"\"}},[_c('v-card-title',{staticClass:\"lnf-card-title mb-2\",domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('v-card-text',[_c('v-layout',{staticClass:\"str-flex-content\",attrs:{\"wrap\":\"\"}},[_c('span',{staticClass:\"content-main text-h3 mb-1\"},[_vm._v(\" \"+_vm._s(_vm.total)+_vm._s(_vm.unitCharacter)+\" \")]),_c('v-sparkline',{staticClass:\"str-spark-line\",attrs:{\"value\":_vm.values,\"gradient\":_vm.gradient,\"smooth\":10 || false,\"fill\":false,\"stroke-linecap\":\"round\",\"gradient-direction\":\"top\",\"type\":\"trend\",\"auto-draw\":\"\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Prop,\r\n Vue\r\n } from 'vue-property-decorator'\r\n\r\n @Component({\r\n name: 'AppSparklineCardItem'\r\n })\r\n export default class AppSparklineCardItem extends Vue {\r\n @Prop() title: string | undefined\r\n @Prop() values: number[] | undefined\r\n @Prop() total: number | undefined\r\n @Prop() gradient!: string[] | undefined\r\n @Prop() unitCharacter!: string | undefined\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSparklineCardItem.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSparklineCardItem.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppSparklineCardItem.vue?vue&type=template&id=26d8f78c&scoped=true\"\nimport script from \"./AppSparklineCardItem.vue?vue&type=script&lang=ts\"\nexport * from \"./AppSparklineCardItem.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppSparklineCardItem.vue?vue&type=style&index=0&id=26d8f78c&prod&lang=scss\"\nimport style1 from \"./AppSparklineCardItem.vue?vue&type=style&index=1&id=26d8f78c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26d8f78c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('highcharts',{attrs:{\"options\":_vm.chartOptions}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Vue,\r\n Component,\r\n Prop,\r\n Watch\r\n } from \"vue-property-decorator\"\r\n import {\r\n Chart\r\n } from \"highcharts-vue\"\r\n import {\r\n AnalyticsKPIEntity\r\n } from \"..\"\r\n\r\n\r\n @Component({\r\n name: \"AppPieAndHistogramChart\",\r\n components: {\r\n highcharts: Chart,\r\n },\r\n })\r\n export default class AppPieAndHistogramChart extends Vue {\r\n @Prop() data!: AnalyticsKPIEntity[]\r\n @Prop() title!: string\r\n @Prop() yAxisName!: string\r\n @Prop() curveName!: string\r\n @Prop() pieName!: string\r\n @Prop() subTitle!: string\r\n @Prop() colors!: { chartColors:[], lineColor:string }\r\n\r\n chartOptions: any\r\n subPeriodNumber!: number\r\n\r\n get pieChartMarginleft() { return 120 }\r\n get pieChartMarginTop() { return 10 }\r\n\r\n created() {\r\n this.updateChart()\r\n }\r\n\r\n @Watch('data')\r\n onDataUpdate() {\r\n this.updateChart()\r\n this.$forceUpdate()\r\n }\r\n\r\n updateChart() {\r\n if (this.data) {\r\n this.subPeriodNumber = this.data[0].subCriteriaValues.length\r\n const series = []\r\n series.push(...this.buildSeriesColumn())\r\n series.push(this.buildSeriesAverageCurve())\r\n series.push(this.buildSeriePieChart())\r\n\r\n this.chartOptions = {\r\n title: {\r\n text: this.title,\r\n },\r\n credits: {\r\n enabled: false\r\n },\r\n yAxis: {\r\n min: 0,\r\n title: {\r\n text: this.yAxisName\r\n }\r\n },\r\n xAxis: {\r\n categories: Array.from(this.data[0].subCriteriaValues, x => this.$t(x.label)),\r\n },\r\n labels: {\r\n items: [\r\n {\r\n html: this.subTitle,\r\n style: {\r\n left: `${this.pieChartMarginleft}px`,\r\n top: `${this.pieChartMarginTop}px`,\r\n color: \"black\"\r\n },\r\n },\r\n ],\r\n },\r\n series,\r\n }\r\n }\r\n }\r\n \r\n buildSeriesColumn(): any[] {\r\n const result : any[]= []\r\n for (const [index, kpiData] of this.data.entries()) {\r\n result.push({ type: \"column\",\r\n name: this.$t(kpiData.kpiId),\r\n color: this.colors.chartColors[index],\r\n data: Array.from(kpiData.subCriteriaValues, x => x.value)\r\n })\r\n }\r\n return result\r\n }\r\n\r\n buildSeriesAverageCurve(): any {\r\n const average: number[] = this.initializeAverageValues()\r\n const result: any = { \r\n type: \"spline\",\r\n name: this.curveName,\r\n data: average,\r\n marker: {\r\n lineWidth: 2,\r\n lineColor: this.colors.lineColor,\r\n fillColor: \"white\",\r\n },\r\n tooltip: {\r\n headerFormat: '{series.name}
',\r\n pointFormat: '{point.category}: {point.y}'\r\n },\r\n }\r\n return result\r\n }\r\n\r\n buildSeriePieChart(): any {\r\n const result: any = {\r\n type: \"pie\",\r\n name: this.pieName,\r\n data: this.buildPieChartData(),\r\n center: [50, 20],\r\n size: 80,\r\n showInLegend: false,\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n }\r\n return result\r\n }\r\n\r\n buildPieChartData(): any[] {\r\n if (this.data) {\r\n const result: any[] = []\r\n for (const [index,kpi] of this.data.entries()) {\r\n result.push({ name: kpi.kpiId,\r\n y: Array.from(kpi.subCriteriaValues, x => x.value).reduce((a, b) => a + b, 0),\r\n color: this.colors.chartColors[index]\r\n })\r\n }\r\n return result\r\n }\r\n return []\r\n }\r\n\r\n initializeAverageValues(): number[] {\r\n if (this.data) {\r\n const result: number[] = new Array(this.data[0].subCriteriaValues.length).fill(0)\r\n for (let i = 0; i < this.subPeriodNumber; i++) {\r\n for (let j = 0; j < this.data.length; j ++) {\r\n result[i] += this.data[j].subCriteriaValues[i].value \r\n }\r\n result[i] = Number((result[i] / this.data.length).toFixed(1)) // keep one digit\r\n }\r\n return result\r\n }\r\n return []\r\n }\r\n\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppPieAndHistogramChart.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppPieAndHistogramChart.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppPieAndHistogramChart.vue?vue&type=template&id=4978ec96\"\nimport script from \"./AppPieAndHistogramChart.vue?vue&type=script&lang=ts\"\nexport * from \"./AppPieAndHistogramChart.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-timeline',{staticClass:\"str-top-five-content\",attrs:{\"align-top\":\"\",\"dense\":\"\"}},[_c('v-timeline-item',{attrs:{\"icon\":_vm.getIcon(_vm.index),\"color\":_vm.getColor(_vm.index),\"fill-dot\":\"\",\"right\":\"\",\"dark\":\"\"}},[_c('v-card',{attrs:{\"color\":_vm.getColor(_vm.index)}},[_c('v-card-title',{staticClass:\"str-timeline-item-title\",domProps:{\"textContent\":_vm._s(_vm.text)}}),_c('v-card-subtitle',{domProps:{\"textContent\":_vm._s(_vm.subtext + _vm.$t(\"app.analytics.top.five.error.types.times\"))}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Prop,\r\n Vue\r\n } from 'vue-property-decorator'\r\n import {\r\n AppConfigService\r\n } from '..'\r\n\r\n @Component({\r\n name: 'TopFiveErrorTypes'\r\n })\r\n export default class TopFiveErrorTypes extends Vue {\r\n @Prop() text: string | undefined\r\n @Prop() subtext: string | undefined\r\n @Prop() index : number | undefined\r\n\r\n getIcon(index: number) {\r\n return `mdi-numeric-${index+1}`\r\n }\r\n\r\n getColor(index: number) {\r\n const color: string = AppConfigService.getTopFiveMainColor()\r\n const totalSize: number = 4\r\n // darken for the first 4 items, then lighten for the last one because darken only exists in 4 variations\r\n return index === totalSize ? `${color} lighten-1` : `${color} darken-${totalSize-index}`\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopFiveErrorTypes.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopFiveErrorTypes.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TopFiveErrorTypes.vue?vue&type=template&id=41be0499&scoped=true\"\nimport script from \"./TopFiveErrorTypes.vue?vue&type=script&lang=ts\"\nexport * from \"./TopFiveErrorTypes.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TopFiveErrorTypes.vue?vue&type=style&index=0&id=41be0499&prod&lang=scss\"\nimport style1 from \"./TopFiveErrorTypes.vue?vue&type=style&index=1&id=41be0499&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"41be0499\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./TopFiveErrorTypes.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('highcharts',{attrs:{\"options\":_vm.chartOptions}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Vue,\r\n Component,\r\n Prop,\r\n Watch\r\n } from \"vue-property-decorator\"\r\n import {\r\n Chart\r\n } from \"highcharts-vue\"\r\n import {\r\n AnalyticsKPIEntity\r\n } from \"..\"\r\n\r\n\r\n @Component({\r\n name: \"AppScatterChart\",\r\n components: {\r\n highcharts: Chart,\r\n },\r\n })\r\n export default class AppScatterChart extends Vue {\r\n @Prop() firstDataSet!: AnalyticsKPIEntity[]\r\n @Prop() secondDataSet!: AnalyticsKPIEntity[]\r\n @Prop() title!: string\r\n @Prop() subTitle!: string\r\n @Prop() xAxisName!: string\r\n @Prop() yAxisName!: string\r\n @Prop() pointsColor!: string\r\n @Prop() serieName!: string\r\n @Prop() colors!: { chartColors:[], lineColor:string }\r\n\r\n chartOptions: any\r\n\r\n created() {\r\n this.updateChart()\r\n }\r\n\r\n @Watch('firstDataSet')\r\n @Watch('secondDataSet')\r\n onDataUpdate() {\r\n this.updateChart()\r\n this.$forceUpdate()\r\n }\r\n\r\n get formatedData() {\r\n let temp : any[] = []\r\n let result : any[] = []\r\n if (this.firstDataSet && this.secondDataSet) {\r\n for (const kpi1 of this.firstDataSet) {\r\n temp.push({x:Math.round(kpi1.totalValue) , y:undefined , name:kpi1.owner})\r\n }\r\n for (const kpi2 of this.secondDataSet) {\r\n const dataForUser: any = temp.find(e => e.name === kpi2.owner)\r\n dataForUser.y = Math.round(kpi2.totalValue)\r\n const previousUserWithSameData : any = result.find(e => e.x === dataForUser.x && e.y === dataForUser.y && e.name !== dataForUser.name)\r\n if(previousUserWithSameData){\r\n previousUserWithSameData.name += ', '+dataForUser.name\r\n }\r\n else{\r\n result.push(dataForUser)\r\n }\r\n \r\n }\r\n }\r\n return result\r\n }\r\n\r\n updateChart() {\r\n this.chartOptions = {\r\n chart: {\r\n type: 'scatter',\r\n zoomType: 'xy'\r\n },\r\n credits: {\r\n enabled: false\r\n },\r\n title: {\r\n text: this.title\r\n },\r\n subtitle: {\r\n text: this.subTitle\r\n },\r\n xAxis: {\r\n title: {\r\n enabled: true,\r\n text: this.xAxisName\r\n },\r\n startOnTick: true,\r\n endOnTick: true,\r\n showLastLabel: true\r\n },\r\n yAxis: {\r\n title: {\r\n text: this.yAxisName\r\n }\r\n },\r\n legend: {\r\n enabled : false\r\n },\r\n plotOptions: {\r\n scatter: {\r\n marker: {\r\n radius: 5,\r\n states: {\r\n hover: {\r\n enabled: true,\r\n lineColor: 'rgb(100,100,100)'\r\n }\r\n }\r\n },\r\n states: {\r\n hover: {\r\n marker: {\r\n enabled: false\r\n }\r\n }\r\n },\r\n tooltip: {\r\n headerFormat: '{point.key}
',\r\n pointFormat: '{point.x} , {point.y}'\r\n }\r\n }\r\n },\r\n series: [{\r\n name: this.serieName,\r\n color: this.pointsColor,\r\n data: this.formatedData\r\n }]\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScatterChart.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScatterChart.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppScatterChart.vue?vue&type=template&id=6fc37ffa\"\nimport script from \"./AppScatterChart.vue?vue&type=script&lang=ts\"\nexport * from \"./AppScatterChart.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component\r\n } from 'vue-property-decorator'\r\n import {\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n AnalyticsKPIEntity\r\n } from '..'\r\n import AbstractView from '../common/views/AbstractView.vue'\r\n import AnalyticsUserFilters from '../components/AnalyticsUserFilters.vue'\r\n import AnalyticsServiceFilters from '../components/AnalyticsServiceFilters.vue'\r\n import AnalyticsFilterAndExportAdapter from '../components/AnalyticsFilterAndExportAdapter.vue'\r\n import AppSparklineCardItem from '../common/components/AppSparklineCardItem.vue'\r\n import AppPieAndHistogramChart from '../common/components/AppPieAndHistogramChart.vue'\r\n import TopFiveErrorTypes from '../components/TopFiveErrorTypes.vue'\r\n import AppScatterChart from '../common/components/AppScatterChart.vue'\r\n\r\n @Component({\r\n name: 'AnalyticsView',\r\n components: {\r\n AnalyticsUserFilters,\r\n AnalyticsFilterAndExportAdapter,\r\n AppSparklineCardItem,\r\n AppPieAndHistogramChart,\r\n TopFiveErrorTypes,\r\n AppScatterChart,\r\n AnalyticsServiceFilters\r\n },\r\n })\r\n export default class AnalyticsView extends AbstractView {\r\n @Getter('serviceUsageKPIs', { namespace: 'analytics' })serviceUsageKPIs!: AnalyticsKPIEntity[]\r\n @Getter('rephrasingServiceUsageKPIs', { namespace: 'analytics' })rephrasingServiceUsageKPIs!: AnalyticsKPIEntity[]\r\n @Getter('hasRephrasingValues', { namespace: 'analytics' })hasRephrasingValues!: boolean\r\n @Getter('isRequestInProgress', { namespace: 'analytics' })isRequestInProgress!: boolean\r\n @Getter('evolutionKPIs', { namespace: 'analytics' })evolutionKPIs!: AnalyticsKPIEntity[]\r\n @Getter('topFiveErrorTypes', { namespace: 'analytics' }) topFiveErrorTypes!: AnalyticsKPIEntity[]\r\n @Getter('errorFoundAverage', { namespace: 'analytics' }) errorFoundAverage!: AnalyticsKPIEntity[]\r\n @Getter('verifiedWordsAverage', { namespace: 'analytics' }) verifiedWordsAverage!: AnalyticsKPIEntity[]\r\n\r\n CHART_COLORS =['#00bddb','#cfd4f1','#eb5475']\r\n LINE_COLOR = '#7172a7'\r\n POINTS_COLOR = '#24a8bd'\r\n SPARKLINE_GRADIENT = ['#EF5350','#f3d30d','#24a8bd'] \r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyticsView.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AnalyticsView.vue?vue&type=template&id=3e326405&scoped=true\"\nimport script from \"./AnalyticsView.vue?vue&type=script&lang=ts\"\nexport * from \"./AnalyticsView.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AnalyticsView.vue?vue&type=style&index=0&id=3e326405&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3e326405\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./AnalyticsView.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-flex',{staticClass:\"str-team-progress-page-container\",attrs:{\"justify-center\":\"\",\"fill-height\":\"\"}},[_c('v-layout',{staticClass:\"str-analytics-filters-container\",attrs:{\"row\":\"\"}},[_c('analytics-service-filters'),_c('analytics-user-filters'),_c('analytics-filter-and-export-adapter')],1),_c('v-tabs',{staticClass:\"str-page-items-container\"},[_c('v-tab',{attrs:{\"href\":\"#correction\"}},[_c('div',{staticClass:\"mb-2\"},[_vm._v(\"Correction\")])]),_c('v-tab-item',{attrs:{\"value\":\"correction\"}},[_c('v-card',{staticClass:\"str-page-items-container elevation-0\"},[_c('v-card-title',[_c('v-spacer'),_c('v-spacer'),_c('v-spacer'),_c('v-spacer'),_c('v-spacer'),_c('v-text-field',{staticClass:\"lnf-search-input\",attrs:{\"color\":\"secondary\",\"append-icon\":\"mdi-magnify\",\"autofocus\":\"\",\"clearable\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-card-text',[_c('v-layout',{staticClass:\"str-team-progress-kpis-list-layout\",attrs:{\"row\":\"\"}},[_c('v-flex',{staticClass:\"str-team-progress-kpis-list-layout-overflow\"},[_c('v-data-table',{staticClass:\"lnf-team-progress-results-list\",attrs:{\"headers\":_vm.correctionDataTableHeaders,\"items\":_vm.teamFollowUpKPIs,\"loading\":_vm.isRequestInProgress,\"search\":_vm.search,\"no-data-text\":_vm.$t('app.datatable.no.data.text'),\"no-results-text\":_vm.$t('app.datatable.no.result.text'),\"footer-props\":_vm.footerParams}})],1)],1)],1)],1)],1),_c('v-tab',{attrs:{\"href\":\"#rephrasing\"}},[_c('div',{staticClass:\"mb-2\"},[_vm._v(\"Reformulation\")])]),_c('v-tab-item',{attrs:{\"value\":\"rephrasing\"}},[_c('v-card',{staticClass:\"str-page-items-container elevation-0\"},[_c('v-card-title',[_c('v-spacer'),_c('v-spacer'),_c('v-spacer'),_c('v-spacer'),_c('v-spacer'),_c('v-text-field',{staticClass:\"lnf-search-input\",attrs:{\"color\":\"secondary\",\"append-icon\":\"mdi-magnify\",\"autofocus\":\"\",\"clearable\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-card-text',[_c('v-layout',{staticClass:\"str-team-progress-kpis-list-layout\",attrs:{\"row\":\"\"}},[_c('v-flex',{staticClass:\"str-team-progress-kpis-list-layout-overflow\"},[_c('v-data-table',{staticClass:\"lnf-team-progress-results-list\",attrs:{\"headers\":_vm.rephrasingDataTableHeaders,\"items\":_vm.teamRephrasingKPIs,\"loading\":_vm.isRequestInProgress,\"search\":_vm.search,\"no-data-text\":_vm.$t('app.datatable.no.data.text'),\"no-results-text\":_vm.$t('app.datatable.no.result.text'),\"footer-props\":_vm.footerParams}})],1)],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Watch\r\n } from 'vue-property-decorator'\r\n import {\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n EnumHelper,\r\n } from '..'\r\n import {\r\n AppServiceUsageEnum,\r\n AppRephrasingServiceUsageEnum,\r\n ErrorFirstLevelClassEnum,\r\n } from '..'\r\n import AbstractView from '../common/views/AbstractView.vue'\r\n import AnalyticsFilterAndExportAdapter from '../components/AnalyticsFilterAndExportAdapter.vue'\r\n import AnalyticsUserFilters from '../components/AnalyticsUserFilters.vue'\r\n import AnalyticsServiceFilters from '../components/AnalyticsServiceFilters.vue'\r\n\r\n @Component({\r\n name: 'TeamProgressView',\r\n components: {\r\n AnalyticsFilterAndExportAdapter,\r\n AnalyticsUserFilters,\r\n AnalyticsServiceFilters\r\n }\r\n })\r\n export default class TeamProgressView extends AbstractView {\r\n @Getter('teamFollowUpKPIs', { namespace: 'analytics' }) teamFollowUpKPIs!: any[] | undefined\r\n @Getter('isRequestInProgress', { namespace: 'analytics' }) isRequestInProgress!: boolean\r\n @Getter('teamRephrasingKPIs', { namespace: 'analytics' }) teamRephrasingKPIs!: string[] | undefined\r\n\r\n search: string = ''\r\n correctionDataTableHeaders: string[] = []\r\n rephrasingDataTableHeaders: string[] = []\r\n\r\n @Watch('teamFollowUpKPIs')\r\n onDataChanged() {\r\n this.$forceUpdate()\r\n }\r\n\r\n @Watch('isRequestInProgress')\r\n onRequestStateChanged() {\r\n this.$forceUpdate()\r\n }\r\n\r\n created () {\r\n // initialize headers array\r\n\r\n // CORRECTION TAB\r\n this.correctionDataTableHeaders = []\r\n\r\n // set the first column name\r\n const correctionHeader: any = {\r\n text: `${this.$t('app.feature.analytics.owner')}`,\r\n value: 'owner',\r\n align: 'left'\r\n }\r\n this.correctionDataTableHeaders.push(correctionHeader)\r\n\r\n\r\n // TODO get configured customer classification level\r\n // first 3 columns of table = service usage KPIs\r\n for (const kpiCode of EnumHelper.enumKeys(AppServiceUsageEnum)) {\r\n const correctionHeaderTitle: string = `app.analytics.kpis.${AppServiceUsageEnum[kpiCode]}`\r\n const correctionHeader: any = {\r\n text: `${this.$t(correctionHeaderTitle)}`,\r\n value: AppServiceUsageEnum[kpiCode],\r\n align: 'center'\r\n }\r\n this.correctionDataTableHeaders.push(correctionHeader)\r\n }\r\n\r\n // last 3 columns of table = error types\r\n for (const kpiCode of EnumHelper.enumKeys(ErrorFirstLevelClassEnum)) {\r\n const correctionHeaderTitle: string = `app.analytics.kpis.${ErrorFirstLevelClassEnum[kpiCode]}`\r\n const correctionHeader: any = {\r\n text: `${this.$t(correctionHeaderTitle)}`,\r\n value: ErrorFirstLevelClassEnum[kpiCode],\r\n align: 'center'\r\n }\r\n this.correctionDataTableHeaders.push(correctionHeader)\r\n }\r\n\r\n // REPHRASING TAB\r\n this.rephrasingDataTableHeaders = []\r\n\r\n // set the first column name\r\n const rephraseHeader: any = {\r\n text: `${this.$t('app.feature.analytics.owner')}`,\r\n value: 'owner',\r\n align: 'left'\r\n }\r\n\r\n this.rephrasingDataTableHeaders.push(rephraseHeader)\r\n\r\n // first 3 columns of table = rephrasing team KPIs\r\n for (const kpiCode of EnumHelper.enumKeys(AppRephrasingServiceUsageEnum)) {\r\n const rephrasingHeaderTitle: string = `app.analytics.rephrasing.kpis.${AppRephrasingServiceUsageEnum[kpiCode]}`\r\n const rephrasingHeader: any = {\r\n text: `${this.$t(rephrasingHeaderTitle)}`,\r\n value: AppRephrasingServiceUsageEnum[kpiCode],\r\n align: 'center'\r\n }\r\n this.rephrasingDataTableHeaders.push(rephrasingHeader)\r\n }\r\n }\r\n\r\n get footerParams () {\r\n return { \r\n 'show-current-page': true,\r\n 'items-per-page-text': this.$t('app.datatable.footer.pagination.text'),\r\n 'items-per-page-all-text': this.$t('app.datatable.footer.pagination.all.text'),\r\n 'disablePagination': false,\r\n 'disableItemsPerPage': false,\r\n 'itemsPerPage': -1,\r\n 'items-per-page-options': [10, 20, 50, -1]\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamProgressView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamProgressView.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TeamProgressView.vue?vue&type=template&id=d5b5f8ae&scoped=true\"\nimport script from \"./TeamProgressView.vue?vue&type=script&lang=ts\"\nexport * from \"./TeamProgressView.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TeamProgressView.vue?vue&type=style&index=0&id=d5b5f8ae&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d5b5f8ae\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-flex',{staticClass:\"str-manage-licenses-page-container\",attrs:{\"fill-height\":\"\"}},[_c('v-card',{staticClass:\"str-page-items-container elevation-0\"},[_c('div',{staticClass:\"str-grid-container\"},[_c('div',{staticClass:\"str-table-container\"},[(_vm.admin)?_c('label',[_vm._v(\" SUPER ADMIN MODE (ONLY FOR SYNAPSE USERS) \")]):_vm._e(),(_vm.admin)?_c('v-radio-group',{staticStyle:{\"margin-bottom\":\"-30px\"},attrs:{\"row\":\"\"},model:{value:(_vm.userType),callback:function ($$v) {_vm.userType=$$v},expression:\"userType\"}},[_c('v-radio',{attrs:{\"label\":\"B2B\",\"value\":\"B2B\"}}),_c('v-radio',{attrs:{\"label\":\"B2C\",\"value\":\"B2C\"}})],1):_vm._e(),_c('v-card-title',[_c('v-btn',{attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){_vm.createAccountFormVisible = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.create.dialog.button.title'))+\" \")]),(_vm.admin)?_c('v-spacer'):_vm._e(),(_vm.admin)?_c('v-btn',{attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){_vm.importUserVisible = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.dialog.button.title'))+\" \")]):_vm._e(),(_vm.admin)?_c('v-spacer'):_vm._e(),(_vm.admin)?_c('v-btn',{attrs:{\"color\":\"secondary\"},on:{\"click\":() => _vm.fetchUsers()}},[_c('v-icon',{staticClass:\"str-app-analytcis-filter-icon\"},[_vm._v(\"mdi-refresh\")]),_vm._v(\" \"+_vm._s(_vm.$t('app.button.refresh'))+\" \")],1):_vm._e(),(_vm.selectedUsers?.length > 0)?_c('v-spacer'):_vm._e(),(_vm.selectedUsers?.length > 0)?_c('v-btn',{staticClass:\"lnf-delete-account-button\",attrs:{\"color\":\"error darken-1\"},on:{\"click\":_vm.delUser}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.delete.dialog.button.title'))+\" \")]):_vm._e(),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":_vm.$t('app.datatable.search.text'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-layout',{staticClass:\"str-users-license-list-layout\",attrs:{\"row\":\"\"}},[_c('v-flex',{staticClass:\"str-users-license-list-layout-overflow\"},[_c('v-data-table',{staticClass:\"my-data-table\",attrs:{\"headers\":_vm.dataTableHeaders,\"items\":_vm.users,\"loading\":_vm.tableLoading,\"item-class\":'greyed-out',\"search\":_vm.search,\"no-data-text\":_vm.$t('app.datatable.no.data.text'),\"no-results-text\":_vm.$t('app.datatable.no.result.text'),\"footer-props\":{\n 'items-per-page-text': _vm.$t('app.datatable.items.per.page.text'),\n 'items-per-page-all-text': _vm.$t('app.datatable.items.per.page.all'),\n 'page-text': _vm.$t('app.datatable.page.text'),\n },\"show-select\":\"\",\"item-key\":\"email\",\"sort-desc\":true},scopedSlots:_vm._u([{key:\"body\",fn:function({ items, isSelected, select }){return [_c('tbody',[_vm._l((items),function(item){return _c('tr',{key:`${item.id}${Math.random()}`,class:!item.enabled ? 'greyed-out' : ''},[_c('td',[_c('v-checkbox',{staticClass:\"str-checkbox\",attrs:{\"input-value\":isSelected(item),\"hide-details\":\"\"},on:{\"click\":function($event){select(item,!isSelected(item))}}})],1),_c('td',{staticClass:\"str-email-table-row\",class:{ 'hovered': item.hover },on:{\"mouseover\":function($event){item.hover = true},\"mouseleave\":function($event){item.hover = false},\"click\":function($event){_vm.selectedAccount = item}}},[(!item.enabled)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('span',_vm._g({},on),[_vm._v(_vm._s(item.email))])]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('app.datatable.user.desactivated'))+\" \")])]):_c('span',[_vm._v(_vm._s(item.email))])],1),(_vm.usersOfHierarchy?.length > 0)?_c('td',[_vm._v(\" \"+_vm._s(_vm.managerInfo(item))+\" \")]):_vm._e(),(_vm.usersOfHierarchy?.length > 0 && _vm.usrIdentity?.managedTenants)?_c('td',[_vm._v(_vm._s(item.tenantName))]):_vm._e(),_c('td',[_c('div',{staticClass:\"str-actions-container\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [(!item.enabled)?_c('v-icon',_vm._g(_vm._b({staticClass:\"str-reactivate-icon\",on:{\"click\":function($event){return _vm.activateUser(item)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-account-reactivate-outline \")]):_vm._e()]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('app.datatable.user.reactivate'))+\" \")])]),_c('v-icon',{on:{\"click\":function($event){return _vm.delUser(item)}}},[_vm._v(\"mdi-delete\")])],1)])])}),(_vm.users.length === 0)?_c('tr',[_c('td',{attrs:{\"colspan\":\"100%\"}},[(_vm.admin)?_c('label',[_vm._v(\"Les données ne sont pas chargées par défaut pour le rôle super admin (cliquer sur rafraîchir pour avoir la liste des utilisateurs)\")]):_vm._e(),(!_vm.admin)?_c('label',[_vm._v(_vm._s(_vm.$t('app.loading'))+\"...\")]):_vm._e()])]):_vm._e()],2)]}}]),model:{value:(_vm.selectedUsers),callback:function ($$v) {_vm.selectedUsers=$$v},expression:\"selectedUsers\"}})],1)],1)],1),_c('transition',{attrs:{\"name\":\"user-details\"}},[(_vm.selectedAccount)?_c('user-details-card',{attrs:{\"user\":_vm.selectedAccount,\"admin\":_vm.admin},on:{\"user-updated\":_vm.refreshUser,\"close\":function($event){_vm.selectedAccount = false}}}):_vm._e()],1)],1)]),_c('v-dialog',{ref:\"confirmationDialog\",attrs:{\"persistent\":\"\",\"max-width\":\"400\"},model:{value:(_vm.dialogVisible),callback:function ($$v) {_vm.dialogVisible=$$v},expression:\"dialogVisible\"}},[_c('v-card',[_c('v-progress-linear',{attrs:{\"active\":_vm.loading,\"indeterminate\":_vm.loading,\"absolute\":\"\",\"top\":\"\",\"color\":\"green darken-1\"}}),_c('v-card-title',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.delete.confirmation.dialog.title'))+\" \")]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.selectedUsers.length > 1 ? _vm.$t('app.users.delete.confirmation.dialog.content') : _vm.$t('app.user.delete.confirmation.dialog.content'))+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.delete.confirmation.dialog.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":_vm.confirmDeleteUser}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.delete.confirmation.dialog.confirm'))+\" \")])],1)],1)],1),(_vm.importUserVisible && _vm.admin)?_c('import-users-form',{on:{\"close\":function($event){_vm.importUserVisible = false},\"imported\":_vm.fetchUsers}}):_vm._e(),(_vm.createAccountFormVisible)?_c('account-creation-form',{attrs:{\"users\":_vm.users,\"admin\":_vm.admin},on:{\"close\":function($event){_vm.createAccountFormVisible = false},\"created\":_vm.fetchUsers}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.user)?_c('div',{staticClass:\"str-account-details-container\"},[_c('v-card',{staticClass:\"str-account-details-card\",style:({ width: _vm.editMode ? '380px' : '320px' })},[_c('v-progress-linear',{attrs:{\"active\":_vm.loading,\"indeterminate\":_vm.loading,\"absolute\":\"\",\"top\":\"\",\"color\":\"green darken-1\"}}),_c('v-card-text',{staticClass:\"str-account-details-text\"},[_c('v-row',{attrs:{\"align\":\"start\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"str-account-details-icon-container\"},[_c('v-icon',{staticClass:\"str-account-details-icon\"},[_vm._v(\"mdi-account-circle\")])],1),_c('div',{staticClass:\"str-account-details-close-button\"},[(_vm.checkIfUserInHierarchy())?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.editMode = true}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1):_vm._e(),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1)]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"str-account-details-name\"},[_vm._v(_vm._s(_vm.user.firstName)+\" \"+_vm._s(_vm.user.lastName))])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-list',[_c('v-list-item',[_c('v-list-item-avatar',[_c('v-icon',{staticClass:\"mdi mdi-email\"})],1),_c('v-list-item-content',[_c('div',{staticClass:\"str-account-details-label\"},[_vm._v(_vm._s(_vm.$t('app.user.details.card.email')))]),_c('div',{staticClass:\"str-account-details-value\"},[_vm._v(_vm._s(_vm.user.email))])])],1),_c('v-list-item',[_c('v-list-item-avatar',[_c('v-icon',{staticClass:\"mdi mdi-calendar\"})],1),_c('v-list-item-content',[_c('div',{staticClass:\"str-account-details-label\"},[_vm._v(_vm._s(_vm.$t('app.user.details.card.creationDate')))]),_c('div',{staticClass:\"str-account-details-value\"},[_vm._v(_vm._s(_vm.formatTimestamp(_vm.user.createdTimestamp)))])])],1),_c('v-list-item',[_c('v-list-item-avatar',[_c('v-icon',{staticClass:\"mdi mdi-clock-outline\"})],1),_c('v-list-item-content',[_c('div',{staticClass:\"str-account-details-label\"},[_vm._v(_vm._s(_vm.$t('app.user.details.card.lastUseDate')))]),_c('div',{staticClass:\"str-account-details-value\"},[_vm._v(_vm._s(_vm.user.lastUseDate))])])],1),(_vm.usersOfHierarchy?.length > 0)?_c('v-list-item',[_c('v-list-item-avatar',[_c('v-icon',{staticClass:\"mdi mdi-office-building\"})],1),_c('v-list-item-content',[_c('div',{staticClass:\"str-account-details-label\"},[_vm._v(_vm._s(_vm.$t('app.user.details.card.tenantName')))]),(!_vm.editMode || !_vm.usrIdentity?.managedTenants)?_c('div',{staticClass:\"str-account-details-value\"},[_vm._v(_vm._s(_vm.user.tenantName))]):_c('v-autocomplete',{staticClass:\"str-account-details-value\",attrs:{\"items\":_vm.admin ? _vm.tenantsNames : _vm.usrIdentity?.managedTenants.split(','),\"item-text\":\"tenant_name\",\"item-value\":\"tenant_name\",\"hide-details\":true,\"clearable\":\"\"},model:{value:(_vm.userCopy.tenantName),callback:function ($$v) {_vm.$set(_vm.userCopy, \"tenantName\", $$v)},expression:\"userCopy.tenantName\"}})],1)],1):_vm._e(),(_vm.usersOfHierarchy?.length > 0)?_c('v-list-item',[_c('v-list-item-avatar',[_c('v-icon',{staticClass:\"mdi mdi-domain\"})],1),_c('v-list-item-content',[_c('div',{staticClass:\"str-account-details-label\"},[_vm._v(_vm._s(_vm.$t('app.user.details.card.service')))]),(!_vm.editMode)?_c('div',{staticClass:\"str-account-details-value\"},[_vm._v(_vm._s(_vm.user.service))]):_c('v-text-field',{staticClass:\"str-account-details-value\",attrs:{\"hide-details\":\"auto\"},model:{value:(_vm.userCopy.service),callback:function ($$v) {_vm.$set(_vm.userCopy, \"service\", $$v)},expression:\"userCopy.service\"}})],1)],1):_vm._e(),(_vm.usersOfHierarchy?.length > 0)?_c('v-list-item',[_c('v-list-item-avatar',[_c('v-icon',{staticClass:\"mdi mdi-account-supervisor\"})],1),_c('v-list-item-content',[_c('div',{staticClass:\"str-account-details-label\"},[_vm._v(_vm._s(_vm.$t('app.user.details.card.managers')))]),(!_vm.editMode)?_c('div',{staticClass:\"str-account-details-value\"},_vm._l((_vm.user.managers),function(manager,index){return _c('div',{key:index},[_vm._v(\" \"+_vm._s(manager.email)+\" \")])}),0):_c('v-autocomplete',{staticClass:\"str-account-details-value\",attrs:{\"items\":_vm.usersOfHierarchy,\"item-text\":_vm.getManagerName,\"item-value\":\"email\",\"chips\":\"\",\"multiple\":\"\",\"deletable-chips\":\"\",\"hide-details\":true},model:{value:(_vm.userCopy.managers),callback:function ($$v) {_vm.$set(_vm.userCopy, \"managers\", $$v)},expression:\"userCopy.managers\"}})],1)],1):_vm._e(),_c('v-list-item',[_c('v-list-item-avatar',[_c('v-icon',{staticClass:\"mdi mdi-lock\"})],1),_c('v-list-item-content',{staticClass:\"str-account-details-content\"},[_c('div',{staticClass:\"str-account-details-password-label\"},[_vm._v(_vm._s(_vm.$t('app.user.details.card.create.password')))]),_c('password-creation-link',{attrs:{\"user\":_vm.user}})],1)],1)],1)],1)],1)],1),(!_vm.editMode)?_c('v-card-actions',{staticStyle:{\"justify-content\":\"center\"}},[_c('v-btn',{attrs:{\"text\":\"\",\"color\":_vm.user.enabled ? 'red darken-3' : 'green darken-3'},on:{\"click\":_vm.updateState}},[_vm._v(\" \"+_vm._s(_vm.user.enabled ? _vm.$t('app.datatable.user.desactivate') : _vm.$t('app.datatable.user.reactivate'))+\" \")])],1):_vm._e(),(_vm.editMode)?_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":_vm.cancelEdit}},[_vm._v(_vm._s(_vm.$t('app.user.details.card.edit.cancel')))]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":_vm.applyChanges}},[_vm._v(_vm._s(_vm.$t('app.user.details.card.edit.save')))])],1):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-card-actions',{staticClass:\"str-account-details-actions\"},[_c('v-btn',{staticClass:\"str-account-details-btn\",attrs:{\"color\":\"secondary\",\"small\":\"\"},on:{\"click\":_vm.sendMailAndShowMessage}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.details.card.send.link'))+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-email \")])],1),_c('v-btn',{staticClass:\"str-account-details-btn\",attrs:{\"color\":\"secondary\",\"small\":\"\"},on:{\"click\":_vm.copyLinkAndShowMessage}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.details.card.copy.link'))+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-content-copy \")])],1),_c('v-snackbar',{attrs:{\"color\":_vm.snackbar.color,\"timeout\":_vm.snackbar.timeout,\"top\":_vm.snackbar.position === 'top'},model:{value:(_vm.snackbar.visible),callback:function ($$v) {_vm.$set(_vm.snackbar, \"visible\", $$v)},expression:\"snackbar.visible\"}},[_c('v-layout',{attrs:{\"align-center\":\"\",\"pr-4\":\"\"}},[_c('v-icon',{staticClass:\"pr-3\",attrs:{\"dark\":\"\",\"large\":\"\"}},[_vm._v(_vm._s(_vm.snackbar.icon))]),_c('v-layout',{attrs:{\"column\":\"\"}},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.snackbar.title))])]),_c('div',[_vm._v(_vm._s(_vm.snackbar.text))])])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\nimport { Component, Prop } from 'vue-property-decorator'\r\nimport { Action, Getter } from 'vuex-class'\r\nimport { Vue } from 'vue-property-decorator'\r\n\r\n@Component ({\r\n name: 'PasswordCreationLink',\r\n})\r\n\r\nexport default class PasswordCreationLink extends Vue {\r\n @Prop() user: any;\r\n\r\n @Getter('emailHash', { namespace: 'Licenses' }) emailHash!: string | undefined;\r\n\r\n @Action('sendAccountCreationEmail', { namespace: 'Licenses' }) sendAccountCreationEmail: any;\r\n @Action('getAccountCreationLink', { namespace: 'Licenses' }) getAccountCreationLink: any;\r\n\r\n snackbar: any = {\r\n color: null,\r\n icon: null,\r\n mode: \"multi-line\",\r\n position: \"bottom\",\r\n text: null,\r\n timeout: 3000,\r\n title: null,\r\n visible: false\r\n };\r\n\r\n showSnackbar(title: string, text: string, color: string, icon: string) {\r\n this.snackbar.color = color;\r\n this.snackbar.icon = icon;\r\n this.snackbar.title = title;\r\n this.snackbar.text = text;\r\n this.snackbar.visible = true;\r\n }\r\n\r\n async copyLinkAndShowMessage() {\r\n try {\r\n const link: string = await this.getAccountCreationLink(this.user.email);\r\n await navigator.clipboard.writeText(link); \r\n this.showSnackbar(\"Succès\", this.$t('app.user.set.password.snackbar.copy') as string, \"green darken-3\", \"mdi-check-circle\");\r\n } catch (error) {\r\n this.showSnackbar(\"Erreur\", this.$t('app.user.set.password.snackbar.error') as string, \"red darken-3\", \"mdi-alert-circle\");\r\n }\r\n }\r\n\r\n async sendMailAndShowMessage() {\r\n try {\r\n await this.sendAccountCreationEmail({email: this.user.email, firstName: this.user.firstName, tenantName: this.user.tenantName});\r\n this.showSnackbar(\"Succès\", this.$t('app.user.set.password.snackbar.mail') as string, \"green darken-3\", \"mdi-check-circle\");\r\n } catch (error) {\r\n this.showSnackbar(\"Erreur\", this.$t('app.user.set.password.snackbar.mail.error') as string, \"red darken-3\", \"mdi-alert-circle\");\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordCreationLink.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordCreationLink.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./PasswordCreationLink.vue?vue&type=template&id=1c93906c&scoped=true\"\nimport script from \"./PasswordCreationLink.vue?vue&type=script&lang=ts\"\nexport * from \"./PasswordCreationLink.vue?vue&type=script&lang=ts\"\nimport style0 from \"./PasswordCreationLink.vue?vue&type=style&index=0&id=1c93906c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c93906c\",\n null\n \n)\n\nexport default component.exports","\r\n\r\nimport { UserEntity } from '../..'\r\nimport { Component, Emit, Prop, Watch } from 'vue-property-decorator'\r\nimport { Action, Getter } from 'vuex-class'\r\nimport { Vue } from 'vue-property-decorator'\r\nimport PasswordCreationLink from './PasswordCreationLink.vue'\r\n\r\n@Component ({\r\n name: 'UserDetailsCard',\r\n components: {\r\n PasswordCreationLink\r\n }\r\n})\r\nexport default class UserDetailsCard extends Vue {\r\n @Prop() user: any\r\n @Prop() admin: any\r\n\r\n @Action('updateUser', { namespace: 'Licenses' }) updateUser!: any\r\n @Action('updateUserState', { namespace: 'Licenses' }) updateUserState!: any\r\n\r\n @Getter('usersOfHierarchy', { namespace: 'Licenses' }) usersOfHierarchy!: any | undefined\r\n @Getter('usrIdentity', { namespace: 'usrSess' }) usrIdentity!: UserEntity | undefined;\r\n @Getter('tenantsNames', { namespace: 'Licenses' }) tenantsNames!: any | undefined;\r\n\r\n editMode: boolean = false\r\n userCopy: any = null;\r\n loading : boolean = false;\r\n\r\n @Watch('user')\r\n onUserChange() {\r\n if (this.checkIfUserInHierarchy()) {\r\n this.cancelEdit()\r\n }\r\n }\r\n\r\n created() {\r\n if (this.checkIfUserInHierarchy()) {\r\n this.setUserCopy(); \r\n }\r\n }\r\n\r\n checkIfUserInHierarchy() {\r\n if (this.usersOfHierarchy?.length > 0 && this.usersOfHierarchy.find((userHierarchy: any) => userHierarchy.email === this.user.email)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n @Emit('user-updated')\r\n async updateState() {\r\n this.loading = true;\r\n await this.updateUserState({ email: this.user.email, state: !this.user.enabled });\r\n this.loading = false;\r\n }\r\n\r\n setUserCopy() {\r\n this.userCopy = {\r\n email: this.user.email,\r\n service: this.user.service,\r\n tenantName: this.user.tenantName,\r\n managers: this.user.managers?.map((manager: any) => manager.email)\r\n };\r\n }\r\n\r\n @Emit('user-updated')\r\n async applyChanges() {\r\n this.loading = true;\r\n await this.updateUser(this.userCopy);\r\n this.loading = false;\r\n this.editMode = false;\r\n }\r\n\r\n getManagerName(manager : any) {\r\n return manager.email.split('@')[0];\r\n }\r\n\r\n cancelEdit() {\r\n this.setUserCopy();\r\n this.editMode = false;\r\n }\r\n\r\n formatTimestamp(timestampStr : string): string {\r\n const date = new Date(parseInt(timestampStr));\r\n\r\n const day = date.getDate().toString().padStart(2, \"0\");\r\n const month = (date.getMonth() + 1).toString().padStart(2, \"0\");\r\n const year = date.getFullYear();\r\n const hour = date.getHours().toString().padStart(2, \"0\");\r\n const minutes = date.getMinutes().toString().padStart(2, \"0\");\r\n const seconds = date.getSeconds().toString().padStart(2, \"0\");\r\n\r\n return (`${day}/${month}/${year} ${hour}:${minutes}:${seconds}`);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserDetailsCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserDetailsCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./UserDetailsCard.vue?vue&type=template&id=9350720e&scoped=true\"\nimport script from \"./UserDetailsCard.vue?vue&type=script&lang=ts\"\nexport * from \"./UserDetailsCard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserDetailsCard.vue?vue&type=style&index=0&id=9350720e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9350720e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-dialog',{attrs:{\"max-width\":\"420\",\"persistent\":\"\"},model:{value:(_vm.createAccountFormVisible),callback:function ($$v) {_vm.createAccountFormVisible=$$v},expression:\"createAccountFormVisible\"}},[_c('v-card',[_c('v-progress-linear',{attrs:{\"active\":_vm.loading,\"indeterminate\":_vm.loading,\"absolute\":\"\",\"top\":\"\",\"color\":\"green darken-1\"}}),_c('v-card-title',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.create.dialog.title'))+\" \")]),_c('v-card-text',[(_vm.displayConflictErrorPopup || _vm.displayMaxLicensesErrorPopup)?_c('v-alert',{attrs:{\"color\":\"error\",\"type\":\"error\",\"dense\":\"\",\"text\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.displayConflictErrorPopup ? _vm.$t('app.user.create.dialog.create.error.conflict') : _vm.$t('app.user.create.dialog.create.error.maxlicenses') + _vm.accountData.tenantName)+\" \")]):_vm._e(),_c('v-form',{ref:\"createAccountForm\",attrs:{\"lazy-validation\":\"\"}},[_c('v-text-field',{ref:\"createAccountForm\",attrs:{\"rules\":[_vm.rules.required],\"label\":_vm.$t('app.user.create.dialog.lastname'),\"prepend-icon\":\"mdi-account\",\"type\":\"text\"},on:{\"input\":_vm.resetErrors},model:{value:(_vm.accountData.lastName),callback:function ($$v) {_vm.$set(_vm.accountData, \"lastName\", $$v)},expression:\"accountData.lastName\"}}),_c('v-text-field',{ref:\"createAccountForm\",attrs:{\"rules\":[_vm.rules.required],\"label\":_vm.$t('app.user.create.dialog.firstname'),\"prepend-icon\":\"mdi-account\",\"type\":\"text\"},on:{\"input\":_vm.resetErrors},model:{value:(_vm.accountData.firstName),callback:function ($$v) {_vm.$set(_vm.accountData, \"firstName\", $$v)},expression:\"accountData.firstName\"}}),_c('v-text-field',{ref:\"createAccountForm\",attrs:{\"rules\":[_vm.rules.required, _vm.rules.email],\"label\":_vm.$t('app.user.create.dialog.email'),\"prepend-icon\":\"mdi-email\",\"type\":\"email\"},on:{\"input\":_vm.resetErrors},model:{value:(_vm.accountData.email),callback:function ($$v) {_vm.$set(_vm.accountData, \"email\", $$v)},expression:\"accountData.email\"}}),(_vm.admin)?_c('div',{staticStyle:{\"border\":\"2px solid\",\"padding\":\"5px 5px 5px 5px\",\"text-align\":\"center\"}},[(_vm.admin)?_c('v-checkbox',{attrs:{\"label\":\"B2C\"},on:{\"change\":_vm.isB2CChange},model:{value:(_vm.isB2C),callback:function ($$v) {_vm.isB2C=$$v},expression:\"isB2C\"}}):_vm._e(),(_vm.admin)?_c('label',{staticStyle:{\"margin\":\"auto\"}},[_vm._v(\"OU\")]):_vm._e(),(_vm.admin && _vm.tenantsLicensesInfo.length > 0)?_c('v-autocomplete',{ref:\"createAccountForm\",attrs:{\"rules\":_vm.admin ? [] : [_vm.rules.required],\"items\":_vm.tenantsLicensesInfo,\"item-text\":\"tenant_name\",\"item-value\":\"tenant_name\",\"label\":_vm.$t('app.user.create.dialog.company.pass'),\"prepend-icon\":\"mdi-office-building\",\"clearable\":\"\"},on:{\"input\":_vm.tenantChange},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [_c('div',[_c('span',[_vm._v(_vm._s(item.tenant_name))]),(item.max_licenses)?_c('span',{staticStyle:{\"color\":\"gray\",\"margin-left\":\"10px\"}},[_vm._v(\"(\"+_vm._s(item.actual_licenses)+\" / \"+_vm._s(item.max_licenses)+\")\")]):_vm._e()])]}},{key:\"selection\",fn:function({ item }){return [_c('div',[_c('span',[_vm._v(_vm._s(item.tenant_name))])])]}}],null,false,886172564),model:{value:(_vm.accountData.tenantName),callback:function ($$v) {_vm.$set(_vm.accountData, \"tenantName\", $$v)},expression:\"accountData.tenantName\"}}):_vm._e(),(_vm.admin)?_c('label',{staticStyle:{\"margin\":\"auto\"}},[_vm._v(\"OU\")]):_vm._e(),_c('v-text-field',{ref:\"createAccountForm\",attrs:{\"label\":_vm.$t('app.user.create.dialog.newtenant'),\"prepend-icon\":\"mdi-office-building\",\"type\":\"text\"},on:{\"input\":_vm.newTenantChange},model:{value:(_vm.newTenant),callback:function ($$v) {_vm.newTenant=$$v},expression:\"newTenant\"}})],1):_vm._e(),(_vm.usersOfHierarchy?.length > 0)?_c('v-text-field',{ref:\"createAccountForm\",attrs:{\"label\":_vm.$t('app.user.create.dialog.service'),\"prepend-icon\":\"mdi-domain\",\"type\":\"text\"},on:{\"input\":_vm.resetErrors},model:{value:(_vm.accountData.service),callback:function ($$v) {_vm.$set(_vm.accountData, \"service\", $$v)},expression:\"accountData.service\"}}):_vm._e(),(_vm.usersOfHierarchy?.length > 0)?_c('v-autocomplete',{ref:\"createAccountForm\",attrs:{\"items\":_vm.users,\"item-text\":\"email\",\"item-value\":\"email\",\"label\":_vm.$t('app.user.create.dialog.managers'),\"prepend-icon\":\"mdi-account-supervisor\",\"chips\":\"\",\"multiple\":\"\",\"deletable-chips\":\"\"},on:{\"input\":_vm.resetErrors},model:{value:(_vm.accountData.managers),callback:function ($$v) {_vm.$set(_vm.accountData, \"managers\", $$v)},expression:\"accountData.managers\"}}):_vm._e()],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":() => { _vm.createAccountFormVisible = false; _vm.reset(); }}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.create.dialog.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":_vm.submitCreateAccountForm}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.create.dialog.create'))+\" \")])],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.accountCreatedDialogVisible),callback:function ($$v) {_vm.accountCreatedDialogVisible=$$v},expression:\"accountCreatedDialogVisible\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.created.success.dialog.title'))+\" \")]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('app.user.created.success.dialog.content'))+\" \")]),_c('password-creation-link',{staticStyle:{\"justify-content\":\"center\"},attrs:{\"user\":_vm.accountData}}),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":_vm.closeAccountCreatedDialog}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.created.success.dialog.close'))+\" \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class Mail {\r\n\r\n constructor (\r\n public To: string,\r\n public Subject: string,\r\n public Body: string,\r\n ){}\r\n\r\n public setReceiverMail(receiverEmail: string): void {\r\n this.To = receiverEmail;\r\n }\r\n\r\n public setSubject(subject: string): void {\r\n this.Subject = subject;\r\n }\r\n\r\n public setBody(body: string): void {\r\n this.Body = body;\r\n }\r\n\r\n public addToBody(text: string): void {\r\n this.Body += text;\r\n }\r\n}","\r\n\r\nimport { Component, Prop } from 'vue-property-decorator'\r\nimport { Action, Getter } from 'vuex-class'\r\nimport { Vue } from 'vue-property-decorator'\r\nimport { UserEntity } from '../..'\r\nimport { Mail } from '@/data-access/licenses/models'\r\nimport PasswordCreationLink from './PasswordCreationLink.vue'\r\n\r\n@Component ({\r\n name: 'AccountCreationForm',\r\n components: {\r\n PasswordCreationLink\r\n }\r\n})\r\n\r\nexport default class AccountCreationForm extends Vue {\r\n @Prop() users: any\r\n @Prop() admin: any\r\n\r\n @Action('createUser', { namespace: 'Licenses' }) createUser: any;\r\n @Action('setConflictError', { namespace: 'Licenses' }) setConflictError: any;\r\n @Action('fetchTenantsLicenses', { namespace: 'Licenses' }) fetchTenantsLicenses: any;\r\n\r\n @Getter('usersOfTenant', { namespace: 'Licenses' }) usersOfTenant!: any | undefined;\r\n @Getter('usersOfHierarchy', { namespace: 'Licenses' }) usersOfHierarchy!: any | undefined;\r\n @Getter('conflictError', { namespace: 'Licenses' }) conflictError!: boolean | undefined;\r\n @Getter('emailHash', { namespace: 'Licenses' }) emailHash!: string | undefined;\r\n @Getter('usrIdentity', { namespace: 'usrSess' }) usrIdentity!: UserEntity | undefined;\r\n @Getter('tenantsLicenses', { namespace: 'Licenses' }) tenantsLicenses!: any | undefined;\r\n @Getter('tenantsNames', { namespace: 'Licenses' }) tenantsNames!: any | undefined;\r\n\r\n accountData = {\r\n email: '',\r\n tenantName: '',\r\n firstName: '',\r\n lastName: '',\r\n accountType: '',\r\n managers: [],\r\n service: '',\r\n };\r\n mail = new Mail(\r\n \"\",\r\n this.$t('app.user.create.email.subject') as string,\r\n this.$t('app.user.create.email.body') as string,\r\n );\r\n\r\n isB2C: boolean = false;\r\n newTenant: string = '';\r\n loading: boolean = false;\r\n displayConflictErrorPopup: boolean = false\r\n displayMaxLicensesErrorPopup : boolean = false\r\n createAccountFormVisible: boolean = true\r\n accountCreatedDialogVisible: boolean = false\r\n link: string = ''\r\n rules: any = {\r\n required: (value: string) => !!value || this.$t('app.user.create.dialog.required'),\r\n email: (value: string) => /.+@.+\\..+/.test(value) || this.$t('app.user.create.dialog.email'),\r\n }\r\n tenantsLicensesInfo: any = []\r\n\r\n async created() {\r\n this.setTenantsLicensesInfo();\r\n }\r\n\r\n newTenantChange(){\r\n this.accountData.tenantName = ''\r\n this.isB2C = false\r\n }\r\n\r\n isB2CChange(checked: boolean){\r\n if(checked){\r\n this.newTenant = ''\r\n this.accountData.tenantName = ''\r\n }\r\n }\r\n\r\n tenantChange(){\r\n this.newTenant = ''\r\n this.isB2C = false\r\n }\r\n\r\n resetErrors() {\r\n if (this.displayConflictErrorPopup || this.displayMaxLicensesErrorPopup) {\r\n this.displayConflictErrorPopup = false;\r\n this.displayMaxLicensesErrorPopup = false;\r\n }\r\n (this.$refs.createAccountForm as Vue & { resetValidation: () => boolean }).resetValidation();\r\n }\r\n\r\n async setTenantsLicensesInfo() {\r\n if (this.admin)\r\n {\r\n this.tenantsLicensesInfo = this.tenantsNames.map((tenant : any) => {\r\n const tenantInfo = {\r\n tenant_name: tenant,\r\n actual_licenses: this.users.filter((user : any) => user.tenantName === tenant).length,\r\n max_licenses: undefined,\r\n }\r\n return tenantInfo;\r\n });\r\n }\r\n else {\r\n await this.fetchTenantsLicenses();\r\n if (this.tenantsLicenses) {\r\n this.tenantsLicensesInfo = this.tenantsLicenses.map((tenant : any) => {\r\n const tenantInfo = {\r\n tenant_name: tenant.tenantName,\r\n actual_licenses: this.users.filter((user : any) => user.tenantName === tenant.tenantName).length,\r\n max_licenses: tenant.licenses,\r\n }\r\n return tenantInfo;\r\n });\r\n }\r\n }\r\n }\r\n\r\n reset() {\r\n (this.$refs.createAccountForm as Vue & { reset: () => void }).reset();\r\n this.$emit('close');\r\n }\r\n\r\n closeAccountCreatedDialog() {\r\n this.accountCreatedDialogVisible = false;\r\n this.$emit('close');\r\n }\r\n\r\n async createManagers() {\r\n if (this.accountData.managers) {\r\n const managers = this.accountData.managers.map((managerEmail: string) => this.users.find((user: any) => user.email === managerEmail));\r\n await Promise.all(managers.map(async (manager) => {\r\n if (manager && manager.disable) {\r\n manager.managers = [];\r\n manager.service = '';\r\n manager.accountType = 'B2B';\r\n await this.createUser(manager);\r\n this.setConflictError(false);\r\n }\r\n }));\r\n }\r\n }\r\n\r\n async submitCreateAccountForm() {\r\n if ((this.$refs.createAccountForm as Vue & { validate: () => boolean }).validate()) {\r\n this.checkAndFillAccountData()\r\n this.loading = true;\r\n // If a manager is not in hierarchy, we create it\r\n await this.createManagers();\r\n this.setConflictError(false);\r\n // check if the tenant has enough licenses to create a new user\r\n if (this.tenantsLicensesInfo.find((tenant : any) => tenant.tenant_name === this.accountData.tenantName && tenant.actual_licenses >= tenant.max_licenses)) {\r\n this.displayMaxLicensesErrorPopup = true;\r\n } else {\r\n await this.createUser(this.accountData);\r\n if (this.conflictError) {\r\n this.displayConflictErrorPopup = true;\r\n } else {\r\n this.$emit('created');\r\n this.displayConflictErrorPopup = false;\r\n this.createAccountFormVisible = false;\r\n this.accountCreatedDialogVisible = true;\r\n }\r\n }\r\n this.loading = false;\r\n }\r\n }\r\n\r\n checkAndFillAccountData(){\r\n this.accountData.accountType = this.isB2C ? \"B2C\" : \"B2B\"\r\n this.accountData.email = this.accountData.email.toLowerCase();\r\n if(this.isB2C){\r\n this.accountData.tenantName = this.accountData.email\r\n }\r\n if(this.newTenant){\r\n this.accountData.tenantName = this.newTenant\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountCreationForm.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountCreationForm.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AccountCreationForm.vue?vue&type=template&id=7479f640\"\nimport script from \"./AccountCreationForm.vue?vue&type=script&lang=ts\"\nexport * from \"./AccountCreationForm.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"400\"},model:{value:(_vm.importUserVisible),callback:function ($$v) {_vm.importUserVisible=$$v},expression:\"importUserVisible\"}},[_c('v-form',{ref:\"ImportUserForm\",attrs:{\"lazy-validation\":\"\"}},[_c('v-card',[_c('v-progress-linear',{attrs:{\"active\":_vm.loading,\"indeterminate\":_vm.loading,\"absolute\":\"\",\"top\":\"\",\"color\":\"green darken-1\"}}),_c('v-card-title',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.dialog.title'))+\" \")]),_c('v-text-field',{ref:\"ImportUserForm\",attrs:{\"rules\":[_vm.rules.required],\"label\":_vm.$t('app.user.import.dialog.company.pass'),\"prepend-icon\":\"mdi-office-building\",\"type\":\"text\"},on:{\"input\":_vm.resetErrors},model:{value:(_vm.tenantName),callback:function ($$v) {_vm.tenantName=$$v},expression:\"tenantName\"}}),_c('v-file-input',{ref:\"ImportUserForm\",attrs:{\"rules\":[_vm.rules.required],\"label\":_vm.$t('app.user.import.dialog.file'),\"accept\":\".csv\",\"prepend-icon\":\"mdi-file\",\"truncate-length\":\"45\"},on:{\"input\":_vm.resetErrors},model:{value:(_vm.selectedFile),callback:function ($$v) {_vm.selectedFile=$$v},expression:\"selectedFile\"}}),(_vm.error)?_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.dialog.error'))+\" \")]):_vm._e(),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.dialog.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"disabled\":!_vm.isValid,\"text\":\"\"},on:{\"click\":_vm.importUsers}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.dialog.import'))+\" \")])],1)],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"500\",\"persistent\":\"\"},model:{value:(_vm.usersImportedVisible),callback:function ($$v) {_vm.usersImportedVisible=$$v},expression:\"usersImportedVisible\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.success.dialog.title'))+\" \")]),_c('v-card-text',{staticClass:\"pt-4\"},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',{staticClass:\"mt-1\",attrs:{\"color\":\"success\"}},[_vm._v(\"mdi-account-check\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{staticClass:\"text-h5 font-weight-bold success--text mr-2\"},[_vm._v(_vm._s(_vm.importedUsers))]),_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.success.dialog.importedUsers'))+\" \")])],1)],1),(_vm.badlyFormattedEmails?.length || _vm.usersAlreadyExist?.length)?_c('v-divider'):_vm._e(),(_vm.badlyFormattedEmails?.length)?[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',{staticClass:\"mt-2\",attrs:{\"color\":\"warning\"}},[_vm._v(\"mdi-alert\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{staticClass:\"text-h5 font-weight-bold warning--text mr-2\"},[_vm._v(_vm._s(_vm.badlyFormattedEmails.length))]),_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.success.dialog.badlyFormatted'))+\" \")])],1)],1),_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-subtitle',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(_vm.badlyFormattedEmails.join(', '))+\" \")])],1)],1)]:_vm._e(),(_vm.badlyFormattedEmails?.length && _vm.usersAlreadyExist?.length)?_c('v-divider'):_vm._e(),(_vm.usersAlreadyExist?.length)?[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',{staticClass:\"mt-2\",attrs:{\"color\":\"info\"}},[_vm._v(\"mdi-account-multiple\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{staticClass:\"text-h5 font-weight-bold info--text mr-2\"},[_vm._v(_vm._s(_vm.usersAlreadyExist.length))]),_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.success.dialog.userAlreadyExists'))+\" \")])],1)],1),_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-subtitle',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(_vm.usersAlreadyExist.join(', '))+\" \")])],1)],1)]:_vm._e()],2)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"secondary\",\"text\":\"\"},on:{\"click\":_vm.closeUsersImportedDialog}},[_vm._v(\" \"+_vm._s(_vm.$t('app.user.import.success.dialog.close'))+\" \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component } from 'vue-property-decorator'\r\nimport { Action } from 'vuex-class'\r\nimport { Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n name: 'ImportUsersForm',\r\n})\r\n\r\nexport default class ImportUserForm extends Vue {\r\n @Action('CreateUsersFromCSV', { namespace: 'Licenses' }) CreateUsersFromCSV!: any\r\n\r\n importUserVisible: boolean = true;\r\n selectedFile: any = null;\r\n tenantName: string = \"\";\r\n loading: boolean = false;\r\n error: boolean = false;\r\n usersImportedVisible: boolean = false;\r\n importedUsers: any = null;\r\n badlyFormattedEmails: any = null;\r\n usersAlreadyExist: any = null;\r\n passwordDefinitionUrls: any = null;\r\n\r\n rules: any = {\r\n required: (value: string) => !!value || this.$t('app.user.create.dialog.required'),\r\n email: (value: string) => /.+@.+\\..+/.test(value) || this.$t('app.user.create.dialog.email'),\r\n }\r\n\r\n get isValid() {\r\n return this.tenantName && this.selectedFile;\r\n }\r\n\r\n closeUsersImportedDialog() {\r\n this.usersImportedVisible = false;\r\n this.$emit('close');\r\n }\r\n\r\n resetErrors() {\r\n (this.$refs.ImportUserForm as Vue & { resetValidation: () => boolean }).resetValidation();\r\n this.error = false;\r\n }\r\n\r\n\r\n downloadTextFile(filename: string, content: string []) {\r\n const blob = new Blob([content.join('\\n')], { type: 'text/plain' });\r\n const link = document.createElement('a');\r\n link.download = filename;\r\n link.href = URL.createObjectURL(blob);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n URL.revokeObjectURL(link.href);\r\n}\r\n\r\n async importUsers() {\r\n if (this.isValid) {\r\n this.loading = true;\r\n this.error = false;\r\n try {\r\n [this.importedUsers, this.badlyFormattedEmails, this.usersAlreadyExist, this.passwordDefinitionUrls] = await this.CreateUsersFromCSV({ file: this.selectedFile, tenantName: this.tenantName });\r\n this.$emit('imported');\r\n this.downloadTextFile(`Activation_links_${this.tenantName}.txt`, this.passwordDefinitionUrls);\r\n } catch (e) {\r\n this.error = true;\r\n } finally {\r\n this.loading = false;\r\n this.tenantName = \"\";\r\n this.selectedFile = null;\r\n this.importUserVisible = false;\r\n this.usersImportedVisible = true;\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportUsersForm.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportUsersForm.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ImportUsersForm.vue?vue&type=template&id=7820e2e9&scoped=true\"\nimport script from \"./ImportUsersForm.vue?vue&type=script&lang=ts\"\nexport * from \"./ImportUsersForm.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ImportUsersForm.vue?vue&type=style&index=0&id=7820e2e9&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7820e2e9\",\n null\n \n)\n\nexport default component.exports","\r\n\r\nimport { Component, Watch } from 'vue-property-decorator';\r\nimport { Getter, Action } from 'vuex-class';\r\nimport AbstractView from '../common/views/AbstractView.vue';\r\nimport UserDetailsCard from '../components/LicenseManagement/UserDetailsCard.vue';\r\nimport AccountCreationForm from '../components/LicenseManagement/AccountCreationForm.vue';\r\nimport ImportUsersForm from '../components/LicenseManagement/ImportUsersForm.vue';\r\nimport { FineGrainedAuthItemsEnum, PermissionService, SpecificPermissionsEnum, UserEntity } from '..'\r\nimport { Mail } from '@/data-access/licenses/models';\r\n\r\n@Component({\r\n name: 'ManageLicensesView',\r\n components: {\r\n UserDetailsCard,\r\n AccountCreationForm,\r\n ImportUsersForm,\r\n },\r\n})\r\nexport default class ManageLicensesView extends AbstractView {\r\n @Getter('usersOfTenant', { namespace: 'Licenses' }) usersOfTenant!: any | undefined;\r\n @Getter('usersOfHierarchy', { namespace: 'Licenses' }) usersOfHierarchy!: any | undefined;\r\n @Getter('usrIdentity', { namespace: 'usrSess' }) usrIdentity!: UserEntity | undefined;\r\n @Getter('usrHighestAuthorization', { namespace: 'usrSess' }) usrHighestAuthorization!: string | undefined;\r\n\r\n @Action('fetchUsersFromTenant', { namespace: 'Licenses' }) fetchUsersFromTenant: any;\r\n @Action('fetchUsersFromHierarchy', { namespace: 'Licenses' }) fetchUsersFromHierarchy: any;\r\n @Action('deleteUser', { namespace: 'Licenses' }) deleteUser: any;\r\n @Action('fetchUsersFromAllTenants', { namespace: 'Licenses' }) fetchUsersFromAllTenants: any;\r\n @Action('fetchUsersFromAllHierarchies', { namespace: 'Licenses' }) fetchUsersFromAllHierarchies: any;\r\n @Action('fetchAllTenantsNames', { namespace: 'Licenses' }) fetchAllTenantsNames: any;\r\n @Action('updateUserState', { namespace: 'Licenses' }) updateUserState!: any\r\n @Action('fetchLastCorrectionConso', { namespace: 'Licenses' }) fetchLastCorrectionConso!: any\r\n\r\n selectedAccount: any = null;\r\n userType: string = 'B2B';\r\n search: string = '';\r\n users: any[] = [];\r\n admin: boolean = false;\r\n dataTableHeaders: string[] = [];\r\n selectedUser: any = null;\r\n dialogVisible: boolean = false;\r\n createAccountFormVisible: boolean = false;\r\n hover: boolean = false;\r\n tableLoading: boolean = false;\r\n loading: boolean = false;\r\n selectedUsers: any[] = [];\r\n importUserVisible: boolean = false;\r\n mail = new Mail(\r\n \"\",\r\n this.$t('app.user.delete.email.subject') as string,\r\n this.$t('app.user.delete.email.body') as string,\r\n );\r\n\r\n @Watch('usersOfTenant')\r\n onUsersOfTenantChanged() {\r\n this.users = this.combinedUsers();\r\n }\r\n\r\n @Watch('users')\r\n async onUsersChanged() {\r\n const usersDateArray = await this.fetchLastCorrectionConso(this.users);\r\n const usersDate = usersDateArray.reduce((acc: any, cur: any) => {\r\n acc.set(cur.email, cur.date);\r\n return acc;\r\n }, new Map());\r\n for (const user of this.users) {\r\n const date = usersDate.get(user.email);\r\n if (date == \"\" || date == undefined)\r\n user.lastUseDate = \"Aucune utilisation\";\r\n else\r\n user.lastUseDate = date;\r\n }\r\n }\r\n\r\n async created() {\r\n await this.fetchLastCorrectionConso(this.users);\r\n // check if user is admin and have the super license manager permission or not.\r\n if (this.usrHighestAuthorization) {\r\n const UserFineGrainedAuthz: Map < FineGrainedAuthItemsEnum, SpecificPermissionsEnum > | undefined\r\n = PermissionService.specificPermissionByRole.get(this.usrHighestAuthorization)\r\n\r\n if (UserFineGrainedAuthz && UserFineGrainedAuthz.has(FineGrainedAuthItemsEnum.SUPER_LICENCES_MANAGER)) {\r\n this.admin = true;\r\n await this.fetchAllTenantsNames();\r\n }\r\n else {\r\n this.admin = false;\r\n }\r\n }\r\n if(!this.admin){ // prevent default loading of all users when super admin\r\n await this.fetchUsers();\r\n this.users = this.combinedUsers().map((user : any) => ({ ...user, hover: false }));\r\n }\r\n this.initTableHeaders();\r\n }\r\n\r\n initTableHeaders(){\r\n const header: any = [\r\n {\r\n text: `${this.$t('app.feature.analytics.owner')}`,\r\n value: 'email',\r\n align: 'start',\r\n sortable: true,\r\n width: '33%',\r\n },\r\n {\r\n text: ``,\r\n value: 'actions',\r\n align: 'end',\r\n sortable: false,\r\n width: '0%',\r\n },\r\n ];\r\n if (this.usersOfHierarchy?.length > 0) {\r\n header.splice(1, 0, {\r\n text: `Managers`,\r\n value: 'managers',\r\n sortable: true,\r\n width: '33%'\r\n })\r\n }\r\n if (this.usersOfHierarchy?.length > 0 && this.usrIdentity?.managedTenants) {\r\n header.splice(2, 0, {\r\n text: `${this.$t('app.user.details.card.tenantName')}`,\r\n value: 'tenantName',\r\n sortable: true,\r\n width: '33%'\r\n })\r\n }\r\n this.dataTableHeaders = header;\r\n }\r\n\r\n managerInfo(user: any) {\r\n if (!user.managers) {\r\n return null;\r\n }\r\n if (user.managers.length > 1) {\r\n return `${user.managers[0].email} + ${user.managers.length - 1}`;\r\n }\r\n return user.managers[0]?.email;\r\n }\r\n\r\n // Add service and managers info from usersOfHierarchy to tenant users if they exist in both lists (same email)\r\n combinedUsers() {\r\n if (this.usersOfHierarchy?.length == 0) {\r\n return this.usersOfTenant;\r\n }\r\n const combinedUsers: any[] = [];\r\n\r\n if (Array.isArray(this.usersOfTenant) && Array.isArray(this.usersOfHierarchy)) {\r\n for (const userTenant of this.usersOfTenant) {\r\n const matchingUser = this.usersOfHierarchy.find(userHierarchy => userHierarchy.email.toLowerCase() === userTenant.email.toLowerCase());\r\n\r\n if (matchingUser) {\r\n userTenant.service = matchingUser.service;\r\n userTenant.managers = matchingUser.managers;\r\n userTenant.tenantName = matchingUser.tenantName;\r\n }\r\n else {\r\n userTenant.disable = true;\r\n }\r\n combinedUsers.push(userTenant);\r\n }\r\n }\r\n return combinedUsers;\r\n }\r\n\r\n getRowClass(item : any) {\r\n if (item.enabled) {\r\n return 'greyed-out';\r\n }\r\n }\r\n\r\n async activateUser(user: any) {\r\n this.loading = true;\r\n await this.updateUserState({email : user.email, state : true});\r\n await this.fetchUsers();\r\n this.loading = false;\r\n }\r\n\r\n async confirmDeleteUser() {\r\n this.loading = true; \r\n if (this.selectedUsers.length > 0) {\r\n for (const user of this.selectedUsers) {\r\n this.mail.setReceiverMail(user.email);\r\n await this.deleteUser({email : user.email, tenantName : user.tenantName});\r\n }\r\n this.selectedUsers = [];\r\n }\r\n else if (this.selectedUser) {\r\n this.mail.setReceiverMail(this.selectedUser.email);\r\n await this.deleteUser({email : this.selectedUser.email, tenantName : this.selectedUser.tenantName});\r\n }\r\n this.loading = false;\r\n this.dialogVisible = false;\r\n await this.fetchUsers();\r\n }\r\n\r\n async fetchUsers() {\r\n this.tableLoading = true\r\n // if admin, fetch all users from all tenants and hierarchies\r\n if (this.admin) {\r\n const isB2C = this.userType === 'B2C';\r\n if (!isB2C) {\r\n await this.fetchUsersFromAllHierarchies();\r\n }\r\n await this.fetchUsersFromAllTenants(isB2C);\r\n }\r\n // if not admin, fetch users from the managed tenants of the license manager.\r\n else\r\n {\r\n await this.fetchUsersFromHierarchy();\r\n await this.fetchUsersFromTenant();\r\n }\r\n this.tableLoading = false\r\n }\r\n\r\n async refreshUser() {\r\n await this.fetchUsers();\r\n this.selectedAccount = this.users.find((user: any) => user.email === this.selectedAccount.email);\r\n }\r\n\r\n delUser(user: any) {\r\n this.selectedUser = user;\r\n if (this.$refs.confirmationDialog) {\r\n this.dialogVisible = true;\r\n }\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageLicensesView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageLicensesView.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ManageLicensesView.vue?vue&type=template&id=7da84e58&scoped=true\"\nimport script from \"./ManageLicensesView.vue?vue&type=script&lang=ts\"\nexport * from \"./ManageLicensesView.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ManageLicensesView.vue?vue&type=style&index=0&id=7da84e58&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7da84e58\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"scroll\"},[_c('v-flex',{staticClass:\"scroll-overflow\"},[(_vm.loading)?_c('v-progress-circular',{staticClass:\"centered-loader\",attrs:{\"indeterminate\":\"\",\"color\":\"primary\",\"size\":\"64\"}}):_c('div',[_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"inputs\"},[_c('v-text-field',{staticClass:\"header-text-field\",attrs:{\"label\":_vm.$t('app.rephrase.name'),\"type\":\"text\"},on:{\"input\":_vm.changePrompt},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1),_c('div',{staticClass:\"inputs\"},[_c('v-text-field',{staticClass:\"header-text-field\",attrs:{\"label\":_vm.$t('app.rephrase.description'),\"type\":\"text\"},on:{\"input\":_vm.changePrompt},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1),_c('div',{staticClass:\"prompt-select\"},[_c('v-select',{attrs:{\"items\":_vm.newPrompts,\"item-text\":\"name\",\"item-value\":\"id\"},on:{\"change\":_vm.changePromptID},model:{value:(_vm.promptID),callback:function ($$v) {_vm.promptID=$$v},expression:\"promptID\"}}),_c('v-btn',{staticClass:\"add-rephrasing\",on:{\"click\":_vm.newPrompt}},[_c('v-icon',[_vm._v(\"mdi-file-plus\")])],1)],1)]),_vm._l((_vm.goodTemplateParameters),function(parameter){return _c('div',{key:parameter},[_c(_vm.getComponentName(parameter),{tag:\"component\",attrs:{\"parameterName\":parameter}})],1)}),_c('div',{staticClass:\"action-buttons\"},[(_vm.isEditing)?_c('v-btn',{staticClass:\"update-button\",on:{\"click\":_vm.update}},[_vm._v(_vm._s(_vm.$t('app.rephrase.update')))]):_c('v-btn',{staticClass:\"create-button\",on:{\"click\":_vm.create}},[_vm._v(_vm._s(_vm.$t('app.rephrase.create')))]),_c('v-btn',{staticClass:\"cancel-button\",on:{\"click\":_vm.cancel}},[_vm._v(_vm._s(_vm.$t('app.rephrase.cancel')))]),(_vm.isEditing)?_c('v-btn',{staticClass:\"delete-button\",on:{\"click\":_vm.deleteConfirm}},[_vm._v(_vm._s(_vm.$t('app.rephrase.delete')))]):_vm._e()],1),_c('RephraseTester',{attrs:{\"promptId\":_vm.promptID}})],2),_c('v-snackbar',{attrs:{\"color\":_vm.snackbar.color,\"timeout\":_vm.snackbar.timeout},model:{value:(_vm.snackbar.visible),callback:function ($$v) {_vm.$set(_vm.snackbar, \"visible\", $$v)},expression:\"snackbar.visible\"}},[_c('v-layout',{attrs:{\"align-center\":\"\",\"pr-4\":\"\"}},[_c('v-icon',{staticClass:\"pr-3\",attrs:{\"dark\":\"\",\"large\":\"\"}},[_vm._v(_vm._s(_vm.snackbar.icon))]),_c('v-layout',{attrs:{\"column\":\"\"}},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.snackbar.title))])]),_c('div',[_vm._v(_vm._s(_vm.snackbar.text))])])],1)],1),_c('v-dialog',{ref:\"confirmationDialog\",attrs:{\"persistent\":\"\",\"max-width\":\"400\"},model:{value:(_vm.dialogVisible),callback:function ($$v) {_vm.dialogVisible=$$v},expression:\"dialogVisible\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('app.rephrase.delete.confirmation.dialog.title'))+\" \")]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('app.rephrase.delete.confirmation.dialog.content'))+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('app.rephrase.delete.confirmation.dialog.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":_vm.deletion}},[_vm._v(\" \"+_vm._s(_vm.$t('app.rephrase.delete.confirmation.dialog.confirm'))+\" \")])],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"component-container\"},[_c('div',{staticClass:\"title-bar\"},[_c('h2',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.$t('app.rephrase.boxlist.title.' + _vm.parameterName)))]),_c('div',{staticClass:\"bar\"})]),_vm._l((_vm.listParameters),function(param,index){return _c('div',{key:index,staticClass:\"boxlist-wrapper\"},[_c('input',{staticClass:\"parameter-boxlist\",attrs:{\"type\":\"text\"},domProps:{\"value\":param},on:{\"input\":function($event){return _vm.updateParameter(index, $event?.target)}}}),_c('v-icon',{staticClass:\"remove-button\",on:{\"click\":function($event){return _vm.removeParameter(index)}}},[_vm._v(\"mdi-close\")])],1)}),_c('v-btn',{staticClass:\"add-item-button\",on:{\"click\":_vm.addParameter}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Component, Vue, Watch, Prop } from 'vue-property-decorator';\r\n import { Getter, Action } from 'vuex-class';\r\n import { PromptParameter } from '../../data-access/rephrase';\r\n\r\n @Component({\r\n name: 'BoxList'\r\n })\r\n export default class BoxList extends Vue {\r\n @Prop() parameterName!: string;\r\n\r\n @Getter('promptParameters', { namespace: 'rephrase' }) promptParameters!: PromptParameter[];\r\n @Getter('currentPromptId', { namespace: 'rephrase' }) currentPromptId!: number;\r\n\r\n @Action('updatePromptParameters', { namespace: 'rephrase' }) updatePromptParameters!: any;\r\n\r\n @Watch('currentPromptId')\r\n onCurrentPromptChanged() {\r\n this.getParameters()\r\n }\r\n\r\n @Watch('promptParameters')\r\n onPromptParametersChanged() {\r\n this.getParameters();\r\n }\r\n\r\n parameter: any = {}\r\n listParameters: string[] = []\r\n\r\n created() {\r\n this.getParameters()\r\n }\r\n\r\n getParameters() {\r\n this.parameter = this.promptParameters\r\n .filter(parameter => parameter.name === this.parameterName)\r\n .filter(parameter => parameter.promptId === this.currentPromptId)[0];\r\n this.listParameters = [];\r\n if (this.parameter) {\r\n if (this.parameter.value !== \"\")\r\n this.listParameters = this.parameter.value.split(', ');\r\n } else\r\n this.parameter = { promptId: this.currentPromptId, lang: \"en\", name: this.parameterName, value: \"\" }\r\n }\r\n\r\n pushParameters() {\r\n this.parameter.value = this.listParameters.join(', ');\r\n this.updatePromptParameters(this.parameter);\r\n }\r\n\r\n updateParameter(index: any, element: any) {\r\n const forbiddenChars = /[{}]/g;\r\n element.value = element.value.replace(forbiddenChars, '');\r\n this.$set(this.listParameters, index, element.value);\r\n this.pushParameters();\r\n }\r\n\r\n removeParameter(index: any) {\r\n this.listParameters.splice(index, 1);\r\n this.pushParameters();\r\n }\r\n\r\n addParameter() {\r\n this.listParameters.push('');\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BoxList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BoxList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BoxList.vue?vue&type=template&id=f9cae852\"\nimport script from \"./BoxList.vue?vue&type=script&lang=ts\"\nexport * from \"./BoxList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BoxList.vue?vue&type=style&index=0&id=f9cae852&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./BoxList.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"component-container\"},[_c('div',{staticClass:\"title-bar\"},[_c('h2',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.$t('app.rephrase.twolineslist.title.' + _vm.parameterName)))]),_c('div',{staticClass:\"bar\"})]),_c('div',{staticClass:\"lang str-app-analytics-lang-picker-container\"},[_c('v-icon',{staticClass:\"icon str-app-analytics-lang-picker-icon\"},[_vm._v(\"mdi-translate\")]),_c('v-select',{class:['str-app-analytics-langpicker'],attrs:{\"items\":_vm.langs},on:{\"change\":_vm.getParameters},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [_c('div',{staticClass:\"flag-container\"},[_c('span',{class:`flag ${_vm.GetFlag.GetLangInfos(item).cssClass}`}),_c('span',[_vm._v(_vm._s(_vm.GetFlag.GetLangInfos(item).name))])])]}},{key:\"selection\",fn:function({ item }){return [_c('div',{staticClass:\"flag-container\"},[_c('span',{class:`flag ${_vm.GetFlag.GetLangInfos(item).cssClass}`}),_c('span',[_vm._v(_vm._s(_vm.GetFlag.GetLangInfos(item).name))])])]}}]),model:{value:(_vm.lang),callback:function ($$v) {_vm.lang=$$v},expression:\"lang\"}})],1),_vm._l((_vm.listParameters),function(example,outerIndex){return _c('div',{key:outerIndex,staticClass:\"twolineslist-wrapper\"},[_c('div',{staticClass:\"twoline-group\"},[_c('div',{staticClass:\"twoline-input\"},[_c('div',{staticClass:\"first-line-component\"},[_c('v-icon',{staticClass:\"firstline-icon\"},[_vm._v(\"mdi-comment-edit-outline\")]),_c('textarea',{staticClass:\"parameter-twolineslist\",domProps:{\"value\":example.firstLine},on:{\"input\":function($event){return _vm.updateParameter(outerIndex, 'firstLine', $event.target.value)}}})],1),_c('div',{staticClass:\"second-line-component\"},[_c('v-icon',{staticClass:\"secondline-icon\"},[_vm._v(\"mdi-robot\")]),_c('textarea',{staticClass:\"parameter-twolineslist\",domProps:{\"value\":example.secondLine},on:{\"input\":function($event){return _vm.updateParameter(outerIndex, 'secondLine', $event.target.value)}}})],1)]),_c('v-icon',{staticClass:\"remove-button-2\",on:{\"click\":function($event){return _vm.removeParameter(outerIndex)}}},[_vm._v(\"mdi-delete\")])],1)])}),_c('div',{staticClass:\"button-container\"},[_c('v-btn',{staticClass:\"add-item-button\",on:{\"click\":_vm.addParameter}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1)],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Watch, Prop } from 'vue-property-decorator';\r\nimport { Getter, Action } from 'vuex-class';\r\nimport { PromptParameter } from '../../data-access/rephrase';\r\nimport { GetFlag } from '../..';\r\n\r\n@Component({\r\n name: 'BoxList'\r\n})\r\nexport default class BoxList extends Vue {\r\n @Prop() parameterName!: string;\r\n\r\n @Getter('langs', { namespace: 'rephrase' }) langs!: string[];\r\n @Getter('promptParameters', { namespace: 'rephrase' }) promptParameters!: PromptParameter[];\r\n @Getter('currentPromptId', { namespace: 'rephrase' }) currentPromptId!: number;\r\n\r\n @Action('updatePromptParameters', { namespace: 'rephrase' }) updatePromptParameters!: any;\r\n\r\n GetFlag = GetFlag;\r\n\r\n lang: string = \"\";\r\n listParameters: { firstLine: string; secondLine: string }[] = [];\r\n parameters: any = {};\r\n\r\n created() {\r\n this.lang = this.langs[0];\r\n this.getParameters();\r\n }\r\n\r\n @Watch('currentPromptId')\r\n onCurrentPromptChanged() {\r\n this.getParameters();\r\n }\r\n\r\n @Watch('promptParameters')\r\n onPromptParametersChanged() {\r\n this.getParameters();\r\n }\r\n\r\n getParameters() {\r\n this.parameters = this.promptParameters\r\n .find(param => param.name === this.parameterName && param.promptId === this.currentPromptId && param.lang === this.lang) || { value: '' };\r\n this.parseParameters();\r\n }\r\n\r\n parseParameters() {\r\n // Convert the string to an array of objects\r\n // The regex matches the following pattern: \"User: {firstLine} Assistant: {secondLine}\"\r\n // Exemple: \"User: Hello Assistant: Hi User: Bye Assistant: Goodbye\"\r\n // Will give the following array: [{firstLine: \"Hello\", secondLine: \"Hi\"}, {firstLine: \"Bye\", secondLine: \"Goodbye\"}]\r\n\r\n const regex = /User:(.*?)Assistant:(.*?)(?=User:|$)/gs;\r\n const linesArray = [];\r\n let match;\r\n\r\n while ((match = regex.exec(this.parameters.value)) !== null) {\r\n linesArray.push(match[1], match[2]);\r\n }\r\n\r\n this.listParameters = [];\r\n for (let i = 0; i < linesArray.length; i += 2) {\r\n this.listParameters.push({\r\n firstLine: linesArray[i] ? linesArray[i] : '',\r\n secondLine: linesArray[i + 1] ? linesArray[i + 1] : ''\r\n });\r\n }\r\n }\r\n\r\n updateParameter(outerIndex: number, lineKey: 'firstLine' | 'secondLine', value: string) {\r\n this.listParameters[outerIndex][lineKey] = value.replace(/[{}]/g, ''); // Remove forbidden chars \r\n this.pushParameters();\r\n }\r\n\r\n pushParameters() {\r\n if(!this.parameters.promptId){\r\n this.parameters = {\r\n name: this.parameterName,\r\n promptId: this.currentPromptId,\r\n lang: this.lang,\r\n value: this.parameters.value ?? ''\r\n };\r\n }\r\n\r\n let values = '';\r\n this.listParameters.forEach((item) => {\r\n values += `User: ${item.firstLine.trim()}Assistant: ${item.secondLine.trim()}`;\r\n });\r\n\r\n const newValue = values.trim();\r\n if (this.parameters.value !== newValue) {\r\n this.parameters.value = newValue;\r\n this.updatePromptParameters(this.parameters);\r\n }\r\n\r\n }\r\n\r\n removeParameter(index: number) {\r\n this.listParameters.splice(index, 1);\r\n this.pushParameters();\r\n }\r\n\r\n addParameter() {\r\n // Adding the new parameter with placeholder spaces for reactivity\r\n this.listParameters.push({ firstLine: '', secondLine: '' });\r\n this.pushParameters();\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoLinesList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoLinesList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TwoLinesList.vue?vue&type=template&id=55f5c64f\"\nimport script from \"./TwoLinesList.vue?vue&type=script&lang=ts\"\nexport * from \"./TwoLinesList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TwoLinesList.vue?vue&type=style&index=0&id=55f5c64f&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./TwoLinesList.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"component-container\"},[_c('div',{staticClass:\"title-bar\"},[_c('h2',{staticClass:\"rephrase-tester-subtitle\"},[_vm._v(_vm._s(_vm.$t('app.rephrase.twolineslist.title.tester')))]),_c('h4',{staticClass:\"rephrase-tester-tip\"},[_vm._v(_vm._s(_vm.$t('app.rephrase.twolineslist.title.tip')))]),_c('div',{staticClass:\"bar\"})]),_c('div',{staticClass:\"rephrase-tester-container\"},[_c('div',{staticClass:\"lang str-app-analytics-lang-picker-container\"},[_c('v-icon',{staticClass:\"icon str-app-analytics-lang-picker-icon\"},[_vm._v(\"mdi-translate\")]),_c('v-select',{class:['str-app-analytics-langpicker'],attrs:{\"items\":_vm.langs},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [_c('div',{staticClass:\"flag-container\"},[_c('span',{class:`flag ${_vm.GetFlag.GetLangInfos(item).cssClass}`}),_c('span',[_vm._v(_vm._s(_vm.GetFlag.GetLangInfos(item).name))])])]}},{key:\"selection\",fn:function({ item }){return [_c('div',{staticClass:\"flag-container\"},[_c('span',{class:`flag ${_vm.GetFlag.GetLangInfos(item).cssClass}`}),_c('span',[_vm._v(_vm._s(_vm.GetFlag.GetLangInfos(item).name))])])]}}]),model:{value:(_vm.lang),callback:function ($$v) {_vm.lang=$$v},expression:\"lang\"}})],1),_c('v-textarea',{attrs:{\"label\":\"Texte à reformuler\",\"rows\":\"5\",\"outlined\":\"\"},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}}),_c('v-textarea',{attrs:{\"label\":\"Résultat\",\"rows\":\"5\",\"outlined\":\"\"},model:{value:(_vm.result),callback:function ($$v) {_vm.result=$$v},expression:\"result\"}}),_c('v-btn',{staticClass:\"styled-button\",attrs:{\"disabled\":_vm.loading},on:{\"click\":_vm.submitRephrase}},[(_vm.loading)?[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"white\"}})]:[_vm._v(\" Reformuler \")]],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Component, Vue, Prop } from 'vue-property-decorator';\r\n import { Getter, Action } from 'vuex-class';\r\n import { GetFlag } from '../..';\r\n \r\n @Component({\r\n name: 'RephraseTester'\r\n })\r\n export default class RephraseTester extends Vue {\r\n @Prop({ required: true }) promptId!: string;\r\n @Action('rephrase', { namespace: 'rephrase' }) rephrase!: any;\r\n @Getter('langs', { namespace: 'rephrase' }) langs!: string[];\r\n \r\n text: string = '';\r\n result: string = '';\r\n loading: boolean = false;\r\n lang: string = 'fr';\r\n GetFlag = GetFlag;\r\n \r\n async submitRephrase() {\r\n this.loading = true; // Start loading\r\n try {\r\n const response = await this.rephrase({ text: this.text, lang: this.lang, promptId: this.promptId, tryAgain: false });\r\n if(response.requestError){\r\n console.error('Error rephrasing text:', response.requestError);\r\n this.result = response.requestError.data.detail;\r\n }else{\r\n this.result = response;\r\n }\r\n } catch (error) {\r\n console.error('Error rephrasing text:', error);\r\n } finally {\r\n this.loading = false; // Stop loading\r\n }\r\n }\r\n }\r\n ","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseTester.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseTester.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./RephraseTester.vue?vue&type=template&id=07b68b2a&scoped=true\"\nimport script from \"./RephraseTester.vue?vue&type=script&lang=ts\"\nexport * from \"./RephraseTester.vue?vue&type=script&lang=ts\"\nimport style0 from \"./RephraseTester.vue?vue&type=style&index=0&id=07b68b2a&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"07b68b2a\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./RephraseTester.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","\r\n import { Component, Vue } from 'vue-property-decorator';\r\n import { Action, Getter } from 'vuex-class';\r\n import { Prompt, TemplateParameters } from '../data-access/rephrase'\r\n import BoxList from '../components/RephraseParameters/BoxList.vue';\r\n import TwoLinesList from '../components/RephraseParameters/TwoLinesList.vue';\r\n import ParamToComponent from '../ParamToComponent.json';\r\n import RephraseTester from '../components/RephraseParameters/RephraseTester.vue';\r\n\r\n @Component({\r\n name: 'RephraseView',\r\n components: {\r\n BoxList,\r\n TwoLinesList,\r\n RephraseTester \r\n }\r\n })\r\n export default class RephraseView extends Vue {\r\n @Getter('prompts', { namespace: 'rephrase' }) prompts!: Prompt[];\r\n @Getter('templateParameters', { namespace: 'rephrase' }) templateParameters!: TemplateParameters[];\r\n\r\n @Action('fetchPromptsFromTenant', { namespace: 'rephrase' }) fetchPromptsFromTenant!: any;\r\n @Action('fetchPromptParametersFromTenant', { namespace: 'rephrase' }) fetchPromptParametersFromTenant!: any;\r\n @Action('fetchAuthorizedLangsFromTenant', { namespace: 'rephrase' }) fetchAuthorizedLangsFromTenant!: any;\r\n @Action('fetchTemplateParameters', { namespace: 'rephrase' }) fetchTemplateParameters!: any;\r\n @Action('createPrompt', { namespace: 'rephrase' }) createPrompt!: any;\r\n @Action('updatePrompt', { namespace: 'rephrase' }) updatePrompt!: any;\r\n @Action('deletePrompt', { namespace: 'rephrase' }) deletePrompt!: any;\r\n @Action('setCurrentPromptId', { namespace: 'rephrase' }) setCurrentPromptId!: any;\r\n\r\n componentData: Record = ParamToComponent;\r\n\r\n newPrompts : Prompt[] = [];\r\n promptID : string | null = \"\";\r\n name : string = \"\";\r\n description : string = \"\";\r\n goodTemplateParameters: string[] = [];\r\n isEditing: boolean = false;\r\n dialogVisible: boolean = false;\r\n snackbar: any = {\r\n color: null,\r\n icon: null,\r\n mode: \"multi-line\",\r\n text: null,\r\n timeout: 3000,\r\n title: null,\r\n visible: false\r\n };\r\n loading: boolean = false;\r\n\r\n async created() {\r\n this.setPromptData(0);\r\n }\r\n\r\n async setPromptData(index: number) {\r\n this.loading = true;\r\n await this.fetchPromptsFromTenant();\r\n await this.fetchPromptParametersFromTenant();\r\n await this.fetchAuthorizedLangsFromTenant();\r\n await this.fetchTemplateParameters();\r\n this.loading = false;\r\n \r\n this.name = this.prompts[index].name;\r\n this.name = this.prompts[index].description;\r\n this.promptID = this.prompts[index].id;\r\n this.newPrompts = this.prompts;\r\n this.changePromptID();\r\n }\r\n\r\n getComponentName(templateId: string): string {\r\n return Object.keys(this.componentData).find(key => this.componentData[key].includes(templateId)) || '';\r\n }\r\n\r\n changePrompt() {\r\n this.newPrompts = this.newPrompts.map(pr => pr.id === this.promptID ? { ...pr, name: this.name, description: this.description } : pr)\r\n }\r\n\r\n changePromptID() {\r\n this.setCurrentPromptId(this.promptID);\r\n this.name = this.prompts.filter(pr => pr.id === this.promptID)[0].name;\r\n this.description = this.prompts.filter(pr => pr.id === this.promptID)[0].description;\r\n const goodPrompt = this.prompts.find(pr => pr.id === this.promptID);\r\n this.goodTemplateParameters = this.templateParameters.filter(parameter => parameter.template_id == goodPrompt?.template_id)[0].value;\r\n this.isEditing = true;\r\n }\r\n\r\n showSnackbar(title: string, text: string, color: string, icon: string) {\r\n this.snackbar.color = color;\r\n this.snackbar.icon = icon;\r\n this.snackbar.title = title;\r\n this.snackbar.text = text;\r\n this.snackbar.visible = true;\r\n }\r\n\r\n newPrompt() {\r\n this.newPrompts.push(new Prompt(null, \"rephrase-gpt-4o-mini\", \"\", \"\"));\r\n this.promptID = null;\r\n this.changePromptID();\r\n this.isEditing = false;\r\n }\r\n\r\n deleteConfirm() {\r\n this.dialogVisible = true;\r\n }\r\n\r\n async create() {\r\n this.isEditing = true;\r\n const promptToCreate = this.newPrompts.find(pr => pr.id === this.promptID);\r\n if (!promptToCreate) {\r\n this.showSnackbar(this.$t('app.rephrase.error.title') as string, this.$t('app.rephrase.error.text.add') as string, \"red darken-3\", \"mdi-alert-circle\");\r\n return;\r\n }\r\n const error = await this.createPrompt(promptToCreate);\r\n if (error) {\r\n this.showSnackbar(this.$t('app.rephrase.error.title') as string, this.$t('app.rephrase.error.text.add') as string, \"red darken-3\", \"mdi-alert-circle\");\r\n } else {\r\n this.setPromptData(this.prompts.length - 1);\r\n this.showSnackbar(this.$t('app.rephrase.success.title') as string, this.$t('app.rephrase.success.text.add') as string, \"green darken-3\", \"mdi-check-circle\");\r\n }\r\n }\r\n\r\n async update() {\r\n const promptToUpdate = this.newPrompts.find(pr => pr.id === this.promptID);\r\n if (!promptToUpdate) {\r\n this.showSnackbar(this.$t('app.rephrase.error.title') as string, this.$t('app.rephrase.error.text.update') as string, \"red darken-3\", \"mdi-alert-circle\");\r\n return;\r\n }\r\n const error = await this.updatePrompt(promptToUpdate);\r\n if (error) {\r\n this.showSnackbar(this.$t('app.rephrase.error.title') as string, this.$t('app.rephrase.error.text.update') as string, \"red darken-3\", \"mdi-alert-circle\");\r\n } else {\r\n this.setPromptData(this.prompts.length - 1);\r\n this.showSnackbar(this.$t('app.rephrase.success.title') as string, this.$t('app.rephrase.success.text.update') as string, \"green darken-3\", \"mdi-check-circle\");\r\n }\r\n }\r\n\r\n async deletion() {\r\n this.dialogVisible = false;\r\n const promptToDelete = this.newPrompts.find(pr => pr.id === this.promptID);\r\n if (!promptToDelete) {\r\n this.showSnackbar(this.$t('app.rephrase.error.title') as string, this.$t('app.rephrase.error.text.delete') as string, \"red darken-3\", \"mdi-alert-circle\");\r\n return;\r\n }\r\n const error = await this.deletePrompt(promptToDelete.id);\r\n if (error) {\r\n this.showSnackbar(this.$t('app.rephrase.error.title') as string, this.$t('app.rephrase.error.text.delete') as string, \"red darken-3\", \"mdi-alert-circle\");\r\n } else {\r\n this.setPromptData(0);\r\n this.showSnackbar(this.$t('app.rephrase.success.title') as string, this.$t('app.rephrase.success.text.delete') as string, \"green darken-3\", \"mdi-check-circle\");\r\n }\r\n }\r\n\r\n cancel() {\r\n this.fetchPromptParametersFromTenant();\r\n this.isEditing = true;\r\n if(!this.promptID){\r\n this.setPromptData(0);\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseView.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./RephraseView.vue?vue&type=template&id=70b47637&scoped=true\"\nimport script from \"./RephraseView.vue?vue&type=script&lang=ts\"\nexport * from \"./RephraseView.vue?vue&type=script&lang=ts\"\nimport style0 from \"./RephraseView.vue?vue&type=style&index=0&id=70b47637&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70b47637\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./RephraseView.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import {\r\n RouteConfig\r\n} from 'vue-router/types/router'\r\nimport {\r\n AppLayoutsEnum\r\n} from '..'\r\nimport AnalyticsView from '../views/AnalyticsView.vue'\r\nimport TeamProgressView from '../views/TeamProgressView.vue'\r\nimport ManageLicensesView from '../views/ManageLicensesView.vue'\r\nimport RephraseView from '../views/RephraseView.vue'\r\n\r\nexport const MonitoringRoutes: RouteConfig[] = [{\r\n path: '/analytics',\r\n name: 'analytics',\r\n component: AnalyticsView,\r\n props: {\r\n layout: AppLayoutsEnum.BASIC_LAYOUT,\r\n pageTitle: 'app.menu.feature.group.monitoring',\r\n },\r\n}, {\r\n path: '/team',\r\n name: 'team',\r\n component: TeamProgressView,\r\n props: {\r\n layout: AppLayoutsEnum.BASIC_LAYOUT,\r\n pageTitle: 'app.menu.feature.group.monitoring'\r\n },\r\n}, {\r\n path: '/rephrase',\r\n name: 'rephrase',\r\n component: RephraseView,\r\n props: {\r\n layout: AppLayoutsEnum.BASIC_LAYOUT,\r\n pageTitle: 'app.menu.feature.group.monitoring',\r\n },\r\n}, {\r\n path: '/licenses',\r\n name: 'licenses',\r\n component: ManageLicensesView,\r\n props: {\r\n layout: AppLayoutsEnum.BASIC_LAYOUT,\r\n pageTitle: 'app.menu.feature.group.monitoring'\r\n },\r\n}]\r\n","import {\r\n ConfigService\r\n} from '.'\r\n\r\nexport class AppConfigService extends ConfigService {\r\n\r\n public static getDefaultFeature (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_DEFAULT_FEATURE === undefined) ? '' : process.env.VUE_APP_DEFAULT_FEATURE\r\n }\r\n\r\n public static getTopFiveMainColor (): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_TOP_FIVE_COLOR === undefined) ? 'orange' : process.env.VUE_APP_TOP_FIVE_COLOR\r\n }\r\n\r\n public static getCharacterToWordsFactor (): number {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_CHARACTER_TO_WORD_FACTOR === undefined) ? 6 : Number(process.env.VUE_APP_CHARACTER_TO_WORD_FACTOR)\r\n }\r\n\r\n public static getFilterDbUri(): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_FILTER_DB_URI === undefined) ? 'http://localhost:39086' : process.env.VUE_APP_FILTER_DB_URI\r\n }\r\n\r\n public static getChromeExtensionAppId(): string {\r\n // @ts-ignore: Object is possibly 'null'\r\n return (process.env.VUE_APP_CHROME_EXTENSION_ID === undefined) ? '' : process.env.VUE_APP_CHROME_EXTENSION_ID\r\n }\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:['str-holygrail-layout']},[(_vm.activateTopBar)?_c('app-topbar',{attrs:{\"title\":_vm.pageTitle,\"color\":_vm.topBarColor,\"showBurgerMenu\":_vm.activateSidePanel,\"loggedUserFullname\":_vm.userFullname,\"loggedUserEmail\":_vm.userEmail,\"loggedUserTenantName\":_vm.userTenantName,\"loggedUserRole\":_vm.userRoleDesc,\"loggedUserInitials\":_vm.userInitials}}):_vm._e(),(_vm.activateSidePanel)?_c('app-side-navigation-menu',{attrs:{\"panelWidth\":_vm.sidePanelWidth,\"menuFeatures\":_vm.sidePanelMenuFeatures,\"activateTopHeader\":false,\"activateAvatarBanner\":false,\"avatarTitle\":_vm.avatarTitle,\"avatarLink\":_vm.avatarLink,\"avatarAlt\":_vm.avatarAlt,\"avatarImg\":_vm.avatarImg,\"avatarImgUrl\":_vm.avatarImgUrl}}):_vm._e(),_c('v-main',{class:['str-fullscreen-layout']},[_c('v-container',{class:['str-fullscreen-layout'],attrs:{\"fluid\":\"\"}},[_vm._t(\"content\")],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-app-bar',{staticClass:\"str-topbar-container\",attrs:{\"color\":_vm.color,\"flat\":\"\",\"dark\":\"\",\"app\":\"\"},scopedSlots:_vm._u([(_vm.showTabs)?{key:\"extension\",fn:function(){return [_c('v-tabs',{staticClass:\"str-topbar-tabs-container\",attrs:{\"show-arrows\":\"\",\"grow\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tabs-slider',{staticClass:\"lnf-topbar-tabs-slider\"}),_vm._l((_vm.tabFeatures),function(feature,index){return _c('v-tab',{key:'feature'+ index,attrs:{\"to\":feature.link}},[_c('v-icon',[_vm._v(_vm._s(feature.icon))]),_c('span',{staticClass:\"hidden-sm-and-down ml-0 pl-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(feature.label))+\" \")])],1)})],2),(_vm.isB2C && !_vm.isSubscribed )?_c('app-subscription-alert',{staticClass:\"str-subscription-alert\"}):_vm._e()]},proxy:true}:null],null,true)},[(_vm.showBurgerMenu)?_c('v-app-bar-nav-icon',{on:{\"click\":_vm.toggleSidePanelState}}):_vm._e(),_c('v-toolbar-title',{staticClass:\"hidden-sm-and-down ml-0 pl-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.title))+\" \")]),_c('v-spacer'),_c('v-toolbar-items',{staticClass:\"str-toolbar-items-container pr-0\"},[(_vm.loggedUserFullname)?_c('app-avatar-banner-item',{class:['str-toolbar-items-container'],attrs:{\"title\":_vm.loggedUserFullname,\"subtitle\":_vm.loggedUserRole,\"avatarLink\":_vm.loggedUserAvatarLink,\"avatarImg\":_vm.loggedUserAvatarImg,\"avatarImgUrl\":_vm.loggedUserAvatarImgUrl,\"avatarAlt\":_vm.loggedUserInitials,\"inverseColors\":true,\"showOnlyAvatarImg\":false}}):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-list-item',{class:[{ 'inversed-colors' : _vm.inverseColors }, 'str-avatar-item-container']},[(!_vm.avatarAlt && _vm.avatarImgDisplay && !_vm.showOnlyAvatarImg)?_c('v-list-item-avatar',{class:['lnf-avatar-img-container']},[_c('a',{on:{\"click\":function($event){return _vm.goToAvatarLink()}}},[_c('img',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"src\":_vm.avatarImgDisplay}})])]):_vm._e(),(!_vm.avatarAlt && _vm.avatarImgDisplay && _vm.showOnlyAvatarImg)?_c('v-menu',{attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item-avatar',_vm._g(_vm._b({class:['lnf-avatar-img-container'],attrs:{\"slot\":\"activator\"},slot:\"activator\"},'v-list-item-avatar',attrs,false),on),[_c('a',{on:{\"click\":function($event){return _vm.goToAvatarLink()}}},[_c('img',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"src\":_vm.avatarImgDisplay}})])])]}}],null,false,906991574)},[(_vm.showMenu)?_c('app-menu-list',{attrs:{\"menuItems\":_vm.menuFeatures}}):_vm._e()],1):_vm._e(),(_vm.avatarAlt && !_vm.showOnlyAvatarImg)?_c('v-list-item-avatar',{class:['str-initials-avatar lnf-initials-avatar'],attrs:{\"size\":\"50px\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.avatarAlt)+\" \")])]):_vm._e(),(_vm.avatarAlt && _vm.showOnlyAvatarImg)?_c('v-menu',{attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item-avatar',_vm._g(_vm._b({class:['str-initials-avatar lnf-initials-avatar'],attrs:{\"slot\":\"activator\"},slot:\"activator\"},'v-list-item-avatar',attrs,false),on),[_c('span',[_vm._v(\" \"+_vm._s(_vm.avatarAlt)+\" \")])])]}}],null,false,3210547806)},[(_vm.showMenu)?_c('app-menu-list',{attrs:{\"menuItems\":_vm.menuFeatures}}):_vm._e()],1):_vm._e(),(!_vm.showOnlyAvatarImg)?_c('v-list-item-content',{class:['str-avatar-text-container']},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.title))]),(_vm.subtitleUrl)?_c('v-list-item-subtitle',{class:{ 'inversed-colors' : _vm.inverseColors }},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.subtitleUrl}},[_vm._v(_vm._s(_vm.subtitle))])]):_c('v-list-item-subtitle',{class:{ 'inversed-colors' : _vm.inverseColors }},[_vm._v(\" \"+_vm._s(_vm.subtitle)+\" \")])],1):_vm._e(),_c('v-spacer'),_c('v-list-item-action',[_c('v-menu',{attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({class:[ _vm.inverseColors ? 'inversed-colors' : 'menu-icon-colors' ],attrs:{\"slot\":\"activator\",\"ripple\":\"\",\"icon\":\"\"},slot:\"activator\"},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.menuIcon)+\" \")])],1)]}}])},[(_vm.showMenu)?_c('app-menu-list',{attrs:{\"menuItems\":_vm.menuFeatures}}):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-list',{class:{'inner-submenu': _vm.isInnerMenu }},_vm._l((_vm.menuItems),function(item,index){return _c('v-list-item',{key:index},[_c('v-list-item-icon',[_c('v-icon',{domProps:{\"textContent\":_vm._s(item.icon)}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_c('router-link',{attrs:{\"to\":item.link},nativeOn:{\"click\":function($event){return _vm.onLinkSelected(item)}}},[_vm._v(\" \"+_vm._s(_vm.$t(item.label))+\" \")])],1)],1)],1)}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Prop,\r\n Vue\r\n } from 'vue-property-decorator'\r\n import {\r\n Action\r\n } from 'vuex-class'\r\n import {\r\n FeatureEntity\r\n } from '..'\r\n\r\n /***************************************** */\r\n /** Encapsulates application styles for */\r\n /** all menu lists ensuring the usage of */\r\n /** decoupled routing behavior instead */\r\n /** of explicit routing. */\r\n /** Soon, it will integrate badges */\r\n /** used for notifications in icons. */\r\n /***************************************** */\r\n\r\n @Component({\r\n name: 'AppMenuList'\r\n })\r\n export default class AppMenuList extends Vue {\r\n @Prop() menuItems!: FeatureEntity[]\r\n @Prop() isInnerMenu!: boolean\r\n @Action('setCurrentPageRoute', { namespace: 'viewState' }) setCurrentPageRoute: any\r\n\r\n onLinkSelected(evt: any): void { \r\n const pageRoute: any = { pageRoute: evt.label}\r\n this.setCurrentPageRoute(pageRoute)\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppMenuList.vue?vue&type=template&id=e97f1aa0&scoped=true\"\nimport script from \"./AppMenuList.vue?vue&type=script&lang=ts\"\nexport * from \"./AppMenuList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppMenuList.vue?vue&type=style&index=0&id=e97f1aa0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e97f1aa0\",\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component,\r\n Prop,\r\n Vue\r\n } from 'vue-property-decorator'\r\n import {\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n ConfigService,\r\n FeatureGroupEntity\r\n } from '..'\r\n import AppMenuList from './AppMenuList.vue'\r\n\r\n /***************************************** */ \r\n /** Encapsulates application styles for */\r\n /** avatars ensuring the usage common */\r\n /** behavior on dropdowns in displayed */\r\n /** and collapsed modes. */\r\n /***************************************** */\r\n\r\n @Component({\r\n name: 'AppAvatarBannerItem',\r\n components: {\r\n AppMenuList\r\n }\r\n })\r\n export default class AppAvatarBannerItem extends Vue {\r\n @Prop() title!: string\r\n @Prop() subtitle!: string\r\n @Prop() subtitleUrl?: string\r\n @Prop() avatarLink!: string\r\n @Prop() avatarAlt!: string\r\n @Prop() avatarImgUrl!: string\r\n @Prop() showOnlyAvatarImg!: boolean\r\n @Prop() inverseColors!: boolean\r\n @Getter('dropdownTopBarMenuFeatures', { namespace: 'viewState' }) dropdownTopBarMenuFeatures!: FeatureGroupEntity[]\r\n\r\n get avatarImgDisplay() {\r\n return !this.avatarImgUrl ? ConfigService.getProjectAssetsDir() + ConfigService.getDefaultMenuAvatarImg() \r\n : this.avatarImgUrl\r\n }\r\n\r\n get showMenu () {\r\n return (this.dropdownTopBarMenuFeatures !== undefined && \r\n this.dropdownTopBarMenuFeatures[0].features && \r\n this.dropdownTopBarMenuFeatures[0].features.length > 0)\r\n }\r\n\r\n get menuIcon () {\r\n return this.dropdownTopBarMenuFeatures[0].icon\r\n }\r\n\r\n get menuFeatures () {\r\n return this.dropdownTopBarMenuFeatures[0].features\r\n }\r\n\r\n goToAvatarLink() {\r\n if (this.avatarLink.indexOf('http') < 0) {\r\n this.$router.push(this.avatarLink)\r\n } else {\r\n window.open(this.avatarLink, '_blank')\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAvatarBannerItem.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAvatarBannerItem.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppAvatarBannerItem.vue?vue&type=template&id=0b87c2fa&scoped=true\"\nimport script from \"./AppAvatarBannerItem.vue?vue&type=script&lang=ts\"\nexport * from \"./AppAvatarBannerItem.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppAvatarBannerItem.vue?vue&type=style&index=0&id=0b87c2fa&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0b87c2fa\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.showModal)?_c('div',[_c('div',{staticClass:\"modal-backdrop\"}),_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('v-icon',{staticClass:\"str-warning-icon\"},[_vm._v(\"mdi-alert\")]),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\"×\")])],1),_c('div',{staticClass:\"modal-body\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('app.subscription.alert.message')))]),_c('button',{on:{\"click\":_vm.navigateToSubscription}},[_vm._v(_vm._s(_vm.$t('app.subscription.alert.link')))]),_vm._v(\". \")])])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'AppSubscriptionAlert'\r\n})\r\nexport default class AppSubscriptionAlert extends Vue {\r\n showModal = true;\r\n\r\n navigateToSubscription() {\r\n window.location.href = '/subscription';\r\n }\r\n\r\n closeModal() {\r\n this.showModal = false;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSubscriptionAlert.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSubscriptionAlert.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppSubscriptionAlert.vue?vue&type=template&id=69a9b15c&scoped=true\"\nimport script from \"./AppSubscriptionAlert.vue?vue&type=script&lang=ts\"\nexport * from \"./AppSubscriptionAlert.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppSubscriptionAlert.vue?vue&type=style&index=0&id=69a9b15c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69a9b15c\",\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component,\r\n Prop,\r\n Watch,\r\n Vue\r\n } from 'vue-property-decorator'\r\n import {\r\n Action,\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n FeatureGroupEntity\r\n } from '..'\r\n import AppAvatarBannerItem from './AppAvatarBannerItem.vue'\r\n import AppSubscriptionAlert from './AppSubscriptionAlert.vue'\r\n\r\n /***************************************** */\r\n /** Encapsulates application styles for */\r\n /** a reusable navigation bar keeping */\r\n /** a generic behavior to interact with */\r\n /** side panels and menus */\r\n /***************************************** */\r\n\r\n @Component({\r\n name: 'AppTopbar',\r\n components: {\r\n AppAvatarBannerItem,\r\n AppSubscriptionAlert\r\n }\r\n })\r\n export default class AppTopbar extends Vue {\r\n @Prop() title!: string\r\n @Prop() color!: string\r\n @Prop() showBurgerMenu!: boolean\r\n @Prop() loggedUserFullname!: string\r\n @Prop() loggedUserEmail!: string\r\n @Prop() loggedUserTenantName!: string\r\n @Prop() loggedUserRole!: string\r\n @Prop() loggedUserInitials!: string\r\n @Prop() loggedUserAvatarLink!: string\r\n @Prop() loggedUserAvatarImg!: string\r\n @Prop() loggedUserAvatarImgUrl!: string\r\n \r\n @Getter('topBarTabFeatures', { namespace: 'viewState' }) topBarTabFeatures!: FeatureGroupEntity[]\r\n @Getter('isSubscribed', { namespace: 'Licenses' }) isSubscribed!: boolean\r\n @Action('getSubscription', { namespace: 'Licenses' }) getSubscription: any;\r\n @Action('toggleSidePanelState', { namespace: 'viewState' }) toggleSidePanelState: any\r\n @Action('setCurrentPageRoute', { namespace: 'viewState' }) setCurrentPageRoute: any\r\n\r\n // the current tab\r\n tab: any = null\r\n\r\n mounted() {\r\n this.getSubscription(this.loggedUserEmail);\r\n }\r\n\r\n @Watch('tab')\r\n onSelectedTab() {\r\n const pageRoute: any = { pageRoute: this.tab }\r\n this.setCurrentPageRoute(pageRoute)\r\n }\r\n\r\n get isB2C() {\r\n return this.loggedUserTenantName === 'synapseb2c' || this.loggedUserTenantName === this.loggedUserEmail\r\n }\r\n\r\n get showTabs () {\r\n return (this.topBarTabFeatures !== undefined && \r\n this.topBarTabFeatures[0] !== undefined && \r\n this.topBarTabFeatures[0].features !== undefined && \r\n this.topBarTabFeatures[0].features.length > 1)\r\n }\r\n\r\n get tabFeatures () {\r\n if (this.topBarTabFeatures) {\r\n const feats = this.topBarTabFeatures[0].features\r\n return feats\r\n }\r\n return []\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTopbar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTopbar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppTopbar.vue?vue&type=template&id=c58c0184&scoped=true\"\nimport script from \"./AppTopbar.vue?vue&type=script&lang=ts\"\nexport * from \"./AppTopbar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppTopbar.vue?vue&type=style&index=0&id=c58c0184&prod&lang=scss\"\nimport style1 from \"./AppTopbar.vue?vue&type=style&index=1&id=c58c0184&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c58c0184\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-navigation-drawer',{staticClass:\"side-nav\",attrs:{\"mini-variant\":_vm.collapsedMenu,\"disable-resize-watcher\":false,\"width\":_vm.panelWidth,\"app\":\"\"},on:{\"update:miniVariant\":function($event){_vm.collapsedMenu=$event},\"update:mini-variant\":function($event){_vm.collapsedMenu=$event}},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('div',{staticClass:\"no-scrollable-content\"},[_c('app-header-logo',{attrs:{\"imgName\":_vm.configuredLogoName,\"imgAlt\":_vm.configuredLogoAlt,\"imgLink\":_vm.configuredLogoLink}}),_c('v-divider'),(_vm.activateAvatarBanner)?_c('v-list',{staticClass:\"str-menu-header\"},[_c('app-avatar-banner-item',{attrs:{\"title\":_vm.avatarTitle,\"subtitle\":_vm.avatarSubtitle,\"subtitleUrl\":_vm.avatarSubtitleUrl,\"avatarLink\":_vm.avatarLink,\"avatarImg\":_vm.avatarImg,\"avatarImgUrl\":_vm.avatarImgUrl,\"avatarAlt\":_vm.avatarAlt,\"showOnlyAvatarImg\":_vm.isCollapsed,\"inverseColors\":false}})],1):_vm._e()],1),_c('div',{staticClass:\"no-scrollable-content\"},[_c('v-list',{staticClass:\"side-menu\",attrs:{\"dense\":\"\"}},[_vm._l((_vm.menuFeatures),function(featureGroup){return [(featureGroup.features)?_c('v-list-group',{key:featureGroup.label,attrs:{\"value\":featureGroup.active,\"prepend-icon\":featureGroup.icon},on:{\"click\":function($event){featureGroup.active = !featureGroup.active}},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(featureGroup.label))+\" \")])]},proxy:true}],null,true)},[_c('app-menu-list',{attrs:{\"isInnerMenu\":false,\"menuItems\":featureGroup.features}})],1):_vm._e()]})],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{attrs:{\"id\":\"app-header\"}},[_c('v-toolbar-title',{staticClass:\"ml-0 app-logo-container\"},[_c('img',{staticClass:\"app-logo\",attrs:{\"src\":_vm.imgUrlWithContext,\"alt\":_vm.imgAlt}})]),_c('div',{staticClass:\"app-logo-banner\"})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Prop,\r\n Vue\r\n } from 'vue-property-decorator'\r\n import {\r\n ConfigService\r\n } from '..'\r\n\r\n /****************************************** */\r\n /** Encapsulates reusable code to define */\r\n\t/** the header of a panel into the app. */\r\n /****************************************** */\r\n\r\n @Component({\r\n name: 'AppHeaderLogo'\r\n })\r\n export default class AppHeaderLogo extends Vue {\r\n @Prop() imgName!: string\r\n @Prop() imgAlt!: string\r\n @Prop() imgLink!: string\r\n\r\n get imgUrlWithContext() {\r\n return ConfigService.getProjectAssetsDir() + this.imgName\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHeaderLogo.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHeaderLogo.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppHeaderLogo.vue?vue&type=template&id=56472b9c&scoped=true\"\nimport script from \"./AppHeaderLogo.vue?vue&type=script&lang=ts\"\nexport * from \"./AppHeaderLogo.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppHeaderLogo.vue?vue&type=style&index=0&id=56472b9c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56472b9c\",\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component,\r\n Watch,\r\n Prop,\r\n Vue\r\n } from 'vue-property-decorator'\r\n import {\r\n Action,\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n ConfigService,\r\n FeatureGroupEntity,\r\n } from '..'\r\n import AppHeaderLogo from './AppHeaderLogo.vue'\r\n import AppMenuList from './AppMenuList.vue'\r\n import AppAvatarBannerItem from './AppAvatarBannerItem.vue'\r\n \r\n\r\n /********************************************** */\r\n /** Encapsulates application styles for */\r\n /** a reusable side panel menu keeping */\r\n /** a generic behavior to interact with */\r\n /** a main content and configure responsive */\r\n /** capabilities with tablet and smarphone */\r\n /********************************************** */\r\n\r\n @Component({\r\n name: 'AppSideNavigationMenu',\r\n components: {\r\n AppHeaderLogo,\r\n AppMenuList,\r\n AppAvatarBannerItem,\r\n }\r\n })\r\n export default class AppSideNavigationMenu extends Vue {\r\n drawer: boolean = true\r\n @Prop() panelWidth!: string\r\n @Prop() menuFeatures!: FeatureGroupEntity[]\r\n @Prop() activateTopHeader!: boolean\r\n @Prop() activateAvatarBanner!: boolean\r\n @Prop() avatarTitle!: string\r\n @Prop() avatarSubtitle!: string\r\n @Prop() avatarSubtitleUrl?: string\r\n @Prop() avatarLink!: string\r\n @Prop() avatarAlt!: string\r\n @Prop() avatarImg!: string\r\n @Prop() avatarImgUrl!: string\r\n\r\n @Getter('showSidePanel', { namespace: 'viewState' }) showSidePanel!: boolean\r\n @Action('toggleSidePanelState', { namespace: 'viewState' }) toggleSidePanelState: any\r\n\r\n get collapsedMenu() {\r\n return this.showSidePanel\r\n }\r\n\r\n set collapsedMenu(_) {\r\n this.toggleSidePanelState()\r\n }\r\n\r\n @Watch('showSidePanel')\r\n onCollapsedMenuStateChanged() {\r\n this.menuFeatures.forEach(f => f.active = false)\r\n }\r\n\r\n get configuredLogoName() {\r\n return this.showSidePanel ? ConfigService.getAppSmallLogo() : ConfigService.getAppLogo()\r\n }\r\n\r\n get configuredLogoAlt() {\r\n return this.$t('app.name')\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSideNavigationMenu.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSideNavigationMenu.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppSideNavigationMenu.vue?vue&type=template&id=d8e3f1e8&scoped=true\"\nimport script from \"./AppSideNavigationMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AppSideNavigationMenu.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppSideNavigationMenu.vue?vue&type=style&index=0&id=d8e3f1e8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d8e3f1e8\",\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component,\r\n Vue,\r\n Prop\r\n } from 'vue-property-decorator'\r\n import {\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n FeatureGroupEntity,\r\n UserEntity,\r\n } from '../..'\r\n import AppTopbar from './AppTopbar.vue'\r\n import AppSideNavigationMenu from './AppSideNavigationMenu.vue'\r\n\r\n /******************************************* */\r\n /** Encapsulates application styles for */\r\n /** a reusable fullscreen layout. */\r\n /******************************************* */\r\n\r\n @Component({\r\n name: 'AppHolygrailLayout',\r\n components: {\r\n AppTopbar,\r\n AppSideNavigationMenu,\r\n }\r\n })\r\n export default class AppHolygrailLayout extends Vue {\r\n @Prop() topBarColor!: string\r\n @Prop() sidePanelWidth!: string\r\n @Prop() avatarTitle!: string\r\n @Prop() avatarLink!: string\r\n @Prop() avatarAlt!: string\r\n @Prop() avatarImg!: string\r\n @Prop() avatarImgUrl!: string\r\n\r\n @Getter('usrIdentity', { namespace: 'usrSess' }) usrIdentity!: UserEntity | undefined\r\n @Getter('tenantName', { namespace: 'usrSess' }) tenantName!: string | undefined\r\n @Getter('usrHighestAuthorization', { namespace: 'usrSess' }) usrHighestAuthorization!: string | undefined\r\n @Getter('pageTitle', { namespace: 'viewState' }) pageTitle!: string\r\n @Getter('activateTopBar', { namespace: 'viewState' }) activateTopBar!: boolean\r\n @Getter('activateSidePanel', { namespace: 'viewState' }) activateSidePanel!: boolean\r\n @Getter('sidePanelMenuFeatures', { namespace: 'viewState' }) sidePanelMenuFeatures!: FeatureGroupEntity[]\r\n\r\n get userFullname () {\r\n let name = ''\r\n if(this.usrIdentity){\r\n const {firstname, lastname ,email} = this.usrIdentity\r\n if(firstname && lastname){\r\n name = `${firstname} ${lastname}`\r\n } else if(email){\r\n name = email\r\n }\r\n }\r\n return name\r\n }\r\n\r\n get userInitials () {\r\n let initials: string = ''\r\n if (this.usrIdentity) {\r\n const {firstname, lastname ,email} = this.usrIdentity\r\n if (firstname && lastname) { \r\n initials = `${firstname.substring(0, 1)}${lastname.substring(0, 1)}`\r\n } else if(email){\r\n initials = `${email.substring(0, 1)}`\r\n }\r\n }\r\n return initials.toUpperCase()\r\n }\r\n\r\n get userEmail () {\r\n return this.usrIdentity && this.usrIdentity.email ? this.usrIdentity.email : ''\r\n }\r\n\r\n get userRoleDesc () {\r\n return this.usrHighestAuthorization ? this.$t(`app.common.user.role.${this.usrHighestAuthorization}`) : ''\r\n }\r\n\r\n get userTenantName () {\r\n return this.tenantName ? this.tenantName : ''\r\n } \r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHolygrailLayout.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHolygrailLayout.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppHolygrailLayout.vue?vue&type=template&id=e5881818&scoped=true\"\nimport script from \"./AppHolygrailLayout.vue?vue&type=script&lang=ts\"\nexport * from \"./AppHolygrailLayout.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppHolygrailLayout.vue?vue&type=style&index=0&id=e5881818&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e5881818\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-snackbar',{staticClass:\"lnf-snack-bar\",attrs:{\"transition\":\"slide-x-reverse-transition\",\"elevation\":\"24\",\"color\":this.color,\"top\":this.isTop,\"timeout\":this.timeout,\"value\":true,\"right\":\"\"},on:{\"input\":function($event){return _vm.onSnackbarClosed()}}},[_vm._v(\" \"+_vm._s(_vm.text)+\" \"),_c('v-btn',{attrs:{\"id\":\"lnf-no-background-icon\",\"ripple\":false,\"icon\":\"\"},on:{\"click\":function($event){return _vm.onSnackbarClosed()}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component,\r\n Prop,\r\n Vue\r\n } from 'vue-property-decorator'\r\n\r\n @Component({\r\n name: 'AppSnackBar',\r\n })\r\n export default class AppSnackBar extends Vue {\r\n @Prop() color!: string\r\n @Prop() isTop!: boolean\r\n @Prop() text!: string\r\n @Prop() timeout!: number\r\n\r\n onSnackbarClosed () {\r\n this.$store.dispatch('viewState/resetSnackBarError', null, { root: true })\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSnackBar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSnackBar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppSnackBar.vue?vue&type=template&id=2c61591a&scoped=true\"\nimport script from \"./AppSnackBar.vue?vue&type=script&lang=ts\"\nexport * from \"./AppSnackBar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppSnackBar.vue?vue&type=style&index=0&id=2c61591a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c61591a\",\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component,\r\n Watch,\r\n Vue \r\n } from 'vue-property-decorator'\r\n import { \r\n Action,\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n EventBus,\r\n UserEntity,\r\n OAuth2Service,\r\n ErrorViewModel,\r\n AppConfigService,\r\n } from '.'\r\n import {\r\n RoleLevel,\r\n FeaturesConfigService\r\n } from '.'\r\n import AppHolygrailLayout from './common/components/AppHolygrailLayout.vue'\r\n import AppSnackBar from './common/components/AppSnackBar.vue'\r\n\r\n\r\n @Component({\r\n name: 'app',\r\n components: {\r\n AppHolygrailLayout,\r\n AppSnackBar\r\n }\r\n })\r\n export default class App extends Vue {\r\n @Getter('tenantName', { namespace: 'usrSess' }) tenantName!: string | undefined\r\n @Getter('usrAuthorizations', { namespace: 'usrSess' }) usrAuthorizations!: any | undefined\r\n @Getter('authenticationData', { namespace: 'usrSess' }) authenticationData!: string | undefined\r\n @Getter('usrIdentity', { namespace: 'usrSess'}) usrIdentity!: UserEntity | undefined\r\n @Getter('pageError', { namespace: 'viewState' }) pageError!: ErrorViewModel | undefined\r\n @Getter('snackBarError', { namespace: 'viewState'}) snackBarError!: ErrorViewModel | undefined\r\n @Getter('availableLangs', { namespace: 'searchFilters'}) availableLangs!: string[] | undefined\r\n \r\n @Action('setTenantName', { namespace: 'usrSess' }) setTenantName: any\r\n @Action('clearAnalyticsData', { namespace: 'analytics' }) clearAnalyticsData: any\r\n @Action('clearSubscriptionData', { namespace: 'Licenses' }) clearSubscriptionData: any\r\n @Action('setRequestInProgress', { namespace: 'analytics' }) setRequestInProgress: any\r\n @Action('sendAnalyticsQuery', { namespace: 'analytics' }) sendAnalyticsQuery: any\r\n @Action('setTopBarTabFeatures', { namespace: 'viewState' }) setTopBarTabFeatures: any\r\n @Action('setSidePanelMenuFeatures', { namespace: 'viewState' }) setSidePanelMenuFeatures: any\r\n @Action('setTopBarDropdownMenuFeatures', { namespace: 'viewState' }) setTopBarDropdownMenuFeatures: any\r\n @Action('clearCustomFilters', { namespace: 'customSearchFilters' }) clearCustomFilters: any\r\n @Action('fetchUsersForEmail', { namespace: 'customSearchFilters' }) fetchUsersForEmail: any\r\n @Action('initAuthorizedUserFromMail', { namespace: 'customSearchFilters' }) initAuthorizedUserFromMail: any\r\n @Action('setUsersSearchFilter', { namespace: 'customSearchFilters' }) setUsersSearchFilter: any\r\n @Action('setSearchFilterPeriod', { namespace: 'searchFilters' }) setSearchFilterPeriod: any\r\n @Action('setHighestUserAuthorizationLevel', { namespace: 'usrSess' }) setHighestUserAuthorizationLevel: any\r\n @Action('saveRefreshedSessionData', { namespace: 'usrSess' }) saveRefreshedSessionData: any\r\n @Action('setLang', { namespace: 'searchFilters'}) setLang: any\r\n\r\n created () {\r\n // update app view-state after authentication process finished\r\n EventBus.$on('ON_AUTH_FINISHED', (redirectPage: string) => this.onUserAuthentifiedEvent(redirectPage))\r\n EventBus.$on('ON_AUTH_TOKEN_REFRESHED', (authenticationData: any) => this.saveRefreshedSessionData(authenticationData))\r\n \r\n // go to error page if an error has been found\r\n EventBus.$on('ON_DISPLAY_ERROR_PAGE_EVENT', () => {\r\n // if a new view error has been set, redirect to error page \r\n // prevent [NavigationDuplicated: avoided redundant navigation to current location] error\r\n if (this.pageError !== undefined && this.$router.currentRoute.path !== AppConfigService.getDefaultErrorPage()) {\r\n this.$router.push({ path: AppConfigService.getDefaultErrorPage() })\r\n }\r\n })\r\n }\r\n\r\n @Watch('pageError')\r\n onViewError () {\r\n // if a new view error has been set, redirect to error page \r\n // prevent [NavigationDuplicated: Avoided redundant navigation to current location] error\r\n if (this.pageError !== undefined && this.$router.currentRoute.path !== AppConfigService.getDefaultErrorPage()) {\r\n this.$router.push({ path: AppConfigService.getDefaultErrorPage() }) \r\n }\r\n }\r\n\r\n @Watch('tenantName')\r\n onTenantName () {\r\n if (this.tenantName) {\r\n this.initDefaultFilterValue();\r\n }\r\n }\r\n\r\n @Watch('authenticationData')\r\n onAuthenticationDataChanged () {\r\n if (this.authenticationData) {\r\n this.setTenantName()\r\n }\r\n // if the authentication data has been reset, then the session is ended the\r\n // application data should be cleared\r\n if (this.authenticationData === undefined) {\r\n this.clearAnalyticsData()\r\n this.clearCustomFilters()\r\n }\r\n }\r\n\r\n onUserAuthentifiedEvent (redirectPage: string) {\r\n if (this.usrAuthorizations !== undefined) {\r\n\r\n let mostImportantRole: string = OAuth2Service.getUserHighestRoleNameFromAuthorizedTenants(\r\n this.usrAuthorizations, RoleLevel)\r\n\r\n // updates application state with the highest role\r\n const usrHighestAuth: any = { usrHighestAuthorization: mostImportantRole }\r\n this.setHighestUserAuthorizationLevel(usrHighestAuth)\r\n\r\n // Initialize dropdown menu features\r\n const featuresConfigService: FeaturesConfigService = new FeaturesConfigService()\r\n let dropdownMenuFeatures: any = { dropdownMenuFeatures: featuresConfigService.getTopBarDropdownMenuFeatureGroups(mostImportantRole) }\r\n let dropdownMenuFeaturesTemp = featuresConfigService.filterCustomDropdownFeatures(dropdownMenuFeatures, this.usrAuthorizations)\r\n console.log(dropdownMenuFeaturesTemp)\r\n this.setTopBarDropdownMenuFeatures(dropdownMenuFeatures)\r\n \r\n // Initialize TopBar main features\r\n const tabFeatures: any = { tabFeatures: featuresConfigService.getMainMenuFeatureGroups(mostImportantRole) }\r\n this.setTopBarTabFeatures(tabFeatures)\r\n\r\n const sideMenuFeatures: any = { sidePanelMenuFeatures: featuresConfigService.getSidePanelMenuFeatureGroups(mostImportantRole) }\r\n this.setSidePanelMenuFeatures(sideMenuFeatures)\r\n\r\n // if the authentication data has been reset, then the session is ended the\r\n // application data should be cleared\r\n this.initDefaultFilterValue();\r\n this.clearAnalyticsData();\r\n this.clearSubscriptionData();\r\n\r\n // if autorizations changed, the user should be redirected to initial page because UI menu\r\n // has chaged and tenant data also changed\r\n if (redirectPage === undefined || redirectPage === '') {\r\n this.$router.push({ path: AppConfigService.getDefaultInitialPage() })\r\n } else {\r\n (redirectPage.indexOf('http') === -1) ? this.$router.push({ path: redirectPage })\r\n : window.open(redirectPage)\r\n }\r\n }\r\n }\r\n\r\n initDefaultFilterValue() {\r\n\r\n //Initialize dates\r\n const timeZoneSecDelta: number = new Date().getTimezoneOffset()*60\r\n const dateTo = new Date(new Date().setUTCHours(23,59,59) + timeZoneSecDelta).toISOString()\r\n const computedDateFrom = new Date(new Date(new Date().setDate(new Date().getDate()-7)).setUTCHours(0,0,25)+timeZoneSecDelta)\r\n const dateFrom: string = computedDateFrom.toISOString()\r\n \r\n this.setSearchFilterPeriod({dateFrom, dateTo})\r\n \r\n // Initialize custom filters for specific tenant\r\n if (this.tenantName && this.usrIdentity) {\r\n this.setRequestInProgress()\r\n this.fetchUsersForEmail(this.usrIdentity.email)\r\n } else if (this.usrIdentity) { // probably useless block\r\n this.initAuthorizedUserFromMail(this.usrIdentity.email)\r\n this.setUsersSearchFilter([this.usrIdentity.email])\r\n }\r\n }\r\n\r\n get snackBarTimeout() {\r\n return AppConfigService.getSnackBarTimeout()\r\n }\r\n }\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7a4489c8\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=7a4489c8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n import {\r\n Component\r\n } from 'vue-property-decorator'\r\n import DisclaimerView from './DisclaimerView.vue'\r\n\r\n @Component({\r\n name: 'PageNotFoundView'\r\n })\r\n export default class PageNotFoundView extends DisclaimerView {\r\n get disclaimerMsg () {\r\n return this.$t('app.pagenotfound.disclaimer')\r\n }\r\n }\r\n","var render, staticRenderFns\nimport script from \"./PageNotFoundView.vue?vue&type=script&lang=ts\"\nexport * from \"./PageNotFoundView.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./PageNotFoundView.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFoundView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFoundView.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('iframe',{staticClass:\"iframe-welcome\",attrs:{\"id\":\"iframe-welcome\",\"src\":\"https://www.cordial.fr/grammaire/\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import {\r\n Component\r\n } from 'vue-property-decorator'\r\n import {\r\n Getter\r\n } from 'vuex-class'\r\n import {\r\n UserEntity\r\n } from '..'\r\n import AbstractView from '../common/views/AbstractView.vue'\r\n\r\n @Component({\r\n name: 'HomeView',\r\n components: {\r\n },\r\n })\r\n export default class HomeView extends AbstractView { \r\n @Getter('usrIdentity', { namespace: 'usrSess'}) usrIdentity!: UserEntity | undefined;\r\n\r\n get loggedUserGreeting () {\r\n if (this.usrIdentity) {\r\n // @ts-ignore: Object is possibly 'null'\r\n return `${this.$t('app.home.greeting')} ${this.usrIdentity.firstname} ${this.usrIdentity?.lastname} \\n, ${this.$t('app.home.welcome')} ${this.$t('app.home.benefit')}`;\r\n } else {\r\n return '';\r\n }\r\n }\r\n }\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeView.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./HomeView.vue?vue&type=template&id=c7ca10d8&scoped=true\"\nimport script from \"./HomeView.vue?vue&type=script&lang=ts\"\nexport * from \"./HomeView.vue?vue&type=script&lang=ts\"\nimport style0 from \"./HomeView.vue?vue&type=style&index=0&id=c7ca10d8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c7ca10d8\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./HomeView.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import {\r\n RouteConfig\r\n} from 'vue-router/types/router'\r\nimport {\r\n AppLayoutsEnum\r\n} from '..'\r\nimport HomeView from '../views/HomeView.vue'\r\n\r\nexport const UserAccountRoutes: RouteConfig[] = [{\r\n path: '/home',\r\n name: 'home',\r\n component: HomeView,\r\n props: {\r\n layout: AppLayoutsEnum.BASIC_LAYOUT,\r\n pageTitle: 'app.menu.feature.group.setting',\r\n }\r\n},\r\n{\r\n path: '/subscription',\r\n name: 'subscription',\r\n component: () => import('@/views/RedirectToSubscriptionView.vue')\r\n}]\r\n","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\nimport PageNotFoundView from './common/views/view-state/PageNotFoundView.vue'\r\nimport {\r\n AppConfigService,\r\n AppLayoutsEnum,\r\n OAuth2Routes,\r\n ViewStateRoutes,\r\n RolesFromServerIndex,\r\n MonitoringRoutes\r\n} from '.'\r\nimport { UserAccountRoutes } from './routes/UserAccountRoutes'\r\n\r\nVue.use(VueRouter)\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: `/${AppConfigService.getAppContext()}`,\r\n routes: [\r\n ...OAuth2Routes(AppConfigService.getDefaultInitialPage(), RolesFromServerIndex),\r\n ...ViewStateRoutes,\r\n ...MonitoringRoutes,\r\n ...UserAccountRoutes,\r\n {\r\n path: '/',\r\n redirect: {\r\n path: AppConfigService.getDefaultInitialPage()\r\n }\r\n }, {\r\n path: '/404',\r\n name: 'pagenotfound',\r\n props: {\r\n layout: AppLayoutsEnum.FULLSCREEN_LAYOUT\r\n },\r\n component: PageNotFoundView\r\n }, {\r\n path: '**',\r\n redirect: {\r\n name: 'pagenotfound'\r\n }\r\n }\r\n ]\r\n})\r\nexport default router\r\n","import Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\nimport {\r\n AppConfigService\r\n} from '..'\r\nimport {\r\n messages\r\n} from '../lang'\r\n\r\nVue.use(VueI18n)\r\n\r\n// default language is set to language used in browser\r\nconst locale: string = navigator.language.split('-')[0]\r\n\r\nexport default new VueI18n({\r\n fallbackLocale: AppConfigService.getDefaultLocale(),\r\n locale,\r\n messages,\r\n silentFallbackWarn: true,\r\n silentTranslationWarn: true\r\n})","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport VuexPersistence from 'vuex-persist'\r\nimport {\r\n IState,\r\n usrSess,\r\n searchFilters,\r\n viewState,\r\n} from '..'\r\nimport {\r\n analytics,\r\n customSearchFilters,\r\n Licenses,\r\n rephrase,\r\n} from '..'\r\n\r\nVue.use(Vuex)\r\n\r\nconst vuexPersist = new VuexPersistence({\r\n key: 'vx', // The key to store the state on in the storage provider.\r\n storage: window.localStorage, // or window.sessionStorage or localForage\r\n modules: [\r\n 'usrSess',\r\n 'viewState',\r\n 'searchFilters',\r\n 'analytics',\r\n 'customSearchFilters',\r\n 'Licenses',\r\n 'rephrase',\r\n ]\r\n})\r\n\r\nexport default new Vuex.Store < IState > ({\r\n modules: {\r\n usrSess,\r\n viewState,\r\n searchFilters,\r\n customSearchFilters,\r\n Licenses,\r\n analytics,\r\n rephrase,\r\n },\r\n mutations: {\r\n RESTORE_MUTATION: vuexPersist.RESTORE_MUTATION,\r\n },\r\n plugins: [vuexPersist.plugin],\r\n})\r\n","import Vue from 'vue'\r\nimport Vuetify from 'vuetify/lib'\r\n\r\nconst locales = {\r\n en: require('vuetify/es5/locale/en'),\r\n es: require('vuetify/es5/locale/es'),\r\n fr: require('vuetify/es5/locale/fr')\r\n}\r\n\r\nconst current = navigator.language.split('-')[0]\r\n\r\nVuetify.config.silent = true\r\nVue.use(Vuetify)\r\n\r\nexport default new Vuetify({\r\n locales,\r\n current,\r\n icons: {\r\n iconfont: 'mdiSvg'\r\n },\r\n theme: {\r\n dark: false,\r\n themes: {\r\n dark: {\r\n primary: '#0b2443',\r\n accent: '#00bddb',\r\n secondary: '#167183',\r\n success: '#42d9d1',\r\n info: '#24a8bd',\r\n warning: '#ffba56',\r\n error: '#e92651',\r\n loading: '#167183',\r\n },\r\n light: {\r\n primary: '#0b2443',\r\n accent: '#00bddb',\r\n secondary: '#167183',\r\n success: '#42d9d1',\r\n info: '#24a8bd',\r\n warning: '#ffba56',\r\n error: '#e92651',\r\n loading: '#167183',\r\n }\r\n }\r\n }\r\n})","import '@mdi/font/css/materialdesignicons.css'\r\nimport 'roboto-fontface/css/roboto/roboto-fontface.css'\r\n\r\nimport Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport i18n from './plugins/i18n'\r\nimport store from './plugins/vuex'\r\nimport vuetify from './plugins/vuetify'\r\nimport HighchartsVue from 'highcharts-vue'\r\n\r\nimport {\r\n globalBeforeEach,\r\n PermissionService,\r\n} from '.'\r\n \r\nVue.config.productionTip = false\r\n\r\n// Routes that are excluded of the authorization process. User authentication won't be checked on these\r\nconst anonymousAccessRoutes: string[] = []\r\n\r\n// Add Global OAuth2 BeforeEach here as store and router are initialized\r\nrouter.beforeEach(globalBeforeEach(store, router, anonymousAccessRoutes))\r\n\r\n// initialize instances of server connectors\r\nPermissionService.initFeaturesPermissionLevel()\r\nPermissionService.initRolesSpecificAuthorizations()\r\n\r\nnew Vue({\r\n vuetify,\r\n router,\r\n i18n,\r\n store,\r\n render: (h: any) => h(App)\r\n}).$mount('#app')\r\n\r\nVue.use(HighchartsVue)\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSparklineCardItem.vue?vue&type=style&index=1&id=26d8f78c&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoLinesList.vue?vue&type=style&index=0&id=55f5c64f&prod&lang=css\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.analytics.top.five.error.types.times\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\" fois\"])}\n },\n \"en\": {\n \"app.analytics.top.five.error.types.times\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\" times\"])}\n },\n \"es\": {\n \"app.analytics.top.five.error.types.times\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\" veces\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.analytics.top.five.error.types.times\":\" fois\"},\"en\":{\"app.analytics.top.five.error.types.times\":\" times\"},\"es\":{\"app.analytics.top.five.error.types.times\":\" veces\"}}')\n delete Component.options._Ctor\n \n}\n","import mod from \"-!../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorPageView.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorPageView.vue?vue&type=custom&index=0&blockType=i18n\"","import mod from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseTester.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RephraseTester.vue?vue&type=custom&index=0&blockType=i18n\"","import mod from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsFilterAndExport.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppAnalyticsFilterAndExport.vue?vue&type=custom&index=0&blockType=i18n\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHeaderLogo.vue?vue&type=style&index=0&id=56472b9c&prod&lang=scss&scoped=true\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push({\n \"locale\": \"\",\n \"resource\": {\n \"fr\": {\n \"app.home.greeting\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bonjour \"])},\n \"app.home.welcome\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bienvenue dans la communauté Cordial et merci pour votre confiance !\"])},\n \"app.home.benefit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous bénéficiez à présent des fonctionnalités Cordial là où vous avez l'habitude d'écrire !\"])}\n },\n \"en\": {\n \"app.home.greeting\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hello \"])},\n \"app.home.welcome\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Welcome to the Cordial community and thank you for your trust ! \\n\"])},\n \"app.home.benefit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You now benefit from Cordial functionality where you are used to writing!\\n\"])}\n }\n }\n })\n Component.options.__i18nBridge = Component.options.__i18nBridge || []\n Component.options.__i18nBridge.push('{\"fr\":{\"app.home.greeting\":\"Bonjour \",\"app.home.welcome\":\"bienvenue dans la communauté Cordial et merci pour votre confiance !\",\"app.home.benefit\":\"Vous bénéficiez à présent des fonctionnalités Cordial là où vous avez l\\u0027habitude d\\u0027écrire !\"},\"en\":{\"app.home.greeting\":\"Hello \",\"app.home.welcome\":\"Welcome to the Cordial community and thank you for your trust ! \\\\n\",\"app.home.benefit\":\"You now benefit from Cordial functionality where you are used to writing!\\\\n\"}}')\n delete Component.options._Ctor\n \n}\n"],"sourceRoot":""}