
    V|hM5                     V    S SK r S SKrS SKrSSKJr  SSKJrJrJ	r	J
r
   " S S\5      rg)    N   )InfoExtractor   )determine_extparse_count
remove_endunified_timestampc                      \ rS rSrSrSrSr\\-   \-   rSSR                  \	" \
R                  \5      5       S3rS\ S	3r\R                  " \5      rS
\ S3SSSSSSSS
\ S3SS\\\S.S.S
\ S3SSSSSSSS
\ S3SS \\\\S!.S.S
\ S"3S#SS$S%SS&S'S
\ S(3S)S*\\\\S!.S+/S,.S
\ S-3S.SS/S0SSSS
\ S3S1S2\\\\S!.S.S
\ S33S4SS5S6SS7S8S
\ S93S:S;\\\\S!.S+/S<S=0S>./rS? rS@rgA)BNitterIE   )z>3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad.onionzEnitter.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd.onionz>nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd.onionz>npf37k3mtzwxreiw52ccs5ay4e6qt2fkcs2ndieurdyn2cuzzsfyfvid.onionzEnitter.v6vgyqpa7yefkorazmg5d5fimstmvm2vtbirt6676mt7qmllrcnwycqd.onionz>i23nv6w3juvzlw32xzoxcqzktegd4i4fu3nmnc2ewv4ggiu4ledwklad.onionz>26oq3gioiwcmfojub37nz5gzbkdiqp7fue5kvye7d4txv4ny6fb4wwid.onionz>vfaomgh4jxphpbdfizkm5gbtjahmei234giqj4facbwhrfjtcldauqad.onionz>iwgu3cv7ywf3gssed5iqtavmrlszgsxazkmwwnt4h2kdait75thdyrqd.onionz>erpnncl5nhyji3c32dcfmztujtl3xaddqb457jsbkulq24zqq7ifdgad.onionz>ckzuw5misyahmg7j5t5xwwuj3bwy62jfolxyux4brfflramzsvvd3syd.onionz>jebqj47jgxleaiosfcxfibx2xdahjettuydlxbg64azd4khsxv6kawid.onionz>nttr2iupbb6fazdpr2rgbooon2tzbbsvvkagkgkwohhodjzj43stxhad.onionz>nitraeju2mipeziu2wtcrqsxg7h62v5y4eqgwi75uprynkj74gevvuqd.onionzEnitter.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd.onionz>ibsboeui2im5o7dxnik3s5yghufumgy5abevtij5nbizequfpu4qi4ad.onionz>ec5nvbycpfa5k6ro77blxgkyrzbkv7uy6r5cngcbkadtjj2733nm3uyd.onionz
nitter.i2pz<u6ikd6zndl3c4dsdq4mmujpntgeevdk5qzkfb57r4tnfeccrn2qa.b32.i2pz>nitterlgj3n5fgwesu3vxc5h67ruku33nqaoeoocae2mvlzhsu6k7fqd.onion)]znitter.lacontrevoie.frznitter.fdn.frznitter.1d4.usznitter.kavin.rocksznitter.unixfox.euznitter.domain.glassznitter.namazso.euzbirdsite.xanny.familyznitter.moomoo.mezbird.trom.tfz	nitter.itztwitter.censors.usznitter.grimneko.deztwitter.076.ne.jpznitter.fly.devznotabird.siteznitter.weiler.rocksznitter.sethforprivacy.comznitter.cutelab.spacez	nitter.nlznitter.mint.lgbtznitter.bus-hit.meznitter.esmailelbob.xyzztw.artemislena.euznitter.winscloud.netznitter.tiekoetter.comznitter.spaceint.frznitter.privacy.com.deznitter.poast.orgznitter.bird.froth.zoneznitter.dcs0.huztwitter.dr460nf1r3.orgznitter.garudalinux.orgztwitter.femboy.huz	nitter.czznitter.privacydev.netznitter.evil.sitetweet.lambda.danceznitter.kylrth.comznitter.foss.wtfznitter.priv.pwnitter.tokhmi.xyzznitter.catalyst.sxzunofficialbird.comznitter.projectsegfau.ltznitter.eu.projectsegfau.ltzsingapore.unofficialbird.comzcanada.unofficialbird.comzindia.unofficialbird.comznederland.unofficialbird.comzuk.unofficialbird.comzn.l5.caznitter.slipfox.xyzznitter.soopy.moeznitter.qwik.spacezread.whatever.socialznitter.rawbit.ninjaz
nt.vern.cczntr.odyssey346.devz	nitter.irznitter.privacytools.ioznitter.sneed.networkzn.sneed.networkznitter.manasiwibi.comznitter.smnz.deznitter.twei.spaceznitter.inpt.frznitter.d420.deznitter.caioalonso.comz	nitter.atznitter.drivet.xyzz	nitter.pwznitter.nicfab.euzbird.habedieeh.reznitter.hostux.netznitter.adminforge.deznitter.platypush.techznitter.mask.shznitter.pufe.orgznitter.us.projectsegfau.ltznitter.arcticfoxes.netzt.com.sbznitter.kling.ggznitter.ktachibana.partyznitter.riverside.rocksznitter.girlboss.ceoznitter.lunar.icuztwitter.moe.ngoznitter.freedit.euzntr.frail.duckdns.orgznitter.librenode.orgzn.opnxng.comznitter.plus.st),znitter.ethibox.frz
nitter.netzis-nitter.resolv.eezlu-nitter.resolv.eeznitter.13ad.deznitter.40two.appznitter.cattube.orgz	nitter.ccznitter.dark.failznitter.himiko.cloudznitter.koyu.spaceznitter.mailstation.deznitter.mastodont.catznitter.tedomum.netr   z nitter.weaponizedhumiliation.comznitter.vxempire.xyzr   z	nitter.caznitter.42l.frznitter.pussthecat.orgznitter.nixnet.servicesz	nitter.euznitter.actionsack.comz	nitter.huztwitr.gqznittereu.moomoo.mezbird.from.tfztwitter.grimneko.deznitter.alefvanoon.xyzzn.hyperborea.cloudztwitter.mstdn.socialznitter.silkky.cloudznttr.streamzfuckthesacklers.networkznitter.govt.landznitter.datatunnel.xyzzde.nttr.streamztwtr.bch.barznitter.exonip.deznitter.mastodon.proznitter.notraxx.chznitter.skrep.inznitter.snopyta.orgz(?:|)z	https?://z//(?P<uploader_id>.+)/status/(?P<id>[0-9]+)(#.)?zhttps://z%/firefox/status/1314279897502629888#m1314279897502629888mp4z$md5:7890a9277da4639ab624dd899424c5d8z$md5:5fea96a4d3716c350f8b95b21b3111fezre:^https?://.*\.jpg$u   Firefox 🔥firefoxz/firefox20201008i(b_)idexttitledescription	thumbnailuploaderuploader_iduploader_urlupload_date	timestamp
like_countrepost_countcomment_count)url	info_dictz&/Le___Doc/status/1299715685392756737#m1299715685392756737u<   re:^.* - "Je ne prédis jamais rien"
D Raoult, Août 2020...u3   "Je ne prédis jamais rien"
D Raoult, Août 2020...zre:^Le *DocLe___Docz	/Le___Doc20200829i,fJ_)r   r   r   r   r   r   r   r   r   r   
view_countr   r    r!   z%/mozilla/status/1321147074491092994#m1321147074491092994z$md5:8290664aabb43b9189145c008386bf12z$md5:9cf2762d49674bc416a191a689fb2aaaMozillamozillaz/mozilla20201027i]_z2Ignoring subtitle tracks found in the HLS manifest)r"   r#   expected_warningsz%/firefox/status/1354848277481414657#m1354848277481414657z$md5:bef647f03bd1c6b15b687ea70dfc9700z$md5:5efba25e2f9dac85ebcd21160cb4341f20210128iX`z*/LocalBateman/status/1678455464038735895#m1678455464038735895zFYour Typical Local Man - Local man, what did Romanians ever do to you?z-Local man, what did Romanians ever do to you?zYour Typical Local ManLocalBatemanz/LocalBateman20230710i>dskip_downloadm3u8)r"   r#   r,   paramsc                    U R                  U5      R                  SS5      u  p#[        R                  R	                  U5      nUR
                   SUR                   3nU R                  UR                  SS5        U R                  X5      =pgUR                  S5      nUS:  a  XhS  nSR                  XPR                  S	US
