hyb
2025-11-18 7539e6f48c75dcaeb808359cccfd1c0d0d182ce8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
Ë
nñúh©ãóø—ddlmZddlZddlZddlmZmZmZddlZddlm    Z    m
Z
m Z ddl Z ddl mZddlmZmZmZddlmZddlmZddlZddlmZddlmZmZdd    l m!Z!m"Z"dd
l#m$Z$m%Z%dd l&m'Z'm(Z(m)Z)m*Z*m+Z+dd l,m-Z-m.Z.m/Z/ddl0m1cm2Z3dd l4m5Z5ddl6m7Z7m8Z8m9Z9ddl:m1cm;cm<Z;e    rddl=m>Z>ddl?m@Z@ddlAmBZBiZCd„ZDd9d„ZEejŒd:d„«ZGd;d„ZHd;d„ZId<d„ZJd„ZKGd„dej˜«ZMGd„de«ZNGd„dejž«ZPd„ZQGd „d!ejž«ZRGd"„d#ej¦«ZTGd$„d%ejª«ZVGd&„d'ej®«ZXd=d>d(„ZYd?d)„ZZd@d*„Z[dAd+„Z\dBd,„Z]dCd-„Z^ej¾dDd.„«Z`ej¾dDd/„«Zaej¾dDd0„«Zbej¾dDd1„«ZcdEd2„ZdGd3„d4e«ZeGd5„d6e«ZfGd7„d8e«Zgy)Fé)Ú annotationsN)ÚdatetimeÚ    timedeltaÚtzinfo)Ú TYPE_CHECKINGÚAnyÚcast)Ú AutoLocatorÚ    FormatterÚLocator)Ú nonsingular)Úlib)Ú    TimestampÚ    to_offset)Ú    FreqGroupÚperiods_per_day)ÚFÚnpt)Úis_floatÚis_float_dtypeÚ
is_integerÚis_integer_dtypeÚis_nested_list_like)ÚIndexÚSeriesÚ
get_option)Ú
date_range)ÚPeriodÚ PeriodIndexÚ period_range)Ú    Generator)ÚAxis)Ú
BaseOffsetcóޗttfttftj
tftj tftjtftjtfg}|S©N) rÚDatetimeConverterrÚPeriodConverterÚpydtrÚdateÚtimeÚ TimeConverterÚnpÚ
datetime64)Úpairss úXH:\Change_password\venv_build\Lib\site-packages\pandas/plotting/_matplotlib/converter.pyÚ    get_pairsr0KsT€ä    Ô%Ð&Ü    ”Ð!Ü     ‰Ô)Ð*Ü     ‰Ô%Ð&Ü     ‰”MÐ"Ü     ‰Ô)Ð*ð  €Eð €Lócó^‡—tj‰«ˆfd„«}tt|«S)z/
    Decorator applying pandas_converters.
    cóT•—t«5‰|i|¤Žcddd«S#1swYyxYwr%)Úpandas_converters)ÚargsÚkwargsÚfuncs  €r/Úwrapperz6register_pandas_matplotlib_converters.<locals>.wrapper\s+ø€ä Ó  ñ    )Ù˜Ð( Ñ(÷    )÷    )ò    )úsŒž')Ú    functoolsÚwrapsr    r)r7r8s` r/Ú%register_pandas_matplotlib_convertersr;Ws/ø€ô
‡__TÓó)óð)ô ”7Ó Ðr1c#óŽK—td«}|r
t«    d–—|dk(r t«yy#|dk(r t«wwxYw­w)z¨
    Context manager registering pandas' converters for a plot.
 
    See Also
    --------
    register_pandas_matplotlib_converters : Decorator that applies this.
    z'plotting.matplotlib.register_convertersNÚauto)rÚregisterÚ
deregister)Úvalues r/r4r4dsEèø€ô Ð@Ó A€Eá äŒ
ðÛ à FŠ?ä Lð øˆ5FŠ?ä Lð üs‚A›0ŸA°AÁAcóò—t«}|D]h\}}|tjvr9ttj||«stj|}|t|<|«tj|<Œjyr%)r0ÚmunitsÚregistryÚ
isinstanceÚ
_mpl_units)r.Útype_ÚclsÚpreviouss    r/r>r>zsb€Ü ‹K€EØò'‰
ˆˆsà ”F—O‘OÑ #¬J´v·±ÀuÑ7MÈsÔ,SÜ—‘ uÑ-ˆHØ (ŒJuÑ á!$£Œ‰˜Òñ 'r1cóT—t«D]O\}}ttjj    |««|usŒ1tjj |«ŒQt j«D]5\}}t|«ttthvsŒ#|tj|<Œ7yr%) r0ÚtyperBrCÚgetÚpoprEÚitemsr&r'r+)rFrGÚunitÚ    formatters    r/r?r?…s…€ä“kò'‰
ˆˆsä ”—‘×#Ñ# EÓ*Ó +¨sÒ 2Ü O‰O× Ñ  Õ &ð'ô &×+Ñ+Ó-ò.‰ˆˆiÜ     ‹?Ô#4´oÄ}Ð"UÒ Uà$-ŒFO‰O˜DÒ !ñ.r1có~—|jdz|jdzz|jz|jdz z}|S)Nié<é@B)ÚhourÚminuteÚsecondÚ microsecond)ÚtmÚtot_secs  r/Ú _to_ordinalfrY“s8€Øg‰g˜‰n˜rŸy™y¨2™~Ñ-°·    ±    Ñ9¸B¿N¹NÈUÑ<RÑR€GØ €Nr1có¸—t|t«r$t|«}t|j    ««St|t
j«r t|«S|Sr%)rDÚstrrrYr*r()ÚdÚparseds  r/Útime2numr^˜sC€Ü!”SÔܘ1“ˆÜ˜FŸK™K›MÓ*Ð*ܐ!”T—Y‘YÔܘA‹ÐØ €Hr1có@—eZdZed„«Zedd„«Zedd„«Zy)r+cóf—ttjf}t||«st    |«s t |«r t |«St|t«r|jt «St|tttjtf«r|Dcgc] }t |«‘Œc}S|Scc}wr%) r[r(r*rDrrr^rÚmapÚlistÚtupler,Úndarray)r@rNÚaxisÚ valid_typesÚxs     r/ÚconvertzTimeConverter.convert¢s€€äœDŸI™IÐ&ˆ Ü e˜[Ô )¬Z¸Ô->Ä(È5Ä/ܘE“?Ð "Ü eœUÔ #Ø—9‘9œXÓ&Ð &Ü eœd¤E¬2¯:©:´uÐ=Ô >Ø).Ö/ A”H˜Q•KÒ/Ð /؈ ùò0sÂB.cóh—|dk7ryt«}t|«}tj||d¬«S)Nr*)ÚmajlocÚmajfmtÚlabel)r
Ú TimeFormatterrBÚAxisInfo)rNrerjrks    r/ÚaxisinfozTimeConverter.axisinfo­s0€à 6Š>Øä“ˆÜ˜vÓ&ˆÜ‰ f°VÀ6ÔJÐJr1có—y)Nr*©©rgres  r/Ú default_unitszTimeConverter.default_units¶s€àr1N)Úreturnzmunits.AxisInfo | None)rtr[)Ú__name__Ú
__module__Ú __qualname__Ú staticmethodrhrorsrqr1r/r+r+¡s>„ØñóððòKóðKðòóñr1r+có—eZdZdd„Zddd„Zy)rmcó—||_yr%)Úlocs)Úselfr{s  r/Ú__init__zTimeFormatter.__init__½s    €Øˆ    r1có—d}t|«}t||z
dz«}|dz}|dz}t|d«\}}t|d«\}    }t|    d«\}
}    |dk7r'tj|    |||«j |«S|dk7r*tj|    |||«j |«ddS|dk7r&tj|    ||«j d    «Stj|    |«j d
«S) a¾
        Return the time of day as a formatted string.
 
        Parameters
        ----------
        x : float
            The time of day specified as seconds since 00:00 (midnight),
            with up to microsecond precision.
        pos
            Unused
 
        Returns
        -------
        str
            A string in HH:MM:SS.mmmuuu format. Microseconds,
            milliseconds and seconds are only displayed if non-zero.
        z %H:%M:%S.%frRéèrQérNéýÿÿÿú%H:%M:%Sú%H:%M)ÚintÚroundÚdivmodr(r*Ústrftime) r|rgÚposÚfmtÚsÚmsusÚmsÚusÚmÚhÚ_s            r/Ú__call__zTimeFormatter.__call__Àsø€ð$ˆÜ ‹FˆÜa˜!‘e˜u‘_Ó%ˆØ T‰\ˆØ D‰[ˆÜa˜‹}‰ˆˆ1ܐa˜‹}‰ˆˆ1ܐa˜‹}‰ˆˆ1Ø Š7Ü—9‘9˜Q  1 dÓ+×4Ñ4°SÓ9Ð 9Ø 1ŠWÜ—9‘9˜Q  1 dÓ+×4Ñ4°SÓ9¸#¸2Ð>Ð >Ø !ŠVÜ—9‘9˜Q  1Ó%×.Ñ.¨zÓ:Ð :äy‰y˜˜A‹×'Ñ'¨Ó0Ð0r1N©rtÚNone©r©rˆz
