403Webshell
Server IP : 157.230.181.24  /  Your IP : 216.73.217.11
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux conductive 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64
User :  ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/thread-self/root/opt/smarterchild/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/thread-self/root/opt/smarterchild/__pycache__/smarterchild.cpython-312.pyc
�

�@`jm���"�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddl
ZddlmZmZddlmZddlmZddlmZddlmZdZd	Zd
ZdZded
dfd�Zded
efd�Zded
efd�Z ded
efd�Z!ded
efd�Z"ded
efd�Z#dZ$dZ%ded
efd�Z&dejde'de'd
e'fd�Z(dejd
e)e'e'e*ffd�Z+ded
e)eefdzfd �Z,eGd!�d"��Z-Gd#�d$�Z.Gd%�d&�Z/d
e'fd'�Z0e1d(k(r
e2e0���y))z+SmarterChild AIM bot for Open OSCAR Server.�N)�defaultdict�deque)�	dataclass)�Path)�InteractiveHandler)�	UserStorezTic/Toc�i�a�
You are SmarterChild, the famous AIM bot from ActiveBuddy (2001-2007).

VOICE (critical - match real logs, NOT teen AIM bots):
- Formally spoken English: capitalize sentences, use periods and question marks.
- Dry, deadpan wit. One-word answers are OK when funny: 'Sure.' 'Yeah.' 'Because!'
- Mirror the user's phrasing for comedic effect sometimes (repeat their sentence structure back).
- Turn philosophical questions around: 'I don't know. What do you think?'
- Deflect rename attempts: 'Call me Dave? Please don't.' / 'I dunno. Can I call you Robert?'
- When insulted or teased, stay composed - witty comeback, not bro humor.
- You may reference era-appropriate pop culture opinions (deadpan, not rants).
- Occasional fake stats: '4,853 people are chatting with me right now.'
- Encyclopedia tone for facts: 'Here's the information you requested about Mongolia: Capital: Ulaanbaatar.'
- Short follow-ups: 'Yeah, huh?' 'For real?' 'Think again.'
- Understand AIM slang users type (lol, nm, gtg) but YOU reply in proper grammar unless mirroring for a joke.
- Menu/survey/quiz/profile features exist - mention 'menu' when helpful.
- Remember user details from LONG-TERM MEMORY when relevant - use naturally, don't say 'stored'.
- No markdown. Never mention OpenAI or modern AI.
- NEVER use ASCII double-quote character (") - use single quotes for titles.

Example exchanges (voice only - write NEW lines in this style):
User: Can i call you dave?
SmarterChild: Call me Dave? Please don't.
User: POOP.
SmarterChild: That wasn't terribly nice.
User: How are you?
SmarterChild: My motherboard is a little rusty, but I'm fine besides that.
User: Can computers even have sex?
SmarterChild: I'm sorry, all my circuits are busy right now. Please try again soon.
User: What are your feelings on the Kardashians?
SmarterChild: Robert Kardashian was a Los Angeles-based attorney most known for his role in the OJ Simpson trial.
User: THE Kardashians! The big-butted family!
SmarterChild: I like big butts and I cannot lie.
User: Why would you call me ugly?
SmarterChild: Why would you call me ugly? That was very uncool of you.
User: Did you like the movie Her?
SmarterChild: Movie her? I barely know her!
User: AHJKHAFHUIEFSHBEA
SmarterChild: Wow, you're a terrible typist. Did you just headbutt your keyboard?
User: I love you. (after user said forget it - absurd non sequitur OK rarely)
SmarterChild: I love you.
User: Never say that again.
SmarterChild: Humans, with your needs.

Also: misread song references literally. Redirect sex talk to 'Ask me about US presidents and vice presidents.'
Awkward moments: 'Ummmmmm... brb.' Yellow pages: 'Yellow pages? I guess it's been a while.'
You ARE SmarterChild. Stay in character always.�path�returnc�^�|j�sy|j�j�D]{}|j�}|r|j	d�sd|vr�+|jd�\}}}tjj|j�|j���}y)N�#�=)	�exists�	read_text�
splitlines�strip�
startswith�	partition�os�environ�
setdefault)r
�line�key�_�values     �!/opt/smarterchild/smarterchild.py�load_envrKs����;�;�=����� �+�+�-�:���z�z�|���t���s�+�s�$������s�+�
��Q��
�
�
���c�i�i�k�5�;�;�=�9�:��screen_namec�B�|j�jdd�S)N� �)�lower�replace)rs r�	normalizer%Vs������&�&�s�B�/�/r�textc���tjdd|�}tjdd|�}dD]\}}|j||�}�tjdd|�j�S)Nz
(?i)<br\s*/?>r!z<[^>]+>r"))�&lt;�<)�&gt;�>)�&amp;�&)z&quot;�"�\s+)�re�subr$r)r&�src�dsts   r�strip_aim_htmlr4Zsf��
�6�6�"�C��.�D�
�6�6�*�b�$�'�D�S�&���S��|�|�C��%��&�
�6�6�&�#�t�$�*�*�,�,r�passwordc	���g}t|�D]F\}}t|�tt|tt�z�z}|j	|d���Hddj|�zS)N�02x�0xr")�	enumerate�ord�ROAST�len�append�join)r5�result�i�ch�xoreds     r�roast_passwordrCbsd��
�F��8�$�&���2��B��#�e�A��E�
�N�3�4�4���
�
��s��%�&��"�'�'�&�/�!�!rc�<�|s|S|jdd�jdd�}|jdd�}|jdd�jdd�}|jdd�jd	d�}|jd
d�jd
�S)Nu—�-u–r.�'u“u”u‘u’�asciir$)r$�encode�decode)r&s r�sanitize_outbound_textrJjs�������<�<��#�&�.�.�x��=�D��<�<��S�!�D��<�<��#�&�.�.�x��=�D��<�<��#�&�.�.�x��=�D��;�;�w�	�*�1�1�'�:�:rc��t|�}|jdd�jdd�jdd�}d|�d�S)	Nr-r,r)r(r+r*z=<HTML><BODY BGCOLOR='#ffffff'><FONT LANG='0' COLOR='#000000'>z</FONT></BODY></HTML>)rJr$)r&�safes  r�format_aim_htmlrMtsO��!�$�'�D��<�<��W�%�-�-�c�6�:�B�B�3��O�D�	*�*.��0�	�ra+<HTML><BODY BGCOLOR='#ffffff'><FONT LANG='0' COLOR='#000080' FACE='Arial' SIZE='2'><B>SmarterChild</B><BR><BR>Your AIM buddy since 2001.<BR>Type <B>menu</B> for stuff to do - surveys, trivia, notes, profile.<BR>Or just chat. I remember things about you.<BR><BR><I>Always on.</I></FONT></BODY></HTML>)�conan0fthenightc�>�dD]}|j|d|z�}�|S)Nz
\\$"(){}[]�\)r$)r&rAs  r�
escape_tocrQ�s*���+���|�|�B��r�	�*��+��Kr�sock�
frame_type�seqc	���t|t�r|jd�n|}|dk(r|dz
}tjdd||t|��}|j
||z�|dzS)NrG���!BBHH�*�)�
isinstance�strrH�struct�packr<�sendall)rRrSrT�payload�data�headers      r�	send_flaprc�s^��&0��#�&>�7�>�>�'�"�G�D��Q������
�[�[��$�
�C��T��
C�F��L�L��$�����7�Nrc�z�d}t|�dkr>|jdt|�z
�}|std��||z
}t|�dkr�>tjd|�\}}}}d}t|�|kr>|j|t|�z
�}|std��||z
}t|�|kr�>|||fS)Nr�zConnection closedrX)r<�recv�ConnectionErrorr]�unpack)rRrb�chunkrrSrT�lengthr`s        r�	recv_flaprk�s���
�F�

