Report Issue enahancement#4481
Conversation
WalkthroughThis pull request updates web report assets in the Ginger project by adding build configuration entries for web client bundle files, updating corresponding HTML references with new asset hashes, replacing bundled JavaScript polyfill files, and making minor styling adjustments. The changes ensure generated web report assets are copied to output during each build. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ❌ 3❌ Failed checks (2 warnings, 1 inconclusive)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Ginger/GingerCoreNET/GingerCoreNET.csproj`:
- Around line 591-605: The project pins specific hashed filenames via multiple
<None Update="Reports\Ginger-Web-Client\..."> entries which will break when
bundle hashes change; replace those explicit hashed <None Update> entries with a
single wildcard item that includes the whole Reports\Ginger-Web-Client folder
(e.g., use <None Include="Reports\Ginger-Web-Client\**\*.*"> or <Content
Include="Reports\Ginger-Web-Client\**\*.*">) and set
<CopyToOutputDirectory>Always</CopyToOutputDirectory> on that item so new hashed
bundles are automatically copied without needing manual updates to the <None
Update> lines.
In
`@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/sass/layout/_dashboard.scss`:
- Line 43: The comment "/*Timeline*/" in _dashboard.scss violates stylelint's
comment-whitespace-inside rule; update the comment to include spaces inside the
delimiters (e.g., change the "/*Timeline*/" token to "/* Timeline */") so the
linter passes, making sure to edit the exact comment string in the file where
the symbol "/*Timeline*/" appears.
In
`@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js`:
- Line 1: Build artifact committed: the minified webpack bundle
polyfills.af067c955617ac11.js (starts with
self.webpackChunkGinger_HtmlReport_Web_App.push([...])) should not be checked
into source control; remove the committed bundle, add a rule to ignore generated
web assets (e.g., ignore polyfills.*.js or the Ginger-Web-Client output
directory) in .gitignore, and update the project build/CI to generate this file
during the build (run npm install && npm run build / webpack to produce the file
and ensure the .NET build uses the generated output). If you must keep pre-built
assets, add a short doc (README or BUILD_ASSETS.md) beside the committed asset
describing the source/library and version (e.g., Zone.js version used), exact
build command, and the webpack config used (the bundle is produced by the
self.webpackChunkGinger_HtmlReport_Web_App push in the polyfills bundle), and
prefer committing only a pinned package.json/package-lock.json instead of the
minified file.
- Line 1: The polyfills bundle lacks provenance metadata and source-map info;
add a concise header comment at the top of
Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js
stating the Zone.js version used (e.g., the version that provides
Zone.__load_patch("ZoneAwarePromise")/Zone.__load_patch("Zone")) and the build
timestamp and build command, add/commit the corresponding .js.map file and
ensure webpack emits it, and update project docs (README or BUILD.md) to
document why this generated bundle (webpackChunkGinger_HtmlReport_Web_App) is
checked in or switch the pipeline to regenerate it during CI; also include a
note referencing that this bundle contains Zone-related patches
(Zone.__load_patch entries) so future maintainers know the source and
reproduction steps.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: e0405437-b9e6-4d32-94ad-a6b334126ca8
⛔ Files ignored due to path filters (2)
Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/layout/images/amdocs.pngis excluded by!**/*.png,!**/*.pngGinger/GingerCoreNET/Reports/Ginger-Web-Client/assets/layout/images/amdocs_old1.pngis excluded by!**/*.png,!**/*.png
📒 Files selected for processing (12)
Ginger/GingerCoreNET/GingerCoreNET.csprojGinger/GingerCoreNET/Reports/Ginger-Web-Client/assets/artifacts/test.txtGinger/GingerCoreNET/Reports/Ginger-Web-Client/assets/sass/layout/_dashboard.scssGinger/GingerCoreNET/Reports/Ginger-Web-Client/assets/theme/theme-report.cssGinger/GingerCoreNET/Reports/Ginger-Web-Client/index.htmlGinger/GingerCoreNET/Reports/Ginger-Web-Client/main.50dca4a1d8ae08b9.jsGinger/GingerCoreNET/Reports/Ginger-Web-Client/main.894d579b9b86a2c7.jsGinger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.ab6619d5cdfdf12c.jsGinger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.jsGinger/GingerCoreNET/Reports/Ginger-Web-Client/runtime.9298f7d16182d7dd.jsGinger/GingerCoreNET/Reports/Ginger-Web-Client/scripts.510ef496b81fd3ec.jsGinger/GingerCoreNET/Reports/Ginger-Web-Client/styles.a4dfb05f8a7c3211.css
💤 Files with no reviewable changes (1)
- Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.ab6619d5cdfdf12c.js
| <None Update="Reports\Ginger-Web-Client\main.894d579b9b86a2c7.js"> | ||
| <CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
| </None> | ||
| <None Update="Reports\Ginger-Web-Client\polyfills.af067c955617ac11.js"> | ||
| <CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
| </None> | ||
| <None Update="Reports\Ginger-Web-Client\runtime.9298f7d16182d7dd.js"> | ||
| <CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
| </None> | ||
| <None Update="Reports\Ginger-Web-Client\scripts.510ef496b81fd3ec.js"> | ||
| <CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
| </None> | ||
| <None Update="Reports\Ginger-Web-Client\styles.a4dfb05f8a7c3211.css"> | ||
| <CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
| </None> |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major
Avoid pinning hashed bundle filenames in project items.
These explicit hash-based None Update entries are fragile; the next web-client rebuild can change hashes and silently miss required files at copy time.
♻️ Suggested robust pattern
- <None Update="Reports\Ginger-Web-Client\main.894d579b9b86a2c7.js">
+ <None Update="Reports\Ginger-Web-Client\main.*.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
- <None Update="Reports\Ginger-Web-Client\polyfills.af067c955617ac11.js">
+ <None Update="Reports\Ginger-Web-Client\polyfills.*.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
- <None Update="Reports\Ginger-Web-Client\runtime.9298f7d16182d7dd.js">
+ <None Update="Reports\Ginger-Web-Client\runtime.*.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
- <None Update="Reports\Ginger-Web-Client\scripts.510ef496b81fd3ec.js">
+ <None Update="Reports\Ginger-Web-Client\scripts.*.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
- <None Update="Reports\Ginger-Web-Client\styles.a4dfb05f8a7c3211.css">
+ <None Update="Reports\Ginger-Web-Client\styles.*.css">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Ginger/GingerCoreNET/GingerCoreNET.csproj` around lines 591 - 605, The
project pins specific hashed filenames via multiple <None
Update="Reports\Ginger-Web-Client\..."> entries which will break when bundle
hashes change; replace those explicit hashed <None Update> entries with a single
wildcard item that includes the whole Reports\Ginger-Web-Client folder (e.g.,
use <None Include="Reports\Ginger-Web-Client\**\*.*"> or <Content
Include="Reports\Ginger-Web-Client\**\*.*">) and set
<CopyToOutputDirectory>Always</CopyToOutputDirectory> on that item so new hashed
bundles are automatically copied without needing manual updates to the <None
Update> lines.
| $salesDownIconColor: #f44336; | ||
|
|
||
| /* Time-line */ | ||
| /*Timeline*/ |
There was a problem hiding this comment.
Fix stylelint comment whitespace violation.
Line 43 uses /*Timeline*/, which violates comment-whitespace-inside and can fail lint checks.
💡 Proposed fix
-/*Timeline*/
+/* Timeline */📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| /*Timeline*/ | |
| /* Timeline */ |
🧰 Tools
🪛 Stylelint (17.6.0)
[error] 43-43: Expected whitespace after "/*" (comment-whitespace-inside)
(comment-whitespace-inside)
[error] 43-43: Expected whitespace before "*/" (comment-whitespace-inside)
(comment-whitespace-inside)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/sass/layout/_dashboard.scss`
at line 43, The comment "/*Timeline*/" in _dashboard.scss violates stylelint's
comment-whitespace-inside rule; update the comment to include spaces inside the
delimiters (e.g., change the "/*Timeline*/" token to "/* Timeline */") so the
linter passes, making sure to edit the exact comment string in the file where
the symbol "/*Timeline*/" appears.
| @@ -0,0 +1 @@ | |||
| (self.webpackChunkGinger_HtmlReport_Web_App=self.webpackChunkGinger_HtmlReport_Web_App||[]).push([[461],{8829:(i,l,t)=>{"use strict";t(8509),t(8681),t(5846),t(9353),t(6935)},6935:()=>{"use strict";!function(a){const d=a.performance;function m(it){d&&d.mark&&d.mark(it)}function g(it,G){d&&d.measure&&d.measure(it,G)}m("Zone");const O=a.__Zone_symbol_prefix||"__zone_symbol__";function S(it){return O+it}const $=!0===a[S("forceDuplicateZoneCheck")];if(a.Zone){if($||"function"!=typeof a.Zone.__symbol__)throw new Error("Zone already loaded.");return a.Zone}let A=(()=>{class it{static{this.__symbol__=S}static assertZonePatched(){if(a.Promise!==Ft.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let u=it.current;for(;u.parent;)u=u.parent;return u}static get current(){return mt.zone}static get currentTask(){return wt}static __load_patch(u,p,z=!1){if(Ft.hasOwnProperty(u)){if(!z&&$)throw Error("Already loaded patch: "+u)}else if(!a["__Zone_disable_"+u]){const q="Zone:"+u;m(q),Ft[u]=p(a,it,St),g(q,q)}}get parent(){return this._parent}get name(){return this._name}constructor(u,p){this._parent=u,this._name=p?p.name||"unnamed":"<root>",this._properties=p&&p.properties||{},this._zoneDelegate=new K(this,this._parent&&this._parent._zoneDelegate,p)}get(u){const p=this.getZoneWith(u);if(p)return p._properties[u]}getZoneWith(u){let p=this;for(;p;){if(p._properties.hasOwnProperty(u))return p;p=p._parent}return null}fork(u){if(!u)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,u)}wrap(u,p){if("function"!=typeof u)throw new Error("Expecting function got: "+u);const z=this._zoneDelegate.intercept(this,u,p),q=this;return function(){return q.runGuarded(z,this,arguments,p)}}run(u,p,z,q){mt={parent:mt,zone:this};try{return this._zoneDelegate.invoke(this,u,p,z,q)}finally{mt=mt.parent}}runGuarded(u,p=null,z,q){mt={parent:mt,zone:this};try{try{return this._zoneDelegate.invoke(this,u,p,z,q)}catch(jt){if(this._zoneDelegate.handleError(this,jt))throw jt}}finally{mt=mt.parent}}runTask(u,p,z){if(u.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(u.zone||Dt).name+"; Execution: "+this.name+")");if(u.state===ft&&(u.type===Ct||u.type===Y))return;const q=u.state!=H;q&&u._transitionTo(H,ut),u.runCount++;const jt=wt;wt=u,mt={parent:mt,zone:this};try{u.type==Y&&u.data&&!u.data.isPeriodic&&(u.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,u,p,z)}catch(D){if(this._zoneDelegate.handleError(this,D))throw D}}finally{u.state!==ft&&u.state!==w&&(u.type==Ct||u.data&&u.data.isPeriodic?q&&u._transitionTo(ut,H):(u.runCount=0,this._updateTaskCount(u,-1),q&&u._transitionTo(ft,H,ft))),mt=mt.parent,wt=jt}}scheduleTask(u){if(u.zone&&u.zone!==this){let z=this;for(;z;){if(z===u.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${u.zone.name}`);z=z.parent}}u._transitionTo(Rt,ft);const p=[];u._zoneDelegates=p,u._zone=this;try{u=this._zoneDelegate.scheduleTask(this,u)}catch(z){throw u._transitionTo(w,Rt,ft),this._zoneDelegate.handleError(this,z),z}return u._zoneDelegates===p&&this._updateTaskCount(u,1),u.state==Rt&&u._transitionTo(ut,Rt),u}scheduleMicroTask(u,p,z,q){return this.scheduleTask(new U(st,u,p,z,q,void 0))}scheduleMacroTask(u,p,z,q,jt){return this.scheduleTask(new U(Y,u,p,z,q,jt))}scheduleEventTask(u,p,z,q,jt){return this.scheduleTask(new U(Ct,u,p,z,q,jt))}cancelTask(u){if(u.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(u.zone||Dt).name+"; Execution: "+this.name+")");if(u.state===ut||u.state===H){u._transitionTo(vt,ut,H);try{this._zoneDelegate.cancelTask(this,u)}catch(p){throw u._transitionTo(w,vt),this._zoneDelegate.handleError(this,p),p}return this._updateTaskCount(u,-1),u._transitionTo(ft,vt),u.runCount=0,u}}_updateTaskCount(u,p){const z=u._zoneDelegates;-1==p&&(u._zoneDelegates=null);for(let q=0;q<z.length;q++)z[q]._updateTaskCount(u.type,p)}}return it})();const X={name:"",onHasTask:(it,G,u,p)=>it.hasTask(u,p),onScheduleTask:(it,G,u,p)=>it.scheduleTask(u,p),onInvokeTask:(it,G,u,p,z,q)=>it.invokeTask(u,p,z,q),onCancelTask:(it,G,u,p)=>it.cancelTask(u,p)};class K{constructor(G,u,p){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=G,this._parentDelegate=u,this._forkZS=p&&(p&&p.onFork?p:u._forkZS),this._forkDlgt=p&&(p.onFork?u:u._forkDlgt),this._forkCurrZone=p&&(p.onFork?this.zone:u._forkCurrZone),this._interceptZS=p&&(p.onIntercept?p:u._interceptZS),this._interceptDlgt=p&&(p.onIntercept?u:u._interceptDlgt),this._interceptCurrZone=p&&(p.onIntercept?this.zone:u._interceptCurrZone),this._invokeZS=p&&(p.onInvoke?p:u._invokeZS),this._invokeDlgt=p&&(p.onInvoke?u:u._invokeDlgt),this._invokeCurrZone=p&&(p.onInvoke?this.zone:u._invokeCurrZone),this._handleErrorZS=p&&(p.onHandleError?p:u._handleErrorZS),this._handleErrorDlgt=p&&(p.onHandleError?u:u._handleErrorDlgt),this._handleErrorCurrZone=p&&(p.onHandleError?this.zone:u._handleErrorCurrZone),this._scheduleTaskZS=p&&(p.onScheduleTask?p:u._scheduleTaskZS),this._scheduleTaskDlgt=p&&(p.onScheduleTask?u:u._scheduleTaskDlgt),this._scheduleTaskCurrZone=p&&(p.onScheduleTask?this.zone:u._scheduleTaskCurrZone),this._invokeTaskZS=p&&(p.onInvokeTask?p:u._invokeTaskZS),this._invokeTaskDlgt=p&&(p.onInvokeTask?u:u._invokeTaskDlgt),this._invokeTaskCurrZone=p&&(p.onInvokeTask?this.zone:u._invokeTaskCurrZone),this._cancelTaskZS=p&&(p.onCancelTask?p:u._cancelTaskZS),this._cancelTaskDlgt=p&&(p.onCancelTask?u:u._cancelTaskDlgt),this._cancelTaskCurrZone=p&&(p.onCancelTask?this.zone:u._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const z=p&&p.onHasTask;(z||u&&u._hasTaskZS)&&(this._hasTaskZS=z?p:X,this._hasTaskDlgt=u,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=G,p.onScheduleTask||(this._scheduleTaskZS=X,this._scheduleTaskDlgt=u,this._scheduleTaskCurrZone=this.zone),p.onInvokeTask||(this._invokeTaskZS=X,this._invokeTaskDlgt=u,this._invokeTaskCurrZone=this.zone),p.onCancelTask||(this._cancelTaskZS=X,this._cancelTaskDlgt=u,this._cancelTaskCurrZone=this.zone))}fork(G,u){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,G,u):new A(G,u)}intercept(G,u,p){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,G,u,p):u}invoke(G,u,p,z,q){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,G,u,p,z,q):u.apply(p,z)}handleError(G,u){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,G,u)}scheduleTask(G,u){let p=u;if(this._scheduleTaskZS)this._hasTaskZS&&p._zoneDelegates.push(this._hasTaskDlgtOwner),p=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,G,u),p||(p=u);else if(u.scheduleFn)u.scheduleFn(u);else{if(u.type!=st)throw new Error("Task is missing scheduleFn.");_(u)}return p}invokeTask(G,u,p,z){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,G,u,p,z):u.callback.apply(p,z)}cancelTask(G,u){let p;if(this._cancelTaskZS)p=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,G,u);else{if(!u.cancelFn)throw Error("Task is not cancelable");p=u.cancelFn(u)}return p}hasTask(G,u){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,G,u)}catch(p){this.handleError(G,p)}}_updateTaskCount(G,u){const p=this._taskCounts,z=p[G],q=p[G]=z+u;if(q<0)throw new Error("More tasks executed then were scheduled.");0!=z&&0!=q||this.hasTask(this.zone,{microTask:p.microTask>0,macroTask:p.macroTask>0,eventTask:p.eventTask>0,change:G})}}class U{constructor(G,u,p,z,q,jt){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=G,this.source=u,this.data=z,this.scheduleFn=q,this.cancelFn=jt,!p)throw new Error("callback is not defined");this.callback=p;const D=this;this.invoke=G===Ct&&z&&z.useG?U.invokeTask:function(){return U.invokeTask.call(a,D,this,arguments)}}static invokeTask(G,u,p){G||(G=this),kt++;try{return G.runCount++,G.zone.runTask(G,u,p)}finally{1==kt&&F(),kt--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(ft,Rt)}_transitionTo(G,u,p){if(this._state!==u&&this._state!==p)throw new Error(`${this.type} '${this.source}': can not transition to '${G}', expecting state '${u}'${p?" or '"+p+"'":""}, was '${this._state}'.`);this._state=G,G==ft&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const at=S("setTimeout"),rt=S("Promise"),ot=S("then");let Mt,yt=[],ct=!1;function Ot(it){if(Mt||a[rt]&&(Mt=a[rt].resolve(0)),Mt){let G=Mt[ot];G||(G=Mt.then),G.call(Mt,it)}else a[at](it,0)}function _(it){0===kt&&0===yt.length&&Ot(F),it&&yt.push(it)}function F(){if(!ct){for(ct=!0;yt.length;){const it=yt;yt=[];for(let G=0;G<it.length;G++){const u=it[G];try{u.zone.runTask(u,null,null)}catch(p){St.onUnhandledError(p)}}}St.microtaskDrainDone(),ct=!1}}const Dt={name:"NO ZONE"},ft="notScheduled",Rt="scheduling",ut="scheduled",H="running",vt="canceling",w="unknown",st="microTask",Y="macroTask",Ct="eventTask",Ft={},St={symbol:S,currentZoneFrame:()=>mt,onUnhandledError:Tt,microtaskDrainDone:Tt,scheduleMicroTask:_,showUncaughtError:()=>!A[S("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:Tt,patchMethod:()=>Tt,bindArguments:()=>[],patchThen:()=>Tt,patchMacroTask:()=>Tt,patchEventPrototype:()=>Tt,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>Tt,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>Tt,wrapWithCurrentZone:()=>Tt,filterProperties:()=>[],attachOriginToPatched:()=>Tt,_redefineProperty:()=>Tt,patchCallbacks:()=>Tt,nativeScheduleMicroTask:Ot};let mt={parent:null,zone:new A(null,null)},wt=null,kt=0;function Tt(){}g("Zone","Zone"),a.Zone=A}(typeof window<"u"&&window||typeof self<"u"&&self||global);const i=Object.getOwnPropertyDescriptor,l=Object.defineProperty,t=Object.getPrototypeOf,e=Object.create,n=Array.prototype.slice,s="addEventListener",o="removeEventListener",r=Zone.__symbol__(s),c=Zone.__symbol__(o),v="true",f="false",h=Zone.__symbol__("");function y(a,d){return Zone.current.wrap(a,d)}function x(a,d,m,g,O){return Zone.current.scheduleMacroTask(a,d,m,g,O)}const T=Zone.__symbol__,P=typeof window<"u",N=P?window:void 0,R=P&&N||"object"==typeof self&&self||global,j="removeAttribute";function L(a,d){for(let m=a.length-1;m>=0;m--)"function"==typeof a[m]&&(a[m]=y(a[m],d+"_"+m));return a}function Z(a){return!a||!1!==a.writable&&!("function"==typeof a.get&&typeof a.set>"u")}const b=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,k=!("nw"in R)&&typeof R.process<"u"&&"[object process]"==={}.toString.call(R.process),B=!k&&!b&&!(!P||!N.HTMLElement),Q=typeof R.process<"u"&&"[object process]"==={}.toString.call(R.process)&&!b&&!(!P||!N.HTMLElement),gt={},bt=function(a){if(!(a=a||R.event))return;let d=gt[a.type];d||(d=gt[a.type]=T("ON_PROPERTY"+a.type));const m=this||a.target||R,g=m[d];let O;return B&&m===N&&"error"===a.type?(O=g&&g.call(this,a.message,a.filename,a.lineno,a.colno,a.error),!0===O&&a.preventDefault()):(O=g&&g.apply(this,arguments),null!=O&&!O&&a.preventDefault()),O};function It(a,d,m){let g=i(a,d);if(!g&&m&&i(m,d)&&(g={enumerable:!0,configurable:!0}),!g||!g.configurable)return;const O=T("on"+d+"patched");if(a.hasOwnProperty(O)&&a[O])return;delete g.writable,delete g.value;const S=g.get,$=g.set,A=d.slice(2);let X=gt[A];X||(X=gt[A]=T("ON_PROPERTY"+A)),g.set=function(K){let U=this;!U&&a===R&&(U=R),U&&("function"==typeof U[X]&&U.removeEventListener(A,bt),$&&$.call(U,null),U[X]=K,"function"==typeof K&&U.addEventListener(A,bt,!1))},g.get=function(){let K=this;if(!K&&a===R&&(K=R),!K)return null;const U=K[X];if(U)return U;if(S){let at=S.call(this);if(at)return g.set.call(this,at),"function"==typeof K[j]&&K.removeAttribute(d),at}return null},l(a,d,g),a[O]=!0}function Nt(a,d,m){if(d)for(let g=0;g<d.length;g++)It(a,"on"+d[g],m);else{const g=[];for(const O in a)"on"==O.slice(0,2)&&g.push(O);for(let O=0;O<g.length;O++)It(a,g[O],m)}}const xt=T("originalInstance");function At(a){const d=R[a];if(!d)return;R[T(a)]=d,R[a]=function(){const O=L(arguments,a);switch(O.length){case 0:this[xt]=new d;break;case 1:this[xt]=new d(O[0]);break;case 2:this[xt]=new d(O[0],O[1]);break;case 3:this[xt]=new d(O[0],O[1],O[2]);break;case 4:this[xt]=new d(O[0],O[1],O[2],O[3]);break;default:throw new Error("Arg list too long.")}},dt(R[a],d);const m=new d(function(){});let g;for(g in m)"XMLHttpRequest"===a&&"responseBlob"===g||function(O){"function"==typeof m[O]?R[a].prototype[O]=function(){return this[xt][O].apply(this[xt],arguments)}:l(R[a].prototype,O,{set:function(S){"function"==typeof S?(this[xt][O]=y(S,a+"."+O),dt(this[xt][O],S)):this[xt][O]=S},get:function(){return this[xt][O]}})}(g);for(g in d)"prototype"!==g&&d.hasOwnProperty(g)&&(R[a][g]=d[g])}function lt(a,d,m){let g=a;for(;g&&!g.hasOwnProperty(d);)g=t(g);!g&&a[d]&&(g=a);const O=T(d);let S=null;if(g&&(!(S=g[O])||!g.hasOwnProperty(O))&&(S=g[O]=g[d],Z(g&&i(g,d)))){const A=m(S,O,d);g[d]=function(){return A(this,arguments)},dt(g[d],S)}return S}function Pt(a,d,m){let g=null;function O(S){const $=S.data;return $.args[$.cbIdx]=function(){S.invoke.apply(this,arguments)},g.apply($.target,$.args),S}g=lt(a,d,S=>function($,A){const X=m($,A);return X.cbIdx>=0&&"function"==typeof A[X.cbIdx]?x(X.name,A[X.cbIdx],X,O):S.apply($,A)})}function dt(a,d){a[T("OriginalDelegate")]=d}let Et=!1,Zt=!1;function le(){if(Et)return Zt;Et=!0;try{const a=N.navigator.userAgent;(-1!==a.indexOf("MSIE ")||-1!==a.indexOf("Trident/")||-1!==a.indexOf("Edge/"))&&(Zt=!0)}catch{}return Zt}Zone.__load_patch("ZoneAwarePromise",(a,d,m)=>{const g=Object.getOwnPropertyDescriptor,O=Object.defineProperty,$=m.symbol,A=[],X=!0===a[$("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],K=$("Promise"),U=$("then"),at="__creationTrace__";m.onUnhandledError=D=>{if(m.showUncaughtError()){const I=D&&D.rejection;I?console.error("Unhandled Promise rejection:",I instanceof Error?I.message:I,"; Zone:",D.zone.name,"; Task:",D.task&&D.task.source,"; Value:",I,I instanceof Error?I.stack:void 0):console.error(D)}},m.microtaskDrainDone=()=>{for(;A.length;){const D=A.shift();try{D.zone.runGuarded(()=>{throw D.throwOriginal?D.rejection:D})}catch(I){ot(I)}}};const rt=$("unhandledPromiseRejectionHandler");function ot(D){m.onUnhandledError(D);try{const I=d[rt];"function"==typeof I&&I.call(this,D)}catch{}}function yt(D){return D&&D.then}function ct(D){return D}function Mt(D){return u.reject(D)}const Ot=$("state"),_=$("value"),F=$("finally"),Dt=$("parentPromiseValue"),ft=$("parentPromiseState"),Rt="Promise.then",ut=null,H=!0,vt=!1,w=0;function st(D,I){return E=>{try{St(D,I,E)}catch(C){St(D,!1,C)}}}const Y=function(){let D=!1;return function(E){return function(){D||(D=!0,E.apply(null,arguments))}}},Ct="Promise resolved with itself",Ft=$("currentTaskTrace");function St(D,I,E){const C=Y();if(D===E)throw new TypeError(Ct);if(D[Ot]===ut){let V=null;try{("object"==typeof E||"function"==typeof E)&&(V=E&&E.then)}catch(J){return C(()=>{St(D,!1,J)})(),D}if(I!==vt&&E instanceof u&&E.hasOwnProperty(Ot)&&E.hasOwnProperty(_)&&E[Ot]!==ut)wt(E),St(D,E[Ot],E[_]);else if(I!==vt&&"function"==typeof V)try{V.call(E,C(st(D,I)),C(st(D,!1)))}catch(J){C(()=>{St(D,!1,J)})()}else{D[Ot]=I;const J=D[_];if(D[_]=E,D[F]===F&&I===H&&(D[Ot]=D[ft],D[_]=D[Dt]),I===vt&&E instanceof Error){const W=d.currentTask&&d.currentTask.data&&d.currentTask.data[at];W&&O(E,Ft,{configurable:!0,enumerable:!1,writable:!0,value:W})}for(let W=0;W<J.length;)kt(D,J[W++],J[W++],J[W++],J[W++]);if(0==J.length&&I==vt){D[Ot]=w;let W=E;try{throw new Error("Uncaught (in promise): "+function S(D){return D&&D.toString===Object.prototype.toString?(D.constructor&&D.constructor.name||"")+": "+JSON.stringify(D):D?D.toString():Object.prototype.toString.call(D)}(E)+(E&&E.stack?"\n"+E.stack:""))}catch(tt){W=tt}X&&(W.throwOriginal=!0),W.rejection=E,W.promise=D,W.zone=d.current,W.task=d.currentTask,A.push(W),m.scheduleMicroTask()}}}return D}const mt=$("rejectionHandledHandler");function wt(D){if(D[Ot]===w){try{const I=d[mt];I&&"function"==typeof I&&I.call(this,{rejection:D[_],promise:D})}catch{}D[Ot]=vt;for(let I=0;I<A.length;I++)D===A[I].promise&&A.splice(I,1)}}function kt(D,I,E,C,V){wt(D);const J=D[Ot],W=J?"function"==typeof C?C:ct:"function"==typeof V?V:Mt;I.scheduleMicroTask(Rt,()=>{try{const tt=D[_],et=!!E&&F===E[F];et&&(E[Dt]=tt,E[ft]=J);const nt=I.run(W,void 0,et&&W!==Mt&&W!==ct?[]:[tt]);St(E,!0,nt)}catch(tt){St(E,!1,tt)}},E)}const it=function(){},G=a.AggregateError;class u{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(I){return St(new this(null),H,I)}static reject(I){return St(new this(null),vt,I)}static any(I){if(!I||"function"!=typeof I[Symbol.iterator])return Promise.reject(new G([],"All promises were rejected"));const E=[];let C=0;try{for(let W of I)C++,E.push(u.resolve(W))}catch{return Promise.reject(new G([],"All promises were rejected"))}if(0===C)return Promise.reject(new G([],"All promises were rejected"));let V=!1;const J=[];return new u((W,tt)=>{for(let et=0;et<E.length;et++)E[et].then(nt=>{V||(V=!0,W(nt))},nt=>{J.push(nt),C--,0===C&&(V=!0,tt(new G(J,"All promises were rejected")))})})}static race(I){let E,C,V=new this((tt,et)=>{E=tt,C=et});function J(tt){E(tt)}function W(tt){C(tt)}for(let tt of I)yt(tt)||(tt=this.resolve(tt)),tt.then(J,W);return V}static all(I){return u.allWithCallback(I)}static allSettled(I){return(this&&this.prototype instanceof u?this:u).allWithCallback(I,{thenCallback:C=>({status:"fulfilled",value:C}),errorCallback:C=>({status:"rejected",reason:C})})}static allWithCallback(I,E){let C,V,J=new this((nt,ht)=>{C=nt,V=ht}),W=2,tt=0;const et=[];for(let nt of I){yt(nt)||(nt=this.resolve(nt));const ht=tt;try{nt.then(pt=>{et[ht]=E?E.thenCallback(pt):pt,W--,0===W&&C(et)},pt=>{E?(et[ht]=E.errorCallback(pt),W--,0===W&&C(et)):V(pt)})}catch(pt){V(pt)}W++,tt++}return W-=2,0===W&&C(et),J}constructor(I){const E=this;if(!(E instanceof u))throw new Error("Must be an instanceof Promise.");E[Ot]=ut,E[_]=[];try{const C=Y();I&&I(C(st(E,H)),C(st(E,vt)))}catch(C){St(E,!1,C)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return u}then(I,E){let C=this.constructor?.[Symbol.species];(!C||"function"!=typeof C)&&(C=this.constructor||u);const V=new C(it),J=d.current;return this[Ot]==ut?this[_].push(J,V,I,E):kt(this,J,V,I,E),V}catch(I){return this.then(null,I)}finally(I){let E=this.constructor?.[Symbol.species];(!E||"function"!=typeof E)&&(E=u);const C=new E(it);C[F]=F;const V=d.current;return this[Ot]==ut?this[_].push(V,C,I,I):kt(this,V,C,I,I),C}}u.resolve=u.resolve,u.reject=u.reject,u.race=u.race,u.all=u.all;const p=a[K]=a.Promise;a.Promise=u;const z=$("thenPatched");function q(D){const I=D.prototype,E=g(I,"then");if(E&&(!1===E.writable||!E.configurable))return;const C=I.then;I[U]=C,D.prototype.then=function(V,J){return new u((tt,et)=>{C.call(this,tt,et)}).then(V,J)},D[z]=!0}return m.patchThen=q,p&&(q(p),lt(a,"fetch",D=>function jt(D){return function(I,E){let C=D.apply(I,E);if(C instanceof u)return C;let V=C.constructor;return V[z]||q(V),C}}(D))),Promise[d.__symbol__("uncaughtPromiseErrors")]=A,u}),Zone.__load_patch("toString",a=>{const d=Function.prototype.toString,m=T("OriginalDelegate"),g=T("Promise"),O=T("Error"),S=function(){if("function"==typeof this){const K=this[m];if(K)return"function"==typeof K?d.call(K):Object.prototype.toString.call(K);if(this===Promise){const U=a[g];if(U)return d.call(U)}if(this===Error){const U=a[O];if(U)return d.call(U)}}return d.call(this)};S[m]=d,Function.prototype.toString=S;const $=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":$.call(this)}});let Ut=!1;if(typeof window<"u")try{const a=Object.defineProperty({},"passive",{get:function(){Ut=!0}});window.addEventListener("test",a,a),window.removeEventListener("test",a,a)}catch{Ut=!1}const de={useG:!0},Lt={},qt={},te=new RegExp("^"+h+"(\\w+)(true|false)$"),ee=T("propagationStopped");function ne(a,d){const m=(d?d(a):a)+f,g=(d?d(a):a)+v,O=h+m,S=h+g;Lt[a]={},Lt[a][f]=O,Lt[a][v]=S}function ve(a,d,m,g){const O=g&&g.add||s,S=g&&g.rm||o,$=g&&g.listeners||"eventListeners",A=g&&g.rmAll||"removeAllListeners",X=T(O),K="."+O+":",U="prependListener",at="."+U+":",rt=function(_,F,Dt){if(_.isRemoved)return;const ft=_.callback;let Rt;"object"==typeof ft&&ft.handleEvent&&(_.callback=H=>ft.handleEvent(H),_.originalDelegate=ft);try{_.invoke(_,F,[Dt])}catch(H){Rt=H}const ut=_.options;return ut&&"object"==typeof ut&&ut.once&&F[S].call(F,Dt.type,_.originalDelegate?_.originalDelegate:_.callback,ut),Rt};function ot(_,F,Dt){if(!(F=F||a.event))return;const ft=_||F.target||a,Rt=ft[Lt[F.type][Dt?v:f]];if(Rt){const ut=[];if(1===Rt.length){const H=rt(Rt[0],ft,F);H&&ut.push(H)}else{const H=Rt.slice();for(let vt=0;vt<H.length&&(!F||!0!==F[ee]);vt++){const w=rt(H[vt],ft,F);w&&ut.push(w)}}if(1===ut.length)throw ut[0];for(let H=0;H<ut.length;H++){const vt=ut[H];d.nativeScheduleMicroTask(()=>{throw vt})}}}const yt=function(_){return ot(this,_,!1)},ct=function(_){return ot(this,_,!0)};function Mt(_,F){if(!_)return!1;let Dt=!0;F&&void 0!==F.useG&&(Dt=F.useG);const ft=F&&F.vh;let Rt=!0;F&&void 0!==F.chkDup&&(Rt=F.chkDup);let ut=!1;F&&void 0!==F.rt&&(ut=F.rt);let H=_;for(;H&&!H.hasOwnProperty(O);)H=t(H);if(!H&&_[O]&&(H=_),!H||H[X])return!1;const vt=F&&F.eventNameToString,w={},st=H[X]=H[O],Y=H[T(S)]=H[S],Ct=H[T($)]=H[$],Ft=H[T(A)]=H[A];let St;F&&F.prepend&&(St=H[T(F.prepend)]=H[F.prepend]);const u=Dt?function(E){if(!w.isExisting)return st.call(w.target,w.eventName,w.capture?ct:yt,w.options)}:function(E){return st.call(w.target,w.eventName,E.invoke,w.options)},p=Dt?function(E){if(!E.isRemoved){const C=Lt[E.eventName];let V;C&&(V=C[E.capture?v:f]);const J=V&&E.target[V];if(J)for(let W=0;W<J.length;W++)if(J[W]===E){J.splice(W,1),E.isRemoved=!0,0===J.length&&(E.allRemoved=!0,E.target[V]=null);break}}if(E.allRemoved)return Y.call(E.target,E.eventName,E.capture?ct:yt,E.options)}:function(E){return Y.call(E.target,E.eventName,E.invoke,E.options)},q=F&&F.diff?F.diff:function(E,C){const V=typeof C;return"function"===V&&E.callback===C||"object"===V&&E.originalDelegate===C},jt=Zone[T("UNPATCHED_EVENTS")],D=a[T("PASSIVE_EVENTS")],I=function(E,C,V,J,W=!1,tt=!1){return function(){const et=this||a;let nt=arguments[0];F&&F.transferEventName&&(nt=F.transferEventName(nt));let ht=arguments[1];if(!ht)return E.apply(this,arguments);if(k&&"uncaughtException"===nt)return E.apply(this,arguments);let pt=!1;if("function"!=typeof ht){if(!ht.handleEvent)return E.apply(this,arguments);pt=!0}if(ft&&!ft(E,ht,et,arguments))return;const Gt=Ut&&!!D&&-1!==D.indexOf(nt),Ht=function mt(E,C){return!Ut&&"object"==typeof E&&E?!!E.capture:Ut&&C?"boolean"==typeof E?{capture:E,passive:!0}:E?"object"==typeof E&&!1!==E.passive?{...E,passive:!0}:E:{passive:!0}:E}(arguments[2],Gt);if(jt)for(let Bt=0;Bt<jt.length;Bt++)if(nt===jt[Bt])return Gt?E.call(et,nt,ht,Ht):E.apply(this,arguments);const Qt=!!Ht&&("boolean"==typeof Ht||Ht.capture),ae=!(!Ht||"object"!=typeof Ht)&&Ht.once,Oe=Zone.current;let _t=Lt[nt];_t||(ne(nt,vt),_t=Lt[nt]);const ie=_t[Qt?v:f];let Yt,Vt=et[ie],ue=!1;if(Vt){if(ue=!0,Rt)for(let Bt=0;Bt<Vt.length;Bt++)if(q(Vt[Bt],ht))return}else Vt=et[ie]=[];const ce=et.constructor.name,fe=qt[ce];fe&&(Yt=fe[nt]),Yt||(Yt=ce+C+(vt?vt(nt):nt)),w.options=Ht,ae&&(w.options.once=!1),w.target=et,w.capture=Qt,w.eventName=nt,w.isExisting=ue;const zt=Dt?de:void 0;zt&&(zt.taskData=w);const $t=Oe.scheduleEventTask(Yt,ht,zt,V,J);return w.target=null,zt&&(zt.taskData=null),ae&&(Ht.once=!0),!Ut&&"boolean"==typeof $t.options||($t.options=Ht),$t.target=et,$t.capture=Qt,$t.eventName=nt,pt&&($t.originalDelegate=ht),tt?Vt.unshift($t):Vt.push($t),W?et:void 0}};return H[O]=I(st,K,u,p,ut),St&&(H[U]=I(St,at,function(E){return St.call(w.target,w.eventName,E.invoke,w.options)},p,ut,!0)),H[S]=function(){const E=this||a;let C=arguments[0];F&&F.transferEventName&&(C=F.transferEventName(C));const V=arguments[2],J=!!V&&("boolean"==typeof V||V.capture),W=arguments[1];if(!W)return Y.apply(this,arguments);if(ft&&!ft(Y,W,E,arguments))return;const tt=Lt[C];let et;tt&&(et=tt[J?v:f]);const nt=et&&E[et];if(nt)for(let ht=0;ht<nt.length;ht++){const pt=nt[ht];if(q(pt,W))return nt.splice(ht,1),pt.isRemoved=!0,0===nt.length&&(pt.allRemoved=!0,E[et]=null,"string"==typeof C)&&(E[h+"ON_PROPERTY"+C]=null),pt.zone.cancelTask(pt),ut?E:void 0}return Y.apply(this,arguments)},H[$]=function(){const E=this||a;let C=arguments[0];F&&F.transferEventName&&(C=F.transferEventName(C));const V=[],J=re(E,vt?vt(C):C);for(let W=0;W<J.length;W++){const tt=J[W];V.push(tt.originalDelegate?tt.originalDelegate:tt.callback)}return V},H[A]=function(){const E=this||a;let C=arguments[0];if(C){F&&F.transferEventName&&(C=F.transferEventName(C));const V=Lt[C];if(V){const tt=E[V[f]],et=E[V[v]];if(tt){const nt=tt.slice();for(let ht=0;ht<nt.length;ht++){const pt=nt[ht];this[S].call(this,C,pt.originalDelegate?pt.originalDelegate:pt.callback,pt.options)}}if(et){const nt=et.slice();for(let ht=0;ht<nt.length;ht++){const pt=nt[ht];this[S].call(this,C,pt.originalDelegate?pt.originalDelegate:pt.callback,pt.options)}}}}else{const V=Object.keys(E);for(let J=0;J<V.length;J++){const tt=te.exec(V[J]);let et=tt&&tt[1];et&&"removeListener"!==et&&this[A].call(this,et)}this[A].call(this,"removeListener")}if(ut)return this},dt(H[O],st),dt(H[S],Y),Ft&&dt(H[A],Ft),Ct&&dt(H[$],Ct),!0}let Ot=[];for(let _=0;_<m.length;_++)Ot[_]=Mt(m[_],g);return Ot}function re(a,d){if(!d){const S=[];for(let $ in a){const A=te.exec($);let X=A&&A[1];if(X&&(!d||X===d)){const K=a[$];if(K)for(let U=0;U<K.length;U++)S.push(K[U])}}return S}let m=Lt[d];m||(ne(d),m=Lt[d]);const g=a[m[f]],O=a[m[v]];return g?O?g.concat(O):g.slice():O?O.slice():[]}function he(a,d){const m=a.Event;m&&m.prototype&&d.patchMethod(m.prototype,"stopImmediatePropagation",g=>function(O,S){O[ee]=!0,g&&g.apply(O,S)})}function pe(a,d,m,g,O){const S=Zone.__symbol__(g);if(d[S])return;const $=d[S]=d[g];d[g]=function(A,X,K){return X&&X.prototype&&O.forEach(function(U){const at=`${m}.${g}::`+U,rt=X.prototype;try{if(rt.hasOwnProperty(U)){const ot=a.ObjectGetOwnPropertyDescriptor(rt,U);ot&&ot.value?(ot.value=a.wrapWithCurrentZone(ot.value,at),a._redefineProperty(X.prototype,U,ot)):rt[U]&&(rt[U]=a.wrapWithCurrentZone(rt[U],at))}else rt[U]&&(rt[U]=a.wrapWithCurrentZone(rt[U],at))}catch{}}),$.call(d,A,X,K)},a.attachOriginToPatched(d[g],$)}function oe(a,d,m){if(!m||0===m.length)return d;const g=m.filter(S=>S.target===a);if(!g||0===g.length)return d;const O=g[0].ignoreProperties;return d.filter(S=>-1===O.indexOf(S))}function se(a,d,m,g){a&&Nt(a,oe(a,d,m),g)}function Jt(a){return Object.getOwnPropertyNames(a).filter(d=>d.startsWith("on")&&d.length>2).map(d=>d.substring(2))}Zone.__load_patch("util",(a,d,m)=>{const g=Jt(a);m.patchOnProperties=Nt,m.patchMethod=lt,m.bindArguments=L,m.patchMacroTask=Pt;const O=d.__symbol__("BLACK_LISTED_EVENTS"),S=d.__symbol__("UNPATCHED_EVENTS");a[S]&&(a[O]=a[S]),a[O]&&(d[O]=d[S]=a[O]),m.patchEventPrototype=he,m.patchEventTarget=ve,m.isIEOrEdge=le,m.ObjectDefineProperty=l,m.ObjectGetOwnPropertyDescriptor=i,m.ObjectCreate=e,m.ArraySlice=n,m.patchClass=At,m.wrapWithCurrentZone=y,m.filterProperties=oe,m.attachOriginToPatched=dt,m._redefineProperty=Object.defineProperty,m.patchCallbacks=pe,m.getGlobalObjects=()=>({globalSources:qt,zoneSymbolEventNames:Lt,eventNames:g,isBrowser:B,isMix:Q,isNode:k,TRUE_STR:v,FALSE_STR:f,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:s,REMOVE_EVENT_LISTENER_STR:o})});const Xt=T("zoneTask");function Wt(a,d,m,g){let O=null,S=null;m+=g;const $={};function A(K){const U=K.data;return U.args[0]=function(){return K.invoke.apply(this,arguments)},U.handleId=O.apply(a,U.args),K}function X(K){return S.call(a,K.data.handleId)}O=lt(a,d+=g,K=>function(U,at){if("function"==typeof at[0]){const rt={isPeriodic:"Interval"===g,delay:"Timeout"===g||"Interval"===g?at[1]||0:void 0,args:at},ot=at[0];at[0]=function(){try{return ot.apply(this,arguments)}finally{rt.isPeriodic||("number"==typeof rt.handleId?delete $[rt.handleId]:rt.handleId&&(rt.handleId[Xt]=null))}};const yt=x(d,at[0],rt,A,X);if(!yt)return yt;const ct=yt.data.handleId;return"number"==typeof ct?$[ct]=yt:ct&&(ct[Xt]=yt),ct&&ct.ref&&ct.unref&&"function"==typeof ct.ref&&"function"==typeof ct.unref&&(yt.ref=ct.ref.bind(ct),yt.unref=ct.unref.bind(ct)),"number"==typeof ct||ct?ct:yt}return K.apply(a,at)}),S=lt(a,m,K=>function(U,at){const rt=at[0];let ot;"number"==typeof rt?ot=$[rt]:(ot=rt&&rt[Xt],ot||(ot=rt)),ot&&"string"==typeof ot.type?"notScheduled"!==ot.state&&(ot.cancelFn&&ot.data.isPeriodic||0===ot.runCount)&&("number"==typeof rt?delete $[rt]:rt&&(rt[Xt]=null),ot.zone.cancelTask(ot)):K.apply(a,at)})}Zone.__load_patch("legacy",a=>{const d=a[Zone.__symbol__("legacyPatch")];d&&d()}),Zone.__load_patch("timers",a=>{const d="set",m="clear";Wt(a,d,m,"Timeout"),Wt(a,d,m,"Interval"),Wt(a,d,m,"Immediate")}),Zone.__load_patch("requestAnimationFrame",a=>{Wt(a,"request","cancel","AnimationFrame"),Wt(a,"mozRequest","mozCancel","AnimationFrame"),Wt(a,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(a,d)=>{const m=["alert","prompt","confirm"];for(let g=0;g<m.length;g++)lt(a,m[g],(S,$,A)=>function(X,K){return d.current.run(S,a,K,A)})}),Zone.__load_patch("EventTarget",(a,d,m)=>{(function Te(a,d){d.patchEventPrototype(a,d)})(a,m),function me(a,d){if(Zone[d.symbol("patchEventTarget")])return;const{eventNames:m,zoneSymbolEventNames:g,TRUE_STR:O,FALSE_STR:S,ZONE_SYMBOL_PREFIX:$}=d.getGlobalObjects();for(let X=0;X<m.length;X++){const K=m[X],rt=$+(K+S),ot=$+(K+O);g[K]={},g[K][S]=rt,g[K][O]=ot}const A=a.EventTarget;A&&A.prototype&&d.patchEventTarget(a,d,[A&&A.prototype])}(a,m);const g=a.XMLHttpRequestEventTarget;g&&g.prototype&&m.patchEventTarget(a,m,[g.prototype])}),Zone.__load_patch("MutationObserver",(a,d,m)=>{At("MutationObserver"),At("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(a,d,m)=>{At("IntersectionObserver")}),Zone.__load_patch("FileReader",(a,d,m)=>{At("FileReader")}),Zone.__load_patch("on_property",(a,d,m)=>{!function ye(a,d){if(k&&!Q||Zone[a.symbol("patchEvents")])return;const m=d.__Zone_ignore_on_properties;let g=[];if(B){const O=window;g=g.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const S=function Kt(){try{const a=N.navigator.userAgent;if(-1!==a.indexOf("MSIE ")||-1!==a.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:O,ignoreProperties:["error"]}]:[];se(O,Jt(O),m&&m.concat(S),t(O))}g=g.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let O=0;O<g.length;O++){const S=d[g[O]];S&&S.prototype&&se(S.prototype,Jt(S.prototype),m)}}(m,a)}),Zone.__load_patch("customElements",(a,d,m)=>{!function Ee(a,d){const{isBrowser:m,isMix:g}=d.getGlobalObjects();(m||g)&&a.customElements&&"customElements"in a&&d.patchCallbacks(d,a.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(a,m)}),Zone.__load_patch("XHR",(a,d)=>{!function X(K){const U=K.XMLHttpRequest;if(!U)return;const at=U.prototype;let ot=at[r],yt=at[c];if(!ot){const w=K.XMLHttpRequestEventTarget;if(w){const st=w.prototype;ot=st[r],yt=st[c]}}const ct="readystatechange",Mt="scheduled";function Ot(w){const st=w.data,Y=st.target;Y[S]=!1,Y[A]=!1;const Ct=Y[O];ot||(ot=Y[r],yt=Y[c]),Ct&&yt.call(Y,ct,Ct);const Ft=Y[O]=()=>{if(Y.readyState===Y.DONE)if(!st.aborted&&Y[S]&&w.state===Mt){const mt=Y[d.__symbol__("loadfalse")];if(0!==Y.status&&mt&&mt.length>0){const wt=w.invoke;w.invoke=function(){const kt=Y[d.__symbol__("loadfalse")];for(let Tt=0;Tt<kt.length;Tt++)kt[Tt]===w&&kt.splice(Tt,1);!st.aborted&&w.state===Mt&&wt.call(w)},mt.push(w)}else w.invoke()}else!st.aborted&&!1===Y[S]&&(Y[A]=!0)};return ot.call(Y,ct,Ft),Y[m]||(Y[m]=w),H.apply(Y,st.args),Y[S]=!0,w}function _(){}function F(w){const st=w.data;return st.aborted=!0,vt.apply(st.target,st.args)}const Dt=lt(at,"open",()=>function(w,st){return w[g]=0==st[2],w[$]=st[1],Dt.apply(w,st)}),Rt=T("fetchTaskAborting"),ut=T("fetchTaskScheduling"),H=lt(at,"send",()=>function(w,st){if(!0===d.current[ut]||w[g])return H.apply(w,st);{const Y={target:w,url:w[$],isPeriodic:!1,args:st,aborted:!1},Ct=x("XMLHttpRequest.send",_,Y,Ot,F);w&&!0===w[A]&&!Y.aborted&&Ct.state===Mt&&Ct.invoke()}}),vt=lt(at,"abort",()=>function(w,st){const Y=function rt(w){return w[m]}(w);if(Y&&"string"==typeof Y.type){if(null==Y.cancelFn||Y.data&&Y.data.aborted)return;Y.zone.cancelTask(Y)}else if(!0===d.current[Rt])return vt.apply(w,st)})}(a);const m=T("xhrTask"),g=T("xhrSync"),O=T("xhrListener"),S=T("xhrScheduled"),$=T("xhrURL"),A=T("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",a=>{a.navigator&&a.navigator.geolocation&&function M(a,d){const m=a.constructor.name;for(let g=0;g<d.length;g++){const O=d[g],S=a[O];if(S){if(!Z(i(a,O)))continue;a[O]=(A=>{const X=function(){return A.apply(this,L(arguments,m+"."+O))};return dt(X,A),X})(S)}}}(a.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(a,d)=>{function m(g){return function(O){re(a,g).forEach($=>{const A=a.PromiseRejectionEvent;if(A){const X=new A(g,{promise:O.promise,reason:O.rejection});$.invoke(X)}})}}a.PromiseRejectionEvent&&(d[T("unhandledPromiseRejectionHandler")]=m("unhandledrejection"),d[T("rejectionHandledHandler")]=m("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(a,d,m)=>{!function ge(a,d){d.patchMethod(a,"queueMicrotask",m=>function(g,O){Zone.current.scheduleMicroTask("queueMicrotask",O[0])})}(a,m)})},5846:(i,l,t)=>{t(7103),t(2586),t(2552),t(4376),t(5153),t(1879),t(2650),t(1104),t(1883),t(5433),t(5e3),t(5932),t(5443),t(6316),t(6094)},8509:(i,l,t)=>{t(9087),t(9766),t(1390),t(6094)},8681:(i,l,t)=>{t(4614),t(7594),t(7146),t(7531),t(5039),t(4300),t(6328),t(6094)},9353:(i,l,t)=>{t(7491),t(4907),t(9100),t(9269),t(1319),t(9732),t(1176),t(3107),t(1691),t(6094)},3387:i=>{i.exports=function(l){if("function"!=typeof l)throw TypeError(l+" is not a function!");return l}},8184:(i,l,t)=>{var e=t(7574)("unscopables"),n=Array.prototype;null==n[e]&&t(3341)(n,e,{}),i.exports=function(s){n[e][s]=!0}},6440:i=>{i.exports=function(l,t,e,n){if(!(l instanceof t)||void 0!==n&&n in l)throw TypeError(e+": incorrect invocation!");return l}},4228:(i,l,t)=>{var e=t(3305);i.exports=function(n){if(!e(n))throw TypeError(n+" is not an object!");return n}},956:(i,l,t)=>{var e=t(8790);i.exports=function(n,s){var o=[];return e(n,!1,o.push,o,s),o}},1464:(i,l,t)=>{var e=t(7221),n=t(1485),s=t(157);i.exports=function(o){return function(r,c,v){var x,f=e(r),h=n(f.length),y=s(v,h);if(o&&c!=c){for(;h>y;)if((x=f[y++])!=x)return!0}else for(;h>y;y++)if((o||y in f)&&f[y]===c)return o||y||0;return!o&&-1}}},6179:(i,l,t)=>{var e=t(5052),n=t(1249),s=t(8270),o=t(1485),r=t(5572);i.exports=function(c,v){var f=1==c,h=2==c,y=3==c,x=4==c,T=6==c,P=5==c||T,N=v||r;return function(R,j,L){for(var gt,bt,M=s(R),Z=n(M),b=e(j,L,3),k=o(Z.length),B=0,Q=f?N(R,k):h?N(R,0):void 0;k>B;B++)if((P||B in Z)&&(bt=b(gt=Z[B],B,M),c))if(f)Q[B]=bt;else if(bt)switch(c){case 3:return!0;case 5:return gt;case 6:return B;case 2:Q.push(gt)}else if(x)return!1;return T?-1:y||x?x:Q}}},3606:(i,l,t)=>{var e=t(3305),n=t(7981),s=t(7574)("species");i.exports=function(o){var r;return n(o)&&("function"==typeof(r=o.constructor)&&(r===Array||n(r.prototype))&&(r=void 0),e(r)&&null===(r=r[s])&&(r=void 0)),void 0===r?Array:r}},5572:(i,l,t)=>{var e=t(3606);i.exports=function(n,s){return new(e(n))(s)}},5538:(i,l,t)=>{"use strict";var e=t(3387),n=t(3305),s=t(4877),o=[].slice,r={};i.exports=Function.bind||function(f){var h=e(this),y=o.call(arguments,1),x=function(){var T=y.concat(o.call(arguments));return this instanceof x?function(v,f,h){if(!(f in r)){for(var y=[],x=0;x<f;x++)y[x]="a["+x+"]";r[f]=Function("F,a","return new F("+y.join(",")+")")}return r[f](v,h)}(h,T.length,T):s(h,T,f)};return n(h.prototype)&&(x.prototype=h.prototype),x}},4848:(i,l,t)=>{var e=t(5089),n=t(7574)("toStringTag"),s="Arguments"==e(function(){return arguments}());i.exports=function(r){var c,v,f;return void 0===r?"Undefined":null===r?"Null":"string"==typeof(v=function(r,c){try{return r[c]}catch{}}(c=Object(r),n))?v:s?e(c):"Object"==(f=e(c))&&"function"==typeof c.callee?"Arguments":f}},5089:i=>{var l={}.toString;i.exports=function(t){return l.call(t).slice(8,-1)}},6197:(i,l,t)=>{"use strict";var e=t(7967).f,n=t(4719),s=t(6065),o=t(5052),r=t(6440),c=t(8790),v=t(8175),f=t(4970),h=t(5762),y=t(1763),x=t(2988).fastKey,T=t(2888),P=y?"_s":"size",N=function(R,j){var M,L=x(j);if("F"!==L)return R._i[L];for(M=R._f;M;M=M.n)if(M.k==j)return M};i.exports={getConstructor:function(R,j,L,M){var Z=R(function(b,k){r(b,Z,j,"_i"),b._t=j,b._i=n(null),b._f=void 0,b._l=void 0,b[P]=0,null!=k&&c(k,L,b[M],b)});return s(Z.prototype,{clear:function(){for(var k=T(this,j),B=k._i,Q=k._f;Q;Q=Q.n)Q.r=!0,Q.p&&(Q.p=Q.p.n=void 0),delete B[Q.i];k._f=k._l=void 0,k[P]=0},delete:function(b){var k=T(this,j),B=N(k,b);if(B){var Q=B.n,gt=B.p;delete k._i[B.i],B.r=!0,gt&&(gt.n=Q),Q&&(Q.p=gt),k._f==B&&(k._f=Q),k._l==B&&(k._l=gt),k[P]--}return!!B},forEach:function(k){T(this,j);for(var Q,B=o(k,arguments.length>1?arguments[1]:void 0,3);Q=Q?Q.n:this._f;)for(B(Q.v,Q.k,this);Q&&Q.r;)Q=Q.p},has:function(k){return!!N(T(this,j),k)}}),y&&e(Z.prototype,"size",{get:function(){return T(this,j)[P]}}),Z},def:function(R,j,L){var Z,b,M=N(R,j);return M?M.v=L:(R._l=M={i:b=x(j,!0),k:j,v:L,p:Z=R._l,n:void 0,r:!1},R._f||(R._f=M),Z&&(Z.n=M),R[P]++,"F"!==b&&(R._i[b]=M)),R},getEntry:N,setStrong:function(R,j,L){v(R,j,function(M,Z){this._t=T(M,j),this._k=Z,this._l=void 0},function(){for(var M=this,Z=M._k,b=M._l;b&&b.r;)b=b.p;return M._t&&(M._l=b=b?b.n:M._t._f)?f(0,"keys"==Z?b.k:"values"==Z?b.v:[b.k,b.v]):(M._t=void 0,f(1))},L?"entries":"values",!L,!0),h(j)}}},9882:(i,l,t)=>{"use strict";var e=t(6065),n=t(2988).getWeak,s=t(4228),o=t(3305),r=t(6440),c=t(8790),v=t(6179),f=t(7917),h=t(2888),y=v(5),x=v(6),T=0,P=function(j){return j._l||(j._l=new N)},N=function(){this.a=[]},R=function(j,L){return y(j.a,function(M){return M[0]===L})};N.prototype={get:function(j){var L=R(this,j);if(L)return L[1]},has:function(j){return!!R(this,j)},set:function(j,L){var M=R(this,j);M?M[1]=L:this.a.push([j,L])},delete:function(j){var L=x(this.a,function(M){return M[0]===j});return~L&&this.a.splice(L,1),!!~L}},i.exports={getConstructor:function(j,L,M,Z){var b=j(function(k,B){r(k,b,L,"_i"),k._t=L,k._i=T++,k._l=void 0,null!=B&&c(B,M,k[Z],k)});return e(b.prototype,{delete:function(k){if(!o(k))return!1;var B=n(k);return!0===B?P(h(this,L)).delete(k):B&&f(B,this._i)&&delete B[this._i]},has:function(B){if(!o(B))return!1;var Q=n(B);return!0===Q?P(h(this,L)).has(B):Q&&f(Q,this._i)}}),b},def:function(j,L,M){var Z=n(s(L),!0);return!0===Z?P(j).set(L,M):Z[j._i]=M,j},ufstore:P}},8933:(i,l,t)=>{"use strict";var e=t(7526),n=t(2127),s=t(8859),o=t(6065),r=t(2988),c=t(8790),v=t(6440),f=t(3305),h=t(9448),y=t(8931),x=t(3844),T=t(8880);i.exports=function(P,N,R,j,L,M){var Z=e[P],b=Z,k=L?"set":"add",B=b&&b.prototype,Q={},gt=function(lt){var Pt=B[lt];s(B,lt,"delete"==lt?function(dt){return!(M&&!f(dt))&&Pt.call(this,0===dt?0:dt)}:"has"==lt?function(Et){return!(M&&!f(Et))&&Pt.call(this,0===Et?0:Et)}:"get"==lt?function(Et){return M&&!f(Et)?void 0:Pt.call(this,0===Et?0:Et)}:"add"==lt?function(Et){return Pt.call(this,0===Et?0:Et),this}:function(Et,Zt){return Pt.call(this,0===Et?0:Et,Zt),this})};if("function"==typeof b&&(M||B.forEach&&!h(function(){(new b).entries().next()}))){var bt=new b,It=bt[k](M?{}:-0,1)!=bt,Nt=h(function(){bt.has(1)}),xt=y(function(lt){new b(lt)}),At=!M&&h(function(){for(var lt=new b,Pt=5;Pt--;)lt[k](Pt,Pt);return!lt.has(-0)});xt||((b=N(function(lt,Pt){v(lt,b,P);var dt=T(new Z,lt,b);return null!=Pt&&c(Pt,L,dt[k],dt),dt})).prototype=B,B.constructor=b),(Nt||At)&&(gt("delete"),gt("has"),L&>("get")),(At||It)&>(k),M&&B.clear&&delete B.clear}else b=j.getConstructor(N,P,L,k),o(b.prototype,R),r.NEED=!0;return x(b,P),Q[P]=b,n(n.G+n.W+n.F*(b!=Z),Q),M||j.setStrong(b,P,L),b}},6094:i=>{var l=i.exports={version:"2.5.7"};"number"==typeof __e&&(__e=l)},7227:(i,l,t)=>{"use strict";var e=t(7967),n=t(1996);i.exports=function(s,o,r){o in s?e.f(s,o,n(0,r)):s[o]=r}},5052:(i,l,t)=>{var e=t(3387);i.exports=function(n,s,o){if(e(n),void 0===s)return n;switch(o){case 1:return function(r){return n.call(s,r)};case 2:return function(r,c){return n.call(s,r,c)};case 3:return function(r,c,v){return n.call(s,r,c,v)}}return function(){return n.apply(s,arguments)}}},3344:i=>{i.exports=function(l){if(null==l)throw TypeError("Can't call method on "+l);return l}},1763:(i,l,t)=>{i.exports=!t(9448)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},6034:(i,l,t)=>{var e=t(3305),n=t(7526).document,s=e(n)&&e(n.createElement);i.exports=function(o){return s?n.createElement(o):{}}},6140:i=>{i.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},2127:(i,l,t)=>{var e=t(7526),n=t(6094),s=t(3341),o=t(8859),r=t(5052),c="prototype",v=function(f,h,y){var Z,b,k,B,x=f&v.F,T=f&v.G,N=f&v.P,R=f&v.B,j=T?e:f&v.S?e[h]||(e[h]={}):(e[h]||{})[c],L=T?n:n[h]||(n[h]={}),M=L[c]||(L[c]={});for(Z in T&&(y=h),y)k=((b=!x&&j&&void 0!==j[Z])?j:y)[Z],B=R&&b?r(k,e):N&&"function"==typeof k?r(Function.call,k):k,j&&o(j,Z,k,f&v.U),L[Z]!=k&&s(L,Z,B),N&&M[Z]!=k&&(M[Z]=k)};e.core=n,v.F=1,v.G=2,v.S=4,v.P=8,v.B=16,v.W=32,v.U=64,v.R=128,i.exports=v},9448:i=>{i.exports=function(l){try{return!!l()}catch{return!0}}},2322:(i,l,t)=>{"use strict";var e=t(7981),n=t(3305),s=t(1485),o=t(5052),r=t(7574)("isConcatSpreadable");i.exports=function c(v,f,h,y,x,T,P,N){for(var M,Z,R=x,j=0,L=!!P&&o(P,N,3);j<y;){if(j in h){if(M=L?L(h[j],j,f):h[j],Z=!1,n(M)&&(Z=void 0!==(Z=M[r])?!!Z:e(M)),Z&&T>0)R=c(v,f,M,s(M.length),R,T-1)-1;else{if(R>=9007199254740991)throw TypeError();v[R]=M}R++}j++}return R}},8790:(i,l,t)=>{var e=t(5052),n=t(7368),s=t(1508),o=t(4228),r=t(1485),c=t(762),v={},f={},h=i.exports=function(y,x,T,P,N){var M,Z,b,k,R=N?function(){return y}:c(y),j=e(T,P,x?2:1),L=0;if("function"!=typeof R)throw TypeError(y+" is not iterable!");if(s(R)){for(M=r(y.length);M>L;L++)if((k=x?j(o(Z=y[L])[0],Z[1]):j(y[L]))===v||k===f)return k}else for(b=R.call(y);!(Z=b.next()).done;)if((k=n(b,j,Z.value,x))===v||k===f)return k};h.BREAK=v,h.RETURN=f},7526:i=>{var l=i.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=l)},7917:i=>{var l={}.hasOwnProperty;i.exports=function(t,e){return l.call(t,e)}},3341:(i,l,t)=>{var e=t(7967),n=t(1996);i.exports=t(1763)?function(s,o,r){return e.f(s,o,n(1,r))}:function(s,o,r){return s[o]=r,s}},1308:(i,l,t)=>{var e=t(7526).document;i.exports=e&&e.documentElement},2956:(i,l,t)=>{i.exports=!t(1763)&&!t(9448)(function(){return 7!=Object.defineProperty(t(6034)("div"),"a",{get:function(){return 7}}).a})},8880:(i,l,t)=>{var e=t(3305),n=t(5170).set;i.exports=function(s,o,r){var v,c=o.constructor;return c!==r&&"function"==typeof c&&(v=c.prototype)!==r.prototype&&e(v)&&n&&n(s,v),s}},4877:i=>{i.exports=function(l,t,e){var n=void 0===e;switch(t.length){case 0:return n?l():l.call(e);case 1:return n?l(t[0]):l.call(e,t[0]);case 2:return n?l(t[0],t[1]):l.call(e,t[0],t[1]);case 3:return n?l(t[0],t[1],t[2]):l.call(e,t[0],t[1],t[2]);case 4:return n?l(t[0],t[1],t[2],t[3]):l.call(e,t[0],t[1],t[2],t[3])}return l.apply(e,t)}},1249:(i,l,t)=>{var e=t(5089);i.exports=Object("z").propertyIsEnumerable(0)?Object:function(n){return"String"==e(n)?n.split(""):Object(n)}},1508:(i,l,t)=>{var e=t(906),n=t(7574)("iterator"),s=Array.prototype;i.exports=function(o){return void 0!==o&&(e.Array===o||s[n]===o)}},7981:(i,l,t)=>{var e=t(5089);i.exports=Array.isArray||function(s){return"Array"==e(s)}},3305:i=>{i.exports=function(l){return"object"==typeof l?null!==l:"function"==typeof l}},7368:(i,l,t)=>{var e=t(4228);i.exports=function(n,s,o,r){try{return r?s(e(o)[0],o[1]):s(o)}catch(v){var c=n.return;throw void 0!==c&&e(c.call(n)),v}}},6032:(i,l,t)=>{"use strict";var e=t(4719),n=t(1996),s=t(3844),o={};t(3341)(o,t(7574)("iterator"),function(){return this}),i.exports=function(r,c,v){r.prototype=e(o,{next:n(1,v)}),s(r,c+" Iterator")}},8175:(i,l,t)=>{"use strict";var e=t(2750),n=t(2127),s=t(8859),o=t(3341),r=t(906),c=t(6032),v=t(3844),f=t(627),h=t(7574)("iterator"),y=!([].keys&&"next"in[].keys()),T="keys",P="values",N=function(){return this};i.exports=function(R,j,L,M,Z,b,k){c(L,j,M);var Pt,dt,Et,B=function(Zt){if(!y&&Zt in It)return It[Zt];switch(Zt){case T:case P:return function(){return new L(this,Zt)}}return function(){return new L(this,Zt)}},Q=j+" Iterator",gt=Z==P,bt=!1,It=R.prototype,Nt=It[h]||It["@@iterator"]||Z&&It[Z],xt=Nt||B(Z),At=Z?gt?B("entries"):xt:void 0,lt="Array"==j&&It.entries||Nt;if(lt&&(Et=f(lt.call(new R)))!==Object.prototype&&Et.next&&(v(Et,Q,!0),!e&&"function"!=typeof Et[h]&&o(Et,h,N)),gt&&Nt&&Nt.name!==P&&(bt=!0,xt=function(){return Nt.call(this)}),(!e||k)&&(y||bt||!It[h])&&o(It,h,xt),r[j]=xt,r[Q]=N,Z)if(Pt={values:gt?xt:B(P),keys:b?xt:B(T),entries:At},k)for(dt in Pt)dt in It||s(It,dt,Pt[dt]);else n(n.P+n.F*(y||bt),j,Pt);return Pt}},8931:(i,l,t)=>{var e=t(7574)("iterator"),n=!1;try{var s=[7][e]();s.return=function(){n=!0},Array.from(s,function(){throw 2})}catch{}i.exports=function(o,r){if(!r&&!n)return!1;var c=!1;try{var v=[7],f=v[e]();f.next=function(){return{done:c=!0}},v[e]=function(){return f},o(v)}catch{}return c}},4970:i=>{i.exports=function(l,t){return{value:t,done:!!l}}},906:i=>{i.exports={}},2750:i=>{i.exports=!1},2988:(i,l,t)=>{var e=t(4415)("meta"),n=t(3305),s=t(7917),o=t(7967).f,r=0,c=Object.isExtensible||function(){return!0},v=!t(9448)(function(){return c(Object.preventExtensions({}))}),f=function(P){o(P,e,{value:{i:"O"+ ++r,w:{}}})},T=i.exports={KEY:e,NEED:!1,fastKey:function(P,N){if(!n(P))return"symbol"==typeof P?P:("string"==typeof P?"S":"P")+P;if(!s(P,e)){if(!c(P))return"F";if(!N)return"E";f(P)}return P[e].i},getWeak:function(P,N){if(!s(P,e)){if(!c(P))return!0;if(!N)return!1;f(P)}return P[e].w},onFreeze:function(P){return v&&T.NEED&&c(P)&&!s(P,e)&&f(P),P}}},7380:(i,l,t)=>{var e=t(3386),n=t(2127),s=t(4556)("metadata"),o=s.store||(s.store=new(t(9397))),r=function(T,P,N){var R=o.get(T);if(!R){if(!N)return;o.set(T,R=new e)}var j=R.get(P);if(!j){if(!N)return;R.set(P,j=new e)}return j};i.exports={store:o,map:r,has:function(T,P,N){var R=r(P,N,!1);return void 0!==R&&R.has(T)},get:function(T,P,N){var R=r(P,N,!1);return void 0===R?void 0:R.get(T)},set:function(T,P,N,R){r(N,R,!0).set(T,P)},keys:function(T,P){var N=r(T,P,!1),R=[];return N&&N.forEach(function(j,L){R.push(L)}),R},key:function(T){return void 0===T||"symbol"==typeof T?T:String(T)},exp:function(T){n(n.S,"Reflect",T)}}},8206:(i,l,t)=>{"use strict";var e=t(1311),n=t(1060),s=t(8449),o=t(8270),r=t(1249),c=Object.assign;i.exports=!c||t(9448)(function(){var v={},f={},h=Symbol(),y="abcdefghijklmnopqrst";return v[h]=7,y.split("").forEach(function(x){f[x]=x}),7!=c({},v)[h]||Object.keys(c({},f)).join("")!=y})?function(f,h){for(var y=o(f),x=arguments.length,T=1,P=n.f,N=s.f;x>T;)for(var Z,R=r(arguments[T++]),j=P?e(R).concat(P(R)):e(R),L=j.length,M=0;L>M;)N.call(R,Z=j[M++])&&(y[Z]=R[Z]);return y}:c},4719:(i,l,t)=>{var e=t(4228),n=t(1626),s=t(6140),o=t(766)("IE_PROTO"),r=function(){},c="prototype",v=function(){var T,f=t(6034)("iframe"),h=s.length;for(f.style.display="none",t(1308).appendChild(f),f.src="javascript:",(T=f.contentWindow.document).open(),T.write("<script>document.F=Object<\/script>"),T.close(),v=T.F;h--;)delete v[c][s[h]];return v()};i.exports=Object.create||function(h,y){var x;return null!==h?(r[c]=e(h),x=new r,r[c]=null,x[o]=h):x=v(),void 0===y?x:n(x,y)}},7967:(i,l,t)=>{var e=t(4228),n=t(2956),s=t(3048),o=Object.defineProperty;l.f=t(1763)?Object.defineProperty:function(c,v,f){if(e(c),v=s(v,!0),e(f),n)try{return o(c,v,f)}catch{}if("get"in f||"set"in f)throw TypeError("Accessors not supported!");return"value"in f&&(c[v]=f.value),c}},1626:(i,l,t)=>{var e=t(7967),n=t(4228),s=t(1311);i.exports=t(1763)?Object.defineProperties:function(r,c){n(r);for(var y,v=s(c),f=v.length,h=0;f>h;)e.f(r,y=v[h++],c[y]);return r}},1913:(i,l,t)=>{"use strict";i.exports=t(2750)||!t(9448)(function(){var e=Math.random();__defineSetter__.call(null,e,function(){}),delete t(7526)[e]})},8641:(i,l,t)=>{var e=t(8449),n=t(1996),s=t(7221),o=t(3048),r=t(7917),c=t(2956),v=Object.getOwnPropertyDescriptor;l.f=t(1763)?v:function(h,y){if(h=s(h),y=o(y,!0),c)try{return v(h,y)}catch{}if(r(h,y))return n(!e.f.call(h,y),h[y])}},9415:(i,l,t)=>{var e=t(4561),n=t(6140).concat("length","prototype");l.f=Object.getOwnPropertyNames||function(o){return e(o,n)}},1060:(i,l)=>{l.f=Object.getOwnPropertySymbols},627:(i,l,t)=>{var e=t(7917),n=t(8270),s=t(766)("IE_PROTO"),o=Object.prototype;i.exports=Object.getPrototypeOf||function(r){return r=n(r),e(r,s)?r[s]:"function"==typeof r.constructor&&r instanceof r.constructor?r.constructor.prototype:r instanceof Object?o:null}},4561:(i,l,t)=>{var e=t(7917),n=t(7221),s=t(1464)(!1),o=t(766)("IE_PROTO");i.exports=function(r,c){var y,v=n(r),f=0,h=[];for(y in v)y!=o&&e(v,y)&&h.push(y);for(;c.length>f;)e(v,y=c[f++])&&(~s(h,y)||h.push(y));return h}},1311:(i,l,t)=>{var e=t(4561),n=t(6140);i.exports=Object.keys||function(o){return e(o,n)}},8449:(i,l)=>{l.f={}.propertyIsEnumerable},3854:(i,l,t)=>{var e=t(1311),n=t(7221),s=t(8449).f;i.exports=function(o){return function(r){for(var x,c=n(r),v=e(c),f=v.length,h=0,y=[];f>h;)s.call(c,x=v[h++])&&y.push(o?[x,c[x]]:c[x]);return y}}},6222:(i,l,t)=>{var e=t(9415),n=t(1060),s=t(4228),o=t(7526).Reflect;i.exports=o&&o.ownKeys||function(c){var v=e.f(s(c)),f=n.f;return f?v.concat(f(c)):v}},1996:i=>{i.exports=function(l,t){return{enumerable:!(1&l),configurable:!(2&l),writable:!(4&l),value:t}}},6065:(i,l,t)=>{var e=t(8859);i.exports=function(n,s,o){for(var r in s)e(n,r,s[r],o);return n}},8859:(i,l,t)=>{var e=t(7526),n=t(3341),s=t(7917),o=t(4415)("src"),r="toString",c=Function[r],v=(""+c).split(r);t(6094).inspectSource=function(f){return c.call(f)},(i.exports=function(f,h,y,x){var T="function"==typeof y;T&&(s(y,"name")||n(y,"name",h)),f[h]!==y&&(T&&(s(y,o)||n(y,o,f[h]?""+f[h]:v.join(String(h)))),f===e?f[h]=y:x?f[h]?f[h]=y:n(f,h,y):(delete f[h],n(f,h,y)))})(Function.prototype,r,function(){return"function"==typeof this&&this[o]||c.call(this)})},5170:(i,l,t)=>{var e=t(3305),n=t(4228),s=function(o,r){if(n(o),!e(r)&&null!==r)throw TypeError(r+": can't set as prototype!")};i.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(o,r,c){try{(c=t(5052)(Function.call,t(8641).f(Object.prototype,"__proto__").set,2))(o,[]),r=!(o instanceof Array)}catch{r=!0}return function(f,h){return s(f,h),r?f.__proto__=h:c(f,h),f}}({},!1):void 0),check:s}},5762:(i,l,t)=>{"use strict";var e=t(7526),n=t(7967),s=t(1763),o=t(7574)("species");i.exports=function(r){var c=e[r];s&&c&&!c[o]&&n.f(c,o,{configurable:!0,get:function(){return this}})}},3844:(i,l,t)=>{var e=t(7967).f,n=t(7917),s=t(7574)("toStringTag");i.exports=function(o,r,c){o&&!n(o=c?o:o.prototype,s)&&e(o,s,{configurable:!0,value:r})}},766:(i,l,t)=>{var e=t(4556)("keys"),n=t(4415);i.exports=function(s){return e[s]||(e[s]=n(s))}},4556:(i,l,t)=>{var e=t(6094),n=t(7526),s="__core-js_shared__",o=n[s]||(n[s]={});(i.exports=function(r,c){return o[r]||(o[r]=void 0!==c?c:{})})("versions",[]).push({version:e.version,mode:t(2750)?"pure":"global",copyright:"\xa9 2018 Denis Pushkarev (zloirock.ru)"})},157:(i,l,t)=>{var e=t(7087),n=Math.max,s=Math.min;i.exports=function(o,r){return(o=e(o))<0?n(o+r,0):s(o,r)}},7087:i=>{var l=Math.ceil,t=Math.floor;i.exports=function(e){return isNaN(e=+e)?0:(e>0?t:l)(e)}},7221:(i,l,t)=>{var e=t(1249),n=t(3344);i.exports=function(s){return e(n(s))}},1485:(i,l,t)=>{var e=t(7087),n=Math.min;i.exports=function(s){return s>0?n(e(s),9007199254740991):0}},8270:(i,l,t)=>{var e=t(3344);i.exports=function(n){return Object(e(n))}},3048:(i,l,t)=>{var e=t(3305);i.exports=function(n,s){if(!e(n))return n;var o,r;if(s&&"function"==typeof(o=n.toString)&&!e(r=o.call(n))||"function"==typeof(o=n.valueOf)&&!e(r=o.call(n))||!s&&"function"==typeof(o=n.toString)&&!e(r=o.call(n)))return r;throw TypeError("Can't convert object to primitive value")}},4415:i=>{var l=0,t=Math.random();i.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++l+t).toString(36))}},2888:(i,l,t)=>{var e=t(3305);i.exports=function(n,s){if(!e(n)||n._t!==s)throw TypeError("Incompatible receiver, "+s+" required!");return n}},7574:(i,l,t)=>{var e=t(4556)("wks"),n=t(4415),s=t(7526).Symbol,o="function"==typeof s;(i.exports=function(c){return e[c]||(e[c]=o&&s[c]||(o?s:n)("Symbol."+c))}).store=e},762:(i,l,t)=>{var e=t(4848),n=t(7574)("iterator"),s=t(906);i.exports=t(6094).getIteratorMethod=function(o){if(null!=o)return o[n]||o["@@iterator"]||s[e(o)]}},3386:(i,l,t)=>{"use strict";var e=t(6197),n=t(2888),s="Map";i.exports=t(8933)(s,function(o){return function(){return o(this,arguments.length>0?arguments[0]:void 0)}},{get:function(r){var c=e.getEntry(n(this,s),r);return c&&c.v},set:function(r,c){return e.def(n(this,s),0===r?0:r,c)}},e,!0)},7103:(i,l,t)=>{var e=t(2127),n=t(3387),s=t(4228),o=(t(7526).Reflect||{}).apply,r=Function.apply;e(e.S+e.F*!t(9448)(function(){o(function(){})}),"Reflect",{apply:function(v,f,h){var y=n(v),x=s(h);return o?o(y,f,x):r.call(y,f,x)}})},2586:(i,l,t)=>{var e=t(2127),n=t(4719),s=t(3387),o=t(4228),r=t(3305),c=t(9448),v=t(5538),f=(t(7526).Reflect||{}).construct,h=c(function(){function x(){}return!(f(function(){},[],x)instanceof x)}),y=!c(function(){f(function(){})});e(e.S+e.F*(h||y),"Reflect",{construct:function(T,P){s(T),o(P);var N=arguments.length<3?T:s(arguments[2]);if(y&&!h)return f(T,P,N);if(T==N){switch(P.length){case 0:return new T;case 1:return new T(P[0]);case 2:return new T(P[0],P[1]);case 3:return new T(P[0],P[1],P[2]);case 4:return new T(P[0],P[1],P[2],P[3])}var R=[null];return R.push.apply(R,P),new(v.apply(T,R))}var j=N.prototype,L=n(r(j)?j:Object.prototype),M=Function.apply.call(T,L,P);return r(M)?M:L}})},2552:(i,l,t)=>{var e=t(7967),n=t(2127),s=t(4228),o=t(3048);n(n.S+n.F*t(9448)(function(){Reflect.defineProperty(e.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(c,v,f){s(c),v=o(v,!0),s(f);try{return e.f(c,v,f),!0}catch{return!1}}})},4376:(i,l,t)=>{var e=t(2127),n=t(8641).f,s=t(4228);e(e.S,"Reflect",{deleteProperty:function(r,c){var v=n(s(r),c);return!(v&&!v.configurable)&&delete r[c]}})},5153:(i,l,t)=>{"use strict";var e=t(2127),n=t(4228),s=function(o){this._t=n(o),this._i=0;var c,r=this._k=[];for(c in o)r.push(c)};t(6032)(s,"Object",function(){var c,o=this,r=o._k;do{if(o._i>=r.length)return{value:void 0,done:!0}}while(!((c=r[o._i++])in o._t));return{value:c,done:!1}}),e(e.S,"Reflect",{enumerate:function(r){return new s(r)}})},2650:(i,l,t)=>{var e=t(8641),n=t(2127),s=t(4228);n(n.S,"Reflect",{getOwnPropertyDescriptor:function(r,c){return e.f(s(r),c)}})},1104:(i,l,t)=>{var e=t(2127),n=t(627),s=t(4228);e(e.S,"Reflect",{getPrototypeOf:function(r){return n(s(r))}})},1879:(i,l,t)=>{var e=t(8641),n=t(627),s=t(7917),o=t(2127),r=t(3305),c=t(4228);o(o.S,"Reflect",{get:function v(f,h){var x,T,y=arguments.length<3?f:arguments[2];return c(f)===y?f[h]:(x=e.f(f,h))?s(x,"value")?x.value:void 0!==x.get?x.get.call(y):void 0:r(T=n(f))?v(T,h,y):void 0}})},1883:(i,l,t)=>{var e=t(2127);e(e.S,"Reflect",{has:function(s,o){return o in s}})},5433:(i,l,t)=>{var e=t(2127),n=t(4228),s=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function(r){return n(r),!s||s(r)}})},5e3:(i,l,t)=>{var e=t(2127);e(e.S,"Reflect",{ownKeys:t(6222)})},5932:(i,l,t)=>{var e=t(2127),n=t(4228),s=Object.preventExtensions;e(e.S,"Reflect",{preventExtensions:function(r){n(r);try{return s&&s(r),!0}catch{return!1}}})},6316:(i,l,t)=>{var e=t(2127),n=t(5170);n&&e(e.S,"Reflect",{setPrototypeOf:function(o,r){n.check(o,r);try{return n.set(o,r),!0}catch{return!1}}})},5443:(i,l,t)=>{var e=t(7967),n=t(8641),s=t(627),o=t(7917),r=t(2127),c=t(1996),v=t(4228),f=t(3305);r(r.S,"Reflect",{set:function h(y,x,T){var R,j,P=arguments.length<4?y:arguments[3],N=n.f(v(y),x);if(!N){if(f(j=s(y)))return h(j,x,T,P);N=c(0)}if(o(N,"value")){if(!1===N.writable||!f(P))return!1;if(R=n.f(P,x)){if(R.get||R.set||!1===R.writable)return!1;R.value=T,e.f(P,x,R)}else e.f(P,x,c(0,T));return!0}return void 0!==N.set&&(N.set.call(P,T),!0)}})},1632:(i,l,t)=>{"use strict";var e=t(6197),n=t(2888);i.exports=t(8933)("Set",function(o){return function(){return o(this,arguments.length>0?arguments[0]:void 0)}},{add:function(r){return e.def(n(this,"Set"),r=0===r?0:r,r)}},e)},9397:(i,l,t)=>{"use strict";var N,e=t(6179)(0),n=t(8859),s=t(2988),o=t(8206),r=t(9882),c=t(3305),v=t(9448),f=t(2888),h="WeakMap",y=s.getWeak,x=Object.isExtensible,T=r.ufstore,P={},R=function(M){return function(){return M(this,arguments.length>0?arguments[0]:void 0)}},j={get:function(Z){if(c(Z)){var b=y(Z);return!0===b?T(f(this,h)).get(Z):b?b[this._i]:void 0}},set:function(Z,b){return r.def(f(this,h),Z,b)}},L=i.exports=t(8933)(h,R,j,r,!0,!0);v(function(){return 7!=(new L).set((Object.freeze||Object)(P),7).get(P)})&&(o((N=r.getConstructor(R,h)).prototype,j),s.NEED=!0,e(["delete","has","get","set"],function(M){var Z=L.prototype,b=Z[M];n(Z,M,function(k,B){if(c(k)&&!x(k)){this._f||(this._f=new N);var Q=this._f[M](k,B);return"set"==M?this:Q}return b.call(this,k,B)})}))},9766:(i,l,t)=>{"use strict";var e=t(2127),n=t(2322),s=t(8270),o=t(1485),r=t(3387),c=t(5572);e(e.P,"Array",{flatMap:function(f){var y,x,h=s(this);return r(f),y=o(h.length),x=c(h,0),n(x,h,h,y,0,1,f,arguments[1]),x}}),t(8184)("flatMap")},1390:(i,l,t)=>{"use strict";var e=t(2127),n=t(2322),s=t(8270),o=t(1485),r=t(7087),c=t(5572);e(e.P,"Array",{flatten:function(){var f=arguments[0],h=s(this),y=o(h.length),x=c(h,0);return n(x,h,h,y,0,void 0===f?1:r(f)),x}}),t(8184)("flatten")},9087:(i,l,t)=>{"use strict";var e=t(2127),n=t(1464)(!0);e(e.P,"Array",{includes:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}}),t(8184)("includes")},7531:(i,l,t)=>{"use strict";var e=t(2127),n=t(8270),s=t(3387),o=t(7967);t(1763)&&e(e.P+t(1913),"Object",{__defineGetter__:function(c,v){o.f(n(this),c,{get:s(v),enumerable:!0,configurable:!0})}})},5039:(i,l,t)=>{"use strict";var e=t(2127),n=t(8270),s=t(3387),o=t(7967);t(1763)&&e(e.P+t(1913),"Object",{__defineSetter__:function(c,v){o.f(n(this),c,{set:s(v),enumerable:!0,configurable:!0})}})},7146:(i,l,t)=>{var e=t(2127),n=t(3854)(!0);e(e.S,"Object",{entries:function(o){return n(o)}})},4614:(i,l,t)=>{var e=t(2127),n=t(6222),s=t(7221),o=t(8641),r=t(7227);e(e.S,"Object",{getOwnPropertyDescriptors:function(v){for(var P,N,f=s(v),h=o.f,y=n(f),x={},T=0;y.length>T;)void 0!==(N=h(f,P=y[T++]))&&r(x,P,N);return x}})},4300:(i,l,t)=>{"use strict";var e=t(2127),n=t(8270),s=t(3048),o=t(627),r=t(8641).f;t(1763)&&e(e.P+t(1913),"Object",{__lookupGetter__:function(v){var y,f=n(this),h=s(v,!0);do{if(y=r(f,h))return y.get}while(f=o(f))}})},6328:(i,l,t)=>{"use strict";var e=t(2127),n=t(8270),s=t(3048),o=t(627),r=t(8641).f;t(1763)&&e(e.P+t(1913),"Object",{__lookupSetter__:function(v){var y,f=n(this),h=s(v,!0);do{if(y=r(f,h))return y.set}while(f=o(f))}})},7594:(i,l,t)=>{var e=t(2127),n=t(3854)(!1);e(e.S,"Object",{values:function(o){return n(o)}})},7491:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.key,o=e.set;e.exp({defineMetadata:function(c,v,f,h){o(c,v,n(f),s(h))}})},4907:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.key,o=e.map,r=e.store;e.exp({deleteMetadata:function(v,f){var h=arguments.length<3?void 0:s(arguments[2]),y=o(n(f),h,!1);if(void 0===y||!y.delete(v))return!1;if(y.size)return!0;var x=r.get(f);return x.delete(h),!!x.size||r.delete(f)}})},9269:(i,l,t)=>{var e=t(1632),n=t(956),s=t(7380),o=t(4228),r=t(627),c=s.keys,v=s.key,f=function(h,y){var x=c(h,y),T=r(h);if(null===T)return x;var P=f(T,y);return P.length?x.length?n(new e(x.concat(P))):P:x};s.exp({getMetadataKeys:function(y){return f(o(y),arguments.length<2?void 0:v(arguments[1]))}})},9100:(i,l,t)=>{var e=t(7380),n=t(4228),s=t(627),o=e.has,r=e.get,c=e.key,v=function(f,h,y){if(o(f,h,y))return r(f,h,y);var T=s(h);return null!==T?v(f,T,y):void 0};e.exp({getMetadata:function(h,y){return v(h,n(y),arguments.length<3?void 0:c(arguments[2]))}})},9732:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.keys,o=e.key;e.exp({getOwnMetadataKeys:function(c){return s(n(c),arguments.length<2?void 0:o(arguments[1]))}})},1319:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.get,o=e.key;e.exp({getOwnMetadata:function(c,v){return s(c,n(v),arguments.length<3?void 0:o(arguments[2]))}})},1176:(i,l,t)=>{var e=t(7380),n=t(4228),s=t(627),o=e.has,r=e.key,c=function(v,f,h){if(o(v,f,h))return!0;var x=s(f);return null!==x&&c(v,x,h)};e.exp({hasMetadata:function(f,h){return c(f,n(h),arguments.length<3?void 0:r(arguments[2]))}})},3107:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.has,o=e.key;e.exp({hasOwnMetadata:function(c,v){return s(c,n(v),arguments.length<3?void 0:o(arguments[2]))}})},1691:(i,l,t)=>{var e=t(7380),n=t(4228),s=t(3387),o=e.key,r=e.set;e.exp({metadata:function(v,f){return function(y,x){r(v,f,(void 0!==x?n:s)(y),o(x))}}})}},i=>{i(i.s=8829)}]); No newline at end of file | |||
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Consider build-time generation instead of committing build artifacts.
This webpack bundle with a content hash in its filename (af067c955617ac11) is typically a build artifact. Committing generated files to source control can lead to:
- Merge conflicts: Binary/minified files create conflicts when multiple developers update dependencies
- Repository bloat: Each update adds full file content to git history
- Maintenance overhead: Requires manual regeneration when updating dependencies
- Review difficulty: Minified code cannot be effectively reviewed for correctness or security
Alternative approach: Consider generating this file during the build process:
- Keep source
package.jsonandpackage-lock.jsonin source control - Add build step to generate polyfills bundle
- Update
.gitignoreto exclude*.jsin theGinger-Web-Clientdirectory - Ensure CI/CD pipeline runs npm/webpack build before the .NET build
If pre-built assets must be committed (e.g., to avoid Node.js dependency in build environment), document:
- Source and version of Zone.js
- Build command used to generate the bundle
- Process for updating when dependencies change
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js`
at line 1, Build artifact committed: the minified webpack bundle
polyfills.af067c955617ac11.js (starts with
self.webpackChunkGinger_HtmlReport_Web_App.push([...])) should not be checked
into source control; remove the committed bundle, add a rule to ignore generated
web assets (e.g., ignore polyfills.*.js or the Ginger-Web-Client output
directory) in .gitignore, and update the project build/CI to generate this file
during the build (run npm install && npm run build / webpack to produce the file
and ensure the .NET build uses the generated output). If you must keep pre-built
assets, add a short doc (README or BUILD_ASSETS.md) beside the committed asset
describing the source/library and version (e.g., Zone.js version used), exact
build command, and the webpack config used (the bundle is produced by the
self.webpackChunkGinger_HtmlReport_Web_App push in the polyfills bundle), and
prefer committing only a pinned package.json/package-lock.json instead of the
minified file.
🧹 Nitpick | 🔵 Trivial
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify the polyfill bundle structure and check for suspicious patterns
# Check if this is a legitimate webpack bundle structure
echo "=== Checking webpack bundle structure ==="
head -c 200 "Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js"
# Look for the Zone.js version or copyright notice
echo -e "\n=== Searching for Zone.js version/copyright ==="
grep -o 'Zone\.js[^"]*version[^"]*\|copyright.*zone' "Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js" | head -5
# Check file size (Zone.js polyfills are typically 100-150KB)
echo -e "\n=== File size check ==="
wc -c "Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js"
# Search for any eval() or Function() constructor usage (potential security red flags)
echo -e "\n=== Security pattern check ==="
if grep -q 'eval(' "Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js"; then
echo "WARNING: Found eval() usage"
fi
# Check if package.json or package-lock.json exists to identify Zone.js version
echo -e "\n=== Checking for Zone.js in package dependencies ==="
fd -t f 'package\.json$' -x grep -l 'zone.js' {} \; | head -5Repository: Ginger-Automation/Ginger
Length of output: 552
Document the source and version of this polyfills bundle.
This webpack bundle contains legitimate polyfills (verified by structure and patterns). However, consider:
-
Version documentation: The source Zone.js version and build date should be documented (e.g., in a comment, build configuration, or changelog). Currently, no version metadata is present in the minified bundle.
-
Build process optimization: Since this is a generated webpack bundle with a content hash, evaluate whether regenerating it during the build process would be preferable to committing it to source control. This reduces merge conflicts and ensures consistency with source.
-
Source map inclusion: Consider including the corresponding
.js.mapfile to aid debugging if production errors occur.
If this bundle is intentionally committed (e.g., to avoid npm/webpack in the .NET build pipeline), document this decision and the generation method used.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js`
at line 1, The polyfills bundle lacks provenance metadata and source-map info;
add a concise header comment at the top of
Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js
stating the Zone.js version used (e.g., the version that provides
Zone.__load_patch("ZoneAwarePromise")/Zone.__load_patch("Zone")) and the build
timestamp and build command, add/commit the corresponding .js.map file and
ensure webpack emits it, and update project docs (README or BUILD.md) to
document why this generated bundle (webpackChunkGinger_HtmlReport_Web_App) is
checked in or switch the pipeline to regenerate it during CI; also include a
note referencing that this bundle contains Zone-related patches
(Zone.__load_patch entries) so future maintainers know the source and
reproduction steps.
Not up to standards ⛔
|
Description
Type of Change
Checklist
[IsSerializedForLocalRepository]where neededReporter.ToLog()patternSummary by CodeRabbit
New Features
Style
Chores