nHdM3BddlZddlZddlmZmZddlmZddl m Z gdZ dxZ xZ xZxZZGddeZGdd eZd Zd Zd Zd ZdZdZdZdZdZdCdZdZGddZeZGddZ GddeZ!GddZ"Gdde#Z$Gdd e%Z&e&Z'Gd!d"e&#Z Gd$d%e ZGd&d'e(eZ)Gd(d)e*eZ+d*Z,e,Z-d+Z.Gd,d-e+Z/e/\Z0Z1ZZ2Gd.d/e e00Z Gd1d2e(ee e20Z3d3Z4d4Z5d5Z6d6Z7d7Z8d8Z9dDd:Z:e fddd;d<Z;e;e+Gd=d>ZZ?Gd?d@Z@dAZAdCdd0dBZBe)e+e3fZdS)EN)MappingProxyTypeDynamicClassAttribute)or_)reduce)EnumTypeEnumMetaEnumIntEnumStrEnumFlagIntFlagReprEnumautouniquepropertyverifymember nonmember FlagBoundarySTRICTCONFORMEJECTKEEPglobal_flag_reprglobal_enum_repr global_str global_enum EnumCheck CONTINUOUS NAMED_FLAGSUNIQUEpickle_by_global_namepickle_by_enum_nameceZdZ dZdS)rc||_dSNvalueselfr(s +/opt/alt/python311/lib64/python3.11/enum.py__init__znonmember.__init__  N__name__ __module__ __qualname__r,r.r+rr(r.rceZdZ dZdS)rc||_dSr&r'r)s r+r,zmember.__init__#r-r.Nr/r3r.r+rrr4r.rcd t|dpt|dpt|dS)N__get____set__ __delete__)hasattr)objs r+_is_descriptorr=&s? C # # ' C # # ' C & &r.c t|dko7|dd|ddcxkodknco|ddko |ddkS)N___lennames r+ _is_dunderrI0sq IIM  !HRSS ) ) ) )T ) ) ) )  GsN  HO r.c t|dko7|d|dcxkodknco|dddko |dddkS)Nr@rrCrArErGs r+ _is_sunderrM;ss IIM  GtBx & & & &3 & & & &  1I   BK3  r.ct|tsdSt|dd}|dzt|ddz}d|z}||kp||S)NFr2.r0) isinstancetypegetattrendswith)cls_namer<qualname s_pattern e_patterns r+_is_internal_classrYFsk c4 usNB//H3j"!=!==IiI y @H$5$5i$@$@@r.cd|d}t|}t||krA||r,|||dzdgkr|ddks |ddkrdSdS)NrCrBrLrKrATF)rF startswith)rUrHpatternpat_lens r+ _is_privater^Os~!$G'llG II  (( WWQY&'C500bSDHOOtur.c0 |dkrdS||dz z}|dkS)NrFrLr3)nums r+_is_single_bitra]s- axxu37NC !8Or.c d}t|tr ||d<d|d<dSt|d|t|dddS)Nc&td|z)Nz%r cannot be pickled) TypeErrorr*protos r+_break_on_call_reducez6_make_class_unpicklable.._break_on_call_reducels.5666r. __reduce_ex__z r1)rQdictsetattr)r<rgs r+_make_class_unpicklablerkfsm 777#t04O'L_&;<<<\;/////r.c#K|}t|tr|j}|dkrtd|z|r||dzz}|V||z}|dSdS)Nrz%r is not a positive integerrL)rQr r( ValueError)r`originalbs r+_iter_bits_lsbrpusH#ti Qww7(BCCC  C4!8  q r.c:tt|Sr&)listrpr's r+show_flag_valuesrss u%% & &&r.cb d|z}|dkr-tj||zddd}ntj||dz |zz }|dd}|dd}|*t ||kr|d|z|z| d}|d|S) Nr@r10rLrK ) bit_lengthbltnsbinreplacerF)r`max_bitsceilingssigndigitss r+r{r{s C##%%%G axx IcGm $ $ , ,S#q 9 9 IsdgkW44 5 5 RaR5D qrrUF v;; ! !2h)F2XIJJ?FddFF ##r.c |d}d}t|dD] \}}|dkrnt|D]\}}||d||<d|S)N rrx)split enumeratejoin)textlinesblanksichjls r+_dedentrs JJt  E F58$$2 99 E %  1QRR5a 99U  r.ceZdZdZdS) _auto_nullcdS)Nrr3r*s r+__repr__z_auto_null.__repr__s|r.N)r0r1r2rr3r.r+rrs#r.rc eZdZ efdZdZdS)rc||_dSr&r'r)s r+r,z auto.__init__r-r.cd|jzS)Nzauto(%r)r'rs r+rz auto.__repr__sDJ&&r.N)r0r1r2rr,rr3r.r+rrsA('''''r.rc*eZdZ ddZdZdZdZdS)rNc(|: |j|jS#t$rt|d|jwxYw|j; |j|jS#t$rt|d|jdwxYw||S)Nz has no attribute ) _member_map_rHKeyErrorAttributeErrorfget)r*instance ownerclasss r+r8zproperty.__get__s   !.ty99   $4>JJ J  y (%249==((((8B DIIN#'(( yy***s$:A%A<cz|jtd|jd|j|||S)N cannot set attribute )fsetrclsnamerH)r*rr(s r+r9zproperty.__set__sF 9  .;?<<<S 99Xu-- -r.cx|jtd|jd|j||S)Nrz> cannot delete attribute )fdelrrrH)r*rs r+r:zproperty.__delete__sD 9  .>BlllDIIV 99X&& &r.c,||_|j|_dSr&)rHr0r)r*rrHs r+ __set_name__zproperty.__set_name__s !* r.r&)r0r1r2r8r9r:rr3r.r+rrsZ++++(...'''+++++r.rceZdZ dZdZdS) _proto_memberc||_dSr&r'r)s r+r,z_proto_member.__init__r-r.cH t|||j}t|ts|f}n|}|jtur|f}|js||}n|j|g|R}t|dsQ|jtur||_ n; |j||_ n*#t$r}td}||_ |d}~wwxYw|j }||_ ||_|j|t!|j|_t&ht)|t&rS|xj|zc_t-|r|xj|zc_d|jzdz |_ |j|}nE#t$r8|jD]\}} | j |kr| }nt:YnwxYwn#t:$rt&t)|t&s|j|nEt&>t)|t&r)t-|r|j|YnwxYwd} |jddD]q} | j !|} | St| tDtFfr| } n4t| dr#t| drt| dr| } qr| ratE} || _$| %||| j&| _&| j'| _'| j(| _(tS||| ntS|||||j|< |j*||dS#t$r|j+|YdSwxYw)N_value_z/_value_ not set in __new__, unable to create itr@rLrrr),delattrr(rQtuple _member_type_ _use_args_ _new_member_r;objectr Exceptionrd __cause___name_ __objclass__r,rF_member_names_ _sort_order_r issubclass _flag_mask_ra_singles_mask_ry _all_bits__value2member_map_ritemsrappend__mro____dict__getrrrrrrrrj setdefault_unhashable_values_)r* enum_class member_namer(args enum_memberexcnew_excrHcanonical_memberfound_descriptorbase descriptorredirects r+rz_proto_member.__set_name__s`   K((( %'' 9DDD  #u , ,8D$ E$11*==KK1*1*DtDDDK{I.. "'611&+ ##"*B**BD*IK'' """'MG),G%!M " #( #-   d###&z'@#A#A    :t < <   " "e + " "e$$ 3))U2))$%:+A*M*M*O*O$PST$TJ ! > #(;EB  # # #.8.E.K.K.M.M##*D*'/588&6 9#N  # > > >L%j$77!)00====$":t44%&u--% )00=== >" &qrr*  D**;77J%j85J*KLL '1$E F33 F33 F33 (2$  :zzH)HO  ! !*k : : :,1HM,1HM,1HM J X 6 6 6 6 J [ 9 9 9/:  , 9  ) 4 4UK H H H H H 9 9 9  * 1 1% 8 8 8 8 8 8 9s[B'' C1C  C: FG?G G G  GBIIM99$N! N!N)r0r1r2r,rr3r.r+rrs<j9j9j9j9j9r.rc0eZdZ fdZfdZdZxZS) _EnumDictcti|_g|_g|_d|_dS)NF)superr, _member_names _last_values_ignore _auto_called)r* __class__s r+r,z_EnumDict.__init__fs>  !r.c  t|j|r!ddl}|dtdt |j|rnt |r|dvrtd|d|dkrG|jrtd t|tr|j n|}t|d |nx|d krt|tr)|d d }nt#|}||_t'|t'|jz}|rtd|nt+|r |dkrd}n||jvrt|d||||jvrnt|t,r |j}nt1|rnn||vrt|d||t|t2r|j}d}d}t|t4rd}|f}t7|t8urt;d|Drg}|D]} t| t4rvd}| jt<krC||dtA|j|j!dd| _d|_| j} |j!"| |"| |r |d}nt9|}d|j|<|r|j!"|tG$||dS)NrzzIn 3.13 classes created inside an enum will not become a member. Use the `member` decorator to keep the current behavior.r@ stacklevel)_order__generate_next_value__numeric_repr_ _missing__ignore_ _iter_member__iter_member_by_value__iter_member_by_def_z_sunder_ names, such as z", are reserved for future Enum userz4_generate_next_value_ must be defined before members_generate_next_valuer,rxz+_ignore_ cannot specify already set names: __order__rz already defined as TFc3@K|]}t|tVdSr&)rQr).0vs r+ z(_EnumDict.__setitem__..s,+O+OAJq$,?,?+O+O+O+O+O+Or.rL)%rY _cls_namewarningswarnDeprecationWarningr^rMrmrrdrQ staticmethod__func__rjstrr|rrrrsetrrIrr(r=rrrRranyrrrFrrr __setitem__) r*keyr(r_gnvalreadynon_auto_storesingle auto_valuedrrs r+rz_EnumDict.__setitem__ms  dne 4 4  OOO MMO&     t~s + +Q 0  __N 0 !j33"---$\#$Z[[[)3E<)H)HSu~~e4d;;;; ""eS))(!MM#c2288::EE KKE$ e**s4+='>'>>$*&w*__2 0k!! D& & &###tCyyIJJ J DL  y ) )* 0KEE E " "' 0  d{{ccc499 MNNNE6** $ !NF%&& " E{{e##+O+O+O+O+O(O(O#!  * *A!!T**4).7j00&*&?&?$'C0B,C,CTEVWXWXWXEY'&'&AG15D-G)00333&&q))))/'NEE!+..E&*D s # 0!((/// C'''''r.c |D] }||||<n#t$r|D] \}}|||< YnwxYw|D] \}}|||< dSr&)keysrr)r*members more_membersrHr(s r+updatez_EnumDict.updates #  + +$T]T  + # # #& # # e"T  # # #(--//  KD%DJJ  s "%??)r0r1r2r,rr __classcell__rs@r+rr_sk """""c(c(c(c(c(Jr.rcPeZdZ edZdddfd ZdZdddddddd Zd Zfd Z d Z d Z dZ dZ dZejdZdZdZfdZdddddddZdddddZedZedZedZedZedZxZS)rc |||t}||_|||\}}|t |dd|d<|S)Nr)_check_for_existing_members_rr _get_mixins_rS)metaclsclsbaseskwds enum_dict member_type first_enums r+ __prepare__zEnumType.__prepare__sp ,,S%888KK ! ")"6"6sE"B"B Z  !18 722I- .r.NFboundary_simplec 2 |rtj||||fi|S|dgd|d}|D]}||d|j} t | ddhz} | r/tddd| Dz|dd} t| }| ||\} } | || | \}}}||d<||d <| D]}||}t|||<g|d <i|d <i|d <g|d <| |d<||||d<|pt| dd|d<d|d<d|d<d|d<d|d< d}tj||||fi|n #t $r}|jp|}Yd}~nd}~wwxYw|||jt(lt(|vrc| t*urt-dd|vr| j_j|d<d|vr-| j}|t*jur| j}|_j|d<dD]b}||vr\t| |}t|}tt*|}t| |}|||fvrt5||ct6It9t6r4dD]1}||vr+tt6|}t5|||||<2t:|r|_t:j_| =t?| t@r(| !dd"} t6|dkst6ft9t6sQtGdtGdtGdtGdtGdnWt6Pt9t6r;dD}|tI|kr j%_&| rfd| D} | r3fd| D} | j'krt-d j'd!| S)"NrmrorOzinvalid enum member name(s) %src34K|]}t|VdSr&)repr)rns r+rz#EnumType.__new__..s(<<T!WW<<<<<z$EnumType.__new__..99919999r.cZg|]'}|jvst|j%|(Sr3)rrarrors r+r&z$EnumType.__new__..sFJ$;;;~jYZmNc?d?d;;;;r.cJg|]}|jvs|jv|jv| Sr3)rrr)s r+r&z$EnumType.__new__..sO!888j555!z?X:X:X  ;Y:X:Xr.z'member order does not match _order_: z )(r__new__rrpoprrrmrrirr _find_new_r_find_data_repr_rS RuntimeErrorrrrrrrdrrrrjr rr __new_member__rQrr|rrsortedrrr)rrr classdictrrrignorer member_names invalid_namesrr r r,save_newuse_argsrHr(remethod enum_method found_method object_methoddata_type_method member_listrrs @r+r,zEnumType.__new__s  K"577?7C JJTJJ J Z,,33J???:& % %C MM#t $ $ $ $!. L))UBK7  =HH< %*4*? ,' ))$,V^++)1F%+ "'1'9 )$J ; ;D9$$%j$77 &z488 ' 5 5 #*;#=#= $4m#DDDJk:::   :t < <  2 2 y((")$"5"5KJk:::&1IdO   4,3 )!%J   '3'' <!//#s3399;; #Jz4,H,H# J - - - J . . . J 0 1 1 1 J - - - J - - - -  *Z">"> 99j999Kf[1111+5+J ( !(  $G*333i%444gg? s+G G( G##G(c dS)NTr3rs r+__bool__zEnumType.__bool__s tr.rLmodulerVrRstartrc l ||||S||||||||S)NrC)r,_create_)rr(namesrDrVrRrErs r+__call__zEnumType.__call__sR 0 =;;sE** *||!! r.c t|tsSddl}|dtdt dt |jd|jjdt||o |j |j vS)Nrzin 3.12 __contains__ will no longer raise TypeError, but will return True or False depending on whether the value is a member or the value of a memberr@rz'unsupported operand type(s) for 'in': 'z' and '') rQr rrrrdrRr2rrr)rrrs r+ __contains__zEnumType.__contains__s &$'' L OOO MM`&     )LL---s}/I/I/IKLL L&#&&L6=C 1 1 OOI & & &  (@ @ @ OO/ 0 0 0   & &+&& &#c#"34455 CDD Dr.c t|rt| |j|S#t$rt|dwxYwr&)rIrrrrrHs r+ __getattr__zEnumType.__getattr__se  d   ' && & 1#D) ) 1 1 1 &&D 0 1s .A c |j|Sr&rr\s r+rRzEnumType.__getitem__s %%r.c, fdjDS)Nc32K|]}j|VdSr&r_rrHrs r+rz$EnumType.__iter__..s+FF4 &FFFFFFr.)rrAs`r+rSzEnumType.__iter__s( GFFF33EFFFFr.c, t|jSr&)rFrrAs r+rTzEnumType.__len__s 3%&&&r.c, t|jSr&)rrrAs r+rUzEnumType.__members__$s   0111r.cbtt|tr d|jzSd|jzS)Nz z )r rr0rAs r+rzEnumType.__repr__.s1   3 5 5 - -- -r.cF fdtjDS)Nc32K|]}j|VdSr&r_rbs r+rz(EnumType.__reversed__..8s+PP4 &PPPPPPr.)reversedrrAs`r+ __reversed__zEnumType.__reversed__4s0 QPPP8C tj djd}n#tt t"f$rYnwxYw|t%| n|| d<||| d<|||| | |S) Nrrxrr@r0r1r2r)rrr rQrr|rrrrrrrsys _getframe f_globalsrrmrrkr,)r class_namerHrDrVrRrErrrrCr r3original_names last_valuescountrHr(itemr member_values r+rGzEnumType._create_Gs -<dC[((U;; :'' E::  eS ! ! 4MM#s++1133E eeT] + + , ,*U1Xs:S:S ,$)2ENK(88 , , t"88ue[YZYZYZ^\\""5))) dE]++++ 2 2D$$$ 1,0%+\ ,0) \%1Ik " " > q))3J?"J9     > #I . . . .&,Il #  (0In %w E9xXXXsE00F  F )r as_globalc8 tj|j}|r|j}n|}fd|D} |dn'#t $r|dYnwxYwd|D} || d<t |tf| } t||pt| }|rt|n4tj|j j |j |||<|S)Nc4g|]\}}|||fSr3r3rrHr(filters r+r&z&EnumType._convert_..s?!!!D%6$<<!u !!!r.c"|d|dfSNrLrr3ts r+z$EnumType._convert_..s!ad|r.rc|dSNrr3rs r+rz$EnumType._convert_..s qtr.c,i|]}|d|dS)rrLr3)rrs r+ z&EnumType._convert_..s",,,q!ad,,,r.r1)etyper)romodulesrrsortrdrRr _simple_enumrrr1rrU) rrHrDr|sourcerrxmodule_globalsrbodytmp_clss ` r+ _convert_zEnumType._convert_{sT V,5  $_FF#F!!!!#)<<>>!!! - LL33L 4 4 4 4 - - - LL^^L , , , , , --,G,,,#\tfZ..@lx/?4@@@II  I      K ' 0 7 7 H H H"t A!BBc|D]=}|jD]3}t|tr|jrt d|d|4>dS)Nrz> cannot extend )rrQrrrdmclsrrrchainrs r+rz%EnumType._check_for_existing_members_sr  E   dH--$2E#))zz441   r.c |sttfS||||d}t|tst d|||pt}||fS)NrKzZnew enumerations should be created as `EnumName([mixin_type, ...] [data_type,] enum_type)`)rr rrQrrd_find_data_type_)rrrrr r s r+rzEnumType._get_mixins_s  4<  ))*e<<<2Y *h// LKLL L++J>>H& J&&r.c|D]P}|jD]F}|tur t|tr |jccSd|jvr|jdccSGQdS)Nr)rrrQrrrrs r+r/zEnumType._find_data_repr_s 5 5E  5 56>>h//5,,,,,,4=00=4444441  5tr.c$t}t}|D]}d}|jD]}|||tur!t |t r+|jtur||jnGad|jvs d|jvr/t |t r||p|n|p|}t|dkrtd|d||r| SdS)Nr,__dataclass_fields__rLztoo many data types for : ) rrrWrrQrrrrFrdr-)rrrr data_types base_chainr candidaters r+rzEnumType._find_data_type_s;UU UU  2 2EI  2 2t$$$6>>h// 2)77"t'9:::8$-//3IT]3Z3Z!$11! NN9#4555E ) 1TII z??Q  ) JJWXX X  >>## #4r.c4 |dd}|duo|du}|RdD]C}||fD]8}t||d}|ddjtjtjhvr|}n9|n Dtj}||tjtjfvrd} nd} ||| fS)Nr,)r1r,FT)rrSr,rr ) rr3r r r,r7r:possibletargetr8s r+r.zEnumType._find_new_s -- 400T)AgT.A ?8 ) )!,j 9  H$Xvt<,J!J!JHHH(**r.r&)r0r1r2 classmethodr r,rBrIrLrNrZr]rRrSrTrzrrUrrirkrGrrrr/rr.rrs@r+rrsX  [ =A%uuuuuuun $4$TYZei$$$$$LMMM*"""""EEE$111 &&& GGG '''  ^22^2... QQQ ) ) ) ) )48$TYZei2Y2Y2Y2Y2Yh$dV[$$$$$L[''['*  [ [8*+*+[*+*+*+*+*+r.rceZdZ dZdZdZedZdZdZ dZ dZ d Z d Z d Zd Zed ZedZdS)r ct||ur|S |j|S#t$rYnt|tr)|j turt|tr|d}d}St|d|j}||||td|jd|d}t|ts||_|#d}d}wxYw)N is not a valid z error in z._missing_: returned z" instead of None or a valid member)rRrrrdrvaluesrrrrQr rrrintrmr2r0 __context__)rr(rrresultr9ve_excs r+r,z Enum.__new__Cs ;;#  L ")%0 0    D " " "*1133 " ">U**!MMMMM+ " " "  C]]5))FF   CFFFFFF  &#&& (CFF'$C)>)>$%//Jvs4K4K/CFF$eeeSEUEU$VWW>ck L[#)"|||VVV5C"#z22-&,CO CFMMMMsL " A'3A'#A'&A'+B B BBE5AE:AEEcdSr&r3)r*rrs r+r,z Enum.__init__vs r.c2 |s|S |d}|||dkr|dzSt#t$rQddl}|dtdt |D]} |dzccYS#t$rYwxYw|cYSwxYw)NrKrLrzIn 3.13 the default `auto()`/`_generate_next_value_` will require all values to be sortable and support adding +1 and the value returned will be the largest value in the enum incremented by 1rwr)rrdrrrrh)rHrErurtlastrrs r+rzEnum._generate_next_value_ys  L r?D      {2&&ax     OOO MMd&     k**  q5LLLLL DLLL s7,;;)rrrr0rr)r*v_reprs r+rz Enum.__repr__sC,4 $ 7 7 7ffT\FZFZFZFZ[[r.c.|jjd|jS)NrP)rr0rrs r+rz Enum.__str__s.1114;;AAr.c |jjturtgd}n'tt|}t |dgD]#}|ddkr||$|jD]}|j D]x\}}|ddkrt|tr<|j ||j vr||M||c||yttgd|z}|S)N)rrQ__eq____hash__r1rHr(rrrC)rrQrrr1)rrrrrZrSrWrrrrQrrrdiscardr2)r*rYrHrr<rHs r+rZz Enum.__dir__sr  > '6 1 1kkkllKKfnnT2233KD*b11 & &DAw#~~%%%>%%'' * *C \//11 * * c7c>>c8,,*x+t4;L/L/L#----$++D1111OOD)))) *PPPQQ r.cRtt||Sr&)rr)r* format_specs r+rzEnum.__format__s~~c$ii555r.c*t|jSr&)hashrrs r+rz Enum.__hash__sDK   r.c |j|jffSr&)rrres r+rhzEnum.__reduce_ex__s~ ///r.c|Sr&r3)r*memos r+ __deepcopy__zEnum.__deepcopy__ r.c|Sr&r3rs r+__copy__z Enum.__copy__rr.c |jSr&rrs r+rHz Enum.names *{r.c |jSr&r#rs r+r(z Enum.values +|r.N)r0r1r2r,r,rrrrrrZrrrhrrrrHr(r3r.r+r r s%N111f   !!!F[\\\BBB<666!!!000XXr.r ) metaclassceZdZdS)rNr0r1r2r3r.r+rrr.rceZdZdS)r Nrr3r.r+r r rr.r ceZdZ dZdZdS)r cL t|dkrtd|t|dkr3t|dtst|ddt|dkr3t|dtstd|dt|dkr3t|dtstd|dzt|}t||}||_|S) Nrwztoo many arguments for str(): rLrz is not a stringr@zencoding must be a string, not zerrors must be a string, not %r)rFrdrQrr,r)rrr(rs r+r,zStrEnum.__new__s. v;;??)&&KLL L v;;!  fQi-- Fq DEEE v;;!  fQi-- Uivayy STTT v;;!  fQi-- Q AVAY OPPPV S%(( r.c, |Sr&)lower)rHrErurts r+rzStrEnum._generate_next_value_ s zz||r.N)r0r1r2r,rr3r.r+r r s7*r.r c|jSr&rGres r+r"r"s 9r.c,t|j|jffSr&)rSrrres r+r#r#s T^T[1 11r.c`eZdZ eZeZeZeZdS)rN)r0r1r2rrrrrr3r.r+rrsATVVFdffG DFFE 466DDDr.rceZdZ eZdZedZeZedZ edZ dZ dZ dZ dZd Zd Zd Zd Zd ZdZeZeZeZdS)r c |s||ndSt|} t|}n!#t$rtd|zdwxYwd|dzzS)NrLzinvalid flag value %rr@)max _high_bitrrd)rHrErurt last_valuehigh_bits r+rzFlag._generate_next_value_3s  5!-551 4%%  L ,,HH L L L3j@AAt K LXaZ  s *Ac#xK t||jzD]}|j|VdSr&)rprrr)rr(vals r+rzFlag._iter_member_by_value_EsU "%#/"9:: 2 2C(,,S11 1 1 1 1 2 2r.c#bK t||dEd{VdS)Nc|jSr&)r)r%s r+rz+Flag._iter_member_by_def_..Vsanr.r)r2rrs r+rzFlag._iter_member_by_def_Osc **511,,         r.c  t|tst|d|j|j}|j}|j}d}||cxkr|kr nn|||z zr|jturjt| | }t|d|dt||dt|||jtur||z}ni|jtur|S|jtur2|dkr+t|dzd| z|z}nt|d|j|dkr |}|dz|z}||z}||z}||z} |r;|jtur-t|jd |d |d t|d |jt"urt"|} n|j||} t'| d s|| _| s|rg} d} || D]!} | | | | jz} "|ra| |z}|jD]B\}}|| vr9|jr2|j|z|jkr| || |jz} C|| z }dd| D| _| sd| _nT|r"|jturt|d||r&| xjd||zz c_nd| _|j|| } | | |j|<| S)Nrz invalid value z given z allowed rrLr@z unknown flag boundary (z) --> unknown values z []r|cg|] }|j Sr3rr$s r+r&z"Flag._missing_..s,G,G,G!QX,G,G,Gr.z: no members with value z|%s)rQrrmr2rrrrrrryr{rrrr0rrr,r;rrrrrrrrrr)rr( flag_mask singles_maskall_bits neg_valuer}unknownaliasesrw pseudo_memberrcombined_valuer%rpms r+rzFlag._missing_Ys1 %%% .3eeS5E5EF O ) > I2222(22222Hy013~''u//1193G3G3I3IJJ CCE8(<(<(<(V>V>V7** )5(( 4''199 A0@0@0B0B,CDD#$ !9<cnnO 199IqL5(E9*$<-'|+  s~T11|||UUUGGGS\\\\C    & &"NN3//MM-55c5AAM}i00 *$)M !  (7 (GN&&|44 , ,q!!!!)+ 5$w. -335555EAr((RZ(BJ*,4 ;  !)66$,+?+?+?+?@ @ %-HHdkkk66$,;O;O;O;OP Pr.cZ|jj}|j |d|jdS|d|jS)Nr)rP)rr0rrr*rUs r+rz Flag.__str__s<>* ; 'xx6 6&hh 4 4r.c*t|jSr&)boolrrs r+rBz Flag.__bool__sDL!!!r.ct||jr|j}n-|jturt||jr|}nt S|j}|||zSr&rQrrrrNotImplementedr*rr(s r+rz Flag.__or__i eT^ , , "MEE  v - -*UDDV2W2W -EE! ! ~~eem,,,r.ct||jr|j}n-|jturt||jr|}nt S|j}|||zSr&rrs r+rz Flag.__and__rr.ct||jr|j}n-|jturt||jr|}nt S|j}|||z Sr&rrs r+rz Flag.__xor__rr.c|j^|jttfvr!||j|_n(||j|jz|_|jSr&)rrrrrrrrs r+r!zFlag.__invert__s[ ? "5$-//"&..$,"?"?"&..1D }1T"U"Ur.N)r0r1r2rrrrrrrrrLrSrTrrrBrrrr!rrr r3r.r+r r ,s-N!!!$22[2+M[ZZ[Zx===444 (((QQQ555"""---------HGHHHr.r rnceZdZdS)r Nrr3r.r+r r rr.r c2 |dz S)NrL)ryr's r+rr s       !!r.c g}|jD],\}}||jkr|||jf-|r4dd|D}t d|d||S)N, c"g|] \}}|d| Sz -> r3raliasrHs r+r&zunique..s'LLL uuudd+LLLr.zduplicate values found in r)rUrrHrrrm) enumeration duplicatesrHr alias_detailss r+rrsJ#/557733 f 6;     tV[1 2 2 2. LLLLLNN jmm-.. . r.c>|dkrdS|dt|zkS)NrLFr@)rr's r+ _power_of_twor !s( qyyu A5))) ))r.cf |jjdd}|d|jS)NrPrK)rr1rr)r*rDs r+rr&s9 ^ & , ,S 1 1" 5Fffdkk **r.c` |jjdd|jj}|jd|d|jdSt |r d|jS|jtj ur9d fd|j dDSg}|jdD]L}|d r| |2| d|Md |S)NrPrKrrrcg|] }d| S)rPr3)rrHrDs r+r&z$global_flag_repr..<s$SSSdFFFDD1SSSr.r)rr1rr0rrrarrrrrHisdigitr)r*rUrHrrDs @r+rr/s5 ^ & , ,S 1 1" 5F~&H {$ffhhh ==d/ &&$++.. l///xxSSSSdiooc>R>RSSSTTT""3'' 3 3At||~~ 3 A vvvqq12222xx~~r.cR |j|jj}|d|jdS|jS)Nrr)rrr0rrs r+rrFs8 {>*#88T\\\22{r.Fc t|tr t|_n t|_t|t r|r t |_tj |j j |j |Sr&)rr rrrrrrrorr1rrrU)r update_strs r+rrPsr #t(' ' c8 $ $! !  K(//@@@ Jr.)rr8c fd}|S)Nc |j}j|jd}||j}n jj}i}i}|||d<||d<|d<jx|d<}gx|d<}ix|d<}ix|d<} g|d <jx|d <} j|d <ttrpj |d <d|d <d|d<d|d<d|d<tj |d<tj |d<tj|d<tj|d<tj|d<tj|d<tj|d<|jD]R\} } | dvr t)| s.t+|| st-| st/| r| || <M| || <S|jdd|d<t1|f|d} dD]b} | |vr\t3| }t3| | }t3t4| }t3| | }|||fvrt7| | |cg}t| trdx}}|D]\} }t9|t:r.t:jt>ur|| dtA||}|| vrAtC}|"| | t7| | || ||| <r*t9|tFs|f}|| g|R}|d}n || }|||_$| |_%| |_&|'|tC}|"| | t7| | |||| <tA||_(|| |<tS|r|*| ||z}n||z}|*|||z| _+|| _,d ||z-zdz | _.d!| D}|t_|kr | j0| _1n|D]u\} }t9|t:r5|jt>ur || dtA|||_|j}|| vrAtC}|"| | t7| | || ||| <r*t9|tFs|f}|| g|R}|d}n || }|||_$| |_%| |_&|'|tA||_(tC}|"| | t7| | |||| <|| |<|*| |*|wd|vr | j| _2tfj| _| S)"Nr,r1rrrrrrrrrrrrrrrrrrr rr!)r __weakref__rQzAn enumeration.Tr rrrLr@cg|] }|j Sr3r#r$s r+r&z7_simple_enum..convert_class..r'r.)4r0rrrrrr,rrrr rrrrrr rr!rrIr^rMr=rRrSrrjrQrr(rrFrrrrrrr,rrarrrryrr2rrr1r )rrUr, new_memberattrsrgnvr5rlvalue2member_mapr rHr<rr;r<r=r>gnv_last_values single_bits multi_bitsr(rrr?rrr8s r+ convert_classz#_simple_enum..convert_classos<  'H,""9--   )JJ,4J  %/D! ")^%\.3.II $%022 ,..^z8:: !"%5&( "#.3.AA_ $1^ eT " " 1!)!=U-=D "&D !%D %)D! "!%D ![DN"lDO"lDO"lDO#}D #}D !%D ++-- " "ID#222$ ";x#>#> "*TBRBR "VdehViVi " T !d <  I & & ./DO (UIthPTUUU J ; ;D4%eT22 &z488 ' 5 5 #*;#=#= $4m#DDDJk::: j$ ' 'P 2'( (K*${{}}# 2# 2 eeT**MtzZ/G/GCa\):):OLLE,,,'zzH))*d;;;Jh777'7'>Jt$$ 8)%77.%*IE!+J!?!?!?!? %a!+J!7!7).$(FM*4F'OOE***'zzH))*d;;;Jh777'-Jt$*-l*;*;F'.4$U+%e,,,$++D111#u, "e+ #**51111%0:%=J "(3J %$%;z+A*M*M*O*O$PST$TJ !99j999Kf[1111+5+J ( %{{}} 2 2 eeT**({j00&)c$3|3D3Do&V&V !KE,,,'zzH))*d;;;Jh777'7'>Jt$$ 8)%77.%*IE!+J!?!?!?!? %a!+J!7!7).$(FM*4F'OOE****-l*;*;F''zzH))*d;;;Jh777'-Jt$.4$U+ ''---#**51111   (2(:J %!\ r.r3)rrr8rs``` r+rr_s=QQQQQQQd r.ceZdZ dZdZdZdS)rzno skipped integer valuesz0multi-flag aliases may not contain unnamed flagszone name per valueN)r0r1r2rr r!r3r.r+rrs$-JDK !FFFr.rceZdZ dZdZdS)rc||_dSr&)checks)r*r!s r+r,zverify.__init__s  r.c |j}|j}tt|trd}n't|trd}nt d|D]}|t urg}|jD],\}}||j kr| ||j f-|r4d d|D} td|d| |tur,td|D} t| d krt!| t#| } } g} |dkrPt%t'| d zt'| D]!}d |z| vr| d |z"nH|dkr0t%| d z| D]}|| vr| |nt)d |z| r=td |d |dd d| Ddd|t*ur#|j}d|Dg}d}|jD]t\}}||vr |jdkrt3t5|j} fd| D}|r-| ||t7t8|z}u|r|t|d kr d|dz}n*dd |ddd|dd}t;|rd|z}nd|z}td|d|d |d|S)Nflagenumz4the 'verify' decorator only works with Enum and Flagrc"g|] \}}|d| Srr3rs r+r&z#verify.__call__..&s'XXXMUD555$$7XXXr.zaliases found in rc3$K|] }|jV dSr&r')rr9s r+rz"verify.__call__..*s$::QW::::::r.r@rLzverify: unknown type %rzinvalid rxz: missing values c34K|]}t|VdSr&)rr$s r+rz"verify.__call__..=s(;T;TqCFF;T;T;T;T;T;Tr.cg|] }|j Sr3r'r$s r+r&z#verify.__call__..Cs > > >Q > > >r.rcg|]}|v| Sr3r3)rr member_valuess r+r&z#verify.__call__..Ns#JJJA1M3I3Ia3I3I3Ir.zalias %s is missingzaliases rKrz are missingz value 0x%xzcombined values of 0x%xz invalid Flag z/ [use enum.show_flag_values(value) for details])r!r0r rr rdr!rUrrHrrrmrrrFminrrangerrr rrr(rrrpr_or_ra)r*rr!rU enum_typecheckrrHrrrlowhighmissingrr5 missing_names missing_valuermissedr(r+s @r+rIzverify.__call__s"'   ; = = II  T * * TIIRSS SC C E $/$;$A$A$C$C??LD&v{**"))4*=>>>:$(IIXXZXXX%Z%ZM$*([[--&9:::: *$$::k:::::v;;??KKVT&&"9S>>!#3Yt__EE11a4v--#NN1a40001&(("3q5$//..F??#NN1---.$$= $IJJJ%$*%IIxxx;T;TG;T;T;T1U1U1U'W"sd&$%%%% +%%*9 > >+ > > > " ! #.#;#A#A#C#C > >KD%|++ {Q !."="=>>FJJJJJJJF>%,,T222%f)=)==  =))Q.. 5 a8H H/!% -*< = = = =}R?P?P?P!"&m44J ,} < 9M I$*'xx7r.N)r0r1r2r,rIr3r.r+rrs<MMMMMr.rc D g}|j|jkr|j}t|}|j}t|}tt|jt|jz}t||zD]/}|dvr||vr ||vr|d|*||vr|d|G||} ||} t | st| tj r|dkr| dd dd} | dd dd} | | kr#||dd | d d | | | kr#||dd | d d | 1| |D]^} g}| |vr|d | zn | |vr|d | zn|| j}t|}|| j}t|}t||zD]}|dvr||vr|d|d| '||vr|d|d| G||} ||} | | kr#||dd| d d| |r-|| dd |`dD]~}||vr||vr ||vro||vrkt||d}t||d}t|dr|j}|j}||kr$||dd |ddd|~|r%t!dd |zdS)N)r1rrrQz missing key: z extra key: rQrxrO z : z checked -> z z simple -> z#missing member from simple enum: %rzextra member in simple enum: %r)r1rrz missing key z not in the simple enum member z extra key z in simple enum member zchecked member -> zsimple member -> z member mismatch: z )rrrhr__getnewargs_ex____getnewargs__rh __reduce__rz: 30z simple -> zenum mismatch: %sz )rrrrrrrcallablerQrzrr|rrrSr;rrd) checked_enum simple_enumfailed checked_dict checked_keys simple_dict simple_keysr5r checked_value simple_valuecompressed_checked_valuecompressed_simple_valuerH failed_memberchecked_member_dictchecked_member_keyssimple_member_dictsimple_member_keysr:checked_method simple_methods r+_test_simple_enumrPcsi$F 444#, L--//00 !* ;++--.. \.335566{/4466778 |k122  CUUU $$K'' 339::::L(( 339:::: ,S 1 *3/ M**j.W.W)##/>#     DM;&& CdJKKKK\)) ?$FGGGG&24&8&A#&*+>+C+C+E+E&F&F#%0%6%?"%)*<*A*A*C*C%D%D"25GGHH''CJJJ $666%,,,bebebegkgk-lmmmm$777%,,,X[X[X[]a]a-bcccc(;C(@ '9#'> (L88)00$'CCC>Km$N$N$N$N>Jl$M$M2&'''   joom<<<  F$$<)?)?{**v\/I/I!(vt!D!D ' VT B B >:66;%3%># H/',,v2F2FFGGGHHr.c< tj|j}|r|j}n|}fd|D} |dn'#t $r|dYnwxYw|||||pt }|S)Nc4g|]\}}|||fSr3r3r{s r+r&z!_old_convert_..s?evd|| 5Mr.c"|d|dfSr~r3rs r+rz_old_convert_..sAaD!A$<r.rc|dSrr3rs r+rz_old_convert_..s 1Q4r.)rDr)rorrrrrdr) rrHrDr|rrrrrs ` r+ _old_convert_rUs[(1N  %||~~G) // 0000 )))  ((((() %gfx7G4 H H HC Jrr&)F)Crobuiltinsrztypesrroperatorrr. functoolsr__all__r r r _stdlib_enumsrrrrr=rIrMrYr^rarkrprsr{rrrrrrirrRrrrr rr r"_reduce_ex_by_global_namer#rrrrr rrr rrrrrrrr r!rrPrUr3r.r+r]s 99999999    2655t5e5mhV      AAA    0 0 0   '''$$$$0   Z\\ ''''''''/+/+/+/+/+$/+/+/+dr9r9r9r9r9r9r9r9j{{{{{{{{|z+z+z+z+z+tz+z+z+v IIIIIXIIIIXt c8 c8B2222     7    ,WWWWW4&WWWWtc8TD """   *** +++.    bbbbbbHg""""""""#, KSSSSSSSSjwHwHwHr<') r.