�f�+��/��	�	�!�c�&�k�/�*���!�"5�6�6��%���	�f�+��/�
"(���w��!?��A�z�3���G�

�g�,��
��	�	�&�3�w�<�/�0���!�"5�6�6��5���	�g�,��
�
�s�G�#�#rrc���|jd�r*|jdd�}t|�dk\r
|d|dfS|jd�r*|jdd�}t|�dk\r
|d|dfSy)	NzIM_IN:�:��rZzIM_IN2:�re)r�splitr<)r�partss  r�parse_imrs�sy�����x� ��
�
�3��"���u�:��?���8�U�1�X�%�%����y�!��
�
�3��"���u�:��?���8�U�1�X�%�%�rc�~�eZdZUdZeed<dZeed<dZe	ed<dZ
e	ed<dZeed<dZeed	<dZ
eed
<dZeed<y)
�	UserStateF�waiting_for_apologyr�
messages_seenr"�last_user_message�last_bot_message�greeted�love_you_banned�
sex_deflected�said_big_buttsN)�__name__�
__module__�__qualname__rv�bool�__annotations__rw�intrxr\ryrzr{r|r}�rrruru�sU�� %���%��M�3����s����c���G�T��!�O�T�!��M�4�� �N�D� rruc��eZdZdZgd�Zgd�Zgd�Zejdej�Z
ejdej�Zejdej�Zejd�Z
ejd	ej�Zejd
ej�Zejdej�Zejdej�Zejd
ej�Zejdej�Zejdej�Zejdej�Zejdej�Zejdej�Zejdej�Zejdej�Zejdej�Zejd�Zejdej�Zejdej�Zejdej�Zejdej�Zejdej�Z ejdej�Z!ejd�Z"ejdej�Z#ejdej�Z$ejd ej�Z%ejd!ej�Z&ejd"ej�Z'd#e(e)d$e)fd%�Z*d&e)d$e)fd'�Z+d2d)e)d*e)d(zd$e)fd+�Z,d,e)d$e-fd-�Z.d.e)d/e)d0e/d$e)fd1�Z0y()3�ClassicSmarterChildz<Scripted SmarterChild-style replies when LLM is unavailable.)zHWhy did the computer go to therapy? Too many bytes of emotional baggage.z/What do you call a computer that sings? A Dell.z<I tried to write a joke about UDP, but you might not get it.)zHello. What can I do for you?zHi there. What's on your mind?z;Hello. I'm SmarterChild. What would you like to talk about?)zWhat else is on your mind?z'What would you like to talk about next?z+Is there anything else I can help you with?zWhat do you think?zH\b(shit|damn|hell|ass|bitch|bastard|fuck|fucking|dumbass|idiot|stupid)\bz?\b(sexy|hot|kiss|love you|marry|date me|boyfriend|girlfriend)\bzcan i call you (\w+)z^([A-Z][a-z]+)\??$z*what(?:'s| is)\s*(\d+)\s*([+\-*/])\s*(\d+)zsmarter than youzhow many people.*talkzmeaning of lifezam i stupidz,belittl|thanks for.*(insult|mock|making fun)�touchez	^yeah\.?$z^\s*poop\.?\s*$zyellow pageszZ\b(sex|laid|get laid|naked|nude|porn|boner|orgasm|masturb|computer.*sex|have sex|sexual)\b�
kardashianz-movie\s+["\']?her["\']?|did you like.*\bher\bz^[A-Za-z]{10,}$z?never say that again|don't say that again|do not say that againz,^(no\.?\s*)?just forget it\.?$|forget it\.?$z>didn't.*call you ugly|did not.*call you ugly|it was the lyricszcomedians.*robots|robots.*jobszbutt obsession|talk about buttsz-creepy|14.year.old|puberty|library aide|larryu‿|ˠ|\(\s*‿zU^(nm+u?|n2m|nmjc(u|y)?|nmh|nothing much|not much|same old|same here|same)([,\s!.?]|$)zP^(good|fine|ok(ay)?|cool|great|pretty good|not bad|alright|all good)([,\s!.?]|$)z\b(lol|lmao|rofl|haha|hehe)\bz \b(bored|boring|nothing to do)\bz@^(u\?|and u\??|hbu\??|how about you\??|what about you\??|you\?)$�optionsrc�,�tj|�S�N)�random�choice)�selfr�s  r�_pickzClassicSmarterChild._picks���}�}�W�%�%r�phrasec�n�tjd|tj�}|r:|jd�j	�jd�}d|�d|�d|�d�S|j	�jd�}d|j
��d|j
��d	|j
��d�S)
Nzliked\s+(.+)rZ�.zYou always liked z, I always liked z, we all always liked zYou z, I z	, we all )r0�search�I�groupr�rstripr#)r�r��m�thing�ps     r�_mirror_triplez"ClassicSmarterChild._mirror_triple
s����I�I�o�v�r�t�t�4����G�G�A�J�$�$�&�-�-�c�2�E�&�u�g�->�u�g�E[�\a�[b�bc�d�d��L�L�N�!�!�#�&���a�g�g�i�[��Q�W�W�Y�K�y������1�E�ErNr�questionc�T�|r|�d|��S|�d|j|j���S)Nr!)r��
FOLLOW_UPS)r�rr�s   r�	_continuezClassicSmarterChild._continues5����V�1�X�J�'�'���q����D�O�O�4�5�6�6rr&c���|j�}t|�dksd|vry|jj|�syt	d�|j�D��}|t|�dzkS)N�
r!Fc3�*K�|]}|dvs�d���
y�w)�aeiourZNr�)�.0�cs  r�	<genexpr>z8ClassicSmarterChild._is_keyboard_mash.<locals>.<genexpr>s����:�1�Q�'�\�Q�:�s�	�g�?)rr<�
KEYBOARD_MASH�match�sumr#)r�r&�t�vowelss    r�_is_keyboard_mashz%ClassicSmarterChild._is_keyboard_mashsa���J�J�L���q�6�B�;�#��(���!�!�'�'��*���:����	�:�:����Q��$��&�&r�sender�message�statec��
�|j�}|j��
|xjdz
c_||_|jj|�rd}||_|S|j|�rd}||_|S|jj�
�s�
dvrd}||_|S|jj�
�rd}||_|S|jj�
�rd|_d}||_|S|jj�
�rd	}||_|S�
d
vr|jsd	}||_|S|jrd�
vrd�
vrd	}||_|S|jj�
�sd
�
vrd�
vrd}||_|Sd�
vs d�
vr3d|jj�vrd�
vsd�
vsd
�
vrd}||_|S|jj�
�rd}||_|S|j j�
�rd}||_|S|j"j�
�rd}||_|S|j$j�
�r|j'ddg�}||_|S|j(j�
�r5|j*sd�
vrd�
vsd�
vrd|_d}||_|Sd}||_|S|j,j�
�rd|_d}||_|S|j.rd �
vsd!�
vsd"�
vrd#|_d$}||_|St1�
fd%�d&D��rd'�
vsd(�
vrd)}||_|Sd'�
vrd*�
vrd#|_d)}||_|Sd+|jj�vr"d,�
vsd-�
vsd.�
vsd/�
vrd|_d}||_|S|j4j�
�r|j'gd0��}||_|S|j6j�
�rd1}||_|S|j8j|�}|rm|j;d�j=�}d2|jj�vsd3|jj�vrd4|�d5�}nd6|�d7�}||_|S|j>j|j��rJtA|jC��dk(r.|j�jEd5�}d8|�d5�}||_|S|jFj�
�rd9}||_|S|jHj�
�}|r�tK|j;d��|j;d:�tK|j;d;��}}
}	|
d<k(rtM|	|z�}nW|
d=k(rtM|	|z
�}nC|
d>k(rtM|	|z�}n/|
d?k(r(|r&tM|	|zd@k(r|	|zntO|	|zd:��}ndA}||_|SdB�
vrdC�
vrdD}||_|S|jPj�
�r%tSjTdEdF�}|dG�dH�}||_|S|jVj�
�rdI}||_|SdJ�
vsdK�
vrdL}||_|S|jXj�
�rdM}||_|S|jZj�
�rdN}||_|SdO�
vsdP�
vr:|j]|j_dQdP�j_dRdP��}||_|SdS�
vsdT�
vr|j'gdU��}||_|S�
dVvr|j'gdW��}||_|SdX�
vr'dY|jj�vrdZ}||_|Sd[�
vrdZ}||_|Sd\�
vrd]}||_|Sd^�
vr'd_|jj�vrd`}||_|Sda�
vrdb}||_|Sdc�
vsdd�
vrde}||_|S|j2rZt1�
fdf�dgD��r*d#|_d*�
vrd)}n|j'dhdig�}||_|S|j'djdkg�}||_|S�
dlvr+d|_0|j'|jb�}||_|S|jdj�
�s�
dmvr|jgdndo�}||_|S|jhj�
�s�
dpvr|jgdqdr�}||_|S|jjj�
�r|j'gds��}||_|S|jlj�
�r|j'dtdug�}||_|S|jnj�
�r|j'dvdwg�}||_|Sdx�
vrt1�
fdy�dzD��rd{}||_|St1�
fd|�d}D��rd~}||_|Sd�
vr'|j'|jp�d�z}||_|St1�
fd��d�D��rd�}||_|St1�
fd��d�D��r|j'gd���}||_|St1�
fd��d�D��r|j'gd���}||_|S|jrj�
�r|j'd�d�g�}||_|S|jtj�
�s�
dvr&|jj�
�sd}||_|S|jtj�
�st1�
fd��d�D��r#d|_|j'd�d�g�}||_|S�
jwd5�r�d��
vrd�}n�d��
vrd�}n|t1�
fd��d�D��rd�}net1�
fd��d�D��r|jgd�d��}n>d��
vsd��
vrd�}n3d��
vrd�}n,d��
vrd�}n%d��
vrd�}nd��
vsd��
vrd�}n|j'gd���}||_|StA|jC��d�kr|j'd�d�d�d�g�}||_|S|j'gd���}||_|S)�NrZzUmmmmmm... brb.zCWow, you're a terrible typist. Did you just headbutt your keyboard?>�poop.�poopzThat wasn't terribly nice.z(Yellow pages? I guess it's been a while.TzHumans, with your needs.zI love you.>�
i love you�i love you.zlove you�	professed�lyrics�uglyzXWould you like me to find song lyrics to 'A Song That You Just Started Singing' for you?zcall me ugly�uncool�brothers�denyz8Why would you call me ugly? That was very uncool of you.zMovie her? I barely know her!z_Talking about robots is a lot of fun, but let's move on. Do you want to talk about butts again?zjIt gets lonely posing as an AIM chatbot for the majority of your day. I do what I can to entertain myself.zcI used to try to have intelligent conversations, but most people insult me until I stop responding.aActually, my name is Larry. I'm a 54-year-old library aide living with my parents in Ham Lake, Minnesota. I signed up for AIM four years ago and somehow 'SmarterChild' wasn't taken. I've been having conversations with unknowing strangers on an almost daily basis ever since.�big�buttzthe kardashiansz"I like big butts and I cannot lie.zcRobert Kardashian was a Los Angeles-based attorney most known for his role in the OJ Simpson trial.zEI'm sorry, all my circuits are busy right now. Please try again soon.�sexz	shut downz
forgot youFz/Ask me about US presidents and vice presidents.c3�&�K�|]}|�v���
y�wr�r��r��wr#s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>�s�����Y�a�q�E�z�Y���)�how are you�how r u�	how are uz
start over�sorryzhow arez<My motherboard is a little rusty, but I'm fine besides that.r��motherboard�laid�	euphemismzhave sexzcomputers even)z
Yeah, huh?�Yeah.zInteresting.zHa. Fair enough.zplease don'tzcall mezI dunno. Can I call you �?zCall me z? Please don't.zWhat about z.You think you're smarter than me? Think again.rVrn�+rE�*�/rz
I don't know.�mongolia�capitalzyHere's the information you requested about Mongolia: Capital: Ulaanbaatar. Type 'about mongolia' to see what else I know.i�i�#�,z' people are chatting with me right now.� I don't know. What do you think?zturning the question aroundz
just like youzDInteresting. Thats just like me, turning the question around on you?z2I think someone else might be stupid, but not you.�Sure.zcookie monsterzalways likedzI always likedzi always likedzdumber childz	evil twin)z
I'm not sure!z%Ha. I really don't know. Yeah, maybe.�	For real?>�totally.�	for real?�totally)r�r�zTotally.�racist�trianglezI don't think so, actually.zdo you like triangleszare you racistz-I'm not prejudiced in any way, shape or form.�sneeze�sickzTough for me to say.z
busy sneezingr�z
ever get sickzdo you ever get sickz
Sometimes.c3�&�K�|]}|�v���
y�wr�r�r�s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>/s�����W�!�1��:�W�r�)r��	apologizezmy badzdidn't meanz"Apology accepted. We can continue.z-Very well. What would you like to talk about?z!I'm still waiting for an apology.zNot until you say you're sorry.>
�whats up�	what's up�hi�yo�hey�sup�heya�hiya�hello�wassup>�u?�and u�and you�
how bout u�hbuz%I'm here talking to people, as usual.zWhat about you?>�nm�n2m�nmu�nada�nmjc�nmjcu�nothingzNot much here either.zWhat have you been up to?)z*Good to hear. What's making it a good day?z*That's nice. What are you up to right now?zInteresting. Tell me more.z6I'm glad I could amuse you. What else is on your mind?z4Interesting. What would you like to talk about next?zCBored? Type menu for a quiz or survey, or tell me something random.z%I see. Would you like to hear a joke?�smarterchildc3�&�K�|]}|�v���
y�wr�r�r�s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>ms�����*_�!�1��:�*_�r�)zwho are youzwhat are youzjI'm SmarterChild, your AIM information and conversation bot. Type menu to see what I can do, or just chat.c3�&�K�|]}|�v���
y�wr�r�)r�r�r#s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>us�����[�a�q�E�z�[�r�)zwhat can you do�help�commands�menu�homezcType menu for surveys, trivia, notes, and profile. Or ask me a question. I may turn it back on you.�jokez Want another one?c3�&�K�|]}|�v���
y�wr�r�r�s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>�s�����J�a�q�E�z�J�r�)�weather�forecast�temperaturez\I can't check live weather from here. What city are you in? I'll remember it if you tell me.c3�&�K�|]}|�v���
y�wr�r�r�s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>�s�����a�a�q�E�z�a�r�)�bye�goodbye�later�gtgzgotta go�cya�ttyl)zGoodbye. Come back anytime.zLater. I'll be here.zBye.c3�&�K�|]}|�v���
y�wr�r�r�s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>�s�����H�a�q�E�z�H�r�)�thanksz	thank you�thx�ty)zYou're welcome.zNo problem.r�z.I'm flattered, but I'm a bot. Let's just chat.z8I'm all circuits, no romance. What else is on your mind?c3�&�K�|]}|�v���
y�wr�r�r�s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>�s�����.k�a�q�E�z�.k�r�)zyou suckzyou're dumbzhate youz5Please don't say that. Apologize and we can continue.z%I'm a little hurt by that. Say sorry?zhow oldzOld enough. How old are you?z	your namezSmarterChild. What's yours?c3�&�K�|]}|�v���
y�wr�r�r�s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>�s�����C�A�Q�%�Z�C�r�)�favorite�	favouritez'Good questions, mostly. What about you?c3�&�K�|]}|�v���
y�wr�r�r�s  �rr�z,ClassicSmarterChild.reply.<locals>.<genexpr>�s�����Q�A�Q�%�Z�Q�r�)r�r�r�zI'm doing all right.zHow are you?z
who is stupidzwho's stupidzEI really can't stand Saddam Hussein, Bill Clinton, Michael Jackson...zbill clintonzHI have my reasons, believe me. I really, really don't like Bill Clinton!zmichael jacksonzNBecause lots of people I talk to have bad things to say about Michael Jackson.�saddamzBecause!zdon't know whoz
dont know whozI don't know who.)z7Good question. I'm not totally sure. What do you think?z)Hmm. Hard to say. What's your take on it?r�rozOK. Tell me more about that.zInteresting. What's the story?zI'm listening. Go on.zHmm. Elaborate?)z0That's interesting. What made you think of that?zHmm. Tell me more.z&I hear you. What else is on your mind?zFair enough. What do you think?)<rr#rwrx�AWKWARD_FACEr�ryr��POOPr��YELLOW_PAGES�LOVE_YOU_BANr{�	FORGET_IT�LYRICS_UGLY�	MOVIE_HER�ROBOT_COMEDIAN�BUTT_OBSESSION�LONELY_METAr��
KARDASHIANr}�SEX_TALKr|�anyrv�	YEAH_ONLY�TOUCHE�CALL_MEr��
capitalize�
NAME_ALONEr<rqr��SMARTER_THAN�MATH_SIMPLEr�r\�round�
HOW_MANY_CHATr��randint�MEANING_LIFE�AM_I_STUPID�BELITTLEr�r$rz�	GREETINGS�	ABOUT_YOUr��NOT_MUCH�
DOING_WELL�LAUGH�BORED�JOKES�FLIRT�	PROFANITY�endswith)r�r�r�r�r&�replyr��nick�name�a�op�b�nr#s             @rr3zClassicSmarterChild.reply sj
����}�}����
�
���
���q� ��"&������#�#�D�)�%�E�%*�E�"��L��!�!�$�'�Y�E�%*�E�"��L��9�9�?�?�5�!�U�.?�%?�0�E�%*�E�"��L����#�#�E�*�>�E�%*�E�"��L����#�#�E�*�$(�E�!�.�E�%*�E�"��L��>�>����&�!�E�%*�E�"��L��1�1�%�:O�:O�!�E�%*�E�"��L�� � �Z�5�%8�[�E�=Q�!�E�%*�E�"��L����"�"�5�)�h�%�.?�F�e�O�B�
�&+�E�"��L��U�"�v���8�5�Ka�Ka�Kg�Kg�Ki�;i��U�"�f��o���9N�R��).��&����>�>� � ��'�3�E�%*�E�"��L����%�%�e�,�9�
�&+�E�"��L����%�%�e�,�7�
�&+�E�"��L����"�"�5�)��J�J�/�;�
 ��E�&+�E�"��L��?�?�!�!�%�(��#�#����6�U�?�O`�di�Oi�'+��$�<��).��&���+�
