101 KB
/home/fdroid/fdroiddata/tmp/com.superproductivity.superproductivity_1602010000.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_com.superproductivity.superproductivity_1602010000.apk
21.7 KB
zipinfo {}
    
Offset 148, 28 lines modifiedOffset 148, 28 lines modified
148 -rw-r--r--··0.0·unx····38211·b-·defN·81-Jan-01·01:01·assets/public/chunk-3LTBUVXU.js.map148 -rw-r--r--··0.0·unx····38211·b-·defN·81-Jan-01·01:01·assets/public/chunk-3LTBUVXU.js.map
149 -rw-r--r--··0.0·unx······615·b-·defN·81-Jan-01·01:01·assets/public/chunk-3UB54IM4.js149 -rw-r--r--··0.0·unx······615·b-·defN·81-Jan-01·01:01·assets/public/chunk-3UB54IM4.js
150 -rw-r--r--··0.0·unx·····2240·b-·defN·81-Jan-01·01:01·assets/public/chunk-3UB54IM4.js.map150 -rw-r--r--··0.0·unx·····2240·b-·defN·81-Jan-01·01:01·assets/public/chunk-3UB54IM4.js.map
151 -rw-r--r--··0.0·unx·····2717·b-·defN·81-Jan-01·01:01·assets/public/chunk-46ADIYEV.js151 -rw-r--r--··0.0·unx·····2717·b-·defN·81-Jan-01·01:01·assets/public/chunk-46ADIYEV.js
152 -rw-r--r--··0.0·unx·····3017·b-·defN·81-Jan-01·01:01·assets/public/chunk-46ADIYEV.js.map152 -rw-r--r--··0.0·unx·····3017·b-·defN·81-Jan-01·01:01·assets/public/chunk-46ADIYEV.js.map
153 -rw-r--r--··0.0·unx·····3929·b-·defN·81-Jan-01·01:01·assets/public/chunk-5EW7IJ3A.js153 -rw-r--r--··0.0·unx·····3929·b-·defN·81-Jan-01·01:01·assets/public/chunk-5EW7IJ3A.js
154 -rw-r--r--··0.0·unx·····9310·b-·defN·81-Jan-01·01:01·assets/public/chunk-5EW7IJ3A.js.map154 -rw-r--r--··0.0·unx·····9310·b-·defN·81-Jan-01·01:01·assets/public/chunk-5EW7IJ3A.js.map
155 -rw-r--r--··0.0·unx····60294·b-·defN·81-Jan-01·01:01·assets/public/chunk-5K2KJAE2.js 
156 -rw-r--r--··0.0·unx···171865·b-·defN·81-Jan-01·01:01·assets/public/chunk-5K2KJAE2.js.map 
157 -rw-r--r--··0.0·unx·····3415·b-·defN·81-Jan-01·01:01·assets/public/chunk-6A2NEZ7D.js155 -rw-r--r--··0.0·unx·····3415·b-·defN·81-Jan-01·01:01·assets/public/chunk-6A2NEZ7D.js
158 -rw-r--r--··0.0·unx····15958·b-·defN·81-Jan-01·01:01·assets/public/chunk-6A2NEZ7D.js.map156 -rw-r--r--··0.0·unx····15958·b-·defN·81-Jan-01·01:01·assets/public/chunk-6A2NEZ7D.js.map
159 -rw-r--r--··0.0·unx····13055·b-·defN·81-Jan-01·01:01·assets/public/chunk-6L3CXJWY.js157 -rw-r--r--··0.0·unx····13055·b-·defN·81-Jan-01·01:01·assets/public/chunk-6L3CXJWY.js
160 -rw-r--r--··0.0·unx····51722·b-·defN·81-Jan-01·01:01·assets/public/chunk-6L3CXJWY.js.map158 -rw-r--r--··0.0·unx····51722·b-·defN·81-Jan-01·01:01·assets/public/chunk-6L3CXJWY.js.map
161 -rw-r--r--··0.0·unx····43018·b-·defN·81-Jan-01·01:01·assets/public/chunk-6RLDGALO.js159 -rw-r--r--··0.0·unx····43018·b-·defN·81-Jan-01·01:01·assets/public/chunk-6RLDGALO.js
162 -rw-r--r--··0.0·unx···171591·b-·defN·81-Jan-01·01:01·assets/public/chunk-6RLDGALO.js.map160 -rw-r--r--··0.0·unx···171591·b-·defN·81-Jan-01·01:01·assets/public/chunk-6RLDGALO.js.map
163 -rw-r--r--··0.0·unx·····4611·b-·defN·81-Jan-01·01:01·assets/public/chunk-AH3D54UT.js161 -rw-r--r--··0.0·unx·····4611·b-·defN·81-Jan-01·01:01·assets/public/chunk-AH3D54UT.js
164 -rw-r--r--··0.0·unx·····6897·b-·defN·81-Jan-01·01:01·assets/public/chunk-AH3D54UT.js.map162 -rw-r--r--··0.0·unx·····6897·b-·defN·81-Jan-01·01:01·assets/public/chunk-AH3D54UT.js.map
165 -rw-r--r--··0.0·unx·····3602·b-·defN·81-Jan-01·01:01·assets/public/chunk-AIMWLVJ5.js163 -rw-r--r--··0.0·unx·····3602·b-·defN·81-Jan-01·01:01·assets/public/chunk-AIMWLVJ5.js
166 -rw-r--r--··0.0·unx····10956·b-·defN·81-Jan-01·01:01·assets/public/chunk-AIMWLVJ5.js.map164 -rw-r--r--··0.0·unx····10956·b-·defN·81-Jan-01·01:01·assets/public/chunk-AIMWLVJ5.js.map
167 -rw-r--r--··0.0·unx·····5421·b-·defN·81-Jan-01·01:01·assets/public/chunk-AOZWNS5M.js165 -rw-r--r--··0.0·unx·····5421·b-·defN·81-Jan-01·01:01·assets/public/chunk-AOZWNS5M.js
168 -rw-r--r--··0.0·unx····10003·b-·defN·81-Jan-01·01:01·assets/public/chunk-AOZWNS5M.js.map166 -rw-r--r--··0.0·unx····10003·b-·defN·81-Jan-01·01:01·assets/public/chunk-AOZWNS5M.js.map
 167 -rw-r--r--··0.0·unx·····3159·b-·defN·81-Jan-01·01:01·assets/public/chunk-AR2CJJAZ.js
 168 -rw-r--r--··0.0·unx·····9576·b-·defN·81-Jan-01·01:01·assets/public/chunk-AR2CJJAZ.js.map
169 -rw-r--r--··0.0·unx·····9378·b-·defN·81-Jan-01·01:01·assets/public/chunk-AZ3J6UBP.js169 -rw-r--r--··0.0·unx·····9378·b-·defN·81-Jan-01·01:01·assets/public/chunk-AZ3J6UBP.js
170 -rw-r--r--··0.0·unx····21258·b-·defN·81-Jan-01·01:01·assets/public/chunk-AZ3J6UBP.js.map170 -rw-r--r--··0.0·unx····21258·b-·defN·81-Jan-01·01:01·assets/public/chunk-AZ3J6UBP.js.map
171 -rw-r--r--··0.0·unx····26989·b-·defN·81-Jan-01·01:01·assets/public/chunk-BCWAJ4MT.js171 -rw-r--r--··0.0·unx····26989·b-·defN·81-Jan-01·01:01·assets/public/chunk-BCWAJ4MT.js
172 -rw-r--r--··0.0·unx····74888·b-·defN·81-Jan-01·01:01·assets/public/chunk-BCWAJ4MT.js.map172 -rw-r--r--··0.0·unx····74888·b-·defN·81-Jan-01·01:01·assets/public/chunk-BCWAJ4MT.js.map
173 -rw-r--r--··0.0·unx····63253·b-·defN·81-Jan-01·01:01·assets/public/chunk-BCZOHSXT.js173 -rw-r--r--··0.0·unx····63253·b-·defN·81-Jan-01·01:01·assets/public/chunk-BCZOHSXT.js
174 -rw-r--r--··0.0·unx···313927·b-·defN·81-Jan-01·01:01·assets/public/chunk-BCZOHSXT.js.map174 -rw-r--r--··0.0·unx···313927·b-·defN·81-Jan-01·01:01·assets/public/chunk-BCZOHSXT.js.map
175 -rw-r--r--··0.0·unx····11791·b-·defN·81-Jan-01·01:01·assets/public/chunk-BP52V6MH.js175 -rw-r--r--··0.0·unx····11791·b-·defN·81-Jan-01·01:01·assets/public/chunk-BP52V6MH.js
Offset 180, 50 lines modifiedOffset 180, 48 lines modified
180 -rw-r--r--··0.0·unx····82098·b-·defN·81-Jan-01·01:01·assets/public/chunk-CHJC443U.js.map180 -rw-r--r--··0.0·unx····82098·b-·defN·81-Jan-01·01:01·assets/public/chunk-CHJC443U.js.map
181 -rw-r--r--··0.0·unx····19781·b-·defN·81-Jan-01·01:01·assets/public/chunk-CJS54RKY.js181 -rw-r--r--··0.0·unx····19781·b-·defN·81-Jan-01·01:01·assets/public/chunk-CJS54RKY.js
182 -rw-r--r--··0.0·unx····55104·b-·defN·81-Jan-01·01:01·assets/public/chunk-CJS54RKY.js.map182 -rw-r--r--··0.0·unx····55104·b-·defN·81-Jan-01·01:01·assets/public/chunk-CJS54RKY.js.map
183 -rw-r--r--··0.0·unx····71526·b-·defN·81-Jan-01·01:01·assets/public/chunk-CKEOSPFE.js183 -rw-r--r--··0.0·unx····71526·b-·defN·81-Jan-01·01:01·assets/public/chunk-CKEOSPFE.js
184 -rw-r--r--··0.0·unx···183698·b-·defN·81-Jan-01·01:01·assets/public/chunk-CKEOSPFE.js.map184 -rw-r--r--··0.0·unx···183698·b-·defN·81-Jan-01·01:01·assets/public/chunk-CKEOSPFE.js.map
185 -rw-r--r--··0.0·unx·····5654·b-·defN·81-Jan-01·01:01·assets/public/chunk-D52DS5R7.js185 -rw-r--r--··0.0·unx·····5654·b-·defN·81-Jan-01·01:01·assets/public/chunk-D52DS5R7.js
186 -rw-r--r--··0.0·unx····20575·b-·defN·81-Jan-01·01:01·assets/public/chunk-D52DS5R7.js.map186 -rw-r--r--··0.0·unx····20575·b-·defN·81-Jan-01·01:01·assets/public/chunk-D52DS5R7.js.map
187 -rw-r--r--··0.0·unx···310234·b-·defN·81-Jan-01·01:01·assets/public/chunk-DGYEIQRF.js 
188 -rw-r--r--··0.0·unx···988545·b-·defN·81-Jan-01·01:01·assets/public/chunk-DGYEIQRF.js.map 
189 -rw-r--r--··0.0·unx·····9276·b-·defN·81-Jan-01·01:01·assets/public/chunk-DU3YCOM3.js187 -rw-r--r--··0.0·unx·····9276·b-·defN·81-Jan-01·01:01·assets/public/chunk-DU3YCOM3.js
190 -rw-r--r--··0.0·unx····32056·b-·defN·81-Jan-01·01:01·assets/public/chunk-DU3YCOM3.js.map188 -rw-r--r--··0.0·unx····32056·b-·defN·81-Jan-01·01:01·assets/public/chunk-DU3YCOM3.js.map
191 -rw-r--r--··0.0·unx······426·b-·defN·81-Jan-01·01:01·assets/public/chunk-EJ4MNGSM.js189 -rw-r--r--··0.0·unx······426·b-·defN·81-Jan-01·01:01·assets/public/chunk-EJ4MNGSM.js
192 -rw-r--r--··0.0·unx······949·b-·defN·81-Jan-01·01:01·assets/public/chunk-EJ4MNGSM.js.map190 -rw-r--r--··0.0·unx······949·b-·defN·81-Jan-01·01:01·assets/public/chunk-EJ4MNGSM.js.map
193 -rw-r--r--··0.0·unx·····4410·b-·defN·81-Jan-01·01:01·assets/public/chunk-EMPZDQLT.js191 -rw-r--r--··0.0·unx·····4410·b-·defN·81-Jan-01·01:01·assets/public/chunk-EMPZDQLT.js
194 -rw-r--r--··0.0·unx····12382·b-·defN·81-Jan-01·01:01·assets/public/chunk-EMPZDQLT.js.map192 -rw-r--r--··0.0·unx····12382·b-·defN·81-Jan-01·01:01·assets/public/chunk-EMPZDQLT.js.map
 193 -rw-r--r--··0.0·unx···310234·b-·defN·81-Jan-01·01:01·assets/public/chunk-F6XQH7DD.js
 194 -rw-r--r--··0.0·unx···988545·b-·defN·81-Jan-01·01:01·assets/public/chunk-F6XQH7DD.js.map
195 -rw-r--r--··0.0·unx····18421·b-·defN·81-Jan-01·01:01·assets/public/chunk-FBD2ZROE.js195 -rw-r--r--··0.0·unx····18421·b-·defN·81-Jan-01·01:01·assets/public/chunk-FBD2ZROE.js
196 -rw-r--r--··0.0·unx····69536·b-·defN·81-Jan-01·01:01·assets/public/chunk-FBD2ZROE.js.map196 -rw-r--r--··0.0·unx····69536·b-·defN·81-Jan-01·01:01·assets/public/chunk-FBD2ZROE.js.map
197 -rw-r--r--··0.0·unx····32802·b-·defN·81-Jan-01·01:01·assets/public/chunk-FGQXCONG.js197 -rw-r--r--··0.0·unx····32802·b-·defN·81-Jan-01·01:01·assets/public/chunk-FGQXCONG.js
198 -rw-r--r--··0.0·unx···100131·b-·defN·81-Jan-01·01:01·assets/public/chunk-FGQXCONG.js.map198 -rw-r--r--··0.0·unx···100131·b-·defN·81-Jan-01·01:01·assets/public/chunk-FGQXCONG.js.map
199 -rw-r--r--··0.0·unx·····2832·b-·defN·81-Jan-01·01:01·assets/public/chunk-FJ63MIMT.js199 -rw-r--r--··0.0·unx·····2832·b-·defN·81-Jan-01·01:01·assets/public/chunk-FJ63MIMT.js
200 -rw-r--r--··0.0·unx·····4560·b-·defN·81-Jan-01·01:01·assets/public/chunk-FJ63MIMT.js.map200 -rw-r--r--··0.0·unx·····4560·b-·defN·81-Jan-01·01:01·assets/public/chunk-FJ63MIMT.js.map
201 -rw-r--r--··0.0·unx····20915·b-·defN·81-Jan-01·01:01·assets/public/chunk-FJLXFBVQ.js201 -rw-r--r--··0.0·unx····20915·b-·defN·81-Jan-01·01:01·assets/public/chunk-FJLXFBVQ.js
202 -rw-r--r--··0.0·unx····35310·b-·defN·81-Jan-01·01:01·assets/public/chunk-FJLXFBVQ.js.map202 -rw-r--r--··0.0·unx····35310·b-·defN·81-Jan-01·01:01·assets/public/chunk-FJLXFBVQ.js.map
203 -rw-r--r--··0.0·unx···828790·b-·defN·81-Jan-01·01:01·assets/public/chunk-FSOVT7QZ.js203 -rw-r--r--··0.0·unx···828790·b-·defN·81-Jan-01·01:01·assets/public/chunk-FSOVT7QZ.js
204 -rw-r--r--··0.0·unx··1909550·b-·defN·81-Jan-01·01:01·assets/public/chunk-FSOVT7QZ.js.map204 -rw-r--r--··0.0·unx··1909550·b-·defN·81-Jan-01·01:01·assets/public/chunk-FSOVT7QZ.js.map
205 -rw-r--r--··0.0·unx······965·b-·defN·81-Jan-01·01:01·assets/public/chunk-FUVMFFAG.js205 -rw-r--r--··0.0·unx······965·b-·defN·81-Jan-01·01:01·assets/public/chunk-FUVMFFAG.js
206 -rw-r--r--··0.0·unx·····3891·b-·defN·81-Jan-01·01:01·assets/public/chunk-FUVMFFAG.js.map206 -rw-r--r--··0.0·unx·····3891·b-·defN·81-Jan-01·01:01·assets/public/chunk-FUVMFFAG.js.map
207 -rw-r--r--··0.0·unx·····2003·b-·defN·81-Jan-01·01:01·assets/public/chunk-G2TMDTAO.js207 -rw-r--r--··0.0·unx·····2003·b-·defN·81-Jan-01·01:01·assets/public/chunk-G2TMDTAO.js
208 -rw-r--r--··0.0·unx·····3277·b-·defN·81-Jan-01·01:01·assets/public/chunk-G2TMDTAO.js.map208 -rw-r--r--··0.0·unx·····3277·b-·defN·81-Jan-01·01:01·assets/public/chunk-G2TMDTAO.js.map
209 -rw-r--r--··0.0·unx·····1297·b-·defN·81-Jan-01·01:01·assets/public/chunk-GGY7LK5R.js 
210 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-GGY7LK5R.js.map 
211 -rw-r--r--··0.0·unx·····1341·b-·defN·81-Jan-01·01:01·assets/public/chunk-GPU5WKVV.js209 -rw-r--r--··0.0·unx·····1341·b-·defN·81-Jan-01·01:01·assets/public/chunk-GPU5WKVV.js
212 -rw-r--r--··0.0·unx·····8779·b-·defN·81-Jan-01·01:01·assets/public/chunk-GPU5WKVV.js.map210 -rw-r--r--··0.0·unx·····8779·b-·defN·81-Jan-01·01:01·assets/public/chunk-GPU5WKVV.js.map
 211 -rw-r--r--··0.0·unx····78075·b-·defN·81-Jan-01·01:01·assets/public/chunk-HAX24TTW.js
 212 -rw-r--r--··0.0·unx···190749·b-·defN·81-Jan-01·01:01·assets/public/chunk-HAX24TTW.js.map
213 -rw-r--r--··0.0·unx····31772·b-·defN·81-Jan-01·01:01·assets/public/chunk-HGRD36VV.js213 -rw-r--r--··0.0·unx····31772·b-·defN·81-Jan-01·01:01·assets/public/chunk-HGRD36VV.js
214 -rw-r--r--··0.0·unx····84740·b-·defN·81-Jan-01·01:01·assets/public/chunk-HGRD36VV.js.map214 -rw-r--r--··0.0·unx····84740·b-·defN·81-Jan-01·01:01·assets/public/chunk-HGRD36VV.js.map
215 -rw-r--r--··0.0·unx····88599·b-·defN·81-Jan-01·01:01·assets/public/chunk-HISJBP43.js215 -rw-r--r--··0.0·unx····88599·b-·defN·81-Jan-01·01:01·assets/public/chunk-HISJBP43.js
216 -rw-r--r--··0.0·unx···260138·b-·defN·81-Jan-01·01:01·assets/public/chunk-HISJBP43.js.map216 -rw-r--r--··0.0·unx···260138·b-·defN·81-Jan-01·01:01·assets/public/chunk-HISJBP43.js.map
217 -rw-r--r--··0.0·unx·····4155·b-·defN·81-Jan-01·01:01·assets/public/chunk-HSAGATI4.js217 -rw-r--r--··0.0·unx·····4155·b-·defN·81-Jan-01·01:01·assets/public/chunk-HSAGATI4.js
218 -rw-r--r--··0.0·unx····10549·b-·defN·81-Jan-01·01:01·assets/public/chunk-HSAGATI4.js.map218 -rw-r--r--··0.0·unx····10549·b-·defN·81-Jan-01·01:01·assets/public/chunk-HSAGATI4.js.map
219 -rw-r--r--··0.0·unx····58479·b-·defN·81-Jan-01·01:01·assets/public/chunk-I7OASTBM.js219 -rw-r--r--··0.0·unx····58479·b-·defN·81-Jan-01·01:01·assets/public/chunk-I7OASTBM.js
220 -rw-r--r--··0.0·unx···260400·b-·defN·81-Jan-01·01:01·assets/public/chunk-I7OASTBM.js.map220 -rw-r--r--··0.0·unx···260400·b-·defN·81-Jan-01·01:01·assets/public/chunk-I7OASTBM.js.map
221 -rw-r--r--··0.0·unx·····3159·b-·defN·81-Jan-01·01:01·assets/public/chunk-IBXT64SC.js 
222 -rw-r--r--··0.0·unx·····9576·b-·defN·81-Jan-01·01:01·assets/public/chunk-IBXT64SC.js.map 
223 -rw-r--r--··0.0·unx·····2699·b-·defN·81-Jan-01·01:01·assets/public/chunk-IHTZUYDO.js221 -rw-r--r--··0.0·unx·····2699·b-·defN·81-Jan-01·01:01·assets/public/chunk-IHTZUYDO.js
224 -rw-r--r--··0.0·unx····11365·b-·defN·81-Jan-01·01:01·assets/public/chunk-IHTZUYDO.js.map222 -rw-r--r--··0.0·unx····11365·b-·defN·81-Jan-01·01:01·assets/public/chunk-IHTZUYDO.js.map
225 -rw-r--r--··0.0·unx····17950·b-·defN·81-Jan-01·01:01·assets/public/chunk-IIANIOL5.js223 -rw-r--r--··0.0·unx····17950·b-·defN·81-Jan-01·01:01·assets/public/chunk-IIANIOL5.js
226 -rw-r--r--··0.0·unx····62376·b-·defN·81-Jan-01·01:01·assets/public/chunk-IIANIOL5.js.map224 -rw-r--r--··0.0·unx····62376·b-·defN·81-Jan-01·01:01·assets/public/chunk-IIANIOL5.js.map
227 -rw-r--r--··0.0·unx····35914·b-·defN·81-Jan-01·01:01·assets/public/chunk-IPBDPVNL.js225 -rw-r--r--··0.0·unx····35914·b-·defN·81-Jan-01·01:01·assets/public/chunk-IPBDPVNL.js
228 -rw-r--r--··0.0·unx···150464·b-·defN·81-Jan-01·01:01·assets/public/chunk-IPBDPVNL.js.map226 -rw-r--r--··0.0·unx···150464·b-·defN·81-Jan-01·01:01·assets/public/chunk-IPBDPVNL.js.map
229 -rw-r--r--··0.0·unx······867·b-·defN·81-Jan-01·01:01·assets/public/chunk-IZA54LFS.js227 -rw-r--r--··0.0·unx······867·b-·defN·81-Jan-01·01:01·assets/public/chunk-IZA54LFS.js
Offset 232, 16 lines modifiedOffset 230, 14 lines modified
232 -rw-r--r--··0.0·unx···197162·b-·defN·81-Jan-01·01:01·assets/public/chunk-J7RLYJIO.js.map230 -rw-r--r--··0.0·unx···197162·b-·defN·81-Jan-01·01:01·assets/public/chunk-J7RLYJIO.js.map
233 -rw-r--r--··0.0·unx····16077·b-·defN·81-Jan-01·01:01·assets/public/chunk-JND7HAC4.js231 -rw-r--r--··0.0·unx····16077·b-·defN·81-Jan-01·01:01·assets/public/chunk-JND7HAC4.js
234 -rw-r--r--··0.0·unx····30930·b-·defN·81-Jan-01·01:01·assets/public/chunk-JND7HAC4.js.map232 -rw-r--r--··0.0·unx····30930·b-·defN·81-Jan-01·01:01·assets/public/chunk-JND7HAC4.js.map
235 -rw-r--r--··0.0·unx·····3565·b-·defN·81-Jan-01·01:01·assets/public/chunk-JRLU44GZ.js233 -rw-r--r--··0.0·unx·····3565·b-·defN·81-Jan-01·01:01·assets/public/chunk-JRLU44GZ.js
236 -rw-r--r--··0.0·unx····10230·b-·defN·81-Jan-01·01:01·assets/public/chunk-JRLU44GZ.js.map234 -rw-r--r--··0.0·unx····10230·b-·defN·81-Jan-01·01:01·assets/public/chunk-JRLU44GZ.js.map
237 -rw-r--r--··0.0·unx·····1139·b-·defN·81-Jan-01·01:01·assets/public/chunk-JSBP3IMF.js235 -rw-r--r--··0.0·unx·····1139·b-·defN·81-Jan-01·01:01·assets/public/chunk-JSBP3IMF.js
238 -rw-r--r--··0.0·unx·····2013·b-·defN·81-Jan-01·01:01·assets/public/chunk-JSBP3IMF.js.map236 -rw-r--r--··0.0·unx·····2013·b-·defN·81-Jan-01·01:01·assets/public/chunk-JSBP3IMF.js.map
239 -rw-r--r--··0.0·unx·····1379·b-·defN·81-Jan-01·01:01·assets/public/chunk-JSMC5UBG.js 
240 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-JSMC5UBG.js.map 
241 -rw-r--r--··0.0·unx···127059·b-·defN·81-Jan-01·01:01·assets/public/chunk-KARZJLFK.js237 -rw-r--r--··0.0·unx···127059·b-·defN·81-Jan-01·01:01·assets/public/chunk-KARZJLFK.js
242 -rw-r--r--··0.0·unx···308075·b-·defN·81-Jan-01·01:01·assets/public/chunk-KARZJLFK.js.map238 -rw-r--r--··0.0·unx···308075·b-·defN·81-Jan-01·01:01·assets/public/chunk-KARZJLFK.js.map
243 -rw-r--r--··0.0·unx·····4394·b-·defN·81-Jan-01·01:01·assets/public/chunk-KCXO7OH7.js239 -rw-r--r--··0.0·unx·····4394·b-·defN·81-Jan-01·01:01·assets/public/chunk-KCXO7OH7.js
244 -rw-r--r--··0.0·unx····10923·b-·defN·81-Jan-01·01:01·assets/public/chunk-KCXO7OH7.js.map240 -rw-r--r--··0.0·unx····10923·b-·defN·81-Jan-01·01:01·assets/public/chunk-KCXO7OH7.js.map
245 -rw-r--r--··0.0·unx·····1505·b-·defN·81-Jan-01·01:01·assets/public/chunk-KFIEMYBG.js241 -rw-r--r--··0.0·unx·····1505·b-·defN·81-Jan-01·01:01·assets/public/chunk-KFIEMYBG.js
246 -rw-r--r--··0.0·unx·····7283·b-·defN·81-Jan-01·01:01·assets/public/chunk-KFIEMYBG.js.map242 -rw-r--r--··0.0·unx·····7283·b-·defN·81-Jan-01·01:01·assets/public/chunk-KFIEMYBG.js.map
247 -rw-r--r--··0.0·unx······920·b-·defN·81-Jan-01·01:01·assets/public/chunk-KQ5EHC75.js243 -rw-r--r--··0.0·unx······920·b-·defN·81-Jan-01·01:01·assets/public/chunk-KQ5EHC75.js
Offset 264, 22 lines modifiedOffset 260, 24 lines modified
264 -rw-r--r--··0.0·unx····30423·b-·defN·81-Jan-01·01:01·assets/public/chunk-MLX4EOR5.js.map260 -rw-r--r--··0.0·unx····30423·b-·defN·81-Jan-01·01:01·assets/public/chunk-MLX4EOR5.js.map
265 -rw-r--r--··0.0·unx···132516·b-·defN·81-Jan-01·01:01·assets/public/chunk-MOQPVJES.js261 -rw-r--r--··0.0·unx···132516·b-·defN·81-Jan-01·01:01·assets/public/chunk-MOQPVJES.js
266 -rw-r--r--··0.0·unx···437452·b-·defN·81-Jan-01·01:01·assets/public/chunk-MOQPVJES.js.map262 -rw-r--r--··0.0·unx···437452·b-·defN·81-Jan-01·01:01·assets/public/chunk-MOQPVJES.js.map
267 -rw-r--r--··0.0·unx·····2405·b-·defN·81-Jan-01·01:01·assets/public/chunk-MORMNP5X.js263 -rw-r--r--··0.0·unx·····2405·b-·defN·81-Jan-01·01:01·assets/public/chunk-MORMNP5X.js
268 -rw-r--r--··0.0·unx·····4992·b-·defN·81-Jan-01·01:01·assets/public/chunk-MORMNP5X.js.map264 -rw-r--r--··0.0·unx·····4992·b-·defN·81-Jan-01·01:01·assets/public/chunk-MORMNP5X.js.map
269 -rw-r--r--··0.0·unx·····3323·b-·defN·81-Jan-01·01:01·assets/public/chunk-MVS6WBFY.js265 -rw-r--r--··0.0·unx·····3323·b-·defN·81-Jan-01·01:01·assets/public/chunk-MVS6WBFY.js
270 -rw-r--r--··0.0·unx····13665·b-·defN·81-Jan-01·01:01·assets/public/chunk-MVS6WBFY.js.map266 -rw-r--r--··0.0·unx····13665·b-·defN·81-Jan-01·01:01·assets/public/chunk-MVS6WBFY.js.map
271 -rw-r--r--··0.0·unx···121480·b-·defN·81-Jan-01·01:01·assets/public/chunk-N4WJFOTX.js267 -rw-r--r--··0.0·unx···121480·b-·defN·81-Jan-01·01:01·assets/public/chunk-MXKZH4BG.js
272 -rw-r--r--··0.0·unx···183450·b-·defN·81-Jan-01·01:01·assets/public/chunk-N4WJFOTX.js.map268 -rw-r--r--··0.0·unx···183450·b-·defN·81-Jan-01·01:01·assets/public/chunk-MXKZH4BG.js.map
273 -rw-r--r--··0.0·unx······285·b-·defN·81-Jan-01·01:01·assets/public/chunk-NG5NIJD7.js269 -rw-r--r--··0.0·unx······285·b-·defN·81-Jan-01·01:01·assets/public/chunk-NG5NIJD7.js
274 -rw-r--r--··0.0·unx······816·b-·defN·81-Jan-01·01:01·assets/public/chunk-NG5NIJD7.js.map270 -rw-r--r--··0.0·unx······816·b-·defN·81-Jan-01·01:01·assets/public/chunk-NG5NIJD7.js.map
275 -rw-r--r--··0.0·unx·····8818·b-·defN·81-Jan-01·01:01·assets/public/chunk-OIU36WJD.js271 -rw-r--r--··0.0·unx·····8818·b-·defN·81-Jan-01·01:01·assets/public/chunk-OIU36WJD.js
276 -rw-r--r--··0.0·unx····14186·b-·defN·81-Jan-01·01:01·assets/public/chunk-OIU36WJD.js.map272 -rw-r--r--··0.0·unx····14186·b-·defN·81-Jan-01·01:01·assets/public/chunk-OIU36WJD.js.map
277 -rw-r--r--··0.0·unx·····4844·b-·defN·81-Jan-01·01:01·assets/public/chunk-OKE7ST2R.js273 -rw-r--r--··0.0·unx·····4844·b-·defN·81-Jan-01·01:01·assets/public/chunk-OKE7ST2R.js
278 -rw-r--r--··0.0·unx····57684·b-·defN·81-Jan-01·01:01·assets/public/chunk-OKE7ST2R.js.map274 -rw-r--r--··0.0·unx····57684·b-·defN·81-Jan-01·01:01·assets/public/chunk-OKE7ST2R.js.map
 275 -rw-r--r--··0.0·unx·····1297·b-·defN·81-Jan-01·01:01·assets/public/chunk-PDSEA5O4.js
 276 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-PDSEA5O4.js.map