int | Nonertr[)rurvrwr}r‘rqr1r/rmrm¼s „óõ!1r1rmcó,—eZdZed„«Zed„«Zy)r'có —t|«r&|Dcgc]}tj|||«‘Œ}}|Stj|||«}|Scc}wr%)rr'Ú _convert_1d)ÚvaluesÚunitsreÚvs    r/rhzPeriodConverter.convertèsT€ä ˜vÔ &ØKQÖRÀa”o×1Ñ1°!°U¸DÕAÐRˆFÐRðˆ ô%×0Ñ0°¸ÀÓEˆF؈ ùòSóA có‡—t‰d«s td«‚tttt
j t
jtjf}tj«5tjddt¬«tjddt¬«t||«st|«s t!|«rt#|‰j$«cddd«St|t&«r.|j)‰j$«j*cddd«St|t,«r|j/ˆfd„«cddd«St1j2|d¬    «d
k(r*t'|‰j$¬ «j*cddd«St|t4t6tj8t,f«r-|Dcgc]}t#|‰j$«‘Œc}cddd«S    ddd«|Scc}w#1swY|SxYw) NÚfreqz/Axis must have `freq` set to convert to PeriodsÚignoreú#Period with BDay freq is deprecated©ÚcategoryúPeriodDtype\[B\] is deprecatedcó0•—t|‰j«Sr%)Ú get_datevalueržrrs €r/ú<lambda>z-PeriodConverter._convert_1d.<locals>.<lambda>sø€¬M¸!¸T¿Y¹YÓ,G€r1F)ÚskipnaÚperiod)rž)ÚhasattrÚ    TypeErrorr[rrr(r)r*r,r-ÚwarningsÚcatch_warningsÚfilterwarningsÚ FutureWarningrDrrr¥ržrÚasfreqÚasi8rrarÚ infer_dtyperbrcrd)r™ršrerfrgs  `  r/r˜zPeriodConverter._convert_1dðsœø€ät˜VÔ$ÜÐMÓNÐ NÜœH¤f¬d¯i©i¼¿¹ÄBÇMÁMÐRˆ Ü × $Ñ $Ó &ñ    EÜ × #Ñ #ØÐ?Ì-õ ô × #Ñ #ØÐ;Ämõ ô˜6 ;Ô/ܘfÔ%ܘFÔ#ä$ V¨T¯Y©YÓ7÷    Eñ    Eô˜F¤KÔ0Ø—}‘} T§Y¡YÓ/×4Ñ4÷    Eñ    Eô˜F¤EÔ*Ø—z‘zÓ"GÓH÷!    Eñ    Eô"—‘ °Ô6¸(ÒBô# 6°·    ±    Ô:×?Ñ?÷)    Eñ    Eô*˜F¤T¬5´"·*±*¼eÐ$DÔEØ=CÖD¸œ  a¨¯©Õ3ÒD÷-    Eñ    Eð*F÷+    Eð.ˆ ùòE÷-    Eð.ˆ ús7Á+A0G;Ã%4G;Ä##G;Å:G;Æ.G;ÇG6ÇG;Ç6G;Ç;HN)rurvrwrxrhr˜rqr1r/r'r'çs(„Øñóððñóñr1r'có¼—t|t«r|j|«jSt|tt
t jt jtjf«rt||«jSt|«s:t|«s/t|tjtf«r|jdk(r|S|€yt!d|›d«‚)NézUnrecognizable date 'ú')rDrr¯Úordinalr[rr(r)r*r,r-rrrdrÚsizeÚ
ValueError)r)ržs  r/r¥r¥s£€Ü$œÔ؏{‰{˜4Ó ×(Ñ(Ð(Ü    Dœ3¤¬$¯)©)´T·Y±YÄÇ Á ÐNÔ    Oܐd˜DÓ!×)Ñ)Ð)ä4ÔÜ DŒ>Ü tœbŸj™j¬%Ð0Ô 1°t·y±yÀA²~àˆ Ø     ˆØÜ
Ð,¨T¨F°!Ð4Ó
5Ð5r1có>—eZdZed„«Zed„«Zedd„«Zy)r&có —t|«r&|Dcgc]}tj|||«‘Œ}}|Stj|||«}|Scc}wr%)rr&r˜)r™rNrer›s    r/rhzDatetimeConverter.convert!sW€ô ˜vÔ &ØLRÖSÀqÔ'×3Ñ3°A°t¸TÕBÐSˆFÐSðˆ ô'×2Ñ2°6¸4ÀÓFˆF؈ ùòTrœcóà—d„}t|ttjtj
tj f«rtj|«St|«s t|«r|St|t«r||«St|tttjtt f«r©t|t «r t|«}t|t«r |j"}t|tj«st%j&|«}t)|«s t+|«r|S    t-j.|«}tj|«}|S#t0$rYŒ"wxYw)Ncóv—    tjtj|««S#t$r|cYSwxYwr%)ÚmdatesÚdate2numÚtoolsÚ to_datetimeÚ    Exception)r™s r/Ú    try_parsez0DatetimeConverter._convert_1d.<locals>.try_parse,s5€ð Ü—‘¤u×'8Ñ'8¸Ó'@ÓAÐAøÜò Ø’ ð ús ‚'*ª 8·8)rDrr(r)r,r-r*r¼r½rrr[rbrcrdrrr™ÚcomÚasarray_tuplesaferrr¾r¿rÀ)r™rNrerÁs    r/r˜zDatetimeConverter._convert_1d*s€ò    ô fœx¬¯©´B·M±MÄ4Ç9Á9ÐMÔ NÜ—?‘? 6Ó*Ð *Ü ˜Ô ¤8¨FÔ#3؈MÜ ˜¤Ô $Ù˜VÓ$Ð $Ü ˜¤¤u¬b¯j©j¼%ÄРHÔ Iܘ&¤&Ô)ô˜v›Ü˜&¤%Ô(ØŸ™Ü˜f¤b§j¡jÔ1Ü×.Ñ.¨vÓ6ä Ô'¬>¸&Ô+Aؐ ð Ü×*Ñ*¨6Ó2ô—_‘_ VÓ,ˆFàˆ øô ò Ùð úsÄ5E!Å!    E-Å,E-cóʗ|}t|¬«}t||¬«}tjddd«}tjddd«}t    j
||d||f¬«S)z°
        Return the :class:`~matplotlib.units.AxisInfo` for *unit*.
 
        *unit* is a tzinfo instance or None.
        The *axis* argument is required but not used.
        )ÚtziÐr³iÚÚ)rjrkrlÚdefault_limits)ÚPandasAutoDateLocatorÚPandasAutoDateFormatterr(r)rBrn)rNrerÅrjrkÚdateminÚdatemaxs       r/rozDatetimeConverter.axisinfoNsb€ðˆä&¨"Ô-ˆÜ(¨°BÔ7ˆÜ—)‘)˜D ! QÓ'ˆÜ—)‘)˜D ! QÓ'ˆä‰Ø &°ÀGÈWÐCUô