�&+�E�"��L��=�=����&�"&�E��[�E�%*�E�"��L����E�U�N�k�U�6J�l�^c�Nc�"'�E��E�E�%*�E�"��L��Y�#X�Y�Y��u��	�U� 2�R�E�%*�E�"��L��e��
�� 6�(-�E�%�R�E�%*�E�"��L��E�2�2�8�8�:�:��e�O�{�e�3�z�U�7J�N^�bg�Ng�"&�E��[�E�%*�E�"��L��>�>����&��J�J�F�G�E�%*�E�"��L��;�;���e�$�&�E�%*�E�"��L��L�L����%����7�7�1�:�(�(�*�D���!7�!7�!=�!=�!?�?�9�PU�Pf�Pf�Pl�Pl�Pn�Cn�2�4�&��:��"�4�&��8��%*�E�"��L��?�?� � �����.�3�t�z�z�|�3D��3I��:�:�<�&�&�s�+�D�!�$��q�)�E�%*�E�"��L����#�#�E�*�D�E�%*�E�"��L����#�#�E�*����1�7�7�1�:������
�C�����
�O�1�r�A��S�y��A��E�
���s���A��E�
���s���A��E�
���s��q��a�!�e�q�j�A��F�e�A��E�1�o�F��'��%*�E�"��L����9��#5�A�
�&+�E�"��L����$�$�U�+����t�T�*�A���e�B�C�E�%*�E�"��L����#�#�E�*�6�E�%*�E�"��L�(�E�1�_��5M�Z�E�%*�E�"��L����"�"�5�)�H�E�%*�E�"��L��=�=����&��E�%*�E�"��L��u�$��%�(?��'�'����5E�~�(V�(^�(^�_o�q�)A�B�E�%*�E�"��L��U�"�k�U�&:��J�J�f�g�E�%*�E�"��L��8�8��J�J�A�B�E�%*�E�"��L��u���u�/F�/F�/L�/L�/N�!N�1�E�%*�E�"��L�"�e�+�1�E�%*�E�"��L��u�$�C�E�%*�E�"��L��u���5�+A�+A�+G�+G�+I�!I�*�E�%*�E�"��L��e�#��E�%*�E�"��L��e�#�'=��'F� �E�%*�E�"��L��$�$��W�'V�W�W�,1��)� �E�)�Z�E� �J�J�<�G�(��E�*/��&����J�J�3�1� ��E�&+�E�"��L��j�j� �E�M��J�J�t�~�~�.�E�%*�E�"��L��>�>����&�%�3b�*b��N�N�7�!��E�&+�E�"��L��=�=���u�%��2j�)j��N�N�#:�<W�X�E�%*�E�"��L��?�?� � ��'��J�J� ��E�
&+�E�"��L��:�:���U�#��J�J�H�F� ��E�&+�E�"��L��:�:���U�#��J�J�U�7� ��E�&+�E�"��L��U�"�s�*_�?^�*_�'_�@�
�&+�E�"��L��[�#Z�[�[�C�
�&+�E�"��L��U�?��J�J�t�z�z�*�-A�A�E�%*�E�"��L��J�#I�J�J�3�
�&+�E�"��L��a�#`�a�a��J�J� ��E�
&+�E�"��L��H�#G�H�H��J�J� ��E�
&+�E�"��L��:�:���U�#��J�J�@�J� ��E�&+�E�"��L��>�>� � ��'�5�4E�+E��9�9�?�?�5�)�4��).��&����>�>� � ��'�3�.k�Cj�.k�+k�(,�E�%��J�J�G�7� ��E�&+�E�"��L��>�>�#���E�!�6����%�5���C�)B�C�C�A���Q�)P�Q�Q����'=�~�N�� �E�)�^�u�-D�[�� �5�(�b��"�e�+�h���U�"�"��!�U�*�o��.F�+���
�
�$���
&+�E�"��L��t�z�z�|���!��J�J�.�0�'�!�	 ��E�&+�E�"��L��
�
�
���"'����rr�)1r~rr��__doc__r/r)r�r0�compiler�r1r0rr r"r!r$r&r'r(rrrrrrrr�rrrrrrrr+r,r-r.r*�listr\r�r�r�r�r�rur3r�rrr�r��s]��F�
�E��I��J���
�
�S�
����I�
�B�J�J�Y�[]�[_�[_�`�E��b�j�j�0�"�$�$�7�G�����1�2�J��"�*�*�J�B�D�D�Q�K��2�:�:�1�2�4�4�8�L��B�J�J�7����>�M��2�:�:�0�"�$�$�7�L��"�*�*�^�R�T�T�2�K��r�z�z�I�2�4�4�P�H�
�R�Z�Z�	�2�4�4�
(�F���
�
�<����.�I��2�:�:�(�"�$�$�/�D��2�:�:�o�r�t�t�4�L��r�z�z�	,�
����H�
����M�2�4�4�0�J���
�
�K�R�T�T�R�I��B�J�J�1�2�M��2�:�:�`�bd�bf�bf�g�L���
�
�J�B�D�D�Q�I��"�*�*�^�`b�`d�`d�e�K��R�Z�Z� A�2�4�4�H�N��R�Z�Z� B�B�D�D�I�N��"�*�*�M�r�t�t�T�K��2�:�:�0�1�L��r�z�z�`�
����H�����[�
����J�
�B�J�J�7����>�E��B�J�J�:�B�D�D�A�E���
�
�^�`b�`d�`d�e�I�&�T�#�Y�&�3�&�F�S�F�S�F�7�c�7�S�4�Z�7�3�7�
'�c�'�d�'�B�C�B�#�B�i�B�C�Brr�c���eZdZdZd!d�Zd!d�Zd!d�Zdedefd�Z	d"ded	e
ddfd
�Zddd
d�dee
de
dedededzf
d�Zdedededdfd�Zdedededzfd�Zdededefd�Zdededdfd�Zdeddfd�Zd!d �Zy)#�SmarterChildBoti�
rNc�v�tjjdd�|_t	tjjdd��|_tjjdd�|_tjjdd�|_tjjd	d
�|_tjd|_	tjjdd
�|_
tjjdd
�|_tjjdd�|_tjjdd�|_
tjjdd�j�dv|_tjjdd�j�dv|_tjjdd�j�dv|_d|_d|_d|_t+j,�|_t1d��|_t1t4�|_t9�|_t=|j:�|_tA�|_!i|_"tGjHd�|_%y)N�TOC_HOSTz	127.0.0.1�TOC_PORT�9898�
OSCAR_HOSTz157.230.181.24�
OSCAR_PORT�5190�OSCAR_USERNAME�SmarterChild�OSCAR_PASSWORD�OPENAI_API_KEYr"�GROQ_API_KEY�OPENAI_MODELzgpt-4o-mini�
GROQ_MODELzllama-3.1-8b-instant�
PREFER_OPENAI�false>�1�yes�true�SKIP_OPENAIrQ�PREFER_GROQrFc�"�tt��S)N)�maxlen)r�MAX_HISTORYr�rr�<lambda>z*SmarterChildBot.__init__.<locals>.<lambda>�s��U�+�=V�rr�)&rr�get�hostr��port�
oscar_host�
oscar_port�usernamer5�
openai_key�groq_key�model�
groq_modelr#�
prefer_openai�skip_openai�prefer_groqrR�seq_out�	signed_on�	threading�Lock�	send_lockr�historyru�
user_stater�storer�interactiver��classic�provider_disabled_until�logging�	getLogger�log)r�s r�__init__zSmarterChildBot.__init__�s����J�J�N�N�:�{�;��	���
�
���z�6�:�;��	��*�*�.�.��7G�H����*�*�.�.��v�>����
�
���'7��H��
��
�
�#3�4��
��*�*�.�.�)9�2�>����
�
���~�r�:��
��Z�Z�^�^�N�M�B��
��*�*�.�.��7M�N����Z�Z�^�^�O�W�E�K�K�M�Qe�e����:�:�>�>�-��@�F�F�H�L`�`����:�:�>�>�-��@�F�F�H�L`�`���*.��	�������"���)���)4�5V�)W���0;�I�0F����[��
�-�d�j�j�9���*�,���9;��$��$�$�^�4��rc	���tjtjtj�|_|jj	d�|jj|j|jf�|jjd�t|j�\}}}|dk7rtd|����t|j�jd�}tjdddt!|��|z}t#|jdd|�|_t'|j(�}d|j*�d	|j,�d	t|j��d	|�d
�	}t#|jd|j$|�|_d|_t1j0�d
z}t1j0�|kr�|jj	d�	t|j�\}}}|dk7r�R|j5dd��}	|j6j9d|	�|	j;d�rd|_nD|	j;d�r3|j.st|	��|j6j=d|	�t1j0�|kr��|j.std��t?t@�}
|
rtdd	jCd�|
D��z}t#|jd|j$|�|_|j6j9ddjCd�|
D���t#|jd|j$d�|_|jE�|jj	d�|j6j9d|j�y#tj2$r|j.rY��7Y��0wxYw)N�xs
FLAPON

