166 KB
/home/fdroid/fdroiddata/tmp/com.superproductivity.superproductivity_1403030000.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_com.superproductivity.superproductivity_1403030000.apk
16.5 KB
zipinfo {}
    
Offset 123, 14 lines modifiedOffset 123, 16 lines modified
123 -rw-r--r--··0.0·unx······756·b-·defN·81-Jan-01·01:01·assets/public/chip-list-input.component-GQQYZYBD.css.map123 -rw-r--r--··0.0·unx······756·b-·defN·81-Jan-01·01:01·assets/public/chip-list-input.component-GQQYZYBD.css.map
124 -rw-r--r--··0.0·unx·····2001·b-·defN·81-Jan-01·01:01·assets/public/chunk-2LCQAWGQ.js124 -rw-r--r--··0.0·unx·····2001·b-·defN·81-Jan-01·01:01·assets/public/chunk-2LCQAWGQ.js
125 -rw-r--r--··0.0·unx·····3277·b-·defN·81-Jan-01·01:01·assets/public/chunk-2LCQAWGQ.js.map125 -rw-r--r--··0.0·unx·····3277·b-·defN·81-Jan-01·01:01·assets/public/chunk-2LCQAWGQ.js.map
126 -rw-r--r--··0.0·unx·····2086·b-·defN·81-Jan-01·01:01·assets/public/chunk-2MOZFEFW.js126 -rw-r--r--··0.0·unx·····2086·b-·defN·81-Jan-01·01:01·assets/public/chunk-2MOZFEFW.js
127 -rw-r--r--··0.0·unx·····6640·b-·defN·81-Jan-01·01:01·assets/public/chunk-2MOZFEFW.js.map127 -rw-r--r--··0.0·unx·····6640·b-·defN·81-Jan-01·01:01·assets/public/chunk-2MOZFEFW.js.map
128 -rw-r--r--··0.0·unx·····2044·b-·defN·81-Jan-01·01:01·assets/public/chunk-2NYJ54WT.js128 -rw-r--r--··0.0·unx·····2044·b-·defN·81-Jan-01·01:01·assets/public/chunk-2NYJ54WT.js
129 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-2NYJ54WT.js.map129 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-2NYJ54WT.js.map
 130 -rw-r--r--··0.0·unx···254888·b-·defN·81-Jan-01·01:01·assets/public/chunk-2XB3YG6S.js
 131 -rw-r--r--··0.0·unx···798267·b-·defN·81-Jan-01·01:01·assets/public/chunk-2XB3YG6S.js.map
130 -rw-r--r--··0.0·unx·····1956·b-·defN·81-Jan-01·01:01·assets/public/chunk-35DXYMHQ.js132 -rw-r--r--··0.0·unx·····1956·b-·defN·81-Jan-01·01:01·assets/public/chunk-35DXYMHQ.js
131 -rw-r--r--··0.0·unx·····7789·b-·defN·81-Jan-01·01:01·assets/public/chunk-35DXYMHQ.js.map133 -rw-r--r--··0.0·unx·····7789·b-·defN·81-Jan-01·01:01·assets/public/chunk-35DXYMHQ.js.map
132 -rw-r--r--··0.0·unx·····9276·b-·defN·81-Jan-01·01:01·assets/public/chunk-3E43H4SH.js134 -rw-r--r--··0.0·unx·····9276·b-·defN·81-Jan-01·01:01·assets/public/chunk-3E43H4SH.js
133 -rw-r--r--··0.0·unx····32056·b-·defN·81-Jan-01·01:01·assets/public/chunk-3E43H4SH.js.map135 -rw-r--r--··0.0·unx····32056·b-·defN·81-Jan-01·01:01·assets/public/chunk-3E43H4SH.js.map
134 -rw-r--r--··0.0·unx····51367·b-·defN·81-Jan-01·01:01·assets/public/chunk-3PWEB74O.js136 -rw-r--r--··0.0·unx····51367·b-·defN·81-Jan-01·01:01·assets/public/chunk-3PWEB74O.js
135 -rw-r--r--··0.0·unx···259551·b-·defN·81-Jan-01·01:01·assets/public/chunk-3PWEB74O.js.map137 -rw-r--r--··0.0·unx···259551·b-·defN·81-Jan-01·01:01·assets/public/chunk-3PWEB74O.js.map
136 -rw-r--r--··0.0·unx······615·b-·defN·81-Jan-01·01:01·assets/public/chunk-3UB54IM4.js138 -rw-r--r--··0.0·unx······615·b-·defN·81-Jan-01·01:01·assets/public/chunk-3UB54IM4.js
Offset 145, 68 lines modifiedOffset 147, 70 lines modified
145 -rw-r--r--··0.0·unx·····4533·b-·defN·81-Jan-01·01:01·assets/public/chunk-4LMAZLVZ.js.map147 -rw-r--r--··0.0·unx·····4533·b-·defN·81-Jan-01·01:01·assets/public/chunk-4LMAZLVZ.js.map
146 -rw-r--r--··0.0·unx····55071·b-·defN·81-Jan-01·01:01·assets/public/chunk-4RZOEXF7.js148 -rw-r--r--··0.0·unx····55071·b-·defN·81-Jan-01·01:01·assets/public/chunk-4RZOEXF7.js
147 -rw-r--r--··0.0·unx···403411·b-·defN·81-Jan-01·01:01·assets/public/chunk-4RZOEXF7.js.map149 -rw-r--r--··0.0·unx···403411·b-·defN·81-Jan-01·01:01·assets/public/chunk-4RZOEXF7.js.map
148 -rw-r--r--··0.0·unx·····4853·b-·defN·81-Jan-01·01:01·assets/public/chunk-4WKVJOAH.js150 -rw-r--r--··0.0·unx·····4853·b-·defN·81-Jan-01·01:01·assets/public/chunk-4WKVJOAH.js
149 -rw-r--r--··0.0·unx····56024·b-·defN·81-Jan-01·01:01·assets/public/chunk-4WKVJOAH.js.map151 -rw-r--r--··0.0·unx····56024·b-·defN·81-Jan-01·01:01·assets/public/chunk-4WKVJOAH.js.map
150 -rw-r--r--··0.0·unx·····4604·b-·defN·81-Jan-01·01:01·assets/public/chunk-5IJWVGPP.js152 -rw-r--r--··0.0·unx·····4604·b-·defN·81-Jan-01·01:01·assets/public/chunk-5IJWVGPP.js
151 -rw-r--r--··0.0·unx·····8705·b-·defN·81-Jan-01·01:01·assets/public/chunk-5IJWVGPP.js.map153 -rw-r--r--··0.0·unx·····8705·b-·defN·81-Jan-01·01:01·assets/public/chunk-5IJWVGPP.js.map
 154 -rw-r--r--··0.0·unx·····1015·b-·defN·81-Jan-01·01:01·assets/public/chunk-5TDSJN67.js
 155 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-5TDSJN67.js.map
 156 -rw-r--r--··0.0·unx·····3098·b-·defN·81-Jan-01·01:01·assets/public/chunk-6KMYC34R.js
 157 -rw-r--r--··0.0·unx·····9576·b-·defN·81-Jan-01·01:01·assets/public/chunk-6KMYC34R.js.map
152 -rw-r--r--··0.0·unx·····1162·b-·defN·81-Jan-01·01:01·assets/public/chunk-6QC7LO6P.js158 -rw-r--r--··0.0·unx·····1162·b-·defN·81-Jan-01·01:01·assets/public/chunk-6QC7LO6P.js
153 -rw-r--r--··0.0·unx·····2945·b-·defN·81-Jan-01·01:01·assets/public/chunk-6QC7LO6P.js.map159 -rw-r--r--··0.0·unx·····2945·b-·defN·81-Jan-01·01:01·assets/public/chunk-6QC7LO6P.js.map
154 -rw-r--r--··0.0·unx·····8837·b-·defN·81-Jan-01·01:01·assets/public/chunk-76O5NF5S.js160 -rw-r--r--··0.0·unx·····8837·b-·defN·81-Jan-01·01:01·assets/public/chunk-76O5NF5S.js
155 -rw-r--r--··0.0·unx····44826·b-·defN·81-Jan-01·01:01·assets/public/chunk-76O5NF5S.js.map161 -rw-r--r--··0.0·unx····44826·b-·defN·81-Jan-01·01:01·assets/public/chunk-76O5NF5S.js.map
156 -rw-r--r--··0.0·unx····29977·b-·defN·81-Jan-01·01:01·assets/public/chunk-7JUHICSP.js 
157 -rw-r--r--··0.0·unx···109075·b-·defN·81-Jan-01·01:01·assets/public/chunk-7JUHICSP.js.map 
158 -rw-r--r--··0.0·unx·····2829·b-·defN·81-Jan-01·01:01·assets/public/chunk-7KIIUYK2.js162 -rw-r--r--··0.0·unx·····2829·b-·defN·81-Jan-01·01:01·assets/public/chunk-7KIIUYK2.js
159 -rw-r--r--··0.0·unx····11992·b-·defN·81-Jan-01·01:01·assets/public/chunk-7KIIUYK2.js.map163 -rw-r--r--··0.0·unx····11992·b-·defN·81-Jan-01·01:01·assets/public/chunk-7KIIUYK2.js.map
160 -rw-r--r--··0.0·unx·····1214·b-·defN·81-Jan-01·01:01·assets/public/chunk-7MCI5DGR.js164 -rw-r--r--··0.0·unx·····1214·b-·defN·81-Jan-01·01:01·assets/public/chunk-7MCI5DGR.js
161 -rw-r--r--··0.0·unx·····3481·b-·defN·81-Jan-01·01:01·assets/public/chunk-7MCI5DGR.js.map165 -rw-r--r--··0.0·unx·····3481·b-·defN·81-Jan-01·01:01·assets/public/chunk-7MCI5DGR.js.map
162 -rw-r--r--··0.0·unx·····8847·b-·defN·81-Jan-01·01:01·assets/public/chunk-7VZPLBFY.js166 -rw-r--r--··0.0·unx·····8847·b-·defN·81-Jan-01·01:01·assets/public/chunk-7VZPLBFY.js
163 -rw-r--r--··0.0·unx····15671·b-·defN·81-Jan-01·01:01·assets/public/chunk-7VZPLBFY.js.map167 -rw-r--r--··0.0·unx····15671·b-·defN·81-Jan-01·01:01·assets/public/chunk-7VZPLBFY.js.map
164 -rw-r--r--··0.0·unx·····3538·b-·defN·81-Jan-01·01:01·assets/public/chunk-A3PBXKUF.js168 -rw-r--r--··0.0·unx·····3538·b-·defN·81-Jan-01·01:01·assets/public/chunk-A3PBXKUF.js
165 -rw-r--r--··0.0·unx····10230·b-·defN·81-Jan-01·01:01·assets/public/chunk-A3PBXKUF.js.map169 -rw-r--r--··0.0·unx····10230·b-·defN·81-Jan-01·01:01·assets/public/chunk-A3PBXKUF.js.map
166 -rw-r--r--··0.0·unx····10796·b-·defN·81-Jan-01·01:01·assets/public/chunk-A5MBRGPF.js170 -rw-r--r--··0.0·unx····10796·b-·defN·81-Jan-01·01:01·assets/public/chunk-A5MBRGPF.js
167 -rw-r--r--··0.0·unx····41610·b-·defN·81-Jan-01·01:01·assets/public/chunk-A5MBRGPF.js.map171 -rw-r--r--··0.0·unx····41610·b-·defN·81-Jan-01·01:01·assets/public/chunk-A5MBRGPF.js.map
168 -rw-r--r--··0.0·unx······335·b-·defN·81-Jan-01·01:01·assets/public/chunk-A6QD6H33.js172 -rw-r--r--··0.0·unx······335·b-·defN·81-Jan-01·01:01·assets/public/chunk-A6QD6H33.js
169 -rw-r--r--··0.0·unx······680·b-·defN·81-Jan-01·01:01·assets/public/chunk-A6QD6H33.js.map173 -rw-r--r--··0.0·unx······680·b-·defN·81-Jan-01·01:01·assets/public/chunk-A6QD6H33.js.map
 174 -rw-r--r--··0.0·unx······933·b-·defN·81-Jan-01·01:01·assets/public/chunk-AF3ZV4WZ.js
 175 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-AF3ZV4WZ.js.map
170 -rw-r--r--··0.0·unx····51919·b-·defN·81-Jan-01·01:01·assets/public/chunk-AYQ5AFM6.js176 -rw-r--r--··0.0·unx····51919·b-·defN·81-Jan-01·01:01·assets/public/chunk-AYQ5AFM6.js
171 -rw-r--r--··0.0·unx···187498·b-·defN·81-Jan-01·01:01·assets/public/chunk-AYQ5AFM6.js.map177 -rw-r--r--··0.0·unx···187498·b-·defN·81-Jan-01·01:01·assets/public/chunk-AYQ5AFM6.js.map
172 -rw-r--r--··0.0·unx····54604·b-·defN·81-Jan-01·01:01·assets/public/chunk-B55LM2KC.js178 -rw-r--r--··0.0·unx····54604·b-·defN·81-Jan-01·01:01·assets/public/chunk-B55LM2KC.js
173 -rw-r--r--··0.0·unx···183846·b-·defN·81-Jan-01·01:01·assets/public/chunk-B55LM2KC.js.map179 -rw-r--r--··0.0·unx···183846·b-·defN·81-Jan-01·01:01·assets/public/chunk-B55LM2KC.js.map
174 -rw-r--r--··0.0·unx·····2210·b-·defN·81-Jan-01·01:01·assets/public/chunk-BE3UJ5P4.js180 -rw-r--r--··0.0·unx·····2210·b-·defN·81-Jan-01·01:01·assets/public/chunk-BE3UJ5P4.js
175 -rw-r--r--··0.0·unx·····3017·b-·defN·81-Jan-01·01:01·assets/public/chunk-BE3UJ5P4.js.map181 -rw-r--r--··0.0·unx·····3017·b-·defN·81-Jan-01·01:01·assets/public/chunk-BE3UJ5P4.js.map
176 -rw-r--r--··0.0·unx······997·b-·defN·81-Jan-01·01:01·assets/public/chunk-BOROUNNF.js182 -rw-r--r--··0.0·unx······997·b-·defN·81-Jan-01·01:01·assets/public/chunk-BOROUNNF.js
177 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-BOROUNNF.js.map183 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-BOROUNNF.js.map
178 -rw-r--r--··0.0·unx·····4733·b-·defN·81-Jan-01·01:01·assets/public/chunk-BZ5T5H44.js184 -rw-r--r--··0.0·unx·····4733·b-·defN·81-Jan-01·01:01·assets/public/chunk-BZ5T5H44.js
179 -rw-r--r--··0.0·unx····18666·b-·defN·81-Jan-01·01:01·assets/public/chunk-BZ5T5H44.js.map185 -rw-r--r--··0.0·unx····18666·b-·defN·81-Jan-01·01:01·assets/public/chunk-BZ5T5H44.js.map
180 -rw-r--r--··0.0·unx······426·b-·defN·81-Jan-01·01:01·assets/public/chunk-CBO3U36G.js186 -rw-r--r--··0.0·unx······426·b-·defN·81-Jan-01·01:01·assets/public/chunk-CBO3U36G.js
181 -rw-r--r--··0.0·unx······949·b-·defN·81-Jan-01·01:01·assets/public/chunk-CBO3U36G.js.map187 -rw-r--r--··0.0·unx······949·b-·defN·81-Jan-01·01:01·assets/public/chunk-CBO3U36G.js.map
182 -rw-r--r--··0.0·unx·····3098·b-·defN·81-Jan-01·01:01·assets/public/chunk-CDTG5YKL.js 
183 -rw-r--r--··0.0·unx·····9576·b-·defN·81-Jan-01·01:01·assets/public/chunk-CDTG5YKL.js.map 
184 -rw-r--r--··0.0·unx···254888·b-·defN·81-Jan-01·01:01·assets/public/chunk-CW5T6SPQ.js 
185 -rw-r--r--··0.0·unx···798267·b-·defN·81-Jan-01·01:01·assets/public/chunk-CW5T6SPQ.js.map 
186 -rw-r--r--··0.0·unx·····2524·b-·defN·81-Jan-01·01:01·assets/public/chunk-DEMP2BFS.js188 -rw-r--r--··0.0·unx·····2524·b-·defN·81-Jan-01·01:01·assets/public/chunk-DEMP2BFS.js
187 -rw-r--r--··0.0·unx····10258·b-·defN·81-Jan-01·01:01·assets/public/chunk-DEMP2BFS.js.map189 -rw-r--r--··0.0·unx····10258·b-·defN·81-Jan-01·01:01·assets/public/chunk-DEMP2BFS.js.map
188 -rw-r--r--··0.0·unx·····5592·b-·defN·81-Jan-01·01:01·assets/public/chunk-DJXQXNMS.js190 -rw-r--r--··0.0·unx·····5592·b-·defN·81-Jan-01·01:01·assets/public/chunk-DJXQXNMS.js
189 -rw-r--r--··0.0·unx····20482·b-·defN·81-Jan-01·01:01·assets/public/chunk-DJXQXNMS.js.map191 -rw-r--r--··0.0·unx····20482·b-·defN·81-Jan-01·01:01·assets/public/chunk-DJXQXNMS.js.map
190 -rw-r--r--··0.0·unx··1116304·b-·defN·81-Jan-01·01:01·assets/public/chunk-DSREQ3L4.js192 -rw-r--r--··0.0·unx··1116304·b-·defN·81-Jan-01·01:01·assets/public/chunk-DSREQ3L4.js
191 -rw-r--r--··0.0·unx··4970219·b-·defN·81-Jan-01·01:01·assets/public/chunk-DSREQ3L4.js.map193 -rw-r--r--··0.0·unx··4970219·b-·defN·81-Jan-01·01:01·assets/public/chunk-DSREQ3L4.js.map
192 -rw-r--r--··0.0·unx·····2220·b-·defN·81-Jan-01·01:01·assets/public/chunk-E6ILWUMV.js194 -rw-r--r--··0.0·unx·····2220·b-·defN·81-Jan-01·01:01·assets/public/chunk-E6ILWUMV.js
193 -rw-r--r--··0.0·unx·····4787·b-·defN·81-Jan-01·01:01·assets/public/chunk-E6ILWUMV.js.map195 -rw-r--r--··0.0·unx·····4787·b-·defN·81-Jan-01·01:01·assets/public/chunk-E6ILWUMV.js.map
194 -rw-r--r--··0.0·unx····18901·b-·defN·81-Jan-01·01:01·assets/public/chunk-EXYSAUSN.js196 -rw-r--r--··0.0·unx····18901·b-·defN·81-Jan-01·01:01·assets/public/chunk-EXYSAUSN.js
195 -rw-r--r--··0.0·unx····72134·b-·defN·81-Jan-01·01:01·assets/public/chunk-EXYSAUSN.js.map197 -rw-r--r--··0.0·unx····72134·b-·defN·81-Jan-01·01:01·assets/public/chunk-EXYSAUSN.js.map
196 -rw-r--r--··0.0·unx·····6602·b-·defN·81-Jan-01·01:01·assets/public/chunk-FOXRPRBP.js198 -rw-r--r--··0.0·unx·····6602·b-·defN·81-Jan-01·01:01·assets/public/chunk-FOXRPRBP.js
197 -rw-r--r--··0.0·unx····27239·b-·defN·81-Jan-01·01:01·assets/public/chunk-FOXRPRBP.js.map199 -rw-r--r--··0.0·unx····27239·b-·defN·81-Jan-01·01:01·assets/public/chunk-FOXRPRBP.js.map
198 -rw-r--r--··0.0·unx····97631·b-·defN·81-Jan-01·01:01·assets/public/chunk-FS5VL5NZ.js200 -rw-r--r--··0.0·unx····97631·b-·defN·81-Jan-01·01:01·assets/public/chunk-FS5VL5NZ.js
199 -rw-r--r--··0.0·unx···357262·b-·defN·81-Jan-01·01:01·assets/public/chunk-FS5VL5NZ.js.map201 -rw-r--r--··0.0·unx···357262·b-·defN·81-Jan-01·01:01·assets/public/chunk-FS5VL5NZ.js.map
 202 -rw-r--r--··0.0·unx····11454·b-·defN·81-Jan-01·01:01·assets/public/chunk-FZ6Z4X5W.js
 203 -rw-r--r--··0.0·unx····22568·b-·defN·81-Jan-01·01:01·assets/public/chunk-FZ6Z4X5W.js.map
200 -rw-r--r--··0.0·unx····48427·b-·defN·81-Jan-01·01:01·assets/public/chunk-G26D3TEH.js204 -rw-r--r--··0.0·unx····48427·b-·defN·81-Jan-01·01:01·assets/public/chunk-G26D3TEH.js
201 -rw-r--r--··0.0·unx···133326·b-·defN·81-Jan-01·01:01·assets/public/chunk-G26D3TEH.js.map205 -rw-r--r--··0.0·unx···133326·b-·defN·81-Jan-01·01:01·assets/public/chunk-G26D3TEH.js.map
202 -rw-r--r--··0.0·unx·····9966·b-·defN·81-Jan-01·01:01·assets/public/chunk-G6HECC4Q.js206 -rw-r--r--··0.0·unx·····9966·b-·defN·81-Jan-01·01:01·assets/public/chunk-G6HECC4Q.js
203 -rw-r--r--··0.0·unx····27757·b-·defN·81-Jan-01·01:01·assets/public/chunk-G6HECC4Q.js.map207 -rw-r--r--··0.0·unx····27757·b-·defN·81-Jan-01·01:01·assets/public/chunk-G6HECC4Q.js.map
204 -rw-r--r--··0.0·unx···118944·b-·defN·81-Jan-01·01:01·assets/public/chunk-GWKOR6NW.js208 -rw-r--r--··0.0·unx····29977·b-·defN·81-Jan-01·01:01·assets/public/chunk-H5C5NXL7.js
205 -rw-r--r--··0.0·unx···180097·b-·defN·81-Jan-01·01:01·assets/public/chunk-GWKOR6NW.js.map209 -rw-r--r--··0.0·unx···109075·b-·defN·81-Jan-01·01:01·assets/public/chunk-H5C5NXL7.js.map
206 -rw-r--r--··0.0·unx····33015·b-·defN·81-Jan-01·01:01·assets/public/chunk-HUZPTJKV.js210 -rw-r--r--··0.0·unx····33015·b-·defN·81-Jan-01·01:01·assets/public/chunk-HUZPTJKV.js
207 -rw-r--r--··0.0·unx···112433·b-·defN·81-Jan-01·01:01·assets/public/chunk-HUZPTJKV.js.map211 -rw-r--r--··0.0·unx···112433·b-·defN·81-Jan-01·01:01·assets/public/chunk-HUZPTJKV.js.map
208 -rw-r--r--··0.0·unx···437230·b-·defN·81-Jan-01·01:01·assets/public/chunk-IIO2JXXO.js212 -rw-r--r--··0.0·unx···437230·b-·defN·81-Jan-01·01:01·assets/public/chunk-IIO2JXXO.js
209 -rw-r--r--··0.0·unx··1585333·b-·defN·81-Jan-01·01:01·assets/public/chunk-IIO2JXXO.js.map213 -rw-r--r--··0.0·unx··1585333·b-·defN·81-Jan-01·01:01·assets/public/chunk-IIO2JXXO.js.map
210 -rw-r--r--··0.0·unx····23637·b-·defN·81-Jan-01·01:01·assets/public/chunk-JDOMNCB7.js214 -rw-r--r--··0.0·unx····23637·b-·defN·81-Jan-01·01:01·assets/public/chunk-JDOMNCB7.js
211 -rw-r--r--··0.0·unx····41275·b-·defN·81-Jan-01·01:01·assets/public/chunk-JDOMNCB7.js.map215 -rw-r--r--··0.0·unx····41275·b-·defN·81-Jan-01·01:01·assets/public/chunk-JDOMNCB7.js.map
212 -rw-r--r--··0.0·unx····24109·b-·defN·81-Jan-01·01:01·assets/public/chunk-JE2WCTYC.js216 -rw-r--r--··0.0·unx····24109·b-·defN·81-Jan-01·01:01·assets/public/chunk-JE2WCTYC.js
Offset 223, 40 lines modifiedOffset 227, 36 lines modified
223 -rw-r--r--··0.0·unx······959·b-·defN·81-Jan-01·01:01·assets/public/chunk-MASHVMAF.js.map227 -rw-r--r--··0.0·unx······959·b-·defN·81-Jan-01·01:01·assets/public/chunk-MASHVMAF.js.map
224 -rw-r--r--··0.0·unx·····3030·b-·defN·81-Jan-01·01:01·assets/public/chunk-MB37G7UP.js228 -rw-r--r--··0.0·unx·····3030·b-·defN·81-Jan-01·01:01·assets/public/chunk-MB37G7UP.js
225 -rw-r--r--··0.0·unx····10699·b-·defN·81-Jan-01·01:01·assets/public/chunk-MB37G7UP.js.map229 -rw-r--r--··0.0·unx····10699·b-·defN·81-Jan-01·01:01·assets/public/chunk-MB37G7UP.js.map
226 -rw-r--r--··0.0·unx·····3323·b-·defN·81-Jan-01·01:01·assets/public/chunk-MBD7FTOH.js230 -rw-r--r--··0.0·unx·····3323·b-·defN·81-Jan-01·01:01·assets/public/chunk-MBD7FTOH.js
227 -rw-r--r--··0.0·unx····22451·b-·defN·81-Jan-01·01:01·assets/public/chunk-MBD7FTOH.js.map231 -rw-r--r--··0.0·unx····22451·b-·defN·81-Jan-01·01:01·assets/public/chunk-MBD7FTOH.js.map
228 -rw-r--r--··0.0·unx······479·b-·defN·81-Jan-01·01:01·assets/public/chunk-MKQ5S2AR.js232 -rw-r--r--··0.0·unx······479·b-·defN·81-Jan-01·01:01·assets/public/chunk-MKQ5S2AR.js
229 -rw-r--r--··0.0·unx·····4619·b-·defN·81-Jan-01·01:01·assets/public/chunk-MKQ5S2AR.js.map233 -rw-r--r--··0.0·unx·····4619·b-·defN·81-Jan-01·01:01·assets/public/chunk-MKQ5S2AR.js.map
230 -rw-r--r--··0.0·unx····63528·b-·defN·81-Jan-01·01:01·assets/public/chunk-MRWZZVPU.js 
231 -rw-r--r--··0.0·unx···160634·b-·defN·81-Jan-01·01:01·assets/public/chunk-MRWZZVPU.js.map 
232 -rw-r--r--··0.0·unx····15031·b-·defN·81-Jan-01·01:01·assets/public/chunk-NUJOZVKJ.js234 -rw-r--r--··0.0·unx····15031·b-·defN·81-Jan-01·01:01·assets/public/chunk-NUJOZVKJ.js
233 -rw-r--r--··0.0·unx····37882·b-·defN·81-Jan-01·01:01·assets/public/chunk-NUJOZVKJ.js.map235 -rw-r--r--··0.0·unx····37882·b-·defN·81-Jan-01·01:01·assets/public/chunk-NUJOZVKJ.js.map
234 -rw-r--r--··0.0·unx···168840·b-·defN·81-Jan-01·01:01·assets/public/chunk-ODHOTLAK.js236 -rw-r--r--··0.0·unx···168840·b-·defN·81-Jan-01·01:01·assets/public/chunk-ODHOTLAK.js
235 -rw-r--r--··0.0·unx···532249·b-·defN·81-Jan-01·01:01·assets/public/chunk-ODHOTLAK.js.map237 -rw-r--r--··0.0·unx···532249·b-·defN·81-Jan-01·01:01·assets/public/chunk-ODHOTLAK.js.map
 238 -rw-r--r--··0.0·unx····59706·b-·defN·81-Jan-01·01:01·assets/public/chunk-OPG5DMMF.js
 239 -rw-r--r--··0.0·unx···171342·b-·defN·81-Jan-01·01:01·assets/public/chunk-OPG5DMMF.js.map
