MCPcopy
hub / github.com/olton/metroui / startPerfMonitoring

Method startPerfMonitoring

lib/metro.js:244–244  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

242 ${t}
243 </div>
244 `,document.getElementById("model-devtools-time-travel-dialog")&&this.showTimeTravelDialog()}formatDOMDependencies(){try{let e={};return this.model.dom.domDependencies.forEach((r,l)=>{e[l]=Array.from(r).map(t=>({type:t.type,element:t.element.tagName}))}),JSON.stringify(e,null,2)}catch(e){return`Error formatting DOM dependencies: ${e.message}`}}getComputedValues(){if(!this.model.computed)return{};if(typeof this.model.computed.all=="function")return this.model.computed.all();if(this.model.computed.keys&&Array.isArray(this.model.computed.keys)){let r={};for(let l of this.model.computed.keys)r[l]=this.model.computed.getValue(l);return r}let e={};for(let r in this.model.data)this.model.computed&&typeof this.model.computed[r]<"u"&&(e[r]=this.model.data[r]);return e}getRecentChanges(){return this.history.slice(-5).reverse()}togglePanel(){let e=document.getElementById("model-devtools-panel");e&&(e.style.display=e.style.display==="none"?"block":"none"),e.style.display==="none"&&document.getElementById("model-devtools-time-travel-dialog").remove()}inspect(e){return this.model.store.get(e)}timeTravel(e){this.options.timeTravel}clearTimeTravel(){this.history=[],this.currentIndex=-1,this.showTimeTravelDialog()}startPerfMonitoring(){this.perfMetrics={updates:0,computations:0,domUpdates:0,startTime:Date.now()},this.model.store.on("change",()=>{this.perfMetrics.updates++}),this.model.store.on("compute",()=>{this.perfMetrics.computations++})}getPerfReport(){let e=(Date.now()-this.perfMetrics.startTime)/1e3;return{totalUpdates:this.perfMetrics.updates,updatesPerSecond:this.perfMetrics.updates/e,computationsPerSecond:this.perfMetrics.computations/e,domUpdatesPerSecond:this.perfMetrics.domUpdates/e}}},Rh=Fh,Vh=class{constructor(){this.middlewares=[]}use(e){if(typeof e!="function"){console.error("MIDDLEWARE should be a function!");return}this.middlewares.push(e)}async process(e){let r=-1,l=async()=>{r++,r<this.middlewares.length&&await this.middlewares[r](e,l)};return await l(),e}},Hh=Vh,A=class it{static DEBUG_LEVELS={NONE:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5};static DEBUG_LEVEL=it.DEBUG_LEVELS.NONE;static log(r,l,t){if(r>it.DEBUG_LEVEL)return;let o={error:"color: #ff5555; font-weight: bold",warn:"color: #ffaa00; font-weight: bold",info:"color: #0080fe; font-weight: bold",debug:"color: #00aa00; font-weight: bold",trace:"color: #888888",data:"color: #555; font-style: italic"},a,i;switch(r){case it.DEBUG_LEVELS.ERROR:a="error",i=console.error;break;case it.DEBUG_LEVELS.WARN:a="warn",i=console.warn;break;case it.DEBUG_LEVELS.INFO:a="info",i=console.info;break;case it.DEBUG_LEVELS.DEBUG:a="debug",i=console.debug;break;case it.DEBUG_LEVELS.TRACE:a="trace",i=console.log;break;default:return}console.group(`%c Model: ${l}`,o[a]),t!==void 0&&console.log("%c Data:",o.data,t),console.groupEnd()}static error(r,l){it.log(it.DEBUG_LEVELS.ERROR,r,l)}static warn(r,l){it.log(it.DEBUG_LEVELS.WARN,r,l)}static info(r,l){it.log(it.DEBUG_LEVELS.INFO,r,l)}static debug(r,l){it.log(it.DEBUG_LEVELS.DEBUG,r,l)}static trace(r,l){it.log(it.DEBUG_LEVELS.TRACE,r,l)}},Yh=class extends Wo{constructor(e={},r){A.DEBUG_LEVEL=r.options.debug?4:0,A.debug("Init ReactiveStore"),super(),this.model=r,A.DEBUG_LEVEL=this.model.options.debug?4:0,A.debug("Init ReactiveStore"),this.state=this.createReactiveProxy(e),this.watchers=new Map,this.previousState=JSON.parse(JSON.stringify(e)),A.debug("Init MiddlewareManager"),this.middleware=new Hh,A.debug("MiddlewareManager initialized"),A.debug("ReactiveStore initialized")}use(e){A.debug("Registering middleware:",e),this.middleware.use(e)}createReactiveProxy(e,r=""){return A.debug(`Creating reactive object with path ${r} for`,e),Array.isArray(e)?this.createArrayProxy(e,r):new Proxy(e,{get:(l,t)=>{if(typeof t=="symbol")return l[t];let o=l[t],a=r?`${r}.${t}`:t;return o&&typeof o=="object"?this.createReactiveProxy(o,a):o},set:async(l,t,o)=>{if(typeof t=="symbol")return l[t]=o,!0;let a=r?`${r}.${t}`:t,i=l[t];if(i===o)return!0;if(this.validators?.has(`${a}`)&&!this.validators.get(`${a}`)(o))return!1;this.formatters?.has(`${a}`)&&(o=this.formatters.get(`${a}`)(o)),o&&typeof o=="object"&&(o=this.createReactiveProxy(o,a));let s={prop:t,oldValue:i,newValue:o,preventDefault:!1};return await this.middleware.process(s),s.preventDefault||(l[t]=o,this.emit("change",{path:a,oldValue:i,newValue:o}),this.watchers.has(a)&&this.watchers.get(a).forEach(c=>{c(o,i)})),!0},deleteProperty:(l,t)=>{if(typeof t=="symbol")return delete l[t];let o=r?`${r}.${t}`:t,a=l[t],i=delete l[t];return i&&(this.emit("delete",{path:o,oldValue:a}),this.watchers.has(o)&&this.watchers.get(o).forEach(s=>{s(void 0,a)})),i}})}createArrayProxy(e,r){return A.debug(`Creating reactive array with path ${r} for`,e),new Proxy(e,{get:(l,t)=>{if(typeof t=="symbol")return l[t];let o=l[t];return typeof o=="function"&&["push","pop","shift","unshift","splice","sort","reverse"].includes(t)?(...a)=>{let i=[...l],s=l[t].apply(l,a),c={prop:r,oldValue:i,newValue:l,method:t,args:a,preventDefault:!1};return this.middleware.process(c).then(()=>{c.preventDefault||(this.emit("arrayChange",{path:r,method:t,args:a,oldValue:i,newValue:l}),this.emit("change",{path:r,oldValue:i,newValue:l,method:t,args:a}),this.watchers.has(r)&&this.watchers.get(r).forEach(p=>{p(l,i)}))}),s}:typeof t!="symbol"&&!isNaN(Number(t))&&o&&typeof o=="object"?this.createReactiveProxy(o,`${r}[${t}]`):o},set:async(l,t,o)=>{if(typeof t=="symbol")return l[t]=o,!0;let a=r?`${r}.${t}`:t,i=l[t];if(i===o)return!0;if(this.validators?.has(a)&&!this.validators.get(a)(o))return!1;this.formatters?.has(a)&&(o=this.formatters.get(a)(o)),l[t]=o,o&&typeof o=="object"&&(o=this.createReactiveProxy(o,`${r}[${t}]`));let s={prop:t,oldValue:i,newValue:o,preventDefault:!1};return await this.middleware.process(s),s.preventDefault||(l[t]=o,this.middleware.process(s).then(()=>{s.preventDefault||(this.emit("arrayChange",{path:a,method:null,args:null,oldValue:i,newValue:o}),this.emit("change",{path:a,oldValue:i,newValue:o,arrayIndex:Number(t)}),this.watchers.has(a)&&this.watchers.get(a).forEach(c=>{c(o,i)}))})),!0}})}applyArrayMethod(e,r,...l){A.debug(`Applying array method ${r} to path ${e} with args`,l);let t=this.get(e);if(!Array.isArray(t))return console.error(`\u041F\u0443\u0442\u044C ${e} \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043C\u0430\u0441\u0441\u0438\u0432\u043E\u043C!`),!1;let o=[...t],a=t[r].apply(t,l);return this.emit("arrayChange",{path:e,method:r,args:l,oldValue:o,newValue:[...t]}),this.emit("change",{path:e,oldValue:o,newValue:[...t]}),this.watchers.has(e)&&this.watchers.get(e).forEach(i=>{i([...t],o)}),a}applyArrayChanges(e,r){A.debug(`Applying custom array changes to path ${e} with callback`,r);let l=this.get(e);if(!Array.isArray(l))return console.error(`The path ${e} is not an array!`),!1;let t=[...l],o=r(l);return this.emit("arrayChange",{path:e,method:"custom",args:null,oldValue:t,newValue:[...l]}),this.emit("change",{path:e,oldValue:t,newValue:[...l]}),this.watchers.has(e)&&this.watchers.get(e).forEach(a=>{a([...l],t)}),o}detectArrayChanges(e,r=[]){A.debug("Detecting changes between arrays");let l={added:[],removed:[],moved:[]};for(let t=0;t<e.length;t++){let o=e[t],a=r.findIndex(i=>JSON.stringify(i)===JSON.stringify(o));a===-1?l.added.push({index:t,item:o}):a!==t&&l.moved.push({oldIndex:a,newIndex:t,item:o})}for(let t=0;t<r.length;t++){let o=r[t];e.findIndex(i=>JSON.stringify(i)===JSON.stringify(o))===-1&&l.removed.push({index:t,item:o})}return A.debug("Detected changes:",l),l}watch(e,r){return A.debug(`Watching path ${e} with callback`,r),this.watchers.has(e)||this.watchers.set(e,new Set),this.watchers.get(e).add(r),()=>{this.watchers.has(e)&&this.watchers.get(e).delete(r)}}get(e){if(A.debug(`Getting value at path ${e}`),!e)return this.state;let r=e.split("."),l=this.state;for(let t of r){if(l==null)return;l=l[t]}return l}set(e,r){A.debug(`Setting value at path ${e} to`,r);let l=e.split("."),t=this.state;for(let o=0;o<l.length-1;o++)t[l[o]]===void 0&&(t[l[o]]={}),t=t[l[o]];return t[l[l.length-1]]=r,r}batch(e){A.debug("Batch updating state with",e),this.previousState=JSON.parse(JSON.stringify(this.state)),typeof e=="function"?e(this.state):typeof e=="object"&&Object.entries(e).forEach(([r,l])=>{this.set(r,l)}),this.emit("batchComplete",{previousState:this.previousState,currentState:this.state})}getState(){return A.debug("Getting entire state"),this.state}getPreviousState(){return A.debug("Getting previous state"),this.previousState}toJSON(){return A.debug("Converting state to JSON"),JSON.stringify(this.state)}fromJSON(e){A.debug("Restoring state from JSON",e);let r=JSON.parse(e);this.previousState=JSON.parse(JSON.stringify(this.state)),Object.keys(this.state).forEach(l=>{delete this.state[l]}),Object.entries(r).forEach(([l,t])=>{this.state[l]=t}),this.emit("restore",{previousState:this.previousState,currentState:this.state})}addValidator(e,r){A.debug(`Adding validator for path ${e}`),this.validators||(this.validators=new Map),this.validators.set(e,r)}addFormatter(e,r){A.debug(`Adding formatter for path ${e}`),this.formatters||(this.formatters=new Map),this.formatters.set(e,r)}isValidPath(e){A.debug(`Validating path ${e}`);try{return this.get(e)!==void 0}catch(r){return A.error(`Error validating path ${e}:`,r),!1}}destroy(){this.state=null,this.watchers.clear(),this.previousState=null,A.debug("ReactiveStore destroyed")}},Uh=class{constructor(e,r){A.DEBUG_LEVEL=r.options.debug?4:0,A.debug("Init LoopManager"),this.domManager=e,this.model=r,this.loops=new Map,this.loopsIn=[],A.debug("LoopManager initialized")}parseLoops(e){A.debug("Parsing loops with data-for...");let r=e.querySelectorAll("[data-for]");A.debug("Found elements with data-for:",r.length),r.forEach(t=>{let o=t.getAttribute("data-for").trim(),a=o.match(/^\s*(\w+)(?:\s*,\s*(\w+))?\s+in\s+(\w+(?:\.\w+)*)\s*$/);if(!a){console.error("Invalid expression format data-for:",o);return}let[i,s,c,p]=a,d=this.model.store.get(p);if(!Array.isArray(d)){console.error(`The value in the ${p} path is not an array:`,d);return}let m=t.cloneNode(!0);this.loops.set(t,{template:m,itemName:s,indexName:c,arrayPath:p,parentNode:t.parentNode}),this.domManager.registerDomDependency(p,t,{type:"loop",arrayPath:p}),this.updateLoop(t)}),A.debug("Parsing loops with data-in...");let l=e.querySelectorAll("[data-in]");A.debug("Found elements with data-in:",l.length),l.forEach(t=>{let o=t.getAttribute("data-in"),a=o.match(/^\s*(\w+)\s+in\s+(\S+)\s*$/);if(!a){console.error(`Invalid data-in syntax: ${o}`);return}let[i,s,c]=a,p=t.innerHTML,d=t.parentNode,m=document.createComment(`data-in: ${o}`);t.style.display="none",d.insertBefore(m,t),this.loopsIn.push({type:"in",originalElement:t,template:p,placeholder:m,objectPath:c,keyVar:s,elements:[]});let h=this.model.store.get(c);h&&typeof h=="object"&&!Array.isArray(h)&&this.updateInLoop(this.loopsIn[this.loopsIn.length-1],h)})}updateInLoop(e,r){e.elements.forEach(l=>l.remove()),e.elements=[],!(!r||typeof r!="object"||Array.isArray(r))&&Object.keys(r).forEach(l=>{A.debug(`Updating loop for key: ${l}`);let t=e.originalElement.cloneNode(!0);t.removeAttribute("data-in"),t.style.display="";let o={[e.keyVar]:l};t.innerHTML=this.processTemplate(e.template,r,l,o),e.placeholder.parentNode.insertBefore(t,e.placeholder.nextSibling),e.elements.push(t),this.domManager.bindDOM(t)})}processTemplate(e,r,l,t){return A.debug("Processing template:",e),A.debug(" With data:",r),A.debug(` For key: ${l}`),A.debug(" With context:",t),e.replace(/\{\{\s*([^}]+)\s*\}\}/g,(o,a)=>{a=a.trim();let i=Object.keys(t)[0];if(a===i)return l;A.debug(`Template: Processing path: ${a}`);let s=new RegExp(`(\\w+)\\[${i}\\]`),c=a.match(s);if(c){let d=c[1],m=r;if(m&&typeof m=="object")return m[l]!==void 0?m[l]:""}let p=this.model.store.get(a);return p!==void 0?p:""})}updateLoops(e,r){A.debug("Updating data-for loops for ${path}",this.loops),this.loops.forEach((l,t)=>{l.arrayPath===e&&this.updateLoop(t)}),A.debug(`Updating data-in loops for ${e}`,this.loopsIn),this.loopsIn.forEach(l=>{if(l.type==="in"&&(l.objectPath===e||e.startsWith(l.objectPath+"."))){let t=this.model.store.get(l.objectPath);t&&typeof t=="object"&&this.updateInLoop(l,t)}})}updateLoop(e){A.debug("Updating loop for element:",e);let r=this.loops.get(e)||this.loopsIn.find(p=>p.originalElement===e)[0];if(!r){console.error("\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0446\u0438\u043A\u043B\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0434\u043B\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430");return}let{template:l,itemName:t,indexName:o,arrayPath:a,parentNode:i}=r,s=this.model.store.get(a);if(!Array.isArray(s)){console.error("\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043C\u0430\u0441\u0441\u0438\u0432\u043E\u043C:",s);return}i.querySelectorAll(`[data-generated-for="${a}"]`).forEach(p=>p.remove()),s.forEach((p,d)=>{let m=l.cloneNode(!0);m.style.display="",m.removeAttribute("data-for"),m.setAttribute("data-generated-for",a),m.setAttribute("data-item-index",""+d),A.debug(`Creating new loop element for ${a} at index ${d}`),this.domManager.processTemplateNode(m,{[t]:p,[o||"index"]:d}),A.debug("Insert new node",m),i.insertBefore(m,e)}),e.style.display="none"}updateLoopPart(e,r,l,t){let o=this.loops.get(e);if(!o)return;let{template:a,itemName:i,indexName:s,parentNode:c}=o,p=this.model.store.get(r);if(!Array.isArray(p))return;let d=Array.from(c.querySelectorAll(`[data-generated-for="${r}"]`));if(t===void 0||d.length!==p.length)return this.updateLoop(e);let m=d[t];if(m){let h=a.cloneNode(!0);for(this.domManager.processTemplateNode(h,{[i]:p[t],[s||"index"]:t});m.firstChild;)m.removeChild(m.firstChild);for(;h.firstChild;)m.appendChild(h.firstChild);Array.from(h.attributes).forEach(u=>{m.setAttribute(u.name,u.value)})}}getLoops(){return{for:this.loops,in:this.loopsIn}}destroy(){this.loops.clear(),this.loopsIn=[],A.debug("LoopManager destroyed")}},Pe=class{static evaluateExpression(e,r){try{if(e.startsWith("{{")&&e.endsWith("}}")){let l=e.substring(2,e.length-2).trim();return this.getValueFromContext(r,l)}return this.parseExpression(e,r)}catch(l){return console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u0438 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F:",l),!1}}static getValueFromContext(e,r){return r?r.split(".").reduce((l,t)=>{let o=t.match(/^([^\[]+)(?:\[(\d+)\])?$/);if(o){let[a,i,s]=o,c=l?.[i];return s!==void 0&&Array.isArray(c)?c[parseInt(s,10)]:c}return l?.[t]},e):e}static parseExpression(e,r){e=e.trim();let l=e.match(/(.+?)\s*\?\s*(.+?)\s*:\s*(.+)/);if(l){let[o,a,i,s]=l;return this.parseExpression(a,r)?this.parseExpression(i,r):this.parseExpression(s,r)}if(e.includes("&&"))return e.split("&&").every(a=>this.parseExpression(a.trim(),r));if(e.includes("||"))return e.split("||").some(a=>this.parseExpression(a.trim(),r));let t=e.match(/(.+?)\s*(===|==|!==|!=|>=|<=|>|<)\s*(.+)/);if(t){let[o,a,i,s]=t,c=this.parseExpression(a.trim(),r),p=this.parseExpression(s.trim(),r);switch(i){case"==":return c==p;case"===":return c===p;case"!=":return c!=p;case"!==":return c!==p;case">":return c>p;case"<":return c<p;case">=":return c>=p;case"<=":return c<=p}}if(e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"'))return e.substring(1,e.length-1);if(/^-?\d+(\.\d+)?$/.test(e))return parseFloat(e);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e!=="undefined")return this.getValueFromContext(r,e)}static extractVariables(e){let r=[],t=e.replace(/'[^']*'/g,"''").replace(/"[^"]*"/g,'""').match(/[a-zA-Z_][a-zA-Z0-9_]*(\.([a-zA-Z_][a-zA-Z0-9_]*))*(\[\d+\])*/g);return t&&t.forEach(o=>{let a=o.split(".")[0].split("[")[0].trim();["true","false","null","undefined"].includes(a)||r.includes(a)||r.push(a)}),r}},qh=class{constructor(e,r){A.DEBUG_LEVEL=r.options.debug?4:0,A.debug("ConditionalManager: Init ConditionalManager"),this.dom=e,this.model=r,this.dependencies=new Map,this.conditionalGroups=[],this.subscribe(),A.debug("ConditionalManager: ConditionalManager initialized")}subscribe(){A.debug("ConditionalManager: Subscribe to store changes"),this.model.store.on("change",e=>{this.getGroupsByPath(e.path).forEach(l=>{this.updateConditionalGroup(l)})})}getGroupsByPath(e){if(!e)return[];let r=new Set;return this.conditionalGroups.forEach(l=>{l.some(o=>o.expression?o.expression.includes(e)||e.startsWith(this.extractBasePath(o.expression)):!1)&&r.add(l)}),Array.from(r)}extractBasePath(e){let r=e.match(/[a-zA-Z_][a-zA-Z0-9_]*/g);return r?r[0]:""}parseConditionals(e){A.debug("ConditionalManager: Parse conditionals (data-if, data-else-if, data-else)...");let r=e.querySelectorAll("[data-if],[data-else-if],[data-else]"),l=[],t=[];r.forEach(o=>{o.hasAttribute("data-if")?(A.debug("ConditionalManager: Found data-if in element:",o),l.length&&t.push(l),l=[{element:o,type:"if",expression:o.getAttribute("data-if")}]):o.hasAttribute("data-else-if")?(A.debug("ConditionalManager: Found data-else-if in element:",o),l.length&&this.isAdjacentNode(l[l.length-1].element,o)?l.push({element:o,type:"else-if",expression:o.getAttribute("data-else-if")}):(l.length&&t.push(l),l=[{element:o,type:"if",expression:o.getAttribute("data-else-if")}])):o.hasAttribute("data-else")&&(A.debug("ConditionalManager: Found data-else in element:",o),l.length&&this.isAdjacentNode(l[l.length-1].element,o)?(l.push({element:o,type:"else",expression:null}),t.push(l),l=[]):A.warn("data-else without previous data-if or data-else-if",o))}),l.length&&t.push(l),this.conditionalGroups=t,t.forEach(o=>this.updateConditionalGroup(o)),this.setupDependencies(r)}isAdjacentNode(e,r){let l=e.nextSibling;for(;l;){if(l===r)return!0;if(l.nodeType===1&&!this.isWhitespaceNode(l))return!1;l=l.nextSibling}return!1}isWhitespaceNode(e){return e.nodeType===3&&e.textContent.trim()===""}updateConditionalGroup(e){let r=this.model&&this.model.store?{...this.model.store.getState()}:this.model&&this.model.data?this.model.data:{},l=!1;for(let t of e)t.type==="if"||t.type==="else-if"?!l&&Pe.evaluateExpression(t.expression,r)?(t.element.style.display="",l=!0):t.element.style.display="none":t.type==="else"&&(t.element.style.display=l?"none":"")}updateConditional(e,r){let l=this.findGroupForElement(e);if(l)this.updateConditionalGroup(l);else{let t=this.model&&this.model.store?{...this.model.store.getState()}:this.model&&this.model.data?this.model.data:{},o=Pe.evaluateExpression(r,t);e.style.display=o?"":"none"}}findGroupForElement(e){for(let r of this.conditionalGroups||[])if(r.some(l=>l.element===e))return r;return null}setupDependencies(e){this.dependencies=new Map,e.forEach(r=>{let l;if(r.hasAttribute("data-if"))l=r.getAttribute("data-if");else if(r.hasAttribute("data-else-if"))l=r.getAttribute("data-else-if");else return;Pe.extractVariables(l).forEach(o=>{this.dependencies.has(o)||this.dependencies.set(o,[]),this.dependencies.get(o).push({element:r,expression:l,type:r.hasAttribute("data-if")?"if":"else-if"})})})}getDependenciesByPath(e){let r=[];return this.dependencies.forEach((l,t)=>{(t===e||e.startsWith(t+"."))&&r.push(...l)}),r}destroy(){this.dependencies.clear(),this.conditionalGroups=[],A.debug("ConditionalManager: Destroyed")}},Wh=class{constructor(e,r){this.domManager=e,this.model=r,A.DEBUG_LEVEL=this.model.options.debug?4:0,A.debug("AttributeManager: Init AttributeManager")}parseAttributesBind(e){A.debug("AttributeManager: Parsing attributes bind with data-bind...");let r=e.querySelectorAll("[data-bind]");A.debug("AttributeManager: Found elements with data-bind:",r.length),r.forEach(l=>{A.debug("AttributeManager: Parsing element with data-bind:",l);let t=l.getAttribute("data-bind");try{let o=JSON.parse(t.replace(/'/g,'"'));for(let[a,i]of Object.entries(o)){let s=Pe.extractVariables(i);A.debug(`AttributeManager: Found variables for ${a}:`,s),s.forEach(c=>{this.domManager.registerDomDependency(c,l,{type:"attribute",attribute:a,expression:i})}),this.updateAttributes(l,a,i)}}catch(o){console.error("An error of analysis of attachments:",o)}})}updateAttributes(e,r,l){let t={...this.model.store.getState()},o;if(l.startsWith("{{")&&l.endsWith("}}")){let i=l.substring(2,l.length-2).trim();o=this.model.store.get(i)}else o=Pe.evaluateExpression(l,t);let a=e.getAttribute(r);String(o)!==a&&(o===!1||o===null||o===void 0?e.removeAttribute(r):o===!0?e.setAttribute(r,""):e.setAttribute(r,String(o)),A.debug(`AttributeManager: Updated attribute ${r} with value:`,o))}parseAttributes(e){A.debug("AttributeManager: Parsing attributes with colon...");let r=e.querySelectorAll("*");for(let l of r){let t=l.attributes;for(let o=0;o<t.length;o++){let a=t[o];if(a.name.startsWith(":")){A.debug("AttributeManager: Found attribute:",a);let i=a.name.substring(1),s=a.value;this.updateElementAttribute(l,i,s),this.domManager.registerDomDependency(s,l,{type:"attribute",attribute:i,expression:s}),l.removeAttribute(a.name)}}}}updateElementAttribute(e,r,l){let t=""+this.model.store.get(l);t===void 0||t==="undefined"||(A.debug(`AttributeManager: Updating attribute ${r} with ${t}`),r==="class"?e.className=t:r==="disabled"||r==="checked"||r==="selected"||r==="readonly"?t?e.setAttribute(r,""):e.removeAttribute(r):e.setAttribute(r,t))}update(e,r,l){A.debug("AttributeManager: Updating element:",e),A.debug(` Attribute: ${r} for:`,l),this.updateAttributes(e,r,l),this.updateElementAttribute(e,r,l)}},Gh=class{constructor(e,r){A.DEBUG_LEVEL=r.options.debug?4:0,A.debug("EventManager: Init EventManager"),this.domManager=e,this.model=r,this.eventHandlers=new Map,A.debug("EventManager: EventManager initialized")}parseEvents(e){A.debug("EventManager: Parsing events with @...");let r=e.querySelectorAll("*");[e,...Array.from(r)].forEach(t=>{Array.from(t.attributes||[]).forEach(a=>{if(a.name.startsWith("@")){A.debug(`EventManager: Found attribute with "@" ${a.name} in`,t);let i=a.name.substring(1),s=a.value.trim();this.bindEventHandler(t,i,s),t.removeAttribute(a.name)}})})}bindEventHandler(e,r,l){A.debug(`EventManager: Binding event handler with expression ${l} for ${r} on`,e);let t=a=>{try{let i={$model:this.model,$event:a,$data:this.model.data,$dom:this.domManager},s=l.match(/(\w+)\((.*)\)/);if(s){let c=s[1],p=s[2],d=(h,u)=>h.split(".").reduce((f,b)=>f&&f[b]!==void 0?f[b]:void 0,u),m=d(c,this.model);if(m||(m=d(c,window)),typeof m=="function"){let h=[];p.trim()&&(h=p.split(",").map(u=>(u=u.trim(),u.startsWith('"')&&u.endsWith('"')||u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):isNaN(u)?u==="$event"?(A.debug("EventManager: Requested Event",a),a):u==="$model"?(A.debug("EventManager: Requested Model",this.model),this.model):u==="$data"?(A.debug("EventManager: Requested Model Context",this.model.data),this.model.data):u==="$dom"?(A.debug("EventManager: Requested DOMManager",this.domManager),this.domManager):this.model.store.get(u):Number(u)))),m.apply(i,h)}else console.warn(`EventManager: The method '${c}' not found in a model or global space!`)}else this.model.options.useSimpleExpressions?new Function(`return ${l}`).apply(this.model.data):console.warn(`EventManager: Unknown format of the event handler: '${l}'`)}catch(i){console.error(`EventManager: Error when performing an event processor '${r}': ${i.message}`)}};this.eventHandlers.has(e)||this.eventHandlers.set(e,new Map);let o=this.eventHandlers.get(e);o.has(r)&&e.removeEventListener(r,o.get(r)),o.set(r,t),e.addEventListener(r,t)}removeEventHandler(e,r){if(A.debug(`EventManager: Removing event handler for ${r} on`,e),this.eventHandlers.has(e)){let l=this.eventHandlers.get(e);if(l.has(r)){let t=l.get(r);e.removeEventListener(r,t),l.delete(r),l.size===0&&this.eventHandlers.delete(e)}}}updateEvents(e){A.debug("EventManager: Updating events for",e),Array.from(e.attributes||[]).forEach(r=>{if(r.name.startsWith("@")){let l=r.name.substring(1),t=r.value.trim();this.bindEventHandler(e,l,t),e.removeAttribute(r.name)}})}destroy(){A.debug("EventManager: Destroying EventManager"),this.eventHandlers.forEach((e,r)=>{e.forEach((l,t)=>{A.debug(`EventManager: Removing event handler for ${t} on`,r),r.removeEventListener(t,l)})}),this.eventHandlers.clear(),A.debug("EventManager: Destroyed")}},Xh=class{constructor(e){A.DEBUG_LEVEL=e.options.debug?4:0,A.debug("DOMManager: Init DOMManager"),this.model=e,this.elements=[],this.inputs=[],this.domDependencies=new Map,this.virtualDom=new Map,this.loopManager=new Uh(this,e),this.conditionalManager=new qh(this,e),this.attributeManager=new Wh(this,e),this.eventManager=new Gh(this,e),A.debug("DOMManager: DOMManager initialized")}registerDomDependency(e,r,l){this.domDependencies.has(e)||this.domDependencies.set(e,new Set),this.domDependencies.get(e).add({element:r,...l})}processTemplateNode(e,r){if(A.debug("DOMManager: processTemplateNode",{node:e,context:r}),e.nodeType===Node.TEXT_NODE){let l=e.textContent,t=e.textContent.replace(/\{\{\s*([^}]+)\s*\}\}/g,(o,a)=>{a=a.trim();let s=r?((c,p)=>p.split(".").reduce((d,m)=>d?d[m]:void 0,c))(r,a):void 0;return s===void 0&&(s=this.model.store.get(a)),s!==void 0?s:""});l!==t&&(A.debug(`DOMManager: updated node text from ${l} to ${t}`),e.textContent=t)}else e.nodeType===Node.ELEMENT_NODE&&Array.from(e.childNodes).forEach(l=>{this.processTemplateNode(l,r)})}parse(e){A.debug("DOMManager: parse from",e);let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null),l,t=/\{\{\s*([^}]+)\s*\}\}/g;for(;l=r.nextNode();){let a,i=l.textContent,s=i;for(t.lastIndex=0;(a=t.exec(i))!==null;){A.debug(`DOMManager: parse match found for ${i}`,a);let c=a[1].trim();this.registerDomDependency(c,l,{type:"template",template:s}),this.elements.push({node:l,propName:c,template:s})}A.debug("DOMManager: update virtual DOM set",{node:l,text:l.textContent}),this.virtualDom.set(l,l.textContent)}A.debug("DOMManager: Find inputs with data-model directive...");let o=e.querySelectorAll("[data-model]");A.debug("DOMManager: Found inputs with data-model:",o.length),o.forEach(a=>{let i=a.getAttribute("data-model");A.debug("DOMManager: Register handler for:",{input:a,property:i});let s=c=>{let p=a.type==="checkbox"||a.type==="radio"?c.target.checked:c.target.value;this.model.store.set(i,p)};a.__modelInputHandler=s,a.addEventListener("input",s),this.inputs.push({element:a,property:i})})}setInputValue(e,r){e.type==="checkbox"||e.type==="radio"?e.checked=!!r:e.value=r}updateInputs(e,r){A.debug("DOMManager: updateInputs",{propName:e,value:r}),this.inputs.forEach(l=>{l.property===e&&(A.debug("DOMManager: update input",{item:l,value:r}),this.setInputValue(l.element,r))})}updateAllDOM(){A.debug("DOMManager: updateAllDOM"),this.elements.forEach(e=>{let r=e.template;r=r.replace(/\{\{\s*([^}]+)\s*\}\}/g,(l,t)=>(t=t.trim(),this.model.store.get(t))),e.node.textContent=r,A.debug("DOMManager: updated node",{element:e,newContent:r})}),A.debug("DOMManager: update inputs"),this.inputs.forEach(e=>{A.debug("DOMManager: update input",{item:e});let r=this.model.store.get(e.property);this.setInputValue(e.element,r),A.debug("DOMManager: updated input",{item:e,value:r})})}updateDOM(e,r){if(A.debug(`DOMManager: update DOM for ${e} with ${r}`),!e){console.warn("Path is undefined in updateDOM");return}let l=r&&typeof r=="object"&&"method"in r;l&&(e=r.path||e);let t=new Set;this.domDependencies.has(e)&&this.domDependencies.get(e).forEach(c=>t.add(c));let o=e.split("."),a="";for(let c=0;c<o.length;c++)a=a?`${a}.${o[c]}`:o[c],this.domDependencies.has(a)&&this.domDependencies.get(a).forEach(p=>t.add(p));if(this.conditionalManager.getDependenciesByPath(e).forEach(c=>{c.type==="if"&&this.conditionalManager.updateConditional(c.element,c.expression)}),this.domDependencies.forEach((c,p)=>{(p.startsWith(`${e}.`)||p.startsWith(`${e}[`))&&c.forEach(d=>t.add(d))}),(Array.isArray(r)||l||typeof r=="object")&&this.loopManager.updateLoops(e,r),t.size===0)return;let s={template:[],conditional:[],loop:[],attribute:[]};t.forEach(c=>{c&&c.type&&s[c.type].push(c)}),s.template.forEach(c=>this.updateTemplateNode(c.element,c.template)),s.conditional.forEach(c=>this.conditionalManager.updateConditional(c.element,c.expression)),s.attribute.forEach(c=>this.attributeManager.update(c.element,c.attribute,c.expression)),s.loop.forEach(c=>this.loopManager.updateLoopPart(c.element,c.arrayPath,r,c.index))}updateTemplateNode(e,r){let l=r.replace(/\{\{\s*([^}]+)\s*\}\}/g,(t,o)=>(o=o.trim(),this.model.store.get(o)));this.virtualDom.get(e)!==l&&(e.textContent=l,this.virtualDom.set(e,l))}isPathDependency(e,r){return r===e||r.startsWith(`${e}.`)||r.startsWith(`${e}[`)}getDependentPaths(e){let r=[];return this.domDependencies.forEach((l,t)=>{this.isPathDependency(e,t)&&r.push(t)}),r}bindDOM(e){A.debug("DOMManager: bind DOM from",e),this.loopManager.parseLoops(e),this.conditionalManager.parseConditionals(e),this.attributeManager.parseAttributesBind(e),this.attributeManager.parseAttributes(e),this.eventManager.parseEvents(e),this.parse(e),this.updateAllDOM(),A.debug("DOMManager: binding completed")}destroy(){this.inputs.forEach(({element:e})=>{e.__modelInputHandler&&(e.removeEventListener("input",e.__modelInputHandler),delete e.__modelInputHandler)}),this.elements=[],this.inputs=[],this.domDependencies.clear(),this.virtualDom.clear(),this.loopManager.destroy(),this.conditionalManager.destroy(),this.eventManager.destroy(),A.debug("DOMManager: destroyed")}},Zh=class{constructor(e,r={}){A.DEBUG_LEVEL=e.options.debug?4:0,A.debug("Model: Init ComputedProps:",r),this.model=e,this.computed=r,this.store=e.store,this.asyncCache=new Map,this.init().then(()=>{Object.getOwnPropertyNames(this.computed).forEach(l=>{if(typeof this.computed[l].getter=="function")try{let t=this.computed[l].getter.call(this.store.getState());A.debug(`Initializing computed property ${l}:`,t)}catch(t){console.error(`Error initializing computed property ${l}:`,t)}}),A.debug("Model: ComputedProps initialized")})}async init(){let e=[];for(let r in this.computed){let l=this.evaluate(r);e.push(l),Object.defineProperty(this.model.data,r,{get:()=>{let t=this.computed[r];return t.isAsync?this.asyncCache.get(r):t.value},enumerable:!0,configurable:!0})}await Promise.all(e);for(let r in this.computed){let l=this.computed[r].isAsync?this.asyncCache.get(r):this.computed[r].value;this.model.dom.updateDOM(r,l),this.model.dom.updateInputs(r,l)}return!0}async evaluate(e,r=!1){let l=this.computed[e],t=new Set,o=new Proxy(this.store.getState(),{get:(i,s)=>{t.add(s);let c=i[s];return c&&typeof c=="object"?new Proxy(c,{get:(p,d)=>(t.add(`${s}.${d}`),p[d])}):c}}),a=l.getter.constructor.name==="AsyncFunction";l.isAsync=a;try{let i=await l.getter.call(o);return l.dependencies=[...t],a?this.asyncCache.set(e,i):l.value=i,this.store.emit("compute",{key:e,value:i,dependencies:t,isAsync:a}),i}catch(i){throw console.error(`Error evaluating computed property "${e}":`,i),i}}async update(e){let r=[];for(let l in this.computed){let t=(async()=>{let o=await this.evaluate(l);this.model.dom.updateDOM(l,o),this.model.dom.updateInputs(l,o)})();r.push(t)}await Promise.all(r)}all(){return Object.fromEntries(Object.entries(this.computed).map(([e,r])=>[e,r.value]))}},Jh=class Be extends Wo{constructor(r,l={}){A.DEBUG_LEVEL=r.model.options.debug?4:0,A.debug("Init StateManager:",l),super(),this.store=r,this.options=Object.assign({id:"model"},l),A.debug("StateManager initialized")}static isStorageAvailable(){try{let r="__test__";return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch{return!1}}saveState(){if(!Be.isStorageAvailable())return console.warn("localStorage is not available"),null;let l={data:JSON.parse(JSON.stringify(this.store.getState())),timestamp:Date.now()};try{return localStorage.setItem(this.options.id,JSON.stringify(l)),this.emit("saveState",l),l}catch(t){return console.error("Error saving state:",t),this.emit("saveStateError",t),null}}restoreState(){if(!Be.isStorageAvailable())return console.warn("localStorage is not available"),null;try{let r=localStorage.getItem(this.options.id);if(r){let l=JSON.parse(r);return Object.assign(this.store.state,l.data),this.emit("restoreState",l),l}}catch(r){this.emit("restoreStateError",r)}}createSnapshot(){if(!Be.isStorageAvailable())return console.warn("localStorage is not available"),null;let l={data:JSON.parse(JSON.stringify(this.store.getState())),timestamp:Date.now()};return this.emit("createSnapshot",l),l}restoreSnapshot(r){return Be.isStorageAvailable()?r?(Object.assign(this.store.state,r.data),this.emit("restoreSnapshot",r),r):null:(console.warn("localStorage is not available"),null)}enableAutoSave(r=5e3){this.autoSaveInterval=setInterval(()=>{this.saveState()},r)}disableAutoSave(){clearInterval(this.autoSaveInterval)}},Kh={id:"model",useSimpleExpressions:!0,debug:!1,plugins:[],validators:[],formatters:[]},Qh=class extends Wo{constructor(e={},r={}){super(),this.options={...Kh,...r},A.DEBUG_LEVEL=this.options.debug?4:0,A.debug("Creating a model with data:",e),A.debug("Configuration options:",r),this.computed={};for(let l in e)typeof e[l]=="function"&&(A.debug(`Registration calculated property "${l}"`),this.computed[l]={getter:e[l],value:null,dependencies:[]},delete e[l]);if(this.store=new Yh(e,this),this.data=this.store.state,this.dom=new Xh(this),this.computedProps=new Zh(this,this.computed),this.stateManager=new Jh(this.store),this.plugins=new Map,this.options.plugins)for(let l of this.options.plugins){let{name:t,plugin:o,options:a}=l;t&&o&&typeof o=="function"&&this.registerPlugin(t,o,a)}if(this.options.validators)for(let l of this.options.validators){let{path:t,validator:o}=l;t&&o&&typeof o=="function"&&this.addValidator(t,o)}if(this.options.formatters)for(let l of this.options.formatters){let{path:t,formatter:o}=l;t&&o&&typeof o=="function"&&this.addValidator(t,o)}this.subscribe(),A.debug("The model was created successfully!")}subscribe(){A.debug("Subscribing to store changes"),this.store.on("change",e=>{this.dom.updateDOM(e.path,e.newValue),this.dom.updateInputs(e.path,e.newValue),this.computedProps.update(e.path).then(()=>{}),this.emit("change",e)}),this.store.on("compute",e=>this.emit("compute",e)),this.store.on("arrayChange",e=>this.emit("arrayChange",e)),this.store.on("batchComplete",e=>this.emit("batchComplete",e)),A.debug("Subscribing to state manager events"),this.stateManager.on("saveState",e=>this.emit("saveState",e)),this.stateManager.on("saveStateError",e=>this.emit("saveStateError",e)),this.stateManager.on("restoreState",e=>this.emit("restoreState",e)),this.stateManager.on("restoreStateError",e=>this.emit("restoreStateError",e)),this.stateManager.on("createSnapshot",e=>this.emit("createSnapshot",e)),this.stateManager.on("restoreSnapshot",e=>this.emit("restoreSnapshot",e))}addValidator(e,r){this.store.addValidator(e,r)}addFormatter(e,r){this.store.addFormatter(e,r)}use(e){this.store.use(e)}watch(e,r){this.store.watch(e,r)}batch(e){return this.store.batch(e)}diffArrays(e,r){return this.store.detectArrayChanges(e,r)}diff(){}validate(){let e=[],r=[];for(let l in this.computed){let t=new Set,o=this._checkCyclicDependencies(l,t);o&&e.push({type:"CYCLIC_DEPENDENCY",property:l,message:`Cyclic dependence is found: ${o.join(" -> ")}`})}return this.dom.domDependencies.forEach((l,t)=>{this.store.isValidPath(t)||r.push({type:"INVALID_PATH",path:t,message:`Property ${t} used in the template, but does not exist in the model`})}),{errors:e,warnings:r}}_checkCyclicDependencies(e,r,l=[]){if(r.has(e))return[...l,e];r.add(e),l.push(e);let t=this.computed[e];if(!t||!t.dependencies)return null;for(let o of t.dependencies)if(o in this.computed){let a=this._checkCyclicDependencies(o,new Set(r),[...l]);if(a)return a}return null}validatePath(e){return this.store.isValidPath(e)}init(e){A.debug("Initializing DOM bindings");let r=typeof e=="string"?document.querySelector(e):e;return r||(r=document.body),A.debug(`Model initialized in ${e??"body"}`),A.debug("Binding DOM"),this.dom.bindDOM(r),this.emit("init"),A.debug("Initialization complete!"),this}runDevTools(e={}){return new Rh(this,e)}save(){return this.stateManager.saveState()}restore(){return this.stateManager.restoreState()}snapshot(e){return e?this.stateManager.restoreSnapshot(e):this.stateManager.createSnapshot()}autoSave(e){e?this.stateManager.enableAutoSave(e):this.stateManager.disableAutoSave()}registerPlugin(e,r,l={}){if(this.plugins.has(e))throw new Error(`Plugin ${e} already registered`);this.plugins.set(e,new r(this,l))}usePlugin(e,r={}){let l=this.plugins.get(e);return l?(l.run(),this):(console.error(`Plugin ${e} not found`),this)}removePlugin(e){this.plugins.has(e)&&this.plugins.delete(e)}destroy(){this.dom.destroy(),this.store.destroy(),this.emit("destroy")}},Wn=Qh;var Mh="0.18.1",$h="18.05.2025, 14:40:40";Wn.info=()=>{console.info(`%c Model %c v${Mh} %c ${$h} `,"color: white; font-weight: bold; background: #0080fe","color: white; background: darkgreen","color: white; background: #0080fe;")};var Gn=Wn;globalThis.Model=Gn;(e=>{"use strict";globalThis.__version__="5.1.20",globalThis.__build_time__="19.10.2025, 16:50:14";let r=e.meta("metro:init").attr("content"),l=e.meta("metro:cloak").attr("content"),t=e.meta("metro:cloak_duration").attr("content"),o=e.meta("metro:blur").attr("content"),a=e.meta("metro:smooth").attr("content"),i=e.meta("metro:theme").attr("content"),s=e.meta("metro:info").attr("content"),c=e.meta("metro:jquery").attr("content"),p=e.meta("metro:debug").attr("content");globalThis.METRO_INIT=r?JSON.parse(r):!0,i!==void 0&&e("html").addClass(i==="auto"?e.dark?"dark-side":"":i==="dark"?"dark-side":"light-side"),globalThis.METRO_BLUR_IMAGE=o?JSON.parse(o):!1,globalThis.jquery_present=typeof globalThis.jQuery<"u",globalThis.METRO_JQUERY=c?JSON.parse(c):!0,globalThis.useJQuery=globalThis.jquery_present&&globalThis.METRO_JQUERY,globalThis.METRO_SHOW_INFO=s?JSON.parse(s):!1,globalThis.METRO_DEBUG=p?JSON.parse(p):!1,globalThis.METRO_CLOAK_REMOVE=l?`${l}`.toLowerCase():"fade",globalThis.METRO_CLOAK_DURATION=t?Number.parseInt(t):300,globalThis.METRO_SMOOTH_SCROLL=a?JSON.parse(a):!0,globalThis.METRO_DATE_FORMAT="DD.MM.YYYY",globalThis.METRO_TIME_FORMAT="HH:mm:ss",globalThis.METRO_DATETIME_FORMAT="DD.MM.YYYY HH:mm:ss",globalThis.METRO_TIMEOUT=3e3,globalThis.METRO_MEDIA=[]})(Dom);var Go=e=>typeof e!="string"?void 0:e.replace(/-/g,"").toLowerCase(),Xn=(e,r)=>{let l=Go(e),t=g.extend({name:l,instanceOf:"MetroComponent"},{_super:function(o,a,i,s){this.elem=o,this.element=g(o),this.options=g.extend({},i,a),this.component=this.elem,this.locale="en",this.strings={},this._setOptionsFromDOM(),this._runtime(),this._setLocale(),s&&typeof s=="object"&&g.each(s,(c,p)=>{this[c]=p}),this._createExec()},_setOptionsFromDOM:function(){let o=this.element,a=this.options;g.each(o.data(),(i,s)=>{if(i in a)try{a[i]=JSON.parse(s)}catch{a[i]=s}})},_runtime:function(){let o=this.element,a,i=(o.attr("data-role")||"").toArray(",").map(s=>Go(s)).filter(s=>s.trim()!=="");o.attr(`data-role-${this.name}`)||(o.attr(`data-role-${this.name}`,!0),i.indexOf(this.name)===-1&&(i.push(this.name),o.attr("data-role",i.join(","))),a=o.data("metroComponent"),a===void 0?a=[this.name]:a.push(this.name),o.data("metroComponent",a))},_createExec:function(){let o=this.options[`${this.name}Deferred`];o?setTimeout(()=>{this._create()},o):this._create()},_fireEvent:function(o,a=null,i=!1,s=!1,c=null){let p=this.element,d=this.options,m=str(o).camelCase().capitalize(!1).value,h=g.extend({},a,{__this:p[0]});return i&&(console.warn(i),console.warn(`Event: on${m}`),console.warn("Data: ",a),console.warn("Element: ",p[0])),s!==!0&&p.fire(m.toLowerCase(),a),Metro.utils.exec(d[`on${m}`],Object.values(h),c||p[0])},_fireEvents:function(...o){let a=this;if(o.length===0)return;let[i,s,c,p,d]=o,m=Array.isArray(i)?i:i.toArray(",");if(o.length===1)return g.each(m,(h,u)=>{a._fireEvent(u)}),m.length;g.each(m,function(){a._fireEvent(this,s,c,p,d)})},_setLocale:function(){let o=this.element.closest("[lang]");o.length>0?this.locale=o.attr("lang"):this.locale=g("html").attr("lang")||"en",this.strings=g.extend({},Metro.locales.en,Metro.locales[this.locale])},_addLabel:(o,a,{id:i,dir:s="ltr",className:c}={})=>{if(!o)return;let p=g("<label>").addClass("label-for-input").addClass(c).html(o).insertBefore(g(a));i&&p.attr("for",i),s==="rtl"&&p.addClass("rtl")},_setAttributes:(o,a)=>{if(typeof a!="object")return;let i=g(o);g.each(a,(s,c)=>{i.attr(Str.dashedName(s),c)})},_waitForRole:async function(o,a){let i=this.element,s=Go(o);return new Promise(c=>{i.attr(`data-role-${s}`)&&c(a())})},getComponent:function(){return this.component},getComponentName:function(){return this.name}},r);return Metro.plugin(l,t),t};var $e="ontouchstart"in window,Zn={controlsPosition:{INSIDE:"inside",OUTSIDE:"outside"},groupMode:{ONE:"one",MULTI:"multi"},aspectRatio:{HD:"hd",SD:"sd",CINEMA:"cinema"},fullScreenMode:{WINDOW:"window",DESKTOP:"desktop"},position:{TOP:"top",BOTTOM:"bottom",LEFT:"left",RIGHT:"right",TOP_RIGHT:"top-right",TOP_LEFT:"top-left",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",LEFT_BOTTOM:"left-bottom",LEFT_TOP:"left-top",RIGHT_TOP:"right-top",RIGHT_BOTTOM:"right-bottom"},popoverEvents:{CLICK:"click",HOVER:"hover",FOCUS:"focus"},stepperView:{SQUARE:"square",CYCLE:"cycle",DIAMOND:"diamond"},listView:{LIST:"list",CONTENT:"content",ICONS:"icons",ICONS_MEDIUM:"icons-medium",ICONS_LARGE:"icons-large",TILES:"tiles",TABLE:"table"},events:{click:"click",start:$e?"touchstart":"mousedown",stop:$e?"touchend":"mouseup",move:$e?"touchmove":"mousemove",enter:$e?"touchstart":"mouseenter",startAll:"mousedown touchstart",stopAll:"mouseup touchend",moveAll:"mousemove touchmove",leave:"mouseleave",focus:"focus",blur:"blur",resize:"resize",keyup:"keyup",keydown:"keydown",keypress:"keypress",dblclick:"dblclick",input:"input",change:"change",cut:"cut",paste:"paste",scroll:"scroll",mousewheel:"mousewheel",inputchange:"change input propertychange cut paste copy drop",dragstart:"dragstart",dragend:"dragend",dragenter:"dragenter",dragover:"dragover",dragleave:"dragleave",drop:"drop",drag:"drag"},keyCode:{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,BREAK:19,CAPS:20,ESCAPE:27,SPACE:32,PAGEUP:33,PAGEDOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,COMMA:188},media_queries:{FS:"(min-width: 0px)",XS:"(min-width: 360px)",SM:"(min-width: 576px)",LD:"(min-width: 640px)",MD:"(min-width: 768px)",LG:"(min-width: 992px)",XL:"(min-width: 1200px)",XXL:"(min-width: 1452px)",XXXL:"(min-width: 2000px)"},media_sizes:{FS:0,XS:360,SM:576,LD:640,MD:768,LG:992,XL:1200,XXL:1452,XXXL:2e3},media_mode:{FS:"fs",XS:"xs",SM:"sm",LD:"ld",MD:"md",LG:"lg",XL:"xl",XXL:"xxl",XXXL:"xxxl"},media_modes:["fs","xs","sm","ld","md","lg","xl","xxl","xxxl"],actions:{NONE:0,REMOVE:1,HIDE:2,MINIMIZE:3,MAXIMIZE:4,CLOSE:5,RESTORE:6,SHOW:7},theme:{LIGHT:"light",DARK:"dark"}};(e=>{"use strict";if(typeof Dom>"u")throw new Error("Metro UI requires Dom library!");if(!("MutationObserver"in window))throw new Error("Metro UI requires MutationObserver!");let r="ontouchstart"in window,l=o=>typeof o!="string"?void 0:o.replace(/-/g,"").toLowerCase(),t={version:"5.1.20",build_time:"19.10.2025, 16:50:14",buildNumber:0,isTouchable:r,fullScreenEnabled:document.fullscreenEnabled,sheet:null,hotkeys:{},locales:{},utils:{},colors:{},dialog:null,pagination:null,md5:null,storage:null,export:null,animations:null,cookie:null,template:null,defaults:{},info:()=>{globalThis.METRO_SHOW_INFO&&t.welcome()},welcome:()=>{console.info(`%c METRO UI %c v${t.version} %c ${t.build_time} `,"color: pink; font-weight: bold; background: #800000","color: white; background: darkgreen","color: white; background: #0080fe;"),globalThis.$&&e.info&&e.info(),globalThis.Hooks&&Hooks.info&&Hooks.info(),globalThis.HTML&&HTML.info&&HTML.info(),globalThis.Farbe&&Farbe.info&&Farbe.info(),globalThis.Datetime&&Datetime.info&&Datetime.info(),globalThis.Str&&Str.info&&Str.info(),globalThis.G&&G.info&&G.info(),globalThis.Router&&Router.info&&Router.info(),globalThis.Model&&Model.info&&Model.info()},aboutDlg:()=>{alert(`Metro UI - v${t.version}`)},observe:()=>{let o={childList:!0,attributes:!0,subtree:!0},a=s=>{s.map(c=>{if(c.type==="attributes"&&c.attributeName!=="data-role")if(c.attributeName==="data-hotkey")t.initHotkeys([c.target],!0);else{let p=e(c.target),d=p.data("metroComponent"),m=c.attributeName,h=p.attr(m),u=c.oldValue;d!==void 0&&(p.fire("attr-change",{attr:m,newValue:h,oldValue:u,__this:p[0]}),e.each(d,function(){let f=t.getPlugin(p,this);f&&typeof f.changeAttribute=="function"&&f.changeAttribute(m,h,u)}))}else if(c.type==="childList"&&c.addedNodes.length>0){let p=[],d=[],m,h,u=c.addedNodes;if(u.length){for(let f of e(u).find("[data-hotkey]"))d.push(e(f));for(let f=0;f<u.length;f++)h=u[f],m=e(h),m.attr("data-role")!==void 0&&p.push(h),e.each(m.find("[data-role]"),function(){p.indexOf(this)===-1&&p.push(this)});p.length&&t.initWidgets(p,"observe"),d.length&&t.initHotkeys(d)}}})};new MutationObserver(a).observe(e("html")[0],o)},init:()=>{let o=e("[data-role]"),a=e("[data-hotkey]"),i=e("html");if(t.i18n.load(i.attr("lang")),t.info(),r===!0&&i.addClass("touchable-device"),t.sheet=t.utils.newCssSheet(),t.utils.addCssRule(t.sheet,"*, *::before, *::after","box-sizing: border-box;"),globalThis.METRO_MEDIA=[],e.each(t.media_queries,(s,c)=>{t.utils.media(c)&&globalThis.METRO_MEDIA.push(t.media_mode[s])}),t.observe(),t.initHotkeys(a),t.initWidgets(o,"init"),globalThis.METRO_CLOAK_REMOVE!=="fade"?(e(".m4-cloak").removeClass("m4-cloak"),e(".cloak").removeClass("cloak"),e(globalThis).fire("metro-initiated")):e(".m4-cloak, .cloak").animate({draw:{opacity:[0,1]},dur:300,onDone:()=>{e(".m4-cloak").removeClass("m4-cloak"),e(".cloak").removeClass("cloak"),e(globalThis).fire("metro-initiated")}}),e(document).on("click","[data-copy-to-clipboard]",function(){let s=e(this).attr("data-copy-to-clipboard");t.utils.copy2clipboard(s),t.toast&&t.toast.create(`Data ${s} copied to clipboard!`)}),METRO_SMOOTH_SCROLL){let s=document.querySelectorAll('a.smooth-scroll[href^="#"]');for(let c of s)c.addEventListener("click",p=>{p.preventDefault();let d=c.getAttribute("href");document.querySelector(d).scrollIntoView({behavior:"smooth",block:"start"})})}},initHotkeys:(o,a)=>{e.each(o,function(){let i=e(this),s=i.attr("data-hotkey")?i.attr("data-hotkey").toLowerCase():!1,c=i.attr("data-hotkey-func")?i.attr("data-hotkey-func"):!1;s!==!1&&(i.data("hotKeyBonded")===!0&&a!==!0||(t.hotkeys[s]=[this,c],i.data("hotKeyBonded",!0),i.fire("hot-key-bonded",{__this:i[0],hotkey:s,fn:c})))})},initWidgets:o=>{e.each(o,function(){let a=e(this);if(!this.hasAttribute("data-role"))return;a.attr("data-role").split(/\s*,\s*/).map(s=>{let c=t.utils.$(),p=l(s);if(c.fn[p]!==void 0&&a.attr(`data-role-${p}`)===void 0)try{c.fn[p].call(a),a.attr(`data-role-${p}`,!0);let d=a.data("metroComponent");d===void 0?d=[p]:d.push(p),a.data("metroComponent",d),a.fire("create",{__this:a[0],name:p}),e(document).fire("component-create",{element:a[0],name:p})}catch(d){throw console.error(`Error creating component ${s} for `,a[0]),d}})}),t.i18n.updateUI()},plugin:(o,a)=>{let i=l(o),s=c=>{c.fn[i]=function(p){return this.each(function(){c.data(this,i,Object.create(a).init(p,this))})}};s(Dom),globalThis.useJQuery&&s(globalThis.jQuery)},pluginExists:o=>typeof(globalThis.useJQuery?globalThis.jQuery:Dom).fn[l(o)]=="function",destroyPlugin:(o,a)=>{let i=e(o),s=l(a),c=t.getPlugin(i,s);if(typeof c>"u"){console.warn(`Component ${a} can not be destroyed: the element is not a Metro UI component.`);return}if(typeof c.destroy!="function"){console.warn(`Component ${a} can not be destroyed: method destroy not found.`);return}c.destroy();let p=i.data("metroComponent");t.utils.arrayDelete(p,s),i.data("metroComponent",p),e.removeData(i[0],s),i.removeAttr(`data-role-${s}`)},destroyPluginAll:o=>{let a=e(o),i=a.data("metroComponent");i!==void 0&&i.length>0&&e.each(i,function(){t.destroyPlugin(a[0],this)})},noop:()=>{},noop_true:()=>!0,noop_false:()=>!1,noop_arg:o=>o,requestFullScreen:o=>{o.mozRequestFullScreen?o.mozRequestFullScreen():o.webkitRequestFullScreen?o.webkitRequestFullScreen():o.msRequestFullscreen?o.msRequestFullscreen():o.requestFullscreen().catch(a=>{console.warn(`Error attempting to enable full-screen mode: ${a.message} ${a.name}`)})},exitFullScreen:()=>{document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen?document.msExitFullscreen():document.exitFullscreen().catch(o=>{console.warn(`Error attempting to disable full-screen mode: ${o.message} ${o.name}`)})},inFullScreen:()=>(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)!==void 0,$:()=>globalThis.useJQuery?globalThis.jQuery:Dom,get$el:o=>t.$()(e(o)[0]),get$elements:o=>t.$()(e(o)),getPlugin:(o,a)=>{let i=l(a),s=t.get$el(o);return s.length?s.data(i):void 0},getPlugins:o=>{let a=t.get$el(o),i=a.data("metroComponent");return i===void 0?[]:i.map(s=>{let c=l(s);return a.data(c)})},makePlugin:(o,a,i)=>{let s=l(a),c=t.get$elements(o);if(!(!c.length||typeof c[s]!="function"))return c[s](i),t.getPlugin(c[0],a)},fetch:{status:o=>o.ok?Promise.resolve(o):Promise.reject(new Error(o.statusText)),json:o=>o.json(),text:o=>o.text(),form:o=>o.formData(),blob:o=>o.blob(),buffer:o=>o.arrayBuffer()},i18n:{language:"en",load(o="en"){t.i18n.language=t.locales[o]?o:"en",t.locale=t.locales[t.i18n.language]},add(o,a){t.locales[o]=a},get(o,a){return t.locales[a]&&t.locales[a][o]?t.locales[a][o]:""},updateUI(o,a){let i=a||e.html().attr("lang")||"en",s=o||document;if(t.locales[i]){t.i18n.load(i),e.html().attr("lang",i);for(let c of s.querySelectorAll("[data-i18n]")){let p=c.getAttribute("data-i18n");c.innerHTML=t.i18n.get(p,i)}}},extend(o){e.each(o,(a,i)=>{t.locales[a]=Object.assign({},t.locales[a],i)})}},globalMousePosition:{x:0,y:0}};return t.Component=Xn,Object.assign(t,Zn),e(document).on(t.events.moveAll,o=>{t.globalMousePosition.x=o.clientX,t.globalMousePosition.y=o.clientY}),e(globalThis).on(t.events.resize,()=>{globalThis.METRO_MEDIA=[],e.each(t.media_queries,(o,a)=>{t.utils.media(a)&&globalThis.METRO_MEDIA.push(t.media_mode[o])})}),globalThis.Metro=t,globalThis.METRO_INIT===!0&&e(()=>{t.init()}),t})(Dom);Metro.i18n.add("en",{weekStart:0,january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December",january_short:"Jan",february_short:"Feb",march_short:"Mar",april_short:"Apr",may_short:"May",june_short:"Jun",july_short:"Jul",august_short:"Aug",september_short:"Sep",october_short:"Oct",november_short:"Nov",december_short:"Dec",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",sunday_short:"Sun",monday_short:"Mon",tuesday_short:"Tue",wednesday_short:"Wed",thursday_short:"Thu",friday_short:"Fri",saturday_short:"Sat",sunday_short_2:"Su",monday_short_2:"Mo",tuesday_short_2:"Tu",wednesday_short_2:"We",thursday_short_2:"Th",friday_short_2:"Fr",saturday_short_2:"Sa",label_ok:"OK",label_cancel:"Cancel",label_done:"Done",label_today:"Today",label_now:"Now",label_clear:"Clear",label_help:"Help",label_yes:"Yes",label_no:"No",label_random:"Random",label_save:"Save",label_reset:"Reset",label_submit:"Submit",label_add_user_color:"Add to swatches",label_send:"Send",label_accept:"Accept",label_cookies_title:"This site uses cookies",label_cookies_text:"This website uses cookies to ensure you get the best experience on our website.",label_choose_file:"Choose file(s)",label_drop_file:"Click or drop file(s) here",label_files_selected:"{n} file(s) selected",label_days:"days",label_hours:"hours",label_minutes:"min",label_seconds:"sec",label_month:"mon",label_months:"mon's",label_day:"day",label_year:"year",label_years:"years",label_rows_count:"Show:",label_search:"Search:",label_table_info:"Showing $1 to $2 of $3 entries",label_prev:"Prev",label_next:"Next",label_all:"All",label_inspector:"Inspector",label_goto_page:"Goto",label_enter_page:"Enter page...",label_empty:"Nothing to show",label_user_colors:"User Colors",label_tiles:"Tiles",label_list:"List",label_load_more:"Load more",label_buy:"Buy",label_buy_now:"Buy now",label_buy_today:"Buy today",label_download:"Download",label_search_results:"Search results",label_add:"Add",label_edit:"Edit",label_delete:"Delete",label_new:"New",label_sell:"Sell",label_details:"Details",label_sorting:"Sorting",label_finish:"Finish",label_play:"Play",label_pause:"Pause",label_stop:"Stop",label_mute:"Mute",label_loop:"Loop",label_on:"on",label_off:"off",label_rename_tab:"Rename tab",label_close_tab:"Close tab",label_close_other_tabs:"Close other tabs",label_close_tabs_left:"Close tabs left",label_close_tabs_right:"Close tabs right",label_close_all_tabs:"Close all tabs",label_close_inactive_tabs:"Close inactive tabs",label_clear_input:"Clear input",label_reveal_password:"Reveal password",label_hide_password:"Hide password",label_generate_random:"Generate random value",label_search_input:"Search for the entered value",label_note:"Note",label_tip:"Tip",label_info:"Info",label_warning:"Warning",label_question:"Question",label_error:"Error",label_success:"Success",label_caution:"Caution",label_alert:"Alert",label_bug:"Bug",label_fuck:"Fuck",label_important:"Important",label_shit:"Shit",label_air:"Air",label_select_all:"Select all",label_select_more:"Select...",label_select:"Select",label_filter:"Filter",label_collapse:"Collapse",label_attach:"Attach"});Metro.i18n.add("uk",{weekStart:1,january:"\u0421\u0456\u0447\u0435\u043D\u044C",february:"\u041B\u044E\u0442\u0438\u0439",march:"\u0411\u0435\u0440\u0435\u0437\u0435\u043D\u044C",april:"\u041A\u0432\u0456\u0442\u0435\u043D\u044C",may:"\u0422\u0440\u0430\u0432\u0435\u043D\u044C",june:"\u0427\u0435\u0440\u0432\u0435\u043D\u044C",july:"\u041B\u0438\u043F\u0435\u043D\u044C",august:"\u0421\u0435\u0440\u043F\u0435\u043D\u044C",september:"\u0412\u0435\u0440\u0435\u0441\u0435\u043D\u044C",october:"\u0416\u043E\u0432\u0442\u0435\u043D\u044C",november:"\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434",december:"\u0413\u0440\u0443\u0434\u0435\u043D\u044C",january_short:"\u0421\u0456\u0447",february_short:"\u041B\u044E\u0442",march_short:"\u0411\u0435\u0440",april_short:"\u041A\u0432\u0456",may_short:"\u0422\u0440\u0430",june_short:"\u0427\u0435\u0440",july_short:"\u041B\u0438\u043F",august_short:"\u0421\u0435\u0440",september_short:"\u0412\u0435\u0440",october_short:"\u0416\u043E\u0432",november_short:"\u041B\u0438\u0441",december_short:"\u0413\u0440\u0443",sunday:"\u041D\u0435\u0434\u0456\u043B\u044F",monday:"\u041F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A",tuesday:"\u0412\u0456\u0432\u0442\u043E\u0440\u043E\u043A",wednesday:"\u0421\u0435\u0440\u0435\u0434\u0430",thursday:"\u0427\u0435\u0442\u0432\u0435\u0440",friday:"\u041F'\u044F\u0442\u043D\u0438\u0446\u044F",saturday:"\u0421\u0443\u0431\u043E\u0442\u0430",sunday_short:"\u041D\u0435\u0434",monday_short:"\u041F\u043E\u043D",tuesday_short:"\u0412\u0456\u0432",wednesday_short:"\u0421\u0435\u0440",thursday_short:"\u0427\u0435\u0442",friday_short:"\u041F\u0442\u043D",saturday_short:"\u0421\u0443\u0431",sunday_short_2:"\u041D\u0434",monday_short_2:"\u041F\u043D",tuesday_short_2:"\u0412\u0442",wednesday_short_2:"\u0421\u0440",thursday_short_2:"\u0427\u0442",friday_short_2:"\u041F\u0442",saturday_short_2:"\u0421\u0431",label_ok:"OK",label_cancel:"\u0412\u0456\u0434\u043C\u0456\u043D\u0430",label_done:"\u0412\u0438\u043A\u043E\u043D\u0430\u043D\u043E",label_today:"\u0421\u044C\u043E\u0433\u043E\u0434\u043D\u0456",label_now:"\u0417\u0430\u0440\u0430\u0437",label_clear:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438",label_help:"\u0414\u043E\u043F\u043E\u043C\u043E\u0433\u0430",label_yes:"\u0422\u0430\u043A",label_no:"\u041D\u0456",label_random:"\u0412\u0438\u043F\u0430\u0434\u043A\u043E\u0432\u043E",label_save:"\u0417\u0431\u0435\u0440\u0456\u0433\u0442\u0438",label_reset:"\u0421\u043A\u0438\u043D\u0443\u0442\u0438",label_submit:"\u0412\u0456\u0434\u043F\u0440\u0430\u0432\u0438\u0442\u0438",label_add_user_color:"\u0414\u043E\u0434\u0430\u0442\u0438 \u0434\u043E \u0437\u0440\u0430\u0437\u043A\u0456\u0432",label_send:"\u0412\u0456\u0434\u043F\u0440\u0430\u0432\u0438\u0442\u0438",label_accept:"\u041F\u0440\u0438\u0439\u043D\u044F\u0442\u0438",label_cookies_title:"\u0426\u0435\u0439 \u0441\u0430\u0439\u0442 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0444\u0430\u0439\u043B\u0438 cookie",label_cookies_text:"\u0426\u0435\u0439 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0444\u0430\u0439\u043B\u0438 cookie, \u0449\u043E\u0431 \u0437\u0430\u0431\u0435\u0437\u043F\u0435\u0447\u0438\u0442\u0438 \u0432\u0430\u043C \u043D\u0430\u0439\u043A\u0440\u0430\u0449\u0438\u0439 \u0434\u043E\u0441\u0432\u0456\u0434 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u043D\u0430\u0448\u043E\u0433\u043E \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0443.",label_choose_file:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0444\u0430\u0439\u043B(\u0438)",label_drop_file:"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0430\u0431\u043E \u043F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B(\u0438) \u0441\u044E\u0434\u0438",label_files_selected:"\u0412\u0438\u0431\u0440\u0430\u043D\u043E {n} \u0444\u0430\u0439\u043B(\u0456\u0432)",label_days:"\u0434\u043D\u0456",label_hours:"\u0433\u043E\u0434",label_minutes:"\u0445\u0432\u0438\u043B",label_seconds:"\u0441\u0435\u043A",label_month:"\u043C\u0456\u0441",label_months:"\u043C\u0456\u0441\u044F\u0446\u0456",label_day:"\u0434\u0435\u043D\u044C",label_year:"\u0440\u0456\u043A",label_years:"\u0440\u043E\u043A\u0456\u0432",label_rows_count:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438:",label_search:"\u041F\u043E\u0448\u0443\u043A:",label_table_info:"\u0412\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043E \u0437 $1 \u043F\u043E $2 \u0456\u0437 $3 \u0437\u0430\u043F\u0438\u0441\u0456\u0432",label_prev:"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439",label_next:"\u041D\u0430\u0441\u0442\u0443\u043F\u043D\u0438\u0439",label_all:"\u0423\u0441\u0456",label_inspector:"\u0406\u043D\u0441\u043F\u0435\u043A\u0442\u043E\u0440",label_goto_page:"\u041F\u0435\u0440\u0435\u0439\u0442\u0438",label_enter_page:"\u0412\u0432\u0435\u0434\u0456\u0442\u044C \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443...",label_empty:"\u041D\u0456\u0447\u043E\u0433\u043E \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u0438",label_user_colors:"\u041A\u043E\u043B\u044C\u043E\u0440\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430",label_tiles:"\u041F\u043B\u0438\u0442\u043A\u0430",label_list:"\u0421\u043F\u0438\u0441\u043E\u043A",label_load_more:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0449\u0435",label_buy:"\u041A\u0443\u043F\u0438\u0442\u0438",label_buy_now:"\u041A\u0443\u043F\u0438\u0442\u0438 \u0437\u0430\u0440\u0430\u0437",label_buy_today:"\u041A\u0443\u043F\u0438\u0442\u0438 \u0441\u044C\u043E\u0433\u043E\u0434\u043D\u0456",label_download:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438",label_search_results:"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043F\u043E\u0448\u0443\u043A\u0443",label_add:"\u0414\u043E\u0434\u0430\u0442\u0438",label_edit:"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438",label_delete:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438",label_new:"\u041D\u043E\u0432\u0435",label_sell:"\u041F\u0440\u043E\u0434\u0430\u0442\u0438",label_details:"\u041F\u043E\u0434\u0440\u043E\u0431\u0438\u0446\u0456",label_sorting:"\u0421\u043E\u0440\u0442\u0443\u0432\u0430\u043D\u043D\u044F",label_finish:"\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0438",label_play:"\u0412\u0456\u0434\u0442\u0432\u043E\u0440\u0438\u0442\u0438",label_pause:"\u041F\u0430\u0443\u0437\u0430",label_stop:"\u0417\u0443\u043F\u0438\u043D\u0438\u0442\u0438",label_mute:"\u0411\u0435\u0437 \u0437\u0432\u0443\u043A\u0443",label_loop:"\u041F\u043E\u0432\u0442\u043E\u0440\u044E\u0432\u0430\u0442\u0438",label_on:"\u0443\u0432\u043C",label_off:"\u0432\u0438\u043C",label_rename_tab:"\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u0442\u0438 \u0432\u043A\u043B\u0430\u0434\u043A\u0443",label_close_tab:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0432\u043A\u043B\u0430\u0434\u043A\u0443",label_close_other_tabs:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0456\u043D\u0448\u0456 \u0432\u043A\u043B\u0430\u0434\u043A\u0438",label_close_tabs_left:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u043B\u0456\u0432\u043E\u0440\u0443\u0447",label_close_tabs_right:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u043F\u0440\u0430\u0432\u043E\u0440\u0443\u0447",label_close_all_tabs:"\u0417\u0430\u043A\u0440\u0438\u0439\u0442\u0435 \u0432\u0441\u0456 \u0432\u043A\u043B\u0430\u0434\u043A\u0438",label_close_inactive_tabs:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u0456 \u0432\u043A\u043B\u0430\u0434\u043A\u0438",label_clear_input:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F",label_reveal_password:"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u043F\u0430\u0440\u043E\u043B\u044C",label_hide_password:"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u043F\u0430\u0440\u043E\u043B\u044C",label_generate_random:"\u0413\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u043F\u0430\u0434\u043A\u043E\u0432e \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F",label_search_input:"\u0428\u0443\u043A\u0430\u0442\u0438 \u0432\u0432\u0435\u0434\u0435\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F",label_note:"\u041F\u0440\u0438\u043C\u0456\u0442\u043A\u0430",label_tip:"\u041F\u0456\u0434\u043A\u0430\u0437\u043A\u0430",label_info:"\u0406\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u044F",label_warning:"\u0423\u0432\u0430\u0433\u0430",label_question:"\u041F\u0438\u0442\u0430\u043D\u043D\u044F",label_error:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430",label_success:"\u0423\u0441\u043F\u0456\u0445",label_caution:"\u041E\u0431\u0435\u0440\u0435\u0436\u043D\u043E",label_alert:"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u043D\u044F",label_bug:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430",label_fuck:"\u0411\u043B\u044F",label_important:"\u0412\u0430\u0436\u043B\u0438\u0432\u043E",label_shit:"\u041E\u0442 \u043B\u0430\u0439\u043D\u043E",label_air:"\u041F\u0443\u0444\u0444\u0444...",label_select_all:"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0443\u0441\u0456",label_select_more:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C...",label_select:"\u0412\u0438\u0431\u0440\u0430\u0442\u0438",label_filter:"\u0424\u0456\u043B\u044C\u0442\u0440",label_collapse:"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438",label_attach:"\u041F\u0440\u0438\u043A\u0440\u0456\u043F\u0438\u0442\u0438"});Metro.i18n.add("pt",{weekStart:0,january:"Janeiro",february:"Fevereiro",march:"Mar\xE7o",april:"Abril",may:"Maio",june:"Junho",july:"Julho",august:"Agosto",september:"Setembro",october:"Outubro",november:"Novembro",december:"Dezembro",january_short:"Jan",february_short:"Fev",march_short:"Mar",april_short:"Abr",may_short:"Mai",june_short:"Jun",july_short:"Jul",august_short:"Ago",september_short:"Set",october_short:"Out",november_short:"Nov",december_short:"Dez",sunday:"Domingo",monday:"Segunda-feira",tuesday:"Ter\xE7a-feira",wednesday:"Quarta-feira",thursday:"Quinta-feira",friday:"Sexta-feira",saturday:"S\xE1bado",sunday_short:"Dom",monday_short:"Seg",tuesday_short:"Ter",wednesday_short:"Qua",thursday_short:"Qui",friday_short:"Sex",saturday_short:"S\xE1b",sunday_short_2:"D",monday_short_2:"S",tuesday_short_2:"T",wednesday_short_2:"Q",thursday_short_2:"Q",friday_short_2:"S",saturday_short_2:"S",label_ok:"OK",label_cancel:"Cancelar",label_done:"Conclu\xEDdo",label_today:"Hoje",label_now:"Agora",label_clear:"Limpar",label_help:"Ajuda",label_yes:"Sim",label_no:"N\xE3o",label_random:"Aleat\xF3rio",label_save:"Salvar",label_reset:"Redefinir",label_submit:"Enviar",label_add_user_color:"Adicionar aos tons",label_send:"Enviar",label_accept:"Aceitar",label_cookies_title:"Este site usa cookies",label_cookies_text:"Este site utiliza cookies para garantir a melhor experi\xEAncia em nosso site.",label_choose_file:"Escolher arquivo(s)",label_drop_file:"Clique ou solte o(s) arquivo(s) aqui",label_files_selected:"{n} arquivo(s) selecionado(s)",label_days:"dias",label_hours:"horas",label_minutes:"min",label_seconds:"seg",label_month:"m\xEAs",label_months:"meses",label_day:"dia",label_year:"ano",label_years:"anos",label_rows_count:"Mostrar:",label_search:"Pesquisar:",label_table_info:"Mostrando $1 a $2 de $3 entradas",label_prev:"Anterior",label_next:"Pr\xF3ximo",label_all:"Todos",label_inspector:"Inspetor",label_goto_page:"Ir para",label_enter_page:"Digite a p\xE1gina...",label_empty:"Nada para mostrar",label_user_colors:"Cores do usu\xE1rio",label_tiles:"Blocos",label_list:"Lista",label_load_more:"Carregar mais",label_buy:"Comprar",label_buy_now:"Comprar agora",label_buy_today:"Comprar hoje",label_download:"Baixar",label_search_results:"Resultados da pesquisa",label_add:"Adicionar",label_edit:"Editar",label_delete:"Excluir",label_new:"Novo",label_sell:"Vender",label_details:"Detalhes",label_sorting:"Ordena\xE7\xE3o",label_finish:"Finalizar",label_play:"Reproduzir",label_pause:"Pausar",label_stop:"Parar",label_mute:"Silenciar",label_loop:"Repetir",label_on:"lig",label_off:"des",label_rename_tab:"Renomear aba",label_close_tab:"Fechar aba",label_close_other_tabs:"Fechar outras abas",label_close_tabs_left:"Fechar abas \xE0 esquerda",label_close_tabs_right:"Fechar abas \xE0 direita",label_close_all_tabs:"Fechar todas as abas",label_close_inactive_tabs:"Fechar abas inativas",label_clear_input:"Limpar entrada",label_reveal_password:"Mostrar senha",label_hide_password:"Ocultar senha",label_generate_random:"Gerar valor aleat\xF3rio",label_search_input:"Pesquisar o valor inserido",label_note:"Nota",label_tip:"Dica",label_info:"Informa\xE7\xE3o",label_warning:"Aviso",label_question:"Pergunta",label_error:"Erro",label_success:"Sucesso",label_caution:"Cuidado",label_alert:"Alerta",label_bug:"Erro",label_fuck:"Droga",label_important:"Importante",label_shit:"Merda",label_air:"Ar",label_select_all:"Selecionar tudo",label_select_more:"Selecionar...",label_select:"Selecionar",label_filter:"Filtrar",label_collapse:"Recolher",label_attach:"Anexar"});Metro.i18n.add("pt-BR",{weekStart:0,january:"Janeiro",february:"Fevereiro",march:"Mar\xE7o",april:"Abril",may:"Maio",june:"Junho",july:"Julho",august:"Agosto",september:"Setembro",october:"Outubro",november:"Novembro",december:"Dezembro",january_short:"Jan",february_short:"Fev",march_short:"Mar",april_short:"Abr",may_short:"Mai",june_short:"Jun",july_short:"Jul",august_short:"Ago",september_short:"Set",october_short:"Out",november_short:"Nov",december_short:"Dez",sunday:"Domingo",monday:"Segunda-feira",tuesday:"Ter\xE7a-feira",wednesday:"Quarta-feira",thursday:"Quinta-feira",friday:"Sexta-feira",saturday:"S\xE1bado",sunday_short:"Dom",monday_short:"Seg",tuesday_short:"Ter",wednesday_short:"Qua",thursday_short:"Qui",friday_short:"Sex",saturday_short:"S\xE1b",sunday_short_2:"Do",monday_short_2:"Se",tuesday_short_2:"Te",wednesday_short_2:"Qu",thursday_short_2:"Qi",friday_short_2:"Sx",saturday_short_2:"Sa",label_ok:"OK",label_cancel:"Cancelar",label_done:"Conclu\xEDdo",label_today:"Hoje",label_now:"Agora",label_clear:"Limpar",label_help:"Ajuda",label_yes:"Sim",label_no:"N\xE3o",label_random:"Aleat\xF3rio",label_save:"Salvar",label_reset:"Redefinir",label_submit:"Enviar",label_add_user_color:"Adicionar \xE0s amostras",label_send:"Enviar",label_accept:"Aceitar",label_cookies_title:"Este site usa cookies",label_cookies_text:"Este site usa cookies para garantir que voc\xEA tenha a melhor experi\xEAncia em nosso site.",label_choose_file:"Escolher arquivo(s)",label_drop_file:"Clique ou arraste arquivo(s) aqui",label_files_selected:"{n} arquivo(s) selecionado(s)",label_days:"dias",label_hours:"horas",label_minutes:"min",label_seconds:"seg",label_month:"m\xEAs",label_months:"meses",label_day:"dia",label_year:"ano",label_years:"anos",label_rows_count:"Mostrar:",label_search:"Pesquisar:",label_table_info:"Mostrando $1 a $2 de $3 registros",label_prev:"Anterior",label_next:"Pr\xF3ximo",label_all:"Todos",label_inspector:"Inspetor",label_goto_page:"Ir para",label_enter_page:"Digite a p\xE1gina...",label_empty:"Nada para mostrar",label_user_colors:"Cores do Usu\xE1rio",label_tiles:"Blocos",label_list:"Lista",label_load_more:"Carregar mais",label_buy:"Comprar",label_buy_now:"Compre agora",label_buy_today:"Compre hoje",label_download:"Baixar",label_search_results:"Resultados da pesquisa",label_add:"Adicionar",label_edit:"Editar",label_delete:"Excluir",label_new:"Novo",label_sell:"Vender",label_details:"Detalhes",label_sorting:"Ordena\xE7\xE3o",label_finish:"Finalizar",label_play:"Reproduzir",label_pause:"Pausar",label_stop:"Parar",label_mute:"Silenciar",label_loop:"Repetir",label_on:"ligado",label_off:"desligado",label_rename_tab:"Renomear aba",label_close_tab:"Fechar aba",label_close_other_tabs:"Fechar outras abas",label_close_tabs_left:"Fechar abas \xE0 esquerda",label_close_tabs_right:"Fechar abas \xE0 direita",label_close_all_tabs:"Fechar todas as abas",label_close_inactive_tabs:"Fechar abas inativas",label_clear_input:"Limpar entrada",label_reveal_password:"Revelar senha",label_hide_password:"Ocultar senha",label_generate_random:"Gerar valor aleat\xF3rio",label_search_input:"Pesquisar pelo valor digitado",label_note:"Nota",label_tip:"Dica",label_info:"Informa\xE7\xE3o",label_warning:"Aviso",label_question:"Pergunta",label_error:"Erro",label_success:"Sucesso",label_caution:"Cuidado",label_alert:"Alerta",label_bug:"Bug",label_fuck:"Droga",label_important:"Importante",label_shit:"Merda",label_air:"Ar",label_select_all:"Selecionar tudo",label_select_more:"Selecionar...",label_select:"Selecionar",label_filter:"Filtrar",label_collapse:"Recolher",label_attach:"Anexar"});Metro.i18n.add("es",{weekStart:0,january:"Enero",february:"Febrero",march:"Marzo",april:"Abril",may:"Mayo",june:"Junio",july:"Julio",august:"Agosto",september:"Septiembre",october:"Octubre",november:"Noviembre",december:"Diciembre",january_short:"Ene",february_short:"Feb",march_short:"Mar",april_short:"Abr",may_short:"May",june_short:"Jun",july_short:"Jul",august_short:"Ago",september_short:"Sep",october_short:"Oct",november_short:"Nov",december_short:"Dic",sunday:"Domingo",monday:"Lunes",tuesday:"Martes",wednesday:"Mi\xE9rcoles",thursday:"Jueves",friday:"Viernes",saturday:"S\xE1bado",sunday_short:"Dom",monday_short:"Lun",tuesday_short:"Mar",wednesday_short:"Mi\xE9",thursday_short:"Jue",friday_short:"Vie",saturday_short:"S\xE1b",sunday_short_2:"D",monday_short_2:"L",tuesday_short_2:"M",wednesday_short_2:"X",thursday_short_2:"J",friday_short_2:"V",saturday_short_2:"S",label_ok:"OK",label_cancel:"Cancelar",label_done:"Hecho",label_today:"Hoy",label_now:"Ahora",label_clear:"Limpiar",label_help:"Ayuda",label_yes:"S\xED",label_no:"No",label_random:"Aleatorio",label_save:"Guardar",label_reset:"Restablecer",label_submit:"Enviar",label_add_user_color:"A\xF1adir a colores",label_send:"Enviar",label_accept:"Aceptar",label_cookies_title:"Este sitio utiliza cookies",label_cookies_text:"Este sitio web utiliza cookies para garantizar que obtenga la mejor experiencia en nuestro sitio web.",label_choose_file:"Seleccionar archivo(s)",label_drop_file:"Haga clic o suelte archivo(s) aqu\xED",label_files_selected:"{n} archivo(s) seleccionado(s)",label_days:"d\xEDas",label_hours:"horas",label_minutes:"min",label_seconds:"seg",label_month:"mes",label_months:"meses",label_day:"d\xEDa",label_year:"a\xF1o",label_years:"a\xF1os",label_rows_count:"Mostrar:",label_search:"Buscar:",label_table_info:"Mostrando $1 a $2 de $3 entradas",label_prev:"Anterior",label_next:"Siguiente",label_all:"Todo",label_inspector:"Inspector",label_goto_page:"Ir a",label_enter_page:"Introducir p\xE1gina...",label_empty:"Nada que mostrar",label_user_colors:"Colores de usuario",label_tiles:"Cuadr\xEDculas",label_list:"Lista",label_load_more:"Cargar m\xE1s",label_buy:"Comprar",label_buy_now:"Comprar ahora",label_buy_today:"Comprar hoy",label_download:"Descargar",label_search_results:"Resultados de b\xFAsqueda",label_add:"A\xF1adir",label_edit:"Editar",label_delete:"Eliminar",label_new:"Nuevo",label_sell:"Vender",label_details:"Detalles",label_sorting:"Ordenar",label_finish:"Finalizar",label_play:"Reproducir",label_pause:"Pausa",label_stop:"Detener",label_mute:"Silenciar",label_loop:"Repetir",label_on:"enc",label_off:"apa",label_rename_tab:"Renombrar pesta\xF1a",label_close_tab:"Cerrar pesta\xF1a",label_close_other_tabs:"Cerrar otras pesta\xF1as",label_close_tabs_left:"Cerrar pesta\xF1as a la izquierda",label_close_tabs_right:"Cerrar pesta\xF1as a la derecha",label_close_all_tabs:"Cerrar todas las pesta\xF1as",label_close_inactive_tabs:"Cerrar pesta\xF1as inactivas",label_clear_input:"Limpiar entrada",label_reveal_password:"Mostrar contrase\xF1a",label_hide_password:"Ocultar contrase\xF1a",label_generate_random:"Generar valor aleatorio",label_search_input:"Buscar el valor ingresado",label_note:"Nota",label_tip:"Consejo",label_info:"Informaci\xF3n",label_warning:"Advertencia",label_question:"Pregunta",label_error:"Error",label_success:"\xC9xito",label_caution:"Precauci\xF3n",label_alert:"Alerta",label_bug:"Error",label_fuck:"Maldici\xF3n",label_important:"Importante",label_shit:"Mierda",label_air:"Aire",label_select_all:"Seleccionar todo",label_select_more:"Seleccionar...",label_select:"Seleccionar",label_filter:"Filtrar",label_collapse:"Colapsar",label_attach:"Adjuntar"});Metro.i18n.add("de",{weekStart:1,january:"Januar",february:"Februar",march:"M\xE4rz",april:"April",may:"Mai",june:"Juni",july:"Juli",august:"August",september:"September",october:"Oktober",november:"November",december:"Dezember",january_short:"Jan",february_short:"Feb",march_short:"M\xE4r",april_short:"Apr",may_short:"Mai",june_short:"Jun",july_short:"Jul",august_short:"Aug",september_short:"Sep",october_short:"Okt",november_short:"Nov",december_short:"Dez",sunday:"Sonntag",monday:"Montag",tuesday:"Dienstag",wednesday:"Mittwoch",thursday:"Donnerstag",friday:"Freitag",saturday:"Samstag",sunday_short:"So",monday_short:"Mo",tuesday_short:"Di",wednesday_short:"Mi",thursday_short:"Do",friday_short:"Fr",saturday_short:"Sa",sunday_short_2:"S",monday_short_2:"M",tuesday_short_2:"D",wednesday_short_2:"M",thursday_short_2:"D",friday_short_2:"F",saturday_short_2:"S",label_ok:"OK",label_cancel:"Abbrechen",label_done:"Fertig",label_today:"Heute",label_now:"Jetzt",label_clear:"L\xF6schen",label_help:"Hilfe",label_yes:"Ja",label_no:"Nein",label_random:"Zuf\xE4llig",label_save:"Speichern",label_reset:"Zur\xFCcksetzen",label_submit:"Absenden",label_add_user_color:"Zu den Farben hinzuf\xFCgen",label_send:"Senden",label_accept:"Akzeptieren",label_cookies_title:"Diese Seite verwendet Cookies",label_cookies_text:"Diese Website verwendet Cookies, um sicherzustellen, dass Sie die beste Erfahrung auf unserer Website machen.",label_choose_file:"Datei(en) ausw\xE4hlen",label_drop_file:"Klicken oder Datei(en) hier ablegen",label_files_selected:"{n} Datei(en) ausgew\xE4hlt",label_days:"Tage",label_hours:"Stunden",label_minutes:"Min",label_seconds:"Sek",label_month:"Monat",label_months:"Monate",label_day:"Tag",label_year:"Jahr",label_years:"Jahre",label_rows_count:"Anzeigen:",label_search:"Suchen:",label_table_info:"Zeige $1 bis $2 von $3 Eintr\xE4gen",label_prev:"Zur\xFCck",label_next:"Weiter",label_all:"Alle",label_inspector:"Inspektor",label_goto_page:"Gehe zu",label_enter_page:"Seite eingeben...",label_empty:"Nichts zu zeigen",label_user_colors:"Benutzerfarben",label_tiles:"Kacheln",label_list:"Liste",label_load_more:"Mehr laden",label_buy:"Kaufen",label_buy_now:"Jetzt kaufen",label_buy_today:"Heute kaufen",label_download:"Herunterladen",label_search_results:"Suchergebnisse",label_add:"Hinzuf\xFCgen",label_edit:"Bearbeiten",label_delete:"L\xF6schen",label_new:"Neu",label_sell:"Verkaufen",label_details:"Details",label_sorting:"Sortierung",label_finish:"Beenden",label_play:"Abspielen",label_pause:"Pause",label_stop:"Stopp",label_mute:"Stummschalten",label_loop:"Wiederholen",label_on:"an",label_off:"aus",label_rename_tab:"Tab umbenennen",label_close_tab:"Tab schlie\xDFen",label_close_other_tabs:"Andere Tabs schlie\xDFen",label_close_tabs_left:"Tabs links schlie\xDFen",label_close_tabs_right:"Tabs rechts schlie\xDFen",label_close_all_tabs:"Alle Tabs schlie\xDFen",label_close_inactive_tabs:"Inaktive Tabs schlie\xDFen",label_clear_input:"Eingabe l\xF6schen",label_reveal_password:"Passwort anzeigen",label_hide_password:"Passwort verbergen",label_generate_random:"Zuf\xE4lligen Wert generieren",label_search_input:"Nach eingegebenem Wert suchen",label_note:"Notiz",label_tip:"Tipp",label_info:"Info",label_warning:"Warnung",label_question:"Frage",label_error:"Fehler",label_success:"Erfolg",label_caution:"Vorsicht",label_alert:"Alarm",label_bug:"Fehler",label_fuck:"Mist",label_important:"Wichtig",label_shit:"Schei\xDFe",label_air:"Luft",label_select_all:"Alles ausw\xE4hlen",label_select_more:"Mehr ausw\xE4hlen...",label_select:"Ausw\xE4hlen",label_filter:"Filter",label_collapse:"Einklappen",label_attach:"Befestigen"});Metro.i18n.add("fr",{weekStart:1,january:"Janvier",february:"F\xE9vrier",march:"Mars",april:"Avril",may:"Mai",june:"Juin",july:"Juillet",august:"Ao\xFBt",september:"Septembre",october:"Octobre",november:"Novembre",december:"D\xE9cembre",january_short:"Jan",february_short:"F\xE9v",march_short:"Mar",april_short:"Avr",may_short:"Mai",june_short:"Juin",july_short:"Juil",august_short:"Ao\xFB",september_short:"Sep",october_short:"Oct",november_short:"Nov",december_short:"D\xE9c",sunday:"Dimanche",monday:"Lundi",tuesday:"Mardi",wednesday:"Mercredi",thursday:"Jeudi",friday:"Vendredi",saturday:"Samedi",sunday_short:"Dim",monday_short:"Lun",tuesday_short:"Mar",wednesday_short:"Mer",thursday_short:"Jeu",friday_short:"Ven",saturday_short:"Sam",sunday_short_2:"D",monday_short_2:"L",tuesday_short_2:"M",wednesday_short_2:"M",thursday_short_2:"J",friday_short_2:"V",saturday_short_2:"S",label_ok:"OK",label_cancel:"Annuler",label_done:"Termin\xE9",label_today:"Aujourd'hui",label_now:"Maintenant",label_clear:"Effacer",label_help:"Aide",label_yes:"Oui",label_no:"Non",label_random:"Al\xE9atoire",label_save:"Enregistrer",label_reset:"R\xE9initialiser",label_submit:"Soumettre",label_add_user_color:"Ajouter aux couleurs",label_send:"Envoyer",label_accept:"Accepter",label_cookies_title:"Ce site utilise des cookies",label_cookies_text:"Ce site utilise des cookies pour vous garantir la meilleure exp\xE9rience sur notre site.",label_choose_file:"Choisir le(s) fichier(s)",label_drop_file:"Cliquez ou d\xE9posez le(s) fichier(s) ici",label_files_selected:"{n} fichier(s) s\xE9lectionn\xE9(s)",label_days:"jours",label_hours:"heures",label_minutes:"min",label_seconds:"sec",label_month:"mois",label_months:"mois",label_day:"jour",label_year:"ann\xE9e",label_years:"ann\xE9es",label_rows_count:"Afficher :",label_search:"Rechercher :",label_table_info:"Affichage de $1 \xE0 $2 sur $3 entr\xE9es",label_prev:"Pr\xE9c",label_next:"Suiv",label_all:"Tout",label_inspector:"Inspecteur",label_goto_page:"Aller \xE0",label_enter_page:"Entrer la page...",label_empty:"Rien \xE0 afficher",label_user_colors:"Couleurs utilisateur",label_tiles:"Tuiles",label_list:"Liste",label_load_more:"Charger plus",label_buy:"Acheter",label_buy_now:"Acheter maintenant",label_buy_today:"Acheter aujourd'hui",label_download:"T\xE9l\xE9charger",label_search_results:"R\xE9sultats de recherche",label_add:"Ajouter",label_edit:"Modifier",label_delete:"Supprimer",label_new:"Nouveau",label_sell:"Vendre",label_details:"D\xE9tails",label_sorting:"Tri",label_finish:"Terminer",label_play:"Lire",label_pause:"Pause",label_stop:"Arr\xEAter",label_mute:"Muet",label_loop:"Boucle",label_on:"act",label_off:"d\xE9s",label_rename_tab:"Renommer l'onglet",label_close_tab:"Fermer l'onglet",label_close_other_tabs:"Fermer les autres onglets",label_close_tabs_left:"Fermer les onglets \xE0 gauche",label_close_tabs_right:"Fermer les onglets \xE0 droite",label_close_all_tabs:"Fermer tous les onglets",label_close_inactive_tabs:"Fermer les onglets inactifs",label_clear_input:"Effacer l'entr\xE9e",label_reveal_password:"Afficher le mot de passe",label_hide_password:"Masquer le mot de passe",label_generate_random:"G\xE9n\xE9rer une valeur al\xE9atoire",label_search_input:"Rechercher la valeur saisie",label_note:"Note",label_tip:"Astuce",label_info:"Info",label_warning:"Avertissement",label_question:"Question",label_error:"Erreur",label_success:"Succ\xE8s",label_caution:"Prudence",label_alert:"Alerte",label_bug:"Bug",label_fuck:"Merde",label_important:"Important",label_shit:"Fichu",label_air:"Air",label_select_all:"Tout s\xE9lectionner",label_select_more:"S\xE9lectionner...",label_select:"S\xE9lectionner",label_filter:"Filtrer",label_collapse:"R\xE9duire",label_attach:"Attacher"});Metro.i18n.add("it",{weekStart:1,january:"Gennaio",february:"Febbraio",march:"Marzo",april:"Aprile",may:"Maggio",june:"Giugno",july:"Luglio",august:"Agosto",september:"Settembre",october:"Ottobre",november:"Novembre",december:"Dicembre",january_short:"Gen",february_short:"Feb",march_short:"Mar",april_short:"Apr",may_short:"Mag",june_short:"Giu",july_short:"Lug",august_short:"Ago",september_short:"Set",october_short:"Ott",november_short:"Nov",december_short:"Dic",sunday:"Domenica",monday:"Luned\xEC",tuesday:"Marted\xEC",wednesday:"Mercoled\xEC",thursday:"Gioved\xEC",friday:"Venerd\xEC",saturday:"Sabato",sunday_short:"Dom",monday_short:"Lun",tuesday_short:"Mar",wednesday_short:"Mer",thursday_short:"Gio",friday_short:"Ven",saturday_short:"Sab",sunday_short_2:"D",monday_short_2:"L",tuesday_short_2:"M",wednesday_short_2:"M",thursday_short_2:"G",friday_short_2:"V",saturday_short_2:"S",label_ok:"OK",label_cancel:"Annulla",label_done:"Fatto",label_today:"Oggi",label_now:"Adesso",label_clear:"Cancella",label_help:"Aiuto",label_yes:"S\xEC",label_no:"No",label_random:"Casuale",label_save:"Salva",label_reset:"Reimposta",label_submit:"Invia",label_add_user_color:"Aggiungi ai colori",label_send:"Invia",label_accept:"Accetta",label_cookies_title:"Questo sito utilizza i cookie",label_cookies_text:"Questo sito utilizza i cookie per garantire la migliore esperienza sul nostro sito.",label_choose_file:"Scegli file",label_drop_file:"Clicca o trascina qui il file",label_files_selected:"{n} file selezionati",label_days:"giorni",label_hours:"ore",label_minutes:"min",label_seconds:"sec",label_month:"mese",label_months:"mesi",label_day:"giorno",label_year:"anno",label_years:"anni",label_rows_count:"Mostra:",label_search:"Cerca:",label_table_info:"Mostra da $1 a $2 di $3 elementi",label_prev:"Prec",label_next:"Succ",label_all:"Tutti",label_inspector:"Ispettore",label_goto_page:"Vai a",label_enter_page:"Inserisci pagina...",label_empty:"Niente da mostrare",label_user_colors:"Colori utente",label_tiles:"Piastrelle",label_list:"Lista",label_load_more:"Carica altro",label_buy:"Compra",label_buy_now:"Compra ora",label_buy_today:"Compra oggi",label_download:"Scarica",label_search_results:"Risultati di ricerca",label_add:"Aggiungi",label_edit:"Modifica",label_delete:"Elimina",label_new:"Nuovo",label_sell:"Vendi",label_details:"Dettagli",label_sorting:"Ordinamento",label_finish:"Termina",label_play:"Riproduci",label_pause:"Pausa",label_stop:"Arresta",label_mute:"Silenzia",label_loop:"Ripeti",label_on:"acc",label_off:"spe",label_rename_tab:"Rinomina scheda",label_close_tab:"Chiudi scheda",label_close_other_tabs:"Chiudi altre schede",label_close_tabs_left:"Chiudi schede a sinistra",label_close_tabs_right:"Chiudi schede a destra",label_close_all_tabs:"Chiudi tutte le schede",label_close_inactive_tabs:"Chiudi schede inattive",label_clear_input:"Cancella input",label_reveal_password:"Mostra password",label_hide_password:"Nascondi password",label_generate_random:"Genera valore casuale",label_search_input:"Cerca il valore inserito",label_note:"Nota",label_tip:"Suggerimento",label_info:"Info",label_warning:"Avviso",label_question:"Domanda",label_error:"Errore",label_success:"Successo",label_caution:"Attenzione",label_alert:"Allarme",label_bug:"Bug",label_fuck:"Cavolo",label_important:"Importante",label_shit:"Accidenti",label_air:"Aria",label_select_all:"Seleziona tutto",label_select_more:"Seleziona...",label_select:"Seleziona",label_filter:"Filtro",label_collapse:"Riduci",label_attach:"Allegare"});Metro.i18n.add("zh-CN",{weekStart:0,january:"\u4E00\u6708",february:"\u4E8C\u6708",march:"\u4E09\u6708",april:"\u56DB\u6708",may:"\u4E94\u6708",june:"\u516D\u6708",july:"\u4E03\u6708",august:"\u516B\u6708",september:"\u4E5D\u6708",october:"\u5341\u6708",november:"\u5341\u4E00\u6708",december:"\u5341\u4E8C\u6708",january_short:"1\u6708",february_short:"2\u6708",march_short:"3\u6708",april_short:"4\u6708",may_short:"5\u6708",june_short:"6\u6708",july_short:"7\u6708",august_short:"8\u6708",september_short:"9\u6708",october_short:"10\u6708",november_short:"11\u6708",december_short:"12\u6708",sunday:"\u661F\u671F\u65E5",monday:"\u661F\u671F\u4E00",tuesday:"\u661F\u671F\u4E8C",wednesday:"\u661F\u671F\u4E09",thursday:"\u661F\u671F\u56DB",friday:"\u661F\u671F\u4E94",saturday:"\u661F\u671F\u516D",sunday_short:"\u5468\u65E5",monday_short:"\u5468\u4E00",tuesday_short:"\u5468\u4E8C",wednesday_short:"\u5468\u4E09",thursday_short:"\u5468\u56DB",friday_short:"\u5468\u4E94",saturday_short:"\u5468\u516D",sunday_short_2:"\u65E5",monday_short_2:"\u4E00",tuesday_short_2:"\u4E8C",wednesday_short_2:"\u4E09",thursday_short_2:"\u56DB",friday_short_2:"\u4E94",saturday_short_2:"\u516D",label_ok:"\u786E\u5B9A",label_cancel:"\u53D6\u6D88",label_done:"\u5B8C\u6210",label_today:"\u4ECA\u5929",label_now:"\u73B0\u5728",label_clear:"\u6E05\u9664",label_help:"\u5E2E\u52A9",label_yes:"\u662F",label_no:"\u5426",label_random:"\u968F\u673A",label_save:"\u4FDD\u5B58",label_reset:"\u91CD\u7F6E",label_submit:"\u63D0\u4EA4",label_add_user_color:"\u6DFB\u52A0\u5230\u8272\u677F",label_send:"\u53D1\u9001",label_accept:"\u63A5\u53D7",label_cookies_title:"\u672C\u7AD9\u4F7F\u7528cookies",label_cookies_text:"\u672C\u7F51\u7AD9\u4F7F\u7528cookies\u4EE5\u786E\u4FDD\u60A8\u5728\u6211\u4EEC\u7684\u7F51\u7AD9\u4E0A\u83B7\u5F97\u6700\u4F73\u4F53\u9A8C\u3002",label_choose_file:"\u9009\u62E9\u6587\u4EF6",label_drop_file:"\u70B9\u51FB\u6216\u62D6\u653E\u6587\u4EF6\u5230\u8FD9\u91CC",label_files_selected:"\u5DF2\u9009\u62E9 {n} \u4E2A\u6587\u4EF6",label_days:"\u5929",label_hours:"\u5C0F\u65F6",label_minutes:"\u5206\u949F",label_seconds:"\u79D2",label_month:"\u6708",label_months:"\u6708",label_day:"\u65E5",label_year:"\u5E74",label_years:"\u5E74",label_rows_count:"\u663E\u793A\uFF1A",label_search:"\u641C\u7D22\uFF1A",label_table_info:"\u663E\u793A\u7B2C $1 \u5230 $2 \u9879\uFF0C\u5171 $3 \u9879",label_prev:"\u4E0A\u4E00\u9875",label_next:"\u4E0B\u4E00\u9875",label_all:"\u5168\u90E8",label_inspector:"\u68C0\u67E5\u5668",label_goto_page:"\u524D\u5F80",label_enter_page:"\u8F93\u5165\u9875\u7801...",label_empty:"\u6CA1\u6709\u5185\u5BB9\u53EF\u663E\u793A",label_user_colors:"\u7528\u6237\u989C\u8272",label_tiles:"\u78C1\u8D34",label_list:"\u5217\u8868",label_load_more:"\u52A0\u8F7D\u66F4\u591A",label_buy:"\u8D2D\u4E70",label_buy_now:"\u7ACB\u5373\u8D2D\u4E70",label_buy_today:"\u4ECA\u65E5\u8D2D\u4E70",label_download:"\u4E0B\u8F7D",label_search_results:"\u641C\u7D22\u7ED3\u679C",label_add:"\u6DFB\u52A0",label_edit:"\u7F16\u8F91",label_delete:"\u5220\u9664",label_new:"\u65B0\u5EFA",label_sell:"\u51FA\u552E",label_details:"\u8BE6\u60C5",label_sorting:"\u6392\u5E8F",label_finish:"\u5B8C\u6210",label_play:"\u64AD\u653E",label_pause:"\u6682\u505C",label_stop:"\u505C\u6B62",label_mute:"\u9759\u97F3",label_loop:"\u5FAA\u73AF",label_on:"\u5F00",label_off:"\u5173",label_rename_tab:"\u91CD\u547D\u540D\u6807\u7B7E",label_close_tab:"\u5173\u95ED\u6807\u7B7E",label_close_other_tabs:"\u5173\u95ED\u5176\u4ED6\u6807\u7B7E",label_close_tabs_left:"\u5173\u95ED\u5DE6\u4FA7\u6807\u7B7E",label_close_tabs_right:"\u5173\u95ED\u53F3\u4FA7\u6807\u7B7E",label_close_all_tabs:"\u5173\u95ED\u6240\u6709\u6807\u7B7E",label_close_inactive_tabs:"\u5173\u95ED\u975E\u6D3B\u52A8\u6807\u7B7E",label_clear_input:"\u6E05\u9664\u8F93\u5165",label_reveal_password:"\u663E\u793A\u5BC6\u7801",label_hide_password:"\u9690\u85CF\u5BC6\u7801",label_generate_random:"\u751F\u6210\u968F\u673A\u503C",label_search_input:"\u641C\u7D22\u8F93\u5165\u7684\u503C",label_note:"\u5907\u6CE8",label_tip:"\u63D0\u793A",label_info:"\u4FE1\u606F",label_warning:"\u8B66\u544A",label_question:"\u95EE\u9898",label_error:"\u9519\u8BEF",label_success:"\u6210\u529F",label_caution:"\u6CE8\u610F",label_alert:"\u8B66\u62A5",label_bug:"\u9519\u8BEF",label_fuck:"\u7CDF\u7CD5",label_important:"\u91CD\u8981",label_shit:"\u7CDF\u7CD5",label_air:"\u7A7A\u6C14",label_select_all:"\u5168\u9009",label_select_more:"\u9009\u62E9...",label_select:"\u9009\u62E9",label_filter:"\u7B5B\u9009",label_collapse:"\u6298\u53E0",label_attach:"\u9644\u52A0"});Metro.i18n.add("zh-TW",{weekStart:0,january:"\u4E00\u6708",february:"\u4E8C\u6708",march:"\u4E09\u6708",april:"\u56DB\u6708",may:"\u4E94\u6708",june:"\u516D\u6708",july:"\u4E03\u6708",august:"\u516B\u6708",september:"\u4E5D\u6708",october:"\u5341\u6708",november:"\u5341\u4E00\u6708",december:"\u5341\u4E8C\u6708",january_short:"1\u6708",february_short:"2\u6708",march_short:"3\u6708",april_short:"4\u6708",may_short:"5\u6708",june_short:"6\u6708",july_short:"7\u6708",august_short:"8\u6708",september_short:"9\u6708",october_short:"10\u6708",november_short:"11\u6708",december_short:"12\u6708",sunday:"\u661F\u671F\u65E5",monday:"\u661F\u671F\u4E00",tuesday:"\u661F\u671F\u4E8C",wednesday:"\u661F\u671F\u4E09",thursday:"\u661F\u671F\u56DB",friday:"\u661F\u671F\u4E94",saturday:"\u661F\u671F\u516D",sunday_short:"\u9031\u65E5",monday_short:"\u9031\u4E00",tuesday_short:"\u9031\u4E8C",wednesday_short:"\u9031\u4E09",thursday_short:"\u9031\u56DB",friday_short:"\u9031\u4E94",saturday_short:"\u9031\u516D",sunday_short_2:"\u65E5",monday_short_2:"\u4E00",tuesday_short_2:"\u4E8C",wednesday_short_2:"\u4E09",thursday_short_2:"\u56DB",friday_short_2:"\u4E94",saturday_short_2:"\u516D",label_ok:"\u78BA\u5B9A",label_cancel:"\u53D6\u6D88",label_done:"\u5B8C\u6210",label_today:"\u4ECA\u5929",label_now:"\u73FE\u5728",label_clear:"\u6E05\u9664",label_help:"\u8AAA\u660E",label_yes:"\u662F",label_no:"\u5426",label_random:"\u96A8\u6A5F",label_save:"\u5132\u5B58",label_reset:"\u91CD\u8A2D",label_submit:"\u63D0\u4EA4",label_add_user_color:"\u52A0\u5165\u8272\u7968",label_send:"\u50B3\u9001",label_accept:"\u63A5\u53D7",label_cookies_title:"\u6B64\u7DB2\u7AD9\u4F7F\u7528Cookie",label_cookies_text:"\u672C\u7DB2\u7AD9\u4F7F\u7528Cookie\uFF0C\u4EE5\u78BA\u4FDD\u60A8\u5728\u6211\u5011\u7DB2\u7AD9\u4E0A\u7372\u5F97\u6700\u4F73\u9AD4\u9A57\u3002",label_choose_file:"\u9078\u64C7\u6A94\u6848",label_drop_file:"\u9EDE\u64CA\u6216\u62D6\u653E\u6A94\u6848\u81F3\u6B64",label_files_selected:"\u5DF2\u9078\u64C7 {n} \u500B\u6A94\u6848",label_days:"\u5929",label_hours:"\u5C0F\u6642",label_minutes:"\u5206\u9418",label_seconds:"\u79D2",label_month:"\u6708",label_months:"\u6708",label_day:"\u65E5",label_year:"\u5E74",label_years:"\u5E74",label_rows_count:"\u986F\u793A\uFF1A",label_search:"\u641C\u5C0B\uFF1A",label_table_info:"\u986F\u793A\u7B2C $1 \u5230 $2 \u9805\uFF0C\u5171 $3 \u9805",label_prev:"\u4E0A\u4E00\u9801",label_next:"\u4E0B\u4E00\u9801",label_all:"\u5168\u90E8",label_inspector:"\u6AA2\u67E5\u5668",label_goto_page:"\u524D\u5F80",label_enter_page:"\u8F38\u5165\u9801\u78BC...",label_empty:"\u6C92\u6709\u8CC7\u6599\u53EF\u986F\u793A",label_user_colors:"\u4F7F\u7528\u8005\u984F\u8272",label_tiles:"\u78DA\u584A",label_list:"\u6E05\u55AE",label_load_more:"\u8F09\u5165\u66F4\u591A",label_buy:"\u8CFC\u8CB7",label_buy_now:"\u7ACB\u5373\u8CFC\u8CB7",label_buy_today:"\u4ECA\u65E5\u8CFC\u8CB7",label_download:"\u4E0B\u8F09",label_search_results:"\u641C\u5C0B\u7D50\u679C",label_add:"\u65B0\u589E",label_edit:"\u7DE8\u8F2F",label_delete:"\u522A\u9664",label_new:"\u65B0\u5EFA",label_sell:"\u51FA\u552E",label_details:"\u8A73\u7D30\u8CC7\u6599",label_sorting:"\u6392\u5E8F",label_finish:"\u5B8C\u6210",label_play:"\u64AD\u653E",label_pause:"\u66AB\u505C",label_stop:"\u505C\u6B62",label_mute:"\u975C\u97F3",label_loop:"\u5FAA\u74B0",label_on:"\u958B\u555F",label_off:"\u95DC\u9589",label_rename_tab:"\u91CD\u65B0\u547D\u540D\u5206\u9801",label_close_tab:"\u95DC\u9589\u5206\u9801",label_close_other_tabs:"\u95DC\u9589\u5176\u4ED6\u5206\u9801",label_close_tabs_left:"\u95DC\u9589\u5DE6\u5074\u5206\u9801",label_close_tabs_right:"\u95DC\u9589\u53F3\u5074\u5206\u9801",label_close_all_tabs:"\u95DC\u9589\u6240\u6709\u5206\u9801",label_close_inactive_tabs:"\u95DC\u9589\u975E\u6D3B\u52D5\u5206\u9801",label_clear_input:"\u6E05\u9664\u8F38\u5165",label_reveal_password:"\u986F\u793A\u5BC6\u78BC",label_hide_password:"\u96B1\u85CF\u5BC6\u78BC",label_generate_random:"\u7522\u751F\u96A8\u6A5F\u503C",label_search_input:"\u641C\u5C0B\u8F38\u5165\u7684\u503C",label_note:"\u5099\u8A3B",label_tip:"\u63D0\u793A",label_info:"\u8CC7\u8A0A",label_warning:"\u8B66\u544A",label_question:"\u554F\u984C",label_error:"\u932F\u8AA4",label_success:"\u6210\u529F",label_caution:"\u6CE8\u610F",label_alert:"\u8B66\u793A",label_bug:"\u932F\u8AA4",label_fuck:"\u8A72\u6B7B",label_important:"\u91CD\u8981",label_shit:"\u7CDF\u7CD5",label_air:"\u7A7A\u6C23",label_select_all:"\u5168\u9078",label_select_more:"\u9078\u64C7...",label_select:"\u9078\u64C7",label_filter:"\u7BE9\u9078",label_collapse:"\u6536\u5408",label_attach:"\u9644\u52A0"});Metro.i18n.add("hi",{weekStart:0,january:"\u091C\u0928\u0935\u0930\u0940",february:"\u092B\u0930\u0935\u0930\u0940",march:"\u092E\u093E\u0930\u094D\u091A",april:"\u0905\u092A\u094D\u0930\u0948\u0932",may:"\u092E\u0908",june:"\u091C\u0942\u0928",july:"\u091C\u0941\u0932\u093E\u0908",august:"\u0905\u0917\u0938\u094D\u0924",september:"\u0938\u093F\u0924\u0902\u092C\u0930",october:"\u0905\u0915\u094D\u091F\u0942\u092C\u0930",november:"\u0928\u0935\u0902\u092C\u0930",december:"\u0926\u093F\u0938\u0902\u092C\u0930",january_short:"\u091C\u0928",february_short:"\u092B\u0930",march_short:"\u092E\u093E\u0930\u094D\u091A",april_short:"\u0905\u092A\u094D\u0930\u0948",may_short:"\u092E\u0908",june_short:"\u091C\u0942\u0928",july_short:"\u091C\u0941\u0932",august_short:"\u0905\u0917",september_short:"\u0938\u093F\u0924",october_short:"\u0905\u0915\u094D\u091F\u0942",november_short:"\u0928\u0935",december_short:"\u0926\u093F\u0938",sunday:"\u0930\u0935\u093F\u0935\u093E\u0930",monday:"\u0938\u094B\u092E\u0935\u093E\u0930",tuesday:"\u092E\u0902\u0917\u0932\u0935\u093E\u0930",wednesday:"\u092C\u0941\u0927\u0935\u093E\u0930",thursday:"\u0917\u0941\u0930\u0941\u0935\u093E\u0930",friday:"\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930",saturday:"\u0936\u0928\u093F\u0935\u093E\u0930",sunday_short:"\u0930\u0935\u093F",monday_short:"\u0938\u094B\u092E",tuesday_short:"\u092E\u0902\u0917\u0932",wednesday_short:"\u092C\u0941\u0927",thursday_short:"\u0917\u0941\u0930\u0941",friday_short:"\u0936\u0941\u0915\u094D\u0930",saturday_short:"\u0936\u0928\u093F",sunday_short_2:"\u0930",monday_short_2:"\u0938\u094B",tuesday_short_2:"\u092E\u0902",wednesday_short_2:"\u092C\u0941",thursday_short_2:"\u0917\u0941",friday_short_2:"\u0936\u0941",saturday_short_2:"\u0936",label_ok:"\u0920\u0940\u0915 \u0939\u0948",label_cancel:"\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",label_done:"\u0938\u092E\u093E\u092A\u094D\u0924",label_today:"\u0906\u091C",label_now:"\u0905\u092D\u0940",label_clear:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",label_help:"\u092E\u0926\u0926",label_yes:"\u0939\u093E\u0901",label_no:"\u0928\u0939\u0940\u0902",label_random:"\u092F\u093E\u0926\u0943\u091A\u094D\u091B\u093F\u0915",label_save:"\u0938\u0939\u0947\u091C\u0947\u0902",label_reset:"\u0930\u0940\u0938\u0947\u091F \u0915\u0930\u0947\u0902",label_submit:"\u091C\u092E\u093E \u0915\u0930\u0947\u0902",label_add_user_color:"\u0930\u0902\u0917\u094B\u0902 \u092E\u0947\u0902 \u091C\u094B\u0921\u093C\u0947\u0902",label_send:"\u092D\u0947\u091C\u0947\u0902",label_accept:"\u0938\u094D\u0935\u0940\u0915\u093E\u0930 \u0915\u0930\u0947\u0902",label_cookies_title:"\u092F\u0939 \u0938\u093E\u0907\u091F \u0915\u0941\u0915\u0940\u091C\u093C \u0915\u093E \u0909\u092A\u092F\u094B\u0917 \u0915\u0930\u0924\u0940 \u0939\u0948",label_cookies_text:"\u092F\u0939 \u0935\u0947\u092C\u0938\u093E\u0907\u091F \u092F\u0939 \u0938\u0941\u0928\u093F\u0936\u094D\u091A\u093F\u0924 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0915\u0941\u0915\u0940\u091C\u093C \u0915\u093E \u0909\u092A\u092F\u094B\u0917 \u0915\u0930\u0924\u0940 \u0939\u0948 \u0915\u093F \u0906\u092A\u0915\u094B \u0939\u092E\u093E\u0930\u0940 \u0935\u0947\u092C\u0938\u093E\u0907\u091F \u092A\u0930 \u0938\u092C\u0938\u0947 \u0905\u091A\u094D\u091B\u093E \u0905\u0928\u0941\u092D\u0935 \u092E\u093F\u0932\u0947\u0964",label_choose_file:"\u092B\u093C\u093E\u0907\u0932\u0947\u0902 \u091A\u0941\u0928\u0947\u0902",label_drop_file:"\u092F\u0939\u093E\u0902 \u0915\u094D\u0932\u093F\u0915 \u0915\u0930\u0947\u0902 \u092F\u093E \u092B\u093C\u093E\u0907\u0932\u0947\u0902 \u091B\u094B\u0921\u093C\u0947\u0902",label_files_selected:"{n} \u092B\u093C\u093E\u0907\u0932\u0947\u0902 \u091A\u0941\u0928\u0940 \u0917\u0908\u0902",label_days:"\u0926\u093F\u0928",label_hours:"\u0918\u0902\u091F\u0947",label_minutes:"\u092E\u093F\u0928\u091F",label_seconds:"\u0938\u0947\u0915\u0902\u0921",label_month:"\u092E\u0939\u0940\u0928\u093E",label_months:"\u092E\u0939\u0940\u0928\u0947",label_day:"\u0926\u093F\u0928",label_year:"\u0938\u093E\u0932",label_years:"\u0938\u093E\u0932",label_rows_count:"\u0926\u093F\u0916\u093E\u090F\u0902:",label_search:"\u0916\u094B\u091C\u0947\u0902:",label_table_info:"$1 \u0938\u0947 $2 \u0924\u0915 $3 \u092A\u094D\u0930\u0935\u093F\u0937\u094D\u091F\u093F\u092F\u093E\u0902 \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",label_prev:"\u092A\u093F\u091B\u0932\u093E",label_next:"\u0905\u0917\u0932\u093E",label_all:"\u0938\u092D\u0940",label_inspector:"\u0928\u093F\u0930\u0940\u0915\u094D\u0937\u0915",label_goto_page:"\u092A\u0943\u0937\u094D\u0920 \u092A\u0930 \u091C\u093E\u090F\u0902",label_enter_page:"\u092A\u0943\u0937\u094D\u0920 \u0926\u0930\u094D\u091C \u0915\u0930\u0947\u0902...",label_empty:"\u0926\u093F\u0916\u093E\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0915\u0941\u091B \u0928\u0939\u0940\u0902",label_user_colors:"\u0909\u092A\u092F\u094B\u0917\u0915\u0930\u094D\u0924\u093E \u0930\u0902\u0917",label_tiles:"\u091F\u093E\u0907\u0932\u094D\u0938",label_list:"\u0938\u0942\u091A\u0940",label_load_more:"\u0914\u0930 \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",label_buy:"\u0916\u0930\u0940\u0926\u0947\u0902",label_buy_now:"\u0905\u092D\u0940 \u0916\u0930\u0940\u0926\u0947\u0902",label_buy_today:"\u0906\u091C \u0916\u0930\u0940\u0926\u0947\u0902",label_download:"\u0921\u093E\u0909\u0928\u0932\u094B\u0921 \u0915\u0930\u0947\u0902",label_search_results:"\u0916\u094B\u091C \u092A\u0930\u093F\u0923\u093E\u092E",label_add:"\u091C\u094B\u0921\u093C\u0947\u0902",label_edit:"\u0938\u0902\u092A\u093E\u0926\u093F\u0924 \u0915\u0930\u0947\u0902",label_delete:"\u0939\u091F\u093E\u090F\u0902",label_new:"\u0928\u092F\u093E",label_sell:"\u092C\u0947\u091A\u0947\u0902",label_details:"\u0935\u093F\u0935\u0930\u0923",label_sorting:"\u091B\u0902\u091F\u093E\u0908",label_finish:"\u0938\u092E\u093E\u092A\u094D\u0924 \u0915\u0930\u0947\u0902",label_play:"\u091A\u0932\u093E\u090F\u0902",label_pause:"\u0930\u094B\u0915\u0947\u0902",label_stop:"\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",label_mute:"\u092E\u094D\u092F\u0942\u091F \u0915\u0930\u0947\u0902",label_loop:"\u0926\u094B\u0939\u0930\u093E\u090F\u0902",label_on:"\u091A\u093E\u0932\u0942",label_off:"\u092C\u0902\u0926",label_rename_tab:"\u091F\u0948\u092C \u0915\u093E \u0928\u093E\u092E \u092C\u0926\u0932\u0947\u0902",label_close_tab:"\u091F\u0948\u092C \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",label_close_other_tabs:"\u0905\u0928\u094D\u092F \u091F\u0948\u092C \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",label_close_tabs_left:"\u092C\u093E\u090F\u0902 \u091F\u0948\u092C \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",label_close_tabs_right:"\u0926\u093E\u090F\u0902 \u091F\u0948\u092C \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",label_close_all_tabs:"\u0938\u092D\u0940 \u091F\u0948\u092C \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",label_close_inactive_tabs:"\u0928\u093F\u0937\u094D\u0915\u094D\u0930\u093F\u092F \u091F\u0948\u092C \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",label_clear_input:"\u0907\u0928\u092A\u0941\u091F \u0938\u093E\u092B \u0915\u0930\u0947\u0902",label_reveal_password:"\u092A\u093E\u0938\u0935\u0930\u094D\u0921 \u0926\u093F\u0916\u093E\u090F\u0902",label_hide_password:"\u092A\u093E\u0938\u0935\u0930\u094D\u0921 \u091B\u093F\u092A\u093E\u090F\u0902",label_generate_random:"\u092F\u093E\u0926\u0943\u091A\u094D\u091B\u093F\u0915 \u092E\u093E\u0928 \u0909\u0924\u094D\u092A\u0928\u094D\u0928 \u0915\u0930\u0947\u0902",label_search_input:"\u0926\u0930\u094D\u091C \u0915\u093F\u090F \u0917\u090F \u092E\u093E\u0928 \u0915\u094B \u0916\u094B\u091C\u0947\u0902",label_note:"\u0928\u094B\u091F",label_tip:"\u0938\u0941\u091D\u093E\u0935",label_info:"\u091C\u093E\u0928\u0915\u093E\u0930\u0940",label_warning:"\u091A\u0947\u0924\u093E\u0935\u0928\u0940",label_question:"\u092A\u094D\u0930\u0936\u094D\u0928",label_error:"\u0924\u094D\u0930\u0941\u091F\u093F",label_success:"\u0938\u092B\u0932\u0924\u093E",label_caution:"\u0938\u093E\u0935\u0927\u093E\u0928\u0940",label_alert:"\u091A\u0947\u0924\u093E\u0935\u0928\u0940",label_bug:"\u092C\u0917",label_fuck:"\u0927\u0924\u094D\u0924",label_important:"\u092E\u0939\u0924\u094D\u0935\u092A\u0942\u0930\u094D\u0923",label_shit:"\u092C\u0915\u0935\u093E\u0938",label_air:"\u0939\u0935\u093E",label_select_all:"\u0938\u092D\u0940 \u0915\u093E \u091A\u092F\u0928 \u0915\u0930\u0947\u0902",label_select_more:"\u091A\u0941\u0928\u0947\u0902...",label_select:"\u091A\u0941\u0928\u0947\u0902",label_filter:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",label_collapse:"\u0938\u0902\u0915\u0941\u091A\u093F\u0924 \u0915\u0930\u0947\u0902",label_attach:"\u0938\u0902\u0932\u0917\u094D\u0928 \u0915\u0930\u0928\u093E"});Metro.i18n.add("pl",{weekStart:1,january:"Stycze\u0144",february:"Luty",march:"Marzec",april:"Kwiecie\u0144",may:"Maj",june:"Czerwiec",july:"Lipiec",august:"Sierpie\u0144",september:"Wrzesie\u0144",october:"Pa\u017Adziernik",november:"Listopad",december:"Grudzie\u0144",january_short:"Sty",february_short:"Lut",march_short:"Mar",april_short:"Kwi",may_short:"Maj",june_short:"Cze",july_short:"Lip",august_short:"Sie",september_short:"Wrz",october_short:"Pa\u017A",november_short:"Lis",december_short:"Gru",sunday:"Niedziela",monday:"Poniedzia\u0142ek",tuesday:"Wtorek",wednesday:"\u015Aroda",thursday:"Czwartek",friday:"Pi\u0105tek",saturday:"Sobota",sunday_short:"Nd",monday_short:"Pn",tuesday_short:"Wt",wednesday_short:"\u015Ar",thursday_short:"Czw",friday_short:"Pt",saturday_short:"Sob",sunday_short_2:"N",monday_short_2:"P",tuesday_short_2:"W",wednesday_short_2:"\u015A",thursday_short_2:"C",friday_short_2:"P",saturday_short_2:"S",label_ok:"OK",label_cancel:"Anuluj",label_done:"Gotowe",label_today:"Dzisiaj",label_now:"Teraz",label_clear:"Wyczy\u015B\u0107",label_help:"Pomoc",label_yes:"Tak",label_no:"Nie",label_random:"Losowy",label_save:"Zapisz",label_reset:"Resetuj",label_submit:"Wy\u015Blij",label_add_user_color:"Dodaj do kolor\xF3w",label_send:"Wy\u015Blij",label_accept:"Akceptuj",label_cookies_title:"Ta strona u\u017Cywa plik\xF3w cookie",label_cookies_text:"Ta strona u\u017Cywa plik\xF3w cookie, aby zapewni\u0107 najlepsze do\u015Bwiadczenie na naszej stronie.",label_choose_file:"Wybierz plik(i)",label_drop_file:"Kliknij lub upu\u015B\u0107 plik(i) tutaj",label_files_selected:"Wybrano {n} plik(\xF3w)",label_days:"dni",label_hours:"godziny",label_minutes:"minuty",label_seconds:"sekundy",label_month:"miesi\u0105c",label_months:"miesi\u0105ce",label_day:"dzie\u0144",label_year:"rok",label_years:"lata",label_rows_count:"Poka\u017C:",label_search:"Szukaj:",label_table_info:"Wy\u015Bwietlanie od $1 do $2 z $3 wpis\xF3w",label_prev:"Poprzedni",label_next:"Nast\u0119pny",label_all:"Wszystko",label_inspector:"Inspektor",label_goto_page:"Id\u017A do",label_enter_page:"Wpisz stron\u0119...",label_empty:"Brak danych do wy\u015Bwietlenia",label_user_colors:"Kolory u\u017Cytkownika",label_tiles:"Kafelki",label_list:"Lista",label_load_more:"Za\u0142aduj wi\u0119cej",label_buy:"Kup",label_buy_now:"Kup teraz",label_buy_today:"Kup dzisiaj",label_download:"Pobierz",label_search_results:"Wyniki wyszukiwania",label_add:"Dodaj",label_edit:"Edytuj",label_delete:"Usu\u0144",label_new:"Nowy",label_sell:"Sprzedaj",label_details:"Szczeg\xF3\u0142y",label_sorting:"Sortowanie",label_finish:"Zako\u0144cz",label_play:"Odtw\xF3rz",label_pause:"Pauza",label_stop:"Zatrzymaj",label_mute:"Wycisz",label_loop:"Zap\u0119tl",label_on:"w\u0142\u0105",label_off:"wy\u0142",label_rename_tab:"Zmie\u0144 nazw\u0119 karty",label_close_tab:"Zamknij kart\u0119",label_close_other_tabs:"Zamknij inne karty",label_close_tabs_left:"Zamknij karty po lewej",label_close_tabs_right:"Zamknij karty po prawej",label_close_all_tabs:"Zamknij wszystkie karty",label_close_inactive_tabs:"Zamknij nieaktywne karty",label_clear_input:"Wyczy\u015B\u0107 pole",label_reveal_password:"Poka\u017C has\u0142o",label_hide_password:"Ukryj has\u0142o",label_generate_random:"Wygeneruj losow\u0105 warto\u015B\u0107",label_search_input:"Szukaj wprowadzonej warto\u015Bci",label_note:"Notatka",label_tip:"Wskaz\xF3wka",label_info:"Informacja",label_warning:"Ostrze\u017Cenie",label_question:"Pytanie",label_error:"B\u0142\u0105d",label_success:"Sukces",label_caution:"Uwaga",label_alert:"Alarm",label_bug:"B\u0142\u0105d",label_fuck:"Cholera",label_important:"Wa\u017Cne",label_shit:"Kurka",label_air:"Powietrze",label_select_all:"Zaznacz wszystko",label_select_more:"Wybierz...",label_select:"Wybierz",label_filter:"Filtruj",label_collapse:"Zwi\u0144",label_attach:"Przytwierdza\u0107"});(()=>{"use strict";typeof Array.prototype.shuffle!="function"&&(Array.prototype.shuffle=function(){let e=this.length,r,l;for(;e!==0;)l=Math.floor(Math.random()*e),e-=1,r=this[e],this[e]=this[l],this[l]=r;return this}),typeof Array.prototype.clone!="function"&&(Array.prototype.clone=function(){return this.slice(0)}),typeof Array.prototype.unique!="function"&&(Array.prototype.unique=function(){let e=this.concat();for(let r=0;r<e.length;++r)for(let l=r+1;l<e.length;++l)e[r]===e[l]&&e.splice(l--,1);return e}),typeof Array.prototype.pack!="function"&&(Array.prototype.pack=function(){return this.filter(e=>e!=null&&`${e}`.trim()!=="")})})();Number.prototype.format=function(e,r=3,l=",",t="."){let o=`\\d(?=(\\d{${r||3}})+${e>0?"\\D":"$"})`,a=this.toFixed(Math.max(0,~~e));return(t?a.replace(".",t):a).replace(new RegExp(o,"g"),`$&${l||","}`)};(()=>{"use strict";String.prototype.toArray=function(e=",",r="string",l="",t="en",o=!1){let a=`${this}`.split(e).map(i=>{let s;switch(r){case"int":case"integer":s=isNaN(i)?i.trim():Number.parseInt(i);break;case"number":case"float":s=isNaN(i)?i:Number.parseFloat(i);break;case"date":s=l?Datetime.from(i,l,t):datetime(i);break;case"boolean":{switch(i){case!0:case"true":case 1:case"1":case"on":case"yes":case"+":s=!0;break;default:s=!1}break}default:s=i.trim()}return s});return o?a.pack():a}})();(e=>{"use strict";e.md5=r=>{function l(X,H){return X<<H|X>>>32-H}function t(X,H){let Y,M,Z;Y=X&2147483648,M=H&2147483648;let Q=X&1073741824,ot=H&1073741824;return Z=(X&1073741823)+(H&1073741823),Q&ot?Z^2147483648^Y^M:Q|ot?Z&1073741824?Z^3221225472^Y^M:Z^1073741824^Y^M:Z^Y^M}function o(X,H,Y){return X&H|~X&Y}function a(X,H,Y){return X&Y|H&~Y}function i(X,H,Y){return X^H^Y}function s(X,H,Y){return H^(X|~Y)}function c(X,H,Y,M,Z,Q,ot){let ut=t(X,t(t(o(H,Y,M),Z),ot));return t(l(ut,Q),H)}function p(X,H,Y,M,Z,Q,ot){let ut=t(X,t(t(a(H,Y,M),Z),ot));return t(l(ut,Q),H)}function d(X,H,Y,M,Z,Q,ot){let ut=t(X,t(t(i(H,Y,M),Z),ot));return t(l(ut,Q),H)}function m(X,H,Y,M,Z,Q,ot){let ut=t(X,t(t(s(H,Y,M),Z),ot));return t(l(ut,Q),H)}function h(X){let H,Y=X.length,M=Y+8,Q=((M-M%64)/64+1)*16,ot=Array(Q-1),ut=0,kt=0;for(;kt<Y;)H=(kt-kt%4)/4,ut=kt%4*8,ot[H]=ot[H]|X.charCodeAt(kt)<<ut,kt++;return H=(kt-kt%4)/4,ut=kt%4*8,ot[H]=ot[H]|128<<ut,ot[Q-2]=Y<<3,ot[Q-1]=Y>>>29,ot}function u(X){let H="",Y="",M,Z;for(Z=0;Z<=3;Z++)M=X>>>Z*8&255,Y=`0${M.toString(16)}`,H=H+Y.substr(Y.length-2,2);return H}function f(X){let H=X.replace(/\r\n/g,`
245`),Y="";for(let M=0;M<H.length;M++){let Z=H.charCodeAt(M);Z<128?Y+=String.fromCharCode(Z):Z>127&&Z<2048?(Y+=String.fromCharCode(Z>>6|192),Y+=String.fromCharCode(Z&63|128)):(Y+=String.fromCharCode(Z>>12|224),Y+=String.fromCharCode(Z>>6&63|128),Y+=String.fromCharCode(Z&63|128))}return Y}let b=[],x,v,z,C,y,k,w,S,_,j=7,I=12,R=17,J=22,L=5,et=9,nt=14,K=20,W=4,B=11,F=16,St=23,Et=6,lt=10,vt=15,jt=21,V=f(r);for(b=h(V),k=1732584193,w=4023233417,S=2562383102,_=271733878,x=0;x<b.length;x+=16)v=k,z=w,C=S,y=_,k=c(k,w,S,_,b[x],j,3614090360),_=c(_,k,w,S,b[x+1],I,3905402710),S=c(S,_,k,w,b[x+2],R,606105819),w=c(w,S,_,k,b[x+3],J,3250441966),k=c(k,w,S,_,b[x+4],j,4118548399),_=c(_,k,w,S,b[x+5],I,1200080426),S=c(S,_,k,w,b[x+6],R,2821735955),w=c(w,S,_,k,b[x+7],J,4249261313),k=c(k,w,S,_,b[x+8],j,1770035416),_=c(_,k,w,S,b[x+9],I,2336552879),S=c(S,_,k,w,b[x+10],R,4294925233),w=c(w,S,_,k,b[x+11],J,2304563134),k=c(k,w,S,_,b[x+12],j,1804603682),_=c(_,k,w,S,b[x+13],I,4254626195),S=c(S,_,k,w,b[x+14],R,2792965006),w=c(w,S,_,k,b[x+15],J,1236535329),k=p(k,w,S,_,b[x+1],L,4129170786),_=p(_,k,w,S,b[x+6],et,3225465664),S=p(S,_,k,w,b[x+11],nt,643717713),w=p(w,S,_,k,b[x],K,3921069994),k=p(k,w,S,_,b[x+5],L,3593408605),_=p(_,k,w,S,b[x+10],et,38016083),S=p(S,_,k,w,b[x+15],nt,3634488961),w=p(w,S,_,k,b[x+4],K,3889429448),k=p(k,w,S,_,b[x+9],L,568446438),_=p(_,k,w,S,b[x+14],et,3275163606),S=p(S,_,k,w,b[x+3],nt,4107603335),w=p(w,S,_,k,b[x+8],K,1163531501),k=p(k,w,S,_,b[x+13],L,2850285829),_=p(_,k,w,S,b[x+2],et,4243563512),S=p(S,_,k,w,b[x+7],nt,1735328473),w=p(w,S,_,k,b[x+12],K,2368359562),k=d(k,w,S,_,b[x+5],W,4294588738),_=d(_,k,w,S,b[x+8],B,2272392833),S=d(S,_,k,w,b[x+11],F,1839030562),w=d(w,S,_,k,b[x+14],St,4259657740),k=d(k,w,S,_,b[x+1],W,2763975236),_=d(_,k,w,S,b[x+4],B,1272893353),S=d(S,_,k,w,b[x+7],F,4139469664),w=d(w,S,_,k,b[x+10],St,3200236656),k=d(k,w,S,_,b[x+13],W,681279174),_=d(_,k,w,S,b[x],B,3936430074),S=d(S,_,k,w,b[x+3],F,3572445317),w=d(w,S,_,k,b[x+6],St,76029189),k=d(k,w,S,_,b[x+9],W,3654602809),_=d(_,k,w,S,b[x+12],B,3873151461),S=d(S,_,k,w,b[x+15],F,530742520),w=d(w,S,_,k,b[x+2],St,3299628645),k=m(k,w,S,_,b[x],Et,4096336452),_=m(_,k,w,S,b[x+7],lt,1126891415),S=m(S,_,k,w,b[x+14],vt,2878612391),w=m(w,S,_,k,b[x+5],jt,4237533241),k=m(k,w,S,_,b[x+12],Et,1700485571),_=m(_,k,w,S,b[x+3],lt,2399980690),S=m(S,_,k,w,b[x+10],vt,4293915773),w=m(w,S,_,k,b[x+1],jt,2240044497),k=m(k,w,S,_,b[x+8],Et,1873313359),_=m(_,k,w,S,b[x+15],lt,4264355552),S=m(S,_,k,w,b[x+6],vt,2734768916),w=m(w,S,_,k,b[x+13],jt,1309151649),k=m(k,w,S,_,b[x+4],Et,4149444226),_=m(_,k,w,S,b[x+11],lt,3174756917),S=m(S,_,k,w,b[x+2],vt,718787259),w=m(w,S,_,k,b[x+9],jt,3951481745),k=t(k,v),w=t(w,z),S=t(S,C),_=t(_,y);return(u(k)+u(w)+u(S)+u(_)).toLowerCase()}})(Metro);((e,r)=>{"use strict";e.utils={elementId:l=>`${l}-${new Date().getTime()}${r.random(1,1e3)}`,secondsToTime:l=>{let t=Math.floor(l%31536e3/86400),o=Math.floor(l%31536e3%86400/3600),a=Math.floor(l%31536e3%86400%3600/60),i=Math.round(l%31536e3%86400%3600%60);return{d:t,h:o,m:a,s:i}},secondsToFormattedString:l=>{let t=Number.parseInt(l,10),o=Math.floor(t/3600),a=Math.floor((t-o*3600)/60),i=t-o*3600-a*60;return[Str.lpad(o,"0",2),Str.lpad(a,"0",2),Str.lpad(i,"0",2)].join(":")},func:l=>new Function("a",l),exec:function(l,t,o){let a;if(l==null)return!1;let i=this.isFunc(l);i===!1&&(i=this.func(l));try{a=i.apply(o,t)}catch(s){if(a=null,globalThis.METRO_THROWS===!0)throw s}return a},embedUrl:l=>{let t=l;return t.indexOf("youtu.be")!==-1&&(t=`https://www.youtube.com/embed/${l.split("/").pop()}`),`<div class='embed-container'><iframe src='${t}'></iframe></div>`},isVisible:function(l){let t=r(l)[0];return this.getStyleOne(t,"display")!=="none"&&this.getStyleOne(t,"visibility")!=="hidden"&&t.offsetParent!==null},isUrl:l=>/^(\.\/|\.\.\/|ftp|http|https):\/\/(\w+:?\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@\-/]))?/.test(l),isTag:l=>/^<\/?[\w\s="/.':;#-/?]+>/gi.test(l),isEmbedObject:l=>{let t=["iframe","object","embed","video"],o=!1;return r.each(t,function(){(typeof l=="string"&&l.toLowerCase()===this||l.nodeType!==void 0&&l.tagName.toLowerCase()===this)&&(o=!0)}),o},isVideoUrl:l=>/youtu\.be|youtube|twitch|vimeo/gi.test(l),isDate:function(l,t,o="en-US"){let a;if(this.isDateObject(l))return!0;try{return a=t?Datetime.from(l,t,o):datetime(l),Datetime.isDatetime(a)}catch{return!1}},isDateObject:l=>typeof l=="object"&&l.getMonth!==void 0,isInt:l=>!isNaN(l)&&+l%1===0,isFloat:l=>!isNaN(l)&&+l%1!==0||/^\d*\.\d+$/.test(l),isFunc:function(l){return this.isType(l,"function")},isObject:function(l){return this.isType(l,"object")},isObject2:l=>typeof l=="object"&&!Array.isArray(l),isType:function(l,t="undefined"){if(!this.isValue(l))return!1;if(typeof l===t||`${t}`.toLowerCase()==="tag"&&this.isTag(l)||`${t}`.toLowerCase()==="url"&&this.isUrl(l)||`${t}`.toLowerCase()==="array"&&Array.isArray(l))return l;if(t!=="string"&&this.isTag(l)||this.isUrl(l))return!1;if(typeof window[l]===t)return window[l];if(typeof l=="string"&&l.indexOf(".")===-1||typeof l=="string"&&/[/\s([]+/gm.test(l)||typeof l=="number"&&t.toLowerCase()!=="number")return!1;let o=l.split("."),a,i=window;for(a=0;a<o.length;a++)i=i[o[a]];return typeof i===t?i:!1},$:()=>globalThis.useJQuery?globalThis.jQuery:Dom,isMetroObject:(l,t)=>{let o=r(l),a=e.getPlugin(l,t);return o.length===0?(console.warn(`${t} ${l} not found!`),!1):a===void 0?(console.warn(`Element not contain role ${t}! Please add attribute data-role="${t}" to element ${l}`),!1):!0},isJQuery:l=>typeof globalThis.jQuery<"u"&&l instanceof globalThis.jQuery,isDom:l=>typeof Dom<"u"&&l instanceof Dom,isQ:function(l){return this.isJQuery(l)||this.isDom(l)},isOutsider:function(l){let t=r(l),o=t.clone();o.removeAttr("data-role").css({visibility:"hidden",position:"absolute",display:"block"}),t.parent().append(o);let a=this.inViewport(o[0]);return o.remove(),!a},inViewport:function(l){let t=this.rect(l);return t.top>=0&&t.left>=0&&t.bottom<=(globalThis.innerHeight||document.documentElement.clientHeight)&&t.right<=(globalThis.innerWidth||document.documentElement.clientWidth)},viewportOutByWidth:function(l){let t=this.rect(l),o=globalThis.innerWidth||document.documentElement.clientWidth;return t.right>o},viewportOutByHeight:function(l){let t=this.rect(l),o=globalThis.innerHeight||document.documentElement.clientHeight;return t.bottom>o},viewportOut:function(l){return this.viewportOutByWidth(l)||this.viewportOutByHeight(l)},rect:l=>l.getBoundingClientRect(),getCursorPosition:function(l,t){let o=this.rect(l);return{x:this.pageXY(t).x-o.left-globalThis.scrollX,y:this.pageXY(t).y-o.top-globalThis.scrollY}},getCursorPositionX:function(l,t){return this.getCursorPosition(l,t).x},getCursorPositionY:function(l,t){return this.getCursorPosition(l,t).y},objectLength:l=>Object.keys(l).length,percent:(l,t,o)=>{if(l===0)return 0;let a=t*100/l;return o===!0?Math.round(a):Math.round(a*100)/100},objectShift:l=>{let t=0;return r.each(l,o=>{(t===0||t>o)&&(t=o)}),delete l[t],l},objectDelete:(l,t)=>{t in l&&delete l[t]},arrayDeleteByMultipleKeys:(l,t)=>{for(let o of t)delete l[o];return l.filter(o=>o!==void 0)},arrayDelete:(l,t)=>{let o=l.indexOf(t);o>-1&&l.splice(o,1)},arrayDeleteByKey:(l,t)=>{l.splice(t,1)},nvl:(l,t)=>l??t,objectClone:l=>{let t={};for(let o in l)r.hasProp(l,o)&&(t[o]=l[o]);return t},github:async function(l,t){let o=await fetch(`https://api.github.com/repos/${l}`);if(!o.ok)return;let a=await o.json();this.exec(t,[a])},pageHeight:()=>{let l=document.body,t=document.documentElement;return Math.max(l.scrollHeight,l.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight)},cleanPreCode:l=>{let t=Array.prototype.slice.call(document.querySelectorAll(l),0);for(let o of t){let a=o.textContent.replace(/^[\r\n]+/,"").replace(/\s+$/g,"");if(/^\S/gm.test(a)){o.textContent=a;continue}let i,s="",c=/^[\t ]+/gm,p,d=1e3;for(;i=c.exec(a);)p=i[0].length,p<d&&(d=p,s=i[0]);d!==1e3&&(o.textContent=a.replace(new RegExp(`^${s}`,"gm"),"").trim())}},coords:l=>{let o=r(l)[0].getBoundingClientRect();return{top:o.top+globalThis.pageYOffset,left:o.left+globalThis.pageXOffset}},positionXY:function(l,t,o){switch(t){case"client":return this.clientXY(l,o);case"screen":return this.screenXY(l,o);case"page":return this.pageXY(l,o);default:return{x:0,y:0}}},clientXY:(l,t="touches")=>({x:l[t]?l[t][0].clientX:l.clientX,y:l[t]?l[t][0].clientY:l.clientY}),screenXY:(l,t="touches")=>({x:l[t]?l[t][0].screenX:l.screenX,y:l[t]?l[t][0].screenY:l.screenY}),pageXY:(l,t="touches")=>({x:l[t]?l[t][0].pageX:l.pageX,y:l[t]?l[t][0].pageY:l.pageY}),isRightMouse:l=>"which"in l?l.which===3:"button"in l?l.button===2:void 0,hiddenElementSize:(l,t=!1)=>{let o=r(l).clone(!0);o.removeAttr("data-role").css({visibility:"hidden",position:"absolute",display:"block"}),r("body").append(o);let a=o.outerWidth(t),i=o.outerHeight(t);return o.remove(),{width:a,height:i}},getStyle:l=>{let t=r(l)[0];return globalThis.getComputedStyle(t)},getStyleOne:function(l,t){return this.getStyle(l).getPropertyValue(t)},getInlineStyles:l=>{let t,o,a={},i=r(l)[0];for(t=0,o=i.style.length;t<o;t++){let s=i.style[t];a[s]=i.style[s]}return a},encodeURI:l=>encodeURI(l).replace(/%5B/g,"[").replace(/%5D/g,"]"),updateURIParameter:(l,t,o)=>{let a=new RegExp(`([?&])${t}=.*?(&|$)`,"i"),i=l.indexOf("?")!==-1?"&":"?";return l.match(a)?l.replace(a,`$1${t}=${o}$2`):`${l+i+t}=${o}`},getURIParameter:(l=globalThis.location.href,t="")=>{let o=t.replace(/[[\]]/g,"\\$&"),i=new RegExp(`[?&]${o}(=([^&#]*)|&|#|$)`).exec(l);return i?i[2]?decodeURIComponent(i[2].replace(/\+/g," ")):"":null},getLocales:()=>Object.keys(e.locales),addLocale:l=>{e.locales=r.extend({},e.locales,l)},aspectRatioH:(l,t)=>{if(t==="16/9")return l*9/16;if(t==="21/9")return l*9/21;if(t==="4/3")return l*3/4},aspectRatioW:(l,t)=>{if(t==="16/9")return l*16/9;if(t==="21/9")return l*21/9;if(t==="4/3")return l*4/3},valueInObject:(l,t)=>Object.values(l).indexOf(t)>-1,keyInObject:(l,t)=>Object.keys(l).indexOf(t)>-1,inObject:(l,t,o)=>l[t]!==void 0&&l[t]===o,newCssSheet:l=>{let t=document.createElement("style");return l!==void 0&&t.setAttribute("media",l),t.appendChild(document.createTextNode("")),document.head.appendChild(t),t.sheet},addCssRule:(l,t,o,a)=>{l.insertRule(`${t}{${o}}`,a)},media:l=>globalThis.matchMedia(l).matches,mediaModes:()=>globalThis.METRO_MEDIA,mediaExist:l=>globalThis.METRO_MEDIA.indexOf(l)>-1,inMedia:l=>globalThis.METRO_MEDIA.indexOf(l)>-1&&globalThis.METRO_MEDIA.indexOf(l)===globalThis.METRO_MEDIA.length-1,isValue:l=>l!=null&&l!=="",isNull:l=>l==null,isNegative:l=>Number.parseFloat(l)<0,isPositive:l=>Number.parseFloat(l)>0,isZero:l=>Number.parseFloat(l.toFixed(2))===0,between:(l,t,o,a)=>a===!0?l>=t&&l<=o:l>t&&l<o,parseMoney:l=>Number(Number.parseFloat(l.replace(/[^0-9-.]/g,""))),parseCard:l=>l.replace(/[^0-9]/g,""),parsePhone:l=>l.replace(/[^0-9+]/g,""),parseNumber:(l,t,o)=>l.replace(new RegExp(`\\${t}`,"g"),"").replace(new RegExp(`\\${o}`,"g"),"."),nearest:(l,t,o)=>{let a=l/t;return a=Math[o===!0?"floor":"ceil"](a)*t,a},bool:l=>{let t;switch(l){case!0:case"true":case 1:case"1":case"on":case"yes":case"+":t=!0;break;default:t=!1}return t},decCount:l=>l%1===0?0:l.toString().split(".")[1].length,classNames:(...l)=>{let t=[];for(let o of l)if(o)if(typeof o=="string")t.push(o);else if(e.utils.isObject(o))for(let a in o)o[a]&&t.push(a);else e.utils.nothing();return t.join(" ")},join:(...l)=>{let t=l.pop(),o=[];for(let a of l)a&&o.push(e.utils.isObject(a)?Object.values(a)[0]:a);return o.join(t)},copy2clipboard:(l,t)=>{navigator.clipboard.writeText(l).then(()=>{e.utils.exec(t,[l])})},getCssVar:l=>{let t=document.documentElement;return getComputedStyle(t).getPropertyValue(l)},scrollTo:(l,t)=>{(typeof l=="string"?r(l)[0]:l).scrollIntoView({...t,behavior:"smooth",block:"start"})},getInnerSize:l=>{let t=r(l)[0];if(!t)return{width:0,height:0};let o=getComputedStyle(t),a=t.clientWidth-parseFloat(o.paddingLeft)-parseFloat(o.paddingRight),i=t.clientHeight-parseFloat(o.paddingTop)-parseFloat(o.paddingBottom);return{width:a,height:i}},clamp:(l,t,o)=>o>0?Math.min(Math.max(l,t),o):Math.max(l,t)}})(Metro,Dom);((e,r)=>{"use strict";let l={duration:300,ease:"linear"};e.Effects={switchIn:t=>{r(t).hide().css({left:0,top:0}).show()},switchOut:t=>{r(t).hide()},switch:function(t,o){this.switchOut(t),this.switchIn(o)},slideUpIn:(t,o)=>{let a=r(t),i=a.parent().outerHeight(!0),s=r.extend({},l,o);a.css({top:i,left:0,zIndex:2}).animate({draw:{top:0,opacity:1},dur:s.duration,ease:s.ease})},slideUpOut:(t,o)=>{let a=r(t),i=a.parent().outerHeight(!0),s=r.extend({},l,o);a.css({zIndex:1}).animate({draw:{top:-i,opacity:0},dur:s.duration,ease:s.ease})},slideUp:function(t,o,a){this.slideUpOut(t,a),this.slideUpIn(o,a)},slideDownIn:(t,o)=>{let a=r(t),i=a.parent().outerHeight(!0),s=r.extend({},l,o);a.css({left:0,top:-i,zIndex:2}).animate({draw:{top:0,opacity:1},dur:s.duration,ease:s.ease})},slideDownOut:(t,o)=>{let a=r(t),i=a.parent().outerHeight(!0),s=r.extend({},l,o);a.css({zIndex:1}).animate({draw:{top:i,opacity:0},dur:s.duration,ease:s.ease})},slideDown:function(t,o,a){this.slideDownOut(t,a),this.slideDownIn(o,a)},slideLeftIn:(t,o)=>{let a=r(t),i=a.parent().outerWidth(!0),s=r.extend({},l,o);a.css({left:i,zIndex:2}).animate({draw:{left:0,opacity:1},dur:s.duration,ease:s.ease})},slideLeftOut:(t,o)=>{let a=r(t),i=a.parent().outerWidth(!0),s=r.extend({},l,o);a.css({zIndex:1}).animate({draw:{left:-i,opacity:0},dur:s.duration,ease:s.ease})},slideLeft:function(t,o,a){this.slideLeftOut(t,a),this.slideLeftIn(o,a)},slideRightIn:(t,o)=>{let a=r(t),i=a.parent().outerWidth(!0),s=r.extend({},l,o);a.css({left:-i,zIndex:2}).animate({draw:{left:0,opacity:1},dur:s.duration,ease:s.ease})},slideRightOut:(t,o)=>{let a=r(t),i=a.parent().outerWidth(!0),s=r.extend({},l,o);a.css({zIndex:1}).animate({draw:{left:i,opacity:0},dur:s.duration,ease:s.ease})},slideRight:function(t,o,a){this.slideRightOut(t,a),this.slideRightIn(o,a)},fadeIn:(t,o)=>{let a=r.extend({},l,o);r(t).css({top:0,left:0,opacity:0}).animate({draw:{opacity:1},dur:a.duration,ease:a.ease})},fadeOut:(t,o)=>{let a=r.extend({},l,o);r(t).animate({draw:{opacity:0},dur:a.duration,ease:a.ease})},fade:function(t,o,a){this.fadeOut(t,a),this.fadeIn(o,a)},zoomIn:(t,o)=>{let a=r.extend({},l,o);r(t).css({top:0,left:0,opacity:0,transform:"scale(3)",zIndex:2}).animate({draw:{scale:1,opacity:1},dur:a.duration,ease:a.ease})},zoomOut:(t,o)=>{let a=r.extend({},l,o);r(t).css({zIndex:1}).animate({draw:{scale:3,opacity:0},dur:a.duration,ease:a.ease})},zoom:function(t,o,a){this.zoomOut(t,a),this.zoomIn(o,a)},swirlIn:(t,o)=>{let a=r.extend({},l,o);r(t).css({top:0,left:0,opacity:0,transform:"scale(3) rotate(180deg)",zIndex:2}).animate({draw:{scale:1,rotate:0,opacity:1},dur:a.duration,ease:a.ease})},swirlOut:(t,o)=>{let a=r.extend({},l,o);r(t).css({zIndex:1}).animate({draw:{scale:3,rotate:"180deg",opacity:0},dur:a.duration,ease:a.ease})},swirl:function(t,o,a){this.swirlOut(t,a),this.swirlIn(o,a)}}})(Metro,Dom);((e,r)=>{"use strict";let l={accordionDeferred:0,showMarker:!0,material:!1,duration:100,oneFrame:!0,showActive:!0,clsFrame:"",clsHeading:"",clsContent:"",clsAccordion:"",clsActiveFrame:"",clsActiveFrameHeading:"",clsActiveFrameContent:"",onFrameOpen:e.noop,onFrameBeforeOpen:e.noop_true,onFrameClose:e.noop,onFrameBeforeClose:e.noop_true,onAccordionCreate:e.noop};e.accordionSetup=t=>{l=r.extend({},l,t)},typeof globalThis.metroAccordionSetup<"u"&&e.accordionSetup(globalThis.metroAccordionSetup),e.Component("accordion",{init:function(t,o){return this._super(o,t,l),this},_create:function(){let t=this.element;this._createStructure(),this._createEvents(),this._fireEvent("accordionCreate",{element:t})},_createStructure:function(){let t=this,o=this.element,a=this.options,i=o.children(".frame"),s=o.children(".frame.active"),c;o.id()||o.id(Hooks.useId("accordion")),o.addClass("accordion").addClass(a.clsAccordion),i.addClass(a.clsFrame).each(function(){let p=r(this),d=p.children(".heading"),m=p.children(".content"),h=Hooks.useId("accordion-heading"),u=Hooks.useId("accordion-content");d.attr({id:h,role:"button","aria-expanded":p.hasClass("active")?"true":"false","aria-controls":u,tabindex:"0"}),m.attr({id:u,role:"region","aria-labelledby":h}),d.addClass(a.clsHeading),m.addClass(a.clsContent)}),a.showMarker===!0&&o.addClass("marker-on"),a.material===!0&&o.addClass("material"),s.length===0?c=i[0]:c=s[0],this._hideAll(),a.showActive===!0&&(a.oneFrame===!0?this._openFrame(c):r.each(s,function(){t._openFrame(this)}))},_createEvents:function(){let t=this,o=this.element,a=this.options,i=o.children(".frame.active");o.on("keydown",".heading",function(s){let c=r(this),p=c.parent();if(c.closest(".accordion")[0]!==o[0])return!1;if((s.keyCode===13||s.keyCode===32)&&(s.preventDefault(),p.hasClass("active")?i.length===1&&a.oneFrame||t._closeFrame(p):t._openFrame(p)),s.keyCode===38||s.keyCode===40){s.preventDefault();let d=o.children(".frame"),m=d.index(p),h;s.keyCode===38?h=(m-1+d.length)%d.length:h=(m+1)%d.length,d.eq(h).children(".heading").focus()}}),o.on(e.events.click,".heading",function(){let s=r(this),c=s.parent();if(s.closest(".accordion")[0]!==o[0])return!1;c.hasClass("active")?i.length===1&&a.oneFrame||t._closeFrame(c):t._openFrame(c)})},_openFrame:function(t){let o=this.element,a=this.options,i=r(t);if(e.utils.exec(a.onFrameBeforeOpen,[i[0]],o[0])===!1)return!1;a.oneFrame===!0&&this._closeAll(i[0]),i.addClass("active").addClass(a.clsActiveFrame),i.children(".heading").addClass(a.clsActiveFrameHeading),i.children(".content").addClass(a.clsActiveFrameContent).slideDown(a.duration),this._fireEvent("frameOpen",{frame:i[0]})},_closeFrame:function(t){let o=this.element,a=this.options,i=r(t);i.hasClass("active")&&e.utils.exec(a.onFrameBeforeClose,[i[0]],o[0])!==!1&&(i.removeClass("active").removeClass(a.clsActiveFrame),i.children(".heading").removeClass(a.clsActiveFrameHeading),i.children(".content").removeClass(a.clsActiveFrameContent).slideUp(a.duration),this._fireEvent("frameClose",{frame:i[0]}))},_closeAll:function(t){let o=this,i=this.element.children(".frame");r.each(i,function(){t!==this&&o._closeFrame(this)})},_hideAll:function(){let o=this.element.children(".frame");r.each(o,function(){r(this).children(".content").hide()})},_openAll:function(){let t=this,a=this.element.children(".frame");r.each(a,function(){t._openFrame(this)})},open:function(t){let o=this.element.children(".frame").eq(t);this._openFrame(o)},close:function(t){let o=this.element.children(".frame").eq(t);this._closeFrame(o)},toggle:function(t){let o=this.element.children(".frame").eq(t);o.hasClass("active")?this._closeFrame(o):this._openFrame(o)},getActive:function(){let o=this.element.children(".frame"),a=[];return o.each(function(i){r(this).hasClass("active")&&a.push(i)}),a},changeAttribute:(t,o)=>{},destroy:function(){let t=this.element;return t.off(e.events.click,".heading"),t}})})(Metro,Dom);((e,r)=>{"use strict";let l={onClick:e.noop,onActionClick:e.noop,onActionButtonCreate:e.noop};e.actionButtonSetup=t=>{l=r.extend({},l,t)},typeof globalThis.metroActionButtonSetup<"u"&&e.actionButtonSetup(globalThis.metroActionButtonSetup),e.Component("action-button",{init:function(t,o){return this._super(o,t,l,{}),this},_create:function(){this._createStructure(),this._createEvents(),this._fireEvent("action-button-create")},_createStructure:function(){let t=this.element,o=t.find(".actions li, .actions button");t.addClass("action-button"),t.cssVar("num-actions",o.length),o.length>8&&t.cssVar("action-shift",`${60+(o.length-8)*6}px`),o.each(function(a){r(this).cssVar("action-index",a).addClass("sub-action")}),t.children("button").addClass("main-action")},_createEvents:function(){let t=this,o=this.element;o.on(e.events.click,".actions li, .actions button",function(a){t._fireEvent("action-click",{action:this})}),o.on(e.events.click,".main-action",function(a){a.preventDefault(),a.stopPropagation(),r(this).toggleClass("active")})},changeAttribute:(t,o)=>{},destroy:function(){this.element.remove()}}),r(document).on("click",t=>{r("[data-role-actionbutton]").each((o,a)=>{r(a).children("button").removeClass("active")})})})(Metro,Dom);((e,r)=>{"use strict";let l={dialogDeferred:0,closeButton:!1,leaveOverlayOnClose:!1,toTop:!1,toBottom:!1,title:"",content:"",customButtons:null,actionsAlign:"right",defaultActions:!0,defaultActionButtons:"ok,cancel,help",overlay:!0,overlayColor:"#000000",overlayAlpha:.5,overlayClickClose:!1,width:"auto",height:"auto",closeAction:!0,clsDialog:"",clsTitle:"",clsContent:"",clsAction:"",clsDefaultAction:"",clsOverlay:"",autoHide:0,removeOnClose:!1,show:!1,_runtime:!1,onOk:e.noop,onCancel:e.noop,onHelp:e.noop,onShow:e.noop,onHide:e.noop,onOpen:e.noop,onClose:e.noop,onDialogCreate:e.noop};e.dialogSetup=t=>{l=r.extend({},l,t)},typeof globalThis.metroDialogSetup<"u"&&e.dialogSetup(globalThis.metroDialogSetup),e.Component("dialog",{_counter:0,init:function(t,o){return this._super(o,t,l,{interval:null,overlay:null,id:null}),this},_create:function(){this._build()},_build:function(){let t=this,o=this.element,a=this.options,i=this.strings,s=r("body"),c;if(this.id=Hooks.useId(this.elem),o.addClass("dialog"),a.title!==""&&this.setTitle(a.title),a.content!==""&&this.setContent(a.content),a.defaultActions===!0||a.customButtons){let d=o.find(".dialog-actions"),m;if(d.length===0&&(d=r("<div>").addClass("dialog-actions").addClass(`text-${a.actionsAlign}`).appendTo(o)),a.defaultActions===!0&&o.find(".dialog-actions > *").length===0)for(let u of a.defaultActionButtons.toArray(","))m=r("<button>").addClass(u!=="help"?"js-dialog-close":"").addClass(a.clsDefaultAction).html(i[`label_${u}`]),m.appendTo(d),u==="ok"&&m.on(e.events.click,()=>{e.utils.exec(a.onOk,[o])}),u==="help"&&m.on(e.events.click,()=>{e.utils.exec(a.onHelp,[o])}),u==="cancel"&&m.on(e.events.click,()=>{e.utils.exec(a.onCancel,[o])});let h=e.utils.isObject(a.customButtons);Array.isArray(h)&&r.each(h,function(){let u=r("<button>").addClass("button").addClass(this.cls).html(this.text||this.html||"");t._setAttributes(u,this.attr),this.onclick&&u.on(e.events.click,f=>{e.utils.isRightMouse(f)||e.utils.exec(this.onclick,[u[0],o[0]])}),u.appendTo(d)})}a.overlay===!0&&(c=this._overlay(),this.overlay=c),a.closeAction===!0&&o.on(e.events.click,".js-dialog-close",()=>{this.close()});let p=o.find("closer");p.length===0&&(p=r("<span>").addClass("closer js-dialog-close"),p.appendTo(o)),a.closeButton!==!0&&p.hide(),o.css({height:a.height,visibility:"hidden",top:"100%"}),a.width!=="auto"&&o.css({width:a.width}),o.addClass(a.clsDialog),o.find(".dialog-title").addClass(a.clsTitle),o.find(".dialog-content").addClass(a.clsContent),o.find(".dialog-actions").addClass(a.clsAction),o.appendTo(s),a.show&&this.open(),r(globalThis).on(e.events.resize,()=>{this.setPosition()},{ns:this.id}),this._fireEvent("dialog-create",{element:o})},_overlay:function(){let t=this.options,o=r("<div>");return o.addClass("overlay").addClass(t.clsOverlay),t.overlayColor==="transparent"?o.addClass("transparent"):o.css({background:Farbe.Routines.toRGBA(Farbe.Routines.parse(t.overlayColor),t.overlayAlpha)}),o},hide:function(t){let o=this.element,a=this.options,i=0;a.onHide!==e.noop&&(i=500,this._fireEvent("hide")),setTimeout(()=>{e.utils.exec(t,null,o[0]),o.css({visibility:"hidden",top:"100%"})},i)},show:function(t){let o=this.element;this.setPosition(),o.css({visibility:"visible"}),this._fireEvent("show"),e.utils.exec(t,null,o[0])},setPosition:function(){let t=this.element,o=this.options,a,i;o.toTop!==!0&&o.toBottom!==!0?(a=(r(globalThis).height()-t.outerHeight())/2,a<0&&(a=0),i="auto"):(o.toTop===!0&&(a=0,i="auto"),o.toTop!==!0&&o.toBottom===!0&&(i=0,a="auto")),t.css({top:a,bottom:i,left:(r(globalThis).width()-t.outerWidth())/2})},setContent:function(t){let o=this.element,a=o.find(".dialog-content");a.length===0&&(a=r("<div>").addClass("dialog-content"),a.appendTo(o)),e.utils.isQ(t)?t.appendTo(a):e.utils.isFunc(t)?a.html(e.utils.exec(t)):a.html(t)},setTitle:function(t){let o=this.element,a=o.find(".dialog-title");a.length===0&&(a=r("<div>").addClass("dialog-title"),a.appendTo(o)),a.html(t)},close:function(){let t=this.element,o=this.options;e.utils.bool(o.leaveOverlayOnClose)||r("body").find(".overlay").remove(),this.hide(()=>{t.data("open",!1),this._fireEvent("close"),o.removeOnClose===!0&&t.remove()})},open:function(){let t=this.element,o=this.options;o.overlay===!0&&r(".overlay").length===0&&(this.overlay.appendTo(r("body")),o.overlayClickClose===!0&&this.overlay.on(e.events.click,()=>{this.close()})),this.show(()=>{this._fireEvent("open"),t.data("open",!0),Number.parseInt(o.autoHide)>0&&setTimeout(()=>{this.close()},Number.parseInt(o.autoHide))})},toggle:function(){this.element.data("open")?this.close():this.open()},isOpen:function(){return this.element.data("open")===!0},changeAttribute:(t,o)=>{},destroy:function(){let t=this.element;t.off(e.events.click,".js-dialog-close"),t.find(".button").off(e.events.click),r(globalThis).off(e.events.resize,{ns:this.id}),t.remove()}}),e.dialog={isDialog:t=>e.utils.isMetroObject(t,"dialog"),open:function(t,o,a){if(!this.isDialog(t))return!1;let i=e.getPlugin(t,"dialog");a&&i.setTitle(a),o&&i.setContent(o),i.open()},close:function(t){if(!this.isDialog(t))return!1;e.getPlugin(r(t)[0],"dialog").close()},toggle:function(t){if(!this.isDialog(t))return!1;e.getPlugin(r(t)[0],"dialog").toggle()},isOpen:function(t){if(!this.isDialog(t))return!1;e.getPlugin(r(t)[0],"dialog").isOpen()},remove:function(t){if(!this.isDialog(t))return!1;let o=e.getPlugin(r(t)[0],"dialog");o.options.removeOnClose=!0,o.close()},create:t=>{let o=r("<div>").appendTo(r("body")),a=r.extend({},{show:!0,closeAction:!0,removeOnClose:!0},t||{});return a._runtime=!0,e.makePlugin(o,"dialog",a).element}}})(Metro,Dom);((e,r)=>{"use strict";let l={activityDeferred:0,type:"ring",style:"",size:32,boxSize:10,radius:20,onActivityCreate:e.noop};e.activitySetup=t=>{l=r.extend({},l,t)},typeof globalThis.metroActivitySetup<"u"&&e.activitySetup(globalThis.metroActivitySetup),e.Component("activity",{init:function(t,o){return this._super(o,t,l),this},_create:function(){let t=this.element,o=this.options,a,i;t.html("").addClass(o.style==="dark"?"dark-side":o.style==="color"?"color-style":"").addClass(`activity-${o.type}`),o.size&&["ring","square","cycle","simple","atom","bars"].includes(o.type)&&t.cssVar("activity-size",`${o.size}px`),o.boxSize&&["metro"].includes(o.type)&&t.cssVar("activity-box-size",`${o.boxSize}px`);function s(){for(a=0;a<5;a++)r("<div/>").addClass("circle").appendTo(t)}function c(){for(a=0;a<4;a++)r("<div/>").addClass("square").appendTo(t)}function p(){r("<div/>").addClass("cycle").appendTo(t)}function d(){for(a=0;a<5;a++)i=r("<div/>").addClass("wrap").appendTo(t),r("<div/>").addClass("circle").appendTo(i)}function m(){r(`
246 <svg class="circular">
247 <circle class="path"

Callers

nothing calls this directly

Calls 2

nowMethod · 0.45
onMethod · 0.45

Tested by

no test coverage detected