ð    
r1N)rNú tzinfo | Nonertzmunits.AxisInfo)rurvrwrxrhr˜rorqr1r/r&r& s=„Øñóððñ!óð!ðFò
óñ
r1r&có—eZdZddd„Zy)rÉNcóH—tjj||||«yr%)r¼ÚAutoDateFormatterr})r|ÚlocatorrÅÚ
defaultfmts    r/r}z PandasAutoDateFormatter.__init__cs€Ü× Ñ ×)Ñ)¨$°¸¸ZÕHr1)Nz%Y-%m-%d)rÑr[rtr“)rurvrwr}rqr1r/rÉrÉbs„õIr1rÉcó—eZdZd„Zd„Zy)rÈcóЗ||z
j«}t|«|jkr›d|_t    |j
«}|j |j«|jj|jj«Ž|jj|jj«Ž|Stjj|||«S)z*Pick the best locator based on a distance.éÿÿÿÿ)Ú total_secondsÚabsÚminticksÚ_freqÚMilliSecondLocatorrÅÚset_axisreÚset_view_intervalÚget_view_intervalÚset_data_intervalÚget_data_intervalr¼ÚAutoDateLocatorÚ get_locator)r|ÚdminÚdmaxrXrÐs     r/ràz!PandasAutoDateLocator.get_locatorhs¹€à˜$‘;×-Ñ-Ó/ˆä ˆw‹<˜$Ÿ-™-Ò '؈DŒJÜ(¨¯©Ó1ˆGØ × Ñ ˜TŸY™YÔ 'ð +ˆGL‰L× *Ñ *Ø—‘×,Ñ,Ó.ñ ð +ˆGL‰L× *Ñ *Ø—‘×,Ñ,Ó.ñ ðˆNä×%Ñ%×1Ñ1°$¸¸dÓCÐCr1có@—tj|j«Sr%)rÙÚget_unit_genericrØ©r|s r/Ú    _get_unitzPandasAutoDateLocator._get_unit}s€Ü!×2Ñ2°4·:±:Ó>Ð>r1N)rurvrwràrærqr1r/rÈrÈgs „òDó*?r1rÈcó@—eZdZdZd    d„Zd„Zed„«Zd„Zd„Z    d„Z
y)
rÙg÷LêÚH>cóR—tjj||«d|_y)Ngð?)r¼Ú DateLocatorr}Ú    _interval)r|rÅs  r/r}zMilliSecondLocator.__init__„s€Ü×Ñ×#Ñ# D¨"Ô-؈r1có$—|jd«S)NrÔ)rärås r/ræzMilliSecondLocator._get_unitˆs€Ø×$Ñ$ RÓ(Ð(r1cón—tjj|«}|dkrtjS|S)Nr)r¼Ú RRuleLocatorrärÙÚUNIT)ržrNs  r/räz#MilliSecondLocator.get_unit_generic‹s0€ä×"Ñ"×3Ñ3°DÓ9ˆØ !Š8Ü%×*Ñ*Ð *؈ r1c óF—    |j«\}}tj||f«\}}||z
dzdz}d}dD]}|||dz
zkr    ||_n    d|_Œ||z
|j «|j «zz }||jdzkDr'td|d    ›d
|›d |›d |jdzd    ›d     «‚|j «}|›d}    |jjd«}
|jd¬«} |jd¬«} t| | |    |
¬«jt«}     t| «dkDr&|j!tj| ««}|S    tj||g«}|S#t$rgcYSwxYw#t"$rYŒ5wxYw)Ni€Qré)r³é
é2édéÈiôr³g@@éz)MillisecondLocator estimated to generate r\z  ticks from z to z: exceeds Locator.MAXTICKS* 2 (z) rŒ)r)ÚstartÚendržrÅr)Ú viewlim_to_dtr·r¼r½rêræÚ _get_intervalÚMAXTICKSÚ RuntimeErrorrÅÚtznameÚreplacerÚastypeÚobjectÚlenÚraise_if_exceedsrÀ)r|rárâÚnmaxÚnminÚnumÚmax_millis_ticksÚintervalÚestimateržrÅÚstÚedÚ    all_datesr{Úlimss                r/r‘zMilliSecondLocator.__call__’sӀ𠠠 Ø×+Ñ+Ó-‰JˆD$ô
—_‘_ d¨D \Ó2‰
ˆˆdàd‰{˜eÑ# dÑ*ˆØÐØ2ò    $ˆHؐhÐ"2°QÑ"6Ñ7Ò7Ø!)”Ùà#ˆDNð     $ð˜4‘K D§N¡NÓ$4°t×7IÑ7IÓ7KÑ$KÑLˆà d—m‘m aÑ'Ò 'ÜØ;ؘA,˜l¨4¨&°°T°Fð;ØŸ ™ ¨Ñ)¨!Ð,¨Bð0óð ð ×%Ñ%Ó'ˆØ˜2ˆˆØ W‰W^‰^˜DÓ !ˆØ \‰\ ˆ\Ó &ˆØ \‰\ ˆ\Ó &ˆÜ R¨R°d¸rÔB×IÑIÌ&ÓQˆ    ð    Ü9‹~ Ò!Ø×,Ñ,¬V¯_©_¸YÓ-GÓHØ ð"ô ‰  d˜|Ó,ˆØˆ øôOò    ØŠIð    ûôFò    Ù ð    ús#‚FÄ53FÆ FÆFÆ    F ÆF có—|jSr%)rêrås r/rùz MilliSecondLocator._get_interval¿s €Ø~‰~Ðr1có —|j«\}}tj|«}tj|«}|j||«S)z@
        Set the view limits to include the data range.
        )Ú datalim_to_dtr¼r½r )r|rárâÚvminÚvmaxs     r/Ú    autoscalezMilliSecondLocator.autoscaleÂsE€ð