279 -rw-r--r--··0.0·unx·····2622·b-·defN·81-Jan-01·01:01·assets/public/chunk-PIAZVMHZ.js277 -rw-r--r--··0.0·unx·····2622·b-·defN·81-Jan-01·01:01·assets/public/chunk-PIAZVMHZ.js
280 -rw-r--r--··0.0·unx·····6355·b-·defN·81-Jan-01·01:01·assets/public/chunk-PIAZVMHZ.js.map278 -rw-r--r--··0.0·unx·····6355·b-·defN·81-Jan-01·01:01·assets/public/chunk-PIAZVMHZ.js.map
281 -rw-r--r--··0.0·unx······729·b-·defN·81-Jan-01·01:01·assets/public/chunk-Q5UI4YBP.js279 -rw-r--r--··0.0·unx······729·b-·defN·81-Jan-01·01:01·assets/public/chunk-Q5UI4YBP.js
282 -rw-r--r--··0.0·unx·····2317·b-·defN·81-Jan-01·01:01·assets/public/chunk-Q5UI4YBP.js.map280 -rw-r--r--··0.0·unx·····2317·b-·defN·81-Jan-01·01:01·assets/public/chunk-Q5UI4YBP.js.map
283 -rw-r--r--··0.0·unx·····4604·b-·defN·81-Jan-01·01:01·assets/public/chunk-QFZ6TQNW.js281 -rw-r--r--··0.0·unx·····4604·b-·defN·81-Jan-01·01:01·assets/public/chunk-QFZ6TQNW.js
284 -rw-r--r--··0.0·unx·····8600·b-·defN·81-Jan-01·01:01·assets/public/chunk-QFZ6TQNW.js.map282 -rw-r--r--··0.0·unx·····8600·b-·defN·81-Jan-01·01:01·assets/public/chunk-QFZ6TQNW.js.map
285 -rw-r--r--··0.0·unx·····2757·b-·defN·81-Jan-01·01:01·assets/public/chunk-QJRNJEIH.js283 -rw-r--r--··0.0·unx·····2757·b-·defN·81-Jan-01·01:01·assets/public/chunk-QJRNJEIH.js
Max diff block lines reached; 11035/22233 bytes (49.63%) of diff not shown.
15.7 KB
assets/public/ngsw.json
15.7 KB
Pretty-printed
Similarity: 0.9315495729541816% Differences: {"'assetGroups'": "{0: {'urls': {insert: [(17, '/chunk-AR2CJJAZ.js'), (30, '/chunk-F6XQH7DD.js'), " "(39, '/chunk-HAX24TTW.js'), (67, '/chunk-MXKZH4BG.js'), (71, " "'/chunk-PDSEA5O4.js'), (81, '/chunk-RJ6PWG5A.js'), (87, '/chunk-SOZUCUV5.js'), " "(96, '/chunk-V7I2PUOU.js'), (97, '/chunk-VAUUX5PU.js'), (117, " "'/chunk-ZYJZYVZO.js'), (120, '/main-7A2N6NOI.js')], delete: [120, 112, 107, 98, " '92, 69, 53, 44, 38, 27, 11] […]
    
Offset 16, 57 lines modifiedOffset 16, 55 lines modified
16 ················"/chunk-35R4BTG4.js",16 ················"/chunk-35R4BTG4.js",
17 ················"/chunk-3DJMUK5T.js",17 ················"/chunk-3DJMUK5T.js",
18 ················"/chunk-3HQSIKSY.js",18 ················"/chunk-3HQSIKSY.js",
19 ················"/chunk-3LTBUVXU.js",19 ················"/chunk-3LTBUVXU.js",
20 ················"/chunk-3UB54IM4.js",20 ················"/chunk-3UB54IM4.js",
21 ················"/chunk-46ADIYEV.js",21 ················"/chunk-46ADIYEV.js",
22 ················"/chunk-5EW7IJ3A.js",22 ················"/chunk-5EW7IJ3A.js",
23 ················"/chunk-5K2KJAE2.js", 
24 ················"/chunk-6A2NEZ7D.js",23 ················"/chunk-6A2NEZ7D.js",
25 ················"/chunk-6L3CXJWY.js",24 ················"/chunk-6L3CXJWY.js",
26 ················"/chunk-6RLDGALO.js",25 ················"/chunk-6RLDGALO.js",
27 ················"/chunk-AH3D54UT.js",26 ················"/chunk-AH3D54UT.js",
28 ················"/chunk-AIMWLVJ5.js",27 ················"/chunk-AIMWLVJ5.js",
29 ················"/chunk-AOZWNS5M.js",28 ················"/chunk-AOZWNS5M.js",
 29 ················"/chunk-AR2CJJAZ.js",
30 ················"/chunk-AZ3J6UBP.js",30 ················"/chunk-AZ3J6UBP.js",
31 ················"/chunk-BCWAJ4MT.js",31 ················"/chunk-BCWAJ4MT.js",
32 ················"/chunk-BCZOHSXT.js",32 ················"/chunk-BCZOHSXT.js",
33 ················"/chunk-BP52V6MH.js",33 ················"/chunk-BP52V6MH.js",
34 ················"/chunk-CD6DHWBR.js",34 ················"/chunk-CD6DHWBR.js",
35 ················"/chunk-CHJC443U.js",35 ················"/chunk-CHJC443U.js",
36 ················"/chunk-CJS54RKY.js",36 ················"/chunk-CJS54RKY.js",
37 ················"/chunk-CKEOSPFE.js",37 ················"/chunk-CKEOSPFE.js",
38 ················"/chunk-D52DS5R7.js",38 ················"/chunk-D52DS5R7.js",
39 ················"/chunk-DGYEIQRF.js", 
40 ················"/chunk-DU3YCOM3.js",39 ················"/chunk-DU3YCOM3.js",
41 ················"/chunk-EJ4MNGSM.js",40 ················"/chunk-EJ4MNGSM.js",
42 ················"/chunk-EMPZDQLT.js",41 ················"/chunk-EMPZDQLT.js",
 42 ················"/chunk-F6XQH7DD.js",
43 ················"/chunk-FBD2ZROE.js",43 ················"/chunk-FBD2ZROE.js",
44 ················"/chunk-FGQXCONG.js",44 ················"/chunk-FGQXCONG.js",
45 ················"/chunk-FJ63MIMT.js",45 ················"/chunk-FJ63MIMT.js",
46 ················"/chunk-FJLXFBVQ.js",46 ················"/chunk-FJLXFBVQ.js",
47 ················"/chunk-FSOVT7QZ.js",47 ················"/chunk-FSOVT7QZ.js",
48 ················"/chunk-FUVMFFAG.js",48 ················"/chunk-FUVMFFAG.js",
49 ················"/chunk-G2TMDTAO.js",49 ················"/chunk-G2TMDTAO.js",
50 ················"/chunk-GGY7LK5R.js", 
51 ················"/chunk-GPU5WKVV.js",50 ················"/chunk-GPU5WKVV.js",
 51 ················"/chunk-HAX24TTW.js",
52 ················"/chunk-HGRD36VV.js",52 ················"/chunk-HGRD36VV.js",
53 ················"/chunk-HISJBP43.js",53 ················"/chunk-HISJBP43.js",
54 ················"/chunk-HSAGATI4.js",54 ················"/chunk-HSAGATI4.js",
55 ················"/chunk-I7OASTBM.js",55 ················"/chunk-I7OASTBM.js",
56 ················"/chunk-IBXT64SC.js", 
57 ················"/chunk-IHTZUYDO.js",56 ················"/chunk-IHTZUYDO.js",
58 ················"/chunk-IIANIOL5.js",57 ················"/chunk-IIANIOL5.js",
59 ················"/chunk-IPBDPVNL.js",58 ················"/chunk-IPBDPVNL.js",
60 ················"/chunk-IZA54LFS.js",59 ················"/chunk-IZA54LFS.js",
61 ················"/chunk-J7RLYJIO.js",60 ················"/chunk-J7RLYJIO.js",
62 ················"/chunk-JND7HAC4.js",61 ················"/chunk-JND7HAC4.js",
63 ················"/chunk-JRLU44GZ.js",62 ················"/chunk-JRLU44GZ.js",
64 ················"/chunk-JSBP3IMF.js",63 ················"/chunk-JSBP3IMF.js",
65 ················"/chunk-JSMC5UBG.js", 
66 ················"/chunk-KARZJLFK.js",64 ················"/chunk-KARZJLFK.js",
67 ················"/chunk-KCXO7OH7.js",65 ················"/chunk-KCXO7OH7.js",
68 ················"/chunk-KFIEMYBG.js",66 ················"/chunk-KFIEMYBG.js",
69 ················"/chunk-KQ5EHC75.js",67 ················"/chunk-KQ5EHC75.js",
70 ················"/chunk-L6JHL23H.js",68 ················"/chunk-L6JHL23H.js",
71 ················"/chunk-LM73TW6C.js",69 ················"/chunk-LM73TW6C.js",
72 ················"/chunk-LUA3Y5IR.js",70 ················"/chunk-LUA3Y5IR.js",
Offset 74, 66 lines modifiedOffset 72, 68 lines modified
74 ················"/chunk-M3Y6YC4N.js",72 ················"/chunk-M3Y6YC4N.js",
75 ················"/chunk-MAQCQPYF.js",73 ················"/chunk-MAQCQPYF.js",
76 ················"/chunk-MASHVMAF.js",74 ················"/chunk-MASHVMAF.js",
77 ················"/chunk-MLX4EOR5.js",75 ················"/chunk-MLX4EOR5.js",
78 ················"/chunk-MOQPVJES.js",76 ················"/chunk-MOQPVJES.js",
79 ················"/chunk-MORMNP5X.js",77 ················"/chunk-MORMNP5X.js",
80 ················"/chunk-MVS6WBFY.js",78 ················"/chunk-MVS6WBFY.js",
81 ················"/chunk-N4WJFOTX.js",79 ················"/chunk-MXKZH4BG.js",
82 ················"/chunk-NG5NIJD7.js",80 ················"/chunk-NG5NIJD7.js",
83 ················"/chunk-OIU36WJD.js",81 ················"/chunk-OIU36WJD.js",
84 ················"/chunk-OKE7ST2R.js",82 ················"/chunk-OKE7ST2R.js",
 83 ················"/chunk-PDSEA5O4.js",
85 ················"/chunk-PIAZVMHZ.js",84 ················"/chunk-PIAZVMHZ.js",
86 ················"/chunk-Q5UI4YBP.js",85 ················"/chunk-Q5UI4YBP.js",
87 ················"/chunk-QFZ6TQNW.js",86 ················"/chunk-QFZ6TQNW.js",
88 ················"/chunk-QJRNJEIH.js",87 ················"/chunk-QJRNJEIH.js",
89 ················"/chunk-QPDYSQ5I.js",88 ················"/chunk-QPDYSQ5I.js",
90 ················"/chunk-QQ3PRTTO.js",89 ················"/chunk-QQ3PRTTO.js",
91 ················"/chunk-QS6CRNLS.js",90 ················"/chunk-QS6CRNLS.js",
92 ················"/chunk-R33H7X7O.js",91 ················"/chunk-R33H7X7O.js",
93 ················"/chunk-RHU3AIGY.js",92 ················"/chunk-RHU3AIGY.js",
 93 ················"/chunk-RJ6PWG5A.js",
94 ················"/chunk-RLPH6V6D.js",94 ················"/chunk-RLPH6V6D.js",
95 ················"/chunk-RW6KTABU.js",95 ················"/chunk-RW6KTABU.js",
96 ················"/chunk-S66WUE4R.js",96 ················"/chunk-S66WUE4R.js",
97 ················"/chunk-SIWR22TU.js",97 ················"/chunk-SIWR22TU.js",
98 ················"/chunk-SLMGX7CW.js",98 ················"/chunk-SLMGX7CW.js",
 99 ················"/chunk-SOZUCUV5.js",
99 ················"/chunk-SUXESPMN.js",100 ················"/chunk-SUXESPMN.js",
100 ················"/chunk-T2QEXH5C.js",101 ················"/chunk-T2QEXH5C.js",
101 ················"/chunk-TCO5DB4L.js",102 ················"/chunk-TCO5DB4L.js",
102 ················"/chunk-TGPH6LKO.js",103 ················"/chunk-TGPH6LKO.js",
103 ················"/chunk-U73AG7KG.js",104 ················"/chunk-U73AG7KG.js",
104 ················"/chunk-UB4ID27O.js", 
105 ················"/chunk-UFHYCCI7.js",105 ················"/chunk-UFHYCCI7.js",
106 ················"/chunk-UHJC7PJM.js",106 ················"/chunk-UHJC7PJM.js",
107 ················"/chunk-UVEJYPO4.js",107 ················"/chunk-UVEJYPO4.js",
 108 ················"/chunk-V7I2PUOU.js",
 109 ················"/chunk-VAUUX5PU.js",
108 ················"/chunk-VBF7L35L.js",110 ················"/chunk-VBF7L35L.js",
109 ················"/chunk-VBWPUIOW.js",111 ················"/chunk-VBWPUIOW.js",
110 ················"/chunk-VHZILF5V.js", 
111 ················"/chunk-VORDLSKG.js",112 ················"/chunk-VORDLSKG.js",
112 ················"/chunk-VRIMBURA.js",113 ················"/chunk-VRIMBURA.js",
113 ················"/chunk-VW4V5P53.js",114 ················"/chunk-VW4V5P53.js",
114 ················"/chunk-VXW536TA.js",115 ················"/chunk-VXW536TA.js",
115 ················"/chunk-WD2BQIDZ.js",116 ················"/chunk-WD2BQIDZ.js",
116 ················"/chunk-WETV5HLU.js",117 ················"/chunk-WETV5HLU.js",
117 ················"/chunk-WPSETH6Z.js",118 ················"/chunk-WPSETH6Z.js",
118 ················"/chunk-X6WRTEGL.js",119 ················"/chunk-X6WRTEGL.js",
119 ················"/chunk-XN2ISKB5.js", 
120 ················"/chunk-XU2E3I7U.js",120 ················"/chunk-XU2E3I7U.js",
121 ················"/chunk-Y5RVS72F.js",121 ················"/chunk-Y5RVS72F.js",
122 ················"/chunk-YFVEOEWN.js",122 ················"/chunk-YFVEOEWN.js",
123 ················"/chunk-YNP5GTIY.js",123 ················"/chunk-YNP5GTIY.js",
124 ················"/chunk-YPRQAIOS.js", 
125 ················"/chunk-YVJDDF2P.js",124 ················"/chunk-YVJDDF2P.js",
126 ················"/chunk-ZCJ6XKWS.js",125 ················"/chunk-ZCJ6XKWS.js",
127 ················"/chunk-ZGXMMFSB.js",126 ················"/chunk-ZGXMMFSB.js",
128 ················"/chunk-ZMIAKKJD.js",127 ················"/chunk-ZMIAKKJD.js",
129 ················"/chunk-ZNLV2737.js",128 ················"/chunk-ZNLV2737.js",
 129 ················"/chunk-ZYJZYVZO.js",
130 ················"/favicon.ico",130 ················"/favicon.ico",
131 ················"/index.html",131 ················"/index.html",
132 ················"/main-7HMTUEIC.js",132 ················"/main-7A2N6NOI.js",
133 ················"/manifest.json",133 ················"/manifest.json",
Max diff block lines reached; 10398/15454 bytes (67.28%) of diff not shown.
3.26 KB
assets/public/index.html
    
Offset 7098, 16 lines modifiedOffset 7098, 16 lines modified
0001bb90:·6374·696f·6e20·2829·207b·7d29·2829·3b0a··ction·()·{})();.0001bb90:·6374·696f·6e20·2829·207b·7d29·2829·3b0a··ction·()·{})();.
0001bba0:·2020·2020·3c2f·7363·7269·7074·3e0a·2020······</script>.··0001bba0:·2020·2020·3c2f·7363·7269·7074·3e0a·2020······</script>.··
0001bbb0:·3c6c·696e·6b20·7265·6c3d·226d·6f64·756c··<link·rel="modul0001bbb0:·3c6c·696e·6b20·7265·6c3d·226d·6f64·756c··<link·rel="modul
0001bbc0:·6570·7265·6c6f·6164·2220·6872·6566·3d22··epreload"·href="0001bbc0:·6570·7265·6c6f·6164·2220·6872·6566·3d22··epreload"·href="
0001bbd0:·6368·756e·6b2d·434a·5335·3452·4b59·2e6a··chunk-CJS54RKY.j0001bbd0:·6368·756e·6b2d·434a·5335·3452·4b59·2e6a··chunk-CJS54RKY.j
0001bbe0:·7322·3e3c·6c69·6e6b·2072·656c·3d22·6d6f··s"><link·rel="mo0001bbe0:·7322·3e3c·6c69·6e6b·2072·656c·3d22·6d6f··s"><link·rel="mo
0001bbf0:·6475·6c65·7072·656c·6f61·6422·2068·7265··dulepreload"·hre0001bbf0:·6475·6c65·7072·656c·6f61·6422·2068·7265··dulepreload"·hre
0001bc00:·663d·2263·6875·6e6b·2d56·485a·494c·4635··f="chunk-VHZILF50001bc00:·663d·2263·6875·6e6b·2d56·3749·3250·554f··f="chunk-V7I2PUO
0001bc10:·562e·6a73·223e·3c6c·696e·6b20·7265·6c3d··V.js"><link·rel=0001bc10:·552e·6a73·223e·3c6c·696e·6b20·7265·6c3d··U.js"><link·rel=
0001bc20:·226d·6f64·756c·6570·7265·6c6f·6164·2220··"modulepreload"·0001bc20:·226d·6f64·756c·6570·7265·6c6f·6164·2220··"modulepreload"·
0001bc30:·6872·6566·3d22·6368·756e·6b2d·5745·5456··href="chunk-WETV0001bc30:·6872·6566·3d22·6368·756e·6b2d·5745·5456··href="chunk-WETV
0001bc40:·3548·4c55·2e6a·7322·3e3c·6c69·6e6b·2072··5HLU.js"><link·r0001bc40:·3548·4c55·2e6a·7322·3e3c·6c69·6e6b·2072··5HLU.js"><link·r
0001bc50:·656c·3d22·6d6f·6475·6c65·7072·656c·6f61··el="modulepreloa0001bc50:·656c·3d22·6d6f·6475·6c65·7072·656c·6f61··el="modulepreloa
0001bc60:·6422·2068·7265·663d·2263·6875·6e6b·2d56··d"·href="chunk-V0001bc60:·6422·2068·7265·663d·2263·6875·6e6b·2d56··d"·href="chunk-V
0001bc70:·4f52·444c·534b·472e·6a73·223e·3c6c·696e··ORDLSKG.js"><lin0001bc70:·4f52·444c·534b·472e·6a73·223e·3c6c·696e··ORDLSKG.js"><lin
0001bc80:·6b20·7265·6c3d·226d·6f64·756c·6570·7265··k·rel="modulepre0001bc80:·6b20·7265·6c3d·226d·6f64·756c·6570·7265··k·rel="modulepre
Offset 7117, 23 lines modifiedOffset 7117, 23 lines modified
0001bcc0:·7072·656c·6f61·6422·2068·7265·663d·2263··preload"·href="c0001bcc0:·7072·656c·6f61·6422·2068·7265·663d·2263··preload"·href="c
0001bcd0:·6875·6e6b·2d4b·4152·5a4a·4c46·4b2e·6a73··hunk-KARZJLFK.js0001bcd0:·6875·6e6b·2d4b·4152·5a4a·4c46·4b2e·6a73··hunk-KARZJLFK.js
0001bce0:·223e·3c6c·696e·6b20·7265·6c3d·226d·6f64··"><link·rel="mod0001bce0:·223e·3c6c·696e·6b20·7265·6c3d·226d·6f64··"><link·rel="mod
0001bcf0:·756c·6570·7265·6c6f·6164·2220·6872·6566··ulepreload"·href0001bcf0:·756c·6570·7265·6c6f·6164·2220·6872·6566··ulepreload"·href
0001bd00:·3d22·6368·756e·6b2d·5233·3348·3758·374f··="chunk-R33H7X7O0001bd00:·3d22·6368·756e·6b2d·5233·3348·3758·374f··="chunk-R33H7X7O
0001bd10:·2e6a·7322·3e3c·6c69·6e6b·2072·656c·3d22··.js"><link·rel="0001bd10:·2e6a·7322·3e3c·6c69·6e6b·2072·656c·3d22··.js"><link·rel="
0001bd20:·6d6f·6475·6c65·7072·656c·6f61·6422·2068··modulepreload"·h0001bd20:·6d6f·6475·6c65·7072·656c·6f61·6422·2068··modulepreload"·h
0001bd30:·7265·663d·2263·6875·6e6b·2d58·4e32·4953··ref="chunk-XN2IS0001bd30:·7265·663d·2263·6875·6e6b·2d52·4a36·5057··ref="chunk-RJ6PW
0001bd40:·4b42·352e·6a73·223e·3c6c·696e·6b20·7265··KB5.js"><link·re0001bd40:·4735·412e·6a73·223e·3c6c·696e·6b20·7265··G5A.js"><link·re
0001bd50:·6c3d·226d·6f64·756c·6570·7265·6c6f·6164··l="modulepreload0001bd50:·6c3d·226d·6f64·756c·6570·7265·6c6f·6164··l="modulepreload
0001bd60:·2220·6872·6566·3d22·6368·756e·6b2d·4942··"·href="chunk-IB0001bd60:·2220·6872·6566·3d22·6368·756e·6b2d·4152··"·href="chunk-AR
0001bd70:·5854·3634·5343·2e6a·7322·3e3c·6c69·6e6b··XT64SC.js"><link0001bd70:·3243·4a4a·415a·2e6a·7322·3e3c·6c69·6e6b··2CJJAZ.js"><link
0001bd80:·2072·656c·3d22·6d6f·6475·6c65·7072·656c···rel="moduleprel0001bd80:·2072·656c·3d22·6d6f·6475·6c65·7072·656c···rel="moduleprel
0001bd90:·6f61·6422·2068·7265·663d·2263·6875·6e6b··oad"·href="chunk0001bd90:·6f61·6422·2068·7265·663d·2263·6875·6e6b··oad"·href="chunk
0001bda0:·2d4c·5845·5055·5736·322e·6a73·223e·3c73··-LXEPUW62.js"><s0001bda0:·2d4c·5845·5055·5736·322e·6a73·223e·3c73··-LXEPUW62.js"><s
0001bdb0:·6372·6970·7420·7372·633d·2270·6f6c·7966··cript·src="polyf0001bdb0:·6372·6970·7420·7372·633d·2270·6f6c·7966··cript·src="polyf
0001bdc0:·696c·6c73·2d4e·4b48·3445·4646·4d2e·6a73··ills-NKH4EFFM.js0001bdc0:·696c·6c73·2d4e·4b48·3445·4646·4d2e·6a73··ills-NKH4EFFM.js
0001bdd0:·2220·7479·7065·3d22·6d6f·6475·6c65·223e··"·type="module">0001bdd0:·2220·7479·7065·3d22·6d6f·6475·6c65·223e··"·type="module">
0001bde0:·3c2f·7363·7269·7074·3e3c·7363·7269·7074··</script><script0001bde0:·3c2f·7363·7269·7074·3e3c·7363·7269·7074··</script><script
0001bdf0:·2073·7263·3d22·6d61·696e·2d37·484d·5455···src="main-7HMTU0001bdf0:·2073·7263·3d22·6d61·696e·2d37·4132·4e36···src="main-7A2N6
0001be00:·4549·432e·6a73·2220·7479·7065·3d22·6d6f··EIC.js"·type="mo0001be00:·4e4f·492e·6a73·2220·7479·7065·3d22·6d6f··NOI.js"·type="mo
0001be10:·6475·6c65·223e·3c2f·7363·7269·7074·3e3c··dule"></script><0001be10:·6475·6c65·223e·3c2f·7363·7269·7074·3e3c··dule"></script><
0001be20:·2f62·6f64·793e·0a3c·2f68·746d·6c3e·0a····/body>.</html>.0001be20:·2f62·6f64·793e·0a3c·2f68·746d·6c3e·0a····/body>.</html>.
107 B
assets/public/main-7HMTUEIC.js.map vs.
assets/public/main-7A2N6NOI.js.map
Files identical despite different names
5.67 KB
assets/public/main-7HMTUEIC.js vs.
assets/public/main-7A2N6NOI.js
Files 99% similar despite different names
5.57 KB
js-beautify {}
    
