9Mj)#8 dZddlZddlZddlZddlZddlmZddlmZddl m Z m Z m Z m Z mZmZmZddlmZddlmZejdZd Zd Zd ezd zezd zezdzZdezdzZdezdzZdezezezdzZejdezdzezdzejZdZ de!de"fdZ#de!de"fdZ$de!de!fdZ%e de e!d d!"e d#ee e!e d$dd%e e!d&d'"e d(e e!d)d*"e d+e ee%e ed,"e d-e e!e e d."e d/e e!e$d0"e d1e e&d2d3"e d4e e&d5d6"e d7e e&d8d9"e d:e e&d;d<"e d=e e&d>d?"e d@ee"de dAee"de dBee"diZ'e de e!dCdD"e d#ee e!e d$de d(e e!dEd*"e d+e ee%e ed,"e d/e e!e$d0"e d1e e&dFd3"e d4e e&dGd6"e d7e e&dHd9"iZ(e ie dIee!de d#ee e!e d$dde e!dJd!"e dKee e!dLdM"de dNe"e dOe"e dPee!de dQee!de dRe"e dSe"e dTee!de dUee!de dVe!e dWe!e dXe!e dYe"e dZee!de d[ee!de d\ee!de d]ee!de d^ee!de d_ee!de d`e!e dae!e dbe!iZ)dce*dde defdeZ+dce*defdfZ,dce*defdgZ-dce*defdhZ.dS)izE This module contains functions for performing necessary validations N) Namespace)urlparse)SchemaAndOptionalRegex SchemaErrorUseOr)safe_id_pattern read_sys_id validationsu¡-￿zI(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}z[a-zz 0-9](?:[a-zz0-9-]{0,61}[a-zz0-9])?z(?:\.(?!-)[a-zz0-9-]{1,63}(?r5nsr&zInvalid command)errorlangz0^[a-zA-Z]{1,5}(_[a-zA-Z]{2})?(\.[a-zA-Z0-9-]+)?$ system_idc&|tkSNr )ss rr5r5s[]](:r&zsystem_id is invalidtracing_task_idcDttj|Sr:boolr matchvs rr5r54 5a 8 899r&z$tracing_task_id must be alphanumericurlzURL is invalidemailzEMAIL is invalid client_ipz IP is invalidtimec"d|cxkodkncSNri@ r2ts rr5r51q====D====r&zAminimum time count is 1 minute, maximum - 48 hours (2880 minutes) request_qtyc"d|cxkodkncSNrdr2qs rr5r51q<<<rAs rr5r5rCr&c"d|cxkodkncSrIr2rJs rr5r5rLr&c"d|cxkodkncSrOr2rQs rr5r5rSr&c|dkSrVr2rQs rr5r5rWr& api_versionc |dvS)N)listdetailsapplyrollback subscription agreementcountersr^z sites-statuszwordpress-plugin-installzwordpress-plugin-uninstallz get-optionsz get-limitsz get-usagezupdate-advices-metadatazawp-cdn-get-pullzonezawp-cdn-remove-pullzonez awp-cdn-purgezawp-syncz get-cdn-usagezreport-analyticszwp-plugin-datazwp-plugin-copyr2r3s rr5r5sr& advice_idc*|Sr:)isdigitrAs rr5r5sQYY[[r&zadvice_id must be numeric ignore_errors async_modesourcereasonextendslistenusername account_iddomainwebsitetextaccept_license_termsanalytics_datafeatureevent user_hash journey_id variant_id plugin_nameplugin_versiontmp_dir input_args_schemec " tdi||S#t$rc}tddt |it tjddt |id}~wwxYw) Validate given input with schema Input arguments expected in s dict form :param input_args: dict with input data :param _scheme: schema for validation zInput validation errorerr)extraresultzInput validation error: Nr2) rvalidater loggerr6str SystemExitjsondumps)rres r _validatersV::G,,Z88::: VVV -eSVV_ EEEX/R#a&&/R/R$STTUUUVs! BAB  Bc,t|tSr)rvalidation_schemars rrrs Z!2 3 33r&c,t|tSr)rvalidation_user_schemars r validate_userrs Z!7 8 88r&c,t|tSr)rvalidation_adviser_schemars rvalidate_adviserr)s Z!: ; ;;r&)/__doc__rrloggingreargparser urllib.parserschemarrrrr r r xray.internal.constantsr xray.internal.utilsr getLoggerrulipv4_re hostname_re domain_retld_rehost_recompile IGNORECASEregex email_regexrr?rr r%rrrrdictrrrrr2r&rrsT   !!!!!!EEEEEEEEEEEEEEEEEE333333++++++  = ) ) Vl^+b03EEJYV  "%; ;     i '& 0= @  $%(  M  T      #$$ssF33   4$9   < ""SSee,_&`&`aacghhSS::BXYYY"##SS 99Ag& & &  SS]]EE%?O,P,P,PQQ33sEE+=O$P$P$PQQss3 _MMM## ((0s     ''/^" " "  C@Y Z Z Zss3(8(8@XYYYSS&6&6>TUUUBBtTNNRRd^^BBtTNNe355n 33   )!   $ ""SSee,_&`&`aacghh"##SS 99Ag& & &  SS]]EE%?O,P,P,PQQss3 _MMM## ((0s     ''/^" " "  C@Y Z Z Z? ""H#F;C;""SSee,_&`&`aacghh; 33   8$=   ;F rr##c+@+@Hc"d"d"dfjkkG;H !!4I;J K;L BBsDMMM;N BBsDMMO;P TQ;R DS;T bbdmmU;V 3 W;X CY;Z S[;\ #];^ '(($_;` !""BBsDMMa;d RRT]]22c4==rr#t}}3 3 !""CSu;;==D V$ V VI V V V V44)44449d9y9999<<)<<<<<