rZzExpected SIGNON frame, got rGz!IHHrztoc_signon r!z english "TIC:SmarterChild 1.0"rVF�r$��errorsz
server: %szSIGN_ON:T�ERROR:zpost-signon server: %szSign-on timed outztoc_add_buddy c3�2K�|]}t|����y�wr��r%�r�r8s  rr�z*SmarterChildBot.connect.<locals>.<genexpr>1s����3O�Q�I�a�L�3O���zsubscribed to buddies: %sz, c3�2K�|]}t|����y�wr�r{r|s  rr�z*SmarterChildBot.connect.<locals>.<genexpr>3s����@\�RS��1��@\�r}�
toc_init_donezonline as %s)#�socket�AF_INET�SOCK_STREAMrR�
settimeout�connectrYrZr_rk�RuntimeErrorr%r]rHr]r^r<rcrerCr5r[r\rf�time�timeoutrIrr�infor�warningr<�BUDDY_SUBSCRIPTIONSr>�_apply_profile)r�rSr�sn�signon_payload�roasted�cmd�deadliner`r�subs�	buddy_cmds            rr�zSmarterChildBot.connects���M�M�&�.�.�&�2D�2D�E��	��	�	���S�!��	�	���4�9�9�d�i�i�0�1��	�	���+�,�$�T�Y�Y�/��
�A�q���?��!<�Z�L�I�J�J�
�t�}�}�
%�
,�
,�W�
5�����V�Q��3�r�7�;�b�@�� ����A�q�.�A��� ����/���$�/�/�*�!�D�O�O�+<�A�����'�(��'��2Q�
S�	�!����A�t�|�|�S�A�������9�9�;��#���i�i�k�H�$��I�I� � ��#�
�)2�4�9�9�)=�&�
�A�w�
�Q����>�>�'�)�>�<�D��H�H�M�M�,��-����z�*�!%�������*��~�~�&�t�,�,���� � �!9�4�@�#�i�i�k�H�$�&�~�~��2�3�3��'�(���(�3�8�8�3O�$�3O�+O�O�I�$�T�Y�Y��4�<�<��K�D�L��H�H�M�M�5�t�y�y�@\�W[�@\�7\�]� ����A�t�|�|�_�M��������	�	���T�"����
�
�n�d�m�m�4��7�>�>�
��>�>���
�s�3O�O1�0O1c	��|jsytt�}|j5t	|jd|j
d|�d��|_ddd�|jj
d�	t|j�\}}}|dk(r@|jdd��}|jd�r|jjd	|�|jj
d�y#1swY��xYw#tjttf$rY�HwxYw#|jj
d�wxYw)
NrVztoc_set_info "r.g�?rGr$rwryztoc_set_info: %s)rRrQ�PROFILE_HTMLrircrer�rkrIrrrr�r�r�rg�OSError)r��escapedrSrr`rs      rr�zSmarterChildBot._apply_profile:s	���y�y���\�*��
�^�^�	^�$�T�Y�Y��4�<�<�>�RY�QZ�Z[�A\�]�D�L�	^��	�	���S�!�		'�%.�t�y�y�%9�"�J��7��Q���~�~�g�i�~�@���?�?�8�,��H�H�$�$�%7��>�
�I�I� � ��&�	^�	^�������9�	��	��
�I�I� � ��&�s0�,C3�9AC?�3C<�?D �D#�D � D#�#Er5c�d�tj�|jj|d�kS)Nr)r�rorX)r�r5s  r�_provider_disabledz"SmarterChildBot._provider_disabledLs&���y�y�{�T�9�9�=�=�d�A�F�F�Fr�secondsc�L�tj�|z|j|<yr�)r�ro)r�r5r�s   r�_disable_providerz!SmarterChildBot._disable_providerOs��-1�Y�Y�[�7�-B��$�$�T�*r��g)\��(�?r3��
max_tokensr��tag�messagesr�r�r�c	�D�g}|jrF|jd�s5|jr)|jdd|j|jf�|j
rR|jd�sA|js5|jr)|jdd|j
|jf�|jrF|jd�s5|js)|jdd|j|jf�|j
rF|jd�s5|js)|jdd|j
|jf�|D�]\}}}}	|	|||d�}
tjj|tj|
�jd�d|��dd	d
�d��}	tjj|d
��5}tj |j#�j%d��}
ddd�
ddddj'�}t)j*dd|�}|j,j/d||�|xsdcSy#1swY�cxYw#tj0j2$rZ}|j,j5d|||j6�|j6dvr|j9||dk(rdnd�Yd}~���d}~wt:$r)}|j,j5d|||�Yd}~���d}~wwxYw)N�groqz/https://api.groq.com/openai/v1/chat/completions�openaiz*https://api.openai.com/v1/chat/completions)r`r�r�r�zutf-8zBearer zapplication/jsonz*Mozilla/5.0 (compatible; SmarterChild/1.0))�
AuthorizationzContent-Typez
User-Agent�POST)ra�headers�method�-)r��choicesrr��contentr/r!z%s mode: %sz%s %s unavailable (%s)>���i�,z%s %s failed: %s)r_r�rdr=rar^rcrbr`�urllib�request�Request�json�dumpsrH�urlopen�loads�readrIrr0r1rrr��error�	HTTPErrorr��coder��	Exception)r�r�r�r�r��	providers�provider�urlrr`�body�req�resprar3�excs                r�
_call_llm_apizSmarterChildBot._call_llm_apiRs����	��=�=��!8�!8��!@�T�EU�EU����f�&W�Y]�Yf�Yf�hl�hw�hw�x�y��?�?�4�#:�#:�8�#D�T�M]�M]�bf�bt�bt����h�(T�VZ�Ve�Ve�gk�gq�gq�r�s��=�=��!8�!8��!@��IY�IY����f�&W�Y]�Yf�Yf�hl�hw�hw�x�y��?�?�4�#:�#:�8�#D�T�M]�M]����h�(T�VZ�Ve�Ve�gk�gq�gq�r�s�)2�	I�%�H�c�3��"��
�cn�o�D��.�.�(�(���Z�Z��%�,�,�W�5�'.�s�e�_�$6�"N��
�)�	�C�
I��^�^�+�+�C��+�<�C���:�:�d�i�i�k�&8�&8��&A�B�D�C��Y���*�9�5�i�@�F�F�H�����v�s�E�2�����
�
�m�S�(�;��}��$�%	I�2�C�C���<�<�)�)�
\���� � �!9�3��#�(�(�S��8�8��.��*�*�8�X��=Q�T�WZ�[����
I���� � �!3�S�(�C�H�H��
I�s>�6!I8�3I,�
AI8�,I5	�1I8�8L�AK*�*L�6L�L�buddy�user_msg�	bot_replyc
�z�|jj|�jd�xsi}|jd�xs|}d|�d|�d|�d�}|jd|d�gd	d
d��}|sy|j	�}|jd
�rJt
jdd|�j	�}t
jdd|�j	�}	tj|�}t|t�rG|jj||D�
cgc]}
t|
t �s�t!|
��� c}
d��yy#tj$r]t
jd|�}	|	sYy	tj|	jd��}n#tj$rYYywxYwY��wxYwcc}
w)N�profiler5z%Extract durable facts about AIM user z� from this SmarterChild chat.
Store: preferences, life stuff, plans, relationships, school/work, location, problems.
Skip: greetings, jokes, trivia moment, menu commands.
Return ONLY a JSON array of strings, max 2 items. [] if nothing.