Offset 27, 15 lines modifiedOffset 27, 15 lines modified
27 ····t·as·Xb,27 ····t·as·Xb,
28 ····u·as·Qb,28 ····u·as·Qb,
29 ····v·as·fA,29 ····v·as·fA,
30 ····w·as·em,30 ····w·as·em,
31 ····x·as·Zb,31 ····x·as·Zb,
32 ····y·as·ey,32 ····y·as·ey,
33 ····z·as·_A33 ····z·as·_A
34 }·from·"./chunk-VHZILF5V.js";34 }·from·"./chunk-V7I2PUOU.js";
35 import·{35 import·{
36 ····a·as·Un,36 ····a·as·Un,
37 ····b·as·us37 ····b·as·us
38 }·from·"./chunk-WETV5HLU.js";38 }·from·"./chunk-WETV5HLU.js";
39 import·{39 import·{
40 ····a·as·mT,40 ····a·as·mT,
41 ····b·as·XO,41 ····b·as·XO,
Offset 88, 38 lines modifiedOffset 88, 38 lines modified
88 import·{88 import·{
89 ····b·as·ty,89 ····b·as·ty,
90 ····c·as·gA90 ····c·as·gA
91 }·from·"./chunk-R33H7X7O.js";91 }·from·"./chunk-R33H7X7O.js";
92 import·{92 import·{
93 ····a·as·iy,93 ····a·as·iy,
94 ····b·as·CA94 ····b·as·CA
95 }·from·"./chunk-XN2ISKB5.js";95 }·from·"./chunk-RJ6PWG5A.js";
96 import·{96 import·{
97 ····a·as·p0,97 ····a·as·p0,
98 ····b·as·SO,98 ····b·as·SO,
99 ····c·as·jS,99 ····c·as·jS,
100 ····d·as·LD,100 ····d·as·LD,
101 ····e·as·zS,101 ····e·as·zS,
102 ····f·as·$D,102 ····f·as·$D,
103 ····g·as·bl,103 ····g·as·bl,
104 ····h·as·Gh104 ····h·as·Gh
105 }·from·"./chunk-IBXT64SC.js";105 }·from·"./chunk-AR2CJJAZ.js";
106 import·{106 import·{
107 ····a·as·cp,107 ····a·as·cp,
108 ····b·as·dp,108 ····b·as·dp,
109 ····c·as·xT109 ····c·as·xT
110 }·from·"./chunk-LXEPUW62.js";110 }·from·"./chunk-LXEPUW62.js";
111 import·{111 import·{
112 ····a·as·op,112 ····a·as·op,
113 ····b·as·cT113 ····b·as·cT
114 }·from·"./chunk-3UB54IM4.js";114 }·from·"./chunk-3UB54IM4.js";
115 import·{115 import·{
116 ····f·as·yr,116 ····f·as·yr,
117 ····g·as·Dc117 ····g·as·Dc
118 }·from·"./chunk-YPRQAIOS.js";118 }·from·"./chunk-SOZUCUV5.js";
119 import·{119 import·{
120 ····a·as·jp,120 ····a·as·jp,
121 ····b·as·US,121 ····b·as·US,
122 ····c·as·Bb,122 ····c·as·Bb,
123 ····d·as·$b,123 ····d·as·$b,
124 ····e·as·Vb124 ····e·as·Vb
125 }·from·"./chunk-AIMWLVJ5.js";125 }·from·"./chunk-AIMWLVJ5.js";
Offset 358, 15 lines modifiedOffset 358, 15 lines modified
358 ····h·as·Po358 ····h·as·Po
359 }·from·"./chunk-FUVMFFAG.js";359 }·from·"./chunk-FUVMFFAG.js";
360 import·{360 import·{
361 ····a·as·no,361 ····a·as·no,
362 ····b·as·WD,362 ····b·as·WD,
363 ····k·as·br,363 ····k·as·br,
364 ····l·as·Oc364 ····l·as·Oc
365 }·from·"./chunk-N4WJFOTX.js";365 }·from·"./chunk-MXKZH4BG.js";
366 import·{366 import·{
367 ····A·as·ES,367 ····A·as·ES,
368 ····B·as·Wh,368 ····B·as·Wh,
369 ····C·as·RS,369 ····C·as·RS,
370 ····D·as·OD,370 ····D·as·OD,
371 ····E·as·zh,371 ····E·as·zh,
372 ····F·as·DD,372 ····F·as·DD,
Offset 395, 15 lines modifiedOffset 395, 15 lines modified
395 ····m·as·ID,395 ····m·as·ID,
396 ····n·as·hs,396 ····n·as·hs,
397 ····o·as·PD,397 ····o·as·PD,
398 ····w·as·qe,398 ····w·as·qe,
399 ····x·as·Uh,399 ····x·as·Uh,
400 ····y·as·Vp,400 ····y·as·Vp,
401 ····z·as·IS401 ····z·as·IS
402 }·from·"./chunk-DGYEIQRF.js";402 }·from·"./chunk-F6XQH7DD.js";
403 import·{403 import·{
404 ····a·as·dr,404 ····a·as·dr,
405 ····b·as·gc,405 ····b·as·gc,
406 ····c·as·Lh,406 ····c·as·Lh,
407 ····d·as·kc,407 ····d·as·kc,
408 ····e·as·xc,408 ····e·as·xc,
409 ····f·as·Bh,409 ····f·as·Bh,
Offset 13215, 15 lines modifiedOffset 13215, 15 lines modified
13215 var·nw,·ow·=·O(()·=>·{13215 var·nw,·ow·=·O(()·=>·{
13216 ····"use·strict";13216 ····"use·strict";
13217 ····ew();13217 ····ew();
13218 ····fo();13218 ····fo();
13219 ····iw();13219 ····iw();
13220 ····nw·=·[{13220 ····nw·=·[{
13221 ········path:·"config",13221 ········path:·"config",
13222 ········loadComponent:·()·=>·import("./chunk-5K2KJAE2.js").then(i·=>·i.ConfigPageComponent),13222 ········loadComponent:·()·=>·import("./chunk-ZYJZYVZO.js").then(i·=>·i.ConfigPageComponent),
13223 ········data:·{13223 ········data:·{
13224 ············page:·"config"13224 ············page:·"config"
13225 ········},13225 ········},
13226 ········canActivate:·[oi]13226 ········canActivate:·[oi]
13227 ····},·{13227 ····},·{
13228 ········path:·"search",13228 ········path:·"search",
13229 ········loadComponent:·()·=>·import("./chunk-IPBDPVNL.js").then(i·=>·i.SearchPageComponent),13229 ········loadComponent:·()·=>·import("./chunk-IPBDPVNL.js").then(i·=>·i.SearchPageComponent),
Offset 13285, 22 lines modifiedOffset 13285, 22 lines modified
13285 ········loadComponent:·()·=>·import("./chunk-BP52V6MH.js").then(i·=>·i.QuickHistoryComponent),13285 ········loadComponent:·()·=>·import("./chunk-BP52V6MH.js").then(i·=>·i.QuickHistoryComponent),
13286 ········data:·{13286 ········data:·{
13287 ············page:·"quick-history"13287 ············page:·"quick-history"
13288 ········},13288 ········},
13289 ········canActivate:·[Oa,·oi]13289 ········canActivate:·[Oa,·oi]
13290 ····},·{13290 ····},·{
13291 ········path:·"tag/:id/daily-summary",13291 ········path:·"tag/:id/daily-summary",
13292 ········loadComponent:·()·=>·import("./chunk-UB4ID27O.js").then(i·=>·i.DailySummaryComponent),13292 ········loadComponent:·()·=>·import("./chunk-HAX24TTW.js").then(i·=>·i.DailySummaryComponent),
13293 ········data:·{13293 ········data:·{
13294 ············page:·"daily-summary"13294 ············page:·"daily-summary"
13295 ········},13295 ········},
13296 ········canActivate:·[Oa,·oi]13296 ········canActivate:·[Oa,·oi]
13297 ····},·{13297 ····},·{
13298 ········path:·"tag/:id/daily-summary/:dayStr",13298 ········path:·"tag/:id/daily-summary/:dayStr",
13299 ········loadComponent:·()·=>·import("./chunk-UB4ID27O.js").then(i·=>·i.DailySummaryComponent),13299 ········loadComponent:·()·=>·import("./chunk-HAX24TTW.js").then(i·=>·i.DailySummaryComponent),
13300 ········data:·{13300 ········data:·{
13301 ············page:·"daily-summary"13301 ············page:·"daily-summary"
13302 ········},13302 ········},
13303 ········canActivate:·[Oa,·oi]13303 ········canActivate:·[Oa,·oi]
13304 ····},·{13304 ····},·{
13305 ········path:·"tag/:id/metrics",13305 ········path:·"tag/:id/metrics",
13306 ········loadComponent:·()·=>·import("./chunk-BCWAJ4MT.js").then(i·=>·i.MetricPageComponent),13306 ········loadComponent:·()·=>·import("./chunk-BCWAJ4MT.js").then(i·=>·i.MetricPageComponent),
Offset 13341, 41 lines modifiedOffset 13341, 41 lines modified
13341 ········loadComponent:·()·=>·import("./chunk-BCWAJ4MT.js").then(i·=>·i.MetricPageComponent),13341 ········loadComponent:·()·=>·import("./chunk-BCWAJ4MT.js").then(i·=>·i.MetricPageComponent),
Max diff block lines reached; 2381/5672 bytes (41.98%) of diff not shown.
109 B
assets/public/chunk-YPRQAIOS.js.map vs.
assets/public/chunk-SOZUCUV5.js.map
Files identical despite different names
762 B
assets/public/chunk-YPRQAIOS.js vs.
assets/public/chunk-SOZUCUV5.js
Files 99% similar despite different names
659 B
js-beautify {}
    
Offset 5, 21 lines modifiedOffset 5, 21 lines modified
5 ····f·as·Qe,5 ····f·as·Qe,
6 ····i·as·Ne,6 ····i·as·Ne,
7 ····j·as·et,7 ····j·as·et,
8 ····q·as·Ae,8 ····q·as·Ae,
9 ····r·as·tt,9 ····r·as·tt,
10 ····s·as·$e,10 ····s·as·$e,
11 ····t·as·it11 ····t·as·it
12 }·from·"./chunk-N4WJFOTX.js";12 }·from·"./chunk-MXKZH4BG.js";
13 import·{13 import·{
14 ····J·as·Ce,14 ····J·as·Ce,
15 ····K·as·Je,15 ····K·as·Je,
16 ····j·as·be,16 ····j·as·be,
17 ····k·as·Xe17 ····k·as·Xe
18 }·from·"./chunk-DGYEIQRF.js";18 }·from·"./chunk-F6XQH7DD.js";
19 import·{19 import·{
20 ····e·as·fe,20 ····e·as·fe,
21 ····f·as·me,21 ····f·as·me,
22 ····g·as·Pe,22 ····g·as·Pe,
23 ····i·as·_e,23 ····i·as·_e,
24 ····j·as·Se,24 ····j·as·Se,
25 ····k·as·Ee,25 ····k·as·Ee,
Offset 1124, 8 lines modifiedOffset 1124, 8 lines modified
1124 ········}1124 ········}
1125 ········return·d1125 ········return·d
1126 ····})()1126 ····})()
1127 });1127 });
1128 export·{1128 export·{
1129 ····Te·as·a,·Le·as·b,·Z·as·c,·Y·as·d,·Oe·as·e,·oi·as·f,·nt·as·g1129 ····Te·as·a,·Le·as·b,·Z·as·c,·Y·as·d,·Oe·as·e,·oi·as·f,·nt·as·g
1130 };1130 };
1131 //#·sourceMappingURL=chunk-YPRQAIOS.js.map1131 //#·sourceMappingURL=chunk-SOZUCUV5.js.map
109 B
assets/public/chunk-XN2ISKB5.js.map vs.
assets/public/chunk-RJ6PWG5A.js.map
Files identical despite different names
827 B
assets/public/chunk-XN2ISKB5.js vs.
assets/public/chunk-RJ6PWG5A.js
Files 99% similar despite different names
724 B
js-beautify {}
    
Offset 1, 11 lines modifiedOffset 1, 11 lines modified
1 import·{1 import·{
2 ····f·as·ie,2 ····f·as·ie,
3 ····g·as·we3 ····g·as·we
4 }·from·"./chunk-YPRQAIOS.js";4 }·from·"./chunk-SOZUCUV5.js";
5 import·{5 import·{
6 ····a·as·re,6 ····a·as·re,
7 ····b·as·oe,7 ····b·as·oe,
8 ····c·as·ae,8 ····c·as·ae,
9 ····f·as·le,9 ····f·as·le,
10 ····g·as·Oe10 ····g·as·Oe
11 }·from·"./chunk-Y5RVS72F.js";11 }·from·"./chunk-Y5RVS72F.js";
Offset 14, 15 lines modifiedOffset 14, 15 lines modified
14 ····l·as·ve,14 ····l·as·ve,
15 ····m·as·Z,15 ····m·as·Z,
16 ····n·as·ee,16 ····n·as·ee,
17 ····o·as·te,17 ····o·as·te,
18 ····p·as·Ie,18 ····p·as·Ie,
19 ····q·as·ne,19 ····q·as·ne,
20 ····r·as·Me20 ····r·as·Me
21 }·from·"./chunk-N4WJFOTX.js";21 }·from·"./chunk-MXKZH4BG.js";
22 import·{22 import·{
23 ····a·as·Y,23 ····a·as·Y,
24 ····c·as·xe24 ····c·as·xe
25 }·from·"./chunk-AZ3J6UBP.js";25 }·from·"./chunk-AZ3J6UBP.js";
26 import·{26 import·{
27 ····c·as·W,27 ····c·as·W,
28 ····d·as·N,28 ····d·as·N,
Offset 323, 8 lines modifiedOffset 323, 8 lines modified
323 ········}323 ········}
324 ········return·t324 ········return·t
325 ····})()325 ····})()
326 });326 });
327 export·{327 export·{
328 ····rt·as·a,·De·as·b328 ····rt·as·a,·De·as·b
329 };329 };
330 //#·sourceMappingURL=chunk-XN2ISKB5.js.map330 //#·sourceMappingURL=chunk-RJ6PWG5A.js.map
109 B
assets/public/chunk-VHZILF5V.js.map vs.
assets/public/chunk-V7I2PUOU.js.map
Files identical despite different names
829 B
assets/public/chunk-VHZILF5V.js vs.
assets/public/chunk-V7I2PUOU.js
Files 99% similar despite different names
726 B
js-beautify {}
    
Offset 14, 15 lines modifiedOffset 14, 15 lines modified
14 import·{14 import·{
15 ····f·as·li,15 ····f·as·li,
16 ····h·as·Qi16 ····h·as·Qi
17 }·from·"./chunk-FUVMFFAG.js";17 }·from·"./chunk-FUVMFFAG.js";
18 import·{18 import·{
19 ····e·as·Oe,19 ····e·as·Oe,
20 ····i·as·Ot20 ····i·as·Ot
21 }·from·"./chunk-DGYEIQRF.js";21 }·from·"./chunk-F6XQH7DD.js";
22 import·{22 import·{
23 ····a·as·ni,23 ····a·as·ni,
24 ····b·as·Ui24 ····b·as·Ui
25 }·from·"./chunk-RW6KTABU.js";25 }·from·"./chunk-RW6KTABU.js";
26 import·{26 import·{
27 ····b·as·oi,27 ····b·as·oi,
28 ····c·as·Wi28 ····c·as·Wi
Offset 2453, 8 lines modifiedOffset 2453, 8 lines modified
2453 ········}2453 ········}
2454 ········return·i2454 ········return·i
2455 ····})()2455 ····})()
2456 });2456 });
2457 export·{2457 export·{
2458 ····Bo·as·a,·Gi·as·b,·di·as·c,·ui·as·d,·Lr·as·e,·Vr·as·f,·Hr·as·g,·Br·as·h,·zr·as·i,·jr·as·j,·Wr·as·k,·Ur·as·l,·Qr·as·m,·qr·as·n,·Gr·as·o,·Ao·as·p,·Qo·as·q,·Yi·as·r,·fi·as·s,·pi·as·t,·gi·as·u,·_i·as·v,·On·as·w,·lo·as·x,·Jn·as·y,·Co·as·z2458 ····Bo·as·a,·Gi·as·b,·di·as·c,·ui·as·d,·Lr·as·e,·Vr·as·f,·Hr·as·g,·Br·as·h,·zr·as·i,·jr·as·j,·Wr·as·k,·Ur·as·l,·Qr·as·m,·qr·as·n,·Gr·as·o,·Ao·as·p,·Qo·as·q,·Yi·as·r,·fi·as·s,·pi·as·t,·gi·as·u,·_i·as·v,·On·as·w,·lo·as·x,·Jn·as·y,·Co·as·z
2459 };2459 };
2460 //#·sourceMappingURL=chunk-VHZILF5V.js.map2460 //#·sourceMappingURL=chunk-V7I2PUOU.js.map
109 B
assets/public/chunk-UB4ID27O.js.map vs.
assets/public/chunk-HAX24TTW.js.map
Files identical despite different names
968 B
assets/public/chunk-UB4ID27O.js vs.
assets/public/chunk-HAX24TTW.js
Files 99% similar despite different names
865 B
js-beautify {}
    
Offset 32, 15 lines modifiedOffset 32, 15 lines modified
32 ····p·as·oa,32 ····p·as·oa,
33 ····q·as·Ki,33 ····q·as·Ki,
34 ····r·as·ra,34 ····r·as·ra,
35 ····w·as·nn,35 ····w·as·nn,
36 ····x·as·_a,36 ····x·as·_a,
37 ····y·as·an,37 ····y·as·an,
38 ····z·as·ua38 ····z·as·ua
39 }·from·"./chunk-VHZILF5V.js";39 }·from·"./chunk-V7I2PUOU.js";
40 import·{40 import·{
41 ····a·as·ki,41 ····a·as·ki,
42 ····b·as·Qn42 ····b·as·Qn
43 }·from·"./chunk-WETV5HLU.js";43 }·from·"./chunk-WETV5HLU.js";
44 import·{44 import·{
45 ····c·as·ai,45 ····c·as·ai,
46 ····d·as·oi,46 ····d·as·oi,
Offset 102, 15 lines modifiedOffset 102, 15 lines modified
102 }·from·"./chunk-FUVMFFAG.js";102 }·from·"./chunk-FUVMFFAG.js";
103 import·{103 import·{
104 ····T·as·Ri,104 ····T·as·Ri,
105 ····U·as·aa,105 ····U·as·aa,
106 ····r·as·Di,106 ····r·as·Di,
107 ····s·as·Pi,107 ····s·as·Pi,
108 ····t·as·ea108 ····t·as·ea
109 }·from·"./chunk-DGYEIQRF.js";109 }·from·"./chunk-F6XQH7DD.js";
110 import·"./chunk-VXW536TA.js";110 import·"./chunk-VXW536TA.js";
111 import·"./chunk-3DJMUK5T.js";111 import·"./chunk-3DJMUK5T.js";
112 import·"./chunk-UVEJYPO4.js";112 import·"./chunk-UVEJYPO4.js";
113 import·{113 import·{
114 ····e·as·Si,114 ····e·as·Si,
115 ····f·as·zn115 ····f·as·zn
116 }·from·"./chunk-VBWPUIOW.js";116 }·from·"./chunk-VBWPUIOW.js";
Offset 2432, 8 lines modifiedOffset 2432, 8 lines modified
2432 ········return·e2432 ········return·e
2433 ····})()2433 ····})()
2434 });2434 });
2435 Zo();2435 Zo();
2436 export·{2436 export·{
2437 ····Zc·as·DailySummaryComponent2437 ····Zc·as·DailySummaryComponent
2438 };2438 };
2439 //#·sourceMappingURL=chunk-UB4ID27O.js.map2439 //#·sourceMappingURL=chunk-HAX24TTW.js.map
109 B
assets/public/chunk-N4WJFOTX.js.map vs.
assets/public/chunk-MXKZH4BG.js.map
Files identical despite different names
1.38 KB
assets/public/chunk-N4WJFOTX.js vs.
assets/public/chunk-MXKZH4BG.js
Files 99% similar despite different names
1.28 KB
js-beautify {}
    