236 -rw-r--r--··0.0·unx·····1015·b-·defN·81-Jan-01·01:01·assets/public/chunk-OITMHVU6.js240 -rw-r--r--··0.0·unx···118944·b-·defN·81-Jan-01·01:01·assets/public/chunk-OTRGDQRH.js
237 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-OITMHVU6.js.map241 -rw-r--r--··0.0·unx···180097·b-·defN·81-Jan-01·01:01·assets/public/chunk-OTRGDQRH.js.map
238 -rw-r--r--··0.0·unx·····3929·b-·defN·81-Jan-01·01:01·assets/public/chunk-OVAWK6DV.js242 -rw-r--r--··0.0·unx·····3929·b-·defN·81-Jan-01·01:01·assets/public/chunk-OVAWK6DV.js
239 -rw-r--r--··0.0·unx·····9310·b-·defN·81-Jan-01·01:01·assets/public/chunk-OVAWK6DV.js.map243 -rw-r--r--··0.0·unx·····9310·b-·defN·81-Jan-01·01:01·assets/public/chunk-OVAWK6DV.js.map
240 -rw-r--r--··0.0·unx·····2069·b-·defN·81-Jan-01·01:01·assets/public/chunk-OWECU7R2.js244 -rw-r--r--··0.0·unx·····2069·b-·defN·81-Jan-01·01:01·assets/public/chunk-OWECU7R2.js
241 -rw-r--r--··0.0·unx····11211·b-·defN·81-Jan-01·01:01·assets/public/chunk-OWECU7R2.js.map245 -rw-r--r--··0.0·unx····11211·b-·defN·81-Jan-01·01:01·assets/public/chunk-OWECU7R2.js.map
242 -rw-r--r--··0.0·unx···202242·b-·defN·81-Jan-01·01:01·assets/public/chunk-OXDOKNTF.js246 -rw-r--r--··0.0·unx···202242·b-·defN·81-Jan-01·01:01·assets/public/chunk-OXDOKNTF.js
243 -rw-r--r--··0.0·unx···824865·b-·defN·81-Jan-01·01:01·assets/public/chunk-OXDOKNTF.js.map247 -rw-r--r--··0.0·unx···824865·b-·defN·81-Jan-01·01:01·assets/public/chunk-OXDOKNTF.js.map
244 -rw-r--r--··0.0·unx······933·b-·defN·81-Jan-01·01:01·assets/public/chunk-P4ZS4FNY.js 
245 -rw-r--r--··0.0·unx·······93·b-·defN·81-Jan-01·01:01·assets/public/chunk-P4ZS4FNY.js.map 
246 -rw-r--r--··0.0·unx····29737·b-·defN·81-Jan-01·01:01·assets/public/chunk-PBOYRUP4.js248 -rw-r--r--··0.0·unx····29737·b-·defN·81-Jan-01·01:01·assets/public/chunk-PBOYRUP4.js
247 -rw-r--r--··0.0·unx····81980·b-·defN·81-Jan-01·01:01·assets/public/chunk-PBOYRUP4.js.map249 -rw-r--r--··0.0·unx····81980·b-·defN·81-Jan-01·01:01·assets/public/chunk-PBOYRUP4.js.map
248 -rw-r--r--··0.0·unx·····8263·b-·defN·81-Jan-01·01:01·assets/public/chunk-PEJGMLLQ.js250 -rw-r--r--··0.0·unx·····8263·b-·defN·81-Jan-01·01:01·assets/public/chunk-PEJGMLLQ.js
249 -rw-r--r--··0.0·unx····32372·b-·defN·81-Jan-01·01:01·assets/public/chunk-PEJGMLLQ.js.map251 -rw-r--r--··0.0·unx····32372·b-·defN·81-Jan-01·01:01·assets/public/chunk-PEJGMLLQ.js.map
250 -rw-r--r--··0.0·unx·····2830·b-·defN·81-Jan-01·01:01·assets/public/chunk-PFD7B7VP.js252 -rw-r--r--··0.0·unx·····2830·b-·defN·81-Jan-01·01:01·assets/public/chunk-PFD7B7VP.js
251 -rw-r--r--··0.0·unx·····4560·b-·defN·81-Jan-01·01:01·assets/public/chunk-PFD7B7VP.js.map253 -rw-r--r--··0.0·unx·····4560·b-·defN·81-Jan-01·01:01·assets/public/chunk-PFD7B7VP.js.map
252 -rw-r--r--··0.0·unx····42689·b-·defN·81-Jan-01·01:01·assets/public/chunk-PXNRYD53.js254 -rw-r--r--··0.0·unx····42689·b-·defN·81-Jan-01·01:01·assets/public/chunk-PXNRYD53.js
253 -rw-r--r--··0.0·unx···170408·b-·defN·81-Jan-01·01:01·assets/public/chunk-PXNRYD53.js.map255 -rw-r--r--··0.0·unx···170408·b-·defN·81-Jan-01·01:01·assets/public/chunk-PXNRYD53.js.map
Max diff block lines reached; 5220/16923 bytes (30.85%) of diff not shown.
13.5 KB
assets/public/ngsw.json
13.4 KB
Pretty-printed
Similarity: 0.9313378298098984% Differences: {"'assetGroups'": "{0: {'urls': {insert: [(3, '/chunk-2XB3YG6S.js'), (15, '/chunk-5TDSJN67.js'), " "(16, '/chunk-6KMYC34R.js'), (25, '/chunk-AF3ZV4WZ.js'), (39, " "'/chunk-FZ6Z4X5W.js'), (42, '/chunk-H5C5NXL7.js'), (57, '/chunk-OPG5DMMF.js'), " "(58, '/chunk-OTRGDQRH.js'), (89, '/chunk-X5SIPZ47.js'), (98, " "'/main-VSFTNGRN.js')], delete: [98, 86, 65, 60, 56, 53, 40, 30, 29, 16]}}}", "'hashTable'": "{'/index.html': '4fb287545a751c3ba69 […]
    
Offset 8, 77 lines modifiedOffset 8, 77 lines modified
8 ············"name":·"app",8 ············"name":·"app",
9 ············"patterns":·[],9 ············"patterns":·[],
10 ············"updateMode":·"prefetch",10 ············"updateMode":·"prefetch",
11 ············"urls":·[11 ············"urls":·[
12 ················"/chunk-2LCQAWGQ.js",12 ················"/chunk-2LCQAWGQ.js",
13 ················"/chunk-2MOZFEFW.js",13 ················"/chunk-2MOZFEFW.js",
14 ················"/chunk-2NYJ54WT.js",14 ················"/chunk-2NYJ54WT.js",
 15 ················"/chunk-2XB3YG6S.js",
15 ················"/chunk-35DXYMHQ.js",16 ················"/chunk-35DXYMHQ.js",
16 ················"/chunk-3E43H4SH.js",17 ················"/chunk-3E43H4SH.js",
17 ················"/chunk-3PWEB74O.js",18 ················"/chunk-3PWEB74O.js",
18 ················"/chunk-3UB54IM4.js",19 ················"/chunk-3UB54IM4.js",
19 ················"/chunk-3VFKDWJ2.js",20 ················"/chunk-3VFKDWJ2.js",
20 ················"/chunk-44M6NWXD.js",21 ················"/chunk-44M6NWXD.js",
21 ················"/chunk-4A2AMUHE.js",22 ················"/chunk-4A2AMUHE.js",
22 ················"/chunk-4LMAZLVZ.js",23 ················"/chunk-4LMAZLVZ.js",
23 ················"/chunk-4RZOEXF7.js",24 ················"/chunk-4RZOEXF7.js",
24 ················"/chunk-4WKVJOAH.js",25 ················"/chunk-4WKVJOAH.js",
25 ················"/chunk-5IJWVGPP.js",26 ················"/chunk-5IJWVGPP.js",
 27 ················"/chunk-5TDSJN67.js",
 28 ················"/chunk-6KMYC34R.js",
26 ················"/chunk-6QC7LO6P.js",29 ················"/chunk-6QC7LO6P.js",
27 ················"/chunk-76O5NF5S.js",30 ················"/chunk-76O5NF5S.js",
28 ················"/chunk-7JUHICSP.js", 
29 ················"/chunk-7KIIUYK2.js",31 ················"/chunk-7KIIUYK2.js",
30 ················"/chunk-7MCI5DGR.js",32 ················"/chunk-7MCI5DGR.js",
31 ················"/chunk-7VZPLBFY.js",33 ················"/chunk-7VZPLBFY.js",
32 ················"/chunk-A3PBXKUF.js",34 ················"/chunk-A3PBXKUF.js",
33 ················"/chunk-A5MBRGPF.js",35 ················"/chunk-A5MBRGPF.js",
34 ················"/chunk-A6QD6H33.js",36 ················"/chunk-A6QD6H33.js",
 37 ················"/chunk-AF3ZV4WZ.js",
35 ················"/chunk-AYQ5AFM6.js",38 ················"/chunk-AYQ5AFM6.js",
36 ················"/chunk-B55LM2KC.js",39 ················"/chunk-B55LM2KC.js",
37 ················"/chunk-BE3UJ5P4.js",40 ················"/chunk-BE3UJ5P4.js",
38 ················"/chunk-BOROUNNF.js",41 ················"/chunk-BOROUNNF.js",
39 ················"/chunk-BZ5T5H44.js",42 ················"/chunk-BZ5T5H44.js",
40 ················"/chunk-CBO3U36G.js",43 ················"/chunk-CBO3U36G.js",
41 ················"/chunk-CDTG5YKL.js", 
42 ················"/chunk-CW5T6SPQ.js", 
43 ················"/chunk-DEMP2BFS.js",44 ················"/chunk-DEMP2BFS.js",
44 ················"/chunk-DJXQXNMS.js",45 ················"/chunk-DJXQXNMS.js",
45 ················"/chunk-DSREQ3L4.js",46 ················"/chunk-DSREQ3L4.js",
46 ················"/chunk-E6ILWUMV.js",47 ················"/chunk-E6ILWUMV.js",
47 ················"/chunk-EXYSAUSN.js",48 ················"/chunk-EXYSAUSN.js",
48 ················"/chunk-FOXRPRBP.js",49 ················"/chunk-FOXRPRBP.js",
49 ················"/chunk-FS5VL5NZ.js",50 ················"/chunk-FS5VL5NZ.js",
 51 ················"/chunk-FZ6Z4X5W.js",
50 ················"/chunk-G26D3TEH.js",52 ················"/chunk-G26D3TEH.js",
51 ················"/chunk-G6HECC4Q.js",53 ················"/chunk-G6HECC4Q.js",
52 ················"/chunk-GWKOR6NW.js",54 ················"/chunk-H5C5NXL7.js",
53 ················"/chunk-HUZPTJKV.js",55 ················"/chunk-HUZPTJKV.js",
54 ················"/chunk-IIO2JXXO.js",56 ················"/chunk-IIO2JXXO.js",
55 ················"/chunk-JDOMNCB7.js",57 ················"/chunk-JDOMNCB7.js",
56 ················"/chunk-JE2WCTYC.js",58 ················"/chunk-JE2WCTYC.js",
57 ················"/chunk-JKZKHAFX.js",59 ················"/chunk-JKZKHAFX.js",
58 ················"/chunk-JPHHIOXD.js",60 ················"/chunk-JPHHIOXD.js",
59 ················"/chunk-JXZN3XFF.js",61 ················"/chunk-JXZN3XFF.js",
60 ················"/chunk-KWH5G4G7.js",62 ················"/chunk-KWH5G4G7.js",
61 ················"/chunk-MASHVMAF.js",63 ················"/chunk-MASHVMAF.js",
62 ················"/chunk-MB37G7UP.js",64 ················"/chunk-MB37G7UP.js",
63 ················"/chunk-MBD7FTOH.js",65 ················"/chunk-MBD7FTOH.js",
64 ················"/chunk-MKQ5S2AR.js",66 ················"/chunk-MKQ5S2AR.js",
65 ················"/chunk-MRWZZVPU.js", 
66 ················"/chunk-NUJOZVKJ.js",67 ················"/chunk-NUJOZVKJ.js",
67 ················"/chunk-ODHOTLAK.js",68 ················"/chunk-ODHOTLAK.js",
 69 ················"/chunk-OPG5DMMF.js",
68 ················"/chunk-OITMHVU6.js",70 ················"/chunk-OTRGDQRH.js",
69 ················"/chunk-OVAWK6DV.js",71 ················"/chunk-OVAWK6DV.js",
70 ················"/chunk-OWECU7R2.js",72 ················"/chunk-OWECU7R2.js",
71 ················"/chunk-OXDOKNTF.js",73 ················"/chunk-OXDOKNTF.js",
72 ················"/chunk-P4ZS4FNY.js", 
73 ················"/chunk-PBOYRUP4.js",74 ················"/chunk-PBOYRUP4.js",
74 ················"/chunk-PEJGMLLQ.js",75 ················"/chunk-PEJGMLLQ.js",
75 ················"/chunk-PFD7B7VP.js",76 ················"/chunk-PFD7B7VP.js",
76 ················"/chunk-PXNRYD53.js",77 ················"/chunk-PXNRYD53.js",
77 ················"/chunk-QIY3ATD7.js", 
78 ················"/chunk-QJ2MNBBP.js",78 ················"/chunk-QJ2MNBBP.js",
79 ················"/chunk-R7GGLO7M.js",79 ················"/chunk-R7GGLO7M.js",
80 ················"/chunk-RBIRYWTS.js",80 ················"/chunk-RBIRYWTS.js",
81 ················"/chunk-RBYF6WXY.js",81 ················"/chunk-RBYF6WXY.js",
82 ················"/chunk-RHU3AIGY.js",82 ················"/chunk-RHU3AIGY.js",
83 ················"/chunk-SE2PXJGT.js",83 ················"/chunk-SE2PXJGT.js",
84 ················"/chunk-SEPU4IXF.js",84 ················"/chunk-SEPU4IXF.js",
Offset 91, 27 lines modifiedOffset 91, 27 lines modified
91 ················"/chunk-U233VVFY.js",91 ················"/chunk-U233VVFY.js",
92 ················"/chunk-V4JKK6SH.js",92 ················"/chunk-V4JKK6SH.js",
93 ················"/chunk-V5CES5ZB.js",93 ················"/chunk-V5CES5ZB.js",
94 ················"/chunk-VALZJMB4.js",94 ················"/chunk-VALZJMB4.js",
95 ················"/chunk-VXMKIRI2.js",95 ················"/chunk-VXMKIRI2.js",
96 ················"/chunk-W3EHXDVY.js",96 ················"/chunk-W3EHXDVY.js",
97 ················"/chunk-W6VSJC7P.js",97 ················"/chunk-W6VSJC7P.js",
98 ················"/chunk-WBRMXYTW.js", 
99 ················"/chunk-WPWCE7VM.js",98 ················"/chunk-WPWCE7VM.js",
100 ················"/chunk-WQZWIAFQ.js",99 ················"/chunk-WQZWIAFQ.js",
101 ················"/chunk-WSSUFPT7.js",100 ················"/chunk-WSSUFPT7.js",
 101 ················"/chunk-X5SIPZ47.js",
102 ················"/chunk-XU2E3I7U.js",102 ················"/chunk-XU2E3I7U.js",
103 ················"/chunk-YHHMPTRF.js",103 ················"/chunk-YHHMPTRF.js",
104 ················"/chunk-YNQ5UEI2.js",104 ················"/chunk-YNQ5UEI2.js",
105 ················"/chunk-ZLQPTJVZ.js",105 ················"/chunk-ZLQPTJVZ.js",
106 ················"/chunk-ZPOPP5QH.js",106 ················"/chunk-ZPOPP5QH.js",
107 ················"/chunk-ZYUJNAC5.js",107 ················"/chunk-ZYUJNAC5.js",
108 ················"/favicon.ico",108 ················"/favicon.ico",
109 ················"/index.html",109 ················"/index.html",
110 ················"/main-M2FPRGPY.js",110 ················"/main-VSFTNGRN.js",
111 ················"/manifest.json",111 ················"/manifest.json",
112 ················"/polyfills-D4CWKFPZ.js",112 ················"/polyfills-D4CWKFPZ.js",
113 ················"/styles-XO5YJIHV.css",113 ················"/styles-XO5YJIHV.css",
114 ················"/worker-CEWFX3S5.js"114 ················"/worker-CEWFX3S5.js"
115 ············]115 ············]
116 ········},116 ········},
117 ········{117 ········{
Offset 373, 77 lines modifiedOffset 373, 77 lines modified
373 ········"/assets/themes/nord-polar-night.css":·"1a2c7771f9ba66ff2404fcb7e91585df198735e0",373 ········"/assets/themes/nord-polar-night.css":·"1a2c7771f9ba66ff2404fcb7e91585df198735e0",
374 ········"/assets/themes/nord-snow-storm.css":·"c402e6a53c388e4c04f99af3fba0ed465a25d240",374 ········"/assets/themes/nord-snow-storm.css":·"c402e6a53c388e4c04f99af3fba0ed465a25d240",
375 ········"/assets/themes/rainbow.css":·"186baf9b9791daff9c3b1a973e4a4e29b1f6536b",375 ········"/assets/themes/rainbow.css":·"186baf9b9791daff9c3b1a973e4a4e29b1f6536b",
376 ········"/assets/unicorn.png":·"0326afe4a8f85faa5c3a01fd38efeafeb58094a2",376 ········"/assets/unicorn.png":·"0326afe4a8f85faa5c3a01fd38efeafeb58094a2",
377 ········"/chunk-2LCQAWGQ.js":·"f1775bd3729183ca7341d920bfdd32a19e370264",377 ········"/chunk-2LCQAWGQ.js":·"f1775bd3729183ca7341d920bfdd32a19e370264",
378 ········"/chunk-2MOZFEFW.js":·"7a39d7ed2f9d96b9f92e4cc25386f9528a438d88",378 ········"/chunk-2MOZFEFW.js":·"7a39d7ed2f9d96b9f92e4cc25386f9528a438d88",
379 ········"/chunk-2NYJ54WT.js":·"6b2058100c2940dca4d746dd3f5d18ab6c115902",379 ········"/chunk-2NYJ54WT.js":·"6b2058100c2940dca4d746dd3f5d18ab6c115902",
 380 ········"/chunk-2XB3YG6S.js":·"e8b2839d548006cb3f1b93aaa825a968867f6fbb",
380 ········"/chunk-35DXYMHQ.js":·"c12faf475279609352e8ed4c6f649385c4f72472",381 ········"/chunk-35DXYMHQ.js":·"c12faf475279609352e8ed4c6f649385c4f72472",
381 ········"/chunk-3E43H4SH.js":·"33caa87bbac6b8a44c021550f0bba30292886b0d",382 ········"/chunk-3E43H4SH.js":·"33caa87bbac6b8a44c021550f0bba30292886b0d",
382 ········"/chunk-3PWEB74O.js":·"996990c76122e775ba07bad9d924dcfbe6044b99",383 ········"/chunk-3PWEB74O.js":·"996990c76122e775ba07bad9d924dcfbe6044b99",
383 ········"/chunk-3UB54IM4.js":·"6dd0205087c3166a305b1af5ec8ad771cd5ce0e3",384 ········"/chunk-3UB54IM4.js":·"6dd0205087c3166a305b1af5ec8ad771cd5ce0e3",
384 ········"/chunk-3VFKDWJ2.js":·"955c017e970cdadb9810ee1f8ce443a0cb3fde74",385 ········"/chunk-3VFKDWJ2.js":·"955c017e970cdadb9810ee1f8ce443a0cb3fde74",
385 ········"/chunk-44M6NWXD.js":·"ccb9c2b8d2d49c938a8369fd19818401250aeef4",386 ········"/chunk-44M6NWXD.js":·"ccb9c2b8d2d49c938a8369fd19818401250aeef4",
Max diff block lines reached; 7633/13177 bytes (57.93%) of diff not shown.
2.49 KB
assets/public/index.html
    
Offset 6455, 29 lines modifiedOffset 6455, 29 lines modified
00019360:·2068·7265·663d·2263·6875·6e6b·2d47·3236···href="chunk-G2600019360:·2068·7265·663d·2263·6875·6e6b·2d47·3236···href="chunk-G26
00019370:·4433·5445·482e·6a73·223e·3c6c·696e·6b20··D3TEH.js"><link·00019370:·4433·5445·482e·6a73·223e·3c6c·696e·6b20··D3TEH.js"><link·
00019380:·7265·6c3d·226d·6f64·756c·6570·7265·6c6f··rel="moduleprelo00019380:·7265·6c3d·226d·6f64·756c·6570·7265·6c6f··rel="moduleprelo
00019390:·6164·2220·6872·6566·3d22·6368·756e·6b2d··ad"·href="chunk-00019390:·6164·2220·6872·6566·3d22·6368·756e·6b2d··ad"·href="chunk-
000193a0:·374d·4349·3544·4752·2e6a·7322·3e3c·6c69··7MCI5DGR.js"><li000193a0:·374d·4349·3544·4752·2e6a·7322·3e3c·6c69··7MCI5DGR.js"><li
000193b0:·6e6b·2072·656c·3d22·6d6f·6475·6c65·7072··nk·rel="modulepr000193b0:·6e6b·2072·656c·3d22·6d6f·6475·6c65·7072··nk·rel="modulepr
000193c0:·656c·6f61·6422·2068·7265·663d·2263·6875··eload"·href="chu000193c0:·656c·6f61·6422·2068·7265·663d·2263·6875··eload"·href="chu
000193d0:·6e6b·2d51·4959·3341·5444·372e·6a73·223e··nk-QIY3ATD7.js">000193d0:·6e6b·2d46·5a36·5a34·5835·572e·6a73·223e··nk-FZ6Z4X5W.js">
000193e0:·3c6c·696e·6b20·7265·6c3d·226d·6f64·756c··<link·rel="modul000193e0:·3c6c·696e·6b20·7265·6c3d·226d·6f64·756c··<link·rel="modul
000193f0:·6570·7265·6c6f·6164·2220·6872·6566·3d22··epreload"·href="000193f0:·6570·7265·6c6f·6164·2220·6872·6566·3d22··epreload"·href="
00019400:·6368·756e·6b2d·544a·424e·4d52·4441·2e6a··chunk-TJBNMRDA.j00019400:·6368·756e·6b2d·544a·424e·4d52·4441·2e6a··chunk-TJBNMRDA.j
00019410:·7322·3e3c·6c69·6e6b·2072·656c·3d22·6d6f··s"><link·rel="mo00019410:·7322·3e3c·6c69·6e6b·2072·656c·3d22·6d6f··s"><link·rel="mo
00019420:·6475·6c65·7072·656c·6f61·6422·2068·7265··dulepreload"·hre00019420:·6475·6c65·7072·656c·6f61·6422·2068·7265··dulepreload"·hre
00019430:·663d·2263·6875·6e6b·2d43·4454·4735·594b··f="chunk-CDTG5YK00019430:·663d·2263·6875·6e6b·2d36·4b4d·5943·3334··f="chunk-6KMYC34
00019440:·4c2e·6a73·223e·3c6c·696e·6b20·7265·6c3d··L.js"><link·rel=00019440:·522e·6a73·223e·3c6c·696e·6b20·7265·6c3d··R.js"><link·rel=
00019450:·226d·6f64·756c·6570·7265·6c6f·6164·2220··"modulepreload"·00019450:·226d·6f64·756c·6570·7265·6c6f·6164·2220··"modulepreload"·
00019460:·6872·6566·3d22·6368·756e·6b2d·3355·4235··href="chunk-3UB500019460:·6872·6566·3d22·6368·756e·6b2d·3355·4235··href="chunk-3UB5
00019470:·3449·4d34·2e6a·7322·3e3c·6c69·6e6b·2072··4IM4.js"><link·r00019470:·3449·4d34·2e6a·7322·3e3c·6c69·6e6b·2072··4IM4.js"><link·r
00019480:·656c·3d22·6d6f·6475·6c65·7072·656c·6f61··el="modulepreloa00019480:·656c·3d22·6d6f·6475·6c65·7072·656c·6f61··el="modulepreloa
00019490:·6422·2068·7265·663d·2263·6875·6e6b·2d37··d"·href="chunk-700019490:·6422·2068·7265·663d·2263·6875·6e6b·2d48··d"·href="chunk-H
000194a0:·4a55·4849·4353·502e·6a73·223e·3c73·6372··JUHICSP.js"><scr000194a0:·3543·354e·584c·372e·6a73·223e·3c73·6372··5C5NXL7.js"><scr
000194b0:·6970·7420·7372·633d·2270·6f6c·7966·696c··ipt·src="polyfil000194b0:·6970·7420·7372·633d·2270·6f6c·7966·696c··ipt·src="polyfil
000194c0:·6c73·2d44·3443·574b·4650·5a2e·6a73·2220··ls-D4CWKFPZ.js"·000194c0:·6c73·2d44·3443·574b·4650·5a2e·6a73·2220··ls-D4CWKFPZ.js"·
000194d0:·7479·7065·3d22·6d6f·6475·6c65·223e·3c2f··type="module"></000194d0:·7479·7065·3d22·6d6f·6475·6c65·223e·3c2f··type="module"></
000194e0:·7363·7269·7074·3e3c·7363·7269·7074·2073··script><script·s000194e0:·7363·7269·7074·3e3c·7363·7269·7074·2073··script><script·s
000194f0:·7263·3d22·6d61·696e·2d4d·3246·5052·4750··rc="main-M2FPRGP000194f0:·7263·3d22·6d61·696e·2d56·5346·544e·4752··rc="main-VSFTNGR
00019500:·592e·6a73·2220·7479·7065·3d22·6d6f·6475··Y.js"·type="modu00019500:·4e2e·6a73·2220·7479·7065·3d22·6d6f·6475··N.js"·type="modu
00019510:·6c65·223e·3c2f·7363·7269·7074·3e3c·2f62··le"></script></b00019510:·6c65·223e·3c2f·7363·7269·7074·3e3c·2f62··le"></script></b
00019520:·6f64·793e·0a3c·2f68·746d·6c3e·0a·········ody>.</html>.00019520:·6f64·793e·0a3c·2f68·746d·6c3e·0a·········ody>.</html>.
644 B
assets/public/chunk-MRWZZVPU.js vs.
assets/public/chunk-X5SIPZ47.js
Files 0% similar despite different names
542 B
js-beautify {}
    
Offset 108, 15 lines modifiedOffset 108, 15 lines modified
108 import·{108 import·{
109 ····L·as·ji,109 ····L·as·ji,
110 ····M·as·fo,110 ····M·as·fo,
111 ····k·as·Ai,111 ····k·as·Ai,
112 ····l·as·yo,112 ····l·as·yo,
113 ····m·as·Bi,113 ····m·as·Bi,
114 ····n·as·go114 ····n·as·go
115 }·from·"./chunk-CW5T6SPQ.js";115 }·from·"./chunk-2XB3YG6S.js";
116 import·"./chunk-B55LM2KC.js";116 import·"./chunk-B55LM2KC.js";
117 import·"./chunk-VXMKIRI2.js";117 import·"./chunk-VXMKIRI2.js";
118 import·{118 import·{
119 ····q·as·Di,119 ····q·as·Di,
120 ····r·as·co120 ····r·as·co
121 }·from·"./chunk-OWECU7R2.js";121 }·from·"./chunk-OWECU7R2.js";
122 import·{122 import·{
Offset 2216, 8 lines modifiedOffset 2216, 8 lines modified
2216 ········return·e2216 ········return·e
2217 ····})()2217 ····})()
2218 });2218 });
2219 tr();2219 tr();
2220 export·{2220 export·{
2221 ····Yl·as·DailySummaryComponent2221 ····Yl·as·DailySummaryComponent
2222 };2222 };
2223 //#·sourceMappingURL=chunk-MRWZZVPU.js.map2223 //#·sourceMappingURL=chunk-X5SIPZ47.js.map
761 B
assets/public/chunk-7JUHICSP.js vs.
assets/public/chunk-H5C5NXL7.js
Files 1% 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-GWKOR6NW.js";12 }·from·"./chunk-OTRGDQRH.js";
13 import·{13 import·{
14 ····B·as·Ce,14 ····B·as·Ce,
15 ····C·as·Je,15 ····C·as·Je,
16 ····c·as·Ie,16 ····c·as·Ie,
17 ····d·as·Xe17 ····d·as·Xe
18 }·from·"./chunk-CW5T6SPQ.js";18 }·from·"./chunk-2XB3YG6S.js";
19 import·{19 import·{
20 ····a·as·fe,20 ····a·as·fe,
21 ····b·as·me,21 ····b·as·me,
22 ····c·as·Pe,22 ····c·as·Pe,
23 ····e·as·_e,23 ····e·as·_e,
24 ····f·as·Se,24 ····f·as·Se,
25 ····g·as·Ee,25 ····g·as·Ee,
Offset 1114, 8 lines modifiedOffset 1114, 8 lines modified
1114 ········}1114 ········}
1115 ········return·d1115 ········return·d
1116 ····})()1116 ····})()
1117 });1117 });
1118 export·{1118 export·{
1119 ····Te·as·a,·Le·as·b,·Z·as·c,·Y·as·d,·Oe·as·e,·oi·as·f,·nt·as·g1119 ····Te·as·a,·Le·as·b,·Z·as·c,·Y·as·d,·Oe·as·e,·oi·as·f,·nt·as·g
1120 };1120 };
1121 //#·sourceMappingURL=chunk-7JUHICSP.js.map1121 //#·sourceMappingURL=chunk-H5C5NXL7.js.map
767 B
assets/public/chunk-P4ZS4FNY.js vs.
assets/public/chunk-AF3ZV4WZ.js
Files 12% 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-GWKOR6NW.js";4 }·from·"./chunk-OTRGDQRH.js";
5 import·"./chunk-CW5T6SPQ.js";5 import·"./chunk-2XB3YG6S.js";
6 import·"./chunk-SEPU4IXF.js";6 import·"./chunk-SEPU4IXF.js";
7 import·"./chunk-B55LM2KC.js";7 import·"./chunk-B55LM2KC.js";
8 import·"./chunk-VXMKIRI2.js";8 import·"./chunk-VXMKIRI2.js";
9 import·"./chunk-OWECU7R2.js";9 import·"./chunk-OWECU7R2.js";
10 import·"./chunk-3VFKDWJ2.js";10 import·"./chunk-3VFKDWJ2.js";
11 import·"./chunk-JPHHIOXD.js";11 import·"./chunk-JPHHIOXD.js";
12 import·"./chunk-JDOMNCB7.js";12 import·"./chunk-JDOMNCB7.js";
Offset 31, 8 lines modifiedOffset 31, 8 lines modified
31 import·"./chunk-OXDOKNTF.js";31 import·"./chunk-OXDOKNTF.js";
32 import·"./chunk-PEJGMLLQ.js";32 import·"./chunk-PEJGMLLQ.js";
33 import·"./chunk-2NYJ54WT.js";33 import·"./chunk-2NYJ54WT.js";
34 b();34 b();
35 export·{35 export·{
36 ····a·as·PluginRunner36 ····a·as·PluginRunner
37 };37 };
38 //#·sourceMappingURL=chunk-P4ZS4FNY.js.map38 //#·sourceMappingURL=chunk-AF3ZV4WZ.js.map
1.39 KB
assets/public/chunk-GWKOR6NW.js vs.
assets/public/chunk-OTRGDQRH.js
Files 0% similar despite different names
1.29 KB
js-beautify {}
    
