@lacneu/atrium 0.60.3 → 0.62.0

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.
Files changed (83) hide show
  1. package/dist/assets/AccessTab-DY7s2nUA.js +1 -0
  2. package/dist/assets/{AdvancedFilter-C5pnO4fi.js → AdvancedFilter-BbljBL_5.js} +1 -1
  3. package/dist/assets/AgentFilesTab-BtY1O3co.js +3 -0
  4. package/dist/assets/AnomaliesTab-Dc1BWkpz.js +1 -0
  5. package/dist/assets/AuditTab-BDH_c5SQ.js +1 -0
  6. package/dist/assets/BridgeTab-BpMpD4Gm.js +1 -0
  7. package/dist/assets/ChatDefaultsTab-B2vDY2FL.js +1 -0
  8. package/dist/assets/DataTableShell-Bo9JdV4-.js +1 -0
  9. package/dist/assets/{DetailChips-8ZpH5ZXE.js → DetailChips-stIZjuDW.js} +1 -1
  10. package/dist/assets/FeedbacksTab-CxQJT8RQ.js +1 -0
  11. package/dist/assets/{FieldLabel-hLNtge_D.js → FieldLabel-DVIaWFle.js} +1 -1
  12. package/dist/assets/FilesTab-COkLn-3m.js +1 -0
  13. package/dist/assets/{FilterBar-CY1WfFDB.js → FilterBar-XGMlTH00.js} +1 -1
  14. package/dist/assets/GroupsTab-DahUEKfi.js +1 -0
  15. package/dist/assets/InstancesTab-CdxmyjKD.js +1 -0
  16. package/dist/assets/IntegrationsTab-DcTQI2LV.js +1 -0
  17. package/dist/assets/{KpiTab-qUWozfhc.js → KpiTab-CRHncLGM.js} +1 -1
  18. package/dist/assets/PreferencesTab-CMQIXTo8.js +1 -0
  19. package/dist/assets/PromptInjectionsTab-RUWYcoYK.js +4 -0
  20. package/dist/assets/RolesTab-CTWsWK9B.js +1 -0
  21. package/dist/assets/ScheduledTab-BR6mWCfc.js +1 -0
  22. package/dist/assets/ServiceAccountsTab-BTyR_9ZB.js +1 -0
  23. package/dist/assets/SubAgentReportsTab-L2Dsfn4x.js +1 -0
  24. package/dist/assets/ThemeShowroom-CUXWYVrF.js +1 -0
  25. package/dist/assets/TimeRangePicker-DGb-YJj5.js +1 -0
  26. package/dist/assets/TracesTab-Cbp7BSkH.js +1 -0
  27. package/dist/assets/UsersTab-NHhJ0saL.js +1 -0
  28. package/dist/assets/VoiceTab-sjryLTED.js +1 -0
  29. package/dist/assets/button-DRguy6Hz.js +1 -0
  30. package/dist/assets/card-BTuOmZr0.js +1 -0
  31. package/dist/assets/chevrons-up-down-BFfHriX4.js +1 -0
  32. package/dist/assets/{compatView-B2BXfBvC.js → compatView-BHorgRif.js} +1 -1
  33. package/dist/assets/dispatchErrorInfo-CJWXIZnL.js +1 -0
  34. package/dist/assets/{dist-CXJY_tYD.js → dist-3KrBDl5H.js} +1 -1
  35. package/dist/assets/dist-CAP0mn60.js +44 -0
  36. package/dist/assets/{dist-Du1hJWyV.js → dist-DH6cB1zr.js} +1 -1
  37. package/dist/assets/dist-h58Lj6DX.js +5 -0
  38. package/dist/assets/{highlighted-body-OFNGDK62-xjw7PDBM.js → highlighted-body-OFNGDK62-INR9Ztt5.js} +1 -1
  39. package/dist/assets/index-Ba5lBN_I.css +2 -0
  40. package/dist/assets/index-DcPINOh1.js +238 -0
  41. package/dist/assets/mermaid-GHXKKRXX-Dnmq3zax.js +1 -0
  42. package/dist/assets/{pdf-CLjbM27Z.js → pdf-bkWuoknj.js} +1 -1
  43. package/dist/assets/roleDescriptions-B6dQdyoM.js +1 -0
  44. package/dist/assets/table-1vsq56Zt.js +1 -0
  45. package/dist/assets/{tabs-fDXC7itk.js → tabs-IFDKEY73.js} +1 -1
  46. package/dist/assets/x-ChVRoy_h.js +1 -0
  47. package/dist/index.html +8 -8
  48. package/package.json +1 -1
  49. package/dist/assets/AccessTab-BlTwl2Uk.js +0 -1
  50. package/dist/assets/AgentFilesTab-tYeG81Bo.js +0 -3
  51. package/dist/assets/AnomaliesTab-C94n-0pQ.js +0 -1
  52. package/dist/assets/AuditTab-D_mhJO5w.js +0 -1
  53. package/dist/assets/BridgeTab-s6Ggg8Zu.js +0 -1
  54. package/dist/assets/ChatDefaultsTab-DYVQXktp.js +0 -1
  55. package/dist/assets/DataTableShell-COEwE2Hv.js +0 -1
  56. package/dist/assets/FeedbacksTab-CqJ8NDLb.js +0 -1
  57. package/dist/assets/FilesTab-lytzpFwp.js +0 -1
  58. package/dist/assets/GroupsTab-BjjiPSDY.js +0 -1
  59. package/dist/assets/InstancesTab-bbthnf8h.js +0 -1
  60. package/dist/assets/IntegrationsTab-DQt4Kllc.js +0 -1
  61. package/dist/assets/PreferencesTab-B1JSLFVE.js +0 -1
  62. package/dist/assets/PromptInjectionsTab-Df6PKtxv.js +0 -4
  63. package/dist/assets/RolesTab-DbSxOWRh.js +0 -1
  64. package/dist/assets/ScheduledTab-km3Zx4dq.js +0 -1
  65. package/dist/assets/ServiceAccountsTab-Bcd88LfG.js +0 -1
  66. package/dist/assets/SubAgentReportsTab-xgRtphLV.js +0 -1
  67. package/dist/assets/ThemeShowroom-DxcANzhZ.js +0 -1
  68. package/dist/assets/TimeRangePicker-BYCcnF0a.js +0 -1
  69. package/dist/assets/TracesTab-ColoY1Nx.js +0 -1
  70. package/dist/assets/UsersTab-B0IdN_hl.js +0 -1
  71. package/dist/assets/VoiceTab-qZ5tMxmC.js +0 -1
  72. package/dist/assets/button-Bd43O_sm.js +0 -1
  73. package/dist/assets/card-Bkvykfxh.js +0 -1
  74. package/dist/assets/chevrons-up-down-DIXCqs3W.js +0 -1
  75. package/dist/assets/dispatchErrorInfo-DKMvYSfG.js +0 -1
  76. package/dist/assets/dist-De2K23IB.js +0 -44
  77. package/dist/assets/dist-DfildYj4.js +0 -5
  78. package/dist/assets/index-BlYUA3DJ.css +0 -2
  79. package/dist/assets/index-CNwjY680.js +0 -238
  80. package/dist/assets/mermaid-GHXKKRXX-DxPFrHWq.js +0 -1
  81. package/dist/assets/roleDescriptions-zLFA4zEm.js +0 -1
  82. package/dist/assets/table-BRilRxUj.js +0 -1
  83. package/dist/assets/x-DXaZHGzl.js +0 -1
@@ -1,44 +0,0 @@
1
- import{a as e,i as t,l as n,n as r,r as i,t as a}from"./bundle-mjs-C73ZY4La.js";for(var o=[],s=[],c=Uint8Array,l=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,u=0,d=l.length;u<d;++u)o[u]=l[u],s[l.charCodeAt(u)]=u;s[45]=62,s[95]=63;function f(e){var t=e.length;if(t%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function p(e,t,n){return(t+n)*3/4-n}function m(e){var t,n=f(e),r=n[0],i=n[1],a=new c(p(e,r,i)),o=0,l=i>0?r-4:r,u;for(u=0;u<l;u+=4)t=s[e.charCodeAt(u)]<<18|s[e.charCodeAt(u+1)]<<12|s[e.charCodeAt(u+2)]<<6|s[e.charCodeAt(u+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=s[e.charCodeAt(u)]<<2|s[e.charCodeAt(u+1)]>>4,a[o++]=t&255),i===1&&(t=s[e.charCodeAt(u)]<<10|s[e.charCodeAt(u+1)]<<4|s[e.charCodeAt(u+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function h(e){return o[e>>18&63]+o[e>>12&63]+o[e>>6&63]+o[e&63]}function g(e,t,n){for(var r,i=[],a=t;a<n;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(h(r));return i.join(``)}function _(e){for(var t,n=e.length,r=n%3,i=[],a=16383,s=0,c=n-r;s<c;s+=a)i.push(g(e,s,s+a>c?c:s+a));return r===1?(t=e[n-1],i.push(o[t>>2]+o[t<<4&63]+`==`)):r===2&&(t=(e[n-2]<<8)+e[n-1],i.push(o[t>>10]+o[t>>4&63]+o[t<<2&63]+`=`)),i.join(``)}function v(e){if(e===void 0)return{};if(!y(e))throw Error(`The arguments to a Convex function must be an object. Received: ${e}`);return e}function ee(e){if(e===void 0)throw Error(`Client created with undefined deployment address. If you used an environment variable, check that it's set.`);if(typeof e!=`string`)throw Error(`Invalid deployment address: found ${e}".`);if(!(e.startsWith(`http:`)||e.startsWith(`https:`)))throw Error(`Invalid deployment address: Must start with "https://" or "http://". Found "${e}".`);try{new URL(e)}catch{throw Error(`Invalid deployment address: "${e}" is not a valid URL. If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`)}if(e.endsWith(`.convex.site`))throw Error(`Invalid deployment address: "${e}" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`)}function y(e){let t=typeof e==`object`,n=Object.getPrototypeOf(e),r=n===null||n===Object.prototype||n?.constructor?.name===`Object`;return t&&r}var te=!0,b=BigInt(`-9223372036854775808`),x=BigInt(`9223372036854775807`),ne=BigInt(`0`),eee=BigInt(`8`),tee=BigInt(`256`);function re(e){return Number.isNaN(e)||!Number.isFinite(e)||Object.is(e,-0)}function nee(e){e<ne&&(e-=b+b);let t=e.toString(16);t.length%2==1&&(t=`0`+t);let n=new Uint8Array(new ArrayBuffer(8)),r=0;for(let i of t.match(/.{2}/g).reverse())n.set([parseInt(i,16)],r++),e>>=eee;return _(n)}function ree(e){let t=m(e);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);let n=ne,r=ne;for(let e of t)n+=BigInt(e)*tee**r,r++;return n>x&&(n+=b+b),n}function iee(e){if(e<b||x<e)throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);let t=new ArrayBuffer(8);return new DataView(t).setBigInt64(0,e,!0),_(new Uint8Array(t))}function aee(e){let t=m(e);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);return new DataView(t.buffer).getBigInt64(0,!0)}var ie=DataView.prototype.setBigInt64?iee:nee,oee=DataView.prototype.getBigInt64?aee:ree,ae=1024;function oe(e){if(e.length>ae)throw Error(`Field name ${e} exceeds maximum field name length ${ae}.`);if(e.startsWith(`$`))throw Error(`Field name ${e} starts with a '$', which is reserved.`);for(let t=0;t<e.length;t+=1){let n=e.charCodeAt(t);if(n<32||n>=127)throw Error(`Field name ${e} has invalid character '${e[t]}': Field names can only contain non-control ASCII characters`)}}function S(e){if(e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`)return e;if(Array.isArray(e))return e.map(e=>S(e));if(typeof e!=`object`)throw Error(`Unexpected type of ${e}`);let t=Object.entries(e);if(t.length===1){let n=t[0][0];if(n===`$bytes`){if(typeof e.$bytes!=`string`)throw Error(`Malformed $bytes field on ${e}`);return m(e.$bytes).buffer}if(n===`$integer`){if(typeof e.$integer!=`string`)throw Error(`Malformed $integer field on ${e}`);return oee(e.$integer)}if(n===`$float`){if(typeof e.$float!=`string`)throw Error(`Malformed $float field on ${e}`);let t=m(e.$float);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $float`);let n=new DataView(t.buffer).getFloat64(0,te);if(!re(n))throw Error(`Float ${n} should be encoded as a number`);return n}if(n===`$set`)throw Error(`Received a Set which is no longer supported as a Convex type.`);if(n===`$map`)throw Error(`Received a Map which is no longer supported as a Convex type.`)}let n={};for(let[t,r]of Object.entries(e))oe(t),n[t]=S(r);return n}var se=16384;function C(e){let t=JSON.stringify(e,(e,t)=>t===void 0?`undefined`:typeof t==`bigint`?`${t.toString()}n`:t);if(t.length>se){let e=se-14,n=t.codePointAt(e-1);return n!==void 0&&n>65535&&--e,t.substring(0,e)+`[...truncated]`}return t}function ce(e,t,n,r){if(e===void 0){let e=n&&` (present at path ${n} in original object ${C(t)})`;throw Error(`undefined is not a valid Convex value${e}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`)}if(e===null)return e;if(typeof e==`bigint`){if(e<b||x<e)throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);return{$integer:ie(e)}}if(typeof e==`number`)if(re(e)){let t=new ArrayBuffer(8);return new DataView(t).setFloat64(0,e,te),{$float:_(new Uint8Array(t))}}else return e;if(typeof e==`boolean`||typeof e==`string`)return e;if(e instanceof ArrayBuffer)return{$bytes:_(new Uint8Array(e))};if(Array.isArray(e))return e.map((e,r)=>ce(e,t,n+`[${r}]`,!1));if(e instanceof Set)throw Error(le(n,`Set`,[...e],t));if(e instanceof Map)throw Error(le(n,`Map`,[...e],t));if(!y(e)){let r=e?.constructor?.name,i=r?`${r} `:``;throw Error(le(n,i,e,t))}let i={},a=Object.entries(e);a.sort(([e,t],[n,r])=>e===n?0:e<n?-1:1);for(let[e,o]of a)o===void 0?r&&(oe(e),i[e]=see(o,t,n+`.${e}`)):(oe(e),i[e]=ce(o,t,n+`.${e}`,!1));return i}function le(e,t,n,r){return e?`${t}${C(n)} is not a supported Convex type (present at path ${e} in original object ${C(r)}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.`:`${t}${C(n)} is not a supported Convex type.`}function see(e,t,n){if(e===void 0)return{$undefined:null};if(t===void 0)throw Error(`Programming error. Current value is ${C(e)} but original value is undefined`);return ce(e,t,n,!1)}function w(e){return ce(e,e,``,!1)}var T=n(e(),1),cee=Object.defineProperty,lee=(e,t,n)=>t in e?cee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t,n)=>lee(e,typeof t==`symbol`?t:t+``,n),uee=`https://docs.convex.dev/error#undefined-validator`;function D(e,t){let n=t===void 0?``:` for field "${t}"`;throw Error(`A validator is undefined${n} in ${e}. This is often caused by circular imports. See ${uee} for details.`)}var O=class{constructor({isOptional:e}){E(this,`type`),E(this,`fieldPaths`),E(this,`isOptional`),E(this,`isConvexValidator`),this.isOptional=e,this.isConvexValidator=!0}},dee=class e extends O{constructor({isOptional:e,tableName:t}){if(super({isOptional:e}),E(this,`tableName`),E(this,`kind`,`id`),typeof t!=`string`)throw Error(`v.id(tableName) requires a string`);this.tableName=t}get json(){return{type:`id`,tableName:this.tableName}}asOptional(){return new e({isOptional:`optional`,tableName:this.tableName})}},ue=class e extends O{constructor(){super(...arguments),E(this,`kind`,`float64`)}get json(){return{type:`number`}}asOptional(){return new e({isOptional:`optional`})}},de=class e extends O{constructor(){super(...arguments),E(this,`kind`,`int64`)}get json(){return{type:`bigint`}}asOptional(){return new e({isOptional:`optional`})}},fee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`boolean`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},pee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`bytes`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},mee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`string`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},hee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`null`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},gee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`any`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},fe=class e extends O{constructor({isOptional:e,fields:t}){super({isOptional:e}),E(this,`fields`),E(this,`kind`,`object`),globalThis.Object.entries(t).forEach(([e,t])=>{if(t===void 0&&D(`v.object()`,e),!t.isConvexValidator)throw Error(`v.object() entries must be validators`)}),this.fields=t}get json(){return{type:this.kind,value:globalThis.Object.fromEntries(globalThis.Object.entries(this.fields).map(([e,t])=>[e,{fieldType:t.json,optional:t.isOptional===`optional`}]))}}asOptional(){return new e({isOptional:`optional`,fields:this.fields})}omit(...t){let n={...this.fields};for(let e of t)delete n[e];return new e({isOptional:this.isOptional,fields:n})}pick(...t){let n={};for(let e of t)n[e]=this.fields[e];return new e({isOptional:this.isOptional,fields:n})}partial(){let t={};for(let[e,n]of globalThis.Object.entries(this.fields))t[e]=n.asOptional();return new e({isOptional:this.isOptional,fields:t})}extend(t){return new e({isOptional:this.isOptional,fields:{...this.fields,...t}})}},pe=class e extends O{constructor({isOptional:e,value:t}){if(super({isOptional:e}),E(this,`value`),E(this,`kind`,`literal`),typeof t!=`string`&&typeof t!=`boolean`&&typeof t!=`number`&&typeof t!=`bigint`)throw Error(`v.literal(value) must be a string, number, or boolean`);this.value=t}get json(){return{type:this.kind,value:w(this.value)}}asOptional(){return new e({isOptional:`optional`,value:this.value})}},me=class e extends O{constructor({isOptional:e,element:t}){super({isOptional:e}),E(this,`element`),E(this,`kind`,`array`),t===void 0&&D(`v.array()`),this.element=t}get json(){return{type:this.kind,value:this.element.json}}asOptional(){return new e({isOptional:`optional`,element:this.element})}},he=class e extends O{constructor({isOptional:e,key:t,value:n}){if(super({isOptional:e}),E(this,`key`),E(this,`value`),E(this,`kind`,`record`),t===void 0&&D(`v.record()`,`key`),n===void 0&&D(`v.record()`,`value`),t.isOptional===`optional`)throw Error(`Record validator cannot have optional keys`);if(n.isOptional===`optional`)throw Error(`Record validator cannot have optional values`);if(!t.isConvexValidator||!n.isConvexValidator)throw Error(`Key and value of v.record() but be validators`);this.key=t,this.value=n}get json(){return{type:this.kind,keys:this.key.json,values:{fieldType:this.value.json,optional:!1}}}asOptional(){return new e({isOptional:`optional`,key:this.key,value:this.value})}},ge=class e extends O{constructor({isOptional:e,members:t}){super({isOptional:e}),E(this,`members`),E(this,`kind`,`union`),t.forEach((e,t)=>{if(e===void 0&&D(`v.union()`,`member at index ${t}`),!e.isConvexValidator)throw Error(`All members of v.union() must be validators`)}),this.members=t}get json(){return{type:this.kind,value:this.members.map(e=>e.json)}}asOptional(){return new e({isOptional:`optional`,members:this.members})}},_e={id:e=>new dee({isOptional:`required`,tableName:e}),null:()=>new hee({isOptional:`required`}),number:()=>new ue({isOptional:`required`}),float64:()=>new ue({isOptional:`required`}),bigint:()=>new de({isOptional:`required`}),int64:()=>new de({isOptional:`required`}),boolean:()=>new fee({isOptional:`required`}),string:()=>new mee({isOptional:`required`}),bytes:()=>new pee({isOptional:`required`}),literal:e=>new pe({isOptional:`required`,value:e}),array:e=>new me({isOptional:`required`,element:e}),object:e=>new fe({isOptional:`required`,fields:e}),record:(e,t)=>new he({isOptional:`required`,key:e,value:t}),union:(...e)=>new ge({isOptional:`required`,members:e}),any:()=>new gee({isOptional:`required`}),optional:e=>e.asOptional(),nullable:e=>_e.union(e,_e.null())},_ee=Object.defineProperty,vee=(e,t,n)=>t in e?_ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ve=(e,t,n)=>vee(e,typeof t==`symbol`?t:t+``,n),ye,be,yee=Symbol.for(`ConvexError`),xe=class extends (be=Error,ye=yee,be){constructor(e){super(typeof e==`string`?e:C(e)),ve(this,`name`,`ConvexError`),ve(this,`data`),ve(this,ye,!0),this.data=e}},Se=`1.40.0`,bee=Object.defineProperty,xee=(e,t,n)=>t in e?bee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ce=(e,t,n)=>xee(e,typeof t==`symbol`?t:t+``,n),See=`color:rgb(0, 145, 255)`;function we(e){switch(e){case`query`:return`Q`;case`mutation`:return`M`;case`action`:return`A`;case`any`:return`?`}}var Te=class{constructor(e){Ce(this,`_onLogLineFuncs`),Ce(this,`_verbose`),this._onLogLineFuncs={},this._verbose=e.verbose}addLogLineListener(e){let t=Math.random().toString(36).substring(2,15);for(let e=0;e<10&&this._onLogLineFuncs[t]!==void 0;e++)t=Math.random().toString(36).substring(2,15);return this._onLogLineFuncs[t]=e,()=>{delete this._onLogLineFuncs[t]}}logVerbose(...e){if(this._verbose)for(let t of Object.values(this._onLogLineFuncs))t(`debug`,`${new Date().toISOString()}`,...e)}log(...e){for(let t of Object.values(this._onLogLineFuncs))t(`info`,...e)}warn(...e){for(let t of Object.values(this._onLogLineFuncs))t(`warn`,...e)}error(...e){for(let t of Object.values(this._onLogLineFuncs))t(`error`,...e)}};function Ee(e){let t=new Te(e);return t.addLogLineListener((e,...t)=>{switch(e){case`debug`:console.debug(...t);break;case`info`:console.log(...t);break;case`warn`:console.warn(...t);break;case`error`:console.error(...t);break;default:console.log(...t)}}),t}function De(e){return new Te(e)}function Oe(e,t,n,r,i){let a=we(n);if(typeof i==`object`&&(i=`ConvexError ${JSON.stringify(i.errorData,null,2)}`),t===`info`){let t=i.match(/^\[.*?\] /);if(t===null){e.error(`[CONVEX ${a}(${r})] Could not parse console.log`);return}let n=i.slice(1,t[0].length-2),o=i.slice(t[0].length);e.log(`%c[CONVEX ${a}(${r})] [${n}]`,See,o)}else e.error(`[CONVEX ${a}(${r})] ${i}`)}function Cee(e,t){let n=`[CONVEX FATAL ERROR] ${t}`;return e.error(n),Error(n)}function k(e,t,n){return`[CONVEX ${we(e)}(${t})] ${n.errorMessage}
2
- Called by client`}function ke(e,t){return t.data=e.errorData,t}function A(e){let t=e.split(`:`),n,r;return t.length===1?(n=t[0],r=`default`):(n=t.slice(0,t.length-1).join(`:`),r=t[t.length-1]),n.endsWith(`.js`)&&(n=n.slice(0,-3)),`${n}:${r}`}function j(e,t){return JSON.stringify({udfPath:A(e),args:w(t)})}function Ae(e,t,n){let{initialNumItems:r,id:i}=n;return JSON.stringify({type:`paginated`,udfPath:A(e),args:w(t),options:w({initialNumItems:r,id:i})})}var wee=Object.defineProperty,Tee=(e,t,n)=>t in e?wee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t,n)=>Tee(e,typeof t==`symbol`?t:t+``,n),je=class{constructor(){M(this,`nextQueryId`),M(this,`querySetVersion`),M(this,`querySet`),M(this,`queryIdToToken`),M(this,`identityVersion`),M(this,`auth`),M(this,`outstandingQueriesOlderThanRestart`),M(this,`outstandingAuthOlderThanRestart`),M(this,`paused`),M(this,`pendingQuerySetModifications`),this.nextQueryId=0,this.querySetVersion=0,this.identityVersion=0,this.querySet=new Map,this.queryIdToToken=new Map,this.outstandingQueriesOlderThanRestart=new Set,this.outstandingAuthOlderThanRestart=!1,this.paused=!1,this.pendingQuerySetModifications=new Map}hasSyncedPastLastReconnect(){return this.outstandingQueriesOlderThanRestart.size===0&&!this.outstandingAuthOlderThanRestart}markAuthCompletion(){this.outstandingAuthOlderThanRestart=!1}subscribe(e,t,n,r){let i=A(e),a=j(i,t),o=this.querySet.get(a);if(o!==void 0)return o.numSubscribers+=1,{queryToken:a,modification:null,unsubscribe:()=>this.removeSubscriber(a)};{let e=this.nextQueryId++,o={id:e,canonicalizedUdfPath:i,args:t,numSubscribers:1,journal:n,componentPath:r};this.querySet.set(a,o),this.queryIdToToken.set(e,a);let s=this.querySetVersion,c=this.querySetVersion+1,l={type:`Add`,queryId:e,udfPath:i,args:[w(t)],journal:n,componentPath:r};return this.paused?this.pendingQuerySetModifications.set(e,l):this.querySetVersion=c,{queryToken:a,modification:{type:`ModifyQuerySet`,baseVersion:s,newVersion:c,modifications:[l]},unsubscribe:()=>this.removeSubscriber(a)}}}transition(e){for(let t of e.modifications)switch(t.type){case`QueryUpdated`:case`QueryFailed`:{this.outstandingQueriesOlderThanRestart.delete(t.queryId);let e=t.journal;if(e!==void 0){let n=this.queryIdToToken.get(t.queryId);n!==void 0&&(this.querySet.get(n).journal=e)}break}case`QueryRemoved`:this.outstandingQueriesOlderThanRestart.delete(t.queryId);break;default:throw Error(`Invalid modification ${t.type}`)}}queryId(e,t){let n=j(A(e),t),r=this.querySet.get(n);return r===void 0?null:r.id}isCurrentOrNewerAuthVersion(e){return e>=this.identityVersion}getAuth(){return this.auth}setAuth(e){this.auth={tokenType:`User`,value:e};let t=this.identityVersion;return this.paused||(this.identityVersion=t+1),{type:`Authenticate`,baseVersion:t,...this.auth}}setAdminAuth(e,t){let n={tokenType:`Admin`,value:e,impersonating:t};this.auth=n;let r=this.identityVersion;return this.paused||(this.identityVersion=r+1),{type:`Authenticate`,baseVersion:r,...n}}clearAuth(){this.auth=void 0,this.markAuthCompletion();let e=this.identityVersion;return this.paused||(this.identityVersion=e+1),{type:`Authenticate`,tokenType:`None`,baseVersion:e}}hasAuth(){return!!this.auth}isNewAuth(e){return this.auth?.value!==e}queryPath(e){let t=this.queryIdToToken.get(e);return t?this.querySet.get(t).canonicalizedUdfPath:null}queryArgs(e){let t=this.queryIdToToken.get(e);return t?this.querySet.get(t).args:null}queryToken(e){return this.queryIdToToken.get(e)??null}queryJournal(e){return this.querySet.get(e)?.journal}restart(){this.unpause(),this.outstandingQueriesOlderThanRestart.clear();let e=[];for(let t of this.querySet.values()){let n={type:`Add`,queryId:t.id,udfPath:t.canonicalizedUdfPath,args:[w(t.args)],journal:t.journal,componentPath:t.componentPath};e.push(n),this.outstandingQueriesOlderThanRestart.add(t.id)}this.querySetVersion=1;let t={type:`ModifyQuerySet`,baseVersion:0,newVersion:1,modifications:e};if(!this.auth)return this.identityVersion=0,[t,void 0];this.outstandingAuthOlderThanRestart=!0;let n={type:`Authenticate`,baseVersion:0,...this.auth};return this.identityVersion=1,[t,n]}pause(){this.paused=!0}resume(){let e=this.pendingQuerySetModifications.size>0?{type:`ModifyQuerySet`,baseVersion:this.querySetVersion,newVersion:++this.querySetVersion,modifications:Array.from(this.pendingQuerySetModifications.values())}:void 0,t=this.auth===void 0?void 0:{type:`Authenticate`,baseVersion:this.identityVersion++,...this.auth};return this.unpause(),[e,t]}unpause(){this.paused=!1,this.pendingQuerySetModifications.clear()}removeSubscriber(e){let t=this.querySet.get(e);if(t.numSubscribers>1)return--t.numSubscribers,null;{this.querySet.delete(e),this.queryIdToToken.delete(t.id),this.outstandingQueriesOlderThanRestart.delete(t.id);let n=this.querySetVersion,r=this.querySetVersion+1,i={type:`Remove`,queryId:t.id};return this.paused?this.pendingQuerySetModifications.has(t.id)?this.pendingQuerySetModifications.delete(t.id):this.pendingQuerySetModifications.set(t.id,i):this.querySetVersion=r,{type:`ModifyQuerySet`,baseVersion:n,newVersion:r,modifications:[i]}}}},Me=Object.defineProperty,Ne=(e,t,n)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pe=(e,t,n)=>Ne(e,typeof t==`symbol`?t:t+``,n),Fe=class{constructor(e,t){this.logger=e,this.markConnectionStateDirty=t,Pe(this,`inflightRequests`),Pe(this,`requestsOlderThanRestart`),Pe(this,`inflightMutationsCount`,0),Pe(this,`inflightActionsCount`,0),this.inflightRequests=new Map,this.requestsOlderThanRestart=new Set}request(e,t){let n=new Promise(n=>{let r=t?`Requested`:`NotSent`;this.inflightRequests.set(e.requestId,{message:e,status:{status:r,requestedAt:new Date,onResult:n}}),e.type===`Mutation`?this.inflightMutationsCount++:e.type===`Action`&&this.inflightActionsCount++});return this.markConnectionStateDirty(),n}onResponse(e){let t=this.inflightRequests.get(e.requestId);if(t===void 0||t.status.status===`Completed`)return null;let n=t.message.type===`Mutation`?`mutation`:`action`,r=t.message.udfPath;for(let t of e.logLines)Oe(this.logger,`info`,n,r,t);let i=t.status,a,o;if(e.success)a={success:!0,logLines:e.logLines,value:S(e.result)},o=()=>i.onResult(a);else{let t=e.result,{errorData:s}=e;Oe(this.logger,`error`,n,r,t),a={success:!1,errorMessage:t,errorData:s===void 0?void 0:S(s),logLines:e.logLines},o=()=>i.onResult(a)}return e.type===`ActionResponse`||!e.success?(o(),this.inflightRequests.delete(e.requestId),this.requestsOlderThanRestart.delete(e.requestId),t.message.type===`Action`?this.inflightActionsCount--:t.message.type===`Mutation`&&this.inflightMutationsCount--,this.markConnectionStateDirty(),{requestId:e.requestId,result:a}):(t.status={status:`Completed`,result:a,ts:e.ts,onResolve:o},null)}removeCompleted(e){let t=new Map;for(let[n,r]of this.inflightRequests.entries()){let i=r.status;i.status===`Completed`&&i.ts.lessThanOrEqual(e)&&(i.onResolve(),t.set(n,i.result),r.message.type===`Mutation`?this.inflightMutationsCount--:r.message.type===`Action`&&this.inflightActionsCount--,this.inflightRequests.delete(n),this.requestsOlderThanRestart.delete(n))}return t.size>0&&this.markConnectionStateDirty(),t}restart(){this.requestsOlderThanRestart=new Set(this.inflightRequests.keys());let e=[];for(let[t,n]of this.inflightRequests){if(n.status.status===`NotSent`){n.status.status=`Requested`,e.push(n.message);continue}if(n.message.type===`Mutation`)e.push(n.message);else if(n.message.type===`Action`){if(this.inflightRequests.delete(t),this.requestsOlderThanRestart.delete(t),this.inflightActionsCount--,n.status.status===`Completed`)throw Error(`Action should never be in 'Completed' state`);n.status.onResult({success:!1,errorMessage:`Connection lost while action was in flight`,logLines:[]})}}return this.markConnectionStateDirty(),e}resume(){let e=[];for(let[,t]of this.inflightRequests)if(t.status.status===`NotSent`){t.status.status=`Requested`,e.push(t.message);continue}return e}hasIncompleteRequests(){for(let e of this.inflightRequests.values())if(e.status.status===`Requested`)return!0;return!1}hasInflightRequests(){return this.inflightRequests.size>0}hasSyncedPastLastReconnect(){return this.requestsOlderThanRestart.size===0}timeOfOldestInflightRequest(){if(this.inflightRequests.size===0)return null;let e=Date.now();for(let t of this.inflightRequests.values())t.status.status!==`Completed`&&t.status.requestedAt.getTime()<e&&(e=t.status.requestedAt.getTime());return new Date(e)}inflightMutations(){return this.inflightMutationsCount}inflightActions(){return this.inflightActionsCount}},N=Symbol.for(`functionName`),Ie=Symbol.for(`toReferencePath`);function Le(e){return e[Ie]??null}function Re(e){return e.startsWith(`function://`)}function ze(e){let t;if(typeof e==`string`)t=Re(e)?{functionHandle:e}:{name:e};else if(e[N])t={name:e[N]};else{let n=Le(e);if(!n)throw Error(`${e} is not a functionReference`);t={reference:n}}return t}function P(e){let t=ze(e);if(t.name===void 0)throw t.functionHandle===void 0?t.reference===void 0?Error(`Expected function reference like "api.file.func" or "internal.file.func", but received ${JSON.stringify(t)}`):Error(`Expected function reference in the current component like "api.file.func" or "internal.file.func", but received reference ${t.reference}`):Error(`Expected function reference like "api.file.func" or "internal.file.func", but received function handle ${t.functionHandle}`);if(typeof e==`string`)return e;let n=e[N];if(!n)throw Error(`${e} is not a functionReference`);return n}function Be(e){return{[N]:e}}function Ve(e=[]){return new Proxy({},{get(t,n){if(typeof n==`string`)return Ve([...e,n]);if(n===N){if(e.length<2){let t=[`api`,...e].join(`.`);throw Error(`API path is expected to be of the form \`api.moduleName.functionName\`. Found: \`${t}\``)}let t=e.slice(0,-1).join(`/`),n=e[e.length-1];return n==="default"?t:t+`:`+n}else if(n===Symbol.toStringTag)return`FunctionReference`;else return}})}var He=Ve(),Ue=Object.defineProperty,Eee=(e,t,n)=>t in e?Ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,We=(e,t,n)=>Eee(e,typeof t==`symbol`?t:t+``,n),Ge=class e{constructor(e){We(this,`queryResults`),We(this,`modifiedQueries`),this.queryResults=e,this.modifiedQueries=[]}getQuery(t,...n){let r=v(n[0]),i=P(t),a=this.queryResults.get(j(i,r));if(a!==void 0)return e.queryValue(a.result)}getAllQueries(t){let n=[],r=P(t);for(let t of this.queryResults.values())t.udfPath===A(r)&&n.push({args:t.args,value:e.queryValue(t.result)});return n}setQuery(e,t,n){let r=v(t),i=P(e),a=j(i,r),o;o=n===void 0?void 0:{success:!0,value:n,logLines:[]};let s={udfPath:i,args:r,result:o};this.queryResults.set(a,s),this.modifiedQueries.push(a)}static queryValue(e){if(e!==void 0&&e.success)return e.value}},Dee=class{constructor(){We(this,`queryResults`),We(this,`optimisticUpdates`),this.queryResults=new Map,this.optimisticUpdates=[]}ingestQueryResultsFromServer(e,t){this.optimisticUpdates=this.optimisticUpdates.filter(e=>!t.has(e.mutationId));let n=this.queryResults;this.queryResults=new Map(e);let r=new Ge(this.queryResults);for(let e of this.optimisticUpdates)e.update(r);let i=[];for(let[e,t]of this.queryResults){let r=n.get(e);(r===void 0||r.result!==t.result)&&i.push(e)}return i}applyOptimisticUpdate(e,t){this.optimisticUpdates.push({update:e,mutationId:t});let n=new Ge(this.queryResults);return e(n),n.modifiedQueries}rawQueryResult(e){let t=this.queryResults.get(e);if(t!==void 0)return t.result}queryResult(e){let t=this.queryResults.get(e);if(t===void 0)return;let n=t.result;if(n!==void 0){if(n.success)return n.value;throw n.errorData===void 0?Error(k(`query`,t.udfPath,n)):ke(n,new xe(k(`query`,t.udfPath,n)))}}hasQueryResult(e){return this.queryResults.get(e)!==void 0}queryLogs(e){return this.queryResults.get(e)?.result?.logLines}},Oee=Object.defineProperty,kee=(e,t,n)=>t in e?Oee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ke=(e,t,n)=>kee(e,typeof t==`symbol`?t:t+``,n),F=class e{constructor(e,t){Ke(this,`low`),Ke(this,`high`),Ke(this,`__isUnsignedLong__`),this.low=e|0,this.high=t|0,this.__isUnsignedLong__=!0}static isLong(e){return(e&&e.__isUnsignedLong__)===!0}static fromBytesLE(t){return new e(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24)}toBytesLE(){let e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]}static fromNumber(t){return isNaN(t)||t<0?Aee:t>=jee?Mee:new e(t%I|0,t/I|0)}toString(){return(BigInt(this.high)*BigInt(I)+BigInt(this.low)).toString()}equals(t){return e.isLong(t)||(t=e.fromValue(t)),this.high>>>31==1&&t.high>>>31==1?!1:this.high===t.high&&this.low===t.low}notEquals(e){return!this.equals(e)}comp(t){return e.isLong(t)||(t=e.fromValue(t)),this.equals(t)?0:t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1}lessThanOrEqual(e){return this.comp(e)<=0}static fromValue(t){return typeof t==`number`?e.fromNumber(t):new e(t.low,t.high)}},Aee=new F(0,0),qe=65536,I=qe*qe,jee=I*I,Mee=new F(-1,-1),Nee=Object.defineProperty,Pee=(e,t,n)=>t in e?Nee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Je=(e,t,n)=>Pee(e,typeof t==`symbol`?t:t+``,n),Ye=class{constructor(e,t){Je(this,`version`),Je(this,`remoteQuerySet`),Je(this,`queryPath`),Je(this,`logger`),this.version={querySet:0,ts:F.fromNumber(0),identity:0},this.remoteQuerySet=new Map,this.queryPath=e,this.logger=t}transition(e){let t=e.startVersion;if(this.version.querySet!==t.querySet||this.version.ts.notEquals(t.ts)||this.version.identity!==t.identity)throw Error(`Invalid start version: ${t.ts.toString()}:${t.querySet}:${t.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`);for(let t of e.modifications)switch(t.type){case`QueryUpdated`:{let e=this.queryPath(t.queryId);if(e)for(let n of t.logLines)Oe(this.logger,`info`,`query`,e,n);let n=S(t.value??null);this.remoteQuerySet.set(t.queryId,{success:!0,value:n,logLines:t.logLines});break}case`QueryFailed`:{let e=this.queryPath(t.queryId);if(e)for(let n of t.logLines)Oe(this.logger,`info`,`query`,e,n);let{errorData:n}=t;this.remoteQuerySet.set(t.queryId,{success:!1,errorMessage:t.errorMessage,errorData:n===void 0?void 0:S(n),logLines:t.logLines});break}case`QueryRemoved`:this.remoteQuerySet.delete(t.queryId);break;default:throw Error(`Invalid modification ${t.type}`)}this.version=e.endVersion}remoteQueryResults(){return this.remoteQuerySet}timestamp(){return this.version.ts}};function Xe(e){let t=m(e);return F.fromBytesLE(Array.from(t))}function Fee(e){return _(new Uint8Array(e.toBytesLE()))}function Ze(e){switch(e.type){case`FatalError`:case`AuthError`:case`ActionResponse`:case`TransitionChunk`:case`Ping`:return{...e};case`MutationResponse`:return e.success?{...e,ts:Xe(e.ts)}:{...e};case`Transition`:return{...e,startVersion:{...e.startVersion,ts:Xe(e.startVersion.ts)},endVersion:{...e.endVersion,ts:Xe(e.endVersion.ts)}};default:}}function Iee(e){switch(e.type){case`Authenticate`:case`ModifyQuerySet`:case`Mutation`:case`Action`:case`Event`:return{...e};case`Connect`:return e.maxObservedTimestamp===void 0?{...e,maxObservedTimestamp:void 0}:{...e,maxObservedTimestamp:Fee(e.maxObservedTimestamp)};default:}}var Lee=Object.defineProperty,Ree=(e,t,n)=>t in e?Lee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>Ree(e,typeof t==`symbol`?t:t+``,n),zee=1e3,Bee=1001,Vee=1005,Hee=4040,Qe;function R(){return Qe===void 0&&(Qe=Date.now()),typeof performance>`u`||!performance.now?Date.now():Math.round(Qe+performance.now())}function $e(){return`t=${Math.round((R()-Qe)/100)/10}s`}var et={InternalServerError:{timeout:1e3},SubscriptionsWorkerFullError:{timeout:3e3},TooManyConcurrentRequests:{timeout:3e3},CommitterFullError:{timeout:3e3},AwsTooManyRequestsException:{timeout:3e3},ExecuteFullError:{timeout:3e3},SystemTimeoutError:{timeout:3e3},ExpiredInQueue:{timeout:3e3},VectorIndexesUnavailable:{timeout:1e3},SearchIndexesUnavailable:{timeout:1e3},TableSummariesUnavailable:{timeout:1e3},VectorIndexTooLarge:{timeout:3e3},SearchIndexTooLarge:{timeout:3e3},TooManyWritesInTimePeriod:{timeout:3e3}};function Uee(e){if(e===void 0)return`Unknown`;for(let t of Object.keys(et))if(e.startsWith(t))return t;return`Unknown`}var Wee=class{constructor(e,t,n,r,i,a){this.markConnectionStateDirty=i,this.debug=a,L(this,`socket`),L(this,`connectionCount`),L(this,`_hasEverConnected`,!1),L(this,`lastCloseReason`),L(this,`transitionChunkBuffer`,null),L(this,`defaultInitialBackoff`),L(this,`maxBackoff`),L(this,`retries`),L(this,`serverInactivityThreshold`),L(this,`reconnectDueToServerInactivityTimeout`),L(this,`scheduledReconnect`,null),L(this,`networkOnlineHandler`,null),L(this,`pendingNetworkRecoveryInfo`,null),L(this,`uri`),L(this,`onOpen`),L(this,`onResume`),L(this,`onMessage`),L(this,`webSocketConstructor`),L(this,`logger`),L(this,`onServerDisconnectError`),this.webSocketConstructor=n,this.socket={state:`disconnected`},this.connectionCount=0,this.lastCloseReason=`InitialConnect`,this.defaultInitialBackoff=1e3,this.maxBackoff=16e3,this.retries=0,this.serverInactivityThreshold=6e4,this.reconnectDueToServerInactivityTimeout=null,this.uri=e,this.onOpen=t.onOpen,this.onResume=t.onResume,this.onMessage=t.onMessage,this.onServerDisconnectError=t.onServerDisconnectError,this.logger=r,this.setupNetworkListener(),this.connect()}setSocketState(e){this.socket=e,this._logVerbose(`socket state changed: ${this.socket.state}, paused: ${`paused`in this.socket?this.socket.paused:void 0}`),this.markConnectionStateDirty()}setupNetworkListener(){typeof window>`u`||typeof window.addEventListener!=`function`||this.networkOnlineHandler===null&&(this.networkOnlineHandler=()=>{this._logVerbose(`network online event detected`),this.tryReconnectImmediately()},window.addEventListener(`online`,this.networkOnlineHandler),this._logVerbose(`network online event listener registered`))}cleanupNetworkListener(){this.networkOnlineHandler&&typeof window<`u`&&typeof window.removeEventListener==`function`&&(window.removeEventListener(`online`,this.networkOnlineHandler),this.networkOnlineHandler=null,this._logVerbose(`network online event listener removed`))}assembleTransition(e){if(e.partNumber<0||e.partNumber>=e.totalParts||e.totalParts===0||this.transitionChunkBuffer&&(this.transitionChunkBuffer.totalParts!==e.totalParts||this.transitionChunkBuffer.transitionId!==e.transitionId))throw this.transitionChunkBuffer=null,Error(`Invalid TransitionChunk`);if(this.transitionChunkBuffer===null&&(this.transitionChunkBuffer={chunks:[],totalParts:e.totalParts,transitionId:e.transitionId}),e.partNumber!==this.transitionChunkBuffer.chunks.length){let t=this.transitionChunkBuffer.chunks.length;throw this.transitionChunkBuffer=null,Error(`TransitionChunk received out of order: expected part ${t}, got ${e.partNumber}`)}if(this.transitionChunkBuffer.chunks.push(e.chunk),this.transitionChunkBuffer.chunks.length===e.totalParts){let e=this.transitionChunkBuffer.chunks.join(``);this.transitionChunkBuffer=null;let t=Ze(JSON.parse(e));if(t.type!==`Transition`)throw Error(`Expected Transition, got ${t.type} after assembling chunks`);return t}return null}connect(){if(this.socket.state===`terminated`)return;if(this.socket.state!==`disconnected`&&this.socket.state!==`stopped`)throw Error(`Didn't start connection from disconnected state: `+this.socket.state);let e=new this.webSocketConstructor(this.uri);this._logVerbose(`constructed WebSocket`),this.setSocketState({state:`connecting`,ws:e,paused:`no`}),this.resetServerInactivityTimeout(),e.onopen=()=>{if(this.logger.logVerbose(`begin ws.onopen`),this.socket.state!==`connecting`)throw Error(`onopen called with socket not in connecting state`);if(this.setSocketState({state:`ready`,ws:e,paused:this.socket.paused===`yes`?`uninitialized`:`no`}),this.resetServerInactivityTimeout(),this.socket.paused===`no`&&(this._hasEverConnected=!0,this.onOpen({connectionCount:this.connectionCount,lastCloseReason:this.lastCloseReason,clientTs:R()})),this.lastCloseReason!==`InitialConnect`&&(this.lastCloseReason?this.logger.log(`WebSocket reconnected at`,$e(),`after disconnect due to`,this.lastCloseReason):this.logger.log(`WebSocket reconnected at`,$e())),this.connectionCount+=1,this.lastCloseReason=null,this.pendingNetworkRecoveryInfo!==null){let{timeSavedMs:e}=this.pendingNetworkRecoveryInfo;this.pendingNetworkRecoveryInfo=null,this.sendMessage({type:`Event`,eventType:`NetworkRecoveryReconnect`,event:{timeSavedMs:e}}),this.logger.log(`Network recovery reconnect saved ~${Math.round(e/1e3)}s of waiting`)}},e.onerror=e=>{this.transitionChunkBuffer=null;let t=e.message;t&&this.logger.log(`WebSocket error message: ${t}`)},e.onmessage=e=>{this.resetServerInactivityTimeout();let t=e.data.length,n=Ze(JSON.parse(e.data));if(this._logVerbose(`received ws message with type ${n.type}`),n.type!==`Ping`){if(n.type===`TransitionChunk`){let e=this.assembleTransition(n);if(!e)return;n=e,this._logVerbose(`assembled full ws message of type ${n.type}`)}this.transitionChunkBuffer!==null&&(this.transitionChunkBuffer=null,this.logger.log(`Received unexpected ${n.type} while buffering TransitionChunks`)),n.type===`Transition`&&this.reportLargeTransition({messageLength:t,transition:n}),this.onMessage(n).hasSyncedPastLastReconnect&&(this.retries=0,this.markConnectionStateDirty())}},e.onclose=e=>{if(this._logVerbose(`begin ws.onclose`),this.transitionChunkBuffer=null,this.lastCloseReason===null&&(this.lastCloseReason=e.reason||`closed with code ${e.code}`),e.code!==zee&&e.code!==Bee&&e.code!==Vee&&e.code!==Hee){let t=`WebSocket closed with code ${e.code}`;e.reason&&(t+=`: ${e.reason}`),this.logger.log(t),this.onServerDisconnectError&&e.reason&&this.onServerDisconnectError(t)}let t=Uee(e.reason);this.scheduleReconnect(t)}}socketState(){return this.socket.state}sendMessage(e){let t={type:e.type,...e.type===`Authenticate`&&e.tokenType===`User`?{value:`...${e.value.slice(-7)}`}:{}};if(this.socket.state===`ready`&&this.socket.paused===`no`){let n=Iee(e),r=JSON.stringify(n),i=!1;try{this.socket.ws.send(r),i=!0}catch(e){this.logger.log(`Failed to send message on WebSocket, reconnecting: ${e}`),this.closeAndReconnect(`FailedToSendMessage`)}return this._logVerbose(`${i?`sent`:`failed to send`} message with type ${e.type}: ${JSON.stringify(t)}`),!0}return this._logVerbose(`message not sent (socket state: ${this.socket.state}, paused: ${`paused`in this.socket?this.socket.paused:void 0}): ${JSON.stringify(t)}`),!1}resetServerInactivityTimeout(){this.socket.state!==`terminated`&&(this.reconnectDueToServerInactivityTimeout!==null&&(clearTimeout(this.reconnectDueToServerInactivityTimeout),this.reconnectDueToServerInactivityTimeout=null),this.reconnectDueToServerInactivityTimeout=setTimeout(()=>{this.closeAndReconnect(`InactiveServer`)},this.serverInactivityThreshold))}scheduleReconnect(e){this.scheduledReconnect&&=(clearTimeout(this.scheduledReconnect.timeout),null),this.socket={state:`disconnected`};let t=this.nextBackoff(e);this.markConnectionStateDirty(),this.logger.log(`Attempting reconnect in ${Math.round(t)}ms`);let n=R(),r=setTimeout(()=>{this.scheduledReconnect?.timeout===r&&(this.scheduledReconnect=null,this.connect())},t);this.scheduledReconnect={timeout:r,scheduledAt:n,backoffMs:t}}closeAndReconnect(e){switch(this._logVerbose(`begin closeAndReconnect with reason ${e}`),this.socket.state){case`disconnected`:case`terminated`:case`stopped`:return;case`connecting`:case`ready`:this.lastCloseReason=e,this.close(),this.scheduleReconnect(`client`);return;default:this.socket}}close(){switch(this.transitionChunkBuffer=null,this.socket.state){case`disconnected`:case`terminated`:case`stopped`:return Promise.resolve();case`connecting`:{let e=this.socket.ws;return e.onmessage=e=>{this._logVerbose(`Ignoring message received after close`)},new Promise(t=>{e.onclose=()=>{this._logVerbose(`Closed after connecting`),t()},e.onopen=()=>{this._logVerbose(`Opened after connecting`),e.close()}})}case`ready`:{this._logVerbose(`ws.close called`);let e=this.socket.ws;e.onmessage=e=>{this._logVerbose(`Ignoring message received after close`)};let t=new Promise(t=>{e.onclose=()=>{t()}});return e.close(),t}default:return this.socket,Promise.resolve()}}terminate(){switch(this.reconnectDueToServerInactivityTimeout&&clearTimeout(this.reconnectDueToServerInactivityTimeout),this.scheduledReconnect&&=(clearTimeout(this.scheduledReconnect.timeout),null),this.cleanupNetworkListener(),this.socket.state){case`terminated`:case`stopped`:case`disconnected`:case`connecting`:case`ready`:{let e=this.close();return this.setSocketState({state:`terminated`}),e}default:throw this.socket,Error(`Invalid websocket state: ${this.socket.state}`)}}stop(){switch(this.socket.state){case`terminated`:return Promise.resolve();case`connecting`:case`stopped`:case`disconnected`:case`ready`:{this.cleanupNetworkListener();let e=this.close();return this.socket={state:`stopped`},e}default:return this.socket,Promise.resolve()}}tryRestart(){switch(this.socket.state){case`stopped`:break;case`terminated`:case`connecting`:case`ready`:case`disconnected`:this.logger.logVerbose(`Restart called without stopping first`);return;default:this.socket}this.setupNetworkListener(),this.connect()}pause(){switch(this.socket.state){case`disconnected`:case`stopped`:case`terminated`:return;case`connecting`:case`ready`:this.socket={...this.socket,paused:`yes`};return;default:this.socket;return}}tryReconnectImmediately(){if(this._logVerbose(`tryReconnectImmediately called`),this.socket.state!==`disconnected`){this._logVerbose(`tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`);return}let e=null;if(this.scheduledReconnect){let t=R()-this.scheduledReconnect.scheduledAt;e=Math.max(0,this.scheduledReconnect.backoffMs-t),this._logVerbose(`would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(t)}ms)`),clearTimeout(this.scheduledReconnect.timeout),this.scheduledReconnect=null,this._logVerbose(`canceled scheduled reconnect`)}this.logger.log(`Network recovery detected, reconnecting immediately`),this.pendingNetworkRecoveryInfo=e===null?null:{timeSavedMs:e},this.connect()}resume(){switch(this.socket.state){case`connecting`:this.socket={...this.socket,paused:`no`};return;case`ready`:this.socket.paused===`uninitialized`?(this.socket={...this.socket,paused:`no`},this._hasEverConnected=!0,this.onOpen({connectionCount:this.connectionCount,lastCloseReason:this.lastCloseReason,clientTs:R()})):this.socket.paused===`yes`&&(this.socket={...this.socket,paused:`no`},this.onResume());return;case`terminated`:case`stopped`:case`disconnected`:return;default:this.socket}this.connect()}connectionState(){return{isConnected:this.socket.state===`ready`,hasEverConnected:this._hasEverConnected,connectionCount:this.connectionCount,connectionRetries:this.retries}}_logVerbose(e){this.logger.logVerbose(e)}nextBackoff(e){let t=(e===`client`?100:e===`Unknown`?this.defaultInitialBackoff:et[e].timeout)*2**this.retries;this.retries+=1;let n=Math.min(t,this.maxBackoff);return n+n*(Math.random()-.5)}reportLargeTransition({transition:e,messageLength:t}){if(e.clientClockSkew===void 0||e.serverTs===void 0)return;let n=R()-e.clientClockSkew-e.serverTs/1e6,r=`${Math.round(n)}ms`,i=`${Math.round(t/1e4)/100}MB`,a=t/(n/1e3),o=`${Math.round(a/1e4)/100}MB per second`;this._logVerbose(`received ${i} transition in ${r} at ${o}`),t>2e7?this.logger.log(`received query results totaling more that 20MB (${i}) which will take a long time to download on slower connections`):n>2e4&&this.logger.log(`received query results totaling ${i} which took more than 20s to arrive (${r})`),this.debug&&this.sendMessage({type:`Event`,eventType:`ClientReceivedTransition`,event:{transitionTransitTime:n,messageLength:t}})}};function Gee(){return Kee()}function Kee(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}var z=class extends Error{};z.prototype.name=`InvalidTokenError`;function qee(e){return decodeURIComponent(atob(e).replace(/(.)/g,(e,t)=>{let n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n=`0`+n),`%`+n}))}function Jee(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);switch(t.length%4){case 0:break;case 2:t+=`==`;break;case 3:t+=`=`;break;default:throw Error(`base64 string is not of the correct length`)}try{return qee(t)}catch{return atob(t)}}function tt(e,t){if(typeof e!=`string`)throw new z(`Invalid token specified: must be a string`);t||={};let n=t.header===!0?0:1,r=e.split(`.`)[n];if(typeof r!=`string`)throw new z(`Invalid token specified: missing part #${n+1}`);let i;try{i=Jee(r)}catch(e){throw new z(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(i)}catch(e){throw new z(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}var Yee=Object.defineProperty,Xee=(e,t,n)=>t in e?Yee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,B=(e,t,n)=>Xee(e,typeof t==`symbol`?t:t+``,n),Zee=480*60*60*1e3,nt=2,Qee=class{constructor(e,t,n){B(this,`authState`,{state:`noAuth`}),B(this,`configVersion`,0),B(this,`syncState`),B(this,`authenticate`),B(this,`stopSocket`),B(this,`tryRestartSocket`),B(this,`pauseSocket`),B(this,`resumeSocket`),B(this,`clearAuth`),B(this,`logger`),B(this,`refreshTokenLeewaySeconds`),B(this,`lastRefreshChange`),B(this,`tokenConfirmationAttempts`,0),this.syncState=e,this.authenticate=t.authenticate,this.stopSocket=t.stopSocket,this.tryRestartSocket=t.tryRestartSocket,this.pauseSocket=t.pauseSocket,this.resumeSocket=t.resumeSocket,this.clearAuth=t.clearAuth,this.logger=n.logger,this.refreshTokenLeewaySeconds=n.refreshTokenLeewaySeconds,this.lastRefreshChange=!1}notifyRefreshChange(e){this.authState.state!==`noAuth`&&this.authState.state!==`initialRefetch`&&this.authState.config.onRefreshChange&&this.lastRefreshChange!==e&&(this.lastRefreshChange=e,this.authState.config.onRefreshChange(e))}async setConfig(e,t,n){this.resetAuthState(),this._logVerbose(`pausing WS for auth token fetch`),this.pauseSocket();let r=await this.fetchTokenAndGuardAgainstRace(e,{forceRefreshToken:!1});if(r.isFromOutdatedConfig)return;let i={fetchToken:e,onAuthChange:t,onRefreshChange:n};r.value?(this.setAuthState({state:`waitingForServerConfirmationOfCachedToken`,config:i,hasRetried:!1}),this.authenticate(r.value)):(this.setAuthState({state:`initialRefetch`,config:i}),await this.refetchToken()),this._logVerbose(`resuming WS after auth token fetch`),this.resumeSocket()}onTransition(e){if(this.syncState.isCurrentOrNewerAuthVersion(e.endVersion.identity)&&!(e.endVersion.identity<=e.startVersion.identity)){if(this._logVerbose(`auth state is ${this.authState.state} when handling transition`),this.syncState.markAuthCompletion(),this.authState.state===`waitingForServerConfirmationOfCachedToken`){this._logVerbose(`server confirmed auth token is valid`),this.refetchToken(),this.authState.config.onAuthChange(!0);return}this.authState.state===`waitingForServerConfirmationOfFreshToken`&&(this._logVerbose(`server confirmed new auth token is valid`),this.notifyRefreshChange(!1),this.scheduleTokenRefetch(this.authState.token),this.tokenConfirmationAttempts=0,this.authState.hadAuth||this.authState.config.onAuthChange(!0))}}onAuthError(e){if(e.authUpdateAttempted===!1&&(this.authState.state===`waitingForServerConfirmationOfFreshToken`||this.authState.state===`waitingForServerConfirmationOfCachedToken`)){this._logVerbose(`ignoring non-auth token expired error`);return}let{baseVersion:t}=e;if(!this.syncState.isCurrentOrNewerAuthVersion(t+1)){this._logVerbose(`ignoring auth error for previous auth attempt`);return}this.tryToReauthenticate(e)}async tryToReauthenticate(e){if(this._logVerbose(`attempting to reauthenticate: ${e.error}`),this.authState.state===`noAuth`||this.authState.state===`waitingForServerConfirmationOfFreshToken`&&this.tokenConfirmationAttempts>=nt){this.logger.error(`Failed to authenticate: "${e.error}", check your server auth config`),this.syncState.hasAuth()&&this.syncState.clearAuth(),this.authState.state!==`noAuth`&&this.setAndReportAuthFailed(this.authState.config.onAuthChange);return}if(this.authState.state===`waitingForServerConfirmationOfFreshToken`&&(this.tokenConfirmationAttempts++,this._logVerbose(`retrying reauthentication, ${nt-this.tokenConfirmationAttempts} attempts remaining`)),this.notifyRefreshChange(!0),await this.stopSocket(),this.authState.state===`noAuth`)return;let t=await this.fetchTokenAndGuardAgainstRace(this.authState.config.fetchToken,{forceRefreshToken:!0});t.isFromOutdatedConfig||(t.value&&this.syncState.isNewAuth(t.value)?(this.authenticate(t.value),this.setAuthState({state:`waitingForServerConfirmationOfFreshToken`,config:this.authState.config,token:t.value,hadAuth:this.authState.state===`notRefetching`||this.authState.state===`waitingForScheduledRefetch`})):(this._logVerbose(`reauthentication failed, could not fetch a new token`),this.syncState.hasAuth()&&this.syncState.clearAuth(),this.setAndReportAuthFailed(this.authState.config.onAuthChange)),this.tryRestartSocket())}async refetchToken(){if(this.authState.state===`noAuth`)return;this._logVerbose(`refetching auth token`);let e=await this.fetchTokenAndGuardAgainstRace(this.authState.config.fetchToken,{forceRefreshToken:!0});e.isFromOutdatedConfig||(e.value?this.syncState.isNewAuth(e.value)?(this.setAuthState({state:`waitingForServerConfirmationOfFreshToken`,hadAuth:this.syncState.hasAuth(),token:e.value,config:this.authState.config}),this.authenticate(e.value)):this.setAuthState({state:`notRefetching`,config:this.authState.config}):(this._logVerbose(`refetching token failed`),this.syncState.hasAuth()&&this.clearAuth(),this.setAndReportAuthFailed(this.authState.config.onAuthChange)),this._logVerbose(`restarting WS after auth token fetch (if currently stopped)`),this.tryRestartSocket())}scheduleTokenRefetch(e){if(this.authState.state===`noAuth`)return;let t=this.decodeToken(e);if(!t){this.logger.error(`Auth token is not a valid JWT, cannot refetch the token`);return}let{iat:n,exp:r}=t;if(!n||!r){this.logger.error(`Auth token does not have required fields, cannot refetch the token`);return}let i=r-n;if(i<=2){this.logger.error(`Auth token does not live long enough, cannot refetch the token`);return}let a=Math.min(Zee,(i-this.refreshTokenLeewaySeconds)*1e3);a<=0&&(this.logger.warn(`Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${i}s`),a=0);let o=setTimeout(()=>{this._logVerbose(`running scheduled token refetch`),this.refetchToken()},a);this.setAuthState({state:`waitingForScheduledRefetch`,refetchTokenTimeoutId:o,config:this.authState.config}),this._logVerbose(`scheduled preemptive auth token refetching in ${a}ms`)}async fetchTokenAndGuardAgainstRace(e,t){let n=++this.configVersion;this._logVerbose(`fetching token with config version ${n}`);let r=await e(t);return this.configVersion===n?{isFromOutdatedConfig:!1,value:r}:(this._logVerbose(`stale config version, expected ${n}, got ${this.configVersion}`),{isFromOutdatedConfig:!0})}stop(){this.resetAuthState(),this.configVersion++,this._logVerbose(`config version bumped to ${this.configVersion}`)}setAndReportAuthFailed(e){e(!1),this.resetAuthState()}resetAuthState(){this.notifyRefreshChange(!1),this.setAuthState({state:`noAuth`})}setAuthState(e){let t=e.state===`waitingForServerConfirmationOfFreshToken`?{hadAuth:e.hadAuth,state:e.state,token:`...${e.token.slice(-7)}`}:{state:e.state};switch(this._logVerbose(`setting auth state to ${JSON.stringify(t)}`),e.state){case`waitingForScheduledRefetch`:case`notRefetching`:case`noAuth`:this.tokenConfirmationAttempts=0;break;case`waitingForServerConfirmationOfFreshToken`:case`waitingForServerConfirmationOfCachedToken`:case`initialRefetch`:break;default:}this.authState.state===`waitingForScheduledRefetch`&&clearTimeout(this.authState.refetchTokenTimeoutId),this.authState=e}decodeToken(e){try{return tt(e)}catch(e){return this._logVerbose(`Error decoding token: ${e instanceof Error?e.message:`Unknown error`}`),null}}_logVerbose(e){this.logger.logVerbose(`${e} [v${this.configVersion}]`)}},$ee=[`convexClientConstructed`,`convexWebSocketOpen`,`convexFirstMessageReceived`];function ete(e,t){let n={sessionId:t};typeof performance>`u`||!performance.mark||performance.mark(e,{detail:n})}function tte(e){let t=e.name.slice(6);return t=t.charAt(0).toLowerCase()+t.slice(1),{name:t,startTime:e.startTime}}function nte(e){if(typeof performance>`u`||!performance.getEntriesByName)return[];let t=[];for(let n of $ee){let r=performance.getEntriesByName(n).filter(e=>e.entryType===`mark`).filter(t=>t.detail.sessionId===e);t.push(...r)}return t.map(tte)}var rte=Object.defineProperty,ite=(e,t,n)=>t in e?rte(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V=(e,t,n)=>ite(e,typeof t==`symbol`?t:t+``,n),ate=class{constructor(e,t,n){if(V(this,`address`),V(this,`state`),V(this,`requestManager`),V(this,`webSocketManager`),V(this,`authenticationManager`),V(this,`remoteQuerySet`),V(this,`optimisticQueryResults`),V(this,`_transitionHandlerCounter`,0),V(this,`_nextRequestId`),V(this,`_onTransitionFns`,new Map),V(this,`_sessionId`),V(this,`firstMessageReceived`,!1),V(this,`debug`),V(this,`logger`),V(this,`maxObservedTimestamp`),V(this,`connectionStateSubscribers`,new Map),V(this,`nextConnectionStateSubscriberId`,0),V(this,`_lastPublishedConnectionState`),V(this,`markConnectionStateDirty`,()=>{Promise.resolve().then(()=>{let e=this.connectionState();if(JSON.stringify(e)!==JSON.stringify(this._lastPublishedConnectionState)){this._lastPublishedConnectionState=e;for(let t of this.connectionStateSubscribers.values())t(e)}})}),V(this,`mark`,e=>{this.debug&&ete(e,this.sessionId)}),typeof e==`object`)throw Error(`Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.`);n?.skipConvexDeploymentUrlCheck!==!0&&ee(e),n={...n};let r=n.authRefreshTokenLeewaySeconds??10,i=n.webSocketConstructor;if(!i&&typeof WebSocket>`u`)throw Error(`No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient`);i||=WebSocket,this.debug=n.reportDebugInfoToConvex??!1,this.address=e,this.logger=n.logger===!1?De({verbose:n.verbose??!1}):n.logger!==!0&&n.logger?n.logger:Ee({verbose:n.verbose??!1});let a=e.search(`://`);if(a===-1)throw Error(`Provided address was not an absolute URL.`);let o=e.substring(a+3),s=e.substring(0,a),c;if(s===`http`)c=`ws`;else if(s===`https`)c=`wss`;else throw Error(`Unknown parent protocol ${s}`);let l=`${c}://${o}/api/${Se}/sync`;this.state=new je,this.remoteQuerySet=new Ye(e=>this.state.queryPath(e),this.logger),this.requestManager=new Fe(this.logger,this.markConnectionStateDirty);let u=()=>{this.webSocketManager.pause(),this.state.pause()};this.authenticationManager=new Qee(this.state,{authenticate:e=>{let t=this.state.setAuth(e);return this.webSocketManager.sendMessage(t),t.baseVersion},stopSocket:()=>this.webSocketManager.stop(),tryRestartSocket:()=>this.webSocketManager.tryRestart(),pauseSocket:u,resumeSocket:()=>this.webSocketManager.resume(),clearAuth:()=>{this.clearAuth()}},{logger:this.logger,refreshTokenLeewaySeconds:r}),this.optimisticQueryResults=new Dee,this.addOnTransitionHandler(e=>{t(e.queries.map(e=>e.token))}),this._nextRequestId=0,this._sessionId=Gee();let{unsavedChangesWarning:d}=n;if(typeof window>`u`||window.addEventListener===void 0){if(d===!0)throw Error(`unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.`)}else d!==!1&&window.addEventListener(`beforeunload`,e=>{if(this.requestManager.hasIncompleteRequests()){e.preventDefault();let t=`Are you sure you want to leave? Your changes may not be saved.`;return(e||window.event).returnValue=t,t}});this.webSocketManager=new Wee(l,{onOpen:e=>{this.mark(`convexWebSocketOpen`),this.webSocketManager.sendMessage({...e,type:`Connect`,sessionId:this._sessionId,maxObservedTimestamp:this.maxObservedTimestamp}),this.remoteQuerySet=new Ye(e=>this.state.queryPath(e),this.logger);let[t,n]=this.state.restart();n&&this.webSocketManager.sendMessage(n),this.webSocketManager.sendMessage(t);for(let e of this.requestManager.restart())this.webSocketManager.sendMessage(e)},onResume:()=>{let[e,t]=this.state.resume();t&&this.webSocketManager.sendMessage(t),e&&this.webSocketManager.sendMessage(e);for(let e of this.requestManager.resume())this.webSocketManager.sendMessage(e)},onMessage:e=>{switch(this.firstMessageReceived||(this.firstMessageReceived=!0,this.mark(`convexFirstMessageReceived`),this.reportMarks()),e.type){case`Transition`:{this.observedTimestamp(e.endVersion.ts),this.authenticationManager.onTransition(e),this.remoteQuerySet.transition(e),this.state.transition(e);let t=this.requestManager.removeCompleted(this.remoteQuerySet.timestamp());this.notifyOnQueryResultChanges(t);break}case`MutationResponse`:{e.success&&this.observedTimestamp(e.ts);let t=this.requestManager.onResponse(e);t!==null&&this.notifyOnQueryResultChanges(new Map([[t.requestId,t.result]]));break}case`ActionResponse`:this.requestManager.onResponse(e);break;case`AuthError`:this.authenticationManager.onAuthError(e);break;case`FatalError`:{let t=Cee(this.logger,e.error);throw this.webSocketManager.terminate(),t}default:}return{hasSyncedPastLastReconnect:this.hasSyncedPastLastReconnect()}},onServerDisconnectError:n.onServerDisconnectError},i,this.logger,this.markConnectionStateDirty,this.debug),this.mark(`convexClientConstructed`),n.expectAuth&&u()}hasSyncedPastLastReconnect(){return this.requestManager.hasSyncedPastLastReconnect()&&this.state.hasSyncedPastLastReconnect()}observedTimestamp(e){(this.maxObservedTimestamp===void 0||this.maxObservedTimestamp.lessThanOrEqual(e))&&(this.maxObservedTimestamp=e)}getMaxObservedTimestamp(){return this.maxObservedTimestamp}notifyOnQueryResultChanges(e){let t=this.remoteQuerySet.remoteQueryResults(),n=new Map;for(let[e,r]of t){let t=this.state.queryToken(e);if(t!==null){let i={result:r,udfPath:this.state.queryPath(e),args:this.state.queryArgs(e)};n.set(t,i)}}let r=this.optimisticQueryResults.ingestQueryResultsFromServer(n,new Set(e.keys()));this.handleTransition({queries:r.map(e=>({token:e,modification:{kind:`Updated`,result:this.optimisticQueryResults.rawQueryResult(e)}})),reflectedMutations:Array.from(e).map(([e,t])=>({requestId:e,result:t})),timestamp:this.remoteQuerySet.timestamp()})}handleTransition(e){for(let t of this._onTransitionFns.values())t(e)}addOnTransitionHandler(e){let t=this._transitionHandlerCounter++;return this._onTransitionFns.set(t,e),()=>this._onTransitionFns.delete(t)}getCurrentAuthClaims(){let e=this.state.getAuth(),t={};if(e&&e.tokenType===`User`)try{t=e?tt(e.value):{}}catch{t={}}else return;return{token:e.value,decoded:t}}setAuth(e,t,n){this.authenticationManager.setConfig(e,t,n)}hasAuth(){return this.state.hasAuth()}setAdminAuth(e,t){let n=this.state.setAdminAuth(e,t);this.webSocketManager.sendMessage(n)}clearAuth(){let e=this.state.clearAuth();this.webSocketManager.sendMessage(e)}subscribe(e,t,n){let r=v(t),{modification:i,queryToken:a,unsubscribe:o}=this.state.subscribe(e,r,n?.journal,n?.componentPath);return i!==null&&this.webSocketManager.sendMessage(i),{queryToken:a,unsubscribe:()=>{let e=o();e&&this.webSocketManager.sendMessage(e)}}}localQueryResult(e,t){let n=j(e,v(t));return this.optimisticQueryResults.queryResult(n)}localQueryResultByToken(e){return this.optimisticQueryResults.queryResult(e)}hasLocalQueryResultByToken(e){return this.optimisticQueryResults.hasQueryResult(e)}localQueryLogs(e,t){let n=j(e,v(t));return this.optimisticQueryResults.queryLogs(n)}queryJournal(e,t){let n=j(e,v(t));return this.state.queryJournal(n)}connectionState(){let e=this.webSocketManager.connectionState();return{hasInflightRequests:this.requestManager.hasInflightRequests(),isWebSocketConnected:e.isConnected,hasEverConnected:e.hasEverConnected,connectionCount:e.connectionCount,connectionRetries:e.connectionRetries,timeOfOldestInflightRequest:this.requestManager.timeOfOldestInflightRequest(),inflightMutations:this.requestManager.inflightMutations(),inflightActions:this.requestManager.inflightActions()}}subscribeToConnectionState(e){let t=this.nextConnectionStateSubscriberId++;return this.connectionStateSubscribers.set(t,e),()=>{this.connectionStateSubscribers.delete(t)}}async mutation(e,t,n){let r=await this.mutationInternal(e,t,n);if(!r.success)throw r.errorData===void 0?Error(k(`mutation`,e,r)):ke(r,new xe(k(`mutation`,e,r)));return r.value}async mutationInternal(e,t,n,r){let{mutationPromise:i}=this.enqueueMutation(e,t,n,r);return i}enqueueMutation(e,t,n,r){let i=v(t);this.tryReportLongDisconnect();let a=this.nextRequestId;if(this._nextRequestId++,n!==void 0){let e=n.optimisticUpdate;if(e!==void 0){let t=this.optimisticQueryResults.applyOptimisticUpdate(t=>{e(t,i)instanceof Promise&&this.logger.warn(`Optimistic update handler returned a Promise. Optimistic updates should be synchronous.`)},a).map(e=>{let t=this.localQueryResultByToken(e);return{token:e,modification:{kind:`Updated`,result:t===void 0?void 0:{success:!0,value:t,logLines:[]}}}});this.handleTransition({queries:t,reflectedMutations:[],timestamp:this.remoteQuerySet.timestamp()})}}let o={type:`Mutation`,requestId:a,udfPath:e,componentPath:r,args:[w(i)]},s=this.webSocketManager.sendMessage(o);return{requestId:a,mutationPromise:this.requestManager.request(o,s)}}async action(e,t){let n=await this.actionInternal(e,t);if(!n.success)throw n.errorData===void 0?Error(k(`action`,e,n)):ke(n,new xe(k(`action`,e,n)));return n.value}async actionInternal(e,t,n){let r=v(t),i=this.nextRequestId;this._nextRequestId++,this.tryReportLongDisconnect();let a={type:`Action`,requestId:i,udfPath:e,componentPath:n,args:[w(r)]},o=this.webSocketManager.sendMessage(a);return this.requestManager.request(a,o)}async close(){return this.authenticationManager.stop(),this.webSocketManager.terminate()}get url(){return this.address}get nextRequestId(){return this._nextRequestId}get sessionId(){return this._sessionId}reportMarks(){if(this.debug){let e=nte(this.sessionId);this.webSocketManager.sendMessage({type:`Event`,eventType:`ClientConnect`,event:e})}}tryReportLongDisconnect(){if(!this.debug)return;let e=this.connectionState().timeOfOldestInflightRequest;if(e===null||Date.now()-e.getTime()<=60*1e3)return;let t=`${this.address}/api/debug_event`;fetch(t,{method:`POST`,headers:{"Content-Type":`application/json`,"Convex-Client":`npm-${Se}`},body:JSON.stringify({event:`LongWebsocketDisconnect`})}).then(e=>{e.ok||this.logger.warn(`Analytics request failed with response:`,e.body)}).catch(e=>{this.logger.warn(`Analytics response failed with error:`,e)})}};function rt(e){if(typeof e!=`object`||!e||!Array.isArray(e.page)||typeof e.isDone!=`boolean`||typeof e.continueCursor!=`string`)throw Error(`Not a valid paginated query result: ${e?.toString()}`);return e}var ote=Object.defineProperty,ste=(e,t,n)=>t in e?ote(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,it=(e,t,n)=>ste(e,typeof t==`symbol`?t:t+``,n),cte=class{constructor(e,t){this.client=e,this.onTransition=t,it(this,`paginatedQuerySet`,new Map),it(this,`lastTransitionTs`),this.lastTransitionTs=F.fromNumber(0),this.client.addOnTransitionHandler(e=>this.onBaseTransition(e))}subscribe(e,t,n){let r=A(e),i=Ae(r,t,n),a=()=>this.removePaginatedQuerySubscriber(i),o=this.paginatedQuerySet.get(i);return o?(o.numSubscribers+=1,{paginatedQueryToken:i,unsubscribe:a}):(this.paginatedQuerySet.set(i,{token:i,canonicalizedUdfPath:r,args:t,numSubscribers:1,options:{initialNumItems:n.initialNumItems},nextPageKey:0,pageKeys:[],pageKeyToQuery:new Map,ongoingSplits:new Map,skip:!1,id:n.id}),this.addPageToPaginatedQuery(i,null,n.initialNumItems),{paginatedQueryToken:i,unsubscribe:a})}localQueryResult(e,t,n){let r=Ae(A(e),t,n);return this.localQueryResultByToken(r)}localQueryResultByToken(e){let t=this.paginatedQuerySet.get(e);if(!t)return;let n=this.activePageQueryTokens(t);if(n.length===0)return{results:[],status:`LoadingFirstPage`,loadMore:t=>this.loadMoreOfPaginatedQuery(e,t)};let r=[],i=!1,a=!1;for(let e of n){let t=this.client.localQueryResultByToken(e);if(t===void 0){i=!0,a=!1;continue}let n=rt(t);r=r.concat(n.page),a=!!n.isDone}let o;return o=i?r.length===0?`LoadingFirstPage`:`LoadingMore`:a?`Exhausted`:`CanLoadMore`,{results:r,status:o,loadMore:t=>this.loadMoreOfPaginatedQuery(e,t)}}onBaseTransition(e){let t=e.queries.map(e=>e.token),n=this.queriesContainingTokens(t),r=[];n.length>0&&(this.processPaginatedQuerySplits(n,e=>this.client.localQueryResultByToken(e)),r=n.map(e=>({token:e,modification:{kind:`Updated`,result:this.localQueryResultByToken(e)}})));let i={...e,paginatedQueries:r};this.onTransition(i)}loadMoreOfPaginatedQuery(e,t){this.mustGetPaginatedQuery(e);let n=this.queryTokenForLastPageOfPaginatedQuery(e),r=this.client.localQueryResultByToken(n);if(!r)return!1;let i=rt(r);if(i.isDone)return!1;this.addPageToPaginatedQuery(e,i.continueCursor,t);let a={timestamp:this.lastTransitionTs,reflectedMutations:[],queries:[],paginatedQueries:[{token:e,modification:{kind:`Updated`,result:this.localQueryResultByToken(e)}}]};return this.onTransition(a),!0}queriesContainingTokens(e){if(e.length===0)return[];let t=[],n=new Set(e);for(let[e,r]of this.paginatedQuerySet)for(let i of this.allQueryTokens(r))if(n.has(i)){t.push(e);break}return t}processPaginatedQuerySplits(e,t){for(let n of e){let e=this.mustGetPaginatedQuery(n),{ongoingSplits:r,pageKeyToQuery:i,pageKeys:a}=e;for(let[n,[a,o]]of r)t(i.get(a).queryToken)!==void 0&&t(i.get(o).queryToken)!==void 0&&this.completePaginatedQuerySplit(e,n,a,o);for(let n of a){if(r.has(n))continue;let a=i.get(n).queryToken,o=t(a);if(!o)continue;let s=rt(o);s.splitCursor&&(s.pageStatus===`SplitRecommended`||s.pageStatus===`SplitRequired`||s.page.length>e.options.initialNumItems*2)&&this.splitPaginatedQueryPage(e,n,s.splitCursor,s.continueCursor)}}}splitPaginatedQueryPage(e,t,n,r){let i=e.nextPageKey++,a=e.nextPageKey++,o={cursor:r,numItems:e.options.initialNumItems,id:e.id},s=this.client.subscribe(e.canonicalizedUdfPath,{...e.args,paginationOpts:{...o,cursor:null,endCursor:n}});e.pageKeyToQuery.set(i,s);let c=this.client.subscribe(e.canonicalizedUdfPath,{...e.args,paginationOpts:{...o,cursor:n,endCursor:r}});e.pageKeyToQuery.set(a,c),e.ongoingSplits.set(t,[i,a])}addPageToPaginatedQuery(e,t,n){let r=this.mustGetPaginatedQuery(e),i=r.nextPageKey++,a={cursor:t,numItems:n,id:r.id},o={...r.args,paginationOpts:a},s=this.client.subscribe(r.canonicalizedUdfPath,o);return r.pageKeys.push(i),r.pageKeyToQuery.set(i,s),s}removePaginatedQuerySubscriber(e){let t=this.paginatedQuerySet.get(e);if(t&&(--t.numSubscribers,!(t.numSubscribers>0))){for(let e of t.pageKeyToQuery.values())e.unsubscribe();this.paginatedQuerySet.delete(e)}}completePaginatedQuerySplit(e,t,n,r){let i=e.pageKeyToQuery.get(t);e.pageKeyToQuery.delete(t);let a=e.pageKeys.indexOf(t);e.pageKeys.splice(a,1,n,r),e.ongoingSplits.delete(t),i.unsubscribe()}activePageQueryTokens(e){return e.pageKeys.map(t=>e.pageKeyToQuery.get(t).queryToken)}allQueryTokens(e){return Array.from(e.pageKeyToQuery.values()).map(e=>e.queryToken)}queryTokenForLastPageOfPaginatedQuery(e){let t=this.mustGetPaginatedQuery(e),n=t.pageKeys[t.pageKeys.length-1];if(n===void 0)throw Error(`No pages for paginated query ${e}`);return t.pageKeyToQuery.get(n).queryToken}mustGetPaginatedQuery(e){let t=this.paginatedQuerySet.get(e);if(!t)throw Error(`paginated query no longer exists for token `+e);return t}};function lte({getCurrentValue:e,subscribe:t}){let[n,r]=(0,T.useState)(()=>({getCurrentValue:e,subscribe:t,value:e()})),i=n.value;return(n.getCurrentValue!==e||n.subscribe!==t)&&(i=e(),r({getCurrentValue:e,subscribe:t,value:i})),(0,T.useEffect)(()=>{let n=!1,i=()=>{n||r(n=>{if(n.getCurrentValue!==e||n.subscribe!==t)return n;let r=e();return n.value===r?n:{...n,value:r}})},a=t(i);return i(),()=>{n=!0,a()}},[e,t]),i}var ute=Object.defineProperty,dte=(e,t,n)=>t in e?ute(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H=(e,t,n)=>dte(e,typeof t==`symbol`?t:t+``,n),fte=5e3;if(T.default===void 0)throw Error(`Required dependency 'react' not found`);function at(e,t,n){function r(r){return yte(r),t.mutation(e,r,{optimisticUpdate:n})}return r.withOptimisticUpdate=function(r){if(n!==void 0)throw Error(`Already specified optimistic update for mutation ${P(e)}`);return at(e,t,r)},r}function pte(e,t){return function(n){return t.action(e,n)}}var mte=class{constructor(e,t){if(H(this,`address`),H(this,`cachedSync`),H(this,`cachedPaginatedQueryClient`),H(this,`listeners`),H(this,`options`),H(this,`closed`,!1),H(this,`_logger`),H(this,`adminAuth`),H(this,`fakeUserIdentity`),e===void 0)throw Error(`No address provided to ConvexReactClient.
3
- If trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/
4
- If running locally, make sure to run \`convex dev\` and ensure the .env.local file is populated.`);if(typeof e!=`string`)throw Error(`ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`);if(!e.includes(`://`))throw Error(`Provided address was not an absolute URL.`);this.address=e,this.listeners=new Map,this._logger=t?.logger===!1?De({verbose:t?.verbose??!1}):t?.logger!==!0&&t?.logger?t.logger:Ee({verbose:t?.verbose??!1}),this.options={...t,logger:this._logger}}get url(){return this.address}get sync(){if(this.closed)throw Error(`ConvexReactClient has already been closed.`);return this.cachedSync?this.cachedSync:(this.cachedSync=new ate(this.address,()=>{},this.options),this.adminAuth&&this.cachedSync.setAdminAuth(this.adminAuth,this.fakeUserIdentity),this.cachedPaginatedQueryClient=new cte(this.cachedSync,e=>this.handleTransition(e)),this.cachedSync)}get paginatedQueryClient(){if(this.sync,this.cachedPaginatedQueryClient)return this.cachedPaginatedQueryClient;throw Error(`Should already be instantiated`)}setAuth(e,t,n){if(typeof e==`string`)throw Error(`Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.`);this.sync.setAuth(e,t??(()=>{}),n)}clearAuth(){this.sync.clearAuth()}setAdminAuth(e,t){if(this.adminAuth=e,this.fakeUserIdentity=t,this.closed)throw Error(`ConvexReactClient has already been closed.`);this.cachedSync&&this.sync.setAdminAuth(e,t)}watchQuery(e,...t){let[n,r]=t,i=P(e);return{onUpdate:e=>{let{queryToken:t,unsubscribe:a}=this.sync.subscribe(i,n,r),o=this.listeners.get(t);return o===void 0?this.listeners.set(t,new Set([e])):o.add(e),()=>{if(this.closed)return;let n=this.listeners.get(t);n.delete(e),n.size===0&&this.listeners.delete(t),a()}},localQueryResult:()=>{if(this.cachedSync)return this.cachedSync.localQueryResult(i,n)},localQueryLogs:()=>{if(this.cachedSync)return this.cachedSync.localQueryLogs(i,n)},journal:()=>{if(this.cachedSync)return this.cachedSync.queryJournal(i,n)}}}prewarmQuery(e){let t=e.extendSubscriptionFor??fte,n=this.watchQuery(e.query,e.args||{}).onUpdate(()=>{});setTimeout(n,t)}watchPaginatedQuery(e,t,n){let r=P(e);return{onUpdate:e=>{let{paginatedQueryToken:i,unsubscribe:a}=this.paginatedQueryClient.subscribe(r,t||{},n),o=this.listeners.get(i);return o===void 0?this.listeners.set(i,new Set([e])):o.add(e),()=>{if(this.closed)return;let t=this.listeners.get(i);t.delete(e),t.size===0&&this.listeners.delete(i),a()}},localQueryResult:()=>this.paginatedQueryClient.localQueryResult(r,t,n)}}mutation(e,...t){let[n,r]=t,i=P(e);return this.sync.mutation(i,n,r)}action(e,...t){let n=P(e);return this.sync.action(n,...t)}query(e,...t){let n=this.watchQuery(e,...t),r=n.localQueryResult();return r===void 0?new Promise((e,t)=>{let r=n.onUpdate(()=>{r();try{e(n.localQueryResult())}catch(e){t(e)}})}):Promise.resolve(r)}connectionState(){return this.sync.connectionState()}subscribeToConnectionState(e){return this.sync.subscribeToConnectionState(e)}get logger(){return this._logger}async close(){if(this.closed=!0,this.listeners=new Map,this.cachedPaginatedQueryClient&&=void 0,this.cachedSync){let e=this.cachedSync;this.cachedSync=void 0,await e.close()}}handleTransition(e){let t=e.queries.map(e=>e.token),n=e.paginatedQueries.map(e=>e.token);this.transition([...t,...n])}transition(e){for(let t of e){let e=this.listeners.get(t);if(e)for(let t of e)t()}}},ot=T.createContext(void 0);function st(){return(0,T.useContext)(ot)}var hte=({client:e,children:t})=>T.createElement(ot.Provider,{value:e},t);function gte(e,...t){let n=t[0]===`skip`,r=t[0]===`skip`?{}:v(t[0]),i=typeof e==`string`?Be(e):e,a=P(i),o=dt((0,T.useMemo)(()=>n?{}:{query:{query:i,args:r}},[JSON.stringify(w(r)),a,n])).query;if(o instanceof Error)throw o;return o}function _te(e){let t=typeof e==`string`?Be(e):e,n=(0,T.useContext)(ot);if(n===void 0)throw Error("Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return(0,T.useMemo)(()=>at(t,n),[n,P(t)])}function vte(e){let t=(0,T.useContext)(ot),n=typeof e==`string`?Be(e):e;if(t===void 0)throw Error("Could not find Convex client! `useAction` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return(0,T.useMemo)(()=>pte(n,t),[t,P(n)])}function yte(e){if(typeof e==`object`&&e&&`bubbles`in e&&`persist`in e&&`isDefaultPrevented`in e)throw Error("Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.")}var bte=Object.defineProperty,ct=(e,t,n)=>t in e?bte(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lt=(e,t,n)=>ct(e,typeof t==`symbol`?t:t+``,n),ut=class{constructor(e){lt(this,`createWatch`),lt(this,`queries`),lt(this,`listeners`),this.createWatch=e,this.queries={},this.listeners=new Set}setQueries(e){for(let t of Object.keys(e)){let{query:n,args:r,paginationOptions:i}=e[t];if(P(n),this.queries[t]===void 0)this.addQuery(t,n,r,i?{paginationOptions:i}:{});else{let e=this.queries[t];(P(n)!==P(e.query)||JSON.stringify(w(r))!==JSON.stringify(w(e.args))||JSON.stringify(i)!==JSON.stringify(e.paginationOptions))&&(this.removeQuery(t),this.addQuery(t,n,r,i?{paginationOptions:i}:{}))}}for(let t of Object.keys(this.queries))e[t]===void 0&&this.removeQuery(t)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}getLocalResults(e){let t={};for(let n of Object.keys(e)){let{query:r,args:i}=e[n],a=e[n].paginationOptions;P(r);let o=this.createWatch(r,i,a?{paginationOptions:a}:{}),s;try{s=o.localQueryResult()}catch(e){if(e instanceof Error)s=e;else throw e}t[n]=s}return t}setCreateWatch(e){this.createWatch=e;for(let e of Object.keys(this.queries)){let{query:t,args:n,watch:r,paginationOptions:i}=this.queries[e],a=`journal`in r?r.journal():void 0;this.removeQuery(e),this.addQuery(e,t,n,{...a?{journal:a}:[],...i?{paginationOptions:i}:{}})}}destroy(){for(let e of Object.keys(this.queries))this.removeQuery(e);this.listeners=new Set}addQuery(e,t,n,{paginationOptions:r,journal:i}){if(this.queries[e]!==void 0)throw Error(`Tried to add a new query with identifier ${e} when it already exists.`);let a=this.createWatch(t,n,{...i?{journal:i}:[],...r?{paginationOptions:r}:{}}),o=a.onUpdate(()=>this.notifyListeners());this.queries[e]={query:t,args:n,watch:a,unsubscribe:o,...r?{paginationOptions:r}:{}}}removeQuery(e){let t=this.queries[e];if(t===void 0)throw Error(`No query found with identifier ${e}.`);t.unsubscribe(),delete this.queries[e]}notifyListeners(){for(let e of this.listeners)e()}};function dt(e){let t=st();if(t===void 0)throw Error("Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return ft(e,(0,T.useMemo)(()=>(e,n,{journal:r,paginationOptions:i})=>i?t.watchPaginatedQuery(e,n,i):t.watchQuery(e,n,r?{journal:r}:{}),[t]))}function ft(e,t){let[n]=(0,T.useState)(()=>new ut(t));return n.createWatch!==t&&n.setCreateWatch(t),(0,T.useEffect)(()=>()=>n.destroy(),[n]),lte((0,T.useMemo)(()=>({getCurrentValue:()=>n.getLocalResults(e),subscribe:t=>(n.setQueries(e),n.subscribe(t))}),[n,e]))}var pt={},mt=[`fr`,`en`],ht=`PARAGLIDE_LOCALE`,gt=[`localStorage`,`baseLocale`],_t=[],vt,yt;function bt(e){if(_t.length===0)return;let t=typeof e==`string`?e:e.href;if(vt===t)return yt;let n=new URL(t,`http://dummy.com`),r;for(let e of _t)if(new pt(e.match,n.href).exec(n.href)){r=e;break}return vt=t,yt=r,r}function xt(e){let t=bt(e);return t&&t.exclude!==!0&&Array.isArray(t.strategy)?t.strategy:gt}var St=void 0;globalThis.__paraglide=globalThis.__paraglide??{},globalThis.__paraglide.ssr=globalThis.__paraglide.ssr??{};var Ct=!1,U=()=>{if(St){let e=St?.getStore()?.locale;if(e)return e}let e=gt;typeof window<`u`&&window.location?.href&&(e=xt(window.location.href));let t=wt(e,typeof window<`u`?window.location?.href:void 0);if(t)return Ct||(Ct=!0,Et(t,{reload:!1})),t;throw Error(`No locale found. Read the docs https://inlang.com/m/gerre34r/library-inlang-paraglideJs/errors#no-locale-found`)};function wt(e,t){let n;for(let t of e){if(t===`baseLocale`)n=`fr`;else if(t===`localStorage`)n=localStorage.getItem(`PARAGLIDE_LOCALE`)??void 0;else if(At(t)&&kt.has(t)){let e=kt.get(t);if(e){let t=e.getLocale();if(t instanceof Promise)continue;if(t!==void 0)return Ot(t)}}let e=Dt(n);if(e)return e}}var Tt=e=>{e?window.location.href=e:window.location.reload()},Et=(e,t)=>{let n={reload:!0,...t},r;try{r=U()}catch{}let i=[],a=gt;typeof window<`u`&&window.location?.href&&(a=xt(window.location.href));for(let t of a)if(t===`baseLocale`)continue;else if(t===`localStorage`&&typeof window<`u`)localStorage.setItem(ht,e);else if(At(t)&&kt.has(t)){let n=kt.get(t);if(n){let r=n.setLocale(e);r instanceof Promise&&(r=r.catch(e=>{throw Error(`Custom strategy "${t}" setLocale failed.`,{cause:e})}),i.push(r))}}let o=()=>{n.reload&&window.location&&e!==r&&Tt(void 0)};if(i.length)return Promise.all(i).then(()=>{o()});o()};function Dt(e){if(typeof e!=`string`)return;let t=e.toLowerCase();for(let e of mt)if(e.toLowerCase()===t)return e}function Ot(e){let t=Dt(e);if(t)return t;throw Error(`Invalid locale: ${e}. Expected one of: ${mt.join(`, `)}`)}var kt=new Map;function At(e){return typeof e==`string`&&/^custom-[A-Za-z0-9_-]+$/.test(e)}var jt=e=>`Fichier trop volumineux (${e?.size} Mo, max ${e?.max} Mo). Réduisez-le (p. ex. compressez les images) et réessayez.`,Mt=e=>`File too large (${e?.size} MB, max ${e?.max} MB). Reduce it (e.g. compress images) and try again.`,Nt=((e,t={})=>(t.locale??U())===`fr`?jt(e):Mt(e)),Pt=()=>`Chargement…`,Ft=()=>`Loading…`,It=((e={},t={})=>(t.locale??U())===`fr`?Pt(e):Ft(e)),Lt=()=>`Thème`,Rt=()=>`Theme`,zt=((e={},t={})=>(t.locale??U())===`fr`?Lt(e):Rt(e)),Bt=()=>`Clair`,Vt=()=>`Light`,Ht=((e={},t={})=>(t.locale??U())===`fr`?Bt(e):Vt(e)),Ut=()=>`Sombre`,Wt=()=>`Dark`,Gt=((e={},t={})=>(t.locale??U())===`fr`?Ut(e):Wt(e)),Kt=()=>`Système`,qt=()=>`System`,Jt=((e={},t={})=>(t.locale??U())===`fr`?Kt(e):qt(e)),Yt=()=>`Défaut de l’app`,Xt=()=>`App default`,Zt=((e={},t={})=>(t.locale??U())===`fr`?Yt(e):Xt(e)),Qt=()=>`Se déconnecter`,$t=()=>`Sign out`,en=((e={},t={})=>(t.locale??U())===`fr`?Qt(e):$t(e)),tn=()=>`Préférences`,nn=()=>`Preferences`,rn=((e={},t={})=>(t.locale??U())===`fr`?tn(e):nn(e)),an=()=>`Nom affiché`,on=()=>`Display name`,sn=((e={},t={})=>(t.locale??U())===`fr`?an(e):on(e)),cn=()=>`Le nom et prénom affichés dans la liste des utilisateurs et le menu de compte. Vous pouvez le modifier à tout moment.`,ln=()=>`The name shown in the user list and the account menu. You can change it at any time.`,un=((e={},t={})=>(t.locale??U())===`fr`?cn(e):ln(e)),dn=()=>`Votre nom et prénom`,fn=()=>`Your name`,pn=((e={},t={})=>(t.locale??U())===`fr`?dn(e):fn(e)),mn=()=>`Laissez vide pour n’afficher que votre email.`,hn=()=>`Leave empty to show only your email.`,gn=((e={},t={})=>(t.locale??U())===`fr`?mn(e):hn(e)),_n=()=>`Nom affiché mis à jour.`,vn=()=>`Display name updated.`,yn=((e={},t={})=>(t.locale??U())===`fr`?_n(e):vn(e)),bn=()=>`Échec de la mise à jour du nom`,xn=()=>`Failed to update the name`,Sn=((e={},t={})=>(t.locale??U())===`fr`?bn(e):xn(e)),Cn=()=>`Langue`,wn=()=>`Language`,Tn=((e={},t={})=>(t.locale??U())===`fr`?Cn(e):wn(e)),En=()=>`Choisissez la langue de l’interface. « Défaut de l’app » suit le réglage de l’administrateur.`,Dn=()=>`Choose the interface language. “App default” follows the administrator setting.`,On=((e={},t={})=>(t.locale??U())===`fr`?En(e):Dn(e)),kn=()=>`Le changement de langue recharge la page une fois.`,An=()=>`Changing the language reloads the page once.`,jn=((e={},t={})=>(t.locale??U())===`fr`?kn(e):An(e)),Mn=()=>`Taille du texte`,Nn=()=>`Text size`,Pn=((e={},t={})=>(t.locale??U())===`fr`?Mn(e):Nn(e)),Fn=()=>`Ajustez la taille du texte de toute l’interface pour plus de confort de lecture.`,In=()=>`Adjust the text size of the whole interface for reading comfort.`,Ln=((e={},t={})=>(t.locale??U())===`fr`?Fn(e):In(e)),Rn=()=>`La taille choisie s’applique immédiatement et vous suit sur tous vos appareils.`,zn=()=>`The chosen size applies immediately and follows you across devices.`,Bn=((e={},t={})=>(t.locale??U())===`fr`?Rn(e):zn(e)),Vn=()=>`Petite`,Hn=()=>`Small`,Un=((e={},t={})=>(t.locale??U())===`fr`?Vn(e):Hn(e)),Wn=()=>`Normale`,Gn=()=>`Normal`,Kn=((e={},t={})=>(t.locale??U())===`fr`?Wn(e):Gn(e)),qn=()=>`Grande`,Jn=()=>`Large`,Yn=((e={},t={})=>(t.locale??U())===`fr`?qn(e):Jn(e)),Xn=()=>`Très grande`,Zn=()=>`Extra large`,Qn=((e={},t={})=>(t.locale??U())===`fr`?Xn(e):Zn(e)),$n=()=>`Interface`,er=()=>`Interface`,tr=((e={},t={})=>(t.locale??U())===`fr`?$n(e):er(e)),nr=()=>`Activez ou masquez des éléments d’interface. Les options grisées sont verrouillées par l’administrateur.`,rr=()=>`Enable or hide interface elements. Greyed options are locked by the administrator.`,ir=((e={},t={})=>(t.locale??U())===`fr`?nr(e):rr(e)),ar=()=>`Fichiers`,or=()=>`Files`,sr=((e={},t={})=>(t.locale??U())===`fr`?ar(e):or(e)),cr=()=>`Tous les fichiers échangés dans vos conversations (envoyés et reçus).`,lr=()=>`Every file exchanged across your conversations (sent and received).`,ur=((e={},t={})=>(t.locale??U())===`fr`?cr(e):lr(e)),dr=()=>`Sens`,fr=()=>`Direction`,pr=((e={},t={})=>(t.locale??U())===`fr`?dr(e):fr(e)),mr=()=>`Tous les sens`,hr=()=>`All directions`,gr=((e={},t={})=>(t.locale??U())===`fr`?mr(e):hr(e)),_r=()=>`Envoyé`,vr=()=>`Sent`,yr=((e={},t={})=>(t.locale??U())===`fr`?_r(e):vr(e)),br=()=>`Reçu`,xr=()=>`Received`,Sr=((e={},t={})=>(t.locale??U())===`fr`?br(e):xr(e)),Cr=()=>`Conversation`,wr=()=>`Conversation`,Tr=((e={},t={})=>(t.locale??U())===`fr`?Cr(e):wr(e)),Er=()=>`Toutes les conversations`,Dr=()=>`All conversations`,Or=((e={},t={})=>(t.locale??U())===`fr`?Er(e):Dr(e)),kr=()=>`Bridge`,Ar=()=>`Bridge`,jr=((e={},t={})=>(t.locale??U())===`fr`?kr(e):Ar(e)),Mr=()=>`Tous les bridges`,Nr=()=>`All bridges`,Pr=((e={},t={})=>(t.locale??U())===`fr`?Mr(e):Nr(e)),Fr=()=>`Type`,Ir=()=>`Type`,Lr=((e={},t={})=>(t.locale??U())===`fr`?Fr(e):Ir(e)),Rr=()=>`Tous les types`,zr=()=>`All types`,Br=((e={},t={})=>(t.locale??U())===`fr`?Rr(e):zr(e)),Vr=()=>`Image`,Hr=()=>`Image`,Ur=((e={},t={})=>(t.locale??U())===`fr`?Vr(e):Hr(e)),Wr=()=>`Audio`,Gr=()=>`Audio`,Kr=((e={},t={})=>(t.locale??U())===`fr`?Wr(e):Gr(e)),qr=()=>`Vidéo`,Jr=()=>`Video`,Yr=((e={},t={})=>(t.locale??U())===`fr`?qr(e):Jr(e)),Xr=()=>`PDF`,Zr=()=>`PDF`,Qr=((e={},t={})=>(t.locale??U())===`fr`?Xr(e):Zr(e)),$r=()=>`Document`,ei=()=>`Document`,ti=((e={},t={})=>(t.locale??U())===`fr`?$r(e):ei(e)),ni=()=>`Archive`,ri=()=>`Archive`,ii=((e={},t={})=>(t.locale??U())===`fr`?ni(e):ri(e)),ai=()=>`Autre`,oi=()=>`Other`,si=((e={},t={})=>(t.locale??U())===`fr`?ai(e):oi(e)),ci=()=>`Nom`,li=()=>`Name`,ui=((e={},t={})=>(t.locale??U())===`fr`?ci(e):li(e)),di=()=>`Type`,fi=()=>`Type`,pi=((e={},t={})=>(t.locale??U())===`fr`?di(e):fi(e)),mi=()=>`Sens`,hi=()=>`Direction`,gi=((e={},t={})=>(t.locale??U())===`fr`?mi(e):hi(e)),_i=()=>`Conversation`,vi=()=>`Conversation`,yi=((e={},t={})=>(t.locale??U())===`fr`?_i(e):vi(e)),bi=()=>`Date`,xi=()=>`Date`,Si=((e={},t={})=>(t.locale??U())===`fr`?bi(e):xi(e)),Ci=()=>`Action`,wi=()=>`Action`,Ti=((e={},t={})=>(t.locale??U())===`fr`?Ci(e):wi(e)),Ei=()=>`Télécharger`,Di=()=>`Download`,Oi=((e={},t={})=>(t.locale??U())===`fr`?Ei(e):Di(e)),ki=()=>`Réinitialiser`,Ai=()=>`Reset`,ji=((e={},t={})=>(t.locale??U())===`fr`?ki(e):Ai(e)),Mi=()=>`Actions`,Ni=()=>`Actions`,Pi=((e={},t={})=>(t.locale??U())===`fr`?Mi(e):Ni(e)),Fi=()=>`Supprimer`,Ii=()=>`Delete`,Li=((e={},t={})=>(t.locale??U())===`fr`?Fi(e):Ii(e)),Ri=()=>`Fichier supprimé`,zi=()=>`File removed`,Bi=((e={},t={})=>(t.locale??U())===`fr`?Ri(e):zi(e)),Vi=()=>`Échec de la suppression du fichier`,Hi=()=>`Could not remove the file`,Ui=((e={},t={})=>(t.locale??U())===`fr`?Vi(e):Hi(e)),Wi=()=>`Supprimer ce fichier ?`,Gi=()=>`Remove this file?`,Ki=((e={},t={})=>(t.locale??U())===`fr`?Wi(e):Gi(e)),qi=()=>`Il sera retiré de vos fichiers. La conversation où il a été échangé n'est pas modifiée.`,Ji=()=>`It will be removed from your files. The conversation where it was exchanged is unchanged.`,Yi=((e={},t={})=>(t.locale??U())===`fr`?qi(e):Ji(e)),Xi=()=>`Indisponible`,Zi=()=>`Unavailable`,Qi=((e={},t={})=>(t.locale??U())===`fr`?Xi(e):Zi(e)),$i=()=>`Aucun fichier pour le moment.`,ea=()=>`No files yet.`,ta=((e={},t={})=>(t.locale??U())===`fr`?$i(e):ea(e)),na=()=>`Aucun fichier ne correspond aux filtres.`,ra=()=>`No files match the filters.`,ia=((e={},t={})=>(t.locale??U())===`fr`?na(e):ra(e)),aa=e=>`Affichage des ${e?.cap} fichiers les plus récents.`,oa=e=>`Showing the ${e?.cap} most recent files.`,sa=((e,t={})=>(t.locale??U())===`fr`?aa(e):oa(e)),ca=()=>`Programmées`,la=()=>`Scheduled`,ua=((e={},t={})=>(t.locale??U())===`fr`?ca(e):la(e)),da=()=>`Les tâches programmées (crons) de vos agents sur leurs passerelles. Pour en créer ou en modifier une, demandez-le à l'agent dans une conversation — l'appel d'outil correspondant apparaît dans sa réponse.`,fa=()=>`Your agents' scheduled jobs (crons) on their gateways. To create or change one, ask the agent in a conversation — the matching tool call shows up in its reply.`,pa=((e={},t={})=>(t.locale??U())===`fr`?da(e):fa(e)),ma=()=>`Rafraîchir`,ha=()=>`Refresh`,ga=((e={},t={})=>(t.locale??U())===`fr`?ma(e):ha(e)),_a=()=>`Impossible de charger les tâches programmées. Réessayez.`,va=()=>`Could not load scheduled jobs. Try again.`,ya=((e={},t={})=>(t.locale??U())===`fr`?_a(e):va(e)),ba=()=>`Aucune passerelle ne fournit de tâches programmées pour vos agents.`,xa=()=>`No gateway provides scheduled jobs for your agents.`,Sa=((e={},t={})=>(t.locale??U())===`fr`?ba(e):xa(e)),Ca=()=>`Cette passerelle ne prend pas en charge la liste des tâches programmées.`,wa=()=>`This gateway does not support listing scheduled jobs.`,Ta=((e={},t={})=>(t.locale??U())===`fr`?Ca(e):wa(e)),Ea=e=>`La liste des tâches programmées n'a pas pu être récupérée (${e?.code}).`,Da=e=>`Scheduled jobs could not be retrieved (${e?.code}).`,Oa=((e,t={})=>(t.locale??U())===`fr`?Ea(e):Da(e)),ka=()=>`Aucune tâche programmée pour vos agents sur cette passerelle.`,Aa=()=>`No scheduled jobs for your agents on this gateway.`,ja=((e={},t={})=>(t.locale??U())===`fr`?ka(e):Aa(e)),Ma=()=>`Nom`,Na=()=>`Name`,Pa=((e={},t={})=>(t.locale??U())===`fr`?Ma(e):Na(e)),Fa=()=>`Agent`,Ia=()=>`Agent`,La=((e={},t={})=>(t.locale??U())===`fr`?Fa(e):Ia(e)),Ra=()=>`Planification`,za=()=>`Schedule`,Ba=((e={},t={})=>(t.locale??U())===`fr`?Ra(e):za(e)),Va=()=>`Prochaine exécution`,Ha=()=>`Next run`,Ua=((e={},t={})=>(t.locale??U())===`fr`?Va(e):Ha(e)),Wa=()=>`Statut`,Ga=()=>`Status`,Ka=((e={},t={})=>(t.locale??U())===`fr`?Wa(e):Ga(e)),qa=()=>`(sans nom)`,Ja=()=>`(unnamed)`,Ya=((e={},t={})=>(t.locale??U())===`fr`?qa(e):Ja(e)),Xa=()=>`En pause`,Za=()=>`Paused`,Qa=((e={},t={})=>(t.locale??U())===`fr`?Xa(e):Za(e)),$a=()=>`Active`,eo=()=>`Active`,to=((e={},t={})=>(t.locale??U())===`fr`?$a(e):eo(e)),no=e=>`${e?.count} tâche(s) programmée(s)`,ro=e=>`${e?.count} scheduled job(s)`,io=((e,t={})=>(t.locale??U())===`fr`?no(e):ro(e)),ao=()=>`Crons créés ou modifiés pendant ce tour`,oo=()=>`Crons created or changed during this turn`,so=((e={},t={})=>(t.locale??U())===`fr`?ao(e):oo(e)),co=()=>`Voir le détail du cron`,lo=()=>`View cron detail`,uo=((e={},t={})=>(t.locale??U())===`fr`?co(e):lo(e)),fo=()=>`(sans nom)`,po=()=>`(unnamed)`,mo=((e={},t={})=>(t.locale??U())===`fr`?fo(e):po(e)),ho=()=>`Créé`,go=()=>`Created`,_o=((e={},t={})=>(t.locale??U())===`fr`?ho(e):go(e)),vo=()=>`Modifié`,yo=()=>`Updated`,bo=((e={},t={})=>(t.locale??U())===`fr`?vo(e):yo(e)),xo=()=>`Supprimé`,So=()=>`Removed`,Co=((e={},t={})=>(t.locale??U())===`fr`?xo(e):So(e)),wo=()=>`Fermer le détail du cron`,To=()=>`Close cron detail`,Eo=((e={},t={})=>(t.locale??U())===`fr`?wo(e):To(e)),Do=()=>`Chargement du cron…`,Oo=()=>`Loading cron…`,ko=((e={},t={})=>(t.locale??U())===`fr`?Do(e):Oo(e)),Ao=()=>`Ce cron n'existe plus sur la passerelle (supprimé). Les informations ci-dessous sont celles du moment du message.`,jo=()=>`This cron no longer exists on the gateway (deleted). The information below is from the time of the message.`,Mo=((e={},t={})=>(t.locale??U())===`fr`?Ao(e):jo(e)),No=()=>`Impossible de charger l'état actuel du cron. Les informations ci-dessous sont celles du moment du message.`,Po=()=>`Could not load the cron's current state. The information below is from the time of the message.`,Fo=((e={},t={})=>(t.locale??U())===`fr`?No(e):Po(e)),Io=()=>`Statut`,Lo=()=>`Status`,Ro=((e={},t={})=>(t.locale??U())===`fr`?Io(e):Lo(e)),zo=()=>`Planification`,Bo=()=>`Schedule`,Vo=((e={},t={})=>(t.locale??U())===`fr`?zo(e):Bo(e)),Ho=()=>`Prochaine exécution`,Uo=()=>`Next run`,Wo=((e={},t={})=>(t.locale??U())===`fr`?Ho(e):Uo(e)),Go=()=>`Agent`,Ko=()=>`Agent`,qo=((e={},t={})=>(t.locale??U())===`fr`?Go(e):Ko(e)),Jo=()=>`Livraison`,Yo=()=>`Delivery`,Xo=((e={},t={})=>(t.locale??U())===`fr`?Jo(e):Yo(e)),Zo=()=>`Message du cron`,Qo=()=>`Cron message`,$o=((e={},t={})=>(t.locale??U())===`fr`?Zo(e):Qo(e)),es=()=>`Lancer maintenant`,ts=()=>`Run now`,ns=((e={},t={})=>(t.locale??U())===`fr`?es(e):ts(e)),rs=()=>`Désactiver`,is=()=>`Disable`,as=((e={},t={})=>(t.locale??U())===`fr`?rs(e):is(e)),os=()=>`Activer`,ss=()=>`Enable`,cs=((e={},t={})=>(t.locale??U())===`fr`?os(e):ss(e)),ls=()=>`Supprimer`,us=()=>`Delete`,ds=((e={},t={})=>(t.locale??U())===`fr`?ls(e):us(e)),fs=()=>`Gérer dans Réglages`,ps=()=>`Manage in Settings`,ms=((e={},t={})=>(t.locale??U())===`fr`?fs(e):ps(e)),hs=e=>`L'action a échoué (${e?.code}).`,gs=e=>`The action failed (${e?.code}).`,_s=((e,t={})=>(t.locale??U())===`fr`?hs(e):gs(e)),vs=()=>`Exécution lancée.`,ys=()=>`Run started.`,bs=((e={},t={})=>(t.locale??U())===`fr`?vs(e):ys(e)),xs=()=>`Cron désactivé.`,Ss=()=>`Cron disabled.`,Cs=((e={},t={})=>(t.locale??U())===`fr`?xs(e):Ss(e)),ws=()=>`Cron activé.`,Ts=()=>`Cron enabled.`,Es=((e={},t={})=>(t.locale??U())===`fr`?ws(e):Ts(e)),Ds=()=>`Cron supprimé.`,Os=()=>`Cron deleted.`,ks=((e={},t={})=>(t.locale??U())===`fr`?Ds(e):Os(e)),As=()=>`Supprimer ce cron ?`,js=()=>`Delete this cron?`,Ms=((e={},t={})=>(t.locale??U())===`fr`?As(e):js(e)),Ns=e=>`« ${e?.name} » sera définitivement supprimé de la passerelle. Cette action est irréversible.`,Ps=e=>`“${e?.name}” will be permanently removed from the gateway. This cannot be undone.`,Fs=((e,t={})=>(t.locale??U())===`fr`?Ns(e):Ps(e)),Is=()=>`Annuler`,Ls=()=>`Cancel`,Rs=((e={},t={})=>(t.locale??U())===`fr`?Is(e):Ls(e)),zs=()=>`Supprimer`,Bs=()=>`Delete`,Vs=((e={},t={})=>(t.locale??U())===`fr`?zs(e):Bs(e)),Hs=()=>`Dernières exécutions`,Us=()=>`Recent runs`,Ws=((e={},t={})=>(t.locale??U())===`fr`?Hs(e):Us(e)),Gs=()=>`OK`,Ks=()=>`OK`,qs=((e={},t={})=>(t.locale??U())===`fr`?Gs(e):Ks(e)),Js=()=>`Échec`,Ys=()=>`Failed`,Xs=((e={},t={})=>(t.locale??U())===`fr`?Js(e):Ys(e)),Zs=()=>`Sautée`,Qs=()=>`Skipped`,$s=((e={},t={})=>(t.locale??U())===`fr`?Zs(e):Qs(e)),ec=()=>`Chaque minute`,tc=()=>`Every minute`,nc=((e={},t={})=>(t.locale??U())===`fr`?ec(e):tc(e)),rc=e=>`Toutes les ${e?.n} minutes`,ic=e=>`Every ${e?.n} minutes`,ac=((e,t={})=>(t.locale??U())===`fr`?rc(e):ic(e)),oc=e=>`Toutes les heures, à la minute ${e?.m}`,sc=e=>`Every hour, at minute ${e?.m}`,cc=((e,t={})=>(t.locale??U())===`fr`?oc(e):sc(e)),lc=e=>`Toutes les ${e?.n} heures`,uc=e=>`Every ${e?.n} hours`,dc=((e,t={})=>(t.locale??U())===`fr`?lc(e):uc(e)),fc=e=>`Tous les jours à ${e?.time}`,pc=e=>`Every day at ${e?.time}`,mc=((e,t={})=>(t.locale??U())===`fr`?fc(e):pc(e)),hc=e=>`Chaque ${e?.days} à ${e?.time}`,gc=e=>`Every ${e?.days} at ${e?.time}`,_c=((e,t={})=>(t.locale??U())===`fr`?hc(e):gc(e)),vc=e=>`Le ${e?.dom} de chaque mois à ${e?.time}`,yc=e=>`On day ${e?.dom} of every month at ${e?.time}`,bc=((e,t={})=>(t.locale??U())===`fr`?vc(e):yc(e)),xc=e=>`Chaque année, le ${e?.dom} ${e?.month} à ${e?.time}`,Sc=e=>`Every year on ${e?.month} ${e?.dom} at ${e?.time}`,Cc=((e,t={})=>(t.locale??U())===`fr`?xc(e):Sc(e)),wc=()=>`Actions`,Tc=()=>`Actions`,Ec=((e={},t={})=>(t.locale??U())===`fr`?wc(e):Tc(e)),Dc=()=>`Modifier`,Oc=()=>`Edit`,kc=((e={},t={})=>(t.locale??U())===`fr`?Dc(e):Oc(e)),Ac=()=>`Historique`,jc=()=>`History`,Mc=((e={},t={})=>(t.locale??U())===`fr`?Ac(e):jc(e)),Nc=()=>`Cron mis à jour.`,Pc=()=>`Cron updated.`,Fc=((e={},t={})=>(t.locale??U())===`fr`?Nc(e):Pc(e)),Ic=e=>`Historique — ${e?.name}`,Lc=e=>`History — ${e?.name}`,Rc=((e,t={})=>(t.locale??U())===`fr`?Ic(e):Lc(e)),zc=()=>`Aucune exécution enregistrée pour ce cron.`,Bc=()=>`No recorded runs for this cron.`,Vc=((e={},t={})=>(t.locale??U())===`fr`?zc(e):Bc(e)),Hc=()=>`Modifier le cron`,Uc=()=>`Edit cron`,Wc=((e={},t={})=>(t.locale??U())===`fr`?Hc(e):Uc(e)),Gc=()=>`Ajustez le nom, la fréquence, la répétition ou le message du cron. La modification est appliquée directement sur la passerelle.`,Kc=()=>`Adjust the cron's name, frequency, repetition or message. Changes are applied directly on the gateway.`,qc=((e={},t={})=>(t.locale??U())===`fr`?Gc(e):Kc(e)),Jc=()=>`Fréquence`,Yc=()=>`Frequency`,Xc=((e={},t={})=>(t.locale??U())===`fr`?Jc(e):Yc(e)),Zc=()=>`Expression cron (récurrent)`,Qc=()=>`Cron expression (recurring)`,$c=((e={},t={})=>(t.locale??U())===`fr`?Zc(e):Qc(e)),el=()=>`Toutes les N unités`,tl=()=>`Every N units`,nl=((e={},t={})=>(t.locale??U())===`fr`?el(e):tl(e)),rl=()=>`Une seule fois, à une date précise`,il=()=>`Once, at a specific time`,al=((e={},t={})=>(t.locale??U())===`fr`?rl(e):il(e)),ol=()=>`minutes`,sl=()=>`minutes`,cl=((e={},t={})=>(t.locale??U())===`fr`?ol(e):sl(e)),ll=()=>`heures`,ul=()=>`hours`,dl=((e={},t={})=>(t.locale??U())===`fr`?ll(e):ul(e)),fl=()=>`jours`,pl=()=>`days`,ml=((e={},t={})=>(t.locale??U())===`fr`?fl(e):pl(e)),hl=()=>`Enregistrer`,gl=()=>`Save`,_l=((e={},t={})=>(t.locale??U())===`fr`?hl(e):gl(e)),vl=()=>`La fréquence saisie est incomplète ou invalide — corrigez-la avant d'enregistrer.`,yl=()=>`The entered frequency is incomplete or invalid — fix it before saving.`,bl=((e={},t={})=>(t.locale??U())===`fr`?vl(e):yl(e)),xl=()=>`Le nom et le message du cron ne peuvent pas être vides.`,Sl=()=>`The cron's name and message cannot be empty.`,Cl=((e={},t={})=>(t.locale??U())===`fr`?xl(e):Sl(e)),wl=e=>`Plan — ${e?.done}/${e?.total} étapes`,Tl=e=>`Plan — ${e?.done}/${e?.total} steps`,El=((e,t={})=>(t.locale??U())===`fr`?wl(e):Tl(e)),Dl=()=>`progression estimée`,Ol=()=>`estimated progress`,kl=((e={},t={})=>(t.locale??U())===`fr`?Dl(e):Ol(e)),Al=()=>`Afficher le plan de travail`,jl=()=>`Show the work plan`,Ml=((e={},t={})=>(t.locale??U())===`fr`?Al(e):jl(e)),Nl=()=>`Replier le plan de travail`,Pl=()=>`Collapse the work plan`,Fl=((e={},t={})=>(t.locale??U())===`fr`?Nl(e):Pl(e)),Il=e=>`Tâche de fond : ${e?.tool}`,Ll=e=>`Background task: ${e?.tool}`,Rl=((e,t={})=>(t.locale??U())===`fr`?Il(e):Ll(e)),zl=()=>`Lancez, suspendez, modifiez ou supprimez une tâche depuis ce tableau — ou demandez-le à l'agent en conversation.`,Bl=()=>`Run, pause, edit or delete a job from this table — or ask the agent in a conversation.`,Vl=((e={},t={})=>(t.locale??U())===`fr`?zl(e):Bl(e)),Hl=()=>`Un sous-agent travaille en arrière-plan…`,Ul=()=>`A sub-agent is working in the background…`,Wl=((e={},t={})=>(t.locale??U())===`fr`?Hl(e):Ul(e)),Gl=()=>`L'agent finalise sa réponse…`,Kl=()=>`The agent is finalizing its reply…`,ql=((e={},t={})=>(t.locale??U())===`fr`?Gl(e):Kl(e)),Jl=()=>`Apparence`,Yl=()=>`Appearance`,Xl=((e={},t={})=>(t.locale??U())===`fr`?Jl(e):Yl(e)),Zl=()=>`Thème par défaut de l’application`,Ql=()=>`Default app theme`,$l=((e={},t={})=>(t.locale??U())===`fr`?Zl(e):Ql(e)),eu=()=>`Appliqué aux utilisateurs sans préférence personnelle.`,tu=()=>`Applied to users without a personal preference.`,nu=((e={},t={})=>(t.locale??U())===`fr`?eu(e):tu(e)),ru=()=>`Langue par défaut de l’application`,iu=()=>`Default app language`,au=((e={},t={})=>(t.locale??U())===`fr`?ru(e):iu(e)),ou=()=>`Langue des nouveaux utilisateurs qui n’ont pas encore choisi la leur.`,su=()=>`Language for new users who haven’t picked their own yet.`,cu=((e={},t={})=>(t.locale??U())===`fr`?ou(e):su(e)),lu=()=>`Si vous n’avez pas défini votre propre langue, changer ce défaut rechargera votre vue.`,uu=()=>`If you haven’t set your own language, changing this default will reload your view.`,du=((e={},t={})=>(t.locale??U())===`fr`?lu(e):uu(e)),fu=()=>`Référence des composants (design)`,pu=()=>`Component reference (design)`,mu=((e={},t={})=>(t.locale??U())===`fr`?fu(e):pu(e)),hu=()=>`Administration de l’apparence`,gu=()=>`Appearance administration`,_u=((e={},t={})=>(t.locale??U())===`fr`?hu(e):gu(e)),vu=()=>`Réservé aux administrateurs. S’applique à toute l’organisation.`,yu=()=>`Admins only. Applies to the whole organization.`,bu=((e={},t={})=>(t.locale??U())===`fr`?vu(e):yu(e)),xu=()=>`Ma charte graphique`,Su=()=>`My graphic chart`,Cu=((e={},t={})=>(t.locale??U())===`fr`?xu(e):Su(e)),wu=()=>`Choisissez la palette appliquée à votre interface, en clair comme en sombre.`,Tu=()=>`Pick the palette applied to your interface, in light and dark.`,Eu=((e={},t={})=>(t.locale??U())===`fr`?wu(e):Tu(e)),Du=()=>`Défaut de l’application`,Ou=()=>`Application default`,ku=((e={},t={})=>(t.locale??U())===`fr`?Du(e):Ou(e)),Au=()=>`Suit le défaut de l’application.`,ju=()=>`Follows the application default.`,Mu=((e={},t={})=>(t.locale??U())===`fr`?Au(e):ju(e)),Nu=()=>`Commune`,Pu=()=>`Common`,Fu=((e={},t={})=>(t.locale??U())===`fr`?Nu(e):Pu(e)),Iu=()=>`La vôtre`,Lu=()=>`Yours`,Ru=((e={},t={})=>(t.locale??U())===`fr`?Iu(e):Lu(e)),zu=e=>`Via le groupe ${e?.group}`,Bu=e=>`Via group ${e?.group}`,Vu=((e,t={})=>(t.locale??U())===`fr`?zu(e):Bu(e)),Hu=()=>`Aucune charte disponible pour le moment.`,Uu=()=>`No chart available yet.`,Wu=((e={},t={})=>(t.locale??U())===`fr`?Hu(e):Uu(e)),Gu=()=>`Charte par défaut de l’application`,Ku=()=>`Application default chart`,qu=((e={},t={})=>(t.locale??U())===`fr`?Gu(e):Ku(e)),Ju=()=>`Appliquée aux utilisateurs sans charte personnelle.`,Yu=()=>`Applied to users without a personal chart.`,Xu=((e={},t={})=>(t.locale??U())===`fr`?Ju(e):Yu(e)),Zu=()=>`Pools de chartes par groupe`,Qu=()=>`Group chart pools`,$u=((e={},t={})=>(t.locale??U())===`fr`?Zu(e):Qu(e)),ed=()=>`Définissez le pool de chaque charte : les groupes qui PEUVENT la proposer. Un gestionnaire de groupe choisit ensuite dans son pool (onglet Groupes). Une charte reste commune tant qu’aucun groupe ne l’a sélectionnée.`,td=()=>`Define each chart's pool: the groups that MAY offer it. A group manager then selects from its pool (Groups tab). A chart stays common until a group actually selects it.`,nd=((e={},t={})=>(t.locale??U())===`fr`?ed(e):td(e)),rd=()=>`Charte par domaine`,id=()=>`Chart by domain`,ad=((e={},t={})=>(t.locale??U())===`fr`?rd(e):id(e)),od=()=>`Associez un domaine à une charte publique (intégrée ou commune) : elle devient la charte par défaut sur cet hôte, page de connexion comprise.`,sd=()=>`Map a domain to a public chart (builtin or common): it becomes the default chart on that host, including the login page.`,cd=((e={},t={})=>(t.locale??U())===`fr`?od(e):sd(e)),ld=()=>`Commune`,ud=()=>`Common`,dd=((e={},t={})=>(t.locale??U())===`fr`?ld(e):ud(e)),fd=()=>`Restreinte`,pd=()=>`Restricted`,md=((e={},t={})=>(t.locale??U())===`fr`?fd(e):pd(e)),hd=()=>`Défaut`,gd=()=>`Default`,_d=((e={},t={})=>(t.locale??U())===`fr`?hd(e):gd(e)),vd=()=>`Aucun groupe à associer.`,yd=()=>`No group to attach.`,bd=((e={},t={})=>(t.locale??U())===`fr`?vd(e):yd(e)),xd=()=>`Disponible aux groupes (pool)`,Sd=()=>`Available to groups (pool)`,Cd=((e={},t={})=>(t.locale??U())===`fr`?xd(e):Sd(e)),wd=()=>`Ajouter au pool d'un groupe…`,Td=()=>`Add to a group's pool…`,Ed=((e={},t={})=>(t.locale??U())===`fr`?wd(e):Td(e)),Dd=e=>`Retirer ${e?.group} du pool`,Od=e=>`Remove ${e?.group} from the pool`,kd=((e,t={})=>(t.locale??U())===`fr`?Dd(e):Od(e)),Ad=()=>`Importer une charte`,jd=()=>`Import a chart`,Md=((e={},t={})=>(t.locale??U())===`fr`?Ad(e):jd(e)),Nd=()=>`Collez le JSON d’une charte (ou choisissez un fichier .json) pour créer votre charte personnelle. Les couleurs doivent être au format oklch ; les valeurs sont validées et nettoyées côté serveur.`,Pd=()=>`Paste a chart's JSON (or pick a .json file) to create your personal chart. Colors must be in oklch format; values are validated and sanitized server-side.`,Fd=((e={},t={})=>(t.locale??U())===`fr`?Nd(e):Pd(e)),Id=()=>`Nom de la charte`,Ld=()=>`Chart name`,Rd=((e={},t={})=>(t.locale??U())===`fr`?Id(e):Ld(e)),zd=()=>`Ma charte`,Bd=()=>`My chart`,Vd=((e={},t={})=>(t.locale??U())===`fr`?zd(e):Bd(e)),Hd=()=>`JSON des tokens`,Ud=()=>`Tokens JSON`,Wd=((e={},t={})=>(t.locale??U())===`fr`?Hd(e):Ud(e)),Gd=()=>`Collez ici le JSON des tokens (colors.light / colors.dark en oklch, radius, fontSans, fontMono)…`,Kd=()=>`Paste the tokens JSON here (colors.light / colors.dark in oklch, radius, fontSans, fontMono)…`,qd=((e={},t={})=>(t.locale??U())===`fr`?Gd(e):Kd(e)),Jd=()=>`Charger un fichier .json`,Yd=()=>`Load a .json file`,Xd=((e={},t={})=>(t.locale??U())===`fr`?Jd(e):Yd(e)),Zd=()=>`Importer`,Qd=()=>`Import`,$d=((e={},t={})=>(t.locale??U())===`fr`?Zd(e):Qd(e)),ef=()=>`JSON invalide : impossible d’analyser le contenu.`,tf=()=>`Invalid JSON: could not parse the content.`,nf=((e={},t={})=>(t.locale??U())===`fr`?ef(e):tf(e)),rf=()=>`Charte importée.`,af=()=>`Chart imported.`,of=((e={},t={})=>(t.locale??U())===`fr`?rf(e):af(e)),sf=()=>`Indiquez un nom de charte.`,cf=()=>`Please provide a chart name.`,lf=((e={},t={})=>(t.locale??U())===`fr`?sf(e):cf(e)),uf=()=>`Mes chartes`,df=()=>`My charts`,ff=((e={},t={})=>(t.locale??U())===`fr`?uf(e):df(e)),pf=()=>`Les chartes que vous avez importées. Vous pouvez les renommer, modifier leurs tokens, les associer à vos groupes ou les supprimer.`,mf=()=>`The charts you have imported. You can rename them, edit their tokens, associate them with your groups, or delete them.`,hf=((e={},t={})=>(t.locale??U())===`fr`?pf(e):mf(e)),gf=()=>`Vous n’avez pas encore importé de charte.`,_f=()=>`You haven't imported any chart yet.`,vf=((e={},t={})=>(t.locale??U())===`fr`?gf(e):_f(e)),yf=()=>`Modifier`,bf=()=>`Edit`,xf=((e={},t={})=>(t.locale??U())===`fr`?yf(e):bf(e)),Sf=()=>`Supprimer`,Cf=()=>`Delete`,wf=((e={},t={})=>(t.locale??U())===`fr`?Sf(e):Cf(e)),Tf=()=>`Logo de marque`,Ef=()=>`Brand logo`,Df=((e={},t={})=>(t.locale??U())===`fr`?Tf(e):Ef(e)),Of=()=>`Mode clair`,kf=()=>`Light mode`,Af=((e={},t={})=>(t.locale??U())===`fr`?Of(e):kf(e)),jf=()=>`Mode sombre`,Mf=()=>`Dark mode`,Nf=((e={},t={})=>(t.locale??U())===`fr`?jf(e):Mf(e)),Pf=()=>`Téléverser`,Ff=()=>`Upload`,If=((e={},t={})=>(t.locale??U())===`fr`?Pf(e):Ff(e)),Lf=()=>`Remplacer`,Rf=()=>`Replace`,zf=((e={},t={})=>(t.locale??U())===`fr`?Lf(e):Rf(e)),Bf=()=>`Retirer`,Vf=()=>`Remove`,Hf=((e={},t={})=>(t.locale??U())===`fr`?Bf(e):Vf(e)),Uf=()=>`Générer depuis l’autre mode`,Wf=()=>`Generate from the other mode`,Gf=((e={},t={})=>(t.locale??U())===`fr`?Uf(e):Wf(e)),Kf=()=>`Traitement…`,qf=()=>`Processing…`,Jf=((e={},t={})=>(t.locale??U())===`fr`?Kf(e):qf(e)),Yf=()=>`Le fichier doit être une image.`,Xf=()=>`The file must be an image.`,Zf=((e={},t={})=>(t.locale??U())===`fr`?Yf(e):Xf(e)),Qf=()=>`Image trop volumineuse (max 12 Mo).`,$f=()=>`Image too large (max 12 MB).`,ep=((e={},t={})=>(t.locale??U())===`fr`?Qf(e):$f(e)),tp=()=>`Format d’image non pris en charge.`,np=()=>`Unsupported image format.`,rp=((e={},t={})=>(t.locale??U())===`fr`?tp(e):np(e)),ip=()=>`Traitement de l’image impossible.`,ap=()=>`Could not process the image.`,op=((e={},t={})=>(t.locale??U())===`fr`?ip(e):ap(e)),sp=()=>`Encodage de l’image impossible.`,cp=()=>`Could not encode the image.`,lp=((e={},t={})=>(t.locale??U())===`fr`?sp(e):cp(e)),up=()=>`Domaines (admin)`,dp=()=>`Domains (admin)`,fp=((e={},t={})=>(t.locale??U())===`fr`?up(e):dp(e)),pp=()=>`Quand Atrium est ouvert sur ce domaine, cette charte s’applique par défaut (page de connexion incluse). Ex. chat.acme.com ou *.acme.com.`,mp=()=>`When Atrium is opened on this domain, this chart applies by default (including the login page). E.g. chat.acme.com or *.acme.com.`,hp=((e={},t={})=>(t.locale??U())===`fr`?pp(e):mp(e)),gp=()=>`chat.acme.com ou *.acme.com`,_p=()=>`chat.acme.com or *.acme.com`,vp=((e={},t={})=>(t.locale??U())===`fr`?gp(e):_p(e)),yp=()=>`Ajouter`,bp=()=>`Add`,xp=((e={},t={})=>(t.locale??U())===`fr`?yp(e):bp(e)),Sp=()=>`Aucun domaine.`,Cp=()=>`No domain.`,wp=((e={},t={})=>(t.locale??U())===`fr`?Sp(e):Cp(e)),Tp=e=>`Retirer ${e?.domain}`,Ep=e=>`Remove ${e?.domain}`,Dp=((e,t={})=>(t.locale??U())===`fr`?Tp(e):Ep(e)),Op=()=>`Enregistrer`,kp=()=>`Save`,Ap=((e={},t={})=>(t.locale??U())===`fr`?Op(e):kp(e)),jp=()=>`Annuler`,Mp=()=>`Cancel`,Np=((e={},t={})=>(t.locale??U())===`fr`?jp(e):Mp(e)),Pp=()=>`Nom`,Fp=()=>`Name`,Ip=((e={},t={})=>(t.locale??U())===`fr`?Pp(e):Fp(e)),Lp=()=>`Tokens (JSON)`,Rp=()=>`Tokens (JSON)`,zp=((e={},t={})=>(t.locale??U())===`fr`?Lp(e):Rp(e)),Bp=()=>`Supprimer définitivement cette charte ?`,Vp=()=>`Permanently delete this chart?`,Hp=((e={},t={})=>(t.locale??U())===`fr`?Bp(e):Vp(e)),Up=()=>`Chartes personnalisées`,Wp=()=>`Custom charts`,Gp=((e={},t={})=>(t.locale??U())===`fr`?Up(e):Wp(e)),Kp=()=>`Gérez les chartes importées par les utilisateurs : promouvoir en commune (offerte à tous) ou supprimer.`,qp=()=>`Manage charts imported by users: promote to common (offered to everyone) or delete.`,Jp=((e={},t={})=>(t.locale??U())===`fr`?Kp(e):qp(e)),Yp=e=>`Propriétaire : ${e?.owner}`,Xp=e=>`Owner: ${e?.owner}`,Zp=((e,t={})=>(t.locale??U())===`fr`?Yp(e):Xp(e)),Qp=()=>`Personnelle`,$p=()=>`Personal`,em=((e={},t={})=>(t.locale??U())===`fr`?Qp(e):$p(e)),tm=()=>`Commune`,nm=()=>`Common`,rm=((e={},t={})=>(t.locale??U())===`fr`?tm(e):nm(e)),im=()=>`Promouvoir en commune`,am=()=>`Promote to common`,om=((e={},t={})=>(t.locale??U())===`fr`?im(e):am(e)),sm=()=>`Supprimer`,cm=()=>`Delete`,lm=((e={},t={})=>(t.locale??U())===`fr`?sm(e):cm(e)),um=()=>`Aucune charte personnalisée pour le moment.`,dm=()=>`No custom chart yet.`,fm=((e={},t={})=>(t.locale??U())===`fr`?um(e):dm(e)),pm=()=>`Messages`,mm=()=>`Messages`,hm=((e={},t={})=>(t.locale??U())===`fr`?pm(e):mm(e)),gm=()=>`Composeur`,_m=()=>`Composer`,vm=((e={},t={})=>(t.locale??U())===`fr`?gm(e):_m(e)),ym=()=>`Barre latérale`,bm=()=>`Sidebar`,xm=((e={},t={})=>(t.locale??U())===`fr`?ym(e):bm(e)),Sm=()=>`Autre`,Cm=()=>`Other`,wm=((e={},t={})=>(t.locale??U())===`fr`?Sm(e):Cm(e)),Tm=()=>`Vue source des messages`,Em=()=>`Message source view`,Dm=((e={},t={})=>(t.locale??U())===`fr`?Tm(e):Em(e)),Om=()=>`Le bouton </> qui montre le texte brut exact d’un message.`,km=()=>`The </> button that shows a message’s exact raw text.`,Am=((e={},t={})=>(t.locale??U())===`fr`?Om(e):km(e)),jm=()=>`Signaler un problème`,Mm=()=>`Report a problem`,Nm=((e={},t={})=>(t.locale??U())===`fr`?jm(e):Mm(e)),Pm=()=>`Le drapeau qui envoie un signalement (feedback) sur un message.`,Fm=()=>`The flag that sends feedback about a message.`,Im=((e={},t={})=>(t.locale??U())===`fr`?Pm(e):Fm(e)),Lm=()=>`Copier les réponses de l’IA`,Rm=()=>`Copy AI replies`,zm=((e={},t={})=>(t.locale??U())===`fr`?Lm(e):Rm(e)),Bm=()=>`Copier vos messages`,Vm=()=>`Copy your messages`,Hm=((e={},t={})=>(t.locale??U())===`fr`?Bm(e):Vm(e)),Um=()=>`Supprimer un message`,Wm=()=>`Delete a message`,Gm=((e={},t={})=>(t.locale??U())===`fr`?Um(e):Wm(e)),Km=()=>`Activité des outils`,qm=()=>`Tool activity`,Jm=((e={},t={})=>(t.locale??U())===`fr`?Km(e):qm(e)),Ym=()=>`Affiche l’activité des outils et les sources dans la conversation (vue d’analyse, avec détail dépliable). Désactivé : vue épurée centrée sur le contenu — le signal « traitement en cours » reste visible.`,Xm=()=>`Shows tool activity and sources in the conversation (analysis view, with expandable detail). Off: a clean, content-focused view — the “processing in progress” signal stays visible.`,Zm=((e={},t={})=>(t.locale??U())===`fr`?Ym(e):Xm(e)),Qm=()=>`Saisie vocale (micro)`,$m=()=>`Voice input (mic)`,eh=((e={},t={})=>(t.locale??U())===`fr`?Qm(e):$m(e)),th=()=>`Le bouton micro dans le composeur.`,nh=()=>`The mic button in the composer.`,rh=((e={},t={})=>(t.locale??U())===`fr`?th(e):nh(e)),ih=()=>`Jauge d'utilisation de l'abonnement`,ah=()=>`Subscription usage gauge`,oh=((e={},t={})=>(t.locale??U())===`fr`?ih(e):ah(e)),sh=()=>`Affiche dans l'en-tête du chat le quota restant de l'abonnement du fournisseur (fenêtre la plus contrainte), pour comprendre les ralentissements ou refus.`,ch=()=>`Shows the provider plan's remaining quota (most constrained window) in the chat header, explaining slowdowns or refusals.`,lh=((e={},t={})=>(t.locale??U())===`fr`?sh(e):ch(e)),uh=()=>`Âge des conversations`,dh=()=>`Conversation age`,fh=((e={},t={})=>(t.locale??U())===`fr`?uh(e):dh(e)),ph=()=>`Afficher l’ancienneté de chaque conversation (ex. « 3j », « 2sem ») dans la liste à gauche.`,mh=()=>`Show each conversation’s age (e.g. “3d”, “2w”) in the left list.`,hh=((e={},t={})=>(t.locale??U())===`fr`?ph(e):mh(e)),gh=()=>`Notifications`,_h=()=>`Notifications`,vh=((e={},t={})=>(t.locale??U())===`fr`?gh(e):_h(e)),yh=()=>`Son de notification`,bh=()=>`Notification sound`,xh=((e={},t={})=>(t.locale??U())===`fr`?yh(e):bh(e)),Sh=()=>`Joue la signature sonore d'Atrium quand une nouvelle notification arrive dans la cloche.`,Ch=()=>`Plays Atrium's sound signature when a new notification lands in the bell.`,wh=((e={},t={})=>(t.locale??U())===`fr`?Sh(e):Ch(e)),Th=()=>`Notifications système`,Eh=()=>`System notifications`,Dh=((e={},t={})=>(t.locale??U())===`fr`?Th(e):Eh(e)),Oh=()=>`Affiche une notification du navigateur quand une nouvelle notification arrive et que l'onglet n'est pas au premier plan. L'activation demande la permission du navigateur.`,kh=()=>`Shows a browser notification when a new notification arrives while the tab is in the background. Enabling asks for the browser permission.`,Ah=((e={},t={})=>(t.locale??U())===`fr`?Oh(e):kh(e)),jh=()=>`Son de fin de réponse`,Mh=()=>`Reply-finished sound`,Nh=((e={},t={})=>(t.locale??U())===`fr`?jh(e):Mh(e)),Ph=()=>`Joue un son discret quand une réponse finit d'arriver dans une de vos conversations — utile pour mener plusieurs conversations en parallèle.`,Fh=()=>`Plays a subtle sound when a reply finishes arriving in one of your conversations — useful when running several conversations in parallel.`,Ih=((e={},t={})=>(t.locale??U())===`fr`?Ph(e):Fh(e)),Lh=()=>`Filtrer les préférences…`,Rh=()=>`Filter preferences…`,zh=((e={},t={})=>(t.locale??U())===`fr`?Lh(e):Rh(e)),Bh=()=>`Aucune préférence ne correspond.`,Vh=()=>`No preference matches.`,Hh=((e={},t={})=>(t.locale??U())===`fr`?Bh(e):Vh(e)),Uh=()=>`Non activé`,Wh=()=>`Not enabled`,Gh=((e={},t={})=>(t.locale??U())===`fr`?Uh(e):Wh(e)),Kh=()=>`Réinitialiser`,qh=()=>`Reset`,Jh=((e={},t={})=>(t.locale??U())===`fr`?Kh(e):qh(e)),Yh=()=>`Gérer les défauts et verrous`,Xh=()=>`Manage defaults and locks`,Zh=((e={},t={})=>(t.locale??U())===`fr`?Yh(e):Xh(e)),Qh=()=>`Défaut admin`,$h=()=>`Admin default`,eg=((e={},t={})=>(t.locale??U())===`fr`?Qh(e):$h(e)),tg=()=>`Fonctionnalité activée (système)`,ng=()=>`Feature enabled (system)`,rg=((e={},t={})=>(t.locale??U())===`fr`?tg(e):ng(e)),ig=()=>`Configurez l’interface : activez les fonctionnalités système et définissez les valeurs par défaut héritées par les utilisateurs (chacun peut ensuite les redéfinir dans ses propres préférences).`,ag=()=>`Configure the interface: enable system features and set the defaults users inherit (each can then override them in their own preferences).`,og=((e={},t={})=>(t.locale??U())===`fr`?ig(e):ag(e)),sg=()=>`Une fonctionnalité non activée ici ne peut pas être activée par les utilisateurs (option grisée).`,cg=()=>`A feature not enabled here cannot be turned on by users (greyed out).`,lg=((e={},t={})=>(t.locale??U())===`fr`?sg(e):cg(e)),ug=()=>`Active le pipeline vocal. Tant que c’est désactivé, l’option reste grisée et non activable par les utilisateurs.`,dg=()=>`Enables the voice pipeline. While off, the option stays greyed and users can’t turn it on.`,fg=((e={},t={})=>(t.locale??U())===`fr`?ug(e):dg(e)),pg=()=>`« Hérité » = la valeur intégrée par défaut de l’application.`,mg=()=>`“Inherited” = the app’s built-in default value.`,hg=((e={},t={})=>(t.locale??U())===`fr`?pg(e):mg(e)),gg=()=>`Activé`,_g=()=>`On`,vg=((e={},t={})=>(t.locale??U())===`fr`?gg(e):_g(e)),yg=()=>`Désactivé`,bg=()=>`Off`,xg=((e={},t={})=>(t.locale??U())===`fr`?yg(e):bg(e)),Sg=()=>`Hérité`,Cg=()=>`Inherited`,wg=((e={},t={})=>(t.locale??U())===`fr`?Sg(e):Cg(e)),Tg=()=>`Comptes de service pour les agents OpenClaw (auth par clé API). Le texte en clair d’une clé n’est affiché qu’une seule fois à sa création — il n’est jamais stocké ni récupérable ensuite.`,Eg=()=>`Service accounts for OpenClaw agents (API key auth). A key's plaintext is shown only once at creation — it is never stored nor retrievable afterwards.`,Dg=((e={},t={})=>(t.locale??U())===`fr`?Tg(e):Eg(e)),Og=()=>`Rechercher un compte`,kg=()=>`Search an account`,Ag=((e={},t={})=>(t.locale??U())===`fr`?Og(e):kg(e)),jg=()=>`Rôle`,Mg=()=>`Role`,Ng=((e={},t={})=>(t.locale??U())===`fr`?jg(e):Mg(e)),Pg=()=>`Tous les rôles`,Fg=()=>`All roles`,Ig=((e={},t={})=>(t.locale??U())===`fr`?Pg(e):Fg(e)),Lg=()=>`Tous les statuts`,Rg=()=>`All statuses`,zg=((e={},t={})=>(t.locale??U())===`fr`?Lg(e):Rg(e)),Bg=()=>`actif`,Vg=()=>`active`,Hg=((e={},t={})=>(t.locale??U())===`fr`?Bg(e):Vg(e)),Ug=()=>`désactivé`,Wg=()=>`disabled`,Gg=((e={},t={})=>(t.locale??U())===`fr`?Ug(e):Wg(e)),Kg=()=>`Comptes de service`,qg=()=>`Service accounts`,Jg=((e={},t={})=>(t.locale??U())===`fr`?Kg(e):qg(e)),Yg=()=>`Ajouter un compte`,Xg=()=>`Add an account`,Zg=((e={},t={})=>(t.locale??U())===`fr`?Yg(e):Xg(e)),Qg=()=>`Aucun compte de service.`,$g=()=>`No service account.`,e_=((e={},t={})=>(t.locale??U())===`fr`?Qg(e):$g(e)),t_=()=>`Générer une clé API`,n_=()=>`Generate an API key`,r_=((e={},t={})=>(t.locale??U())===`fr`?t_(e):n_(e)),i_=()=>`Masquer les clés`,a_=()=>`Hide keys`,o_=((e={},t={})=>(t.locale??U())===`fr`?i_(e):a_(e)),s_=()=>`Afficher les clés`,c_=()=>`Show keys`,l_=((e={},t={})=>(t.locale??U())===`fr`?s_(e):c_(e)),u_=()=>`Modifier`,d_=()=>`Edit`,f_=((e={},t={})=>(t.locale??U())===`fr`?u_(e):d_(e)),p_=()=>`Supprimer le compte`,m_=()=>`Delete account`,h_=((e={},t={})=>(t.locale??U())===`fr`?p_(e):m_(e)),g_=()=>`Replier`,__=()=>`Collapse`,v_=((e={},t={})=>(t.locale??U())===`fr`?g_(e):__(e)),y_=()=>`Déplier`,b_=()=>`Expand`,x_=((e={},t={})=>(t.locale??U())===`fr`?y_(e):b_(e)),S_=()=>`Nom`,C_=()=>`Name`,w_=((e={},t={})=>(t.locale??U())===`fr`?S_(e):C_(e)),T_=()=>`Rôle`,E_=()=>`Role`,D_=((e={},t={})=>(t.locale??U())===`fr`?T_(e):E_(e)),O_=()=>`Statut`,k_=()=>`Status`,A_=((e={},t={})=>(t.locale??U())===`fr`?O_(e):k_(e)),j_=()=>`Expiration de la prochaine clé`,M_=()=>`Next key expiry`,N_=((e={},t={})=>(t.locale??U())===`fr`?j_(e):M_(e)),P_=()=>`Clés`,F_=()=>`Keys`,I_=((e={},t={})=>(t.locale??U())===`fr`?P_(e):F_(e)),L_=()=>`génération…`,R_=()=>`generating…`,z_=((e={},t={})=>(t.locale??U())===`fr`?L_(e):R_(e)),B_=e=>`${e?.count} active(s)`,V_=e=>`${e?.count} active`,H_=((e,t={})=>(t.locale??U())===`fr`?B_(e):V_(e)),U_=()=>`Modifier le compte de service`,W_=()=>`Edit service account`,G_=((e={},t={})=>(t.locale??U())===`fr`?U_(e):W_(e)),K_=()=>`Modifier le nom, le rôle et la description.`,q_=()=>`Update the name, role and description.`,J_=((e={},t={})=>(t.locale??U())===`fr`?K_(e):q_(e)),Y_=()=>`Enregistrer`,X_=()=>`Save`,Z_=((e={},t={})=>(t.locale??U())===`fr`?Y_(e):X_(e)),Q_=()=>`Nouveau compte de service`,$_=()=>`New service account`,ev=((e={},t={})=>(t.locale??U())===`fr`?Q_(e):$_(e)),tv=()=>`Principal authentifié par clé API (jamais un humain).`,nv=()=>`Principal authenticated by API key (never a human).`,rv=((e={},t={})=>(t.locale??U())===`fr`?tv(e):nv(e)),iv=()=>`Ajouter`,av=()=>`Add`,ov=((e={},t={})=>(t.locale??U())===`fr`?iv(e):av(e)),sv=()=>`Nom`,cv=()=>`Name`,lv=((e={},t={})=>(t.locale??U())===`fr`?sv(e):cv(e)),uv=()=>`Rôle`,dv=()=>`Role`,fv=((e={},t={})=>(t.locale??U())===`fr`?uv(e):dv(e)),pv=()=>`Choisir un rôle`,mv=()=>`Choose a role`,hv=((e={},t={})=>(t.locale??U())===`fr`?pv(e):mv(e)),gv=()=>`Description (optionnel)`,_v=()=>`Description (optional)`,vv=((e={},t={})=>(t.locale??U())===`fr`?gv(e):_v(e)),yv=()=>`Échec de la création du compte`,bv=()=>`Failed to create the account`,xv=((e={},t={})=>(t.locale??U())===`fr`?yv(e):bv(e)),Sv=()=>`Échec de la modification du compte`,Cv=()=>`Failed to update the account`,wv=((e={},t={})=>(t.locale??U())===`fr`?Sv(e):Cv(e)),Tv=()=>`Compte de service mis à jour.`,Ev=()=>`Service account updated.`,Dv=((e={},t={})=>(t.locale??U())===`fr`?Tv(e):Ev(e)),Ov=()=>`Échec de la génération de la clé`,kv=()=>`Failed to generate the key`,Av=((e={},t={})=>(t.locale??U())===`fr`?Ov(e):kv(e)),jv=()=>`Supprimer ce compte de service ?`,Mv=()=>`Delete this service account?`,Nv=((e={},t={})=>(t.locale??U())===`fr`?jv(e):Mv(e)),Pv=()=>`Le compte`,Fv=()=>`The account`,Iv=((e={},t={})=>(t.locale??U())===`fr`?Pv(e):Fv(e)),Lv=()=>`et`,Rv=()=>`and`,zv=((e={},t={})=>(t.locale??U())===`fr`?Lv(e):Rv(e)),Bv=()=>`toutes ses clés API`,Vv=()=>`all its API keys`,Hv=((e={},t={})=>(t.locale??U())===`fr`?Bv(e):Vv(e)),Uv=()=>`seront supprimés définitivement. Cette action est irréversible. Tapez le nom du compte pour confirmer.`,Wv=()=>`will be permanently deleted. This action is irreversible. Type the account name to confirm.`,Gv=((e={},t={})=>(t.locale??U())===`fr`?Uv(e):Wv(e)),Kv=()=>`Supprimer`,qv=()=>`Delete`,Jv=((e={},t={})=>(t.locale??U())===`fr`?Kv(e):qv(e)),Yv=()=>`Compte de service supprimé`,Xv=()=>`Service account deleted`,Zv=((e={},t={})=>(t.locale??U())===`fr`?Yv(e):Xv(e)),Qv=()=>`Échec de la suppression du compte`,$v=()=>`Failed to delete the account`,ey=((e={},t={})=>(t.locale??U())===`fr`?Qv(e):$v(e)),ty=()=>`Révoquer cette clé API ?`,ny=()=>`Revoke this API key?`,ry=((e={},t={})=>(t.locale??U())===`fr`?ty(e):ny(e)),iy=()=>`La clé`,ay=()=>`The key`,oy=((e={},t={})=>(t.locale??U())===`fr`?iy(e):ay(e)),sy=()=>`sera désactivée immédiatement et ne pourra plus authentifier de requêtes. Cette action est irréversible.`,cy=()=>`will be disabled immediately and will no longer be able to authenticate requests. This action is irreversible.`,ly=((e={},t={})=>(t.locale??U())===`fr`?sy(e):cy(e)),uy=()=>`Révoquer`,dy=()=>`Revoke`,fy=((e={},t={})=>(t.locale??U())===`fr`?uy(e):dy(e)),py=()=>`Échec de la révocation`,my=()=>`Failed to revoke`,hy=((e={},t={})=>(t.locale??U())===`fr`?py(e):my(e)),gy=()=>`Clés de`,_y=()=>`Keys of`,vy=((e={},t={})=>(t.locale??U())===`fr`?gy(e):_y(e)),yy=()=>`Aucune clé pour ce compte.`,by=()=>`No key for this account.`,xy=((e={},t={})=>(t.locale??U())===`fr`?yy(e):by(e)),Sy=()=>`Clé`,Cy=()=>`Key`,wy=((e={},t={})=>(t.locale??U())===`fr`?Sy(e):Cy(e)),Ty=()=>`Rôle`,Ey=()=>`Role`,Dy=((e={},t={})=>(t.locale??U())===`fr`?Ty(e):Ey(e)),Oy=()=>`Créée`,ky=()=>`Created`,Ay=((e={},t={})=>(t.locale??U())===`fr`?Oy(e):ky(e)),jy=()=>`Dernier usage`,My=()=>`Last used`,Ny=((e={},t={})=>(t.locale??U())===`fr`?jy(e):My(e)),Py=()=>`Expiration`,Fy=()=>`Expiry`,Iy=((e={},t={})=>(t.locale??U())===`fr`?Py(e):Fy(e)),Ly=()=>`Statut`,Ry=()=>`Status`,zy=((e={},t={})=>(t.locale??U())===`fr`?Ly(e):Ry(e)),By=()=>`Révocation…`,Vy=()=>`Revoking…`,Hy=((e={},t={})=>(t.locale??U())===`fr`?By(e):Vy(e)),Uy=()=>`Révoquer`,Wy=()=>`Revoke`,Gy=((e={},t={})=>(t.locale??U())===`fr`?Uy(e):Wy(e)),Ky=()=>`Clé API créée`,qy=()=>`API key created`,Jy=((e={},t={})=>(t.locale??U())===`fr`?Ky(e):qy(e)),Yy=e=>`Pour le compte « ${e?.name} ». Copiez-la maintenant.`,Xy=e=>`For the account « ${e?.name} ». Copy it now.`,Zy=((e,t={})=>(t.locale??U())===`fr`?Yy(e):Xy(e)),Qy=()=>`Stockez cette clé en lieu sûr. Vous ne la reverrez plus jamais. Pour la remplacer, il faudra la révoquer et en générer une nouvelle.`,$y=()=>`Store this key in a safe place. You will never see it again. To replace it, you will have to revoke it and generate a new one.`,eb=((e={},t={})=>(t.locale??U())===`fr`?Qy(e):$y(e)),tb=()=>`Copier la clé`,nb=()=>`Copy the key`,rb=((e={},t={})=>(t.locale??U())===`fr`?tb(e):nb(e)),ib=()=>`Copié`,ab=()=>`Copied`,ob=((e={},t={})=>(t.locale??U())===`fr`?ib(e):ab(e)),sb=()=>`Copier`,cb=()=>`Copy`,lb=((e={},t={})=>(t.locale??U())===`fr`?sb(e):cb(e)),ub=()=>`J’ai copié la clé`,db=()=>`I have copied the key`,fb=((e={},t={})=>(t.locale??U())===`fr`?ub(e):db(e)),pb=()=>`Jamais`,mb=()=>`Never`,hb=((e={},t={})=>(t.locale??U())===`fr`?pb(e):mb(e)),gb=()=>`30 jours`,_b=()=>`30 days`,vb=((e={},t={})=>(t.locale??U())===`fr`?gb(e):_b(e)),yb=()=>`90 jours`,bb=()=>`90 days`,xb=((e={},t={})=>(t.locale??U())===`fr`?yb(e):bb(e)),Sb=()=>`Jamais`,Cb=()=>`Never`,wb=((e={},t={})=>(t.locale??U())===`fr`?Sb(e):Cb(e)),Tb=()=>`révoquée`,Eb=()=>`revoked`,Db=((e={},t={})=>(t.locale??U())===`fr`?Tb(e):Eb(e)),Ob=()=>`expirée`,kb=()=>`expired`,Ab=((e={},t={})=>(t.locale??U())===`fr`?Ob(e):kb(e)),jb=()=>`active`,Mb=()=>`active`,Nb=((e={},t={})=>(t.locale??U())===`fr`?jb(e):Mb(e)),Pb=()=>`Sélectionnez ou créez une conversation pour commencer.`,Fb=()=>`Select or create a chat to begin.`,Ib=((e={},t={})=>(t.locale??U())===`fr`?Pb(e):Fb(e)),Lb=()=>`Conversation introuvable`,Rb=()=>`Conversation not found`,zb=((e={},t={})=>(t.locale??U())===`fr`?Lb(e):Rb(e)),Bb=()=>`Ce lien ne correspond à aucune conversation. Elle a peut-être été supprimée, ou l’adresse est incomplète.`,Vb=()=>`This link does not match any conversation. It may have been deleted, or the address is incomplete.`,Hb=((e={},t={})=>(t.locale??U())===`fr`?Bb(e):Vb(e)),Ub=()=>`Nouvelle conversation`,Wb=()=>`New conversation`,Gb=((e={},t={})=>(t.locale??U())===`fr`?Ub(e):Wb(e)),Kb=()=>`Derniers messages`,qb=()=>`Latest messages`,Jb=((e={},t={})=>(t.locale??U())===`fr`?Kb(e):qb(e)),Yb=()=>`La passerelle de cet agent ne répond plus. Un traitement en cours risque d’expirer et un nouvel envoi échouera probablement — réessayez quand elle sera rétablie.`,Xb=()=>`This agent's gateway is not responding. An in-flight turn may time out and a new send will likely fail — retry once it is back.`,Zb=((e={},t={})=>(t.locale??U())===`fr`?Yb(e):Xb(e)),Qb=()=>`Le service de chat est momentanément indisponible. L’envoi de message est suspendu — réessayez dans un instant. Si cela persiste, contactez votre administrateur.`,$b=()=>`The chat service is temporarily unavailable. Sending messages is suspended — try again in a moment. If this persists, contact your administrator.`,ex=((e={},t={})=>(t.locale??U())===`fr`?Qb(e):$b(e)),tx=()=>`Ce chat est en lecture seule : l’agent associé ne t’est plus disponible (ton accès aux agents a été modifié). Démarre un nouveau chat avec un agent disponible.`,nx=()=>`This chat is read-only: its agent is no longer available to you (your agent access was changed). Start a new chat with an available agent.`,rx=((e={},t={})=>(t.locale??U())===`fr`?tx(e):nx(e)),ix=()=>`Réponse reçue.`,ax=()=>`Reply received.`,ox=((e={},t={})=>(t.locale??U())===`fr`?ix(e):ax(e)),sx=()=>`Comment puis-je aider ?`,cx=()=>`How can I help?`,lx=((e={},t={})=>(t.locale??U())===`fr`?sx(e):cx(e)),ux=()=>`Conversation`,dx=()=>`Conversation`,fx=((e={},t={})=>(t.locale??U())===`fr`?ux(e):dx(e)),px=e=>`Instance : ${e?.instance}`,mx=e=>`Instance: ${e?.instance}`,hx=((e,t={})=>(t.locale??U())===`fr`?px(e):mx(e)),gx=e=>`Répondu par ${e?.name}`,_x=e=>`Answered by ${e?.name}`,vx=((e,t={})=>(t.locale??U())===`fr`?gx(e):_x(e)),yx=()=>`Agent`,bx=()=>`Agent`,xx=((e={},t={})=>(t.locale??U())===`fr`?yx(e):bx(e)),Sx=()=>`Choisir l'agent du prochain message`,Cx=()=>`Choose the agent for the next message`,wx=((e={},t={})=>(t.locale??U())===`fr`?Sx(e):Cx(e)),Tx=()=>`Choisir l'agent du prochain message`,Ex=()=>`Choose the agent for the next message`,Dx=((e={},t={})=>(t.locale??U())===`fr`?Tx(e):Ex(e)),Ox=()=>`L'agent de cette conversation est défini avec le premier message ; choisissez un autre agent à partir du deuxième message.`,kx=()=>`This conversation's agent is set with the first message; choose a different agent from the second message onward.`,Ax=((e={},t={})=>(t.locale??U())===`fr`?Ox(e):kx(e)),jx=()=>`Modèle`,Mx=()=>`Model`,Nx=((e={},t={})=>(t.locale??U())===`fr`?jx(e):Mx(e)),Px=e=>`Modèle · ${e?.provider}`,Fx=e=>`Model · ${e?.provider}`,Ix=((e,t={})=>(t.locale??U())===`fr`?Px(e):Fx(e)),Lx=()=>`Niveau de réflexion hérité de l’agent`,Rx=()=>`Thinking level inherited from the agent`,zx=((e={},t={})=>(t.locale??U())===`fr`?Lx(e):Rx(e)),Bx=()=>`Niveau de réflexion (spécifique à ce chat)`,Vx=()=>`Thinking level (specific to this chat)`,Hx=((e={},t={})=>(t.locale??U())===`fr`?Bx(e):Vx(e)),Ux=()=>`Réflexion`,Wx=()=>`Thinking`,Gx=((e={},t={})=>(t.locale??U())===`fr`?Ux(e):Wx(e)),Kx=()=>`héritée`,qx=()=>`inherited`,Jx=((e={},t={})=>(t.locale??U())===`fr`?Kx(e):qx(e)),Yx=e=>`Contexte utilisé : ${e?.pct}% (${e?.used} / ${e?.total} tokens)`,Xx=e=>`Context used: ${e?.pct}% (${e?.used} / ${e?.total} tokens)`,Zx=((e,t={})=>(t.locale??U())===`fr`?Yx(e):Xx(e)),Qx=e=>`Abonnement ${e?.pct}%`,$x=e=>`Plan ${e?.pct}%`,eS=((e,t={})=>(t.locale??U())===`fr`?Qx(e):$x(e)),tS=e=>`Utilisation de l'abonnement du fournisseur — fenêtres de quota : ${e?.detail}`,nS=e=>`Provider subscription usage — quota windows: ${e?.detail}`,rS=((e,t={})=>(t.locale??U())===`fr`?tS(e):nS(e)),iS=()=>`j`,aS=()=>`d`,oS=((e={},t={})=>(t.locale??U())===`fr`?iS(e):aS(e)),sS=()=>`Contexte`,cS=()=>`Context`,lS=((e={},t={})=>(t.locale??U())===`fr`?sS(e):cS(e)),uS=()=>`Exporter la conversation`,dS=()=>`Export the conversation`,fS=((e={},t={})=>(t.locale??U())===`fr`?uS(e):dS(e)),pS=()=>`Exporter`,mS=()=>`Export`,hS=((e={},t={})=>(t.locale??U())===`fr`?pS(e):mS(e)),gS=()=>`Markdown (.md)`,_S=()=>`Markdown (.md)`,vS=((e={},t={})=>(t.locale??U())===`fr`?gS(e):_S(e)),yS=()=>`JSON (.json)`,bS=()=>`JSON (.json)`,xS=((e={},t={})=>(t.locale??U())===`fr`?yS(e):bS(e)),SS=()=>`Réglages avancés (réflexion, modèle)`,CS=()=>`Advanced settings (thinking, model)`,wS=((e={},t={})=>(t.locale??U())===`fr`?SS(e):CS(e)),TS=()=>`Avancé`,ES=()=>`Advanced`,DS=((e={},t={})=>(t.locale??U())===`fr`?TS(e):ES(e)),OS=()=>`Supprimer et régénérer cette réponse ?`,kS=()=>`Delete and regenerate this reply?`,AS=((e={},t={})=>(t.locale??U())===`fr`?OS(e):kS(e)),jS=()=>`Cette réponse sera supprimée, puis régénérée à partir de votre dernier message.`,MS=()=>`This reply will be deleted, then regenerated from your last message.`,NS=((e={},t={})=>(t.locale??U())===`fr`?jS(e):MS(e)),PS=()=>`Régénérer`,FS=()=>`Regenerate`,IS=((e={},t={})=>(t.locale??U())===`fr`?PS(e):FS(e)),LS=()=>`Annuler`,RS=()=>`Cancel`,zS=((e={},t={})=>(t.locale??U())===`fr`?LS(e):RS(e)),BS=()=>`Supprimer ce message et les suivants ?`,VS=()=>`Delete this message and the following ones?`,HS=((e={},t={})=>(t.locale??U())===`fr`?BS(e):VS(e)),US=()=>`Ce message et tous les messages qui le suivent seront supprimés de la conversation. Cette action est irréversible.`,WS=()=>`This message and all messages following it will be deleted from the conversation. This action is irreversible.`,GS=((e={},t={})=>(t.locale??U())===`fr`?US(e):WS(e)),KS=()=>`Supprimer`,qS=()=>`Delete`,JS=((e={},t={})=>(t.locale??U())===`fr`?KS(e):qS(e)),YS=()=>`Supprimer et régénérer la réponse`,XS=()=>`Delete and regenerate the reply`,ZS=((e={},t={})=>(t.locale??U())===`fr`?YS(e):XS(e)),QS=()=>`Supprimer ce message et les suivants`,$S=()=>`Delete this message and the following ones`,eC=((e={},t={})=>(t.locale??U())===`fr`?QS(e):$S(e)),tC=()=>`Supprimer le message`,nC=()=>`Delete the message`,rC=((e={},t={})=>(t.locale??U())===`fr`?tC(e):nC(e)),iC=()=>`La suppression a échoué`,aC=()=>`Delete failed`,oC=((e={},t={})=>(t.locale??U())===`fr`?iC(e):aC(e)),sC=()=>`Sources`,cC=()=>`Sources`,lC=((e={},t={})=>(t.locale??U())===`fr`?sC(e):cC(e)),uC=()=>`1 souvenir`,dC=()=>`1 memory`,fC=((e={},t={})=>(t.locale??U())===`fr`?uC(e):dC(e)),pC=e=>`${e?.count} souvenirs`,mC=e=>`${e?.count} memories`,hC=((e,t={})=>(t.locale??U())===`fr`?pC(e):mC(e)),gC=()=>`1 document`,_C=()=>`1 document`,vC=((e={},t={})=>(t.locale??U())===`fr`?gC(e):_C(e)),yC=e=>`${e?.count} documents`,bC=e=>`${e?.count} documents`,xC=((e,t={})=>(t.locale??U())===`fr`?yC(e):bC(e)),SC=()=>`Mémoire conversationnelle`,CC=()=>`Conversational memory`,wC=((e={},t={})=>(t.locale??U())===`fr`?SC(e):CC(e)),TC=()=>`Documents`,EC=()=>`Documents`,DC=((e={},t={})=>(t.locale??U())===`fr`?TC(e):EC(e)),OC=()=>`Contexte`,kC=()=>`Context`,AC=((e={},t={})=>(t.locale??U())===`fr`?OC(e):kC(e)),jC=()=>`1 contexte`,MC=()=>`1 context`,NC=((e={},t={})=>(t.locale??U())===`fr`?jC(e):MC(e)),PC=e=>`${e?.count} contextes`,FC=e=>`${e?.count} contexts`,IC=((e,t={})=>(t.locale??U())===`fr`?PC(e):FC(e)),LC=()=>`Contexte du graphe de connaissances`,RC=()=>`Knowledge-graph context`,zC=((e={},t={})=>(t.locale??U())===`fr`?LC(e):RC(e)),BC=e=>`score ${e?.score}`,VC=e=>`score ${e?.score}`,HC=((e,t={})=>(t.locale??U())===`fr`?BC(e):VC(e)),UC=()=>`(sans titre)`,WC=()=>`(untitled)`,GC=((e={},t={})=>(t.locale??U())===`fr`?UC(e):WC(e)),KC=()=>`Sources de la réponse`,qC=()=>`Sources of the reply`,JC=((e={},t={})=>(t.locale??U())===`fr`?KC(e):qC(e)),YC=()=>`Voir les sources de la réponse`,XC=()=>`View the sources of the reply`,ZC=((e={},t={})=>(t.locale??U())===`fr`?YC(e):XC(e)),QC=()=>`Rechercher dans les sources…`,$C=()=>`Search the sources…`,ew=((e={},t={})=>(t.locale??U())===`fr`?QC(e):$C(e)),tw=()=>`Aucune source ne correspond à votre recherche.`,nw=()=>`No source matches your search.`,rw=((e={},t={})=>(t.locale??U())===`fr`?tw(e):nw(e)),iw=()=>`Tout sélectionner`,aw=()=>`Select all`,ow=((e={},t={})=>(t.locale??U())===`fr`?iw(e):aw(e)),sw=e=>`${e?.count} document(s) sélectionné(s)`,cw=e=>`${e?.count} document(s) selected`,lw=((e,t={})=>(t.locale??U())===`fr`?sw(e):cw(e)),uw=()=>`Joindre les documents`,dw=()=>`Attach the documents`,fw=((e={},t={})=>(t.locale??U())===`fr`?uw(e):dw(e)),pw=()=>`Récupère les fichiers sources des documents cochés en liens téléchargeables (slot « Source d'origine »).`,mw=()=>`Fetches the checked documents' source files as downloadable links (the "Original source" slot).`,hw=((e={},t={})=>(t.locale??U())===`fr`?pw(e):mw(e)),gw=e=>`${e?.count} document(s) joint(s) téléchargeable(s) — ouvrir le panneau Sources`,_w=e=>`${e?.count} attached document(s) available for download — open the Sources panel`,vw=((e,t={})=>(t.locale??U())===`fr`?gw(e):_w(e)),yw=()=>`Source d'origine`,bw=()=>`Original source`,xw=((e={},t={})=>(t.locale??U())===`fr`?yw(e):bw(e)),Sw=()=>`Aucun agent documentaire configuré`,Cw=()=>`No documentary agent configured`,ww=((e={},t={})=>(t.locale??U())===`fr`?Sw(e):Cw(e)),Tw=()=>`Récupération des documents en cours…`,Ew=()=>`Fetching the documents…`,Dw=((e={},t={})=>(t.locale??U())===`fr`?Tw(e):Ew(e)),Ow=()=>`Récupération des documents lancée — voir le panneau Sources`,kw=()=>`Document fetch started — see the Sources panel`,Aw=((e={},t={})=>(t.locale??U())===`fr`?Ow(e):kw(e)),jw=()=>`Impossible de lancer la récupération des documents`,Mw=()=>`Could not start the document fetch`,Nw=((e={},t={})=>(t.locale??U())===`fr`?jw(e):Mw(e)),Pw=()=>`Récupération…`,Fw=()=>`Fetching…`,Iw=((e={},t={})=>(t.locale??U())===`fr`?Pw(e):Fw(e)),Lw=()=>`Télécharger la source`,Rw=()=>`Download the source`,zw=((e={},t={})=>(t.locale??U())===`fr`?Lw(e):Rw(e)),Bw=()=>`Source introuvable`,Vw=()=>`Source not found`,Hw=((e={},t={})=>(t.locale??U())===`fr`?Bw(e):Vw(e)),Uw=()=>`Voir plus`,Ww=()=>`Show more`,Gw=((e={},t={})=>(t.locale??U())===`fr`?Uw(e):Ww(e)),Kw=()=>`Voir moins`,qw=()=>`Show less`,Jw=((e={},t={})=>(t.locale??U())===`fr`?Kw(e):qw(e)),Yw=()=>`Fermer le panneau des sources`,Xw=()=>`Close the sources panel`,Zw=((e={},t={})=>(t.locale??U())===`fr`?Yw(e):Xw(e)),Qw=()=>`Redimensionner le panneau des sources`,$w=()=>`Resize the sources panel`,eT=((e={},t={})=>(t.locale??U())===`fr`?Qw(e):$w(e)),tT=e=>`Source · texte brut exact · ${e?.count} caractère`,nT=e=>`Source · exact raw text · ${e?.count} character`,rT=((e,t={})=>(t.locale??U())===`fr`?tT(e):nT(e)),iT=e=>`Source · texte brut exact · ${e?.count} caractères`,aT=e=>`Source · exact raw text · ${e?.count} characters`,oT=((e,t={})=>(t.locale??U())===`fr`?iT(e):aT(e)),sT=e=>`Source · résultat brut du sous-agent · ${e?.count} caractères`,cT=e=>`Source · sub-agent raw result · ${e?.count} characters`,lT=((e,t={})=>(t.locale??U())===`fr`?sT(e):cT(e)),uT=()=>`Copier la source exacte`,dT=()=>`Copy the exact source`,fT=((e={},t={})=>(t.locale??U())===`fr`?uT(e):dT(e)),pT=()=>`(aucun texte)`,mT=()=>`(no text)`,hT=((e={},t={})=>(t.locale??U())===`fr`?pT(e):mT(e)),gT=()=>`Afficher le message rendu`,_T=()=>`Show the rendered message`,vT=((e={},t={})=>(t.locale??U())===`fr`?gT(e):_T(e)),yT=()=>`Afficher la source (texte brut exact)`,bT=()=>`Show the source (exact raw text)`,xT=((e={},t={})=>(t.locale??U())===`fr`?yT(e):bT(e)),ST=()=>`Afficher la source du message`,CT=()=>`Show the message source`,wT=((e={},t={})=>(t.locale??U())===`fr`?ST(e):CT(e)),TT=()=>`Copier le message`,ET=()=>`Copy the message`,DT=((e={},t={})=>(t.locale??U())===`fr`?TT(e):ET(e)),OT=()=>`Envoi…`,kT=()=>`Sending…`,AT=((e={},t={})=>(t.locale??U())===`fr`?OT(e):kT(e)),jT=()=>`En attente`,MT=()=>`Queued`,NT=((e={},t={})=>(t.locale??U())===`fr`?jT(e):MT(e)),PT=e=>`${e?.name} traite votre message…`,FT=e=>`${e?.name} is processing your message…`,IT=((e,t={})=>(t.locale??U())===`fr`?PT(e):FT(e)),LT=e=>`L'agent ${e?.name} traite votre message…`,RT=e=>`The agent ${e?.name} is processing your message…`,zT=((e,t={})=>(t.locale??U())===`fr`?LT(e):RT(e)),BT=()=>`Copier la réponse`,VT=()=>`Copy the reply`,HT=((e={},t={})=>(t.locale??U())===`fr`?BT(e):VT(e)),UT=()=>`Brancher dans un nouveau chat`,WT=()=>`Branch into a new chat`,GT=((e={},t={})=>(t.locale??U())===`fr`?UT(e):WT(e)),KT=()=>`Brancher`,qT=()=>`Branch`,JT=((e={},t={})=>(t.locale??U())===`fr`?KT(e):qT(e)),YT=()=>`Branche créée — repérez-la dans le panneau de gauche`,XT=()=>`Branch created — spot it in the left panel`,ZT=((e={},t={})=>(t.locale??U())===`fr`?YT(e):XT(e)),QT=()=>`La nouvelle conversation reprend l’historique jusqu’à cette réponse ; celle-ci continue indépendamment.`,$T=()=>`The new conversation carries the history up to this reply; this one continues independently.`,eE=((e={},t={})=>(t.locale??U())===`fr`?QT(e):$T(e)),tE=()=>`Nom de la nouvelle conversation (vide = titre actuel)`,nE=()=>`Name of the new conversation (blank = current title)`,rE=((e={},t={})=>(t.locale??U())===`fr`?tE(e):nE(e)),iE=()=>`Impossible de créer la branche.`,aE=()=>`Could not create the branch.`,oE=((e={},t={})=>(t.locale??U())===`fr`?iE(e):aE(e)),sE=e=>`Télécharger ${e?.name}`,cE=e=>`Download ${e?.name}`,lE=((e,t={})=>(t.locale??U())===`fr`?sE(e):cE(e)),uE=()=>`Plus d’actions`,dE=()=>`More actions`,fE=((e={},t={})=>(t.locale??U())===`fr`?uE(e):dE(e)),pE=()=>`Chat indisponible…`,mE=()=>`Chat unavailable…`,hE=((e={},t={})=>(t.locale??U())===`fr`?pE(e):mE(e)),gE=e=>`Message ${e?.name}…`,_E=e=>`Message ${e?.name}…`,vE=((e,t={})=>(t.locale??U())===`fr`?gE(e):_E(e)),yE=()=>`Joindre un fichier`,bE=()=>`Attach a file`,xE=((e={},t={})=>(t.locale??U())===`fr`?yE(e):bE(e)),SE=()=>`échec`,CE=()=>`failed`,wE=((e={},t={})=>(t.locale??U())===`fr`?SE(e):CE(e)),TE=e=>`Téléversement du fichier… ${e?.percent}%`,EE=e=>`Uploading file… ${e?.percent}%`,DE=((e,t={})=>(t.locale??U())===`fr`?TE(e):EE(e)),OE=e=>`Téléversement de ${e?.count} fichiers… ${e?.percent}%`,kE=e=>`Uploading ${e?.count} files… ${e?.percent}%`,AE=((e,t={})=>(t.locale??U())===`fr`?OE(e):kE(e)),jE=()=>`Retirer la pièce jointe`,ME=()=>`Remove attachment`,NE=((e={},t={})=>(t.locale??U())===`fr`?jE(e):ME(e)),PE=()=>`Afficher le contenu de la pièce jointe`,FE=()=>`View attachment content`,IE=((e={},t={})=>(t.locale??U())===`fr`?PE(e):FE(e)),LE=()=>`Chargement de la conversation…`,RE=()=>`Loading the conversation…`,zE=((e={},t={})=>(t.locale??U())===`fr`?LE(e):RE(e)),BE=()=>`— aperçu tronqué (le fichier complet sera bien envoyé) —`,VE=()=>`— preview truncated (the full file will still be sent) —`,HE=((e={},t={})=>(t.locale??U())===`fr`?BE(e):VE(e)),UE=()=>`Masquer l'activité des outils et revenir à la vue épurée`,WE=()=>`Hide tool activity and return to the clean view`,GE=((e={},t={})=>(t.locale??U())===`fr`?UE(e):WE(e)),KE=()=>`Afficher l'activité des outils (traitements réalisés et en cours)`,qE=()=>`Show tool activity (completed and in-progress processing)`,JE=((e={},t={})=>(t.locale??U())===`fr`?KE(e):qE(e)),YE=()=>`Outils`,XE=()=>`Tools`,ZE=((e={},t={})=>(t.locale??U())===`fr`?YE(e):XE(e)),QE=e=>`${e?.count} appel d'outil`,$E=e=>`${e?.count} tool call`,eD=((e,t={})=>(t.locale??U())===`fr`?QE(e):$E(e)),tD=e=>`${e?.count} appels d'outils`,nD=e=>`${e?.count} tool calls`,rD=((e,t={})=>(t.locale??U())===`fr`?tD(e):nD(e)),iD=()=>`Terminé`,aD=()=>`Done`,oD=((e={},t={})=>(t.locale??U())===`fr`?iD(e):aD(e)),sD=()=>`Échec`,cD=()=>`Failed`,lD=((e={},t={})=>(t.locale??U())===`fr`?sD(e):cD(e)),uD=e=>`exit ${e?.code}`,dD=e=>`exit ${e?.code}`,fD=((e,t={})=>(t.locale??U())===`fr`?uD(e):dD(e)),pD=e=>`${e?.ms} ms`,mD=e=>`${e?.ms} ms`,hD=((e,t={})=>(t.locale??U())===`fr`?pD(e):mD(e)),gD=()=>`Sortie non transmise par la passerelle`,_D=()=>`Output not transmitted by the gateway`,vD=((e={},t={})=>(t.locale??U())===`fr`?gD(e):_D(e)),yD=e=>`Contenu volumineux (${e?.size} Ko) — non affiché ici pour alléger le chargement.`,bD=e=>`Large content (${e?.size} KB) — not shown here to keep loading fast.`,xD=((e,t={})=>(t.locale??U())===`fr`?yD(e):bD(e)),SD=()=>`Latence de livraison`,CD=()=>`Delivery latency`,wD=((e={},t={})=>(t.locale??U())===`fr`?SD(e):CD(e)),TD=()=>`Mesure le pipeline bridge → Convex → frontend par delta (horodatages seuls, sans contenu).`,ED=()=>`Measures the bridge → Convex → frontend pipeline per delta (timestamps only, no content).`,DD=((e={},t={})=>(t.locale??U())===`fr`?TD(e):ED(e)),OD=()=>`Démarrer l'enregistrement`,kD=()=>`Start recording`,AD=((e={},t={})=>(t.locale??U())===`fr`?OD(e):kD(e)),jD=()=>`Arrêter l'enregistrement`,MD=()=>`Stop recording`,ND=((e={},t={})=>(t.locale??U())===`fr`?jD(e):MD(e)),PD=()=>`Enregistrement actif`,FD=()=>`Recording`,ID=((e={},t={})=>(t.locale??U())===`fr`?PD(e):FD(e)),LD=e=>`depuis ${e?.time}`,RD=e=>`since ${e?.time}`,zD=((e,t={})=>(t.locale??U())===`fr`?LD(e):RD(e)),BD=()=>`Aucun échantillon pour cette session.`,VD=()=>`No samples for this session yet.`,HD=((e={},t={})=>(t.locale??U())===`fr`?BD(e):VD(e)),UD=()=>`Afficher les enregistrements`,WD=()=>`Show recordings`,GD=((e={},t={})=>(t.locale??U())===`fr`?UD(e):WD(e)),KD=()=>`Masquer les enregistrements`,qD=()=>`Hide recordings`,JD=((e={},t={})=>(t.locale??U())===`fr`?KD(e):qD(e)),YD=()=>`Enregistrements`,XD=()=>`Recordings`,ZD=((e={},t={})=>(t.locale??U())===`fr`?YD(e):XD(e)),QD=()=>`Rechercher (démarré par)…`,$D=()=>`Search (started by)…`,eO=((e={},t={})=>(t.locale??U())===`fr`?QD(e):$D(e)),tO=()=>`Tous`,nO=()=>`All`,rO=((e={},t={})=>(t.locale??U())===`fr`?tO(e):nO(e)),iO=()=>`Actif`,aO=()=>`Active`,oO=((e={},t={})=>(t.locale??U())===`fr`?iO(e):aO(e)),sO=()=>`Terminé`,cO=()=>`Stopped`,lO=((e={},t={})=>(t.locale??U())===`fr`?sO(e):cO(e)),uO=()=>`Début`,dO=()=>`Start`,fO=((e={},t={})=>(t.locale??U())===`fr`?uO(e):dO(e)),pO=()=>`Fin`,mO=()=>`End`,hO=((e={},t={})=>(t.locale??U())===`fr`?pO(e):mO(e)),gO=()=>`Échantillons`,_O=()=>`Samples`,vO=((e={},t={})=>(t.locale??U())===`fr`?gO(e):_O(e)),yO=()=>`Démarré par`,bO=()=>`Started by`,xO=((e={},t={})=>(t.locale??U())===`fr`?yO(e):bO(e)),SO=()=>`Statut`,CO=()=>`Status`,wO=((e={},t={})=>(t.locale??U())===`fr`?SO(e):CO(e)),TO=()=>`Admin`,EO=()=>`Admin`,DO=((e={},t={})=>(t.locale??U())===`fr`?TO(e):EO(e)),OO=()=>`Agent`,kO=()=>`Agent`,AO=((e={},t={})=>(t.locale??U())===`fr`?OO(e):kO(e)),jO=()=>`Voir le détail`,MO=()=>`View detail`,NO=((e={},t={})=>(t.locale??U())===`fr`?jO(e):MO(e)),PO=()=>`Masquer le détail`,FO=()=>`Hide detail`,IO=((e={},t={})=>(t.locale??U())===`fr`?PO(e):FO(e)),LO=()=>`Supprimer`,RO=()=>`Delete`,zO=((e={},t={})=>(t.locale??U())===`fr`?LO(e):RO(e)),BO=()=>`Chargement…`,VO=()=>`Loading…`,HO=((e={},t={})=>(t.locale??U())===`fr`?BO(e):VO(e)),UO=()=>`Évolution (p50 par enregistrement)`,WO=()=>`Evolution (p50 per recording)`,GO=((e={},t={})=>(t.locale??U())===`fr`?UO(e):WO(e)),KO=()=>`ms`,qO=()=>`ms`,JO=((e={},t={})=>(t.locale??U())===`fr`?KO(e):qO(e)),YO=()=>`Latence de livraison (p50) au fil des enregistrements.`,XO=()=>`Delivery latency (p50) across recordings.`,ZO=((e={},t={})=>(t.locale??U())===`fr`?YO(e):XO(e)),QO=()=>`Pas assez d’enregistrements pour tracer une tendance.`,$O=()=>`Not enough recordings to plot a trend.`,ek=((e={},t={})=>(t.locale??U())===`fr`?QO(e):$O(e)),tk=()=>`Monitoring latence`,nk=()=>`Latency monitoring`,rk=((e={},t={})=>(t.locale??U())===`fr`?tk(e):nk(e)),ik=()=>`Traces d’activité`,ak=()=>`Activity traces`,ok=((e={},t={})=>(t.locale??U())===`fr`?ik(e):ak(e)),sk=()=>`Segment`,ck=()=>`Segment`,lk=((e={},t={})=>(t.locale??U())===`fr`?sk(e):ck(e)),uk=()=>`Échantillons`,dk=()=>`Samples`,fk=((e={},t={})=>(t.locale??U())===`fr`?uk(e):dk(e)),pk=()=>`p50 / p95 / max (ms)`,mk=()=>`p50 / p95 / max (ms)`,hk=((e={},t={})=>(t.locale??U())===`fr`?pk(e):mk(e)),gk=()=>`Bridge interne`,_k=()=>`Bridge internal`,vk=((e={},t={})=>(t.locale??U())===`fr`?gk(e):_k(e)),yk=()=>`A — bridge → Convex`,bk=()=>`A — bridge → Convex`,xk=((e={},t={})=>(t.locale??U())===`fr`?yk(e):bk(e)),Sk=()=>`C — Convex → frontend`,Ck=()=>`C — Convex → frontend`,wk=((e={},t={})=>(t.locale??U())===`fr`?Sk(e):Ck(e)),Tk=()=>`B (exéc. Convex) : via la télémétrie Convex (non mesurable in-app).`,Ek=()=>`B (Convex exec): from Convex telemetry (not measurable in-app).`,Dk=((e={},t={})=>(t.locale??U())===`fr`?Tk(e):Ek(e)),Ok=()=>`C est échantillonné au rythme d'affichage du navigateur (≤ A).`,kk=()=>`C is sampled at the browser render rate (≤ A).`,Ak=((e={},t={})=>(t.locale??U())===`fr`?Ok(e):kk(e)),jk=()=>`Rapport plafonné : les stats ne couvrent que les premières lignes de la fenêtre.`,Mk=()=>`Report capped: stats cover only the first rows of the window.`,Nk=((e={},t={})=>(t.locale??U())===`fr`?jk(e):Mk(e)),Pk=()=>`Copier`,Fk=()=>`Copy`,Ik=((e={},t={})=>(t.locale??U())===`fr`?Pk(e):Fk(e)),Lk=()=>`Copié`,Rk=()=>`Copied`,zk=((e={},t={})=>(t.locale??U())===`fr`?Lk(e):Rk(e)),Bk=()=>`Aucune session enregistrée.`,Vk=()=>`No recorded sessions yet.`,Hk=((e={},t={})=>(t.locale??U())===`fr`?Bk(e):Vk(e)),Uk=()=>`deltas`,Wk=()=>`deltas`,Gk=((e={},t={})=>(t.locale??U())===`fr`?Uk(e):Wk(e)),Kk=()=>`en cours`,qk=()=>`running`,Jk=((e={},t={})=>(t.locale??U())===`fr`?Kk(e):qk(e)),Yk=()=>`terminé`,Xk=()=>`done`,Zk=((e={},t={})=>(t.locale??U())===`fr`?Yk(e):Xk(e)),Qk=()=>`Afficher le détail des appels d'outils`,$k=()=>`Show tool call details`,eA=((e={},t={})=>(t.locale??U())===`fr`?Qk(e):$k(e)),tA=()=>`Masquer le détail des appels d'outils`,nA=()=>`Hide tool call details`,rA=((e={},t={})=>(t.locale??U())===`fr`?tA(e):nA(e)),iA=()=>`Envoi indisponible (service de chat hors ligne)`,aA=()=>`Sending unavailable (chat service offline)`,oA=((e={},t={})=>(t.locale??U())===`fr`?iA(e):aA(e)),sA=()=>`Envoyer`,cA=()=>`Send`,lA=((e={},t={})=>(t.locale??U())===`fr`?sA(e):cA(e)),uA=()=>`Arrêter la réponse en cours`,dA=()=>`Stop the current reply`,fA=((e={},t={})=>(t.locale??U())===`fr`?uA(e):dA(e)),pA=()=>`Arrêter la réponse (conserve le texte déjà reçu)`,mA=()=>`Stop the reply (keeps the text received so far)`,hA=((e={},t={})=>(t.locale??U())===`fr`?pA(e):mA(e)),gA=()=>`L'arrêt du tour a échoué.`,_A=()=>`Stopping the turn failed.`,vA=((e={},t={})=>(t.locale??U())===`fr`?gA(e):_A(e)),yA=()=>`La réponse démarre encore — réessayez d'arrêter dans un instant.`,bA=()=>`The reply is still starting — try stopping again in a moment.`,xA=((e={},t={})=>(t.locale??U())===`fr`?yA(e):bA(e)),SA=()=>`Réponse en cours…`,CA=()=>`Response in progress…`,wA=((e={},t={})=>(t.locale??U())===`fr`?SA(e):CA(e)),TA=()=>`Mettre en file (envoyé après la réponse en cours)`,EA=()=>`Queue (sent after the current reply)`,DA=((e={},t={})=>(t.locale??U())===`fr`?TA(e):EA(e)),OA=()=>`Envoyer après la réponse en cours`,kA=()=>`Send after the current reply`,AA=((e={},t={})=>(t.locale??U())===`fr`?OA(e):kA(e)),jA=()=>`En attente du sous-agent…`,MA=()=>`Waiting for the sub-agent…`,NA=((e={},t={})=>(t.locale??U())===`fr`?jA(e):MA(e)),PA=()=>`Mettre en file (envoyé après la fin du sous-agent)`,FA=()=>`Queue (sent after the sub-agent finishes)`,IA=((e={},t={})=>(t.locale??U())===`fr`?PA(e):FA(e)),LA=()=>`Envoyer après la fin du sous-agent`,RA=()=>`Send after the sub-agent finishes`,zA=((e={},t={})=>(t.locale??U())===`fr`?LA(e):RA(e)),BA=()=>`Trop de messages en attente. Patientez la fin de la réponse en cours.`,VA=()=>`Too many messages waiting. Wait for the current reply to finish.`,HA=((e={},t={})=>(t.locale??U())===`fr`?BA(e):VA(e)),UA=()=>`Impossible de mettre le message en file. Réessayez.`,WA=()=>`Could not queue the message. Try again.`,GA=((e={},t={})=>(t.locale??U())===`fr`?UA(e):WA(e)),KA=()=>`Chargement…`,qA=()=>`Loading…`,JA=((e={},t={})=>(t.locale??U())===`fr`?KA(e):qA(e)),YA=()=>`Configuration des intégrations.`,XA=()=>`Integrations configuration.`,ZA=((e={},t={})=>(t.locale??U())===`fr`?YA(e):XA(e)),QA=()=>`Aucune clé API ici`,$A=()=>`No API key here`,ej=((e={},t={})=>(t.locale??U())===`fr`?QA(e):$A(e)),tj=()=>`— elles vivent dans l'environnement du déploiement ; un champ vide retombe sur la variable d'environnement puis le défaut. L'indicateur « configuré » reflète la présence de la clé côté serveur.`,nj=()=>`— they live in the deployment environment; an empty field falls back to the environment variable then the default. The "configured" indicator reflects the presence of the key on the server side.`,rj=((e={},t={})=>(t.locale??U())===`fr`?tj(e):nj(e)),ij=()=>`actif`,aj=()=>`active`,oj=((e={},t={})=>(t.locale??U())===`fr`?ij(e):aj(e)),sj=()=>`en pause`,cj=()=>`paused`,lj=((e={},t={})=>(t.locale??U())===`fr`?sj(e):cj(e)),uj=()=>`clé manquante (env)`,dj=()=>`key missing (env)`,fj=((e={},t={})=>(t.locale??U())===`fr`?uj(e):dj(e)),pj=()=>`Export des traces. Clés : LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY (env).`,mj=()=>`Trace export. Keys: LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY (env).`,hj=((e={},t={})=>(t.locale??U())===`fr`?pj(e):mj(e)),gj=()=>`Export des traces. Clé : OPIK_API_KEY (env).`,_j=()=>`Trace export. Key: OPIK_API_KEY (env).`,vj=((e={},t={})=>(t.locale??U())===`fr`?gj(e):_j(e)),yj=()=>`Host`,bj=()=>`Host`,xj=((e={},t={})=>(t.locale??U())===`fr`?yj(e):bj(e)),Sj=()=>`Base URL`,Cj=()=>`Base URL`,wj=((e={},t={})=>(t.locale??U())===`fr`?Sj(e):Cj(e)),Tj=()=>`Workspace`,Ej=()=>`Workspace`,Dj=((e={},t={})=>(t.locale??U())===`fr`?Tj(e):Ej(e)),Oj=()=>`(défaut serveur)`,kj=()=>`(server default)`,Aj=((e={},t={})=>(t.locale??U())===`fr`?Oj(e):kj(e)),jj=()=>`Activé (expédition des traces)`,Mj=()=>`Enabled (trace shipping)`,Nj=((e={},t={})=>(t.locale??U())===`fr`?jj(e):Mj(e)),Pj=()=>`Mots modifiés / altérés`,Fj=()=>`Modified / altered words`,Ij=((e={},t={})=>(t.locale??U())===`fr`?Pj(e):Fj(e)),Lj=()=>`Réponse incorrecte`,Rj=()=>`Incorrect answer`,zj=((e={},t={})=>(t.locale??U())===`fr`?Lj(e):Rj(e)),Bj=()=>`Incohérence`,Vj=()=>`Inconsistency`,Hj=((e={},t={})=>(t.locale??U())===`fr`?Bj(e):Vj(e)),Uj=()=>`Formatage`,Wj=()=>`Formatting`,Gj=((e={},t={})=>(t.locale??U())===`fr`?Uj(e):Wj(e)),Kj=()=>`Latence`,qj=()=>`Latency`,Jj=((e={},t={})=>(t.locale??U())===`fr`?Kj(e):qj(e)),Yj=()=>`Erreur API`,Xj=()=>`API error`,Zj=((e={},t={})=>(t.locale??U())===`fr`?Yj(e):Xj(e)),Qj=()=>`Autre`,$j=()=>`Other`,eM=((e={},t={})=>(t.locale??U())===`fr`?Qj(e):$j(e)),tM=()=>`reçu = stocké`,nM=()=>`received = stored`,rM=((e={},t={})=>(t.locale??U())===`fr`?tM(e):nM(e)),iM=()=>`affichage fidèle ✓`,aM=()=>`faithful display ✓`,oM=((e={},t={})=>(t.locale??U())===`fr`?iM(e):aM(e)),sM=()=>`écart ⚠`,cM=()=>`mismatch ⚠`,lM=((e={},t={})=>(t.locale??U())===`fr`?sM(e):cM(e)),uM=()=>`régénération`,dM=()=>`regeneration`,fM=((e={},t={})=>(t.locale??U())===`fr`?uM(e):dM(e)),pM=()=>`Commentaire du rapporteur`,mM=()=>`Reporter's comment`,hM=((e={},t={})=>(t.locale??U())===`fr`?pM(e):mM(e)),gM=()=>`Échange avec l'utilisateur`,_M=()=>`Exchange with the user`,vM=((e={},t={})=>(t.locale??U())===`fr`?gM(e):_M(e)),yM=()=>`Administrateur`,bM=()=>`Administrator`,xM=((e={},t={})=>(t.locale??U())===`fr`?yM(e):bM(e)),SM=()=>`Utilisateur`,CM=()=>`User`,wM=((e={},t={})=>(t.locale??U())===`fr`?SM(e):CM(e)),TM=()=>`Aucune réponse envoyée.`,EM=()=>`No reply sent.`,DM=((e={},t={})=>(t.locale??U())===`fr`?TM(e):EM(e)),OM=()=>`Répondre à l'utilisateur (visible dans sa zone de notification)…`,kM=()=>`Reply to the user (visible in their notification area)…`,AM=((e={},t={})=>(t.locale??U())===`fr`?OM(e):kM(e)),jM=()=>`Envoi…`,MM=()=>`Sending…`,NM=((e={},t={})=>(t.locale??U())===`fr`?jM(e):MM(e)),PM=()=>`Répondre`,FM=()=>`Reply`,IM=((e={},t={})=>(t.locale??U())===`fr`?PM(e):FM(e)),LM=()=>`Texte stocké (serveur, autoritatif)`,RM=()=>`Stored text (server, authoritative)`,zM=((e={},t={})=>(t.locale??U())===`fr`?LM(e):RM(e)),BM=()=>`(vide)`,VM=()=>`(empty)`,HM=((e={},t={})=>(t.locale??U())===`fr`?BM(e):VM(e)),UM=()=>`Texte affiché (navigateur, au signalement)`,WM=()=>`Displayed text (browser, at report time)`,GM=((e={},t={})=>(t.locale??U())===`fr`?UM(e):WM(e)),KM=()=>`Prompt générateur`,qM=()=>`Generator prompt`,JM=((e={},t={})=>(t.locale??U())===`fr`?KM(e):qM(e)),YM=e=>`Contexte figé (${e?.count} tours${e?.truncated})`,XM=e=>`Frozen context (${e?.count} turns${e?.truncated})`,ZM=((e,t={})=>(t.locale??U())===`fr`?YM(e):XM(e)),QM=()=>`, tronqué`,$M=()=>`, truncated`,eN=((e={},t={})=>(t.locale??U())===`fr`?QM(e):$M(e)),tN=()=>`Payload dispatché (outbox)`,nN=()=>`Dispatched payload (outbox)`,rN=((e={},t={})=>(t.locale??U())===`fr`?tN(e):nN(e)),iN=()=>`Extensions de correction détectées (peuvent altérer le texte)`,aN=()=>`Correction extensions detected (may alter the text)`,oN=((e={},t={})=>(t.locale??U())===`fr`?iN(e):aN(e)),sN=()=>`Environnement client`,cN=()=>`Client environment`,lN=((e={},t={})=>(t.locale??U())===`fr`?sN(e):cN(e)),uN=e=>`thème ${e?.theme}`,dN=e=>`theme ${e?.theme}`,fN=((e,t={})=>(t.locale??U())===`fr`?uN(e):dN(e)),pN=()=>`Plugins :`,mN=()=>`Plugins:`,hN=((e={},t={})=>(t.locale??U())===`fr`?pN(e):mN(e)),gN=()=>`(navigator.plugins — neutralisé/partiel dans les navigateurs modernes)`,_N=()=>`(navigator.plugins — neutralized/partial in modern browsers)`,vN=((e={},t={})=>(t.locale??U())===`fr`?gN(e):_N(e)),yN=()=>`Signalements « Report Feedback » enregistrés. La liste est en métadonnées ; ouvrir le détail lit le contenu figé et`,bN=()=>`Recorded "Report Feedback" reports. The list shows metadata; opening the detail reads the frozen content and`,xN=((e={},t={})=>(t.locale??U())===`fr`?yN(e):bN(e)),SN=()=>`trace cet accès dans l'Audit`,CN=()=>`traces this access in the Audit`,wN=((e={},t={})=>(t.locale??U())===`fr`?SN(e):CN(e)),TN=()=>`(lecture de contenu d'un autre utilisateur). Fenêtre récente bornée.`,EN=()=>`(reading another user's content). Bounded recent window.`,DN=((e={},t={})=>(t.locale??U())===`fr`?TN(e):EN(e)),ON=()=>`Signalements`,kN=()=>`Reports`,AN=((e={},t={})=>(t.locale??U())===`fr`?ON(e):kN(e)),jN=()=>`Aucun signalement pour l'instant.`,MN=()=>`No reports yet.`,NN=((e={},t={})=>(t.locale??U())===`fr`?jN(e):MN(e)),PN=()=>`Référence partageable du signalement (pour l'API de support)`,FN=()=>`Shareable report reference (for the support API)`,IN=((e={},t={})=>(t.locale??U())===`fr`?PN(e):FN(e)),LN=()=>`Quand`,RN=()=>`When`,zN=((e={},t={})=>(t.locale??U())===`fr`?LN(e):RN(e)),BN=()=>`Catégorie`,VN=()=>`Category`,HN=((e={},t={})=>(t.locale??U())===`fr`?BN(e):VN(e)),UN=()=>`Type`,WN=()=>`Type`,GN=((e={},t={})=>(t.locale??U())===`fr`?UN(e):WN(e)),KN=()=>`user`,qN=()=>`user`,JN=((e={},t={})=>(t.locale??U())===`fr`?KN(e):qN(e)),YN=()=>`AI`,XN=()=>`AI`,ZN=((e={},t={})=>(t.locale??U())===`fr`?YN(e):XN(e)),QN=()=>`Rapporteur`,$N=()=>`Reporter`,eP=((e={},t={})=>(t.locale??U())===`fr`?QN(e):$N(e)),tP=e=>`(via ${e?.operator})`,nP=e=>`(via ${e?.operator})`,rP=((e,t={})=>(t.locale??U())===`fr`?tP(e):nP(e)),iP=()=>`Fidélité`,aP=()=>`Fidelity`,oP=((e={},t={})=>(t.locale??U())===`fr`?iP(e):aP(e)),sP=()=>`Note`,cP=()=>`Note`,lP=((e={},t={})=>(t.locale??U())===`fr`?sP(e):cP(e)),uP=()=>`Statut`,dP=()=>`Status`,fP=((e={},t={})=>(t.locale??U())===`fr`?uP(e):dP(e)),pP=()=>`Répondu`,mP=()=>`Answered`,hP=((e={},t={})=>(t.locale??U())===`fr`?pP(e):mP(e)),gP=()=>`En attente`,_P=()=>`Pending`,vP=((e={},t={})=>(t.locale??U())===`fr`?gP(e):_P(e)),yP=()=>`Clos par l'utilisateur`,bP=()=>`Closed by user`,xP=((e={},t={})=>(t.locale??U())===`fr`?yP(e):bP(e)),SP=()=>`Raison de clôture`,CP=()=>`Close reason`,wP=((e={},t={})=>(t.locale??U())===`fr`?SP(e):CP(e)),TP=()=>`Masquer`,EP=()=>`Hide`,DP=((e={},t={})=>(t.locale??U())===`fr`?TP(e):EP(e)),OP=()=>`Voir le détail`,kP=()=>`View detail`,AP=((e={},t={})=>(t.locale??U())===`fr`?OP(e):kP(e)),jP=()=>`Supprimer`,MP=()=>`Delete`,NP=((e={},t={})=>(t.locale??U())===`fr`?jP(e):MP(e)),PP=()=>`Supprimer ce signalement ?`,FP=()=>`Delete this report?`,IP=((e={},t={})=>(t.locale??U())===`fr`?PP(e):FP(e)),LP=()=>`L'instantané forensique figé sera définitivement supprimé. Cette action est irréversible.`,RP=()=>`The frozen forensic snapshot will be permanently deleted. This action is irreversible.`,zP=((e={},t={})=>(t.locale??U())===`fr`?LP(e):RP(e)),BP=()=>`Supprimer`,VP=()=>`Delete`,HP=((e={},t={})=>(t.locale??U())===`fr`?BP(e):VP(e)),UP=()=>`Aucun onglet`,WP=()=>`No tabs`,GP=((e={},t={})=>(t.locale??U())===`fr`?UP(e):WP(e)),KP=e=>`${e?.count} onglets`,qP=e=>`${e?.count} tabs`,JP=((e,t={})=>(t.locale??U())===`fr`?KP(e):qP(e)),YP=()=>`Onglets Settings autorisés`,XP=()=>`Allowed Settings tabs`,ZP=((e={},t={})=>(t.locale??U())===`fr`?YP(e):XP(e)),QP=()=>`Changement de rôle refusé`,$P=()=>`Role change refused`,eF=((e={},t={})=>(t.locale??U())===`fr`?QP(e):$P(e)),tF=()=>`Mise à jour des permissions refusée`,nF=()=>`Permission update refused`,rF=((e={},t={})=>(t.locale??U())===`fr`?tF(e):nF(e)),iF=()=>`Rechercher (email, nom)`,aF=()=>`Search (email, name)`,oF=((e={},t={})=>(t.locale??U())===`fr`?iF(e):aF(e)),sF=()=>`Tous les rôles`,cF=()=>`All roles`,lF=((e={},t={})=>(t.locale??U())===`fr`?sF(e):cF(e)),uF=()=>`Utilisateurs`,dF=()=>`Users`,fF=((e={},t={})=>(t.locale??U())===`fr`?uF(e):dF(e)),pF=()=>`Aucun utilisateur.`,mF=()=>`No users.`,hF=((e={},t={})=>(t.locale??U())===`fr`?pF(e):mF(e)),gF=()=>`Voir comme cet utilisateur`,_F=()=>`View as this user`,vF=((e={},t={})=>(t.locale??U())===`fr`?gF(e):_F(e)),yF=()=>`Supprimer l’utilisateur`,bF=()=>`Delete user`,xF=((e={},t={})=>(t.locale??U())===`fr`?yF(e):bF(e)),SF=()=>`Supprimer cet utilisateur ?`,CF=()=>`Delete this user?`,wF=((e={},t={})=>(t.locale??U())===`fr`?SF(e):CF(e)),TF=e=>`« ${e?.user} » et toutes ses données (conversations, fichiers, accès) seront définitivement supprimés. Cette action est irréversible.`,EF=e=>`“${e?.user}” and all their data (conversations, files, access) will be permanently deleted. This action cannot be undone.`,DF=((e,t={})=>(t.locale??U())===`fr`?TF(e):EF(e)),OF=()=>`SUPPRIMER`,kF=()=>`DELETE`,AF=((e={},t={})=>(t.locale??U())===`fr`?OF(e):kF(e)),jF=()=>`Supprimer définitivement`,MF=()=>`Delete permanently`,NF=((e={},t={})=>(t.locale??U())===`fr`?jF(e):MF(e)),PF=()=>`Suppression de l’utilisateur refusée`,FF=()=>`User deletion refused`,IF=((e={},t={})=>(t.locale??U())===`fr`?PF(e):FF(e)),LF=e=>`Utilisateur « ${e?.user} » supprimé.`,RF=e=>`User “${e?.user}” deleted.`,zF=((e,t={})=>(t.locale??U())===`fr`?LF(e):RF(e)),BF=()=>`Renommer`,VF=()=>`Rename`,HF=((e={},t={})=>(t.locale??U())===`fr`?BF(e):VF(e)),UF=()=>`Renommer l’utilisateur`,WF=()=>`Rename user`,GF=((e={},t={})=>(t.locale??U())===`fr`?UF(e):WF(e)),KF=e=>`Nom affiché pour « ${e?.user} »`,qF=e=>`Display name for “${e?.user}”`,JF=((e,t={})=>(t.locale??U())===`fr`?KF(e):qF(e)),YF=()=>`Nom et prénom`,XF=()=>`Name`,ZF=((e={},t={})=>(t.locale??U())===`fr`?YF(e):XF(e)),QF=()=>`Nom mis à jour.`,$F=()=>`Name updated.`,eI=((e={},t={})=>(t.locale??U())===`fr`?QF(e):$F(e)),tI=()=>`Renommage refusé`,nI=()=>`Rename refused`,rI=((e={},t={})=>(t.locale??U())===`fr`?tI(e):nI(e)),iI=()=>`Utilisateur`,aI=()=>`User`,oI=((e={},t={})=>(t.locale??U())===`fr`?iI(e):aI(e)),sI=()=>`Rôle`,cI=()=>`Role`,lI=((e={},t={})=>(t.locale??U())===`fr`?sI(e):cI(e)),uI=()=>`Accès Settings`,dI=()=>`Settings access`,fI=((e={},t={})=>(t.locale??U())===`fr`?uI(e):dI(e)),pI=()=>`Tous (admin)`,mI=()=>`All (admin)`,hI=((e={},t={})=>(t.locale??U())===`fr`?pI(e):mI(e)),gI=()=>`Agents`,_I=()=>`Agents`,vI=((e={},t={})=>(t.locale??U())===`fr`?gI(e):_I(e)),yI=()=>`Gérer les agents`,bI=()=>`Manage agents`,xI=((e={},t={})=>(t.locale??U())===`fr`?yI(e):bI(e)),SI=()=>`Échec de l’enregistrement de l’instance`,CI=()=>`Failed to save instance`,wI=((e={},t={})=>(t.locale??U())===`fr`?SI(e):CI(e)),TI=()=>`Les agents sont `,EI=()=>`Agents are `,DI=((e={},t={})=>(t.locale??U())===`fr`?TI(e):EI(e)),OI=()=>`découverts par le bridge`,kI=()=>`discovered by the bridge`,AI=((e={},t={})=>(t.locale??U())===`fr`?OI(e):kI(e)),jI=()=>` (jamais saisis à la main). Les identifiants gateway (token, device, clé API) se configurent par instance via « Identifiants » — chiffrés au repos.`,MI=()=>` (never entered by hand). Gateway credentials (token, device identity, API key) are set per instance via “Credentials” — encrypted at rest.`,NI=((e={},t={})=>(t.locale??U())===`fr`?jI(e):MI(e)),PI=()=>`Instances`,FI=()=>`Instances`,II=((e={},t={})=>(t.locale??U())===`fr`?PI(e):FI(e)),LI=()=>`Ajouter une instance`,RI=()=>`Add instance`,zI=((e={},t={})=>(t.locale??U())===`fr`?LI(e):RI(e)),BI=()=>`Aucune instance.`,VI=()=>`No instances.`,HI=((e={},t={})=>(t.locale??U())===`fr`?BI(e):VI(e)),UI=()=>`Nom`,WI=()=>`Name`,GI=((e={},t={})=>(t.locale??U())===`fr`?UI(e):WI(e)),KI=()=>`Bridge`,qI=()=>`Bridge`,JI=((e={},t={})=>(t.locale??U())===`fr`?KI(e):qI(e)),YI=()=>`Gateway URL`,XI=()=>`Gateway URL`,ZI=((e={},t={})=>(t.locale??U())===`fr`?YI(e):XI(e)),QI=()=>`Affichage`,$I=()=>`Display`,eL=((e={},t={})=>(t.locale??U())===`fr`?QI(e):$I(e)),tL=()=>`Configurer le bridge`,nL=()=>`Configure bridge`,rL=((e={},t={})=>(t.locale??U())===`fr`?tL(e):nL(e)),iL=()=>`Supprimer`,aL=()=>`Delete`,oL=((e={},t={})=>(t.locale??U())===`fr`?iL(e):aL(e)),sL=()=>`Nouvelle instance`,cL=()=>`New instance`,lL=((e={},t={})=>(t.locale??U())===`fr`?sL(e):cL(e)),uL=()=>`Modifier`,dL=()=>`Edit`,fL=((e={},t={})=>(t.locale??U())===`fr`?uL(e):dL(e)),pL=()=>`Modifier l'instance`,mL=()=>`Edit instance`,hL=((e={},t={})=>(t.locale??U())===`fr`?pL(e):mL(e)),gL=()=>`Le nom est la clé de routage et ne peut pas être modifié après création.`,_L=()=>`The name is the routing key and can't be changed after creation.`,vL=((e={},t={})=>(t.locale??U())===`fr`?gL(e):_L(e)),yL=()=>`Métadonnées non-secrètes.`,bL=()=>`Non-secret metadata.`,xL=((e={},t={})=>(t.locale??U())===`fr`?yL(e):bL(e)),SL=()=>`Enregistrer`,CL=()=>`Save`,wL=((e={},t={})=>(t.locale??U())===`fr`?SL(e):CL(e)),TL=()=>`Nom de l’instance (ex. main)`,EL=()=>`Instance name (e.g. main)`,DL=((e={},t={})=>(t.locale??U())===`fr`?TL(e):EL(e)),OL=()=>`Technologie (bridge)`,kL=()=>`Technology (bridge)`,AL=((e={},t={})=>(t.locale??U())===`fr`?OL(e):kL(e)),jL=()=>`Gateway URL (ws(s)://)`,ML=()=>`Gateway URL (ws(s)://)`,NL=((e={},t={})=>(t.locale??U())===`fr`?jL(e):ML(e)),PL=()=>`URL du bridge`,FL=()=>`Bridge URL`,IL=((e={},t={})=>(t.locale??U())===`fr`?PL(e):FL(e)),LL=()=>`http://bridge-host:8787 — sinon le BRIDGE_URL du déploiement`,RL=()=>`http://bridge-host:8787 — else the deployment BRIDGE_URL`,zL=((e={},t={})=>(t.locale??U())===`fr`?LL(e):RL(e)),BL=()=>`Nom affiché (optionnel)`,VL=()=>`Display name (optional)`,HL=((e={},t={})=>(t.locale??U())===`fr`?BL(e):VL(e)),UL=()=>`Version de la gateway (optionnel)`,WL=()=>`Gateway version (optional)`,GL=((e={},t={})=>(t.locale??U())===`fr`?UL(e):WL(e)),KL=()=>`ex. 2026.6.5 — repli de compatibilité`,qL=()=>`e.g. 2026.6.5 — compat fallback`,JL=((e={},t={})=>(t.locale??U())===`fr`?KL(e):qL(e)),YL=()=>`URL HTTP média (optionnel)`,XL=()=>`Media HTTP URL (optional)`,ZL=((e={},t={})=>(t.locale??U())===`fr`?YL(e):XL(e)),QL=()=>`Seulement si le média est servi sur un autre hôte/port`,$L=()=>`Only if media is served on another host/port`,eR=((e={},t={})=>(t.locale??U())===`fr`?QL(e):$L(e)),tR=()=>`Identifiants`,nR=()=>`Credentials`,rR=((e={},t={})=>(t.locale??U())===`fr`?tR(e):nR(e)),iR=e=>`Identifiants de la gateway — instance « ${e?.instance} »`,aR=e=>`Gateway credentials — instance « ${e?.instance} »`,oR=((e,t={})=>(t.locale??U())===`fr`?iR(e):aR(e)),sR=()=>`Stockés chiffrés au repos. En écriture seule : une valeur n'est jamais réaffichée — définissez-la, remplacez-la ou effacez-la.`,cR=()=>`Stored encrypted at rest. Write-only: a value is never shown again — set or replace it, or clear it.`,lR=((e={},t={})=>(t.locale??U())===`fr`?sR(e):cR(e)),uR=()=>`Jeton opérateur`,dR=()=>`Operator token`,fR=((e={},t={})=>(t.locale??U())===`fr`?uR(e):dR(e)),pR=()=>`Identité d'appareil (JSON Ed25519)`,mR=()=>`Device identity (Ed25519 JSON)`,hR=((e={},t={})=>(t.locale??U())===`fr`?pR(e):mR(e)),gR=()=>`Clé API`,_R=()=>`API key`,vR=((e={},t={})=>(t.locale??U())===`fr`?gR(e):_R(e)),yR=()=>`Configuré`,bR=()=>`Configured`,xR=((e={},t={})=>(t.locale??U())===`fr`?yR(e):bR(e)),SR=()=>`Non défini`,CR=()=>`Not set`,wR=((e={},t={})=>(t.locale??U())===`fr`?SR(e):CR(e)),TR=()=>`Saisir la valeur…`,ER=()=>`Enter value…`,DR=((e={},t={})=>(t.locale??U())===`fr`?TR(e):ER(e)),OR=()=>`Remplacer la valeur…`,kR=()=>`Replace value…`,AR=((e={},t={})=>(t.locale??U())===`fr`?OR(e):kR(e)),jR=()=>`Définir`,MR=()=>`Set`,NR=((e={},t={})=>(t.locale??U())===`fr`?jR(e):MR(e)),PR=()=>`Effacer`,FR=()=>`Clear`,IR=((e={},t={})=>(t.locale??U())===`fr`?PR(e):FR(e)),LR=()=>`Identifiant enregistré`,RR=()=>`Credential saved`,zR=((e={},t={})=>(t.locale??U())===`fr`?LR(e):RR(e)),BR=()=>`Impossible d'enregistrer l'identifiant`,VR=()=>`Could not save the credential`,HR=((e={},t={})=>(t.locale??U())===`fr`?BR(e):VR(e)),UR=()=>`Identifiant effacé`,WR=()=>`Credential cleared`,GR=((e={},t={})=>(t.locale??U())===`fr`?UR(e):WR(e)),KR=()=>`Générer`,qR=()=>`Generate`,JR=((e={},t={})=>(t.locale??U())===`fr`?KR(e):qR(e)),YR=()=>`Crée une identité Ed25519 côté serveur (la clé privée ne touche jamais le navigateur) et l'enregistre. Vous l'appairerez ensuite sur la gateway.`,XR=()=>`Mints an Ed25519 identity server-side (the private key never reaches the browser) and saves it. You'll then pair it on the gateway.`,ZR=((e={},t={})=>(t.locale??U())===`fr`?YR(e):XR(e)),QR=()=>`Identité générée et enregistrée`,$R=()=>`Device identity generated and saved`,ez=((e={},t={})=>(t.locale??U())===`fr`?QR(e):$R(e)),tz=()=>`Appairez cet appareil sur votre gateway avec :`,nz=()=>`Pair this device on your gateway with:`,rz=((e={},t={})=>(t.locale??U())===`fr`?tz(e):nz(e)),iz=()=>`Impossible de générer l'identité d'appareil`,az=()=>`Could not generate the device identity`,oz=((e={},t={})=>(t.locale??U())===`fr`?iz(e):az(e)),sz=()=>`Synchroniser maintenant`,cz=()=>`Sync now`,lz=((e={},t={})=>(t.locale??U())===`fr`?sz(e):cz(e)),uz=()=>`Synchronisation…`,dz=()=>`Syncing…`,fz=((e={},t={})=>(t.locale??U())===`fr`?uz(e):dz(e)),pz=()=>`Synchronisation effectuée`,mz=()=>`Synced`,hz=((e={},t={})=>(t.locale??U())===`fr`?pz(e):mz(e)),gz=()=>`Échec de la synchronisation`,_z=()=>`Sync failed`,vz=((e={},t={})=>(t.locale??U())===`fr`?gz(e):_z(e)),yz=()=>`Aucun agent récupéré — appairez l'appareil sur la gateway (ou vérifiez la configuration de l'instance), puis re-synchronisez`,bz=()=>`No agents retrieved — pair the device on the gateway (or check the instance configuration), then sync again`,xz=((e={},t={})=>(t.locale??U())===`fr`?yz(e):bz(e)),Sz=()=>`Aucun bridge ne sert cette instance — définissez son « Bridge URL » dans Settings → Agents → Instances.`,Cz=()=>`No bridge serves this instance — set its “Bridge URL” in Settings → Agents → Instances.`,wz=((e={},t={})=>(t.locale??U())===`fr`?Sz(e):Cz(e)),Tz=()=>`Configuration Convex incomplète : BRIDGE_SHARED_SECRET manquant sur le déploiement.`,Ez=()=>`Convex deployment is misconfigured: BRIDGE_SHARED_SECRET is missing.`,Dz=((e={},t={})=>(t.locale??U())===`fr`?Tz(e):Ez(e)),Oz=()=>`Bridge injoignable — vérifiez qu'il tourne et que son URL est correcte.`,kz=()=>`Bridge unreachable — check it is running and its URL is correct.`,Az=((e={},t={})=>(t.locale??U())===`fr`?Oz(e):kz(e)),jz=()=>`Le bridge a rejeté l'authentification — BRIDGE_SHARED_SECRET désynchronisé entre Convex et le bridge.`,Mz=()=>`The bridge rejected authentication — BRIDGE_SHARED_SECRET is out of sync between Convex and the bridge.`,Nz=((e={},t={})=>(t.locale??U())===`fr`?jz(e):Mz(e)),Pz=()=>`Le bridge ne sert pas cette instance — son secret doit figurer dans BRIDGE_INSTANCE_SECRETS et ses identifiants doivent être valides.`,Fz=()=>`The bridge does not serve this instance — its secret must be in BRIDGE_INSTANCE_SECRETS and its credentials must be valid.`,Iz=((e={},t={})=>(t.locale??U())===`fr`?Pz(e):Fz(e)),Lz=()=>`Force le bridge à prendre en compte les identifiants et à récupérer les agents depuis la gateway maintenant (sinon ~2 min via le cron). Déclenche aussi l'appairage si l'appareil n'est pas encore appairé.`,Rz=()=>`Forces the bridge to take the credentials into account and fetch the agents from the gateway now (otherwise ~2 min via the cron). Also triggers pairing if the device is not yet paired.`,zz=((e={},t={})=>(t.locale??U())===`fr`?Lz(e):Rz(e)),Bz=()=>`Secret du bridge (bridge → Convex)`,Vz=()=>`Bridge secret (bridge → Convex)`,Hz=((e={},t={})=>(t.locale??U())===`fr`?Bz(e):Vz(e)),Uz=()=>`Authentifie CE bridge auprès de Convex et le lie à cette instance, afin que le bridge ne puisse lire que les secrets de cette gateway. À définir dans l'environnement du bridge. Affiché une seule fois à la génération.`,Wz=()=>`Authenticates THIS bridge to Convex and ties it to this instance, so the bridge can only ever read this gateway's secrets. Set it in the bridge's environment. Shown once at generation.`,Gz=((e={},t={})=>(t.locale??U())===`fr`?Uz(e):Wz(e)),Kz=()=>`Générer`,qz=()=>`Generate`,Jz=((e={},t={})=>(t.locale??U())===`fr`?Kz(e):qz(e)),Yz=()=>`Régénérer`,Xz=()=>`Regenerate`,Zz=((e={},t={})=>(t.locale??U())===`fr`?Yz(e):Xz(e)),Qz=()=>`Révoquer`,$z=()=>`Revoke`,eB=((e={},t={})=>(t.locale??U())===`fr`?Qz(e):$z(e)),tB=()=>`Secret du bridge révoqué`,nB=()=>`Bridge secret revoked`,rB=((e={},t={})=>(t.locale??U())===`fr`?tB(e):nB(e)),iB=()=>`Impossible de générer le secret du bridge`,aB=()=>`Could not generate the bridge secret`,oB=((e={},t={})=>(t.locale??U())===`fr`?iB(e):aB(e)),sB=()=>`Copiez ce secret maintenant — il ne sera plus jamais affiché. Placez-le dans la variable d'environnement du bridge.`,cB=()=>`Copy this secret now — it is never shown again. Put it in the bridge's environment variable.`,lB=((e={},t={})=>(t.locale??U())===`fr`?sB(e):cB(e)),uB=()=>`J'ai copié le secret`,dB=()=>`I've copied the secret`,fB=((e={},t={})=>(t.locale??U())===`fr`?uB(e):dB(e)),pB=e=>`Agents — instance « ${e?.name} »`,mB=e=>`Agents — instance « ${e?.name} »`,hB=((e,t={})=>(t.locale??U())===`fr`?pB(e):mB(e)),gB=()=>`Les agents sont découverts par le bridge. Coche ceux à rendre disponibles en aval (assignables aux groupes/users), et choisis un défaut. Un agent désactivé reste listé mais grisé.`,_B=()=>`Agents are discovered by the bridge. Tick the ones to make available downstream (assignable to groups/users), and pick one default. A disabled agent stays listed but greyed.`,vB=((e={},t={})=>(t.locale??U())===`fr`?gB(e):_B(e)),yB=()=>`Impossible de mettre à jour l’agent`,bB=()=>`Could not update the agent`,xB=((e={},t={})=>(t.locale??U())===`fr`?yB(e):bB(e)),SB=e=>`Générée en ${e?.duration}`,CB=e=>`Generated in ${e?.duration}`,wB=((e,t={})=>(t.locale??U())===`fr`?SB(e):CB(e)),TB=()=>`Spécialité visible par les utilisateurs (1–2 phrases) : à quoi sert cet agent, quand le choisir…`,EB=()=>`Specialty shown to users (1–2 sentences): what this agent is for, when to pick it…`,DB=((e={},t={})=>(t.locale??U())===`fr`?TB(e):EB(e)),OB=()=>`Description de l’agent`,kB=()=>`Agent description`,AB=((e={},t={})=>(t.locale??U())===`fr`?OB(e):kB(e)),jB=()=>`Types`,MB=()=>`Types`,NB=((e={},t={})=>(t.locale??U())===`fr`?jB(e):MB(e)),PB=()=>`Gérer`,FB=()=>`Manage`,IB=((e={},t={})=>(t.locale??U())===`fr`?PB(e):FB(e)),LB=()=>`Types de l'agent`,RB=()=>`Agent types`,zB=((e={},t={})=>(t.locale??U())===`fr`?LB(e):RB(e)),BB=()=>`Un agent peut avoir plusieurs types. Chaque type indique à Atrium comment l'agent peut être utilisé.`,VB=()=>`An agent may hold several types. Each type tells Atrium how the agent can be used.`,HB=((e={},t={})=>(t.locale??U())===`fr`?BB(e):VB(e)),UB=()=>`Conversationnel`,WB=()=>`Conversational`,GB=((e={},t={})=>(t.locale??U())===`fr`?UB(e):WB(e)),KB=()=>`Agent de chat standard — répond aux messages des utilisateurs dans une conversation.`,qB=()=>`Standard chat agent — answers users' messages in a conversation.`,JB=((e={},t={})=>(t.locale??U())===`fr`?KB(e):qB(e)),YB=()=>`Source documentaire`,XB=()=>`Documentary source`,ZB=((e={},t={})=>(t.locale??U())===`fr`?YB(e):XB(e)),QB=()=>`Agent spécialisé appelé par une action Atrium dédiée pour exploiter une source documentaire — pas de chat direct.`,$B=()=>`Specialised agent invoked by a dedicated Atrium action to exploit a documentary source — not used for direct chat.`,eV=((e={},t={})=>(t.locale??U())===`fr`?QB(e):$B(e)),tV=()=>`Définir par défaut`,nV=()=>`Set as default`,rV=((e={},t={})=>(t.locale??U())===`fr`?tV(e):nV(e)),iV=()=>`Retirer`,aV=()=>`Remove`,oV=((e={},t={})=>(t.locale??U())===`fr`?iV(e):aV(e)),sV=e=>`Retirer ${e?.name} ?`,cV=e=>`Remove ${e?.name}?`,lV=((e,t={})=>(t.locale??U())===`fr`?sV(e):cV(e)),uV=()=>`Cet agent n’existe plus sur le gateway. Le retirer le supprime aussi de la liste d’agents de chaque groupe et utilisateur. Action irréversible.`,dV=()=>`This agent no longer exists on the gateway. Removing it also removes it from every group's and user's agent list. This cannot be undone.`,fV=((e={},t={})=>(t.locale??U())===`fr`?uV(e):dV(e)),pV=()=>`Retirer`,mV=()=>`Remove`,hV=((e={},t={})=>(t.locale??U())===`fr`?pV(e):mV(e)),gV=()=>`Agent retiré`,_V=()=>`Agent removed`,vV=((e={},t={})=>(t.locale??U())===`fr`?gV(e):_V(e)),yV=()=>`Chargement…`,bV=()=>`Loading…`,xV=((e={},t={})=>(t.locale??U())===`fr`?yV(e):bV(e)),SV=()=>`Jamais sondé.`,CV=()=>`Never polled.`,wV=((e={},t={})=>(t.locale??U())===`fr`?SV(e):CV(e)),TV=()=>`Découverte OK.`,EV=()=>`Discovery OK.`,DV=((e={},t={})=>(t.locale??U())===`fr`?TV(e):EV(e)),OV=e=>`Hors-ligne (${e?.error}) — dernier bon résultat servi.`,kV=e=>`Offline (${e?.error}) — last good result served.`,AV=((e,t={})=>(t.locale??U())===`fr`?OV(e):kV(e)),jV=()=>`Aucun agent découvert.`,MV=()=>`No agent discovered.`,NV=((e={},t={})=>(t.locale??U())===`fr`?jV(e):MV(e)),PV=()=>`défaut`,FV=()=>`default`,IV=((e={},t={})=>(t.locale??U())===`fr`?PV(e):FV(e)),LV=()=>`supprimé`,RV=()=>`removed`,zV=((e={},t={})=>(t.locale??U())===`fr`?LV(e):RV(e)),BV=()=>`Trace des actions effectuées sous usurpation d’identité : qui a réellement agi (acteur réel) et au nom de quel utilisateur. Le contenu des messages n’est jamais enregistré.`,VV=()=>`Trace of actions performed under impersonation: who really acted (real actor) and on behalf of which user. Message content is never recorded.`,HV=((e={},t={})=>(t.locale??U())===`fr`?BV(e):VV(e)),UV=()=>`Fenêtre récente bornée — une plage antérieure peut être partielle.`,WV=()=>`Bounded recent window — an earlier range may be partial.`,GV=((e={},t={})=>(t.locale??U())===`fr`?UV(e):WV(e)),KV=()=>`Rechercher (action, acteur, ressource)`,qV=()=>`Search (action, actor, resource)`,JV=((e={},t={})=>(t.locale??U())===`fr`?KV(e):qV(e)),YV=()=>`Action`,XV=()=>`Action`,ZV=((e={},t={})=>(t.locale??U())===`fr`?YV(e):XV(e)),QV=()=>`Toutes les actions`,$V=()=>`All actions`,eH=((e={},t={})=>(t.locale??U())===`fr`?QV(e):$V(e)),tH=()=>`Usurpation : toutes`,nH=()=>`Impersonation: all`,rH=((e={},t={})=>(t.locale??U())===`fr`?tH(e):nH(e)),iH=()=>`Sous usurpation`,aH=()=>`Under impersonation`,oH=((e={},t={})=>(t.locale??U())===`fr`?iH(e):aH(e)),sH=()=>`Sans usurpation`,cH=()=>`Without impersonation`,lH=((e={},t={})=>(t.locale??U())===`fr`?sH(e):cH(e)),uH=()=>`Ressource`,dH=()=>`Resource`,fH=((e={},t={})=>(t.locale??U())===`fr`?uH(e):dH(e)),pH=()=>`Toutes les ressources`,mH=()=>`All resources`,hH=((e={},t={})=>(t.locale??U())===`fr`?pH(e):mH(e)),gH=()=>`Audit`,_H=()=>`Audit`,vH=((e={},t={})=>(t.locale??U())===`fr`?gH(e):_H(e)),yH=()=>`Aucune action tracée pour l’instant.`,bH=()=>`No action traced yet.`,xH=((e={},t={})=>(t.locale??U())===`fr`?yH(e):bH(e)),SH=()=>`Quand`,CH=()=>`When`,wH=((e={},t={})=>(t.locale??U())===`fr`?SH(e):CH(e)),TH=()=>`Acteur réel`,EH=()=>`Real actor`,DH=((e={},t={})=>(t.locale??U())===`fr`?TH(e):EH(e)),OH=()=>`Au nom de`,kH=()=>`On behalf of`,AH=((e={},t={})=>(t.locale??U())===`fr`?OH(e):kH(e)),jH=()=>`Traces`,MH=()=>`Traces`,NH=((e={},t={})=>(t.locale??U())===`fr`?jH(e):MH(e)),PH=()=>`KPI`,FH=()=>`KPI`,IH=((e={},t={})=>(t.locale??U())===`fr`?PH(e):FH(e)),LH=()=>`OpenClaw / Anomalies`,RH=()=>`OpenClaw / Anomalies`,zH=((e={},t={})=>(t.locale??U())===`fr`?LH(e):RH(e)),BH=()=>`Chats`,VH=()=>`Chats`,HH=((e={},t={})=>(t.locale??U())===`fr`?BH(e):VH(e)),UH=()=>`Admin`,WH=()=>`Admin`,GH=((e={},t={})=>(t.locale??U())===`fr`?UH(e):WH(e)),KH=()=>`Lire`,qH=()=>`Read`,JH=((e={},t={})=>(t.locale??U())===`fr`?KH(e):qH(e)),YH=()=>`Contenu`,XH=()=>`Content`,ZH=((e={},t={})=>(t.locale??U())===`fr`?YH(e):XH(e)),QH=()=>`Écrire`,$H=()=>`Write`,eU=((e={},t={})=>(t.locale??U())===`fr`?QH(e):$H(e)),tU=()=>`Requête`,nU=()=>`Query`,rU=((e={},t={})=>(t.locale??U())===`fr`?tU(e):nU(e)),iU=()=>`Anomalies`,aU=()=>`Anomalies`,oU=((e={},t={})=>(t.locale??U())===`fr`?iU(e):aU(e)),sU=()=>`Signaler`,cU=()=>`Report`,lU=((e={},t={})=>(t.locale??U())===`fr`?sU(e):cU(e)),uU=()=>`Gérer`,dU=()=>`Manage`,fU=((e={},t={})=>(t.locale??U())===`fr`?uU(e):dU(e)),pU=()=>`Auto-correction`,mU=()=>`Self-heal`,hU=((e={},t={})=>(t.locale??U())===`fr`?pU(e):mU(e)),gU=e=>`${e?.key} — accès au contenu brut (PHI), à accorder avec prudence`,_U=e=>`${e?.key} — access to raw content (PHI), grant with caution`,vU=((e,t={})=>(t.locale??U())===`fr`?gU(e):_U(e)),yU=()=>`Échec de l’initialisation des rôles`,bU=()=>`Failed to initialize roles`,xU=((e={},t={})=>(t.locale??U())===`fr`?yU(e):bU(e)),SU=e=>`Modifier le rôle intégré « ${e?.name} » ?`,CU=e=>`Edit the built-in role “${e?.name}”?`,wU=((e,t={})=>(t.locale??U())===`fr`?SU(e):CU(e)),TU=()=>`Les rôles intégrés suivent la définition du produit et ne sont pas modifiables — ils se mettent à jour automatiquement avec Atrium. Pour personnaliser des permissions, créez un rôle personnalisé.`,EU=()=>`Built-in roles follow the product definition and cannot be edited — they update automatically with Atrium. To customize permissions, create a custom role.`,DU=((e={},t={})=>(t.locale??U())===`fr`?TU(e):EU(e)),OU=()=>`Compris`,kU=()=>`Got it`,AU=((e={},t={})=>(t.locale??U())===`fr`?OU(e):kU(e)),jU=()=>`Échec de la mise à jour des permissions`,MU=()=>`Failed to update permissions`,NU=((e={},t={})=>(t.locale??U())===`fr`?jU(e):MU(e)),PU=()=>`Échec de la création du rôle`,FU=()=>`Failed to create role`,IU=((e={},t={})=>(t.locale??U())===`fr`?PU(e):FU(e)),LU=()=>`Matrice de permissions. Lignes = rôles (intégrés + personnalisés), colonnes = clés de permission. Le rôle`,RU=()=>`Permission matrix. Rows = roles (built-in + custom), columns = permission keys. The`,zU=((e={},t={})=>(t.locale??U())===`fr`?LU(e):RU(e)),BU=()=>`détient le joker « * » (toutes les permissions) et est verrouillé. La colonne`,VU=()=>`role holds the “*” wildcard (all permissions) and is locked. The`,HU=((e={},t={})=>(t.locale??U())===`fr`?BU(e):VU(e)),UU=()=>`donne accès au contenu brut (PHI) — à n’accorder qu’à bon escient.`,WU=()=>`column grants access to raw content (PHI) — grant only when justified.`,GU=((e={},t={})=>(t.locale??U())===`fr`?UU(e):WU(e)),KU=()=>`Rôles`,qU=()=>`Roles`,JU=((e={},t={})=>(t.locale??U())===`fr`?KU(e):qU(e)),YU=()=>`Ajouter un rôle`,XU=()=>`Add a role`,ZU=((e={},t={})=>(t.locale??U())===`fr`?YU(e):XU(e)),QU=()=>`Chargement…`,$U=()=>`Loading…`,eW=((e={},t={})=>(t.locale??U())===`fr`?QU(e):$U(e)),tW=()=>`Initialisation des rôles…`,nW=()=>`Initializing roles…`,rW=((e={},t={})=>(t.locale??U())===`fr`?tW(e):nW(e)),iW=()=>`Rôle`,aW=()=>`Role`,oW=((e={},t={})=>(t.locale??U())===`fr`?iW(e):aW(e)),sW=()=>`intégré`,cW=()=>`built-in`,lW=((e={},t={})=>(t.locale??U())===`fr`?sW(e):cW(e)),uW=()=>`personnalisé`,dW=()=>`custom`,fW=((e={},t={})=>(t.locale??U())===`fr`?uW(e):dW(e)),pW=()=>`Authentifié mais pas encore approuvé — l’accès est bloqué tant qu’un administrateur n’a pas validé le compte.`,mW=()=>`Authenticated but not yet approved — access is blocked until an admin approves the account.`,hW=((e={},t={})=>(t.locale??U())===`fr`?pW(e):mW(e)),gW=()=>`Personne approuvée, avec accès au chat.`,_W=()=>`Approved person with chat access.`,vW=((e={},t={})=>(t.locale??U())===`fr`?gW(e):_W(e)),yW=()=>`Accès total (superset) : gère les utilisateurs, rôles, agents, instances et l’observabilité.`,bW=()=>`Full access (superset): manages users, roles, agents, instances and observability.`,xW=((e={},t={})=>(t.locale??U())===`fr`?yW(e):bW(e)),SW=()=>`Compte de service en LECTURE SEULE pour superviser : voit les traces, KPI, anomalies et l’état du bridge/version via l’API. Ne peut rien écrire ni déclencher.`,CW=()=>`READ-ONLY service account for monitoring: views traces, KPIs, anomalies and bridge/version status through the API. Cannot write or trigger anything.`,wW=((e={},t={})=>(t.locale??U())===`fr`?SW(e):CW(e)),TW=()=>`Compte de service pour un agent OpenClaw lui-même : tout ce que voit l’observateur, PLUS interroger OpenClaw et SIGNALER des anomalies (écriture — ex. heartbeat / auto-réparation). À utiliser pour un agent automatisé, pas pour un humain qui consulte les tableaux de bord.`,EW=()=>`Service account for an OpenClaw agent itself: the observer's read access PLUS querying OpenClaw and REPORTING anomalies (write — e.g. heartbeat / self-repair). Use it for an automated agent, not a human watching dashboards.`,DW=((e={},t={})=>(t.locale??U())===`fr`?TW(e):EW(e)),OW=()=>`Accordé via « * » (toutes les permissions)`,kW=()=>`Granted via “*” (all permissions)`,AW=((e={},t={})=>(t.locale??U())===`fr`?OW(e):kW(e)),jW=()=>`Écriture en cours…`,MW=()=>`Writing…`,NW=((e={},t={})=>(t.locale??U())===`fr`?jW(e):MW(e)),PW=()=>`Nouveau rôle`,FW=()=>`New role`,IW=((e={},t={})=>(t.locale??U())===`fr`?PW(e):FW(e)),LW=()=>`Rôle personnalisé. Ajustez les permissions dans la matrice après création.`,RW=()=>`Custom role. Adjust the permissions in the matrix after creation.`,zW=((e={},t={})=>(t.locale??U())===`fr`?LW(e):RW(e)),BW=()=>`Créer`,VW=()=>`Create`,HW=((e={},t={})=>(t.locale??U())===`fr`?BW(e):VW(e)),UW=()=>`Clé (identifiant stable)`,WW=()=>`Key (stable identifier)`,GW=((e={},t={})=>(t.locale??U())===`fr`?UW(e):WW(e)),KW=()=>`ex. analyst`,qW=()=>`e.g. analyst`,JW=((e={},t={})=>(t.locale??U())===`fr`?KW(e):qW(e)),YW=()=>`Nom affiché`,XW=()=>`Display name`,ZW=((e={},t={})=>(t.locale??U())===`fr`?YW(e):XW(e)),QW=()=>`Description (optionnel)`,$W=()=>`Description (optional)`,eG=((e={},t={})=>(t.locale??U())===`fr`?QW(e):$W(e)),tG=()=>`Ouvertes`,nG=()=>`Open`,rG=((e={},t={})=>(t.locale??U())===`fr`?tG(e):nG(e)),iG=()=>`En sourdine`,aG=()=>`Muted`,oG=((e={},t={})=>(t.locale??U())===`fr`?iG(e):aG(e)),sG=()=>`Résolues`,cG=()=>`Resolved`,lG=((e={},t={})=>(t.locale??U())===`fr`?sG(e):cG(e)),uG=()=>`Résoudre cette anomalie ?`,dG=()=>`Resolve this anomaly?`,fG=((e={},t={})=>(t.locale??U())===`fr`?uG(e):dG(e)),pG=()=>`L’anomalie`,mG=()=>`The anomaly`,hG=((e={},t={})=>(t.locale??U())===`fr`?pG(e):mG(e)),gG=()=>`sera marquée comme`,_G=()=>`will be marked as`,vG=((e={},t={})=>(t.locale??U())===`fr`?gG(e):_G(e)),yG=()=>`résolue`,bG=()=>`resolved`,xG=((e={},t={})=>(t.locale??U())===`fr`?yG(e):bG(e)),SG=()=>`Elle sortira du décompte des anomalies ouvertes (signal de self-repair OpenClaw).`,CG=()=>`It will be removed from the open anomalies count (OpenClaw self-repair signal).`,wG=((e={},t={})=>(t.locale??U())===`fr`?SG(e):CG(e)),TG=()=>`Résoudre`,EG=()=>`Resolve`,DG=((e={},t={})=>(t.locale??U())===`fr`?TG(e):EG(e)),OG=()=>`Anomalie résolue`,kG=()=>`Anomaly resolved`,AG=((e={},t={})=>(t.locale??U())===`fr`?OG(e):kG(e)),jG=()=>`Échec de la résolution`,MG=()=>`Resolution failed`,NG=((e={},t={})=>(t.locale??U())===`fr`?jG(e):MG(e)),PG=()=>`Anomalie acquittée`,FG=()=>`Anomaly acknowledged`,IG=((e={},t={})=>(t.locale??U())===`fr`?PG(e):FG(e)),LG=()=>`Échec de l’acquittement`,RG=()=>`Acknowledgement failed`,zG=((e={},t={})=>(t.locale??U())===`fr`?LG(e):RG(e)),BG=()=>`Anomalies détectées (cron) ou signalées par les agents OpenClaw. Données non-PHI uniquement (type, sévérité, message, corrélation).`,VG=()=>`Anomalies detected (cron) or reported by OpenClaw agents. Non-PHI data only (type, severity, message, correlation).`,HG=((e={},t={})=>(t.locale??U())===`fr`?BG(e):VG(e)),UG=()=>`Ouverte`,WG=()=>`Open`,GG=((e={},t={})=>(t.locale??U())===`fr`?UG(e):WG(e)),KG=()=>`= active, elle alerte et compte dans le heartbeat.`,qG=()=>`= active, it alerts and counts in the heartbeat.`,JG=((e={},t={})=>(t.locale??U())===`fr`?KG(e):qG(e)),YG=()=>`En sourdine`,XG=()=>`Muted`,ZG=((e={},t={})=>(t.locale??U())===`fr`?YG(e):XG(e)),QG=()=>`= vue, plus d'alerte, mais pas forcément corrigée (les admins sont notifiés des nouvelles anomalies).`,$G=()=>`= seen, no more alerts, but not necessarily fixed (admins are notified of new anomalies).`,eK=((e={},t={})=>(t.locale??U())===`fr`?QG(e):$G(e)),tK=()=>`Résolue`,nK=()=>`Resolved`,rK=((e={},t={})=>(t.locale??U())===`fr`?tK(e):nK(e)),iK=()=>`= le problème est réglé (le détecteur résout automatiquement quand la condition cesse). Les deux la sortent du décompte heartbeat.`,aK=()=>`= the problem is fixed (the detector resolves automatically when the condition clears). Both remove it from the heartbeat count.`,oK=((e={},t={})=>(t.locale??U())===`fr`?iK(e):aK(e)),sK=()=>`La plage temporelle filtre la fenêtre récente — une plage antérieure peut être partielle.`,cK=()=>`The time range filters the recent window — an earlier range may be partial.`,lK=((e={},t={})=>(t.locale??U())===`fr`?sK(e):cK(e)),uK=()=>`Rechercher (message, type, corrélation)`,dK=()=>`Search (message, type, correlation)`,fK=((e={},t={})=>(t.locale??U())===`fr`?uK(e):dK(e)),pK=()=>`Tous les statuts`,mK=()=>`All statuses`,hK=((e={},t={})=>(t.locale??U())===`fr`?pK(e):mK(e)),gK=()=>`Sévérité`,_K=()=>`Severity`,vK=((e={},t={})=>(t.locale??U())===`fr`?gK(e):_K(e)),yK=()=>`Toutes sévérités`,bK=()=>`All severities`,xK=((e={},t={})=>(t.locale??U())===`fr`?yK(e):bK(e)),SK=()=>`Source`,CK=()=>`Source`,wK=((e={},t={})=>(t.locale??U())===`fr`?SK(e):CK(e)),TK=()=>`Toutes sources`,EK=()=>`All sources`,DK=((e={},t={})=>(t.locale??U())===`fr`?TK(e):EK(e)),OK=()=>`Type`,kK=()=>`Type`,AK=((e={},t={})=>(t.locale??U())===`fr`?OK(e):kK(e)),jK=()=>`Tous les types`,MK=()=>`All types`,NK=((e={},t={})=>(t.locale??U())===`fr`?jK(e):MK(e)),PK=()=>`Anomalies`,FK=()=>`Anomalies`,IK=((e={},t={})=>(t.locale??U())===`fr`?PK(e):FK(e)),LK=()=>`Aucune anomalie ouverte. 🎉`,RK=()=>`No open anomalies. 🎉`,zK=((e={},t={})=>(t.locale??U())===`fr`?LK(e):RK(e)),BK=()=>`Aucune anomalie enregistrée.`,VK=()=>`No anomalies recorded.`,HK=((e={},t={})=>(t.locale??U())===`fr`?BK(e):VK(e)),UK=()=>`Résoudre (corrigé)`,WK=()=>`Resolve (fixed)`,GK=((e={},t={})=>(t.locale??U())===`fr`?UK(e):WK(e)),KK=()=>`Marquer comme vue (sourdine)`,qK=()=>`Mark as seen (mute)`,JK=((e={},t={})=>(t.locale??U())===`fr`?KK(e):qK(e)),YK=()=>`Quand`,XK=()=>`When`,ZK=((e={},t={})=>(t.locale??U())===`fr`?YK(e):XK(e)),QK=()=>`Statut`,$K=()=>`Status`,eq=((e={},t={})=>(t.locale??U())===`fr`?QK(e):$K(e)),tq=()=>`Message`,nq=()=>`Message`,rq=((e={},t={})=>(t.locale??U())===`fr`?tq(e):nq(e)),iq=()=>`Cause & correctif`,aq=()=>`Cause & fix`,oq=((e={},t={})=>(t.locale??U())===`fr`?iq(e):aq(e)),sq=()=>`Corrélation`,cq=()=>`Correlation`,lq=((e={},t={})=>(t.locale??U())===`fr`?sq(e):cq(e)),uq=()=>`Voir la trace`,dq=()=>`View trace`,fq=((e={},t={})=>(t.locale??U())===`fr`?uq(e):dq(e)),pq=()=>`Lire la proposition`,mq=()=>`Read the proposal`,hq=((e={},t={})=>(t.locale??U())===`fr`?pq(e):mq(e)),gq=()=>`Documents joints par l'agent`,_q=()=>`Agent-attached documents`,vq=((e={},t={})=>(t.locale??U())===`fr`?gq(e):_q(e)),yq=()=>`Chargement du contenu…`,bq=()=>`Loading content…`,xq=((e={},t={})=>(t.locale??U())===`fr`?yq(e):bq(e)),Sq=()=>`Aucun contenu joint.`,Cq=()=>`No attached content.`,wq=((e={},t={})=>(t.locale??U())===`fr`?Sq(e):Cq(e)),Tq=()=>`ouverte`,Eq=()=>`open`,Dq=((e={},t={})=>(t.locale??U())===`fr`?Tq(e):Eq(e)),Oq=()=>`en sourdine`,kq=()=>`muted`,Aq=((e={},t={})=>(t.locale??U())===`fr`?Oq(e):kq(e)),jq=()=>`résolue`,Mq=()=>`resolved`,Nq=((e={},t={})=>(t.locale??U())===`fr`?jq(e):Mq(e)),Pq=()=>`Réponse incorrecte`,Fq=()=>`Incorrect response`,Iq=((e={},t={})=>(t.locale??U())===`fr`?Pq(e):Fq(e)),Lq=()=>`Incohérence`,Rq=()=>`Inconsistency`,zq=((e={},t={})=>(t.locale??U())===`fr`?Lq(e):Rq(e)),Bq=()=>`Mots / orthographe erronés`,Vq=()=>`Wrong words / spelling`,Hq=((e={},t={})=>(t.locale??U())===`fr`?Bq(e):Vq(e)),Uq=()=>`Formatage`,Wq=()=>`Formatting`,Gq=((e={},t={})=>(t.locale??U())===`fr`?Uq(e):Wq(e)),Kq=()=>`Latence`,qq=()=>`Latency`,Jq=((e={},t={})=>(t.locale??U())===`fr`?Kq(e):qq(e)),Yq=()=>`Erreur API`,Xq=()=>`API error`,Zq=((e={},t={})=>(t.locale??U())===`fr`?Yq(e):Xq(e)),Qq=()=>`Autre`,$q=()=>`Other`,eJ=((e={},t={})=>(t.locale??U())===`fr`?Qq(e):$q(e)),tJ=()=>`Mots modifiés à l'envoi`,nJ=()=>`Words altered on send`,rJ=((e={},t={})=>(t.locale??U())===`fr`?tJ(e):nJ(e)),iJ=()=>`Caractères / mise en forme altérés`,aJ=()=>`Characters / formatting altered`,oJ=((e={},t={})=>(t.locale??U())===`fr`?iJ(e):aJ(e)),sJ=()=>`Signaler un problème`,cJ=()=>`Report an issue`,lJ=((e={},t={})=>(t.locale??U())===`fr`?sJ(e):cJ(e)),uJ=()=>`Merci. Un instantané complet de ce message a été figé pour analyse.`,dJ=()=>`Thank you. A complete snapshot of this message has been frozen for analysis.`,fJ=((e={},t={})=>(t.locale??U())===`fr`?uJ(e):dJ(e)),pJ=()=>`Signalez un problème avec votre message tel qu'il a été envoyé. Un instantané forensique exact est enregistré.`,mJ=()=>`Report an issue with your message as it was sent. An exact forensic snapshot is recorded.`,hJ=((e={},t={})=>(t.locale??U())===`fr`?pJ(e):mJ(e)),gJ=()=>`Signalez un problème avec cette réponse. Un instantané forensique exact est enregistré au moment de l'envoi.`,_J=()=>`Report an issue with this response. An exact forensic snapshot is recorded at send time.`,vJ=((e={},t={})=>(t.locale??U())===`fr`?gJ(e):_J(e)),yJ=()=>`✓ Le texte affiché (vue source) correspond exactement, caractère pour caractère, au texte stocké côté serveur. La comparaison est figée comme preuve.`,bJ=()=>`✓ The displayed text (source view) matches exactly, character for character, the text stored on the server. The comparison is frozen as evidence.`,xJ=((e={},t={})=>(t.locale??U())===`fr`?yJ(e):bJ(e)),SJ=()=>`⚠ Écart détecté entre le texte affiché (vue source) et le texte stocké. L'instantané a figé les deux versions.`,CJ=()=>`⚠ Discrepancy detected between the displayed text (source view) and the stored text. The snapshot has frozen both versions.`,wJ=((e={},t={})=>(t.locale??U())===`fr`?SJ(e):CJ(e)),TJ=()=>`Instantané enregistré. Pour vérifier que l'affichage n'altère aucun caractère, ouvrez la vue source (</>) sur ce message puis signalez à nouveau : la comparaison portera alors sur le texte réellement affiché par le navigateur.`,EJ=()=>`Snapshot recorded. To verify that the display does not alter any character, open the source view (</>) on this message then report again: the comparison will then be on the text actually rendered by the browser.`,DJ=((e={},t={})=>(t.locale??U())===`fr`?TJ(e):EJ(e)),OJ=()=>`Catégorie`,kJ=()=>`Category`,AJ=((e={},t={})=>(t.locale??U())===`fr`?OJ(e):kJ(e)),jJ=()=>`Choisir une catégorie`,MJ=()=>`Choose a category`,NJ=((e={},t={})=>(t.locale??U())===`fr`?jJ(e):MJ(e)),PJ=()=>`Commentaire`,FJ=()=>`Comment`,IJ=((e={},t={})=>(t.locale??U())===`fr`?PJ(e):FJ(e)),LJ=()=>`Décrivez le problème…`,RJ=()=>`Describe the issue…`,zJ=((e={},t={})=>(t.locale??U())===`fr`?LJ(e):RJ(e)),BJ=()=>`Fermer`,VJ=()=>`Close`,HJ=((e={},t={})=>(t.locale??U())===`fr`?BJ(e):VJ(e)),UJ=()=>`Annuler`,WJ=()=>`Cancel`,GJ=((e={},t={})=>(t.locale??U())===`fr`?UJ(e):WJ(e)),KJ=()=>`Envoi…`,qJ=()=>`Sending…`,JJ=((e={},t={})=>(t.locale??U())===`fr`?KJ(e):qJ(e)),YJ=()=>`Envoyer`,XJ=()=>`Send`,ZJ=((e={},t={})=>(t.locale??U())===`fr`?YJ(e):XJ(e)),QJ=()=>`Problème signalé`,$J=()=>`Issue reported`,eY=((e={},t={})=>(t.locale??U())===`fr`?QJ(e):$J(e)),tY=()=>`Signaler un problème`,nY=()=>`Report an issue`,rY=((e={},t={})=>(t.locale??U())===`fr`?tY(e):nY(e)),iY=()=>`Signaler un problème avec ce message`,aY=()=>`Report an issue with this message`,oY=((e={},t={})=>(t.locale??U())===`fr`?iY(e):aY(e)),sY=()=>`Événements récents (fenêtre bornée, plus récents d’abord). Toutes les traces sont des métadonnées `,cY=()=>`Recent events (bounded window, newest first). All traces are redacted metadata `,lY=((e={},t={})=>(t.locale??U())===`fr`?sY(e):cY(e)),uY=()=>`expurgées`,dY=()=>`redacted`,fY=((e={},t={})=>(t.locale??U())===`fr`?uY(e):dY(e)),pY=()=>` : aucun contenu de message, pièce jointe ou jeton n’est stocké — uniquement des longueurs, codes et indicateurs.`,mY=()=>`: no message content, attachment or token is stored — only lengths, codes and flags.`,hY=((e={},t={})=>(t.locale??U())===`fr`?pY(e):mY(e)),gY=()=>`La plage temporelle filtre la fenêtre récente — une plage antérieure peut être partielle.`,_Y=()=>`The time range filters the recent window — an older range may be partial.`,vY=((e={},t={})=>(t.locale??U())===`fr`?gY(e):_Y(e)),yY=()=>`Rechercher (kind, principal, rôle, route, correlationId)`,bY=()=>`Search (kind, principal, role, route, correlationId)`,xY=((e={},t={})=>(t.locale??U())===`fr`?yY(e):bY(e)),SY=()=>`Statut`,CY=()=>`Status`,wY=((e={},t={})=>(t.locale??U())===`fr`?SY(e):CY(e)),TY=()=>`Tous statuts`,EY=()=>`All statuses`,DY=((e={},t={})=>(t.locale??U())===`fr`?TY(e):EY(e)),OY=()=>`Principal`,kY=()=>`Principal`,AY=((e={},t={})=>(t.locale??U())===`fr`?OY(e):kY(e)),jY=()=>`Tous principaux`,MY=()=>`All principals`,NY=((e={},t={})=>(t.locale??U())===`fr`?jY(e):MY(e)),PY=()=>`Direction`,FY=()=>`Direction`,IY=((e={},t={})=>(t.locale??U())===`fr`?PY(e):FY(e)),LY=()=>`Toutes directions`,RY=()=>`All directions`,zY=((e={},t={})=>(t.locale??U())===`fr`?LY(e):RY(e)),BY=()=>`Rôle`,VY=()=>`Role`,HY=((e={},t={})=>(t.locale??U())===`fr`?BY(e):VY(e)),UY=()=>`Tous les rôles`,WY=()=>`All roles`,GY=((e={},t={})=>(t.locale??U())===`fr`?UY(e):WY(e)),KY=()=>`Tous les kinds`,qY=()=>`All kinds`,JY=((e={},t={})=>(t.locale??U())===`fr`?KY(e):qY(e)),YY=()=>`tous les kinds`,XY=()=>`all kinds`,ZY=((e={},t={})=>(t.locale??U())===`fr`?YY(e):XY(e)),QY=e=>`${e?.count} lignes`,$Y=e=>`${e?.count} rows`,eX=((e,t={})=>(t.locale??U())===`fr`?QY(e):$Y(e)),tX=()=>`Effacer le filtre de corrélation`,nX=()=>`Clear correlation filter`,rX=((e={},t={})=>(t.locale??U())===`fr`?tX(e):nX(e)),iX=()=>`filtre: correlationId=`,aX=()=>`filter: correlationId=`,oX=((e={},t={})=>(t.locale??U())===`fr`?iX(e):aX(e)),sX=()=>`Effacer`,cX=()=>`Clear`,lX=((e={},t={})=>(t.locale??U())===`fr`?sX(e):cX(e)),uX=()=>`Traces`,dX=()=>`Traces`,fX=((e={},t={})=>(t.locale??U())===`fr`?uX(e):dX(e)),pX=()=>`Aucun événement pour cette corrélation dans la fenêtre.`,mX=()=>`No event for this correlation in the window.`,hX=((e={},t={})=>(t.locale??U())===`fr`?pX(e):mX(e)),gX=()=>`Aucun événement tracé pour l’instant.`,_X=()=>`No traced event yet.`,vX=((e={},t={})=>(t.locale??U())===`fr`?gX(e):_X(e)),yX=()=>`Quand`,bX=()=>`When`,xX=((e={},t={})=>(t.locale??U())===`fr`?yX(e):bX(e)),SX=()=>`Kind`,CX=()=>`Kind`,wX=((e={},t={})=>(t.locale??U())===`fr`?SX(e):CX(e)),TX=()=>`Résultat`,EX=()=>`Result`,DX=((e={},t={})=>(t.locale??U())===`fr`?TX(e):EX(e)),OX=()=>`ok`,kX=()=>`ok`,AX=((e={},t={})=>(t.locale??U())===`fr`?OX(e):kX(e)),jX=()=>`Direction`,MX=()=>`Direction`,NX=((e={},t={})=>(t.locale??U())===`fr`?jX(e):MX(e)),PX=()=>`Principal`,FX=()=>`Principal`,IX=((e={},t={})=>(t.locale??U())===`fr`?PX(e):FX(e)),LX=()=>`Rôle`,RX=()=>`Role`,zX=((e={},t={})=>(t.locale??U())===`fr`?LX(e):RX(e)),BX=()=>`Route`,VX=()=>`Route`,HX=((e={},t={})=>(t.locale??U())===`fr`?BX(e):VX(e)),UX=()=>`Statut`,WX=()=>`Status`,GX=((e={},t={})=>(t.locale??U())===`fr`?UX(e):WX(e)),KX=()=>`Latence`,qX=()=>`Latency`,JX=((e={},t={})=>(t.locale??U())===`fr`?KX(e):qX(e)),YX=()=>`Corrélation`,XX=()=>`Correlation`,ZX=((e={},t={})=>(t.locale??U())===`fr`?YX(e):XX(e)),QX=()=>`Suivre ce tour (filtrer par correlationId)`,$X=()=>`Follow this turn (filter by correlationId)`,eZ=((e={},t={})=>(t.locale??U())===`fr`?QX(e):$X(e)),tZ=()=>`Meta`,nZ=()=>`Meta`,rZ=((e={},t={})=>(t.locale??U())===`fr`?tZ(e):nZ(e)),iZ=()=>`Voir`,aZ=()=>`View`,oZ=((e={},t={})=>(t.locale??U())===`fr`?iZ(e):aZ(e)),sZ=()=>`Meta ·`,cZ=()=>`Meta ·`,lZ=((e={},t={})=>(t.locale??U())===`fr`?sZ(e):cZ(e)),uZ=()=>`expurgé`,dZ=()=>`redacted`,fZ=((e={},t={})=>(t.locale??U())===`fr`?uZ(e):dZ(e)),pZ=()=>`Métadonnées non-PHI uniquement (longueurs, codes, indicateurs). Aucun contenu de message n’est stocké.`,mZ=()=>`Non-PHI metadata only (lengths, codes, flags). No message content is stored.`,hZ=((e={},t={})=>(t.locale??U())===`fr`?pZ(e):mZ(e)),gZ=()=>`Chargement…`,_Z=()=>`Loading…`,vZ=((e={},t={})=>(t.locale??U())===`fr`?gZ(e):_Z(e)),yZ=()=>`Connexion refusée. Le domaine de ce compte n’est pas autorisé.`,bZ=()=>`Sign-in refused. This account’s email domain is not allowed.`,xZ=((e={},t={})=>(t.locale??U())===`fr`?yZ(e):bZ(e)),SZ=()=>`Bon retour`,CZ=()=>`Welcome back`,wZ=((e={},t={})=>(t.locale??U())===`fr`?SZ(e):CZ(e)),TZ=()=>`Connectez-vous pour continuer`,EZ=()=>`Sign in to continue`,DZ=((e={},t={})=>(t.locale??U())===`fr`?TZ(e):EZ(e)),OZ=()=>`Se connecter avec Google`,kZ=()=>`Sign in with Google`,AZ=((e={},t={})=>(t.locale??U())===`fr`?OZ(e):kZ(e)),jZ=()=>`Aucun mode de connexion configuré.`,MZ=()=>`No sign-in method configured.`,NZ=((e={},t={})=>(t.locale??U())===`fr`?jZ(e):MZ(e)),PZ=()=>`Continuer (dev, sans compte)`,FZ=()=>`Continue (dev, no account)`,IZ=((e={},t={})=>(t.locale??U())===`fr`?PZ(e):FZ(e)),LZ=()=>`Compte`,RZ=()=>`Account`,zZ=((e={},t={})=>(t.locale??U())===`fr`?LZ(e):RZ(e)),BZ=()=>`En attente d’approbation`,VZ=()=>`Awaiting approval`,HZ=((e={},t={})=>(t.locale??U())===`fr`?BZ(e):VZ(e)),UZ=()=>`Ton compte est créé mais doit être approuvé par un administrateur avant d’accéder au chat.`,WZ=()=>`Your account has been created but must be approved by an administrator before you can access the chat.`,GZ=((e={},t={})=>(t.locale??U())===`fr`?UZ(e):WZ(e)),KZ=()=>`Vous explorez l’application en tant que`,qZ=()=>`You are exploring the application as`,JZ=((e={},t={})=>(t.locale??U())===`fr`?KZ(e):qZ(e)),YZ=()=>`. Toute action est exécutée et tracée en votre nom (`,XZ=()=>`. Every action is executed and traced in your name (`,ZZ=((e={},t={})=>(t.locale??U())===`fr`?YZ(e):XZ(e)),QZ=()=>`).`,$Z=()=>`).`,eQ=((e={},t={})=>(t.locale??U())===`fr`?QZ(e):$Z(e)),tQ=()=>`Quitter`,nQ=()=>`Exit`,rQ=((e={},t={})=>(t.locale??U())===`fr`?tQ(e):nQ(e)),iQ=()=>`Afficher la barre latérale`,aQ=()=>`Show sidebar`,oQ=((e={},t={})=>(t.locale??U())===`fr`?iQ(e):aQ(e)),sQ=()=>`Réduire la barre latérale`,cQ=()=>`Collapse sidebar`,lQ=((e={},t={})=>(t.locale??U())===`fr`?sQ(e):cQ(e)),uQ=()=>`Paramètres`,dQ=()=>`Settings`,fQ=((e={},t={})=>(t.locale??U())===`fr`?uQ(e):dQ(e)),pQ=()=>`Redimensionner la barre latérale`,mQ=()=>`Resize sidebar`,hQ=((e={},t={})=>(t.locale??U())===`fr`?pQ(e):mQ(e)),gQ=()=>`Accès non autorisé`,_Q=()=>`Access denied`,vQ=((e={},t={})=>(t.locale??U())===`fr`?gQ(e):_Q(e)),yQ=()=>`Vous n’avez pas la permission de consulter cet onglet. Choisissez un onglet disponible dans le menu, ou contactez votre administrateur.`,bQ=()=>`You do not have permission to view this tab. Choose an available tab from the menu, or contact your administrator.`,xQ=((e={},t={})=>(t.locale??U())===`fr`?yQ(e):bQ(e)),SQ=()=>`Mise à jour de l’application…`,CQ=()=>`Updating the application…`,wQ=((e={},t={})=>(t.locale??U())===`fr`?SQ(e):CQ(e)),TQ=()=>`Une erreur est survenue`,EQ=()=>`Something went wrong`,DQ=((e={},t={})=>(t.locale??U())===`fr`?TQ(e):EQ(e)),OQ=()=>`Cette page n’a pas pu être affichée. Réessayez, ou revenez à l’accueil. Si le problème persiste, contactez votre administrateur.`,kQ=()=>`This page could not be displayed. Try again, or return home. If the problem persists, contact your administrator.`,AQ=((e={},t={})=>(t.locale??U())===`fr`?OQ(e):kQ(e)),jQ=()=>`Réessayer`,MQ=()=>`Retry`,NQ=((e={},t={})=>(t.locale??U())===`fr`?jQ(e):MQ(e)),PQ=()=>`Accueil`,FQ=()=>`Home`,IQ=((e={},t={})=>(t.locale??U())===`fr`?PQ(e):FQ(e)),LQ=()=>`Page introuvable`,RQ=()=>`Page not found`,zQ=((e={},t={})=>(t.locale??U())===`fr`?LQ(e):RQ(e)),BQ=()=>`Cette adresse ne correspond à aucune page de l’application.`,VQ=()=>`This address does not match any page in the application.`,HQ=((e={},t={})=>(t.locale??U())===`fr`?BQ(e):VQ(e)),UQ=e=>`Agents de ${e?.user}`,WQ=e=>`${e?.user}'s agents`,GQ=((e,t={})=>(t.locale??U())===`fr`?UQ(e):WQ(e)),KQ=()=>`Associez les agents découverts (par instance) et désignez l'agent par défaut. Au moins un agent est requis pour créer des conversations.`,qQ=()=>`Assign the discovered agents (per instance) and designate the default agent. At least one agent is required to create conversations.`,JQ=((e={},t={})=>(t.locale??U())===`fr`?KQ(e):qQ(e)),YQ=()=>`Agents des groupes du membre. Cochez pour restreindre à une sélection ; sans coche, le membre voit tous ces agents.`,XQ=()=>`The member's group agents. Check to restrict to a selection; with none checked, the member sees all of them.`,ZQ=((e={},t={})=>(t.locale??U())===`fr`?YQ(e):XQ(e)),QQ=()=>`Le membre n'appartient à aucun groupe : il voit tous les agents. Cochez pour restreindre à une sélection.`,$Q=()=>`The member belongs to no group, so they see every agent. Check to restrict to a selection.`,e$=((e={},t={})=>(t.locale??U())===`fr`?QQ(e):$Q(e)),t$=()=>`Chargement…`,n$=()=>`Loading…`,r$=((e={},t={})=>(t.locale??U())===`fr`?t$(e):n$(e)),i$=()=>`Mise à jour de l'accès refusée`,a$=()=>`Access update denied`,o$=((e={},t={})=>(t.locale??U())===`fr`?i$(e):a$(e)),s$=()=>`Définition de l'agent par défaut refusée`,c$=()=>`Setting the default agent was denied`,l$=((e={},t={})=>(t.locale??U())===`fr`?s$(e):c$(e)),u$=()=>`Aucun agent découvert.`,d$=()=>`No agent discovered.`,f$=((e={},t={})=>(t.locale??U())===`fr`?u$(e):d$(e)),p$=e=>`Assigner ${e?.name}`,m$=e=>`Assign ${e?.name}`,h$=((e,t={})=>(t.locale??U())===`fr`?p$(e):m$(e)),g$=()=>`supprimé`,_$=()=>`removed`,v$=((e={},t={})=>(t.locale??U())===`fr`?g$(e):_$(e)),y$=()=>`hors groupe`,b$=()=>`outside group`,x$=((e={},t={})=>(t.locale??U())===`fr`?y$(e):b$(e)),S$=()=>`Agent par défaut`,C$=()=>`Default agent`,w$=((e={},t={})=>(t.locale??U())===`fr`?S$(e):C$(e)),T$=()=>`Définir comme agent par défaut`,E$=()=>`Set as default agent`,D$=((e={},t={})=>(t.locale??U())===`fr`?T$(e):E$(e)),O$=e=>`Configurer l'instance « ${e?.instance} »`,k$=e=>`Configure instance « ${e?.instance} »`,A$=((e,t={})=>(t.locale??U())===`fr`?O$(e):k$(e)),j$=()=>`Config non-secrète du bridge, appliquée à chaud au message suivant (sans redémarrage). Les secrets (tokens, device identity) vivent dans l’environnement du bridge, jamais ici.`,M$=()=>`Non-secret bridge config, applied hot on the next message (no restart). Secrets (tokens, device identity) live in the bridge environment, never here.`,N$=((e={},t={})=>(t.locale??U())===`fr`?j$(e):M$(e)),P$=()=>`Aucune instance — ajoutez-en une dans Agents › Instances d’abord.`,F$=()=>`No instances yet — add one under Agents › Instances first.`,I$=((e={},t={})=>(t.locale??U())===`fr`?P$(e):F$(e)),L$=()=>`Mode média sortant`,R$=()=>`Outbound media mode`,z$=((e={},t={})=>(t.locale??U())===`fr`?L$(e):R$(e)),B$=()=>`Mode média entrant`,V$=()=>`Inbound media mode`,H$=((e={},t={})=>(t.locale??U())===`fr`?B$(e):V$(e)),U$=()=>`Taille média max (Mo)`,W$=()=>`Max media size (MB)`,G$=((e={},t={})=>(t.locale??U())===`fr`?U$(e):W$(e)),K$=()=>`Ré-hydratation de session`,q$=()=>`Session re-hydration`,J$=((e={},t={})=>(t.locale??U())===`fr`?K$(e):q$(e)),Y$=()=>`Enregistrer`,X$=()=>`Save`,Z$=((e={},t={})=>(t.locale??U())===`fr`?Y$(e):X$(e)),Q$=()=>`Impossible d’enregistrer la configuration`,$$=()=>`Could not save the configuration`,e1=((e={},t={})=>(t.locale??U())===`fr`?Q$(e):$$(e)),t1=()=>`Comment le bridge récupère les fichiers SORTANTS (générés par l’agent) pour les héberger : gateway-http (via HTTP depuis la gateway — aucun système de fichiers partagé requis, défaut portable), shared-fs (lit un volume partagé monté), ou off (aucune pièce jointe sortante).`,n1=()=>`How the bridge fetches OUTBOUND (agent-generated) files to host them: gateway-http (over HTTP from the gateway — no shared filesystem needed, the portable default), shared-fs (read a mounted shared volume), or off (no outbound attachments).`,r1=((e={},t={})=>(t.locale??U())===`fr`?t1(e):n1(e)),i1=()=>`Comment les fichiers téléversés atteignent l’agent : inline (base64 dans la trame du chat — plafonné par la taille de trame de la gateway), ou shared-fs (streamé vers un volume partagé et référencé par chemin — toute taille, pour les grosses vidéos/audio/docs).`,a1=()=>`How user-uploaded files reach the agent: inline (base64 in the chat frame — capped by the gateway frame size), or shared-fs (streamed to a shared volume and referenced by path — any size, for large videos/audio/docs).`,o1=((e={},t={})=>(t.locale??U())===`fr`?i1(e):a1(e)),s1=()=>`Transport du flux live`,c1=()=>`Live-stream transport`,l1=((e={},t={})=>(t.locale??U())===`fr`?s1(e):c1(e)),u1=()=>`Comment le navigateur reçoit la réponse en direct pour les chats de cette instance (frontend↔Convex — pas un réglage du bridge) : reactive (push natif de Convex — meilleure concurrence, le défaut) ou sse (Server-Sent-Events / streamable-HTTP standard — multi-device, mais sur Convex Cloud managé chaque stream occupe un slot d’action concurrente, plafonné à 64/512).`,d1=()=>`How the browser receives the live reply for this instance's chats (frontend↔Convex — not a bridge setting): reactive (Convex's native push — best concurrency, the default) or sse (standard Server-Sent-Events / streamable-HTTP — multi-device, but on managed Convex Cloud each stream holds a concurrent-action slot, capped at 64/512).`,f1=((e={},t={})=>(t.locale??U())===`fr`?u1(e):d1(e)),p1=()=>`Plafond de taille par fichier (Mo). En mode shared-fs il peut être élevé (les fichiers sont streamés sur disque) ; pour l’inline, la vraie limite est la taille de trame de la gateway.`,m1=()=>`Per-file size cap (MB). In shared-fs mode this can be large (files stream to disk); for inline files the gateway frame size is the real limit.`,h1=((e={},t={})=>(t.locale??U())===`fr`?p1(e):m1(e)),g1=()=>`Sur une session gateway fraîche/réinitialisée, renvoie les tours précédents pour que le contexte du modèle corresponde au fil visible. Désactiver pour n’envoyer que le message courant.`,_1=()=>`On a fresh/rolled gateway session, re-send prior turns so the model's context matches the visible thread. Disable to always send only the current message.`,v1=((e={},t={})=>(t.locale??U())===`fr`?g1(e):_1(e)),y1=()=>`Injections de prompt`,b1=()=>`Prompt injections`,x1=((e={},t={})=>(t.locale??U())===`fr`?y1(e):b1(e)),S1=()=>`Atrium ajoute quelques instructions à chaque tour envoyé au gateway pour que les fonctionnalités marchent d’emblée. Si votre gateway instruit déjà les agents, désactivez-les ou personnalisez-les ici pour ne pas surcharger inutilement le contexte du tour.`,C1=()=>`Atrium splices a few standing instructions into each gateway turn so features work out of the box. If your gateway already instructs the agents, disable or customize them here so the turn's context isn't bloated for nothing.`,w1=((e={},t={})=>(t.locale??U())===`fr`?S1(e):C1(e)),T1=()=>`Réinitialiser`,E1=()=>`Reset to default`,D1=((e={},t={})=>(t.locale??U())===`fr`?T1(e):E1(e)),O1=()=>`personnalisée`,k1=()=>`customized`,A1=((e={},t={})=>(t.locale??U())===`fr`?O1(e):k1(e)),j1=()=>`Placeholders (à conserver dans votre texte) :`,M1=()=>`Placeholders (keep them in your text):`,N1=((e={},t={})=>(t.locale??U())===`fr`?j1(e):M1(e)),P1=()=>`Livraison de fichier (MEDIA:)`,F1=()=>`File delivery (MEDIA:)`,I1=((e={},t={})=>(t.locale??U())===`fr`?P1(e):F1(e)),L1=()=>`Indique à l’agent comment rendre un fichier généré téléchargeable dans ce webchat : l’écrire dans le dossier outbound, puis émettre une ligne MEDIA:<chemin>. À désactiver UNIQUEMENT si vos agents savent déjà émettre MEDIA: — sinon les fichiers qu’ils génèrent ne seront pas téléchargeables. Le placeholder du dossier outbound (indiqué dessous) est rempli automatiquement.`,R1=()=>`Tells the agent how to make a generated file downloadable in this webchat: write it to the outbound dir, then emit a MEDIA:<path> line. Disable ONLY if your agents are already instructed to emit MEDIA: — otherwise files they generate won't be downloadable. The outbound-directory placeholder (shown below) is filled automatically.`,z1=((e={},t={})=>(t.locale??U())===`fr`?L1(e):R1(e)),B1=()=>`Brief de récupération documentaire`,V1=()=>`Documentary fetch brief`,H1=((e={},t={})=>(t.locale??U())===`fr`?B1(e):V1(e)),U1=()=>`Le brief envoyé à l’agent documentaire pour « Joindre les documents » : résoudre les références en fichiers et les livrer. Adaptez-le à la façon dont vos documents sont accessibles dans VOTRE environnement — c’est ce prompt qui fait réussir ou échouer la récupération. Désactivez pour n’envoyer QUE la liste brute des références (sans le cadre Atrium) — pour un gateway dont l’agent sait déjà récupérer les références qu’il reçoit. Le placeholder des références (indiqué dessous) est rempli avec les documents demandés.`,W1=()=>`The brief sent to the documentary agent for "Attach source documents": resolve the references to files and deliver them. Tailor it to how documents are reachable in YOUR environment — this is the prompt that makes or breaks the fetch. Disable to send ONLY the bare reference list (no Atrium framing) — for a gateway whose agent is already instructed to fetch references it receives. The references placeholder (shown below) is filled with the requested documents.`,G1=((e={},t={})=>(t.locale??U())===`fr`?U1(e):W1(e)),K1=()=>`Préambule des fichiers reçus`,q1=()=>`Received-files preamble`,J1=((e={},t={})=>(t.locale??U())===`fr`?K1(e):q1(e)),Y1=()=>`L’en-tête montré à l’agent avant la liste des fichiers qu’un utilisateur a joints, pour qu’il les lise par chemin. À désactiver si vos agents savent déjà où sont rangés les fichiers reçus. Le placeholder de la liste (indiqué dessous) est rempli avec les fichiers.`,X1=()=>`The header shown to the agent before the list of files a user attached, so it can read them by path. Disable if your agents already know where received files are staged. The file-list placeholder (shown below) is filled with the staged files.`,Z1=((e={},t={})=>(t.locale??U())===`fr`?Y1(e):X1(e)),Q1=()=>`Instance :`,$1=()=>`Instance:`,e0=((e={},t={})=>(t.locale??U())===`fr`?Q1(e):$1(e)),t0=()=>`Aucune instance pour l’instant. Ajoutez-en une dans l’onglet Instances.`,n0=()=>`No instance yet. Add one in the Instances tab first.`,r0=((e={},t={})=>(t.locale??U())===`fr`?t0(e):n0(e)),i0=()=>`Aperçu`,a0=()=>`Preview`,o0=((e={},t={})=>(t.locale??U())===`fr`?i0(e):a0(e)),s0=()=>`Masquer l’aperçu`,c0=()=>`Hide preview`,l0=((e={},t={})=>(t.locale??U())===`fr`?s0(e):c0(e)),u0=()=>`Placeholders remplis avec des exemples — ce que l’agent reçoit.`,d0=()=>`Placeholders filled with example values — what the agent receives.`,f0=((e={},t={})=>(t.locale??U())===`fr`?u0(e):d0(e)),p0=()=>`Désactivée — rien n’est injecté dans le message de l’agent.`,m0=()=>`Disabled — nothing is injected into the agent's message.`,h0=((e={},t={})=>(t.locale??U())===`fr`?p0(e):m0(e)),g0=()=>`Le dossier outbound de l’agent — où il doit écrire un fichier généré pour que le bridge le serve en téléchargement.`,_0=()=>`The agent's outbound directory — where it must write a generated file so the bridge can host it as a download.`,v0=((e={},t={})=>(t.locale??U())===`fr`?g0(e):_0(e)),y0=()=>`La liste des références de documents demandées (une par ligne) — ce que l’agent documentaire doit résoudre en fichiers.`,b0=()=>`The list of requested document references (one per line) — what the documentary agent must resolve to files.`,x0=((e={},t={})=>(t.locale??U())===`fr`?y0(e):b0(e)),S0=()=>`La liste des fichiers joints par l’utilisateur, avec leurs chemins (vus par l’agent) et tailles — ce que l’agent peut lire.`,C0=()=>`The list of files the user attached, with their agent-visible paths and sizes — what the agent can read.`,w0=((e={},t={})=>(t.locale??U())===`fr`?S0(e):C0(e)),T0=()=>`Injections de prompt`,E0=()=>`Prompt injections`,D0=((e={},t={})=>(t.locale??U())===`fr`?T0(e):E0(e)),O0=()=>`Chemin entrant (vu par l’agent)`,k0=()=>`Inbound path (agent view)`,A0=((e={},t={})=>(t.locale??U())===`fr`?O0(e):k0(e)),j0=()=>`Le chemin DANS le conteneur de la gateway où l’agent LIT les fichiers entrants déposés — le montage du volume partagé côté gateway (ex. /home/node/.openclaw/media/inbound). Doit correspondre à ton montage de volume Docker.`,M0=()=>`The path INSIDE the gateway container where the agent READS staged inbound files — the gateway's mount of the shared volume (e.g. /home/node/.openclaw/media/inbound). Must match your Docker volume mount.`,N0=((e={},t={})=>(t.locale??U())===`fr`?j0(e):M0(e)),P0=()=>`Chemin sortant (vu par l’agent)`,F0=()=>`Outbound path (agent view)`,I0=((e={},t={})=>(t.locale??U())===`fr`?P0(e):F0(e)),L0=()=>`Le chemin DANS le conteneur de la gateway où l’agent ÉCRIT un fichier généré avant d’émettre MEDIA:<chemin> (ex. /home/node/.openclaw/media/outbound). Doit être accessible en écriture par l’agent dans le conteneur.`,R0=()=>`The path INSIDE the gateway container where the agent WRITES a generated file before emitting MEDIA:<path> (e.g. /home/node/.openclaw/media/outbound). Must be writable by the agent in the container.`,z0=((e={},t={})=>(t.locale??U())===`fr`?L0(e):R0(e)),B0=()=>`Vérifier les chemins`,V0=()=>`Check paths`,H0=((e={},t={})=>(t.locale??U())===`fr`?B0(e):V0(e)),U0=()=>`Vérification…`,W0=()=>`Checking…`,G0=((e={},t={})=>(t.locale??U())===`fr`?U0(e):W0(e)),K0=()=>`Échec de la vérification des chemins`,q0=()=>`Path check failed`,J0=((e={},t={})=>(t.locale??U())===`fr`?K0(e):q0(e)),Y0=()=>`Vérifie l’accès du BRIDGE aux dossiers partagés. Le montage côté agent (dans le conteneur de la gateway) est à vérifier séparément.`,X0=()=>`Checks the BRIDGE's access to the shared dirs. The agent-side mount (inside the gateway container) must be verified separately.`,Z0=((e={},t={})=>(t.locale??U())===`fr`?Y0(e):X0(e)),Q0=()=>`Entrant (écriture bridge)`,$0=()=>`Inbound (bridge write)`,e2=((e={},t={})=>(t.locale??U())===`fr`?Q0(e):$0(e)),t2=()=>`Sortant (lecture bridge)`,n2=()=>`Outbound (bridge read)`,r2=((e={},t={})=>(t.locale??U())===`fr`?t2(e):n2(e)),i2=()=>`Accessible`,a2=()=>`Accessible`,o2=((e={},t={})=>(t.locale??U())===`fr`?i2(e):a2(e)),s2=()=>`Non concerné (pas shared-fs)`,c2=()=>`Not applicable (not shared-fs)`,l2=((e={},t={})=>(t.locale??U())===`fr`?s2(e):c2(e)),u2=()=>`Bridge injoignable — vérification impossible`,d2=()=>`Bridge unreachable — could not check`,f2=((e={},t={})=>(t.locale??U())===`fr`?u2(e):d2(e)),p2=e=>`Bridge joignable mais la vérification a échoué (${e?.reason})`,m2=e=>`Bridge reachable but the check failed (${e?.reason})`,h2=((e,t={})=>(t.locale??U())===`fr`?p2(e):m2(e)),g2=()=>`Santé du bridge — sondage actif toutes les minutes. Données non-secrètes uniquement : joignabilité, état des connexions, dernière cause d’échec. Les secrets (tokens, device identity) vivent dans l’environnement du bridge, jamais ici.`,_2=()=>`Bridge health — active poll every minute. Non-secret data only: reachability, connection states, last failure cause. Secrets (tokens, device identity) live in the bridge environment, never here.`,v2=((e={},t={})=>(t.locale??U())===`fr`?g2(e):_2(e)),y2=()=>`Utilisation de l'abonnement (fenêtres de quota par instance)`,b2=()=>`Subscription usage (quota windows per instance)`,x2=((e={},t={})=>(t.locale??U())===`fr`?y2(e):b2(e)),S2=()=>`Protocole`,C2=()=>`Protocol`,w2=((e={},t={})=>(t.locale??U())===`fr`?S2(e):C2(e)),T2=()=>`aligné`,E2=()=>`aligned`,D2=((e={},t={})=>(t.locale??U())===`fr`?T2(e):E2(e)),O2=e=>`${e?.count} champ(s) inconnu(s)`,k2=e=>`${e?.count} unknown field(s)`,A2=((e,t={})=>(t.locale??U())===`fr`?O2(e):k2(e)),j2=e=>`Contrat embarqué : OpenClaw ${e?.version}`,M2=e=>`Vendored contract: OpenClaw ${e?.version}`,N2=((e,t={})=>(t.locale??U())===`fr`?j2(e):M2(e)),P2=e=>`${e?.handled} pris en charge · ${e?.ignored} ignorés délibérément · ${e?.gaps} lacunes`,F2=e=>`${e?.handled} handled · ${e?.ignored} deliberately ignored · ${e?.gaps} gaps`,I2=((e,t={})=>(t.locale??U())===`fr`?P2(e):F2(e)),L2=e=>`Lacunes déclarées (${e?.count})`,R2=e=>`Declared gaps (${e?.count})`,z2=((e,t={})=>(t.locale??U())===`fr`?L2(e):R2(e)),B2=()=>`Chargement…`,V2=()=>`Loading…`,H2=((e={},t={})=>(t.locale??U())===`fr`?B2(e):V2(e)),U2=()=>`Aucun relevé pour l’instant — le sondage tourne chaque minute. Reviens dans un moment.`,W2=()=>`No reading yet — the poll runs every minute. Check back in a moment.`,G2=((e={},t={})=>(t.locale??U())===`fr`?U2(e):W2(e)),K2=()=>`Bridge opérationnel`,q2=()=>`Bridge operational`,J2=((e={},t={})=>(t.locale??U())===`fr`?K2(e):q2(e)),Y2=()=>`Bridge injoignable`,X2=()=>`Bridge unreachable`,Z2=((e={},t={})=>(t.locale??U())===`fr`?Y2(e):X2(e)),Q2=e=>`Bridge : ${e?.count} connexion(s) en erreur`,$2=e=>`Bridge: ${e?.count} connection(s) in error`,e4=((e,t={})=>(t.locale??U())===`fr`?Q2(e):$2(e)),t4=e=>`Vérifié à ${e?.time}`,n4=e=>`Checked at ${e?.time}`,r4=((e,t={})=>(t.locale??U())===`fr`?t4(e):n4(e)),i4=e=>`Bridge joignable · ${e?.count} instance(s) injoignable(s)`,a4=e=>`Bridge reachable · ${e?.count} instance(s) unreachable`,o4=((e,t={})=>(t.locale??U())===`fr`?i4(e):a4(e)),s4=e=>`Le bridge principal tourne, mais ces instances ne répondent pas — passerelle en sauvegarde/maintenance, ou leur bridge dédié arrêté : ${e?.names}. Les conversations concernées sont en pause et reprennent automatiquement au retour.`,c4=e=>`The main bridge is running, but these instances are not answering — gateway backup/maintenance, or their dedicated bridge is down: ${e?.names}. Affected conversations are paused and resume automatically once it returns.`,l4=((e,t={})=>(t.locale??U())===`fr`?s4(e):c4(e)),u4=e=>`· Bridge démarré le ${e?.time}`,d4=e=>`· Bridge started on ${e?.time}`,f4=((e,t={})=>(t.locale??U())===`fr`?u4(e):d4(e)),p4=()=>`↗ Anomalies`,m4=()=>`↗ Anomalies`,h4=((e={},t={})=>(t.locale??U())===`fr`?p4(e):m4(e)),g4=e=>`Connexions (${e?.count})`,_4=e=>`Connections (${e?.count})`,v4=((e,t={})=>(t.locale??U())===`fr`?g4(e):_4(e)),y4=()=>`Aucune connexion encore éprouvée. L’état d’une connexion apparaît dès qu’un message la sollicite (le bridge se connecte à la demande).`,b4=()=>`No connection tested yet. A connection's state appears as soon as a message exercises it (the bridge connects on demand).`,x4=((e={},t={})=>(t.locale??U())===`fr`?y4(e):b4(e)),S4=e=>`${e?.ok} OK · ${e?.errors} échec(s) · ${e?.attempts} tentative(s)`,C4=e=>`${e?.ok} OK · ${e?.errors} failure(s) · ${e?.attempts} attempt(s)`,w4=((e,t={})=>(t.locale??U())===`fr`?S4(e):C4(e)),T4=e=>`Rejeté par la passerelle : ${e?.label} — pas une défaillance du bridge.`,E4=e=>`Rejected by the gateway: ${e?.label} — not a bridge fault.`,D4=((e,t={})=>(t.locale??U())===`fr`?T4(e):E4(e)),O4=()=>`Filtrer par cible ou hôte…`,k4=()=>`Filter by target or host…`,A4=((e={},t={})=>(t.locale??U())===`fr`?O4(e):k4(e)),j4=()=>`Tous`,M4=()=>`All`,N4=((e={},t={})=>(t.locale??U())===`fr`?j4(e):M4(e)),P4=()=>`État`,F4=()=>`State`,I4=((e={},t={})=>(t.locale??U())===`fr`?P4(e):F4(e)),L4=()=>`Instance`,R4=()=>`Instance`,z4=((e={},t={})=>(t.locale??U())===`fr`?L4(e):R4(e)),B4=()=>`Version`,V4=()=>`Version`,H4=((e={},t={})=>(t.locale??U())===`fr`?B4(e):V4(e)),U4=()=>`Aucune connexion ne correspond aux filtres.`,W4=()=>`No connection matches the filters.`,G4=((e={},t={})=>(t.locale??U())===`fr`?U4(e):W4(e)),K4=()=>`Cible`,q4=()=>`Target`,J4=((e={},t={})=>(t.locale??U())===`fr`?K4(e):q4(e)),Y4=()=>`État`,X4=()=>`State`,Z4=((e={},t={})=>(t.locale??U())===`fr`?Y4(e):X4(e)),Q4=()=>`Instance`,$4=()=>`Instance`,e3=((e={},t={})=>(t.locale??U())===`fr`?Q4(e):$4(e)),t3=()=>`Hôte passerelle`,n3=()=>`Gateway host`,r3=((e={},t={})=>(t.locale??U())===`fr`?t3(e):n3(e)),i3=()=>`Version`,a3=()=>`Version`,o3=((e={},t={})=>(t.locale??U())===`fr`?i3(e):a3(e)),s3=()=>`Stats`,c3=()=>`Stats`,l3=((e={},t={})=>(t.locale??U())===`fr`?s3(e):c3(e)),u3=()=>`Dernier OK`,d3=()=>`Last OK`,f3=((e={},t={})=>(t.locale??U())===`fr`?u3(e):d3(e)),p3=()=>`connectée`,m3=()=>`connected`,h3=((e={},t={})=>(t.locale??U())===`fr`?p3(e):m3(e)),g3=()=>`erreur`,_3=()=>`error`,v3=((e={},t={})=>(t.locale??U())===`fr`?g3(e):_3(e)),y3=()=>`inactive`,b3=()=>`inactive`,x3=((e={},t={})=>(t.locale??U())===`fr`?y3(e):b3(e)),S3=()=>`5 dernières minutes`,C3=()=>`Last 5 minutes`,w3=((e={},t={})=>(t.locale??U())===`fr`?S3(e):C3(e)),T3=()=>`15 dernières minutes`,E3=()=>`Last 15 minutes`,D3=((e={},t={})=>(t.locale??U())===`fr`?T3(e):E3(e)),O3=()=>`30 dernières minutes`,k3=()=>`Last 30 minutes`,A3=((e={},t={})=>(t.locale??U())===`fr`?O3(e):k3(e)),j3=()=>`Dernière heure`,M3=()=>`Last hour`,N3=((e={},t={})=>(t.locale??U())===`fr`?j3(e):M3(e)),P3=()=>`3 dernières heures`,F3=()=>`Last 3 hours`,I3=((e={},t={})=>(t.locale??U())===`fr`?P3(e):F3(e)),L3=()=>`6 dernières heures`,R3=()=>`Last 6 hours`,z3=((e={},t={})=>(t.locale??U())===`fr`?L3(e):R3(e)),B3=()=>`12 dernières heures`,V3=()=>`Last 12 hours`,H3=((e={},t={})=>(t.locale??U())===`fr`?B3(e):V3(e)),U3=()=>`Dernières 24 heures`,W3=()=>`Last 24 hours`,G3=((e={},t={})=>(t.locale??U())===`fr`?U3(e):W3(e)),K3=()=>`2 derniers jours`,q3=()=>`Last 2 days`,J3=((e={},t={})=>(t.locale??U())===`fr`?K3(e):q3(e)),Y3=()=>`7 derniers jours`,X3=()=>`Last 7 days`,Z3=((e={},t={})=>(t.locale??U())===`fr`?Y3(e):X3(e)),Q3=()=>`30 derniers jours`,$3=()=>`Last 30 days`,e6=((e={},t={})=>(t.locale??U())===`fr`?Q3(e):$3(e)),t6=()=>`90 derniers jours`,n6=()=>`Last 90 days`,r6=((e={},t={})=>(t.locale??U())===`fr`?t6(e):n6(e)),i6=()=>`Tout`,a6=()=>`All time`,o6=((e={},t={})=>(t.locale??U())===`fr`?i6(e):a6(e)),s6=()=>`Appels API`,c6=()=>`API calls`,l6=((e={},t={})=>(t.locale??U())===`fr`?s6(e):c6(e)),u6=()=>`Erreurs API`,d6=()=>`API errors`,f6=((e={},t={})=>(t.locale??U())===`fr`?u6(e):d6(e)),p6=()=>`Latence moyenne`,m6=()=>`Average latency`,h6=((e={},t={})=>(t.locale??U())===`fr`?p6(e):m6(e)),g6=()=>`Ingestion OpenClaw`,_6=()=>`OpenClaw ingest`,v6=((e={},t={})=>(t.locale??U())===`fr`?g6(e):_6(e)),y6=()=>`Messages envoyés`,b6=()=>`Messages sent`,x6=((e={},t={})=>(t.locale??U())===`fr`?y6(e):b6(e)),S6=()=>`Erreurs de stream`,C6=()=>`Stream errors`,w6=((e={},t={})=>(t.locale??U())===`fr`?S6(e):C6(e)),T6=()=>`Indicateurs agrégés par heure à partir des traces expurgées (métadonnées non-PHI uniquement). Mise à jour en direct (useQuery) — le rollup tourne chaque heure.`,E6=()=>`Hourly aggregated indicators from redacted traces (non-PHI metadata only). Live updates (useQuery) — the rollup runs every hour.`,D6=((e={},t={})=>(t.locale??U())===`fr`?T6(e):E6(e)),O6=()=>`La plage filtre l’historique des rollups — une plage antérieure peut être partielle.`,k6=()=>`The range filters the rollup history — an earlier range may be partial.`,A6=((e={},t={})=>(t.locale??U())===`fr`?O6(e):k6(e)),j6=()=>`Chargement des KPI…`,M6=()=>`Loading KPIs…`,N6=((e={},t={})=>(t.locale??U())===`fr`?j6(e):M6(e)),P6=()=>`Aucune donnée KPI — le rollup tourne chaque heure ; lance-le ou attends.`,F6=()=>`No KPI data — the rollup runs every hour; run it or wait.`,I6=((e={},t={})=>(t.locale??U())===`fr`?P6(e):F6(e)),L6=e=>`dernier : ${e?.value}`,R6=e=>`latest: ${e?.value}`,z6=((e,t={})=>(t.locale??U())===`fr`?L6(e):R6(e)),B6=()=>`aucune donnée`,V6=()=>`no data`,H6=((e={},t={})=>(t.locale??U())===`fr`?B6(e):V6(e)),U6=e=>`${e?.count} h`,W6=e=>`${e?.count} h`,G6=((e,t={})=>(t.locale??U())===`fr`?U6(e):W6(e)),K6=e=>`Série horaire (max ${e?.max} ${e?.unit})`,q6=e=>`Hourly series (max ${e?.max} ${e?.unit})`,J6=((e,t={})=>(t.locale??U())===`fr`?K6(e):q6(e)),Y6=()=>`Mode dev — comptes & rôles`,X6=()=>`Dev mode — accounts & roles`,Z6=((e={},t={})=>(t.locale??U())===`fr`?Y6(e):X6(e)),Q6=()=>`Mode dev — comptes & rôles`,$6=()=>`Dev mode — accounts & roles`,e8=((e={},t={})=>(t.locale??U())===`fr`?Q6(e):$6(e)),t8=()=>`Change de rôle et « agis en tant que » pour tester plusieurs utilisateurs sans CLI. Visible uniquement en dev.`,n8=()=>`Change roles and “act as” to test multiple users without the CLI. Visible in dev only.`,r8=((e={},t={})=>(t.locale??U())===`fr`?t8(e):n8(e)),i8=e=>`Moi — ${e?.canonical}`,a8=e=>`Me — ${e?.canonical}`,o8=((e,t={})=>(t.locale??U())===`fr`?i8(e):a8(e)),s8=()=>`Devenir admin`,c8=()=>`Become admin`,l8=((e={},t={})=>(t.locale??U())===`fr`?s8(e):c8(e)),u8=()=>`Devenir user`,d8=()=>`Become user`,f8=((e={},t={})=>(t.locale??U())===`fr`?u8(e):d8(e)),p8=()=>`Devenir pending`,m8=()=>`Become pending`,h8=((e={},t={})=>(t.locale??U())===`fr`?p8(e):m8(e)),g8=()=>`Tu agis en tant que`,_8=()=>`You are acting as`,v8=((e={},t={})=>(t.locale??U())===`fr`?g8(e):_8(e)),y8=()=>`Arrêter`,b8=()=>`Stop`,x8=((e={},t={})=>(t.locale??U())===`fr`?y8(e):b8(e)),S8=()=>`Aucun autre compte. Déconnecte-toi puis reconnecte-toi (nouvelle identité anonyme) — elle sera active immédiatement.`,C8=()=>`No other account. Sign out then sign back in (new anonymous identity) — it will be active immediately.`,w8=((e={},t={})=>(t.locale??U())===`fr`?S8(e):C8(e)),T8=()=>`Deviens admin d'abord`,E8=()=>`Become admin first`,D8=((e={},t={})=>(t.locale??U())===`fr`?T8(e):E8(e)),O8=()=>`Un compte pending ne peut pas être impersonné`,k8=()=>`A pending account cannot be impersonated`,A8=((e={},t={})=>(t.locale??U())===`fr`?O8(e):k8(e)),j8=()=>`Agir en tant que cet utilisateur`,M8=()=>`Act as this user`,N8=((e={},t={})=>(t.locale??U())===`fr`?j8(e):M8(e)),P8=()=>`Agir en tant que`,F8=()=>`Act as`,I8=((e={},t={})=>(t.locale??U())===`fr`?P8(e):F8(e)),L8=()=>`Nouveau chat`,R8=()=>`New chat`,z8=((e={},t={})=>(t.locale??U())===`fr`?L8(e):R8(e)),B8=()=>`Nouveau projet`,V8=()=>`New project`,H8=((e={},t={})=>(t.locale??U())===`fr`?B8(e):V8(e)),U8=()=>`Nom du projet`,W8=()=>`Project name`,G8=((e={},t={})=>(t.locale??U())===`fr`?U8(e):W8(e)),K8=()=>`ex. Travail`,q8=()=>`e.g. Work`,J8=((e={},t={})=>(t.locale??U())===`fr`?K8(e):q8(e)),Y8=()=>`Créer`,X8=()=>`Create`,Z8=((e={},t={})=>(t.locale??U())===`fr`?Y8(e):X8(e)),Q8=()=>`Épinglés`,$8=()=>`Pinned`,e5=((e={},t={})=>(t.locale??U())===`fr`?Q8(e):$8(e)),t5=()=>`Glissez un chat ici`,n5=()=>`Drop a chat here`,r5=((e={},t={})=>(t.locale??U())===`fr`?t5(e):n5(e)),i5=()=>`Chats`,a5=()=>`Chats`,o5=((e={},t={})=>(t.locale??U())===`fr`?i5(e):a5(e)),s5=()=>`Sans titre`,c5=()=>`Untitled`,l5=((e={},t={})=>(t.locale??U())===`fr`?s5(e):c5(e)),u5=()=>`Une conversation de ce projet est en cours de traitement`,d5=()=>`A conversation in this project is being processed`,f5=((e={},t={})=>(t.locale??U())===`fr`?u5(e):d5(e)),p5=()=>`Réponse en cours…`,m5=()=>`Reply in progress…`,h5=((e={},t={})=>(t.locale??U())===`fr`?p5(e):m5(e)),g5=()=>`Actions du projet`,_5=()=>`Project actions`,v5=((e={},t={})=>(t.locale??U())===`fr`?g5(e):_5(e)),y5=()=>`Renommer le projet`,b5=()=>`Rename project`,x5=((e={},t={})=>(t.locale??U())===`fr`?y5(e):b5(e)),S5=()=>`Bibliothèque`,C5=()=>`Library`,w5=((e={},t={})=>(t.locale??U())===`fr`?S5(e):C5(e)),T5=()=>`Programmées`,E5=()=>`Scheduled`,D5=((e={},t={})=>(t.locale??U())===`fr`?T5(e):E5(e)),O5=()=>`Nouvelle réponse non lue`,k5=()=>`New unread reply`,A5=((e={},t={})=>(t.locale??U())===`fr`?O5(e):k5(e)),j5=()=>`Lecture seule — l'agent associé ne t'est plus disponible`,M5=()=>`Read-only — its agent is no longer available to you`,N5=((e={},t={})=>(t.locale??U())===`fr`?j5(e):M5(e)),P5=()=>`Supprimer le projet`,F5=()=>`Delete project`,I5=((e={},t={})=>(t.locale??U())===`fr`?P5(e):F5(e)),L5=e=>`Supprimer le projet « ${e?.name} » ?`,R5=e=>`Delete project "${e?.name}"?`,z5=((e,t={})=>(t.locale??U())===`fr`?L5(e):R5(e)),B5=e=>`Cette action est irréversible : elle supprimera aussi définitivement ${e?.count} conversation(s) et tous leurs messages.`,V5=e=>`This action is irreversible: it will also permanently delete ${e?.count} conversation(s) and all their messages.`,H5=((e,t={})=>(t.locale??U())===`fr`?B5(e):V5(e)),U5=()=>`Cette action est irréversible.`,W5=()=>`This action is irreversible.`,G5=((e={},t={})=>(t.locale??U())===`fr`?U5(e):W5(e)),K5=()=>`Supprimer`,q5=()=>`Delete`,J5=((e={},t={})=>(t.locale??U())===`fr`?K5(e):q5(e)),Y5=()=>`Déplacer / réordonner`,xte=()=>`Move / reorder`,X5=((e={},t={})=>(t.locale??U())===`fr`?Y5(e):xte(e)),Z5=()=>`Actions`,Q5=()=>`Actions`,$5=((e={},t={})=>(t.locale??U())===`fr`?Z5(e):Q5(e)),e7=()=>`Renommer`,t7=()=>`Rename`,n7=((e={},t={})=>(t.locale??U())===`fr`?e7(e):t7(e)),r7=()=>`Désépingler`,i7=()=>`Unpin`,a7=((e={},t={})=>(t.locale??U())===`fr`?r7(e):i7(e)),o7=()=>`Épingler`,s7=()=>`Pin`,c7=((e={},t={})=>(t.locale??U())===`fr`?o7(e):s7(e)),l7=()=>`Couleur`,u7=()=>`Color`,d7=((e={},t={})=>(t.locale??U())===`fr`?l7(e):u7(e)),f7=()=>`Aucune couleur`,p7=()=>`No color`,m7=((e={},t={})=>(t.locale??U())===`fr`?f7(e):p7(e)),h7=()=>`Supprimer ce chat ?`,g7=()=>`Delete this chat?`,_7=((e={},t={})=>(t.locale??U())===`fr`?h7(e):g7(e)),v7=()=>`Cette action est irréversible et supprimera ses messages.`,y7=()=>`This action is irreversible and will delete its messages.`,b7=((e={},t={})=>(t.locale??U())===`fr`?v7(e):y7(e)),x7=()=>`Renommer le chat`,S7=()=>`Rename chat`,C7=((e={},t={})=>(t.locale??U())===`fr`?x7(e):S7(e)),w7=()=>`Titre`,T7=()=>`Title`,E7=((e={},t={})=>(t.locale??U())===`fr`?w7(e):T7(e)),D7=()=>`La passerelle ne répond plus — le traitement en cours risque d’expirer`,O7=()=>`The gateway is not responding — the in-flight turn may time out`,k7=((e={},t={})=>(t.locale??U())===`fr`?D7(e):O7(e)),A7=()=>`Réflexion…`,j7=()=>`Thinking…`,M7=((e={},t={})=>(t.locale??U())===`fr`?A7(e):j7(e)),N7=()=>`Reprise de l'historique de la conversation…`,P7=()=>`Catching up on the conversation history…`,F7=((e={},t={})=>(t.locale??U())===`fr`?N7(e):P7(e)),I7=()=>`Optimisation du contexte en cours…`,L7=()=>`Optimizing the context…`,R7=((e={},t={})=>(t.locale??U())===`fr`?I7(e):L7(e)),z7=()=>`L'agent travaille toujours — vérification de son état…`,B7=()=>`The agent is still working — checking its status…`,V7=((e={},t={})=>(t.locale??U())===`fr`?z7(e):B7(e)),H7=()=>`Travail délégué aux sous-agents — en attente de leurs résultats…`,Ste=()=>`Work delegated to sub-agents — awaiting their results…`,Cte=((e={},t={})=>(t.locale??U())===`fr`?H7(e):Ste(e)),wte=()=>`Génération…`,Tte=()=>`Generating…`,Ete=((e={},t={})=>(t.locale??U())===`fr`?wte(e):Tte(e)),Dte=()=>`Erreur`,Ote=()=>`Error`,kte=((e={},t={})=>(t.locale??U())===`fr`?Dte(e):Ote(e)),Ate=()=>`La réponse a été générée côté agent mais n’a pas pu être finalisée (connexion au bridge interrompue en cours de route). Vous pouvez supprimer ou régénérer ce message.`,jte=()=>`The reply was generated on the agent side but could not be finalized (the bridge connection dropped mid-stream). You can delete or regenerate this message.`,Mte=((e={},t={})=>(t.locale??U())===`fr`?Ate(e):jte(e)),Nte=()=>`La connexion à la passerelle a été interrompue pendant la réponse (compaction, redémarrage ou coupure réseau). Ce n'est pas une interruption de votre part. Renvoyez votre message, ou supprimez ce tour pour le régénérer.`,Pte=()=>`The connection to the gateway dropped during the reply (compaction, restart, or a network blip). This is not a stop on your side. Send your message again, or delete this turn to regenerate it.`,Fte=((e={},t={})=>(t.locale??U())===`fr`?Nte(e):Pte(e)),Ite=()=>`L'agent a travaillé longtemps sans répondre et le délai de récupération est dépassé. Sa réponse a peut-être abouti côté passerelle : réessayez — l'historique sera pris en compte — ou reformulez une demande plus ciblée.`,Lte=()=>`The agent worked for a long time without replying and the recovery window elapsed. Its reply may have completed on the gateway: retry — the history is taken into account — or ask a more focused question.`,Rte=((e={},t={})=>(t.locale??U())===`fr`?Ite(e):Lte(e)),zte=()=>`La fenêtre de contexte de l'agent a débordé pendant ce tour : l'historique plus les résultats d'outils accumulés en cours de tour ont dépassé la capacité du modèle (la jauge en haut reflète l'état d'avant le tour). Réessayez en demandant de déléguer aux sous-agents, compactez la session, ou démarrez un nouveau chat.`,Bte=()=>`The agent's context window overflowed during this turn: the history plus the tool results accumulated mid-turn exceeded the model's capacity (the meter above reflects the pre-turn state). Retry asking to delegate to sub-agents, compact the session, or start a new chat.`,Vte=((e={},t={})=>(t.locale??U())===`fr`?zte(e):Bte(e)),Hte=()=>`L'agent optimisait (compactait) une session volumineuse mais n'a pas terminé à temps. Réessayez, compactez la session, ou démarrez un nouveau chat pour repartir sur un contexte plus léger.`,Ute=()=>`The agent was optimizing (compacting) a large session but did not finish in time. Retry, compact the session, or start a new chat to begin with a lighter context.`,Wte=((e={},t={})=>(t.locale??U())===`fr`?Hte(e):Ute(e)),Gte=()=>`L'agent a terminé sans réponse utilisable : aucun texte, et une éventuelle livraison de fichier a échoué. Réessayez, reformulez, ou démarrez un nouveau chat. Astuce : si l'agent tente systématiquement de livrer un fichier, sa mémoire est peut-être saturée de consignes de livraison — envisagez une curation de ses fichiers.`,Kte=()=>`The agent finished without a usable response: no text, and any file delivery failed. Retry, rephrase, or start a new chat. Tip: if the agent keeps trying to deliver a file, its memory may be saturated with delivery instructions — consider curating its files.`,qte=((e={},t={})=>(t.locale??U())===`fr`?Gte(e):Kte(e)),Jte=()=>`La passerelle n'a pas pu initialiser la session de réponse (conflit passager, souvent pendant une tâche de fond de l'agent). Atrium relance automatiquement le tour ; si cette erreur reste affichée, renvoyez simplement votre message.`,Yte=()=>`The gateway could not initialize the reply session (a transient conflict, often during an agent background task). Atrium retries the turn automatically; if this error remains, simply resend your message.`,Xte=((e={},t={})=>(t.locale??U())===`fr`?Jte(e):Yte(e)),Zte=()=>`Le fournisseur du modèle limite temporairement les requêtes. Patientez quelques instants puis réessayez.`,Qte=()=>`The model provider is temporarily rate-limiting requests. Wait a moment and retry.`,$te=((e={},t={})=>(t.locale??U())===`fr`?Zte(e):Qte(e)),ene=()=>`Le tour a expiré côté passerelle avant d'aboutir. Réessayez.`,tne=()=>`The turn timed out on the gateway before completing. Retry.`,nne=((e={},t={})=>(t.locale??U())===`fr`?ene(e):tne(e)),rne=()=>`Le modèle a refusé de répondre à cette demande.`,ine=()=>`The model declined to answer this request.`,ane=((e={},t={})=>(t.locale??U())===`fr`?rne(e):ine(e)),one=()=>`Interrompu`,sne=()=>`Stopped`,cne=((e={},t={})=>(t.locale??U())===`fr`?one(e):sne(e)),lne=()=>`contient`,une=()=>`contains`,dne=((e={},t={})=>(t.locale??U())===`fr`?lne(e):une(e)),fne=()=>`Filtre avancé`,pne=()=>`Advanced filter`,mne=((e={},t={})=>(t.locale??U())===`fr`?fne(e):pne(e)),hne=()=>`Aucun critère. Ajoutez une condition (toutes les conditions sont cumulées avec ET).`,gne=()=>`No criteria. Add a condition (all conditions are combined with AND).`,_ne=((e={},t={})=>(t.locale??U())===`fr`?hne(e):gne(e)),vne=()=>`Champ`,yne=()=>`Field`,bne=((e={},t={})=>(t.locale??U())===`fr`?vne(e):yne(e)),xne=()=>`Valeur`,Sne=()=>`Value`,Cne=((e={},t={})=>(t.locale??U())===`fr`?xne(e):Sne(e)),wne=()=>`Supprimer la condition`,Tne=()=>`Remove condition`,Ene=((e={},t={})=>(t.locale??U())===`fr`?wne(e):Tne(e)),Dne=()=>`Ajouter une condition`,One=()=>`Add condition`,kne=((e={},t={})=>(t.locale??U())===`fr`?Dne(e):One(e)),Ane=()=>`Bridge : pas encore de relevé (sondage chaque minute)`,jne=()=>`Bridge: no reading yet (polled every minute)`,Mne=((e={},t={})=>(t.locale??U())===`fr`?Ane(e):jne(e)),Nne=()=>`Bridge opérationnel`,Pne=()=>`Bridge operational`,Fne=((e={},t={})=>(t.locale??U())===`fr`?Nne(e):Pne(e)),Ine=e=>` · vérifié à ${e?.time}`,Lne=e=>` · verified at ${e?.time}`,Rne=((e,t={})=>(t.locale??U())===`fr`?Ine(e):Lne(e)),zne=e=>`Bridge indisponible (${e?.reason}) — ouvre l’onglet Bridge pour le détail`,Bne=e=>`Bridge unavailable (${e?.reason}) — open the Bridge tab for details`,Vne=((e,t={})=>(t.locale??U())===`fr`?zne(e):Bne(e)),Hne=()=>`Utilisateur`,Une=()=>`User`,Wne=((e={},t={})=>(t.locale??U())===`fr`?Hne(e):Une(e)),Gne=()=>`Système`,Kne=()=>`System`,qne=((e={},t={})=>(t.locale??U())===`fr`?Gne(e):Kne(e)),Jne=()=>`[Export limité aux 200 messages les plus récents de cette conversation]`,Yne=()=>`[Export limited to the 200 most recent messages of this conversation]`,Xne=((e={},t={})=>(t.locale??U())===`fr`?Jne(e):Yne(e)),Zne=()=>`Conversation`,Qne=()=>`Conversation`,$ne=((e={},t={})=>(t.locale??U())===`fr`?Zne(e):Qne(e)),ere=e=>`Exporté le ${e?.date}`,tre=e=>`Exported on ${e?.date}`,nre=((e,t={})=>(t.locale??U())===`fr`?ere(e):tre(e)),rre=e=>`[fichier : ${e?.name}]`,ire=e=>`[file: ${e?.name}]`,are=((e,t={})=>(t.locale??U())===`fr`?rre(e):ire(e)),ore=()=>`Rechercher dans les conversations`,sre=()=>`Search conversations`,cre=((e={},t={})=>(t.locale??U())===`fr`?ore(e):sre(e)),lre=()=>`Rechercher…`,ure=()=>`Search…`,dre=((e={},t={})=>(t.locale??U())===`fr`?lre(e):ure(e)),fre=()=>`Rechercher dans les conversations`,pre=()=>`Search conversations`,mre=((e={},t={})=>(t.locale??U())===`fr`?fre(e):pre(e)),hre=()=>`Rechercher dans toutes les conversations…`,gre=()=>`Search across all conversations…`,_re=((e={},t={})=>(t.locale??U())===`fr`?hre(e):gre(e)),vre=()=>`Recherche`,yre=()=>`Search`,bre=((e={},t={})=>(t.locale??U())===`fr`?vre(e):yre(e)),xre=e=>`Tapez au moins ${e?.count} caractères pour rechercher.`,Sre=e=>`Type at least ${e?.count} characters to search.`,Cre=((e,t={})=>(t.locale??U())===`fr`?xre(e):Sre(e)),wre=()=>`Recherche…`,Tre=()=>`Searching…`,Ere=((e={},t={})=>(t.locale??U())===`fr`?wre(e):Tre(e)),Dre=e=>`Aucune conversation ne correspond à « ${e?.term} ».`,Ore=e=>`No conversation matches “${e?.term}”.`,kre=((e,t={})=>(t.locale??U())===`fr`?Dre(e):Ore(e)),Are=()=>`Nouveau chat`,jre=()=>`New chat`,Mre=((e={},t={})=>(t.locale??U())===`fr`?Are(e):jre(e)),Nre=()=>`Titre`,Pre=()=>`Title`,Fre=((e={},t={})=>(t.locale??U())===`fr`?Nre(e):Pre(e)),Ire=()=>`Message`,Lre=()=>`Message`,Rre=((e={},t={})=>(t.locale??U())===`fr`?Ire(e):Lre(e)),zre=()=>`naviguer`,Bre=()=>`navigate`,Vre=((e={},t={})=>(t.locale??U())===`fr`?zre(e):Bre(e)),Hre=()=>`ouvrir`,Ure=()=>`open`,Wre=((e={},t={})=>(t.locale??U())===`fr`?Hre(e):Ure(e)),Gre=()=>`Échap`,Kre=()=>`Esc`,qre=((e={},t={})=>(t.locale??U())===`fr`?Gre(e):Kre(e)),Jre=()=>`fermer`,Yre=()=>`close`,Xre=((e={},t={})=>(t.locale??U())===`fr`?Jre(e):Yre(e)),Zre=()=>`Choisir un agent`,Qre=()=>`Choose an agent`,$re=((e={},t={})=>(t.locale??U())===`fr`?Zre(e):Qre(e)),eie=()=>`Sélectionnez l’agent (et l’instance) pour cette conversation.`,tie=()=>`Select the agent (and instance) for this conversation.`,nie=((e={},t={})=>(t.locale??U())===`fr`?eie(e):tie(e)),rie=()=>`Chargement…`,iie=()=>`Loading…`,aie=((e={},t={})=>(t.locale??U())===`fr`?rie(e):iie(e)),oie=()=>`Aucun agent ne vous est assigné. Contactez votre administrateur pour qu’il vous en attribue un.`,sie=()=>`No agent is assigned to you. Contact your administrator to have one assigned.`,cie=((e={},t={})=>(t.locale??U())===`fr`?oie(e):sie(e)),lie=()=>`Rechercher un agent…`,uie=()=>`Search for an agent…`,die=((e={},t={})=>(t.locale??U())===`fr`?lie(e):uie(e)),fie=()=>`Rechercher un agent`,pie=()=>`Search for an agent`,mie=((e={},t={})=>(t.locale??U())===`fr`?fie(e):pie(e)),hie=()=>`Cet agent n’existe plus sur la gateway`,gie=()=>`This agent no longer exists on the gateway`,_ie=((e={},t={})=>(t.locale??U())===`fr`?hie(e):gie(e)),vie=()=>`Agent par défaut`,yie=()=>`Default agent`,bie=((e={},t={})=>(t.locale??U())===`fr`?vie(e):yie(e)),xie=()=>`Rechercher`,Sie=()=>`Search`,Cie=((e={},t={})=>(t.locale??U())===`fr`?xie(e):Sie(e)),wie=()=>`Réinitialiser`,Tie=()=>`Reset`,Eie=((e={},t={})=>(t.locale??U())===`fr`?wie(e):Tie(e)),Die=()=>`Ajouter`,Oie=()=>`Add`,kie=((e={},t={})=>(t.locale??U())===`fr`?Die(e):Oie(e)),Aie=()=>`Aucun élément.`,jie=()=>`No items.`,Mie=((e={},t={})=>(t.locale??U())===`fr`?Aie(e):jie(e)),Nie=()=>`Chargement…`,Pie=()=>`Loading…`,Fie=((e={},t={})=>(t.locale??U())===`fr`?Nie(e):Pie(e)),Iie=()=>`Tout sélectionner`,Lie=()=>`Select all`,Rie=((e={},t={})=>(t.locale??U())===`fr`?Iie(e):Lie(e)),zie=()=>`Sélectionner la ligne`,Bie=()=>`Select row`,Vie=((e={},t={})=>(t.locale??U())===`fr`?zie(e):Bie(e)),Hie=()=>`Actions`,Uie=()=>`Actions`,Wie=((e={},t={})=>(t.locale??U())===`fr`?Hie(e):Uie(e)),Gie=e=>`Trier par ${e?.column}`,Kie=e=>`Sort by ${e?.column}`,qie=((e,t={})=>(t.locale??U())===`fr`?Gie(e):Kie(e)),Jie=()=>`Agent introuvable`,Yie=()=>`Agent not found`,Xie=((e={},t={})=>(t.locale??U())===`fr`?Jie(e):Yie(e)),Zie=()=>`L’agent configuré n’existe plus sur la passerelle. Vérifiez OPENCLAW_AGENT_ID dans le .env du bridge (il doit correspondre à un agent réel de la passerelle).`,Qie=()=>`The configured agent no longer exists on the gateway. Check OPENCLAW_AGENT_ID in the bridge .env (it must match a real gateway agent).`,$ie=((e={},t={})=>(t.locale??U())===`fr`?Zie(e):Qie(e)),eae=()=>`Authentification refusée`,tae=()=>`Authentication refused`,nae=((e={},t={})=>(t.locale??U())===`fr`?eae(e):tae(e)),rae=()=>`Le token opérateur ne correspond pas au device pairé. Re-pairez un device dédié au bridge sur la passerelle et reportez son token + device identity.`,iae=()=>`The operator token does not match the paired device. Re-pair a dedicated bridge device on the gateway and report its token + device identity.`,aae=((e={},t={})=>(t.locale??U())===`fr`?rae(e):iae(e)),oae=()=>`Signature device impossible`,sae=()=>`Device signing failed`,cae=((e={},t={})=>(t.locale??U())===`fr`?oae(e):sae(e)),lae=()=>`La clé privée du device identity ne se décode pas. Vérifiez OPENCLAW_DEVICE_IDENTITY (format JSON, \\n simples) — voir fix-devid.mjs.`,uae=()=>`The device identity private key won’t decode. Check OPENCLAW_DEVICE_IDENTITY (JSON format, single \\n) — see fix-devid.mjs.`,dae=((e={},t={})=>(t.locale??U())===`fr`?lae(e):uae(e)),fae=()=>`Portée insuffisante`,pae=()=>`Insufficient scope`,mae=((e={},t={})=>(t.locale??U())===`fr`?fae(e):pae(e)),hae=()=>`Le pairing du device n’a pas la portée requise (operator.admin). Approuvez/élevez la portée du device sur la passerelle.`,gae=()=>`The device pairing lacks the required scope (operator.admin). Approve/elevate the device scope on the gateway.`,_ae=((e={},t={})=>(t.locale??U())===`fr`?hae(e):gae(e)),vae=()=>`Délai dépassé`,yae=()=>`Timed out`,bae=((e={},t={})=>(t.locale??U())===`fr`?vae(e):yae(e)),xae=()=>`La passerelle n’a pas répondu à temps. Vérifiez qu’elle est démarrée et joignable (OPENCLAW_GATEWAY_URL).`,Sae=()=>`The gateway did not respond in time. Check it’s started and reachable (OPENCLAW_GATEWAY_URL).`,Cae=((e={},t={})=>(t.locale??U())===`fr`?xae(e):Sae(e)),wae=()=>`Passerelle déconnectée`,Tae=()=>`Gateway disconnected`,Eae=((e={},t={})=>(t.locale??U())===`fr`?wae(e):Tae(e)),Dae=()=>`La connexion à la passerelle a été coupée. Vérifiez l’état du conteneur OpenClaw et l’URL/port de la passerelle.`,Oae=()=>`The connection to the gateway dropped. Check the OpenClaw container state and the gateway URL/port.`,kae=((e={},t={})=>(t.locale??U())===`fr`?Dae(e):Oae(e)),Aae=()=>`Bridge injoignable`,jae=()=>`Bridge unreachable`,Mae=((e={},t={})=>(t.locale??U())===`fr`?Aae(e):jae(e)),Nae=()=>`Convex n’a pas pu joindre le bridge. Vérifiez que le conteneur bridge tourne et BRIDGE_URL (http://<ip-hôte>:8787).`,Pae=()=>`Convex could not reach the bridge. Check the bridge container is running and BRIDGE_URL (http://<host-ip>:8787).`,Fae=((e={},t={})=>(t.locale??U())===`fr`?Nae(e):Pae(e)),Iae=()=>`Pièce jointe trop volumineuse`,Lae=()=>`Attachment too large`,Rae=((e={},t={})=>(t.locale??U())===`fr`?Iae(e):Lae(e)),zae=()=>`La passerelle a refusé la pièce jointe car elle dépasse la taille qu’elle accepte (limite de mise en sandbox de l’agent). Réduisez la taille du fichier, ou retirez la pièce jointe et envoyez le texte seul.`,Bae=()=>`The gateway refused the attachment because it exceeds the size it accepts (the agent's sandbox staging limit). Use a smaller file, or remove the attachment and send the text alone.`,Vae=((e={},t={})=>(t.locale??U())===`fr`?zae(e):Bae(e)),Hae=()=>`Pièce jointe non traitée`,Uae=()=>`Attachment could not be processed`,Wae=((e={},t={})=>(t.locale??U())===`fr`?Hae(e):Uae(e)),Gae=()=>`La passerelle n’a pas pu analyser/préparer la pièce jointe. Bug connu de la passerelle (le validateur base64 déborde sur les gros fichiers, RangeError) — à corriger côté passerelle (isValidBase64). En attendant : un fichier plus petit passe, ou envoyez le texte sans pièce jointe.`,Kae=()=>`The gateway could not parse/stage the attachment. Known gateway bug (its base64 validator overflows on large files — RangeError); fix it gateway-side (isValidBase64). Meanwhile: a smaller file works, or send the text without the attachment.`,qae=((e={},t={})=>(t.locale??U())===`fr`?Gae(e):Kae(e)),Jae=()=>`Requête invalide`,Yae=()=>`Invalid request`,Xae=((e={},t={})=>(t.locale??U())===`fr`?Jae(e):Yae(e)),Zae=()=>`La passerelle a rejeté la requête. Consultez les logs du bridge pour le détail brut.`,Qae=()=>`The gateway rejected the request. Check the bridge logs for the raw detail.`,$ae=((e={},t={})=>(t.locale??U())===`fr`?Zae(e):Qae(e)),eoe=()=>`Bridge non configuré`,toe=()=>`Bridge not configured`,noe=((e={},t={})=>(t.locale??U())===`fr`?eoe(e):toe(e)),roe=()=>`BRIDGE_URL / BRIDGE_SHARED_SECRET ne sont pas définis côté Convex (npx convex env set).`,ioe=()=>`BRIDGE_URL / BRIDGE_SHARED_SECRET are not set on the Convex side (npx convex env set).`,aoe=((e={},t={})=>(t.locale??U())===`fr`?roe(e):ioe(e)),ooe=()=>`Utilisateur non routé`,soe=()=>`User not routed`,coe=((e={},t={})=>(t.locale??U())===`fr`?ooe(e):soe(e)),loe=()=>`Ce compte n’est rattaché à aucune instance. Settings → Users → Override instance, ou affectez un groupe.`,uoe=()=>`This account is not attached to any instance. Settings → Users → Override instance, or assign a group.`,doe=((e={},t={})=>(t.locale??U())===`fr`?loe(e):uoe(e)),foe=()=>`Erreur passerelle`,poe=()=>`Gateway error`,moe=((e={},t={})=>(t.locale??U())===`fr`?foe(e):poe(e)),hoe=()=>`Cause non catégorisée. Consultez les logs du bridge pour le message brut.`,goe=()=>`Uncategorized cause. Check the bridge logs for the raw message.`,_oe=((e={},t={})=>(t.locale??U())===`fr`?hoe(e):goe(e)),voe=()=>`Cause inconnue`,yoe=()=>`Unknown cause`,boe=((e={},t={})=>(t.locale??U())===`fr`?voe(e):yoe(e)),xoe=()=>`Aucun code de cause n’a été remonté (bridge antérieur à cette version ?). Consultez les logs du bridge.`,Soe=()=>`No cause code was reported (bridge older than this version?). Check the bridge logs.`,Coe=((e={},t={})=>(t.locale??U())===`fr`?xoe(e):Soe(e)),woe=()=>`Cause non répertoriée — voir les logs du bridge.`,Toe=()=>`Cause not catalogued — see the bridge logs.`,Eoe=((e={},t={})=>(t.locale??U())===`fr`?woe(e):Toe(e)),Doe=e=>`Notifications (${e?.count} non lues)`,Ooe=e=>`Notifications (${e?.count} unread)`,koe=((e,t={})=>(t.locale??U())===`fr`?Doe(e):Ooe(e)),Aoe=()=>`Notifications`,joe=()=>`Notifications`,Moe=((e={},t={})=>(t.locale??U())===`fr`?Aoe(e):joe(e)),Noe=()=>`Notifications`,Poe=()=>`Notifications`,Foe=((e={},t={})=>(t.locale??U())===`fr`?Noe(e):Poe(e)),Ioe=()=>`Tout lu`,Loe=()=>`Mark all read`,Roe=((e={},t={})=>(t.locale??U())===`fr`?Ioe(e):Loe(e)),zoe=()=>`Tout effacer`,Boe=()=>`Clear all`,Voe=((e={},t={})=>(t.locale??U())===`fr`?zoe(e):Boe(e)),Hoe=()=>`Aucune notification.`,Uoe=()=>`No notifications.`,Woe=((e={},t={})=>(t.locale??U())===`fr`?Hoe(e):Uoe(e)),Goe=()=>`Marquer comme lue`,Koe=()=>`Mark as read`,qoe=((e={},t={})=>(t.locale??U())===`fr`?Goe(e):Koe(e)),Joe=()=>`Effacer la notification`,Yoe=()=>`Clear notification`,Xoe=((e={},t={})=>(t.locale??U())===`fr`?Joe(e):Yoe(e)),Zoe=()=>`Mes signalements`,Qoe=()=>`My reports`,$oe=((e={},t={})=>(t.locale??U())===`fr`?Zoe(e):Qoe(e)),ese=()=>`Répondu`,tse=()=>`Answered`,nse=((e={},t={})=>(t.locale??U())===`fr`?ese(e):tse(e)),rse=()=>`En attente`,ise=()=>`Pending`,ase=((e={},t={})=>(t.locale??U())===`fr`?rse(e):ise(e)),ose=()=>`Administrateur`,sse=()=>`Administrator`,cse=((e={},t={})=>(t.locale??U())===`fr`?ose(e):sse(e)),lse=()=>`Vous`,use=()=>`You`,dse=((e={},t={})=>(t.locale??U())===`fr`?lse(e):use(e)),fse=()=>`Voir la conversation`,pse=()=>`View the conversation`,mse=((e={},t={})=>(t.locale??U())===`fr`?fse(e):pse(e)),hse=()=>`Message signalé`,gse=()=>`Reported message`,_se=((e={},t={})=>(t.locale??U())===`fr`?hse(e):gse(e)),vse=()=>`Clore le signalement`,yse=()=>`Close report`,bse=((e={},t={})=>(t.locale??U())===`fr`?vse(e):yse(e)),xse=()=>`Pourquoi clore ce signalement ? (facultatif)`,Sse=()=>`Why close this report? (optional)`,Cse=((e={},t={})=>(t.locale??U())===`fr`?xse(e):Sse(e)),wse=()=>`Clore`,Tse=()=>`Close`,Ese=((e={},t={})=>(t.locale??U())===`fr`?wse(e):Tse(e)),Dse=()=>`Annuler`,Ose=()=>`Cancel`,kse=((e={},t={})=>(t.locale??U())===`fr`?Dse(e):Ose(e)),Ase=()=>`Réponse à votre signalement`,jse=()=>`Reply to your report`,Mse=((e={},t={})=>(t.locale??U())===`fr`?Ase(e):jse(e)),Nse=()=>`L'équipe de support a répondu à un signalement que vous avez envoyé.`,Pse=()=>`The support team replied to a report you submitted.`,Fse=((e={},t={})=>(t.locale??U())===`fr`?Nse(e):Pse(e)),Ise=()=>`Nouveau signalement utilisateur`,Lse=()=>`New user report`,Rse=((e={},t={})=>(t.locale??U())===`fr`?Ise(e):Lse(e)),zse=e=>`Signalement ${e?.reference} (${e?.category}) — un utilisateur attend une réponse.`,Bse=e=>`Report ${e?.reference} (${e?.category}) — a user is waiting for a reply.`,Vse=((e,t={})=>(t.locale??U())===`fr`?zse(e):Bse(e)),Hse=()=>`Mots modifiés / altérés`,Use=()=>`Modified / altered words`,Wse=((e={},t={})=>(t.locale??U())===`fr`?Hse(e):Use(e)),Gse=()=>`Réponse incorrecte`,Kse=()=>`Incorrect answer`,qse=((e={},t={})=>(t.locale??U())===`fr`?Gse(e):Kse(e)),Jse=()=>`Incohérence`,Yse=()=>`Incoherence`,Xse=((e={},t={})=>(t.locale??U())===`fr`?Jse(e):Yse(e)),Zse=()=>`Formatage`,Qse=()=>`Formatting`,$se=((e={},t={})=>(t.locale??U())===`fr`?Zse(e):Qse(e)),ece=()=>`Latence`,tce=()=>`Latency`,nce=((e={},t={})=>(t.locale??U())===`fr`?ece(e):tce(e)),rce=()=>`Erreur API`,ice=()=>`API error`,ace=((e={},t={})=>(t.locale??U())===`fr`?rce(e):ice(e)),oce=()=>`Autre`,sce=()=>`Other`,cce=((e={},t={})=>(t.locale??U())===`fr`?oce(e):sce(e)),lce=()=>`Utilisateurs`,uce=()=>`Users`,dce=((e={},t={})=>(t.locale??U())===`fr`?lce(e):uce(e)),fce=()=>`Instances`,pce=()=>`Instances`,mce=((e={},t={})=>(t.locale??U())===`fr`?fce(e):pce(e)),hce=()=>`Bridge`,gce=()=>`Bridge`,_ce=((e={},t={})=>(t.locale??U())===`fr`?hce(e):gce(e)),vce=()=>`Comptes de service`,yce=()=>`Service accounts`,bce=((e={},t={})=>(t.locale??U())===`fr`?vce(e):yce(e)),xce=()=>`Rôles`,Sce=()=>`Roles`,Cce=((e={},t={})=>(t.locale??U())===`fr`?xce(e):Sce(e)),wce=()=>`Traces`,Tce=()=>`Traces`,Ece=((e={},t={})=>(t.locale??U())===`fr`?wce(e):Tce(e)),Dce=()=>`KPI`,Oce=()=>`KPI`,kce=((e={},t={})=>(t.locale??U())===`fr`?Dce(e):Oce(e)),Ace=()=>`Anomalies`,jce=()=>`Anomalies`,Mce=((e={},t={})=>(t.locale??U())===`fr`?Ace(e):jce(e)),Nce=()=>`Intégrations`,Pce=()=>`Integrations`,Fce=((e={},t={})=>(t.locale??U())===`fr`?Nce(e):Pce(e)),Ice=()=>`Audit`,Lce=()=>`Audit`,Rce=((e={},t={})=>(t.locale??U())===`fr`?Ice(e):Lce(e)),zce=()=>`Feedbacks`,Bce=()=>`Feedbacks`,Vce=((e={},t={})=>(t.locale??U())===`fr`?zce(e):Bce(e)),Hce=()=>`Groupes`,Uce=()=>`Groups`,Wce=((e={},t={})=>(t.locale??U())===`fr`?Hce(e):Uce(e)),Gce=()=>`Accès`,Kce=()=>`Access`,qce=((e={},t={})=>(t.locale??U())===`fr`?Gce(e):Kce(e)),Jce=()=>`Inspectez les accès d’un utilisateur : ses groupes, les agents et chartes qui lui sont disponibles (avec leur provenance) et ses permissions effectives. Lecture seule.`,Yce=()=>`Inspect a user’s access: their groups, the agents and charts available to them (with provenance), and their effective permissions. Read-only.`,Xce=((e={},t={})=>(t.locale??U())===`fr`?Jce(e):Yce(e)),Zce=()=>`Choisir un utilisateur`,Qce=()=>`Pick a user`,$ce=((e={},t={})=>(t.locale??U())===`fr`?Zce(e):Qce(e)),ele=()=>`Sélectionnez un utilisateur pour voir ses accès.`,tle=()=>`Select a user to see their access.`,nle=((e={},t={})=>(t.locale??U())===`fr`?ele(e):tle(e)),rle=()=>`Identité`,ile=()=>`Identity`,ale=((e={},t={})=>(t.locale??U())===`fr`?rle(e):ile(e)),ole=()=>`Groupes`,sle=()=>`Groups`,cle=((e={},t={})=>(t.locale??U())===`fr`?ole(e):sle(e)),lle=()=>`Agents disponibles`,ule=()=>`Available agents`,dle=((e={},t={})=>(t.locale??U())===`fr`?lle(e):ule(e)),fle=()=>`Chartes disponibles`,ple=()=>`Available charts`,mle=((e={},t={})=>(t.locale??U())===`fr`?fle(e):ple(e)),hle=()=>`Permissions effectives`,gle=()=>`Effective permissions`,_le=((e={},t={})=>(t.locale??U())===`fr`?hle(e):gle(e)),vle=()=>`Aucun`,yle=()=>`None`,ble=((e={},t={})=>(t.locale??U())===`fr`?vle(e):yle(e)),xle=()=>`Défaut`,Sle=()=>`Default`,Cle=((e={},t={})=>(t.locale??U())===`fr`?xle(e):Sle(e)),wle=()=>`Direct`,Tle=()=>`Direct`,Ele=((e={},t={})=>(t.locale??U())===`fr`?wle(e):Tle(e)),Dle=()=>`Tous les agents (aucun groupe)`,Ole=()=>`All agents (no group)`,kle=((e={},t={})=>(t.locale??U())===`fr`?Dle(e):Ole(e)),Ale=e=>`Groupe : ${e?.group}`,jle=e=>`Group: ${e?.group}`,Mle=((e,t={})=>(t.locale??U())===`fr`?Ale(e):jle(e)),Nle=()=>`Commune`,Ple=()=>`Common`,Fle=((e={},t={})=>(t.locale??U())===`fr`?Nle(e):Ple(e)),Ile=()=>`Perso`,Lle=()=>`Personal`,Rle=((e={},t={})=>(t.locale??U())===`fr`?Ile(e):Lle(e)),zle=()=>`Groupes`,Ble=()=>`Groups`,Vle=((e={},t={})=>(t.locale??U())===`fr`?zle(e):Ble(e)),Hle=()=>`Regroupez des utilisateurs et partagez des agents par groupe. Chaque membre hérite des agents du groupe en plus de ses agents directs.`,Ule=()=>`Group users and share agents by group. Each member inherits the group's agents on top of their direct agents.`,Wle=((e={},t={})=>(t.locale??U())===`fr`?Hle(e):Ule(e)),Gle=()=>`Nouveau groupe`,Kle=()=>`New group`,qle=((e={},t={})=>(t.locale??U())===`fr`?Gle(e):Kle(e)),Jle=()=>`Aucun groupe pour le moment.`,Yle=()=>`No groups yet.`,Xle=((e={},t={})=>(t.locale??U())===`fr`?Jle(e):Yle(e)),Zle=()=>`Nom`,Qle=()=>`Name`,$le=((e={},t={})=>(t.locale??U())===`fr`?Zle(e):Qle(e)),eue=()=>`Membres`,tue=()=>`Members`,nue=((e={},t={})=>(t.locale??U())===`fr`?eue(e):tue(e)),rue=()=>`Agents`,iue=()=>`Agents`,aue=((e={},t={})=>(t.locale??U())===`fr`?rue(e):iue(e)),oue=()=>`Chartes`,sue=()=>`Charts`,cue=((e={},t={})=>(t.locale??U())===`fr`?oue(e):sue(e)),lue=()=>`Filtrer les groupes (nom, membre, agent, charte)…`,uue=()=>`Filter groups (name, member, agent, chart)…`,due=((e={},t={})=>(t.locale??U())===`fr`?lue(e):uue(e)),fue=()=>`Gérer`,pue=()=>`Manage`,mue=((e={},t={})=>(t.locale??U())===`fr`?fue(e):pue(e)),hue=()=>`Renommer`,gue=()=>`Rename`,_ue=((e={},t={})=>(t.locale??U())===`fr`?hue(e):gue(e)),vue=()=>`Supprimer`,yue=()=>`Delete`,bue=((e={},t={})=>(t.locale??U())===`fr`?vue(e):yue(e)),xue=()=>`Enregistrer`,Sue=()=>`Save`,Cue=((e={},t={})=>(t.locale??U())===`fr`?xue(e):Sue(e)),wue=()=>`Annuler`,Tue=()=>`Cancel`,Eue=((e={},t={})=>(t.locale??U())===`fr`?wue(e):Tue(e)),Due=()=>`Nouveau groupe`,Oue=()=>`New group`,kue=((e={},t={})=>(t.locale??U())===`fr`?Due(e):Oue(e)),Aue=()=>`Renommer le groupe`,jue=()=>`Rename group`,Mue=((e={},t={})=>(t.locale??U())===`fr`?Aue(e):jue(e)),Nue=()=>`Le nom est libre ; un identifiant stable est généré automatiquement.`,Pue=()=>`The name is free-form; a stable identifier is generated automatically.`,Fue=((e={},t={})=>(t.locale??U())===`fr`?Nue(e):Pue(e)),Iue=()=>`Nom`,Lue=()=>`Name`,Rue=((e={},t={})=>(t.locale??U())===`fr`?Iue(e):Lue(e)),zue=()=>`Description`,Bue=()=>`Description`,Vue=((e={},t={})=>(t.locale??U())===`fr`?zue(e):Bue(e)),Hue=e=>`Supprimer le groupe « ${e?.name} » ?`,Uue=e=>`Delete group "${e?.name}"?`,Wue=((e,t={})=>(t.locale??U())===`fr`?Hue(e):Uue(e)),Gue=()=>`Cette action supprime le groupe, ses adhésions et les agents partagés. Elle est irréversible.`,Kue=()=>`This deletes the group, its memberships and shared agents. It cannot be undone.`,que=((e={},t={})=>(t.locale??U())===`fr`?Gue(e):Kue(e)),Jue=()=>`Supprimer le groupe`,Yue=()=>`Delete group`,Xue=((e={},t={})=>(t.locale??U())===`fr`?Jue(e):Yue(e)),Zue=e=>`Gérer « ${e?.name} »`,Que=e=>`Manage "${e?.name}"`,$ue=((e,t={})=>(t.locale??U())===`fr`?Zue(e):Que(e)),ede=()=>`Ajoutez ou retirez des membres et partagez des agents découverts avec ce groupe.`,tde=()=>`Add or remove members and share discovered agents with this group.`,nde=((e={},t={})=>(t.locale??U())===`fr`?ede(e):tde(e)),rde=()=>`Membres`,ide=()=>`Members`,ade=((e={},t={})=>(t.locale??U())===`fr`?rde(e):ide(e)),ode=()=>`Rechercher un utilisateur…`,sde=()=>`Search a user…`,cde=((e={},t={})=>(t.locale??U())===`fr`?ode(e):sde(e)),lde=()=>`Agents partagés`,ude=()=>`Shared agents`,dde=((e={},t={})=>(t.locale??U())===`fr`?lde(e):ude(e)),fde=()=>`Rechercher un agent…`,pde=()=>`Search an agent…`,mde=((e={},t={})=>(t.locale??U())===`fr`?fde(e):pde(e)),hde=()=>`Aucun résultat.`,gde=()=>`No results.`,_de=((e={},t={})=>(t.locale??U())===`fr`?hde(e):gde(e)),vde=()=>`Tout sélectionner`,yde=()=>`Select all`,bde=((e={},t={})=>(t.locale??U())===`fr`?vde(e):yde(e)),xde=()=>`Précédent`,Sde=()=>`Previous`,Cde=((e={},t={})=>(t.locale??U())===`fr`?xde(e):Sde(e)),wde=()=>`Suivant`,Tde=()=>`Next`,Ede=((e={},t={})=>(t.locale??U())===`fr`?wde(e):Tde(e)),Dde=e=>`Page ${e?.page} sur ${e?.pages}`,Ode=e=>`Page ${e?.page} of ${e?.pages}`,kde=((e,t={})=>(t.locale??U())===`fr`?Dde(e):Ode(e)),Ade=()=>`Administrateur`,jde=()=>`Admin`,Mde=((e={},t={})=>(t.locale??U())===`fr`?Ade(e):jde(e)),Nde=()=>`Utilisateur`,Pde=()=>`User`,Fde=((e={},t={})=>(t.locale??U())===`fr`?Nde(e):Pde(e)),Ide=()=>`En attente`,Lde=()=>`Pending`,Rde=((e={},t={})=>(t.locale??U())===`fr`?Ide(e):Lde(e)),zde=e=>`Basculer l'adhésion de ${e?.user}`,Bde=e=>`Toggle membership of ${e?.user}`,Vde=((e,t={})=>(t.locale??U())===`fr`?zde(e):Bde(e)),Hde=e=>`Partager l'agent ${e?.name}`,Ude=e=>`Share agent ${e?.name}`,Wde=((e,t={})=>(t.locale??U())===`fr`?Hde(e):Ude(e)),Gde=()=>`Chargement…`,Kde=()=>`Loading…`,qde=((e={},t={})=>(t.locale??U())===`fr`?Gde(e):Kde(e)),Jde=()=>`Chargement des agents…`,Yde=()=>`Loading agents…`,Xde=((e={},t={})=>(t.locale??U())===`fr`?Jde(e):Yde(e)),Zde=()=>`Aucun utilisateur.`,Qde=()=>`No users.`,$de=((e={},t={})=>(t.locale??U())===`fr`?Zde(e):Qde(e)),efe=()=>`Aucune instance configurée.`,tfe=()=>`No instances configured.`,nfe=((e={},t={})=>(t.locale??U())===`fr`?efe(e):tfe(e)),rfe=()=>`Aucun agent découvert.`,ife=()=>`No discovered agents.`,afe=((e={},t={})=>(t.locale??U())===`fr`?rfe(e):ife(e)),ofe=()=>`Instance hors ligne ; agents indisponibles.`,sfe=()=>`Instance offline; agents unavailable.`,cfe=((e={},t={})=>(t.locale??U())===`fr`?ofe(e):sfe(e)),lfe=()=>`hors ligne`,ufe=()=>`offline`,dfe=((e={},t={})=>(t.locale??U())===`fr`?lfe(e):ufe(e)),ffe=()=>`retiré`,pfe=()=>`removed`,mfe=((e={},t={})=>(t.locale??U())===`fr`?ffe(e):pfe(e)),hfe=()=>`Agent par défaut de l'instance`,gfe=()=>`Instance default agent`,_fe=((e={},t={})=>(t.locale??U())===`fr`?hfe(e):gfe(e)),vfe=()=>`Chartes`,yfe=()=>`Charts`,bfe=((e={},t={})=>(t.locale??U())===`fr`?vfe(e):yfe(e)),xfe=()=>`Aucune charte disponible pour ce groupe pour l'instant. Demandez à un administrateur d'ajouter des chartes au pool de ce groupe.`,Sfe=()=>`No charts available for this group yet. Ask an admin to add charts to this group's pool.`,Cfe=((e={},t={})=>(t.locale??U())===`fr`?xfe(e):Sfe(e)),wfe=()=>`Ajoutez des chartes au pool de ce groupe ci-dessous, puis sélectionnez celles que le groupe propose.`,Tfe=()=>`Add charts to this group's pool below, then select which ones the group offers.`,Efe=((e={},t={})=>(t.locale??U())===`fr`?wfe(e):Tfe(e)),Dfe=()=>`Ajouter une charte au pool…`,Ofe=()=>`Add a chart to the pool…`,kfe=((e={},t={})=>(t.locale??U())===`fr`?Dfe(e):Ofe(e)),Afe=e=>`Retirer ${e?.name} du pool`,jfe=e=>`Remove ${e?.name} from the pool`,Mfe=((e,t={})=>(t.locale??U())===`fr`?Afe(e):jfe(e)),Nfe=e=>`Proposer la charte ${e?.name} à ce groupe`,Pfe=e=>`Offer chart ${e?.name} to this group`,Ffe=((e,t={})=>(t.locale??U())===`fr`?Nfe(e):Pfe(e)),Ife=()=>`Charte par défaut du groupe`,Lfe=()=>`Group default chart`,Rfe=((e={},t={})=>(t.locale??U())===`fr`?Ife(e):Lfe(e)),zfe=()=>`Définir par défaut`,Bfe=()=>`Set as default`,Vfe=((e={},t={})=>(t.locale??U())===`fr`?zfe(e):Bfe(e)),Hfe=()=>`Gestionnaire`,Ufe=()=>`Manager`,Wfe=((e={},t={})=>(t.locale??U())===`fr`?Hfe(e):Ufe(e)),Gfe=()=>`Promouvoir gestionnaire`,Kfe=()=>`Promote to manager`,qfe=((e={},t={})=>(t.locale??U())===`fr`?Gfe(e):Kfe(e)),Jfe=()=>`Retirer gestionnaire`,Yfe=()=>`Remove manager`,Xfe=((e={},t={})=>(t.locale??U())===`fr`?Jfe(e):Yfe(e)),Zfe=()=>`Changement de gestionnaire refusé`,Qfe=()=>`Manager change rejected`,$fe=((e={},t={})=>(t.locale??U())===`fr`?Zfe(e):Qfe(e)),epe=()=>`Mise à jour de la charte refusée`,tpe=()=>`Chart update rejected`,npe=((e={},t={})=>(t.locale??U())===`fr`?epe(e):tpe(e)),rpe=()=>`Enregistrement du groupe refusé`,ipe=()=>`Group save rejected`,ape=((e={},t={})=>(t.locale??U())===`fr`?rpe(e):ipe(e)),ope=()=>`Suppression du groupe refusée`,spe=()=>`Group deletion rejected`,cpe=((e={},t={})=>(t.locale??U())===`fr`?ope(e):spe(e)),lpe=()=>`Mise à jour de l'adhésion refusée`,upe=()=>`Membership update rejected`,dpe=((e={},t={})=>(t.locale??U())===`fr`?lpe(e):upe(e)),fpe=()=>`Partage de l'agent refusé`,ppe=()=>`Agent sharing rejected`,mpe=((e={},t={})=>(t.locale??U())===`fr`?fpe(e):ppe(e)),hpe=()=>`Réordonner cet onglet`,gpe=()=>`Reorder this tab`,_pe=((e={},t={})=>(t.locale??U())===`fr`?hpe(e):gpe(e)),vpe=()=>`Réglages`,ype=()=>`Settings`,bpe=((e={},t={})=>(t.locale??U())===`fr`?vpe(e):ype(e)),xpe=()=>`← Retour au chat`,Spe=()=>`← Back to chat`,Cpe=((e={},t={})=>(t.locale??U())===`fr`?xpe(e):Spe(e)),wpe=()=>`Réglages`,Tpe=()=>`Settings`,Epe=((e={},t={})=>(t.locale??U())===`fr`?wpe(e):Tpe(e)),Dpe=()=>`Personnel`,Ope=()=>`Personal`,kpe=((e={},t={})=>(t.locale??U())===`fr`?Dpe(e):Ope(e)),Ape=()=>`Plateforme`,jpe=()=>`Platform`,Mpe=((e={},t={})=>(t.locale??U())===`fr`?Ape(e):jpe(e)),Npe=()=>`Accès & utilisateurs`,Ppe=()=>`Access & users`,Fpe=((e={},t={})=>(t.locale??U())===`fr`?Npe(e):Ppe(e)),Ipe=()=>`Observabilité`,Lpe=()=>`Observability`,Rpe=((e={},t={})=>(t.locale??U())===`fr`?Ipe(e):Lpe(e)),zpe=()=>`Fermer`,Bpe=()=>`Close`,Vpe=((e={},t={})=>(t.locale??U())===`fr`?zpe(e):Bpe(e)),Hpe=()=>`héritée`,Upe=()=>`inherited`,Wpe=((e={},t={})=>(t.locale??U())===`fr`?Hpe(e):Upe(e)),Gpe=()=>`Revenir à la valeur héritée`,Kpe=()=>`Back to the inherited value`,qpe=((e={},t={})=>(t.locale??U())===`fr`?Gpe(e):Kpe(e)),Jpe=()=>`Application…`,Ype=()=>`Applying…`,Xpe=((e={},t={})=>(t.locale??U())===`fr`?Jpe(e):Ype(e)),Zpe=()=>`Échec de l’application.`,Qpe=()=>`Failed to apply.`,$pe=((e={},t={})=>(t.locale??U())===`fr`?Zpe(e):Qpe(e)),eme=()=>`Réessayer`,tme=()=>`Retry`,nme=((e={},t={})=>(t.locale??U())===`fr`?eme(e):tme(e)),rme=()=>`Réflexion`,ime=()=>`Reasoning`,ame=((e={},t={})=>(t.locale??U())===`fr`?rme(e):ime(e)),ome=()=>`Vitesse`,sme=()=>`Speed`,cme=((e={},t={})=>(t.locale??U())===`fr`?ome(e):sme(e)),lme=()=>`Hérité`,ume=()=>`Inherited`,dme=((e={},t={})=>(t.locale??U())===`fr`?lme(e):ume(e)),fme=()=>`Rapide`,pme=()=>`Fast`,mme=((e={},t={})=>(t.locale??U())===`fr`?fme(e):pme(e)),hme=()=>`Standard`,gme=()=>`Standard`,_me=((e={},t={})=>(t.locale??U())===`fr`?hme(e):gme(e)),vme=()=>`Tous les réglages de session`,yme=()=>`All session settings`,bme=((e={},t={})=>(t.locale??U())===`fr`?vme(e):yme(e)),xme=()=>`Réglages de session`,Sme=()=>`Session settings`,Cme=((e={},t={})=>(t.locale??U())===`fr`?xme(e):Sme(e)),wme=()=>`Réglages appliqués à cette conversation.`,Tme=()=>`Settings applied to this conversation.`,Eme=((e={},t={})=>(t.locale??U())===`fr`?wme(e):Tme(e)),Dme=()=>`Génération`,Ome=()=>`Generation`,kme=((e={},t={})=>(t.locale??U())===`fr`?Dme(e):Ome(e)),Ame=()=>`Session`,jme=()=>`Session`,Mme=((e={},t={})=>(t.locale??U())===`fr`?Ame(e):jme(e)),Nme=()=>`Instance`,Pme=()=>`Instance`,Fme=((e={},t={})=>(t.locale??U())===`fr`?Nme(e):Pme(e)),Ime=()=>`Réflexion par défaut`,Lme=()=>`Default reasoning`,Rme=((e={},t={})=>(t.locale??U())===`fr`?Ime(e):Lme(e)),zme=()=>`Agent`,Bme=()=>`Agent`,Vme=((e={},t={})=>(t.locale??U())===`fr`?zme(e):Bme(e)),Hme=()=>`Actions`,Ume=()=>`Actions`,Wme=((e={},t={})=>(t.locale??U())===`fr`?Hme(e):Ume(e)),Gme=()=>`Contexte`,Kme=()=>`Context`,qme=((e={},t={})=>(t.locale??U())===`fr`?Gme(e):Kme(e)),Jme=e=>`${e?.pct} % · ${e?.used} / ${e?.total} jetons`,Yme=e=>`${e?.pct}% · ${e?.used} / ${e?.total} tokens`,Xme=((e,t={})=>(t.locale??U())===`fr`?Jme(e):Yme(e)),Zme=()=>`Verbosité`,Qme=()=>`Verbosity`,$me=((e={},t={})=>(t.locale??U())===`fr`?Zme(e):Qme(e)),ehe=e=>`${e?.level} · fixée`,the=e=>`${e?.level} · pinned`,nhe=((e,t={})=>(t.locale??U())===`fr`?ehe(e):the(e)),rhe=()=>`Fixée par la passerelle pour un streaming complet.`,ihe=()=>`Pinned by the bridge for complete streaming.`,ahe=((e={},t={})=>(t.locale??U())===`fr`?rhe(e):ihe(e)),ohe=()=>`Coût / jetons`,she=()=>`Cost / tokens`,che=((e={},t={})=>(t.locale??U())===`fr`?ohe(e):she(e)),lhe=e=>`~${e?.cost} $ · ${e?.tokens} jetons`,uhe=e=>`~$${e?.cost} · ${e?.tokens} tokens`,dhe=((e,t={})=>(t.locale??U())===`fr`?lhe(e):uhe(e)),fhe=e=>`~${e?.cost} $`,phe=e=>`~$${e?.cost}`,mhe=((e,t={})=>(t.locale??U())===`fr`?fhe(e):phe(e)),hhe=e=>`${e?.tokens} jetons`,ghe=e=>`${e?.tokens} tokens`,_he=((e,t={})=>(t.locale??U())===`fr`?hhe(e):ghe(e)),vhe=()=>`Compacter le contexte`,yhe=()=>`Compact the context`,bhe=((e={},t={})=>(t.locale??U())===`fr`?vhe(e):yhe(e)),xhe=()=>`Compacter le contexte ?`,She=()=>`Compact the context?`,Che=((e={},t={})=>(t.locale??U())===`fr`?xhe(e):She(e)),whe=()=>`L’agent résume la conversation pour libérer de l’espace dans la fenêtre de contexte. Les messages restent visibles ici.`,The=()=>`The agent summarizes the conversation to free space in the context window. Messages stay visible here.`,Ehe=((e={},t={})=>(t.locale??U())===`fr`?whe(e):The(e)),Dhe=()=>`Compacter`,Ohe=()=>`Compact`,khe=((e={},t={})=>(t.locale??U())===`fr`?Dhe(e):Ohe(e)),Ahe=()=>`Réinitialiser la session`,jhe=()=>`Reset the session`,Mhe=((e={},t={})=>(t.locale??U())===`fr`?Ahe(e):jhe(e)),Nhe=()=>`Réinitialiser la session ?`,Phe=()=>`Reset the session?`,Fhe=((e={},t={})=>(t.locale??U())===`fr`?Nhe(e):Phe(e)),Ihe=()=>`La session de l’agent repart à zéro et se réhydrate depuis la conversation au prochain message. Aucun message n’est supprimé.`,Lhe=()=>`The agent session starts fresh and re-hydrates from the conversation on the next message. No message is deleted.`,Rhe=((e={},t={})=>(t.locale??U())===`fr`?Ihe(e):Lhe(e)),zhe=()=>`Réinitialiser`,Bhe=()=>`Reset`,Vhe=((e={},t={})=>(t.locale??U())===`fr`?zhe(e):Bhe(e)),Hhe=()=>`Demande envoyée à l’agent.`,Uhe=()=>`Request sent to the agent.`,Whe=((e={},t={})=>(t.locale??U())===`fr`?Hhe(e):Uhe(e)),Ghe=()=>`Échec de l’action.`,Khe=()=>`Action failed.`,qhe=((e={},t={})=>(t.locale??U())===`fr`?Ghe(e):Khe(e)),Jhe=()=>`Fichiers d’agent`,Yhe=()=>`Agent files`,Xhe=((e={},t={})=>(t.locale??U())===`fr`?Jhe(e):Yhe(e)),Zhe=()=>`Fichiers de l’espace de travail de l’agent (règles, identité, outils, mémoire). Un non-administrateur voit les fichiers des agents auxquels il a accès ; la jauge mesure l’usage du budget bootstrap par fichier ; l’écriture est réservée aux administrateurs et chaque écriture est auditée.`,Qhe=()=>`Agent workspace files (rules, identity, tools, memory). A non-administrator sees the files of the agents they have access to; the gauge tracks each file's bootstrap-budget usage; writes are admin-only and every write is audited.`,$he=((e={},t={})=>(t.locale??U())===`fr`?Zhe(e):Qhe(e)),ege=()=>`Instance`,tge=()=>`Instance`,nge=((e={},t={})=>(t.locale??U())===`fr`?ege(e):tge(e)),rge=()=>`Agent`,ige=()=>`Agent`,age=((e={},t={})=>(t.locale??U())===`fr`?rge(e):ige(e)),oge=()=>`Aucun agent disponible.`,sge=()=>`No agent available.`,cge=((e={},t={})=>(t.locale??U())===`fr`?oge(e):sge(e)),lge=()=>`Aucun fichier.`,uge=()=>`No files.`,dge=((e={},t={})=>(t.locale??U())===`fr`?lge(e):uge(e)),fge=()=>`Bridge injoignable — impossible de lister les fichiers.`,pge=()=>`Bridge unreachable — cannot list the files.`,mge=((e={},t={})=>(t.locale??U())===`fr`?fge(e):pge(e)),hge=()=>`absent`,gge=()=>`missing`,_ge=((e={},t={})=>(t.locale??U())===`fr`?hge(e):gge(e)),vge=e=>`${e?.size} ko`,yge=e=>`${e?.size} kB`,bge=((e,t={})=>(t.locale??U())===`fr`?vge(e):yge(e)),xge=e=>`${e?.pct} %`,Sge=e=>`${e?.pct}%`,Cge=((e,t={})=>(t.locale??U())===`fr`?xge(e):Sge(e)),wge=()=>`Proche de la limite bootstrap`,Tge=()=>`Near the bootstrap limit`,Ege=((e={},t={})=>(t.locale??U())===`fr`?wge(e):Tge(e)),Dge=e=>`Budget total : ${e?.used} ko / ${e?.total} ko (${e?.pct} %)`,Oge=e=>`Total budget: ${e?.used} kB / ${e?.total} kB (${e?.pct}%)`,kge=((e,t={})=>(t.locale??U())===`fr`?Dge(e):Oge(e)),Age=()=>`Éditer`,jge=()=>`Edit`,Mge=((e={},t={})=>(t.locale??U())===`fr`?Age(e):jge(e)),Nge=()=>`Consulter`,Pge=()=>`View`,Fge=((e={},t={})=>(t.locale??U())===`fr`?Nge(e):Pge(e)),Ige=e=>`${e?.name}`,Lge=e=>`${e?.name}`,Rge=((e,t={})=>(t.locale??U())===`fr`?Ige(e):Lge(e)),zge=e=>`Agent ${e?.agent} · instance ${e?.instance}`,Bge=e=>`Agent ${e?.agent} · instance ${e?.instance}`,Vge=((e,t={})=>(t.locale??U())===`fr`?zge(e):Bge(e)),Hge=()=>`lecture seule`,Uge=()=>`read-only`,Wge=((e={},t={})=>(t.locale??U())===`fr`?Hge(e):Uge(e)),Gge=()=>`Source markdown brute — l’aperçu rendu n’est pas disponible ici.`,Kge=()=>`Raw markdown source — a rendered preview is not available here.`,qge=((e={},t={})=>(t.locale??U())===`fr`?Gge(e):Kge(e)),Jge=e=>`${e?.count} / ${e?.max} caractères`,Yge=e=>`${e?.count} / ${e?.max} characters`,Xge=((e,t={})=>(t.locale??U())===`fr`?Jge(e):Yge(e)),Zge=()=>`Enregistrer`,Qge=()=>`Save`,$ge=((e={},t={})=>(t.locale??U())===`fr`?Zge(e):Qge(e)),e_e=e=>`${e?.name} enregistré.`,t_e=e=>`${e?.name} saved.`,n_e=((e,t={})=>(t.locale??U())===`fr`?e_e(e):t_e(e)),r_e=()=>`Échec de l’enregistrement.`,i_e=()=>`Save failed.`,a_e=((e={},t={})=>(t.locale??U())===`fr`?r_e(e):i_e(e)),o_e=()=>`Impossible de charger le fichier.`,s_e=()=>`Could not load the file.`,c_e=((e={},t={})=>(t.locale??U())===`fr`?o_e(e):s_e(e)),l_e=()=>`Le fichier a changé depuis le chargement. Rechargez avant d’enregistrer (vos modifications sont conservées).`,u_e=()=>`The file changed since it was loaded. Reload before saving (your edits are kept).`,d_e=((e={},t={})=>(t.locale??U())===`fr`?l_e(e):u_e(e)),f_e=()=>`Recharger`,p_e=()=>`Reload`,m_e=((e={},t={})=>(t.locale??U())===`fr`?f_e(e):p_e(e)),h_e=e=>`Écrire ${e?.name} ?`,g_e=e=>`Write ${e?.name}?`,__e=((e,t={})=>(t.locale??U())===`fr`?h_e(e):g_e(e)),v_e=e=>`Le fichier sera écrit sur l’agent ${e?.agent}. Une révision complète avant/après est conservée.`,y_e=e=>`The file will be written to agent ${e?.agent}. A full before/after revision is kept.`,b_e=((e,t={})=>(t.locale??U())===`fr`?v_e(e):y_e(e)),x_e=e=>`${e?.added} ligne(s) ajoutée(s) · ${e?.removed} ligne(s) retirée(s)`,S_e=e=>`${e?.added} line(s) added · ${e?.removed} line(s) removed`,C_e=((e,t={})=>(t.locale??U())===`fr`?x_e(e):S_e(e)),w_e=()=>`Ajoutées (extrait) :`,T_e=()=>`Added (sample):`,E_e=((e={},t={})=>(t.locale??U())===`fr`?w_e(e):T_e(e)),D_e=()=>`Retirées (extrait) :`,O_e=()=>`Removed (sample):`,k_e=((e={},t={})=>(t.locale??U())===`fr`?D_e(e):O_e(e)),A_e=()=>`Écrire le fichier`,j_e=()=>`Write the file`,M_e=((e={},t={})=>(t.locale??U())===`fr`?A_e(e):j_e(e)),N_e=()=>`Défauts de chat`,P_e=()=>`Chat defaults`,F_e=((e={},t={})=>(t.locale??U())===`fr`?N_e(e):P_e(e)),I_e=()=>`Réglages par défaut des nouvelles sessions de chat, lus depuis la configuration globale du gateway. Les réglages par chat et par agent restent prioritaires.`,L_e=()=>`Default settings for new chat sessions, read from the gateway’s global configuration. Per-chat and per-agent settings keep precedence.`,R_e=((e={},t={})=>(t.locale??U())===`fr`?I_e(e):L_e(e)),z_e=()=>`Réflexion par défaut`,B_e=()=>`Default thinking`,V_e=((e={},t={})=>(t.locale??U())===`fr`?z_e(e):B_e(e)),H_e=()=>`Niveau de raisonnement appliqué quand un chat ne définit pas le sien.`,U_e=()=>`Reasoning level applied when a chat does not set its own.`,W_e=((e={},t={})=>(t.locale??U())===`fr`?H_e(e):U_e(e)),G_e=()=>`Vitesse par défaut`,K_e=()=>`Default speed`,q_e=((e={},t={})=>(t.locale??U())===`fr`?G_e(e):K_e(e)),J_e=()=>`Mode rapide ou standard appliqué quand un chat ne définit pas le sien.`,Y_e=()=>`Fast or standard mode applied when a chat does not set its own.`,X_e=((e={},t={})=>(t.locale??U())===`fr`?J_e(e):Y_e(e)),Z_e=()=>`Bridge injoignable — impossible de lire les défauts globaux.`,Q_e=()=>`Bridge unreachable — cannot read the global defaults.`,$_e=((e={},t={})=>(t.locale??U())===`fr`?Z_e(e):Q_e(e)),eve=()=>`Enregistrer`,tve=()=>`Save`,nve=((e={},t={})=>(t.locale??U())===`fr`?eve(e):tve(e)),rve=()=>`Enregistré.`,ive=()=>`Saved.`,ave=((e={},t={})=>(t.locale??U())===`fr`?rve(e):ive(e)),ove=()=>`Échec de l’enregistrement — réessayez.`,sve=()=>`Save failed — try again.`,cve=((e={},t={})=>(t.locale??U())===`fr`?ove(e):sve(e)),lve=()=>`Compatibilité`,uve=()=>`Compatibility`,dve=((e={},t={})=>(t.locale??U())===`fr`?lve(e):uve(e)),fve=()=>`Aucun relevé de compatibilité pour l’instant — le sondage tourne toutes les 5 minutes.`,pve=()=>`No compatibility reading yet — the poll runs every 5 minutes.`,mve=((e={},t={})=>(t.locale??U())===`fr`?fve(e):pve(e)),hve=()=>`Commit git exact de cette image (vérité de build)`,gve=()=>`Exact git commit of this image (build truth)`,_ve=((e={},t={})=>(t.locale??U())===`fr`?hve(e):gve(e)),vve=e=>`⚠ image construite en ${e?.build} — le conteneur ne correspond pas à sa version`,yve=e=>`⚠ image built at ${e?.build} — the container does not match its version`,bve=((e,t={})=>(t.locale??U())===`fr`?vve(e):yve(e)),xve=()=>`Contrat bridge :`,Sve=()=>`Bridge contract:`,Cve=((e={},t={})=>(t.locale??U())===`fr`?xve(e):Sve(e)),wve=()=>`inconnue`,Tve=()=>`unknown`,Eve=((e={},t={})=>(t.locale??U())===`fr`?wve(e):Tve(e)),Dve=()=>`Dernier sondage en échec — affichage du dernier relevé valide.`,Ove=()=>`Last poll failed — showing the last good reading.`,kve=((e={},t={})=>(t.locale??U())===`fr`?Dve(e):Ove(e)),Ave=()=>`Ce bridge ne publie pas de manifeste de compatibilité (version antérieure) — politique héritée : seuls le modèle et la réflexion sont proposés.`,jve=()=>`This bridge does not publish a compatibility manifest (older version) — legacy policy: only model and reasoning are offered.`,Mve=((e={},t={})=>(t.locale??U())===`fr`?Ave(e):jve(e)),Nve=e=>`de ${e?.min} à ${e?.max} (validé)`,Pve=e=>`from ${e?.min} to ${e?.max} (validated)`,Fve=((e,t={})=>(t.locale??U())===`fr`?Nve(e):Pve(e)),Ive=()=>`1 version validée`,Lve=()=>`1 validated version`,Rve=((e={},t={})=>(t.locale??U())===`fr`?Ive(e):Lve(e)),zve=e=>`${e?.count} versions validées`,Bve=e=>`${e?.count} validated versions`,Vve=((e,t={})=>(t.locale??U())===`fr`?zve(e):Bve(e)),Hve=()=>`Validées au banc`,Uve=()=>`Bench-validated`,Wve=((e={},t={})=>(t.locale??U())===`fr`?Hve(e):Uve(e)),Gve=()=>`Aucune connexion connue du relevé de compatibilité.`,Kve=()=>`No connection known to the compatibility reading.`,qve=((e={},t={})=>(t.locale??U())===`fr`?Gve(e):Kve(e)),Jve=()=>`✓ dans le support`,Yve=()=>`✓ within support`,Xve=((e={},t={})=>(t.locale??U())===`fr`?Jve(e):Yve(e)),Zve=()=>`⚠ au-delà du validé`,Qve=()=>`⚠ beyond validated`,$ve=((e={},t={})=>(t.locale??U())===`fr`?Zve(e):Qve(e)),eye=()=>`? inconnue`,tye=()=>`? unknown`,nye=((e={},t={})=>(t.locale??U())===`fr`?eye(e):tye(e)),rye=()=>`Hermes : adaptateur à venir.`,iye=()=>`Hermes: adapter coming.`,aye=((e={},t={})=>(t.locale??U())===`fr`?rye(e):iye(e)),oye=e=>`Non supporté par cette instance (version gateway ${e?.version}).`,sye=e=>`Not supported by this instance (gateway version ${e?.version}).`,cye=((e,t={})=>(t.locale??U())===`fr`?oye(e):sye(e)),lye=()=>`Non supporté par cette instance (version gateway inconnue).`,uye=()=>`Not supported by this instance (unknown gateway version).`,dye=((e={},t={})=>(t.locale??U())===`fr`?lye(e):uye(e)),fye=e=>`${e?.count} sous-agent`,pye=e=>`${e?.count} sub-agent`,mye=((e,t={})=>(t.locale??U())===`fr`?fye(e):pye(e)),hye=e=>`${e?.count} sous-agents`,gye=e=>`${e?.count} sub-agents`,_ye=((e,t={})=>(t.locale??U())===`fr`?hye(e):gye(e)),vye=()=>`en cours`,yye=()=>`running`,bye=((e={},t={})=>(t.locale??U())===`fr`?vye(e):yye(e)),xye=()=>`terminé`,Sye=()=>`done`,Cye=((e={},t={})=>(t.locale??U())===`fr`?xye(e):Sye(e)),wye=()=>`en échec`,Tye=()=>`failed`,Eye=((e={},t={})=>(t.locale??U())===`fr`?wye(e):Tye(e)),Dye=()=>`Le sous-agent a échoué (aucune raison rapportée).`,Oye=()=>`The sub-agent failed (no reason reported).`,kye=((e={},t={})=>(t.locale??U())===`fr`?Dye(e):Oye(e)),Aye=()=>`Sous-agent`,jye=()=>`Sub-agent`,Mye=((e={},t={})=>(t.locale??U())===`fr`?Aye(e):jye(e)),Nye=()=>`Sous-agent`,Pye=()=>`Sub-agent`,Fye=((e={},t={})=>(t.locale??U())===`fr`?Nye(e):Pye(e)),Iye=()=>`Ouvrir le sous-agent`,Lye=()=>`Open the sub-agent`,Rye=((e={},t={})=>(t.locale??U())===`fr`?Iye(e):Lye(e)),zye=()=>`Fermer`,Bye=()=>`Close`,Vye=((e={},t={})=>(t.locale??U())===`fr`?zye(e):Bye(e)),Hye=()=>`Chargement…`,Uye=()=>`Loading…`,Wye=((e={},t={})=>(t.locale??U())===`fr`?Hye(e):Uye(e)),Gye=()=>`Outils`,Kye=()=>`Tools`,qye=((e={},t={})=>(t.locale??U())===`fr`?Gye(e):Kye(e)),Jye=()=>`Erreur`,Yye=()=>`Error`,Xye=((e={},t={})=>(t.locale??U())===`fr`?Jye(e):Yye(e)),Zye=()=>`Résultat`,Qye=()=>`Result`,$ye=((e={},t={})=>(t.locale??U())===`fr`?Zye(e):Qye(e)),ebe=()=>`Le sous-agent travaille…`,tbe=()=>`The sub-agent is working…`,nbe=((e={},t={})=>(t.locale??U())===`fr`?ebe(e):tbe(e)),rbe=()=>`Remonter au message`,ibe=()=>`Jump to the message`,abe=((e={},t={})=>(t.locale??U())===`fr`?rbe(e):ibe(e)),obe=()=>`Aller au message de l’agent principal qui a lancé ce sous-agent`,sbe=()=>`Go to the main agent's message that spawned this sub-agent`,cbe=((e={},t={})=>(t.locale??U())===`fr`?obe(e):sbe(e)),lbe=()=>`Afficher le prompt complet`,ube=()=>`Show the full prompt`,dbe=((e={},t={})=>(t.locale??U())===`fr`?lbe(e):ube(e)),fbe=()=>`Signaler une anomalie`,pbe=()=>`Report an issue`,mbe=((e={},t={})=>(t.locale??U())===`fr`?fbe(e):pbe(e)),hbe=()=>`Exporter`,gbe=()=>`Export`,_be=((e={},t={})=>(t.locale??U())===`fr`?hbe(e):gbe(e)),vbe=()=>`Télécharger la conversation du sous-agent (Markdown)`,ybe=()=>`Download the sub-agent's conversation (Markdown)`,bbe=((e={},t={})=>(t.locale??U())===`fr`?vbe(e):ybe(e)),xbe=()=>`Modèle`,Sbe=()=>`Model`,Cbe=((e={},t={})=>(t.locale??U())===`fr`?xbe(e):Sbe(e)),wbe=()=>`Fournisseur`,Tbe=()=>`Provider`,Ebe=((e={},t={})=>(t.locale??U())===`fr`?wbe(e):Tbe(e)),Dbe=()=>`Réflexion`,Obe=()=>`Reasoning`,kbe=((e={},t={})=>(t.locale??U())===`fr`?Dbe(e):Obe(e)),Abe=()=>`Vitesse`,jbe=()=>`Speed`,Mbe=((e={},t={})=>(t.locale??U())===`fr`?Abe(e):jbe(e)),Nbe=()=>`Rapide`,Pbe=()=>`Fast`,Fbe=((e={},t={})=>(t.locale??U())===`fr`?Nbe(e):Pbe(e)),Ibe=()=>`Standard`,Lbe=()=>`Standard`,Rbe=((e={},t={})=>(t.locale??U())===`fr`?Ibe(e):Lbe(e)),zbe=()=>`Portée`,Bbe=()=>`Scope`,Vbe=((e={},t={})=>(t.locale??U())===`fr`?zbe(e):Bbe(e)),Hbe=()=>`Rôle`,Ube=()=>`Role`,Wbe=((e={},t={})=>(t.locale??U())===`fr`?Hbe(e):Ube(e)),Gbe=()=>`Profondeur`,Kbe=()=>`Depth`,qbe=((e={},t={})=>(t.locale??U())===`fr`?Gbe(e):Kbe(e)),Jbe=()=>`Agent parent`,Ybe=()=>`Parent agent`,Xbe=((e={},t={})=>(t.locale??U())===`fr`?Jbe(e):Ybe(e)),Zbe=()=>`Avancé`,Qbe=()=>`Advanced`,$be=((e={},t={})=>(t.locale??U())===`fr`?Zbe(e):Qbe(e)),exe=()=>`Contexte`,txe=()=>`Context`,nxe=((e={},t={})=>(t.locale??U())===`fr`?exe(e):txe(e)),rxe=()=>`Contexte « fork » : le transcript de l’agent parent a été branché dans le sous-agent`,ixe=()=>`"fork" context: the parent agent's transcript was branched into the sub-agent`,axe=((e={},t={})=>(t.locale??U())===`fr`?rxe(e):ixe(e)),oxe=()=>`Runtime`,sxe=()=>`Runtime`,cxe=((e={},t={})=>(t.locale??U())===`fr`?oxe(e):sxe(e)),lxe=()=>`Mode`,uxe=()=>`Mode`,dxe=((e={},t={})=>(t.locale??U())===`fr`?lxe(e):uxe(e)),fxe=()=>`Nettoyage`,pxe=()=>`Cleanup`,mxe=((e={},t={})=>(t.locale??U())===`fr`?fxe(e):pxe(e)),hxe=()=>`Sandbox`,gxe=()=>`Sandbox`,_xe=((e={},t={})=>(t.locale??U())===`fr`?hxe(e):gxe(e)),vxe=()=>`Passerelle`,yxe=()=>`Gateway`,bxe=((e={},t={})=>(t.locale??U())===`fr`?vxe(e):yxe(e)),xxe=()=>`Capacité`,Sxe=()=>`Capability`,Cxe=((e={},t={})=>(t.locale??U())===`fr`?xxe(e):Sxe(e)),wxe=()=>`Agent`,Txe=()=>`Agent`,Exe=((e={},t={})=>(t.locale??U())===`fr`?wxe(e):Txe(e)),Dxe=()=>`Étiquette`,Oxe=()=>`Label`,kxe=((e={},t={})=>(t.locale??U())===`fr`?Dxe(e):Oxe(e)),Axe=()=>`Contexte léger`,jxe=()=>`Light context`,Mxe=((e={},t={})=>(t.locale??U())===`fr`?Axe(e):jxe(e)),Nxe=()=>`activé`,Pxe=()=>`enabled`,Fxe=((e={},t={})=>(t.locale??U())===`fr`?Nxe(e):Pxe(e)),Ixe=()=>`désactivé`,Lxe=()=>`disabled`,Rxe=((e={},t={})=>(t.locale??U())===`fr`?Ixe(e):Lxe(e)),zxe=()=>`Session`,Bxe=()=>`Session`,Vxe=((e={},t={})=>(t.locale??U())===`fr`?zxe(e):Bxe(e)),Hxe=()=>`Durée`,Uxe=()=>`Runtime`,Wxe=((e={},t={})=>(t.locale??U())===`fr`?Hxe(e):Uxe(e)),Gxe=()=>`Jetons`,Kxe=()=>`Tokens`,qxe=((e={},t={})=>(t.locale??U())===`fr`?Gxe(e):Kxe(e)),Jxe=()=>`Coût estimé`,Yxe=()=>`Estimated cost`,Xxe=((e={},t={})=>(t.locale??U())===`fr`?Jxe(e):Yxe(e)),Zxe=()=>`Session archivée après la réponse (nettoyage « delete ») — interaction impossible`,Qxe=()=>`Session archived after its reply (cleanup "delete") — interaction unavailable`,$xe=((e={},t={})=>(t.locale??U())===`fr`?Zxe(e):Qxe(e)),eSe=()=>`Carte copiée depuis la conversation d'origine — interagissez avec le sous-agent depuis celle-ci`,tSe=()=>`Card copied from the source conversation — interact with the sub-agent from there`,nSe=((e={},t={})=>(t.locale??U())===`fr`?eSe(e):tSe(e)),rSe=()=>`Ne peut pas déléguer (feuille)`,iSe=()=>`Cannot delegate (leaf)`,aSe=((e={},t={})=>(t.locale??U())===`fr`?rSe(e):iSe(e)),oSe=()=>`Peut déléguer (orchestrateur)`,sSe=()=>`Can delegate (orchestrator)`,cSe=((e={},t={})=>(t.locale??U())===`fr`?oSe(e):sSe(e)),lSe=()=>`Échanges`,uSe=()=>`Conversation`,dSe=((e={},t={})=>(t.locale??U())===`fr`?lSe(e):uSe(e)),fSe=()=>`Le sous-agent répond…`,pSe=()=>`The sub-agent is replying…`,mSe=((e={},t={})=>(t.locale??U())===`fr`?fSe(e):pSe(e)),hSe=()=>`Échec de l’envoi au sous-agent`,gSe=()=>`Failed to reach the sub-agent`,_Se=((e={},t={})=>(t.locale??U())===`fr`?hSe(e):gSe(e)),vSe=()=>`Attendez la fin du sous-agent`,ySe=()=>`Wait for the sub-agent to finish`,bSe=((e={},t={})=>(t.locale??U())===`fr`?vSe(e):ySe(e)),xSe=()=>`Réponse en attente…`,SSe=()=>`Waiting for the reply…`,CSe=((e={},t={})=>(t.locale??U())===`fr`?xSe(e):SSe(e)),wSe=()=>`Joindre un fichier`,TSe=()=>`Attach a file`,ESe=((e={},t={})=>(t.locale??U())===`fr`?wSe(e):TSe(e)),DSe=()=>`Afficher / masquer les outils`,OSe=()=>`Show / hide the tools`,kSe=((e={},t={})=>(t.locale??U())===`fr`?DSe(e):OSe(e)),ASe=()=>`Retirer le fichier`,jSe=()=>`Remove the file`,MSe=((e={},t={})=>(t.locale??U())===`fr`?ASe(e):jSe(e)),NSe=()=>`Interagir avec le sous-agent`,PSe=()=>`Interact with the sub-agent`,FSe=((e={},t={})=>(t.locale??U())===`fr`?NSe(e):PSe(e)),ISe=()=>`Message au sous-agent…`,LSe=()=>`Message the sub-agent…`,RSe=((e={},t={})=>(t.locale??U())===`fr`?ISe(e):LSe(e)),zSe=()=>`Envoyer`,BSe=()=>`Send`,VSe=((e={},t={})=>(t.locale??U())===`fr`?zSe(e):BSe(e)),HSe=()=>`L’agent a délégué à un sous-agent — en attente de son retour…`,USe=()=>`The agent delegated to a sub-agent — waiting for its result…`,WSe=((e={},t={})=>(t.locale??U())===`fr`?HSe(e):USe(e)),GSe=e=>`L’agent a délégué à un sous-agent (« ${e?.task} ») — en attente de son retour…`,KSe=e=>`The agent delegated to a sub-agent ("${e?.task}") — waiting for its result…`,qSe=((e,t={})=>(t.locale??U())===`fr`?GSe(e):KSe(e)),JSe=e=>`L’agent a délégué à un sous-agent qui a échoué : ${e?.reason}`,YSe=e=>`The agent delegated to a sub-agent that failed: ${e?.reason}`,XSe=((e,t={})=>(t.locale??U())===`fr`?JSe(e):YSe(e)),ZSe=e=>`L’agent a délégué à un sous-agent (« ${e?.task} ») qui a échoué : ${e?.reason}`,QSe=e=>`The agent delegated to a sub-agent ("${e?.task}") that failed: ${e?.reason}`,$Se=((e,t={})=>(t.locale??U())===`fr`?ZSe(e):QSe(e)),eCe=()=>`L’agent a effectué des actions mais n’a pas renvoyé de réponse.`,tCe=()=>`The agent performed some actions but did not return a response.`,nCe=((e={},t={})=>(t.locale??U())===`fr`?eCe(e):tCe(e)),rCe=()=>`Endpoint manquant`,iCe=()=>`Endpoint missing`,aCe=((e={},t={})=>(t.locale??U())===`fr`?rCe(e):iCe(e)),oCe=()=>`Exportez les traces d'Atrium vers n'importe quel backend OpenTelemetry/OTLP (Grafana Tempo, Jaeger, Datadog, un collecteur OTEL). Tout se configure ici — aucune variable d'environnement.`,sCe=()=>`Export Atrium's traces to any OpenTelemetry/OTLP backend (Grafana Tempo, Jaeger, Datadog, an OTEL collector). Everything is configured here — no env vars.`,cCe=((e={},t={})=>(t.locale??U())===`fr`?oCe(e):sCe(e)),lCe=()=>`Endpoint OTLP/HTTP (traces)`,uCe=()=>`OTLP/HTTP endpoint (traces)`,dCe=((e={},t={})=>(t.locale??U())===`fr`?lCe(e):uCe(e)),fCe=()=>`En-têtes d'authentification (JSON)`,pCe=()=>`Auth headers (JSON)`,mCe=((e={},t={})=>(t.locale??U())===`fr`?fCe(e):pCe(e)),hCe=()=>`Configurés (chiffrés) — laisser vide pour conserver`,gCe=()=>`Set (encrypted) — leave blank to keep`,_Ce=((e={},t={})=>(t.locale??U())===`fr`?hCe(e):gCe(e)),vCe=()=>`Objet JSON, ex. Authorization = Bearer ...`,yCe=()=>`JSON object, e.g. Authorization = Bearer ...`,bCe=((e={},t={})=>(t.locale??U())===`fr`?vCe(e):yCe(e)),xCe=()=>`Enregistrer les en-têtes`,SCe=()=>`Save headers`,CCe=((e={},t={})=>(t.locale??U())===`fr`?xCe(e):SCe(e)),wCe=()=>`Effacer`,TCe=()=>`Clear`,ECe=((e={},t={})=>(t.locale??U())===`fr`?wCe(e):TCe(e)),DCe=()=>`L'authentification va dans les en-têtes, jamais dans l'URL. Les en-têtes sont chiffrés au repos.`,OCe=()=>`Auth goes in the headers, never in the URL. Headers are encrypted at rest.`,kCe=((e={},t={})=>(t.locale??U())===`fr`?DCe(e):OCe(e)),ACe=()=>`Rapports sous-agents`,jCe=()=>`Sub-agent reports`,MCe=((e={},t={})=>(t.locale??U())===`fr`?ACe(e):jCe(e)),NCe=()=>`Échec signalé`,PCe=()=>`Failure reported`,FCe=((e={},t={})=>(t.locale??U())===`fr`?NCe(e):PCe(e)),ICe=()=>`Signaler un échec de sous-agent`,LCe=()=>`Report a sub-agent failure`,RCe=((e={},t={})=>(t.locale??U())===`fr`?ICe(e):LCe(e)),zCe=e=>`Fige un instantané de « ${e?.label} » et de son contexte pour qu'un administrateur puisse analyser ce qui a échoué.`,BCe=e=>`Freeze a snapshot of "${e?.label}" and its context so an administrator can analyze what went wrong.`,VCe=((e,t={})=>(t.locale??U())===`fr`?zCe(e):BCe(e)),HCe=()=>`Votre signalement a été envoyé.`,UCe=()=>`Your report has been sent.`,WCe=((e={},t={})=>(t.locale??U())===`fr`?HCe(e):UCe(e)),GCe=()=>`Instantané figé — un administrateur peut désormais analyser cet échec.`,KCe=()=>`Snapshot frozen — an administrator can now analyze this failure.`,qCe=((e={},t={})=>(t.locale??U())===`fr`?GCe(e):KCe(e)),JCe=()=>`Qu'est-ce qui a échoué ?`,YCe=()=>`What went wrong?`,XCe=((e={},t={})=>(t.locale??U())===`fr`?JCe(e):YCe(e)),ZCe=()=>`Choisir une raison (facultatif)`,QCe=()=>`Pick a reason (optional)`,$Ce=((e={},t={})=>(t.locale??U())===`fr`?ZCe(e):QCe(e)),ewe=()=>`Il est resté bloqué / n'a jamais terminé`,twe=()=>`It hung / never finished`,nwe=((e={},t={})=>(t.locale??U())===`fr`?ewe(e):twe(e)),rwe=()=>`Il a terminé mais le résultat était faux`,iwe=()=>`It finished but the result was wrong`,awe=((e={},t={})=>(t.locale??U())===`fr`?rwe(e):iwe(e)),owe=()=>`Il a échoué avec une erreur`,swe=()=>`It failed with an error`,cwe=((e={},t={})=>(t.locale??U())===`fr`?owe(e):swe(e)),lwe=()=>`Autre`,uwe=()=>`Other`,dwe=((e={},t={})=>(t.locale??U())===`fr`?lwe(e):uwe(e)),fwe=()=>`Commentaire (facultatif)`,pwe=()=>`Comment (optional)`,mwe=((e={},t={})=>(t.locale??U())===`fr`?fwe(e):pwe(e)),hwe=()=>`Ajoutez tout détail utile au diagnostic…`,gwe=()=>`Add any detail that could help debug this…`,_we=((e={},t={})=>(t.locale??U())===`fr`?hwe(e):gwe(e)),vwe=()=>`Annuler`,ywe=()=>`Cancel`,bwe=((e={},t={})=>(t.locale??U())===`fr`?vwe(e):ywe(e)),xwe=()=>`Envoyer le signalement`,Swe=()=>`Send report`,Cwe=((e={},t={})=>(t.locale??U())===`fr`?xwe(e):Swe(e)),wwe=()=>`Envoi…`,Twe=()=>`Sending…`,Ewe=((e={},t={})=>(t.locale??U())===`fr`?wwe(e):Twe(e)),Dwe=()=>`Fermer`,Owe=()=>`Close`,kwe=((e={},t={})=>(t.locale??U())===`fr`?Dwe(e):Owe(e)),Awe=()=>`Signalements d'échecs de sous-agents`,jwe=()=>`Sub-agent failure reports`,Mwe=((e={},t={})=>(t.locale??U())===`fr`?Awe(e):jwe(e)),Nwe=()=>`Aucun signalement d'échec de sous-agent.`,Pwe=()=>`No sub-agent failure reports.`,Fwe=((e={},t={})=>(t.locale??U())===`fr`?Nwe(e):Pwe(e)),Iwe=()=>`La liste n'affiche que des métadonnées. Ouvrir le détail d'un signalement lit l'instantané figé et est`,Lwe=()=>`The list shows metadata only. Opening a report's detail reads the frozen snapshot and is`,Rwe=((e={},t={})=>(t.locale??U())===`fr`?Iwe(e):Lwe(e)),zwe=()=>`audité`,Bwe=()=>`audited`,Vwe=((e={},t={})=>(t.locale??U())===`fr`?zwe(e):Bwe(e)),Hwe=()=>`comme un accès au contenu d'un autre utilisateur. La contrepartie sans contenu de chaque signalement est dans l'onglet Anomalies.`,Uwe=()=>`as a cross-user content access. The content-free counterpart of each report is in the Anomalies tab.`,Wwe=((e={},t={})=>(t.locale??U())===`fr`?Hwe(e):Uwe(e)),Gwe=()=>`Quand`,Kwe=()=>`When`,qwe=((e={},t={})=>(t.locale??U())===`fr`?Gwe(e):Kwe(e)),Jwe=()=>`Raison`,Ywe=()=>`Reason`,Xwe=((e={},t={})=>(t.locale??U())===`fr`?Jwe(e):Ywe(e)),Zwe=()=>`En échec`,Qwe=()=>`Failed`,$we=((e={},t={})=>(t.locale??U())===`fr`?Zwe(e):Qwe(e)),eTe=()=>`Auteur`,tTe=()=>`Reporter`,nTe=((e={},t={})=>(t.locale??U())===`fr`?eTe(e):tTe(e)),rTe=()=>`Note`,iTe=()=>`Note`,aTe=((e={},t={})=>(t.locale??U())===`fr`?rTe(e):iTe(e)),oTe=()=>`Statut`,sTe=()=>`Status`,cTe=((e={},t={})=>(t.locale??U())===`fr`?oTe(e):sTe(e)),lTe=e=>`(via ${e?.operator})`,uTe=e=>`(via ${e?.operator})`,dTe=((e,t={})=>(t.locale??U())===`fr`?lTe(e):uTe(e)),fTe=()=>`Répondu`,pTe=()=>`Answered`,mTe=((e={},t={})=>(t.locale??U())===`fr`?fTe(e):pTe(e)),hTe=()=>`En attente`,gTe=()=>`Pending`,_Te=((e={},t={})=>(t.locale??U())===`fr`?hTe(e):gTe(e)),vTe=()=>`Voir le détail`,yTe=()=>`View detail`,bTe=((e={},t={})=>(t.locale??U())===`fr`?vTe(e):yTe(e)),xTe=()=>`Masquer le détail`,STe=()=>`Hide detail`,CTe=((e={},t={})=>(t.locale??U())===`fr`?xTe(e):STe(e)),wTe=()=>`Supprimer`,TTe=()=>`Delete`,ETe=((e={},t={})=>(t.locale??U())===`fr`?wTe(e):TTe(e)),DTe=()=>`Bloqué / jamais terminé`,OTe=()=>`Hung / never finished`,kTe=((e={},t={})=>(t.locale??U())===`fr`?DTe(e):OTe(e)),ATe=()=>`Résultat faux`,jTe=()=>`Wrong result`,MTe=((e={},t={})=>(t.locale??U())===`fr`?ATe(e):jTe(e)),NTe=()=>`Échec avec erreur`,PTe=()=>`Failed with an error`,FTe=((e={},t={})=>(t.locale??U())===`fr`?NTe(e):PTe(e)),ITe=()=>`Autre`,LTe=()=>`Other`,RTe=((e={},t={})=>(t.locale??U())===`fr`?ITe(e):LTe(e)),zTe=e=>`${e?.failed}/${e?.total} en échec`,BTe=e=>`${e?.failed}/${e?.total} failed`,VTe=((e,t={})=>(t.locale??U())===`fr`?zTe(e):BTe(e)),HTe=()=>`Commentaire de l'auteur`,UTe=()=>`Reporter comment`,WTe=((e={},t={})=>(t.locale??U())===`fr`?HTe(e):UTe(e)),GTe=()=>`Échange`,KTe=()=>`Exchange`,qTe=((e={},t={})=>(t.locale??U())===`fr`?GTe(e):KTe(e)),JTe=()=>`Administrateur`,YTe=()=>`Administrator`,XTe=((e={},t={})=>(t.locale??U())===`fr`?JTe(e):YTe(e)),ZTe=()=>`Utilisateur`,QTe=()=>`User`,$Te=((e={},t={})=>(t.locale??U())===`fr`?ZTe(e):QTe(e)),eEe=()=>`Aucune réponse envoyée pour l'instant.`,tEe=()=>`No reply sent yet.`,nEe=((e={},t={})=>(t.locale??U())===`fr`?eEe(e):tEe(e)),rEe=()=>`Répondre à l'auteur…`,iEe=()=>`Reply to the reporter…`,aEe=((e={},t={})=>(t.locale??U())===`fr`?rEe(e):iEe(e)),oEe=()=>`Répondre`,sEe=()=>`Reply`,cEe=((e={},t={})=>(t.locale??U())===`fr`?oEe(e):sEe(e)),lEe=()=>`Envoi…`,uEe=()=>`Sending…`,dEe=((e={},t={})=>(t.locale??U())===`fr`?lEe(e):uEe(e)),fEe=e=>`Sous-agents capturés (${e?.count})`,pEe=e=>`Captured sub-agents (${e?.count})`,mEe=((e,t={})=>(t.locale??U())===`fr`?fEe(e):pEe(e)),hEe=()=>`(tronqué)`,gEe=()=>`(truncated)`,_Ee=((e={},t={})=>(t.locale??U())===`fr`?hEe(e):gEe(e)),vEe=()=>`(texte tronqué pour tenir)`,yEe=()=>`(text clipped to fit)`,bEe=((e={},t={})=>(t.locale??U())===`fr`?vEe(e):yEe(e)),xEe=()=>`signalé`,SEe=()=>`flagged`,CEe=((e={},t={})=>(t.locale??U())===`fr`?xEe(e):SEe(e)),wEe=()=>`Tour de lancement`,TEe=()=>`Spawning turn`,EEe=((e={},t={})=>(t.locale??U())===`fr`?wEe(e):TEe(e)),DEe=()=>`Contexte`,OEe=()=>`Context`,kEe=((e={},t={})=>(t.locale??U())===`fr`?DEe(e):OEe(e)),AEe=()=>`Supprimer ce signalement ?`,jEe=()=>`Delete this report?`,MEe=((e={},t={})=>(t.locale??U())===`fr`?AEe(e):jEe(e)),NEe=()=>`L'instantané figé sera supprimé définitivement. Cette action est irréversible.`,PEe=()=>`The frozen snapshot will be permanently removed. This cannot be undone.`,FEe=((e={},t={})=>(t.locale??U())===`fr`?NEe(e):PEe(e)),IEe=()=>`Supprimer`,LEe=()=>`Delete`,REe=((e={},t={})=>(t.locale??U())===`fr`?IEe(e):LEe(e)),zEe=()=>`Exporter la charte (.json)`,BEe=()=>`Export chart (.json)`,VEe=((e={},t={})=>(t.locale??U())===`fr`?zEe(e):BEe(e)),HEe=()=>`Pulsations cardiaques (BPM)`,UEe=()=>`Heartbeat — pulse (BPM)`,WEe=((e={},t={})=>(t.locale??U())===`fr`?HEe(e):UEe(e)),GEe=()=>`Statique`,KEe=()=>`Static`,qEe=((e={},t={})=>(t.locale??U())===`fr`?GEe(e):KEe(e)),JEe=()=>`0 = aucun mouvement. Sinon l'aura ambiante de la charte bat à ce rythme (effets ambiants requis).`,YEe=()=>`0 = no motion. Otherwise the chart's ambient aura beats at this tempo (requires ambient effects on).`,XEe=((e={},t={})=>(t.locale??U())===`fr`?JEe(e):YEe(e)),ZEe=()=>`Synthèse d’historique (réhydratation)`,QEe=()=>`History summary (rehydration)`,$Ee=((e={},t={})=>(t.locale??U())===`fr`?ZEe(e):QEe(e)),eDe=()=>`Le cadrage qu’Atrium ajoute à la demande de synthèse d’historique (réhydratation hybride). Désactiver n’arrête PAS la synthèse : seul le cadrage Atrium est retiré et l’agent reçoit la matière brute (résumé existant + nouveaux messages) — utile si vous avez configuré un agent « Synthèse de conversation » dédié dont le briefing porte déjà ces instructions. Pour couper la fonctionnalité, désactivez la réhydratation de l’instance (onglet Bridge).`,tDe=()=>`The framing Atrium adds to the history-summary request (hybrid rehydration). Disabling does NOT stop summarization: only Atrium's framing is removed and the agent receives the bare material (existing summary + new messages) — useful when a dedicated "Conversation summary" agent's briefing already carries these instructions. To turn the feature off, disable the instance's rehydration (Bridge tab).`,nDe=((e={},t={})=>(t.locale??U())===`fr`?eDe(e):tDe(e)),rDe=()=>`Le résumé cumulatif existant (ou une mention explicite d’absence à la première synthèse).`,iDe=()=>`The existing cumulative summary (or an explicit none marker on the first pass).`,aDe=((e={},t={})=>(t.locale??U())===`fr`?rDe(e):iDe(e)),oDe=()=>`Les nouveaux messages de la conversation à intégrer au résumé (format Utilisateur :/Assistant :).`,sDe=()=>`The new conversation messages to fold into the summary (Utilisateur:/Assistant: format).`,cDe=((e={},t={})=>(t.locale??U())===`fr`?oDe(e):sDe(e)),lDe=()=>`La taille maximale du résumé en caractères.`,uDe=()=>`The maximum summary size in characters.`,dDe=((e={},t={})=>(t.locale??U())===`fr`?lDe(e):uDe(e)),fDe=()=>`Synthèse de conversation`,pDe=()=>`Conversation summary`,mDe=((e={},t={})=>(t.locale??U())===`fr`?fDe(e):pDe(e)),hDe=()=>`Agent appelé par Atrium pour maintenir le résumé cumulatif des conversations (réhydratation hybride). S’il n’est pas défini sur l’instance, c’est l’agent de chaque conversation qui fait sa propre synthèse.`,gDe=()=>`Agent Atrium calls to maintain the cumulative conversation summaries (hybrid rehydration). When none is set on the instance, each conversation's own agent summarizes itself.`,_De=((e={},t={})=>(t.locale??U())===`fr`?hDe(e):gDe(e)),vDe=()=>`Curateur de fichiers`,yDe=()=>`File curator`,bDe=((e={},t={})=>(t.locale??U())===`fr`?vDe(e):yDe(e)),xDe=()=>`Rationalise les fichiers d'agent (mémoire, règles) qui dépassent leur budget, sans perdre les données pertinentes. Réservé aux jobs de curation.`,SDe=()=>`Rationalizes agent files (memory, rules) that exceed their budget, without losing relevant data. Reserved for curation jobs.`,CDe=((e={},t={})=>(t.locale??U())===`fr`?xDe(e):SDe(e)),wDe=()=>`Synthèse d’historique`,TDe=()=>`History summary`,EDe=((e={},t={})=>(t.locale??U())===`fr`?wDe(e):TDe(e)),DDe=e=>`Couvre ${e?.count} messages · mise à jour ${e?.date}. Injectée avec les messages récents à la reprise de session.`,ODe=e=>`Covers ${e?.count} messages · updated ${e?.date}. Injected with the recent messages when the session resumes.`,kDe=((e,t={})=>(t.locale??U())===`fr`?DDe(e):ODe(e)),ADe=e=>`Synthèse en échec (${e?.count} tentatives) — nouvel essai automatique programmé.`,jDe=e=>`Summarization failing (${e?.count} attempts) — automatic retry scheduled.`,MDe=((e,t={})=>(t.locale??U())===`fr`?ADe(e):jDe(e)),NDe=()=>`Aucune synthèse pour cette conversation (conversation courte, ou pas encore assez de contenu).`,PDe=()=>`No summary for this conversation (short conversation, or not enough content yet).`,FDe=((e={},t={})=>(t.locale??U())===`fr`?NDe(e):PDe(e)),IDe=()=>`Générer la synthèse`,LDe=()=>`Generate summary`,RDe=((e={},t={})=>(t.locale??U())===`fr`?IDe(e):LDe(e)),zDe=()=>`Synthèse lancée — elle apparaîtra ci-dessus dans quelques instants.`,BDe=()=>`Summary started — it will appear above shortly.`,VDe=((e={},t={})=>(t.locale??U())===`fr`?zDe(e):BDe(e)),HDe=()=>`Une synthèse est déjà en cours pour cette conversation.`,UDe=()=>`A summary is already running for this conversation.`,WDe=((e={},t={})=>(t.locale??U())===`fr`?HDe(e):UDe(e)),GDe=()=>`Rien à synthétiser pour l’instant : les messages récents sont déjà conservés en intégral.`,KDe=()=>`Nothing to summarize yet: the recent messages are already kept verbatim.`,qDe=((e={},t={})=>(t.locale??U())===`fr`?GDe(e):KDe(e)),JDe=()=>`La réhydratation est désactivée sur cette instance — une synthèse n’aurait aucun effet.`,YDe=()=>`Rehydration is disabled on this instance — a summary would have no effect.`,XDe=((e={},t={})=>(t.locale??U())===`fr`?JDe(e):YDe(e)),ZDe=()=>`Aucun agent disponible pour cette conversation.`,QDe=()=>`No agent available for this conversation.`,$De=((e={},t={})=>(t.locale??U())===`fr`?ZDe(e):QDe(e)),eOe=e=>`Générée par ${e?.agent}.`,tOe=e=>`Generated by ${e?.agent}.`,nOe=((e,t={})=>(t.locale??U())===`fr`?eOe(e):tOe(e)),rOe=()=>`Prochaine synthèse`,iOe=()=>`Next summary`,aOe=((e={},t={})=>(t.locale??U())===`fr`?rOe(e):iOe(e)),oOe=e=>`${e?.pending} / ${e?.threshold} caractères`,sOe=e=>`${e?.pending} / ${e?.threshold} characters`,cOe=((e,t={})=>(t.locale??U())===`fr`?oOe(e):sOe(e)),lOe=()=>`Seuil atteint — la synthèse se déclenchera au prochain tour de conversation.`,uOe=()=>`Threshold reached — the summary will trigger on the next conversation turn.`,dOe=((e={},t={})=>(t.locale??U())===`fr`?lOe(e):uOe(e)),fOe=()=>`Seuil de synthèse d’historique (caractères)`,pOe=()=>`History-summary threshold (characters)`,mOe=((e={},t={})=>(t.locale??U())===`fr`?fOe(e):pOe(e)),hOe=()=>`Volume de conversation non synthétisé qui déclenche automatiquement la génération du résumé (réhydratation hybride). Vide = valeur par défaut (8 000). La jauge « Prochaine synthèse » des Réglages de session mesure la progression vers ce seuil. Réglage Atrium (stocké dans la configuration de l’instance), appliqué immédiatement.`,gOe=()=>`Unsummarized conversation volume that automatically triggers summary generation (hybrid rehydration). Empty = default (8,000). The Session settings' "Next summary" gauge measures progress toward this threshold. Atrium setting (stored in the instance config), applied immediately.`,_Oe=((e={},t={})=>(t.locale??U())===`fr`?hOe(e):gOe(e)),vOe=()=>`Curation automatique des fichiers d'agent`,yOe=()=>`Automatic agent-file curation`,bOe=((e={},t={})=>(t.locale??U())===`fr`?vOe(e):yOe(e)),xOe=()=>`Agent convertisseur de documents`,SOe=()=>`Document converter agent`,COe=((e={},t={})=>(t.locale??U())===`fr`?xOe(e):SOe(e)),wOe=()=>`Agent de cette instance qui convertit les fichiers Office (PowerPoint, Word, Excel) en PDF pour l'aperçu, via ses propres compétences. Sert tous les utilisateurs de l'instance. Aucun = les fichiers Office restent en téléchargement.`,TOe=()=>`The agent on this instance that converts Office files (PowerPoint, Word, Excel) to PDF for preview, using its own skills. Serves every user of the instance. None = Office files stay download-only.`,EOe=((e={},t={})=>(t.locale??U())===`fr`?wOe(e):TOe(e)),DOe=()=>`Aucun (téléchargement seul)`,OOe=()=>`None (download only)`,kOe=((e={},t={})=>(t.locale??U())===`fr`?DOe(e):OOe(e)),AOe=()=>`Budget cible par fichier (caractères)`,jOe=()=>`Target budget per file (characters)`,MOe=((e={},t={})=>(t.locale??U())===`fr`?AOe(e):jOe(e)),NOe=()=>`Entrez un nombre entre 4000 et 60000.`,POe=()=>`Enter a number between 4000 and 60000.`,FOe=((e={},t={})=>(t.locale??U())===`fr`?NOe(e):POe(e)),IOe=()=>`Quand un fichier d'agent (MEMORY.md, règles) dépasse son budget, un agent spécialiste « curator » propose une version rationalisée que vous relisez et approuvez — le fichier n'est jamais réécrit automatiquement. Nécessite un agent de type « Curateur ». Désactivé par défaut.`,LOe=()=>`When an agent file (MEMORY.md, rules) exceeds its budget, a specialist "curator" agent proposes a rationalized version you review and approve — the file is never rewritten automatically. Requires a "File curator" agent. Off by default.`,ROe=((e={},t={})=>(t.locale??U())===`fr`?IOe(e):LOe(e)),zOe=()=>`Valeur invalide : entier entre 1 000 et 200 000.`,BOe=()=>`Invalid value: integer between 1,000 and 200,000.`,VOe=((e={},t={})=>(t.locale??U())===`fr`?zOe(e):BOe(e)),HOe=()=>`Analyse de l’historique en cours — la génération se poursuit automatiquement.`,UOe=()=>`Scanning the history — generation continues automatically.`,WOe=((e={},t={})=>(t.locale??U())===`fr`?HOe(e):UOe(e)),GOe=()=>`Demande envoyée à l’agent…`,KOe=()=>`Request sent to the agent…`,qOe=((e={},t={})=>(t.locale??U())===`fr`?GOe(e):KOe(e)),JOe=()=>`L’agent rédige la synthèse…`,YOe=()=>`The agent is writing the summary…`,XOe=((e={},t={})=>(t.locale??U())===`fr`?JOe(e):YOe(e)),ZOe=()=>`Copier la synthèse`,QOe=()=>`Copy summary`,$Oe=((e={},t={})=>(t.locale??U())===`fr`?ZOe(e):QOe(e)),eke=()=>`Agrandir`,tke=()=>`Expand`,nke=((e={},t={})=>(t.locale??U())===`fr`?eke(e):tke(e)),rke=()=>`Modifier la synthèse`,ike=()=>`Edit summary`,ake=((e={},t={})=>(t.locale??U())===`fr`?rke(e):ike(e)),oke=()=>`Enregistrer`,ske=()=>`Save`,cke=((e={},t={})=>(t.locale??U())===`fr`?oke(e):ske(e)),lke=()=>`Échec de l’enregistrement (une synthèse est peut-être en cours) — réessayez.`,uke=()=>`Save failed (a summary may be in progress) — try again.`,dke=((e={},t={})=>(t.locale??U())===`fr`?lke(e):uke(e)),fke=()=>`Votre version remplace le texte actuel et servira de base à la prochaine synthèse automatique.`,pke=()=>`Your version replaces the current text and seeds the next automatic summary.`,mke=((e={},t={})=>(t.locale??U())===`fr`?fke(e):pke(e)),hke=()=>`Le bridge doit être mis à jour (0.20+) pour activer la synthèse d’historique.`,gke=()=>`The bridge must be updated (0.20+) to enable history summaries.`,_ke=((e={},t={})=>(t.locale??U())===`fr`?hke(e):gke(e)),vke=e=>`${e?.count} terminé(s)`,yke=e=>`${e?.count} done`,bke=((e,t={})=>(t.locale??U())===`fr`?vke(e):yke(e)),xke=e=>`${e?.count} en cours`,Ske=e=>`${e?.count} running`,Cke=((e,t={})=>(t.locale??U())===`fr`?xke(e):Ske(e)),wke=e=>`${e?.count} en échec`,Tke=e=>`${e?.count} failed`,Eke=((e,t={})=>(t.locale??U())===`fr`?wke(e):Tke(e)),Dke=()=>`non communiqué`,Oke=()=>`not reported`,kke=((e={},t={})=>(t.locale??U())===`fr`?Dke(e):Oke(e)),Ake=()=>`Contexte optimisé par la passerelle`,jke=()=>`Context optimized by the gateway`,Mke=((e={},t={})=>(t.locale??U())===`fr`?Ake(e):jke(e)),Nke=()=>`Avant de répondre, la passerelle a résumé le début de la conversation pour rester dans la limite du modèle. Les échanges récents sont conservés intégralement ; les plus anciens sont désormais condensés.`,Pke=()=>`Before answering, the gateway summarized the beginning of the conversation to stay within the model limit. Recent exchanges are kept verbatim; older ones are now condensed.`,Fke=((e={},t={})=>(t.locale??U())===`fr`?Nke(e):Pke(e)),Ike=()=>`Pendant cette réponse, la passerelle a résumé le début de la conversation pour rester dans la limite du modèle, puis a repris. Les échanges récents sont conservés intégralement ; les plus anciens sont désormais condensés.`,Lke=()=>`During this reply, the gateway summarized the beginning of the conversation to stay within the model limit, then resumed. Recent exchanges are kept verbatim; older ones are now condensed.`,Rke=((e={},t={})=>(t.locale??U())===`fr`?Ike(e):Lke(e)),zke=()=>`Ajuster à l'écran`,Bke=()=>`Fit to screen`,Vke=((e={},t={})=>(t.locale??U())===`fr`?zke(e):Bke(e)),Hke=()=>`Taille réelle`,Uke=()=>`Actual size`,Wke=((e={},t={})=>(t.locale??U())===`fr`?Hke(e):Uke(e)),Gke=()=>`Plein écran`,Kke=()=>`Fullscreen`,qke=((e={},t={})=>(t.locale??U())===`fr`?Gke(e):Kke(e)),Jke=()=>`Quitter le plein écran`,Yke=()=>`Exit fullscreen`,Xke=((e={},t={})=>(t.locale??U())===`fr`?Jke(e):Yke(e)),Zke=()=>`Ouvrir dans un onglet`,Qke=()=>`Open in a tab`,$ke=((e={},t={})=>(t.locale??U())===`fr`?Zke(e):Qke(e)),eAe=()=>`Fermer`,tAe=()=>`Close`,nAe=((e={},t={})=>(t.locale??U())===`fr`?eAe(e):tAe(e)),rAe=()=>`Référence du rapport :`,iAe=()=>`Report reference:`,aAe=((e={},t={})=>(t.locale??U())===`fr`?rAe(e):iAe(e)),oAe=()=>`Copier la référence`,sAe=()=>`Copy the reference`,cAe=((e={},t={})=>(t.locale??U())===`fr`?oAe(e):sAe(e)),lAe=()=>`Impossible de joindre un gros texte pendant qu'une réponse est en cours — attendez la fin du tour, puis recollez.`,uAe=()=>`Can't attach a large pasted text while a reply is running — wait for the turn to finish, then paste again.`,dAe=((e={},t={})=>(t.locale??U())===`fr`?lAe(e):uAe(e)),fAe=()=>`Le texte collé n'a pas pu être joint (trop volumineux pour la passerelle) — il reste dans votre presse-papiers ; réduisez-le ou envoyez-le en plusieurs parties.`,pAe=()=>`The pasted text could not be attached (too large for the gateway) — it is still in your clipboard; trim it or send it in parts.`,mAe=((e={},t={})=>(t.locale??U())===`fr`?fAe(e):pAe(e)),hAe=e=>`Texte collé volumineux converti en pièce jointe (${e?.lines} lignes) — le contexte de l'agent reste léger.`,gAe=e=>`Large pasted text converted into an attachment (${e?.lines} lines) — the agent's context stays light.`,_Ae=((e,t={})=>(t.locale??U())===`fr`?hAe(e):gAe(e)),vAe=()=>`Afficher les fichiers auto-générés`,yAe=()=>`Show auto-generated files`,bAe=((e={},t={})=>(t.locale??U())===`fr`?vAe(e):yAe(e)),xAe=()=>`Auto-généré`,SAe=()=>`Auto-generated`,CAe=((e={},t={})=>(t.locale??U())===`fr`?xAe(e):SAe(e)),wAe=()=>`Indisponible pendant qu'une réponse est en cours`,TAe=()=>`Unavailable while a reply is running`,EAe=((e={},t={})=>(t.locale??U())===`fr`?wAe(e):TAe(e)),DAe=()=>`Agent de support`,OAe=()=>`Support agent`,kAe=((e={},t={})=>(t.locale??U())===`fr`?DAe(e):OAe(e)),AAe=()=>`Agent`,jAe=()=>`Agent`,MAe=((e={},t={})=>(t.locale??U())===`fr`?AAe(e):jAe(e)),NAe=()=>`Résolu`,PAe=()=>`Resolved`,FAe=((e={},t={})=>(t.locale??U())===`fr`?NAe(e):PAe(e)),IAe=()=>`Résolu`,LAe=()=>`Resolved`,RAe=((e={},t={})=>(t.locale??U())===`fr`?IAe(e):LAe(e)),zAe=()=>`Répondre aux signalements`,BAe=()=>`Respond to reports`,VAe=((e={},t={})=>(t.locale??U())===`fr`?zAe(e):BAe(e)),HAe=()=>`Signalement résolu`,UAe=()=>`Report resolved`,WAe=((e={},t={})=>(t.locale??U())===`fr`?HAe(e):UAe(e)),GAe=()=>`Votre signalement a été résolu — une explication vous attend dans le fil.`,KAe=()=>`Your report was resolved — an explanation awaits in its thread.`,qAe=((e={},t={})=>(t.locale??U())===`fr`?GAe(e):KAe(e)),JAe=()=>`Rationaliser`,YAe=()=>`Rationalize`,XAe=((e={},t={})=>(t.locale??U())===`fr`?JAe(e):YAe(e)),ZAe=()=>`Revoir la proposition`,QAe=()=>`Review proposal`,$Ae=((e={},t={})=>(t.locale??U())===`fr`?ZAe(e):QAe(e)),eje=()=>`Curation…`,tje=()=>`Curating…`,nje=((e={},t={})=>(t.locale??U())===`fr`?eje(e):tje(e)),rje=()=>`Curation lancée — la proposition arrivera bientôt.`,ije=()=>`Curation started — the proposal will arrive shortly.`,aje=((e={},t={})=>(t.locale??U())===`fr`?rje(e):ije(e)),oje=e=>`Curation refusée : ${e?.reason}`,sje=e=>`Curation refused: ${e?.reason}`,cje=((e,t={})=>(t.locale??U())===`fr`?oje(e):sje(e)),lje=()=>`Erreur pendant la curation.`,uje=()=>`Error during curation.`,dje=((e={},t={})=>(t.locale??U())===`fr`?lje(e):uje(e)),fje=()=>`Fichier réécrit. Une révision est enregistrée (annulable).`,pje=()=>`File rewritten. A revision was recorded (revertible).`,mje=((e={},t={})=>(t.locale??U())===`fr`?fje(e):pje(e)),hje=()=>`Proposition rejetée.`,gje=()=>`Proposal rejected.`,_je=((e={},t={})=>(t.locale??U())===`fr`?hje(e):gje(e)),vje=()=>`Le fichier a changé depuis la lecture — relancez la curation.`,yje=()=>`The file changed since it was read — re-run the curation.`,bje=((e={},t={})=>(t.locale??U())===`fr`?vje(e):yje(e)),xje=e=>`Échec de l'application : ${e?.reason}`,Sje=e=>`Apply failed: ${e?.reason}`,Cje=((e,t={})=>(t.locale??U())===`fr`?xje(e):Sje(e)),wje=e=>`Proposition de curation — ${e?.name}`,Tje=e=>`Curation proposal — ${e?.name}`,Eje=((e,t={})=>(t.locale??U())===`fr`?wje(e):Tje(e)),Dje=()=>`Relisez la version rationalisée avant de l'appliquer. Rien n'est écrit tant que vous n'approuvez pas ; l'application enregistre une révision annulable.`,Oje=()=>`Review the rationalized version before applying. Nothing is written until you approve; applying records a revertible revision.`,kje=((e={},t={})=>(t.locale??U())===`fr`?Dje(e):Oje(e)),Aje=()=>`Cette proposition n'est plus disponible.`,jje=()=>`This proposal is no longer available.`,Mje=((e={},t={})=>(t.locale??U())===`fr`?Aje(e):jje(e)),Nje=e=>`Taille : ${e?.before} ko → ${e?.after} ko`,Pje=e=>`Size: ${e?.before} kB → ${e?.after} kB`,Fje=((e,t={})=>(t.locale??U())===`fr`?Nje(e):Pje(e)),Ije=()=>`Toujours au-dessus du budget`,Lje=()=>`Still over budget`,Rje=((e={},t={})=>(t.locale??U())===`fr`?Ije(e):Lje(e)),zje=e=>`${e?.added} ligne(s) ajoutée(s), ${e?.removed} retirée(s)`,Bje=e=>`${e?.added} line(s) added, ${e?.removed} removed`,Vje=((e,t={})=>(t.locale??U())===`fr`?zje(e):Bje(e)),Hje=()=>`Contenu proposé`,Uje=()=>`Proposed content`,Wje=((e={},t={})=>(t.locale??U())===`fr`?Hje(e):Uje(e)),Gje=()=>`Rejeter`,Kje=()=>`Reject`,qje=((e={},t={})=>(t.locale??U())===`fr`?Gje(e):Kje(e)),Jje=()=>`Appliquer`,Yje=()=>`Apply`,Xje=((e={},t={})=>(t.locale??U())===`fr`?Jje(e):Yje(e)),Zje=()=>`Contenu actuel`,Qje=()=>`Current content`,$je=((e={},t={})=>(t.locale??U())===`fr`?Zje(e):Qje(e)),eMe=()=>`Extrait des lignes supprimées (vérifiez qu'aucune information importante n'est perdue) :`,tMe=()=>`Sample of removed lines (check no important information is lost):`,nMe=((e={},t={})=>(t.locale??U())===`fr`?eMe(e):tMe(e)),rMe=()=>`Brief de curation de fichier d'agent`,iMe=()=>`Agent-file curation brief`,aMe=((e={},t={})=>(t.locale??U())===`fr`?rMe(e):iMe(e)),oMe=()=>`Instructions envoyées à l'agent « Curateur » quand une curation est lancée : le rôle de chaque fichier, l'objectif de taille, et le retour de l'admin en cas de relance. Personnalisez-le par instance (OpenClaw, Hermes…). Désactivez-le si votre agent curateur porte déjà son propre brief : seul le matériau brut (fichier + budget + retour) sera envoyé.`,sMe=()=>`Instructions sent to the "File curator" agent when a curation runs: each file's role, the size target, and the admin's feedback on a relaunch. Customize per instance (OpenClaw, Hermes…). Disable it if your curator agent carries its own brief: only the raw material (file + budget + feedback) is sent.`,cMe=((e={},t={})=>(t.locale??U())===`fr`?oMe(e):sMe(e)),lMe=()=>`Le nom du fichier d'agent en cours de curation (ex. MEMORY.md).`,uMe=()=>`The agent-file name being curated (e.g. MEMORY.md).`,dMe=((e={},t={})=>(t.locale??U())===`fr`?lMe(e):uMe(e)),fMe=()=>`Le budget cible en caractères configuré pour l'instance.`,pMe=()=>`The target budget in characters configured for the instance.`,mMe=((e={},t={})=>(t.locale??U())===`fr`?fMe(e):pMe(e)),hMe=()=>`Le commentaire de l'admin lors du rejet de la proposition précédente (ou « aucun » à la première passe).`,gMe=()=>`The admin's comment when rejecting the previous proposal (or "none" on the first pass).`,_Me=((e={},t={})=>(t.locale??U())===`fr`?hMe(e):gMe(e)),vMe=()=>`Le contenu actuel complet du fichier à rationaliser.`,yMe=()=>`The file's full current content to rationalize.`,bMe=((e={},t={})=>(t.locale??U())===`fr`?vMe(e):yMe(e)),xMe=()=>`Pourquoi refusez-vous cette proposition ?`,SMe=()=>`Why are you refusing this proposal?`,CMe=((e={},t={})=>(t.locale??U())===`fr`?xMe(e):SMe(e)),wMe=()=>`Ex. : trop agressif — les références supprimées étaient porteuses ; conserve les liens.`,TMe=()=>`E.g.: too aggressive — the removed references were load-bearing; keep the links.`,EMe=((e={},t={})=>(t.locale??U())===`fr`?wMe(e):TMe(e)),DMe=()=>`Annuler`,OMe=()=>`Cancel`,kMe=((e={},t={})=>(t.locale??U())===`fr`?DMe(e):OMe(e)),AMe=()=>`Rejeter`,jMe=()=>`Reject`,MMe=((e={},t={})=>(t.locale??U())===`fr`?AMe(e):jMe(e)),NMe=()=>`Rejeter et relancer`,PMe=()=>`Reject and relaunch`,FMe=((e={},t={})=>(t.locale??U())===`fr`?NMe(e):PMe(e)),IMe=()=>`Proposition rejetée — une nouvelle curation intégrant votre commentaire est lancée.`,LMe=()=>`Proposal rejected — a new curation incorporating your comment has been launched.`,RMe=((e={},t={})=>(t.locale??U())===`fr`?IMe(e):LMe(e)),zMe=e=>`Relancée avec votre commentaire : « ${e?.feedback} »`,BMe=e=>`Relaunched with your comment: “${e?.feedback}”`,VMe=((e,t={})=>(t.locale??U())===`fr`?zMe(e):BMe(e)),HMe=()=>`Plage absolue`,UMe=()=>`Absolute range`,WMe=((e={},t={})=>(t.locale??U())===`fr`?HMe(e):UMe(e)),GMe=()=>`De`,KMe=()=>`From`,qMe=((e={},t={})=>(t.locale??U())===`fr`?GMe(e):KMe(e)),JMe=()=>`À`,YMe=()=>`To`,XMe=((e={},t={})=>(t.locale??U())===`fr`?JMe(e):YMe(e)),ZMe=()=>`Appliquer`,QMe=()=>`Apply`,$Me=((e={},t={})=>(t.locale??U())===`fr`?ZMe(e):QMe(e)),eNe=()=>`Rechercher une plage`,tNe=()=>`Search ranges`,nNe=((e={},t={})=>(t.locale??U())===`fr`?eNe(e):tNe(e)),rNe=()=>`Rechercher une plage relative`,iNe=()=>`Search relative ranges`,aNe=((e={},t={})=>(t.locale??U())===`fr`?rNe(e):iNe(e)),oNe=()=>`Aucune plage.`,sNe=()=>`No ranges.`,cNe=((e={},t={})=>(t.locale??U())===`fr`?oNe(e):sNe(e)),lNe=()=>`Annuler`,uNe=()=>`Cancel`,dNe=((e={},t={})=>(t.locale??U())===`fr`?lNe(e):uNe(e)),fNe=()=>`Supprimer`,pNe=()=>`Delete`,mNe=((e={},t={})=>(t.locale??U())===`fr`?fNe(e):pNe(e)),hNe=()=>`Valider`,gNe=()=>`Confirm`,_Ne=((e={},t={})=>(t.locale??U())===`fr`?hNe(e):gNe(e)),vNe=()=>`Pour confirmer, saisissez`,yNe=()=>`To confirm, type`,bNe=((e={},t={})=>(t.locale??U())===`fr`?vNe(e):yNe(e)),xNe=()=>`ci-dessous.`,SNe=()=>`below.`,CNe=((e={},t={})=>(t.locale??U())===`fr`?xNe(e):SNe(e)),wNe=e=>`« ${e?.word} »`,TNe=e=>`“${e?.word}”`,ENe=((e,t={})=>(t.locale??U())===`fr`?wNe(e):TNe(e)),DNe=()=>`Erreur inconnue`,ONe=()=>`Unknown error`,kNe=((e={},t={})=>(t.locale??U())===`fr`?DNe(e):ONe(e)),ANe=()=>`Notifications`,jNe=()=>`Notifications`,MNe=((e={},t={})=>(t.locale??U())===`fr`?ANe(e):jNe(e)),NNe=()=>`Enregistrer`,PNe=()=>`Save`,FNe=((e={},t={})=>(t.locale??U())===`fr`?NNe(e):PNe(e)),INe=()=>`Annuler`,LNe=()=>`Cancel`,RNe=((e={},t={})=>(t.locale??U())===`fr`?INe(e):LNe(e)),zNe=()=>`Copier`,BNe=()=>`Copy`,VNe=((e={},t={})=>(t.locale??U())===`fr`?zNe(e):BNe(e)),HNe=()=>`Copier le contenu`,UNe=()=>`Copy content`,WNe=((e={},t={})=>(t.locale??U())===`fr`?HNe(e):UNe(e)),GNe=()=>`Configuration manquante\xA0:`,KNe=()=>`Missing configuration:`,qNe=((e={},t={})=>(t.locale??U())===`fr`?GNe(e):KNe(e)),JNe=()=>`Télécharger l’audio`,YNe=()=>`Download audio`,XNe=((e={},t={})=>(t.locale??U())===`fr`?JNe(e):YNe(e)),ZNe=e=>`Ouvrir l'aperçu de ${e?.name}`,QNe=e=>`Open preview of ${e?.name}`,$Ne=((e,t={})=>(t.locale??U())===`fr`?ZNe(e):QNe(e)),ePe=()=>`Fermer l'aperçu`,tPe=()=>`Close preview`,nPe=((e={},t={})=>(t.locale??U())===`fr`?ePe(e):tPe(e)),rPe=()=>`Télécharger`,iPe=()=>`Download`,aPe=((e={},t={})=>(t.locale??U())===`fr`?rPe(e):iPe(e)),oPe=()=>`Mode d’affichage du document`,sPe=()=>`Document display mode`,cPe=((e={},t={})=>(t.locale??U())===`fr`?oPe(e):sPe(e)),lPe=()=>`Brut`,uPe=()=>`Raw`,dPe=((e={},t={})=>(t.locale??U())===`fr`?lPe(e):uPe(e)),fPe=()=>`Rendu`,pPe=()=>`Rendered`,mPe=((e={},t={})=>(t.locale??U())===`fr`?fPe(e):pPe(e)),hPe=()=>`Tableau`,gPe=()=>`Table`,_Pe=((e={},t={})=>(t.locale??U())===`fr`?hPe(e):gPe(e)),vPe=()=>`Colorisé`,yPe=()=>`Colorized`,bPe=((e={},t={})=>(t.locale??U())===`fr`?vPe(e):yPe(e)),xPe=()=>`Arborescence`,SPe=()=>`Tree`,CPe=((e={},t={})=>(t.locale??U())===`fr`?xPe(e):SPe(e)),wPe=e=>`${e?.shown} lignes affichées sur ${e?.total} — téléchargez le fichier pour le reste.`,TPe=e=>`Showing ${e?.shown} of ${e?.total} rows — download the file for the rest.`,EPe=((e,t={})=>(t.locale??U())===`fr`?wPe(e):TPe(e)),DPe=e=>`Premières ${e?.shown} lignes affichées (aperçu tronqué) — téléchargez le fichier pour tout voir.`,OPe=e=>`Showing the first ${e?.shown} rows (preview truncated) — download the file for everything.`,kPe=((e,t={})=>(t.locale??U())===`fr`?DPe(e):OPe(e)),APe=e=>`${e?.shown} colonnes affichées sur ${e?.total} — passez en Brut pour tout voir.`,jPe=e=>`Showing ${e?.shown} of ${e?.total} columns — switch to Raw to see everything.`,MPe=((e,t={})=>(t.locale??U())===`fr`?APe(e):jPe(e)),NPe=e=>`Trier par ${e?.column}`,PPe=e=>`Sort by ${e?.column}`,FPe=((e,t={})=>(t.locale??U())===`fr`?NPe(e):PPe(e)),IPe=e=>`${e?.shown} lignes colorisées sur ${e?.total} — passez en Brut ou téléchargez pour le reste.`,LPe=e=>`Colorized ${e?.shown} of ${e?.total} lines — switch to Raw or download for the rest.`,RPe=((e,t={})=>(t.locale??U())===`fr`?IPe(e):LPe(e)),zPe=e=>`Premières ${e?.shown} lignes colorisées (aperçu tronqué) — téléchargez le fichier pour tout voir.`,BPe=e=>`Colorized the first ${e?.shown} lines (preview truncated) — download the file for everything.`,VPe=((e,t={})=>(t.locale??U())===`fr`?zPe(e):BPe(e)),HPe=()=>`JSON invalide ou tronqué — affichage du texte brut.`,UPe=()=>`Invalid or truncated JSON — showing the raw text.`,WPe=((e={},t={})=>(t.locale??U())===`fr`?HPe(e):UPe(e)),GPe=e=>`… ${e?.count} entrées de plus — passez en Brut pour tout voir.`,KPe=e=>`… ${e?.count} more entries — switch to Raw to see everything.`,qPe=((e,t={})=>(t.locale??U())===`fr`?GPe(e):KPe(e)),JPe=()=>`Ouvrir dans un onglet`,YPe=()=>`Open in a tab`,XPe=((e={},t={})=>(t.locale??U())===`fr`?JPe(e):YPe(e)),ZPe=()=>`Ajuster`,QPe=()=>`Fit`,$Pe=((e={},t={})=>(t.locale??U())===`fr`?ZPe(e):QPe(e)),eFe=()=>`Zoom`,tFe=()=>`Zoom`,nFe=((e={},t={})=>(t.locale??U())===`fr`?eFe(e):tFe(e)),rFe=()=>`Chargement du document…`,iFe=()=>`Loading document…`,aFe=((e={},t={})=>(t.locale??U())===`fr`?rFe(e):iFe(e)),oFe=()=>`Impossible d'afficher ce document ici. Ouvrez-le dans un onglet ou téléchargez-le.`,sFe=()=>`This document cannot be displayed here. Open it in a tab or download it.`,cFe=((e={},t={})=>(t.locale??U())===`fr`?oFe(e):sFe(e)),lFe=()=>`Pas encore d'aperçu pour ce format.`,uFe=()=>`No preview for this format yet.`,dFe=((e={},t={})=>(t.locale??U())===`fr`?lFe(e):uFe(e)),fFe=()=>`Préparation de l'aperçu… (conversion en cours)`,pFe=()=>`Preparing the preview… (conversion in progress)`,mFe=((e={},t={})=>(t.locale??U())===`fr`?fFe(e):pFe(e)),hFe=()=>`La conversion n'a pas abouti. Téléchargez le fichier pour l'ouvrir.`,gFe=()=>`The conversion did not succeed. Download the file to open it.`,_Fe=((e={},t={})=>(t.locale??U())===`fr`?hFe(e):gFe(e)),vFe=()=>`Aperçu tronqué (fichier volumineux) — téléchargez le fichier pour le contenu complet.`,yFe=()=>`Preview truncated (large file) — download the file for the full content.`,bFe=((e={},t={})=>(t.locale??U())===`fr`?vFe(e):yFe(e)),xFe=()=>`Pages du document`,SFe=()=>`Document pages`,CFe=((e={},t={})=>(t.locale??U())===`fr`?xFe(e):SFe(e)),wFe=()=>`Page précédente`,TFe=()=>`Previous page`,EFe=((e={},t={})=>(t.locale??U())===`fr`?wFe(e):TFe(e)),DFe=()=>`Page suivante`,OFe=()=>`Next page`,kFe=((e={},t={})=>(t.locale??U())===`fr`?DFe(e):OFe(e)),AFe=e=>`Aller à la page ${e?.page}`,jFe=e=>`Go to page ${e?.page}`,MFe=((e,t={})=>(t.locale??U())===`fr`?AFe(e):jFe(e)),NFe=()=>`action`,PFe=()=>`action`,FFe=((e={},t={})=>(t.locale??U())===`fr`?NFe(e):PFe(e)),IFe=()=>`acteur réel`,LFe=()=>`real actor`,RFe=((e={},t={})=>(t.locale??U())===`fr`?IFe(e):LFe(e)),zFe=()=>`au nom de`,BFe=()=>`on behalf of`,VFe=((e={},t={})=>(t.locale??U())===`fr`?zFe(e):BFe(e)),HFe=()=>`usurpation`,UFe=()=>`impersonation`,WFe=((e={},t={})=>(t.locale??U())===`fr`?HFe(e):UFe(e)),GFe=()=>`ressource`,KFe=()=>`resource`,qFe=((e={},t={})=>(t.locale??U())===`fr`?GFe(e):KFe(e)),JFe=()=>`id ressource`,YFe=()=>`resource id`,XFe=((e={},t={})=>(t.locale??U())===`fr`?JFe(e):YFe(e)),ZFe=()=>`latence (ms)`,QFe=()=>`latency (ms)`,$Fe=((e={},t={})=>(t.locale??U())===`fr`?ZFe(e):QFe(e)),eIe=()=>`principal`,tIe=()=>`principal`,nIe=((e={},t={})=>(t.locale??U())===`fr`?eIe(e):tIe(e)),rIe=()=>`rôle`,iIe=()=>`role`,aIe=((e={},t={})=>(t.locale??U())===`fr`?rIe(e):iIe(e)),oIe=()=>`Proposition de curation prête`,sIe=()=>`Curation proposal ready`,cIe=((e={},t={})=>(t.locale??U())===`fr`?oIe(e):sIe(e)),lIe=e=>`Une proposition pour ${e?.name} (${e?.agentId}) attend votre revue.`,uIe=e=>`A proposal for ${e?.name} (${e?.agentId}) awaits your review.`,dIe=((e,t={})=>(t.locale??U())===`fr`?lIe(e):uIe(e)),fIe=()=>`Curation échouée`,pIe=()=>`Curation failed`,mIe=((e={},t={})=>(t.locale??U())===`fr`?fIe(e):pIe(e)),hIe=e=>`La curation de ${e?.name} a échoué (${e?.reason}).`,gIe=e=>`The curation of ${e?.name} failed (${e?.reason}).`,_Ie=((e,t={})=>(t.locale??U())===`fr`?hIe(e):gIe(e)),vIe=()=>`Relance de curation impossible`,yIe=()=>`Curation relaunch not possible`,bIe=((e={},t={})=>(t.locale??U())===`fr`?vIe(e):yIe(e)),xIe=e=>`La nouvelle curation de ${e?.name} n'a pas pu être lancée (${e?.reason}).`,SIe=e=>`The new curation of ${e?.name} could not be launched (${e?.reason}).`,CIe=((e,t={})=>(t.locale??U())===`fr`?xIe(e):SIe(e)),wIe=e=>`Anomalie : ${e?.kind}`,TIe=e=>`Anomaly: ${e?.kind}`,EIe=((e,t={})=>(t.locale??U())===`fr`?wIe(e):TIe(e)),DIe=e=>`Anomalie résolue : ${e?.kind}`,OIe=e=>`Anomaly resolved: ${e?.kind}`,kIe=((e,t={})=>(t.locale??U())===`fr`?DIe(e):OIe(e)),AIe=()=>`Le service de chat n'est pas encore configuré. Contactez votre administrateur.`,jIe=()=>`The chat service is not configured yet. Contact your administrator.`,MIe=((e={},t={})=>(t.locale??U())===`fr`?AIe(e):jIe(e)),NIe=()=>`Aucun agent ne vous est assigné. Contactez votre administrateur pour qu'il vous en attribue un.`,PIe=()=>`No agent is assigned to you. Contact your administrator to get one.`,FIe=((e={},t={})=>(t.locale??U())===`fr`?NIe(e):PIe(e)),IIe=()=>`Cet agent ne vous est plus disponible : votre accès aux agents a été modifié. Démarrez un nouveau chat avec un agent disponible.`,LIe=()=>`This agent is no longer available to you: your agent access changed. Start a new chat with an available agent.`,RIe=((e={},t={})=>(t.locale??U())===`fr`?IIe(e):LIe(e)),zIe=()=>`Le service de chat est momentanément indisponible. Réessayez ; si le problème persiste, contactez votre administrateur.`,BIe=()=>`The chat service is temporarily unavailable. Retry; if the problem persists, contact your administrator.`,VIe=((e={},t={})=>(t.locale??U())===`fr`?zIe(e):BIe(e)),HIe=()=>`La pièce jointe est trop volumineuse pour cet agent. Réessayez avec un fichier plus petit, ou envoyez votre message sans la pièce jointe.`,UIe=()=>`The attachment is too large for this agent. Retry with a smaller file, or send your message without the attachment.`,WIe=((e={},t={})=>(t.locale??U())===`fr`?HIe(e):UIe(e)),GIe=()=>`La pièce jointe n'a pas pu être traitée par le service. Réessayez avec un fichier plus petit, ou envoyez votre message sans la pièce jointe.`,KIe=()=>`The attachment could not be processed by the service. Retry with a smaller file, or send your message without the attachment.`,qIe=((e={},t={})=>(t.locale??U())===`fr`?GIe(e):KIe(e)),JIe=()=>`Langue des textes générés`,YIe=()=>`Language of generated texts`,XIe=((e={},t={})=>(t.locale??U())===`fr`?JIe(e):YIe(e)),ZIe=()=>`Langue des instructions qu'Atrium génère pour les agents de cette instance (injections par défaut, cadrage de réhydratation, briefs). Par défaut : la langue par défaut d'Atrium.`,QIe=()=>`Language of the instructions Atrium generates for this instance's agents (default injections, rehydration framing, briefs). Default: Atrium's default language.`,$Ie=((e={},t={})=>(t.locale??U())===`fr`?ZIe(e):QIe(e)),eLe=e=>`Défaut (${e?.locale})`,tLe=e=>`Default (${e?.locale})`,nLe=((e,t={})=>(t.locale??U())===`fr`?eLe(e):tLe(e)),rLe=()=>`Transport`,iLe=()=>`Transport`,aLe=((e={},t={})=>(t.locale??U())===`fr`?rLe(e):iLe(e)),oLe=()=>`WebSocket (recommandé — plus de fonctions)`,sLe=()=>`WebSocket (recommended — richer features)`,cLe=((e={},t={})=>(t.locale??U())===`fr`?oLe(e):sLe(e)),lLe=()=>`REST (API server)`,uLe=()=>`REST (API server)`,dLe=((e={},t={})=>(t.locale??U())===`fr`?lLe(e):uLe(e)),fLe=e=>`Non disponible sur cette passerelle : le provider ${e?.provider} ne propose pas cette fonction.`,pLe=e=>`Not available on this gateway: the ${e?.provider} provider does not offer this feature.`,mLe=((e,t={})=>(t.locale??U())===`fr`?fLe(e):pLe(e)),hLe=e=>`${e?.provider} supporté :`,gLe=e=>`${e?.provider} supported:`,_Le=((e,t={})=>(t.locale??U())===`fr`?hLe(e):gLe(e)),vLe=()=>`Lecture seule — Atrium ne modifie pas la configuration globale de la passerelle. Ces valeurs se changent dans la configuration de la passerelle elle-même.`,yLe=()=>`Read-only — Atrium does not modify the gateway's global configuration. Change these values in the gateway's own configuration.`,bLe=((e={},t={})=>(t.locale??U())===`fr`?vLe(e):yLe(e)),xLe=()=>`Abonnement`,SLe=()=>`Subscription`,CLe=((e={},t={})=>(t.locale??U())===`fr`?xLe(e):SLe(e)),wLe=()=>`Instance`,TLe=()=>`Instance`,ELe=((e={},t={})=>(t.locale??U())===`fr`?wLe(e):TLe(e)),DLe=()=>`Fournisseur`,OLe=()=>`Provider`,kLe=((e={},t={})=>(t.locale??U())===`fr`?DLe(e):OLe(e)),ALe=()=>`Fenêtre`,jLe=()=>`Window`,MLe=((e={},t={})=>(t.locale??U())===`fr`?ALe(e):jLe(e)),NLe=()=>`Restant`,PLe=()=>`Remaining`,FLe=((e={},t={})=>(t.locale??U())===`fr`?NLe(e):PLe(e)),ILe=()=>`Réinitialisation`,LLe=()=>`Resets in`,RLe=((e={},t={})=>(t.locale??U())===`fr`?ILe(e):LLe(e)),zLe=()=>`Référence MoA`,BLe=()=>`MoA reference`,VLe=((e={},t={})=>(t.locale??U())===`fr`?zLe(e):BLe(e)),HLe=()=>`Agrégateur MoA`,ULe=()=>`MoA aggregator`,WLe=((e={},t={})=>(t.locale??U())===`fr`?HLe(e):ULe(e)),GLe=()=>`Voix`,KLe=()=>`Voice`,qLe=((e={},t={})=>(t.locale??U())===`fr`?GLe(e):KLe(e)),JLe=()=>`Synthèse vocale (lecture des réponses) et dictée au micro — les moteurs tournent dans votre navigateur (aucune clé API, identique pour OpenClaw et Hermes). Configurez ici, par instance, la lecture à voix haute proposée dans les chats.`,YLe=()=>`Text-to-speech (read replies aloud) and microphone dictation — the engines run in your browser (no API key, identical for OpenClaw and Hermes). Configure here, per instance, the read-aloud offered in chats.`,XLe=((e={},t={})=>(t.locale??U())===`fr`?JLe(e):YLe(e)),ZLe=()=>`Lecture vocale : supportée par ce navigateur`,QLe=()=>`Read-aloud: supported by this browser`,$Le=((e={},t={})=>(t.locale??U())===`fr`?ZLe(e):QLe(e)),eRe=()=>`Lecture vocale : non supportée par ce navigateur`,tRe=()=>`Read-aloud: not supported by this browser`,nRe=((e={},t={})=>(t.locale??U())===`fr`?eRe(e):tRe(e)),rRe=()=>`Dictée : supportée par ce navigateur`,iRe=()=>`Dictation: supported by this browser`,aRe=((e={},t={})=>(t.locale??U())===`fr`?rRe(e):iRe(e)),oRe=()=>`Dictée : non supportée par ce navigateur`,sRe=()=>`Dictation: not supported by this browser`,cRe=((e={},t={})=>(t.locale??U())===`fr`?oRe(e):sRe(e)),lRe=()=>`Proposer la lecture à voix haute`,uRe=()=>`Offer read-aloud`,dRe=((e={},t={})=>(t.locale??U())===`fr`?lRe(e):uRe(e)),fRe=()=>`Langue de la voix`,pRe=()=>`Voice language`,mRe=((e={},t={})=>(t.locale??U())===`fr`?fRe(e):pRe(e)),hRe=()=>`Automatique (langue de l'interface)`,gRe=()=>`Automatic (UI language)`,_Re=((e={},t={})=>(t.locale??U())===`fr`?hRe(e):gRe(e)),vRe=()=>`Vitesse de lecture`,yRe=()=>`Speaking rate`,bRe=((e={},t={})=>(t.locale??U())===`fr`?vRe(e):yRe(e)),xRe=()=>`Lente (0,75×)`,SRe=()=>`Slow (0.75×)`,CRe=((e={},t={})=>(t.locale??U())===`fr`?xRe(e):SRe(e)),wRe=()=>`Normale (1×)`,TRe=()=>`Normal (1×)`,ERe=((e={},t={})=>(t.locale??U())===`fr`?wRe(e):TRe(e)),DRe=()=>`Rapide (1,25×)`,ORe=()=>`Fast (1.25×)`,kRe=((e={},t={})=>(t.locale??U())===`fr`?DRe(e):ORe(e)),ARe=()=>`Très rapide (1,5×)`,jRe=()=>`Faster (1.5×)`,MRe=((e={},t={})=>(t.locale??U())===`fr`?ARe(e):jRe(e)),NRe=()=>`Lire automatiquement les réponses`,PRe=()=>`Read replies automatically`,FRe=((e={},t={})=>(t.locale??U())===`fr`?NRe(e):PRe(e)),IRe=()=>`Quand un tour se termine dans un chat ouvert, la réponse est lue à voix haute. Chaque utilisateur peut désactiver la voix dans ses préférences.`,LRe=()=>`When a turn completes in an open chat, the reply is read aloud. Each user can turn voice off in their preferences.`,RRe=((e={},t={})=>(t.locale??U())===`fr`?IRe(e):LRe(e)),zRe=()=>`Tester la voix`,BRe=()=>`Test the voice`,VRe=((e={},t={})=>(t.locale??U())===`fr`?zRe(e):BRe(e)),HRe=()=>`Arrêter`,URe=()=>`Stop`,WRe=((e={},t={})=>(t.locale??U())===`fr`?HRe(e):URe(e)),GRe=()=>`Bonjour, ceci est un test de la synthèse vocale d'Atrium.`,KRe=()=>`Hello, this is a test of Atrium's text-to-speech.`,qRe=((e={},t={})=>(t.locale??U())===`fr`?GRe(e):KRe(e)),JRe=()=>`Aucune instance configurée.`,YRe=()=>`No instances configured.`,XRe=((e={},t={})=>(t.locale??U())===`fr`?JRe(e):YRe(e)),ZRe=()=>`Dictée (micro du composeur)`,QRe=()=>`Dictation (composer microphone)`,$Re=((e={},t={})=>(t.locale??U())===`fr`?ZRe(e):QRe(e)),eze=()=>`Le bouton micro du composeur transcrit votre voix en texte (reconnaissance vocale du navigateur). Il s'active par utilisateur dans Réglages ▸ Personnel ▸ Préférences (« Saisie vocale ») et utilise la langue de la voix de l'instance.`,tze=()=>`The composer's mic button transcribes your voice to text (browser speech recognition). Each user enables it in Settings ▸ Personal ▸ Preferences ("Voice input"); it uses the instance's voice language.`,nze=((e={},t={})=>(t.locale??U())===`fr`?eze(e):tze(e)),rze=()=>`Conversation temps réel (Talk)`,ize=()=>`Realtime conversation (Talk)`,aze=((e={},t={})=>(t.locale??U())===`fr`?rze(e):ize(e)),oze=()=>`À venir`,sze=()=>`Coming soon`,cze=((e={},t={})=>(t.locale??U())===`fr`?oze(e):sze(e)),lze=()=>`Conversation vocale bidirectionnelle en continu (WebRTC temps réel). Non disponible pour le moment — la lecture vocale et la dictée ci-dessus couvrent déjà l'aller-retour voix de base.`,uze=()=>`Continuous two-way voice conversation (realtime WebRTC). Not available yet — read-aloud plus dictation above already cover the basic voice round-trip.`,dze=((e={},t={})=>(t.locale??U())===`fr`?lze(e):uze(e)),fze=()=>`Prêt`,pze=()=>`Ready`,mze=((e={},t={})=>(t.locale??U())===`fr`?fze(e):pze(e)),hze=()=>`Indisponible`,gze=()=>`Unavailable`,_ze=((e={},t={})=>(t.locale??U())===`fr`?hze(e):gze(e)),vze=()=>`Lire à voix haute`,yze=()=>`Read aloud`,bze=((e={},t={})=>(t.locale??U())===`fr`?vze(e):yze(e)),xze=()=>`Arrêter la lecture`,Sze=()=>`Stop reading`,Cze=((e={},t={})=>(t.locale??U())===`fr`?xze(e):Sze(e)),wze=()=>`Dicter au micro`,Tze=()=>`Dictate`,Eze=((e={},t={})=>(t.locale??U())===`fr`?wze(e):Tze(e)),Dze=()=>`Arrêter la dictée`,Oze=()=>`Stop dictation`,kze=((e={},t={})=>(t.locale??U())===`fr`?Dze(e):Oze(e)),Aze=()=>`Micro refusé — autorisez l'accès au micro dans le navigateur.`,jze=()=>`Microphone denied — allow mic access in the browser.`,Mze=((e={},t={})=>(t.locale??U())===`fr`?Aze(e):jze(e)),Nze=()=>`La dictée n'est pas supportée par ce navigateur.`,Pze=()=>`Dictation is not supported by this browser.`,Fze=((e={},t={})=>(t.locale??U())===`fr`?Nze(e):Pze(e)),Ize=e=>`La dictée s'est interrompue (${e?.code}).`,Lze=e=>`Dictation stopped (${e?.code}).`,Rze=((e,t={})=>(t.locale??U())===`fr`?Ize(e):Lze(e)),zze=()=>`Français (fr-FR)`,Bze=()=>`Français (fr-FR)`,Vze=((e={},t={})=>(t.locale??U())===`fr`?zze(e):Bze(e)),Hze=()=>`English (en-US)`,Uze=()=>`English (en-US)`,Wze=((e={},t={})=>(t.locale??U())===`fr`?Hze(e):Uze(e)),Gze=()=>`English (en-GB)`,Kze=()=>`English (en-GB)`,qze=((e={},t={})=>(t.locale??U())===`fr`?Gze(e):Kze(e)),Jze=()=>`Deutsch (de-DE)`,Yze=()=>`Deutsch (de-DE)`,Xze=((e={},t={})=>(t.locale??U())===`fr`?Jze(e):Yze(e)),Zze=()=>`Español (es-ES)`,Qze=()=>`Español (es-ES)`,$ze=((e={},t={})=>(t.locale??U())===`fr`?Zze(e):Qze(e)),eBe=()=>`Lecture vocale automatique`,tBe=()=>`Automatic read-aloud`,nBe=((e={},t={})=>(t.locale??U())===`fr`?eBe(e):tBe(e)),rBe=()=>`Quand une instance active la lecture automatique des réponses, votre navigateur les lit à voix haute. Décochez pour rester silencieux (le bouton « Lire à voix haute » reste disponible).`,iBe=()=>`When an instance enables automatic reply reading, your browser reads them aloud. Uncheck to stay silent (the "Read aloud" button remains available).`,aBe=((e={},t={})=>(t.locale??U())===`fr`?rBe(e):iBe(e)),oBe=()=>`Fonctionnalité activée (système)`,sBe=()=>`Feature enabled (system)`,cBe=((e={},t={})=>(t.locale??U())===`fr`?oBe(e):sBe(e)),lBe=()=>`Micro : activé (système)`,uBe=()=>`Mic: enabled (system)`,dBe=((e={},t={})=>(t.locale??U())===`fr`?lBe(e):uBe(e)),fBe=()=>`Micro : désactivé (système)`,pBe=()=>`Mic: disabled (system)`,mBe=((e={},t={})=>(t.locale??U())===`fr`?fBe(e):pBe(e)),hBe=()=>`Lecture à voix haute`,gBe=()=>`Read-aloud`,_Be=((e={},t={})=>(t.locale??U())===`fr`?hBe(e):gBe(e)),vBe=()=>`Personnalisé`,yBe=()=>`Custom`,bBe=((e={},t={})=>(t.locale??U())===`fr`?vBe(e):yBe(e)),xBe=()=>`Moteur de lecture`,SBe=()=>`Read-aloud engine`,CBe=((e={},t={})=>(t.locale??U())===`fr`?xBe(e):SBe(e)),wBe=()=>`Navigateur (voix système)`,TBe=()=>`Browser (system voices)`,EBe=((e={},t={})=>(t.locale??U())===`fr`?wBe(e):TBe(e)),DBe=()=>`Voix de la passerelle`,OBe=()=>`Gateway voice`,kBe=((e={},t={})=>(t.locale??U())===`fr`?DBe(e):OBe(e)),ABe=()=>`La synthèse est produite par la passerelle de l'instance (provider TTS configuré côté gateway : Edge gratuit, OpenAI, ElevenLabs…). L'audio est généré à la demande puis joué dans le navigateur.`,jBe=()=>`Synthesis is produced by the instance's gateway (TTS provider configured gateway-side: free Edge, OpenAI, ElevenLabs…). Audio is generated on demand and played in the browser.`,MBe=((e={},t={})=>(t.locale??U())===`fr`?ABe(e):jBe(e)),NBe=()=>`La synthèse vocale de la passerelle a échoué — réessayez.`,PBe=()=>`Gateway text-to-speech failed — try again.`,FBe=((e={},t={})=>(t.locale??U())===`fr`?NBe(e):PBe(e)),IBe=()=>`Synthèse de la voix…`,LBe=()=>`Synthesizing voice…`,RBe=((e={},t={})=>(t.locale??U())===`fr`?IBe(e):LBe(e)),zBe=()=>`Lecture en cours`,BBe=()=>`Now reading`,VBe=((e={},t={})=>(t.locale??U())===`fr`?zBe(e):BBe(e)),HBe=()=>`Raccourci de dictée`,UBe=()=>`Dictation shortcut`,WBe=((e={},t={})=>(t.locale??U())===`fr`?HBe(e):UBe(e)),GBe=()=>`Un raccourci clavier qui démarre/arrête la dictée dans le composeur. Nécessite ⌘/Ctrl ou ⌥/Alt.`,KBe=()=>`A keyboard shortcut that starts/stops dictation in the composer. Requires ⌘/Ctrl or ⌥/Alt.`,qBe=((e={},t={})=>(t.locale??U())===`fr`?GBe(e):KBe(e)),JBe=()=>`Appuyez sur la combinaison souhaitée… (Échap pour annuler)`,YBe=()=>`Press the desired combination… (Escape to cancel)`,XBe=((e={},t={})=>(t.locale??U())===`fr`?JBe(e):YBe(e)),ZBe=()=>`Combinaison invalide — utilisez ⌘/Ctrl ou ⌥/Alt plus une lettre ou un chiffre.`,QBe=()=>`Invalid combination — use ⌘/Ctrl or ⌥/Alt plus a letter or digit.`,$Be=((e={},t={})=>(t.locale??U())===`fr`?ZBe(e):QBe(e)),eVe=()=>`Enregistrer un raccourci`,tVe=()=>`Record a shortcut`,nVe=((e={},t={})=>(t.locale??U())===`fr`?eVe(e):tVe(e)),rVe=()=>`Modifier`,iVe=()=>`Change`,aVe=((e={},t={})=>(t.locale??U())===`fr`?rVe(e):iVe(e)),oVe=()=>`Annuler`,sVe=()=>`Cancel`,cVe=((e={},t={})=>(t.locale??U())===`fr`?oVe(e):sVe(e)),lVe=()=>`Effacer`,uVe=()=>`Clear`,dVe=((e={},t={})=>(t.locale??U())===`fr`?lVe(e):uVe(e)),fVe=()=>`Le test de la voix de la passerelle a échoué.`,pVe=()=>`The gateway voice test failed.`,mVe=((e={},t={})=>(t.locale??U())===`fr`?fVe(e):pVe(e)),hVe=()=>`La passerelle de cet agent est momentanément injoignable (peut-être en maintenance). Les messages ne peuvent pas être envoyés pour l'instant — réessayez dans quelques minutes.`,gVe=()=>`This agent's gateway is temporarily unreachable (it may be under maintenance). Messages can't be sent right now — try again in a few minutes.`,_Ve=((e={},t={})=>(t.locale??U())===`fr`?hVe(e):gVe(e)),vVe=()=>`Ajouter un signet`,yVe=()=>`Add bookmark`,bVe=((e={},t={})=>(t.locale??U())===`fr`?vVe(e):yVe(e)),xVe=()=>`Retirer le signet`,SVe=()=>`Remove bookmark`,CVe=((e={},t={})=>(t.locale??U())===`fr`?xVe(e):SVe(e)),wVe=()=>`Renommer`,TVe=()=>`Rename`,EVe=((e={},t={})=>(t.locale??U())===`fr`?wVe(e):TVe(e)),DVe=()=>`Supprimer`,OVe=()=>`Delete`,kVe=((e={},t={})=>(t.locale??U())===`fr`?DVe(e):OVe(e)),AVe=()=>`Nom du signet`,jVe=()=>`Bookmark name`,MVe=((e={},t={})=>(t.locale??U())===`fr`?AVe(e):jVe(e)),NVe=()=>`Signet`,PVe=()=>`Bookmark`,FVe=((e={},t={})=>(t.locale??U())===`fr`?NVe(e):PVe(e)),IVe=()=>`Signet précédent`,LVe=()=>`Previous bookmark`,RVe=((e={},t={})=>(t.locale??U())===`fr`?IVe(e):LVe(e)),zVe=()=>`Signet suivant`,BVe=()=>`Next bookmark`,VVe=((e={},t={})=>(t.locale??U())===`fr`?zVe(e):BVe(e)),HVe=()=>`Signets`,UVe=()=>`Bookmarks`,WVe=((e={},t={})=>(t.locale??U())===`fr`?HVe(e):UVe(e)),GVe=e=>`${e?.count} signet(s) hors de la fenêtre chargée`,KVe=e=>`${e?.count} bookmark(s) outside the loaded window`,qVe=((e,t={})=>(t.locale??U())===`fr`?GVe(e):KVe(e)),JVe=()=>`Contient des signets`,YVe=()=>`Has bookmarks`,XVe=((e={},t={})=>(t.locale??U())===`fr`?JVe(e):YVe(e)),ZVe=()=>`Liste des signets`,QVe=()=>`Bookmark list`,$Ve=((e={},t={})=>(t.locale??U())===`fr`?ZVe(e):QVe(e)),eHe=()=>`Copier la référence de conversation`,tHe=()=>`Copy conversation reference`,nHe=((e={},t={})=>(t.locale??U())===`fr`?eHe(e):tHe(e)),rHe=e=>`Référence copiée : ${e?.reference}`,iHe=e=>`Reference copied: ${e?.reference}`,aHe=((e,t={})=>(t.locale??U())===`fr`?rHe(e):iHe(e)),oHe=()=>`Impossible de copier la référence`,sHe=()=>`Could not copy the reference`,cHe=((e={},t={})=>(t.locale??U())===`fr`?oHe(e):sHe(e)),lHe=()=>`Conversation attachée en fichier`,uHe=()=>`Conversation attached as a file`,dHe=((e={},t={})=>(t.locale??U())===`fr`?lHe(e):uHe(e)),fHe=()=>`Impossible d'attacher la conversation référencée`,pHe=()=>`Could not attach the referenced conversation`,mHe=((e={},t={})=>(t.locale??U())===`fr`?fHe(e):pHe(e)),hHe=()=>`Éditer`,gHe=()=>`Edit`,_He=((e={},t={})=>(t.locale??U())===`fr`?hHe(e):gHe(e)),vHe=()=>`Enregistrement…`,yHe=()=>`Saving…`,bHe=((e={},t={})=>(t.locale??U())===`fr`?vHe(e):yHe(e)),xHe=()=>`Brouillon enregistré`,SHe=()=>`Draft saved`,CHe=((e={},t={})=>(t.locale??U())===`fr`?xHe(e):SHe(e)),wHe=()=>`Impossible d'enregistrer le brouillon`,THe=()=>`Could not save the draft`,EHe=((e={},t={})=>(t.locale??U())===`fr`?wHe(e):THe(e)),DHe=()=>`Abandonner le brouillon`,OHe=()=>`Discard draft`,kHe=((e={},t={})=>(t.locale??U())===`fr`?DHe(e):OHe(e)),AHe=()=>`Utiliser dans le prompt`,jHe=()=>`Use in prompt`,MHe=((e={},t={})=>(t.locale??U())===`fr`?AHe(e):jHe(e)),NHe=()=>`Version modifiée jointe au prompt`,PHe=()=>`Edited version attached to the prompt`,FHe=((e={},t={})=>(t.locale??U())===`fr`?NHe(e):PHe(e)),IHe=()=>`Version modifiée insérée dans le prompt`,LHe=()=>`Edited version inserted into the prompt`,RHe=((e={},t={})=>(t.locale??U())===`fr`?IHe(e):LHe(e)),zHe=()=>`Impossible d'ajouter le document au prompt`,BHe=()=>`Could not add the document to the prompt`,VHe=((e={},t={})=>(t.locale??U())===`fr`?zHe(e):BHe(e)),HHe=()=>`Le composeur n'est pas disponible`,UHe=()=>`The composer is not available`,WHe=((e={},t={})=>(t.locale??U())===`fr`?HHe(e):UHe(e)),GHe=()=>`Brouillon — votre version modifiée est affichée`,KHe=()=>`Draft — your edited version is shown`,qHe=((e={},t={})=>(t.locale??U())===`fr`?GHe(e):KHe(e)),JHe=()=>`Brouillon basé sur une version antérieure de ce document`,YHe=()=>`Draft based on an earlier version of this document`,XHe=((e={},t={})=>(t.locale??U())===`fr`?JHe(e):YHe(e)),ZHe=()=>`Une nouvelle version de ce document a été livrée`,QHe=()=>`A new version of this document was delivered`,$He=((e={},t={})=>(t.locale??U())===`fr`?ZHe(e):QHe(e)),eUe=()=>`L'ouvrir`,tUe=()=>`Open it`,nUe=((e={},t={})=>(t.locale??U())===`fr`?eUe(e):tUe(e)),rUe=()=>`(version modifiée par l'utilisateur) :`,iUe=()=>`(edited by the user):`,aUe=((e={},t={})=>(t.locale??U())===`fr`?rUe(e):iUe(e)),oUe=()=>`Trop volumineux pour une insertion en ligne sur cette instance — réduisez le document ou utilisez une instance acceptant les pièces jointes`,sUe=()=>`Too large to insert inline on this instance — trim the document or use an attachment-capable instance`,cUe=((e={},t={})=>(t.locale??U())===`fr`?oUe(e):sUe(e)),lUe=()=>`Impossible d'abandonner le brouillon — vérifiez la connexion et réessayez`,uUe=()=>`Could not discard the draft — check your connection and retry`,dUe=((e={},t={})=>(t.locale??U())===`fr`?lUe(e):uUe(e)),fUe=()=>`Non appliqué — les brouillons personnels sont désactivés pendant l'usurpation`,pUe=()=>`Not applied — personal drafts are disabled while impersonating`,mUe=((e={},t={})=>(t.locale??U())===`fr`?fUe(e):pUe(e)),U7=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),hUe=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),gUe=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),W7=e=>{let t=gUe(e);return t.charAt(0).toUpperCase()+t.slice(1)},G7={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},_Ue=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},vUe=(0,T.createContext)({}),yUe=()=>(0,T.useContext)(vUe),bUe=(0,T.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=yUe()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,T.createElement)(`svg`,{ref:c,...G7,width:t??l??G7.width,height:t??l??G7.height,stroke:e??f,strokeWidth:m,className:U7(`lucide`,p,i),...!a&&!_Ue(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,T.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),xUe=(e,t)=>{let n=(0,T.forwardRef)(({className:n,...r},i)=>(0,T.createElement)(bUe,{ref:i,iconNode:t,className:U7(`lucide-${hUe(W7(e))}`,`lucide-${e}`,n),...r}));return n.displayName=W7(e),n};function K7(e,t){return new Proxy({},{get(n,r){if(typeof r==`string`)return K7(e,[...t,r]);if(r===Ie){if(t.length<1){let n=[e,...t].join(`.`);throw Error(`API path is expected to be of the form \`${e}.childComponent.functionName\`. Found: \`${n}\``)}return`_reference/childComponent/`+t.join(`/`)}else return}})}var SUe=()=>K7(`components`,[]),CUe=He;SUe();var q7=n(t(),1),W=i();function J7(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Y7(...e){return t=>{let n=!1,r=e.map(e=>{let r=J7(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():J7(e[t],null)}}}}function G(...e){return T.useCallback(Y7(...e),e)}function X7(e){let t=T.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];Q7(r)&&typeof $7==`function`&&(r=$7(r._payload)),T.Children.forEach(r,e=>{if(kUe(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;Q7(n)&&typeof $7==`function`&&(n=$7(n._payload)),a=EUe(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=T.cloneElement(a,void 0,s):!o&&T.Children.count(r)===1&&T.isValidElement(r)&&(a=r);let c=a?OUe(a):void 0,l=G(n,c);if(!a){if(r||r===0)throw Error(o?NUe(e):MUe(e));return r}let u=DUe(i,a.props??{});return a.type!==T.Fragment&&(u.ref=n?l:c),T.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}var wUe=X7(`Slot`),Z7=Symbol.for(`radix.slottable`);function TUe(e){let t=e=>`child`in e?e.children(e.child):e.children;return t.displayName=`${e}.Slottable`,t.__radixId=Z7,t}var EUe=(e,t)=>{if(`child`in e.props){let t=e.props.child;return T.isValidElement(t)?T.cloneElement(t,void 0,e.props.children(t.props.children)):null}return T.isValidElement(t)?t:null};function DUe(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function OUe(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function kUe(e){return T.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Z7}var AUe=Symbol.for(`react.lazy`);function Q7(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===AUe&&`_payload`in e&&jUe(e._payload)}function jUe(e){return typeof e==`object`&&!!e&&`then`in e}var MUe=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,NUe=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,$7=T.use,K=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=X7(`Primitive.${t}`),r=T.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,W.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function e9(e,t){e&&q7.flushSync(()=>e.dispatchEvent(t))}typeof window<`u`&&window.document&&window.document.createElement;function t9(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function q(e){let t=T.useRef(e);return T.useEffect(()=>{t.current=e}),T.useMemo(()=>((...e)=>t.current?.(...e)),[])}function n9(e,t=globalThis?.document){let n=q(e);T.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}function PUe(e,t){let n=T.createContext(t);n.displayName=e+`Context`;let r=e=>{let{children:t,...r}=e,i=T.useMemo(()=>r,Object.values(r));return(0,W.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=T.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function FUe(e,t=[]){let n=[];function r(t,r){let i=T.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=T.useMemo(()=>o,Object.values(o));return(0,W.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=T.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>T.createContext(e));return function(n){let r=n?.[e]||t;return T.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,IUe(i,...t)]}function IUe(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return T.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var J=globalThis?.document?T.useLayoutEffect:()=>{},LUe=T.useInsertionEffect||J;function RUe({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=zUe({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=T.useRef(e!==void 0);T.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,T.useCallback(t=>{if(s){let n=BUe(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function zUe({defaultProp:e,onChange:t}){let[n,r]=T.useState(e),i=T.useRef(n),a=T.useRef(t);return LUe(()=>{a.current=t},[t]),T.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function BUe(e){return typeof e==`function`}function VUe(e,t){return T.useReducer((e,n)=>t[e][n]??e,e)}var r9=e=>{let{present:t,children:n}=e,r=HUe(t),i=typeof n==`function`?n({present:r.isPresent}):T.Children.only(n),a=UUe(r.ref,WUe(i));return typeof n==`function`||r.isPresent?T.cloneElement(i,{ref:a}):null};r9.displayName=`Presence`;function HUe(e){let[t,n]=T.useState(),r=T.useRef(null),i=T.useRef(e),a=T.useRef(`none`),[o,s]=VUe(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return T.useEffect(()=>{let e=a9(r.current);a.current=o===`mounted`?e:`none`},[o]),J(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=a9(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),J(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=a9(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=a9(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:T.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function i9(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function UUe(...e){let t=T.useRef(e);return t.current=e,T.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=i9(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():i9(n[e],null)}}},[])}function a9(e){return e?.animationName||`none`}function WUe(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var GUe=T.useId||(()=>void 0),KUe=0;function qUe(e){let[t,n]=T.useState(GUe());return J(()=>{e||n(e=>e??String(KUe++))},[e]),e||(t?`radix-${t}`:``)}var JUe=`DismissableLayer`,o9=`dismissableLayer.update`,YUe=`dismissableLayer.pointerDownOutside`,XUe=`dismissableLayer.focusOutside`,s9,c9=T.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),l9=T.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...c}=e,l=T.useContext(c9),[u,d]=T.useState(null),f=u?.ownerDocument??globalThis?.document,[,p]=T.useState({}),m=G(t,e=>d(e)),h=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),_=h.indexOf(g),v=u?h.indexOf(u):-1,ee=l.layersWithOutsidePointerEventsDisabled.size>0,y=v>=_,te=$Ue(e=>{let t=e.target,n=[...l.branches].some(e=>e.contains(t));!y||n||(i?.(e),o?.(e),e.defaultPrevented||s?.())},f),b=eWe(e=>{let t=e.target;[...l.branches].some(e=>e.contains(t))||(a?.(e),o?.(e),e.defaultPrevented||s?.())},f);return n9(e=>{v===l.layers.size-1&&(r?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},f),T.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(s9=f.body.style.pointerEvents,f.body.style.pointerEvents=`none`),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),u9(),()=>{n&&(l.layersWithOutsidePointerEventsDisabled.delete(u),l.layersWithOutsidePointerEventsDisabled.size===0&&(f.body.style.pointerEvents=s9))}},[u,f,n,l]),T.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),u9())},[u,l]),T.useEffect(()=>{let e=()=>p({});return document.addEventListener(o9,e),()=>document.removeEventListener(o9,e)},[]),(0,W.jsx)(K.div,{...c,ref:m,style:{pointerEvents:ee?y?`auto`:`none`:void 0,...e.style},onFocusCapture:t9(e.onFocusCapture,b.onFocusCapture),onBlurCapture:t9(e.onBlurCapture,b.onBlurCapture),onPointerDownCapture:t9(e.onPointerDownCapture,te.onPointerDownCapture)})});l9.displayName=JUe;var ZUe=`DismissableLayerBranch`,QUe=T.forwardRef((e,t)=>{let n=T.useContext(c9),r=T.useRef(null),i=G(t,r);return T.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,W.jsx)(K.div,{...e,ref:i})});QUe.displayName=ZUe;function $Ue(e,t=globalThis?.document){let n=q(e),r=T.useRef(!1),i=T.useRef(()=>{});return T.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){d9(YUe,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function eWe(e,t=globalThis?.document){let n=q(e),r=T.useRef(!1);return T.useEffect(()=>{let e=e=>{e.target&&!r.current&&d9(XUe,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function u9(){let e=new CustomEvent(o9);document.dispatchEvent(e)}function d9(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?e9(i,a):i.dispatchEvent(a)}var f9=`focusScope.autoFocusOnMount`,p9=`focusScope.autoFocusOnUnmount`,m9={bubbles:!1,cancelable:!0},tWe=`FocusScope`,h9=T.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=T.useState(null),l=q(i),u=q(a),d=T.useRef(null),f=G(t,e=>c(e)),p=T.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;T.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:Y(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||Y(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Y(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),T.useEffect(()=>{if(s){v9.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(f9,m9);s.addEventListener(f9,l),s.dispatchEvent(t),t.defaultPrevented||(nWe(sWe(g9(s)),{select:!0}),document.activeElement===e&&Y(s))}return()=>{s.removeEventListener(f9,l),setTimeout(()=>{let t=new CustomEvent(p9,m9);s.addEventListener(p9,u),s.dispatchEvent(t),t.defaultPrevented||Y(e??document.body,{select:!0}),s.removeEventListener(p9,u),v9.remove(p)},0)}}},[s,l,u,p]);let m=T.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=rWe(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&Y(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&Y(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,W.jsx)(K.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});h9.displayName=tWe;function nWe(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Y(r,{select:t}),document.activeElement!==n)return}function rWe(e){let t=g9(e);return[_9(t,e),_9(t.reverse(),e)]}function g9(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function _9(e,t){for(let n of e)if(!iWe(n,{upTo:t}))return n}function iWe(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function aWe(e){return e instanceof HTMLInputElement&&`select`in e}function Y(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&aWe(e)&&t&&e.select()}}var v9=oWe();function oWe(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=y9(e,t),e.unshift(t)},remove(t){e=y9(e,t),e[0]?.resume()}}}function y9(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function sWe(e){return e.filter(e=>e.tagName!==`A`)}var cWe=`Portal`,b9=T.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=T.useState(!1);J(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?q7.createPortal((0,W.jsx)(K.div,{...r,ref:t}),o):null});b9.displayName=cWe;var x9=0,S9=null;function lWe(){T.useEffect(()=>{S9||={start:C9(),end:C9()};let{start:e,end:t}=S9;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),x9++,()=>{x9===1&&(S9?.start.remove(),S9?.end.remove(),S9=null),x9=Math.max(0,x9-1)}},[])}function C9(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var X=function(){return X=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},X.apply(this,arguments)};function w9(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function uWe(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var T9=`right-scroll-bar-position`,E9=`width-before-scroll-bar`,dWe=`with-scroll-bars-hidden`,fWe=`--removed-body-scroll-bar-size`;function D9(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function pWe(e,t){var n=(0,T.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var mWe=typeof window<`u`?T.useLayoutEffect:T.useEffect,O9=new WeakMap;function hWe(e,t){var n=pWe(t||null,function(t){return e.forEach(function(e){return D9(e,t)})});return mWe(function(){var t=O9.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||D9(e,null)}),i.forEach(function(e){r.has(e)||D9(e,a)})}O9.set(n,e)},[e]),n}function gWe(e){return e}function _We(e,t){t===void 0&&(t=gWe);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function vWe(e){e===void 0&&(e={});var t=_We(null);return t.options=X({async:!0,ssr:!1},e),t}var k9=function(e){var t=e.sideCar,n=w9(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return T.createElement(r,X({},n))};k9.isSideCarExport=!0;function yWe(e,t){return e.useMedium(t),k9}var A9=vWe(),j9=function(){},M9=T.forwardRef(function(e,t){var n=T.useRef(null),r=T.useState({onScrollCapture:j9,onWheelCapture:j9,onTouchMoveCapture:j9}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,ee=e.gapMode,y=w9(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),te=f,b=hWe([n,t]),x=X(X({},y),i);return T.createElement(T.Fragment,null,u&&T.createElement(te,{sideCar:A9,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:ee}),o?T.cloneElement(T.Children.only(s),X(X({},x),{ref:b})):T.createElement(v,X({},x,{className:c,ref:b}),s))});M9.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},M9.classNames={fullWidth:E9,zeroRight:T9};var N9,bWe=function(){if(N9)return N9;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function xWe(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=bWe();return t&&e.setAttribute(`nonce`,t),e}function SWe(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function CWe(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var wWe=function(){var e=0,t=null;return{add:function(n){e==0&&(t=xWe())&&(SWe(t,n),CWe(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},TWe=function(){var e=wWe();return function(t,n){T.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},P9=function(){var e=TWe();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},EWe={left:0,top:0,right:0,gap:0},F9=function(e){return parseInt(e||``,10)||0},DWe=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[F9(n),F9(r),F9(i)]},OWe=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return EWe;var t=DWe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},kWe=P9(),I9=`data-scroll-locked`,AWe=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
5
- .${dWe} {
6
- overflow: hidden ${r};
7
- padding-right: ${s}px ${r};
8
- }
9
- body[${I9}] {
10
- overflow: hidden ${r};
11
- overscroll-behavior: contain;
12
- ${[t&&`position: relative ${r};`,n===`margin`&&`
13
- padding-left: ${i}px;
14
- padding-top: ${a}px;
15
- padding-right: ${o}px;
16
- margin-left:0;
17
- margin-top:0;
18
- margin-right: ${s}px ${r};
19
- `,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
20
- }
21
-
22
- .${T9} {
23
- right: ${s}px ${r};
24
- }
25
-
26
- .${E9} {
27
- margin-right: ${s}px ${r};
28
- }
29
-
30
- .${T9} .${T9} {
31
- right: 0 ${r};
32
- }
33
-
34
- .${E9} .${E9} {
35
- margin-right: 0 ${r};
36
- }
37
-
38
- body[${I9}] {
39
- ${fWe}: ${s}px;
40
- }
41
- `},L9=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},jWe=function(){T.useEffect(function(){return document.body.setAttribute(I9,(L9()+1).toString()),function(){var e=L9()-1;e<=0?document.body.removeAttribute(I9):document.body.setAttribute(I9,e.toString())}},[])},MWe=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;jWe();var a=T.useMemo(function(){return OWe(i)},[i]);return T.createElement(kWe,{styles:AWe(a,!t,i,n?``:`!important`)})},R9=!1;if(typeof window<`u`)try{var z9=Object.defineProperty({},"passive",{get:function(){return R9=!0,!0}});window.addEventListener(`test`,z9,z9),window.removeEventListener(`test`,z9,z9)}catch{R9=!1}var Z=R9?{passive:!1}:!1,NWe=function(e){return e.tagName===`TEXTAREA`},B9=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!NWe(e)&&n[t]===`visible`)},PWe=function(e){return B9(e,`overflowY`)},FWe=function(e){return B9(e,`overflowX`)},V9=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),H9(e,r)){var i=U9(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},IWe=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},LWe=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},H9=function(e,t){return e===`v`?PWe(t):FWe(t)},U9=function(e,t){return e===`v`?IWe(t):LWe(t)},RWe=function(e,t){return e===`h`&&t===`rtl`?-1:1},zWe=function(e,t,n,r,i){var a=RWe(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=U9(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&H9(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},W9=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},G9=function(e){return[e.deltaX,e.deltaY]},K9=function(e){return e&&`current`in e?e.current:e},BWe=function(e,t){return e[0]===t[0]&&e[1]===t[1]},VWe=function(e){return`
42
- .block-interactivity-${e} {pointer-events: none;}
43
- .allow-interactivity-${e} {pointer-events: all;}
44
- `},HWe=0,Q=[];function UWe(e){var t=T.useRef([]),n=T.useRef([0,0]),r=T.useRef(),i=T.useState(HWe++)[0],a=T.useState(P9)[0],o=T.useRef(e);T.useEffect(function(){o.current=e},[e]),T.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=uWe([e.lockRef.current],(e.shards||[]).map(K9),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=T.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=W9(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=V9(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=V9(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return zWe(h,t,e,h===`h`?s:c,!0)},[]),c=T.useCallback(function(e){var n=e;if(!(!Q.length||Q[Q.length-1]!==a)){var r=`deltaY`in n?G9(n):W9(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&BWe(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(K9).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=T.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:WWe(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=T.useCallback(function(e){n.current=W9(e),r.current=void 0},[]),d=T.useCallback(function(t){l(t.type,G9(t),t.target,s(t,e.lockRef.current))},[]),f=T.useCallback(function(t){l(t.type,W9(t),t.target,s(t,e.lockRef.current))},[]);T.useEffect(function(){return Q.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,Z),document.addEventListener(`touchmove`,c,Z),document.addEventListener(`touchstart`,u,Z),function(){Q=Q.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,Z),document.removeEventListener(`touchmove`,c,Z),document.removeEventListener(`touchstart`,u,Z)}},[]);var p=e.removeScrollBar,m=e.inert;return T.createElement(T.Fragment,null,m?T.createElement(a,{styles:VWe(i)}):null,p?T.createElement(MWe,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function WWe(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var GWe=yWe(A9,UWe),q9=T.forwardRef(function(e,t){return T.createElement(M9,X({},e,{ref:t,sideCar:GWe}))});q9.classNames=M9.classNames;var KWe=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},$=new WeakMap,J9=new WeakMap,Y9={},X9=0,Z9=function(e){return e&&(e.host||Z9(e.parentNode))},qWe=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Z9(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},JWe=function(e,t,n,r){var i=qWe(t,Array.isArray(e)?e:[e]);Y9[n]||(Y9[n]=new WeakMap);var a=Y9[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=($.get(e)||0)+1,l=(a.get(e)||0)+1;$.set(e,c),a.set(e,l),o.push(e),c===1&&i&&J9.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),X9++,function(){o.forEach(function(e){var t=$.get(e)-1,i=a.get(e)-1;$.set(e,t),a.set(e,i),t||(J9.has(e)||e.removeAttribute(r),J9.delete(e)),i||e.removeAttribute(n)}),X9--,X9||($=new WeakMap,$=new WeakMap,J9=new WeakMap,Y9={})}},YWe=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||KWe(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),JWe(r,i,n,`aria-hidden`)):function(){return null}};function XWe(e){let[t,n]=T.useState(void 0);return J(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}function ZWe(...e){return a(r(e))}var Q9=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,$9=r,QWe=(e,t)=>n=>{if(t?.variants==null)return $9(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Q9(t)||Q9(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return $9(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};export{qVe as $,hp as $A,hP as $C,hS as $D,hT as $E,ms as $M,pi as $N,hy as $O,_te as $P,hL as $S,hO as $T,hQ as $_,qEe as $a,hU as $b,q_e as $c,qce as $d,qae as $f,h0 as $g,h3 as $h,qke as $i,mu as $j,hg as $k,qme as $l,h5 as $m,qFe as $n,qCe as $o,qne as $p,qMe as $r,qbe as $s,qRe as $t,qde as $u,hY as $v,hj as $w,hB as $x,hK as $y,cUe as A,Am as AA,AF as AC,AC as AD,AE,kc as AM,Oa as AN,Ab as AO,On as AP,AR as AS,Ak as AT,A$ as A_,cOe as Aa,AW as Ab,cye as Ac,cue as Ad,cse as Af,A2 as Ag,A6 as Ah,cje as Ai,kd as Aj,A_ as Ak,cge as Al,k7 as Am,cLe as An,cTe as Ao,cie as Ap,cPe as Ar,cSe as As,cBe as At,cpe as Au,AX as Av,AM as Aw,AV as Ax,Aq as Ay,MHe as B,em as BA,eF as BC,eC as BD,eE as BE,$s as BM,Qi as BN,eb as BO,Zt as BP,eR as BS,ek as BT,e$ as B_,MDe as Ba,eW as Bb,Mve as Bc,Mle as Bd,Moe as Bf,e2 as Bg,e6 as Bh,MAe as Bi,$u as Bj,e_ as Bk,Mhe as Bl,$5 as Bm,MIe as Bn,Mwe as Bo,Mre as Bp,MNe as Br,Mxe as Bs,Mze as Bt,Mfe as Bu,eX as Bv,eM as Bw,eV as Bx,eq as By,TUe as C,Zm as CA,ZF as CC,ZC as CD,ZE as CE,Xc as CM,Ya as CN,Zb as CO,Yn as CP,ZR as CS,Zk as CT,Z$ as C_,kOe as Ca,ZW as Cb,kye as Cc,kue as Cd,kse as Cf,Z2 as Cg,Z6 as Ch,kje as Ci,Xd as Cj,Z_ as Ck,kge as Cl,kte as Cm,kLe as Cn,kTe as Co,kie as Cp,kPe as Cr,kSe as Cs,kBe as Ct,kpe as Cu,ZX as Cv,ZM as Cw,ZV as Cx,Zq as Cy,xUe as D,zm as DA,zF as DC,zC as DD,zE as DE,Rc as DM,La as DN,zb as DO,Ln as DP,zR as DS,zk as DT,z$ as D_,_Oe as Da,zW as Db,_ye as Dc,_ue as Dd,_se as Df,z2 as Dg,z6 as Dh,_je as Di,Rd as Dj,z_ as Dk,_ge as Dl,R7 as Dm,_Le as Dn,_Te as Do,_ie as Dp,_Pe as Dr,_Se as Ds,_Be as Dt,_pe as Du,zX as Dv,zM as Dw,zV as Dx,zq as Dy,CUe as E,Hm as EA,HF as EC,HC as ED,HE as EE,Vc as EM,Ba as EN,Hb as EO,Bn as EP,HR as ES,Hk as ET,H$ as E_,bOe as Ea,HW as Eb,bye as Ec,bue as Ed,bse as Ef,H2 as Eg,H6 as Eh,bje as Ei,Vd as Ej,H_ as Ek,bge as El,V7 as Em,bLe as En,bTe as Eo,bie as Ep,bPe as Er,bSe as Es,bBe as Et,bpe as Eu,HX as Ev,HM as Ew,HV as Ex,Hq as Ey,qHe as F,hm as FA,hF as FC,hC as FD,hE as FE,mc as FM,pa as FN,hb as FO,pn as FP,hR as FS,hk as FT,h$ as F_,qDe as Fa,hW as Fb,qve as Fc,qle as Fd,qoe as Ff,h2 as Fg,h6 as Fh,qAe as Fi,md as Fj,h_ as Fk,qhe as Fl,m7 as Fm,qIe as Fn,qwe as Fo,qre as Fp,qNe as Fr,qxe as Fs,qze as Ft,qfe as Fu,hX as Fv,hM as Fw,hV as Fx,hq as Fy,_He as G,zp as GA,zP as GC,zS as GD,zT as GE,Rs as GM,Li as GN,zy as GO,It as GP,zL as GS,zO as GT,zQ as G_,_De as Ga,zU as Gb,_ve as Gc,_le as Gd,_oe as Gf,z0 as Gg,z3 as Gh,_Ae as Gi,Ru as Gj,zg as Gk,_he as Gl,z5 as Gm,_Ie as Gn,_we as Go,_re as Gp,_Ne as Gr,_xe as Gs,_ze as Gt,_fe as Gu,zY as Gv,zj as Gw,zB as Gx,zK as Gy,EHe as H,Jp as HA,JP as HC,JS as HD,JT as HE,qs as HM,Ki as HN,Jy as HO,Gt as HP,JL as HS,JO as HT,JQ as H_,EDe as Ha,JU as Hb,Eve as Hc,Ele as Hd,Eoe as Hf,J0 as Hg,J3 as Hh,EAe as Hi,qu as Hj,Jg as Hk,Ehe as Hl,J5 as Hm,EIe as Hn,Ewe as Ho,Ere as Hp,ENe as Hr,Exe as Hs,Eze as Ht,Efe as Hu,JY as Hv,Jj as Hw,JB as Hx,JK as Hy,WHe as I,fm as IA,fF as IC,fC as ID,fE as IE,dc as IM,ua as IN,fb as IO,un as IP,fR as IS,fk as IT,f$ as I_,WDe as Ia,fW as Ib,Wve as Ic,Wle as Id,Woe as If,f2 as Ig,f6 as Ih,WAe as Ii,dd as Ij,f_ as Ik,Whe as Il,d7 as Im,WIe as In,Wwe as Io,Wre as Ip,WNe as Ir,Wxe as Is,Wze as It,Wfe as Iu,fX as Iv,fM as Iw,fV as Ix,fq as Iy,cHe as J,Ap as JA,AP as JC,AS as JD,AT as JE,ks as JM,Oi as JN,Ay as JO,Et as JP,AL as JS,AO as JT,AQ as J_,cDe as Ja,AU as Jb,cve as Jc,cle as Jd,coe as Jf,A0 as Jg,A3 as Jh,cAe as Ji,ku as Jj,Ag as Jk,che as Jl,A5 as Jm,cIe as Jn,cwe as Jo,cre as Jp,cNe as Jr,cxe as Js,cze as Jt,cfe as Ju,AY as Jv,Aj as Jw,AB as Jx,AK as Jy,mHe as K,Ip as KA,IP as KC,IS as KD,IT as KE,Fs as KM,Pi as KN,Iy as KO,Nt as KP,IL as KS,IO as KT,IQ as K_,mDe as Ka,IU as Kb,mve as Kc,mle as Kd,moe as Kf,I0 as Kg,I3 as Kh,mAe as Ki,Fu as Kj,Ig as Kk,mhe as Kl,I5 as Km,mIe as Kn,mwe as Ko,mre as Kp,mNe as Kr,mxe as Ks,mze as Kt,mfe as Ku,IY as Kv,Ij as Kw,IB as Kx,IK as Ky,VHe as L,lm as LA,lF as LC,lC as LD,lE as LE,cc as LM,sa as LN,lb as LO,sn as LP,lR as LS,lk as LT,l$ as L_,VDe as La,lW as Lb,Vve as Lc,Vle as Ld,Voe as Lf,l2 as Lg,l6 as Lh,VAe as Li,cd as Lj,l_ as Lk,Vhe as Ll,c7 as Lm,VIe as Ln,Vwe as Lo,Vre as Lp,VNe as Lr,Vxe as Ls,Vze as Lt,Vfe as Lu,lX as Lv,lM as Lw,lV as Lx,lq as Ly,nUe as M,wm as MA,wF as MC,wC as MD,wE as ME,Cc as MM,Sa as MN,wb as MO,Sn as MP,wR as MS,wk as MT,w$ as M_,nOe as Ma,wW as Mb,nye as Mc,nue as Md,nse as Mf,w2 as Mg,w6 as Mh,nje as Mi,Cd as Mj,w_ as Mk,nge as Ml,C7 as Mm,nLe as Mn,nTe as Mo,nie as Mp,nPe as Mr,nSe as Ms,nBe as Mt,npe as Mu,wX as Mv,wM as Mw,wV as Mx,wq as My,$He as N,xm as NA,xF as NC,xC as ND,xE as NE,bc as NM,ya as NN,xb as NO,yn as NP,xR as NS,xk as NT,x$ as N_,$De as Na,xW as Nb,$ve as Nc,$le as Nd,$oe as Nf,x2 as Ng,x6 as Nh,$Ae as Ni,bd as Nj,x_ as Nk,$he as Nl,b7 as Nm,$Ie as Nn,$we as No,$re as Np,$Ne as Nr,$xe as Ns,$ze as Nt,$fe as Nu,xX as Nv,xM as Nw,xV as Nx,xq as Ny,mUe as O,Im as OA,IF as OC,IC as OD,IE as OE,Fc as OM,Pa as ON,Ib as OO,Pn as OP,IR as OS,Ik as OT,I$ as O_,mOe as Oa,IW as Ob,mye as Oc,mue as Od,mse as Of,I2 as Og,I6 as Oh,mje as Oi,Fd as Oj,I_ as Ok,mge as Ol,F7 as Om,mLe as On,mTe as Oo,mie as Op,mPe as Or,mSe as Os,mBe as Ot,mpe as Ou,IX as Ov,IM as Ow,IV as Ox,Iq as Oy,XHe as P,vm as PA,vF as PC,vC as PD,vE as PE,_c as PM,ga as PN,vb as PO,gn as PP,vR as PS,vk as PT,v$ as P_,XDe as Pa,vW as Pb,Xve as Pc,Xle as Pd,Xoe as Pf,v2 as Pg,v6 as Ph,XAe as Pi,_d as Pj,v_ as Pk,Xhe as Pl,_7 as Pm,XIe as Pn,Xwe as Po,Xre as Pp,XNe as Pr,Xxe as Ps,Xze as Pt,Xfe as Pu,vX as Pv,vM as Pw,vV as Px,vq as Py,XVe as Q,vp as QA,vP as QC,vS as QD,vT as QE,_s as QM,gi as QN,vy as QO,st as QP,vL as QS,vO as QT,vQ as Q_,XEe as Qa,vU as Qb,X_e as Qc,Xce as Qd,Xae as Qf,v0 as Qg,v3 as Qh,Xke as Qi,_u as Qj,vg as Qk,Xme as Ql,v5 as Qm,XFe as Qn,XCe as Qo,Xne as Qp,XMe as Qr,Xbe as Qs,XRe as Qt,Xde as Qu,vY as Qv,vj as Qw,vB as Qx,vK as Qy,RHe as R,om as RA,oF as RC,oC as RD,oE as RE,ac as RM,ia as RN,ob as RO,rn as RP,oR as RS,ok as RT,o$ as R_,RDe as Ra,oW as Rb,Rve as Rc,Rle as Rd,Roe as Rf,o2 as Rg,o6 as Rh,RAe as Ri,ad as Rj,o_ as Rk,Rhe as Rl,a7 as Rm,RIe as Rn,Rwe as Ro,Rre as Rp,RNe as Rr,Rxe as Rs,Rze as Rt,Rfe as Ru,oX as Rv,oM as Rw,oV as Rx,oq as Ry,X7 as S,eh as SA,eI as SC,ew as SD,eD as SE,$c as SM,Qa as SN,ex as SO,Qn as SP,ez as SS,eA as ST,e1 as S_,MOe as Sa,eG as Sb,Mye as Sc,Mue as Sd,Mse as Sf,e4 as Sg,e8 as Sh,Mje as Si,$d as Sj,ev as Sk,Mge as Sl,Mte as Sm,MLe as Sn,MTe as So,Mie as Sp,MPe as Sr,MSe as Ss,MBe as St,Mpe as Su,eZ as Sv,eN as Sw,eH as Sx,eJ as Sy,G as T,Gm as TA,GF as TC,GC as TD,GE as TE,Wc as TM,Ua as TN,Gb as TO,Un as TP,GR as TS,Gk as TT,G$ as T_,COe as Ta,GW as Tb,Cye as Tc,Cue as Td,Cse as Tf,G2 as Tg,G6 as Th,Cje as Ti,Wd as Tj,G_ as Tk,Cge as Tl,Cte as Tm,CLe as Tn,CTe as To,Cie as Tp,CPe as Tr,CSe as Ts,CBe as Tt,Cpe as Tu,GX as Tv,GM as Tw,GV as Tx,Gq as Ty,CHe as U,Gp as UA,GP as UC,GS as UD,GT as UE,Ws as UM,Ui as UN,Gy as UO,Ht as UP,GL as US,GO as UT,GQ as U_,CDe as Ua,GU as Ub,Cve as Uc,Cle as Ud,Coe as Uf,G0 as Ug,G3 as Uh,CAe as Ui,Wu as Uj,Gg as Uk,Che as Ul,G5 as Um,CIe as Un,Cwe as Uo,Cre as Up,CNe as Ur,Cxe as Us,Cze as Ut,Cfe as Uu,GY as Uv,Gj as Uw,GB as Ux,GK as Uy,kHe as V,Zp as VA,ZP as VC,ZS as VD,ZT as VE,Xs as VM,Yi as VN,Zy as VO,Jt as VP,ZL as VS,ZO as VT,ZQ as V_,kDe as Va,ZU as Vb,kve as Vc,kle as Vd,koe as Vf,Z0 as Vg,Z3 as Vh,kAe as Vi,Xu as Vj,Zg as Vk,khe as Vl,X5 as Vm,kIe as Vn,kwe as Vo,kre as Vp,kNe as Vr,kxe as Vs,kze as Vt,kfe as Vu,ZY as Vv,Zj as Vw,ZB as Vx,ZK as Vy,bHe as W,Hp as WA,HP as WC,HS as WD,HT as WE,Vs as WM,Bi as WN,Hy as WO,zt as WP,HL as WS,HO as WT,HQ as W_,bDe as Wa,HU as Wb,bve as Wc,ble as Wd,boe as Wf,H0 as Wg,H3 as Wh,bAe as Wi,Vu as Wj,Hg as Wk,bhe as Wl,H5 as Wm,bIe as Wn,bwe as Wo,bre as Wp,bNe as Wr,bxe as Ws,bze as Wt,bfe as Wu,HY as Wv,Hj as Ww,HB as Wx,HK as Wy,nHe as X,wp as XA,wP as XC,wS as XD,wT as XE,Cs as XM,Si as XN,wy as XO,mte as XP,wL as XS,wO as XT,wQ as X_,nDe as Xa,wU as Xb,nve as Xc,nle as Xd,noe as Xf,w0 as Xg,w3 as Xh,nAe as Xi,Cu as Xj,wg as Xk,nhe as Xl,w5 as Xm,nIe as Xn,nwe as Xo,nre as Xp,nNe as Xr,nxe as Xs,nze as Xt,nfe as Xu,wY as Xv,wj as Xw,wB as Xx,wK as Xy,aHe as Y,Dp as YA,DP as YC,DS as YD,DT as YE,Es as YM,Ti as YN,Dy as YO,hte as YP,DL as YS,DO as YT,DQ as Y_,aDe as Ya,DU as Yb,ave as Yc,ale as Yd,aoe as Yf,D0 as Yg,D3 as Yh,aAe as Yi,Eu as Yj,Dg as Yk,ahe as Yl,D5 as Ym,aIe as Yn,awe as Yo,are as Yp,aNe as Yr,axe as Ys,aze as Yt,afe as Yu,DY as Yv,Dj as Yw,DB as Yx,DK as Yy,$Ve as Z,xp as ZA,xP as ZC,xS as ZD,xT as ZE,bs as ZM,yi as ZN,xy as ZO,vte as ZP,xL as ZS,xO as ZT,xQ as Z_,$Ee as Za,xU as Zb,$_e as Zc,$ce as Zd,$ae as Zf,x0 as Zg,x3 as Zh,$ke as Zi,bu as Zj,xg as Zk,$me as Zl,x5 as Zm,$Fe as Zn,$Ce as Zo,$ne as Zp,$Me as Zr,$be as Zs,$Re as Zt,$de as Zu,xY as Zv,xj as Zw,xB as Zx,xK as Zy,q as _,hh as _A,hI as _C,hw as _D,hD as _E,ml as _M,mo as _N,hx as _O,pr as _P,hz as _S,hA as _T,h1 as __,qOe as _a,hG as _b,qye as _c,que as _d,qse as _f,h4 as _g,h8 as _h,qje as _i,hf as _j,hv as _k,qge as _l,qte as _m,qLe as _n,qTe as _o,qie as _p,qPe as _r,qSe as _s,qBe as _t,qpe as _u,hZ as _v,hN as _w,hH as _x,hJ as _y,q9 as a,Zh as aA,ZI as aC,Zw as aD,ZD as aE,Se as aF,Xl as aM,Xo as aN,Zx as aO,Yr as aP,Zz as aS,ZA as aT,Z1 as a_,kke as aa,ZG as ab,kbe as ac,kde as ad,kce as af,Z4 as ag,Z8 as ah,kMe as ai,Zf as aj,Zv as ak,k_e as al,kne as am,kRe as an,kEe as ao,kae as ap,kFe as ar,kCe as as,kVe as at,kme as au,ZZ as av,ZN as aw,ZH as ax,ZJ as ay,e9 as b,oh as bA,oI as bC,ow as bD,oD as bE,al as bM,io as bN,ox as bO,ir as bP,oz as bS,oA as bT,o1 as b_,ROe as ba,oG as bb,Rye as bc,Rue as bd,Rse as bf,o4 as bg,o8 as bh,Rje as bi,of as bj,ov as bk,Rge as bl,Rte as bm,RLe as bn,RTe as bo,Rie as bp,RPe as br,RSe as bs,RBe as bt,Rpe as bu,oZ as bv,oN as bw,oH as bx,oJ as by,h9 as c,Hh as cA,HI as cC,Hw as cD,HD as cE,w as cF,Vl as cM,Vo as cN,Hx as cO,Br as cP,Hz as cS,HA as cT,H1 as c_,bke as ca,HG as cb,bbe as cc,bde as cd,bce as cf,H4 as cg,H8 as ch,bMe as ci,Hf as cj,Hv as ck,b_e as cl,bne as cm,bRe as cn,bEe as co,bae as cp,bFe as cr,bCe as cs,bVe as ct,bme as cu,HZ as cv,HN as cw,HH as cx,HJ as cy,r9 as d,Nh as dA,NI as dC,Nw as dD,ND as dE,ee as dF,Ml as dM,Mo as dN,Nx as dO,jr as dP,Nz as dS,NA as dT,N1 as d_,dke as da,NG as db,dbe as dc,dde as dd,dce as df,N4 as dg,N8 as dh,dMe as di,Nf as dj,Nv as dk,d_e as dl,dne as dm,dRe as dn,dEe as do,dae as dp,dFe as dr,dCe as ds,dVe as dt,dme as du,NZ as dv,NN as dw,NH as dx,NJ as dy,fg as eA,fL as eC,fT as eD,fO as eE,gte as eF,du as eM,ds as eN,fS as eO,ui as eP,fB as eS,fj as eT,f0 as e_,Wke as ea,fK as eb,Wbe as ec,Wde as ed,Wce as ef,f3 as eg,f5 as eh,WMe as ei,fp as ej,fy as ek,W_e as el,Wne as em,WRe as en,WEe as eo,Wae as ep,WFe as er,WCe as es,WVe as et,Wme as eu,fQ as ev,fP as ew,fU as ex,fY as ey,RUe as f,Ah as fA,AI as fC,Aw as fD,AD as fE,kl as fM,ko as fN,Ax as fO,Or as fP,Az as fS,AA as fT,A1 as f_,cke as fa,AG as fb,cbe as fc,cde as fd,cce as ff,A4 as fg,A8 as fh,cMe as fi,Af as fj,Av as fk,c_e as fl,cne as fm,cRe as fn,cEe as fo,cae as fp,cFe as fr,cCe as fs,cVe as ft,cme as fu,AZ as fv,AN as fw,AH as fx,AJ as fy,n9 as g,vh as gA,vI as gC,vw as gD,vD as gE,_l as gM,_o as gN,vx as gO,gr as gP,vz as gS,vA as gT,v1 as g_,XOe as ga,vG as gb,Xye as gc,Xue as gd,Xse as gf,v4 as gg,v8 as gh,Xje as gi,vf as gj,vv as gk,Xge as gl,Xte as gm,XLe as gn,XTe as go,Xie as gp,XPe as gr,XSe as gs,XBe as gt,Xpe as gu,vZ as gv,vN as gw,vH as gx,vJ as gy,FUe as h,xh as hA,xI as hC,xw as hD,xD as hE,bl as hM,bo as hN,xx as hO,yr as hP,xz as hS,xA as hT,x1 as h_,$Oe as ha,xG as hb,$ye as hc,$ue as hd,$se as hf,x4 as hg,x8 as hh,$je as hi,xf as hj,xv as hk,$ge as hl,$te as hm,$Le as hn,$Te as ho,$ie as hp,$Pe as hr,$Se as hs,$Be as ht,$pe as hu,xZ as hv,xN as hw,xH as hx,xJ as hy,YWe as i,eg as iA,eL as iC,eT as iD,eO as iE,Oe as iF,$l as iM,$o as iN,eS as iO,Qr as iP,eB as iS,ej as iT,e0 as i_,Mke as ia,eK as ib,Mbe as ic,Mde as id,Mce as if,e3 as ig,e5 as ih,MMe as ii,ep as ij,ey as ik,M_e as il,Mne as im,MRe as in,MEe as io,Mae as ip,MFe as ir,MCe as is,MVe as it,Mme as iu,eQ as iv,eP as iw,eU as ix,eY as iy,aUe as j,Dm as jA,DF as jC,DC as jD,DE as jE,Ec as jM,Ta as jN,Db as jO,Tn as jP,DR as jS,Dk as jT,D$ as j_,aOe as ja,DW as jb,aye as jc,aue as jd,ase as jf,D2 as jg,D6 as jh,aje as ji,Ed as jj,D_ as jk,age as jl,E7 as jm,aLe as jn,aTe as jo,aie as jp,aPe as jr,aSe as js,aBe as jt,ape as ju,DX as jv,DM as jw,DV as jx,Dq as jy,dUe as k,Nm as kA,NF as kC,NC as kD,NE as kE,Mc as kM,ja as kN,Nb as kO,jn as kP,NR as kS,Nk as kT,N$ as k_,dOe as ka,NW as kb,dye as kc,due as kd,dse as kf,N2 as kg,N6 as kh,dje as ki,Md as kj,N_ as kk,dge as kl,M7 as km,dLe as kn,dTe as ko,die as kp,dPe as kr,dSe as ks,dBe as kt,dpe as ku,NX as kv,NM as kw,NV as kx,Nq as ky,l9 as l,zh as lA,zI as lC,zw as lD,zD as lE,S as lF,Rl as lM,Ro as lN,zx as lO,Lr as lP,zz as lS,zA as lT,z1 as l_,_ke as la,zG as lb,_be as lc,_de as ld,_ce as lf,z4 as lg,z8 as lh,_Me as li,zf as lj,zv as lk,__e as ll,_ne as lm,_Re as ln,_Ee as lo,_ae as lp,_Fe as lr,_Ce as ls,_Ve as lt,_me as lu,zZ as lv,zN as lw,zH as lx,zJ as ly,PUe as m,wh as mA,wI as mC,ww as mD,wD as mE,Cl as mM,Co as mN,wx as mO,Sr as mP,wz as mS,wA as mT,w1 as m_,nke as ma,wG as mb,nbe as mc,nde as md,nce as mf,w4 as mg,w8 as mh,nMe as mi,wf as mj,wv as mk,n_e as ml,nne as mm,nRe as mn,nEe as mo,nae as mp,nFe as mr,nCe as ms,nVe as mt,nme as mu,wZ as mv,wN as mw,wH as mx,wJ as my,ZWe as n,og as nA,oL as nC,oT as nD,oO as nE,Ee as nF,au as nM,as as nN,oS as nO,ii as nP,oB as nS,oj as nT,o0 as n_,Rke as na,oK as nb,Rbe as nc,Rde as nd,Rce as nf,o3 as ng,o5 as nh,RMe as ni,op as nj,oy as nk,R_e as nl,Rne as nm,RRe as nn,REe as no,Rae as np,RFe as nr,RCe as ns,RVe as nt,Rme as nu,oQ as nv,oP as nw,oU as nx,oY as ny,lWe as o,Jh as oA,JI as oC,Jw as oD,JD as oE,xe as oF,ql as oM,qo as oN,Jx as oO,Kr as oP,Jz as oS,JA as oT,J1 as o_,Eke as oa,JG as ob,Ebe as oc,Ede as od,Ece as of,J4 as og,J8 as oh,EMe as oi,Jf as oj,Jv as ok,E_e as ol,Ene as om,ERe as on,EEe as oo,Eae as op,EFe as or,ECe as os,EVe as ot,Eme as ou,JZ as ov,JN as ow,JH as ox,JJ as oy,J as p,Dh as pA,DI as pC,Dw as pD,DD as pE,El as pM,Eo as pN,Dx as pO,Tr as pP,Dz as pS,DA as pT,D1 as p_,ake as pa,DG as pb,abe as pc,ade as pd,ace as pf,D4 as pg,D8 as ph,aMe as pi,Df as pj,Dv as pk,a_e as pl,ane as pm,aRe as pn,aEe as po,aae as pp,aFe as pr,aCe as ps,aVe as pt,ame as pu,DZ as pv,DN as pw,DH as px,DJ as py,dHe as q,Np as qA,NP as qC,NS as qD,NT as qE,Ms as qM,ji as qN,Ny as qO,U as qP,NL as qS,NO as qT,NQ as q_,dDe as qa,NU as qb,dve as qc,dle as qd,doe as qf,N0 as qg,N3 as qh,dAe as qi,Mu as qj,Ng as qk,dhe as ql,N5 as qm,dIe as qn,dwe as qo,dre as qp,dNe as qr,dxe as qs,dze as qt,dfe as qu,NY as qv,Nj as qw,NB as qx,NK as qy,XWe as r,rg as rA,rL as rC,rT as rD,rO as rE,De as rF,nu as rM,ns as rN,rS as rO,ti as rP,rB as rS,rj as rT,r0 as r_,Fke as ra,rK as rb,Fbe as rc,Fde as rd,Fce as rf,r3 as rg,r5 as rh,FMe as ri,rp as rj,ry as rk,F_e as rl,Fne as rm,FRe as rn,FEe as ro,Fae as rp,FFe as rr,FCe as rs,FVe as rt,Fme as ru,rQ as rv,rP as rw,rU as rx,rY as ry,b9 as s,Gh as sA,GI as sC,Gw as sD,GD as sE,_e as sF,Wl as sM,Wo as sN,Gx as sO,Ur as sP,Gz as sS,GA as sT,G1 as s_,Cke as sa,GG as sb,Cbe as sc,Cde as sd,Cce as sf,G4 as sg,G8 as sh,CMe as si,Gf as sj,Gv as sk,C_e as sl,Cne as sm,CRe as sn,CEe as so,Cae as sp,CFe as sr,CCe as ss,CVe as st,Cme as su,GZ as sv,GN as sw,GH as sx,GJ as sy,QWe as t,lg as tA,lL as tC,lT as tD,lO as tE,P as tF,cu as tM,cs as tN,lS as tO,si as tP,lB as tS,lj as tT,l0 as t_,Vke as ta,lK as tb,Vbe as tc,Vde as td,Vce as tf,l3 as tg,l5 as th,VMe as ti,lp as tj,ly as tk,V_e as tl,Vne as tm,VRe as tn,VEe as to,Vae as tp,VFe as tr,VCe as ts,VVe as tt,Vme as tu,lQ as tv,lP as tw,lU as tx,lY as ty,qUe as u,Ih as uA,II as uC,Iw as uD,ID as uE,v as uF,Fl as uM,Fo as uN,Ix as uO,Pr as uP,Iz as uS,IA as uT,I1 as u_,mke as ua,IG as ub,mbe as uc,mde as ud,mce as uf,I4 as ug,I8 as uh,mMe as ui,If as uj,Iv as uk,m_e as ul,mne as um,mRe as un,mEe as uo,mae as up,mFe as ur,mCe as us,mVe as ut,mme as uu,IZ as uv,IN as uw,IH as ux,IJ as uy,t9 as v,fh as vA,fI as vC,fw as vD,fD as vE,dl as vM,uo as vN,fx as vO,ur as vP,fz as vS,fA as vT,f1 as v_,WOe as va,fG as vb,Wye as vc,Wue as vd,Wse as vf,f4 as vg,f8 as vh,Wje as vi,ff as vj,fv as vk,Wge as vl,Wte as vm,WLe as vn,WTe as vo,Wie as vp,WPe as vr,WSe as vs,WBe as vt,Wpe as vu,fZ as vv,fN as vw,fH as vx,fJ as vy,Y7 as w,Jm as wA,JF as wC,JC as wD,JE as wE,qc as wM,Ka as wN,Jb as wO,Kn as wP,JR as wS,Jk as wT,J$ as w_,EOe as wa,JW as wb,Eye as wc,Eue as wd,Ese as wf,J2 as wg,J6 as wh,Eje as wi,qd as wj,J_ as wk,Ege as wl,Ete as wm,ELe as wn,ETe as wo,Eie as wp,EPe as wr,ESe as ws,EBe as wt,Epe as wu,JX as wv,JM as ww,JV as wx,Jq as wy,wUe as x,rh as xA,rI as xC,rw as xD,rD as xE,nl as xM,to as xN,rx as xO,tr as xP,rz as xS,rA as xT,r1 as x_,FOe as xa,rG as xb,Fye as xc,Fue as xd,Fse as xf,r4 as xg,r8 as xh,Fje as xi,nf as xj,rv as xk,Fge as xl,Fte as xm,FLe as xn,FTe as xo,Fie as xp,FPe as xr,FSe as xs,FBe as xt,Fpe as xu,rZ as xv,rN as xw,rH as xx,rJ as xy,K as y,lh as yA,lI as yC,lw as yD,lD as yE,cl as yM,so as yN,lx as yO,sr as yP,lz as yS,lA as yT,l1 as y_,VOe as ya,lG as yb,Vye as yc,Vue as yd,Vse as yf,l4 as yg,l8 as yh,Vje as yi,lf as yj,lv as yk,Vge as yl,Vte as ym,VLe as yn,VTe as yo,Vie as yp,VPe as yr,VSe as ys,VBe as yt,Vpe as yu,lZ as yv,lN as yw,lH as yx,lJ as yy,FHe as z,rm as zA,rF as zC,rC as zD,rE as zE,nc as zM,ta as zN,rb as zO,en as zP,rR as zS,rk as zT,r$ as z_,FDe as za,rW as zb,Fve as zc,Fle as zd,Foe as zf,r2 as zg,r6 as zh,FAe as zi,nd as zj,r_ as zk,Fhe as zl,n7 as zm,FIe as zn,Fwe as zo,Fre as zp,FNe as zr,Fxe as zs,Fze as zt,Ffe as zu,rX as zv,rM as zw,rV as zx,rq as zy};