×'Ñ'Ó)‰
ˆˆd䏉˜tÓ$ˆÜ‰˜tÓ$ˆà×Ñ  dÓ+Ð+r1Nr’) rurvrwrîr}rærxrär‘rùrrqr1r/rÙrفs5„Ø #€Dóò)ðñóðò +òZó
,r1rÙc
óà—t|«}tj|«}t|«|z
}t    d|zd«\}}t    d|zd«\}}t    d|zd«\}}td|z«}|dkrd}t|j
|j |jt|«t|«t|«|«}||j|«}|dkDr|td|z
¬«z }|S)    Nr€r³rQrRrñri6B)Ú microseconds)
r„rÚ fromordinalÚfloatr†ÚyearÚmonthÚdayÚ
astimezoner)    rgrÅÚixÚdtÚ    remainderrSrTrUrVs             r/Ú _from_ordinalrÏsé€Ü     ˆQ‹€BÜ    ×    Ñ    ˜bÓ    !€Bܐa“˜2‘ €IܘR )™^¨QÓ/O€Dˆ)ܘr I™~¨qÓ1Ñ€FˆIܘr I™~¨qÓ1Ñ€FˆIܐi )Ñ+Ó,€KؐRÒØˆ Ü    Ø
‰—‘˜2Ÿ6™6¤3 t£9¬c°&«k¼3¸v»;È ó
€Bð
€~Ø ]‰]˜2Ó ˆàVÒØ
Œi Y°Ñ%<Ô=Ñ=ˆà €Ir1có֗|dkr    d\}}||fS|dkr    d\}}||fS|dkr    d\}}||fS|dkr    d\}}||fS|d    kr    d
\}}||fS|d kr    d \}}||fS|d zdz}|dz|dz}}||fS)zN
    Returns a default spacing between consecutive ticks for annual data.
    é )r³r³é)r³rõrò)r³éró)r!rñrô)r!éiX)rñròrr³rq)ÚnyearsÚ min_spacingÚ maj_spacingÚfactors    r/Ú_get_default_annual_spacingr'ìsî€ð‚{Ø%+Ñ"ˆkð ˜Ð %Ð%ð
"ŠØ%+Ñ"ˆkð ˜Ð %Ð%ð
"ŠØ%+Ñ"ˆkð ˜Ð %Ð%ð
#ŠØ%,Ñ"ˆkð ˜Ð %Ð%ð
#ŠØ%,Ñ"ˆkð ˜Ð %Ð%ð
#ŠØ%-Ñ"ˆkð ˜Ð %Ð%ð˜4‘ !Ñ#ˆØ&,¨r¡k°6¸C±<kˆØ ˜Ð %Ð%r1cóJ—t||«}tj|«dS)zÓ
    Returns the indices where the given period changes.
 
    Parameters
    ----------
    dates : PeriodIndex
        Array of intervals to monitor.
    period : str
        Name of the period to monitor.
    r)Ú_period_break_maskr,Únonzero)Údatesr¨Úmasks   r/Ú _period_breakr-s$€ô ˜e VÓ ,€DÜ :‰:dÓ ˜AÑ Ðr1có\—t||«}t|d|jzz