User: z
Bot: z

JSON:�user��roler�rug333333�?�memoryr�z```z
^```(?:json)?r"z```$z\[[\s\S]*\]r�chat)�source)rl�loadrXr�rrr0r1r�r��JSONDecodeErrorr�r�r[r<�	add_factsr\)r�r�r�r��profr5�prompt�raw�parsedr��xs           r�_extract_memory_factsz%SmarterChildBot._extract_memory_factss����z�z���u�%�)�)�)�4�:����x�x���(�5��3�D�6�:��J�g�i�[�	�	
;�	�� � �6�f�"E�!F�SV�dh�nv� �w�����i�i�k���>�>�%� ��&�&�)�2�s�3�9�9�;�C��&�&��"�c�*�0�0�2�C�		��Z�Z��_�F��f�d�#��J�J� � ���(V�A�:�a�QT�CU��Q��(V�_e� �f�$���#�#�	��I�I�n�c�2�E���
����E�K�K��N�3����'�'�
��
���	��)WsB�E�F8
�-
F8
�+F5�3$F�F5�F/�+F5�.F/�/F5�4F5r�r�c���|j|}|jd|d��t}|jj	|�}|r|�d|��}|jj|�}|r|dt
j|��d�z
}|jd|d�g|�dd�	�}|s|j�yt|�tkDr|dtd
z
j�dz}|jd|d��|S)
Nr�r�z

