ÿØÿà JFIF    ÿÛ „ !.%+&8&+/1555$;@;4?.451 4,$,44444444444414444444444444444444444444444444444444ÿÀ  á á" ÿÄ     ÿÄ ?    !1AQaq"2‘¡±ÁðBRbrÑá#‚’¢²3S CñÿÄ   ÿÄ !    !1QAa‘2ÿÚ   ? 5˜Z¯V¦cø)›t/? z¨±>Õ5€¶‹Á¤·¼z¼Ü¬+ñ®v¤¨_ˆR­BFn©—˜ý®ç̝P8gýt·ÉSTŦˆìät?þé¼íìN/Þa)ì–í6ô… Ï¿øÃj´¿KÇü]ÿ ªô¹-eKànëÕHTx}ýSÜ›ÿ ”7Ø×&µ<¦  ¥ÑO¶[Ù¯ä¨ÞÃÿ PZ-¬;#õ|•oaÿ ©CìÞz3˜öː/¤­ñTûIØ}š^ mÓ%ªxˆ¥ÉŸu=Z+ISe¿45™¼u;ú&WØ÷€æßQ™®{|íx*TC“#ZŠìZ§²‹ 6pv…³¿¡äª*áZÐ%ÒOáˆo"x«OHk w±æ+¬V(kMúŸ5Vö«$ ÁrÏbàb57/luR ¸ÑÛj Òµì`Мq­û žICÀÊ•©4€Âcà¨Ï€O´<èÐ:›ù(Ë^L8þ‘ÍÌ#¸Ð_Ì©ÙK(Öz 4¬û+¸;ü’V’84‘¬ÃŽ:[â‡ÔÌáõp¢~§ªlæ£ö{®G>J¼"°‡7¯ÆÉèßû ‹É‹§ÁòÃýâßî ^ƾÙõ‹×óH#«LP½ïX=xÑÍ$|W?•~• îëÔ©ª‹ {ÝT…Kÿ ”hûâá)J*ö˜–ÔU;iÇ€/ ÆþjóZ\ýwØ=Ìm ºèËL9 ýèÆð/¨’¥öo=nË.%Îì ŽÕ¯È|{Oj²ƒE6e/ßdÄõ²Ìâ1O®ò×TsəԸhOMýíMˆ¿¼H˜l²,7Â¥#MF/Úf°Ö½± ¸–dr‹NýÊ íjqx{œÉ ä-È ¦ øÄër¨q°ð †nцýÑÄÆ’mä…n<0È™;ÁÝá¯ÁZƒ7FÀmì­ É&9ˆîéi¶ùN§Y• ÃZãAâ?•‡©‰ , ó¾IŸŠc1 4â&y­&pŠ­6;M À 0¹qç»p.á …ŸÅáK@%6·y6ƒ‰3?”úºŽ‰éX5ªPT §µ!=Mž«Ú½‹ÅgÂSâÉaþÓoö–¯ÁÔìR>5éÿ üs¶ÆUcÌ kÇR ]ÿ ù¬¼«VŽ;Â|‡~¢¦”ÏŰæ {L™Õ°Óv¹ò¸írޡעCÃ!íVÕ {¶»sŒNPg/ "uÕbkm²“$ďå¿é¹§°½æz¯6 †s¿!s–wÚÝ“™Œ °.ûj>·+™Òa…©Œ&rÝÎtÛë긪Ît’LAVp%c Úý[ÄzJ¾ÇàXXç@˜ó<êL]·T˜¾¥1Ó©V‡g´æ½¦Ý@¹óø!_@´ÞâSÁ —S3™•& ]@JHÚý©ZŽ €×æÔr»Áf!‡yÞ4Mv*èÓã_{‘åóUuљØ«Oïé*®EvÑ Œ÷‡U \"㪒ÍK+À 4“M¡ï:0¥5í!'<@î´”>Ç»&Z–ïCCV˜Ì5Šo&îhè.žû |ÓK©h$s6KìŒëã)¹hI¦GïOåóI;ììü#É$Š0…Ææ¥TØ.5­¾gn´ “ÂÖ\:hœ89G)J@„}œ:’Ò{/Š"¦_Æ×7Æ3VÇŠÊa]ÚŒÙ€Ä–=®uÁßâACZƒ§§£ Qnâ:«,×{tyø¬iÛcœÜÄ€H½ÄÍCk´÷šß .W'b¤Íåh]÷€=,Žv×cÚEÚHXJX¶îo¨FÒtèöŸ>ªª6[J®Fµ£sGÁeqõfe\íjÒÐïÄÐGˆe1Ø‹.Ø”‘Ëuø Y­ˆÜ ŽG|zùªüMpDnQWÄ”%JŠ™)â*p@Örš«ÕT2Ð%ˆG#ª„ ·¤!°ŸOTÂT¸aÚ%4&h™LµšØüÐ.F¿²ÐÞ_Ç‚¾ÅÃaÜ÷09Æ q€öy˜v‡85õN÷]¬äѼóS{°_MެúÔ#°Ç¸0åÞè2ëôPcvÆw9®ií1Ä8F™˜à‰´+‰Ik1òÝ7“Ñ×ÒsÝ\x‚h`ÞÑ`ó"|µEcý£n˜h`}GÞ !±ù²Ápü²ß6 0ïi󜵩SÈÇ7˜-ÕURO˜¦´f$ªž-Í6(œ}<„ éc øs]ŽŽ„*—¾ ìdŽ„)méª\¿êÎIg¾ØÞ~I#C/¼¼´EÁÈŽi8“©õådô·>euä ƒ'Ê×लR1ÉJE1ÐAát`t;ÇР%Ý<‡¥„ÍÆ`×Oyó)õiI€ñQaŸ4Ûù\áàaÃÔ¹HÃu¹*k€¦<„e S‡&õÏ B!ŽhüÞ`yj}mªf×\¿ Ç~æ­9‡û\՞Ǖg²1Žû5V7 !àöšm° c`ܬøÇìµÒ'P"?…´Ö,"§^•õލsÔ)6˜sæéÍR¼ ò|Sl”‹7 nPW Gòú÷½§O¯‡„l¡kSÞŒr½PÊ@æ¢pŽ-mÿ #Ÿ˜Àº¶Áä¦;ïÔæ$1££`“Õ>„—·ž)ßð³ñ#Ï Ô$¶œ‰ÊE‹À;÷º ¯«P:Ñ”8–IÊtpÞ3ª“>ê“þës4ò2OÏÕ­±zô†Õ§‰.÷ä¸;¿˜“'œ›žª}«Œ{ª±Ì 9ÔóÞÕ‡0 $íWV3Üì¬ —@kÝ4@¿r¼±½¬™›?øØæ´'Áé®CË3-g$˜ö‡×auÚi´Žp/êÛ æF›Ú2v‹ã¿¿,nB1̨ƃqÞa5͝@&Æû“él÷ \C²½UÍc ¯k×¢U ÖéQå™—-r wô ÞÏ<Ò=&=ÿ Ôê Òêˈt,i—;LîÜ á¸*ÚÃ1$êL•LÍ <É)ýÐà’ ;F™{ƒ™˜€&'}‚ãÄK`¡ÞT@I;®žZóè‚s’7®°›+§O­Åq©é»²9<Ô J ¼9O’HL»Ùïì¸rk¼Ž_ý‘TŸu[²ßÚŒ·ü÷B%¯E ŸÔX5êO´ Ç•€’I0 ÉJX` ñ¹õ%;µŸD‘«´€àwÒ™U ûئžÖö\×®×´8 ½‡ºÐÆÓ§?Àkmœ=;d5*@-ì0F Rªýš[Ü6âö̃ڸr*KA9· u*µæ£?U¸Âêí†8@¦X4 e-ò„0s{ HâUpU?¼mñRa°®a%Ð'tÉ×’\¾ÊÉ]t›h>·(Ë@R¼¡Ãt h}’O÷au<+nT…Ö…MӐ??Óe95 q>í/;&JSû °¯ÊéÞ øƒ*Ã2½Ài&:nôUl=¾¿5eˆ3”ñc|Ú2V”>„»&eE;«ÚäC p¢Û úy 9š[ŒÌx¼擼A&DåÒ¯ˆ¤ÀÌ;"˜ ÏQä¸åhÊ}Ûq«Û0WžÒ|»€ø®öCm5•\ÇÀ§Pe3£]0ÃàLDÉ‰1øªxjgwT‚÷¿LΨK‹›ùs—xˆÜ±µ kæ¸f‰‰ÜGk/LÛØ6d9ò¶ùA{ƒA3š/¬D¬khÓk‰`˜"㯒r¿±Óã jx‡°e}<Ñø\3y:'À•/h½Í€Ç4~g ?Û(¼]v‘ªlKÎâ~?O‚W%{Ì:“'©úNq¾›úo(X’¥¯ˆ nFê{Ç€ü?º'ë ø‹ì Þ09ŒÌç9Æ —ËC`j@ÓÄ(+a‹un¸#ÂꟋ{K`‘ÑÍÍ'à´»/Û,KW;Þ4²þð ï Nm|~fGÏ(…³Ã)«1ö­Õ ¥‡¨©ƒÃ™ü-s=à=U66Ï«Ýc蓦W¹íž®›nÔ%êÇìŒ<#Ü×84ån®Ð ÒåOC` ñânÑs‡¢ç 1õ%Îhì½Ã½® e:ݼUZo™`  ÅZŸŒÊ«ê1ÏÄo$q¹Þ€©ˆhÐÉä¯ñ[!…Ú˜àJ:x2$Íß&PåT£6ç— ‡Í*4Ýšçjÿ ‰É nófÐ ó(L5C•åÆ\rMÒ@ò }y-W}™üýVù—ú¢=Ù”c®‘< M ž ´Phr ¦©TD ‘ù.$´÷O‡‘V2Æò.=IUŒ=ž‡â¬i™aþÓåÙ?òUø'ØÖ•.~* šTŒ!•-×áºTâ®ä#õü'´ eýlYÅÓeÕKÂrT"CÚ@u!Óxƒ{š3€}1¿(r}%«nËamjÑ%ÑNEò v ˜à  σöK³,*º.àzù¨™Ó ÚçâU¦*¿ 9{%Ö¹ njûdaXöb) kÛÆ±ûÓ\°M7ˆÂ=û›ç¿Ã‚­V»Cg–8ÙêE- j)k$º`Ã-ùEýeBÆÇ]c¡°ñty&Òd0nõ'¡W+ƒ*|–øµFa\GQªEAÔp5\Ǽ·¼Ç8·õ -â§Ú[ ‡ uZeÖ 3}×d'+¹:ð+K†Û®s!Ï$úe€<Û”x)1»a­¡LC]¸µík…ÚàA»AYº{†ªS[¦5HÒ7ù --,ísòDØ€èk ÞÀîÜ ò@â( ËNˆë›4ô½•/¦o‡€Û7 ê•ÆêòðÜy'Án½µ á˜ݦ ndeo…[ì¶Ê,¥R³Ä=À±—–ß;£™´ñSâ*g§”ïaið‘Jå~™ÓÞ ß³Õ¢»8x埒²52>AÊb&-÷\7´éÄù€T˜,w;3{ï˜k…à¹ÄqÀ«œ{€\ ˆ¾[´¨јr &Úé„Ívˆ±8†¿]|¬ņ4I×pÞS1ÈÖz‰#Ìv‡G!YNògñ:màTz¢Ý1ô©^O=~ë|5Bã™ç•¼µõ•bÆ@úÕS¬ÈŒ#¬zünrŸ û” Z²•èðV"ÁHÚý©wÝ €7¼Ìu1hÑa3Éä û f$o¿É ™Ú›ÝçnpÒ3äÌ3†Í§,Äï]$‰/pê †«À¼¸e9­Æê_C]žƒ·ý·frÁN«, E=›Çq -‰öŒ:aÏ¿±í&£Í:-} 84‘ÿ eƒQÑeëSsuiA ³g㟥ú£?ÿ ʼn*”“÷aühe:ÊWa@ÒÞk±eØ] F Ô—r.åä˜ @ö¥ªZoÐýYL·¥S²G/‡ñ <~*ZÆ´è>JlòàÛÆ½ÿ 窘ìGN¢:I®KšJp/`íIÁÀõ#Ä-€ö­šµŒoF4|ÆQØÆ@Ì|£Ô…¢À{9˜è½Üó›€ôYÒÎYsið;ís¤€à²ˆ‚4qÉVŒI$ ‰"° æµ8cXGjœˏ¡Aâý•ËÜ¢ûï e·çLx']á"oÅÎê3¯Ç—¹”ó0nå‚âg{Œñ> S´˜îè°g238‚ãköÝfÚd´6Ò€;ò÷±¢™¼›º ¢Æ'¥Ðx'e¬ç ]bÈÆV¢ó‹kýBO ðÊâ$Ÿ!×T 3Mýמ žìٍàÌü‘8÷€àæØ8æ©6‰©L´«…oãpð„~Çk‰!ñ;‹”ÛžÍ àž±z Ÿôû øŸÝužÏ;ÿ #|u6™Þ¬ÚˆÐõA4¶â|ôl|Ê2ŽÇ¤ÝÅÇY.<#Aí.k§hóF‚”Y; M½Ö4hŸ4&›­¿tès´%FìL¥£Ãk‰ÇT¤haÁ¤ÚxfÉ`ÑìË›>i 3t‚:,–+^÷´–{Û–Nxi"x‘Ûg î¨>¥Õ܁ùZH,2Û“:8xÊ¢Çí9.É-Ìâã-=çjwµS˜dütžçwýGòú®®ûº_ˆýx$–¡ãøO EÚÛÏ÷R„×w+3£Á£öUMyR²¹âŒ°š›¸Ñãò9§Ó_Dl+Ùßc›úšGÅÌc†Ž!Ko=¶.‘Îÿ c²(2®V mª.ÿ ¹B›¹å ù„öŸSV>™ü¯$y:G¢Z×àøúdî¹û­·ýÇ´:•c LÍõi_‹ö+ÎæGÊè>OŠ•äž´§Þ{X}¨1ÚTc›»Qþ•êô°t¿OP?eæ~É{5]•ÙR£r5†nZ\ã@ &îJõ ¾àC°þV>fé¥/ü5ñÊIº_é5 ;e­h<@ Ä&æÃëE%;X,ÒãÆÞ`Oò¦kŸm#˜!ÀyÄ¢| óLšò¥Ä` ¶R=|ÈCâh5ò3DˆïF†ðÒ#ÅìÛœ?¸yhBãœí ZxßÎÄhºRK„`Þödvײ™ÀÈÑÒgŒuY w³%†ƒÓzõ ÖÏp‚dH®¦A´ù§»ÓÇMæ~)ˆð‡û:ù&Ä •vGD´À n ݇¼Ö8Fö óáà£~Ë¥x`oK|Ä?fxiØü%pìR>éò+Û±éÎ>núlFŤ'tq8LZÏvÃ?„¡ß±È⽆¯³íü@x|PöUäèØã¡ð‚ŒAìÏ"vÍwóŸÍ{ ý0.z È•Ö{,N¡£¡ŸKÕÙž>Ýœþ ÍÀ°<×EA!Å‚D™IúOÍ¡>ôG}Â` ÍßkÜL™Ž Þð™ {IøF²¹òQ3&!ÃÂÞz.d&Ï-sH¸,Ôõ˜ŽP€ 77ˆÝ¼ÊëÜw =cÕ Ú,ØÐ5ÎYÐ)ì´öœgŒ[¤ßv㙑8心>h]§µháYš£²ºÑ.{Ï7Sð•?´~×SÃKýJÛ˜ ™Íäiúu<µX¶1õ^kâçIÑ£sZ4h>j*ÔšD:4­¿_ ÷¸ Õxæÿ ¸?Mù _•­ÊÐ ä ÷ý ÑwL œ­ïnTkÛUÍN©ë:¦fV ¶ÜÔÜMªÅâA½–¿R×TXš-%iTÊT•‡Ù‚JôϐZxWÑè‰f‰òG º ×Õû2aZ7OU3[“×AT–ÞŒ…-‘¤”Ì ì&(ˆ¿­•ƒkï’:ðY¦W‘ Å)“†‘˜³Åtcø˜ñTÂwÚÇ4|üLÇªí–v- qˆèU qPE.†â‘˜µ Æ,ÐÅs]8¾„oúÑ i>ÜxxÈó)ƒ ´æÁâØ$À‰vžŸf$Ž |ãw;ÀÁIJ»b` {¦Ó¤Ú$©YÀ‘n@Óïž«9J¼êG m¤ ܯ¹ÌW4€ÐÒÅÛ‡#褕Ÿn-?í|с¥÷Ú¹¬'´ÞÜ9ÓK `hê£SÄSà?7—Wí_´…óB›»:=Ãïq`<8ñÓŒÑlú2d¬ê³£hÖ[l|$vÝro~'R®‰§°ñmY ͧäP |PUª¹·:3Œ[Û{Xÿ ºâ@‚W–Äé u‚ ¯´*=íή.pûÒdt @G‰¬ s¸ ëÉücr ÞæÑ¨Ê@>¤¢Ö±. Þ'¯°ÌME[YéïĵÂCå½ Ué©Áû'Ê9%eÔðNU”ë‘ÌsD3/®+UI˜9h.WC”빓$#:pz:YÓ ¿xž* ³$Í +$kñAŠ‹†¢ Uê>¸)_š¬÷©ßAÂÔb9ÇU ¯¾á•9¯ÏÏ÷O÷¼¼Fähal1‰3Ì[Ïr•´UCksNÐ] R‘¸¥H+§Šé†c©vÖÞ0iÓ76s†î!§=ß ¼~Ô'°Ãmäoäš³ªøi1úÉ)³yV8 CLÄØÁ‘WYïi€H6ÖÑiámø^ÈY´°Ñ7¥Û*—Ñ©L«Qƒï—Ùrÿ ›£Ð*š¸ˆL©ˆ$ˆ ÷¾D§9È®«qbqC)–ˆïv´çñsÑVT­Ø, <àïºÀO«Jý·õ àfPìð .wFšir´þ’2_Y *Æ€x\« ì€9š@ Ž|F⇥ˆkZ@hÖÄ0t¿-<“‹qµ¾*ZL¤Ú)&BJpÓF5=$„at*Zš$’ÑtdûÝRI1 2މ$€$I$#‰SÞ’Hë¬ï;Á$¡t$’`<(ñÇt)$‡Ð.Êf¢X’Kt=Éé$‚ˆªè¢oÝëòI%Rgcª÷ŠyI%¡‰ÿ !ñ)´õ $¤ Ô’IIGÿÙ  j UdZddlZddlmZmZddlmZmZmZmZddl m Z ddlm Z ddl m Z mZmZmZmZmZmZmZdd lmZmZdd lmZdd lmZmZd Zeed <dZ eed<dZ!eed< dZ" dZ#dZ$iddddddddddddddddd dd!d"d#d$d%dd&dd'd(d)d(d*dd+did,d(d-d(d.dd/dd0dd1dd2d(d3d(d4d(d5dd6dd7dd8d(d9d(d:dd;dddd?dd@ddAddBd(dCddDd(dEddFd(dGddHd(dId(dJddKddLddMdddddNZ%ee&eee&e'effedO<dPZ(ee&e&e&fedQ<dRZ)ee&dSfedT<dUZ*e&edV<eezZ+ee&edW< idXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdyidzd{d|d}d~dddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddÓddœddǓddɓdd˓dd͓ddϓddѓddӓddՓddדddٓddۓddݓddߓiddddddddddddddddddddddddddddddddddidddddddd d d d d ddddddddddddddddddd d!d"d#id$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQ Z,ee&e&fedR<dSdTdUdVdWdXZ-ee&e&fedY<e,e-dZZ.ee&ee&e&ffed[<e,j_e-j_dZZ0ee&ee&fed\<ed]e1d^e&d_e2d`e3dae'dbe4ddceddedeedfe dgedhe dii Z5 djedkedle'fdmZ6dne&doe&dpedlefdqZ7GdrdseZ8Gdtdue8Z9Gdvdwe8Z:Gdxdye9Z;Gdzd{eZ<Gd|d}e8e<~Z=Gdde9Z>Gdde9Z?GddeZ@Gdde8e@~ZAGdde8ZBGddZCGdde8ZDy(z+Various MySQL constants and character sets.N)ABCABCMeta)datedatetimetime timedelta)Decimal) struct_time)AnyDictListOptionalSequenceTupleUnion ValuesView)MYSQL_CHARACTER_SETSMYSQL_CHARACTER_SETS_57)ProgrammingError)APPROVED_TLS_VERSIONSDEPRECATED_TLS_VERSIONS NET_BUFFER_LENGTHMAX_MYSQL_TABLE_COLUMNSPARAMETER_COUNT_AVAILABLEf-databaseuserpassword password1 password2 password3hostz 127.0.0.1porti unix_socket use_unicodeTcharsetutf8mb4 collationconverter_classconverter_str_fallbackF autocommit time_zonesql_mode get_warningsraise_on_warningsconnection_timeout read_timeout write_timeout client_flagscompressbufferedrawssl_cassl_certssl_keyssl_verify_certssl_verify_identity ssl_ciphertls_ciphersuites ssl_disabled tls_versionspasswddbconnect_timeoutdsn force_ipv6 auth_pluginallow_local_infileallow_local_infile_in_pathconsume_results conn_attrsdns_srvuse_purekrb_service_principaloci_config_fileoci_config_profilewebauthn_callback)kerberos_auth_mode init_commandopenid_token_fileDEFAULT_CONFIGURATION) pool_name pool_sizepool_reset_session CNX_POOL_ARGS) _pid _platform _source_host _client_name_client_license_client_version_os_connector_name_connector_license_connector_version. CONN_ATTRS_DNzH The property counterpart '{property_name}' should be used instead. DEPRECATED_METHOD_WARNING TLS_VERSIONSTLS_RSA_WITH_NULL_SHA256z NULL-SHA256TLS_RSA_WITH_AES_128_CBC_SHA256z AES128-SHA256TLS_RSA_WITH_AES_256_CBC_SHA256z AES256-SHA256TLS_RSA_WITH_AES_128_GCM_SHA256zAES128-GCM-SHA256TLS_RSA_WITH_AES_256_GCM_SHA384zAES256-GCM-SHA384"TLS_DH_RSA_WITH_AES_128_CBC_SHA256zDH-RSA-AES128-SHA256"TLS_DH_RSA_WITH_AES_256_CBC_SHA256zDH-RSA-AES256-SHA256"TLS_DH_RSA_WITH_AES_128_GCM_SHA256zDH-RSA-AES128-GCM-SHA256"TLS_DH_RSA_WITH_AES_256_GCM_SHA384zDH-RSA-AES256-GCM-SHA384"TLS_DH_DSS_WITH_AES_128_CBC_SHA256zDH-DSS-AES128-SHA256"TLS_DH_DSS_WITH_AES_256_CBC_SHA256zDH-DSS-AES256-SHA256"TLS_DH_DSS_WITH_AES_128_GCM_SHA256zDH-DSS-AES128-GCM-SHA256"TLS_DH_DSS_WITH_AES_256_GCM_SHA384zDH-DSS-AES256-GCM-SHA384#TLS_DHE_RSA_WITH_AES_128_CBC_SHA256zDHE-RSA-AES128-SHA256#TLS_DHE_RSA_WITH_AES_256_CBC_SHA256zDHE-RSA-AES256-SHA256#TLS_DHE_RSA_WITH_AES_128_GCM_SHA256zDHE-RSA-AES128-GCM-SHA256#TLS_DHE_RSA_WITH_AES_256_GCM_SHA384zDHE-RSA-AES256-GCM-SHA384#TLS_DHE_DSS_WITH_AES_128_CBC_SHA256zDHE-DSS-AES128-SHA256#TLS_DHE_DSS_WITH_AES_256_CBC_SHA256zDHE-DSS-AES256-SHA256#TLS_DHE_DSS_WITH_AES_128_GCM_SHA256zDHE-DSS-AES128-GCM-SHA256#TLS_DHE_DSS_WITH_AES_256_GCM_SHA384zDHE-DSS-AES256-GCM-SHA384%TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256zECDHE-RSA-AES128-SHA256%TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384zECDHE-RSA-AES256-SHA384%TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256zECDHE-RSA-AES128-GCM-SHA256%TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384zECDHE-RSA-AES256-GCM-SHA384'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256zECDHE-ECDSA-AES128-SHA256'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384zECDHE-ECDSA-AES256-SHA384'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256zECDHE-ECDSA-AES128-GCM-SHA256'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384zECDHE-ECDSA-AES256-GCM-SHA384#TLS_DH_anon_WITH_AES_128_CBC_SHA256zADH-AES128-SHA256#TLS_DH_anon_WITH_AES_256_CBC_SHA256zADH-AES256-SHA256#TLS_DH_anon_WITH_AES_128_GCM_SHA256zADH-AES128-GCM-SHA256#TLS_DH_anon_WITH_AES_256_GCM_SHA384zADH-AES256-GCM-SHA384RSA_WITH_AES_128_CCMz AES128-CCMRSA_WITH_AES_256_CCMz AES256-CCMDHE_RSA_WITH_AES_128_CCMzDHE-RSA-AES128-CCMDHE_RSA_WITH_AES_256_CCMzDHE-RSA-AES256-CCMRSA_WITH_AES_128_CCM_8z AES128-CCM8RSA_WITH_AES_256_CCM_8z AES256-CCM8DHE_RSA_WITH_AES_128_CCM_8zDHE-RSA-AES128-CCM8DHE_RSA_WITH_AES_256_CCM_8zDHE-RSA-AES256-CCM8ECDHE_ECDSA_WITH_AES_128_CCMzECDHE-ECDSA-AES128-CCMECDHE_ECDSA_WITH_AES_256_CCMzECDHE-ECDSA-AES256-CCMECDHE_ECDSA_WITH_AES_128_CCM_8zECDHE-ECDSA-AES128-CCM8ECDHE_ECDSA_WITH_AES_256_CCM_8zECDHE-ECDSA-AES256-CCM8 TLS_RSA_WITH_ARIA_128_GCM_SHA256zARIA128-GCM-SHA256 TLS_RSA_WITH_ARIA_256_GCM_SHA384zARIA256-GCM-SHA384$TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256zDHE-RSA-ARIA128-GCM-SHA256$TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384zDHE-RSA-ARIA256-GCM-SHA384$TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256zDHE-DSS-ARIA128-GCM-SHA256$TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384zDHE-DSS-ARIA256-GCM-SHA384(TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256zECDHE-ECDSA-ARIA128-GCM-SHA256(TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384zECDHE-ECDSA-ARIA256-GCM-SHA384&TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256zECDHE-ARIA128-GCM-SHA256&TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384zECDHE-ARIA256-GCM-SHA384 TLS_PSK_WITH_ARIA_128_GCM_SHA256zPSK-ARIA128-GCM-SHA256 TLS_PSK_WITH_ARIA_256_GCM_SHA384zPSK-ARIA256-GCM-SHA384$TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256zDHE-PSK-ARIA128-GCM-SHA256$TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384zDHE-PSK-ARIA256-GCM-SHA384$TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256zRSA-PSK-ARIA128-GCM-SHA256$TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384zRSA-PSK-ARIA256-GCM-SHA384,TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256zECDHE-ECDSA-CAMELLIA128-SHA256,TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384zECDHE-ECDSA-CAMELLIA256-SHA384*TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256zECDHE-RSA-CAMELLIA128-SHA256*TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384zECDHE-RSA-CAMELLIA256-SHA384PSK_WITH_NULL_SHAz PSK-NULL-SHADHE_PSK_WITH_NULL_SHAzDHE-PSK-NULL-SHARSA_PSK_WITH_NULL_SHAzRSA-PSK-NULL-SHAPSK_WITH_RC4_128_SHAz PSK-RC4-SHAPSK_WITH_3DES_EDE_CBC_SHAzPSK-3DES-EDE-CBC-SHAPSK_WITH_AES_128_CBC_SHAzPSK-AES128-CBC-SHAPSK_WITH_AES_256_CBC_SHAzPSK-AES256-CBC-SHADHE_PSK_WITH_RC4_128_SHAzDHE-PSK-RC4-SHADHE_PSK_WITH_3DES_EDE_CBC_SHAzDHE-PSK-3DES-EDE-CBC-SHADHE_PSK_WITH_AES_128_CBC_SHAzDHE-PSK-AES128-CBC-SHADHE_PSK_WITH_AES_256_CBC_SHAzDHE-PSK-AES256-CBC-SHARSA_PSK_WITH_RC4_128_SHAzRSA-PSK-RC4-SHARSA_PSK_WITH_3DES_EDE_CBC_SHAzRSA-PSK-3DES-EDE-CBC-SHARSA_PSK_WITH_AES_128_CBC_SHAzRSA-PSK-AES128-CBC-SHARSA_PSK_WITH_AES_256_CBC_SHAzRSA-PSK-AES256-CBC-SHAPSK_WITH_AES_128_GCM_SHA256zPSK-AES128-GCM-SHA256PSK_WITH_AES_256_GCM_SHA384zPSK-AES256-GCM-SHA384DHE_PSK_WITH_AES_128_GCM_SHA256zDHE-PSK-AES128-GCM-SHA256DHE_PSK_WITH_AES_256_GCM_SHA384zDHE-PSK-AES256-GCM-SHA384RSA_PSK_WITH_AES_128_GCM_SHA256zRSA-PSK-AES128-GCM-SHA256RSA_PSK_WITH_AES_256_GCM_SHA384zRSA-PSK-AES256-GCM-SHA384PSK_WITH_AES_128_CBC_SHA256zPSK-AES128-CBC-SHA256PSK_WITH_AES_256_CBC_SHA384zPSK-AES256-CBC-SHA384PSK_WITH_NULL_SHA256zPSK-NULL-SHA256PSK_WITH_NULL_SHA384zPSK-NULL-SHA384DHE_PSK_WITH_AES_128_CBC_SHA256zDHE-PSK-AES128-CBC-SHA256DHE_PSK_WITH_AES_256_CBC_SHA384zDHE-PSK-AES256-CBC-SHA384DHE_PSK_WITH_NULL_SHA256zDHE-PSK-NULL-SHA256DHE_PSK_WITH_NULL_SHA384zDHE-PSK-NULL-SHA384RSA_PSK_WITH_AES_128_CBC_SHA256zRSA-PSK-AES128-CBC-SHA256RSA_PSK_WITH_AES_256_CBC_SHA384zRSA-PSK-AES256-CBC-SHA384RSA_PSK_WITH_NULL_SHA256zRSA-PSK-NULL-SHA256RSA_PSK_WITH_NULL_SHA384zRSA-PSK-NULL-SHA384ECDHE_PSK_WITH_RC4_128_SHAzECDHE-PSK-RC4-SHAECDHE_PSK_WITH_3DES_EDE_CBC_SHAzECDHE-PSK-3DES-EDE-CBC-SHAECDHE_PSK_WITH_AES_128_CBC_SHAzECDHE-PSK-AES128-CBC-SHAECDHE_PSK_WITH_AES_256_CBC_SHAzECDHE-PSK-AES256-CBC-SHA!ECDHE_PSK_WITH_AES_128_CBC_SHA256zECDHE-PSK-AES128-CBC-SHA256!ECDHE_PSK_WITH_AES_256_CBC_SHA384zECDHE-PSK-AES256-CBC-SHA384ECDHE_PSK_WITH_NULL_SHAzECDHE-PSK-NULL-SHAECDHE_PSK_WITH_NULL_SHA256zECDHE-PSK-NULL-SHA256ECDHE_PSK_WITH_NULL_SHA384zECDHE-PSK-NULL-SHA384 PSK_WITH_CAMELLIA_128_CBC_SHA256zPSK-CAMELLIA128-SHA256 PSK_WITH_CAMELLIA_256_CBC_SHA384zPSK-CAMELLIA256-SHA384$DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256zDHE-PSK-CAMELLIA128-SHA256$DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384zDHE-PSK-CAMELLIA256-SHA384$RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256zRSA-PSK-CAMELLIA128-SHA256$RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384zRSA-PSK-CAMELLIA256-SHA384&ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256zECDHE-PSK-CAMELLIA128-SHA256&ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384zECDHE-PSK-CAMELLIA256-SHA384PSK_WITH_AES_128_CCMzPSK-AES128-CCMPSK_WITH_AES_256_CCMzPSK-AES256-CCMDHE_PSK_WITH_AES_128_CCMzDHE-PSK-AES128-CCMDHE_PSK_WITH_AES_256_CCMzDHE-PSK-AES256-CCMzPSK-AES128-CCM8zPSK-AES256-CCM8zDHE-PSK-AES128-CCM8zDHE-PSK-AES256-CCM8zECDHE-RSA-CHACHA20-POLY1305zECDHE-ECDSA-CHACHA20-POLY1305zDHE-RSA-CHACHA20-POLY1305zPSK-CHACHA20-POLY1305zECDHE-PSK-CHACHA20-POLY1305zDHE-PSK-CHACHA20-POLY1305zRSA-PSK-CHACHA20-POLY1305) PSK_WITH_AES_128_CCM_8PSK_WITH_AES_256_CCM_8DHE_PSK_WITH_AES_128_CCM_8DHE_PSK_WITH_AES_256_CCM_8+TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256-TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256)TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256%TLS_PSK_WITH_CHACHA20_POLY1305_SHA256+TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256)TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256)TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256TLSV1_2_CIPHER_SUITESTLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_CCM_SHA256TLS_AES_128_CCM_8_SHA256)rrrrrTLSV1_3_CIPHER_SUITES)zTLSv1.2zTLSv1.3TLS_CIPHER_SUITESOPENSSL_CS_NAMESintfloatstrbytes bytearrayboolnonetyperrrr rdecimalflagflagsreturnc||zdkDryy)z.Checks if the flag is set Returns booleanrTF)rrs J/opt/nydus/tmp/pip-target-mjwu0ny1/lib/python/mysql/connector/constants.py flag_is_setr7s   namenew_namevaluecJtjd|d|dt|S)aRaise a deprecation warning and advise a new option name. Args: name (str): The name of the option. new_name (str): The new option name. value (int): The value of the option. Returns: int: The value of the option. z The option 'z' has been deprecated, use 'z ' instead.category)warningswarnDeprecationWarning)rrr s r_obsolete_optionr@s- MM tf8 *M# Lrc eZdZUdZdZeed<iZeee e effed<e dede efdZ e de dee ee eefffd Ze deeeeffd Zy ) _ConstantszBase class for constants.r$prefixdescrrcR |j|dS#ttf$rYywxYw)z!Get description of given constantrN)r IndexErrorKeyErrorclsrs rget_descz_Constants.get_descXs1 88D>!$ $H%  s &&setidc`|jjD]\}}|d|k(s|cSy)z$Get information about given constantrN)ritems)rrrinfos rget_infoz_Constants.get_info`s3((..*JD$Aw% +rcg} |jjDcgc]\}}|d|d}}}|Scc}}w#ttf$r}d|}Yd}~|Sd}~wwxYw)z)get full information about given constantz : rz(No information found in constant class. N)rrAttributeErrorr)rreskverrs r get_full_infoz_Constants.get_full_infohsw&( C/2xx~~/?@/?tq!aSAaD6?/?C@ A + C Z%e&ee'eeffed?<e(d@e)efdAZ*e(d@e)efdBZ+e(d@e)efdCZ,e(d@e)efdDZ-yE)F FieldTypeaYMySQL Field Types. This class provides all supported MySQL field or data types. They can be useful when dealing with raw data or defining your own converters. The field type is stored with every cursor in the description for each column. The `FieldType` class shouldn't be instantiated. Examples: The following example shows how to print the name of the data type for each column in a result set. ``` from __future__ import print_function import mysql.connector from mysql.connector import FieldType cnx = mysql.connector.connect(user='scott', database='test') cursor = cnx.cursor() cursor.execute( "SELECT DATE(NOW()) AS `c1`, TIME(NOW()) AS `c2`, " "NOW() AS `c3`, 'a string' AS `c4`, 42 AS `c5`") rows = cursor.fetchall() for desc in cursor.description: colname = desc[0] coltype = desc[1] print("Column {} has type {}".format( colname, FieldType.get_info(coltype))) cursor.close() cnx.close() ``` FIELD_TYPE_rrDECIMALrTINYSHORTLONGFLOATDOUBLENULL TIMESTAMPrLONGLONG INT24 DATE TIME DATETIME YEARNEWDATEVARCHARBITVECTORJSON NEWDECIMALENUMSET TINY_BLOB MEDIUM_BLOB LONG_BLOBBLOB VAR_STRINGSTRINGr!GEOMETRY) rUrWrYr[r]r_rarcrergrirjrrc^|j|j|j|jgS)z Get the list of all string types)rQr[rgrirs rget_string_typeszFieldType.get_string_typess* KK HH NN JJ   rc^|j|j|j|jgS)z Get the list of all binary types)r_rarcrerls rget_binary_typeszFieldType.get_binary_typess* MM OO MM HH   rc |j|j|j|j|j|j |j |j|j|j|jg S)z Get the list of all number types) r5rYr6r8r:r<r>rCrErSrMrls rget_number_typeszFieldType.get_number_typess[ KK NN HH II HH II JJ LL II GG HH  rc2|j|jgS)z#Get the list of all timestamp types)rKrBrls rget_timestamp_typeszFieldType.get_timestamp_types s LL MM  rN).r'r(r)r*rrr+r5rr6r8r:r<r>r@rBrCrErGrIrKrMrOrQrSrUrWrYr[r]r_rarcrergrirjrr rr,r rmrorqrsrrrr3r3sJ"H FCGSD#E3D#E3FCD#IsHcE3D#D#HcD#GSGSCOFCD#JD#COIsKIsD#JFCHc(GY'(v( %!( v ( %! ( 68$ ( v( i-( Xz*( %!( v( v( Xz*( v( GY'( GY'!(" U|#($8$v!<0vU|-#]3-v!<08$z*;(D$sE#s(O# $@ c   c   c   DI  rr3ceZdZUdZdZeed<dZeed<dZ eed<dZ eed <d Z eed <d Z eed <dZ eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d Zeed$<d%Zeed&<d'Zeed(<d)Zeed*<d+Zeed,<d-Zeed.<d/Zeed0<idd1dd2d d3d d4d d5dd6dd7dd8dd9dd:dd;dd<dd=dd>d!d?d#d@d$dAdBdCdDdEdFdGdHZe ee!eeffedI<yJ)K FieldFlagz_MySQL Field Flags Field flags as found in MySQL sources mysql-src/include/mysql_com.h r$_prefixrNOT_NULLr7PRI_KEYr; UNIQUE_KEYr MULTIPLE_KEYrRre UNSIGNED@ZEROFILLBINARYr[AUTO_INCREMENTrBr]rNO_DEFAULT_VALUEr ON_UPDATE_NOW@NUMPART_KEYGROUPUNIQUEBINCMPGET_FIXED_FIELDSFIELD_IN_PART_FUNCFIELD_IN_ADD_INDEX FIELD_IS_RENAMED)rzField can't be NULL)r7zField is part of a primary key)r;zField is part of a unique key)rzField is part of a key)rRzField is a blob)r{zField is unsigned)r}zField is zerofill)rzField is binary )rzfield is an enum)rzfield is a autoincrement field)rzField is a timestamp)rzfield is a set)rz Field doesn't have default value)rzField is set to NOW on UPDATE)rzField is num (for clients))rzIntern; Part of some key)rzIntern: Group field)rIntern: Used by sql_yacc)rr)rzUsed to get fields in item tree)rzField part of partition func)rzIntern: Field used in ADD INDEX)rzIntern: Field is being renamed)rrrrrrrN)"r'r(r)r*rvrr+rwrrxryrzrer|r~rr[rrBr]rrrrrrrrrrrrr rrrrrurus GSHcGSJL#D#HcHcFCD# NC IsC#c# M3 CHcE3FCFC#c#%%%%#c#(3(=( ?( : ( + ( 1 ( 1( /( ,( D( 6( *( I( C( 6( 9!(" 1#($87HGJG/(D$sE#s(O# $rruc,eZdZdZdedeffd ZxZS) ServerCmdMetazClientFlag Metaclass.rrcld}||vrtjd|dtt||S)N) FIELD_LISTREFRESHSHUTDOWN PROCESS_INFO PROCESS_KILLzThe option 'ServerCmd.z8' is deprecated and will be removed in a future release.r )r rrsuper__getattribute__)rrdeprecated_options __class__s rrzServerCmdMeta.__getattribute__UsH  % % MM(/$$+  w'--r)r'r(r)r*rr r __classcell__)rs@rrrRs.C.C..rrceZdZUdZdZeed<dZeed<dZ eed<dZ eed <d Z eed <d Z eed <dZ eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d$Zeed%<d&Zeed'<d(Zeed)<d*Zeed+<d,Zeed-<d.Zeed/<d0Zeed1<d2Zeed3<d4Z eed5<d6Z!eed7<d8Z"eed9<d:Z#eed;<dZ%eed?<d@Z&eedA<dBZ'eedC<iddDddEd dFd dGd dHddIddJddKddLddMddNddOddPddQd!dRd#dSd%dTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddZ(e)ee*eeffede<yf)g ServerCmdzMySQL Server CommandsCOM_rvrSLEEPrQUITr7INIT_DBr9QUERYr;rr= CREATE_DBr?DROP_DBrArrrrD STATISTICSrFrrHCONNECTrJrrLDEBUGrNPINGrPrIrRDELAYED_INSERT CHANGE_USER BINLOG_DUMP TABLE_DUMP CONNECT_OUTREGISTER_REPLICA STMT_PREPARE STMT_EXECUTESTMT_SEND_LONG_DATA STMT_CLOSE STMT_RESET SET_OPTION STMT_FETCHDAEMONBINLOG_DUMP_GTIDRESET_CONNECTION)rr)rr)r7r)r9r)r;r)r=r)r?r)rAr)rr)rDr)rFr)rHr)rJr)rLr)rNr)rPrI)rRr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rrrrrrrrrrrrrrrrN)+r'r(r)r*rvrr+rrrrrrrrrrrrrrrrrIrrrrrrrrrrrrrrrrrr rrrrrrfspGSE3ND#MGSE3NJIsGSGSHcJL#GSL#E3OD#ND#NNCKKJKcL#L#!!JJJJFCcc!(!( !( >!(  !( ' !( % !( >!( >!( O!( '!( ,!( ?!( ,!( !(  !(  !!(" 0#!($+*(*4,,:(((( 44A!(D$sE#s(O# $!rr) metaclassceZdZUdZdZeed<dZeed<dZeed<dZ eed <d Z eed <d Z eed <dZ eed<dZ eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d$Zeed%<d&Zeed'<d(Zeed)<d*Zeed+<d,Zeed-<d.Zeed/<d0Zeed1<d0Zeed2<d3Zeed4<d5Z eed6<d7Z!eed8<d9Z"eed:<d;Z#eed<<idd=dd>dd?d d@d dAd dBddCddDddEddFddGddHddIddJddKd!dLd#dMdNdOdPdQdRdSdTdTdUdVdWdXdY Z$e%e&e'ee&ffedZ<eee eeeeeeeg Z(e)eed[<e*d\efd]Z+y^)_ ClientFlagaMySQL Client Flags. Client options as found in the MySQL sources mysql-src/include/mysql_com.h. This class provides constants defining MySQL client flags that can be used when the connection is established to configure the session. The `ClientFlag` class is available when importing mysql.connector. The `ClientFlag` class shouldn't be instantiated. Examples: ``` >>> import mysql.connector >>> mysql.connector.ClientFlag.FOUND_ROWS 2 ``` r LONG_PASSWDr7 FOUND_ROWSr; LONG_FLAGrCONNECT_WITH_DBrR NO_SCHEMAr{COMPRESSr}ODBCr LOCAL_FILESr IGNORE_SPACEr PROTOCOL_41r INTERACTIVErSSLrIGNORE_SIGPIPEr TRANSACTIONSrRESERVEDrSECURE_CONNECTIONrMULTI_STATEMENTSr MULTI_RESULTSrPS_MULTI_RESULTSr PLUGIN_AUTHr CONNECT_ARGSrPLUGIN_AUTH_LENENC_CLIENT_DATA@CAN_HANDLE_EXPIRED_PASSWORDS SESION_TRACK SESSION_TRACK DEPRECATE_EOFCLIENT_QUERY_ATTRIBUTES@SSL_VERIFY_SERVER_CERTREMEMBER_OPTIONSiMULTI_FACTOR_AUTHENTICATION)rzNew more secure passwords)r7zFound instead of affected rows)r;zGet all column flags)rzOne can specify db on connect)rRz!Don't allow database.table.column)r{zCan use compression protocol)r}z ODBC client)rzCan use LOAD DATA LOCAL)rzIgnore spaces before '')rzNew 4.1 protocol)rzThis is an interactive client)rzSwitch to SSL after handshake)rzIGNORE sigpipes)rzClient knows about transactions)rzOld flag for 4.1 protocol)rzNew 4.1 authentication)rz!Enable/disable multi-stmt support)rzEnable/disable multi-results)rzMulti-results in PS-protocol)rz%Client supports plugin authentication)rz%Client supports connection attributes)rzAEnable authentication response packet to be larger than 255 bytes)rzADon't close the connection for a connection with expired password)rz3Capable of handling server state change information)rz!Client no longer needs EOF packet)rz/Support optional extension for query parameters)rr$)rr$) rrrrrrrrrrrrrdefaultrc6d}|jD]}||z} |S)zbGet the default client options set Returns a flag with all the default client options setr)r)rroptions r get_defaultzClientFlag.get_defaults% kkF VOE" rN),r'r(r)r*rrr+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrr r,rrrrrrs$KJIs!OS!IsHcD#KL#KKC!NC!L#Hc$s$#c# M3 #c#KL#*1"C1(/ #/L# M3  M3 #*S*")C)#c#'..-(<-(@-( 5-( D -( B -( < -( '-( :-( ;-( 3-( A-( 9-( 6-( D-( :-( @!-(" J#-($CEIJ+ )   H$ #0)Y-(D$sE#s(O# $-` & GT#Y Crrc$eZdZUdZdZeed<dZeed<dZ eed<dZ eed <d Z eed <d Z eed <dZ eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d d!d"d#d$d%d&d'd(d)d*d+d,d-d.Zeeeeeffed/<y0)1 ServerFlagzeMySQL Server Flags Server flags as found in the MySQL sources mysql-src/include/mysql_com.h SERVER_rvrSTATUS_IN_TRANSr7STATUS_AUTOCOMMITrMORE_RESULTS_EXISTSrRQUERY_NO_GOOD_INDEX_USEDr{QUERY_NO_INDEX_USEDr}STATUS_CURSOR_EXISTSrSTATUS_LAST_ROW_SENTrSTATUS_DB_DROPPEDrSTATUS_NO_BACKSLASH_ESCAPESrSERVER_STATUS_METADATA_CHANGEDrSERVER_QUERY_WAS_SLOWrSERVER_PS_OUT_PARAMSrSERVER_STATUS_IN_TRANS_READONLYrSERVER_SESSION_STATE_CHANGED)rzTransaction has started)r7zServer in auto_commit mode)rzMulti query - next query exists)rRr$)r{r$)r}zESet when server opened a read-only non-scrollable cursor for a query.)rz(Set when a read-only cursor is exhausted)rzA database was dropped)rr$)rzSet if after a prepared statement reprepare we discovered that the new statement returns a different number of result set columns.)rr$)rz5To mark ResultSet containing output parameter values.)rz>Set if multi-statement transaction is a read-only transaction.)rzVSession state has changed on the server because of the execution of the last statement)SERVER_STATUS_IN_TRANSSERVER_STATUS_AUTOCOMMITSERVER_MORE_RESULTS_EXISTSSERVER_QUERY_NO_GOOD_INDEX_USEDSERVER_QUERY_NO_INDEX_USEDSERVER_STATUS_CURSOR_EXISTSSERVER_STATUS_LAST_ROW_SENTSERVER_STATUS_DB_DROPPED"SERVER_STATUS_NO_BACKSLASH_ESCAPESr r r r rrN)r'r(r)r*rvrr+rrrrrrrrrr r r r r rrr rrrrrr(s GS!OS!#s#%%$*c*%% &#& &#&#s#'--*1"C1!(3( '#'+2#S2(/ #/#F$J' ,8&2( ( %G.:+ ",! , ) G)(D$sE#s(O# $)rrc&eZdZdZedefdZy)RefreshOptionMetazRefreshOption Metaclass.rc8tddtjS)zzReturn the deprecated alias of RefreshOption.REPLICA. Raises a warning about this attribute deprecation. zRefreshOption.SLAVEzRefreshOption.REPLICA)r RefreshOptionREPLICAselfs rSLAVEzRefreshOptionMeta.SLAVEms  ! #  ! !  rN)r'r(r)r*propertyrrrrrrrjs"   s    rrceZdZUdZdZeed<dZeed<dZ eed<dZ eed <d Z eed <d Z eed <dZ eed<ddddddddZeeeeeffed<y)rzbMySQL Refresh command options. Options used when sending the COM_REFRESH server command. REFRESH_rvrGRANTr7LOGr;TABLESrHOSTrRSTATUSr}r)rzRefresh grant tables)r7zStart on new log file)r;zclose all tables)rzFlush host cache)rRzFlush status variables)r}z,Reset source info and restart replica thread)r}z'Deprecated option; use REPLICA instead.)r#r$r%r&r'rrrN)r'r(r)r*rvrr+r#rr$r%r&r'rrr rrrrrrzs GSE3CFCD#FCGS20.,4KD(D$sE#s(O# $rrc eZdZUdZdZeed<dZeed<dZ eed<dZ eed <d Z eed <d Z eed <dZ eed<dZeed<dZeed<edfe dfe dfe dfe dfe dfedfedfdZeeeeeffed<y) ShutdownTypezVMySQL Shutdown types Shutdown types used by the COM_SHUTDOWN server command. r$rvrSHUTDOWN_DEFAULTrSHUTDOWN_WAIT_CONNECTIONSr7SHUTDOWN_WAIT_TRANSACTIONSrSHUTDOWN_WAIT_UPDATESrRSHUTDOWN_WAIT_ALL_BUFFERSrSHUTDOWN_WAIT_CRITICAL_BUFFERSrh KILL_QUERYr!KILL_CONNECTIONz%defaults to SHUTDOWN_WAIT_ALL_BUFFERSz'wait for existing connections to finishz!wait for existing trans to finishz#wait for existing updates to finishz-flush InnoDB and other storage engine buffersz@don't flush InnoDB buffers, flush other storage engines' buffersz(no description))r*r+r,r-r.r/r0r1rN)r'r(r)r*rvrr+r*rr+r,r-r.r/r0r1rr rrrrr)r)s GSc%&s&&''!"3"%'s'*,"C,JOS  3 & 5& ' /' " 1" & ;& + N+ "#56+-?@5(D$sE#s(O# $rr)c eZdZUdZdZeedfed<ddZdeedfddfd Z d edee e ffd Z d ede fd Z de ee fdee e effdZ ddee ee fdee deee e ffdZdee dffdZy) CharacterSetaLMySQL supported character sets and collations List of character sets with their collations supported by MySQL. This maps to the character set we get from the server within the handshake packet. The list is hardcode so we avoid a database query when getting the name of the used character set or collation. )rrLrTWX.slash_charsetsrNc(t|_d|_y)N)r=rA)r_desc_mysql_versionrs r__init__zCharacterSet.__init__st|tr |j|}|d|d|fSt |jD]%\}}| |d|k(s|ddus|d|d|fcSt d|d#ttf$r}t d|d|d}~wwxYw) zRetrieves the default collation for given character set Raises ProgrammingError when character set is not supported. Returns list (collation, charset, index) rrzCharacter set ID 'rBNr7TrA) isinstancerr9rrr enumerate)rr-rr%cids rget_default_collationz"CharacterSet.get_default_collations gs # zz'*AwQ00 #4::.IC|Aw'!d1goAwQ,, /  GHH) &( ? sA88BBBr/cZd}t|tr |j|}||d|dfS|dvr|j dk\rd}|!||j |}|d |d|dfS|F|Dt|jD]\}}| ||dk(s||d|dfcSt d |d t|jD]&\}}| |d|k(s|d|k(s||d|dfcS|j |}t d |d #t$r}t d|d|d}~wwxYw) aEGet character set information using charset name and/or collation Retrieves character set and collation information given character set name and/or a collation name. If charset is an integer, it will look up the character set based on the MySQL's ID. For example: get_charset_info('utf8',None) get_charset_info(collation='utf8_general_ci') get_charset_info(47) Raises ProgrammingError when character set is not supported. Returns a tuple with (id, characterset name, collation) NrrzCharacter set ID z unknown)utf8zutf-8r>r.r7z Collation 'z ' unknown)rFrr9rrr:rIrG)rr-r/rr%rH_s rget_charset_infozCharacterSet.get_charset_infos$NR gs # Wzz'*a$q'22 ' 'D,?,?6,IG  9#4--g6DGT!Wd1g. . ?y4&tzz2 T<Q'a$q'22 3 #[ 9#EF F"4::.IC|Aw'!d1g&:T!Wd1g.. /  & &w /YKyABB+ W&):7)8'LMSVV WsD D*D%%D*c|g}|jD]!}|s|d|vs|j|d#t|S)z^Retrieves a list with names of all supproted character sets Returns a tuple. r)r9r0tuple)rr"rs r get_supportedzCharacterSet.get_supported>sA JJDQs* 47#Szr)rN)NN)r'r(r)r*r7rrr+r;r?rrrrrIrrMrPrrrr3r3s'>NE#s(O=6 .sCx.T. Uc UeCHo U (S (S (IU38_IsCQT}AUI2UY,Cc3h0,CDLSM,C sC} ,C\ uS#X rr3c@eZdZUdZdZeed<dZeed<dZeed<dZ eed<dZ eed<dZ eed<d Z eed <d Z eed <d Zeed <d Zeed <d Zeed <dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZ eed<dZ!eed<dZ"eed<d Z#eed <d!Z$eed!<d"Z%eed"<d#Z&eed#<e'd$ed%e(efd&Z)e'd'e*d%e(efd(Z+e'd%e,ed)ffd*Z-y+),SQLModea.MySQL SQL Modes The numeric values of SQL Modes are not interesting, only the names are used when setting the SQL_MODE system variable using the MySQL SET command. The `SQLMode` class shouldn't be instantiated. See http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html MODE_rv REAL_AS_FLOATPIPES_AS_CONCAT ANSI_QUOTESrNOT_USEDONLY_FULL_GROUP_BYNO_UNSIGNED_SUBTRACTIONNO_DIR_IN_CREATE POSTGRESQLORACLEMSSQLDB2MAXDBNO_KEY_OPTIONSNO_TABLE_OPTIONSNO_FIELD_OPTIONSMYSQL323MYSQL40ANSINO_AUTO_VALUE_ON_ZERONO_BACKSLASH_ESCAPESSTRICT_TRANS_TABLESSTRICT_ALL_TABLESNO_ZERO_IN_DATE NO_ZERO_DATE INVALID_DATESERROR_FOR_DIVISION_BY_ZERO TRADITIONALNO_AUTO_CREATE_USERHIGH_NOT_PRECEDENCENO_ENGINE_SUBSTITUTIONPAD_CHAR_TO_FULL_LENGTHrrctNNotImplementedErrorrs rrzSQLMode.get_descx!!rrctrtru)rrs rrzSQLMode.get_info|rwr.cg}t|jD]<}|jdrtt ||dr,|j |>t t|S)zReturns a sequence of all available SQL Modes This class method returns a tuple containing all SQL Mode names. The names will be alphabetically sorted. Returns a tuple. rL__call__)varskeys startswithhasattrgetattrr0rOsorted)rr"keys rr&zSQLMode.get_full_infosV9>>#C>>#&wwsC7H*/U 3$VC[!!rN).r'r(r)r*rvrr+rTrUrVrrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrr,rrrrrr&rrrrRrRJs GS(M3(,OS,$K$&L#&Hc22#<S<.c."J"FCE3CE3*NC*.c..c.HcGSD#!838 6#6440s0,OS,&L#&(M3(&BB$K$4444":C:#<S<"C"HSM"""S"Xc]"" "eCHo " "rrR)Er*r abcrrrrrrrr r typingr r r rrrrrcharsetsrrerrorsr tls_ciphersrrrrr+rrMYSQL_VECTOR_TYPE_CODEMYSQL_DEFAULT_CHARSET_ID_57MYSQL_DEFAULT_CHARSET_ID_80rZrrr^rirjrkrrrvaluesrrrrtype!NATIVE_SUPPORTED_CONVERSION_TYPESrrrr.r3rurrrrrrr)r3rRrrrrs :244PPPC$G3##!"3"I!!7E7E B7E7E 7E  7E  7E K7E D7E47E47Ey7E7Et7Ee7E%7E !7E"#7E$E%7E&'7E($)7E*D+7E,T-7E.A/7E017E237E4 557E6 d77E897E:t;7E<u=7E>5?7E@$A7EBC7EDEE7EFDG7EH dI7EJ $K7ELtM7EN 4O7EP%Q7ER4S7ET%U7EV!$W7EXuY7EZ$[7E\u]7E^_7E`Ta7Ebtc7Ed$e7Efg7Ehm7EtC%T3*?!@@A7r'W uS#s]#V " uS#X "302II d3iIQG) G)%G)&G)&': G) &': G) )*@ G))*@G))*DG))*DG))*@G))*@G))*DG))*DG)*+BG)*+BG) *+F!G)"*+F#G)$*+B%G)&*+B'G)(*+F)G)**+F+G),,-F-G).,-F/G)0,-J1G)2,-J3G)4./J5G)6./J7G)8./N9G):./N;G)<*+>=G)>*+>?G)@*+BAG)B*+BCG)DLEG)FLGG)H 4IG)J 4KG)LmMG)NmOG)P!"7QG)R!"7SG)T#$