promptfoo 0.85.2 → 0.86.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 (117) hide show
  1. package/dist/drizzle/0005_silky_millenium_guard.sql +2 -0
  2. package/dist/drizzle/meta/0005_snapshot.json +427 -0
  3. package/dist/drizzle/meta/_journal.json +7 -0
  4. package/dist/package.json +8 -2
  5. package/dist/src/commands/view.d.ts.map +1 -1
  6. package/dist/src/commands/view.js +2 -3
  7. package/dist/src/commands/view.js.map +1 -1
  8. package/dist/src/constants.d.ts +2 -2
  9. package/dist/src/constants.d.ts.map +1 -1
  10. package/dist/src/constants.js +5 -5
  11. package/dist/src/constants.js.map +1 -1
  12. package/dist/src/database/tables.d.ts.map +1 -1
  13. package/dist/src/database/tables.js +2 -1
  14. package/dist/src/database/tables.js.map +1 -1
  15. package/dist/src/feedback.d.ts.map +1 -1
  16. package/dist/src/feedback.js +1 -2
  17. package/dist/src/feedback.js.map +1 -1
  18. package/dist/src/fetch.d.ts.map +1 -1
  19. package/dist/src/fetch.js +14 -12
  20. package/dist/src/fetch.js.map +1 -1
  21. package/dist/src/redteam/constants.d.ts +5 -1
  22. package/dist/src/redteam/constants.d.ts.map +1 -1
  23. package/dist/src/redteam/constants.js +45 -1
  24. package/dist/src/redteam/constants.js.map +1 -1
  25. package/dist/src/server/index.d.ts +2 -0
  26. package/dist/src/server/index.d.ts.map +1 -0
  27. package/dist/src/server/index.js +6 -0
  28. package/dist/src/server/index.js.map +1 -0
  29. package/dist/src/server/server.d.ts +7 -0
  30. package/dist/src/server/server.d.ts.map +1 -0
  31. package/dist/src/{web → server}/server.js +15 -7
  32. package/dist/src/server/server.js.map +1 -0
  33. package/dist/src/share.js +2 -2
  34. package/dist/src/share.js.map +1 -1
  35. package/dist/src/web/nextui/404/index.html +1 -1
  36. package/dist/src/web/nextui/404.html +1 -1
  37. package/dist/src/web/nextui/_next/static/chunks/113-c691bf7d3a37d865.js +1 -0
  38. package/dist/src/web/nextui/_next/static/chunks/189-f9d565af9a2b91cb.js +1 -0
  39. package/dist/src/web/nextui/_next/static/chunks/{602-9e22d91b4f891a16.js → 285-1e2a6158b5f0e918.js} +4 -4
  40. package/dist/src/web/nextui/_next/static/chunks/417-cbf95fe2bc362650.js +2 -0
  41. package/dist/src/web/nextui/_next/static/chunks/461-77257ab6b1bb209d.js +1 -0
  42. package/dist/src/web/nextui/_next/static/chunks/646-62a1d1d5b397d18f.js +28 -0
  43. package/dist/src/web/nextui/_next/static/chunks/782-910eb0e09b818816.js +35 -0
  44. package/dist/src/web/nextui/_next/static/chunks/86-77b7a9056116d4d0.js +1 -0
  45. package/dist/src/web/nextui/_next/static/chunks/88-f3a7a858d5f4e9a0.js +17 -0
  46. package/dist/src/web/nextui/_next/static/chunks/906-70c43cd62b2efac1.js +97 -0
  47. package/dist/src/web/nextui/_next/static/chunks/{972-cbb6d905c3a19e41.js → 972-15d1ab608a24eebf.js} +1 -1
  48. package/dist/src/web/nextui/_next/static/chunks/app/auth/login/page-c1dbf0abc580796f.js +1 -0
  49. package/dist/src/web/nextui/_next/static/chunks/app/auth/signup/page-93b80ab19bdaf2cc.js +1 -0
  50. package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-17e6d3f57945f88a.js +1 -0
  51. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/{page-ee23f6036e60e610.js → page-1e54704d75f36e25.js} +1 -1
  52. package/dist/src/web/nextui/_next/static/chunks/app/eval/page-5295461188ef9b43.js +1 -0
  53. package/dist/src/web/nextui/_next/static/chunks/app/layout-2020c5f7a3d5d614.js +1 -0
  54. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-ac2f99c11e76f5a5.js +1 -0
  55. package/dist/src/web/nextui/_next/static/chunks/app/prompts/page-296c32f480e84a57.js +1 -0
  56. package/dist/src/web/nextui/_next/static/chunks/app/report/page-734a2a4a67b756c4.js +1 -0
  57. package/dist/src/web/nextui/_next/static/chunks/app/setup/page-35c95dd67114a045.js +1 -0
  58. package/dist/src/web/nextui/_next/static/chunks/main-6b1ff2291a752212.js +1 -0
  59. package/dist/src/web/nextui/auth/login/index.html +1 -1
  60. package/dist/src/web/nextui/auth/login/index.txt +3 -3
  61. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  62. package/dist/src/web/nextui/auth/signup/index.txt +3 -3
  63. package/dist/src/web/nextui/datasets/index.html +1 -1
  64. package/dist/src/web/nextui/datasets/index.txt +3 -3
  65. package/dist/src/web/nextui/eval/index.html +1 -1
  66. package/dist/src/web/nextui/eval/index.txt +3 -3
  67. package/dist/src/web/nextui/index.html +1 -1
  68. package/dist/src/web/nextui/index.txt +2 -2
  69. package/dist/src/web/nextui/progress/index.html +1 -1
  70. package/dist/src/web/nextui/progress/index.txt +3 -3
  71. package/dist/src/web/nextui/prompts/index.html +1 -1
  72. package/dist/src/web/nextui/prompts/index.txt +3 -3
  73. package/dist/src/web/nextui/report/index.html +1 -1
  74. package/dist/src/web/nextui/report/index.txt +3 -3
  75. package/dist/src/web/nextui/setup/index.html +1 -1
  76. package/dist/src/web/nextui/setup/index.txt +3 -3
  77. package/dist/test/cache.test.js +1 -0
  78. package/dist/test/cache.test.js.map +1 -1
  79. package/dist/test/providers.test.js +28 -0
  80. package/dist/test/providers.test.js.map +1 -1
  81. package/dist/test/rateLimit.test.d.ts +2 -0
  82. package/dist/test/rateLimit.test.d.ts.map +1 -0
  83. package/dist/test/rateLimit.test.js +104 -0
  84. package/dist/test/rateLimit.test.js.map +1 -0
  85. package/package.json +8 -2
  86. package/dist/src/web/nextui/_next/static/chunks/148-1c1aa4563e769657.js +0 -97
  87. package/dist/src/web/nextui/_next/static/chunks/193-fbb29b23a7b3df82.js +0 -1
  88. package/dist/src/web/nextui/_next/static/chunks/258-eb5cfd6f30e0cdfd.js +0 -1
  89. package/dist/src/web/nextui/_next/static/chunks/264-f97b27096cb02f29.js +0 -17
  90. package/dist/src/web/nextui/_next/static/chunks/276-b1a73ab92831c2f8.js +0 -1
  91. package/dist/src/web/nextui/_next/static/chunks/325-07eac9e397582e87.js +0 -8
  92. package/dist/src/web/nextui/_next/static/chunks/346-e25f78ee9c57aa1a.js +0 -1
  93. package/dist/src/web/nextui/_next/static/chunks/391-9f6f260597339469.js +0 -2
  94. package/dist/src/web/nextui/_next/static/chunks/415-f4cc6df99e1d251e.js +0 -1
  95. package/dist/src/web/nextui/_next/static/chunks/65-d3958feb29430005.js +0 -1
  96. package/dist/src/web/nextui/_next/static/chunks/654-7ef84f69b226e6ab.js +0 -1
  97. package/dist/src/web/nextui/_next/static/chunks/734-d2ca9e7d051c494c.js +0 -28
  98. package/dist/src/web/nextui/_next/static/chunks/app/auth/login/page-252a14bf379f74d0.js +0 -1
  99. package/dist/src/web/nextui/_next/static/chunks/app/auth/signup/page-f98e3b4d3b58f5f5.js +0 -1
  100. package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-1fa704bf80a58a79.js +0 -1
  101. package/dist/src/web/nextui/_next/static/chunks/app/eval/page-f99f4281a6926ff5.js +0 -1
  102. package/dist/src/web/nextui/_next/static/chunks/app/layout-b197b953eafa4e71.js +0 -1
  103. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-7d99e97219b86a6b.js +0 -1
  104. package/dist/src/web/nextui/_next/static/chunks/app/prompts/page-70ba6f08425e6551.js +0 -1
  105. package/dist/src/web/nextui/_next/static/chunks/app/report/page-6d40d3051d4e4fe0.js +0 -1
  106. package/dist/src/web/nextui/_next/static/chunks/app/setup/page-1966e3fc2c36f287.js +0 -1
  107. package/dist/src/web/nextui/_next/static/chunks/main-853e5508e37bbe4c.js +0 -1
  108. package/dist/src/web/nextui/api/config +0 -1
  109. package/dist/src/web/nextui/api/datasets +0 -1
  110. package/dist/src/web/nextui/api/progress +0 -1
  111. package/dist/src/web/nextui/api/prompts +0 -1
  112. package/dist/src/web/nextui/api/results +0 -1
  113. package/dist/src/web/server.d.ts +0 -7
  114. package/dist/src/web/server.d.ts.map +0 -1
  115. package/dist/src/web/server.js.map +0 -1
  116. /package/dist/src/web/nextui/_next/static/{eyHt8CZIUtts2XNkpk_r0 → esmgjQylizTs69qxSTyX7}/_buildManifest.js +0 -0
  117. /package/dist/src/web/nextui/_next/static/{eyHt8CZIUtts2XNkpk_r0 → esmgjQylizTs69qxSTyX7}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[958],{5567:function(e,t,s){Promise.resolve().then(s.bind(s,41400))},49532:function(e,t,s){"use strict";s.d(t,{t:function(){return i}});var n=s(82911);async function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{apiBaseUrl:s}=n.Z.getState();return fetch("".concat(s,"/api").concat(e),t)}},41400:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return E}});var n=s(24004),i=s(14978),r=s(49532),l=s(79245),c=s(7575),a=s(73701),d=s(39279),o=s(30666),h=s(15795),u=s(66988),p=s(98489),x=s(95781),j=s(78276),v=s(38640),Z=s.n(v),m=s(28891),f=s(49050),w=s(89394),C=s(42834),y=s(26337),g=s(91797),I=s(64748),k=s(43226),P=s(34235);function S(e){var t,s,r,l;let{openDialog:h,handleClose:x,testCase:j}=e,[v,m]=(0,i.useState)(1);return(0,n.jsxs)(w.Z,{open:h,onClose:x,fullWidth:!0,maxWidth:"lg",children:[(0,n.jsxs)(g.Z,{children:["Dataset ",j.id.slice(0,6)]}),(0,n.jsxs)(y.Z,{children:[(0,n.jsx)(k.Z,{variant:"h6",style:{marginTop:"1rem"},children:"Test cases"}),(0,n.jsx)(I.Z,{readOnly:!0,value:j&&P.default.dump(j.testCases),style:{width:"100%",padding:"0.75rem"},maxRows:15}),(0,n.jsx)(k.Z,{variant:"h6",style:{marginTop:"1rem"},children:"Used in..."}),(0,n.jsxs)(a.Z,{children:[(0,n.jsx)(u.Z,{children:(0,n.jsxs)(p.Z,{children:[(0,n.jsx)(o.Z,{children:"Eval ID"}),(0,n.jsx)(o.Z,{children:"Prompt ID"}),(0,n.jsx)(o.Z,{children:"Raw score"}),(0,n.jsx)(o.Z,{children:"Pass rate"}),(0,n.jsx)(o.Z,{children:"Pass count"}),(0,n.jsx)(o.Z,{children:"Fail count"}),(0,n.jsx)(o.Z,{children:"Prompt"})]})}),(0,n.jsx)(d.Z,{children:null==j?void 0:null===(t=j.prompts)||void 0===t?void 0:t.slice((v-1)*10,10*v).sort((e,t)=>t.evalId.localeCompare(e.evalId)).map((e,t)=>{var s,i,c,a,d;return(0,n.jsxs)(p.Z,{hover:!0,children:[(0,n.jsx)(o.Z,{children:(0,n.jsx)(Z(),{href:"/eval/?evalId=".concat(e.evalId),children:e.evalId})}),(0,n.jsx)(o.Z,{style:{minWidth:"8em"},children:(0,n.jsx)(Z(),{href:"/prompts/?id=".concat(e.id),children:e.id.slice(0,6)})}),(0,n.jsx)(o.Z,{children:"number"==typeof(null===(s=e.prompt.metrics)||void 0===s?void 0:s.score)?e.prompt.metrics.score.toFixed(2):"-"}),(0,n.jsx)(o.Z,{children:"number"==typeof(null===(i=e.prompt.metrics)||void 0===i?void 0:i.testPassCount)&&"number"==typeof(null===(c=e.prompt.metrics)||void 0===c?void 0:c.testFailCount)&&e.prompt.metrics.testPassCount+e.prompt.metrics.testFailCount>0?(e.prompt.metrics.testPassCount/(e.prompt.metrics.testPassCount+e.prompt.metrics.testFailCount)*100).toFixed(2)+"%":"-"}),(0,n.jsx)(o.Z,{children:null!==(r=null===(a=e.prompt.metrics)||void 0===a?void 0:a.testPassCount)&&void 0!==r?r:"-"}),(0,n.jsx)(o.Z,{children:null!==(l=null===(d=e.prompt.metrics)||void 0===d?void 0:d.testFailCount)&&void 0!==l?l:"-"}),(0,n.jsx)(o.Z,{children:e.prompt.raw.length>250?e.prompt.raw.slice(0,250)+"...":e.prompt.raw})]},t)})})]}),Math.ceil(((null==j?void 0:null===(s=j.prompts)||void 0===s?void 0:s.length)||0)/10)>1&&(0,n.jsx)(c.Z,{count:Math.ceil(j.prompts.length/10),page:v,onChange:(e,t)=>{m(t)}})]}),(0,n.jsx)(C.Z,{children:(0,n.jsx)(f.Z,{onClick:x,children:"Close"})})]})}function E(){let e=(0,m.useSearchParams)(),[t,s]=(0,i.useState)([]),[v,f]=(0,i.useState)("date"),[w,C]=(0,i.useState)("desc"),[y,g]=(0,i.useState)(1),[I,k]=(0,i.useState)(!1),[P,E]=(0,i.useState)(0),b=e=>{let t=v===e&&"asc"===w?"desc":"asc";f(e),C(t)};(0,i.useEffect)(()=>{(async()=>{(0,r.t)("/datasets").then(e=>e.json()).then(e=>{let t=[...e.data].sort((e,t)=>null===v?0:"asc"===w?e[v]>t[v]?1:-1:e[v]<t[v]?1:-1);s(t)})})()},[v,w,y]);let D=e=>{E(e),k(!0)};return(0,i.useEffect)(()=>{let s=null==e?void 0:e.get("id");if(s){let e=t.findIndex(e=>e.id.startsWith(s));-1!==e&&D(e)}},[t,e]),(0,n.jsx)(l.Z,{paddingX:2,children:(0,n.jsxs)(h.Z,{children:[(0,n.jsxs)(a.Z,{children:[(0,n.jsx)(u.Z,{children:(0,n.jsxs)(p.Z,{children:[(0,n.jsx)(o.Z,{style:{width:"10%"},children:"ID"}),(0,n.jsx)(o.Z,{style:{width:"20%"},children:(0,n.jsx)(x.Z,{active:"raw"===v,direction:"raw"===v?w:"asc",onClick:()=>b("raw"),children:"Info"})}),(0,n.jsx)(o.Z,{style:{width:"20%"},children:"Variables"}),(0,n.jsx)(o.Z,{style:{width:"10%"},children:(0,n.jsx)(x.Z,{active:"count"===v,direction:"count"===v?w:"asc",onClick:()=>b("count"),children:"Total # evals"})}),(0,n.jsx)(o.Z,{style:{width:"20%"},children:(0,n.jsx)(j.Z,{title:"The date of the most recent eval for this set of test cases",children:(0,n.jsx)(x.Z,{active:"date"===v,direction:"date"===v?w:"asc",onClick:()=>b("date"),children:"Most recent eval date"})})}),(0,n.jsx)(o.Z,{style:{width:"20%"},children:(0,n.jsx)(j.Z,{title:"The ID of the most recent eval for this set of test cases",children:(0,n.jsx)(x.Z,{active:"evalId"===v,direction:"evalId"===v?w:"asc",onClick:()=>b("evalId"),children:"Most recent eval ID"})})})]})}),(0,n.jsx)(d.Z,{children:t.slice((y-1)*10,10*y).map((e,t)=>(0,n.jsxs)(p.Z,{hover:!0,onClick:()=>D(t),style:{cursor:"pointer"},children:[(0,n.jsx)(o.Z,{children:e.id.slice(0,6)}),(0,n.jsxs)(o.Z,{style:{width:"20%",whiteSpace:"pre-wrap"},children:[e.testCases.length," test cases"]}),(0,n.jsx)(o.Z,{style:{width:"20%",whiteSpace:"pre-wrap"},children:(()=>{if(!Array.isArray(e.testCases)||"string"==typeof e.testCases[0])return"";let t=(e.testCases||[]).flatMap(e=>Object.keys(e.vars||{})),s=Array.from(new Set(t));return s.length>0?s.join(", "):"None"})()}),(0,n.jsx)(o.Z,{style:{width:"10%"},children:e.count}),(0,n.jsx)(o.Z,{style:{width:"20%"},children:e.recentEvalDate||"Unknown"}),(0,n.jsx)(o.Z,{style:{width:"20%"},children:e.recentEvalId?(0,n.jsx)(Z(),{href:"/eval?evalId=".concat(e.recentEvalId),children:e.recentEvalId}):"Unknown"})]},t))})]}),Math.ceil(t.length/10)>1&&(0,n.jsx)(c.Z,{count:Math.ceil(t.length/10),page:y,onChange:(e,t)=>g(t)}),t[P]&&(0,n.jsx)(S,{openDialog:I,handleClose:()=>{k(!1)},testCase:t[P]})]})})}},82911:function(e,t,s){"use strict";var n=s(94660),i=s(74810);let r=(0,n.Ue)()((0,i.tJ)(e=>({apiBaseUrl:"",setApiBaseUrl:t=>e({apiBaseUrl:t}),fetchingPromise:null,setFetchingPromise:t=>e({fetchingPromise:t})}),{name:"api-config-storage",partialize:e=>({apiBaseUrl:e.apiBaseUrl})}));t.Z=r},28891:function(e,t,s){e.exports=s(98556)}},function(e){e.O(0,[906,640,88,113,417,235,854,470,730,744],function(){return e(e.s=5567)}),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[421],{63749:function(e,n,t){Promise.resolve().then(t.t.bind(t,16662,23)),Promise.resolve().then(t.t.bind(t,27924,23)),Promise.resolve().then(t.t.bind(t,30910,23)),Promise.resolve().then(t.t.bind(t,81885,23)),Promise.resolve().then(t.bind(t,55258)),Promise.resolve().then(t.t.bind(t,29820,23))},81885:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(e,n){for(var t in n)Object.defineProperty(e,t,{enumerable:!0,get:n[t]})}(n,{suspense:function(){return o},NoSSR:function(){return i}}),t(69278),t(14978);let r=t(66995);function o(){let e=Error(r.NEXT_DYNAMIC_NO_SSR_CODE);throw e.digest=r.NEXT_DYNAMIC_NO_SSR_CODE,e}function i(e){let{children:n}=e;return n}},29820:function(){}},function(e){e.O(0,[583,148,640,193,391,654,65,975,276,132,874,235,264,346,631,734,602,258,470,730,744],function(){return e(e.s=63749)}),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[421],{63749:function(e,n,t){Promise.resolve().then(t.t.bind(t,16662,23)),Promise.resolve().then(t.t.bind(t,27924,23)),Promise.resolve().then(t.t.bind(t,30910,23)),Promise.resolve().then(t.t.bind(t,81885,23)),Promise.resolve().then(t.bind(t,82086)),Promise.resolve().then(t.t.bind(t,29820,23))},81885:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(e,n){for(var t in n)Object.defineProperty(e,t,{enumerable:!0,get:n[t]})}(n,{suspense:function(){return o},NoSSR:function(){return i}}),t(69278),t(14978);let r=t(66995);function o(){let e=Error(r.NEXT_DYNAMIC_NO_SSR_CODE);throw e.digest=r.NEXT_DYNAMIC_NO_SSR_CODE,e}function i(e){let{children:n}=e;return n}},29820:function(){}},function(e){e.O(0,[583,906,640,461,88,113,975,417,132,874,235,646,631,285,86,470,730,744],function(){return e(e.s=63749)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11],{48362:function(e,n,s){Promise.resolve().then(s.t.bind(s,63512,23)),Promise.resolve().then(s.bind(s,82086))}},function(e){e.O(0,[583,906,640,461,88,113,975,417,132,874,235,646,631,285,86,470,730,744],function(){return e(e.s=48362)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{84173:function(e,t,r){Promise.resolve().then(r.bind(r,72403)),Promise.resolve().then(r.t.bind(r,5100,23)),Promise.resolve().then(r.t.bind(r,65246,23))},72403:function(e,t,r){"use strict";r.r(t),r.d(t,{PageShell:function(){return ee}});var n=r(24004),o=r(14978),a=r(52428),s=r(26647),i=r(14819),l=r(52653),c=r(78276),u=r(13457),h=r(38640),d=r.n(h),p=r(28891),f=r(82911),x=r(88270),g=r(89394),m=r(91797),j=r(26337),b=r(43226),v=r(21975),Z=r(42834),S=r(49050);function C(e){let{open:t,onClose:r}=e,{apiBaseUrl:a,setApiBaseUrl:s}=(0,f.Z)(),{apiShareBaseUrl:i,setApiShareBaseUrl:l,appShareBaseUrl:c,setAppShareBaseUrl:u}=(0,x.Z)(),[h,d]=(0,o.useState)(a||""),[p,C]=(0,o.useState)(i||""),[k,E]=(0,o.useState)(c||"");return(0,o.useEffect)(()=>{d(a||""),C(i||""),E(c||"")},[a,i,c]),(0,n.jsxs)(g.Z,{open:t,onClose:r,maxWidth:"xs",fullWidth:!0,"aria-labelledby":"api-settings-dialog-title",children:[(0,n.jsx)(m.Z,{id:"api-settings-dialog-title",children:"API and Sharing Settings"}),(0,n.jsxs)(j.Z,{children:[(0,n.jsx)(b.Z,{variant:"h6",children:"API"}),(0,n.jsx)(v.Z,{label:"API Base URL",helperText:"The promptfoo API the webview will connect to",value:h,onChange:e=>{d(e.target.value)},fullWidth:!0,margin:"normal"}),(0,n.jsx)(b.Z,{variant:"h6",children:"Sharing"}),(0,n.jsx)(v.Z,{label:"API Share Base URL",helperText:'Where to send the eval when you click "Share"',value:p,onChange:e=>{C(e.target.value)},fullWidth:!0,margin:"normal"}),(0,n.jsx)(v.Z,{label:"App Share Base URL",helperText:"Set this to the App URL for the promptfoo instance you send shared evals to",value:k,onChange:e=>{E(e.target.value)},fullWidth:!0,margin:"normal"})]}),(0,n.jsxs)(Z.Z,{children:[(0,n.jsx)(S.Z,{onClick:()=>{s(h),l(p),u(k),r()},children:"Save"}),(0,n.jsx)(S.Z,{onClick:r,children:"Close"})]})]})}var k=r(39864),E=r(47028);function P(e){let{darkMode:t,onToggleDarkMode:r}=e;return(0,n.jsx)("div",{className:"dark-mode-toggle",onClick:r,children:t?(0,n.jsx)(k.Z,{}):(0,n.jsx)(E.Z,{})})}r(32854);var w=r(58715),y=r(61443),O=r(14089),I=r(68452),U=r(91018),_=r(25210);let B=[{icon:(0,n.jsx)(U.Z,{fontSize:"small"}),text:"Documentation",href:"https://www.promptfoo.dev/docs/intro"},{icon:(0,n.jsx)(I.Z,{fontSize:"small"}),text:"GitHub Repository",href:"https://github.com/promptfoo/promptfoo"},{icon:(0,n.jsx)(w.Z,{fontSize:"small"}),text:"File an Issue",href:"https://github.com/promptfoo/promptfoo/issues"},{icon:(0,n.jsx)(O.Z,{fontSize:"small"}),text:"Join Our Discord Community",href:"https://discord.gg/gHPS9jjfbs"},{icon:(0,n.jsx)(y.Z,{fontSize:"small"}),text:"Book a Meeting",href:"https://cal.com/team/promptfoo/intro"}];function F(e){let{open:t,onClose:r}=e;return(0,n.jsxs)(g.Z,{open:t,onClose:r,maxWidth:"xs",fullWidth:!0,"aria-labelledby":"about-promptfoo-dialog-title",children:[(0,n.jsx)(m.Z,{id:"about-promptfoo-dialog-title",children:(0,n.jsxs)(u.Z,{children:[(0,n.jsx)(b.Z,{variant:"h6",children:"About Promptfoo"}),(0,n.jsx)(_.Z,{href:"https://github.com/promptfoo/promptfoo/releases",underline:"none",sx:{color:"inherit"},target:"_blank",children:(0,n.jsxs)(b.Z,{variant:"subtitle2",children:["Version ","0.86.0"]})})]})}),(0,n.jsxs)(j.Z,{children:[(0,n.jsx)(b.Z,{variant:"body2",gutterBottom:!0,children:"Promptfoo is a MIT licensed open-source tool for evaluating LLMs. We make it easy to track the performance of your models and prompts over time with automated support for dataset generation and grading."}),(0,n.jsx)(u.Z,{spacing:2,mt:2,children:B.map((e,t)=>(0,n.jsxs)(u.Z,{direction:"row",spacing:1,alignItems:"center",sx:{flexWrap:"wrap","& .MuiSvgIcon-root":{color:"text.primary"}},children:[e.icon,(0,n.jsx)(_.Z,{underline:"none",target:"_blank",href:e.href,sx:{color:"inherit"},children:(0,n.jsx)(b.Z,{variant:"body2",children:e.text})})]},t))})]}),(0,n.jsx)(Z.Z,{children:(0,n.jsx)(S.Z,{onClick:r,children:"Close"})})]})}var T=r(1445),A=r(3283),M=r(33932),N=r(74309);function W(){let{user:e,logout:t}=(0,T.aC)(),[r,a]=o.useState(null),s=()=>{a(null)},i=async()=>{null==t||t(),s()};return e?(0,n.jsxs)("div",{children:[(0,n.jsx)(l.Z,{edge:"end","aria-label":"account of current user","aria-controls":"menu-appbar","aria-haspopup":"true",onClick:e=>{a(e.currentTarget)},color:"inherit",children:(0,n.jsx)(A.Z,{sx:{width:"1em",height:"1em",bgcolor:"#1976d2"}})}),(0,n.jsxs)(M.Z,{id:"menu-appbar",anchorEl:r,anchorOrigin:{vertical:"top",horizontal:"right"},keepMounted:!0,transformOrigin:{vertical:"top",horizontal:"right"},open:!!r,onClose:s,children:[(0,n.jsxs)(N.Z,{disabled:!0,children:["Logged in as ",e.email]}),(0,n.jsx)(N.Z,{onClick:i,children:"Logout"})]})]}):(0,n.jsx)(d(),{href:"/auth/signup/",children:(0,n.jsx)(l.Z,{edge:"end","aria-label":"User not logged in","aria-controls":"menu-appbar","aria-haspopup":"true",color:"inherit",children:(0,n.jsx)(A.Z,{sx:{width:"1em",height:"1em"}})})})}var R=r(79245),L=r(47051),D=r.n(L);function z(){return(0,n.jsx)(d(),{href:"https://promptfoo.dev",passHref:!0,children:(0,n.jsxs)(R.Z,{className:"logo",component:"a",children:[(0,n.jsx)(D(),{width:25,height:25,src:"/logo-panda.svg",alt:"Promptfoo logo"})," ",(0,n.jsx)("span",{children:"promptfoo"})]})})}r(17328),r(5008);var H=r(77580);function G(e){let{href:t,label:r}=e,o=(0,p.usePathname)()||"";return(0,n.jsx)(d(),{href:t,className:o.startsWith(t)?"active":"",children:r})}function J(e){let{darkMode:t,onToggleDarkMode:r}=e,[h,d]=(0,o.useState)(!1),[p,f]=(0,o.useState)(!1),x=()=>d(e=>!e),g=()=>f(e=>!e),m=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(z,{}),!H.env.NEXT_PUBLIC_NO_BROWSING&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(G,{href:"/setup",label:"New Eval"}),(0,n.jsx)(G,{href:"/eval",label:"Evals"}),(0,n.jsx)(G,{href:"/prompts",label:"Prompts"}),(0,n.jsx)(G,{href:"/datasets",label:"Datasets"}),(0,n.jsx)(G,{href:"/progress",label:"Progress"})]}),(0,n.jsxs)("div",{className:"right-aligned",children:[a.O?(0,n.jsx)(W,{}):null,(0,n.jsx)(l.Z,{onClick:x,sx:{color:"#f0f0f0"},children:(0,n.jsx)(i.Z,{})}),a.T&&(0,n.jsx)(c.Z,{title:"API and Sharing Settings",children:(0,n.jsx)(l.Z,{onClick:g,sx:{color:"#f0f0f0"},children:(0,n.jsx)(s.Z,{})})}),(0,n.jsx)(P,{darkMode:t,onToggleDarkMode:r})]})]});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(F,{open:h,onClose:x}),(0,n.jsx)(C,{open:p,onClose:g}),(0,n.jsx)(u.Z,{direction:"row",spacing:2,className:"nav",children:m})]})}var X=r(30606),V=r(33948),Y=r(42714);r(70894);let Q=e=>(0,X.Z)({typography:{fontFamily:"inherit"},palette:{mode:e?"dark":"light",background:{default:"#ffffff"}},components:{MuiCard:{styleOverrides:{root:{backgroundColor:e?"#121212":"#fff",boxShadow:e?"none":"0 2px 3px rgba(0, 0, 0, 0.1)",borderRadius:"12px"}}},MuiTableContainer:{styleOverrides:{root:{backgroundColor:e?"#121212":"#fff",boxShadow:e?"none":"0 2px 3px rgba(0, 0, 0, 0.1)",borderRadius:"12px"}}},MuiTableHead:{styleOverrides:{root:{backgroundColor:e?"#1E1E1E":"#F5F5F5"}}},MuiTableCell:{styleOverrides:{head:{backgroundColor:"inherit",color:e?"#FFFFFF":"#000000",fontWeight:"bold"},stickyHeader:{backgroundColor:e?"#1E1E1E":"#F5F5F5"}}},MuiInputBase:{styleOverrides:{root:{backgroundColor:e?"#333":"#fff"}}}}}),q=Q(!1),K=Q(!0);function $(e){let{children:t}=e;return(0,n.jsx)("div",{children:t})}function ee(e){let{children:t}=e,r=(0,Y.Z)("(prefers-color-scheme: dark)"),[a,s]=(0,o.useState)(null);(0,o.useEffect)(()=>{let e=localStorage.getItem("darkMode");s(null===e?r:"true"===e)},[r]);let i=(0,o.useCallback)(()=>{s(e=>{let t=!e;return localStorage.setItem("darkMode",String(t)),t})},[]);return((0,o.useEffect)(()=>{null!==a&&(a?document.documentElement.setAttribute("data-theme","dark"):document.documentElement.removeAttribute("data-theme"))},[a]),null===a)?null:(0,n.jsx)(V.Z,{theme:a?K:q,children:(0,n.jsx)(T.Ho,{children:(0,n.jsxs)($,{children:[(0,n.jsx)(J,{darkMode:a,onToggleDarkMode:i}),(0,n.jsx)("div",{children:t})]})})})}},52428:function(e,t,r){"use strict";r.d(t,{O:function(){return a},T:function(){return o}});var n=r(77580);let o=!n.env.NEXT_PUBLIC_HOSTED,a=!!n.env.NEXT_PUBLIC_PROMPTFOO_USE_SUPABASE},82911:function(e,t,r){"use strict";var n=r(94660),o=r(74810);let a=(0,n.Ue)()((0,o.tJ)(e=>({apiBaseUrl:"",setApiBaseUrl:t=>e({apiBaseUrl:t}),fetchingPromise:null,setFetchingPromise:t=>e({fetchingPromise:t})}),{name:"api-config-storage",partialize:e=>({apiBaseUrl:e.apiBaseUrl})}));t.Z=a},88270:function(e,t,r){"use strict";r.d(t,{Y:function(){return s}});var n=r(94660),o=r(74810);let a=(0,n.Ue)()((0,o.tJ)(e=>({apiShareBaseUrl:"https://api.promptfoo.dev",setApiShareBaseUrl:t=>e({apiShareBaseUrl:t}),appShareBaseUrl:"https://app.promptfoo.dev",setAppShareBaseUrl:t=>e({appShareBaseUrl:t})}),{name:"share-config-storage"}));function s(){let{appShareBaseUrl:e}=a();return e||"".concat(window.location.protocol,"//").concat(window.location.host)}t.Z=a},1445:function(e,t,r){"use strict";r.d(t,{Ho:function(){return h},OQ:function(){return s},aC:function(){return l}});var n=r(24004),o=r(14978),a=r(12594);let s=(0,a.createClientComponentClient)(),i=(0,o.createContext)({}),l=()=>(0,o.useContext)(i),c=(e,t)=>s.auth.signInWithPassword({email:e,password:t}),u=()=>s.auth.signOut(),h=e=>{let{children:t}=e,[r,a]=(0,o.useState)(null),[l,h]=(0,o.useState)(!1),d=(0,o.useCallback)(async()=>{let{data:e}=await s.auth.refreshSession();e&&a(e.user)},[]);return(0,o.useEffect)(()=>{d();let{data:e}=s.auth.onAuthStateChange(async(e,t)=>{"PASSWORD_RECOVERY"==e?h(!1):"SIGNED_IN"===e&&t?(a(t.user),h(!0)):"SIGNED_OUT"===e&&(h(!1),a(null))});return()=>{e.subscription.unsubscribe()}},[d]),(0,n.jsx)(i.Provider,{value:{loggedIn:l,user:r,login:c,logout:u},children:t})}},32854:function(){},17328:function(){},5008:function(){},70894:function(){},5100:function(){}},function(e){e.O(0,[906,640,461,88,113,975,132,189,470,730,744],function(){return e(e.s=84173)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[92],{64738:function(e,t,i){Promise.resolve().then(i.bind(i,19259))},49532:function(e,t,i){"use strict";i.d(t,{t:function(){return r}});var a=i(82911);async function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{apiBaseUrl:i}=a.Z.getState();return fetch("".concat(i,"/api").concat(e),t)}},19259:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return b}});var a=i(24004),r=i(14978),n=i(49532),s=i(52481),o=i(26972),l=i(79245),d=i(49050),c=i(33932),u=i(74309),p=i(7575),v=i(73701),m=i(39279),h=i(30666),x=i(15795),f=i(66988),Z=i(98489),g=i(95781),C=i(21975),I=i(38640),j=i.n(I);function b(){let[e,t]=(0,r.useState)([]),[i,I]=(0,r.useState)(null),[b,y]=(0,r.useState)("asc"),[P,w]=(0,r.useState)(null),[k,M]=r.useState(1),[F,S]=(0,r.useState)({evalId:"",datasetId:"",provider:"",promptId:""}),$=!!P;(0,r.useEffect)(()=>{(async()=>{let e=await (0,n.t)("/progress"),i=await e.json();i&&i.data&&t(i.data)})()},[]);let O=e=>{let t=i===e&&"asc"===b;I(e),y(t?"desc":"asc")},R=e=>(null==e?void 0:e.testPassCount)!=null&&(null==e?void 0:e.testFailCount)!=null?(e.testPassCount/(e.testPassCount+e.testFailCount)*100).toFixed(2):"-",L=e=>{var t,i,a,r,n;let s=e.map(e=>{var s,o,l,d,c,u;return[null!==(t=e.evalId)&&void 0!==t?t:"",null!==(i=null===(s=e.datasetId)||void 0===s?void 0:s.slice(0,6))&&void 0!==i?i:"",null!==(a=e.provider)&&void 0!==a?a:"",(null!==(r=null===(o=e.promptId)||void 0===o?void 0:o.slice(0,6))&&void 0!==r?r:"")+" "+(null!==(n=e.raw)&&void 0!==n?n:""),R(e.metrics),(null===(l=e.metrics)||void 0===l?void 0:l.testPassCount)==null?"-":"".concat(e.metrics.testPassCount),(null===(d=e.metrics)||void 0===d?void 0:d.testFailCount)==null?"-":"".concat(e.metrics.testFailCount),(null===(c=e.metrics)||void 0===c?void 0:c.score)==null?"-":null===(u=e.metrics.score)||void 0===u?void 0:u.toFixed(2)]});return[["Eval","Dataset","Provider","Prompt","Pass Rate %","Pass Count","Fail Count","Raw score"]].concat(s).map(e=>e.map(e=>null!=e?e:"").join(",")).join("\n")},D=t=>{let i="json"===t?JSON.stringify(e):L(e),a=new Blob([i],{type:"text/".concat(t,";charset=utf-8;")}),r=document.createElement("a");r.href=URL.createObjectURL(a),r.download="cols_export.".concat(t),r.click(),URL.revokeObjectURL(r.href),w(null)},N=r.useMemo(()=>e.filter(e=>{var t,i,a,r;return(!F.evalId||(null===(t=e.evalId)||void 0===t?void 0:t.includes(F.evalId)))&&(!F.datasetId||(null===(i=e.datasetId)||void 0===i?void 0:i.startsWith(F.datasetId)))&&(!F.provider||(null===(a=e.provider)||void 0===a?void 0:a.includes(F.provider)))&&(!F.promptId||(null===(r=e.promptId)||void 0===r?void 0:r.startsWith(F.promptId)))}),[e,F]),V=r.useMemo(()=>N.sort((e,t)=>{if(!i)return 0;if("passRate"===i){let i=Number.parseFloat(R(e.metrics)),a=Number.parseFloat(R(t.metrics));return"asc"===b?i-a:a-i}if(i in e&&i in t){let a=e[i]||"",r=t[i]||"";return"asc"===b?a.toString().localeCompare(r.toString()):r.toString().localeCompare(a.toString())}return 0}),[N,i,b]),B=r.useMemo(()=>Array.from(new Set(e.map(e=>e.evalId))),[e]),E=r.useMemo(()=>Array.from(new Set(e.map(e=>e.datasetId))),[e]),z=r.useMemo(()=>Array.from(new Set(e.map(e=>e.provider))),[e]),U=r.useMemo(()=>Array.from(new Set(e.map(e=>e.promptId))),[e]);return(0,a.jsxs)(l.Z,{paddingX:2,children:[(0,a.jsxs)(l.Z,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,a.jsx)("h2",{children:"Progress summary"}),(0,a.jsxs)("div",{children:[(0,a.jsx)(d.Z,{id:"export-button","aria-controls":$?"export-menu":void 0,"aria-haspopup":"true","aria-expanded":$?"true":void 0,onClick:e=>{w(e.currentTarget)},startIcon:(0,a.jsx)(s.Z,{}),children:"Export"}),(0,a.jsxs)(c.Z,{id:"export-menu",anchorEl:P,open:$,onClose:()=>{w(null)},MenuListProps:{"aria-labelledby":"export-button"},children:[(0,a.jsx)(u.Z,{onClick:()=>D("csv"),children:"CSV"}),(0,a.jsx)(u.Z,{onClick:()=>D("json"),children:"JSON"})]})]})]}),(0,a.jsx)(l.Z,{children:"This page shows performance metrics for recent evals."}),(0,a.jsxs)(l.Z,{display:"flex",flexDirection:"row",gap:2,my:2,children:[(0,a.jsx)(o.Z,{options:B,value:F.evalId,onChange:(e,t)=>{S({...F,evalId:t||""})},renderInput:e=>(0,a.jsx)(C.Z,{...e,label:"Eval ID",variant:"outlined",size:"small",fullWidth:!0}),sx:{width:220}}),(0,a.jsx)(o.Z,{options:E,value:F.datasetId,onChange:(e,t)=>{S({...F,datasetId:t||""})},renderInput:e=>(0,a.jsx)(C.Z,{...e,label:"Dataset ID",variant:"outlined",size:"small",fullWidth:!0}),sx:{width:220}}),(0,a.jsx)(o.Z,{options:z,value:F.provider,onChange:(e,t)=>{S({...F,provider:t||""})},renderInput:e=>(0,a.jsx)(C.Z,{...e,label:"Provider",variant:"outlined",size:"small",fullWidth:!0}),sx:{width:220}}),(0,a.jsx)(o.Z,{options:U,value:F.promptId,onChange:(e,t)=>{S({...F,promptId:t||""})},renderInput:e=>(0,a.jsx)(C.Z,{...e,label:"Prompt ID",variant:"outlined",size:"small",fullWidth:!0}),sx:{width:220}})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(v.Z,{children:[(0,a.jsx)(f.Z,{children:(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(h.Z,{children:(0,a.jsx)(g.Z,{active:"evalId"===i,direction:"evalId"===i?b:"asc",onClick:()=>O("evalId"),children:"Eval"})}),(0,a.jsx)(h.Z,{children:"Dataset"}),(0,a.jsx)(h.Z,{children:"Provider"}),(0,a.jsx)(h.Z,{children:"Prompt"}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(g.Z,{active:"passRate"===i,direction:"passRate"===i?b:"asc",onClick:()=>O("passRate"),children:"Pass Rate %"})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(g.Z,{active:"testPassCount"===i,direction:"testPassCount"===i?b:"asc",onClick:()=>O("testPassCount"),children:"Pass Count"})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(g.Z,{active:"testFailCount"===i,direction:"testFailCount"===i?b:"asc",onClick:()=>O("testFailCount"),children:"Fail Count"})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(g.Z,{active:"score"===i,direction:"score"===i?b:"asc",onClick:()=>O("score"),children:"Raw score"})})]})}),(0,a.jsx)(m.Z,{children:V.slice((k-1)*25,25*k).map((e,t)=>{var i,r,n,s,o,l;return(0,a.jsxs)(Z.Z,{hover:!0,onClick:()=>S({...F,evalId:e.evalId,datasetId:e.datasetId||"",promptId:e.promptId||"",provider:e.provider}),children:[(0,a.jsx)(h.Z,{children:(0,a.jsx)(j(),{href:"/eval?evalId=".concat(e.evalId),onClick:e=>e.stopPropagation(),children:e.evalId})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(j(),{href:"/datasets?id=".concat(e.datasetId),onClick:e=>e.stopPropagation(),children:null===(i=e.datasetId)||void 0===i?void 0:i.slice(0,6)})}),(0,a.jsx)(h.Z,{children:e.provider}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(j(),{href:"/prompts?id=".concat(e.promptId),onClick:e=>e.stopPropagation(),children:["[",null===(r=e.promptId)||void 0===r?void 0:r.slice(0,6),"]"]})," ",e.raw]}),(0,a.jsx)(h.Z,{children:R(e.metrics)}),(0,a.jsx)(h.Z,{children:(null===(n=e.metrics)||void 0===n?void 0:n.testPassCount)==null?"-":"".concat(e.metrics.testPassCount)}),(0,a.jsx)(h.Z,{children:(null===(s=e.metrics)||void 0===s?void 0:s.testFailCount)==null?"-":"".concat(e.metrics.testFailCount)}),(0,a.jsx)(h.Z,{children:(null===(o=e.metrics)||void 0===o?void 0:o.score)==null?"-":null===(l=e.metrics.score)||void 0===l?void 0:l.toFixed(2)})]},t)})})]}),Math.ceil(N.length/25)>1&&(0,a.jsx)(p.Z,{count:Math.ceil(V.length/25),page:k,onChange:(e,t)=>M(t),sx:{pt:2,pb:4,display:"flex",justifyContent:"center"}})]})]})}},82911:function(e,t,i){"use strict";var a=i(94660),r=i(74810);let n=(0,a.Ue)()((0,r.tJ)(e=>({apiBaseUrl:"",setApiBaseUrl:t=>e({apiBaseUrl:t}),fetchingPromise:null,setFetchingPromise:t=>e({fetchingPromise:t})}),{name:"api-config-storage",partialize:e=>({apiBaseUrl:e.apiBaseUrl})}));t.Z=n},52481:function(e,t,i){"use strict";var a=i(71851);t.Z=void 0;var r=a(i(80984)),n=i(24004);t.Z=(0,r.default)((0,n.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download")},55563:function(e,t,i){"use strict";i.d(t,{V:function(){return n}});var a=i(26520),r=i(25702);function n(e){return(0,r.ZP)("MuiDivider",e)}let s=(0,a.Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=s},78342:function(e,t,i){"use strict";i.d(t,{f:function(){return n}});var a=i(26520),r=i(25702);function n(e){return(0,r.ZP)("MuiListItemIcon",e)}let s=(0,a.Z)("MuiListItemIcon",["root","alignItemsFlexStart"]);t.Z=s},69660:function(e,t,i){"use strict";i.d(t,{L:function(){return n}});var a=i(26520),r=i(25702);function n(e){return(0,r.ZP)("MuiListItemText",e)}let s=(0,a.Z)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]);t.Z=s},74309:function(e,t,i){"use strict";i.d(t,{Z:function(){return M}});var a=i(94312),r=i(79042),n=i(14978),s=i(53468),o=i(95600),l=i(24871),d=i(35843),c=i(22630),u=i(19996),p=i(77820),v=i(84008),m=i(88519),h=i(37663),x=i(55563),f=i(78342),Z=i(69660),g=i(26520),C=i(25702);function I(e){return(0,C.ZP)("MuiMenuItem",e)}let j=(0,g.Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]);var b=i(24004);let y=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],P=e=>{let{disabled:t,dense:i,divider:a,disableGutters:n,selected:s,classes:l}=e,d=(0,o.Z)({root:["root",i&&"dense",t&&"disabled",!n&&"gutters",a&&"divider",s&&"selected"]},I,l);return(0,r.Z)({},l,d)},w=(0,d.ZP)(v.Z,{shouldForwardProp:e=>(0,c.Z)(e)||"classes"===e,name:"MuiMenuItem",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:i}=e;return[t.root,i.dense&&t.dense,i.divider&&t.divider,!i.disableGutters&&t.gutters]}})(({theme:e,ownerState:t})=>(0,r.Z)({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${j.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,l.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${j.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:(0,l.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${j.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:(0,l.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,l.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${j.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${j.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${x.Z.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${x.Z.inset}`]:{marginLeft:52},[`& .${Z.Z.root}`]:{marginTop:0,marginBottom:0},[`& .${Z.Z.inset}`]:{paddingLeft:36},[`& .${f.Z.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&(0,r.Z)({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${f.Z.root} svg`]:{fontSize:"1.25rem"}}))),k=n.forwardRef(function(e,t){let i;let o=(0,u.i)({props:e,name:"MuiMenuItem"}),{autoFocus:l=!1,component:d="li",dense:c=!1,divider:v=!1,disableGutters:x=!1,focusVisibleClassName:f,role:Z="menuitem",tabIndex:g,className:C}=o,I=(0,a.Z)(o,y),j=n.useContext(p.Z),k=n.useMemo(()=>({dense:c||j.dense||!1,disableGutters:x}),[j.dense,c,x]),M=n.useRef(null);(0,m.Z)(()=>{l&&M.current&&M.current.focus()},[l]);let F=(0,r.Z)({},o,{dense:k.dense,divider:v,disableGutters:x}),S=P(o),$=(0,h.Z)(M,t);return o.disabled||(i=void 0!==g?g:-1),(0,b.jsx)(p.Z.Provider,{value:k,children:(0,b.jsx)(w,(0,r.Z)({ref:$,role:Z,tabIndex:i,component:d,focusVisibleClassName:(0,s.Z)(S.focusVisible,f),className:(0,s.Z)(S.root,C)},I,{ownerState:F,classes:S}))})});var M=k}},function(e){e.O(0,[906,640,461,88,975,417,874,854,972,470,730,744],function(){return e(e.s=64738)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[794],{9458:function(e,t,i){Promise.resolve().then(i.bind(i,73730))},49532:function(e,t,i){"use strict";i.d(t,{t:function(){return n}});var s=i(82911);async function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{apiBaseUrl:i}=s.Z.getState();return fetch("".concat(i,"/api").concat(e),t)}},73730:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return I}});var s=i(24004),n=i(14978),l=i(49532),r=i(79245),c=i(7575),a=i(73701),d=i(39279),o=i(30666),h=i(15795),u=i(66988),x=i(98489),j=i(95781),Z=i(78276),v=i(38640),p=i.n(v),f=i(28891),m=i(49050),w=i(89394),g=i(42834),y=i(26337),C=i(91797),P=i(64748),k=i(43226),E=e=>{var t;let{openDialog:i,handleClose:n,selectedPrompt:l}=e;return(0,s.jsxs)(w.Z,{open:i,onClose:n,fullWidth:!0,maxWidth:"lg",children:[(0,s.jsxs)(C.Z,{children:["Prompt ",l.id.slice(0,6)]}),(0,s.jsxs)(y.Z,{children:[(0,s.jsx)(k.Z,{variant:"h6",style:{marginTop:"1rem"},children:"Prompt"}),(0,s.jsx)(P.Z,{readOnly:!0,value:null==l?void 0:null===(t=l.prompt)||void 0===t?void 0:t.raw,style:{width:"100%",padding:"0.75rem"},maxRows:50}),(0,s.jsx)(k.Z,{variant:"h6",style:{marginTop:"1rem"},children:"Used in..."}),(0,s.jsxs)(a.Z,{children:[(0,s.jsx)(u.Z,{children:(0,s.jsxs)(x.Z,{children:[(0,s.jsx)(o.Z,{children:"Eval ID"}),(0,s.jsx)(o.Z,{children:"Dataset ID"}),(0,s.jsx)(o.Z,{children:"Raw score"}),(0,s.jsx)(o.Z,{children:"Pass rate"}),(0,s.jsx)(o.Z,{children:"Pass count"}),(0,s.jsx)(o.Z,{children:"Fail count"})]})}),(0,s.jsx)(d.Z,{children:null==l?void 0:l.evals.sort((e,t)=>t.id.localeCompare(e.id)).map(e=>{var t,i,n,l,r,c,a;let d=null!==(r=null===(t=e.metrics)||void 0===t?void 0:t.testPassCount)&&void 0!==r?r:0,h=null!==(c=null===(i=e.metrics)||void 0===i?void 0:i.testFailCount)&&void 0!==c?c:0,u=d+h>0?(d/(d+h)*100).toFixed(2)+"%":"-";return(0,s.jsxs)(x.Z,{children:[(0,s.jsx)(o.Z,{children:(0,s.jsx)(p(),{href:"/eval/?evalId=".concat(e.id),children:e.id})}),(0,s.jsx)(o.Z,{children:(0,s.jsx)(p(),{href:"/datasets/?id=".concat(e.datasetId),children:e.datasetId.slice(0,6)})}),(0,s.jsx)(o.Z,{children:null!==(a=null===(l=e.metrics)||void 0===l?void 0:null===(n=l.score)||void 0===n?void 0:n.toFixed(2))&&void 0!==a?a:"-"}),(0,s.jsx)(o.Z,{children:u}),(0,s.jsx)(o.Z,{children:d}),(0,s.jsx)(o.Z,{children:h})]},"eval-".concat(e.id))})})]})]}),(0,s.jsx)(g.Z,{children:(0,s.jsx)(m.Z,{onClick:n,children:"Close"})})]})};function I(){let e=(0,f.useSearchParams)(),[t,i]=(0,n.useState)([]),[v,m]=(0,n.useState)("date"),[w,g]=(0,n.useState)("desc"),[y,C]=(0,n.useState)(1),[P,k]=(0,n.useState)(!1),[I,S]=(0,n.useState)(0),D=e=>{let t=v===e&&"asc"===w?"desc":"asc";m(e),g(t)};(0,n.useEffect)(()=>{(async()=>{let e=await (0,l.t)("/prompts"),t=await e.json();if(t&&t.data){let e=[...t.data].sort((e,t)=>null===v?0:"asc"===w?e[v]>t[v]?1:-1:e[v]<t[v]?1:-1);i(e)}})()},[v,w]);let U=e=>{k(!0),S(e)};return(0,n.useEffect)(()=>{let i=null==e?void 0:e.get("id");if(i){let e=t.findIndex(e=>e.id.startsWith(i));-1!==e&&U(e)}},[t,e]),(0,s.jsx)(r.Z,{paddingX:2,children:(0,s.jsxs)(h.Z,{children:[(0,s.jsxs)(a.Z,{children:[(0,s.jsx)(u.Z,{children:(0,s.jsxs)(x.Z,{children:[(0,s.jsx)(o.Z,{style:{width:"10%"},children:"ID"}),(0,s.jsx)(o.Z,{style:{width:"60%"},children:(0,s.jsx)(j.Z,{active:"raw"===v,direction:"raw"===v?w:"asc",onClick:()=>D("raw"),children:"Prompt"})}),(0,s.jsx)(o.Z,{style:{width:"20%"},children:(0,s.jsx)(Z.Z,{title:"The date of the most recent eval for this prompt",children:(0,s.jsx)(j.Z,{active:"date"===v,direction:"date"===v?w:"asc",onClick:()=>D("date"),children:"Most recent eval"})})}),(0,s.jsx)(o.Z,{style:{width:"10%"},children:(0,s.jsx)(j.Z,{active:"count"===v,direction:"count"===v?w:"asc",onClick:()=>D("count"),children:"# Evals"})})]})}),(0,s.jsx)(d.Z,{children:t.slice((y-1)*10,10*y).map((e,t)=>(0,s.jsxs)(x.Z,{hover:!0,children:[(0,s.jsx)(o.Z,{style:{width:"10%"},children:e.id.slice(0,6)}),(0,s.jsx)(o.Z,{style:{width:"60%",whiteSpace:"pre-wrap",cursor:"pointer"},onClick:()=>U(t),children:e.prompt.raw.length>500?e.prompt.raw.slice(0,500)+"...":e.prompt.raw}),(0,s.jsx)(o.Z,{style:{width:"20%"},children:e.recentEvalDate?(0,s.jsx)(p(),{href:"/eval?evalId=".concat(e.recentEvalId),children:e.recentEvalDate}):"Unknown"}),(0,s.jsx)(o.Z,{style:{width:"10%"},children:e.count})]},t))})]}),Math.ceil(t.length/10)>1&&(0,s.jsx)(c.Z,{count:Math.ceil(t.length/10),page:y,onChange:(e,t)=>C(t)}),t[I]&&(0,s.jsx)(E,{openDialog:P,handleClose:()=>{k(!1)},selectedPrompt:t[I]})]})})}},82911:function(e,t,i){"use strict";var s=i(94660),n=i(74810);let l=(0,s.Ue)()((0,n.tJ)(e=>({apiBaseUrl:"",setApiBaseUrl:t=>e({apiBaseUrl:t}),fetchingPromise:null,setFetchingPromise:t=>e({fetchingPromise:t})}),{name:"api-config-storage",partialize:e=>({apiBaseUrl:e.apiBaseUrl})}));t.Z=l},28891:function(e,t,i){e.exports=i(98556)}},function(e){e.O(0,[906,640,88,113,417,854,470,730,744],function(){return e(e.s=9458)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[420],{58004:function(e,i,t){Promise.resolve().then(t.bind(t,56129))},49532:function(e,i,t){"use strict";t.d(i,{t:function(){return s}});var a=t(82911);async function s(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{apiBaseUrl:t}=a.Z.getState();return fetch("".concat(t,"/api").concat(e),i)}},56129:function(e,i,t){"use strict";t.r(i),t.d(i,{default:function(){return eS}});var a,s,r=t(24004),n=t(14978),l=t(49532),o=t(79245),c=t(15133),u=t(47827),m=t(88938),d=t(35266),p=t(80356),h=t(38212),g=t(49658),f=t(13457),v=t(43226),x=t(70740),j=t(14565),y=t(48727),b=t(81344),Z=t(88469),w=t(28874),k=t(52653),C=t(8864);let R={"Security Risk":["bola","bfla","debug-access","hijacking","pii","prompt-extraction","rbac","shell-injection","sql-injection","ssrf","indirect-prompt-injection"],"Legal Risk":["contracts","harmful:child-exploitation","harmful:copyright-violations","harmful:cybercrime","harmful:hate","harmful:illegal-activities","harmful:illegal-drugs","harmful:intellectual-property","harmful:privacy","harmful:self-harm","harmful:sex-crime","harmful:sexual-content","harmful:specialized-advice","harmful:violent-crime"],"Brand Risk":["policy","competitors","excessive-agency","hallucination","harmful:graphic-content","harmful:harassment-bullying","harmful:indiscriminate-weapons","harmful:insults","harmful:misinformation-disinformation","harmful:non-violent-crime","harmful:profanity","harmful:radicalization","harmful:unsafe-practices","imitation","overreliance","politics"]},P={"Brand Risk":"Risks that can affect the brand reputation and trustworthiness.","Legal Risk":"Risks that can lead to legal consequences or violations.","Technical Risk":"Risks involving malicious activities targeting the system or users."};(a=s||(s={})).Critical="Critical",a.High="High",a.Medium="Medium",a.Low="Low";let S={"debug-access":s.High,"excessive-agency":s.Medium,"harmful:child-exploitation":s.Critical,"harmful:copyright-violations":s.Low,"harmful:cybercrime":s.Low,"harmful:graphic-content":s.Medium,"harmful:harassment-bullying":s.Low,"harmful:hate":s.Critical,"harmful:illegal-activities":s.Medium,"harmful:illegal-drugs":s.Medium,"harmful:indiscriminate-weapons":s.Medium,"harmful:insults":s.Low,"harmful:intellectual-property":s.Medium,"harmful:misinformation-disinformation":s.Medium,"harmful:non-violent-crime":s.Medium,"harmful:privacy":s.High,"harmful:profanity":s.Low,"harmful:radicalization":s.Low,"harmful:self-harm":s.Critical,"harmful:sex-crime":s.High,"harmful:sexual-content":s.Medium,"harmful:specialized-advice":s.Medium,"harmful:unsafe-practices":s.Low,"harmful:violent-crime":s.High,"prompt-injection":s.Medium,"shell-injection":s.High,"sql-injection":s.High,competitors:s.Low,contracts:s.Medium,hallucination:s.Medium,hijacking:s.High,imitation:s.Low,jailbreak:s.Medium,overreliance:s.Low,pii:s.High,politics:s.Low,rbac:s.High,policy:s.High,bola:s.High,bfla:s.High,ssrf:s.High,"indirect-prompt-injection":s.High,"prompt-extraction":s.Medium},A=Object.entries(R).reduce((e,i)=>{let[t,a]=i;return a.forEach(i=>{e[i]=t}),e},{});Object.keys(A);let I={bola:"BOLAEnforcement",bfla:"BFLAEnforcement",ssrf:"SSRFEnforcement","debug-access":"DebugAccess","excessive-agency":"ExcessiveAgency","harmful:child-exploitation":"Child Exploitation","harmful:cybercrime":"Cybercrime & Unauthorized Intrusion - Hacking and Malware","harmful:graphic-content":"Graphic & age-restricted content","harmful:harassment-bullying":"Harassment & Bullying","harmful:hate":"Hate","harmful:illegal-activities":"Illegal Activities - Fraud & scams","harmful:illegal-drugs":"Illegal Drugs","harmful:indiscriminate-weapons":"Indiscriminate Weapons","harmful:insults":"Insults and personal attacks","harmful:intellectual-property":"Intellectual Property violation","harmful:misinformation-disinformation":"Misinformation & Disinformation - Harmful lies and propaganda","harmful:non-violent-crime":"Non-Violent Crimes","harmful:privacy":"Privacy violations","harmful:profanity":"Requests containing profanity","harmful:radicalization":"Radicalization","harmful:self-harm":"Self-Harm","harmful:sex-crime":"Sex Crimes","harmful:sexual-content":"Sexual Content","harmful:specialized-advice":"Specialized Advice - Financial","harmful:unsafe-practices":"Promotion of unsafe practices","harmful:violent-crime":"Violent Crimes","harmful:chemical-biological-weapons":"Chemical & Biological Weapons","harmful:copyright-violations":"Copyright Violations - Copyrighted text","prompt-injection":"Harmful/Injection","shell-injection":"ShellInjection","sql-injection":"SqlInjection",competitors:"CompetitorEndorsement",contracts:"ContractualCommitment",hallucination:"Hallucination",hijacking:"Hijacking",imitation:"Imitation",jailbreak:"Harmful/Iterative",overreliance:"Overreliance",pii:"PIILeak",politics:"PoliticalStatement",rbac:"RbacEnforcement",policy:"PolicyViolation","indirect-prompt-injection":"IndirectPromptInjection","prompt-extraction":"PromptExtraction"},N=Object.entries(I).reduce((e,i)=>{let[t,a]=i;return e[a]=t,e},{}),F={"debug-access":"Debug Access","excessive-agency":"Excessive Agency","harmful:copyright-violations":"Copyright Violations","harmful:cybercrime":"Cybercrime","harmful:illegal-activities":"Illegal Activities","harmful:misinformation-disinformation":"Misinformation & disinformation","harmful:specialized-advice":"Specialized Advice","indirect-prompt-injection":"Indirect Prompt Injection","jailbreak:tree":"Tree-based optimization","prompt-extraction":"Prompt Extraction","prompt-injection":"Prompt Injection","shell-injection":"Shell Injection","sql-injection":"SQL Injection",basic:"Basic",bfla:"Privilege Escalation",bola:"Unauthorized Data Access",competitors:"Competitor Endorsements",contracts:"Unsupervised Contracts",crescendo:"Multi-turn",jailbreak:"Single-shot optimization",multilingual:"Multilingual",pii:"PII Leaks",policy:"Custom Policy",politics:"Political Opinions",rbac:"RBAC Enforcement",ssrf:"Malicious Resource Fetching"},M={default:"Includes common plugins",basic:"Raw attacks without any special attack strategies","ascii-smuggling":"Attempts to obfuscate malicious content using ASCII smuggling",multilingual:"Translates the input into low-resource languages",bola:"Broken Object Level Authorization (BOLA) tests",bfla:"Broken Function Level Authorization (BFLA) tests",ssrf:"Server-Side Request Forgery (SSRF) tests","debug-access":"Attempts to access or use debugging commands","excessive-agency":"Model taking excessive initiative or misunderstanding its capabilities","harmful:chemical-biological-weapons":"Content related to chemical or biological weapons","harmful:child-exploitation":"Content exploiting or harming children","harmful:copyright-violations":"Content violating copyright laws","harmful:cybercrime":"Content related to cybercriminal activities","harmful:graphic-content":"Displaying graphic or violent content","harmful:harassment-bullying":"Content that harasses or bullies individuals","harmful:hate":"Content that promotes hate or discrimination","harmful:illegal-activities":"Content promoting illegal activities","harmful:illegal-drugs":"Content related to illegal drug use or trade","harmful:indiscriminate-weapons":"Content related to weapons without context","harmful:insults":"Content that insults or demeans individuals","harmful:intellectual-property":"Content violating intellectual property rights","harmful:misinformation-disinformation":"Spreading false or misleading information","harmful:non-violent-crime":"Content related to non-violent criminal activities","harmful:privacy":"Content violating privacy rights","harmful:profanity":"Content containing profane or inappropriate language","harmful:radicalization":"Content that promotes radical or extremist views","harmful:self-harm":"Content that encourages self-harm or suicide","harmful:sex-crime":"Content related to sexual crimes","harmful:sexual-content":"Explicit or inappropriate sexual content","harmful:specialized-advice":"Providing advice in specialized fields without expertise","harmful:unsafe-practices":"Content promoting unsafe or harmful practices","harmful:violent-crime":"Content related to violent criminal activities","jailbreak:tree":"Tree-based jailbreak search","pii:api-db":"PII exposed through API or database","pii:direct":"Direct exposure of PII","pii:session":"PII exposed in session data","pii:social":"PII exposed through social engineering","prompt-injection":"Malicious inputs designed to manipulate the model's behavior","shell-injection":"Attempts to execute shell commands through the model","sql-injection":"Attempts to perform SQL injection attacks to manipulate database queries",base64:"Attempts to obfuscate malicious content using Base64 encoding",competitors:"Competitor mentions and endorsements",contracts:"Enters business or legal commitments without supervision",hallucination:"Model generating false or misleading information",harmful:"All harmful categories",hijacking:"Unauthorized or off-topic resource use",imitation:"Imitates people, brands, or organizations",jailbreak:"Attempts to bypass security measures through iterative prompt refinement",leetspeak:"Attempts to obfuscate malicious content using leetspeak",overreliance:"Model susceptible to relying on an incorrect user assumption or input",pii:"All PII categories",policy:"Violates a custom configured policy",politics:"Makes political statements",rbac:"Tests whether the model properly implements Role-Based Access Control (RBAC)",rot13:"Attempts to obfuscate malicious content using ROT13 encoding",crescendo:"Conversational attack strategy","prompt-extraction":"Attempts to get the model to reveal its system prompt","indirect-prompt-injection":"Evaluates how susceptible the prompt is to harmful instructions injected into the prompt"},L={"owasp:llm:01":{plugins:["harmful"],strategies:["prompt-injection","jailbreak"]},"owasp:llm:02":{plugins:["harmful","overreliance"],strategies:[]},"owasp:llm:03":{plugins:["harmful","overreliance","hallucination"],strategies:[]},"owasp:llm:06":{plugins:["harmful:privacy","pii:direct","pii:api-db","pii:session","pii:social"],strategies:["prompt-injection","jailbreak"]},"owasp:llm:07":{plugins:["rbac","bola","bfla","sql-injection","shell-injection","debug-access"],strategies:[]},"owasp:llm:08":{plugins:["excessive-agency","rbac"],strategies:[]},"owasp:llm:09":{plugins:["overreliance","hallucination"],strategies:[]}},H={"owasp:api:01":{plugins:["bola","rbac"],strategies:[]},"owasp:api:02":{plugins:["bfla","rbac"],strategies:[]},"owasp:api:03":{plugins:["excessive-agency","overreliance"],strategies:[]},"owasp:api:04":{plugins:["harmful:privacy","pii:api-db","pii:session"],strategies:[]},"owasp:api:05":{plugins:["rbac","bola","bfla"],strategies:[]},"owasp:api:06":{plugins:["harmful:misinformation-disinformation","overreliance"],strategies:[]},"owasp:api:07":{plugins:["sql-injection","shell-injection"],strategies:[]},"owasp:api:08":{plugins:["harmful:privacy","pii:api-db","pii:session"],strategies:[]},"owasp:api:09":{plugins:["overreliance","harmful:specialized-advice"],strategies:[]},"owasp:api:10":{plugins:["debug-access","harmful:privacy"],strategies:[]}},O={"nist:ai:measure:1.1":{plugins:["harmful:misinformation-disinformation","overreliance","excessive-agency"],strategies:["jailbreak","prompt-injection"]},"nist:ai:measure:1.2":{plugins:["harmful:misinformation-disinformation","overreliance","excessive-agency"],strategies:["jailbreak","prompt-injection"]},"nist:ai:measure:2.1":{plugins:["harmful:privacy","pii:api-db","pii:session","pii:direct","pii:social"],strategies:[]},"nist:ai:measure:2.2":{plugins:["harmful:privacy","pii:api-db","pii:session","pii:direct","pii:social"],strategies:[]},"nist:ai:measure:2.3":{plugins:["overreliance","excessive-agency"],strategies:[]},"nist:ai:measure:2.4":{plugins:["overreliance","excessive-agency","harmful:misinformation-disinformation"],strategies:["jailbreak","prompt-injection"]},"nist:ai:measure:2.5":{plugins:["overreliance","excessive-agency"],strategies:[]},"nist:ai:measure:2.6":{plugins:["harmful:unsafe-practices","harmful:chemical-biological-weapons","harmful:indiscriminate-weapons"],strategies:[]},"nist:ai:measure:2.7":{plugins:["harmful:cybercrime","sql-injection","shell-injection"],strategies:["jailbreak","prompt-injection"]},"nist:ai:measure:2.8":{plugins:["rbac","bola","bfla"],strategies:[]},"nist:ai:measure:2.9":{plugins:["overreliance","excessive-agency"],strategies:[]},"nist:ai:measure:2.10":{plugins:["harmful:privacy","pii:api-db","pii:session","pii:direct","pii:social"],strategies:[]},"nist:ai:measure:2.11":{plugins:["harmful:hate","harmful:harassment-bullying","harmful:insults"],strategies:[]},"nist:ai:measure:2.12":{plugins:[],strategies:[]},"nist:ai:measure:2.13":{plugins:["overreliance","excessive-agency"],strategies:[]},"nist:ai:measure:3.1":{plugins:["overreliance","excessive-agency","harmful:misinformation-disinformation"],strategies:["jailbreak","prompt-injection"]},"nist:ai:measure:3.2":{plugins:["overreliance","excessive-agency"],strategies:[]},"nist:ai:measure:3.3":{plugins:["overreliance","excessive-agency"],strategies:[]},"nist:ai:measure:4.1":{plugins:["overreliance","excessive-agency"],strategies:[]},"nist:ai:measure:4.2":{plugins:["overreliance","excessive-agency","harmful:misinformation-disinformation"],strategies:[]},"nist:ai:measure:4.3":{plugins:["overreliance","excessive-agency"],strategies:[]}},z={"mitre:atlas:reconnaissance":{plugins:["competitors","policy","rbac","prompt-extraction"],strategies:["multilingual"]},"mitre:atlas:resource-development":{plugins:["harmful:cybercrime","harmful:illegal-drugs","harmful:indiscriminate-weapons"],strategies:[]},"mitre:atlas:initial-access":{plugins:["harmful:cybercrime","sql-injection","shell-injection","ssrf","debug-access"],strategies:["jailbreak","prompt-injection","base64","leetspeak","rot13"]},"mitre:atlas:ml-attack-staging":{plugins:["overreliance","excessive-agency","hallucination","ascii-smuggling","indirect-prompt-injection"],strategies:["jailbreak","jailbreak:tree"]},"mitre:atlas:exfiltration":{plugins:["harmful:privacy","pii:api-db","pii:session","pii:direct","pii:social","indirect-prompt-injection","prompt-extraction","ascii-smuggling"],strategies:[]},"mitre:atlas:impact":{plugins:["harmful","overreliance","excessive-agency","hijacking","imitation","politics"],strategies:["crescendo"]}};[...Object.keys(L),...Object.keys(H),...Object.keys(O),...Object.keys(z)];let B={"nist:ai:measure":O,"owasp:llm":L,"owasp:api":H,"mitre:atlas":z},E={"nist:ai:measure":"NIST AI RMF","owasp:llm":"OWASP LLM Top 10","owasp:api":"OWASP API Top 10"};var T=t(37204),W=t(94660),D=t(74810);let U={getItem:async e=>await (0,T.U2)(e)||null,setItem:async(e,i)=>{await (0,T.t8)(e,i)},removeItem:async e=>{await (0,T.IV)(e)}},q=(0,W.Ue)()((0,D.tJ)(e=>({showPercentagesOnRiskCards:!1,setShowPercentagesOnRiskCards:i=>e(()=>({showPercentagesOnRiskCards:i})),pluginPassRateThreshold:1,setPluginPassRateThreshold:i=>e(()=>({pluginPassRateThreshold:i})),showComplianceSection:!1,setShowComplianceSection:i=>e(()=>({showComplianceSection:i}))}),{name:"ReportViewStorage",storage:(0,D.FL)(()=>U)}));t(59598);var V=e=>{let{categoryStats:i,strategyStats:t}=e,{pluginPassRateThreshold:a,showComplianceSection:s}=q(),[l,u]=(0,n.useState)({}),m=n.useCallback(e=>{let s=B[e];return s?Array.from(new Set(Object.entries(s).flatMap(e=>{let[s,{plugins:r,strategies:n}]=e,l=[...r,...n].filter(e=>{let s=i[e]||t[e];return s&&s.total>0&&s.pass/s.total<a});return l}))):[]},[i,t,a]),g=n.useMemo(()=>Object.entries(B).reduce((e,i)=>{let[t,a]=i,s=m(t);return e[t]=0===s.length,e},{}),[m]),f=Object.keys(g).length,R=Object.values(g).filter(Boolean).length,P=e=>{u(i=>({...i,[e]:!i[e]}))};return s?(0,r.jsx)(c.Z,{className:"framework-compliance-card",children:(0,r.jsxs)(Z.Z,{children:[(0,r.jsxs)(v.Z,{variant:"h6",mb:2,children:["Framework Compliance (",R,"/",f,")"]}),(0,r.jsx)(w.ZP,{container:!0,spacing:3,className:"framework-grid",children:Object.entries(g).map(e=>{let[i,t]=e,a=m(i),s=l[i];return(0,r.jsx)(w.ZP,{item:!0,xs:12,sm:6,md:4,children:(0,r.jsx)(c.Z,{className:"framework-item ".concat(t?"compliant":"non-compliant"),children:(0,r.jsxs)(Z.Z,{children:[(0,r.jsxs)(o.Z,{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1,children:[(0,r.jsx)(v.Z,{variant:"h6",children:E[i]}),t?(0,r.jsx)(j.Z,{className:"icon-compliant"}):(0,r.jsx)(x.Z,{className:"icon-non-compliant"})]}),!t&&(0,r.jsxs)(o.Z,{children:[(0,r.jsxs)(o.Z,{display:"flex",alignItems:"center",mb:1,onClick:()=>P(i),style:{cursor:"pointer"},children:[(0,r.jsxs)(v.Z,{variant:"body2",fontWeight:"bold",children:["Non-compliant plugins: ",a.length]}),(0,r.jsx)(k.Z,{size:"small",children:s?(0,r.jsx)(y.Z,{}):(0,r.jsx)(b.Z,{})})]}),s&&(0,r.jsx)(d.Z,{dense:!0,children:a.map(e=>(0,r.jsxs)(p.ZP,{children:[(0,r.jsx)(C.Z,{children:(0,r.jsx)(x.Z,{fontSize:"small",color:"error"})}),(0,r.jsx)(h.Z,{primary:e})]},e))})]})]})})},i)})})]})}):null};t(4309);var _=e=>{let{categoryStats:i}=e,t=[s.Critical,s.High,s.Medium,s.Low],a=t.reduce((e,t)=>(e[t]=Object.keys(i).reduce((e,i)=>S[i]===t?e+1:e,0),e),{});return(0,r.jsx)(f.Z,{spacing:2,direction:{xs:"column",sm:"row"},children:t.map(e=>(0,r.jsx)(o.Z,{flex:1,children:(0,r.jsx)(c.Z,{className:"severity-card card-".concat(e.toLowerCase()),children:(0,r.jsxs)(Z.Z,{onClick:()=>window.location.hash="#table",children:[(0,r.jsx)(v.Z,{variant:"h6",gutterBottom:!0,children:e}),(0,r.jsx)(v.Z,{variant:"h4",color:"text.primary",children:a[e]}),(0,r.jsx)(v.Z,{variant:"body2",color:"text.secondary",children:"issues"})]})})},e))})},J=t(52481),G=t(6882),K=t(78276),Q=t(35193),Y=t.n(Q),$=t(21629),X=e=>{let{evalDescription:i}=e,[t,a]=(0,n.useState)(!1),[s,l]=(0,n.useState)(!1),o=async()=>{a(!0),setTimeout(async()=>{let e=document.documentElement,t=await Y()(e,{height:Math.max(e.scrollHeight,e.offsetHeight),windowHeight:document.documentElement.scrollHeight}),s=t.toDataURL("image/png"),r=new $.ZP("p","pt",[t.width,t.height]);r.addImage(s,"PNG",0,0,t.width,t.height);let n=i?"report_".concat(i.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,""),".pdf"):"report.pdf";r.save(n),a(!1)},100)};return(0,r.jsx)(K.Z,{title:"Download report as PDF",placement:"top",open:s&&!t,children:(0,r.jsx)(k.Z,{onClick:o,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),sx:{mt:"4px",position:"relative"},"aria-label":"download report",disabled:t,children:t?(0,r.jsx)(G.Z,{size:20}):(0,r.jsx)(J.Z,{})})})},ee=t(93295),ei=t(49050),et=t(89394),ea=t(42834),es=t(26337),er=t(91797),en=t(4451),el=()=>{let{showPercentagesOnRiskCards:e,setShowPercentagesOnRiskCards:i,pluginPassRateThreshold:t,setPluginPassRateThreshold:a,showComplianceSection:s,setShowComplianceSection:l}=q(),[o,c]=n.useState(!1),u=()=>{c(!1)};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(K.Z,{title:"Report Settings",placement:"top",children:(0,r.jsx)(k.Z,{onClick:()=>{c(!0)},"aria-label":"settings",children:(0,r.jsx)(ee.Z,{})})}),(0,r.jsxs)(et.Z,{open:o,onClose:u,fullWidth:!0,maxWidth:"sm",children:[(0,r.jsx)(er.Z,{children:"Report Settings"}),(0,r.jsxs)(es.Z,{children:[(0,r.jsx)(v.Z,{component:"div",sx:{padding:"16px 0"},children:(0,r.jsxs)("label",{style:{display:"flex",alignItems:"center",cursor:"pointer"},children:[(0,r.jsx)("input",{type:"checkbox",checked:s,onChange:e=>l(e.target.checked),style:{marginRight:"10px"}}),"Show compliance section (NIST, OWASP)"]})}),(0,r.jsx)(v.Z,{component:"div",sx:{padding:"16px 0"},children:(0,r.jsxs)("label",{style:{display:"flex",alignItems:"center",cursor:"pointer"},children:[(0,r.jsx)("input",{type:"checkbox",checked:e,onChange:e=>i(e.target.checked),style:{marginRight:"10px"}}),"Show percentages on risk cards"]})}),(0,r.jsxs)(v.Z,{component:"div",sx:{padding:"16px 0"},children:[(0,r.jsxs)("label",{children:["Plugin Pass Rate Threshold: ",(100*t).toFixed(0),"%"]}),(0,r.jsx)(v.Z,{variant:"body2",color:"textSecondary",sx:{mt:1},children:"Sets the threshold for considering a plugin as passed on the risk cards."}),(0,r.jsx)(en.ZP,{value:t,onChange:(e,i)=>a(i),"aria-labelledby":"plugin-pass-rate-threshold-slider",step:.05,marks:!0,min:0,max:1,valueLabelDisplay:"auto",valueLabelFormat:e=>"".concat((100*e).toFixed(0),"%")})]})]}),(0,r.jsx)(ea.Z,{children:(0,r.jsx)(ei.Z,{onClick:u,variant:"contained",color:"primary",children:"Close"})})]})]})},eo=t(48670),ec=t(64111);t(11674);var eu=e=>{let{open:i,onClose:t,category:a,failures:s,evalId:n,numPassed:l,numFailed:c}=e,u=I[a];if(!u)return console.error("[RiskCategoryDrawer] Could not load category",a),null;let m=F[a]||u,h=l+c,g=h>0?Math.round(l/h*100):0;return 0===h?(0,r.jsx)(ec.ZP,{anchor:"right",open:i,onClose:t,children:(0,r.jsxs)(o.Z,{sx:{width:500,p:2},className:"risk-category-drawer",children:[(0,r.jsx)(v.Z,{variant:"h6",gutterBottom:!0,children:m}),(0,r.jsx)(v.Z,{variant:"body1",sx:{mt:2,textAlign:"center"},children:"No tests have been run for this category."})]})}):(0,r.jsx)(ec.ZP,{anchor:"right",open:i,onClose:t,children:(0,r.jsxs)(o.Z,{sx:{width:500,p:2},className:"risk-category-drawer",children:[(0,r.jsx)(v.Z,{variant:"h6",gutterBottom:!0,children:m}),(0,r.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,r.jsxs)(o.Z,{sx:{textAlign:"center",flex:1},children:[(0,r.jsx)(v.Z,{variant:"h4",color:"primary",children:l.toString()}),(0,r.jsx)(v.Z,{variant:"body2",children:"Passed"})]}),(0,r.jsxs)(o.Z,{sx:{textAlign:"center",flex:1},children:[(0,r.jsx)(v.Z,{variant:"h4",children:h.toString()}),(0,r.jsx)(v.Z,{variant:"body2",children:"Total"})]}),(0,r.jsxs)(o.Z,{sx:{textAlign:"center",flex:1},children:[(0,r.jsx)(v.Z,{variant:"h4",color:g>=70?"success.main":"error.main",children:"".concat(g,"%")}),(0,r.jsx)(v.Z,{variant:"body2",children:"Pass Rate"})]})]}),(0,r.jsx)(ei.Z,{variant:"contained",color:"inherit",fullWidth:!0,onClick:e=>{let i="/eval/?evalId=".concat(n,"&search=").concat(encodeURIComponent("(var=".concat(u,"|metric=").concat(u,")")));e.ctrlKey||e.metaKey?window.open(i,"_blank"):window.location.href=i},children:"View All Logs"}),s.length>0?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v.Z,{variant:"h6",className:"failed-tests-header",children:"Failed Tests"}),(0,r.jsx)(d.Z,{children:s.slice(0,5).map((e,i)=>(0,r.jsx)(p.ZP,{className:"failure-item",children:(0,r.jsxs)(o.Z,{children:[(0,r.jsx)(v.Z,{variant:"subtitle1",className:"prompt",children:function(e){try{let i=JSON.parse(e);if(Array.isArray(i)){let e=i[i.length-1];if(e.content)return e.content||"-"}}catch(e){}return e}(e.prompt)}),(0,r.jsx)(v.Z,{variant:"body2",className:"output",children:function(e){if("string"==typeof e)return e;if(Array.isArray(e)){let i=e.filter(e=>"function"===e.type);if(i.length>0)return i.map(e=>{var i,t;return"".concat(null===(i=e.function)||void 0===i?void 0:i.name,": (").concat(null===(t=e.function)||void 0===t?void 0:t.arguments,")")}).join("\n")}return JSON.stringify(e)}(e.output)})]})},i))})]}):(0,r.jsx)(o.Z,{sx:{mt:2,textAlign:"center"},children:(0,r.jsx)(v.Z,{variant:"body1",children:"All tests passed successfully"})})]})})};t(46553);var em=e=>{var i,t;let{title:a,subtitle:s,progressValue:l,numTestsPassed:u,numTestsFailed:m,testTypes:g,evalId:f,failuresByPlugin:y}=e,{showPercentagesOnRiskCards:b,pluginPassRateThreshold:k}=q(),[C,R]=n.useState(!1),[P,S]=n.useState(""),A=g.filter(e=>e.numPassed+e.numFailed>0);return 0===A.length?null:(0,r.jsx)(c.Z,{children:(0,r.jsxs)(Z.Z,{className:"risk-card-container",children:[(0,r.jsxs)(w.ZP,{container:!0,spacing:3,children:[(0,r.jsxs)(w.ZP,{item:!0,xs:12,md:6,style:{display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center"},children:[(0,r.jsx)(v.Z,{variant:"h5",className:"risk-card-title",children:a}),(0,r.jsx)(v.Z,{variant:"subtitle1",color:"textSecondary",mb:2,children:s}),(0,r.jsx)(o.Z,{sx:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",width:100,height:100},children:(0,r.jsx)(eo.a,{value:l,max:100,thickness:10,arc:{startAngle:-90,endAngle:90,color:"primary.main"},text:Number.isNaN(l)?"-":"".concat(Math.round(l),"%"),sx:{width:"100%",height:"100%"}})}),(0,r.jsxs)(v.Z,{variant:"h6",className:"risk-card-issues",children:[m," failed probes"]}),(0,r.jsxs)(v.Z,{variant:"subtitle1",color:"textSecondary",className:"risk-card-tests-passed",children:[u,"/",u+m," passed"]})]}),(0,r.jsx)(w.ZP,{item:!0,xs:6,md:4,children:(0,r.jsx)(d.Z,{dense:!0,children:A.map((e,i)=>{let t=e.numPassed/(e.numPassed+e.numFailed);return(0,r.jsx)(K.Z,{title:M[e.name],placement:"left",arrow:!0,children:(0,r.jsxs)(p.ZP,{className:"risk-card-list-item",onClick:()=>{S(e.name),R(!0)},style:{cursor:"pointer"},children:[(0,r.jsx)(h.Z,{primary:F[e.name]||I[e.name],primaryTypographyProps:{variant:"body2"}}),b?(0,r.jsx)(v.Z,{variant:"body2",className:"risk-card-percentage ".concat(t>=.8?"risk-card-percentage-high":t>=.5?"risk-card-percentage-medium":"risk-card-percentage-low"),children:"".concat(Math.round(100*t),"%")}):t>=k?(0,r.jsx)(j.Z,{className:"risk-card-icon-passed"}):(0,r.jsx)(x.Z,{className:"risk-card-icon-failed"})]})},i)})})})]}),P&&(0,r.jsx)(eu,{open:C,onClose:()=>R(!1),category:P,failures:y[P]||[],evalId:f,numPassed:(null===(i=g.find(e=>e.name===P))||void 0===i?void 0:i.numPassed)||0,numFailed:(null===(t=g.find(e=>e.name===P))||void 0===t?void 0:t.numFailed)||0})]})})};t(32991);var ed=e=>{let{categoryStats:i,evalId:t,failuresByPlugin:a}=e,s=Object.keys(R).map(e=>({name:e,passed:R[e].every(e=>{var t,a;return(null===(t=i[e])||void 0===t?void 0:t.pass)===(null===(a=i[e])||void 0===a?void 0:a.total)})}));return(0,r.jsx)(f.Z,{spacing:4,children:s.map((e,s)=>{let n=e.name,l=R[n],o=l.reduce((e,t)=>{var a;return e+((null===(a=i[t])||void 0===a?void 0:a.pass)||0)},0),c=l.reduce((e,t)=>{var a;return e+((null===(a=i[t])||void 0===a?void 0:a.total)||0)},0);return(0,r.jsx)(em,{title:e.name,subtitle:P[n],progressValue:o/c*100,numTestsPassed:o,numTestsFailed:c-o,testTypes:l.map(e=>{var t,a,s,r,n;return{name:e,categoryPassed:(null===(t=i[e])||void 0===t?void 0:t.pass)===(null===(a=i[e])||void 0===a?void 0:a.total),numPassed:(null===(s=i[e])||void 0===s?void 0:s.pass)||0,numFailed:((null===(r=i[e])||void 0===r?void 0:r.total)||0)-((null===(n=i[e])||void 0===n?void 0:n.pass)||0)}}),evalId:t,failuresByPlugin:a},s)})})},ep=t(54755),eh=t(12120),eg=t(35843);t(44097);let ef=(0,eg.ZP)(ep.Z)(e=>{let{theme:i}=e;return{height:8,borderRadius:8,["&.".concat(eh.Z.colorPrimary)]:{backgroundColor:"light"===i.palette.mode?"#e0e0e0":"#424242"},["& .".concat(eh.Z.bar)]:{borderRadius:8,backgroundColor:"light"===i.palette.mode?"#ff1744":"#ff8a80"}}});var ev=e=>{let{strategyStats:i}=e,t=Object.entries(i).sort((e,i)=>(i[1].total-i[1].pass)/i[1].total-(e[1].total-e[1].pass)/e[1].total);return(0,r.jsx)(c.Z,{className:"strategy-stats-card",children:(0,r.jsxs)(Z.Z,{className:"strategy-stats-content",children:[(0,r.jsx)(v.Z,{variant:"h5",mb:2,children:"Attack success rates"}),(0,r.jsx)(o.Z,{className:"strategy-grid",children:t.map(e=>{let[i,{pass:t,total:a}]=e,s=(a-t)/a*100;return(0,r.jsxs)(o.Z,{className:"strategy-item",children:[(0,r.jsx)(v.Z,{variant:"body1",className:"strategy-name",children:F[i]||i}),(0,r.jsx)(v.Z,{variant:"body2",color:"text.secondary",className:"strategy-description",children:M[i]||""}),(0,r.jsxs)(o.Z,{display:"flex",alignItems:"center",className:"progress-container",children:[(0,r.jsx)(o.Z,{width:"100%",mr:1,children:(0,r.jsx)(ef,{variant:"determinate",value:s})}),(0,r.jsx)(o.Z,{minWidth:45,className:"fail-rate",children:(0,r.jsxs)(v.Z,{variant:"body2",color:"text.secondary",children:[s.toFixed(1),"%"]})})]}),(0,r.jsxs)(v.Z,{variant:"caption",color:"text.secondary",className:"attack-stats",children:[a-t," / ",a," attacks succeeded"]})]},i)})})]})})},ex=t(73701),ej=t(39279),ey=t(30666),eb=t(15795),eZ=t(66988),ew=t(15646),ek=t(98489),eC=t(95781);t(93091);let eR=e=>{let i=[];for(let t of Object.values(R))for(let a of t)i.push({pluginName:a,type:I[a]||a,description:M[a]||"",passRate:e[a]?(e[a].pass/e[a].total*100).toFixed(1)+"%":"N/A",passRateWithFilter:e[a]?(e[a].passWithFilter/e[a].total*100).toFixed(1)+"%":"N/A",severity:S[a]||"Unknown"});return i.sort((e,i)=>"N/A"===e.passRate?1:"N/A"===i.passRate?-1:Number.parseFloat(e.passRate)-Number.parseFloat(i.passRate))};var eP=e=>{let{evalId:i,categoryStats:t}=e,a=eR(t).filter(e=>"N/A"!==e.passRate),[s,l]=n.useState(0),[c,u]=n.useState(10),[m,d]=n.useState("asc"),[p,h]=n.useState("default"),g=e=>{let i=p===e&&"asc"===m;d(i?"desc":"asc"),h(e)};return(0,r.jsxs)(o.Z,{children:[(0,r.jsx)(v.Z,{variant:"h5",gutterBottom:!0,id:"table",children:"Vulnerabilities and Mitigations"}),(0,r.jsxs)(eb.Z,{children:[(0,r.jsxs)(ex.Z,{children:[(0,r.jsx)(eZ.Z,{children:(0,r.jsxs)(ek.Z,{children:[(0,r.jsx)(ey.Z,{children:"Type"}),(0,r.jsx)(ey.Z,{children:"Description"}),(0,r.jsx)(ey.Z,{children:(0,r.jsx)(eC.Z,{active:"passRate"===p,direction:"passRate"===p?m:"asc",onClick:()=>g("passRate"),children:"Pass rate"})}),(0,r.jsx)(ey.Z,{children:(0,r.jsx)(eC.Z,{active:"severity"===p,direction:"severity"===p?m:"asc",onClick:()=>g("severity"),children:"Severity"})}),(0,r.jsx)(ey.Z,{style:{minWidth:"275px"},children:"Actions"})]})}),(0,r.jsx)(ej.Z,{children:a.sort((e,i)=>{if("passRate"===p)return"N/A"===e.passRate?1:"N/A"===i.passRate?-1:"asc"===m?Number.parseFloat(e.passRate)-Number.parseFloat(i.passRate):Number.parseFloat(i.passRate)-Number.parseFloat(e.passRate);if("severity"===p){if("N/A"===e.passRate)return 1;if("N/A"===i.passRate)return -1;let t={Critical:4,High:3,Medium:2,Low:1};return"asc"===m?t[e.severity]-t[i.severity]:t[i.severity]-t[e.severity]}{let t={Critical:4,High:3,Medium:2,Low:1};return e.severity===i.severity?Number.parseFloat(e.passRate)-Number.parseFloat(i.passRate):t[i.severity]-t[e.severity]}}).slice(s*c,s*c+c).map((e,i)=>{let t="";if("N/A"!==e.passRate){let i=Number.parseFloat(e.passRate);t=i>=75?"pass-high":i>=50?"pass-medium":"pass-low"}return(0,r.jsxs)(ek.Z,{children:[(0,r.jsx)(ey.Z,{children:(0,r.jsx)("span",{style:{fontWeight:500},children:F[e.pluginName]||e.type})}),(0,r.jsx)(ey.Z,{children:e.description}),(0,r.jsxs)(ey.Z,{className:t,children:[(0,r.jsx)("strong",{children:e.passRate}),e.passRateWithFilter===e.passRate?null:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("br",{}),"(",e.passRateWithFilter," with mitigation)"]})]}),(0,r.jsx)(ey.Z,{className:"vuln-".concat(e.severity.toLowerCase()),children:e.severity}),(0,r.jsxs)(ey.Z,{style:{minWidth:270},children:[(0,r.jsx)(ei.Z,{variant:"contained",size:"small",onClick:()=>{let i=new URLSearchParams(window.location.search),t=i.get("evalId");window.location.href="/eval/?evalId=".concat(t,"&search=").concat(encodeURIComponent("(var=".concat(e.type,"|metric=").concat(e.type,")")))},children:"View logs"}),(0,r.jsx)(K.Z,{title:"Temporarily disabled while in beta, click to contact us to enable",children:(0,r.jsx)(ei.Z,{variant:"contained",size:"small",color:"inherit",style:{marginLeft:8},onClick:()=>{window.location.href="mailto:inquiries@promptfoo.dev?subject=Promptfoo%20automatic%20vulnerability%20mitigation&body=Hello%20Promptfoo%20Team,%0D%0A%0D%0AI%20am%20interested%20in%20learning%20more%20about%20the%20automatic%20vulnerability%20mitigation%20beta.%20Please%20provide%20me%20with%20more%20details.%0D%0A%0D%0A"},children:"Apply mitigation"})})]})]},i)})})]}),a.length>c&&(0,r.jsx)(ew.Z,{rowsPerPageOptions:[10,25,50],component:"div",count:a.length,rowsPerPage:c,page:s,onPageChange:(e,i)=>{l(i)},onRowsPerPageChange:e=>{u(Number.parseInt(e.target.value,10)),l(0)}})]})]})};t(67667);var eS=()=>{let[e,i]=n.useState(null),[t,a]=n.useState(null),[s,x]=n.useState(0),[j,y]=n.useState(!1),b=n.useMemo(()=>{let e={};return null==t||t.results.results.forEach(i=>{var t,a,s;let r=function(e){var i,t,a;let s=e.vars.harmCategory;if(s)return N[s];let r=(null===(t=e.gradingResult)||void 0===t?void 0:null===(i=t.componentResults)||void 0===i?void 0:i.map(e=>{var i;return null===(i=e.assertion)||void 0===i?void 0:i.metric}))||[],n=null===(a=r[0])||void 0===a?void 0:a.split("/")[0];return n?N[n]:null}(i);if(!r){console.warn("Could not get failures for plugin ".concat(r));return}!r||(null===(t=i.gradingResult)||void 0===t?void 0:t.pass)||(e[r]||(e[r]=[]),e[r].push({prompt:(null===(a=i.vars.query)||void 0===a?void 0:a.toString())||i.prompt.raw,output:null===(s=i.response)||void 0===s?void 0:s.output}))}),e},[t]);if(n.useEffect(()=>{let e=async e=>{let i=await (0,l.t)("/results/".concat(e),{cache:"no-store"}),t=await i.json();a(t.data)},t=new URLSearchParams(window.location.search);if(!t)return;let s=t.get("evalId");s&&(i(s),e(s))},[]),n.useEffect(()=>{document.title="Report: ".concat((null==t?void 0:t.config.description)||e||"Red Team"," | promptfoo")},[t,e]),!t||!e)return(0,r.jsx)(o.Z,{sx:{width:"100%",textAlign:"center"},children:"Loading..."});let Z=t.results.table.head.prompts,w=Z[s],k=t.results.table.body,C=t.results.results.reduce((e,i)=>{var t,a,s,r,n,l,o,c;let u=i.vars.harmCategory,m=(null===(a=i.gradingResult)||void 0===a?void 0:null===(t=a.componentResults)||void 0===t?void 0:t.map(e=>{var i;return null===(i=e.assertion)||void 0===i?void 0:i.metric}))||[],d=[u,...m].filter(e=>e);for(let t of d){if("string"!=typeof t)continue;let a=N[t.split("/")[0]];if(!a){console.log("Unknown harm category:",t);break}let u=null===(r=i.gradingResult)||void 0===r?void 0:null===(s=r.componentResults)||void 0===s?void 0:s.some(e=>{var i;let t=(null===(i=e.assertion)||void 0===i?void 0:i.type)==="moderation",a=e.pass;return t&&a}),m=null===(l=i.gradingResult)||void 0===l?void 0:null===(n=l.componentResults)||void 0===n?void 0:n.some(e=>{var i,t;let a=(null===(i=e.assertion)||void 0===i?void 0:i.type)==="llm-rubric"||(null===(t=e.assertion)||void 0===t?void 0:t.type.startsWith("promptfoo:redteam")),s=e.pass;return a&&s}),d=null===(c=i.gradingResult)||void 0===c?void 0:null===(o=c.componentResults)||void 0===o?void 0:o.some(e=>{var i;let t=(null===(i=e.assertion)||void 0===i?void 0:i.type)==="human",a=e.pass;return t&&a});e[a]=e[a]||{pass:0,total:0,passWithFilter:0},e[a].total++,m||d?(e[a].pass++,e[a].passWithFilter++):!u&&e[a].passWithFilter++}return e},{}),R=t.results.results.reduce((e,i)=>{var t,a,s,r;let n=(null===(a=i.gradingResult)||void 0===a?void 0:null===(t=a.componentResults)||void 0===t?void 0:t.map(e=>{var i;return null===(i=e.assertion)||void 0===i?void 0:i.metric}))||[];for(let t of n){if("string"!=typeof t)continue;let a=function(e){let i=e.split("/")[1];if(i){if("Iterative"===i)return"jailbreak";if("IterativeTree"===i)return"jailbreak:tree";if("Crescendo"===i)return"crescendo";if("Injection"===i)return"prompt-injection";else if("Rot13"===i)return"rot13";else if("Base64"===i)return"base64";else if("Leetspeak"===i)return"leetspeak";else if(i.startsWith("Multilingual"))return"multilingual"}return null}(t);a||(a="basic"),e[a]||(e[a]={pass:0,total:0}),e[a].total++;let n=null===(r=i.gradingResult)||void 0===r?void 0:null===(s=r.componentResults)||void 0===s?void 0:s.some(e=>{var i;return(null===(i=e.assertion)||void 0===i?void 0:i.metric)===t&&e.pass});n&&e[a].pass++}return e},{}),P=()=>{Z.length>1&&y(!0)},S=e=>{x(e),y(!1)};return(0,r.jsxs)(m.Z,{children:[(0,r.jsxs)(f.Z,{spacing:4,pb:8,pt:2,children:[(0,r.jsxs)(c.Z,{className:"report-header",sx:{position:"relative"},children:[(0,r.jsxs)(o.Z,{sx:{position:"absolute",top:8,right:8,display:"flex"},children:[(0,r.jsx)(X,{evalDescription:t.config.description||e}),(0,r.jsx)(el,{})]}),(0,r.jsxs)(v.Z,{variant:"h4",children:[(0,r.jsx)("strong",{children:"LLM Risk Assessment"}),t.config.description&&": ".concat(t.config.description)]}),(0,r.jsx)(v.Z,{variant:"subtitle1",mb:2,children:new Date(t.createdAt).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}),(0,r.jsxs)(o.Z,{className:"report-details",children:[(0,r.jsx)(u.Z,{size:"small",label:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("strong",{children:"Model:"})," ",w.provider]}),onClick:P,style:{cursor:Z.length>1?"pointer":"default"}}),(0,r.jsx)(u.Z,{size:"small",label:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("strong",{children:"Dataset:"})," ",k.length," probes"]})}),(0,r.jsx)(u.Z,{size:"small",label:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("strong",{children:"Prompt:"}),' "',w.raw.length>40?"".concat(w.raw.substring(0,40),"..."):w.raw,'"']}),onClick:P,style:{cursor:Z.length>1?"pointer":"default"}})]})]}),(0,r.jsx)(_,{categoryStats:C}),(0,r.jsx)(V,{categoryStats:C,strategyStats:R}),(0,r.jsx)(ev,{strategyStats:R}),(0,r.jsx)(ed,{categoryStats:C,evalId:e,failuresByPlugin:b}),(0,r.jsx)(eP,{evalId:e,categoryStats:C})]}),(0,r.jsx)(g.Z,{open:j,onClose:()=>y(!1),"aria-labelledby":"prompt-modal-title",sx:{"& .MuiModal-root":{display:"flex",alignItems:"center",justifyContent:"center"},"& .MuiBox-root":{width:"80%",maxWidth:800,maxHeight:"90vh",overflowY:"auto"}},children:(0,r.jsxs)(o.Z,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,bgcolor:"background.paper",boxShadow:24,p:4},children:[(0,r.jsx)(v.Z,{id:"prompt-modal-title",variant:"h6",component:"h2",gutterBottom:!0,children:"View results for..."}),(0,r.jsx)(d.Z,{children:Z.map((e,i)=>(0,r.jsx)(p.ZP,{button:!0,onClick:()=>S(i),selected:i===s,children:(0,r.jsx)(h.Z,{primary:"".concat(e.provider),secondary:e.raw.length>100?"".concat(e.raw.substring(0,100),"..."):e.raw})},i))})]})})]})}},82911:function(e,i,t){"use strict";var a=t(94660),s=t(74810);let r=(0,a.Ue)()((0,s.tJ)(e=>({apiBaseUrl:"",setApiBaseUrl:i=>e({apiBaseUrl:i}),fetchingPromise:null,setFetchingPromise:i=>e({fetchingPromise:i})}),{name:"api-config-storage",partialize:e=>({apiBaseUrl:e.apiBaseUrl})}));i.Z=r},59598:function(){},4309:function(){},67667:function(){},46553:function(){},32991:function(){},11674:function(){},44097:function(){},93091:function(){}},function(e){e.O(0,[949,799,906,461,88,113,417,874,646,167,470,730,744],function(){return e(e.s=58004)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[413],{8458:function(e,t,n){Promise.resolve().then(n.bind(n,83013))},49532:function(e,t,n){"use strict";n.d(t,{t:function(){return r}});var a=n(82911);async function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{apiBaseUrl:n}=a.Z.getState();return fetch("".concat(n,"/api").concat(e),t)}},83013:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return eh}});var a=n(24004),r=n(14978),i=n(69179),l=n(47887),s=n(79245),o=n(49050),c=n(88938),d=n(89394),p=n(42834),u=n(26337),h=n(64173),m=n(91797),x=n(13457),f=n(43226),j=n(93295),v=n(82057),g=n(58768),Z=n(15873),b=n(21975),y=()=>{let{env:e,setEnv:t}=(0,l.o)(),[n,i]=(0,r.useState)(!1),[s,c]=(0,r.useState)(e),h=()=>{i(!1)};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.Z,{variant:"outlined",startIcon:(0,a.jsx)(j.Z,{}),onClick:()=>{i(!0)},children:"API keys"}),(0,a.jsxs)(d.Z,{open:n,onClose:h,fullWidth:!0,maxWidth:"md",children:[(0,a.jsx)(m.Z,{children:"Provider settings"}),(0,a.jsxs)(u.Z,{children:[(0,a.jsxs)(v.Z,{defaultExpanded:!0,children:[(0,a.jsx)(Z.Z,{children:"OpenAI"}),(0,a.jsxs)(g.Z,{children:[(0,a.jsx)(b.Z,{label:"OpenAI API key",fullWidth:!0,margin:"normal",value:s.OPENAI_API_KEY,onChange:e=>c({...s,OPENAI_API_KEY:e.target.value})}),(0,a.jsx)(b.Z,{label:"OpenAI API host",fullWidth:!0,margin:"normal",value:s.OPENAI_API_HOST,onChange:e=>c({...s,OPENAI_API_HOST:e.target.value})}),(0,a.jsx)(b.Z,{label:"OpenAI organization",fullWidth:!0,margin:"normal",value:s.OPENAI_ORGANIZATION,onChange:e=>c({...s,OPENAI_ORGANIZATION:e.target.value})})]})]}),(0,a.jsxs)(v.Z,{children:[(0,a.jsx)(Z.Z,{children:"Azure"}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(b.Z,{label:"Azure API key",fullWidth:!0,margin:"normal",value:s.AZURE_OPENAI_API_KEY,onChange:e=>c({...s,AZURE_OPENAI_API_KEY:e.target.value})})})]}),(0,a.jsxs)(v.Z,{children:[(0,a.jsx)(Z.Z,{children:"Amazon Bedrock"}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(b.Z,{label:"Bedrock Region",fullWidth:!0,margin:"normal",value:s.AWS_BEDROCK_REGION,onChange:e=>c({...s,AWS_BEDROCK_REGION:e.target.value})})})]}),(0,a.jsxs)(v.Z,{children:[(0,a.jsx)(Z.Z,{children:"Anthropic"}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(b.Z,{label:"Anthropic API key",fullWidth:!0,margin:"normal",value:s.ANTHROPIC_API_KEY,onChange:e=>c({...s,ANTHROPIC_API_KEY:e.target.value})})})]}),(0,a.jsxs)(v.Z,{children:[(0,a.jsx)(Z.Z,{children:"Google Vertex AI"}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(b.Z,{label:"Vertex API Key",fullWidth:!0,margin:"normal",value:s.VERTEX_API_KEY,onChange:e=>c({...s,VERTEX_API_KEY:e.target.value})})}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(b.Z,{label:"Vertex Project ID",fullWidth:!0,margin:"normal",value:s.VERTEX_PROJECT_ID,onChange:e=>c({...s,VERTEX_PROJECT_ID:e.target.value})})}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(b.Z,{label:"Vertex Region",fullWidth:!0,margin:"normal",value:s.VERTEX_REGION,onChange:e=>c({...s,VERTEX_REGION:e.target.value})})})]}),(0,a.jsxs)(v.Z,{children:[(0,a.jsx)(Z.Z,{children:"Replicate"}),(0,a.jsx)(g.Z,{children:(0,a.jsx)(b.Z,{label:"Replicate API key",fullWidth:!0,margin:"normal",value:s.REPLICATE_API_KEY,onChange:e=>c({...s,REPLICATE_API_KEY:e.target.value})})})]})]}),(0,a.jsxs)(p.Z,{children:[(0,a.jsx)(o.Z,{onClick:h,color:"primary",children:"Cancel"}),(0,a.jsx)(o.Z,{onClick:()=>{t(s),h()},color:"primary",variant:"contained",children:"Save"})]})]})]})},_=n(39329),C=n(46446),k=n(13391),A=n(71280),E=n(52653),I=n(73701),S=n(39279),P=n(30666),O=n(15795),T=n(98489),w=n(78276),R=e=>{let{open:t,prompt:n,index:i,onAdd:l,onCancel:s}=e,[c,h]=r.useState(n),x=r.useRef(null);r.useEffect(()=>{h(n)},[n]);let f=e=>{l(c),h(""),e?s():x.current&&x.current.focus()};return(0,a.jsxs)(d.Z,{open:t,onClose:s,fullWidth:!0,maxWidth:"md",children:[(0,a.jsx)(m.Z,{children:"Edit Prompt ".concat(i+1)}),(0,a.jsx)(u.Z,{children:(0,a.jsx)(b.Z,{value:c,onChange:e=>h(e.target.value),fullWidth:!0,margin:"normal",multiline:!0,placeholder:"The quick brown {{animal1}} jumps over the lazy {{animal2}}.",helperText:"Tip: use the {{varname}} syntax to add variables to your prompt.",inputRef:x})}),(0,a.jsxs)(p.Z,{children:[(0,a.jsx)(o.Z,{onClick:f.bind(null,!0),color:"primary",variant:"contained",disabled:!c.length,children:"Add"}),(0,a.jsx)(o.Z,{onClick:f.bind(null,!1),color:"primary",variant:"contained",disabled:!c.length,children:"Add Another"}),(0,a.jsx)(o.Z,{onClick:s,color:"secondary",children:"Cancel"})]})]})};n(94499);var W=()=>{let[e,t]=(0,r.useState)(!1),[n,i]=(0,r.useState)(null),{prompts:s,setPrompts:c}=(0,l.o)(),d=(0,r.useRef)(null);(0,r.useEffect)(()=>{null!==n&&n>0&&d.current&&d.current.focus()},[n]);let p=e=>{i(e),t(!0)},u=(e,t)=>{e.stopPropagation();let n=s[t];c([...s,n])},h=(e,t)=>{c(s.map((n,a)=>a===e?t:n))},m=(e,t)=>{e.stopPropagation(),confirm("Are you sure you want to remove this prompt?")&&c(s.filter((e,n)=>n!==t))};return(0,a.jsxs)("div",{children:[(0,a.jsxs)(x.Z,{direction:"row",spacing:2,mb:2,justifyContent:"space-between",children:[(0,a.jsx)(f.Z,{variant:"h5",children:"Prompts"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{htmlFor:"file-input-add-prompt",children:(0,a.jsx)(w.Z,{title:"Upload prompt from file",children:(0,a.jsxs)("span",{children:[(0,a.jsx)(E.Z,{component:"span",children:(0,a.jsx)(A.Z,{})}),(0,a.jsx)("input",{id:"file-input-add-prompt",type:"file",accept:".txt,.md",onChange:e=>{var t;e.stopPropagation(),e.preventDefault();let n=null===(t=e.target.files)||void 0===t?void 0:t[0];if(n){let e=new FileReader;e.onload=e=>{var t,n;let a=null===(n=e.target)||void 0===n?void 0:null===(t=n.result)||void 0===t?void 0:t.toString();a&&c([...s,a])},e.readAsText(n)}},style:{display:"none"}})]})})}),(0,a.jsx)(o.Z,{color:"primary",onClick:()=>{t(!0)},variant:"contained",children:"Add Prompt"})]})]}),(0,a.jsx)(O.Z,{children:(0,a.jsx)(I.Z,{children:(0,a.jsx)(S.Z,{children:0===s.length?(0,a.jsx)(T.Z,{children:(0,a.jsx)(P.Z,{colSpan:2,align:"center",children:"No prompts added yet."})}):s.map((e,t)=>(0,a.jsxs)(T.Z,{sx:{"&:hover":{backgroundColor:"rgba(0, 0, 0, 0.04)",cursor:"pointer"}},onClick:()=>p(t),children:[(0,a.jsx)(P.Z,{children:(0,a.jsxs)(f.Z,{variant:"body2",children:["Prompt #".concat(t+1,": "),(e.length>250?e.slice(0,250)+" ...":e).split(/({{\w+}})/g).map((e,t)=>/{{\s*(\w+)\s*}}/g.test(e)?(0,a.jsx)("span",{className:"prompt-var-highlight",children:e},t):e)]})}),(0,a.jsxs)(P.Z,{align:"right",sx:{minWidth:150},children:[(0,a.jsx)(E.Z,{onClick:()=>p(t),size:"small",children:(0,a.jsx)(k.Z,{})}),(0,a.jsx)(E.Z,{onClick:e=>u(e,t),size:"small",children:(0,a.jsx)(_.Z,{})}),(0,a.jsx)(E.Z,{onClick:e=>m(e,t),size:"small",children:(0,a.jsx)(C.Z,{})})]})]},t))})})}),(0,a.jsx)(R,{open:e,prompt:null===n?"":s[n],index:null===n?0:n,onAdd:e=>{null===n?c([...s,e]):h(n,e),i(null)},onCancel:()=>{i(null),t(!1)}})]})},N=n(26972),z=n(47827),F=e=>{let{onChange:t,...n}=e,[i,l]=r.useState(""),[s,o]=r.useState(!1);return(0,a.jsx)(b.Z,{...n,error:s,helperText:s?"Invalid JSON":"",value:i,onChange:e=>{let n=e.target.value;try{let e=JSON.parse(n);l(n),o(!1),t&&t(e)}catch(e){l(n),o(!0)}}})},V=e=>{let{open:t,providerId:n,config:i,onClose:l,onSave:c}=e,[h,x]=r.useState(i);return r.useEffect(()=>{x(i)},[i]),(0,a.jsxs)(d.Z,{open:t,onClose:l,fullWidth:!0,maxWidth:"md",children:[(0,a.jsxs)(m.Z,{children:["Edit ",n.length>50?n.slice(0,50)+"...":n]}),(0,a.jsx)(u.Z,{children:Object.keys(h).map(e=>{let t;let n=h[e];return"number"==typeof n||"boolean"==typeof n||"string"==typeof n?(t="number"==typeof n?t=>x({...h,[e]:Number.parseFloat(t.target.value)}):"boolean"==typeof n?t=>x({...h,[e]:"true"===t.target.value}):t=>{let n=t.target.value.trim();if(n.startsWith("{")||n.startsWith("["))try{x({...h,[e]:JSON.parse(n)})}catch(t){x({...h,[e]:n})}else"null"===n?x({...h,[e]:null}):"undefined"===n?x({...h,[e]:void 0}):x({...h,[e]:n})},(0,a.jsx)(s.Z,{my:2,children:(0,a.jsx)(b.Z,{label:e,value:n,onChange:t,fullWidth:!0,InputLabelProps:{shrink:!0},type:"number"==typeof n?"number":"text"})},e)):(0,a.jsx)(s.Z,{my:2,children:(0,a.jsx)(F,{label:e,defaultValue:JSON.stringify(n),onChange:t=>{x({...h,[e]:t})},fullWidth:!0,multiline:!0,minRows:2,InputLabelProps:{shrink:!0}})},e)})}),(0,a.jsxs)(p.Z,{children:[(0,a.jsx)(o.Z,{onClick:l,children:"Cancel"}),(0,a.jsx)(o.Z,{onClick:()=>{c(h)},children:"Save"})]})]})};let U=[].concat(["openai:gpt-4o","openai:gpt-4o-2024-05-13","openai:gpt-4o-mini","openai:gpt-4o-mini-2024-07-18","openai:gpt-4-turbo","openai:gpt-4","openai:gpt-3.5-turbo"].map(e=>({id:e,config:{organization:"",temperature:.5,max_tokens:1024,top_p:1,frequency_penalty:0,presence_penalty:0,function_call:void 0,functions:void 0,stop:void 0}}))).concat(["anthropic:messages:claude-3-5-sonnet-20240620","anthropic:messages:claude-3-haiku-20240307","anthropic:messages:claude-3-sonnet-20240229","anthropic:messages:claude-3-opus-20240229"].map(e=>({id:e,config:{max_tokens:1024,temperature:.5}}))).concat(["bedrock:anthropic.claude-3-haiku-20240307-v1:0","bedrock:anthropic.claude-3-sonnet-20240229-v1:0","bedrock:anthropic.claude-3-opus-20240307-v1:0"].map(e=>({id:e,config:{max_tokens_to_sample:256,temperature:.5}}))).concat(["azureopenai:gpt-4o-2024-05-13","azureopenai:gpt-4-turbo-2024-04-09","azureopenai:gpt-4-32k-0613","azureopenai:gpt-4-0613","azureopenai:gpt-35-turbo-0125"].map(e=>({id:e,config:{temperature:.5,max_tokens:1024,top_p:1,frequency_penalty:0,presence_penalty:0,function_call:void 0,functions:void 0,stop:void 0}}))).concat(["vertex:chat-bison@001","vertex:chat-bison","vertex:chat-bison-32k","vertex:chat-bison-32k@001"].map(e=>({id:e,config:{context:void 0,examples:void 0,temperature:0,maxOutputTokens:1024,topP:.95,topK:40,safetySettings:void 0,stopSequence:void 0}}))).concat(["replicate:replicate/flan-t5-small:69716ad8c34274043bf4a135b7315c7c569ec931d8f23d6826e249e1c142a264"].map(e=>({id:e,config:{temperature:.5,max_length:1024,repetition_penality:1}}))).concat(["replicate:replicate/codellama-7b-instruct:0103579e86fc75ba0d65912890fa19ef03c84a68554635319accf2e0ba93d3ae","replicate:replicate/codellama-13b-instruct:da5676342de1a5a335b848383af297f592b816b950a43d251a0a9edd0113604b","replicate:replicate/llama-2-70b-chat:2796ee9483c3fd7aa2e171d38f4ca12251a30609463dcfd4cd76703f22e96cdf"].map(e=>({id:e,config:{system_prompt:"",temperature:.75,top_p:.9,top_k:50,max_new_tokens:128,min_new_tokens:-1}}))).concat(["replicate:replicate/codellama-7b:6880b103613a9cd23950c5fd6c140197e519905bd0dd00e448c4858bdd06090a","replicate:replicate/codellama-13b-python:09b87c02dfa403e0c3289166dece62286b3bce49bae39a9c9204713cf94b8b7d","replicate:replicate/codellama-13b:1c914d844307b0588599b8393480a3ba917b660c7e9dfae681542b5325f228db","replicate:replicate/codellama-34b-python:9048743d22a7b19cd0abb018066809ea6af4f2b4717bef9aad3c5ae21ceac00d","replicate:replicate/codellama-34b:0666717e5ead8557dff55ee8f11924b5c0309f5f1ca52f64bb8eec405fdb38a7"].map(e=>({id:e,config:{temperature:.75,top_p:.9,top_k:50,max_new_tokens:128,min_new_tokens:-1}}))).concat(["replicate:a16z-infra/llama-2-7b-chat:7b0bfc9aff140d5b75bacbed23e91fd3c34b01a1e958d32132de6e0a19796e2c","replicate:a16z-infra/llama-2-13b-chat:2a7f981751ec7fdf87b5b91ad4db53683a98082e9ff7bfd12c8cd5ea85980a52"].map(e=>({id:e,config:{temperature:.95,top_p:.95,top_k:250,max_new_tokens:500,min_new_tokens:-1,repetition_penalty:1,system_prompt:""}}))).concat(["replicate:mistralai/mistral-7b-v0.1","replicate:mistralai/mistral-7b-instruct-v0.2","replicate:mistralai/mixtral-8x7b-instruct-v0.1"].map(e=>({id:e,config:{temperature:.7,top_p:.9,top_k:-1,max_new_tokens:128,min_new_tokens:-1,repetition_penalty:1.15,prompt_template:"{prompt}"}}))).sort((e,t)=>e.id.localeCompare(t.id)),B={anthropic:"Anthropic",bedrock:"Amazon Web Services",azureopenai:"Azure",openai:"OpenAI",replicate:"Replicate"};var L=e=>{let{providers:t,onChange:n}=e,[i,l]=r.useState(null),o=e=>"string"==typeof e?e:e.id||"Unknown provider",c=(e,t)=>"string"==typeof e?e:e.id||t,d=e=>{"string"==typeof e?alert("Cannot edit custom providers"):e.config?l(e):alert("There is no config for this provider")};return(0,a.jsxs)(s.Z,{mt:2,children:[(0,a.jsx)(N.Z,{multiple:!0,freeSolo:!0,options:U,value:t,groupBy:e=>(function(e){if(!e)return"Other";let t=e.split(":")[0];return B[t]||t})(e.id),onChange:(e,t)=>{n(t.map(e=>"string"==typeof e?{id:e}:e))},getOptionLabel:e=>{if(!e)return"";let t="";"string"==typeof e&&(t=e),e.id&&"string"==typeof e.id&&(t=e.id);let n=t.split(":");return n.length>1?n.length>2&&"anthropic"===n[0]?n[2]:n[1]:"Unknown provider"},renderTags:(e,t)=>e.map((e,n)=>{let a=o(e),i=c(e,n);return(0,r.createElement)(z.Z,{variant:"outlined",label:a,...t({index:n}),key:i,onClick:()=>d(e)})}),renderInput:e=>(0,a.jsx)(b.Z,{...e,variant:"outlined",placeholder:"Select LLM providers",helperText:t.length>0?"Click a provider to configure its settings.":null})}),i&&i.id&&(0,a.jsx)(V,{open:!!i,providerId:i.id,config:i.config,onClose:()=>l(null),onSave:e=>{if(i){let a=t.map(t=>t.id===i.id?{...t,config:e}:t);n(a),l(null)}}})]})},q=n(49532),K=n(52428),Y=n(6882),J=n(28891),D=()=>{let e=(0,J.useRouter)(),{defaultTest:t,description:n,env:i,evaluateOptions:s,prompts:c,providers:d,scenarios:p,testCases:u}=(0,l.o)(),[h,m]=(0,r.useState)(!1),[x,f]=(0,r.useState)(0),j=async()=>{m(!0);try{let a=await (0,q.t)("/eval/job",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({defaultTest:t,description:n,env:i,evaluateOptions:s,prompts:c,providers:d,scenarios:p,tests:u})});if(!a.ok)throw Error("HTTP error! status: ".concat(a.status));let r=await a.json(),l=setInterval(async()=>{let t=await (0,q.t)("/eval/job/".concat(r.id,"/"));if(!t.ok)throw clearInterval(l),Error("HTTP error! status: ".concat(t.status));let n=await t.json();if("complete"===n.status)clearInterval(l),m(!1),K.O?e.push("/eval/remote:".concat(encodeURIComponent(r.id))):e.push("/eval");else if("failed"===n.status)throw clearInterval(l),m(!1),Error("Job failed");else{let e=0===n.total?0:Math.round(n.progress/n.total*100);f(e)}},1e3)}catch(e){console.error(e),m(!1),alert("An error occurred: ".concat(e.message))}};return(0,a.jsx)(o.Z,{variant:"contained",color:"primary",onClick:j,disabled:h,children:h?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Y.Z,{size:24,sx:{marginRight:2}}),x.toFixed(0),"% complete"]}):"Run Evaluation"})},X=n(15320),G=n(66988);let H=["equals","contains","icontains","contains-all","contains-any","starts-with","regex","is-json","contains-json","is-sql","contains-sql","similar","llm-rubric","model-graded-closedqa","factuality","webhook","rouge-n","rouge-s","rouge-l","not-equals","not-contains","not-icontains","not-contains-all","not-contains-any","not-starts-with","not-regex","not-is-json","not-contains-json","not-similar","not-webhook","not-rouge-n","not-rouge-s","not-rouge-l","is-valid-openai-function-call","is-valid-openai-tools-call","latency","perplexity","perplexity-score","cost","answer-relevance","context-faithfulness","context-recall","context-relevance","select-best","moderation"];var M=e=>{let{onAdd:t,initialValues:n}=e,[i,l]=(0,r.useState)(n||[]),c=e=>{let n=i.filter((t,n)=>n!==e);l(n),t(n)};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.Z,{variant:"h6",children:"Asserts"}),(0,a.jsx)(s.Z,{my:i.length>0?2:0,children:(0,a.jsx)(x.Z,{direction:"column",spacing:2,children:i.map((e,n)=>(0,a.jsxs)(x.Z,{direction:"row",spacing:2,alignItems:"center",children:[(0,a.jsx)(N.Z,{value:e.type,options:H,sx:{minWidth:200},onChange:(e,a)=>{let r=i.map((e,t)=>t===n?{...e,type:a}:e);l(r),t(r)},renderInput:e=>(0,a.jsx)(b.Z,{...e,label:"Type"})}),(0,a.jsx)(b.Z,{label:"Value",value:e.value,fullWidth:!0,onChange:e=>{let a=e.target.value,r=i.map((e,t)=>t===n?{...e,value:a}:e);l(r),t(r)}}),(0,a.jsx)(E.Z,{onClick:()=>c(n),size:"small",children:(0,a.jsx)(C.Z,{})})]},n))})}),(0,a.jsx)(o.Z,{color:"primary",onClick:()=>{let e=[...i,{type:"equals",value:""}];l(e),t(e)},children:"Add Assert"})]})},$=e=>{let{onAdd:t,varsList:n,initialValues:i}=e,[l,o]=r.useState(i||{});return(0,r.useEffect)(()=>{let e={};n.forEach(t=>{e[t]=(null==i?void 0:i[t])||""}),o(e)},[n,i]),(0,a.jsxs)(s.Z,{my:2,children:[(0,a.jsx)(f.Z,{variant:"h6",mb:2,children:"Vars"}),n.length>0?(0,a.jsx)(x.Z,{direction:"row",spacing:2,alignItems:"center",children:Object.keys(l).map((e,n)=>(0,a.jsx)(x.Z,{direction:"row",spacing:2,alignItems:"center",children:(0,a.jsx)(b.Z,{placeholder:e,label:e,value:l[e],fullWidth:!0,onChange:n=>{let a=n.target.value,r={...l,[e]:a};o(r),t(r)}})},n))}):(0,a.jsxs)(f.Z,{variant:"subtitle1",gutterBottom:!0,children:["Add variables to your prompt using the ","{{varname}}"," syntax."]})]})},Q=e=>{let{open:t,onAdd:n,varsList:i,initialValues:l,onCancel:c}=e,[h,x]=(0,r.useState)((null==l?void 0:l.description)||""),[f,j]=(0,r.useState)((null==l?void 0:l.vars)||{}),[v,g]=(0,r.useState)((null==l?void 0:l.assert)||[]),[Z,b]=(0,r.useState)(0);r.useEffect(()=>{l?(x(l.description||""),j(l.vars||{}),g(l.assert||[])):(x(""),j({}),g([]))},[l]);let y=e=>{n({description:h,vars:f,assert:v},e),e&&c(),x(""),j({}),g([]),b(e=>e+1)};return(0,a.jsxs)(d.Z,{open:t,onClose:c,fullWidth:!0,maxWidth:"md",children:[(0,a.jsx)(m.Z,{children:l?"Edit Test Case":"Add Test Case"}),(0,a.jsx)(u.Z,{children:(0,a.jsxs)(s.Z,{children:[(0,a.jsx)($,{onAdd:e=>j(e),varsList:i,initialValues:null==l?void 0:l.vars}),(0,a.jsx)(M,{onAdd:e=>g(e),initialValues:((null==l?void 0:l.assert)||[]).filter(e=>"assert-set"!==e.type)||[]},Z)]})}),(0,a.jsxs)(p.Z,{children:[(0,a.jsx)(o.Z,{onClick:y.bind(void 0,!0),color:"primary",variant:"contained",children:l?"Update Test Case":"Add Test Case"}),!l&&(0,a.jsx)(o.Z,{onClick:y.bind(void 0,!1),color:"primary",variant:"contained",children:"Add Another"}),(0,a.jsx)(o.Z,{onClick:c,color:"secondary",children:"Cancel"})]})]})},ee=e=>{let{varsList:t}=e,{testCases:i,setTestCases:s}=(0,l.o)(),[c,d]=r.useState(null),[p,u]=r.useState(!1),h=(e,t)=>{e.stopPropagation(),confirm("Are you sure you want to delete this test case?")&&s(i.filter((e,n)=>n!==t))},m=(e,t)=>{e.stopPropagation();let n=JSON.parse(JSON.stringify(i[t]));s([...i,n])};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(x.Z,{direction:"row",spacing:2,mb:2,justifyContent:"space-between",children:[(0,a.jsx)(f.Z,{variant:"h5",children:"Test Cases"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{htmlFor:"file-input-add-test-case",children:(0,a.jsx)(w.Z,{title:"Upload test cases from csv",children:(0,a.jsxs)("span",{children:[(0,a.jsx)(E.Z,{component:"span",children:(0,a.jsx)(A.Z,{})}),(0,a.jsx)("input",{id:"file-input-add-test-case",type:"file",accept:".csv",onChange:e=>{var t;e.stopPropagation(),e.preventDefault();let a=null===(t=e.target.files)||void 0===t?void 0:t[0];if(a){let e=new FileReader;e.onload=async e=>{var t,a;let r=null===(a=e.target)||void 0===a?void 0:null===(t=a.result)||void 0===t?void 0:t.toString();if(r){let{parse:e}=await Promise.all([n.e(631),n.e(887)]).then(n.bind(n,83887)),t=e(r,{columns:!0}),a=t.map(e=>(0,X.It)(e));s([...i,...a])}},e.readAsText(a)}},style:{display:"none"}})]})})}),(0,a.jsx)(o.Z,{color:"primary",onClick:()=>u(!0),variant:"contained",children:"Add Test Case"})]})]}),(0,a.jsx)(O.Z,{children:(0,a.jsxs)(I.Z,{children:[(0,a.jsx)(G.Z,{children:(0,a.jsxs)(T.Z,{children:[(0,a.jsx)(P.Z,{children:"Description"}),(0,a.jsx)(P.Z,{children:"Assertions"}),(0,a.jsx)(P.Z,{children:"Variables"}),(0,a.jsx)(P.Z,{align:"right"})]})}),(0,a.jsx)(S.Z,{children:0===i.length?(0,a.jsx)(T.Z,{children:(0,a.jsx)(P.Z,{colSpan:4,align:"center",children:"No test cases added yet."})}):i.map((e,t)=>{var n;return(0,a.jsxs)(T.Z,{sx:{"&:hover":{backgroundColor:"rgba(0, 0, 0, 0.04)",cursor:"pointer"}},onClick:()=>{d(t),u(!0)},children:[(0,a.jsx)(P.Z,{children:(0,a.jsx)(f.Z,{variant:"body2",children:e.description||"Test Case #".concat(t+1)})}),(0,a.jsxs)(P.Z,{children:[(null===(n=e.assert)||void 0===n?void 0:n.length)||0," assertions"]}),(0,a.jsx)(P.Z,{children:Object.entries(e.vars||{}).map(e=>{let[t,n]=e;return t+"="+n}).join(", ")}),(0,a.jsxs)(P.Z,{align:"right",sx:{minWidth:150},children:[(0,a.jsx)(E.Z,{onClick:()=>{d(t),u(!0)},size:"small",children:(0,a.jsx)(k.Z,{})}),(0,a.jsx)(E.Z,{onClick:e=>m(e,t),size:"small",children:(0,a.jsx)(_.Z,{})}),(0,a.jsx)(E.Z,{onClick:e=>h(e,t),size:"small",children:(0,a.jsx)(C.Z,{})})]})]},t)})})]})}),(0,a.jsx)(Q,{open:p,onAdd:(e,t)=>{if(null===c)s([...i,e]);else{let t=i.map((t,n)=>n===c?e:t);s(t),d(null)}t&&u(!1)},varsList:t,initialValues:null===c?void 0:i[c],onCancel:()=>{d(null),u(!1)}})]})},et=n(71911),en=n.n(et),ea=n(29963),er=n(20505),ei=n(41101),el=n(34235),es=n(38640),eo=n.n(es),ec=n(29270);n(54492),n(55096),n(93486);var ed=()=>{let e="dark"===(0,ei.Z)().palette.mode,{defaultTest:t,setDefaultTest:n,description:i,setDescription:c,env:d,setEnv:p,evaluateOptions:u,setEvaluateOptions:h,prompts:m,setPrompts:x,providers:j,setProviders:v,scenarios:g,setScenarios:Z,testCases:b,setTestCases:y}=(0,l.o)(),[_,C]=r.useState(""),[A,E]=r.useState(!0),I=e=>{n(e.defaultTest||{}),c(e.description||""),p(e.env||{}),h(e.evaluateOptions||{}),x(e.prompts||[]),v(e.providers||[]),Z(e.scenarios||[]),y(e.tests||[])};return r.useEffect(()=>{C(el.default.dump({defaultTest:t,description:i,env:d,evaluateOptions:u,prompts:m,providers:j,scenarios:g,tests:b}))},[t,i,d,u,m,j,g,b]),(0,a.jsxs)(s.Z,{mt:4,children:[(0,a.jsx)(f.Z,{variant:"h5",gutterBottom:!0,children:"Configuration"}),(0,a.jsxs)(f.Z,{variant:"body1",gutterBottom:!0,children:["This is the YAML config that defines the evaluation and is processed by promptfoo. See"," ",(0,a.jsx)(eo(),{target:"_blank",href:"https://promptfoo.dev/docs/configuration/guide",children:"configuration docs"})," ","to learn more."]}),(0,a.jsxs)(s.Z,{display:"flex",gap:2,mb:2,children:[(0,a.jsx)(o.Z,{variant:"text",color:"primary",startIcon:A?(0,a.jsx)(k.Z,{}):(0,a.jsx)(ea.Z,{}),onClick:()=>{if(!A)try{let e=el.default.load(_,{json:!0});I(e)}catch(e){}E(!A)},children:A?"Edit YAML":"Save"}),(0,a.jsxs)(o.Z,{variant:"text",color:"primary",startIcon:(0,a.jsx)(er.Z,{}),component:"label",children:["Upload YAML",(0,a.jsx)("input",{type:"file",hidden:!0,accept:".yaml,.yml",onChange:e=>{var t;let n=null===(t=e.target.files)||void 0===t?void 0:t[0];if(n){let e=new FileReader;e.onload=e=>{var t;let n=null===(t=e.target)||void 0===t?void 0:t.result;C(n);try{let e=el.default.load(n,{json:!0});I(e)}catch(e){console.error("Error parsing uploaded YAML:",e)}},e.readAsText(n)}}})]})]}),(0,a.jsx)(en(),{autoCapitalize:"off",value:_,onValueChange:e=>{A||C(e)},highlight:e=>(0,ec.highlight)(e,ec.languages.yaml),padding:10,style:{backgroundColor:e?"#1e1e1e":"#fff",fontFamily:'"Fira code", "Fira Mono", monospace',fontSize:14},disabled:A,className:A?"":"glowing-border"})]})};n(7517);var ep=n(77580);function eu(e){let{error:t,resetErrorBoundary:n}=e;return(0,a.jsxs)("div",{role:"alert",children:[(0,a.jsx)("p",{children:"Something went wrong:"}),(0,a.jsx)("pre",{children:t.message}),(0,a.jsx)("button",{onClick:n,children:"Try again"})]})}var eh=()=>{let[e,t]=(0,r.useState)(!1),{setDescription:n,providers:j,setProviders:v,prompts:g,setPrompts:Z,setTestCases:b}=(0,l.o)();if((0,r.useEffect)(()=>{l.o.persist.rehydrate()},[]),ep.env.NEXT_PUBLIC_NO_BROWSING)return null;let _=(e=>{let t=/{{\s*(\w+)\s*}}/g,n=new Set;return e.forEach(e=>{let a;for(;null!==(a=t.exec(e));)n.add(a[1])}),Array.from(n)})(g);return(0,a.jsxs)(c.Z,{maxWidth:"lg",sx:{marginTop:"2rem"},children:[(0,a.jsxs)(x.Z,{direction:"row",spacing:2,justifyContent:"space-between",children:[(0,a.jsx)(f.Z,{variant:"h4",children:"Set up an evaluation"}),(0,a.jsxs)(x.Z,{direction:"row",spacing:2,children:[(0,a.jsx)(D,{}),(0,a.jsx)(y,{}),(0,a.jsx)(o.Z,{variant:"outlined",color:"primary",onClick:()=>t(!0),children:"Reset"})]})]}),(0,a.jsx)(s.Z,{mt:4}),(0,a.jsx)(s.Z,{mt:2,children:(0,a.jsx)(i.SV,{FallbackComponent:eu,onReset:()=>{v([])},children:(0,a.jsxs)(x.Z,{direction:"column",spacing:2,justifyContent:"space-between",children:[(0,a.jsx)(f.Z,{variant:"h5",children:"Providers"}),(0,a.jsx)(L,{providers:j,onChange:v})]})})}),(0,a.jsx)(s.Z,{mt:4}),(0,a.jsx)(i.SV,{FallbackComponent:eu,onReset:()=>{Z([])},children:(0,a.jsx)(W,{})}),(0,a.jsx)(s.Z,{mt:6}),(0,a.jsx)(i.SV,{FallbackComponent:eu,onReset:()=>{b([])},children:(0,a.jsx)(ee,{varsList:_})}),(0,a.jsx)(ed,{}),(0,a.jsxs)(d.Z,{open:e,onClose:()=>t(!1),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,a.jsx)(m.Z,{id:"alert-dialog-title",children:"Confirm Reset"}),(0,a.jsx)(u.Z,{children:(0,a.jsx)(h.Z,{id:"alert-dialog-description",children:"Are you sure you want to reset all the fields? This action cannot be undone."})}),(0,a.jsxs)(p.Z,{children:[(0,a.jsx)(o.Z,{onClick:()=>t(!1),children:"Cancel"}),(0,a.jsx)(o.Z,{onClick:()=>{n(""),v([]),Z([]),b([]),t(!1)},autoFocus:!0,children:"Reset"})]})]})]})}},52428:function(e,t,n){"use strict";n.d(t,{O:function(){return i},T:function(){return r}});var a=n(77580);let r=!a.env.NEXT_PUBLIC_HOSTED,i=!!a.env.NEXT_PUBLIC_PROMPTFOO_USE_SUPABASE},82911:function(e,t,n){"use strict";var a=n(94660),r=n(74810);let i=(0,a.Ue)()((0,r.tJ)(e=>({apiBaseUrl:"",setApiBaseUrl:t=>e({apiBaseUrl:t}),fetchingPromise:null,setFetchingPromise:t=>e({fetchingPromise:t})}),{name:"api-config-storage",partialize:e=>({apiBaseUrl:e.apiBaseUrl})}));t.Z=i},47887:function(e,t,n){"use strict";n.d(t,{o:function(){return i}});var a=n(94660),r=n(74810);let i=(0,a.Ue)()((0,r.tJ)((e,t)=>({env:{},testCases:[],description:"",providers:[],prompts:[],defaultTest:{},evaluateOptions:{},scenarios:[],setEnv:t=>e({env:t}),setTestCases:t=>e({testCases:t}),setDescription:t=>e({description:t}),setProviders:t=>e({providers:t}),setPrompts:t=>e({prompts:t}),setDefaultTest:t=>e({defaultTest:t}),setEvaluateOptions:t=>e({evaluateOptions:t}),setScenarios:t=>e({scenarios:t}),setStateFromConfig:t=>{let n={};t.description&&(n.description=t.description||""),t.tests&&(n.testCases=t.tests),t.providers&&(n.providers=t.providers),t.prompts&&("string"==typeof t.prompts?n.prompts=[t.prompts]:Array.isArray(t.prompts)?n.prompts=t.prompts.filter(e=>"string"==typeof e&&!e.endsWith(".txt")&&!e.endsWith(".json")&&!e.endsWith(".yaml")):console.warn("Invalid prompts config",t.prompts)),t.defaultTest&&(n.defaultTest=t.defaultTest),t.evaluateOptions&&(n.evaluateOptions=t.evaluateOptions),t.scenarios&&(n.scenarios=t.scenarios),e(n)},getTestSuite:()=>{let{description:e,testCases:n,providers:a,prompts:r,env:i,scenarios:l}=t();return{env:i,description:e,providers:a,prompts:r,tests:n,scenarios:l}}}),{name:"promptfoo",skipHydration:!0}))},94499:function(){},55096:function(){},7517:function(){},15320:function(e,t){"use strict";t.It=function(e){let t,n,a,r;let i={},l=[],s={};for(let[o,c]of Object.entries(e))o.startsWith("__expected")?""!==c.trim()&&l.push(function(e){if(e.startsWith("javascript:")||e.startsWith("fn:")||e.startsWith("eval:")){let t;e.startsWith("javascript:")&&(t=11),e.startsWith("fn:")&&(t=3),e.startsWith("eval:")&&(t=5);let n=e.slice(t).trim();return{type:"javascript",value:n}}if(e.startsWith("grade:")||e.startsWith("llm-rubric:"))return{type:"llm-rubric",value:e.slice(6)};if(e.startsWith("python:")){let t=e.slice(7).trim();return{type:"python",value:t}}let t=e.match(/^(not-)?(equals|contains-any|contains-all|icontains-any|icontains-all|contains-json|is-json|is-sql|regex|icontains|contains|webhook|rouge-n|similar|starts-with|levenshtein|classifier|model-graded-factuality|factuality|model-graded-closedqa|answer-relevance|context-recall|context-relevance|context-faithfulness|is-valid-openai-function-call|is-valid-openai-tools-call|latency|perplexity|perplexity-score|cost)(?:\((\d+(?:\.\d+)?)\))?(?::([\s\S]*))?$/);if(t){let[e,n,a,r,i]=t,l=n?`not-${a}`:a,s=Number.parseFloat(r);return"contains-any"===a||"contains-all"===a||"icontains-any"===a||"icontains-all"===a?{type:l,value:i.split(",").map(e=>e.trim())}:"contains-json"===a||"is-json"===a?{type:l,value:i}:"rouge-n"===a||"similar"===a||"starts-with"===a||"levenshtein"===a||"classifier"===a||"answer-relevance"===a||"context-recall"===a||"context-relevance"===a||"context-faithfulness"===a||"latency"===a||"perplexity"===a||"perplexity-score"===a||"cost"===a?{type:l,value:i,threshold:s||("similar"===a?.8:.75)}:{type:l,value:i}}return{type:"equals",value:e}}(c)):"__prefix"===o?s.prefix=c:"__suffix"===o?s.suffix=c:"__description"===o?n=c:"__providerOutput"===o?t=c:"__metric"===o?a=c:"__threshold"===o?r=Number.parseFloat(c):i[o]=c;for(let e of l)e.metric=a;return{vars:i,assert:l,options:s,...n?{description:n}:{},...t?{providerOutput:t}:{},...r?{threshold:r}:{}}}}},function(e){e.O(0,[906,640,461,88,113,975,417,874,235,972,782,470,730,744],function(){return e(e.s=8458)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[179],{36066:function(){"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})})},37450:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return o}});let n=r(48494),a=r(79288);function o(e,t){return(0,a.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},52646:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(79288);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},33987:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});let r=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},218:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return a}});let n=r(21184);function a(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},95592:function(e,t){"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DOMAttributeNames:function(){return n},isEqualNode:function(){return o},default:function(){return i}});let n={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"};function a(e){let{type:t,props:r}=e,a=document.createElement(t);for(let e in r){if(!r.hasOwnProperty(e)||"children"===e||"dangerouslySetInnerHTML"===e||void 0===r[e])continue;let o=n[e]||e.toLowerCase();"script"===t&&("async"===o||"defer"===o||"noModule"===o)?a[o]=!!r[e]:a.setAttribute(o,r[e])}let{children:o,dangerouslySetInnerHTML:i}=r;return i?a.innerHTML=i.__html||"":o&&(a.textContent="string"==typeof o?o:Array.isArray(o)?o.join(""):""),a}function o(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){let r=t.getAttribute("nonce");if(r&&!e.getAttribute("nonce")){let n=t.cloneNode(!0);return n.setAttribute("nonce",""),n.nonce=r,r===e.nonce&&e.isEqualNode(n)}}return e.isEqualNode(t)}function i(){return{mountedInstances:new Set,updateHead:e=>{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"]){if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;e.props.href=e.props["data-href"],e.props["data-href"]=void 0}let r=t[e.type]||[];r.push(e),t[e.type]=r});let n=t.title?t.title[0]:null,a="";if(n){let{children:e}=n.props;a="string"==typeof e?e:Array.isArray(e)?e.join(""):""}a!==document.title&&(document.title=a),["meta","base","link","style","script"].forEach(e=>{r(e,t[e]||[])})}}}r=(e,t)=>{let r=document.getElementsByTagName("head")[0],n=r.querySelector("meta[name=next-head-count]"),i=Number(n.content),l=[];for(let t=0,r=n.previousElementSibling;t<i;t++,r=(null==r?void 0:r.previousElementSibling)||null){var u;(null==r?void 0:null==(u=r.tagName)?void 0:u.toLowerCase())===e&&l.push(r)}let s=t.map(a).filter(e=>{for(let t=0,r=l.length;t<r;t++){let r=l[t];if(o(r,e))return l.splice(t,1),!1}return!0});l.forEach(e=>{var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),s.forEach(e=>r.insertBefore(e,n)),n.content=(i-l.length+s.length).toString()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47665:function(e,t,r){"use strict";let n,a,o,i,l,u,s,c,f,d,h,p;Object.defineProperty(t,"__esModule",{value:!0});let m=r(23800);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{version:function(){return F},router:function(){return n},emitter:function(){return W},initialize:function(){return V},hydrate:function(){return ei}});let g=r(38193);r(36066);let y=g._(r(32735)),_=g._(r(44645)),b=r(91448),v=g._(r(93439)),P=r(43307),w=r(71506),j=r(89017),S=r(60058),O=r(52212),E=r(13405),x=r(13121),R=g._(r(95592)),C=g._(r(98668)),M=g._(r(42895)),A=r(10066),L=r(14313),I=r(13569),T=r(9308),N=r(81848),k=r(218),D=r(87354),B=r(6142),H=r(96043),U=g._(r(84070)),F="13.4.13",W=(0,v.default)(),q=e=>[].slice.call(e),z=!1;class G extends y.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),n.isSsr&&(a.isFallback||a.nextExport&&((0,j.isDynamicRoute)(n.pathname)||location.search||z)||a.props&&a.props.__N_SSG&&(location.search||z))&&n.replace(n.pathname+"?"+String((0,S.assign)((0,S.urlQueryToSearchParams)(n.query),new URLSearchParams(location.search))),o,{_h:1,shallow:!a.isFallback&&!z}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function V(e){void 0===e&&(e={}),a=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=a,p=a.defaultLocale;let t=a.assetPrefix||"";if(self.__next_set_public_path__(""+t+"/_next/"),(0,O.setConfig)({serverRuntimeConfig:{},publicRuntimeConfig:a.runtimeConfig||{}}),o=(0,E.getURL)(),(0,k.hasBasePath)(o)&&(o=(0,N.removeBasePath)(o)),a.scriptLoader){let{initScriptLoader:e}=r(36737);e(a.scriptLoader)}i=new C.default(a.buildId,t);let s=e=>{let[t,r]=e;return i.routeLoader.onEntrypoint(t,r)};return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>s(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=s,(u=(0,R.default)()).getIsSsr=()=>n.isSsr,l=document.getElementById("__next"),{assetPrefix:t}}function X(e,t){return y.default.createElement(e,t)}function $(e){var t;let{children:r}=e,a=y.default.useMemo(()=>(0,B.adaptForAppRouterInstance)(n),[]);return y.default.createElement(G,{fn:e=>K({App:f,err:e}).catch(e=>console.error("Error rendering page: ",e))},y.default.createElement(D.AppRouterContext.Provider,{value:a},y.default.createElement(H.SearchParamsContext.Provider,{value:(0,B.adaptForSearchParams)(n)},y.default.createElement(B.PathnameContextProviderAdapter,{router:n,isAutoExport:null!=(t=self.__NEXT_DATA__.autoExport)&&t},y.default.createElement(P.RouterContext.Provider,{value:(0,L.makePublicRouterInstance)(n)},y.default.createElement(b.HeadManagerContext.Provider,{value:u},y.default.createElement(T.ImageConfigContext.Provider,{value:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}},r)))))))}let Y=e=>t=>{let r={...t,Component:h,err:a.err,router:n};return y.default.createElement($,null,X(e,r))};function K(e){let{App:t,err:l}=e;return console.error(l),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(n=>{let{page:a,styleSheets:o}=n;return(null==s?void 0:s.Component)===a?Promise.resolve().then(()=>m._(r(73811))).then(n=>Promise.resolve().then(()=>m._(r(2397))).then(r=>(t=r.default,e.App=t,n))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:a,styleSheets:o}}).then(r=>{var i;let{ErrorComponent:u,styleSheets:s}=r,c=Y(t),f={Component:u,AppTree:c,router:n,ctx:{err:l,pathname:a.page,query:a.query,asPath:o,AppTree:c}};return Promise.resolve((null==(i=e.props)?void 0:i.err)?e.props:(0,E.loadGetInitialProps)(t,f)).then(t=>ea({...e,err:l,Component:u,styleSheets:s,props:t}))})}function J(e){let{callback:t}=e;return y.default.useLayoutEffect(()=>t(),[t]),null}let Q=null,Z=!0;function ee(){["beforeRender","afterHydrate","afterRender","routeChange"].forEach(e=>performance.clearMarks(e))}function et(){E.ST&&(performance.mark("afterHydrate"),performance.measure("Next.js-before-hydration","navigationStart","beforeRender"),performance.measure("Next.js-hydration","beforeRender","afterHydrate"),d&&performance.getEntriesByName("Next.js-hydration").forEach(d),ee())}function er(){if(!E.ST)return;performance.mark("afterRender");let e=performance.getEntriesByName("routeChange","mark");e.length&&(performance.measure("Next.js-route-change-to-render",e[0].name,"beforeRender"),performance.measure("Next.js-render","beforeRender","afterRender"),d&&(performance.getEntriesByName("Next.js-render").forEach(d),performance.getEntriesByName("Next.js-route-change-to-render").forEach(d)),ee(),["Next.js-route-change-to-render","Next.js-render"].forEach(e=>performance.clearMeasures(e)))}function en(e){let{callbacks:t,children:r}=e;return y.default.useLayoutEffect(()=>t.forEach(e=>e()),[t]),y.default.useEffect(()=>{(0,M.default)(d)},[]),r}function ea(e){let t,{App:r,Component:a,props:o,err:i}=e,u="initial"in e?void 0:e.styleSheets;a=a||s.Component,o=o||s.props;let f={...o,Component:a,err:i,router:n};s=f;let d=!1,h=new Promise((e,r)=>{c&&c(),t=()=>{c=null,e()},c=()=>{d=!0,c=null;let e=Error("Cancel rendering route");e.cancelled=!0,r(e)}});function p(){t()}!function(){if(!u)return;let e=q(document.querySelectorAll("style[data-n-href]")),t=new Set(e.map(e=>e.getAttribute("data-n-href"))),r=document.querySelector("noscript[data-n-css]"),n=null==r?void 0:r.getAttribute("data-n-css");u.forEach(e=>{let{href:r,text:a}=e;if(!t.has(r)){let e=document.createElement("style");e.setAttribute("data-n-href",r),e.setAttribute("media","x"),n&&e.setAttribute("nonce",n),document.head.appendChild(e),e.appendChild(document.createTextNode(a))}})}();let m=y.default.createElement(y.default.Fragment,null,y.default.createElement(J,{callback:function(){if(u&&!d){let e=new Set(u.map(e=>e.href)),t=q(document.querySelectorAll("style[data-n-href]")),r=t.map(e=>e.getAttribute("data-n-href"));for(let n=0;n<r.length;++n)e.has(r[n])?t[n].removeAttribute("media"):t[n].setAttribute("media","x");let n=document.querySelector("noscript[data-n-css]");n&&u.forEach(e=>{let{href:t}=e,r=document.querySelector('style[data-n-href="'+t+'"]');r&&(n.parentNode.insertBefore(r,n.nextSibling),n=r)}),q(document.querySelectorAll("link[data-n-p]")).forEach(e=>{e.parentNode.removeChild(e)})}if(e.scroll){let{x:t,y:r}=e.scroll;(0,w.handleSmoothScroll)(()=>{window.scrollTo(t,r)})}}}),y.default.createElement($,null,X(r,f),y.default.createElement(x.Portal,{type:"next-route-announcer"},y.default.createElement(A.RouteAnnouncer,null))));return!function(e,t){E.ST&&performance.mark("beforeRender");let r=t(Z?et:er);if(Q){let e=y.default.startTransition;e(()=>{Q.render(r)})}else Q=_.default.hydrateRoot(e,r,{onRecoverableError:U.default}),Z=!1}(l,e=>y.default.createElement(en,{callbacks:[e,p]},m)),h}async function eo(e){if(e.err){await K(e);return}try{await ea(e)}catch(r){let t=(0,I.getProperError)(r);if(t.cancelled)throw t;await K({...e,err:t})}}async function ei(e){let t=a.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:r}=e;f=t,r&&r.reportWebVitals&&(d=e=>{let t,{id:n,name:a,startTime:o,value:i,duration:l,entryType:u,entries:s,attribution:c}=e,f=Date.now()+"-"+(Math.floor(Math.random()*(9e12-1))+1e12);s&&s.length&&(t=s[0].startTime);let d={id:n||f,name:a,startTime:o||t,value:null==i?l:i,label:"mark"===u||"measure"===u?"custom":"web-vital"};c&&(d.attribution=c),r.reportWebVitals(d)});let n=await i.routeLoader.whenEntrypoint(a.page);if("error"in n)throw n.error;h=n.component}catch(e){t=(0,I.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(a.dynamicIds),n=(0,L.createRouter)(a.page,a.query,o,{initialProps:a.props,pageLoader:i,App:f,Component:h,wrapApp:Y,err:t,isFallback:!!a.isFallback,subscription:(e,t,r)=>eo(Object.assign({},e,{App:t,scroll:r})),locale:a.locale,locales:a.locales,defaultLocale:p,domainLocales:a.domainLocales,isPreview:a.isPreview}),z=await n._initialMatchesMiddlewarePromise;let r={App:f,initial:!0,Component:h,props:a.props,err:t};(null==e?void 0:e.beforeRender)&&await e.beforeRender(),eo(r)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},46934:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(97243);let n=r(47665);window.next={version:n.version,get router(){return n.router},emitter:n.emitter},(0,n.initialize)({}).then(()=>(0,n.hydrate)()).catch(console.error),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},79288:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return o}});let n=r(98754),a=r(93045),o=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:o}=(0,a.parsePath)(e);return/\.[^/]+\/?$/.test(t)?""+(0,n.removeTrailingSlash)(t)+r+o:t.endsWith("/")?""+t+r+o:t+"/"+r+o};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},84070:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(78069);function a(e){let t="function"==typeof reportError?reportError:e=>{window.console.error(e)};e.digest!==n.NEXT_DYNAMIC_NO_SSR_CODE&&t(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},98668:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return d}});let n=r(38193),a=r(37450),o=r(54732),i=n._(r(15990)),l=r(52646),u=r(89017),s=r(57815),c=r(98754),f=r(18493);class d{getPageList(){return(0,f.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){return window.__MIDDLEWARE_MATCHERS=[],window.__MIDDLEWARE_MATCHERS}getDataHref(e){let{asPath:t,href:r,locale:n}=e,{pathname:f,query:d,search:h}=(0,s.parseRelativeUrl)(r),{pathname:p}=(0,s.parseRelativeUrl)(t),m=(0,c.removeTrailingSlash)(f);if("/"!==m[0])throw Error('Route name should start with a "/", got "'+m+'"');return(e=>{let t=(0,i.default)((0,c.removeTrailingSlash)((0,l.addLocale)(e,n)),".json");return(0,a.addBasePath)("/_next/data/"+this.buildId+t+h,!0)})(e.skipInterpolation?p:(0,u.isDynamicRoute)(m)?(0,o.interpolateAs)(f,p,d).result:m)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}constructor(e,t){this.routeLoader=(0,f.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},42895:function(e,t,r){"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let a=["CLS","FCP","FID","INP","LCP","TTFB"];location.href;let o=!1;function i(e){n&&n(e)}let l=e=>{if(n=e,!o)for(let e of(o=!0,a))try{let t;t||(t=r(45571)),t["on"+e](i)}catch(t){console.warn("Failed to track "+e+" web-vital",t)}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},13121:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Portal",{enumerable:!0,get:function(){return o}});let n=r(32735),a=r(12788),o=e=>{let{children:t,type:r}=e,[o,i]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=document.createElement(r);return document.body.appendChild(e),i(e),()=>{document.body.removeChild(e)}},[r]),o?(0,a.createPortal)(t,o):null};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},81848:function(e,t,r){"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(218),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},95506:function(e,t,r){"use strict";function n(e,t){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return n}}),r(93045),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},54578:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{requestIdleCallback:function(){return r},cancelIdleCallback:function(){return n}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},10066:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RouteAnnouncer:function(){return l},default:function(){return u}});let n=r(38193),a=n._(r(32735)),o=r(14313),i={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},l=()=>{let{asPath:e}=(0,o.useRouter)(),[t,r]=a.default.useState(""),n=a.default.useRef(e);return a.default.useEffect(()=>{if(n.current!==e){if(n.current=e,document.title)r(document.title);else{var t;let n=document.querySelector("h1"),a=null!=(t=null==n?void 0:n.innerText)?t:null==n?void 0:n.textContent;r(a||e)}}},[e]),a.default.createElement("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:i},t)},u=l;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},18493:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{markAssetError:function(){return l},isAssetError:function(){return u},getClientBuildManifest:function(){return d},createRouteLoader:function(){return p}}),r(38193),r(15990);let n=r(36545),a=r(54578);function o(e,t,r){let n,a=t.get(e);if(a)return"future"in a?a.future:Promise.resolve(a);let o=new Promise(e=>{n=e});return t.set(e,a={resolve:n,future:o}),r?r().then(e=>(n(e),e)).catch(r=>{throw t.delete(e),r}):o}let i=Symbol("ASSET_LOAD_ERROR");function l(e){return Object.defineProperty(e,i,{})}function u(e){return e&&i in e}let s=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),c=()=>"";function f(e,t,r){return new Promise((n,o)=>{let i=!1;e.then(e=>{i=!0,n(e)}).catch(o),(0,a.requestIdleCallback)(()=>setTimeout(()=>{i||o(r)},t))})}function d(){if(self.__BUILD_MANIFEST)return Promise.resolve(self.__BUILD_MANIFEST);let e=new Promise(e=>{let t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}});return f(e,3800,l(Error("Failed to load client build manifest")))}function h(e,t){return d().then(r=>{if(!(t in r))throw l(Error("Failed to lookup route: "+t));let a=r[t].map(t=>e+"/_next/"+encodeURI(t));return{scripts:a.filter(e=>e.endsWith(".js")).map(e=>(0,n.__unsafeCreateTrustedScriptURL)(e)+c()),css:a.filter(e=>e.endsWith(".css")).map(e=>e+c())}})}function p(e){let t=new Map,r=new Map,n=new Map,i=new Map;function u(e){{var t;let n=r.get(e.toString());return n||(document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(r.set(e.toString(),n=new Promise((r,n)=>{(t=document.createElement("script")).onload=r,t.onerror=()=>n(l(Error("Failed to load script: "+e))),t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)})),n))}}function c(e){let t=n.get(e);return t||n.set(e,t=fetch(e).then(t=>{if(!t.ok)throw Error("Failed to load stylesheet: "+e);return t.text().then(t=>({href:e,content:t}))}).catch(e=>{throw l(e)})),t}return{whenEntrypoint:e=>o(e,t),onEntrypoint(e,r){(r?Promise.resolve().then(()=>r()).then(e=>({component:e&&e.default||e,exports:e}),e=>({error:e})):Promise.resolve(void 0)).then(r=>{let n=t.get(e);n&&"resolve"in n?r&&(t.set(e,r),n.resolve(r)):(r?t.set(e,r):t.delete(e),i.delete(e))})},loadRoute(r,n){return o(r,i,()=>{let a;return f(h(e,r).then(e=>{let{scripts:n,css:a}=e;return Promise.all([t.has(r)?[]:Promise.all(n.map(u)),Promise.all(a.map(c))])}).then(e=>this.whenEntrypoint(r).then(t=>({entrypoint:t,styles:e[1]}))),3800,l(Error("Route did not complete loading: "+r))).then(e=>{let{entrypoint:t,styles:r}=e,n=Object.assign({styles:r},t);return"error"in t?t:n}).catch(e=>{if(n)throw e;return{error:e}}).finally(()=>null==a?void 0:a())})},prefetch(t){let r;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():h(e,t).then(e=>Promise.all(s?e.scripts.map(e=>{var t,r,n;return t=e.toString(),r="script",new Promise((e,a)=>{let o='\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]';if(document.querySelector(o))return e();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=e,n.onerror=()=>a(l(Error("Failed to prefetch: "+t))),n.href=t,document.head.appendChild(n)})}):[])).then(()=>{(0,a.requestIdleCallback)(()=>this.loadRoute(t,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},14313:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Router:function(){return o.default},default:function(){return h},withRouter:function(){return u.default},useRouter:function(){return p},createRouter:function(){return m},makePublicRouterInstance:function(){return g}});let n=r(38193),a=n._(r(32735)),o=n._(r(67830)),i=r(43307),l=n._(r(13569)),u=n._(r(47922)),s={router:null,readyCallbacks:[],ready(e){if(this.router)return e();this.readyCallbacks.push(e)}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],f=["push","replace","reload","back","prefetch","beforePopState"];function d(){if(!s.router)throw Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n');return s.router}Object.defineProperty(s,"events",{get:()=>o.default.events}),c.forEach(e=>{Object.defineProperty(s,e,{get(){let t=d();return t[e]}})}),f.forEach(e=>{s[e]=function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];let a=d();return a[e](...r)}}),["routeChangeStart","beforeHistoryChange","routeChangeComplete","routeChangeError","hashChangeStart","hashChangeComplete"].forEach(e=>{s.ready(()=>{o.default.events.on(e,function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];let a="on"+e.charAt(0).toUpperCase()+e.substring(1);if(s[a])try{s[a](...r)}catch(e){console.error("Error when running the Router event: "+a),console.error((0,l.default)(e)?e.message+"\n"+e.stack:e+"")}})})});let h=s;function p(){let e=a.default.useContext(i.RouterContext);if(!e)throw Error("NextRouter was not mounted. https://nextjs.org/docs/messages/next-router-not-mounted");return e}function m(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return s.router=new o.default(...t),s.readyCallbacks.forEach(e=>e()),s.readyCallbacks=[],s.router}function g(e){let t={};for(let r of c){if("object"==typeof e[r]){t[r]=Object.assign(Array.isArray(e[r])?[]:{},e[r]);continue}t[r]=e[r]}return t.events=o.default.events,f.forEach(r=>{t[r]=function(){for(var t=arguments.length,n=Array(t),a=0;a<t;a++)n[a]=arguments[a];return e[r](...n)}}),t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36737:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleClientScriptLoad:function(){return m},initScriptLoader:function(){return g},default:function(){return _}});let n=r(38193),a=r(23800),o=n._(r(12788)),i=a._(r(32735)),l=r(91448),u=r(95592),s=r(54578),c=new Map,f=new Set,d=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"],h=e=>{if(o.default.preinit){e.forEach(e=>{o.default.preinit(e,{as:"style"})});return}{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}},p=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:a=null,dangerouslySetInnerHTML:o,children:i="",strategy:l="afterInteractive",onError:s,stylesheets:p}=e,m=r||t;if(m&&f.has(m))return;if(c.has(t)){f.add(m),c.get(t).then(n,s);return}let g=()=>{a&&a(),f.add(m)},y=document.createElement("script"),_=new Promise((e,t)=>{y.addEventListener("load",function(t){e(),n&&n.call(this,t),g()}),y.addEventListener("error",function(e){t(e)})}).catch(function(e){s&&s(e)});for(let[r,n]of(o?(y.innerHTML=o.__html||"",g()):i?(y.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",g()):t&&(y.src=t,c.set(t,_)),Object.entries(e))){if(void 0===n||d.includes(r))continue;let e=u.DOMAttributeNames[r]||r.toLowerCase();y.setAttribute(e,n)}"worker"===l&&y.setAttribute("type","text/partytown"),y.setAttribute("data-nscript",l),p&&h(p),document.body.appendChild(y)};function m(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,s.requestIdleCallback)(()=>p(e))}):p(e)}function g(e){e.forEach(m),function(){let e=[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')];e.forEach(e=>{let t=e.id||e.getAttribute("src");f.add(t)})}()}function y(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:a=null,strategy:u="afterInteractive",onError:c,stylesheets:d,...h}=e,{updateScripts:m,scripts:g,getIsSsr:y,appDir:_,nonce:b}=(0,i.useContext)(l.HeadManagerContext),v=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=t||r;v.current||(a&&e&&f.has(e)&&a(),v.current=!0)},[a,t,r]);let P=(0,i.useRef)(!1);if((0,i.useEffect)(()=>{!P.current&&("afterInteractive"===u?p(e):"lazyOnload"===u&&("complete"===document.readyState?(0,s.requestIdleCallback)(()=>p(e)):window.addEventListener("load",()=>{(0,s.requestIdleCallback)(()=>p(e))})),P.current=!0)},[e,u]),("beforeInteractive"===u||"worker"===u)&&(m?(g[u]=(g[u]||[]).concat([{id:t,src:r,onLoad:n,onReady:a,onError:c,...h}]),m(g)):y&&y()?f.add(t||r):y&&!y()&&p(e)),_){if(d&&d.forEach(e=>{o.default.preinit(e,{as:"style"})}),"beforeInteractive"===u)return r?(o.default.preload(r,h.integrity?{as:"script",integrity:h.integrity}:{as:"script"}),i.default.createElement("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r])+")"}})):(h.dangerouslySetInnerHTML&&(h.children=h.dangerouslySetInnerHTML.__html,delete h.dangerouslySetInnerHTML),i.default.createElement("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{...h}])+")"}}));"afterInteractive"===u&&r&&o.default.preload(r,h.integrity?{as:"script",integrity:h.integrity}:{as:"script"})}return null}Object.defineProperty(y,"__nextScript",{value:!0});let _=y;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36545:function(e,t){"use strict";let r;function n(e){var t;return(null==(t=function(){if(void 0===r){var e;r=(null==(e=window.trustedTypes)?void 0:e.createPolicy("nextjs",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))||null}return r}())?void 0:t.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},97243:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let n=e=>t=>e(t)+"",a=r.u;r.u=n(a);let o=r.k;r.k=n(o);let i=r.miniCssF;r.miniCssF=n(i),self.__next_require__=r,self.__next_set_public_path__=e=>{r.p=e},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47922:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(38193),a=n._(r(32735)),o=r(14313);function i(e){function t(t){return a.default.createElement(e,{router:(0,o.useRouter)(),...t})}return t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2397:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(38193),a=n._(r(32735)),o=r(13405);async function i(e){let{Component:t,ctx:r}=e,n=await (0,o.loadGetInitialProps)(t,r);return{pageProps:n}}class l extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return a.default.createElement(e,t)}}l.origGetInitialProps=i,l.getInitialProps=i,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},73811:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let n=r(38193),a=n._(r(32735)),o=n._(r(14437)),i={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function l(e){let{res:t,err:r}=e,n=t&&t.statusCode?t.statusCode:r?r.statusCode:404;return{statusCode:n}}let u={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class s extends a.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,r=this.props.title||i[e]||"An unexpected error has occurred";return a.default.createElement("div",{style:u.error},a.default.createElement(o.default,null,a.default.createElement("title",null,e?e+": "+r:"Application error: a client-side exception has occurred")),a.default.createElement("div",{style:u.desc},a.default.createElement("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?a.default.createElement("h1",{className:"next-error-h1",style:u.h1},e):null,a.default.createElement("div",{style:u.wrap},a.default.createElement("h2",{style:u.h2},this.props.title||e?r:a.default.createElement(a.default.Fragment,null,"Application error: a client-side exception has occurred (see the browser console for more information)"),"."))))}}s.displayName="ErrorPage",s.getInitialProps=l,s.origGetInitialProps=l,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},73966:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return o}});let n=r(38193),a=n._(r(32735)),o=a.default.createContext({})},45460:function(e,t){"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},87354:function(e,t,r){"use strict";var n,a;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{CacheStates:function(){return n},AppRouterContext:function(){return l},LayoutRouterContext:function(){return u},GlobalLayoutRouterContext:function(){return s},TemplateContext:function(){return c}});let o=r(38193),i=o._(r(32735));(a=n||(n={})).LAZY_INITIALIZED="LAZYINITIALIZED",a.DATA_FETCH="DATAFETCH",a.READY="READY";let l=i.default.createContext(null),u=i.default.createContext(null),s=i.default.createContext(null),c=i.default.createContext(null)},84963:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return r}});class r{static from(e,t){void 0===t&&(t=.01);let n=new r(e.length,t);for(let t of e)n.add(t);return n}export(){let e={numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray};return e}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){let t=this.getHashValues(e);t.forEach(e=>{this.bitArray[e]=1})}contains(e){let t=this.getHashValues(e);return t.every(e=>this.bitArray[e])}getHashValues(e){let t=[];for(let r=1;r<=this.numHashes;r++){let n=function(e){let t=0;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);t=Math.imul(t^n,1540483477),t^=t>>>13,t=Math.imul(t,1540483477)}return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}constructor(e,t){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-(e*Math.log(t))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},92857:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return a}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function a(e){return r.test(e)?e.replace(n,"\\$&"):e}},91448:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return o}});let n=r(38193),a=n._(r(32735)),o=a.default.createContext({})},14437:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{defaultHead:function(){return c},default:function(){return p}});let n=r(38193),a=r(23800),o=a._(r(32735)),i=n._(r(43393)),l=r(73966),u=r(91448),s=r(45460);function c(e){void 0===e&&(e=!1);let t=[o.default.createElement("meta",{charSet:"utf-8"})];return e||t.push(o.default.createElement("meta",{name:"viewport",content:"width=device-width"})),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(17851);let d=["name","httpEquiv","charSet","itemProp"];function h(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(c(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return a=>{let o=!0,i=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){i=!0;let t=a.key.slice(a.key.indexOf("$")+1);e.has(t)?o=!1:e.add(t)}switch(a.type){case"title":case"base":t.has(a.type)?o=!1:t.add(a.type);break;case"meta":for(let e=0,t=d.length;e<t;e++){let t=d[e];if(a.props.hasOwnProperty(t)){if("charSet"===t)r.has(t)?o=!1:r.add(t);else{let e=a.props[t],r=n[t]||new Set;("name"!==t||!i)&&r.has(e)?o=!1:(r.add(e),n[t]=r)}}}}return o}}()).reverse().map((e,t)=>{let n=e.key||t;if(!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,o.default.cloneElement(e,t)}return o.default.cloneElement(e,{key:n})})}let p=function(e){let{children:t}=e,r=(0,o.useContext)(l.AmpStateContext),n=(0,o.useContext)(u.HeadManagerContext);return o.default.createElement(i.default,{reduceComponentsToState:h,headManager:n,inAmpMode:(0,s.isInAmpMode)(r)},t)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},96043:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{SearchParamsContext:function(){return a},PathnameContext:function(){return o}});let n=r(32735),a=(0,n.createContext)(null),o=(0,n.createContext)(null)},7503:function(e,t){"use strict";function r(e,t){let r;let n=e.split("/");return(t||[]).some(t=>!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}})},9308:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=r(38193),a=n._(r(32735)),o=r(26728),i=a.default.createContext(o.imageConfigDefault)},26728:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",remotePatterns:[],unoptimized:!1}},64479:function(e,t){"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},78069:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NEXT_DYNAMIC_NO_SSR_CODE",{enumerable:!0,get:function(){return r}});let r="NEXT_DYNAMIC_NO_SSR_CODE"},93439:function(e,t){"use strict";function r(){let e=Object.create(null);return{on(t,r){(e[t]||(e[t]=[])).push(r)},off(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit(t){for(var r=arguments.length,n=Array(r>1?r-1:0),a=1;a<r;a++)n[a-1]=arguments[a];(e[t]||[]).slice().map(e=>{e(...n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},21104:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return o}});let n=r(37665),a=r(92167);function o(e){let t=(0,a.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,n.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},51666:function(e,t){"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},92167:function(e,t){"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},43307:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return o}});let n=r(38193),a=n._(r(32735)),o=a.default.createContext(null)},6142:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{adaptForAppRouterInstance:function(){return l},adaptForSearchParams:function(){return u},PathnameContextProviderAdapter:function(){return s}});let n=r(23800),a=n._(r(32735)),o=r(96043),i=r(37665);function l(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},push(t,r){let{scroll:n}=void 0===r?{}:r;e.push(t,void 0,{scroll:n})},replace(t,r){let{scroll:n}=void 0===r?{}:r;e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function u(e){return e.isReady&&e.query?function(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,e);else void 0!==n&&t.append(r,n);return t}(e.query):new URLSearchParams}function s(e){let{children:t,router:r,...n}=e,l=(0,a.useRef)(n.isAutoExport),u=(0,a.useMemo)(()=>{let e;let t=l.current;if(t&&(l.current=!1),(0,i.isDynamicRoute)(r.pathname)&&(r.isFallback||t&&!r.isReady))return null;try{e=new URL(r.asPath,"http://f")}catch(e){return"/"}return e.pathname},[r.asPath,r.isFallback,r.isReady,r.pathname]);return a.default.createElement(o.PathnameContext.Provider,{value:u},t)}},67830:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return V},matchesMiddleware:function(){return N},createKey:function(){return q}});let n=r(38193),a=r(23800),o=r(98754),i=r(18493),l=r(36737),u=a._(r(13569)),s=r(21104),c=r(7503),f=n._(r(93439)),d=r(13405),h=r(89017),p=r(57815);r(64015);let m=r(70936),g=r(52005),y=r(27038);r(33987);let _=r(93045),b=r(52646),v=r(95506),P=r(81848),w=r(37450),j=r(218),S=r(64257),O=r(84450),E=r(61508),x=r(96501),R=r(50399),C=r(41045),M=r(22411),A=r(16938),L=r(54732),I=r(71506);function T(){return Object.assign(Error("Route Cancelled"),{cancelled:!0})}async function N(e){let t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;let{pathname:r}=(0,_.parsePath)(e.asPath),n=(0,j.hasBasePath)(r)?(0,P.removeBasePath)(r):r,a=(0,w.addBasePath)((0,b.addLocale)(n,e.locale));return t.some(e=>new RegExp(e.regexp).test(a))}function k(e){let t=(0,d.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function D(e,t,r){let[n,a]=(0,A.resolveHref)(e,t,!0),o=(0,d.getLocationOrigin)(),i=n.startsWith(o),l=a&&a.startsWith(o);n=k(n),a=a?k(a):a;let u=i?n:(0,w.addBasePath)(n),s=r?k((0,A.resolveHref)(e,r)):a||n;return{url:u,as:l?s:(0,w.addBasePath)(s)}}function B(e,t){let r=(0,o.removeTrailingSlash)((0,s.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some(t=>{if((0,h.isDynamicRoute)(t)&&(0,g.getRouteRegex)(t).re.test(r))return e=t,!0}),(0,o.removeTrailingSlash)(e))}async function H(e){let t=await N(e);if(!t||!e.fetchData)return null;try{let t=await e.fetchData(),r=await function(e,t,r){let n={basePath:r.router.basePath,i18n:{locales:r.router.locales},trailingSlash:!0},a=t.headers.get("x-nextjs-rewrite"),l=a||t.headers.get("x-nextjs-matched-path"),u=t.headers.get("x-matched-path");if(!u||l||u.includes("__next_data_catchall")||u.includes("/_error")||u.includes("/404")||(l=u),l){if(l.startsWith("/")){let t=(0,p.parseRelativeUrl)(l),u=(0,O.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),s=(0,o.removeTrailingSlash)(u.pathname);return Promise.all([r.router.pageLoader.getPageList(),(0,i.getClientBuildManifest)()]).then(o=>{let[i,{__rewrites:l}]=o,f=(0,b.addLocale)(u.pathname,u.locale);if((0,h.isDynamicRoute)(f)||!a&&i.includes((0,c.normalizeLocalePath)((0,P.removeBasePath)(f),r.router.locales).pathname)){let r=(0,O.getNextPathnameInfo)((0,p.parseRelativeUrl)(e).pathname,{nextConfig:n,parseData:!0});f=(0,w.addBasePath)(r.pathname),t.pathname=f}if(!i.includes(s)){let e=B(s,i);e!==s&&(s=e)}let d=i.includes(s)?s:B((0,c.normalizeLocalePath)((0,P.removeBasePath)(t.pathname),r.router.locales).pathname,i);if((0,h.isDynamicRoute)(d)){let e=(0,m.getRouteMatcher)((0,g.getRouteRegex)(d))(f);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:d}})}let t=(0,_.parsePath)(e),u=(0,E.formatNextPathnameInfo)({...(0,O.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-external",destination:""+u+t.query+t.hash})}let s=t.headers.get("x-nextjs-redirect");if(s){if(s.startsWith("/")){let e=(0,_.parsePath)(s),t=(0,E.formatNextPathnameInfo)({...(0,O.getNextPathnameInfo)(e.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:s})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:r}}catch(e){return null}}let U=Symbol("SSG_DATA_NOT_FOUND");function F(e){try{return JSON.parse(e)}catch(e){return null}}function W(e){var t;let{dataHref:r,inflightCache:n,isPrefetch:a,hasMiddleware:o,isServerRender:l,parseJSON:u,persistCache:s,isBackground:c,unstable_skipClientCache:f}=e,{href:d}=new URL(r,window.location.href),h=e=>(function e(t,r,n){return fetch(t,{credentials:"same-origin",method:n.method||"GET",headers:Object.assign({},n.headers,{"x-nextjs-data":"1"})}).then(a=>!a.ok&&r>1&&a.status>=500?e(t,r-1,n):a)})(r,l?3:1,{headers:Object.assign({},a?{purpose:"prefetch"}:{},a&&o?{"x-middleware-prefetch":"1"}:{}),method:null!=(t=null==e?void 0:e.method)?t:"GET"}).then(t=>t.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:r,response:t,text:"",json:{},cacheKey:d}:t.text().then(e=>{if(!t.ok){if(o&&[301,302,307,308].includes(t.status))return{dataHref:r,response:t,text:e,json:{},cacheKey:d};if(404===t.status){var n;if(null==(n=F(e))?void 0:n.notFound)return{dataHref:r,json:{notFound:U},response:t,text:e,cacheKey:d}}let a=Error("Failed to load static props");throw l||(0,i.markAssetError)(a),a}return{dataHref:r,json:u?F(e):null,response:t,text:e,cacheKey:d}})).then(e=>(s&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete n[d],e)).catch(e=>{throw f||delete n[d],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,i.markAssetError)(e),e});return f&&s?h({}).then(e=>(n[d]=Promise.resolve(e),e)):void 0!==n[d]?n[d]:n[d]=h(c?{method:"HEAD"}:{})}function q(){return Math.random().toString(36).slice(2,10)}function z(e){let{url:t,router:r}=e;if(t===(0,w.addBasePath)((0,b.addLocale)(r.asPath,r.locale)))throw Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href);window.location.href=t}let G=e=>{let{route:t,router:r}=e,n=!1,a=r.clc=()=>{n=!0};return()=>{if(n){let e=Error('Abort fetching component for route: "'+t+'"');throw e.cancelled=!0,e}a===r.clc&&(r.clc=null)}};class V{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=D(this,e,t),this.change("pushState",e,t,r)}replace(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=D(this,e,t),this.change("replaceState",e,t,r)}async _bfl(e,t,r,n){{let u=!1,s=!1;for(let c of[e,t])if(c){let t=(0,o.removeTrailingSlash)(new URL(c,"http://n").pathname),f=(0,w.addBasePath)((0,b.addLocale)(t,r||this.locale));if(t!==(0,o.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var a,i,l;for(let e of(u=u||!!(null==(a=this._bfl_s)?void 0:a.contains(t))||!!(null==(i=this._bfl_s)?void 0:i.contains(f)),[t,f])){let t=e.split("/");for(let e=0;!s&&e<t.length+1;e++){let r=t.slice(0,e).join("/");if(r&&(null==(l=this._bfl_d)?void 0:l.contains(r))){s=!0;break}}}if(u||s){if(n)return!0;return z({url:(0,w.addBasePath)((0,b.addLocale)(e,r||this.locale,this.defaultLocale)),router:this}),new Promise(()=>{})}}}}return!1}async change(e,t,r,n,a){var s,c,f,S,O,E,C,A,I;let k,H;if(!(0,R.isLocalURL)(t))return z({url:t,router:this}),!1;let F=1===n._h;F||n.shallow||await this._bfl(r,void 0,n.locale);let W=F||n._shouldResolveHref||(0,_.parsePath)(t).pathname===(0,_.parsePath)(r).pathname,q={...this.state},G=!0!==this.isReady;this.isReady=!0;let X=this.isSsr;if(F||(this.isSsr=!1),F&&this.clc)return!1;let $=q.locale;d.ST&&performance.mark("routeChange");let{shallow:Y=!1,scroll:K=!0}=n,J={shallow:Y};this._inFlightRoute&&this.clc&&(X||V.events.emit("routeChangeError",T(),this._inFlightRoute,J),this.clc(),this.clc=null),r=(0,w.addBasePath)((0,b.addLocale)((0,j.hasBasePath)(r)?(0,P.removeBasePath)(r):r,n.locale,this.defaultLocale));let Q=(0,v.removeLocale)((0,j.hasBasePath)(r)?(0,P.removeBasePath)(r):r,q.locale);this._inFlightRoute=r;let Z=$!==q.locale;if(!F&&this.onlyAHashChange(Q)&&!Z){q.asPath=Q,V.events.emit("hashChangeStart",r,J),this.changeState(e,t,r,{...n,scroll:!1}),K&&this.scrollToHash(Q);try{await this.set(q,this.components[q.route],null)}catch(e){throw(0,u.default)(e)&&e.cancelled&&V.events.emit("routeChangeError",e,Q,J),e}return V.events.emit("hashChangeComplete",r,J),!0}let ee=(0,p.parseRelativeUrl)(t),{pathname:et,query:er}=ee;if(null==(s=this.components[et])?void 0:s.__appRouter)return z({url:r,router:this}),new Promise(()=>{});try{[k,{__rewrites:H}]=await Promise.all([this.pageLoader.getPageList(),(0,i.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return z({url:r,router:this}),!1}this.urlIsNew(Q)||Z||(e="replaceState");let en=r;et=et?(0,o.removeTrailingSlash)((0,P.removeBasePath)(et)):et;let ea=(0,o.removeTrailingSlash)(et),eo=r.startsWith("/")&&(0,p.parseRelativeUrl)(r).pathname,ei=!!(eo&&ea!==eo&&(!(0,h.isDynamicRoute)(ea)||!(0,m.getRouteMatcher)((0,g.getRouteRegex)(ea))(eo))),el=!n.shallow&&await N({asPath:r,locale:q.locale,router:this});if(F&&el&&(W=!1),W&&"/_error"!==et&&(n._shouldResolveHref=!0,ee.pathname=B(et,k),ee.pathname===et||(et=ee.pathname,ee.pathname=(0,w.addBasePath)(et),el||(t=(0,y.formatWithValidation)(ee)))),!(0,R.isLocalURL)(r))return z({url:r,router:this}),!1;en=(0,v.removeLocale)((0,P.removeBasePath)(en),q.locale),ea=(0,o.removeTrailingSlash)(et);let eu=!1;if((0,h.isDynamicRoute)(ea)){let e=(0,p.parseRelativeUrl)(en),n=e.pathname,a=(0,g.getRouteRegex)(ea);eu=(0,m.getRouteMatcher)(a)(n);let o=ea===n,i=o?(0,L.interpolateAs)(ea,n,er):{};if(eu&&(!o||i.result))o?r=(0,y.formatWithValidation)(Object.assign({},e,{pathname:i.result,query:(0,M.omit)(er,i.params)})):Object.assign(er,eu);else{let e=Object.keys(a.groups).filter(e=>!er[e]&&!a.groups[e].optional);if(e.length>0&&!el)throw Error((o?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+n+") is incompatible with the `href` value ("+ea+"). ")+"Read more: https://nextjs.org/docs/messages/"+(o?"href-interpolation-failed":"incompatible-href-as"))}}F||V.events.emit("routeChangeStart",r,J);let es="/404"===this.pathname||"/_error"===this.pathname;try{let o=await this.getRouteInfo({route:ea,pathname:et,query:er,as:r,resolvedAs:en,routeProps:J,locale:q.locale,isPreview:q.isPreview,hasMiddleware:el,unstable_skipClientCache:n.unstable_skipClientCache,isQueryUpdating:F&&!this.isFallback,isMiddlewareRewrite:ei});if(F||n.shallow||await this._bfl(r,"resolvedAs"in o?o.resolvedAs:void 0,q.locale),"route"in o&&el){ea=et=o.route||ea,J.shallow||(er=Object.assign({},o.query||{},er));let e=(0,j.hasBasePath)(ee.pathname)?(0,P.removeBasePath)(ee.pathname):ee.pathname;if(eu&&et!==e&&Object.keys(eu).forEach(e=>{eu&&er[e]===eu[e]&&delete er[e]}),(0,h.isDynamicRoute)(et)){let e=!J.shallow&&o.resolvedAs?o.resolvedAs:(0,w.addBasePath)((0,b.addLocale)(new URL(r,location.href).pathname,q.locale),!0),t=e;(0,j.hasBasePath)(t)&&(t=(0,P.removeBasePath)(t));let n=(0,g.getRouteRegex)(et),a=(0,m.getRouteMatcher)(n)(new URL(t,location.href).pathname);a&&Object.assign(er,a)}}if("type"in o){if("redirect-internal"===o.type)return this.change(e,o.newUrl,o.newAs,n);return z({url:o.destination,router:this}),new Promise(()=>{})}let i=o.Component;if(i&&i.unstable_scriptLoader){let e=[].concat(i.unstable_scriptLoader());e.forEach(e=>{(0,l.handleClientScriptLoad)(e.props)})}if((o.__N_SSG||o.__N_SSP)&&o.props){if(o.props.pageProps&&o.props.pageProps.__N_REDIRECT){n.locale=!1;let t=o.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==o.props.pageProps.__N_REDIRECT_BASE_PATH){let r=(0,p.parseRelativeUrl)(t);r.pathname=B(r.pathname,k);let{url:a,as:o}=D(this,t,t);return this.change(e,a,o,n)}return z({url:t,router:this}),new Promise(()=>{})}if(q.isPreview=!!o.props.__N_PREVIEW,o.props.notFound===U){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(o=await this.getRouteInfo({route:e,pathname:e,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:q.locale,isPreview:q.isPreview,isNotFound:!0}),"type"in o)throw Error("Unexpected middleware effect on /404")}}F&&"/_error"===this.pathname&&(null==(c=self.__NEXT_DATA__.props)?void 0:null==(f=c.pageProps)?void 0:f.statusCode)===500&&(null==(S=o.props)?void 0:S.pageProps)&&(o.props.pageProps.statusCode=500);let s=n.shallow&&q.route===(null!=(O=o.route)?O:ea),d=null!=(E=n.scroll)?E:!F&&!s,y=null!=a?a:d?{x:0,y:0}:null,_={...q,route:ea,pathname:et,query:er,asPath:Q,isFallback:!1};if(F&&es){if(o=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:q.locale,isPreview:q.isPreview,isQueryUpdating:F&&!this.isFallback}),"type"in o)throw Error("Unexpected middleware effect on "+this.pathname);"/_error"===this.pathname&&(null==(C=self.__NEXT_DATA__.props)?void 0:null==(A=C.pageProps)?void 0:A.statusCode)===500&&(null==(I=o.props)?void 0:I.pageProps)&&(o.props.pageProps.statusCode=500);try{await this.set(_,o,y)}catch(e){throw(0,u.default)(e)&&e.cancelled&&V.events.emit("routeChangeError",e,Q,J),e}return!0}V.events.emit("beforeHistoryChange",r,J),this.changeState(e,t,r,n);let v=F&&!y&&!G&&!Z&&(0,x.compareRouterStates)(_,this.state);if(!v){try{await this.set(_,o,y)}catch(e){if(e.cancelled)o.error=o.error||e;else throw e}if(o.error)throw F||V.events.emit("routeChangeError",o.error,Q,J),o.error;F||V.events.emit("routeChangeComplete",r,J),d&&/#.+$/.test(r)&&this.scrollToHash(r)}return!0}catch(e){if((0,u.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,d.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:q()},"",r))}async handleRouteInfoError(e,t,r,n,a,o){if(console.error(e),e.cancelled)throw e;if((0,i.isAssetError)(e)||o)throw V.events.emit("routeChangeError",e,n,a),z({url:n,router:this}),T();try{let n;let{page:a,styleSheets:o}=await this.fetchComponent("/_error"),i={props:n,Component:a,styleSheets:o,err:e,error:e};if(!i.props)try{i.props=await this.getInitialProps(a,{err:e,pathname:t,query:r})}catch(e){console.error("Error in error page `getInitialProps`: ",e),i.props={}}return i}catch(e){return this.handleRouteInfoError((0,u.default)(e)?e:Error(e+""),t,r,n,a,!0)}}async getRouteInfo(e){let{route:t,pathname:r,query:n,as:a,resolvedAs:i,routeProps:l,locale:s,hasMiddleware:f,isPreview:d,unstable_skipClientCache:h,isQueryUpdating:p,isMiddlewareRewrite:m,isNotFound:g}=e,_=t;try{var b,v,w,j;let e=G({route:_,router:this}),t=this.components[_];if(l.shallow&&t&&this.route===_)return t;f&&(t=void 0);let u=!t||"initial"in t?void 0:t,O={dataHref:this.pageLoader.getDataHref({href:(0,y.formatWithValidation)({pathname:r,query:n}),skipInterpolation:!0,asPath:g?"/404":i,locale:s}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:p?this.sbc:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:h,isBackground:p},E=p&&!m?null:await H({fetchData:()=>W(O),asPath:g?"/404":i,locale:s,router:this}).catch(e=>{if(p)return null;throw e});if(E&&("/_error"===r||"/404"===r)&&(E.effect=void 0),p&&(E?E.json=self.__NEXT_DATA__.props:E={json:self.__NEXT_DATA__.props}),e(),(null==E?void 0:null==(b=E.effect)?void 0:b.type)==="redirect-internal"||(null==E?void 0:null==(v=E.effect)?void 0:v.type)==="redirect-external")return E.effect;if((null==E?void 0:null==(w=E.effect)?void 0:w.type)==="rewrite"){let e=(0,o.removeTrailingSlash)(E.effect.resolvedHref),a=await this.pageLoader.getPageList();if((!p||a.includes(e))&&(_=e,r=E.effect.resolvedHref,n={...n,...E.effect.parsedAs.query},i=(0,P.removeBasePath)((0,c.normalizeLocalePath)(E.effect.parsedAs.pathname,this.locales).pathname),t=this.components[_],l.shallow&&t&&this.route===_&&!f))return{...t,route:_}}if((0,S.isAPIRoute)(_))return z({url:a,router:this}),new Promise(()=>{});let x=u||await this.fetchComponent(_).then(e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP})),R=null==E?void 0:null==(j=E.response)?void 0:j.headers.get("x-middleware-skip"),C=x.__N_SSG||x.__N_SSP;R&&(null==E?void 0:E.dataHref)&&delete this.sdc[E.dataHref];let{props:M,cacheKey:A}=await this._getData(async()=>{if(C){if((null==E?void 0:E.json)&&!R)return{cacheKey:E.cacheKey,props:E.json};let e=(null==E?void 0:E.dataHref)?E.dataHref:this.pageLoader.getDataHref({href:(0,y.formatWithValidation)({pathname:r,query:n}),asPath:i,locale:s}),t=await W({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:R?{}:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:h});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(x.Component,{pathname:r,query:n,asPath:a,locale:s,locales:this.locales,defaultLocale:this.defaultLocale})}});return x.__N_SSP&&O.dataHref&&A&&delete this.sdc[A],this.isPreview||!x.__N_SSG||p||W(Object.assign({},O,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),M.pageProps=Object.assign({},M.pageProps),x.props=M,x.route=_,x.query=n,x.resolvedAs=i,this.components[_]=x,x}catch(e){return this.handleRouteInfoError((0,u.getProperError)(e),r,n,a,l)}}set(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;let[t,r]=this.asPath.split("#"),[n,a]=e.split("#");return!!a&&t===n&&r===a||t===n&&r!==a}scrollToHash(e){let[,t=""]=e.split("#");(0,I.handleSmoothScroll)(()=>{if(""===t||"top"===t){window.scrollTo(0,0);return}let e=decodeURIComponent(t),r=document.getElementById(e);if(r){r.scrollIntoView();return}let n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,r){if(void 0===t&&(t=e),void 0===r&&(r={}),(0,C.isBot)(window.navigator.userAgent))return;let n=(0,p.parseRelativeUrl)(e),a=n.pathname,{pathname:i,query:l}=n,u=i,s=await this.pageLoader.getPageList(),c=t,f=void 0!==r.locale?r.locale||void 0:this.locale,d=await N({asPath:t,locale:f,router:this});n.pathname=B(n.pathname,s),(0,h.isDynamicRoute)(n.pathname)&&(i=n.pathname,n.pathname=i,Object.assign(l,(0,m.getRouteMatcher)((0,g.getRouteRegex)(n.pathname))((0,_.parsePath)(t).pathname)||{}),d||(e=(0,y.formatWithValidation)(n)));let b=await H({fetchData:()=>W({dataHref:this.pageLoader.getDataHref({href:(0,y.formatWithValidation)({pathname:u,query:l}),skipInterpolation:!0,asPath:c,locale:f}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:f,router:this});if((null==b?void 0:b.effect.type)==="rewrite"&&(n.pathname=b.effect.resolvedHref,i=b.effect.resolvedHref,l={...l,...b.effect.parsedAs.query},c=b.effect.parsedAs.pathname,e=(0,y.formatWithValidation)(n)),(null==b?void 0:b.effect.type)==="redirect-external")return;let v=(0,o.removeTrailingSlash)(i);await this._bfl(t,c,r.locale,!0)&&(this.components[a]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(v).then(t=>!!t&&W({dataHref:(null==b?void 0:b.json)?null==b?void 0:b.dataHref:this.pageLoader.getDataHref({href:e,asPath:c,locale:f}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:r.unstable_skipClientCache||r.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[r.priority?"loadPage":"prefetch"](v)])}async fetchComponent(e){let t=G({route:e,router:this});try{let r=await this.pageLoader.loadPage(e);return t(),r}catch(e){throw t(),e}}_getData(e){let t=!1,r=()=>{t=!0};return this.clc=r,e().then(e=>{if(r===this.clc&&(this.clc=null),t){let e=Error("Loading initial props cancelled");throw e.cancelled=!0,e}return e})}_getFlightData(e){return W({dataHref:e,isServerRender:!0,parseJSON:!1,inflightCache:this.sdc,persistCache:!1,isPrefetch:!1}).then(e=>{let{text:t}=e;return{data:t}})}getInitialProps(e,t){let{Component:r}=this.components["/_app"],n=this._wrapApp(r);return t.AppTree=n,(0,d.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,n,{initialProps:a,pageLoader:i,App:l,wrapApp:u,Component:s,err:c,subscription:f,isFallback:m,locale:g,locales:_,defaultLocale:b,domainLocales:v,isPreview:P}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=q(),this.onPopState=e=>{let t;let{isFirstPopStateEvent:r}=this;this.isFirstPopStateEvent=!1;let n=e.state;if(!n){let{pathname:e,query:t}=this;this.changeState("replaceState",(0,y.formatWithValidation)({pathname:(0,w.addBasePath)(e),query:t}),(0,d.getURL)());return}if(n.__NA){window.location.reload();return}if(!n.__N||r&&this.locale===n.options.locale&&n.as===this.asPath)return;let{url:a,as:o,options:i,key:l}=n;this._key=l;let{pathname:u}=(0,p.parseRelativeUrl)(a);(!this.isSsr||o!==(0,w.addBasePath)(this.asPath)||u!==(0,w.addBasePath)(this.pathname))&&(!this._bps||this._bps(n))&&this.change("replaceState",a,o,Object.assign({},i,{shallow:i.shallow&&this._shallow,locale:i.locale||this.defaultLocale,_h:0}),t)};let j=(0,o.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[j]={Component:s,initial:!0,props:a,err:c,__N_SSG:a&&a.__N_SSG,__N_SSP:a&&a.__N_SSP}),this.components["/_app"]={Component:l,styleSheets:[]};{let{BloomFilter:e}=r(84963),t={numItems:10,errorRate:.01,numBits:96,numHashes:7,bitArray:[0,1,0,1,1,0,0,0,0,1,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,0,0,0,0,0,0,1,1,0,1,1,1,0,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0]},n={numItems:1,errorRate:.01,numBits:10,numHashes:7,bitArray:[0,0,1,1,1,1,0,0,1,1]};(null==t?void 0:t.numHashes)&&(this._bfl_s=new e(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==n?void 0:n.numHashes)&&(this._bfl_d=new e(n.numItems,n.errorRate),this._bfl_d.import(n))}this.events=V.events,this.pageLoader=i;let S=(0,h.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=f,this.clc=null,this._wrapApp=u,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!S&&!self.location.search),this.state={route:j,pathname:e,query:t,asPath:S?e:n,isPreview:!!P,locale:void 0,isFallback:m},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!n.startsWith("//")){let r={locale:g},a=(0,d.getURL)();this._initialMatchesMiddlewarePromise=N({router:this,locale:g,asPath:a}).then(o=>(r._shouldResolveHref=n!==e,this.changeState("replaceState",o?a:(0,y.formatWithValidation)({pathname:(0,w.addBasePath)(e),query:t}),a,r),o))}window.addEventListener("popstate",this.onPopState)}}V.events=(0,f.default)()},60842:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return o}});let n=r(48494),a=r(21184);function o(e,t,r,o){if(!t||t===r)return e;let i=e.toLowerCase();return!o&&((0,a.pathHasPrefix)(i,"/api")||(0,a.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},48494:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return a}});let n=r(93045);function a(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:a,hash:o}=(0,n.parsePath)(e);return""+t+r+a+o}},45980:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return a}});let n=r(93045);function a(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:a,hash:o}=(0,n.parsePath)(e);return""+r+t+a+o}},45314:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscPath:function(){return o}});let n=r(51666);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||"("===t[0]&&t.endsWith(")")||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function o(e,t){return t?e.replace(/\.rsc($|\?)/,"$1"):e}},96501:function(e,t){"use strict";function r(e,t){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=r.length;n--;){let a=r[n];if("query"===a){let r=Object.keys(e.query);if(r.length!==Object.keys(t.query).length)return!1;for(let n=r.length;n--;){let a=r[n];if(!t.query.hasOwnProperty(a)||e.query[a]!==t.query[a])return!1}}else if(!t.hasOwnProperty(a)||e[a]!==t[a])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},61508:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return l}});let n=r(98754),a=r(48494),o=r(45980),i=r(60842);function l(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,o.addPathSuffix)((0,a.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,a.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,o.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},27038:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return i},urlObjectKeys:function(){return l},formatWithValidation:function(){return u}});let n=r(23800),a=n._(r(60058)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",l=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(a.urlQueryToSearchParams(u)));let c=e.search||u&&"?"+u||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||o.test(n))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),""+n+s+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+l}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return i(e)}},15990:function(e,t){"use strict";function r(e,t){void 0===t&&(t="");let r="/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:""+e;return r+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},84450:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=r(7503),a=r(29802),o=r(21184);function i(e,t){var r,i,l;let{basePath:u,i18n:s,trailingSlash:c}=null!=(r=t.nextConfig)?r:{},f={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):c};if(u&&(0,o.pathHasPrefix)(f.pathname,u)&&(f.pathname=(0,a.removePathPrefix)(f.pathname,u),f.basePath=u),!0===t.parseData&&f.pathname.startsWith("/_next/data/")&&f.pathname.endsWith(".json")){let e=f.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),t=e[0];f.pathname="index"!==e[1]?"/"+e.slice(1).join("/"):"/",f.buildId=t}if(t.i18nProvider){let e=t.i18nProvider.analyze(f.pathname);f.locale=e.detectedLocale,f.pathname=null!=(i=e.pathname)?i:f.pathname}else if(s){let e=(0,n.normalizeLocalePath)(f.pathname,s.locales);f.locale=e.detectedLocale,f.pathname=null!=(l=e.pathname)?l:f.pathname}return f}},71506:function(e,t){"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},37665:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return a.isDynamicRoute}});let n=r(44916),a=r(89017)},54732:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return o}});let n=r(70936),a=r(52005);function o(e,t,r){let o="",i=(0,a.getRouteRegex)(e),l=i.groups,u=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;o=e;let s=Object.keys(l);return s.every(e=>{let t=u[e]||"",{repeat:r,optional:n}=l[e],a="["+(r?"...":"")+e+"]";return n&&(a=(t?"":"/")+"["+a+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in u)&&(o=o.replace(a,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(o=""),{params:s,result:o}}},41045:function(e,t){"use strict";function r(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return r}})},89017:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return n}});let r=/\/\[[^/]+?\](?=\/|$)/;function n(e){return r.test(e)}},50399:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=r(13405),a=r(218);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},22411:function(e,t){"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},93045:function(e,t){"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r<t);return n||t>-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},57815:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return o}});let n=r(13405),a=r(60058);function o(e,t){let r=new URL((0,n.getLocationOrigin)()),o=t?new URL(t,r):e.startsWith(".")?new URL(window.location.href):r,{pathname:i,searchParams:l,search:u,hash:s,href:c,origin:f}=new URL(e,o);if(f!==r.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:i,query:(0,a.searchParamsToUrlQuery)(l),search:u,hash:s,href:c.slice(r.origin.length)}}},21184:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return a}});let n=r(93045);function a(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},60058:function(e,t){"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,a]=e;Array.isArray(a)?a.forEach(e=>t.append(r,n(e))):t.set(r,n(a))}),t}function o(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.forEach(t=>{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return a},assign:function(){return o}})},29802:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return a}});let n=r(21184);function a(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}},98754:function(e,t){"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},16938:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let n=r(60058),a=r(27038),o=r(22411),i=r(13405),l=r(79288),u=r(50399),s=r(89017),c=r(54732);function f(e,t,r){let f;let d="string"==typeof t?t:(0,a.formatWithValidation)(t),h=d.match(/^[a-zA-Z]{1,}:\/\//),p=h?d.slice(h[0].length):d;if((p.split("?")[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(p);d=(h?h[0]:"")+t}if(!(0,u.isLocalURL)(d))return r?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,l.normalizePathTrailingSlash)(e.pathname);let t="";if((0,s.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:i,params:l}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,a.formatWithValidation)({pathname:i,hash:e.hash,query:(0,o.omit)(r,l)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[d]:d}}},70936:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return a}});let n=r(13405);function a(e){let{re:t,groups:r}=e;return e=>{let a=t.exec(e);if(!a)return!1;let o=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},i={};return Object.keys(r).forEach(e=>{let t=r[e],n=a[t.pos];void 0!==n&&(i[e]=~n.indexOf("/")?n.split("/").map(e=>o(e)):t.repeat?[o(n)]:o(n))}),i}}},52005:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getRouteRegex:function(){return u},getNamedRouteRegex:function(){return f},getNamedMiddlewareRegex:function(){return d}});let n=r(83952),a=r(92857),o=r(98754);function i(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function l(e){let t=(0,o.removeTrailingSlash)(e).slice(1).split("/"),r={},l=1;return{parameterizedRoute:t.map(e=>{let t=n.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),o=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&o){let{key:e,optional:n,repeat:u}=i(o[1]);return r[e]={pos:l++,repeat:u,optional:n},"/"+(0,a.escapeStringRegexp)(t)+"([^/]+?)"}if(!o)return"/"+(0,a.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:n}=i(o[1]);return r[e]={pos:l++,repeat:t,optional:n},t?n?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function u(e){let{parameterizedRoute:t,groups:r}=l(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function s(e){let t,r,{segment:n,routeKeys:a,keyPrefix:o}=e,l=(t=97,r=1,()=>{let e="";for(let n=0;n<r;n++)e+=String.fromCharCode(t),++t>122&&(r++,t=97);return e}),{key:u,optional:s,repeat:c}=i(n),f=u.replace(/\W/g,"");o&&(f=""+o+f);let d=!1;return(0===f.length||f.length>30)&&(d=!0),isNaN(parseInt(f.slice(0,1)))||(d=!0),d&&(f=l()),o?a[f]=""+o+u:a[f]=""+u,c?s?"(?:/(?<"+f+">.+?))?":"/(?<"+f+">.+?)":"/(?<"+f+">[^/]+?)"}function c(e,t){let r=(0,o.removeTrailingSlash)(e).slice(1).split("/"),i={};return{namedParameterizedRoute:r.map(e=>{let r=n.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),o=e.match(/\[((?:\[.*\])|.+)\]/);return r&&o?s({segment:o[1],routeKeys:i,keyPrefix:t?"nxtI":void 0}):o?s({segment:o[1],routeKeys:i,keyPrefix:t?"nxtP":void 0}):"/"+(0,a.escapeStringRegexp)(e)}).join(""),routeKeys:i}}function f(e,t){let r=c(e,t);return{...u(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function d(e,t){let{parameterizedRoute:r}=l(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:a}=c(e,!1);return{namedRegex:"^"+a+(n?"(?:(/.*)?)":"")+"$"}}},44916:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");let a=e[0];if(a.startsWith("[")&&a.endsWith("]")){let r=a.slice(1,-1),i=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),i=!0),r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+r+"').");if(r.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+r+"').");function o(e,r){if(null!==e&&e!==r)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"').");t.forEach(e=>{if(e===r)throw Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===a.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path')}),t.push(r)}if(n){if(i){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');o(this.optionalRestSlugName,r),this.optionalRestSlugName=r,a="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');o(this.restSlugName,r),this.restSlugName=r,a="[...]"}}else{if(i)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');o(this.slugName,r),this.slugName=r,a="[]"}}this.children.has(a)||this.children.set(a,new r),this.children.get(a)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}},52212:function(e,t){"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return a}});let n=()=>r;function a(e){r=e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},43393:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(23800),a=n._(r(32735)),o=a.useLayoutEffect,i=a.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function n(){if(t&&t.mountedInstances){let n=a.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(n,e))}}return o(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=n),()=>{t&&(t._pendingUpdate=n)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},13405:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{WEB_VITALS:function(){return r},execOnce:function(){return n},isAbsoluteUrl:function(){return o},getLocationOrigin:function(){return i},getURL:function(){return l},getDisplayName:function(){return u},isResSent:function(){return s},normalizeRepeatedSlashes:function(){return c},loadGetInitialProps:function(){return f},SP:function(){return d},ST:function(){return h},DecodeError:function(){return p},NormalizeError:function(){return m},PageNotFoundError:function(){return g},MissingStaticPage:function(){return y},MiddlewareNotFoundError:function(){return _},stringifyError:function(){return b}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,a=Array(n),o=0;o<n;o++)a[o]=arguments[o];return r||(r=!0,t=e(...a)),t}}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,o=e=>a.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function l(){let{href:e}=window.location,t=i();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function c(e){let t=e.split("?"),r=t[0];return r.replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n){let t='"'+u(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.';throw Error(t)}return n}let d="undefined"!=typeof performance,h=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class p extends Error{}class m extends Error{}class g extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class y extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class _ extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},17851:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},45571:function(e){var t,r,n,a,o,i,l,u,s,c,f,d,h,p,m,g,y,_,b,v,P,w,j,S,O,E,x,R,C,M,A,L,I,T,N,k,D,B,H,U,F,W,q,z,G,V;(t={}).d=function(e,r){for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},void 0!==t&&(t.ab="//"),r={},t.r(r),t.d(r,{getCLS:function(){return j},getFCP:function(){return v},getFID:function(){return M},getINP:function(){return W},getLCP:function(){return z},getTTFB:function(){return V},onCLS:function(){return j},onFCP:function(){return v},onFID:function(){return M},onINP:function(){return W},onLCP:function(){return z},onTTFB:function(){return V}}),u=-1,s=function(e){addEventListener("pageshow",function(t){t.persisted&&(u=t.timeStamp,e(t))},!0)},c=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]},f=function(){var e=c();return e&&e.activationStart||0},d=function(e,t){var r=c(),n="navigate";return u>=0?n="back-forward-cache":r&&(n=document.prerendering||f()>0?"prerender":r.type.replace(/_/g,"-")),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:n}},h=function(e,t,r){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver(function(e){t(e.getEntries())});return n.observe(Object.assign({type:e,buffered:!0},r||{})),n}}catch(e){}},p=function(e,t){var r=function r(n){"pagehide"!==n.type&&"hidden"!==document.visibilityState||(e(n),t&&(removeEventListener("visibilitychange",r,!0),removeEventListener("pagehide",r,!0)))};addEventListener("visibilitychange",r,!0),addEventListener("pagehide",r,!0)},m=function(e,t,r,n){var a,o;return function(i){var l;t.value>=0&&(i||n)&&((o=t.value-(a||0))||void 0===a)&&(a=t.value,t.delta=o,t.rating=(l=t.value)>r[1]?"poor":l>r[0]?"needs-improvement":"good",e(t))}},g=-1,y=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},_=function(){p(function(e){g=e.timeStamp},!0)},b=function(){return g<0&&(g=y(),_(),s(function(){setTimeout(function(){g=y(),_()},0)})),{get firstHiddenTime(){return g}}},v=function(e,t){t=t||{};var r,n=[1800,3e3],a=b(),o=d("FCP"),i=function(e){e.forEach(function(e){"first-contentful-paint"===e.name&&(u&&u.disconnect(),e.startTime<a.firstHiddenTime&&(o.value=e.startTime-f(),o.entries.push(e),r(!0)))})},l=window.performance&&window.performance.getEntriesByName&&window.performance.getEntriesByName("first-contentful-paint")[0],u=l?null:h("paint",i);(l||u)&&(r=m(e,o,n,t.reportAllChanges),l&&i([l]),s(function(a){r=m(e,o=d("FCP"),n,t.reportAllChanges),requestAnimationFrame(function(){requestAnimationFrame(function(){o.value=performance.now()-a.timeStamp,r(!0)})})}))},P=!1,w=-1,j=function(e,t){t=t||{};var r=[.1,.25];P||(v(function(e){w=e.value}),P=!0);var n,a=function(t){w>-1&&e(t)},o=d("CLS",0),i=0,l=[],u=function(e){e.forEach(function(e){if(!e.hadRecentInput){var t=l[0],r=l[l.length-1];i&&e.startTime-r.startTime<1e3&&e.startTime-t.startTime<5e3?(i+=e.value,l.push(e)):(i=e.value,l=[e]),i>o.value&&(o.value=i,o.entries=l,n())}})},c=h("layout-shift",u);c&&(n=m(a,o,r,t.reportAllChanges),p(function(){u(c.takeRecords()),n(!0)}),s(function(){i=0,w=-1,n=m(a,o=d("CLS",0),r,t.reportAllChanges)}))},S={passive:!0,capture:!0},O=new Date,E=function(e,t){n||(n=t,a=e,o=new Date,C(removeEventListener),x())},x=function(){if(a>=0&&a<o-O){var e={entryType:"first-input",name:n.type,target:n.target,cancelable:n.cancelable,startTime:n.timeStamp,processingStart:n.timeStamp+a};i.forEach(function(t){t(e)}),i=[]}},R=function(e){if(e.cancelable){var t,r,n,a=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?(t=function(){E(a,e),n()},r=function(){n()},n=function(){removeEventListener("pointerup",t,S),removeEventListener("pointercancel",r,S)},addEventListener("pointerup",t,S),addEventListener("pointercancel",r,S)):E(a,e)}},C=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach(function(t){return e(t,R,S)})},M=function(e,t){t=t||{};var r,o=[100,300],l=b(),u=d("FID"),c=function(e){e.startTime<l.firstHiddenTime&&(u.value=e.processingStart-e.startTime,u.entries.push(e),r(!0))},f=function(e){e.forEach(c)},g=h("first-input",f);r=m(e,u,o,t.reportAllChanges),g&&p(function(){f(g.takeRecords()),g.disconnect()},!0),g&&s(function(){r=m(e,u=d("FID"),o,t.reportAllChanges),i=[],a=-1,n=null,C(addEventListener),i.push(c),x()})},A=0,L=1/0,I=0,T=function(e){e.forEach(function(e){e.interactionId&&(L=Math.min(L,e.interactionId),A=(I=Math.max(I,e.interactionId))?(I-L)/7+1:0)})},N=function(){return l?A:performance.interactionCount||0},k=function(){"interactionCount"in performance||l||(l=h("event",T,{type:"event",buffered:!0,durationThreshold:0}))},D=0,B=function(){return N()-D},H=[],U={},F=function(e){var t=H[H.length-1],r=U[e.interactionId];if(r||H.length<10||e.duration>t.latency){if(r)r.entries.push(e),r.latency=Math.max(r.latency,e.duration);else{var n={id:e.interactionId,latency:e.duration,entries:[e]};U[n.id]=n,H.push(n)}H.sort(function(e,t){return t.latency-e.latency}),H.splice(10).forEach(function(e){delete U[e.id]})}},W=function(e,t){t=t||{};var r=[200,500];k();var n,a=d("INP"),o=function(e){e.forEach(function(e){e.interactionId&&F(e),"first-input"!==e.entryType||H.some(function(t){return t.entries.some(function(t){return e.duration===t.duration&&e.startTime===t.startTime})})||F(e)});var t,r=(t=Math.min(H.length-1,Math.floor(B()/50)),H[t]);r&&r.latency!==a.value&&(a.value=r.latency,a.entries=r.entries,n())},i=h("event",o,{durationThreshold:t.durationThreshold||40});n=m(e,a,r,t.reportAllChanges),i&&(i.observe({type:"first-input",buffered:!0}),p(function(){o(i.takeRecords()),a.value<0&&B()>0&&(a.value=0,a.entries=[]),n(!0)}),s(function(){H=[],D=N(),n=m(e,a=d("INP"),r,t.reportAllChanges)}))},q={},z=function(e,t){t=t||{};var r,n=[2500,4e3],a=b(),o=d("LCP"),i=function(e){var t=e[e.length-1];if(t){var n=t.startTime-f();n<a.firstHiddenTime&&(o.value=n,o.entries=[t],r())}},l=h("largest-contentful-paint",i);if(l){r=m(e,o,n,t.reportAllChanges);var u=function(){q[o.id]||(i(l.takeRecords()),l.disconnect(),q[o.id]=!0,r(!0))};["keydown","click"].forEach(function(e){addEventListener(e,u,{once:!0,capture:!0})}),p(u,!0),s(function(a){r=m(e,o=d("LCP"),n,t.reportAllChanges),requestAnimationFrame(function(){requestAnimationFrame(function(){o.value=performance.now()-a.timeStamp,q[o.id]=!0,r(!0)})})})}},G=function e(t){document.prerendering?addEventListener("prerenderingchange",function(){return e(t)},!0):"complete"!==document.readyState?addEventListener("load",function(){return e(t)},!0):setTimeout(t,0)},V=function(e,t){t=t||{};var r=[800,1800],n=d("TTFB"),a=m(e,n,r,t.reportAllChanges);G(function(){var o=c();if(o){if(n.value=Math.max(o.responseStart-f(),0),n.value<0||n.value>performance.now())return;n.entries=[o],a(!0),s(function(){(a=m(e,n=d("TTFB",0),r,t.reportAllChanges))(!0)})}})},e.exports=r},64257:function(e,t){"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},13569:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return a},getProperError:function(){return o}});let n=r(64479);function a(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function o(e){return a(e)?e:Error((0,n.isPlainObject)(e)?JSON.stringify(e):e+"")}},83952:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return a},isInterceptionRouteAppPath:function(){return o},extractInterceptionRouteInformation:function(){return i}});let n=r(45314),a=["(..)(..)","(.)","(..)","(...)"];function o(e){return void 0!==e.split("/").find(e=>a.find(t=>e.startsWith(t)))}function i(e){let t,r,o;for(let n of e.split("/"))if(r=a.find(e=>n.startsWith(e))){[t,o]=e.split(r,2);break}if(!t||!r||!o)throw Error(`Invalid interception route: ${e}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":o="/"===t?`/${o}`:t+"/"+o;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);o=t.split("/").slice(0,-1).concat(o).join("/");break;case"(...)":o="/"+o;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);o=i.slice(0,-2).concat(o).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:o}}},64015:function(){},38193:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:function(){return n},_interop_require_default:function(){return n}})},23800:function(e,t,r){"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function a(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=o?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(a,i,l):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}r.r(t),r.d(t,{_:function(){return a},_interop_require_wildcard:function(){return a}})}},function(e){e.O(0,[774],function(){return e(e.s=46934)}),_N_E=e.O()}]);