/*! For license information please see installer.js.LICENSE.txt */
(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[496],{51668:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>i});const i={data:function(){return{proceedCheck:!1}},computed:{adminUsername:{get:function(){return this.$store.state.config.admin_username},set:function(t){this.$store.commit("setConfigValue",{key:"admin_username",value:t})}},adminEmail:{get:function(){return this.$store.state.config.admin_email},set:function(t){this.$store.commit("setConfigValue",{key:"admin_email",value:t})}},adminPassword:{get:function(){return this.$store.state.config.admin_password},set:function(t){this.$store.commit("setConfigValue",{key:"admin_password",value:t})}}},watch:{$route:"init"},mounted:function(){this.init()},methods:{init:function(){void 0!==this.$store.state.config.requirements||this.$router.push("/installer")},proceed:function(){var t=this;this.proceedCheck=!0,setTimeout((function(){t.proceedCheck=!1,t.$router.push("/installer/review")}),750)}}}},14890:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>i});const i={data:function(){return{isLoaded:!1,proceedCheck:!1,step:1}},computed:{domain:{get:function(){return this.$store.state.config.domain},set:function(t){this.$store.commit("setConfigValue",{key:"domain",value:t})}},name:{get:function(){return this.$store.state.config.name},set:function(t){this.$store.commit("setConfigValue",{key:"name",value:t})}},description:{get:function(){return this.$store.state.config.description},set:function(t){this.$store.commit("setConfigValue",{key:"description",value:t})}},db_driver:{get:function(){return this.$store.state.config.db_driver},set:function(t){this.$store.commit("setConfigValue",{key:"db_driver",value:t})}},db_port:{get:function(){return this.$store.state.config.db_port},set:function(t){this.$store.commit("setConfigValue",{key:"db_port",value:t})}},db_host:{get:function(){return this.$store.state.config.db_host},set:function(t){this.$store.commit("setConfigValue",{key:"db_host",value:t})}},db_name:{get:function(){return this.$store.state.config.db_name},set:function(t){this.$store.commit("setConfigValue",{key:"db_name",value:t})}},db_username:{get:function(){return this.$store.state.config.db_username},set:function(t){this.$store.commit("setConfigValue",{key:"db_username",value:t})}},db_password:{get:function(){return this.$store.state.config.db_password},set:function(t){this.$store.commit("setConfigValue",{key:"db_password",value:t})}}},watch:{$route:"init"},mounted:function(){this.init()},methods:{init:function(){var t=this;void 0!==this.$store.state.config.requirements?(this.domain&&this.name&&this.description||(this.step=1),this.precheckDatabase(!1)&&(this.step=2),setTimeout((function(){t.isLoaded=!0}),300)):this.$router.push("/installer")},goBack:function(){1!==this.step?this.step--:this.$router.push("/installer/requirements")},checkFields:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;switch(t){case 1:if(!this.domain||!this.name||!this.description)return void this.throwNotComplete();this.step=2;break;case 2:if(!(this.db_driver&&this.db_host&&this.db_port&&this.db_name&&this.db_username&&this.db_password))return void this.throwNotComplete();this.precheckDatabase()}},proceed:function(){var t=this;switch(this.step){case 1:this.proceedCheck=!0,setTimeout((function(){t.proceedCheck=!1,t.checkFields(1)}),750);break;case 2:this.proceedCheck=!0,setTimeout((function(){t.proceedCheck=!1,t.checkFields(2)}),750)}},throwNotComplete:function(){swal("Oops!","Please fill out the fields on this page before proceeding!","warning")},precheckDatabase:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];axios.post("/installer/precheck/database",{db_driver:this.db_driver,db_host:this.db_host,db_port:this.db_port,db_user:this.db_user,db_name:this.db_name,db_username:this.db_username,db_password:this.db_password}).then((function(s){if(!e)return!0;t.proceedCheck=!0,setTimeout((function(){t.proceedCheck=!1,t.$router.push("/installer/services")}),750)})).catch((function(t){if(e){if(t.hasOwnProperty("error")){var s=t.error;if(s.startsWith("SQLSTATE[08006] [7]")||s.startsWith("SQLSTATE[HY000] [1045]")){var i=document.createElement("p");i.classList.add("text-left"),i.innerHTML='The database credentials you provided are incorrect.
Please re-check them and try again.';var a=document.createElement("div");a.appendChild(i),swal({title:"Database Authentication Error",content:a,icon:"error"})}}if(t.response&&t.response.data&&t.response.data.error){var o=t.response.data.error;if(o.startsWith("SQLSTATE[08006] [7]")||o.startsWith("SQLSTATE[HY000] [1045]")){var r=document.createElement("p");r.classList.add("text-left"),r.innerHTML='The database credentials you provided are incorrect.
Please re-check them and try again.';var n=document.createElement("div");n.appendChild(r),swal({title:"Database Authentication Error",content:n,icon:"error"})}}console.log(t.response)}}))}}}},84967:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>i});const i={data:function(){return{proceedCheck:!1,features:[{state:!0,name:"ActivityPub",description:"ActivityPub federation, compatible with Pixelfed, Mastodon and other projects."},{state:!1,name:"Stories",description:"Allow users to share ephemeral Stories."},{state:!1,name:"Spam detection",description:"Detect and remove spam from timelines."}]}},computed:{openRegistration:{get:function(){return this.$store.state.config.features.open_registration},set:function(t){this.updateFeature("open_registration",t)}},activitypub:{get:function(){return this.$store.state.config.features.activitypub},set:function(t){this.updateFeature("activitypub",t)}},atom:{get:function(){return this.$store.state.config.features.atom},set:function(t){this.updateFeature("atom",t)}},stories:{get:function(){return this.$store.state.config.features.stories},set:function(t){this.updateFeature("stories",t)}}},watch:{$route:"init"},mounted:function(){this.init()},methods:{init:function(){void 0!==this.$store.state.config.requirements||this.$router.push("/installer")},updateFeature:function(t,e){var s=this.$store.state.config.features;s[t]=e,this.$store.commit("setConfigValue",{key:"features",value:s})},proceed:function(){var t=this;this.proceedCheck=!0,setTimeout((function(){t.proceedCheck=!1,t.$router.push("/installer/media")}),750)}}}},37702:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>i});const i={}},91517:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>i});const i={data:function(){return{proceedCheck:!1,showCustom:{uploadSize:!1},mimes:{jpeg:!0,png:!0,gif:!1,webp:!1,mp4:!1}}},computed:{systemMaxUploadSize:{get:function(){var t=this.prettyToReal(this.$store.state.config.requirements.php.post_max_size.actual),e=this.prettyToReal(this.$store.state.config.requirements.php.upload_max_filesize.actual),s=(t>=t?t:e)/1024/1024;return s>50?50:s}},optimizeMedia:{get:function(){return this.$store.state.config.optimize_media},set:function(t){this.$store.commit("setConfigValue",{key:"optimize_media",value:t})}},maxUploadSize:{get:function(){var t=this.$store.state.config.max_upload_size;return t>this.systemMaxUploadSize?t>15?15:this.systemMaxUploadSize:t},set:function(t){this.$store.commit("setConfigValue",{key:"max_upload_size",value:t})}},imageQuality:{get:function(){return this.$store.state.config.image_quality},set:function(t){this.$store.commit("setConfigValue",{key:"image_quality",value:t})}}},watch:{$route:"init"},mounted:function(){this.init()},methods:{init:function(){null!=this.$store.state.config.requirements||this.$router.push("/installer")},prettyToReal:function(t){var e=t.slice(-1),s=t.slice(0,-1),i=1;switch(e){case"K":i=1024;break;case"M":i=1048576;break;case"G":i=1073741824}return s*i},proceed:function(){var t=this;this.proceedCheck=!0,this.setMimes(),setTimeout((function(){t.proceedCheck=!1,t.$router.push("/installer/administration")}),750)},setMimes:function(){var t=[];this.mimes.jpeg&&t.push("image/jpeg"),this.mimes.png&&t.push("image/png"),this.mimes.gif&&t.push("image/gif"),this.mimes.gif&&t.push("image/webp"),this.mimes.mp4&&t.push("video/mp4"),t.length&&this.$store.commit("setConfigValue",{key:"mime_types",value:t})}}}},75568:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>i});const i={data:function(){return{r:[],proceedCheck:!1}},mounted:function(){this.fetchRequirements()},methods:{fetchRequirements:function(){var t=this;axios.get("/installer/api/requirements").then((function(e){t.r=e.data,t.$store.commit("setConfigValue",{key:"requirements",value:e.data})}))},renderState:function(t){return t?"far fa-check-circle text-success":"far fa-times-circle text-danger"},prettyToReal:function(t){var e=t.slice(-1),s=t.slice(0,-1),i=1;switch(e){case"K":i=1024;break;case"M":i=1048576;break;case"G":i=1073741824}return s*i},compareVals:function(t,e){var s=this.prettyToReal(t);return this.prettyToReal(e)>=s},proceed:function(){var t=this;this.proceedCheck=!0,setTimeout((function(){t.proceedCheck=!1,t.$router.push("/installer/environment")}),750)}}}},71766:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>i});const i={data:function(){return{initialLoad:!1,proceedCheck:!1}},computed:{config:{get:function(){return this.$store.state.config}},administrator:{get:function(){var t=this.$store.state.config;return t.admin_email&&t.admin_password&&t.admin_username}},database:{get:function(){var t=this.$store.state.config;return!!(t.db_name&&t.db_port&&t.db_host&&t.db_driver&&t.db_username)}}},watch:{$route:"init"},mounted:function(){this.init()},methods:{init:function(){if(!this.initialLoad)if(void 0!==this.$store.state.config.requirements){if(!this.config.name||!this.config.db_username||!this.config.domain){if(!this.config.name||!this.config.domain)return void this.$router.push("/installer/environment");swal("Error","You have not completed the installation process, please go back and ensure all fields are filled out.","error")}this.initialLoad=!0}else this.$router.push("/installer")},proceed:function(){var t=this;this.proceedCheck=!0,axios.post("/installer/store",this.config).then((function(e){t.proceedCheck=!1,localStorage.clear(),window.location="/login?fi=1&hb=jp"})).catch((function(e){t.proceedCheck=!1;var s=e.response.data.hasOwnProperty("error")?e.response.data.error:e.response.data;swal("Error",s,"error")}))}}}},79038:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>i});const i={data:function(){return{isLoaded:!1,step:1,proceedCheck:!1}},computed:{cache_driver:{get:function(){return this.$store.state.config.cache_driver},set:function(t){this.$store.commit("setConfigValue",{key:"cache_driver",value:t})}},redis_scheme:{get:function(){return this.$store.state.config.redis_scheme},set:function(t){this.$store.commit("setConfigValue",{key:"redis_scheme",value:t})}},redis_host:{get:function(){return this.$store.state.config.redis_host},set:function(t){this.$store.commit("setConfigValue",{key:"redis_host",value:t})}},redis_port:{get:function(){return this.$store.state.config.redis_port},set:function(t){this.$store.commit("setConfigValue",{key:"redis_port",value:t})}},redis_password:{get:function(){return this.$store.state.config.redis_password},set:function(t){this.$store.commit("setConfigValue",{key:"redis_password",value:t})}},queueLink:{get:function(){return"database"===this.queueDriver?"https://laravel.com/docs/8.x/queues#supervisor-configuration":"https://laravel.com/docs/8.x/horizon#deploying-horizon"}},queueDriver:{get:function(){return this.$store.state.config.queue_driver},set:function(t){this.$store.commit("setConfigValue",{key:"queue_driver",value:t})}},queueConfirm:{get:function(){return this.$store.state.config.queue_confirm},set:function(t){this.$store.commit("setConfigValue",{key:"queue_confirm",value:t})}},mailAddressVerify:{get:function(){return this.$store.state.config.mail_address_verify},set:function(t){this.$store.commit("setConfigValue",{key:"mail_address_verify",value:t})}},mailDriver:{get:function(){return this.$store.state.config.mail_driver},set:function(t){this.$store.commit("setConfigValue",{key:"mail_driver",value:t})}},mailHost:{get:function(){return this.$store.state.config.mail_host},set:function(t){this.$store.commit("setConfigValue",{key:"mail_host",value:t})}},mailPort:{get:function(){return this.$store.state.config.mail_port},set:function(t){this.$store.commit("setConfigValue",{key:"mail_port",value:t})}},mailUsername:{get:function(){return this.$store.state.config.mail_username},set:function(t){this.$store.commit("setConfigValue",{key:"mail_username",value:t})}},mailPassword:{get:function(){return this.$store.state.config.mail_password},set:function(t){this.$store.commit("setConfigValue",{key:"mail_password",value:t})}},mailgunDomain:{get:function(){return this.$store.state.config.mailgun_domain},set:function(t){this.$store.commit("setConfigValue",{key:"mailgun_domain",value:t})}},mailgunSecret:{get:function(){return this.$store.state.config.mailgun_secret},set:function(t){this.$store.commit("setConfigValue",{key:"mailgun_secret",value:t})}},mailgunEndpoint:{get:function(){return this.$store.state.config.mailgun_endpoint},set:function(t){this.$store.commit("setConfigValue",{key:"mailgun_endpoint",value:t})}}},watch:{$route:"init"},mounted:function(){this.init()},methods:{init:function(){var t=this;void 0!==this.$store.state.config.requirements?(this.queueConfirm&&(this.step=3),setTimeout((function(){t.isLoaded=!0}),300)):this.$router.push("/installer")},goBack:function(){1!==this.step?this.step--:this.$router.push("/installer/environment")},checkFields:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;switch(t){case 1:this.step=2;break;case 2:if(!this.queueConfirm)return void this.throwNotComplete("You need to confirm that manual action is required to setup the job queue");this.step=3}},proceed:function(){var t=this;switch(this.step){case 1:this.checkFields(1);break;case 2:this.checkFields(2);break;case 3:this.proceedCheck=!0,setTimeout((function(){t.proceedCheck=!1,t.$router.push("/installer/features")}),750)}},throwNotComplete:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Please fill out the fields on this page before proceeding!";swal("Oops!",t,"warning")}}}},99720:(t,e,s)=>{"use strict";s.r(e);var i=s(70538),a=s(78345),o=s(20629),r=s(83678),n=s(25518),l=s(30306),c=s.n(l),d=s(7398),u=s.n(d),m=s(92987),f=s(37409),p=s.n(f),v=s(74870),h=s.n(v),_=s(82364),g=s(17152),b=(s(93142),s(46737),s(5572)),y=s(91283),C=s(16563),w=s(23501),x=s(17851),k=s(99248),$=s(75880),P=s(91572),S=(s(19755),s(19755));s(86807),window.Vue=i.default,window.pftxt=s(47711),window.filesize=s(42317),window._=s(96486),window.Popper=s(28981).default,window.pixelfed=window.pixelfed||{},window.$=s(19755),s(43734),window.axios=s(9669),window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest",s(90717),window.blurhash=s(43985),S('[data-toggle="tooltip"]').tooltip(),i.default.use(a.default),i.default.use(o.default),i.default.use(h()),i.default.use(p()),i.default.use(n.default),i.default.use(c()),i.default.use(u()),i.default.use(_.default),i.default.use(g.default),i.default.use(m.default,{name:"Timeago",locale:"en"});var R=new a.default({mode:"history",linkActiveClass:"active",routes:[{path:"/installer",component:b.default},{path:"/installer/requirements",component:y.default},{path:"/installer/environment",component:C.default},{path:"/installer/services",component:w.default},{path:"/installer/features",component:k.default},{path:"/installer/media",component:x.default},{path:"/installer/administration",component:$.default},{path:"/installer/review",component:P.default},{path:"/installer/*",component:b.default,props:!0}],scrollBehavior:function(t,e,s){return t.hash?{selector:"[id='".concat(t.hash.slice(1),"']")}:{x:0,y:0}}});function A(t,e){var s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i="pfi."+t,a=window.localStorage;if(1==s)return["mime_types","requirements"].includes(t)?void a.setItem(i,JSON.stringify(e)):void a.setItem(i,e);if(a.getItem(i)){if(["mime_types","requirements"].includes(t))return JSON.parse(a.getItem(i));var o=a.getItem(i);return o}return e}var M=new o.default.Store({state:{version:1,config:{requirements:void 0,domain:A("domain",void 0),name:A("name","pixelfed"),description:A("description",void 0),db_driver:A("db_driver","mysql"),db_name:A("db_name","pixelfed"),db_port:A("db_port","3306"),db_host:A("db_host","localhost"),db_username:A("db_username",void 0),db_password:A("db_password",void 0),cache_driver:A("cache_driver","database"),redis_scheme:A("redis_scheme","tcp"),redis_host:A("redis_host","127.0.0.1"),redis_port:A("redis_port",6379),redis_password:A("redis_password",void 0),mail_driver:A("mail_driver",0),mailgun_endpoint:A("mailgun_endpoint","api.mailgun.net"),mailgun_domain:A("mailgun_domain",void 0),mailgun_secret:A("mailgun_secret",void 0),mail_host:A("mail_host",void 0),mail_port:A("mail_port",587),mail_username:A("mail_username",void 0),mail_password:A("mail_password",void 0),mail_address_verify:A("mail_address_verify",!0),queue_driver:A("queue_driver","database"),queue_confirm:A("queue_confirm",!1),filesystem:A("filesystem","local"),optimize_media:A("optimize_media",!1),max_upload_size:A("max_upload_size",5),image_quality:A("image_quality",80),mime_types:A("mime_types",["image/jpeg","image/png"]),features:{open_registration:A("open_registration",!1),activitypub:A("activitypub",!0),atom:A("atom",!0),stories:A("stories",!1)},admin_username:A("admin_username",void 0),admin_password:A("admin_password",void 0),admin_email:A("admin_email",void 0),compose:{max_caption_length:150,max_album_length:4}}},getters:{getVersion:function(t){return t.version},getConfig:function(t){return t.config}},mutations:{setVersion:function(t,e){t.version=e},setConfig:function(t,e){t.config=e},setConfigValue:function(t,e){t.config[e.key]=e.value,A(e.key,e.value,!0)}}});(0,r.sync)(M,R);new i.default({el:"#content",router:R,store:M});window.App=window.App||{};console.log("%cStop!","color:red; font-size:60px; font-weight: bold; -webkit-text-stroke: 1px black;"),console.log('%cThis is a browser feature intended for developers. If someone told you to copy and paste something here to enable a Pixelfed feature or "hack" someone\'s account, it is a scam and will give them access to your Pixelfed account.',"font-size: 18px;")},86807:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}!function(){var e="object"===("undefined"==typeof window?"undefined":t(window))?window:"object"===("undefined"==typeof self?"undefined":t(self))?self:this,s=e.BlobBuilder||e.WebKitBlobBuilder||e.MSBlobBuilder||e.MozBlobBuilder;e.URL=e.URL||e.webkitURL||function(t,e){return(e=document.createElement("a")).href=t,e};var i=e.Blob,a=URL.createObjectURL,o=URL.revokeObjectURL,r=e.Symbol&&e.Symbol.toStringTag,n=!1,c=!1,d=!!e.ArrayBuffer,u=s&&s.prototype.append&&s.prototype.getBlob;try{n=2===new Blob(["รค"]).size,c=2===new Blob([new Uint8Array([1,2])]).size}catch(t){}function m(t){return t.map((function(t){if(t.buffer instanceof ArrayBuffer){var e=t.buffer;if(t.byteLength!==e.byteLength){var s=new Uint8Array(t.byteLength);s.set(new Uint8Array(e,t.byteOffset,t.byteLength)),e=s.buffer}return e}return t}))}function f(t,e){e=e||{};var i=new s;return m(t).forEach((function(t){i.append(t)})),e.type?i.getBlob(e.type):i.getBlob()}function p(t,e){return new i(m(t),e||{})}e.Blob&&(f.prototype=Blob.prototype,p.prototype=Blob.prototype);var v="function"==typeof TextEncoder?TextEncoder.prototype.encode.bind(new TextEncoder):function(t){for(var s=0,i=t.length,a=e.Uint8Array||Array,o=0,r=Math.max(32,i+(i>>1)+7),n=new a(r>>3<<3);s=55296&&l<=56319){if(s=55296&&l<=56319)continue}if(o+4>n.length){r+=8,r=(r*=1+s/t.length*2)>>3<<3;var d=new Uint8Array(r);d.set(n),n=d}if(0!=(4294967168&l)){if(0==(4294965248&l))n[o++]=l>>6&31|192;else if(0==(4294901760&l))n[o++]=l>>12&15|224,n[o++]=l>>6&63|128;else{if(0!=(4292870144&l))continue;n[o++]=l>>18&7|240,n[o++]=l>>12&63|128,n[o++]=l>>6&63|128}n[o++]=63&l|128}else n[o++]=l}return n.slice(0,o)},h="function"==typeof TextDecoder?TextDecoder.prototype.decode.bind(new TextDecoder):function(t){for(var e=t.length,s=[],i=0;i239?4:l>223?3:l>191?2:1;if(i+d<=e)switch(d){case 1:l<128&&(c=l);break;case 2:128==(192&(a=t[i+1]))&&(n=(31&l)<<6|63&a)>127&&(c=n);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(n=(15&l)<<12|(63&a)<<6|63&o)>2047&&(n<55296||n>57343)&&(c=n);break;case 4:a=t[i+1],o=t[i+2],r=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&r)&&(n=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&r)>65535&&n<1114112&&(c=n)}null===c?(c=65533,d=1):c>65535&&(c-=65536,s.push(c>>>10&1023|55296),c=56320|1023&c),s.push(c),i+=d}var u=s.length,m="";for(i=0;i>2,d=(3&a)<<4|r>>4,u=(15&r)<<2|l>>6,m=63&l;n||(m=64,o||(u=64)),s.push(e[c],e[d],e[u],e[m])}return s.join("")}var i=Object.create||function(t){function e(){}return e.prototype=t,new e};if(d)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=ArrayBuffer.isView||function(t){return t&&r.indexOf(Object.prototype.toString.call(t))>-1};function c(s,i){i=null==i?{}:i;for(var a=0,o=(s=s||[]).length;a=e.size&&s.close()}))}})}}catch(t){try{new ReadableStream({}),g=function(t){var e=0;t=this;return new ReadableStream({pull:function(s){return t.slice(e,e+524288).arrayBuffer().then((function(i){e+=i.byteLength;var a=new Uint8Array(i);s.enqueue(a),e==t.size&&s.close()}))}})}}catch(t){try{new Response("").body.getReader().read(),g=function(){return new Response(this).body}}catch(t){g=function(){throw new Error("Include https://github.com/MattiasBuelens/web-streams-polyfill")}}}}b.arrayBuffer||(b.arrayBuffer=function(){var t=new FileReader;return t.readAsArrayBuffer(this),y(t)}),b.text||(b.text=function(){var t=new FileReader;return t.readAsText(this),y(t)}),b.stream||(b.stream=g)}(),function(t){"use strict";var e,s=t.Uint8Array,i=t.HTMLCanvasElement,a=i&&i.prototype,o=/\s*;\s*base64\s*(?:;|$)/i,r="toDataURL",n=function(t){for(var i,a,o=t.length,r=new s(o/4*3|0),n=0,l=0,c=[0,0],d=0,u=0;o--;)a=t.charCodeAt(n++),255!==(i=e[a-43])&&undefined!==i&&(c[1]=c[0],c[0]=a,u=u<<6|i,4===++d&&(r[l++]=u>>>16,61!==c[1]&&(r[l++]=u>>>8),61!==c[0]&&(r[l++]=u),d=0));return r};s&&(e=new s([62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51])),!i||a.toBlob&&a.toBlobHD||(a.toBlob||(a.toBlob=function(t,e){if(e||(e="image/png"),this.mozGetAsFile)t(this.mozGetAsFile("canvas",e));else if(this.msToBlob&&/^\s*image\/png\s*(?:$|;)/i.test(e))t(this.msToBlob());else{var i,a=Array.prototype.slice.call(arguments,1),l=this[r].apply(this,a),c=l.indexOf(","),d=l.substring(c+1),u=o.test(l.substring(0,c));Blob.fake?((i=new Blob).encoding=u?"base64":"URI",i.data=d,i.size=d.length):s&&(i=u?new Blob([n(d)],{type:e}):new Blob([decodeURIComponent(d)],{type:e})),t(i)}}),!a.toBlobHD&&a.toDataURLHD?a.toBlobHD=function(){r="toDataURLHD";var t=this.toBlob();return r="toDataURL",t}:a.toBlobHD=a.toBlob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this)},47855:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>o});var i=s(23645),a=s.n(i)()((function(t){return t[1]}));a.push([t.id,".review-card[data-v-4726333c]{align-items:center;background-color:#f8f9fa!important;border:none;box-shadow:none;display:flex;flex-direction:row;font-size:1.3rem;justify-content:space-between;margin-bottom:1rem}.review-card div[data-v-4726333c]:last-child{font-weight:700}",""]);const o=a},99042:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>n});var i=s(93379),a=s.n(i),o=s(47855),r={insert:"head",singleton:!1};a()(o.default,r);const n=o.default.locals||{}},75880:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>r});var i=s(11396),a=s(63689),o={};for(const t in a)"default"!==t&&(o[t]=()=>a[t]);s.d(e,o);const r=(0,s(51900).default)(a.default,i.render,i.staticRenderFns,!1,null,null,null).exports},16563:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>r});var i=s(72476),a=s(54185),o={};for(const t in a)"default"!==t&&(o[t]=()=>a[t]);s.d(e,o);const r=(0,s(51900).default)(a.default,i.render,i.staticRenderFns,!1,null,null,null).exports},99248:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>r});var i=s(8245),a=s(59372),o={};for(const t in a)"default"!==t&&(o[t]=()=>a[t]);s.d(e,o);const r=(0,s(51900).default)(a.default,i.render,i.staticRenderFns,!1,null,null,null).exports},5572:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>r});var i=s(96780),a=s(79692),o={};for(const t in a)"default"!==t&&(o[t]=()=>a[t]);s.d(e,o);const r=(0,s(51900).default)(a.default,i.render,i.staticRenderFns,!1,null,null,null).exports},17851:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>r});var i=s(57695),a=s(66953),o={};for(const t in a)"default"!==t&&(o[t]=()=>a[t]);s.d(e,o);const r=(0,s(51900).default)(a.default,i.render,i.staticRenderFns,!1,null,null,null).exports},91283:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>r});var i=s(47846),a=s(44819),o={};for(const t in a)"default"!==t&&(o[t]=()=>a[t]);s.d(e,o);const r=(0,s(51900).default)(a.default,i.render,i.staticRenderFns,!1,null,null,null).exports},91572:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>r});var i=s(48966),a=s(9674),o={};for(const t in a)"default"!==t&&(o[t]=()=>a[t]);s.d(e,o);s(22222);const r=(0,s(51900).default)(a.default,i.render,i.staticRenderFns,!1,null,"4726333c",null).exports},23501:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>r});var i=s(6796),a=s(75893),o={};for(const t in a)"default"!==t&&(o[t]=()=>a[t]);s.d(e,o);const r=(0,s(51900).default)(a.default,i.render,i.staticRenderFns,!1,null,null,null).exports},63689:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>o});var i=s(51668),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a);const o=i.default},54185:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>o});var i=s(14890),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a);const o=i.default},59372:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>o});var i=s(84967),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a);const o=i.default},79692:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>o});var i=s(37702),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a);const o=i.default},66953:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>o});var i=s(91517),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a);const o=i.default},44819:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>o});var i=s(75568),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a);const o=i.default},9674:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>o});var i=s(71766),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a);const o=i.default},75893:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>o});var i=s(79038),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a);const o=i.default},22222:(t,e,s)=>{"use strict";s.r(e);var i=s(99042),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a)},11396:(t,e,s)=>{"use strict";s.r(e);var i=s(52106),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a)},72476:(t,e,s)=>{"use strict";s.r(e);var i=s(64731),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a)},8245:(t,e,s)=>{"use strict";s.r(e);var i=s(30910),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a)},96780:(t,e,s)=>{"use strict";s.r(e);var i=s(81053),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a)},57695:(t,e,s)=>{"use strict";s.r(e);var i=s(6151),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a)},47846:(t,e,s)=>{"use strict";s.r(e);var i=s(65490),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a)},48966:(t,e,s)=>{"use strict";s.r(e);var i=s(15901),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a)},6796:(t,e,s)=>{"use strict";s.r(e);var i=s(20080),a={};for(const t in i)"default"!==t&&(a[t]=()=>i[t]);s.d(e,a)},52106:(t,e,s)=>{"use strict";s.r(e),s.d(e,{render:()=>i,staticRenderFns:()=>a});var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"card card-body rounded-lg border d-flex justify-content-between",staticStyle:{"min-height":"80vh"}},[s("div",{staticClass:"m-5 text-dark"},[s("p",{staticClass:"h3 font-weight-bold"},[t._v("Administration")]),t._v(" "),s("p",{staticClass:"lead"},[t._v("Optionally configure an administrator account")]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Username")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.adminUsername,expression:"adminUsername"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"admin"},domProps:{value:t.adminUsername},on:{input:function(e){e.target.composing||(t.adminUsername=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Email")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.adminEmail,expression:"adminEmail"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"john.appleseed@example.org"},domProps:{value:t.adminEmail},on:{input:function(e){e.target.composing||(t.adminEmail=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Password")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.adminPassword,expression:"adminPassword"}],staticClass:"form-control form-control-lg",domProps:{value:t.adminPassword},on:{input:function(e){e.target.composing||(t.adminPassword=e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"mx-5"},[s("p",{staticClass:"d-flex justify-content-between"},[s("router-link",{staticClass:"btn btn-light",attrs:{to:"/installer/media"}},[t._v("\n\t\t\t\tBack\n\t\t\t")]),t._v(" "),s("button",{staticClass:"btn btn-primary",attrs:{disabled:t.proceedCheck},on:{click:t.proceed}},[t.proceedCheck?s("b-spinner",{attrs:{small:""}}):s("span",[t._v("Proceed")])],1)],1)])])},a=[]},64731:(t,e,s)=>{"use strict";s.r(e),s.d(e,{render:()=>i,staticRenderFns:()=>a});var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"card card-body rounded-lg border d-flex justify-content-between",staticStyle:{"min-height":"80vh"}},[t.isLoaded?[s("div",{staticClass:"m-5 text-dark"},[s("p",{staticClass:"h3 font-weight-bold"},[t._v("Environment")]),t._v(" "),s("hr"),t._v(" "),1===t.step?[s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Domain")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.domain,expression:"domain"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"pixelfed.org"},domProps:{value:t.domain},on:{input:function(e){e.target.composing||(t.domain=e.target.value)}}}),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("The domain of your instance. You can change this later.")])]),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Site Name")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"name"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"Pixelfed"},domProps:{value:t.name},on:{input:function(e){e.target.composing||(t.name=e.target.value)}}}),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("The name of your instance. You can change this later.")])]),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Description")]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.description,expression:"description"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"Photographers wanted...",rows:"2"},domProps:{value:t.description},on:{input:function(e){e.target.composing||(t.description=e.target.value)}}}),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("A brief description of your instance. You can change this later.")])])]:t._e(),t._v(" "),2===t.step?[s("p",{staticClass:"small font-weight-bold text-muted"},[t._v("DATABASE")]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Database Driver")]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.db_driver,expression:"db_driver"}],staticClass:"form-control form-control-lg",on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.db_driver=e.target.multiple?s:s[0]}}},[s("option",{attrs:{value:"mysql"}},[t._v("MySQL")]),t._v(" "),s("option",{attrs:{value:"pgsql"}},[t._v("Postgres")])])]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Database Host")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.db_host,expression:"db_host"}],staticClass:"form-control form-control-lg",attrs:{name:"db_host",placeholder:"localhost"},domProps:{value:t.db_host},on:{input:function(e){e.target.composing||(t.db_host=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Database Port")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.db_port,expression:"db_port"}],staticClass:"form-control form-control-lg",attrs:{name:"db_port",placeholder:"3306"},domProps:{value:t.db_port},on:{input:function(e){e.target.composing||(t.db_port=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Database Name")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.db_name,expression:"db_name"}],staticClass:"form-control form-control-lg",attrs:{name:"db_name",placeholder:"pixelfed"},domProps:{value:t.db_name},on:{input:function(e){e.target.composing||(t.db_name=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Database Username")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.db_username,expression:"db_username"}],staticClass:"form-control form-control-lg",attrs:{name:"db_username",placeholder:"pixelfed"},domProps:{value:t.db_username},on:{input:function(e){e.target.composing||(t.db_username=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Database Password")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.db_password,expression:"db_password"}],staticClass:"form-control form-control-lg",attrs:{name:"db_password"},domProps:{value:t.db_password},on:{input:function(e){e.target.composing||(t.db_password=e.target.value)}}})])]:t._e()],2),t._v(" "),s("div",{staticClass:"mx-5"},[s("p",{staticClass:"d-flex justify-content-between"},[s("button",{staticClass:"btn btn-light",on:{click:t.goBack}},[t._v("\n\t\t\t\t\tBack\n\t\t\t\t")]),t._v(" "),s("button",{staticClass:"btn btn-primary",attrs:{disabled:t.proceedCheck},on:{click:t.proceed}},[t.proceedCheck?s("b-spinner",{attrs:{small:""}}):s("span",[t._v("Proceed")])],1)])])]:[s("div",{staticClass:"d-flex justify-content-center"},[s("div",{staticClass:"text-center"},[s("b-spinner",{attrs:{type:"grow"}}),t._v(" "),s("p",{staticClass:"small text-lighter"},[t._v("Loading...")])],1)])]],2)},a=[]},30910:(t,e,s)=>{"use strict";s.r(e),s.d(e,{render:()=>i,staticRenderFns:()=>a});var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"card card-body rounded-lg border d-flex justify-content-between",staticStyle:{"min-height":"80vh"}},[s("div",{staticClass:"m-5 text-dark"},[s("p",{staticClass:"h3 font-weight-bold"},[t._v("Features")]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"form-group"},[s("b-form-checkbox",{attrs:{switch:""},model:{value:t.openRegistration,callback:function(e){t.openRegistration=e},expression:"openRegistration"}},[t._v("\n\t\t\t\tOpen Registration\n\t\t\t")]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\tAllow anyone to create a new account.\n\t\t\t")])],1),t._v(" "),s("div",{staticClass:"form-group"},[s("b-form-checkbox",{attrs:{switch:""},model:{value:t.activitypub,callback:function(e){t.activitypub=e},expression:"activitypub"}},[t._v("\n\t\t\t\tActivitypub\n\t\t\t")]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\tActivityPub federation, compatible with Pixelfed, Mastodon and other projects.\n\t\t\t")])],1),t._v(" "),s("div",{staticClass:"form-group"},[s("b-form-checkbox",{attrs:{switch:""},model:{value:t.atom,callback:function(e){t.atom=e},expression:"atom"}},[t._v("\n\t\t\t\tAtom Feeds\n\t\t\t")]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\tEnable atom feeds for every user.\n\t\t\t")])],1),t._v(" "),s("div",{staticClass:"form-group"},[s("b-form-checkbox",{attrs:{switch:""},model:{value:t.stories,callback:function(e){t.stories=e},expression:"stories"}},[t._v("\n\t\t\t\tStories\n\t\t\t")]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\tAllow users to share ephemeral Stories to their followers that disappear after 24 hours.\n\t\t\t")])],1)]),t._v(" "),s("div",{staticClass:"mx-5"},[s("p",{staticClass:"d-flex justify-content-between"},[s("router-link",{staticClass:"btn btn-light",attrs:{to:"/installer/services"}},[t._v("\n\t\t\t\tBack\n\t\t\t")]),t._v(" "),s("button",{staticClass:"btn btn-primary",attrs:{disabled:t.proceedCheck},on:{click:t.proceed}},[t.proceedCheck?s("b-spinner",{attrs:{small:""}}):s("span",[t._v("Proceed")])],1)],1)])])},a=[]},81053:(t,e,s)=>{"use strict";s.r(e),s.d(e,{render:()=>i,staticRenderFns:()=>a});var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"card card-body rounded-lg border d-flex align-items-center justify-content-center",staticStyle:{"min-height":"80vh"}},[s("div",{staticClass:"m-5"},[s("p",{staticClass:"h1 font-weight-light"},[t._v("Welcome to the Pixelfed Installer")]),t._v(" "),s("p",{staticClass:"lead"},[t._v("You are moments away from an ethical and decentralized photo sharing experience!\n\t\t")]),t._v(" "),s("hr"),t._v(" "),s("p",{staticClass:"d-flex justify-content-between"},[s("router-link",{staticClass:"btn btn-primary",attrs:{to:"/installer/requirements"}},[t._v("\n\t\t\t\tProceed\n\t\t\t")])],1)])])},a=[]},6151:(t,e,s)=>{"use strict";s.r(e),s.d(e,{render:()=>i,staticRenderFns:()=>a});var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"card card-body rounded-lg border d-flex justify-content-between",staticStyle:{"min-height":"80vh"}},[s("div",{staticClass:"m-5 text-dark"},[s("p",{staticClass:"h3 font-weight-bold"},[t._v("Media")]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"form-group mb-4",staticStyle:{"max-width":"50%"}},[s("label",{staticClass:"font-weight-bold"},[t._v("Max Upload Size")]),t._v(" "),t.showCustom.uploadSize?[s("div",{staticClass:"input-group"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.maxUploadSize,expression:"maxUploadSize"}],staticClass:"form-control form-control-lg",attrs:{type:"number",placeholder:"5"},domProps:{value:t.maxUploadSize},on:{input:function(e){e.target.composing||(t.maxUploadSize=e.target.value)}}}),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\t\tThe maximum file size for photo and video uploads. "),s("br"),t._v("\n\t\t\t\t\tClick "),s("a",{attrs:{href:"#"},on:{click:function(e){e.preventDefault(),t.showCustom.uploadSize=!1}}},[t._v("here")]),t._v(" to use a recommended limit.\n\t\t\t\t")])]:[s("input",{directives:[{name:"model",rawName:"v-model",value:t.maxUploadSize,expression:"maxUploadSize"}],staticClass:"custom-range",attrs:{type:"range",min:"5",max:t.systemMaxUploadSize,step:"1"},domProps:{value:t.maxUploadSize},on:{__r:function(e){t.maxUploadSize=e.target.value}}}),t._v(" "),s("div",{staticClass:"d-flex justify-content-between mb-3 mt-n1"},[s("div",{staticClass:"text-muted"},[t._v("Min: 5MB")]),t._v(" "),s("div",{staticClass:"font-weight-bold"},[t._v(t._s(t.maxUploadSize)+"MB")]),t._v(" "),s("div",{staticClass:"text-muted"},[t._v("Max: "+t._s(t.systemMaxUploadSize)+"MB")])]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\t\tThe maximum file size for photo and video uploads. "),s("br"),t._v("\n\t\t\t\t\tClick "),s("a",{attrs:{href:"#"},on:{click:function(e){e.preventDefault(),t.showCustom.uploadSize=!0}}},[t._v("here")]),t._v(" to set a custom value.\n\t\t\t\t")])]],2),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("p",{staticClass:"font-weight-bold"},[t._v("Allowed Media Types")]),t._v(" "),s("div",{staticClass:"d-flex justify-content-between mb-5"},[s("b-form-checkbox",{model:{value:t.mimes.jpeg,callback:function(e){t.$set(t.mimes,"jpeg",e)},expression:"mimes.jpeg"}},[s("span",{staticClass:"border border-dark px-1 rounded font-weight-bold user-select-none"},[t._v("JPEG")])]),t._v(" "),s("b-form-checkbox",{model:{value:t.mimes.png,callback:function(e){t.$set(t.mimes,"png",e)},expression:"mimes.png"}},[s("span",{staticClass:"border border-dark px-1 rounded font-weight-bold user-select-none"},[t._v("PNG")])]),t._v(" "),s("b-form-checkbox",{model:{value:t.mimes.gif,callback:function(e){t.$set(t.mimes,"gif",e)},expression:"mimes.gif"}},[s("span",{staticClass:"border border-dark px-1 rounded font-weight-bold user-select-none"},[t._v("GIF")])]),t._v(" "),s("b-form-checkbox",{model:{value:t.mimes.webp,callback:function(e){t.$set(t.mimes,"webp",e)},expression:"mimes.webp"}},[s("span",{staticClass:"border border-dark px-1 rounded font-weight-bold user-select-none"},[t._v("WebP")])]),t._v(" "),s("b-form-checkbox",{model:{value:t.mimes.mp4,callback:function(e){t.$set(t.mimes,"mp4",e)},expression:"mimes.mp4"}},[s("span",{staticClass:"border border-dark px-1 rounded font-weight-bold user-select-none"},[t._v("MP4")])])],1)]),t._v(" "),s("div",{staticClass:"form-group mb-4",staticStyle:{"max-width":"50%"}},[s("b-form-checkbox",{model:{value:t.optimizeMedia,callback:function(e){t.optimizeMedia=e},expression:"optimizeMedia"}},[t._v("\n\t\t\t\tOptimize Media\n\t\t\t")]),t._v(" "),t._m(1)],1),t._v(" "),t.optimizeMedia?[s("div",{staticClass:"form-group mb-4",staticStyle:{"max-width":"50%"}},[s("label",{staticClass:"font-weight-bold"},[t._v("Image Quality")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.imageQuality,expression:"imageQuality"}],staticClass:"custom-range",attrs:{type:"range",min:"50",max:"100",step:"1"},domProps:{value:t.imageQuality},on:{__r:function(e){t.imageQuality=e.target.value}}}),t._v(" "),s("div",{staticClass:"d-flex justify-content-between mb-3 mt-n1"},[s("div",{staticClass:"text-muted"},[t._v("Min: 50%")]),t._v(" "),s("div",{staticClass:"font-weight-bold"},[t._v(t._s(t.imageQuality)+"%")]),t._v(" "),s("div",{staticClass:"text-muted"},[t._v("Max: 100%")])]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\t\tLower values use less disk space but result in lower quality photos.\n\t\t\t\t")])])]:t._e()],2),t._v(" "),s("div",{staticClass:"mx-5"},[s("p",{staticClass:"d-flex justify-content-between"},[s("router-link",{staticClass:"btn btn-light",attrs:{to:"/installer/features"}},[t._v("\n\t\t\t\tBack\n\t\t\t")]),t._v(" "),s("button",{staticClass:"btn btn-primary",attrs:{disabled:t.proceedCheck},on:{click:t.proceed}},[t.proceedCheck?s("b-spinner",{attrs:{small:""}}):s("span",[t._v("Proceed")])],1)],1)])])},a=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"input-group-append"},[s("span",{staticClass:"border-0 bg-lighter input-group-text font-weight-bold"},[t._v("MB")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\tUse less disk space by optimizing photos. "),s("br"),t._v(" "),s("strong",[t._v("Requires additional dependencies")])])}]},65490:(t,e,s)=>{"use strict";s.r(e),s.d(e,{render:()=>i,staticRenderFns:()=>a});var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"card card-body rounded-lg border d-flex justify-content-between",staticStyle:{"min-height":"80vh"}},[s("div",{staticClass:"pt-5 mx-5"},[s("p",{staticClass:"h1 font-weight-light"},[t._v("Compatibility Check")]),t._v(" "),t._m(0),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"row justify-content-center mb-3"},[s("div",{staticClass:"col-6"},[s("div",{staticClass:"list-group my-3"},[t.r.permissions?s("div",{staticClass:"list-group-item"},[s("div",{directives:[{name:"b-toggle",rawName:"v-b-toggle.permissions",modifiers:{permissions:!0}}],staticClass:"font-weight-bold d-flex justify-content-between"},[s("p",{staticClass:"mb-0"},[t._v("Storage Permissions")]),t._v(" "),t._m(1)]),t._v(" "),s("b-collapse",{attrs:{id:"permissions"}},[s("ul",{staticClass:"pt-3 list-unstyled"},t._l(t.r.permissions,(function(e){return s("li",{staticClass:"mb-2"},[s("div",{staticClass:"text-break d-flex align-items-center"},[s("span",{staticClass:"mr-2"},[s("i",{class:t.renderState(e.writable)})]),t._v(" "),s("span",{staticClass:"small",class:[e.writable?"":"text-danger font-weight-bold"]},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(e.path)+"\n\t\t\t\t\t\t\t\t\t\t")])])])})),0)])],1):t._e(),t._v(" "),t.r.php?s("div",{staticClass:"list-group-item d-flex justify-content-between"},[s("div",{staticClass:"font-weight-bold"},[s("p",{staticClass:"mb-0"},[t._v("PHP")]),t._v(" "),s("p",{staticClass:"small mb-n1"},[t._v("Min Version: "+t._s(t.r.php.min_version))])]),t._v(" "),s("div",{staticClass:"text-right"},[s("p",{staticClass:"mb-0"},[s("i",{staticClass:"fa-lg",class:t.renderState(t.r.php.supported)})]),t._v(" "),s("p",{staticClass:"small mb-0 font-weight-bold"},[t._v(t._s(t.r.php.version))])])]):t._e(),t._v(" "),t.r.php?s("div",{staticClass:"list-group-item"},[s("div",{directives:[{name:"b-toggle",rawName:"v-b-toggle.php-extensions",modifiers:{"php-extensions":!0}}],staticClass:"font-weight-bold d-flex justify-content-between"},[s("p",{staticClass:"mb-0"},[t._v("PHP Extensions")]),t._v(" "),t._m(2)]),t._v(" "),s("b-collapse",{attrs:{id:"php-extensions"}},[s("ul",{staticClass:"pl-3 pt-3"},t._l(t.r.php.extensions,(function(e){return s("li",[s("span",{staticClass:"mr-2"},[s("i",{class:t.renderState(e.loaded)})]),t._v(" "),s("span",{class:[e.loaded?"":"text-danger font-weight-bold"]},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(e.name)+"\n\t\t\t\t\t\t\t\t\t")])])})),0)])],1):t._e(),t._v(" "),t.r.php?s("div",{staticClass:"list-group-item d-flex justify-content-between"},[s("div",{staticClass:"font-weight-bold"},[s("p",{staticClass:"mb-0"},[t._v("PHP memory_limit")]),t._v(" "),s("p",{staticClass:"small mb-n1"},[t._v("Recommended: "+t._s(t.r.php.memory_limit.recommended))])]),t._v(" "),s("div",{staticClass:"text-right"},[s("p",{staticClass:"mb-0"},[s("i",{staticClass:"fa-lg",class:t.renderState(t.compareVals(t.r.php.memory_limit.recommended,t.r.php.memory_limit.actual))})]),t._v(" "),s("p",{staticClass:"small mb-0 font-weight-bold"},[t._v(t._s(t.r.php.memory_limit.actual))])])]):t._e(),t._v(" "),t.r.php?s("div",{staticClass:"list-group-item d-flex justify-content-between"},[s("div",{staticClass:"font-weight-bold"},[s("p",{staticClass:"mb-0"},[t._v("PHP upload_max_filesize")]),t._v(" "),s("p",{staticClass:"small mb-n1"},[t._v("Recommended: "+t._s(t.r.php.upload_max_filesize.recommended))])]),t._v(" "),s("div",{staticClass:"text-right"},[s("p",{staticClass:"mb-0"},[s("i",{staticClass:"fa-lg",class:t.renderState(t.compareVals(t.r.php.upload_max_filesize.recommended,t.r.php.upload_max_filesize.actual))})]),t._v(" "),s("p",{staticClass:"small mb-0 font-weight-bold"},[t._v(t._s(t.r.php.upload_max_filesize.actual))])])]):t._e(),t._v(" "),t.r.php?s("div",{staticClass:"list-group-item d-flex justify-content-between"},[s("div",{staticClass:"font-weight-bold"},[s("p",{staticClass:"mb-0"},[t._v("PHP upload_max_filesize")]),t._v(" "),s("p",{staticClass:"small mb-n1"},[t._v("Recommended: "+t._s(t.r.php.post_max_size.recommended))])]),t._v(" "),s("div",{staticClass:"text-right"},[s("p",{staticClass:"mb-0"},[s("i",{staticClass:"fa-lg",class:t.renderState(t.compareVals(t.r.php.post_max_size.recommended,t.r.php.post_max_size.actual))})]),t._v(" "),s("p",{staticClass:"small mb-0 font-weight-bold"},[t._v(t._s(t.r.php.post_max_size.actual))])])]):t._e()])])])]),t._v(" "),s("div",{staticClass:"mx-5"},[s("p",{staticClass:"d-flex justify-content-between"},[s("router-link",{staticClass:"btn btn-light",attrs:{to:"/installer"}},[t._v("\n\t\t\t\tBack\n\t\t\t")]),t._v(" "),s("button",{staticClass:"btn btn-primary",attrs:{disabled:t.proceedCheck},on:{click:t.proceed}},[t.proceedCheck?s("b-spinner",{attrs:{small:""}}):s("span",[t._v("Proceed")])],1)],1)])])},a=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("p",{staticClass:"lead"},[t._v("We will perform a compatibility check to make sure you have everything you need to run "),s("span",{staticClass:"font-weight-bold"},[t._v("Pixelfed")]),t._v(".")])},function(){var t=this.$createElement,e=this._self._c||t;return e("span",[e("i",{staticClass:"far fa-chevron-down"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("span",[e("i",{staticClass:"far fa-chevron-down"})])}]},15901:(t,e,s)=>{"use strict";s.r(e),s.d(e,{render:()=>i,staticRenderFns:()=>a});var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"card card-body rounded-lg border d-flex justify-content-between",staticStyle:{"min-height":"80vh"}},[s("div",{staticClass:"pt-5 mx-5"},[s("p",{staticClass:"h1 font-weight-light"},[t._v("Review")]),t._v(" "),s("p",{staticClass:"lead"},[t._v("Confirm these details are correct before proceeding with installation.")]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"card card-body review-card bg-light"},[s("div",{staticClass:"text-lighter"},[t._v("domain")]),t._v(" "),s("div",[t._v(t._s(t.config.domain))])]),t._v(" "),s("div",{staticClass:"card card-body review-card"},[s("div",{staticClass:"text-lighter"},[t._v("name")]),t._v(" "),s("div",[t._v(t._s(t.config.name))])]),t._v(" "),s("div",{staticClass:"card card-body review-card"},[s("div",{staticClass:"text-lighter"},[t._v("database")]),t._v(" "),s("div",[s("i",{class:[t.database?"far fa-check-circle text-success":"far fa-times-circle text-danger"]})])]),t._v(" "),s("div",{staticClass:"card card-body review-card"},[s("div",{staticClass:"text-lighter"},[t._v("federation")]),t._v(" "),s("div",[s("i",{class:[t.config.features.activitypub?"far fa-check-circle text-success":"far fa-times-circle text-danger"]})])]),t._v(" "),s("div",{staticClass:"card card-body review-card"},[s("div",{staticClass:"text-lighter"},[t._v("administrator account")]),t._v(" "),s("div",[s("i",{class:[t.administrator?"far fa-check-circle text-success":"far fa-times-circle text-danger"]})])])]),t._v(" "),s("div",{staticClass:"mx-5"},[s("p",{staticClass:"d-flex justify-content-between"},[s("router-link",{staticClass:"btn btn-light",attrs:{to:"/installer/administration"}},[t._v("\n\t\t\t\tBack\n\t\t\t")]),t._v(" "),s("button",{staticClass:"btn btn-primary",attrs:{disabled:t.proceedCheck},on:{click:t.proceed}},[t.proceedCheck?s("b-spinner",{attrs:{small:""}}):s("span",[t._v("Install")])],1)],1)])])},a=[]},20080:(t,e,s)=>{"use strict";s.r(e),s.d(e,{render:()=>i,staticRenderFns:()=>a});var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"card card-body rounded-lg border d-flex justify-content-between",staticStyle:{"min-height":"80vh"}},[t.isLoaded?[s("div",{staticClass:"m-5 text-dark"},[s("p",{staticClass:"h3 font-weight-bold"},[t._v("Services")]),t._v(" "),s("hr"),t._v(" "),1===t.step?[s("p",{staticClass:"small font-weight-bold text-muted"},[t._v("CACHE")]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Cache Driver")]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.cache_driver,expression:"cache_driver"}],staticClass:"form-control form-control-lg",on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.cache_driver=e.target.multiple?s:s[0]}}},[s("option",{attrs:{value:"database"}},[t._v("Database")]),t._v(" "),s("option",{attrs:{value:"redis"}},[t._v("Redis")])])]),t._v(" "),"redis"===t.cache_driver?[s("div",{staticClass:"form-group"},[s("label",[t._v("Redis Scheme")]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.redis_scheme,expression:"redis_scheme"}],staticClass:"form-control form-control-lg",on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.redis_scheme=e.target.multiple?s:s[0]}}},[s("option",{attrs:{value:"tcp"}},[t._v("tcp")]),t._v(" "),s("option",{attrs:{value:"tls"}},[t._v("tls")])])]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Redis Host")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.redis_host,expression:"redis_host"}],staticClass:"form-control form-control-lg",domProps:{value:t.redis_host},on:{input:function(e){e.target.composing||(t.redis_host=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Redis Port")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.redis_port,expression:"redis_port"}],staticClass:"form-control form-control-lg",domProps:{value:t.redis_port},on:{input:function(e){e.target.composing||(t.redis_port=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group"},[s("label",[t._v("Redis Password")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.redis_password,expression:"redis_password"}],staticClass:"form-control form-control-lg",domProps:{value:t.redis_password},on:{input:function(e){e.target.composing||(t.redis_password=e.target.value)}}})])]:t._e()]:t._e(),t._v(" "),2===t.step?[s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Job Queue Driver")]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.queueDriver,expression:"queueDriver"}],staticClass:"form-control form-control-lg",on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.queueDriver=e.target.multiple?s:s[0]}}},[s("option",{attrs:{value:"database"}},[t._v("Database")]),t._v(" "),s("option",{attrs:{value:"redis"}},[t._v("Redis/Horizon (Max performance)")])]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\t\t\tThe job queue is responsible for performing resource intensive operations in the background, like optimizing photos to use less storage or delivering new posts to followers.\n\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"alert alert-danger"},[s("div",{staticClass:"media align-items-center"},[s("i",{staticClass:"far fa-info-circle fa-3x mr-4"}),t._v(" "),s("div",{staticClass:"media-body"},[s("p",{staticClass:"lead font-weight-bold mb-0"},[t._v("Manual Action Required")]),t._v(" "),s("p",[t._v("\n\t\t\t\t\t\t\t\tThe job queue needs to be configured manually using CLI access to your server. For more information, click "),s("a",{attrs:{href:t.queueLink}},[t._v("here")]),t._v(".\n\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"form-group mb-0"},[s("b-form-checkbox",{model:{value:t.queueConfirm,callback:function(e){t.queueConfirm=e},expression:"queueConfirm"}},[t._v("\n\t\t\t\t\t\t\t\t\tI understand that I need to manually configure the job queue for proper functionality\n\t\t\t\t\t\t\t\t")])],1)])])])]:t._e(),t._v(" "),3===t.step?[s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Mail")]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.mailDriver,expression:"mailDriver"}],staticClass:"form-control form-control-lg",on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.mailDriver=e.target.multiple?s:s[0]}}},[s("option",{attrs:{value:"0"}},[t._v("Setup later")]),t._v(" "),s("option",{attrs:{value:"mailgun"}},[t._v("Mailgun")]),t._v(" "),s("option",{attrs:{value:"smtp"}},[t._v("SMTP")])]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\t\t\tThe mail driver is used to send confirmation + password reset emails.\n\t\t\t\t\t")])]),t._v(" "),"mailgun"===t.mailDriver?[s("hr"),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Mailgun Domain")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.mailgunDomain,expression:"mailgunDomain"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"pixelfed.org"},domProps:{value:t.mailgunDomain},on:{input:function(e){e.target.composing||(t.mailgunDomain=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Mailgun Secret")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.mailgunSecret,expression:"mailgunSecret"}],staticClass:"form-control form-control-lg",domProps:{value:t.mailgunSecret},on:{input:function(e){e.target.composing||(t.mailgunSecret=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Mailgun Endpoint")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.mailgunEndpoint,expression:"mailgunEndpoint"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"api.eu.mailgun.net"},domProps:{value:t.mailgunEndpoint},on:{input:function(e){e.target.composing||(t.mailgunEndpoint=e.target.value)}}}),t._v(" "),t._m(0)]),t._v(" "),s("hr")]:t._e(),t._v(" "),"smtp"===t.mailDriver?[s("hr"),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Mail Host")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.mailHost,expression:"mailHost"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"pixelfed.org"},domProps:{value:t.mailHost},on:{input:function(e){e.target.composing||(t.mailHost=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Mail Port")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.mailPort,expression:"mailPort"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"pixelfed.org"},domProps:{value:t.mailPort},on:{input:function(e){e.target.composing||(t.mailPort=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Mail Username")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.mailUsername,expression:"mailUsername"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"pixelfed.org"},domProps:{value:t.mailUsername},on:{input:function(e){e.target.composing||(t.mailUsername=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"form-group mb-4"},[s("label",{staticClass:"font-weight-bold"},[t._v("Mail Password")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.mailPassword,expression:"mailPassword"}],staticClass:"form-control form-control-lg",attrs:{placeholder:"pixelfed.org"},domProps:{value:t.mailPassword},on:{input:function(e){e.target.composing||(t.mailPassword=e.target.value)}}})]),t._v(" "),s("hr")]:t._e(),t._v(" "),0!=t.mailDriver?s("div",{staticClass:"form-group mb-4"},[s("b-form-checkbox",{model:{value:t.mailAddressVerify,callback:function(e){t.mailAddressVerify=e},expression:"mailAddressVerify"}},[t._v("\n\t\t\t\t\t\tRequire email validation\n\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"help-text small text-muted"},[t._v("\n\t\t\t\t\t\tRequire new accounts to validate their email address before they can use this service.\n\t\t\t\t\t")])],1):t._e()]:t._e()],2),t._v(" "),s("div",{staticClass:"mx-5"},[s("p",{staticClass:"d-flex justify-content-between"},[s("button",{staticClass:"btn btn-light",on:{click:t.goBack}},[t._v("\n\t\t\t\t\tBack\n\t\t\t\t")]),t._v(" "),s("button",{staticClass:"btn btn-primary",attrs:{disabled:t.proceedCheck},on:{click:t.proceed}},[t.proceedCheck?s("b-spinner",{attrs:{small:""}}):s("span",[t._v("Proceed")])],1)])])]:[s("div",{staticClass:"d-flex justify-content-center"},[s("div",{staticClass:"text-center"},[s("b-spinner",{attrs:{type:"grow"}}),t._v(" "),s("p",{staticClass:"small text-lighter"},[t._v("Loading...")])],1)])]],2)},a=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"help-text small text-muted"},[t._v("If you are not using the United States "),s("a",{attrs:{href:"https://documentation.mailgun.com/en/latest/api-intro.html#mailgun-regions"}},[t._v("Mailgun region")]),t._v(", you may define your region's endpoint")])}]}},t=>{t.O(0,[898],(()=>{return e=99720,t(t.s=e);var e}));t.O()}]);