Offset 1, 11 lines modifiedOffset 1, 11 lines modified
1 import·{1 import·{
2 ····L·as·vr,2 ····L·as·vr,
3 ····M·as·St3 ····M·as·St
4 }·from·"./chunk-CW5T6SPQ.js";4 }·from·"./chunk-2XB3YG6S.js";
5 import·{5 import·{
6 ····c·as·Ir,6 ····c·as·Ir,
7 ····d·as·Gt7 ····d·as·Gt
8 }·from·"./chunk-SEPU4IXF.js";8 }·from·"./chunk-SEPU4IXF.js";
9 import·{9 import·{
10 ····j·as·gr,10 ····j·as·gr,
11 ····k·as·fr,11 ····k·as·fr,
Offset 2870, 15 lines modifiedOffset 2870, 15 lines modified
2870 ····················}2870 ····················}
2871 ················})2871 ················})
2872 ············}2872 ············}
2873 ············sendMessageToPlugin(t,·d)·{2873 ············sendMessageToPlugin(t,·d)·{
2874 ················return·S(this,·null,·function*()·{2874 ················return·S(this,·null,·function*()·{
2875 ····················let·{2875 ····················let·{
2876 ························PluginRunner:·l2876 ························PluginRunner:·l
2877 ····················}·=·yield·import("./chunk-P4ZS4FNY.js");2877 ····················}·=·yield·import("./chunk-AF3ZV4WZ.js");
2878 ····················return·this._injector.get(l).sendMessageToPlugin(t,·d)2878 ····················return·this._injector.get(l).sendMessageToPlugin(t,·d)
2879 ················})2879 ················})
2880 ············}2880 ············}
2881 ············_initWindowFocusTracking()·{2881 ············_initWindowFocusTracking()·{
2882 ················window.addEventListener("focus",·()·=>·{2882 ················window.addEventListener("focus",·()·=>·{
2883 ····················this._isWindowFocused·=·!0,·this._notifyFocusHandlers(!0)2883 ····················this._isWindowFocused·=·!0,·this._notifyFocusHandlers(!0)
2884 ················}),·window.addEventListener("blur",·()·=>·{2884 ················}),·window.addEventListener("blur",·()·=>·{
Offset 3474, 8 lines modifiedOffset 3474, 8 lines modified
3474 ········}3474 ········}
3475 ········return·y3475 ········return·y
3476 ····})()3476 ····})()
3477 });3477 });
3478 export·{3478 export·{
3479 ····de·as·a,·ne·as·b,·Or·as·c,·Br·as·d,·ee·as·e,·ce·as·f,·Ur·as·g,·xr·as·h,·re·as·i,·ye·as·j,·Wr·as·k,·$r·as·l,·ns·as·m,·is·as·n,·ls·as·o,·Qr·as·p,·qr·as·q,·Jr·as·r,·Ss·as·s,·Mt·as·t3479 ····de·as·a,·ne·as·b,·Or·as·c,·Br·as·d,·ee·as·e,·ce·as·f,·Ur·as·g,·xr·as·h,·re·as·i,·ye·as·j,·Wr·as·k,·$r·as·l,·ns·as·m,·is·as·n,·ls·as·o,·Qr·as·p,·qr·as·q,·Jr·as·r,·Ss·as·s,·Mt·as·t
3480 };3480 };
3481 //#·sourceMappingURL=chunk-GWKOR6NW.js.map3481 //#·sourceMappingURL=chunk-OTRGDQRH.js.map
109 B
assets/public/chunk-WBRMXYTW.js.map vs.
assets/public/chunk-OPG5DMMF.js.map
Files identical despite different names
826 B
assets/public/chunk-QIY3ATD7.js vs.
assets/public/chunk-FZ6Z4X5W.js
Files 2% 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-7JUHICSP.js";4 }·from·"./chunk-H5C5NXL7.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-TU5ZIYGM.js";11 }·from·"./chunk-TU5ZIYGM.js";
Offset 14, 15 lines modifiedOffset 14, 15 lines modified
14 ····l·as·Ie,14 ····l·as·Ie,
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·ve,18 ····p·as·ve,
19 ····q·as·ne,19 ····q·as·ne,
20 ····r·as·Me20 ····r·as·Me
21 }·from·"./chunk-GWKOR6NW.js";21 }·from·"./chunk-OTRGDQRH.js";
22 import·{22 import·{
23 ····a·as·W,23 ····a·as·W,
24 ····b·as·xe24 ····b·as·xe
25 }·from·"./chunk-WQZWIAFQ.js";25 }·from·"./chunk-WQZWIAFQ.js";
26 import·{26 import·{
27 ····c·as·q,27 ····c·as·q,
28 ····d·as·N,28 ····d·as·N,
Offset 319, 8 lines modifiedOffset 319, 8 lines modified
319 ········}319 ········}
320 ········return·t320 ········return·t
321 ····})()321 ····})()
322 });322 });
323 export·{323 export·{
324 ····rt·as·a,·De·as·b324 ····rt·as·a,·De·as·b
325 };325 };
326 //#·sourceMappingURL=chunk-QIY3ATD7.js.map326 //#·sourceMappingURL=chunk-FZ6Z4X5W.js.map
119 KB
assets/public/chunk-CW5T6SPQ.js.map vs.
assets/public/chunk-2XB3YG6S.js.map
Files 0% similar despite different names
119 KB
Pretty-printed
Similarity: 0.9981684981684982% Differences: {"'sourcesContent'": "{insert: [(60, '// This file is auto-generated by tools/load-env.js\\n// Do " 'not modify directly - edit .env file instead\\n// Generated at: ' '2025-08-22T09:41:45.989Z\\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 4085, 15 lines modifiedOffset 4085, 15 lines modified
4085 ········"<div\n··[@standardList]=\"field.fieldGroup?.length\"\n··class=\"list-wrapper\"\n>\n··@for·(innerField·of·field.fieldGroup;·track·trackByFn(i,·innerField);·let·i·=·$index)·{\n····<div·class=\"row\">\n······<formly-field\n········[field]=\"innerField\"\n········class=\"field\"\n······></formly-field>\n······<button\n········#triggerBtn\n········mat-mini-fab\n········color=\"\"\n········type=\"button\"\n········class=\"remove-btn\"\n······>\n········<mat-icon>more_vert</mat-icon>\n······</button>\n\n······<context-menu\n········[contextMenu]=\"contextMenu\"\n········[rightClickTriggerEl]=\"triggerBtn\"\n········[leftClickTriggerEl]=\"triggerBtn\"\n······></context-menu>\n\n······<ng-template·#contextMenu>\n········@if·(i·>·0)·{\n··········<button\n············mat-menu-item\n············(click)=\"moveItem(i,·i·-·1)\"\n··········>\n············<mat-icon>arrow_backward</mat-icon>\n············{{·T.G.MOVE_BACKWARD·|·translate·}}\n··········</button>\n········}\n········@if·(i·<·field.fieldGroup?.length·-·1)·{\n··········<button\n············mat-menu-item\n············(click)=\"moveItem(i,·i·+·1)\"\n··········>\n············<mat-icon>arrow_forward</mat-icon>\n············{{·T.G.MOVE_FORWARD·|·translate·}}\n··········</button>\n········}\n········<button\n··········mat-menu-item\n··········class=\"color-warn-i\"\n··········(click)=\"removeItem(i)\"\n········>\n··········<mat-icon·class=\"color-warn-i\">delete_forever</mat-icon>\n··········{{·T.G.DELETE·|·translate·}}\n········</button>\n······</ng-template>\n····</div>\n··}\n</div>\n\n<div·class=\"footer\">\n··<button\n····(click)=\"addItem()\"\n····mat-button\n····type=\"button\"\n··>\n····<mat-icon>add</mat-icon>\n····{{·to.addText·|·translate·}}\n··</button>\n</div>\n",4085 ········"<div\n··[@standardList]=\"field.fieldGroup?.length\"\n··class=\"list-wrapper\"\n>\n··@for·(innerField·of·field.fieldGroup;·track·trackByFn(i,·innerField);·let·i·=·$index)·{\n····<div·class=\"row\">\n······<formly-field\n········[field]=\"innerField\"\n········class=\"field\"\n······></formly-field>\n······<button\n········#triggerBtn\n········mat-mini-fab\n········color=\"\"\n········type=\"button\"\n········class=\"remove-btn\"\n······>\n········<mat-icon>more_vert</mat-icon>\n······</button>\n\n······<context-menu\n········[contextMenu]=\"contextMenu\"\n········[rightClickTriggerEl]=\"triggerBtn\"\n········[leftClickTriggerEl]=\"triggerBtn\"\n······></context-menu>\n\n······<ng-template·#contextMenu>\n········@if·(i·>·0)·{\n··········<button\n············mat-menu-item\n············(click)=\"moveItem(i,·i·-·1)\"\n··········>\n············<mat-icon>arrow_backward</mat-icon>\n············{{·T.G.MOVE_BACKWARD·|·translate·}}\n··········</button>\n········}\n········@if·(i·<·field.fieldGroup?.length·-·1)·{\n··········<button\n············mat-menu-item\n············(click)=\"moveItem(i,·i·+·1)\"\n··········>\n············<mat-icon>arrow_forward</mat-icon>\n············{{·T.G.MOVE_FORWARD·|·translate·}}\n··········</button>\n········}\n········<button\n··········mat-menu-item\n··········class=\"color-warn-i\"\n··········(click)=\"removeItem(i)\"\n········>\n··········<mat-icon·class=\"color-warn-i\">delete_forever</mat-icon>\n··········{{·T.G.DELETE·|·translate·}}\n········</button>\n······</ng-template>\n····</div>\n··}\n</div>\n\n<div·class=\"footer\">\n··<button\n····(click)=\"addItem()\"\n····mat-button\n····type=\"button\"\n··>\n····<mat-icon>add</mat-icon>\n····{{·to.addText·|·translate·}}\n··</button>\n</div>\n",
4086 ········"import·{·Directionality·}·from·'@angular/cdk/bidi';\nimport·{·Platform·}·from·'@angular/cdk/platform';\nimport·*·as·i0·from·'@angular/core';\nimport·{·InjectionToken,·inject,·ChangeDetectorRef,·NgZone,·Renderer2,·ElementRef,·Component,·ChangeDetectionStrategy,·ViewEncapsulation,·Input,·ViewChild,·booleanAttribute,·numberAttribute,·ViewChildren,·ContentChild,·ContentChildren,·forwardRef,·EventEmitter,·signal,·Directive,·Output,·NgModule·}·from·'@angular/core';\nimport·{·b·as·RippleState,·M·as·MatRipple,·a·as·MAT_RIPPLE_GLOBAL_OPTIONS·}·from·'./ripple-BMyyyLz2.mjs';\nimport·{·_CdkPrivateStyleLoader·}·from·'@angular/cdk/private';\nimport·{·_·as·_animationsDisabled·}·from·'./animation-ChQ1vjiF.mjs';\nimport·{·_·as·_StructuralStylesLoader·}·from·'./structural-styles-CObeNzjn.mjs';\nimport·{·NG_VALUE_ACCESSOR·}·from·'@angular/forms';\nimport·{·Subject·}·from·'rxjs';\nimport·{·M·as·MatCommonModule·}·from·'./common-module-cKSwHniA.mjs';\nimport·{·M·as·MatRippleModule·}·from·'./index-BRImSAOu.mjs';\nimport·'@angular/cdk/a11y';\nimport·'@angular/cdk/coercion';\nimport·'@angular/cdk/layout';\n\n/**\n·*·Thumb·types:·range·slider·has·two·thumbs·(START,·END)·whereas·single·point\n·*·slider·only·has·one·thumb·(END).\n·*/\nconst·_c0·=·[\"knob\"];\nconst·_c1·=·[\"valueIndicatorContainer\"];\nfunction·MatSliderVisualThumb_Conditional_0_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275elementStart(0,·\"div\",·2,·1)(2,·\"div\",·5)(3,·\"span\",·6);\n····i0.\u0275\u0275text(4);\n····i0.\u0275\u0275elementEnd()()();\n··}\n··if·(rf·&·2)·{\n····const·ctx_r0·=·i0.\u0275\u0275nextContext();\n····i0.\u0275\u0275advance(4);\n····i0.\u0275\u0275textInterpolate(ctx_r0.valueIndicatorText);\n··}\n}\nconst·_c2·=·[\"trackActive\"];\nconst·_c3·=·[\"*\"];\nfunction·MatSlider_Conditional_6_Conditional_2_For_1_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275element(0,·\"div\");\n··}\n··if·(rf·&·2)·{\n····const·tickMark_r1·=·ctx.$implicit;\n····const·\u0275$index_14_r2·=·ctx.$index;\n····const·ctx_r2·=·i0.\u0275\u0275nextContext(3);\n····i0.\u0275\u0275classMap(tickMark_r1·===·0·?·\"mdc-slider__tick-mark--active\"·:·\"mdc-slider__tick-mark--inactive\");\n····i0.\u0275\u0275styleProp(\"transform\",·ctx_r2._calcTickMarkTransform(\u0275$index_14_r2));\n··}\n}\nfunction·MatSlider_Conditional_6_Conditional_2_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275repeaterCreate(0,·MatSlider_Conditional_6_Conditional_2_For_1_Template,·1,·4,·\"div\",·8,·i0.\u0275\u0275repeaterTrackByIndex);\n··}\n··if·(rf·&·2)·{\n····const·ctx_r2·=·i0.\u0275\u0275nextContext(2);\n····i0.\u0275\u0275repeater(ctx_r2._tickMarks);\n··}\n}\nfunction·MatSlider_Conditional_6_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275elementStart(0,·\"div\",·6,·1);\n····i0.\u0275\u0275conditionalCreate(2,·MatSlider_Conditional_6_Conditional_2_Template,·2,·0);\n····i0.\u0275\u0275elementEnd();\n··}\n··if·(rf·&·2)·{\n····const·ctx_r2·=·i0.\u0275\u0275nextContext();\n····i0.\u0275\u0275advance(2);\n····i0.\u0275\u0275conditional(ctx_r2._cachedWidth·?·2·:·-1);\n··}\n}\nfunction·MatSlider_Conditional_7_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275element(0,·\"mat-slider-visual-thumb\",·7);\n··}\n··if·(rf·&·2)·{\n····const·ctx_r2·=·i0.\u0275\u0275nextContext();\n····i0.\u0275\u0275property(\"discrete\",·ctx_r2.discrete)(\"thumbPosition\",·1)(\"valueIndicatorText\",·ctx_r2.startValueIndicatorText);\n··}\n}\nvar·_MatThumb·=·/*#__PURE__*/function·(_MatThumb)·{\n··_MatThumb[_MatThumb[\"START\"]·=·1]·=·\"START\";\n··_MatThumb[_MatThumb[\"END\"]·=·2]·=·\"END\";\n··return·_MatThumb;\n}(_MatThumb·||·{});\n/**·Tick·mark·enum,·for·discrete·sliders.·*/\nvar·_MatTickMark·=·/*#__PURE__*/function·(_MatTickMark)·{\n··_MatTickMark[_MatTickMark[\"ACTIVE\"]·=·0]·=·\"ACTIVE\";\n··_MatTickMark[_MatTickMark[\"INACTIVE\"]·=·1]·=·\"INACTIVE\";\n··return·_MatTickMark;\n}(_MatTickMark·||·{});\n/**\n·*·Injection·token·that·can·be·used·for·a·`MatSlider`·to·provide·itself·as·a\n·*·parent·to·the·`MatSliderThumb`·and·`MatSliderRangeThumb`.\n·*·Used·primarily·to·avoid·circular·imports.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER·=·/*#__PURE__*/new·InjectionToken('_MatSlider');\n/**\n·*·Injection·token·that·can·be·used·to·query·for·a·`MatSliderThumb`.\n·*·Used·primarily·to·avoid·circular·imports.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_THUMB·=·/*#__PURE__*/new·InjectionToken('_MatSliderThumb');\n/**\n·*·Injection·token·that·can·be·used·to·query·for·a·`MatSliderRangeThumb`.\n·*·Used·primarily·to·avoid·circular·imports.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_RANGE_THUMB·=·/*#__PURE__*/new·InjectionToken('_MatSliderRangeThumb');\n/**\n·*·Injection·token·that·can·be·used·to·query·for·a·`MatSliderVisualThumb`.\n·*·Used·primarily·to·avoid·circular·imports.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_VISUAL_THUMB·=·/*#__PURE__*/new·InjectionToken('_MatSliderVisualThumb');\n/**\n·*·A·simple·change·event·emitted·by·the·MatSlider·component.\n·*·@deprecated·Use·event·bindings·directly·on·the·MatSliderThumbs·for·`change`·and·`input`·events.·See·https://v17.material.angular.dev/guide/mdc-migration·for·information·about·migrating.\n·*·@breaking-change·17.0.0\n·*/\nclass·MatSliderChange·{\n··/**·The·MatSliderThumb·that·was·interacted·with.·*/\n··source;\n··/**·The·MatSlider·that·was·interacted·with.·*/\n··parent;\n··/**·The·new·value·of·the·source·slider.·*/\n··value;\n}\n\n/**\n·*·The·visual·slider·thumb.\n·*\n·*·Handles·the·slider·thumb·ripple·states·(hover,·focus,·and·active),\n·*·and·displaying·the·value·tooltip·on·discrete·sliders.\n·*·@docs-private\n·*/\nlet·MatSliderVisualThumb·=·/*#__PURE__*/(()·=>·{\n··class·MatSliderVisualThumb·{\n····_cdr·=·inject(ChangeDetectorRef);\n····_ngZone·=·inject(NgZone);\n····_slider·=·inject(MAT_SLIDER);\n····_renderer·=·inject(Renderer2);\n····_listenerCleanups;\n····/**·Whether·the·slider·displays·a·numeric·value·label·upon·pressing·the·thumb.·*/\n····discrete;\n····/**·Indicates·which·slider·thumb·this·input·corresponds·to.·*/\n····thumbPosition;\n····/**·The·display·value·of·the·slider·thumb.·*/\n····valueIndicatorText;\n····/**·The·MatRipple·for·this·slider·thumb.·*/\n····_ripple;\n····/**·The·slider·thumb·knob.·*/\n····_knob;\n····/**·The·slider·thumb·value·indicator·container.·*/\n····_valueIndicatorContainer;\n····/**·The·slider·input·corresponding·to·this·slider·thumb.·*/\n····_sliderInput;\n····/**·The·native·html·element·of·the·slider·input·corresponding·to·this·thumb.·*/\n····_sliderInputEl;\n····/**·The·RippleRef·for·the·slider·thumbs·hover·state.·*/\n····_hoverRippleRef;\n····/**·The·RippleRef·for·the·slider·thumbs·focus·state.·*/\n····_focusRippleRef;\n····/**·The·RippleRef·for·the·slider·thumbs·active·state.·*/\n····_activeRippleRef;\n····/**·Whether·the·slider·thumb·is·currently·being·hovered.·*/\n····_isHovered·=·false;\n····/**·Whether·the·slider·thumb·is·currently·being·pressed.·*/\n····_isActive·=·false;\n····/**·Whether·the·value·indicator·tooltip·is·visible.·*/\n····_isValueIndicatorVisible·=·false;\n····/**·The·host·native·HTML·input·element.·*/\n····_hostElement·=·inject(ElementRef).nativeElement;\n····_platform·=·inject(Platform);\n····constructor()·{}\n····ngAfterViewInit()·{\n······const·sliderInput·=·this._slider._getInput(this.thumbPosition);\n······//·No-op·if·the·slider·isn't·configured·properly.·`MatSlider`·will\n······//·throw·an·error·instructing·the·user·how·to·set·up·the·slider.\n······if·(!sliderInput)·{\n········return;\n······}\n······this._ripple.radius·=·24;\n······this._sliderInput·=·sliderInput;\n······this._sliderInputEl·=·this._sliderInput._hostElement;\n······//·These·listeners·don't·update·any·data·bindings·so·we·bind·them·outside\n······//·of·the·NgZone·to·prevent·Angular·from·needlessly·running·change·detection.\n······this._ngZone.runOutsideAngular(()·=>·{\n········const·input·=·this._sliderInputEl;\n········const·renderer·=·this._renderer;\n········this._listenerCleanups·=·[renderer.listen(input,·'pointermove',·this._onPointerMove),·renderer.listen(input,·'pointerdown',·this._onDragStart),·renderer.listen(input,·'pointerup',·this._onDragEnd),·renderer.listen(input,·'pointerleave',·this._onMouseLeave),·renderer.listen(input,·'focus',·this._onFocus),·renderer.listen(input,·'blur',·this._onBlur)];\n······});\n····}\n····ngOnDestroy()·{\n······this._listenerCleanups?.forEach(cleanup·=>·cleanup());\n····}\n····_onPointerMove·=·event·=>·{\n······if·(this._sliderInput._isFocused)·{\n········return;\n······}\n······const·rect·=·this._hostElement.getBoundingClientRect();\n······const·isHovered·=·this._slider._isCursorOnSliderThumb(event,·rect);\n······this._isHovered·=·isHovered;\n······if·(isHovered)·{\n········this._showHoverRipple();\n······}·else·{\n········this._hideRipple(this._hoverRippleRef);\n······}\n····};\n····_onMouseLeave·=·()·=>·{\n······this._isHovered·=·false;\n······this._hideRipple(this._hoverRippleRef);\n····};\n····_onFocus·=·()·=>·{\n······//·We·don't·want·to·show·the·hover·ripple·on·top·of·the·focus·ripple.\n······//·Happen·when·the·users·cursor·is·over·a·thumb·and·then·the·user·tabs·to·it.\n······this._hideRipple(this._hoverRippleRef);\n······this._showFocusRipple();\n······this._hostElement.classList.add('mdc-slider__thumb--focused');\n····};\n····_onBlur·=·()·=>·{\n······//·Happens·when·the·user·tabs·away·while·still·dragging·a·thumb.\n······if·(!this._isActive)·{\n········this._hideRipple(this._focusRippleRef);\n······}\n······//·Happens·when·the·user·tabs·away·from·a·thumb·but·their·cursor·is·still·over·it.\n······if·(this._isHovered)·{\n········this._showHoverRipple();\n······}\n······this._hostElement.classList.remove('mdc-slider__thumb--focused');\n····};\n····_onDragStart·=·event·=>·{\n······if·(event.button·!==·0)·{\n········return;\n······}\n······this._isActive·=·true;\n······this._showActiveRipple();\n····};\n····_onDragEnd·=·()·=>·{\n······this._isActive·=·false;\n······this._hideRipple(this._activeRippleRef);\n······//·Happens·when·the·user·starts·dragging·a·thumb,·tabs·away,·and·then·stops·dragging.\n······if·(!this._sliderInput._isFocused)·{\n········this._hideRipple(this._focusRippleRef);\n······}\n······//·On·Safari·we·need·to·immediately·re-show·the·hover·ripple·because\n······//·sliders·do·not·retain·focus·from·pointer·events·on·that·platform.\n······if·(this._platform.SAFARI)·{\n········this._showHoverRipple();\n······}\n····};\n····/**·Handles·displaying·the·hover·ripple.·*/\n····_showHoverRipple()·{\n······if·(!this._isShowingRipple(this._hoverRippleRef))·{\n········this._hoverRippleRef·=·this._showRipple({\n··········enterDuration:·0,\n··········exitDuration:·0\n········});\n········this._hoverRippleRef?.element.classList.add('mat-mdc-slider-hover-ripple');\n······}\n····}\n····/**·Handles·displaying·the·focus·ripple.·*/\n····_showFocusRipple()·{\n······//·Show·the·focus·ripple·event·if·noop·animations·are·enabled.\n······if·(!this._isShowingRipple(this._focusRippleRef))·{\n········this._focusRippleRef·=·this._showRipple({\n··········enterDuration:·0,\n··········exitDuration:·0\n········},·true);\n········this._focusRippleRef?.element.classList.add('mat-mdc-slider-focus-ripple');\n······}\n····}\n····/**·Handles·displaying·the·active·ripple.·*/\n····_showActiveRipple()·{\n······if·(!this._isShowingRipple(this._activeRippleRef))·{\n········this._activeRippleRef·=·this._showRipple({\n··········enterDuration:·225,\n··········exitDuration:·400\n········});\n········this._activeRippleRef?.element.classList.add('mat-mdc-slider-active-ripple');\n······}\n····}\n····/**·Whether·the·given·rippleRef·is·currently·fading·in·or·visible.·*/\n····_isShowingRipple(rippleRef)·{\n······return·rippleRef?.state·===·RippleState.FADING_IN·||·rippleRef?.state·===·RippleState.VISIBLE;\n····}\n····/**·Manually·launches·the·slider·thumb·ripple·using·the·specified·ripple·animation·config.·*/\n····_showRipple(animation,·ignoreGlobalRippleConfig)·{\n······if·(this._slider.disabled)·{\n········return;\n······}\n······this._showValueIndicator();\n······if·(this._slider._isRange)·{\n········const·sibling·=·this._slider._getThumb(this.thumbPosition·===·_MatThumb.START·?·_MatThumb.END·:·_MatThumb.START);\n········sibling._showValueIndicator();\n······}\n······if·(this._slider._globalRippleOptions?.disabled·&&·!ignoreGlobalRippleConfig)·{\n········return;\n······}\n······return·this._ripple.launch({\n········animation:·this._slider._noopAnimations·?·{\n··········enterDuration:·0,\n··········exitDuration:·0\n········}·:·animation,\n········centered:·true,\n········persistent:·true\n······});\n····}\n····/**\n·····*·Fades·out·the·given·ripple.\n·····*·Also·hides·the·value·indicator·if·no·ripple·is·showing.\n·····*/\n····_hideRipple(rippleRef)·{\n······rippleRef?.fadeOut();\n······if·(this._isShowingAnyRipple())·{\n········return;\n······}\n······if·(!this._slider._isRange)·{\n········this._hideValueIndicator();\n······}\n······const·sibling·=·this._getSibling();\n······if·(!sibling._isShowingAnyRipple())·{\n········this._hideValueIndicator();\n········sibling._hideValueIndicator();\n······}\n····}\n····/**·Shows·the·value·indicator·ui.·*/\n····_showValueIndicator()·{\n······this._hostElement.classList.add('mdc-slider__thumb--with-indicator');\n····}\n····/**·Hides·the·value·indicator·ui.·*/\n····_hideValueIndicator()·{\n······this._hostElement.classList.remove('mdc-slider__thumb--with-indicator');\n····}\n····_getSibling()·{\n······return·this._slider._getThumb(this.thumbPosition·===·_MatThumb.START·?·_MatThumb.END·:·_MatThumb.START);\n····}\n····/**·Gets·the·value·indicator·container's·native·HTML·element.·*/\n····_getValueIndicatorContainer()·{\n······return·this._valueIndicatorContainer?.nativeElement;\n····}\n····/**·Gets·the·native·HTML·element·of·the·slider·thumb·knob.·*/\n····_getKnob()·{\n······return·this._knob.nativeElement;\n····}\n····_isShowingAnyRipple()·{\n······return·this._isShowingRipple(this._hoverRippleRef)·||·this._isShowingRipple(this._focusRippleRef)·||·this._isShowingRipple(this._activeRippleRef);\n····}\n····static·\u0275fac·=·function·MatSliderVisualThumb_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSliderVisualThumb)();\n····};\n····static·\u0275cmp·=·/*·@__PURE__·*/i0.\u0275\u0275defineComponent({\n······type:·MatSliderVisualThumb,\n······selectors:·[[\"mat-slider-visual-thumb\"]],\n······viewQuery:·function·MatSliderVisualThumb_Query(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275viewQuery(MatRipple,·5);\n··········i0.\u0275\u0275viewQuery(_c0,·5);\n··········i0.\u0275\u0275viewQuery(_c1,·5);\n········}\n········if·(rf·&·2)·{\n··········let·_t;\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._ripple·=·_t.first);\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._knob·=·_t.first);\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._valueIndicatorContainer·=·_t.first);\n········}\n······},\n······hostAttrs:·[1,·\"mdc-slider__thumb\",·\"mat-mdc-slider-visual-thumb\"],\n······inputs:·{\n········discrete:·\"discrete\",\n········thumbPosition:·\"thumbPosition\",\n········valueIndicatorText:·\"valueIndicatorText\"\n······},\n······features:·[i0.\u0275\u0275ProvidersFeature([{\n········provide:·MAT_SLIDER_VISUAL_THUMB,\n········useExisting:·MatSliderVisualThumb\n······}])],\n······decls:·4,\n······vars:·2,\n······consts:·[[\"knob\",·\"\"],·[\"valueIndicatorContainer\",·\"\"],·[1,·\"mdc-slider__value-indicator-container\"],·[1,·\"mdc-slider__thumb-knob\"],·[\"matRipple\",·\"\",·1,·\"mat-focus-indicator\",·3,·\"matRippleDisabled\"],·[1,·\"mdc-slider__value-indicator\"],·[1,·\"mdc-slider__value-indicator-text\"]],\n······template:·function·MatSliderVisualThumb_Template(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275conditionalCreate(0,·MatSliderVisualThumb_Conditional_0_Template,·5,·1,·\"div\",·2);\n··········i0.\u0275\u0275element(1,·\"div\",·3,·0)(3,·\"div\",·4);\n········}\n········if·(rf·&·2)·{\n··········i0.\u0275\u0275conditional(ctx.discrete·?·0·:·-1);\n··········i0.\u0275\u0275advance(3);\n··········i0.\u0275\u0275property(\"matRippleDisabled\",·true);\n········}\n······},\n······dependencies:·[MatRipple],\n······styles:·[\".mat-mdc-slider-visual-thumb·.mat-ripple{height:100%;width:100%}.mat-mdc-slider·.mdc-slider__tick-marks{justify-content:start}.mat-mdc-slider·.mdc-slider__tick-marks·.mdc-slider__tick-mark--active,.mat-mdc-slider·.mdc-slider__tick-marks·.mdc-slider__tick-mark--inactive{position:absolute;left:2px}\\n\"],\n······encapsulation:·2,\n······changeDetection:·0\n····});\n··}\n··return·MatSliderVisualThumb;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\n\n//·TODO(wagnermaciel):·maybe·handle·the·following·edge·case:\n//·1.·start·dragging·discrete·slider\n//·2.·tab·to·disable·checkbox\n//·3.·without·ending·drag,·disable·the·slider\n/**\n·*·Allows·users·to·select·from·a·range·of·values·by·moving·the·slider·thumb.·It·is·similar·in\n·*·behavior·to·the·native·`<input·type=\"range\">`·element.\n·*/\nlet·MatSlider·=·/*#__PURE__*/(()·=>·{\n··class·MatSlider·{\n····_ngZone·=·inject(NgZone);\n····_cdr·=·inject(ChangeDetectorRef);\n····_elementRef·=·inject(ElementRef);\n····_dir·=·inject(Directionality,·{\n······optional:·true\n····});\n····_globalRippleOptions·=·inject(MAT_RIPPLE_GLOBAL_OPTIONS,·{\n······optional:·true\n····});\n····/**·The·active·portion·of·the·slider·track.·*/\n····_trackActive;\n····/**·The·slider·thumb(s).·*/\n····_thumbs;\n····/**·The·sliders·hidden·range·input(s).·*/\n····_input;\n····/**·The·sliders·hidden·range·input(s).·*/\n····_inputs;\n····/**·Whether·the·slider·is·disabled.·*/\n····get·disabled()·{\n······return·this._disabled;\n····}\n····set·disabled(v)·{\n······this._disabled·=·v;\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······if·(endInput)·{\n········endInput.disabled·=·this._disabled;\n······}\n······if·(startInput)·{\n········startInput.disabled·=·this._disabled;\n······}\n····}\n····_disabled·=·false;\n····/**·Whether·the·slider·displays·a·numeric·value·label·upon·pressing·the·thumb.·*/\n····get·discrete()·{\n······return·this._discrete;\n····}\n····set·discrete(v)·{\n······this._discrete·=·v;\n······this._updateValueIndicatorUIs();\n····}\n····_discrete·=·false;\n····/**·Whether·the·slider·displays·tick·marks·along·the·slider·track.·*/\n····get·showTickMarks()·{\n······return·this._showTickMarks;\n····}\n····set·showTickMarks(value)·{\n······this._showTickMarks·=·value;\n······if·(this._hasViewInitialized)·{\n········this._updateTickMarkUI();\n········this._updateTickMarkTrackUI();\n······}\n····}\n····_showTickMarks·=·false;\n····/**·The·minimum·value·that·the·slider·can·have.·*/\n····get·min()·{\n······return·this._min;\n····}\n····set·min(v)·{\n······const·min·=·v·===·undefined·||·v·===·null·||·isNaN(v)·?·this._min·:·v;\n······if·(this._min·!==·min)·{\n········this._updateMin(min);\n······}\n····}\n····_min·=·0;\n····/**\n·····*·Theme·color·of·the·slider.·This·API·is·supported·in·M2·themes·only,·it\n·····*·has·no·effect·in·M3·themes.·For·color·customization·in·M3,·see·https://material.angular.dev/components/slider/styling.\n·····*\n·····*·For·information·on·applying·color·variants·in·M3,·see\n·····*·https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n·····*/\n····color;\n····/**·Whether·ripples·are·disabled·in·the·slider.·*/\n····disableRipple·=·false;\n····_updateMin(min)·{\n······const·prevMin·=·this._min;\n······this._min·=·min;\n······this._isRange·?·this._updateMinRange({\n········old:·prevMin,\n········new:·min\n······})·:·this._updateMinNonRange(min);\n······this._onMinMaxOrStepChange();\n····}\n····_updateMinRange(min)·{\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······const·oldEndValue·=·endInput.value;\n······const·oldStartValue·=·startInput.value;\n······startInput.min·=·min.new;\n······endInput.min·=·Math.max(min.new,·startInput.value);\n······startInput.max·=·Math.min(endInput.max,·endInput.value);\n······startInput._updateWidthInactive();\n······endInput._updateWidthInactive();\n······min.new·<·min.old·?·this._onTranslateXChangeBySideEffect(endInput,·startInput)·:·this._onTranslateXChangeBySideEffect(startInput,·endInput);\n······if·(oldEndValue·!==·endInput.value)·{\n········this._onValueChange(endInput);\n······}\n······if·(oldStartValue·!==·startInput.value)·{\n········this._onValueChange(startInput);\n······}\n····}\n····_updateMinNonRange(min)·{\n······const·input·=·this._getInput(_MatThumb.END);\n······if·(input)·{\n········const·oldValue·=·input.value;\n········input.min·=·min;\n········input._updateThumbUIByValue();\n········this._updateTrackUI(input);\n········if·(oldValue·!==·input.value)·{\n··········this._onValueChange(input);\n········}\n······}\n····}\n····/**·The·maximum·value·that·the·slider·can·have.·*/\n····get·max()·{\n······return·this._max;\n····}\n····set·max(v)·{\n······const·max·=·v·===·undefined·||·v·===·null·||·isNaN(v)·?·this._max·:·v;\n······if·(this._max·!==·max)·{\n········this._updateMax(max);\n······}\n····}\n····_max·=·100;\n····_updateMax(max)·{\n······const·prevMax·=·this._max;\n······this._max·=·max;\n······this._isRange·?·this._updateMaxRange({\n········old:·prevMax,\n········new:·max\n······})·:·this._updateMaxNonRange(max);\n······this._onMinMaxOrStepChange();\n····}\n····_updateMaxRange(max)·{\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······const·oldEndValue·=·endInput.value;\n······const·oldStartValue·=·startInput.value;\n······endInput.max·=·max.new;\n······startInput.max·=·Math.min(max.new,·endInput.value);\n······endInput.min·=·startInput.value;\n······endInput._updateWidthInactive();\n······startInput._updateWidthInactive();\n······max.new·>·max.old·?·this._onTranslateXChangeBySideEffect(startInput,·endInput)·:·this._onTranslateXChangeBySideEffect(endInput,·startInput);\n······if·(oldEndValue·!==·endInput.value)·{\n········this._onValueChange(endInput);\n······}\n······if·(oldStartValue·!==·startInput.value)·{\n········this._onValueChange(startInput);\n······}\n····}\n····_updateMaxNonRange(max)·{\n······const·input·=·this._getInput(_MatThumb.END);\n······if·(input)·{\n········const·oldValue·=·input.value;\n········input.max·=·max;\n········input._updateThumbUIByValue();\n········this._updateTrackUI(input);\n········if·(oldValue·!==·input.value)·{\n··········this._onValueChange(input);\n········}\n······}\n····}\n····/**·The·values·at·which·the·thumb·will·snap.·*/\n····get·step()·{\n······return·this._step;\n····}\n····set·step(v)·{\n······const·step·=·isNaN(v)·?·this._step·:·v;\n······if·(this._step·!==·step)·{\n········this._updateStep(step);\n······}\n····}\n····_step·=·1;\n····_updateStep(step)·{\n······this._step·=·step;\n······this._isRange·?·this._updateStepRange()·:·this._updateStepNonRange();\n······this._onMinMaxOrStepChange();\n····}\n····_updateStepRange()·{\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······const·oldEndValue·=·endInput.value;\n······const·oldStartValue·=·startInput.value;\n······const·prevStartValue·=·startInput.value;\n······endInput.min·=·this._min;\n······startInput.max·=·this._max;\n······endInput.step·=·this._step;\n······startInput.step·=·this._step;\n······if·(this._platform.SAFARI)·{\n········endInput.value·=·endInput.value;\n········startInput.value·=·startInput.value;\n······}\n······endInput.min·=·Math.max(this._min,·startInput.value);\n······startInput.max·=·Math.min(this._max,·endInput.value);\n······startInput._updateWidthInactive();\n······endInput._updateWidthInactive();\n······endInput.value·<·prevStartValue·?·this._onTranslateXChangeBySideEffect(startInput,·endInput)·:·this._onTranslateXChangeBySideEffect(endInput,·startInput);\n······if·(oldEndValue·!==·endInput.value)·{\n········this._onValueChange(endInput);\n······}\n······if·(oldStartValue·!==·startInput.value)·{\n········this._onValueChange(startInput);\n······}\n····}\n····_updateStepNonRange()·{\n······const·input·=·this._getInput(_MatThumb.END);\n······if·(input)·{\n········const·oldValue·=·input.value;\n········input.step·=·this._step;\n········if·(this._platform.SAFARI)·{\n··········input.value·=·input.value;\n········}\n········input._updateThumbUIByValue();\n········if·(oldValue·!==·input.value)·{\n··········this._onValueChange(input);\n········}\n······}\n····}\n····/**\n·····*·Function·that·will·be·used·to·format·the·value·before·it·is·displayed\n·····*·in·the·thumb·label.·Can·be·used·to·format·very·large·number·in·order\n·····*·for·them·to·fit·into·the·slider·thumb.\n·····*/\n····displayWith·=·value·=>·`${value}`;\n····/**·Used·to·keep·track·of·&·render·the·active·&·inactive·tick·marks·on·the·slider·track.·*/\n····_tickMarks;\n····/**·Whether·animations·have·been·disabled.·*/\n····_noopAnimations·=·_animationsDisabled();\n····/**·Subscription·to·changes·to·the·directionality·(LTR·/·RTL)·context·for·the·application.·*/\n····_dirChangeSubscription;\n····/**·Observer·used·to·monitor·size·changes·in·the·slider.·*/\n····_resizeObserver;\n····//·Stored·dimensions·to·avoid·calling·getBoundingClientRect·redundantly.\n····_cachedWidth;\n····_cachedLeft;\n····_rippleRadius·=·24;\n····//·The·value·indicator·tooltip·text·for·the·visual·slider·thumb(s).\n····/**·@docs-private·*/\n····startValueIndicatorText·=·'';\n····/**·@docs-private·*/\n····endValueIndicatorText·=·'';\n····//·Used·to·control·the·translateX·of·the·visual·slider·thumb(s).\n····_endThumbTransform;\n····_startThumbTransform;\n····_isRange·=·false;\n····/**·Whether·the·slider·is·rtl.·*/\n····_isRtl·=·false;\n····_hasViewInitialized·=·false;\n····/**\n·····*·The·width·of·the·tick·mark·track.\n·····*·The·tick·mark·track·width·is·different·from·full·track·width\n·····*/\n····_tickMarkTrackWidth·=·0;\n····_hasAnimation·=·false;\n····_resizeTimer·=·null;\n····_platform·=·inject(Platform);\n····constructor()·{\n······inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n······if·(this._dir)·{\n········this._dirChangeSubscription·=·this._dir.change.subscribe(()·=>·this._onDirChange());\n········this._isRtl·=·this._dir.value·===·'rtl';\n······}\n····}\n····/**·The·radius·of·the·native·slider's·knob.·AFAIK·there·is·no·way·to·avoid·hardcoding·this.·*/\n····_knobRadius·=·8;\n····_inputPadding;\n····ngAfterViewInit()·{\n······if·(this._platform.isBrowser)·{\n········this._updateDimensions();\n······}\n······const·eInput·=·this._getInput(_MatThumb.END);\n······const·sInput·=·this._getInput(_MatThumb.START);\n······this._isRange·=·!!eInput·&&·!!sInput;\n······this._cdr.detectChanges();\n······if·(typeof·ngDevMode·===·'undefined'·||·ngDevMode)·{\n········_validateInputs(this._isRange,·this._getInput(_MatThumb.END),·this._getInput(_MatThumb.START));\n······}\n······const·thumb·=·this._getThumb(_MatThumb.END);\n······this._rippleRadius·=·thumb._ripple.radius;\n······this._inputPadding·=·this._rippleRadius·-·this._knobRadius;\n······this._isRange·?·this._initUIRange(eInput,·sInput)·:·this._initUINonRange(eInput);\n······this._updateTrackUI(eInput);\n······this._updateTickMarkUI();\n······this._updateTickMarkTrackUI();\n······this._observeHostResize();\n······this._cdr.detectChanges();\n····}\n····_initUINonRange(eInput)·{\n······eInput.initProps();\n······eInput.initUI();\n······this._updateValueIndicatorUI(eInput);\n······this._hasViewInitialized·=·true;\n······eInput._updateThumbUIByValue();\n····}\n····_initUIRange(eInput,·sInput)·{\n······eInput.initProps();\n······eInput.initUI();\n······sInput.initProps();\n······sInput.initUI();\n······eInput._updateMinMax();\n······sInput._updateMinMax();\n······eInput._updateStaticStyles();\n······sInput._updateStaticStyles();\n······this._updateValueIndicatorUIs();\n······this._hasViewInitialized·=·true;\n······eInput._updateThumbUIByValue();\n······sInput._updateThumbUIByValue();\n····}\n····ngOnDestroy()·{\n······this._dirChangeSubscription.unsubscribe();\n······this._resizeObserver?.disconnect();\n······this._resizeObserver·=·null;\n····}\n····/**·Handles·updating·the·slider·ui·after·a·dir·change.·*/\n····_onDirChange()·{\n······this._isRtl·=·this._dir?.value·===·'rtl';\n······this._isRange·?·this._onDirChangeRange()·:·this._onDirChangeNonRange();\n······this._updateTickMarkUI();\n····}\n····_onDirChangeRange()·{\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······endInput._setIsLeftThumb();\n······startInput._setIsLeftThumb();\n······endInput.translateX·=·endInput._calcTranslateXByValue();\n······startInput.translateX·=·startInput._calcTranslateXByValue();\n······endInput._updateStaticStyles();\n······startInput._updateStaticStyles();\n······endInput._updateWidthInactive();\n······startInput._updateWidthInactive();\n······endInput._updateThumbUIByValue();\n······startInput._updateThumbUIByValue();\n····}\n····_onDirChangeNonRange()·{\n······const·input·=·this._getInput(_MatThumb.END);\n······input._updateThumbUIByValue();\n····}\n····/**·Starts·observing·and·updating·the·slider·if·the·host·changes·its·size.·*/\n····_observeHostResize()·{\n······if·(typeof·ResizeObserver·===·'undefined'·||·!ResizeObserver)·{\n········return;\n······}\n······this._ngZone.runOutsideAngular(()·=>·{\n········this._resizeObserver·=·new·ResizeObserver(()·=>·{\n··········if·(this._isActive())·{\n············return;\n··········}\n··········if·(this._resizeTimer)·{\n············clearTimeout(this._resizeTimer);\n··········}\n··········this._onResize();\n········});\n········this._resizeObserver.observe(this._elementRef.nativeElement);\n······});\n····}\n····/**·Whether·any·of·the·thumbs·are·currently·active.·*/\n····_isActive()·{\n······return·this._getThumb(_MatThumb.START)._isActive·||·this._getThumb(_MatThumb.END)._isActive;\n····}\n····_getValue(thumbPosition·=·_MatThumb.END)·{\n······const·input·=·this._getInput(thumbPosition);\n······if·(!input)·{\n········return·this.min;\n······}\n······return·input.value;\n····}\n····_skipUpdate()·{\n······return·!!(this._getInput(_MatThumb.START)?._skipUIUpdate·||·this._getInput(_MatThumb.END)?._skipUIUpdate);\n····}\n····/**·Stores·the·slider·dimensions.·*/\n····_updateDimensions()·{\n······this._cachedWidth·=·this._elementRef.nativeElement.offsetWidth;\n······this._cachedLeft·=·this._elementRef.nativeElement.getBoundingClientRect().left;\n····}\n····/**·Sets·the·styles·for·the·active·portion·of·the·track.·*/\n····_setTrackActiveStyles(styles)·{\n······const·trackStyle·=·this._trackActive.nativeElement.style;\n······trackStyle.left·=·styles.left;\n······trackStyle.right·=·styles.right;\n······trackStyle.transformOrigin·=·styles.transformOrigin;\n······trackStyle.transform·=·styles.transform;\n····}\n····/**·Returns·the·translateX·positioning·for·a·tick·mark·based·on·it's·index.·*/\n····_calcTickMarkTransform(index)·{\n······//·TODO(wagnermaciel):·See·if·we·can·avoid·doing·this·and·just·using·flex·to·position·these.\n······const·offset·=·index·*·(this._tickMarkTrackWidth·/·(this._tickMarks.length·-·1));\n······const·translateX·=·this._isRtl·?·this._cachedWidth·-·6·-·offset·:·offset;\n······return·`translateX(${translateX}px`;\n····}\n····//·Handlers·for·updating·the·slider·ui.\n····_onTranslateXChange(source)·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······this._updateThumbUI(source);\n······this._updateTrackUI(source);\n······this._updateOverlappingThumbUI(source);\n····}\n····_onTranslateXChangeBySideEffect(input1,·input2)·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······input1._updateThumbUIByValue();\n······input2._updateThumbUIByValue();\n····}\n····_onValueChange(source)·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······this._updateValueIndicatorUI(source);\n······this._updateTickMarkUI();\n······this._cdr.detectChanges();\n····}\n····_onMinMaxOrStepChange()·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······this._updateTickMarkUI();\n······this._updateTickMarkTrackUI();\n······this._cdr.markForCheck();\n····}\n····_onResize()·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······this._updateDimensions();\n······if·(this._isRange)·{\n········const·eInput·=·this._getInput(_MatThumb.END);\n········const·sInput·=·this._getInput(_MatThumb.START);\n········eInput._updateThumbUIByValue();\n········sInput._updateThumbUIByValue();\n········eInput._updateStaticStyles();\n········sInput._updateStaticStyles();\n········eInput._updateMinMax();\n········sInput._updateMinMax();\n········eInput._updateWidthInactive();\n········sInput._updateWidthInactive();\n······}·else·{\n········const·eInput·=·this._getInput(_MatThumb.END);\n········if·(eInput)·{\n··········eInput._updateThumbUIByValue();\n········}\n······}\n······this._updateTickMarkUI();\n······this._updateTickMarkTrackUI();\n······this._cdr.detectChanges();\n····}\n····/**·Whether·or·not·the·slider·thumbs·overlap.·*/\n····_thumbsOverlap·=·false;\n····/**·Returns·true·if·the·slider·knobs·are·overlapping·one·another.·*/\n····_areThumbsOverlapping()·{\n······const·startInput·=·this._getInput(_MatThumb.START);\n······const·endInput·=·this._getInput(_MatThumb.END);\n······if·(!startInput·||·!endInput)·{\n········return·false;\n······}\n······return·endInput.translateX·-·startInput.translateX·<·20;\n····}\n····/**\n·····*·Updates·the·class·names·of·overlapping·slider·thumbs·so\n·····*·that·the·current·active·thumb·is·styled·to·be·on·\"top\".\n·····*/\n····_updateOverlappingThumbClassNames(source)·{\n······const·sibling·=·source.getSibling();\n······const·sourceThumb·=·this._getThumb(source.thumbPosition);\n······const·siblingThumb·=·this._getThumb(sibling.thumbPosition);\n······siblingThumb._hostElement.classList.remove('mdc-slider__thumb--top');\n······sourceThumb._hostElement.classList.toggle('mdc-slider__thumb--top',·this._thumbsOverlap);\n····}\n····/**·Updates·the·UI·of·slider·thumbs·when·they·begin·or·stop·overlapping.·*/\n····_updateOverlappingThumbUI(source)·{\n······if·(!this._isRange·||·this._skipUpdate())·{\n········return;\n······}\n······if·(this._thumbsOverlap·!==·this._areThumbsOverlapping())·{\n········this._thumbsOverlap·=·!this._thumbsOverlap;\n········this._updateOverlappingThumbClassNames(source);\n······}\n····}\n····//·_MatThumb·styles·update·conditions\n····//\n····//·1.·TranslateX,·resize,·or·dir·change\n····//····-·Reason:·The·thumb·styles·need·to·be·updated·according·to·the·new·translateX.\n····//·2.·Min,·max,·or·step\n····//····-·Reason:·The·value·may·have·silently·changed.\n····/**·Updates·the·translateX·of·the·given·thumb.·*/\n····_updateThumbUI(source)·{\n······if·(this._skipUpdate())·{\n········return;\n······}\n······const·thumb·=·this._getThumb(source.thumbPosition·===·_MatThumb.END·?·_MatThumb.END·:·_MatThumb.START);\n······thumb._hostElement.style.transform·=·`translateX(${source.translateX}px)`;\n····}\n····//·Value·indicator·text·update·conditions\n····//\n····//·1.·Value\n····//····-·Reason:·The·value·displayed·needs·to·be·updated.\n····//·2.·Min,·max,·or·step\n····//····-·Reason:·The·value·may·have·silently·changed.\n····/**·Updates·the·value·indicator·tooltip·ui·for·the·given·thumb.·*/\n····_updateValueIndicatorUI(source)·{\n······if·(this._skipUpdate())·{\n········return;\n······}\n······const·valuetext·=·this.displayWith(source.value);\n······this._hasViewInitialized·?·source._valuetext.set(valuetext)·:·source._hostElement.setAttribute('aria-valuetext',·valuetext);\n······if·(this.discrete)·{\n········source.thumbPosition·===·_MatThumb.START·?·this.startValueIndicatorText·=·valuetext·:·this.endValueIndicatorText·=·valuetext;\n········const·visualThumb·=·this._getThumb(source.thumbPosition);\n········valuetext.length·<·3·?·visualThumb._hostElement.classList.add('mdc-slider__thumb--short-value')·:·visualThumb._hostElement.classList.remove('mdc-slider__thumb--short-value');\n······}\n····}\n····/**·Updates·all·value·indicator·UIs·in·the·slider.·*/\n····_updateValueIndicatorUIs()·{\n······const·eInput·=·this._getInput(_MatThumb.END);\n······const·sInput·=·this._getInput(_MatThumb.START);\n······if·(eInput)·{\n········this._updateValueIndicatorUI(eInput);\n······}\n······if·(sInput)·{\n········this._updateValueIndicatorUI(sInput);\n······}\n····}\n····//·Update·Tick·Mark·Track·Width\n····//\n····//·1.·Min,·max,·or·step\n····//····-·Reason:·The·maximum·reachable·value·may·have·changed.\n····//····-·Side·note:·The·maximum·reachable·value·is·different·from·the·maximum·value·set·by·the\n····//······user.·For·example,·a·slider·with·[min:·5,·max:·100,·step:·10]·would·have·a·maximum\n····//······reachable·value·of·95.\n····//·2.·Resize\n····//····-·Reason:·The·position·for·the·maximum·reachable·value·needs·to·be·recalculated.\n····/**·Updates·the·width·of·the·tick·mark·track.·*/\n····_updateTickMarkTrackUI()·{\n······if·(!this.showTickMarks·||·this._skipUpdate())·{\n········return;\n······}\n······const·step·=·this._step·&&·this._step·>·0·?·this._step·:·1;\n······const·maxValue·=·Math.floor(this.max·/·step)·*·step;\n······const·percentage·=·(maxValue·-·this.min)·/·(this.max·-·this.min);\n······this._tickMarkTrackWidth·=·(this._cachedWidth·-·6)·*·percentage;\n····}\n····//·Track·active·update·conditions\n····//\n····//·1.·TranslateX\n····//····-·Reason:·The·track·active·should·line·up·with·the·new·thumb·position.\n····//·2.·Min·or·max\n····//····-·Reason·#1:·The·'active'·percentage·needs·to·be·recalculated.\n····//····-·Reason·#2:·The·value·may·have·silently·changed.\n····//·3.·Step\n····//····-·Reason:·The·value·may·have·silently·changed·causing·the·thumb(s)·to·shift.\n····//·4.·Dir·change\n····//····-·Reason:·The·track·active·will·need·to·be·updated·according·to·the·new·thumb·position(s).\n····//·5.·Resize\n····//····-·Reason:·The·total·width·the·'active'·tracks·translateX·is·based·on·has·changed.\n····/**·Updates·the·scale·on·the·active·portion·of·the·track.·*/\n····_updateTrackUI(source)·{\n······if·(this._skipUpdate())·{\n········return;\n······}\n······this._isRange·?·this._updateTrackUIRange(source)·:·this._updateTrackUINonRange(source);\n····}\n····_updateTrackUIRange(source)·{\n······const·sibling·=·source.getSibling();\n······if·(!sibling·||·!this._cachedWidth)·{\n········return;\n······}\n······const·activePercentage·=·Math.abs(sibling.translateX·-·source.translateX)·/·this._cachedWidth;\n······if·(source._isLeftThumb·&&·this._cachedWidth)·{\n········this._setTrackActiveStyles({\n··········left:·'auto',\n··········right:·`${this._cachedWidth·-·sibling.translateX}px`,\n··········transformOrigin:·'right',\n··········transform:·`scaleX(${activePercentage})`\n········});\n······}·else·{\n········this._setTrackActiveStyles({\n··········left:·`${sibling.translateX}px`,\n··········right:·'auto',\n··········transformOrigin:·'left',\n··········transform:·`scaleX(${activePercentage})`\n········});\n······}\n····}\n····_updateTrackUINonRange(source)·{\n······this._isRtl·?·this._setTrackActiveStyles({\n········left:·'auto',\n········right:·'0px',\n········transformOrigin:·'right',\n········transform:·`scaleX(${1·-·source.fillPercentage})`\n······})·:·this._setTrackActiveStyles({\n········left:·'0px',\n········right:·'auto',\n········transformOrigin:·'left',\n········transform:·`scaleX(${source.fillPercentage})`\n······});\n····}\n····//·Tick·mark·update·conditions\n····//\n····//·1.·Value\n····//····-·Reason:·a·tick·mark·which·was·once·active·might·now·be·inactive·or·vice·versa.\n····//·2.·Min,·max,·or·step\n····//····-·Reason·#1:·the·number·of·tick·marks·may·have·changed.\n····//····-·Reason·#2:·The·value·may·have·silently·changed.\n····/**·Updates·the·dots·along·the·slider·track.·*/\n····_updateTickMarkUI()·{\n······if·(!this.showTickMarks·||·this.step·===·undefined·||·this.min·===·undefined·||·this.max·===·undefined)·{\n········return;\n······}\n······const·step·=·this.step·>·0·?·this.step·:·1;\n······this._isRange·?·this._updateTickMarkUIRange(step)·:·this._updateTickMarkUINonRange(step);\n····}\n····_updateTickMarkUINonRange(step)·{\n······const·value·=·this._getValue();\n······let·numActive·=·Math.max(Math.round((value·-·this.min)·/·step),·0)·+·1;\n······let·numInactive·=·Math.max(Math.round((this.max·-·value)·/·step),·0)·-·1;\n······this._isRtl·?·numActive++·:·numInactive++;\n······this._tickMarks·=·Array(numActive).fill(_MatTickMark.ACTIVE).concat(Array(numInactive).fill(_MatTickMark.INACTIVE));\n····}\n····_updateTickMarkUIRange(step)·{\n······const·endValue·=·this._getValue();\n······const·startValue·=·this._getValue(_MatThumb.START);\n······const·numInactiveBeforeStartThumb·=·Math.max(Math.round((startValue·-·this.min)·/·step),·0);\n······const·numActive·=·Math.max(Math.round((endValue·-·startValue)·/·step)·+·1,·0);\n······const·numInactiveAfterEndThumb·=·Math.max(Math.round((this.max·-·endValue)·/·step),·0);\n······this._tickMarks·=·Array(numInactiveBeforeStartThumb).fill(_MatTickMark.INACTIVE).concat(Array(numActive).fill(_MatTickMark.ACTIVE),·Array(numInactiveAfterEndThumb).fill(_MatTickMark.INACTIVE));\n····}\n····/**·Gets·the·slider·thumb·input·of·the·given·thumb·position.·*/\n····_getInput(thumbPosition)·{\n······if·(thumbPosition·===·_MatThumb.END·&&·this._input)·{\n········return·this._input;\n······}\n······if·(this._inputs?.length)·{\n········return·thumbPosition·===·_MatThumb.START·?·this._inputs.first·:·this._inputs.last;\n······}\n······return;\n····}\n····/**·Gets·the·slider·thumb·HTML·input·element·of·the·given·thumb·position.·*/\n····_getThumb(thumbPosition)·{\n······return·thumbPosition·===·_MatThumb.END·?·this._thumbs?.last·:·this._thumbs?.first;\n····}\n····_setTransition(withAnimation)·{\n······this._hasAnimation·=·!this._platform.IOS·&&·withAnimation·&&·!this._noopAnimations;\n······this._elementRef.nativeElement.classList.toggle('mat-mdc-slider-with-animation',·this._hasAnimation);\n····}\n····/**·Whether·the·given·pointer·event·occurred·within·the·bounds·of·the·slider·pointer's·DOM·Rect.·*/\n····_isCursorOnSliderThumb(event,·rect)·{\n······const·radius·=·rect.width·/·2;\n······const·centerX·=·rect.x·+·radius;\n······const·centerY·=·rect.y·+·radius;\n······const·dx·=·event.clientX·-·centerX;\n······const·dy·=·event.clientY·-·centerY;\n······return·Math.pow(dx,·2)·+·Math.pow(dy,·2)·<·Math.pow(radius,·2);\n····}\n····static·\u0275fac·=·function·MatSlider_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSlider)();\n····};\n····static·\u0275cmp·=·/*·@__PURE__·*/i0.\u0275\u0275defineComponent({\n······type:·MatSlider,\n······selectors:·[[\"mat-slider\"]],\n······contentQueries:·function·MatSlider_ContentQueries(rf,·ctx,·dirIndex)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275contentQuery(dirIndex,·MAT_SLIDER_THUMB,·5);\n··········i0.\u0275\u0275contentQuery(dirIndex,·MAT_SLIDER_RANGE_THUMB,·4);\n········}\n········if·(rf·&·2)·{\n··········let·_t;\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._input·=·_t.first);\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._inputs·=·_t);\n········}\n······},\n······viewQuery:·function·MatSlider_Query(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275viewQuery(_c2,·5);\n··········i0.\u0275\u0275viewQuery(MAT_SLIDER_VISUAL_THUMB,·5);\n········}\n········if·(rf·&·2)·{\n··········let·_t;\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._trackActive·=·_t.first);\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._thumbs·=·_t);\n········}\n······},\n······hostAttrs:·[1,·\"mat-mdc-slider\",·\"mdc-slider\"],\n······hostVars:·12,\n······hostBindings:·function·MatSlider_HostBindings(rf,·ctx)·{\n········if·(rf·&·2)·{\n··········i0.\u0275\u0275classMap(\"mat-\"·+·(ctx.color·||·\"primary\"));\n··········i0.\u0275\u0275classProp(\"mdc-slider--range\",·ctx._isRange)(\"mdc-slider--disabled\",·ctx.disabled)(\"mdc-slider--discrete\",·ctx.discrete)(\"mdc-slider--tick-marks\",·ctx.showTickMarks)(\"_mat-animation-noopable\",·ctx._noopAnimations);\n········}\n······},\n······inputs:·{\n········disabled:·[2,·\"disabled\",·\"disabled\",·booleanAttribute],\n········discrete:·[2,·\"discrete\",·\"discrete\",·booleanAttribute],\n········showTickMarks:·[2,·\"showTickMarks\",·\"showTickMarks\",·booleanAttribute],\n········min:·[2,·\"min\",·\"min\",·numberAttribute],\n········color:·\"color\",\n········disableRipple:·[2,·\"disableRipple\",·\"disableRipple\",·booleanAttribute],\n········max:·[2,·\"max\",·\"max\",·numberAttribute],\n········step:·[2,·\"step\",·\"step\",·numberAttribute],\n········displayWith:·\"displayWith\"\n······},\n······exportAs:·[\"matSlider\"],\n······features:·[i0.\u0275\u0275ProvidersFeature([{\n········provide:·MAT_SLIDER,\n········useExisting:·MatSlider\n······}])],\n······ngContentSelectors:·_c3,\n······decls:·9,\n······vars:·5,\n······consts:·[[\"trackActive\",·\"\"],·[\"tickMarkContainer\",·\"\"],·[1,·\"mdc-slider__track\"],·[1,·\"mdc-slider__track--inactive\"],·[1,·\"mdc-slider__track--active\"],·[1,·\"mdc-slider__track--active_fill\"],·[1,·\"mdc-slider__tick-marks\"],·[3,·\"discrete\",·\"thumbPosition\",·\"valueIndicatorText\"],·[3,·\"class\",·\"transform\"]],\n······template:·function·MatSlider_Template(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275projectionDef();\n··········i0.\u0275\u0275projection(0);\n··········i0.\u0275\u0275elementStart(1,·\"div\",·2);\n··········i0.\u0275\u0275element(2,·\"div\",·3);\n··········i0.\u0275\u0275elementStart(3,·\"div\",·4);\n··········i0.\u0275\u0275element(4,·\"div\",·5,·0);\n··········i0.\u0275\u0275elementEnd();\n··········i0.\u0275\u0275conditionalCreate(6,·MatSlider_Conditional_6_Template,·3,·1,·\"div\",·6);\n··········i0.\u0275\u0275elementEnd();\n··········i0.\u0275\u0275conditionalCreate(7,·MatSlider_Conditional_7_Template,·1,·3,·\"mat-slider-visual-thumb\",·7);\n··········i0.\u0275\u0275element(8,·\"mat-slider-visual-thumb\",·7);\n········}\n········if·(rf·&·2)·{\n··········i0.\u0275\u0275advance(6);\n··········i0.\u0275\u0275conditional(ctx.showTickMarks·?·6·:·-1);\n··········i0.\u0275\u0275advance();\n··········i0.\u0275\u0275conditional(ctx._isRange·?·7·:·-1);\n··········i0.\u0275\u0275advance();\n··········i0.\u0275\u0275property(\"discrete\",·ctx.discrete)(\"thumbPosition\",·2)(\"valueIndicatorText\",·ctx.endValueIndicatorText);\n········}\n······},\n······dependencies:·[MatSliderVisualThumb],\n······styles:·[\".mdc-slider__track{position:absolute;top:50%;transform:translateY(-50%);width:100%;pointer-events:none;height:var(--mat-slider-inactive-track-height,·4px)}.mdc-slider__track--active,.mdc-slider__track--inactive{display:flex;height:100%;position:absolute;width:100%}.mdc-slider__track--active{overflow:hidden;border-radius:var(--mat-slider-active-track-shape,·var(--mat-sys-corner-full));height:var(--mat-slider-active-track-height,·4px);top:calc((var(--mat-slider-inactive-track-height,·4px)·-·var(--mat-slider-active-track-height,·4px))/2)}.mdc-slider__track--active_fill{border-top-style:solid;box-sizing:border-box;height:100%;width:100%;position:relative;transform-origin:left;transition:transform·80ms·ease;border-color:var(--mat-slider-active-track-color,·var(--mat-sys-primary));border-top-width:var(--mat-slider-active-track-height,·4px)}.mdc-slider--disabled·.mdc-slider__track--active_fill{border-color:var(--mat-slider-disabled-active-track-color,·var(--mat-sys-on-surface))}[dir=rtl]·.mdc-slider__track--active_fill{-webkit-transform-origin:right;transform-origin:right}.mdc-slider__track--inactive{left:0;top:0;opacity:.24;background-color:var(--mat-slider-inactive-track-color,·var(--mat-sys-surface-variant));height:var(--mat-slider-inactive-track-height,·4px);border-radius:var(--mat-slider-inactive-track-shape,·var(--mat-sys-corner-full))}.mdc-slider--disabled·.mdc-slider__track--inactive{background-color:var(--mat-slider-disabled-inactive-track-color,·var(--mat-sys-on-surface));opacity:.24}.mdc-slider__track--inactive::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px·solid·rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}@media(forced-colors:·active){.mdc-slider__track--inactive::before{border-color:CanvasText}}.mdc-slider__value-indicator-container{bottom:44px;left:50%;pointer-events:none;position:absolute;transform:var(--mat-slider-value-indicator-container-transform,·translateX(-50%)·rotate(-45deg))}.mdc-slider__thumb--with-indicator·.mdc-slider__value-indicator-container{pointer-events:auto}.mdc-slider__value-indicator{display:flex;align-items:center;transform:scale(0);transform-origin:bottom;transition:transform·100ms·cubic-bezier(0.4,·0,·1,·1);word-break:normal;background-color:var(--mat-slider-label-container-color,·var(--mat-sys-primary));color:var(--mat-slider-label-label-text-color,·var(--mat-sys-on-primary));width:var(--mat-slider-value-indicator-width,·28px);height:var(--mat-slider-value-indicator-height,·28px);padding:var(--mat-slider-value-indicator-padding,·0);opacity:var(--mat-slider-value-indicator-opacity,·1);border-radius:var(--mat-slider-value-indicator-border-radius,·50%·50%·50%·0)}.mdc-slider__thumb--with-indicator·.mdc-slider__value-indicator{transition:transform·100ms·cubic-bezier(0,·0,·0.2,·1);transform:scale(1)}.mdc-slider__value-indicator::before{border-left:6px·solid·rgba(0,0,0,0);border-right:6px·solid·rgba(0,0,0,0);border-top:6px·solid;bottom:-5px;content:\\\"\\\";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;display:var(--mat-slider-value-indicator-caret-display,·none);border-top-color:var(--mat-slider-label-container-color,·var(--mat-sys-primary))}.mdc-slider__value-indicator::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px·solid·rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}@media(forced-colors:·active){.mdc-slider__value-indicator::after{border-color:CanvasText}}.mdc-slider__value-indicator-text{text-align:center;width:var(--mat-slider-value-indicator-width,·28px);transform:var(--mat-slider-value-indicator-text-transform,·rotate(45deg));font-family:var(--mat-slider-label-label-text-font,·var(--mat-sys-label-medium-font));font-size:var(--mat-slider-label-label-text-size,·var(--mat-sys-label-medium-size));font-weight:var(--mat-slider-label-label-text-weight,·var(--mat-sys-label-medium-weight));line-height:var(--mat-slider-label-label-text-line-height,·var(--mat-sys-label-medium-line-height));letter-spacing:var(--mat-slider-label-label-text-tracking,·var(--mat-sys-label-medium-tracking))}.mdc-slider__thumb{-webkit-user-select:none;user-select:none;display:flex;left:-24px;outline:none;position:absolute;height:48px;width:48px;pointer-events:none}.mdc-slider--discrete·.mdc-slider__thumb{transition:transform·80ms·ease}.mdc-slider--disabled·.mdc-slider__thumb{pointer-events:none}.mdc-slider__thumb--top{z-index:1}.mdc-slider__thumb-knob{position:absolute;box-sizing:border-box;left:50%;top:50%;transform:translate(-50%,·-50%);border-style:solid;width:var(--mat-slider-handle-width,·20px);height:var(--mat-slider-handle-height,·20px);border-width:calc(var(--mat-slider-handle-height,·20px)/2)·calc(var(--mat-slider-handle-width,·20px)/2);box-shadow:var(--mat-slider-handle-elevation,·var(--mat-sys-level1));background-color:var(--mat-slider-handle-color,·var(--mat-sys-primary));border-color:var(--mat-slider-handle-color,·var(--mat-sys-primary));border-radius:var(--mat-slider-handle-shape,·var(--mat-sys-corner-full))}.mdc-slider__thumb:hover·.mdc-slider__thumb-knob{background-color:var(--mat-slider-hover-handle-color,·var(--mat-sys-primary));border-color:var(--mat-slider-hover-handle-color,·var(--mat-sys-primary))}.mdc-slider__thumb--focused·.mdc-slider__thumb-knob{background-color:var(--mat-slider-focus-handle-color,·var(--mat-sys-primary));border-color:var(--mat-slider-focus-handle-color,·var(--mat-sys-primary))}.mdc-slider--disabled·.mdc-slider__thumb-knob{background-color:var(--mat-slider-disabled-handle-color,·var(--mat-sys-on-surface));border-color:var(--mat-slider-disabled-handle-color,·var(--mat-sys-on-surface))}.mdc-slider__thumb--top·.mdc-slider__thumb-knob,.mdc-slider__thumb--top.mdc-slider__thumb:hover·.mdc-slider__thumb-knob,.mdc-slider__thumb--top.mdc-slider__thumb--focused·.mdc-slider__thumb-knob{border:solid·1px·#fff;box-sizing:content-box;border-color:var(--mat-slider-with-overlap-handle-outline-color,·var(--mat-sys-on-primary));border-width:var(--mat-slider-with-overlap-handle-outline-width,·1px)}.mdc-slider__tick-marks{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;padding:0·1px;position:absolute;width:100%}.mdc-slider__tick-mark--active,.mdc-slider__tick-mark--inactive{width:var(--mat-slider-with-tick-marks-container-size,·2px);height:var(--mat-slider-with-tick-marks-container-size,·2px);border-radius:var(--mat-slider-with-tick-marks-container-shape,·var(--mat-sys-corner-full))}.mdc-slider__tick-mark--inactive{opacity:var(--mat-slider-with-tick-marks-inactive-container-opacity,·0.38);background-color:var(--mat-slider-with-tick-marks-inactive-container-color,·var(--mat-sys-on-surface-variant))}.mdc-slider--disabled·.mdc-slider__tick-mark--inactive{opacity:var(--mat-slider-with-tick-marks-inactive-container-opacity,·0.38);background-color:var(--mat-slider-with-tick-marks-disabled-container-color,·var(--mat-sys-on-surface))}.mdc-slider__tick-mark--active{opacity:var(--mat-slider-with-tick-marks-active-container-opacity,·0.38);background-color:var(--mat-slider-with-tick-marks-active-container-color,·var(--mat-sys-on-primary))}.mdc-slider__input{cursor:pointer;left:2px;margin:0;height:44px;opacity:0;position:absolute;top:2px;width:44px;box-sizing:content-box}.mdc-slider__input.mat-mdc-slider-input-no-pointer-events{pointer-events:none}.mdc-slider__input.mat-slider__right-input{left:auto;right:0}.mat-mdc-slider{display:inline-block;box-sizing:border-box;outline:none;vertical-align:middle;cursor:pointer;height:48px;margin:0·8px;position:relative;touch-action:pan-y;width:auto;min-width:112px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-slider.mdc-slider--disabled{cursor:auto;opacity:.38}.mat-mdc-slider.mdc-slider--disabled·.mdc-slider__input{cursor:auto}.mat-mdc-slider·.mdc-slider__thumb,.mat-mdc-slider·.mdc-slider__track--active_fill{transition-duration:0ms}.mat-mdc-slider.mat-mdc-slider-with-animation·.mdc-slider__thumb,.mat-mdc-slider.mat-mdc-slider-with-animation·.mdc-slider__track--active_fill{transition-duration:80ms}.mat-mdc-slider.mdc-slider--discrete·.mdc-slider__thumb,.mat-mdc-slider.mdc-slider--discrete·.mdc-slider__track--active_fill{transition-duration:0ms}.mat-mdc-slider.mat-mdc-slider-with-animation·.mdc-slider__thumb,.mat-mdc-slider.mat-mdc-slider-with-animation·.mdc-slider__track--active_fill{transition-duration:80ms}.mat-mdc-slider·.mat-ripple·.mat-ripple-element{background-color:var(--mat-slider-ripple-color,·var(--mat-sys-primary))}.mat-mdc-slider·.mat-ripple·.mat-mdc-slider-hover-ripple{background-color:var(--mat-slider-hover-state-layer-color,·color-mix(in·srgb,·var(--mat-sys-primary)·5%,·transparent))}.mat-mdc-slider·.mat-ripple·.mat-mdc-slider-focus-ripple,.mat-mdc-slider·.mat-ripple·.mat-mdc-slider-active-ripple{background-color:var(--mat-slider-focus-state-layer-color,·color-mix(in·srgb,·var(--mat-sys-primary)·20%,·transparent))}.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete·.mdc-slider__thumb,.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete·.mdc-slider__track--active_fill,.mat-mdc-slider._mat-animation-noopable·.mdc-slider__value-indicator{transition:none}.mat-mdc-slider·.mat-focus-indicator::before{border-radius:50%}.mdc-slider__thumb--focused·.mat-focus-indicator::before{content:\\\"\\\"}\\n\"],\n······encapsulation:·2,\n······changeDetection:·0\n····});\n··}\n··return·MatSlider;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\n/**·Ensures·that·there·is·not·an·invalid·configuration·for·the·slider·thumb·inputs.·*/\nfunction·_validateInputs(isRange,·endInputElement,·startInputElement)·{\n··const·startValid·=·!isRange·||·startInputElement?._hostElement.hasAttribute('matSliderStartThumb');\n··const·endValid·=·endInputElement?._hostElement.hasAttribute(isRange·?·'matSliderEndThumb'·:·'matSliderThumb');\n··if·(!startValid·||·!endValid)·{\n····_throwInvalidInputConfigurationError();\n··}\n}\nfunction·_throwInvalidInputConfigurationError()·{\n··throw·Error(`Invalid·slider·thumb·input·configuration!\n\n···Valid·configurations·are·as·follows:\n\n·····<mat-slider>\n·······<input·matSliderThumb>\n·····</mat-slider>\n\n·····or\n\n·····<mat-slider>\n·······<input·matSliderStartThumb>\n·······<input·matSliderEndThumb>\n·····</mat-slider>\n···`);\n}\n\n/**\n·*·Provider·that·allows·the·slider·thumb·to·register·as·a·ControlValueAccessor.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_THUMB_VALUE_ACCESSOR·=·{\n··provide:·NG_VALUE_ACCESSOR,\n··useExisting:·/*#__PURE__*/forwardRef(()·=>·MatSliderThumb),\n··multi:·true\n};\n/**\n·*·Provider·that·allows·the·range·slider·thumb·to·register·as·a·ControlValueAccessor.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_RANGE_THUMB_VALUE_ACCESSOR·=·{\n··provide:·NG_VALUE_ACCESSOR,\n··useExisting:·/*#__PURE__*/forwardRef(()·=>·MatSliderRangeThumb),\n··multi:·true\n};\n/**\n·*·Directive·that·adds·slider-specific·behaviors·to·an·input·element·inside·`<mat-slider>`.\n·*·Up·to·two·may·be·placed·inside·of·a·`<mat-slider>`.\n·*\n·*·If·one·is·used,·the·selector·`matSliderThumb`·must·be·used,·and·the·outcome·will·be·a·normal\n·*·slider.·If·two·are·used,·the·selectors·`matSliderStartThumb`·and·`matSliderEndThumb`·must·be\n·*·used,·and·the·outcome·will·be·a·range·slider·with·two·slider·thumbs.\n·*/\nlet·MatSliderThumb·=·/*#__PURE__*/(()·=>·{\n··class·MatSliderThumb·{\n····_ngZone·=·inject(NgZone);\n····_elementRef·=·inject(ElementRef);\n····_cdr·=·inject(ChangeDetectorRef);\n····_slider·=·inject(MAT_SLIDER);\n····_platform·=·inject(Platform);\n····_listenerCleanups;\n····get·value()·{\n······return·numberAttribute(this._hostElement.value,·0);\n····}\n····set·value(value)·{\n······if·(value·===·null)·{\n········value·=·this._getDefaultValue();\n······}\n······value·=·isNaN(value)·?·0·:·value;\n······const·stringValue·=·value·+·'';\n······if·(!this._hasSetInitialValue)·{\n········this._initialValue·=·stringValue;\n········return;\n······}\n······if·(this._isActive)·{\n········return;\n······}\n······this._setValue(stringValue);\n····}\n····/**\n·····*·Handles·programmatic·value·setting.·This·has·been·split·out·to\n·····*·allow·the·range·thumb·to·override·it·and·add·additional·necessary·logic.\n·····*/\n····_setValue(value)·{\n······this._hostElement.value·=·value;\n······this._updateThumbUIByValue();\n······this._slider._onValueChange(this);\n······this._cdr.detectChanges();\n······this._slider._cdr.markForCheck();\n····}\n····/**·Event·emitted·when·the·`value`·is·changed.·*/\n····valueChange·=·new·EventEmitter();\n····/**·Event·emitted·when·the·slider·thumb·starts·being·dragged.·*/\n····dragStart·=·new·EventEmitter();\n····/**·Event·emitted·when·the·slider·thumb·stops·being·dragged.·*/\n····dragEnd·=·new·EventEmitter();\n····/**\n·····*·The·current·translateX·in·px·of·the·slider·visual·thumb.\n·····*·@docs-private\n·····*/\n····get·translateX()·{\n······if·(this._slider.min·>=·this._slider.max)·{\n········this._translateX·=·this._tickMarkOffset;\n········return·this._translateX;\n······}\n······if·(this._translateX·===·undefined)·{\n········this._translateX·=·this._calcTranslateXByValue();\n······}\n······return·this._translateX;\n····}\n····set·translateX(v)·{\n······this._translateX·=·v;\n····}\n····_translateX;\n····/**\n·····*·Indicates·whether·this·thumb·is·the·start·or·end·thumb.\n·····*·@docs-private\n·····*/\n····thumbPosition·=·_MatThumb.END;\n····/**·@docs-private·*/\n····get·min()·{\n······return·numberAttribute(this._hostElement.min,·0);\n····}\n····set·min(v)·{\n······this._hostElement.min·=·v·+·'';\n······this._cdr.detectChanges();\n····}\n····/**·@docs-private·*/\n····get·max()·{\n······return·numberAttribute(this._hostElement.max,·0);\n····}\n····set·max(v)·{\n······this._hostElement.max·=·v·+·'';\n······this._cdr.detectChanges();\n····}\n····get·step()·{\n······return·numberAttribute(this._hostElement.step,·0);\n····}\n····set·step(v)·{\n······this._hostElement.step·=·v·+·'';\n······this._cdr.detectChanges();\n····}\n····/**·@docs-private·*/\n····get·disabled()·{\n······return·booleanAttribute(this._hostElement.disabled);\n····}\n····set·disabled(v)·{\n······this._hostElement.disabled·=·v;\n······this._cdr.detectChanges();\n······if·(this._slider.disabled·!==·this.disabled)·{\n········this._slider.disabled·=·this.disabled;\n······}\n····}\n····/**·The·percentage·of·the·slider·that·coincides·with·the·value.·*/\n····get·percentage()·{\n······if·(this._slider.min·>=·this._slider.max)·{\n········return·this._slider._isRtl·?·1·:·0;\n······}\n······return·(this.value·-·this._slider.min)·/·(this._slider.max·-·this._slider.min);\n····}\n····/**·@docs-private·*/\n····get·fillPercentage()·{\n······if·(!this._slider._cachedWidth)·{\n········return·this._slider._isRtl·?·1·:·0;\n······}\n······if·(this._translateX·===·0)·{\n········return·0;\n······}\n······return·this.translateX·/·this._slider._cachedWidth;\n····}\n····/**·The·host·native·HTML·input·element.·*/\n····_hostElement·=·this._elementRef.nativeElement;\n····/**·The·aria-valuetext·string·representation·of·the·input's·value.·*/\n····_valuetext·=·signal('');\n····/**·The·radius·of·a·native·html·slider's·knob.·*/\n····_knobRadius·=·8;\n····/**·The·distance·in·px·from·the·start·of·the·slider·track·to·the·first·tick·mark.·*/\n····_tickMarkOffset·=·3;\n····/**·Whether·user's·cursor·is·currently·in·a·mouse·down·state·on·the·input.·*/\n····_isActive·=·false;\n····/**·Whether·the·input·is·currently·focused·(either·by·tab·or·after·clicking).·*/\n····_isFocused·=·false;\n····/**·Used·to·relay·updates·to·_isFocused·to·the·slider·visual·thumbs.·*/\n····_setIsFocused(v)·{\n······this._isFocused·=·v;\n····}\n····/**\n·····*·Whether·the·initial·value·has·been·set.\n·····*·This·exists·because·the·initial·value·cannot·be·immediately·set·because·the·min·and·max\n·····*·must·first·be·relayed·from·the·parent·MatSlider·component,·which·can·only·happen·later\n·····*·in·the·component·lifecycle.\n·····*/\n····_hasSetInitialValue·=·false;\n····/**·The·stored·initial·value.·*/\n····_initialValue;\n····/**·Defined·when·a·user·is·using·a·form·control·to·manage·slider·value·&·validation.·*/\n····_formControl;\n····/**·Emits·when·the·component·is·destroyed.·*/\n····_destroyed·=·new·Subject();\n····/**\n·····*·Indicates·whether·UI·updates·should·be·skipped.\n·····*\n·····*·This·flag·is·used·to·avoid·flickering\n·····*·when·correcting·values·on·pointer·up/down.\n·····*/\n····_skipUIUpdate·=·false;\n····/**·Callback·called·when·the·slider·input·value·changes.·*/\n····_onChangeFn;\n····/**·Callback·called·when·the·slider·input·has·been·touched.·*/\n····_onTouchedFn·=·()·=>·{};\n····/**\n·····*·Whether·the·NgModel·has·been·initialized.\n·····*\n·····*·This·flag·is·used·to·ignore·ghost·null·calls·to\n·····*·writeValue·which·can·break·slider·initialization.\n·····*\n·····*·See·https://github.com/angular/angular/issues/14988.\n·····*/\n····_isControlInitialized·=·false;\n····constructor()·{\n······const·renderer·=·inject(Renderer2);\n······this._ngZone.runOutsideAngular(()·=>·{\n········this._listenerCleanups·=·[renderer.listen(this._hostElement,·'pointerdown',·this._onPointerDown.bind(this)),·renderer.listen(this._hostElement,·'pointermove',·this._onPointerMove.bind(this)),·renderer.listen(this._hostElement,·'pointerup',·this._onPointerUp.bind(this))];\n······});\n····}\n····ngOnDestroy()·{\n······this._listenerCleanups.forEach(cleanup·=>·cleanup());\n······this._destroyed.next();\n······this._destroyed.complete();\n······this.dragStart.complete();\n······this.dragEnd.complete();\n····}\n····/**·@docs-private·*/\n····initProps()·{\n······this._updateWidthInactive();\n······//·If·this·or·the·parent·slider·is·disabled,·just·make·everything·disabled.\n······if·(this.disabled·!==·this._slider.disabled)·{\n········//·The·MatSlider·setter·for·disabled·will·relay·this·and·disable·both·inputs.\n········this._slider.disabled·=·true;\n······}\n······this.step·=·this._slider.step;\n······this.min·=·this._slider.min;\n······this.max·=·this._slider.max;\n······this._initValue();\n····}\n····/**·@docs-private·*/\n····initUI()·{\n······this._updateThumbUIByValue();\n····}\n····_initValue()·{\n······this._hasSetInitialValue·=·true;\n······if·(this._initialValue·===·undefined)·{\n········this.value·=·this._getDefaultValue();\n······}·else·{\n········this._hostElement.value·=·this._initialValue;\n········this._updateThumbUIByValue();\n········this._slider._onValueChange(this);\n········this._cdr.detectChanges();\n······}\n····}\n····_getDefaultValue()·{\n······return·this.min;\n····}\n····_onBlur()·{\n······this._setIsFocused(false);\n······this._onTouchedFn();\n····}\n····_onFocus()·{\n······this._slider._setTransition(false);\n······this._slider._updateTrackUI(this);\n······this._setIsFocused(true);\n····}\n····_onChange()·{\n······this.valueChange.emit(this.value);\n······//·only·used·to·handle·the·edge·case·where·user\n······//·mousedown·on·the·slider·then·uses·arrow·keys.\n······if·(this._isActive)·{\n········this._updateThumbUIByValue({\n··········withAnimation:·true\n········});\n······}\n····}\n····_onInput()·{\n······this._onChangeFn?.(this.value);\n······//·handles·arrowing·and·updating·the·value·when\n······//·a·step·is·defined.\n······if·(this._slider.step·||·!this._isActive)·{\n········this._updateThumbUIByValue({\n··········withAnimation:·true\n········});\n······}\n······this._slider._onValueChange(this);\n····}\n····_onNgControlValueChange()·{\n······//·only·used·to·handle·when·the·value·change\n······//·originates·outside·of·the·slider.\n······if·(!this._isActive·||·!this._isFocused)·{\n········this._slider._onValueChange(this);\n········this._updateThumbUIByValue();\n······}\n······this._slider.disabled·=·this._formControl.disabled;\n····}\n····_onPointerDown(event)·{\n······if·(this.disabled·||·event.button·!==·0)·{\n········return;\n······}\n······//·On·IOS,·dragging·only·works·if·the·pointer·down·happens·on·the\n······//·slider·thumb·and·the·slider·does·not·receive·focus·from·pointer·events.\n······if·(this._platform.IOS)·{\n········const·isCursorOnSliderThumb·=·this._slider._isCursorOnSliderThumb(event,·this._slider._getThumb(this.thumbPosition)._hostElement.getBoundingClientRect());\n········this._isActive·=·isCursorOnSliderThumb;\n········this._updateWidthActive();\n········this._slider._updateDimensions();\n········return;\n······}\n······this._isActive·=·true;\n······this._setIsFocused(true);\n······this._updateWidthActive();\n······this._slider._updateDimensions();\n······//·Does·nothing·if·a·step·is·defined·because·we\n······//·want·the·value·to·snap·to·the·values·on·input.\n······if·(!this._slider.step)·{\n········this._updateThumbUIByPointerEvent(event,·{\n··········withAnimation:·true\n········});\n······}\n······if·(!this.disabled)·{\n········this._handleValueCorrection(event);\n········this.dragStart.emit({\n··········source:·this,\n··········parent:·this._slider,\n··········value:·this.value\n········});\n······}\n····}\n····/**\n·····*·Corrects·the·value·of·the·slider·on·pointer·up/down.\n·····*\n·····*·Called·on·pointer·down·and·up·because·the·value·is·set·based\n·····*·on·the·inactive·width·instead·of·the·active·width.\n·····*/\n····_handleValueCorrection(event)·{\n······//·Don't·update·the·UI·with·the·current·value!·The·value·on·pointerdown\n······//·and·pointerup·is·calculated·in·the·split·second·before·the·input(s)\n······//·resize.·See·_updateWidthInactive()·and·_updateWidthActive()·for·more\n······//·details.\n······this._skipUIUpdate·=·true;\n······//·Note·that·this·function·gets·triggered·before·the·actual·value·of·the\n······//·slider·is·updated.·This·means·if·we·were·to·set·the·value·here,·it\n······//·would·immediately·be·overwritten.·Using·setTimeout·ensures·the·setting\n······//·of·the·value·happens·after·the·value·has·been·updated·by·the\n······//·pointerdown·event.\n······setTimeout(()·=>·{\n········this._skipUIUpdate·=·false;\n········this._fixValue(event);\n······},·0);\n····}\n····/**·Corrects·the·value·of·the·slider·based·on·the·pointer·event's·position.·*/\n····_fixValue(event)·{\n······const·xPos·=·event.clientX·-·this._slider._cachedLeft;\n······const·width·=·this._slider._cachedWidth;\n······const·step·=·this._slider.step·===·0·?·1·:·this._slider.step;\n······const·numSteps·=·Math.floor((this._slider.max·-·this._slider.min)·/·step);\n······const·percentage·=·this._slider._isRtl·?·1·-·xPos·/·width·:·xPos·/·width;\n······//·To·ensure·the·percentage·is·rounded·to·the·necessary·number·of·decimals.\n······const·fixedPercentage·=·Math.round(percentage·*·numSteps)·/·numSteps;\n······const·impreciseValue·=·fixedPercentage·*·(this._slider.max·-·this._slider.min)·+·this._slider.min;\n······const·value·=·Math.round(impreciseValue·/·step)·*·step;\n······const·prevValue·=·this.value;\n······if·(value·===·prevValue)·{\n········//·Because·we·prevented·UI·updates,·if·it·turns·out·that·the·race\n········//·condition·didn't·happen·and·the·value·is·already·correct,·we\n········//·have·to·apply·the·ui·updates·now.\n········this._slider._onValueChange(this);\n········this._slider.step·>·0·?·this._updateThumbUIByValue()·:·this._updateThumbUIByPointerEvent(event,·{\n··········withAnimation:·this._slider._hasAnimation\n········});\n········return;\n······}\n······this.value·=·value;\n······this.valueChange.emit(this.value);\n······this._onChangeFn?.(this.value);\n······this._slider._onValueChange(this);\n······this._slider.step·>·0·?·this._updateThumbUIByValue()·:·this._updateThumbUIByPointerEvent(event,·{\n········withAnimation:·this._slider._hasAnimation\n······});\n····}\n····_onPointerMove(event)·{\n······//·Again,·does·nothing·if·a·step·is·defined·because\n······//·we·want·the·value·to·snap·to·the·values·on·input.\n······if·(!this._slider.step·&&·this._isActive)·{\n········this._updateThumbUIByPointerEvent(event);\n······}\n····}\n····_onPointerUp()·{\n······if·(this._isActive)·{\n········this._isActive·=·false;\n········if·(this._platform.SAFARI)·{\n··········this._setIsFocused(false);\n········}\n········this.dragEnd.emit({\n··········source:·this,\n··········parent:·this._slider,\n··········value:·this.value\n········});\n········//·This·setTimeout·is·to·prevent·the·pointerup·from·triggering·a·value\n········//·change·on·the·input·based·on·the·inactive·width.·It's·not·clear·why\n········//·but·for·some·reason·on·IOS·this·race·condition·is·even·more·common·so\n········//·the·timeout·needs·to·be·increased.\n········setTimeout(()·=>·this._updateWidthInactive(),·this._platform.IOS·?·10·:·0);\n······}\n····}\n····_clamp(v)·{\n······const·min·=·this._tickMarkOffset;\n······const·max·=·this._slider._cachedWidth·-·this._tickMarkOffset;\n······return·Math.max(Math.min(v,·max),·min);\n····}\n····_calcTranslateXByValue()·{\n······if·(this._slider._isRtl)·{\n········return·(1·-·this.percentage)·*·(this._slider._cachedWidth·-·this._tickMarkOffset·*·2)·+·this._tickMarkOffset;\n······}\n······return·this.percentage·*·(this._slider._cachedWidth·-·this._tickMarkOffset·*·2)·+·this._tickMarkOffset;\n····}\n····_calcTranslateXByPointerEvent(event)·{\n······return·event.clientX·-·this._slider._cachedLeft;\n····}\n····/**\n·····*·Used·to·set·the·slider·width·to·the·correct\n·····*·dimensions·while·the·user·is·dragging.\n·····*/\n····_updateWidthActive()·{}\n····/**\n·····*·Sets·the·slider·input·to·disproportionate·dimensions·to·allow·for·touch\n·····*·events·to·be·captured·on·touch·devices.\n·····*/\n····_updateWidthInactive()·{\n······this._hostElement.style.padding·=·`0·${this._slider._inputPadding}px`;\n······this._hostElement.style.width·=·`calc(100%·+·${this._slider._inputPadding·-·this._tickMarkOffset·*·2}px)`;\n······this._hostElement.style.left·=·`-${this._slider._rippleRadius·-·this._tickMarkOffset}px`;\n····}\n····_updateThumbUIByValue(options)·{\n······this.translateX·=·this._clamp(this._calcTranslateXByValue());\n······this._updateThumbUI(options);\n····}\n····_updateThumbUIByPointerEvent(event,·options)·{\n······this.translateX·=·this._clamp(this._calcTranslateXByPointerEvent(event));\n······this._updateThumbUI(options);\n····}\n····_updateThumbUI(options)·{\n······this._slider._setTransition(!!options?.withAnimation);\n······this._slider._onTranslateXChange(this);\n····}\n····/**\n·····*·Sets·the·input's·value.\n·····*·@param·value·The·new·value·of·the·input\n·····*·@docs-private\n·····*/\n····writeValue(value)·{\n······if·(this._isControlInitialized·||·value·!==·null)·{\n········this.value·=·value;\n······}\n····}\n····/**\n·····*·Registers·a·callback·to·be·invoked·when·the·input's·value·changes·from·user·input.\n·····*·@param·fn·The·callback·to·register\n·····*·@docs-private\n·····*/\n····registerOnChange(fn)·{\n······this._onChangeFn·=·fn;\n······this._isControlInitialized·=·true;\n····}\n····/**\n·····*·Registers·a·callback·to·be·invoked·when·the·input·is·blurred·by·the·user.\n·····*·@param·fn·The·callback·to·register\n·····*·@docs-private\n·····*/\n····registerOnTouched(fn)·{\n······this._onTouchedFn·=·fn;\n····}\n····/**\n·····*·Sets·the·disabled·state·of·the·slider.\n·····*·@param·isDisabled·The·new·disabled·state\n·····*·@docs-private\n·····*/\n····setDisabledState(isDisabled)·{\n······this.disabled·=·isDisabled;\n····}\n····focus()·{\n······this._hostElement.focus();\n····}\n····blur()·{\n······this._hostElement.blur();\n····}\n····static·\u0275fac·=·function·MatSliderThumb_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSliderThumb)();\n····};\n····static·\u0275dir·=·/*·@__PURE__·*/i0.\u0275\u0275defineDirective({\n······type:·MatSliderThumb,\n······selectors:·[[\"input\",·\"matSliderThumb\",·\"\"]],\n······hostAttrs:·[\"type\",·\"range\",·1,·\"mdc-slider__input\"],\n······hostVars:·1,\n······hostBindings:·function·MatSliderThumb_HostBindings(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275listener(\"change\",·function·MatSliderThumb_change_HostBindingHandler()·{\n············return·ctx._onChange();\n··········})(\"input\",·function·MatSliderThumb_input_HostBindingHandler()·{\n············return·ctx._onInput();\n··········})(\"blur\",·function·MatSliderThumb_blur_HostBindingHandler()·{\n············return·ctx._onBlur();\n··········})(\"focus\",·function·MatSliderThumb_focus_HostBindingHandler()·{\n············return·ctx._onFocus();\n··········});\n········}\n········if·(rf·&·2)·{\n··········i0.\u0275\u0275attribute(\"aria-valuetext\",·ctx._valuetext());\n········}\n······},\n······inputs:·{\n········value:·[2,·\"value\",·\"value\",·numberAttribute]\n······},\n······outputs:·{\n········valueChange:·\"valueChange\",\n········dragStart:·\"dragStart\",\n········dragEnd:·\"dragEnd\"\n······},\n······exportAs:·[\"matSliderThumb\"],\n······features:·[i0.\u0275\u0275ProvidersFeature([MAT_SLIDER_THUMB_VALUE_ACCESSOR,·{\n········provide:·MAT_SLIDER_THUMB,\n········useExisting:·MatSliderThumb\n······}])]\n····});\n··}\n··return·MatSliderThumb;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nlet·MatSliderRangeThumb·=·/*#__PURE__*/(()·=>·{\n··class·MatSliderRangeThumb·extends·MatSliderThumb·{\n····_cdr·=·inject(ChangeDetectorRef);\n····/**·@docs-private·*/\n····getSibling()·{\n······if·(!this._sibling)·{\n········this._sibling·=·this._slider._getInput(this._isEndThumb·?·_MatThumb.START·:·_MatThumb.END);\n······}\n······return·this._sibling;\n····}\n····_sibling;\n····/**\n·····*·Returns·the·minimum·translateX·position·allowed·for·this·slider·input's·visual·thumb.\n·····*·@docs-private\n·····*/\n····getMinPos()·{\n······const·sibling·=·this.getSibling();\n······if·(!this._isLeftThumb·&&·sibling)·{\n········return·sibling.translateX;\n······}\n······return·this._tickMarkOffset;\n····}\n····/**\n·····*·Returns·the·maximum·translateX·position·allowed·for·this·slider·input's·visual·thumb.\n·····*·@docs-private\n·····*/\n····getMaxPos()·{\n······const·sibling·=·this.getSibling();\n······if·(this._isLeftThumb·&&·sibling)·{\n········return·sibling.translateX;\n······}\n······return·this._slider._cachedWidth·-·this._tickMarkOffset;\n····}\n····_setIsLeftThumb()·{\n······this._isLeftThumb·=·this._isEndThumb·&&·this._slider._isRtl·||·!this._isEndThumb·&&·!this._slider._isRtl;\n····}\n····/**·Whether·this·slider·corresponds·to·the·input·on·the·left·hand·side.·*/\n····_isLeftThumb;\n····/**·Whether·this·slider·corresponds·to·the·input·with·greater·value.·*/\n····_isEndThumb;\n····constructor()·{\n······super();\n······this._isEndThumb·=·this._hostElement.hasAttribute('matSliderEndThumb');\n······this._setIsLeftThumb();\n······this.thumbPosition·=·this._isEndThumb·?·_MatThumb.END·:·_MatThumb.START;\n····}\n····_getDefaultValue()·{\n······return·this._isEndThumb·&&·this._slider._isRange·?·this.max·:·this.min;\n····}\n····_onInput()·{\n······super._onInput();\n······this._updateSibling();\n······if·(!this._isActive)·{\n········this._updateWidthInactive();\n······}\n····}\n····_onNgControlValueChange()·{\n······super._onNgControlValueChange();\n······this.getSibling()?._updateMinMax();\n····}\n····_onPointerDown(event)·{\n······if·(this.disabled·||·event.button·!==·0)·{\n········return;\n······}\n······if·(this._sibling)·{\n········this._sibling._updateWidthActive();\n········this._sibling._hostElement.classList.add('mat-mdc-slider-input-no-pointer-events');\n······}\n······super._onPointerDown(event);\n····}\n····_onPointerUp()·{\n······super._onPointerUp();\n······if·(this._sibling)·{\n········setTimeout(()·=>·{\n··········this._sibling._updateWidthInactive();\n··········this._sibling._hostElement.classList.remove('mat-mdc-slider-input-no-pointer-events');\n········});\n······}\n····}\n····_onPointerMove(event)·{\n······super._onPointerMove(event);\n······if·(!this._slider.step·&&·this._isActive)·{\n········this._updateSibling();\n······}\n····}\n····_fixValue(event)·{\n······super._fixValue(event);\n······this._sibling?._updateMinMax();\n····}\n····_clamp(v)·{\n······return·Math.max(Math.min(v,·this.getMaxPos()),·this.getMinPos());\n····}\n····_updateMinMax()·{\n······const·sibling·=·this.getSibling();\n······if·(!sibling)·{\n········return;\n······}\n······if·(this._isEndThumb)·{\n········this.min·=·Math.max(this._slider.min,·sibling.value);\n········this.max·=·this._slider.max;\n······}·else·{\n········this.min·=·this._slider.min;\n········this.max·=·Math.min(this._slider.max,·sibling.value);\n······}\n····}\n····_updateWidthActive()·{\n······const·minWidth·=·this._slider._rippleRadius·*·2·-·this._slider._inputPadding·*·2;\n······const·maxWidth·=·this._slider._cachedWidth·+·this._slider._inputPadding·-·minWidth·-·this._tickMarkOffset·*·2;\n······const·percentage·=·this._slider.min·<·this._slider.max·?·(this.max·-·this.min)·/·(this._slider.max·-·this._slider.min)·:·1;\n······const·width·=·maxWidth·*·percentage·+·minWidth;\n······this._hostElement.style.width·=·`${width}px`;\n······this._hostElement.style.padding·=·`0·${this._slider._inputPadding}px`;\n····}\n····_updateWidthInactive()·{\n······const·sibling·=·this.getSibling();\n······if·(!sibling)·{\n········return;\n······}\n······const·maxWidth·=·this._slider._cachedWidth·-·this._tickMarkOffset·*·2;\n······const·midValue·=·this._isEndThumb·?·this.value·-·(this.value·-·sibling.value)·/·2·:·this.value·+·(sibling.value·-·this.value)·/·2;\n······const·_percentage·=·this._isEndThumb·?·(this.max·-·midValue)·/·(this._slider.max·-·this._slider.min)·:·(midValue·-·this.min)·/·(this._slider.max·-·this._slider.min);\n······const·percentage·=·this._slider.min·<·this._slider.max·?·_percentage·:·1;\n······//·Extend·the·native·input·width·by·the·radius·of·the·ripple\n······let·ripplePadding·=·this._slider._rippleRadius;\n······//·If·one·of·the·inputs·is·maximally·sized·(the·value·of·both·thumbs·is\n······//·equal·to·the·min·or·max),·make·that·input·take·up·all·of·the·width·and\n······//·make·the·other·unselectable.\n······if·(percentage·===·1)·{\n········ripplePadding·=·48;\n······}·else·if·(percentage·===·0)·{\n········ripplePadding·=·0;\n······}\n······const·width·=·maxWidth·*·percentage·+·ripplePadding;\n······this._hostElement.style.width·=·`${width}px`;\n······this._hostElement.style.padding·=·'0px';\n······if·(this._isLeftThumb)·{\n········this._hostElement.style.left·=·`-${this._slider._rippleRadius·-·this._tickMarkOffset}px`;\n········this._hostElement.style.right·=·'auto';\n······}·else·{\n········this._hostElement.style.left·=·'auto';\n········this._hostElement.style.right·=·`-${this._slider._rippleRadius·-·this._tickMarkOffset}px`;\n······}\n····}\n····_updateStaticStyles()·{\n······this._hostElement.classList.toggle('mat-slider__right-input',·!this._isLeftThumb);\n····}\n····_updateSibling()·{\n······const·sibling·=·this.getSibling();\n······if·(!sibling)·{\n········return;\n······}\n······sibling._updateMinMax();\n······if·(this._isActive)·{\n········sibling._updateWidthActive();\n······}·else·{\n········sibling._updateWidthInactive();\n······}\n····}\n····/**\n·····*·Sets·the·input's·value.\n·····*·@param·value·The·new·value·of·the·input\n·····*·@docs-private\n·····*/\n····writeValue(value)·{\n······if·(this._isControlInitialized·||·value·!==·null)·{\n········this.value·=·value;\n········this._updateWidthInactive();\n········this._updateSibling();\n······}\n····}\n····_setValue(value)·{\n······super._setValue(value);\n······this._updateWidthInactive();\n······this._updateSibling();\n····}\n····static·\u0275fac·=·function·MatSliderRangeThumb_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSliderRangeThumb)();\n····};\n····static·\u0275dir·=·/*·@__PURE__·*/i0.\u0275\u0275defineDirective({\n······type:·MatSliderRangeThumb,\n······selectors:·[[\"input\",·\"matSliderStartThumb\",·\"\"],·[\"input\",·\"matSliderEndThumb\",·\"\"]],\n······exportAs:·[\"matSliderRangeThumb\"],\n······features:·[i0.\u0275\u0275ProvidersFeature([MAT_SLIDER_RANGE_THUMB_VALUE_ACCESSOR,·{\n········provide:·MAT_SLIDER_RANGE_THUMB,\n········useExisting:·MatSliderRangeThumb\n······}]),·i0.\u0275\u0275InheritDefinitionFeature]\n····});\n··}\n··return·MatSliderRangeThumb;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nlet·MatSliderModule·=·/*#__PURE__*/(()·=>·{\n··class·MatSliderModule·{\n····static·\u0275fac·=·function·MatSliderModule_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSliderModule)();\n····};\n····static·\u0275mod·=·/*·@__PURE__·*/i0.\u0275\u0275defineNgModule({\n······type:·MatSliderModule\n····});\n····static·\u0275inj·=·/*·@__PURE__·*/i0.\u0275\u0275defineInjector({\n······imports:·[MatCommonModule,·MatRippleModule]\n····});\n··}\n··return·MatSliderModule;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nexport·{·MatSlider,·MatSliderChange,·MatSliderModule,·MatSliderRangeThumb,·MatSliderThumb,·MatSliderVisualThumb·};\n",4086 ········"import·{·Directionality·}·from·'@angular/cdk/bidi';\nimport·{·Platform·}·from·'@angular/cdk/platform';\nimport·*·as·i0·from·'@angular/core';\nimport·{·InjectionToken,·inject,·ChangeDetectorRef,·NgZone,·Renderer2,·ElementRef,·Component,·ChangeDetectionStrategy,·ViewEncapsulation,·Input,·ViewChild,·booleanAttribute,·numberAttribute,·ViewChildren,·ContentChild,·ContentChildren,·forwardRef,·EventEmitter,·signal,·Directive,·Output,·NgModule·}·from·'@angular/core';\nimport·{·b·as·RippleState,·M·as·MatRipple,·a·as·MAT_RIPPLE_GLOBAL_OPTIONS·}·from·'./ripple-BMyyyLz2.mjs';\nimport·{·_CdkPrivateStyleLoader·}·from·'@angular/cdk/private';\nimport·{·_·as·_animationsDisabled·}·from·'./animation-ChQ1vjiF.mjs';\nimport·{·_·as·_StructuralStylesLoader·}·from·'./structural-styles-CObeNzjn.mjs';\nimport·{·NG_VALUE_ACCESSOR·}·from·'@angular/forms';\nimport·{·Subject·}·from·'rxjs';\nimport·{·M·as·MatCommonModule·}·from·'./common-module-cKSwHniA.mjs';\nimport·{·M·as·MatRippleModule·}·from·'./index-BRImSAOu.mjs';\nimport·'@angular/cdk/a11y';\nimport·'@angular/cdk/coercion';\nimport·'@angular/cdk/layout';\n\n/**\n·*·Thumb·types:·range·slider·has·two·thumbs·(START,·END)·whereas·single·point\n·*·slider·only·has·one·thumb·(END).\n·*/\nconst·_c0·=·[\"knob\"];\nconst·_c1·=·[\"valueIndicatorContainer\"];\nfunction·MatSliderVisualThumb_Conditional_0_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275elementStart(0,·\"div\",·2,·1)(2,·\"div\",·5)(3,·\"span\",·6);\n····i0.\u0275\u0275text(4);\n····i0.\u0275\u0275elementEnd()()();\n··}\n··if·(rf·&·2)·{\n····const·ctx_r0·=·i0.\u0275\u0275nextContext();\n····i0.\u0275\u0275advance(4);\n····i0.\u0275\u0275textInterpolate(ctx_r0.valueIndicatorText);\n··}\n}\nconst·_c2·=·[\"trackActive\"];\nconst·_c3·=·[\"*\"];\nfunction·MatSlider_Conditional_6_Conditional_2_For_1_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275element(0,·\"div\");\n··}\n··if·(rf·&·2)·{\n····const·tickMark_r1·=·ctx.$implicit;\n····const·\u0275$index_14_r2·=·ctx.$index;\n····const·ctx_r2·=·i0.\u0275\u0275nextContext(3);\n····i0.\u0275\u0275classMap(tickMark_r1·===·0·?·\"mdc-slider__tick-mark--active\"·:·\"mdc-slider__tick-mark--inactive\");\n····i0.\u0275\u0275styleProp(\"transform\",·ctx_r2._calcTickMarkTransform(\u0275$index_14_r2));\n··}\n}\nfunction·MatSlider_Conditional_6_Conditional_2_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275repeaterCreate(0,·MatSlider_Conditional_6_Conditional_2_For_1_Template,·1,·4,·\"div\",·8,·i0.\u0275\u0275repeaterTrackByIndex);\n··}\n··if·(rf·&·2)·{\n····const·ctx_r2·=·i0.\u0275\u0275nextContext(2);\n····i0.\u0275\u0275repeater(ctx_r2._tickMarks);\n··}\n}\nfunction·MatSlider_Conditional_6_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275elementStart(0,·\"div\",·6,·1);\n····i0.\u0275\u0275conditionalCreate(2,·MatSlider_Conditional_6_Conditional_2_Template,·2,·0);\n····i0.\u0275\u0275elementEnd();\n··}\n··if·(rf·&·2)·{\n····const·ctx_r2·=·i0.\u0275\u0275nextContext();\n····i0.\u0275\u0275advance(2);\n····i0.\u0275\u0275conditional(ctx_r2._cachedWidth·?·2·:·-1);\n··}\n}\nfunction·MatSlider_Conditional_7_Template(rf,·ctx)·{\n··if·(rf·&·1)·{\n····i0.\u0275\u0275element(0,·\"mat-slider-visual-thumb\",·7);\n··}\n··if·(rf·&·2)·{\n····const·ctx_r2·=·i0.\u0275\u0275nextContext();\n····i0.\u0275\u0275property(\"discrete\",·ctx_r2.discrete)(\"thumbPosition\",·1)(\"valueIndicatorText\",·ctx_r2.startValueIndicatorText);\n··}\n}\nvar·_MatThumb·=·/*#__PURE__*/function·(_MatThumb)·{\n··_MatThumb[_MatThumb[\"START\"]·=·1]·=·\"START\";\n··_MatThumb[_MatThumb[\"END\"]·=·2]·=·\"END\";\n··return·_MatThumb;\n}(_MatThumb·||·{});\n/**·Tick·mark·enum,·for·discrete·sliders.·*/\nvar·_MatTickMark·=·/*#__PURE__*/function·(_MatTickMark)·{\n··_MatTickMark[_MatTickMark[\"ACTIVE\"]·=·0]·=·\"ACTIVE\";\n··_MatTickMark[_MatTickMark[\"INACTIVE\"]·=·1]·=·\"INACTIVE\";\n··return·_MatTickMark;\n}(_MatTickMark·||·{});\n/**\n·*·Injection·token·that·can·be·used·for·a·`MatSlider`·to·provide·itself·as·a\n·*·parent·to·the·`MatSliderThumb`·and·`MatSliderRangeThumb`.\n·*·Used·primarily·to·avoid·circular·imports.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER·=·/*#__PURE__*/new·InjectionToken('_MatSlider');\n/**\n·*·Injection·token·that·can·be·used·to·query·for·a·`MatSliderThumb`.\n·*·Used·primarily·to·avoid·circular·imports.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_THUMB·=·/*#__PURE__*/new·InjectionToken('_MatSliderThumb');\n/**\n·*·Injection·token·that·can·be·used·to·query·for·a·`MatSliderRangeThumb`.\n·*·Used·primarily·to·avoid·circular·imports.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_RANGE_THUMB·=·/*#__PURE__*/new·InjectionToken('_MatSliderRangeThumb');\n/**\n·*·Injection·token·that·can·be·used·to·query·for·a·`MatSliderVisualThumb`.\n·*·Used·primarily·to·avoid·circular·imports.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_VISUAL_THUMB·=·/*#__PURE__*/new·InjectionToken('_MatSliderVisualThumb');\n/**\n·*·A·simple·change·event·emitted·by·the·MatSlider·component.\n·*·@deprecated·Use·event·bindings·directly·on·the·MatSliderThumbs·for·`change`·and·`input`·events.·See·https://v17.material.angular.dev/guide/mdc-migration·for·information·about·migrating.\n·*·@breaking-change·17.0.0\n·*/\nclass·MatSliderChange·{\n··/**·The·MatSliderThumb·that·was·interacted·with.·*/\n··source;\n··/**·The·MatSlider·that·was·interacted·with.·*/\n··parent;\n··/**·The·new·value·of·the·source·slider.·*/\n··value;\n}\n\n/**\n·*·The·visual·slider·thumb.\n·*\n·*·Handles·the·slider·thumb·ripple·states·(hover,·focus,·and·active),\n·*·and·displaying·the·value·tooltip·on·discrete·sliders.\n·*·@docs-private\n·*/\nlet·MatSliderVisualThumb·=·/*#__PURE__*/(()·=>·{\n··class·MatSliderVisualThumb·{\n····_cdr·=·inject(ChangeDetectorRef);\n····_ngZone·=·inject(NgZone);\n····_slider·=·inject(MAT_SLIDER);\n····_renderer·=·inject(Renderer2);\n····_listenerCleanups;\n····/**·Whether·the·slider·displays·a·numeric·value·label·upon·pressing·the·thumb.·*/\n····discrete;\n····/**·Indicates·which·slider·thumb·this·input·corresponds·to.·*/\n····thumbPosition;\n····/**·The·display·value·of·the·slider·thumb.·*/\n····valueIndicatorText;\n····/**·The·MatRipple·for·this·slider·thumb.·*/\n····_ripple;\n····/**·The·slider·thumb·knob.·*/\n····_knob;\n····/**·The·slider·thumb·value·indicator·container.·*/\n····_valueIndicatorContainer;\n····/**·The·slider·input·corresponding·to·this·slider·thumb.·*/\n····_sliderInput;\n····/**·The·native·html·element·of·the·slider·input·corresponding·to·this·thumb.·*/\n····_sliderInputEl;\n····/**·The·RippleRef·for·the·slider·thumbs·hover·state.·*/\n····_hoverRippleRef;\n····/**·The·RippleRef·for·the·slider·thumbs·focus·state.·*/\n····_focusRippleRef;\n····/**·The·RippleRef·for·the·slider·thumbs·active·state.·*/\n····_activeRippleRef;\n····/**·Whether·the·slider·thumb·is·currently·being·hovered.·*/\n····_isHovered·=·false;\n····/**·Whether·the·slider·thumb·is·currently·being·pressed.·*/\n····_isActive·=·false;\n····/**·Whether·the·value·indicator·tooltip·is·visible.·*/\n····_isValueIndicatorVisible·=·false;\n····/**·The·host·native·HTML·input·element.·*/\n····_hostElement·=·inject(ElementRef).nativeElement;\n····_platform·=·inject(Platform);\n····constructor()·{}\n····ngAfterViewInit()·{\n······const·sliderInput·=·this._slider._getInput(this.thumbPosition);\n······//·No-op·if·the·slider·isn't·configured·properly.·`MatSlider`·will\n······//·throw·an·error·instructing·the·user·how·to·set·up·the·slider.\n······if·(!sliderInput)·{\n········return;\n······}\n······this._ripple.radius·=·24;\n······this._sliderInput·=·sliderInput;\n······this._sliderInputEl·=·this._sliderInput._hostElement;\n······//·These·listeners·don't·update·any·data·bindings·so·we·bind·them·outside\n······//·of·the·NgZone·to·prevent·Angular·from·needlessly·running·change·detection.\n······this._ngZone.runOutsideAngular(()·=>·{\n········const·input·=·this._sliderInputEl;\n········const·renderer·=·this._renderer;\n········this._listenerCleanups·=·[renderer.listen(input,·'pointermove',·this._onPointerMove),·renderer.listen(input,·'pointerdown',·this._onDragStart),·renderer.listen(input,·'pointerup',·this._onDragEnd),·renderer.listen(input,·'pointerleave',·this._onMouseLeave),·renderer.listen(input,·'focus',·this._onFocus),·renderer.listen(input,·'blur',·this._onBlur)];\n······});\n····}\n····ngOnDestroy()·{\n······this._listenerCleanups?.forEach(cleanup·=>·cleanup());\n····}\n····_onPointerMove·=·event·=>·{\n······if·(this._sliderInput._isFocused)·{\n········return;\n······}\n······const·rect·=·this._hostElement.getBoundingClientRect();\n······const·isHovered·=·this._slider._isCursorOnSliderThumb(event,·rect);\n······this._isHovered·=·isHovered;\n······if·(isHovered)·{\n········this._showHoverRipple();\n······}·else·{\n········this._hideRipple(this._hoverRippleRef);\n······}\n····};\n····_onMouseLeave·=·()·=>·{\n······this._isHovered·=·false;\n······this._hideRipple(this._hoverRippleRef);\n····};\n····_onFocus·=·()·=>·{\n······//·We·don't·want·to·show·the·hover·ripple·on·top·of·the·focus·ripple.\n······//·Happen·when·the·users·cursor·is·over·a·thumb·and·then·the·user·tabs·to·it.\n······this._hideRipple(this._hoverRippleRef);\n······this._showFocusRipple();\n······this._hostElement.classList.add('mdc-slider__thumb--focused');\n····};\n····_onBlur·=·()·=>·{\n······//·Happens·when·the·user·tabs·away·while·still·dragging·a·thumb.\n······if·(!this._isActive)·{\n········this._hideRipple(this._focusRippleRef);\n······}\n······//·Happens·when·the·user·tabs·away·from·a·thumb·but·their·cursor·is·still·over·it.\n······if·(this._isHovered)·{\n········this._showHoverRipple();\n······}\n······this._hostElement.classList.remove('mdc-slider__thumb--focused');\n····};\n····_onDragStart·=·event·=>·{\n······if·(event.button·!==·0)·{\n········return;\n······}\n······this._isActive·=·true;\n······this._showActiveRipple();\n····};\n····_onDragEnd·=·()·=>·{\n······this._isActive·=·false;\n······this._hideRipple(this._activeRippleRef);\n······//·Happens·when·the·user·starts·dragging·a·thumb,·tabs·away,·and·then·stops·dragging.\n······if·(!this._sliderInput._isFocused)·{\n········this._hideRipple(this._focusRippleRef);\n······}\n······//·On·Safari·we·need·to·immediately·re-show·the·hover·ripple·because\n······//·sliders·do·not·retain·focus·from·pointer·events·on·that·platform.\n······if·(this._platform.SAFARI)·{\n········this._showHoverRipple();\n······}\n····};\n····/**·Handles·displaying·the·hover·ripple.·*/\n····_showHoverRipple()·{\n······if·(!this._isShowingRipple(this._hoverRippleRef))·{\n········this._hoverRippleRef·=·this._showRipple({\n··········enterDuration:·0,\n··········exitDuration:·0\n········});\n········this._hoverRippleRef?.element.classList.add('mat-mdc-slider-hover-ripple');\n······}\n····}\n····/**·Handles·displaying·the·focus·ripple.·*/\n····_showFocusRipple()·{\n······//·Show·the·focus·ripple·event·if·noop·animations·are·enabled.\n······if·(!this._isShowingRipple(this._focusRippleRef))·{\n········this._focusRippleRef·=·this._showRipple({\n··········enterDuration:·0,\n··········exitDuration:·0\n········},·true);\n········this._focusRippleRef?.element.classList.add('mat-mdc-slider-focus-ripple');\n······}\n····}\n····/**·Handles·displaying·the·active·ripple.·*/\n····_showActiveRipple()·{\n······if·(!this._isShowingRipple(this._activeRippleRef))·{\n········this._activeRippleRef·=·this._showRipple({\n··········enterDuration:·225,\n··········exitDuration:·400\n········});\n········this._activeRippleRef?.element.classList.add('mat-mdc-slider-active-ripple');\n······}\n····}\n····/**·Whether·the·given·rippleRef·is·currently·fading·in·or·visible.·*/\n····_isShowingRipple(rippleRef)·{\n······return·rippleRef?.state·===·RippleState.FADING_IN·||·rippleRef?.state·===·RippleState.VISIBLE;\n····}\n····/**·Manually·launches·the·slider·thumb·ripple·using·the·specified·ripple·animation·config.·*/\n····_showRipple(animation,·ignoreGlobalRippleConfig)·{\n······if·(this._slider.disabled)·{\n········return;\n······}\n······this._showValueIndicator();\n······if·(this._slider._isRange)·{\n········const·sibling·=·this._slider._getThumb(this.thumbPosition·===·_MatThumb.START·?·_MatThumb.END·:·_MatThumb.START);\n········sibling._showValueIndicator();\n······}\n······if·(this._slider._globalRippleOptions?.disabled·&&·!ignoreGlobalRippleConfig)·{\n········return;\n······}\n······return·this._ripple.launch({\n········animation:·this._slider._noopAnimations·?·{\n··········enterDuration:·0,\n··········exitDuration:·0\n········}·:·animation,\n········centered:·true,\n········persistent:·true\n······});\n····}\n····/**\n·····*·Fades·out·the·given·ripple.\n·····*·Also·hides·the·value·indicator·if·no·ripple·is·showing.\n·····*/\n····_hideRipple(rippleRef)·{\n······rippleRef?.fadeOut();\n······if·(this._isShowingAnyRipple())·{\n········return;\n······}\n······if·(!this._slider._isRange)·{\n········this._hideValueIndicator();\n······}\n······const·sibling·=·this._getSibling();\n······if·(!sibling._isShowingAnyRipple())·{\n········this._hideValueIndicator();\n········sibling._hideValueIndicator();\n······}\n····}\n····/**·Shows·the·value·indicator·ui.·*/\n····_showValueIndicator()·{\n······this._hostElement.classList.add('mdc-slider__thumb--with-indicator');\n····}\n····/**·Hides·the·value·indicator·ui.·*/\n····_hideValueIndicator()·{\n······this._hostElement.classList.remove('mdc-slider__thumb--with-indicator');\n····}\n····_getSibling()·{\n······return·this._slider._getThumb(this.thumbPosition·===·_MatThumb.START·?·_MatThumb.END·:·_MatThumb.START);\n····}\n····/**·Gets·the·value·indicator·container's·native·HTML·element.·*/\n····_getValueIndicatorContainer()·{\n······return·this._valueIndicatorContainer?.nativeElement;\n····}\n····/**·Gets·the·native·HTML·element·of·the·slider·thumb·knob.·*/\n····_getKnob()·{\n······return·this._knob.nativeElement;\n····}\n····_isShowingAnyRipple()·{\n······return·this._isShowingRipple(this._hoverRippleRef)·||·this._isShowingRipple(this._focusRippleRef)·||·this._isShowingRipple(this._activeRippleRef);\n····}\n····static·\u0275fac·=·function·MatSliderVisualThumb_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSliderVisualThumb)();\n····};\n····static·\u0275cmp·=·/*·@__PURE__·*/i0.\u0275\u0275defineComponent({\n······type:·MatSliderVisualThumb,\n······selectors:·[[\"mat-slider-visual-thumb\"]],\n······viewQuery:·function·MatSliderVisualThumb_Query(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275viewQuery(MatRipple,·5);\n··········i0.\u0275\u0275viewQuery(_c0,·5);\n··········i0.\u0275\u0275viewQuery(_c1,·5);\n········}\n········if·(rf·&·2)·{\n··········let·_t;\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._ripple·=·_t.first);\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._knob·=·_t.first);\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._valueIndicatorContainer·=·_t.first);\n········}\n······},\n······hostAttrs:·[1,·\"mdc-slider__thumb\",·\"mat-mdc-slider-visual-thumb\"],\n······inputs:·{\n········discrete:·\"discrete\",\n········thumbPosition:·\"thumbPosition\",\n········valueIndicatorText:·\"valueIndicatorText\"\n······},\n······features:·[i0.\u0275\u0275ProvidersFeature([{\n········provide:·MAT_SLIDER_VISUAL_THUMB,\n········useExisting:·MatSliderVisualThumb\n······}])],\n······decls:·4,\n······vars:·2,\n······consts:·[[\"knob\",·\"\"],·[\"valueIndicatorContainer\",·\"\"],·[1,·\"mdc-slider__value-indicator-container\"],·[1,·\"mdc-slider__thumb-knob\"],·[\"matRipple\",·\"\",·1,·\"mat-focus-indicator\",·3,·\"matRippleDisabled\"],·[1,·\"mdc-slider__value-indicator\"],·[1,·\"mdc-slider__value-indicator-text\"]],\n······template:·function·MatSliderVisualThumb_Template(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275conditionalCreate(0,·MatSliderVisualThumb_Conditional_0_Template,·5,·1,·\"div\",·2);\n··········i0.\u0275\u0275element(1,·\"div\",·3,·0)(3,·\"div\",·4);\n········}\n········if·(rf·&·2)·{\n··········i0.\u0275\u0275conditional(ctx.discrete·?·0·:·-1);\n··········i0.\u0275\u0275advance(3);\n··········i0.\u0275\u0275property(\"matRippleDisabled\",·true);\n········}\n······},\n······dependencies:·[MatRipple],\n······styles:·[\".mat-mdc-slider-visual-thumb·.mat-ripple{height:100%;width:100%}.mat-mdc-slider·.mdc-slider__tick-marks{justify-content:start}.mat-mdc-slider·.mdc-slider__tick-marks·.mdc-slider__tick-mark--active,.mat-mdc-slider·.mdc-slider__tick-marks·.mdc-slider__tick-mark--inactive{position:absolute;left:2px}\\n\"],\n······encapsulation:·2,\n······changeDetection:·0\n····});\n··}\n··return·MatSliderVisualThumb;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\n\n//·TODO(wagnermaciel):·maybe·handle·the·following·edge·case:\n//·1.·start·dragging·discrete·slider\n//·2.·tab·to·disable·checkbox\n//·3.·without·ending·drag,·disable·the·slider\n/**\n·*·Allows·users·to·select·from·a·range·of·values·by·moving·the·slider·thumb.·It·is·similar·in\n·*·behavior·to·the·native·`<input·type=\"range\">`·element.\n·*/\nlet·MatSlider·=·/*#__PURE__*/(()·=>·{\n··class·MatSlider·{\n····_ngZone·=·inject(NgZone);\n····_cdr·=·inject(ChangeDetectorRef);\n····_elementRef·=·inject(ElementRef);\n····_dir·=·inject(Directionality,·{\n······optional:·true\n····});\n····_globalRippleOptions·=·inject(MAT_RIPPLE_GLOBAL_OPTIONS,·{\n······optional:·true\n····});\n····/**·The·active·portion·of·the·slider·track.·*/\n····_trackActive;\n····/**·The·slider·thumb(s).·*/\n····_thumbs;\n····/**·The·sliders·hidden·range·input(s).·*/\n····_input;\n····/**·The·sliders·hidden·range·input(s).·*/\n····_inputs;\n····/**·Whether·the·slider·is·disabled.·*/\n····get·disabled()·{\n······return·this._disabled;\n····}\n····set·disabled(v)·{\n······this._disabled·=·v;\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······if·(endInput)·{\n········endInput.disabled·=·this._disabled;\n······}\n······if·(startInput)·{\n········startInput.disabled·=·this._disabled;\n······}\n····}\n····_disabled·=·false;\n····/**·Whether·the·slider·displays·a·numeric·value·label·upon·pressing·the·thumb.·*/\n····get·discrete()·{\n······return·this._discrete;\n····}\n····set·discrete(v)·{\n······this._discrete·=·v;\n······this._updateValueIndicatorUIs();\n····}\n····_discrete·=·false;\n····/**·Whether·the·slider·displays·tick·marks·along·the·slider·track.·*/\n····get·showTickMarks()·{\n······return·this._showTickMarks;\n····}\n····set·showTickMarks(value)·{\n······this._showTickMarks·=·value;\n······if·(this._hasViewInitialized)·{\n········this._updateTickMarkUI();\n········this._updateTickMarkTrackUI();\n······}\n····}\n····_showTickMarks·=·false;\n····/**·The·minimum·value·that·the·slider·can·have.·*/\n····get·min()·{\n······return·this._min;\n····}\n····set·min(v)·{\n······const·min·=·v·===·undefined·||·v·===·null·||·isNaN(v)·?·this._min·:·v;\n······if·(this._min·!==·min)·{\n········this._updateMin(min);\n······}\n····}\n····_min·=·0;\n····/**\n·····*·Theme·color·of·the·slider.·This·API·is·supported·in·M2·themes·only,·it\n·····*·has·no·effect·in·M3·themes.·For·color·customization·in·M3,·see·https://material.angular.dev/components/slider/styling.\n·····*\n·····*·For·information·on·applying·color·variants·in·M3,·see\n·····*·https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n·····*/\n····color;\n····/**·Whether·ripples·are·disabled·in·the·slider.·*/\n····disableRipple·=·false;\n····_updateMin(min)·{\n······const·prevMin·=·this._min;\n······this._min·=·min;\n······this._isRange·?·this._updateMinRange({\n········old:·prevMin,\n········new:·min\n······})·:·this._updateMinNonRange(min);\n······this._onMinMaxOrStepChange();\n····}\n····_updateMinRange(min)·{\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······const·oldEndValue·=·endInput.value;\n······const·oldStartValue·=·startInput.value;\n······startInput.min·=·min.new;\n······endInput.min·=·Math.max(min.new,·startInput.value);\n······startInput.max·=·Math.min(endInput.max,·endInput.value);\n······startInput._updateWidthInactive();\n······endInput._updateWidthInactive();\n······min.new·<·min.old·?·this._onTranslateXChangeBySideEffect(endInput,·startInput)·:·this._onTranslateXChangeBySideEffect(startInput,·endInput);\n······if·(oldEndValue·!==·endInput.value)·{\n········this._onValueChange(endInput);\n······}\n······if·(oldStartValue·!==·startInput.value)·{\n········this._onValueChange(startInput);\n······}\n····}\n····_updateMinNonRange(min)·{\n······const·input·=·this._getInput(_MatThumb.END);\n······if·(input)·{\n········const·oldValue·=·input.value;\n········input.min·=·min;\n········input._updateThumbUIByValue();\n········this._updateTrackUI(input);\n········if·(oldValue·!==·input.value)·{\n··········this._onValueChange(input);\n········}\n······}\n····}\n····/**·The·maximum·value·that·the·slider·can·have.·*/\n····get·max()·{\n······return·this._max;\n····}\n····set·max(v)·{\n······const·max·=·v·===·undefined·||·v·===·null·||·isNaN(v)·?·this._max·:·v;\n······if·(this._max·!==·max)·{\n········this._updateMax(max);\n······}\n····}\n····_max·=·100;\n····_updateMax(max)·{\n······const·prevMax·=·this._max;\n······this._max·=·max;\n······this._isRange·?·this._updateMaxRange({\n········old:·prevMax,\n········new:·max\n······})·:·this._updateMaxNonRange(max);\n······this._onMinMaxOrStepChange();\n····}\n····_updateMaxRange(max)·{\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······const·oldEndValue·=·endInput.value;\n······const·oldStartValue·=·startInput.value;\n······endInput.max·=·max.new;\n······startInput.max·=·Math.min(max.new,·endInput.value);\n······endInput.min·=·startInput.value;\n······endInput._updateWidthInactive();\n······startInput._updateWidthInactive();\n······max.new·>·max.old·?·this._onTranslateXChangeBySideEffect(startInput,·endInput)·:·this._onTranslateXChangeBySideEffect(endInput,·startInput);\n······if·(oldEndValue·!==·endInput.value)·{\n········this._onValueChange(endInput);\n······}\n······if·(oldStartValue·!==·startInput.value)·{\n········this._onValueChange(startInput);\n······}\n····}\n····_updateMaxNonRange(max)·{\n······const·input·=·this._getInput(_MatThumb.END);\n······if·(input)·{\n········const·oldValue·=·input.value;\n········input.max·=·max;\n········input._updateThumbUIByValue();\n········this._updateTrackUI(input);\n········if·(oldValue·!==·input.value)·{\n··········this._onValueChange(input);\n········}\n······}\n····}\n····/**·The·values·at·which·the·thumb·will·snap.·*/\n····get·step()·{\n······return·this._step;\n····}\n····set·step(v)·{\n······const·step·=·isNaN(v)·?·this._step·:·v;\n······if·(this._step·!==·step)·{\n········this._updateStep(step);\n······}\n····}\n····_step·=·1;\n····_updateStep(step)·{\n······this._step·=·step;\n······this._isRange·?·this._updateStepRange()·:·this._updateStepNonRange();\n······this._onMinMaxOrStepChange();\n····}\n····_updateStepRange()·{\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······const·oldEndValue·=·endInput.value;\n······const·oldStartValue·=·startInput.value;\n······const·prevStartValue·=·startInput.value;\n······endInput.min·=·this._min;\n······startInput.max·=·this._max;\n······endInput.step·=·this._step;\n······startInput.step·=·this._step;\n······if·(this._platform.SAFARI)·{\n········endInput.value·=·endInput.value;\n········startInput.value·=·startInput.value;\n······}\n······endInput.min·=·Math.max(this._min,·startInput.value);\n······startInput.max·=·Math.min(this._max,·endInput.value);\n······startInput._updateWidthInactive();\n······endInput._updateWidthInactive();\n······endInput.value·<·prevStartValue·?·this._onTranslateXChangeBySideEffect(startInput,·endInput)·:·this._onTranslateXChangeBySideEffect(endInput,·startInput);\n······if·(oldEndValue·!==·endInput.value)·{\n········this._onValueChange(endInput);\n······}\n······if·(oldStartValue·!==·startInput.value)·{\n········this._onValueChange(startInput);\n······}\n····}\n····_updateStepNonRange()·{\n······const·input·=·this._getInput(_MatThumb.END);\n······if·(input)·{\n········const·oldValue·=·input.value;\n········input.step·=·this._step;\n········if·(this._platform.SAFARI)·{\n··········input.value·=·input.value;\n········}\n········input._updateThumbUIByValue();\n········if·(oldValue·!==·input.value)·{\n··········this._onValueChange(input);\n········}\n······}\n····}\n····/**\n·····*·Function·that·will·be·used·to·format·the·value·before·it·is·displayed\n·····*·in·the·thumb·label.·Can·be·used·to·format·very·large·number·in·order\n·····*·for·them·to·fit·into·the·slider·thumb.\n·····*/\n····displayWith·=·value·=>·`${value}`;\n····/**·Used·to·keep·track·of·&·render·the·active·&·inactive·tick·marks·on·the·slider·track.·*/\n····_tickMarks;\n····/**·Whether·animations·have·been·disabled.·*/\n····_noopAnimations·=·_animationsDisabled();\n····/**·Subscription·to·changes·to·the·directionality·(LTR·/·RTL)·context·for·the·application.·*/\n····_dirChangeSubscription;\n····/**·Observer·used·to·monitor·size·changes·in·the·slider.·*/\n····_resizeObserver;\n····//·Stored·dimensions·to·avoid·calling·getBoundingClientRect·redundantly.\n····_cachedWidth;\n····_cachedLeft;\n····_rippleRadius·=·24;\n····//·The·value·indicator·tooltip·text·for·the·visual·slider·thumb(s).\n····/**·@docs-private·*/\n····startValueIndicatorText·=·'';\n····/**·@docs-private·*/\n····endValueIndicatorText·=·'';\n····//·Used·to·control·the·translateX·of·the·visual·slider·thumb(s).\n····_endThumbTransform;\n····_startThumbTransform;\n····_isRange·=·false;\n····/**·Whether·the·slider·is·rtl.·*/\n····_isRtl·=·false;\n····_hasViewInitialized·=·false;\n····/**\n·····*·The·width·of·the·tick·mark·track.\n·····*·The·tick·mark·track·width·is·different·from·full·track·width\n·····*/\n····_tickMarkTrackWidth·=·0;\n····_hasAnimation·=·false;\n····_resizeTimer·=·null;\n····_platform·=·inject(Platform);\n····constructor()·{\n······inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n······if·(this._dir)·{\n········this._dirChangeSubscription·=·this._dir.change.subscribe(()·=>·this._onDirChange());\n········this._isRtl·=·this._dir.value·===·'rtl';\n······}\n····}\n····/**·The·radius·of·the·native·slider's·knob.·AFAIK·there·is·no·way·to·avoid·hardcoding·this.·*/\n····_knobRadius·=·8;\n····_inputPadding;\n····ngAfterViewInit()·{\n······if·(this._platform.isBrowser)·{\n········this._updateDimensions();\n······}\n······const·eInput·=·this._getInput(_MatThumb.END);\n······const·sInput·=·this._getInput(_MatThumb.START);\n······this._isRange·=·!!eInput·&&·!!sInput;\n······this._cdr.detectChanges();\n······if·(typeof·ngDevMode·===·'undefined'·||·ngDevMode)·{\n········_validateInputs(this._isRange,·this._getInput(_MatThumb.END),·this._getInput(_MatThumb.START));\n······}\n······const·thumb·=·this._getThumb(_MatThumb.END);\n······this._rippleRadius·=·thumb._ripple.radius;\n······this._inputPadding·=·this._rippleRadius·-·this._knobRadius;\n······this._isRange·?·this._initUIRange(eInput,·sInput)·:·this._initUINonRange(eInput);\n······this._updateTrackUI(eInput);\n······this._updateTickMarkUI();\n······this._updateTickMarkTrackUI();\n······this._observeHostResize();\n······this._cdr.detectChanges();\n····}\n····_initUINonRange(eInput)·{\n······eInput.initProps();\n······eInput.initUI();\n······this._updateValueIndicatorUI(eInput);\n······this._hasViewInitialized·=·true;\n······eInput._updateThumbUIByValue();\n····}\n····_initUIRange(eInput,·sInput)·{\n······eInput.initProps();\n······eInput.initUI();\n······sInput.initProps();\n······sInput.initUI();\n······eInput._updateMinMax();\n······sInput._updateMinMax();\n······eInput._updateStaticStyles();\n······sInput._updateStaticStyles();\n······this._updateValueIndicatorUIs();\n······this._hasViewInitialized·=·true;\n······eInput._updateThumbUIByValue();\n······sInput._updateThumbUIByValue();\n····}\n····ngOnDestroy()·{\n······this._dirChangeSubscription.unsubscribe();\n······this._resizeObserver?.disconnect();\n······this._resizeObserver·=·null;\n····}\n····/**·Handles·updating·the·slider·ui·after·a·dir·change.·*/\n····_onDirChange()·{\n······this._isRtl·=·this._dir?.value·===·'rtl';\n······this._isRange·?·this._onDirChangeRange()·:·this._onDirChangeNonRange();\n······this._updateTickMarkUI();\n····}\n····_onDirChangeRange()·{\n······const·endInput·=·this._getInput(_MatThumb.END);\n······const·startInput·=·this._getInput(_MatThumb.START);\n······endInput._setIsLeftThumb();\n······startInput._setIsLeftThumb();\n······endInput.translateX·=·endInput._calcTranslateXByValue();\n······startInput.translateX·=·startInput._calcTranslateXByValue();\n······endInput._updateStaticStyles();\n······startInput._updateStaticStyles();\n······endInput._updateWidthInactive();\n······startInput._updateWidthInactive();\n······endInput._updateThumbUIByValue();\n······startInput._updateThumbUIByValue();\n····}\n····_onDirChangeNonRange()·{\n······const·input·=·this._getInput(_MatThumb.END);\n······input._updateThumbUIByValue();\n····}\n····/**·Starts·observing·and·updating·the·slider·if·the·host·changes·its·size.·*/\n····_observeHostResize()·{\n······if·(typeof·ResizeObserver·===·'undefined'·||·!ResizeObserver)·{\n········return;\n······}\n······this._ngZone.runOutsideAngular(()·=>·{\n········this._resizeObserver·=·new·ResizeObserver(()·=>·{\n··········if·(this._isActive())·{\n············return;\n··········}\n··········if·(this._resizeTimer)·{\n············clearTimeout(this._resizeTimer);\n··········}\n··········this._onResize();\n········});\n········this._resizeObserver.observe(this._elementRef.nativeElement);\n······});\n····}\n····/**·Whether·any·of·the·thumbs·are·currently·active.·*/\n····_isActive()·{\n······return·this._getThumb(_MatThumb.START)._isActive·||·this._getThumb(_MatThumb.END)._isActive;\n····}\n····_getValue(thumbPosition·=·_MatThumb.END)·{\n······const·input·=·this._getInput(thumbPosition);\n······if·(!input)·{\n········return·this.min;\n······}\n······return·input.value;\n····}\n····_skipUpdate()·{\n······return·!!(this._getInput(_MatThumb.START)?._skipUIUpdate·||·this._getInput(_MatThumb.END)?._skipUIUpdate);\n····}\n····/**·Stores·the·slider·dimensions.·*/\n····_updateDimensions()·{\n······this._cachedWidth·=·this._elementRef.nativeElement.offsetWidth;\n······this._cachedLeft·=·this._elementRef.nativeElement.getBoundingClientRect().left;\n····}\n····/**·Sets·the·styles·for·the·active·portion·of·the·track.·*/\n····_setTrackActiveStyles(styles)·{\n······const·trackStyle·=·this._trackActive.nativeElement.style;\n······trackStyle.left·=·styles.left;\n······trackStyle.right·=·styles.right;\n······trackStyle.transformOrigin·=·styles.transformOrigin;\n······trackStyle.transform·=·styles.transform;\n····}\n····/**·Returns·the·translateX·positioning·for·a·tick·mark·based·on·it's·index.·*/\n····_calcTickMarkTransform(index)·{\n······//·TODO(wagnermaciel):·See·if·we·can·avoid·doing·this·and·just·using·flex·to·position·these.\n······const·offset·=·index·*·(this._tickMarkTrackWidth·/·(this._tickMarks.length·-·1));\n······const·translateX·=·this._isRtl·?·this._cachedWidth·-·6·-·offset·:·offset;\n······return·`translateX(${translateX}px`;\n····}\n····//·Handlers·for·updating·the·slider·ui.\n····_onTranslateXChange(source)·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······this._updateThumbUI(source);\n······this._updateTrackUI(source);\n······this._updateOverlappingThumbUI(source);\n····}\n····_onTranslateXChangeBySideEffect(input1,·input2)·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······input1._updateThumbUIByValue();\n······input2._updateThumbUIByValue();\n····}\n····_onValueChange(source)·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······this._updateValueIndicatorUI(source);\n······this._updateTickMarkUI();\n······this._cdr.detectChanges();\n····}\n····_onMinMaxOrStepChange()·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······this._updateTickMarkUI();\n······this._updateTickMarkTrackUI();\n······this._cdr.markForCheck();\n····}\n····_onResize()·{\n······if·(!this._hasViewInitialized)·{\n········return;\n······}\n······this._updateDimensions();\n······if·(this._isRange)·{\n········const·eInput·=·this._getInput(_MatThumb.END);\n········const·sInput·=·this._getInput(_MatThumb.START);\n········eInput._updateThumbUIByValue();\n········sInput._updateThumbUIByValue();\n········eInput._updateStaticStyles();\n········sInput._updateStaticStyles();\n········eInput._updateMinMax();\n········sInput._updateMinMax();\n········eInput._updateWidthInactive();\n········sInput._updateWidthInactive();\n······}·else·{\n········const·eInput·=·this._getInput(_MatThumb.END);\n········if·(eInput)·{\n··········eInput._updateThumbUIByValue();\n········}\n······}\n······this._updateTickMarkUI();\n······this._updateTickMarkTrackUI();\n······this._cdr.detectChanges();\n····}\n····/**·Whether·or·not·the·slider·thumbs·overlap.·*/\n····_thumbsOverlap·=·false;\n····/**·Returns·true·if·the·slider·knobs·are·overlapping·one·another.·*/\n····_areThumbsOverlapping()·{\n······const·startInput·=·this._getInput(_MatThumb.START);\n······const·endInput·=·this._getInput(_MatThumb.END);\n······if·(!startInput·||·!endInput)·{\n········return·false;\n······}\n······return·endInput.translateX·-·startInput.translateX·<·20;\n····}\n····/**\n·····*·Updates·the·class·names·of·overlapping·slider·thumbs·so\n·····*·that·the·current·active·thumb·is·styled·to·be·on·\"top\".\n·····*/\n····_updateOverlappingThumbClassNames(source)·{\n······const·sibling·=·source.getSibling();\n······const·sourceThumb·=·this._getThumb(source.thumbPosition);\n······const·siblingThumb·=·this._getThumb(sibling.thumbPosition);\n······siblingThumb._hostElement.classList.remove('mdc-slider__thumb--top');\n······sourceThumb._hostElement.classList.toggle('mdc-slider__thumb--top',·this._thumbsOverlap);\n····}\n····/**·Updates·the·UI·of·slider·thumbs·when·they·begin·or·stop·overlapping.·*/\n····_updateOverlappingThumbUI(source)·{\n······if·(!this._isRange·||·this._skipUpdate())·{\n········return;\n······}\n······if·(this._thumbsOverlap·!==·this._areThumbsOverlapping())·{\n········this._thumbsOverlap·=·!this._thumbsOverlap;\n········this._updateOverlappingThumbClassNames(source);\n······}\n····}\n····//·_MatThumb·styles·update·conditions\n····//\n····//·1.·TranslateX,·resize,·or·dir·change\n····//····-·Reason:·The·thumb·styles·need·to·be·updated·according·to·the·new·translateX.\n····//·2.·Min,·max,·or·step\n····//····-·Reason:·The·value·may·have·silently·changed.\n····/**·Updates·the·translateX·of·the·given·thumb.·*/\n····_updateThumbUI(source)·{\n······if·(this._skipUpdate())·{\n········return;\n······}\n······const·thumb·=·this._getThumb(source.thumbPosition·===·_MatThumb.END·?·_MatThumb.END·:·_MatThumb.START);\n······thumb._hostElement.style.transform·=·`translateX(${source.translateX}px)`;\n····}\n····//·Value·indicator·text·update·conditions\n····//\n····//·1.·Value\n····//····-·Reason:·The·value·displayed·needs·to·be·updated.\n····//·2.·Min,·max,·or·step\n····//····-·Reason:·The·value·may·have·silently·changed.\n····/**·Updates·the·value·indicator·tooltip·ui·for·the·given·thumb.·*/\n····_updateValueIndicatorUI(source)·{\n······if·(this._skipUpdate())·{\n········return;\n······}\n······const·valuetext·=·this.displayWith(source.value);\n······this._hasViewInitialized·?·source._valuetext.set(valuetext)·:·source._hostElement.setAttribute('aria-valuetext',·valuetext);\n······if·(this.discrete)·{\n········source.thumbPosition·===·_MatThumb.START·?·this.startValueIndicatorText·=·valuetext·:·this.endValueIndicatorText·=·valuetext;\n········const·visualThumb·=·this._getThumb(source.thumbPosition);\n········valuetext.length·<·3·?·visualThumb._hostElement.classList.add('mdc-slider__thumb--short-value')·:·visualThumb._hostElement.classList.remove('mdc-slider__thumb--short-value');\n······}\n····}\n····/**·Updates·all·value·indicator·UIs·in·the·slider.·*/\n····_updateValueIndicatorUIs()·{\n······const·eInput·=·this._getInput(_MatThumb.END);\n······const·sInput·=·this._getInput(_MatThumb.START);\n······if·(eInput)·{\n········this._updateValueIndicatorUI(eInput);\n······}\n······if·(sInput)·{\n········this._updateValueIndicatorUI(sInput);\n······}\n····}\n····//·Update·Tick·Mark·Track·Width\n····//\n····//·1.·Min,·max,·or·step\n····//····-·Reason:·The·maximum·reachable·value·may·have·changed.\n····//····-·Side·note:·The·maximum·reachable·value·is·different·from·the·maximum·value·set·by·the\n····//······user.·For·example,·a·slider·with·[min:·5,·max:·100,·step:·10]·would·have·a·maximum\n····//······reachable·value·of·95.\n····//·2.·Resize\n····//····-·Reason:·The·position·for·the·maximum·reachable·value·needs·to·be·recalculated.\n····/**·Updates·the·width·of·the·tick·mark·track.·*/\n····_updateTickMarkTrackUI()·{\n······if·(!this.showTickMarks·||·this._skipUpdate())·{\n········return;\n······}\n······const·step·=·this._step·&&·this._step·>·0·?·this._step·:·1;\n······const·maxValue·=·Math.floor(this.max·/·step)·*·step;\n······const·percentage·=·(maxValue·-·this.min)·/·(this.max·-·this.min);\n······this._tickMarkTrackWidth·=·(this._cachedWidth·-·6)·*·percentage;\n····}\n····//·Track·active·update·conditions\n····//\n····//·1.·TranslateX\n····//····-·Reason:·The·track·active·should·line·up·with·the·new·thumb·position.\n····//·2.·Min·or·max\n····//····-·Reason·#1:·The·'active'·percentage·needs·to·be·recalculated.\n····//····-·Reason·#2:·The·value·may·have·silently·changed.\n····//·3.·Step\n····//····-·Reason:·The·value·may·have·silently·changed·causing·the·thumb(s)·to·shift.\n····//·4.·Dir·change\n····//····-·Reason:·The·track·active·will·need·to·be·updated·according·to·the·new·thumb·position(s).\n····//·5.·Resize\n····//····-·Reason:·The·total·width·the·'active'·tracks·translateX·is·based·on·has·changed.\n····/**·Updates·the·scale·on·the·active·portion·of·the·track.·*/\n····_updateTrackUI(source)·{\n······if·(this._skipUpdate())·{\n········return;\n······}\n······this._isRange·?·this._updateTrackUIRange(source)·:·this._updateTrackUINonRange(source);\n····}\n····_updateTrackUIRange(source)·{\n······const·sibling·=·source.getSibling();\n······if·(!sibling·||·!this._cachedWidth)·{\n········return;\n······}\n······const·activePercentage·=·Math.abs(sibling.translateX·-·source.translateX)·/·this._cachedWidth;\n······if·(source._isLeftThumb·&&·this._cachedWidth)·{\n········this._setTrackActiveStyles({\n··········left:·'auto',\n··········right:·`${this._cachedWidth·-·sibling.translateX}px`,\n··········transformOrigin:·'right',\n··········transform:·`scaleX(${activePercentage})`\n········});\n······}·else·{\n········this._setTrackActiveStyles({\n··········left:·`${sibling.translateX}px`,\n··········right:·'auto',\n··········transformOrigin:·'left',\n··········transform:·`scaleX(${activePercentage})`\n········});\n······}\n····}\n····_updateTrackUINonRange(source)·{\n······this._isRtl·?·this._setTrackActiveStyles({\n········left:·'auto',\n········right:·'0px',\n········transformOrigin:·'right',\n········transform:·`scaleX(${1·-·source.fillPercentage})`\n······})·:·this._setTrackActiveStyles({\n········left:·'0px',\n········right:·'auto',\n········transformOrigin:·'left',\n········transform:·`scaleX(${source.fillPercentage})`\n······});\n····}\n····//·Tick·mark·update·conditions\n····//\n····//·1.·Value\n····//····-·Reason:·a·tick·mark·which·was·once·active·might·now·be·inactive·or·vice·versa.\n····//·2.·Min,·max,·or·step\n····//····-·Reason·#1:·the·number·of·tick·marks·may·have·changed.\n····//····-·Reason·#2:·The·value·may·have·silently·changed.\n····/**·Updates·the·dots·along·the·slider·track.·*/\n····_updateTickMarkUI()·{\n······if·(!this.showTickMarks·||·this.step·===·undefined·||·this.min·===·undefined·||·this.max·===·undefined)·{\n········return;\n······}\n······const·step·=·this.step·>·0·?·this.step·:·1;\n······this._isRange·?·this._updateTickMarkUIRange(step)·:·this._updateTickMarkUINonRange(step);\n····}\n····_updateTickMarkUINonRange(step)·{\n······const·value·=·this._getValue();\n······let·numActive·=·Math.max(Math.round((value·-·this.min)·/·step),·0)·+·1;\n······let·numInactive·=·Math.max(Math.round((this.max·-·value)·/·step),·0)·-·1;\n······this._isRtl·?·numActive++·:·numInactive++;\n······this._tickMarks·=·Array(numActive).fill(_MatTickMark.ACTIVE).concat(Array(numInactive).fill(_MatTickMark.INACTIVE));\n····}\n····_updateTickMarkUIRange(step)·{\n······const·endValue·=·this._getValue();\n······const·startValue·=·this._getValue(_MatThumb.START);\n······const·numInactiveBeforeStartThumb·=·Math.max(Math.round((startValue·-·this.min)·/·step),·0);\n······const·numActive·=·Math.max(Math.round((endValue·-·startValue)·/·step)·+·1,·0);\n······const·numInactiveAfterEndThumb·=·Math.max(Math.round((this.max·-·endValue)·/·step),·0);\n······this._tickMarks·=·Array(numInactiveBeforeStartThumb).fill(_MatTickMark.INACTIVE).concat(Array(numActive).fill(_MatTickMark.ACTIVE),·Array(numInactiveAfterEndThumb).fill(_MatTickMark.INACTIVE));\n····}\n····/**·Gets·the·slider·thumb·input·of·the·given·thumb·position.·*/\n····_getInput(thumbPosition)·{\n······if·(thumbPosition·===·_MatThumb.END·&&·this._input)·{\n········return·this._input;\n······}\n······if·(this._inputs?.length)·{\n········return·thumbPosition·===·_MatThumb.START·?·this._inputs.first·:·this._inputs.last;\n······}\n······return;\n····}\n····/**·Gets·the·slider·thumb·HTML·input·element·of·the·given·thumb·position.·*/\n····_getThumb(thumbPosition)·{\n······return·thumbPosition·===·_MatThumb.END·?·this._thumbs?.last·:·this._thumbs?.first;\n····}\n····_setTransition(withAnimation)·{\n······this._hasAnimation·=·!this._platform.IOS·&&·withAnimation·&&·!this._noopAnimations;\n······this._elementRef.nativeElement.classList.toggle('mat-mdc-slider-with-animation',·this._hasAnimation);\n····}\n····/**·Whether·the·given·pointer·event·occurred·within·the·bounds·of·the·slider·pointer's·DOM·Rect.·*/\n····_isCursorOnSliderThumb(event,·rect)·{\n······const·radius·=·rect.width·/·2;\n······const·centerX·=·rect.x·+·radius;\n······const·centerY·=·rect.y·+·radius;\n······const·dx·=·event.clientX·-·centerX;\n······const·dy·=·event.clientY·-·centerY;\n······return·Math.pow(dx,·2)·+·Math.pow(dy,·2)·<·Math.pow(radius,·2);\n····}\n····static·\u0275fac·=·function·MatSlider_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSlider)();\n····};\n····static·\u0275cmp·=·/*·@__PURE__·*/i0.\u0275\u0275defineComponent({\n······type:·MatSlider,\n······selectors:·[[\"mat-slider\"]],\n······contentQueries:·function·MatSlider_ContentQueries(rf,·ctx,·dirIndex)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275contentQuery(dirIndex,·MAT_SLIDER_THUMB,·5);\n··········i0.\u0275\u0275contentQuery(dirIndex,·MAT_SLIDER_RANGE_THUMB,·4);\n········}\n········if·(rf·&·2)·{\n··········let·_t;\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._input·=·_t.first);\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._inputs·=·_t);\n········}\n······},\n······viewQuery:·function·MatSlider_Query(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275viewQuery(_c2,·5);\n··········i0.\u0275\u0275viewQuery(MAT_SLIDER_VISUAL_THUMB,·5);\n········}\n········if·(rf·&·2)·{\n··········let·_t;\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._trackActive·=·_t.first);\n··········i0.\u0275\u0275queryRefresh(_t·=·i0.\u0275\u0275loadQuery())·&&·(ctx._thumbs·=·_t);\n········}\n······},\n······hostAttrs:·[1,·\"mat-mdc-slider\",·\"mdc-slider\"],\n······hostVars:·12,\n······hostBindings:·function·MatSlider_HostBindings(rf,·ctx)·{\n········if·(rf·&·2)·{\n··········i0.\u0275\u0275classMap(\"mat-\"·+·(ctx.color·||·\"primary\"));\n··········i0.\u0275\u0275classProp(\"mdc-slider--range\",·ctx._isRange)(\"mdc-slider--disabled\",·ctx.disabled)(\"mdc-slider--discrete\",·ctx.discrete)(\"mdc-slider--tick-marks\",·ctx.showTickMarks)(\"_mat-animation-noopable\",·ctx._noopAnimations);\n········}\n······},\n······inputs:·{\n········disabled:·[2,·\"disabled\",·\"disabled\",·booleanAttribute],\n········discrete:·[2,·\"discrete\",·\"discrete\",·booleanAttribute],\n········showTickMarks:·[2,·\"showTickMarks\",·\"showTickMarks\",·booleanAttribute],\n········min:·[2,·\"min\",·\"min\",·numberAttribute],\n········color:·\"color\",\n········disableRipple:·[2,·\"disableRipple\",·\"disableRipple\",·booleanAttribute],\n········max:·[2,·\"max\",·\"max\",·numberAttribute],\n········step:·[2,·\"step\",·\"step\",·numberAttribute],\n········displayWith:·\"displayWith\"\n······},\n······exportAs:·[\"matSlider\"],\n······features:·[i0.\u0275\u0275ProvidersFeature([{\n········provide:·MAT_SLIDER,\n········useExisting:·MatSlider\n······}])],\n······ngContentSelectors:·_c3,\n······decls:·9,\n······vars:·5,\n······consts:·[[\"trackActive\",·\"\"],·[\"tickMarkContainer\",·\"\"],·[1,·\"mdc-slider__track\"],·[1,·\"mdc-slider__track--inactive\"],·[1,·\"mdc-slider__track--active\"],·[1,·\"mdc-slider__track--active_fill\"],·[1,·\"mdc-slider__tick-marks\"],·[3,·\"discrete\",·\"thumbPosition\",·\"valueIndicatorText\"],·[3,·\"class\",·\"transform\"]],\n······template:·function·MatSlider_Template(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275projectionDef();\n··········i0.\u0275\u0275projection(0);\n··········i0.\u0275\u0275elementStart(1,·\"div\",·2);\n··········i0.\u0275\u0275element(2,·\"div\",·3);\n··········i0.\u0275\u0275elementStart(3,·\"div\",·4);\n··········i0.\u0275\u0275element(4,·\"div\",·5,·0);\n··········i0.\u0275\u0275elementEnd();\n··········i0.\u0275\u0275conditionalCreate(6,·MatSlider_Conditional_6_Template,·3,·1,·\"div\",·6);\n··········i0.\u0275\u0275elementEnd();\n··········i0.\u0275\u0275conditionalCreate(7,·MatSlider_Conditional_7_Template,·1,·3,·\"mat-slider-visual-thumb\",·7);\n··········i0.\u0275\u0275element(8,·\"mat-slider-visual-thumb\",·7);\n········}\n········if·(rf·&·2)·{\n··········i0.\u0275\u0275advance(6);\n··········i0.\u0275\u0275conditional(ctx.showTickMarks·?·6·:·-1);\n··········i0.\u0275\u0275advance();\n··········i0.\u0275\u0275conditional(ctx._isRange·?·7·:·-1);\n··········i0.\u0275\u0275advance();\n··········i0.\u0275\u0275property(\"discrete\",·ctx.discrete)(\"thumbPosition\",·2)(\"valueIndicatorText\",·ctx.endValueIndicatorText);\n········}\n······},\n······dependencies:·[MatSliderVisualThumb],\n······styles:·[\".mdc-slider__track{position:absolute;top:50%;transform:translateY(-50%);width:100%;pointer-events:none;height:var(--mat-slider-inactive-track-height,·4px)}.mdc-slider__track--active,.mdc-slider__track--inactive{display:flex;height:100%;position:absolute;width:100%}.mdc-slider__track--active{overflow:hidden;border-radius:var(--mat-slider-active-track-shape,·var(--mat-sys-corner-full));height:var(--mat-slider-active-track-height,·4px);top:calc((var(--mat-slider-inactive-track-height,·4px)·-·var(--mat-slider-active-track-height,·4px))/2)}.mdc-slider__track--active_fill{border-top-style:solid;box-sizing:border-box;height:100%;width:100%;position:relative;transform-origin:left;transition:transform·80ms·ease;border-color:var(--mat-slider-active-track-color,·var(--mat-sys-primary));border-top-width:var(--mat-slider-active-track-height,·4px)}.mdc-slider--disabled·.mdc-slider__track--active_fill{border-color:var(--mat-slider-disabled-active-track-color,·var(--mat-sys-on-surface))}[dir=rtl]·.mdc-slider__track--active_fill{-webkit-transform-origin:right;transform-origin:right}.mdc-slider__track--inactive{left:0;top:0;opacity:.24;background-color:var(--mat-slider-inactive-track-color,·var(--mat-sys-surface-variant));height:var(--mat-slider-inactive-track-height,·4px);border-radius:var(--mat-slider-inactive-track-shape,·var(--mat-sys-corner-full))}.mdc-slider--disabled·.mdc-slider__track--inactive{background-color:var(--mat-slider-disabled-inactive-track-color,·var(--mat-sys-on-surface));opacity:.24}.mdc-slider__track--inactive::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px·solid·rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}@media(forced-colors:·active){.mdc-slider__track--inactive::before{border-color:CanvasText}}.mdc-slider__value-indicator-container{bottom:44px;left:50%;pointer-events:none;position:absolute;transform:var(--mat-slider-value-indicator-container-transform,·translateX(-50%)·rotate(-45deg))}.mdc-slider__thumb--with-indicator·.mdc-slider__value-indicator-container{pointer-events:auto}.mdc-slider__value-indicator{display:flex;align-items:center;transform:scale(0);transform-origin:bottom;transition:transform·100ms·cubic-bezier(0.4,·0,·1,·1);word-break:normal;background-color:var(--mat-slider-label-container-color,·var(--mat-sys-primary));color:var(--mat-slider-label-label-text-color,·var(--mat-sys-on-primary));width:var(--mat-slider-value-indicator-width,·28px);height:var(--mat-slider-value-indicator-height,·28px);padding:var(--mat-slider-value-indicator-padding,·0);opacity:var(--mat-slider-value-indicator-opacity,·1);border-radius:var(--mat-slider-value-indicator-border-radius,·50%·50%·50%·0)}.mdc-slider__thumb--with-indicator·.mdc-slider__value-indicator{transition:transform·100ms·cubic-bezier(0,·0,·0.2,·1);transform:scale(1)}.mdc-slider__value-indicator::before{border-left:6px·solid·rgba(0,0,0,0);border-right:6px·solid·rgba(0,0,0,0);border-top:6px·solid;bottom:-5px;content:\\\"\\\";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;display:var(--mat-slider-value-indicator-caret-display,·none);border-top-color:var(--mat-slider-label-container-color,·var(--mat-sys-primary))}.mdc-slider__value-indicator::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px·solid·rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}@media(forced-colors:·active){.mdc-slider__value-indicator::after{border-color:CanvasText}}.mdc-slider__value-indicator-text{text-align:center;width:var(--mat-slider-value-indicator-width,·28px);transform:var(--mat-slider-value-indicator-text-transform,·rotate(45deg));font-family:var(--mat-slider-label-label-text-font,·var(--mat-sys-label-medium-font));font-size:var(--mat-slider-label-label-text-size,·var(--mat-sys-label-medium-size));font-weight:var(--mat-slider-label-label-text-weight,·var(--mat-sys-label-medium-weight));line-height:var(--mat-slider-label-label-text-line-height,·var(--mat-sys-label-medium-line-height));letter-spacing:var(--mat-slider-label-label-text-tracking,·var(--mat-sys-label-medium-tracking))}.mdc-slider__thumb{-webkit-user-select:none;user-select:none;display:flex;left:-24px;outline:none;position:absolute;height:48px;width:48px;pointer-events:none}.mdc-slider--discrete·.mdc-slider__thumb{transition:transform·80ms·ease}.mdc-slider--disabled·.mdc-slider__thumb{pointer-events:none}.mdc-slider__thumb--top{z-index:1}.mdc-slider__thumb-knob{position:absolute;box-sizing:border-box;left:50%;top:50%;transform:translate(-50%,·-50%);border-style:solid;width:var(--mat-slider-handle-width,·20px);height:var(--mat-slider-handle-height,·20px);border-width:calc(var(--mat-slider-handle-height,·20px)/2)·calc(var(--mat-slider-handle-width,·20px)/2);box-shadow:var(--mat-slider-handle-elevation,·var(--mat-sys-level1));background-color:var(--mat-slider-handle-color,·var(--mat-sys-primary));border-color:var(--mat-slider-handle-color,·var(--mat-sys-primary));border-radius:var(--mat-slider-handle-shape,·var(--mat-sys-corner-full))}.mdc-slider__thumb:hover·.mdc-slider__thumb-knob{background-color:var(--mat-slider-hover-handle-color,·var(--mat-sys-primary));border-color:var(--mat-slider-hover-handle-color,·var(--mat-sys-primary))}.mdc-slider__thumb--focused·.mdc-slider__thumb-knob{background-color:var(--mat-slider-focus-handle-color,·var(--mat-sys-primary));border-color:var(--mat-slider-focus-handle-color,·var(--mat-sys-primary))}.mdc-slider--disabled·.mdc-slider__thumb-knob{background-color:var(--mat-slider-disabled-handle-color,·var(--mat-sys-on-surface));border-color:var(--mat-slider-disabled-handle-color,·var(--mat-sys-on-surface))}.mdc-slider__thumb--top·.mdc-slider__thumb-knob,.mdc-slider__thumb--top.mdc-slider__thumb:hover·.mdc-slider__thumb-knob,.mdc-slider__thumb--top.mdc-slider__thumb--focused·.mdc-slider__thumb-knob{border:solid·1px·#fff;box-sizing:content-box;border-color:var(--mat-slider-with-overlap-handle-outline-color,·var(--mat-sys-on-primary));border-width:var(--mat-slider-with-overlap-handle-outline-width,·1px)}.mdc-slider__tick-marks{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;padding:0·1px;position:absolute;width:100%}.mdc-slider__tick-mark--active,.mdc-slider__tick-mark--inactive{width:var(--mat-slider-with-tick-marks-container-size,·2px);height:var(--mat-slider-with-tick-marks-container-size,·2px);border-radius:var(--mat-slider-with-tick-marks-container-shape,·var(--mat-sys-corner-full))}.mdc-slider__tick-mark--inactive{opacity:var(--mat-slider-with-tick-marks-inactive-container-opacity,·0.38);background-color:var(--mat-slider-with-tick-marks-inactive-container-color,·var(--mat-sys-on-surface-variant))}.mdc-slider--disabled·.mdc-slider__tick-mark--inactive{opacity:var(--mat-slider-with-tick-marks-inactive-container-opacity,·0.38);background-color:var(--mat-slider-with-tick-marks-disabled-container-color,·var(--mat-sys-on-surface))}.mdc-slider__tick-mark--active{opacity:var(--mat-slider-with-tick-marks-active-container-opacity,·0.38);background-color:var(--mat-slider-with-tick-marks-active-container-color,·var(--mat-sys-on-primary))}.mdc-slider__input{cursor:pointer;left:2px;margin:0;height:44px;opacity:0;position:absolute;top:2px;width:44px;box-sizing:content-box}.mdc-slider__input.mat-mdc-slider-input-no-pointer-events{pointer-events:none}.mdc-slider__input.mat-slider__right-input{left:auto;right:0}.mat-mdc-slider{display:inline-block;box-sizing:border-box;outline:none;vertical-align:middle;cursor:pointer;height:48px;margin:0·8px;position:relative;touch-action:pan-y;width:auto;min-width:112px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-slider.mdc-slider--disabled{cursor:auto;opacity:.38}.mat-mdc-slider.mdc-slider--disabled·.mdc-slider__input{cursor:auto}.mat-mdc-slider·.mdc-slider__thumb,.mat-mdc-slider·.mdc-slider__track--active_fill{transition-duration:0ms}.mat-mdc-slider.mat-mdc-slider-with-animation·.mdc-slider__thumb,.mat-mdc-slider.mat-mdc-slider-with-animation·.mdc-slider__track--active_fill{transition-duration:80ms}.mat-mdc-slider.mdc-slider--discrete·.mdc-slider__thumb,.mat-mdc-slider.mdc-slider--discrete·.mdc-slider__track--active_fill{transition-duration:0ms}.mat-mdc-slider.mat-mdc-slider-with-animation·.mdc-slider__thumb,.mat-mdc-slider.mat-mdc-slider-with-animation·.mdc-slider__track--active_fill{transition-duration:80ms}.mat-mdc-slider·.mat-ripple·.mat-ripple-element{background-color:var(--mat-slider-ripple-color,·var(--mat-sys-primary))}.mat-mdc-slider·.mat-ripple·.mat-mdc-slider-hover-ripple{background-color:var(--mat-slider-hover-state-layer-color,·color-mix(in·srgb,·var(--mat-sys-primary)·5%,·transparent))}.mat-mdc-slider·.mat-ripple·.mat-mdc-slider-focus-ripple,.mat-mdc-slider·.mat-ripple·.mat-mdc-slider-active-ripple{background-color:var(--mat-slider-focus-state-layer-color,·color-mix(in·srgb,·var(--mat-sys-primary)·20%,·transparent))}.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete·.mdc-slider__thumb,.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete·.mdc-slider__track--active_fill,.mat-mdc-slider._mat-animation-noopable·.mdc-slider__value-indicator{transition:none}.mat-mdc-slider·.mat-focus-indicator::before{border-radius:50%}.mdc-slider__thumb--focused·.mat-focus-indicator::before{content:\\\"\\\"}\\n\"],\n······encapsulation:·2,\n······changeDetection:·0\n····});\n··}\n··return·MatSlider;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\n/**·Ensures·that·there·is·not·an·invalid·configuration·for·the·slider·thumb·inputs.·*/\nfunction·_validateInputs(isRange,·endInputElement,·startInputElement)·{\n··const·startValid·=·!isRange·||·startInputElement?._hostElement.hasAttribute('matSliderStartThumb');\n··const·endValid·=·endInputElement?._hostElement.hasAttribute(isRange·?·'matSliderEndThumb'·:·'matSliderThumb');\n··if·(!startValid·||·!endValid)·{\n····_throwInvalidInputConfigurationError();\n··}\n}\nfunction·_throwInvalidInputConfigurationError()·{\n··throw·Error(`Invalid·slider·thumb·input·configuration!\n\n···Valid·configurations·are·as·follows:\n\n·····<mat-slider>\n·······<input·matSliderThumb>\n·····</mat-slider>\n\n·····or\n\n·····<mat-slider>\n·······<input·matSliderStartThumb>\n·······<input·matSliderEndThumb>\n·····</mat-slider>\n···`);\n}\n\n/**\n·*·Provider·that·allows·the·slider·thumb·to·register·as·a·ControlValueAccessor.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_THUMB_VALUE_ACCESSOR·=·{\n··provide:·NG_VALUE_ACCESSOR,\n··useExisting:·/*#__PURE__*/forwardRef(()·=>·MatSliderThumb),\n··multi:·true\n};\n/**\n·*·Provider·that·allows·the·range·slider·thumb·to·register·as·a·ControlValueAccessor.\n·*·@docs-private\n·*/\nconst·MAT_SLIDER_RANGE_THUMB_VALUE_ACCESSOR·=·{\n··provide:·NG_VALUE_ACCESSOR,\n··useExisting:·/*#__PURE__*/forwardRef(()·=>·MatSliderRangeThumb),\n··multi:·true\n};\n/**\n·*·Directive·that·adds·slider-specific·behaviors·to·an·input·element·inside·`<mat-slider>`.\n·*·Up·to·two·may·be·placed·inside·of·a·`<mat-slider>`.\n·*\n·*·If·one·is·used,·the·selector·`matSliderThumb`·must·be·used,·and·the·outcome·will·be·a·normal\n·*·slider.·If·two·are·used,·the·selectors·`matSliderStartThumb`·and·`matSliderEndThumb`·must·be\n·*·used,·and·the·outcome·will·be·a·range·slider·with·two·slider·thumbs.\n·*/\nlet·MatSliderThumb·=·/*#__PURE__*/(()·=>·{\n··class·MatSliderThumb·{\n····_ngZone·=·inject(NgZone);\n····_elementRef·=·inject(ElementRef);\n····_cdr·=·inject(ChangeDetectorRef);\n····_slider·=·inject(MAT_SLIDER);\n····_platform·=·inject(Platform);\n····_listenerCleanups;\n····get·value()·{\n······return·numberAttribute(this._hostElement.value,·0);\n····}\n····set·value(value)·{\n······if·(value·===·null)·{\n········value·=·this._getDefaultValue();\n······}\n······value·=·isNaN(value)·?·0·:·value;\n······const·stringValue·=·value·+·'';\n······if·(!this._hasSetInitialValue)·{\n········this._initialValue·=·stringValue;\n········return;\n······}\n······if·(this._isActive)·{\n········return;\n······}\n······this._setValue(stringValue);\n····}\n····/**\n·····*·Handles·programmatic·value·setting.·This·has·been·split·out·to\n·····*·allow·the·range·thumb·to·override·it·and·add·additional·necessary·logic.\n·····*/\n····_setValue(value)·{\n······this._hostElement.value·=·value;\n······this._updateThumbUIByValue();\n······this._slider._onValueChange(this);\n······this._cdr.detectChanges();\n······this._slider._cdr.markForCheck();\n····}\n····/**·Event·emitted·when·the·`value`·is·changed.·*/\n····valueChange·=·new·EventEmitter();\n····/**·Event·emitted·when·the·slider·thumb·starts·being·dragged.·*/\n····dragStart·=·new·EventEmitter();\n····/**·Event·emitted·when·the·slider·thumb·stops·being·dragged.·*/\n····dragEnd·=·new·EventEmitter();\n····/**\n·····*·The·current·translateX·in·px·of·the·slider·visual·thumb.\n·····*·@docs-private\n·····*/\n····get·translateX()·{\n······if·(this._slider.min·>=·this._slider.max)·{\n········this._translateX·=·this._tickMarkOffset;\n········return·this._translateX;\n······}\n······if·(this._translateX·===·undefined)·{\n········this._translateX·=·this._calcTranslateXByValue();\n······}\n······return·this._translateX;\n····}\n····set·translateX(v)·{\n······this._translateX·=·v;\n····}\n····_translateX;\n····/**\n·····*·Indicates·whether·this·thumb·is·the·start·or·end·thumb.\n·····*·@docs-private\n·····*/\n····thumbPosition·=·_MatThumb.END;\n····/**·@docs-private·*/\n····get·min()·{\n······return·numberAttribute(this._hostElement.min,·0);\n····}\n····set·min(v)·{\n······this._hostElement.min·=·v·+·'';\n······this._cdr.detectChanges();\n····}\n····/**·@docs-private·*/\n····get·max()·{\n······return·numberAttribute(this._hostElement.max,·0);\n····}\n····set·max(v)·{\n······this._hostElement.max·=·v·+·'';\n······this._cdr.detectChanges();\n····}\n····get·step()·{\n······return·numberAttribute(this._hostElement.step,·0);\n····}\n····set·step(v)·{\n······this._hostElement.step·=·v·+·'';\n······this._cdr.detectChanges();\n····}\n····/**·@docs-private·*/\n····get·disabled()·{\n······return·booleanAttribute(this._hostElement.disabled);\n····}\n····set·disabled(v)·{\n······this._hostElement.disabled·=·v;\n······this._cdr.detectChanges();\n······if·(this._slider.disabled·!==·this.disabled)·{\n········this._slider.disabled·=·this.disabled;\n······}\n····}\n····/**·The·percentage·of·the·slider·that·coincides·with·the·value.·*/\n····get·percentage()·{\n······if·(this._slider.min·>=·this._slider.max)·{\n········return·this._slider._isRtl·?·1·:·0;\n······}\n······return·(this.value·-·this._slider.min)·/·(this._slider.max·-·this._slider.min);\n····}\n····/**·@docs-private·*/\n····get·fillPercentage()·{\n······if·(!this._slider._cachedWidth)·{\n········return·this._slider._isRtl·?·1·:·0;\n······}\n······if·(this._translateX·===·0)·{\n········return·0;\n······}\n······return·this.translateX·/·this._slider._cachedWidth;\n····}\n····/**·The·host·native·HTML·input·element.·*/\n····_hostElement·=·this._elementRef.nativeElement;\n····/**·The·aria-valuetext·string·representation·of·the·input's·value.·*/\n····_valuetext·=·signal('');\n····/**·The·radius·of·a·native·html·slider's·knob.·*/\n····_knobRadius·=·8;\n····/**·The·distance·in·px·from·the·start·of·the·slider·track·to·the·first·tick·mark.·*/\n····_tickMarkOffset·=·3;\n····/**·Whether·user's·cursor·is·currently·in·a·mouse·down·state·on·the·input.·*/\n····_isActive·=·false;\n····/**·Whether·the·input·is·currently·focused·(either·by·tab·or·after·clicking).·*/\n····_isFocused·=·false;\n····/**·Used·to·relay·updates·to·_isFocused·to·the·slider·visual·thumbs.·*/\n····_setIsFocused(v)·{\n······this._isFocused·=·v;\n····}\n····/**\n·····*·Whether·the·initial·value·has·been·set.\n·····*·This·exists·because·the·initial·value·cannot·be·immediately·set·because·the·min·and·max\n·····*·must·first·be·relayed·from·the·parent·MatSlider·component,·which·can·only·happen·later\n·····*·in·the·component·lifecycle.\n·····*/\n····_hasSetInitialValue·=·false;\n····/**·The·stored·initial·value.·*/\n····_initialValue;\n····/**·Defined·when·a·user·is·using·a·form·control·to·manage·slider·value·&·validation.·*/\n····_formControl;\n····/**·Emits·when·the·component·is·destroyed.·*/\n····_destroyed·=·new·Subject();\n····/**\n·····*·Indicates·whether·UI·updates·should·be·skipped.\n·····*\n·····*·This·flag·is·used·to·avoid·flickering\n·····*·when·correcting·values·on·pointer·up/down.\n·····*/\n····_skipUIUpdate·=·false;\n····/**·Callback·called·when·the·slider·input·value·changes.·*/\n····_onChangeFn;\n····/**·Callback·called·when·the·slider·input·has·been·touched.·*/\n····_onTouchedFn·=·()·=>·{};\n····/**\n·····*·Whether·the·NgModel·has·been·initialized.\n·····*\n·····*·This·flag·is·used·to·ignore·ghost·null·calls·to\n·····*·writeValue·which·can·break·slider·initialization.\n·····*\n·····*·See·https://github.com/angular/angular/issues/14988.\n·····*/\n····_isControlInitialized·=·false;\n····constructor()·{\n······const·renderer·=·inject(Renderer2);\n······this._ngZone.runOutsideAngular(()·=>·{\n········this._listenerCleanups·=·[renderer.listen(this._hostElement,·'pointerdown',·this._onPointerDown.bind(this)),·renderer.listen(this._hostElement,·'pointermove',·this._onPointerMove.bind(this)),·renderer.listen(this._hostElement,·'pointerup',·this._onPointerUp.bind(this))];\n······});\n····}\n····ngOnDestroy()·{\n······this._listenerCleanups.forEach(cleanup·=>·cleanup());\n······this._destroyed.next();\n······this._destroyed.complete();\n······this.dragStart.complete();\n······this.dragEnd.complete();\n····}\n····/**·@docs-private·*/\n····initProps()·{\n······this._updateWidthInactive();\n······//·If·this·or·the·parent·slider·is·disabled,·just·make·everything·disabled.\n······if·(this.disabled·!==·this._slider.disabled)·{\n········//·The·MatSlider·setter·for·disabled·will·relay·this·and·disable·both·inputs.\n········this._slider.disabled·=·true;\n······}\n······this.step·=·this._slider.step;\n······this.min·=·this._slider.min;\n······this.max·=·this._slider.max;\n······this._initValue();\n····}\n····/**·@docs-private·*/\n····initUI()·{\n······this._updateThumbUIByValue();\n····}\n····_initValue()·{\n······this._hasSetInitialValue·=·true;\n······if·(this._initialValue·===·undefined)·{\n········this.value·=·this._getDefaultValue();\n······}·else·{\n········this._hostElement.value·=·this._initialValue;\n········this._updateThumbUIByValue();\n········this._slider._onValueChange(this);\n········this._cdr.detectChanges();\n······}\n····}\n····_getDefaultValue()·{\n······return·this.min;\n····}\n····_onBlur()·{\n······this._setIsFocused(false);\n······this._onTouchedFn();\n····}\n····_onFocus()·{\n······this._slider._setTransition(false);\n······this._slider._updateTrackUI(this);\n······this._setIsFocused(true);\n····}\n····_onChange()·{\n······this.valueChange.emit(this.value);\n······//·only·used·to·handle·the·edge·case·where·user\n······//·mousedown·on·the·slider·then·uses·arrow·keys.\n······if·(this._isActive)·{\n········this._updateThumbUIByValue({\n··········withAnimation:·true\n········});\n······}\n····}\n····_onInput()·{\n······this._onChangeFn?.(this.value);\n······//·handles·arrowing·and·updating·the·value·when\n······//·a·step·is·defined.\n······if·(this._slider.step·||·!this._isActive)·{\n········this._updateThumbUIByValue({\n··········withAnimation:·true\n········});\n······}\n······this._slider._onValueChange(this);\n····}\n····_onNgControlValueChange()·{\n······//·only·used·to·handle·when·the·value·change\n······//·originates·outside·of·the·slider.\n······if·(!this._isActive·||·!this._isFocused)·{\n········this._slider._onValueChange(this);\n········this._updateThumbUIByValue();\n······}\n······this._slider.disabled·=·this._formControl.disabled;\n····}\n····_onPointerDown(event)·{\n······if·(this.disabled·||·event.button·!==·0)·{\n········return;\n······}\n······//·On·IOS,·dragging·only·works·if·the·pointer·down·happens·on·the\n······//·slider·thumb·and·the·slider·does·not·receive·focus·from·pointer·events.\n······if·(this._platform.IOS)·{\n········const·isCursorOnSliderThumb·=·this._slider._isCursorOnSliderThumb(event,·this._slider._getThumb(this.thumbPosition)._hostElement.getBoundingClientRect());\n········this._isActive·=·isCursorOnSliderThumb;\n········this._updateWidthActive();\n········this._slider._updateDimensions();\n········return;\n······}\n······this._isActive·=·true;\n······this._setIsFocused(true);\n······this._updateWidthActive();\n······this._slider._updateDimensions();\n······//·Does·nothing·if·a·step·is·defined·because·we\n······//·want·the·value·to·snap·to·the·values·on·input.\n······if·(!this._slider.step)·{\n········this._updateThumbUIByPointerEvent(event,·{\n··········withAnimation:·true\n········});\n······}\n······if·(!this.disabled)·{\n········this._handleValueCorrection(event);\n········this.dragStart.emit({\n··········source:·this,\n··········parent:·this._slider,\n··········value:·this.value\n········});\n······}\n····}\n····/**\n·····*·Corrects·the·value·of·the·slider·on·pointer·up/down.\n·····*\n·····*·Called·on·pointer·down·and·up·because·the·value·is·set·based\n·····*·on·the·inactive·width·instead·of·the·active·width.\n·····*/\n····_handleValueCorrection(event)·{\n······//·Don't·update·the·UI·with·the·current·value!·The·value·on·pointerdown\n······//·and·pointerup·is·calculated·in·the·split·second·before·the·input(s)\n······//·resize.·See·_updateWidthInactive()·and·_updateWidthActive()·for·more\n······//·details.\n······this._skipUIUpdate·=·true;\n······//·Note·that·this·function·gets·triggered·before·the·actual·value·of·the\n······//·slider·is·updated.·This·means·if·we·were·to·set·the·value·here,·it\n······//·would·immediately·be·overwritten.·Using·setTimeout·ensures·the·setting\n······//·of·the·value·happens·after·the·value·has·been·updated·by·the\n······//·pointerdown·event.\n······setTimeout(()·=>·{\n········this._skipUIUpdate·=·false;\n········this._fixValue(event);\n······},·0);\n····}\n····/**·Corrects·the·value·of·the·slider·based·on·the·pointer·event's·position.·*/\n····_fixValue(event)·{\n······const·xPos·=·event.clientX·-·this._slider._cachedLeft;\n······const·width·=·this._slider._cachedWidth;\n······const·step·=·this._slider.step·===·0·?·1·:·this._slider.step;\n······const·numSteps·=·Math.floor((this._slider.max·-·this._slider.min)·/·step);\n······const·percentage·=·this._slider._isRtl·?·1·-·xPos·/·width·:·xPos·/·width;\n······//·To·ensure·the·percentage·is·rounded·to·the·necessary·number·of·decimals.\n······const·fixedPercentage·=·Math.round(percentage·*·numSteps)·/·numSteps;\n······const·impreciseValue·=·fixedPercentage·*·(this._slider.max·-·this._slider.min)·+·this._slider.min;\n······const·value·=·Math.round(impreciseValue·/·step)·*·step;\n······const·prevValue·=·this.value;\n······if·(value·===·prevValue)·{\n········//·Because·we·prevented·UI·updates,·if·it·turns·out·that·the·race\n········//·condition·didn't·happen·and·the·value·is·already·correct,·we\n········//·have·to·apply·the·ui·updates·now.\n········this._slider._onValueChange(this);\n········this._slider.step·>·0·?·this._updateThumbUIByValue()·:·this._updateThumbUIByPointerEvent(event,·{\n··········withAnimation:·this._slider._hasAnimation\n········});\n········return;\n······}\n······this.value·=·value;\n······this.valueChange.emit(this.value);\n······this._onChangeFn?.(this.value);\n······this._slider._onValueChange(this);\n······this._slider.step·>·0·?·this._updateThumbUIByValue()·:·this._updateThumbUIByPointerEvent(event,·{\n········withAnimation:·this._slider._hasAnimation\n······});\n····}\n····_onPointerMove(event)·{\n······//·Again,·does·nothing·if·a·step·is·defined·because\n······//·we·want·the·value·to·snap·to·the·values·on·input.\n······if·(!this._slider.step·&&·this._isActive)·{\n········this._updateThumbUIByPointerEvent(event);\n······}\n····}\n····_onPointerUp()·{\n······if·(this._isActive)·{\n········this._isActive·=·false;\n········if·(this._platform.SAFARI)·{\n··········this._setIsFocused(false);\n········}\n········this.dragEnd.emit({\n··········source:·this,\n··········parent:·this._slider,\n··········value:·this.value\n········});\n········//·This·setTimeout·is·to·prevent·the·pointerup·from·triggering·a·value\n········//·change·on·the·input·based·on·the·inactive·width.·It's·not·clear·why\n········//·but·for·some·reason·on·IOS·this·race·condition·is·even·more·common·so\n········//·the·timeout·needs·to·be·increased.\n········setTimeout(()·=>·this._updateWidthInactive(),·this._platform.IOS·?·10·:·0);\n······}\n····}\n····_clamp(v)·{\n······const·min·=·this._tickMarkOffset;\n······const·max·=·this._slider._cachedWidth·-·this._tickMarkOffset;\n······return·Math.max(Math.min(v,·max),·min);\n····}\n····_calcTranslateXByValue()·{\n······if·(this._slider._isRtl)·{\n········return·(1·-·this.percentage)·*·(this._slider._cachedWidth·-·this._tickMarkOffset·*·2)·+·this._tickMarkOffset;\n······}\n······return·this.percentage·*·(this._slider._cachedWidth·-·this._tickMarkOffset·*·2)·+·this._tickMarkOffset;\n····}\n····_calcTranslateXByPointerEvent(event)·{\n······return·event.clientX·-·this._slider._cachedLeft;\n····}\n····/**\n·····*·Used·to·set·the·slider·width·to·the·correct\n·····*·dimensions·while·the·user·is·dragging.\n·····*/\n····_updateWidthActive()·{}\n····/**\n·····*·Sets·the·slider·input·to·disproportionate·dimensions·to·allow·for·touch\n·····*·events·to·be·captured·on·touch·devices.\n·····*/\n····_updateWidthInactive()·{\n······this._hostElement.style.padding·=·`0·${this._slider._inputPadding}px`;\n······this._hostElement.style.width·=·`calc(100%·+·${this._slider._inputPadding·-·this._tickMarkOffset·*·2}px)`;\n······this._hostElement.style.left·=·`-${this._slider._rippleRadius·-·this._tickMarkOffset}px`;\n····}\n····_updateThumbUIByValue(options)·{\n······this.translateX·=·this._clamp(this._calcTranslateXByValue());\n······this._updateThumbUI(options);\n····}\n····_updateThumbUIByPointerEvent(event,·options)·{\n······this.translateX·=·this._clamp(this._calcTranslateXByPointerEvent(event));\n······this._updateThumbUI(options);\n····}\n····_updateThumbUI(options)·{\n······this._slider._setTransition(!!options?.withAnimation);\n······this._slider._onTranslateXChange(this);\n····}\n····/**\n·····*·Sets·the·input's·value.\n·····*·@param·value·The·new·value·of·the·input\n·····*·@docs-private\n·····*/\n····writeValue(value)·{\n······if·(this._isControlInitialized·||·value·!==·null)·{\n········this.value·=·value;\n······}\n····}\n····/**\n·····*·Registers·a·callback·to·be·invoked·when·the·input's·value·changes·from·user·input.\n·····*·@param·fn·The·callback·to·register\n·····*·@docs-private\n·····*/\n····registerOnChange(fn)·{\n······this._onChangeFn·=·fn;\n······this._isControlInitialized·=·true;\n····}\n····/**\n·····*·Registers·a·callback·to·be·invoked·when·the·input·is·blurred·by·the·user.\n·····*·@param·fn·The·callback·to·register\n·····*·@docs-private\n·····*/\n····registerOnTouched(fn)·{\n······this._onTouchedFn·=·fn;\n····}\n····/**\n·····*·Sets·the·disabled·state·of·the·slider.\n·····*·@param·isDisabled·The·new·disabled·state\n·····*·@docs-private\n·····*/\n····setDisabledState(isDisabled)·{\n······this.disabled·=·isDisabled;\n····}\n····focus()·{\n······this._hostElement.focus();\n····}\n····blur()·{\n······this._hostElement.blur();\n····}\n····static·\u0275fac·=·function·MatSliderThumb_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSliderThumb)();\n····};\n····static·\u0275dir·=·/*·@__PURE__·*/i0.\u0275\u0275defineDirective({\n······type:·MatSliderThumb,\n······selectors:·[[\"input\",·\"matSliderThumb\",·\"\"]],\n······hostAttrs:·[\"type\",·\"range\",·1,·\"mdc-slider__input\"],\n······hostVars:·1,\n······hostBindings:·function·MatSliderThumb_HostBindings(rf,·ctx)·{\n········if·(rf·&·1)·{\n··········i0.\u0275\u0275listener(\"change\",·function·MatSliderThumb_change_HostBindingHandler()·{\n············return·ctx._onChange();\n··········})(\"input\",·function·MatSliderThumb_input_HostBindingHandler()·{\n············return·ctx._onInput();\n··········})(\"blur\",·function·MatSliderThumb_blur_HostBindingHandler()·{\n············return·ctx._onBlur();\n··········})(\"focus\",·function·MatSliderThumb_focus_HostBindingHandler()·{\n············return·ctx._onFocus();\n··········});\n········}\n········if·(rf·&·2)·{\n··········i0.\u0275\u0275attribute(\"aria-valuetext\",·ctx._valuetext());\n········}\n······},\n······inputs:·{\n········value:·[2,·\"value\",·\"value\",·numberAttribute]\n······},\n······outputs:·{\n········valueChange:·\"valueChange\",\n········dragStart:·\"dragStart\",\n········dragEnd:·\"dragEnd\"\n······},\n······exportAs:·[\"matSliderThumb\"],\n······features:·[i0.\u0275\u0275ProvidersFeature([MAT_SLIDER_THUMB_VALUE_ACCESSOR,·{\n········provide:·MAT_SLIDER_THUMB,\n········useExisting:·MatSliderThumb\n······}])]\n····});\n··}\n··return·MatSliderThumb;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nlet·MatSliderRangeThumb·=·/*#__PURE__*/(()·=>·{\n··class·MatSliderRangeThumb·extends·MatSliderThumb·{\n····_cdr·=·inject(ChangeDetectorRef);\n····/**·@docs-private·*/\n····getSibling()·{\n······if·(!this._sibling)·{\n········this._sibling·=·this._slider._getInput(this._isEndThumb·?·_MatThumb.START·:·_MatThumb.END);\n······}\n······return·this._sibling;\n····}\n····_sibling;\n····/**\n·····*·Returns·the·minimum·translateX·position·allowed·for·this·slider·input's·visual·thumb.\n·····*·@docs-private\n·····*/\n····getMinPos()·{\n······const·sibling·=·this.getSibling();\n······if·(!this._isLeftThumb·&&·sibling)·{\n········return·sibling.translateX;\n······}\n······return·this._tickMarkOffset;\n····}\n····/**\n·····*·Returns·the·maximum·translateX·position·allowed·for·this·slider·input's·visual·thumb.\n·····*·@docs-private\n·····*/\n····getMaxPos()·{\n······const·sibling·=·this.getSibling();\n······if·(this._isLeftThumb·&&·sibling)·{\n········return·sibling.translateX;\n······}\n······return·this._slider._cachedWidth·-·this._tickMarkOffset;\n····}\n····_setIsLeftThumb()·{\n······this._isLeftThumb·=·this._isEndThumb·&&·this._slider._isRtl·||·!this._isEndThumb·&&·!this._slider._isRtl;\n····}\n····/**·Whether·this·slider·corresponds·to·the·input·on·the·left·hand·side.·*/\n····_isLeftThumb;\n····/**·Whether·this·slider·corresponds·to·the·input·with·greater·value.·*/\n····_isEndThumb;\n····constructor()·{\n······super();\n······this._isEndThumb·=·this._hostElement.hasAttribute('matSliderEndThumb');\n······this._setIsLeftThumb();\n······this.thumbPosition·=·this._isEndThumb·?·_MatThumb.END·:·_MatThumb.START;\n····}\n····_getDefaultValue()·{\n······return·this._isEndThumb·&&·this._slider._isRange·?·this.max·:·this.min;\n····}\n····_onInput()·{\n······super._onInput();\n······this._updateSibling();\n······if·(!this._isActive)·{\n········this._updateWidthInactive();\n······}\n····}\n····_onNgControlValueChange()·{\n······super._onNgControlValueChange();\n······this.getSibling()?._updateMinMax();\n····}\n····_onPointerDown(event)·{\n······if·(this.disabled·||·event.button·!==·0)·{\n········return;\n······}\n······if·(this._sibling)·{\n········this._sibling._updateWidthActive();\n········this._sibling._hostElement.classList.add('mat-mdc-slider-input-no-pointer-events');\n······}\n······super._onPointerDown(event);\n····}\n····_onPointerUp()·{\n······super._onPointerUp();\n······if·(this._sibling)·{\n········setTimeout(()·=>·{\n··········this._sibling._updateWidthInactive();\n··········this._sibling._hostElement.classList.remove('mat-mdc-slider-input-no-pointer-events');\n········});\n······}\n····}\n····_onPointerMove(event)·{\n······super._onPointerMove(event);\n······if·(!this._slider.step·&&·this._isActive)·{\n········this._updateSibling();\n······}\n····}\n····_fixValue(event)·{\n······super._fixValue(event);\n······this._sibling?._updateMinMax();\n····}\n····_clamp(v)·{\n······return·Math.max(Math.min(v,·this.getMaxPos()),·this.getMinPos());\n····}\n····_updateMinMax()·{\n······const·sibling·=·this.getSibling();\n······if·(!sibling)·{\n········return;\n······}\n······if·(this._isEndThumb)·{\n········this.min·=·Math.max(this._slider.min,·sibling.value);\n········this.max·=·this._slider.max;\n······}·else·{\n········this.min·=·this._slider.min;\n········this.max·=·Math.min(this._slider.max,·sibling.value);\n······}\n····}\n····_updateWidthActive()·{\n······const·minWidth·=·this._slider._rippleRadius·*·2·-·this._slider._inputPadding·*·2;\n······const·maxWidth·=·this._slider._cachedWidth·+·this._slider._inputPadding·-·minWidth·-·this._tickMarkOffset·*·2;\n······const·percentage·=·this._slider.min·<·this._slider.max·?·(this.max·-·this.min)·/·(this._slider.max·-·this._slider.min)·:·1;\n······const·width·=·maxWidth·*·percentage·+·minWidth;\n······this._hostElement.style.width·=·`${width}px`;\n······this._hostElement.style.padding·=·`0·${this._slider._inputPadding}px`;\n····}\n····_updateWidthInactive()·{\n······const·sibling·=·this.getSibling();\n······if·(!sibling)·{\n········return;\n······}\n······const·maxWidth·=·this._slider._cachedWidth·-·this._tickMarkOffset·*·2;\n······const·midValue·=·this._isEndThumb·?·this.value·-·(this.value·-·sibling.value)·/·2·:·this.value·+·(sibling.value·-·this.value)·/·2;\n······const·_percentage·=·this._isEndThumb·?·(this.max·-·midValue)·/·(this._slider.max·-·this._slider.min)·:·(midValue·-·this.min)·/·(this._slider.max·-·this._slider.min);\n······const·percentage·=·this._slider.min·<·this._slider.max·?·_percentage·:·1;\n······//·Extend·the·native·input·width·by·the·radius·of·the·ripple\n······let·ripplePadding·=·this._slider._rippleRadius;\n······//·If·one·of·the·inputs·is·maximally·sized·(the·value·of·both·thumbs·is\n······//·equal·to·the·min·or·max),·make·that·input·take·up·all·of·the·width·and\n······//·make·the·other·unselectable.\n······if·(percentage·===·1)·{\n········ripplePadding·=·48;\n······}·else·if·(percentage·===·0)·{\n········ripplePadding·=·0;\n······}\n······const·width·=·maxWidth·*·percentage·+·ripplePadding;\n······this._hostElement.style.width·=·`${width}px`;\n······this._hostElement.style.padding·=·'0px';\n······if·(this._isLeftThumb)·{\n········this._hostElement.style.left·=·`-${this._slider._rippleRadius·-·this._tickMarkOffset}px`;\n········this._hostElement.style.right·=·'auto';\n······}·else·{\n········this._hostElement.style.left·=·'auto';\n········this._hostElement.style.right·=·`-${this._slider._rippleRadius·-·this._tickMarkOffset}px`;\n······}\n····}\n····_updateStaticStyles()·{\n······this._hostElement.classList.toggle('mat-slider__right-input',·!this._isLeftThumb);\n····}\n····_updateSibling()·{\n······const·sibling·=·this.getSibling();\n······if·(!sibling)·{\n········return;\n······}\n······sibling._updateMinMax();\n······if·(this._isActive)·{\n········sibling._updateWidthActive();\n······}·else·{\n········sibling._updateWidthInactive();\n······}\n····}\n····/**\n·····*·Sets·the·input's·value.\n·····*·@param·value·The·new·value·of·the·input\n·····*·@docs-private\n·····*/\n····writeValue(value)·{\n······if·(this._isControlInitialized·||·value·!==·null)·{\n········this.value·=·value;\n········this._updateWidthInactive();\n········this._updateSibling();\n······}\n····}\n····_setValue(value)·{\n······super._setValue(value);\n······this._updateWidthInactive();\n······this._updateSibling();\n····}\n····static·\u0275fac·=·function·MatSliderRangeThumb_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSliderRangeThumb)();\n····};\n····static·\u0275dir·=·/*·@__PURE__·*/i0.\u0275\u0275defineDirective({\n······type:·MatSliderRangeThumb,\n······selectors:·[[\"input\",·\"matSliderStartThumb\",·\"\"],·[\"input\",·\"matSliderEndThumb\",·\"\"]],\n······exportAs:·[\"matSliderRangeThumb\"],\n······features:·[i0.\u0275\u0275ProvidersFeature([MAT_SLIDER_RANGE_THUMB_VALUE_ACCESSOR,·{\n········provide:·MAT_SLIDER_RANGE_THUMB,\n········useExisting:·MatSliderRangeThumb\n······}]),·i0.\u0275\u0275InheritDefinitionFeature]\n····});\n··}\n··return·MatSliderRangeThumb;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nlet·MatSliderModule·=·/*#__PURE__*/(()·=>·{\n··class·MatSliderModule·{\n····static·\u0275fac·=·function·MatSliderModule_Factory(__ngFactoryType__)·{\n······return·new·(__ngFactoryType__·||·MatSliderModule)();\n····};\n····static·\u0275mod·=·/*·@__PURE__·*/i0.\u0275\u0275defineNgModule({\n······type:·MatSliderModule\n····});\n····static·\u0275inj·=·/*·@__PURE__·*/i0.\u0275\u0275defineInjector({\n······imports:·[MatCommonModule,·MatRippleModule]\n····});\n··}\n··return·MatSliderModule;\n})();\n/*#__PURE__*/(()·=>·{\n··(typeof·ngDevMode·===·\"undefined\"·||·ngDevMode)·&&·void·0;\n})();\nexport·{·MatSlider,·MatSliderChange,·MatSliderModule,·MatSliderRangeThumb,·MatSliderThumb,·MatSliderVisualThumb·};\n",
4087 ········"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",4087 ········"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",
4088 ········"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",4088 ········"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",
4089 ········"<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",4089 ········"<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",
4090 ········"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",4090 ········"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",
4091 ········"@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",4091 ········"@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",
4092 ········"//·This·file·is·auto-generated·by·tools/load-env.js\n//·Do·not·modify·directly·-·edit·.env·file·instead\n//·Generated·at:·2025-08-19T06:20:05.379Z\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",4092 ········"//·This·file·is·auto-generated·by·tools/load-env.js\n//·Do·not·modify·directly·-·edit·.env·file·instead\n//·Generated·at:·2025-08-22T09:41:45.989Z\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",
4093 ········"/**\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",4093 ········"/**\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",
4094 ········"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",4094 ········"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",
4095 ········"export·const·IS_MAC·=·navigator.platform.toUpperCase().indexOf('MAC')·>=·0;\n",4095 ········"export·const·IS_MAC·=·navigator.platform.toUpperCase().indexOf('MAC')·>=·0;\n",
4096 ········"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·=·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",4096 ········"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·=·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",
4097 ········"export·const·IS_FIREFOX·=·navigator.userAgent.toLowerCase().indexOf('firefox')·>·-1;\n",4097 ········"export·const·IS_FIREFOX·=·navigator.userAgent.toLowerCase().indexOf('firefox')·>·-1;\n",
4098 ········"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",4098 ········"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",
4099 ········"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';\n\nexport·type·DarkModeCfg·=·'dark'·|·'light'·|·'system';\n\n@Injectable({·providedIn:·'root'·})\nexport·class·GlobalThemeService·{\n··private·document·=·inject<Document>(DOCUMENT);\n··private·_materialCssVarsService·=·inject(MaterialCssVarsService);\n··private·_workContextService·=·inject(WorkContextService);\n··private·_globalConfigService·=·inject(GlobalConfigService);\n··private·_matIconRegistry·=·inject(MatIconRegistry);\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._setBackgroundGradient(true);\n····this._initIcons();\n····this._initHandlersForInitialBodyClasses();\n····this._initThemeWatchers();\n\n····//·Set·up·dark·mode·persistence·effect\n····effect(\n······()·=>·{\n········const·darkMode·=·this.darkMode();\n········localStorage.setItem(LS.DARK_MODE,·darkMode);\n······},\n······{·allowSignalWrites:·false·},\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._setBackgroundGradient(!!theme.isDisableBackgroundGradient);\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·_setBackgroundGradient(isDisableBackgroundGradient:·boolean):·void·{\n····if·(isDisableBackgroundGradient)·{\n······this.document.body.classList.add(BodyClass.isDisableBackgroundGradient);\n······this.document.body.classList.remove(BodyClass.isEnabledBackgroundGradient);\n····}·else·{\n······this.document.body.classList.add(BodyClass.isEnabledBackgroundGradient);\n······this.document.body.classList.remove(BodyClass.isDisableBackgroundGradient);\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··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····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",4099 ········"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';\n\nexport·type·DarkModeCfg·=·'dark'·|·'light'·|·'system';\n\n@Injectable({·providedIn:·'root'·})\nexport·class·GlobalThemeService·{\n··private·document·=·inject<Document>(DOCUMENT);\n··private·_materialCssVarsService·=·inject(MaterialCssVarsService);\n··private·_workContextService·=·inject(WorkContextService);\n··private·_globalConfigService·=·inject(GlobalConfigService);\n··private·_matIconRegistry·=·inject(MatIconRegistry);\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._setBackgroundGradient(true);\n····this._initIcons();\n····this._initHandlersForInitialBodyClasses();\n····this._initThemeWatchers();\n\n····//·Set·up·dark·mode·persistence·effect\n····effect(\n······()·=>·{\n········const·darkMode·=·this.darkMode();\n········localStorage.setItem(LS.DARK_MODE,·darkMode);\n······},\n······{·allowSignalWrites:·false·},\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._setBackgroundGradient(!!theme.isDisableBackgroundGradient);\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·_setBackgroundGradient(isDisableBackgroundGradient:·boolean):·void·{\n····if·(isDisableBackgroundGradient)·{\n······this.document.body.classList.add(BodyClass.isDisableBackgroundGradient);\n······this.document.body.classList.remove(BodyClass.isEnabledBackgroundGradient);\n····}·else·{\n······this.document.body.classList.add(BodyClass.isEnabledBackgroundGradient);\n······this.document.body.classList.remove(BodyClass.isDisableBackgroundGradient);\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··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····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",
920 B
assets/public/chunk-OITMHVU6.js vs.
assets/public/chunk-5TDSJN67.js
Files 13% 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-QIY3ATD7.js";4 }·from·"./chunk-FZ6Z4X5W.js";
5 import·"./chunk-7JUHICSP.js";5 import·"./chunk-H5C5NXL7.js";
6 import·"./chunk-TU5ZIYGM.js";6 import·"./chunk-TU5ZIYGM.js";
7 import·"./chunk-GWKOR6NW.js";7 import·"./chunk-OTRGDQRH.js";
8 import·"./chunk-CW5T6SPQ.js";8 import·"./chunk-2XB3YG6S.js";
9 import·"./chunk-SEPU4IXF.js";9 import·"./chunk-SEPU4IXF.js";
10 import·"./chunk-B55LM2KC.js";10 import·"./chunk-B55LM2KC.js";
11 import·"./chunk-VXMKIRI2.js";11 import·"./chunk-VXMKIRI2.js";
12 import·"./chunk-OWECU7R2.js";12 import·"./chunk-OWECU7R2.js";
13 import·"./chunk-3VFKDWJ2.js";13 import·"./chunk-3VFKDWJ2.js";
14 import·"./chunk-JPHHIOXD.js";14 import·"./chunk-JPHHIOXD.js";
15 import·"./chunk-JDOMNCB7.js";15 import·"./chunk-JDOMNCB7.js";
Offset 34, 8 lines modifiedOffset 34, 8 lines modified
34 import·"./chunk-OXDOKNTF.js";34 import·"./chunk-OXDOKNTF.js";
35 import·"./chunk-PEJGMLLQ.js";35 import·"./chunk-PEJGMLLQ.js";
36 import·"./chunk-2NYJ54WT.js";36 import·"./chunk-2NYJ54WT.js";
37 b();37 b();
38 export·{38 export·{
39 ····a·as·PluginIndexComponent39 ····a·as·PluginIndexComponent
40 };40 };
41 //#·sourceMappingURL=chunk-OITMHVU6.js.map41 //#·sourceMappingURL=chunk-5TDSJN67.js.map
1.39 KB
assets/public/chunk-WBRMXYTW.js vs.
assets/public/chunk-OPG5DMMF.js
Files 0% similar despite different names
1.29 KB
js-beautify {}
    
Offset 11, 28 lines modifiedOffset 11, 28 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-CDTG5YKL.js";18 }·from·"./chunk-6KMYC34R.js";
19 import·{19 import·{
20 ····a·as·X,20 ····a·as·X,
21 ····b·as·st21 ····b·as·st
22 }·from·"./chunk-3UB54IM4.js";22 }·from·"./chunk-3UB54IM4.js";
23 import·{23 import·{
24 ····a·as·qt,24 ····a·as·qt,
25 ····b·as·Nn,25 ····b·as·Nn,
26 ····c·as·zt,26 ····c·as·zt,
27 ····d·as·Pn,27 ····d·as·Pn,
28 ····e·as·Rn,28 ····e·as·Rn,
29 ····f·as·jt,29 ····f·as·jt,
30 ····g·as·kn30 ····g·as·kn
31 }·from·"./chunk-7JUHICSP.js";31 }·from·"./chunk-H5C5NXL7.js";
32 import·{32 import·{
33 ····a·as·Qt,33 ····a·as·Qt,
34 ····b·as·ei,34 ····b·as·ei,
35 ····c·as·ti,35 ····c·as·ti,
36 ····d·as·ii,36 ····d·as·ii,
37 ····e·as·ni,37 ····e·as·ni,
38 ····f·as·oi,38 ····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-GWKOR6NW.js";57 }·from·"./chunk-OTRGDQRH.js";
58 import·{58 import·{
59 ····A·as·Bt,59 ····A·as·Bt,
60 ····B·as·Kt,60 ····B·as·Kt,
61 ····C·as·In,61 ····C·as·In,
62 ····H·as·wt,62 ····H·as·wt,
63 ····I·as·hn,63 ····I·as·hn,
64 ····L·as·Yt,64 ····L·as·Yt,
Offset 68, 15 lines modifiedOffset 68, 15 lines modified
68 ····o·as·Pt,68 ····o·as·Pt,
69 ····p·as·On,69 ····p·as·On,
70 ····s·as·kt,70 ····s·as·kt,
71 ····t·as·xt,71 ····t·as·xt,
72 ····v·as·Sn,72 ····v·as·Sn,
73 ····y·as·Lt,73 ····y·as·Lt,
74 ····z·as·Ut74 ····z·as·Ut
75 }·from·"./chunk-CW5T6SPQ.js";75 }·from·"./chunk-2XB3YG6S.js";
76 import·"./chunk-SEPU4IXF.js";76 import·"./chunk-SEPU4IXF.js";
77 import·"./chunk-B55LM2KC.js";77 import·"./chunk-B55LM2KC.js";
78 import·{78 import·{
79 ····U·as·vt,79 ····U·as·vt,
80 ····X·as·Gt,80 ····X·as·Gt,
81 ····aa·as·Tn81 ····aa·as·Tn
82 }·from·"./chunk-VXMKIRI2.js";82 }·from·"./chunk-VXMKIRI2.js";
Offset 2571, 8 lines modifiedOffset 2571, 8 lines modified
2571 ········return·i2571 ········return·i
2572 ····})()2572 ····})()
2573 });2573 });
2574 go();2574 go();
2575 export·{2575 export·{
2576 ····Pl·as·ConfigPageComponent2576 ····Pl·as·ConfigPageComponent
2577 };2577 };
2578 //#·sourceMappingURL=chunk-WBRMXYTW.js.map2578 //#·sourceMappingURL=chunk-OPG5DMMF.js.map
109 B
assets/public/chunk-GWKOR6NW.js.map vs.
assets/public/chunk-OTRGDQRH.js.map
Files identical despite different names
653 B
assets/public/chunk-CW5T6SPQ.js vs.
assets/public/chunk-2XB3YG6S.js
Files 0% similar despite different names
551 B
js-beautify {}
    