|«}||k7S)Nr³)Úgetattrrž)r+r¨ÚcurrentrHs    r/r)r)s2€Üe˜VÓ$€Gܐu˜q 5§:¡:™~Ñ-¨vÓ6€HØ hÑ Ðr1cób—|jdk(s|jdk(r|ddk(r    |dzdkDryy)zè
    Returns true if the ``label_flags`` indicate there is at least one label
    for this level.
 
    if the minimum view limit is not an exact integer, then the first tick
    label won't be shown, so we must adjust for that.
    rr³çFT©r¶)Ú label_flagsrs  r/Úhas_level_labelr5s;€ð×ј1ÒØ×јAÒ +¨a¡.°AÒ"5¸$À¹(ÀSº.ààr1có—|j}tj|«}d}|tjjk\r t |j «}d|z}d|z}nž|tjk(rd}d}n†|tjk(rd}d}nn|tjk(rd}d}nV|tjk(rd}d    }n>|tjk(rd}d
}n&|tjk(rd}d}ntd |›«‚|||fS) NrÔéiméiéé4r³é éúUnsupported frequency: )Ú_period_dtype_coderÚfrom_period_dtype_codeÚFR_HRr@rÚ_cresoÚFR_BUSÚFR_DAYÚFR_WKÚFR_MTHÚFR_QTRÚFR_ANNÚNotImplementedError)ržÚ
dtype_codeÚ
freq_groupÚppdÚppmÚppys      r/Ú_get_periods_per_ymdrN's€à×(Ñ(€JÜ×1Ñ1°*Ó=€Jà
€Cà”Y—_‘_×*Ñ*Ò*ä˜dŸk™kÓ*ˆØ3‰hˆØC‰i‰Ø    ”y×'Ñ'Ò    '؈؉ؠ   ”y×'Ñ'Ò    '؈؉ؠ   ”y—‘Ò    &؈؉ؠ   ”y×'Ñ'Ò    '؈؉ؠ   ”y×'Ñ'Ò    '؈؉ؠ   ”y×'Ñ'Ò    '؈؉ä!Ð$;¸J¸<Ð"HÓIÐIà Sˆ=Ðr1c    óN
‡‡‡‡‡‡‡‡—|j}t|«\}}}|Št|«t|«}}||z
dz}tj«5tj
ddt ¬«tj
ddt ¬«tt||¬«t||¬«|¬«Šddd«tj|dtjfd    tfd
tfd g¬ «}‰j|dddd |dddd|d    ddg<|d    Š|d
Š|dŠˆfd„Š||kr·t‰d«Št‰d«}    t‰d«Šd<ˆˆˆˆˆˆˆˆfd„ }
d=ˆˆˆˆˆˆfd„ } d=ˆˆˆˆˆˆfd„ } ||dz kr
| d«|S||dz kr
| d«|S||dz kr
| d«|S||dz kr
| d«|S||d z kr
| d!«|S||d"z kr
| d#«|S||d$z kr
| d«|S||d%z kr
| d«|S||d&z kr
| d«|S||d'z kr
| d!«|S||d(z kr
| d#«|S||d)z kr |
dd*«|S||d+z kr |
dd*«|S||d,zkr |
d-d*«|S||d)zkr |
d(d«|S||d.zkr |
d'd«|Sd‰|    <d‰‰<d/‰‰<d0‰|    <d1‰‰<t‰‰«s$t|    ‰«s d1‰‰‰«<|Sd1‰‰|    «<|S||d.zkr¡t‰d«}    d‰|    <|t j"j$krd|d
<nt‰d«Šd|d
‰<t‰d2«} t‰d«Šd/‰| <d3‰|    <d4‰‰<t‰‰«s$t|    ‰«s d4‰‰| «<|Sd4‰‰|    «<|S|d5|zkr[t‰d«Št‰d«}    t‰d2«} d‰|    <d‰| <d*‰‰<d*‰|    <d6‰|    <d7‰‰<t‰‰«s d7‰‰|    «<|S|d)|zkr:t‰d«Št‰d8«}t‰d«}    d‰|<d‰|    <d6‰|<d7‰‰<|S|d.|zkrPt‰d«Št‰d«}    d‰‰<d‰|    <d*‰‰<‰|    j&}|    |dk(|d9k(z}d6‰|<d7‰‰<|S|d:|zkr.t‰d«Št‰d8«}d‰‰<d‰|<d*‰‰<d;‰‰<|St‰d«Š‰‰j(}||z }t+|«\}}‰||zdk(}d‰|<‰||zdk(}d‰|<d;‰|<|S#1swYŒgxYw)>Nr³rŸr r¡r£©rµrž)rör÷ržÚvalÚmajÚmin)r‰z|S20©ÚdtyperÆr‰TrrÔcóV•—|ddk(r|jdkDr ‰dzdkDr|dS|dS)Nrr³r2r3)r4Ú    vmin_origs €r/Ú first_labelz"_daily_finder.<locals>.first_labelps<ø€Ø ˜‰N˜aÒ  k×&6Ñ&6¸Ò&:À)ÈaÁ-ÐSVÒAVؘq‘>Ð !à˜q‘>Ð !r1rrrcó•—‰j}t‰d«}d‰‰<d‰    |||zdk(z<d‰|||zdk(z<d‰‰<d‰‰ <|rt‰ ‰
«s d‰‰‰«<yyy)NrSTrrƒú %H:%M
%d-%bú%H:%M
%d-%b
%Y)rSr)r5) Úlabel_intervalÚforce_year_startÚtargetr,Údates_Ú    day_startrXÚinfo_fmtÚinfo_majÚinfo_minrWÚ
year_starts     €€€€€€€€r/Ú _hour_finderz#_daily_finder.<locals>._hour_finder|sŒø€Ø—[‘[ˆFÜ% f¨fÓ5ˆDØ"&ˆHYÑ Ø>BˆHT˜V nÑ4¸Ñ9Ñ:Ñ ;Ø>EˆHT˜V nÑ4¸Ñ9Ñ:Ñ ;Ø"0ˆHYÑ Ø#5ˆHZÑ  Ù¬¸
ÀIÔ(NØ3E™ YÓ/Ò0ð)OÐr1c󤕗‰j}t‰d«}t‰d«}d‰|<d‰|||zdk(z<d‰|||zdk(z<d‰‰<d‰‰    <y)NrSrTTrrƒrZr[)rTr-r))
r\r^Ú
hour_startr,r_r`rarbrcrds
    €€€€€€r/Ú_minute_finderz%_daily_finder.<locals>._minute_finder‡stø€Ø—]‘]ˆFÜ& v¨vÓ6ˆJÜ% f¨hÓ7ˆDØ#'ˆHZÑ  Ø>BˆHT˜V nÑ4¸Ñ9Ñ:Ñ ;Ø>EˆHT˜V nÑ4¸Ñ9Ñ:Ñ ;Ø"0ˆHYÑ Ø#5ˆHZÒ  r1c󤕗‰j}t‰d«}t‰d«}d‰|<d‰|||zdk(z<d‰|||zdk(z<d‰‰<d‰‰    <y)NrTrUTrr‚z%H:%M:%S
%d-%bz%H:%M:%S
%d-%b
%Y)rUr-r))
r\r^Ú minute_startr,r_r`rarbrcrds
    €€€€€€r/Ú_second_finderz%_daily_finder.<locals>._second_finder‘stø€Ø—]‘]ˆFÜ(¨°Ó:ˆLÜ% f¨hÓ7ˆDØ%)ˆH\Ñ "Ø>BˆHT˜V nÑ4¸Ñ9Ñ:Ñ ;Ø>HˆHT˜V nÑ4¸Ñ9Ñ:Ñ ;Ø"3ˆHYÑ Ø#8ˆHZÒ  r1ià.iprõi`    r!i°rñi éiéé–éFr€r;rðç@Fgø?gô?r9r<z%dz%d
%bz%d
%b
%YÚweekz
 
%bz
 