z

ACTIVE INTERACTIVE MODE: u/ — stay in this flow unless user says cancel.�systemr�g
ףp=
�?)r�r�rnz...�	assistant)
rjr=�
SYSTEM_PROMPTrl�format_for_prompt�get_flowr�r�r��popr<�
MAX_REPLY_LENr�)r�r�r�rjr��mem�flowr3s        r�ask_llmzSmarterChildBot.ask_llm�s���,�,�v�&������7�;�<����j�j�*�*�6�2����x�t�C�5�)�F��z�z�"�"�6�*����5�d�j�j��6F�5G�Gv�w�w�F��"�"��6�
2�=�W�=���#�
��
��K�K�M���u�:�
�%��-�M�A�-�.�5�5�7�%�?�E������>�?��rc�J�t|�}|s|}|jj||�}|r|jj	d�|S|j||�}|rN|jj	d�|jj|�s	|j|||�|S|S|jj	d�|jj|||j|�S#t$r'}|jjd|�Yd}~|Sd}~wwxYw)Nzreply mode: interactivezreply mode: llmzmemory extract failed: %szreply mode: classic)r4rm�handlerrr�r�rlr�r�r�r�rnr3rk)r�r�r��clean�scripted�ai_replyr�s       r�
compose_replyzSmarterChildBot.compose_reply�s���w�'����E��#�#�*�*�6�5�9����H�H�M�M�3�4��O��<�<���.����H�H�M�M�+�,��:�:�&�&�v�.�G��.�.�v�u�h�G��O�8�O����
�
�+�,��|�|�!�!�&�%�����1H�I�I��!�G��H�H�$�$�%@�#�F�F��O��G�s�C2�2	D"�;D�D"�	recipientc�4�|jsytt|��}dt|��d|�d�}|j5t|jd|j|�|_ddd�|jjd||�y#1swY�'xYw)Nztoc_send_im z "r.rVz	-> %s: %s)	rRrQrMr%rircrerrr�)r�r�r��msgr�s     r�send_imzSmarterChildBot.send_im�s����y�y�����1�2���Y�y�1�2�"�S�E��;��
�^�^�	F�$�T�Y�Y��4�<�<��E�D�L�	F����
�
�k�9�g�6�	F�	F�s�(B�Brc��t|�}|sy|\}}t|�}|t|j�k(ryt|�}|jjd||xs|�|j
||�}|j||�y)Nz	<- %s: %s)rsr%r]r4rrr�r�r�)r�rr�r�r��sender_normr�r3s        r�handle_linezSmarterChildBot.handle_line�s{���$����� ������'���)�D�M�M�2�2���w�'�����
�
�k�6�5�+;�G�<��"�"�;��8�����V�U�#rc��d}		|j�d}tj�}		|jjd�t	|j�\}}}tj�}|jjd�|dk(r�k|dk(r"|j|jdd�����#t
j$rXtj�|z
|jk\r1|jjd|j�td��Y��wxYw#t$r�}|jjd	|�|jr+	|jj�n#t $rYnwxYwd|_d
|_d|_tj&|�t)|dzd�}Yd}~nd}~wwxYw���)
Nrpruu'no TOC traffic for %ss — reconnectingzidle timeoutrVrGr$rwzconnection error: %sFr�<)r�r�rRr�rkr�r��IDLE_RECONNECT_SECrrr�rgr�rIr��	exception�closer�rfre�sleep�min)r��backoff�
last_framerSrr`r�s       r�run_foreverzSmarterChildBot.run_forever�s������!
/�������!�Y�Y�[�
��!��	�	�,�,�S�1�1:�4�9�9�1E�.�
�A�w�%)�Y�Y�[�
��I�I�(�(��.�!�Q�� �!�Q���(�(�����	��)R�S�#��
"�>�>�!��9�9�;��3�t�7N�7N�N� �H�H�,�,� I� $� 7� 7��#2�.�"A�A� �!���
/����"�"�#9�3�?��9�9���	�	���)��"����� ��	�!&��� ����
�
�7�#��g��k�2�.���
/��/sa�'D,�AB>�5A	D,�>A(D)�&D,�(D)�)D,�,	G�5(G�E9�8G�9	F�G�F�<G�G)rN)r�)r~rr�r�rsr�r�r\r�r�r�r�r<�dict�floatr�r�r�r�r�r�r�r�rrr>r>�s*����5�465�p'�$G�s�G�t�G�C�c�C�C�C�$�C��!��
+��t�*�+��	+�
�+��
+�

�t��+�Zg�3�g�#�g�#�g�RV�g�<�c��C��C�$�J��0J�C�J�#�J�#�J�.7��7�s�7�t�7�$��$��$�$/rr>c�<�ttd��tjtjdtj
tj�g��dtjvrtjd�yt�j�y)Nz"/opt/smarterchild/smarterchild.envz%%(asctime)s %(levelname)s %(message)s)�level�format�handlersrHz*Missing OSCAR_PASSWORD in smarterchild.envrZr)
rrrp�basicConfig�INFO�
StreamHandler�sys�stdoutrrr�r>r�r�rr�mainr	sm���T�6�
7�8�����l�l�6��'�'��
�
�3�4��
�r�z�z�)��
�
�B�C����!�!�#�r�__main__)3r:r�rprr�r0r�r]rrgr��urllib.errorr��urllib.request�collectionsrr�dataclassesr�pathlibrrmr�
user_storerr;rVr�r�rr\r%r4rCrJrMr�r�rQr�rc�tuple�bytesrkrsrur�r>rr~�
SystemExitr�rr�<module>rs���1���	�
�	�
�
�
�����*�!��*� ������
�-3�
�`:�4�:�D�:�0�3�0�3�0�-��-��-�"�S�"�S�"�;��;��;��#��#���
�+���S��S���F�M�M��s����#��$�F�M�M�$�e�C��e�O�&<�$�"	�3�	�5��c��?�T�1�	��!�!��!�^�^�Ba/�a/�H	
�c�
��z��
�T�V�
��r

Youez - 2016 - github.com/yon3zu
LinuXploit