@aurigma/ng-design-atoms-api-client 2.11.1 → 2.14.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.
@@ -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","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","updateArchedTextItemHandler","tenantId","Error","encodeURIComponent","stringify","Content-Type","processUpdateArchedTextItemHandler","cssFonts","processCssFonts","fonts","psName","processFonts","contentDisposition","fileNameMatch","exec","fileName","data","result404","getCssFont","fontKey","processGetCssFont","getImageSize","processGetImageSize","getShapeBounds","processGetShapeBounds","getWatermarkItems","processGetWatermarkItems","img","w","h","cmyk","rgb","grayscale","target","sq","effect","kp","color","obm","oo","alphaMask","page","colorizeColor","processImg","getLicense","processGetLicense","pth","processPth","resource","image","processResource","svg","processSvg","txt","processTxt","updateAutoScaledTextItemHandler","processUpdateAutoScaledTextItemHandler","updateBarcodeItemHandler","processUpdateBarcodeItemHandler","updateBoundedTextItemHandler","processUpdateBoundedTextItemHandler","updateByColorData","processUpdateByColorData","updateByMultiCallRequest","processUpdateByMultiCallRequest","updateCurvedTextItemHandler","processUpdateCurvedTextItemHandler","updateImageItemHandler","processUpdateImageItemHandler","updatePathBoundedTextItemHandler","processUpdatePathBoundedTextItemHandler","updatePlainTextItemHandler","processUpdatePlainTextItemHandler","updateShapeItemHandler","processUpdateShapeItemHandler","DesignAtomsServiceApiClient","convertColors","processConvertColors","createDesign","privateStorage","privateStorageOwner","processCreateDesign","result201","loadProduct","id","processLoadProduct","saveProduct","processSaveProduct","loadDataSchema","processLoadDataSchema","result409","getVariables","processGetVariables","setVariables","processSetVariables","loadVdpData","processLoadVdpData","saveVdpData","processSaveVdpData","deleteVdpData","processDeleteVdpData","createItem","itemType","sourceType","sourceId","sourceOwnerId","sourceFile","content_","FormData","toString","processCreateItem","renderProduct","attachment","processRenderProduct","ItemType","ItemSourceType","ProductProofFormat","ProductProofInterpolationMode","DesignAtomsViewerApiClient","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.9.4.0 (NJsonSchema v10.3.1.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 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 * Gets assembly build info\n * @return Success\n */\n headInfo(): Observable<void>;\n /**\n * Gets 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 * Gets 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 * Gets 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 updateArchedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId: number, body?: FontsMethodData | null | undefined): Observable<string>;\n /**\n * @return Success\n */\n fonts(tenantId: number, psName: string | null): Observable<FileResponse>;\n /**\n * @param fontKey (optional) \n * @return Success\n */\n getCssFont(tenantId: number, fontKey?: string | null | undefined): Observable<FileResponse>;\n /**\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId: number, body?: GetImageSizeRequest | null | undefined): Observable<NullAbleSize>;\n /**\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId: number, body?: GetShapeBoundsRequest | null | undefined): Observable<RectangleF>;\n /**\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId: number, body?: any | null | 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 * @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): Observable<FileResponse>;\n /**\n * @return Success\n */\n getLicense(tenantId: number): Observable<string>;\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 * @return Success\n */\n svg(tenantId: number, f?: string | 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 updateAutoScaledTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId: number, body?: UpdateColorsRequest | null | undefined): Observable<string>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId: number, body?: MultiCallRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId: number, body?: UpdateImageHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | 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 updateArchedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/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 !== 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 cssFonts(tenantId: number, body?: FontsMethodData | null | 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\": \"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.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 !== 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 | null): 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 !== 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 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 !== 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 getImageSize(tenantId: number, body?: GetImageSizeRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 * @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): 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 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 !== 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<string> {\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<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetLicense(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 !== 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 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 !== 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 !== 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 svg(tenantId: number, f?: string | 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 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 !== 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 !== 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 updateAutoScaledTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | undefined): Observable<string> {\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<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByColorData(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 !== 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 body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId: number, body?: MultiCallRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 * Converts colors\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 | null | undefined): Observable<any>;\n /**\n * Creates new design file with specified parameters and saves it in storage.\n * @param privateStorage (optional) If set to 'true' design will be saved to private storage\n * @param privateStorageOwner (optional) Private storage owner identifier\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design creation parameters\n * @return Success\n */\n createDesign(privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: CreateDesignModel | null | undefined): Observable<DesignInfo>;\n /**\n * Loads product from design file taken from storage\n * @param id Design identifier\n * @param privateStorage (optional) If set to 'true' design will be taken from private storage\n * @param privateStorageOwner (optional) Private storage owner identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadProduct(id: string | null, privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Saves product to design file and updates design in storage.\n * @param id Design identifier\n * @param privateStorage (optional) If set to 'true' design will be saved to private storage\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 */\n saveProduct(id: string | null, privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | null | undefined): Observable<void>;\n /**\n * Loads data schema from design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadDataSchema(id: string | null, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Gets variable items information for design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getVariables(id: string | null, tenantId?: number | undefined): Observable<VariablesModel>;\n /**\n * Sets variable items values for design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design variable values\n * @return Success\n */\n setVariables(id: string | null, tenantId?: number | undefined, body?: VariablesModel | null | undefined): Observable<VariablesModel>;\n /**\n * Loads variable data printing information from design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadVdpData(id: string | null, 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 tenantId (optional) Tenant identifier\n * @param body (optional) Serialized vdp data\n * @return Success\n */\n saveVdpData(id: string | null, tenantId?: number | undefined, body?: VdpDataModel | null | undefined): Observable<void>;\n /**\n * Deletes variable data printing inforamtion from design file and updates design in storage.\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n deleteVdpData(id: string | null, tenantId?: number | undefined): Observable<void>;\n /**\n * Creates 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 sourceFile (optional) \n * @return Success\n */\n createItem(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceType?: ItemSourceType | null | undefined, sourceId?: string | null | undefined, sourceOwnerId?: string | null | undefined, sourceFile?: FileParameter | null | undefined): Observable<any>;\n /**\n * Render 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 (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 | null | undefined): Observable<FileResponse>;\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 * Converts colors\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 | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/colorConverter?\";\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 * Creates new design file with specified parameters and saves it in storage.\n * @param privateStorage (optional) If set to 'true' design will be saved to private storage\n * @param privateStorageOwner (optional) Private storage owner identifier\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design creation parameters\n * @return Success\n */\n createDesign(privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: CreateDesignModel | null | undefined): Observable<DesignInfo> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs?\";\n if (privateStorage !== undefined && privateStorage !== null)\n url_ += \"privateStorage=\" + encodeURIComponent(\"\" + privateStorage) + \"&\";\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 * Loads product from design file taken from storage\n * @param id Design identifier\n * @param privateStorage (optional) If set to 'true' design will be taken from private storage\n * @param privateStorageOwner (optional) Private storage owner identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadProduct(id: string | null, privateStorage?: boolean | null | undefined, 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 (privateStorage !== undefined && privateStorage !== null)\n url_ += \"privateStorage=\" + encodeURIComponent(\"\" + privateStorage) + \"&\";\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 product to design file and updates design in storage.\n * @param id Design identifier\n * @param privateStorage (optional) If set to 'true' design will be saved to private storage\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 */\n saveProduct(id: string | null, privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | 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 (privateStorage !== undefined && privateStorage !== null)\n url_ += \"privateStorage=\" + encodeURIComponent(\"\" + privateStorage) + \"&\";\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 * Loads data schema from design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadDataSchema(id: string | null, 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 (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 * Gets variable items information for design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getVariables(id: string | null, 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 (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 * Sets variable items values for design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design variable values\n * @return Success\n */\n setVariables(id: string | null, tenantId?: number | undefined, body?: VariablesModel | null | 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 (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.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<VariablesModel>><any>_observableThrow(e);\n }\n } else\n return <Observable<VariablesModel>><any>_observableThrow(response_);\n }));\n }\n\n protected processSetVariables(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 === 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<VariablesModel>(<any>null);\n }\n\n /**\n * Loads variable data printing information from design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadVdpData(id: string | null, tenantId?: number | undefined): Observable<VdpDataModel> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdpData?\";\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 (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 tenantId (optional) Tenant identifier\n * @param body (optional) Serialized vdp data\n * @return Success\n */\n saveVdpData(id: string | null, tenantId?: number | undefined, body?: VdpDataModel | null | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdpData?\";\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 (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 inforamtion from design file and updates design in storage.\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n deleteVdpData(id: string | null, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdpData?\";\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 (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 * Creates 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 sourceFile (optional) \n * @return Success\n */\n createItem(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceType?: ItemSourceType | null | undefined, sourceId?: string | null | undefined, sourceOwnerId?: string | null | undefined, sourceFile?: FileParameter | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/itemCreator?\";\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 (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 * Render 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 (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 | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/renderer?\";\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/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.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\nexport interface IDesignAtomsViewerApiClient {\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId?: number | undefined, body?: FontsMethodData | null | undefined): Observable<string>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n fonts(psName: string | null, tenantId?: number | undefined): Observable<FileResponse>;\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 * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId?: number | undefined, body?: GetImageSizeRequest | null | 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 | null | 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 | null | 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 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, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getLicense(tenantId?: number | undefined): Observable<string>;\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 tenantId (optional) Tenant identifier\n * @return Success\n */\n svg(f?: string | 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 updateAutoScaledTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | null | 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 | null | 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 | null | 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 | null | undefined): Observable<string>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId?: number | undefined, body?: MultiCallRequest | null | 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 | null | 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 | null | 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 | null | 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 | null | 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 | null | 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 updateArchedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/api/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 !== 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 cssFonts(tenantId?: number | undefined, body?: FontsMethodData | null | 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\": \"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.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 !== 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 | null, 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 !== 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 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 !== 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 getImageSize(tenantId?: number | undefined, body?: GetImageSizeRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 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, 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 (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 !== 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<string> {\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<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetLicense(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 !== 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 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 !== 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 !== 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 svg(f?: string | 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 (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 !== 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 !== 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 updateAutoScaledTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | undefined): Observable<string> {\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<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByColorData(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 !== 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 * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId?: number | undefined, body?: MultiCallRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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/** 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}\n\nexport interface UpdateHandlerRequest {\n canvasData?: string | null;\n itemHandlerData?: string | null;\n itemData?: any | null;\n}\n\nexport interface FontsMethodData {\n requestedFontsByPsName?: string[] | null;\n advancedMode?: boolean;\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\nexport interface GetImageSizeRequest {\n imageId?: string | null;\n pageIndex?: number;\n}\n\nexport interface NullAbleSize {\n width?: number | null;\n height?: number | null;\n}\n\nexport interface GetShapeBoundsRequest {\n path?: string | null;\n}\n\nexport interface PointF {\n readonly isEmpty?: boolean;\n x?: number;\n y?: number;\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 UpdateColorsRequest {\n canvasData?: string | null;\n colorData?: string | 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}\n\nexport interface MultiCallRequest {\n items?: MultiCallRequestItem[] | 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}\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 /** Targent 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\nexport interface DesignInfo {\n id?: string | null;\n ownerId?: string | null;\n name?: string | null;\n private?: boolean;\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 enum ItemType {\n Image = \"Image\",\n Shape = \"Shape\",\n Clipart = \"Clipart\",\n Group = \"Group\",\n}\n\n/** Item souce types */\nexport enum ItemSourceType {\n File = \"File\",\n ImageStorage = \"ImageStorage\",\n PrivateImageStorage = \"PrivateImageStorage\",\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\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 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","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","updateArchedTextItemHandler","tenantId","Error","encodeURIComponent","stringify","Content-Type","processUpdateArchedTextItemHandler","cssFonts","processCssFonts","fonts","psName","processFonts","contentDisposition","fileNameMatch","exec","fileName","data","result404","getCssFont","fontKey","processGetCssFont","getImageSize","processGetImageSize","getShapeBounds","processGetShapeBounds","getWatermarkItems","processGetWatermarkItems","img","w","h","cmyk","rgb","grayscale","target","sq","effect","kp","color","obm","oo","alphaMask","page","colorizeColor","processImg","getLicense","processGetLicense","pth","processPth","resource","image","processResource","svg","processSvg","txt","processTxt","updateAutoScaledTextItemHandler","processUpdateAutoScaledTextItemHandler","updateBarcodeItemHandler","processUpdateBarcodeItemHandler","updateBoundedTextItemHandler","processUpdateBoundedTextItemHandler","updateByColorData","processUpdateByColorData","updateByMultiCallRequest","processUpdateByMultiCallRequest","updateCurvedTextItemHandler","processUpdateCurvedTextItemHandler","updateImageItemHandler","processUpdateImageItemHandler","updatePathBoundedTextItemHandler","processUpdatePathBoundedTextItemHandler","updatePlainTextItemHandler","processUpdatePlainTextItemHandler","updateShapeItemHandler","processUpdateShapeItemHandler","DesignAtomsServiceApiClient","convertColors","processConvertColors","createDesign","privateStorage","privateStorageOwner","processCreateDesign","result201","loadProduct","id","processLoadProduct","saveProduct","processSaveProduct","loadDataSchema","processLoadDataSchema","result409","getVariables","processGetVariables","setVariables","processSetVariables","loadVdpData","processLoadVdpData","saveVdpData","processSaveVdpData","deleteVdpData","processDeleteVdpData","flattenItems","processFlattenItems","createItem","itemType","sourceType","sourceId","sourceOwnerId","sourceFile","content_","FormData","toString","processCreateItem","renderProduct","attachment","processRenderProduct","ItemType","ItemSourceType","ProductProofFormat","ProductProofInterpolationMode","DesignAtomsViewerApiClient","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.9.4.0 (NJsonSchema v10.3.1.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 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 * Gets assembly build info\n * @return Success\n */\n headInfo(): Observable<void>;\n /**\n * Gets 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 * Gets 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 * Gets 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 updateArchedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId: number, body?: FontsMethodData | null | undefined): Observable<string>;\n /**\n * @return Success\n */\n fonts(tenantId: number, psName: string | null): Observable<FileResponse>;\n /**\n * @param fontKey (optional) \n * @return Success\n */\n getCssFont(tenantId: number, fontKey?: string | null | undefined): Observable<FileResponse>;\n /**\n * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId: number, body?: GetImageSizeRequest | null | undefined): Observable<NullAbleSize>;\n /**\n * @param body (optional) \n * @return Success\n */\n getShapeBounds(tenantId: number, body?: GetShapeBoundsRequest | null | undefined): Observable<RectangleF>;\n /**\n * @param body (optional) \n * @return Success\n */\n getWatermarkItems(tenantId: number, body?: any | null | 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 * @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): Observable<FileResponse>;\n /**\n * @return Success\n */\n getLicense(tenantId: number): Observable<string>;\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 * @return Success\n */\n svg(tenantId: number, f?: string | 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 updateAutoScaledTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateBarcodeItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateByColorData(tenantId: number, body?: UpdateColorsRequest | null | undefined): Observable<string>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId: number, body?: MultiCallRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateCurvedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateImageItemHandler(tenantId: number, body?: UpdateImageHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updatePathBoundedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updatePlainTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param body (optional) \n * @return Success\n */\n updateShapeItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | 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 updateArchedTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/tenants/{tenantId}/api/ccviewer/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 !== 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 cssFonts(tenantId: number, body?: FontsMethodData | null | 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\": \"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.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 !== 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 | null): 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 !== 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 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 !== 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 getImageSize(tenantId: number, body?: GetImageSizeRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 * @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): 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 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 !== 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<string> {\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<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetLicense(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 !== 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 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 !== 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 !== 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 svg(tenantId: number, f?: string | 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 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 !== 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 !== 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 updateAutoScaledTextItemHandler(tenantId: number, body?: UpdateHandlerRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | undefined): Observable<string> {\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<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByColorData(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 !== 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 body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId: number, body?: MultiCallRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 * Converts colors\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 | null | undefined): Observable<any>;\n /**\n * Creates new design file with specified parameters and saves it in storage.\n * @param privateStorage (optional) If set to 'true' design will be saved to private storage\n * @param privateStorageOwner (optional) Private storage owner identifier\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design creation parameters\n * @return Success\n */\n createDesign(privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: CreateDesignModel | null | undefined): Observable<DesignInfo>;\n /**\n * Loads product from design file taken from storage\n * @param id Design identifier\n * @param privateStorage (optional) If set to 'true' design will be taken from private storage\n * @param privateStorageOwner (optional) Private storage owner identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadProduct(id: string | null, privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined): Observable<any>;\n /**\n * Saves product to design file and updates design in storage.\n * @param id Design identifier\n * @param privateStorage (optional) If set to 'true' design will be saved to private storage\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 */\n saveProduct(id: string | null, privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | null | undefined): Observable<void>;\n /**\n * Loads data schema from design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadDataSchema(id: string | null, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * Gets variable items information for design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getVariables(id: string | null, tenantId?: number | undefined): Observable<VariablesModel>;\n /**\n * Sets variable items values for design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design variable values\n * @return Success\n */\n setVariables(id: string | null, tenantId?: number | undefined, body?: VariablesModel | null | undefined): Observable<VariablesModel>;\n /**\n * Loads variable data printing information from design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadVdpData(id: string | null, 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 tenantId (optional) Tenant identifier\n * @param body (optional) Serialized vdp data\n * @return Success\n */\n saveVdpData(id: string | null, tenantId?: number | undefined, body?: VdpDataModel | null | undefined): Observable<void>;\n /**\n * Deletes variable data printing inforamtion from design file and updates design in storage.\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n deleteVdpData(id: string | null, tenantId?: number | undefined): Observable<void>;\n /**\n * Flatten items\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Items to flatten\n * @return Success\n */\n flattenItems(tenantId?: number | undefined, body?: any[] | null | undefined): Observable<any>;\n /**\n * Creates 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 sourceFile (optional) \n * @return Success\n */\n createItem(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceType?: ItemSourceType | null | undefined, sourceId?: string | null | undefined, sourceOwnerId?: string | null | undefined, sourceFile?: FileParameter | null | undefined): Observable<any>;\n /**\n * Render 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 (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 | null | undefined): Observable<FileResponse>;\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 * Converts colors\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 | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/colorConverter?\";\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 * Creates new design file with specified parameters and saves it in storage.\n * @param privateStorage (optional) If set to 'true' design will be saved to private storage\n * @param privateStorageOwner (optional) Private storage owner identifier\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design creation parameters\n * @return Success\n */\n createDesign(privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: CreateDesignModel | null | undefined): Observable<DesignInfo> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs?\";\n if (privateStorage !== undefined && privateStorage !== null)\n url_ += \"privateStorage=\" + encodeURIComponent(\"\" + privateStorage) + \"&\";\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 * Loads product from design file taken from storage\n * @param id Design identifier\n * @param privateStorage (optional) If set to 'true' design will be taken from private storage\n * @param privateStorageOwner (optional) Private storage owner identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadProduct(id: string | null, privateStorage?: boolean | null | undefined, 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 (privateStorage !== undefined && privateStorage !== null)\n url_ += \"privateStorage=\" + encodeURIComponent(\"\" + privateStorage) + \"&\";\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 product to design file and updates design in storage.\n * @param id Design identifier\n * @param privateStorage (optional) If set to 'true' design will be saved to private storage\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 */\n saveProduct(id: string | null, privateStorage?: boolean | null | undefined, privateStorageOwner?: string | null | undefined, tenantId?: number | undefined, body?: any | 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 (privateStorage !== undefined && privateStorage !== null)\n url_ += \"privateStorage=\" + encodeURIComponent(\"\" + privateStorage) + \"&\";\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 * Loads data schema from design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadDataSchema(id: string | null, 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 (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 * Gets variable items information for design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getVariables(id: string | null, 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 (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 * Sets variable items values for design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Design variable values\n * @return Success\n */\n setVariables(id: string | null, tenantId?: number | undefined, body?: VariablesModel | null | 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 (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.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<VariablesModel>><any>_observableThrow(e);\n }\n } else\n return <Observable<VariablesModel>><any>_observableThrow(response_);\n }));\n }\n\n protected processSetVariables(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 === 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<VariablesModel>(<any>null);\n }\n\n /**\n * Loads variable data printing information from design file taken from storage\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n loadVdpData(id: string | null, tenantId?: number | undefined): Observable<VdpDataModel> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdpData?\";\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 (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 tenantId (optional) Tenant identifier\n * @param body (optional) Serialized vdp data\n * @return Success\n */\n saveVdpData(id: string | null, tenantId?: number | undefined, body?: VdpDataModel | null | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdpData?\";\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 (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 inforamtion from design file and updates design in storage.\n * @param id Design identifier\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n deleteVdpData(id: string | null, tenantId?: number | undefined): Observable<void> {\n let url_ = this.baseUrl + \"/api/atoms/v1/designs/{id}/vdpData?\";\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 (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 * Flatten items\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) Items to flatten\n * @return Success\n */\n flattenItems(tenantId?: number | undefined, body?: any[] | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/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 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 sourceFile (optional) \n * @return Success\n */\n createItem(itemType?: ItemType | null | undefined, tenantId?: number | undefined, sourceType?: ItemSourceType | null | undefined, sourceId?: string | null | undefined, sourceOwnerId?: string | null | undefined, sourceFile?: FileParameter | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/itemCreator?\";\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 (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 * Render 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 (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 | null | undefined): Observable<FileResponse> {\n let url_ = this.baseUrl + \"/api/atoms/v1/renderer?\";\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/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.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\nexport interface IDesignAtomsViewerApiClient {\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateArchedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | null | undefined): Observable<any>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n cssFonts(tenantId?: number | undefined, body?: FontsMethodData | null | undefined): Observable<string>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n fonts(psName: string | null, tenantId?: number | undefined): Observable<FileResponse>;\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 * @param body (optional) \n * @return Success\n */\n getImageSize(tenantId?: number | undefined, body?: GetImageSizeRequest | null | 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 | null | 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 | null | 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 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, tenantId?: number | undefined): Observable<FileResponse>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @return Success\n */\n getLicense(tenantId?: number | undefined): Observable<string>;\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 tenantId (optional) Tenant identifier\n * @return Success\n */\n svg(f?: string | 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 updateAutoScaledTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | null | 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 | null | 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 | null | 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 | null | undefined): Observable<string>;\n /**\n * @param tenantId (optional) Tenant identifier\n * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId?: number | undefined, body?: MultiCallRequest | null | 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 | null | 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 | null | 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 | null | 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 | null | 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 | null | 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 updateArchedTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | null | undefined): Observable<any> {\n let url_ = this.baseUrl + \"/api/atoms/v1/ccviewer/api/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 !== 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 cssFonts(tenantId?: number | undefined, body?: FontsMethodData | null | 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\": \"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.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 !== 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 | null, 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 !== 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 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 !== 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 getImageSize(tenantId?: number | undefined, body?: GetImageSizeRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 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, 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 (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 !== 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<string> {\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<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processGetLicense(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 !== 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 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 !== 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 !== 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 svg(f?: string | 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 (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 !== 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 !== 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 updateAutoScaledTextItemHandler(tenantId?: number | undefined, body?: UpdateHandlerRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | undefined): Observable<string> {\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<string>><any>_observableThrow(e);\n }\n } else\n return <Observable<string>><any>_observableThrow(response_);\n }));\n }\n\n protected processUpdateByColorData(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 !== 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 * @param body (optional) \n * @return Success\n */\n updateByMultiCallRequest(tenantId?: number | undefined, body?: MultiCallRequest | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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 | null | 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 !== 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/** 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}\n\nexport interface UpdateHandlerRequest {\n canvasData?: string | null;\n itemHandlerData?: string | null;\n itemData?: any | null;\n}\n\nexport interface FontsMethodData {\n requestedFontsByPsName?: string[] | null;\n advancedMode?: boolean;\n baseUrl?: 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\nexport interface GetImageSizeRequest {\n imageId?: string | null;\n pageIndex?: number;\n}\n\nexport interface NullAbleSize {\n width?: number | null;\n height?: number | null;\n}\n\nexport interface GetShapeBoundsRequest {\n path?: string | null;\n}\n\nexport interface PointF {\n readonly isEmpty?: boolean;\n x?: number;\n y?: number;\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 UpdateColorsRequest {\n canvasData?: string | null;\n colorData?: string | 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}\n\nexport interface MultiCallRequest {\n items?: MultiCallRequestItem[] | 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}\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 /** Targent 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\nexport interface DesignInfo {\n id?: string | null;\n ownerId?: string | null;\n name?: string | null;\n private?: boolean;\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 enum ItemType {\n Image = \"Image\",\n Shape = \"Shape\",\n Clipart = \"Clipart\",\n Group = \"Group\",\n}\n\n/** Item souce types */\nexport enum ItemSourceType {\n File = \"File\",\n ImageStorage = \"ImageStorage\",\n PrivateImageStorage = \"PrivateImageStorage\",\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\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 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"]}