Files
timmy-config/allegro/goap/__pycache__/actions.cpython-312.pyc

274 lines
39 KiB
Plaintext
Raw Normal View History

2026-03-31 20:02:01 +00:00
<EFBFBD>
<00>P<EFBFBD>ib<69><00>
<00>
<00>dZddlmZmZddlmZmZddlmZm Z m
Z
m Z m Z m Z mZddlmZmZddlZddlZddlZddlZddlmZddlmZGd <09>d
e<10>ZeGd <0B>d <0C><00>ZGd <0A>de<02>ZGd<0F>de<1B>ZGd<11>de<1B>ZGd<13>de<1B>ZGd<15>de<1B>ZGd<17>de<1B>Z Gd<19>de<1B>Z!Gd<1B>de<1B>Z"Gd<1D>de<1B>Z#Gd<1F>d e<1B>Z$Gd!<21>d"e<1B>Z%Gd#<23>d$e<1B>Z&Gd%<25>d&e<1B>Z'Gd'<27>d(e<1B>Z(Gd)<29>d*e<1B>Z)Gd+<2B>d,<2C>Z*e*<2A>Z+e,d-k(r<>e-d.<2E>e*<2A>Z.e-d/<2F>e.j_<00>D]2Z0e-d0e0jb<00>d1e0jd<00>d2e0jf<00>d3<64><07><00>4e-d4<64>e.ji<00>Z5e-d5e5d6<00><00><02>e-d7e5d8<00><00><02>e-d9<64>d:d;d<d=<3D>d>d?gid@dAidB<64>Z6e.joe6<65>Z8e-dCe9e8<65><00><00><02>e8D]Z0e-dDe0jb<00><00><02><00>yy)Ezz
GOAP Actions Module - Allegro-Primus Child Autonomy System
Defines all available actions with preconditions and effects.
<EFBFBD>)<02>ABC<42>abstractmethod)<02> dataclass<73>field)<07>Dict<63>List<73>Optional<61>Callable<6C>Any<6E>Set<65>Union)<02>Enum<75>autoN)<01>Path)<01>datetimec<00>V<00>eZdZdZe<04>Ze<04>Ze<04>Ze<04>Ze<04>Z y)<03> ActionStatuszStatus of an actionN)
<EFBFBD>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__r<00>PENDING<4E>RUNNING<4E>SUCCESS<53>FAILED<45> CANCELLED<45><00><00>/root/allegro/goap/actions.pyrrs(<00><00><1D><12>f<EFBFBD>G<EFBFBD><12>f<EFBFBD>G<EFBFBD><12>f<EFBFBD>G<EFBFBD> <11>V<EFBFBD>F<EFBFBD><14><06>Irrc<00><><00>eZdZUdZeed<eed<dZeed<e e
<EFBFBD><06>Z e ee fed<dZeed <d
Zeeed <e e
<EFBFBD><06>Ze ee fed <edded e fd<0E><05>Zedd edefd<0F><05>Zy
)<12> ActionResultzResult of executing an action<6F>success<73>status<75><00>message)<01>default_factory<72>effects_applied<65><00>execution_timeN<65>error<6F>metadata<74>effectsc <00>@<00>|ddtj||xsid<02>|<03><01>S)NT)r"r#r%r'r)rr)<04>clsr%r,<00>kwargss r<00>success_resultzActionResult.success_result's4<00><00><12>
<EFBFBD><18><1F>'<27>'<27><1B>#<23>M<EFBFBD>r<EFBFBD> 
<EFBFBD>
<15> 
<EFBFBD>
rc <00>@<00>|ddtj|xs||d<02>|<03><01>S)NF)r"r#r%r*r)rr)r.r*r%r/s r<00>failure_resultzActionResult.failure_result1s5<00><00><12>
<EFBFBD><19><1F>&<26>&<26><1B>$<24>u<EFBFBD><17> 
<EFBFBD>
<15> 
<EFBFBD>
r)r$N)r$)rrrr<00>bool<6F>__annotations__rr%<00>strr<00>dictr'rr r)<00>floatr*r r+<00> classmethodr0r2rrrr!r!s<><00><00>'<27> <11>M<EFBFBD> <18><18><15>G<EFBFBD>S<EFBFBD><15>&+<2B>D<EFBFBD>&A<>O<EFBFBD>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E>A<><1F>N<EFBFBD>E<EFBFBD><1F><1F>E<EFBFBD>8<EFBFBD>C<EFBFBD>=<3D><1F>$<24>T<EFBFBD>:<3A>H<EFBFBD>d<EFBFBD>3<EFBFBD><03>8<EFBFBD>n<EFBFBD>:<3A><10>
<EFBFBD>S<EFBFBD>
<EFBFBD><04>
<EFBFBD><11>
<EFBFBD><11>
<EFBFBD>3<EFBFBD>
<EFBFBD><13>
<EFBFBD><11>
rr!c <00>4<00>eZdZdZ ddededeeeefdeeeefdef
d<08>Z d eeefd
e
fd <0B>Z d eeefd
eeeffd <0C>Z d eeefd
eeeffd <0A>Z edeeefd
efd<0F><04>Zdeded
efd<12>Zdededefd<14>Zdeded
e
fd<17>Zded
efd<18>Zd
efd<19>Zy)<1B>Actionz#Abstract base class for all actionsN<73>name<6D>cost<73> preconditionsr,<00>categoryc<00><><00>||_||_|xsi|_|xsi|_||_d|_d|_d|_y)Nrr()r;r<r=r,r><00>execution_count<6E> success_count<6E>total_execution_time)<06>selfr;r<r=r,r>s r<00>__init__zAction.__init__?sI<00><00><19><04> <09><18><04> <09>*<2A>0<>b<EFBFBD><04><1A><1E>}<7D>"<22><04> <0C> <20><04> <0A> <20><04><1C><1E><04><1A>$'<27><04>!r<00> world_state<74>returnc<00><><00>|jj<00>D]+\}}|j||<02>}|j||<03>r<01>+yy)zCheck if preconditions are metFT<46>r=<00>items<6D>_get_nested_value<75>_compare_values)rCrE<00>key<65>expected_value<75> actual_values r<00>check_preconditionszAction.check_preconditionsPsO<00><00>#'<27>#5<>#5<>#;<3B>#;<3B>#=<3D> <1D> <1F>C<EFBFBD><1E><1F>1<>1<>+<2B>s<EFBFBD>C<>L<EFBFBD><17>'<27>'<27> <0C>n<EFBFBD>E<><1C> <1D>rc<00><><00>i}|jj<00>D]2\}}|j||<03>}|j||<04>r<01>+||d<01>||<<00>4|S)zGet list of unmet preconditions)<02>expected<65>actualrH)rCrE<00>unmetrLrMrNs r<00>get_unmet_preconditionszAction.get_unmet_preconditionsXsc<00><00><12><05>#'<27>#5<>#5<>#;<3B>#;<3B>#=<3D> R<01> <1F>C<EFBFBD><1E><1F>1<>1<>+<2B>s<EFBFBD>C<>L<EFBFBD><17>'<27>'<27> <0C>n<EFBFBD>E<>*8<>L<EFBFBD>Q<><05>c<EFBFBD>
<EFBFBD> R<01><15> rc<00><><00>|j|<01>}|jj<00>D]\}}|j|||<04><00>|S)z0Apply effects to world state (returns new state))<04>
_deep_copyr,rI<00>_set_nested_value)rCrE<00> new_staterL<00> effect_values r<00> apply_effectszAction.apply_effectsasK<00><00><18>O<EFBFBD>O<EFBFBD>K<EFBFBD>0<> <09>!%<25><1C><1C>!3<>!3<>!5<> A<01> <1D>C<EFBFBD><1C> <10> "<22> "<22>9<EFBFBD>c<EFBFBD><<3C> @<40> A<01><18>r<00>contextc<00><00> K<00>y<01>w)z$Execute the action in the real worldNr)rCr[s r<00>executezAction.executehs <00><00><><00> <0A>s<00><01>drLc<00><><00>|jd<01>}|}|D]%}t|t<00>r|j|<05>}<04>%y|S)z-Get value from nested dict using dot notation<6F>.N)<04>split<69>
isinstancer6<00>get)rCr^rL<00>keys<79>value<75>ks rrJzAction._get_nested_valuemsD<00><00><12>y<EFBFBD>y<EFBFBD><13>~<7E><04><11><05><15> <1C>A<EFBFBD><19>%<25><14>&<26><1D> <09> <09>!<21> <0C><05><1B>  <1C>
<15> rrec<00>j<00>|jd<01>}|}|ddD]}||vri||<||}<05>|||d<y)z+Set value in nested dict using dot notationr`N<><4E><EFBFBD><EFBFBD><EFBFBD>)ra)rCr^rLrerd<00>currentrfs rrWzAction._set_nested_valuexsS<00><00><12>y<EFBFBD>y<EFBFBD><13>~<7E><04><13><07><15>c<EFBFBD>r<EFBFBD><19> !<21>A<EFBFBD><10><07><1F><1F><07><01>
<EFBFBD><1D>a<EFBFBD>j<EFBFBD>G<EFBFBD> !<21>"<22><07><04>R<EFBFBD><08>rrRrQc<00><><00>t|t<00>r<>d|vr<>|d}|d}|dk(r |duxrt|<01>t|<04>kDS|dk(r |duxrt|<01>t|<04>k\S|dk(r |duxrt|<01>t|<04>kS|dk(r |duxrt|<01>t|<04>kS|d k(r
|r|duS|duS|d
k(rt|t
t f<02>r||vSdS|d k(r|r t|<01>Sd S||k(S#ttf$rYywxYw#ttf$rYywxYw#ttf$rYywxYw#ttf$rYywxYw) z4Compare actual vs expected values with type coercion<6F> _operator<6F>_value<75>gtNF<4E>gte<74>lt<6C>lte<74>exists<74>contains<6E> not_emptyT)rbr6r7<00> TypeError<6F>
ValueError<EFBFBD>listr5r3)rCrRrQ<00>op<6F>targets rrKzAction._compare_values<65>s<><00><00> <15>h<EFBFBD><04> %<25>+<2B><18>*A<><19>+<2B>&<26>B<EFBFBD><1D>h<EFBFBD>'<27>F<EFBFBD><11>T<EFBFBD>z<EFBFBD>!<21>!<21><14>-<2D>O<>%<25><06>-<2D>%<25><06>-<2D>2O<32>O<><14>u<EFBFBD><1B>!<21>!<21><14>-<2D>P<>%<25><06>-<2D>5<EFBFBD><16>=<3D>2P<32>P<><14>t<EFBFBD><1A>!<21>!<21><14>-<2D>O<>%<25><06>-<2D>%<25><06>-<2D>2O<32>O<><14>u<EFBFBD><1B>!<21>!<21><14>-<2D>P<>%<25><06>-<2D>5<EFBFBD><16>=<3D>2P<32>P<><14>x<EFBFBD><1E>-3<>v<EFBFBD>T<EFBFBD>)<29>G<><16>4<EFBFBD><1E>G<><13>z<EFBFBD>!<21>+5<>f<EFBFBD>t<EFBFBD>S<EFBFBD>k<EFBFBD>+J<>v<EFBFBD><16>'<27>U<>PU<50>U<><13>{<7B>"<22>'-<2D>t<EFBFBD>F<EFBFBD>|<7C>7<>4<EFBFBD>7<><15><18>!<21>!<21><>1"<22>:<3A>.<2E>!<21> <20>!<21><>
"<22>:<3A>.<2E>!<21> <20>!<21><>
"<22>:<3A>.<2E>!<21> <20>!<21><>
"<22>:<3A>.<2E>!<21> <20>!<21>sG<00>C4<00>D <00>+D<00>D3<00>4D<03>D<03> D<03>D<03>D0<03>/D0<03>3E<03>Ec<00>R<00>tjtj|<01><00>S)zDeep copy a dict)<03>json<6F>loads<64>dumps)rCr^s rrVzAction._deep_copy<70>s<00><00><13>z<EFBFBD>z<EFBFBD>$<24>*<2A>*<2A>Q<EFBFBD>-<2D>(<28>(rc <00>*<00>|j|j|j|j|j|j
|j |j td|j
<00>z |jtd|j
<00>z d<02> S)N<>) r;r<r>r=r,r@rA<00> success_rate<74>avg_execution_time) r;r<r>r=r,r@rA<00>maxrB<00>rCs r<00>to_dictzAction.to_dict<63>sy<00><00><18>I<EFBFBD>I<EFBFBD><18>I<EFBFBD>I<EFBFBD><1C> <0A> <0A>!<21>/<2F>/<2F><1B>|<7C>|<7C>#<23>3<>3<>!<21>/<2F>/<2F> <20>.<2E>.<2E><13>Q<EFBFBD><04>8L<38>8L<38>1M<31>M<>"&<26>";<3B>";<3B>c<EFBFBD>!<21>T<EFBFBD>EY<45>EY<45>>Z<>"Z<>

<EFBFBD>
r)<04><00>?NN<4E>general)rrrrr5r7r rr rDr3rOrTrZrr!r]rJrWrKrVr<>rrrr:r:<s\<00><00>-<2D>
<1A>26<32>,0<>!<21> (<28><11>(<28><14>(<28> <20><04>S<EFBFBD>#<23>X<EFBFBD><0E>/<2F> (<28>
<1A>$<24>s<EFBFBD>C<EFBFBD>x<EFBFBD>.<2E>)<29> (<28> <16> (<28>"<14>t<EFBFBD>C<EFBFBD><13>H<EFBFBD>~<7E><14>$<24><14><15>4<EFBFBD><03>S<EFBFBD><08>><3E><15>d<EFBFBD>3<EFBFBD>PS<50>8<EFBFBD>n<EFBFBD><15><19><14>c<EFBFBD>3<EFBFBD>h<EFBFBD><1E><19>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><19><14> <0A>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E> <0A> <0C> <0A><14> <0A> <15>4<EFBFBD> <15>c<EFBFBD> <15>c<EFBFBD> <15>"<22>4<EFBFBD>"<22>c<EFBFBD>"<22>#<23>"<22>!"<22>c<EFBFBD>!"<22>S<EFBFBD>!"<22>T<EFBFBD>!"<22>F)<29>D<EFBFBD>)<29>T<EFBFBD>)<29> 
<EFBFBD><14> 
rr:c<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>CheckSystemHealthzCheck overall system healthc<00>X<00><01>t<00>|<00>ddidtj<00>d<04>d<05><06>y)N<>check_system_healthr<68>T)zsystem.health_checkedzsystem.last_check_time<6D>system<65>r;r<r=r,r><00><03>superrD<00>time<6D>rC<00> __class__s <20>rrDzCheckSystemHealth.__init__<5F>s4<00><><00> <0A><07><18>&<26><14><1C>)-<2D>*.<2E>)<29>)<29>+<2B><0E><1E> <19>
rr[rFc<00><00>K<00>tj<00>} tjgd<01>ddd<03><04>}tjddgddd<03><04>}tjdgddd<03><04>}tj<00>|z
}tj dd |j
|j
|j
d
<EFBFBD>|d d i<01> <0A>S#t $r@}tjt|<07>dtj<00>|z
<00><0F>cYd}~Sd}~wwxYw<01>w)N)<03>dfz-h<>/T<>
<00><03>capture_output<75>text<78>timeout<75>freez-m<>uptimezSystem health check completed<65>checked)zsystem.health_statuszsystem.disk_infozsystem.memory_infozsystem.load_info<66>checks_performed<65><00>r%r,r)r+zSystem health check failed<65>r*r%r)) r<><00>
subprocess<EFBFBD>runr!r0<00>stdout<75> Exceptionr2r5)rCr[<00>
start_time<EFBFBD> df_result<6C>
mem_result<EFBFBD> load_resultr)<00>es rr]zCheckSystemHealth.execute<74>s <00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD>+ <0E>"<22><0E><0E>!<21>#<23><19><1A> <0E>I<EFBFBD>$<24><1E><1E><17><14><0E>#<23><19><1A> <0E>J<EFBFBD>%<25>.<2E>.<2E><19>
<EFBFBD>#<23><19><1A> <0E>K<EFBFBD>"<22>Y<EFBFBD>Y<EFBFBD>[<5B>:<3A>5<>N<EFBFBD><1F>.<2E>.<2E>7<>,5<>(1<>(8<>(8<>*4<>*;<3B>*;<3B>(3<>(:<3A>(:<3A> <12> .<2E>,<2C>a<EFBFBD>0<>/<2F>
<0E>
<0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>4<>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s5<00>D <01>B$B=<00><D <01>= D<03>5D<03>;D<03><D <01>D<03>D <01> rrrrrDrr5r r!r]<00> __classcell__<5F>r<>s@rr<>r<><00>s&<00><><00>%<25>

<EFBFBD>-<0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E>-<0E> <0C>-rr<>c<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>CleanupResourcesz&Clean up temporary files and resourcesc<00>><00><01>t<00>|<00>dddddd<06>iddd <09>d
<EFBFBD> <0B>y) N<>cleanup_resources<65>@<40>system.disk_percentrm<00>F<00>rkrlgN@T)r<><00>system.temp_files_cleanedr<64>r<><00>r<>rDr<>s <20>rrDzCleanupResources.__init__<5F>s<<00><><00> <0A><07><18>$<24><14>%<25>T<EFBFBD>R<EFBFBD>'H<><0E>(,<2C>-1<><0E><1E> <19>
rr[rFc
<00><00><>K<00>tj<00>}d}d} gd<02>}|D]<5D>}t|<06>j<00>s<01>tjd|dddddgd d d
<EFBFBD> <0B>}|j
s<01>Jtjd|ddddd gd d <0A><0E>}|t |j
j<00>jd<0F><00>z }<03><> tjgd<10>d d d <0A> <0B>} | jdk(r|dz }tj<00>|z
}
tjd|<03>d<13>d ||d<14>|
<EFBFBD><15>S#Y<00>;xYw#t$r@} tjt| <0B>dtj<00>|z
<00><17>cYd} ~ Sd} ~ wwxYw<01>w)Nr)z/tmpz/var/tmpz /root/.cache<68>findz-type<70>fz-mtimez+7z-lsT<73>r<>z-delete<74><)r<>r<><00>
)<04>dockerr<72><00>prunez-fi@z Cleaned up z
old files)r<>zsystem.cleanup_countzsystem.freed_bytes)r%r,r)zResource cleanup failedr<64>)r<>rrqr<>r<>r<><00>len<65>stripra<00>
returncoder!r0r<>r2r5) rCr[r<><00> cleaned_count<6E> freed_bytes<65> temp_dirs<72>temp_dir<69>result<6C> rm_result<6C> docker_resultr)r<>s rr]zCleanupResources.execute s<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD><19> <0A><17> <0B>4 <0E><<3C>I<EFBFBD>%<25> P<01><08><17><08>><3E>(<28>(<28>*<2A>'<27>^<5E>^<5E><1F><18>7<EFBFBD>C<EFBFBD><18>4<EFBFBD><15>O<>'+<2B>!<21> "<22> <16>F<EFBFBD><1E>}<7D>}<7D>$.<2E>N<EFBFBD>N<EFBFBD>#<23>X<EFBFBD>w<EFBFBD><03>X<EFBFBD>t<EFBFBD>Y<EFBFBD>W<>+/<2F>$&<26>%<1A> <09>
&<26><13>V<EFBFBD>]<5D>]<5D>-@<40>-@<40>-B<>-H<>-H<><14>-N<>)O<>O<> <0A># P<01>(
<15> *<2A><0E><0E>7<>#'<27><1D><1E> !<12> <0A> !<21>+<2B>+<2B>q<EFBFBD>0<><1F>#4<>4<>K<EFBFBD>"<22>Y<EFBFBD>Y<EFBFBD>[<5B>:<3A>5<>N<EFBFBD><1F>.<2E>.<2E>%<25>m<EFBFBD>_<EFBFBD>J<EFBFBD>?<3F>15<31>,9<>*5<><12>
.<2E>/<2F><0E> <0E><>  <15><14><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>1<>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>sX<00>E<<01>"D0<00>,D0<00>,AD0<00>/D)<00>26D0<00>(E<<01>)D-<03>+D0<00>0 E9<03>95E4<03>.E9<03>/E<<01>4E9<03>9E<r<>r<>s@rr<>r<><00>s&<00><><00>0<> 
<EFBFBD>9<0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E>9<0E> <0C>9rr<>c<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>RestartServicezRestart a failing servicec<00>><00><01>t<00>|<00>dddddd<06>igdd<07>d<08> <09>y)
N<EFBFBD>restart_service<63>@<40>services.failingrsTr<54>)r<>zservices.restartedr<64>r<>r<>r<>s <20>rrDzRestartService.__init__Js<<00><><00> <0A><07><18>"<22><14>"<22>+<2B><14>$N<><0E>%'<27>&*<2A><0E><1E> <19>
rr[rFc<00><00><>K<00>tj<00>}|jdd<02>} tjdd|gddd<06><07>}|jdk(rstjdd |gddd
<EFBFBD><07>}|j
j <00>d k(}tjd |<03>d <0A>|d i|d<0E>tj<00>|z
||d<0F><02><10>Stj|jd|<03><00>tj<00>|z
<00><12>S#t$rC}tjt|<07>d|<03><00>tj<00>|z
<00><12>cYd}~Sd}~wwxYw<01>w)N<>target_service<63>unknown<77> systemctl<74>restartTr<54>r<>rz is-activer<65><00>activezService z restarted successfully)zservices.statuszservices.restart_success)<02>servicer<65>r<>zFailed to restart r<>zService restart failed for ) r<>rcr<>r<>r<>r<>r<>r!r0r2<00>stderrr<72>r5)rCr[r<><00> service_namer<65><00> check_result<6C> is_activer<65>s rr]zRestartService.executeXsb<00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD><1E>{<7B>{<7B>#3<>Y<EFBFBD>?<3F> <0C>( <0E><1F>^<5E>^<5E><1C>i<EFBFBD><1C>6<>#<23><19><1A> <0E>F<EFBFBD><16> <20> <20>A<EFBFBD>%<25>)<29>~<7E>~<7E> <20>+<2B>|<7C><<3C>#'<27><1D><1E>  <12> <0C>)<29>/<2F>/<2F>5<>5<>7<>8<EFBFBD>C<> <09>#<23>2<>2<>&<26>|<7C>n<EFBFBD>4K<34>L<>,8<>(<28>+C<>4=<3D><16>$(<28>9<EFBFBD>9<EFBFBD>;<3B><1A>#;<3B>)5<><19>K<>3<><12><12>$<24>2<>2<> <20>-<2D>-<2D>0<><1C><0E>?<3F>#'<27>9<EFBFBD>9<EFBFBD>;<3B><1A>#;<3B>3<><12><12><>
<19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>5<>l<EFBFBD>^<5E>D<>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>sA<00>'E<01>BD<00>E<01>9D<00>E<01> E<03> 8E <03>E<03>E<01> E<03>Er<>r<>s@rr<>r<>Gs&<00><><00>#<23> 
<EFBFBD>,<0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E>,<0E> <0C>,rr<>c<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>
BackupDatazPerform data backupc<00>><00><01>t<00>|<00>dddddd<06>iddd <09>d
<EFBFBD> <0B>y) N<> backup_data<74>@r<>ro<00>Zr<>rT)<02>security.last_backup_hours<72>data.backup_completer<65>r<>r<>r<>s <20>rrDzBackupData.__init__<5F>s<<00><><00> <0A><07><18><1E><14>%<25>T<EFBFBD>R<EFBFBD>'H<><0E>/0<>(,<2C><0E><1E> <19>
rr[rFc
<00><00><>K<00>tj<00>}dtj<00>jd<02><00><00>} t |<03>j dd<03><04>ddg}|D]:}t |<05>j <00>s<01>tjddd ||gddd
<EFBFBD> <0B>}<06><|<03>d <0C>}tjd d|ddt |<03>jgddd<11> <0B>}tjdd|gd<14><15>tjd|<07><00>d|dd<18>tj<00>|z
d|i<01><1A>S#t$r@}tjt|<08>dtj<00>|z
<00><1C>cYd}~Sd}~wwxYw<01>w)Nz/root/backups/backup_z %Y%m%d_%H%M%ST)<02>parents<74>exist_okz /root/allegroz /root/wizards<64>rsyncz-avzz--delete<74>,r<>z.tar.gz<67>tarz-czfz-Cz /root/backups<70>x<00>rmz-rfr<66>)r<>zBackup created: r)r<>zsecurity.last_backup_pathr<68><00> backup_pathr<68>z Backup failedr<64>)r<>r<00>now<6F>strftimer<00>mkdirrqr<>r<>r;r!r0r<>r2r5) rCr[r<>r<><00> critical_dirs<72>sourcer<65><00> archive_namer<65>s rr]zBackupData.execute<74>s|<00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD>-<2D>h<EFBFBD>l<EFBFBD>l<EFBFBD>n<EFBFBD>.E<>.E<>o<EFBFBD>.V<>-W<>X<> <0B>* <0E> <10><1B> <1D> #<23> #<23>D<EFBFBD>4<EFBFBD> #<23> @<40>-<2D>o<EFBFBD>><3E>M<EFBFBD>'<27> <16><06><17><06><<3C>&<26>&<26>(<28>'<27>^<5E>^<5E> <20>&<26>*<2A>f<EFBFBD>k<EFBFBD>J<>'+<2B>!<21> #<23> <16>F<EFBFBD> <16>*<2A>]<5D>'<27>2<>L<EFBFBD><1F>^<5E>^<5E><16><06> <0C>d<EFBFBD>O<EFBFBD>T<EFBFBD>+<2B>EV<45>E[<5B>E[<5B>\<5C>#<23><19><1B> <0E>F<EFBFBD> <17>N<EFBFBD>N<EFBFBD>D<EFBFBD>%<25><1B>5<>r<EFBFBD> B<><1F>.<2E>.<2E>*<2A><<3C>.<2E>9<>23<32>1=<3D>,0<><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>'<27><1C>6<>/<2F> <0E> <0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>'<27>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s;<00>;E1<01>>D%<00>=B'D%<00>$E1<01>% E.<03>.5E)<03>#E.<03>$E1<01>)E.<03>.E1r<>r<>s@rr<>r<><00>s&<00><><00><1D> 
<EFBFBD>.<0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E>.<0E> <0C>.rr<>c<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06> ResearchTopicz"Research a topic to gain knowledgec<00>D<00><01>t<00>|<00>dddddd<06>iddd<06>d d
<EFBFBD>d <0B> <0C>y) N<>research_topicg@<40>system.cpu_percentro<00>Pr<>rm<00>T)<02>knowledge.new_facts_per_hour<75>knowledge.research_completed<65> knowledger<65>r<>r<>s <20>rrDzResearchTopic.__init__<5F>sB<00><><00> <0A><07><18>!<21><14>$<24>D<EFBFBD>B<EFBFBD>&G<><0E>?C<01>a<EFBFBD>0P<30>04<30><0E>!<21> <19>
rr[rFc<00><00><>K<00>tj<00>}|jdd<02>} |jdd|<03><00><02>}|dtd<06>D<00>cgc]}d|<03><00><02><02> c}dd <09>}tj d
|<03><00>|g|d d <0C>tj<00>|z
|dd <0A><02><0E>Scc}w#t
$rC}tj t|<07>d|<03><00>tj<00>|z
<00><10>cYd}~Sd}~wwxYw<01>w)N<>topicr<63><00>queryzlatest developments in r<>r<>zFinding about g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?)r<><00> sources_found<6E> key_findings<67>
confidencezResearch completed on: <20>)zknowledge.topicszknowledge.research_resultsr<73>)r<><00>sourcesr<73>zResearch failed for topic: r<>)r<>rc<00>ranger!r0r<>r2r5)rCr[r<>r<><00> search_query<72>_<>research_resultsr<73>s rr]zResearchTopic.execute<74>s<00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD><17> <0B> <0B>G<EFBFBD>Y<EFBFBD>/<2F><05> <0E>"<22>;<3B>;<3B>w<EFBFBD>2I<32>%<25><17>0Q<30>R<>L<EFBFBD><1F>!"<22>CH<43><11>8<EFBFBD> L<>a<EFBFBD>><3E>%<25><17>!9<> L<>!<21>  <0E> <1C> <20>.<2E>.<2E>1<>%<25><17>9<>).<2E><07>2B<32>45<34><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>#(<28>Q<EFBFBD>7<>/<2F> <0E> <0E><> !M<01><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>5<>e<EFBFBD>W<EFBFBD>=<3D>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>sF<00>'C-<01>$B<00> B<08>>B<00>C-<01>B<00> C*<03>'8C%<03>C*<03> C-<01>%C*<03>*C-r<>r<>s@rr<>r<><00>s&<00><><00>,<2C> 
<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rr<>c<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>IndexKnowledgezIndex and organize knowledgec<00>><00><01>t<00>|<00>ddddiddd<07>dd<08>d <09>
<EFBFBD>y) N<>index_knowledger<65>r<>Trm<00>dr<>)<02>knowledge.concept_connections<6E>knowledge.indexedr<64>r<>r<>r<>s <20>rrDzIndexKnowledge.__init__s><00><><00> <0A><07><18>"<22><14>.<2E><04><0E>@D<01>s<EFBFBD>1S<31>%)<29><0E>!<21> <19>
rr[rFc<00><00><>K<00>tj<00>} |jdi<00>}d}d}tjd|<04>d<05>|dtj<00>d<07>tj<00>|z
||d<08><02> <09>S#t$r@}tj t |<06>d
tj<00>|z
<00> <0B>cYd}~Sd}~wwxYw<01>w) Nr<00>2r<>zKnowledge indexed: z connections createdT)r r zknowledge.index_time)<02> connections<6E>conceptsr<73>zKnowledge indexing failedr<64><00>r<>rcr!r0r<>r2r5)rCr[r<><00> research_data<74>connections_created<65>concepts_linkedr<64>s rr]zIndexKnowledge.executes<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD> <0E>#<23>K<EFBFBD>K<EFBFBD>(:<3A>B<EFBFBD>?<3F>M<EFBFBD>#%<25> <1F> <20>O<EFBFBD><1F>.<2E>.<2E>-<2D>.A<>-B<>BV<42>W<>5H<35>)-<2D>,0<>I<EFBFBD>I<EFBFBD>K<EFBFBD><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>)<<3C>/<2F>Z<>/<2F> <0E> <0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>3<>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s5<00>C<01>A A9<00>8C<01>9 C<03>5B=<03>7C<03>8C<01>=C<03>Cr<>r<>s@rrrs&<00><><00>&<26> 
<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rrc<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>LearnFromInteractionzLearn from user interactionsc<00>:<00><01>t<00>|<00>ddiddd<05>dd<07>d<08> <09>y)
N<EFBFBD>learn_from_interactionr<6E>rmrr<><00><00>?)<02>social.preferences_learned<65>#adaptation.pattern_recognition_rater<65>r<>r<>r<>s <20>rrDzLearnFromInteraction.__init__1s3<00><><00> <0A><07><18>)<29><14><1C><@<40>A<EFBFBD>.N<>7;<3B><0E>!<21> <19>
rr[rFc<00><00><>K<00>tj<00>} |jdi<00>}|jdd<03>}|jdd<05>}d}d}tjd|<04><00>||d|iid d
<EFBFBD>tj<00>|z
||d <0B><02> <0C>S#t$r@}tj t |<08>d tj<00>|z
<00><0E>cYd}~Sd}~wwxYw<01>w)N<> interaction<6F>user_idr<64><00>feedback<63>neutralr~Tz#Learned from interaction with user r)rzsocial.user_preferencesr)<02>userrr<>z Learning from interaction failedr<64>r) rCr[r<><00>interaction_datarr<00>preferences_learned<65>pattern_updatedr<64>s rr]zLearnFromInteraction.execute=s<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD> <0E>&<26>{<7B>{<7B>=<3D>"<22>=<3D> <1C>&<26>*<2A>*<2A>9<EFBFBD>i<EFBFBD>@<40>G<EFBFBD>'<27>+<2B>+<2B>J<EFBFBD> <09>B<>H<EFBFBD>#$<24> <1F>"<22>O<EFBFBD><1F>.<2E>.<2E>=<3D>g<EFBFBD>Y<EFBFBD>G<>2E<32>07<30>*<2A>h<EFBFBD>9O<39>/P<>;?<3F><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>")<29>x<EFBFBD>@<40>/<2F> <0E> <0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>:<3A>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s5<00>C<01>A5B<00> C<01> C<03>5C<03> C<03> C<01>C<03>Cr<>r<>s@rrr.s&<00><><00>&<26>

<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rrc<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06> PracticeSkillz'Practice a skill to improve proficiencyc<00>D<00><01>t<00>|<00>dddddd<06>iddd<06>dd <09>d
<EFBFBD> <0B>y) N<>practice_skillr<6C><00>skills.availablersTr<54>rmg333333<33>?)zskills.avg_proficiency<63>skills.practice_completed<65>skillsr<73>r<>r<>s <20>rrDzPracticeSkill.__init__bsA<00><><00> <0A><07><18>!<21><14>"<22>+<2B><14>$N<><0E>9=<3D><03>*L<>-1<><0E><1E> <19>
rr[rFc<00><00>rK<00>tj<00>}|jdd<02>} d}d}tjd|<03><00>|did|d<08>tj<00>|z
||d <09><02>
<EFBFBD>S#t$rC}tj t |<06>d |<03><00>tj<00>|z
<00> <0C>cYd}~Sd}~wwxYw<01>w) N<>skillr<6C><><E79A99><EFBFBD><EFBFBD><EFBFBD>?r<>zPracticed skill: <20>ffffff<66>?T)<03>skills.proficienciesr*zskills.last_practiced)r-<00>gainr<6E>zSkill practice failed for r<>r)rCr[r<><00>
skill_name<EFBFBD>proficiency_gain<69>practice_durationr<6E>s rr]zPracticeSkill.executeps<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD><1C>[<5B>[<5B><17>)<29>4<>
<EFBFBD> <0E>#<23> <1C> #<23> <1D><1F>.<2E>.<2E>+<2B>J<EFBFBD><<3C>8<>-7<><13>,=<3D>15<31>-7<><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>#-<2D>7G<37>H<>/<2F> <0E> <0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>4<>Z<EFBFBD>L<EFBFBD>A<>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s4<00>'B7<01>=A(<00>'B7<01>( B4<03>18B/<03>)B4<03>*B7<01>/B4<03>4B7r<>r<>s@rr&r&_s&<00><><00>1<> 
<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rr&c<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>AcquireNewSkillzAcquire a new skillc<00>D<00><01>t<00>|<00>dddddd<06>iddd<06>d d
<EFBFBD>d <0B> <0C>y) N<>acquire_new_skillg @r rmrr<>rr<00> new_skillr~)r)<00>growth.new_capabilitiesr+r<>r<>r<>s <20>rrDzAcquireNewSkill.__init__<5F>sA<00><><00> <0A><07><18>$<24><14>/<2F>t<EFBFBD>r<EFBFBD>1R<31><0E>3=<3D> <0B>$T<>+,<2C><0E><1E> <19>
rr[rFc<00><00>jK<00>tj<00>}|jdd<02>} tjd|<03><00>|g|didd<06>tj<00>|z
d|i<01><08>S#t$rC}tj t |<04>d |<03><00>tj<00>|z
<00>
<EFBFBD>cYd}~Sd}~wwxYw<01>w) Nr9<00> unknown_skillzAcquired new skill: <20>333333<33>?r~)r)r0r:r-r<>zFailed to acquire skill: r<>r)rCr[r<>r9r<>s rr]zAcquireNewSkill.execute<74>s<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD><1B>K<EFBFBD>K<EFBFBD> <0B>_<EFBFBD>=<3D> <09> <0E><1F>.<2E>.<2E>.<2E>y<EFBFBD>k<EFBFBD>:<3A>)2<> <0B>-6<><03>,<<3C>/0<><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>!<21>9<EFBFBD>-<2D>/<2F> <0E> <0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>3<>I<EFBFBD>;<3B>?<3F>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s4<00>'B3<01>9A$<00>#B3<01>$ B0<03>-8B+<03>%B0<03>&B3<01>+B0<03>0B3r<>r<>s@rr6r6<00>s&<00><><00><1D> 
<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rr6c<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06> SendMessagezSend a message to a userc <00>h<00><01>t<00>|<00>dddddd<06>itj<00>ddd<06>d<07>d<08> <09>y)
N<EFBFBD> send_messager<65>zsocial.active_usersrmrr<>)zsocial.last_message_sentzsocial.engagement_count<6E>socialr<6C>r<>r<>s <20>rrDzSendMessage.__init__<5F>sG<00><><00> <0A><07><18><1F><14>%<25>T<EFBFBD>Q<EFBFBD>'G<><0E>-1<>I<EFBFBD>I<EFBFBD>K<EFBFBD>9=<3D><11>+K<><0E><1E> <19>
rr[rFc
<00><00><>K<00>tj<00>}|jdd<02>}|jdd<04>}|jdd<06>} tjd|<03>d|<05><00>tj<00>d |d
<EFBFBD>tj<00>|z
||t |<04>d <0B><03> <0C>S#t
$r@}tj t|<06>d tj<00>|z
<00><0E>cYd}~Sd}~wwxYw<01>w)N<> recipientr!r%zHello!<21>platform<72>telegramzMessage sent to z via r~)zsocial.last_message_timezsocial.messages_sentzsocial.last_recipient)rDrE<00>lengthr<68>zFailed to send messager<65><00>r<>rcr!r0r<>r<>r2r5)rCr[r<>rDr%rEr<>s rr]zSendMessage.execute<74>s<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD><1B>K<EFBFBD>K<EFBFBD> <0B>V<EFBFBD>4<> <09><19>+<2B>+<2B>i<EFBFBD><18>2<><07><1A>;<3B>;<3B>z<EFBFBD>:<3A>6<><08> <0E><1F>.<2E>.<2E>*<2A>9<EFBFBD>+<2B>U<EFBFBD>8<EFBFBD>*<2A>E<>04<30> <09> <09> <0B>,-<2D>-6<><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>'0<>h<EFBFBD>RU<52>V]<5D>R^<5E>_<>/<2F> <0E> <0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>0<>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s7<00>A C1<01>AB%<00>$C1<01>% C.<03>.5C)<03>#C.<03>$C1<01>)C.<03>.C1r<>r<>s@rr?r?<00>s&<00><><00>"<22> 
<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rr?c<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>ProactiveCheckInzProactively check in with usersc<00>D<00><01>t<00>|<00>dddddd<06>iddd<06>d d
<EFBFBD>d <0B> <0C>y) N<>proactive_check_inr<6E><00>social.proactive_ratioro<00><00>?r<>rmr=T)rM<00>social.check_in_completedrBr<>r<>r<>s <20>rrDzProactiveCheckIn.__init__<5F>sA<00><><00> <0A><07><18>%<25><14>(<28><04><03>*L<><0E>9=<3D><03>*L<>-1<><0E><1E> <19>
rr[rFc<00><00><>K<00>tj<00>} |jdi<00>}|jdd<03>}|dkDrd}nd}tjdddtj<00>d <09>tj<00>|z
||d
<EFBFBD><02> <0B>S#t$r@}tj t |<06>d tj<00>|z
<00> <0A>cYd}~Sd}~wwxYw<01>w)N<> user_context<78>last_interaction_hours<72>z=Hey! Haven't heard from you in a while. How are things going?z4Just checking in! Is there anything I can help with?zProactive check-in sentg<74><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?T)rMrOzsocial.last_check_in)r%rRr<>zProactive check-in failedr<64>r)rCr[r<>rQ<00>last_interactionr%r<>s rr]zProactiveCheckIn.execute<74>s<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD> <0E>"<22>;<3B>;<3B>~<7E>r<EFBFBD>:<3A>L<EFBFBD>+<2B>/<2F>/<2F>0H<30>"<22>M<> <1C><1F>"<22>$<24>Y<><07>P<><07><1F>.<2E>.<2E>1<>.1<EFBFBD>15<EFBFBD>,0<>I<EFBFBD>I<EFBFBD>K<EFBFBD><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>%,<2C>HX<48>Y<>/<2F> <0E> <0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>3<>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s5<00>C<01>A4B <00> C<01> C<03>5C<03> C<03> C<01>C<03>Cr<>r<>s@rrJrJ<00>s&<00><><00>)<29> 
<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rrJc<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>ShareKnowledgez)Share knowledge with other agents/systemsc<00>D<00><01>t<00>|<00>dddddd<06>iddd<06>dd <09>d
<EFBFBD> <0B>y) N<>share_knowledger<65>r rm<00>r<>rNT)<02>social.shared_knowledge_usage<67>collaboration.knowledge_sharedrBr<>r<>r<>s <20>rrDzShareKnowledge.__init__sC<00><><00> <0A><07><18>"<22><14>/<2F>t<EFBFBD>r<EFBFBD>1R<31><0E>@D<01>s<EFBFBD>1S<31>26<32><0E><1E> <19>
rr[rFc <00><00><>K<00>tj<00>}|jdd<02>} |jdi<00>}tjd|<03><00>ddtj<00>d<07>tj<00>|z
|t |<04>d<08><02> <09>S#t
$r@}tj t|<05>d
tj<00>|z
<00> <0B>cYd}~Sd}~wwxYw<01>w) N<> target_system<65>defaultr<74>zKnowledge shared with r/T)rZr[zcollaboration.last_share_time)rx<00> items_sharedr<64>zKnowledge sharing failedr<64>rH)rCr[r<>r]<00>knowledge_to_sharer<65>s rr]zShareKnowledge.execute$s<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD><1F> <0B> <0B>O<EFBFBD>Y<EFBFBD>?<3F> <0A> <0E>!(<28><1B><1B>[<5B>"<22>!=<3D> <1E><1F>.<2E>.<2E>0<><1D><0F>@<40>58<35>6:<3A>59<35>Y<EFBFBD>Y<EFBFBD>[<5B><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>$1<>3<EFBFBD>GY<47>CZ<43>[<5B>/<2F> <0E> <0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>2<>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s5<00>'C<01>A$B<00>C<01> C<03>5C<03> C<03>C<01>C<03>Cr<>r<>s@rrVrVs&<00><><00>3<> 
<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rrVc<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06> SelfAnalysisz5Analyze own performance for improvement opportunitiesc <00>:<00><01>t<00>|<00>ddidddd<06>d<07>d<08> <09>y)
N<EFBFBD> self_analysisr<73>r.rmrr<>)<02>growth.performance_trend<6E>growth.optimizations_found<6E>growthr<68>r<>r<>s <20>rrDzSelfAnalysis.__init__Ds3<00><><00> <0A><07><18> <20><14><1C>,0<><@<40>A<EFBFBD>.N<><0E><1E> <19>
rr[rFc <00><00><>K<00>tj<00>} |jdg<00>}gd<02>}tjdt |<04><00>d<04>t |<04>|dd<06>tj<00>|z
dt |<04>i<01><08>S#t
$r@}tj t|<05>d tj<00>|z
<00>
<EFBFBD>cYd}~Sd}~wwxYw<01>w) N<>performance_history)z#Reduce API call latency by batchingz#Cache frequently accessed knowledgezOptimize database querieszSelf-analysis complete: z optimizations foundg{<14>G<EFBFBD>z<EFBFBD>?)rfzgrowth.optimization_listre<00> optimizationsr<73>zSelf-analysis failedr<64>rH)rCr[r<><00>performance_datarjr<>s rr]zSelfAnalysis.executePs<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD> <0E>&<26>{<7B>{<7B>+@<40>"<22>E<> <1C><0E>M<EFBFBD>  <20>.<2E>.<2E>2<>3<EFBFBD>}<7D>3E<33>2F<32>FZ<46>[<5B>25<32>m<EFBFBD>2D<32>0=<3D>04<30><12>
$<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>)<29>3<EFBFBD>}<7D>+=<3D>><3E>/<2F> <0E> <0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>.<2E>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s5<00>C <01>A(B<00>C <01> C
<03>
5C<03>?C
<03>C <01>C
<03>
C r<>r<>s@rrbrbAs&<00><><00>?<3F>

<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rrbc<00><<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z <09>xZ
S)<06>
Experimentz(Run an experiment to test new approachesc<00>><00><01>t<00>|<00>dddddd<06>iddd <09>d
<EFBFBD> <0B>y) N<>
experimentr<EFBFBD>r<>ror<>r<>Tr~)<02>growth.experiment_completed<65>growth.new_areas_exploredrgr<>r<>r<>s <20>rrDzExperiment.__init__ss<<00><><00> <0A><07><18><1D><14>$<24>D<EFBFBD>B<EFBFBD>&G<><0E>04<30>-.<2E><0E><1E> <19>
rr[rFc<00><00><>K<00>tj<00>}|jdd<02>} d}d|<03>d<05>}tjd|<03>d<07>d|rdnd d
|d <0B>tj<00>|z
||d <0C><02> <0A>S#t$rC}tj t |<06>d|<03><00>tj<00>|z
<00><0F>cYd}~Sd}~wwxYw<01>w)N<>experiment_typer^TzFindings from z experimentz Experiment 'z ' completedr/r=r~)rpzgrowth.experiment_success_raterqzgrowth.last_experiment_findings)<02>typer"r<>zExperiment failed: r<>r)rCr[r<>rsr"<00>findingsr<73>s rr]zExperiment.execute<74>s<><00><00><><00><19>Y<EFBFBD>Y<EFBFBD>[<5B>
<EFBFBD>!<21>+<2B>+<2B>&7<><19>C<><0F> <0E><1A>G<EFBFBD>'<27><0F>'8<> <0B>D<>H<EFBFBD><1F>.<2E>.<2E>&<26><EFBFBD>&7<>{<7B>C<>37<33>=D<>c<EFBFBD>#<23>12<31>7?<3F> <12> $<24>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>"1<>g<EFBFBD>F<>/<2F>
<0E>
<0E><><19> <0E><1F>.<2E>.<2E><19>!<21>f<EFBFBD>-<2D>o<EFBFBD>-><3E>?<3F>#<23>y<EFBFBD>y<EFBFBD>{<7B>Z<EFBFBD>7<>/<2F><0E> <0E><> <0E>s5<00>'B?<01>AA0<00>/B?<01>0 B<<03>98B7<03>1B<<03>2B?<01>7B<<03><B?r<>r<>s@rrmrmps&<00><><00>2<> 
<EFBFBD><0E>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E><0E> <0C>rrmc<00><><00>eZdZdZd<02>Zd<03>Zdefd<05>Zdede efd<08>Z
de efd <09>Z d
ede efd <0B>Z d eeefde efd <0A>Zdefd<0E>Zdefd<0F>Zy)<11> ActionLibraryz!Registry of all available actionsc<00>2<00>i|_|j<00>y<00>N)<02>actions<6E>_register_default_actionsr<73>s rrDzActionLibrary.__init__<5F>s<00><00>*,<2C><04> <0C> <0C>&<26>&<26>(rc<00>4<00>t<00>t<00>t<00>t<00>t <00>t <00>t <00>t<00>t<00>t<00>t<00>t<00>t<00>t<00>g}|D]}|j|<02><00>y)zRegister all default actionsN)r<>r<>r<>r<>r<>rrr&r6r?rJrVrbrm<00>register)rCrz<00>actions rr{z'ActionLibrary._register_default_actions<6E>s~<00><00> <1E> <1F> <1C> <1E> <1A> <1C> <16>L<EFBFBD> <1A>O<EFBFBD> <1A> <1C> <20> "<22> <1A>O<EFBFBD> <1B> <1D> <18>M<EFBFBD> <1C> <1E> <1A> <1C> <19>N<EFBFBD> <16>L<EFBFBD>/
<EFBFBD><07>4<1E> "<22>F<EFBFBD> <10>M<EFBFBD>M<EFBFBD>&<26> !<21> "rr~c<00>6<00>||j|j<y)zRegister an actionN)rzr;)rCr~s rr}zActionLibrary.register<65>s<00><00>$*<2A><04> <0C> <0C>V<EFBFBD>[<5B>[<5B>!rr;rFc<00>8<00>|jj|<01>S)zGet an action by name)rzrc)rCr;s rrczActionLibrary.get<65>s<00><00><13>|<7C>|<7C><1F><1F><04>%<25>%rc<00>H<00>t|jj<00><00>S)zGet all actions)rvrz<00>valuesr<73>s r<00>get_allzActionLibrary.get_all<6C>s<00><00><13>D<EFBFBD>L<EFBFBD>L<EFBFBD>'<27>'<27>)<29>*<2A>*rr>c<00>|<00>|jj<00>D<00>cgc]}|j|k(s<01>|<02><02>c}Scc}w)zGet actions by category)rzr<>r>)rCr><00>as r<00>get_by_categoryzActionLibrary.get_by_category<72>s.<00><00><1F><<3C><<3C>.<2E>.<2E>0<>K<>a<EFBFBD>A<EFBFBD>J<EFBFBD>J<EFBFBD>(<28>4J<34><01>K<>K<><4B>Ks<00>9<04>9rEc<00><><00>|jj<00>D<00>cgc]}|j|<01>s<01>|<02><02>c}Scc}w)z6Get actions that can be applied in current world state)rzr<>rO)rCrEr<>s r<00>get_applicablezActionLibrary.get_applicable<6C>s0<00><00><1F><<3C><<3C>.<2E>.<2E>0<>W<>a<EFBFBD>A<EFBFBD>4I<34>4I<34>+<2B>4V<34><01>W<>W<><57>Ws<00>;<04>;c
<00>~<00>t|j<00>td<01>|jj<00>D<00><00>D<00>cic]}|t|j |<01><00><00><02>c}t |jj<00>d<02>d<03><04>ddt |jj<00>d<07>d<03><04>ddd<08>Scc}w) zGet action library statisticsc3<00>4K<00>|]}|j<00><01><00>y<00>wry)r>)<02>.0r<EFBFBD>s r<00> <genexpr>z*ActionLibrary.get_stats.<locals>.<genexpr><3E>s<00><00><><00>I<>a<EFBFBD>q<EFBFBD>z<EFBFBD>z<EFBFBD>I<>s<00>c<00><00>|jSry)r@<00>r<>s r<00><lambda>z)ActionLibrary.get_stats.<locals>.<lambda><3E>s <00><00>a<EFBFBD>/<2F>/<2F>rT)rL<00>reverseNr<4E>c<00>H<00>|jtd|j<00>z S)Nr~)rAr<>r@r<>s rr<>z)ActionLibrary.get_stats.<locals>.<lambda><3E>s<00><00>a<EFBFBD>o<EFBFBD>o<EFBFBD><03>A<EFBFBD>q<EFBFBD>7H<37>7H<37>0I<30>I<>r)<04> total_actions<6E> by_category<72> most_used<65>highest_success_rate)r<>rz<00>setr<74>r<><00>sorted)rC<00>cats r<00> get_statszActionLibrary.get_stats<74>s<><00><00>!<21><14><1C><1C>.<2E><1F>I<>4<EFBFBD><<3C><<3C>3F<33>3F<33>3H<33>I<>I<><0E><17><14>S<EFBFBD><14>-<2D>-<2D>c<EFBFBD>2<>3<>3<><0E> <20><14> <0C> <0C>#<23>#<23>%<25>/<2F><1C><0E><11>q<EFBFBD> <12>
%+<2B><14> <0C> <0C>#<23>#<23>%<25>I<><1C>%<0E><11>q<EFBFBD> %<12>
<EFBFBD>
<EFBFBD><EFBFBD>s<00>"B:c<00><><00>|jj<00>D<00><01>cic]\}}||j<00><00><02>c}}|j<00>d<01>Scc}}w)zExport action library data)rz<00>stats)rzrIr<>r<>)rCr;r~s rr<>zActionLibrary.to_dict<63>sH<00><00>DH<01><<3C><<3C>CU<43>CU<43>CW<43>X<><<3C>4<EFBFBD><16><04>f<EFBFBD>n<EFBFBD>n<EFBFBD>.<2E>.<2E>X<><19>^<5E>^<5E>%<25>
<EFBFBD>
<EFBFBD><EFBFBD>Xs<00>AN)rrrrrDr{r:r}r5r rcrr<>r<>rr r<>r<>r<>rrrrwrw<00>s<><00><00>+<2B>)<29>"<22>>+<2B>v<EFBFBD>+<2B>&<26><03>&<26><08><16> 0<>&<26>+<2B><14>f<EFBFBD><1C>+<2B>L<01><03>L<01><04>V<EFBFBD> <0C>L<01>X<01>$<24>s<EFBFBD>C<EFBFBD>x<EFBFBD>.<2E>X<01>T<EFBFBD>&<26>\<5C>X<01>
<EFBFBD>4<EFBFBD>
<EFBFBD>(
<EFBFBD><14>
rrw<00>__main__z === GOAP Actions Module Test ===z
=== Available Actions ===z- z (category: z, cost: <20>)z
=== Action Statistics ===zTotal actions: r<>z By category: r<>z
=== Precondition Test ===r<><00>Kr)<03> cpu_percent<6E> disk_percent<6E>memory_percent<6E>failing<6E> test_service<63>concept_connectionsr
)r<><00>servicesr<73>z%Applicable actions in current state: z - ):r<00>abcrr<00> dataclassesrr<00>typingrrr r
r r r <00>enumrrr<>rzr<><00>asyncio<69>pathlibrrrr!r:r<>r<>r<>r<>r<>rrr&r6r?rJrVrbrmrw<00>action_libraryr<00>print<6E>libraryr<79>r~r;r>r<r<>r<>rEr<><00>
applicabler<EFBFBD>rrr<00><module>r<>sg<00><01><04>
$<24>(<28>B<>B<>B<><1B> <0B> <0B><11><0E><18><1D><17>4<EFBFBD><17> <0B>
<EFBFBD>
<EFBFBD> <0B>
<EFBFBD>>x
<EFBFBD>S<EFBFBD>x
<EFBFBD>~<<0E><06><<0E>~J<0E>v<EFBFBD>J<0E>Z=<0E>V<EFBFBD>=<0E>@?<0E><16>?<0E>L0<0E>F<EFBFBD>0<0E>f+<0E>V<EFBFBD>+<0E>\*<0E>6<EFBFBD>*<0E>b)<0E>F<EFBFBD>)<0E>X&<0E>f<EFBFBD>&<0E>Z(<0E>&<26>(<0E>V-<0E>v<EFBFBD>-<0E>`'<0E>V<EFBFBD>'<0E>\,<0E>6<EFBFBD>,<0E>^*<0E><16>*<0E>bS
<EFBFBD>S
<EFBFBD>n<1F><1F><0E> <0C>z<EFBFBD><19> <09>
,<2C>-<2D><1B>o<EFBFBD>G<EFBFBD> <09>
'<27>(<28><19>/<2F>/<2F>#<23>U<01><06> <0A><02>6<EFBFBD>;<3B>;<3B>-<2D>|<7C>F<EFBFBD>O<EFBFBD>O<EFBFBD>+<<3C>H<EFBFBD>V<EFBFBD>[<5B>[<5B>M<EFBFBD>QR<51>S<>T<>U<01>
<EFBFBD>
'<27>(<28> <13> <1D> <1D> <1F>E<EFBFBD> <09>O<EFBFBD>E<EFBFBD>/<2F>2<>3<>
4<EFBFBD>5<> <09>M<EFBFBD>%<25> <0A>.<2E>/<2F>
0<EFBFBD>1<>
<EFBFBD>
'<27>(<28><1E><1E> <20>
<EFBFBD> <16><0E>'<27>
<EFBFBD> "<22>3<EFBFBD>
<EFBFBD> <06>K<EFBFBD><19>'<27>'<27> <0B>4<>J<EFBFBD> <09> 1<>#<23>j<EFBFBD>/<2F>1B<31>
C<EFBFBD>D<><1C>$<24><06> <0A><04>V<EFBFBD>[<5B>[<5B>M<EFBFBD>"<22>#<23>$<24>Cr