@mdn/fred 1.3.2 → 1.4.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 (118) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/build/render.js +5 -2
  3. package/components/baseline-indicator/server.js +3 -3
  4. package/components/compat-table/constants.js +0 -3
  5. package/components/compat-table/element.js +3 -6
  6. package/components/content-feedback/element.js +2 -5
  7. package/components/content-section/server.css +1 -1
  8. package/components/contributor-list/element.css +3 -2
  9. package/components/interactive-example/element.js +1 -1
  10. package/components/menu/constants.js +6 -4
  11. package/components/menu/server.js +142 -89
  12. package/components/placement-bottom/element.js +2 -2
  13. package/components/placement-hp-main/element.js +2 -2
  14. package/components/placement-no/element.js +1 -1
  15. package/components/placement-note/element.js +1 -1
  16. package/components/placement-sidebar/element.js +4 -4
  17. package/components/placement-top/element.js +5 -5
  18. package/components/play-controller/element.js +1 -0
  19. package/components/playground/element.js +2 -1
  20. package/components/recent-contributions/server.js +1 -1
  21. package/components/scrim-inline/element.js +2 -2
  22. package/l10n/en-US.ftl +5 -2
  23. package/out/service-worker.js +1 -1
  24. package/out/service-worker.js.map +1 -1
  25. package/out/static/client/{2308.69b80ae939b202ae.js → 2308.0ccf49974d71523d.js} +6 -6
  26. package/out/static/client/2308.0ccf49974d71523d.js.map +1 -0
  27. package/out/static/client/{2319.daf8150c3dd00fb4.js → 2319.0a40303319ac6a6e.js} +4 -4
  28. package/out/static/client/{2319.daf8150c3dd00fb4.js.map → 2319.0a40303319ac6a6e.js.map} +1 -1
  29. package/out/static/client/{288.ba983e8acda3116e.js → 288.684edb44f92a470c.js} +2 -2
  30. package/out/static/client/288.684edb44f92a470c.js.map +1 -0
  31. package/out/static/client/{3132.ec59f4619872c415.js → 3132.5ae6f61e3998aef1.js} +6 -6
  32. package/out/static/client/{3132.ec59f4619872c415.js.map → 3132.5ae6f61e3998aef1.js.map} +1 -1
  33. package/out/static/client/{3733.60667669ab613e1f.js → 3733.94bd76664194890b.js} +5 -5
  34. package/out/static/client/{3733.60667669ab613e1f.js.map → 3733.94bd76664194890b.js.map} +1 -1
  35. package/out/static/client/{451.cd85e2808f388a00.js → 451.fb2679190b3266e1.js} +2 -2
  36. package/out/static/client/{451.cd85e2808f388a00.js.map → 451.fb2679190b3266e1.js.map} +1 -1
  37. package/out/static/client/{603.8cdd963a9e248a75.js → 603.8670965b0722be3a.js} +5 -5
  38. package/out/static/client/603.8670965b0722be3a.js.map +1 -0
  39. package/out/static/client/{6040.80c6f96d0152ac99.js → 6040.13e672aff6757a47.js} +2 -2
  40. package/out/static/client/{6040.80c6f96d0152ac99.js.map → 6040.13e672aff6757a47.js.map} +1 -1
  41. package/out/static/client/{6536.faff8f026d145aad.js → 6536.ecdcc4458cbd0504.js} +2 -2
  42. package/out/static/client/6536.ecdcc4458cbd0504.js.map +1 -0
  43. package/out/static/client/{8036.9065b84aac240378.js → 8036.6e177b49bfa9b7c4.js} +3 -3
  44. package/out/static/client/{8036.9065b84aac240378.js.map → 8036.6e177b49bfa9b7c4.js.map} +1 -1
  45. package/out/static/client/{8607.266d488ae06c2279.js → 8607.464a88660a040f97.js} +4 -4
  46. package/out/static/client/{8607.266d488ae06c2279.js.map → 8607.464a88660a040f97.js.map} +1 -1
  47. package/out/static/client/{8797.46790b4359b5d1cb.js → 8797.f5880b5ee2659039.js} +2 -2
  48. package/out/static/client/{8797.46790b4359b5d1cb.js.map → 8797.f5880b5ee2659039.js.map} +1 -1
  49. package/out/static/client/{9784.214845ec6d3b77e3.js → 9784.3f8ca449f7d36818.js} +5 -5
  50. package/out/static/client/9784.3f8ca449f7d36818.js.map +1 -0
  51. package/out/static/client/{index.b9d9ebb034538241.js → index.881056601848b5c3.js} +15 -12
  52. package/out/static/client/{index.b9d9ebb034538241.js.map → index.881056601848b5c3.js.map} +1 -1
  53. package/out/static/client/{runtime.cc9114c9e108157f.js → runtime.63305f0549b94aae.js} +2 -2
  54. package/out/static/client/{runtime.cc9114c9e108157f.js.map → runtime.63305f0549b94aae.js.map} +1 -1
  55. package/out/static/client/stats.json +136 -136
  56. package/out/static/client/{styles-content-section.e0bbadd0c4bc857d.css → styles-content-section.2f0727a030110fc9.css} +2 -2
  57. package/out/static/client/{styles-content-section.e0bbadd0c4bc857d.css.map → styles-content-section.2f0727a030110fc9.css.map} +1 -1
  58. package/out/static/legacy/{1289.71de08e7375881e1.js → 1289.61e3f0658b3b42f6.js} +2 -2
  59. package/out/static/legacy/{1289.71de08e7375881e1.js.map → 1289.61e3f0658b3b42f6.js.map} +1 -1
  60. package/out/static/legacy/{2090.29b77e88722868ff.js → 2090.5996133ea26ddd0a.js} +2 -2
  61. package/out/static/legacy/{2090.29b77e88722868ff.js.map → 2090.5996133ea26ddd0a.js.map} +1 -1
  62. package/out/static/legacy/2235.b99812e73c08ee51.js +2 -0
  63. package/out/static/legacy/{2235.c0e6904b64ea18fe.js.map → 2235.b99812e73c08ee51.js.map} +1 -1
  64. package/out/static/legacy/{2465.676e7f0b0f9f9d85.js → 2465.041a63f06f35163c.js} +2 -2
  65. package/out/static/legacy/{2465.676e7f0b0f9f9d85.js.map → 2465.041a63f06f35163c.js.map} +1 -1
  66. package/out/static/legacy/{3172.0c1b9258951929cc.js → 3172.cf1b8a6dcea5d789.js} +2 -2
  67. package/out/static/legacy/{3172.0c1b9258951929cc.js.map → 3172.cf1b8a6dcea5d789.js.map} +1 -1
  68. package/out/static/legacy/{4968.62ad4db7389e93ad.js → 4968.e73f2795a9ca1639.js} +2 -2
  69. package/out/static/legacy/{4968.62ad4db7389e93ad.js.map → 4968.e73f2795a9ca1639.js.map} +1 -1
  70. package/out/static/legacy/{6364.d8cdb19b92fe6dc1.js → 6364.4c2629a5287ded91.js} +2 -2
  71. package/out/static/legacy/{6364.d8cdb19b92fe6dc1.js.map → 6364.4c2629a5287ded91.js.map} +1 -1
  72. package/out/static/legacy/{652.3c82fa8fa13a87b2.js → 652.d7ab50c73c693880.js} +2 -2
  73. package/out/static/legacy/{652.3c82fa8fa13a87b2.js.map → 652.d7ab50c73c693880.js.map} +1 -1
  74. package/out/static/legacy/7510.faa07a788cad6fc7.js +2 -0
  75. package/out/static/legacy/{7510.d1e3773463ecc314.js.map → 7510.faa07a788cad6fc7.js.map} +1 -1
  76. package/out/static/legacy/{7827.838d9e673c56e936.js → 7827.efd03057dbb6c884.js} +2 -2
  77. package/out/static/legacy/{7827.838d9e673c56e936.js.map → 7827.efd03057dbb6c884.js.map} +1 -1
  78. package/out/static/legacy/8183.26862a110c641391.js +2 -0
  79. package/out/static/legacy/8183.26862a110c641391.js.map +1 -0
  80. package/out/static/legacy/{8333.c00c132d6919165b.js → 8333.e5001734aea048b6.js} +2 -2
  81. package/out/static/legacy/{8333.c00c132d6919165b.js.map → 8333.e5001734aea048b6.js.map} +1 -1
  82. package/out/static/legacy/{8504.157e4a48938fdac7.js → 8504.d5df18204dd2b2ef.js} +2 -2
  83. package/out/static/legacy/{8504.157e4a48938fdac7.js.map → 8504.d5df18204dd2b2ef.js.map} +1 -1
  84. package/out/static/legacy/8856.0efcde0ace698d4a.js.map +1 -1
  85. package/out/static/legacy/{9221.64e46eedebf47df8.js → 9221.3cee7be6339f4234.js} +3 -3
  86. package/out/static/legacy/{9221.64e46eedebf47df8.js.map → 9221.3cee7be6339f4234.js.map} +1 -1
  87. package/out/static/legacy/asset-manifest.json +20 -20
  88. package/out/static/legacy/{index.e4ab469094607d20.html → index.17917fe951b4bbfe.html} +1 -1
  89. package/out/static/legacy/index.81f776c8a95b5c6c.js +6 -0
  90. package/out/static/legacy/{index.3504df1c7b6a1b29.js.LICENSE.txt → index.81f776c8a95b5c6c.js.LICENSE.txt} +1 -1
  91. package/out/static/legacy/index.81f776c8a95b5c6c.js.map +1 -0
  92. package/out/static/legacy/stats.json +20 -20
  93. package/out/static/legacy/yari.255b3bc6ef8a8b24.js +7 -0
  94. package/out/static/legacy/{yari.7a85003b4add8414.js.LICENSE.txt → yari.255b3bc6ef8a8b24.js.LICENSE.txt} +1 -1
  95. package/out/static/legacy/yari.255b3bc6ef8a8b24.js.map +1 -0
  96. package/out/static/ssr/index.js +153 -161
  97. package/out/static/ssr/index.js.map +1 -1
  98. package/out/static/ssr/stats.json +4 -4
  99. package/package.json +14 -14
  100. package/utils/glean.js +3 -8
  101. package/out/static/client/2308.69b80ae939b202ae.js.map +0 -1
  102. package/out/static/client/288.ba983e8acda3116e.js.map +0 -1
  103. package/out/static/client/603.8cdd963a9e248a75.js.map +0 -1
  104. package/out/static/client/6536.faff8f026d145aad.js.map +0 -1
  105. package/out/static/client/9784.214845ec6d3b77e3.js.map +0 -1
  106. package/out/static/legacy/2235.c0e6904b64ea18fe.js +0 -2
  107. package/out/static/legacy/7510.d1e3773463ecc314.js +0 -2
  108. package/out/static/legacy/8183.d3c84d03c477eac6.js +0 -2
  109. package/out/static/legacy/8183.d3c84d03c477eac6.js.map +0 -1
  110. package/out/static/legacy/index.3504df1c7b6a1b29.js +0 -6
  111. package/out/static/legacy/index.3504df1c7b6a1b29.js.map +0 -1
  112. package/out/static/legacy/yari.7a85003b4add8414.js +0 -7
  113. package/out/static/legacy/yari.7a85003b4add8414.js.map +0 -1
  114. /package/out/static/client/{2319.daf8150c3dd00fb4.js.LICENSE.txt → 2319.0a40303319ac6a6e.js.LICENSE.txt} +0 -0
  115. /package/out/static/client/{603.8cdd963a9e248a75.js.LICENSE.txt → 603.8670965b0722be3a.js.LICENSE.txt} +0 -0
  116. /package/out/static/client/{9784.214845ec6d3b77e3.js.LICENSE.txt → 9784.3f8ca449f7d36818.js.LICENSE.txt} +0 -0
  117. /package/out/static/client/{index.b9d9ebb034538241.js.LICENSE.txt → index.881056601848b5c3.js.LICENSE.txt} +0 -0
  118. /package/out/static/legacy/{9221.64e46eedebf47df8.js.LICENSE.txt → 9221.3cee7be6339f4234.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- export const __webpack_id__="7510";export const __webpack_ids__=["7510"];export const __webpack_modules__={68933:function(e,t,n){n.r(t),n.d(t,{default:()=>el});var r=n(96540),a=n(60274),l=n(18761),o=n(65318),i=n(17047),c=n(74353),u=n.n(c),s=n(6279),m=n.n(s),f=n(8574),d=n(23425);function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function E(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,a)}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}u().extend(m());var g="translations-dashboard-differences";function v(e,t){try{var n=JSON.parse(localStorage.getItem(g)||"{}");n[e]=Object.assign({},n[e]||{},t),localStorage.setItem(g,JSON.stringify(n))}catch(e){console.warn("Unable to save to localStorage",e)}}function y(){var e=(0,d.Ym)(),t=h((0,a.ok)(),1)[0],n=(0,a.Zp)(),o=h(r.useState(null),2),i=o[0],c=o[1];r.useEffect(function(){"en-us"===e.toLowerCase()&&n("/".concat(e,"/_translations"))},[e,n]),r.useEffect(function(){var t="All translations";"en-us"!==e.toLowerCase()&&(t+=" for ".concat(e)),i&&(t="(".concat(i.counts.found.toLocaleString()," found) ").concat(t)),document.title=t},[i,e]);var u=(0,l.Ay)("en-us"!==e.toLowerCase()?"/_translations/differences/?locale=".concat(e):null,function(e){var t;return(t=function(){var t,n,r,a;return function(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=i(0),o.throw=i(1),o.return=i(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function i(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){l.label=u[1];break}if(6===u[0]&&l.label<a[1]){l.label=a[1],a=u;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(u);break}a[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:return[4,fetch(e)];case 1:if((t=l.sent()).ok)return[3,3];return n=Error.bind,a=(r="".concat(t.status," (")).concat,[4,t.text()];case 2:throw new(n.apply(Error,[void 0,a.apply(r,[l.sent(),")"])]));case 3:if(!(t.headers.get("content-type")||"").includes("application/json"))throw Error("Response is not JSON (".concat(t.headers.get("content-type"),")"));return[2,t.json()]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var l=t.apply(e,n);function o(e){E(l,r,a,o,i,"next",e)}function i(e){E(l,r,a,o,i,"throw",e)}o(void 0)})})()},{revalidateOnFocus:!1}),s=u.data,m=u.error,f=u.isValidating,p=r.useRef();r.useEffect(function(){e&&(s?s.counts.cacheMisses>0&&s.counts.cacheMisses===s.counts.total&&p.current&&v(e,{lastLoadTime:new Date().getTime()-p.current.getTime()}):p.current=new Date)},[e,s]),r.useEffect(function(){s&&c(s)},[s]);var y=function(e){try{var t=JSON.parse(localStorage.getItem(g)||"{}");if(t)return t[e]}catch(e){console.warn("Unable to retrieve from localStorage",e)}return null}(e),C=(null==y?void 0:y.defaultSort)||"modified",L=(null==y?void 0:y.defaultSortReverse)||"false",O=t.get("sort")||C,D=JSON.parse(t.get("sortReverse")||L);return(r.useEffect(function(){v(e,Object.assign({},y,{defaultSort:O,defaultSortReverse:D}))},[e,O,D,y]),"en-us"===e.toLowerCase())?null:r.createElement(b,null,i&&!m&&f&&r.createElement("p",{style:{float:"right"}},"Reloading..."),!s&&!m&&!i&&r.createElement(N,{estimate:y&&y.lastLoadTime||3e4}),i&&r.createElement("p",{style:{textAlign:"right"}},"Go to"," ",r.createElement(a.N_,{to:"/".concat(e,"/_translations/missing")},"Missing translations for ",r.createElement("b",null,e))),m&&r.createElement(w,{error:m}),i&&r.createElement("div",{className:"filter-documents"},r.createElement(k,null),r.createElement(I,{locale:e,counts:i.counts,documents:i.documents,sort:O,sortReverse:D})),s&&r.createElement(S,{times:s.times}))}function b(e){var t=e.children;return r.createElement(i.K,{className:"all-translations",standalone:!0},t)}function w(e){var t=e.error;return r.createElement("div",{className:"error-message search-error"},r.createElement("h3",null,"Search error"),r.createElement("pre",null,t.toString()))}function S(e){var t,n=e.times;return r.createElement("div",{className:"search-times"},r.createElement("p",null,"Time to find all documents ",(t=n.took)>1e3?"".concat((t/1e3).toFixed(1)," seconds"):"".concat(Math.trunc(t)," milliseconds")))}function N(e){var t=e.estimate,n=new Date,a=h(r.useState(new Date(n.getTime()+t)),1)[0],l=h(r.useState(0),2)[1];r.useEffect(function(){var e=setInterval(function(){l(function(e){return e+1})},1e3);return function(){return clearInterval(e)}},[]);var o=a.getTime()-n.getTime(),i=new Date().getTime()-n.getTime(),c=100*i/o;return r.createElement("div",{className:"loading"},r.createElement("progress",{id:"progress",max:"100",value:c,style:{margin:20}},c,"%"),r.createElement("br",null),r.createElement("small",null,"Estimated time to finish: ",((o-i)/1e3).toFixed(0),"s"," ",i>o?r.createElement("span",{"aria-label":"weird",role:"img"},"\uD83D\uDE43"):null))}function k(){var e=h((0,a.ok)(),2),t=e[0],n=e[1],l=h(r.useState(t.get("title")||""),2),o=l[0],i=l[1],c=h(r.useState(t.get("url")||""),2),u=c[0],s=c[1],m=h(r.useState(t.get("differences")||""),2),f=m[0],d=m[1];function p(){for(var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=(0,a.PI)(t),l=0,i=[["url",u],["title",o],["differences",f]];l<i.length;l++){var c=h(i[l],2),s=c[0],m=c[1];!e&&m?r.set(s,m):r.delete(s)}r.delete("page"),n(r)}return r.createElement("div",{className:"filters"},r.createElement("h3",null,"Filters"),r.createElement("form",{onSubmit:function(e){e.preventDefault(),p()}},r.createElement("div",null,r.createElement("h4",null,"Document"),r.createElement("input",{type:"search",placeholder:"Filter by document URI",value:u,onChange:function(e){s(e.target.value)},onBlur:function(){return p()}}),r.createElement("input",{type:"search",placeholder:"Filter by document title",value:o,onChange:function(e){i(e.target.value)},onBlur:function(){return p()}})),r.createElement("div",null,r.createElement("h4",null,"Differences"),r.createElement("input",{type:"text",placeholder:"E.g. >0 or >=5",value:f,onChange:function(e){d(e.target.value)},onBlur:function(){return p()}})),r.createElement("div",null,r.createElement("h4",null,"\xa0"),r.createElement("button",{type:"submit"},"Filter now")," ",(u||o)&&r.createElement("button",{type:"button",onClick:function(){s(""),i(""),d(""),p(!0)}},"Reset filters"))))}function I(e){var t=e.locale,n=e.counts,l=e.documents,o=e.sort,i=e.sortReverse,c=h((0,a.ok)(),2),u=c[0],s=c[1],m=parseInt(u.get("page")||"1",10),d=parseInt(u.get("pageSize")||"20",10),p=u.get("title")||"",E=u.get("url")||"",g=u.get("differences")||"",v=function(e){function t(e){if(!e)throw Error("Can't be empty");var t=parseInt(e,10);if(isNaN(t))throw Error("'".concat(e,"' not a valid number"));return t}try{if(e.startsWith(">="))return{operation:"gte",value:t(e.replace(">=",""))};if(e.startsWith(">"))return{operation:"gt",value:t(e.replace(">",""))};if(e.startsWith("<="))return{operation:"lte",value:t(e.replace("<=",""))};else if(e.startsWith("<"))return{operation:"lt",value:t(e.replace("<",""))};else if(e.startsWith("==")||e.startsWith("="))return{operation:"eq",value:t(e.replace(/=/g,""))};else if(e)return{operation:"eq",value:t(e)};else return null}catch(e){return console.warn(e),null}}(g);function y(e){var t=e.id,n=e.title;return r.createElement("th",{onClick:function(){o===t?s((0,a.PI)({sort:t,sortReverse:JSON.stringify(!i)})):s((0,a.PI)({sort:t}))},className:"sortable"},n," ",o===t?i?"↓":"↑":null)}var b=l.filter(function(e){return(!p||!!e.title.toLowerCase().includes(p.toLowerCase()))&&(!E||!!e.mdn_url.toLowerCase().includes(E.toLowerCase()))&&(!v||!!function(e,t){if("eq"===t.operation){if(e!==t.value)return!1}else if("gt"===t.operation){if(!(e>t.value))return!1}else if("gte"===t.operation){if(!(e>=t.value))return!1}else if("lt"===t.operation){if(!(e<t.value))return!1}else if("lte"===t.operation){if(!(e<=t.value))return!1}else throw Error("Not implemented operation '".concat(t.operation,"'"));return!0}(e.differences.total,v))}).sort(function(e,t){var n=i?-1:1;if("modified"===o){var r=new Date(e.edits.modified);return n*(new Date(t.edits.modified).getTime()-r.getTime())}if("popularity"===o){var a=e.popularity.value;return n*(t.popularity.value-a)}if("differences"===o){var l=e.differences.total;return n*(t.differences.total-l)}if("title"===o){var c=e.title,u=t.title;return n*c.localeCompare(u)}if("mdn_url"===o){var s=e.mdn_url,m=t.mdn_url;return n*s.localeCompare(m)}else if("sourceCommit"===o){var f,d,p=null!=(f=e.edits.sourceCommitsBehindCount)?f:-1;return n*((null!=(d=t.edits.sourceCommitsBehindCount)?d:-1)-p)}else throw Error("Unrecognized sort '".concat(o,"'"))}),w=Math.ceil(n.found/d);return r.createElement("div",{className:"documents"},r.createElement("h3",null,"Documents with differences found (",b.length.toLocaleString(),")"," ",w>1&&r.createElement("span",{className:"page"},"page ",m,"/",w)),r.createElement("h4",{className:"subheader"},n.total.toLocaleString()," total documents found (",t,")"),g&&!v&&r.createElement("div",{className:"error-message"},r.createElement("h3",null,"Invalid differences filter"),r.createElement("p",null,"The ",r.createElement("i",null,"differences")," filter can't be parsed.",r.createElement("br",null),r.createElement("code",null,g))),r.createElement("table",null,r.createElement("thead",null,r.createElement("tr",null,r.createElement(y,{id:"title",title:"Document"}),r.createElement(y,{id:"popularity",title:"Popularity"}),r.createElement(y,{id:"modified",title:"Last modified"}),r.createElement(y,{id:"differences",title:"Differences"}),r.createElement(y,{id:"sourceCommit",title:"Source Commit"}))),r.createElement("tbody",null,b.slice((m-1)*d,m*d).map(function(e){return r.createElement("tr",{key:e.mdn_url},r.createElement("td",null,r.createElement("span",{className:"document-title-preview"},p?r.createElement(O,{text:e.title,highlight:p}):e.title),r.createElement("br",null),r.createElement(a.N_,{to:"".concat(e.mdn_url,"#_flaws"),title:e.title,target:"_blank"},r.createElement(D,{uri:e.mdn_url,filterURL:E}))),r.createElement("td",{title:e.popularity.ranking?"Meaning there are ".concat(e.popularity.ranking-1," more popular pages than this"):"Meaning it has no ranking. Most likely a very rare (or new) document"},e.popularity.ranking?"".concat(_(e.popularity.ranking)):"n/a"," ",r.createElement("small",{title:"For the parent document"},"(",e.popularity.parentRanking?"".concat(_(e.popularity.parentRanking)):"n/a",")")),r.createElement("td",null,r.createElement(L,{edits:e.edits})),r.createElement("td",null,e.differences.total.toLocaleString()),r.createElement("td",null,r.createElement(C,{sourceCommitsBehindCount:e.edits.sourceCommitsBehindCount,sourceCommitURL:e.edits.sourceCommitURL})))}))),r.createElement(f.m,{last:w}))}function C(e){var t=e.sourceCommitsBehindCount,n=e.sourceCommitURL;return n&&(t||0===t)?r.createElement("a",{href:n},"".concat(0===t?"\uD83D\uDFE2":t<10?"\uD83D\uDFE0":"\uD83D\uDD34"," ").concat(t," commits behind")):r.createElement(r.Fragment,null,"Metadata does not exist.")}function L(e){var t=e.edits,n=u()(t.modified),a=u()(t.parentModified);return r.createElement("span",{className:"last_modified ".concat(a<n?"ahead":"behind")},r.createElement("a",{href:t.commitURL,target:"_blank",rel:"noreferrer"},r.createElement("time",{dateTime:n.toISOString(),title:n.toISOString()},n.fromNow())),r.createElement("br",null),r.createElement("a",{href:t.parentCommitURL,target:"_blank",rel:"noreferrer"},r.createElement("small",null,r.createElement("time",{dateTime:a.toISOString(),title:a.toISOString()},"en-US ",a.fromNow()))))}function O(e){var t=e.text,n=e.highlight,a=t.split(RegExp("(".concat(n,")"),"gi"));return r.createElement("span",null," ",a.map(function(e,t){return r.createElement("span",{key:t,style:e.toLowerCase()===n.toLowerCase()?{fontWeight:"bold"}:{}},e)})," ")}function D(e){var t=e.uri,n=e.filterURL,a=h(t.split(/\/docs\//,2),2),l=a[0],o=a[1];return r.createElement(r.Fragment,null,r.createElement("span",{className:"url-prefix"},l,"/docs/"),r.createElement("span",{className:"url-slug"},n?r.createElement(O,{text:o,highlight:n}):o))}function _(e){var t=["th","st","nd","rd"],n=e%100;return e.toLocaleString()+(t[(n-20)%10]||t[n]||t[0])}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function R(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,a)}function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return x(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return x(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}u().extend(m());var j="translations-dashboard-missing";function T(e,t){try{var n=JSON.parse(localStorage.getItem(j)||"{}");n[e]=Object.assign({},n[e]||{},t),localStorage.setItem(j,JSON.stringify(n))}catch(e){console.warn("Unable to save to localStorage",e)}}function U(){var e=(0,d.Ym)(),t=P((0,a.ok)(),1)[0],n=(0,a.Zp)(),o=P(r.useState(null),2),i=o[0],c=o[1];r.useEffect(function(){"en-us"===e.toLowerCase()&&n("/".concat(e,"/_translations"))},[e,n]),r.useEffect(function(){var t="Missing translations";"en-us"!==e.toLowerCase()&&(t+=" for ".concat(e)),i&&(t="(".concat(i.counts.missing.toLocaleString()," found) ").concat(t)),document.title=t},[i,e]);var u=(0,l.Ay)("en-us"!==e.toLowerCase()?"/_translations/missing/?locale=".concat(e):null,function(e){var t;return(t=function(){var t,n,r,a;return function(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=i(0),o.throw=i(1),o.return=i(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function i(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){l.label=u[1];break}if(6===u[0]&&l.label<a[1]){l.label=a[1],a=u;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(u);break}a[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:return[4,fetch(e)];case 1:if((t=l.sent()).ok)return[3,3];return n=Error.bind,a=(r="".concat(t.status," (")).concat,[4,t.text()];case 2:throw new(n.apply(Error,[void 0,a.apply(r,[l.sent(),")"])]));case 3:if(!(t.headers.get("content-type")||"").includes("application/json"))throw Error("Response is not JSON (".concat(t.headers.get("content-type"),")"));return[2,t.json()]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var l=t.apply(e,n);function o(e){R(l,r,a,o,i,"next",e)}function i(e){R(l,r,a,o,i,"throw",e)}o(void 0)})})()},{revalidateOnFocus:!1}),s=u.data,m=u.error,f=u.isValidating,p=r.useRef();r.useEffect(function(){e&&(s?s.counts.cacheMisses>0&&s.counts.cacheMisses===s.counts.total&&p.current&&T(e,{lastLoadTime:new Date().getTime()-p.current.getTime()}):p.current=new Date)},[e,s]),r.useEffect(function(){s&&c(s)},[s]);var E=function(e){try{var t=JSON.parse(localStorage.getItem(j)||"{}");if(t)return t[e]}catch(e){console.warn("Unable to retrieve from localStorage",e)}return null}(e),h=(null==E?void 0:E.defaultSort)||"popularity",g=(null==E?void 0:E.defaultSortReverse)||"false",v=t.get("sort")||h,y=JSON.parse(t.get("sortReverse")||g);return(r.useEffect(function(){T(e,Object.assign({},E,{defaultSort:v,defaultSortReverse:y}))},[e,v,y,E]),"en-us"===e.toLowerCase())?null:r.createElement(M,null,i&&!m&&f&&r.createElement("p",{style:{float:"right"}},"Reloading..."),!s&&!m&&!i&&r.createElement(J,{estimate:E&&E.lastLoadTime||3e4}),i&&r.createElement("p",{style:{textAlign:"right"}},"Go to"," ",r.createElement(a.N_,{to:"/".concat(e,"/_translations/differences")},"Translation differences for ",r.createElement("b",null,e))),m&&r.createElement(A,{error:m}),i&&r.createElement("div",{className:"filter-documents"},r.createElement(K,null),r.createElement(G,{counts:i.counts,documents:i.missingDocuments,sort:v,sortReverse:y})),s&&r.createElement(F,{times:s.times}))}function M(e){var t=e.children;return r.createElement(i.K,{className:"missing-translations",standalone:!0},t)}function A(e){var t=e.error;return r.createElement("div",{className:"error-message search-error"},r.createElement("h3",null,"Search error"),r.createElement("pre",null,t.toString()))}function F(e){var t,n=e.times;return r.createElement("div",{className:"search-times"},r.createElement("p",null,"Time to find all documents ",(t=n.took)>1e3?"".concat((t/1e3).toFixed(1)," seconds"):"".concat(Math.trunc(t)," milliseconds")))}function J(e){var t=e.estimate,n=new Date,a=P(r.useState(new Date(n.getTime()+t)),1)[0],l=P(r.useState(0),2)[1];r.useEffect(function(){var e=setInterval(function(){l(function(e){return e+1})},1e3);return function(){return clearInterval(e)}},[]);var o=a.getTime()-n.getTime(),i=new Date().getTime()-n.getTime(),c=100*i/o;return r.createElement("div",{className:"loading"},r.createElement("progress",{id:"progress",max:"100",value:c,style:{margin:20}},c,"%"),r.createElement("br",null),r.createElement("small",null,"Estimated time to finish: ",((o-i)/1e3).toFixed(0),"s"," ",i>o?r.createElement("span",{"aria-label":"weird",role:"img"},"\uD83D\uDE43"):null))}function K(){var e=P((0,a.ok)(),2),t=e[0],n=e[1],l=P(r.useState(t.get("title")||""),2),o=l[0],i=l[1],c=P(r.useState(t.get("url")||""),2),u=c[0],s=c[1];function m(){for(var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=(0,a.PI)(t),l=0,i=[["url",u],["title",o]];l<i.length;l++){var c=P(i[l],2),s=c[0],m=c[1];!e&&m?r.set(s,m):r.delete(s)}r.delete("page"),n(r)}return r.createElement("div",{className:"filters"},r.createElement("h3",null,"Filters"),r.createElement("form",{onSubmit:function(e){e.preventDefault(),m()}},r.createElement("div",null,r.createElement("h4",null,"Document"),r.createElement("input",{type:"search",placeholder:"Filter by document URI",value:u,onChange:function(e){s(e.target.value)},onBlur:function(){return m()}}),r.createElement("input",{type:"search",placeholder:"Filter by document title",value:o,onChange:function(e){i(e.target.value)},onBlur:function(){return m()}})),r.createElement("div",null,r.createElement("h4",null,"\xa0"),r.createElement("button",{type:"submit"},"Filter now")," ",(u||o)&&r.createElement("button",{type:"button",onClick:function(){s(""),i(""),m(!0)}},"Reset filters"))))}function G(e){var t=e.counts,n=e.documents,l=e.sort,o=e.sortReverse,i=P((0,a.ok)(),2),c=i[0],u=i[1],s=parseInt(c.get("page")||"1",10),m=parseInt(c.get("pageSize")||"20",10),d=c.get("title")||"",p=c.get("url")||"",E=function(e){function t(e){if(!e)throw Error("Can't be empty");var t=parseInt(e,10);if(isNaN(t))throw Error("'".concat(e,"' not a valid number"));return t}try{if(e.startsWith(">="))return{operation:"gte",value:t(e.replace(">=",""))};if(e.startsWith(">"))return{operation:"gt",value:t(e.replace(">",""))};if(e.startsWith("<="))return{operation:"lte",value:t(e.replace("<=",""))};else if(e.startsWith("<"))return{operation:"lt",value:t(e.replace("<",""))};else if(e.startsWith("==")||e.startsWith("="))return{operation:"eq",value:t(e.replace(/=/g,""))};else if(e)return{operation:"eq",value:t(e)};else return null}catch(e){return console.warn(e),null}}(c.get("differences")||"");function h(e){var t=e.id,n=e.title;return r.createElement("th",{onClick:function(){l===t?u((0,a.PI)({sort:t,sortReverse:JSON.stringify(!o)})):u((0,a.PI)({sort:t}))},className:"sortable"},n," ",l===t?o?"↓":"↑":null)}var g=n.filter(function(e){return(!d||!!e.title.toLowerCase().includes(d.toLowerCase()))&&(!p||!!e.mdn_url.toLowerCase().includes(p.toLowerCase()))&&(!E||!!function(e,t){if("eq"===t.operation){if(e!==t.value)return!1}else if("gt"===t.operation){if(!(e>t.value))return!1}else if("gte"===t.operation){if(!(e>=t.value))return!1}else if("lt"===t.operation){if(!(e<t.value))return!1}else if("lte"===t.operation){if(!(e<=t.value))return!1}else throw Error("Not implemented operation '".concat(t.operation,"'"));return!0}(e.differences.total,E))}).sort(function(e,t){var n=o?-1:1;if("modified"===l){var r=new Date(e.edits.modified);return n*(new Date(t.edits.modified).getTime()-r.getTime())}if("popularity"===l){var a=e.popularity.value;return n*(t.popularity.value-a)}if("differences"===l){var i=e.differences.total;return n*(t.differences.total-i)}if("title"===l){var c=e.title,u=t.title;return n*c.localeCompare(u)}if("mdn_url"===l){var s=e.mdn_url,m=t.mdn_url;return n*s.localeCompare(m)}else throw Error("Unrecognized sort '".concat(l,"'"))}),v=Math.ceil(t.total/m);return r.createElement("div",{className:"documents"},r.createElement("h3",null,t.missing.toLocaleString()," missing translations (of"," ",t.total.toLocaleString()," possible)"),r.createElement("table",null,r.createElement("thead",null,r.createElement("tr",null,r.createElement(h,{id:"title",title:"Document"}),r.createElement(h,{id:"popularity",title:"Popularity"}),r.createElement(h,{id:"modified",title:"Last modified"}))),r.createElement("tbody",null,g.slice((s-1)*m,s*m).map(function(e){var t,n,l;return r.createElement("tr",{key:e.mdn_url},r.createElement("td",null,r.createElement("span",{className:"document-title-preview"},d?r.createElement(z,{text:e.title,highlight:d}):e.title),r.createElement("br",null),r.createElement(a.N_,{to:"".concat(e.mdn_url,"#_flaws"),title:e.title,target:"_blank"},r.createElement(B,{uri:e.mdn_url,filterURL:p}))),r.createElement("td",{title:e.popularity.ranking?"Meaning there are ".concat(e.popularity.ranking-1," more popular pages than this"):"Meaning it has no ranking. Most likely a very rare (or new) document"},e.popularity.ranking?"".concat((t=e.popularity.ranking,n=["th","st","nd","rd"],l=t%100,t.toLocaleString()+(n[(l-20)%10]||n[l]||n[0]))):"n/a"," "),r.createElement("td",null,r.createElement(W,{edits:e.edits})))}))),r.createElement(f.m,{last:v}))}function W(e){var t=e.edits,n=u()(t.modified);return r.createElement("span",{className:"last_modified"},r.createElement("a",{href:t.commitURL,target:"_blank",rel:"noreferrer"},r.createElement("time",{dateTime:n.toISOString(),title:n.toISOString()},n.fromNow())))}function z(e){var t=e.text,n=e.highlight,a=t.split(RegExp("(".concat(n,")"),"gi"));return r.createElement("span",null," ",a.map(function(e,t){return r.createElement("span",{key:t,style:e.toLowerCase()===n.toLowerCase()?{fontWeight:"bold"}:{}},e)})," ")}function B(e){var t=e.uri,n=e.filterURL,a=P(t.split(/\/docs\//,2),2),l=a[0],o=a[1];return r.createElement(r.Fragment,null,r.createElement("span",{className:"url-prefix"},l,"/docs/"),r.createElement("span",{className:"url-slug"},n?r.createElement(z,{text:o,highlight:n}):o))}var q=n(76793);function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function V(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,a)}function Y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return H(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var $="translations-dashboard-sections";function Z(){var e=(0,d.Ym)(),t=Y((0,a.ok)(),1)[0],n=(0,a.Zp)(),o=Y(r.useState(null),2),i=o[0],c=o[1],u=t.get("section")||"";r.useEffect(function(){"en-us"===e.toLowerCase()&&n("/".concat(e,"/_translations"))},[e,n]),r.useEffect(function(){var t="Translation dashboard ";"en-us"!==e.toLowerCase()&&(t+=" for ".concat(e)),""!==u&&(t+=" - section ".concat(u)),document.title=t},[i,e,u]);var s=(0,l.Ay)("en-us"!==e.toLowerCase()?"/_translations/dashboard/?locale=".concat(e,"&section=").concat(u):null,function(e){var t;return(t=function(){var t,n,r,a;return function(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=i(0),o.throw=i(1),o.return=i(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function i(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){l.label=u[1];break}if(6===u[0]&&l.label<a[1]){l.label=a[1],a=u;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(u);break}a[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:return[4,fetch(e)];case 1:if((t=l.sent()).ok)return[3,3];return n=Error.bind,a=(r="".concat(t.status," (")).concat,[4,t.text()];case 2:throw new(n.apply(Error,[void 0,a.apply(r,[l.sent(),")"])]));case 3:if(!(t.headers.get("content-type")||"").includes("application/json"))throw Error("Response is not JSON (".concat(t.headers.get("content-type"),")"));return[2,t.json()]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var l=t.apply(e,n);function o(e){V(l,r,a,o,i,"next",e)}function i(e){V(l,r,a,o,i,"throw",e)}o(void 0)})})()},{revalidateOnFocus:!1}),m=s.data,f=s.error,p=s.isValidating;r.useEffect(function(){m&&c(m)},[m]);var E=function(e){try{var t=JSON.parse(localStorage.getItem($)||"{}");if(t)return t[e]}catch(e){console.warn("Unable to retrieve from localStorage",e)}return null}(e),h=(null==E?void 0:E.defaultSort)||"url",g=(null==E?void 0:E.defaultSortReverse)||"false",v=t.get("sort")||h,y=JSON.parse(t.get("sortReverse")||g);if(r.useEffect(function(){var t=Object.assign({},E,{defaultSort:v,defaultSortReverse:y});try{var n=JSON.parse(localStorage.getItem($)||"{}");n[e]=Object.assign({},n[e]||{},t),localStorage.setItem($,JSON.stringify(n))}catch(e){console.warn("Unable to save to localStorage",e)}},[e,v,y,E]),"en-us"===e.toLowerCase())return null;var b="/";if(u.split("/").length>2){var w=u.split("/");w.pop(),b=w.join("/")}return r.createElement(Q,null,i&&!f&&p&&r.createElement("p",{style:{float:"right"}},"Reloading..."),!m&&!f&&!i&&r.createElement(ee,null),i&&r.createElement("p",{style:{textAlign:"right"}},"Go to"," ",r.createElement(a.N_,{to:"/".concat(e,"/_translations/differences")},"Translation differences for ",r.createElement("b",null,e))," / ",r.createElement(a.N_,{to:"/".concat(e,"/_translations/missing")},"Missing translations for ",r.createElement("b",null,e))),f&&r.createElement(X,{error:f}),i&&r.createElement("div",null,r.createElement(et,{l10nKPIs:i.l10nKPIs,section:u,parentSection:b}),r.createElement(en,{sections:i.sections,currentSection:u}),r.createElement(er,{documents:i.detailDocuments,sort:v,sortReverse:y,locale:e})))}function Q(e){var t=e.children;return r.createElement("div",{className:"dashboard-section-translations"},r.createElement(i.K,{standalone:!0},t))}function X(e){var t=e.error;return r.createElement("div",{className:"error-message"},r.createElement("h3",null,"Error"),r.createElement("pre",null,t.toString()))}function ee(){return r.createElement("div",null,r.createElement("label",{htmlFor:"progress"},"Loading"),r.createElement("progress",{id:"progress",max:"100",style:{margin:20}}))}function et(e){var t=e.l10nKPIs,n=e.section,a=e.parentSection,l=100*(t.total-t.missing)/t.total,o=l.toFixed(1)+"%",i=100*t.upToDate/t.total,c=i.toFixed(1)+"%";return r.createElement("div",{className:"documents"},r.createElement("h2",null,"Localization dashboard for: ",n||"/"),r.createElement("p",null,"Parent section:"," ",r.createElement("a",{href:"dashboard?section=".concat(a)},a)),r.createElement("h3",null,"Summary"),r.createElement("dl",null,r.createElement("dt",null,"Total number of pages"),r.createElement("dd",null,t.total),r.createElement("dt",null,"Number of untranslated pages"),r.createElement("dd",null,t.missing),r.createElement("dt",null,"Number of outdated pages (older than English in Git) "),r.createElement("dd",null,t.outOfDate),r.createElement("dt",null,"Number of up-to-date pages"),r.createElement("dd",null,t.upToDate),r.createElement("dt",null,r.createElement("label",{htmlFor:"completeness"},"Localization completeness")),r.createElement("dd",null,r.createElement("progress",{id:"completeness",max:"100",value:l},o)," ",o),r.createElement("dt",null,r.createElement("label",{htmlFor:"freshness"},"Localization freshness")),r.createElement("dd",null,r.createElement("progress",{id:"freshness",max:"100",value:i},c)," ",c)))}function en(e){var t=e.sections,n=e.currentSection;return t.length>0?r.createElement("section",{id:"subsection-table"},r.createElement("h3",null,"Subsections"),r.createElement("table",null,r.createElement("thead",null,r.createElement("tr",null,r.createElement("th",null,"Section"),r.createElement("th",null,"Total / Untranslated / Out of date"),r.createElement("th",null,"Completeness"),r.createElement("th",null,"Freshness"))),r.createElement("tbody",null,t.sort(function(e,t){return t.l10nKPIs.total-e.l10nKPIs.total}).map(function(e){var t=100*(e.l10nKPIs.total-e.l10nKPIs.missing)/e.l10nKPIs.total,a=t.toFixed(1)+"%",l=100*e.l10nKPIs.upToDate/e.l10nKPIs.total,o=l.toFixed(1)+"%",i="dashboard?section=%2F"+encodeURIComponent(e.name);return r.createElement("tr",{key:e.name},r.createElement("td",null,r.createElement("a",{href:i},e.name.replace(n.slice(1),"").replace("/",""))),r.createElement("td",null,e.l10nKPIs.total," / ",e.l10nKPIs.missing," /"," ",e.l10nKPIs.outOfDate),r.createElement("td",null,r.createElement("progress",{max:"100",value:t},a)," ",a),r.createElement("td",null,r.createElement("progress",{max:"100",value:l},o)," ",o))})))):null}function er(e){var t=e.documents,n=e.sort,l=e.sortReverse,o=e.locale,i=Y((0,a.ok)(),2),c=i[0],u=i[1],s=c.get("section")||"";function m(e){var t,o=e.id,i=e.title;return e.sortable?r.createElement("th",{className:(t=["sortable"],n===o&&t.push("active"),l&&t.push("reverse"),t.join(" ")),onClick:function(){n===o?u((0,a.PI)({sort:o,sortReverse:JSON.stringify(!l),section:s})):u((0,a.PI)({sort:o,section:s}))}},i," ",r.createElement(q.I,{name:"small-arrow"})):r.createElement("th",null,i)}return t.map(function(e){if(e.info.localeInfo){var t=new Date(e.info.localeInfo.modified),n=new Date(e.info.defaultLocaleInfo.modified),r=t.getTime()-n.getTime();e.info.dateDiff=r}else e.info.dateDiff=1/0;return e}),r.createElement("section",{id:"documents-table"},r.createElement("h3",null,"List of direct subpages"),r.createElement("table",null,r.createElement("thead",null,r.createElement("tr",null,r.createElement(m,{id:"url",title:"Slug",sortable:!0}),r.createElement(m,{id:"enMDNURL",title:"English doc on MDN"}),r.createElement(m,{id:"enCommitGHURL",title:"English doc commit on GitHub"}),r.createElement(m,{id:"localURL",title:"Local localized doc"}),r.createElement(m,{id:"localMDNURL",title:"Localized doc on MDN"}),r.createElement(m,{id:"localCommitGHURL",title:"Localized doc commit on GitHub"}),r.createElement(m,{id:"popularityEn",title:"Popularity rank (en-US)",sortable:!0}),r.createElement(m,{id:"popularityLocale",title:"Popularity rank (".concat(o,")"),sortable:!0}),r.createElement(m,{id:"dateDiff",title:"Date delta",sortable:!0}))),r.createElement("tbody",null,t.sort(function(e,t){var r,a,o=l?-1:1;if("dateDiff"===n){var i=e.info.dateDiff||1/0;return o*((t.info.dateDiff||1/0)-i)}if("popularityLocale"===n)return o*(((null==(r=e.info.localePopularity)?void 0:r.ranking)||1/0)-((null==(a=t.info.localePopularity)?void 0:a.ranking)||1/0));if("popularityEn"===n)return o*((e.info.popularity.ranking||1/0)-(t.info.popularity.ranking||1/0));if("url"===n){var c=e.url,u=t.url;return o*c.localeCompare(u)}throw Error("Unrecognized sort '".concat(n,"'"))}).map(function(e){var t="https://developer.mozilla.org"+e.url,n=e.info.defaultLocaleInfo.commitURL.split("commit/")[1].substring(0,7),a=null==(i=e.info.localeInfo)?void 0:i.commitURL.split("commit/")[1].substring(0,7),l="Untranslated";if(e.info.localeInfo){var i,c,u=null!=(c=e.info.dateDiff)?c:1/0;if(l="Out of date",u>0)l="Fresher than English";else if(u>-26784e5){var s=Math.round(-u/864e5);l=s+" day"+(s>1?"s":"")}else{var m=Math.round(-u/2592e6);l=m+" month"+(m>1?"s":"")}}return r.createElement("tr",{key:e.url},r.createElement("td",null,r.createElement("a",{href:e.url},e.url)),r.createElement("td",null,r.createElement("a",{href:t},"English current MDN page")),r.createElement("td",null,r.createElement("a",{href:e.info.defaultLocaleInfo.commitURL},"GitHub link for ",r.createElement("code",null,n))),r.createElement("td",null,e.info.localeInfo&&r.createElement("a",{href:e.url.replace("/en-US/","/"+o+"/")},"Local ",o," page")),r.createElement("td",null,e.info.localeInfo&&r.createElement("a",{href:t.replace("/en-US/","/"+o+"/")},"Locale current MDN page")),r.createElement("td",null,e.info.localeInfo&&r.createElement("a",{href:e.info.localeInfo.commitURL},"GitHub link for ",r.createElement("code",null,a))),r.createElement("td",null,e.info.popularity.ranking),r.createElement("td",null,e.info.localePopularity&&e.info.localePopularity.ranking),r.createElement("td",null,l))}))))}function ea(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,a)}function el(){return r.createElement(ei,null,r.createElement(a.BV,null,r.createElement(a.qh,{path:"/",element:r.createElement(eo,null)}),r.createElement(a.qh,{path:"differences",element:r.createElement(y,null)}),r.createElement(a.qh,{path:"missing",element:r.createElement(U,null)}),r.createElement(a.qh,{path:"dashboard",element:r.createElement(Z,null)})))}function eo(){var e=(0,d.Ym)();r.useEffect(function(){var t="All translations";"en-us"!==e.toLowerCase()&&(t+=" for ".concat(e)),document.title=t},[e]);var t=(0,l.Ay)("en-us"===e.toLowerCase()?"/_translations/":null,function(e){var t;return(t=function(){var t,n,r,a;return function(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=i(0),o.throw=i(1),o.return=i(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function i(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){l.label=u[1];break}if(6===u[0]&&l.label<a[1]){l.label=a[1],a=u;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(u);break}a[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:return[4,fetch(e)];case 1:if((t=l.sent()).ok)return[3,3];return n=Error.bind,a=(r="".concat(t.status," (")).concat,[4,t.text()];case 2:throw new(n.apply(Error,[void 0,a.apply(r,[l.sent(),")"])]));case 3:return[2,t.json()]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var l=t.apply(e,n);function o(e){ea(l,r,a,o,i,"next",e)}function i(e){ea(l,r,a,o,i,"throw",e)}o(void 0)})})()}),n=t.data,i=t.error;return"en-us"===e.toLowerCase()?r.createElement(r.Fragment,null,!n&&!i&&r.createElement(o.R,null),i&&r.createElement("div",{className:"error-message"},r.createElement("h3",null,"Server error"),r.createElement("pre",null,i.toString())),n&&r.createElement(ec,{locales:n.locales})):r.createElement("div",{className:"translation-choices"},r.createElement(a.N_,{to:"/".concat(e,"/_translations/differences"),className:"button"},"Translation differences")," ",r.createElement(a.N_,{to:"/".concat(e,"/_translations/missing"),className:"button"},"Missing translations")," ",r.createElement(a.N_,{to:"/".concat(e,"/_translations/dashboard"),className:"button"},"Dashboard"))}function ei(e){var t=e.children;return r.createElement(i.K,{className:"all-translations",standalone:!0},t)}function ec(e){var t=e.locales;return r.createElement("div",null,r.createElement("h2",null,"Select locale"),r.createElement("table",null,r.createElement("tbody",null,t.map(function(e){return r.createElement("tr",{key:e.locale},r.createElement("td",null,r.createElement("b",null,e.language.English," (",e.locale,")")," ",!e.isActive&&r.createElement("small",null,"not active")),r.createElement("td",null,e.count.toLocaleString()," documents"),r.createElement("td",null,r.createElement(a.N_,{to:"/".concat(e.locale,"/_translations/differences")},"Translation differences")," "),r.createElement("td",null,r.createElement(a.N_,{to:"/".concat(e.locale,"/_translations/missing")},"Missing translations")," "),r.createElement("td",null,r.createElement(a.N_,{to:"/".concat(e.locale,"/_translations/dashboard")},"Dashboard")," "))}))))}},8574:function(e,t,n){n.d(t,{m:()=>m});var r=n(60274),a=n(45571),l=n(96540);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var u="page";function s(e){var t=e.page,n=e.children,a=e.onClick,o=e.disabled,s=c((0,r.ok)(),2),m=s[0],f=s[1];return l.createElement(r.N_,{to:{},className:o?"disabled":"",onClick:function(e){if(e.preventDefault(),!o){var n,r;a&&a(t),f((n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){i(e,t,n[t])})}return e}({},Object.fromEntries(m.entries())),r=null!=(r=i({},u,t.toString()))?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n)),window.setTimeout(function(){return document.documentElement.scrollTo()})}}},n||t)}function m(e){var t=e.first,n=void 0===t?1:t,o=e.last,i=e.endPadding,m=void 0===i?2:i,f=e.middlePadding,d=void 0===f?2:f,p=e.onChange,E=parseInt(c((0,r.ok)(),1)[0].get(u)||"",10)||n,h=Math.max(E-d,n),g=Math.min(h+2*d+1,o+1),v=(0,a.y1)(n,Math.min(m,h)),y=(0,a.y1)(h,g),b=(0,a.y1)(Math.max(o+1-m,g),o+1),w=function(e){p&&p(e,E)};return n===o?l.createElement(l.Fragment,null):l.createElement("div",{className:"pagination"},l.createElement(s,{page:E-1,onClick:w,disabled:E===n},"← Previous"),v.map(function(e){return l.createElement(s,{key:e,page:e,onClick:w})}),!!v.length&&v[v.length-1]+1!==y[0]&&"…",y.map(function(e){return E===e?l.createElement("span",{className:"current-page",key:e},e):l.createElement(s,{key:e,page:e,onClick:w})}),!!b.length&&y[y.length-1]+1!==b[0]&&"…",b.map(function(e){return l.createElement(s,{key:e,page:e,onClick:w})}),l.createElement(s,{page:E+1,onClick:w,disabled:E===o},"Next →"))}}};
2
- //# sourceMappingURL=7510.d1e3773463ecc314.js.map
@@ -1,2 +0,0 @@
1
- export const __webpack_id__="8183";export const __webpack_ids__=["8183"];export const __webpack_modules__={74353:function(e){e.exports=function(){"use strict";var e="millisecond",t="second",n="minute",r="hour",a="week",l="month",o="quarter",c="year",i="date",u="Invalid Date",s=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},f="en",h={};h[f]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}};var p="$isDayjsObject",E=function(e){return e instanceof g||!(!e||!e[p])},y=function e(t,n,r){var a;if(!t)return f;if("string"==typeof t){var l=t.toLowerCase();h[l]&&(a=l),n&&(h[l]=n,a=l);var o=t.split("-");if(!a&&o.length>1)return e(o[0])}else{var c=t.name;h[c]=t,a=c}return!r&&a&&(f=a),a||!r&&f},v=function(e,t){if(E(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new g(n)},b={s:m,z:function(e){var t=-e.utcOffset(),n=Math.abs(t);return(t<=0?"+":"-")+m(Math.floor(n/60),2,"0")+":"+m(n%60,2,"0")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),a=t.clone().add(r,l),o=n-a<0,c=t.clone().add(r+(o?-1:1),l);return+(-(r+(n-a)/(o?a-c:c-a))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(u){return({M:l,y:c,w:a,d:"day",D:i,h:r,m:n,s:t,ms:e,Q:o})[u]||String(u||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};b.l=y,b.i=E,b.w=function(e,t){return v(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var g=function(){function m(e){this.$L=y(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[p]=!0}var f=m.prototype;return f.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(b.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(s);if(r){var a=r[2]-1||0,l=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,l)):new Date(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,l)}}return new Date(t)}(e),this.init()},f.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},f.$utils=function(){return b},f.isValid=function(){return this.$d.toString()!==u},f.isSame=function(e,t){var n=v(e);return this.startOf(t)<=n&&n<=this.endOf(t)},f.isAfter=function(e,t){return v(e)<this.startOf(t)},f.isBefore=function(e,t){return this.endOf(t)<v(e)},f.$g=function(e,t,n){return b.u(e)?this[t]:this.set(n,e)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(e,o){var u=this,s=!!b.u(o)||o,d=b.p(e),m=function(e,t){var n=b.w(u.$u?Date.UTC(u.$y,t,e):new Date(u.$y,t,e),u);return s?n:n.endOf("day")},f=function(e,t){return b.w(u.toDate()[e].apply(u.toDate("s"),(s?[0,0,0,0]:[23,59,59,999]).slice(t)),u)},h=this.$W,p=this.$M,E=this.$D,y="set"+(this.$u?"UTC":"");switch(d){case c:return s?m(1,0):m(31,11);case l:return s?m(1,p):m(0,p+1);case a:var v=this.$locale().weekStart||0,g=(h<v?h+7:h)-v;return m(s?E-g:E+(6-g),p);case"day":case i:return f(y+"Hours",0);case r:return f(y+"Minutes",1);case n:return f(y+"Seconds",2);case t:return f(y+"Milliseconds",3);default:return this.clone()}},f.endOf=function(e){return this.startOf(e,!1)},f.$set=function(a,o){var u,s=b.p(a),d="set"+(this.$u?"UTC":""),m=((u={}).day=d+"Date",u[i]=d+"Date",u[l]=d+"Month",u[c]=d+"FullYear",u[r]=d+"Hours",u[n]=d+"Minutes",u[t]=d+"Seconds",u[e]=d+"Milliseconds",u)[s],f="day"===s?this.$D+(o-this.$W):o;if(s===l||s===c){var h=this.clone().set(i,1);h.$d[m](f),h.init(),this.$d=h.set(i,Math.min(this.$D,h.daysInMonth())).$d}else m&&this.$d[m](f);return this.init(),this},f.set=function(e,t){return this.clone().$set(e,t)},f.get=function(e){return this[b.p(e)]()},f.add=function(e,o){var i,u=this;e=Number(e);var s=b.p(o),d=function(t){var n=v(u);return b.w(n.date(n.date()+Math.round(t*e)),u)};if(s===l)return this.set(l,this.$M+e);if(s===c)return this.set(c,this.$y+e);if("day"===s)return d(1);if(s===a)return d(7);var m=((i={})[n]=6e4,i[r]=36e5,i[t]=1e3,i)[s]||1,f=this.$d.getTime()+e*m;return b.w(f,this)},f.subtract=function(e,t){return this.add(-1*e,t)},f.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||u;var r=e||"YYYY-MM-DDTHH:mm:ssZ",a=b.z(this),l=this.$H,o=this.$m,c=this.$M,i=n.weekdays,s=n.months,m=n.meridiem,f=function(e,n,a,l){return e&&(e[n]||e(t,r))||a[n].slice(0,l)},h=function(e){return b.s(l%12||12,e,"0")},p=m||function(e,t,n){var r=e<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(d,function(e,r){return r||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return b.s(t.$y,4,"0");case"M":return c+1;case"MM":return b.s(c+1,2,"0");case"MMM":return f(n.monthsShort,c,s,3);case"MMMM":return f(s,c);case"D":return t.$D;case"DD":return b.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return f(n.weekdaysMin,t.$W,i,2);case"ddd":return f(n.weekdaysShort,t.$W,i,3);case"dddd":return i[t.$W];case"H":return String(l);case"HH":return b.s(l,2,"0");case"h":return h(1);case"hh":return h(2);case"a":return p(l,o,!0);case"A":return p(l,o,!1);case"m":return String(o);case"mm":return b.s(o,2,"0");case"s":return String(t.$s);case"ss":return b.s(t.$s,2,"0");case"SSS":return b.s(t.$ms,3,"0");case"Z":return a}return null}(e)||a.replace(":","")})},f.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},f.diff=function(e,i,u){var s,d=this,m=b.p(i),f=v(e),h=(f.utcOffset()-this.utcOffset())*6e4,p=this-f,E=function(){return b.m(d,f)};switch(m){case c:s=E()/12;break;case l:s=E();break;case o:s=E()/3;break;case a:s=(p-h)/6048e5;break;case"day":s=(p-h)/864e5;break;case r:s=p/36e5;break;case n:s=p/6e4;break;case t:s=p/1e3;break;default:s=p}return u?s:b.a(s)},f.daysInMonth=function(){return this.endOf(l).$D},f.$locale=function(){return h[this.$L]},f.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=y(e,t,!0);return r&&(n.$L=r),n},f.clone=function(){return b.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},m}(),w=g.prototype;return v.prototype=w,[["$ms",e],["$s",t],["$m",n],["$H",r],["$W","day"],["$M",l],["$y",c],["$D",i]].forEach(function(e){w[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),v.extend=function(e,t){return e.$i||(e(t,g,v),e.$i=!0),v},v.locale=y,v.isDayjs=E,v.unix=function(e){return v(1e3*e)},v.en=h[f],v.Ls=h,v.p={},v}()},6279:function(e){e.exports=function(e,t,n){e=e||{};var r=t.prototype,a={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function l(e,t,n,a){return r.fromToBase(e,t,n,a)}n.en.relativeTime=a,r.fromToBase=function(t,r,l,o,c){for(var i,u,s,d=l.$locale().relativeTime||a,m=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],f=m.length,h=0;h<f;h+=1){var p=m[h];p.d&&(i=o?n(t).diff(l,p.d,!0):l.diff(t,p.d,!0));var E=(e.rounding||Math.round)(Math.abs(i));if(s=i>0,E<=p.r||!p.r){E<=1&&h>0&&(p=m[h-1]);var y=d[p.l];c&&(E=c(""+E)),u="string"==typeof y?y.replace("%d",E):y(E,r,p.l,s);break}}if(r)return u;var v=s?d.future:d.past;return"function"==typeof v?v(u):v.replace("%s",u)},r.to=function(e,t){return l(e,t,this,!0)},r.from=function(e,t){return l(e,t,this)};var o=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(o(this),e)},r.fromNow=function(e){return this.from(o(this),e)}}},23378:function(e,t,n){n.d(t,{cS:()=>N,C5:()=>$,hb:()=>S});var r,a,l,o,c,i=n(96540),u=n(28166),s=n(96540);function d(e){var t=e.doc;return s.createElement("div",{id:"on-github",className:"on-github"},s.createElement(f,{doc:t},"de"!==t.locale?"View this page on GitHub":"\xdcbersetzung auf GitHub anzeigen")," ","•"," ",s.createElement(m,{doc:t},"de"!==t.locale?"Report a problem with this content":"Fehler mit dieser \xdcbersetzung melden"))}function m(e){var t,n,r,a,l=e.doc,o=e.children,c=l.locale,i=new URL("https://github.com/"),u=new URLSearchParams;return i.pathname="en-US"!==c?"/mdn/translated-content/issues/new":"/mdn/content/issues/new","de"===c&&(i.pathname="/mdn/translated-content-de/issues/new"),u.set("template","en-US"!==c?"page-report-".concat(c.toLowerCase(),".yml"):"page-report.yml"),u.set("mdn-url","https://developer.mozilla.org".concat(l.mdn_url)),u.set("metadata",(n=(t=l.source).folder,r=t.github_url,a=t.last_commit_url,"de"===l.locale&&(r=r.replace("/translated-content/","/translated-content-de/"),a=a.replace("/translated-content/","/translated-content-de/")),"\n\x3c!-- Do not make changes below this line --\x3e\n<details>\n<summary>Page report details</summary>\n\n* Folder: `$FOLDER`\n* MDN URL: https://developer.mozilla.org$PATHNAME\n* GitHub URL: $GITHUB_URL\n* Last commit: $LAST_COMMIT_URL\n* Document last modified: $DATE\n\n</details>\n".replace(/\$PATHNAME/g,l.mdn_url).replace(/\$FOLDER/g,n).replace(/\$GITHUB_URL/g,r).replace(/\$LAST_COMMIT_URL/g,a).replace(/\$DATE/g,l.modified?new Date(l.modified).toISOString():"*date not known*").trim())),i.search=u.toString(),s.createElement("a",{href:i.href,title:"This will take you to GitHub to file a new issue.",target:"_blank",rel:"noopener noreferrer"},o)}function f(e){var t=e.doc,n=e.children,r=t.source,a=r.github_url,l=r.folder;return"de"===t.locale&&(a=a.replace("/translated-content/","/translated-content-de/")),s.createElement("a",{href:"".concat(a,"?plain=1"),title:"Folder: ".concat(l," (Opens in a new tab)"),target:"_blank",rel:"noopener noreferrer"},n)}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}let p=2579==n.j?(0,i.forwardRef)(({title:e,titleId:t,...n},u)=>i.createElement("svg",h({xmlns:"http://www.w3.org/2000/svg",width:162,height:162,viewBox:"0 0 162 162",fill:"none",ref:u,"aria-labelledby":t},n),e?i.createElement("title",{id:t},e):null,r||(r=i.createElement("mask",{id:"b",fill:"#fff"},i.createElement("path",{d:"M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z"}))),i.createElement("path",{stroke:"url(#a)",strokeDasharray:"6, 6",strokeWidth:2,d:"M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z",mask:"url(#b)",style:{stroke:"url(#a)"},transform:"translate(-63.992 -25.587)"}),a||(a=i.createElement("ellipse",{cx:8.066,cy:111.597,fill:"var(--background-tertiary)",rx:53.677,ry:53.699,transform:"matrix(.71707 -.697 .7243 .6895 0 0)"})),l||(l=i.createElement("g",{clipPath:"url(#c)",transform:"translate(-63.992 -25.587)"},i.createElement("path",{fill:"#9abff5",d:"m144.256 137.379 32.906 12.434a4.41 4.41 0 0 1 2.559 5.667l-9.326 24.679a4.41 4.41 0 0 1-5.667 2.559l-8.226-3.108-2.332 6.17c-.466 1.233-.375 1.883-1.609 1.417l-2.253-.527c-.411-.155-.95-.594-1.206-1.161l-4.734-10.484-12.545-4.741a4.41 4.41 0 0 1-2.559-5.667l9.325-24.679a4.41 4.41 0 0 1 5.667-2.559m9.961 29.617 8.227 3.108 3.264-8.638-.498-6.768-4.113-1.555.548 7.258-4.319-1.632zm-12.339-4.663 8.226 3.108 3.264-8.637-.498-6.769-4.113-1.554.548 7.257-4.319-1.632z"}))),o||(o=i.createElement("g",{clipPath:"url(#d)",transform:"translate(-63.992 -25.587)"},i.createElement("path",{fill:"#81b0f3",d:"M135.35 60.136 86.67 41.654c-3.346-1.27-7.124.428-8.394 3.775L64.414 81.938c-1.27 3.347.428 7.125 3.774 8.395l12.17 4.62-3.465 9.128c-.693 1.826-1.432 2.457.394 3.15l3.014 1.625c.609.231 1.637.274 2.477-.104l15.53-6.983 18.56 7.047c3.346 1.27 7.124-.428 8.395-3.775l13.862-36.51c1.27-3.346-.428-7.124-3.775-8.395M95.261 83.207l-12.17-4.62 4.852-12.779 7.19-7.017 6.085 2.31-7.725 7.51 6.389 2.426zm18.255 6.93-12.17-4.62 4.852-12.778 7.189-7.017 6.085 2.31-7.725 7.51 6.39 2.426z"}))),c||(c=i.createElement("defs",null,i.createElement("clipPath",{id:"c"},i.createElement("path",{fill:"#fff",d:"m198.638 146.586-65.056-24.583-24.583 65.057 65.056 24.582z"})),i.createElement("clipPath",{id:"d"},i.createElement("path",{fill:"#fff",d:"m66.438 14.055 96.242 36.54-36.54 96.243-96.243-36.54z"})),i.createElement("linearGradient",{id:"a",x1:97.203,x2:199.995,y1:47.04,y2:152.793,gradientUnits:"userSpaceOnUse"},i.createElement("stop",{stopColor:"#086DFC"}),i.createElement("stop",{offset:.246,stopColor:"#2C81FA"}),i.createElement("stop",{offset:.516,stopColor:"#5497F8"}),i.createElement("stop",{offset:.821,stopColor:"#80B0F6"}),i.createElement("stop",{offset:1,stopColor:"#9ABFF5"})))))):null;var E=n(3053),y=n(47263),v=n(8004),b=n(96540);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,c=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(e){var t=e.value,n=e.locale;if(!t)return b.createElement("span",null,"Last modified date not known");var r=new Date(t);return b.createElement(b.Fragment,null,"This page was last modified on"," ",b.createElement("time",{dateTime:t,suppressHydrationWarning:!0},r.toLocaleString(n,{year:"numeric",month:"short",day:"numeric"})))}function S(e){var t=e.url;return b.createElement("a",{href:"".concat(t,"/contributors.txt"),rel:"nofollow"},"MDN contributors")}var k=2579==n.j?{outdated:"Content is out of date",incomplete:"Missing information",code_examples:"Code examples not working as expected",other:"Other"}:null,_=2579==n.j?{technical:"\xdcbersetzung enth\xe4lt fachliche Fehler",consistency:"Begriffe sind inkonsistent \xfcbersetzt",incomprehensible:"\xdcbersetzung ist nicht verst\xe4ndlich",linguistic:"\xdcbersetzung enth\xe4lt sprachliche Fehler",code_examples:"Code-Beispiele funktionieren nicht",other:"Sonstige"}:null;function N(e){var t=e.doc,n=w((0,i.useState)(0),2),r=n[0],a=n[1],l=w((0,i.useState)(),2),o=l[0],c=l[1],s=(0,E.db)();function m(e){a(e?2:1),s("".concat(y.aG,": ").concat(y.lM," -> ").concat(Number(e)))}return b.createElement("aside",{className:"article-footer"},b.createElement("div",{className:"article-footer-inner"},b.createElement("div",{className:"svg-container"},b.createElement(p,{role:"none"})),b.createElement("h2",null,"de"!==t.locale?"Help improve MDN":"MDN-Feedback-Box"),b.createElement("fieldset",{className:"feedback"},0===r?b.createElement(b.Fragment,null,b.createElement("label",null,"de"!==t.locale?"Was this page helpful to you?":"War diese \xdcbersetzung hilfreich?"),b.createElement("div",{className:"button-container"},b.createElement(u.$,{icon:"thumbs-up",extraClasses:"yes",onClickHandler:function(){return m(!0)}},"de"!==t.locale?"Yes":"Ja"),b.createElement(u.$,{icon:"thumbs-down",extraClasses:"no",onClickHandler:function(){return m(!1)}},"de"!==t.locale?"No":"Nein"))):1===r?b.createElement(b.Fragment,null,b.createElement("label",null,"de"!==t.locale?"Why was this page not helpful to you?":"Warum war diese \xdcbersetzung nicht hilfreich?"),Object.entries("de"!==t.locale?k:_).map(function(e){var t=w(e,2),n=t[0],r=t[1];return b.createElement("div",{className:"radio-container",key:n},b.createElement("input",{type:"radio",id:"reason_".concat(n),name:"reason",value:n,checked:o===n,onChange:function(e){return c(e.target.value)}}),b.createElement("label",{htmlFor:"reason_".concat(n)},r))}),b.createElement("div",{className:"button-container"},b.createElement(u.$,{type:"primary",isDisabled:!o,onClickHandler:function(){a(2),s("".concat(y.lM,": feedback -> ").concat(o))}},"de"!==t.locale?"Submit":"Abschicken"))):b.createElement("span",{className:"thank-you"},"de"!==t.locale?"Thank you for your feedback!":"Vielen Dank f\xfcr die R\xfcckmeldung!"," ",b.createElement("span",{className:"emoji"},"❤️"))),"de"!==t.locale&&b.createElement(D,{locale:t.locale}),b.createElement("p",{className:"last-modified-date"},"de"!==t.locale?b.createElement(b.Fragment,null,b.createElement($,{value:t.modified,locale:t.locale})," by"," ",b.createElement(S,{url:t.mdn_url}),"."):b.createElement(b.Fragment,null,"Diese Seite wurde automatisch aus dem Englischen \xfcbersetzt.")),t.isActive&&b.createElement(d,{doc:t})))}function D(e){var t=e.locale===v.Xn?"content":"translated-content";return b.createElement(b.Fragment,null,b.createElement("a",{className:"contribute",href:"https://github.com/mdn/".concat(t,"/blob/main/CONTRIBUTING.md"),title:"This will take you to our contribution guidelines on GitHub.",target:"_blank",rel:"noopener noreferrer"},"Learn how to contribute"),".")}},28202:function(e,t,n){n.r(t),n.d(t,{default:()=>W});var r=n(96540),a=n(16563),l=n(28166),o=n(37006),c=n(60274),i=n(53802),u=n(18761),s=n(23425),d=n(65318),m=n(45571),f=n(73730),h=n(23378),p=n(62874),E=n(40967),y=n(74353),v=n.n(y),b=n(6279),g=n.n(b),w=n(53328),$=n(3053),S=n(47263),k=n(96540);function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function N(e,t,n,r,a,l,o){try{var c=e[l](o),i=c.value}catch(e){n(e);return}c.done?t(i):Promise.resolve(i).then(r,a)}function D(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,c=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(){var e=(0,c.g)().collectionId,t=(0,i.Ge)(e),n=t.data,r=t.error,o=(0,i.wB)(e),u=o.data,m=o.error,h=o.isLoading,p=o.size,y=o.setSize,v=o.atEnd,b=o.mutate;(0,s.bs)();var g=(null==n?void 0:n.name)==="Default"?"Saved Articles":null==n?void 0:n.name;document.title="".concat(g||"Collections"," | ").concat(E.U6);var w=(null==n?void 0:n.name)==="Default"?"The default collection.":null==n?void 0:n.description;return n?k.createElement("div",{className:"collections collections-collection"},k.createElement("header",null,k.createElement(a.A,null,k.createElement(c.N_,{to:"../",className:"exit"},"← Back"),k.createElement("h1",null,g),k.createElement("span",{className:"count"},n.article_count," ",1===n.article_count?"article":"articles"),w&&k.createElement("p",null,w))),k.createElement(a.A,null,(null==u?void 0:u.flat(1).map(function(e){return k.createElement(C,{key:e.id,item:e,mutate:b})}))||h&&k.createElement(d.R,null),!v&&k.createElement("div",{className:"pagination"},k.createElement(l.$,{type:"primary",onClickHandler:function(){y(p+1)},isDisabled:h},h?"Loading...":m?"Error (try again)":"Show more")))):k.createElement("div",{className:"collections collections-collection"},k.createElement("header",null,k.createElement(a.A,null,k.createElement(c.N_,{to:"../",className:"exit"},"← Back"))),k.createElement(a.A,null,r?k.createElement(f.A,{type:"error"},k.createElement("h4",null,"Error"),k.createElement("p",null,r.message),k.createElement(l.$,{href:"../",type:"secondary"},"Go Back")):k.createElement(d.R,null)))}function A(){var e=D((0,r.useState)(0),2),t=e[0],n=e[1],o=D((0,r.useState)(!1),2),i=o[0],u=o[1],d=(0,w.H3)(10,t,u);return(0,s.bs)(),k.createElement("div",{className:"collections collections-collection"},k.createElement("header",null,k.createElement(a.A,null,k.createElement(c.N_,{to:"../",className:"exit"},"← Back"),k.createElement("h1",null,d.name),k.createElement("span",{className:"count"},d.article_count," ",1===d.article_count?"article":"articles"),k.createElement("p",null,d.description))),k.createElement(a.A,null,d.items.map(function(e){return k.createElement(C,{addNoteEnabled:!1,key:e.id,item:e})}),!i&&k.createElement("div",{className:"pagination"},k.createElement(l.$,{type:"primary",onClickHandler:function(){n(t+10)}},"Show more"))))}function C(e){var t,n=e.addNoteEnabled,a=e.item,o=e.mutate,c=D((0,r.useState)(),2),i=c[0],d=c[1],f=D((0,r.useState)(),2),E=f[0],y=f[1],v=(0,s.Ym)(),b=(0,$.db)();(0,r.useEffect)(function(){var e=a.notes&&(0,m.Tn)(a.notes,0,180);d(e),y(e)},[a.notes]);var g=a.parents.slice(0,-1).map(function(e){return(0,m.jj)(e.title)}).filter(function(e,t,n){return e!==n[t+1]}),w=function(e){var t=e.currentTarget.closest("article");[null==t?void 0:t.querySelector(".article-actions-toggle"),null==t?void 0:t.querySelector(".bookmark-button")].forEach(function(e){var t;(null!=(t=HTMLElement)&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t)&&"none"!==getComputedStyle(e).display&&e.click()})},_=(0,u.Ay)("".concat(a.url,"/metadata.json"),function(e){var t;return(t=function(){var t;return function(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=c(0),o.throw=c(1),o.return=c(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(c){return function(i){var u=[c,i];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){l.label=u[1];break}if(6===u[0]&&l.label<a[1]){l.label=a[1],a=u;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(u);break}a[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:return[4,fetch(e)];case 1:if(!(t=n.sent()).ok)throw Error(t.statusText);return[4,t.json()];case 2:return[2,n.sent()]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var l=t.apply(e,n);function o(e){N(l,r,a,o,c,"next",e)}function c(e){N(l,r,a,o,c,"throw",e)}o(void 0)})})()},{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}).data,M=(0,m.Mw)(a.url);return k.createElement("article",{key:a.url,className:M?"category-".concat(M):void 0},k.createElement("header",null,k.createElement("h2",null,k.createElement("a",{href:a.url},(0,m.jj)(a.title))),k.createElement(p.o,{doc:_,showTranslations:!1,item:"collection_id"in a?a:void 0,scopedMutator:o})),k.createElement("div",{className:"breadcrumbs"},g.join(" > ")),_&&k.createElement(k.Fragment,null,k.createElement("p",null,_.summary),k.createElement("aside",null,k.createElement(h.C5,{value:_.modified,locale:v}),","," ",k.createElement(h.hb,{url:a.url}))),E?k.createElement("div",{className:"note"},k.createElement("div",null,_&&k.createElement(l.$,{icon:"edit",type:"action",onClickHandler:function(e){return b(S.DW.ACTIONS_NOTE_EDIT),w(e)}},k.createElement("span",{className:"visually-hidden"},"Edit note"))),k.createElement("div",{className:"text"},k.createElement("p",{className:(null==(t=a.notes)?void 0:t.includes("{"))?"code":""},E.trimEnd()),i!==a.notes&&(E!==a.notes?k.createElement(k.Fragment,null,"… ",k.createElement(l.$,{type:"link",onClickHandler:function(){return y(a.notes)}},"See full note")):k.createElement(k.Fragment,null," ",k.createElement(l.$,{type:"link",onClickHandler:function(){return y(i)}},"Show less"))))):_&&(void 0===n||n)?k.createElement(l.$,{extraClasses:"add-note",icon:"edit",type:"action",onClickHandler:function(e){return b(S.DW.ACTIONS_NOTE_ADD),w(e)}},"Add note"):null)}v().extend(g());var O=n(29558),T=n(41161),x=n(78935),I=n(76793);function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function L(e,t,n,r,a,l,o){try{var c=e[l](o),i=c.value}catch(e){n(e);return}c.done?t(i):Promise.resolve(i).then(r,a)}function j(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){L(l,r,a,o,c,"next",e)}function c(e){L(l,r,a,o,c,"throw",e)}o(void 0)})}}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,c=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return H(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function U(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=c(0),o.throw=c(1),o.return=c(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(c){return function(i){var u=[c,i];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){l.label=u[1];break}if(6===u[0]&&l.label<a[1]){l.label=a[1],a=u;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(u);break}a[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}v().extend(g());var z={revalidateOnFocus:!1,revalidateIfStale:!1};function W(){return r.createElement(u.BE,{value:z},r.createElement(c.BV,null,r.createElement(c.qh,{path:"/",element:r.createElement(B,null)}),r.createElement(c.qh,{path:"frequently-viewed",element:r.createElement(A,null)}),r.createElement(c.qh,{path:":collectionId",element:r.createElement(M,null)})))}function B(){document.title="Collections | ".concat(E.U6);var e=(0,i.Xd)(),t=e.data,n=e.isLoading,c=e.error,u=F((0,r.useState)(!1),2),s=u[0],m=u[1],h=(0,$.db)(),p=null==t?void 0:t.map(function(e){return r.createElement(R,{key:e.id,collection:e})}),y=r.createElement(G,{key:"frequently-viewed"});return p&&y&&p.splice(1,0,y),r.createElement("div",{className:"collections collections-overview"},r.createElement("header",{className:"plus-header-mandala"},r.createElement(a.A,null,r.createElement("h1",null,r.createElement("div",{className:"mandala-icon-wrapper"},r.createElement(x.A,null),r.createElement(I.I,{name:"bookmark-filled"})),r.createElement("span",null,"Collections")),r.createElement("p",null,"Save and group your favorite MDN articles to easily find them later on.",r.createElement("br",null),r.createElement("a",{rel:"noreferrer noopener",target:"_blank",href:"https://survey.alchemer.com/s3/6988450/Feature-Preview-User-Feedback-Multiple-Collections"},"We'd love to hear your feedback!")),r.createElement(l.$,{onClickHandler:function(){h(S.DW.BANNER_NEW),m(!0)},isDisabled:n},"New Collection"),r.createElement(o.A,{show:s,setShow:m,source:S.DW.NEW_MODAL_SUBMIT_COLLECTIONS_PAGE}))),r.createElement(a.A,null,n?r.createElement(d.R,null):t?p:c?r.createElement(f.A,{type:"error"},r.createElement("h4",null,"Error"),r.createElement("p",null,c.message)):"Create a new collection..."))}function R(e){var t=e.collection,n=F((0,r.useState)(!1),2),a=n[0],u=n[1],s=F((0,r.useState)(!1),2),d=s[0],h=s[1],p=F((0,r.useState)(!1),2),E=p[0],y=p[1],b=(0,i.Lg)(),g=b.mutator,w=b.error,$=b.resetError,k=b.isPending,_=function(e){return j(function(){return U(this,function(t){return e.preventDefault(),k||($(),y(!1)),[2]})})()};return"Default"===t.name?r.createElement(P,{collection:t}):r.createElement("article",{key:t.id},r.createElement("header",null,r.createElement("h2",null,r.createElement(c.N_,{to:t.id},(0,m.jj)(t.name))),"Default"!==t.name?r.createElement(O.q,{className:"dropdown is-flush-right",isOpen:a,setIsOpen:u},r.createElement(l.$,{type:"action",icon:"ellipses","aria-controls":"collection-dropdown","aria-haspopup":"menu","aria-expanded":a||void 0,onClickHandler:function(){u(!a)}}),r.createElement(O.r,null,r.createElement("ul",{className:"dropdown-list",id:"collection-dropdown"},r.createElement("li",{className:"dropdown-item"},r.createElement(l.$,{type:"action",title:"Edit",onClickHandler:function(){h(!0),u(!1)}},"Edit")),r.createElement("li",{className:"dropdown-item"},r.createElement(l.$,{type:"action",title:"Delete",onClickHandler:function(){y(!0),u(!1)}},"Delete"))))):null,r.createElement(o.A,{editingCollection:t,show:d,setShow:h,source:S.DW.NEW_MODAL_SUBMIT_COLLECTIONS_PAGE}),r.createElement(T.A,{isOpen:E,size:"small",onRequestClose:_,extraOverlayClassName:k?"wait":""},r.createElement("header",{className:"modal-header"},r.createElement("h2",{className:"modal-heading"},"Delete collection"),r.createElement(l.$,{onClickHandler:_,type:"action",icon:"cancel",extraClasses:"close-button"})),r.createElement("div",{className:"modal-body"},w&&r.createElement(f.A,{type:"error"},r.createElement("p",null,"Error: ",w.message)),r.createElement("p",null,'Are you sure you want to delete your collection "',t.name,'"?'),r.createElement("div",{className:"mdn-form-item is-button-row"},r.createElement(l.$,{onClickHandler:function(e){return j(function(){return U(this,function(n){switch(n.label){case 0:if(e.preventDefault(),k)return[2];return[4,g(t)];case 1:return n.sent(),y(!1),[2]}})})()},isDisabled:k},k?"Deleting...":"Delete"),r.createElement(l.$,{onClickHandler:_,type:"secondary",isDisabled:k},"Cancel"))))),t.description&&r.createElement("p",null,(0,m.jj)(t.description)),r.createElement("footer",null,r.createElement(c.N_,{to:t.id,className:"count"},t.article_count," ",1===t.article_count?"article":"articles"),r.createElement("time",{dateTime:v()(t.updated_at).toISOString()},"Edited ",v()(t.updated_at).fromNow().toString())))}function P(e){var t=e.collection;return r.createElement("article",{key:t.id,className:"default"},r.createElement("header",null,r.createElement("h2",null,r.createElement(c.N_,{to:t.id},"Saved Articles"))),r.createElement("p",null,"The default collection."),r.createElement("footer",null,r.createElement(c.N_,{to:t.id,className:"count"},t.article_count," ",1===t.article_count?"article":"articles"),r.createElement("time",{dateTime:v()(t.updated_at).toISOString()},"Edited ",v()(t.updated_at).fromNow().toString())))}function G(){var e=(0,w.H3)();return e.items.length?r.createElement("article",{key:e.name,className:"default"},r.createElement("header",null,r.createElement("h2",null,r.createElement(c.N_,{to:"frequently-viewed"},e.name))),r.createElement("p",null,e.description),r.createElement("footer",null,r.createElement(c.N_,{to:"frequently-viewed",className:"count"},e.article_count," ",1===e.article_count?"article":"articles"),r.createElement("time",{dateTime:v()(e.updated_at).toISOString()},"Updated ",v()(e.updated_at).fromNow().toString()))):null}},16563:function(e,t,n){n.d(t,{A:()=>a});var r=n(96540);function a(e){var t=e.children,n=e.extraClasses,a=e.optional;return r.createElement(r.Fragment,null,!0===a?r.createElement(r.Fragment,null,t):r.createElement("div",{className:"container ".concat(n||"")},t))}}};
2
- //# sourceMappingURL=8183.d3c84d03c477eac6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"8183.d3c84d03c477eac6.js","sources":["webpack://@mdn/fred/./node_modules/dayjs/dayjs.min.js","webpack://@mdn/fred/./node_modules/dayjs/plugin/relativeTime.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/assets/article-footer/article-footer.svg","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/document/on-github.tsx","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/document/organisms/article-footer/index.tsx","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/plus/collections/collection.tsx","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/plus/collections/index.tsx","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/ui/atoms/container/index.tsx"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(r=\"undefined\"!=typeof globalThis?globalThis:r||self).dayjs_plugin_relativeTime=e()}(this,(function(){\"use strict\";return function(r,e,t){r=r||{};var n=e.prototype,o={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:\"s\",r:44,d:\"second\"},{l:\"m\",r:89},{l:\"mm\",r:44,d:\"minute\"},{l:\"h\",r:89},{l:\"hh\",r:21,d:\"hour\"},{l:\"d\",r:35},{l:\"dd\",r:25,d:\"day\"},{l:\"M\",r:45},{l:\"MM\",r:10,d:\"month\"},{l:\"y\",r:17},{l:\"yy\",d:\"year\"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(f=d?t(e).diff(i,y.d,!0):i.diff(e,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(f));if(s=f>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","var _mask, _ellipse, _g, _g2, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgArticleFooter = ({\n title,\n titleId,\n ...props\n}, ref) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 162,\n height: 162,\n viewBox: \"0 0 162 162\",\n fill: \"none\",\n ref: ref,\n \"aria-labelledby\": titleId\n}, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n}, title) : null, _mask || (_mask = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"b\",\n fill: \"#fff\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z\"\n}))), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"url(#a)\",\n strokeDasharray: \"6, 6\",\n strokeWidth: 2,\n d: \"M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z\",\n mask: \"url(#b)\",\n style: {\n stroke: \"url(#a)\"\n },\n transform: \"translate(-63.992 -25.587)\"\n}), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 8.066,\n cy: 111.597,\n fill: \"var(--background-tertiary)\",\n rx: 53.677,\n ry: 53.699,\n transform: \"matrix(.71707 -.697 .7243 .6895 0 0)\"\n})), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#c)\",\n transform: \"translate(-63.992 -25.587)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#9abff5\",\n d: \"m144.256 137.379 32.906 12.434a4.41 4.41 0 0 1 2.559 5.667l-9.326 24.679a4.41 4.41 0 0 1-5.667 2.559l-8.226-3.108-2.332 6.17c-.466 1.233-.375 1.883-1.609 1.417l-2.253-.527c-.411-.155-.95-.594-1.206-1.161l-4.734-10.484-12.545-4.741a4.41 4.41 0 0 1-2.559-5.667l9.325-24.679a4.41 4.41 0 0 1 5.667-2.559m9.961 29.617 8.227 3.108 3.264-8.638-.498-6.768-4.113-1.555.548 7.258-4.319-1.632zm-12.339-4.663 8.226 3.108 3.264-8.637-.498-6.769-4.113-1.554.548 7.257-4.319-1.632z\"\n}))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#d)\",\n transform: \"translate(-63.992 -25.587)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#81b0f3\",\n d: \"M135.35 60.136 86.67 41.654c-3.346-1.27-7.124.428-8.394 3.775L64.414 81.938c-1.27 3.347.428 7.125 3.774 8.395l12.17 4.62-3.465 9.128c-.693 1.826-1.432 2.457.394 3.15l3.014 1.625c.609.231 1.637.274 2.477-.104l15.53-6.983 18.56 7.047c3.346 1.27 7.124-.428 8.395-3.775l13.862-36.51c1.27-3.346-.428-7.124-3.775-8.395M95.261 83.207l-12.17-4.62 4.852-12.779 7.19-7.017 6.085 2.31-7.725 7.51 6.389 2.426zm18.255 6.93-12.17-4.62 4.852-12.778 7.189-7.017 6.085 2.31-7.725 7.51 6.39 2.426z\"\n}))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"c\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"m198.638 146.586-65.056-24.583-24.583 65.057 65.056 24.582z\"\n})), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"d\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"m66.438 14.055 96.242 36.54-36.54 96.243-96.243-36.54z\"\n})), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"a\",\n x1: 97.203,\n x2: 199.995,\n y1: 47.04,\n y2: 152.793,\n gradientUnits: \"userSpaceOnUse\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#086DFC\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.246,\n stopColor: \"#2C81FA\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.516,\n stopColor: \"#5497F8\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.821,\n stopColor: \"#80B0F6\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#9ABFF5\"\n})))));\nconst ForwardRef = /*#__PURE__*/forwardRef(SvgArticleFooter);\nexport { ForwardRef as ReactComponent };","import { Doc } from \"../../../libs/types/document\";\n\nexport function OnGitHubLink({ doc }: { doc: Doc }) {\n return (\n <div id=\"on-github\" className=\"on-github\">\n <SourceOnGitHubLink doc={doc}>\n {doc.locale !== \"de\"\n ? \"View this page on GitHub\"\n : \"Übersetzung auf GitHub anzeigen\"}\n </SourceOnGitHubLink>{\" \"}\n •{\" \"}\n <NewIssueOnGitHubLink doc={doc}>\n {doc.locale !== \"de\"\n ? \"Report a problem with this content\"\n : \"Fehler mit dieser Übersetzung melden\"}\n </NewIssueOnGitHubLink>\n </div>\n );\n}\n\nconst METADATA_TEMPLATE = `\n<!-- Do not make changes below this line -->\n<details>\n<summary>Page report details</summary>\n\n* Folder: \\`$FOLDER\\`\n* MDN URL: https://developer.mozilla.org$PATHNAME\n* GitHub URL: $GITHUB_URL\n* Last commit: $LAST_COMMIT_URL\n* Document last modified: $DATE\n\n</details>\n`;\n\nfunction fillMetadata(string, doc) {\n let { folder, github_url, last_commit_url } = doc.source;\n\n if (doc.locale === \"de\") {\n github_url = github_url.replace(\n \"/translated-content/\",\n \"/translated-content-de/\"\n );\n last_commit_url = last_commit_url.replace(\n \"/translated-content/\",\n \"/translated-content-de/\"\n );\n }\n\n return string\n .replace(/\\$PATHNAME/g, doc.mdn_url)\n .replace(/\\$FOLDER/g, folder)\n .replace(/\\$GITHUB_URL/g, github_url)\n .replace(/\\$LAST_COMMIT_URL/g, last_commit_url)\n .replace(\n /\\$DATE/g,\n doc.modified ? new Date(doc.modified).toISOString() : \"*date not known*\"\n )\n .trim();\n}\n\nfunction NewIssueOnGitHubLink({\n doc,\n children,\n}: {\n doc: Doc;\n children: React.ReactNode;\n}) {\n const { locale } = doc;\n const url = new URL(\"https://github.com/\");\n const sp = new URLSearchParams();\n\n url.pathname =\n locale !== \"en-US\"\n ? \"/mdn/translated-content/issues/new\"\n : \"/mdn/content/issues/new\";\n\n if (locale === \"de\") {\n url.pathname = \"/mdn/translated-content-de/issues/new\";\n }\n\n sp.set(\n \"template\",\n locale !== \"en-US\"\n ? `page-report-${locale.toLowerCase()}.yml`\n : \"page-report.yml\"\n );\n sp.set(\"mdn-url\", `https://developer.mozilla.org${doc.mdn_url}`);\n sp.set(\"metadata\", fillMetadata(METADATA_TEMPLATE, doc));\n\n url.search = sp.toString();\n\n return (\n <a\n href={url.href}\n title=\"This will take you to GitHub to file a new issue.\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {children}\n </a>\n );\n}\n\nfunction SourceOnGitHubLink({\n doc,\n children,\n}: {\n doc: Doc;\n children: React.ReactNode;\n}) {\n let { github_url, folder } = doc.source;\n\n if (doc.locale === \"de\") {\n github_url = github_url.replace(\n \"/translated-content/\",\n \"/translated-content-de/\"\n );\n }\n\n return (\n <a\n href={`${github_url}?plain=1`}\n title={`Folder: ${folder} (Opens in a new tab)`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {children}\n </a>\n );\n}\n","import { useState } from \"react\";\nimport { Button } from \"../../../ui/atoms/button\";\nimport { OnGitHubLink } from \"../../on-github\";\nimport { ReactComponent as ArticleFooterSVG } from \"../../../assets/article-footer/article-footer.svg\";\nimport \"./index.scss\";\nimport { useGleanClick } from \"../../../telemetry/glean-context\";\nimport { ARTICLE_FOOTER, THUMBS } from \"../../../telemetry/constants\";\nimport { DEFAULT_LOCALE } from \"../../../../../libs/constants\";\n\nexport function LastModified({ value, locale }) {\n if (!value) {\n return <span>Last modified date not known</span>;\n }\n const date = new Date(value);\n // Justification for these is to match historically\n const dateStringOptions: Intl.DateTimeFormatOptions = {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n };\n return (\n <>\n This page was last modified on{\" \"}\n <time dateTime={value} suppressHydrationWarning>\n {date.toLocaleString(locale, dateStringOptions)}\n </time>\n </>\n );\n}\n\nexport function Authors({ url }) {\n return (\n <a href={`${url}/contributors.txt`} rel=\"nofollow\">\n MDN contributors\n </a>\n );\n}\n\nenum ArticleFooterView {\n Vote,\n Feedback,\n Thanks,\n}\n\ntype FeedbackReason =\n | \"outdated\"\n | \"incomplete\"\n | \"code_examples\"\n | \"technical\"\n | \"consistency\"\n | \"incomprehensible\"\n | \"linguistic\"\n | \"other\";\n\nconst FEEDBACK_REASONS: Partial<Record<FeedbackReason, string>> = {\n outdated: \"Content is out of date\",\n incomplete: \"Missing information\",\n code_examples: \"Code examples not working as expected\",\n other: \"Other\",\n};\n\nconst FEEDBACK_REASONS_DE: Partial<Record<FeedbackReason, string>> = {\n technical: \"Übersetzung enthält fachliche Fehler\",\n consistency: \"Begriffe sind inkonsistent übersetzt\",\n incomprehensible: \"Übersetzung ist nicht verständlich\",\n linguistic: \"Übersetzung enthält sprachliche Fehler\",\n code_examples: \"Code-Beispiele funktionieren nicht\",\n other: \"Sonstige\",\n};\n\nexport function ArticleFooter({ doc }) {\n const [view, setView] = useState<ArticleFooterView>(ArticleFooterView.Vote);\n const [reason, setReason] = useState<string>();\n\n const gleanClick = useGleanClick();\n\n function handleVote(value: boolean) {\n setView(value ? ArticleFooterView.Thanks : ArticleFooterView.Feedback);\n // Reusing Thumbs' key to be able to reuse queries.\n gleanClick(`${THUMBS}: ${ARTICLE_FOOTER} -> ${Number(value)}`);\n }\n\n function handleFeedback() {\n setView(ArticleFooterView.Thanks);\n gleanClick(`${ARTICLE_FOOTER}: feedback -> ${reason}`);\n }\n\n return (\n <aside className=\"article-footer\">\n <div className=\"article-footer-inner\">\n <div className=\"svg-container\">\n <ArticleFooterSVG role=\"none\" />\n </div>\n <h2>{doc.locale !== \"de\" ? \"Help improve MDN\" : \"MDN-Feedback-Box\"}</h2>\n\n <fieldset className=\"feedback\">\n {view === ArticleFooterView.Vote ? (\n <>\n <label>\n {doc.locale !== \"de\"\n ? \"Was this page helpful to you?\"\n : \"War diese Übersetzung hilfreich?\"}\n </label>\n <div className=\"button-container\">\n <Button\n icon=\"thumbs-up\"\n extraClasses=\"yes\"\n onClickHandler={() => handleVote(true)}\n >\n {doc.locale !== \"de\" ? \"Yes\" : \"Ja\"}\n </Button>\n <Button\n icon=\"thumbs-down\"\n extraClasses=\"no\"\n onClickHandler={() => handleVote(false)}\n >\n {doc.locale !== \"de\" ? \"No\" : \"Nein\"}\n </Button>\n </div>\n </>\n ) : view === ArticleFooterView.Feedback ? (\n <>\n <label>\n {doc.locale !== \"de\"\n ? \"Why was this page not helpful to you?\"\n : \"Warum war diese Übersetzung nicht hilfreich?\"}\n </label>\n {Object.entries(\n doc.locale !== \"de\" ? FEEDBACK_REASONS : FEEDBACK_REASONS_DE\n ).map(([key, label]) => (\n <div className=\"radio-container\" key={key}>\n <input\n type=\"radio\"\n id={`reason_${key}`}\n name=\"reason\"\n value={key}\n checked={reason === key}\n onChange={(event) => setReason(event.target.value)}\n />\n <label htmlFor={`reason_${key}`}>{label}</label>\n </div>\n ))}\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n isDisabled={!reason}\n onClickHandler={() => handleFeedback()}\n >\n {doc.locale !== \"de\" ? \"Submit\" : \"Abschicken\"}\n </Button>\n </div>\n </>\n ) : (\n <span className=\"thank-you\">\n {doc.locale !== \"de\"\n ? \"Thank you for your feedback!\"\n : \"Vielen Dank für die Rückmeldung!\"}{\" \"}\n <span className=\"emoji\">❤️</span>\n </span>\n )}\n </fieldset>\n\n {doc.locale !== \"de\" && <Contribute locale={doc.locale} />}\n <p className=\"last-modified-date\">\n {doc.locale !== \"de\" ? (\n <>\n <LastModified value={doc.modified} locale={doc.locale} /> by{\" \"}\n <Authors url={doc.mdn_url} />.\n </>\n ) : (\n <>Diese Seite wurde automatisch aus dem Englischen übersetzt.</>\n )}\n </p>\n {doc.isActive && <OnGitHubLink doc={doc} />}\n </div>\n </aside>\n );\n}\n\nfunction Contribute({ locale }) {\n const repo = locale === DEFAULT_LOCALE ? \"content\" : \"translated-content\";\n\n return (\n <>\n <a\n className=\"contribute\"\n href={`https://github.com/mdn/${repo}/blob/main/CONTRIBUTING.md`}\n title=\"This will take you to our contribution guidelines on GitHub.\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Learn how to contribute\n </a>\n .\n </>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { useParams } from \"react-router\";\nimport { Link } from \"react-router-dom\";\nimport useSWR, { KeyedMutator } from \"swr\";\nimport { SWRInfiniteResponse } from \"swr/infinite\";\nimport { useScrollToTop, useLocale } from \"../../hooks\";\nimport { Button } from \"../../ui/atoms/button\";\nimport Container from \"../../ui/atoms/container\";\nimport { Loading } from \"../../ui/atoms/loading\";\nimport { camelWrap, charSlice, getCategoryByPathname } from \"../../utils\";\nimport { FrequentlyViewedItem, Item, useCollection, useItems } from \"./api\";\nimport NoteCard from \"../../ui/molecules/notecards\";\nimport { DocMetadata } from \"../../../../libs/types/document\";\nimport { Authors, LastModified } from \"../../document/organisms/article-footer\";\nimport { ArticleActions } from \"../../ui/organisms/article-actions\";\nimport { MDN_PLUS_TITLE } from \"../../constants\";\n\nimport \"./collection.scss\";\n\nimport dayjs from \"dayjs\";\nimport relativeTime from \"dayjs/plugin/relativeTime\";\nimport {\n FrequentlyViewedCollection,\n useFrequentlyViewed,\n} from \"./frequently-viewed\";\nimport { useGleanClick } from \"../../telemetry/glean-context\";\nimport { PLUS_COLLECTIONS } from \"../../telemetry/constants\";\ndayjs.extend(relativeTime);\n\n// \"swr/infinite\" doesn't export InfiniteKeyedMutator directly\ntype InfiniteKeyedMutator<T> = SWRInfiniteResponse<\n T extends (infer I)[] ? I : T\n>[\"mutate\"];\n\nexport function CollectionComponent() {\n const { collectionId } = useParams();\n const { data: collection, error: collectionError } =\n useCollection(collectionId);\n const {\n data: itemPages,\n error: itemError,\n isLoading: itemLoading,\n size,\n setSize,\n atEnd,\n mutate,\n } = useItems(collectionId);\n\n useScrollToTop();\n const name =\n collection?.name === \"Default\" ? \"Saved Articles\" : collection?.name;\n document.title = `${name || \"Collections\"} | ${MDN_PLUS_TITLE}`;\n const description =\n collection?.name === \"Default\"\n ? \"The default collection.\"\n : collection?.description;\n\n return collection ? (\n <div className=\"collections collections-collection\">\n <header>\n <Container>\n <Link to=\"../\" className=\"exit\">\n &larr; Back\n </Link>\n <h1>{name}</h1>\n <span className=\"count\">\n {collection.article_count}{\" \"}\n {collection.article_count === 1 ? \"article\" : \"articles\"}\n </span>\n {description && <p>{description}</p>}\n </Container>\n </header>\n <Container>\n {itemPages\n ?.flat(1)\n .map((item) => (\n <ItemComponent key={item.id} {...{ item, mutate }} />\n )) ||\n (itemLoading && <Loading />)}\n {!atEnd && (\n <div className=\"pagination\">\n <Button\n type=\"primary\"\n onClickHandler={() => {\n setSize(size + 1);\n }}\n isDisabled={itemLoading}\n >\n {itemLoading\n ? \"Loading...\"\n : itemError\n ? \"Error (try again)\"\n : \"Show more\"}\n </Button>\n </div>\n )}\n </Container>\n </div>\n ) : (\n <div className=\"collections collections-collection\">\n <header>\n <Container>\n <Link to=\"../\" className=\"exit\">\n &larr; Back\n </Link>\n </Container>\n </header>\n <Container>\n {collectionError ? (\n <NoteCard type=\"error\">\n <h4>Error</h4>\n <p>{collectionError.message}</p>\n <Button href=\"../\" type=\"secondary\">\n Go Back\n </Button>\n </NoteCard>\n ) : (\n <Loading />\n )}\n </Container>\n </div>\n );\n}\n\nexport function FrequentlyViewedCollectionComponent() {\n let [size, setSize] = useState(0);\n let [atEnd, setAtEnd] = useState(false);\n let frequentlyViewed: FrequentlyViewedCollection = useFrequentlyViewed(\n 10,\n size,\n setAtEnd\n );\n\n useScrollToTop();\n\n return (\n <div className=\"collections collections-collection\">\n <header>\n <Container>\n <Link to=\"../\" className=\"exit\">\n &larr; Back\n </Link>\n <h1>{frequentlyViewed.name}</h1>\n <span className=\"count\">\n {frequentlyViewed.article_count}{\" \"}\n {frequentlyViewed.article_count === 1 ? \"article\" : \"articles\"}\n </span>\n <p>{frequentlyViewed.description}</p>\n </Container>\n </header>\n <Container>\n {frequentlyViewed.items.map((item) => (\n <ItemComponent addNoteEnabled={false} key={item.id} item={item} />\n ))}\n {!atEnd && (\n <div className=\"pagination\">\n <Button\n type=\"primary\"\n onClickHandler={() => {\n setSize(size + 10);\n }}\n >\n Show more\n </Button>\n </div>\n )}\n </Container>\n </div>\n );\n}\n\nfunction ItemComponent({\n addNoteEnabled = true,\n item,\n mutate,\n}: {\n addNoteEnabled?: boolean;\n item: Item | FrequentlyViewedItem;\n mutate?: KeyedMutator<Item[][]> | InfiniteKeyedMutator<Item[][]>;\n}) {\n const [slicedNote, setSlicedNote] = useState<string>();\n const [note, setNote] = useState<string>();\n\n const locale = useLocale();\n const gleanClick = useGleanClick();\n\n useEffect(() => {\n const slicedNote = item.notes && charSlice(item.notes, 0, 180);\n setSlicedNote(slicedNote);\n setNote(slicedNote);\n }, [item.notes]);\n\n const breadcrumbs = item.parents\n .slice(0, -1)\n .map((parent) => camelWrap(parent.title))\n .filter(\n // remove duplicated titles\n (title, index, titles) => title !== titles[index + 1]\n );\n\n const openBookmarkMenu: React.MouseEventHandler = (e) => {\n const article = e.currentTarget.closest(\"article\");\n [\n article?.querySelector(\".article-actions-toggle\"),\n article?.querySelector(\".bookmark-button\"),\n ].forEach((button) => {\n if (button instanceof HTMLElement) {\n if (getComputedStyle(button).display === \"none\") return;\n button.click();\n }\n });\n };\n\n const { data: doc } = useSWR<DocMetadata>(\n `${item.url}/metadata.json`,\n async (url) => {\n const response = await fetch(url);\n\n if (!response.ok) {\n throw Error(response.statusText);\n }\n\n return (await response.json()) as DocMetadata;\n },\n {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n }\n );\n\n const category = getCategoryByPathname(item.url);\n\n return (\n <article\n key={item.url}\n className={category ? `category-${category}` : undefined}\n >\n <header>\n <h2>\n <a href={item.url}>{camelWrap(item.title)}</a>\n </h2>\n <ArticleActions\n doc={doc}\n showTranslations={false}\n item={\"collection_id\" in item ? item : undefined}\n scopedMutator={mutate}\n />\n </header>\n <div className=\"breadcrumbs\">{breadcrumbs.join(\" > \")}</div>\n {doc && (\n <>\n <p>{doc.summary}</p>\n <aside>\n <LastModified value={doc.modified} locale={locale} />,{\" \"}\n <Authors url={item.url} />\n </aside>\n </>\n )}\n {note ? (\n <div className=\"note\">\n <div>\n {doc && (\n <Button\n icon=\"edit\"\n type=\"action\"\n onClickHandler={(e) => {\n gleanClick(PLUS_COLLECTIONS.ACTIONS_NOTE_EDIT);\n return openBookmarkMenu(e);\n }}\n >\n <span className=\"visually-hidden\">Edit note</span>\n </Button>\n )}\n </div>\n <div className=\"text\">\n <p className={item.notes?.includes(\"{\") ? \"code\" : \"\"}>\n {note.trimEnd()}\n </p>\n {slicedNote !== item.notes &&\n (note !== item.notes ? (\n <>\n {\"… \"}\n <Button\n type=\"link\"\n onClickHandler={() => setNote(item.notes)}\n >\n See full note\n </Button>\n </>\n ) : (\n <>\n {\" \"}\n <Button\n type=\"link\"\n onClickHandler={() => setNote(slicedNote)}\n >\n Show less\n </Button>\n </>\n ))}\n </div>\n </div>\n ) : doc && addNoteEnabled ? (\n <Button\n extraClasses=\"add-note\"\n icon=\"edit\"\n type=\"action\"\n onClickHandler={(e) => {\n gleanClick(PLUS_COLLECTIONS.ACTIONS_NOTE_ADD);\n return openBookmarkMenu(e);\n }}\n >\n Add note\n </Button>\n ) : null}\n </article>\n );\n}\n","import React, { useState } from \"react\";\n\nimport Container from \"../../ui/atoms/container\";\nimport { Button } from \"../../ui/atoms/button\";\nimport NewEditCollectionModal from \"./new-edit-collection-modal\";\nimport { Route, Routes } from \"react-router\";\nimport { Collection, useCollectionDelete, useCollections } from \"./api\";\nimport { Link } from \"react-router-dom\";\nimport {\n CollectionComponent,\n FrequentlyViewedCollectionComponent,\n} from \"./collection\";\nimport { DropdownMenuWrapper, DropdownMenu } from \"../../ui/molecules/dropdown\";\nimport MDNModal from \"../../ui/atoms/modal\";\nimport { Loading } from \"../../ui/atoms/loading\";\nimport NoteCard from \"../../ui/molecules/notecards\";\n\nimport \"./index.scss\";\n\nimport dayjs from \"dayjs\";\nimport relativeTime from \"dayjs/plugin/relativeTime\";\nimport Mandala from \"../../ui/molecules/mandala\";\nimport { useGleanClick } from \"../../telemetry/glean-context\";\nimport { PLUS_COLLECTIONS } from \"../../telemetry/constants\";\nimport { camelWrap } from \"../../utils\";\nimport { useFrequentlyViewed } from \"./frequently-viewed\";\nimport { Icon } from \"../../ui/atoms/icon\";\nimport { MDN_PLUS_TITLE } from \"../../constants\";\nimport { SWRConfig } from \"swr\";\ndayjs.extend(relativeTime);\n\nconst swrConfig = { revalidateOnFocus: false, revalidateIfStale: false };\nexport default function Collections() {\n return (\n <SWRConfig value={swrConfig}>\n <Routes>\n <Route path=\"/\" element={<Overview />} />\n <Route\n path=\"frequently-viewed\"\n element={<FrequentlyViewedCollectionComponent />}\n />\n <Route path=\":collectionId\" element={<CollectionComponent />} />\n </Routes>\n </SWRConfig>\n );\n}\n\nfunction Overview() {\n document.title = `Collections | ${MDN_PLUS_TITLE}`;\n const { data, isLoading, error } = useCollections();\n const [showCreate, setShowCreate] = useState(false);\n const gleanClick = useGleanClick();\n\n let collectionCards = data?.map((collection) => (\n <CollectionCard key={collection.id} {...{ collection }} />\n ));\n const frequentlyViewedCard = (\n <FrequentlyViewedCollectionCard key={\"frequently-viewed\"} />\n );\n if (collectionCards && frequentlyViewedCard) {\n collectionCards.splice(1, 0, frequentlyViewedCard);\n }\n\n return (\n <div className=\"collections collections-overview\">\n <header className=\"plus-header-mandala\">\n <Container>\n <h1>\n <div className=\"mandala-icon-wrapper\">\n <Mandala />\n <Icon name=\"bookmark-filled\" />\n </div>\n <span>Collections</span>\n </h1>\n <p>\n Save and group your favorite MDN articles to easily find them later\n on.\n <br />\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n href=\"https://survey.alchemer.com/s3/6988450/Feature-Preview-User-Feedback-Multiple-Collections\"\n >\n We'd love to hear your feedback!\n </a>\n </p>\n <Button\n onClickHandler={() => {\n gleanClick(PLUS_COLLECTIONS.BANNER_NEW);\n setShowCreate(true);\n }}\n isDisabled={isLoading}\n >\n New Collection\n </Button>\n <NewEditCollectionModal\n show={showCreate}\n setShow={setShowCreate}\n source={PLUS_COLLECTIONS.NEW_MODAL_SUBMIT_COLLECTIONS_PAGE}\n />\n </Container>\n </header>\n <Container>\n {isLoading ? (\n <Loading />\n ) : data ? (\n collectionCards\n ) : error ? (\n <NoteCard type=\"error\">\n <h4>Error</h4>\n <p>{error.message}</p>\n </NoteCard>\n ) : (\n \"Create a new collection...\"\n )}\n </Container>\n </div>\n );\n}\n\nfunction CollectionCard({ collection }: { collection: Collection }) {\n const [showDropdown, setShowDropdown] = useState(false);\n const [showEdit, setShowEdit] = useState(false);\n const [showDelete, setShowDelete] = useState(false);\n const {\n mutator: deleter,\n error,\n resetError,\n isPending,\n } = useCollectionDelete();\n\n const deleteHandler = async (e: React.MouseEvent) => {\n e.preventDefault();\n if (isPending) return;\n await deleter(collection);\n setShowDelete(false);\n };\n\n const deleteCancelHandler = async (e: React.MouseEvent) => {\n e.preventDefault();\n if (isPending) return;\n resetError();\n setShowDelete(false);\n };\n\n return collection.name === \"Default\" ? (\n <DefaultCollectionCard collection={collection} />\n ) : (\n <article key={collection.id}>\n <header>\n <h2>\n <Link to={collection.id}>{camelWrap(collection.name)}</Link>\n </h2>\n {collection.name !== \"Default\" ? (\n <DropdownMenuWrapper\n className=\"dropdown is-flush-right\"\n isOpen={showDropdown}\n setIsOpen={setShowDropdown}\n >\n <Button\n type=\"action\"\n icon=\"ellipses\"\n aria-controls=\"collection-dropdown\"\n aria-haspopup=\"menu\"\n aria-expanded={showDropdown || undefined}\n onClickHandler={() => {\n setShowDropdown(!showDropdown);\n }}\n />\n <DropdownMenu>\n <ul className=\"dropdown-list\" id=\"collection-dropdown\">\n <li className=\"dropdown-item\">\n <Button\n type=\"action\"\n title=\"Edit\"\n onClickHandler={() => {\n setShowEdit(true);\n\n setShowDropdown(false);\n }}\n >\n Edit\n </Button>\n </li>\n <li className=\"dropdown-item\">\n <Button\n type=\"action\"\n title=\"Delete\"\n onClickHandler={() => {\n setShowDelete(true);\n setShowDropdown(false);\n }}\n >\n Delete\n </Button>\n </li>\n </ul>\n </DropdownMenu>\n </DropdownMenuWrapper>\n ) : null}\n <NewEditCollectionModal\n editingCollection={collection}\n show={showEdit}\n setShow={setShowEdit}\n source={PLUS_COLLECTIONS.NEW_MODAL_SUBMIT_COLLECTIONS_PAGE}\n />\n <MDNModal\n isOpen={showDelete}\n size=\"small\"\n onRequestClose={deleteCancelHandler}\n extraOverlayClassName={isPending ? \"wait\" : \"\"}\n >\n <header className=\"modal-header\">\n <h2 className=\"modal-heading\">Delete collection</h2>\n <Button\n onClickHandler={deleteCancelHandler}\n type=\"action\"\n icon=\"cancel\"\n extraClasses=\"close-button\"\n />\n </header>\n <div className=\"modal-body\">\n {error && (\n <NoteCard type=\"error\">\n <p>Error: {error.message}</p>\n </NoteCard>\n )}\n <p>\n Are you sure you want to delete your collection \"{collection.name}\n \"?\n </p>\n <div className=\"mdn-form-item is-button-row\">\n <Button onClickHandler={deleteHandler} isDisabled={isPending}>\n {isPending ? \"Deleting...\" : \"Delete\"}\n </Button>\n <Button\n onClickHandler={deleteCancelHandler}\n type=\"secondary\"\n isDisabled={isPending}\n >\n Cancel\n </Button>\n </div>\n </div>\n </MDNModal>\n </header>\n {collection.description && <p>{camelWrap(collection.description)}</p>}\n <footer>\n <Link to={collection.id} className=\"count\">\n {collection.article_count}{\" \"}\n {collection.article_count === 1 ? \"article\" : \"articles\"}\n </Link>\n <time dateTime={dayjs(collection.updated_at).toISOString()}>\n Edited {dayjs(collection.updated_at).fromNow().toString()}\n </time>\n </footer>\n </article>\n );\n}\n\nfunction DefaultCollectionCard({ collection }: { collection: Collection }) {\n return (\n <article key={collection.id} className=\"default\">\n <header>\n <h2>\n <Link to={collection.id}>Saved Articles</Link>\n </h2>\n </header>\n <p>The default collection.</p>\n <footer>\n <Link to={collection.id} className=\"count\">\n {collection.article_count}{\" \"}\n {collection.article_count === 1 ? \"article\" : \"articles\"}\n </Link>\n <time dateTime={dayjs(collection.updated_at).toISOString()}>\n Edited {dayjs(collection.updated_at).fromNow().toString()}\n </time>\n </footer>\n </article>\n );\n}\n\nfunction FrequentlyViewedCollectionCard() {\n const collection = useFrequentlyViewed();\n if (!collection.items.length) {\n return null;\n }\n return (\n <article key={collection.name} className=\"default\">\n <header>\n <h2>\n <Link to={\"frequently-viewed\"}>{collection.name}</Link>\n </h2>\n </header>\n <p>{collection.description}</p>\n <footer>\n <Link to={\"frequently-viewed\"} className=\"count\">\n {collection.article_count}{\" \"}\n {collection.article_count === 1 ? \"article\" : \"articles\"}\n </Link>\n <time dateTime={dayjs(collection.updated_at).toISOString()}>\n Updated {dayjs(collection.updated_at).fromNow().toString()}\n </time>\n </footer>\n </article>\n );\n}\n","import \"./index.scss\";\n\nexport default function Container({\n children,\n extraClasses,\n optional,\n}: {\n children: React.ReactNode;\n extraClasses?: string;\n optional?: boolean;\n}) {\n return (\n <>\n {optional === true ? (\n <>{children}</>\n ) : (\n <div className={`container ${extraClasses || \"\"}`}>{children}</div>\n )}\n </>\n );\n}\n"],"names":["m","n","r","String","Array","p","arguments","b","Math","Date","NaN","Number","t","s","OnGitHubLink","param","doc","SourceOnGitHubLink","NewIssueOnGitHubLink","_doc_source","folder","github_url","last_commit_url","children","locale","url","URL","sp","URLSearchParams","string","Object","LastModified","value","date","Authors","FEEDBACK_REASONS","FEEDBACK_REASONS_DE","ArticleFooter","_useState","view","setView","_useState1","reason","setReason","gleanClick","useGleanClick","handleVote","ARTICLE_FOOTER","THUMBS","ArticleFooterSVG","Button","key","label","event","Contribute","repo","DEFAULT_LOCALE","CollectionComponent","collectionId","useParams","_useCollection","collection","collectionError","_useItems","itemPages","itemError","itemLoading","size","setSize","atEnd","mutate","useScrollToTop","name","document","MDN_PLUS_TITLE","description","Container","Link","item","ItemComponent","Loading","NoteCard","FrequentlyViewedCollectionComponent","setAtEnd","frequentlyViewed","useFrequentlyViewed","_item_notes","addNoteEnabled","slicedNote","setSlicedNote","note","setNote","useLocale","useEffect","charSlice","breadcrumbs","parent","camelWrap","title","index","titles","openBookmarkMenu","e","article","button","HTMLElement","getComputedStyle","_useSWR","response","fetch","Error","category","getCategoryByPathname","undefined","ArticleActions","PLUS_COLLECTIONS","dayjs","relativeTime","swrConfig","Collections","SWRConfig","Routes","Route","Overview","_useCollections","data","isLoading","error","showCreate","setShowCreate","collectionCards","CollectionCard","frequentlyViewedCard","FrequentlyViewedCollectionCard","Mandala","Icon","NewEditCollectionModal","showDropdown","setShowDropdown","showEdit","setShowEdit","_useState2","showDelete","setShowDelete","_useCollectionDelete","deleter","resetError","isPending","deleteCancelHandler","DefaultCollectionCard","DropdownMenuWrapper","DropdownMenu","MDNModal","extraClasses","optional"],"mappings":"6HAAoE,EAAO,OAAO,CAAC,AAA2H,WAAW,aAAa,IAAuB,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,OAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,6FAA6F,EAAE,sFAAiYA,EAAE,SAAS,CAAC,CAAC,CAAC,CAACC,CAAC,EAAE,IAAIC,EAAEC,OAAO,GAAG,MAAM,CAACD,GAAGA,EAAE,MAAM,EAAE,EAAE,EAAE,GAAGE,MAAM,EAAE,EAAEF,EAAE,MAAM,EAAE,IAAI,CAACD,GAAG,CAAC,EAAshB,EAAE,KAAK,EAAE,CAAC,CAAE,EAAC,CAAC,EAAE,CAAz6B,CAAC,KAAK,KAAK,SAAS,2DAA2D,KAAK,CAAC,KAAK,OAAO,wFAAwF,KAAK,CAAC,KAAK,QAAQ,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,CAACA,EAAE,EAAE,IAAI,MAAM,IAAI,EAAG,EAAC,CAAC,AAACA,CAAAA,EAAE,EAAC,EAAG,GAAG,EAAE,CAAC,CAACA,EAAE,EAAE,CAAC,CAAC,EAAE,AAAD,EAAG,GAAG,CAAC,EAAqoB,IAAII,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,OAAO,aAAa,GAAG,CAAE,EAAC,GAAG,CAAC,CAAC,CAACA,EAAE,AAAD,CAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAACJ,CAAC,CAACC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,WAAW,EAAG,EAAC,CAAC,EAAE,EAAG,GAAE,GAAGD,GAAI,EAAC,CAAC,EAAE,CAACA,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,AAAC,EAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAACC,GAAG,GAAI,GAAE,GAAG,GAAG,CAACA,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,GAAG,IAAID,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC,EAAE,OAAOA,EAAE,IAAI,CAAC,EAAEA,EAAE,IAAI,CAACK,UAAU,IAAI,EAAEL,EAAE,EAAEM,EAAj8B,CAAC,EAAEP,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,GAAGC,EAAEO,KAAK,GAAG,CAAC,GAA6B,MAAM,AAAC,IAAG,EAAE,IAAI,GAAE,EAAGR,EAA7CQ,KAAK,KAAK,CAACP,EAAE,IAAoC,EAAE,KAAK,IAAID,EAAzCC,EAAE,GAA2C,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAACA,CAAC,EAAE,GAAG,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAG,MAAM,CAAC,EAAEA,EAAE,GAAG,IAAIC,EAAE,GAAID,CAAAA,EAAE,IAAI,GAAG,EAAE,IAAI,EAAC,EAAIA,CAAAA,EAAE,KAAK,GAAG,EAAE,KAAK,EAAC,EAAG,EAAE,EAAE,KAAK,GAAG,GAAG,CAACC,EAAE,GAAG,EAAED,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,GAAG,CAACC,EAAG,GAAE,GAAG,GAAG,GAAG,MAAM,CAAE,EAAEA,CAAAA,EAAE,AAACD,CAAAA,EAAE,GAAI,GAAE,EAAE,EAAE,EAAE,EAAC,GAAI,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAEO,KAAK,IAAI,CAAC,IAAI,EAAEA,KAAK,KAAK,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAxiC,MAA4iC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAC,CAAC,EAAE,EAAEL,OAAO,GAAG,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAqbI,CAAAA,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAACF,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAACJ,EAAE,EAAE,GAAG,CAAC,GAAG,OAAO,EAAE,OAAO,IAAIQ,KAAKC,KAAK,GAAGH,EAAE,CAAC,CAAC,GAAG,OAAO,IAAIE,KAAK,GAAG,aAAaA,KAAK,OAAO,IAAIA,KAAK,GAAG,GAAG,UAAU,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAIP,EAAE,EAAE,KAAK,CAAC,GAAG,GAAGA,EAAE,CAAC,IAAI,EAAEA,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,AAACA,CAAAA,CAAC,CAAC,EAAE,EAAE,GAAE,EAAG,SAAS,CAAC,EAAE,GAAG,OAAOD,EAAE,IAAIQ,KAAKA,KAAK,GAAG,CAACP,CAAC,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,IAAIO,KAAKP,CAAC,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,IAAIO,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,CAAC,EAAE,AAAC,KAAI,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,WAAW,OAAOF,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,OAAQ,IAAI,CAAC,EAAE,CAAC,QAAQ,KAAK,CAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAIN,EAAE,EAAE,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,IAAIA,GAAGA,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAACA,CAAC,EAAE,OAAOM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAACN,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,OAAOO,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,WAAW,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAACD,EAAE,CAAC,CAAC,IAAI,EAAE,EAAEA,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAEA,EAAE,CAAC,CAAC,EAAE,EAAE,CAACE,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAIA,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,EAAE,EAAE,EAAE,KAAK,CAA9+F,MAAi/F,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAOF,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,AAAC,GAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,AAAD,EAAG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAO,KAAI,CAAC,EAAE,CAAC,MAAM,EAAC,EAAG,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAI,MAAK,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAG,MAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,AAAC,GAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAG,GAAE,GAAG,EAAG,KAAjzG,MAAwzG,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAG,MAAK,EAAE,OAAO,EAAE,EAAE,UAAU,EAAG,MAAK,EAAE,OAAO,EAAE,EAAE,UAAU,EAAG,MAAK,EAAE,OAAO,EAAE,EAAE,eAAe,EAAG,SAAQ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAEA,EAAE,CAAC,CAAC,GAAG,EAAE,MAAO,KAAI,CAAC,EAAE,CAAC,MAAM,EAAC,EAAG,EAAE,AAAC,CAAK,CAAL,EAAE,CAAC,GAAzkH,GAA+kH,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,AAAvtH,QAAutH,EAAM,IAAI,CAAC,EAAE,CAAE,GAAE,IAAI,CAAC,EAAE,AAAD,EAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,EAAG,GAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAEC,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,WAAW,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,CAACD,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,EAAEI,OAAO,GAAG,IAAI,EAAEJ,EAAE,CAAC,CAAC,GAAG,EAAE,SAASK,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,OAAOL,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAGC,KAAK,KAAK,CAACI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,AAAvsI,QAAusI,EAAM,OAAO,EAAE,GAAG,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,AAAC,CAAK,CAAL,EAAE,CAAC,EAAG,CAAC,EAAE,CAA1zI,IAA6zI,CAAC,CAAC,EAAE,CAA3zI,KAA8zI,CAAC,CAAC,EAAE,CAA90I,IAAi1I,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,OAAOL,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAACN,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,OAAOA,EAAE,WAAW,EAAE,EAAE,IAAIC,EAAE,GAAG,uBAAuB,EAAEK,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAEN,EAAE,QAAQ,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAACA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,GAAI,EAAC,CAACA,EAAE,EAAE,EAAE,EAAEC,EAAC,GAAI,CAAC,CAACD,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,OAAOM,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAACN,CAAC,EAAE,IAAIC,EAAE,EAAE,GAAG,KAAK,KAAK,OAAOD,EAAEC,EAAE,WAAW,GAAGA,CAAC,EAAE,OAAOA,EAAE,OAAO,CAAC,EAAG,SAAS,CAAC,CAACA,CAAC,EAAE,OAAOA,GAAG,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,KAAK,OAAOC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,GAAI,KAAI,OAAO,OAAOI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAK,KAAI,IAAI,OAAO,EAAE,CAAE,KAAI,KAAK,OAAOA,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAK,KAAI,MAAM,OAAO,EAAEN,EAAE,WAAW,CAAC,EAAE,EAAE,EAAG,KAAI,OAAO,OAAO,EAAE,EAAE,EAAG,KAAI,IAAI,OAAO,EAAE,EAAE,AAAC,KAAI,KAAK,OAAOM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAK,KAAI,IAAI,OAAOJ,OAAO,EAAE,EAAE,CAAE,KAAI,KAAK,OAAO,EAAEF,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,EAAG,KAAI,MAAM,OAAO,EAAEA,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,EAAE,EAAG,KAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,AAAC,KAAI,IAAI,OAAOE,OAAO,EAAG,KAAI,KAAK,OAAOI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAK,KAAI,IAAI,OAAO,EAAE,EAAG,KAAI,KAAK,OAAO,EAAE,EAAG,KAAI,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC,EAAG,KAAI,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC,EAAG,KAAI,IAAI,OAAOJ,OAAO,EAAG,KAAI,KAAK,OAAOI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAK,KAAI,IAAI,OAAOJ,OAAO,EAAE,EAAE,CAAE,KAAI,KAAK,OAAOI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAK,KAAI,MAAM,OAAOA,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAK,KAAI,IAAI,OAAO,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,EAAG,EAAE,EAAE,SAAS,CAAC,WAAW,MAAO,KAAIC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,GAAG,GAAE,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,EAAED,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,AAAC,GAAE,SAAS,GAAG,IAAI,CAAC,SAAS,EAAC,EAA1uL,IAA+uL,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,OAAOA,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE,IAAI,GAAG,KAAM,MAAK,EAAE,EAAE,IAAI,KAAM,MAAK,EAAE,EAAE,IAAI,EAAE,KAAM,MAAK,EAAE,EAAE,AAAC,GAAE,GAAG,OAAO,KAAM,KAA9zL,MAAq0L,EAAE,AAAC,GAAE,GAAG,MAAM,KAAM,MAAK,EAAE,EAAE,EAAx5L,KAA45L,KAAM,MAAK,EAAE,EAAE,EAAj7L,IAAq7L,KAAM,MAAK,EAAE,EAAE,EAA18L,IAA88L,KAAM,SAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAEA,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,WAAW,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,IAAIN,EAAE,IAAI,CAAC,KAAK,GAAGC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,OAAOA,GAAID,CAAAA,EAAE,EAAE,CAACC,CAAAA,EAAGD,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,OAAOM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,OAAO,IAAIE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,MAAM,CAAC,WAAW,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,EAAE,WAAW,CAAC,WAAW,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,CAAC,WAAW,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAA38M,MAAk9M,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAG,GAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,G,mBCAh7N,EAAO,OAAO,CAA+K,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,QAAQ,KAAK,SAAS,EAAE,gBAAgB,EAAE,WAAW,GAAG,aAAa,EAAE,UAAU,GAAG,WAAW,EAAE,QAAQ,GAAG,UAAU,EAAE,UAAU,GAAG,YAAY,EAAE,SAAS,GAAG,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,EAAEI,EAAE,EAAE,EAAE,OAAO,GAAG,YAAY,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,AAAC,GAAE,CAAC,EAAG,GAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAC,EAAG,IAAI,EAAE,AAAC,GAAE,QAAQ,EAAEL,KAAK,KAAK,AAAD,EAAGA,KAAK,GAAG,CAAC,IAAI,GAAGK,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAI,GAAE,CAAC,CAAC,EAAE,EAAE,AAAD,EAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,AAAC,IAAI,GAAE,EAAE,GAAG,EAAC,EAAG,EAAE,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAACA,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAEA,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,YAAY,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAAE,GAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,C,gECAr4C,EAAO,EAAU,EAAI,EAAK,E,iCCEvB,SAASC,EAAaC,CAAqB,E,IAAnBC,EAAFD,EAAEC,GAAG,CAChC,OACE,gBAAC,OAAI,GAAG,YAAY,UAAU,W,EAC5B,gBAACC,EAAAA,CAAmB,IAAKD,C,EACtBA,AAAe,OAAfA,EAAI,MAAM,CACP,2BACA,sCACgB,IAAI,IACxB,IACF,gBAACE,EAAAA,CAAqB,IAAKF,C,EACxBA,AAAe,OAAfA,EAAI,MAAM,CACP,qCACA,2CAIZ,CA0CA,SAASE,EAAqBH,CAM7B,E,IA/B+CI,EAAxCC,EAAQC,EAAYC,EA0B1BN,EAD4BD,EAC5BC,GAAG,CACHO,EAF4BR,EAE5BQ,QAAQ,CAKAC,EAAWR,EAAXQ,MAAM,CACRC,EAAM,IAAIC,IAAI,uBACdC,EAAK,IAAIC,gBAsBf,OApBAH,EAAI,QAAQ,CACVD,AAAW,UAAXA,EACI,qCACA,0BAEFA,AAAW,OAAXA,GACFC,CAAAA,EAAI,QAAQ,CAAG,uCAAsC,EAGvDE,EAAG,GAAG,CACJ,WACAH,AAAW,UAAXA,EACK,eAAmC,OAArBA,EAAO,WAAW,GAAG,QACpC,mBAENG,EAAG,GAAG,CAAC,UAAY,gCAA2C,OAAZX,EAAI,OAAO,GAC7DW,EAAG,GAAG,CAAC,YApDDP,EAAwCD,CAAAA,EAAAA,AAoDKH,EApDD,MAAM,EAAlDI,MAAM,CAAEC,EAAgCF,EAAhCE,UAAU,CAAEC,EAAoBH,EAApBG,eAAe,CAEtB,OAAfN,AAkD+CA,EAlD3C,MAAM,GACZK,EAAaA,EAAW,OAAO,CAC7B,uBACA,2BAEFC,EAAkBA,EAAgB,OAAO,CACvC,uBACA,4BAIGO,AA5BkB,iSA6BtB,OAAO,CAAC,cAAeb,AAsCyBA,EAtCrB,OAAO,EAClC,OAAO,CAAC,YAAaI,GACrB,OAAO,CAAC,gBAAiBC,GACzB,OAAO,CAAC,qBAAsBC,GAC9B,OAAO,CACN,UACAN,AAgC+CA,EAhC3C,QAAQ,CAAG,IAAIP,KAAKO,AAgCuBA,EAhCnB,QAAQ,EAAE,WAAW,GAAK,oBAEvD,IAAI,KAgCPS,EAAI,MAAM,CAAGE,EAAG,QAAQ,GAGtB,gBAAC,KACC,KAAMF,EAAI,IAAI,CACd,MAAM,oDACN,OAAO,SACP,IAAI,qB,EAEHF,EAGP,CAEA,SAASN,EAAmBF,CAM3B,E,IALCC,EAD0BD,EAC1BC,GAAG,CACHO,EAF0BR,EAE1BQ,QAAQ,CAKqBJ,EAAAA,EAAI,MAAM,CAAjCE,EAAuBF,EAAvBE,UAAU,CAAED,EAAWD,EAAXC,MAAM,CASxB,MAPIJ,AAAe,OAAfA,EAAI,MAAM,EACZK,CAAAA,EAAaA,EAAW,OAAO,CAC7B,uBACA,0BAAyB,EAK3B,gBAAC,KACC,KAAO,GAAa,OAAXA,EAAW,YACpB,MAAQ,WAAiB,OAAPD,EAAO,yBACzB,OAAO,SACP,IAAI,qB,EAEHG,EAGP,CDhIA,SAAS,IAAa,MAAO,GAAWO,OAAO,MAAM,CAAGA,OAAO,MAAM,CAAC,IAAI,GAAK,SAAU,CAAC,EAAI,IAAK,IAAI,EAAI,EAAG,EAAIxB,UAAU,MAAM,CAAE,IAAK,CAAE,IAAI,EAAIA,SAAS,CAAC,EAAE,CAAE,IAAK,IAAIJ,KAAK,EAAG,AAAC,EAAC,GAAG,cAAc,CAAC,IAAI,CAAC,EAAGA,IAAO,EAAC,CAACA,EAAE,CAAG,CAAC,CAACA,EAAE,AAAD,CAAI,CAAE,OAAO,CAAG,GAAY,MAAM,KAAMI,UAAY,CAmFnR,IAAM,EAA0B,2BAhFP,CAAC,CACxB,OAAK,CACLM,QAAAA,CAAO,CACP,GAAG,EACJ,CAAE,IAAqB,eAAmB,CAAC,MAAO,EAAS,CAC1D,MAAO,6BACP,MAAO,IACP,OAAQ,IACR,QAAS,cACT,KAAM,OACN,IAAK,EACL,kBAAmBA,CACrB,EAAG,GAAQ,EAAqB,eAAmB,CAAC,QAAS,CAC3D,GAAIA,CACN,EAAG,GAAS,KAAM,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CAC3E,GAAI,IACJ,KAAM,MACR,EAAgB,eAAmB,CAAC,OAAQ,CAC1C,EAAG,okBACL,GAAE,EAAiB,eAAmB,CAAC,OAAQ,CAC7C,OAAQ,UACR,gBAAiB,OACjB,YAAa,EACb,EAAG,qkBACH,KAAM,UACN,MAAO,CACL,OAAQ,SACV,EACA,UAAW,4BACb,GAAI,GAAa,GAAwB,eAAmB,CAAC,UAAW,CACtE,GAAI,MACJ,GAAI,QACJ,KAAM,6BACN,GAAI,OACJ,GAAI,OACJ,UAAW,sCACb,EAAC,EAAI,GAAO,GAAkB,eAAmB,CAAC,IAAK,CACrD,SAAU,UACV,UAAW,4BACb,EAAgB,eAAmB,CAAC,OAAQ,CAC1C,KAAM,UACN,EAAG,odACL,GAAE,EAAI,GAAQ,GAAmB,eAAmB,CAAC,IAAK,CACxD,SAAU,UACV,UAAW,4BACb,EAAgB,eAAmB,CAAC,OAAQ,CAC1C,KAAM,UACN,EAAG,ieACL,GAAE,EAAI,GAAU,GAAqB,eAAmB,CAAC,OAAQ,KAAmB,eAAmB,CAAC,WAAY,CAClH,GAAI,GACN,EAAgB,eAAmB,CAAC,OAAQ,CAC1C,KAAM,OACN,EAAG,6DACL,IAAkB,eAAmB,CAAC,WAAY,CAChD,GAAI,GACN,EAAgB,eAAmB,CAAC,OAAQ,CAC1C,KAAM,OACN,EAAG,wDACL,IAAkB,eAAmB,CAAC,iBAAkB,CACtD,GAAI,IACJ,GAAI,OACJ,GAAI,QACJ,GAAI,MACJ,GAAI,QACJ,cAAe,gBACjB,EAAgB,eAAmB,CAAC,OAAQ,CAC1C,UAAW,SACb,GAAiB,eAAmB,CAAC,OAAQ,CAC3C,OAAQ,KACR,UAAW,SACb,GAAiB,eAAmB,CAAC,OAAQ,CAC3C,OAAQ,KACR,UAAW,SACb,GAAiB,eAAmB,CAAC,OAAQ,CAC3C,OAAQ,KACR,UAAW,SACb,GAAiB,eAAmB,CAAC,OAAQ,CAC3C,OAAQ,EACR,UAAW,SACb,IAAG,IACyD,K,4+BE3ErD,SAASmB,EAAahB,CAAiB,E,IAAfiB,EAAFjB,EAAEiB,KAAK,CAAER,EAATT,EAASS,MAAM,CAC1C,GAAI,CAACQ,EACH,OAAO,gBAAC,YAAK,gCAEf,IAAMC,EAAO,IAAIxB,KAAKuB,GAOtB,OACE,gCAAE,iCAC+B,IAC/B,gBAAC,QAAK,SAAUA,EAAO,2B,EACpBC,EAAK,cAAc,CAACT,EAT2B,CACpD,KAAM,UACN,MAAO,QACP,IAAK,SACP,IASF,CAEO,SAASU,EAAQnB,CAAO,E,IAALU,EAAFV,EAAEU,GAAG,CAC3B,OACE,gBAAC,KAAE,KAAO,GAAM,OAAJA,EAAI,qBAAoB,IAAI,U,EAAW,mBAIvD,CAkBA,IAAMU,EAA4D,WAChE,SAAU,yBACV,WAAY,sBACZ,cAAe,wCACf,MAAO,OACT,EAAC,KAEKC,EAA+D,WACnE,UAAW,6CACX,YAAa,0CACb,iBAAkB,2CAClB,WAAY,+CACZ,cAAe,qCACf,MAAO,UACT,EAAC,KAEM,SAASC,EAActB,CAAO,E,IAALC,EAAFD,EAAEC,GAAG,CACTsB,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAQA,GAAAA,GAAzBC,EAAiBD,CAAAA,CAAAA,EAAAA,CAAXE,EAAWF,CAAAA,CAAAA,EAAAA,CACIG,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,IAAQA,GAA7BC,EAAqBD,CAAAA,CAAAA,EAAAA,CAAbE,EAAaF,CAAAA,CAAAA,EAAAA,CAEtBG,EAAaC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAEnB,SAASC,EAAWd,CAAc,EAChCQ,EAAQR,EAAQ,EAARA,GAERY,EAAY,GAAaG,MAAAA,CAAXC,EAAAA,EAAMA,CAAC,MAAyBrC,MAAAA,CAArBoC,EAAAA,EAAcA,CAAC,QAAoB,OAAdpC,OAAOqB,IACvD,CAOA,OACE,gBAAC,SAAM,UAAU,gB,EACf,gBAAC,OAAI,UAAU,sB,EACb,gBAAC,OAAI,UAAU,e,EACb,gBAACiB,EAAgBA,CAAC,KAAK,M,IAEzB,gBAAC,UAAIjC,AAAe,OAAfA,EAAI,MAAM,CAAY,mBAAqB,oBAEhD,gBAAC,YAAS,UAAU,U,EACjBuB,AAAS,IAATA,EACC,gCACE,gBAAC,aACEvB,AAAe,OAAfA,EAAI,MAAM,CACP,gCACA,uCAEN,gBAAC,OAAI,UAAU,kB,EACb,gBAACkC,EAAAA,CAAMA,CAAAA,CACL,KAAK,YACL,aAAa,MACb,eAAgB,W,OAAMJ,EAAW,G,GAEhC9B,AAAe,OAAfA,EAAI,MAAM,CAAY,MAAQ,MAEjC,gBAACkC,EAAAA,CAAMA,CAAAA,CACL,KAAK,cACL,aAAa,KACb,eAAgB,W,OAAMJ,EAAW,G,GAEhC9B,AAAe,OAAfA,EAAI,MAAM,CAAY,KAAO,UAIlCuB,AAAS,IAATA,EACF,gCACE,gBAAC,aACEvB,AAAe,OAAfA,EAAI,MAAM,CACP,wCACA,mDAELc,OAAO,OAAO,CACbd,AAAe,OAAfA,EAAI,MAAM,CAAYmB,EAAmBC,GACzC,GAAG,CAAC,Y,aAAEe,EAAAA,CAAAA,CAAAA,EAAAA,CAAKC,EAAAA,CAAAA,CAAAA,EAAAA,C,OACX,gBAAC,OAAI,UAAU,kBAAkB,IAAKD,C,EACpC,gBAAC,SACC,KAAK,QACL,GAAK,UAAa,OAAJA,GACd,KAAK,SACL,MAAOA,EACP,QAAST,IAAWS,EACpB,SAAU,SAACE,CAAK,E,OAAKV,EAAUU,EAAM,MAAM,CAAC,KAAK,C,IAEnD,gBAAC,SAAM,QAAU,UAAa,OAAJF,E,EAAQC,G,GAGtC,gBAAC,OAAI,UAAU,kB,EACb,gBAACF,EAAAA,CAAMA,CAAAA,CACL,KAAK,UACL,WAAY,CAACR,EACb,eAAgB,WA/D9BF,EAAQ,GACRI,EAAY,GAAiCF,MAAAA,CAA/BK,EAAAA,EAAcA,CAAC,kBAAuB,OAAPL,G,GAgE9B1B,AAAe,OAAfA,EAAI,MAAM,CAAY,SAAW,gBAKxC,gBAAC,QAAK,UAAU,W,EACbA,AAAe,OAAfA,EAAI,MAAM,CACP,+BACA,yCAAoC,IACxC,gBAAC,QAAK,UAAU,O,EAAQ,QAK7BA,AAAe,OAAfA,EAAI,MAAM,EAAa,gBAACsC,EAAAA,CAAW,OAAQtC,EAAI,MAAM,A,GACtD,gBAAC,KAAE,UAAU,oB,EACVA,AAAe,OAAfA,EAAI,MAAM,CACT,gCACE,gBAACe,EAAAA,CAAa,MAAOf,EAAI,QAAQ,CAAE,OAAQA,EAAI,MAAM,A,GAAI,MAAI,IAC7D,gBAACkB,EAAAA,CAAQ,IAAKlB,EAAI,OAAO,A,GAAI,KAG/B,gCAAE,mEAGLA,EAAI,QAAQ,EAAI,gBAACF,EAAYA,CAAC,IAAKE,C,IAI5C,CAEA,SAASsC,EAAWvC,CAAU,EAC5B,IAAMwC,EAAO/B,AADKT,EAAES,MAAM,GACFgC,EAAAA,EAAcA,CAAG,UAAY,qBAErD,OACE,gCACE,gBAAC,KACC,UAAU,aACV,KAAO,0BAA8B,OAALD,EAAK,8BACrC,MAAM,+DACN,OAAO,SACP,IAAI,qB,EACL,2BAEG,IAIV,C,w1CClKO,SAASE,IACd,IAAQC,EAAiBC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IAAjBD,YAAY,CAElBE,EAAAA,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAcF,GADFG,EACZD,EADM,IAAI,CAAqBE,EAC/BF,EADwB,KAAK,CAU3BG,EAAAA,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAASL,GAPLM,EAOJD,EAPF,IAAI,CACGE,EAMLF,EANF,KAAK,CACMG,EAKTH,EALF,SAAS,CACTI,EAIEJ,EAJFI,IAAI,CACJC,EAGEL,EAHFK,OAAO,CACPC,EAEEN,EAFFM,KAAK,CACLC,EACEP,EADFO,MAAM,CAGRC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACA,IAAMC,EACJX,AAAAA,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAY,IAAI,AAAD,IAAM,UAAY,iBAAmBA,MAAAA,EAAAA,KAAAA,EAAAA,EAAY,IAAI,AACtEY,CAAAA,SAAS,KAAK,CAAI,GAA6BC,MAAAA,CAA3BF,GAAQ,cAAc,OAAoB,OAAfE,EAAAA,EAAcA,EAC7D,IAAMC,EACJd,AAAAA,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAY,IAAI,AAAD,IAAM,UACjB,0BACAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAY,WAAW,CAE7B,OAAOA,EACL,gBAAC,OAAI,UAAU,oC,EACb,gBAAC,cACC,gBAACe,EAAAA,CAASA,CAAAA,KACR,gBAACC,EAAAA,EAAIA,CAAAA,CAAC,GAAG,MAAM,UAAU,M,EAAO,UAGhC,gBAAC,UAAIL,GACL,gBAAC,QAAK,UAAU,O,EACbX,EAAW,aAAa,CAAE,IAC1BA,AAA6B,IAA7BA,EAAW,aAAa,CAAS,UAAY,YAE/Cc,GAAe,gBAAC,SAAGA,KAGxB,gBAACC,EAAAA,CAASA,CAAAA,KACPZ,AAAAA,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EACG,IAAI,CAAC,GACN,GAAG,CAAC,SAACc,CAAI,E,OACR,gBAACC,EAAAA,CAAc,IAAKD,EAAK,EAAE,CAAQA,KAAAA,EAAMR,OAAAA,C,OAE1CJ,GAAe,gBAACc,EAAAA,CAAOA,CAAAA,MACzB,CAACX,GACA,gBAAC,OAAI,UAAU,Y,EACb,gBAACnB,EAAAA,CAAMA,CAAAA,CACL,KAAK,UACL,eAAgB,WACdkB,EAAQD,EAAO,EACjB,EACA,WAAYD,C,EAEXA,EACG,aACAD,EACE,oBACA,gBAOhB,gBAAC,OAAI,UAAU,oC,EACb,gBAAC,cACC,gBAACW,EAAAA,CAASA,CAAAA,KACR,gBAACC,EAAAA,EAAIA,CAAAA,CAAC,GAAG,MAAM,UAAU,M,EAAO,YAKpC,gBAACD,EAAAA,CAASA,CAAAA,KACPd,EACC,gBAACmB,EAAAA,CAAQA,CAAAA,CAAC,KAAK,O,EACb,gBAAC,UAAG,SACJ,gBAAC,SAAGnB,EAAgB,OAAO,EAC3B,gBAACZ,EAAAA,CAAMA,CAAAA,CAAC,KAAK,MAAM,KAAK,W,EAAY,YAKtC,gBAAC8B,EAAAA,CAAOA,CAAAA,OAKlB,CAEO,SAASE,IACd,IAAsB5C,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,MAA1B6B,EAAiB7B,CAAAA,CAAAA,EAAAA,CAAX8B,EAAW9B,CAAAA,CAAAA,EAAAA,CACEG,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,OAA5B4B,EAAmB5B,CAAAA,CAAAA,EAAAA,CAAZ0C,EAAY1C,CAAAA,CAAAA,EAAAA,CACpB2C,EAA+CC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACjD,GACAlB,EACAgB,GAKF,MAFAZ,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAGE,gBAAC,OAAI,UAAU,oC,EACb,gBAAC,cACC,gBAACK,EAAAA,CAASA,CAAAA,KACR,gBAACC,EAAAA,EAAIA,CAAAA,CAAC,GAAG,MAAM,UAAU,M,EAAO,UAGhC,gBAAC,UAAIO,EAAiB,IAAI,EAC1B,gBAAC,QAAK,UAAU,O,EACbA,EAAiB,aAAa,CAAE,IAChCA,AAAmC,IAAnCA,EAAiB,aAAa,CAAS,UAAY,YAEtD,gBAAC,SAAGA,EAAiB,WAAW,IAGpC,gBAACR,EAAAA,CAASA,CAAAA,KACPQ,EAAiB,KAAK,CAAC,GAAG,CAAC,SAACN,CAAI,E,OAC/B,gBAACC,EAAAA,CAAc,eAAgB,GAAO,IAAKD,EAAK,EAAE,CAAE,KAAMA,C,KAE3D,CAACT,GACA,gBAAC,OAAI,UAAU,Y,EACb,gBAACnB,EAAAA,CAAMA,CAAAA,CACL,KAAK,UACL,eAAgB,WACdkB,EAAQD,EAAO,GACjB,C,EACD,eAQb,CAEA,SAASY,EAAchE,CAQtB,E,IAiGyBuE,E,EAzGHvE,EACrBwE,cAAc,CACdT,EAFqB/D,EAErB+D,IAAI,CACJR,EAHqBvD,EAGrBuD,MAAM,CAM8BhC,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,IAAQA,GAArCkD,EAA6BlD,CAAAA,CAAAA,EAAAA,CAAjBmD,EAAiBnD,CAAAA,CAAAA,EAAAA,CACZG,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,IAAQA,GAAzBiD,EAAiBjD,CAAAA,CAAAA,EAAAA,CAAXkD,EAAWlD,CAAAA,CAAAA,EAAAA,CAElBjB,EAASoE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACThD,EAAaC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAEnBgD,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,WACR,IAAML,EAAaV,EAAK,KAAK,EAAIgB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAUhB,EAAK,KAAK,CAAE,EAAG,KAC1DW,EAAcD,GACdG,EAAQH,EACV,EAAG,CAACV,EAAK,KAAK,CAAC,EAEf,IAAMiB,EAAcjB,EAAK,OAAO,CAC7B,KAAK,CAAC,EAAG,IACT,GAAG,CAAC,SAACkB,CAAM,E,MAAKC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAUD,EAAO,KAAK,C,GACtC,MAAM,CAEL,SAACE,CAAK,CAAEC,CAAK,CAAEC,CAAM,E,OAAKF,IAAUE,CAAM,CAACD,EAAQ,EAAE,A,GAGnDE,EAA4C,SAACC,CAAC,EAClD,IAAMC,EAAUD,EAAE,aAAa,CAAC,OAAO,CAAC,WACxC,CACEC,MAAAA,EAAAA,KAAAA,EAAAA,EAAS,aAAa,CAAC,2BACvBA,MAAAA,EAAAA,KAAAA,EAAAA,EAAS,aAAa,CAAC,oBACxB,CAAC,OAAO,CAAC,SAACC,CAAM,M,YACOC,c,0EAAlBD,G,AAAAA,a,IACEE,AAAqC,SAArCA,iBAAiBF,GAAQ,OAAO,EACpCA,EAAO,KAAK,EAEhB,EACF,EAEcxF,EAAQ2F,AAAAA,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACnB,GAAW,OAAT7B,EAAK,GAAG,CAAC,kBACZ,SAAOrD,CAAG,M,0BACFmF,E,+pCAAW,O,EAAMC,MAAMpF,G,QAE7B,GAAI,CAACmF,AAFCA,CAAAA,EAAW,UAEH,EAAE,CACd,MAAME,MAAMF,EAAS,UAAU,EAGzB,O,EAAMA,EAAS,IAAI,G,QAA3B,MAAO,C,EAAC,S,GACV,E,gLACA,CACE,kBAAmB,GACnB,kBAAmB,GACnB,sBAAuB,EACzB,GAfM,IAAI,CAkBNG,EAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAsBlC,EAAK,GAAG,EAE/C,OACE,gBAAC,WACC,IAAKA,EAAK,GAAG,CACb,UAAWiC,EAAY,YAAoB,OAATA,GAAaE,M,EAE/C,gBAAC,cACC,gBAAC,UACC,gBAAC,KAAE,KAAMnC,EAAK,GAAG,A,EAAGmB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAUnB,EAAK,KAAK,IAE1C,gBAACoC,EAAAA,CAAcA,CAAAA,CACb,IAAKlG,EACL,iBAAkB,GAClB,KAAM,kBAAmB8D,EAAOA,EAAOmC,OACvC,cAAe3C,C,IAGnB,gBAAC,OAAI,UAAU,a,EAAeyB,EAAY,IAAI,CAAC,QAC9C/E,GACC,gCACE,gBAAC,SAAGA,EAAI,OAAO,EACf,gBAAC,aACC,gBAACe,EAAAA,EAAYA,CAAAA,CAAC,MAAOf,EAAI,QAAQ,CAAE,OAAQQ,C,GAAU,IAAE,IACvD,gBAACU,EAAAA,EAAOA,CAAAA,CAAC,IAAK4C,EAAK,GAAG,A,KAI3BY,EACC,gBAAC,OAAI,UAAU,M,EACb,gBAAC,WACE1E,GACC,gBAACkC,EAAAA,CAAMA,CAAAA,CACL,KAAK,OACL,KAAK,SACL,eAAgB,SAACoD,CAAC,EAEhB,OADA1D,EAAWuE,EAAAA,EAAAA,CAAAA,iBAAkC,EACtCd,EAAiBC,EAC1B,C,EAEA,gBAAC,QAAK,UAAU,iB,EAAkB,eAIxC,gBAAC,OAAI,UAAU,M,EACb,gBAAC,KAAE,UAAWhB,AAAAA,OAAAA,CAAAA,EAAAA,EAAK,KAAK,AAAD,EAATA,KAAAA,EAAAA,EAAY,QAAQ,CAAC,IAAG,EAAI,OAAS,E,EAChDI,EAAK,OAAO,IAEdF,IAAeV,EAAK,KAAK,EACvBY,CAAAA,IAASZ,EAAK,KAAK,CAClB,gCACG,KACD,gBAAC5B,EAAAA,CAAMA,CAAAA,CACL,KAAK,OACL,eAAgB,W,OAAMyC,EAAQb,EAAK,KAAK,C,GACzC,kBAKH,gCACG,IACD,gBAAC5B,EAAAA,CAAMA,CAAAA,CACL,KAAK,OACL,eAAgB,W,OAAMyC,EAAQH,E,GAC/B,iBAOTxE,GAnIS,CAAjBuE,KAAAA,IAAiB,MAoIX,gBAACrC,EAAAA,CAAMA,CAAAA,CACL,aAAa,WACb,KAAK,OACL,KAAK,SACL,eAAgB,SAACoD,CAAC,EAEhB,OADA1D,EAAWuE,EAAAA,EAAAA,CAAAA,gBAAiC,EACrCd,EAAiBC,EAC1B,C,EACD,YAGC,KAGV,CAnSAc,IAAAA,MAAY,CAACC,K,o5ECEbD,IAAAA,MAAY,CAACC,KAEb,IAAMC,EAAY,CAAE,kBAAmB,GAAO,kBAAmB,EAAM,EACxD,SAASC,IACtB,OACE,gBAACC,EAAAA,EAASA,CAAAA,CAAC,MAAOF,C,EAChB,gBAACG,EAAAA,EAAMA,CAAAA,KACL,gBAACC,EAAAA,EAAKA,CAAAA,CAAC,KAAK,IAAI,QAAS,gBAACC,EAAAA,K,GAC1B,gBAACD,EAAAA,EAAKA,CAAAA,CACJ,KAAK,oBACL,QAAS,gBAACxC,EAAmCA,K,GAE/C,gBAACwC,EAAAA,EAAKA,CAAAA,CAAC,KAAK,gBAAgB,QAAS,gBAACjE,EAAmBA,K,IAIjE,CAEA,SAASkE,IACPlD,SAAS,KAAK,CAAI,iBAA+B,OAAfC,EAAAA,EAAcA,EAChD,IAAmCkD,EAAAA,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAA3BC,EAA2BD,EAA3BC,IAAI,CAAEC,EAAqBF,EAArBE,SAAS,CAAEC,EAAUH,EAAVG,KAAK,CACMzF,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,OAAtC0F,EAA6B1F,CAAAA,CAAAA,EAAAA,CAAjB2F,EAAiB3F,CAAAA,CAAAA,EAAAA,CAC9BM,EAAaC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAEfqF,EAAkBL,MAAAA,EAAAA,KAAAA,EAAAA,EAAM,GAAG,CAAC,SAAChE,CAAU,E,OACzC,gBAACsE,EAAAA,CAAe,IAAKtE,EAAW,EAAE,CAAQA,WAAAA,C,KAEtCuE,EACJ,gBAACC,EAAAA,CAA+B,IAAK,mB,GAMvC,OAJIH,GAAmBE,GACrBF,EAAgB,MAAM,CAAC,EAAG,EAAGE,GAI7B,gBAAC,OAAI,UAAU,kC,EACb,gBAAC,UAAO,UAAU,qB,EAChB,gBAACxD,EAAAA,CAASA,CAAAA,KACR,gBAAC,UACC,gBAAC,OAAI,UAAU,sB,EACb,gBAAC0D,EAAAA,CAAOA,CAAAA,MACR,gBAACC,EAAAA,CAAIA,CAAAA,CAAC,KAAK,iB,IAEb,gBAAC,YAAK,gBAER,gBAAC,SAAE,0EAGD,gBAAC,WACD,gBAAC,KACC,IAAI,sBACJ,OAAO,SACP,KAAK,2F,EACN,qCAIH,gBAACrF,EAAAA,CAAMA,CAAAA,CACL,eAAgB,WACdN,EAAWuE,EAAAA,EAAAA,CAAAA,UAA2B,EACtCc,EAAc,GAChB,EACA,WAAYH,C,EACb,kBAGD,gBAACU,EAAAA,CAAsBA,CAAAA,CACrB,KAAMR,EACN,QAASC,EACT,OAAQd,EAAAA,EAAAA,CAAAA,iCAAkD,A,KAIhE,gBAACvC,EAAAA,CAASA,CAAAA,KACPkD,EACC,gBAAC9C,EAAAA,CAAOA,CAAAA,MACN6C,EACFK,EACEH,EACF,gBAAC9C,EAAAA,CAAQA,CAAAA,CAAC,KAAK,O,EACb,gBAAC,UAAG,SACJ,gBAAC,SAAG8C,EAAM,OAAO,GAGnB,8BAKV,CAEA,SAASI,EAAepH,CAA0C,E,IAAxC8C,EAAF9C,EAAE8C,UAAU,CACMvB,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,OAA1CmG,EAAiCnG,CAAAA,CAAAA,EAAAA,CAAnBoG,EAAmBpG,CAAAA,CAAAA,EAAAA,CACRG,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,OAAlCkG,EAAyBlG,CAAAA,CAAAA,EAAAA,CAAfmG,EAAenG,CAAAA,CAAAA,EAAAA,CACIoG,EAAAA,EAAAA,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,OAAtCC,EAA6BD,CAAAA,CAAAA,EAAAA,CAAjBE,EAAiBF,CAAAA,CAAAA,EAAAA,CAMhCG,EAAAA,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAJOC,EAIPD,EAJF,OAAO,CACPjB,EAGEiB,EAHFjB,KAAK,CACLmB,EAEEF,EAFFE,UAAU,CACVC,EACEH,EADFG,SAAS,CAULC,EAAsB,SAAO9C,CAAC,E,qDAClCA,EAAE,cAAc,GACZ6C,IACJD,IACAH,EAAc,KAFC,C,IAGjB,I,EAEA,MAAOlF,AAAoB,YAApBA,EAAW,IAAI,CACpB,gBAACwF,EAAAA,CAAsB,WAAYxF,C,GAEnC,gBAAC,WAAQ,IAAKA,EAAW,EAAE,A,EACzB,gBAAC,cACC,gBAAC,UACC,gBAACgB,EAAAA,EAAIA,CAAAA,CAAC,GAAIhB,EAAW,EAAE,A,EAAGoC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAUpC,EAAW,IAAI,IAEpDA,AAAoB,YAApBA,EAAW,IAAI,CACd,gBAACyF,EAAAA,CAAmBA,CAAAA,CAClB,UAAU,0BACV,OAAQb,EACR,UAAWC,C,EAEX,gBAACxF,EAAAA,CAAMA,CAAAA,CACL,KAAK,SACL,KAAK,WACL,gBAAc,sBACd,gBAAc,OACd,gBAAeuF,GAAgBxB,OAC/B,eAAgB,WACdyB,EAAgB,CAACD,EACnB,C,GAEF,gBAACc,EAAAA,CAAYA,CAAAA,KACX,gBAAC,MAAG,UAAU,gBAAgB,GAAG,qB,EAC/B,gBAAC,MAAG,UAAU,e,EACZ,gBAACrG,EAAAA,CAAMA,CAAAA,CACL,KAAK,SACL,MAAM,OACN,eAAgB,WACd0F,EAAY,IAEZF,EAAgB,GAClB,C,EACD,SAIH,gBAAC,MAAG,UAAU,e,EACZ,gBAACxF,EAAAA,CAAMA,CAAAA,CACL,KAAK,SACL,MAAM,SACN,eAAgB,WACd6F,EAAc,IACdL,EAAgB,GAClB,C,EACD,cAOP,KACJ,gBAACF,EAAAA,CAAsBA,CAAAA,CACrB,kBAAmB3E,EACnB,KAAM8E,EACN,QAASC,EACT,OAAQzB,EAAAA,EAAAA,CAAAA,iCAAkD,A,GAE5D,gBAACqC,EAAAA,CAAQA,CAAAA,CACP,OAAQV,EACR,KAAK,QACL,eAAgBM,EAChB,sBAAuBD,EAAY,OAAS,E,EAE5C,gBAAC,UAAO,UAAU,c,EAChB,gBAAC,MAAG,UAAU,e,EAAgB,qBAC9B,gBAACjG,EAAAA,CAAMA,CAAAA,CACL,eAAgBkG,EAChB,KAAK,SACL,KAAK,SACL,aAAa,c,IAGjB,gBAAC,OAAI,UAAU,Y,EACZrB,GACC,gBAAC9C,EAAAA,CAAQA,CAAAA,CAAC,KAAK,O,EACb,gBAAC,SAAE,UAAQ8C,EAAM,OAAO,GAG5B,gBAAC,SAAE,oDACiDlE,EAAW,IAAI,CAAC,MAGpE,gBAAC,OAAI,UAAU,6B,EACb,gBAACX,EAAAA,CAAMA,CAAAA,CAAC,eArGE,SAAOoD,CAAC,E,qEAE5B,GADAA,EAAE,cAAc,GACZ6C,EAAW,O,GACf,O,EAAMF,EAAQpF,G,eAAd,SACAkF,EAAc,I,MAChB,I,EAgGmD,WAAYI,C,EAChDA,EAAY,cAAgB,UAE/B,gBAACjG,EAAAA,CAAMA,CAAAA,CACL,eAAgBkG,EAChB,KAAK,YACL,WAAYD,C,EACb,cAORtF,EAAW,WAAW,EAAI,gBAAC,SAAGoC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAUpC,EAAW,WAAW,GAC/D,gBAAC,cACC,gBAACgB,EAAAA,EAAIA,CAAAA,CAAC,GAAIhB,EAAW,EAAE,CAAE,UAAU,O,EAChCA,EAAW,aAAa,CAAE,IAC1BA,AAA6B,IAA7BA,EAAW,aAAa,CAAS,UAAY,YAEhD,gBAAC,QAAK,SAAUuD,IAAMvD,EAAW,UAAU,EAAE,WAAW,E,EAAI,UAClDuD,IAAMvD,EAAW,UAAU,EAAE,OAAO,GAAG,QAAQ,KAKjE,CAEA,SAASwF,EAAsBtI,CAA0C,E,IAAxC8C,EAAF9C,EAAE8C,UAAU,CACzC,OACE,gBAAC,WAAQ,IAAKA,EAAW,EAAE,CAAE,UAAU,S,EACrC,gBAAC,cACC,gBAAC,UACC,gBAACgB,EAAAA,EAAIA,CAAAA,CAAC,GAAIhB,EAAW,EAAE,A,EAAE,oBAG7B,gBAAC,SAAE,2BACH,gBAAC,cACC,gBAACgB,EAAAA,EAAIA,CAAAA,CAAC,GAAIhB,EAAW,EAAE,CAAE,UAAU,O,EAChCA,EAAW,aAAa,CAAE,IAC1BA,AAA6B,IAA7BA,EAAW,aAAa,CAAS,UAAY,YAEhD,gBAAC,QAAK,SAAUuD,IAAMvD,EAAW,UAAU,EAAE,WAAW,E,EAAI,UAClDuD,IAAMvD,EAAW,UAAU,EAAE,OAAO,GAAG,QAAQ,KAKjE,CAEA,SAASwE,IACP,IAAMxE,EAAawB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,WACnB,AAAKxB,EAAW,KAAK,CAAC,MAAM,CAI1B,gBAAC,WAAQ,IAAKA,EAAW,IAAI,CAAE,UAAU,S,EACvC,gBAAC,cACC,gBAAC,UACC,gBAACgB,EAAAA,EAAIA,CAAAA,CAAC,GAAI,mB,EAAsBhB,EAAW,IAAI,IAGnD,gBAAC,SAAGA,EAAW,WAAW,EAC1B,gBAAC,cACC,gBAACgB,EAAAA,EAAIA,CAAAA,CAAC,GAAI,oBAAqB,UAAU,O,EACtChB,EAAW,aAAa,CAAE,IAC1BA,AAA6B,IAA7BA,EAAW,aAAa,CAAS,UAAY,YAEhD,gBAAC,QAAK,SAAUuD,IAAMvD,EAAW,UAAU,EAAE,WAAW,E,EAAI,WACjDuD,IAAMvD,EAAW,UAAU,EAAE,OAAO,GAAG,QAAQ,MAhBvD,IAqBX,C,wDChTe,SAASe,EAAU7D,CAQjC,E,IAPCQ,EADgCR,EAChCQ,QAAQ,CACRkI,EAFgC1I,EAEhC0I,YAAY,CACZC,EAHgC3I,EAGhC2I,QAAQ,CAMR,OACE,gCACGA,AAAa,KAAbA,EACC,gCAAGnI,GAEH,gBAAC,OAAI,UAAY,aAA+B,OAAnBkI,GAAgB,G,EAAOlI,GAI5D,C"}