Offset 1, 11 lines modifiedOffset 1, 11 lines modified
1 import·{1 import·{
2 ····T·as·Ar,2 ····T·as·Ar,
3 ····U·as·ct3 ····U·as·ct
4 }·from·"./chunk-DGYEIQRF.js";4 }·from·"./chunk-F6XQH7DD.js";
5 import·{5 import·{
6 ····c·as·gr,6 ····c·as·gr,
7 ····d·as·fr,7 ····d·as·fr,
8 ····g·as·mr,8 ····g·as·mr,
9 ····h·as·hr,9 ····h·as·hr,
10 ····i·as·Tr,10 ····i·as·Tr,
11 ····j·as·ut,11 ····j·as·ut,
Offset 2849, 15 lines modifiedOffset 2849, 15 lines modified
2849 ····················}2849 ····················}
2850 ················})2850 ················})
2851 ············}2851 ············}
2852 ············sendMessageToPlugin(t,·o)·{2852 ············sendMessageToPlugin(t,·o)·{
2853 ················return·S(this,·null,·function*()·{2853 ················return·S(this,·null,·function*()·{
2854 ····················let·{2854 ····················let·{
2855 ························PluginRunner:·l2855 ························PluginRunner:·l
2856 ····················}·=·yield·import("./chunk-GGY7LK5R.js");2856 ····················}·=·yield·import("./chunk-PDSEA5O4.js");
2857 ····················return·this._injector.get(l).sendMessageToPlugin(t,·o)2857 ····················return·this._injector.get(l).sendMessageToPlugin(t,·o)
2858 ················})2858 ················})
2859 ············}2859 ············}
2860 ············_initWindowFocusTracking()·{2860 ············_initWindowFocusTracking()·{
2861 ················window.addEventListener("focus",·()·=>·{2861 ················window.addEventListener("focus",·()·=>·{
2862 ····················this._isWindowFocused·=·!0,·this._notifyFocusHandlers(!0)2862 ····················this._isWindowFocused·=·!0,·this._notifyFocusHandlers(!0)
2863 ················}),·window.addEventListener("blur",·()·=>·{2863 ················}),·window.addEventListener("blur",·()·=>·{
Offset 3504, 8 lines modifiedOffset 3504, 8 lines modified
3504 ········}3504 ········}
3505 ········return·y3505 ········return·y
3506 ····})()3506 ····})()
3507 });3507 });
3508 export·{3508 export·{
3509 ····de·as·a,·oe·as·b,·Pr·as·c,·wr·as·d,·Z·as·e,·ue·as·f,·Cr·as·g,·br·as·h,·ee·as·i,·_e·as·j,·Or·as·k,·Ur·as·l,·Ja·as·m,·Va·as·n,·Ya·as·o,·xr·as·p,·Nr·as·q,·jr·as·r,·ls·as·s,·kt·as·t3509 ····de·as·a,·oe·as·b,·Pr·as·c,·wr·as·d,·Z·as·e,·ue·as·f,·Cr·as·g,·br·as·h,·ee·as·i,·_e·as·j,·Or·as·k,·Ur·as·l,·Ja·as·m,·Va·as·n,·Ya·as·o,·xr·as·p,·Nr·as·q,·jr·as·r,·ls·as·s,·kt·as·t
3510 };3510 };
3511 //#·sourceMappingURL=chunk-N4WJFOTX.js.map3511 //#·sourceMappingURL=chunk-MXKZH4BG.js.map
920 B
assets/public/chunk-JSMC5UBG.js vs.
assets/public/chunk-VAUUX5PU.js
Files 93% similar despite different names
817 B
js-beautify {}
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 import·{1 import·{
2 ····a,2 ····a,
3 ····b3 ····b
4 }·from·"./chunk-XN2ISKB5.js";4 }·from·"./chunk-RJ6PWG5A.js";
5 import·"./chunk-YPRQAIOS.js";5 import·"./chunk-SOZUCUV5.js";
6 import·"./chunk-Y5RVS72F.js";6 import·"./chunk-Y5RVS72F.js";
 7 import·"./chunk-MXKZH4BG.js";
7 import·"./chunk-N4WJFOTX.js";8 import·"./chunk-F6XQH7DD.js";
8 import·"./chunk-DGYEIQRF.js"; 
9 import·"./chunk-YFVEOEWN.js";9 import·"./chunk-YFVEOEWN.js";
10 import·"./chunk-VXW536TA.js";10 import·"./chunk-VXW536TA.js";
11 import·"./chunk-3DJMUK5T.js";11 import·"./chunk-3DJMUK5T.js";
12 import·"./chunk-UVEJYPO4.js";12 import·"./chunk-UVEJYPO4.js";
13 import·"./chunk-VBWPUIOW.js";13 import·"./chunk-VBWPUIOW.js";
14 import·"./chunk-U73AG7KG.js";14 import·"./chunk-U73AG7KG.js";
15 import·"./chunk-GPU5WKVV.js";15 import·"./chunk-GPU5WKVV.js";
Offset 47, 8 lines modifiedOffset 47, 8 lines modified
47 import·"./chunk-MAQCQPYF.js";47 import·"./chunk-MAQCQPYF.js";
48 import·"./chunk-2KEZIUSW.js";48 import·"./chunk-2KEZIUSW.js";
49 import·"./chunk-2NYJ54WT.js";49 import·"./chunk-2NYJ54WT.js";
50 b();50 b();
51 export·{51 export·{
52 ····a·as·PluginIndexComponent52 ····a·as·PluginIndexComponent
53 };53 };
54 //#·sourceMappingURL=chunk-JSMC5UBG.js.map54 //#·sourceMappingURL=chunk-VAUUX5PU.js.map
109 B
assets/public/chunk-IBXT64SC.js.map vs.
assets/public/chunk-AR2CJJAZ.js.map
Files identical despite different names
871 B
assets/public/chunk-IBXT64SC.js vs.
assets/public/chunk-AR2CJJAZ.js
Files 96% similar despite different names
768 B
js-beautify {}
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 import·{1 import·{
2 ····f·as·V,2 ····f·as·V,
3 ····g·as·X3 ····g·as·X
4 }·from·"./chunk-YPRQAIOS.js";4 }·from·"./chunk-SOZUCUV5.js";
5 import·{5 import·{
6 ····a·as·L,6 ····a·as·L,
7 ····b·as·$7 ····b·as·$
8 }·from·"./chunk-DGYEIQRF.js";8 }·from·"./chunk-F6XQH7DD.js";
9 import·{9 import·{
10 ····a·as·E,10 ····a·as·E,
11 ····b·as·q,11 ····b·as·q,
12 ····r·as·H,12 ····r·as·H,
13 ····w·as·A,13 ····w·as·A,
14 ····x·as·O14 ····x·as·O
15 }·from·"./chunk-FSOVT7QZ.js";15 }·from·"./chunk-FSOVT7QZ.js";
Offset 162, 8 lines modifiedOffset 162, 8 lines modified
162 ········let·t·=·new·SpeechSynthesisUtterance;162 ········let·t·=·new·SpeechSynthesisUtterance;
163 ········t.text·=·e,·t.voice·=·l.getVoices().find(i·=>·n.includes(i.name))·||·l.getVoices().find(i·=>·i.default)·||·null,·console.log(o),·t.volume·=·o·/·100,·l.speak(t)163 ········t.text·=·e,·t.voice·=·l.getVoices().find(i·=>·n.includes(i.name))·||·l.getVoices().find(i·=>·i.default)·||·null,·console.log(o),·t.volume·=·o·/·100,·l.speak(t)
164 ····}164 ····}
165 });165 });
166 export·{166 export·{
167 ····oe·as·a,·J·as·b,·re·as·c,·K·as·d,·Ie·as·e,·ee·as·f,·ve·as·g,·Z·as·h167 ····oe·as·a,·J·as·b,·re·as·c,·K·as·d,·Ie·as·e,·ee·as·f,·ve·as·g,·Z·as·h
168 };168 };
169 //#·sourceMappingURL=chunk-IBXT64SC.js.map169 //#·sourceMappingURL=chunk-AR2CJJAZ.js.map
767 B
assets/public/chunk-GGY7LK5R.js vs.
assets/public/chunk-PDSEA5O4.js
Files 95% similar despite different names
664 B
js-beautify {}
    
