{"version":3,"sources":["webpack:///./src/entryPoints/common/plugins/vuetify.ts","webpack:///./src/entryPoints/common/plugins/vueRouter.ts","webpack:///./src/container.ts","webpack:///./src/entryPoints/common/plugins/vuex.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/moment-duration-format/lib/moment-duration-format.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./src/repositories/index.ts","webpack:///./src/repositories/generated/apiClients.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack:///./node_modules/@babel/runtime/helpers/esm/construct.js","webpack:///./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"names":["vuetify","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","theme","_yield$import","Vue","_yield$import2","Vuetify","_args","arguments","wrap","_context","prev","next","length","undefined","dark","sent","default","use","abrupt","stop","apply","router","routes","VueRouter","_x","Container","_classCallCheck","_createClass","key","get","AdminApiClient","ArtifactsApiClient","ClientAuthorisationApiClient","EntryPointArgsApiClient","FeatureTogglesApiClient","InputDataDefinitionsApiClient","OrganisationsApiClient","TemplatesApiClient","TrendsApiClient","store","stores","Vuex","Store","state","container","modules","strict","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","root","factory","momentDurationFormatSetup","moment","this","toLocaleStringWorks","toLocaleStringRoundingWorks","intlNumberFormatWorks","intlNumberFormatRoundingWorks","types","split","bubbles","type","targets","value","stringIncludes","str","search","indexOf","repeatZero","qty","result","stringRound","digits","digitsArray","reverse","i","carry","parseInt","push","join","cachedNumberFormat","locale","options","optionsString","map","keys","sort","cacheKey","cache","Intl","NumberFormat","formatNumber","number","userLocale","numberString","integerString","fractionString","exponentString","useToLocaleString","useGrouping","grouping","maximumSignificantDigits","minimumIntegerDigits","fractionDigits","groupingSeparator","decimalSeparator","localeStringOptions","maximumFractionDigits","minimumFractionDigits","roundingOptions","extend","parseFloat","format","toLocaleString","toPrecision","toFixed","temp","integerLength","fractionLength","digitCount","replace","exponent","Math","abs","formattedString","group","shift","durationLabelCompare","a","b","label","durationGetLabels","token","localeData","labels","each","localeDataKey","labelType","toLowerCase","labelKey","durationPluralKey","integerValue","decimalValue","engLocale","durationLabelsStandard","S","SS","s","ss","m","mm","h","hh","d","dd","w","ww","M","MM","y","yy","durationLabelsShort","durationTimeTemplates","HMS","HM","MS","durationLabelTypes","string","isArray","array","isObject","obj","findLast","callback","index","find","match","max","item","ret","pluck","prop","compact","unique","_a","intersection","_b","rest","initial","reversed","hasOwnProperty","any","flatten","child","concat","toLocaleStringSupportsLocales","e","featureTestFormatterRounding","formatter","featureTestFormatter","passed","durationsFormat","durations","args","settings","arg","precision","template","returnMomentTypes","formattedDurations","dur","outputTypes","largest","durationFormat","defaults","asMilliseconds","asMonths","isValid","isNegative","remainder","duration","remainderMonths","momentTokens","years","months","weeks","days","hours","minutes","seconds","milliseconds","tokenDefs","escape","general","typeMap","tokenizer","RegExp","source","stopTrim","_durationTimeTemplates","useLeftUnits","usePlural","forceLength","trunc","useSignificantDigits","significantDigits","significantDigitsCache","minValue","isMinValue","maxValue","isMaxValue","trim","trimIncludes","rLarge","rSmall","rBoth","rMid","rAll","rFinal","trimLarge","trimSmall","trimMid","trimFinal","rawTokens","text","currentToken","tokens","momentTypes","momentType","rawValue","isSmallest","isLargest","as","wholeValue","floor","subtract","tokenLength","truncMethod","round","truncate","places","factor","pow","foundFirst","bubbled","formatValue","formatOptions","formattedValue","formattedValueEn","formattedValueMS","findType","bubbleTypes","bubble","bubbleMomentType","target","targetMomentType","outputType","values","pluralKey","autoLocalized","pluralizedLabels","_durationLabelTypes","out","defaultFormatTemplate","_data","firstType","lastType","init","context","fn","updateLocale","toLocaleStringFormatter","intlNumberFormatFormatter","window","_arrayLikeToArray","arr","len","arr2","CsvDateOffset","CsvDateFormat","baseUrl","http","jsonParseReviver","_this","url_","options_","method","headers","Accept","fetch","then","_response","processRebuildAll","response","status","_headers","forEach","v","k","contentDisposition","fileNameMatch","exec","fileName","decodeURIComponent","blob","data","_responseText","throwException","Promise","resolve","_this2","processPruneDocuments","id","_this3","Error","encodeURIComponent","processPut","_this4","processDelete","userId","query","_this5","processSearch","_this6","result200","resultData200","JSON","parse","ArtifactsSearchResultsDto","fromJS","_this7","processGetLastSaved","_this8","BlobApiClient","date","prefix","_this9","processGetFolders","_this10","_step","_iterator","_createForOfIteratorHelper","done","BlobPath","err","f","pageSize","_this11","processGetAll","_this12","_step2","_iterator2","BlobGroupDto","blobGroupPaths","_this13","content_","stringify","body","processDeleteMultiple","_this14","_this17","processHome","_this18","HomeEntryPointArgs","_this19","processTrend","_this20","TrendEntryPointArgs","_this21","processArtifacts","_this22","ArtifactEntryPointArgs","_this23","processEmbeddables","_this24","EmbeddableArtifactEntryPointArgs","featureToggle","_this25","processToggleForMe","_this26","processToggleForEveryone","people","_this27","processTurnOnForPeople","_this28","processGetAllStatuses","_this29","_step3","_iterator3","FeatureToggleSummary","_this30","processGet","_this31","facets","tabId","groups","_this33","_this34","SearchResultDto","ids","_this35","_this36","_step4","_iterator4","InputDataDefinitionDto","_this37","_this38","_step5","_iterator5","Organisation","includeOnHomePage","trend","_this39","processPost","_this40","_this41","_step6","_iterator6","TemplateSummaryDto","_this42","_this43","processCreateTrend","_this44","TrendResourceDto","_this45","_this46","_step7","_iterator7","TrendSummaryResourceDto","_this47","processDescription","_this48","TrendDescriptionDto","_this49","_this50","_this51","_this52","TrendPutResult","_this53","trendId","_this54","processCopy","_this55","_this56","processClaim","publishingDetails","_this57","processPublish","policies","_this60","processIsAuthorised","_this61","IsAuthorisedDto","TrendsMetricsApiClient","purpose","request","_this62","processTrendsQuery","_this63","_step8","_iterator8","TrendsMetricApiResponse","url","_this64","processStatus","_this65","processRead","_this66","_step9","_iterator9","DataPointDto","property","trends","_step10","_iterator10","ArtifactsSearchResultDto","_typeof","_step11","_iterator11","toJSON","score","publishedUri","title","description","owner","canDelete","path","TrendStep","accountStatus","AccountStatusDto","product","ProductDto","policyAuthorisations","_step12","_iterator12","PolicyAuthorisationDto","feedbackBaseUrl","apiVersion","showAppBar","_step13","_iterator13","email","imageUrl","prereleaseTag","isAuthorised","_step14","_iterator14","trendResource","_step15","_iterator15","TrendDto","links","TrendLinksDto","apiLinks","TrendApiLinksDto","version","lastSavedTime","isDeleted","deletionTime","_etag","isDraft","isPublished","isPublishedToEveryone","publishedToOrganisations","_step16","_iterator16","creationTime","isReadOnlyMode","currentStepId","dataDefinition","TrendDataDefinitionDto","channels","_step17","_iterator17","ChannelContainerDto","selectedChannelIndex","toISOString","_step18","_iterator18","_step19","_iterator19","RelativeDurationUnitId","appDateTimes","AppDateTimesDto","configuredDataDefinitions","_step20","_iterator20","ConfiguredMetricDto","_step21","_iterator21","fixedStart","fixedEnd","lookBack","RelativeDurationDto","lookForward","isLive","isRelative","utcOffsetDefinition","UtcOffsetDefinitionDto","unitId","count","TimeStep","Aggregation","fixedOffsetInMinutes","timeZone","unitsOfMeasure","UnitsOfMeasureDto","dataSummary","DataSummaryDto","calculationVariableName","inputDataDefinitionId","IMetricDto","timeStep","aggregate","isIncludedInOutputChannels","maxDataPoints","displayName","valueFormatString","decimalPlaces","period","OutputChannelTypeId","FeatureToggle","show","ResourceActionDto","artifact","embeddableArtifact","resourceUri","update","publish","delete","embedBaseUrl","EmbeddableArtifactContainerArgs","widgetLogo","ImageDefinition","sponsorLogo","twitterMessage","twitterAccountId","socialBaseUrl","linkUrl","tooltip","isOn","isOnForMe","isOnForEveryone","isOnForPeople","_step22","_iterator22","_step23","_iterator23","resultCount","_step24","_iterator24","FacetDto","selectedTab","TabDto","tabs","_step25","_iterator25","TabSummaryDto","_step26","_iterator26","_step27","_iterator27","_step28","_iterator28","FacetValueDto","isValueListComplete","_step29","_iterator29","recordCount","columns","_step30","_iterator30","ColumnDto","rows","_step31","_iterator31","RowDto","availableGroupingFacets","_step32","_iterator32","FacetKeyDto","selectedGroupingFacets","_step33","_iterator33","_step34","_iterator34","_step35","_iterator35","_step36","_iterator36","_step37","_iterator37","cells","_step38","_iterator38","CellDto","children","_step39","_iterator39","_step40","_iterator40","_step41","_iterator41","columnIndex","metric","emailDomainObjects","_step42","_iterator42","EmailDomain","emailDomains","_step43","_iterator43","_step44","_iterator44","_step45","_iterator45","domain","isDeprecated","trendSummary","TrendSummaryDto","TrendSummaryLinksDto","ownerIsAGrId","html","TrendPublishDto","_step46","_iterator46","_step47","_iterator47","configuredMetric","available","pending","_step48","_iterator48","_step49","_iterator49","isForecast","_step50","_iterator50","_step51","_iterator51","SeriesDataCollectionRequestDto","start","end","pointInTimeContext","_step52","_iterator52","utcOffsetInMinutes","requestId","_step53","_iterator53","timeStamp","SwaggerException","_Error","_inherits","_super","_createSuper","message","_this67","isSwaggerException","_wrapNativeSuper","RawMetricDto","AggregateMetricDto","CalculatedMetricDto","_IMetricDto","_super2","_this68","_IMetricDto2","_super3","_this69","entityTypeId","propertyId","_step54","_iterator54","facetId","valueId","_step55","_iterator55","_IMetricDto3","_super4","_this70","expression","_isNativeFunction","Function","_construct","Parent","Class","isNativeReflectConstruct","Reflect","construct","bind","Constructor","instance","setPrototypeOf","_cache","Map","isNativeFunction","TypeError","has","set","Wrapper","getPrototypeOf","create","enumerable","writable","configurable","allowArrayLike","it","Symbol","iterator","unsupportedIterableToArray","F","_e","normalCompletion","didErr","step","_e2"],"mappings":"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","file":"js/plugins.9f7bfadc.js","sourcesContent":["import { ThemeOptions } from 'vuetify/types/services/theme';\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst vuetify = async (theme: ThemeOptions = { dark: false }) => {\n const { default: Vue } = await import(/* webpackChunkName: \"vue\" */ 'vue');\n const { default: Vuetify } = await import(/* webpackChunkName: \"vuetify\" */ 'vuetify/lib/framework');\n\n Vue.use(Vuetify);\n\n return new Vuetify({\n theme\n });\n};\n\nexport default vuetify;\n","import { RouteConfig } from 'vue-router';\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst router = async (routes: RouteConfig[]) => {\n const { default: Vue } = await import(/* webpackChunkName: \"vue\" */ 'vue');\n\n const { default: VueRouter } = await import(/* webpackChunkName: \"vue-router\" */ 'vue-router');\n Vue.use(VueRouter);\n\n return new VueRouter({\n routes\n });\n};\n\nexport default router;\n","import {\n AdminApiClient,\n ArtifactsApiClient,\n ClientAuthorisationApiClient,\n EntryPointArgsApiClient,\n FeatureTogglesApiClient,\n InputDataDefinitionsApiClient,\n OrganisationsApiClient,\n TemplatesApiClient,\n TrendsApiClient\n} from '@/repositories';\n\nexport interface IContainer {\n adminApiClient: AdminApiClient;\n artifactsApiClient: ArtifactsApiClient;\n clientAuthorisationApiClient: ClientAuthorisationApiClient;\n entryPointArgsApiClient: EntryPointArgsApiClient;\n featureTogglesApiClient: FeatureTogglesApiClient;\n inputDataDefinitionsApiClient: InputDataDefinitionsApiClient;\n organisationsApiClient: OrganisationsApiClient;\n templatesApiClient: TemplatesApiClient;\n trendsApiClient: TrendsApiClient;\n}\n\nexport default class Container implements IContainer {\n get adminApiClient(): AdminApiClient {\n return new AdminApiClient();\n }\n get artifactsApiClient(): ArtifactsApiClient {\n return new ArtifactsApiClient();\n }\n get clientAuthorisationApiClient(): ClientAuthorisationApiClient {\n return new ClientAuthorisationApiClient();\n }\n get entryPointArgsApiClient(): EntryPointArgsApiClient {\n return new EntryPointArgsApiClient();\n }\n get featureTogglesApiClient(): FeatureTogglesApiClient {\n return new FeatureTogglesApiClient();\n }\n get inputDataDefinitionsApiClient(): InputDataDefinitionsApiClient {\n return new InputDataDefinitionsApiClient();\n }\n get organisationsApiClient(): OrganisationsApiClient {\n return new OrganisationsApiClient();\n }\n get templatesApiClient(): TemplatesApiClient {\n return new TemplatesApiClient();\n }\n get trendsApiClient(): TrendsApiClient {\n return new TrendsApiClient();\n }\n\n static get featureTogglesApiClient(): FeatureTogglesApiClient {\n return new FeatureTogglesApiClient();\n }\n}\n\nexport { Container };\n","import { StoreOptions, Store, ModuleTree } from 'vuex';\nimport Container from '@/container';\nimport { IRootState } from '../stores/rootState';\n\nconst store = async (stores: ModuleTree): Promise> => {\n const { default: Vue } = await import(/* webpackChunkName: \"vue\" */ 'vue');\n\n const { default: Vuex } = await import(/* webpackChunkName: \"vuex\" */ 'vuex');\n Vue.use(Vuex);\n\n return new Vuex.Store({\n state: { container: new Container() },\n modules: stores,\n strict: true\n } as StoreOptions);\n};\n\nexport default store;\n","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","/*! Moment Duration Format v2.2.2\n * https://github.com/jsmreese/moment-duration-format\n * Date: 2018-02-16\n *\n * Duration format plugin function for the Moment.js library\n * http://momentjs.com/\n *\n * Copyright 2018 John Madhavan-Reese\n * Released under the MIT license\n */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['moment'], factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but only CommonJS-like\n // enviroments that support module.exports, like Node.\n try {\n module.exports = factory(require('moment'));\n } catch (e) {\n // If moment is not available, leave the setup up to the user.\n // Like when using moment-timezone or similar moment-based package.\n module.exports = factory;\n }\n }\n\n if (root) {\n // Globals.\n root.momentDurationFormatSetup = root.moment ? factory(root.moment) : factory;\n }\n})(this, function (moment) {\n // `Number#tolocaleString` is tested on plugin initialization.\n // If the feature test passes, `toLocaleStringWorks` will be set to `true` and the\n // native function will be used to generate formatted output. If the feature\n // test fails, the fallback format function internal to this plugin will be\n // used.\n var toLocaleStringWorks = false;\n\n // `Number#toLocaleString` rounds incorrectly for select numbers in Microsoft\n // environments (Edge, IE11, Windows Phone) and possibly other environments.\n // If the rounding test fails and `toLocaleString` will be used for formatting,\n // the plugin will \"pre-round\" number values using the fallback number format\n // function before passing them to `toLocaleString` for final formatting.\n var toLocaleStringRoundingWorks = false;\n\n // `Intl.NumberFormat#format` is tested on plugin initialization.\n // If the feature test passes, `intlNumberFormatRoundingWorks` will be set to\n // `true` and the native function will be used to generate formatted output.\n // If the feature test fails, either `Number#tolocaleString` (if\n // `toLocaleStringWorks` is `true`), or the fallback format function internal\n // to this plugin will be used.\n var intlNumberFormatWorks = false;\n\n // `Intl.NumberFormat#format` rounds incorrectly for select numbers in Microsoft\n // environments (Edge, IE11, Windows Phone) and possibly other environments.\n // If the rounding test fails and `Intl.NumberFormat#format` will be used for\n // formatting, the plugin will \"pre-round\" number values using the fallback number\n // format function before passing them to `Intl.NumberFormat#format` for final\n // formatting.\n var intlNumberFormatRoundingWorks = false;\n\n // Token type names in order of descending magnitude.\n var types = \"escape years months weeks days hours minutes seconds milliseconds general\".split(\" \");\n\n var bubbles = [\n {\n type: \"seconds\",\n targets: [\n { type: \"minutes\", value: 60 },\n { type: \"hours\", value: 3600 },\n { type: \"days\", value: 86400 },\n { type: \"weeks\", value: 604800 },\n { type: \"months\", value: 2678400 },\n { type: \"years\", value: 31536000 }\n ]\n },\n {\n type: \"minutes\",\n targets: [\n { type: \"hours\", value: 60 },\n { type: \"days\", value: 1440 },\n { type: \"weeks\", value: 10080 },\n { type: \"months\", value: 44640 },\n { type: \"years\", value: 525600 }\n ]\n },\n {\n type: \"hours\",\n targets: [\n { type: \"days\", value: 24 },\n { type: \"weeks\", value: 168 },\n { type: \"months\", value: 744 },\n { type: \"years\", value: 8760 }\n ]\n },\n {\n type: \"days\",\n targets: [\n { type: \"weeks\", value: 7 },\n { type: \"months\", value: 31 },\n { type: \"years\", value: 365 }\n ]\n },\n {\n type: \"months\",\n targets: [\n { type: \"years\", value: 12 }\n ]\n }\n ];\n\n // stringIncludes\n function stringIncludes(str, search) {\n if (search.length > str.length) {\n return false;\n }\n\n return str.indexOf(search) !== -1;\n }\n\n // repeatZero(qty)\n // Returns \"0\" repeated `qty` times.\n // `qty` must be a integer >= 0.\n function repeatZero(qty) {\n var result = \"\";\n\n while (qty) {\n result += \"0\";\n qty -= 1;\n }\n\n return result;\n }\n\n function stringRound(digits) {\n var digitsArray = digits.split(\"\").reverse();\n var i = 0;\n var carry = true;\n\n while (carry && i < digitsArray.length) {\n if (i) {\n if (digitsArray[i] === \"9\") {\n digitsArray[i] = \"0\";\n } else {\n digitsArray[i] = (parseInt(digitsArray[i], 10) + 1).toString();\n carry = false;\n }\n } else {\n if (parseInt(digitsArray[i], 10) < 5) {\n carry = false;\n }\n\n digitsArray[i] = \"0\";\n }\n\n i += 1;\n }\n\n if (carry) {\n digitsArray.push(\"1\");\n }\n\n return digitsArray.reverse().join(\"\");\n }\n\n // cachedNumberFormat\n // Returns an `Intl.NumberFormat` instance for the given locale and configuration.\n // On first use of a particular configuration, the instance is cached for fast\n // repeat access.\n function cachedNumberFormat(locale, options) {\n // Create a sorted, stringified version of `options`\n // for use as part of the cache key\n var optionsString = map(\n keys(options).sort(),\n function(key) {\n return key + ':' + options[key];\n }\n ).join(',');\n\n // Set our cache key\n var cacheKey = locale + '+' + optionsString;\n\n // If we don't have this configuration cached, configure and cache it\n if (!cachedNumberFormat.cache[cacheKey]) {\n cachedNumberFormat.cache[cacheKey] = Intl.NumberFormat(locale, options);\n }\n\n // Return the cached version of this configuration\n return cachedNumberFormat.cache[cacheKey];\n }\n cachedNumberFormat.cache = {};\n\n // formatNumber\n // Formats any number greater than or equal to zero using these options:\n // - userLocale\n // - useToLocaleString\n // - useGrouping\n // - grouping\n // - maximumSignificantDigits\n // - minimumIntegerDigits\n // - fractionDigits\n // - groupingSeparator\n // - decimalSeparator\n //\n // `useToLocaleString` will use `Intl.NumberFormat` or `toLocaleString` for formatting.\n // `userLocale` option is passed through to the formatting function.\n // `fractionDigits` is passed through to `maximumFractionDigits` and `minimumFractionDigits`\n // Using `maximumSignificantDigits` will override `minimumIntegerDigits` and `fractionDigits`.\n function formatNumber(number, options, userLocale) {\n var useToLocaleString = options.useToLocaleString;\n var useGrouping = options.useGrouping;\n var grouping = useGrouping && options.grouping.slice();\n var maximumSignificantDigits = options.maximumSignificantDigits;\n var minimumIntegerDigits = options.minimumIntegerDigits || 1;\n var fractionDigits = options.fractionDigits || 0;\n var groupingSeparator = options.groupingSeparator;\n var decimalSeparator = options.decimalSeparator;\n\n if (useToLocaleString && userLocale) {\n var localeStringOptions = {\n minimumIntegerDigits: minimumIntegerDigits,\n useGrouping: useGrouping\n };\n\n if (fractionDigits) {\n localeStringOptions.maximumFractionDigits = fractionDigits;\n localeStringOptions.minimumFractionDigits = fractionDigits;\n }\n\n // toLocaleString output is \"0.0\" instead of \"0\" for HTC browsers\n // when maximumSignificantDigits is set. See #96.\n if (maximumSignificantDigits && number > 0) {\n localeStringOptions.maximumSignificantDigits = maximumSignificantDigits;\n }\n\n if (intlNumberFormatWorks) {\n if (!intlNumberFormatRoundingWorks) {\n var roundingOptions = extend({}, options);\n roundingOptions.useGrouping = false;\n roundingOptions.decimalSeparator = \".\";\n number = parseFloat(formatNumber(number, roundingOptions), 10);\n }\n\n return cachedNumberFormat(userLocale, localeStringOptions).format(number);\n } else {\n if (!toLocaleStringRoundingWorks) {\n var roundingOptions = extend({}, options);\n roundingOptions.useGrouping = false;\n roundingOptions.decimalSeparator = \".\";\n number = parseFloat(formatNumber(number, roundingOptions), 10);\n }\n\n return number.toLocaleString(userLocale, localeStringOptions);\n }\n }\n\n var numberString;\n\n // Add 1 to digit output length for floating point errors workaround. See below.\n if (maximumSignificantDigits) {\n numberString = number.toPrecision(maximumSignificantDigits + 1);\n } else {\n numberString = number.toFixed(fractionDigits + 1);\n }\n\n var integerString;\n var fractionString;\n var exponentString;\n\n var temp = numberString.split(\"e\");\n\n exponentString = temp[1] || \"\";\n\n temp = temp[0].split(\".\");\n\n fractionString = temp[1] || \"\";\n integerString = temp[0] || \"\";\n\n // Workaround for floating point errors in `toFixed` and `toPrecision`.\n // (3.55).toFixed(1); --> \"3.5\"\n // (123.55 - 120).toPrecision(2); --> \"3.5\"\n // (123.55 - 120); --> 3.549999999999997\n // (123.55 - 120).toFixed(2); --> \"3.55\"\n // Round by examing the string output of the next digit.\n\n // *************** Implement String Rounding here ***********************\n // Check integerString + fractionString length of toPrecision before rounding.\n // Check length of fractionString from toFixed output before rounding.\n var integerLength = integerString.length;\n var fractionLength = fractionString.length;\n var digitCount = integerLength + fractionLength;\n var digits = integerString + fractionString;\n\n if (maximumSignificantDigits && digitCount === (maximumSignificantDigits + 1) || !maximumSignificantDigits && fractionLength === (fractionDigits + 1)) {\n // Round digits.\n digits = stringRound(digits);\n\n if (digits.length === digitCount + 1) {\n integerLength = integerLength + 1;\n }\n\n // Discard final fractionDigit.\n if (fractionLength) {\n digits = digits.slice(0, -1);\n }\n\n // Separate integer and fraction.\n integerString = digits.slice(0, integerLength);\n fractionString = digits.slice(integerLength);\n }\n\n // Trim trailing zeroes from fractionString because toPrecision outputs\n // precision, not significant digits.\n if (maximumSignificantDigits) {\n fractionString = fractionString.replace(/0*$/, \"\");\n }\n\n // Handle exponent.\n var exponent = parseInt(exponentString, 10);\n\n if (exponent > 0) {\n if (fractionString.length <= exponent) {\n fractionString = fractionString + repeatZero(exponent - fractionString.length);\n\n integerString = integerString + fractionString;\n fractionString = \"\";\n } else {\n integerString = integerString + fractionString.slice(0, exponent);\n fractionString = fractionString.slice(exponent);\n }\n } else if (exponent < 0) {\n fractionString = (repeatZero(Math.abs(exponent) - integerString.length) + integerString + fractionString);\n\n integerString = \"0\";\n }\n\n if (!maximumSignificantDigits) {\n // Trim or pad fraction when not using maximumSignificantDigits.\n fractionString = fractionString.slice(0, fractionDigits);\n\n if (fractionString.length < fractionDigits) {\n fractionString = fractionString + repeatZero(fractionDigits - fractionString.length);\n }\n\n // Pad integer when using minimumIntegerDigits\n // and not using maximumSignificantDigits.\n if (integerString.length < minimumIntegerDigits) {\n integerString = repeatZero(minimumIntegerDigits - integerString.length) + integerString;\n }\n }\n\n var formattedString = \"\";\n\n // Handle grouping.\n if (useGrouping) {\n temp = integerString;\n var group;\n\n while (temp.length) {\n if (grouping.length) {\n group = grouping.shift();\n }\n\n if (formattedString) {\n formattedString = groupingSeparator + formattedString;\n }\n\n formattedString = temp.slice(-group) + formattedString;\n\n temp = temp.slice(0, -group);\n }\n } else {\n formattedString = integerString;\n }\n\n // Add decimalSeparator and fraction.\n if (fractionString) {\n formattedString = formattedString + decimalSeparator + fractionString;\n }\n\n return formattedString;\n }\n\n // durationLabelCompare\n function durationLabelCompare(a, b) {\n if (a.label.length > b.label.length) {\n return -1;\n }\n\n if (a.label.length < b.label.length) {\n return 1;\n }\n\n // a must be equal to b\n return 0;\n }\n\n // durationGetLabels\n function durationGetLabels(token, localeData) {\n var labels = [];\n\n each(keys(localeData), function (localeDataKey) {\n if (localeDataKey.slice(0, 15) !== \"_durationLabels\") {\n return;\n }\n\n var labelType = localeDataKey.slice(15).toLowerCase();\n\n each(keys(localeData[localeDataKey]), function (labelKey) {\n if (labelKey.slice(0, 1) === token) {\n labels.push({\n type: labelType,\n key: labelKey,\n label: localeData[localeDataKey][labelKey]\n });\n }\n });\n });\n\n return labels;\n }\n\n // durationPluralKey\n function durationPluralKey(token, integerValue, decimalValue) {\n // Singular for a value of `1`, but not for `1.0`.\n if (integerValue === 1 && decimalValue === null) {\n return token;\n }\n\n return token + token;\n }\n\n var engLocale = {\n durationLabelsStandard: {\n S: 'millisecond',\n SS: 'milliseconds',\n s: 'second',\n ss: 'seconds',\n m: 'minute',\n mm: 'minutes',\n h: 'hour',\n hh: 'hours',\n d: 'day',\n dd: 'days',\n w: 'week',\n ww: 'weeks',\n M: 'month',\n MM: 'months',\n y: 'year',\n yy: 'years'\n },\n durationLabelsShort: {\n S: 'msec',\n SS: 'msecs',\n s: 'sec',\n ss: 'secs',\n m: 'min',\n mm: 'mins',\n h: 'hr',\n hh: 'hrs',\n d: 'dy',\n dd: 'dys',\n w: 'wk',\n ww: 'wks',\n M: 'mo',\n MM: 'mos',\n y: 'yr',\n yy: 'yrs'\n },\n durationTimeTemplates: {\n HMS: 'h:mm:ss',\n HM: 'h:mm',\n MS: 'm:ss'\n },\n durationLabelTypes: [\n { type: \"standard\", string: \"__\" },\n { type: \"short\", string: \"_\" }\n ],\n durationPluralKey: durationPluralKey\n };\n\n // isArray\n function isArray(array) {\n return Object.prototype.toString.call(array) === \"[object Array]\";\n }\n\n // isObject\n function isObject(obj) {\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n }\n\n // findLast\n function findLast(array, callback) {\n var index = array.length;\n\n while (index -= 1) {\n if (callback(array[index])) { return array[index]; }\n }\n }\n\n // find\n function find(array, callback) {\n var index = 0;\n\n var max = array && array.length || 0;\n\n var match;\n\n if (typeof callback !== \"function\") {\n match = callback;\n callback = function (item) {\n return item === match;\n };\n }\n\n while (index < max) {\n if (callback(array[index])) { return array[index]; }\n index += 1;\n }\n }\n\n // each\n function each(array, callback) {\n var index = 0,\n max = array.length;\n\n if (!array || !max) { return; }\n\n while (index < max) {\n if (callback(array[index], index) === false) { return; }\n index += 1;\n }\n }\n\n // map\n function map(array, callback) {\n var index = 0,\n max = array.length,\n ret = [];\n\n if (!array || !max) { return ret; }\n\n while (index < max) {\n ret[index] = callback(array[index], index);\n index += 1;\n }\n\n return ret;\n }\n\n // pluck\n function pluck(array, prop) {\n return map(array, function (item) {\n return item[prop];\n });\n }\n\n // compact\n function compact(array) {\n var ret = [];\n\n each(array, function (item) {\n if (item) { ret.push(item); }\n });\n\n return ret;\n }\n\n // unique\n function unique(array) {\n var ret = [];\n\n each(array, function (_a) {\n if (!find(ret, _a)) { ret.push(_a); }\n });\n\n return ret;\n }\n\n // intersection\n function intersection(a, b) {\n var ret = [];\n\n each(a, function (_a) {\n each(b, function (_b) {\n if (_a === _b) { ret.push(_a); }\n });\n });\n\n return unique(ret);\n }\n\n // rest\n function rest(array, callback) {\n var ret = [];\n\n each(array, function (item, index) {\n if (!callback(item)) {\n ret = array.slice(index);\n return false;\n }\n });\n\n return ret;\n }\n\n // initial\n function initial(array, callback) {\n var reversed = array.slice().reverse();\n\n return rest(reversed, callback).reverse();\n }\n\n // extend\n function extend(a, b) {\n for (var key in b) {\n if (b.hasOwnProperty(key)) { a[key] = b[key]; }\n }\n\n return a;\n }\n\n // keys\n function keys(a) {\n var ret = [];\n\n for (var key in a) {\n if (a.hasOwnProperty(key)) { ret.push(key); }\n }\n\n return ret;\n }\n\n // any\n function any(array, callback) {\n var index = 0,\n max = array.length;\n\n if (!array || !max) { return false; }\n\n while (index < max) {\n if (callback(array[index], index) === true) { return true; }\n index += 1;\n }\n\n return false;\n }\n\n // flatten\n function flatten(array) {\n var ret = [];\n\n each(array, function(child) {\n ret = ret.concat(child);\n });\n\n return ret;\n }\n\n function toLocaleStringSupportsLocales() {\n var number = 0;\n try {\n number.toLocaleString('i');\n } catch (e) {\n return e.name === 'RangeError';\n }\n return false;\n }\n\n function featureTestFormatterRounding(formatter) {\n return formatter(3.55, \"en\", {\n useGrouping: false,\n minimumIntegerDigits: 1,\n minimumFractionDigits: 1,\n maximumFractionDigits: 1\n }) === \"3.6\";\n }\n\n function featureTestFormatter(formatter) {\n var passed = true;\n\n // Test minimumIntegerDigits.\n passed = passed && formatter(1, \"en\", { minimumIntegerDigits: 1 }) === \"1\";\n passed = passed && formatter(1, \"en\", { minimumIntegerDigits: 2 }) === \"01\";\n passed = passed && formatter(1, \"en\", { minimumIntegerDigits: 3 }) === \"001\";\n if (!passed) { return false; }\n\n // Test maximumFractionDigits and minimumFractionDigits.\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 0, minimumFractionDigits: 0 }) === \"100\";\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 1, minimumFractionDigits: 1 }) === \"100.0\";\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 2, minimumFractionDigits: 2 }) === \"99.99\";\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 3, minimumFractionDigits: 3 }) === \"99.990\";\n if (!passed) { return false; }\n\n // Test maximumSignificantDigits.\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 1 }) === \"100\";\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 2 }) === \"100\";\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 3 }) === \"100\";\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 4 }) === \"99.99\";\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 5 }) === \"99.99\";\n if (!passed) { return false; }\n\n // Test grouping.\n passed = passed && formatter(1000, \"en\", { useGrouping: true }) === \"1,000\";\n passed = passed && formatter(1000, \"en\", { useGrouping: false }) === \"1000\";\n if (!passed) { return false; }\n\n return true;\n }\n\n // durationsFormat(durations [, template] [, precision] [, settings])\n function durationsFormat() {\n var args = [].slice.call(arguments);\n var settings = {};\n var durations;\n\n // Parse arguments.\n each(args, function (arg, index) {\n if (!index) {\n if (!isArray(arg)) {\n throw \"Expected array as the first argument to durationsFormat.\";\n }\n\n durations = arg;\n }\n\n if (typeof arg === \"string\" || typeof arg === \"function\") {\n settings.template = arg;\n return;\n }\n\n if (typeof arg === \"number\") {\n settings.precision = arg;\n return;\n }\n\n if (isObject(arg)) {\n extend(settings, arg);\n }\n });\n\n if (!durations || !durations.length) {\n return [];\n }\n\n settings.returnMomentTypes = true;\n\n var formattedDurations = map(durations, function (dur) {\n return dur.format(settings);\n });\n\n // Merge token types from all durations.\n var outputTypes = intersection(types, unique(pluck(flatten(formattedDurations), \"type\")));\n\n var largest = settings.largest;\n\n if (largest) {\n outputTypes = outputTypes.slice(0, largest);\n }\n\n settings.returnMomentTypes = false;\n settings.outputTypes = outputTypes;\n\n return map(durations, function (dur) {\n return dur.format(settings);\n });\n }\n\n // durationFormat([template] [, precision] [, settings])\n function durationFormat() {\n\n var args = [].slice.call(arguments);\n var settings = extend({}, this.format.defaults);\n\n // Keep a shadow copy of this moment for calculating remainders.\n // Perform all calculations on positive duration value, handle negative\n // sign at the very end.\n var asMilliseconds = this.asMilliseconds();\n var asMonths = this.asMonths();\n\n // Treat invalid durations as having a value of 0 milliseconds.\n if (typeof this.isValid === \"function\" && this.isValid() === false) {\n asMilliseconds = 0;\n asMonths = 0;\n }\n\n var isNegative = asMilliseconds < 0;\n\n // Two shadow copies are needed because of the way moment.js handles\n // duration arithmetic for years/months and for weeks/days/hours/minutes/seconds.\n var remainder = moment.duration(Math.abs(asMilliseconds), \"milliseconds\");\n var remainderMonths = moment.duration(Math.abs(asMonths), \"months\");\n\n // Parse arguments.\n each(args, function (arg) {\n if (typeof arg === \"string\" || typeof arg === \"function\") {\n settings.template = arg;\n return;\n }\n\n if (typeof arg === \"number\") {\n settings.precision = arg;\n return;\n }\n\n if (isObject(arg)) {\n extend(settings, arg);\n }\n });\n\n var momentTokens = {\n years: \"y\",\n months: \"M\",\n weeks: \"w\",\n days: \"d\",\n hours: \"h\",\n minutes: \"m\",\n seconds: \"s\",\n milliseconds: \"S\"\n };\n\n var tokenDefs = {\n escape: /\\[(.+?)\\]/,\n years: /\\*?[Yy]+/,\n months: /\\*?M+/,\n weeks: /\\*?[Ww]+/,\n days: /\\*?[Dd]+/,\n hours: /\\*?[Hh]+/,\n minutes: /\\*?m+/,\n seconds: /\\*?s+/,\n milliseconds: /\\*?S+/,\n general: /.+?/\n };\n\n // Types array is available in the template function.\n settings.types = types;\n\n var typeMap = function (token) {\n return find(types, function (type) {\n return tokenDefs[type].test(token);\n });\n };\n\n var tokenizer = new RegExp(map(types, function (type) {\n return tokenDefs[type].source;\n }).join(\"|\"), \"g\");\n\n // Current duration object is available in the template function.\n settings.duration = this;\n\n // Eval template function and cache template string.\n var template = typeof settings.template === \"function\" ? settings.template.apply(settings) : settings.template;\n\n // outputTypes and returnMomentTypes are settings to support durationsFormat().\n\n // outputTypes is an array of moment token types that determines\n // the tokens returned in formatted output. This option overrides\n // trim, largest, stopTrim, etc.\n var outputTypes = settings.outputTypes;\n\n // returnMomentTypes is a boolean that sets durationFormat to return\n // the processed momentTypes instead of formatted output.\n var returnMomentTypes = settings.returnMomentTypes;\n\n var largest = settings.largest;\n\n // Setup stopTrim array of token types.\n var stopTrim = [];\n\n if (!outputTypes) {\n if (isArray(settings.stopTrim)) {\n settings.stopTrim = settings.stopTrim.join(\"\");\n }\n\n // Parse stopTrim string to create token types array.\n if (settings.stopTrim) {\n each(settings.stopTrim.match(tokenizer), function (token) {\n var type = typeMap(token);\n\n if (type === \"escape\" || type === \"general\") {\n return;\n }\n\n stopTrim.push(type);\n });\n }\n }\n\n // Cache moment's locale data.\n var localeData = moment.localeData();\n\n if (!localeData) {\n localeData = {};\n }\n\n // Fall back to this plugin's `eng` extension.\n each(keys(engLocale), function (key) {\n if (typeof engLocale[key] === \"function\") {\n if (!localeData[key]) {\n localeData[key] = engLocale[key];\n }\n\n return;\n }\n\n if (!localeData[\"_\" + key]) {\n localeData[\"_\" + key] = engLocale[key];\n }\n });\n\n // Replace Duration Time Template strings.\n // For locale `eng`: `_HMS_`, `_HM_`, and `_MS_`.\n each(keys(localeData._durationTimeTemplates), function (item) {\n template = template.replace(\"_\" + item + \"_\", localeData._durationTimeTemplates[item]);\n });\n\n // Determine user's locale.\n var userLocale = settings.userLocale || moment.locale();\n\n var useLeftUnits = settings.useLeftUnits;\n var usePlural = settings.usePlural;\n var precision = settings.precision;\n var forceLength = settings.forceLength;\n var useGrouping = settings.useGrouping;\n var trunc = settings.trunc;\n\n // Use significant digits only when precision is greater than 0.\n var useSignificantDigits = settings.useSignificantDigits && precision > 0;\n var significantDigits = useSignificantDigits ? settings.precision : 0;\n var significantDigitsCache = significantDigits;\n\n var minValue = settings.minValue;\n var isMinValue = false;\n\n var maxValue = settings.maxValue;\n var isMaxValue = false;\n\n // formatNumber fallback options.\n var useToLocaleString = settings.useToLocaleString;\n var groupingSeparator = settings.groupingSeparator;\n var decimalSeparator = settings.decimalSeparator;\n var grouping = settings.grouping;\n\n useToLocaleString = useToLocaleString && (toLocaleStringWorks || intlNumberFormatWorks);\n\n // Trim options.\n var trim = settings.trim;\n\n if (isArray(trim)) {\n trim = trim.join(\" \");\n }\n\n if (trim === null && (largest || maxValue || useSignificantDigits)) {\n trim = \"all\";\n }\n\n if (trim === null || trim === true || trim === \"left\" || trim === \"right\") {\n trim = \"large\";\n }\n\n if (trim === false) {\n trim = \"\";\n }\n\n var trimIncludes = function (item) {\n return item.test(trim);\n };\n\n var rLarge = /large/;\n var rSmall = /small/;\n var rBoth = /both/;\n var rMid = /mid/;\n var rAll = /^all|[^sm]all/;\n var rFinal = /final/;\n\n var trimLarge = largest > 0 || any([rLarge, rBoth, rAll], trimIncludes);\n var trimSmall = any([rSmall, rBoth, rAll], trimIncludes);\n var trimMid = any([rMid, rAll], trimIncludes);\n var trimFinal = any([rFinal, rAll], trimIncludes);\n\n // Parse format string to create raw tokens array.\n var rawTokens = map(template.match(tokenizer), function (token, index) {\n var type = typeMap(token);\n\n if (token.slice(0, 1) === \"*\") {\n token = token.slice(1);\n\n if (type !== \"escape\" && type !== \"general\") {\n stopTrim.push(type);\n }\n }\n\n return {\n index: index,\n length: token.length,\n text: \"\",\n\n // Replace escaped tokens with the non-escaped token text.\n token: (type === \"escape\" ? token.replace(tokenDefs.escape, \"$1\") : token),\n\n // Ignore type on non-moment tokens.\n type: ((type === \"escape\" || type === \"general\") ? null : type)\n };\n });\n\n // Associate text tokens with moment tokens.\n var currentToken = {\n index: 0,\n length: 0,\n token: \"\",\n text: \"\",\n type: null\n };\n\n var tokens = [];\n\n if (useLeftUnits) {\n rawTokens.reverse();\n }\n\n each(rawTokens, function (token) {\n if (token.type) {\n if (currentToken.type || currentToken.text) {\n tokens.push(currentToken);\n }\n\n currentToken = token;\n\n return;\n }\n\n if (useLeftUnits) {\n currentToken.text = token.token + currentToken.text;\n } else {\n currentToken.text += token.token;\n }\n });\n\n if (currentToken.type || currentToken.text) {\n tokens.push(currentToken);\n }\n\n if (useLeftUnits) {\n tokens.reverse();\n }\n\n // Find unique moment token types in the template in order of\n // descending magnitude.\n var momentTypes = intersection(types, unique(compact(pluck(tokens, \"type\"))));\n\n // Exit early if there are no moment token types.\n if (!momentTypes.length) {\n return pluck(tokens, \"text\").join(\"\");\n }\n\n // Calculate values for each moment type in the template.\n // For processing the settings, values are associated with moment types.\n // Values will be assigned to tokens at the last step in order to\n // assume nothing about frequency or order of tokens in the template.\n momentTypes = map(momentTypes, function (momentType, index) {\n // Is this the least-magnitude moment token found?\n var isSmallest = ((index + 1) === momentTypes.length);\n\n // Is this the greatest-magnitude moment token found?\n var isLargest = (!index);\n\n // Get the raw value in the current units.\n var rawValue;\n\n if (momentType === \"years\" || momentType === \"months\") {\n rawValue = remainderMonths.as(momentType);\n } else {\n rawValue = remainder.as(momentType);\n }\n\n var wholeValue = Math.floor(rawValue);\n var decimalValue = rawValue - wholeValue;\n\n var token = find(tokens, function (token) {\n return momentType === token.type;\n });\n\n if (isLargest && maxValue && rawValue > maxValue) {\n isMaxValue = true;\n }\n\n if (isSmallest && minValue && Math.abs(settings.duration.as(momentType)) < minValue) {\n isMinValue = true;\n }\n\n // Note the length of the largest-magnitude moment token:\n // if it is greater than one and forceLength is not set,\n // then default forceLength to `true`.\n //\n // Rationale is this: If the template is \"h:mm:ss\" and the\n // moment value is 5 minutes, the user-friendly output is\n // \"5:00\", not \"05:00\". We shouldn't pad the `minutes` token\n // even though it has length of two if the template is \"h:mm:ss\";\n //\n // If the minutes output should always include the leading zero\n // even when the hour is trimmed then set `{ forceLength: true }`\n // to output \"05:00\". If the template is \"hh:mm:ss\", the user\n // clearly wanted everything padded so we should output \"05:00\";\n //\n // If the user wants the full padded output, they can use\n // template \"hh:mm:ss\" and set `{ trim: false }` to output\n // \"00:05:00\".\n if (isLargest && forceLength === null && token.length > 1) {\n forceLength = true;\n }\n\n // Update remainder.\n remainder.subtract(wholeValue, momentType);\n remainderMonths.subtract(wholeValue, momentType);\n\n return {\n rawValue: rawValue,\n wholeValue: wholeValue,\n // Decimal value is only retained for the least-magnitude\n // moment type in the format template.\n decimalValue: isSmallest ? decimalValue : 0,\n isSmallest: isSmallest,\n isLargest: isLargest,\n type: momentType,\n // Tokens can appear multiple times in a template string,\n // but all instances must share the same length.\n tokenLength: token.length\n };\n });\n\n var truncMethod = trunc ? Math.floor : Math.round;\n var truncate = function (value, places) {\n var factor = Math.pow(10, places);\n return truncMethod(value * factor) / factor;\n };\n\n var foundFirst = false;\n var bubbled = false;\n\n var formatValue = function (momentType, index) {\n var formatOptions = {\n useGrouping: useGrouping,\n groupingSeparator: groupingSeparator,\n decimalSeparator: decimalSeparator,\n grouping: grouping,\n useToLocaleString: useToLocaleString\n };\n\n if (useSignificantDigits) {\n if (significantDigits <= 0) {\n momentType.rawValue = 0;\n momentType.wholeValue = 0;\n momentType.decimalValue = 0;\n } else {\n formatOptions.maximumSignificantDigits = significantDigits;\n momentType.significantDigits = significantDigits;\n }\n }\n\n if (isMaxValue && !bubbled) {\n if (momentType.isLargest) {\n momentType.wholeValue = maxValue;\n momentType.decimalValue = 0;\n } else {\n momentType.wholeValue = 0;\n momentType.decimalValue = 0;\n }\n }\n\n if (isMinValue && !bubbled) {\n if (momentType.isSmallest) {\n momentType.wholeValue = minValue;\n momentType.decimalValue = 0;\n } else {\n momentType.wholeValue = 0;\n momentType.decimalValue = 0;\n }\n }\n\n if (momentType.isSmallest || momentType.significantDigits && momentType.significantDigits - momentType.wholeValue.toString().length <= 0) {\n // Apply precision to least significant token value.\n if (precision < 0) {\n momentType.value = truncate(momentType.wholeValue, precision);\n } else if (precision === 0) {\n momentType.value = truncMethod(momentType.wholeValue + momentType.decimalValue);\n } else { // precision > 0\n if (useSignificantDigits) {\n if (trunc) {\n momentType.value = truncate(momentType.rawValue, significantDigits - momentType.wholeValue.toString().length);\n } else {\n momentType.value = momentType.rawValue;\n }\n\n if (momentType.wholeValue) {\n significantDigits -= momentType.wholeValue.toString().length;\n }\n } else {\n formatOptions.fractionDigits = precision;\n\n if (trunc) {\n momentType.value = momentType.wholeValue + truncate(momentType.decimalValue, precision);\n } else {\n momentType.value = momentType.wholeValue + momentType.decimalValue;\n }\n }\n }\n } else {\n if (useSignificantDigits && momentType.wholeValue) {\n // Outer Math.round required here to handle floating point errors.\n momentType.value = Math.round(truncate(momentType.wholeValue, momentType.significantDigits - momentType.wholeValue.toString().length));\n\n significantDigits -= momentType.wholeValue.toString().length;\n } else {\n momentType.value = momentType.wholeValue;\n }\n }\n\n if (momentType.tokenLength > 1 && (forceLength || foundFirst)) {\n formatOptions.minimumIntegerDigits = momentType.tokenLength;\n\n if (bubbled && formatOptions.maximumSignificantDigits < momentType.tokenLength) {\n delete formatOptions.maximumSignificantDigits;\n }\n }\n\n if (!foundFirst && (momentType.value > 0 || trim === \"\" /* trim: false */ || find(stopTrim, momentType.type) || find(outputTypes, momentType.type))) {\n foundFirst = true;\n }\n\n momentType.formattedValue = formatNumber(momentType.value, formatOptions, userLocale);\n\n formatOptions.useGrouping = false;\n formatOptions.decimalSeparator = \".\";\n momentType.formattedValueEn = formatNumber(momentType.value, formatOptions, \"en\");\n\n if (momentType.tokenLength === 2 && momentType.type === \"milliseconds\") {\n momentType.formattedValueMS = formatNumber(momentType.value, {\n minimumIntegerDigits: 3,\n useGrouping: false\n }, \"en\").slice(0, 2);\n }\n\n return momentType;\n };\n\n // Calculate formatted values.\n momentTypes = map(momentTypes, formatValue);\n momentTypes = compact(momentTypes);\n\n // Bubble rounded values.\n if (momentTypes.length > 1) {\n var findType = function (type) {\n return find(momentTypes, function (momentType) {\n return momentType.type === type;\n });\n };\n\n var bubbleTypes = function (bubble) {\n var bubbleMomentType = findType(bubble.type);\n\n if (!bubbleMomentType) {\n return;\n }\n\n each(bubble.targets, function (target) {\n var targetMomentType = findType(target.type);\n\n if (!targetMomentType) {\n return;\n }\n\n if (parseInt(bubbleMomentType.formattedValueEn, 10) === target.value) {\n bubbleMomentType.rawValue = 0;\n bubbleMomentType.wholeValue = 0;\n bubbleMomentType.decimalValue = 0;\n targetMomentType.rawValue += 1;\n targetMomentType.wholeValue += 1;\n targetMomentType.decimalValue = 0;\n targetMomentType.formattedValueEn = targetMomentType.wholeValue.toString();\n bubbled = true;\n }\n });\n };\n\n each(bubbles, bubbleTypes);\n }\n\n // Recalculate formatted values.\n if (bubbled) {\n foundFirst = false;\n significantDigits = significantDigitsCache;\n momentTypes = map(momentTypes, formatValue);\n momentTypes = compact(momentTypes);\n }\n\n if (outputTypes && !(isMaxValue && !settings.trim)) {\n momentTypes = map(momentTypes, function (momentType) {\n if (find(outputTypes, function (outputType) {\n return momentType.type === outputType;\n })) {\n return momentType;\n }\n\n return null;\n });\n\n momentTypes = compact(momentTypes);\n } else {\n // Trim Large.\n if (trimLarge) {\n momentTypes = rest(momentTypes, function (momentType) {\n // Stop trimming on:\n // - the smallest moment type\n // - a type marked for stopTrim\n // - a type that has a whole value\n return !momentType.isSmallest && !momentType.wholeValue && !find(stopTrim, momentType.type);\n });\n }\n\n // Largest.\n if (largest && momentTypes.length) {\n momentTypes = momentTypes.slice(0, largest);\n }\n\n // Trim Small.\n if (trimSmall && momentTypes.length > 1) {\n momentTypes = initial(momentTypes, function (momentType) {\n // Stop trimming on:\n // - a type marked for stopTrim\n // - a type that has a whole value\n // - the largest momentType\n return !momentType.wholeValue && !find(stopTrim, momentType.type) && !momentType.isLargest;\n });\n }\n\n // Trim Mid.\n if (trimMid) {\n momentTypes = map(momentTypes, function (momentType, index) {\n if (index > 0 && index < momentTypes.length - 1 && !momentType.wholeValue) {\n return null;\n }\n\n return momentType;\n });\n\n momentTypes = compact(momentTypes);\n }\n\n // Trim Final.\n if (trimFinal && momentTypes.length === 1 && !momentTypes[0].wholeValue && !(!trunc && momentTypes[0].isSmallest && momentTypes[0].rawValue < minValue)) {\n momentTypes = [];\n }\n }\n\n if (returnMomentTypes) {\n return momentTypes;\n }\n\n // Localize and pluralize unit labels.\n each(tokens, function (token) {\n var key = momentTokens[token.type];\n\n var momentType = find(momentTypes, function (momentType) {\n return momentType.type === token.type;\n });\n\n if (!key || !momentType) {\n return;\n }\n\n var values = momentType.formattedValueEn.split(\".\");\n\n values[0] = parseInt(values[0], 10);\n\n if (values[1]) {\n values[1] = parseFloat(\"0.\" + values[1], 10);\n } else {\n values[1] = null;\n }\n\n var pluralKey = localeData.durationPluralKey(key, values[0], values[1]);\n\n var labels = durationGetLabels(key, localeData);\n\n var autoLocalized = false;\n\n var pluralizedLabels = {};\n\n // Auto-Localized unit labels.\n each(localeData._durationLabelTypes, function (labelType) {\n var label = find(labels, function (label) {\n return label.type === labelType.type && label.key === pluralKey;\n });\n\n if (label) {\n pluralizedLabels[label.type] = label.label;\n\n if (stringIncludes(token.text, labelType.string)) {\n token.text = token.text.replace(labelType.string, label.label);\n autoLocalized = true;\n }\n }\n });\n\n // Auto-pluralized unit labels.\n if (usePlural && !autoLocalized) {\n labels.sort(durationLabelCompare);\n\n each(labels, function (label) {\n if (pluralizedLabels[label.type] === label.label) {\n if (stringIncludes(token.text, label.label)) {\n // Stop checking this token if its label is already\n // correctly pluralized.\n return false;\n }\n\n // Skip this label if it is correct, but not present in\n // the token's text.\n return;\n }\n\n if (stringIncludes(token.text, label.label)) {\n // Replece this token's label and stop checking.\n token.text = token.text.replace(label.label, pluralizedLabels[label.type]);\n return false;\n }\n });\n }\n });\n\n // Build ouptut.\n tokens = map(tokens, function (token) {\n if (!token.type) {\n return token.text;\n }\n\n var momentType = find(momentTypes, function (momentType) {\n return momentType.type === token.type;\n });\n\n if (!momentType) {\n return \"\";\n }\n\n var out = \"\";\n\n if (useLeftUnits) {\n out += token.text;\n }\n\n if (isNegative && isMaxValue || !isNegative && isMinValue) {\n out += \"< \";\n isMaxValue = false;\n isMinValue = false;\n }\n\n if (isNegative && isMinValue || !isNegative && isMaxValue) {\n out += \"> \";\n isMaxValue = false;\n isMinValue = false;\n }\n\n if (isNegative && (momentType.value > 0 || trim === \"\" || find(stopTrim, momentType.type) || find(outputTypes, momentType.type))) {\n out += \"-\";\n isNegative = false;\n }\n\n if (token.type === \"milliseconds\" && momentType.formattedValueMS) {\n out += momentType.formattedValueMS;\n } else {\n out += momentType.formattedValue;\n }\n\n if (!useLeftUnits) {\n out += token.text;\n }\n\n return out;\n });\n\n // Trim leading and trailing comma, space, colon, and dot.\n return tokens.join(\"\").replace(/(,| |:|\\.)*$/, \"\").replace(/^(,| |:|\\.)*/, \"\");\n }\n\n // defaultFormatTemplate\n function defaultFormatTemplate() {\n var dur = this.duration;\n\n var findType = function findType(type) {\n return dur._data[type];\n };\n\n var firstType = find(this.types, findType);\n\n var lastType = findLast(this.types, findType);\n\n // Default template strings for each duration dimension type.\n switch (firstType) {\n case \"milliseconds\":\n return \"S __\";\n case \"seconds\": // Fallthrough.\n case \"minutes\":\n return \"*_MS_\";\n case \"hours\":\n return \"_HMS_\";\n case \"days\": // Possible Fallthrough.\n if (firstType === lastType) {\n return \"d __\";\n }\n case \"weeks\":\n if (firstType === lastType) {\n return \"w __\";\n }\n\n if (this.trim === null) {\n this.trim = \"both\";\n }\n\n return \"w __, d __, h __\";\n case \"months\": // Possible Fallthrough.\n if (firstType === lastType) {\n return \"M __\";\n }\n case \"years\":\n if (firstType === lastType) {\n return \"y __\";\n }\n\n if (this.trim === null) {\n this.trim = \"both\";\n }\n\n return \"y __, M __, d __\";\n default:\n if (this.trim === null) {\n this.trim = \"both\";\n }\n\n return \"y __, d __, h __, m __, s __\";\n }\n }\n\n // init\n function init(context) {\n if (!context) {\n throw \"Moment Duration Format init cannot find moment instance.\";\n }\n\n context.duration.format = durationsFormat;\n context.duration.fn.format = durationFormat;\n\n context.duration.fn.format.defaults = {\n // Many options are defaulted to `null` to distinguish between\n // 'not set' and 'set to `false`'\n\n // trim\n // Can be a string, a delimited list of strings, an array of strings,\n // or a boolean.\n // \"large\" - will trim largest-magnitude zero-value tokens until\n // finding a token with a value, a token identified as 'stopTrim', or\n // the final token of the format string.\n // \"small\" - will trim smallest-magnitude zero-value tokens until\n // finding a token with a value, a token identified as 'stopTrim', or\n // the final token of the format string.\n // \"both\" - will execute \"large\" trim then \"small\" trim.\n // \"mid\" - will trim any zero-value tokens that are not the first or\n // last tokens. Usually used in conjunction with \"large\" or \"both\".\n // e.g. \"large mid\" or \"both mid\".\n // \"final\" - will trim the final token if it is zero-value. Use this\n // option with \"large\" or \"both\" to output an empty string when\n // formatting a zero-value duration. e.g. \"large final\" or \"both final\".\n // \"all\" - Will trim all zero-value tokens. Shorthand for \"both mid final\".\n // \"left\" - maps to \"large\" to support plugin's version 1 API.\n // \"right\" - maps to \"large\" to support plugin's version 1 API.\n // `false` - template tokens are not trimmed.\n // `true` - treated as \"large\".\n // `null` - treated as \"large\".\n trim: null,\n\n // stopTrim\n // A moment token string, a delimited set of moment token strings,\n // or an array of moment token strings. Trimming will stop when a token\n // listed in this option is reached. A \"*\" character in the format\n // template string will also mark a moment token as stopTrim.\n // e.g. \"d [days] *h:mm:ss\" will always stop trimming at the 'hours' token.\n stopTrim: null,\n\n // largest\n // Set to a positive integer to output only the \"n\" largest-magnitude\n // moment tokens that have a value. All lesser-magnitude moment tokens\n // will be ignored. This option takes effect even if `trim` is set\n // to `false`.\n largest: null,\n\n // maxValue\n // Use `maxValue` to render generalized output for large duration values,\n // e.g. `\"> 60 days\"`. `maxValue` must be a positive integer and is\n /// applied to the greatest-magnitude moment token in the format template.\n maxValue: null,\n\n // minValue\n // Use `minValue` to render generalized output for small duration values,\n // e.g. `\"< 5 minutes\"`. `minValue` must be a positive integer and is\n // applied to the least-magnitude moment token in the format template.\n minValue: null,\n\n // precision\n // If a positive integer, number of decimal fraction digits to render.\n // If a negative integer, number of integer place digits to truncate to 0.\n // If `useSignificantDigits` is set to `true` and `precision` is a positive\n // integer, sets the maximum number of significant digits used in the\n // formatted output.\n precision: 0,\n\n // trunc\n // Default behavior rounds final token value. Set to `true` to\n // truncate final token value, which was the default behavior in\n // version 1 of this plugin.\n trunc: false,\n\n // forceLength\n // Force first moment token with a value to render at full length\n // even when template is trimmed and first moment token has length of 1.\n forceLength: null,\n\n // userLocale\n // Formatted numerical output is rendered using `toLocaleString`\n // and the locale of the user's environment. Set this option to render\n // numerical output using a different locale. Unit names are rendered\n // and detected using the locale set in moment.js, which can be different\n // from the locale of user's environment.\n userLocale: null,\n\n // usePlural\n // Will automatically singularize or pluralize unit names when they\n // appear in the text associated with each moment token. Standard and\n // short unit labels are singularized and pluralized, based on locale.\n // e.g. in english, \"1 second\" or \"1 sec\" would be rendered instead\n // of \"1 seconds\" or \"1 secs\". The default pluralization function\n // renders a plural label for a value with decimal precision.\n // e.g. \"1.0 seconds\" is never rendered as \"1.0 second\".\n // Label types and pluralization function are configurable in the\n // localeData extensions.\n usePlural: true,\n\n // useLeftUnits\n // The text to the right of each moment token in a format string\n // is treated as that token's units for the purposes of trimming,\n // singularizing, and auto-localizing.\n // e.g. \"h [hours], m [minutes], s [seconds]\".\n // To properly singularize or localize a format string such as\n // \"[hours] h, [minutes] m, [seconds] s\", where the units appear\n // to the left of each moment token, set useLeftUnits to `true`.\n // This plugin is not tested in the context of rtl text.\n useLeftUnits: false,\n\n // useGrouping\n // Enables locale-based digit grouping in the formatted output. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\n useGrouping: true,\n\n // useSignificantDigits\n // Treat the `precision` option as the maximum significant digits\n // to be rendered. Precision must be a positive integer. Significant\n // digits extend across unit types,\n // e.g. \"6 hours 37.5 minutes\" represents 4 significant digits.\n // Enabling this option causes token length to be ignored. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\n useSignificantDigits: false,\n\n // template\n // The template string used to format the duration. May be a function\n // or a string. Template functions are executed with the `this` binding\n // of the settings object so that template strings may be dynamically\n // generated based on the duration object (accessible via `this.duration`)\n // or any of the other settings. Leading and trailing space, comma,\n // period, and colon characters are trimmed from the resulting string.\n template: defaultFormatTemplate,\n\n // useToLocaleString\n // Set this option to `false` to ignore the `toLocaleString` feature\n // test and force the use of the `formatNumber` fallback function\n // included in this plugin.\n useToLocaleString: true,\n\n // formatNumber fallback options.\n // When `toLocaleString` is detected and passes the feature test, the\n // following options will have no effect: `toLocaleString` will be used\n // for formatting and the grouping separator, decimal separator, and\n // integer digit grouping will be determined by the user locale.\n\n // groupingSeparator\n // The integer digit grouping separator used when using the fallback\n // formatNumber function.\n groupingSeparator: \",\",\n\n // decimalSeparator\n // The decimal separator used when using the fallback formatNumber\n // function.\n decimalSeparator: \".\",\n\n // grouping\n // The integer digit grouping used when using the fallback formatNumber\n // function. Must be an array. The default value of `[3]` gives the\n // standard 3-digit thousand/million/billion digit groupings for the\n // \"en\" locale. Setting this option to `[3, 2]` would generate the\n // thousand/lakh/crore digit groupings used in the \"en-IN\" locale.\n grouping: [3]\n };\n\n context.updateLocale('en', engLocale);\n }\n\n // Run feature tests for `Number#toLocaleString`.\n var toLocaleStringFormatter = function(number, locale, options) {\n return number.toLocaleString(locale, options);\n };\n\n toLocaleStringWorks = toLocaleStringSupportsLocales() && featureTestFormatter(toLocaleStringFormatter);\n toLocaleStringRoundingWorks = toLocaleStringWorks && featureTestFormatterRounding(toLocaleStringFormatter);\n\n // Run feature tests for `Intl.NumberFormat#format`.\n var intlNumberFormatFormatter = function(number, locale, options) {\n if (typeof window !== 'undefined' && window && window.Intl && window.Intl.NumberFormat) {\n return window.Intl.NumberFormat(locale, options).format(number);\n }\n };\n\n intlNumberFormatWorks = featureTestFormatter(intlNumberFormatFormatter);\n intlNumberFormatRoundingWorks = intlNumberFormatWorks && featureTestFormatterRounding(intlNumberFormatFormatter);\n\n // Initialize duration format on the global moment instance.\n init(moment);\n\n // Return the init function so that duration format can be\n // initialized on other moment instances.\n return init;\n});\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export * from './generated/apiClients';\n","//----------------------\n// \n// Generated using the NSwag toolchain v14.2.0.0 (NJsonSchema v11.1.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport moment, { Moment } from 'moment';\nimport 'moment-duration-format';\n\nexport class AdminApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n rebuildAll(): Promise {\n let url_ = this.baseUrl + '/api/admin/rebuild';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRebuildAll(_response);\n });\n }\n\n protected processRebuildAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n pruneDocuments(): Promise {\n let url_ = this.baseUrl + '/api/admin/documents/prune';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processPruneDocuments(_response);\n });\n }\n\n protected processPruneDocuments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ArtifactsApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n put(id: string): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}/artifact';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'PUT',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processPut(_response);\n });\n }\n\n protected processPut(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}/artifact';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'DELETE',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n search(userId: string | null | undefined, query: string | null | undefined): Promise {\n let url_ = this.baseUrl + '/api/trends/artifacts/search?';\n if (userId !== undefined && userId !== null) url_ += 'UserId=' + encodeURIComponent('' + userId) + '&';\n if (query !== undefined && query !== null) url_ += 'Query=' + encodeURIComponent('' + query) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processSearch(_response);\n });\n }\n\n protected processSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ArtifactsSearchResultsDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLastSaved(id: string): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}/artifact/lastsaved';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetLastSaved(_response);\n });\n }\n\n protected processGetLastSaved(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 ? moment(resultData200.toString()) : null;\n\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class BlobApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n getFolders(date: string | null | undefined, prefix: string | null | undefined): Promise {\n let url_ = this.baseUrl + '/api/blobs/folders?';\n if (date !== undefined && date !== null) url_ += 'date=' + encodeURIComponent('' + date) + '&';\n if (prefix !== undefined && prefix !== null) url_ += 'prefix=' + encodeURIComponent('' + prefix) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetFolders(_response);\n });\n }\n\n protected processGetFolders(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200) result200!.push(BlobPath.fromJS(item));\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(date: string | null | undefined, pageSize: number | undefined): Promise {\n let url_ = this.baseUrl + '/api/blobs?';\n if (date !== undefined && date !== null) url_ += 'date=' + encodeURIComponent('' + date) + '&';\n if (pageSize === null) throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined) url_ += 'pageSize=' + encodeURIComponent('' + pageSize) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200) result200!.push(BlobGroupDto.fromJS(item));\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteMultiple(blobGroupPaths: string[]): Promise {\n let url_ = this.baseUrl + '/api/blobs/delete-multiple';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(blobGroupPaths);\n\n let options_: RequestInit = {\n body: content_,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDeleteMultiple(_response);\n });\n }\n\n protected processDeleteMultiple(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DataFeedsApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n get(id: string, format: string, limit: number | undefined, dateOffset: CsvDateOffset | undefined, dateFormat: CsvDateFormat | undefined): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}/files/{format}?';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n if (format === undefined || format === null) throw new Error(\"The parameter 'format' must be defined.\");\n url_ = url_.replace('{format}', encodeURIComponent('' + format));\n if (limit === null) throw new Error(\"The parameter 'limit' cannot be null.\");\n else if (limit !== undefined) url_ += 'limit=' + encodeURIComponent('' + limit) + '&';\n if (dateOffset === null) throw new Error(\"The parameter 'dateOffset' cannot be null.\");\n else if (dateOffset !== undefined) url_ += 'dateOffset=' + encodeURIComponent('' + dateOffset) + '&';\n if (dateFormat === null) throw new Error(\"The parameter 'dateFormat' cannot be null.\");\n else if (dateFormat !== undefined) url_ += 'dateFormat=' + encodeURIComponent('' + dateFormat) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGet(_response);\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAuthenticated(id: string, format: string, limit: number | undefined, dateOffset: CsvDateOffset | undefined, dateFormat: CsvDateFormat | undefined): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}/data/{format}?';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n if (format === undefined || format === null) throw new Error(\"The parameter 'format' must be defined.\");\n url_ = url_.replace('{format}', encodeURIComponent('' + format));\n if (limit === null) throw new Error(\"The parameter 'limit' cannot be null.\");\n else if (limit !== undefined) url_ += 'limit=' + encodeURIComponent('' + limit) + '&';\n if (dateOffset === null) throw new Error(\"The parameter 'dateOffset' cannot be null.\");\n else if (dateOffset !== undefined) url_ += 'dateOffset=' + encodeURIComponent('' + dateOffset) + '&';\n if (dateFormat === null) throw new Error(\"The parameter 'dateFormat' cannot be null.\");\n else if (dateFormat !== undefined) url_ += 'dateFormat=' + encodeURIComponent('' + dateFormat) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAuthenticated(_response);\n });\n }\n\n protected processGetAuthenticated(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class EntryPointArgsApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n home(): Promise {\n let url_ = this.baseUrl + '/api/entrypointargs/home';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processHome(_response);\n });\n }\n\n protected processHome(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = HomeEntryPointArgs.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n trend(id: string | null | undefined): Promise {\n let url_ = this.baseUrl + '/api/entrypointargs/trend?';\n if (id !== undefined && id !== null) url_ += 'id=' + encodeURIComponent('' + id) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processTrend(_response);\n });\n }\n\n protected processTrend(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TrendEntryPointArgs.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n artifacts(id: string | null | undefined): Promise {\n let url_ = this.baseUrl + '/api/entrypointargs/artifacts?';\n if (id !== undefined && id !== null) url_ += 'id=' + encodeURIComponent('' + id) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processArtifacts(_response);\n });\n }\n\n protected processArtifacts(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ArtifactEntryPointArgs.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n embeddables(id: string | null | undefined): Promise {\n let url_ = this.baseUrl + '/api/entrypointargs/embeddables?';\n if (id !== undefined && id !== null) url_ += 'id=' + encodeURIComponent('' + id) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processEmbeddables(_response);\n });\n }\n\n protected processEmbeddables(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = EmbeddableArtifactEntryPointArgs.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class FeatureTogglesApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n toggleForMe(featureToggle: FeatureToggle | undefined): Promise {\n let url_ = this.baseUrl + '/api/featuretoggles/me?';\n if (featureToggle === null) throw new Error(\"The parameter 'featureToggle' cannot be null.\");\n else if (featureToggle !== undefined) url_ += 'featureToggle=' + encodeURIComponent('' + featureToggle) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'POST',\n headers: {}\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processToggleForMe(_response);\n });\n }\n\n protected processToggleForMe(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n toggleForEveryone(featureToggle: FeatureToggle | undefined): Promise {\n let url_ = this.baseUrl + '/api/featuretoggles/everyone?';\n if (featureToggle === null) throw new Error(\"The parameter 'featureToggle' cannot be null.\");\n else if (featureToggle !== undefined) url_ += 'featureToggle=' + encodeURIComponent('' + featureToggle) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'POST',\n headers: {}\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processToggleForEveryone(_response);\n });\n }\n\n protected processToggleForEveryone(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n turnOnForPeople(featureToggle: FeatureToggle, people: string[]): Promise {\n let url_ = this.baseUrl + '/api/featuretoggles/forpeople/{featureToggle}';\n if (featureToggle === undefined || featureToggle === null) throw new Error(\"The parameter 'featureToggle' must be defined.\");\n url_ = url_.replace('{featureToggle}', encodeURIComponent('' + featureToggle));\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(people);\n\n let options_: RequestInit = {\n body: content_,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processTurnOnForPeople(_response);\n });\n }\n\n protected processTurnOnForPeople(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllStatuses(): Promise {\n let url_ = this.baseUrl + '/api/featuretoggles/all';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAllStatuses(_response);\n });\n }\n\n protected processGetAllStatuses(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200) result200!.push(FeatureToggleSummary.fromJS(item));\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(): Promise<{ [key in keyof typeof FeatureToggle]?: boolean }> {\n let url_ = this.baseUrl + '/api/featuretoggles/get';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGet(_response);\n });\n }\n\n protected processGet(response: Response): Promise<{ [key in keyof typeof FeatureToggle]?: boolean }> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (resultData200) {\n result200 = {} as any;\n for (let key in resultData200) {\n if (resultData200.hasOwnProperty(key)) (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null;\n }\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve<{ [key in keyof typeof FeatureToggle]?: boolean }>(null as any);\n }\n}\n\nexport class Client {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n get(): Promise {\n let url_ = this.baseUrl + '/api/featuretoggles';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGet(_response);\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class InputDataDefinitionsApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n search(search: string | null | undefined, facets: string | null | undefined, tabId: string | null | undefined, groups: string | null | undefined): Promise {\n let url_ = this.baseUrl + '/api/inputdatadefinitions/search?';\n if (search !== undefined && search !== null) url_ += 'Search=' + encodeURIComponent('' + search) + '&';\n if (facets !== undefined && facets !== null) url_ += 'Facets=' + encodeURIComponent('' + facets) + '&';\n if (tabId !== undefined && tabId !== null) url_ += 'TabId=' + encodeURIComponent('' + tabId) + '&';\n if (groups !== undefined && groups !== null) url_ += 'Groups=' + encodeURIComponent('' + groups) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processSearch(_response);\n });\n }\n\n protected processSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SearchResultDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(ids: IMetricDto[]): Promise {\n let url_ = this.baseUrl + '/api/inputdatadefinitions';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(ids);\n\n let options_: RequestInit = {\n body: content_,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGet(_response);\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200) result200!.push(InputDataDefinitionDto.fromJS(item));\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class OrganisationsApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + '/api/organisations';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200) result200!.push(Organisation.fromJS(item));\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class TemplatesApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n post(includeOnHomePage: boolean | undefined, trend: TrendDto): Promise {\n let url_ = this.baseUrl + '/api/templates?';\n if (includeOnHomePage === null) throw new Error(\"The parameter 'includeOnHomePage' cannot be null.\");\n else if (includeOnHomePage !== undefined) url_ += 'includeOnHomePage=' + encodeURIComponent('' + includeOnHomePage) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(trend);\n\n let options_: RequestInit = {\n body: content_,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processPost(_response);\n });\n }\n\n protected processPost(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + '/api/templates';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200) result200!.push(TemplateSummaryDto.fromJS(item));\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + '/api/templates/{id}';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'DELETE',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createTrend(id: string): Promise {\n let url_ = this.baseUrl + '/api/templates/trends/{id}';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCreateTrend(_response);\n });\n }\n\n protected processCreateTrend(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TrendResourceDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class TrendsApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + '/api/trends';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200) result200!.push(TrendSummaryResourceDto.fromJS(item));\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n description(id: string): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}/description';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDescription(_response);\n });\n }\n\n protected processDescription(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TrendDescriptionDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(id: string): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGet(_response);\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TrendResourceDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n put(id: string, trend: TrendDto): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(trend);\n\n let options_: RequestInit = {\n body: content_,\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processPut(_response);\n });\n }\n\n protected processPut(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TrendPutResult.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'DELETE',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n copy(trendId: string, userId: string): Promise {\n let url_ = this.baseUrl + '/api/trends/{trendId}/copy/{userId}';\n if (trendId === undefined || trendId === null) throw new Error(\"The parameter 'trendId' must be defined.\");\n url_ = url_.replace('{trendId}', encodeURIComponent('' + trendId));\n if (userId === undefined || userId === null) throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace('{userId}', encodeURIComponent('' + userId));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'PUT',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCopy(_response);\n });\n }\n\n protected processCopy(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n claim(id: string): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}/claim';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'PUT',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processClaim(_response);\n });\n }\n\n protected processClaim(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n publish(id: string, publishingDetails: TrendPublishDto): Promise {\n let url_ = this.baseUrl + '/api/trends/{id}/publish';\n if (id === undefined || id === null) throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace('{id}', encodeURIComponent('' + id));\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(publishingDetails);\n\n let options_: RequestInit = {\n body: content_,\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processPublish(_response);\n });\n }\n\n protected processPublish(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ClientAuthenticationApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n getJavaScriptClient(): Promise {\n let url_ = this.baseUrl + '/api/authentication/javascript-client';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetJavaScriptClient(_response);\n });\n }\n\n protected processGetJavaScriptClient(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = JavaScriptClientDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ClientAuthorisationApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n isAuthorised(policies: string[] | null | undefined): Promise {\n let url_ = this.baseUrl + '/api/authorisation/is-authorised?';\n if (policies !== undefined && policies !== null)\n policies &&\n policies.forEach((item) => {\n url_ += 'policies=' + encodeURIComponent('' + item) + '&';\n });\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processIsAuthorised(_response);\n });\n }\n\n protected processIsAuthorised(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = IsAuthorisedDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class TrendsMetricsApiClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : (window as any);\n this.baseUrl = baseUrl ?? '';\n }\n\n trendsQuery(purpose: string | null | undefined, request: SeriesDataCollectionRequestDto): Promise {\n let url_ = this.baseUrl + '/api/metrics?';\n if (purpose !== undefined && purpose !== null) url_ += 'purpose=' + encodeURIComponent('' + purpose) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(request);\n\n let options_: RequestInit = {\n body: content_,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processTrendsQuery(_response);\n });\n }\n\n protected processTrendsQuery(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200) result200!.push(TrendsMetricApiResponse.fromJS(item));\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n status(url: string | null | undefined): Promise {\n let url_ = this.baseUrl + '/api/metrics/status?';\n if (url !== undefined && url !== null) url_ += 'url=' + encodeURIComponent('' + url) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/octet-stream'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processStatus(_response);\n });\n }\n\n protected processStatus(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 202) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then((blob) => {\n return { fileName: fileName, data: blob, status: status, headers: _headers };\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n read(url: string | null | undefined): Promise {\n let url_ = this.baseUrl + '/api/metrics/read?';\n if (url !== undefined && url !== null) url_ += 'url=' + encodeURIComponent('' + url) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: RequestInit = {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRead(_response);\n });\n }\n\n protected processRead(response: Response): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && response.headers.forEach) {\n response.headers.forEach((v: any, k: any) => (_headers[k] = v));\n }\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200) result200!.push(DataPointDto.fromJS(item));\n } else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException('An unexpected server error occurred.', status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ArtifactsSearchResultsDto implements IArtifactsSearchResultsDto {\n trends!: ArtifactsSearchResultDto[] | undefined;\n\n constructor(data?: IArtifactsSearchResultsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data['trends'])) {\n this.trends = [] as any;\n for (let item of _data['trends']) this.trends!.push(ArtifactsSearchResultDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ArtifactsSearchResultsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ArtifactsSearchResultsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.trends)) {\n data['trends'] = [];\n for (let item of this.trends) data['trends'].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IArtifactsSearchResultsDto {\n trends: ArtifactsSearchResultDto[] | undefined;\n}\n\nexport class ArtifactsSearchResultDto implements IArtifactsSearchResultDto {\n score!: number;\n publishedUri!: string | undefined;\n id!: string | undefined;\n title!: string | undefined;\n description!: string | undefined;\n outputType!: string | undefined;\n owner!: string | undefined;\n\n constructor(data?: IArtifactsSearchResultDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.score = _data['score'];\n this.publishedUri = _data['publishedUri'];\n this.id = _data['id'];\n this.title = _data['title'];\n this.description = _data['description'];\n this.outputType = _data['outputType'];\n this.owner = _data['owner'];\n }\n }\n\n static fromJS(data: any): ArtifactsSearchResultDto {\n data = typeof data === 'object' ? data : {};\n let result = new ArtifactsSearchResultDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['score'] = this.score;\n data['publishedUri'] = this.publishedUri;\n data['id'] = this.id;\n data['title'] = this.title;\n data['description'] = this.description;\n data['outputType'] = this.outputType;\n data['owner'] = this.owner;\n return data;\n }\n}\n\nexport interface IArtifactsSearchResultDto {\n score: number;\n publishedUri: string | undefined;\n id: string | undefined;\n title: string | undefined;\n description: string | undefined;\n outputType: string | undefined;\n owner: string | undefined;\n}\n\nexport class BlobPath implements IBlobPath {\n name!: string | undefined;\n canDelete!: boolean;\n\n constructor(data?: IBlobPath) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data['name'];\n this.canDelete = _data['canDelete'];\n }\n }\n\n static fromJS(data: any): BlobPath {\n data = typeof data === 'object' ? data : {};\n let result = new BlobPath();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['name'] = this.name;\n data['canDelete'] = this.canDelete;\n return data;\n }\n}\n\nexport interface IBlobPath {\n name: string | undefined;\n canDelete: boolean;\n}\n\nexport class BlobGroupDto implements IBlobGroupDto {\n path!: string | undefined;\n name!: string | undefined;\n\n constructor(data?: IBlobGroupDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.path = _data['path'];\n this.name = _data['name'];\n }\n }\n\n static fromJS(data: any): BlobGroupDto {\n data = typeof data === 'object' ? data : {};\n let result = new BlobGroupDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['path'] = this.path;\n data['name'] = this.name;\n return data;\n }\n}\n\nexport interface IBlobGroupDto {\n path: string | undefined;\n name: string | undefined;\n}\n\nexport enum CsvDateOffset {\n Nem = 0,\n Utc = 1\n}\n\nexport enum CsvDateFormat {\n Excel = 0,\n Iso8601 = 1\n}\n\nexport class HomeEntryPointArgs implements IHomeEntryPointArgs {\n accountStatus!: AccountStatusDto;\n product!: ProductDto;\n policyAuthorisations!: PolicyAuthorisationDto[];\n feedbackBaseUrl!: string;\n apiVersion!: string;\n showAppBar!: boolean;\n\n constructor(data?: IHomeEntryPointArgs) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.accountStatus = new AccountStatusDto();\n this.product = new ProductDto();\n this.policyAuthorisations = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accountStatus = _data['accountStatus'] ? AccountStatusDto.fromJS(_data['accountStatus']) : new AccountStatusDto();\n this.product = _data['product'] ? ProductDto.fromJS(_data['product']) : new ProductDto();\n if (Array.isArray(_data['policyAuthorisations'])) {\n this.policyAuthorisations = [] as any;\n for (let item of _data['policyAuthorisations']) this.policyAuthorisations!.push(PolicyAuthorisationDto.fromJS(item));\n }\n this.feedbackBaseUrl = _data['feedbackBaseUrl'];\n this.apiVersion = _data['apiVersion'];\n this.showAppBar = _data['showAppBar'];\n }\n }\n\n static fromJS(data: any): HomeEntryPointArgs {\n data = typeof data === 'object' ? data : {};\n let result = new HomeEntryPointArgs();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['accountStatus'] = this.accountStatus ? this.accountStatus.toJSON() : undefined;\n data['product'] = this.product ? this.product.toJSON() : undefined;\n if (Array.isArray(this.policyAuthorisations)) {\n data['policyAuthorisations'] = [];\n for (let item of this.policyAuthorisations) data['policyAuthorisations'].push(item.toJSON());\n }\n data['feedbackBaseUrl'] = this.feedbackBaseUrl;\n data['apiVersion'] = this.apiVersion;\n data['showAppBar'] = this.showAppBar;\n return data;\n }\n}\n\nexport interface IHomeEntryPointArgs {\n accountStatus: AccountStatusDto;\n product: ProductDto;\n policyAuthorisations: PolicyAuthorisationDto[];\n feedbackBaseUrl: string;\n apiVersion: string;\n showAppBar: boolean;\n}\n\nexport class AccountStatusDto implements IAccountStatusDto {\n name!: string | undefined;\n email!: string | undefined;\n imageUrl!: string | undefined;\n\n constructor(data?: IAccountStatusDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data['name'];\n this.email = _data['email'];\n this.imageUrl = _data['imageUrl'];\n }\n }\n\n static fromJS(data: any): AccountStatusDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccountStatusDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['name'] = this.name;\n data['email'] = this.email;\n data['imageUrl'] = this.imageUrl;\n return data;\n }\n}\n\nexport interface IAccountStatusDto {\n name: string | undefined;\n email: string | undefined;\n imageUrl: string | undefined;\n}\n\nexport class ProductDto implements IProductDto {\n id!: string | undefined;\n name!: string | undefined;\n prereleaseTag!: string | undefined;\n\n constructor(data?: IProductDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.name = _data['name'];\n this.prereleaseTag = _data['prereleaseTag'];\n }\n }\n\n static fromJS(data: any): ProductDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['name'] = this.name;\n data['prereleaseTag'] = this.prereleaseTag;\n return data;\n }\n}\n\nexport interface IProductDto {\n id: string | undefined;\n name: string | undefined;\n prereleaseTag: string | undefined;\n}\n\nexport class PolicyAuthorisationDto implements IPolicyAuthorisationDto {\n name!: string | undefined;\n isAuthorised!: boolean;\n\n constructor(data?: IPolicyAuthorisationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data['name'];\n this.isAuthorised = _data['isAuthorised'];\n }\n }\n\n static fromJS(data: any): PolicyAuthorisationDto {\n data = typeof data === 'object' ? data : {};\n let result = new PolicyAuthorisationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['name'] = this.name;\n data['isAuthorised'] = this.isAuthorised;\n return data;\n }\n}\n\nexport interface IPolicyAuthorisationDto {\n name: string | undefined;\n isAuthorised: boolean;\n}\n\nexport class TrendEntryPointArgs implements ITrendEntryPointArgs {\n product!: ProductDto | undefined;\n accountStatus!: AccountStatusDto | undefined;\n apiVersion!: string | undefined;\n policyAuthorisations!: PolicyAuthorisationDto[] | undefined;\n feedbackBaseUrl!: string | undefined;\n trendResource!: TrendResourceDto | undefined;\n showAppBar!: boolean;\n\n constructor(data?: ITrendEntryPointArgs) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.product = _data['product'] ? ProductDto.fromJS(_data['product']) : undefined;\n this.accountStatus = _data['accountStatus'] ? AccountStatusDto.fromJS(_data['accountStatus']) : undefined;\n this.apiVersion = _data['apiVersion'];\n if (Array.isArray(_data['policyAuthorisations'])) {\n this.policyAuthorisations = [] as any;\n for (let item of _data['policyAuthorisations']) this.policyAuthorisations!.push(PolicyAuthorisationDto.fromJS(item));\n }\n this.feedbackBaseUrl = _data['feedbackBaseUrl'];\n this.trendResource = _data['trendResource'] ? TrendResourceDto.fromJS(_data['trendResource']) : undefined;\n this.showAppBar = _data['showAppBar'];\n }\n }\n\n static fromJS(data: any): TrendEntryPointArgs {\n data = typeof data === 'object' ? data : {};\n let result = new TrendEntryPointArgs();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['product'] = this.product ? this.product.toJSON() : undefined;\n data['accountStatus'] = this.accountStatus ? this.accountStatus.toJSON() : undefined;\n data['apiVersion'] = this.apiVersion;\n if (Array.isArray(this.policyAuthorisations)) {\n data['policyAuthorisations'] = [];\n for (let item of this.policyAuthorisations) data['policyAuthorisations'].push(item.toJSON());\n }\n data['feedbackBaseUrl'] = this.feedbackBaseUrl;\n data['trendResource'] = this.trendResource ? this.trendResource.toJSON() : undefined;\n data['showAppBar'] = this.showAppBar;\n return data;\n }\n}\n\nexport interface ITrendEntryPointArgs {\n product: ProductDto | undefined;\n accountStatus: AccountStatusDto | undefined;\n apiVersion: string | undefined;\n policyAuthorisations: PolicyAuthorisationDto[] | undefined;\n feedbackBaseUrl: string | undefined;\n trendResource: TrendResourceDto | undefined;\n showAppBar: boolean;\n}\n\nexport class TrendResourceDto implements ITrendResourceDto {\n trend!: TrendDto;\n links!: TrendLinksDto | undefined;\n apiLinks!: TrendApiLinksDto | undefined;\n\n constructor(data?: ITrendResourceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.trend = new TrendDto();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.trend = _data['trend'] ? TrendDto.fromJS(_data['trend']) : new TrendDto();\n this.links = _data['links'] ? TrendLinksDto.fromJS(_data['links']) : undefined;\n this.apiLinks = _data['apiLinks'] ? TrendApiLinksDto.fromJS(_data['apiLinks']) : undefined;\n }\n }\n\n static fromJS(data: any): TrendResourceDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendResourceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['trend'] = this.trend ? this.trend.toJSON() : undefined;\n data['links'] = this.links ? this.links.toJSON() : undefined;\n data['apiLinks'] = this.apiLinks ? this.apiLinks.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ITrendResourceDto {\n trend: TrendDto;\n links: TrendLinksDto | undefined;\n apiLinks: TrendApiLinksDto | undefined;\n}\n\nexport class TrendDto implements ITrendDto {\n id!: string;\n version!: number;\n userId!: string | undefined;\n lastSavedTime!: moment.Moment;\n isDeleted!: boolean;\n deletionTime!: moment.Moment | undefined;\n _etag!: string | undefined;\n isDraft!: boolean;\n isPublished!: boolean;\n isPublishedToEveryone!: boolean;\n publishedToOrganisations!: string[] | undefined;\n creationTime!: moment.Moment;\n title!: string | undefined;\n isReadOnlyMode!: boolean;\n currentStepId!: TrendStep;\n dataDefinition!: TrendDataDefinitionDto | undefined;\n channels!: ChannelContainerDto[] | undefined;\n selectedChannelIndex!: number;\n\n constructor(data?: ITrendDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.version = _data['version'];\n this.userId = _data['userId'];\n this.lastSavedTime = _data['lastSavedTime'] ? moment(_data['lastSavedTime'].toString()) : undefined;\n this.isDeleted = _data['isDeleted'];\n this.deletionTime = _data['deletionTime'] ? moment(_data['deletionTime'].toString()) : undefined;\n this._etag = _data['_etag'];\n this.isDraft = _data['isDraft'];\n this.isPublished = _data['isPublished'];\n this.isPublishedToEveryone = _data['isPublishedToEveryone'];\n if (Array.isArray(_data['publishedToOrganisations'])) {\n this.publishedToOrganisations = [] as any;\n for (let item of _data['publishedToOrganisations']) this.publishedToOrganisations!.push(item);\n }\n this.creationTime = _data['creationTime'] ? moment(_data['creationTime'].toString()) : undefined;\n this.title = _data['title'];\n this.isReadOnlyMode = _data['isReadOnlyMode'];\n this.currentStepId = _data['currentStepId'];\n this.dataDefinition = _data['dataDefinition'] ? TrendDataDefinitionDto.fromJS(_data['dataDefinition']) : undefined;\n if (Array.isArray(_data['channels'])) {\n this.channels = [] as any;\n for (let item of _data['channels']) this.channels!.push(ChannelContainerDto.fromJS(item));\n }\n this.selectedChannelIndex = _data['selectedChannelIndex'];\n }\n }\n\n static fromJS(data: any): TrendDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['version'] = this.version;\n data['userId'] = this.userId;\n data['lastSavedTime'] = this.lastSavedTime ? this.lastSavedTime.toISOString() : undefined;\n data['isDeleted'] = this.isDeleted;\n data['deletionTime'] = this.deletionTime ? this.deletionTime.toISOString() : undefined;\n data['_etag'] = this._etag;\n data['isDraft'] = this.isDraft;\n data['isPublished'] = this.isPublished;\n data['isPublishedToEveryone'] = this.isPublishedToEveryone;\n if (Array.isArray(this.publishedToOrganisations)) {\n data['publishedToOrganisations'] = [];\n for (let item of this.publishedToOrganisations) data['publishedToOrganisations'].push(item);\n }\n data['creationTime'] = this.creationTime ? this.creationTime.toISOString() : undefined;\n data['title'] = this.title;\n data['isReadOnlyMode'] = this.isReadOnlyMode;\n data['currentStepId'] = this.currentStepId;\n data['dataDefinition'] = this.dataDefinition ? this.dataDefinition.toJSON() : undefined;\n if (Array.isArray(this.channels)) {\n data['channels'] = [];\n for (let item of this.channels) data['channels'].push(item.toJSON());\n }\n data['selectedChannelIndex'] = this.selectedChannelIndex;\n return data;\n }\n}\n\nexport interface ITrendDto {\n id: string;\n version: number;\n userId: string | undefined;\n lastSavedTime: moment.Moment;\n isDeleted: boolean;\n deletionTime: moment.Moment | undefined;\n _etag: string | undefined;\n isDraft: boolean;\n isPublished: boolean;\n isPublishedToEveryone: boolean;\n publishedToOrganisations: string[] | undefined;\n creationTime: moment.Moment;\n title: string | undefined;\n isReadOnlyMode: boolean;\n currentStepId: TrendStep;\n dataDefinition: TrendDataDefinitionDto | undefined;\n channels: ChannelContainerDto[] | undefined;\n selectedChannelIndex: number;\n}\n\nexport enum TrendStep {\n RawDataSelection = 'RawDataSelection',\n ConfigureData = 'ConfigureData',\n Viewer = 'Viewer',\n Publish = 'Publish'\n}\n\nexport class TrendDataDefinitionDto implements ITrendDataDefinitionDto {\n appDateTimes!: AppDateTimesDto | undefined;\n configuredDataDefinitions!: ConfiguredMetricDto[] | undefined;\n\n constructor(data?: ITrendDataDefinitionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appDateTimes = _data['appDateTimes'] ? AppDateTimesDto.fromJS(_data['appDateTimes']) : undefined;\n if (Array.isArray(_data['configuredDataDefinitions'])) {\n this.configuredDataDefinitions = [] as any;\n for (let item of _data['configuredDataDefinitions']) this.configuredDataDefinitions!.push(ConfiguredMetricDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): TrendDataDefinitionDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendDataDefinitionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['appDateTimes'] = this.appDateTimes ? this.appDateTimes.toJSON() : undefined;\n if (Array.isArray(this.configuredDataDefinitions)) {\n data['configuredDataDefinitions'] = [];\n for (let item of this.configuredDataDefinitions) data['configuredDataDefinitions'].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ITrendDataDefinitionDto {\n appDateTimes: AppDateTimesDto | undefined;\n configuredDataDefinitions: ConfiguredMetricDto[] | undefined;\n}\n\nexport class AppDateTimesDto implements IAppDateTimesDto {\n fixedStart!: moment.Moment | undefined;\n fixedEnd!: moment.Moment | undefined;\n lookBack!: RelativeDurationDto | undefined;\n lookForward!: RelativeDurationDto | undefined;\n isLive!: boolean;\n isRelative!: boolean;\n utcOffsetDefinition!: UtcOffsetDefinitionDto | undefined;\n\n constructor(data?: IAppDateTimesDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fixedStart = _data['fixedStart'] ? moment(_data['fixedStart'].toString()) : undefined;\n this.fixedEnd = _data['fixedEnd'] ? moment(_data['fixedEnd'].toString()) : undefined;\n this.lookBack = _data['lookBack'] ? RelativeDurationDto.fromJS(_data['lookBack']) : undefined;\n this.lookForward = _data['lookForward'] ? RelativeDurationDto.fromJS(_data['lookForward']) : undefined;\n this.isLive = _data['isLive'];\n this.isRelative = _data['isRelative'];\n this.utcOffsetDefinition = _data['utcOffsetDefinition'] ? UtcOffsetDefinitionDto.fromJS(_data['utcOffsetDefinition']) : undefined;\n }\n }\n\n static fromJS(data: any): AppDateTimesDto {\n data = typeof data === 'object' ? data : {};\n let result = new AppDateTimesDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['fixedStart'] = this.fixedStart ? this.fixedStart.toISOString() : undefined;\n data['fixedEnd'] = this.fixedEnd ? this.fixedEnd.toISOString() : undefined;\n data['lookBack'] = this.lookBack ? this.lookBack.toJSON() : undefined;\n data['lookForward'] = this.lookForward ? this.lookForward.toJSON() : undefined;\n data['isLive'] = this.isLive;\n data['isRelative'] = this.isRelative;\n data['utcOffsetDefinition'] = this.utcOffsetDefinition ? this.utcOffsetDefinition.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IAppDateTimesDto {\n fixedStart: moment.Moment | undefined;\n fixedEnd: moment.Moment | undefined;\n lookBack: RelativeDurationDto | undefined;\n lookForward: RelativeDurationDto | undefined;\n isLive: boolean;\n isRelative: boolean;\n utcOffsetDefinition: UtcOffsetDefinitionDto | undefined;\n}\n\nexport class RelativeDurationDto implements IRelativeDurationDto {\n unitId!: RelativeDurationUnitId;\n count!: number;\n\n constructor(data?: IRelativeDurationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.unitId = _data['unitId'];\n this.count = _data['count'];\n }\n }\n\n static fromJS(data: any): RelativeDurationDto {\n data = typeof data === 'object' ? data : {};\n let result = new RelativeDurationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['unitId'] = this.unitId;\n data['count'] = this.count;\n return data;\n }\n}\n\nexport interface IRelativeDurationDto {\n unitId: RelativeDurationUnitId;\n count: number;\n}\n\nexport enum RelativeDurationUnitId {\n Minute = 'minute',\n Hour = 'hour',\n Day = 'day',\n Week = 'week',\n Month = 'month',\n Year = 'year',\n CompleteWeek = 'completeWeek',\n CompleteMonth = 'completeMonth',\n CompleteQuarter = 'completeQuarter',\n CompleteFinancialYear = 'completeFinancialYear',\n CompleteCalendarYear = 'completeCalendarYear'\n}\n\nexport class UtcOffsetDefinitionDto implements IUtcOffsetDefinitionDto {\n fixedOffsetInMinutes!: number | undefined;\n timeZone!: string | undefined;\n\n constructor(data?: IUtcOffsetDefinitionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fixedOffsetInMinutes = _data['fixedOffsetInMinutes'];\n this.timeZone = _data['timeZone'];\n }\n }\n\n static fromJS(data: any): UtcOffsetDefinitionDto {\n data = typeof data === 'object' ? data : {};\n let result = new UtcOffsetDefinitionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['fixedOffsetInMinutes'] = this.fixedOffsetInMinutes;\n data['timeZone'] = this.timeZone;\n return data;\n }\n}\n\nexport interface IUtcOffsetDefinitionDto {\n fixedOffsetInMinutes: number | undefined;\n timeZone: string | undefined;\n}\n\nexport class ConfiguredMetricDto implements IConfiguredMetricDto {\n id!: string;\n calculationVariableName!: string;\n name!: string;\n unitsOfMeasure!: UnitsOfMeasureDto;\n dataSummary!: DataSummaryDto;\n inputDataDefinitionId!: IMetricDto;\n timeStep!: TimeStep;\n aggregate!: Aggregation;\n isIncludedInOutputChannels!: boolean;\n maxDataPoints!: number;\n\n constructor(data?: IConfiguredMetricDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.unitsOfMeasure = new UnitsOfMeasureDto();\n this.dataSummary = new DataSummaryDto();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.calculationVariableName = _data['calculationVariableName'];\n this.name = _data['name'];\n this.unitsOfMeasure = _data['unitsOfMeasure'] ? UnitsOfMeasureDto.fromJS(_data['unitsOfMeasure']) : new UnitsOfMeasureDto();\n this.dataSummary = _data['dataSummary'] ? DataSummaryDto.fromJS(_data['dataSummary']) : new DataSummaryDto();\n this.inputDataDefinitionId = _data['inputDataDefinitionId'] ? IMetricDto.fromJS(_data['inputDataDefinitionId']) : undefined;\n this.timeStep = _data['timeStep'];\n this.aggregate = _data['aggregate'];\n this.isIncludedInOutputChannels = _data['isIncludedInOutputChannels'];\n this.maxDataPoints = _data['maxDataPoints'];\n }\n }\n\n static fromJS(data: any): ConfiguredMetricDto {\n data = typeof data === 'object' ? data : {};\n let result = new ConfiguredMetricDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['calculationVariableName'] = this.calculationVariableName;\n data['name'] = this.name;\n data['unitsOfMeasure'] = this.unitsOfMeasure ? this.unitsOfMeasure.toJSON() : undefined;\n data['dataSummary'] = this.dataSummary ? this.dataSummary.toJSON() : undefined;\n data['inputDataDefinitionId'] = this.inputDataDefinitionId ? this.inputDataDefinitionId.toJSON() : undefined;\n data['timeStep'] = this.timeStep;\n data['aggregate'] = this.aggregate;\n data['isIncludedInOutputChannels'] = this.isIncludedInOutputChannels;\n data['maxDataPoints'] = this.maxDataPoints;\n return data;\n }\n}\n\nexport interface IConfiguredMetricDto {\n id: string;\n calculationVariableName: string;\n name: string;\n unitsOfMeasure: UnitsOfMeasureDto;\n dataSummary: DataSummaryDto;\n inputDataDefinitionId: IMetricDto;\n timeStep: TimeStep;\n aggregate: Aggregation;\n isIncludedInOutputChannels: boolean;\n maxDataPoints: number;\n}\n\nexport class UnitsOfMeasureDto implements IUnitsOfMeasureDto {\n id!: number;\n displayName!: string;\n valueFormatString!: string;\n decimalPlaces!: number;\n\n constructor(data?: IUnitsOfMeasureDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.displayName = _data['displayName'];\n this.valueFormatString = _data['valueFormatString'];\n this.decimalPlaces = _data['decimalPlaces'];\n }\n }\n\n static fromJS(data: any): UnitsOfMeasureDto {\n data = typeof data === 'object' ? data : {};\n let result = new UnitsOfMeasureDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['displayName'] = this.displayName;\n data['valueFormatString'] = this.valueFormatString;\n data['decimalPlaces'] = this.decimalPlaces;\n return data;\n }\n}\n\nexport interface IUnitsOfMeasureDto {\n id: number;\n displayName: string;\n valueFormatString: string;\n decimalPlaces: number;\n}\n\nexport class DataSummaryDto implements IDataSummaryDto {\n period!: moment.Duration | undefined;\n\n constructor(data?: IDataSummaryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.period = _data['period'] ? moment.duration(_data['period'].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DataSummaryDto {\n data = typeof data === 'object' ? data : {};\n let result = new DataSummaryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['period'] = this.period ? this.period.format('d.hh:mm:ss.SS', { trim: false }) : undefined;\n return data;\n }\n}\n\nexport interface IDataSummaryDto {\n period: moment.Duration | undefined;\n}\n\nexport enum TimeStep {\n Raw = 'Raw',\n HalfHour = 'HalfHour',\n Hour = 'Hour',\n Day = 'Day',\n Week = 'Week',\n Month = 'Month',\n Quarter = 'Quarter',\n Yearly = 'Yearly',\n EntireRange = 'EntireRange'\n}\n\nexport enum Aggregation {\n None = 'None',\n Average = 'Average',\n Minimum = 'Minimum',\n Maximum = 'Maximum',\n Sum = 'Sum',\n Count = 'Count'\n}\n\nexport class ChannelContainerDto implements IChannelContainerDto {\n type!: OutputChannelTypeId;\n state!: any | undefined;\n\n constructor(data?: IChannelContainerDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.type = _data['type'];\n this.state = _data['state'];\n }\n }\n\n static fromJS(data: any): ChannelContainerDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChannelContainerDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['type'] = this.type;\n data['state'] = this.state;\n return data;\n }\n}\n\nexport interface IChannelContainerDto {\n type: OutputChannelTypeId;\n state: any | undefined;\n}\n\nexport enum OutputChannelTypeId {\n CHART = 'CHART',\n TABLE = 'TABLE',\n FILE = 'FILE',\n API = 'API',\n NEW = 'NEW'\n}\n\nexport class TrendLinksDto implements ITrendLinksDto {\n show!: ResourceActionDto | undefined;\n artifact!: ResourceActionDto | undefined;\n embeddableArtifact!: ResourceActionDto | undefined;\n\n constructor(data?: ITrendLinksDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.show = _data['show'] ? ResourceActionDto.fromJS(_data['show']) : undefined;\n this.artifact = _data['artifact'] ? ResourceActionDto.fromJS(_data['artifact']) : undefined;\n this.embeddableArtifact = _data['embeddableArtifact'] ? ResourceActionDto.fromJS(_data['embeddableArtifact']) : undefined;\n }\n }\n\n static fromJS(data: any): TrendLinksDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendLinksDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['show'] = this.show ? this.show.toJSON() : undefined;\n data['artifact'] = this.artifact ? this.artifact.toJSON() : undefined;\n data['embeddableArtifact'] = this.embeddableArtifact ? this.embeddableArtifact.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ITrendLinksDto {\n show: ResourceActionDto | undefined;\n artifact: ResourceActionDto | undefined;\n embeddableArtifact: ResourceActionDto | undefined;\n}\n\nexport class ResourceActionDto implements IResourceActionDto {\n method!: string | undefined;\n resourceUri!: string | undefined;\n\n constructor(data?: IResourceActionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.method = _data['method'];\n this.resourceUri = _data['resourceUri'];\n }\n }\n\n static fromJS(data: any): ResourceActionDto {\n data = typeof data === 'object' ? data : {};\n let result = new ResourceActionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['method'] = this.method;\n data['resourceUri'] = this.resourceUri;\n return data;\n }\n}\n\nexport interface IResourceActionDto {\n method: string | undefined;\n resourceUri: string | undefined;\n}\n\nexport class TrendApiLinksDto implements ITrendApiLinksDto {\n get!: ResourceActionDto | undefined;\n update!: ResourceActionDto | undefined;\n publish!: ResourceActionDto | undefined;\n delete!: ResourceActionDto | undefined;\n\n constructor(data?: ITrendApiLinksDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.get = _data['get'] ? ResourceActionDto.fromJS(_data['get']) : undefined;\n this.update = _data['update'] ? ResourceActionDto.fromJS(_data['update']) : undefined;\n this.publish = _data['publish'] ? ResourceActionDto.fromJS(_data['publish']) : undefined;\n this.delete = _data['delete'] ? ResourceActionDto.fromJS(_data['delete']) : undefined;\n }\n }\n\n static fromJS(data: any): TrendApiLinksDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendApiLinksDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['get'] = this.get ? this.get.toJSON() : undefined;\n data['update'] = this.update ? this.update.toJSON() : undefined;\n data['publish'] = this.publish ? this.publish.toJSON() : undefined;\n data['delete'] = this.delete ? this.delete.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ITrendApiLinksDto {\n get: ResourceActionDto | undefined;\n update: ResourceActionDto | undefined;\n publish: ResourceActionDto | undefined;\n delete: ResourceActionDto | undefined;\n}\n\nexport class ArtifactEntryPointArgs implements IArtifactEntryPointArgs {\n product!: ProductDto | undefined;\n trendResource!: TrendResourceDto | undefined;\n apiVersion!: string | undefined;\n\n constructor(data?: IArtifactEntryPointArgs) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.product = _data['product'] ? ProductDto.fromJS(_data['product']) : undefined;\n this.trendResource = _data['trendResource'] ? TrendResourceDto.fromJS(_data['trendResource']) : undefined;\n this.apiVersion = _data['apiVersion'];\n }\n }\n\n static fromJS(data: any): ArtifactEntryPointArgs {\n data = typeof data === 'object' ? data : {};\n let result = new ArtifactEntryPointArgs();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['product'] = this.product ? this.product.toJSON() : undefined;\n data['trendResource'] = this.trendResource ? this.trendResource.toJSON() : undefined;\n data['apiVersion'] = this.apiVersion;\n return data;\n }\n}\n\nexport interface IArtifactEntryPointArgs {\n product: ProductDto | undefined;\n trendResource: TrendResourceDto | undefined;\n apiVersion: string | undefined;\n}\n\nexport class EmbeddableArtifactEntryPointArgs implements IEmbeddableArtifactEntryPointArgs {\n apiVersion!: string | undefined;\n product!: ProductDto | undefined;\n embedBaseUrl!: string | undefined;\n trendResource!: TrendResourceDto | undefined;\n container!: EmbeddableArtifactContainerArgs | undefined;\n\n constructor(data?: IEmbeddableArtifactEntryPointArgs) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.apiVersion = _data['apiVersion'];\n this.product = _data['product'] ? ProductDto.fromJS(_data['product']) : undefined;\n this.embedBaseUrl = _data['embedBaseUrl'];\n this.trendResource = _data['trendResource'] ? TrendResourceDto.fromJS(_data['trendResource']) : undefined;\n this.container = _data['container'] ? EmbeddableArtifactContainerArgs.fromJS(_data['container']) : undefined;\n }\n }\n\n static fromJS(data: any): EmbeddableArtifactEntryPointArgs {\n data = typeof data === 'object' ? data : {};\n let result = new EmbeddableArtifactEntryPointArgs();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['apiVersion'] = this.apiVersion;\n data['product'] = this.product ? this.product.toJSON() : undefined;\n data['embedBaseUrl'] = this.embedBaseUrl;\n data['trendResource'] = this.trendResource ? this.trendResource.toJSON() : undefined;\n data['container'] = this.container ? this.container.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IEmbeddableArtifactEntryPointArgs {\n apiVersion: string | undefined;\n product: ProductDto | undefined;\n embedBaseUrl: string | undefined;\n trendResource: TrendResourceDto | undefined;\n container: EmbeddableArtifactContainerArgs | undefined;\n}\n\nexport class EmbeddableArtifactContainerArgs implements IEmbeddableArtifactContainerArgs {\n widgetLogo!: ImageDefinition | undefined;\n sponsorLogo!: ImageDefinition | undefined;\n twitterMessage!: string | undefined;\n twitterAccountId!: string | undefined;\n socialBaseUrl!: string | undefined;\n\n constructor(data?: IEmbeddableArtifactContainerArgs) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.widgetLogo = _data['widgetLogo'] ? ImageDefinition.fromJS(_data['widgetLogo']) : undefined;\n this.sponsorLogo = _data['sponsorLogo'] ? ImageDefinition.fromJS(_data['sponsorLogo']) : undefined;\n this.twitterMessage = _data['twitterMessage'];\n this.twitterAccountId = _data['twitterAccountId'];\n this.socialBaseUrl = _data['socialBaseUrl'];\n }\n }\n\n static fromJS(data: any): EmbeddableArtifactContainerArgs {\n data = typeof data === 'object' ? data : {};\n let result = new EmbeddableArtifactContainerArgs();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['widgetLogo'] = this.widgetLogo ? this.widgetLogo.toJSON() : undefined;\n data['sponsorLogo'] = this.sponsorLogo ? this.sponsorLogo.toJSON() : undefined;\n data['twitterMessage'] = this.twitterMessage;\n data['twitterAccountId'] = this.twitterAccountId;\n data['socialBaseUrl'] = this.socialBaseUrl;\n return data;\n }\n}\n\nexport interface IEmbeddableArtifactContainerArgs {\n widgetLogo: ImageDefinition | undefined;\n sponsorLogo: ImageDefinition | undefined;\n twitterMessage: string | undefined;\n twitterAccountId: string | undefined;\n socialBaseUrl: string | undefined;\n}\n\nexport class ImageDefinition implements IImageDefinition {\n linkUrl!: string | undefined;\n imageUrl!: string | undefined;\n tooltip!: string | undefined;\n\n constructor(data?: IImageDefinition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.linkUrl = _data['linkUrl'];\n this.imageUrl = _data['imageUrl'];\n this.tooltip = _data['tooltip'];\n }\n }\n\n static fromJS(data: any): ImageDefinition {\n data = typeof data === 'object' ? data : {};\n let result = new ImageDefinition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['linkUrl'] = this.linkUrl;\n data['imageUrl'] = this.imageUrl;\n data['tooltip'] = this.tooltip;\n return data;\n }\n}\n\nexport interface IImageDefinition {\n linkUrl: string | undefined;\n imageUrl: string | undefined;\n tooltip: string | undefined;\n}\n\nexport enum FeatureToggle {\n None = 'None'\n}\n\nexport class FeatureToggleSummary implements IFeatureToggleSummary {\n id!: FeatureToggle;\n name!: string;\n isOn!: boolean;\n isOnForMe!: boolean;\n isOnForEveryone!: boolean;\n isOnForPeople!: string[] | undefined;\n\n constructor(data?: IFeatureToggleSummary) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.name = _data['name'];\n this.isOn = _data['isOn'];\n this.isOnForMe = _data['isOnForMe'];\n this.isOnForEveryone = _data['isOnForEveryone'];\n if (Array.isArray(_data['isOnForPeople'])) {\n this.isOnForPeople = [] as any;\n for (let item of _data['isOnForPeople']) this.isOnForPeople!.push(item);\n }\n }\n }\n\n static fromJS(data: any): FeatureToggleSummary {\n data = typeof data === 'object' ? data : {};\n let result = new FeatureToggleSummary();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['name'] = this.name;\n data['isOn'] = this.isOn;\n data['isOnForMe'] = this.isOnForMe;\n data['isOnForEveryone'] = this.isOnForEveryone;\n if (Array.isArray(this.isOnForPeople)) {\n data['isOnForPeople'] = [];\n for (let item of this.isOnForPeople) data['isOnForPeople'].push(item);\n }\n return data;\n }\n}\n\nexport interface IFeatureToggleSummary {\n id: FeatureToggle;\n name: string;\n isOn: boolean;\n isOnForMe: boolean;\n isOnForEveryone: boolean;\n isOnForPeople: string[] | undefined;\n}\n\nexport class SearchResultDto implements ISearchResultDto {\n resultCount!: number;\n facets!: FacetDto[] | undefined;\n selectedTab!: TabDto | undefined;\n tabs!: TabSummaryDto[] | undefined;\n\n constructor(data?: ISearchResultDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.resultCount = _data['resultCount'];\n if (Array.isArray(_data['facets'])) {\n this.facets = [] as any;\n for (let item of _data['facets']) this.facets!.push(FacetDto.fromJS(item));\n }\n this.selectedTab = _data['selectedTab'] ? TabDto.fromJS(_data['selectedTab']) : undefined;\n if (Array.isArray(_data['tabs'])) {\n this.tabs = [] as any;\n for (let item of _data['tabs']) this.tabs!.push(TabSummaryDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SearchResultDto {\n data = typeof data === 'object' ? data : {};\n let result = new SearchResultDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['resultCount'] = this.resultCount;\n if (Array.isArray(this.facets)) {\n data['facets'] = [];\n for (let item of this.facets) data['facets'].push(item.toJSON());\n }\n data['selectedTab'] = this.selectedTab ? this.selectedTab.toJSON() : undefined;\n if (Array.isArray(this.tabs)) {\n data['tabs'] = [];\n for (let item of this.tabs) data['tabs'].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISearchResultDto {\n resultCount: number;\n facets: FacetDto[] | undefined;\n selectedTab: TabDto | undefined;\n tabs: TabSummaryDto[] | undefined;\n}\n\nexport class FacetDto implements IFacetDto {\n id!: string | undefined;\n name!: string | undefined;\n values!: FacetValueDto[] | undefined;\n isValueListComplete!: boolean;\n\n constructor(data?: IFacetDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.name = _data['name'];\n if (Array.isArray(_data['values'])) {\n this.values = [] as any;\n for (let item of _data['values']) this.values!.push(FacetValueDto.fromJS(item));\n }\n this.isValueListComplete = _data['isValueListComplete'];\n }\n }\n\n static fromJS(data: any): FacetDto {\n data = typeof data === 'object' ? data : {};\n let result = new FacetDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['name'] = this.name;\n if (Array.isArray(this.values)) {\n data['values'] = [];\n for (let item of this.values) data['values'].push(item.toJSON());\n }\n data['isValueListComplete'] = this.isValueListComplete;\n return data;\n }\n}\n\nexport interface IFacetDto {\n id: string | undefined;\n name: string | undefined;\n values: FacetValueDto[] | undefined;\n isValueListComplete: boolean;\n}\n\nexport class FacetValueDto implements IFacetValueDto {\n id!: string | undefined;\n name!: string | undefined;\n recordCount!: number;\n\n constructor(data?: IFacetValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.name = _data['name'];\n this.recordCount = _data['recordCount'];\n }\n }\n\n static fromJS(data: any): FacetValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new FacetValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['name'] = this.name;\n data['recordCount'] = this.recordCount;\n return data;\n }\n}\n\nexport interface IFacetValueDto {\n id: string | undefined;\n name: string | undefined;\n recordCount: number;\n}\n\nexport class TabDto implements ITabDto {\n id!: string | undefined;\n name!: string | undefined;\n columns!: ColumnDto[] | undefined;\n rows!: RowDto[] | undefined;\n availableGroupingFacets!: FacetKeyDto[] | undefined;\n selectedGroupingFacets!: FacetKeyDto[] | undefined;\n\n constructor(data?: ITabDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.name = _data['name'];\n if (Array.isArray(_data['columns'])) {\n this.columns = [] as any;\n for (let item of _data['columns']) this.columns!.push(ColumnDto.fromJS(item));\n }\n if (Array.isArray(_data['rows'])) {\n this.rows = [] as any;\n for (let item of _data['rows']) this.rows!.push(RowDto.fromJS(item));\n }\n if (Array.isArray(_data['availableGroupingFacets'])) {\n this.availableGroupingFacets = [] as any;\n for (let item of _data['availableGroupingFacets']) this.availableGroupingFacets!.push(FacetKeyDto.fromJS(item));\n }\n if (Array.isArray(_data['selectedGroupingFacets'])) {\n this.selectedGroupingFacets = [] as any;\n for (let item of _data['selectedGroupingFacets']) this.selectedGroupingFacets!.push(FacetKeyDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): TabDto {\n data = typeof data === 'object' ? data : {};\n let result = new TabDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['name'] = this.name;\n if (Array.isArray(this.columns)) {\n data['columns'] = [];\n for (let item of this.columns) data['columns'].push(item.toJSON());\n }\n if (Array.isArray(this.rows)) {\n data['rows'] = [];\n for (let item of this.rows) data['rows'].push(item.toJSON());\n }\n if (Array.isArray(this.availableGroupingFacets)) {\n data['availableGroupingFacets'] = [];\n for (let item of this.availableGroupingFacets) data['availableGroupingFacets'].push(item.toJSON());\n }\n if (Array.isArray(this.selectedGroupingFacets)) {\n data['selectedGroupingFacets'] = [];\n for (let item of this.selectedGroupingFacets) data['selectedGroupingFacets'].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ITabDto {\n id: string | undefined;\n name: string | undefined;\n columns: ColumnDto[] | undefined;\n rows: RowDto[] | undefined;\n availableGroupingFacets: FacetKeyDto[] | undefined;\n selectedGroupingFacets: FacetKeyDto[] | undefined;\n}\n\nexport class ColumnDto implements IColumnDto {\n index!: number;\n name!: string | undefined;\n\n constructor(data?: IColumnDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.index = _data['index'];\n this.name = _data['name'];\n }\n }\n\n static fromJS(data: any): ColumnDto {\n data = typeof data === 'object' ? data : {};\n let result = new ColumnDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['index'] = this.index;\n data['name'] = this.name;\n return data;\n }\n}\n\nexport interface IColumnDto {\n index: number;\n name: string | undefined;\n}\n\nexport class RowDto implements IRowDto {\n name!: string | undefined;\n cells!: CellDto[] | undefined;\n children!: RowDto[] | undefined;\n\n constructor(data?: IRowDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data['name'];\n if (Array.isArray(_data['cells'])) {\n this.cells = [] as any;\n for (let item of _data['cells']) this.cells!.push(CellDto.fromJS(item));\n }\n if (Array.isArray(_data['children'])) {\n this.children = [] as any;\n for (let item of _data['children']) this.children!.push(RowDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): RowDto {\n data = typeof data === 'object' ? data : {};\n let result = new RowDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['name'] = this.name;\n if (Array.isArray(this.cells)) {\n data['cells'] = [];\n for (let item of this.cells) data['cells'].push(item.toJSON());\n }\n if (Array.isArray(this.children)) {\n data['children'] = [];\n for (let item of this.children) data['children'].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IRowDto {\n name: string | undefined;\n cells: CellDto[] | undefined;\n children: RowDto[] | undefined;\n}\n\nexport class CellDto implements ICellDto {\n columnIndex!: number;\n score!: number;\n metric!: IMetricDto | undefined;\n\n constructor(data?: ICellDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.columnIndex = _data['columnIndex'];\n this.score = _data['score'];\n this.metric = _data['metric'] ? IMetricDto.fromJS(_data['metric']) : undefined;\n }\n }\n\n static fromJS(data: any): CellDto {\n data = typeof data === 'object' ? data : {};\n let result = new CellDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['columnIndex'] = this.columnIndex;\n data['score'] = this.score;\n data['metric'] = this.metric ? this.metric.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICellDto {\n columnIndex: number;\n score: number;\n metric: IMetricDto | undefined;\n}\n\nexport class FacetKeyDto implements IFacetKeyDto {\n id!: string | undefined;\n name!: string | undefined;\n\n constructor(data?: IFacetKeyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.name = _data['name'];\n }\n }\n\n static fromJS(data: any): FacetKeyDto {\n data = typeof data === 'object' ? data : {};\n let result = new FacetKeyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['name'] = this.name;\n return data;\n }\n}\n\nexport interface IFacetKeyDto {\n id: string | undefined;\n name: string | undefined;\n}\n\nexport class TabSummaryDto implements ITabSummaryDto {\n id!: string | undefined;\n name!: string | undefined;\n\n constructor(data?: ITabSummaryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.name = _data['name'];\n }\n }\n\n static fromJS(data: any): TabSummaryDto {\n data = typeof data === 'object' ? data : {};\n let result = new TabSummaryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['name'] = this.name;\n return data;\n }\n}\n\nexport interface ITabSummaryDto {\n id: string | undefined;\n name: string | undefined;\n}\n\nexport class InputDataDefinitionDto implements IInputDataDefinitionDto {\n id!: IMetricDto | undefined;\n name!: string | undefined;\n\n constructor(data?: IInputDataDefinitionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'] ? IMetricDto.fromJS(_data['id']) : undefined;\n this.name = _data['name'];\n }\n }\n\n static fromJS(data: any): InputDataDefinitionDto {\n data = typeof data === 'object' ? data : {};\n let result = new InputDataDefinitionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id ? this.id.toJSON() : undefined;\n data['name'] = this.name;\n return data;\n }\n}\n\nexport interface IInputDataDefinitionDto {\n id: IMetricDto | undefined;\n name: string | undefined;\n}\n\nexport class Organisation implements IOrganisation {\n id!: string;\n name!: string;\n emailDomainObjects!: EmailDomain[];\n emailDomains!: string[];\n\n constructor(data?: IOrganisation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.name = _data['name'];\n if (Array.isArray(_data['emailDomainObjects'])) {\n this.emailDomainObjects = [] as any;\n for (let item of _data['emailDomainObjects']) this.emailDomainObjects!.push(EmailDomain.fromJS(item));\n }\n if (Array.isArray(_data['emailDomains'])) {\n this.emailDomains = [] as any;\n for (let item of _data['emailDomains']) this.emailDomains!.push(item);\n }\n }\n }\n\n static fromJS(data: any): Organisation {\n data = typeof data === 'object' ? data : {};\n let result = new Organisation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['name'] = this.name;\n if (Array.isArray(this.emailDomainObjects)) {\n data['emailDomainObjects'] = [];\n for (let item of this.emailDomainObjects) data['emailDomainObjects'].push(item.toJSON());\n }\n if (Array.isArray(this.emailDomains)) {\n data['emailDomains'] = [];\n for (let item of this.emailDomains) data['emailDomains'].push(item);\n }\n return data;\n }\n}\n\nexport interface IOrganisation {\n id: string;\n name: string;\n emailDomainObjects: EmailDomain[];\n emailDomains: string[];\n}\n\nexport class EmailDomain implements IEmailDomain {\n domain!: string;\n isDeprecated!: boolean;\n\n constructor(data?: IEmailDomain) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.domain = _data['domain'];\n this.isDeprecated = _data['isDeprecated'];\n }\n }\n\n static fromJS(data: any): EmailDomain {\n data = typeof data === 'object' ? data : {};\n let result = new EmailDomain();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['domain'] = this.domain;\n data['isDeprecated'] = this.isDeprecated;\n return data;\n }\n}\n\nexport interface IEmailDomain {\n domain: string;\n isDeprecated: boolean;\n}\n\nexport class TemplateSummaryDto implements ITemplateSummaryDto {\n id!: string;\n name!: string;\n\n constructor(data?: ITemplateSummaryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.name = _data['name'];\n }\n }\n\n static fromJS(data: any): TemplateSummaryDto {\n data = typeof data === 'object' ? data : {};\n let result = new TemplateSummaryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['name'] = this.name;\n return data;\n }\n}\n\nexport interface ITemplateSummaryDto {\n id: string;\n name: string;\n}\n\nexport class TrendSummaryResourceDto implements ITrendSummaryResourceDto {\n trendSummary!: TrendSummaryDto | undefined;\n links!: TrendSummaryLinksDto | undefined;\n\n constructor(data?: ITrendSummaryResourceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.trendSummary = _data['trendSummary'] ? TrendSummaryDto.fromJS(_data['trendSummary']) : undefined;\n this.links = _data['links'] ? TrendSummaryLinksDto.fromJS(_data['links']) : undefined;\n }\n }\n\n static fromJS(data: any): TrendSummaryResourceDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendSummaryResourceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['trendSummary'] = this.trendSummary ? this.trendSummary.toJSON() : undefined;\n data['links'] = this.links ? this.links.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ITrendSummaryResourceDto {\n trendSummary: TrendSummaryDto | undefined;\n links: TrendSummaryLinksDto | undefined;\n}\n\nexport class TrendSummaryDto implements ITrendSummaryDto {\n id!: string | undefined;\n title!: string | undefined;\n isDraft!: boolean;\n isPublished!: boolean;\n userId!: string | undefined;\n creationTime!: moment.Moment;\n lastSavedTime!: moment.Moment;\n ownerIsAGrId!: boolean;\n\n constructor(data?: ITrendSummaryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.title = _data['title'];\n this.isDraft = _data['isDraft'];\n this.isPublished = _data['isPublished'];\n this.userId = _data['userId'];\n this.creationTime = _data['creationTime'] ? moment(_data['creationTime'].toString()) : undefined;\n this.lastSavedTime = _data['lastSavedTime'] ? moment(_data['lastSavedTime'].toString()) : undefined;\n this.ownerIsAGrId = _data['ownerIsAGrId'];\n }\n }\n\n static fromJS(data: any): TrendSummaryDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendSummaryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['title'] = this.title;\n data['isDraft'] = this.isDraft;\n data['isPublished'] = this.isPublished;\n data['userId'] = this.userId;\n data['creationTime'] = this.creationTime ? this.creationTime.toISOString() : undefined;\n data['lastSavedTime'] = this.lastSavedTime ? this.lastSavedTime.toISOString() : undefined;\n data['ownerIsAGrId'] = this.ownerIsAGrId;\n return data;\n }\n}\n\nexport interface ITrendSummaryDto {\n id: string | undefined;\n title: string | undefined;\n isDraft: boolean;\n isPublished: boolean;\n userId: string | undefined;\n creationTime: moment.Moment;\n lastSavedTime: moment.Moment;\n ownerIsAGrId: boolean;\n}\n\nexport class TrendSummaryLinksDto implements ITrendSummaryLinksDto {\n show!: ResourceActionDto | undefined;\n\n constructor(data?: ITrendSummaryLinksDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.show = _data['show'] ? ResourceActionDto.fromJS(_data['show']) : undefined;\n }\n }\n\n static fromJS(data: any): TrendSummaryLinksDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendSummaryLinksDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['show'] = this.show ? this.show.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ITrendSummaryLinksDto {\n show: ResourceActionDto | undefined;\n}\n\nexport class TrendDescriptionDto implements ITrendDescriptionDto {\n text!: string | undefined;\n html!: string | undefined;\n\n constructor(data?: ITrendDescriptionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.text = _data['text'];\n this.html = _data['html'];\n }\n }\n\n static fromJS(data: any): TrendDescriptionDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendDescriptionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['text'] = this.text;\n data['html'] = this.html;\n return data;\n }\n}\n\nexport interface ITrendDescriptionDto {\n text: string | undefined;\n html: string | undefined;\n}\n\nexport class TrendPutResult implements ITrendPutResult {\n _etag!: string | undefined;\n\n constructor(data?: ITrendPutResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this._etag = _data['_etag'];\n }\n }\n\n static fromJS(data: any): TrendPutResult {\n data = typeof data === 'object' ? data : {};\n let result = new TrendPutResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['_etag'] = this._etag;\n return data;\n }\n}\n\nexport interface ITrendPutResult {\n _etag: string | undefined;\n}\n\nexport class TrendPublishDto implements ITrendPublishDto {\n id!: string | undefined;\n title!: string | undefined;\n publishedToOrganisations!: string[] | undefined;\n\n constructor(data?: ITrendPublishDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data['id'];\n this.title = _data['title'];\n if (Array.isArray(_data['publishedToOrganisations'])) {\n this.publishedToOrganisations = [] as any;\n for (let item of _data['publishedToOrganisations']) this.publishedToOrganisations!.push(item);\n }\n }\n }\n\n static fromJS(data: any): TrendPublishDto {\n data = typeof data === 'object' ? data : {};\n let result = new TrendPublishDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['id'] = this.id;\n data['title'] = this.title;\n if (Array.isArray(this.publishedToOrganisations)) {\n data['publishedToOrganisations'] = [];\n for (let item of this.publishedToOrganisations) data['publishedToOrganisations'].push(item);\n }\n return data;\n }\n}\n\nexport interface ITrendPublishDto {\n id: string | undefined;\n title: string | undefined;\n publishedToOrganisations: string[] | undefined;\n}\n\nexport class JavaScriptClientDto implements IJavaScriptClientDto {\n authority!: string;\n clientId!: string;\n redirectUrl!: string;\n silentRedirectUrl!: string;\n responseType!: string;\n scope!: string;\n postLogoutRedirectUrl!: string;\n\n constructor(data?: IJavaScriptClientDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.authority = _data['authority'];\n this.clientId = _data['clientId'];\n this.redirectUrl = _data['redirectUrl'];\n this.silentRedirectUrl = _data['silentRedirectUrl'];\n this.responseType = _data['responseType'];\n this.scope = _data['scope'];\n this.postLogoutRedirectUrl = _data['postLogoutRedirectUrl'];\n }\n }\n\n static fromJS(data: any): JavaScriptClientDto {\n data = typeof data === 'object' ? data : {};\n let result = new JavaScriptClientDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['authority'] = this.authority;\n data['clientId'] = this.clientId;\n data['redirectUrl'] = this.redirectUrl;\n data['silentRedirectUrl'] = this.silentRedirectUrl;\n data['responseType'] = this.responseType;\n data['scope'] = this.scope;\n data['postLogoutRedirectUrl'] = this.postLogoutRedirectUrl;\n return data;\n }\n}\n\nexport interface IJavaScriptClientDto {\n authority: string;\n clientId: string;\n redirectUrl: string;\n silentRedirectUrl: string;\n responseType: string;\n scope: string;\n postLogoutRedirectUrl: string;\n}\n\nexport class IsAuthorisedDto implements IIsAuthorisedDto {\n isAuthorised!: boolean;\n\n constructor(data?: IIsAuthorisedDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isAuthorised = _data['isAuthorised'];\n }\n }\n\n static fromJS(data: any): IsAuthorisedDto {\n data = typeof data === 'object' ? data : {};\n let result = new IsAuthorisedDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['isAuthorised'] = this.isAuthorised;\n return data;\n }\n}\n\nexport interface IIsAuthorisedDto {\n isAuthorised: boolean;\n}\n\nexport class TrendsMetricApiResponse implements ITrendsMetricApiResponse {\n configuredMetric!: ConfiguredMetricDto;\n available!: string[];\n pending!: string[];\n isForecast!: boolean;\n\n constructor(data?: ITrendsMetricApiResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.configuredMetric = new ConfiguredMetricDto();\n this.available = [];\n this.pending = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.configuredMetric = _data['configuredMetric'] ? ConfiguredMetricDto.fromJS(_data['configuredMetric']) : new ConfiguredMetricDto();\n if (Array.isArray(_data['available'])) {\n this.available = [] as any;\n for (let item of _data['available']) this.available!.push(item);\n }\n if (Array.isArray(_data['pending'])) {\n this.pending = [] as any;\n for (let item of _data['pending']) this.pending!.push(item);\n }\n this.isForecast = _data['isForecast'];\n }\n }\n\n static fromJS(data: any): TrendsMetricApiResponse {\n data = typeof data === 'object' ? data : {};\n let result = new TrendsMetricApiResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['configuredMetric'] = this.configuredMetric ? this.configuredMetric.toJSON() : undefined;\n if (Array.isArray(this.available)) {\n data['available'] = [];\n for (let item of this.available) data['available'].push(item);\n }\n if (Array.isArray(this.pending)) {\n data['pending'] = [];\n for (let item of this.pending) data['pending'].push(item);\n }\n data['isForecast'] = this.isForecast;\n return data;\n }\n}\n\nexport interface ITrendsMetricApiResponse {\n configuredMetric: ConfiguredMetricDto;\n available: string[];\n pending: string[];\n isForecast: boolean;\n}\n\nexport class SeriesDataCollectionRequestDto implements ISeriesDataCollectionRequestDto {\n start!: moment.Moment;\n end!: moment.Moment;\n pointInTimeContext!: moment.Moment;\n configuredDataDefinitions!: ConfiguredMetricDto[] | undefined;\n utcOffsetInMinutes!: number;\n requestId!: string | undefined;\n\n constructor(data?: ISeriesDataCollectionRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.start = _data['start'] ? moment(_data['start'].toString()) : undefined;\n this.end = _data['end'] ? moment(_data['end'].toString()) : undefined;\n this.pointInTimeContext = _data['pointInTimeContext'] ? moment(_data['pointInTimeContext'].toString()) : undefined;\n if (Array.isArray(_data['configuredDataDefinitions'])) {\n this.configuredDataDefinitions = [] as any;\n for (let item of _data['configuredDataDefinitions']) this.configuredDataDefinitions!.push(ConfiguredMetricDto.fromJS(item));\n }\n this.utcOffsetInMinutes = _data['utcOffsetInMinutes'];\n this.requestId = _data['requestId'];\n }\n }\n\n static fromJS(data: any): SeriesDataCollectionRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new SeriesDataCollectionRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['start'] = this.start ? this.start.toISOString() : undefined;\n data['end'] = this.end ? this.end.toISOString() : undefined;\n data['pointInTimeContext'] = this.pointInTimeContext ? this.pointInTimeContext.toISOString() : undefined;\n if (Array.isArray(this.configuredDataDefinitions)) {\n data['configuredDataDefinitions'] = [];\n for (let item of this.configuredDataDefinitions) data['configuredDataDefinitions'].push(item.toJSON());\n }\n data['utcOffsetInMinutes'] = this.utcOffsetInMinutes;\n data['requestId'] = this.requestId;\n return data;\n }\n}\n\nexport interface ISeriesDataCollectionRequestDto {\n start: moment.Moment;\n end: moment.Moment;\n pointInTimeContext: moment.Moment;\n configuredDataDefinitions: ConfiguredMetricDto[] | undefined;\n utcOffsetInMinutes: number;\n requestId: string | undefined;\n}\n\nexport class DataPointDto implements IDataPointDto {\n timeStamp!: moment.Moment;\n value!: number;\n\n constructor(data?: IDataPointDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.timeStamp = _data['timeStamp'] ? moment(_data['timeStamp'].toString()) : undefined;\n this.value = _data['value'];\n }\n }\n\n static fromJS(data: any): DataPointDto {\n data = typeof data === 'object' ? data : {};\n let result = new DataPointDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['timeStamp'] = this.timeStamp ? this.timeStamp.toISOString() : undefined;\n data['value'] = this.value;\n return data;\n }\n}\n\nexport interface IDataPointDto {\n timeStamp: moment.Moment;\n value: number;\n}\n\nexport interface FileResponse {\n data: Blob;\n status: number;\n fileName?: string;\n headers?: { [name: string]: any };\n}\n\nexport class SwaggerException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isSwaggerException = true;\n\n static isSwaggerException(obj: any): obj is SwaggerException {\n return obj.isSwaggerException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any }, result?: any): any {\n if (result !== null && result !== undefined) throw result;\n else throw new SwaggerException(message, status, response, headers, null);\n}\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n/* tslint:disable */\n// input data definition id implementations (to get around the generated code not being able to construct interfaces)\n\nexport interface IIMetricDto {\n type?: string | undefined;\n}\n\nexport class IMetricDto implements IIMetricDto {\n type?: string | undefined;\n\n constructor(data?: IMetricDto) {\n if (data) {\n for (const property in data) {\n if (Object.prototype.hasOwnProperty.call(data, property)) (this)[property] = (data)[property];\n }\n }\n }\n\n init(): void {\n throw new Error('init called on IMetricDto');\n }\n\n static fromJS(data: any): IMetricDto {\n switch (data['type']) {\n case 'Raw':\n return RawMetricDto.fromJS(data);\n case 'Aggregate':\n return AggregateMetricDto.fromJS(data);\n case 'Calculated':\n return CalculatedMetricDto.fromJS(data);\n default:\n throw new Error(`${data['type']} could not be created.`);\n }\n }\n\n toJSON(): void {\n throw new Error('toJSON called on IMetricDto');\n }\n}\n\nexport class RawMetricDto extends IMetricDto {\n type = 'Raw';\n id!: string;\n\n init(data?: any): void {\n if (data) {\n this.type = data['type'];\n this.id = data['id'];\n }\n }\n\n static fromJS(data: any): RawMetricDto {\n data = typeof data === 'object' ? data : {};\n const result = new RawMetricDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any): any {\n data = typeof data === 'object' ? data : {};\n data['type'] = this.type;\n data['id'] = this.id;\n return data;\n }\n}\n\nexport class AggregateMetricDto extends IMetricDto {\n type = 'Aggregate';\n entityTypeId!: string;\n propertyId!: string;\n facets!: { facetId: string; valueId: string }[];\n\n init(data?: any) {\n if (data) {\n this.type = data['type'];\n this.entityTypeId = data['entityTypeId'];\n this.propertyId = data['propertyId'];\n if (data['facets'] && data['facets'].constructor === Array) {\n this.facets = [];\n for (const item of data['facets']) this.facets.push({ facetId: item['facetId'], valueId: item['valueId'] });\n }\n }\n }\n\n static fromJS(data: any): AggregateMetricDto {\n data = typeof data === 'object' ? data : {};\n const result = new AggregateMetricDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['type'] = this.type;\n data['entityTypeId'] = this.entityTypeId;\n data['propertyId'] = this.propertyId;\n\n if (this.facets && this.facets.constructor === Array) {\n data['facets'] = [];\n for (const item of this.facets) data['facets'].push({ facetId: item.facetId, valueId: item.valueId });\n }\n\n return data;\n }\n}\n\nexport class CalculatedMetricDto extends IMetricDto {\n type = 'Calculated';\n expression!: string;\n\n init(data?: any) {\n if (data) {\n this.type = data['type'];\n this.expression = data['expression'];\n }\n }\n\n static fromJS(data: any): CalculatedMetricDto {\n data = typeof data === 'object' ? data : {};\n const result = new CalculatedMetricDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['type'] = this.type;\n data['expression'] = this.expression;\n return data;\n }\n}\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"sourceRoot":""}