5      5      n	[        U	5      n
U
S:X  a  U R                  XSS9nOU	U
S./nU R                  US S9=(       d    U R                  SUSSS9=pU R                  SUSSS9=(       d    UnU R                  SUSSS9nU(       a  U SU 3nS Vs0 s H(  nUS    S3U R                  SUS    S3XS    S3SS9_M*     nnUR                  5        VVs0 s H  u  nnUUS:X  a  SO
[!        U5      _M     nnnU R#                  S US!5      =(       d+    [%        SR                  XPR                  S"US!SS95      S#5      nS$ Vs/ s H  nUU S%U 3S&.PM     nnU R                  S'US(SS9R'                  S)S5      nUUUU[)        U5      UU S*U 3UUUS+.
UE$ s  snf s  snnf s  snf ),Nr   r   z://hlsPlaybackonzclass="main-tweet"r   z{}{}z1(?:<video[^>]+data-url|<source[^>]+src)="([^"]+)"z	video urlunknown_videor   )r   )r"   r   )defaultz,<div class="tweet-content[^>]+>([^<]+)</div>r   F)fatalz(<a class="username"[^>]+title="@([^"]+)"zuploader idz'<a class="fullname"[^>]+title="([^"]+)"zuploader namez - ))viewplay)likeheart)repostretweet)commentrA   _countz<span[^>]+class="icon-r   z[^>]*></span>([^<]*)</div>z count zog:imagezthumbnail urlz<video[^>]+poster="([^"]+)"z%3Asmall)thumbsmalllargemediumorigz%3A)r   r"   z8<span[^>]+class="tweet-date"[^>]*><a[^>]+title="([^"]+)"zupload date   ·/)
r   r   r   r   r   r   r   formats
thumbnailsr   )_match_valid_urlgroupurllibparseurlparseschemenetloc_set_cookie_download_webpagefindformat_html_search_regexr   _extract_m3u8_formats_og_search_descriptionitemsr   _html_search_metar   replacer	   )selfr"   video_idr   
parsed_urlbase_urlfull_webpagewebpagemain_tweet_start	video_urlr   rK   r   r   r   xcountsfieldcountr   id_rL   dates                          Q/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/nitter.py_real_extractNitterIE._real_extract$  sZ    $ 5 5c : @ @} U\\**3/
 ''(J,=,=+>?**M4@!%!7!7!FF',,-ABa"#45GMM(,C,C@';-X Y	I&/!00%0PG ! G
 #99,PT9U \Y]YpYp;WgUZ Zq Z\ 	\ --7-W\ . ^ mal 	 **6X] + _jE7+E j	
 j tfFOT44)!A$/IJaD6 5 7 7 j	 	 
 W]VbVbVdeVdleU%erk{5/AAVde "":|_M e&--2I2I.PU 3J 3W XYce 	 E
D )Cu56D 	 

 &&G]B ' 007b0A 	
 & *40&'j+7$"
 
 	
-
 f
s   /I!!I&I, N)__name__
__module____qualname____firstlineno__NON_HTTP_INSTANCESHTTP_INSTANCESDEAD_INSTANCES	INSTANCESjoinmapreescape_INSTANCES_RE
_VALID_URLrandomchoicecurrent_instanceint_TESTSrm   __static_attributes__ro       rl   r   r      s$   2^N@1Nf #^3nDI#((3ryy)#<=>a@Mm_,[\J}}^4
 .//TU+?E5*("*+;*<H E)'! #!$	
& .//UV+XU5))"*+;*<I F)'!! #!$
& .//TU+?E5%("*+;*<H E)'!! #!$  #W!W%
( .//TU+?E5*("*+;*<H E)'!! #!$
& .//YZ+aN54-"*+;*<M J)'!! #!$  #W!W&/'
U_FBE
r   r   )r~   rz   urllib.parserO   commonr   utilsr   r   r   r	   r   ro   r   rl   <module>r      s)     	  ! [
} [
r   