Offset 1, 12 lines modifiedOffset 1, 12 lines modified
1 import·{1 import·{
2 ····s·as·a,2 ····s·as·a,
3 ····t·as·b3 ····t·as·b
4 }·from·"./chunk-N4WJFOTX.js";4 }·from·"./chunk-MXKZH4BG.js";
5 import·"./chunk-DGYEIQRF.js";5 import·"./chunk-F6XQH7DD.js";
6 import·"./chunk-YFVEOEWN.js";6 import·"./chunk-YFVEOEWN.js";
7 import·"./chunk-VXW536TA.js";7 import·"./chunk-VXW536TA.js";
8 import·"./chunk-3DJMUK5T.js";8 import·"./chunk-3DJMUK5T.js";
9 import·"./chunk-UVEJYPO4.js";9 import·"./chunk-UVEJYPO4.js";
10 import·"./chunk-VBWPUIOW.js";10 import·"./chunk-VBWPUIOW.js";
11 import·"./chunk-U73AG7KG.js";11 import·"./chunk-U73AG7KG.js";
12 import·"./chunk-GPU5WKVV.js";12 import·"./chunk-GPU5WKVV.js";
Offset 44, 8 lines modifiedOffset 44, 8 lines modified
44 import·"./chunk-MAQCQPYF.js";44 import·"./chunk-MAQCQPYF.js";
45 import·"./chunk-2KEZIUSW.js";45 import·"./chunk-2KEZIUSW.js";
46 import·"./chunk-2NYJ54WT.js";46 import·"./chunk-2NYJ54WT.js";
47 b();47 b();
48 export·{48 export·{
49 ····a·as·PluginRunner49 ····a·as·PluginRunner
50 };50 };
51 //#·sourceMappingURL=chunk-GGY7LK5R.js.map51 //#·sourceMappingURL=chunk-PDSEA5O4.js.map
44.0 KB
assets/public/chunk-DGYEIQRF.js.map vs.
assets/public/chunk-F6XQH7DD.js.map
Files 99% similar despite different names
43.9 KB
Pretty-printed
Similarity: 0.9982638888888888% Differences: {"'sourcesContent'": "{insert: [(63, '// This file is auto-generated by tools/load-env.js\\n// Do " 'not modify directly - edit .env file instead\\n// Generated at: ' '2025-11-08T23:51:49.158Z\\n\\n/**\\n * Environment variables loaded from ' '.env file\\n * Access these constants instead of process.env in your Angular ' 'app\\n */\\nexport const ENV = {\\n\\n} as const;\\n\\n// Type-safe helper ' 'to en […]
    
Offset 4706, 15 lines modifiedOffset 4706, 15 lines modified
4706 ········"import·*·as·i0·from·'@angular/core';\nimport·{·ChangeDetectionStrategy,·Component,·NgModule·}·from·'@angular/core';\nimport·{·FieldType,·FormlyMatFormFieldModule·}·from·'@ngx-formly/material/form-field';\nimport·*·as·i1·from·'@angular/forms';\nimport·{·ReactiveFormsModule·}·from·'@angular/forms';\nimport·*·as·i2·from·'@angular/material/slider';\nimport·{·MatSliderModule·}·from·'@angular/material/slider';\nimport·*·as·i3·from·'@ngx-formly/core';\nimport·{·FormlyModule·}·from·'@ngx-formly/core';\nimport·{·CommonModule·}·from·'@angular/common';\nimport·{·MatCommonModule,·MatRippleModule·}·from·'@angular/material/core';\nlet·FormlyFieldSlider·=·/*#__PURE__*/(()·=>·{\n··class·FormlyFieldSlider·extends·FieldType·{\n····constructor()·{\n······super(...arguments);\n······this.defaultOptions·=·{\n········props:·{\n··········hideFieldUnderline:·true,\n··········floatLabel:·'always',\n··········displayWith:·value·=>·`${value}`\n········}\n······};\n····}\n····static·{\n······this.\u0275fac·=·/*·@__PURE__·*/(()·=>·{\n········let·\u0275FormlyFieldSlider_BaseFactory;\n········return·function·FormlyFieldSlider_Factory(__ngFactoryType__)·{\n··········return·(\u0275FormlyFieldSlider_BaseFactory·||·(\u0275FormlyFieldSlider_BaseFactory·=·i0.\u0275\u0275getInheritedFactory(FormlyFieldSlider)))(__ngFactoryType__·||·FormlyFieldSlider);\n········};\n······})();\n····}\n····static·{\n······this.\u0275cmp·=·/*·@__PURE__·*/i0.\u0275\u0275defineComponent({\n········type:·FormlyFieldSlider,\n········selectors:·[[\"formly-field-mat-slider\"]],\n········standalone:·false,\n········features:·[i0.\u0275\u0275InheritDefinitionFeature],\n········decls:·2,\n········vars:·15,\n········consts:·[[3,·\"input\",·\"change\",·\"id\",·\"formlyAttributes\",·\"tabIndex\",·\"color\",·\"displayWith\",·\"max\",·\"min\",·\"step\",·\"discrete\",·\"showTickMarks\"],·[\"matSliderThumb\",·\"\",·3,·\"formControl\",·\"formlyAttributes\"]],\n········template:·function·FormlyFieldSlider_Template(rf,·ctx)·{\n··········if·(rf·&·1)·{\n············i0.\u0275\u0275elementStart(0,·\"mat-slider\",·0);\n············i0.\u0275\u0275listener(\"input\",·function·FormlyFieldSlider_Template_mat_slider_input_0_listener($event)·{\n··············return·ctx.props.input·&&·ctx.props.input(ctx.field,·$event);\n············})(\"change\",·function·FormlyFieldSlider_Template_mat_slider_change_0_listener($event)·{\n··············return·ctx.props.change·&&·ctx.props.change(ctx.field,·$event);\n············});\n············i0.\u0275\u0275element(1,·\"input\",·1);\n············i0.\u0275\u0275elementEnd();\n··········}\n··········if·(rf·&·2)·{\n············i0.\u0275\u0275styleProp(\"width\",·\"100%\");\n············i0.\u0275\u0275property(\"id\",·ctx.id)(\"formlyAttributes\",·ctx.field)(\"tabIndex\",·ctx.props.tabindex)(\"color\",·ctx.props.color)(\"displayWith\",·ctx.props.displayWith)(\"max\",·ctx.props.max)(\"min\",·ctx.props.min)(\"step\",·ctx.props.step)(\"discrete\",·ctx.props.discrete)(\"showTickMarks\",·ctx.props.showTickMarks)(\"step\",·ctx.props.step);\n············i0.\u0275\u0275advance();\n············i0.\u0275\u0275property(\"formControl\",·ctx.formControl)(\"formlyAttributes\",·ctx.field);\n··········}\n········},\n········dependencies:·[i1.DefaultValueAccessor,·i1.NgControlStatus,·i1.FormControlDirective,·i2.MatSlider,·i2.MatSliderThumb,·i3.LegacyFormlyAttributes],\n········encapsulation:·2,\n········changeDetection:·0\n······});\n····}\n··}\n··return·FormlyFieldSlider;\n})();\n(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nfunction·withFormlyFieldSlider()·{\n··return·{\n····types:·[{\n······name:·'slider',\n······component:·FormlyFieldSlider,\n······wrappers:·['form-field']\n····}]\n··};\n}\nlet·FormlyMatSliderModule·=·/*#__PURE__*/(()·=>·{\n··class·FormlyMatSliderModule·{\n····static·{\n······this.\u0275fac·=·function·FormlyMatSliderModule_Factory(__ngFactoryType__)·{\n········return·new·(__ngFactoryType__·||·FormlyMatSliderModule)();\n······};\n····}\n····static·{\n······this.\u0275mod·=·/*·@__PURE__·*/i0.\u0275\u0275defineNgModule({\n········type:·FormlyMatSliderModule\n······});\n····}\n····static·{\n······this.\u0275inj·=·/*·@__PURE__·*/i0.\u0275\u0275defineInjector({\n········imports:·[CommonModule,·MatCommonModule,·MatRippleModule,·ReactiveFormsModule,·MatSliderModule,·FormlyMatFormFieldModule,·FormlyModule.forChild(withFormlyFieldSlider())]\n······});\n····}\n··}\n··return·FormlyMatSliderModule;\n})();\n(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\n\n/**\n·*·Generated·bundle·index.·Do·not·edit.\n·*/\n\nexport·{·FormlyFieldSlider,·FormlyMatSliderModule,·withFormlyFieldSlider·};\n",4706 ········"import·*·as·i0·from·'@angular/core';\nimport·{·ChangeDetectionStrategy,·Component,·NgModule·}·from·'@angular/core';\nimport·{·FieldType,·FormlyMatFormFieldModule·}·from·'@ngx-formly/material/form-field';\nimport·*·as·i1·from·'@angular/forms';\nimport·{·ReactiveFormsModule·}·from·'@angular/forms';\nimport·*·as·i2·from·'@angular/material/slider';\nimport·{·MatSliderModule·}·from·'@angular/material/slider';\nimport·*·as·i3·from·'@ngx-formly/core';\nimport·{·FormlyModule·}·from·'@ngx-formly/core';\nimport·{·CommonModule·}·from·'@angular/common';\nimport·{·MatCommonModule,·MatRippleModule·}·from·'@angular/material/core';\nlet·FormlyFieldSlider·=·/*#__PURE__*/(()·=>·{\n··class·FormlyFieldSlider·extends·FieldType·{\n····constructor()·{\n······super(...arguments);\n······this.defaultOptions·=·{\n········props:·{\n··········hideFieldUnderline:·true,\n··········floatLabel:·'always',\n··········displayWith:·value·=>·`${value}`\n········}\n······};\n····}\n····static·{\n······this.\u0275fac·=·/*·@__PURE__·*/(()·=>·{\n········let·\u0275FormlyFieldSlider_BaseFactory;\n········return·function·FormlyFieldSlider_Factory(__ngFactoryType__)·{\n··········return·(\u0275FormlyFieldSlider_BaseFactory·||·(\u0275FormlyFieldSlider_BaseFactory·=·i0.\u0275\u0275getInheritedFactory(FormlyFieldSlider)))(__ngFactoryType__·||·FormlyFieldSlider);\n········};\n······})();\n····}\n····static·{\n······this.\u0275cmp·=·/*·@__PURE__·*/i0.\u0275\u0275defineComponent({\n········type:·FormlyFieldSlider,\n········selectors:·[[\"formly-field-mat-slider\"]],\n········standalone:·false,\n········features:·[i0.\u0275\u0275InheritDefinitionFeature],\n········decls:·2,\n········vars:·15,\n········consts:·[[3,·\"input\",·\"change\",·\"id\",·\"formlyAttributes\",·\"tabIndex\",·\"color\",·\"displayWith\",·\"max\",·\"min\",·\"step\",·\"discrete\",·\"showTickMarks\"],·[\"matSliderThumb\",·\"\",·3,·\"formControl\",·\"formlyAttributes\"]],\n········template:·function·FormlyFieldSlider_Template(rf,·ctx)·{\n··········if·(rf·&·1)·{\n············i0.\u0275\u0275elementStart(0,·\"mat-slider\",·0);\n············i0.\u0275\u0275listener(\"input\",·function·FormlyFieldSlider_Template_mat_slider_input_0_listener($event)·{\n··············return·ctx.props.input·&&·ctx.props.input(ctx.field,·$event);\n············})(\"change\",·function·FormlyFieldSlider_Template_mat_slider_change_0_listener($event)·{\n··············return·ctx.props.change·&&·ctx.props.change(ctx.field,·$event);\n············});\n············i0.\u0275\u0275element(1,·\"input\",·1);\n············i0.\u0275\u0275elementEnd();\n··········}\n··········if·(rf·&·2)·{\n············i0.\u0275\u0275styleProp(\"width\",·\"100%\");\n············i0.\u0275\u0275property(\"id\",·ctx.id)(\"formlyAttributes\",·ctx.field)(\"tabIndex\",·ctx.props.tabindex)(\"color\",·ctx.props.color)(\"displayWith\",·ctx.props.displayWith)(\"max\",·ctx.props.max)(\"min\",·ctx.props.min)(\"step\",·ctx.props.step)(\"discrete\",·ctx.props.discrete)(\"showTickMarks\",·ctx.props.showTickMarks)(\"step\",·ctx.props.step);\n············i0.\u0275\u0275advance();\n············i0.\u0275\u0275property(\"formControl\",·ctx.formControl)(\"formlyAttributes\",·ctx.field);\n··········}\n········},\n········dependencies:·[i1.DefaultValueAccessor,·i1.NgControlStatus,·i1.FormControlDirective,·i2.MatSlider,·i2.MatSliderThumb,·i3.LegacyFormlyAttributes],\n········encapsulation:·2,\n········changeDetection:·0\n······});\n····}\n··}\n··return·FormlyFieldSlider;\n})();\n(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nfunction·withFormlyFieldSlider()·{\n··return·{\n····types:·[{\n······name:·'slider',\n······component:·FormlyFieldSlider,\n······wrappers:·['form-field']\n····}]\n··};\n}\nlet·FormlyMatSliderModule·=·/*#__PURE__*/(()·=>·{\n··class·FormlyMatSliderModule·{\n····static·{\n······this.\u0275fac·=·function·FormlyMatSliderModule_Factory(__ngFactoryType__)·{\n········return·new·(__ngFactoryType__·||·FormlyMatSliderModule)();\n······};\n····}\n····static·{\n······this.\u0275mod·=·/*·@__PURE__·*/i0.\u0275\u0275defineNgModule({\n········type:·FormlyMatSliderModule\n······});\n····}\n····static·{\n······this.\u0275inj·=·/*·@__PURE__·*/i0.\u0275\u0275defineInjector({\n········imports:·[CommonModule,·MatCommonModule,·MatRippleModule,·ReactiveFormsModule,·MatSliderModule,·FormlyMatFormFieldModule,·FormlyModule.forChild(withFormlyFieldSlider())]\n······});\n····}\n··}\n··return·FormlyMatSliderModule;\n})();\n(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\n\n/**\n·*·Generated·bundle·index.·Do·not·edit.\n·*/\n\nexport·{·FormlyFieldSlider,·FormlyMatSliderModule,·withFormlyFieldSlider·};\n",
4707 ········"import·{\n··ChangeDetectionStrategy,\n··Component,\n··computed,\n··DestroyRef,\n··ElementRef,\n··inject,\n··input,\n··output,\n··signal,\n··viewChild,\n}·from·'@angular/core';\nimport·{\n··MatAutocomplete,\n··MatAutocompleteSelectedEvent,\n··MatAutocompleteTrigger,\n··MatOption,\n}·from·'@angular/material/autocomplete';\nimport·{\n··MatChipGrid,\n··MatChipInput,\n··MatChipInputEvent,\n··MatChipRemove,\n··MatChipRow,\n}·from·'@angular/material/chips';\nimport·{·MatIcon·}·from·'@angular/material/icon';\nimport·{·ReactiveFormsModule,·UntypedFormControl·}·from·'@angular/forms';\nimport·{·COMMA,·ENTER·}·from·'@angular/cdk/keycodes';\nimport·{·T·}·from·'../../../t.const';\nimport·{·TagService·}·from·'../tag.service';\nimport·{·TaskService·}·from·'../../tasks/task.service';\nimport·{·TaskCopy·}·from·'../../tasks/task.model';\nimport·{·TagComponent·}·from·'../tag/tag.component';\nimport·{·TranslatePipe·}·from·'@ngx-translate/core';\nimport·{·TODAY_TAG·}·from·'../tag.const';\nimport·{·takeUntilDestroyed·}·from·'@angular/core/rxjs-interop';\n\ninterface·Suggestion·{\n··id:·string;\n··title:·string;\n\n··[key:·string]:·any;\n}\n\nconst·DEFAULT_SEPARATOR_KEY_CODES:·number[]·=·[ENTER,·COMMA];\n\n@Component({\n··selector:·'tag-edit',\n··standalone:·true,\n··imports:·[\n····MatAutocomplete,\n····MatAutocompleteTrigger,\n····MatChipGrid,\n····MatChipInput,\n····MatChipRow,\n····MatIcon,\n····MatChipRemove,\n····TagComponent,\n····ReactiveFormsModule,\n····MatOption,\n····TranslatePipe,\n··],\n··templateUrl:·'./tag-edit.component.html',\n··styleUrl:·'./tag-edit.component.scss',\n··changeDetection:·ChangeDetectionStrategy.OnPush,\n})\nexport·class·TagEditComponent·{\n··T:·typeof·T·=·T;\n\n··private·_tagService·=·inject(TagService);\n··private·_taskService·=·inject(TaskService);\n··private·readonly·_destroyRef·=·inject(DestroyRef);\n\n··task·=·input<TaskCopy>();\n··isShowMyDayTag·=·input<boolean>(false);\n··tagIds·=·input.required<string[]>();\n··excludedTagIds·=·input<string[]>();\n··tagUpdate·=·output<string[]>();\n\n··escapePress·=·output<void>();\n\n··inputCtrl:·UntypedFormControl·=·new·UntypedFormControl();\n··separatorKeysCodes:·number[]·=·DEFAULT_SEPARATOR_KEY_CODES;\n\n··readonly·inputEl·=·viewChild<ElementRef<HTMLInputElement>>('inputElRef');\n··readonly·matAutocomplete·=·viewChild<MatAutocomplete>('autoElRef');\n\n··inputVal·=·signal<string>('');\n··tagSuggestions·=·computed(()·=>\n····this.isShowMyDayTag()\n······?·this._tagService.tagsSortedForUI()\n······:·this._tagService.tagsNoMyDayAndNoListSorted(),\n··);\n\n··constructor()·{\n····this.inputCtrl.valueChanges\n······.pipe(takeUntilDestroyed(this._destroyRef))\n······.subscribe((value:·string·|·null)·=>·{\n········this.inputVal.set(value·??·'');\n······});\n··}\n\n··allExcludedTagIds·=·computed<string[]>(()·=>·[\n····...this.tagIds(),\n····...(this.excludedTagIds()·||·[]),\n····TODAY_TAG.id,\n··]);\n··filteredSuggestions·=·computed(()·=>·{\n····const·val·=·this.inputVal();\n····const·allExcludedTagIds·=·this.allExcludedTagIds();\n\n····if·(!val)·{\n······return·this.tagSuggestions().filter(\n········(suggestion)·=>·!allExcludedTagIds.includes(suggestion.id),\n······);\n····}\n····const·filterValue·=·val.toLowerCase();\n\n····return·this.tagSuggestions().filter(\n······(suggestion)·=>\n········suggestion.title.toLowerCase().indexOf(filterValue)·===·0·&&\n········!allExcludedTagIds.includes(suggestion.id),\n····);\n··});\n\n··tagItems·=·computed<Suggestion[]>(()·=>·{\n····const·suggestions·=·this.tagSuggestions();\n····return·suggestions.length\n······?·(this.tagIds()\n··········.map((id)·=>·suggestions.find((suggestion)·=>·suggestion.id·===·id))\n··········.filter((v)·=>·v)·as·Suggestion[])\n······:·[];\n··});\n\n··add(event:·MatChipInputEvent):·void·{\n····const·matAutocomplete·=·this.matAutocomplete();\n····if·(!matAutocomplete)·{\n······throw·new·Error('Auto·complete·undefined');\n····}\n\n····if·(!matAutocomplete.isOpen)·{\n······const·inp·=·event.input;\n······const·value·=·event.value;\n\n······//·Add·our·fruit\n······if·((value·||·'').trim())·{\n········this._addByTitle(value.trim());\n······}\n\n······inp.value·=·'';\n\n······this.inputCtrl.setValue(null);\n····}\n··}\n\n··onKeydown(event:·KeyboardEvent):·void·{\n····if·(event.code·===·'Escape')·{\n······this.escapePress.emit();\n····}\n··}\n\n··focusInput():·void·{\n····const·inputEl·=·this.inputEl();\n····if·(inputEl)·{\n······inputEl.nativeElement.focus();\n····}\n··}\n\n··remove(id:·string):·void·{\n····this._updateModel(this.tagIds().filter((tid)·=>·tid·!==·id));\n··}\n\n··selected(event:·MatAutocompleteSelectedEvent):·void·{\n····this._add(event.option.value);\n····const·inputEl·=·this.inputEl();\n····if·(inputEl)·{\n······inputEl.nativeElement.value·=·'';\n····}\n····this.inputCtrl.setValue(null);\n··}\n\n··private·_updateModel(v:·string[]):·void·{\n····this.tagUpdate.emit(v);\n····const·task·=·this.task();\n····if·(task)·{\n······this._taskService.updateTags(task,·v);\n····}\n··}\n\n··private·_getExistingSuggestionByTitle(v:·string):·Suggestion·|·undefined·{\n····return·this.tagSuggestions().find((suggestion)·=>·suggestion.title·===·v);\n··}\n\n··private·_add(id:·string):·void·{\n····//·prevent·double·items\n····if·(!this.tagIds().includes(id))·{\n······this._updateModel([...this.tagIds(),·id]);\n····}\n··}\n\n··private·_addByTitle(v:·string):·void·{\n····const·existing·=·this._getExistingSuggestionByTitle(v);\n····if·(existing)·{\n······if·(!this.allExcludedTagIds().includes(existing.id))·{\n········this._add(existing.id);\n······}\n····}·else·{\n······this._createNewTag(v);\n····}\n··}\n\n··private·_createNewTag(title:·string):·void·{\n····const·cleanTitle·=·(t:·string):·string·=>·{\n······return·t.replace('#',·'');\n····};\n\n····const·id·=·this._tagService.addTag({·title:·cleanTitle(title)·});\n····this._add(id);\n··}\n\n··protected·readonly·onkeydown·=·onkeydown;\n}\n",4707 ········"import·{\n··ChangeDetectionStrategy,\n··Component,\n··computed,\n··DestroyRef,\n··ElementRef,\n··inject,\n··input,\n··output,\n··signal,\n··viewChild,\n}·from·'@angular/core';\nimport·{\n··MatAutocomplete,\n··MatAutocompleteSelectedEvent,\n··MatAutocompleteTrigger,\n··MatOption,\n}·from·'@angular/material/autocomplete';\nimport·{\n··MatChipGrid,\n··MatChipInput,\n··MatChipInputEvent,\n··MatChipRemove,\n··MatChipRow,\n}·from·'@angular/material/chips';\nimport·{·MatIcon·}·from·'@angular/material/icon';\nimport·{·ReactiveFormsModule,·UntypedFormControl·}·from·'@angular/forms';\nimport·{·COMMA,·ENTER·}·from·'@angular/cdk/keycodes';\nimport·{·T·}·from·'../../../t.const';\nimport·{·TagService·}·from·'../tag.service';\nimport·{·TaskService·}·from·'../../tasks/task.service';\nimport·{·TaskCopy·}·from·'../../tasks/task.model';\nimport·{·TagComponent·}·from·'../tag/tag.component';\nimport·{·TranslatePipe·}·from·'@ngx-translate/core';\nimport·{·TODAY_TAG·}·from·'../tag.const';\nimport·{·takeUntilDestroyed·}·from·'@angular/core/rxjs-interop';\n\ninterface·Suggestion·{\n··id:·string;\n··title:·string;\n\n··[key:·string]:·any;\n}\n\nconst·DEFAULT_SEPARATOR_KEY_CODES:·number[]·=·[ENTER,·COMMA];\n\n@Component({\n··selector:·'tag-edit',\n··standalone:·true,\n··imports:·[\n····MatAutocomplete,\n····MatAutocompleteTrigger,\n····MatChipGrid,\n····MatChipInput,\n····MatChipRow,\n····MatIcon,\n····MatChipRemove,\n····TagComponent,\n····ReactiveFormsModule,\n····MatOption,\n····TranslatePipe,\n··],\n··templateUrl:·'./tag-edit.component.html',\n··styleUrl:·'./tag-edit.component.scss',\n··changeDetection:·ChangeDetectionStrategy.OnPush,\n})\nexport·class·TagEditComponent·{\n··T:·typeof·T·=·T;\n\n··private·_tagService·=·inject(TagService);\n··private·_taskService·=·inject(TaskService);\n··private·readonly·_destroyRef·=·inject(DestroyRef);\n\n··task·=·input<TaskCopy>();\n··isShowMyDayTag·=·input<boolean>(false);\n··tagIds·=·input.required<string[]>();\n··excludedTagIds·=·input<string[]>();\n··tagUpdate·=·output<string[]>();\n\n··escapePress·=·output<void>();\n\n··inputCtrl:·UntypedFormControl·=·new·UntypedFormControl();\n··separatorKeysCodes:·number[]·=·DEFAULT_SEPARATOR_KEY_CODES;\n\n··readonly·inputEl·=·viewChild<ElementRef<HTMLInputElement>>('inputElRef');\n··readonly·matAutocomplete·=·viewChild<MatAutocomplete>('autoElRef');\n\n··inputVal·=·signal<string>('');\n··tagSuggestions·=·computed(()·=>\n····this.isShowMyDayTag()\n······?·this._tagService.tagsSortedForUI()\n······:·this._tagService.tagsNoMyDayAndNoListSorted(),\n··);\n\n··constructor()·{\n····this.inputCtrl.valueChanges\n······.pipe(takeUntilDestroyed(this._destroyRef))\n······.subscribe((value:·string·|·null)·=>·{\n········this.inputVal.set(value·??·'');\n······});\n··}\n\n··allExcludedTagIds·=·computed<string[]>(()·=>·[\n····...this.tagIds(),\n····...(this.excludedTagIds()·||·[]),\n····TODAY_TAG.id,\n··]);\n··filteredSuggestions·=·computed(()·=>·{\n····const·val·=·this.inputVal();\n····const·allExcludedTagIds·=·this.allExcludedTagIds();\n\n····if·(!val)·{\n······return·this.tagSuggestions().filter(\n········(suggestion)·=>·!allExcludedTagIds.includes(suggestion.id),\n······);\n····}\n····const·filterValue·=·val.toLowerCase();\n\n····return·this.tagSuggestions().filter(\n······(suggestion)·=>\n········suggestion.title.toLowerCase().indexOf(filterValue)·===·0·&&\n········!allExcludedTagIds.includes(suggestion.id),\n····);\n··});\n\n··tagItems·=·computed<Suggestion[]>(()·=>·{\n····const·suggestions·=·this.tagSuggestions();\n····return·suggestions.length\n······?·(this.tagIds()\n··········.map((id)·=>·suggestions.find((suggestion)·=>·suggestion.id·===·id))\n··········.filter((v)·=>·v)·as·Suggestion[])\n······:·[];\n··});\n\n··add(event:·MatChipInputEvent):·void·{\n····const·matAutocomplete·=·this.matAutocomplete();\n····if·(!matAutocomplete)·{\n······throw·new·Error('Auto·complete·undefined');\n····}\n\n····if·(!matAutocomplete.isOpen)·{\n······const·inp·=·event.input;\n······const·value·=·event.value;\n\n······//·Add·our·fruit\n······if·((value·||·'').trim())·{\n········this._addByTitle(value.trim());\n······}\n\n······inp.value·=·'';\n\n······this.inputCtrl.setValue(null);\n····}\n··}\n\n··onKeydown(event:·KeyboardEvent):·void·{\n····if·(event.code·===·'Escape')·{\n······this.escapePress.emit();\n····}\n··}\n\n··focusInput():·void·{\n····const·inputEl·=·this.inputEl();\n····if·(inputEl)·{\n······inputEl.nativeElement.focus();\n····}\n··}\n\n··remove(id:·string):·void·{\n····this._updateModel(this.tagIds().filter((tid)·=>·tid·!==·id));\n··}\n\n··selected(event:·MatAutocompleteSelectedEvent):·void·{\n····this._add(event.option.value);\n····const·inputEl·=·this.inputEl();\n····if·(inputEl)·{\n······inputEl.nativeElement.value·=·'';\n····}\n····this.inputCtrl.setValue(null);\n··}\n\n··private·_updateModel(v:·string[]):·void·{\n····this.tagUpdate.emit(v);\n····const·task·=·this.task();\n····if·(task)·{\n······this._taskService.updateTags(task,·v);\n····}\n··}\n\n··private·_getExistingSuggestionByTitle(v:·string):·Suggestion·|·undefined·{\n····return·this.tagSuggestions().find((suggestion)·=>·suggestion.title·===·v);\n··}\n\n··private·_add(id:·string):·void·{\n····//·prevent·double·items\n····if·(!this.tagIds().includes(id))·{\n······this._updateModel([...this.tagIds(),·id]);\n····}\n··}\n\n··private·_addByTitle(v:·string):·void·{\n····const·existing·=·this._getExistingSuggestionByTitle(v);\n····if·(existing)·{\n······if·(!this.allExcludedTagIds().includes(existing.id))·{\n········this._add(existing.id);\n······}\n····}·else·{\n······this._createNewTag(v);\n····}\n··}\n\n··private·_createNewTag(title:·string):·void·{\n····const·cleanTitle·=·(t:·string):·string·=>·{\n······return·t.replace('#',·'');\n····};\n\n····const·id·=·this._tagService.addTag({·title:·cleanTitle(title)·});\n····this._add(id);\n··}\n\n··protected·readonly·onkeydown·=·onkeydown;\n}\n",
4708 ········"<mat-chip-grid·#chipListElRef>\n··@for·(modelItem·of·tagItems();·track·modelItem.id)·{\n····<mat-chip-row\n······(removed)=\"remove(modelItem.id)\"\n······[removable]=\"true\"\n····>\n······<tag·[tag]=\"modelItem\"></tag>\n\n······<mat-icon\n········[title]=\"T.G.REMOVE·|·translate\"\n········matChipRemove\n········>cancel\n······</mat-icon>\n····</mat-chip-row>\n··}\n··<input\n····#inputElRef\n····(matChipInputTokenEnd)=\"add($event)\"\n····[formControl]=\"inputCtrl\"\n····[matAutocomplete]=\"autoElRef\"\n····[matChipInputAddOnBlur]=\"true\"\n····[matChipInputFor]=\"chipListElRef\"\n····[matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n····(keydown)=\"onKeydown($event)\"\n····[placeholder]=\"'+·Add·Tag'\"\n··/>\n</mat-chip-grid>\n<mat-autocomplete\n··#autoElRef=\"matAutocomplete\"\n··(optionSelected)=\"selected($event)\"\n>\n··@for·(suggestion·of·filteredSuggestions();·track·suggestion.id)·{\n····<mat-option·[value]=\"suggestion.id\">\n······<tag·[tag]=\"suggestion\"></tag>\n····</mat-option>\n··}\n</mat-autocomplete>\n",4708 ········"<mat-chip-grid·#chipListElRef>\n··@for·(modelItem·of·tagItems();·track·modelItem.id)·{\n····<mat-chip-row\n······(removed)=\"remove(modelItem.id)\"\n······[removable]=\"true\"\n····>\n······<tag·[tag]=\"modelItem\"></tag>\n\n······<mat-icon\n········[title]=\"T.G.REMOVE·|·translate\"\n········matChipRemove\n········>cancel\n······</mat-icon>\n····</mat-chip-row>\n··}\n··<input\n····#inputElRef\n····(matChipInputTokenEnd)=\"add($event)\"\n····[formControl]=\"inputCtrl\"\n····[matAutocomplete]=\"autoElRef\"\n····[matChipInputAddOnBlur]=\"true\"\n····[matChipInputFor]=\"chipListElRef\"\n····[matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n····(keydown)=\"onKeydown($event)\"\n····[placeholder]=\"'+·Add·Tag'\"\n··/>\n</mat-chip-grid>\n<mat-autocomplete\n··#autoElRef=\"matAutocomplete\"\n··(optionSelected)=\"selected($event)\"\n>\n··@for·(suggestion·of·filteredSuggestions();·track·suggestion.id)·{\n····<mat-option·[value]=\"suggestion.id\">\n······<tag·[tag]=\"suggestion\"></tag>\n····</mat-option>\n··}\n</mat-autocomplete>\n",
4709 ········"import·{·ChangeDetectionStrategy,·Component·}·from·'@angular/core';\nimport·{·FormsModule,·ReactiveFormsModule·}·from·'@angular/forms';\nimport·{·FieldType·}·from·'@ngx-formly/material';\nimport·{·FormlyFieldConfig,·FormlyModule·}·from·'@ngx-formly/core';\nimport·{·T·}·from·'src/app/t.const';\nimport·{·TagEditComponent·}·from·'../../features/tag/tag-edit/tag-edit.component';\n\n@Component({\n··selector:·'formly-tag-selection',\n··standalone:·true,\n··imports:·[FormsModule,·FormlyModule,·ReactiveFormsModule,·TagEditComponent],\n··templateUrl:·'./formly-tag-selection.component.html',\n··styleUrl:·'./formly-tag-selection.component.scss',\n··changeDetection:·ChangeDetectionStrategy.OnPush,\n})\nexport·class·FormlyTagSelectionComponent·extends·FieldType<FormlyFieldConfig>·{\n··T:·typeof·T·=·T;\n}\n",4709 ········"import·{·ChangeDetectionStrategy,·Component·}·from·'@angular/core';\nimport·{·FormsModule,·ReactiveFormsModule·}·from·'@angular/forms';\nimport·{·FieldType·}·from·'@ngx-formly/material';\nimport·{·FormlyFieldConfig,·FormlyModule·}·from·'@ngx-formly/core';\nimport·{·T·}·from·'src/app/t.const';\nimport·{·TagEditComponent·}·from·'../../features/tag/tag-edit/tag-edit.component';\n\n@Component({\n··selector:·'formly-tag-selection',\n··standalone:·true,\n··imports:·[FormsModule,·FormlyModule,·ReactiveFormsModule,·TagEditComponent],\n··templateUrl:·'./formly-tag-selection.component.html',\n··styleUrl:·'./formly-tag-selection.component.scss',\n··changeDetection:·ChangeDetectionStrategy.OnPush,\n})\nexport·class·FormlyTagSelectionComponent·extends·FieldType<FormlyFieldConfig>·{\n··T:·typeof·T·=·T;\n}\n",
4710 ········"<tag-edit\n··[isShowMyDayTag]=\"true\"\n··[tagIds]=\"value\"\n··[excludedTagIds]=\"field.templateOptions?.excludedTagIds\"\n··(tagUpdate)=\"formControl.setValue($event)\"\n></tag-edit>\n\n<!--<pre><code>{{value|json}}</code></pre>-->\n<!--<pre><code>{{field|json}}</code></pre>-->\n",4710 ········"<tag-edit\n··[isShowMyDayTag]=\"true\"\n··[tagIds]=\"value\"\n··[excludedTagIds]=\"field.templateOptions?.excludedTagIds\"\n··(tagUpdate)=\"formControl.setValue($event)\"\n></tag-edit>\n\n<!--<pre><code>{{value|json}}</code></pre>-->\n<!--<pre><code>{{field|json}}</code></pre>-->\n",
4711 ········"import·{·ChangeDetectionStrategy,·Component·}·from·'@angular/core';\nimport·{·FormlyFieldConfig,·FormlyModule·}·from·'@ngx-formly/core';\nimport·{·FieldType·}·from·'@ngx-formly/material';\nimport·{·MatButton·}·from·'@angular/material/button';\nimport·{·TranslatePipe·}·from·'@ngx-translate/core';\nimport·{·Log·}·from·'../../core/log';\n\n@Component({\n··selector:·'formly-btn',\n··templateUrl:·'./formly-btn.component.html',\n··styleUrl:·'./formly-btn.component.scss',\n··changeDetection:·ChangeDetectionStrategy.OnPush,\n··imports:·[FormlyModule,·MatButton,·TranslatePipe],\n})\nexport·class·FormlyBtnComponent·extends·FieldType<FormlyFieldConfig>·{\n··onClick():·void·{\n····if·(this.to.onClick)·{\n······const·r·=·this.to.onClick(this.field,·this.form,·this.model);\n······if·(r·&&·'then'·in·r)·{\n········r.then((v)·=>·{\n··········Log.log('update',·v,·this);\n··········this.formControl.setValue(v);\n··········this.form.markAsDirty();\n········});\n······}·else·{\n········this.formControl.setValue(r);\n······}\n····}\n··}\n}\n",4711 ········"import·{·ChangeDetectionStrategy,·Component·}·from·'@angular/core';\nimport·{·FormlyFieldConfig,·FormlyModule·}·from·'@ngx-formly/core';\nimport·{·FieldType·}·from·'@ngx-formly/material';\nimport·{·MatButton·}·from·'@angular/material/button';\nimport·{·TranslatePipe·}·from·'@ngx-translate/core';\nimport·{·Log·}·from·'../../core/log';\n\n@Component({\n··selector:·'formly-btn',\n··templateUrl:·'./formly-btn.component.html',\n··styleUrl:·'./formly-btn.component.scss',\n··changeDetection:·ChangeDetectionStrategy.OnPush,\n··imports:·[FormlyModule,·MatButton,·TranslatePipe],\n})\nexport·class·FormlyBtnComponent·extends·FieldType<FormlyFieldConfig>·{\n··onClick():·void·{\n····if·(this.to.onClick)·{\n······const·r·=·this.to.onClick(this.field,·this.form,·this.model);\n······if·(r·&&·'then'·in·r)·{\n········r.then((v)·=>·{\n··········Log.log('update',·v,·this);\n··········this.formControl.setValue(v);\n··········this.form.markAsDirty();\n········});\n······}·else·{\n········this.formControl.setValue(r);\n······}\n····}\n··}\n}\n",
4712 ········"@if·(value)·{\n··<div·class=\"value\">{{·value·}}</div>\n}\n<button\n··mat-flat-button\n··(click)=\"onClick()\"\n>\n··{{·(to.text·|·translate)·||·'Click·Me'·}}\n</button>\n",4712 ········"@if·(value)·{\n··<div·class=\"value\">{{·value·}}</div>\n}\n<button\n··mat-flat-button\n··(click)=\"onClick()\"\n>\n··{{·(to.text·|·translate)·||·'Click·Me'·}}\n</button>\n",
4713 ········"//·This·file·is·auto-generated·by·tools/load-env.js\n//·Do·not·modify·directly·-·edit·.env·file·instead\n//·Generated·at:·2025-11-05T12:20:53.532Z\n\n/**\n·*·Environment·variables·loaded·from·.env·file\n·*·Access·these·constants·instead·of·process.env·in·your·Angular·app\n·*/\nexport·const·ENV·=·{\n\n}·as·const;\n\n//·Type-safe·helper·to·ensure·all·expected·env·vars·are·defined\nexport·type·EnvVars·=·typeof·ENV;\n",4713 ········"//·This·file·is·auto-generated·by·tools/load-env.js\n//·Do·not·modify·directly·-·edit·.env·file·instead\n//·Generated·at:·2025-11-08T23:51:49.158Z\n\n/**\n·*·Environment·variables·loaded·from·.env·file\n·*·Access·these·constants·instead·of·process.env·in·your·Angular·app\n·*/\nexport·const·ENV·=·{\n\n}·as·const;\n\n//·Type-safe·helper·to·ensure·all·expected·env·vars·are·defined\nexport·type·EnvVars·=·typeof·ENV;\n",
4714 ········"/**\n·*·Pure·functions·for·accessing·environment·variables.\n·*·These·can·be·used·anywhere·in·the·codebase,·including·outside·Angular·context.\n·*/\n\n//·Import·the·generated·environment·constants\n//·This·file·is·auto-generated·from·.env·by·tools/load-env.js\nimport·{·ENV·}·from·'../config/env.generated';\n\n/**\n·*·Get·an·environment·variable·value.\n·*·Returns·undefined·if·the·variable·is·not·set.\n·*/\nexport·const·getEnv·=·(key:·keyof·typeof·ENV):·string·|·undefined·=>·{\n··return·ENV[key]·||·undefined;\n};\n\n/**\n·*·Get·an·optional·environment·variable·that·may·not·be·in·the·required·list.\n·*·Use·this·for·environment·variables·that·are·truly·optional·and·may·not·be·defined\n·*·in·the·REQUIRED_ENV_KEYS·list·in·load-env.js.\n·*·Returns·undefined·if·the·variable·is·not·set.\n·*/\nexport·const·getEnvOptional·=·(key:·string):·string·|·undefined·=>·{\n··return·(ENV·as·any)[key]·||·undefined;\n};\n\n/**\n·*·Get·an·environment·variable·as·a·number.\n·*·Returns·undefined·if·the·value·is·not·a·valid·number.\n·*/\nexport·const·getEnvNumber·=·(key:·keyof·typeof·ENV):·number·|·undefined·=>·{\n··const·value·=·getEnv(key);\n··if·(value·===·undefined)·return·undefined;\n··const·num·=·Number(value);\n··return·isNaN(num)·?·undefined·:·num;\n};\n\n/**\n·*·Get·all·environment·variables·as·an·object.\n·*·Useful·for·debugging·or·passing·multiple·values.\n·*/\nexport·const·getAllEnv·=·():·typeof·ENV·=>·ENV;\n",4714 ········"/**\n·*·Pure·functions·for·accessing·environment·variables.\n·*·These·can·be·used·anywhere·in·the·codebase,·including·outside·Angular·context.\n·*/\n\n//·Import·the·generated·environment·constants\n//·This·file·is·auto-generated·from·.env·by·tools/load-env.js\nimport·{·ENV·}·from·'../config/env.generated';\n\n/**\n·*·Get·an·environment·variable·value.\n·*·Returns·undefined·if·the·variable·is·not·set.\n·*/\nexport·const·getEnv·=·(key:·keyof·typeof·ENV):·string·|·undefined·=>·{\n··return·ENV[key]·||·undefined;\n};\n\n/**\n·*·Get·an·optional·environment·variable·that·may·not·be·in·the·required·list.\n·*·Use·this·for·environment·variables·that·are·truly·optional·and·may·not·be·defined\n·*·in·the·REQUIRED_ENV_KEYS·list·in·load-env.js.\n·*·Returns·undefined·if·the·variable·is·not·set.\n·*/\nexport·const·getEnvOptional·=·(key:·string):·string·|·undefined·=>·{\n··return·(ENV·as·any)[key]·||·undefined;\n};\n\n/**\n·*·Get·an·environment·variable·as·a·number.\n·*·Returns·undefined·if·the·value·is·not·a·valid·number.\n·*/\nexport·const·getEnvNumber·=·(key:·keyof·typeof·ENV):·number·|·undefined·=>·{\n··const·value·=·getEnv(key);\n··if·(value·===·undefined)·return·undefined;\n··const·num·=·Number(value);\n··return·isNaN(num)·?·undefined·:·num;\n};\n\n/**\n·*·Get·all·environment·variables·as·an·object.\n·*·Useful·for·debugging·or·passing·multiple·values.\n·*/\nexport·const·getAllEnv·=·():·typeof·ENV·=>·ENV;\n",
4715 ········"import·{·Injectable,·inject·}·from·'@angular/core';\nimport·{·HttpClient·}·from·'@angular/common/http';\nimport·{·Observable,·of·}·from·'rxjs';\nimport·{·catchError·}·from·'rxjs/operators';\nimport·{·getEnvOptional·}·from·'../../util/env';\n\nexport·interface·UnsplashPhoto·{\n··id:·string;\n··urls:·{\n····raw:·string;\n····full:·string;\n····regular:·string;\n····small:·string;\n····thumb:·string;\n··};\n··links?:·{\n····self?:·string;\n····html?:·string;\n····download?:·string;\n····download_location?:·string;\n··};\n··description:·string·|·null;\n··alt_description:·string·|·null;\n··user:·{\n····name:·string;\n····links?:·{\n······html?:·string;\n····};\n··};\n}\n\nexport·interface·UnsplashSearchResponse·{\n··results:·UnsplashPhoto[];\n··total:·number;\n··total_pages:·number;\n}\n\n@Injectable({\n··providedIn:·'root',\n})\nexport·class·UnsplashService·{\n··private·_http·=·inject(HttpClient);\n\n··private·readonly·API_URL·=·'https://api.unsplash.com';\n··//·Register·your·app·at·https://unsplash.com/developers?utm_source=super-productivity&utm_medium=referral&utm_campaign=api-credit·for·a·free·Access·Key·(50·req/hour)\n··//·The·Access·Key·is·used·with·\"Client-ID\"·prefix·in·the·Authorization·header\n··private·readonly·ACCESS_KEY·=·getEnvOptional('UNSPLASH_KEY');\n\n··isAvailable():·boolean·{\n····return·!!this.ACCESS_KEY;\n··}\n\n··searchPhotos(query:·string,·page·=·1):·Observable<UnsplashSearchResponse>·{\n····if·(!query·||·query.trim()·===·'')·{\n······return·of({·results:·[],·total:·0,·total_pages:·0·});\n····}\n\n····if·(!this.ACCESS_KEY)·{\n······console.warn(\n········'No·Unsplash·Access·Key·configured.·Register·at·https://unsplash.com/developers?utm_source=super-productivity&utm_medium=referral&utm_campaign=api-credit',\n······);\n······return·of({·results:·[],·total:·0,·total_pages:·0·});\n····}\n\n····const·params·=·{\n······query:·query.trim(),\n······page:·page.toString(),\n······per_page:·'20',\n······orientation:·'landscape',\n····};\n\n····const·url·=·`${this.API_URL}/search/photos`;\n····const·headers·=·{\n······Authorization:·`Client-ID·${this.ACCESS_KEY}`,\n····};\n\n····return·this._http\n······.get<UnsplashSearchResponse>(url,·{\n········params,\n········headers,\n······})\n······.pipe(\n········catchError((error)·=>·{\n··········console.error('Unsplash·API·error:',·error);\n··········return·of({·results:·[],·total:·0,·total_pages:·0·});\n········}),\n······);\n··}\n\n··getPhotoUrl(\n····photo:·UnsplashPhoto,\n····size:·'thumb'·|·'small'·|·'regular'·=·'regular',\n··):·string·{\n····return·photo.urls[size];\n··}\n\n··/**\n···*·Get·optimized·image·URL·for·backgrounds\n···*·@param·photo·-·The·Unsplash·photo·object\n···*·@param·width·-·Desired·width·(default·2560·for·high·res·displays)\n···*·@param·quality·-·Image·quality·1-100·(default·85)\n···*/\n··getBackgroundImageUrl(photo:·UnsplashPhoto,·width·=·2560,·quality·=·85):·string·{\n····return·`${photo.urls.raw}&w=${width}&q=${quality}&auto=format`;\n··}\n\n··/**\n···*·Add·UTM·parameters·to·Unsplash·attribution·links·as·required\n···*·@param·url·-·The·original·Unsplash·URL\n···*/\n··addUtmParams(url:·string):·string·{\n····if·(!url)·return·url;\n\n····const·separator·=·url.includes('?')·?·'&'·:·'?';\n····return·`${url}${separator}utm_source=super-productivity&utm_medium=referral&utm_campaign=api-credit`;\n··}\n\n··/**\n···*·Trigger·download·tracking·as·required·by·Unsplash·API·guidelines\n···*·This·must·be·called·when·a·user·selects·a·photo·for·use\n···*·@param·photo·-·The·selected·photo\n···*/\n··trackPhotoDownload(photo:·UnsplashPhoto):·Observable<any>·{\n····if·(!photo.links?.download_location)·{\n······console.warn('No·download_location·available·for·photo',·photo.id);\n······return·of(null);\n····}\n\n····if·(!this.ACCESS_KEY)·{\n······console.warn('No·Unsplash·Access·Key·configured');\n······return·of(null);\n····}\n\n····const·headers·=·{\n······Authorization:·`Client-ID·${this.ACCESS_KEY}`,\n····};\n\n····//·Call·the·download·endpoint·to·track·usage\n····return·this._http.get(photo.links.download_location,·{·headers·}).pipe(\n······catchError((error)·=>·{\n········console.error('Failed·to·track·photo·download:',·error);\n········//·Don't·fail·the·selection·if·tracking·fails\n········return·of(null);\n······}),\n····);\n··}\n}\n",4715 ········"import·{·Injectable,·inject·}·from·'@angular/core';\nimport·{·HttpClient·}·from·'@angular/common/http';\nimport·{·Observable,·of·}·from·'rxjs';\nimport·{·catchError·}·from·'rxjs/operators';\nimport·{·getEnvOptional·}·from·'../../util/env';\n\nexport·interface·UnsplashPhoto·{\n··id:·string;\n··urls:·{\n····raw:·string;\n····full:·string;\n····regular:·string;\n····small:·string;\n····thumb:·string;\n··};\n··links?:·{\n····self?:·string;\n····html?:·string;\n····download?:·string;\n····download_location?:·string;\n··};\n··description:·string·|·null;\n··alt_description:·string·|·null;\n··user:·{\n····name:·string;\n····links?:·{\n······html?:·string;\n····};\n··};\n}\n\nexport·interface·UnsplashSearchResponse·{\n··results:·UnsplashPhoto[];\n··total:·number;\n··total_pages:·number;\n}\n\n@Injectable({\n··providedIn:·'root',\n})\nexport·class·UnsplashService·{\n··private·_http·=·inject(HttpClient);\n\n··private·readonly·API_URL·=·'https://api.unsplash.com';\n··//·Register·your·app·at·https://unsplash.com/developers?utm_source=super-productivity&utm_medium=referral&utm_campaign=api-credit·for·a·free·Access·Key·(50·req/hour)\n··//·The·Access·Key·is·used·with·\"Client-ID\"·prefix·in·the·Authorization·header\n··private·readonly·ACCESS_KEY·=·getEnvOptional('UNSPLASH_KEY');\n\n··isAvailable():·boolean·{\n····return·!!this.ACCESS_KEY;\n··}\n\n··searchPhotos(query:·string,·page·=·1):·Observable<UnsplashSearchResponse>·{\n····if·(!query·||·query.trim()·===·'')·{\n······return·of({·results:·[],·total:·0,·total_pages:·0·});\n····}\n\n····if·(!this.ACCESS_KEY)·{\n······console.warn(\n········'No·Unsplash·Access·Key·configured.·Register·at·https://unsplash.com/developers?utm_source=super-productivity&utm_medium=referral&utm_campaign=api-credit',\n······);\n······return·of({·results:·[],·total:·0,·total_pages:·0·});\n····}\n\n····const·params·=·{\n······query:·query.trim(),\n······page:·page.toString(),\n······per_page:·'20',\n······orientation:·'landscape',\n····};\n\n····const·url·=·`${this.API_URL}/search/photos`;\n····const·headers·=·{\n······Authorization:·`Client-ID·${this.ACCESS_KEY}`,\n····};\n\n····return·this._http\n······.get<UnsplashSearchResponse>(url,·{\n········params,\n········headers,\n······})\n······.pipe(\n········catchError((error)·=>·{\n··········console.error('Unsplash·API·error:',·error);\n··········return·of({·results:·[],·total:·0,·total_pages:·0·});\n········}),\n······);\n··}\n\n··getPhotoUrl(\n····photo:·UnsplashPhoto,\n····size:·'thumb'·|·'small'·|·'regular'·=·'regular',\n··):·string·{\n····return·photo.urls[size];\n··}\n\n··/**\n···*·Get·optimized·image·URL·for·backgrounds\n···*·@param·photo·-·The·Unsplash·photo·object\n···*·@param·width·-·Desired·width·(default·2560·for·high·res·displays)\n···*·@param·quality·-·Image·quality·1-100·(default·85)\n···*/\n··getBackgroundImageUrl(photo:·UnsplashPhoto,·width·=·2560,·quality·=·85):·string·{\n····return·`${photo.urls.raw}&w=${width}&q=${quality}&auto=format`;\n··}\n\n··/**\n···*·Add·UTM·parameters·to·Unsplash·attribution·links·as·required\n···*·@param·url·-·The·original·Unsplash·URL\n···*/\n··addUtmParams(url:·string):·string·{\n····if·(!url)·return·url;\n\n····const·separator·=·url.includes('?')·?·'&'·:·'?';\n····return·`${url}${separator}utm_source=super-productivity&utm_medium=referral&utm_campaign=api-credit`;\n··}\n\n··/**\n···*·Trigger·download·tracking·as·required·by·Unsplash·API·guidelines\n···*·This·must·be·called·when·a·user·selects·a·photo·for·use\n···*·@param·photo·-·The·selected·photo\n···*/\n··trackPhotoDownload(photo:·UnsplashPhoto):·Observable<any>·{\n····if·(!photo.links?.download_location)·{\n······console.warn('No·download_location·available·for·photo',·photo.id);\n······return·of(null);\n····}\n\n····if·(!this.ACCESS_KEY)·{\n······console.warn('No·Unsplash·Access·Key·configured');\n······return·of(null);\n····}\n\n····const·headers·=·{\n······Authorization:·`Client-ID·${this.ACCESS_KEY}`,\n····};\n\n····//·Call·the·download·endpoint·to·track·usage\n····return·this._http.get(photo.links.download_location,·{·headers·}).pipe(\n······catchError((error)·=>·{\n········console.error('Failed·to·track·photo·download:',·error);\n········//·Don't·fail·the·selection·if·tracking·fails\n········return·of(null);\n······}),\n····);\n··}\n}\n",
4716 ········"export·const·IS_MAC·=·navigator.platform.toUpperCase().indexOf('MAC')·>=·0;\n",4716 ········"export·const·IS_MAC·=·navigator.platform.toUpperCase().indexOf('MAC')·>=·0;\n",
4717 ········"import·*·as·i0·from·'@angular/core';\nimport·{·InjectionToken,·Injectable,·EventEmitter,·Directive,·Optional,·Inject,·Input,·Output·}·from·'@angular/core';\nimport·{·registerables,·Chart,·defaults·}·from·'chart.js';\nimport·{·merge·}·from·'lodash-es';\nimport·{·BehaviorSubject·}·from·'rxjs';\nimport·{·distinctUntilChanged·}·from·'rxjs/operators';\nconst·NG_CHARTS_CONFIGURATION·=·/*#__PURE__*/new·InjectionToken('Configuration·for·ngCharts');\n/**\n·*·Provide·all·the·default·registerable·as·defined·by·Chart.js\n·*/\nfunction·withDefaultRegisterables(...registerables$1)·{\n··return·{\n····registerables:·[...registerables,·...registerables$1]\n··};\n}\n/**\n·*·Provide·configuration·for·ngCharts.·In·most·cases,·you·have·to·pass·it·some·registerables.·So·either\n·*·`withDefaultRegisterables()`,·or·a·custom·list·of·registerables·tailored·to·your·needs·to·reduce·bundle·size.\n·*/\nfunction·provideCharts(...configurations)·{\n··const·config·=·merge({},·...configurations);\n··return·{\n····provide:·NG_CHARTS_CONFIGURATION,\n····useValue:·config\n··};\n}\nlet·ThemeService·=·/*#__PURE__*/(()·=>·{\n··class·ThemeService·{\n····constructor()·{\n······this.colorschemesOptions·=·new·BehaviorSubject(undefined);\n····}\n····setColorschemesOptions(options)·{\n······this.pColorschemesOptions·=·options;\n······this.colorschemesOptions.next(options);\n····}\n····getColorschemesOptions()·{\n······return·this.pColorschemesOptions;\n····}\n····static·{\n······this.\u0275fac·=·function·ThemeService_Factory(__ngFactoryType__)·{\n········return·new·(__ngFactoryType__·||·ThemeService)();\n······};\n····}\n····static·{\n······this.\u0275prov·=·/*·@__PURE__·*/i0.\u0275\u0275defineInjectable({\n········token:·ThemeService,\n········factory:·ThemeService.\u0275fac,\n········providedIn:·'root'\n······});\n····}\n··}\n··return·ThemeService;\n})();\n(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nlet·BaseChartDirective·=·/*#__PURE__*/(()·=>·{\n··class·BaseChartDirective·{\n····constructor(element,·zone,·themeService,·config)·{\n······this.zone·=·zone;\n······this.themeService·=·themeService;\n······this.type·=·'bar';\n······this.plugins·=·[];\n······this.chartClick·=·new·EventEmitter();\n······this.chartHover·=·new·EventEmitter();\n······this.subs·=·[];\n······this.themeOverrides·=·{};\n······if·(config?.registerables)·{\n········Chart.register(...config.registerables);\n······}\n······if·(config?.defaults)·{\n········defaults.set(config.defaults);\n······}\n······this.ctx·=·element.nativeElement.getContext('2d');\n······this.subs.push(this.themeService.colorschemesOptions.pipe(distinctUntilChanged()).subscribe(r·=>·this.themeChanged(r)));\n····}\n····ngOnChanges(changes)·{\n······const·requireRender·=·['type'];\n······const·propertyNames·=·Object.getOwnPropertyNames(changes);\n······if·(propertyNames.some(key·=>·requireRender.includes(key))·||·propertyNames.every(key·=>·changes[key].isFirstChange()))·{\n········this.render();\n······}·else·{\n········const·config·=·this.getChartConfiguration();\n········//·Using·assign·to·avoid·changing·the·original·object·reference\n········if·(this.chart)·{\n··········Object.assign(this.chart.config.data,·config.data);\n··········if·(this.chart.config.plugins)·{\n············Object.assign(this.chart.config.plugins,·config.plugins);\n··········}\n··········if·(this.chart.config.options)·{\n············Object.assign(this.chart.config.options,·config.options);\n··········}\n········}\n········this.update();\n······}\n····}\n····ngOnDestroy()·{\n······if·(this.chart)·{\n········this.chart.destroy();\n········this.chart·=·void·0;\n······}\n······this.subs.forEach(s·=>·s.unsubscribe());\n····}\n····render()·{\n······if·(this.chart)·{\n········this.chart.destroy();\n······}\n······return·this.zone.runOutsideAngular(()·=>·this.chart·=·new·Chart(this.ctx,·this.getChartConfiguration()));\n····}\n····update(mode)·{\n······if·(this.chart)·{\n········this.zone.runOutsideAngular(()·=>·this.chart?.update(mode));\n······}\n····}\n····hideDataset(index,·hidden)·{\n······if·(this.chart)·{\n········this.chart.getDatasetMeta(index).hidden·=·hidden;\n········this.update();\n······}\n····}\n····isDatasetHidden(index)·{\n······return·this.chart?.getDatasetMeta(index)?.hidden;\n····}\n····toBase64Image()·{\n······return·this.chart?.toBase64Image();\n····}\n····themeChanged(options)·{\n······this.themeOverrides·=·options;\n······if·(this.chart)·{\n········if·(this.chart.config.options)·{\n··········Object.assign(this.chart.config.options,·this.getChartOptions());\n········}\n········this.update();\n······}\n····}\n····getChartOptions()·{\n······return·merge({\n········onHover:·(event,·active)·=>·{\n··········if·(!this.chartHover.observed·&&·!this.chartHover.observers?.length)·{\n············return;\n··········}\n··········this.zone.run(()·=>·this.chartHover.emit({\n············event,\n············active\n··········}));\n········},\n········onClick:·(event,·active)·=>·{\n··········if·(!this.chartClick.observed·&&·!this.chartClick.observers?.length)·{\n············return;\n··········}\n··········this.zone.run(()·=>·this.chartClick.emit({\n············event,\n············active\n··········}));\n········}\n······},·this.themeOverrides,·this.options,·{\n········plugins:·{\n··········legend:·{\n············display:·this.legend\n··········}\n········}\n······});\n····}\n····getChartConfiguration()·{\n······return·{\n········type:·this.type,\n········data:·this.getChartData(),\n········options:·this.getChartOptions(),\n········plugins:·this.plugins\n······};\n····}\n····getChartData()·{\n······return·this.data·?·this.data·:·{\n········labels:·this.labels·||·[],\n········datasets:·this.datasets·||·[]\n······};\n····}\n····static·{\n······this.\u0275fac·=·function·BaseChartDirective_Factory(__ngFactoryType__)·{\n········return·new·(__ngFactoryType__·||·BaseChartDirective)(i0.\u0275\u0275directiveInject(i0.ElementRef),·i0.\u0275\u0275directiveInject(i0.NgZone),·i0.\u0275\u0275directiveInject(ThemeService),·i0.\u0275\u0275directiveInject(NG_CHARTS_CONFIGURATION,·8));\n······};\n····}\n····static·{\n······this.\u0275dir·=·/*·@__PURE__·*/i0.\u0275\u0275defineDirective({\n········type:·BaseChartDirective,\n········selectors:·[[\"canvas\",·\"baseChart\",·\"\"]],\n········inputs:·{\n··········type:·\"type\",\n··········legend:·\"legend\",\n··········data:·\"data\",\n··········options:·\"options\",\n··········plugins:·\"plugins\",\n··········labels:·\"labels\",\n··········datasets:·\"datasets\"\n········},\n········outputs:·{\n··········chartClick:·\"chartClick\",\n··········chartHover:·\"chartHover\"\n········},\n········exportAs:·[\"base-chart\"],\n········features:·[i0.\u0275\u0275NgOnChangesFeature]\n······});\n····}\n··}\n··return·BaseChartDirective;\n})();\n(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\n\n/*\n·*·Public·API·Surface·of·ng2-charts\n·*/\n\n/**\n·*·Generated·bundle·index.·Do·not·edit.\n·*/\n\nexport·{·BaseChartDirective,·NG_CHARTS_CONFIGURATION,·ThemeService,·provideCharts,·withDefaultRegisterables·};\n",4717 ········"import·*·as·i0·from·'@angular/core';\nimport·{·InjectionToken,·Injectable,·EventEmitter,·Directive,·Optional,·Inject,·Input,·Output·}·from·'@angular/core';\nimport·{·registerables,·Chart,·defaults·}·from·'chart.js';\nimport·{·merge·}·from·'lodash-es';\nimport·{·BehaviorSubject·}·from·'rxjs';\nimport·{·distinctUntilChanged·}·from·'rxjs/operators';\nconst·NG_CHARTS_CONFIGURATION·=·/*#__PURE__*/new·InjectionToken('Configuration·for·ngCharts');\n/**\n·*·Provide·all·the·default·registerable·as·defined·by·Chart.js\n·*/\nfunction·withDefaultRegisterables(...registerables$1)·{\n··return·{\n····registerables:·[...registerables,·...registerables$1]\n··};\n}\n/**\n·*·Provide·configuration·for·ngCharts.·In·most·cases,·you·have·to·pass·it·some·registerables.·So·either\n·*·`withDefaultRegisterables()`,·or·a·custom·list·of·registerables·tailored·to·your·needs·to·reduce·bundle·size.\n·*/\nfunction·provideCharts(...configurations)·{\n··const·config·=·merge({},·...configurations);\n··return·{\n····provide:·NG_CHARTS_CONFIGURATION,\n····useValue:·config\n··};\n}\nlet·ThemeService·=·/*#__PURE__*/(()·=>·{\n··class·ThemeService·{\n····constructor()·{\n······this.colorschemesOptions·=·new·BehaviorSubject(undefined);\n····}\n····setColorschemesOptions(options)·{\n······this.pColorschemesOptions·=·options;\n······this.colorschemesOptions.next(options);\n····}\n····getColorschemesOptions()·{\n······return·this.pColorschemesOptions;\n····}\n····static·{\n······this.\u0275fac·=·function·ThemeService_Factory(__ngFactoryType__)·{\n········return·new·(__ngFactoryType__·||·ThemeService)();\n······};\n····}\n····static·{\n······this.\u0275prov·=·/*·@__PURE__·*/i0.\u0275\u0275defineInjectable({\n········token:·ThemeService,\n········factory:·ThemeService.\u0275fac,\n········providedIn:·'root'\n······});\n····}\n··}\n··return·ThemeService;\n})();\n(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nlet·BaseChartDirective·=·/*#__PURE__*/(()·=>·{\n··class·BaseChartDirective·{\n····constructor(element,·zone,·themeService,·config)·{\n······this.zone·=·zone;\n······this.themeService·=·themeService;\n······this.type·=·'bar';\n······this.plugins·=·[];\n······this.chartClick·=·new·EventEmitter();\n······this.chartHover·=·new·EventEmitter();\n······this.subs·=·[];\n······this.themeOverrides·=·{};\n······if·(config?.registerables)·{\n········Chart.register(...config.registerables);\n······}\n······if·(config?.defaults)·{\n········defaults.set(config.defaults);\n······}\n······this.ctx·=·element.nativeElement.getContext('2d');\n······this.subs.push(this.themeService.colorschemesOptions.pipe(distinctUntilChanged()).subscribe(r·=>·this.themeChanged(r)));\n····}\n····ngOnChanges(changes)·{\n······const·requireRender·=·['type'];\n······const·propertyNames·=·Object.getOwnPropertyNames(changes);\n······if·(propertyNames.some(key·=>·requireRender.includes(key))·||·propertyNames.every(key·=>·changes[key].isFirstChange()))·{\n········this.render();\n······}·else·{\n········const·config·=·this.getChartConfiguration();\n········//·Using·assign·to·avoid·changing·the·original·object·reference\n········if·(this.chart)·{\n··········Object.assign(this.chart.config.data,·config.data);\n··········if·(this.chart.config.plugins)·{\n············Object.assign(this.chart.config.plugins,·config.plugins);\n··········}\n··········if·(this.chart.config.options)·{\n············Object.assign(this.chart.config.options,·config.options);\n··········}\n········}\n········this.update();\n······}\n····}\n····ngOnDestroy()·{\n······if·(this.chart)·{\n········this.chart.destroy();\n········this.chart·=·void·0;\n······}\n······this.subs.forEach(s·=>·s.unsubscribe());\n····}\n····render()·{\n······if·(this.chart)·{\n········this.chart.destroy();\n······}\n······return·this.zone.runOutsideAngular(()·=>·this.chart·=·new·Chart(this.ctx,·this.getChartConfiguration()));\n····}\n····update(mode)·{\n······if·(this.chart)·{\n········this.zone.runOutsideAngular(()·=>·this.chart?.update(mode));\n······}\n····}\n····hideDataset(index,·hidden)·{\n······if·(this.chart)·{\n········this.chart.getDatasetMeta(index).hidden·=·hidden;\n········this.update();\n······}\n····}\n····isDatasetHidden(index)·{\n······return·this.chart?.getDatasetMeta(index)?.hidden;\n····}\n····toBase64Image()·{\n······return·this.chart?.toBase64Image();\n····}\n····themeChanged(options)·{\n······this.themeOverrides·=·options;\n······if·(this.chart)·{\n········if·(this.chart.config.options)·{\n··········Object.assign(this.chart.config.options,·this.getChartOptions());\n········}\n········this.update();\n······}\n····}\n····getChartOptions()·{\n······return·merge({\n········onHover:·(event,·active)·=>·{\n··········if·(!this.chartHover.observed·&&·!this.chartHover.observers?.length)·{\n············return;\n··········}\n··········this.zone.run(()·=>·this.chartHover.emit({\n············event,\n············active\n··········}));\n········},\n········onClick:·(event,·active)·=>·{\n··········if·(!this.chartClick.observed·&&·!this.chartClick.observers?.length)·{\n············return;\n··········}\n··········this.zone.run(()·=>·this.chartClick.emit({\n············event,\n············active\n··········}));\n········}\n······},·this.themeOverrides,·this.options,·{\n········plugins:·{\n··········legend:·{\n············display:·this.legend\n··········}\n········}\n······});\n····}\n····getChartConfiguration()·{\n······return·{\n········type:·this.type,\n········data:·this.getChartData(),\n········options:·this.getChartOptions(),\n········plugins:·this.plugins\n······};\n····}\n····getChartData()·{\n······return·this.data·?·this.data·:·{\n········labels:·this.labels·||·[],\n········datasets:·this.datasets·||·[]\n······};\n····}\n····static·{\n······this.\u0275fac·=·function·BaseChartDirective_Factory(__ngFactoryType__)·{\n········return·new·(__ngFactoryType__·||·BaseChartDirective)(i0.\u0275\u0275directiveInject(i0.ElementRef),·i0.\u0275\u0275directiveInject(i0.NgZone),·i0.\u0275\u0275directiveInject(ThemeService),·i0.\u0275\u0275directiveInject(NG_CHARTS_CONFIGURATION,·8));\n······};\n····}\n····static·{\n······this.\u0275dir·=·/*·@__PURE__·*/i0.\u0275\u0275defineDirective({\n········type:·BaseChartDirective,\n········selectors:·[[\"canvas\",·\"baseChart\",·\"\"]],\n········inputs:·{\n··········type:·\"type\",\n··········legend:·\"legend\",\n··········data:·\"data\",\n··········options:·\"options\",\n··········plugins:·\"plugins\",\n··········labels:·\"labels\",\n··········datasets:·\"datasets\"\n········},\n········outputs:·{\n··········chartClick:·\"chartClick\",\n··········chartHover:·\"chartHover\"\n········},\n········exportAs:·[\"base-chart\"],\n········features:·[i0.\u0275\u0275NgOnChangesFeature]\n······});\n····}\n··}\n··return·BaseChartDirective;\n})();\n(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\n\n/*\n·*·Public·API·Surface·of·ng2-charts\n·*/\n\n/**\n·*·Generated·bundle·index.·Do·not·edit.\n·*/\n\nexport·{·BaseChartDirective,·NG_CHARTS_CONFIGURATION,·ThemeService,·provideCharts,·withDefaultRegisterables·};\n",
4718 ········"export·const·IS_FIREFOX·=·navigator.userAgent.toLowerCase().indexOf('firefox')·>·-1;\n",4718 ········"export·const·IS_FIREFOX·=·navigator.userAgent.toLowerCase().indexOf('firefox')·>·-1;\n",
4719 ········"import·{·inject,·Injectable·}·from·'@angular/core';\nimport·{·DOCUMENT·}·from·'@angular/common';\nimport·{·Log·}·from·'../log';\n\nexport·interface·CustomTheme·{\n··id:·string;\n··name:·string;\n··url:·string;\n··requiredMode?:·'dark'·|·'light'·|·'system';\n}\n\nexport·const·AVAILABLE_CUSTOM_THEMES:·CustomTheme[]·=·[\n··{\n····id:·'default',\n····name:·'Default',\n····url:·'',\n····requiredMode:·'system',\n··},\n··{\n····id:·'arc',\n····name:·'Arc',\n····url:·'assets/themes/arc.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'dark-base',\n····name:·'Dark·Base',\n····url:·'assets/themes/dark-base.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'dracula',\n····name:·'Dracula',\n····url:·'assets/themes/dracula.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'everforest',\n····name:·'Everforest',\n····url:·'assets/themes/everforest.css',\n····requiredMode:·'system',\n··},\n··{\n····id:·'rainbow',\n····name:·'Rainbow',\n····url:·'assets/themes/rainbow.css',\n····requiredMode:·'system',\n··},\n··{\n····id:·'glass',\n····name:·'Glass',\n····url:·'assets/themes/glass.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'nord-polar-night',\n····name:·'Nord·Polar·Night',\n····url:·'assets/themes/nord-polar-night.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'nord-snow-storm',\n····name:·'Nord·Snow·Storm',\n····url:·'assets/themes/nord-snow-storm.css',\n····requiredMode:·'light',\n··},\n];\n\n@Injectable({·providedIn:·'root'·})\nexport·class·CustomThemeService·{\n··private·document·=·inject<Document>(DOCUMENT);\n··private·currentThemeLinkElement:·HTMLLinkElement·|·null·=·null;\n\n··loadTheme(themeId:·string):·void·{\n····const·theme·=·AVAILABLE_CUSTOM_THEMES.find((t)·=>·t.id·===·themeId);\n\n····if·(!theme)·{\n······Log.err(`Theme·with·id·${themeId}·not·found`);\n······return;\n····}\n\n····//·Remove·existing·theme\n····this.unloadCurrentTheme();\n\n····//·If·default·theme,·no·need·to·load·external·CSS\n····if·(theme.id·===·'default'·||·!theme.url)·{\n······return;\n····}\n\n····//·Create·new·link·element·for·theme\n····const·linkElement·=·this.document.createElement('link');\n····linkElement.rel·=·'stylesheet';\n····linkElement.href·=·theme.url;\n····linkElement.id·=·'custom-theme-stylesheet';\n\n····//·Add·to·head\n····this.document.head.appendChild(linkElement);\n····this.currentThemeLinkElement·=·linkElement;\n··}\n\n··unloadCurrentTheme():·void·{\n····if·(this.currentThemeLinkElement)·{\n······this.currentThemeLinkElement.remove();\n······this.currentThemeLinkElement·=·null;\n····}\n\n····//·Also·remove·any·existing·custom·theme·stylesheets\n····const·existingThemeLink·=·this.document.getElementById('custom-theme-stylesheet');\n····if·(existingThemeLink)·{\n······existingThemeLink.remove();\n····}\n··}\n\n··getAvailableThemes():·CustomTheme[]·{\n····return·AVAILABLE_CUSTOM_THEMES;\n··}\n}\n",4719 ········"import·{·inject,·Injectable·}·from·'@angular/core';\nimport·{·DOCUMENT·}·from·'@angular/common';\nimport·{·Log·}·from·'../log';\n\nexport·interface·CustomTheme·{\n··id:·string;\n··name:·string;\n··url:·string;\n··requiredMode?:·'dark'·|·'light'·|·'system';\n}\n\nexport·const·AVAILABLE_CUSTOM_THEMES:·CustomTheme[]·=·[\n··{\n····id:·'default',\n····name:·'Default',\n····url:·'',\n····requiredMode:·'system',\n··},\n··{\n····id:·'arc',\n····name:·'Arc',\n····url:·'assets/themes/arc.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'dark-base',\n····name:·'Dark·Base',\n····url:·'assets/themes/dark-base.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'dracula',\n····name:·'Dracula',\n····url:·'assets/themes/dracula.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'everforest',\n····name:·'Everforest',\n····url:·'assets/themes/everforest.css',\n····requiredMode:·'system',\n··},\n··{\n····id:·'rainbow',\n····name:·'Rainbow',\n····url:·'assets/themes/rainbow.css',\n····requiredMode:·'system',\n··},\n··{\n····id:·'glass',\n····name:·'Glass',\n····url:·'assets/themes/glass.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'nord-polar-night',\n····name:·'Nord·Polar·Night',\n····url:·'assets/themes/nord-polar-night.css',\n····requiredMode:·'dark',\n··},\n··{\n····id:·'nord-snow-storm',\n····name:·'Nord·Snow·Storm',\n····url:·'assets/themes/nord-snow-storm.css',\n····requiredMode:·'light',\n··},\n];\n\n@Injectable({·providedIn:·'root'·})\nexport·class·CustomThemeService·{\n··private·document·=·inject<Document>(DOCUMENT);\n··private·currentThemeLinkElement:·HTMLLinkElement·|·null·=·null;\n\n··loadTheme(themeId:·string):·void·{\n····const·theme·=·AVAILABLE_CUSTOM_THEMES.find((t)·=>·t.id·===·themeId);\n\n····if·(!theme)·{\n······Log.err(`Theme·with·id·${themeId}·not·found`);\n······return;\n····}\n\n····//·Remove·existing·theme\n····this.unloadCurrentTheme();\n\n····//·If·default·theme,·no·need·to·load·external·CSS\n····if·(theme.id·===·'default'·||·!theme.url)·{\n······return;\n····}\n\n····//·Create·new·link·element·for·theme\n····const·linkElement·=·this.document.createElement('link');\n····linkElement.rel·=·'stylesheet';\n····linkElement.href·=·theme.url;\n····linkElement.id·=·'custom-theme-stylesheet';\n\n····//·Add·to·head\n····this.document.head.appendChild(linkElement);\n····this.currentThemeLinkElement·=·linkElement;\n··}\n\n··unloadCurrentTheme():·void·{\n····if·(this.currentThemeLinkElement)·{\n······this.currentThemeLinkElement.remove();\n······this.currentThemeLinkElement·=·null;\n····}\n\n····//·Also·remove·any·existing·custom·theme·stylesheets\n····const·existingThemeLink·=·this.document.getElementById('custom-theme-stylesheet');\n····if·(existingThemeLink)·{\n······existingThemeLink.remove();\n····}\n··}\n\n··getAvailableThemes():·CustomTheme[]·{\n····return·AVAILABLE_CUSTOM_THEMES;\n··}\n}\n",
4720 ········"import·{·effect,·inject,·Injectable,·signal·}·from·'@angular/core';\nimport·{·toObservable,·toSignal·}·from·'@angular/core/rxjs-interop';\nimport·{·BodyClass,·IS_ELECTRON·}·from·'../../app.constants';\nimport·{·IS_MAC·}·from·'../../util/is-mac';\nimport·{·distinctUntilChanged,·map,·startWith,·switchMap,·take·}·from·'rxjs/operators';\nimport·{·IS_TOUCH_ONLY·}·from·'../../util/is-touch-only';\nimport·{·MaterialCssVarsService·}·from·'angular-material-css-vars';\nimport·{·DOCUMENT·}·from·'@angular/common';\nimport·{·MatIconRegistry·}·from·'@angular/material/icon';\nimport·{·DomSanitizer·}·from·'@angular/platform-browser';\nimport·{·ChromeExtensionInterfaceService·}·from·'../chrome-extension-interface/chrome-extension-interface.service';\nimport·{·ThemeService·as·NgChartThemeService·}·from·'ng2-charts';\nimport·{·GlobalConfigService·}·from·'../../features/config/global-config.service';\nimport·{·WorkContextThemeCfg·}·from·'../../features/work-context/work-context.model';\nimport·{·WorkContextService·}·from·'../../features/work-context/work-context.service';\nimport·{·combineLatest,·fromEvent,·Observable,·of·}·from·'rxjs';\nimport·{·IS_FIREFOX·}·from·'../../util/is-firefox';\nimport·{·ImexViewService·}·from·'../../imex/imex-meta/imex-view.service';\nimport·{·IS_MOUSE_PRIMARY,·IS_TOUCH_PRIMARY·}·from·'../../util/is-mouse-primary';\nimport·{·ChartConfiguration·}·from·'chart.js';\nimport·{·IS_ANDROID_WEB_VIEW·}·from·'../../util/is-android-web-view';\nimport·{·androidInterface·}·from·'../../features/android/android-interface';\nimport·{·HttpClient·}·from·'@angular/common/http';\nimport·{·LS·}·from·'../persistence/storage-keys.const';\nimport·{·CustomThemeService·}·from·'./custom-theme.service';\nimport·{·Log·}·from·'../log';\nimport·{·LayoutService·}·from·'../../core-ui/layout/layout.service';\n\nexport·type·DarkModeCfg·=·'dark'·|·'light'·|·'system';\n\n@Injectable({·providedIn:·'root'·})\nexport·class·GlobalThemeService·{\n··private·document·=·inject<Document>(DOCUMENT);\n··private·_layoutService·=·inject(LayoutService);\n··private·_materialCssVarsService·=·inject(MaterialCssVarsService);\n··private·_workContextService·=·inject(WorkContextService);\n··private·_globalConfigService·=·inject(GlobalConfigService);\n··private·_matIconRegistry·=·inject(MatIconRegistry);\n··private·readonly·_registeredPluginIcons·=·new·Set<string>();\n··private·_domSanitizer·=·inject(DomSanitizer);\n··private·_chartThemeService·=·inject(NgChartThemeService);\n··private·_chromeExtensionInterfaceService·=·inject(ChromeExtensionInterfaceService);\n··private·_imexMetaService·=·inject(ImexViewService);\n··private·_http·=·inject(HttpClient);\n··private·_customThemeService·=·inject(CustomThemeService);\n\n··darkMode·=·signal<DarkModeCfg>(\n····(localStorage.getItem(LS.DARK_MODE)·as·DarkModeCfg)·||·'system',\n··);\n\n··private·_isDarkThemeObs$:·Observable<boolean>·=·toObservable(this.darkMode).pipe(\n····switchMap((darkMode)·=>·{\n······switch·(darkMode)·{\n········case·'dark':\n··········return·of(true);\n········case·'light':\n··········return·of(false);\n········default:\n··········const·darkModePreference·=·window.matchMedia('(prefers-color-scheme:·dark)');\n··········return·fromEvent(darkModePreference,·'change').pipe(\n············map((e:·any)·=>·e.matches),\n············startWith(darkModePreference.matches),\n··········);\n······}\n····}),\n····distinctUntilChanged(),\n··);\n\n··isDarkTheme·=·toSignal(this._isDarkThemeObs$,·{·initialValue:·false·});\n\n··private·_backgroundImgObs$:·Observable<string·|·null·|·undefined>·=·combineLatest([\n····this._workContextService.currentTheme$,\n····this._isDarkThemeObs$,\n··]).pipe(\n····map(([theme,·isDarkMode])·=>\n······isDarkMode·?·theme.backgroundImageDark·:·theme.backgroundImageLight,\n····),\n····distinctUntilChanged(),\n··);\n\n··backgroundImg·=·toSignal(this._backgroundImgObs$);\n\n··init():·void·{\n····//·This·is·here·to·make·web·page·reloads·on·non-work-context·pages·at·least·usable\n····this._setBackgroundTint(true);\n····this._initIcons();\n····this._initHandlersForInitialBodyClasses();\n····this._initThemeWatchers();\n\n····//·Set·up·dark·mode·persistence·effect\n····effect(()·=>·{\n······const·darkMode·=·this.darkMode();\n······localStorage.setItem(LS.DARK_MODE,·darkMode);\n····});\n\n····//·Set·up·reactive·custom·theme·updates\n····this._setupCustomThemeEffect();\n··}\n\n··private·_setDarkTheme(isDarkTheme:·boolean):·void·{\n····this._materialCssVarsService.setDarkTheme(isDarkTheme);\n····this._setChartTheme(isDarkTheme);\n····//·this._materialCssVarsService.setDarkTheme(true);\n····//·this._materialCssVarsService.setDarkTheme(false);\n··}\n\n··private·_setColorTheme(theme:·WorkContextThemeCfg):·void·{\n····this._materialCssVarsService.setAutoContrastEnabled(!!theme.isAutoContrast);\n····this._setBackgroundTint(!!theme.isDisableBackgroundTint);\n\n····//·NOTE:·setting·undefined·values·does·not·seem·to·be·a·problem·so·we·use·!\n····if·(!theme.isAutoContrast)·{\n······this._materialCssVarsService.setContrastColorThresholdPrimary(theme.huePrimary!);\n······this._materialCssVarsService.setContrastColorThresholdAccent(theme.hueAccent!);\n······this._materialCssVarsService.setContrastColorThresholdWarn(theme.hueWarn!);\n····}\n\n····this._materialCssVarsService.setPrimaryColor(theme.primary!);\n····this._materialCssVarsService.setAccentColor(theme.accent!);\n····this._materialCssVarsService.setWarnColor(theme.warn!);\n··}\n\n··private·_setBackgroundTint(isDisableBackgroundTint:·boolean):·void·{\n····//·Simplify:·toggle·only·the·disable·flag;·CSS·handles·the·rest\n····this.document.body.classList.toggle(\n······BodyClass.isDisableBackgroundTint,\n······!!isDisableBackgroundTint,\n····);\n··}\n\n··private·_initIcons():·void·{\n····const·icons:·[string,·string][]·=·[\n······['sp',·'assets/icons/sp.svg'],\n······['play',·'assets/icons/play.svg'],\n······['github',·'assets/icons/github.svg'],\n······['gitlab',·'assets/icons/gitlab.svg'],\n······['jira',·'assets/icons/jira.svg'],\n······['caldav',·'assets/icons/caldav.svg'],\n······['open_project',·'assets/icons/open-project.svg'],\n······['drag_handle',·'assets/icons/drag-handle.svg'],\n······['remove_today',·'assets/icons/remove-today-48px.svg'],\n······['estimate_remaining',·'assets/icons/estimate-remaining.svg'],\n······['working_today',·'assets/icons/working-today.svg'],\n······['repeat',·'assets/icons/repeat.svg'],\n······['gitea',·'assets/icons/gitea.svg'],\n······['redmine',·'assets/icons/redmine.svg'],\n······['calendar',·'assets/icons/calendar.svg'],\n······['early_on',·'assets/icons/early-on.svg'],\n······['tomorrow',·'assets/icons/tomorrow.svg'],\n······['next_week',·'assets/icons/next-week.svg'],\n······['keep',·'assets/icons/keep.svg'],\n······['keep_filled',·'assets/icons/keep-filled.svg'],\n····];\n\n····//·todo·test·if·can·be·removed·with·airplane·mode·and·wifi·without·internet\n····icons.forEach(([name,·path])·=>·{\n······this._matIconRegistry.addSvgIcon(\n········name,\n········this._domSanitizer.bypassSecurityTrustResourceUrl(path),\n······);\n····});\n\n····this.preloadIcons(icons);\n··}\n\n··preloadIcons(icons:·[string,·string][]):·Promise<void[]>·{\n····//·Map·each·icon·name·to·a·promise·that·fetches·and·registers·the·icon.\n····const·iconPromises·=·icons.map(([iconName,·url])·=>·{\n······//·Construct·the·URL·for·the·SVG·file.\n······//·Adjust·the·path·if·your·SVGs·are·located·elsewhere.\n······return·this._http\n········.get(url,·{·responseType:·'text'·})\n········.toPromise()\n········.then((svg)·=>·{\n··········//·Register·the·fetched·SVG·as·an·inline·icon.\n··········this._matIconRegistry.addSvgIconLiteral(\n············iconName,\n············this._domSanitizer.bypassSecurityTrustHtml(svg),\n··········);\n········})\n········.catch((error)·=>·{\n··········Log.err(`Error·loading·icon:·${iconName}·from·${url}`,·error);\n········});\n····});\n\n····//·Return·a·promise·that·resolves·when·all·icons·have·been·processed.\n····return·Promise.all(iconPromises);\n··}\n\n··registerSvgIcon(iconName:·string,·url:·string):·void·{\n····//·Plugin·icon·is·already·registered,·skip\n····if·(this._registeredPluginIcons.has(iconName))·return;\n····this._matIconRegistry.addSvgIcon(\n······iconName,\n······this._domSanitizer.bypassSecurityTrustResourceUrl(url),\n····);\n····this._registeredPluginIcons.add(iconName);\n··}\n\n··registerSvgIconFromContent(iconName:·string,·svgContent:·string):·void·{\n····//·Plugin·icon·is·already·registered,·skip\n····if·(this._registeredPluginIcons.has(iconName))·return;\n····this._matIconRegistry.addSvgIconLiteral(\n······iconName,\n······this._domSanitizer.bypassSecurityTrustHtml(svgContent),\n····);\n····this._registeredPluginIcons.add(iconName);\n··}\n\n··private·_initThemeWatchers():·void·{\n····//·init·theme·watchers\n····this._workContextService.currentTheme$.subscribe((theme:·WorkContextThemeCfg)·=>\n······this._setColorTheme(theme),\n····);\n····this._isDarkThemeObs$.subscribe((isDarkTheme)·=>·this._setDarkTheme(isDarkTheme));\n··}\n\n··private·_initHandlersForInitialBodyClasses():·void·{\n····this.document.body.classList.add(BodyClass.isNoAdvancedFeatures);\n\n····if·(!IS_FIREFOX)·{\n······this.document.body.classList.add(BodyClass.isNoFirefox);\n····}\n\n····if·(IS_MAC)·{\n······this.document.body.classList.add(BodyClass.isMac);\n····}·else·{\n······this.document.body.classList.add(BodyClass.isNoMac);\n····}\n\n····if·(IS_ELECTRON)·{\n······this.document.body.classList.add(BodyClass.isElectron);\n······this.document.body.classList.add(BodyClass.isAdvancedFeatures);\n······this.document.body.classList.remove(BodyClass.isNoAdvancedFeatures);\n····}·else·{\n······this.document.body.classList.add(BodyClass.isWeb);\n······this._chromeExtensionInterfaceService.onReady$.pipe(take(1)).subscribe(()·=>·{\n········this.document.body.classList.add(BodyClass.isExtension);\n········this.document.body.classList.add(BodyClass.isAdvancedFeatures);\n········this.document.body.classList.remove(BodyClass.isNoAdvancedFeatures);\n······});\n····}\n\n····if·(IS_ANDROID_WEB_VIEW)·{\n······androidInterface.isKeyboardShown$.subscribe((isShown)·=>·{\n········Log.log('isShown',·isShown);\n\n········this.document.body.classList.remove(BodyClass.isAndroidKeyboardHidden);\n········this.document.body.classList.remove(BodyClass.isAndroidKeyboardShown);\n········this.document.body.classList.add(\n··········isShown·?·BodyClass.isAndroidKeyboardShown·:·BodyClass.isAndroidKeyboardHidden,\n········);\n······});\n····}\n\n····//·Use·effect·to·reactively·update·animation·class\n····effect(()·=>·{\n······const·misc·=·this._globalConfigService.misc();\n······if·(misc?.isDisableAnimations)·{\n········this.document.body.classList.add(BodyClass.isDisableAnimations);\n······}·else·{\n········this.document.body.classList.remove(BodyClass.isDisableAnimations);\n······}\n····});\n\n····//·Add/remove·hasBgImage·class·to·body·when·background·image·changes\n····effect(()·=>·{\n······if·(this.backgroundImg())·{\n········this.document.body.classList.add(BodyClass.hasBgImage);\n······}·else·{\n········this.document.body.classList.remove(BodyClass.hasBgImage);\n······}\n····});\n\n····//·Add/remove·has-mobile-bottom-nav·class·to·body·for·snack·bar·positioning\n····effect(()·=>·{\n······if·(this._layoutService.isShowMobileBottomNav)·{\n········this.document.body.classList.add(BodyClass.hasMobileBottomNav);\n······}·else·{\n········this.document.body.classList.remove(BodyClass.hasMobileBottomNav);\n······}\n····});\n\n····this._imexMetaService.isDataImportInProgress$.subscribe((isInProgress)·=>·{\n······//·timer(1000,·5000)\n······//···.pipe(map((val)·=>·val·%·2·===·0))\n······//···.subscribe((isInProgress)·=>·{\n······if·(isInProgress)·{\n········this.document.body.classList.add(BodyClass.isDataImportInProgress);\n······}·else·{\n········this.document.body.classList.remove(BodyClass.isDataImportInProgress);\n······}\n····});\n\n····if·(IS_TOUCH_ONLY)·{\n······this.document.body.classList.add(BodyClass.isTouchOnly);\n····}·else·{\n······this.document.body.classList.add(BodyClass.isNoTouchOnly);\n····}\n\n····if·(IS_MOUSE_PRIMARY)·{\n······this.document.body.classList.add(BodyClass.isMousePrimary);\n····}·else·if·(IS_TOUCH_PRIMARY)·{\n······this.document.body.classList.add(BodyClass.isTouchPrimary);\n····}\n··}\n\n··private·_setChartTheme(isDarkTheme:·boolean):·void·{\n····const·overrides:·ChartConfiguration['options']·=·isDarkTheme\n······?·{\n··········//·legend:·{\n··········//···labels:·{·fontColor:·'white'·},\n··········//·},\n··········scales:·{\n············x:·{\n··············ticks:·{\n················color:·'white',\n··············},\n··············grid:·{\n················color:·'rgba(255,255,255,0.1)',\n··············},\n············},\n\n············y:·{\n··············ticks:·{\n················color:·'white',\n··············},\n··············grid:·{\n················color:·'rgba(255,255,255,0.1)',\n··············},\n············},\n··········},\n········}\n······:·{\n··········scales:·{},\n········};\n····this._chartThemeService.setColorschemesOptions(overrides);\n··}\n\n··private·_setupCustomThemeEffect():·void·{\n····//·Track·previous·theme·to·avoid·unnecessary·reloads\n····let·previousThemeId:·string·|·null·=·null;\n\n····//·Set·up·effect·to·reactively·update·custom·theme·when·config·changes\n····effect(()·=>·{\n······const·misc·=·this._globalConfigService.misc();\n······const·themeId·=·misc?.customTheme·||·'default';\n\n······//·Only·load·theme·if·it·has·changed\n······if·(themeId·!==·previousThemeId)·{\n········this._customThemeService.loadTheme(themeId);\n········previousThemeId·=·themeId;\n······}\n····});\n··}\n}\n",4720 ········"import·{·effect,·inject,·Injectable,·signal·}·from·'@angular/core';\nimport·{·toObservable,·toSignal·}·from·'@angular/core/rxjs-interop';\nimport·{·BodyClass,·IS_ELECTRON·}·from·'../../app.constants';\nimport·{·IS_MAC·}·from·'../../util/is-mac';\nimport·{·distinctUntilChanged,·map,·startWith,·switchMap,·take·}·from·'rxjs/operators';\nimport·{·IS_TOUCH_ONLY·}·from·'../../util/is-touch-only';\nimport·{·MaterialCssVarsService·}·from·'angular-material-css-vars';\nimport·{·DOCUMENT·}·from·'@angular/common';\nimport·{·MatIconRegistry·}·from·'@angular/material/icon';\nimport·{·DomSanitizer·}·from·'@angular/platform-browser';\nimport·{·ChromeExtensionInterfaceService·}·from·'../chrome-extension-interface/chrome-extension-interface.service';\nimport·{·ThemeService·as·NgChartThemeService·}·from·'ng2-charts';\nimport·{·GlobalConfigService·}·from·'../../features/config/global-config.service';\nimport·{·WorkContextThemeCfg·}·from·'../../features/work-context/work-context.model';\nimport·{·WorkContextService·}·from·'../../features/work-context/work-context.service';\nimport·{·combineLatest,·fromEvent,·Observable,·of·}·from·'rxjs';\nimport·{·IS_FIREFOX·}·from·'../../util/is-firefox';\nimport·{·ImexViewService·}·from·'../../imex/imex-meta/imex-view.service';\nimport·{·IS_MOUSE_PRIMARY,·IS_TOUCH_PRIMARY·}·from·'../../util/is-mouse-primary';\nimport·{·ChartConfiguration·}·from·'chart.js';\nimport·{·IS_ANDROID_WEB_VIEW·}·from·'../../util/is-android-web-view';\nimport·{·androidInterface·}·from·'../../features/android/android-interface';\nimport·{·HttpClient·}·from·'@angular/common/http';\nimport·{·LS·}·from·'../persistence/storage-keys.const';\nimport·{·CustomThemeService·}·from·'./custom-theme.service';\nimport·{·Log·}·from·'../log';\nimport·{·LayoutService·}·from·'../../core-ui/layout/layout.service';\n\nexport·type·DarkModeCfg·=·'dark'·|·'light'·|·'system';\n\n@Injectable({·providedIn:·'root'·})\nexport·class·GlobalThemeService·{\n··private·document·=·inject<Document>(DOCUMENT);\n··private·_layoutService·=·inject(LayoutService);\n··private·_materialCssVarsService·=·inject(MaterialCssVarsService);\n··private·_workContextService·=·inject(WorkContextService);\n··private·_globalConfigService·=·inject(GlobalConfigService);\n··private·_matIconRegistry·=·inject(MatIconRegistry);\n··private·readonly·_registeredPluginIcons·=·new·Set<string>();\n··private·_domSanitizer·=·inject(DomSanitizer);\n··private·_chartThemeService·=·inject(NgChartThemeService);\n··private·_chromeExtensionInterfaceService·=·inject(ChromeExtensionInterfaceService);\n··private·_imexMetaService·=·inject(ImexViewService);\n··private·_http·=·inject(HttpClient);\n··private·_customThemeService·=·inject(CustomThemeService);\n\n··darkMode·=·signal<DarkModeCfg>(\n····(localStorage.getItem(LS.DARK_MODE)·as·DarkModeCfg)·||·'system',\n··);\n\n··private·_isDarkThemeObs$:·Observable<boolean>·=·toObservable(this.darkMode).pipe(\n····switchMap((darkMode)·=>·{\n······switch·(darkMode)·{\n········case·'dark':\n··········return·of(true);\n········case·'light':\n··········return·of(false);\n········default:\n··········const·darkModePreference·=·window.matchMedia('(prefers-color-scheme:·dark)');\n··········return·fromEvent(darkModePreference,·'change').pipe(\n············map((e:·any)·=>·e.matches),\n············startWith(darkModePreference.matches),\n··········);\n······}\n····}),\n····distinctUntilChanged(),\n··);\n\n··isDarkTheme·=·toSignal(this._isDarkThemeObs$,·{·initialValue:·false·});\n\n··private·_backgroundImgObs$:·Observable<string·|·null·|·undefined>·=·combineLatest([\n····this._workContextService.currentTheme$,\n····this._isDarkThemeObs$,\n··]).pipe(\n····map(([theme,·isDarkMode])·=>\n······isDarkMode·?·theme.backgroundImageDark·:·theme.backgroundImageLight,\n····),\n····distinctUntilChanged(),\n··);\n\n··backgroundImg·=·toSignal(this._backgroundImgObs$);\n\n··init():·void·{\n····//·This·is·here·to·make·web·page·reloads·on·non-work-context·pages·at·least·usable\n····this._setBackgroundTint(true);\n····this._initIcons();\n····this._initHandlersForInitialBodyClasses();\n····this._initThemeWatchers();\n\n····//·Set·up·dark·mode·persistence·effect\n····effect(()·=>·{\n······const·darkMode·=·this.darkMode();\n······localStorage.setItem(LS.DARK_MODE,·darkMode);\n····});\n\n····//·Set·up·reactive·custom·theme·updates\n····this._setupCustomThemeEffect();\n··}\n\n··private·_setDarkTheme(isDarkTheme:·boolean):·void·{\n····this._materialCssVarsService.setDarkTheme(isDarkTheme);\n····this._setChartTheme(isDarkTheme);\n····//·this._materialCssVarsService.setDarkTheme(true);\n····//·this._materialCssVarsService.setDarkTheme(false);\n··}\n\n··private·_setColorTheme(theme:·WorkContextThemeCfg):·void·{\n····this._materialCssVarsService.setAutoContrastEnabled(!!theme.isAutoContrast);\n····this._setBackgroundTint(!!theme.isDisableBackgroundTint);\n\n····//·NOTE:·setting·undefined·values·does·not·seem·to·be·a·problem·so·we·use·!\n····if·(!theme.isAutoContrast)·{\n······this._materialCssVarsService.setContrastColorThresholdPrimary(theme.huePrimary!);\n······this._materialCssVarsService.setContrastColorThresholdAccent(theme.hueAccent!);\n······this._materialCssVarsService.setContrastColorThresholdWarn(theme.hueWarn!);\n····}\n\n····this._materialCssVarsService.setPrimaryColor(theme.primary!);\n····this._materialCssVarsService.setAccentColor(theme.accent!);\n····this._materialCssVarsService.setWarnColor(theme.warn!);\n··}\n\n··private·_setBackgroundTint(isDisableBackgroundTint:·boolean):·void·{\n····//·Simplify:·toggle·only·the·disable·flag;·CSS·handles·the·rest\n····this.document.body.classList.toggle(\n······BodyClass.isDisableBackgroundTint,\n······!!isDisableBackgroundTint,\n····);\n··}\n\n··private·_initIcons():·void·{\n····const·icons:·[string,·string][]·=·[\n······['sp',·'assets/icons/sp.svg'],\n······['play',·'assets/icons/play.svg'],\n······['github',·'assets/icons/github.svg'],\n······['gitlab',·'assets/icons/gitlab.svg'],\n······['jira',·'assets/icons/jira.svg'],\n······['caldav',·'assets/icons/caldav.svg'],\n······['open_project',·'assets/icons/open-project.svg'],\n······['drag_handle',·'assets/icons/drag-handle.svg'],\n······['remove_today',·'assets/icons/remove-today-48px.svg'],\n······['estimate_remaining',·'assets/icons/estimate-remaining.svg'],\n······['working_today',·'assets/icons/working-today.svg'],\n······['repeat',·'assets/icons/repeat.svg'],\n······['gitea',·'assets/icons/gitea.svg'],\n······['redmine',·'assets/icons/redmine.svg'],\n······['calendar',·'assets/icons/calendar.svg'],\n······['early_on',·'assets/icons/early-on.svg'],\n······['tomorrow',·'assets/icons/tomorrow.svg'],\n······['next_week',·'assets/icons/next-week.svg'],\n······['keep',·'assets/icons/keep.svg'],\n······['keep_filled',·'assets/icons/keep-filled.svg'],\n····];\n\n····//·todo·test·if·can·be·removed·with·airplane·mode·and·wifi·without·internet\n····icons.forEach(([name,·path])·=>·{\n······this._matIconRegistry.addSvgIcon(\n········name,\n········this._domSanitizer.bypassSecurityTrustResourceUrl(path),\n······);\n····});\n\n····this.preloadIcons(icons);\n··}\n\n··preloadIcons(icons:·[string,·string][]):·Promise<void[]>·{\n····//·Map·each·icon·name·to·a·promise·that·fetches·and·registers·the·icon.\n····const·iconPromises·=·icons.map(([iconName,·url])·=>·{\n······//·Construct·the·URL·for·the·SVG·file.\n······//·Adjust·the·path·if·your·SVGs·are·located·elsewhere.\n······return·this._http\n········.get(url,·{·responseType:·'text'·})\n········.toPromise()\n········.then((svg)·=>·{\n··········//·Register·the·fetched·SVG·as·an·inline·icon.\n··········this._matIconRegistry.addSvgIconLiteral(\n············iconName,\n············this._domSanitizer.bypassSecurityTrustHtml(svg),\n··········);\n········})\n········.catch((error)·=>·{\n··········Log.err(`Error·loading·icon:·${iconName}·from·${url}`,·error);\n········});\n····});\n\n····//·Return·a·promise·that·resolves·when·all·icons·have·been·processed.\n····return·Promise.all(iconPromises);\n··}\n\n··registerSvgIcon(iconName:·string,·url:·string):·void·{\n····//·Plugin·icon·is·already·registered,·skip\n····if·(this._registeredPluginIcons.has(iconName))·return;\n····this._matIconRegistry.addSvgIcon(\n······iconName,\n······this._domSanitizer.bypassSecurityTrustResourceUrl(url),\n····);\n····this._registeredPluginIcons.add(iconName);\n··}\n\n··registerSvgIconFromContent(iconName:·string,·svgContent:·string):·void·{\n····//·Plugin·icon·is·already·registered,·skip\n····if·(this._registeredPluginIcons.has(iconName))·return;\n····this._matIconRegistry.addSvgIconLiteral(\n······iconName,\n······this._domSanitizer.bypassSecurityTrustHtml(svgContent),\n····);\n····this._registeredPluginIcons.add(iconName);\n··}\n\n··private·_initThemeWatchers():·void·{\n····//·init·theme·watchers\n····this._workContextService.currentTheme$.subscribe((theme:·WorkContextThemeCfg)·=>\n······this._setColorTheme(theme),\n····);\n····this._isDarkThemeObs$.subscribe((isDarkTheme)·=>·this._setDarkTheme(isDarkTheme));\n··}\n\n··private·_initHandlersForInitialBodyClasses():·void·{\n····this.document.body.classList.add(BodyClass.isNoAdvancedFeatures);\n\n····if·(!IS_FIREFOX)·{\n······this.document.body.classList.add(BodyClass.isNoFirefox);\n····}\n\n····if·(IS_MAC)·{\n······this.document.body.classList.add(BodyClass.isMac);\n····}·else·{\n······this.document.body.classList.add(BodyClass.isNoMac);\n····}\n\n····if·(IS_ELECTRON)·{\n······this.document.body.classList.add(BodyClass.isElectron);\n······this.document.body.classList.add(BodyClass.isAdvancedFeatures);\n······this.document.body.classList.remove(BodyClass.isNoAdvancedFeatures);\n····}·else·{\n······this.document.body.classList.add(BodyClass.isWeb);\n······this._chromeExtensionInterfaceService.onReady$.pipe(take(1)).subscribe(()·=>·{\n········this.document.body.classList.add(BodyClass.isExtension);\n········this.document.body.classList.add(BodyClass.isAdvancedFeatures);\n········this.document.body.classList.remove(BodyClass.isNoAdvancedFeatures);\n······});\n····}\n\n····if·(IS_ANDROID_WEB_VIEW)·{\n······androidInterface.isKeyboardShown$.subscribe((isShown)·=>·{\n········Log.log('isShown',·isShown);\n\n········this.document.body.classList.remove(BodyClass.isAndroidKeyboardHidden);\n········this.document.body.classList.remove(BodyClass.isAndroidKeyboardShown);\n········this.document.body.classList.add(\n··········isShown·?·BodyClass.isAndroidKeyboardShown·:·BodyClass.isAndroidKeyboardHidden,\n········);\n······});\n····}\n\n····//·Use·effect·to·reactively·update·animation·class\n····effect(()·=>·{\n······const·misc·=·this._globalConfigService.misc();\n······if·(misc?.isDisableAnimations)·{\n········this.document.body.classList.add(BodyClass.isDisableAnimations);\n······}·else·{\n········this.document.body.classList.remove(BodyClass.isDisableAnimations);\n······}\n····});\n\n····//·Add/remove·hasBgImage·class·to·body·when·background·image·changes\n····effect(()·=>·{\n······if·(this.backgroundImg())·{\n········this.document.body.classList.add(BodyClass.hasBgImage);\n······}·else·{\n········this.document.body.classList.remove(BodyClass.hasBgImage);\n······}\n····});\n\n····//·Add/remove·has-mobile-bottom-nav·class·to·body·for·snack·bar·positioning\n····effect(()·=>·{\n······if·(this._layoutService.isShowMobileBottomNav)·{\n········this.document.body.classList.add(BodyClass.hasMobileBottomNav);\n······}·else·{\n········this.document.body.classList.remove(BodyClass.hasMobileBottomNav);\n······}\n····});\n\n····this._imexMetaService.isDataImportInProgress$.subscribe((isInProgress)·=>·{\n······//·timer(1000,·5000)\n······//···.pipe(map((val)·=>·val·%·2·===·0))\n······//···.subscribe((isInProgress)·=>·{\n······if·(isInProgress)·{\n········this.document.body.classList.add(BodyClass.isDataImportInProgress);\n······}·else·{\n········this.document.body.classList.remove(BodyClass.isDataImportInProgress);\n······}\n····});\n\n····if·(IS_TOUCH_ONLY)·{\n······this.document.body.classList.add(BodyClass.isTouchOnly);\n····}·else·{\n······this.document.body.classList.add(BodyClass.isNoTouchOnly);\n····}\n\n····if·(IS_MOUSE_PRIMARY)·{\n······this.document.body.classList.add(BodyClass.isMousePrimary);\n····}·else·if·(IS_TOUCH_PRIMARY)·{\n······this.document.body.classList.add(BodyClass.isTouchPrimary);\n····}\n··}\n\n··private·_setChartTheme(isDarkTheme:·boolean):·void·{\n····const·overrides:·ChartConfiguration['options']·=·isDarkTheme\n······?·{\n··········//·legend:·{\n··········//···labels:·{·fontColor:·'white'·},\n··········//·},\n··········scales:·{\n············x:·{\n··············ticks:·{\n················color:·'white',\n··············},\n··············grid:·{\n················color:·'rgba(255,255,255,0.1)',\n··············},\n············},\n\n············y:·{\n··············ticks:·{\n················color:·'white',\n··············},\n··············grid:·{\n················color:·'rgba(255,255,255,0.1)',\n··············},\n············},\n··········},\n········}\n······:·{\n··········scales:·{},\n········};\n····this._chartThemeService.setColorschemesOptions(overrides);\n··}\n\n··private·_setupCustomThemeEffect():·void·{\n····//·Track·previous·theme·to·avoid·unnecessary·reloads\n····let·previousThemeId:·string·|·null·=·null;\n\n····//·Set·up·effect·to·reactively·update·custom·theme·when·config·changes\n····effect(()·=>·{\n······const·misc·=·this._globalConfigService.misc();\n······const·themeId·=·misc?.customTheme·||·'default';\n\n······//·Only·load·theme·if·it·has·changed\n······if·(themeId·!==·previousThemeId)·{\n········this._customThemeService.loadTheme(themeId);\n········previousThemeId·=·themeId;\n······}\n····});\n··}\n}\n",
728 B
assets/public/chunk-DGYEIQRF.js vs.
assets/public/chunk-F6XQH7DD.js
Files 99% similar despite different names
625 B
js-beautify {}
    
Offset 10328, 8 lines modifiedOffset 10328, 8 lines modified
10328 ········}10328 ········}
10329 ········return·r10329 ········return·r
10330 ····})()10330 ····})()
10331 });10331 });
10332 export·{10332 export·{
10333 ····ye·as·a,·As·as·b,·xt·as·c,·Ym·as·d,·$h·as·e,·zh·as·f,·ip·as·g,·Qs·as·h,·Ks·as·i,·Lt·as·j,·dr·as·k,·po·as·l,·ed·as·m,·_t·as·n,·Xs·as·o,·Bn·as·p,·Zs·as·q,·cr·as·r,·en·as·s,·Qn·as·t,·Yl·as·u,·Ql·as·v,·eb·as·w,·sc·as·x,·kc·as·y,·ao·as·z,·vc·as·A,·so·as·B,·Tc·as·C,·Sc·as·D,·A_·as·E,·hl·as·F,·Bc·as·G,·Uc·as·H,·$c·as·I,·zc·as·J,·jc·as·K,·Hc·as·L,·Wc·as·M,·Xc·as·N,·Zc·as·O,·sn·as·P,·mo·as·Q,·cd·as·R,·dd·as·S,·md·as·T,·pd·as·U10333 ····ye·as·a,·As·as·b,·xt·as·c,·Ym·as·d,·$h·as·e,·zh·as·f,·ip·as·g,·Qs·as·h,·Ks·as·i,·Lt·as·j,·dr·as·k,·po·as·l,·ed·as·m,·_t·as·n,·Xs·as·o,·Bn·as·p,·Zs·as·q,·cr·as·r,·en·as·s,·Qn·as·t,·Yl·as·u,·Ql·as·v,·eb·as·w,·sc·as·x,·kc·as·y,·ao·as·z,·vc·as·A,·so·as·B,·Tc·as·C,·Sc·as·D,·A_·as·E,·hl·as·F,·Bc·as·G,·Uc·as·H,·$c·as·I,·zc·as·J,·jc·as·K,·Hc·as·L,·Wc·as·M,·Xc·as·N,·Zc·as·O,·sn·as·P,·mo·as·Q,·cd·as·R,·dd·as·S,·md·as·T,·pd·as·U
10334 };10334 };
10335 //#·sourceMappingURL=chunk-DGYEIQRF.js.map10335 //#·sourceMappingURL=chunk-F6XQH7DD.js.map
109 B
assets/public/chunk-5K2KJAE2.js.map vs.
assets/public/chunk-ZYJZYVZO.js.map
Files identical despite different names
1.44 KB
assets/public/chunk-5K2KJAE2.js vs.
assets/public/chunk-ZYJZYVZO.js
Files 99% similar despite different names
1.34 KB
js-beautify {}
    