%b
%Yçffffffò?ú%bú%b
%YÚquarterérú%Y)r\r„r]Úboolrtr“)r\r„rtr“)r>rNr„r«r¬r­r®r rr,ÚzerosÚint64rxr°r-r5rr@r@rrr')rrržrIÚ periodsperdayÚperiodspermonthÚperiodsperyearÚspanÚinfoÚ month_startrerhrkÚ
week_startÚ quarter_startÚ month_breakÚ
jan_or_julÚ
year_breakr#Ú
min_anndefÚ
maj_anndefÚ    major_idxÚ    minor_idxr_r`rXrarbrcrWrds                       @@@@@@@@r/Ú _daily_finderrŠKs9ÿ€ð×(Ñ(€Jä5IÈ$Ó5OÑ2€M? Nð€Iܘ“Iœs 4›yˆ4€TØ $‰;˜‰?€Dä    ×     Ñ     Ó    "ñ 
Ü×ÑØ Ð;Ämõ    
ô    ×ÑØ Ð7Ä-õ    
ôÜ ¨DÔ1ܘt¨$Ô/Øô
ˆ÷ 
ô 8‰8Ø eœRŸX™XÐ&¨´¨ ¸¼t°}ÀoÐVô €Dð—[‘[€DˆK‘€NØ€DˆK‘€NØ€DˆKBÑàE‰{€HؐE‰{€HؐE‰{€Hô"ð ˆÓÜ! &¨%Ó0ˆ    Ü# F¨GÓ4ˆ Ü" 6¨6Ó2ˆ
÷        Fô        F÷    6ò    6÷    9ò    9ð - %Ñ'Ò 'Ù ˜1Ô ðh €KðgM DÑ(Ò (Ù ˜1Ô ðd €KðcM DÑ(Ò (Ù ˜1Ô ð` €Kð_M DÑ(Ò (Ù ˜2Ô ð\ €Kð[M CÑ'Ò 'Ù ˜2Ô ðX €KðWM CÑ'Ò 'Ù ˜2Ô ðT €KðSM CÑ'Ò 'Ù ˜1Ô ðP €KðOM BÑ&Ò &Ù ˜1Ô ðL €KðKM BÑ&Ò &Ù ˜1Ô ðH €KðGM BÑ&Ò &Ù ˜2Ô ðD €KðCM AÑ%Ò %Ù ˜2Ô ð@ €KðM CÑ'Ò 'Ù ˜˜EÔ "ð| €Kð{M CÑ'Ò 'Ù ˜˜EÔ "ðx €KðwM DÑ(Ò (Ù ˜˜EÔ "ðt €KðsM CÑ'Ò 'Ù ˜˜DÔ !ðp €KðoM AÑ%Ò %Ù ˜˜TÔ "ðl €Kði%)ˆH[Ñ !Ø"&ˆHYÑ Ø"&ˆHYÑ Ø$,ˆH[Ñ !Ø#/ˆHZÑ  Ü" :¨yÔ9Ü& {°IÔ>Ø7CH™[¨Ó3Ñ4ðZ €KðW:FH™[¨Ó5Ñ6ðV €KðQ
 1Ñ$Ò    $Ü# F¨GÓ4ˆ Ø $ˆÑØ œ    Ÿ™×-Ñ-Ò -؈DŠKä% f¨eÓ4ˆIØ%)ˆD‰K˜    Ñ "Ü" 6¨6Ó2ˆ
Ü" 6¨6Ó2ˆ
Ø#ˆÑØ (ˆÑØ+ˆÑܘz¨9Ô5Ü" ;°    Ô:Ø4@™ ZÓ0Ñ1ðr €Kðo6B™ [Ó1Ñ2ðn €Kðk
˜Ñ&Ò    &Ü" 6¨6Ó2ˆ
Ü# F¨GÓ4ˆ Ü" 6¨6Ó2ˆ
Ø $ˆÑØ#ˆÑØ$ˆÑØ %ˆÑØ $ˆÑØ'ˆÑܘz¨9Ô5Ø19ˆH‘[ Ó-Ñ .ðT €KðQ
~Ñ%Ò    %Ü" 6¨6Ó2ˆ
Ü% f¨iÓ8ˆ Ü# F¨GÓ4ˆ Ø"&ˆÑØ $ˆÑØ"&ˆÑØ'ˆÑðB €Kð?
^Ñ#Ò    #Ü" 6¨6Ó2ˆ
Ü# F¨GÓ4ˆ Ø#ˆÑØ $ˆÑØ$ˆÑà˜[Ñ)×/Ñ/ˆ Ø  +°Ñ"2°{ÀaÑ7GÑ!HÑIˆ
Ø#ˆÑØ'ˆÑð* €Kð'
nÑ$Ò    $Ü" 6¨6Ó2ˆ
Ü% f¨iÓ8ˆ Ø#ˆÑØ"&ˆÑØ$ˆÑØ#ˆÑð €Kô# 6¨6Ó2ˆ
ؘJÑ'×,Ñ,ˆ
ؘÑ&ˆÜ#>¸vÓ#FÑ ˆZØ 
¨ZÑ 7¸1Ñ <Ñ>ˆ    Ø"ˆÑØ 
¨ZÑ 7¸1Ñ <Ñ>ˆ    Ø"ˆÑØ"ˆÑà €K÷s 
ñ 
ús ÁATÔT$có˜—t|«\}}}|}t|«t|«}}||z
dz}tj|dtfdtfdtfdg¬«}tj
||dz«|d<|d}d|d<|d    zd
k(j «d
}    |d}
|d} |d |zkr;d |
|    <d |d<d | ddd| |    <t|    |«s|jdkDrd} nd
} d| | <|S|d|zkr4|dzd
k(j «} d |
|    <d |d| <d |d<d | | <d| |    <|S|d|zkr'd |
|    <d |d<|d    zd
k(|d    zdk(z}d | |<d| |    <|S|d|zkr*|dzd
k(j «} d |
|    <d |d| <d| |    <|S||z }t|«\}}||    d    zdz}|    ||zd
k(}d |
|<d |d|    ||zd
k(<d| |<|S)Nr³rQrRrS©r‰z|S8rTrÆr‰r;rrrTrsrtrpr9r<rðrrw©
rNr„r,ryrxÚaranger*r5r¶r')rrržrr}rWr~rr_rdrbraÚidxr‚r„r#r†r‡Úyearsrˆs                    r/Ú_monthly_finderr‘s¡€ä/°Ó5Ñ€A€qˆ.à€Iܘ“Iœs 4›yˆ4€TØ $‰;˜‰?€Dô 8‰8Ø eœS\ E¬4 =°5¼$°-ÀÐPô €Dô—)‘)˜D $¨¡(Ó+€DˆKØ %‰[€FØ€DˆKؘ2‘+ Ñ"×+Ñ+Ó-¨aÑ0€JؐE‰{€HؐE‰{€Hà ˆtnÑ$Ò$Ø#ˆÑ؈ˆU‰ àˆ‘ˆ Ø'ˆÑä˜z¨9Ô5؏{‰{˜QŠØ‘àØ$ˆHS‰MðL €KðI
~Ñ%Ò    %Ø !™ q™×1Ñ1Ó3ˆ Ø#ˆÑð&*ˆˆU‰ MÑ"؈ˆU‰ à"&ˆÑØ'ˆÑð6 €Kð3
^Ñ#Ò    #Ø#ˆÑ؈ˆU‰ à˜r‘k QÑ&¨6°B©;¸!Ñ+;Ñ<ˆ
Ø#ˆÑØ'ˆÑð& €Kð#
nÑ$Ò    $Ø !™ q™×1Ñ1Ó3ˆ Ø#ˆÑØ%)ˆˆU‰ MÑ"à#ˆÑð €Kð˜Ñ&ˆÜ#>¸vÓ#FÑ ˆZؐzÑ" bÑ(¨1Ñ,ˆØ ¨
Ñ 2°aÑ 7Ñ9ˆ    Ø"ˆÑØ=AˆˆU‰ J ¨
Ñ 2°aÑ 7Ñ9Ñ:à"ˆÑà €Kr1có—t|«\}}}|}t|«t|«}}||z
dz}tj|dtfdtfdtfdg¬«}tj
||dz«|d<d|d<|d}|d}    |d}
|d    zd
k(j «d
} |d |zkr;d |    | <d |d<d |
ddd|
| <t| |«s|jdkDrd} nd
} d|
| <|S|d|zkrd |    | <d |d<d|
| <|S|| d    zdz} ||z }t|«\}}| | |zd
k(}d |    |<d |d| | |zd
k(<d|
|<|S)Nr³rQrRrSrŒrTrÆr‰r<rg @TzQ%qzQ%q
%Frz%Fi²r)rrržrr}rWr~rr_rbrardrrr#r†r‡rˆs                  r/Ú_quarterly_finderr“[sÅ€ä/°Ó5Ñ€A€qˆ.Ø€Iܘ“Iœs 4›yˆ4€TØ $‰;˜‰?€Dä 8‰8Ø eœS\ E¬4 =°5¼$°-ÀÐPô €Dô—)‘)˜D $¨¡(Ó+€DˆKØ€DˆKØ %‰[€FؐE‰{€HؐE‰{€Hؘ1‘* ‘/×*Ñ*Ó,¨QÑ/€Jà ˆs^Ñ#Ò#Ø#ˆÑ؈ˆU‰ àˆ‘ˆ Ø(ˆÑܘz¨9Ô5؏{‰{˜QŠØ‘àØ%ˆHS‰Mð" €Kð
nÑ$Ò    $Ø#ˆÑ؈ˆU‰ Ø#ˆÑð €KðzÑ" aÑ'¨$Ñ.ˆØ˜Ñ&ˆÜ#>¸vÓ#FÑ ˆZØ ¨
Ñ 2°aÑ 7Ñ9ˆ    Ø"ˆÑØ=AˆˆU‰ J ¨
Ñ 2°aÑ 7Ñ9Ñ:Ø"ˆÑà €Kr1cóZ—t|«t|dz«}}||z
dz}tj|dtfdtfdtfdg¬«}tj||dz«|d<d|d<|d}t |«\}}||zd    k(}||zd    k(}    d
|d|<d
|d|    <d |d|<|S) Nr³rQrRrSrŒrTrÆr‰rTrw)r„r,ryrxrŽr')
rrržr~rr_r†r‡rˆr‰s
          r/Ú_annual_finderr•‹sրô˜“Iœs 4¨!¡8›}ˆ4€TØ $‰;˜‰?€Dä 8‰8Ø eœS\ E¬4 =°5¼$°-ÀÐPô €Dô—)‘)˜D $¨¡(Ó+€DˆKØ€DˆKØ %‰[€Fä:¸4Ó@Ñ€ZØ˜Ñ# qÑ(€IؘÑ# qÑ(€IØ!€DˆK    ÑØ!€DˆK    ÑØ!€DˆK    Ñà €Kr1cób—|j}tj|«}|tjk(rtS|tj
k(rt S|tjk(rtS|tjjk\s|tjk(rtStd|›«‚)Nr=)r>rr?rGr•rFr“rEr‘rBr@rDrŠrH)ržrIÚfgroups   r/Ú
get_finderr˜¢s‘€à×(Ñ(€JÜ × -Ñ -¨jÓ 9€Fà ”×!Ñ!Ò!ÜÐØ    ”9×#Ñ#Ò    #ܠРؠ   ”9×#Ñ#Ò    #ÜÐØ
œ    ×(Ñ(×.Ñ.Ò
.°6¼Y¿_¹_Ò3LÜÐä!Ð$;¸J¸<Ð"HÓIÐIr1cód—eZdZUdZded<                            d                                                                d
d„Zd„Zd„Zd„Zy) ÚTimeSeries_DateLocatoraß
    Locates the ticks along an axis controlled by a :class:`Series`.
 
    Parameters
    ----------
    freq : BaseOffset
        Valid frequency specifier.
    minor_locator : {False, True}, optional
        Whether the locator is for minor ticks (True) or not.
    dynamic_mode : {True, False}, optional
        Whether the locator should work in dynamic mode.
    base : {int}, optional
    quarter : {int}, optional
    month : {int}, optional
    day : {int}, optional
    r"reNc    ó¾—t|d¬«}||_||_|||c|_|_|_||_||_d|_||_    t|«|_ y©NT)Ú    is_periodr) rržÚbaserurrÚisminorÚ    isdynamicÚoffsetÚplot_objr˜Úfinder)    r|ržÚ minor_locatorÚ dynamic_moderžrurrr¢s             r/r}zTimeSeries_DateLocator.__init__Çs\€ô˜¨Ô.ˆØˆŒ    ØˆŒ    Ø07¸ÀÐ,ˆŒt”z 4¤8Ø$ˆŒ Ø%ˆŒØˆŒ Ø ˆŒ Ü  Ó&ˆ r1cóė|j|||j«}|jrtj|d|d«Stj|d|d«S)z'Returns the default locations of ticks.rSrQrR)r£ržrŸr,Úcompress)r|rrrÐs    r/Ú_get_default_locsz(TimeSeries_DateLocator._get_default_locsÜsQ€à—+‘+˜d D¨$¯)©)Ó4ˆà <Š<Ü—;‘;˜w u™~¨w°u©~Ó>Ð >܏{‰{˜7 5™>¨7°5©>Ó:Ð:r1có —t|jj««}|\}}||kr||}}|jr|j    ||«}|S|j
}t ||«\}}|dz|z}tt||dz|««}|S)z"Return the locations of the ticks.r³)    rcrerÜr r¨ržr†rbÚrange)r|Úvirrr{ržr\rŽs        r/r‘zTimeSeries_DateLocator.__call__äsš€ô4—9‘9×.Ñ.Ó0Ó 1ˆØ‰
ˆˆdØ $Š;ؘt$ˆDØ >Š>Ø×)Ñ)¨$°Ó5ˆDðˆ ð —9‘9ˆDܘD $Ó'‰FˆQØ˜‘E˜T‘>ˆDôœ˜d D¨1¡H¨dÓ3Ó4ˆD؈ r1cóª—|jj«\}}|j||«}|ddg\}}||k(r
|dz}|dz }t||«S)zf
        Sets the view limits to the nearest multiples of base that contain the
        data.
        rrÔr³)rerÞr¨r )r|rrr{s    r/rz TimeSeries_DateLocator.autoscale÷sc€ð —y‘y×2Ñ2Ó4‰ ˆˆtà×%Ñ% d¨DÓ1ˆØ˜Q ˜G‘}‰ ˆˆtØ 4Š<Ø A‰IˆDØ A‰IˆDܘ4 Ó&Ð&r1)FTr³r³r³r³N)ržr#r¤rxr¥rxržr„rur„rr„rr„rtr“)    rurvrwÚ__doc__Ú__annotations__r}r¨r‘rrqr1r/ršrš³s‡…ñð" ƒJð
