ghdt ddlZddlZddlmZddlmZddlmZddlmZddl m Z ddl m Z ddl m Z dd l mZdd l mZd d gZejeej ZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGd d!eZGd"d#eZ Gd$d%eZ!Gd&d'eZ"Gd(d)eZ#iej$j%eej&j%eej'j%eej(j%eej)j%eej*j%eej+j%eej,j%eej-j%eej.j%eej/j%e!ej0j%e!ej1j%e"e j2j%ee j3j%ee j4j%ee j5j%ee j6j%ee j7j%ee j8j%ee j9j%ee j:j%ee j;j%ee j<j%eej=j%eej>j%eej?j%ei Z@iej&jAeej'jAeej(jAeej)jAeej*jAeej+jAeej,jAeej-jAeej.jAeejBjAe ej0jAe!ejCjAe ej/jAe!ej1jAe"ejDjAe#e j2jAee j3jAee j4jAee j5jAee j6jAee j7jAee j8jAee j9jAee j:jAee j;jAee j<jAeej=jAeej>jAeej?jAei ZEGd*d+eZFGd,d eZGeGZHd-eIfd.ZJdS)/N)debug)error)eoo)_MISSING)to_bytes)char)tag)univ)usefulEncoderencode)flagscFeZdZdZdZeeZdZdZdZ ddZ dS) AbstractItemEncoderT)rrc|\}}}||z}|r|tjz}|dkr||zfS|dzf}|dz}|rd|dzzf|z}|dz}||dzf|zS)N)r tagFormatConstructed)self singleTag isConstructedtagClass tagFormattagId encodedTag substrates x/builddir/build/BUILD/imunify360-venv-2.6.0/opt/imunify360/venv/lib/python3.11/site-packages/pyasn1/codec/ber/encoder.py encodeTagzAbstractItemEncoder.encodeTag!s%.")U )  3 #2 2J 2::%& & I aKE !UT\24y@ !  %')3 3c|s |jrdS|dkr|fSd}|r|dzf|z}|dz}|t|}|dkrtjd|zd|zf|zS)N)rr~zLength octets overflow (%d))supportIndefLenModelenr PyAsn1Error)rlengthdefModer substrateLens r encodeLengthz AbstractItemEncoder.encodeLength5s 43 7 D==7NI #d],y8 1  y>>Lc!!'(E (TUUU<')I5 5r!c *tjd)NzNot implemented)rr)rvalueasn1Spec encodeFunoptionss r encodeValuezAbstractItemEncoder.encodeValueIs 1222r!Nc ||j}n|j}|s|j|||fi|\}}}|S|dd} d}t|jD]\} } | } | s |j|||fi|\}}}n1#t j$r} t jd|d| d} ~ wwxYwtrtd|rdpdd |d ||s|r|d d r|cS|sd} trtd || |}tr;td|rdpdd| d tj t||| t|| z }trAtdt|dtj t||r t||z}| s ||jz }||z}| s ||jz }|st|}|S)Nr+Tr!zError encoding z: zencoded z constructed zvalue z into ifNotEmptyFz;overridden encoding mode into definitive for primitive typeztag z octets (tag + payload) into )tagSetr4get enumerate superTagsrr)LOGr rhexdumpbytesr-r(eooOctetsSubstrateeooIntegerSubstrate)rr0r1r2r3r8rrisOctetsr+idxrdefModeOverrideexcheaders rr zAbstractItemEncoder.encodeLs  \FF_F 1A1Ax22.522 .I}h ++i.. '(8994 :4 :NC%O [@9I9Ix::6=::6I}hh(@@@++3855##>@@@@C%8.>B>>yy!%]%w{{!4n:::IIu}U6]];;;=>>> d''IHH HF C NNNNEM%--$@$@$@BCCC :!&MMI5 &9!88I#Y. &:!99I )i((Is!A66B$BB$)NN) __name__ __module__ __qualname__r'r@r>r?r r-r4r r#r!rrrsz!233444(666(333KKKKKKr!rceZdZdZdS)EndOfOctetsEncoderc dSNr!FTr#r/s rr4zEndOfOctetsEncoder.encodeValuer!NrFrGrHr4r#r!rrJrJs#     r!rJceZdZdZdZdS)BooleanEncoderFc |rdpdddfS)N)rFr#r/s rr4zBooleanEncoder.encodeValues~%ue33r!NrFrGrHr'r4r#r!rrQrQs)44444r!rQceZdZdZdZdZdS)IntegerEncoderFc |dkr-trtd|jrdpdz|jrdSdStt|dd dfS) Nrz#encoding %spayload for zero INTEGERzno r6)r#FF)rTFFT)signedF)r<supportCompactZerorintr/s rr4zIntegerEncoder.encodeValuesv A:: 9+5; & *''))E 4000%==r!N)rFrGrHr'rZr4r#r!rrWrWs/ > > > > >r!rWceZdZdZdS)BitStringEncoderc |||}t|}|dzr |d|dzz z}n|}|dd}|rt||dzkr=|}t t|dz|z f|zddfSt rt d|z|jj} | rtj | | } ntj } || }d} d}| |kr3| } t| |dzz|} |||| | |fi|z }| |k3|ddfS) Nr% maxChunkSizerFT#encoding into up to %s-octet chunksr8r!) cloner(r9asOctetsr>r<r8baseTagr TagSetmin) rr0r1r2r3 valueLength alignedValuer_rrdr8stopstarts rr4zBitStringEncoder.encodeValues  NN5))E%jj ? ! Qq%89LL L{{>155  Ws<00L14DDD$--//I#i..1,{:<== I5RVV V  F 5 D E E E,&  "Z11FFZ\\F#)))88  [  Eu|a//==D <d #;XQQQQ QI[  $$$r!NrOr#r!rr]r]s#%%%%%%%%%%r!r]ceZdZdZdS)OctetStringEncoderc ||}n?t|ts(||}n|}|dd}|rt ||kr|ddfSt rt d|z|N|jj}|rtj ||}ntj }||}nbt|tsM|jj}|rtj ||}ntj }||}d} d} || | |z} | sn||| |fi|z }| |z } #|ddfS)Nr_rFTr`rar!) rc isinstancer>rbr9r(r<r8rdr re) rr0r1r2r3rr_rdr8poschunks rr4zOctetStringEncoder.encodeValues  ((IIE5))  u--6688III{{>155  *s9~~==eT) )  F 5 D E E E  l*G &GW55{{&{11HHE5)) 5o-G &GW55~~V~44H  #cL001E  5(>>g>> >I < C  $$$r!NrOr#r!rrlrls#8%8%8%8%8%r!rlceZdZdZdZdS) NullEncoderFc dSrLr#r/s rr4zNullEncoder.encodeValue#rNr!NrUr#r!rrrrr s)     r!rrceZdZdZdZdS)ObjectIdentifierEncoderFc |||}|} |d}|d}n%#t$rtjd|wxYwd|cxkrdkr_nn\|dkr|dzf|ddz}ns|dkr|f|ddz}n^|dkr|dzf|ddz}nFtjd||dkr|dzf|ddz}ntjd|d }|D]^} d| cxkrd kr nn|| fz }| d kr&| d zf} | d z} | rd | d zzf| z} | d z} | || z }Etjd | d||ddfS)NrrSz Short OID '(Pz Impossible first/second arcs at r#rrrzNegative OID arc  at F)rbasTuple IndexErrorrr)) rr0r1r2r3oidfirstsecondoctetssubOidress rr4z#ObjectIdentifierEncoder.encodeValue*s'  NN5))Emmoo ?FEVFF ? ? ?##ee$=>> > ?     "     zz{ns122w.!i#abb')!{ns122w.''PUPU(WXXX aZZB;.3qrr7*CC##EE$STT T W WFF!!!!c!!!!!6)##}&1 !6D=13c9CqLF! # ''vvvuu(UVVVue##s >"A NrUr#r!rruru's)5$5$5$5$5$r!ruceZdZdZdZdS)RelativeOIDEncoderFc $|||}d}|D]^}d|cxkrdkr nn||fz }|dkr&|dzf}|dz}|rd|dzzf|z}|dz}|||z }Etjd|d||ddfS) Nr#rrrrzNegative RELATIVE-OID arc r{F)rbr|rr))rr0r1r2r3rrrs rr4zRelativeOIDEncoder.encodeValuees  NN5))Emmoo ` `FF!!!!c!!!!!6)##}&1 !6D=13c9CqLF! # ''PVPVPVX]X](^___ue##r!NrUr#r!rrrbs)$$$$$r!rc8eZdZdZdZedZdZdZdS) RealEncoderFrycvd\}}|dkrd}|dkrd}||z}|dkr1|dt|dz|zzz}t|dz|z}n6|dkr0|dt|dz|zzz}t|dz|z} t||kr ||z}|d z} |t|||fS) N)rSrSrr%ryTrS)absr[)mencbaseemsess r_dropFloatingPointzRealEncoder._dropFloatingPointsB q55B q55B R a<< s1vvzB' 'AA! b AA ]] s1vvzB' 'AA! b A 1vv{{W Q 3q667A%%r!c |\}}}gd}|j|vr|||j|S|j|vr|||j|S|||g}|||g}d}d} td}tdD]} ||| || || \}|| <|| <|| <t || t |ks2t || t |kr1|| |kr%|| }t || }|| } t rt d| d|d|d |||| |fS) N)ryr%rrSryinfrz(automatically chosen REAL encoding base z, sign z , mantissa z , exponent ) binEncBaserfloatrangerr[r<) rr0rbrencBasemantissaexponentsignris r_chooseEncBasezRealEncoder._chooseEncBases1a**  w & &**1e.>BB B _ ' '**1doqAA Aq!9q!9 %LLq % %A!33HQKXVW[YY T a[ QZ a[8A;#a&&((S!-=-=Q-G-GHUVKZ[OOQK $$!!*  7 C!($$$116 7 7 7Q""r!c |||}|jrdS|jrdS|\}}}|sdS|dkr)trtdd||dkrdpd |fzd d fS|d krd }||\} }} }| dkr|dz}| d kr|dzdkr|dz}|dz }|dzdknI| dkr"|dzdkr|dz}|dz }|dzdk|dz}n!|dzdkr|dz}|dz }|dzdk|dz}d} |dzdkr|dz}| dz } |dzdk| dkrt jd|| d zz}d } |dks|dkrt|dzf} nm|dvrt|dzf| z} |dz}|dv|dkr| r| dd zrtd| z} |dkr| r| dd zstd| z} t| } | dkrt jd| dkrn3| d kr|dz}n'| dkr|d z}n|dz}t| dzf| z} d }|rt|dzf|z}|dz}|t|f| z|z}|d d fSt jd|z)N))@FF))AFFrM z!encoding REAL into character forms%dE%s%dr+r!FTryrrrSr%rrrr zScale factor overflowrr$)rrrT)r$zReal exponent overflowzProhibited Real base %s) rb isPlusInf isMinusInfr<rrr)r>r()rr0r1r2r3rrrforrsfeonpors rr4zRealEncoder.encodeValues  NN5))E ? )((   )((1a $## 77 97888!QQ4(>3$BBE4O O !VVB $ 3 3E : : B7AAvvd !||#gll!GAFA#gllA#gll!GAFA#glld #gll!GAFA#glld Bc'Q,,aac'Q,,Avv'(?@@@ "'MBBAvvbAH;''w&&D{++b0B!GAw&&66b6RUT\6tr)B77r72a54<7w",BBA4xx'(@AAAAvvaaaaaAH;''",B AH;''",a re r)B.IeT) )#$=$ABB Br!N) rFrGrHr'r staticmethodrrr4r#r!rrrsaJ&&\&6###BcCcCcCcCcCr!rceZdZdZdZdS)SequenceEncoderFc d}|d|j}trtd|rdpdz||j}|r"t jd|jjd|j}t| D]7\} } |ry|| } | j r!| j strtd| 8| j r%| | jkrtrtd | d|r|| j |r| jr| j} | jt$jjt$jjfvr"||| |fit+|| j z }|| |fi|} | | r|| z }||| | fi|z }trtd | *||| |fi|z }9nt|jjD]j\} } || j} n-#t2$r t jd | jd|wxYw| j r#| j|vrtrtd| l| j r%| | jkrtrtd | |r|| j | j}| jr|jt$jjt$jjfvr#||| |fit+||j z }|| |fi|} || r|| z }5||| |fi|z }trtd |]||| |fi|z }l|ddfS)Nr!omitEmptyOptionalsz$%sencoding empty OPTIONAL componentsznot r6 ASN.1 object  is inconsistentz not encoding OPTIONAL component znot encoding DEFAULT component )r7)wrapTypewrapped with wrap type zComponent name "z" not found in T)r9rr<isInconsistentrr) __class__rF componentTyper:values isOptionalisValue isDefaulted asn1ObjectupdateopenTypetypeIdr SetOf SequenceOfdictisSameTypeWith namedTypesnameKeyError)rr0r1r2r3rr inconsistencyrrB component namedTyperrp componentSpecs rr4zSequenceEncoder.encodeValue/s $[[ $"9;;  : 6&167R9 : : :  !0M P'NEO$<NNNPPP,J"+ELLNN";";* K* KYH *3I +!I4E!UC STTT  ,!i>R1R1RTCyy RSSS )H)2FGGGK)"4K(3H J-t/E+GGG"YY )8&R&R"&w9O"P"P"P&R&RR !* )X I I I I#229==O%.II&5()N)Ng)N)NNI"O #88$M N N N9h!J!J'!J!JJIIU* K\#,H,B,M"N"N/ P/ PY0 %in 5II000++!-/0000'IN%,G,GQIIOPPP(Y):N-N-NP99NOOO%DNNi.BNCCC ) 4 %P$+ J-t/E0GGG"YY )=&W&W"&w9T"U"U"U&W&WW !* )] N Ng N N(77 BBT%.II&5-)S)S7)S)SSI"T #==$R S S S9m!O!Ow!O!OOII$$$s , G::*H$N)rFrGrHrr4r#r!rrr*s.s%s%s%s%s%r!rceZdZdZdZdS)SequenceOfEncoderc ||,|j}|r"tjd|jjdn|j}g}|dd}t|D]^\}} || |fi|} |8|| s#|| |fi|} trtd|| | _|S)Nrrrr) rrr)rrFrpopr:rr<append) rr0r1r2r3rchunksrrBrrps r_encodeComponentsz#SequenceOfEncoder._encodeComponentss  !0M P'NEO$<NNNPPP P  -H;;z400'.. ! !NCIi==W==E$ // ::%" %==W==CCxxABBB MM%  r!c R|j|||fi|}d|ddfS)Nr!T)rjoin)rr0r1r2r3rs rr4zSequenceOfEncoder.encodeValuesE'' 8Y33*133xxt++r!N)rFrGrHrr4r#r!rrrs2<,,,,,r!rceZdZdZdS) ChoiceEncoderc &|}nmfd|jjD}t|dkr*t jt|rdpdd|d}|}||}|||fi|ddfS)Nc0g|]}|jv |jSr#)r).0rr0s r z-ChoiceEncoder.encodeValue..s1111 !%//^///r!rSz Multiple zNone z components for Choice at rT) getComponentrrr(rr))rr0r1r2r3rnamesrs ` rr4zChoiceEncoder.encodeValues  **,,II1111X5K5V111E5zzQ'CPUJJLf[fLqjqLqLqsxsx(yzzz8Dd I~HyH8888$DDr!NrOr#r!rrrs(EEEEEr!rceZdZdZdS) AnyEncoderc ||}nrbr9r/s rr4zAnyEncoder.encodeValuesf  NN$$EEE5)) 5NN5))2244E'++i666< > > > (D 0 LU5J5J5L5L!; ( 8 8 : :!;!;>>HIII I I I!FNFNCCJ T"&,z": T T T''EEE666(RSSS T I+5>>>HIII! I&+O*5(DLLGLL  : C.I$}Y77779 : : :s2#783D,,:G' E54G5&F)GGr) rFrGrHrrrrrrrr#r!rrr-sZNGH&NNNN999999r!rc&eZdZeZeefdZddZdS)r c 0|jd||d||_dS)Nrrr#)SINGLE_ITEM_ENCODER_singleItemEncoder)rrrr3s rrzEncoder.__init__ws6":$":# 7# # .5# # r!Nc "|j|fd|i|S)Nr1)r)rpyObjectr1r3s rrzEncoder.__call__|s1&t& 44'4+244 4r!r)rFrGrHrrrrrr#r!rr r tsG+&    444444r!attrcddd|x}r4tj|d|dtt |St |)Nrrrz is deprecated. Please use z instead.)r9warningswarnDeprecationWarningglobalsr)rnewAttrs r __getattr__rsf&:>>BB4HHHw" LL'LLLN`aaayy!!   r!)Ksysrpyasn1rrpyasn1.codec.berr pyasn1.compatrpyasn1.compat.integerr pyasn1.typerr r r __all__registerLoggeerF DEBUG_ENCODERr<objectrrJrQrWr]rlrrrurrrrrr endOfOctetsr8BooleanInteger BitString OctetStringNullObjectIdentifier RelativeOID EnumeratedRealrrChoice UTF8String NumericStringPrintableString TeletexStringVideotexString IA5String GraphicString VisibleString GeneralStringUniversalString BMPStringObjectDescriptorGeneralizedTimeUTCTimerrSetSequenceAnyrrr r strrr#r!rr.sS   """"""****** h e85+>???~~~~~&~~~B     ,   44444(444>>>>>(>>>(&%&%&%&%&%*&%&%&%R:%:%:%:%:%,:%:%:%z     %   8$8$8$8$8$18$8$8$v$$$$$,$$$BdCdCdCdCdC%dCdCdCNx%x%x%x%x%)x%x%x%v#,#,#,#,#,+#,#,#,LEEEEE'EEE$=====#=== O..00 L))  L))  N++--    //11    Ikkmm    "9"9";";  //11  ONN,,  Ikkmm  O--//  J((**  K    O..00! " 1133# $ !3!3!5!5% & 1133' (  2 2 4 4N--//113311331133!3!3!5!5N--// "$6$6$8$8 !#5#5#7#7 N--//=  D! L))! L))!  N++--!  //11 !   Ikkmm !    "9"9";"; !  //11!  ONN,,!  Ikkmm!  HO__&&!  J((**!  M//++!  O--//!  K !   HOZZ\\!! $ O..00%! & 1133'! ( !3!3!5!51133 2 2 4 4N--//113311331133!3!3!5!5N--// "$6$6$8$8 !#5#5#7#7 N--//A! ! HDDDDDDDDN 4 4 4 4 4f 4 4 4@ cr!