Offset 11, 15 lines modifiedOffset 11, 15 lines modified
11 ····b·as·rn,11 ····b·as·rn,
12 ····c·as·Se,12 ····c·as·Se,
13 ····d·as·Vt,13 ····d·as·Vt,
14 ····e·as·Ht,14 ····e·as·Ht,
15 ····f·as·bn,15 ····f·as·bn,
16 ····g·as·ai,16 ····g·as·ai,
17 ····h·as·Dn17 ····h·as·Dn
18 }·from·"./chunk-IBXT64SC.js";18 }·from·"./chunk-AR2CJJAZ.js";
19 import·{19 import·{
20 ····a·as·ft,20 ····a·as·ft,
21 ····b·as·It,21 ····b·as·It,
22 ····c·as·gn22 ····c·as·gn
23 }·from·"./chunk-LXEPUW62.js";23 }·from·"./chunk-LXEPUW62.js";
24 import·{24 import·{
25 ····a·as·X,25 ····a·as·X,
Offset 29, 15 lines modifiedOffset 29, 15 lines modified
29 ····a·as·qt,29 ····a·as·qt,
30 ····b·as·Nn,30 ····b·as·Nn,
31 ····c·as·zt,31 ····c·as·zt,
32 ····d·as·Rn,32 ····d·as·Rn,
33 ····e·as·Pn,33 ····e·as·Pn,
34 ····f·as·jt,34 ····f·as·jt,
35 ····g·as·kn35 ····g·as·kn
36 }·from·"./chunk-YPRQAIOS.js";36 }·from·"./chunk-SOZUCUV5.js";
37 import·{37 import·{
38 ····a·as·Qt,38 ····a·as·Qt,
39 ····b·as·ei,39 ····b·as·ei,
40 ····c·as·ti,40 ····c·as·ti,
41 ····d·as·ii,41 ····d·as·ii,
42 ····e·as·ni,42 ····e·as·ni,
43 ····f·as·oi,43 ····f·as·oi,
Offset 50, 15 lines modifiedOffset 50, 15 lines modified
50 import·{50 import·{
51 ····e·as·Wt,51 ····e·as·Wt,
52 ····f·as·yn,52 ····f·as·yn,
53 ····g·as·Xt,53 ····g·as·Xt,
54 ····h·as·Fn,54 ····h·as·Fn,
55 ····k·as·$t,55 ····k·as·$t,
56 ····l·as·Mn56 ····l·as·Mn
57 }·from·"./chunk-N4WJFOTX.js";57 }·from·"./chunk-MXKZH4BG.js";
58 import·{58 import·{
59 ····B·as·Sn,59 ····B·as·Sn,
60 ····G·as·Lt,60 ····G·as·Lt,
61 ····H·as·Ut,61 ····H·as·Ut,
62 ····I·as·Bt,62 ····I·as·Bt,
63 ····J·as·Kt,63 ····J·as·Kt,
64 ····K·as·In,64 ····K·as·In,
Offset 68, 15 lines modifiedOffset 68, 15 lines modified
68 ····U·as·An,68 ····U·as·An,
69 ····p·as·Ae,69 ····p·as·Ae,
70 ····q·as·Cn,70 ····q·as·Cn,
71 ····u·as·Rt,71 ····u·as·Rt,
72 ····v·as·On,72 ····v·as·On,
73 ····y·as·kt,73 ····y·as·kt,
74 ····z·as·xt74 ····z·as·xt
75 }·from·"./chunk-DGYEIQRF.js";75 }·from·"./chunk-F6XQH7DD.js";
76 import·"./chunk-YFVEOEWN.js";76 import·"./chunk-YFVEOEWN.js";
77 import·"./chunk-VXW536TA.js";77 import·"./chunk-VXW536TA.js";
78 import·{78 import·{
79 ····b·as·vt,79 ····b·as·vt,
80 ····e·as·Gt,80 ····e·as·Gt,
81 ····j·as·Tn81 ····j·as·Tn
82 }·from·"./chunk-3DJMUK5T.js";82 }·from·"./chunk-3DJMUK5T.js";
Offset 2600, 8 lines modifiedOffset 2600, 8 lines modified
2600 ········return·i2600 ········return·i
2601 ····})()2601 ····})()
2602 });2602 });
2603 go();2603 go();
2604 export·{2604 export·{
2605 ····Rl·as·ConfigPageComponent2605 ····Rl·as·ConfigPageComponent
2606 };2606 };
2607 //#·sourceMappingURL=chunk-5K2KJAE2.js.map2607 //#·sourceMappingURL=chunk-ZYJZYVZO.js.map