$Ø!ØØØØØð'àð'ðð'ðð    'ð
ð 'ð ð 'ðð'ðð'ð
ó'ò*;òó& 'r1ršcóR—eZdZUdZded<            d                                d
d„Zd„Zd d„Zd d d„Zy)ÚTimeSeries_DateFormatteraš
    Formats the ticks along an axis controlled by a :class:`PeriodIndex`.
 
    Parameters
    ----------
    freq : BaseOffset
        Valid frequency specifier.
    minor_locator : bool, default False
        Whether the current formatter should apply to minor ticks (True) or
        major ticks (False).
    dynamic_mode : bool, default True
        Whether the formatter works in dynamic mode or not.
    r"reNcó®—t|d¬«}d|_||_g|_d|_||_||_d|_||_t|«|_
yrœ) rÚformatržr{Ú
formatdictrŸr r¡r¢r˜r£)r|ržr¤r¥r¢s     r/r}z!TimeSeries_DateFormatter.__init__sT€ô˜¨Ô.ˆØˆŒ ؈Œ    Ø!ˆŒ    Ø15ˆŒØ$ˆŒ Ø%ˆŒØˆŒ Ø ˆŒ Ü  Ó&ˆ r1c    óP—|j|||j«}|jr3tj|dtj
|d«z|«}ntj|d|«}|Dcic]
\}}}}||“Œ c}}}|_|j Scc}}}w)z"Returns the default ticks spacing.rSrR)r£ržrŸr,r§Ú logical_notr³)r|rrrr²rgrÚfs        r/Ú_set_default_formatz,TimeSeries_DateFormatter._set_default_format/s‰€à{‰{˜4  t§y¡yÓ1ˆà <Š<Ü—[‘[  e¡¬r¯~©~¸dÀ5¹kÓ/JÑ!JÈDÓQ‰Fä—[‘[  e¡¨dÓ3ˆFØ4:×;Ð;¡L Q¨¨1¨a˜1˜a™4Ô;ˆŒØ‰Ðùô<sÁ<B!có”—||_t|jj««\}}||kr||}}|j    ||«y)zSets the locations of the ticksN)r{rcrerÜr·)r|r{rrs    r/Úset_locsz!TimeSeries_DateFormatter.set_locs:sF€ð
ˆŒ    ä˜TŸY™Y×8Ñ8Ó:Ó;‰ ˆˆtØ $Š;Ø  $4ˆTØ × Ñ   tÕ,r1cóº—|j€y|jj|d«}t|tj«r|j d«}t j«5t jddt¬«tt|«|j¬«}ddd«tt«sJ‚|j|«S#1swYŒ,xYw)NrÆzutf-8rŸr r¡rP)r³rLrDr,Úbytes_Údecoder«r¬r­r®rr„ržr‡)r|rgrˆr‰r¨s     r/r‘z!TimeSeries_DateFormatter.__call__Fs´€Ø ?‰?Ð "Øà—/‘/×%Ñ% a¨Ó,ˆCܘ#œrŸy™yÔ)Ø—j‘j Ó)Ü×(Ñ(Ó*ñ @Ü×'Ñ'ØØ9Ü*õô
 ¬¨A«°T·Y±YÔ?÷  @ô˜f¤fÔ-Ð -Ð-Ø—?‘? 3Ó'Ð '÷ @ð @ús Á)=CÃC)FTN)ržr#r¤rxr¥rxrtr“r’r”r•)    rurvrwr­r®r}r·r¹r‘rqr1r/r°r° sS…ñ ð ƒJð