Offset 8185, 8 lines modifiedOffset 8185, 8 lines modified
8185 ········}8185 ········}
8186 ········return·r8186 ········return·r
8187 ····})()8187 ····})()
8188 });8188 });
8189 export·{8189 export·{
8190 ····de·as·a,·Ma·as·b,·It·as·c,·Li·as·d,·ho·as·e,·Fl·as·f,·ct·as·g,·Ea·as·h,·Wr·as·i,·Fa·as·j,·Vd·as·k,·Cs·as·l,·Ud·as·m,·ws·as·n,·Ts·as·o,·Is·as·p,·$s·as·q,·Ys·as·r,·Js·as·s,·co·as·t,·el·as·u,·mo·as·v,·Ep·as·w,·Ga·as·x,·gl·as·y,·bl·as·z,·yl·as·A,·vl·as·B,·kl·as·C,·xl·as·D,·wl·as·E,·Il·as·F,·Ml·as·G,·Sr·as·H,·uo·as·I,·Bl·as·J,·Ul·as·K,·ql·as·L,·jl·as·M8190 ····de·as·a,·Ma·as·b,·It·as·c,·Li·as·d,·ho·as·e,·Fl·as·f,·ct·as·g,·Ea·as·h,·Wr·as·i,·Fa·as·j,·Vd·as·k,·Cs·as·l,·Ud·as·m,·ws·as·n,·Ts·as·o,·Is·as·p,·$s·as·q,·Ys·as·r,·Js·as·s,·co·as·t,·el·as·u,·mo·as·v,·Ep·as·w,·Ga·as·x,·gl·as·y,·bl·as·z,·yl·as·A,·vl·as·B,·kl·as·C,·xl·as·D,·wl·as·E,·Il·as·F,·Ml·as·G,·Sr·as·H,·uo·as·I,·Bl·as·J,·Ul·as·K,·ql·as·L,·jl·as·M
8191 };8191 };
8192 //#·sourceMappingURL=chunk-CW5T6SPQ.js.map8192 //#·sourceMappingURL=chunk-2XB3YG6S.js.map
109 B
assets/public/chunk-CDTG5YKL.js.map vs.
assets/public/chunk-6KMYC34R.js.map
Files identical despite different names
869 B
assets/public/chunk-CDTG5YKL.js vs.
assets/public/chunk-6KMYC34R.js
Files 3% similar despite different names
767 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-7JUHICSP.js";4 }·from·"./chunk-H5C5NXL7.js";
5 import·{5 import·{
6 ····a·as·L,6 ····a·as·L,
7 ····b·as·$7 ····b·as·$
8 }·from·"./chunk-CW5T6SPQ.js";8 }·from·"./chunk-2XB3YG6S.js";
9 import·{9 import·{
10 ····b·as·F,10 ····b·as·F,
11 ····d·as·W11 ····d·as·W
12 }·from·"./chunk-4RZOEXF7.js";12 }·from·"./chunk-4RZOEXF7.js";
13 import·{13 import·{
14 ····Ab·as·C,14 ····Ab·as·C,
15 ····Cb·as·_,15 ····Cb·as·_,
Offset 158, 8 lines modifiedOffset 158, 8 lines modified
158 ········let·t·=·new·SpeechSynthesisUtterance;158 ········let·t·=·new·SpeechSynthesisUtterance;
159 ········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)159 ········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)
160 ····}160 ····}
161 });161 });
162 export·{162 export·{
163 ····oe·as·a,·J·as·b,·re·as·c,·K·as·d,·Ie·as·e,·ee·as·f,·ve·as·g,·Z·as·h163 ····oe·as·a,·J·as·b,·re·as·c,·K·as·d,·Ie·as·e,·ee·as·f,·ve·as·g,·Z·as·h
164 };164 };
165 //#·sourceMappingURL=chunk-CDTG5YKL.js.map165 //#·sourceMappingURL=chunk-6KMYC34R.js.map
109 B
assets/public/chunk-QIY3ATD7.js.map vs.
assets/public/chunk-FZ6Z4X5W.js.map
Files identical despite different names
5.35 KB
assets/public/main-M2FPRGPY.js vs.
assets/public/main-VSFTNGRN.js
Files 0% similar despite different names
5.25 KB
js-beautify {}
    
