@fugood/bricks-cli 2.25.0-beta.62 → 2.25.0-beta.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/274.js CHANGED
@@ -1,10 +1,10 @@
1
- export const __rspack_esm_id=274;export const __rspack_esm_ids=[274];export const __webpack_modules__={79491(e){e.exports=import("oxfmt").then(function(e){return e})},2985(e,r,a){a.d(r,{Re:()=>y,m4:()=>b});var t,i=a(99436),o=a(51455),n=a(76760),s=["title","update_timestamp"],l=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),c=e=>void 0===e||"function"==typeof e||"symbol"==typeof e,d=e=>"number"!=typeof e||Number.isFinite(e)?e:null,u=e=>{if(!c(e))return Array.isArray(e)?e.map(e=>c(e)?null:u(e)):l(e)?Object.entries(e).reduce((e,[r,a])=>(c(a)||(e[r]=u(a)),e),{}):d(e)},p=(e,r)=>Object.prototype.hasOwnProperty.call(e,r)&&!c(e[r]),m=(e,r)=>{var a=e[r];return c(a)?null:a},h=(e,r)=>{if((e=d(e))===(r=d(r)))return!0;if(Array.isArray(e)&&Array.isArray(r)){if(e.length!==r.length)return!1;for(var a=0;a<e.length;a+=1)if(!h(m(e,a),m(r,a)))return!1;return!0}if(l(e)&&l(r)){var t=0;for(var i of Object.keys(e))if(!c(e[i])&&(t+=1,!p(r,i)||!h(e[i],r[i])))return!1;var o=0;for(var n of Object.keys(r))c(r[n])||(o+=1);return t===o}return!1},f=e=>{if(!l(e))return e;var r={...e};for(var a of s)delete r[a];return r},g=(e,r,a,t)=>{if(!h(e,r)){if(l(e)&&l(r)){for(var i of new Set([...Object.keys(e),...Object.keys(r)])){var o=p(e,i),n=p(r,i);if(o||n){var s=[...a,i];n?o?g(e[i],r[i],s,t):t.push({op:"set",path:s,value:u(r[i])}):t.push({op:"unset",path:s})}}return}if(Array.isArray(e)&&Array.isArray(r)&&e.length===r.length){for(var c=0;c<r.length;c+=1)g(m(e,c),m(r,c),[...a,c],t);return}t.push({op:"set",path:a,value:u(r)})}},b=(e,r)=>{if(null==e)return{status:"no_baseline"};if(null==r)return{status:"unavailable"};var a=[];return g(f(e),f(r),[],a),{status:"ok",ops:a,opCount:a.length}},y=(t=i(function*(e){try{return JSON.parse((yield(0,o.readFile)(n.join(e,".bricks/build/application-config.json"),"utf8")))}catch{return null}}),function(e){return t.apply(this,arguments)})},3540(e,r,a){a.d(r,{S:()=>u,a:()=>d});var t,i,o=a(99436),n=a(51455),s=a(76760),l=".bricks/edits.jsonl",c=(t=o(function*(e){var r=s.join(e,".gitignore"),a=yield(0,n.readFile)(r,"utf8").catch(e=>{if(e?.code==="ENOENT")return"";throw e});if(!a.split(/\r?\n/).map(e=>e.trim()).some(e=>e===l||".bricks/"===e||".bricks"===e)){var t=a&&!a.endsWith("\n")?"\n":"";yield(0,n.writeFile)(r,`${a}${t}
1
+ export const __rspack_esm_id=274;export const __rspack_esm_ids=[274];export const __webpack_modules__={79491(e){e.exports=import("oxfmt").then(function(e){return e})},48875(e,r){let a=["title","update_timestamp"],t=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),i=e=>void 0===e||"function"==typeof e||"symbol"==typeof e,o=e=>"number"!=typeof e||Number.isFinite(e)?e:null,n=e=>{if(!i(e))return Array.isArray(e)?e.map(e=>i(e)?null:n(e)):t(e)?Object.entries(e).reduce((e,[r,a])=>(i(a)||(e[r]=n(a)),e),{}):o(e)},s=(e,r)=>Object.prototype.hasOwnProperty.call(e,r)&&!i(e[r]),l=(e,r)=>{let a=e[r];return i(a)?null:a},c=(e,r)=>{if((e=o(e))===(r=o(r)))return!0;if(Array.isArray(e)&&Array.isArray(r)){if(e.length!==r.length)return!1;for(let a=0;a<e.length;a+=1)if(!c(l(e,a),l(r,a)))return!1;return!0}if(t(e)&&t(r)){let a=0;for(let t of Object.keys(e))if(!i(e[t])&&(a+=1,!s(r,t)||!c(e[t],r[t])))return!1;let t=0;for(let e of Object.keys(r))i(r[e])||(t+=1);return a===t}return!1},d=e=>{if(!t(e))return e;let r={...e};for(let e of a)delete r[e];return r},u=(e,r,a,i)=>{if(!c(e,r)){if(t(e)&&t(r)){for(let t of new Set([...Object.keys(e),...Object.keys(r)])){let o=s(e,t),l=s(r,t);if(!o&&!l)continue;let c=[...a,t];l?o?u(e[t],r[t],c,i):i.push({op:"set",path:c,value:n(r[t])}):i.push({op:"unset",path:c})}return}if(Array.isArray(e)&&Array.isArray(r)&&e.length===r.length){for(let t=0;t<r.length;t+=1)u(l(e,t),l(r,t),[...a,t],i);return}i.push({op:"set",path:a,value:n(r)})}};r.O2=(e,r)=>{let a=[];return u(d(e),d(r),[],a),a}},2985(e,r,a){a.d(r,{Re:()=>c,m4:()=>l});var t,i=a(99436),o=a(51455),n=a(76760),s=a(48875),l=(e,r)=>{if(null==e)return{status:"no_baseline"};if(null==r)return{status:"unavailable"};var a=(0,s.O2)(e,r);return{status:"ok",ops:a,opCount:a.length}},c=(t=i(function*(e){try{return JSON.parse((yield(0,o.readFile)(n.join(e,".bricks/build/application-config.json"),"utf8")))}catch{return null}}),function(e){return t.apply(this,arguments)})},3540(e,r,a){a.d(r,{S:()=>u,a:()=>d});var t,i,o=a(99436),n=a(51455),s=a(76760),l=".bricks/edits.jsonl",c=(t=o(function*(e){var r=s.join(e,".gitignore"),a=yield(0,n.readFile)(r,"utf8").catch(e=>{if(e?.code==="ENOENT")return"";throw e});if(!a.split(/\r?\n/).map(e=>e.trim()).some(e=>e===l||".bricks/"===e||".bricks"===e)){var t=a&&!a.endsWith("\n")?"\n":"";yield(0,n.writeFile)(r,`${a}${t}
2
2
  # MCP entry-editing audit log
3
3
  ${l}
4
4
  `)}}),function(e){return t.apply(this,arguments)}),d=(i=o(function*(e,r){var a=s.join(e,".bricks");yield(0,n.mkdir)(a,{recursive:!0}),yield c(e),yield(0,n.appendFile)(s.join(a,"edits.jsonl"),`${JSON.stringify(r)}
5
5
  `)}),function(e,r){return i.apply(this,arguments)}),u=()=>({session:process.env.BRICKS_CTOR_SESSION_ID||process.env.CODEX_SESSION_ID,agent:process.env.BRICKS_CTOR_AGENT_ID||process.env.USER})},75720(e,r,a){a.d(r,{p:()=>u,sh:()=>h});var t,i,o=a(90250),n=a(99436),s=a(5018),l=a(44668),c=a(31421),d=a(73024),u=()=>{var e=process.argv[1];return e&&(0,d.existsSync)(e)?[process.execPath,e]:[process.execPath]},p=l(function e(r){s(this,e),this._cwd=void 0,this._mode="default",this._throw=!0,this._env=void 0,this._promise=null,this.args=r},[{key:"cwd",value:function(e){return this._cwd=e,this}},{key:"quiet",value:function(){return this._mode="quiet",this}},{key:"nothrow",value:function(){return this._throw=!1,this}},{key:"env",value:function(e){return this._env={...this._env,...e},this}},{key:"text",value:(t=n(function*(){return"default"===this._mode&&(this._mode="text"),(yield this.run()).stdout.toString("utf8")}),function(){return t.apply(this,arguments)})},{key:"then",value:function(e,r){return this.run().then(e,r)}},{key:"run",value:function(){return this._promise||(this._promise=this.exec()),this._promise}},{key:"exec",value:(i=n(function*(){var e=o(this.args),r=e[0],a=(function(e,r){(null==r||r>e.length)&&(r=e.length);for(var a=0,t=Array(r);a<r;a++)t[a]=e[a];return t})(e).slice(1);if(!r)throw Error("sh: empty command");var t="default"===this._mode?["inherit","pipe","pipe"]:"quiet"===this._mode?["ignore","pipe","pipe"]:["inherit","pipe","pipe"],i=this._env?{...process.env,...this._env}:void 0,n=(0,c.spawn)(r,a,{cwd:this._cwd,stdio:t,env:i}),s=[],l=[];n.stdout?.on("data",e=>{s.push(e),"default"===this._mode&&process.stdout.write(e)}),n.stderr?.on("data",e=>{l.push(e),"default"===this._mode&&process.stderr.write(e)});var d=yield new Promise((e,r)=>{n.on("error",r),n.on("close",r=>e(r??0))}),u=Buffer.concat(s),p=Buffer.concat(l);if(0!==d&&this._throw){var m=Error(`sh: command failed with exit ${d}: ${this.args.join(" ")}`);throw m.exitCode=d,m.stdout=u,m.stderr=p,m}return{exitCode:d,stdout:u,stderr:p}}),function(){return i.apply(this,arguments)})}]),m=/\s/;function h(e,...r){var a,t,i,o,n,s=(a=[],t="",i=!1,o=()=>{i&&(a.push(t),t="",i=!1)},n=e=>{t+=e,i=!0},(e.forEach((e,a)=>{for(var t=0;t<e.length;t++){var i=e[t];m.test(i)?o():n(i)}a<r.length&&(e=>{if(null!=e){if(Array.isArray(e))return e.forEach((e,r)=>{r>0&&o(),n(String(e))});n(String(e))}})(r[a])}),o(),a.length>=3&&"cd"===a[0]&&"&&"===a[2])?{tokens:a.slice(3),initialCwd:a[1]}:{tokens:a}),l=s.tokens,c=s.initialCwd,d=new p(l);return c&&d.cwd(c),d}},16749(e,r,a){a.d(r,{W:()=>n});var t=a(73024),i=a(76760),o=a(73136);function n(e){var r=(0,i.dirname)((0,o.fileURLToPath)(e)),a=[(0,i.join)(r,"simulator-main.mjs"),(0,i.join)(r,"..","simulator-main.mjs"),(0,i.join)((0,i.dirname)(process.execPath),"simulator-main.mjs")];for(var n of a)if((0,t.existsSync)(n))return n;throw Error(`Unable to locate the simulator entry (simulator-main.mjs). Probed paths:
6
6
  ${a.map(e=>` - ${e}`).join("\n")}
7
- If you installed the standalone bricks binary, re-run the installer to restore the simulator assets.`)}},58655(e,r,a){a.d(r,{e:()=>i,i:()=>o});var t=new Set(["1","true","yes","on"]);function i(e){return t.has(String(e||"").trim().toLowerCase())}function o(e=process.env){return i(e.BRICKS_CTOR_ENABLE_EDITING_TOOLS)}},75641(e,r,a){a.a(e,async function(e,t){try{a.r(r),a.d(r,{startCtorMcpServer:()=>b});var i=a(99436),o=a(76760),n=a(25326),s=a(66029),l=a(82554),c=a(31385),d=a(55470),u=a(28622),p=a(94360),m=a(85949),h=a(69899),f=a(58655),g=e([m,h]);function b(e){return y.apply(this,arguments)}function y(){return(y=i(function*(e){var r=new n._({name:"bricks-ctor",version:"1.0.0"}),a=e?o.resolve(e):process.cwd();process.env.ELECTRON_RUN_AS_NODE="",(0,l.k)(r,a),(0,c.k)(r),(0,d.k)(r),(0,u.k)(r),(0,p.k)(r,a),(0,f.i)()&&((0,m.k)(r,a),(0,h.k)(r,a));var t=new s.S;yield r.connect(t)})).apply(this,arguments)}[m,h]=g.then?(await g)():g,t()}catch(e){t(e)}})},98009(e,r,a){a.d(r,{Gp:()=>l,HJ:()=>p,Hn:()=>o,JJ:()=>u,Kx:()=>f,Pb:()=>h,RI:()=>s,bf:()=>d,jc:()=>m,u4:()=>n,zu:()=>c});var t=a(58135),i=a(76760),o={trailingComma:"all",tabWidth:2,semi:!1,singleQuote:!0,printWidth:100},n=e=>!!e&&"object"==typeof e&&!Array.isArray(e),s=(e,r)=>i.relative(e,r).replace(/\\/g,"/").replace(/^\.\/+/,""),l=e=>t.isIdentifier(e)?e.name:t.isStringLiteral(e)||t.isNumericLiteral(e)?String(e.value):null,c=e=>/^[$A-Z_a-z][$\w]*$/.test(e)?t.identifier(e):t.stringLiteral(e),d=(e,r)=>e.properties.find(e=>!!t.isObjectProperty(e)&&l(e.key)===r),u=(e,r)=>{var a=d(e,r);if(a&&t.isStringLiteral(a.value))return a.value.value},p=(e,r,a)=>{var i=d(e,r);if(i){i.value=a;return}e.properties.push(t.objectProperty(c(r),a))},m=(e,r)=>{var a=e.properties.findIndex(e=>!!t.isObjectProperty(e)&&l(e.key)===r);a>=0&&e.properties.splice(a,1)},h=(e,r)=>{var a=e.program.body,i=a.findLastIndex(e=>t.isImportDeclaration(e));a.splice(i+1,0,r)},f=(e,r,a)=>{var i=new Set(Array.from(a).filter(Boolean));if(0!==i.size){var o,n=function(e){return t.isImportDeclaration(e)&&"bricks-ctor"===e.source.value&&"type"===r==("type"===e.importKind)?(e.specifiers.forEach(e=>{if(t.isImportSpecifier(e)){var r=e.imported;t.isIdentifier(r)&&i.delete(r.name),t.isStringLiteral(r)&&i.delete(r.value)}}),i.forEach(r=>{e.specifiers.push(t.importSpecifier(t.identifier(r),t.identifier(r)))}),{v:void 0}):0};for(var s of e.program.body)if(0!==(o=n(s))&&o)return o.v;var l=t.importDeclaration(Array.from(i).map(e=>t.importSpecifier(t.identifier(e),t.identifier(e))),t.stringLiteral("bricks-ctor"));"type"===r&&(l.importKind="type"),h(e,l)}}},54452(e,r,a){a.d(r,{H:()=>d});var t,i,o=a(99436),n=a(75720),s=a(2985),l={FORCE_COLOR:"0",NO_COLOR:"1"},c=(t=o(function*(e){var r=yield(0,s.Re)(e);try{yield(0,n.sh)`bun compile`.cwd(e).env({...l,BRICKS_CTOR_ENABLE_EDITING_TOOLS:"0"}).text()}catch(e){var a=[e.stdout?.toString()??"",e.stderr?.toString()??"",e.message].filter(Boolean).join("\n").trim();return{status:"compile:failed",errors:a?[a]:["bun compile failed"]}}var t=yield(0,s.Re)(e);return{status:"compile:ok",errors:[],configChange:(0,s.m4)(r,t)}}),function(e){return t.apply(this,arguments)}),d=(i=o(function*(e,r){return(void 0!==r?r:!["0","false","no","off"].includes((process.env.BRICKS_CTOR_MCP_EDIT_VERIFY??"true").toLowerCase()))?c(e):{status:"skipped",errors:[]}}),function(e,r){return i.apply(this,arguments)})},82554(e,r,a){a.d(r,{k:()=>u});var t=a(99436),i=a(51455),o=a(76760),n=a(84867),s=a(75720),l=a(16749),c=e=>`'${e.replace(/'/g,"'\\''")}'`,d={FORCE_COLOR:"0",NO_COLOR:"1"};function u(e,r){if(e.tool("compile",{},t(function*(){var e="Type checking & Compiling...\n";try{e+=yield(0,s.sh)`bun compile`.cwd(r).env(d).text()}catch(r){e+=[r.stdout?.toString()??"",r.stderr?.toString()??""].filter(Boolean).join("\n")}return{content:[{type:"text",text:e}]}})),"1"!==process.env.BRICKS_CTOR_MCP_DISABLE_PREVIEW){var a;e.tool("simulator",{delay:n.ai().describe("Delay in milliseconds before taking screenshot").optional().default(3e3),width:n.ai().describe("Width of the screenshot").optional().default(600),height:n.ai().optional().default(480),responseImage:n.zM().describe("Whether to response image content (base64 encoded jpeg). If false, only saved path will be responded as text.").optional().default(!1),testId:n.Yj().describe("Automation test ID to trigger").optional(),testTitleLike:n.Yj().describe("Find automation test by partial title match (case-insensitive)").optional()},(a=t(function*({delay:e,width:a,height:t,responseImage:n,testId:u,testTitleLike:p}){var m="",h=!1,f=(0,o.join)(r,".bricks","screenshot.jpg");try{var g=(0,l.W)("file:///Users/jhen/workspace/mybigday-bricks/packages/bricks-cli/src/ctor/tools/mcp-tools/compile.js"),b=["--no-keep-open","--take-screenshot",JSON.stringify({delay:e,width:a,height:t,path:f,closeAfter:!0,headless:!0})];u&&b.push("--test-id",u),p&&b.push("--test-title-like",p),m=yield(0,s.sh)`bunx --bun electron ${g} ${b}`.cwd(r).env(d).text()}catch(e){m=[e.stdout?.toString()??"",e.stderr?.toString()??""].filter(Boolean).join("\n")||e.message,h=!0}h||(m=function(e,r={}){return[e.trimEnd(),"\nInspection guidance:",`- For interactive debugging of this same Simulator runtime, run \`${(({testId:e,testTitleLike:r}={})=>{var a=["bun invoke-simulator"];return e&&a.push("--test-id",c(e)),r&&a.push("--test-title-like",c(r)),a.join(" ")})(r)}\` from the project directory. It exposes CDP on localhost:19852 by default and writes .bricks/devtools.json for CLI discovery.`,'- Use `bricks devtools -p 19852 ...` from the project directory to inspect the Simulator. Plain `bricks devtools` may inspect another device on the default port.\n- Useful commands: `bricks devtools -p 19852 brick tree`, `brick query <selector>`, `input tap <x> <y>`, `network list`, `storage data-bank get <S_xxxx>`, and `runtime eval "automation.list()" -j`.\n- Prefer this Simulator CDP/runtime path over a separate Playwright browser when validating BRICKS app state, logs, input, storage, or network behavior.\n- If the `bricks-cli` skill is unavailable, run `bricks devtools --help`; the CLI help is authoritative.\n'].join("\n")}(m,{testId:u,testTitleLike:p}));var y=null;!h&&n&&(y=(yield(0,i.readFile)(f)).toString("base64"));var w=[{type:"text",text:m}];return y&&w.push({type:"image",data:y,mimeType:"image/jpeg"}),{content:w}}),function(e){return a.apply(this,arguments)}))}}},69899(e,r,a){a.a(e,async function(e,t){try{a.d(r,{k:()=>eF});var i,o,n,s,l,c,d,u,p,m,h,f,g,b,y,w,v,k,x,_,q,j=a(68832),$=a(99436),S=a(44668),P=a(5018),E=a(63315),I=a(30409),z=a(40906),O=a(59410),T=a(2235),A=a(46773),C=a(58135),L=a(11978),R=a(79491),F=a(51455),D=a(76760),N=a(84867),G=a(54452),M=a(98009),Y=a(3540),K=e([R]);function B(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(B=function(){return!!e})()}R=(K.then?(await K)():K)[0];var U=T.default||T,J=function(e){function r(e,a,t,i=!1){var o,n,s;return P(this,r),n=r,s=[a],n=I(n),(o=E(this,B()?Reflect.construct(n,s||[],I(this).constructor):n.apply(this,s))).name="DataCalcEditingError",o.code=e,o.details=t,o.isMcpError=i,o}return z(r,e),S(r)}(O(Error)),H=(e,r)=>{if(D.isAbsolute(r))throw new J("invalid_file","File must be project-relative",{file:r});var a=D.resolve(e,r),t=D.relative(e,a);if(t.startsWith("..")||D.isAbsolute(t))throw new J("invalid_file","File must stay inside the project directory",{file:r});return a},V=(e,r)=>{try{return(0,A.parse)(e,{sourceType:"module",plugins:["typescript","topLevelAwait"],errorRecovery:!1})}catch(e){throw new J("parse_failed",`Cannot parse ${r} as TypeScript: ${e.message}. Edit this file directly.`,{file:r},!0)}},W=(i=$(function*(e,r){var a=yield(0,F.readFile)(r,"utf8"),t=(0,M.RI)(e,r);return{source:a,ast:V(a,t),absPath:r,relPath:t}}),function(e,r){return i.apply(this,arguments)}),Z=e=>e.program.body.flatMap(e=>C.isExportNamedDeclaration(e)&&C.isVariableDeclaration(e.declaration)?e.declaration.declarations.flatMap(e=>{if(!C.isIdentifier(e.id))return[];var r,a=e.id.typeAnnotation;C.isTSTypeAnnotation(a)&&C.isTSTypeReference(a.typeAnnotation)&&C.isIdentifier(a.typeAnnotation.typeName)&&(r=a.typeAnnotation.typeName.name);var t=C.isObjectExpression(e.init)?e.init:void 0;return[{name:e.id.name,object:t,id:t?(0,M.JJ)(t,"id"):void 0,alias:t?(0,M.JJ)(t,"alias"):void 0,typeName:r}]}):[]),X=(e,r)=>{if(null==r||""===r)return D.join(e,"subspaces/subspace-0");if("number"==typeof r)return D.join(e,"subspaces",`subspace-${r}`);var a=String(r);if(/^\d+$/.test(a))return D.join(e,"subspaces",`subspace-${a}`);if(/^subspace-\d+$/.test(a))return D.join(e,"subspaces",a);if(a.includes("/"))return H(e,a);throw new J("unsupported_subspace",`Unsupported subspace locator: ${a}`,{subspace:a})},Q=e=>{var r=D.basename(e),a=/^data-calculation-(.+)\.ts$/.exec(r);if(!a)throw new J("invalid_file","Expected data-calculation-{slug}.ts file",{file:e});return a[1]},ee=(o=$(function*(e){return(yield(0,F.readdir)(e,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isFile()&&/^data-calculation-.+\.ts$/.test(e.name)&&!e.name.endsWith(".sandbox.ts")).map(r=>D.join(e,r.name)).sort()}),function(e){return o.apply(this,arguments)}),er=e=>{var r=(0,M.bf)(e,"code")?.value;return r&&C.isExpression(r)?r:null},ea=e=>{var r=C.isAwaitExpression(e)?e.argument:e;if(!C.isCallExpression(r))return null;var a=r.arguments[0];if(!C.isNewExpression(a)||!C.isIdentifier(a.callee)||"URL"!==a.callee.name)return null;var t=a.arguments[0];return C.isStringLiteral(t)?t.value:null},et=(n=$(function*(e,r){if(r.file)i=H(e,r.file);else{var a,t,i,o=X(e,r.subspace),n=D.join(o,"data-calc"),s=yield ee(n),l=r.calc;if(!l)throw new J("missing_calc","Provide file or subspace+calc");for(var c of s){if(l===Q(c)){i=c;break}try{var d=yield W(e,c),u=Z(d.ast).find(e=>"dataCalculation"===e.name);if(u&&(l===u.alias||l===u.id)){i=c;break}}catch{continue}}}if(!i)throw new J("calc_not_found",`Data calc not found: ${r.calc}`,{calc:r.calc,subspace:r.subspace??"subspace-0"});var p=yield W(e,i),m=(e=>{var r=Z(e.ast).find(e=>"dataCalculation"===e.name);if(!r||!r.object)throw new J("fallback_recommended",`Data calc ${e.relPath} is not a single exported object literal. Edit this file directly for this one.`,{file:e.relPath,check:"export const dataCalculation object literal"});var a=(0,M.JJ)(r.object,"__typename");if("DataCalculationScript"!==a)throw new J("fallback_recommended",`Data calc ${e.relPath} is ${a||"not DataCalculationScript"}. DataCalculationMap is out of scope; edit this file directly.`,{file:e.relPath,typename:a});return r.object})(p),h=Q(i),f=(a=er(m),(t=ea(a))&&/^(\.\/)?[^/\\]+\.sandbox\.js$/.test(t)?t.replace(/^\.\//,""):`data-calculation-${h}.sandbox.js`);return{parsed:p,object:m,slug:h,sandboxFile:f}}),function(e,r){return n.apply(this,arguments)}),ei=e=>{for(var r of e.program.body)if(C.isImportDeclaration(r)&&"node:fs/promises"===r.source.value){r.specifiers.some(e=>C.isImportSpecifier(e)&&C.isIdentifier(e.imported)&&"readFile"===e.imported.name)||r.specifiers.push(C.importSpecifier(C.identifier("readFile"),C.identifier("readFile")));return}(0,M.Pb)(e,C.importDeclaration([C.importSpecifier(C.identifier("readFile"),C.identifier("readFile"))],C.stringLiteral("node:fs/promises")))},eo=e=>{(0,M.Kx)(e.parsed.ast,"type",e.typeImports),(0,M.Kx)(e.parsed.ast,"value",e.valueImports)},en=(s=$(function*(e,r,a,t){var i,o=(e=>{var r=e.split(D.sep),a=r.findIndex(e=>/^subspace-\d+$/.test(e));if(a<0)throw new J("invalid_file","Data-calc file must be inside subspaces/subspace-N/data-calc",{file:e});return r.slice(0,a+1).join(D.sep)})(r),n=null==t?o:X(e,t),s=D.join(n,"data.ts"),l=yield W(e,s),c=Z(l.ast).filter(e=>e.name===a||e.id===a||e.alias===a);if(0===c.length)throw new J("reference_not_found",`Data reference not found: ${a}`,{ref:a,subspace:D.basename(n)});if(c.length>1)throw new J("ambiguous_reference",`Data reference is ambiguous: ${a}`,{ref:a,matches:c.map(r=>({file:(0,M.RI)(e,s),entry:r.name,id:r.id,alias:r.alias}))});var d=D.resolve(s)===D.resolve(r);return{input:a,id:c[0].id,alias:c[0].alias,varName:c[0].name,sameFile:d,importSource:d?void 0:((i=D.relative(D.dirname(r),s).replace(/\\/g,"/")).startsWith(".")||(i=`./${i}`),i.replace(/\.(ts|tsx|js|jsx)$/,""))}}),function(e,r,a,t){return s.apply(this,arguments)}),es=(l=$(function*(e,r){if((0,M.u4)(e)&&"string"==typeof e.expr)return(0,A.parseExpression)(e.expr,{plugins:["typescript"]});var a="string"==typeof e?e:(0,M.u4)(e)?e.ref:void 0;if("string"!=typeof a||!a)throw new J("invalid_ref","Data getter requires a data ref string");var t=yield en(r.projectDir,r.parsed.absPath,a,(0,M.u4)(e)?e.subspace:void 0),i=t.sameFile?"data":((e,r,a)=>{for(var t of e.ast.program.body)if(C.isImportDeclaration(t)&&t.source.value===r){var i=t.specifiers.find(e=>C.isImportNamespaceSpecifier(e));if(i)return i.local.name}var o=C.importDeclaration([C.importNamespaceSpecifier(C.identifier(a))],C.stringLiteral(r));return(0,M.Pb)(e.ast,o),a})(r.parsed,t.importSource||"../data","data");return r.references.push(t),C.arrowFunctionExpression([],C.memberExpression(C.identifier(i),C.identifier(t.varName)))}),function(e,r){return l.apply(this,arguments)}),el=(c=$(function*(e,r){return null==e?C.nullLiteral():es(e,r)}),function(e,r){return c.apply(this,arguments)}),ec=(d=$(function*(e,r){var a=D.join(e,"subspaces");for(var t of yield(0,F.readdir)(a,{withFileTypes:!0}).catch(()=>[]))if(t.isDirectory()&&/^subspace-\d+$/.test(t.name))for(var i of yield ee(D.join(a,t.name,"data-calc")))try{var o=yield W(e,i),n=Z(o.ast).find(e=>"dataCalculation"===e.name);if(n?.alias===r)return!0}catch{continue}return!1}),function(e,r){return d.apply(this,arguments)}),ed=new Set(["__typename","id","code","enableAsync","inputs","output","outputs","error"]),eu=e=>C.awaitExpression(C.callExpression(C.identifier("readFile"),[C.newExpression(C.identifier("URL"),[C.stringLiteral(`./${e}`),C.memberExpression(C.metaProperty(C.identifier("import"),C.identifier("meta")),C.identifier("url"))]),C.stringLiteral("utf8")])),ep=(u=$(function*(e,r){if((0,M.u4)(e)){if("string"==typeof e.expr)return(0,A.parseExpression)(e.expr,{plugins:["typescript"]});if("string"==typeof e.ref)return es(e,r)}if(null===e)return C.nullLiteral();if(void 0===e)return C.identifier("undefined");if("string"==typeof e)return C.stringLiteral(e);if("number"==typeof e)return C.numericLiteral(e);if("boolean"==typeof e)return C.booleanLiteral(e);if(Array.isArray(e))return C.arrayExpression((yield Promise.all(e.map(e=>ep(e,r)))));if((0,M.u4)(e)){var a,t=yield Promise.all(Object.entries(e).map((a=$(function*([e,a]){return C.objectProperty((0,M.zu)(e),(yield ep(a,r)))}),function(e){return a.apply(this,arguments)})));return C.objectExpression(t)}throw new J("invalid_value",`Unsupported value: ${String(e)}`)}),function(e,r){return u.apply(this,arguments)}),em=(p=$(function*(e){var r=U(e.ast,{comments:!0},e.source).code,a=yield(0,R.format)(e.absPath,r,M.Hn);if(a.errors.length>0)throw new J("format_failed",`oxfmt failed for ${e.relPath}`,{file:e.relPath,errors:a.errors});return a.code}),function(e){return p.apply(this,arguments)}),eh=(m=$(function*(e){var r=yield em(e);return V(r,e.relPath),yield(0,F.writeFile)(e.absPath,r),r}),function(e){return m.apply(this,arguments)}),ef=e=>({content:[{type:"text",text:JSON.stringify(e,null,2)}],isError:e.isError||void 0}),eg=e=>e.map(e=>({input:e.input,id:e.id,alias:e.alias,entry:e.varName})),eb=(h=$(function*(e,r,a,t){var i=new Date().toISOString(),o=(0,Y.S)();try{var n=yield t();return yield(0,Y.a)(e,{ts:i,tool:r,input:a,provenance:o,outcome:n.outcome,summary:n.summary,result:n}),n}catch(t){var s=t instanceof J,l=s&&"fallback_recommended"===t.code?"fallback_recommended":"error",c={outcome:l,isError:"error"===l,error:{code:s?t.code:"unexpected_error",message:t.message,details:s?t.details:void 0},summary:`${r} failed: ${t.message}`};return yield(0,Y.a)(e,{ts:i,tool:r,input:a,provenance:o,outcome:c.outcome,summary:c.summary,error:c.error}).catch(()=>void 0),c}}),function(e,r,a,t){return h.apply(this,arguments)}),ey=(f=$(function*(e,r){var a=new Set((yield ee(e)).map(Q));if(r){var t=r.trim().replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"calc";if(!a.has(t))return t;for(var i=1;a.has(`${t}-${i}`);)i+=1;return`${t}-${i}`}for(var o=0;a.has(String(o));)o+=1;return String(o)}),function(e,r){return f.apply(this,arguments)}),ew=e=>{try{return(0,L.qg)(e,{sourceType:"module",ecmaVersion:2020}),!0}catch{return!1}},ev=e=>{var r=e??"";if(/export\s+(async\s+)?function\s+main\s*\(/.test(r)){var a=r.endsWith("\n")?r:`${r}
7
+ If you installed the standalone bricks binary, re-run the installer to restore the simulator assets.`)}},58655(e,r,a){a.d(r,{e:()=>i,i:()=>o});var t=new Set(["1","true","yes","on"]);function i(e){return t.has(String(e||"").trim().toLowerCase())}function o(e=process.env){return i(e.BRICKS_CTOR_ENABLE_EDITING_TOOLS)}},75641(e,r,a){a.a(e,async function(e,t){try{a.r(r),a.d(r,{startCtorMcpServer:()=>b});var i=a(99436),o=a(76760),n=a(25326),s=a(66029),l=a(82554),c=a(31385),d=a(55470),u=a(28622),p=a(94360),m=a(85949),h=a(69899),f=a(58655),g=e([m,h]);function b(e){return y.apply(this,arguments)}function y(){return(y=i(function*(e){var r=new n._({name:"bricks-ctor",version:"1.0.0"}),a=e?o.resolve(e):process.cwd();process.env.ELECTRON_RUN_AS_NODE="",(0,l.k)(r,a),(0,c.k)(r),(0,d.k)(r),(0,u.k)(r),(0,p.k)(r,a),(0,f.i)()&&((0,m.k)(r,a),(0,h.k)(r,a));var t=new s.S;yield r.connect(t)})).apply(this,arguments)}[m,h]=g.then?(await g)():g,t()}catch(e){t(e)}})},98009(e,r,a){a.d(r,{Gp:()=>l,HJ:()=>p,Hn:()=>o,JJ:()=>u,Kx:()=>f,Pb:()=>h,RI:()=>s,bf:()=>d,jc:()=>m,u4:()=>n,zu:()=>c});var t=a(58135),i=a(76760),o={trailingComma:"all",tabWidth:2,semi:!1,singleQuote:!0,printWidth:100},n=e=>!!e&&"object"==typeof e&&!Array.isArray(e),s=(e,r)=>i.relative(e,r).replace(/\\/g,"/").replace(/^\.\/+/,""),l=e=>t.isIdentifier(e)?e.name:t.isStringLiteral(e)||t.isNumericLiteral(e)?String(e.value):null,c=e=>/^[$A-Z_a-z][$\w]*$/.test(e)?t.identifier(e):t.stringLiteral(e),d=(e,r)=>e.properties.find(e=>!!t.isObjectProperty(e)&&l(e.key)===r),u=(e,r)=>{var a=d(e,r);if(a&&t.isStringLiteral(a.value))return a.value.value},p=(e,r,a)=>{var i=d(e,r);if(i){i.value=a;return}e.properties.push(t.objectProperty(c(r),a))},m=(e,r)=>{var a=e.properties.findIndex(e=>!!t.isObjectProperty(e)&&l(e.key)===r);a>=0&&e.properties.splice(a,1)},h=(e,r)=>{var a=e.program.body,i=a.findLastIndex(e=>t.isImportDeclaration(e));a.splice(i+1,0,r)},f=(e,r,a)=>{var i=new Set(Array.from(a).filter(Boolean));if(0!==i.size){var o,n=function(e){return t.isImportDeclaration(e)&&"bricks-ctor"===e.source.value&&"type"===r==("type"===e.importKind)?(e.specifiers.forEach(e=>{if(t.isImportSpecifier(e)){var r=e.imported;t.isIdentifier(r)&&i.delete(r.name),t.isStringLiteral(r)&&i.delete(r.value)}}),i.forEach(r=>{e.specifiers.push(t.importSpecifier(t.identifier(r),t.identifier(r)))}),{v:void 0}):0};for(var s of e.program.body)if(0!==(o=n(s))&&o)return o.v;var l=t.importDeclaration(Array.from(i).map(e=>t.importSpecifier(t.identifier(e),t.identifier(e))),t.stringLiteral("bricks-ctor"));"type"===r&&(l.importKind="type"),h(e,l)}}},54452(e,r,a){a.d(r,{H:()=>d});var t,i,o=a(99436),n=a(75720),s=a(2985),l={FORCE_COLOR:"0",NO_COLOR:"1"},c=(t=o(function*(e){var r=yield(0,s.Re)(e);try{yield(0,n.sh)`bun compile`.cwd(e).env({...l,BRICKS_CTOR_ENABLE_EDITING_TOOLS:"0"}).text()}catch(e){var a=[e.stdout?.toString()??"",e.stderr?.toString()??"",e.message].filter(Boolean).join("\n").trim();return{status:"compile:failed",errors:a?[a]:["bun compile failed"]}}var t=yield(0,s.Re)(e);return{status:"compile:ok",errors:[],configChange:(0,s.m4)(r,t)}}),function(e){return t.apply(this,arguments)}),d=(i=o(function*(e,r){return(void 0!==r?r:!["0","false","no","off"].includes((process.env.BRICKS_CTOR_MCP_EDIT_VERIFY??"true").toLowerCase()))?c(e):{status:"skipped",errors:[]}}),function(e,r){return i.apply(this,arguments)})},82554(e,r,a){a.d(r,{k:()=>u});var t=a(99436),i=a(51455),o=a(76760),n=a(84867),s=a(75720),l=a(16749),c=e=>`'${e.replace(/'/g,"'\\''")}'`,d={FORCE_COLOR:"0",NO_COLOR:"1"};function u(e,r){if(e.tool("compile",{},t(function*(){var e="Type checking & Compiling...\n";try{e+=yield(0,s.sh)`bun compile`.cwd(r).env(d).text()}catch(r){e+=[r.stdout?.toString()??"",r.stderr?.toString()??""].filter(Boolean).join("\n")}return{content:[{type:"text",text:e}]}})),"1"!==process.env.BRICKS_CTOR_MCP_DISABLE_PREVIEW){var a;e.tool("simulator",{delay:n.ai().describe("Delay in milliseconds before taking screenshot").optional().default(3e3),width:n.ai().describe("Width of the screenshot").optional().default(600),height:n.ai().optional().default(480),responseImage:n.zM().describe("Whether to response image content (base64 encoded jpeg). If false, only saved path will be responded as text.").optional().default(!1),testId:n.Yj().describe("Automation test ID to trigger").optional(),testTitleLike:n.Yj().describe("Find automation test by partial title match (case-insensitive)").optional()},(a=t(function*({delay:e,width:a,height:t,responseImage:n,testId:u,testTitleLike:p}){var m="",h=!1,f=(0,o.join)(r,".bricks","screenshot.jpg");try{var g=(0,l.W)("file:///Users/jhen/workspace/mybigday-bricks/packages/bricks-cli/src/ctor/tools/mcp-tools/compile.js"),b=["--no-keep-open","--take-screenshot",JSON.stringify({delay:e,width:a,height:t,path:f,closeAfter:!0,headless:!0})];u&&b.push("--test-id",u),p&&b.push("--test-title-like",p),m=yield(0,s.sh)`bunx --bun electron ${g} ${b}`.cwd(r).env(d).text()}catch(e){m=[e.stdout?.toString()??"",e.stderr?.toString()??""].filter(Boolean).join("\n")||e.message,h=!0}h||(m=function(e,r={}){return[e.trimEnd(),"\nInspection guidance:",`- For interactive debugging of this same Simulator runtime, run \`${(({testId:e,testTitleLike:r}={})=>{var a=["bun invoke-simulator"];return e&&a.push("--test-id",c(e)),r&&a.push("--test-title-like",c(r)),a.join(" ")})(r)}\` from the project directory. It exposes CDP on localhost:19852 by default and writes .bricks/devtools.json for CLI discovery.`,'- Use `bricks devtools -p 19852 ...` from the project directory to inspect the Simulator. Plain `bricks devtools` may inspect another device on the default port.\n- Useful commands: `bricks devtools -p 19852 brick tree`, `brick query <selector>`, `input tap <x> <y>`, `network list`, `storage data-bank get <S_xxxx>`, and `runtime eval "automation.list()" -j`.\n- Prefer this Simulator CDP/runtime path over a separate Playwright browser when validating BRICKS app state, logs, input, storage, or network behavior.\n- If the `bricks-cli` skill is unavailable, run `bricks devtools --help`; the CLI help is authoritative.\n'].join("\n")}(m,{testId:u,testTitleLike:p}));var y=null;!h&&n&&(y=(yield(0,i.readFile)(f)).toString("base64"));var w=[{type:"text",text:m}];return y&&w.push({type:"image",data:y,mimeType:"image/jpeg"}),{content:w}}),function(e){return a.apply(this,arguments)}))}}},69899(e,r,a){a.a(e,async function(e,t){try{a.d(r,{k:()=>eF});var i,o,n,s,l,c,d,u,p,m,h,f,g,b,y,w,v,k,x,_,q,j=a(68832),$=a(99436),S=a(44668),P=a(5018),E=a(63315),I=a(30409),z=a(40906),O=a(59410),A=a(2235),C=a(46773),T=a(58135),L=a(11978),R=a(79491),F=a(51455),D=a(76760),N=a(84867),M=a(54452),G=a(98009),Y=a(3540),B=e([R]);function U(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(U=function(){return!!e})()}R=(B.then?(await B)():B)[0];var K=A.default||A,J=function(e){function r(e,a,t,i=!1){var o,n,s;return P(this,r),n=r,s=[a],n=I(n),(o=E(this,U()?Reflect.construct(n,s||[],I(this).constructor):n.apply(this,s))).name="DataCalcEditingError",o.code=e,o.details=t,o.isMcpError=i,o}return z(r,e),S(r)}(O(Error)),H=(e,r)=>{if(D.isAbsolute(r))throw new J("invalid_file","File must be project-relative",{file:r});var a=D.resolve(e,r),t=D.relative(e,a);if(t.startsWith("..")||D.isAbsolute(t))throw new J("invalid_file","File must stay inside the project directory",{file:r});return a},V=(e,r)=>{try{return(0,C.parse)(e,{sourceType:"module",plugins:["typescript","topLevelAwait"],errorRecovery:!1})}catch(e){throw new J("parse_failed",`Cannot parse ${r} as TypeScript: ${e.message}. Edit this file directly.`,{file:r},!0)}},W=(i=$(function*(e,r){var a=yield(0,F.readFile)(r,"utf8"),t=(0,G.RI)(e,r);return{source:a,ast:V(a,t),absPath:r,relPath:t}}),function(e,r){return i.apply(this,arguments)}),Z=e=>e.program.body.flatMap(e=>T.isExportNamedDeclaration(e)&&T.isVariableDeclaration(e.declaration)?e.declaration.declarations.flatMap(e=>{if(!T.isIdentifier(e.id))return[];var r,a=e.id.typeAnnotation;T.isTSTypeAnnotation(a)&&T.isTSTypeReference(a.typeAnnotation)&&T.isIdentifier(a.typeAnnotation.typeName)&&(r=a.typeAnnotation.typeName.name);var t=T.isObjectExpression(e.init)?e.init:void 0;return[{name:e.id.name,object:t,id:t?(0,G.JJ)(t,"id"):void 0,alias:t?(0,G.JJ)(t,"alias"):void 0,typeName:r}]}):[]),X=(e,r)=>{if(null==r||""===r)return D.join(e,"subspaces/subspace-0");if("number"==typeof r)return D.join(e,"subspaces",`subspace-${r}`);var a=String(r);if(/^\d+$/.test(a))return D.join(e,"subspaces",`subspace-${a}`);if(/^subspace-\d+$/.test(a))return D.join(e,"subspaces",a);if(a.includes("/"))return H(e,a);throw new J("unsupported_subspace",`Unsupported subspace locator: ${a}`,{subspace:a})},Q=e=>{var r=D.basename(e),a=/^data-calculation-(.+)\.ts$/.exec(r);if(!a)throw new J("invalid_file","Expected data-calculation-{slug}.ts file",{file:e});return a[1]},ee=(o=$(function*(e){return(yield(0,F.readdir)(e,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isFile()&&/^data-calculation-.+\.ts$/.test(e.name)&&!e.name.endsWith(".sandbox.ts")).map(r=>D.join(e,r.name)).sort()}),function(e){return o.apply(this,arguments)}),er=e=>{var r=(0,G.bf)(e,"code")?.value;return r&&T.isExpression(r)?r:null},ea=e=>{var r=T.isAwaitExpression(e)?e.argument:e;if(!T.isCallExpression(r))return null;var a=r.arguments[0];if(!T.isNewExpression(a)||!T.isIdentifier(a.callee)||"URL"!==a.callee.name)return null;var t=a.arguments[0];return T.isStringLiteral(t)?t.value:null},et=(n=$(function*(e,r){if(r.file)i=H(e,r.file);else{var a,t,i,o=X(e,r.subspace),n=D.join(o,"data-calc"),s=yield ee(n),l=r.calc;if(!l)throw new J("missing_calc","Provide file or subspace+calc");for(var c of s){if(l===Q(c)){i=c;break}try{var d=yield W(e,c),u=Z(d.ast).find(e=>"dataCalculation"===e.name);if(u&&(l===u.alias||l===u.id)){i=c;break}}catch{continue}}}if(!i)throw new J("calc_not_found",`Data calc not found: ${r.calc}`,{calc:r.calc,subspace:r.subspace??"subspace-0"});var p=yield W(e,i),m=(e=>{var r=Z(e.ast).find(e=>"dataCalculation"===e.name);if(!r||!r.object)throw new J("fallback_recommended",`Data calc ${e.relPath} is not a single exported object literal. Edit this file directly for this one.`,{file:e.relPath,check:"export const dataCalculation object literal"});var a=(0,G.JJ)(r.object,"__typename");if("DataCalculationScript"!==a)throw new J("fallback_recommended",`Data calc ${e.relPath} is ${a||"not DataCalculationScript"}. DataCalculationMap is out of scope; edit this file directly.`,{file:e.relPath,typename:a});return r.object})(p),h=Q(i),f=(a=er(m),(t=ea(a))&&/^(\.\/)?[^/\\]+\.sandbox\.js$/.test(t)?t.replace(/^\.\//,""):`data-calculation-${h}.sandbox.js`);return{parsed:p,object:m,slug:h,sandboxFile:f}}),function(e,r){return n.apply(this,arguments)}),ei=e=>{for(var r of e.program.body)if(T.isImportDeclaration(r)&&"node:fs/promises"===r.source.value){r.specifiers.some(e=>T.isImportSpecifier(e)&&T.isIdentifier(e.imported)&&"readFile"===e.imported.name)||r.specifiers.push(T.importSpecifier(T.identifier("readFile"),T.identifier("readFile")));return}(0,G.Pb)(e,T.importDeclaration([T.importSpecifier(T.identifier("readFile"),T.identifier("readFile"))],T.stringLiteral("node:fs/promises")))},eo=e=>{(0,G.Kx)(e.parsed.ast,"type",e.typeImports),(0,G.Kx)(e.parsed.ast,"value",e.valueImports)},en=(s=$(function*(e,r,a,t){var i,o=(e=>{var r=e.split(D.sep),a=r.findIndex(e=>/^subspace-\d+$/.test(e));if(a<0)throw new J("invalid_file","Data-calc file must be inside subspaces/subspace-N/data-calc",{file:e});return r.slice(0,a+1).join(D.sep)})(r),n=null==t?o:X(e,t),s=D.join(n,"data.ts"),l=yield W(e,s),c=Z(l.ast).filter(e=>e.name===a||e.id===a||e.alias===a);if(0===c.length)throw new J("reference_not_found",`Data reference not found: ${a}`,{ref:a,subspace:D.basename(n)});if(c.length>1)throw new J("ambiguous_reference",`Data reference is ambiguous: ${a}`,{ref:a,matches:c.map(r=>({file:(0,G.RI)(e,s),entry:r.name,id:r.id,alias:r.alias}))});var d=D.resolve(s)===D.resolve(r);return{input:a,id:c[0].id,alias:c[0].alias,varName:c[0].name,sameFile:d,importSource:d?void 0:((i=D.relative(D.dirname(r),s).replace(/\\/g,"/")).startsWith(".")||(i=`./${i}`),i.replace(/\.(ts|tsx|js|jsx)$/,""))}}),function(e,r,a,t){return s.apply(this,arguments)}),es=(l=$(function*(e,r){if((0,G.u4)(e)&&"string"==typeof e.expr)return(0,C.parseExpression)(e.expr,{plugins:["typescript"]});var a="string"==typeof e?e:(0,G.u4)(e)?e.ref:void 0;if("string"!=typeof a||!a)throw new J("invalid_ref","Data getter requires a data ref string");var t=yield en(r.projectDir,r.parsed.absPath,a,(0,G.u4)(e)?e.subspace:void 0),i=t.sameFile?"data":((e,r,a)=>{for(var t of e.ast.program.body)if(T.isImportDeclaration(t)&&t.source.value===r){var i=t.specifiers.find(e=>T.isImportNamespaceSpecifier(e));if(i)return i.local.name}var o=T.importDeclaration([T.importNamespaceSpecifier(T.identifier(a))],T.stringLiteral(r));return(0,G.Pb)(e.ast,o),a})(r.parsed,t.importSource||"../data","data");return r.references.push(t),T.arrowFunctionExpression([],T.memberExpression(T.identifier(i),T.identifier(t.varName)))}),function(e,r){return l.apply(this,arguments)}),el=(c=$(function*(e,r){return null==e?T.nullLiteral():es(e,r)}),function(e,r){return c.apply(this,arguments)}),ec=(d=$(function*(e,r){var a=D.join(e,"subspaces");for(var t of yield(0,F.readdir)(a,{withFileTypes:!0}).catch(()=>[]))if(t.isDirectory()&&/^subspace-\d+$/.test(t.name))for(var i of yield ee(D.join(a,t.name,"data-calc")))try{var o=yield W(e,i),n=Z(o.ast).find(e=>"dataCalculation"===e.name);if(n?.alias===r)return!0}catch{continue}return!1}),function(e,r){return d.apply(this,arguments)}),ed=new Set(["__typename","id","code","enableAsync","inputs","output","outputs","error"]),eu=e=>T.awaitExpression(T.callExpression(T.identifier("readFile"),[T.newExpression(T.identifier("URL"),[T.stringLiteral(`./${e}`),T.memberExpression(T.metaProperty(T.identifier("import"),T.identifier("meta")),T.identifier("url"))]),T.stringLiteral("utf8")])),ep=(u=$(function*(e,r){if((0,G.u4)(e)){if("string"==typeof e.expr)return(0,C.parseExpression)(e.expr,{plugins:["typescript"]});if("string"==typeof e.ref)return es(e,r)}if(null===e)return T.nullLiteral();if(void 0===e)return T.identifier("undefined");if("string"==typeof e)return T.stringLiteral(e);if("number"==typeof e)return T.numericLiteral(e);if("boolean"==typeof e)return T.booleanLiteral(e);if(Array.isArray(e))return T.arrayExpression((yield Promise.all(e.map(e=>ep(e,r)))));if((0,G.u4)(e)){var a,t=yield Promise.all(Object.entries(e).map((a=$(function*([e,a]){return T.objectProperty((0,G.zu)(e),(yield ep(a,r)))}),function(e){return a.apply(this,arguments)})));return T.objectExpression(t)}throw new J("invalid_value",`Unsupported value: ${String(e)}`)}),function(e,r){return u.apply(this,arguments)}),em=(p=$(function*(e){var r=K(e.ast,{comments:!0},e.source).code,a=yield(0,R.format)(e.absPath,r,G.Hn);if(a.errors.length>0)throw new J("format_failed",`oxfmt failed for ${e.relPath}`,{file:e.relPath,errors:a.errors});return a.code}),function(e){return p.apply(this,arguments)}),eh=(m=$(function*(e){var r=yield em(e);return V(r,e.relPath),yield(0,F.writeFile)(e.absPath,r),r}),function(e){return m.apply(this,arguments)}),ef=e=>({content:[{type:"text",text:JSON.stringify(e,null,2)}],isError:e.isError||void 0}),eg=e=>e.map(e=>({input:e.input,id:e.id,alias:e.alias,entry:e.varName})),eb=(h=$(function*(e,r,a,t){var i=new Date().toISOString(),o=(0,Y.S)();try{var n=yield t();return yield(0,Y.a)(e,{ts:i,tool:r,input:a,provenance:o,outcome:n.outcome,summary:n.summary,result:n}),n}catch(t){var s=t instanceof J,l=s&&"fallback_recommended"===t.code?"fallback_recommended":"error",c={outcome:l,isError:"error"===l,error:{code:s?t.code:"unexpected_error",message:t.message,details:s?t.details:void 0},summary:`${r} failed: ${t.message}`};return yield(0,Y.a)(e,{ts:i,tool:r,input:a,provenance:o,outcome:c.outcome,summary:c.summary,error:c.error}).catch(()=>void 0),c}}),function(e,r,a,t){return h.apply(this,arguments)}),ey=(f=$(function*(e,r){var a=new Set((yield ee(e)).map(Q));if(r){var t=r.trim().replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"calc";if(!a.has(t))return t;for(var i=1;a.has(`${t}-${i}`);)i+=1;return`${t}-${i}`}for(var o=0;a.has(String(o));)o+=1;return String(o)}),function(e,r){return f.apply(this,arguments)}),ew=e=>{try{return(0,L.qg)(e,{sourceType:"module",ecmaVersion:2020}),!0}catch{return!1}},ev=e=>{var r=e??"";if(/export\s+(async\s+)?function\s+main\s*\(/.test(r)){var a=r.endsWith("\n")?r:`${r}
8
8
  `;if(!ew(a))throw new J("invalid_code","Sandbox code does not parse as a module (note: top-level await requires export async function main)");return a}var t=r.trim();if(!t)return"export function main() {\n}\n";for(var i of["","async "]){var o=`export ${i}function main() {
9
9
  ${t}
10
10
  }
@@ -13,4 +13,43 @@ ${t}
13
13
  export const dataCalculation = [
14
14
  ${i}
15
15
  ]
16
- `,n=D.join(r,"index.ts"),s={absPath:n,relPath:(0,M.RI)(e,n),source:o,ast:V(o,(0,M.RI)(e,n))};return yield eh(s),(0,M.RI)(e,n)}),function(e,r){return g.apply(this,arguments)}),ex=(b=$(function*(e,r){var a=D.join(r,"index.ts"),t=(0,M.RI)(e,a),i=yield(0,F.readFile)(a,"utf8").catch(e=>{if(e?.code==="ENOENT")return null;throw e});if(null==i)return{warning:`${t} not found; wire the data-calc import manually`};var o=yield W(e,a),n=(e=>{for(var r of e.program.body)if(C.isExportDefaultDeclaration(r)){var a=r.declaration;if(C.isObjectExpression(a))return a;if(C.isTSAsExpression(a)&&C.isObjectExpression(a.expression))return a.expression}return null})(o.ast);if(!n)return{warning:`${t} has no default-export object; wire the data-calc import manually`};var s=(0,M.bf)(n,"dataCalculation");if(s&&C.isIdentifier(s.value))return null;if(s&&!(C.isArrayExpression(s.value)&&0===s.value.elements.length))return{warning:`${t} has a non-empty dataCalculation value; wire the data-calc import manually`};if(o.ast.program.body.some(e=>C.isImportDeclaration(e)&&("./data-calc"===e.source.value||"./data-calc/index"===e.source.value))||(0,M.Pb)(o.ast,C.importDeclaration([C.importSpecifier(C.identifier("dataCalculation"),C.identifier("dataCalculation"))],C.stringLiteral("./data-calc"))),s)s.value=C.identifier("dataCalculation"),C.isIdentifier(s.key)&&(s.shorthand=!0);else{var l=C.objectProperty(C.identifier("dataCalculation"),C.identifier("dataCalculation"));l.shorthand=!0,n.properties.push(l)}return yield eh(o),{touched:o.relPath}}),function(e,r){return b.apply(this,arguments)}),e_=(y=$(function*(e,r,a){if(!r.key)throw new J("missing_key",`${e} item requires key`);if(null==r.data)throw new J("missing_data",`${e} item requires data`);var t=[C.objectProperty(C.identifier("key"),C.stringLiteral(r.key)),C.objectProperty(C.identifier("data"),(yield es(r.data,a)))];return"inputs"===e&&t.push(C.objectProperty(C.identifier("trigger"),C.booleanLiteral(!1!==r.trigger))),C.objectExpression(t)}),function(e,r,a){return y.apply(this,arguments)}),eq=(w=$(function*(e,r,a){if("inputs"===e){var t=new Set;for(var i of r){if(t.has(i?.key))throw new J("duplicate_key",`Input key already exists: ${i.key}`,{key:i.key});t.add(i?.key)}}return C.arrayExpression((yield Promise.all(r.map(r=>e_(e,r,a)))))}),function(e,r,a){return w.apply(this,arguments)}),ej=(e,r)=>{if("number"==typeof r.index)return r.index;if(!r.key)return -1;var a=e.elements.map((e,r)=>({element:e,index:r})).filter(({element:e})=>C.isObjectExpression(e)&&(0,M.JJ)(e,"key")===r.key);if(a.length>1)throw new J("ambiguous_key",`IO key is ambiguous: ${r.key}`,{key:r.key,count:a.length});return a[0]?.index??-1},e$=(v=$(function*(e,r,a,t){let i;a.typeImports.add("DataCalculationScript"),a.valueImports.add("makeId"),ei(a.parsed.ast);var o=[C.objectProperty(C.identifier("__typename"),C.stringLiteral("DataCalculationScript")),C.objectProperty(C.identifier("id"),e.id?C.stringLiteral(e.id):(i="property_bank_calc",C.callExpression(C.identifier("makeId"),t?[C.stringLiteral(i),C.stringLiteral(t)]:[C.stringLiteral(i)])))];return e.alias&&o.push(C.objectProperty(C.identifier("alias"),C.stringLiteral(e.alias))),null!=e.title&&o.push(C.objectProperty(C.identifier("title"),C.stringLiteral(e.title))),null!=e.description&&o.push(C.objectProperty(C.identifier("description"),C.stringLiteral(e.description))),null!=e.note&&o.push(C.objectProperty(C.identifier("note"),C.stringLiteral(e.note))),o.push(C.objectProperty(C.identifier("code"),eu(r))),o.push(C.objectProperty(C.identifier("enableAsync"),C.booleanLiteral(!!e.enableAsync))),null!=e.triggerMode&&o.push(C.objectProperty(C.identifier("triggerMode"),C.stringLiteral(e.triggerMode))),o.push(C.objectProperty(C.identifier("inputs"),(yield eq("inputs",e.inputs||[],a)))),o.push(C.objectProperty(C.identifier("output"),(yield el(e.output,a)))),o.push(C.objectProperty(C.identifier("outputs"),(yield eq("outputs",e.outputs||[],a)))),o.push(C.objectProperty(C.identifier("error"),(yield el(e.error,a)))),C.objectExpression(o)}),function(e,r,a,t){return v.apply(this,arguments)}),eS=(k=$(function*(e,r){return eb(e,"new_data_calc",r,$(function*(){var a,t,i,o=X(e,r.subspace),n=D.join(o,"data-calc");yield(0,F.mkdir)(n,{recursive:!0});var s=yield ey(n,r.alias),l=`data-calculation-${s}.sandbox.js`,c=D.join(n,`data-calculation-${s}.ts`),d=D.join(n,l),u=(a=(0,M.RI)(e,c),t="export const dataCalculation = {}\n",(i=V(t,a)).program.body=[],{ast:i,source:t,absPath:c,relPath:a}),p={projectDir:e,parsed:u,references:[],typeImports:new Set,valueImports:new Set},m=r.id||"string"!=typeof r.alias||!r.alias||(yield ec(e,r.alias))?void 0:r.alias,h=yield e$(r,l,p,m),f=C.variableDeclarator(C.identifier("dataCalculation"),h);f.id.typeAnnotation=C.tsTypeAnnotation(C.tsTypeReference(C.identifier("DataCalculationScript"))),u.ast.program.body.push(C.exportNamedDeclaration(C.variableDeclaration("const",[f]))),eo(p),yield(0,F.writeFile)(d,ev(r.code)),yield eh(u);var g=[{file:(0,M.RI)(e,c),action:"create_calc"},{file:(0,M.RI)(e,d),action:"write_sandbox"}];g.push({file:yield ek(e,n),action:"regenerate_index"});var b=yield ex(e,o);b?.touched&&g.push({file:b.touched,action:"wire_subspace_index"});var y=yield(0,G.H)(e,r.verify);return{file:(0,M.RI)(e,c),subspace:D.basename(o),calc:s,idExpression:r.id??(m?`makeId('property_bank_calc', '${m}')`:"makeId('property_bank_calc')"),outcome:"compile:failed"===y.status?"verify_failed":"ok",touchedSites:g,...b?.warning?{warnings:[b.warning]}:{},verify:y,references:eg(p.references),summary:`created data calc ${s} in ${D.basename(o)} -> ${y.status}`}}))}),function(e,r){return k.apply(this,arguments)}),eP=(x=$(function*(e,r){return eb(e,"edit_data_calc",r,$(function*(){var a=yield et(e,r),t={projectDir:e,parsed:a.parsed,references:[],typeImports:new Set,valueImports:new Set},i=[];for(var o of Object.entries(r.set||{})){var n=j(o,2),s=n[0],l=n[1];if("output"===s||"error"===s)(0,M.HJ)(a.object,s,(yield el(l,t)));else if("inputs"===s||"outputs"===s){if(!Array.isArray(l))throw new J("invalid_value",`${s} must be an array of IO items`);(0,M.HJ)(a.object,s,(yield eq(s,l,t)))}else if("code"===s)throw new J("invalid_field","Set code via the dedicated code parameter so it stays normalized to the sandbox file");else(0,M.HJ)(a.object,s,(yield ep(l,t)))}for(var c of r.unset||[]){if(ed.has(c))throw new J("invalid_field",`Cannot unset required field: ${c}`,{field:c});(0,M.jc)(a.object,c)}if(null!=r.code){var d=er(a.object);if(!(e=>{if(!e)return!1;if(C.isStringLiteral(e)||C.isTemplateLiteral(e))return!0;var r=ea(e);return null!=r&&/^(\.\/)?[^/\\]+\.sandbox\.js$/.test(r)})(d))throw new J("fallback_recommended",`Data calc ${a.parsed.relPath} has an unsupported code expression. Edit this file directly for this one.`,{file:a.parsed.relPath,field:"code"});var u=a.sandboxFile,p=D.join(D.dirname(a.parsed.absPath),u);yield(0,F.writeFile)(p,ev(r.code)),ei(a.parsed.ast),(0,M.HJ)(a.object,"code",eu(u)),i.push({file:(0,M.RI)(e,p),action:"write_sandbox"})}eo(t),yield eh(a.parsed),i.unshift({file:a.parsed.relPath,action:"edit_calc"});var m=yield(0,G.H)(e,r.verify);return{file:a.parsed.relPath,calc:a.slug,outcome:"compile:failed"===m.status?"verify_failed":"ok",touchedSites:i,verify:m,references:eg(t.references),summary:`edited data calc ${a.slug} -> ${m.status}`}}))}),function(e,r){return x.apply(this,arguments)}),eE=(_=$(function*(e,r){return eb(e,"edit_data_calc_io",r,$(function*(){var a=yield et(e,r),t={projectDir:e,parsed:a.parsed,references:[],typeImports:new Set,valueImports:new Set},i=r.field,o=((e,r)=>{var a=(0,M.bf)(e,r);if(a){if(!C.isArrayExpression(a.value))throw new J("fallback_recommended",`${r} is not an array. Edit this file directly.`);return a.value}var t=C.arrayExpression([]);return e.properties.push(C.objectProperty(C.identifier(r),t)),t})(a.object,i),n=r.op;if("clear"===n)o.elements=[];else if("remove"===n){var s=ej(o,r);if(s<0||s>=o.elements.length)throw new J("invalid_index","remove requires a valid key or index");o.elements.splice(s,1)}else if("add"===n||"replace"===n){var l="replace"===n?ej(o,r):r.index;if("replace"===n&&(l<0||l>=o.elements.length))throw new J("invalid_index","replace requires a valid key or index");if("add"===n&&"number"==typeof l&&(l<0||l>o.elements.length))throw new J("invalid_index","add index out of range",{index:l});"inputs"===i&&((e,r,a)=>{if(e.elements.some((e,t)=>t!==a&&C.isObjectExpression(e)&&(0,M.JJ)(e,"key")===r))throw new J("duplicate_key",`Input key already exists: ${r}`,{key:r})})(o,r.key,"replace"===n?l:void 0);var c=yield e_(i,r,t);"replace"===n?o.elements[l]=c:o.elements.splice("number"==typeof l?l:o.elements.length,0,c)}else throw new J("invalid_op",`Unsupported edit_data_calc_io op: ${n}`);eo(t),yield eh(a.parsed);var d=yield(0,G.H)(e,r.verify);return{file:a.parsed.relPath,calc:a.slug,outcome:"compile:failed"===d.status?"verify_failed":"ok",change:{field:i,op:n,key:r.key,index:r.index},verify:d,references:eg(t.references),summary:`${n} ${i} on data calc ${a.slug} -> ${d.status}`}}))}),function(e,r){return _.apply(this,arguments)}),eI=(q=$(function*(e,r){return eb(e,"remove_data_calc",r,$(function*(){var a=yield et(e,r),t=D.dirname(a.parsed.absPath),i=D.join(t,a.sandboxFile);yield(0,F.rm)(a.parsed.absPath,{force:!0}),yield(0,F.rm)(i,{force:!0});var o=yield ek(e,t),n=yield(0,G.H)(e,r.verify);return{file:a.parsed.relPath,calc:a.slug,outcome:"compile:failed"===n.status?"verify_failed":"ok",touchedSites:[{file:a.parsed.relPath,action:"delete_calc"},{file:(0,M.RI)(e,i),action:"delete_sandbox"},{file:o,action:"regenerate_index"}],verify:n,summary:`removed data calc ${a.slug} -> ${n.status}`}}))}),function(e,r){return q.apply(this,arguments)}),ez=N.bz().describe('Value grammar: JSON literals, bare data ref strings for output/error/IO data, { ref, subspace }, or { expr: "raw TypeScript expression" }.'),eO=N.Yj().describe("Project-relative data-calc file path, for example subspaces/subspace-0/data-calc/data-calculation-total.ts."),eT=N.KC([N.Yj(),N.ai()]).describe('Subspace locator. Defaults to subspace-0; accepts 0, "0", "subspace-0", or a project-relative subspace path.'),eA=N.Yj().describe("Data calc locator inside the subspace: alias, explicit string id, or filename slug."),eC=N.zM().describe("Override compile verification. Defaults to BRICKS_CTOR_MCP_EDIT_VERIFY, otherwise true."),eL={file:eO.optional(),subspace:eT.optional(),calc:eA.optional(),verify:eC.optional()},eR=N.Ik({key:N.Yj().describe('Sandbox input/output key, for example "price" or "total".'),data:ez.describe("Data ref as alias/id/varName, { ref, subspace }, or { expr }."),trigger:N.zM().describe("Inputs only; defaults true.").optional()}).describe("DataCalculationScript IO item.");function eF(e,r){var a,t,i,o;e.tool("new_data_calc","Create a standard DataCalculationScript in data-calc/{calc}.ts plus its sandbox JS file, regenerate data-calc/index.ts, and wire minimal subspace indexes.",{subspace:eT.optional(),alias:N.Yj().describe("Optional alias; also drives the filename slug.").optional(),title:N.Yj().describe("Optional title.").optional(),description:N.Yj().describe("Optional description.").optional(),note:N.Yj().describe("Optional script note.").optional(),triggerMode:N.k5(["auto","manual"]).describe("Optional trigger mode; omitted by default.").optional(),enableAsync:N.zM().describe("Whether the sandbox main may be async. Defaults false.").optional(),code:N.Yj().describe("Sandbox body. The tool wraps it as export function main() { ... } unless already wrapped.").optional(),inputs:N.YO(eR).describe("Initial script inputs. Input keys must be unique.").optional(),outputs:N.YO(eR).describe("Initial fan-out outputs. Output keys may repeat.").optional(),output:ez.describe("Single output data ref or null.").optional(),error:ez.describe("Error output data ref or null.").optional(),id:N.Yj().describe("Optional explicit id. Defaults to source expression makeId('property_bank_calc').").optional(),verify:eC.optional()},(a=$(function*(e){return ef((yield eS(r,e)))}),function(e){return a.apply(this,arguments)})),e.tool("edit_data_calc","Edit DataCalculationScript scalar fields, output/error refs, or sandbox code. Code edits normalize inline code to sandbox file-form.",{...eL,set:N.g1(N.Yj().describe("Top-level field path such as title, description, note, alias, triggerMode, enableAsync, output, or error."),ez).describe("Fields to set. output/error accept bare data ref strings, { ref, subspace }, { expr }, or null; inputs/outputs accept whole replacement arrays of { key, data, trigger? }. Use the code parameter for code.").optional(),unset:N.YO(N.Yj()).describe("Top-level fields to remove.").optional(),code:N.Yj().describe("Replacement sandbox body. The tool wraps it as export function main() { ... } unless already wrapped.").optional()},(t=$(function*(e){return ef((yield eP(r,e)))}),function(e){return t.apply(this,arguments)})),e.tool("edit_data_calc_io","Edit DataCalculationScript inputs or outputs arrays. Inputs require unique keys; outputs may repeat keys for fan-out.",{...eL,field:N.k5(["inputs","outputs"]).describe("Which IO array to edit."),op:N.k5(["add","remove","replace","clear"]).describe("Array operation."),key:N.Yj().describe("IO key target. Ambiguous repeated output keys must use index.").optional(),index:N.ai().describe("Zero-based IO index target or add insertion index.").optional(),data:ez.describe("For add/replace: data ref as string, { ref, subspace }, or { expr }.").optional(),trigger:N.zM().describe("Inputs only; defaults true.").optional()},(i=$(function*(e){return ef((yield eE(r,e)))}),function(e){return i.apply(this,arguments)})),e.tool("remove_data_calc","Remove a standard DataCalculationScript .ts file plus its sandbox file and regenerate data-calc/index.ts. No reverse cascade is needed.",eL,(o=$(function*(e){return ef((yield eI(r,e)))}),function(e){return o.apply(this,arguments)}))}t()}catch(e){t(e)}})},85949(e,r,a){a.a(e,async function(e,t){try{a.d(r,{k:()=>ri});var i,o,n,s,l,c,d,u,p,m,h,f,g,b,y,w,v,k,x,_,q,j,$,S,P,E,I,z=a(68832),O=a(99436),T=a(44668),A=a(5018),C=a(63315),L=a(30409),R=a(40906),F=a(59410),D=a(2235),N=a(46773),G=a(80004),M=a(58135),Y=a(11978),K=a(79491),B=a(51455),U=a(76760),J=a(84867),H=a(54452),V=a(98009),W=a(3540),Z=e([K]);function X(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(X=function(){return!!e})()}K=(Z.then?(await Z)():Z)[0];var Q=D.default||D,ee=G.default||G,er={"bricks.ts":{kind:"brick",namespace:"bricks",varPrefix:"b",idType:"brick",idPrefix:"BRICK_",typename:"Brick"},"generators.ts":{kind:"generator",namespace:"generators",varPrefix:"g",idType:"generator",idPrefix:"GENERATOR_",typename:"Generator"},"canvases.ts":{kind:"canvas",namespace:"canvases",varPrefix:"c",idType:"canvas",idPrefix:"CANVAS_",typename:"Canvas"},"data.ts":{kind:"data",namespace:"data",varPrefix:"d",idType:"data",idPrefix:"PROPERTY_BANK_DATA_NODE_",typename:"Data"},"animations.ts":{kind:"animation",namespace:"animations",varPrefix:"a",idType:"animation",idPrefix:"ANIMATION_",typename:"Animation"}},ea=function(e){function r(e,a,t,i=!1){var o,n,s;return A(this,r),n=r,s=[a],n=L(n),(o=C(this,X()?Reflect.construct(n,s||[],L(this).constructor):n.apply(this,s))).name="EntryEditingError",o.code=e,o.details=t,o.isMcpError=i,o}return R(r,e),T(r)}(F(Error)),et=(e,r)=>{if(U.isAbsolute(r))throw new ea("invalid_file","File must be project-relative",{file:r});var a=U.resolve(e,r),t=U.relative(e,a);if(t.startsWith("..")||U.isAbsolute(t))throw new ea("invalid_file","File must stay inside the project directory",{file:r});return a},ei=(e,r)=>{try{return(0,N.parse)(e,{sourceType:"module",plugins:["typescript","topLevelAwait"],errorRecovery:!1})}catch(e){throw new ea("parse_failed",`Cannot parse ${r} as TypeScript: ${e.message}. Edit this file directly.`,{file:r},!0)}},eo=(i=O(function*(e,r){var a=yield(0,B.readFile)(r,"utf8"),t=(0,V.RI)(e,r);return{source:a,ast:ei(a,t),absPath:r,relPath:t,kind:(e=>{var r=U.basename(e),a=er[r];if(!a)throw new ea("unsupported_file",`Unsupported entry file: ${r}`,{file:e,expected:Object.keys(er)});return a})(r)}}),function(e,r){return i.apply(this,arguments)}),en=e=>e.program.body.flatMap(e=>{if(!M.isExportNamedDeclaration(e)||!M.isVariableDeclaration(e.declaration))return[];var r=e.declaration;return r.declarations.flatMap(a=>{if(!M.isIdentifier(a.id))return[];var t,i=a.id.typeAnnotation;M.isTSTypeAnnotation(i)&&M.isTSTypeReference(i.typeAnnotation)&&M.isIdentifier(i.typeAnnotation.typeName)&&(t=i.typeAnnotation.typeName.name);var o=M.isObjectExpression(a.init)?a.init:void 0;return[{name:a.id.name,node:e,declaration:r,declarator:a,object:o,id:o?(0,V.JJ)(o,"id"):void 0,alias:o?(0,V.JJ)(o,"alias"):void 0,typeName:t}]})}),es=(e,r)=>{var a=en(e.ast);if(r.entry){var t=a.find(e=>e.name===r.entry);if(t)return t;var i=a.filter(e=>e.alias===r.entry);if(1===i.length)return i[0];if(i.length>1)throw new ea("ambiguous_reference",`Alias is ambiguous: ${r.entry}`,{file:e.relPath,entry:r.entry,matches:i.map(e=>e.name)});throw new ea("entry_not_found",`Entry not found (by name or alias): ${r.entry}`,{file:e.relPath,entry:r.entry})}if(r.id){var o=a.find(e=>e.id===r.id);if(!o)throw new ea("entry_not_found",`Entry id not found: ${r.id}`,{file:e.relPath,id:r.id});return o}throw new ea("missing_target","Provide entry or id")},el=e=>e.split(U.sep).find(e=>/^subspace-\d+$/.test(e))||"unknown-subspace",ec=e=>{var r=e.split(U.sep),a=r.findIndex(e=>/^subspace-\d+$/.test(e));if(a<0)throw new ea("invalid_file","Entry file must be inside subspaces/subspace-N",{file:e});return r.slice(0,a+1).join(U.sep)},ed=(o=O(function*(e){var r=U.join(e,"subspaces");return(yield(0,B.readdir)(r,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isDirectory()&&/^subspace-\d+$/.test(e.name)).map(e=>U.join(r,e.name)).sort()}),function(e){return o.apply(this,arguments)}),eu=(n=O(function*(e){var r=Object.keys(er),a=yield(0,B.readdir)(e,{withFileTypes:!0}).catch(()=>[]),t=new Set(a.filter(e=>e.isFile()).map(e=>e.name));return r.filter(e=>t.has(e)).map(r=>U.join(e,r))}),function(e){return n.apply(this,arguments)}),ep=(s=O(function*(e){var r=yield ed(e);return(yield Promise.all(r.map(eu))).flat()}),function(e){return s.apply(this,arguments)}),em=(l=O(function*(e,r){if(r.file)return et(e,r.file);if(!r.id)throw new ea("missing_file","Provide file, or provide id for global lookup");for(var a of yield ep(e)){var t=yield eo(e,a);if(en(t.ast).find(e=>e.id===r.id))return a}throw new ea("entry_not_found",`Entry id not found: ${r.id}`,{id:r.id})}),function(e,r){return l.apply(this,arguments)}),eh=(c=O(function*(e,r){var a=yield em(e,r),t=yield eo(e,a),i=es(t,r),o=((e,r)=>{if(!e.object)throw new ea("fallback_recommended",`Entry ${e.name} in ${r} is not a top-level exported object literal. Edit this file directly for this one.`,{file:r,entry:e.name,check:"top-level export const object literal"});return e.object})(i,t.relPath);return{parsed:t,entry:i,object:o}}),function(e,r){return c.apply(this,arguments)}),ef=(e,r)=>M.callExpression(M.identifier("makeId"),r?[M.stringLiteral(e),M.stringLiteral(r)]:[M.stringLiteral(e)]),eg=e=>{var r=[];for(var a of e.split(".").filter(Boolean))for(var t=/([^\[\]]+)|\[(\d+)\]/g,i=void 0;i=t.exec(a);)i[1]&&r.push({key:i[1]}),i[2]&&r.push({index:Number(i[2])});if(0===r.length)throw new ea("invalid_path",`Invalid path: ${e}`,{path:e});return r},eb=e=>M.isTSAsExpression(e)||M.isTSSatisfiesExpression(e)||M.isTSNonNullExpression(e)||M.isParenthesizedExpression(e)?eb(e.expression):e,ey=(e,r)=>{var a=eb(e);if(!M.isObjectExpression(a))throw new ea("fallback_recommended",`Target path ${r} is not an object literal. Edit this file directly for this one.`,{path:r,expected:"object literal",actual:a.type});return a},ew=(e,r)=>{var a=eb(e);if(!M.isArrayExpression(a))throw new ea("fallback_recommended",`Target path ${r} is not an array literal. Edit this file directly for this one.`,{path:r,expected:"array literal",actual:a.type});return a},ev=e=>"array"==("index"in e?"array":"object")?M.arrayExpression([]):M.objectExpression([]),ek=(d=O(function*(e,r,a,t){for(var i=eg(r),o=e,n=0;n<i.length;n+=1){var s=i[n],l=n===i.length-1;if("key"in s){var c=ey(o,r);if(l)return void(0,V.HJ)(c,s.key,(yield eE(a,t)));var d=i[n+1],u=(0,V.bf)(c,s.key);u||(u=M.objectProperty((0,V.zu)(s.key),ev(d)),c.properties.push(u)),o=u.value;continue}var p=ew(o,r);if(s.index<0||s.index>p.elements.length)throw new ea("invalid_path",`Array index out of range for ${r}`,{path:r,index:s.index});if(l){p.elements[s.index]=yield eE(a,t);return}p.elements[s.index]||(p.elements[s.index]=ev(i[n+1])),o=p.elements[s.index]}}),function(e,r,a,t){return d.apply(this,arguments)}),ex=(e,r)=>{for(var a=eg(r),t=e,i=0;i<a.length;i+=1){var o=a[i],n=i===a.length-1;if("key"in o){var s=ey(t,r);if(n)return void(0,V.jc)(s,o.key);var l=(0,V.bf)(s,o.key);if(!l)return;t=l.value;continue}var c=ew(t,r);if(o.index<0||o.index>=c.elements.length)return;if(n)return void c.elements.splice(o.index,1);var d=c.elements[o.index];if(!d)return;t=d}},e_=(e,r)=>{var a=(0,V.bf)(e,"switches");if(!a)throw new ea("fallback_recommended","Entry has no switches array",{path:"switches"});var t=ew(a.value,"switches"),i="number"==typeof r?r:t.elements.findIndex(e=>M.isObjectExpression(e)&&(0,V.JJ)(e,"id")===r);if(i<0||i>=t.elements.length)throw new ea("entry_not_found",`Switch not found: ${r}`,{switch:r});var o=t.elements[i];if(!M.isObjectExpression(o))throw new ea("fallback_recommended",`Switch ${String(r)} is not an object literal. Edit this file directly for this one.`,{switch:r});return o},eq=(e,r)=>{var a=r.replace(/\.[tj]sx?$/,""),t=U.relative(U.dirname(e),a).replace(/\\/g,"/");return t.startsWith(".")||(t=`./${t}`),t},ej=e=>{(0,V.Kx)(e.parsed.ast,"type",e.typeImports),(0,V.Kx)(e.parsed.ast,"value",e.valueImports)},e$=(u=O(function*(e,r,a){if(null==a||""===a)return r;if("number"==typeof a)return U.join(e,"subspaces",`subspace-${a}`);var t=String(a);if(/^\d+$/.test(t))return U.join(e,"subspaces",`subspace-${t}`);if(/^subspace-\d+$/.test(t))return U.join(e,"subspaces",t);if(t.includes("/"))return et(e,t);var i,o=yield ed(e),n=function*(){var r=U.join(s,"index.ts"),a=yield(0,B.readFile)(r,"utf8").catch(()=>"");if(!a)return 0;var i=ei(a,(0,V.RI)(e,r)),o=!1;if(ee(i,{ObjectProperty(e){"id"===(0,V.Gp)(e.node.key)&&M.isStringLiteral(e.node.value)&&e.node.value.value===t&&(o=!0,e.stop())}}),o)return{v:s}};for(var s of o)if(i=yield*n(),0!==i&&i)return i.v;throw new ea("reference_not_found",`Subspace not found: ${t}`,{subspace:t})}),function(e,r,a){return u.apply(this,arguments)}),eS=(p=O(function*(e,r,a,t){var i=ec(r),o=yield e$(e,i,t),n=yield eu(o),s=[];for(var l of n){var c=yield eo(e,l),d=c.kind;for(var u of en(c.ast))if(u.name===a||u.id===a||u.alias===a){var p=U.resolve(l)===U.resolve(r),m=U.basename(o);s.push({input:a,id:u.id,alias:u.alias,varName:u.name,namespace:d.namespace,display:`${d.namespace}.${u.name}`,targetAbsPath:l,sameFile:p,subspaceLabel:m,importSource:p?void 0:eq(r,l)})}}if(0===s.length)throw new ea("reference_not_found",`Reference not found: ${a}`,{ref:a,subspace:t??U.basename(i)});if(s.length>1)throw new ea("ambiguous_reference",`Reference is ambiguous: ${a}`,{ref:a,matches:s.map(r=>({file:(0,V.RI)(e,r.targetAbsPath),entry:r.varName,id:r.id,alias:r.alias}))});return s[0]}),function(e,r,a,t){return p.apply(this,arguments)}),eP=(m=O(function*(e,r,a){var t=yield eS(r.projectDir,r.parsed.absPath,e,a);if(t.sameFile)return r.references.push(t),M.identifier(t.varName);var i=ec(r.parsed.absPath),o=ec(t.targetAbsPath),n=t.subspaceLabel.replace(/[^a-zA-Z0-9_$]/g,""),s=i===o?t.namespace:`${n}${t.namespace[0].toUpperCase()}${t.namespace.slice(1)}`,l=((e,r,a,t)=>{for(var i of e.ast.program.body)if(M.isImportDeclaration(i)&&i.source.value===a){var o,n,s=i.specifiers.find(M.isImportNamespaceSpecifier);if(s)return s.local.name}var l=(o=e.ast,n=new Set,o.program.body.forEach(e=>{M.isImportDeclaration(e)?e.specifiers.forEach(e=>n.add(e.local.name)):M.isExportNamedDeclaration(e)&&M.isVariableDeclaration(e.declaration)&&e.declaration.declarations.forEach(e=>{M.isIdentifier(e.id)&&n.add(e.id.name)})}),n),c=t;if(l.has(c)){for(var d=1;l.has(`${c}${d}`);)d+=1;c=`${c}${d}`}var u=M.importDeclaration([M.importNamespaceSpecifier(M.identifier(c))],M.stringLiteral(a));return(0,V.Pb)(e.ast,u),c})(r.parsed,t.namespace,t.importSource,s);return t.importLocal=l,r.references.push({...t,display:`${l}.${t.varName}`,importLocal:l}),M.memberExpression(M.identifier(l),M.identifier(t.varName))}),function(e,r,a){return m.apply(this,arguments)}),eE=(h=O(function*(e,r){if((0,V.u4)(e)&&"string"==typeof e.expr&&1===Object.keys(e).length){var a=e.expr;try{return(0,N.parseExpression)(a,{plugins:["typescript"]})}catch(e){throw new ea("invalid_expr",`Invalid TypeScript expression: ${e.message}`,{expr:a})}}if((0,V.u4)(e)&&"string"==typeof e.link){r.valueImports.add("linkData");var t=yield eP(e.link,r,e.subspace);return M.callExpression(M.identifier("linkData"),[M.arrowFunctionExpression([],t)])}if((0,V.u4)(e)&&"string"==typeof e.ref){var i=yield eP(e.ref,r,e.subspace);return M.arrowFunctionExpression([],i)}if(Array.isArray(e))return M.arrayExpression((yield Promise.all(e.map(e=>eE(e,r)))));if((0,V.u4)(e)){var o,n=yield Promise.all(Object.entries(e).map((o=O(function*([e,a]){return M.objectProperty((0,V.zu)(e),(yield eE(a,r)))}),function(e){return o.apply(this,arguments)})));return M.objectExpression(n)}return void 0===e?M.identifier("undefined"):M.valueToNode(e)}),function(e,r){return h.apply(this,arguments)}),eI=e=>e.map(e=>({input:e.input,id:e.id,alias:e.alias,resolved:e.importLocal?`${e.importLocal}.${e.varName}`:e.sameFile?e.varName:e.display,file:e.targetAbsPath})),ez=(f=O(function*(e){var r=Q(e.ast,{comments:!0},e.source).code,a=yield(0,K.format)(e.absPath,r,V.Hn);if(a.errors.length>0)throw new ea("format_failed",`oxfmt failed for ${e.relPath}`,{file:e.relPath,errors:a.errors});return a.code}),function(e){return f.apply(this,arguments)}),eO=(g=O(function*(e){var r=yield ez(e);return ei(r,e.relPath),yield(0,B.writeFile)(e.absPath,r),r}),function(e){return g.apply(this,arguments)}),eT=(e,r)=>{if(e){var a=el(e.absPath);return`${r?.name||"entry"} (${e.kind.kind}, ${a})`}},eA=(b=O(function*(e,r,a,t){var i={ts:new Date().toISOString(),tool:r,op:a?.op||(a?.set?"set":a?.unset?"unset":r),target:{file:a?.file,entry:a?.entry,id:a?.id},provenance:(0,W.S)()};try{var o=yield t(),n={...i,...o};return yield(0,W.a)(e,n).catch(e=>{n.auditError=e.message}),n}catch(t){var s=t instanceof ea?t:new ea("error",t.message||String(t),void 0,!0),l="fallback_recommended"===s.code?"fallback_recommended":"error",c={...i,outcome:l,input:a,error:{code:s.code,message:s.message,details:s.details},summary:"fallback_recommended"===l?`${r} could not safely edit this standard path; edit the file directly`:`${r} failed: ${s.message}`,isError:s.isMcpError||"error"===l};return yield(0,W.a)(e,c).catch(e=>{c.auditError=e.message}),c}}),function(e,r,a,t){return b.apply(this,arguments)}),eC=(y=O(function*(e,r){return eA(e,"edit_entry",r,O(function*(){var a=yield eh(e,r),t=a.parsed,i=a.entry,o=a.object,n={projectDir:e,parsed:t,references:[],typeImports:new Set,valueImports:new Set},s=null==r.switch?o:e_(o,r.switch);for(var l of Object.entries(r.set||{})){var c=z(l,2),d=c[0],u=c[1];yield ek(s,d,u,n)}for(var p of[...r.unset||[]].sort((e,r)=>{for(var a=eg(e).map(e=>"index"in e?e.index:-1),t=eg(r).map(e=>"index"in e?e.index:-1),i=0;i<Math.min(a.length,t.length);i+=1)if(a[i]!==t[i])return t[i]-a[i];return t.length-a.length}))ex(s,p);ej(n),yield eO(t);var m=yield(0,H.H)(e,r.verify),h=eT(t,i);return{file:t.relPath,entry:i.name,id:i.id,change:{set:r.set||{},unset:r.unset||[],references:eI(n.references)},outcome:"compile:failed"===m.status?"verify_failed":"ok",verify:m,summary:`edited ${h} -> ${m.status}`}}))}),function(e,r){return y.apply(this,arguments)}),eL=e=>{switch(e){case"IfStatement":return"an if statement";case"ForStatement":case"ForOfStatement":case"ForInStatement":return"a for loop";case"WhileStatement":case"DoWhileStatement":return"a while loop";case"SwitchStatement":return"a switch statement";case"TryStatement":return"a try/catch block";case"FunctionDeclaration":return"a function declaration";case"ReturnStatement":return"a return before the final statement";default:return`a ${e}`}},eR=(e,r)=>{for(var a=0;a<e.length;a+=1){var t=e[a],i=a===e.length-1;if("ExpressionStatement"===t.type){var o=eF(t.expression);if(o)return o;continue}if("VariableDeclaration"===t.type){for(var n of t.declarations)if("Identifier"!==n.id.type||!n.init)return"a destructuring or uninitialized declaration";continue}if(r&&i&&"ReturnStatement"===t.type){var s=t.argument?eF(t.argument):null;if(s)return s;continue}return eL(t.type)}return null},eF=e=>{if(e?.type!=="CallExpression"||e.arguments?.length||e.callee?.type!=="ArrowFunctionExpression"&&e.callee?.type!=="FunctionExpression")return null;var r=e.callee.body;return r?.type==="BlockStatement"?eR(r.body,!0):eF(r)},eD=(w=O(function*(e,r){if(e?.expr)return eE(e,r);var a,t=(e=>{if(!(0,V.u4)(e)||!(0,V.u4)(e.action))return e;var r=e.action,a={handler:e.handler,name:r.name??r.__actionName,waitAsync:e.waitAsync};if(r.cast&&(a.cast=r.cast),Array.isArray(r.params))for(var t of(a.params={},r.params)){if(!(0,V.u4)(t)||"string"!=typeof t.input)throw new ea("invalid_action",'Compiled action params entries require { input: "name", value }',{param:t});a.params[t.input]=t.value}if(Array.isArray(r.dataParams))for(var i of(a.dataParams={},r.dataParams)){var o=(0,V.u4)(i?.input)?i.input.ref:i?.input;if("string"!=typeof o||!o)throw new ea("invalid_action","Compiled action dataParams entries require { input: dataRef, value }",{param:i});a.dataParams[o]=i.value}return a})(e),i=t?.name;if(!i)throw new ea("invalid_action","Action requires name");if("PROPERTY_BANK_EXPRESSION"===i&&(0,V.u4)(t.params)){var o=t.params.expression;"string"==typeof o&&(e=>{try{r=(0,Y.qg)(e,{ecmaVersion:2020})}catch(r){throw new ea("invalid_action",`PROPERTY_BANK_EXPRESSION does not parse: ${r.message}`,{expression:e})}var r,a=eR(r.body,!1);if(a)throw new ea("invalid_action",`PROPERTY_BANK_EXPRESSION cannot evaluate ${a}: the runtime folds the expression into a single expression (expression statements, simple const/let declarations, and a final return inside an IIFE only). Use ternaries instead of statements, or move branching logic to a DataCalculationScript.`,{expression:e})})(o)}var n="System",s=t.cast;if("system"===t.handler||null==t.handler)a=M.stringLiteral("system"),s||=`SystemAction${i.toLowerCase().split("_").filter(Boolean).map(e=>`${e[0].toUpperCase()}${e.slice(1)}`).join("")}`;else if((0,V.u4)(t.handler)&&"string"==typeof t.handler.ref){var l=yield eS(r.projectDir,r.parsed.absPath,t.handler.ref,t.handler.subspace);if("bricks"!==l.namespace&&"generators"!==l.namespace)throw new ea("invalid_action",`Action handler must be a brick or generator, got ${l.namespace}: ${t.handler.ref}`,{handler:t.handler});n="bricks"===l.namespace?"Brick":"Generator";var c=yield eP(t.handler.ref,r,t.handler.subspace);a=M.arrowFunctionExpression([],c)}else if((0,V.u4)(t.handler)&&"string"==typeof t.handler.subspace)a=M.stringLiteral(t.handler.subspace),n="Subspace";else throw new ea("invalid_action","Unsupported action handler",{handler:t.handler});var d=[M.objectProperty(M.identifier("__actionName"),M.stringLiteral(i)),M.objectProperty(M.identifier("parent"),M.stringLiteral(n)),M.objectProperty(M.identifier("name"),M.stringLiteral(i))];if(t.params){var u,p=yield Promise.all(Object.entries(t.params).map((u=O(function*([e,a]){return M.objectExpression([M.objectProperty(M.identifier("input"),M.stringLiteral(e)),M.objectProperty(M.identifier("value"),(yield eE(a,r)))])}),function(e){return u.apply(this,arguments)})));d.push(M.objectProperty(M.identifier("params"),M.arrayExpression(p)))}if(t.dataParams){var m,h=yield Promise.all(Object.entries(t.dataParams).map((m=O(function*([e,a]){var t=yield eP(e,r);return M.objectExpression([M.objectProperty(M.identifier("input"),M.arrowFunctionExpression([],t)),M.objectProperty(M.identifier("value"),(yield eE(a,r)))])}),function(e){return m.apply(this,arguments)})));d.push(M.objectProperty(M.identifier("dataParams"),M.arrayExpression(h)))}var f=M.objectExpression(d);return s&&(r.typeImports.add(s),f=M.tsAsExpression(f,M.tsTypeReference(M.identifier(s)))),M.objectExpression([M.objectProperty(M.identifier("handler"),a),M.objectProperty(M.identifier("action"),f),M.objectProperty(M.identifier("waitAsync"),M.booleanLiteral(!!t.waitAsync))])}),function(e,r){return w.apply(this,arguments)}),eN=(e,r,a)=>{var t=(0,V.bf)(e,r);return t||(t=M.objectProperty((0,V.zu)(r),M.objectExpression([])),e.properties.push(t)),ey(t.value,a)},eG=(e,r,a)=>{var t=(0,V.bf)(e,r);return t||(t=M.objectProperty((0,V.zu)(r),M.arrayExpression([])),e.properties.push(t)),ew(t.value,a)},eM=(v=O(function*(e,r){return eA(e,"edit_events",r,O(function*(){var a=yield eh(e,r),t=a.parsed,i=a.entry,o=a.object,n={projectDir:e,parsed:t,references:[],typeImports:new Set,valueImports:new Set},s=null==r.switch?o:e_(o,r.switch),l=r.op;if("clear"===l||"remove"===l||"move"===l){var c=(0,V.bf)(s,"events"),d=c?ey(c.value,"events"):null,u=d?(0,V.bf)(d,r.event):null,p=u?ew(u.value,`events.${r.event}`):null;if("clear"===l)d&&(0,V.jc)(d,r.event);else if("move"===l){if(null==r.index)throw new ea("invalid_index","move requires index");if(!p||r.index<0||r.index>=p.elements.length)throw new ea("invalid_index","move index out of range",{index:r.index});var m=Number(r.to);if(!Number.isFinite(m)||m<0||m>=p.elements.length)throw new ea("invalid_index","move requires valid to index",{to:r.to});var h=p.elements.splice(r.index,1),f=z(h,1)[0];p.elements.splice(m,0,f)}else{if(null==r.index)throw new ea("invalid_index","remove requires index");if(!p||r.index<0||r.index>=p.elements.length)throw new ea("invalid_index","remove index out of range",{index:r.index});p.elements.splice(r.index,1),0===p.elements.length&&d&&(0,V.jc)(d,r.event)}}else if("add"===l||"replace"===l){var g=yield eD(r.action,n),b=eN(s,"events","events"),y=eG(b,r.event,`events.${r.event}`),w=r.index??y.elements.length;if("replace"===l){if(w<0||w>=y.elements.length)throw new ea("invalid_index","replace index out of range",{index:w});y.elements[w]=g}else{if(w<0||w>y.elements.length)throw new ea("invalid_index","add index out of range",{index:w});y.elements.splice(w,0,g)}}else throw new ea("invalid_op",`Unsupported edit_events op: ${l}`);ej(n),yield eO(t);var v=yield(0,H.H)(e,r.verify);return{file:t.relPath,entry:i.name,id:i.id,change:{event:r.event,op:l,index:r.index,references:eI(n.references)},outcome:"compile:failed"===v.status?"verify_failed":"ok",verify:v,summary:`${l} event ${r.event} on ${eT(t,i)} -> ${v.status}`}}))}),function(e,r){return v.apply(this,arguments)}),eY=e=>{if((0,V.u4)(e)&&"string"==typeof e.expr)return e;if(!(0,V.u4)(e))throw new ea("invalid_item","Canvas item requires frame { x, y, width, height }");for(var r of["x","y","width","height"])if("number"!=typeof e[r])throw new ea("invalid_item",`Canvas item frame requires numeric ${r}`,{frame:e});return e},eK=(k=O(function*(e,r,a){if(!e?.ref)throw new ea("invalid_item","Canvas item requires ref");var t=eY(e.frame??a),i=yield eP(e.ref,r,e.subspace);return M.objectExpression([M.objectProperty(M.identifier("item"),M.arrowFunctionExpression([],i)),M.objectProperty(M.identifier("frame"),(yield eE(t,r))),...null==e.hidden?[]:[M.objectProperty(M.identifier("hidden"),M.booleanLiteral(!!e.hidden))]])}),function(e,r,a){return k.apply(this,arguments)}),eB=(x=O(function*(e,r){return eA(e,"edit_canvas_items",r,O(function*(){var a=yield eh(e,r),t=a.parsed,i=a.entry,o=a.object;if("canvas"!==t.kind.kind)throw new ea("invalid_file","edit_canvas_items only edits canvases.ts entries",{file:t.relPath});var n={projectDir:e,parsed:t,references:[],typeImports:new Set,valueImports:new Set},s=eG(o,"items","items"),l=r.op;if("add"===l||"replace"===l){var c=yield eK(r.item,n,r.frame),d=r.index??s.elements.length;if("replace"===l){if(d<0||d>=s.elements.length)throw new ea("invalid_index","replace index out of range",{index:d});s.elements[d]=c}else{if(d<0||d>s.elements.length)throw new ea("invalid_index","add index out of range",{index:d});s.elements.splice(d,0,c)}}else if("remove"===l){if(null==r.index)throw new ea("invalid_index","remove requires index");if(r.index<0||r.index>=s.elements.length)throw new ea("invalid_index","remove index out of range",{index:r.index});s.elements.splice(r.index,1)}else if("move"===l){if(null==r.index)throw new ea("invalid_index","move requires index");if(!r.frame)throw new ea("invalid_item","move requires frame");if(r.index<0||r.index>=s.elements.length)throw new ea("invalid_index","move index out of range",{index:r.index});var u=s.elements[r.index];if(!M.isObjectExpression(u))throw new ea("fallback_recommended","Canvas item is not an object literal",{index:r.index});(0,V.HJ)(u,"frame",(yield eE(eY(r.frame),n)))}else throw new ea("invalid_op",`Unsupported edit_canvas_items op: ${l}`);ej(n),yield eO(t);var p=yield(0,H.H)(e,r.verify);return{file:t.relPath,entry:i.name,id:i.id,change:{op:l,index:r.index,references:eI(n.references)},outcome:"compile:failed"===p.status?"verify_failed":"ok",verify:p,summary:`${l} canvas item on ${eT(t,i)} -> ${p.status}`}}))}),function(e,r){return x.apply(this,arguments)}),eU=(_=O(function*(e,r){var a=(e=>{switch(e?.__typename){case"SwitchCondInnerStateCurrentCanvas":return{type:"inner_state",key:"current_canvas",value:e.value,subspace:e.subspace};case"SwitchCondInnerStateOutlet":return{type:"inner_state",outlet:e.outlet,value:e.value};case"SwitchCondData":return{type:"property_bank",ref:e.data??e.ref,value:e.value,subspace:e.subspace};case"SwitchCondPropertyBankByItemKey":return{type:"property_bank_by_item_key",ref:e.data??e.ref,value:e.value,subspace:e.subspace};default:return e}})(e);if(a?.expr)return eE(a,r);if(a?.type==="inner_state"&&"current_canvas"===a.key){var t=yield eP(a.value,r,a.subspace);return M.objectExpression([M.objectProperty(M.identifier("__typename"),M.stringLiteral("SwitchCondInnerStateCurrentCanvas")),M.objectProperty(M.identifier("value"),M.arrowFunctionExpression([],t))])}if(a?.type==="inner_state"){var i=a.outlet||a.key;if(!i)throw new ea("invalid_switch","Switch inner-state outlet condition requires outlet or key");return M.objectExpression([M.objectProperty(M.identifier("__typename"),M.stringLiteral("SwitchCondInnerStateOutlet")),M.objectProperty(M.identifier("outlet"),M.stringLiteral(i)),M.objectProperty(M.identifier("value"),(yield eE(a.value,r)))])}var o=a?.ref||a?.data||a?.key;if(!o)throw new ea("invalid_switch","Switch condition requires data ref");var n=yield eP(o,r,a.subspace);return M.objectExpression([M.objectProperty(M.identifier("__typename"),M.stringLiteral(a?.type==="property_bank_by_item_key"?"SwitchCondPropertyBankByItemKey":"SwitchCondData")),M.objectProperty(M.identifier("data"),M.arrowFunctionExpression([],n)),M.objectProperty(M.identifier("value"),(yield eE(a.value,r)))])}),function(e,r){return _.apply(this,arguments)}),eJ=new Set(["id","title","description","conds","override","property","outlets","animation","events","disabled","break"]),eH=(q=O(function*(e,r){for(var a of Object.keys(e))if(!eJ.has(a))throw new ea("invalid_switch",`Unknown switch field: ${a}`,{field:a,supported:Array.from(eJ)});if(void 0!==e.events)throw new ea("invalid_switch","Set switch events with edit_events using its switch parameter");if(e.id&&!/^BRICK_STATE_GROUP_[0-9a-fA-F-]{36}$/.test(e.id))throw new ea("invalid_switch","Switch id must match BRICK_STATE_GROUP_<uuid>; omit id to generate one",{id:e.id});var t,i=e.id?M.stringLiteral(e.id):ef("switch");e.id||r.valueImports.add("makeId");var o=[M.objectProperty(M.identifier("id"),i)];for(var n of(null!=e.title&&o.push(M.objectProperty(M.identifier("title"),M.stringLiteral(e.title))),null!=e.description&&o.push(M.objectProperty(M.identifier("description"),M.stringLiteral(e.description))),e.conds&&o.push(M.objectProperty(M.identifier("conds"),M.arrayExpression((yield Promise.all(e.conds.map((t=O(function*(e){return M.objectExpression([M.objectProperty(M.identifier("method"),M.stringLiteral(e.method||"==")),M.objectProperty(M.identifier("cond"),(yield eU(e.cond||e,r)))])}),function(e){return t.apply(this,arguments)}))))))),e.override&&o.push(M.objectProperty(M.identifier("override"),(yield eE(e.override,r)))),["property","outlets","animation"]))null!=e[n]&&o.push(M.objectProperty(M.identifier(n),(yield eE(e[n],r))));return null!=e.disabled&&o.push(M.objectProperty(M.identifier("disabled"),M.booleanLiteral(!!e.disabled))),null!=e.break&&o.push(M.objectProperty(M.identifier("break"),M.booleanLiteral(!!e.break))),M.objectExpression(o)}),function(e,r){return q.apply(this,arguments)}),eV=(j=O(function*(e,r){return eA(e,"edit_switches",r,O(function*(){var a=yield eh(e,r),t=a.parsed,i=a.entry,o=a.object,n={projectDir:e,parsed:t,references:[],typeImports:new Set,valueImports:new Set},s=eG(o,"switches","switches"),l=r.op,c=e=>"number"==typeof e?e:e?s.elements.findIndex(r=>M.isObjectExpression(r)&&(0,V.JJ)(r,"id")===e):-1;if("add"===l||"replace"===l){var d=yield eH(r.switch||{},n),u=null==r.index?s.elements.length:c(r.index);if("replace"===l){if(u<0||u>=s.elements.length)throw new ea("invalid_index","replace index out of range",{index:u});s.elements[u]=d}else{if(u<0||u>s.elements.length)throw new ea("invalid_index","add requires a valid switch id or index",{index:r.index});s.elements.splice(u,0,d)}}else if("remove"===l){var p=c(r.index);if(p<0||p>=s.elements.length)throw new ea("invalid_index","remove requires a valid switch id or index",{index:r.index});s.elements.splice(p,1)}else if("move"===l){var m=c(r.index);if(m<0||m>=s.elements.length)throw new ea("invalid_index","move requires a valid switch id or index",{index:r.index});var h=Number(r.to);if(!Number.isFinite(h)||h<0||h>=s.elements.length)throw new ea("invalid_index","move requires valid to index",{to:r.to});var f=s.elements.splice(m,1),g=z(f,1)[0];s.elements.splice(h,0,g)}else throw new ea("invalid_op",`Unsupported edit_switches op: ${l}`);ej(n),yield eO(t);var b=yield(0,H.H)(e,r.verify);return{file:t.relPath,entry:i.name,id:i.id,change:{op:l,index:r.index,references:eI(n.references)},outcome:"compile:failed"===b.status?"verify_failed":"ok",verify:b,summary:`${l} switch on ${eT(t,i)} -> ${b.status}`}}))}),function(e,r){return j.apply(this,arguments)}),eW=($=O(function*(e,r,a,t){var i=[M.objectProperty(M.identifier("__typename"),M.stringLiteral(e.typename)),M.objectProperty(M.identifier("id"),a)];return r.alias&&i.push(M.objectProperty(M.identifier("alias"),M.stringLiteral(r.alias))),null!=r.title&&i.push(M.objectProperty(M.identifier("title"),M.stringLiteral(r.title))),null!=r.description&&i.push(M.objectProperty(M.identifier("description"),M.stringLiteral(r.description))),"brick"===e.kind||"generator"===e.kind?(i.push(M.objectProperty(M.identifier("templateKey"),M.stringLiteral(r.templateKey||""))),i.push(M.objectProperty(M.identifier("property"),M.objectExpression([]))),i.push(M.objectProperty(M.identifier("events"),M.objectExpression([]))),i.push(M.objectProperty(M.identifier("outlets"),M.objectExpression([]))),"brick"===e.kind&&i.push(M.objectProperty(M.identifier("animation"),M.objectExpression([]))),i.push(M.objectProperty(M.identifier("switches"),M.arrayExpression([])))):"canvas"===e.kind?(i.push(M.objectProperty(M.identifier("property"),M.objectExpression([]))),i.push(M.objectProperty(M.identifier("events"),M.objectExpression([]))),i.push(M.objectProperty(M.identifier("switches"),M.arrayExpression([]))),i.push(M.objectProperty(M.identifier("items"),M.arrayExpression([])))):"data"===e.kind?(i.push(M.objectProperty(M.identifier("type"),M.stringLiteral(r.dataType||"any"))),i.push(M.objectProperty(M.identifier("schema"),M.objectExpression([]))),i.push(M.objectProperty(M.identifier("events"),M.objectExpression([]))),i.push(M.objectProperty(M.identifier("value"),M.identifier("undefined")))):"animation"===e.kind&&(i.push(M.objectProperty(M.identifier("runType"),M.stringLiteral("once"))),i.push(M.objectProperty(M.identifier("property"),M.stringLiteral("opacity"))),i.push(M.objectProperty(M.identifier("config"),(yield eE({__type:"AnimationTimingConfig",toValue:1,duration:300,easing:"",delay:0,isInteraction:!0},t))))),M.objectExpression(i)}),function(e,r,a,t){return $.apply(this,arguments)}),eZ=(S=O(function*(e,r,a){var t=U.basename(r);for(var i of(yield ep(e)).filter(e=>U.basename(e)===t)){var o=yield eo(e,i);if(en(o.ast).some(e=>e.alias===a))return!0}return!1}),function(e,r,a){return S.apply(this,arguments)}),eX=(P=O(function*(e,r){return eA(e,"new_entry",r,O(function*(){if(!r.file)throw new ea("missing_file","new_entry requires file");if(!r.type)throw new ea("missing_type","new_entry requires TypeScript type");var a=et(e,r.file),t=yield eo(e,a),i=new Set(en(t.ast).map(e=>e.name)),o="string"==typeof r.id?r.id:void 0,n=o||"string"!=typeof r.alias||!r.alias||(yield eZ(e,a,r.alias))?void 0:r.alias,s=o?M.stringLiteral(o):ef(t.kind.idType,n),l=r.entry||((e,r,a,t)=>{var i,o=(e=>{if(!e)return null;var r=e.replace(/[^a-zA-Z0-9_$]/g,"");return r?(/^[0-9]/.test(r)&&(r=`_${r}`),r):null})(t)||(a?`${r.varPrefix}${i=a.replace(/^[A-Z_]+/g,""),`${i.substr(15,3)}${i.substr(20,1)}`}`:`${r.varPrefix}Entry`);if(!e.has(o))return o;for(var n=1;e.has(`${o}${n}`);)n+=1;return`${o}${n}`})(i,t.kind,o,r.alias||r.title),c={projectDir:e,parsed:t,references:[],typeImports:new Set([r.type]),valueImports:new Set};o||c.valueImports.add("makeId");var d=yield eW(t.kind,r,s,c),u=M.variableDeclarator(M.identifier(l),d);for(var p of(u.id.typeAnnotation=M.tsTypeAnnotation(M.tsTypeReference(M.identifier(r.type))),t.ast.program.body.push(M.exportNamedDeclaration(M.variableDeclaration("const",[u]))),Object.entries(r.set||{}))){var m=z(p,2),h=m[0],f=m[1];yield ek(d,h,f,c)}for(var g of r.events||[]){if(!(0,V.u4)(g)||"string"!=typeof g.event||!g.event||!g.action)throw new ea("invalid_action","events entries require { event, action }",{event:g});var b=eN(d,"events","events");eG(b,g.event,`events.${g.event}`).elements.push((yield eD(g.action,c)))}ej(c),yield eO(t);var y=yield(0,H.H)(e,r.verify);return{file:t.relPath,entry:l,id:o,idExpression:o??(n?`makeId('${t.kind.idType}', '${n}')`:`makeId('${t.kind.idType}')`),change:{set:r.set||{},events:r.events||[],references:eI(c.references)},outcome:"compile:failed"===y.status?"verify_failed":"ok",verify:y,summary:`created ${l} (${t.kind.kind}, ${el(t.absPath)}) -> ${y.status}`}}))}),function(e,r){return P.apply(this,arguments)}),eQ=(e,r)=>{var a;return M.isArrowFunctionExpression(e)&&0===e.params.length&&(a=e.body,!!a&&(M.isIdentifier(a)?a.name===r.varName:!!M.isMemberExpression(a)&&!!M.isIdentifier(a.object)&&!!M.isIdentifier(a.property)&&a.object.name===r.namespace&&a.property.name===r.varName))},e6=(e,r)=>M.isCallExpression(e)&&M.isIdentifier(e.callee,{name:"linkData"})&&eQ(e.arguments[0],r),e5=(e,r)=>{if(!e)return!1;if(eQ(e,r)||e6(e,r))return!0;var a=!1;return ee(M.file(M.program([M.expressionStatement(M.cloneNode(e,!0))])),{ArrowFunctionExpression(e){eQ(e.node,r)&&(a=!0,e.stop())},CallExpression(e){e6(e.node,r)&&(a=!0,e.stop())}}),a},e2=(e,r,a,t=[],i={})=>{if(M.isProgram(e))return void e.body.forEach((e,o)=>e2(e,r,a,[...t,String(o)],i));if(M.isExportNamedDeclaration(e)&&e.declaration)return void e2(e.declaration,r,a,t,i);if(M.isVariableDeclaration(e))return void e.declarations.forEach((e,o)=>e2(e,r,a,[...t,String(o)],i));if(M.isVariableDeclarator(e)&&e.init)return void e2(e.init,r,a,t,i);if(M.isObjectExpression(e)){for(var o=e.properties.length-1;o>=0;o-=1){var n=e.properties[o];if(M.isObjectProperty(n)){var s=(0,V.Gp)(n.key)||`property-${o}`,l=[...t,s];if(eQ(n.value,r)||e6(n.value,r)){t.includes("outlets")?(e.properties.splice(o,1),a.push({action:"drop_outlet",path:l.join(".")})):i.dataCalc&&("output"===s||"error"===s)?(n.value=M.nullLiteral(),a.push({action:"null_output",path:l.join(".")})):(n.value=M.identifier("undefined"),a.push({action:"null_link",path:l.join(".")}));continue}e2(n.value,r,a,l,i)}}return}if(M.isArrayExpression(e))for(var c=t[t.length-1],d=t.includes("events")&&"events"!==c,u=i.dataCalc?["items","params","dataParams","conds","switches","inputs","outputs"]:["items","params","dataParams","conds","switches"],p=e.elements.length-1;p>=0;p-=1){var m=e.elements[p];if(m){var h=[...t,String(p)];if(e5(m,r)&&(u.includes(c)||d||eQ(m,r))){e.elements.splice(p,1),a.push({action:d?"delete_event_handler":i.dataCalc&&("inputs"===c||"outputs"===c)?"remove_io_item":"remove_reference_item",path:h.join(".")});continue}e2(m,r,a,h,i)}}},e3=(e,r)=>{var a=e.ast.program.body.indexOf(r.node);a>=0&&e.ast.program.body.splice(a,1)},e8=(E=O(function*(e,r,a){if("project"===a)return ep(e);var t=ec(r),i=yield eu(t),o=U.join(t,"data-calc"),n=yield(0,B.readdir)(o,{withFileTypes:!0}).catch(()=>[]);return[...i,...n.filter(e=>e.isFile()&&e.name.endsWith(".ts")).map(e=>U.join(o,e.name))]}),function(e,r,a){return E.apply(this,arguments)}),e7=(I=O(function*(e,r){return eA(e,"remove_entry",r,O(function*(){var a,t=yield eh(e,r),i=t.parsed,o=t.entry,n={varName:o.name,namespace:i.kind.namespace,id:o.id},s=yield e8(e,i.absPath,r.scope),l=[],c=yield Promise.all(s.map((a=O(function*(r){var a=yield(0,B.readFile)(r,"utf8");return{absPath:r,relPath:(0,V.RI)(e,r),source:a,ast:ei(a,(0,V.RI)(e,r)),kind:er[U.basename(r)]||i.kind}}),function(e){return a.apply(this,arguments)}))),d=function*(e){var r,a,t,s,c;(s=(e.absPath===i.absPath?(r=o.name,a=M.cloneNode(e.ast,!0),t={...e,ast:a},e3(t,es(t,{entry:r})),t):e).ast,c=[],ee(s,{ArrowFunctionExpression(e){eQ(e.node,n)&&c.push({type:"ref",loc:e.node.loc?.start})},CallExpression(e){e6(e.node,n)&&c.push({type:"link",loc:e.node.loc?.start})}}),c).forEach(r=>l.push({file:e.relPath,...r}))};for(var u of c)yield*d(u);if(r.strict&&l.length>0)return{file:i.relPath,entry:o.name,id:o.id,outcome:"refused",touchedSites:l,verify:{status:"skipped",errors:[]},summary:`refused to remove ${eT(i,o)}; ${l.length} reference(s) found`};var p=function*(e){var r=[],a={dataCalc:e.absPath.split(U.sep).includes("data-calc")};if(e.absPath===i.absPath&&(e3(e,es(e,{entry:o.name})),r.push({action:"remove_entry",path:o.name})),e2(e.ast.program,n,r,[],a),0===r.length)return 1;var t=yield ez(e);ei(t,e.relPath),yield(0,B.writeFile)(e.absPath,t),r.forEach(r=>l.push({file:e.relPath,...r}))};for(var m of c)if(yield*p(m))continue;var h=yield(0,H.H)(e,r.verify);return{file:i.relPath,entry:o.name,id:o.id,outcome:"compile:failed"===h.status?"verify_failed":"ok",touchedSites:l,verify:h,summary:`removed ${eT(i,o)} with ${l.length} touched site(s) -> ${h.status}`}}))}),function(e,r){return I.apply(this,arguments)}),e1=e=>({content:[{type:"text",text:JSON.stringify(e,null,2)}],isError:e.isError||void 0}),e0=J.bz().describe('Value grammar: JSON scalars/arrays/objects emit literals; { link: "dataIdOrAlias" } emits linkData(() => data.dX) for property/data-link values; { ref: "idOrAliasOrVar", subspace?: "subspace-1"|1|"SUBSPACE_id" } emits () => namespace.varName; { expr: "raw TypeScript expression" } is spliced verbatim.'),e4=J.Yj().describe("Dotted entry path to edit, for example title, property.url, outlets.response, animation.show, value, type, switches[0].property.text, or items[0].frame."),e9=J.Yj().describe("Project-relative entry file path, for example subspaces/subspace-0/bricks.ts, generators.ts, canvases.ts, data.ts, or animations.ts."),re=J.Yj().describe("Exported const name or entity alias to edit, for example bWelcomeText, gApiClient, cMain, or an alias like welcomeText."),rr=J.Yj().describe("Entry id fallback. When file is omitted, scans project subspaces for this id."),ra=J.zM().describe("Override compile verification for this call. Defaults to BRICKS_CTOR_MCP_EDIT_VERIFY, otherwise true."),rt={file:e9.optional(),entry:re.optional(),id:rr.optional(),verify:ra.optional()};function ri(e,r){var a,t,i,o,n,s;e.tool("edit_entry","Edit map-shaped facets on an existing bricks-ctor entry by source AST. Use set/unset with dotted paths and the shared value grammar.",{...rt,set:J.g1(e4,e0).describe("Map of dotted paths to values. Values use the shared grammar: JSON literals, { link }, { ref }, or { expr }.").optional(),unset:J.YO(e4).describe("Dotted paths to remove.").optional(),switch:J.KC([J.Yj(),J.ai()]).describe("Optional switch id or zero-based switch index; edits that switch object instead of the entry root.").optional()},(a=O(function*(e){return e1((yield eC(r,e)))}),function(e){return a.apply(this,arguments)})),e.tool("edit_events","Edit an event action array on an entry or switch. Adds/removes/replaces/moves/clears EventAction objects.",{...rt,event:J.Yj().describe("Camel-case source event key such as onPress, showStart, update, enter, or firstEnter."),op:J.k5(["add","remove","replace","move","clear"]).describe("Array operation. add inserts at index or appends; replace/remove require index; move reorders index to `to`; clear removes the event key."),index:J.ai().describe("Zero-based event action index. For add this is the insertion position.").optional(),to:J.ai().describe("Destination zero-based index for move.").optional(),action:e0.describe('For add/replace, the flattened form: { handler: "system"|{ref}|{subspace}, name: "ACTION_NAME", params?: { inputName: value }, dataParams?: { dataRef: value }, cast?: "TypeName", waitAsync?: boolean }. The compiled source form { handler, action: { name, params: [...], dataParams: [...] }, waitAsync } and { expr: "raw EventAction" } are also accepted.').optional(),switch:J.KC([J.Yj(),J.ai()]).describe("Optional switch id or zero-based switch index; edits that switch events object.").optional()},(t=O(function*(e){return e1((yield eM(r,e)))}),function(e){return t.apply(this,arguments)})),e.tool("edit_canvas_items","Edit a Canvas entry items array. Use add/remove/replace to place bricks or move to update an item frame.",{...rt,op:J.k5(["add","remove","replace","move"]).describe("Canvas item operation. add inserts/appends, replace/remove use index, move updates frame at index."),index:J.ai().describe("Zero-based canvas item index.").optional(),item:e0.describe('For add/replace: { ref: "brickIdOrAliasOrVar", subspace?: ..., frame: { x, y, width, height, ... }, hidden?: boolean }. Frames require numeric x/y/width/height.').optional(),frame:e0.describe("Replacement frame such as { x, y, width, height }. Required for move; for add/replace it is used when item.frame is omitted.").optional()},(i=O(function*(e){return e1((yield eB(r,e)))}),function(e){return i.apply(this,arguments)})),e.tool("edit_switches","Edit an entry switches array. Use edit_entry/edit_events with switch when changing switch facet bodies.",{...rt,op:J.k5(["add","remove","replace","move"]).describe("Switch array operation. add inserts/appends, replace/remove use index, move reorders to `to`."),index:J.KC([J.Yj(),J.ai()]).describe("Switch id or zero-based switch index. For add, this is optional insertion position.").optional(),to:J.ai().describe("Destination zero-based index for move.").optional(),switch:e0.describe('For add/replace: { id? (BRICK_STATE_GROUP_<uuid>; omit to auto-generate), title?, description?, conds?: [{ method: "=="|"!="|">"|"<"|">="|"<=", cond }], override?: { animation?, event?, property?, outlet? }, property?, outlets?, animation?, disabled?, break? }. Cond forms: { type: "inner_state", key: "current_canvas", value: canvasRef }, { type: "inner_state", outlet: "outletName", value }, { type: "property_bank", ref: dataRef, value }, { type: "property_bank_by_item_key", ref: dataRef, value }, a compiled { __typename: "SwitchCond..." } object, or { expr }. Set switch events with edit_events using its switch parameter.').optional()},(o=O(function*(e){return e1((yield eV(r,e)))}),function(e){return o.apply(this,arguments)})),e.tool("new_entry","Create a minimal standard-style exported entry skeleton in an entry file, then optionally apply set/events edits.",{file:e9,entry:re.describe("Optional exported const name. Defaults from alias/title/id.").optional(),templateKey:J.Yj().describe("Brick/generator templateKey such as BRICK_TEXT or GENERATOR_HTTP.").optional(),type:J.Yj().describe("TypeScript type imported from bricks-ctor, for example BrickText, GeneratorHTTP, Canvas, Data, or Animation."),alias:J.Yj().describe("Optional entry alias. Also influences default exported const name.").optional(),title:J.Yj().describe("Optional entry title.").optional(),description:J.Yj().describe("Optional entry description.").optional(),id:rr.describe("Optional explicit id. If omitted, the tool generates one with the file-kind prefix.").optional(),dataType:J.Yj().describe("For data.ts only: initial Data.type value. Defaults to any.").optional(),set:J.g1(e4,e0).describe("Optional initial dotted-path values applied after creating the skeleton. Values use JSON literals, { link }, { ref }, or { expr }.").optional(),events:J.YO(e0).describe("Optional initial event actions as objects with { event, action }.").optional(),verify:ra.optional()},(n=O(function*(e){return e1((yield eX(r,e)))}),function(e){return n.apply(this,arguments)})),e.tool("remove_entry","Remove an entry. By default cascades same-subspace references in standard entry object/array shapes; strict mode refuses when references exist.",{...rt,strict:J.zM().describe("When true, do not edit files; refuse and return reference sites if the entry is referenced.").optional(),scope:J.k5(["subspace","project"]).describe("Reference scan scope. subspace is default; project scans all subspaces.").optional()},(s=O(function*(e){return e1((yield e7(r,e)))}),function(e){return s.apply(this,arguments)}))}t()}catch(e){t(e)}})},28622(e,r,a){a.d(r,{k:()=>q});var t,i,o,n=a(68832),s=a(99436),l=a(84867),c=a(43776),d=a(47680),u=a(42790),p="https://huggingface.co/api",m=process.env.HF_TOKEN,h=e=>"bigint"==typeof e?Number(e):e,f=(t=s(function*(e){var r=new Promise((e,r)=>setTimeout(()=>r(Error("GGUF metadata extraction timeout")),1e4));try{var a=(yield Promise.race([(0,u.QN)(e),r])).metadata,t=a["general.architecture"],i={name:a["general.name"],size_label:a["general.size_label"],basename:a["general.basename"],architecture:a["general.architecture"],file_type:h(a["general.file_type"]),quantization_version:h(a["general.quantization_version"])};if(!t)return i;var o=(e,r,a)=>{void 0!==a&&(e[r]=h(a))};return o(i,"n_ctx_train",a[`${t}.context_length`]),o(i,"n_layer",a[`${t}.block_count`]),o(i,"n_embd",a[`${t}.embedding_length`]),o(i,"n_head",a[`${t}.attention.head_count`]),o(i,"n_head_kv",a[`${t}.attention.head_count_kv`]),o(i,"n_embd_head_k",a[`${t}.attention.key_length`]),o(i,"n_embd_head_v",a[`${t}.attention.value_length`]),o(i,"n_swa",a[`${t}.attention.sliding_window`]),o(i,"ssm_d_conv",a[`${t}.ssm.conv_kernel`]),o(i,"ssm_d_state",a[`${t}.ssm.state_size`]),o(i,"ssm_d_inner",a[`${t}.ssm.inner_size`]),o(i,"ssm_n_group",a[`${t}.ssm.group_count`]),o(i,"ssm_dt_rank",a[`${t}.ssm.time_step_rank`]),o(i,"rwkv_head_size",a[`${t}.rwkv.head_size`]),o(i,"rwkv_token_shift_count",a[`${t}.rwkv.token_shift_count`]),i}catch(e){return console.error("Failed to extract GGUF metadata:",e),null}}),function(e){return t.apply(this,arguments)}),g=["text-generation","image-text-to-text","text2text-generation","conversational"],b=e=>{var r=e.some(e=>"config.json"===e.rfilename),a=e.some(e=>e.rfilename.includes("onnx/")&&e.rfilename.endsWith(".onnx"));return r&&a},y=e=>{var r=e.filter(e=>e.rfilename.endsWith(".onnx")),a=new Set;return r.forEach(e=>{var r=e.rfilename;if(r.endsWith(".onnx")){var t=/_(q8|q4|q4f16|fp16|int8|int4|uint8|bnb4|quantized)\.onnx$/.exec(r)?.[1];t?a.add("quantized"===t?"q8":t):(a.add("auto"),a.add("none"))}}),Array.from(a)},w=e=>e.filter(e=>e.rfilename.startsWith("voices/")&&e.rfilename.endsWith(".bin")),v={GeneratorLLM:{modelKind:"gguf",filter:"gguf",taskFilter:g,filePattern:/\.gguf$/},GeneratorVectorStore:{modelKind:"gguf",filter:"gguf",filePattern:/\.gguf$/},GeneratorReranker:{modelKind:"gguf",filter:"gguf,reranker",filePattern:/\.gguf$/},GeneratorGGMLTTS:{modelKind:"gguf",filter:"gguf,text-to-speech",filePattern:/\.gguf$/},GeneratorGGMLTTSVocoder:{modelKind:"gguf",filter:"gguf,feature-extraction",filePattern:/\.gguf$/},GeneratorOnnxLLM:{modelKind:"onnx",filter:"onnx",taskFilter:g,hasValidStructure:b},GeneratorOnnxSTT:{modelKind:"onnx",filter:"onnx,automatic-speech-recognition",hasValidStructure:b},GeneratorTTS:{modelKind:"onnx",filter:"onnx,text-to-speech",hasValidStructure:b},GeneratorMlxLLM:{modelKind:"mlx",filter:"mlx",taskFilter:g}},k=(i=s(function*(e,r,a=50){var t=new URLSearchParams({limit:String(a),full:"true",config:"true",sort:"likes",direction:"-1"});e&&t.set("filter",e),r&&t.set("search",r);var i={};m&&(i.Authorization=`Bearer ${m}`);var o=yield fetch(`${p}/models?${t.toString()}`,{headers:i});if(!o.ok)throw Error(`Hugging Face API error: ${o.status} ${o.statusText}`);return o.json()}),function(e,r){return i.apply(this,arguments)}),x=(o=s(function*(e){var r=new URLSearchParams({blobs:"true"}),a={};m&&(a.Authorization=`Bearer ${m}`);var t=yield fetch(`${p}/models/${e}?${r.toString()}`,{headers:a});if(!t.ok)throw Error(`Hugging Face API error: ${t.status} ${t.statusText}`);return t.json()}),function(e){return o.apply(this,arguments)}),_=/-(\d{5})-of-(\d{5})\.gguf$/;function q(e){var r,a;e.tool("huggingface_search",{generatorType:l.k5(["GeneratorLLM","GeneratorVectorStore","GeneratorReranker","GeneratorGGMLTTS","GeneratorGGMLTTSVocoder","GeneratorOnnxLLM","GeneratorOnnxSTT","GeneratorTTS","GeneratorMlxLLM"]).describe("Generator type to search models for").default("GeneratorLLM"),query:l.Yj().describe("Search keywords for models on Hugging Face").optional(),limit:l.ai().min(1).max(100).optional().default(20),includeFiles:l.zM().optional().default(!1).describe("Include list of model files (requires additional API calls)")},(r=s(function*({generatorType:e,query:r,limit:a,includeFiles:t}){try{var i,o=v[e],n=(yield k(o.filter,r,a)).filter(e=>{var r=e.tags||[];return(!o.taskFilter||!!o.taskFilter.some(e=>r.includes(e)))&&(!o.hasValidStructure||!e.siblings||!!o.hasValidStructure(e.siblings))}).map(e=>({id:e.id,author:e.author,downloads:e.downloads,likes:e.likes,pipeline_tag:e.pipeline_tag,model_type:e.config?.model_type||e.cardData?.model_type,model_kind:o.modelKind}));return t&&(n=yield Promise.all(n.map((i=s(function*(r){try{var a=(yield x(r.id)).siblings||[];if("gguf"===o.modelKind){var t=a.filter(e=>o.filePattern?.test(e.rfilename)).map(e=>({filename:e.rfilename,size:e.size}));return{...r,files:t}}var i=y(a),n="GeneratorTTS"===e?w(a):[];return{...r,quantization_types:i,...n.length>0&&{speaker_embed_files:n.map(e=>({filename:e.rfilename,size:e.size}))}}}catch{return r}}),function(e){return i.apply(this,arguments)})))),{content:[{type:"text",text:d.lF({count:n.length,generatorType:e,modelKind:o.modelKind,models:n,hf_token_configured:!!m})}]}}catch(e){return{content:[{type:"text",text:`Failed to search models: ${e.message}`}]}}}),function(e){return r.apply(this,arguments)})),e.tool("huggingface_select",{generatorType:l.k5(["GeneratorLLM","GeneratorVectorStore","GeneratorReranker","GeneratorGGMLTTS","GeneratorGGMLTTSVocoder","GeneratorOnnxLLM","GeneratorOnnxSTT","GeneratorTTS","GeneratorMlxLLM"]).describe("Generator type for model selection").default("GeneratorLLM"),model_id:l.Yj().describe('Hugging Face model ID (e.g., "unsloth/Llama-3.2-1B-Instruct-GGUF")'),filename:l.Yj().describe("Model filename to select (required for GGUF models)").optional(),quantize_type:l.Yj().describe('Quantization type for ONNX models (e.g., "q8", "fp16", "auto")').optional().default("auto"),speaker_embed_file:l.Yj().describe("Speaker embedding file for TTS models").optional()},(a=s(function*({generatorType:e,model_id:r,filename:a,quantize_type:t,speaker_embed_file:i}){try{var o=v[e],s=yield x(r),l=s.siblings||[];if("onnx"===o.modelKind){var d=y(l),u="GeneratorTTS"===e?w(l):[],p=i?l.find(e=>e.rfilename===i):void 0,h=d.includes(t||"auto")?t:"auto",g=s.config?.model_type||s.cardData?.model_type,b={model:r,modelType:g,quantizeType:h,...p&&{speakerEmbedUrl:`https://huggingface.co/${r}/resolve/main/${p.rfilename}?download=true`,speakerEmbedHash:p.lfs?.sha256,speakerEmbedHashType:"sha256"},availableQuantizeTypes:d,...u.length>0&&{availableSpeakerEmbedFiles:u.map(e=>e.rfilename)},_hfRepoInfo:{repo:r,model:{id:s.id,downloads:s.downloads,likes:s.likes,author:s.author},generatorType:e,modelType:g,quantizeType:h,...p&&{speakerEmbedFile:p.rfilename}}};return{content:[{type:"text",text:`${c.A.stringify(b,null,2)} // Please use _hfRepoInfo undocumented field with @ts-ignore`}]}}if("mlx"===o.modelKind){var k={};m&&(k.Authorization=`Bearer ${m}`);var q=null;try{var j=yield fetch(`https://huggingface.co/${r}/resolve/main/config.json`,{headers:k});j.ok&&(q=yield j.json())}catch{}var $=q?.model_type||s.config?.model_type||s.cardData?.model_type,S=q||{},P=S.text_config||S,E=P.num_attention_heads||P.n_heads||0,I=P.hidden_size||P.dim||0,z=P.kv_lora_rank||0,O=S.quantization||S.quantization_config||null,T=l.filter(e=>/\.(safetensors|npz)$/.test(e.rfilename)).reduce((e,r)=>e+(r.size??0),0),A=l.filter(e=>e.rfilename.endsWith(".safetensors")||e.rfilename.endsWith(".json")||e.rfilename.endsWith(".jinja")||"tokenizer.model"===e.rfilename).map(e=>({url:`https://huggingface.co/${r}/resolve/main/${e.rfilename}?download=true`,filename:`${r.replace("/","-")}/${e.rfilename}`,hash_type:e.lfs?"sha256":e.blobId?"sha1":void 0,sha256:e.lfs?.sha256,sha1:e.lfs?void 0:e.blobId})),C={modelId:r,modelType:$,_mlxDownloadFiles:A,_hfRepoInfo:{repo:r,model:{id:s.id,downloads:s.downloads,likes:s.likes,author:s.author},generatorType:e,modelType:$,...T>0&&{size:T},...q&&{mlxModelMetadata:{hiddenSize:I,numLayers:P.num_hidden_layers||P.n_layers||0,numHeads:E,numKvHeads:P.num_key_value_heads??E,headDim:P.head_dim||P.v_head_dim||(E>0&&I>0?I/E:0),maxCtx:P.max_position_embeddings||0,kvLoraRank:z,qkRopeHeadDim:P.qk_rope_head_dim||0,isMLA:z>0,quantBits:O?.bits||null,quantGroupSize:O?.group_size||null}}}};return{content:[{type:"text",text:`${c.A.stringify(C,null,2)} // IMPORTANT: Use _mlxDownloadFiles / _hfRepoInfo undocumented fields with @ts-ignore`}]}}if(!a){var L=l.filter(e=>o.filePattern?.test(e.rfilename)).map(e=>({filename:e.rfilename,size:e.size}));return{content:[{type:"text",text:JSON.stringify({error:"filename is required for GGUF models",available_files:L},null,2)}]}}var R=l.find(e=>e.rfilename===a);if(!R)return{content:[{type:"text",text:`File "${a}" not found in model ${r}`}]};var F=a.match(_),D=!!F,N="GeneratorLLM"===e?l.find(e=>/^mmproj-/i.test(e.rfilename)):void 0,G=D?a.replace(_,"-00001-of-$2.gguf"):a,M=`https://huggingface.co/${r}/resolve/main/${G}`,Y=yield f(M);if(D){var K=n(F,3)[2],B=((e,r,a)=>{var t=new Map;for(var i of a)t.has(i.rfilename)||t.set(i.rfilename,i);return Array.from({length:Number(r)},(a,i)=>{var o=String(i+1).padStart(5,"0"),n=e.replace(_,`-${o}-of-${r}.gguf`),s=t.get(n);return{rfilename:n,size:s?.size,lfs:s?.lfs}})})(a,K,l),U=B[0],J=B.slice(1),H={url:`https://huggingface.co/${r}/resolve/main/${U.rfilename}?download=true`,hash:U.lfs?.sha256,hash_type:"sha256",_ggufSplitFiles:J.map(e=>({url:`https://huggingface.co/${r}/resolve/main/${e.rfilename}?download=true`,hash:e.lfs?.sha256,hash_type:"sha256"})),...N&&{mmproj_url:`https://huggingface.co/${r}/resolve/main/${N.rfilename}?download=true`,mmproj_hash:N.lfs?.sha256,mmproj_hash_type:"sha256"},_hfRepoInfo:{repo:r,model:{id:s.id,downloads:s.downloads,likes:s.likes,author:s.author},generatorType:e,isSplit:!0,files:B.map(e=>e.rfilename),sizes:B.map(e=>e.size),size:B.reduce((e,r)=>e+(r.size??0),0),...N&&{mmprojFile:N.rfilename,mmprojSize:N.size},...Y&&{ggufSimplifiedMetadata:Y}}};return{content:[{type:"text",text:c.A.stringify(H,null,2)}]}}var V={url:`https://huggingface.co/${r}/resolve/main/${a}?download=true`,hash:R.lfs?.sha256,hash_type:"sha256",...N&&{mmproj_url:`https://huggingface.co/${r}/resolve/main/${N.rfilename}?download=true`,mmproj_hash:N.lfs?.sha256,mmproj_hash_type:"sha256"},_hfRepoInfo:{repo:r,model:{id:s.id,downloads:s.downloads,likes:s.likes,author:s.author},generatorType:e,file:a,size:R.size,...N&&{mmprojFile:N.rfilename,mmprojSize:N.size},...Y&&{ggufSimplifiedMetadata:Y}}};return{content:[{type:"text",text:`${c.A.stringify(V,null,2)} // IMPORTANT: Use _hfRepoInfo undocumented field with @ts-ignore`}]}}catch(e){return{content:[{type:"text",text:`Failed to select model: ${e.message}`}]}}}),function(e){return a.apply(this,arguments)}))}},55470(e,r,a){a.d(r,{k:()=>v});var t=a(99436),i=a(84867),o=a(47680),n=a(37102),s=JSON.parse('{"0":48,"1":49,"2":50,"3":51,"4":52,"5":53,"6":54,"7":55,"8":56,"9":57,"100":58396,"fill-drip":62838,"arrows-to-circle":58557,"circle-chevron-right":61752,"chevron-circle-right":61752,"wagon-covered":63726,"line-height":63601,"bagel":58327,"transporter-7":58024,"at":64,"rectangles-mixed":58147,"phone-arrow-up-right":57892,"phone-arrow-up":57892,"phone-outgoing":57892,"trash-can":62189,"trash-alt":62189,"circle-l":57620,"head-side-goggles":63210,"head-vr":63210,"text-height":61492,"user-xmark":62005,"user-times":62005,"face-hand-yawn":58233,"gauge-simple-min":63021,"tachometer-slowest":63021,"stethoscope":61681,"coffin":63174,"message":62074,"comment-alt":62074,"salad":63518,"bowl-salad":63518,"info":61737,"robot-astromech":58066,"ring-diamond":58795,"fondue-pot":58381,"theta":63134,"face-hand-peeking":58497,"square-user":57987,"down-left-and-up-right-to-center":62498,"compress-alt":62498,"explosion":58601,"file-lines":61788,"file-alt":61788,"file-text":61788,"wave-square":63550,"ring":63243,"building-un":58585,"dice-three":62759,"tire-pressure-warning":63027,"wifi-fair":63147,"wifi-2":63147,"calendar-days":61555,"calendar-alt":61555,"mp3-player":63694,"anchor-circle-check":58538,"tally-4":58007,"rectangle-history":58530,"building-circle-arrow-right":58577,"volleyball":62559,"volleyball-ball":62559,"sun-haze":63333,"text-size":63636,"ufo":57415,"fork":62179,"utensil-fork":62179,"arrows-up-to-line":58562,"mobile-signal":57839,"barcode-scan":62565,"sort-down":61661,"sort-desc":61661,"folder-arrow-down":57427,"folder-download":57427,"circle-minus":61526,"minus-circle":61526,"face-icicles":58236,"shovel":63251,"door-open":62763,"films":57722,"right-from-bracket":62197,"sign-out-alt":62197,"face-glasses":58231,"nfc":57847,"atom":62930,"soap":57454,"icons":63597,"heart-music-camera-bolt":63597,"microphone-lines-slash":62777,"microphone-alt-slash":62777,"closed-captioning-slash":57653,"calculator-simple":63052,"calculator-alt":63052,"bridge-circle-check":58569,"sliders-up":62449,"sliders-v":62449,"location-minus":62985,"map-marker-minus":62985,"pump-medical":57450,"fingerprint":62839,"ski-boot":58316,"standard-definition":57994,"rectangle-sd":57994,"h1":62227,"hand-point-right":61604,"magnifying-glass-location":63113,"search-location":63113,"message-bot":58296,"forward-step":61521,"step-forward":61521,"face-smile-beam":62904,"smile-beam":62904,"light-ceiling":57366,"message-exclamation":62629,"comment-alt-exclamation":62629,"bowl-scoop":58334,"bowl-shaved-ice":58334,"square-x":57990,"utility-pole-double":58052,"flag-checkered":61726,"chevrons-up":62245,"chevron-double-up":62245,"football":62542,"football-ball":62542,"user-vneck":58465,"school-circle-exclamation":58732,"crop":61733,"angles-down":61699,"angle-double-down":61699,"users-rectangle":58772,"people-roof":58679,"square-arrow-right":62267,"arrow-square-right":62267,"location-plus":62986,"map-marker-plus":62986,"lightbulb-exclamation-on":57802,"people-line":58676,"beer-mug-empty":61692,"beer":61692,"crate-empty":57681,"diagram-predecessor":58487,"transporter":57410,"calendar-circle-user":58481,"arrow-up-long":61814,"long-arrow-up":61814,"person-carry-box":62671,"person-carry":62671,"fire-flame-simple":62570,"burn":62570,"person":61827,"male":61827,"laptop":61705,"file-csv":63197,"menorah":63094,"union":63138,"chevrons-left":62243,"chevron-double-left":62243,"circle-heart":62663,"heart-circle":62663,"truck-plane":58767,"record-vinyl":63705,"bring-forward":63574,"square-p":57977,"face-grin-stars":62855,"grin-stars":62855,"sigma":63115,"camera-movie":63657,"bong":62812,"clarinet":63661,"truck-flatbed":58038,"spaghetti-monster-flying":63099,"pastafarianism":63099,"arrow-down-up-across-line":58543,"leaf-heart":62667,"house-building":57777,"cheese-swiss":63472,"spoon":62181,"utensil-spoon":62181,"jar-wheat":58647,"envelopes-bulk":63092,"mail-bulk":63092,"file-circle-exclamation":58603,"bow-arrow":63161,"cart-xmark":57565,"hexagon-xmark":62190,"times-hexagon":62190,"xmark-hexagon":62190,"circle-h":62590,"hospital-symbol":62590,"merge":58662,"pager":63509,"cart-minus":57563,"address-book":62137,"contact-book":62137,"pan-frying":58412,"grid":57749,"grid-3":57749,"football-helmet":62543,"hand-love":57765,"trees":63268,"strikethrough":61644,"page":58408,"k":75,"diagram-previous":58488,"gauge-min":63016,"tachometer-alt-slowest":63016,"folder-grid":57736,"eggplant":57708,"ram":63242,"landmark-flag":58652,"lips":62976,"pencil":62211,"pencil-alt":62211,"backward":61514,"caret-right":61658,"comments":61574,"paste":61674,"file-clipboard":61674,"desktop-arrow-down":57685,"code-pull-request":57660,"pumpkin":63239,"clipboard-list":62573,"pen-field":57873,"blueberries":58088,"truck-ramp-box":62686,"truck-loading":62686,"note":57855,"arrow-down-to-square":57494,"user-check":62716,"cloud-xmark":58207,"vial-virus":58775,"book-blank":62937,"book-alt":62937,"golf-flag-hole":58284,"message-arrow-down":57819,"comment-alt-arrow-down":57819,"face-unamused":58271,"sheet-plastic":58737,"circle-9":57590,"blog":63361,"user-ninja":62724,"pencil-slash":57877,"bowling-pins":62519,"person-arrow-up-from-line":58681,"down-right":57707,"scroll-torah":63136,"torah":63136,"webhook":58837,"blinds-open":63740,"fence":58115,"up":62295,"arrow-alt-up":62295,"broom-ball":62552,"quidditch":62552,"quidditch-broom-ball":62552,"drumstick":63190,"square-v":57988,"face-awesome":58377,"gave-dandy":58377,"dial-off":57698,"toggle-off":61956,"face-smile-horns":58257,"box-archive":61831,"archive":61831,"grapes":58118,"person-drowning":58693,"dial-max":57694,"circle-m":57621,"calendar-image":57556,"circle-caret-down":62253,"caret-circle-down":62253,"arrow-down-9-1":63622,"sort-numeric-desc":63622,"sort-numeric-down-alt":63622,"face-grin-tongue-squint":62858,"grin-tongue-squint":62858,"shish-kebab":63521,"spray-can":62909,"alarm-snooze":63557,"scarecrow":63245,"truck-monster":63035,"gift-card":63075,"w":87,"code-pull-request-draft":58362,"square-b":57956,"elephant":63194,"earth-africa":62844,"globe-africa":62844,"rainbow":63323,"circle-notch":61902,"tablet-screen-button":62458,"tablet-alt":62458,"paw":61872,"message-question":57827,"cloud":61634,"trowel-bricks":58762,"square-3":57944,"face-flushed":62841,"flushed":62841,"hospital-user":63501,"microwave":57371,"chf-sign":58882,"tent-arrow-left-right":58751,"cart-circle-arrow-up":58352,"trash-clock":58032,"gavel":61667,"legal":61667,"sprinkler-ceiling":58444,"browsers":57547,"trillium":58760,"music-slash":63697,"truck-ramp":62688,"binoculars":61925,"microphone-slash":61745,"box-tissue":57435,"circle-c":57601,"star-christmas":63444,"chart-bullet":57569,"motorcycle":61980,"tree-christmas":63451,"tire-flat":63026,"sunglasses":63634,"badge":62261,"message-pen":62628,"comment-alt-edit":62628,"message-edit":62628,"bell-concierge":62818,"concierge-bell":62818,"pen-ruler":62894,"pencil-ruler":62894,"arrow-progress":58847,"chess-rook-piece":62536,"chess-rook-alt":62536,"square-root":63127,"album-collection-circle-plus":58510,"people-arrows":57448,"people-arrows-left-right":57448,"face-angry-horns":58216,"mars-and-venus-burst":58659,"tombstone":63264,"square-caret-right":61778,"caret-square-right":61778,"scissors":61636,"cut":61636,"list-music":63689,"sun-plant-wilt":58746,"toilets-portable":58756,"hockey-puck":62547,"mustache":58812,"hyphen":45,"table":61646,"user-chef":58322,"message-image":57824,"comment-alt-image":57824,"users-medical":63536,"sensor-triangle-exclamation":57385,"sensor-alert":57385,"magnifying-glass-arrow-right":58657,"tachograph-digital":62822,"digital-tachograph":62822,"face-mask":58239,"pickleball":58421,"star-sharp-half":57996,"users-slash":57459,"clover":57657,"meat":63508,"reply":62437,"mail-reply":62437,"star-and-crescent":63129,"empty-set":63062,"house-fire":58636,"square-minus":61766,"minus-square":61766,"helicopter":62771,"bird":58473,"compass":61774,"square-caret-down":61776,"caret-square-down":61776,"heart-half-stroke":57772,"heart-half-alt":57772,"file-circle-question":58607,"laptop-code":62972,"joystick":63685,"grill-fire":58788,"rectangle-vertical-history":57911,"swatchbook":62915,"prescription-bottle":62597,"bars":61641,"navicon":61641,"keyboard-left":57795,"people-group":58675,"hourglass-end":62035,"hourglass-3":62035,"heart-crack":63401,"heart-broken":63401,"face-beam-hand-over-mouth":58492,"droplet-percent":63312,"humidity":63312,"square-up-right":62304,"external-link-square-alt":62304,"face-kiss-beam":62871,"kiss-beam":62871,"corn":63175,"roller-coaster":58148,"photo-film-music":57896,"radar":57380,"sickle":63522,"film":61448,"coconut":58102,"ruler-horizontal":62791,"shield-cross":63250,"cassette-tape":63659,"square-terminal":58154,"people-robbery":58678,"lightbulb":61675,"caret-left":61657,"comment-middle":57673,"trash-can-list":58027,"block":58474,"circle-exclamation":61546,"exclamation-circle":61546,"school-circle-xmark":58733,"arrow-right-from-bracket":61579,"sign-out":61579,"face-frown-slight":58230,"circle-chevron-down":61754,"chevron-circle-down":61754,"sidebar-flip":57935,"unlock-keyhole":61758,"unlock-alt":61758,"temperature-list":58009,"cloud-showers-heavy":63296,"headphones-simple":62863,"headphones-alt":62863,"sitemap":61672,"pipe-section":58424,"space-station-moon-construction":57396,"space-station-moon-alt":57396,"circle-dollar-to-slot":62649,"donate":62649,"memory":62776,"face-sleeping":58253,"road-spikes":58728,"fire-burner":58609,"squirrel":63258,"arrow-up-to-line":62273,"arrow-to-top":62273,"flag":61476,"face-cowboy-hat":58222,"hanukiah":63206,"chart-scatter-3d":57576,"display-chart-up":58851,"square-code":57959,"feather":62765,"volume-low":61479,"volume-down":61479,"xmark-to-slot":63345,"times-to-slot":63345,"vote-nay":63345,"box-taped":62618,"box-alt":62618,"comment-slash":62643,"swords":63261,"cloud-sun-rain":63299,"album":63647,"circle-n":57624,"compress":61542,"wheat-awn":58061,"wheat-alt":58061,"ankh":63044,"hands-holding-child":58618,"asterisk":42,"key-skeleton-left-right":58292,"comment-lines":62640,"luchador-mask":62549,"luchador":62549,"mask-luchador":62549,"square-check":61770,"check-square":61770,"shredder":63114,"book-open-cover":57536,"book-open-alt":57536,"sandwich":63519,"peseta-sign":57889,"square-parking-slash":62999,"parking-slash":62999,"train-tunnel":58452,"heading":61916,"header":61916,"ghost":63202,"face-anguished":58217,"hockey-sticks":62548,"abacus":63040,"film-simple":62368,"film-alt":62368,"list":61498,"list-squares":61498,"tree-palm":63531,"square-phone-flip":63611,"phone-square-alt":63611,"cart-plus":61975,"gamepad":61723,"border-center-v":63645,"circle-dot":61842,"dot-circle":61842,"clipboard-medical":57651,"face-dizzy":62823,"dizzy":62823,"egg":63483,"up-to-line":62285,"arrow-alt-to-top":62285,"house-medical-circle-xmark":58643,"watch-fitness":63038,"clock-nine-thirty":58189,"campground":63163,"folder-plus":63070,"jug":63686,"futbol":61923,"futbol-ball":61923,"soccer-ball":61923,"snow-blowing":63329,"paintbrush":61948,"paint-brush":61948,"lock":61475,"arrow-down-from-line":62277,"arrow-from-top":62277,"gas-pump":62767,"signal-bars-slash":63124,"signal-alt-slash":63124,"monkey":63227,"rectangle-pro":57909,"pro":57909,"house-night":57360,"hot-tub-person":62867,"hot-tub":62867,"blanket":62616,"map-location":62879,"map-marked":62879,"house-flood-water":58638,"comments-question-check":57679,"tree":61883,"arrows-cross":57506,"backpack":62932,"square-small":57982,"folder-arrow-up":57428,"folder-upload":57428,"bridge-lock":58572,"crosshairs-simple":58783,"sack-dollar":63517,"pen-to-square":61508,"edit":61508,"square-sliders":62448,"sliders-h-square":62448,"car-side":62948,"message-middle-top":57826,"comment-middle-top-alt":57826,"lightbulb-on":63090,"knife":62180,"utensil-knife":62180,"share-nodes":61920,"share-alt":61920,"display-chart-up-circle-dollar":58854,"wave-sine":63641,"heart-circle-minus":58623,"circle-w":57644,"circle-calendar":57602,"calendar-circle":57602,"hourglass-half":62034,"hourglass-2":62034,"microscope":62992,"sunset":63335,"sink":57453,"calendar-exclamation":62260,"truck-container-empty":58037,"hand-heart":62652,"bag-shopping":62096,"shopping-bag":62096,"arrow-down-z-a":63617,"sort-alpha-desc":63617,"sort-alpha-down-alt":63617,"mitten":63413,"reply-clock":57913,"reply-time":57913,"person-rays":58701,"right":62294,"arrow-alt-right":62294,"circle-f":57614,"users":61632,"face-pleading":58246,"eye-slash":61552,"flask-vial":58611,"police-box":57377,"cucumber":58369,"head-side-brain":63496,"hand":62038,"hand-paper":62038,"person-biking-mountain":63563,"biking-mountain":63563,"utensils-slash":58468,"print-magnifying-glass":63514,"print-search":63514,"folder-bookmark":57734,"om":63097,"pi":63102,"flask-round-potion":63201,"flask-potion":63201,"face-shush":58252,"worm":58777,"house-circle-xmark":58635,"plug":61926,"calendar-circle-exclamation":58478,"square-i":57970,"chevron-up":61559,"face-saluting":58500,"gauge-simple-low":63020,"tachometer-slow":63020,"face-persevering":58245,"circle-camera":57603,"camera-circle":57603,"hand-spock":62041,"spider-web":63257,"circle-microphone":57622,"microphone-circle":57622,"book-arrow-up":57530,"popsicle":58430,"command":57666,"blinds":63739,"stopwatch":62194,"saxophone":63708,"square-2":57943,"field-hockey-stick-ball":62540,"field-hockey":62540,"arrow-up-square-triangle":63627,"sort-shapes-up-alt":63627,"face-scream":58251,"square-m":57974,"camera-web":63538,"webcam":63538,"comment-arrow-down":57667,"lightbulb-cfl":58790,"window-frame-open":57424,"face-kiss":62870,"kiss":62870,"bridge-circle-xmark":58571,"period":46,"face-grin-tongue":62857,"grin-tongue":62857,"up-to-dotted-line":58455,"thought-bubble":58158,"skeleton-ribs":58827,"raygun":57381,"flute":63673,"acorn":63150,"video-arrow-up-right":58057,"grate-droplet":57748,"seal-exclamation":57922,"chess-bishop":62522,"message-sms":57829,"coffee-beans":57663,"hat-witch":63207,"face-grin-wink":62860,"grin-wink":62860,"clock-three-thirty":58199,"ear-deaf":62116,"deaf":62116,"deafness":62116,"hard-of-hearing":62116,"alarm-clock":62286,"eclipse":63305,"face-relieved":58249,"road-circle-check":58724,"dice-five":62755,"octagon-minus":62216,"minus-octagon":62216,"square-rss":61763,"rss-square":61763,"face-zany":58276,"tricycle":58819,"land-mine-on":58651,"square-arrow-up-left":57955,"i-cursor":62022,"chart-mixed-up-circle-dollar":58841,"salt-shaker":58438,"stamp":62911,"file-plus":62233,"draw-square":62959,"toilet-paper-under-slash":58017,"toilet-paper-reverse-slash":58017,"stairs":57993,"drone-front":63584,"drone-alt":63584,"glass-empty":57745,"dial-high":57692,"user-helmet-safety":63532,"user-construction":63532,"user-hard-hat":63532,"i":73,"hryvnia-sign":63218,"hryvnia":63218,"arrow-down-left-and-arrow-up-right-to-center":57490,"pills":62596,"face-grin-wide":62849,"grin-alt":62849,"tooth":62921,"basketball-hoop":62517,"objects-align-bottom":58299,"v":86,"sparkles":63632,"squid":58448,"leafy-green":58397,"circle-arrow-up-right":57596,"calendars":57559,"bangladeshi-taka-sign":58086,"bicycle":61958,"hammer-war":63204,"circle-d":57604,"spider-black-widow":63256,"staff-snake":58745,"rod-asclepius":58745,"rod-snake":58745,"staff-aesculapius":58745,"pear":57868,"head-side-cough-slash":57442,"triangle":62188,"apartment":58472,"truck-medical":61689,"ambulance":61689,"pepper":58418,"piano":63700,"gun-squirt":57757,"wheat-awn-circle-exclamation":58776,"snowman":63440,"user-alien":57418,"shield-check":62199,"mortar-pestle":62887,"road-barrier":58722,"chart-candlestick":57570,"briefcase-blank":57544,"school":62793,"igloo":63406,"bracket-round":40,"parenthesis":40,"joint":62869,"horse-saddle":63683,"mug-marshmallows":63415,"filters":57726,"bell-on":63738,"angle-right":61701,"dial-med":57695,"horse":63216,"q":81,"monitor-waveform":62993,"monitor-heart-rate":62993,"link-simple":57805,"whistle":62560,"g":71,"wine-glass-crack":62651,"fragile":62651,"slot-machine":58318,"notes-medical":62593,"car-wash":62950,"escalator":57713,"comment-image":57672,"temperature-half":62153,"temperature-2":62153,"thermometer-2":62153,"thermometer-half":62153,"dong-sign":57705,"donut":58374,"doughnut":58374,"capsules":62571,"poo-storm":63322,"poo-bolt":63322,"tally-1":58004,"face-frown-open":62842,"frown-open":62842,"square-dashed":57961,"square-j":57971,"hand-point-up":61606,"money-bill":61654,"arrow-up-big-small":63630,"sort-size-up":63630,"barcode-read":62564,"baguette":58328,"bowl-soft-serve":58475,"face-holding-back-tears":58498,"square-up":62291,"arrow-alt-square-up":62291,"train-subway-tunnel":58019,"subway-tunnel":58019,"square-exclamation":62241,"exclamation-square":62241,"semicolon":59,"bookmark":61486,"fan-table":57348,"align-justify":61497,"battery-low":57521,"battery-1":57521,"credit-card-front":62346,"brain-arrow-curved-right":63095,"mind-share":63095,"umbrella-beach":62922,"helmet-un":58627,"location-smile":62989,"map-marker-smile":62989,"arrow-left-to-line":62270,"arrow-to-left":62270,"bullseye":61760,"sushi":58506,"nigiri":58506,"message-captions":57822,"comment-alt-captions":57822,"trash-list":58033,"bacon":63461,"option":58136,"hand-point-down":61607,"arrow-up-from-bracket":57498,"trash-plus":58034,"objects-align-top":58304,"folder":61563,"folder-blank":61563,"face-anxious-sweat":58218,"credit-card-blank":62345,"file-waveform":62584,"file-medical-alt":62584,"microchip-ai":57836,"mug":63604,"plane-up-slash":57902,"radiation":63417,"pen-circle":57870,"bag-seedling":58866,"chart-simple":58483,"crutches":63480,"circle-parking":62997,"parking-circle":62997,"mars-stroke":61993,"leaf-oak":63223,"square-bolt":57957,"vial":62610,"gauge":63012,"dashboard":63012,"gauge-med":63012,"tachometer-alt-average":63012,"wand-magic-sparkles":58058,"magic-wand-sparkles":58058,"lambda":63086,"e":69,"pizza":63511,"bowl-chopsticks-noodles":58090,"h3":62229,"pen-clip":62213,"pen-alt":62213,"bridge-circle-exclamation":58570,"badge-percent":63046,"user":61447,"sensor":57384,"comma":44,"school-circle-check":58731,"toilet-paper-under":58016,"toilet-paper-reverse":58016,"light-emergency":58399,"arrow-down-to-arc":58542,"dumpster":63379,"van-shuttle":62902,"shuttle-van":62902,"building-user":58586,"light-switch":57367,"square-caret-left":61841,"caret-square-left":61841,"highlighter":62865,"wave-pulse":62968,"heart-rate":62968,"key":61572,"hat-santa":63399,"tamale":58449,"box-check":62567,"bullhorn":61601,"steak":63524,"location-crosshairs-slash":62979,"location-slash":62979,"person-dolly":62672,"globe":61612,"synagogue":63131,"file-chart-column":63065,"file-chart-line":63065,"person-half-dress":58696,"folder-image":57738,"calendar-pen":62259,"calendar-edit":62259,"road-bridge":58723,"face-smile-tear":58259,"message-plus":62632,"comment-alt-plus":62632,"location-arrow":61732,"c":67,"tablet-button":61706,"rectangle-history-circle-user":58532,"building-lock":58582,"chart-line-up":57573,"mailbox":63507,"truck-bolt":58320,"pizza-slice":63512,"money-bill-wave":62778,"chart-area":61950,"area-chart":61950,"house-flag":58637,"circle-three-quarters-stroke":58836,"person-circle-minus":58688,"scalpel":63005,"ban":61534,"cancel":61534,"bell-exclamation":63560,"circle-bookmark":57600,"bookmark-circle":57600,"egg-fried":63484,"face-weary":58273,"uniform-martial-arts":58321,"camera-rotate":57560,"sun-dust":63332,"comment-text":57677,"spray-can-sparkles":62928,"air-freshener":62928,"signal-bars":63120,"signal-alt":63120,"signal-alt-4":63120,"signal-bars-strong":63120,"diamond-exclamation":58373,"star":61445,"dial-min":57697,"repeat":62307,"cross":63060,"page-caret-down":58409,"file-caret-down":58409,"box":62566,"venus-mars":61992,"clock-seven-thirty":58193,"arrow-pointer":62021,"mouse-pointer":62021,"clock-four-thirty":58187,"signal-bars-good":63123,"signal-alt-3":63123,"cactus":63655,"lightbulb-gear":58877,"maximize":62238,"expand-arrows-alt":62238,"charging-station":62951,"shapes":63007,"triangle-circle-square":63007,"plane-tail":57900,"gauge-simple-max":63019,"tachometer-fastest":63019,"circle-u":57639,"shield-slash":57931,"square-phone-hangup":57978,"phone-square-down":57978,"arrow-up-left":57501,"transporter-1":57411,"peanuts":58417,"shuffle":61556,"random":61556,"person-running":63244,"running":63244,"mobile-retro":58663,"grip-lines-vertical":63397,"bin-bottles-recycle":58870,"arrow-up-from-square":57500,"file-dashed-line":63607,"page-break":63607,"bracket-curly-right":125,"spider":63255,"clock-three":58198,"hands-bound":58617,"scalpel-line-dashed":63006,"scalpel-path":63006,"file-invoice-dollar":62833,"pipe-smoking":58308,"face-astonished":58219,"window":62478,"plane-circle-exclamation":58710,"ear":62960,"file-lock":58278,"diagram-venn":57690,"x-ray":62615,"goal-net":58283,"coffin-cross":57425,"spell-check":63633,"location-xmark":62990,"map-marker-times":62990,"map-marker-xmark":62990,"circle-quarter-stroke":58835,"lasso":63688,"slash":63253,"person-to-portal":57378,"portal-enter":57378,"calendar-star":63286,"computer-mouse":63692,"mouse":63692,"arrow-right-to-bracket":61584,"sign-in":61584,"pegasus":63235,"files-medical":63485,"nfc-lock":57848,"person-ski-lift":63432,"ski-lift":63432,"square-6":57947,"shop-slash":57456,"store-alt-slash":57456,"wind-turbine":63643,"sliders-simple":57939,"grid-round":58842,"badge-sheriff":63650,"server":62003,"virus-covid-slash":58537,"intersection":63080,"shop-lock":58533,"family":58112,"hourglass-start":62033,"hourglass-1":62033,"user-hair-buns":58323,"blender-phone":63158,"hourglass-clock":58395,"person-seat-reclined":57887,"paper-plane-top":57866,"paper-plane-alt":57866,"send":57866,"message-arrow-up":57820,"comment-alt-arrow-up":57820,"lightbulb-exclamation":63089,"layer-minus":62974,"layer-group-minus":62974,"chart-pie-simple-circle-currency":58884,"circle-e":57609,"building-wheat":58587,"gauge-max":63014,"tachometer-alt-fastest":63014,"person-breastfeeding":58682,"apostrophe":39,"fire-hydrant":57727,"right-to-bracket":62198,"sign-in-alt":62198,"video-plus":62689,"square-right":62290,"arrow-alt-square-right":62290,"comment-smile":62644,"venus":61985,"passport":62891,"inbox-in":62224,"inbox-arrow-down":62224,"heart-pulse":61982,"heartbeat":61982,"circle-8":57589,"clouds-moon":63301,"clock-ten-thirty":58197,"people-carry-box":62670,"people-carry":62670,"folder-user":57742,"trash-can-xmark":58030,"temperature-high":63337,"microchip":62171,"left-long-to-line":58398,"crown":62753,"weight-hanging":62925,"xmarks-lines":58778,"file-prescription":62834,"calendar-range":57558,"flower-daffodil":63488,"hand-back-point-up":57762,"weight-scale":62614,"weight":62614,"star-exclamation":62195,"books":62939,"user-group":62720,"user-friends":62720,"arrow-up-a-z":61790,"sort-alpha-up":61790,"layer-plus":62975,"layer-group-plus":62975,"play-pause":57903,"block-question":58333,"snooze":63616,"zzz":63616,"scanner-image":63731,"tv-retro":62465,"square-t":57984,"farm":63588,"barn-silo":63588,"chess-knight":62529,"bars-sort":57518,"pallet-boxes":62595,"palette-boxes":62595,"pallet-alt":62595,"face-laugh-squint":62875,"laugh-squint":62875,"code-simple":57661,"bolt-slash":57528,"panel-fire":58415,"binary-circle-check":58172,"comment-minus":62641,"burrito":63469,"violin":63725,"objects-column":58305,"square-chevron-down":62249,"chevron-square-down":62249,"comment-plus":62642,"triangle-instrument":63714,"triangle-music":63714,"wheelchair":61843,"user-pilot-tie":58049,"piano-keyboard":63701,"bed-empty":63737,"circle-arrow-up":61610,"arrow-circle-up":61610,"toggle-on":61957,"rectangle-vertical":62203,"rectangle-portrait":62203,"person-walking":62804,"walking":62804,"l":76,"signal-stream":63709,"down-to-bracket":58599,"circle-z":57648,"stars":63330,"fire":61549,"bed-pulse":62599,"procedures":62599,"house-day":57358,"shuttle-space":61847,"space-shuttle":61847,"shirt-long-sleeve":58311,"chart-pie-simple":63054,"chart-pie-alt":63054,"face-laugh":62873,"laugh":62873,"folder-open":61564,"album-collection-circle-user":58511,"candy":58343,"bowl-hot":63523,"soup":63523,"flatbread":58379,"heart-circle-plus":58624,"code-fork":57659,"city":63055,"signal-bars-weak":63121,"signal-alt-1":63121,"microphone-lines":62409,"microphone-alt":62409,"clock-twelve":58200,"pepper-hot":63510,"citrus-slice":58101,"sheep":63249,"unlock":61596,"colon-sign":57664,"headset":62864,"badger-honey":63156,"h4":63594,"store-slash":57457,"road-circle-xmark":58726,"signal-slash":63125,"user-minus":62723,"mars-stroke-up":61994,"mars-stroke-v":61994,"champagne-glasses":63391,"glass-cheers":63391,"taco":63526,"hexagon-plus":62208,"plus-hexagon":62208,"clipboard":62248,"house-circle-exclamation":58634,"file-arrow-up":62836,"file-upload":62836,"wifi":61931,"wifi-3":61931,"wifi-strong":61931,"messages":62646,"comments-alt":62646,"bath":62157,"bathtub":62157,"umbrella-simple":58044,"umbrella-alt":58044,"rectangle-history-circle-plus":58531,"underline":61645,"prescription-bottle-pill":58816,"user-pen":62719,"user-edit":62719,"binary-slash":58174,"square-o":57976,"signature":62903,"stroopwafel":62801,"bold":61490,"anchor-lock":58541,"building-ngo":58583,"transporter-3":57413,"engine-warning":62962,"engine-exclamation":62962,"circle-down-right":57608,"square-k":57972,"manat-sign":57813,"money-check-pen":63602,"money-check-edit":63602,"not-equal":62782,"border-top-left":63571,"border-style":63571,"map-location-dot":62880,"map-marked-alt":62880,"tilde":126,"jedi":63081,"square-poll-vertical":63105,"poll":63105,"arrow-down-square-triangle":63625,"sort-shapes-down-alt":63625,"mug-hot":63414,"dog-leashed":63188,"car-battery":62943,"battery-car":62943,"face-downcast-sweat":58225,"mailbox-flag-up":58811,"memo-circle-info":58522,"gift":61547,"dice-two":62760,"volume":63144,"volume-medium":63144,"transporter-5":58022,"gauge-circle-bolt":58518,"coin-front":58364,"file-slash":58279,"message-arrow-up-right":57821,"treasure-chest":63267,"chess-queen":62533,"paintbrush-fine":62889,"paint-brush-alt":62889,"paint-brush-fine":62889,"paintbrush-alt":62889,"glasses":62768,"hood-cloak":63215,"square-quote":58153,"up-left":58045,"bring-front":63575,"chess-board":62524,"burger-cheese":63473,"cheeseburger":63473,"building-circle-check":58578,"repeat-1":62309,"arrow-down-to-line":62269,"arrow-to-bottom":62269,"grid-5":57753,"right-long-to-line":58436,"person-chalkboard":58685,"mars-stroke-right":61995,"mars-stroke-h":61995,"hand-back-fist":62037,"hand-rock":62037,"grid-round-5":58846,"tally":63132,"tally-5":63132,"square-caret-up":61777,"caret-square-up":61777,"cloud-showers-water":58596,"chart-bar":61568,"bar-chart":61568,"hands-bubbles":57438,"hands-wash":57438,"less-than-equal":62775,"train":62008,"up-from-dotted-line":58454,"eye-low-vision":62120,"low-vision":62120,"traffic-light-go":63032,"face-exhaling":58496,"sensor-fire":57386,"user-unlock":57432,"hexagon-divide":57773,"00":58471,"crow":62752,"cassette-betamax":63652,"betamax":63652,"sailboat":58437,"window-restore":62162,"nfc-magnifying-glass":57849,"file-binary":57717,"circle-v":57642,"square-plus":61694,"plus-square":61694,"bowl-scoops":58335,"mistletoe":63412,"custard":58371,"lacrosse-stick":58293,"hockey-mask":63214,"sunrise":63334,"panel-ews":58414,"torii-gate":63137,"cloud-exclamation":58513,"message-lines":62630,"comment-alt-lines":62630,"frog":62766,"bucket":58575,"floppy-disk-pen":57730,"image":61502,"window-frame":57423,"microphone":61744,"cow":63176,"file-zip":58862,"square-ring":58447,"down-from-line":62281,"arrow-alt-from-top":62281,"caret-up":61656,"shield-xmark":57932,"shield-times":57932,"screwdriver":62794,"circle-sort-down":57393,"sort-circle-down":57393,"folder-closed":57733,"house-tsunami":58645,"square-nfi":58742,"forklift":62586,"arrow-up-from-ground-water":58549,"bracket-square-right":93,"martini-glass":62843,"glass-martini-alt":62843,"rotate-left":62186,"rotate-back":62186,"rotate-backward":62186,"undo-alt":62186,"table-columns":61659,"columns":61659,"square-a":57951,"tick":58159,"lemon":61588,"head-side-mask":57443,"handshake":62133,"gem":62373,"dolly":62578,"dolly-box":62578,"smoking":62605,"minimize":63372,"compress-arrows-alt":63372,"refrigerator":57382,"monument":62886,"octagon-xmark":62192,"times-octagon":62192,"xmark-octagon":62192,"align-slash":63558,"snowplow":63442,"angles-right":61697,"angle-double-right":61697,"truck-ramp-couch":62685,"truck-couch":62685,"cannabis":62815,"circle-play":61764,"play-circle":61764,"arrow-up-right-and-arrow-down-left-from-center":57504,"tablets":62608,"360-degrees":58076,"ethernet":63382,"euro-sign":61779,"eur":61779,"euro":61779,"chair":63168,"circle-check":61528,"check-circle":61528,"square-dashed-circle-plus":58818,"money-simple-from-bracket":58131,"bat":63157,"circle-stop":62093,"stop-circle":62093,"head-side-headphones":63682,"phone-rotary":63699,"compass-drafting":62824,"drafting-compass":62824,"plate-wheat":58714,"calendar-circle-minus":58479,"chopsticks":58359,"car-wrench":62947,"car-mechanic":62947,"icicles":63405,"person-shelter":58703,"neuter":61996,"id-badge":62145,"kazoo":63687,"marker":62881,"bin-bottles":58869,"face-laugh-beam":62874,"laugh-beam":62874,"square-arrow-down-left":57953,"battery-bolt":62326,"tree-large":63453,"helicopter-symbol":58626,"aperture":58079,"universal-access":62106,"gear-complex":58857,"file-magnifying-glass":63589,"file-search":63589,"up-right":58046,"circle-chevron-up":61753,"chevron-circle-up":61753,"user-police":58163,"lari-sign":57800,"volcano":63344,"teddy-bear":58319,"stocking":63445,"person-walking-dashed-line-arrow-right":58707,"image-slash":57783,"mask-snorkel":58295,"smoke":63328,"sterling-sign":61780,"gbp":61780,"pound-sign":61780,"battery-exclamation":57520,"viruses":57462,"square-person-confined":58743,"user-tie":62728,"arrow-down-long":61813,"long-arrow-down":61813,"tent-arrow-down-to-line":58750,"certificate":61603,"crystal-ball":58210,"reply-all":61730,"mail-reply-all":61730,"suitcase":61682,"person-skating":63429,"skating":63429,"star-shooting":57398,"binary-lock":58173,"filter-circle-dollar":63074,"funnel-dollar":63074,"camera-retro":61571,"circle-arrow-down":61611,"arrow-circle-down":61611,"comment-pen":62638,"comment-edit":62638,"file-import":62831,"arrow-right-to-file":62831,"banjo":63651,"square-arrow-up-right":61772,"external-link-square":61772,"light-emergency-on":58400,"kerning":63599,"box-open":62622,"square-f":57968,"scroll":63246,"spa":62907,"arrow-left-from-line":62276,"arrow-from-right":62276,"strawberry":58155,"location-pin-lock":58655,"pause":61516,"clock-eight-thirty":58182,"plane-engines":62430,"plane-alt":62430,"hill-avalanche":58631,"temperature-empty":62155,"temperature-0":62155,"thermometer-0":62155,"thermometer-empty":62155,"bomb":61922,"gauge-low":63015,"tachometer-alt-slow":63015,"registered":62045,"trash-can-plus":58028,"address-card":62139,"contact-card":62139,"vcard":62139,"scale-unbalanced-flip":62742,"balance-scale-right":62742,"globe-snow":63395,"subscript":61740,"diamond-turn-right":62955,"directions":62955,"integral":63079,"burst":58588,"house-laptop":57446,"laptop-house":57446,"face-tired":62920,"tired":62920,"money-bills":57843,"blinds-raised":63741,"smog":63327,"ufo-beam":57416,"circle-caret-up":62257,"caret-circle-up":62257,"user-vneck-hair-long":58467,"square-a-lock":58445,"crutch":63479,"gas-pump-slash":62964,"cloud-arrow-up":61678,"cloud-upload":61678,"cloud-upload-alt":61678,"palette":62783,"transporter-4":58021,"chart-mixed-up-circle-currency":58840,"objects-align-right":58303,"arrows-turn-right":58560,"vest":57477,"pig":63238,"inbox-full":57786,"circle-envelope":57612,"envelope-circle":57612,"triangle-person-digging":63581,"construction":63581,"ferry":58602,"bullseye-arrow":63048,"arrows-down-to-people":58553,"seedling":62680,"sprout":62680,"clock-seven":58192,"left-right":62263,"arrows-alt-h":62263,"boxes-packing":58567,"circle-arrow-left":61608,"arrow-circle-left":61608,"flashlight":63672,"group-arrows-rotate":58614,"bowl-food":58566,"square-9":57950,"candy-cane":63366,"arrow-down-wide-short":61792,"sort-amount-asc":61792,"sort-amount-down":61792,"square-dollar":62185,"dollar-square":62185,"usd-square":62185,"phone-arrow-right":58814,"hand-holding-seedling":62655,"message-check":62626,"comment-alt-check":62626,"cloud-bolt":63340,"thunderstorm":63340,"chart-line-up-down":58839,"text-slash":63613,"remove-format":63613,"watch":62177,"circle-down-left":57607,"text":63635,"projector":63702,"face-smile-wink":62682,"smile-wink":62682,"tombstone-blank":63265,"tombstone-alt":63265,"chess-king-piece":62528,"chess-king-alt":62528,"circle-6":57587,"left":62293,"arrow-alt-left":62293,"file-word":61890,"file-powerpoint":61892,"square-down":62288,"arrow-alt-square-down":62288,"objects-align-center-vertical":58301,"arrows-left-right":61566,"arrows-h":61566,"house-lock":58640,"cloud-arrow-down":61677,"cloud-download":61677,"cloud-download-alt":61677,"wreath":63458,"children":58593,"meter-droplet":57834,"chalkboard":62747,"blackboard":62747,"user-large-slash":62714,"user-alt-slash":62714,"signal-strong":63119,"signal-4":63119,"lollipop":58404,"lollypop":58404,"list-tree":57810,"envelope-open":62134,"draw-circle":62957,"cat-space":57345,"handshake-simple-slash":57439,"handshake-alt-slash":57439,"rabbit-running":63241,"rabbit-fast":63241,"memo-pad":57818,"mattress-pillow":58661,"alarm-plus":63556,"alicorn":63152,"comment-question":57675,"gingerbread-man":63389,"guarani-sign":57754,"burger-fries":57549,"mug-tea":63605,"border-top":63573,"arrows-rotate":61473,"refresh":61473,"sync":61473,"circle-book-open":57599,"book-circle":57599,"arrows-to-dotted-line":57510,"fire-extinguisher":61748,"garage-open":57355,"shelves-empty":57926,"cruzeiro-sign":57682,"watch-apple":58059,"watch-calculator":63728,"list-dropdown":57807,"cabinet-filing":63051,"burger-soda":63576,"square-arrow-up":62268,"arrow-square-up":62268,"greater-than-equal":62770,"pallet-box":57864,"face-confounded":58220,"shield-halved":62445,"shield-alt":62445,"truck-plow":63454,"book-atlas":62808,"atlas":62808,"virus":57460,"grid-round-2":58843,"comment-middle-top":57674,"envelope-circle-check":58600,"layer-group":62973,"restroom-simple":57914,"arrows-to-dot":58558,"border-outer":63569,"hashtag-lock":58389,"clock-two-thirty":58203,"archway":62807,"heart-circle-check":58621,"house-chimney-crack":63217,"house-damage":63217,"file-zipper":61894,"file-archive":61894,"heart-half":57771,"comment-check":62636,"square":61640,"memo":57816,"martini-glass-empty":61440,"glass-martini":61440,"couch":62648,"cedi-sign":57567,"italic":61491,"glass-citrus":63593,"calendar-lines-pen":58482,"church":62749,"person-snowmobiling":63441,"snowmobile":63441,"face-hushed":58235,"comments-dollar":63059,"pickaxe":58815,"link-simple-slash":57806,"democrat":63303,"face-confused":58221,"pinball":57897,"z":90,"person-skiing":63433,"skiing":63433,"deer":63374,"input-pipe":57790,"road-lock":58727,"a":65,"bookmark-slash":57538,"temperature-arrow-down":57407,"temperature-down":57407,"mace":63224,"feather-pointed":62827,"feather-alt":62827,"sausage":63520,"trash-can-clock":58026,"p":80,"broom-wide":58833,"snowflake":62172,"stomach":63011,"newspaper":61930,"rectangle-ad":63041,"ad":63041,"guitar-electric":63678,"arrow-turn-down-right":58326,"moon-cloud":63316,"bread-slice-butter":58337,"circle-arrow-right":61609,"arrow-circle-right":61609,"user-group-crown":63141,"users-crown":63141,"circle-i":57617,"toilet-paper-check":58802,"filter-circle-xmark":57723,"locust":58656,"sort":61660,"unsorted":61660,"list-ol":61643,"list-1-2":61643,"list-numeric":61643,"chart-waterfall":57579,"sparkle":58838,"face-party":58243,"kidneys":62971,"wifi-exclamation":58063,"chart-network":63370,"person-dress-burst":58692,"dice-d4":63184,"money-check-dollar":62781,"money-check-alt":62781,"vector-square":62923,"bread-slice":63468,"language":61867,"wheat-awn-slash":58168,"face-kiss-wink-heart":62872,"kiss-wink-heart":62872,"dagger":63179,"podium":63104,"memo-circle-check":57817,"route-highway":63002,"down-to-line":62282,"arrow-alt-to-bottom":62282,"filter":61616,"square-g":57969,"circle-phone":57627,"phone-circle":57627,"clipboard-prescription":62952,"user-nurse-hair":58461,"question":63,"file-signature":62835,"toggle-large-on":58801,"up-down-left-right":61618,"arrows-alt":61618,"dryer-heat":63586,"dryer-alt":63586,"house-chimney-user":57445,"hand-holding-heart":62654,"arrow-up-small-big":63631,"sort-size-up-alt":63631,"train-track":58451,"puzzle-piece":61742,"money-check":62780,"star-half-stroke":62912,"star-half-alt":62912,"file-exclamation":62234,"code":61729,"whiskey-glass":63392,"glass-whiskey":63392,"moon-stars":63317,"building-circle-exclamation":58579,"clothes-hanger":57654,"mobile-notch":57838,"mobile-iphone":57838,"magnifying-glass-chart":58658,"arrow-up-right-from-square":61582,"external-link":61582,"cubes-stacked":58598,"images-user":57785,"won-sign":61785,"krw":61785,"won":61785,"image-polaroid-user":57782,"virus-covid":58536,"square-ellipsis":57966,"pie":63237,"chess-knight-piece":62530,"chess-knight-alt":62530,"austral-sign":57513,"cloud-plus":58206,"f":70,"leaf":61548,"bed-bunk":63736,"road":61464,"taxi":61882,"cab":61882,"person-circle-plus":58689,"chart-pie":61952,"pie-chart":61952,"bolt-lightning":57527,"clock-eight":58181,"sack-xmark":58730,"file-excel":61891,"file-contract":62828,"fish-fins":58610,"circle-q":57630,"building-flag":58581,"face-grin-beam":62850,"grin-beam":62850,"object-ungroup":62024,"face-disguise":58224,"circle-arrow-down-right":57594,"alien-8bit":63734,"alien-monster":63734,"hand-point-ribbon":57766,"poop":63001,"object-exclude":58524,"telescope":57406,"location-pin":61505,"map-marker":61505,"square-list":58505,"kaaba":63083,"toilet-paper":63262,"helmet-safety":63495,"hard-hat":63495,"hat-hard":63495,"comment-code":57671,"sim-cards":57937,"starship":57401,"eject":61522,"circle-right":62298,"arrow-alt-circle-right":62298,"plane-circle-check":58709,"seal":57921,"user-cowboy":63722,"hexagon-vertical-nft":58629,"face-rolling-eyes":62885,"meh-rolling-eyes":62885,"bread-loaf":63467,"rings-wedding":63515,"object-group":62023,"french-fries":63491,"chart-line":61953,"line-chart":61953,"calendar-arrow-down":57552,"calendar-download":57552,"send-back":63614,"mask-ventilator":58660,"signature-lock":58314,"arrow-right":61537,"signs-post":62071,"map-signs":62071,"octagon-plus":62209,"plus-octagon":62209,"cash-register":63368,"person-circle-question":58690,"melon-slice":58129,"space-station-moon":57395,"message-smile":62634,"comment-alt-smile":62634,"cup-straw":58211,"left-from-line":62280,"arrow-alt-from-right":62280,"h":72,"basket-shopping-simple":57519,"shopping-basket-alt":57519,"hands-holding-heart":62659,"hands-heart":62659,"clock-nine":58188,"tarp":58747,"face-sleepy":58254,"hand-horns":57769,"screwdriver-wrench":63449,"tools":63449,"arrows-to-eye":58559,"circle-three-quarters":57637,"trophy-star":62187,"trophy-alt":62187,"plug-circle-bolt":58715,"face-thermometer":58266,"grid-round-4":58845,"shirt-running":58312,"book-circle-arrow-up":57533,"face-nauseated":58241,"heart":61444,"file-chart-pie":63066,"mars-and-venus":61988,"house-user":57776,"home-user":57776,"circle-arrow-down-left":57593,"dumpster-fire":63380,"hexagon-minus":62215,"minus-hexagon":62215,"left-to-line":62283,"arrow-alt-to-left":62283,"house-crack":58289,"paw-simple":63233,"paw-alt":63233,"arrow-left-long-to-line":58324,"brackets-round":57541,"parentheses":57541,"martini-glass-citrus":62817,"cocktail":62817,"user-shakespeare":58050,"arrow-right-to-arc":58546,"face-surprise":62914,"surprise":62914,"bottle-water":58565,"circle-pause":62091,"pause-circle":62091,"gauge-circle-plus":58520,"folders":63072,"angel":63353,"value-absolute":63142,"rabbit":63240,"toilet-paper-slash":57458,"circle-euro":58830,"apple-whole":62929,"apple-alt":62929,"kitchen-set":58650,"diamond-half":58807,"lock-keyhole":62221,"lock-alt":62221,"r":82,"temperature-quarter":62154,"temperature-1":62154,"thermometer-1":62154,"thermometer-quarter":62154,"square-info":62223,"info-square":62223,"wifi-slash":63148,"toilet-paper-xmark":58803,"hands-holding-dollar":62661,"hands-usd":62661,"cube":61874,"arrow-down-triangle-square":63624,"sort-shapes-down":63624,"bitcoin-sign":57524,"shutters":58441,"shield-dog":58739,"solar-panel":62906,"lock-open":62401,"table-tree":58003,"house-chimney-heart":57778,"tally-3":58006,"elevator":57709,"money-bill-transfer":58664,"money-bill-trend-up":58665,"house-flood-water-circle-arrow-right":58639,"square-poll-horizontal":63106,"poll-h":63106,"circle":61713,"cart-circle-exclamation":58354,"sword":63260,"backward-fast":61513,"fast-backward":61513,"recycle":61880,"user-astronaut":62715,"interrobang":58810,"plane-slash":57449,"circle-dashed":57605,"trademark":62044,"basketball":62516,"basketball-ball":62516,"fork-knife":62182,"utensils-alt":62182,"satellite-dish":63424,"badge-check":62262,"circle-up":62299,"arrow-alt-circle-up":62299,"slider":57938,"mobile-screen-button":62413,"mobile-alt":62413,"clock-one-thirty":58191,"inbox-out":62225,"inbox-arrow-up":62225,"cloud-slash":57655,"volume-high":61480,"volume-up":61480,"users-rays":58771,"wallet":62805,"octagon-check":58406,"flatbread-stuffed":58380,"clipboard-check":62572,"cart-circle-plus":58355,"truck-clock":62604,"shipping-timed":62604,"pool-8-ball":58309,"file-audio":61895,"turn-down-left":58161,"lock-hashtag":58403,"chart-radar":57575,"staff":63259,"burger":63493,"hamburger":63493,"utility-pole":58051,"transporter-6":58023,"wrench":61613,"bugs":58576,"vector-polygon":58055,"diagram-nested":57687,"rupee-sign":61782,"rupee":61782,"file-image":61893,"circle-question":61529,"question-circle":61529,"image-user":57784,"buoy":58805,"plane-departure":62896,"handshake-slash":57440,"book-bookmark":57531,"border-center-h":63644,"can-food":58342,"typewriter":63719,"arrow-right-from-arc":58545,"circle-k":57619,"face-hand-over-mouth":58232,"popcorn":63513,"house-water":63311,"house-flood":63311,"object-subtract":58526,"code-branch":61734,"warehouse-full":62613,"warehouse-alt":62613,"hat-cowboy":63680,"bridge":58568,"phone-flip":63609,"phone-alt":63609,"arrow-down-from-dotted-line":57488,"file-doc":58861,"square-quarters":58446,"truck-front":58039,"cat":63166,"trash-xmark":58036,"circle-caret-left":62254,"caret-circle-left":62254,"files":57720,"anchor-circle-exclamation":58539,"face-clouds":58493,"user-crown":63140,"truck-field":58765,"route":62679,"cart-circle-check":58353,"clipboard-question":58595,"panorama":57865,"comment-medical":63477,"teeth-open":63023,"user-tie-hair-long":58464,"file-circle-minus":58605,"head-side-medical":63497,"tags":61484,"wine-glass":62691,"forward-fast":61520,"fast-forward":61520,"face-meh-blank":62884,"meh-blank":62884,"user-robot":57419,"square-parking":62784,"parking":62784,"card-diamond":58346,"face-zipper":58277,"face-raised-eyebrow":58248,"house-signal":57362,"square-chevron-up":62252,"chevron-square-up":62252,"bars-progress":63528,"tasks-alt":63528,"faucet-drip":57350,"arrows-to-line":57511,"dolphin":57704,"arrow-up-right":57503,"circle-r":57632,"cart-flatbed":62580,"dolly-flatbed":62580,"ban-smoking":62797,"smoking-ban":62797,"circle-sort-up":57394,"sort-circle-up":57394,"terminal":61728,"mobile-button":61707,"house-medical-flag":58644,"basket-shopping":62097,"shopping-basket":62097,"tape":62683,"chestnut":58358,"bus-simple":62814,"bus-alt":62814,"eye":61550,"face-sad-cry":62899,"sad-cry":62899,"heat":57356,"ticket-airline":58010,"boot-heeled":58175,"arrows-minimize":57509,"compress-arrows":57509,"audio-description":62110,"person-military-to-person":58700,"file-shield":58608,"hexagon":62226,"manhole":57814,"user-slash":62726,"pen":62212,"tower-observation":58758,"floppy-disks":57731,"toilet-paper-blank-under":58015,"toilet-paper-reverse-alt":58015,"file-code":61897,"signal":61458,"signal-5":61458,"signal-perfect":61458,"pump":58434,"bus":61959,"heart-circle-xmark":58625,"arrow-up-left-from-circle":57502,"house-chimney":58287,"home-lg":58287,"window-maximize":62160,"dryer":63585,"face-frown":61721,"frown":61721,"chess-bishop-piece":62523,"chess-bishop-alt":62523,"shirt-tank-top":58313,"diploma":62954,"scroll-ribbon":62954,"screencast":57918,"walker":63537,"prescription":62897,"shop":62799,"store-alt":62799,"floppy-disk":61639,"save":61639,"vihara":63143,"face-kiss-closed-eyes":58237,"scale-unbalanced":62741,"balance-scale-left":62741,"file-user":63068,"user-police-tie":58164,"face-tongue-money":58269,"tennis-ball":62558,"square-l":57973,"sort-up":61662,"sort-asc":61662,"calendar-arrow-up":57553,"calendar-upload":57553,"comment-dots":62637,"commenting":62637,"plant-wilt":58794,"scarf":63425,"album-circle-plus":58508,"user-nurse-hair-long":58462,"diamond":61977,"square-left":62289,"arrow-alt-square-left":62289,"face-grin-squint":62853,"grin-squint":62853,"circle-ellipsis-vertical":57611,"hand-holding-dollar":62656,"hand-holding-usd":62656,"grid-dividers":58285,"bacterium":57434,"hand-pointer":62042,"drum-steelpan":62826,"hand-scissors":62039,"hands-praying":63108,"praying-hands":63108,"face-pensive":58244,"user-music":63723,"arrow-rotate-right":61470,"arrow-right-rotate":61470,"arrow-rotate-forward":61470,"redo":61470,"messages-dollar":63058,"comments-alt-dollar":63058,"sensor-on":57387,"balloon":58083,"biohazard":63360,"chess-queen-piece":62534,"chess-queen-alt":62534,"location-crosshairs":62977,"location":62977,"mars-double":61991,"house-person-leave":57359,"house-leave":57359,"house-person-depart":57359,"ruler-triangle":63004,"card-club":58345,"child-dress":58780,"users-between-lines":58769,"lungs-virus":57447,"spinner-third":62452,"face-grin-tears":62856,"grin-tears":62856,"phone":61589,"computer-mouse-scrollwheel":63693,"mouse-alt":63693,"calendar-xmark":62067,"calendar-times":62067,"child-reaching":58781,"table-layout":58000,"narwhal":63230,"ramp-loading":62676,"calendar-circle-plus":58480,"toothbrush":63029,"border-inner":63566,"paw-claws":63234,"kiwi-fruit":58124,"traffic-light-slow":63033,"rectangle-code":58146,"head-side-virus":57444,"keyboard-brightness":57792,"books-medical":63464,"lightbulb-slash":63091,"house-blank":58503,"home-blank":58503,"square-5":57946,"square-heart":62664,"heart-square":62664,"puzzle":58435,"user-gear":62718,"user-cog":62718,"pipe-circle-check":58422,"arrow-up-1-9":61795,"sort-numeric-up":61795,"octagon-exclamation":57860,"dial-low":57693,"door-closed":62762,"laptop-mobile":63610,"phone-laptop":63610,"conveyor-belt-boxes":62575,"conveyor-belt-alt":62575,"shield-virus":57452,"starfighter-twin-ion-engine-advanced":57998,"starfighter-alt-advanced":57998,"dice-six":62758,"starfighter-twin-ion-engine":57400,"starfighter-alt":57400,"rocket-launch":57383,"mosquito-net":58668,"vent-damper":58469,"bridge-water":58574,"ban-bug":63481,"debug":63481,"person-booth":63318,"text-width":61493,"garage-car":57354,"square-kanban":58504,"hat-wizard":63208,"pen-fancy":62892,"coffee-pot":57346,"mouse-field":58792,"person-digging":63582,"digging":63582,"shower-down":57933,"shower-alt":57933,"box-circle-check":57540,"brightness":57545,"car-side-bolt":58180,"ornament":63416,"phone-arrow-down-left":57891,"phone-arrow-down":57891,"phone-incoming":57891,"cloud-word":57656,"hand-fingers-crossed":57763,"trash":61944,"gauge-simple":63017,"gauge-simple-med":63017,"tachometer-average":63017,"arrow-down-small-big":63629,"sort-size-down-alt":63629,"book-medical":63462,"face-melting":58499,"poo":62206,"pen-clip-slash":57871,"pen-alt-slash":57871,"quote-right":61710,"quote-right-alt":61710,"scroll-old":63247,"guitars":63679,"phone-xmark":57895,"hose":58393,"clock-six":58194,"shirt":62803,"t-shirt":62803,"tshirt":62803,"billboard":58829,"square-r":57980,"cubes":61875,"envelope-open-dollar":63063,"divide":62761,"sun-cloud":63331,"lamp-floor":57365,"square-7":57948,"tenge-sign":63447,"tenge":63447,"headphones":61477,"hands-holding":62658,"campfire":63162,"circle-ampersand":57592,"snowflakes":63439,"hands-clapping":57768,"republican":63326,"leaf-maple":63222,"arrow-left":61536,"person-circle-xmark":58691,"ruler":62789,"cup-straw-swoosh":58212,"temperature-sun":63338,"temperature-hot":63338,"align-left":61494,"dice-d6":63185,"restroom":63421,"high-definition":57774,"rectangle-hd":57774,"j":74,"galaxy":57352,"users-viewfinder":58773,"file-video":61896,"cherries":57580,"up-right-from-square":62301,"external-link-alt":62301,"circle-sort":57392,"sort-circle":57392,"table-cells":61450,"th":61450,"file-pdf":61889,"siren":57389,"arrow-up-to-dotted-line":57505,"image-landscape":57781,"landscape":57781,"tank-water":58450,"curling-stone":62538,"curling":62538,"gamepad-modern":58786,"gamepad-alt":58786,"messages-question":57831,"book-bible":63047,"bible":63047,"o":79,"suitcase-medical":61690,"medkit":61690,"briefcase-arrow-right":58098,"expand-wide":62240,"clock-eleven-thirty":58184,"rv":63422,"user-secret":61979,"otter":63232,"dreidel":63378,"person-dress":61826,"female":61826,"comment-dollar":63057,"business-time":63050,"briefcase-clock":63050,"flower-tulip":63489,"people-pants-simple":57882,"cloud-drizzle":63288,"table-cells-large":61449,"th-large":61449,"book-tanakh":63527,"tanakh":63527,"solar-system":57391,"seal-question":57923,"phone-volume":62112,"volume-control-phone":62112,"disc-drive":63669,"hat-cowboy-side":63681,"table-rows":58002,"rows":58002,"location-exclamation":62984,"map-marker-exclamation":62984,"face-fearful":58229,"clipboard-user":63475,"bus-school":62941,"film-slash":57721,"square-arrow-down-right":57954,"book-sparkles":63160,"book-spells":63160,"washing-machine":63640,"washer":63640,"child":61870,"lira-sign":61845,"user-visor":57420,"file-plus-minus":57719,"chess-clock-flip":62526,"chess-clock-alt":62526,"satellite":63423,"plane-lock":58712,"steering-wheel":63010,"tag":61483,"stretcher":63525,"book-section":57537,"book-law":57537,"inboxes":57787,"coffee-bean":57662,"circle-yen":58832,"brackets-curly":63466,"ellipsis-stroke-vertical":62364,"ellipsis-v-alt":62364,"comment":61557,"square-1":57942,"cake-candles":61949,"birthday-cake":61949,"cake":61949,"head-side":63209,"envelope":61664,"dolly-empty":62579,"face-tissue":58268,"angles-up":61698,"angle-double-up":61698,"bin-recycle":58871,"paperclip":61638,"chart-line-down":63053,"arrow-right-to-city":58547,"lock-a":58402,"ribbon":62678,"lungs":62980,"person-pinball":57885,"arrow-up-9-1":63623,"sort-numeric-up-alt":63623,"apple-core":57487,"circle-y":57647,"h6":58387,"litecoin-sign":57811,"circle-small":57634,"border-none":63568,"arrow-turn-down-left":58081,"circle-nodes":58594,"parachute-box":62669,"message-medical":63476,"comment-alt-medical":63476,"rugby-ball":58310,"comment-music":63664,"indent":61500,"tree-deciduous":62464,"tree-alt":62464,"puzzle-piece-simple":57905,"puzzle-piece-alt":57905,"truck-field-un":58766,"nfc-trash":57853,"hourglass":62036,"hourglass-empty":62036,"mountain":63228,"file-xmark":62231,"file-times":62231,"house-heart":62665,"home-heart":62665,"house-chimney-blank":58288,"meter-bolt":57833,"user-doctor":61680,"user-md":61680,"slash-back":92,"circle-info":61530,"info-circle":61530,"fishing-rod":58280,"hammer-crash":58388,"message-heart":58825,"cloud-meatball":63291,"camera-polaroid":63658,"camera":61488,"camera-alt":61488,"square-virus":58744,"cart-arrow-up":58350,"meteor":63315,"car-on":58589,"sleigh":63436,"arrow-down-1-9":61794,"sort-numeric-asc":61794,"sort-numeric-down":61794,"buoy-mooring":58806,"square-4":57945,"hand-holding-droplet":62657,"hand-holding-water":62657,"tricycle-adult":58820,"waveform":63729,"water":63347,"star-sharp-half-stroke":57997,"star-sharp-half-alt":57997,"nfc-signal":57851,"plane-prop":57899,"calendar-check":62068,"clock-desk":57652,"calendar-clock":57554,"calendar-time":57554,"braille":62113,"prescription-bottle-medical":62598,"prescription-bottle-alt":62598,"plate-utensils":58427,"family-pants":58114,"hose-reel":58394,"house-window":58291,"landmark":63087,"truck":61649,"crosshairs":61531,"cloud-rainbow":63294,"person-cane":58684,"alien":63733,"tent":58749,"laptop-binary":58855,"vest-patches":57478,"people-dress-simple":57880,"check-double":62816,"arrow-down-a-z":61789,"sort-alpha-asc":61789,"sort-alpha-down":61789,"bowling-ball-pin":57539,"bell-school-slash":62934,"plus-large":58782,"money-bill-wheat":58666,"camera-viewfinder":57562,"screenshot":57562,"message-music":63663,"comment-alt-music":63663,"car-building":63577,"border-bottom-right":63572,"border-style-alt":63572,"octagon":62214,"comment-arrow-up-right":57669,"octagon-divide":57859,"cookie":62819,"arrow-rotate-left":61666,"arrow-left-rotate":61666,"arrow-rotate-back":61666,"arrow-rotate-backward":61666,"undo":61666,"tv-music":63718,"hard-drive":61600,"hdd":61600,"reel":57912,"face-grin-squint-tears":62854,"grin-squint-tears":62854,"dumbbell":62539,"rectangle-list":61474,"list-alt":61474,"tarp-droplet":58748,"alarm-exclamation":63555,"house-medical-circle-check":58641,"traffic-cone":63030,"grate":57747,"arrow-down-right":57491,"person-skiing-nordic":63434,"skiing-nordic":63434,"calendar-plus":62065,"person-from-portal":57379,"portal-exit":57379,"plane-arrival":62895,"cowbell-circle-plus":63668,"cowbell-more":63668,"circle-left":62297,"arrow-alt-circle-left":62297,"distribute-spacing-vertical":58214,"signal-bars-fair":63122,"signal-alt-2":63122,"sportsball":58443,"game-console-handheld-crank":58809,"train-subway":62009,"subway":62009,"chart-gantt":57572,"face-smile-upside-down":58261,"ball-pile":63358,"badge-dollar":63045,"money-bills-simple":57844,"money-bills-alt":57844,"list-timeline":57809,"indian-rupee-sign":57788,"indian-rupee":57788,"inr":57788,"crop-simple":62821,"crop-alt":62821,"money-bill-1":62417,"money-bill-alt":62417,"left-long":62218,"long-arrow-alt-left":62218,"keyboard-down":57794,"circle-up-right":57641,"cloud-bolt-moon":63341,"thunderstorm-moon":63341,"dna":62577,"virus-slash":57461,"bracket-round-right":41,"circle-sterling":58831,"circle-5":57586,"minus":61544,"subtract":61544,"fire-flame":63199,"flame":63199,"right-to-line":62284,"arrow-alt-to-right":62284,"gif":57744,"chess":62521,"trash-slash":58035,"arrow-left-long":61815,"long-arrow-left":61815,"plug-circle-check":58716,"font-case":63590,"street-view":61981,"arrow-down-left":57489,"franc-sign":57743,"flask-round-poison":63200,"flask-poison":63200,"volume-off":61478,"book-circle-arrow-right":57532,"chart-user":63139,"user-chart":63139,"hands-asl-interpreting":62115,"american-sign-language-interpreting":62115,"asl-interpreting":62115,"hands-american-sign-language-interpreting":62115,"presentation-screen":63109,"presentation":63109,"circle-bolt":57598,"face-smile-halo":58255,"cart-circle-arrow-down":58351,"house-person-return":57361,"house-person-arrive":57361,"house-return":57361,"message-xmark":62635,"comment-alt-times":62635,"message-times":62635,"file-certificate":62963,"file-award":62963,"user-doctor-hair-long":58457,"camera-security":63742,"camera-home":63742,"gear":61459,"cog":61459,"droplet-slash":62919,"tint-slash":62919,"book-heart":62617,"mosque":63096,"duck":63192,"mosquito":58667,"star-of-david":63130,"flag-swallowtail":63308,"flag-alt":63308,"person-military-rifle":58699,"car-garage":62946,"cart-shopping":61562,"shopping-cart":61562,"book-font":57535,"shield-plus":57930,"vials":62611,"eye-dropper-full":57714,"distribute-spacing-horizontal":58213,"tablet-rugged":62607,"temperature-snow":63336,"temperature-frigid":63336,"moped":58297,"face-smile-plus":62905,"smile-plus":62905,"radio-tuner":63704,"radio-alt":63704,"face-swear":58265,"water-arrow-down":63348,"water-lower":63348,"scanner-touchscreen":62602,"circle-7":57588,"plug-circle-plus":58719,"person-ski-jumping":63431,"ski-jump":63431,"place-of-worship":63103,"water-arrow-up":63349,"water-rise":63349,"waveform-lines":63730,"waveform-path":63730,"split":57940,"film-canister":63671,"film-cannister":63671,"folder-xmark":63071,"folder-times":63071,"toilet-paper-blank":63263,"toilet-paper-alt":63263,"tablet-screen":62460,"tablet-android-alt":62460,"hexagon-vertical-nft-slanted":58630,"folder-music":57741,"display-medical":57702,"desktop-medical":57702,"share-all":62311,"peapod":58140,"chess-clock":62525,"axe":63154,"square-d":57960,"grip-vertical":62862,"mobile-signal-out":57840,"arrow-turn-up":61768,"level-up":61768,"u":85,"arrow-up-from-dotted-line":57499,"square-root-variable":63128,"square-root-alt":63128,"light-switch-on":57369,"arrow-down-arrow-up":63619,"sort-alt":63619,"raindrops":63324,"dash":58372,"minus-large":58372,"clock":61463,"clock-four":61463,"input-numeric":57789,"truck-tow":58040,"backward-step":61512,"step-backward":61512,"pallet":62594,"car-bolt":58177,"arrows-maximize":62237,"expand-arrows":62237,"faucet":57349,"cloud-sleet":63297,"lamp-street":57797,"list-radio":57808,"pen-nib-slash":58529,"baseball-bat-ball":62514,"square-up-left":57986,"overline":63606,"s":83,"timeline":58012,"keyboard":61724,"arrows-from-dotted-line":57507,"usb-drive":63721,"ballot":63282,"caret-down":61655,"location-dot-slash":62981,"map-marker-alt-slash":62981,"cards":58349,"house-chimney-medical":63474,"clinic-medical":63474,"boxing-glove":62520,"glove-boxing":62520,"temperature-three-quarters":62152,"temperature-3":62152,"thermometer-3":62152,"thermometer-three-quarters":62152,"bell-school":62933,"mobile-screen":62415,"mobile-android-alt":62415,"plane-up":57901,"folder-heart":57737,"circle-location-arrow":62978,"location-circle":62978,"face-head-bandage":58234,"sushi-roll":58507,"maki-roll":58507,"makizushi":58507,"car-bump":62944,"piggy-bank":62675,"racquet":62554,"car-mirrors":58179,"industry-windows":62387,"industry-alt":62387,"bolt-auto":57526,"battery-half":62018,"battery-3":62018,"flux-capacitor":63674,"mountain-city":58670,"coins":62750,"honey-pot":58392,"olive":58134,"khanda":63085,"filter-list":57724,"outlet":57372,"sliders":61918,"sliders-h":61918,"cauldron":63167,"people":57878,"folder-tree":63490,"network-wired":63231,"croissant":63478,"map-pin":62070,"hamsa":63077,"cent-sign":58357,"swords-laser":57405,"flask":61635,"person-pregnant":58142,"square-u":57985,"wand-sparkles":63275,"router":63706,"ellipsis-vertical":61762,"ellipsis-v":61762,"sword-laser-alt":57404,"ticket":61765,"power-off":61457,"coin":63580,"laptop-slash":57799,"right-long":62219,"long-arrow-alt-right":62219,"circle-b":57597,"person-dress-simple":57884,"pipe-collar":58423,"lights-holiday":63410,"citrus":58100,"flag-usa":63309,"laptop-file":58653,"tty":61924,"teletype":61924,"chart-tree-map":57578,"diagram-next":58486,"person-rifle":58702,"clock-five-thirty":58186,"pipe-valve":58425,"arrow-up-from-arc":58548,"face-spiral-eyes":58501,"compress-wide":62246,"circle-phone-hangup":57629,"phone-circle-down":57629,"gear-complex-code":58859,"house-medical-circle-exclamation":58642,"badminton":58170,"closed-captioning":61962,"person-hiking":63212,"hiking":63212,"right-from-line":62279,"arrow-alt-from-left":62279,"venus-double":61990,"images":62210,"calculator":61932,"shuttlecock":62555,"user-hair":58458,"eye-evil":63195,"people-pulling":58677,"n":78,"garage":57353,"cable-car":63450,"tram":63450,"shovel-snow":63427,"cloud-rain":63293,"face-lying":58238,"sprinkler":57397,"building-circle-xmark":58580,"person-sledding":63435,"sledding":63435,"game-console-handheld":63675,"ship":61978,"clock-six-thirty":58195,"battery-slash":62327,"tugrik-sign":58042,"arrows-down-to-line":58552,"download":61465,"shelves":62592,"inventory":62592,"cloud-snow":63298,"face-grin":62848,"grin":62848,"delete-left":62810,"backspace":62810,"oven":57373,"cloud-binary":58881,"eye-dropper":61947,"eye-dropper-empty":61947,"eyedropper":61947,"comment-captions":57670,"comments-question":57678,"scribble":57919,"rotate-exclamation":57916,"file-circle-check":58784,"glass":63492,"loader":57812,"forward":61518,"user-pilot":58048,"mobile":62414,"mobile-android":62414,"mobile-phone":62414,"code-pull-request-closed":58361,"face-meh":61722,"meh":61722,"align-center":61495,"book-skull":63159,"book-dead":63159,"id-card":62146,"drivers-license":62146,"face-dotted":58495,"face-worried":58275,"outdent":61499,"dedent":61499,"heart-circle-exclamation":58622,"house":61461,"home":61461,"home-alt":61461,"home-lg-alt":61461,"vector-circle":58054,"car-circle-bolt":58178,"calendar-week":63364,"flying-disc":58281,"laptop-medical":63506,"square-down-right":57964,"b":66,"seat-airline":57924,"moon-over-sun":63306,"eclipse-alt":63306,"pipe":124,"file-medical":62583,"potato":58432,"dice-one":62757,"circle-a":57591,"helmet-battle":63211,"butter":58340,"blanket-fire":58330,"kiwi-bird":62773,"castle":57566,"golf-club":62545,"arrow-right-arrow-left":61676,"exchange":61676,"rotate-right":62201,"redo-alt":62201,"rotate-forward":62201,"utensils":62183,"cutlery":62183,"arrow-up-wide-short":61793,"sort-amount-up":61793,"chart-pie-simple-circle-dollar":58885,"balloons":58084,"mill-sign":57837,"bowl-rice":58091,"timeline-arrow":58013,"skull":62796,"game-board-simple":63592,"game-board-alt":63592,"circle-video":57643,"video-circle":57643,"chart-scatter-bubble":57577,"house-turret":57780,"banana":58085,"hand-holding-skull":57764,"people-dress":57879,"loveseat":62668,"couch-small":62668,"tower-broadcast":62745,"broadcast-tower":62745,"truck-pickup":63036,"block-quote":57525,"up-long":62220,"long-arrow-alt-up":62220,"stop":61517,"code-merge":62343,"money-check-dollar-pen":63603,"money-check-edit-alt":63603,"up-from-line":62278,"arrow-alt-from-bottom":62278,"upload":61587,"hurricane":63313,"grid-round-2-plus":58844,"people-pants":57881,"mound":58669,"windsock":63351,"circle-half":57616,"brake-warning":57543,"toilet-portable":58755,"compact-disc":62751,"file-arrow-down":62829,"file-download":62829,"saxophone-fire":63707,"sax-hot":63707,"camera-web-slash":63539,"webcam-slash":63539,"folder-medical":57740,"folder-gear":57735,"folder-cog":57735,"hand-wave":57767,"arrow-up-arrow-down":57497,"sort-up-down":57497,"caravan":63743,"shield-cat":58738,"message-slash":62633,"comment-alt-slash":62633,"bolt":61671,"zap":61671,"trash-can-check":58025,"glass-water":58612,"oil-well":58674,"person-simple":57888,"vault":58053,"mars":61986,"toilet":63448,"plane-circle-xmark":58711,"yen-sign":61783,"cny":61783,"jpy":61783,"rmb":61783,"yen":61783,"gear-code":58856,"notes":57858,"ruble-sign":61784,"rouble":61784,"rub":61784,"ruble":61784,"trash-undo":63637,"trash-arrow-turn-left":63637,"champagne-glass":63390,"glass-champagne":63390,"objects-align-center-horizontal":58300,"sun":61829,"trash-can-slash":58029,"trash-alt-slash":58029,"screen-users":63037,"users-class":63037,"guitar":63398,"square-arrow-left":62266,"arrow-square-left":62266,"square-8":57949,"face-smile-hearts":58256,"brackets-square":63465,"brackets":63465,"laptop-arrow-down":57798,"hockey-stick-puck":58286,"house-tree":57779,"signal-fair":63117,"signal-2":63117,"face-laugh-wink":62876,"laugh-wink":62876,"circle-dollar":62184,"dollar-circle":62184,"usd-circle":62184,"horse-head":63403,"arrows-repeat":62308,"repeat-alt":62308,"bore-hole":58563,"industry":62069,"image-polaroid":63684,"wave-triangle":63642,"person-running-fast":58879,"circle-down":62296,"arrow-alt-circle-down":62296,"grill":58787,"arrows-turn-to-dots":58561,"chart-mixed":63043,"analytics":63043,"florin-sign":57732,"arrow-down-short-wide":63620,"sort-amount-desc":63620,"sort-amount-down-alt":63620,"less-than":60,"display-code":57701,"desktop-code":57701,"face-drooling":58226,"oil-temperature":62996,"oil-temp":62996,"square-question":62205,"question-square":62205,"air-conditioner":63732,"angle-down":61703,"mountains":63229,"omega":63098,"car-tunnel":58590,"person-dolly-empty":62673,"pan-food":58411,"head-side-cough":57441,"grip-lines":63396,"thumbs-down":61797,"user-lock":62722,"arrow-right-long":61816,"long-arrow-right":61816,"tickets-airline":58011,"anchor-circle-xmark":58540,"ellipsis":61761,"ellipsis-h":61761,"nfc-slash":57852,"chess-pawn":62531,"kit-medical":62585,"first-aid":62585,"grid-2-plus":57751,"bells":63359,"person-through-window":58793,"toolbox":62802,"envelope-dot":57711,"envelope-badge":57711,"hands-holding-circle":58619,"bug":61832,"bowl-chopsticks":58089,"credit-card":61597,"credit-card-alt":61597,"circle-s":57633,"box-ballot":63285,"car":61881,"automobile":61881,"hand-holding-hand":58615,"user-tie-hair":58463,"podium-star":63320,"user-hair-mullet":58460,"business-front":58460,"party-back":58460,"trian-balbot":58460,"microphone-stand":63691,"book-open-reader":62938,"book-reader":62938,"family-dress":58113,"circle-x":57646,"cabin":58477,"mountain-sun":58671,"chart-simple-horizontal":58484,"arrows-left-right-to-line":58554,"hand-back-point-left":57759,"message-dots":62627,"comment-alt-dots":62627,"messaging":62627,"file-heart":57718,"beer-mug":57523,"beer-foam":57523,"dice-d20":63183,"drone":63583,"truck-droplet":58764,"file-circle-xmark":58785,"temperature-arrow-up":57408,"temperature-up":57408,"medal":62882,"bed":62006,"book-copy":57534,"square-h":61693,"h-square":61693,"square-c":57958,"clock-two":58202,"square-ellipsis-vertical":57967,"calendar-users":58850,"podcast":62158,"bee":57522,"temperature-full":62151,"temperature-4":62151,"thermometer-4":62151,"thermometer-full":62151,"bell":61683,"candy-bar":58344,"chocolate-bar":58344,"xmark-large":58779,"pinata":58307,"arrows-from-line":57508,"superscript":61739,"bowl-spoon":58336,"hexagon-check":58390,"plug-circle-xmark":58720,"star-of-life":63009,"phone-slash":62429,"traffic-light-stop":63034,"paint-roller":62890,"accent-grave":96,"handshake-angle":62660,"hands-helping":62660,"circle-0":57581,"dial-med-low":57696,"location-dot":62405,"map-marker-alt":62405,"crab":58367,"box-open-full":62620,"box-full":62620,"file":61787,"greater-than":62,"quotes":57908,"pretzel":58433,"person-swimming":62916,"swimmer":62916,"arrow-down":61539,"user-robot-xmarks":58535,"message-quote":57828,"comment-alt-quote":57828,"candy-corn":63165,"folder-magnifying-glass":57739,"folder-search":57739,"notebook":57857,"droplet":61507,"tint":61507,"bullseye-pointer":63049,"eraser":61741,"hexagon-image":58628,"earth-americas":62845,"earth":62845,"earth-america":62845,"globe-americas":62845,"crate-apple":63153,"apple-crate":63153,"person-burst":58683,"game-board":63591,"hat-chef":63595,"hand-back-point-right":57761,"dove":62650,"snowflake-droplets":58817,"battery-empty":62020,"battery-0":62020,"grid-4":57752,"socks":63126,"face-sunglasses":58264,"inbox":61468,"square-0":57941,"section":58439,"square-this-way-up":62623,"box-up":62623,"gauge-high":63013,"tachometer-alt":63013,"tachometer-alt-fast":63013,"square-ampersand":57952,"envelope-open-text":63064,"lamp-desk":57364,"hospital":61688,"hospital-alt":61688,"hospital-wide":61688,"poll-people":63321,"whiskey-glass-ice":63393,"glass-whiskey-rocks":63393,"wine-bottle":63279,"chess-rook":62535,"user-bounty-hunter":58047,"bars-staggered":62800,"reorder":62800,"stream":62800,"diagram-sankey":57688,"cloud-hail-mixed":63290,"circle-up-left":57640,"dharmachakra":63061,"objects-align-left":58302,"oil-can-drip":57861,"face-smiling-hands":58262,"broccoli":58338,"route-interstate":63003,"ear-muffs":63381,"hotdog":63503,"transporter-empty":57414,"person-walking-with-cane":62109,"blind":62109,"angle-90":57485,"rectangle-terminal":57910,"kite":63220,"drum":62825,"scrubber":62200,"ice-cream":63504,"heart-circle-bolt":58620,"fish-bones":58116,"deer-rudolph":63375,"fax":61868,"paragraph":61917,"head-side-heart":57770,"square-e":57965,"meter-fire":57835,"cloud-hail":63289,"check-to-slot":63346,"vote-yea":63346,"money-from-bracket":58130,"star-half":61577,"car-bus":63578,"speaker":63711,"timer":58014,"boxes-stacked":62568,"boxes":62568,"boxes-alt":62568,"grill-hot":58789,"ballot-check":63283,"link":61633,"chain":61633,"ear-listen":62114,"assistive-listening-systems":62114,"file-minus":62232,"tree-city":58759,"play":61515,"font":61489,"cup-togo":63173,"coffee-togo":63173,"square-down-left":57963,"burger-lettuce":58339,"rupiah-sign":57917,"magnifying-glass":61442,"search":61442,"table-tennis-paddle-ball":62557,"ping-pong-paddle-ball":62557,"table-tennis":62557,"person-dots-from-line":62576,"diagnoses":62576,"chevrons-down":62242,"chevron-double-down":62242,"trash-can-arrow-up":63530,"trash-restore-alt":63530,"signal-good":63118,"signal-3":63118,"location-question":62987,"map-marker-question":62987,"floppy-disk-circle-xmark":57729,"floppy-disk-times":57729,"save-circle-xmark":57729,"save-times":57729,"naira-sign":57846,"peach":57867,"taxi-bus":58008,"bracket-curly":123,"bracket-curly-left":123,"lobster":58401,"cart-flatbed-empty":62582,"dolly-flatbed-empty":62582,"colon":58,"cart-arrow-down":61976,"wand":63274,"walkie-talkie":63727,"file-pen":62236,"file-edit":62236,"receipt":62787,"table-picnic":58157,"square-pen":61771,"pen-square":61771,"pencil-square":61771,"circle-microphone-lines":57623,"microphone-circle-alt":57623,"display-slash":58106,"desktop-slash":58106,"suitcase-rolling":62913,"person-circle-exclamation":58687,"transporter-2":57412,"hands-holding-diamond":62588,"hand-receiving":62588,"money-bill-simple-wave":57842,"chevron-down":61560,"battery-full":62016,"battery":62016,"battery-5":62016,"bell-plus":63561,"book-arrow-right":57529,"hospitals":63502,"club":62247,"skull-crossbones":63252,"droplet-degree":63304,"dewpoint":63304,"code-compare":57658,"list-ul":61642,"list-dots":61642,"hand-holding-magic":63205,"watermelon-slice":58167,"circle-ellipsis":57610,"school-lock":58735,"tower-cell":58757,"sd-cards":57920,"jug-bottle":58875,"down-long":62217,"long-arrow-alt-down":62217,"envelopes":57712,"phone-office":63101,"ranking-star":58721,"chess-king":62527,"nfc-pen":57850,"person-harassing":58697,"hat-winter":63400,"brazilian-real-sign":58476,"landmark-dome":63314,"landmark-alt":63314,"bone-break":62936,"arrow-up":61538,"down-from-dotted-line":58375,"tv":62060,"television":62060,"tv-alt":62060,"border-left":63567,"circle-divide":57606,"shrimp":58440,"list-check":61614,"tasks":61614,"diagram-subtask":58489,"jug-detergent":58649,"circle-user":62141,"user-circle":62141,"square-y":57991,"user-doctor-hair":58456,"planet-ringed":57376,"mushroom":58405,"user-shield":62725,"megaphone":63093,"wreath-laurel":58834,"circle-exclamation-check":57613,"wind":63278,"box-dollar":62624,"box-usd":62624,"car-burst":62945,"car-crash":62945,"y":89,"user-headset":63533,"arrows-retweet":62305,"retweet-alt":62305,"person-snowboarding":63438,"snowboarding":63438,"square-chevron-right":62251,"chevron-square-right":62251,"lacrosse-stick-ball":58294,"truck-fast":62603,"shipping-fast":62603,"user-magnifying-glass":58821,"star-sharp":57995,"comment-heart":58824,"circle-1":57582,"circle-star":57635,"star-circle":57635,"fish":62840,"cloud-fog":63310,"fog":63310,"waffle":58470,"music-note":63695,"music-alt":63695,"hexagon-exclamation":58391,"cart-shopping-fast":57564,"object-union":58527,"user-graduate":62721,"starfighter":57399,"circle-half-stroke":61506,"adjust":61506,"arrow-right-long-to-line":58325,"square-arrow-down":62265,"arrow-square-down":62265,"diamond-half-stroke":58808,"clapperboard":57649,"square-chevron-left":62250,"chevron-square-left":62250,"phone-intercom":58420,"link-horizontal":57803,"chain-horizontal":57803,"mango":58127,"music-note-slash":63696,"music-alt-slash":63696,"circle-radiation":63418,"radiation-alt":63418,"face-tongue-sweat":58270,"globe-stand":62966,"baseball":62515,"baseball-ball":62515,"circle-p":57626,"award-simple":57515,"jet-fighter-up":58648,"diagram-project":62786,"project-diagram":62786,"pedestal":57869,"chart-pyramid":57574,"sidebar":57934,"snowman-head":63387,"frosty-head":63387,"copy":61637,"burger-glass":57550,"volume-xmark":63145,"volume-mute":63145,"volume-times":63145,"hand-sparkles":57437,"bars-filter":57517,"paintbrush-pencil":57862,"party-bell":58138,"user-vneck-hair":58466,"jack-o-lantern":62222,"grip":62861,"grip-horizontal":62861,"share-from-square":61773,"share-square":61773,"keynote":63084,"child-combatant":58592,"child-rifle":58592,"gun":57755,"square-phone":61592,"phone-square":61592,"hat-beach":58886,"plus":43,"add":43,"expand":61541,"computer":58597,"fort":58502,"cloud-check":58204,"xmark":61453,"close":61453,"multiply":61453,"remove":61453,"times":61453,"face-smirking":58263,"arrows-up-down-left-right":61511,"arrows":61511,"chalkboard-user":62748,"chalkboard-teacher":62748,"rhombus":57915,"claw-marks":63170,"peso-sign":57890,"face-smile-tongue":58260,"cart-circle-xmark":58356,"building-shield":58584,"circle-phone-flip":57628,"phone-circle-alt":57628,"baby":63356,"users-line":58770,"quote-left":61709,"quote-left-alt":61709,"tractor":63266,"key-skeleton":63219,"trash-arrow-up":63529,"trash-restore":63529,"arrow-down-up-lock":58544,"arrow-down-to-bracket":57492,"lines-leaning":58654,"square-q":57979,"ruler-combined":62790,"symbols":63598,"icons-alt":63598,"copyright":61945,"flask-gear":58865,"highlighter-line":57775,"bracket-square":91,"bracket":91,"bracket-left":91,"island-tropical":63505,"island-tree-palm":63505,"arrow-right-from-line":62275,"arrow-from-left":62275,"h2":62228,"equals":61,"cake-slice":58341,"shortcake":58341,"peanut":58416,"wrench-simple":58065,"blender":62743,"teeth":63022,"tally-2":58005,"shekel-sign":61963,"ils":61963,"shekel":61963,"sheqel":61963,"sheqel-sign":61963,"cars":63579,"axe-battle":63155,"user-hair-long":58459,"map":62073,"file-circle-info":58515,"face-disappointed":58223,"lasso-sparkles":57801,"clock-eleven":58183,"rocket":61749,"siren-on":57390,"clock-ten":58196,"candle-holder":63164,"video-arrow-down-left":58056,"photo-film":63612,"photo-video":63612,"floppy-disk-circle-arrow-right":57728,"save-circle-arrow-right":57728,"folder-minus":63069,"planet-moon":57375,"face-eyes-xmarks":58228,"chart-scatter":63470,"display-arrow-down":57700,"store":62798,"arrow-trend-up":57496,"plug-circle-minus":58718,"olive-branch":58135,"angle":57484,"vacuum-robot":57422,"sign-hanging":62681,"sign":62681,"square-divide":57962,"signal-stream-slash":57936,"bezier-curve":62811,"eye-dropper-half":57715,"store-lock":58534,"bell-slash":61942,"cloud-bolt-sun":63342,"thunderstorm-sun":63342,"camera-slash":57561,"comment-quote":57676,"tablet":62459,"tablet-android":62459,"school-flag":58734,"message-code":57823,"glass-half":57746,"glass-half-empty":57746,"glass-half-full":57746,"fill":62837,"message-minus":62631,"comment-alt-minus":62631,"angle-up":61702,"dinosaur":58878,"drumstick-bite":63191,"link-horizontal-slash":57804,"chain-horizontal-slash":57804,"holly-berry":63402,"nose":58813,"chevron-left":61523,"bacteria":57433,"clouds":63300,"money-bill-simple":57841,"hand-lizard":62040,"table-pivot":58001,"filter-slash":57725,"trash-can-undo":63638,"trash-can-arrow-turn-left":63638,"trash-undo-alt":63638,"notdef":57854,"disease":63482,"person-to-door":58419,"turntable":63716,"briefcase-medical":62569,"genderless":61997,"chevron-right":61524,"signal-weak":63116,"signal-1":63116,"clock-five":58185,"retweet":61561,"car-rear":62942,"car-alt":62942,"pump-soap":57451,"computer-classic":63665,"frame":58517,"video-slash":62690,"battery-quarter":62019,"battery-2":62019,"ellipsis-stroke":62363,"ellipsis-h-alt":62363,"radio":63703,"baby-carriage":63357,"carriage-baby":63357,"face-expressionless":58227,"down-to-dotted-line":58376,"cloud-music":63662,"traffic-light":63031,"cloud-minus":58205,"thermometer":62609,"shield-minus":57929,"vr-cardboard":63273,"car-tilt":62949,"gauge-circle-minus":58519,"brightness-low":57546,"hand-middle-finger":63494,"percent":37,"percentage":37,"truck-moving":62687,"glass-water-droplet":58613,"conveyor-belt":62574,"location-check":62982,"map-marker-check":62982,"coin-vertical":58365,"display":57699,"person-sign":63319,"face-smile":61720,"smile":61720,"phone-hangup":57893,"signature-slash":58315,"thumbtack":61581,"thumb-tack":61581,"wheat-slash":58169,"trophy":61585,"clouds-sun":63302,"person-praying":63107,"pray":63107,"hammer":63203,"face-vomit":58272,"speakers":63712,"tty-answer":58041,"teletype-answer":58041,"mug-tea-saucer":57845,"diagram-lean-canvas":57686,"alt":57482,"dial":57691,"dial-med-high":57691,"hand-peace":62043,"circle-trash":57638,"trash-circle":57638,"rotate":62193,"sync-alt":62193,"circle-quarters":58360,"spinner":61712,"tower-control":58018,"arrow-up-triangle-square":63626,"sort-shapes-up":63626,"whale":63276,"robot":62788,"peace":63100,"party-horn":58139,"gears":61573,"cogs":61573,"sun-bright":57999,"sun-alt":57999,"warehouse":62612,"conveyor-belt-arm":58872,"lock-keyhole-open":62402,"lock-open-alt":62402,"square-fragile":62619,"box-fragile":62619,"square-wine-glass-crack":62619,"arrow-up-right-dots":58551,"square-n":57975,"splotch":62908,"face-grin-hearts":62852,"grin-hearts":62852,"meter":57832,"mandolin":63225,"dice-four":62756,"sim-card":63428,"transgender":61989,"transgender-alt":61989,"mercury":61987,"up-from-bracket":58768,"knife-kitchen":63221,"border-right":63570,"arrow-turn-down":61769,"level-down":61769,"spade":62196,"card-spade":58348,"line-columns":63600,"arrow-right-to-line":62272,"arrow-to-right":62272,"person-falling-burst":58695,"flag-pennant":62550,"pennant":62550,"conveyor-belt-empty":57680,"user-group-simple":58883,"award":62809,"ticket-simple":62463,"ticket-alt":62463,"building":61869,"angles-left":61696,"angle-double-left":61696,"camcorder":63656,"video-handheld":63656,"pancakes":58413,"album-circle-user":58509,"qrcode":61481,"dice-d10":63181,"fireplace":63386,"browser":62334,"pen-paintbrush":63000,"pencil-paintbrush":63000,"fish-cooked":63486,"chair-office":63169,"nesting-dolls":58298,"clock-rotate-left":61914,"history":61914,"trumpet":63715,"face-grin-beam-sweat":62851,"grin-beam-sweat":62851,"fire-smoke":63307,"phone-missed":57894,"file-export":62830,"arrow-right-from-file":62830,"shield":61746,"shield-blank":61746,"arrow-up-short-wide":63621,"sort-amount-up-alt":63621,"arrows-repeat-1":62310,"repeat-1-alt":62310,"gun-slash":57756,"avocado":57514,"binary":58171,"glasses-round":62965,"glasses-alt":62965,"phone-plus":62674,"ditto":34,"person-seat":57886,"house-medical":58290,"golf-ball-tee":62544,"golf-ball":62544,"circle-chevron-left":61751,"chevron-circle-left":61751,"house-chimney-window":57357,"scythe":63248,"pen-nib":62893,"ban-parking":62998,"parking-circle-slash":62998,"tent-arrow-turn-left":58752,"face-diagonal-mouth":58494,"diagram-cells":58485,"cricket-bat-ball":62537,"cricket":62537,"tents":58754,"wand-magic":61648,"magic":61648,"dog":63187,"pen-line":57874,"atom-simple":62931,"atom-alt":62931,"ampersand":38,"carrot":63367,"arrow-up-from-line":62274,"arrow-from-bottom":62274,"moon":61830,"pen-slash":57875,"wine-glass-empty":62926,"wine-glass-alt":62926,"square-star":57983,"cheese":63471,"send-backward":63615,"yin-yang":63149,"music":61441,"compass-slash":62953,"clock-one":58190,"file-music":63670,"code-commit":62342,"temperature-low":63339,"person-biking":63562,"biking":63562,"display-chart-up-circle-currency":58853,"skeleton":63008,"circle-g":57615,"circle-arrow-up-left":57595,"coin-blank":58363,"broom":62746,"vacuum":57421,"shield-heart":58740,"card-heart":58347,"lightbulb-cfl-on":58791,"melon":58128,"gopuram":63076,"earth-oceania":58491,"globe-oceania":58491,"container-storage":62647,"face-pouting":58247,"square-xmark":62163,"times-square":62163,"xmark-square":62163,"face-explode":58110,"exploding-head":58110,"hashtag":35,"up-right-and-down-left-from-center":62500,"expand-alt":62500,"oil-can":62995,"t":84,"transformer-bolt":58020,"hippo":63213,"chart-column":57571,"cassette-vhs":63724,"vhs":63724,"infinity":62772,"vial-circle-check":58774,"chimney":63371,"object-intersect":58525,"person-arrow-down-to-line":58680,"voicemail":63639,"block-brick":58331,"wall-brick":58331,"fan":63587,"bags-shopping":63559,"paragraph-left":63608,"paragraph-rtl":63608,"person-walking-luggage":58708,"caravan-simple":57344,"caravan-alt":57344,"turtle":63270,"pencil-mechanical":58826,"up-down":62264,"arrows-alt-v":62264,"cloud-moon-rain":63292,"booth-curtain":63284,"calendar":61747,"box-heart":62621,"trailer":57409,"user-doctor-message":63534,"user-md-chat":63534,"bahai":63078,"haykal":63078,"amp-guitar":63649,"sd-card":63426,"volume-slash":62178,"border-bottom":63565,"wifi-weak":63146,"wifi-1":63146,"dragon":63189,"shoe-prints":62795,"circle-plus":61525,"plus-circle":61525,"face-grin-tongue-wink":62859,"grin-tongue-wink":62859,"hand-holding":62653,"plug-circle-exclamation":58717,"link-slash":61735,"chain-broken":61735,"chain-slash":61735,"unlink":61735,"clone":62029,"person-walking-arrow-loop-left":58705,"arrow-up-z-a":63618,"sort-alpha-up-alt":63618,"fire-flame-curved":63460,"fire-alt":63460,"tornado":63343,"file-circle-plus":58516,"delete-right":57684,"book-quran":63111,"quran":63111,"circle-quarter":57631,"anchor":61757,"border-all":63564,"function":63073,"face-angry":62806,"angry":62806,"people-simple":57883,"cookie-bite":62820,"arrow-trend-down":57495,"rss":61598,"feed":61598,"face-monocle":58240,"draw-polygon":62958,"scale-balanced":62030,"balance-scale":62030,"calendar-lines":57557,"calendar-note":57557,"arrow-down-big-small":63628,"sort-size-down":63628,"gauge-simple-high":63018,"tachometer":63018,"tachometer-fast":63018,"do-not-enter":62956,"shower":62156,"dice-d8":63186,"desktop":62352,"desktop-alt":62352,"m":77,"grip-dots-vertical":58385,"face-viewfinder":58111,"soft-serve":58368,"creemee":58368,"h5":58386,"hand-back-point-down":57758,"table-list":61451,"th-list":61451,"comment-sms":63437,"sms":63437,"rectangle":62202,"rectangle-landscape":62202,"clipboard-list-check":63287,"turkey":63269,"book":61485,"user-plus":62004,"ice-skate":63404,"check":61452,"battery-three-quarters":62017,"battery-4":62017,"tomato":58160,"sword-laser":57403,"house-circle-check":58633,"buildings":57548,"angle-left":61700,"cart-flatbed-boxes":62581,"dolly-flatbed-alt":62581,"diagram-successor":58490,"truck-arrow-right":58763,"square-w":57989,"arrows-split-up-and-left":58556,"lamp":62666,"airplay":57481,"hand-fist":63198,"fist-raised":63198,"shield-quartered":58741,"slash-forward":47,"location-pen":62983,"map-marker-edit":62983,"cloud-moon":63171,"pot-food":58431,"briefcase":61617,"person-falling":58694,"image-portrait":62432,"portrait":62432,"user-tag":62727,"rug":58729,"print-slash":63110,"earth-europe":63394,"globe-europe":63394,"cart-flatbed-suitcase":62877,"luggage-cart":62877,"hand-back-point-ribbon":57760,"rectangle-xmark":62480,"rectangle-times":62480,"times-rectangle":62480,"window-close":62480,"tire-rugged":63028,"lightbulb-dollar":63088,"cowbell":63667,"baht-sign":57516,"corner":58366,"chevrons-right":62244,"chevron-double-right":62244,"book-open":62744,"book-journal-whills":63082,"journal-whills":63082,"inhaler":62969,"handcuffs":58616,"snake":63254,"triangle-exclamation":61553,"exclamation-triangle":61553,"warning":61553,"note-medical":57856,"database":61888,"down-left":57706,"share":61540,"arrow-turn-right":61540,"mail-forward":61540,"face-thinking":58267,"turn-down-right":58453,"bottle-droplet":58564,"mask-face":57815,"hill-rockslide":58632,"scanner-keyboard":62601,"circle-o":57625,"grid-horizontal":58119,"message-dollar":63056,"comment-alt-dollar":63056,"right-left":62306,"exchange-alt":62306,"columns-3":58209,"paper-plane":61912,"road-circle-exclamation":58725,"dungeon":63193,"hand-holding-box":62587,"input-text":57791,"window-flip":62479,"window-alt":62479,"align-right":61496,"scanner-gun":62600,"scanner":62600,"tire":63025,"engine":57710,"money-bill-1-wave":62779,"money-bill-wave-alt":62779,"life-ring":61901,"hands":62119,"sign-language":62119,"signing":62119,"circle-caret-right":62256,"caret-circle-right":62256,"wheat":63277,"file-spreadsheet":63067,"audio-description-slash":57512,"calendar-day":63363,"water-ladder":62917,"ladder-water":62917,"swimming-pool":62917,"arrows-up-down":61565,"arrows-v":61565,"chess-pawn-piece":62532,"chess-pawn-alt":62532,"face-grimace":62847,"grimace":62847,"wheelchair-move":58062,"wheelchair-alt":58062,"turn-down":62398,"level-down-alt":62398,"square-s":57981,"rectangle-barcode":62563,"barcode-alt":62563,"person-walking-arrow-right":58706,"square-envelope":61849,"envelope-square":61849,"dice":62754,"unicorn":63271,"bowling-ball":62518,"pompebled":58429,"brain":62940,"watch-smart":58060,"book-user":63463,"sensor-cloud":57388,"sensor-smoke":57388,"clapperboard-play":57650,"bandage":62562,"band-aid":62562,"calendar-minus":62066,"circle-xmark":61527,"times-circle":61527,"xmark-circle":61527,"circle-4":57585,"gifts":63388,"album-collection":63648,"hotel":62868,"earth-asia":62846,"globe-asia":62846,"id-card-clip":62591,"id-card-alt":62591,"magnifying-glass-plus":61454,"search-plus":61454,"thumbs-up":61796,"cloud-showers":63295,"user-clock":62717,"onion":58407,"clock-twelve-thirty":58201,"arrow-down-to-dotted-line":57493,"hand-dots":62561,"allergies":62561,"file-invoice":62832,"window-minimize":62161,"rectangle-wide":62204,"comment-arrow-up":57668,"garlic":58382,"mug-saucer":61684,"coffee":61684,"brush":62813,"tree-decorated":63452,"mask":63226,"calendar-heart":57555,"magnifying-glass-minus":61456,"search-minus":61456,"flower":63487,"right-left-large":58849,"ruler-vertical":62792,"circles-overlap":58880,"user-large":62470,"user-alt":62470,"starship-freighter":57402,"train-tram":58804,"bridge-suspension":58573,"trash-check":58031,"user-nurse":63535,"boombox":63653,"syringe":62606,"cloud-sun":63172,"shield-exclamation":57927,"stopwatch-20":57455,"square-full":62556,"grip-dots":58384,"comment-exclamation":62639,"pen-swirl":57876,"falafel":58378,"circle-2":57583,"magnet":61558,"jar":58646,"gramophone":63677,"dice-d12":63182,"note-sticky":62025,"sticky-note":62025,"down":62292,"arrow-alt-down":62292,"hundred-points":58396,"paperclip-vertical":58306,"wind-warning":63350,"wind-circle-exclamation":63350,"location-pin-slash":62988,"map-marker-slash":62988,"face-sad-sweat":58250,"bug-slash":58512,"cupcake":58370,"light-switch-off":57368,"toggle-large-off":58800,"pen-fancy-slash":57872,"truck-container":62684,"boot":63362,"arrow-up-from-water-pump":58550,"file-check":62230,"bone":62935,"cards-blank":58591,"circle-3":57584,"bench-tree":58087,"keyboard-brightness-low":57793,"ski-boot-ski":58317,"brain-circuit":57542,"user-injured":63272,"block-brick-fire":58332,"firewall":58332,"face-sad-tear":62900,"sad-tear":62900,"plane":61554,"tent-arrows-down":58753,"exclamation":33,"arrows-spin":58555,"face-smile-relaxed":58258,"comment-xmark":62645,"comment-times":62645,"print":61487,"turkish-lira-sign":58043,"try":58043,"turkish-lira":58043,"face-nose-steam":58242,"circle-waveform-lines":57645,"waveform-circle":57645,"dollar-sign":36,"dollar":36,"usd":36,"ferris-wheel":57716,"computer-speaker":63666,"skull-cow":63710,"x":88,"magnifying-glass-dollar":63112,"search-dollar":63112,"users-gear":62729,"users-cog":62729,"person-military-pointing":58698,"building-columns":61852,"bank":61852,"institution":61852,"museum":61852,"university":61852,"circle-t":57636,"sack":63516,"grid-2":57750,"camera-cctv":63660,"cctv":63660,"umbrella":61673,"trowel":58761,"horizontal-rule":63596,"bed-front":63735,"bed-alt":63735,"d":68,"stapler":58799,"masks-theater":63024,"theater-masks":63024,"kip-sign":57796,"face-woozy":58274,"cloud-question":58514,"pineapple":58143,"hand-point-left":61605,"gallery-thumbnails":58282,"circle-j":57618,"eyes":58215,"handshake-simple":62662,"handshake-alt":62662,"page-caret-up":58410,"file-caret-up":58410,"jet-fighter":61691,"fighter-jet":61691,"comet":57347,"square-share-nodes":61921,"share-alt-square":61921,"shield-keyhole":57928,"barcode":61482,"plus-minus":58428,"square-sliders-vertical":62450,"sliders-v-square":62450,"video":61501,"video-camera":61501,"message-middle":57825,"comment-middle-alt":57825,"graduation-cap":61853,"mortar-board":61853,"hand-holding-medical":57436,"person-circle-check":58686,"square-z":57992,"message-text":57830,"comment-alt-text":57830,"turn-up":62399,"level-up-alt":62399,"monero":62416,"hooli":62503,"yelp":61929,"cc-visa":61936,"lastfm":61954,"shopware":62901,"creative-commons-nc":62696,"aws":62325,"redhat":63420,"yoast":62129,"cloudflare":57469,"ups":63456,"wpexplorer":62174,"dyalog":62361,"bity":62330,"stackpath":63554,"buysellads":61965,"first-order":62128,"modx":62085,"guilded":57470,"vnv":62475,"square-js":62393,"js-square":62393,"microsoft":62410,"qq":61910,"orcid":63698,"java":62692,"invision":63408,"creative-commons-pd-alt":62701,"centercode":62336,"glide-g":62118,"drupal":61865,"hire-a-helper":62384,"creative-commons-by":62695,"unity":57417,"whmcs":62477,"rocketchat":62440,"vk":61833,"untappd":62469,"mailchimp":62878,"css3-alt":62347,"square-reddit":61858,"reddit-square":61858,"vimeo-v":62077,"contao":62061,"square-font-awesome":58797,"deskpro":62351,"sistrix":62446,"square-instagram":57429,"instagram-square":57429,"battle-net":63541,"the-red-yeti":63133,"square-hacker-news":62383,"hacker-news-square":62383,"edge":62082,"napster":62418,"square-snapchat":62125,"snapchat-square":62125,"google-plus-g":61653,"artstation":63354,"markdown":62991,"sourcetree":63443,"google-plus":62131,"diaspora":63377,"foursquare":61824,"stack-overflow":61804,"github-alt":61715,"phoenix-squadron":62737,"pagelines":61836,"algolia":62316,"red-river":62435,"creative-commons-sa":62703,"safari":62055,"google":61856,"square-font-awesome-stroke":62300,"font-awesome-alt":62300,"atlassian":63355,"linkedin-in":61665,"digital-ocean":62353,"nimblr":62888,"chromecast":63544,"evernote":63545,"hacker-news":61908,"creative-commons-sampling":62704,"adversal":62314,"creative-commons":62046,"watchman-monitoring":57479,"fonticons":62080,"weixin":61911,"shirtsinbulk":61972,"codepen":61899,"git-alt":63553,"lyft":62403,"rev":62898,"windows":61818,"wizards-of-the-coast":63280,"square-viadeo":62122,"viadeo-square":62122,"meetup":62176,"centos":63369,"adn":61808,"cloudsmith":62340,"pied-piper-alt":61864,"square-dribbble":62359,"dribbble-square":62359,"codiepie":62084,"node":62489,"mix":62411,"steam":61878,"cc-apple-pay":62486,"scribd":62090,"openid":61851,"instalod":57473,"expeditedssl":62014,"sellcast":62170,"square-twitter":61569,"twitter-square":61569,"r-project":62711,"delicious":61861,"freebsd":62372,"vuejs":62495,"accusoft":62313,"ioxhost":61960,"fonticons-fi":62370,"app-store":62319,"cc-mastercard":61937,"itunes-note":62389,"golang":58383,"kickstarter":62395,"grav":62166,"weibo":61834,"uncharted":57476,"firstdraft":62369,"square-youtube":62513,"youtube-square":62513,"wikipedia-w":62054,"wpressr":62436,"rendact":62436,"angellist":61961,"galactic-republic":62732,"nfc-directional":58672,"skype":61822,"joget":62391,"fedora":63384,"stripe-s":62506,"meta":58523,"laravel":62397,"hotjar":62385,"bluetooth-b":62100,"sticker-mule":62455,"creative-commons-zero":62707,"hips":62546,"behance":61876,"reddit":61857,"discord":62354,"chrome":62056,"app-store-ios":62320,"cc-discover":61938,"wpbeginner":62103,"confluence":63373,"mdb":63690,"dochub":62356,"accessible-icon":62312,"ebay":62708,"amazon":62064,"unsplash":57468,"yarn":63459,"square-steam":61879,"steam-square":61879,"500px":62062,"square-vimeo":61844,"vimeo-square":61844,"asymmetrik":62322,"font-awesome":62132,"font-awesome-flag":62132,"font-awesome-logo-full":62132,"gratipay":61828,"apple":61817,"hive":57471,"gitkraken":62374,"keybase":62709,"apple-pay":62485,"padlet":58528,"amazon-pay":62508,"square-github":61586,"github-square":61586,"stumbleupon":61860,"fedex":63383,"phoenix-framework":62428,"shopify":57431,"neos":62994,"hackerrank":62967,"researchgate":62712,"swift":63713,"angular":62496,"speakap":62451,"angrycreative":62318,"y-combinator":62011,"empire":61905,"envira":62105,"square-gitlab":58798,"gitlab-square":58798,"studiovinari":62456,"pied-piper":62126,"wordpress":61850,"product-hunt":62088,"firefox":62057,"linode":62136,"goodreads":62376,"square-odnoklassniki":62052,"odnoklassniki-square":62052,"jsfiddle":61900,"sith":62738,"themeisle":62130,"page4":62423,"hashnode":58521,"react":62491,"cc-paypal":61940,"squarespace":62910,"cc-stripe":61941,"creative-commons-share":62706,"bitcoin":62329,"keycdn":62394,"opera":62058,"itch-io":63546,"umbraco":63720,"galactic-senate":62733,"ubuntu":63455,"draft2digital":62358,"stripe":62505,"houzz":62076,"gg":62048,"dhl":63376,"square-pinterest":61651,"pinterest-square":61651,"xing":61800,"blackberry":62331,"creative-commons-pd":62700,"playstation":62431,"quinscape":62553,"less":62493,"blogger-b":62333,"opencart":62013,"vine":61898,"paypal":61933,"gitlab":62102,"typo3":62507,"reddit-alien":62081,"yahoo":61854,"dailymotion":57426,"affiliatetheme":62315,"pied-piper-pp":61863,"bootstrap":63542,"odnoklassniki":62051,"nfc-symbol":58673,"ethereum":62510,"speaker-deck":63548,"creative-commons-nc-eu":62697,"patreon":62425,"avianex":62324,"ello":62961,"gofore":62375,"bimobject":62328,"facebook-f":62366,"square-google-plus":61652,"google-plus-square":61652,"mandalorian":62735,"first-order-alt":62730,"osi":62490,"google-wallet":61934,"d-and-d-beyond":63178,"periscope":62426,"fulcrum":62731,"cloudscale":62339,"forumbee":61969,"mizuni":62412,"schlix":62442,"square-xing":61801,"xing-square":61801,"bandcamp":62165,"wpforms":62104,"cloudversify":62341,"usps":63457,"megaport":62883,"magento":62404,"spotify":61884,"optin-monster":62012,"fly":62487,"aviato":62497,"itunes":62388,"cuttlefish":62348,"blogger":62332,"flickr":61806,"viber":62473,"soundcloud":61886,"digg":61862,"tencent-weibo":61909,"symfony":63549,"maxcdn":61750,"etsy":62167,"facebook-messenger":62367,"audible":62323,"think-peaks":63281,"bilibili":58329,"erlang":62365,"cotton-bureau":63646,"dashcube":61968,"42-group":57472,"innosoft":57472,"stack-exchange":61837,"elementor":62512,"square-pied-piper":57374,"pied-piper-square":57374,"creative-commons-nd":62699,"palfed":62424,"superpowers":62173,"resolving":62439,"xbox":62482,"searchengin":62443,"tiktok":57467,"square-facebook":61570,"facebook-square":61570,"renren":61835,"linux":61820,"glide":62117,"linkedin":61580,"hubspot":62386,"deploydog":62350,"twitch":61928,"ravelry":62169,"mixer":57430,"square-lastfm":61955,"lastfm-square":61955,"vimeo":62474,"mendeley":63411,"uniregistry":62468,"figma":63385,"creative-commons-remix":62702,"cc-amazon-pay":62509,"dropbox":61803,"instagram":61805,"cmplid":58208,"facebook":61594,"gripfire":62380,"jedi-order":62734,"uikit":62467,"fort-awesome-alt":62371,"phabricator":62427,"ussunnah":62471,"earlybirds":62362,"trade-federation":62739,"autoprefixer":62492,"whatsapp":62002,"slideshare":61927,"google-play":62379,"viadeo":62121,"line":62400,"google-drive":62378,"servicestack":62444,"simplybuilt":61973,"bitbucket":61809,"imdb":62168,"deezer":57463,"raspberry-pi":63419,"jira":63409,"docker":62357,"screenpal":58736,"bluetooth":62099,"gitter":62502,"d-and-d":62349,"microblog":57370,"cc-diners-club":62028,"gg-circle":62049,"pied-piper-hat":62693,"kickstarter-k":62396,"yandex":62483,"readme":62677,"html5":61755,"sellsy":61971,"sass":62494,"wirsindhandwerk":58064,"wsh":58064,"buromobelexperte":62335,"salesforce":63547,"octopus-deploy":57474,"medapps":62406,"ns8":62421,"pinterest-p":62001,"apper":62321,"fort-awesome":62086,"waze":63551,"cc-jcb":62027,"snapchat":62123,"snapchat-ghost":62123,"fantasy-flight-games":63196,"rust":57466,"wix":62927,"square-behance":61877,"behance-square":61877,"supple":62457,"rebel":61904,"css3":61756,"staylinked":62453,"kaggle":62970,"space-awesome":58796,"deviantart":61885,"cpanel":62344,"goodreads-g":62377,"square-git":61906,"git-square":61906,"square-tumblr":61812,"tumblr-square":61812,"trello":61825,"creative-commons-nc-jp":62698,"get-pocket":62053,"perbyte":57475,"grunt":62381,"weebly":62924,"connectdevelop":61966,"leanpub":61970,"black-tie":62078,"themeco":62918,"python":62434,"android":61819,"bots":58176,"free-code-camp":62149,"hornbill":62866,"js":62392,"ideal":57363,"git":61907,"dev":63180,"sketch":63430,"yandex-international":62484,"cc-amex":61939,"uber":62466,"github":61595,"php":62551,"alipay":63042,"youtube":61799,"skyatlas":61974,"firefox-browser":57351,"replyd":62438,"suse":63446,"jenkins":62390,"twitter":61593,"rockrms":62441,"pinterest":61650,"buffer":63543,"npm":62420,"yammer":63552,"btc":61786,"dribbble":61821,"stumbleupon-circle":61859,"internet-explorer":62059,"stubber":58823,"telegram":62150,"telegram-plane":62150,"old-republic":62736,"odysee":58822,"square-whatsapp":62476,"whatsapp-square":62476,"node-js":62419,"edge-legacy":57464,"slack":61848,"slack-hash":61848,"medrt":62408,"usb":62087,"tumblr":61811,"vaadin":62472,"quora":62148,"reacteurope":63325,"medium":62010,"medium-m":62010,"amilia":62317,"mixcloud":62089,"flipboard":62541,"viacoin":62007,"critical-role":63177,"sitrox":58442,"discourse":62355,"joomla":61866,"mastodon":62710,"airbnb":63540,"wolf-pack-battalion":62740,"buy-n-large":63654,"gulp":62382,"creative-commons-sampling-plus":62705,"strava":62504,"ember":62499,"canadian-maple-leaf":63365,"teamspeak":62713,"pushed":62433,"wordpress-simple":62481,"nutritionix":62422,"wodu":57480,"google-pay":57465,"intercom":63407,"zhihu":63039,"korvue":62511,"pix":58426,"steam-symbol":62454}'),l=JSON.parse('{"0":["100","ad","add","adjust","air-freshener","alien-monster","allergies","ambulance","american-sign-language-interpreting","analytics","angle-double-down","angle-double-left","angle-double-right","angle-double-up","angry","apple-alt","apple-crate","archive","area-chart","arrow-alt-circle-down","arrow-alt-circle-left","arrow-alt-circle-right","arrow-alt-circle-up","arrow-alt-down","arrow-alt-from-bottom","arrow-alt-from-left","arrow-alt-from-right","arrow-alt-from-top","arrow-alt-left","arrow-alt-right","arrow-alt-square-down","arrow-alt-square-left","arrow-alt-square-right","arrow-alt-square-up","arrow-alt-to-bottom","arrow-alt-to-left","arrow-alt-to-right","arrow-alt-to-top","arrow-alt-up","arrow-circle-down","arrow-circle-left","arrow-circle-right","arrow-circle-up","arrow-from-bottom","arrow-from-left","arrow-from-right","arrow-from-top","arrow-left-rotate","arrow-right-from-file","arrow-right-rotate","arrow-right-to-file","arrow-rotate-back","arrow-rotate-backward","arrow-rotate-forward","arrow-square-down","arrow-square-left","arrow-square-right","arrow-square-up","arrow-to-bottom","arrow-to-left","arrow-to-right","arrow-to-top","arrow-turn-right","arrows","arrows-alt","arrows-alt-h","arrows-alt-v","arrows-h","arrows-v","asl-interpreting","assistive-listening-systems","atlas","atom-alt","automobile","backspace","balance-scale","balance-scale-left","balance-scale-right","band-aid","bank","bar-chart","barcode-alt","barn-silo","baseball-ball","basketball-ball","bathtub","battery","battery-0","battery-1","battery-2","battery-3","battery-4","battery-5","battery-car","bed-alt","beer","beer-foam","behance-square","betamax","bible","biking","biking-mountain","birthday-cake","blackboard","blind","book-alt","book-circle","book-dead","book-law","book-open-alt","book-reader","book-spells","bookmark-circle","border-style","border-style-alt","bowl-salad","bowl-shaved-ice","box-alt","box-fragile","box-full","box-up","box-usd","boxes","boxes-alt","bracket","bracket-curly-left","bracket-left","brackets","briefcase-clock","broadcast-tower","burn","bus-alt","business-front","cab","cake","calculator-alt","calendar-alt","calendar-circle","calendar-download","calendar-edit","calendar-note","calendar-time","calendar-times","calendar-upload","camera-alt","camera-circle","camera-home","cancel","car-alt","car-crash","car-mechanic","caravan-alt","caret-circle-down","caret-circle-left","caret-circle-right","caret-circle-up","caret-square-down","caret-square-left","caret-square-right","caret-square-up","carriage-baby","cctv","chain","chain-broken","chain-horizontal","chain-horizontal-slash","chain-slash","chalkboard-teacher","chart-pie-alt","check-circle","check-square","cheeseburger","chess-bishop-alt","chess-clock-alt","chess-king-alt","chess-knight-alt","chess-pawn-alt","chess-queen-alt","chess-rook-alt","chevron-circle-down","chevron-circle-left","chevron-circle-right","chevron-circle-up","chevron-double-down","chevron-double-left","chevron-double-right","chevron-double-up","chevron-square-down","chevron-square-left","chevron-square-right","chevron-square-up","child-rifle","chocolate-bar","clinic-medical","clock-four","close","cloud-download","cloud-download-alt","cloud-upload","cloud-upload-alt","cny","cocktail","coffee","coffee-togo","cog","cogs","columns","comment-alt","comment-alt-arrow-down","comment-alt-arrow-up","comment-alt-captions","comment-alt-check","comment-alt-dollar","comment-alt-dots","comment-alt-edit","comment-alt-exclamation","comment-alt-image","comment-alt-lines","comment-alt-medical","comment-alt-minus","comment-alt-music","comment-alt-plus","comment-alt-quote","comment-alt-slash","comment-alt-smile","comment-alt-text","comment-alt-times","comment-edit","comment-middle-alt","comment-middle-top-alt","comment-times","commenting","comments-alt","comments-alt-dollar","compress-alt","compress-arrows","compress-arrows-alt","concierge-bell","construction","contact-book","contact-card","conveyor-belt-alt","couch-small","cowbell-more","credit-card-alt","creemee","cricket","crop-alt","curling","cut","cutlery","dashboard","deaf","deafness","debug","dedent","desktop-alt","desktop-code","desktop-medical","desktop-slash","dewpoint","diagnoses","dial-med-high","digging","digital-tachograph","directions","dizzy","dollar","dollar-circle","dollar-square","dolly-box","dolly-flatbed","dolly-flatbed-alt","dolly-flatbed-empty","donate","dot-circle","doughnut","drafting-compass","dribbble-square","drivers-license","drone-alt","dryer-alt","earth","earth-america","eclipse-alt","edit","ellipsis-h","ellipsis-h-alt","ellipsis-v","ellipsis-v-alt","engine-exclamation","envelope-badge","envelope-circle","envelope-square","eur","euro","exchange","exchange-alt","exclamation-circle","exclamation-square","exclamation-triangle","expand-alt","expand-arrows","expand-arrows-alt","exploding-head","external-link","external-link-alt","external-link-square","external-link-square-alt","eye-dropper-empty","eyedropper","facebook-square","fast-backward","fast-forward","feather-alt","feed","female","field-hockey","fighter-jet","file-alt","file-archive","file-award","file-caret-down","file-caret-up","file-chart-line","file-clipboard","file-download","file-edit","file-medical-alt","file-search","file-text","file-times","file-upload","film-alt","film-cannister","fire-alt","firewall","first-aid","fist-raised","flag-alt","flame","flask-poison","flask-potion","floppy-disk-times","flushed","fog","folder-blank","folder-cog","folder-download","folder-search","folder-times","folder-upload","font-awesome-alt","font-awesome-flag","font-awesome-logo-full","football-ball","fragile","frosty-head","frown","frown-open","funnel-dollar","futbol-ball","game-board-alt","gamepad-alt","gauge-med","gauge-simple-med","gave-dandy","gbp","git-square","github-square","gitlab-square","glass-champagne","glass-cheers","glass-half-empty","glass-half-full","glass-martini","glass-martini-alt","glass-whiskey","glass-whiskey-rocks","glasses-alt","globe-africa","globe-americas","globe-asia","globe-europe","globe-oceania","glove-boxing","golf-ball","google-plus-square","grid-3","grimace","grin","grin-alt","grin-beam","grin-beam-sweat","grin-hearts","grin-squint","grin-squint-tears","grin-stars","grin-tears","grin-tongue","grin-tongue-squint","grin-tongue-wink","grin-wink","grip-horizontal","h-square","hacker-news-square","hamburger","hand-holding-usd","hand-holding-water","hand-paper","hand-receiving","hand-rock","hands-american-sign-language-interpreting","hands-heart","hands-helping","hands-usd","hands-wash","handshake-alt","handshake-alt-slash","hard-hat","hard-of-hearing","hat-hard","haykal","hdd","head-vr","header","headphones-alt","heart-broken","heart-circle","heart-half-alt","heart-music-camera-bolt","heart-rate","heart-square","heartbeat","hiking","history","home","home-alt","home-blank","home-heart","home-lg","home-lg-alt","home-user","hospital-alt","hospital-symbol","hospital-wide","hot-tub","hourglass-1","hourglass-2","hourglass-3","hourglass-empty","house-damage","house-flood","house-leave","house-person-arrive","house-person-depart","house-return","hryvnia","humidity","icons-alt","id-card-alt","ils","inbox-arrow-down","inbox-arrow-up","indian-rupee","industry-alt","info-circle","info-square","innosoft","inr","instagram-square","institution","inventory","island-tree-palm","journal-whills","jpy","js-square","kiss","kiss-beam","kiss-wink-heart","krw","ladder-water","landmark-alt","landscape","laptop-house","lastfm-square","laugh","laugh-beam","laugh-squint","laugh-wink","layer-group-minus","layer-group-plus","legal","level-down","level-down-alt","level-up","level-up-alt","line-chart","list-1-2","list-alt","list-dots","list-numeric","list-squares","location","location-circle","location-slash","lock-alt","lock-open-alt","lollypop","long-arrow-alt-down","long-arrow-alt-left","long-arrow-alt-right","long-arrow-alt-up","long-arrow-down","long-arrow-left","long-arrow-right","long-arrow-up","low-vision","luchador","luggage-cart","magic","magic-wand-sparkles","mail-bulk","mail-forward","mail-reply","mail-reply-all","maki-roll","makizushi","male","map-marked","map-marked-alt","map-marker","map-marker-alt","map-marker-alt-slash","map-marker-check","map-marker-edit","map-marker-exclamation","map-marker-minus","map-marker-plus","map-marker-question","map-marker-slash","map-marker-smile","map-marker-times","map-marker-xmark","map-signs","mars-stroke-h","mars-stroke-v","mask-luchador","medium-m","medkit","meh","meh-blank","meh-rolling-eyes","message-edit","message-times","messaging","microphone-alt","microphone-alt-slash","microphone-circle","microphone-circle-alt","mind-share","minus-circle","minus-hexagon","minus-large","minus-octagon","minus-square","mobile-alt","mobile-android","mobile-android-alt","mobile-iphone","mobile-phone","money-bill-alt","money-bill-wave-alt","money-bills-alt","money-check-alt","money-check-edit","money-check-edit-alt","monitor-heart-rate","mortar-board","mouse","mouse-alt","mouse-pointer","multiply","museum","music-alt","music-alt-slash","navicon","nigiri","odnoklassniki-square","oil-temp","page-break","paint-brush","paint-brush-alt","paint-brush-fine","paintbrush-alt","palette-boxes","pallet-alt","paper-plane-alt","paragraph-rtl","parentheses","parenthesis","parking","parking-circle","parking-circle-slash","parking-slash","party-back","pastafarianism","pause-circle","paw-alt","pen-alt","pen-alt-slash","pen-square","pencil-alt","pencil-paintbrush","pencil-ruler","pencil-square","pennant","people-arrows-left-right","people-carry","percentage","person-carry","phone-alt","phone-arrow-down","phone-arrow-up","phone-circle","phone-circle-alt","phone-circle-down","phone-incoming","phone-laptop","phone-outgoing","phone-square","phone-square-alt","phone-square-down","photo-video","pie-chart","pied-piper-square","ping-pong-paddle-ball","pinterest-square","plane-alt","play-circle","plus-circle","plus-hexagon","plus-octagon","plus-square","poll","poll-h","poo-bolt","portal-enter","portal-exit","portrait","pound-sign","pray","praying-hands","prescription-bottle-alt","presentation","print-search","pro","procedures","project-diagram","puzzle-piece-alt","question-circle","question-square","quidditch","quidditch-broom-ball","quote-left-alt","quote-right-alt","quran","rabbit-fast","radiation-alt","radio-alt","random","rectangle-hd","rectangle-landscape","rectangle-portrait","rectangle-sd","rectangle-times","reddit-square","redo","redo-alt","refresh","remove","remove-format","rendact","reorder","repeat-1-alt","repeat-alt","reply-time","retweet-alt","rmb","rod-asclepius","rod-snake","rotate-back","rotate-backward","rotate-forward","rouble","rows","rss-square","rub","ruble","running","rupee","sad-cry","sad-tear","save","save-circle-arrow-right","save-circle-xmark","save-times","sax-hot","scalpel-path","scanner","screenshot","scroll-ribbon","search","search-dollar","search-location","search-minus","search-plus","send","sensor-alert","sensor-smoke","share-alt","share-alt-square","share-square","shekel","sheqel","sheqel-sign","shield-alt","shield-blank","shield-times","shipping-fast","shipping-timed","shopping-bag","shopping-basket","shopping-basket-alt","shopping-cart","shortcake","shower-alt","shuttle-van","sign","sign-in","sign-in-alt","sign-language","sign-out","sign-out-alt","signal-1","signal-2","signal-3","signal-4","signal-5","signal-alt","signal-alt-1","signal-alt-2","signal-alt-3","signal-alt-4","signal-alt-slash","signal-bars-strong","signal-perfect","signing","skating","ski-jump","ski-lift","skiing","skiing-nordic","slack-hash","sledding","sliders-h","sliders-h-square","sliders-v","sliders-v-square","smile","smile-beam","smile-plus","smile-wink","smoking-ban","sms","snapchat-ghost","snapchat-square","snowboarding","snowmobile","soccer-ball","sort-alpha-asc","sort-alpha-desc","sort-alpha-down","sort-alpha-down-alt","sort-alpha-up","sort-alpha-up-alt","sort-alt","sort-amount-asc","sort-amount-desc","sort-amount-down","sort-amount-down-alt","sort-amount-up","sort-amount-up-alt","sort-asc","sort-circle","sort-circle-down","sort-circle-up","sort-desc","sort-numeric-asc","sort-numeric-desc","sort-numeric-down","sort-numeric-down-alt","sort-numeric-up","sort-numeric-up-alt","sort-shapes-down","sort-shapes-down-alt","sort-shapes-up","sort-shapes-up-alt","sort-size-down","sort-size-down-alt","sort-size-up","sort-size-up-alt","sort-up-down","soup","space-shuttle","space-station-moon-alt","sprout","square-root-alt","square-wine-glass-crack","staff-aesculapius","star-circle","star-half-alt","star-sharp-half-alt","starfighter-alt","starfighter-alt-advanced","steam-square","step-backward","step-forward","sticky-note","stop-circle","store-alt","store-alt-slash","stream","subtract","subway","subway-tunnel","sun-alt","surprise","swimmer","swimming-pool","sync","sync-alt","t-shirt","table-tennis","tablet-alt","tablet-android","tablet-android-alt","tachometer","tachometer-alt","tachometer-alt-average","tachometer-alt-fast","tachometer-alt-fastest","tachometer-alt-slow","tachometer-alt-slowest","tachometer-average","tachometer-fast","tachometer-fastest","tachometer-slow","tachometer-slowest","tally-5","tanakh","tasks","tasks-alt","telegram-plane","teletype","teletype-answer","television","temperature-0","temperature-1","temperature-2","temperature-3","temperature-4","temperature-down","temperature-frigid","temperature-hot","temperature-up","tenge","th","th-large","th-list","theater-masks","thermometer-0","thermometer-1","thermometer-2","thermometer-3","thermometer-4","thermometer-empty","thermometer-full","thermometer-half","thermometer-quarter","thermometer-three-quarters","thumb-tack","thunderstorm","thunderstorm-moon","thunderstorm-sun","ticket-alt","times","times-circle","times-hexagon","times-octagon","times-rectangle","times-square","times-to-slot","tint","tint-slash","tired","toilet-paper-alt","toilet-paper-reverse","toilet-paper-reverse-alt","toilet-paper-reverse-slash","tombstone-alt","tools","torah","tram","transgender-alt","trash-alt","trash-alt-slash","trash-arrow-turn-left","trash-can-arrow-turn-left","trash-circle","trash-restore","trash-restore-alt","trash-undo-alt","tree-alt","trian-balbot","triangle-circle-square","triangle-music","trophy-alt","truck-couch","truck-loading","try","tshirt","tumblr-square","turkish-lira","tv-alt","twitter-square","umbrella-alt","undo","undo-alt","university","unlink","unlock-alt","unsorted","usd","usd-circle","usd-square","user-alt","user-alt-slash","user-chart","user-circle","user-cog","user-construction","user-edit","user-friends","user-hard-hat","user-md","user-md-chat","user-times","users-class","users-cog","users-crown","utensil-fork","utensil-knife","utensil-spoon","utensils-alt","vcard","vhs","viadeo-square","video-camera","video-circle","video-handheld","vimeo-square","volleyball-ball","volume-control-phone","volume-down","volume-medium","volume-mute","volume-times","volume-up","vote-nay","vote-yea","walking","wall-brick","warehouse-alt","warning","washer","water-lower","water-rise","waveform-circle","waveform-path","webcam","webcam-slash","weight","whatsapp-square","wheat-alt","wheelchair-alt","wifi-1","wifi-2","wifi-3","wifi-strong","wind-circle-exclamation","window-alt","window-close","wine-glass-alt","won","wsh","xing-square","xmark-circle","xmark-hexagon","xmark-octagon","xmark-square","yen","youtube-square","zap","zzz"],"1":["42-group","500px","accessible-icon","accusoft","adn","adversal","affiliatetheme","airbnb","algolia","alipay","amazon","amazon-pay","amilia","android","angellist","angrycreative","angular","app-store","app-store-ios","apper","apple","apple-pay","artstation","asymmetrik","atlassian","audible","autoprefixer","avianex","aviato","aws","bandcamp","battle-net","behance","bilibili","bimobject","bitbucket","bitcoin","bity","black-tie","blackberry","blogger","blogger-b","bluetooth-b","bootstrap","bots","btc","buffer","buromobelexperte","buy-n-large","buysellads","canadian-maple-leaf","cc-amazon-pay","cc-amex","cc-apple-pay","cc-diners-club","cc-discover","cc-jcb","cc-mastercard","cc-paypal","cc-stripe","cc-visa","centercode","centos","chrome","chromecast","cloudflare","cloudscale","cloudsmith","cloudversify","cmplid","codepen","codiepie","confluence","connectdevelop","contao","cotton-bureau","cpanel","creative-commons","creative-commons-by","creative-commons-nc","creative-commons-nc-eu","creative-commons-nc-jp","creative-commons-nd","creative-commons-pd","creative-commons-pd-alt","creative-commons-remix","creative-commons-sa","creative-commons-sampling","creative-commons-sampling-plus","creative-commons-share","creative-commons-zero","critical-role","css3","css3-alt","cuttlefish","d-and-d","d-and-d-beyond","dailymotion","dashcube","deezer","delicious","deploydog","deskpro","dev","deviantart","dhl","diaspora","digg","digital-ocean","discord","discourse","dochub","docker","draft2digital","dribbble","dropbox","drupal","dyalog","earlybirds","ebay","edge","edge-legacy","elementor","ello","ember","empire","envira","erlang","ethereum","etsy","evernote","expeditedssl","facebook","facebook-f","facebook-messenger","fantasy-flight-games","fedex","fedora","figma","firefox","firefox-browser","first-order","first-order-alt","firstdraft","flickr","flipboard","fly","fonticons","fonticons-fi","fort-awesome","fort-awesome-alt","forumbee","foursquare","free-code-camp","freebsd","fulcrum","galactic-republic","galactic-senate","get-pocket","gg","gg-circle","git","git-alt","github","github-alt","gitkraken","gitlab","gitter","glide","glide-g","gofore","golang","goodreads","goodreads-g","google","google-drive","google-pay","google-play","google-plus","google-plus-g","google-wallet","gratipay","grav","gripfire","grunt","guilded","gulp","hacker-news","hackerrank","hashnode","hips","hire-a-helper","hive","hooli","hornbill","hotjar","houzz","html5","hubspot","ideal","imdb","instagram","instalod","intercom","internet-explorer","invision","ioxhost","itch-io","itunes","itunes-note","java","jedi-order","jenkins","jira","joget","joomla","js","jsfiddle","kaggle","keybase","keycdn","kickstarter","kickstarter-k","korvue","laravel","lastfm","leanpub","less","line","linkedin","linkedin-in","linode","linux","lyft","magento","mailchimp","mandalorian","markdown","mastodon","maxcdn","mdb","medapps","medium","medrt","meetup","megaport","mendeley","meta","microblog","microsoft","mix","mixcloud","mixer","mizuni","modx","monero","napster","neos","nfc-directional","nimblr","node","node-js","npm","ns8","nutritionix","octopus-deploy","odnoklassniki","odysee","old-republic","opencart","openid","opera","optin-monster","orcid","osi","padlet","page4","pagelines","palfed","patreon","paypal","perbyte","periscope","phabricator","phoenix-framework","phoenix-squadron","php","pied-piper","pied-piper-alt","pied-piper-hat","pied-piper-pp","pinterest","pinterest-p","pix","playstation","product-hunt","pushed","python","qq","quinscape","quora","r-project","raspberry-pi","ravelry","react","reacteurope","readme","rebel","red-river","reddit","reddit-alien","redhat","renren","replyd","researchgate","resolving","rev","rocketchat","rockrms","rust","safari","salesforce","sass","schlix","screenpal","scribd","searchengin","sellcast","sellsy","servicestack","shirtsinbulk","shopify","shopware","simplybuilt","sistrix","sith","sitrox","sketch","skyatlas","skype","slack","slideshare","snapchat","soundcloud","sourcetree","space-awesome","speakap","speaker-deck","spotify","square-behance","square-dribbble","square-facebook","square-font-awesome","square-font-awesome-stroke","square-git","square-github","square-gitlab","square-google-plus","square-hacker-news","square-instagram","square-js","square-lastfm","square-odnoklassniki","square-pied-piper","square-pinterest","square-reddit","square-snapchat","square-steam","square-tumblr","square-twitter","square-viadeo","square-vimeo","square-whatsapp","square-xing","square-youtube","squarespace","stack-exchange","stack-overflow","stackpath","staylinked","steam","steam-symbol","sticker-mule","strava","stripe","stripe-s","stubber","studiovinari","stumbleupon","stumbleupon-circle","superpowers","supple","suse","swift","symfony","teamspeak","telegram","tencent-weibo","the-red-yeti","themeco","themeisle","think-peaks","tiktok","trade-federation","trello","tumblr","twitch","twitter","typo3","uber","ubuntu","uikit","umbraco","uncharted","uniregistry","unity","unsplash","untappd","ups","usb","usps","ussunnah","vaadin","viacoin","viadeo","viber","vimeo","vimeo-v","vine","vk","vnv","vuejs","watchman-monitoring","waze","weebly","weibo","weixin","whatsapp","whmcs","wikipedia-w","windows","wirsindhandwerk","wix","wizards-of-the-coast","wodu","wolf-pack-battalion","wordpress","wordpress-simple","wpbeginner","wpexplorer","wpforms","wpressr","xbox","xing","y-combinator","yahoo","yammer","yandex","yandex-international","yarn","yelp","yoast","youtube","zhihu"],"511":["bluetooth","font-awesome","nfc-symbol"]}'),c={brands:1,thin:2,light:4,regular:8,solid:16,duotone:256},d=Object.keys(c),u={};for(var p of Object.keys(s))u[p]=510;for(var m of Object.keys(l)){var h=Number(m);for(var f of l[m])u[f]=h}var g=Object.entries(s).map(([e,r])=>{var a=u[e]||0;return{name:e,code:r,styles:d.filter(e=>a&c[e])}}),b={keys:["name"],threshold:.3,includeScore:!0},y=new n.A(g,b),w=new Map;function v(e){var r;e.tool("icon_search",{query:i.Yj().describe("Search keywords for FontAwesome 6 Pro icons"),limit:i.ai().min(1).max(100).optional().default(10),style:i.k5(["brands","duotone","light","regular","solid","thin"]).optional().describe("Filter by icon style")},(r=t(function*({query:e,limit:r,style:a}){var t=(function(e,r,a){if(a){var t;return(!(t=w.get(a))&&(t=new n.A(g.filter(e=>e.styles.includes(a)),b),w.set(a,t)),t).search(e,{limit:r})}return y.search(e,{limit:r})})(e,r,a).map(e=>({name:e.item.name,code:e.item.code,unicode:`U+${e.item.code.toString(16).toUpperCase()}`,styles:e.item.styles,score:e.score}));return{content:[{type:"text",text:o.lF({count:t.length,icons:t})}]}}),function(e){return r.apply(this,arguments)}))}},31385(e,r,a){a.d(r,{k:()=>s});var t=a(99436),i=a(84867),o=a(47680),n="https://lottiefiles.com/api";function s(e){var r,a,s;e.tool("lottie_search",{query:i.Yj().describe("Search keywords for animations"),page:i.ai().min(1).optional().default(1),limit:i.ai().min(1).max(100).optional().default(10)},(r=t(function*({query:e,page:r,limit:a}){try{var t=new URL(`${n}/search/get-animations`);t.searchParams.set("query",e),t.searchParams.set("page",String(r)),t.searchParams.set("limit",String(a)),t.searchParams.set("format","json");var i=yield fetch(t.toString()),s=yield i.json(),l=s?.data?.data??[];return{content:[{type:"text",text:o.lF({count:l.length,animations:l})}]}}catch(e){return{content:[{type:"text",text:`Failed to search animations: ${e.message}`}]}}}),function(e){return r.apply(this,arguments)})),e.tool("lottie_get_details",{id:i.Yj().describe("Animation file ID")},(a=t(function*({id:e}){try{var r=new URL(`${n}/animations/get-animation-data`);r.searchParams.set("fileId",e),r.searchParams.set("format","json");var a=yield fetch(r.toString()),t=yield a.json();return{content:[{type:"text",text:o.lF(t)}]}}catch(e){return{content:[{type:"text",text:`Failed to get animation: ${e.message}`}]}}}),function(e){return a.apply(this,arguments)})),e.tool("lottie_popular",{page:i.ai().min(1).optional().default(1),limit:i.ai().min(1).max(100).optional().default(10)},(s=t(function*({page:e,limit:r}){try{var a=new URL(`${n}/iconscout/popular-animations-weekly?api=%26sort%3Dpopular`);a.searchParams.set("page",String(e)),a.searchParams.set("limit",String(r)),a.searchParams.set("format","json");var t=yield fetch(a.toString()),i=yield t.json(),s=i?.popularWeeklyData?.data??[];return{content:[{type:"text",text:o.lF({count:s.length,animations:s})}]}}catch(e){return{content:[{type:"text",text:`Failed to get popular animations: ${e.message}`}]}}}),function(e){return s.apply(this,arguments)}))}},94360(e,r,a){a.d(r,{k:()=>c});var t,i=a(99436),o=a(84867),n=a(75720),s={FORCE_COLOR:"0",NO_COLOR:"1"},l=(t=i(function*(e,...r){try{return yield(0,n.sh)`bunx bricks ${r}`.cwd(e).env(s).text()}catch(e){throw Error(e.stderr?.toString()||e.message)}}),function(e){return t.apply(this,arguments)});function c(e,r){var a,t,n,s;e.tool("media_boxes",{},i(function*(){try{var e=yield l(r,"media","boxes");return{content:[{type:"text",text:e}]}}catch(e){return{content:[{type:"text",text:`Failed to list media boxes: ${e.message}`}]}}})),e.tool("media_get_box",{id:o.Yj().describe("Media box ID")},(a=i(function*({id:e}){try{var a=yield l(r,"media","box",e);return{content:[{type:"text",text:a}]}}catch(e){return{content:[{type:"text",text:`Failed to get media box: ${e.message}`}]}}}),function(e){return a.apply(this,arguments)})),e.tool("media_files",{boxId:o.Yj().describe("Media box ID"),types:o.Yj().describe("Comma-separated file types to include").optional(),userTag:o.YO(o.Yj()).describe("Filter by user tags").optional(),limit:o.ai().describe("Limit results").optional(),offset:o.ai().describe("Offset results").optional()},(t=i(function*({boxId:e,types:a,userTag:t,limit:i,offset:o}){try{var n=["media","files",e];a&&n.push("-t",a),t&&t.forEach(e=>n.push("-u",e)),null!=i&&n.push("-l",String(i)),null!=o&&n.push("-o",String(o));var s=yield l(r,...n);return{content:[{type:"text",text:s}]}}catch(e){return{content:[{type:"text",text:`Failed to list media files: ${e.message}`}]}}}),function(e){return t.apply(this,arguments)})),e.tool("media_file",{id:o.Yj().describe("Media file ID")},(n=i(function*({id:e}){try{var a=yield l(r,"media","file",e);return{content:[{type:"text",text:a}]}}catch(e){return{content:[{type:"text",text:`Failed to get media file: ${e.message}`}]}}}),function(e){return n.apply(this,arguments)})),e.tool("media_upload_files",{boxId:o.Yj().describe("Target media box ID"),files:o.YO(o.Yj()).min(1).describe("File paths to upload"),description:o.Yj().describe("File description").optional(),userTags:o.YO(o.Yj()).max(15).describe("User tags (max 15)").optional(),imageVersion:o.YO(o.Yj()).describe("Image resize specs as WxH or WxH:STRATEGY").optional(),imageVersionType:o.k5(["jpg","png"]).describe("Image output format").optional(),enableAiAnalysis:o.zM().describe("Enable AI analysis").optional(),aiInstruction:o.Yj().describe("Custom AI analysis instruction").optional(),concurrency:o.ai().min(1).describe("Max concurrent uploads").optional()},(s=i(function*({boxId:e,files:a,description:t,userTags:i,imageVersion:o,imageVersionType:n,enableAiAnalysis:s,aiInstruction:c,concurrency:d}){try{var u=["media","upload",e,...a];t&&u.push("-d",t),i&&i.forEach(e=>u.push("-t",e)),o&&o.forEach(e=>u.push("--image-version",e)),n&&u.push("--image-version-type",n),s&&u.push("--enable-ai-analysis"),c&&u.push("--ai-instruction",c),null!=d&&u.push("--concurrency",String(d));var p=yield l(r,...u);return{content:[{type:"text",text:p}]}}catch(e){return{content:[{type:"text",text:`Failed to upload media files: ${e.message}`}]}}}),function(e){return s.apply(this,arguments)}))}}};
16
+ `,n=D.join(r,"index.ts"),s={absPath:n,relPath:(0,G.RI)(e,n),source:o,ast:V(o,(0,G.RI)(e,n))};return yield eh(s),(0,G.RI)(e,n)}),function(e,r){return g.apply(this,arguments)}),ex=(b=$(function*(e,r){var a=D.join(r,"index.ts"),t=(0,G.RI)(e,a),i=yield(0,F.readFile)(a,"utf8").catch(e=>{if(e?.code==="ENOENT")return null;throw e});if(null==i)return{warning:`${t} not found; wire the data-calc import manually`};var o=yield W(e,a),n=(e=>{for(var r of e.program.body)if(T.isExportDefaultDeclaration(r)){var a=r.declaration;if(T.isObjectExpression(a))return a;if(T.isTSAsExpression(a)&&T.isObjectExpression(a.expression))return a.expression}return null})(o.ast);if(!n)return{warning:`${t} has no default-export object; wire the data-calc import manually`};var s=(0,G.bf)(n,"dataCalculation");if(s&&T.isIdentifier(s.value))return null;if(s&&!(T.isArrayExpression(s.value)&&0===s.value.elements.length))return{warning:`${t} has a non-empty dataCalculation value; wire the data-calc import manually`};if(o.ast.program.body.some(e=>T.isImportDeclaration(e)&&("./data-calc"===e.source.value||"./data-calc/index"===e.source.value))||(0,G.Pb)(o.ast,T.importDeclaration([T.importSpecifier(T.identifier("dataCalculation"),T.identifier("dataCalculation"))],T.stringLiteral("./data-calc"))),s)s.value=T.identifier("dataCalculation"),T.isIdentifier(s.key)&&(s.shorthand=!0);else{var l=T.objectProperty(T.identifier("dataCalculation"),T.identifier("dataCalculation"));l.shorthand=!0,n.properties.push(l)}return yield eh(o),{touched:o.relPath}}),function(e,r){return b.apply(this,arguments)}),e_=(y=$(function*(e,r,a){if(!r.key)throw new J("missing_key",`${e} item requires key`);if(null==r.data)throw new J("missing_data",`${e} item requires data`);var t=[T.objectProperty(T.identifier("key"),T.stringLiteral(r.key)),T.objectProperty(T.identifier("data"),(yield es(r.data,a)))];return"inputs"===e&&t.push(T.objectProperty(T.identifier("trigger"),T.booleanLiteral(!1!==r.trigger))),T.objectExpression(t)}),function(e,r,a){return y.apply(this,arguments)}),eq=(w=$(function*(e,r,a){if("inputs"===e){var t=new Set;for(var i of r){if(t.has(i?.key))throw new J("duplicate_key",`Input key already exists: ${i.key}`,{key:i.key});t.add(i?.key)}}return T.arrayExpression((yield Promise.all(r.map(r=>e_(e,r,a)))))}),function(e,r,a){return w.apply(this,arguments)}),ej=(e,r)=>{if("number"==typeof r.index)return r.index;if(!r.key)return -1;var a=e.elements.map((e,r)=>({element:e,index:r})).filter(({element:e})=>T.isObjectExpression(e)&&(0,G.JJ)(e,"key")===r.key);if(a.length>1)throw new J("ambiguous_key",`IO key is ambiguous: ${r.key}`,{key:r.key,count:a.length});return a[0]?.index??-1},e$=(v=$(function*(e,r,a,t){let i;a.typeImports.add("DataCalculationScript"),a.valueImports.add("makeId"),ei(a.parsed.ast);var o=[T.objectProperty(T.identifier("__typename"),T.stringLiteral("DataCalculationScript")),T.objectProperty(T.identifier("id"),e.id?T.stringLiteral(e.id):(i="property_bank_calc",T.callExpression(T.identifier("makeId"),t?[T.stringLiteral(i),T.stringLiteral(t)]:[T.stringLiteral(i)])))];return e.alias&&o.push(T.objectProperty(T.identifier("alias"),T.stringLiteral(e.alias))),null!=e.title&&o.push(T.objectProperty(T.identifier("title"),T.stringLiteral(e.title))),null!=e.description&&o.push(T.objectProperty(T.identifier("description"),T.stringLiteral(e.description))),null!=e.note&&o.push(T.objectProperty(T.identifier("note"),T.stringLiteral(e.note))),o.push(T.objectProperty(T.identifier("code"),eu(r))),o.push(T.objectProperty(T.identifier("enableAsync"),T.booleanLiteral(!!e.enableAsync))),null!=e.triggerMode&&o.push(T.objectProperty(T.identifier("triggerMode"),T.stringLiteral(e.triggerMode))),o.push(T.objectProperty(T.identifier("inputs"),(yield eq("inputs",e.inputs||[],a)))),o.push(T.objectProperty(T.identifier("output"),(yield el(e.output,a)))),o.push(T.objectProperty(T.identifier("outputs"),(yield eq("outputs",e.outputs||[],a)))),o.push(T.objectProperty(T.identifier("error"),(yield el(e.error,a)))),T.objectExpression(o)}),function(e,r,a,t){return v.apply(this,arguments)}),eS=(k=$(function*(e,r){return eb(e,"new_data_calc",r,$(function*(){var a,t,i,o=X(e,r.subspace),n=D.join(o,"data-calc");yield(0,F.mkdir)(n,{recursive:!0});var s=yield ey(n,r.alias),l=`data-calculation-${s}.sandbox.js`,c=D.join(n,`data-calculation-${s}.ts`),d=D.join(n,l),u=(a=(0,G.RI)(e,c),t="export const dataCalculation = {}\n",(i=V(t,a)).program.body=[],{ast:i,source:t,absPath:c,relPath:a}),p={projectDir:e,parsed:u,references:[],typeImports:new Set,valueImports:new Set},m=r.id||"string"!=typeof r.alias||!r.alias||(yield ec(e,r.alias))?void 0:r.alias,h=yield e$(r,l,p,m),f=T.variableDeclarator(T.identifier("dataCalculation"),h);f.id.typeAnnotation=T.tsTypeAnnotation(T.tsTypeReference(T.identifier("DataCalculationScript"))),u.ast.program.body.push(T.exportNamedDeclaration(T.variableDeclaration("const",[f]))),eo(p),yield(0,F.writeFile)(d,ev(r.code)),yield eh(u);var g=[{file:(0,G.RI)(e,c),action:"create_calc"},{file:(0,G.RI)(e,d),action:"write_sandbox"}];g.push({file:yield ek(e,n),action:"regenerate_index"});var b=yield ex(e,o);b?.touched&&g.push({file:b.touched,action:"wire_subspace_index"});var y=yield(0,M.H)(e,r.verify);return{file:(0,G.RI)(e,c),subspace:D.basename(o),calc:s,idExpression:r.id??(m?`makeId('property_bank_calc', '${m}')`:"makeId('property_bank_calc')"),outcome:"compile:failed"===y.status?"verify_failed":"ok",touchedSites:g,...b?.warning?{warnings:[b.warning]}:{},verify:y,references:eg(p.references),summary:`created data calc ${s} in ${D.basename(o)} -> ${y.status}`}}))}),function(e,r){return k.apply(this,arguments)}),eP=(x=$(function*(e,r){return eb(e,"edit_data_calc",r,$(function*(){var a=yield et(e,r),t={projectDir:e,parsed:a.parsed,references:[],typeImports:new Set,valueImports:new Set},i=[];for(var o of Object.entries(r.set||{})){var n=j(o,2),s=n[0],l=n[1];if("output"===s||"error"===s)(0,G.HJ)(a.object,s,(yield el(l,t)));else if("inputs"===s||"outputs"===s){if(!Array.isArray(l))throw new J("invalid_value",`${s} must be an array of IO items`);(0,G.HJ)(a.object,s,(yield eq(s,l,t)))}else if("code"===s)throw new J("invalid_field","Set code via the dedicated code parameter so it stays normalized to the sandbox file");else(0,G.HJ)(a.object,s,(yield ep(l,t)))}for(var c of r.unset||[]){if(ed.has(c))throw new J("invalid_field",`Cannot unset required field: ${c}`,{field:c});(0,G.jc)(a.object,c)}if(null!=r.code){var d=er(a.object);if(!(e=>{if(!e)return!1;if(T.isStringLiteral(e)||T.isTemplateLiteral(e))return!0;var r=ea(e);return null!=r&&/^(\.\/)?[^/\\]+\.sandbox\.js$/.test(r)})(d))throw new J("fallback_recommended",`Data calc ${a.parsed.relPath} has an unsupported code expression. Edit this file directly for this one.`,{file:a.parsed.relPath,field:"code"});var u=a.sandboxFile,p=D.join(D.dirname(a.parsed.absPath),u);yield(0,F.writeFile)(p,ev(r.code)),ei(a.parsed.ast),(0,G.HJ)(a.object,"code",eu(u)),i.push({file:(0,G.RI)(e,p),action:"write_sandbox"})}eo(t),yield eh(a.parsed),i.unshift({file:a.parsed.relPath,action:"edit_calc"});var m=yield(0,M.H)(e,r.verify);return{file:a.parsed.relPath,calc:a.slug,outcome:"compile:failed"===m.status?"verify_failed":"ok",touchedSites:i,verify:m,references:eg(t.references),summary:`edited data calc ${a.slug} -> ${m.status}`}}))}),function(e,r){return x.apply(this,arguments)}),eE=(_=$(function*(e,r){return eb(e,"edit_data_calc_io",r,$(function*(){var a=yield et(e,r),t={projectDir:e,parsed:a.parsed,references:[],typeImports:new Set,valueImports:new Set},i=r.field,o=((e,r)=>{var a=(0,G.bf)(e,r);if(a){if(!T.isArrayExpression(a.value))throw new J("fallback_recommended",`${r} is not an array. Edit this file directly.`);return a.value}var t=T.arrayExpression([]);return e.properties.push(T.objectProperty(T.identifier(r),t)),t})(a.object,i),n=r.op;if("clear"===n)o.elements=[];else if("remove"===n){var s=ej(o,r);if(s<0||s>=o.elements.length)throw new J("invalid_index","remove requires a valid key or index");o.elements.splice(s,1)}else if("add"===n||"replace"===n){var l="replace"===n?ej(o,r):r.index;if("replace"===n&&(l<0||l>=o.elements.length))throw new J("invalid_index","replace requires a valid key or index");if("add"===n&&"number"==typeof l&&(l<0||l>o.elements.length))throw new J("invalid_index","add index out of range",{index:l});"inputs"===i&&((e,r,a)=>{if(e.elements.some((e,t)=>t!==a&&T.isObjectExpression(e)&&(0,G.JJ)(e,"key")===r))throw new J("duplicate_key",`Input key already exists: ${r}`,{key:r})})(o,r.key,"replace"===n?l:void 0);var c=yield e_(i,r,t);"replace"===n?o.elements[l]=c:o.elements.splice("number"==typeof l?l:o.elements.length,0,c)}else throw new J("invalid_op",`Unsupported edit_data_calc_io op: ${n}`);eo(t),yield eh(a.parsed);var d=yield(0,M.H)(e,r.verify);return{file:a.parsed.relPath,calc:a.slug,outcome:"compile:failed"===d.status?"verify_failed":"ok",change:{field:i,op:n,key:r.key,index:r.index},verify:d,references:eg(t.references),summary:`${n} ${i} on data calc ${a.slug} -> ${d.status}`}}))}),function(e,r){return _.apply(this,arguments)}),eI=(q=$(function*(e,r){return eb(e,"remove_data_calc",r,$(function*(){var a=yield et(e,r),t=D.dirname(a.parsed.absPath),i=D.join(t,a.sandboxFile);yield(0,F.rm)(a.parsed.absPath,{force:!0}),yield(0,F.rm)(i,{force:!0});var o=yield ek(e,t),n=yield(0,M.H)(e,r.verify);return{file:a.parsed.relPath,calc:a.slug,outcome:"compile:failed"===n.status?"verify_failed":"ok",touchedSites:[{file:a.parsed.relPath,action:"delete_calc"},{file:(0,G.RI)(e,i),action:"delete_sandbox"},{file:o,action:"regenerate_index"}],verify:n,summary:`removed data calc ${a.slug} -> ${n.status}`}}))}),function(e,r){return q.apply(this,arguments)}),ez=N.bz().describe('Value grammar: JSON literals, bare data ref strings for output/error/IO data, { ref, subspace }, or { expr: "raw TypeScript expression" }.'),eO=N.Yj().describe("Project-relative data-calc file path, for example subspaces/subspace-0/data-calc/data-calculation-total.ts."),eA=N.KC([N.Yj(),N.ai()]).describe('Subspace locator. Defaults to subspace-0; accepts 0, "0", "subspace-0", or a project-relative subspace path.'),eC=N.Yj().describe("Data calc locator inside the subspace: alias, explicit string id, or filename slug."),eT=N.zM().describe("Override compile verification. Defaults to BRICKS_CTOR_MCP_EDIT_VERIFY, otherwise true."),eL={file:eO.optional(),subspace:eA.optional(),calc:eC.optional(),verify:eT.optional()},eR=N.Ik({key:N.Yj().describe('Sandbox input/output key, for example "price" or "total".'),data:ez.describe("Data ref as alias/id/varName, { ref, subspace }, or { expr }."),trigger:N.zM().describe("Inputs only; defaults true.").optional()}).describe("DataCalculationScript IO item.");function eF(e,r){var a,t,i,o;e.tool("new_data_calc","Create a standard DataCalculationScript in data-calc/{calc}.ts plus its sandbox JS file, regenerate data-calc/index.ts, and wire minimal subspace indexes.",{subspace:eA.optional(),alias:N.Yj().describe("Optional alias; also drives the filename slug.").optional(),title:N.Yj().describe("Optional title.").optional(),description:N.Yj().describe("Optional description.").optional(),note:N.Yj().describe("Optional script note.").optional(),triggerMode:N.k5(["auto","manual"]).describe("Optional trigger mode; omitted by default.").optional(),enableAsync:N.zM().describe("Whether the sandbox main may be async. Defaults false.").optional(),code:N.Yj().describe("Sandbox body. The tool wraps it as export function main() { ... } unless already wrapped.").optional(),inputs:N.YO(eR).describe("Initial script inputs. Input keys must be unique.").optional(),outputs:N.YO(eR).describe("Initial fan-out outputs. Output keys may repeat.").optional(),output:ez.describe("Single output data ref or null.").optional(),error:ez.describe("Error output data ref or null.").optional(),id:N.Yj().describe("Optional explicit id. Defaults to source expression makeId('property_bank_calc').").optional(),verify:eT.optional()},(a=$(function*(e){return ef((yield eS(r,e)))}),function(e){return a.apply(this,arguments)})),e.tool("edit_data_calc","Edit DataCalculationScript scalar fields, output/error refs, or sandbox code. Code edits normalize inline code to sandbox file-form.",{...eL,set:N.g1(N.Yj().describe("Top-level field path such as title, description, note, alias, triggerMode, enableAsync, output, or error."),ez).describe("Fields to set. output/error accept bare data ref strings, { ref, subspace }, { expr }, or null; inputs/outputs accept whole replacement arrays of { key, data, trigger? }. Use the code parameter for code.").optional(),unset:N.YO(N.Yj()).describe("Top-level fields to remove.").optional(),code:N.Yj().describe("Replacement sandbox body. The tool wraps it as export function main() { ... } unless already wrapped.").optional()},(t=$(function*(e){return ef((yield eP(r,e)))}),function(e){return t.apply(this,arguments)})),e.tool("edit_data_calc_io","Edit DataCalculationScript inputs or outputs arrays. Inputs require unique keys; outputs may repeat keys for fan-out.",{...eL,field:N.k5(["inputs","outputs"]).describe("Which IO array to edit."),op:N.k5(["add","remove","replace","clear"]).describe("Array operation."),key:N.Yj().describe("IO key target. Ambiguous repeated output keys must use index.").optional(),index:N.ai().describe("Zero-based IO index target or add insertion index.").optional(),data:ez.describe("For add/replace: data ref as string, { ref, subspace }, or { expr }.").optional(),trigger:N.zM().describe("Inputs only; defaults true.").optional()},(i=$(function*(e){return ef((yield eE(r,e)))}),function(e){return i.apply(this,arguments)})),e.tool("remove_data_calc","Remove a standard DataCalculationScript .ts file plus its sandbox file and regenerate data-calc/index.ts. No reverse cascade is needed.",eL,(o=$(function*(e){return ef((yield eI(r,e)))}),function(e){return o.apply(this,arguments)}))}t()}catch(e){t(e)}})},85949(e,r,a){a.a(e,async function(e,t){try{a.d(r,{k:()=>rm});var i,o,n,s,l,c,d,u,p,m,h,f,g,b,y,w,v,k,x,_,q,j,$,S,P,E,I,z,O,A,C=a(68832),T=a(99436),L=a(44668),R=a(5018),F=a(63315),D=a(30409),N=a(40906),M=a(59410),G=a(2235),Y=a(46773),B=a(80004),U=a(58135),K=a(11978),J=a(79491),H=a(51455),V=a(77598),W=a(76760),Z=a(84867),X=a(54452),Q=a(98009),ee=a(3540),er=e([J]);function ea(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ea=function(){return!!e})()}J=(er.then?(await er)():er)[0];var et=G.default||G,ei=B.default||B,eo={"bricks.ts":{kind:"brick",namespace:"bricks",varPrefix:"b",idType:"brick",idPrefix:"BRICK_",typename:"Brick"},"generators.ts":{kind:"generator",namespace:"generators",varPrefix:"g",idType:"generator",idPrefix:"GENERATOR_",typename:"Generator"},"canvases.ts":{kind:"canvas",namespace:"canvases",varPrefix:"c",idType:"canvas",idPrefix:"CANVAS_",typename:"Canvas"},"data.ts":{kind:"data",namespace:"data",varPrefix:"d",idType:"data",idPrefix:"PROPERTY_BANK_DATA_NODE_",typename:"Data"},"animations.ts":{kind:"animation",namespace:"animations",varPrefix:"a",idType:"animation",idPrefix:"ANIMATION_",typename:"Animation"}},en=function(e){function r(e,a,t,i=!1){var o,n,s;return R(this,r),n=r,s=[a],n=D(n),(o=F(this,ea()?Reflect.construct(n,s||[],D(this).constructor):n.apply(this,s))).name="EntryEditingError",o.code=e,o.details=t,o.isMcpError=i,o}return N(r,e),L(r)}(M(Error)),es=(e,r)=>{if(W.isAbsolute(r))throw new en("invalid_file","File must be project-relative",{file:r});var a=W.resolve(e,r),t=W.relative(e,a);if(t.startsWith("..")||W.isAbsolute(t))throw new en("invalid_file","File must stay inside the project directory",{file:r});return a},el=(e,r)=>{try{return(0,Y.parse)(e,{sourceType:"module",plugins:["typescript","topLevelAwait"],errorRecovery:!1})}catch(e){throw new en("parse_failed",`Cannot parse ${r} as TypeScript: ${e.message}. Edit this file directly.`,{file:r},!0)}},ec=(i=T(function*(e,r){var a=yield(0,H.readFile)(r,"utf8"),t=(0,Q.RI)(e,r);return{source:a,ast:el(a,t),absPath:r,relPath:t,kind:(e=>{var r=W.basename(e),a=eo[r];if(!a)throw new en("unsupported_file",`Unsupported entry file: ${r}`,{file:e,expected:Object.keys(eo)});return a})(r)}}),function(e,r){return i.apply(this,arguments)}),ed=e=>e.program.body.flatMap(e=>{if(!U.isExportNamedDeclaration(e)||!U.isVariableDeclaration(e.declaration))return[];var r=e.declaration;return r.declarations.flatMap(a=>{if(!U.isIdentifier(a.id))return[];var t,i=a.id.typeAnnotation;U.isTSTypeAnnotation(i)&&U.isTSTypeReference(i.typeAnnotation)&&U.isIdentifier(i.typeAnnotation.typeName)&&(t=i.typeAnnotation.typeName.name);var o=U.isObjectExpression(a.init)?a.init:void 0;return[{name:a.id.name,node:e,declaration:r,declarator:a,object:o,id:o?(0,Q.JJ)(o,"id"):void 0,alias:o?(0,Q.JJ)(o,"alias"):void 0,typeName:t}]})}),eu=(e,r)=>{var a=ed(e.ast);if(r.entry){var t=a.find(e=>e.name===r.entry);if(t)return t;var i=a.filter(e=>e.alias===r.entry);if(1===i.length)return i[0];if(i.length>1)throw new en("ambiguous_reference",`Alias is ambiguous: ${r.entry}`,{file:e.relPath,entry:r.entry,matches:i.map(e=>e.name)});throw new en("entry_not_found",`Entry not found (by name or alias): ${r.entry}`,{file:e.relPath,entry:r.entry})}if(r.id){var o=a.find(e=>e.id===r.id);if(!o)throw new en("entry_not_found",`Entry id not found: ${r.id}`,{file:e.relPath,id:r.id});return o}throw new en("missing_target","Provide entry or id")},ep=e=>e.split(W.sep).find(e=>/^subspace-\d+$/.test(e))||"unknown-subspace",em=e=>{var r=e.split(W.sep),a=r.findIndex(e=>/^subspace-\d+$/.test(e));if(a<0)throw new en("invalid_file","Entry file must be inside subspaces/subspace-N",{file:e});return r.slice(0,a+1).join(W.sep)},eh=(o=T(function*(e){var r=W.join(e,"subspaces");return(yield(0,H.readdir)(r,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isDirectory()&&/^subspace-\d+$/.test(e.name)).map(e=>W.join(r,e.name)).sort()}),function(e){return o.apply(this,arguments)}),ef=(n=T(function*(e){var r=Object.keys(eo),a=yield(0,H.readdir)(e,{withFileTypes:!0}).catch(()=>[]),t=new Set(a.filter(e=>e.isFile()).map(e=>e.name));return r.filter(e=>t.has(e)).map(r=>W.join(e,r))}),function(e){return n.apply(this,arguments)}),eg=(s=T(function*(e){var r=yield eh(e);return(yield Promise.all(r.map(ef))).flat()}),function(e){return s.apply(this,arguments)}),eb=(l=T(function*(e,r){if(r.file)return es(e,r.file);if(!r.id)throw new en("missing_file","Provide file, or provide id for global lookup");for(var a of yield eg(e)){var t=yield ec(e,a);if(ed(t.ast).find(e=>e.id===r.id))return a}throw new en("entry_not_found",`Entry id not found: ${r.id}`,{id:r.id})}),function(e,r){return l.apply(this,arguments)}),ey=(c=T(function*(e,r){var a=yield eb(e,r),t=yield ec(e,a),i=eu(t,r),o=((e,r)=>{if(!e.object)throw new en("fallback_recommended",`Entry ${e.name} in ${r} is not a top-level exported object literal. Edit this file directly for this one.`,{file:r,entry:e.name,check:"top-level export const object literal"});return e.object})(i,t.relPath);return{parsed:t,entry:i,object:o}}),function(e,r){return c.apply(this,arguments)}),ew=(e,r)=>U.callExpression(U.identifier("makeId"),r?[U.stringLiteral(e),U.stringLiteral(r)]:[U.stringLiteral(e)]),ev=e=>{var r=[];for(var a of e.split(".").filter(Boolean))for(var t=/([^\[\]]+)|\[(\d+)\]/g,i=void 0;i=t.exec(a);)i[1]&&r.push({key:i[1]}),i[2]&&r.push({index:Number(i[2])});if(0===r.length)throw new en("invalid_path",`Invalid path: ${e}`,{path:e});return r},ek=e=>U.isTSAsExpression(e)||U.isTSSatisfiesExpression(e)||U.isTSNonNullExpression(e)||U.isParenthesizedExpression(e)?ek(e.expression):e,ex=(e,r)=>{var a=ek(e);if(!U.isObjectExpression(a))throw new en("fallback_recommended",`Target path ${r} is not an object literal. Edit this file directly for this one.`,{path:r,expected:"object literal",actual:a.type});return a},e_=(e,r)=>{var a=ek(e);if(!U.isArrayExpression(a))throw new en("fallback_recommended",`Target path ${r} is not an array literal. Edit this file directly for this one.`,{path:r,expected:"array literal",actual:a.type});return a},eq=e=>"array"==("index"in e?"array":"object")?U.arrayExpression([]):U.objectExpression([]),ej=(d=T(function*(e,r,a,t){for(var i=ev(r),o=e,n=0;n<i.length;n+=1){var s=i[n],l=n===i.length-1;if("key"in s){var c=ex(o,r);if(l)return void(0,Q.HJ)(c,s.key,(yield eR(a,t)));var d=i[n+1],u=(0,Q.bf)(c,s.key);u||(u=U.objectProperty((0,Q.zu)(s.key),eq(d)),c.properties.push(u)),o=u.value;continue}var p=e_(o,r);if(s.index<0||s.index>p.elements.length)throw new en("invalid_path",`Array index out of range for ${r}`,{path:r,index:s.index});if(l){p.elements[s.index]=yield eR(a,t);return}p.elements[s.index]||(p.elements[s.index]=eq(i[n+1])),o=p.elements[s.index]}}),function(e,r,a,t){return d.apply(this,arguments)}),e$=(e,r)=>{for(var a=ev(r),t=e,i=0;i<a.length;i+=1){var o=a[i],n=i===a.length-1;if("key"in o){var s=ex(t,r);if(n)return void(0,Q.jc)(s,o.key);var l=(0,Q.bf)(s,o.key);if(!l)return;t=l.value;continue}var c=e_(t,r);if(o.index<0||o.index>=c.elements.length)return;if(n)return void c.elements.splice(o.index,1);var d=c.elements[o.index];if(!d)return;t=d}},eS=(e,r)=>{var a=(0,Q.bf)(e,"switches");if(!a)throw new en("fallback_recommended","Entry has no switches array",{path:"switches"});var t=e_(a.value,"switches"),i="number"==typeof r?r:t.elements.findIndex(e=>U.isObjectExpression(e)&&(0,Q.JJ)(e,"id")===r);if(i<0||i>=t.elements.length)throw new en("entry_not_found",`Switch not found: ${r}`,{switch:r});var o=t.elements[i];if(!U.isObjectExpression(o))throw new en("fallback_recommended",`Switch ${String(r)} is not an object literal. Edit this file directly for this one.`,{switch:r});return o},eP=(e,r)=>{var a=r.replace(/\.[tj]sx?$/,""),t=W.relative(W.dirname(e),a).replace(/\\/g,"/");return t.startsWith(".")||(t=`./${t}`),t},eE=e=>{var r=new Set;return e.program.body.forEach(e=>{U.isImportDeclaration(e)?e.specifiers.forEach(e=>r.add(e.local.name)):U.isExportNamedDeclaration(e)&&U.isVariableDeclaration(e.declaration)&&e.declaration.declarations.forEach(e=>{U.isIdentifier(e.id)&&r.add(e.id.name)})}),r},eI=(e,r,a)=>{for(var t of e.ast.program.body)if(U.isImportDeclaration(t)&&t.source.value===r){var i=t.specifiers.find(e=>U.isImportDefaultSpecifier(e));if(i)return i.local.name}var o=eE(e.ast),n=a;if(o.has(n)){for(var s=1;o.has(`${n}${s}`);)s+=1;n=`${n}${s}`}var l=U.importDeclaration([U.importDefaultSpecifier(U.identifier(n))],U.stringLiteral(r));return(0,Q.Pb)(e.ast,l),n},ez=e=>{(0,Q.Kx)(e.parsed.ast,"type",e.typeImports),(0,Q.Kx)(e.parsed.ast,"value",e.valueImports)},eO=(u=T(function*(e,r,a){if(null==a||""===a)return r;if("number"==typeof a)return W.join(e,"subspaces",`subspace-${a}`);var t=String(a);if(/^\d+$/.test(t))return W.join(e,"subspaces",`subspace-${t}`);if(/^subspace-\d+$/.test(t))return W.join(e,"subspaces",t);if(t.includes("/"))return es(e,t);var i,o=yield eh(e),n=function*(){var r=W.join(s,"index.ts"),a=yield(0,H.readFile)(r,"utf8").catch(()=>"");if(!a)return 0;var i=el(a,(0,Q.RI)(e,r)),o=!1;if(ei(i,{ObjectProperty(e){"id"===(0,Q.Gp)(e.node.key)&&U.isStringLiteral(e.node.value)&&e.node.value.value===t&&(o=!0,e.stop())}}),o)return{v:s}};for(var s of o)if(i=yield*n(),0!==i&&i)return i.v;throw new en("reference_not_found",`Subspace not found: ${t}`,{subspace:t})}),function(e,r,a){return u.apply(this,arguments)}),eA=(p=T(function*(e,r){var a,t,i=em(e.parsed.absPath),o=yield eO(e.projectDir,i,r),n=W.basename(o),s=/^subspace-(\d+)$/.exec(n);if(!s)throw new en("invalid_subspace",`Not a subspace directory: ${n}`,{subspace:r});var l=W.join(o,"index.ts"),c=yield(0,H.readFile)(l,"utf8").catch(()=>null);if(null==c)throw new en("reference_not_found",`Subspace not found: ${r}`,{subspace:r});var d=(a=el(c,(0,Q.RI)(e.projectDir,l)),ei(a,{ObjectProperty(e){if("id"===(0,Q.Gp)(e.node.key)){var r=e.node.value;U.isStringLiteral(r)&&r.value.startsWith("SUBSPACE_")&&(t=r.value,e.stop())}}}),t);if(!d)throw new en("invalid_subspace",`Subspace index has no SUBSPACE_ id: ${n}/index.ts`,{subspace:r});return{id:d,index:Number(s[1]),label:n,indexPath:l,isCurrent:W.resolve(o)===W.resolve(i)}}),function(e,r){return p.apply(this,arguments)}),eC=(m=T(function*(e,r){var a=yield eA(e,r);if(a.isCurrent)return e.references.push({input:r,id:a.id,sameFile:!1,display:`'${a.id}'`,targetAbsPath:a.indexPath}),{resolved:a,expression:U.stringLiteral(a.id)};var t=eI(e.parsed,`../${a.label}`,`subspace${a.index}`);return e.references.push({input:r,id:a.id,sameFile:!1,display:`() => ${t}`,targetAbsPath:a.indexPath}),{resolved:a,expression:U.arrowFunctionExpression([],U.identifier(t))}}),function(e,r){return m.apply(this,arguments)}),eT=(h=T(function*(e,r,a,t){var i=em(r),o=yield eO(e,i,t),n=yield ef(o),s=[];for(var l of n){var c=yield ec(e,l),d=c.kind;for(var u of ed(c.ast))if(u.name===a||u.id===a||u.alias===a){var p=W.resolve(l)===W.resolve(r),m=W.basename(o);s.push({input:a,id:u.id,alias:u.alias,varName:u.name,namespace:d.namespace,display:`${d.namespace}.${u.name}`,targetAbsPath:l,sameFile:p,subspaceLabel:m,importSource:p?void 0:eP(r,l)})}}if(0===s.length)throw new en("reference_not_found",`Reference not found: ${a}`,{ref:a,subspace:t??W.basename(i)});if(s.length>1)throw new en("ambiguous_reference",`Reference is ambiguous: ${a}`,{ref:a,matches:s.map(r=>({file:(0,Q.RI)(e,r.targetAbsPath),entry:r.varName,id:r.id,alias:r.alias}))});return s[0]}),function(e,r,a,t){return h.apply(this,arguments)}),eL=(f=T(function*(e,r,a){var t=yield eT(r.projectDir,r.parsed.absPath,e,a);if(t.sameFile)return r.references.push(t),U.identifier(t.varName);var i=em(r.parsed.absPath),o=em(t.targetAbsPath),n=t.subspaceLabel.replace(/[^a-zA-Z0-9_$]/g,""),s=i===o?t.namespace:`${n}${t.namespace[0].toUpperCase()}${t.namespace.slice(1)}`,l=((e,r,a,t)=>{for(var i of e.ast.program.body)if(U.isImportDeclaration(i)&&i.source.value===a){var o=i.specifiers.find(U.isImportNamespaceSpecifier);if(o)return o.local.name}var n=eE(e.ast),s=t;if(n.has(s)){for(var l=1;n.has(`${s}${l}`);)l+=1;s=`${s}${l}`}var c=U.importDeclaration([U.importNamespaceSpecifier(U.identifier(s))],U.stringLiteral(a));return(0,Q.Pb)(e.ast,c),s})(r.parsed,t.namespace,t.importSource,s);return t.importLocal=l,r.references.push({...t,display:`${l}.${t.varName}`,importLocal:l}),U.memberExpression(U.identifier(l),U.identifier(t.varName))}),function(e,r,a){return f.apply(this,arguments)}),eR=(g=T(function*(e,r){if((0,Q.u4)(e)&&"string"==typeof e.expr&&1===Object.keys(e).length){var a=e.expr;try{return(0,Y.parseExpression)(a,{plugins:["typescript"]})}catch(e){throw new en("invalid_expr",`Invalid TypeScript expression: ${e.message}`,{expr:a})}}if((0,Q.u4)(e)&&"string"==typeof e.link){r.valueImports.add("linkData");var t=yield eL(e.link,r,e.subspace);return U.callExpression(U.identifier("linkData"),[U.arrowFunctionExpression([],t)])}if((0,Q.u4)(e)&&"string"==typeof e.ref){var i=yield eL(e.ref,r,e.subspace);return U.arrowFunctionExpression([],i)}if(Array.isArray(e))return U.arrayExpression((yield Promise.all(e.map(e=>eR(e,r)))));if((0,Q.u4)(e)){var o,n=yield Promise.all(Object.entries(e).map((o=T(function*([e,a]){return U.objectProperty((0,Q.zu)(e),(yield eR(a,r)))}),function(e){return o.apply(this,arguments)})));return U.objectExpression(n)}return void 0===e?U.identifier("undefined"):U.valueToNode(e)}),function(e,r){return g.apply(this,arguments)}),eF=e=>e.map(e=>({input:e.input,id:e.id,alias:e.alias,resolved:e.importLocal?`${e.importLocal}.${e.varName}`:e.sameFile?e.varName:e.display,file:e.targetAbsPath})),eD=(b=T(function*(e){var r=et(e.ast,{comments:!0},e.source).code,a=yield(0,J.format)(e.absPath,r,Q.Hn);if(a.errors.length>0)throw new en("format_failed",`oxfmt failed for ${e.relPath}`,{file:e.relPath,errors:a.errors});return a.code}),function(e){return b.apply(this,arguments)}),eN=(y=T(function*(e){var r=yield eD(e);return el(r,e.relPath),yield(0,H.writeFile)(e.absPath,r),r}),function(e){return y.apply(this,arguments)}),eM=(e,r)=>{if(e){var a=ep(e.absPath);return`${r?.name||"entry"} (${e.kind.kind}, ${a})`}},eG=(w=T(function*(e,r,a,t){var i={ts:new Date().toISOString(),tool:r,op:a?.op||(a?.set?"set":a?.unset?"unset":r),target:{file:a?.file,entry:a?.entry,id:a?.id},provenance:(0,ee.S)()};try{var o=yield t(),n={...i,...o};return yield(0,ee.a)(e,n).catch(e=>{n.auditError=e.message}),n}catch(t){var s=t instanceof en?t:new en("error",t.message||String(t),void 0,!0),l="fallback_recommended"===s.code?"fallback_recommended":"error",c={...i,outcome:l,input:a,error:{code:s.code,message:s.message,details:s.details},summary:"fallback_recommended"===l?`${r} could not safely edit this standard path; edit the file directly`:`${r} failed: ${s.message}`,isError:s.isMcpError||"error"===l};return yield(0,ee.a)(e,c).catch(e=>{c.auditError=e.message}),c}}),function(e,r,a,t){return w.apply(this,arguments)}),eY=(v=T(function*(e,r){return eG(e,"edit_entry",r,T(function*(){var a=yield ey(e,r),t=a.parsed,i=a.entry,o=a.object,n={projectDir:e,parsed:t,references:[],typeImports:new Set,valueImports:new Set},s=null==r.switch?o:eS(o,r.switch);for(var l of Object.entries(r.set||{})){var c=C(l,2),d=c[0],u=c[1];yield ej(s,d,u,n)}for(var p of[...r.unset||[]].sort((e,r)=>{for(var a=ev(e).map(e=>"index"in e?e.index:-1),t=ev(r).map(e=>"index"in e?e.index:-1),i=0;i<Math.min(a.length,t.length);i+=1)if(a[i]!==t[i])return t[i]-a[i];return t.length-a.length}))e$(s,p);ez(n),yield eN(t);var m=yield(0,X.H)(e,r.verify),h=eM(t,i);return{file:t.relPath,entry:i.name,id:i.id,change:{set:r.set||{},unset:r.unset||[],references:eF(n.references)},outcome:"compile:failed"===m.status?"verify_failed":"ok",verify:m,summary:`edited ${h} -> ${m.status}`}}))}),function(e,r){return v.apply(this,arguments)}),eB=e=>{switch(e){case"IfStatement":return"an if statement";case"ForStatement":case"ForOfStatement":case"ForInStatement":return"a for loop";case"WhileStatement":case"DoWhileStatement":return"a while loop";case"SwitchStatement":return"a switch statement";case"TryStatement":return"a try/catch block";case"FunctionDeclaration":return"a function declaration";case"ReturnStatement":return"a return before the final statement";default:return`a ${e}`}},eU=(e,r)=>{for(var a=0;a<e.length;a+=1){var t=e[a],i=a===e.length-1;if("ExpressionStatement"===t.type){var o=eK(t.expression);if(o)return o;continue}if("VariableDeclaration"===t.type){for(var n of t.declarations)if("Identifier"!==n.id.type||!n.init)return"a destructuring or uninitialized declaration";continue}if(r&&i&&"ReturnStatement"===t.type){var s=t.argument?eK(t.argument):null;if(s)return s;continue}return eB(t.type)}return null},eK=e=>{if(e?.type!=="CallExpression"||e.arguments?.length||e.callee?.type!=="ArrowFunctionExpression"&&e.callee?.type!=="FunctionExpression")return null;var r=e.callee.body;return r?.type==="BlockStatement"?eU(r.body,!0):eK(r)},eJ=(k=T(function*(e,r){if(e?.expr)return eR(e,r);var a,t=(e=>{if(!(0,Q.u4)(e)||!(0,Q.u4)(e.action))return e;var r=e.action,a={handler:e.handler,name:r.name??r.__actionName,waitAsync:e.waitAsync};if(r.cast&&(a.cast=r.cast),Array.isArray(r.params))for(var t of(a.params={},r.params)){if(!(0,Q.u4)(t)||"string"!=typeof t.input)throw new en("invalid_action",'Compiled action params entries require { input: "name", value }',{param:t});a.params[t.input]=t.value}if(Array.isArray(r.dataParams))for(var i of(a.dataParams={},r.dataParams)){var o=(0,Q.u4)(i?.input)?i.input.ref:i?.input;if("string"!=typeof o||!o)throw new en("invalid_action","Compiled action dataParams entries require { input: dataRef, value }",{param:i});a.dataParams[o]=i.value}return a})(e),i=t?.name;if(!i)throw new en("invalid_action","Action requires name");if("PROPERTY_BANK_EXPRESSION"===i&&(0,Q.u4)(t.params)){var o=t.params.expression;"string"==typeof o&&(e=>{try{r=(0,K.qg)(e,{ecmaVersion:2020})}catch(r){throw new en("invalid_action",`PROPERTY_BANK_EXPRESSION does not parse: ${r.message}`,{expression:e})}var r,a=eU(r.body,!1);if(a)throw new en("invalid_action",`PROPERTY_BANK_EXPRESSION cannot evaluate ${a}: the runtime folds the expression into a single expression (expression statements, simple const/let declarations, and a final return inside an IIFE only). Use ternaries instead of statements, or move branching logic to a DataCalculationScript.`,{expression:e})})(o)}var n="System",s=t.cast;if("system"===t.handler||null==t.handler)a=U.stringLiteral("system"),s||=`SystemAction${i.toLowerCase().split("_").filter(Boolean).map(e=>`${e[0].toUpperCase()}${e.slice(1)}`).join("")}`;else if((0,Q.u4)(t.handler)&&"string"==typeof t.handler.ref){var l=yield eT(r.projectDir,r.parsed.absPath,t.handler.ref,t.handler.subspace);if("bricks"!==l.namespace&&"generators"!==l.namespace)throw new en("invalid_action",`Action handler must be a brick or generator, got ${l.namespace}: ${t.handler.ref}`,{handler:t.handler});n="bricks"===l.namespace?"Brick":"Generator";var c=yield eL(t.handler.ref,r,t.handler.subspace);a=U.arrowFunctionExpression([],c)}else if((0,Q.u4)(t.handler)&&null!=t.handler.subspace)a=(yield eC(r,t.handler.subspace)).expression,n="Subspace";else throw new en("invalid_action","Unsupported action handler",{handler:t.handler});var d=[U.objectProperty(U.identifier("__actionName"),U.stringLiteral(i)),U.objectProperty(U.identifier("parent"),U.stringLiteral(n)),U.objectProperty(U.identifier("name"),U.stringLiteral(i))];if(t.params){var u,p=yield Promise.all(Object.entries(t.params).map((u=T(function*([e,a]){return U.objectExpression([U.objectProperty(U.identifier("input"),U.stringLiteral(e)),U.objectProperty(U.identifier("value"),(yield eR(a,r)))])}),function(e){return u.apply(this,arguments)})));d.push(U.objectProperty(U.identifier("params"),U.arrayExpression(p)))}if(t.dataParams){var m,h=yield Promise.all(Object.entries(t.dataParams).map((m=T(function*([e,a]){var t=yield eL(e,r);return U.objectExpression([U.objectProperty(U.identifier("input"),U.arrowFunctionExpression([],t)),U.objectProperty(U.identifier("value"),(yield eR(a,r)))])}),function(e){return m.apply(this,arguments)})));d.push(U.objectProperty(U.identifier("dataParams"),U.arrayExpression(h)))}var f=U.objectExpression(d);return s&&(r.typeImports.add(s),f=U.tsAsExpression(f,U.tsTypeReference(U.identifier(s)))),U.objectExpression([U.objectProperty(U.identifier("handler"),a),U.objectProperty(U.identifier("action"),f),U.objectProperty(U.identifier("waitAsync"),U.booleanLiteral(!!t.waitAsync))])}),function(e,r){return k.apply(this,arguments)}),eH=(e,r,a)=>{var t=(0,Q.bf)(e,r);return t||(t=U.objectProperty((0,Q.zu)(r),U.objectExpression([])),e.properties.push(t)),ex(t.value,a)},eV=(e,r,a)=>{var t=(0,Q.bf)(e,r);return t||(t=U.objectProperty((0,Q.zu)(r),U.arrayExpression([])),e.properties.push(t)),e_(t.value,a)},eW=(x=T(function*(e,r){return eG(e,"edit_events",r,T(function*(){var a=yield ey(e,r),t=a.parsed,i=a.entry,o=a.object,n={projectDir:e,parsed:t,references:[],typeImports:new Set,valueImports:new Set},s=null==r.switch?o:eS(o,r.switch),l=r.op;if("clear"===l||"remove"===l||"move"===l){var c=(0,Q.bf)(s,"events"),d=c?ex(c.value,"events"):null,u=d?(0,Q.bf)(d,r.event):null,p=u?e_(u.value,`events.${r.event}`):null;if("clear"===l)d&&(0,Q.jc)(d,r.event);else if("move"===l){if(null==r.index)throw new en("invalid_index","move requires index");if(!p||r.index<0||r.index>=p.elements.length)throw new en("invalid_index","move index out of range",{index:r.index});var m=Number(r.to);if(!Number.isFinite(m)||m<0||m>=p.elements.length)throw new en("invalid_index","move requires valid to index",{to:r.to});var h=p.elements.splice(r.index,1),f=C(h,1)[0];p.elements.splice(m,0,f)}else{if(null==r.index)throw new en("invalid_index","remove requires index");if(!p||r.index<0||r.index>=p.elements.length)throw new en("invalid_index","remove index out of range",{index:r.index});p.elements.splice(r.index,1),0===p.elements.length&&d&&(0,Q.jc)(d,r.event)}}else if("add"===l||"replace"===l){var g=yield eJ(r.action,n),b=eH(s,"events","events"),y=eV(b,r.event,`events.${r.event}`),w=r.index??y.elements.length;if("replace"===l){if(w<0||w>=y.elements.length)throw new en("invalid_index","replace index out of range",{index:w});y.elements[w]=g}else{if(w<0||w>y.elements.length)throw new en("invalid_index","add index out of range",{index:w});y.elements.splice(w,0,g)}}else throw new en("invalid_op",`Unsupported edit_events op: ${l}`);ez(n),yield eN(t);var v=yield(0,X.H)(e,r.verify);return{file:t.relPath,entry:i.name,id:i.id,change:{event:r.event,op:l,index:r.index,references:eF(n.references)},outcome:"compile:failed"===v.status?"verify_failed":"ok",verify:v,summary:`${l} event ${r.event} on ${eM(t,i)} -> ${v.status}`}}))}),function(e,r){return x.apply(this,arguments)}),eZ=e=>{if((0,Q.u4)(e)&&"string"==typeof e.expr)return e;if(!(0,Q.u4)(e))throw new en("invalid_item","Canvas item requires frame { x, y, width, height }");for(var r of["x","y","width","height"])if("number"!=typeof e[r])throw new en("invalid_item",`Canvas item frame requires numeric ${r}`,{frame:e});return e},eX=(_=T(function*(e,r,a){if(!e?.ref&&e?.subspace==null)throw new en("invalid_item","Canvas item requires ref (brick) or subspace (embed)");var t,i=eZ(e.frame??a);if(e.ref){var o=yield eL(e.ref,r,e.subspace);t=U.arrowFunctionExpression([],o)}else{var n=yield eC(r,e.subspace),s=n.resolved,l=n.expression;if(s.isCurrent)throw new en("invalid_item","A subspace cannot embed itself",{subspace:e.subspace});t=l}return U.objectExpression([U.objectProperty(U.identifier("item"),t),U.objectProperty(U.identifier("frame"),(yield eR(i,r))),...null==e.hidden?[]:[U.objectProperty(U.identifier("hidden"),U.booleanLiteral(!!e.hidden))]])}),function(e,r,a){return _.apply(this,arguments)}),eQ=(q=T(function*(e,r){return eG(e,"edit_canvas_items",r,T(function*(){var a=yield ey(e,r),t=a.parsed,i=a.entry,o=a.object;if("canvas"!==t.kind.kind)throw new en("invalid_file","edit_canvas_items only edits canvases.ts entries",{file:t.relPath});var n={projectDir:e,parsed:t,references:[],typeImports:new Set,valueImports:new Set},s=eV(o,"items","items"),l=r.op;if("add"===l||"replace"===l){var c=yield eX(r.item,n,r.frame),d=r.index??s.elements.length;if("replace"===l){if(d<0||d>=s.elements.length)throw new en("invalid_index","replace index out of range",{index:d});s.elements[d]=c}else{if(d<0||d>s.elements.length)throw new en("invalid_index","add index out of range",{index:d});s.elements.splice(d,0,c)}}else if("remove"===l){if(null==r.index)throw new en("invalid_index","remove requires index");if(r.index<0||r.index>=s.elements.length)throw new en("invalid_index","remove index out of range",{index:r.index});s.elements.splice(r.index,1)}else if("move"===l){if(null==r.index)throw new en("invalid_index","move requires index");if(!r.frame)throw new en("invalid_item","move requires frame");if(r.index<0||r.index>=s.elements.length)throw new en("invalid_index","move index out of range",{index:r.index});var u=s.elements[r.index];if(!U.isObjectExpression(u))throw new en("fallback_recommended","Canvas item is not an object literal",{index:r.index});(0,Q.HJ)(u,"frame",(yield eR(eZ(r.frame),n)))}else throw new en("invalid_op",`Unsupported edit_canvas_items op: ${l}`);ez(n),yield eN(t);var p=yield(0,X.H)(e,r.verify);return{file:t.relPath,entry:i.name,id:i.id,change:{op:l,index:r.index,references:eF(n.references)},outcome:"compile:failed"===p.status?"verify_failed":"ok",verify:p,summary:`${l} canvas item on ${eM(t,i)} -> ${p.status}`}}))}),function(e,r){return q.apply(this,arguments)}),e6=(j=T(function*(e,r){var a=(e=>{switch(e?.__typename){case"SwitchCondInnerStateCurrentCanvas":return{type:"inner_state",key:"current_canvas",value:e.value,subspace:e.subspace};case"SwitchCondInnerStateOutlet":return{type:"inner_state",outlet:e.outlet,value:e.value};case"SwitchCondData":return{type:"property_bank",ref:e.data??e.ref,value:e.value,subspace:e.subspace};case"SwitchCondPropertyBankByItemKey":return{type:"property_bank_by_item_key",ref:e.data??e.ref,value:e.value,subspace:e.subspace};default:return e}})(e);if(a?.expr)return eR(a,r);if(a?.type==="inner_state"&&"current_canvas"===a.key){var t=yield eL(a.value,r,a.subspace);return U.objectExpression([U.objectProperty(U.identifier("__typename"),U.stringLiteral("SwitchCondInnerStateCurrentCanvas")),U.objectProperty(U.identifier("value"),U.arrowFunctionExpression([],t))])}if(a?.type==="inner_state"){var i=a.outlet||a.key;if(!i)throw new en("invalid_switch","Switch inner-state outlet condition requires outlet or key");return U.objectExpression([U.objectProperty(U.identifier("__typename"),U.stringLiteral("SwitchCondInnerStateOutlet")),U.objectProperty(U.identifier("outlet"),U.stringLiteral(i)),U.objectProperty(U.identifier("value"),(yield eR(a.value,r)))])}var o=a?.ref||a?.data||a?.key;if(!o)throw new en("invalid_switch","Switch condition requires data ref");var n=yield eL(o,r,a.subspace);return U.objectExpression([U.objectProperty(U.identifier("__typename"),U.stringLiteral(a?.type==="property_bank_by_item_key"?"SwitchCondPropertyBankByItemKey":"SwitchCondData")),U.objectProperty(U.identifier("data"),U.arrowFunctionExpression([],n)),U.objectProperty(U.identifier("value"),(yield eR(a.value,r)))])}),function(e,r){return j.apply(this,arguments)}),e5=new Set(["id","title","description","conds","override","property","outlets","animation","events","disabled","break"]),e2=($=T(function*(e,r){for(var a of Object.keys(e))if(!e5.has(a))throw new en("invalid_switch",`Unknown switch field: ${a}`,{field:a,supported:Array.from(e5)});if(void 0!==e.events)throw new en("invalid_switch","Set switch events with edit_events using its switch parameter");if(e.id&&!/^BRICK_STATE_GROUP_[0-9a-fA-F-]{36}$/.test(e.id))throw new en("invalid_switch","Switch id must match BRICK_STATE_GROUP_<uuid>; omit id to generate one",{id:e.id});var t,i=e.id?U.stringLiteral(e.id):ew("switch");e.id||r.valueImports.add("makeId");var o=[U.objectProperty(U.identifier("id"),i)];for(var n of(null!=e.title&&o.push(U.objectProperty(U.identifier("title"),U.stringLiteral(e.title))),null!=e.description&&o.push(U.objectProperty(U.identifier("description"),U.stringLiteral(e.description))),e.conds&&o.push(U.objectProperty(U.identifier("conds"),U.arrayExpression((yield Promise.all(e.conds.map((t=T(function*(e){return U.objectExpression([U.objectProperty(U.identifier("method"),U.stringLiteral(e.method||"==")),U.objectProperty(U.identifier("cond"),(yield e6(e.cond||e,r)))])}),function(e){return t.apply(this,arguments)}))))))),e.override&&o.push(U.objectProperty(U.identifier("override"),(yield eR(e.override,r)))),["property","outlets","animation"]))null!=e[n]&&o.push(U.objectProperty(U.identifier(n),(yield eR(e[n],r))));return null!=e.disabled&&o.push(U.objectProperty(U.identifier("disabled"),U.booleanLiteral(!!e.disabled))),null!=e.break&&o.push(U.objectProperty(U.identifier("break"),U.booleanLiteral(!!e.break))),U.objectExpression(o)}),function(e,r){return $.apply(this,arguments)}),e3=(S=T(function*(e,r){return eG(e,"edit_switches",r,T(function*(){var a=yield ey(e,r),t=a.parsed,i=a.entry,o=a.object,n={projectDir:e,parsed:t,references:[],typeImports:new Set,valueImports:new Set},s=eV(o,"switches","switches"),l=r.op,c=e=>"number"==typeof e?e:e?s.elements.findIndex(r=>U.isObjectExpression(r)&&(0,Q.JJ)(r,"id")===e):-1;if("add"===l||"replace"===l){var d=yield e2(r.switch||{},n),u=null==r.index?s.elements.length:c(r.index);if("replace"===l){if(u<0||u>=s.elements.length)throw new en("invalid_index","replace index out of range",{index:u});s.elements[u]=d}else{if(u<0||u>s.elements.length)throw new en("invalid_index","add requires a valid switch id or index",{index:r.index});s.elements.splice(u,0,d)}}else if("remove"===l){var p=c(r.index);if(p<0||p>=s.elements.length)throw new en("invalid_index","remove requires a valid switch id or index",{index:r.index});s.elements.splice(p,1)}else if("move"===l){var m=c(r.index);if(m<0||m>=s.elements.length)throw new en("invalid_index","move requires a valid switch id or index",{index:r.index});var h=Number(r.to);if(!Number.isFinite(h)||h<0||h>=s.elements.length)throw new en("invalid_index","move requires valid to index",{to:r.to});var f=s.elements.splice(m,1),g=C(f,1)[0];s.elements.splice(h,0,g)}else throw new en("invalid_op",`Unsupported edit_switches op: ${l}`);ez(n),yield eN(t);var b=yield(0,X.H)(e,r.verify);return{file:t.relPath,entry:i.name,id:i.id,change:{op:l,index:r.index,references:eF(n.references)},outcome:"compile:failed"===b.status?"verify_failed":"ok",verify:b,summary:`${l} switch on ${eM(t,i)} -> ${b.status}`}}))}),function(e,r){return S.apply(this,arguments)}),e8=(P=T(function*(e,r,a,t){var i=[U.objectProperty(U.identifier("__typename"),U.stringLiteral(e.typename)),U.objectProperty(U.identifier("id"),a)];return r.alias&&i.push(U.objectProperty(U.identifier("alias"),U.stringLiteral(r.alias))),null!=r.title&&i.push(U.objectProperty(U.identifier("title"),U.stringLiteral(r.title))),null!=r.description&&i.push(U.objectProperty(U.identifier("description"),U.stringLiteral(r.description))),"brick"===e.kind||"generator"===e.kind?(i.push(U.objectProperty(U.identifier("templateKey"),U.stringLiteral(r.templateKey||""))),i.push(U.objectProperty(U.identifier("property"),U.objectExpression([]))),i.push(U.objectProperty(U.identifier("events"),U.objectExpression([]))),i.push(U.objectProperty(U.identifier("outlets"),U.objectExpression([]))),"brick"===e.kind&&i.push(U.objectProperty(U.identifier("animation"),U.objectExpression([]))),i.push(U.objectProperty(U.identifier("switches"),U.arrayExpression([])))):"canvas"===e.kind?(i.push(U.objectProperty(U.identifier("property"),U.objectExpression([]))),i.push(U.objectProperty(U.identifier("events"),U.objectExpression([]))),i.push(U.objectProperty(U.identifier("switches"),U.arrayExpression([]))),i.push(U.objectProperty(U.identifier("items"),U.arrayExpression([])))):"data"===e.kind?(i.push(U.objectProperty(U.identifier("type"),U.stringLiteral(r.dataType||"any"))),i.push(U.objectProperty(U.identifier("schema"),U.objectExpression([]))),i.push(U.objectProperty(U.identifier("events"),U.objectExpression([]))),i.push(U.objectProperty(U.identifier("value"),U.identifier("undefined")))):"animation"===e.kind&&(i.push(U.objectProperty(U.identifier("runType"),U.stringLiteral("once"))),i.push(U.objectProperty(U.identifier("property"),U.stringLiteral("opacity"))),i.push(U.objectProperty(U.identifier("config"),(yield eR({__type:"AnimationTimingConfig",toValue:1,duration:300,easing:"",delay:0,isInteraction:!0},t))))),U.objectExpression(i)}),function(e,r,a,t){return P.apply(this,arguments)}),e7=(E=T(function*(e,r,a){var t=W.basename(r);for(var i of(yield eg(e)).filter(e=>W.basename(e)===t)){var o=yield ec(e,i);if(ed(o.ast).some(e=>e.alias===a))return!0}return!1}),function(e,r,a){return E.apply(this,arguments)}),e1=(I=T(function*(e,r){return eG(e,"new_entry",r,T(function*(){if(!r.file)throw new en("missing_file","new_entry requires file");if(!r.type)throw new en("missing_type","new_entry requires TypeScript type");var a=es(e,r.file),t=yield ec(e,a),i=new Set(ed(t.ast).map(e=>e.name)),o="string"==typeof r.id?r.id:void 0,n=o||"string"!=typeof r.alias||!r.alias||(yield e7(e,a,r.alias))?void 0:r.alias,s=o?U.stringLiteral(o):ew(t.kind.idType,n),l=r.entry||((e,r,a,t)=>{var i,o=(e=>{if(!e)return null;var r=e.replace(/[^a-zA-Z0-9_$]/g,"");return r?(/^[0-9]/.test(r)&&(r=`_${r}`),r):null})(t)||(a?`${r.varPrefix}${i=a.replace(/^[A-Z_]+/g,""),`${i.substr(15,3)}${i.substr(20,1)}`}`:`${r.varPrefix}Entry`);if(!e.has(o))return o;for(var n=1;e.has(`${o}${n}`);)n+=1;return`${o}${n}`})(i,t.kind,o,r.alias||r.title),c={projectDir:e,parsed:t,references:[],typeImports:new Set([r.type]),valueImports:new Set};o||c.valueImports.add("makeId");var d=yield e8(t.kind,r,s,c),u=U.variableDeclarator(U.identifier(l),d);for(var p of(u.id.typeAnnotation=U.tsTypeAnnotation(U.tsTypeReference(U.identifier(r.type))),t.ast.program.body.push(U.exportNamedDeclaration(U.variableDeclaration("const",[u]))),Object.entries(r.set||{}))){var m=C(p,2),h=m[0],f=m[1];yield ej(d,h,f,c)}for(var g of r.events||[]){if(!(0,Q.u4)(g)||"string"!=typeof g.event||!g.event||!g.action)throw new en("invalid_action","events entries require { event, action }",{event:g});var b=eH(d,"events","events");eV(b,g.event,`events.${g.event}`).elements.push((yield eJ(g.action,c)))}ez(c),yield eN(t);var y=yield(0,X.H)(e,r.verify);return{file:t.relPath,entry:l,id:o,idExpression:o??(n?`makeId('${t.kind.idType}', '${n}')`:`makeId('${t.kind.idType}')`),change:{set:r.set||{},events:r.events||[],references:eF(c.references)},outcome:"compile:failed"===y.status?"verify_failed":"ok",verify:y,summary:`created ${l} (${t.kind.kind}, ${ep(t.absPath)}) -> ${y.status}`}}))}),function(e,r){return I.apply(this,arguments)}),e0=(e,r)=>{var a;return U.isArrowFunctionExpression(e)&&0===e.params.length&&(a=e.body,!!a&&(U.isIdentifier(a)?a.name===r.varName:!!U.isMemberExpression(a)&&!!U.isIdentifier(a.object)&&!!U.isIdentifier(a.property)&&a.object.name===r.namespace&&a.property.name===r.varName))},e4=(e,r)=>U.isCallExpression(e)&&U.isIdentifier(e.callee,{name:"linkData"})&&e0(e.arguments[0],r),e9=(e,r)=>{if(!e)return!1;if(e0(e,r)||e4(e,r))return!0;var a=!1;return ei(U.file(U.program([U.expressionStatement(U.cloneNode(e,!0))])),{ArrowFunctionExpression(e){e0(e.node,r)&&(a=!0,e.stop())},CallExpression(e){e4(e.node,r)&&(a=!0,e.stop())}}),a},re=(e,r,a,t=[],i={})=>{if(U.isProgram(e))return void e.body.forEach((e,o)=>re(e,r,a,[...t,String(o)],i));if(U.isExportNamedDeclaration(e)&&e.declaration)return void re(e.declaration,r,a,t,i);if(U.isVariableDeclaration(e))return void e.declarations.forEach((e,o)=>re(e,r,a,[...t,String(o)],i));if(U.isVariableDeclarator(e)&&e.init)return void re(e.init,r,a,t,i);if(U.isObjectExpression(e)){for(var o=e.properties.length-1;o>=0;o-=1){var n=e.properties[o];if(U.isObjectProperty(n)){var s=(0,Q.Gp)(n.key)||`property-${o}`,l=[...t,s];if(e0(n.value,r)||e4(n.value,r)){t.includes("outlets")?(e.properties.splice(o,1),a.push({action:"drop_outlet",path:l.join(".")})):i.dataCalc&&("output"===s||"error"===s)?(n.value=U.nullLiteral(),a.push({action:"null_output",path:l.join(".")})):(n.value=U.identifier("undefined"),a.push({action:"null_link",path:l.join(".")}));continue}re(n.value,r,a,l,i)}}return}if(U.isArrayExpression(e))for(var c=t[t.length-1],d=t.includes("events")&&"events"!==c,u=i.dataCalc?["items","params","dataParams","conds","switches","inputs","outputs"]:["items","params","dataParams","conds","switches"],p=e.elements.length-1;p>=0;p-=1){var m=e.elements[p];if(m){var h=[...t,String(p)];if(e9(m,r)&&(u.includes(c)||d||e0(m,r))){e.elements.splice(p,1),a.push({action:d?"delete_event_handler":i.dataCalc&&("inputs"===c||"outputs"===c)?"remove_io_item":"remove_reference_item",path:h.join(".")});continue}re(m,r,a,h,i)}}},rr=(e,r)=>{var a=e.ast.program.body.indexOf(r.node);a>=0&&e.ast.program.body.splice(a,1)},ra=(z=T(function*(e,r,a){if("project"===a)return eg(e);var t=em(r),i=yield ef(t),o=W.join(t,"data-calc"),n=yield(0,H.readdir)(o,{withFileTypes:!0}).catch(()=>[]);return[...i,...n.filter(e=>e.isFile()&&e.name.endsWith(".ts")).map(e=>W.join(o,e.name))]}),function(e,r,a){return z.apply(this,arguments)}),rt=(O=T(function*(e,r){return eG(e,"remove_entry",r,T(function*(){var a,t=yield ey(e,r),i=t.parsed,o=t.entry,n={varName:o.name,namespace:i.kind.namespace,id:o.id},s=yield ra(e,i.absPath,r.scope),l=[],c=yield Promise.all(s.map((a=T(function*(r){var a=yield(0,H.readFile)(r,"utf8");return{absPath:r,relPath:(0,Q.RI)(e,r),source:a,ast:el(a,(0,Q.RI)(e,r)),kind:eo[W.basename(r)]||i.kind}}),function(e){return a.apply(this,arguments)}))),d=function*(e){var r,a,t,s,c;(s=(e.absPath===i.absPath?(r=o.name,a=U.cloneNode(e.ast,!0),t={...e,ast:a},rr(t,eu(t,{entry:r})),t):e).ast,c=[],ei(s,{ArrowFunctionExpression(e){e0(e.node,n)&&c.push({type:"ref",loc:e.node.loc?.start})},CallExpression(e){e4(e.node,n)&&c.push({type:"link",loc:e.node.loc?.start})}}),c).forEach(r=>l.push({file:e.relPath,...r}))};for(var u of c)yield*d(u);if(r.strict&&l.length>0)return{file:i.relPath,entry:o.name,id:o.id,outcome:"refused",touchedSites:l,verify:{status:"skipped",errors:[]},summary:`refused to remove ${eM(i,o)}; ${l.length} reference(s) found`};var p=function*(e){var r=[],a={dataCalc:e.absPath.split(W.sep).includes("data-calc")};if(e.absPath===i.absPath&&(rr(e,eu(e,{entry:o.name})),r.push({action:"remove_entry",path:o.name})),re(e.ast.program,n,r,[],a),0===r.length)return 1;var t=yield eD(e);el(t,e.relPath),yield(0,H.writeFile)(e.absPath,t),r.forEach(r=>l.push({file:e.relPath,...r}))};for(var m of c)if(yield*p(m))continue;var h=yield(0,X.H)(e,r.verify);return{file:i.relPath,entry:o.name,id:o.id,outcome:"compile:failed"===h.status?"verify_failed":"ok",touchedSites:l,verify:h,summary:`removed ${eM(i,o)} with ${l.length} touched site(s) -> ${h.status}`}}))}),function(e,r){return O.apply(this,arguments)}),ri=(A=T(function*(e,r){return eG(e,"new_subspace",r,T(function*(){var a=W.join(e,"root.ts"),t=(0,Q.RI)(e,a),i=yield(0,H.readFile)(a,"utf8").catch(()=>null);if(null==i)throw new en("invalid_file","Project has no root.ts to wire the subspace into");var o={source:i,ast:el(i,t),absPath:a,relPath:t},n=o.ast.program.body.find(e=>U.isExportDefaultDeclaration(e));if(!n||!U.isArrayExpression(n.declaration))throw new en("fallback_recommended","root.ts default export is not a subspace array literal; wire the new subspace manually",{file:t});var s=(yield eh(e)).reduce((e,r)=>{var a=/^subspace-(\d+)$/.exec(W.basename(r));return a?Math.max(e,Number(a[1])):e},-1)+1,l=`subspace-${s}`,c=W.join(e,"subspaces",l),d=`SUBSPACE_${(0,V.randomUUID)()}`,u=`CANVAS_${(0,V.randomUUID)()}`,p=(({subspaceId:e,canvasId:r,title:a,description:t,layout:i,portal:o})=>{var n=[`width: ${i.width}`,`height: ${i.height}`,...i.resizeMode?[`resizeMode: '${i.resizeMode}'`]:[]];return{"data.ts":"import type { Data } from 'bricks-ctor'\n","bricks.ts":"import type { Brick } from 'bricks-ctor'\n","generators.ts":"import type { Generator } from 'bricks-ctor'\n","animations.ts":"import type { Animation } from 'bricks-ctor'\n","canvases.ts":`import type { Canvas } from 'bricks-ctor'
17
+
18
+ export const cMain: Canvas = {
19
+ __typename: 'Canvas',
20
+ id: '${r}',
21
+ title: 'Canvas 1',
22
+ description: '',
23
+ property: {},
24
+ events: {},
25
+ switches: [],
26
+ items: [],
27
+ }
28
+ `,"data-calc/index.ts":"export const dataCalculation = []\n","index.ts":`import type { Subspace } from 'bricks-ctor'
29
+ import * as canvases from './canvases'
30
+ import * as data from './data'
31
+ import * as animations from './animations'
32
+ import * as generators from './generators'
33
+ import * as bricks from './bricks'
34
+ import { dataCalculation } from './data-calc'
35
+
36
+ export default {
37
+ __typename: 'Subspace',
38
+ id: '${e}',
39
+ title: ${JSON.stringify(a)},
40
+ description: ${JSON.stringify(t)},${o?`
41
+ portal: '${o}',`:""}
42
+ layout: { ${n.join(", ")} },
43
+ rootCanvas: canvases.cMain,
44
+ canvases: Object.values(canvases),
45
+ animations: Object.values(animations),
46
+ bricks: Object.values(bricks),
47
+ generators: Object.values(generators),
48
+ data: Object.values(data),
49
+ dataRouting: [],
50
+ dataCalculation,
51
+ events: {},
52
+ } as Subspace
53
+
54
+ export { bricks, generators, canvases, data }
55
+ `}})({subspaceId:d,canvasId:u,title:r.title,description:r.description??"",layout:{width:r.layout?.width??96,height:r.layout?.height??54,resizeMode:r.layout?.resizeMode},portal:r.portal});yield(0,H.mkdir)(W.join(c,"data-calc"),{recursive:!0});var m=[];for(var h of Object.entries(p)){var f=C(h,2),g=f[0],b=f[1],y=W.join(c,g),w=yield(0,J.format)(y,b,Q.Hn);yield(0,H.writeFile)(y,w.errors.length>0?b:w.code),m.push((0,Q.RI)(e,y))}var v=eI(o,`./subspaces/${l}`,`subspace${s}`);n.declaration.elements.push(U.identifier(v)),yield eN(o);var k=yield(0,X.H)(e,r.verify);return{subspace:l,id:d,index:s,files:m,change:{op:"new_subspace",rootImport:v},outcome:"compile:failed"===k.status?"verify_failed":"ok",verify:k,summary:`new_subspace ${l} (${r.title}) wired into root.ts -> ${k.status}`}}))}),function(e,r){return A.apply(this,arguments)}),ro=e=>({content:[{type:"text",text:JSON.stringify(e,null,2)}],isError:e.isError||void 0}),rn=Z.bz().describe('Value grammar: JSON scalars/arrays/objects emit literals; { link: "dataIdOrAlias" } emits linkData(() => data.dX) for property/data-link values; { ref: "idOrAliasOrVar", subspace?: "subspace-1"|1|"SUBSPACE_id" } emits () => namespace.varName; { expr: "raw TypeScript expression" } is spliced verbatim.'),rs=Z.Yj().describe("Dotted entry path to edit, for example title, property.url, outlets.response, animation.show, value, type, switches[0].property.text, or items[0].frame."),rl=Z.Yj().describe("Project-relative entry file path, for example subspaces/subspace-0/bricks.ts, generators.ts, canvases.ts, data.ts, or animations.ts."),rc=Z.Yj().describe("Exported const name or entity alias to edit, for example bWelcomeText, gApiClient, cMain, or an alias like welcomeText."),rd=Z.Yj().describe("Entry id fallback. When file is omitted, scans project subspaces for this id."),ru=Z.zM().describe("Override compile verification for this call. Defaults to BRICKS_CTOR_MCP_EDIT_VERIFY, otherwise true."),rp={file:rl.optional(),entry:rc.optional(),id:rd.optional(),verify:ru.optional()};function rm(e,r){var a,t,i,o,n,s,l;e.tool("edit_entry","Edit map-shaped facets on an existing bricks-ctor entry by source AST. Use set/unset with dotted paths and the shared value grammar.",{...rp,set:Z.g1(rs,rn).describe("Map of dotted paths to values. Values use the shared grammar: JSON literals, { link }, { ref }, or { expr }.").optional(),unset:Z.YO(rs).describe("Dotted paths to remove.").optional(),switch:Z.KC([Z.Yj(),Z.ai()]).describe("Optional switch id or zero-based switch index; edits that switch object instead of the entry root.").optional()},(a=T(function*(e){return ro((yield eY(r,e)))}),function(e){return a.apply(this,arguments)})),e.tool("edit_events","Edit an event action array on an entry or switch. Adds/removes/replaces/moves/clears EventAction objects.",{...rp,event:Z.Yj().describe("Camel-case source event key such as onPress, showStart, update, enter, or firstEnter."),op:Z.k5(["add","remove","replace","move","clear"]).describe("Array operation. add inserts at index or appends; replace/remove require index; move reorders index to `to`; clear removes the event key."),index:Z.ai().describe("Zero-based event action index. For add this is the insertion position.").optional(),to:Z.ai().describe("Destination zero-based index for move.").optional(),action:rn.describe('For add/replace, the flattened form: { handler: "system"|{ref}|{subspace: "subspace-1"|1|"SUBSPACE_id"}, name: "ACTION_NAME", params?: { inputName: value }, dataParams?: { dataRef: value }, cast?: "TypeName", waitAsync?: boolean }. Cross-subspace {subspace} handlers emit a () => subspaceN getter; the emitting subspace itself stays a literal id. The compiled source form { handler, action: { name, params: [...], dataParams: [...] }, waitAsync } and { expr: "raw EventAction" } are also accepted.').optional(),switch:Z.KC([Z.Yj(),Z.ai()]).describe("Optional switch id or zero-based switch index; edits that switch events object.").optional()},(t=T(function*(e){return ro((yield eW(r,e)))}),function(e){return t.apply(this,arguments)})),e.tool("edit_canvas_items","Edit a Canvas entry items array. Use add/remove/replace to place bricks or move to update an item frame.",{...rp,op:Z.k5(["add","remove","replace","move"]).describe("Canvas item operation. add inserts/appends, replace/remove use index, move updates frame at index."),index:Z.ai().describe("Zero-based canvas item index.").optional(),item:rn.describe('For add/replace: { ref: "brickIdOrAliasOrVar", subspace?: ..., frame: { x, y, width, height, ... }, hidden?: boolean } places a brick; { subspace: "subspace-1"|1|"SUBSPACE_id", frame: ... } without ref embeds that subspace (emits a () => subspaceN getter). Frames require numeric x/y/width/height.').optional(),frame:rn.describe("Replacement frame such as { x, y, width, height }. Required for move; for add/replace it is used when item.frame is omitted.").optional()},(i=T(function*(e){return ro((yield eQ(r,e)))}),function(e){return i.apply(this,arguments)})),e.tool("edit_switches","Edit an entry switches array. Use edit_entry/edit_events with switch when changing switch facet bodies.",{...rp,op:Z.k5(["add","remove","replace","move"]).describe("Switch array operation. add inserts/appends, replace/remove use index, move reorders to `to`."),index:Z.KC([Z.Yj(),Z.ai()]).describe("Switch id or zero-based switch index. For add, this is optional insertion position.").optional(),to:Z.ai().describe("Destination zero-based index for move.").optional(),switch:rn.describe('For add/replace: { id? (BRICK_STATE_GROUP_<uuid>; omit to auto-generate), title?, description?, conds?: [{ method: "=="|"!="|">"|"<"|">="|"<=", cond }], override?: { animation?, event?, property?, outlet? }, property?, outlets?, animation?, disabled?, break? }. Cond forms: { type: "inner_state", key: "current_canvas", value: canvasRef }, { type: "inner_state", outlet: "outletName", value }, { type: "property_bank", ref: dataRef, value }, { type: "property_bank_by_item_key", ref: dataRef, value }, a compiled { __typename: "SwitchCond..." } object, or { expr }. Set switch events with edit_events using its switch parameter.').optional()},(o=T(function*(e){return ro((yield e3(r,e)))}),function(e){return o.apply(this,arguments)})),e.tool("new_entry","Create a minimal standard-style exported entry skeleton in an entry file, then optionally apply set/events edits.",{file:rl,entry:rc.describe("Optional exported const name. Defaults from alias/title/id.").optional(),templateKey:Z.Yj().describe("Brick/generator templateKey such as BRICK_TEXT or GENERATOR_HTTP.").optional(),type:Z.Yj().describe("TypeScript type imported from bricks-ctor, for example BrickText, GeneratorHTTP, Canvas, Data, or Animation."),alias:Z.Yj().describe("Optional entry alias. Also influences default exported const name.").optional(),title:Z.Yj().describe("Optional entry title.").optional(),description:Z.Yj().describe("Optional entry description.").optional(),id:rd.describe("Optional explicit id. If omitted, the tool generates one with the file-kind prefix.").optional(),dataType:Z.Yj().describe("For data.ts only: initial Data.type value. Defaults to any.").optional(),set:Z.g1(rs,rn).describe("Optional initial dotted-path values applied after creating the skeleton. Values use JSON literals, { link }, { ref }, or { expr }.").optional(),events:Z.YO(rn).describe("Optional initial event actions as objects with { event, action }.").optional(),verify:ru.optional()},(n=T(function*(e){return ro((yield e1(r,e)))}),function(e){return n.apply(this,arguments)})),e.tool("remove_entry","Remove an entry. By default cascades same-subspace references in standard entry object/array shapes; strict mode refuses when references exist.",{...rp,strict:Z.zM().describe("When true, do not edit files; refuse and return reference sites if the entry is referenced.").optional(),scope:Z.k5(["subspace","project"]).describe("Reference scan scope. subspace is default; project scans all subspaces.").optional()},(s=T(function*(e){return ro((yield rt(r,e)))}),function(e){return s.apply(this,arguments)})),e.tool("new_subspace","Scaffold a new subspaces/subspace-N directory (standard entry files + root canvas, fixed SUBSPACE_ id) and wire it into root.ts. Embed it afterwards with edit_canvas_items { subspace } or target it with edit_events { handler: { subspace } }.",{title:Z.Yj().describe("Subspace title shown in the editor."),description:Z.Yj().describe("Optional subspace description.").optional(),layout:Z.Ik({width:Z.ai(),height:Z.ai(),resizeMode:Z.k5(["cover","stretch"]).optional()}).describe("Subspace grid the embed frame scales; defaults to { width: 96, height: 54 }. Use a smaller grid plus resizeMode: 'stretch' for panel modules.").optional(),portal:Z.k5(["top","left","bottom","right"]).describe("Dock the subspace to a viewport edge as an always-on overlay instead of a canvas-embeddable module.").optional(),verify:ru.optional()},(l=T(function*(e){return ro((yield ri(r,e)))}),function(e){return l.apply(this,arguments)}))}t()}catch(e){t(e)}})},28622(e,r,a){a.d(r,{k:()=>q});var t,i,o,n=a(68832),s=a(99436),l=a(84867),c=a(43776),d=a(47680),u=a(42790),p="https://huggingface.co/api",m=process.env.HF_TOKEN,h=e=>"bigint"==typeof e?Number(e):e,f=(t=s(function*(e){var r=new Promise((e,r)=>setTimeout(()=>r(Error("GGUF metadata extraction timeout")),1e4));try{var a=(yield Promise.race([(0,u.QN)(e),r])).metadata,t=a["general.architecture"],i={name:a["general.name"],size_label:a["general.size_label"],basename:a["general.basename"],architecture:a["general.architecture"],file_type:h(a["general.file_type"]),quantization_version:h(a["general.quantization_version"])};if(!t)return i;var o=(e,r,a)=>{void 0!==a&&(e[r]=h(a))};return o(i,"n_ctx_train",a[`${t}.context_length`]),o(i,"n_layer",a[`${t}.block_count`]),o(i,"n_embd",a[`${t}.embedding_length`]),o(i,"n_head",a[`${t}.attention.head_count`]),o(i,"n_head_kv",a[`${t}.attention.head_count_kv`]),o(i,"n_embd_head_k",a[`${t}.attention.key_length`]),o(i,"n_embd_head_v",a[`${t}.attention.value_length`]),o(i,"n_swa",a[`${t}.attention.sliding_window`]),o(i,"ssm_d_conv",a[`${t}.ssm.conv_kernel`]),o(i,"ssm_d_state",a[`${t}.ssm.state_size`]),o(i,"ssm_d_inner",a[`${t}.ssm.inner_size`]),o(i,"ssm_n_group",a[`${t}.ssm.group_count`]),o(i,"ssm_dt_rank",a[`${t}.ssm.time_step_rank`]),o(i,"rwkv_head_size",a[`${t}.rwkv.head_size`]),o(i,"rwkv_token_shift_count",a[`${t}.rwkv.token_shift_count`]),i}catch(e){return console.error("Failed to extract GGUF metadata:",e),null}}),function(e){return t.apply(this,arguments)}),g=["text-generation","image-text-to-text","text2text-generation","conversational"],b=e=>{var r=e.some(e=>"config.json"===e.rfilename),a=e.some(e=>e.rfilename.includes("onnx/")&&e.rfilename.endsWith(".onnx"));return r&&a},y=e=>{var r=e.filter(e=>e.rfilename.endsWith(".onnx")),a=new Set;return r.forEach(e=>{var r=e.rfilename;if(r.endsWith(".onnx")){var t=/_(q8|q4|q4f16|fp16|int8|int4|uint8|bnb4|quantized)\.onnx$/.exec(r)?.[1];t?a.add("quantized"===t?"q8":t):(a.add("auto"),a.add("none"))}}),Array.from(a)},w=e=>e.filter(e=>e.rfilename.startsWith("voices/")&&e.rfilename.endsWith(".bin")),v={GeneratorLLM:{modelKind:"gguf",filter:"gguf",taskFilter:g,filePattern:/\.gguf$/},GeneratorVectorStore:{modelKind:"gguf",filter:"gguf",filePattern:/\.gguf$/},GeneratorReranker:{modelKind:"gguf",filter:"gguf,reranker",filePattern:/\.gguf$/},GeneratorGGMLTTS:{modelKind:"gguf",filter:"gguf,text-to-speech",filePattern:/\.gguf$/},GeneratorGGMLTTSVocoder:{modelKind:"gguf",filter:"gguf,feature-extraction",filePattern:/\.gguf$/},GeneratorOnnxLLM:{modelKind:"onnx",filter:"onnx",taskFilter:g,hasValidStructure:b},GeneratorOnnxSTT:{modelKind:"onnx",filter:"onnx,automatic-speech-recognition",hasValidStructure:b},GeneratorTTS:{modelKind:"onnx",filter:"onnx,text-to-speech",hasValidStructure:b},GeneratorMlxLLM:{modelKind:"mlx",filter:"mlx",taskFilter:g}},k=(i=s(function*(e,r,a=50){var t=new URLSearchParams({limit:String(a),full:"true",config:"true",sort:"likes",direction:"-1"});e&&t.set("filter",e),r&&t.set("search",r);var i={};m&&(i.Authorization=`Bearer ${m}`);var o=yield fetch(`${p}/models?${t.toString()}`,{headers:i});if(!o.ok)throw Error(`Hugging Face API error: ${o.status} ${o.statusText}`);return o.json()}),function(e,r){return i.apply(this,arguments)}),x=(o=s(function*(e){var r=new URLSearchParams({blobs:"true"}),a={};m&&(a.Authorization=`Bearer ${m}`);var t=yield fetch(`${p}/models/${e}?${r.toString()}`,{headers:a});if(!t.ok)throw Error(`Hugging Face API error: ${t.status} ${t.statusText}`);return t.json()}),function(e){return o.apply(this,arguments)}),_=/-(\d{5})-of-(\d{5})\.gguf$/;function q(e){var r,a;e.tool("huggingface_search",{generatorType:l.k5(["GeneratorLLM","GeneratorVectorStore","GeneratorReranker","GeneratorGGMLTTS","GeneratorGGMLTTSVocoder","GeneratorOnnxLLM","GeneratorOnnxSTT","GeneratorTTS","GeneratorMlxLLM"]).describe("Generator type to search models for").default("GeneratorLLM"),query:l.Yj().describe("Search keywords for models on Hugging Face").optional(),limit:l.ai().min(1).max(100).optional().default(20),includeFiles:l.zM().optional().default(!1).describe("Include list of model files (requires additional API calls)")},(r=s(function*({generatorType:e,query:r,limit:a,includeFiles:t}){try{var i,o=v[e],n=(yield k(o.filter,r,a)).filter(e=>{var r=e.tags||[];return(!o.taskFilter||!!o.taskFilter.some(e=>r.includes(e)))&&(!o.hasValidStructure||!e.siblings||!!o.hasValidStructure(e.siblings))}).map(e=>({id:e.id,author:e.author,downloads:e.downloads,likes:e.likes,pipeline_tag:e.pipeline_tag,model_type:e.config?.model_type||e.cardData?.model_type,model_kind:o.modelKind}));return t&&(n=yield Promise.all(n.map((i=s(function*(r){try{var a=(yield x(r.id)).siblings||[];if("gguf"===o.modelKind){var t=a.filter(e=>o.filePattern?.test(e.rfilename)).map(e=>({filename:e.rfilename,size:e.size}));return{...r,files:t}}var i=y(a),n="GeneratorTTS"===e?w(a):[];return{...r,quantization_types:i,...n.length>0&&{speaker_embed_files:n.map(e=>({filename:e.rfilename,size:e.size}))}}}catch{return r}}),function(e){return i.apply(this,arguments)})))),{content:[{type:"text",text:d.lF({count:n.length,generatorType:e,modelKind:o.modelKind,models:n,hf_token_configured:!!m})}]}}catch(e){return{content:[{type:"text",text:`Failed to search models: ${e.message}`}]}}}),function(e){return r.apply(this,arguments)})),e.tool("huggingface_select",{generatorType:l.k5(["GeneratorLLM","GeneratorVectorStore","GeneratorReranker","GeneratorGGMLTTS","GeneratorGGMLTTSVocoder","GeneratorOnnxLLM","GeneratorOnnxSTT","GeneratorTTS","GeneratorMlxLLM"]).describe("Generator type for model selection").default("GeneratorLLM"),model_id:l.Yj().describe('Hugging Face model ID (e.g., "unsloth/Llama-3.2-1B-Instruct-GGUF")'),filename:l.Yj().describe("Model filename to select (required for GGUF models)").optional(),quantize_type:l.Yj().describe('Quantization type for ONNX models (e.g., "q8", "fp16", "auto")').optional().default("auto"),speaker_embed_file:l.Yj().describe("Speaker embedding file for TTS models").optional()},(a=s(function*({generatorType:e,model_id:r,filename:a,quantize_type:t,speaker_embed_file:i}){try{var o=v[e],s=yield x(r),l=s.siblings||[];if("onnx"===o.modelKind){var d=y(l),u="GeneratorTTS"===e?w(l):[],p=i?l.find(e=>e.rfilename===i):void 0,h=d.includes(t||"auto")?t:"auto",g=s.config?.model_type||s.cardData?.model_type,b={model:r,modelType:g,quantizeType:h,...p&&{speakerEmbedUrl:`https://huggingface.co/${r}/resolve/main/${p.rfilename}?download=true`,speakerEmbedHash:p.lfs?.sha256,speakerEmbedHashType:"sha256"},availableQuantizeTypes:d,...u.length>0&&{availableSpeakerEmbedFiles:u.map(e=>e.rfilename)},_hfRepoInfo:{repo:r,model:{id:s.id,downloads:s.downloads,likes:s.likes,author:s.author},generatorType:e,modelType:g,quantizeType:h,...p&&{speakerEmbedFile:p.rfilename}}};return{content:[{type:"text",text:`${c.A.stringify(b,null,2)} // Please use _hfRepoInfo undocumented field with @ts-ignore`}]}}if("mlx"===o.modelKind){var k={};m&&(k.Authorization=`Bearer ${m}`);var q=null;try{var j=yield fetch(`https://huggingface.co/${r}/resolve/main/config.json`,{headers:k});j.ok&&(q=yield j.json())}catch{}var $=q?.model_type||s.config?.model_type||s.cardData?.model_type,S=q||{},P=S.text_config||S,E=P.num_attention_heads||P.n_heads||0,I=P.hidden_size||P.dim||0,z=P.kv_lora_rank||0,O=S.quantization||S.quantization_config||null,A=l.filter(e=>/\.(safetensors|npz)$/.test(e.rfilename)).reduce((e,r)=>e+(r.size??0),0),C=l.filter(e=>e.rfilename.endsWith(".safetensors")||e.rfilename.endsWith(".json")||e.rfilename.endsWith(".jinja")||"tokenizer.model"===e.rfilename).map(e=>({url:`https://huggingface.co/${r}/resolve/main/${e.rfilename}?download=true`,filename:`${r.replace("/","-")}/${e.rfilename}`,hash_type:e.lfs?"sha256":e.blobId?"sha1":void 0,sha256:e.lfs?.sha256,sha1:e.lfs?void 0:e.blobId})),T={modelId:r,modelType:$,_mlxDownloadFiles:C,_hfRepoInfo:{repo:r,model:{id:s.id,downloads:s.downloads,likes:s.likes,author:s.author},generatorType:e,modelType:$,...A>0&&{size:A},...q&&{mlxModelMetadata:{hiddenSize:I,numLayers:P.num_hidden_layers||P.n_layers||0,numHeads:E,numKvHeads:P.num_key_value_heads??E,headDim:P.head_dim||P.v_head_dim||(E>0&&I>0?I/E:0),maxCtx:P.max_position_embeddings||0,kvLoraRank:z,qkRopeHeadDim:P.qk_rope_head_dim||0,isMLA:z>0,quantBits:O?.bits||null,quantGroupSize:O?.group_size||null}}}};return{content:[{type:"text",text:`${c.A.stringify(T,null,2)} // IMPORTANT: Use _mlxDownloadFiles / _hfRepoInfo undocumented fields with @ts-ignore`}]}}if(!a){var L=l.filter(e=>o.filePattern?.test(e.rfilename)).map(e=>({filename:e.rfilename,size:e.size}));return{content:[{type:"text",text:JSON.stringify({error:"filename is required for GGUF models",available_files:L},null,2)}]}}var R=l.find(e=>e.rfilename===a);if(!R)return{content:[{type:"text",text:`File "${a}" not found in model ${r}`}]};var F=a.match(_),D=!!F,N="GeneratorLLM"===e?l.find(e=>/^mmproj-/i.test(e.rfilename)):void 0,M=D?a.replace(_,"-00001-of-$2.gguf"):a,G=`https://huggingface.co/${r}/resolve/main/${M}`,Y=yield f(G);if(D){var B=n(F,3)[2],U=((e,r,a)=>{var t=new Map;for(var i of a)t.has(i.rfilename)||t.set(i.rfilename,i);return Array.from({length:Number(r)},(a,i)=>{var o=String(i+1).padStart(5,"0"),n=e.replace(_,`-${o}-of-${r}.gguf`),s=t.get(n);return{rfilename:n,size:s?.size,lfs:s?.lfs}})})(a,B,l),K=U[0],J=U.slice(1),H={url:`https://huggingface.co/${r}/resolve/main/${K.rfilename}?download=true`,hash:K.lfs?.sha256,hash_type:"sha256",_ggufSplitFiles:J.map(e=>({url:`https://huggingface.co/${r}/resolve/main/${e.rfilename}?download=true`,hash:e.lfs?.sha256,hash_type:"sha256"})),...N&&{mmproj_url:`https://huggingface.co/${r}/resolve/main/${N.rfilename}?download=true`,mmproj_hash:N.lfs?.sha256,mmproj_hash_type:"sha256"},_hfRepoInfo:{repo:r,model:{id:s.id,downloads:s.downloads,likes:s.likes,author:s.author},generatorType:e,isSplit:!0,files:U.map(e=>e.rfilename),sizes:U.map(e=>e.size),size:U.reduce((e,r)=>e+(r.size??0),0),...N&&{mmprojFile:N.rfilename,mmprojSize:N.size},...Y&&{ggufSimplifiedMetadata:Y}}};return{content:[{type:"text",text:c.A.stringify(H,null,2)}]}}var V={url:`https://huggingface.co/${r}/resolve/main/${a}?download=true`,hash:R.lfs?.sha256,hash_type:"sha256",...N&&{mmproj_url:`https://huggingface.co/${r}/resolve/main/${N.rfilename}?download=true`,mmproj_hash:N.lfs?.sha256,mmproj_hash_type:"sha256"},_hfRepoInfo:{repo:r,model:{id:s.id,downloads:s.downloads,likes:s.likes,author:s.author},generatorType:e,file:a,size:R.size,...N&&{mmprojFile:N.rfilename,mmprojSize:N.size},...Y&&{ggufSimplifiedMetadata:Y}}};return{content:[{type:"text",text:`${c.A.stringify(V,null,2)} // IMPORTANT: Use _hfRepoInfo undocumented field with @ts-ignore`}]}}catch(e){return{content:[{type:"text",text:`Failed to select model: ${e.message}`}]}}}),function(e){return a.apply(this,arguments)}))}},55470(e,r,a){a.d(r,{k:()=>v});var t=a(99436),i=a(84867),o=a(47680),n=a(37102),s=JSON.parse('{"0":48,"1":49,"2":50,"3":51,"4":52,"5":53,"6":54,"7":55,"8":56,"9":57,"100":58396,"fill-drip":62838,"arrows-to-circle":58557,"circle-chevron-right":61752,"chevron-circle-right":61752,"wagon-covered":63726,"line-height":63601,"bagel":58327,"transporter-7":58024,"at":64,"rectangles-mixed":58147,"phone-arrow-up-right":57892,"phone-arrow-up":57892,"phone-outgoing":57892,"trash-can":62189,"trash-alt":62189,"circle-l":57620,"head-side-goggles":63210,"head-vr":63210,"text-height":61492,"user-xmark":62005,"user-times":62005,"face-hand-yawn":58233,"gauge-simple-min":63021,"tachometer-slowest":63021,"stethoscope":61681,"coffin":63174,"message":62074,"comment-alt":62074,"salad":63518,"bowl-salad":63518,"info":61737,"robot-astromech":58066,"ring-diamond":58795,"fondue-pot":58381,"theta":63134,"face-hand-peeking":58497,"square-user":57987,"down-left-and-up-right-to-center":62498,"compress-alt":62498,"explosion":58601,"file-lines":61788,"file-alt":61788,"file-text":61788,"wave-square":63550,"ring":63243,"building-un":58585,"dice-three":62759,"tire-pressure-warning":63027,"wifi-fair":63147,"wifi-2":63147,"calendar-days":61555,"calendar-alt":61555,"mp3-player":63694,"anchor-circle-check":58538,"tally-4":58007,"rectangle-history":58530,"building-circle-arrow-right":58577,"volleyball":62559,"volleyball-ball":62559,"sun-haze":63333,"text-size":63636,"ufo":57415,"fork":62179,"utensil-fork":62179,"arrows-up-to-line":58562,"mobile-signal":57839,"barcode-scan":62565,"sort-down":61661,"sort-desc":61661,"folder-arrow-down":57427,"folder-download":57427,"circle-minus":61526,"minus-circle":61526,"face-icicles":58236,"shovel":63251,"door-open":62763,"films":57722,"right-from-bracket":62197,"sign-out-alt":62197,"face-glasses":58231,"nfc":57847,"atom":62930,"soap":57454,"icons":63597,"heart-music-camera-bolt":63597,"microphone-lines-slash":62777,"microphone-alt-slash":62777,"closed-captioning-slash":57653,"calculator-simple":63052,"calculator-alt":63052,"bridge-circle-check":58569,"sliders-up":62449,"sliders-v":62449,"location-minus":62985,"map-marker-minus":62985,"pump-medical":57450,"fingerprint":62839,"ski-boot":58316,"standard-definition":57994,"rectangle-sd":57994,"h1":62227,"hand-point-right":61604,"magnifying-glass-location":63113,"search-location":63113,"message-bot":58296,"forward-step":61521,"step-forward":61521,"face-smile-beam":62904,"smile-beam":62904,"light-ceiling":57366,"message-exclamation":62629,"comment-alt-exclamation":62629,"bowl-scoop":58334,"bowl-shaved-ice":58334,"square-x":57990,"utility-pole-double":58052,"flag-checkered":61726,"chevrons-up":62245,"chevron-double-up":62245,"football":62542,"football-ball":62542,"user-vneck":58465,"school-circle-exclamation":58732,"crop":61733,"angles-down":61699,"angle-double-down":61699,"users-rectangle":58772,"people-roof":58679,"square-arrow-right":62267,"arrow-square-right":62267,"location-plus":62986,"map-marker-plus":62986,"lightbulb-exclamation-on":57802,"people-line":58676,"beer-mug-empty":61692,"beer":61692,"crate-empty":57681,"diagram-predecessor":58487,"transporter":57410,"calendar-circle-user":58481,"arrow-up-long":61814,"long-arrow-up":61814,"person-carry-box":62671,"person-carry":62671,"fire-flame-simple":62570,"burn":62570,"person":61827,"male":61827,"laptop":61705,"file-csv":63197,"menorah":63094,"union":63138,"chevrons-left":62243,"chevron-double-left":62243,"circle-heart":62663,"heart-circle":62663,"truck-plane":58767,"record-vinyl":63705,"bring-forward":63574,"square-p":57977,"face-grin-stars":62855,"grin-stars":62855,"sigma":63115,"camera-movie":63657,"bong":62812,"clarinet":63661,"truck-flatbed":58038,"spaghetti-monster-flying":63099,"pastafarianism":63099,"arrow-down-up-across-line":58543,"leaf-heart":62667,"house-building":57777,"cheese-swiss":63472,"spoon":62181,"utensil-spoon":62181,"jar-wheat":58647,"envelopes-bulk":63092,"mail-bulk":63092,"file-circle-exclamation":58603,"bow-arrow":63161,"cart-xmark":57565,"hexagon-xmark":62190,"times-hexagon":62190,"xmark-hexagon":62190,"circle-h":62590,"hospital-symbol":62590,"merge":58662,"pager":63509,"cart-minus":57563,"address-book":62137,"contact-book":62137,"pan-frying":58412,"grid":57749,"grid-3":57749,"football-helmet":62543,"hand-love":57765,"trees":63268,"strikethrough":61644,"page":58408,"k":75,"diagram-previous":58488,"gauge-min":63016,"tachometer-alt-slowest":63016,"folder-grid":57736,"eggplant":57708,"ram":63242,"landmark-flag":58652,"lips":62976,"pencil":62211,"pencil-alt":62211,"backward":61514,"caret-right":61658,"comments":61574,"paste":61674,"file-clipboard":61674,"desktop-arrow-down":57685,"code-pull-request":57660,"pumpkin":63239,"clipboard-list":62573,"pen-field":57873,"blueberries":58088,"truck-ramp-box":62686,"truck-loading":62686,"note":57855,"arrow-down-to-square":57494,"user-check":62716,"cloud-xmark":58207,"vial-virus":58775,"book-blank":62937,"book-alt":62937,"golf-flag-hole":58284,"message-arrow-down":57819,"comment-alt-arrow-down":57819,"face-unamused":58271,"sheet-plastic":58737,"circle-9":57590,"blog":63361,"user-ninja":62724,"pencil-slash":57877,"bowling-pins":62519,"person-arrow-up-from-line":58681,"down-right":57707,"scroll-torah":63136,"torah":63136,"webhook":58837,"blinds-open":63740,"fence":58115,"up":62295,"arrow-alt-up":62295,"broom-ball":62552,"quidditch":62552,"quidditch-broom-ball":62552,"drumstick":63190,"square-v":57988,"face-awesome":58377,"gave-dandy":58377,"dial-off":57698,"toggle-off":61956,"face-smile-horns":58257,"box-archive":61831,"archive":61831,"grapes":58118,"person-drowning":58693,"dial-max":57694,"circle-m":57621,"calendar-image":57556,"circle-caret-down":62253,"caret-circle-down":62253,"arrow-down-9-1":63622,"sort-numeric-desc":63622,"sort-numeric-down-alt":63622,"face-grin-tongue-squint":62858,"grin-tongue-squint":62858,"shish-kebab":63521,"spray-can":62909,"alarm-snooze":63557,"scarecrow":63245,"truck-monster":63035,"gift-card":63075,"w":87,"code-pull-request-draft":58362,"square-b":57956,"elephant":63194,"earth-africa":62844,"globe-africa":62844,"rainbow":63323,"circle-notch":61902,"tablet-screen-button":62458,"tablet-alt":62458,"paw":61872,"message-question":57827,"cloud":61634,"trowel-bricks":58762,"square-3":57944,"face-flushed":62841,"flushed":62841,"hospital-user":63501,"microwave":57371,"chf-sign":58882,"tent-arrow-left-right":58751,"cart-circle-arrow-up":58352,"trash-clock":58032,"gavel":61667,"legal":61667,"sprinkler-ceiling":58444,"browsers":57547,"trillium":58760,"music-slash":63697,"truck-ramp":62688,"binoculars":61925,"microphone-slash":61745,"box-tissue":57435,"circle-c":57601,"star-christmas":63444,"chart-bullet":57569,"motorcycle":61980,"tree-christmas":63451,"tire-flat":63026,"sunglasses":63634,"badge":62261,"message-pen":62628,"comment-alt-edit":62628,"message-edit":62628,"bell-concierge":62818,"concierge-bell":62818,"pen-ruler":62894,"pencil-ruler":62894,"arrow-progress":58847,"chess-rook-piece":62536,"chess-rook-alt":62536,"square-root":63127,"album-collection-circle-plus":58510,"people-arrows":57448,"people-arrows-left-right":57448,"face-angry-horns":58216,"mars-and-venus-burst":58659,"tombstone":63264,"square-caret-right":61778,"caret-square-right":61778,"scissors":61636,"cut":61636,"list-music":63689,"sun-plant-wilt":58746,"toilets-portable":58756,"hockey-puck":62547,"mustache":58812,"hyphen":45,"table":61646,"user-chef":58322,"message-image":57824,"comment-alt-image":57824,"users-medical":63536,"sensor-triangle-exclamation":57385,"sensor-alert":57385,"magnifying-glass-arrow-right":58657,"tachograph-digital":62822,"digital-tachograph":62822,"face-mask":58239,"pickleball":58421,"star-sharp-half":57996,"users-slash":57459,"clover":57657,"meat":63508,"reply":62437,"mail-reply":62437,"star-and-crescent":63129,"empty-set":63062,"house-fire":58636,"square-minus":61766,"minus-square":61766,"helicopter":62771,"bird":58473,"compass":61774,"square-caret-down":61776,"caret-square-down":61776,"heart-half-stroke":57772,"heart-half-alt":57772,"file-circle-question":58607,"laptop-code":62972,"joystick":63685,"grill-fire":58788,"rectangle-vertical-history":57911,"swatchbook":62915,"prescription-bottle":62597,"bars":61641,"navicon":61641,"keyboard-left":57795,"people-group":58675,"hourglass-end":62035,"hourglass-3":62035,"heart-crack":63401,"heart-broken":63401,"face-beam-hand-over-mouth":58492,"droplet-percent":63312,"humidity":63312,"square-up-right":62304,"external-link-square-alt":62304,"face-kiss-beam":62871,"kiss-beam":62871,"corn":63175,"roller-coaster":58148,"photo-film-music":57896,"radar":57380,"sickle":63522,"film":61448,"coconut":58102,"ruler-horizontal":62791,"shield-cross":63250,"cassette-tape":63659,"square-terminal":58154,"people-robbery":58678,"lightbulb":61675,"caret-left":61657,"comment-middle":57673,"trash-can-list":58027,"block":58474,"circle-exclamation":61546,"exclamation-circle":61546,"school-circle-xmark":58733,"arrow-right-from-bracket":61579,"sign-out":61579,"face-frown-slight":58230,"circle-chevron-down":61754,"chevron-circle-down":61754,"sidebar-flip":57935,"unlock-keyhole":61758,"unlock-alt":61758,"temperature-list":58009,"cloud-showers-heavy":63296,"headphones-simple":62863,"headphones-alt":62863,"sitemap":61672,"pipe-section":58424,"space-station-moon-construction":57396,"space-station-moon-alt":57396,"circle-dollar-to-slot":62649,"donate":62649,"memory":62776,"face-sleeping":58253,"road-spikes":58728,"fire-burner":58609,"squirrel":63258,"arrow-up-to-line":62273,"arrow-to-top":62273,"flag":61476,"face-cowboy-hat":58222,"hanukiah":63206,"chart-scatter-3d":57576,"display-chart-up":58851,"square-code":57959,"feather":62765,"volume-low":61479,"volume-down":61479,"xmark-to-slot":63345,"times-to-slot":63345,"vote-nay":63345,"box-taped":62618,"box-alt":62618,"comment-slash":62643,"swords":63261,"cloud-sun-rain":63299,"album":63647,"circle-n":57624,"compress":61542,"wheat-awn":58061,"wheat-alt":58061,"ankh":63044,"hands-holding-child":58618,"asterisk":42,"key-skeleton-left-right":58292,"comment-lines":62640,"luchador-mask":62549,"luchador":62549,"mask-luchador":62549,"square-check":61770,"check-square":61770,"shredder":63114,"book-open-cover":57536,"book-open-alt":57536,"sandwich":63519,"peseta-sign":57889,"square-parking-slash":62999,"parking-slash":62999,"train-tunnel":58452,"heading":61916,"header":61916,"ghost":63202,"face-anguished":58217,"hockey-sticks":62548,"abacus":63040,"film-simple":62368,"film-alt":62368,"list":61498,"list-squares":61498,"tree-palm":63531,"square-phone-flip":63611,"phone-square-alt":63611,"cart-plus":61975,"gamepad":61723,"border-center-v":63645,"circle-dot":61842,"dot-circle":61842,"clipboard-medical":57651,"face-dizzy":62823,"dizzy":62823,"egg":63483,"up-to-line":62285,"arrow-alt-to-top":62285,"house-medical-circle-xmark":58643,"watch-fitness":63038,"clock-nine-thirty":58189,"campground":63163,"folder-plus":63070,"jug":63686,"futbol":61923,"futbol-ball":61923,"soccer-ball":61923,"snow-blowing":63329,"paintbrush":61948,"paint-brush":61948,"lock":61475,"arrow-down-from-line":62277,"arrow-from-top":62277,"gas-pump":62767,"signal-bars-slash":63124,"signal-alt-slash":63124,"monkey":63227,"rectangle-pro":57909,"pro":57909,"house-night":57360,"hot-tub-person":62867,"hot-tub":62867,"blanket":62616,"map-location":62879,"map-marked":62879,"house-flood-water":58638,"comments-question-check":57679,"tree":61883,"arrows-cross":57506,"backpack":62932,"square-small":57982,"folder-arrow-up":57428,"folder-upload":57428,"bridge-lock":58572,"crosshairs-simple":58783,"sack-dollar":63517,"pen-to-square":61508,"edit":61508,"square-sliders":62448,"sliders-h-square":62448,"car-side":62948,"message-middle-top":57826,"comment-middle-top-alt":57826,"lightbulb-on":63090,"knife":62180,"utensil-knife":62180,"share-nodes":61920,"share-alt":61920,"display-chart-up-circle-dollar":58854,"wave-sine":63641,"heart-circle-minus":58623,"circle-w":57644,"circle-calendar":57602,"calendar-circle":57602,"hourglass-half":62034,"hourglass-2":62034,"microscope":62992,"sunset":63335,"sink":57453,"calendar-exclamation":62260,"truck-container-empty":58037,"hand-heart":62652,"bag-shopping":62096,"shopping-bag":62096,"arrow-down-z-a":63617,"sort-alpha-desc":63617,"sort-alpha-down-alt":63617,"mitten":63413,"reply-clock":57913,"reply-time":57913,"person-rays":58701,"right":62294,"arrow-alt-right":62294,"circle-f":57614,"users":61632,"face-pleading":58246,"eye-slash":61552,"flask-vial":58611,"police-box":57377,"cucumber":58369,"head-side-brain":63496,"hand":62038,"hand-paper":62038,"person-biking-mountain":63563,"biking-mountain":63563,"utensils-slash":58468,"print-magnifying-glass":63514,"print-search":63514,"folder-bookmark":57734,"om":63097,"pi":63102,"flask-round-potion":63201,"flask-potion":63201,"face-shush":58252,"worm":58777,"house-circle-xmark":58635,"plug":61926,"calendar-circle-exclamation":58478,"square-i":57970,"chevron-up":61559,"face-saluting":58500,"gauge-simple-low":63020,"tachometer-slow":63020,"face-persevering":58245,"circle-camera":57603,"camera-circle":57603,"hand-spock":62041,"spider-web":63257,"circle-microphone":57622,"microphone-circle":57622,"book-arrow-up":57530,"popsicle":58430,"command":57666,"blinds":63739,"stopwatch":62194,"saxophone":63708,"square-2":57943,"field-hockey-stick-ball":62540,"field-hockey":62540,"arrow-up-square-triangle":63627,"sort-shapes-up-alt":63627,"face-scream":58251,"square-m":57974,"camera-web":63538,"webcam":63538,"comment-arrow-down":57667,"lightbulb-cfl":58790,"window-frame-open":57424,"face-kiss":62870,"kiss":62870,"bridge-circle-xmark":58571,"period":46,"face-grin-tongue":62857,"grin-tongue":62857,"up-to-dotted-line":58455,"thought-bubble":58158,"skeleton-ribs":58827,"raygun":57381,"flute":63673,"acorn":63150,"video-arrow-up-right":58057,"grate-droplet":57748,"seal-exclamation":57922,"chess-bishop":62522,"message-sms":57829,"coffee-beans":57663,"hat-witch":63207,"face-grin-wink":62860,"grin-wink":62860,"clock-three-thirty":58199,"ear-deaf":62116,"deaf":62116,"deafness":62116,"hard-of-hearing":62116,"alarm-clock":62286,"eclipse":63305,"face-relieved":58249,"road-circle-check":58724,"dice-five":62755,"octagon-minus":62216,"minus-octagon":62216,"square-rss":61763,"rss-square":61763,"face-zany":58276,"tricycle":58819,"land-mine-on":58651,"square-arrow-up-left":57955,"i-cursor":62022,"chart-mixed-up-circle-dollar":58841,"salt-shaker":58438,"stamp":62911,"file-plus":62233,"draw-square":62959,"toilet-paper-under-slash":58017,"toilet-paper-reverse-slash":58017,"stairs":57993,"drone-front":63584,"drone-alt":63584,"glass-empty":57745,"dial-high":57692,"user-helmet-safety":63532,"user-construction":63532,"user-hard-hat":63532,"i":73,"hryvnia-sign":63218,"hryvnia":63218,"arrow-down-left-and-arrow-up-right-to-center":57490,"pills":62596,"face-grin-wide":62849,"grin-alt":62849,"tooth":62921,"basketball-hoop":62517,"objects-align-bottom":58299,"v":86,"sparkles":63632,"squid":58448,"leafy-green":58397,"circle-arrow-up-right":57596,"calendars":57559,"bangladeshi-taka-sign":58086,"bicycle":61958,"hammer-war":63204,"circle-d":57604,"spider-black-widow":63256,"staff-snake":58745,"rod-asclepius":58745,"rod-snake":58745,"staff-aesculapius":58745,"pear":57868,"head-side-cough-slash":57442,"triangle":62188,"apartment":58472,"truck-medical":61689,"ambulance":61689,"pepper":58418,"piano":63700,"gun-squirt":57757,"wheat-awn-circle-exclamation":58776,"snowman":63440,"user-alien":57418,"shield-check":62199,"mortar-pestle":62887,"road-barrier":58722,"chart-candlestick":57570,"briefcase-blank":57544,"school":62793,"igloo":63406,"bracket-round":40,"parenthesis":40,"joint":62869,"horse-saddle":63683,"mug-marshmallows":63415,"filters":57726,"bell-on":63738,"angle-right":61701,"dial-med":57695,"horse":63216,"q":81,"monitor-waveform":62993,"monitor-heart-rate":62993,"link-simple":57805,"whistle":62560,"g":71,"wine-glass-crack":62651,"fragile":62651,"slot-machine":58318,"notes-medical":62593,"car-wash":62950,"escalator":57713,"comment-image":57672,"temperature-half":62153,"temperature-2":62153,"thermometer-2":62153,"thermometer-half":62153,"dong-sign":57705,"donut":58374,"doughnut":58374,"capsules":62571,"poo-storm":63322,"poo-bolt":63322,"tally-1":58004,"face-frown-open":62842,"frown-open":62842,"square-dashed":57961,"square-j":57971,"hand-point-up":61606,"money-bill":61654,"arrow-up-big-small":63630,"sort-size-up":63630,"barcode-read":62564,"baguette":58328,"bowl-soft-serve":58475,"face-holding-back-tears":58498,"square-up":62291,"arrow-alt-square-up":62291,"train-subway-tunnel":58019,"subway-tunnel":58019,"square-exclamation":62241,"exclamation-square":62241,"semicolon":59,"bookmark":61486,"fan-table":57348,"align-justify":61497,"battery-low":57521,"battery-1":57521,"credit-card-front":62346,"brain-arrow-curved-right":63095,"mind-share":63095,"umbrella-beach":62922,"helmet-un":58627,"location-smile":62989,"map-marker-smile":62989,"arrow-left-to-line":62270,"arrow-to-left":62270,"bullseye":61760,"sushi":58506,"nigiri":58506,"message-captions":57822,"comment-alt-captions":57822,"trash-list":58033,"bacon":63461,"option":58136,"hand-point-down":61607,"arrow-up-from-bracket":57498,"trash-plus":58034,"objects-align-top":58304,"folder":61563,"folder-blank":61563,"face-anxious-sweat":58218,"credit-card-blank":62345,"file-waveform":62584,"file-medical-alt":62584,"microchip-ai":57836,"mug":63604,"plane-up-slash":57902,"radiation":63417,"pen-circle":57870,"bag-seedling":58866,"chart-simple":58483,"crutches":63480,"circle-parking":62997,"parking-circle":62997,"mars-stroke":61993,"leaf-oak":63223,"square-bolt":57957,"vial":62610,"gauge":63012,"dashboard":63012,"gauge-med":63012,"tachometer-alt-average":63012,"wand-magic-sparkles":58058,"magic-wand-sparkles":58058,"lambda":63086,"e":69,"pizza":63511,"bowl-chopsticks-noodles":58090,"h3":62229,"pen-clip":62213,"pen-alt":62213,"bridge-circle-exclamation":58570,"badge-percent":63046,"user":61447,"sensor":57384,"comma":44,"school-circle-check":58731,"toilet-paper-under":58016,"toilet-paper-reverse":58016,"light-emergency":58399,"arrow-down-to-arc":58542,"dumpster":63379,"van-shuttle":62902,"shuttle-van":62902,"building-user":58586,"light-switch":57367,"square-caret-left":61841,"caret-square-left":61841,"highlighter":62865,"wave-pulse":62968,"heart-rate":62968,"key":61572,"hat-santa":63399,"tamale":58449,"box-check":62567,"bullhorn":61601,"steak":63524,"location-crosshairs-slash":62979,"location-slash":62979,"person-dolly":62672,"globe":61612,"synagogue":63131,"file-chart-column":63065,"file-chart-line":63065,"person-half-dress":58696,"folder-image":57738,"calendar-pen":62259,"calendar-edit":62259,"road-bridge":58723,"face-smile-tear":58259,"message-plus":62632,"comment-alt-plus":62632,"location-arrow":61732,"c":67,"tablet-button":61706,"rectangle-history-circle-user":58532,"building-lock":58582,"chart-line-up":57573,"mailbox":63507,"truck-bolt":58320,"pizza-slice":63512,"money-bill-wave":62778,"chart-area":61950,"area-chart":61950,"house-flag":58637,"circle-three-quarters-stroke":58836,"person-circle-minus":58688,"scalpel":63005,"ban":61534,"cancel":61534,"bell-exclamation":63560,"circle-bookmark":57600,"bookmark-circle":57600,"egg-fried":63484,"face-weary":58273,"uniform-martial-arts":58321,"camera-rotate":57560,"sun-dust":63332,"comment-text":57677,"spray-can-sparkles":62928,"air-freshener":62928,"signal-bars":63120,"signal-alt":63120,"signal-alt-4":63120,"signal-bars-strong":63120,"diamond-exclamation":58373,"star":61445,"dial-min":57697,"repeat":62307,"cross":63060,"page-caret-down":58409,"file-caret-down":58409,"box":62566,"venus-mars":61992,"clock-seven-thirty":58193,"arrow-pointer":62021,"mouse-pointer":62021,"clock-four-thirty":58187,"signal-bars-good":63123,"signal-alt-3":63123,"cactus":63655,"lightbulb-gear":58877,"maximize":62238,"expand-arrows-alt":62238,"charging-station":62951,"shapes":63007,"triangle-circle-square":63007,"plane-tail":57900,"gauge-simple-max":63019,"tachometer-fastest":63019,"circle-u":57639,"shield-slash":57931,"square-phone-hangup":57978,"phone-square-down":57978,"arrow-up-left":57501,"transporter-1":57411,"peanuts":58417,"shuffle":61556,"random":61556,"person-running":63244,"running":63244,"mobile-retro":58663,"grip-lines-vertical":63397,"bin-bottles-recycle":58870,"arrow-up-from-square":57500,"file-dashed-line":63607,"page-break":63607,"bracket-curly-right":125,"spider":63255,"clock-three":58198,"hands-bound":58617,"scalpel-line-dashed":63006,"scalpel-path":63006,"file-invoice-dollar":62833,"pipe-smoking":58308,"face-astonished":58219,"window":62478,"plane-circle-exclamation":58710,"ear":62960,"file-lock":58278,"diagram-venn":57690,"x-ray":62615,"goal-net":58283,"coffin-cross":57425,"spell-check":63633,"location-xmark":62990,"map-marker-times":62990,"map-marker-xmark":62990,"circle-quarter-stroke":58835,"lasso":63688,"slash":63253,"person-to-portal":57378,"portal-enter":57378,"calendar-star":63286,"computer-mouse":63692,"mouse":63692,"arrow-right-to-bracket":61584,"sign-in":61584,"pegasus":63235,"files-medical":63485,"nfc-lock":57848,"person-ski-lift":63432,"ski-lift":63432,"square-6":57947,"shop-slash":57456,"store-alt-slash":57456,"wind-turbine":63643,"sliders-simple":57939,"grid-round":58842,"badge-sheriff":63650,"server":62003,"virus-covid-slash":58537,"intersection":63080,"shop-lock":58533,"family":58112,"hourglass-start":62033,"hourglass-1":62033,"user-hair-buns":58323,"blender-phone":63158,"hourglass-clock":58395,"person-seat-reclined":57887,"paper-plane-top":57866,"paper-plane-alt":57866,"send":57866,"message-arrow-up":57820,"comment-alt-arrow-up":57820,"lightbulb-exclamation":63089,"layer-minus":62974,"layer-group-minus":62974,"chart-pie-simple-circle-currency":58884,"circle-e":57609,"building-wheat":58587,"gauge-max":63014,"tachometer-alt-fastest":63014,"person-breastfeeding":58682,"apostrophe":39,"fire-hydrant":57727,"right-to-bracket":62198,"sign-in-alt":62198,"video-plus":62689,"square-right":62290,"arrow-alt-square-right":62290,"comment-smile":62644,"venus":61985,"passport":62891,"inbox-in":62224,"inbox-arrow-down":62224,"heart-pulse":61982,"heartbeat":61982,"circle-8":57589,"clouds-moon":63301,"clock-ten-thirty":58197,"people-carry-box":62670,"people-carry":62670,"folder-user":57742,"trash-can-xmark":58030,"temperature-high":63337,"microchip":62171,"left-long-to-line":58398,"crown":62753,"weight-hanging":62925,"xmarks-lines":58778,"file-prescription":62834,"calendar-range":57558,"flower-daffodil":63488,"hand-back-point-up":57762,"weight-scale":62614,"weight":62614,"star-exclamation":62195,"books":62939,"user-group":62720,"user-friends":62720,"arrow-up-a-z":61790,"sort-alpha-up":61790,"layer-plus":62975,"layer-group-plus":62975,"play-pause":57903,"block-question":58333,"snooze":63616,"zzz":63616,"scanner-image":63731,"tv-retro":62465,"square-t":57984,"farm":63588,"barn-silo":63588,"chess-knight":62529,"bars-sort":57518,"pallet-boxes":62595,"palette-boxes":62595,"pallet-alt":62595,"face-laugh-squint":62875,"laugh-squint":62875,"code-simple":57661,"bolt-slash":57528,"panel-fire":58415,"binary-circle-check":58172,"comment-minus":62641,"burrito":63469,"violin":63725,"objects-column":58305,"square-chevron-down":62249,"chevron-square-down":62249,"comment-plus":62642,"triangle-instrument":63714,"triangle-music":63714,"wheelchair":61843,"user-pilot-tie":58049,"piano-keyboard":63701,"bed-empty":63737,"circle-arrow-up":61610,"arrow-circle-up":61610,"toggle-on":61957,"rectangle-vertical":62203,"rectangle-portrait":62203,"person-walking":62804,"walking":62804,"l":76,"signal-stream":63709,"down-to-bracket":58599,"circle-z":57648,"stars":63330,"fire":61549,"bed-pulse":62599,"procedures":62599,"house-day":57358,"shuttle-space":61847,"space-shuttle":61847,"shirt-long-sleeve":58311,"chart-pie-simple":63054,"chart-pie-alt":63054,"face-laugh":62873,"laugh":62873,"folder-open":61564,"album-collection-circle-user":58511,"candy":58343,"bowl-hot":63523,"soup":63523,"flatbread":58379,"heart-circle-plus":58624,"code-fork":57659,"city":63055,"signal-bars-weak":63121,"signal-alt-1":63121,"microphone-lines":62409,"microphone-alt":62409,"clock-twelve":58200,"pepper-hot":63510,"citrus-slice":58101,"sheep":63249,"unlock":61596,"colon-sign":57664,"headset":62864,"badger-honey":63156,"h4":63594,"store-slash":57457,"road-circle-xmark":58726,"signal-slash":63125,"user-minus":62723,"mars-stroke-up":61994,"mars-stroke-v":61994,"champagne-glasses":63391,"glass-cheers":63391,"taco":63526,"hexagon-plus":62208,"plus-hexagon":62208,"clipboard":62248,"house-circle-exclamation":58634,"file-arrow-up":62836,"file-upload":62836,"wifi":61931,"wifi-3":61931,"wifi-strong":61931,"messages":62646,"comments-alt":62646,"bath":62157,"bathtub":62157,"umbrella-simple":58044,"umbrella-alt":58044,"rectangle-history-circle-plus":58531,"underline":61645,"prescription-bottle-pill":58816,"user-pen":62719,"user-edit":62719,"binary-slash":58174,"square-o":57976,"signature":62903,"stroopwafel":62801,"bold":61490,"anchor-lock":58541,"building-ngo":58583,"transporter-3":57413,"engine-warning":62962,"engine-exclamation":62962,"circle-down-right":57608,"square-k":57972,"manat-sign":57813,"money-check-pen":63602,"money-check-edit":63602,"not-equal":62782,"border-top-left":63571,"border-style":63571,"map-location-dot":62880,"map-marked-alt":62880,"tilde":126,"jedi":63081,"square-poll-vertical":63105,"poll":63105,"arrow-down-square-triangle":63625,"sort-shapes-down-alt":63625,"mug-hot":63414,"dog-leashed":63188,"car-battery":62943,"battery-car":62943,"face-downcast-sweat":58225,"mailbox-flag-up":58811,"memo-circle-info":58522,"gift":61547,"dice-two":62760,"volume":63144,"volume-medium":63144,"transporter-5":58022,"gauge-circle-bolt":58518,"coin-front":58364,"file-slash":58279,"message-arrow-up-right":57821,"treasure-chest":63267,"chess-queen":62533,"paintbrush-fine":62889,"paint-brush-alt":62889,"paint-brush-fine":62889,"paintbrush-alt":62889,"glasses":62768,"hood-cloak":63215,"square-quote":58153,"up-left":58045,"bring-front":63575,"chess-board":62524,"burger-cheese":63473,"cheeseburger":63473,"building-circle-check":58578,"repeat-1":62309,"arrow-down-to-line":62269,"arrow-to-bottom":62269,"grid-5":57753,"right-long-to-line":58436,"person-chalkboard":58685,"mars-stroke-right":61995,"mars-stroke-h":61995,"hand-back-fist":62037,"hand-rock":62037,"grid-round-5":58846,"tally":63132,"tally-5":63132,"square-caret-up":61777,"caret-square-up":61777,"cloud-showers-water":58596,"chart-bar":61568,"bar-chart":61568,"hands-bubbles":57438,"hands-wash":57438,"less-than-equal":62775,"train":62008,"up-from-dotted-line":58454,"eye-low-vision":62120,"low-vision":62120,"traffic-light-go":63032,"face-exhaling":58496,"sensor-fire":57386,"user-unlock":57432,"hexagon-divide":57773,"00":58471,"crow":62752,"cassette-betamax":63652,"betamax":63652,"sailboat":58437,"window-restore":62162,"nfc-magnifying-glass":57849,"file-binary":57717,"circle-v":57642,"square-plus":61694,"plus-square":61694,"bowl-scoops":58335,"mistletoe":63412,"custard":58371,"lacrosse-stick":58293,"hockey-mask":63214,"sunrise":63334,"panel-ews":58414,"torii-gate":63137,"cloud-exclamation":58513,"message-lines":62630,"comment-alt-lines":62630,"frog":62766,"bucket":58575,"floppy-disk-pen":57730,"image":61502,"window-frame":57423,"microphone":61744,"cow":63176,"file-zip":58862,"square-ring":58447,"down-from-line":62281,"arrow-alt-from-top":62281,"caret-up":61656,"shield-xmark":57932,"shield-times":57932,"screwdriver":62794,"circle-sort-down":57393,"sort-circle-down":57393,"folder-closed":57733,"house-tsunami":58645,"square-nfi":58742,"forklift":62586,"arrow-up-from-ground-water":58549,"bracket-square-right":93,"martini-glass":62843,"glass-martini-alt":62843,"rotate-left":62186,"rotate-back":62186,"rotate-backward":62186,"undo-alt":62186,"table-columns":61659,"columns":61659,"square-a":57951,"tick":58159,"lemon":61588,"head-side-mask":57443,"handshake":62133,"gem":62373,"dolly":62578,"dolly-box":62578,"smoking":62605,"minimize":63372,"compress-arrows-alt":63372,"refrigerator":57382,"monument":62886,"octagon-xmark":62192,"times-octagon":62192,"xmark-octagon":62192,"align-slash":63558,"snowplow":63442,"angles-right":61697,"angle-double-right":61697,"truck-ramp-couch":62685,"truck-couch":62685,"cannabis":62815,"circle-play":61764,"play-circle":61764,"arrow-up-right-and-arrow-down-left-from-center":57504,"tablets":62608,"360-degrees":58076,"ethernet":63382,"euro-sign":61779,"eur":61779,"euro":61779,"chair":63168,"circle-check":61528,"check-circle":61528,"square-dashed-circle-plus":58818,"money-simple-from-bracket":58131,"bat":63157,"circle-stop":62093,"stop-circle":62093,"head-side-headphones":63682,"phone-rotary":63699,"compass-drafting":62824,"drafting-compass":62824,"plate-wheat":58714,"calendar-circle-minus":58479,"chopsticks":58359,"car-wrench":62947,"car-mechanic":62947,"icicles":63405,"person-shelter":58703,"neuter":61996,"id-badge":62145,"kazoo":63687,"marker":62881,"bin-bottles":58869,"face-laugh-beam":62874,"laugh-beam":62874,"square-arrow-down-left":57953,"battery-bolt":62326,"tree-large":63453,"helicopter-symbol":58626,"aperture":58079,"universal-access":62106,"gear-complex":58857,"file-magnifying-glass":63589,"file-search":63589,"up-right":58046,"circle-chevron-up":61753,"chevron-circle-up":61753,"user-police":58163,"lari-sign":57800,"volcano":63344,"teddy-bear":58319,"stocking":63445,"person-walking-dashed-line-arrow-right":58707,"image-slash":57783,"mask-snorkel":58295,"smoke":63328,"sterling-sign":61780,"gbp":61780,"pound-sign":61780,"battery-exclamation":57520,"viruses":57462,"square-person-confined":58743,"user-tie":62728,"arrow-down-long":61813,"long-arrow-down":61813,"tent-arrow-down-to-line":58750,"certificate":61603,"crystal-ball":58210,"reply-all":61730,"mail-reply-all":61730,"suitcase":61682,"person-skating":63429,"skating":63429,"star-shooting":57398,"binary-lock":58173,"filter-circle-dollar":63074,"funnel-dollar":63074,"camera-retro":61571,"circle-arrow-down":61611,"arrow-circle-down":61611,"comment-pen":62638,"comment-edit":62638,"file-import":62831,"arrow-right-to-file":62831,"banjo":63651,"square-arrow-up-right":61772,"external-link-square":61772,"light-emergency-on":58400,"kerning":63599,"box-open":62622,"square-f":57968,"scroll":63246,"spa":62907,"arrow-left-from-line":62276,"arrow-from-right":62276,"strawberry":58155,"location-pin-lock":58655,"pause":61516,"clock-eight-thirty":58182,"plane-engines":62430,"plane-alt":62430,"hill-avalanche":58631,"temperature-empty":62155,"temperature-0":62155,"thermometer-0":62155,"thermometer-empty":62155,"bomb":61922,"gauge-low":63015,"tachometer-alt-slow":63015,"registered":62045,"trash-can-plus":58028,"address-card":62139,"contact-card":62139,"vcard":62139,"scale-unbalanced-flip":62742,"balance-scale-right":62742,"globe-snow":63395,"subscript":61740,"diamond-turn-right":62955,"directions":62955,"integral":63079,"burst":58588,"house-laptop":57446,"laptop-house":57446,"face-tired":62920,"tired":62920,"money-bills":57843,"blinds-raised":63741,"smog":63327,"ufo-beam":57416,"circle-caret-up":62257,"caret-circle-up":62257,"user-vneck-hair-long":58467,"square-a-lock":58445,"crutch":63479,"gas-pump-slash":62964,"cloud-arrow-up":61678,"cloud-upload":61678,"cloud-upload-alt":61678,"palette":62783,"transporter-4":58021,"chart-mixed-up-circle-currency":58840,"objects-align-right":58303,"arrows-turn-right":58560,"vest":57477,"pig":63238,"inbox-full":57786,"circle-envelope":57612,"envelope-circle":57612,"triangle-person-digging":63581,"construction":63581,"ferry":58602,"bullseye-arrow":63048,"arrows-down-to-people":58553,"seedling":62680,"sprout":62680,"clock-seven":58192,"left-right":62263,"arrows-alt-h":62263,"boxes-packing":58567,"circle-arrow-left":61608,"arrow-circle-left":61608,"flashlight":63672,"group-arrows-rotate":58614,"bowl-food":58566,"square-9":57950,"candy-cane":63366,"arrow-down-wide-short":61792,"sort-amount-asc":61792,"sort-amount-down":61792,"square-dollar":62185,"dollar-square":62185,"usd-square":62185,"phone-arrow-right":58814,"hand-holding-seedling":62655,"message-check":62626,"comment-alt-check":62626,"cloud-bolt":63340,"thunderstorm":63340,"chart-line-up-down":58839,"text-slash":63613,"remove-format":63613,"watch":62177,"circle-down-left":57607,"text":63635,"projector":63702,"face-smile-wink":62682,"smile-wink":62682,"tombstone-blank":63265,"tombstone-alt":63265,"chess-king-piece":62528,"chess-king-alt":62528,"circle-6":57587,"left":62293,"arrow-alt-left":62293,"file-word":61890,"file-powerpoint":61892,"square-down":62288,"arrow-alt-square-down":62288,"objects-align-center-vertical":58301,"arrows-left-right":61566,"arrows-h":61566,"house-lock":58640,"cloud-arrow-down":61677,"cloud-download":61677,"cloud-download-alt":61677,"wreath":63458,"children":58593,"meter-droplet":57834,"chalkboard":62747,"blackboard":62747,"user-large-slash":62714,"user-alt-slash":62714,"signal-strong":63119,"signal-4":63119,"lollipop":58404,"lollypop":58404,"list-tree":57810,"envelope-open":62134,"draw-circle":62957,"cat-space":57345,"handshake-simple-slash":57439,"handshake-alt-slash":57439,"rabbit-running":63241,"rabbit-fast":63241,"memo-pad":57818,"mattress-pillow":58661,"alarm-plus":63556,"alicorn":63152,"comment-question":57675,"gingerbread-man":63389,"guarani-sign":57754,"burger-fries":57549,"mug-tea":63605,"border-top":63573,"arrows-rotate":61473,"refresh":61473,"sync":61473,"circle-book-open":57599,"book-circle":57599,"arrows-to-dotted-line":57510,"fire-extinguisher":61748,"garage-open":57355,"shelves-empty":57926,"cruzeiro-sign":57682,"watch-apple":58059,"watch-calculator":63728,"list-dropdown":57807,"cabinet-filing":63051,"burger-soda":63576,"square-arrow-up":62268,"arrow-square-up":62268,"greater-than-equal":62770,"pallet-box":57864,"face-confounded":58220,"shield-halved":62445,"shield-alt":62445,"truck-plow":63454,"book-atlas":62808,"atlas":62808,"virus":57460,"grid-round-2":58843,"comment-middle-top":57674,"envelope-circle-check":58600,"layer-group":62973,"restroom-simple":57914,"arrows-to-dot":58558,"border-outer":63569,"hashtag-lock":58389,"clock-two-thirty":58203,"archway":62807,"heart-circle-check":58621,"house-chimney-crack":63217,"house-damage":63217,"file-zipper":61894,"file-archive":61894,"heart-half":57771,"comment-check":62636,"square":61640,"memo":57816,"martini-glass-empty":61440,"glass-martini":61440,"couch":62648,"cedi-sign":57567,"italic":61491,"glass-citrus":63593,"calendar-lines-pen":58482,"church":62749,"person-snowmobiling":63441,"snowmobile":63441,"face-hushed":58235,"comments-dollar":63059,"pickaxe":58815,"link-simple-slash":57806,"democrat":63303,"face-confused":58221,"pinball":57897,"z":90,"person-skiing":63433,"skiing":63433,"deer":63374,"input-pipe":57790,"road-lock":58727,"a":65,"bookmark-slash":57538,"temperature-arrow-down":57407,"temperature-down":57407,"mace":63224,"feather-pointed":62827,"feather-alt":62827,"sausage":63520,"trash-can-clock":58026,"p":80,"broom-wide":58833,"snowflake":62172,"stomach":63011,"newspaper":61930,"rectangle-ad":63041,"ad":63041,"guitar-electric":63678,"arrow-turn-down-right":58326,"moon-cloud":63316,"bread-slice-butter":58337,"circle-arrow-right":61609,"arrow-circle-right":61609,"user-group-crown":63141,"users-crown":63141,"circle-i":57617,"toilet-paper-check":58802,"filter-circle-xmark":57723,"locust":58656,"sort":61660,"unsorted":61660,"list-ol":61643,"list-1-2":61643,"list-numeric":61643,"chart-waterfall":57579,"sparkle":58838,"face-party":58243,"kidneys":62971,"wifi-exclamation":58063,"chart-network":63370,"person-dress-burst":58692,"dice-d4":63184,"money-check-dollar":62781,"money-check-alt":62781,"vector-square":62923,"bread-slice":63468,"language":61867,"wheat-awn-slash":58168,"face-kiss-wink-heart":62872,"kiss-wink-heart":62872,"dagger":63179,"podium":63104,"memo-circle-check":57817,"route-highway":63002,"down-to-line":62282,"arrow-alt-to-bottom":62282,"filter":61616,"square-g":57969,"circle-phone":57627,"phone-circle":57627,"clipboard-prescription":62952,"user-nurse-hair":58461,"question":63,"file-signature":62835,"toggle-large-on":58801,"up-down-left-right":61618,"arrows-alt":61618,"dryer-heat":63586,"dryer-alt":63586,"house-chimney-user":57445,"hand-holding-heart":62654,"arrow-up-small-big":63631,"sort-size-up-alt":63631,"train-track":58451,"puzzle-piece":61742,"money-check":62780,"star-half-stroke":62912,"star-half-alt":62912,"file-exclamation":62234,"code":61729,"whiskey-glass":63392,"glass-whiskey":63392,"moon-stars":63317,"building-circle-exclamation":58579,"clothes-hanger":57654,"mobile-notch":57838,"mobile-iphone":57838,"magnifying-glass-chart":58658,"arrow-up-right-from-square":61582,"external-link":61582,"cubes-stacked":58598,"images-user":57785,"won-sign":61785,"krw":61785,"won":61785,"image-polaroid-user":57782,"virus-covid":58536,"square-ellipsis":57966,"pie":63237,"chess-knight-piece":62530,"chess-knight-alt":62530,"austral-sign":57513,"cloud-plus":58206,"f":70,"leaf":61548,"bed-bunk":63736,"road":61464,"taxi":61882,"cab":61882,"person-circle-plus":58689,"chart-pie":61952,"pie-chart":61952,"bolt-lightning":57527,"clock-eight":58181,"sack-xmark":58730,"file-excel":61891,"file-contract":62828,"fish-fins":58610,"circle-q":57630,"building-flag":58581,"face-grin-beam":62850,"grin-beam":62850,"object-ungroup":62024,"face-disguise":58224,"circle-arrow-down-right":57594,"alien-8bit":63734,"alien-monster":63734,"hand-point-ribbon":57766,"poop":63001,"object-exclude":58524,"telescope":57406,"location-pin":61505,"map-marker":61505,"square-list":58505,"kaaba":63083,"toilet-paper":63262,"helmet-safety":63495,"hard-hat":63495,"hat-hard":63495,"comment-code":57671,"sim-cards":57937,"starship":57401,"eject":61522,"circle-right":62298,"arrow-alt-circle-right":62298,"plane-circle-check":58709,"seal":57921,"user-cowboy":63722,"hexagon-vertical-nft":58629,"face-rolling-eyes":62885,"meh-rolling-eyes":62885,"bread-loaf":63467,"rings-wedding":63515,"object-group":62023,"french-fries":63491,"chart-line":61953,"line-chart":61953,"calendar-arrow-down":57552,"calendar-download":57552,"send-back":63614,"mask-ventilator":58660,"signature-lock":58314,"arrow-right":61537,"signs-post":62071,"map-signs":62071,"octagon-plus":62209,"plus-octagon":62209,"cash-register":63368,"person-circle-question":58690,"melon-slice":58129,"space-station-moon":57395,"message-smile":62634,"comment-alt-smile":62634,"cup-straw":58211,"left-from-line":62280,"arrow-alt-from-right":62280,"h":72,"basket-shopping-simple":57519,"shopping-basket-alt":57519,"hands-holding-heart":62659,"hands-heart":62659,"clock-nine":58188,"tarp":58747,"face-sleepy":58254,"hand-horns":57769,"screwdriver-wrench":63449,"tools":63449,"arrows-to-eye":58559,"circle-three-quarters":57637,"trophy-star":62187,"trophy-alt":62187,"plug-circle-bolt":58715,"face-thermometer":58266,"grid-round-4":58845,"shirt-running":58312,"book-circle-arrow-up":57533,"face-nauseated":58241,"heart":61444,"file-chart-pie":63066,"mars-and-venus":61988,"house-user":57776,"home-user":57776,"circle-arrow-down-left":57593,"dumpster-fire":63380,"hexagon-minus":62215,"minus-hexagon":62215,"left-to-line":62283,"arrow-alt-to-left":62283,"house-crack":58289,"paw-simple":63233,"paw-alt":63233,"arrow-left-long-to-line":58324,"brackets-round":57541,"parentheses":57541,"martini-glass-citrus":62817,"cocktail":62817,"user-shakespeare":58050,"arrow-right-to-arc":58546,"face-surprise":62914,"surprise":62914,"bottle-water":58565,"circle-pause":62091,"pause-circle":62091,"gauge-circle-plus":58520,"folders":63072,"angel":63353,"value-absolute":63142,"rabbit":63240,"toilet-paper-slash":57458,"circle-euro":58830,"apple-whole":62929,"apple-alt":62929,"kitchen-set":58650,"diamond-half":58807,"lock-keyhole":62221,"lock-alt":62221,"r":82,"temperature-quarter":62154,"temperature-1":62154,"thermometer-1":62154,"thermometer-quarter":62154,"square-info":62223,"info-square":62223,"wifi-slash":63148,"toilet-paper-xmark":58803,"hands-holding-dollar":62661,"hands-usd":62661,"cube":61874,"arrow-down-triangle-square":63624,"sort-shapes-down":63624,"bitcoin-sign":57524,"shutters":58441,"shield-dog":58739,"solar-panel":62906,"lock-open":62401,"table-tree":58003,"house-chimney-heart":57778,"tally-3":58006,"elevator":57709,"money-bill-transfer":58664,"money-bill-trend-up":58665,"house-flood-water-circle-arrow-right":58639,"square-poll-horizontal":63106,"poll-h":63106,"circle":61713,"cart-circle-exclamation":58354,"sword":63260,"backward-fast":61513,"fast-backward":61513,"recycle":61880,"user-astronaut":62715,"interrobang":58810,"plane-slash":57449,"circle-dashed":57605,"trademark":62044,"basketball":62516,"basketball-ball":62516,"fork-knife":62182,"utensils-alt":62182,"satellite-dish":63424,"badge-check":62262,"circle-up":62299,"arrow-alt-circle-up":62299,"slider":57938,"mobile-screen-button":62413,"mobile-alt":62413,"clock-one-thirty":58191,"inbox-out":62225,"inbox-arrow-up":62225,"cloud-slash":57655,"volume-high":61480,"volume-up":61480,"users-rays":58771,"wallet":62805,"octagon-check":58406,"flatbread-stuffed":58380,"clipboard-check":62572,"cart-circle-plus":58355,"truck-clock":62604,"shipping-timed":62604,"pool-8-ball":58309,"file-audio":61895,"turn-down-left":58161,"lock-hashtag":58403,"chart-radar":57575,"staff":63259,"burger":63493,"hamburger":63493,"utility-pole":58051,"transporter-6":58023,"wrench":61613,"bugs":58576,"vector-polygon":58055,"diagram-nested":57687,"rupee-sign":61782,"rupee":61782,"file-image":61893,"circle-question":61529,"question-circle":61529,"image-user":57784,"buoy":58805,"plane-departure":62896,"handshake-slash":57440,"book-bookmark":57531,"border-center-h":63644,"can-food":58342,"typewriter":63719,"arrow-right-from-arc":58545,"circle-k":57619,"face-hand-over-mouth":58232,"popcorn":63513,"house-water":63311,"house-flood":63311,"object-subtract":58526,"code-branch":61734,"warehouse-full":62613,"warehouse-alt":62613,"hat-cowboy":63680,"bridge":58568,"phone-flip":63609,"phone-alt":63609,"arrow-down-from-dotted-line":57488,"file-doc":58861,"square-quarters":58446,"truck-front":58039,"cat":63166,"trash-xmark":58036,"circle-caret-left":62254,"caret-circle-left":62254,"files":57720,"anchor-circle-exclamation":58539,"face-clouds":58493,"user-crown":63140,"truck-field":58765,"route":62679,"cart-circle-check":58353,"clipboard-question":58595,"panorama":57865,"comment-medical":63477,"teeth-open":63023,"user-tie-hair-long":58464,"file-circle-minus":58605,"head-side-medical":63497,"tags":61484,"wine-glass":62691,"forward-fast":61520,"fast-forward":61520,"face-meh-blank":62884,"meh-blank":62884,"user-robot":57419,"square-parking":62784,"parking":62784,"card-diamond":58346,"face-zipper":58277,"face-raised-eyebrow":58248,"house-signal":57362,"square-chevron-up":62252,"chevron-square-up":62252,"bars-progress":63528,"tasks-alt":63528,"faucet-drip":57350,"arrows-to-line":57511,"dolphin":57704,"arrow-up-right":57503,"circle-r":57632,"cart-flatbed":62580,"dolly-flatbed":62580,"ban-smoking":62797,"smoking-ban":62797,"circle-sort-up":57394,"sort-circle-up":57394,"terminal":61728,"mobile-button":61707,"house-medical-flag":58644,"basket-shopping":62097,"shopping-basket":62097,"tape":62683,"chestnut":58358,"bus-simple":62814,"bus-alt":62814,"eye":61550,"face-sad-cry":62899,"sad-cry":62899,"heat":57356,"ticket-airline":58010,"boot-heeled":58175,"arrows-minimize":57509,"compress-arrows":57509,"audio-description":62110,"person-military-to-person":58700,"file-shield":58608,"hexagon":62226,"manhole":57814,"user-slash":62726,"pen":62212,"tower-observation":58758,"floppy-disks":57731,"toilet-paper-blank-under":58015,"toilet-paper-reverse-alt":58015,"file-code":61897,"signal":61458,"signal-5":61458,"signal-perfect":61458,"pump":58434,"bus":61959,"heart-circle-xmark":58625,"arrow-up-left-from-circle":57502,"house-chimney":58287,"home-lg":58287,"window-maximize":62160,"dryer":63585,"face-frown":61721,"frown":61721,"chess-bishop-piece":62523,"chess-bishop-alt":62523,"shirt-tank-top":58313,"diploma":62954,"scroll-ribbon":62954,"screencast":57918,"walker":63537,"prescription":62897,"shop":62799,"store-alt":62799,"floppy-disk":61639,"save":61639,"vihara":63143,"face-kiss-closed-eyes":58237,"scale-unbalanced":62741,"balance-scale-left":62741,"file-user":63068,"user-police-tie":58164,"face-tongue-money":58269,"tennis-ball":62558,"square-l":57973,"sort-up":61662,"sort-asc":61662,"calendar-arrow-up":57553,"calendar-upload":57553,"comment-dots":62637,"commenting":62637,"plant-wilt":58794,"scarf":63425,"album-circle-plus":58508,"user-nurse-hair-long":58462,"diamond":61977,"square-left":62289,"arrow-alt-square-left":62289,"face-grin-squint":62853,"grin-squint":62853,"circle-ellipsis-vertical":57611,"hand-holding-dollar":62656,"hand-holding-usd":62656,"grid-dividers":58285,"bacterium":57434,"hand-pointer":62042,"drum-steelpan":62826,"hand-scissors":62039,"hands-praying":63108,"praying-hands":63108,"face-pensive":58244,"user-music":63723,"arrow-rotate-right":61470,"arrow-right-rotate":61470,"arrow-rotate-forward":61470,"redo":61470,"messages-dollar":63058,"comments-alt-dollar":63058,"sensor-on":57387,"balloon":58083,"biohazard":63360,"chess-queen-piece":62534,"chess-queen-alt":62534,"location-crosshairs":62977,"location":62977,"mars-double":61991,"house-person-leave":57359,"house-leave":57359,"house-person-depart":57359,"ruler-triangle":63004,"card-club":58345,"child-dress":58780,"users-between-lines":58769,"lungs-virus":57447,"spinner-third":62452,"face-grin-tears":62856,"grin-tears":62856,"phone":61589,"computer-mouse-scrollwheel":63693,"mouse-alt":63693,"calendar-xmark":62067,"calendar-times":62067,"child-reaching":58781,"table-layout":58000,"narwhal":63230,"ramp-loading":62676,"calendar-circle-plus":58480,"toothbrush":63029,"border-inner":63566,"paw-claws":63234,"kiwi-fruit":58124,"traffic-light-slow":63033,"rectangle-code":58146,"head-side-virus":57444,"keyboard-brightness":57792,"books-medical":63464,"lightbulb-slash":63091,"house-blank":58503,"home-blank":58503,"square-5":57946,"square-heart":62664,"heart-square":62664,"puzzle":58435,"user-gear":62718,"user-cog":62718,"pipe-circle-check":58422,"arrow-up-1-9":61795,"sort-numeric-up":61795,"octagon-exclamation":57860,"dial-low":57693,"door-closed":62762,"laptop-mobile":63610,"phone-laptop":63610,"conveyor-belt-boxes":62575,"conveyor-belt-alt":62575,"shield-virus":57452,"starfighter-twin-ion-engine-advanced":57998,"starfighter-alt-advanced":57998,"dice-six":62758,"starfighter-twin-ion-engine":57400,"starfighter-alt":57400,"rocket-launch":57383,"mosquito-net":58668,"vent-damper":58469,"bridge-water":58574,"ban-bug":63481,"debug":63481,"person-booth":63318,"text-width":61493,"garage-car":57354,"square-kanban":58504,"hat-wizard":63208,"pen-fancy":62892,"coffee-pot":57346,"mouse-field":58792,"person-digging":63582,"digging":63582,"shower-down":57933,"shower-alt":57933,"box-circle-check":57540,"brightness":57545,"car-side-bolt":58180,"ornament":63416,"phone-arrow-down-left":57891,"phone-arrow-down":57891,"phone-incoming":57891,"cloud-word":57656,"hand-fingers-crossed":57763,"trash":61944,"gauge-simple":63017,"gauge-simple-med":63017,"tachometer-average":63017,"arrow-down-small-big":63629,"sort-size-down-alt":63629,"book-medical":63462,"face-melting":58499,"poo":62206,"pen-clip-slash":57871,"pen-alt-slash":57871,"quote-right":61710,"quote-right-alt":61710,"scroll-old":63247,"guitars":63679,"phone-xmark":57895,"hose":58393,"clock-six":58194,"shirt":62803,"t-shirt":62803,"tshirt":62803,"billboard":58829,"square-r":57980,"cubes":61875,"envelope-open-dollar":63063,"divide":62761,"sun-cloud":63331,"lamp-floor":57365,"square-7":57948,"tenge-sign":63447,"tenge":63447,"headphones":61477,"hands-holding":62658,"campfire":63162,"circle-ampersand":57592,"snowflakes":63439,"hands-clapping":57768,"republican":63326,"leaf-maple":63222,"arrow-left":61536,"person-circle-xmark":58691,"ruler":62789,"cup-straw-swoosh":58212,"temperature-sun":63338,"temperature-hot":63338,"align-left":61494,"dice-d6":63185,"restroom":63421,"high-definition":57774,"rectangle-hd":57774,"j":74,"galaxy":57352,"users-viewfinder":58773,"file-video":61896,"cherries":57580,"up-right-from-square":62301,"external-link-alt":62301,"circle-sort":57392,"sort-circle":57392,"table-cells":61450,"th":61450,"file-pdf":61889,"siren":57389,"arrow-up-to-dotted-line":57505,"image-landscape":57781,"landscape":57781,"tank-water":58450,"curling-stone":62538,"curling":62538,"gamepad-modern":58786,"gamepad-alt":58786,"messages-question":57831,"book-bible":63047,"bible":63047,"o":79,"suitcase-medical":61690,"medkit":61690,"briefcase-arrow-right":58098,"expand-wide":62240,"clock-eleven-thirty":58184,"rv":63422,"user-secret":61979,"otter":63232,"dreidel":63378,"person-dress":61826,"female":61826,"comment-dollar":63057,"business-time":63050,"briefcase-clock":63050,"flower-tulip":63489,"people-pants-simple":57882,"cloud-drizzle":63288,"table-cells-large":61449,"th-large":61449,"book-tanakh":63527,"tanakh":63527,"solar-system":57391,"seal-question":57923,"phone-volume":62112,"volume-control-phone":62112,"disc-drive":63669,"hat-cowboy-side":63681,"table-rows":58002,"rows":58002,"location-exclamation":62984,"map-marker-exclamation":62984,"face-fearful":58229,"clipboard-user":63475,"bus-school":62941,"film-slash":57721,"square-arrow-down-right":57954,"book-sparkles":63160,"book-spells":63160,"washing-machine":63640,"washer":63640,"child":61870,"lira-sign":61845,"user-visor":57420,"file-plus-minus":57719,"chess-clock-flip":62526,"chess-clock-alt":62526,"satellite":63423,"plane-lock":58712,"steering-wheel":63010,"tag":61483,"stretcher":63525,"book-section":57537,"book-law":57537,"inboxes":57787,"coffee-bean":57662,"circle-yen":58832,"brackets-curly":63466,"ellipsis-stroke-vertical":62364,"ellipsis-v-alt":62364,"comment":61557,"square-1":57942,"cake-candles":61949,"birthday-cake":61949,"cake":61949,"head-side":63209,"envelope":61664,"dolly-empty":62579,"face-tissue":58268,"angles-up":61698,"angle-double-up":61698,"bin-recycle":58871,"paperclip":61638,"chart-line-down":63053,"arrow-right-to-city":58547,"lock-a":58402,"ribbon":62678,"lungs":62980,"person-pinball":57885,"arrow-up-9-1":63623,"sort-numeric-up-alt":63623,"apple-core":57487,"circle-y":57647,"h6":58387,"litecoin-sign":57811,"circle-small":57634,"border-none":63568,"arrow-turn-down-left":58081,"circle-nodes":58594,"parachute-box":62669,"message-medical":63476,"comment-alt-medical":63476,"rugby-ball":58310,"comment-music":63664,"indent":61500,"tree-deciduous":62464,"tree-alt":62464,"puzzle-piece-simple":57905,"puzzle-piece-alt":57905,"truck-field-un":58766,"nfc-trash":57853,"hourglass":62036,"hourglass-empty":62036,"mountain":63228,"file-xmark":62231,"file-times":62231,"house-heart":62665,"home-heart":62665,"house-chimney-blank":58288,"meter-bolt":57833,"user-doctor":61680,"user-md":61680,"slash-back":92,"circle-info":61530,"info-circle":61530,"fishing-rod":58280,"hammer-crash":58388,"message-heart":58825,"cloud-meatball":63291,"camera-polaroid":63658,"camera":61488,"camera-alt":61488,"square-virus":58744,"cart-arrow-up":58350,"meteor":63315,"car-on":58589,"sleigh":63436,"arrow-down-1-9":61794,"sort-numeric-asc":61794,"sort-numeric-down":61794,"buoy-mooring":58806,"square-4":57945,"hand-holding-droplet":62657,"hand-holding-water":62657,"tricycle-adult":58820,"waveform":63729,"water":63347,"star-sharp-half-stroke":57997,"star-sharp-half-alt":57997,"nfc-signal":57851,"plane-prop":57899,"calendar-check":62068,"clock-desk":57652,"calendar-clock":57554,"calendar-time":57554,"braille":62113,"prescription-bottle-medical":62598,"prescription-bottle-alt":62598,"plate-utensils":58427,"family-pants":58114,"hose-reel":58394,"house-window":58291,"landmark":63087,"truck":61649,"crosshairs":61531,"cloud-rainbow":63294,"person-cane":58684,"alien":63733,"tent":58749,"laptop-binary":58855,"vest-patches":57478,"people-dress-simple":57880,"check-double":62816,"arrow-down-a-z":61789,"sort-alpha-asc":61789,"sort-alpha-down":61789,"bowling-ball-pin":57539,"bell-school-slash":62934,"plus-large":58782,"money-bill-wheat":58666,"camera-viewfinder":57562,"screenshot":57562,"message-music":63663,"comment-alt-music":63663,"car-building":63577,"border-bottom-right":63572,"border-style-alt":63572,"octagon":62214,"comment-arrow-up-right":57669,"octagon-divide":57859,"cookie":62819,"arrow-rotate-left":61666,"arrow-left-rotate":61666,"arrow-rotate-back":61666,"arrow-rotate-backward":61666,"undo":61666,"tv-music":63718,"hard-drive":61600,"hdd":61600,"reel":57912,"face-grin-squint-tears":62854,"grin-squint-tears":62854,"dumbbell":62539,"rectangle-list":61474,"list-alt":61474,"tarp-droplet":58748,"alarm-exclamation":63555,"house-medical-circle-check":58641,"traffic-cone":63030,"grate":57747,"arrow-down-right":57491,"person-skiing-nordic":63434,"skiing-nordic":63434,"calendar-plus":62065,"person-from-portal":57379,"portal-exit":57379,"plane-arrival":62895,"cowbell-circle-plus":63668,"cowbell-more":63668,"circle-left":62297,"arrow-alt-circle-left":62297,"distribute-spacing-vertical":58214,"signal-bars-fair":63122,"signal-alt-2":63122,"sportsball":58443,"game-console-handheld-crank":58809,"train-subway":62009,"subway":62009,"chart-gantt":57572,"face-smile-upside-down":58261,"ball-pile":63358,"badge-dollar":63045,"money-bills-simple":57844,"money-bills-alt":57844,"list-timeline":57809,"indian-rupee-sign":57788,"indian-rupee":57788,"inr":57788,"crop-simple":62821,"crop-alt":62821,"money-bill-1":62417,"money-bill-alt":62417,"left-long":62218,"long-arrow-alt-left":62218,"keyboard-down":57794,"circle-up-right":57641,"cloud-bolt-moon":63341,"thunderstorm-moon":63341,"dna":62577,"virus-slash":57461,"bracket-round-right":41,"circle-sterling":58831,"circle-5":57586,"minus":61544,"subtract":61544,"fire-flame":63199,"flame":63199,"right-to-line":62284,"arrow-alt-to-right":62284,"gif":57744,"chess":62521,"trash-slash":58035,"arrow-left-long":61815,"long-arrow-left":61815,"plug-circle-check":58716,"font-case":63590,"street-view":61981,"arrow-down-left":57489,"franc-sign":57743,"flask-round-poison":63200,"flask-poison":63200,"volume-off":61478,"book-circle-arrow-right":57532,"chart-user":63139,"user-chart":63139,"hands-asl-interpreting":62115,"american-sign-language-interpreting":62115,"asl-interpreting":62115,"hands-american-sign-language-interpreting":62115,"presentation-screen":63109,"presentation":63109,"circle-bolt":57598,"face-smile-halo":58255,"cart-circle-arrow-down":58351,"house-person-return":57361,"house-person-arrive":57361,"house-return":57361,"message-xmark":62635,"comment-alt-times":62635,"message-times":62635,"file-certificate":62963,"file-award":62963,"user-doctor-hair-long":58457,"camera-security":63742,"camera-home":63742,"gear":61459,"cog":61459,"droplet-slash":62919,"tint-slash":62919,"book-heart":62617,"mosque":63096,"duck":63192,"mosquito":58667,"star-of-david":63130,"flag-swallowtail":63308,"flag-alt":63308,"person-military-rifle":58699,"car-garage":62946,"cart-shopping":61562,"shopping-cart":61562,"book-font":57535,"shield-plus":57930,"vials":62611,"eye-dropper-full":57714,"distribute-spacing-horizontal":58213,"tablet-rugged":62607,"temperature-snow":63336,"temperature-frigid":63336,"moped":58297,"face-smile-plus":62905,"smile-plus":62905,"radio-tuner":63704,"radio-alt":63704,"face-swear":58265,"water-arrow-down":63348,"water-lower":63348,"scanner-touchscreen":62602,"circle-7":57588,"plug-circle-plus":58719,"person-ski-jumping":63431,"ski-jump":63431,"place-of-worship":63103,"water-arrow-up":63349,"water-rise":63349,"waveform-lines":63730,"waveform-path":63730,"split":57940,"film-canister":63671,"film-cannister":63671,"folder-xmark":63071,"folder-times":63071,"toilet-paper-blank":63263,"toilet-paper-alt":63263,"tablet-screen":62460,"tablet-android-alt":62460,"hexagon-vertical-nft-slanted":58630,"folder-music":57741,"display-medical":57702,"desktop-medical":57702,"share-all":62311,"peapod":58140,"chess-clock":62525,"axe":63154,"square-d":57960,"grip-vertical":62862,"mobile-signal-out":57840,"arrow-turn-up":61768,"level-up":61768,"u":85,"arrow-up-from-dotted-line":57499,"square-root-variable":63128,"square-root-alt":63128,"light-switch-on":57369,"arrow-down-arrow-up":63619,"sort-alt":63619,"raindrops":63324,"dash":58372,"minus-large":58372,"clock":61463,"clock-four":61463,"input-numeric":57789,"truck-tow":58040,"backward-step":61512,"step-backward":61512,"pallet":62594,"car-bolt":58177,"arrows-maximize":62237,"expand-arrows":62237,"faucet":57349,"cloud-sleet":63297,"lamp-street":57797,"list-radio":57808,"pen-nib-slash":58529,"baseball-bat-ball":62514,"square-up-left":57986,"overline":63606,"s":83,"timeline":58012,"keyboard":61724,"arrows-from-dotted-line":57507,"usb-drive":63721,"ballot":63282,"caret-down":61655,"location-dot-slash":62981,"map-marker-alt-slash":62981,"cards":58349,"house-chimney-medical":63474,"clinic-medical":63474,"boxing-glove":62520,"glove-boxing":62520,"temperature-three-quarters":62152,"temperature-3":62152,"thermometer-3":62152,"thermometer-three-quarters":62152,"bell-school":62933,"mobile-screen":62415,"mobile-android-alt":62415,"plane-up":57901,"folder-heart":57737,"circle-location-arrow":62978,"location-circle":62978,"face-head-bandage":58234,"sushi-roll":58507,"maki-roll":58507,"makizushi":58507,"car-bump":62944,"piggy-bank":62675,"racquet":62554,"car-mirrors":58179,"industry-windows":62387,"industry-alt":62387,"bolt-auto":57526,"battery-half":62018,"battery-3":62018,"flux-capacitor":63674,"mountain-city":58670,"coins":62750,"honey-pot":58392,"olive":58134,"khanda":63085,"filter-list":57724,"outlet":57372,"sliders":61918,"sliders-h":61918,"cauldron":63167,"people":57878,"folder-tree":63490,"network-wired":63231,"croissant":63478,"map-pin":62070,"hamsa":63077,"cent-sign":58357,"swords-laser":57405,"flask":61635,"person-pregnant":58142,"square-u":57985,"wand-sparkles":63275,"router":63706,"ellipsis-vertical":61762,"ellipsis-v":61762,"sword-laser-alt":57404,"ticket":61765,"power-off":61457,"coin":63580,"laptop-slash":57799,"right-long":62219,"long-arrow-alt-right":62219,"circle-b":57597,"person-dress-simple":57884,"pipe-collar":58423,"lights-holiday":63410,"citrus":58100,"flag-usa":63309,"laptop-file":58653,"tty":61924,"teletype":61924,"chart-tree-map":57578,"diagram-next":58486,"person-rifle":58702,"clock-five-thirty":58186,"pipe-valve":58425,"arrow-up-from-arc":58548,"face-spiral-eyes":58501,"compress-wide":62246,"circle-phone-hangup":57629,"phone-circle-down":57629,"gear-complex-code":58859,"house-medical-circle-exclamation":58642,"badminton":58170,"closed-captioning":61962,"person-hiking":63212,"hiking":63212,"right-from-line":62279,"arrow-alt-from-left":62279,"venus-double":61990,"images":62210,"calculator":61932,"shuttlecock":62555,"user-hair":58458,"eye-evil":63195,"people-pulling":58677,"n":78,"garage":57353,"cable-car":63450,"tram":63450,"shovel-snow":63427,"cloud-rain":63293,"face-lying":58238,"sprinkler":57397,"building-circle-xmark":58580,"person-sledding":63435,"sledding":63435,"game-console-handheld":63675,"ship":61978,"clock-six-thirty":58195,"battery-slash":62327,"tugrik-sign":58042,"arrows-down-to-line":58552,"download":61465,"shelves":62592,"inventory":62592,"cloud-snow":63298,"face-grin":62848,"grin":62848,"delete-left":62810,"backspace":62810,"oven":57373,"cloud-binary":58881,"eye-dropper":61947,"eye-dropper-empty":61947,"eyedropper":61947,"comment-captions":57670,"comments-question":57678,"scribble":57919,"rotate-exclamation":57916,"file-circle-check":58784,"glass":63492,"loader":57812,"forward":61518,"user-pilot":58048,"mobile":62414,"mobile-android":62414,"mobile-phone":62414,"code-pull-request-closed":58361,"face-meh":61722,"meh":61722,"align-center":61495,"book-skull":63159,"book-dead":63159,"id-card":62146,"drivers-license":62146,"face-dotted":58495,"face-worried":58275,"outdent":61499,"dedent":61499,"heart-circle-exclamation":58622,"house":61461,"home":61461,"home-alt":61461,"home-lg-alt":61461,"vector-circle":58054,"car-circle-bolt":58178,"calendar-week":63364,"flying-disc":58281,"laptop-medical":63506,"square-down-right":57964,"b":66,"seat-airline":57924,"moon-over-sun":63306,"eclipse-alt":63306,"pipe":124,"file-medical":62583,"potato":58432,"dice-one":62757,"circle-a":57591,"helmet-battle":63211,"butter":58340,"blanket-fire":58330,"kiwi-bird":62773,"castle":57566,"golf-club":62545,"arrow-right-arrow-left":61676,"exchange":61676,"rotate-right":62201,"redo-alt":62201,"rotate-forward":62201,"utensils":62183,"cutlery":62183,"arrow-up-wide-short":61793,"sort-amount-up":61793,"chart-pie-simple-circle-dollar":58885,"balloons":58084,"mill-sign":57837,"bowl-rice":58091,"timeline-arrow":58013,"skull":62796,"game-board-simple":63592,"game-board-alt":63592,"circle-video":57643,"video-circle":57643,"chart-scatter-bubble":57577,"house-turret":57780,"banana":58085,"hand-holding-skull":57764,"people-dress":57879,"loveseat":62668,"couch-small":62668,"tower-broadcast":62745,"broadcast-tower":62745,"truck-pickup":63036,"block-quote":57525,"up-long":62220,"long-arrow-alt-up":62220,"stop":61517,"code-merge":62343,"money-check-dollar-pen":63603,"money-check-edit-alt":63603,"up-from-line":62278,"arrow-alt-from-bottom":62278,"upload":61587,"hurricane":63313,"grid-round-2-plus":58844,"people-pants":57881,"mound":58669,"windsock":63351,"circle-half":57616,"brake-warning":57543,"toilet-portable":58755,"compact-disc":62751,"file-arrow-down":62829,"file-download":62829,"saxophone-fire":63707,"sax-hot":63707,"camera-web-slash":63539,"webcam-slash":63539,"folder-medical":57740,"folder-gear":57735,"folder-cog":57735,"hand-wave":57767,"arrow-up-arrow-down":57497,"sort-up-down":57497,"caravan":63743,"shield-cat":58738,"message-slash":62633,"comment-alt-slash":62633,"bolt":61671,"zap":61671,"trash-can-check":58025,"glass-water":58612,"oil-well":58674,"person-simple":57888,"vault":58053,"mars":61986,"toilet":63448,"plane-circle-xmark":58711,"yen-sign":61783,"cny":61783,"jpy":61783,"rmb":61783,"yen":61783,"gear-code":58856,"notes":57858,"ruble-sign":61784,"rouble":61784,"rub":61784,"ruble":61784,"trash-undo":63637,"trash-arrow-turn-left":63637,"champagne-glass":63390,"glass-champagne":63390,"objects-align-center-horizontal":58300,"sun":61829,"trash-can-slash":58029,"trash-alt-slash":58029,"screen-users":63037,"users-class":63037,"guitar":63398,"square-arrow-left":62266,"arrow-square-left":62266,"square-8":57949,"face-smile-hearts":58256,"brackets-square":63465,"brackets":63465,"laptop-arrow-down":57798,"hockey-stick-puck":58286,"house-tree":57779,"signal-fair":63117,"signal-2":63117,"face-laugh-wink":62876,"laugh-wink":62876,"circle-dollar":62184,"dollar-circle":62184,"usd-circle":62184,"horse-head":63403,"arrows-repeat":62308,"repeat-alt":62308,"bore-hole":58563,"industry":62069,"image-polaroid":63684,"wave-triangle":63642,"person-running-fast":58879,"circle-down":62296,"arrow-alt-circle-down":62296,"grill":58787,"arrows-turn-to-dots":58561,"chart-mixed":63043,"analytics":63043,"florin-sign":57732,"arrow-down-short-wide":63620,"sort-amount-desc":63620,"sort-amount-down-alt":63620,"less-than":60,"display-code":57701,"desktop-code":57701,"face-drooling":58226,"oil-temperature":62996,"oil-temp":62996,"square-question":62205,"question-square":62205,"air-conditioner":63732,"angle-down":61703,"mountains":63229,"omega":63098,"car-tunnel":58590,"person-dolly-empty":62673,"pan-food":58411,"head-side-cough":57441,"grip-lines":63396,"thumbs-down":61797,"user-lock":62722,"arrow-right-long":61816,"long-arrow-right":61816,"tickets-airline":58011,"anchor-circle-xmark":58540,"ellipsis":61761,"ellipsis-h":61761,"nfc-slash":57852,"chess-pawn":62531,"kit-medical":62585,"first-aid":62585,"grid-2-plus":57751,"bells":63359,"person-through-window":58793,"toolbox":62802,"envelope-dot":57711,"envelope-badge":57711,"hands-holding-circle":58619,"bug":61832,"bowl-chopsticks":58089,"credit-card":61597,"credit-card-alt":61597,"circle-s":57633,"box-ballot":63285,"car":61881,"automobile":61881,"hand-holding-hand":58615,"user-tie-hair":58463,"podium-star":63320,"user-hair-mullet":58460,"business-front":58460,"party-back":58460,"trian-balbot":58460,"microphone-stand":63691,"book-open-reader":62938,"book-reader":62938,"family-dress":58113,"circle-x":57646,"cabin":58477,"mountain-sun":58671,"chart-simple-horizontal":58484,"arrows-left-right-to-line":58554,"hand-back-point-left":57759,"message-dots":62627,"comment-alt-dots":62627,"messaging":62627,"file-heart":57718,"beer-mug":57523,"beer-foam":57523,"dice-d20":63183,"drone":63583,"truck-droplet":58764,"file-circle-xmark":58785,"temperature-arrow-up":57408,"temperature-up":57408,"medal":62882,"bed":62006,"book-copy":57534,"square-h":61693,"h-square":61693,"square-c":57958,"clock-two":58202,"square-ellipsis-vertical":57967,"calendar-users":58850,"podcast":62158,"bee":57522,"temperature-full":62151,"temperature-4":62151,"thermometer-4":62151,"thermometer-full":62151,"bell":61683,"candy-bar":58344,"chocolate-bar":58344,"xmark-large":58779,"pinata":58307,"arrows-from-line":57508,"superscript":61739,"bowl-spoon":58336,"hexagon-check":58390,"plug-circle-xmark":58720,"star-of-life":63009,"phone-slash":62429,"traffic-light-stop":63034,"paint-roller":62890,"accent-grave":96,"handshake-angle":62660,"hands-helping":62660,"circle-0":57581,"dial-med-low":57696,"location-dot":62405,"map-marker-alt":62405,"crab":58367,"box-open-full":62620,"box-full":62620,"file":61787,"greater-than":62,"quotes":57908,"pretzel":58433,"person-swimming":62916,"swimmer":62916,"arrow-down":61539,"user-robot-xmarks":58535,"message-quote":57828,"comment-alt-quote":57828,"candy-corn":63165,"folder-magnifying-glass":57739,"folder-search":57739,"notebook":57857,"droplet":61507,"tint":61507,"bullseye-pointer":63049,"eraser":61741,"hexagon-image":58628,"earth-americas":62845,"earth":62845,"earth-america":62845,"globe-americas":62845,"crate-apple":63153,"apple-crate":63153,"person-burst":58683,"game-board":63591,"hat-chef":63595,"hand-back-point-right":57761,"dove":62650,"snowflake-droplets":58817,"battery-empty":62020,"battery-0":62020,"grid-4":57752,"socks":63126,"face-sunglasses":58264,"inbox":61468,"square-0":57941,"section":58439,"square-this-way-up":62623,"box-up":62623,"gauge-high":63013,"tachometer-alt":63013,"tachometer-alt-fast":63013,"square-ampersand":57952,"envelope-open-text":63064,"lamp-desk":57364,"hospital":61688,"hospital-alt":61688,"hospital-wide":61688,"poll-people":63321,"whiskey-glass-ice":63393,"glass-whiskey-rocks":63393,"wine-bottle":63279,"chess-rook":62535,"user-bounty-hunter":58047,"bars-staggered":62800,"reorder":62800,"stream":62800,"diagram-sankey":57688,"cloud-hail-mixed":63290,"circle-up-left":57640,"dharmachakra":63061,"objects-align-left":58302,"oil-can-drip":57861,"face-smiling-hands":58262,"broccoli":58338,"route-interstate":63003,"ear-muffs":63381,"hotdog":63503,"transporter-empty":57414,"person-walking-with-cane":62109,"blind":62109,"angle-90":57485,"rectangle-terminal":57910,"kite":63220,"drum":62825,"scrubber":62200,"ice-cream":63504,"heart-circle-bolt":58620,"fish-bones":58116,"deer-rudolph":63375,"fax":61868,"paragraph":61917,"head-side-heart":57770,"square-e":57965,"meter-fire":57835,"cloud-hail":63289,"check-to-slot":63346,"vote-yea":63346,"money-from-bracket":58130,"star-half":61577,"car-bus":63578,"speaker":63711,"timer":58014,"boxes-stacked":62568,"boxes":62568,"boxes-alt":62568,"grill-hot":58789,"ballot-check":63283,"link":61633,"chain":61633,"ear-listen":62114,"assistive-listening-systems":62114,"file-minus":62232,"tree-city":58759,"play":61515,"font":61489,"cup-togo":63173,"coffee-togo":63173,"square-down-left":57963,"burger-lettuce":58339,"rupiah-sign":57917,"magnifying-glass":61442,"search":61442,"table-tennis-paddle-ball":62557,"ping-pong-paddle-ball":62557,"table-tennis":62557,"person-dots-from-line":62576,"diagnoses":62576,"chevrons-down":62242,"chevron-double-down":62242,"trash-can-arrow-up":63530,"trash-restore-alt":63530,"signal-good":63118,"signal-3":63118,"location-question":62987,"map-marker-question":62987,"floppy-disk-circle-xmark":57729,"floppy-disk-times":57729,"save-circle-xmark":57729,"save-times":57729,"naira-sign":57846,"peach":57867,"taxi-bus":58008,"bracket-curly":123,"bracket-curly-left":123,"lobster":58401,"cart-flatbed-empty":62582,"dolly-flatbed-empty":62582,"colon":58,"cart-arrow-down":61976,"wand":63274,"walkie-talkie":63727,"file-pen":62236,"file-edit":62236,"receipt":62787,"table-picnic":58157,"square-pen":61771,"pen-square":61771,"pencil-square":61771,"circle-microphone-lines":57623,"microphone-circle-alt":57623,"display-slash":58106,"desktop-slash":58106,"suitcase-rolling":62913,"person-circle-exclamation":58687,"transporter-2":57412,"hands-holding-diamond":62588,"hand-receiving":62588,"money-bill-simple-wave":57842,"chevron-down":61560,"battery-full":62016,"battery":62016,"battery-5":62016,"bell-plus":63561,"book-arrow-right":57529,"hospitals":63502,"club":62247,"skull-crossbones":63252,"droplet-degree":63304,"dewpoint":63304,"code-compare":57658,"list-ul":61642,"list-dots":61642,"hand-holding-magic":63205,"watermelon-slice":58167,"circle-ellipsis":57610,"school-lock":58735,"tower-cell":58757,"sd-cards":57920,"jug-bottle":58875,"down-long":62217,"long-arrow-alt-down":62217,"envelopes":57712,"phone-office":63101,"ranking-star":58721,"chess-king":62527,"nfc-pen":57850,"person-harassing":58697,"hat-winter":63400,"brazilian-real-sign":58476,"landmark-dome":63314,"landmark-alt":63314,"bone-break":62936,"arrow-up":61538,"down-from-dotted-line":58375,"tv":62060,"television":62060,"tv-alt":62060,"border-left":63567,"circle-divide":57606,"shrimp":58440,"list-check":61614,"tasks":61614,"diagram-subtask":58489,"jug-detergent":58649,"circle-user":62141,"user-circle":62141,"square-y":57991,"user-doctor-hair":58456,"planet-ringed":57376,"mushroom":58405,"user-shield":62725,"megaphone":63093,"wreath-laurel":58834,"circle-exclamation-check":57613,"wind":63278,"box-dollar":62624,"box-usd":62624,"car-burst":62945,"car-crash":62945,"y":89,"user-headset":63533,"arrows-retweet":62305,"retweet-alt":62305,"person-snowboarding":63438,"snowboarding":63438,"square-chevron-right":62251,"chevron-square-right":62251,"lacrosse-stick-ball":58294,"truck-fast":62603,"shipping-fast":62603,"user-magnifying-glass":58821,"star-sharp":57995,"comment-heart":58824,"circle-1":57582,"circle-star":57635,"star-circle":57635,"fish":62840,"cloud-fog":63310,"fog":63310,"waffle":58470,"music-note":63695,"music-alt":63695,"hexagon-exclamation":58391,"cart-shopping-fast":57564,"object-union":58527,"user-graduate":62721,"starfighter":57399,"circle-half-stroke":61506,"adjust":61506,"arrow-right-long-to-line":58325,"square-arrow-down":62265,"arrow-square-down":62265,"diamond-half-stroke":58808,"clapperboard":57649,"square-chevron-left":62250,"chevron-square-left":62250,"phone-intercom":58420,"link-horizontal":57803,"chain-horizontal":57803,"mango":58127,"music-note-slash":63696,"music-alt-slash":63696,"circle-radiation":63418,"radiation-alt":63418,"face-tongue-sweat":58270,"globe-stand":62966,"baseball":62515,"baseball-ball":62515,"circle-p":57626,"award-simple":57515,"jet-fighter-up":58648,"diagram-project":62786,"project-diagram":62786,"pedestal":57869,"chart-pyramid":57574,"sidebar":57934,"snowman-head":63387,"frosty-head":63387,"copy":61637,"burger-glass":57550,"volume-xmark":63145,"volume-mute":63145,"volume-times":63145,"hand-sparkles":57437,"bars-filter":57517,"paintbrush-pencil":57862,"party-bell":58138,"user-vneck-hair":58466,"jack-o-lantern":62222,"grip":62861,"grip-horizontal":62861,"share-from-square":61773,"share-square":61773,"keynote":63084,"child-combatant":58592,"child-rifle":58592,"gun":57755,"square-phone":61592,"phone-square":61592,"hat-beach":58886,"plus":43,"add":43,"expand":61541,"computer":58597,"fort":58502,"cloud-check":58204,"xmark":61453,"close":61453,"multiply":61453,"remove":61453,"times":61453,"face-smirking":58263,"arrows-up-down-left-right":61511,"arrows":61511,"chalkboard-user":62748,"chalkboard-teacher":62748,"rhombus":57915,"claw-marks":63170,"peso-sign":57890,"face-smile-tongue":58260,"cart-circle-xmark":58356,"building-shield":58584,"circle-phone-flip":57628,"phone-circle-alt":57628,"baby":63356,"users-line":58770,"quote-left":61709,"quote-left-alt":61709,"tractor":63266,"key-skeleton":63219,"trash-arrow-up":63529,"trash-restore":63529,"arrow-down-up-lock":58544,"arrow-down-to-bracket":57492,"lines-leaning":58654,"square-q":57979,"ruler-combined":62790,"symbols":63598,"icons-alt":63598,"copyright":61945,"flask-gear":58865,"highlighter-line":57775,"bracket-square":91,"bracket":91,"bracket-left":91,"island-tropical":63505,"island-tree-palm":63505,"arrow-right-from-line":62275,"arrow-from-left":62275,"h2":62228,"equals":61,"cake-slice":58341,"shortcake":58341,"peanut":58416,"wrench-simple":58065,"blender":62743,"teeth":63022,"tally-2":58005,"shekel-sign":61963,"ils":61963,"shekel":61963,"sheqel":61963,"sheqel-sign":61963,"cars":63579,"axe-battle":63155,"user-hair-long":58459,"map":62073,"file-circle-info":58515,"face-disappointed":58223,"lasso-sparkles":57801,"clock-eleven":58183,"rocket":61749,"siren-on":57390,"clock-ten":58196,"candle-holder":63164,"video-arrow-down-left":58056,"photo-film":63612,"photo-video":63612,"floppy-disk-circle-arrow-right":57728,"save-circle-arrow-right":57728,"folder-minus":63069,"planet-moon":57375,"face-eyes-xmarks":58228,"chart-scatter":63470,"display-arrow-down":57700,"store":62798,"arrow-trend-up":57496,"plug-circle-minus":58718,"olive-branch":58135,"angle":57484,"vacuum-robot":57422,"sign-hanging":62681,"sign":62681,"square-divide":57962,"signal-stream-slash":57936,"bezier-curve":62811,"eye-dropper-half":57715,"store-lock":58534,"bell-slash":61942,"cloud-bolt-sun":63342,"thunderstorm-sun":63342,"camera-slash":57561,"comment-quote":57676,"tablet":62459,"tablet-android":62459,"school-flag":58734,"message-code":57823,"glass-half":57746,"glass-half-empty":57746,"glass-half-full":57746,"fill":62837,"message-minus":62631,"comment-alt-minus":62631,"angle-up":61702,"dinosaur":58878,"drumstick-bite":63191,"link-horizontal-slash":57804,"chain-horizontal-slash":57804,"holly-berry":63402,"nose":58813,"chevron-left":61523,"bacteria":57433,"clouds":63300,"money-bill-simple":57841,"hand-lizard":62040,"table-pivot":58001,"filter-slash":57725,"trash-can-undo":63638,"trash-can-arrow-turn-left":63638,"trash-undo-alt":63638,"notdef":57854,"disease":63482,"person-to-door":58419,"turntable":63716,"briefcase-medical":62569,"genderless":61997,"chevron-right":61524,"signal-weak":63116,"signal-1":63116,"clock-five":58185,"retweet":61561,"car-rear":62942,"car-alt":62942,"pump-soap":57451,"computer-classic":63665,"frame":58517,"video-slash":62690,"battery-quarter":62019,"battery-2":62019,"ellipsis-stroke":62363,"ellipsis-h-alt":62363,"radio":63703,"baby-carriage":63357,"carriage-baby":63357,"face-expressionless":58227,"down-to-dotted-line":58376,"cloud-music":63662,"traffic-light":63031,"cloud-minus":58205,"thermometer":62609,"shield-minus":57929,"vr-cardboard":63273,"car-tilt":62949,"gauge-circle-minus":58519,"brightness-low":57546,"hand-middle-finger":63494,"percent":37,"percentage":37,"truck-moving":62687,"glass-water-droplet":58613,"conveyor-belt":62574,"location-check":62982,"map-marker-check":62982,"coin-vertical":58365,"display":57699,"person-sign":63319,"face-smile":61720,"smile":61720,"phone-hangup":57893,"signature-slash":58315,"thumbtack":61581,"thumb-tack":61581,"wheat-slash":58169,"trophy":61585,"clouds-sun":63302,"person-praying":63107,"pray":63107,"hammer":63203,"face-vomit":58272,"speakers":63712,"tty-answer":58041,"teletype-answer":58041,"mug-tea-saucer":57845,"diagram-lean-canvas":57686,"alt":57482,"dial":57691,"dial-med-high":57691,"hand-peace":62043,"circle-trash":57638,"trash-circle":57638,"rotate":62193,"sync-alt":62193,"circle-quarters":58360,"spinner":61712,"tower-control":58018,"arrow-up-triangle-square":63626,"sort-shapes-up":63626,"whale":63276,"robot":62788,"peace":63100,"party-horn":58139,"gears":61573,"cogs":61573,"sun-bright":57999,"sun-alt":57999,"warehouse":62612,"conveyor-belt-arm":58872,"lock-keyhole-open":62402,"lock-open-alt":62402,"square-fragile":62619,"box-fragile":62619,"square-wine-glass-crack":62619,"arrow-up-right-dots":58551,"square-n":57975,"splotch":62908,"face-grin-hearts":62852,"grin-hearts":62852,"meter":57832,"mandolin":63225,"dice-four":62756,"sim-card":63428,"transgender":61989,"transgender-alt":61989,"mercury":61987,"up-from-bracket":58768,"knife-kitchen":63221,"border-right":63570,"arrow-turn-down":61769,"level-down":61769,"spade":62196,"card-spade":58348,"line-columns":63600,"arrow-right-to-line":62272,"arrow-to-right":62272,"person-falling-burst":58695,"flag-pennant":62550,"pennant":62550,"conveyor-belt-empty":57680,"user-group-simple":58883,"award":62809,"ticket-simple":62463,"ticket-alt":62463,"building":61869,"angles-left":61696,"angle-double-left":61696,"camcorder":63656,"video-handheld":63656,"pancakes":58413,"album-circle-user":58509,"qrcode":61481,"dice-d10":63181,"fireplace":63386,"browser":62334,"pen-paintbrush":63000,"pencil-paintbrush":63000,"fish-cooked":63486,"chair-office":63169,"nesting-dolls":58298,"clock-rotate-left":61914,"history":61914,"trumpet":63715,"face-grin-beam-sweat":62851,"grin-beam-sweat":62851,"fire-smoke":63307,"phone-missed":57894,"file-export":62830,"arrow-right-from-file":62830,"shield":61746,"shield-blank":61746,"arrow-up-short-wide":63621,"sort-amount-up-alt":63621,"arrows-repeat-1":62310,"repeat-1-alt":62310,"gun-slash":57756,"avocado":57514,"binary":58171,"glasses-round":62965,"glasses-alt":62965,"phone-plus":62674,"ditto":34,"person-seat":57886,"house-medical":58290,"golf-ball-tee":62544,"golf-ball":62544,"circle-chevron-left":61751,"chevron-circle-left":61751,"house-chimney-window":57357,"scythe":63248,"pen-nib":62893,"ban-parking":62998,"parking-circle-slash":62998,"tent-arrow-turn-left":58752,"face-diagonal-mouth":58494,"diagram-cells":58485,"cricket-bat-ball":62537,"cricket":62537,"tents":58754,"wand-magic":61648,"magic":61648,"dog":63187,"pen-line":57874,"atom-simple":62931,"atom-alt":62931,"ampersand":38,"carrot":63367,"arrow-up-from-line":62274,"arrow-from-bottom":62274,"moon":61830,"pen-slash":57875,"wine-glass-empty":62926,"wine-glass-alt":62926,"square-star":57983,"cheese":63471,"send-backward":63615,"yin-yang":63149,"music":61441,"compass-slash":62953,"clock-one":58190,"file-music":63670,"code-commit":62342,"temperature-low":63339,"person-biking":63562,"biking":63562,"display-chart-up-circle-currency":58853,"skeleton":63008,"circle-g":57615,"circle-arrow-up-left":57595,"coin-blank":58363,"broom":62746,"vacuum":57421,"shield-heart":58740,"card-heart":58347,"lightbulb-cfl-on":58791,"melon":58128,"gopuram":63076,"earth-oceania":58491,"globe-oceania":58491,"container-storage":62647,"face-pouting":58247,"square-xmark":62163,"times-square":62163,"xmark-square":62163,"face-explode":58110,"exploding-head":58110,"hashtag":35,"up-right-and-down-left-from-center":62500,"expand-alt":62500,"oil-can":62995,"t":84,"transformer-bolt":58020,"hippo":63213,"chart-column":57571,"cassette-vhs":63724,"vhs":63724,"infinity":62772,"vial-circle-check":58774,"chimney":63371,"object-intersect":58525,"person-arrow-down-to-line":58680,"voicemail":63639,"block-brick":58331,"wall-brick":58331,"fan":63587,"bags-shopping":63559,"paragraph-left":63608,"paragraph-rtl":63608,"person-walking-luggage":58708,"caravan-simple":57344,"caravan-alt":57344,"turtle":63270,"pencil-mechanical":58826,"up-down":62264,"arrows-alt-v":62264,"cloud-moon-rain":63292,"booth-curtain":63284,"calendar":61747,"box-heart":62621,"trailer":57409,"user-doctor-message":63534,"user-md-chat":63534,"bahai":63078,"haykal":63078,"amp-guitar":63649,"sd-card":63426,"volume-slash":62178,"border-bottom":63565,"wifi-weak":63146,"wifi-1":63146,"dragon":63189,"shoe-prints":62795,"circle-plus":61525,"plus-circle":61525,"face-grin-tongue-wink":62859,"grin-tongue-wink":62859,"hand-holding":62653,"plug-circle-exclamation":58717,"link-slash":61735,"chain-broken":61735,"chain-slash":61735,"unlink":61735,"clone":62029,"person-walking-arrow-loop-left":58705,"arrow-up-z-a":63618,"sort-alpha-up-alt":63618,"fire-flame-curved":63460,"fire-alt":63460,"tornado":63343,"file-circle-plus":58516,"delete-right":57684,"book-quran":63111,"quran":63111,"circle-quarter":57631,"anchor":61757,"border-all":63564,"function":63073,"face-angry":62806,"angry":62806,"people-simple":57883,"cookie-bite":62820,"arrow-trend-down":57495,"rss":61598,"feed":61598,"face-monocle":58240,"draw-polygon":62958,"scale-balanced":62030,"balance-scale":62030,"calendar-lines":57557,"calendar-note":57557,"arrow-down-big-small":63628,"sort-size-down":63628,"gauge-simple-high":63018,"tachometer":63018,"tachometer-fast":63018,"do-not-enter":62956,"shower":62156,"dice-d8":63186,"desktop":62352,"desktop-alt":62352,"m":77,"grip-dots-vertical":58385,"face-viewfinder":58111,"soft-serve":58368,"creemee":58368,"h5":58386,"hand-back-point-down":57758,"table-list":61451,"th-list":61451,"comment-sms":63437,"sms":63437,"rectangle":62202,"rectangle-landscape":62202,"clipboard-list-check":63287,"turkey":63269,"book":61485,"user-plus":62004,"ice-skate":63404,"check":61452,"battery-three-quarters":62017,"battery-4":62017,"tomato":58160,"sword-laser":57403,"house-circle-check":58633,"buildings":57548,"angle-left":61700,"cart-flatbed-boxes":62581,"dolly-flatbed-alt":62581,"diagram-successor":58490,"truck-arrow-right":58763,"square-w":57989,"arrows-split-up-and-left":58556,"lamp":62666,"airplay":57481,"hand-fist":63198,"fist-raised":63198,"shield-quartered":58741,"slash-forward":47,"location-pen":62983,"map-marker-edit":62983,"cloud-moon":63171,"pot-food":58431,"briefcase":61617,"person-falling":58694,"image-portrait":62432,"portrait":62432,"user-tag":62727,"rug":58729,"print-slash":63110,"earth-europe":63394,"globe-europe":63394,"cart-flatbed-suitcase":62877,"luggage-cart":62877,"hand-back-point-ribbon":57760,"rectangle-xmark":62480,"rectangle-times":62480,"times-rectangle":62480,"window-close":62480,"tire-rugged":63028,"lightbulb-dollar":63088,"cowbell":63667,"baht-sign":57516,"corner":58366,"chevrons-right":62244,"chevron-double-right":62244,"book-open":62744,"book-journal-whills":63082,"journal-whills":63082,"inhaler":62969,"handcuffs":58616,"snake":63254,"triangle-exclamation":61553,"exclamation-triangle":61553,"warning":61553,"note-medical":57856,"database":61888,"down-left":57706,"share":61540,"arrow-turn-right":61540,"mail-forward":61540,"face-thinking":58267,"turn-down-right":58453,"bottle-droplet":58564,"mask-face":57815,"hill-rockslide":58632,"scanner-keyboard":62601,"circle-o":57625,"grid-horizontal":58119,"message-dollar":63056,"comment-alt-dollar":63056,"right-left":62306,"exchange-alt":62306,"columns-3":58209,"paper-plane":61912,"road-circle-exclamation":58725,"dungeon":63193,"hand-holding-box":62587,"input-text":57791,"window-flip":62479,"window-alt":62479,"align-right":61496,"scanner-gun":62600,"scanner":62600,"tire":63025,"engine":57710,"money-bill-1-wave":62779,"money-bill-wave-alt":62779,"life-ring":61901,"hands":62119,"sign-language":62119,"signing":62119,"circle-caret-right":62256,"caret-circle-right":62256,"wheat":63277,"file-spreadsheet":63067,"audio-description-slash":57512,"calendar-day":63363,"water-ladder":62917,"ladder-water":62917,"swimming-pool":62917,"arrows-up-down":61565,"arrows-v":61565,"chess-pawn-piece":62532,"chess-pawn-alt":62532,"face-grimace":62847,"grimace":62847,"wheelchair-move":58062,"wheelchair-alt":58062,"turn-down":62398,"level-down-alt":62398,"square-s":57981,"rectangle-barcode":62563,"barcode-alt":62563,"person-walking-arrow-right":58706,"square-envelope":61849,"envelope-square":61849,"dice":62754,"unicorn":63271,"bowling-ball":62518,"pompebled":58429,"brain":62940,"watch-smart":58060,"book-user":63463,"sensor-cloud":57388,"sensor-smoke":57388,"clapperboard-play":57650,"bandage":62562,"band-aid":62562,"calendar-minus":62066,"circle-xmark":61527,"times-circle":61527,"xmark-circle":61527,"circle-4":57585,"gifts":63388,"album-collection":63648,"hotel":62868,"earth-asia":62846,"globe-asia":62846,"id-card-clip":62591,"id-card-alt":62591,"magnifying-glass-plus":61454,"search-plus":61454,"thumbs-up":61796,"cloud-showers":63295,"user-clock":62717,"onion":58407,"clock-twelve-thirty":58201,"arrow-down-to-dotted-line":57493,"hand-dots":62561,"allergies":62561,"file-invoice":62832,"window-minimize":62161,"rectangle-wide":62204,"comment-arrow-up":57668,"garlic":58382,"mug-saucer":61684,"coffee":61684,"brush":62813,"tree-decorated":63452,"mask":63226,"calendar-heart":57555,"magnifying-glass-minus":61456,"search-minus":61456,"flower":63487,"right-left-large":58849,"ruler-vertical":62792,"circles-overlap":58880,"user-large":62470,"user-alt":62470,"starship-freighter":57402,"train-tram":58804,"bridge-suspension":58573,"trash-check":58031,"user-nurse":63535,"boombox":63653,"syringe":62606,"cloud-sun":63172,"shield-exclamation":57927,"stopwatch-20":57455,"square-full":62556,"grip-dots":58384,"comment-exclamation":62639,"pen-swirl":57876,"falafel":58378,"circle-2":57583,"magnet":61558,"jar":58646,"gramophone":63677,"dice-d12":63182,"note-sticky":62025,"sticky-note":62025,"down":62292,"arrow-alt-down":62292,"hundred-points":58396,"paperclip-vertical":58306,"wind-warning":63350,"wind-circle-exclamation":63350,"location-pin-slash":62988,"map-marker-slash":62988,"face-sad-sweat":58250,"bug-slash":58512,"cupcake":58370,"light-switch-off":57368,"toggle-large-off":58800,"pen-fancy-slash":57872,"truck-container":62684,"boot":63362,"arrow-up-from-water-pump":58550,"file-check":62230,"bone":62935,"cards-blank":58591,"circle-3":57584,"bench-tree":58087,"keyboard-brightness-low":57793,"ski-boot-ski":58317,"brain-circuit":57542,"user-injured":63272,"block-brick-fire":58332,"firewall":58332,"face-sad-tear":62900,"sad-tear":62900,"plane":61554,"tent-arrows-down":58753,"exclamation":33,"arrows-spin":58555,"face-smile-relaxed":58258,"comment-xmark":62645,"comment-times":62645,"print":61487,"turkish-lira-sign":58043,"try":58043,"turkish-lira":58043,"face-nose-steam":58242,"circle-waveform-lines":57645,"waveform-circle":57645,"dollar-sign":36,"dollar":36,"usd":36,"ferris-wheel":57716,"computer-speaker":63666,"skull-cow":63710,"x":88,"magnifying-glass-dollar":63112,"search-dollar":63112,"users-gear":62729,"users-cog":62729,"person-military-pointing":58698,"building-columns":61852,"bank":61852,"institution":61852,"museum":61852,"university":61852,"circle-t":57636,"sack":63516,"grid-2":57750,"camera-cctv":63660,"cctv":63660,"umbrella":61673,"trowel":58761,"horizontal-rule":63596,"bed-front":63735,"bed-alt":63735,"d":68,"stapler":58799,"masks-theater":63024,"theater-masks":63024,"kip-sign":57796,"face-woozy":58274,"cloud-question":58514,"pineapple":58143,"hand-point-left":61605,"gallery-thumbnails":58282,"circle-j":57618,"eyes":58215,"handshake-simple":62662,"handshake-alt":62662,"page-caret-up":58410,"file-caret-up":58410,"jet-fighter":61691,"fighter-jet":61691,"comet":57347,"square-share-nodes":61921,"share-alt-square":61921,"shield-keyhole":57928,"barcode":61482,"plus-minus":58428,"square-sliders-vertical":62450,"sliders-v-square":62450,"video":61501,"video-camera":61501,"message-middle":57825,"comment-middle-alt":57825,"graduation-cap":61853,"mortar-board":61853,"hand-holding-medical":57436,"person-circle-check":58686,"square-z":57992,"message-text":57830,"comment-alt-text":57830,"turn-up":62399,"level-up-alt":62399,"monero":62416,"hooli":62503,"yelp":61929,"cc-visa":61936,"lastfm":61954,"shopware":62901,"creative-commons-nc":62696,"aws":62325,"redhat":63420,"yoast":62129,"cloudflare":57469,"ups":63456,"wpexplorer":62174,"dyalog":62361,"bity":62330,"stackpath":63554,"buysellads":61965,"first-order":62128,"modx":62085,"guilded":57470,"vnv":62475,"square-js":62393,"js-square":62393,"microsoft":62410,"qq":61910,"orcid":63698,"java":62692,"invision":63408,"creative-commons-pd-alt":62701,"centercode":62336,"glide-g":62118,"drupal":61865,"hire-a-helper":62384,"creative-commons-by":62695,"unity":57417,"whmcs":62477,"rocketchat":62440,"vk":61833,"untappd":62469,"mailchimp":62878,"css3-alt":62347,"square-reddit":61858,"reddit-square":61858,"vimeo-v":62077,"contao":62061,"square-font-awesome":58797,"deskpro":62351,"sistrix":62446,"square-instagram":57429,"instagram-square":57429,"battle-net":63541,"the-red-yeti":63133,"square-hacker-news":62383,"hacker-news-square":62383,"edge":62082,"napster":62418,"square-snapchat":62125,"snapchat-square":62125,"google-plus-g":61653,"artstation":63354,"markdown":62991,"sourcetree":63443,"google-plus":62131,"diaspora":63377,"foursquare":61824,"stack-overflow":61804,"github-alt":61715,"phoenix-squadron":62737,"pagelines":61836,"algolia":62316,"red-river":62435,"creative-commons-sa":62703,"safari":62055,"google":61856,"square-font-awesome-stroke":62300,"font-awesome-alt":62300,"atlassian":63355,"linkedin-in":61665,"digital-ocean":62353,"nimblr":62888,"chromecast":63544,"evernote":63545,"hacker-news":61908,"creative-commons-sampling":62704,"adversal":62314,"creative-commons":62046,"watchman-monitoring":57479,"fonticons":62080,"weixin":61911,"shirtsinbulk":61972,"codepen":61899,"git-alt":63553,"lyft":62403,"rev":62898,"windows":61818,"wizards-of-the-coast":63280,"square-viadeo":62122,"viadeo-square":62122,"meetup":62176,"centos":63369,"adn":61808,"cloudsmith":62340,"pied-piper-alt":61864,"square-dribbble":62359,"dribbble-square":62359,"codiepie":62084,"node":62489,"mix":62411,"steam":61878,"cc-apple-pay":62486,"scribd":62090,"openid":61851,"instalod":57473,"expeditedssl":62014,"sellcast":62170,"square-twitter":61569,"twitter-square":61569,"r-project":62711,"delicious":61861,"freebsd":62372,"vuejs":62495,"accusoft":62313,"ioxhost":61960,"fonticons-fi":62370,"app-store":62319,"cc-mastercard":61937,"itunes-note":62389,"golang":58383,"kickstarter":62395,"grav":62166,"weibo":61834,"uncharted":57476,"firstdraft":62369,"square-youtube":62513,"youtube-square":62513,"wikipedia-w":62054,"wpressr":62436,"rendact":62436,"angellist":61961,"galactic-republic":62732,"nfc-directional":58672,"skype":61822,"joget":62391,"fedora":63384,"stripe-s":62506,"meta":58523,"laravel":62397,"hotjar":62385,"bluetooth-b":62100,"sticker-mule":62455,"creative-commons-zero":62707,"hips":62546,"behance":61876,"reddit":61857,"discord":62354,"chrome":62056,"app-store-ios":62320,"cc-discover":61938,"wpbeginner":62103,"confluence":63373,"mdb":63690,"dochub":62356,"accessible-icon":62312,"ebay":62708,"amazon":62064,"unsplash":57468,"yarn":63459,"square-steam":61879,"steam-square":61879,"500px":62062,"square-vimeo":61844,"vimeo-square":61844,"asymmetrik":62322,"font-awesome":62132,"font-awesome-flag":62132,"font-awesome-logo-full":62132,"gratipay":61828,"apple":61817,"hive":57471,"gitkraken":62374,"keybase":62709,"apple-pay":62485,"padlet":58528,"amazon-pay":62508,"square-github":61586,"github-square":61586,"stumbleupon":61860,"fedex":63383,"phoenix-framework":62428,"shopify":57431,"neos":62994,"hackerrank":62967,"researchgate":62712,"swift":63713,"angular":62496,"speakap":62451,"angrycreative":62318,"y-combinator":62011,"empire":61905,"envira":62105,"square-gitlab":58798,"gitlab-square":58798,"studiovinari":62456,"pied-piper":62126,"wordpress":61850,"product-hunt":62088,"firefox":62057,"linode":62136,"goodreads":62376,"square-odnoklassniki":62052,"odnoklassniki-square":62052,"jsfiddle":61900,"sith":62738,"themeisle":62130,"page4":62423,"hashnode":58521,"react":62491,"cc-paypal":61940,"squarespace":62910,"cc-stripe":61941,"creative-commons-share":62706,"bitcoin":62329,"keycdn":62394,"opera":62058,"itch-io":63546,"umbraco":63720,"galactic-senate":62733,"ubuntu":63455,"draft2digital":62358,"stripe":62505,"houzz":62076,"gg":62048,"dhl":63376,"square-pinterest":61651,"pinterest-square":61651,"xing":61800,"blackberry":62331,"creative-commons-pd":62700,"playstation":62431,"quinscape":62553,"less":62493,"blogger-b":62333,"opencart":62013,"vine":61898,"paypal":61933,"gitlab":62102,"typo3":62507,"reddit-alien":62081,"yahoo":61854,"dailymotion":57426,"affiliatetheme":62315,"pied-piper-pp":61863,"bootstrap":63542,"odnoklassniki":62051,"nfc-symbol":58673,"ethereum":62510,"speaker-deck":63548,"creative-commons-nc-eu":62697,"patreon":62425,"avianex":62324,"ello":62961,"gofore":62375,"bimobject":62328,"facebook-f":62366,"square-google-plus":61652,"google-plus-square":61652,"mandalorian":62735,"first-order-alt":62730,"osi":62490,"google-wallet":61934,"d-and-d-beyond":63178,"periscope":62426,"fulcrum":62731,"cloudscale":62339,"forumbee":61969,"mizuni":62412,"schlix":62442,"square-xing":61801,"xing-square":61801,"bandcamp":62165,"wpforms":62104,"cloudversify":62341,"usps":63457,"megaport":62883,"magento":62404,"spotify":61884,"optin-monster":62012,"fly":62487,"aviato":62497,"itunes":62388,"cuttlefish":62348,"blogger":62332,"flickr":61806,"viber":62473,"soundcloud":61886,"digg":61862,"tencent-weibo":61909,"symfony":63549,"maxcdn":61750,"etsy":62167,"facebook-messenger":62367,"audible":62323,"think-peaks":63281,"bilibili":58329,"erlang":62365,"cotton-bureau":63646,"dashcube":61968,"42-group":57472,"innosoft":57472,"stack-exchange":61837,"elementor":62512,"square-pied-piper":57374,"pied-piper-square":57374,"creative-commons-nd":62699,"palfed":62424,"superpowers":62173,"resolving":62439,"xbox":62482,"searchengin":62443,"tiktok":57467,"square-facebook":61570,"facebook-square":61570,"renren":61835,"linux":61820,"glide":62117,"linkedin":61580,"hubspot":62386,"deploydog":62350,"twitch":61928,"ravelry":62169,"mixer":57430,"square-lastfm":61955,"lastfm-square":61955,"vimeo":62474,"mendeley":63411,"uniregistry":62468,"figma":63385,"creative-commons-remix":62702,"cc-amazon-pay":62509,"dropbox":61803,"instagram":61805,"cmplid":58208,"facebook":61594,"gripfire":62380,"jedi-order":62734,"uikit":62467,"fort-awesome-alt":62371,"phabricator":62427,"ussunnah":62471,"earlybirds":62362,"trade-federation":62739,"autoprefixer":62492,"whatsapp":62002,"slideshare":61927,"google-play":62379,"viadeo":62121,"line":62400,"google-drive":62378,"servicestack":62444,"simplybuilt":61973,"bitbucket":61809,"imdb":62168,"deezer":57463,"raspberry-pi":63419,"jira":63409,"docker":62357,"screenpal":58736,"bluetooth":62099,"gitter":62502,"d-and-d":62349,"microblog":57370,"cc-diners-club":62028,"gg-circle":62049,"pied-piper-hat":62693,"kickstarter-k":62396,"yandex":62483,"readme":62677,"html5":61755,"sellsy":61971,"sass":62494,"wirsindhandwerk":58064,"wsh":58064,"buromobelexperte":62335,"salesforce":63547,"octopus-deploy":57474,"medapps":62406,"ns8":62421,"pinterest-p":62001,"apper":62321,"fort-awesome":62086,"waze":63551,"cc-jcb":62027,"snapchat":62123,"snapchat-ghost":62123,"fantasy-flight-games":63196,"rust":57466,"wix":62927,"square-behance":61877,"behance-square":61877,"supple":62457,"rebel":61904,"css3":61756,"staylinked":62453,"kaggle":62970,"space-awesome":58796,"deviantart":61885,"cpanel":62344,"goodreads-g":62377,"square-git":61906,"git-square":61906,"square-tumblr":61812,"tumblr-square":61812,"trello":61825,"creative-commons-nc-jp":62698,"get-pocket":62053,"perbyte":57475,"grunt":62381,"weebly":62924,"connectdevelop":61966,"leanpub":61970,"black-tie":62078,"themeco":62918,"python":62434,"android":61819,"bots":58176,"free-code-camp":62149,"hornbill":62866,"js":62392,"ideal":57363,"git":61907,"dev":63180,"sketch":63430,"yandex-international":62484,"cc-amex":61939,"uber":62466,"github":61595,"php":62551,"alipay":63042,"youtube":61799,"skyatlas":61974,"firefox-browser":57351,"replyd":62438,"suse":63446,"jenkins":62390,"twitter":61593,"rockrms":62441,"pinterest":61650,"buffer":63543,"npm":62420,"yammer":63552,"btc":61786,"dribbble":61821,"stumbleupon-circle":61859,"internet-explorer":62059,"stubber":58823,"telegram":62150,"telegram-plane":62150,"old-republic":62736,"odysee":58822,"square-whatsapp":62476,"whatsapp-square":62476,"node-js":62419,"edge-legacy":57464,"slack":61848,"slack-hash":61848,"medrt":62408,"usb":62087,"tumblr":61811,"vaadin":62472,"quora":62148,"reacteurope":63325,"medium":62010,"medium-m":62010,"amilia":62317,"mixcloud":62089,"flipboard":62541,"viacoin":62007,"critical-role":63177,"sitrox":58442,"discourse":62355,"joomla":61866,"mastodon":62710,"airbnb":63540,"wolf-pack-battalion":62740,"buy-n-large":63654,"gulp":62382,"creative-commons-sampling-plus":62705,"strava":62504,"ember":62499,"canadian-maple-leaf":63365,"teamspeak":62713,"pushed":62433,"wordpress-simple":62481,"nutritionix":62422,"wodu":57480,"google-pay":57465,"intercom":63407,"zhihu":63039,"korvue":62511,"pix":58426,"steam-symbol":62454}'),l=JSON.parse('{"0":["100","ad","add","adjust","air-freshener","alien-monster","allergies","ambulance","american-sign-language-interpreting","analytics","angle-double-down","angle-double-left","angle-double-right","angle-double-up","angry","apple-alt","apple-crate","archive","area-chart","arrow-alt-circle-down","arrow-alt-circle-left","arrow-alt-circle-right","arrow-alt-circle-up","arrow-alt-down","arrow-alt-from-bottom","arrow-alt-from-left","arrow-alt-from-right","arrow-alt-from-top","arrow-alt-left","arrow-alt-right","arrow-alt-square-down","arrow-alt-square-left","arrow-alt-square-right","arrow-alt-square-up","arrow-alt-to-bottom","arrow-alt-to-left","arrow-alt-to-right","arrow-alt-to-top","arrow-alt-up","arrow-circle-down","arrow-circle-left","arrow-circle-right","arrow-circle-up","arrow-from-bottom","arrow-from-left","arrow-from-right","arrow-from-top","arrow-left-rotate","arrow-right-from-file","arrow-right-rotate","arrow-right-to-file","arrow-rotate-back","arrow-rotate-backward","arrow-rotate-forward","arrow-square-down","arrow-square-left","arrow-square-right","arrow-square-up","arrow-to-bottom","arrow-to-left","arrow-to-right","arrow-to-top","arrow-turn-right","arrows","arrows-alt","arrows-alt-h","arrows-alt-v","arrows-h","arrows-v","asl-interpreting","assistive-listening-systems","atlas","atom-alt","automobile","backspace","balance-scale","balance-scale-left","balance-scale-right","band-aid","bank","bar-chart","barcode-alt","barn-silo","baseball-ball","basketball-ball","bathtub","battery","battery-0","battery-1","battery-2","battery-3","battery-4","battery-5","battery-car","bed-alt","beer","beer-foam","behance-square","betamax","bible","biking","biking-mountain","birthday-cake","blackboard","blind","book-alt","book-circle","book-dead","book-law","book-open-alt","book-reader","book-spells","bookmark-circle","border-style","border-style-alt","bowl-salad","bowl-shaved-ice","box-alt","box-fragile","box-full","box-up","box-usd","boxes","boxes-alt","bracket","bracket-curly-left","bracket-left","brackets","briefcase-clock","broadcast-tower","burn","bus-alt","business-front","cab","cake","calculator-alt","calendar-alt","calendar-circle","calendar-download","calendar-edit","calendar-note","calendar-time","calendar-times","calendar-upload","camera-alt","camera-circle","camera-home","cancel","car-alt","car-crash","car-mechanic","caravan-alt","caret-circle-down","caret-circle-left","caret-circle-right","caret-circle-up","caret-square-down","caret-square-left","caret-square-right","caret-square-up","carriage-baby","cctv","chain","chain-broken","chain-horizontal","chain-horizontal-slash","chain-slash","chalkboard-teacher","chart-pie-alt","check-circle","check-square","cheeseburger","chess-bishop-alt","chess-clock-alt","chess-king-alt","chess-knight-alt","chess-pawn-alt","chess-queen-alt","chess-rook-alt","chevron-circle-down","chevron-circle-left","chevron-circle-right","chevron-circle-up","chevron-double-down","chevron-double-left","chevron-double-right","chevron-double-up","chevron-square-down","chevron-square-left","chevron-square-right","chevron-square-up","child-rifle","chocolate-bar","clinic-medical","clock-four","close","cloud-download","cloud-download-alt","cloud-upload","cloud-upload-alt","cny","cocktail","coffee","coffee-togo","cog","cogs","columns","comment-alt","comment-alt-arrow-down","comment-alt-arrow-up","comment-alt-captions","comment-alt-check","comment-alt-dollar","comment-alt-dots","comment-alt-edit","comment-alt-exclamation","comment-alt-image","comment-alt-lines","comment-alt-medical","comment-alt-minus","comment-alt-music","comment-alt-plus","comment-alt-quote","comment-alt-slash","comment-alt-smile","comment-alt-text","comment-alt-times","comment-edit","comment-middle-alt","comment-middle-top-alt","comment-times","commenting","comments-alt","comments-alt-dollar","compress-alt","compress-arrows","compress-arrows-alt","concierge-bell","construction","contact-book","contact-card","conveyor-belt-alt","couch-small","cowbell-more","credit-card-alt","creemee","cricket","crop-alt","curling","cut","cutlery","dashboard","deaf","deafness","debug","dedent","desktop-alt","desktop-code","desktop-medical","desktop-slash","dewpoint","diagnoses","dial-med-high","digging","digital-tachograph","directions","dizzy","dollar","dollar-circle","dollar-square","dolly-box","dolly-flatbed","dolly-flatbed-alt","dolly-flatbed-empty","donate","dot-circle","doughnut","drafting-compass","dribbble-square","drivers-license","drone-alt","dryer-alt","earth","earth-america","eclipse-alt","edit","ellipsis-h","ellipsis-h-alt","ellipsis-v","ellipsis-v-alt","engine-exclamation","envelope-badge","envelope-circle","envelope-square","eur","euro","exchange","exchange-alt","exclamation-circle","exclamation-square","exclamation-triangle","expand-alt","expand-arrows","expand-arrows-alt","exploding-head","external-link","external-link-alt","external-link-square","external-link-square-alt","eye-dropper-empty","eyedropper","facebook-square","fast-backward","fast-forward","feather-alt","feed","female","field-hockey","fighter-jet","file-alt","file-archive","file-award","file-caret-down","file-caret-up","file-chart-line","file-clipboard","file-download","file-edit","file-medical-alt","file-search","file-text","file-times","file-upload","film-alt","film-cannister","fire-alt","firewall","first-aid","fist-raised","flag-alt","flame","flask-poison","flask-potion","floppy-disk-times","flushed","fog","folder-blank","folder-cog","folder-download","folder-search","folder-times","folder-upload","font-awesome-alt","font-awesome-flag","font-awesome-logo-full","football-ball","fragile","frosty-head","frown","frown-open","funnel-dollar","futbol-ball","game-board-alt","gamepad-alt","gauge-med","gauge-simple-med","gave-dandy","gbp","git-square","github-square","gitlab-square","glass-champagne","glass-cheers","glass-half-empty","glass-half-full","glass-martini","glass-martini-alt","glass-whiskey","glass-whiskey-rocks","glasses-alt","globe-africa","globe-americas","globe-asia","globe-europe","globe-oceania","glove-boxing","golf-ball","google-plus-square","grid-3","grimace","grin","grin-alt","grin-beam","grin-beam-sweat","grin-hearts","grin-squint","grin-squint-tears","grin-stars","grin-tears","grin-tongue","grin-tongue-squint","grin-tongue-wink","grin-wink","grip-horizontal","h-square","hacker-news-square","hamburger","hand-holding-usd","hand-holding-water","hand-paper","hand-receiving","hand-rock","hands-american-sign-language-interpreting","hands-heart","hands-helping","hands-usd","hands-wash","handshake-alt","handshake-alt-slash","hard-hat","hard-of-hearing","hat-hard","haykal","hdd","head-vr","header","headphones-alt","heart-broken","heart-circle","heart-half-alt","heart-music-camera-bolt","heart-rate","heart-square","heartbeat","hiking","history","home","home-alt","home-blank","home-heart","home-lg","home-lg-alt","home-user","hospital-alt","hospital-symbol","hospital-wide","hot-tub","hourglass-1","hourglass-2","hourglass-3","hourglass-empty","house-damage","house-flood","house-leave","house-person-arrive","house-person-depart","house-return","hryvnia","humidity","icons-alt","id-card-alt","ils","inbox-arrow-down","inbox-arrow-up","indian-rupee","industry-alt","info-circle","info-square","innosoft","inr","instagram-square","institution","inventory","island-tree-palm","journal-whills","jpy","js-square","kiss","kiss-beam","kiss-wink-heart","krw","ladder-water","landmark-alt","landscape","laptop-house","lastfm-square","laugh","laugh-beam","laugh-squint","laugh-wink","layer-group-minus","layer-group-plus","legal","level-down","level-down-alt","level-up","level-up-alt","line-chart","list-1-2","list-alt","list-dots","list-numeric","list-squares","location","location-circle","location-slash","lock-alt","lock-open-alt","lollypop","long-arrow-alt-down","long-arrow-alt-left","long-arrow-alt-right","long-arrow-alt-up","long-arrow-down","long-arrow-left","long-arrow-right","long-arrow-up","low-vision","luchador","luggage-cart","magic","magic-wand-sparkles","mail-bulk","mail-forward","mail-reply","mail-reply-all","maki-roll","makizushi","male","map-marked","map-marked-alt","map-marker","map-marker-alt","map-marker-alt-slash","map-marker-check","map-marker-edit","map-marker-exclamation","map-marker-minus","map-marker-plus","map-marker-question","map-marker-slash","map-marker-smile","map-marker-times","map-marker-xmark","map-signs","mars-stroke-h","mars-stroke-v","mask-luchador","medium-m","medkit","meh","meh-blank","meh-rolling-eyes","message-edit","message-times","messaging","microphone-alt","microphone-alt-slash","microphone-circle","microphone-circle-alt","mind-share","minus-circle","minus-hexagon","minus-large","minus-octagon","minus-square","mobile-alt","mobile-android","mobile-android-alt","mobile-iphone","mobile-phone","money-bill-alt","money-bill-wave-alt","money-bills-alt","money-check-alt","money-check-edit","money-check-edit-alt","monitor-heart-rate","mortar-board","mouse","mouse-alt","mouse-pointer","multiply","museum","music-alt","music-alt-slash","navicon","nigiri","odnoklassniki-square","oil-temp","page-break","paint-brush","paint-brush-alt","paint-brush-fine","paintbrush-alt","palette-boxes","pallet-alt","paper-plane-alt","paragraph-rtl","parentheses","parenthesis","parking","parking-circle","parking-circle-slash","parking-slash","party-back","pastafarianism","pause-circle","paw-alt","pen-alt","pen-alt-slash","pen-square","pencil-alt","pencil-paintbrush","pencil-ruler","pencil-square","pennant","people-arrows-left-right","people-carry","percentage","person-carry","phone-alt","phone-arrow-down","phone-arrow-up","phone-circle","phone-circle-alt","phone-circle-down","phone-incoming","phone-laptop","phone-outgoing","phone-square","phone-square-alt","phone-square-down","photo-video","pie-chart","pied-piper-square","ping-pong-paddle-ball","pinterest-square","plane-alt","play-circle","plus-circle","plus-hexagon","plus-octagon","plus-square","poll","poll-h","poo-bolt","portal-enter","portal-exit","portrait","pound-sign","pray","praying-hands","prescription-bottle-alt","presentation","print-search","pro","procedures","project-diagram","puzzle-piece-alt","question-circle","question-square","quidditch","quidditch-broom-ball","quote-left-alt","quote-right-alt","quran","rabbit-fast","radiation-alt","radio-alt","random","rectangle-hd","rectangle-landscape","rectangle-portrait","rectangle-sd","rectangle-times","reddit-square","redo","redo-alt","refresh","remove","remove-format","rendact","reorder","repeat-1-alt","repeat-alt","reply-time","retweet-alt","rmb","rod-asclepius","rod-snake","rotate-back","rotate-backward","rotate-forward","rouble","rows","rss-square","rub","ruble","running","rupee","sad-cry","sad-tear","save","save-circle-arrow-right","save-circle-xmark","save-times","sax-hot","scalpel-path","scanner","screenshot","scroll-ribbon","search","search-dollar","search-location","search-minus","search-plus","send","sensor-alert","sensor-smoke","share-alt","share-alt-square","share-square","shekel","sheqel","sheqel-sign","shield-alt","shield-blank","shield-times","shipping-fast","shipping-timed","shopping-bag","shopping-basket","shopping-basket-alt","shopping-cart","shortcake","shower-alt","shuttle-van","sign","sign-in","sign-in-alt","sign-language","sign-out","sign-out-alt","signal-1","signal-2","signal-3","signal-4","signal-5","signal-alt","signal-alt-1","signal-alt-2","signal-alt-3","signal-alt-4","signal-alt-slash","signal-bars-strong","signal-perfect","signing","skating","ski-jump","ski-lift","skiing","skiing-nordic","slack-hash","sledding","sliders-h","sliders-h-square","sliders-v","sliders-v-square","smile","smile-beam","smile-plus","smile-wink","smoking-ban","sms","snapchat-ghost","snapchat-square","snowboarding","snowmobile","soccer-ball","sort-alpha-asc","sort-alpha-desc","sort-alpha-down","sort-alpha-down-alt","sort-alpha-up","sort-alpha-up-alt","sort-alt","sort-amount-asc","sort-amount-desc","sort-amount-down","sort-amount-down-alt","sort-amount-up","sort-amount-up-alt","sort-asc","sort-circle","sort-circle-down","sort-circle-up","sort-desc","sort-numeric-asc","sort-numeric-desc","sort-numeric-down","sort-numeric-down-alt","sort-numeric-up","sort-numeric-up-alt","sort-shapes-down","sort-shapes-down-alt","sort-shapes-up","sort-shapes-up-alt","sort-size-down","sort-size-down-alt","sort-size-up","sort-size-up-alt","sort-up-down","soup","space-shuttle","space-station-moon-alt","sprout","square-root-alt","square-wine-glass-crack","staff-aesculapius","star-circle","star-half-alt","star-sharp-half-alt","starfighter-alt","starfighter-alt-advanced","steam-square","step-backward","step-forward","sticky-note","stop-circle","store-alt","store-alt-slash","stream","subtract","subway","subway-tunnel","sun-alt","surprise","swimmer","swimming-pool","sync","sync-alt","t-shirt","table-tennis","tablet-alt","tablet-android","tablet-android-alt","tachometer","tachometer-alt","tachometer-alt-average","tachometer-alt-fast","tachometer-alt-fastest","tachometer-alt-slow","tachometer-alt-slowest","tachometer-average","tachometer-fast","tachometer-fastest","tachometer-slow","tachometer-slowest","tally-5","tanakh","tasks","tasks-alt","telegram-plane","teletype","teletype-answer","television","temperature-0","temperature-1","temperature-2","temperature-3","temperature-4","temperature-down","temperature-frigid","temperature-hot","temperature-up","tenge","th","th-large","th-list","theater-masks","thermometer-0","thermometer-1","thermometer-2","thermometer-3","thermometer-4","thermometer-empty","thermometer-full","thermometer-half","thermometer-quarter","thermometer-three-quarters","thumb-tack","thunderstorm","thunderstorm-moon","thunderstorm-sun","ticket-alt","times","times-circle","times-hexagon","times-octagon","times-rectangle","times-square","times-to-slot","tint","tint-slash","tired","toilet-paper-alt","toilet-paper-reverse","toilet-paper-reverse-alt","toilet-paper-reverse-slash","tombstone-alt","tools","torah","tram","transgender-alt","trash-alt","trash-alt-slash","trash-arrow-turn-left","trash-can-arrow-turn-left","trash-circle","trash-restore","trash-restore-alt","trash-undo-alt","tree-alt","trian-balbot","triangle-circle-square","triangle-music","trophy-alt","truck-couch","truck-loading","try","tshirt","tumblr-square","turkish-lira","tv-alt","twitter-square","umbrella-alt","undo","undo-alt","university","unlink","unlock-alt","unsorted","usd","usd-circle","usd-square","user-alt","user-alt-slash","user-chart","user-circle","user-cog","user-construction","user-edit","user-friends","user-hard-hat","user-md","user-md-chat","user-times","users-class","users-cog","users-crown","utensil-fork","utensil-knife","utensil-spoon","utensils-alt","vcard","vhs","viadeo-square","video-camera","video-circle","video-handheld","vimeo-square","volleyball-ball","volume-control-phone","volume-down","volume-medium","volume-mute","volume-times","volume-up","vote-nay","vote-yea","walking","wall-brick","warehouse-alt","warning","washer","water-lower","water-rise","waveform-circle","waveform-path","webcam","webcam-slash","weight","whatsapp-square","wheat-alt","wheelchair-alt","wifi-1","wifi-2","wifi-3","wifi-strong","wind-circle-exclamation","window-alt","window-close","wine-glass-alt","won","wsh","xing-square","xmark-circle","xmark-hexagon","xmark-octagon","xmark-square","yen","youtube-square","zap","zzz"],"1":["42-group","500px","accessible-icon","accusoft","adn","adversal","affiliatetheme","airbnb","algolia","alipay","amazon","amazon-pay","amilia","android","angellist","angrycreative","angular","app-store","app-store-ios","apper","apple","apple-pay","artstation","asymmetrik","atlassian","audible","autoprefixer","avianex","aviato","aws","bandcamp","battle-net","behance","bilibili","bimobject","bitbucket","bitcoin","bity","black-tie","blackberry","blogger","blogger-b","bluetooth-b","bootstrap","bots","btc","buffer","buromobelexperte","buy-n-large","buysellads","canadian-maple-leaf","cc-amazon-pay","cc-amex","cc-apple-pay","cc-diners-club","cc-discover","cc-jcb","cc-mastercard","cc-paypal","cc-stripe","cc-visa","centercode","centos","chrome","chromecast","cloudflare","cloudscale","cloudsmith","cloudversify","cmplid","codepen","codiepie","confluence","connectdevelop","contao","cotton-bureau","cpanel","creative-commons","creative-commons-by","creative-commons-nc","creative-commons-nc-eu","creative-commons-nc-jp","creative-commons-nd","creative-commons-pd","creative-commons-pd-alt","creative-commons-remix","creative-commons-sa","creative-commons-sampling","creative-commons-sampling-plus","creative-commons-share","creative-commons-zero","critical-role","css3","css3-alt","cuttlefish","d-and-d","d-and-d-beyond","dailymotion","dashcube","deezer","delicious","deploydog","deskpro","dev","deviantart","dhl","diaspora","digg","digital-ocean","discord","discourse","dochub","docker","draft2digital","dribbble","dropbox","drupal","dyalog","earlybirds","ebay","edge","edge-legacy","elementor","ello","ember","empire","envira","erlang","ethereum","etsy","evernote","expeditedssl","facebook","facebook-f","facebook-messenger","fantasy-flight-games","fedex","fedora","figma","firefox","firefox-browser","first-order","first-order-alt","firstdraft","flickr","flipboard","fly","fonticons","fonticons-fi","fort-awesome","fort-awesome-alt","forumbee","foursquare","free-code-camp","freebsd","fulcrum","galactic-republic","galactic-senate","get-pocket","gg","gg-circle","git","git-alt","github","github-alt","gitkraken","gitlab","gitter","glide","glide-g","gofore","golang","goodreads","goodreads-g","google","google-drive","google-pay","google-play","google-plus","google-plus-g","google-wallet","gratipay","grav","gripfire","grunt","guilded","gulp","hacker-news","hackerrank","hashnode","hips","hire-a-helper","hive","hooli","hornbill","hotjar","houzz","html5","hubspot","ideal","imdb","instagram","instalod","intercom","internet-explorer","invision","ioxhost","itch-io","itunes","itunes-note","java","jedi-order","jenkins","jira","joget","joomla","js","jsfiddle","kaggle","keybase","keycdn","kickstarter","kickstarter-k","korvue","laravel","lastfm","leanpub","less","line","linkedin","linkedin-in","linode","linux","lyft","magento","mailchimp","mandalorian","markdown","mastodon","maxcdn","mdb","medapps","medium","medrt","meetup","megaport","mendeley","meta","microblog","microsoft","mix","mixcloud","mixer","mizuni","modx","monero","napster","neos","nfc-directional","nimblr","node","node-js","npm","ns8","nutritionix","octopus-deploy","odnoklassniki","odysee","old-republic","opencart","openid","opera","optin-monster","orcid","osi","padlet","page4","pagelines","palfed","patreon","paypal","perbyte","periscope","phabricator","phoenix-framework","phoenix-squadron","php","pied-piper","pied-piper-alt","pied-piper-hat","pied-piper-pp","pinterest","pinterest-p","pix","playstation","product-hunt","pushed","python","qq","quinscape","quora","r-project","raspberry-pi","ravelry","react","reacteurope","readme","rebel","red-river","reddit","reddit-alien","redhat","renren","replyd","researchgate","resolving","rev","rocketchat","rockrms","rust","safari","salesforce","sass","schlix","screenpal","scribd","searchengin","sellcast","sellsy","servicestack","shirtsinbulk","shopify","shopware","simplybuilt","sistrix","sith","sitrox","sketch","skyatlas","skype","slack","slideshare","snapchat","soundcloud","sourcetree","space-awesome","speakap","speaker-deck","spotify","square-behance","square-dribbble","square-facebook","square-font-awesome","square-font-awesome-stroke","square-git","square-github","square-gitlab","square-google-plus","square-hacker-news","square-instagram","square-js","square-lastfm","square-odnoklassniki","square-pied-piper","square-pinterest","square-reddit","square-snapchat","square-steam","square-tumblr","square-twitter","square-viadeo","square-vimeo","square-whatsapp","square-xing","square-youtube","squarespace","stack-exchange","stack-overflow","stackpath","staylinked","steam","steam-symbol","sticker-mule","strava","stripe","stripe-s","stubber","studiovinari","stumbleupon","stumbleupon-circle","superpowers","supple","suse","swift","symfony","teamspeak","telegram","tencent-weibo","the-red-yeti","themeco","themeisle","think-peaks","tiktok","trade-federation","trello","tumblr","twitch","twitter","typo3","uber","ubuntu","uikit","umbraco","uncharted","uniregistry","unity","unsplash","untappd","ups","usb","usps","ussunnah","vaadin","viacoin","viadeo","viber","vimeo","vimeo-v","vine","vk","vnv","vuejs","watchman-monitoring","waze","weebly","weibo","weixin","whatsapp","whmcs","wikipedia-w","windows","wirsindhandwerk","wix","wizards-of-the-coast","wodu","wolf-pack-battalion","wordpress","wordpress-simple","wpbeginner","wpexplorer","wpforms","wpressr","xbox","xing","y-combinator","yahoo","yammer","yandex","yandex-international","yarn","yelp","yoast","youtube","zhihu"],"511":["bluetooth","font-awesome","nfc-symbol"]}'),c={brands:1,thin:2,light:4,regular:8,solid:16,duotone:256},d=Object.keys(c),u={};for(var p of Object.keys(s))u[p]=510;for(var m of Object.keys(l)){var h=Number(m);for(var f of l[m])u[f]=h}var g=Object.entries(s).map(([e,r])=>{var a=u[e]||0;return{name:e,code:r,styles:d.filter(e=>a&c[e])}}),b={keys:["name"],threshold:.3,includeScore:!0},y=new n.A(g,b),w=new Map;function v(e){var r;e.tool("icon_search",{query:i.Yj().describe("Search keywords for FontAwesome 6 Pro icons"),limit:i.ai().min(1).max(100).optional().default(10),style:i.k5(["brands","duotone","light","regular","solid","thin"]).optional().describe("Filter by icon style")},(r=t(function*({query:e,limit:r,style:a}){var t=(function(e,r,a){if(a){var t;return(!(t=w.get(a))&&(t=new n.A(g.filter(e=>e.styles.includes(a)),b),w.set(a,t)),t).search(e,{limit:r})}return y.search(e,{limit:r})})(e,r,a).map(e=>({name:e.item.name,code:e.item.code,unicode:`U+${e.item.code.toString(16).toUpperCase()}`,styles:e.item.styles,score:e.score}));return{content:[{type:"text",text:o.lF({count:t.length,icons:t})}]}}),function(e){return r.apply(this,arguments)}))}},31385(e,r,a){a.d(r,{k:()=>s});var t=a(99436),i=a(84867),o=a(47680),n="https://lottiefiles.com/api";function s(e){var r,a,s;e.tool("lottie_search",{query:i.Yj().describe("Search keywords for animations"),page:i.ai().min(1).optional().default(1),limit:i.ai().min(1).max(100).optional().default(10)},(r=t(function*({query:e,page:r,limit:a}){try{var t=new URL(`${n}/search/get-animations`);t.searchParams.set("query",e),t.searchParams.set("page",String(r)),t.searchParams.set("limit",String(a)),t.searchParams.set("format","json");var i=yield fetch(t.toString()),s=yield i.json(),l=s?.data?.data??[];return{content:[{type:"text",text:o.lF({count:l.length,animations:l})}]}}catch(e){return{content:[{type:"text",text:`Failed to search animations: ${e.message}`}]}}}),function(e){return r.apply(this,arguments)})),e.tool("lottie_get_details",{id:i.Yj().describe("Animation file ID")},(a=t(function*({id:e}){try{var r=new URL(`${n}/animations/get-animation-data`);r.searchParams.set("fileId",e),r.searchParams.set("format","json");var a=yield fetch(r.toString()),t=yield a.json();return{content:[{type:"text",text:o.lF(t)}]}}catch(e){return{content:[{type:"text",text:`Failed to get animation: ${e.message}`}]}}}),function(e){return a.apply(this,arguments)})),e.tool("lottie_popular",{page:i.ai().min(1).optional().default(1),limit:i.ai().min(1).max(100).optional().default(10)},(s=t(function*({page:e,limit:r}){try{var a=new URL(`${n}/iconscout/popular-animations-weekly?api=%26sort%3Dpopular`);a.searchParams.set("page",String(e)),a.searchParams.set("limit",String(r)),a.searchParams.set("format","json");var t=yield fetch(a.toString()),i=yield t.json(),s=i?.popularWeeklyData?.data??[];return{content:[{type:"text",text:o.lF({count:s.length,animations:s})}]}}catch(e){return{content:[{type:"text",text:`Failed to get popular animations: ${e.message}`}]}}}),function(e){return s.apply(this,arguments)}))}},94360(e,r,a){a.d(r,{k:()=>c});var t,i=a(99436),o=a(84867),n=a(75720),s={FORCE_COLOR:"0",NO_COLOR:"1"},l=(t=i(function*(e,...r){try{return yield(0,n.sh)`bunx bricks ${r}`.cwd(e).env(s).text()}catch(e){throw Error(e.stderr?.toString()||e.message)}}),function(e){return t.apply(this,arguments)});function c(e,r){var a,t,n,s;e.tool("media_boxes",{},i(function*(){try{var e=yield l(r,"media","boxes");return{content:[{type:"text",text:e}]}}catch(e){return{content:[{type:"text",text:`Failed to list media boxes: ${e.message}`}]}}})),e.tool("media_get_box",{id:o.Yj().describe("Media box ID")},(a=i(function*({id:e}){try{var a=yield l(r,"media","box",e);return{content:[{type:"text",text:a}]}}catch(e){return{content:[{type:"text",text:`Failed to get media box: ${e.message}`}]}}}),function(e){return a.apply(this,arguments)})),e.tool("media_files",{boxId:o.Yj().describe("Media box ID"),types:o.Yj().describe("Comma-separated file types to include").optional(),userTag:o.YO(o.Yj()).describe("Filter by user tags").optional(),limit:o.ai().describe("Limit results").optional(),offset:o.ai().describe("Offset results").optional()},(t=i(function*({boxId:e,types:a,userTag:t,limit:i,offset:o}){try{var n=["media","files",e];a&&n.push("-t",a),t&&t.forEach(e=>n.push("-u",e)),null!=i&&n.push("-l",String(i)),null!=o&&n.push("-o",String(o));var s=yield l(r,...n);return{content:[{type:"text",text:s}]}}catch(e){return{content:[{type:"text",text:`Failed to list media files: ${e.message}`}]}}}),function(e){return t.apply(this,arguments)})),e.tool("media_file",{id:o.Yj().describe("Media file ID")},(n=i(function*({id:e}){try{var a=yield l(r,"media","file",e);return{content:[{type:"text",text:a}]}}catch(e){return{content:[{type:"text",text:`Failed to get media file: ${e.message}`}]}}}),function(e){return n.apply(this,arguments)})),e.tool("media_upload_files",{boxId:o.Yj().describe("Target media box ID"),files:o.YO(o.Yj()).min(1).describe("File paths to upload"),description:o.Yj().describe("File description").optional(),userTags:o.YO(o.Yj()).max(15).describe("User tags (max 15)").optional(),imageVersion:o.YO(o.Yj()).describe("Image resize specs as WxH or WxH:STRATEGY").optional(),imageVersionType:o.k5(["jpg","png"]).describe("Image output format").optional(),enableAiAnalysis:o.zM().describe("Enable AI analysis").optional(),aiInstruction:o.Yj().describe("Custom AI analysis instruction").optional(),concurrency:o.ai().min(1).describe("Max concurrent uploads").optional()},(s=i(function*({boxId:e,files:a,description:t,userTags:i,imageVersion:o,imageVersionType:n,enableAiAnalysis:s,aiInstruction:c,concurrency:d}){try{var u=["media","upload",e,...a];t&&u.push("-d",t),i&&i.forEach(e=>u.push("-t",e)),o&&o.forEach(e=>u.push("--image-version",e)),n&&u.push("--image-version-type",n),s&&u.push("--enable-ai-analysis"),c&&u.push("--ai-instruction",c),null!=d&&u.push("--concurrency",String(d));var p=yield l(r,...u);return{content:[{type:"text",text:p}]}}catch(e){return{content:[{type:"text",text:`Failed to upload media files: ${e.message}`}]}}}),function(e){return s.apply(this,arguments)}))}}};