$Ø!Øð 'àð'ðð'ðð    'ð
ó 'ò$    ó
-õ(r1r°có8—eZdZUdZded<edd„«Zdd    d„Zy)
ÚTimeSeries_TimedeltaFormatterzR
    Formats the ticks along an axis controlled by a :class:`TimedeltaIndex`.
    r"recóF—t|d«\}}t|d«\}}t|d«\}}t|d«\}}t|d|dz
zz«}t|«d›dt|«d›dt|«d›}|dkDr |d    |d
|›d ›z }|dk7rt|«d ›d |›}|S) z8
        Convert seconds to 'D days HH:MM:SS.F'
        iʚ;rQr€rñé    Ú02dú:rú.Ú0r\z days )r†r„)    rgrˆÚ
n_decimalsrŠÚnsrŽrr\Údecimalss             r/Úformat_timedelta_ticksz4TimeSeries_TimedeltaFormatter.format_timedelta_ticks_sƀô
q˜%Ó ‰ˆˆ2ܐa˜‹}‰ˆˆ1ܐa˜‹}‰ˆˆ1ܐa˜‹}‰ˆˆ1ܐr˜B :°¡>Ñ2Ñ2Ó3ˆÜ1‹vcˆl˜!œC ›F 3˜< q¬¨Q«°¨ Ð 5ˆØ ˜Š>Ø 1X˜a 
˜|¨1˜_Ð-Ð.Ñ .ˆAØ Š6ܐq“6˜!*˜F 1 #Ð&ˆA؈r1c ó—t|jj««\}}tt    t j t jdt||z
«z «««d«}|j|||«S)Nlhí]rÀ)
rcrerÜrSr„r,ÚceilÚlog10rÖrÈ)r|rgrˆrrrÅs      r/r‘z&TimeSeries_TimedeltaFormatter.__call__psd€Ü˜TŸY™Y×8Ñ8Ó:Ó;‰ ˆˆtÜœœRŸW™W¤R§X¡X¨k¼CÀÀtÁ Ó<LÑ.LÓ%MÓNÓOÐQRÓSˆ
Ø×*Ñ*¨1¨c°:Ó>Ð>r1N)rÅr„rtr[r”r•)rurvrwr­r®rxrÈr‘rqr1r/r¾r¾Xs%…ñð ƒJàòóðõ ?r1r¾)r7rrtr)rtzGenerator[None, None, None]r’)rWz    pydt.timertrr%)rÅrÌrtr)rtztuple[int, int])r+rr¨r[rtúnpt.NDArray[np.intp])r+rr¨r[rtznpt.NDArray[np.bool_])r4rÌrrrtrx)ržr#rtztuple[int, int, int])rrrrržr#rtz
np.ndarray)ržr#)hÚ
__future__rÚ
contextlibrr(rrr9Útypingrrr    r«Úmatplotlib.datesr+r¼Úmatplotlib.tickerr
r r Úmatplotlib.transformsr Úmatplotlib.unitsršrBÚnumpyr,Ú pandas._libsrÚpandas._libs.tslibsrrÚpandas._libs.tslibs.dtypesrrÚpandas._typingrrÚpandas.core.dtypes.commonrrrrrÚpandasrrrÚpandas.core.commonÚcoreÚcommonrÂÚpandas.core.indexes.datetimesrÚpandas.core.indexes.periodrrr Úpandas.core.tools.datetimesr¾Ú    datetimesÚcollections.abcr!Úmatplotlib.axisr"Úpandas._libs.tslibs.offsetsr#rEr0r;Úcontextmanagerr4r>r?rYr^ÚConversionInterfacer+rmÚ DateConverterr'r¥r&rÏrÉrßrÈrérÙrr'r-r)r5rNÚcacherŠr‘r“r•r˜ršr°r¾rqr1r/ú<module>rés ðÝ"ãÛ÷ñó
÷ñó
å!÷ñõ
.Ý!Ûå÷÷÷÷
õ÷ñ÷
!РÝ4÷ñ÷
,Ó+áÝ)å$å6ð€
ò    ó
ð ×Ñòóðó*'ó .óò
 ôF×.Ñ.ôô6%1Iô%1ôV%f×*Ñ*ô%òP 6ô"?
˜×,Ñ,ô?
ôDI˜f×6Ñ6ôIô
?˜F×2Ñ2ô?ô4K,˜×+Ñ+ôK,ô\ó:&ó, óó ó !ðH ‡òDóðDðN ‡òDóðDðN ‡ò,óð,ð^ ‡òóðó,Jô"Q'˜WôQ'ôrI(˜yôI(ôX? Iõ?r1