1/*! For license information please see 4832.ea18e7ebab5ae5c8aa61.js.LICENSE.txt */ 2(self.webpackChunkhomify_de=self.webpackChunkhomify_de||[]).push([[4832],{8505:function(t){"use strict";t.exports=function(t){if("number"!=typeof t||Number.isNaN(t))throw new TypeError("Expected a number, got "+typeof t);const e=t<0;let i=Math.abs(t);if(e&&(i=-i),0===i)return"0 B";const r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=Math.min(Math.floor(Math.log(i)/Math.log(1024)),r.length-1),a=Number(i/1024**n),o=r[n];return`${a>=10||a%1==0?Math.round(a):a.toFixed(1)} ${o}`}},3807:function(t){t.exports=function(){"use strict";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)}return i}function e(e){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?t(Object(n),!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,a(r.key),r)}}function r(t,e,i){return(e=a(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t},n.apply(this,arguments)}function a(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var r=i.call(t,e||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}var o={exports:{}};!function(t){"undefined"!=typeof window&&function(e){var i=e.HTMLCanvasElement&&e.HTMLCanvasElement.prototype,r=e.Blob&&function(){try{return Boolean(new Blob)}catch(t){return!1}}(),n=r&&e.Uint8Array&&function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(t){return!1}}(),a=e.BlobBuilder||e.WebKitBlobBuilder||e.MozBlobBuilder||e.MSBlobBuilder,o=/^data:((.*?)(;charset=.*?)?)(;base64)?,/,s=(r||a)&&e.atob&&e.ArrayBuffer&&e.Uint8Array&&function(t){var e,i,s,u,l,h,c,p,d;if(!(e=t.match(o)))throw new Error("invalid data URI");for(i=e[2]?e[1]:"text/plain"+(e[3]||";charset=US-ASCII"),s=!!e[4],u=t.slice(e[0].length),l=s?atob(u):decodeURIComponent(u),h=new ArrayBuffer(l.length),c=new Uint8Array(h),p=0;p<l.length;p+=1)c[p]=l.charCodeAt(p);return r?new Blob([n?c:h],{type:i}):((d=new a).append(h),d.getBlob(i))};e.HTMLCanvasElement&&!i.toBlob&&(i.mozGetAsFile?i.toBlob=function(t,e,r){var n=this;setTimeout(function(){r&&i.toDataURL&&s?t(s(n.toDataURL(e,r))):t(n.mozGetAsFile("blob",e))})}:i.toDataURL&&s&&(i.msToBlob?i.toBlob=function(t,e,r){var n=this;setTimeout(function(){(e&&"image/png"!==e||r)&&i.toDataURL&&s?t(s(n.toDataURL(e,r))):t(n.msToBlob(e))})}:i.toBlob=function(t,e,i){var r=this;setTimeout(function(){t(s(r.toDataURL(e,i)))})})),t.exports?t.exports=s:e.dataURLtoBlob=s}(window)}(o);var s=o.exports,u={strict:!0,checkOrientation:!0,retainExif:!1,maxWidth:1/0,maxHeight:1/0,minWidth:0,minHeight:0,width:void 0,height:void 0,resize:"none",quality:.8,mimeType:"auto",convertTypes:["image/png"],convertSize:5e6,beforeDraw:null,drew:null,success:null,error:null},l="undefined"!=typeof window&&void 0!==window.document?window:{},h=function(t){return t>0&&t<1/0},c=Array.prototype.slice;function p(t){return Array.from?Array.from(t):c.call(t)}var d=/^image\/.+$/;function f(t){return d.test(t)}var m=String.fromCharCode;var g=l.btoa;function y(t,e){for(var i=[],r=new Uint8Array(t);r.length>0;)i.push(m.apply(null,p(r.subarray(0,8192)))),r=r.subarray(8192);return"data:".concat(e,";base64,").concat(g(i.join("")))}function b(t){var e,i=new DataView(t);try{var r,n,a;if(255===i.getUint8(0)&&216===i.getUint8(1))for(var o=i.byteLength,s=2;s+1<o;){if(255===i.getUint8(s)&&225===i.getUint8(s+1)){n=s;break}s+=1}if(n){var u=n+10;
2if("Exif"===function(t,e,i){var r,n="";for(i+=e,r=e;r<i;r+=1)n+=m(t.getUint8(r));return n}(i,n+4,4)){var l=i.getUint16(u);if(((r=18761===l)||19789===l)&&42===i.getUint16(u+2,r)){var h=i.getUint32(u+4,r);h>=8&&(a=u+h)}}}if(a){var c,p,d=i.getUint16(a,r);for(p=0;p<d;p+=1)if(c=a+12*p+2,274===i.getUint16(c,r)){c+=8,e=i.getUint16(c,r),i.setUint16(c,1,r);break}}}catch(t){e=1}return e}var v=/\.\d*(?:0|9){12}\d*$/;function w(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return v.test(t)?Math.round(t*e)/e:t}function x(t){var e=t.aspectRatio,i=t.height,r=t.width,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"none",a=h(r),o=h(i);if(a&&o){var s=i*e;("contain"===n||"none"===n)&&s>r||"cover"===n&&s<r?i=r/e:r=i*e}else a?i=r/e:o&&(r=i*e);return{width:r,height:i}}var L=l.ArrayBuffer,B=l.FileReader,T=l.URL||l.webkitURL,E=/\.\w+$/,A=l.Compressor;return function(){function t(i,r){(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this.file=i,this.exif=[],this.image=new Image,this.options=e(e({},u),r),this.aborted=!1,this.result=null,this.init()}return r=t,o=[{key:"noConflict",value:function(){return window.Compressor=A,t}},{key:"setDefaults",value:function(t){n(u,t)}}],(a=[{key:"init",value:function(){var t,e=this,i=this.file,r=this.options;if(t=i,"undefined"!=typeof Blob&&(t instanceof Blob||"[object Blob]"===Object.prototype.toString.call(t))){var a=i.type;if(f(a))if(T&&B){L||(r.checkOrientation=!1,r.retainExif=!1);var o="image/jpeg"===a,s=o&&r.checkOrientation,u=o&&r.retainExif;if(!T||s||u){var l=new B;this.reader=l,l.onload=function(t){var r=t.target.result,o={},l=1;s&&(l=b(r))>1&&n(o,function(t){var e=0,i=1,r=1;switch(t){case 2:i=-1;break;case 3:e=-180;break;case 4:r=-1;break;case 5:e=90,r=-1;break;case 6:e=90;break;case 7:e=90,i=-1;break;case 8:e=-90}return{rotate:e,scaleX:i,scaleY:r}}(l)),u&&(e.exif=function(t){for(var e=p(new Uint8Array(t)),i=e.length,r=[],n=0;n+3<i;){var a=e[n],o=e[n+1];if(255===a&&218===o)break;if(255===a&&216===o)n+=2;else{var s=n+(256*e[n+2]+e[n+3])+2,u=e.slice(n,s);r.push(u),n=s}}return r.reduce(function(t,e){return 255===e[0]&&225===e[1]?t.concat(e):t},[])}(r)),o.url=s||u?!T||l>1?y(r,a):T.createObjectURL(i):r,e.load(o)},l.onabort=function(){e.fail(new Error("Aborted to read the image with FileReader."))},l.onerror=function(){e.fail(new Error("Failed to read the image with FileReader."))},l.onloadend=function(){e.reader=null},s||u?l.readAsArrayBuffer(i):l.readAsDataURL(i)}else this.load({url:T.createObjectURL(i)})}else this.fail(new Error("The current browser does not support image compression."));else this.fail(new Error("The first argument must be an image File or Blob object."))}else this.fail(new Error("The first argument must be a File or Blob object."))}},{key:"load",value:function(t){var i=this,r=this.file,n=this.image;n.onload=function(){i.draw(e(e({},t),{},{naturalWidth:n.naturalWidth,naturalHeight:n.naturalHeight}))},n.onabort=function(){i.fail(new Error("Aborted to load the image."))},n.onerror=function(){i.fail(new Error("Failed to load the image."))},l.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(l.navigator.userAgent)&&(n.crossOrigin="anonymous"),n.alt=r.name,n.src=t.url}},{key:"draw",value:function(t){var e=this,i=t.naturalWidth,r=t.naturalHeight,n=t.rotate,a=void 0===n?0:n,o=t.scaleX,u=void 0===o?1:o,l=t.scaleY,c=void 0===l?1:l,d=this.file,m=this.image,g=this.options,b=document.createElement("canvas"),v=b.getContext("2d"),L=Math.abs(a)%180==90,T=("contain"===g.resize||"cover"===g.resize)&&h(g.width)&&h(g.height),E=Math.max(g.maxWidth,0)||1/0,A=Math.max(g.maxHeight,0)||1/0,U=Math.max(g.minWidth,0)||0,O=Math.max(g.minHeight,0)||0,R=i/r,j=g.width,P=g.height;if(L){var M=[A,E];E=M[0],A=M[1];var q=[O,U];U=q[0],O=q[1];var k=[P,j];j=k[0],P=k[1]}T&&(R=j/P);var S=x({aspectRatio:R,width:E,height:A},"contain");E=S.width,A=S.height;var z=x({aspectRatio:R,width:U,height:O},"cover");if(U=z.width,O=z.height,T){var F=x({aspectRatio:R,width:j,height:P},g.resize);j=F.width,P=F.height}else{var H=x({aspectRatio:R,width:j,height:P}),C=H.width;j=void 0===C?i:C;var D=H.height;P=void 0===D?r:D}var I=-(j=Math.floor(w(Math.min(Math.max(j,U),E))))/2,$=-(P=Math.floor(w(Math.min(Math.max(P,O),A))))/2,W=j,N=P,_=[];if(T){var K,X,G,Q,Y=x({aspectRatio:R,width:i,height:r},{contain:"cover",cover:"contain"}[g.resize]);
2G=Y.width,Q=Y.height,K=(i-G)/2,X=(r-Q)/2,_.push(K,X,G,Q)}if(_.push(I,$,W,N),L){var V=[P,j];j=V[0],P=V[1]}b.width=j,b.height=P,f(g.mimeType)||(g.mimeType=d.type);var Z="transparent";d.size>g.convertSize&&g.convertTypes.indexOf(g.mimeType)>=0&&(g.mimeType="image/jpeg");var J="image/jpeg"===g.mimeType;if(J&&(Z="#fff"),v.fillStyle=Z,v.fillRect(0,0,j,P),g.beforeDraw&&g.beforeDraw.call(this,v,b),!this.aborted&&(v.save(),v.translate(j/2,P/2),v.rotate(a*Math.PI/180),v.scale(u,c),v.drawImage.apply(v,[m].concat(_)),v.restore(),g.drew&&g.drew.call(this,v,b),!this.aborted)){var tt=function(t){if(!e.aborted){var n=function(t){return e.done({naturalWidth:i,naturalHeight:r,result:t})};if(t&&J&&g.retainExif&&e.exif&&e.exif.length>0){var a=function(t){return n(s(y(function(t,e){var i=p(new Uint8Array(t));if(255!==i[2]||224!==i[3])return t;var r=256*i[4]+i[5],n=[255,216].concat(e,i.slice(4+r));return new Uint8Array(n)}(t,e.exif),g.mimeType)))};if(t.arrayBuffer)t.arrayBuffer().then(a).catch(function(){e.fail(new Error("Failed to read the compressed image with Blob.arrayBuffer()."))});else{var o=new B;e.reader=o,o.onload=function(t){var e=t.target;a(e.result)},o.onabort=function(){e.fail(new Error("Aborted to read the compressed image with FileReader."))},o.onerror=function(){e.fail(new Error("Failed to read the compressed image with FileReader."))},o.onloadend=function(){e.reader=null},o.readAsArrayBuffer(t)}}else n(t)}};b.toBlob?b.toBlob(tt,g.mimeType,g.quality):tt(s(b.toDataURL(g.mimeType,g.quality)))}}},{key:"done",value:function(t){var e,i,r=t.naturalWidth,n=t.naturalHeight,a=t.result,o=this.file,s=this.image,u=this.options;if(T&&0===s.src.indexOf("blob:")&&T.revokeObjectURL(s.src),a)if(u.strict&&!u.retainExif&&a.size>o.size&&u.mimeType===o.type&&!(u.width>r||u.height>n||u.minWidth>r||u.minHeight>n||u.maxWidth<r||u.maxHeight<n))a=o;else{var l=new Date;a.lastModified=l.getTime(),a.lastModifiedDate=l,a.name=o.name,a.name&&a.type!==o.type&&(a.name=a.name.replace(E,(e=a.type,"jpeg"===(i=f(e)?e.substr(6):"")&&(i="jpg"),".".concat(i))))}else a=o;this.result=a,u.success&&u.success.call(this,a)}},{key:"fail",value:function(t){var e=this.options;if(!e.error)throw t;e.error.call(this,t)}},{key:"abort",value:function(){this.aborted||(this.aborted=!0,this.reader?this.reader.abort():this.image.complete?this.fail(new Error("The compression process has been aborted.")):(this.image.onload=null,this.image.onabort()))}}])&&i(r.prototype,a),o&&i(r,o),Object.defineProperty(r,"prototype",{writable:!1}),t;var r,a,o}()}()},4832:function(t,e,i){"use strict";i.r(e),i.d(e,{default:function(){return h}});var r=i(8505),n=i(2656),a=i(8937),o=i(8287),s=i(3807),u={strings:{compressingImages:"Compressing images...",compressedX:"Saved %{size} by compressing images"}};const l={quality:.6,limit:10};class h extends n.A{#t;constructor(t,e){super(t,{...l,...e}),this.id=this.opts.id||"Compressor",this.type="modifier",this.defaultLocale=u,this.#t=new a.i(this.opts.limit),this.i18nInit(),this.prepareUpload=this.prepareUpload.bind(this),this.compress=this.compress.bind(this)}compress(t){return new Promise((e,i)=>{new s(t,{...this.opts,success:e,error:i})})}async prepareUpload(t){let e=0;const i=[],n=this.#t.wrapPromiseFunction(async t=>{try{if(null==t.data)throw new Error("File data is empty");const n=await this.compress(t.data),a=t.data.size-n.size;this.uppy.log(`[Image Compressor] Image ${t.id} compressed by ${r(a)}`),e+=a;const{name:s,type:u,size:l}=n,h=(0,o.A)(s),c=`${(0,o.A)(t.meta.name).name}.${h.extension}`;this.uppy.setFileState(t.id,{...s&&{name:s},...h.extension&&{extension:h.extension},...u&&{type:u},...l&&{size:l},data:n,meta:{...t.meta,type:u,name:c}}),i.push(t)}catch(e){this.uppy.log(`[Image Compressor] Failed to compress ${t.id}:`,"warning"),this.uppy.log(e,"warning")}}),a=t.map(t=>{const e=this.uppy.getFile(t);
2return this.uppy.emit("preprocess-progress",e,{mode:"indeterminate",message:this.i18n("compressingImages")}),e.isRemote?Promise.resolve():(e.data.type||(e.data=e.data.slice(0,e.data.size,e.type)),e.type?.startsWith("image/")?n(e):Promise.resolve())});await Promise.all(a),this.uppy.emit("compressor:complete",i),e>1024&&this.uppy.info(this.i18n("compressedX",{size:r(e)}),"info");for(const e of t){const t=this.uppy.getFile(e);this.uppy.emit("preprocess-complete",t)}}install(){this.uppy.addPreProcessor(this.prepareUpload)}uninstall(){this.uppy.removePreProcessor(this.prepareUpload)}}},2656:function(t,e,i){"use strict";i.d(e,{A:function(){return n}});var r=i(720);class n{uppy;opts;id;defaultLocale;i18n;i18nArray;type;VERSION;constructor(t,e){this.uppy=t,this.opts=e??{}}getPluginState(){const{plugins:t}=this.uppy.getState();return t?.[this.id]||{}}setPluginState(t){const{plugins:e}=this.uppy.getState();this.uppy.setState({plugins:{...e,[this.id]:{...e[this.id],...t}}})}setOptions(t){this.opts={...this.opts,...t},this.setPluginState(void 0),this.i18nInit()}i18nInit(){const t=new r.A([this.defaultLocale,this.uppy.locale,this.opts.locale]);this.i18n=t.translate.bind(t),this.i18nArray=t.translateArray.bind(t),this.setPluginState(void 0)}addTarget(t){throw new Error("Extend the addTarget method to add your plugin to another plugin's target")}install(){}uninstall(){}update(t){}afterUpdate(){}}},8937:function(t,e,i){"use strict";function r(t){if(null!=t){const e=()=>this.abort(t.reason);t.addEventListener("abort",e,{once:!0});const i=()=>{t.removeEventListener("abort",e)};this.then?.(i,i)}return this}i.d(e,{i:function(){return n}});class n{#e=0;#i=[];#r=!1;#n;#a=1;#o;#s;limit;constructor(t){this.limit="number"!=typeof t||0===t?1/0:t}#u(t){this.#e+=1;let e,i=!1;try{e=t()}catch(t){throw this.#e-=1,t}return{abort:t=>{i||(i=!0,this.#e-=1,e?.(t),this.#l())},done:()=>{i||(i=!0,this.#e-=1,this.#l())}}}#l(){queueMicrotask(()=>this.#h())}#h(){if(this.#r||this.#e>=this.limit)return;if(0===this.#i.length)return;const t=this.#i.shift();if(null==t)throw new Error("Invariant violation: next is null");const e=this.#u(t.fn);t.abort=e.abort,t.done=e.done}#c(t,e){const i={fn:t,priority:e?.priority||0,abort:()=>{this.#p(i)},done:()=>{throw new Error("Cannot mark a queued request as done: this indicates a bug")}},r=this.#i.findIndex(t=>i.priority>t.priority);return-1===r?this.#i.push(i):this.#i.splice(r,0,i),i}#p(t){const e=this.#i.indexOf(t);-1!==e&&this.#i.splice(e,1)}run(t,e){return!this.#r&&this.#e<this.limit?this.#u(t):this.#c(t,e)}wrapSyncFunction(t,e){return(...i)=>{const n=this.run(()=>(t(...i),queueMicrotask(()=>n.done()),()=>{}),e);return{abortOn:r,abort(){n.abort()}}}}wrapPromiseFunction(t,e){return(...i)=>{let n;const a=new Promise((r,a)=>{n=this.run(()=>{let e,o;try{o=Promise.resolve(t(...i))}catch(t){o=Promise.reject(t)}return o.then(t=>{e?a(e):(n.done(),r(t))},t=>{e?a(e):(n.done(),a(t))}),t=>{e=function(t){return new Error("Cancelled",{cause:t})}(t)}},e)});return a.abort=t=>{n.abort(t)},a.abortOn=r,a}}resume(){this.#r=!1,clearTimeout(this.#n);for(let t=0;t<this.limit;t++)this.#l()}#d=()=>this.resume();pause(t=null){this.#r=!0,clearTimeout(this.#n),null!=t&&(this.#n=setTimeout(this.#d,t))}rateLimit(t){clearTimeout(this.#s),this.pause(t),this.limit>1&&Number.isFinite(this.limit)&&(this.#o=this.limit-1,this.limit=this.#a,this.#s=setTimeout(this.#f,t))}#f=()=>{if(this.#r)this.#s=setTimeout(this.#f,0);else{this.#a=this.limit,this.limit=Math.ceil((this.#o+this.#a)/2);for(let t=this.#a;t<=this.limit;t++)this.#l();this.#o-this.#a>3?this.#s=setTimeout(this.#f,2e3):this.#a=Math.floor(this.#a/2)}};get isPaused(){return this.#r}}Symbol("__queue")},720:function(t,e,i){"use strict";function r(t,e,i){const r=[];return t.forEach(t=>"string"!=typeof t?r.push(t):e[Symbol.split](t).forEach((t,e,n)=>{""!==t&&r.push(t),e<n.length-1&&r.push(i)})),r}function n(t,e){const i=/\$/g;let n=[t];if(null==e)return n;for(const t of Object.keys(e))if("_"!==t){let a=e[t];"string"==typeof a&&(a=i[Symbol.replace](a,"$$$$")),n=r(n,new RegExp(`%\\{${t}\\}`,"g"),a)}return n}i.d(e,{A:function(){return o}});const a=t=>
2{throw new Error(`missing string: ${t}`)};class o{locale;constructor(t,{onMissingKey:e=a}={}){this.locale={strings:{},pluralize(t){return 1===t?0:1}},Array.isArray(t)?t.forEach(this.#m,this):this.#m(t),this.#g=e}#g;#m(t){if(!t?.strings)return;const e=this.locale;Object.assign(this.locale,{strings:{...e.strings,...t.strings},pluralize:t.pluralize||e.pluralize})}translate(t,e){return this.translateArray(t,e).join("")}translateArray(t,e){let i=this.locale.strings[t];if(null==i&&(this.#g(t),i=t),"object"==typeof i){if(e&&void 0!==e.smart_count)return n(i[this.locale.pluralize(e.smart_count)],e);throw new Error("Attempted to use a string with plural forms, but no value was given for %{smart_count}")}if("string"!=typeof i)throw new Error("string was not a string");return n(i,e)}}},8287:function(t,e,i){"use strict";function r(t){const e=t.lastIndexOf(".");return-1===e||e===t.length-1?{name:t,extension:void 0}:{name:t.slice(0,e),extension:t.slice(e+1)}}i.d(e,{A:function(){return r}})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.