Offset 50, 15 lines modifiedOffset 50, 15 lines modified
50 import·{50 import·{
51 ····b·as·eS,51 ····b·as·eS,
52 ····c·as·LM52 ····c·as·LM
53 }·from·"./chunk-7MCI5DGR.js";53 }·from·"./chunk-7MCI5DGR.js";
54 import·{54 import·{
55 ····a·as·tS,55 ····a·as·tS,
56 ····b·as·BM56 ····b·as·BM
57 }·from·"./chunk-QIY3ATD7.js";57 }·from·"./chunk-FZ6Z4X5W.js";
58 import·{58 import·{
59 ····a·as·iS,59 ····a·as·iS,
60 ····b·as·$M,60 ····b·as·$M,
61 ····c·as·nS,61 ····c·as·nS,
62 ····d·as·jM62 ····d·as·jM
63 }·from·"./chunk-TJBNMRDA.js";63 }·from·"./chunk-TJBNMRDA.js";
64 import·{64 import·{
Offset 66, 23 lines modifiedOffset 66, 23 lines modified
66 ····b·as·cw,66 ····b·as·cw,
67 ····c·as·nC,67 ····c·as·nC,
68 ····d·as·cM,68 ····d·as·cM,
69 ····e·as·aC,69 ····e·as·aC,
70 ····f·as·pM,70 ····f·as·pM,
71 ····g·as·bs,71 ····g·as·bs,
72 ····h·as·Lm72 ····h·as·Lm
73 }·from·"./chunk-CDTG5YKL.js";73 }·from·"./chunk-6KMYC34R.js";
74 import·{74 import·{
75 ····a·as·Ll,75 ····a·as·Ll,
76 ····b·as·z076 ····b·as·z0
77 }·from·"./chunk-3UB54IM4.js";77 }·from·"./chunk-3UB54IM4.js";
78 import·{78 import·{
79 ····f·as·Rr,79 ····f·as·Rr,
80 ····g·as·Sd80 ····g·as·Sd
81 }·from·"./chunk-7JUHICSP.js";81 }·from·"./chunk-H5C5NXL7.js";
82 import·{82 import·{
83 ····a·as·rC,83 ····a·as·rC,
84 ····b·as·dM84 ····b·as·dM
85 }·from·"./chunk-2MOZFEFW.js";85 }·from·"./chunk-2MOZFEFW.js";
86 import·{86 import·{
87 ····a·as·yd,87 ····a·as·yd,
88 ····b·as·$C,88 ····b·as·$C,
Offset 293, 15 lines modifiedOffset 293, 15 lines modified
293 ····h·as·Ao293 ····h·as·Ao
294 }·from·"./chunk-W3EHXDVY.js";294 }·from·"./chunk-W3EHXDVY.js";
295 import·{295 import·{
296 ····a·as·Tn,296 ····a·as·Tn,
297 ····b·as·gM,297 ····b·as·gM,
298 ····k·as·Do,298 ····k·as·Do,
299 ····l·as·Ec299 ····l·as·Ec
300 }·from·"./chunk-GWKOR6NW.js";300 }·from·"./chunk-OTRGDQRH.js";
301 import·{301 import·{
302 ····B·as·Fm,302 ····B·as·Fm,
303 ····C·as·nM,303 ····C·as·nM,
304 ····D·as·Zv,304 ····D·as·Zv,
305 ····E·as·oM,305 ····E·as·oM,
306 ····F·as·eC,306 ····F·as·eC,
307 ····G·as·rM,307 ····G·as·rM,
Offset 321, 15 lines modifiedOffset 321, 15 lines modified
321 ····r·as·Dm,321 ····r·as·Dm,
322 ····s·as·Cd,322 ····s·as·Cd,
323 ····t·as·Qv,323 ····t·as·Qv,
324 ····u·as·Xv,324 ····u·as·Xv,
325 ····v·as·Am,325 ····v·as·Am,
326 ····w·as·Rm,326 ····w·as·Rm,
327 ····x·as·iM327 ····x·as·iM
328 }·from·"./chunk-CW5T6SPQ.js";328 }·from·"./chunk-2XB3YG6S.js";
329 import·{329 import·{
330 ····a·as·So,330 ····a·as·So,
331 ····b·as·hc,331 ····b·as·hc,
332 ····c·as·Ar,332 ····c·as·Ar,
333 ····d·as·cd333 ····d·as·cd
334 }·from·"./chunk-SEPU4IXF.js";334 }·from·"./chunk-SEPU4IXF.js";
335 import·{335 import·{
Offset 13023, 15 lines modifiedOffset 13023, 15 lines modified
13023 var·X1,·Z1·=·D(()·=>·{13023 var·X1,·Z1·=·D(()·=>·{
13024 ····"use·strict";13024 ····"use·strict";
13025 ····J1();13025 ····J1();
13026 ····po();13026 ····po();
13027 ····Q1();13027 ····Q1();
13028 ····X1·=·[{13028 ····X1·=·[{
13029 ········path:·"config",13029 ········path:·"config",
13030 ········loadComponent:·()·=>·import("./chunk-WBRMXYTW.js").then(i·=>·i.ConfigPageComponent),13030 ········loadComponent:·()·=>·import("./chunk-OPG5DMMF.js").then(i·=>·i.ConfigPageComponent),
13031 ········data:·{13031 ········data:·{
13032 ············page:·"config"13032 ············page:·"config"
13033 ········},13033 ········},
13034 ········canActivate:·[Pt]13034 ········canActivate:·[Pt]
13035 ····},·{13035 ····},·{
13036 ········path:·"search",13036 ········path:·"search",
13037 ········loadComponent:·()·=>·import("./chunk-JKZKHAFX.js").then(i·=>·i.SearchPageComponent),13037 ········loadComponent:·()·=>·import("./chunk-JKZKHAFX.js").then(i·=>·i.SearchPageComponent),
Offset 13093, 22 lines modifiedOffset 13093, 22 lines modified
13093 ········loadComponent:·()·=>·import("./chunk-RBIRYWTS.js").then(i·=>·i.QuickHistoryComponent),13093 ········loadComponent:·()·=>·import("./chunk-RBIRYWTS.js").then(i·=>·i.QuickHistoryComponent),
13094 ········data:·{13094 ········data:·{
13095 ············page:·"quick-history"13095 ············page:·"quick-history"
13096 ········},13096 ········},
13097 ········canActivate:·[Ur,·Pt]13097 ········canActivate:·[Ur,·Pt]
13098 ····},·{13098 ····},·{
13099 ········path:·"tag/:id/daily-summary",13099 ········path:·"tag/:id/daily-summary",
13100 ········loadComponent:·()·=>·import("./chunk-MRWZZVPU.js").then(i·=>·i.DailySummaryComponent),13100 ········loadComponent:·()·=>·import("./chunk-X5SIPZ47.js").then(i·=>·i.DailySummaryComponent),
13101 ········data:·{13101 ········data:·{
13102 ············page:·"daily-summary"13102 ············page:·"daily-summary"
13103 ········},13103 ········},
13104 ········canActivate:·[Ur,·Pt]13104 ········canActivate:·[Ur,·Pt]
13105 ····},·{13105 ····},·{
13106 ········path:·"tag/:id/daily-summary/:dayStr",13106 ········path:·"tag/:id/daily-summary/:dayStr",
13107 ········loadComponent:·()·=>·import("./chunk-MRWZZVPU.js").then(i·=>·i.DailySummaryComponent),13107 ········loadComponent:·()·=>·import("./chunk-X5SIPZ47.js").then(i·=>·i.DailySummaryComponent),
13108 ········data:·{13108 ········data:·{
13109 ············page:·"daily-summary"13109 ············page:·"daily-summary"
13110 ········},13110 ········},
13111 ········canActivate:·[Ur,·Pt]13111 ········canActivate:·[Ur,·Pt]
13112 ····},·{13112 ····},·{
13113 ········path:·"tag/:id/metrics",13113 ········path:·"tag/:id/metrics",
13114 ········loadComponent:·()·=>·import("./chunk-G6HECC4Q.js").then(i·=>·i.MetricPageComponent),13114 ········loadComponent:·()·=>·import("./chunk-G6HECC4Q.js").then(i·=>·i.MetricPageComponent),
Offset 13149, 41 lines modifiedOffset 13149, 41 lines modified
13149 ········loadComponent:·()·=>·import("./chunk-G6HECC4Q.js").then(i·=>·i.MetricPageComponent),13149 ········loadComponent:·()·=>·import("./chunk-G6HECC4Q.js").then(i·=>·i.MetricPageComponent),
13150 ········data:·{13150 ········data:·{
13151 ············page:·"metrics"13151 ············page:·"metrics"
13152 ········},13152 ········},
13153 ········canActivate:·[Wr,·Pt]13153 ········canActivate:·[Wr,·Pt]
13154 ····},·{13154 ····},·{
13155 ········path:·"project/:id/daily-summary",13155 ········path:·"project/:id/daily-summary",
13156 ········loadComponent:·()·=>·import("./chunk-MRWZZVPU.js").then(i·=>·i.DailySummaryComponent),13156 ········loadComponent:·()·=>·import("./chunk-X5SIPZ47.js").then(i·=>·i.DailySummaryComponent),
13157 ········data:·{13157 ········data:·{
13158 ············page:·"daily-summary"13158 ············page:·"daily-summary"
13159 ········},13159 ········},
13160 ········canActivate:·[Wr,·Pt]13160 ········canActivate:·[Wr,·Pt]
13161 ····},·{13161 ····},·{
13162 ········path:·"project/:id/daily-summary/:dayStr",13162 ········path:·"project/:id/daily-summary/:dayStr",
13163 ········loadComponent:·()·=>·import("./chunk-MRWZZVPU.js").then(i·=>·i.DailySummaryComponent),13163 ········loadComponent:·()·=>·import("./chunk-X5SIPZ47.js").then(i·=>·i.DailySummaryComponent),
13164 ········data:·{13164 ········data:·{
Max diff block lines reached; 1597/5350 bytes (29.85%) of diff not shown.
109 B
assets/public/chunk-MRWZZVPU.js.map vs.
assets/public/chunk-X5SIPZ47.js.map
Files identical despite different names
107 B
assets/public/main-M2FPRGPY.js.map vs.
assets/public/main-VSFTNGRN.js.map
Files identical despite different names
109 B
assets/public/chunk-7JUHICSP.js.map vs.
assets/public/chunk-H5C5NXL7.js.map
Files identical despite different names