@aurigma/ng-design-atoms-api-client 2.65.1 → 2.67.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/aurigma-ng-design-atoms-api-client.metadata.json +1 -1
- package/bundles/aurigma-ng-design-atoms-api-client.umd.js +2158 -369
- package/bundles/aurigma-ng-design-atoms-api-client.umd.js.map +1 -1
- package/bundles/aurigma-ng-design-atoms-api-client.umd.min.js +1 -1
- package/bundles/aurigma-ng-design-atoms-api-client.umd.min.js.map +1 -1
- package/esm2015/aurigma-ng-design-atoms-api-client.js +1 -1
- package/esm2015/lib/design-atoms-api-client.js +1705 -116
- package/esm2015/lib/design-atoms-api.module.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/fesm2015/aurigma-ng-design-atoms-api-client.js +1705 -116
- package/fesm2015/aurigma-ng-design-atoms-api-client.js.map +1 -1
- package/lib/design-atoms-api-client.d.ts +562 -72
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/client/src/lib/design-atoms-api-client.ts","../../../projects/client/src/lib/design-atoms-api.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","pop","length","push","__values","o","s","m","i","API_BASE_URL","InjectionToken","ApiClientConfiguration","apiUrl","apiKey","authorizationToken","getAuthorizationToken","setAuthorizationToken","token","ApiClientBase","configuration","transformOptions","options","_a","headers","append","getBaseUrl","defultUrl","endsWith","slice","transformResult","url","res","cb","BuildInfoApiClient","http","baseUrl","_this","_super","jsonParseReviver","undefined","headInfo","url_","replace","options_","observe","responseType","HttpHeaders","_observableFrom","pipe","_observableMergeMap","transformedOptions_","request","response_","r","processHeadInfo","_observableCatch","HttpResponseBase","_observableThrow","response","status","responseBlob","HttpResponse","error","Blob","_headers","_b","keys","_c","key","get","blobToText","_responseText","_observableOf","throwException","getInfo","Accept","processGetInfo","result200","JSON","parse","Injectable","args","providedIn","decorators","type","Inject","HttpClient","Optional","DesignAtomsCompatibilityApiClient","cssFonts","tenantId","Error","encodeURIComponent","stringify","Content-Type","processCssFonts","fonts","psName","processFonts","contentDisposition","fileNameMatch","exec","fileName","data","result404","getColorPreview","processGetColorPreview","getColorPreviews","processGetColorPreviews","getCssFont","fontKey","processGetCssFont","getFallbackFonts","processGetFallbackFonts","getImageSize","processGetImageSize","getShapeBounds","processGetShapeBounds","getWatermarkItems","processGetWatermarkItems","img","w","h","cmyk","rgb","grayscale","target","sq","effect","kp","color","obm","oo","alphaMask","page","colorizeColor","rw","rh","processImg","getLicense","processGetLicense","pth","processPth","resource","image","processResource","svg","processSvg","txt","processTxt","updateArchedTextItemHandler","processUpdateArchedTextItemHandler","updateAutoScaledTextItemHandler","processUpdateAutoScaledTextItemHandler","updateBarcodeItemHandler","processUpdateBarcodeItemHandler","updateBoundedTextItemHandler","processUpdateBoundedTextItemHandler","updateByColorData","processUpdateByColorData","updateByMultiCallRequest","processUpdateByMultiCallRequest","updateCurvedTextItemHandler","processUpdateCurvedTextItemHandler","updateImageItemHandler","processUpdateImageItemHandler","updatePathBoundedTextItemHandler","processUpdatePathBoundedTextItemHandler","updatePlainTextItemHandler","processUpdatePlainTextItemHandler","updateShapeItemHandler","processUpdateShapeItemHandler","DesignAtomsImagesApiClient","renderImagePreview","attachment","processRenderImagePreview","renderImagePreviewFromFile","sourceFile","mockupOwnerId","mockupId","width","height","fileFormat","fitMode","content_","FormData","toString","processRenderImagePreviewFromFile","renderImagePreviewFromFileToResource","resourceOwnerId","resourceNamespace","resourceName","resourceSourceId","resourceType","anonymousAccess","overwriteExistingResource","processRenderImagePreviewFromFileToResource","result409","renderImagePreviewFromUrl","processRenderImagePreviewFromUrl","renderImagePreviewFromUrlToResource","processRenderImagePreviewFromUrlToResource","renderImagePreviewToResource","processRenderImagePreviewToResource","DesignAtomsMockups3dApiClient","getAttributes","id","ownerId","processGetAttributes","getContentAsProtobuf","processGetContentAsProtobuf","getGeometryFile","processGetGeometryFile","DesignAtomsPrintProductApiClient","patchDesignProduct","privateStorageOwner","patchType","replaceImageItemFileInfo_itemName","replaceImageItemFileInfo_sourceFile","replacePlaceholderItemContentInfo_placeholderItemName","replacePlaceholderItemContentInfo_newContentType","replacePlaceholderItemContentInfo_sourceFile","processPatchDesignProduct","getDesignProductModel","processGetDesignProductModel","updateDesignProductModel","processUpdateDesignProductModel","getDesignPrintAreas","surfaceId","processGetDesignPrintAreas","deleteDesignPrintArea","printAreaId","processDeleteDesignPrintArea","getDesignPrintAreaModel","processGetDesignPrintAreaModel","updateDesignPrintAreaModel","processUpdateDesignPrintAreaModel","result400","addDesignPrintAreaModel","processAddDesignPrintAreaModel","getDesignSurfaces","processGetDesignSurfaces","deleteDesignSurface","processDeleteDesignSurface","getDesignSurfaceDownMockup","processGetDesignSurfaceDownMockup","updateDesignSurfaceDownMockup","position_top","position_left","processUpdateDesignSurfaceDownMockup","getDesignSurfaceDownMockupContent","processGetDesignSurfaceDownMockupContent","getDesignSurfaceUpMockup","processGetDesignSurfaceUpMockup","updateDesignSurfaceUpMockup","processUpdateDesignSurfaceUpMockup","getDesignSurfaceUpMockupContent","processGetDesignSurfaceUpMockupContent","getDesignSurfaceModel","processGetDesignSurfaceModel","replaceDesignSurfaceModel","processReplaceDesignSurfaceModel","addDesignSurfaceModel","surfaceIndex","processAddDesignSurfaceModel","DesignAtomsPrintProductItemsApiClient","extractItemImage","processExtractItemImage","flattenItems","processFlattenItems","createItemFromFile","itemType","processCreateItemFromFile","batchCreateItemsFromFile","sourceFiles","forEach","item_","processBatchCreateItemsFromFile","createItemFromStorage","processCreateItemFromStorage","batchCreateItemsFromStorage","processBatchCreateItemsFromStorage","createItemFromUrl","processCreateItemFromUrl","batchCreateItemsFromUrl","processBatchCreateItemsFromUrl","DesignAtomsServiceApiClient","createDesign","processCreateDesign","result201","extractBackground","processExtractBackground","setEditorMockups","processSetEditorMockups","getDesignParameters","processGetDesignParameters","loadDataSchema","processLoadDataSchema","loadToggleSet","processLoadToggleSet","getVariables","processGetVariables","setVariables","processSetVariables","loadVdpData","processLoadVdpData","saveVdpData","processSaveVdpData","deleteVdpData","processDeleteVdpData","convertColors","processConvertColors","loadProductFromResource","processLoadProductFromResource","renderProduct","processRenderProduct","renderDesignPreview","processRenderDesignPreview","renderDesignPreviewToResource","processRenderDesignPreviewToResource","renderDesignProof","processRenderDesignProof","renderDesignProofToResource","processRenderDesignProofToResource","loadProduct","processLoadProduct","saveProduct","processSaveProduct","patchProduct","processPatchProduct","createItem","sourceType","sourceId","sourceOwnerId","processCreateItem","createPrivateDesignFromDesign","designId","privateDesignId","processCreatePrivateDesignFromDesign","createPrivateDesignFromResource","resourceId","processCreatePrivateDesignFromResource","DesignElementType","ImagePreviewFitMode","ImagePreviewFormat","ItemSourceType","ItemType","ProductPatchType","ProductPreviewFormat","ProductProofFormat","ProductProofInterpolationMode","DesignAtomsViewerApiClient","PlaceholderItemContentType","ApiException","message","isApiException","obj","blob","Observable","observer","reader","FileReader","onload","event","complete","readAsText","CreateApiClientConfiguration","apiConf","DesignAtomsApiClient.ApiClientConfiguration","DesignAtomsApiModule","forRoot","ngModule","providers","provide","DesignAtomsApiClient.API_BASE_URL","useValue","useFactory","bind","NgModule","declarations","imports","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated using the NSwag toolchain v13.15.5.0 (NJsonSchema v10.6.6.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, from as _observableFrom, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nexport const API_BASE_URL = new InjectionToken<string>('API_BASE_URL');\n\nexport class ApiClientConfiguration {\n apiUrl: string = 'http://localhost:54220';\n apiKey: string = 'ApiKey';\n private authorizationToken: string = null;\n async getAuthorizationToken(): Promise<string> { return this.authorizationToken; };\n setAuthorizationToken(token: string): void { this.authorizationToken = token; };\n}\n\nexport class ApiClientBase {\n constructor(private configuration: ApiClientConfiguration) { }\n\n protected async transformOptions(options: any): Promise<any> {\n const token = await this.configuration.getAuthorizationToken();\n if (token != null) {\n options.headers = (options.headers as HttpHeaders).append(\"authorization\", \"Bearer \" + token);\n } else {\n options.headers = (options.headers as HttpHeaders).append(\"X-API-Key\", this.configuration.apiKey);\n }\n //options = { ...options, transformResponse: (res) => res, responseType: 'json' };\n return options;\n }\n\n protected getBaseUrl(defultUrl: string) {\n if (this.configuration.apiUrl.endsWith('/')) {\n return this.configuration.apiUrl.slice(0, -1);\n }\n return this.configuration.apiUrl;\n }\n\n protected transformResult(url: string, res: HttpResponseBase, cb: (res: HttpResponseBase) => Observable<any>): Observable<any> {\n return cb(res);\n }\n}\n\nexport interface IBuildInfoApiClient {\n /**\n * Get assembly build info.\n * @return Success\n */\n headInfo(): Observable<void>;\n /**\n * Get assembly build info.\n * @return Success\n */\n getInfo(): Observable<BuildInfoModel>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BuildInfoApiClient extends ApiClientBase implements IBuildInfoApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Get assembly build info.\n * @return Success\n */\n headInfo(): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/info\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"head\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processHeadInfo(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processHeadInfo(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processHeadInfo(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Get assembly build info.\n * @return Success\n */\n getInfo(): Observable<BuildInfoModel> {\n let url_ = this.baseUrl + \"/api/atoms/v1/info\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetInfo(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetInfo(<any>r));\n } catch (e) {\n return <Observable<BuildInfoModel>><any>_observableThrow(e);\n }\n } else\n return <Observable<BuildInfoModel>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetInfo(response: HttpResponseBase): Observable<BuildInfoModel> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <BuildInfoModel>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<BuildInfoModel>(<any>null);\n }\n}\n\nexport interface IDesignAtomsCompatibilityApiClient {\n /**\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId: number, body?: FontsMethodData | undefined): Observable<string>;\n /**\n * @return Success\n */\n fonts(tenantId: number, psName: string): Observable<FileResponse>;\n /**\n * @param body (optional) \n * @return Success\n */\n getColorPreview(tenantId: number, body?: GetColorPreviewRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n getColorPreviews(tenantId: number, body?: GetColorPreviewsRequest | undefined): Observable<any>;\n /**\n * @param fontKey (optional) \n * @return Success\n */\n getCssFont(tenantId: number, fontKey?: string | null | undefined): Observable<FileResponse>;\n /**\n * @return Success\n */\n getFallbackFonts(tenantId: number): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId: number, body?: GetImageSizeRequest | undefined): Observable<NullAbleSize>;\n /**\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId: number, body?: GetShapeBoundsRequest | undefined): Observable<RectangleF>;\n /**\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId: number, body?: any | undefined): Observable<any>;\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @return Success\n */\n img(tenantId: number, f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined): Observable<FileResponse>;\n /**\n * @return Success\n */\n getLicense(tenantId: number): Observable<any>;\n /**\n * @param f (optional) \n * @return Success\n */\n pth(tenantId: number, f?: string | null | undefined): Observable<FileResponse>;\n /**\n * @param image (optional) \n * @return Success\n */\n resource(tenantId: number, image?: string | null | undefined): Observable<FileResponse>;\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @return Success\n */\n svg(tenantId: number, f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined): Observable<FileResponse>;\n /**\n * @param f (optional) \n * @return Success\n */\n txt(tenantId: number, f?: string | null | undefined): Observable<FileResponse>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateAutoScaledTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId: number, body?: UpdateColorsRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId: number, body?: MultiCallRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId: number, body?: UpdateImageHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsCompatibilityApiClient extends ApiClientBase implements IDesignAtomsCompatibilityApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId: number, body?: FontsMethodData | undefined): Observable<string> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/cssfonts\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"text/css\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCssFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCssFonts(<any>r));\n } catch (e) {\n return <Observable<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processCssFonts(response: HttpResponseBase): Observable<string> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <string>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<string>(<any>null);\n }\n\n /**\n * @return Success\n */\n fonts(tenantId: number, psName: string): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/fonts/{psName}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (psName === undefined || psName === null)\n throw new Error(\"The parameter 'psName' must be defined.\");\n url_ = url_.replace(\"{psName}\", encodeURIComponent(\"\" + psName));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processFonts(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processFonts(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getColorPreview(tenantId: number, body?: GetColorPreviewRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetColorPreview\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreview(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreview(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetColorPreview(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getColorPreviews(tenantId: number, body?: GetColorPreviewsRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetColorPreviews\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreviews(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreviews(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetColorPreviews(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param fontKey (optional) \n * @return Success\n */\n getCssFont(tenantId: number, fontKey?: string | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetCssFont?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (fontKey !== undefined && fontKey !== null)\n url_ += \"fontKey=\" + encodeURIComponent(\"\" + fontKey) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetCssFont(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetCssFont(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetCssFont(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @return Success\n */\n getFallbackFonts(tenantId: number): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetFallbackFonts\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetFallbackFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetFallbackFonts(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetFallbackFonts(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId: number, body?: GetImageSizeRequest | undefined): Observable<NullAbleSize> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetImageSize\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetImageSize(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetImageSize(<any>r));\n } catch (e) {\n return <Observable<NullAbleSize>><any>_observableThrow(e);\n }\n } else\n return <Observable<NullAbleSize>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetImageSize(response: HttpResponseBase): Observable<NullAbleSize> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <NullAbleSize>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<NullAbleSize>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId: number, body?: GetShapeBoundsRequest | undefined): Observable<RectangleF> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetShapeBounds\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetShapeBounds(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetShapeBounds(<any>r));\n } catch (e) {\n return <Observable<RectangleF>><any>_observableThrow(e);\n }\n } else\n return <Observable<RectangleF>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetShapeBounds(response: HttpResponseBase): Observable<RectangleF> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <RectangleF>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<RectangleF>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId: number, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetWatermarkItems\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetWatermarkItems(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetWatermarkItems(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetWatermarkItems(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @return Success\n */\n img(tenantId: number, f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/img?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (w !== undefined && w !== null)\n url_ += \"w=\" + encodeURIComponent(\"\" + w) + \"&\";\n if (h !== undefined && h !== null)\n url_ += \"h=\" + encodeURIComponent(\"\" + h) + \"&\";\n if (cmyk !== undefined && cmyk !== null)\n url_ += \"cmyk=\" + encodeURIComponent(\"\" + cmyk) + \"&\";\n if (rgb !== undefined && rgb !== null)\n url_ += \"rgb=\" + encodeURIComponent(\"\" + rgb) + \"&\";\n if (grayscale !== undefined && grayscale !== null)\n url_ += \"grayscale=\" + encodeURIComponent(\"\" + grayscale) + \"&\";\n if (target !== undefined && target !== null)\n url_ += \"target=\" + encodeURIComponent(\"\" + target) + \"&\";\n if (sq !== undefined && sq !== null)\n url_ += \"sq=\" + encodeURIComponent(\"\" + sq) + \"&\";\n if (effect !== undefined && effect !== null)\n url_ += \"effect=\" + encodeURIComponent(\"\" + effect) + \"&\";\n if (kp !== undefined && kp !== null)\n url_ += \"kp=\" + encodeURIComponent(\"\" + kp) + \"&\";\n if (color !== undefined && color !== null)\n url_ += \"color=\" + encodeURIComponent(\"\" + color) + \"&\";\n if (obm !== undefined && obm !== null)\n url_ += \"obm=\" + encodeURIComponent(\"\" + obm) + \"&\";\n if (oo !== undefined && oo !== null)\n url_ += \"oo=\" + encodeURIComponent(\"\" + oo) + \"&\";\n if (alphaMask !== undefined && alphaMask !== null)\n url_ += \"alphaMask=\" + encodeURIComponent(\"\" + alphaMask) + \"&\";\n if (page !== undefined && page !== null)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (colorizeColor !== undefined && colorizeColor !== null)\n url_ += \"colorizeColor=\" + encodeURIComponent(\"\" + colorizeColor) + \"&\";\n if (rw !== undefined && rw !== null)\n url_ += \"rw=\" + encodeURIComponent(\"\" + rw) + \"&\";\n if (rh !== undefined && rh !== null)\n url_ += \"rh=\" + encodeURIComponent(\"\" + rh) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processImg(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processImg(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processImg(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @return Success\n */\n getLicense(tenantId: number): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/license\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetLicense(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetLicense(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetLicense(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @return Success\n */\n pth(tenantId: number, f?: string | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/pth?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processPth(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processPth(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processPth(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param image (optional) \n * @return Success\n */\n resource(tenantId: number, image?: string | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/resource?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (image !== undefined && image !== null)\n url_ += \"image=\" + encodeURIComponent(\"\" + image) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processResource(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processResource(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @return Success\n */\n svg(tenantId: number, f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/svg?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (w !== undefined && w !== null)\n url_ += \"w=\" + encodeURIComponent(\"\" + w) + \"&\";\n if (h !== undefined && h !== null)\n url_ += \"h=\" + encodeURIComponent(\"\" + h) + \"&\";\n if (cmyk !== undefined && cmyk !== null)\n url_ += \"cmyk=\" + encodeURIComponent(\"\" + cmyk) + \"&\";\n if (rgb !== undefined && rgb !== null)\n url_ += \"rgb=\" + encodeURIComponent(\"\" + rgb) + \"&\";\n if (grayscale !== undefined && grayscale !== null)\n url_ += \"grayscale=\" + encodeURIComponent(\"\" + grayscale) + \"&\";\n if (target !== undefined && target !== null)\n url_ += \"target=\" + encodeURIComponent(\"\" + target) + \"&\";\n if (sq !== undefined && sq !== null)\n url_ += \"sq=\" + encodeURIComponent(\"\" + sq) + \"&\";\n if (effect !== undefined && effect !== null)\n url_ += \"effect=\" + encodeURIComponent(\"\" + effect) + \"&\";\n if (kp !== undefined && kp !== null)\n url_ += \"kp=\" + encodeURIComponent(\"\" + kp) + \"&\";\n if (color !== undefined && color !== null)\n url_ += \"color=\" + encodeURIComponent(\"\" + color) + \"&\";\n if (obm !== undefined && obm !== null)\n url_ += \"obm=\" + encodeURIComponent(\"\" + obm) + \"&\";\n if (oo !== undefined && oo !== null)\n url_ += \"oo=\" + encodeURIComponent(\"\" + oo) + \"&\";\n if (alphaMask !== undefined && alphaMask !== null)\n url_ += \"alphaMask=\" + encodeURIComponent(\"\" + alphaMask) + \"&\";\n if (page !== undefined && page !== null)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (colorizeColor !== undefined && colorizeColor !== null)\n url_ += \"colorizeColor=\" + encodeURIComponent(\"\" + colorizeColor) + \"&\";\n if (rw !== undefined && rw !== null)\n url_ += \"rw=\" + encodeURIComponent(\"\" + rw) + \"&\";\n if (rh !== undefined && rh !== null)\n url_ += \"rh=\" + encodeURIComponent(\"\" + rh) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSvg(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSvg(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processSvg(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @return Success\n */\n txt(tenantId: number, f?: string | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/txt?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processTxt(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processTxt(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processTxt(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateArchedTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateArchedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateArchedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateArchedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateAutoScaledTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateAutoScaledTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateAutoScaledTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateAutoScaledTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateAutoScaledTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateBarcodeItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateBarcodeItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateBarcodeItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateBarcodeItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateBoundedTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateBoundedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateBoundedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateBoundedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId: number, body?: UpdateColorsRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateByColorData\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateByColorData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateByColorData(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByColorData(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId: number, body?: MultiCallRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateByMultiCallRequest\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateByMultiCallRequest(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateByMultiCallRequest(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByMultiCallRequest(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateCurvedTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateCurvedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateCurvedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateCurvedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId: number, body?: UpdateImageHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateImageItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateImageItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateImageItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateImageItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdatePathBoundedTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdatePathBoundedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdatePathBoundedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdatePathBoundedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdatePlainTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdatePlainTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdatePlainTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdatePlainTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateShapeItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateShapeItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateShapeItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateShapeItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n}\n\nexport interface IDesignAtomsImagesApiClient {\n /**\n * Renders a preview of an image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreview(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderImagePreviewModel | undefined): Observable<FileResponse>;\n /**\n * Renders a preview of an uploaded image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param sourceFile (optional) \n * @param mockupOwnerId (optional) \n * @param mockupId (optional) \n * @param width (optional) \n * @param height (optional) \n * @param fileFormat (optional) \n * @param fitMode (optional) \n * @return Success\n */\n renderImagePreviewFromFile(attachment?: boolean | null | undefined, tenantId?: number | undefined, sourceFile?: FileParameter | null | undefined, mockupOwnerId?: string | null | undefined, mockupId?: string | null | undefined, width?: number | null | undefined, height?: number | null | undefined, fileFormat?: ImagePreviewFormat | null | undefined, fitMode?: ImagePreviewFitMode | null | undefined): Observable<FileResponse>;\n /**\n * Renders a preview of an uploaded image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param resourceOwnerId (optional) \n * @param resourceNamespace (optional) \n * @param resourceName (optional) \n * @param resourceSourceId (optional) \n * @param resourceType (optional) \n * @param anonymousAccess (optional) \n * @param overwriteExistingResource (optional) \n * @param sourceFile (optional) \n * @param mockupOwnerId (optional) \n * @param mockupId (optional) \n * @param width (optional) \n * @param height (optional) \n * @param fileFormat (optional) \n * @param fitMode (optional) \n * @return Success\n */\n renderImagePreviewFromFileToResource(tenantId?: number | undefined, resourceOwnerId?: string | null | undefined, resourceNamespace?: string | null | undefined, resourceName?: string | null | undefined, resourceSourceId?: string | null | undefined, resourceType?: string | null | undefined, anonymousAccess?: boolean | undefined, overwriteExistingResource?: boolean | undefined, sourceFile?: FileParameter | null | undefined, mockupOwnerId?: string | null | undefined, mockupId?: string | null | undefined, width?: number | null | undefined, height?: number | null | undefined, fileFormat?: ImagePreviewFormat | null | undefined, fitMode?: ImagePreviewFitMode | null | undefined): Observable<ResourceInfoDto>;\n /**\n * Renders a preview of a web image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewFromUrl(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderImagePreviewFromUrlModel | undefined): Observable<FileResponse>;\n /**\n * Renders a preview of a web image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewFromUrlToResource(tenantId?: number | undefined, body?: RenderImagePreviewFromUrlToResourceModel | undefined): Observable<ResourceInfoDto>;\n /**\n * Renders a preview of an image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewToResource(tenantId?: number | undefined, body?: RenderImagePreviewToResourceModel | undefined): Observable<ResourceInfoDto>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsImagesApiClient extends ApiClientBase implements IDesignAtomsImagesApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Renders a preview of an image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreview(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderImagePreviewModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreview(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreview(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreview(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a preview of an uploaded image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param sourceFile (optional) \n * @param mockupOwnerId (optional) \n * @param mockupId (optional) \n * @param width (optional) \n * @param height (optional) \n * @param fileFormat (optional) \n * @param fitMode (optional) \n * @return Success\n */\n renderImagePreviewFromFile(attachment?: boolean | null | undefined, tenantId?: number | undefined, sourceFile?: FileParameter | null | undefined, mockupOwnerId?: string | null | undefined, mockupId?: string | null | undefined, width?: number | null | undefined, height?: number | null | undefined, fileFormat?: ImagePreviewFormat | null | undefined, fitMode?: ImagePreviewFitMode | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/from-file?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n if (mockupOwnerId !== null && mockupOwnerId !== undefined)\n content_.append(\"mockupOwnerId\", mockupOwnerId.toString());\n if (mockupId !== null && mockupId !== undefined)\n content_.append(\"mockupId\", mockupId.toString());\n if (width !== null && width !== undefined)\n content_.append(\"width\", width.toString());\n if (height !== null && height !== undefined)\n content_.append(\"height\", height.toString());\n if (fileFormat !== null && fileFormat !== undefined)\n content_.append(\"fileFormat\", fileFormat.toString());\n if (fitMode !== null && fitMode !== undefined)\n content_.append(\"fitMode\", fitMode.toString());\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromFile(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromFile(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewFromFile(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a preview of an uploaded image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param resourceOwnerId (optional) \n * @param resourceNamespace (optional) \n * @param resourceName (optional) \n * @param resourceSourceId (optional) \n * @param resourceType (optional) \n * @param anonymousAccess (optional) \n * @param overwriteExistingResource (optional) \n * @param sourceFile (optional) \n * @param mockupOwnerId (optional) \n * @param mockupId (optional) \n * @param width (optional) \n * @param height (optional) \n * @param fileFormat (optional) \n * @param fitMode (optional) \n * @return Success\n */\n renderImagePreviewFromFileToResource(tenantId?: number | undefined, resourceOwnerId?: string | null | undefined, resourceNamespace?: string | null | undefined, resourceName?: string | null | undefined, resourceSourceId?: string | null | undefined, resourceType?: string | null | undefined, anonymousAccess?: boolean | undefined, overwriteExistingResource?: boolean | undefined, sourceFile?: FileParameter | null | undefined, mockupOwnerId?: string | null | undefined, mockupId?: string | null | undefined, width?: number | null | undefined, height?: number | null | undefined, fileFormat?: ImagePreviewFormat | null | undefined, fitMode?: ImagePreviewFitMode | null | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/from-file/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (resourceOwnerId !== null && resourceOwnerId !== undefined)\n content_.append(\"resourceOwnerId\", resourceOwnerId.toString());\n if (resourceNamespace !== null && resourceNamespace !== undefined)\n content_.append(\"resourceNamespace\", resourceNamespace.toString());\n if (resourceName !== null && resourceName !== undefined)\n content_.append(\"resourceName\", resourceName.toString());\n if (resourceSourceId !== null && resourceSourceId !== undefined)\n content_.append(\"resourceSourceId\", resourceSourceId.toString());\n if (resourceType !== null && resourceType !== undefined)\n content_.append(\"resourceType\", resourceType.toString());\n if (anonymousAccess === null || anonymousAccess === undefined)\n throw new Error(\"The parameter 'anonymousAccess' cannot be null.\");\n else\n content_.append(\"anonymousAccess\", anonymousAccess.toString());\n if (overwriteExistingResource === null || overwriteExistingResource === undefined)\n throw new Error(\"The parameter 'overwriteExistingResource' cannot be null.\");\n else\n content_.append(\"overwriteExistingResource\", overwriteExistingResource.toString());\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n if (mockupOwnerId !== null && mockupOwnerId !== undefined)\n content_.append(\"mockupOwnerId\", mockupOwnerId.toString());\n if (mockupId !== null && mockupId !== undefined)\n content_.append(\"mockupId\", mockupId.toString());\n if (width !== null && width !== undefined)\n content_.append(\"width\", width.toString());\n if (height !== null && height !== undefined)\n content_.append(\"height\", height.toString());\n if (fileFormat !== null && fileFormat !== undefined)\n content_.append(\"fileFormat\", fileFormat.toString());\n if (fitMode !== null && fitMode !== undefined)\n content_.append(\"fitMode\", fitMode.toString());\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromFileToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromFileToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewFromFileToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n\n /**\n * Renders a preview of a web image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewFromUrl(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderImagePreviewFromUrlModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/from-url?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromUrl(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromUrl(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewFromUrl(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a preview of a web image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewFromUrlToResource(tenantId?: number | undefined, body?: RenderImagePreviewFromUrlToResourceModel | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/from-url/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromUrlToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromUrlToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewFromUrlToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n\n /**\n * Renders a preview of an image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewToResource(tenantId?: number | undefined, body?: RenderImagePreviewToResourceModel | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n}\n\nexport interface IDesignAtomsMockups3dApiClient {\n /**\n * Returns a 3D-Mockup attributes.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getAttributes(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<Mockup3dAttributesDto>;\n /**\n * Returns a 3D-Mockup content as protobuf binary stream.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getContentAsProtobuf(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Returns a 3D-Mockup geometry as binary stream.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getGeometryFile(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsMockups3dApiClient extends ApiClientBase implements IDesignAtomsMockups3dApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Returns a 3D-Mockup attributes.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getAttributes(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<Mockup3dAttributesDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/mockups-3d/{id}/attributes?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (ownerId !== undefined && ownerId !== null)\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetAttributes(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetAttributes(<any>r));\n } catch (e) {\n return <Observable<Mockup3dAttributesDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<Mockup3dAttributesDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetAttributes(response: HttpResponseBase): Observable<Mockup3dAttributesDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <Mockup3dAttributesDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<Mockup3dAttributesDto>(<any>null);\n }\n\n /**\n * Returns a 3D-Mockup content as protobuf binary stream.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getContentAsProtobuf(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/mockups-3d/{id}/content/as-protobuf?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (ownerId !== undefined && ownerId !== null)\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetContentAsProtobuf(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetContentAsProtobuf(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetContentAsProtobuf(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Returns a 3D-Mockup geometry as binary stream.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getGeometryFile(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/mockups-3d/{id}/geometry/file?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (ownerId !== undefined && ownerId !== null)\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetGeometryFile(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetGeometryFile(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetGeometryFile(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n}\n\nexport interface IDesignAtomsPrintProductApiClient {\n /**\n * Patches a print-product of the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param patchType (optional) \n * @param replaceImageItemFileInfo_itemName (optional) \n * @param replaceImageItemFileInfo_sourceFile (optional) \n * @param replacePlaceholderItemContentInfo_placeholderItemName (optional) \n * @param replacePlaceholderItemContentInfo_newContentType (optional) \n * @param replacePlaceholderItemContentInfo_sourceFile (optional) \n * @return No Content\n */\n patchDesignProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, patchType?: ProductPatchType | undefined, replaceImageItemFileInfo_itemName?: string | null | undefined, replaceImageItemFileInfo_sourceFile?: FileParameter | null | undefined, replacePlaceholderItemContentInfo_placeholderItemName?: string | null | undefined, replacePlaceholderItemContentInfo_newContentType?: PlaceholderItemContentType | undefined, replacePlaceholderItemContentInfo_sourceFile?: FileParameter | null | undefined): Observable<void>;\n /**\n * Returns a print-product of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignProductModel(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Saves a print-product provided as a json-serialized model to the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized print-product description.\n * @return No Content\n */\n updateDesignProductModel(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<void>;\n /**\n * Returns a list of print-area descriptions of the specified design file.\n * @param id Design identifier.\n * @param surfaceId (optional) \n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignPrintAreas(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignPrintAreaDto[]>;\n /**\n * Deletes a specified print-area in an existing design file.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignPrintArea(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Returns a print-area of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignPrintAreaModel(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Updates a specified print-area in an existing design file with the data provided as a json-serialized print-area model.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Updated print-area model.\n * @return Success\n */\n updateDesignPrintAreaModel(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Inserts a new print-area provided as a json-serialized model at the specified position in an existing design file.\n Print-area identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId (optional) Parent surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) New print-area model.\n * @return Success\n */\n addDesignPrintAreaModel(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Returns a list of print-product surfaces descriptions of the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaces(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceDto[]>;\n /**\n * Deletes a specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignSurface(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Returns a down-mockup description of the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceDownMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceMockupDto>;\n /**\n * Updates a content file of down-mockup for the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param position_top (optional) \n * @param position_left (optional) \n * @param sourceFile (optional) \n * @return Success\n */\n updateDesignSurfaceDownMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, position_top?: number | undefined, position_left?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any>;\n /**\n * Returns a content file for down-mockup of the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceDownMockupContent(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Returns an up-mockup description of the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceUpMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceMockupDto>;\n /**\n * Updates a content file of up-mockup for the specified surface in an existing design.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param position_top (optional) \n * @param position_left (optional) \n * @param sourceFile (optional) \n * @return Success\n */\n updateDesignSurfaceUpMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, position_top?: number | undefined, position_left?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any>;\n /**\n * Returns a content file for up-mockup of the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceUpMockupContent(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Returns a print-product surface of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param surfaceId Surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceModel(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Replaces a specified print-product surface in an existing design file with the data provided as a json-serialized surface model.\n All identifiers of a replaced surface (including surface identifier) will be reset by auto-generated values to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Updated surface model.\n * @return Success\n */\n replaceDesignSurfaceModel(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Inserts a new surface provided as a json-serialized model at the specified position in an existing design file.\n All identifiers of a replaced surface (including surface identifier) will be reset by auto-generated values to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceIndex (optional) New surface index.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) New surface model.\n * @return Success\n */\n addDesignSurfaceModel(id: string, surfaceIndex?: number | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsPrintProductApiClient extends ApiClientBase implements IDesignAtomsPrintProductApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Patches a print-product of the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param patchType (optional) \n * @param replaceImageItemFileInfo_itemName (optional) \n * @param replaceImageItemFileInfo_sourceFile (optional) \n * @param replacePlaceholderItemContentInfo_placeholderItemName (optional) \n * @param replacePlaceholderItemContentInfo_newContentType (optional) \n * @param replacePlaceholderItemContentInfo_sourceFile (optional) \n * @return No Content\n */\n patchDesignProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, patchType?: ProductPatchType | undefined, replaceImageItemFileInfo_itemName?: string | null | undefined, replaceImageItemFileInfo_sourceFile?: FileParameter | null | undefined, replacePlaceholderItemContentInfo_placeholderItemName?: string | null | undefined, replacePlaceholderItemContentInfo_newContentType?: PlaceholderItemContentType | undefined, replacePlaceholderItemContentInfo_sourceFile?: FileParameter | null | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (patchType === null || patchType === undefined)\n throw new Error(\"The parameter 'patchType' cannot be null.\");\n else\n content_.append(\"patchType\", patchType.toString());\n if (replaceImageItemFileInfo_itemName !== null && replaceImageItemFileInfo_itemName !== undefined)\n content_.append(\"replaceImageItemFileInfo.itemName\", replaceImageItemFileInfo_itemName.toString());\n if (replaceImageItemFileInfo_sourceFile !== null && replaceImageItemFileInfo_sourceFile !== undefined)\n content_.append(\"replaceImageItemFileInfo.sourceFile\", replaceImageItemFileInfo_sourceFile.data, replaceImageItemFileInfo_sourceFile.fileName ? replaceImageItemFileInfo_sourceFile.fileName : \"replaceImageItemFileInfo.sourceFile\");\n if (replacePlaceholderItemContentInfo_placeholderItemName !== null && replacePlaceholderItemContentInfo_placeholderItemName !== undefined)\n content_.append(\"replacePlaceholderItemContentInfo.placeholderItemName\", replacePlaceholderItemContentInfo_placeholderItemName.toString());\n if (replacePlaceholderItemContentInfo_newContentType === null || replacePlaceholderItemContentInfo_newContentType === undefined)\n throw new Error(\"The parameter 'replacePlaceholderItemContentInfo_newContentType' cannot be null.\");\n else\n content_.append(\"replacePlaceholderItemContentInfo.newContentType\", replacePlaceholderItemContentInfo_newContentType.toString());\n if (replacePlaceholderItemContentInfo_sourceFile !== null && replacePlaceholderItemContentInfo_sourceFile !== undefined)\n content_.append(\"replacePlaceholderItemContentInfo.sourceFile\", replacePlaceholderItemContentInfo_sourceFile.data, replacePlaceholderItemContentInfo_sourceFile.fileName ? replacePlaceholderItemContentInfo_sourceFile.fileName : \"replacePlaceholderItemContentInfo.sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"patch\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processPatchDesignProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processPatchDesignProduct(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processPatchDesignProduct(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a print-product of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignProductModel(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignProductModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignProductModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignProductModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Saves a print-product provided as a json-serialized model to the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized print-product description.\n * @return No Content\n */\n updateDesignProductModel(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignProductModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignProductModel(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignProductModel(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a list of print-area descriptions of the specified design file.\n * @param id Design identifier.\n * @param surfaceId (optional) \n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignPrintAreas(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignPrintAreaDto[]> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId !== undefined && surfaceId !== null)\n url_ += \"surfaceId=\" + encodeURIComponent(\"\" + surfaceId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignPrintAreas(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignPrintAreas(<any>r));\n } catch (e) {\n return <Observable<DesignPrintAreaDto[]>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignPrintAreaDto[]>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignPrintAreas(response: HttpResponseBase): Observable<DesignPrintAreaDto[]> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignPrintAreaDto[]>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignPrintAreaDto[]>(<any>null);\n }\n\n /**\n * Deletes a specified print-area in an existing design file.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignPrintArea(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas/{printAreaId}?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (printAreaId === undefined || printAreaId === null)\n throw new Error(\"The parameter 'printAreaId' must be defined.\");\n url_ = url_.replace(\"{printAreaId}\", encodeURIComponent(\"\" + printAreaId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"delete\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignPrintArea(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignPrintArea(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processDeleteDesignPrintArea(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a print-area of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignPrintAreaModel(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas/{printAreaId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (printAreaId === undefined || printAreaId === null)\n throw new Error(\"The parameter 'printAreaId' must be defined.\");\n url_ = url_.replace(\"{printAreaId}\", encodeURIComponent(\"\" + printAreaId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignPrintAreaModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignPrintAreaModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignPrintAreaModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Updates a specified print-area in an existing design file with the data provided as a json-serialized print-area model.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Updated print-area model.\n * @return Success\n */\n updateDesignPrintAreaModel(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas/{printAreaId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (printAreaId === undefined || printAreaId === null)\n throw new Error(\"The parameter 'printAreaId' must be defined.\");\n url_ = url_.replace(\"{printAreaId}\", encodeURIComponent(\"\" + printAreaId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignPrintAreaModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignPrintAreaModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignPrintAreaModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Inserts a new print-area provided as a json-serialized model at the specified position in an existing design file.\n Print-area identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId (optional) Parent surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) New print-area model.\n * @return Success\n */\n addDesignPrintAreaModel(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId !== undefined && surfaceId !== null)\n url_ += \"surfaceId=\" + encodeURIComponent(\"\" + surfaceId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processAddDesignPrintAreaModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processAddDesignPrintAreaModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processAddDesignPrintAreaModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Returns a list of print-product surfaces descriptions of the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaces(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceDto[]> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaces(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaces(<any>r));\n } catch (e) {\n return <Observable<DesignSurfaceDto[]>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignSurfaceDto[]>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaces(response: HttpResponseBase): Observable<DesignSurfaceDto[]> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignSurfaceDto[]>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignSurfaceDto[]>(<any>null);\n }\n\n /**\n * Deletes a specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignSurface(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"delete\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignSurface(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignSurface(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processDeleteDesignSurface(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a down-mockup description of the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceDownMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceMockupDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-down?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceDownMockup(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceDownMockup(<any>r));\n } catch (e) {\n return <Observable<DesignSurfaceMockupDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignSurfaceMockupDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceDownMockup(response: HttpResponseBase): Observable<DesignSurfaceMockupDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignSurfaceMockupDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignSurfaceMockupDto>(<any>null);\n }\n\n /**\n * Updates a content file of down-mockup for the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param position_top (optional) \n * @param position_left (optional) \n * @param sourceFile (optional) \n * @return Success\n */\n updateDesignSurfaceDownMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, position_top?: number | undefined, position_left?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-down?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (position_top === null || position_top === undefined)\n throw new Error(\"The parameter 'position_top' cannot be null.\");\n else\n content_.append(\"position.top\", position_top.toString());\n if (position_left === null || position_left === undefined)\n throw new Error(\"The parameter 'position_left' cannot be null.\");\n else\n content_.append(\"position.left\", position_left.toString());\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"patch\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceDownMockup(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceDownMockup(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignSurfaceDownMockup(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Returns a content file for down-mockup of the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceDownMockupContent(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-down/file?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceDownMockupContent(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceDownMockupContent(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceDownMockupContent(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Returns an up-mockup description of the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceUpMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceMockupDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-up?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceUpMockup(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceUpMockup(<any>r));\n } catch (e) {\n return <Observable<DesignSurfaceMockupDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignSurfaceMockupDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceUpMockup(response: HttpResponseBase): Observable<DesignSurfaceMockupDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignSurfaceMockupDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignSurfaceMockupDto>(<any>null);\n }\n\n /**\n * Updates a content file of up-mockup for the specified surface in an existing design.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param position_top (optional) \n * @param position_left (optional) \n * @param sourceFile (optional) \n * @return Success\n */\n updateDesignSurfaceUpMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, position_top?: number | undefined, position_left?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-up?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (position_top === null || position_top === undefined)\n throw new Error(\"The parameter 'position_top' cannot be null.\");\n else\n content_.append(\"position.top\", position_top.toString());\n if (position_left === null || position_left === undefined)\n throw new Error(\"The parameter 'position_left' cannot be null.\");\n else\n content_.append(\"position.left\", position_left.toString());\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"patch\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceUpMockup(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceUpMockup(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignSurfaceUpMockup(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Returns a content file for up-mockup of the specified surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceUpMockupContent(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-up/file?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceUpMockupContent(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceUpMockupContent(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceUpMockupContent(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"No Content\", status, _responseText, _headers);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Returns a print-product surface of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param surfaceId Surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceModel(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Replaces a specified print-product surface in an existing design file with the data provided as a json-serialized surface model.\n All identifiers of a replaced surface (including surface identifier) will be reset by auto-generated values to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId Design surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Updated surface model.\n * @return Success\n */\n replaceDesignSurfaceModel(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processReplaceDesignSurfaceModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processReplaceDesignSurfaceModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processReplaceDesignSurfaceModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Inserts a new surface provided as a json-serialized model at the specified position in an existing design file.\n All identifiers of a replaced surface (including surface identifier) will be reset by auto-generated values to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceIndex (optional) New surface index.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) New surface model.\n * @return Success\n */\n addDesignSurfaceModel(id: string, surfaceIndex?: number | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceIndex === null)\n throw new Error(\"The parameter 'surfaceIndex' cannot be null.\");\n else if (surfaceIndex !== undefined)\n url_ += \"surfaceIndex=\" + encodeURIComponent(\"\" + surfaceIndex) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processAddDesignSurfaceModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processAddDesignSurfaceModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processAddDesignSurfaceModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n}\n\nexport interface IDesignAtomsPrintProductItemsApiClient {\n /**\n * Extracts print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Extraction parameters.\n * @return Success\n */\n extractItemImage(tenantId?: number | undefined, body?: ExtractItemImageModel | undefined): Observable<FileResponse>;\n /**\n * Flattens print-product items.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) List of print-product items to flatten.\n * @return Success\n */\n flattenItems(tenantId?: number | undefined, body?: any[] | undefined): Observable<any>;\n /**\n * Creates print-product item from input image file.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceFile (optional) \n * @return Success\n */\n createItemFromFile(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any>;\n /**\n * Creates multiple print-product items from input image files.\n * @param itemType (optional) Desired print-product items type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceFiles (optional) \n * @return Success\n */\n batchCreateItemsFromFile(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceFiles?: FileParameter[] | null | undefined): Observable<any>;\n /**\n * Creates print-product item from image file taken from storage.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n createItemFromStorage(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: CreateItemFromStorageModel | undefined): Observable<any>;\n /**\n * Creates multiple print-product items from the specified image files in storage.\n * @param itemType (optional) Desired items type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n batchCreateItemsFromStorage(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: BatchCreateItemsFromStorageModel | undefined): Observable<any>;\n /**\n * Creates print-product item from remote web image provided by URL.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n createItemFromUrl(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: CreateItemFromUrlModel | undefined): Observable<any>;\n /**\n * Creates multiple print-product items from remote web images provided by URLs list.\n * @param itemType (optional) Desired items type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n batchCreateItemsFromUrl(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: BatchCreateItemsFromUrlModel | undefined): Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsPrintProductItemsApiClient extends ApiClientBase implements IDesignAtomsPrintProductItemsApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Extracts print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Extraction parameters.\n * @return Success\n */\n extractItemImage(tenantId?: number | undefined, body?: ExtractItemImageModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/extract-image?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processExtractItemImage(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processExtractItemImage(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processExtractItemImage(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Flattens print-product items.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) List of print-product items to flatten.\n * @return Success\n */\n flattenItems(tenantId?: number | undefined, body?: any[] | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/flatten?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processFlattenItems(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processFlattenItems(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processFlattenItems(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates print-product item from input image file.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceFile (optional) \n * @return Success\n */\n createItemFromFile(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-file?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromFile(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromFile(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateItemFromFile(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates multiple print-product items from input image files.\n * @param itemType (optional) Desired print-product items type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceFiles (optional) \n * @return Success\n */\n batchCreateItemsFromFile(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceFiles?: FileParameter[] | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-file/batch-create?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (sourceFiles !== null && sourceFiles !== undefined)\n sourceFiles.forEach(item_ => content_.append(\"sourceFiles\", item_.data, item_.fileName ? item_.fileName : \"sourceFiles\") );\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromFile(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromFile(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processBatchCreateItemsFromFile(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates print-product item from image file taken from storage.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n createItemFromStorage(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: CreateItemFromStorageModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-storage?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromStorage(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromStorage(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateItemFromStorage(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates multiple print-product items from the specified image files in storage.\n * @param itemType (optional) Desired items type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n batchCreateItemsFromStorage(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: BatchCreateItemsFromStorageModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-storage/batch-create?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromStorage(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromStorage(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processBatchCreateItemsFromStorage(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates print-product item from remote web image provided by URL.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n createItemFromUrl(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: CreateItemFromUrlModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-url?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromUrl(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromUrl(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateItemFromUrl(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates multiple print-product items from remote web images provided by URLs list.\n * @param itemType (optional) Desired items type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n batchCreateItemsFromUrl(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: BatchCreateItemsFromUrlModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-url/batch-create?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromUrl(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromUrl(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processBatchCreateItemsFromUrl(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n}\n\nexport interface IDesignAtomsServiceApiClient {\n /**\n * Creates new design file with specified parameters and saves it in storage.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design creation parameters.\n * @return Created\n */\n createDesign(privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: CreateDesignModel | undefined): Observable<DesignInfo>;\n /**\n * Returns image content of the background.\n * @param id Design identifier.\n * @param surfaceIndex (optional) Surface index.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n extractBackground(id: string, surfaceIndex?: number | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Sets specified editor-mockups for selected design surfaces.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return No Content\n */\n setEditorMockups(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: SetEditorMockupsModel | undefined): Observable<void>;\n /**\n * Returns design parameters stored in product model.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignParameters(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignParameters>;\n /**\n * Loads a data schema from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadDataSchema(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Loads a toggle set from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadToggleSet(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Returns variable items information for design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getVariables(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<VariablesModel>;\n /**\n * Saves variable items values for design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design variable values.\n * @return Success\n */\n setVariables(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: VariablesModel | undefined): Observable<void>;\n /**\n * Loads variable data printing information from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<VdpDataModel>;\n /**\n * Saves variable data printing information to design file and updates design in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized vdp data.\n * @return Success\n */\n saveVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: VdpDataModel | undefined): Observable<void>;\n /**\n * Deletes variable data printing information from design file and updates design file in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n deleteVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Converts colors for print-product item manipulations.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Convert colors operation parameters.\n * @return Success\n */\n convertColors(tenantId?: number | undefined, body?: ConvertColorsModel | undefined): Observable<any>;\n /**\n * Loads print-product from resource file taken from storage.\n * @param id (optional) Resource identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadProductFromResource(id?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Renders a product proof image with specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Preview parameters.\n * @return Success\n */\n renderProduct(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderProductModel | undefined): Observable<FileResponse>;\n /**\n * Renders a design preview with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignPreview(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderDesignPreviewModel | undefined): Observable<FileResponse>;\n /**\n * Renders a design preview with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignPreviewToResource(tenantId?: number | undefined, body?: RenderDesignPreviewToResourceModel | undefined): Observable<ResourceInfoDto>;\n /**\n * Renders a design proof with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with proof parameters.\n * @return Success\n */\n renderDesignProof(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderDesignProofModel | undefined): Observable<FileResponse>;\n /**\n * Renders a design proof with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignProofToResource(tenantId?: number | undefined, body?: RenderDesignProofToResourceModel | undefined): Observable<ResourceInfoDto>;\n /**\n * Loads print-product from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n * @deprecated\n */\n loadProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Saves print-product to design file and updates design file in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized product description.\n * @return Success\n * @deprecated\n */\n saveProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<void>;\n /**\n * Patches print-product in design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param patchType (optional) \n * @param replaceImageItemFileInfo_itemName (optional) \n * @param replaceImageItemFileInfo_sourceFile (optional) \n * @param replacePlaceholderItemContentInfo_placeholderItemName (optional) \n * @param replacePlaceholderItemContentInfo_newContentType (optional) \n * @param replacePlaceholderItemContentInfo_sourceFile (optional) \n * @return Success\n * @deprecated\n */\n patchProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, patchType?: ProductPatchType | undefined, replaceImageItemFileInfo_itemName?: string | null | undefined, replaceImageItemFileInfo_sourceFile?: FileParameter | null | undefined, replacePlaceholderItemContentInfo_placeholderItemName?: string | null | undefined, replacePlaceholderItemContentInfo_newContentType?: PlaceholderItemContentType | undefined, replacePlaceholderItemContentInfo_sourceFile?: FileParameter | null | undefined): Observable<void>;\n /**\n * Creates print-product item.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceType (optional) \n * @param sourceId (optional) \n * @param sourceOwnerId (optional) \n * @param url (optional) \n * @param sourceFile (optional) \n * @return Success\n * @deprecated\n */\n createItem(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceType?: ItemSourceType | null | undefined, sourceId?: string | null | undefined, sourceOwnerId?: string | null | undefined, url?: string | null | undefined, sourceFile?: FileParameter | null | undefined): Observable<any>;\n /**\n * Extracts print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Extraction parameters.\n * @return Success\n * @deprecated\n */\n extractItemImage(tenantId?: number | undefined, body?: ExtractItemImageModel | undefined): Observable<FileResponse>;\n /**\n * Flattens print-product items.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Items to flatten.\n * @return Success\n * @deprecated\n */\n flattenItems(tenantId?: number | undefined, body?: any[] | undefined): Observable<any>;\n /**\n * Creates a private design from a public design.\n * @param designId (optional) Public design identifier.\n * @param privateDesignId (optional) Private design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Created\n * @deprecated\n */\n createPrivateDesignFromDesign(designId?: string | null | undefined, privateDesignId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Creates a private design from a public resource.\n * @param resourceId (optional) Resource identifier.\n * @param privateDesignId (optional) Private design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier.\n * @return Created\n * @deprecated\n */\n createPrivateDesignFromResource(resourceId?: string | null | undefined, privateDesignId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsServiceApiClient extends ApiClientBase implements IDesignAtomsServiceApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Creates new design file with specified parameters and saves it in storage.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design creation parameters.\n * @return Created\n */\n createDesign(privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: CreateDesignModel | undefined): Observable<DesignInfo> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs?\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateDesign(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateDesign(<any>r));\n } catch (e) {\n return <Observable<DesignInfo>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignInfo>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateDesign(response: HttpResponseBase): Observable<DesignInfo> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 201) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result201: any = null;\n result201 = _responseText === \"\" ? null : <DesignInfo>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result201);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignInfo>(<any>null);\n }\n\n /**\n * Returns image content of the background.\n * @param id Design identifier.\n * @param surfaceIndex (optional) Surface index.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n extractBackground(id: string, surfaceIndex?: number | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/background?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceIndex !== undefined && surfaceIndex !== null)\n url_ += \"surfaceIndex=\" + encodeURIComponent(\"\" + surfaceIndex) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processExtractBackground(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processExtractBackground(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processExtractBackground(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <MissingDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Sets specified editor-mockups for selected design surfaces.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return No Content\n */\n setEditorMockups(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: SetEditorMockupsModel | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/editor-mockups?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSetEditorMockups(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSetEditorMockups(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processSetEditorMockups(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns design parameters stored in product model.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignParameters(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignParameters> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/parameters?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignParameters(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignParameters(<any>r));\n } catch (e) {\n return <Observable<DesignParameters>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignParameters>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignParameters(response: HttpResponseBase): Observable<DesignParameters> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignParameters>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignParameters>(<any>null);\n }\n\n /**\n * Loads a data schema from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadDataSchema(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/schema?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadDataSchema(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadDataSchema(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadDataSchema(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Loads a toggle set from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadToggleSet(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/toggle-set?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadToggleSet(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadToggleSet(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadToggleSet(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Returns variable items information for design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getVariables(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<VariablesModel> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/variables?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetVariables(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetVariables(<any>r));\n } catch (e) {\n return <Observable<VariablesModel>><any>_observableThrow(e);\n }\n } else\n return <Observable<VariablesModel>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetVariables(response: HttpResponseBase): Observable<VariablesModel> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <VariablesModel>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<VariablesModel>(<any>null);\n }\n\n /**\n * Saves variable items values for design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design variable values.\n * @return Success\n */\n setVariables(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: VariablesModel | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/variables?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSetVariables(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSetVariables(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processSetVariables(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Loads variable data printing information from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<VdpDataModel> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdp-data?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadVdpData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadVdpData(<any>r));\n } catch (e) {\n return <Observable<VdpDataModel>><any>_observableThrow(e);\n }\n } else\n return <Observable<VdpDataModel>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadVdpData(response: HttpResponseBase): Observable<VdpDataModel> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <VdpDataModel>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<VdpDataModel>(<any>null);\n }\n\n /**\n * Saves variable data printing information to design file and updates design in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized vdp data.\n * @return Success\n */\n saveVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: VdpDataModel | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdp-data?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSaveVdpData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSaveVdpData(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processSaveVdpData(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Deletes variable data printing information from design file and updates design file in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n deleteVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdp-data?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"delete\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processDeleteVdpData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processDeleteVdpData(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processDeleteVdpData(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Converts colors for print-product item manipulations.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Convert colors operation parameters.\n * @return Success\n */\n convertColors(tenantId?: number | undefined, body?: ConvertColorsModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/convert-colors?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processConvertColors(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processConvertColors(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processConvertColors(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Loads print-product from resource file taken from storage.\n * @param id (optional) Resource identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadProductFromResource(id?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/from-resource/model?\";\n if (id !== undefined && id !== null)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadProductFromResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadProductFromResource(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadProductFromResource(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Renders a product proof image with specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Preview parameters.\n * @return Success\n */\n renderProduct(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderProductModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/render-proof?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderProduct(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderProduct(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a design preview with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignPreview(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderDesignPreviewModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/render-preview?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignPreview(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignPreview(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderDesignPreview(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a design preview with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignPreviewToResource(tenantId?: number | undefined, body?: RenderDesignPreviewToResourceModel | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/render-preview/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignPreviewToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignPreviewToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderDesignPreviewToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n\n /**\n * Renders a design proof with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with proof parameters.\n * @return Success\n */\n renderDesignProof(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderDesignProofModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/render-proof?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignProof(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignProof(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderDesignProof(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a design proof with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignProofToResource(tenantId?: number | undefined, body?: RenderDesignProofToResourceModel | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/render-proof/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignProofToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignProofToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderDesignProofToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n\n /**\n * Loads print-product from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n * @deprecated\n */\n loadProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadProduct(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadProduct(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Saves print-product to design file and updates design file in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized product description.\n * @return Success\n * @deprecated\n */\n saveProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSaveProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSaveProduct(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processSaveProduct(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Patches print-product in design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param patchType (optional) \n * @param replaceImageItemFileInfo_itemName (optional) \n * @param replaceImageItemFileInfo_sourceFile (optional) \n * @param replacePlaceholderItemContentInfo_placeholderItemName (optional) \n * @param replacePlaceholderItemContentInfo_newContentType (optional) \n * @param replacePlaceholderItemContentInfo_sourceFile (optional) \n * @return Success\n * @deprecated\n */\n patchProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, patchType?: ProductPatchType | undefined, replaceImageItemFileInfo_itemName?: string | null | undefined, replaceImageItemFileInfo_sourceFile?: FileParameter | null | undefined, replacePlaceholderItemContentInfo_placeholderItemName?: string | null | undefined, replacePlaceholderItemContentInfo_newContentType?: PlaceholderItemContentType | undefined, replacePlaceholderItemContentInfo_sourceFile?: FileParameter | null | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (patchType === null || patchType === undefined)\n throw new Error(\"The parameter 'patchType' cannot be null.\");\n else\n content_.append(\"patchType\", patchType.toString());\n if (replaceImageItemFileInfo_itemName !== null && replaceImageItemFileInfo_itemName !== undefined)\n content_.append(\"replaceImageItemFileInfo.itemName\", replaceImageItemFileInfo_itemName.toString());\n if (replaceImageItemFileInfo_sourceFile !== null && replaceImageItemFileInfo_sourceFile !== undefined)\n content_.append(\"replaceImageItemFileInfo.sourceFile\", replaceImageItemFileInfo_sourceFile.data, replaceImageItemFileInfo_sourceFile.fileName ? replaceImageItemFileInfo_sourceFile.fileName : \"replaceImageItemFileInfo.sourceFile\");\n if (replacePlaceholderItemContentInfo_placeholderItemName !== null && replacePlaceholderItemContentInfo_placeholderItemName !== undefined)\n content_.append(\"replacePlaceholderItemContentInfo.placeholderItemName\", replacePlaceholderItemContentInfo_placeholderItemName.toString());\n if (replacePlaceholderItemContentInfo_newContentType === null || replacePlaceholderItemContentInfo_newContentType === undefined)\n throw new Error(\"The parameter 'replacePlaceholderItemContentInfo_newContentType' cannot be null.\");\n else\n content_.append(\"replacePlaceholderItemContentInfo.newContentType\", replacePlaceholderItemContentInfo_newContentType.toString());\n if (replacePlaceholderItemContentInfo_sourceFile !== null && replacePlaceholderItemContentInfo_sourceFile !== undefined)\n content_.append(\"replacePlaceholderItemContentInfo.sourceFile\", replacePlaceholderItemContentInfo_sourceFile.data, replacePlaceholderItemContentInfo_sourceFile.fileName ? replacePlaceholderItemContentInfo_sourceFile.fileName : \"replacePlaceholderItemContentInfo.sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"patch\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processPatchProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processPatchProduct(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processPatchProduct(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Creates print-product item.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceType (optional) \n * @param sourceId (optional) \n * @param sourceOwnerId (optional) \n * @param url (optional) \n * @param sourceFile (optional) \n * @return Success\n * @deprecated\n */\n createItem(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceType?: ItemSourceType | null | undefined, sourceId?: string | null | undefined, sourceOwnerId?: string | null | undefined, url?: string | null | undefined, sourceFile?: FileParameter | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/model/items?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (sourceType !== null && sourceType !== undefined)\n content_.append(\"sourceType\", sourceType.toString());\n if (sourceId !== null && sourceId !== undefined)\n content_.append(\"sourceId\", sourceId.toString());\n if (sourceOwnerId !== null && sourceOwnerId !== undefined)\n content_.append(\"sourceOwnerId\", sourceOwnerId.toString());\n if (url !== null && url !== undefined)\n content_.append(\"url\", url.toString());\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateItem(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateItem(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateItem(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Extracts print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Extraction parameters.\n * @return Success\n * @deprecated\n */\n extractItemImage(tenantId?: number | undefined, body?: ExtractItemImageModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/model/items/extract-image?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processExtractItemImage(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processExtractItemImage(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processExtractItemImage(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Flattens print-product items.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Items to flatten.\n * @return Success\n * @deprecated\n */\n flattenItems(tenantId?: number | undefined, body?: any[] | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/model/items/flatten?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processFlattenItems(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processFlattenItems(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processFlattenItems(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates a private design from a public design.\n * @param designId (optional) Public design identifier.\n * @param privateDesignId (optional) Private design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Created\n * @deprecated\n */\n createPrivateDesignFromDesign(designId?: string | null | undefined, privateDesignId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/private-designs/from-design?\";\n if (designId !== undefined && designId !== null)\n url_ += \"designId=\" + encodeURIComponent(\"\" + designId) + \"&\";\n if (privateDesignId !== undefined && privateDesignId !== null)\n url_ += \"privateDesignId=\" + encodeURIComponent(\"\" + privateDesignId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreatePrivateDesignFromDesign(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreatePrivateDesignFromDesign(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreatePrivateDesignFromDesign(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 201) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Creates a private design from a public resource.\n * @param resourceId (optional) Resource identifier.\n * @param privateDesignId (optional) Private design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier.\n * @return Created\n * @deprecated\n */\n createPrivateDesignFromResource(resourceId?: string | null | undefined, privateDesignId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/private-designs/from-resource?\";\n if (resourceId !== undefined && resourceId !== null)\n url_ += \"resourceId=\" + encodeURIComponent(\"\" + resourceId) + \"&\";\n if (privateDesignId !== undefined && privateDesignId !== null)\n url_ += \"privateDesignId=\" + encodeURIComponent(\"\" + privateDesignId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreatePrivateDesignFromResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreatePrivateDesignFromResource(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreatePrivateDesignFromResource(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 201) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n}\n\nexport interface IDesignAtomsViewerApiClient {\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId?: number | undefined, body?: FontsMethodData | undefined): Observable<string>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n fonts(psName: string, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getColorPreview(tenantId?: number | undefined, body?: GetColorPreviewRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getColorPreviews(tenantId?: number | undefined, body?: GetColorPreviewsRequest | undefined): Observable<any>;\n /**\n * @param fontKey (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getCssFont(fontKey?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getFallbackFonts(tenantId?: number | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId?: number | undefined, body?: GetImageSizeRequest | undefined): Observable<NullAbleSize>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId?: number | undefined, body?: GetShapeBoundsRequest | undefined): Observable<RectangleF>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n img(f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getLicense(tenantId?: number | undefined): Observable<any>;\n /**\n * @param f (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n pth(f?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param image (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n resource(image?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n svg(f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param f (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n txt(f?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateAutoScaledTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId?: number | undefined, body?: UpdateColorsRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId?: number | undefined, body?: MultiCallRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId?: number | undefined, body?: UpdateImageHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsViewerApiClient extends ApiClientBase implements IDesignAtomsViewerApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId?: number | undefined, body?: FontsMethodData | undefined): Observable<string> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/cssfonts?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"text/css\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCssFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCssFonts(<any>r));\n } catch (e) {\n return <Observable<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processCssFonts(response: HttpResponseBase): Observable<string> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <string>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<string>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n fonts(psName: string, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/fonts/{psName}?\";\n if (psName === undefined || psName === null)\n throw new Error(\"The parameter 'psName' must be defined.\");\n url_ = url_.replace(\"{psName}\", encodeURIComponent(\"\" + psName));\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processFonts(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processFonts(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getColorPreview(tenantId?: number | undefined, body?: GetColorPreviewRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetColorPreview?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreview(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreview(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetColorPreview(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getColorPreviews(tenantId?: number | undefined, body?: GetColorPreviewsRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetColorPreviews?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreviews(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreviews(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetColorPreviews(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param fontKey (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getCssFont(fontKey?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetCssFont?\";\n if (fontKey !== undefined && fontKey !== null)\n url_ += \"fontKey=\" + encodeURIComponent(\"\" + fontKey) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetCssFont(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetCssFont(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetCssFont(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getFallbackFonts(tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetFallbackFonts?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetFallbackFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetFallbackFonts(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetFallbackFonts(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId?: number | undefined, body?: GetImageSizeRequest | undefined): Observable<NullAbleSize> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetImageSize?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetImageSize(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetImageSize(<any>r));\n } catch (e) {\n return <Observable<NullAbleSize>><any>_observableThrow(e);\n }\n } else\n return <Observable<NullAbleSize>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetImageSize(response: HttpResponseBase): Observable<NullAbleSize> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <NullAbleSize>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<NullAbleSize>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId?: number | undefined, body?: GetShapeBoundsRequest | undefined): Observable<RectangleF> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetShapeBounds?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetShapeBounds(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetShapeBounds(<any>r));\n } catch (e) {\n return <Observable<RectangleF>><any>_observableThrow(e);\n }\n } else\n return <Observable<RectangleF>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetShapeBounds(response: HttpResponseBase): Observable<RectangleF> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <RectangleF>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<RectangleF>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetWatermarkItems?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetWatermarkItems(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetWatermarkItems(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetWatermarkItems(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n img(f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/img?\";\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (w !== undefined && w !== null)\n url_ += \"w=\" + encodeURIComponent(\"\" + w) + \"&\";\n if (h !== undefined && h !== null)\n url_ += \"h=\" + encodeURIComponent(\"\" + h) + \"&\";\n if (cmyk !== undefined && cmyk !== null)\n url_ += \"cmyk=\" + encodeURIComponent(\"\" + cmyk) + \"&\";\n if (rgb !== undefined && rgb !== null)\n url_ += \"rgb=\" + encodeURIComponent(\"\" + rgb) + \"&\";\n if (grayscale !== undefined && grayscale !== null)\n url_ += \"grayscale=\" + encodeURIComponent(\"\" + grayscale) + \"&\";\n if (target !== undefined && target !== null)\n url_ += \"target=\" + encodeURIComponent(\"\" + target) + \"&\";\n if (sq !== undefined && sq !== null)\n url_ += \"sq=\" + encodeURIComponent(\"\" + sq) + \"&\";\n if (effect !== undefined && effect !== null)\n url_ += \"effect=\" + encodeURIComponent(\"\" + effect) + \"&\";\n if (kp !== undefined && kp !== null)\n url_ += \"kp=\" + encodeURIComponent(\"\" + kp) + \"&\";\n if (color !== undefined && color !== null)\n url_ += \"color=\" + encodeURIComponent(\"\" + color) + \"&\";\n if (obm !== undefined && obm !== null)\n url_ += \"obm=\" + encodeURIComponent(\"\" + obm) + \"&\";\n if (oo !== undefined && oo !== null)\n url_ += \"oo=\" + encodeURIComponent(\"\" + oo) + \"&\";\n if (alphaMask !== undefined && alphaMask !== null)\n url_ += \"alphaMask=\" + encodeURIComponent(\"\" + alphaMask) + \"&\";\n if (page !== undefined && page !== null)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (colorizeColor !== undefined && colorizeColor !== null)\n url_ += \"colorizeColor=\" + encodeURIComponent(\"\" + colorizeColor) + \"&\";\n if (rw !== undefined && rw !== null)\n url_ += \"rw=\" + encodeURIComponent(\"\" + rw) + \"&\";\n if (rh !== undefined && rh !== null)\n url_ += \"rh=\" + encodeURIComponent(\"\" + rh) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processImg(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processImg(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processImg(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getLicense(tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/license?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetLicense(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetLicense(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetLicense(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n pth(f?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/pth?\";\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processPth(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processPth(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processPth(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param image (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n resource(image?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/resource?\";\n if (image !== undefined && image !== null)\n url_ += \"image=\" + encodeURIComponent(\"\" + image) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processResource(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processResource(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n svg(f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/svg?\";\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (w !== undefined && w !== null)\n url_ += \"w=\" + encodeURIComponent(\"\" + w) + \"&\";\n if (h !== undefined && h !== null)\n url_ += \"h=\" + encodeURIComponent(\"\" + h) + \"&\";\n if (cmyk !== undefined && cmyk !== null)\n url_ += \"cmyk=\" + encodeURIComponent(\"\" + cmyk) + \"&\";\n if (rgb !== undefined && rgb !== null)\n url_ += \"rgb=\" + encodeURIComponent(\"\" + rgb) + \"&\";\n if (grayscale !== undefined && grayscale !== null)\n url_ += \"grayscale=\" + encodeURIComponent(\"\" + grayscale) + \"&\";\n if (target !== undefined && target !== null)\n url_ += \"target=\" + encodeURIComponent(\"\" + target) + \"&\";\n if (sq !== undefined && sq !== null)\n url_ += \"sq=\" + encodeURIComponent(\"\" + sq) + \"&\";\n if (effect !== undefined && effect !== null)\n url_ += \"effect=\" + encodeURIComponent(\"\" + effect) + \"&\";\n if (kp !== undefined && kp !== null)\n url_ += \"kp=\" + encodeURIComponent(\"\" + kp) + \"&\";\n if (color !== undefined && color !== null)\n url_ += \"color=\" + encodeURIComponent(\"\" + color) + \"&\";\n if (obm !== undefined && obm !== null)\n url_ += \"obm=\" + encodeURIComponent(\"\" + obm) + \"&\";\n if (oo !== undefined && oo !== null)\n url_ += \"oo=\" + encodeURIComponent(\"\" + oo) + \"&\";\n if (alphaMask !== undefined && alphaMask !== null)\n url_ += \"alphaMask=\" + encodeURIComponent(\"\" + alphaMask) + \"&\";\n if (page !== undefined && page !== null)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (colorizeColor !== undefined && colorizeColor !== null)\n url_ += \"colorizeColor=\" + encodeURIComponent(\"\" + colorizeColor) + \"&\";\n if (rw !== undefined && rw !== null)\n url_ += \"rw=\" + encodeURIComponent(\"\" + rw) + \"&\";\n if (rh !== undefined && rh !== null)\n url_ += \"rh=\" + encodeURIComponent(\"\" + rh) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSvg(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSvg(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processSvg(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n txt(f?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/txt?\";\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processTxt(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processTxt(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processTxt(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateArchedTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateArchedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateArchedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateArchedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateAutoScaledTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateAutoScaledTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateAutoScaledTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateAutoScaledTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateAutoScaledTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateBarcodeItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateBarcodeItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateBarcodeItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateBarcodeItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateBoundedTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateBoundedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateBoundedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateBoundedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId?: number | undefined, body?: UpdateColorsRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateByColorData?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateByColorData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateByColorData(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByColorData(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId?: number | undefined, body?: MultiCallRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateByMultiCallRequest?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateByMultiCallRequest(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateByMultiCallRequest(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByMultiCallRequest(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateCurvedTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateCurvedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateCurvedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateCurvedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId?: number | undefined, body?: UpdateImageHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateImageItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateImageItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateImageItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateImageItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdatePathBoundedTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdatePathBoundedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdatePathBoundedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdatePathBoundedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdatePlainTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdatePlainTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdatePlainTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdatePlainTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateShapeItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateShapeItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateShapeItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateShapeItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n}\n\n/** Batch create items from storage source operation parameters. */\nexport interface BatchCreateItemsFromStorageModel {\n /** Source image assets owner identifier. If value is set, all images should belong to a specified user. */\n sourceOwnerId?: string | null;\n /** Source image asset identifiers. */\n sourceIds?: string[] | null;\n}\n\n/** Batch create items from web source operation parameters. */\nexport interface BatchCreateItemsFromUrlModel {\n /** Source URLs. */\n urls?: string[] | null;\n}\n\n/** Information about a service. */\nexport interface BuildInfoModel {\n /** Version number. */\n version?: string | null;\n /** Build date (UTC). */\n buildDate?: string | null;\n /** Build configuration (Debug | Release). */\n configuration?: string | null;\n /** Service name. */\n appName?: string | null;\n /** Aurigma.DesignAtoms version. */\n designAtomsVersion?: string | null;\n /** Aurigma.DesignAtoms.Model version. */\n designAtomsModelVersion?: string | null;\n}\n\n/** Convert colors operation parameters. */\nexport interface ConvertColorsModel {\n /** Serialized color description. */\n colors: any[];\n /** Source color profile description. */\n sourceColorProfile?: string | null;\n /** Destination color profile description. */\n destinationColorProfile?: string | null;\n /** Target color profile description. */\n targetDeviceColorProfile?: string | null;\n}\n\n/** Design creation parameters. */\nexport interface CreateDesignModel {\n /** Serialized product description. */\n product?: any | null;\n /** Serialized product data schema (base64 file stream). */\n dataSchema?: string | null;\n /** Design name. */\n name?: string | null;\n /** Design location (folder path). */\n path?: string | null;\n}\n\n/** Create item from storage source operation parameters. */\nexport interface CreateItemFromStorageModel {\n /** Source image asset owner identifier. If value is set, all images should belong to a specified user. */\n sourceOwnerId?: string | null;\n /** Source image asset identifier. */\n sourceId?: string | null;\n}\n\n/** Create item from web source operation parameters. */\nexport interface CreateItemFromUrlModel {\n /** Source URL. */\n url?: string | null;\n}\n\nexport enum DesignElementType {\n Product = \"Product\",\n Design = \"Design\",\n Surface = \"Surface\",\n Container = \"Container\",\n PrintArea = \"PrintArea\",\n Item = \"Item\",\n}\n\nexport interface DesignInfo {\n id?: string | null;\n ownerId?: string | null;\n name?: string | null;\n private?: boolean;\n}\n\n/** Specific design parameters stored in product model. */\nexport interface DesignParameters {\n /** Design measure unit description. */\n measureUnit?: MeasureUnitInfo | null;\n /** Version of DesignAtoms library that used to save design file. */\n designAtomsVersion?: string | null;\n}\n\n/** Design print area parameters. */\nexport interface DesignPrintAreaDto {\n /** Print area identifier. */\n id?: string | null;\n /** Print area name. */\n name?: string | null;\n /** Parent surface identifier. */\n surfaceId?: string | null;\n /** Print area size. */\n size?: SizeDto | null;\n /** Print area position. */\n position?: PositionDto | null;\n}\n\n/** Design surface parameters. */\nexport interface DesignSurfaceDto {\n /** Surface identifier. */\n id?: string | null;\n /** Surface name. */\n name?: string | null;\n /** Surface index (0-based). */\n index?: number;\n /** Surface size. */\n size?: SizeDto | null;\n}\n\n/** Surface mockup parameters. */\nexport interface DesignSurfaceMockupDto {\n /** Mockup element position. */\n position?: PositionDto | null;\n /** Mockup element size. */\n size?: SizeDto | null;\n /** Parent surface identifier. */\n surfaceId?: string | null;\n /** Mockup image resolution (DPI). */\n resolution?: number;\n}\n\n/** Parameters of setting design surface mockup operation. */\nexport interface EditorMockupBindingModel {\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Private mockup owner identifier. Set `null` if public mockup is supposed to be used. */\n mockupOwnerId?: string | null;\n /** Target surface index. */\n surfaceIndex?: number;\n}\n\n/** Item extraction operation parameters. */\nexport interface ExtractItemImageModel {\n /** Serialized item description. */\n item: any;\n}\n\nexport interface FontsMethodData {\n requestedFontsByPsName?: string[] | null;\n advancedMode?: boolean;\n baseUrl?: string | null;\n}\n\nexport interface GetColorPreviewRequest {\n colorData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\nexport interface GetColorPreviewsRequest {\n colorData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\nexport interface GetImageSizeRequest {\n imageId?: string | null;\n pageIndex?: number;\n}\n\nexport interface GetShapeBoundsRequest {\n path?: string | null;\n}\n\n/** Image preview fit mode. */\nexport enum ImagePreviewFitMode {\n Fit = \"Fit\",\n Shrink = \"Shrink\",\n Resize = \"Resize\",\n Fill = \"Fill\",\n}\n\n/** Image preview file format. */\nexport enum ImagePreviewFormat {\n Jpeg = \"Jpeg\",\n Png = \"Png\",\n}\n\n/** Settings that describe image preview rendering parameters. */\nexport interface ImagePreviewRenderingConfig {\n /** Image preview width. */\n width?: number;\n /** Image preview height. */\n height?: number;\n /** Image preview file format. */\n fileFormat?: ImagePreviewFormat | null;\n /** Image preview fit mode. */\n fitMode?: ImagePreviewFitMode | null;\n}\n\n/** Item source types. */\nexport enum ItemSourceType {\n File = \"File\",\n ImageStorage = \"ImageStorage\",\n PrivateImageStorage = \"PrivateImageStorage\",\n Url = \"Url\",\n}\n\nexport enum ItemType {\n Image = \"Image\",\n Shape = \"Shape\",\n Clipart = \"Clipart\",\n Group = \"Group\",\n}\n\nexport interface MeasureUnitInfo {\n name?: string | null;\n shortName?: string | null;\n ratio?: number;\n}\n\nexport interface MissingDesignElementDto {\n /** Problem description. */\n description?: string | null;\n /** Missing element type. */\n readonly missingElementType?: DesignElementType;\n}\n\nexport interface Mockup3dAttributesDto {\n data?: { [key: string]: string; } | null;\n}\n\nexport interface MultiCallRequest {\n items?: MultiCallRequestItem[] | null;\n}\n\nexport interface MultiCallRequestItem {\n canvasData?: string | null;\n itemHandlersData?: string | null;\n colorData?: string | null;\n actualSize?: boolean | null;\n preserveAspectRatio?: boolean | null;\n url?: string | null;\n imageId?: string | null;\n pageIndex?: number | null;\n methodName?: string | null;\n itemData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\nexport interface NullAbleSize {\n width?: number | null;\n height?: number | null;\n}\n\n/** Placeholder item content type. */\nexport enum PlaceholderItemContentType {\n Image = \"Image\",\n}\n\nexport interface PointF {\n readonly isEmpty?: boolean;\n x?: number;\n y?: number;\n}\n\n/** Position of item top left point on design surface. */\nexport interface PositionDto {\n /** Y axis position. */\n top?: number;\n /** X axis position. */\n left?: number;\n}\n\nexport interface PreviewColorSettings {\n rgbColorProfileName?: string | null;\n cmykColorProfileName?: string | null;\n grayscaleColorProfileName?: string | null;\n hiResDestinationColorProfileName?: string | null;\n}\n\nexport interface ProblemDetails {\n type?: string | null;\n title?: string | null;\n status?: number | null;\n detail?: string | null;\n instance?: string | null;\n}\n\n/** Available patch type. */\nexport enum ProductPatchType {\n Undefined = \"Undefined\",\n ReplaceImageItemFile = \"ReplaceImageItemFile\",\n ReplacePlaceholderItemContent = \"ReplacePlaceholderItemContent\",\n}\n\n/** Product preview file format. */\nexport enum ProductPreviewFormat {\n Jpeg = \"Jpeg\",\n Png = \"Png\",\n}\n\nexport interface ProductPreviewRenderingConfig {\n surfaceIndex?: number | null;\n width?: number;\n height?: number;\n fileFormat?: ProductPreviewFormat | null;\n}\n\nexport enum ProductProofFormat {\n Jpeg = \"Jpeg\",\n Png = \"Png\",\n Tiff = \"Tiff\",\n Pdf = \"Pdf\",\n}\n\nexport enum ProductProofInterpolationMode {\n High = \"High\",\n Medium = \"Medium\",\n Low = \"Low\",\n NearestNeighbour = \"NearestNeighbour\",\n Linear = \"Linear\",\n Cubic = \"Cubic\",\n Supersampling = \"Supersampling\",\n Lanczos = \"Lanczos\",\n Anisotropic4 = \"Anisotropic4\",\n Anisotropic9 = \"Anisotropic9\",\n Lanczos3 = \"Lanczos3\",\n}\n\nexport interface ProductProofRenderingConfig {\n /** Surface to render. */\n surfaceIndex?: number | null;\n /** Desired proof image width. */\n width?: number;\n /** Desired proof image height. */\n height?: number;\n /** Desired proof image format. */\n format?: ProductProofFormat | null;\n /** Desired proof image interpolation. */\n interpolationMode?: ProductProofInterpolationMode | null;\n /** Defines whether safety lines should be visualized. */\n safetyLinesEnabled?: boolean | null;\n /** Defines whether watermark should be included. */\n watermarkEnabled?: boolean | null;\n /** Defines watermark opacity (in range 0 .. 1.0). */\n watermarkOpacity?: number | null;\n /** Defines whether watermark should be repeated. */\n watermarkRepeat?: boolean | null;\n}\n\nexport interface RectangleF {\n location?: PointF;\n size?: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n readonly left?: number;\n readonly top?: number;\n readonly right?: number;\n readonly bottom?: number;\n readonly isEmpty?: boolean;\n}\n\nexport interface RenderDesignPreviewModel {\n /** Design identifier.\nUsed to get design file from public or private storage. */\n designId?: string | null;\n /** Mockup identifier.\nUsed to get mockup file from public storage. */\n mockupId?: string | null;\n /** Identifier of the design owner. */\n ownerId?: string | null;\n /** Identifier of the mockup owner. */\n mockupOwnerId?: string | null;\n /** Rendering configuration for getting a preview of design. */\n renderingConfig?: ProductPreviewRenderingConfig | null;\n /** Variable (user) data for design variable fields in the preview image. */\n variableData?: VariableInfo[] | null;\n}\n\nexport interface RenderDesignPreviewToResourceModel {\n /** Parameters of resource that should be created for a preview rendering result. */\n previewResourceParams?: ResourceParams | null;\n /** Flag that indicates if an existing resource should be overwritten. */\n overwriteExistingResource?: boolean;\n /** Design identifier.\nUsed to get design file from public or private storage. */\n designId?: string | null;\n /** Mockup identifier.\nUsed to get mockup file from public storage. */\n mockupId?: string | null;\n /** Identifier of the design owner. */\n ownerId?: string | null;\n /** Identifier of the mockup owner. */\n mockupOwnerId?: string | null;\n /** Rendering configuration for getting a preview of design. */\n renderingConfig?: ProductPreviewRenderingConfig | null;\n /** Variable (user) data for design variable fields in the preview image. */\n variableData?: VariableInfo[] | null;\n}\n\nexport interface RenderDesignProofModel {\n /** Design identifier.\nUsed to get design file from public or private storage. */\n designId?: string | null;\n /** Identifier of the design owner. */\n ownerId?: string | null;\n /** Rendering configuration for getting a proof image of design. */\n renderingConfig?: ProductProofRenderingConfig | null;\n /** Variable (user) data for design variable fields in the proof image. */\n variableData?: VariableInfo[] | null;\n}\n\nexport interface RenderDesignProofToResourceModel {\n /** Parameters of resource that should be created for a preview rendering result. */\n proofResourceParams?: ResourceParams | null;\n /** Flag that indicates if an existing resource should be overwritten. */\n overwriteExistingResource?: boolean;\n /** Design identifier.\nUsed to get design file from public or private storage. */\n designId?: string | null;\n /** Identifier of the design owner. */\n ownerId?: string | null;\n /** Rendering configuration for getting a proof image of design. */\n renderingConfig?: ProductProofRenderingConfig | null;\n /** Variable (user) data for design variable fields in the proof image. */\n variableData?: VariableInfo[] | null;\n}\n\n/** Web image preview rendering parameters. */\nexport interface RenderImagePreviewFromUrlModel {\n /** Web image URL. */\n imageUrl?: string | null;\n /** Mockup owner identifier. */\n mockupOwnerId?: string | null;\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Image preview configuration. */\n renderingConfig?: ImagePreviewRenderingConfig | null;\n}\n\n/** Image preview rendering parameters. Result will be saved as resource with parameters set as Aurigma.DesignAtomsApi.WebApi.Models.Image.RenderImagePreviewFromUrlToResourceModel.PreviewResourceParams. */\nexport interface RenderImagePreviewFromUrlToResourceModel {\n /** Parameters of resource that should be created for a preview rendering result. */\n previewResourceParams?: ResourceParams | null;\n /** Flag that indicates if an existing resource should be overwritten. */\n overwriteExistingResource?: boolean;\n /** Web image URL. */\n imageUrl?: string | null;\n /** Mockup owner identifier. */\n mockupOwnerId?: string | null;\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Image preview configuration. */\n renderingConfig?: ImagePreviewRenderingConfig | null;\n}\n\n/** Image preview rendering parameters. */\nexport interface RenderImagePreviewModel {\n /** External image URL. */\n imageUrl?: string | null;\n /** Storage image identifier. */\n imageId?: string | null;\n /** Storage image owner identifier. */\n ownerId?: string | null;\n /** Mockup owner identifier. */\n mockupOwnerId?: string | null;\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Image preview configuration. */\n renderingConfig?: ImagePreviewRenderingConfig | null;\n}\n\n/** Image preview rendering parameters. Result will be saved as resource with parameters set as Aurigma.DesignAtomsApi.WebApi.Models.Image.RenderImagePreviewToResourceModel.PreviewResourceParams. */\nexport interface RenderImagePreviewToResourceModel {\n /** Parameters of resource that should be created for a preview rendering result. */\n previewResourceParams?: ResourceParams | null;\n /** Flag that indicates if an existing resource should be overwritten. */\n overwriteExistingResource?: boolean;\n /** External image URL. */\n imageUrl?: string | null;\n /** Storage image identifier. */\n imageId?: string | null;\n /** Storage image owner identifier. */\n ownerId?: string | null;\n /** Mockup owner identifier. */\n mockupOwnerId?: string | null;\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Image preview configuration. */\n renderingConfig?: ImagePreviewRenderingConfig | null;\n}\n\n/** Render product parameters. */\nexport interface RenderProductModel {\n /** Serialized product description. */\n product: any;\n /** Proof Image rendering config. */\n renderingConfig?: ProductProofRenderingConfig | null;\n}\n\nexport interface ResourceInfoDto {\n id?: string | null;\n ownerId?: string | null;\n name?: string | null;\n namespace?: string | null;\n private?: boolean;\n url?: string | null;\n}\n\nexport interface ResourceParams {\n ownerId?: string | null;\n namespace?: string | null;\n name?: string | null;\n sourceId?: string | null;\n type?: string | null;\n anonymousAccess?: boolean;\n}\n\n/** Parameters of 'setting editor mockup for design surfaces' operation. */\nexport interface SetEditorMockupsModel {\n /** List of editor mockup binding instructions. */\n editorMockupBindings?: EditorMockupBindingModel[] | null;\n}\n\n/** Design item size. */\nexport interface SizeDto {\n /** Design item width. */\n width?: number;\n /** Design item height. */\n height?: number;\n}\n\nexport interface UnprocessableDesignElementDto {\n /** Problem description. */\n description?: string | null;\n /** Missing element type. */\n readonly missingElementType?: DesignElementType | null;\n /** Missing element type. */\n readonly unprocessedElementType?: DesignElementType | null;\n}\n\nexport interface UpdateColorsRequest {\n canvasData?: string | null;\n colorData?: string | null;\n}\n\nexport interface UpdateHandlerRequest {\n canvasData?: string | null;\n itemHandlerData?: string | null;\n itemData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\nexport interface UpdateImageHandlerRequest {\n actualSize?: boolean;\n preserveAspectRatio?: boolean;\n url?: string | null;\n canvasData?: string | null;\n itemHandlerData?: string | null;\n itemData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\n/** Variable information. */\nexport interface VariableInfo {\n /** Variable name. */\n name?: string | null;\n /** Variable value. */\n value?: string | null;\n /** Variable type. */\n type?: string | null;\n}\n\n/** Variables information. */\nexport interface VariablesModel {\n /** List of variables. */\n items?: VariableInfo[] | null;\n}\n\n/** Variable data printing information. */\nexport interface VdpDataModel {\n /** Serialized vdp dataset. */\n vdpDataSet?: any | null;\n /** Serialized vdp items data. */\n vdpItemsData?: any | null;\n}\n\nexport interface FileParameter {\n data: any;\n fileName: string;\n}\n\nexport interface FileResponse {\n data: Blob;\n status: number;\n fileName?: string;\n headers?: { [name: string]: any };\n}\n\nexport class ApiException 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 isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable<any> {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new ApiException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable<string> {\n return new Observable<string>((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((<any>event.target).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport * as DesignAtomsApiClient from './design-atoms-api-client';\n\n// @dynamic\nexport function CreateApiClientConfiguration(token: string, apiUrl: string, apiKey: string = 'ApiKey'): DesignAtomsApiClient.ApiClientConfiguration {\n const apiConf = new DesignAtomsApiClient.ApiClientConfiguration();\n apiConf.apiKey = apiKey;\n apiConf.apiUrl = apiUrl;\n apiConf.setAuthorizationToken(token);\n return apiConf;\n}\n\n@NgModule({\n declarations: [],\n imports: [\n ],\n exports: []\n})\nexport class DesignAtomsApiModule {\n static forRoot(token: string, apiUrl: string, apiKey: string = 'ApiKey'): ModuleWithProviders<DesignAtomsApiModule> {\n return {\n ngModule: DesignAtomsApiModule,\n providers: [\n {\n provide: DesignAtomsApiClient.API_BASE_URL,\n useValue: apiUrl\n },\n {\n provide: DesignAtomsApiClient.ApiClientConfiguration,\n useFactory: CreateApiClientConfiguration.bind(this, token , apiUrl, apiKey)\n },\n ]\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/client/src/lib/design-atoms-api-client.ts","../../../projects/client/src/lib/design-atoms-api.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","pop","length","push","__values","o","s","m","i","API_BASE_URL","InjectionToken","ApiClientConfiguration","apiUrl","apiKey","authorizationToken","getAuthorizationToken","setAuthorizationToken","token","ApiClientBase","configuration","transformOptions","options","_a","headers","append","getBaseUrl","defultUrl","endsWith","slice","transformResult","url","res","cb","BuildInfoApiClient","http","baseUrl","_this","_super","jsonParseReviver","undefined","headInfo","url_","replace","options_","observe","responseType","HttpHeaders","_observableFrom","pipe","_observableMergeMap","transformedOptions_","request","response_","r","processHeadInfo","_observableCatch","HttpResponseBase","_observableThrow","response","status","responseBlob","HttpResponse","error","Blob","_headers","_b","keys","_c","key","get","blobToText","_responseText","_observableOf","throwException","getInfo","Accept","processGetInfo","result200","JSON","parse","Injectable","args","providedIn","decorators","type","Inject","HttpClient","Optional","DesignAtomsCompatibilityApiClient","cssFonts","tenantId","Error","encodeURIComponent","stringify","Content-Type","processCssFonts","fonts","psName","processFonts","contentDisposition","fileNameMatch","exec","fileName","data","result404","getColorPreview","processGetColorPreview","result400","getColorPreviews","processGetColorPreviews","getCssFont","fontKey","processGetCssFont","getFallbackFonts","processGetFallbackFonts","getImageSize","processGetImageSize","getShapeBounds","processGetShapeBounds","getWatermarkItems","processGetWatermarkItems","img","w","h","cmyk","rgb","grayscale","target","sq","effect","kp","color","obm","oo","alphaMask","page","colorizeColor","rw","rh","processImg","getLicense","processGetLicense","pth","processPth","resource","image","processResource","svg","processSvg","txt","processTxt","updateArchedTextItemHandler","processUpdateArchedTextItemHandler","updateAutoScaledTextItemHandler","processUpdateAutoScaledTextItemHandler","updateBarcodeItemHandler","processUpdateBarcodeItemHandler","updateBoundedTextItemHandler","processUpdateBoundedTextItemHandler","updateByColorData","processUpdateByColorData","updateByMultiCallRequest","processUpdateByMultiCallRequest","updateCurvedTextItemHandler","processUpdateCurvedTextItemHandler","updateImageItemHandler","processUpdateImageItemHandler","updatePathBoundedTextItemHandler","processUpdatePathBoundedTextItemHandler","updatePlainTextItemHandler","processUpdatePlainTextItemHandler","updateShapeItemHandler","processUpdateShapeItemHandler","DesignAtomsImagesApiClient","renderImagePreview","attachment","processRenderImagePreview","renderImagePreviewFromFile","sourceFile","mockupOwnerId","mockupId","width","height","fileFormat","fitMode","content_","FormData","toString","processRenderImagePreviewFromFile","renderImagePreviewFromFileToResource","resourceOwnerId","resourceNamespace","resourceName","resourceSourceId","resourceType","anonymousAccess","overwriteExistingResource","processRenderImagePreviewFromFileToResource","result409","renderImagePreviewFromUrl","processRenderImagePreviewFromUrl","renderImagePreviewFromUrlToResource","processRenderImagePreviewFromUrlToResource","renderImagePreviewToResource","processRenderImagePreviewToResource","DesignAtomsMockups3dApiClient","getAttributes","id","ownerId","processGetAttributes","getContentAsProtobuf","processGetContentAsProtobuf","getGeometryFile","processGetGeometryFile","DesignAtomsPalettesApiClient","findPaletteColor","paletteUID","processFindPaletteColor","getPaletteModel","uid","processGetPaletteModel","DesignAtomsPrintProductApiClient","patchDesignProduct","privateStorageOwner","patchType","replaceImageItemFileInfo_itemName","replaceImageItemFileInfo_sourceFile","replacePlaceholderItemContentInfo_placeholderItemName","replacePlaceholderItemContentInfo_newContentType","replacePlaceholderItemContentInfo_sourceFile","processPatchDesignProduct","getDesignSurfaceContainers","surfaceId","processGetDesignSurfaceContainers","deleteDesignSurfaceContainer","containerId","processDeleteDesignSurfaceContainer","getDesignSurfaceContainerModel","processGetDesignSurfaceContainerModel","updateDesignSurfaceContainerModel","processUpdateDesignSurfaceContainerModel","addDesignSurfaceContainerModel","index","top","left","processAddDesignSurfaceContainerModel","getDesignSurfaceItems","parentItemId","processGetDesignSurfaceItems","deleteDesignSurfaceItem","itemId","processDeleteDesignSurfaceItem","getDesignSurfaceItemModel","processGetDesignSurfaceItemModel","updateDesignSurfaceItemModel","processUpdateDesignSurfaceItemModel","addDesignSurfaceItemModel","processAddDesignSurfaceItemModel","getDesignProductModel","processGetDesignProductModel","updateDesignProductModel","processUpdateDesignProductModel","getDesignPrintAreas","processGetDesignPrintAreas","addDesignPrintArea","processAddDesignPrintArea","updateDesignPrintArea","printAreaId","processUpdateDesignPrintArea","deleteDesignPrintArea","processDeleteDesignPrintArea","getDesignPrintAreaModel","processGetDesignPrintAreaModel","updateDesignPrintAreaModel","processUpdateDesignPrintAreaModel","addDesignPrintAreaModel","processAddDesignPrintAreaModel","getDesignSurfaces","processGetDesignSurfaces","deleteDesignSurface","processDeleteDesignSurface","getDesignSurfaceDownMockup","processGetDesignSurfaceDownMockup","updateDesignSurfaceDownMockup","position_top","position_left","processUpdateDesignSurfaceDownMockup","getDesignSurfaceDownMockupContent","processGetDesignSurfaceDownMockupContent","getDesignSurfaceUpMockup","processGetDesignSurfaceUpMockup","updateDesignSurfaceUpMockup","processUpdateDesignSurfaceUpMockup","getDesignSurfaceUpMockupContent","processGetDesignSurfaceUpMockupContent","getDesignSurfaceModel","processGetDesignSurfaceModel","replaceDesignSurfaceModel","processReplaceDesignSurfaceModel","addDesignSurfaceModel","processAddDesignSurfaceModel","DesignAtomsPrintProductItemsApiClient","applyItemEffects","processApplyItemEffects","extractItemImage","processExtractItemImage","flattenItems","processFlattenItems","createItemFromFile","itemType","preserveOriginalFile","processCreateItemFromFile","batchCreateItemsFromFile","sourceFiles","forEach","item_","processBatchCreateItemsFromFile","createItemFromStorage","processCreateItemFromStorage","batchCreateItemsFromStorage","processBatchCreateItemsFromStorage","createItemFromUrl","processCreateItemFromUrl","batchCreateItemsFromUrl","processBatchCreateItemsFromUrl","DesignAtomsServiceApiClient","createDesign","processCreateDesign","result201","extractBackground","surfaceIndex","processExtractBackground","setEditorMockups","processSetEditorMockups","getDesignParameters","processGetDesignParameters","loadDataSchema","processLoadDataSchema","loadToggleSet","processLoadToggleSet","getVariables","processGetVariables","setVariables","processSetVariables","loadVdpData","processLoadVdpData","saveVdpData","processSaveVdpData","deleteVdpData","processDeleteVdpData","convertColors","processConvertColors","loadProductFromResource","processLoadProductFromResource","renderProduct","processRenderProduct","renderDesignPreview","processRenderDesignPreview","renderDesignPreviewToResource","processRenderDesignPreviewToResource","renderDesignProof","processRenderDesignProof","renderDesignProofToResource","processRenderDesignProofToResource","loadProduct","processLoadProduct","saveProduct","processSaveProduct","patchProduct","processPatchProduct","createItem","sourceType","sourceId","sourceOwnerId","processCreateItem","createPrivateDesignFromDesign","designId","privateDesignId","processCreatePrivateDesignFromDesign","createPrivateDesignFromResource","resourceId","processCreatePrivateDesignFromResource","ColorSpace","ConflictType","DesignElementType","ImagePreviewFitMode","ImagePreviewFormat","ItemSourceType","ItemType","ProductPatchType","ProductPreviewFormat","ProductProofFormat","ProductProofInterpolationMode","DesignAtomsViewerApiClient","PlaceholderItemContentType","ApiException","message","isApiException","obj","blob","Observable","observer","reader","FileReader","onload","event","complete","readAsText","CreateApiClientConfiguration","apiConf","DesignAtomsApiClient.ApiClientConfiguration","DesignAtomsApiModule","forRoot","ngModule","providers","provide","DesignAtomsApiClient.API_BASE_URL","useValue","useFactory","bind","NgModule","declarations","imports","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated using the NSwag toolchain v13.15.5.0 (NJsonSchema v10.6.6.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, from as _observableFrom, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nexport const API_BASE_URL = new InjectionToken<string>('API_BASE_URL');\n\nexport class ApiClientConfiguration {\n apiUrl: string = 'http://localhost:54220';\n apiKey: string = 'ApiKey';\n private authorizationToken: string = null;\n async getAuthorizationToken(): Promise<string> { return this.authorizationToken; };\n setAuthorizationToken(token: string): void { this.authorizationToken = token; };\n}\n\nexport class ApiClientBase {\n constructor(private configuration: ApiClientConfiguration) { }\n\n protected async transformOptions(options: any): Promise<any> {\n const token = await this.configuration.getAuthorizationToken();\n if (token != null) {\n options.headers = (options.headers as HttpHeaders).append(\"authorization\", \"Bearer \" + token);\n } else {\n options.headers = (options.headers as HttpHeaders).append(\"X-API-Key\", this.configuration.apiKey);\n }\n //options = { ...options, transformResponse: (res) => res, responseType: 'json' };\n return options;\n }\n\n protected getBaseUrl(defultUrl: string) {\n if (this.configuration.apiUrl.endsWith('/')) {\n return this.configuration.apiUrl.slice(0, -1);\n }\n return this.configuration.apiUrl;\n }\n\n protected transformResult(url: string, res: HttpResponseBase, cb: (res: HttpResponseBase) => Observable<any>): Observable<any> {\n return cb(res);\n }\n}\n\nexport interface IBuildInfoApiClient {\n /**\n * Get assembly build info.\n * @return Success\n */\n headInfo(): Observable<void>;\n /**\n * Get assembly build info.\n * @return Success\n */\n getInfo(): Observable<BuildInfoModel>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BuildInfoApiClient extends ApiClientBase implements IBuildInfoApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Get assembly build info.\n * @return Success\n */\n headInfo(): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/info\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"head\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processHeadInfo(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processHeadInfo(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processHeadInfo(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Get assembly build info.\n * @return Success\n */\n getInfo(): Observable<BuildInfoModel> {\n let url_ = this.baseUrl + \"/api/atoms/v1/info\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetInfo(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetInfo(<any>r));\n } catch (e) {\n return <Observable<BuildInfoModel>><any>_observableThrow(e);\n }\n } else\n return <Observable<BuildInfoModel>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetInfo(response: HttpResponseBase): Observable<BuildInfoModel> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <BuildInfoModel>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<BuildInfoModel>(<any>null);\n }\n}\n\nexport interface IDesignAtomsCompatibilityApiClient {\n /**\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId: number, body?: FontsMethodData | undefined): Observable<string>;\n /**\n * @return Success\n */\n fonts(tenantId: number, psName: string): Observable<FileResponse>;\n /**\n * @param body (optional) \n * @return Success\n */\n getColorPreview(tenantId: number, body?: GetColorPreviewRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n getColorPreviews(tenantId: number, body?: GetColorPreviewsRequest | undefined): Observable<any>;\n /**\n * @param fontKey (optional) \n * @return Success\n */\n getCssFont(tenantId: number, fontKey?: string | null | undefined): Observable<FileResponse>;\n /**\n * @return Success\n */\n getFallbackFonts(tenantId: number): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId: number, body?: GetImageSizeRequest | undefined): Observable<NullAbleSize>;\n /**\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId: number, body?: GetShapeBoundsRequest | undefined): Observable<RectangleF>;\n /**\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId: number, body?: any | undefined): Observable<any>;\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @return Success\n */\n img(tenantId: number, f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined): Observable<FileResponse>;\n /**\n * @return Success\n */\n getLicense(tenantId: number): Observable<any>;\n /**\n * @param f (optional) \n * @return Success\n */\n pth(tenantId: number, f?: string | null | undefined): Observable<FileResponse>;\n /**\n * @param image (optional) \n * @return Success\n */\n resource(tenantId: number, image?: string | null | undefined): Observable<FileResponse>;\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @return Success\n */\n svg(tenantId: number, f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined): Observable<FileResponse>;\n /**\n * @param f (optional) \n * @return Success\n */\n txt(tenantId: number, f?: string | null | undefined): Observable<FileResponse>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateAutoScaledTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId: number, body?: UpdateColorsRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId: number, body?: MultiCallRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId: number, body?: UpdateImageHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsCompatibilityApiClient extends ApiClientBase implements IDesignAtomsCompatibilityApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId: number, body?: FontsMethodData | undefined): Observable<string> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/cssfonts\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"text/css\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCssFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCssFonts(<any>r));\n } catch (e) {\n return <Observable<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processCssFonts(response: HttpResponseBase): Observable<string> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <string>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<string>(<any>null);\n }\n\n /**\n * @return Success\n */\n fonts(tenantId: number, psName: string): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/fonts/{psName}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (psName === undefined || psName === null)\n throw new Error(\"The parameter 'psName' must be defined.\");\n url_ = url_.replace(\"{psName}\", encodeURIComponent(\"\" + psName));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processFonts(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processFonts(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getColorPreview(tenantId: number, body?: GetColorPreviewRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetColorPreview\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreview(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreview(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetColorPreview(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getColorPreviews(tenantId: number, body?: GetColorPreviewsRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetColorPreviews\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreviews(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreviews(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetColorPreviews(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param fontKey (optional) \n * @return Success\n */\n getCssFont(tenantId: number, fontKey?: string | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetCssFont?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (fontKey !== undefined && fontKey !== null)\n url_ += \"fontKey=\" + encodeURIComponent(\"\" + fontKey) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetCssFont(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetCssFont(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetCssFont(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @return Success\n */\n getFallbackFonts(tenantId: number): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetFallbackFonts\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetFallbackFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetFallbackFonts(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetFallbackFonts(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId: number, body?: GetImageSizeRequest | undefined): Observable<NullAbleSize> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetImageSize\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetImageSize(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetImageSize(<any>r));\n } catch (e) {\n return <Observable<NullAbleSize>><any>_observableThrow(e);\n }\n } else\n return <Observable<NullAbleSize>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetImageSize(response: HttpResponseBase): Observable<NullAbleSize> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <NullAbleSize>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<NullAbleSize>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId: number, body?: GetShapeBoundsRequest | undefined): Observable<RectangleF> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetShapeBounds\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetShapeBounds(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetShapeBounds(<any>r));\n } catch (e) {\n return <Observable<RectangleF>><any>_observableThrow(e);\n }\n } else\n return <Observable<RectangleF>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetShapeBounds(response: HttpResponseBase): Observable<RectangleF> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <RectangleF>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<RectangleF>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId: number, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/GetWatermarkItems\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetWatermarkItems(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetWatermarkItems(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetWatermarkItems(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @return Success\n */\n img(tenantId: number, f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/img?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (w !== undefined && w !== null)\n url_ += \"w=\" + encodeURIComponent(\"\" + w) + \"&\";\n if (h !== undefined && h !== null)\n url_ += \"h=\" + encodeURIComponent(\"\" + h) + \"&\";\n if (cmyk !== undefined && cmyk !== null)\n url_ += \"cmyk=\" + encodeURIComponent(\"\" + cmyk) + \"&\";\n if (rgb !== undefined && rgb !== null)\n url_ += \"rgb=\" + encodeURIComponent(\"\" + rgb) + \"&\";\n if (grayscale !== undefined && grayscale !== null)\n url_ += \"grayscale=\" + encodeURIComponent(\"\" + grayscale) + \"&\";\n if (target !== undefined && target !== null)\n url_ += \"target=\" + encodeURIComponent(\"\" + target) + \"&\";\n if (sq !== undefined && sq !== null)\n url_ += \"sq=\" + encodeURIComponent(\"\" + sq) + \"&\";\n if (effect !== undefined && effect !== null)\n url_ += \"effect=\" + encodeURIComponent(\"\" + effect) + \"&\";\n if (kp !== undefined && kp !== null)\n url_ += \"kp=\" + encodeURIComponent(\"\" + kp) + \"&\";\n if (color !== undefined && color !== null)\n url_ += \"color=\" + encodeURIComponent(\"\" + color) + \"&\";\n if (obm !== undefined && obm !== null)\n url_ += \"obm=\" + encodeURIComponent(\"\" + obm) + \"&\";\n if (oo !== undefined && oo !== null)\n url_ += \"oo=\" + encodeURIComponent(\"\" + oo) + \"&\";\n if (alphaMask !== undefined && alphaMask !== null)\n url_ += \"alphaMask=\" + encodeURIComponent(\"\" + alphaMask) + \"&\";\n if (page !== undefined && page !== null)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (colorizeColor !== undefined && colorizeColor !== null)\n url_ += \"colorizeColor=\" + encodeURIComponent(\"\" + colorizeColor) + \"&\";\n if (rw !== undefined && rw !== null)\n url_ += \"rw=\" + encodeURIComponent(\"\" + rw) + \"&\";\n if (rh !== undefined && rh !== null)\n url_ += \"rh=\" + encodeURIComponent(\"\" + rh) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processImg(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processImg(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processImg(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @return Success\n */\n getLicense(tenantId: number): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/license\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetLicense(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetLicense(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetLicense(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @return Success\n */\n pth(tenantId: number, f?: string | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/pth?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processPth(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processPth(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processPth(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param image (optional) \n * @return Success\n */\n resource(tenantId: number, image?: string | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/resource?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (image !== undefined && image !== null)\n url_ += \"image=\" + encodeURIComponent(\"\" + image) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processResource(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processResource(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @return Success\n */\n svg(tenantId: number, f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/svg?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (w !== undefined && w !== null)\n url_ += \"w=\" + encodeURIComponent(\"\" + w) + \"&\";\n if (h !== undefined && h !== null)\n url_ += \"h=\" + encodeURIComponent(\"\" + h) + \"&\";\n if (cmyk !== undefined && cmyk !== null)\n url_ += \"cmyk=\" + encodeURIComponent(\"\" + cmyk) + \"&\";\n if (rgb !== undefined && rgb !== null)\n url_ += \"rgb=\" + encodeURIComponent(\"\" + rgb) + \"&\";\n if (grayscale !== undefined && grayscale !== null)\n url_ += \"grayscale=\" + encodeURIComponent(\"\" + grayscale) + \"&\";\n if (target !== undefined && target !== null)\n url_ += \"target=\" + encodeURIComponent(\"\" + target) + \"&\";\n if (sq !== undefined && sq !== null)\n url_ += \"sq=\" + encodeURIComponent(\"\" + sq) + \"&\";\n if (effect !== undefined && effect !== null)\n url_ += \"effect=\" + encodeURIComponent(\"\" + effect) + \"&\";\n if (kp !== undefined && kp !== null)\n url_ += \"kp=\" + encodeURIComponent(\"\" + kp) + \"&\";\n if (color !== undefined && color !== null)\n url_ += \"color=\" + encodeURIComponent(\"\" + color) + \"&\";\n if (obm !== undefined && obm !== null)\n url_ += \"obm=\" + encodeURIComponent(\"\" + obm) + \"&\";\n if (oo !== undefined && oo !== null)\n url_ += \"oo=\" + encodeURIComponent(\"\" + oo) + \"&\";\n if (alphaMask !== undefined && alphaMask !== null)\n url_ += \"alphaMask=\" + encodeURIComponent(\"\" + alphaMask) + \"&\";\n if (page !== undefined && page !== null)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (colorizeColor !== undefined && colorizeColor !== null)\n url_ += \"colorizeColor=\" + encodeURIComponent(\"\" + colorizeColor) + \"&\";\n if (rw !== undefined && rw !== null)\n url_ += \"rw=\" + encodeURIComponent(\"\" + rw) + \"&\";\n if (rh !== undefined && rh !== null)\n url_ += \"rh=\" + encodeURIComponent(\"\" + rh) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSvg(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSvg(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processSvg(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @return Success\n */\n txt(tenantId: number, f?: string | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/txt?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processTxt(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processTxt(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processTxt(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateArchedTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateArchedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateArchedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateArchedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateAutoScaledTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateAutoScaledTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateAutoScaledTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateAutoScaledTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateAutoScaledTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateBarcodeItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateBarcodeItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateBarcodeItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateBarcodeItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateBoundedTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateBoundedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateBoundedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateBoundedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId: number, body?: UpdateColorsRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateByColorData\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateByColorData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateByColorData(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByColorData(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId: number, body?: MultiCallRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateByMultiCallRequest\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateByMultiCallRequest(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateByMultiCallRequest(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByMultiCallRequest(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateCurvedTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateCurvedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateCurvedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateCurvedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId: number, body?: UpdateImageHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateImageItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateImageItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateImageItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateImageItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdatePathBoundedTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdatePathBoundedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdatePathBoundedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdatePathBoundedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdatePlainTextItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdatePlainTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdatePlainTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdatePlainTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId: number, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/UpdateShapeItemHandler\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateShapeItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateShapeItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateShapeItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n}\n\nexport interface IDesignAtomsImagesApiClient {\n /**\n * Renders a preview of an image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreview(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderImagePreviewModel | undefined): Observable<FileResponse>;\n /**\n * Renders a preview of an uploaded image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param sourceFile (optional) \n * @param mockupOwnerId (optional) \n * @param mockupId (optional) \n * @param width (optional) \n * @param height (optional) \n * @param fileFormat (optional) \n * @param fitMode (optional) \n * @return Success\n */\n renderImagePreviewFromFile(attachment?: boolean | null | undefined, tenantId?: number | undefined, sourceFile?: FileParameter | null | undefined, mockupOwnerId?: string | null | undefined, mockupId?: string | null | undefined, width?: number | null | undefined, height?: number | null | undefined, fileFormat?: ImagePreviewFormat | null | undefined, fitMode?: ImagePreviewFitMode | null | undefined): Observable<FileResponse>;\n /**\n * Renders a preview of an uploaded image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param resourceOwnerId (optional) \n * @param resourceNamespace (optional) \n * @param resourceName (optional) \n * @param resourceSourceId (optional) \n * @param resourceType (optional) \n * @param anonymousAccess (optional) \n * @param overwriteExistingResource (optional) \n * @param sourceFile (optional) \n * @param mockupOwnerId (optional) \n * @param mockupId (optional) \n * @param width (optional) \n * @param height (optional) \n * @param fileFormat (optional) \n * @param fitMode (optional) \n * @return Success\n */\n renderImagePreviewFromFileToResource(tenantId?: number | undefined, resourceOwnerId?: string | null | undefined, resourceNamespace?: string | null | undefined, resourceName?: string | null | undefined, resourceSourceId?: string | null | undefined, resourceType?: string | null | undefined, anonymousAccess?: boolean | null | undefined, overwriteExistingResource?: boolean | null | undefined, sourceFile?: FileParameter | null | undefined, mockupOwnerId?: string | null | undefined, mockupId?: string | null | undefined, width?: number | null | undefined, height?: number | null | undefined, fileFormat?: ImagePreviewFormat | null | undefined, fitMode?: ImagePreviewFitMode | null | undefined): Observable<ResourceInfoDto>;\n /**\n * Renders a preview of a web image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewFromUrl(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderImagePreviewFromUrlModel | undefined): Observable<FileResponse>;\n /**\n * Renders a preview of a web image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewFromUrlToResource(tenantId?: number | undefined, body?: RenderImagePreviewFromUrlToResourceModel | undefined): Observable<ResourceInfoDto>;\n /**\n * Renders a preview of an image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewToResource(tenantId?: number | undefined, body?: RenderImagePreviewToResourceModel | undefined): Observable<ResourceInfoDto>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsImagesApiClient extends ApiClientBase implements IDesignAtomsImagesApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Renders a preview of an image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreview(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderImagePreviewModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreview(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreview(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreview(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a preview of an uploaded image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param sourceFile (optional) \n * @param mockupOwnerId (optional) \n * @param mockupId (optional) \n * @param width (optional) \n * @param height (optional) \n * @param fileFormat (optional) \n * @param fitMode (optional) \n * @return Success\n */\n renderImagePreviewFromFile(attachment?: boolean | null | undefined, tenantId?: number | undefined, sourceFile?: FileParameter | null | undefined, mockupOwnerId?: string | null | undefined, mockupId?: string | null | undefined, width?: number | null | undefined, height?: number | null | undefined, fileFormat?: ImagePreviewFormat | null | undefined, fitMode?: ImagePreviewFitMode | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/from-file?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n if (mockupOwnerId !== null && mockupOwnerId !== undefined)\n content_.append(\"mockupOwnerId\", mockupOwnerId.toString());\n if (mockupId !== null && mockupId !== undefined)\n content_.append(\"mockupId\", mockupId.toString());\n if (width !== null && width !== undefined)\n content_.append(\"width\", width.toString());\n if (height !== null && height !== undefined)\n content_.append(\"height\", height.toString());\n if (fileFormat !== null && fileFormat !== undefined)\n content_.append(\"fileFormat\", fileFormat.toString());\n if (fitMode !== null && fitMode !== undefined)\n content_.append(\"fitMode\", fitMode.toString());\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromFile(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromFile(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewFromFile(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a preview of an uploaded image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param resourceOwnerId (optional) \n * @param resourceNamespace (optional) \n * @param resourceName (optional) \n * @param resourceSourceId (optional) \n * @param resourceType (optional) \n * @param anonymousAccess (optional) \n * @param overwriteExistingResource (optional) \n * @param sourceFile (optional) \n * @param mockupOwnerId (optional) \n * @param mockupId (optional) \n * @param width (optional) \n * @param height (optional) \n * @param fileFormat (optional) \n * @param fitMode (optional) \n * @return Success\n */\n renderImagePreviewFromFileToResource(tenantId?: number | undefined, resourceOwnerId?: string | null | undefined, resourceNamespace?: string | null | undefined, resourceName?: string | null | undefined, resourceSourceId?: string | null | undefined, resourceType?: string | null | undefined, anonymousAccess?: boolean | null | undefined, overwriteExistingResource?: boolean | null | undefined, sourceFile?: FileParameter | null | undefined, mockupOwnerId?: string | null | undefined, mockupId?: string | null | undefined, width?: number | null | undefined, height?: number | null | undefined, fileFormat?: ImagePreviewFormat | null | undefined, fitMode?: ImagePreviewFitMode | null | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/from-file/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (resourceOwnerId !== null && resourceOwnerId !== undefined)\n content_.append(\"resourceOwnerId\", resourceOwnerId.toString());\n if (resourceNamespace !== null && resourceNamespace !== undefined)\n content_.append(\"resourceNamespace\", resourceNamespace.toString());\n if (resourceName !== null && resourceName !== undefined)\n content_.append(\"resourceName\", resourceName.toString());\n if (resourceSourceId !== null && resourceSourceId !== undefined)\n content_.append(\"resourceSourceId\", resourceSourceId.toString());\n if (resourceType !== null && resourceType !== undefined)\n content_.append(\"resourceType\", resourceType.toString());\n if (anonymousAccess !== null && anonymousAccess !== undefined)\n content_.append(\"anonymousAccess\", anonymousAccess.toString());\n if (overwriteExistingResource !== null && overwriteExistingResource !== undefined)\n content_.append(\"overwriteExistingResource\", overwriteExistingResource.toString());\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n if (mockupOwnerId !== null && mockupOwnerId !== undefined)\n content_.append(\"mockupOwnerId\", mockupOwnerId.toString());\n if (mockupId !== null && mockupId !== undefined)\n content_.append(\"mockupId\", mockupId.toString());\n if (width !== null && width !== undefined)\n content_.append(\"width\", width.toString());\n if (height !== null && height !== undefined)\n content_.append(\"height\", height.toString());\n if (fileFormat !== null && fileFormat !== undefined)\n content_.append(\"fileFormat\", fileFormat.toString());\n if (fitMode !== null && fitMode !== undefined)\n content_.append(\"fitMode\", fitMode.toString());\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromFileToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromFileToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewFromFileToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n\n /**\n * Renders a preview of a web image with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewFromUrl(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderImagePreviewFromUrlModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/from-url?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromUrl(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromUrl(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewFromUrl(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a preview of a web image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewFromUrlToResource(tenantId?: number | undefined, body?: RenderImagePreviewFromUrlToResourceModel | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/from-url/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromUrlToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewFromUrlToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewFromUrlToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n\n /**\n * Renders a preview of an image with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderImagePreviewToResource(tenantId?: number | undefined, body?: RenderImagePreviewToResourceModel | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/images/render-preview/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderImagePreviewToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderImagePreviewToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n}\n\nexport interface IDesignAtomsMockups3dApiClient {\n /**\n * Returns a 3D-Mockup attributes.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getAttributes(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<Mockup3dAttributesDto>;\n /**\n * Returns a 3D-Mockup content as protobuf binary stream.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getContentAsProtobuf(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Returns a 3D-Mockup geometry as binary stream.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getGeometryFile(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsMockups3dApiClient extends ApiClientBase implements IDesignAtomsMockups3dApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Returns a 3D-Mockup attributes.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getAttributes(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<Mockup3dAttributesDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/mockups-3d/{id}/attributes?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (ownerId !== undefined && ownerId !== null)\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetAttributes(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetAttributes(<any>r));\n } catch (e) {\n return <Observable<Mockup3dAttributesDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<Mockup3dAttributesDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetAttributes(response: HttpResponseBase): Observable<Mockup3dAttributesDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <Mockup3dAttributesDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<Mockup3dAttributesDto>(<any>null);\n }\n\n /**\n * Returns a 3D-Mockup content as protobuf binary stream.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getContentAsProtobuf(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/mockups-3d/{id}/content/as-protobuf?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (ownerId !== undefined && ownerId !== null)\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetContentAsProtobuf(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetContentAsProtobuf(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetContentAsProtobuf(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Returns a 3D-Mockup geometry as binary stream.\n * @param id 3D-Mockup identifier.\n * @param ownerId (optional) Private mockup owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getGeometryFile(id: string, ownerId?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/mockups-3d/{id}/geometry/file?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (ownerId !== undefined && ownerId !== null)\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetGeometryFile(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetGeometryFile(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetGeometryFile(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n}\n\nexport interface IDesignAtomsPalettesApiClient {\n /**\n * Returns a closest color to provided color in a specified palette.\n * @param paletteUID (optional) Palette UID.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Source color.\n * @return Success\n */\n findPaletteColor(paletteUID?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<Palette>;\n /**\n * Returns a serialized palette model by its identifier or UID.\n * @param id (optional) Palette identifier.\n * @param uid (optional) Palette UID.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getPaletteModel(id?: string | null | undefined, uid?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsPalettesApiClient extends ApiClientBase implements IDesignAtomsPalettesApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Returns a closest color to provided color in a specified palette.\n * @param paletteUID (optional) Palette UID.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Source color.\n * @return Success\n */\n findPaletteColor(paletteUID?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<Palette> {\n let url_ = this.baseUrl + \"/api/atoms/v1/palettes/find-color?\";\n if (paletteUID !== undefined && paletteUID !== null)\n url_ += \"paletteUID=\" + encodeURIComponent(\"\" + paletteUID) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processFindPaletteColor(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processFindPaletteColor(<any>r));\n } catch (e) {\n return <Observable<Palette>><any>_observableThrow(e);\n }\n } else\n return <Observable<Palette>><any>_observableThrow(response_);\n }));\n }\n\n protected processFindPaletteColor(response: HttpResponseBase): Observable<Palette> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <Palette>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<Palette>(<any>null);\n }\n\n /**\n * Returns a serialized palette model by its identifier or UID.\n * @param id (optional) Palette identifier.\n * @param uid (optional) Palette UID.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getPaletteModel(id?: string | null | undefined, uid?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/palettes/model?\";\n if (id !== undefined && id !== null)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (uid !== undefined && uid !== null)\n url_ += \"uid=\" + encodeURIComponent(\"\" + uid) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetPaletteModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetPaletteModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetPaletteModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n}\n\nexport interface IDesignAtomsPrintProductApiClient {\n /**\n * Patches a print-product of the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param patchType (optional) \n * @param replaceImageItemFileInfo_itemName (optional) \n * @param replaceImageItemFileInfo_sourceFile (optional) \n * @param replacePlaceholderItemContentInfo_placeholderItemName (optional) \n * @param replacePlaceholderItemContentInfo_newContentType (optional) \n * @param replacePlaceholderItemContentInfo_sourceFile (optional) \n * @return No Content\n */\n patchDesignProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, patchType?: ProductPatchType | undefined, replaceImageItemFileInfo_itemName?: string | null | undefined, replaceImageItemFileInfo_sourceFile?: FileParameter | null | undefined, replacePlaceholderItemContentInfo_placeholderItemName?: string | null | undefined, replacePlaceholderItemContentInfo_newContentType?: PlaceholderItemContentType | undefined, replacePlaceholderItemContentInfo_sourceFile?: FileParameter | null | undefined): Observable<void>;\n /**\n * Returns a list of print-product container descriptions of the specified design file.\n * @param id Design identifier.\n * @param surfaceId (optional) Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceContainers(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceContainerDto[]>;\n /**\n * Deletes a specified print-product container in an existing design file.\n * @param id Design identifier.\n * @param containerId Print-product container identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignSurfaceContainer(id: string, containerId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Returns a print-product container of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param containerId Print-product container identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceContainerModel(id: string, containerId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Updates a specified print-product container in an existing design file with the data provided as a json-serialized model.\n * @param id Design identifier.\n * @param containerId Print-product container identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-product container.\n * @return Success\n */\n updateDesignSurfaceContainerModel(id: string, containerId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Inserts a new print-product container provided as a json-serialized model to the certain surface in an existing design file.\n Print-product container identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId (optional) Print-product surface identifier.\n * @param index (optional) Container index within the conatiners list of a surface.\n * @param top (optional) Y axis position.\n * @param left (optional) X axis position.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a new print-product container.\n * @return Success\n */\n addDesignSurfaceContainerModel(id: string, surfaceId?: string | null | undefined, index?: number | null | undefined, top?: number | undefined, left?: number | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Returns a list of print-product items descriptions of the specified design file.\n * @param id Design identifier.\n * @param surfaceId (optional) Print-product surface identifier.\n * @param containerId (optional) Print-product container identifier.\n * @param parentItemId (optional) Print-product item identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceItems(id: string, surfaceId?: string | null | undefined, containerId?: string | null | undefined, parentItemId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceItemDto[]>;\n /**\n * Deletes a specified print-product item in an existing design file.\n * @param id Design identifier.\n * @param itemId Print-product item identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignSurfaceItem(id: string, itemId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Returns a print-product item of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param itemId Print-product item identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceItemModel(id: string, itemId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Updates a specified print-product surface item in an existing design file with the data provided as a json-serialized item model.\n * @param id Design identifier.\n * @param itemId Print-product item identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-product item.\n * @return Success\n */\n updateDesignSurfaceItemModel(id: string, itemId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Inserts a new print-product item provided as a json-serialized model to the specified surface in an existing design file.\n Item identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param containerId (optional) Parent surface identifier.\n * @param index (optional) Item index within the items list of a container.\n * @param top (optional) Y axis position.\n * @param left (optional) X axis position.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a new print-product item.\n * @return Success\n */\n addDesignSurfaceItemModel(id: string, containerId?: string | null | undefined, index?: number | null | undefined, top?: number | undefined, left?: number | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Returns a print-product of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignProductModel(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Updates a print-product provided as a json-serialized model is the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-product .\n * @return No Content\n */\n updateDesignProductModel(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<void>;\n /**\n * Returns a list of print-area descriptions of the specified design file.\n * @param id Design identifier.\n * @param surfaceId (optional) \n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignPrintAreas(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignPrintAreaDto[]>;\n /**\n * Inserts a new print-area created by the description at the specified position in an existing design file.\n Print-area identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Print-area description model.\n * @return Success\n */\n addDesignPrintArea(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: DesignPrintAreaParams | undefined): Observable<any>;\n /**\n * Updates a specified print-area using a description in an existing design file.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Print-area description model.\n * @return Success\n */\n updateDesignPrintArea(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: DesignPrintAreaParams | undefined): Observable<any>;\n /**\n * Deletes a specified print-area in an existing design file.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignPrintArea(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Returns a print-area of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignPrintAreaModel(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Updates a specified print-area in an existing design file with the data provided as a json-serialized print-area model.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-area.\n * @return Success\n */\n updateDesignPrintAreaModel(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Inserts a new print-area provided as a json-serialized model at the specified position in an existing design file.\n Print-area identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId (optional) Parent surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json serialized model of a print-area.\n * @return Success\n */\n addDesignPrintAreaModel(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Returns a list of print-product surfaces descriptions of the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaces(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceDto[]>;\n /**\n * Deletes a specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignSurface(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Returns a down-mockup description of the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceDownMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceMockupDto>;\n /**\n * Updates a content file of down-mockup for the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param position_top (optional) \n * @param position_left (optional) \n * @param sourceFile (optional) \n * @return Success\n */\n updateDesignSurfaceDownMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, position_top?: number | undefined, position_left?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any>;\n /**\n * Returns a content file for down-mockup of the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceDownMockupContent(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Returns an up-mockup description of the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceUpMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceMockupDto>;\n /**\n * Updates a content file of up-mockup for the specified print-product surface in an existing design.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param position_top (optional) \n * @param position_left (optional) \n * @param sourceFile (optional) \n * @return Success\n */\n updateDesignSurfaceUpMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, position_top?: number | undefined, position_left?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any>;\n /**\n * Returns a content file for up-mockup of the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceUpMockupContent(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Returns a print-product surface of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param surfaceId Surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceModel(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Replaces a specified print-product surface in an existing design file with the data provided as a json-serialized surface model.\n All design elements identifiers within the surface (including surface identifier) will be reset by auto-generated values to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-product surface.\n * @return Success\n */\n replaceDesignSurfaceModel(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Inserts a new surface provided as a json-serialized model at the specified position in an existing design file.\n All design elements identifiers within the surface (including surface identifier) will be reset by auto-generated values to prevent identifiers collisions.\n * @param id Design identifier.\n * @param index (optional) Surface index within the surfaces list of a design.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-prouduct surface.\n * @return Success\n */\n addDesignSurfaceModel(id: string, index?: number | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsPrintProductApiClient extends ApiClientBase implements IDesignAtomsPrintProductApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Patches a print-product of the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param patchType (optional) \n * @param replaceImageItemFileInfo_itemName (optional) \n * @param replaceImageItemFileInfo_sourceFile (optional) \n * @param replacePlaceholderItemContentInfo_placeholderItemName (optional) \n * @param replacePlaceholderItemContentInfo_newContentType (optional) \n * @param replacePlaceholderItemContentInfo_sourceFile (optional) \n * @return No Content\n */\n patchDesignProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, patchType?: ProductPatchType | undefined, replaceImageItemFileInfo_itemName?: string | null | undefined, replaceImageItemFileInfo_sourceFile?: FileParameter | null | undefined, replacePlaceholderItemContentInfo_placeholderItemName?: string | null | undefined, replacePlaceholderItemContentInfo_newContentType?: PlaceholderItemContentType | undefined, replacePlaceholderItemContentInfo_sourceFile?: FileParameter | null | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (patchType === null || patchType === undefined)\n throw new Error(\"The parameter 'patchType' cannot be null.\");\n else\n content_.append(\"patchType\", patchType.toString());\n if (replaceImageItemFileInfo_itemName !== null && replaceImageItemFileInfo_itemName !== undefined)\n content_.append(\"replaceImageItemFileInfo.itemName\", replaceImageItemFileInfo_itemName.toString());\n if (replaceImageItemFileInfo_sourceFile !== null && replaceImageItemFileInfo_sourceFile !== undefined)\n content_.append(\"replaceImageItemFileInfo.sourceFile\", replaceImageItemFileInfo_sourceFile.data, replaceImageItemFileInfo_sourceFile.fileName ? replaceImageItemFileInfo_sourceFile.fileName : \"replaceImageItemFileInfo.sourceFile\");\n if (replacePlaceholderItemContentInfo_placeholderItemName !== null && replacePlaceholderItemContentInfo_placeholderItemName !== undefined)\n content_.append(\"replacePlaceholderItemContentInfo.placeholderItemName\", replacePlaceholderItemContentInfo_placeholderItemName.toString());\n if (replacePlaceholderItemContentInfo_newContentType === null || replacePlaceholderItemContentInfo_newContentType === undefined)\n throw new Error(\"The parameter 'replacePlaceholderItemContentInfo_newContentType' cannot be null.\");\n else\n content_.append(\"replacePlaceholderItemContentInfo.newContentType\", replacePlaceholderItemContentInfo_newContentType.toString());\n if (replacePlaceholderItemContentInfo_sourceFile !== null && replacePlaceholderItemContentInfo_sourceFile !== undefined)\n content_.append(\"replacePlaceholderItemContentInfo.sourceFile\", replacePlaceholderItemContentInfo_sourceFile.data, replacePlaceholderItemContentInfo_sourceFile.fileName ? replacePlaceholderItemContentInfo_sourceFile.fileName : \"replacePlaceholderItemContentInfo.sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"patch\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processPatchDesignProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processPatchDesignProduct(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processPatchDesignProduct(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a list of print-product container descriptions of the specified design file.\n * @param id Design identifier.\n * @param surfaceId (optional) Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceContainers(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceContainerDto[]> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/containers?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId !== undefined && surfaceId !== null)\n url_ += \"surfaceId=\" + encodeURIComponent(\"\" + surfaceId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceContainers(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceContainers(<any>r));\n } catch (e) {\n return <Observable<DesignSurfaceContainerDto[]>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignSurfaceContainerDto[]>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceContainers(response: HttpResponseBase): Observable<DesignSurfaceContainerDto[]> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignSurfaceContainerDto[]>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignSurfaceContainerDto[]>(<any>null);\n }\n\n /**\n * Deletes a specified print-product container in an existing design file.\n * @param id Design identifier.\n * @param containerId Print-product container identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignSurfaceContainer(id: string, containerId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/containers/{containerId}?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (containerId === undefined || containerId === null)\n throw new Error(\"The parameter 'containerId' must be defined.\");\n url_ = url_.replace(\"{containerId}\", encodeURIComponent(\"\" + containerId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"delete\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignSurfaceContainer(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignSurfaceContainer(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processDeleteDesignSurfaceContainer(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a print-product container of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param containerId Print-product container identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceContainerModel(id: string, containerId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/containers/{containerId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (containerId === undefined || containerId === null)\n throw new Error(\"The parameter 'containerId' must be defined.\");\n url_ = url_.replace(\"{containerId}\", encodeURIComponent(\"\" + containerId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceContainerModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceContainerModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceContainerModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Updates a specified print-product container in an existing design file with the data provided as a json-serialized model.\n * @param id Design identifier.\n * @param containerId Print-product container identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-product container.\n * @return Success\n */\n updateDesignSurfaceContainerModel(id: string, containerId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/containers/{containerId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (containerId === undefined || containerId === null)\n throw new Error(\"The parameter 'containerId' must be defined.\");\n url_ = url_.replace(\"{containerId}\", encodeURIComponent(\"\" + containerId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceContainerModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceContainerModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignSurfaceContainerModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Inserts a new print-product container provided as a json-serialized model to the certain surface in an existing design file.\n Print-product container identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId (optional) Print-product surface identifier.\n * @param index (optional) Container index within the conatiners list of a surface.\n * @param top (optional) Y axis position.\n * @param left (optional) X axis position.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a new print-product container.\n * @return Success\n */\n addDesignSurfaceContainerModel(id: string, surfaceId?: string | null | undefined, index?: number | null | undefined, top?: number | undefined, left?: number | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/containers/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId !== undefined && surfaceId !== null)\n url_ += \"surfaceId=\" + encodeURIComponent(\"\" + surfaceId) + \"&\";\n if (index !== undefined && index !== null)\n url_ += \"index=\" + encodeURIComponent(\"\" + index) + \"&\";\n if (top === null)\n throw new Error(\"The parameter 'top' cannot be null.\");\n else if (top !== undefined)\n url_ += \"top=\" + encodeURIComponent(\"\" + top) + \"&\";\n if (left === null)\n throw new Error(\"The parameter 'left' cannot be null.\");\n else if (left !== undefined)\n url_ += \"left=\" + encodeURIComponent(\"\" + left) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processAddDesignSurfaceContainerModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processAddDesignSurfaceContainerModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processAddDesignSurfaceContainerModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Returns a list of print-product items descriptions of the specified design file.\n * @param id Design identifier.\n * @param surfaceId (optional) Print-product surface identifier.\n * @param containerId (optional) Print-product container identifier.\n * @param parentItemId (optional) Print-product item identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceItems(id: string, surfaceId?: string | null | undefined, containerId?: string | null | undefined, parentItemId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceItemDto[]> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/items?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId !== undefined && surfaceId !== null)\n url_ += \"surfaceId=\" + encodeURIComponent(\"\" + surfaceId) + \"&\";\n if (containerId !== undefined && containerId !== null)\n url_ += \"containerId=\" + encodeURIComponent(\"\" + containerId) + \"&\";\n if (parentItemId !== undefined && parentItemId !== null)\n url_ += \"parentItemId=\" + encodeURIComponent(\"\" + parentItemId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceItems(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceItems(<any>r));\n } catch (e) {\n return <Observable<DesignSurfaceItemDto[]>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignSurfaceItemDto[]>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceItems(response: HttpResponseBase): Observable<DesignSurfaceItemDto[]> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignSurfaceItemDto[]>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignSurfaceItemDto[]>(<any>null);\n }\n\n /**\n * Deletes a specified print-product item in an existing design file.\n * @param id Design identifier.\n * @param itemId Print-product item identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignSurfaceItem(id: string, itemId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/items/{itemId}?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (itemId === undefined || itemId === null)\n throw new Error(\"The parameter 'itemId' must be defined.\");\n url_ = url_.replace(\"{itemId}\", encodeURIComponent(\"\" + itemId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"delete\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignSurfaceItem(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignSurfaceItem(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processDeleteDesignSurfaceItem(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a print-product item of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param itemId Print-product item identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceItemModel(id: string, itemId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/items/{itemId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (itemId === undefined || itemId === null)\n throw new Error(\"The parameter 'itemId' must be defined.\");\n url_ = url_.replace(\"{itemId}\", encodeURIComponent(\"\" + itemId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceItemModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceItemModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceItemModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Updates a specified print-product surface item in an existing design file with the data provided as a json-serialized item model.\n * @param id Design identifier.\n * @param itemId Print-product item identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-product item.\n * @return Success\n */\n updateDesignSurfaceItemModel(id: string, itemId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/items/{itemId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (itemId === undefined || itemId === null)\n throw new Error(\"The parameter 'itemId' must be defined.\");\n url_ = url_.replace(\"{itemId}\", encodeURIComponent(\"\" + itemId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceItemModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceItemModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignSurfaceItemModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Inserts a new print-product item provided as a json-serialized model to the specified surface in an existing design file.\n Item identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param containerId (optional) Parent surface identifier.\n * @param index (optional) Item index within the items list of a container.\n * @param top (optional) Y axis position.\n * @param left (optional) X axis position.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a new print-product item.\n * @return Success\n */\n addDesignSurfaceItemModel(id: string, containerId?: string | null | undefined, index?: number | null | undefined, top?: number | undefined, left?: number | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/items/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (containerId !== undefined && containerId !== null)\n url_ += \"containerId=\" + encodeURIComponent(\"\" + containerId) + \"&\";\n if (index !== undefined && index !== null)\n url_ += \"index=\" + encodeURIComponent(\"\" + index) + \"&\";\n if (top === null)\n throw new Error(\"The parameter 'top' cannot be null.\");\n else if (top !== undefined)\n url_ += \"top=\" + encodeURIComponent(\"\" + top) + \"&\";\n if (left === null)\n throw new Error(\"The parameter 'left' cannot be null.\");\n else if (left !== undefined)\n url_ += \"left=\" + encodeURIComponent(\"\" + left) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processAddDesignSurfaceItemModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processAddDesignSurfaceItemModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processAddDesignSurfaceItemModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Returns a print-product of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignProductModel(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignProductModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignProductModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignProductModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Updates a print-product provided as a json-serialized model is the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-product .\n * @return No Content\n */\n updateDesignProductModel(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignProductModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignProductModel(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignProductModel(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a list of print-area descriptions of the specified design file.\n * @param id Design identifier.\n * @param surfaceId (optional) \n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignPrintAreas(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignPrintAreaDto[]> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId !== undefined && surfaceId !== null)\n url_ += \"surfaceId=\" + encodeURIComponent(\"\" + surfaceId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignPrintAreas(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignPrintAreas(<any>r));\n } catch (e) {\n return <Observable<DesignPrintAreaDto[]>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignPrintAreaDto[]>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignPrintAreas(response: HttpResponseBase): Observable<DesignPrintAreaDto[]> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignPrintAreaDto[]>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignPrintAreaDto[]>(<any>null);\n }\n\n /**\n * Inserts a new print-area created by the description at the specified position in an existing design file.\n Print-area identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Print-area description model.\n * @return Success\n */\n addDesignPrintArea(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: DesignPrintAreaParams | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processAddDesignPrintArea(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processAddDesignPrintArea(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processAddDesignPrintArea(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Updates a specified print-area using a description in an existing design file.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Print-area description model.\n * @return Success\n */\n updateDesignPrintArea(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: DesignPrintAreaParams | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas/{printAreaId}?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (printAreaId === undefined || printAreaId === null)\n throw new Error(\"The parameter 'printAreaId' must be defined.\");\n url_ = url_.replace(\"{printAreaId}\", encodeURIComponent(\"\" + printAreaId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignPrintArea(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignPrintArea(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignPrintArea(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Deletes a specified print-area in an existing design file.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignPrintArea(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas/{printAreaId}?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (printAreaId === undefined || printAreaId === null)\n throw new Error(\"The parameter 'printAreaId' must be defined.\");\n url_ = url_.replace(\"{printAreaId}\", encodeURIComponent(\"\" + printAreaId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"delete\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignPrintArea(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignPrintArea(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processDeleteDesignPrintArea(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a print-area of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignPrintAreaModel(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas/{printAreaId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (printAreaId === undefined || printAreaId === null)\n throw new Error(\"The parameter 'printAreaId' must be defined.\");\n url_ = url_.replace(\"{printAreaId}\", encodeURIComponent(\"\" + printAreaId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignPrintAreaModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignPrintAreaModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignPrintAreaModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Updates a specified print-area in an existing design file with the data provided as a json-serialized print-area model.\n * @param id Design identifier.\n * @param printAreaId Design print-area identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-area.\n * @return Success\n */\n updateDesignPrintAreaModel(id: string, printAreaId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas/{printAreaId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (printAreaId === undefined || printAreaId === null)\n throw new Error(\"The parameter 'printAreaId' must be defined.\");\n url_ = url_.replace(\"{printAreaId}\", encodeURIComponent(\"\" + printAreaId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignPrintAreaModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignPrintAreaModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignPrintAreaModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Inserts a new print-area provided as a json-serialized model at the specified position in an existing design file.\n Print-area identifier will be reset by auto-generated value to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId (optional) Parent surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json serialized model of a print-area.\n * @return Success\n */\n addDesignPrintAreaModel(id: string, surfaceId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/print-areas/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId !== undefined && surfaceId !== null)\n url_ += \"surfaceId=\" + encodeURIComponent(\"\" + surfaceId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processAddDesignPrintAreaModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processAddDesignPrintAreaModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processAddDesignPrintAreaModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Returns a list of print-product surfaces descriptions of the specified design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaces(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceDto[]> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaces(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaces(<any>r));\n } catch (e) {\n return <Observable<DesignSurfaceDto[]>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignSurfaceDto[]>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaces(response: HttpResponseBase): Observable<DesignSurfaceDto[]> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignSurfaceDto[]>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignSurfaceDto[]>(<any>null);\n }\n\n /**\n * Deletes a specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return No Content\n */\n deleteDesignSurface(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"delete\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignSurface(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processDeleteDesignSurface(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processDeleteDesignSurface(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns a down-mockup description of the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceDownMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceMockupDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-down?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceDownMockup(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceDownMockup(<any>r));\n } catch (e) {\n return <Observable<DesignSurfaceMockupDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignSurfaceMockupDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceDownMockup(response: HttpResponseBase): Observable<DesignSurfaceMockupDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignSurfaceMockupDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignSurfaceMockupDto>(<any>null);\n }\n\n /**\n * Updates a content file of down-mockup for the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param position_top (optional) \n * @param position_left (optional) \n * @param sourceFile (optional) \n * @return Success\n */\n updateDesignSurfaceDownMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, position_top?: number | undefined, position_left?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-down?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (position_top === null || position_top === undefined)\n throw new Error(\"The parameter 'position_top' cannot be null.\");\n else\n content_.append(\"position.top\", position_top.toString());\n if (position_left === null || position_left === undefined)\n throw new Error(\"The parameter 'position_left' cannot be null.\");\n else\n content_.append(\"position.left\", position_left.toString());\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"patch\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceDownMockup(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceDownMockup(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignSurfaceDownMockup(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Returns a content file for down-mockup of the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceDownMockupContent(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-down/file?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceDownMockupContent(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceDownMockupContent(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceDownMockupContent(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Returns an up-mockup description of the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceUpMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignSurfaceMockupDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-up?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceUpMockup(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceUpMockup(<any>r));\n } catch (e) {\n return <Observable<DesignSurfaceMockupDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignSurfaceMockupDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceUpMockup(response: HttpResponseBase): Observable<DesignSurfaceMockupDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignSurfaceMockupDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignSurfaceMockupDto>(<any>null);\n }\n\n /**\n * Updates a content file of up-mockup for the specified print-product surface in an existing design.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param position_top (optional) \n * @param position_left (optional) \n * @param sourceFile (optional) \n * @return Success\n */\n updateDesignSurfaceUpMockup(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, position_top?: number | undefined, position_left?: number | undefined, sourceFile?: FileParameter | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-up?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (position_top === null || position_top === undefined)\n throw new Error(\"The parameter 'position_top' cannot be null.\");\n else\n content_.append(\"position.top\", position_top.toString());\n if (position_left === null || position_left === undefined)\n throw new Error(\"The parameter 'position_left' cannot be null.\");\n else\n content_.append(\"position.left\", position_left.toString());\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"patch\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceUpMockup(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateDesignSurfaceUpMockup(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateDesignSurfaceUpMockup(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Returns a content file for up-mockup of the specified print-product surface in an existing design file.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceUpMockupContent(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/mockup-up/file?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceUpMockupContent(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceUpMockupContent(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceUpMockupContent(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Returns a print-product surface of the specified design file as a json-serialized model.\n * @param id Design identifier.\n * @param surfaceId Surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignSurfaceModel(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignSurfaceModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignSurfaceModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Replaces a specified print-product surface in an existing design file with the data provided as a json-serialized surface model.\n All design elements identifiers within the surface (including surface identifier) will be reset by auto-generated values to prevent identifiers collisions.\n * @param id Design identifier.\n * @param surfaceId Print-product surface identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-product surface.\n * @return Success\n */\n replaceDesignSurfaceModel(id: string, surfaceId: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/{surfaceId}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceId === undefined || surfaceId === null)\n throw new Error(\"The parameter 'surfaceId' must be defined.\");\n url_ = url_.replace(\"{surfaceId}\", encodeURIComponent(\"\" + surfaceId));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processReplaceDesignSurfaceModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processReplaceDesignSurfaceModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processReplaceDesignSurfaceModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Inserts a new surface provided as a json-serialized model at the specified position in an existing design file.\n All design elements identifiers within the surface (including surface identifier) will be reset by auto-generated values to prevent identifiers collisions.\n * @param id Design identifier.\n * @param index (optional) Surface index within the surfaces list of a design.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Json-serialized model of a print-prouduct surface.\n * @return Success\n */\n addDesignSurfaceModel(id: string, index?: number | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/print-product/surfaces/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (index !== undefined && index !== null)\n url_ += \"index=\" + encodeURIComponent(\"\" + index) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processAddDesignSurfaceModel(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processAddDesignSurfaceModel(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processAddDesignSurfaceModel(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n}\n\nexport interface IDesignAtomsPrintProductItemsApiClient {\n /**\n * Apply effects to print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n applyItemEffects(tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * Extracts print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Extraction parameters.\n * @return Success\n */\n extractItemImage(tenantId?: number | undefined, body?: ExtractItemImageModel | undefined): Observable<FileResponse>;\n /**\n * Flattens print-product items.\n * @param paletteUID (optional) \n * @param tenantId (optional) Tenant identifier\n * @param body (optional) List of print-product items to flatten.\n * @return Success\n */\n flattenItems(paletteUID?: string | null | undefined, tenantId?: number | undefined, body?: any[] | undefined): Observable<any>;\n /**\n * Creates print-product item from input image file.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceFile (optional) \n * @param paletteUID (optional) \n * @param preserveOriginalFile (optional) \n * @return Success\n */\n createItemFromFile(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceFile?: FileParameter | null | undefined, paletteUID?: string | null | undefined, preserveOriginalFile?: boolean | null | undefined): Observable<any>;\n /**\n * Creates multiple print-product items from input image files.\n * @param itemType (optional) Desired print-product items type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceFiles (optional) \n * @param paletteUID (optional) \n * @param preserveOriginalFile (optional) \n * @return Success\n */\n batchCreateItemsFromFile(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceFiles?: FileParameter[] | null | undefined, paletteUID?: string | null | undefined, preserveOriginalFile?: boolean | null | undefined): Observable<any>;\n /**\n * Creates print-product item from image file taken from storage.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n createItemFromStorage(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: CreateItemFromStorageModel | undefined): Observable<any>;\n /**\n * Creates multiple print-product items from the specified image files in storage.\n * @param itemType (optional) Desired items type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n batchCreateItemsFromStorage(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: BatchCreateItemsFromStorageModel | undefined): Observable<any>;\n /**\n * Creates print-product item from remote web image provided by URL.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n createItemFromUrl(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: CreateItemFromUrlModel | undefined): Observable<any>;\n /**\n * Creates multiple print-product items from remote web images provided by URLs list.\n * @param itemType (optional) Desired items type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n batchCreateItemsFromUrl(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: BatchCreateItemsFromUrlModel | undefined): Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsPrintProductItemsApiClient extends ApiClientBase implements IDesignAtomsPrintProductItemsApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Apply effects to print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n applyItemEffects(tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/apply-effects?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processApplyItemEffects(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processApplyItemEffects(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processApplyItemEffects(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Extracts print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Extraction parameters.\n * @return Success\n */\n extractItemImage(tenantId?: number | undefined, body?: ExtractItemImageModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/extract-image?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processExtractItemImage(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processExtractItemImage(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processExtractItemImage(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Flattens print-product items.\n * @param paletteUID (optional) \n * @param tenantId (optional) Tenant identifier\n * @param body (optional) List of print-product items to flatten.\n * @return Success\n */\n flattenItems(paletteUID?: string | null | undefined, tenantId?: number | undefined, body?: any[] | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/flatten?\";\n if (paletteUID !== undefined && paletteUID !== null)\n url_ += \"paletteUID=\" + encodeURIComponent(\"\" + paletteUID) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processFlattenItems(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processFlattenItems(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processFlattenItems(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates print-product item from input image file.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceFile (optional) \n * @param paletteUID (optional) \n * @param preserveOriginalFile (optional) \n * @return Success\n */\n createItemFromFile(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceFile?: FileParameter | null | undefined, paletteUID?: string | null | undefined, preserveOriginalFile?: boolean | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-file?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n if (paletteUID !== null && paletteUID !== undefined)\n content_.append(\"paletteUID\", paletteUID.toString());\n if (preserveOriginalFile !== null && preserveOriginalFile !== undefined)\n content_.append(\"preserveOriginalFile\", preserveOriginalFile.toString());\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromFile(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromFile(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateItemFromFile(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates multiple print-product items from input image files.\n * @param itemType (optional) Desired print-product items type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceFiles (optional) \n * @param paletteUID (optional) \n * @param preserveOriginalFile (optional) \n * @return Success\n */\n batchCreateItemsFromFile(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceFiles?: FileParameter[] | null | undefined, paletteUID?: string | null | undefined, preserveOriginalFile?: boolean | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-file/batch-create?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (sourceFiles !== null && sourceFiles !== undefined)\n sourceFiles.forEach(item_ => content_.append(\"sourceFiles\", item_.data, item_.fileName ? item_.fileName : \"sourceFiles\") );\n if (paletteUID !== null && paletteUID !== undefined)\n content_.append(\"paletteUID\", paletteUID.toString());\n if (preserveOriginalFile !== null && preserveOriginalFile !== undefined)\n content_.append(\"preserveOriginalFile\", preserveOriginalFile.toString());\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromFile(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromFile(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processBatchCreateItemsFromFile(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates print-product item from image file taken from storage.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n createItemFromStorage(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: CreateItemFromStorageModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-storage?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromStorage(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromStorage(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateItemFromStorage(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates multiple print-product items from the specified image files in storage.\n * @param itemType (optional) Desired items type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n batchCreateItemsFromStorage(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: BatchCreateItemsFromStorageModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-storage/batch-create?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromStorage(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromStorage(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processBatchCreateItemsFromStorage(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates print-product item from remote web image provided by URL.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n createItemFromUrl(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: CreateItemFromUrlModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-url?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromUrl(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateItemFromUrl(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateItemFromUrl(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates multiple print-product items from remote web images provided by URLs list.\n * @param itemType (optional) Desired items type.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return Success\n */\n batchCreateItemsFromUrl(itemType?: ItemType | null | undefined, tenantId?: number | undefined, body?: BatchCreateItemsFromUrlModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/items/from-url/batch-create?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromUrl(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processBatchCreateItemsFromUrl(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processBatchCreateItemsFromUrl(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n}\n\nexport interface IDesignAtomsServiceApiClient {\n /**\n * Creates new design file with specified parameters and saves it in storage.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design creation parameters.\n * @return Created\n */\n createDesign(privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: CreateDesignModel | undefined): Observable<DesignInfo>;\n /**\n * Returns image content of the background.\n * @param id Design identifier.\n * @param surfaceIndex (optional) Surface index.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n extractBackground(id: string, surfaceIndex?: number | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Sets specified editor-mockups for selected design surfaces.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return No Content\n */\n setEditorMockups(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: SetEditorMockupsModel | undefined): Observable<void>;\n /**\n * Returns design parameters stored in product model.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignParameters(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignParameters>;\n /**\n * Loads a data schema from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadDataSchema(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Loads a toggle set from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadToggleSet(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Returns variable items information for design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getVariables(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<VariablesModel>;\n /**\n * Saves variable items values for design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design variable values.\n * @return Success\n */\n setVariables(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: VariablesModel | undefined): Observable<void>;\n /**\n * Loads variable data printing information from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<VdpDataModel>;\n /**\n * Saves variable data printing information to design file and updates design in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized vdp data.\n * @return Success\n */\n saveVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: VdpDataModel | undefined): Observable<void>;\n /**\n * Deletes variable data printing information from design file and updates design file in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n deleteVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Converts colors for print-product item manipulations.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Convert colors operation parameters.\n * @return Success\n */\n convertColors(tenantId?: number | undefined, body?: ConvertColorsModel | undefined): Observable<any>;\n /**\n * Loads print-product from resource file taken from storage.\n * @param id (optional) Resource identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadProductFromResource(id?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Renders a product proof image with specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Preview parameters.\n * @return Success\n */\n renderProduct(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderProductModel | undefined): Observable<FileResponse>;\n /**\n * Renders a design preview with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignPreview(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderDesignPreviewModel | undefined): Observable<FileResponse>;\n /**\n * Renders a design preview with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignPreviewToResource(tenantId?: number | undefined, body?: RenderDesignPreviewToResourceModel | undefined): Observable<ResourceInfoDto>;\n /**\n * Renders a design proof with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with proof parameters.\n * @return Success\n */\n renderDesignProof(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderDesignProofModel | undefined): Observable<FileResponse>;\n /**\n * Renders a design proof with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignProofToResource(tenantId?: number | undefined, body?: RenderDesignProofToResourceModel | undefined): Observable<ResourceInfoDto>;\n /**\n * Loads print-product from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n * @deprecated\n */\n loadProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Saves print-product to design file and updates design file in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized product description.\n * @return Success\n * @deprecated\n */\n saveProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<void>;\n /**\n * Patches print-product in design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param patchType (optional) \n * @param replaceImageItemFileInfo_itemName (optional) \n * @param replaceImageItemFileInfo_sourceFile (optional) \n * @param replacePlaceholderItemContentInfo_placeholderItemName (optional) \n * @param replacePlaceholderItemContentInfo_newContentType (optional) \n * @param replacePlaceholderItemContentInfo_sourceFile (optional) \n * @return Success\n * @deprecated\n */\n patchProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, patchType?: ProductPatchType | undefined, replaceImageItemFileInfo_itemName?: string | null | undefined, replaceImageItemFileInfo_sourceFile?: FileParameter | null | undefined, replacePlaceholderItemContentInfo_placeholderItemName?: string | null | undefined, replacePlaceholderItemContentInfo_newContentType?: PlaceholderItemContentType | undefined, replacePlaceholderItemContentInfo_sourceFile?: FileParameter | null | undefined): Observable<void>;\n /**\n * Creates print-product item.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceType (optional) \n * @param sourceId (optional) \n * @param sourceOwnerId (optional) \n * @param url (optional) \n * @param sourceFile (optional) \n * @return Success\n * @deprecated\n */\n createItem(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceType?: ItemSourceType | null | undefined, sourceId?: string | null | undefined, sourceOwnerId?: string | null | undefined, url?: string | null | undefined, sourceFile?: FileParameter | null | undefined): Observable<any>;\n /**\n * Extracts print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Extraction parameters.\n * @return Success\n * @deprecated\n */\n extractItemImage(tenantId?: number | undefined, body?: ExtractItemImageModel | undefined): Observable<FileResponse>;\n /**\n * Flattens print-product items.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Items to flatten.\n * @return Success\n * @deprecated\n */\n flattenItems(tenantId?: number | undefined, body?: any[] | undefined): Observable<any>;\n /**\n * Creates a private design from a public design.\n * @param designId (optional) Public design identifier.\n * @param privateDesignId (optional) Private design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Created\n * @deprecated\n */\n createPrivateDesignFromDesign(designId?: string | null | undefined, privateDesignId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n /**\n * Creates a private design from a public resource.\n * @param resourceId (optional) Resource identifier.\n * @param privateDesignId (optional) Private design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier.\n * @return Created\n * @deprecated\n */\n createPrivateDesignFromResource(resourceId?: string | null | undefined, privateDesignId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsServiceApiClient extends ApiClientBase implements IDesignAtomsServiceApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * Creates new design file with specified parameters and saves it in storage.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design creation parameters.\n * @return Created\n */\n createDesign(privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: CreateDesignModel | undefined): Observable<DesignInfo> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs?\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateDesign(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateDesign(<any>r));\n } catch (e) {\n return <Observable<DesignInfo>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignInfo>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateDesign(response: HttpResponseBase): Observable<DesignInfo> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 201) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result201: any = null;\n result201 = _responseText === \"\" ? null : <DesignInfo>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result201);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignInfo>(<any>null);\n }\n\n /**\n * Returns image content of the background.\n * @param id Design identifier.\n * @param surfaceIndex (optional) Surface index.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n extractBackground(id: string, surfaceIndex?: number | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/background?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (surfaceIndex !== undefined && surfaceIndex !== null)\n url_ += \"surfaceIndex=\" + encodeURIComponent(\"\" + surfaceIndex) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processExtractBackground(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processExtractBackground(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processExtractBackground(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Sets specified editor-mockups for selected design surfaces.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Operation parameters.\n * @return No Content\n */\n setEditorMockups(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: SetEditorMockupsModel | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/editor-mockups?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSetEditorMockups(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSetEditorMockups(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processSetEditorMockups(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Returns design parameters stored in product model.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getDesignParameters(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<DesignParameters> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/parameters?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetDesignParameters(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetDesignParameters(<any>r));\n } catch (e) {\n return <Observable<DesignParameters>><any>_observableThrow(e);\n }\n } else\n return <Observable<DesignParameters>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetDesignParameters(response: HttpResponseBase): Observable<DesignParameters> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <DesignParameters>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<DesignParameters>(<any>null);\n }\n\n /**\n * Loads a data schema from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadDataSchema(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/schema?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadDataSchema(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadDataSchema(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadDataSchema(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Loads a toggle set from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadToggleSet(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/toggle-set?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadToggleSet(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadToggleSet(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadToggleSet(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Returns variable items information for design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getVariables(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<VariablesModel> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/variables?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetVariables(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetVariables(<any>r));\n } catch (e) {\n return <Observable<VariablesModel>><any>_observableThrow(e);\n }\n } else\n return <Observable<VariablesModel>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetVariables(response: HttpResponseBase): Observable<VariablesModel> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <VariablesModel>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<VariablesModel>(<any>null);\n }\n\n /**\n * Saves variable items values for design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design variable values.\n * @return Success\n */\n setVariables(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: VariablesModel | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/variables?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSetVariables(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSetVariables(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processSetVariables(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Loads variable data printing information from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<VdpDataModel> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdp-data?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadVdpData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadVdpData(<any>r));\n } catch (e) {\n return <Observable<VdpDataModel>><any>_observableThrow(e);\n }\n } else\n return <Observable<VdpDataModel>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadVdpData(response: HttpResponseBase): Observable<VdpDataModel> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <VdpDataModel>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<VdpDataModel>(<any>null);\n }\n\n /**\n * Saves variable data printing information to design file and updates design in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized vdp data.\n * @return Success\n */\n saveVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: VdpDataModel | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdp-data?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSaveVdpData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSaveVdpData(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processSaveVdpData(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Deletes variable data printing information from design file and updates design file in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n deleteVdpData(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdp-data?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"delete\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processDeleteVdpData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processDeleteVdpData(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processDeleteVdpData(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Converts colors for print-product item manipulations.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Convert colors operation parameters.\n * @return Success\n */\n convertColors(tenantId?: number | undefined, body?: ConvertColorsModel | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/convert-colors?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processConvertColors(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processConvertColors(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processConvertColors(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Loads print-product from resource file taken from storage.\n * @param id (optional) Resource identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadProductFromResource(id?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/from-resource/model?\";\n if (id !== undefined && id !== null)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadProductFromResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadProductFromResource(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadProductFromResource(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <UnprocessableDesignElementDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Renders a product proof image with specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Preview parameters.\n * @return Success\n */\n renderProduct(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderProductModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/print-product/render-proof?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderProduct(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderProduct(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a design preview with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignPreview(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderDesignPreviewModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/render-preview?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignPreview(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignPreview(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderDesignPreview(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a design preview with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignPreviewToResource(tenantId?: number | undefined, body?: RenderDesignPreviewToResourceModel | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/render-preview/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignPreviewToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignPreviewToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderDesignPreviewToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n\n /**\n * Renders a design proof with the specified parameters.\n * @param attachment (optional) If set to 'true', file will be provided as an attachment with unique filename supplied\n (default value is 'false').\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with proof parameters.\n * @return Success\n */\n renderDesignProof(attachment?: boolean | null | undefined, tenantId?: number | undefined, body?: RenderDesignProofModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/render-proof?\";\n if (attachment !== undefined && attachment !== null)\n url_ += \"attachment=\" + encodeURIComponent(\"\" + attachment) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignProof(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignProof(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderDesignProof(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Renders a design proof with the specified parameters and saves rendering result as resource.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Render model with preview parameters.\n * @return Success\n */\n renderDesignProofToResource(tenantId?: number | undefined, body?: RenderDesignProofToResourceModel | undefined): Observable<ResourceInfoDto> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/render-proof/to-resource?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignProofToResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processRenderDesignProofToResource(<any>r));\n } catch (e) {\n return <Observable<ResourceInfoDto>><any>_observableThrow(e);\n }\n } else\n return <Observable<ResourceInfoDto>><any>_observableThrow(response_);\n }));\n }\n\n protected processRenderDesignProofToResource(response: HttpResponseBase): Observable<ResourceInfoDto> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <ResourceInfoDto>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 409) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result409: any = null;\n result409 = _responseText === \"\" ? null : <GeneralConflictDto>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<ResourceInfoDto>(<any>null);\n }\n\n /**\n * Loads print-product from design file taken from storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Success\n * @deprecated\n */\n loadProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processLoadProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processLoadProduct(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processLoadProduct(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Saves print-product to design file and updates design file in storage.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Serialized product description.\n * @return Success\n * @deprecated\n */\n saveProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"put\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSaveProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSaveProduct(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processSaveProduct(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Patches print-product in design file.\n * @param id Design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @param patchType (optional) \n * @param replaceImageItemFileInfo_itemName (optional) \n * @param replaceImageItemFileInfo_sourceFile (optional) \n * @param replacePlaceholderItemContentInfo_placeholderItemName (optional) \n * @param replacePlaceholderItemContentInfo_newContentType (optional) \n * @param replacePlaceholderItemContentInfo_sourceFile (optional) \n * @return Success\n * @deprecated\n */\n patchProduct(id: string, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, patchType?: ProductPatchType | undefined, replaceImageItemFileInfo_itemName?: string | null | undefined, replaceImageItemFileInfo_sourceFile?: FileParameter | null | undefined, replacePlaceholderItemContentInfo_placeholderItemName?: string | null | undefined, replacePlaceholderItemContentInfo_newContentType?: PlaceholderItemContentType | undefined, replacePlaceholderItemContentInfo_sourceFile?: FileParameter | null | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/model?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (patchType === null || patchType === undefined)\n throw new Error(\"The parameter 'patchType' cannot be null.\");\n else\n content_.append(\"patchType\", patchType.toString());\n if (replaceImageItemFileInfo_itemName !== null && replaceImageItemFileInfo_itemName !== undefined)\n content_.append(\"replaceImageItemFileInfo.itemName\", replaceImageItemFileInfo_itemName.toString());\n if (replaceImageItemFileInfo_sourceFile !== null && replaceImageItemFileInfo_sourceFile !== undefined)\n content_.append(\"replaceImageItemFileInfo.sourceFile\", replaceImageItemFileInfo_sourceFile.data, replaceImageItemFileInfo_sourceFile.fileName ? replaceImageItemFileInfo_sourceFile.fileName : \"replaceImageItemFileInfo.sourceFile\");\n if (replacePlaceholderItemContentInfo_placeholderItemName !== null && replacePlaceholderItemContentInfo_placeholderItemName !== undefined)\n content_.append(\"replacePlaceholderItemContentInfo.placeholderItemName\", replacePlaceholderItemContentInfo_placeholderItemName.toString());\n if (replacePlaceholderItemContentInfo_newContentType === null || replacePlaceholderItemContentInfo_newContentType === undefined)\n throw new Error(\"The parameter 'replacePlaceholderItemContentInfo_newContentType' cannot be null.\");\n else\n content_.append(\"replacePlaceholderItemContentInfo.newContentType\", replacePlaceholderItemContentInfo_newContentType.toString());\n if (replacePlaceholderItemContentInfo_sourceFile !== null && replacePlaceholderItemContentInfo_sourceFile !== undefined)\n content_.append(\"replacePlaceholderItemContentInfo.sourceFile\", replacePlaceholderItemContentInfo_sourceFile.data, replacePlaceholderItemContentInfo_sourceFile.fileName ? replacePlaceholderItemContentInfo_sourceFile.fileName : \"replacePlaceholderItemContentInfo.sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"patch\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processPatchProduct(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processPatchProduct(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processPatchProduct(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Creates print-product item.\n * @param itemType (optional) Desired item type.\n * @param tenantId (optional) Tenant identifier\n * @param sourceType (optional) \n * @param sourceId (optional) \n * @param sourceOwnerId (optional) \n * @param url (optional) \n * @param sourceFile (optional) \n * @return Success\n * @deprecated\n */\n createItem(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceType?: ItemSourceType | null | undefined, sourceId?: string | null | undefined, sourceOwnerId?: string | null | undefined, url?: string | null | undefined, sourceFile?: FileParameter | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/model/items?\";\n if (itemType !== undefined && itemType !== null)\n url_ += \"itemType=\" + encodeURIComponent(\"\" + itemType) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (sourceType !== null && sourceType !== undefined)\n content_.append(\"sourceType\", sourceType.toString());\n if (sourceId !== null && sourceId !== undefined)\n content_.append(\"sourceId\", sourceId.toString());\n if (sourceOwnerId !== null && sourceOwnerId !== undefined)\n content_.append(\"sourceOwnerId\", sourceOwnerId.toString());\n if (url !== null && url !== undefined)\n content_.append(\"url\", url.toString());\n if (sourceFile !== null && sourceFile !== undefined)\n content_.append(\"sourceFile\", sourceFile.data, sourceFile.fileName ? sourceFile.fileName : \"sourceFile\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreateItem(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreateItem(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreateItem(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Extracts print-product item image.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Extraction parameters.\n * @return Success\n * @deprecated\n */\n extractItemImage(tenantId?: number | undefined, body?: ExtractItemImageModel | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/model/items/extract-image?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processExtractItemImage(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processExtractItemImage(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processExtractItemImage(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * Flattens print-product items.\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Items to flatten.\n * @return Success\n * @deprecated\n */\n flattenItems(tenantId?: number | undefined, body?: any[] | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/model/items/flatten?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processFlattenItems(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processFlattenItems(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processFlattenItems(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * Creates a private design from a public design.\n * @param designId (optional) Public design identifier.\n * @param privateDesignId (optional) Private design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier\n * @return Created\n * @deprecated\n */\n createPrivateDesignFromDesign(designId?: string | null | undefined, privateDesignId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/private-designs/from-design?\";\n if (designId !== undefined && designId !== null)\n url_ += \"designId=\" + encodeURIComponent(\"\" + designId) + \"&\";\n if (privateDesignId !== undefined && privateDesignId !== null)\n url_ += \"privateDesignId=\" + encodeURIComponent(\"\" + privateDesignId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreatePrivateDesignFromDesign(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreatePrivateDesignFromDesign(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreatePrivateDesignFromDesign(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 201) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n\n /**\n * Creates a private design from a public resource.\n * @param resourceId (optional) Resource identifier.\n * @param privateDesignId (optional) Private design identifier.\n * @param privateStorageOwner (optional) Private storage owner identifier.\n * @param tenantId (optional) Tenant identifier.\n * @return Created\n * @deprecated\n */\n createPrivateDesignFromResource(resourceId?: string | null | undefined, privateDesignId?: string | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/private-designs/from-resource?\";\n if (resourceId !== undefined && resourceId !== null)\n url_ += \"resourceId=\" + encodeURIComponent(\"\" + resourceId) + \"&\";\n if (privateDesignId !== undefined && privateDesignId !== null)\n url_ += \"privateDesignId=\" + encodeURIComponent(\"\" + privateDesignId) + \"&\";\n if (privateStorageOwner !== undefined && privateStorageOwner !== null)\n url_ += \"privateStorageOwner=\" + encodeURIComponent(\"\" + privateStorageOwner) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCreatePrivateDesignFromResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCreatePrivateDesignFromResource(<any>r));\n } catch (e) {\n return <Observable<void>><any>_observableThrow(e);\n }\n } else\n return <Observable<void>><any>_observableThrow(response_);\n }));\n }\n\n protected processCreatePrivateDesignFromResource(response: HttpResponseBase): Observable<void> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 201) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf<void>(<any>null);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<void>(<any>null);\n }\n}\n\nexport interface IDesignAtomsViewerApiClient {\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId?: number | undefined, body?: FontsMethodData | undefined): Observable<string>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n fonts(psName: string, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getColorPreview(tenantId?: number | undefined, body?: GetColorPreviewRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getColorPreviews(tenantId?: number | undefined, body?: GetColorPreviewsRequest | undefined): Observable<any>;\n /**\n * @param fontKey (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getCssFont(fontKey?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getFallbackFonts(tenantId?: number | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId?: number | undefined, body?: GetImageSizeRequest | undefined): Observable<NullAbleSize>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId?: number | undefined, body?: GetShapeBoundsRequest | undefined): Observable<RectangleF>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId?: number | undefined, body?: any | undefined): Observable<any>;\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n img(f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getLicense(tenantId?: number | undefined): Observable<any>;\n /**\n * @param f (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n pth(f?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param image (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n resource(image?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n svg(f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param f (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n txt(f?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateAutoScaledTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId?: number | undefined, body?: UpdateColorsRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId?: number | undefined, body?: MultiCallRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId?: number | undefined, body?: UpdateImageHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignAtomsViewerApiClient extends ApiClientBase implements IDesignAtomsViewerApiClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(ApiClientConfiguration) configuration: ApiClientConfiguration, @Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n super(configuration);\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId?: number | undefined, body?: FontsMethodData | undefined): Observable<string> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/cssfonts?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"text/css\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processCssFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processCssFonts(<any>r));\n } catch (e) {\n return <Observable<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processCssFonts(response: HttpResponseBase): Observable<string> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <string>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<string>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n fonts(psName: string, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/fonts/{psName}?\";\n if (psName === undefined || psName === null)\n throw new Error(\"The parameter 'psName' must be defined.\");\n url_ = url_.replace(\"{psName}\", encodeURIComponent(\"\" + psName));\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processFonts(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processFonts(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getColorPreview(tenantId?: number | undefined, body?: GetColorPreviewRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetColorPreview?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreview(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreview(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetColorPreview(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getColorPreviews(tenantId?: number | undefined, body?: GetColorPreviewsRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetColorPreviews?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreviews(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetColorPreviews(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetColorPreviews(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 400) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result400: any = null;\n result400 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param fontKey (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getCssFont(fontKey?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetCssFont?\";\n if (fontKey !== undefined && fontKey !== null)\n url_ += \"fontKey=\" + encodeURIComponent(\"\" + fontKey) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetCssFont(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetCssFont(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetCssFont(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getFallbackFonts(tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetFallbackFonts?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetFallbackFonts(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetFallbackFonts(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetFallbackFonts(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId?: number | undefined, body?: GetImageSizeRequest | undefined): Observable<NullAbleSize> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetImageSize?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetImageSize(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetImageSize(<any>r));\n } catch (e) {\n return <Observable<NullAbleSize>><any>_observableThrow(e);\n }\n } else\n return <Observable<NullAbleSize>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetImageSize(response: HttpResponseBase): Observable<NullAbleSize> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <NullAbleSize>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<NullAbleSize>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId?: number | undefined, body?: GetShapeBoundsRequest | undefined): Observable<RectangleF> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetShapeBounds?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetShapeBounds(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetShapeBounds(<any>r));\n } catch (e) {\n return <Observable<RectangleF>><any>_observableThrow(e);\n }\n } else\n return <Observable<RectangleF>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetShapeBounds(response: HttpResponseBase): Observable<RectangleF> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <RectangleF>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<RectangleF>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId?: number | undefined, body?: any | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/GetWatermarkItems?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetWatermarkItems(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetWatermarkItems(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetWatermarkItems(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n img(f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/img?\";\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (w !== undefined && w !== null)\n url_ += \"w=\" + encodeURIComponent(\"\" + w) + \"&\";\n if (h !== undefined && h !== null)\n url_ += \"h=\" + encodeURIComponent(\"\" + h) + \"&\";\n if (cmyk !== undefined && cmyk !== null)\n url_ += \"cmyk=\" + encodeURIComponent(\"\" + cmyk) + \"&\";\n if (rgb !== undefined && rgb !== null)\n url_ += \"rgb=\" + encodeURIComponent(\"\" + rgb) + \"&\";\n if (grayscale !== undefined && grayscale !== null)\n url_ += \"grayscale=\" + encodeURIComponent(\"\" + grayscale) + \"&\";\n if (target !== undefined && target !== null)\n url_ += \"target=\" + encodeURIComponent(\"\" + target) + \"&\";\n if (sq !== undefined && sq !== null)\n url_ += \"sq=\" + encodeURIComponent(\"\" + sq) + \"&\";\n if (effect !== undefined && effect !== null)\n url_ += \"effect=\" + encodeURIComponent(\"\" + effect) + \"&\";\n if (kp !== undefined && kp !== null)\n url_ += \"kp=\" + encodeURIComponent(\"\" + kp) + \"&\";\n if (color !== undefined && color !== null)\n url_ += \"color=\" + encodeURIComponent(\"\" + color) + \"&\";\n if (obm !== undefined && obm !== null)\n url_ += \"obm=\" + encodeURIComponent(\"\" + obm) + \"&\";\n if (oo !== undefined && oo !== null)\n url_ += \"oo=\" + encodeURIComponent(\"\" + oo) + \"&\";\n if (alphaMask !== undefined && alphaMask !== null)\n url_ += \"alphaMask=\" + encodeURIComponent(\"\" + alphaMask) + \"&\";\n if (page !== undefined && page !== null)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (colorizeColor !== undefined && colorizeColor !== null)\n url_ += \"colorizeColor=\" + encodeURIComponent(\"\" + colorizeColor) + \"&\";\n if (rw !== undefined && rw !== null)\n url_ += \"rw=\" + encodeURIComponent(\"\" + rw) + \"&\";\n if (rh !== undefined && rh !== null)\n url_ += \"rh=\" + encodeURIComponent(\"\" + rh) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processImg(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processImg(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processImg(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getLicense(tenantId?: number | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/license?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processGetLicense(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processGetLicense(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetLicense(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n pth(f?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/pth?\";\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processPth(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processPth(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processPth(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param image (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n resource(image?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/resource?\";\n if (image !== undefined && image !== null)\n url_ += \"image=\" + encodeURIComponent(\"\" + image) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processResource(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processResource(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processResource(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param w (optional) \n * @param h (optional) \n * @param cmyk (optional) \n * @param rgb (optional) \n * @param grayscale (optional) \n * @param target (optional) \n * @param sq (optional) \n * @param effect (optional) \n * @param kp (optional) \n * @param color (optional) \n * @param obm (optional) \n * @param oo (optional) \n * @param alphaMask (optional) \n * @param page (optional) \n * @param colorizeColor (optional) \n * @param rw (optional) \n * @param rh (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n svg(f?: string | null | undefined, w?: number | null | undefined, h?: number | null | undefined, cmyk?: string | null | undefined, rgb?: string | null | undefined, grayscale?: string | null | undefined, target?: string | null | undefined, sq?: boolean | null | undefined, effect?: string | null | undefined, kp?: boolean | null | undefined, color?: string | null | undefined, obm?: string | null | undefined, oo?: number | null | undefined, alphaMask?: boolean | null | undefined, page?: number | null | undefined, colorizeColor?: string | null | undefined, rw?: number | null | undefined, rh?: number | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/svg?\";\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (w !== undefined && w !== null)\n url_ += \"w=\" + encodeURIComponent(\"\" + w) + \"&\";\n if (h !== undefined && h !== null)\n url_ += \"h=\" + encodeURIComponent(\"\" + h) + \"&\";\n if (cmyk !== undefined && cmyk !== null)\n url_ += \"cmyk=\" + encodeURIComponent(\"\" + cmyk) + \"&\";\n if (rgb !== undefined && rgb !== null)\n url_ += \"rgb=\" + encodeURIComponent(\"\" + rgb) + \"&\";\n if (grayscale !== undefined && grayscale !== null)\n url_ += \"grayscale=\" + encodeURIComponent(\"\" + grayscale) + \"&\";\n if (target !== undefined && target !== null)\n url_ += \"target=\" + encodeURIComponent(\"\" + target) + \"&\";\n if (sq !== undefined && sq !== null)\n url_ += \"sq=\" + encodeURIComponent(\"\" + sq) + \"&\";\n if (effect !== undefined && effect !== null)\n url_ += \"effect=\" + encodeURIComponent(\"\" + effect) + \"&\";\n if (kp !== undefined && kp !== null)\n url_ += \"kp=\" + encodeURIComponent(\"\" + kp) + \"&\";\n if (color !== undefined && color !== null)\n url_ += \"color=\" + encodeURIComponent(\"\" + color) + \"&\";\n if (obm !== undefined && obm !== null)\n url_ += \"obm=\" + encodeURIComponent(\"\" + obm) + \"&\";\n if (oo !== undefined && oo !== null)\n url_ += \"oo=\" + encodeURIComponent(\"\" + oo) + \"&\";\n if (alphaMask !== undefined && alphaMask !== null)\n url_ += \"alphaMask=\" + encodeURIComponent(\"\" + alphaMask) + \"&\";\n if (page !== undefined && page !== null)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (colorizeColor !== undefined && colorizeColor !== null)\n url_ += \"colorizeColor=\" + encodeURIComponent(\"\" + colorizeColor) + \"&\";\n if (rw !== undefined && rw !== null)\n url_ += \"rw=\" + encodeURIComponent(\"\" + rw) + \"&\";\n if (rh !== undefined && rh !== null)\n url_ += \"rh=\" + encodeURIComponent(\"\" + rh) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processSvg(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processSvg(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processSvg(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param f (optional) \n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n txt(f?: string | null | undefined, tenantId?: number | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/txt?\";\n if (f !== undefined && f !== null)\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/octet-stream\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"get\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processTxt(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processTxt(<any>r));\n } catch (e) {\n return <Observable<FileResponse>><any>_observableThrow(e);\n }\n } else\n return <Observable<FileResponse>><any>_observableThrow(response_);\n }));\n }\n\n protected processTxt(response: HttpResponseBase): Observable<FileResponse> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return _observableOf({ fileName: fileName, data: <any>responseBlob, status: status, headers: _headers });\n } else if (status === 304) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Not Modified\", status, _responseText, _headers);\n }));\n } else if (status === 404) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result404: any = null;\n result404 = _responseText === \"\" ? null : <ProblemDetails>JSON.parse(_responseText, this.jsonParseReviver);\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<FileResponse>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateArchedTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateArchedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateArchedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateArchedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateAutoScaledTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateAutoScaledTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateAutoScaledTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateAutoScaledTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateAutoScaledTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateBarcodeItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateBarcodeItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateBarcodeItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateBarcodeItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateBoundedTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateBoundedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateBoundedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateBoundedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId?: number | undefined, body?: UpdateColorsRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateByColorData?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateByColorData(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateByColorData(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByColorData(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId?: number | undefined, body?: MultiCallRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateByMultiCallRequest?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateByMultiCallRequest(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateByMultiCallRequest(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByMultiCallRequest(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateCurvedTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateCurvedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateCurvedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateCurvedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId?: number | undefined, body?: UpdateImageHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateImageItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateImageItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateImageItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateImageItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdatePathBoundedTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdatePathBoundedTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdatePathBoundedTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdatePathBoundedTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdatePlainTextItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdatePlainTextItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdatePlainTextItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdatePlainTextItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/UpdateShapeItemHandler?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return _observableFrom(this.transformOptions(options_)).pipe(_observableMergeMap(transformedOptions_ => {\n return this.http.request(\"post\", url_, transformedOptions_);\n })).pipe(_observableMergeMap((response_: any) => {\n return this.transformResult(url_, response_, (r) => this.processUpdateShapeItemHandler(<any>r));\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.transformResult(url_, response_, (r) => this.processUpdateShapeItemHandler(<any>r));\n } catch (e) {\n return <Observable<any>><any>_observableThrow(e);\n }\n } else\n return <Observable<any>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateShapeItemHandler(response: HttpResponseBase): Observable<any> {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (<any>response).error instanceof Blob ? (<any>response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : <any>JSON.parse(_responseText, this.jsonParseReviver);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf<any>(<any>null);\n }\n}\n\n/** Batch create items from storage source operation parameters. */\nexport interface BatchCreateItemsFromStorageModel {\n /** Source image assets owner identifier. If value is set, all images should belong to a specified user. */\n sourceOwnerId?: string | null;\n /** Source image asset identifiers. */\n sourceIds?: string[] | null;\n /** Target palette UID. */\n paletteUID?: string | null;\n /** Indicates if resulting item should store original source file. */\n preserveOriginalFile?: boolean | null;\n}\n\n/** Batch create items from web source operation parameters. */\nexport interface BatchCreateItemsFromUrlModel {\n /** Source URLs. */\n urls?: string[] | null;\n /** Target palette UID. */\n paletteUID?: string | null;\n /** Headers that will be used to download remote image by URL.\nFor example, `Authorization` header can be placed here to provide access to images. */\n headers?: { [key: string]: string; } | null;\n /** Indicates if resulting item should store original source file. */\n preserveOriginalFile?: boolean | null;\n}\n\n/** Information about a service. */\nexport interface BuildInfoModel {\n /** Version number. */\n version?: string | null;\n /** Build date (UTC). */\n buildDate?: string | null;\n /** Build configuration (Debug | Release). */\n configuration?: string | null;\n /** Service name. */\n appName?: string | null;\n /** Aurigma.DesignAtoms version. */\n designAtomsVersion?: string | null;\n /** Aurigma.DesignAtoms.Model version. */\n designAtomsModelVersion?: string | null;\n}\n\nexport interface Color {\n readonly colorSpace?: ColorSpace;\n}\n\nexport enum ColorSpace {\n Rgb = \"Rgb\",\n Cmyk = \"Cmyk\",\n Grayscale = \"Grayscale\",\n Lab = \"Lab\",\n Spot = \"Spot\",\n}\n\n/** Conflict types. */\nexport enum ConflictType {\n NameConflict = \"NameConflict\",\n FolderOverwriteConflict = \"FolderOverwriteConflict\",\n IdConflict = \"IdConflict\",\n GeneralConflict = \"GeneralConflict\",\n}\n\n/** Convert colors operation parameters. */\nexport interface ConvertColorsModel {\n /** Serialized color description. */\n colors: any[];\n /** Source color profile description. */\n sourceColorProfile?: string | null;\n /** Destination color profile description. */\n destinationColorProfile?: string | null;\n /** Target color profile description. */\n targetDeviceColorProfile?: string | null;\n}\n\n/** Design creation parameters. */\nexport interface CreateDesignModel {\n /** Serialized product description. */\n product?: any | null;\n /** Serialized product data schema (base64 file stream). */\n dataSchema?: string | null;\n /** Design name. */\n name?: string | null;\n /** Design location (folder path). */\n path?: string | null;\n}\n\n/** Create item from storage source operation parameters. */\nexport interface CreateItemFromStorageModel {\n /** Source image asset owner identifier. If value is set, all images should belong to a specified user. */\n sourceOwnerId?: string | null;\n /** Source image asset identifier. */\n sourceId?: string | null;\n /** Target palette UID. */\n paletteUID?: string | null;\n /** Indicates if resulting item should store original source file. */\n preserveOriginalFile?: boolean | null;\n}\n\n/** Create item from web source operation parameters. */\nexport interface CreateItemFromUrlModel {\n /** Source URL. */\n url?: string | null;\n /** Target palette UID. */\n paletteUID?: string | null;\n /** Headers that will be used to download remote image by URL.\nFor example, `Authorization` header can be placed here to provide access to image. */\n headers?: { [key: string]: string; } | null;\n /** Indicates if resulting item should store original source file. */\n preserveOriginalFile?: boolean | null;\n}\n\nexport enum DesignElementType {\n Product = \"Product\",\n Design = \"Design\",\n Surface = \"Surface\",\n Container = \"Container\",\n PrintArea = \"PrintArea\",\n Item = \"Item\",\n}\n\nexport interface DesignInfo {\n id?: string | null;\n ownerId?: string | null;\n name?: string | null;\n private?: boolean;\n}\n\n/** Specific design parameters stored in product model. */\nexport interface DesignParameters {\n /** Design measure unit description. */\n measureUnit?: MeasureUnitInfo | null;\n /** Version of DesignAtoms library that used to save design file. */\n designAtomsVersion?: string | null;\n}\n\n/** Design print area parameters. */\nexport interface DesignPrintAreaDto {\n /** Print area identifier. */\n id?: string | null;\n /** Print area name. */\n name?: string | null;\n /** Parent surface identifier. */\n surfaceId?: string | null;\n /** Print area size. */\n size?: SizeDto | null;\n /** Print area position. */\n position?: PositionDto | null;\n /** Print area bleed. */\n bleed?: MarginDto | null;\n /** Print area slug. */\n slug?: MarginDto | null;\n}\n\n/** Design print area parameters. */\nexport interface DesignPrintAreaParams {\n /** Print area name. */\n name?: string | null;\n /** Parent surface identifier. */\n surfaceId?: string | null;\n /** Print area size. */\n size?: SizeModel | null;\n /** Print area position. */\n position?: PositionModel | null;\n /** Print area bleed. */\n bleed?: MarginModel | null;\n /** Print area slug. */\n slug?: MarginModel | null;\n}\n\n/** Print-product container description. */\nexport interface DesignSurfaceContainerDto {\n /** Container identifier. */\n id?: string | null;\n /** Container name. */\n name?: string | null;\n /** Parent surface identifier. */\n surfaceId?: string | null;\n /** Container index within containers list of a surface (0-based). */\n index?: number;\n /** Container size. */\n size?: SizeDto | null;\n /** Container position. */\n position?: PositionDto | null;\n}\n\n/** Print-product surface description. */\nexport interface DesignSurfaceDto {\n /** Surface identifier. */\n id?: string | null;\n /** Surface name. */\n name?: string | null;\n /** Surface index within surface list of a design (0-based). */\n index?: number;\n /** Surface size. */\n size?: SizeDto | null;\n}\n\n/** Print-product item description. */\nexport interface DesignSurfaceItemDto {\n /** Item identifier. */\n id?: string | null;\n /** Item name. */\n name?: string | null;\n /** Item type. */\n type?: string | null;\n /** Parent item identifier. */\n parentItemId?: string | null;\n /** Parent container identifier. */\n containerId?: string | null;\n /** Parent surface identifier. */\n surfaceId?: string | null;\n /** Item index within items list of a surface (0-based). */\n index?: number;\n /** Indicates if item is visible. */\n visible?: boolean;\n}\n\n/** Surface mockup parameters. */\nexport interface DesignSurfaceMockupDto {\n /** Mockup element position. */\n position?: PositionDto | null;\n /** Mockup element size. */\n size?: SizeDto | null;\n /** Parent surface identifier. */\n surfaceId?: string | null;\n /** Mockup image resolution (DPI). */\n resolution?: number;\n}\n\n/** Parameters of setting design surface mockup operation. */\nexport interface EditorMockupBindingModel {\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Private mockup owner identifier. Set `null` if public mockup is supposed to be used. */\n mockupOwnerId?: string | null;\n /** Target surface index. */\n surfaceIndex?: number;\n}\n\n/** Item extraction operation parameters. */\nexport interface ExtractItemImageModel {\n /** Serialized item description. */\n item: any;\n}\n\nexport interface FontsMethodData {\n requestedFontsByPsName?: string[] | null;\n advancedMode?: boolean;\n baseUrl?: string | null;\n}\n\n/** Information about operation conflict. */\nexport interface GeneralConflictDto {\n /** Problem description. */\n description?: string | null;\n /** Coflict type. */\n type?: ConflictType;\n}\n\nexport interface GetColorPreviewRequest {\n colorData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\nexport interface GetColorPreviewsRequest {\n colorData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\nexport interface GetImageSizeRequest {\n imageId?: string | null;\n pageIndex?: number;\n}\n\nexport interface GetShapeBoundsRequest {\n path?: string | null;\n}\n\n/** Image preview fit mode. */\nexport enum ImagePreviewFitMode {\n Fit = \"Fit\",\n Shrink = \"Shrink\",\n Resize = \"Resize\",\n Fill = \"Fill\",\n}\n\n/** Image preview file format. */\nexport enum ImagePreviewFormat {\n Jpeg = \"Jpeg\",\n Png = \"Png\",\n}\n\n/** Settings that describe image preview rendering parameters. */\nexport interface ImagePreviewRenderingConfig {\n /** Image preview width. */\n width?: number;\n /** Image preview height. */\n height?: number;\n /** Image preview file format. */\n fileFormat?: ImagePreviewFormat | null;\n /** Image preview fit mode. */\n fitMode?: ImagePreviewFitMode | null;\n}\n\n/** Item source types. */\nexport enum ItemSourceType {\n File = \"File\",\n ImageStorage = \"ImageStorage\",\n PrivateImageStorage = \"PrivateImageStorage\",\n Url = \"Url\",\n}\n\nexport enum ItemType {\n Image = \"Image\",\n Shape = \"Shape\",\n Clipart = \"Clipart\",\n Group = \"Group\",\n}\n\n/** Margins of the print-product element. */\nexport interface MarginDto {\n /** Print-product element top margin. */\n top?: number;\n /** Print-product element left margin. */\n left?: number;\n /** Print-product element right margin. */\n right?: number;\n /** Print-product element bottom margin. */\n bottom?: number;\n}\n\n/** Print-product element margin. */\nexport interface MarginModel {\n /** Top margin. */\n top?: number;\n /** Left margin. */\n left?: number;\n /** Right margin. */\n right?: number;\n /** Bottom margin. */\n bottom?: number;\n}\n\nexport interface MeasureUnitInfo {\n name?: string | null;\n shortName?: string | null;\n ratio?: number;\n}\n\nexport interface Mockup3dAttributesDto {\n data?: { [key: string]: string; } | null;\n}\n\nexport interface MultiCallRequest {\n items?: MultiCallRequestItem[] | null;\n}\n\nexport interface MultiCallRequestItem {\n canvasData?: string | null;\n itemHandlersData?: string | null;\n colorData?: string | null;\n actualSize?: boolean | null;\n preserveAspectRatio?: boolean | null;\n url?: string | null;\n imageId?: string | null;\n pageIndex?: number | null;\n methodName?: string | null;\n itemData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\nexport interface NullAbleSize {\n width?: number | null;\n height?: number | null;\n}\n\nexport interface Palette {\n uid?: string | null;\n swatches?: Swatch[] | null;\n readonly count?: number;\n}\n\n/** Placeholder item content type. */\nexport enum PlaceholderItemContentType {\n Image = \"Image\",\n}\n\nexport interface PointF {\n readonly isEmpty?: boolean;\n x?: number;\n y?: number;\n}\n\n/** Position of the print-product element top left point on surface. */\nexport interface PositionDto {\n /** Print-product element Y axis position. */\n top?: number;\n /** Print-product element X axis position. */\n left?: number;\n}\n\n/** Position of item top left point on design surface. */\nexport interface PositionModel {\n /** Y axis position. */\n top?: number;\n /** X axis position. */\n left?: number;\n}\n\nexport interface PreviewColorSettings {\n rgbColorProfileName?: string | null;\n cmykColorProfileName?: string | null;\n grayscaleColorProfileName?: string | null;\n hiResDestinationColorProfileName?: string | null;\n}\n\nexport interface ProblemDetails {\n type?: string | null;\n title?: string | null;\n status?: number | null;\n detail?: string | null;\n instance?: string | null;\n}\n\n/** Available patch type. */\nexport enum ProductPatchType {\n Undefined = \"Undefined\",\n ReplaceImageItemFile = \"ReplaceImageItemFile\",\n ReplacePlaceholderItemContent = \"ReplacePlaceholderItemContent\",\n}\n\n/** Product preview file format. */\nexport enum ProductPreviewFormat {\n Jpeg = \"Jpeg\",\n Png = \"Png\",\n}\n\nexport interface ProductPreviewRenderingConfig {\n surfaceIndex?: number | null;\n width?: number;\n height?: number;\n fileFormat?: ProductPreviewFormat | null;\n}\n\nexport enum ProductProofFormat {\n Jpeg = \"Jpeg\",\n Png = \"Png\",\n Tiff = \"Tiff\",\n Pdf = \"Pdf\",\n}\n\nexport enum ProductProofInterpolationMode {\n High = \"High\",\n Medium = \"Medium\",\n Low = \"Low\",\n NearestNeighbour = \"NearestNeighbour\",\n Linear = \"Linear\",\n Cubic = \"Cubic\",\n Supersampling = \"Supersampling\",\n Lanczos = \"Lanczos\",\n Anisotropic4 = \"Anisotropic4\",\n Anisotropic9 = \"Anisotropic9\",\n Lanczos3 = \"Lanczos3\",\n}\n\nexport interface ProductProofRenderingConfig {\n /** Surface to render. */\n surfaceIndex?: number | null;\n /** Desired proof image width. */\n width?: number;\n /** Desired proof image height. */\n height?: number;\n /** Desired proof image format. */\n format?: ProductProofFormat | null;\n /** Desired proof image interpolation. */\n interpolationMode?: ProductProofInterpolationMode | null;\n /** Defines whether safety lines should be visualized. */\n safetyLinesEnabled?: boolean | null;\n /** Defines whether watermark should be included. */\n watermarkEnabled?: boolean | null;\n /** Defines watermark opacity (in range 0 .. 1.0). */\n watermarkOpacity?: number | null;\n /** Defines whether watermark should be repeated. */\n watermarkRepeat?: boolean | null;\n}\n\nexport interface RectangleF {\n location?: PointF;\n size?: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n readonly left?: number;\n readonly top?: number;\n readonly right?: number;\n readonly bottom?: number;\n readonly isEmpty?: boolean;\n}\n\nexport interface RenderDesignPreviewModel {\n /** Design identifier.\nUsed to get design file from public or private storage. */\n designId?: string | null;\n /** Mockup identifier.\nUsed to get mockup file from public storage. */\n mockupId?: string | null;\n /** Identifier of the design owner. */\n ownerId?: string | null;\n /** Identifier of the mockup owner. */\n mockupOwnerId?: string | null;\n /** Rendering configuration for getting a preview of design. */\n renderingConfig?: ProductPreviewRenderingConfig | null;\n /** Variable (user) data for design variable fields in the preview image. */\n variableData?: VariableInfo[] | null;\n}\n\nexport interface RenderDesignPreviewToResourceModel {\n /** Parameters of resource that should be created for a preview rendering result. */\n previewResourceParams?: ResourceParams | null;\n /** Flag that indicates if an existing resource should be overwritten. */\n overwriteExistingResource?: boolean | null;\n /** Design identifier.\nUsed to get design file from public or private storage. */\n designId?: string | null;\n /** Mockup identifier.\nUsed to get mockup file from public storage. */\n mockupId?: string | null;\n /** Identifier of the design owner. */\n ownerId?: string | null;\n /** Identifier of the mockup owner. */\n mockupOwnerId?: string | null;\n /** Rendering configuration for getting a preview of design. */\n renderingConfig?: ProductPreviewRenderingConfig | null;\n /** Variable (user) data for design variable fields in the preview image. */\n variableData?: VariableInfo[] | null;\n}\n\nexport interface RenderDesignProofModel {\n /** Design identifier.\nUsed to get design file from public or private storage. */\n designId?: string | null;\n /** Identifier of the design owner. */\n ownerId?: string | null;\n /** Rendering configuration for getting a proof image of design. */\n renderingConfig?: ProductProofRenderingConfig | null;\n /** Variable (user) data for design variable fields in the proof image. */\n variableData?: VariableInfo[] | null;\n}\n\nexport interface RenderDesignProofToResourceModel {\n /** Parameters of resource that should be created for a preview rendering result. */\n proofResourceParams?: ResourceParams | null;\n /** Flag that indicates if an existing resource should be overwritten. */\n overwriteExistingResource?: boolean | null;\n /** Design identifier.\nUsed to get design file from public or private storage. */\n designId?: string | null;\n /** Identifier of the design owner. */\n ownerId?: string | null;\n /** Rendering configuration for getting a proof image of design. */\n renderingConfig?: ProductProofRenderingConfig | null;\n /** Variable (user) data for design variable fields in the proof image. */\n variableData?: VariableInfo[] | null;\n}\n\n/** Web image preview rendering parameters. */\nexport interface RenderImagePreviewFromUrlModel {\n /** Web image URL. */\n imageUrl?: string | null;\n /** Mockup owner identifier. */\n mockupOwnerId?: string | null;\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Image preview configuration. */\n renderingConfig?: ImagePreviewRenderingConfig | null;\n /** Headers that will be used to download remote image by URL.\nFor example, `Authorization` header can be placed here to provide access to image. */\n headers?: { [key: string]: string; } | null;\n}\n\n/** Image preview rendering parameters. Result will be saved as resource with parameters set as Aurigma.DesignAtomsApi.WebApi.Models.Image.RenderImagePreviewFromUrlToResourceModel.PreviewResourceParams. */\nexport interface RenderImagePreviewFromUrlToResourceModel {\n /** Parameters of resource that should be created for a preview rendering result. */\n previewResourceParams?: ResourceParams | null;\n /** Flag that indicates if an existing resource should be overwritten. */\n overwriteExistingResource?: boolean | null;\n /** Web image URL. */\n imageUrl?: string | null;\n /** Mockup owner identifier. */\n mockupOwnerId?: string | null;\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Image preview configuration. */\n renderingConfig?: ImagePreviewRenderingConfig | null;\n /** Headers that will be used to download remote image by URL.\nFor example, `Authorization` header can be placed here to provide access to image. */\n headers?: { [key: string]: string; } | null;\n}\n\n/** Image preview rendering parameters. */\nexport interface RenderImagePreviewModel {\n /** External image URL. */\n imageUrl?: string | null;\n /** Storage image identifier. */\n imageId?: string | null;\n /** Storage image owner identifier. */\n ownerId?: string | null;\n /** Mockup owner identifier. */\n mockupOwnerId?: string | null;\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Image preview configuration. */\n renderingConfig?: ImagePreviewRenderingConfig | null;\n}\n\n/** Image preview rendering parameters. Result will be saved as resource with parameters set as Aurigma.DesignAtomsApi.WebApi.Models.Image.RenderImagePreviewToResourceModel.PreviewResourceParams. */\nexport interface RenderImagePreviewToResourceModel {\n /** Parameters of resource that should be created for a preview rendering result. */\n previewResourceParams?: ResourceParams | null;\n /** Flag that indicates if an existing resource should be overwritten. */\n overwriteExistingResource?: boolean | null;\n /** External image URL. */\n imageUrl?: string | null;\n /** Storage image identifier. */\n imageId?: string | null;\n /** Storage image owner identifier. */\n ownerId?: string | null;\n /** Mockup owner identifier. */\n mockupOwnerId?: string | null;\n /** Mockup identifier. */\n mockupId?: string | null;\n /** Image preview configuration. */\n renderingConfig?: ImagePreviewRenderingConfig | null;\n}\n\n/** Render product parameters. */\nexport interface RenderProductModel {\n /** Serialized product description. */\n product: any;\n /** Proof Image rendering config. */\n renderingConfig?: ProductProofRenderingConfig | null;\n}\n\nexport interface ResourceInfoDto {\n id?: string | null;\n ownerId?: string | null;\n name?: string | null;\n namespace?: string | null;\n private?: boolean;\n url?: string | null;\n}\n\nexport interface ResourceParams {\n ownerId?: string | null;\n namespace?: string | null;\n name?: string | null;\n sourceId?: string | null;\n type?: string | null;\n anonymousAccess?: boolean;\n}\n\n/** Parameters of 'setting editor mockup for design surfaces' operation. */\nexport interface SetEditorMockupsModel {\n /** List of editor mockup binding instructions. */\n editorMockupBindings?: EditorMockupBindingModel[] | null;\n}\n\n/** Size of the print-product element. */\nexport interface SizeDto {\n /** Print-product element width. */\n width?: number;\n /** Print-product element height. */\n height?: number;\n}\n\n/** Design item size. */\nexport interface SizeModel {\n /** Design item width. */\n width?: number;\n /** Design item height. */\n height?: number;\n}\n\nexport interface Swatch {\n readonly tags?: { [key: string]: any; } | null;\n swatchValue?: SwatchValue | null;\n group?: string | null;\n readonly version?: string | null;\n id?: string | null;\n name?: string | null;\n}\n\nexport interface SwatchValue {\n color?: Color | null;\n}\n\nexport interface UnprocessableDesignElementDto {\n /** Missing element type. */\n readonly missingElementType?: DesignElementType | null;\n /** Missing element type. */\n readonly unprocessedElementType?: DesignElementType | null;\n /** Problem description. */\n description?: string | null;\n /** Coflict type. */\n type?: ConflictType;\n}\n\nexport interface UpdateColorsRequest {\n canvasData?: string | null;\n colorData?: string | null;\n}\n\nexport interface UpdateHandlerRequest {\n canvasData?: string | null;\n itemHandlerData?: string | null;\n itemData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\nexport interface UpdateImageHandlerRequest {\n actualSize?: boolean;\n preserveAspectRatio?: boolean;\n url?: string | null;\n canvasData?: string | null;\n itemHandlerData?: string | null;\n itemData?: any | null;\n colorSettings?: PreviewColorSettings | null;\n}\n\n/** Variable information. */\nexport interface VariableInfo {\n /** Variable name. */\n name?: string | null;\n /** Variable value. */\n value?: string | null;\n /** Variable type. */\n type?: string | null;\n}\n\n/** Variables information. */\nexport interface VariablesModel {\n /** List of variables. */\n items?: VariableInfo[] | null;\n}\n\n/** Variable data printing information. */\nexport interface VdpDataModel {\n /** Serialized vdp dataset. */\n vdpDataSet?: any | null;\n /** Serialized vdp items data. */\n vdpItemsData?: any | null;\n}\n\nexport interface FileParameter {\n data: any;\n fileName: string;\n}\n\nexport interface FileResponse {\n data: Blob;\n status: number;\n fileName?: string;\n headers?: { [name: string]: any };\n}\n\nexport class ApiException 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 isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable<any> {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new ApiException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable<string> {\n return new Observable<string>((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((<any>event.target).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport * as DesignAtomsApiClient from './design-atoms-api-client';\n\n// @dynamic\nexport function CreateApiClientConfiguration(token: string, apiUrl: string, apiKey: string = 'ApiKey'): DesignAtomsApiClient.ApiClientConfiguration {\n const apiConf = new DesignAtomsApiClient.ApiClientConfiguration();\n apiConf.apiKey = apiKey;\n apiConf.apiUrl = apiUrl;\n apiConf.setAuthorizationToken(token);\n return apiConf;\n}\n\n@NgModule({\n declarations: [],\n imports: [\n ],\n exports: []\n})\nexport class DesignAtomsApiModule {\n static forRoot(token: string, apiUrl: string, apiKey: string = 'ApiKey'): ModuleWithProviders<DesignAtomsApiModule> {\n return {\n ngModule: DesignAtomsApiModule,\n providers: [\n {\n provide: DesignAtomsApiClient.API_BASE_URL,\n useValue: apiUrl\n },\n {\n provide: DesignAtomsApiClient.ApiClientConfiguration,\n useFactory: CreateApiClientConfiguration.bind(this, token , apiUrl, apiKey)\n },\n ]\n };\n }\n}\n"]}
|