
    5i܃                        d Z ddlmZmZmZmZ ddlZddlZddlm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZ  G d de      Z ej0                  d      Zej5                  dd edd      d        ej0                  d      Zej5                  d edd      g dd        ej0                  d      Zej5                  ddd edd      d d!"        ej0                  d      Zej5                  d#d$d        ej0                  d      Zej5                  d%d&d'e ed(d      )        ej0                  d      Z e jC                         Z"e"j5                  d* ed+d      d       e"j5                  d,d-d        ej0                  d      Z#e#jI                  d.      Z%e%j5                  d/d0d1gd0d1d23       e%j5                  d4d5d6 ed7d      d8z    ed9dd:d:d;      z   d<=       e%j5                  d>d?d@ edAd      d8z    edBddd:d:C      z   d<D       e%j5                  dEdFdG edHd      d8z    edIddd:d:C      z   d<D       e%j5                  dJdKL       e%j5                  dMdNdOd        ej0                  d      Z&e&j5                  dPdQejN                  L       e&j5                  dR edSd      d T        ej0                  d      Z(e(j5                  d4d5dU edVd      d<=       e(j5                  dE edWd      d<        ej0                         Z)e)j5                  dX edYd      L       e)j5                  dZ ed[d      L       e)j5                  d\ ed]d      L       e)j5                  d^ ed_d      L       e)j5                  d`da edbd      d       e)j5                  dcdddedf edgd      h       e)j5                  di edjd      L       e)j5                  dk edld      L       e)j5                  dm ednd      L       e)j5                  do edpd      L       e)j5                  dq edrd      L       e)j5                  ds edtd      d       e)j5                  dudv edwd      L       e)j5                  dxdydze ed{d      d|}       e)j5                  dPd~ edd      d       e)j5                  d edd      d       d Z*d Z+d Z,d Z-d Z. ej0                  dd      Z/e/j5                  ddL       e/j5                  ddL       e/j5                  ddL       e/j5                  ddL       e/j5                  ddL       e/j5                  ddL       e/j5                  ddL        G d dej`                        Z1 ej0                  d      Z2e2j5                  dejN                  L       e2j5                  dejN                  L       e2j5                  dejN                  L       e2j5                  dejN                  L       e2j5                  dejN                  L       e2j5                  dejN                  L       e2j5                  dejN                  L       e2j5                  d edd      e1d       d Z3 ej0                  d      Z4e4j5                  d edd      L       d Z5 ej0                  d      Z6e6j5                  dd edd      d<       e6j5                  dd edd      L       e6j5                  ddd ed      h        G d dej`                        Z7 ej0                  d      Z8 e       e8j5                  dd eddd      d<      _9        e8j5                  dd eddd             e8j5                  dd ed      e7        ej0                  d      Z:e:j5                  d4d5d6 ed7d      d8z    ed9dd:d:d;      z   d<=        ej0                  d      Z;e;j5                  dEdFdG edd      d8z    edIddd:d:C      z   d<D        ej0                  d      Z<e<j5                  ddddgd       d Z=d Z>d Z?ddZ@dÄ ZAdĄ ZBdń ZCdƄ ZDdǄ ZEy)z
This file contains parsers with no added help that can be inherited by
other parsers, as well as utility functions for parsing the input to
those parsers.
    )print_functionunicode_literalsdivisionabsolute_importN   )config)fill)format_table)split_unescaped)InstanceTypesCompleter)DXError
DXCLIError)
basestringc                       e Zd Zd Zd Zy)DXParserErrorc                     || _         y Nmsg)selfr   s     r/home/marpiech/ifpan-abm-pgxpred/analysis/marpiech-gwas-test/venv/lib/python3.12/site-packages/dxpy/cli/parsers.py__init__zDXParserError.__init__#   s	        c                     | j                   S r   r   )r   s    r   __str__zDXParserError.__str__&   s    xxr   N)__name__
__module____qualname__r   r    r   r   r   r   "   s    r   r   F)add_helpz-az--allz9Apply to all results with the same name without promptingwidth_adjustment
store_truehelpactionz--colorz@Set when color is used (color=auto is used when stdout is a TTY))offonautor*   )r&   choicesdefaultz--delimiterz--delim	delimiterzAlways use exactly one of DELIMITER to separate fields to be printed; if no delimiter is provided with this flag, TAB will be used?	)destr&   nargsconstz--jsonzDisplay return value in JSONz--tryTjob_tryzWhen modifying a job that was restarted, apply the change to try T of the restarted job. T=0 refers to the first try. Default is the last job try.)metavarr0   typer&   z--briefz]Display a brief version of the return value; for most commands, prints a DNAnexus ID per linez	--verbosez+If available, displays extra verbose outputzmetadata argumentsz--visibilityhiddenvisiblez#Whether the object is hidden or not)r+   r0   r,   r&   z
--property
propertiesz	KEY=VALUEz9Key-value pair to add as a property; repeat as necessary,
z0e.g. "--property key1=val1 --property key2=val2" )r#   initial_indentsubsequent_indentbreak_on_hyphensappend)r0   r5   r&   r'   z--typeTYPEtypesz-Type of the data object; repeat as necessary,z e.g. "--type type1 --type type2")r#   r>   r<   r=   )r5   r0   r&   r'   z--tagTAGtagsz,Tag of the data object; repeat as necessary,ze.g. "--tag tag1 --tag tag2"z	--detailszJSON to store as details)r&   z-pz	--parentsz#Create any parent folders necessaryz-oz--outputpathz_DNAnexus path for the new data object (default uses current project and folder if not provided))r&   r1   zKEY[=VALUE]zKey-value pair of a property or simply a property key; if only a key is provided, matches a result that has the key with any value; repeat as necessary, e.g. "--property key1=val1 --property key2"zVTag to match; repeat as necessary, e.g. "--tag tag1 --tag tag2" will require both tagsz--idz4Show only the job tree or job containing this job IDz--namez?Restrict the search by job name (accepts wildcards "*" and "?")z--userzCUsername who launched the job (use "self" to ask for your own jobs)z	--projectzCProject context (output project), default is current project if setz--all-projectsz--allprojectszExtend search to all projectsz--appz--appletz--executable
executablez$Applet or App ID that job is running)r0   r&   z--statez'State of the job, e.g. "done", "failed"z--originzJob ID of the top-level jobz--parentz,Job ID of the parent job; implies --all-jobsz--created-aftera  Date (e.g. --created-after="2021-12-01" or --created-after="2021-12-01 19:01:33") or integer Unix epoch timestamp in milliseconds (e.g. --created-after=1642196636000) after which the job was last created. You can also specify negative numbers to indicate a time period in the past suffixed by s, m, h, d, w, M or y to indicate seconds, minutes, hours, days, weeks, months or years (e.g. --created-after=-2d for executions created in the last 2 days)z--created-beforea  Date (e.g. --created-before="2021-12-01" or --created-before="2021-12-01 19:01:33") or integer Unix epoch timestamp in milliseconds (e.g. --created-before=1642196636000) before which the job was last created. You can also specify negative numbers to indicate a time period in the past suffixed by s, m, h, d, w, M or y to indicate seconds, minutes, hours, days, weeks, months or years (e.g. --created-before=-2d for executions created earlier than 2 days ago)z--no-subjobszDo not show any subjobsz--root-executionz--rootz>Execution ID of the top-level (user-initiated) job or analysisz-nz--num-resultsNz]Max number of results (trees or jobs, as according to the search mode) to return (default 10)
   )r5   r6   r&   r,   z--show-outputszShow job outputs in resultsz--include-restartedzXif specified, results will include restarted jobs and job trees rooted in restarted jobsc                     | j                  d      }|j                         }|j                  dt        dd      d       |j                  dt        d	d      d       |j                  d
t        dd      d       y )NzSearch modez--treesz8Show entire job trees for all matching results (default)r!   r"   r$   r%   z--origin-jobsz-Search and display only top-level origin jobsz
--all-jobszJSearch for jobs at all depths matching the query (no tree structure shown))add_argument_groupadd_mutually_exclusive_groupadd_argumentr	   )parserfind_executions_search_gpfind_executions_searchs      r   add_find_executions_search_gprO   m   s     & 9 9- H6SSU''	=w  KN  9O  Xd'  e''dCr  FI  ?J  S_'  `''4  AM  `c  <d  my'  zr   c                     d }| j                   Xi }| j                   D ]G  }t        d|d      }t        |      dk7  rt        d      |d   dk(  rt        d      |d	   ||d   <   I || _         y )
N=Tinclude_empty_stringsr   zPProperty key-value pair must be given using syntax "property_key=property_value"r    &Property keys must be nonempty strings   r9   r   lenr   argsr9   keyeqval
substringss       r   process_properties_argsr]   t   s    J"
 	:H(hdSJ:!##$vwwA"$#$LMM,6qM
:a=)	: !DOr   c                    d }| j                   li }| j                   D ][  }t        d|d      }t        |      dkD  rt        d      |d   dk(  rt        d      t        |      d	k(  rd||<   Q|d	   ||d   <   ] || _         y )
NrQ   TrR   r   zYProperty value must be given using syntax "property_key" or "property_key=property_value"r   rT   rU   rV   rW   rY   s       r   process_find_by_property_argsr_      s    J"
 		:H(hdSJ:"#$  A  AA"$#$LMMZA%'+
8$,6qM
:a=)		: !DOr   c                     t        |        | j                  dk(  xs | j                  du | _        | j                  &	 t        j                  | j                        | _        y y #  t        d      xY w)Nr7   Tz*Error: details could not be parsed as JSON)r]   r7   detailsjsonloadsr   rZ   s    r   process_dataobject_argsre      si    D! ;;(*AdkkT.ADK ||	N::dll3DL  	N LMMs   $A# #A0c                     | j                   | j                  t        d      | j                  | j                   | _        y y )NzHError: Cannot provide both the positional PATH and -o/--output arguments)rD   outputr   rd   s    r   %process_single_dataobject_output_argsrh      s;    yy!8fgg		ii 
r   zdx command ...)r    progz--apiserver-hostzAPI server hostz--apiserver-portzAPI server portz--apiserver-protocolz#API server protocol (http or https)z--project-context-idz%Default project or project context IDz--workspace-idzWorkspace ID (for jobs only)z--security-contextzJSON string of security contextz--auth-tokenzAuthentication tokenc                       e Zd ZddZy)EnvHelpActionNc                 N    t         j                          |j                  d       y )Nr   )	_env_args
print_helpexitr   rL   	namespacevaluesoption_strings        r   __call__zEnvHelpAction.__call__   s    Ar   r   r   r   r   rt   r   r   r   rk   rk      s    r   rk   z
--env-helpz9Display help message for overriding environment variables)r&   r'   r1   c                    t        |       } | j                  d      | d   t        d<   | j                  d      | d   t        d<   | j                  d      | d   t        d<   | j                  d      | d   t        d	<   | j                  d
      | d
   t        d<   | j                  d      | d   t        d<   | j                  d      | d   t        d<   | j                  d      #t        j                  | d   dd      t        d<   yy)z Sets the environment variables for this process from arguments (argparse.Namespace)
    and calls dxpy._initialize() to reset any values that it has already set.
    apiserver_hostNDX_APISERVER_HOSTapiserver_portDX_APISERVER_PORTapiserver_protocolDX_APISERVER_PROTOCOLproject_context_idDX_PROJECT_CONTEXT_IDworkspace_idDX_WORKSPACE_IDcli_wd	DX_CLI_WDsecurity_contextDX_SECURITY_CONTEXT
auth_tokenBearer)r   auth_token_type)varsgetr   rb   dumpsrd   s    r   set_env_from_argsr      s'    :Dxx !-&*+;&<"#xx !-&*+;&<"#xx$%1*./C*D&'xx$%1*./C*D&'xx+$($8 !xx%"8n{xx"#/(,-?(@$%xx)(,

$|BTGO4Q )R$% *r   z--extra-argsz`Arguments (in JSON format) to pass to the underlying API method, overriding the default settingsc           	         | j                   n	 t        j                  | j                         | _         d
d}d| j                   v r || j                   d          d| j                   v rT| j                   d   }t	        |t
              r5|j                         D ]"  \  }}t	        |t
              s ||d|        $ d| j                   v r| j                   d   }t	        |t
              r|j                         D ]}  \  }}t	        |t
              sd|v r ||d   d| d       d|v s0|d   }t	        |t
              sF|j                         D ]%  \  }}t	        |t
              s ||d| d	|        '  y y y y #  t        d      xY w)Nz8Value given for --extra-args could not be parsed as JSONsystemRequirementsc                     t        | t              r9| j                         D ]%  \  }}t        |t              sd|v st        d       y y )NinstanceTypeSelectorzyinstanceTypeSelector cannot be specified in runtime --extra-args. It can only be defined in the dxapp.json at build time.)
isinstancedictitemsr   )sys_reqscontextentry_pointreqss       r   check_system_requirementsz5process_extra_args.<locals>.check_system_requirements   sQ    (D))1)9 %K!$-2HD2P+V  *r   systemRequirementsByExecutablezsystemRequirementsByExecutable.regionalOptionszregionalOptions.z.systemRequirementsz .systemRequirementsByExecutable.)r   )
extra_argsrb   rc   r   r   r   r   )rZ   r   sys_reqs_by_execexecutable_identrypointsregional_optsregionregion_specs           r   process_extra_argsr      s   "	\"jj9DO
	  4??2%doo6J&KL ,t>#/OP*D12B2H2H2J r.M;!+t41+A`an`o?pqr
 / OO,=>M-.+8+>+>+@ L'FK!+t4/;>5kBV6W7GxOb5ce <{J/:;[/\,)*:DABRBXBXBZ !L$>M;'1+t'D(A+BRSYRZZz  |I  {J  AK)L!LL / 09 #	\ Z[[s   $E= =F
z-iz--inputa3  An input to be added using "<input name>[:<class>]=<input value>" (provide "class" if there is no input spec; it can be any job IO class, e.g. "string", "array:string", or "array"; if "class" is "array" or not specified, the value will be attempted to be parsed as JSON and is otherwise treated as a string)z-jz--input-jsonzGThe full input JSON (keys=input field names, values=input field values)z-fz--input-json-filefilenamez0Load input JSON from FILENAME ("-" to use stdin)c                       e Zd ZddZy)PrintInstanceTypeHelpNc           	         t        d|j                  z          t                t        t        d             t                t        t        d             t                t        t        d             t        t        d             t                t        d       |j                  dk(  rt                t        t        d             t                t        d	       t                t        t        d
             t        d       t                t        t        d             t                t        d       t                t        t        d             t                t        d       t        t        d             t                t        d       t                t        t        d             t                t        d       t                t        t        d             t                t        d       t                t        t        d             t                t        d       t                t        t        d             t                t        d       t                t        t        t        j
                  j                         t        t        j
                  j                               d   j                               t                t        d       t                t        t        t        j                  j                         t        t        j                  j                               d   j                               t                t        d       t                t        t        t        j                  j                         t        t        j                  j                               d   j                               |j                  d       y )Nz$Help: Specifying instance types for a  Instance types can be requested with --instance-type-by-executable and --instance-type arguments, with --instance-type-by-executable specification taking priority over --instance-type, workflow's stageSystemRequirements, and specifications provided during app and applet creation.z--instance-type specifications do not propagate to subjobs and sub-analyses launched from a job with a /executable-xxxx/run call, but --instance-type-by-executable do (where executable refers to an app, applet or workflow).ztWhen running an app or an applet, --instance-type lets you specify the instance type to be used by each entry point.a  A single instance type can be requested to be used by all entry points by providing the instance type name.  Different instance types can also be requested for different entry points of an app or applet by providing a JSON string mapping from function names to instance types, e.g.zD    {"main": "mem2_ssd2_v3_x4", "other_function": "mem1_ssd2_v3_x2"}zdx runa  When running a workflow, --instance-type lets you specify instance types for each entry point of each workflow stage by prepending the request with "<stage identifier>=" (where a stage identifier is an ID, a numeric index, or a unique stage name) and repeating the argument for as many stages as desired.  If no stage identifier is provided, the value is applied as a default for all stages.Exampleszl1. Run the main entry point of applet-xxxx on mem1_ssd1_v2_x2, and all other entry points on mem1_ssd1_v2_x4z    dx run applet-xxxx --instance-type '{"main": "mem1_ssd1_v2_x2",
                                         "*":    "mem1_ssd1_v2_x4"}'z2. Runs all entry points of the first stage with mem2_ssd2_v3_x2, the main entry point of the second stage with mem1_ssd1_v2_x4, the stage named "BWA" with mem1_ssd1_v2_x2, and all other stages with mem2_ssd2_v3_x4z    dx run workflow-xxxx \
     --instance-type 0=mem2_ssd2_v3_x2 \
     --instance-type 1='{"main": "mem1_ssd1_v2_x4"}' \
     --instance-type BWA=mem1_ssd1_v2_x2 \
     --instance-type mem2_ssd2_v3_x4aA  --instance-type-by-executable argument is a JSON string with a double mapping that specifies instance types by app or applet id, then by entry point within the executable.This specification applies across the entire nested execution tree and is propagated across /executable-xxxx/run calls issued with the execution tree.zMore examplesz?3. Force every job in the execution tree to use mem2_ssd1_v2_x2zX    dx run workflow-xxxx --instance-type-by-executable '{"*": {"*": "mem2_ssd1_v2_x2"}}'zU4. Force every job in the execution tree executing applet-xyz1 to use mem3_ssd2_v3_x2za    dx run workflow-xxxx --instance-type-by-executable '{"applet-xyz1":{"*": "mem3_ssd2_v3_x2"}}'aR  5. Force every job executing applet-xyz1 to use mem1_ssd2_v3_x4 for the main entry point and mem1_ssd2_v3_x2 for all other entry points.Also force the collect entry point of all executables other than applet-xyz1 to use mem2_ssd2_v3_x8.Other entry points of executable other than applet-xyz1 may be overridden by lower-priority mechanismsz    dx run workflow-xxxx --instance-type-by-executable \
           '{"applet-xyz1":  {"main":    "mem1_ssd2_v3_x4", "*": "mem1_ssd2_v3_x2"},
             "*":            {"collect": "mem2_ssd2_v3_x8"}}'a8  6. Force every job executing applet-xxxx to use mem1_ssd2_v3_x2 for all entry points in the entire execution tree. Also force stage 0 executable to run on mem1_ssd2_v3_x4, unless stage 0 invokes applet-xxxx, in which case applet-xxxx's jobs will use mem1_ssd2_v3_x2 as specified by --instance-type-by-executable.z    dx run workflow-xxxx \
     --instance-type-by-executable  '{"applet-xxxx": {"*": "mem1_ssd2_v3_x2"}}' \
     --instance-type 0=mem1_ssd2_v3_x4zKSee "Requesting Instance Types" in DNAnexus documentation for more details.zAvailable instance types:r   )column_nameszGPU instance types:zFPGA instance types:)printri   r	   r
   r   standard_instance_typesrr   list_fieldsgpu_instance_typesfpga_instance_typesro   rp   s        r   rt   zPrintInstanceTypeHelp.__call__  s(   4v{{BCd Q R 	S 	d N O 	P 	d D E 	Fd  o  p  	qTU;;("G$ c d e
 G*G$ D E F Z [G$ 5 6 7 G 9 :
 G$ [ \ ] G/"$XYZGlnG$gi jGuwG$ 3 4 5
 G S T G$ 8 9 :
 G ; < G$]_ `)*l1IIPPR(,-C-[-[-b-b-d(efg(h(p(pr 	s#$l1DDKKM(,-C-V-V-]-]-_(`ab(c(k(km 	n$%l1EELLN(,-C-W-W-^-^-`(abc(d(l(ln 	oAr   r   ru   r   r   r   r   r     s    ar   r   --instance-typeINSTANCE_TYPE_OR_MAPPINGa@  When running an app or applet, the mapping lists executable's entry points or "*" as keys, and instance types to use for these entry points as values.  
When running a workflow, the specified instance types can be prefixed by a stage name or stage index followed by "=" to apply to a specific stage, or apply to all workflow stages without such prefix. 
The instance type corresponding to the "*" key is applied to all entry points not explicitly mentioned in the --instance-type mapping. Specifying a single instance type is equivalent to using it for all entry points, so "--instance-type mem1_ssd2_v3_x2" is same as "--instance-type '{"*":"mem1_ssd2_v3_x2"}'. 
Note that "dx run" calls within the execution subtree may override the values specified at the root of the execution tree.
See dx run --instance-type-help for details.
)r#   replace_whitespace)r5   r&   r'   z--instance-type-by-executableDOUBLE_MAPPINGa  Specifies instance types by app or applet id, then by entry point within the executable.
The order of priority for this specification is:
  * --instance-type, systemRequirements and stageSystemRequirements specified at runtime
  * stage's systemRequirements, systemRequirements supplied to /app/new and /applet/new at workflow/app/applet build time
  * systemRequirementsByExecutable specified in downstream executions (if any)
See dx run --instance-type-help for details.
)r5   r&   z--instance-type-helpz(Print help for specifying instance types)r1   r&   r'   z5Tag for the resulting execution; repeat as necessary,z--phicontainsPHItruefalsezIf set to true, only projects that contain PHI data will be retrieved. If set to false, only projects that do not contain PHI data will be retrieved.)r0   r+   r&   c                     | j                         j                  d      r	 t        j                  |       S | S # t        $ r t        d|z         w xY w)N{z#Error while parsing JSON value for )strip
startswithrb   rc   
ValueErrorr   )thingarg_names     r   !_parse_dictionary_or_string_inputr     sV    {{}$	O::e$$   	OBXMNN	Os	   8 Ac                     t        | d      S )Nr   r   r   s    r   _parse_inst_typer     s    ,U4EFFr   c                     t        | d      S )Nz--instance-countr   r   s    r   _parse_inst_countr     s    ,U4FGGr   c                    | j                   r|rdi | _        i }| j                   D ]D  }d|v r3|j                  d      }t        ||dz   d        | j                  |d | <   :t        |      }F || _         y t	        | j                   t
              st        | j                   d         | _         y t        | j                         | _         y y )NrQ   rV   )instance_typestage_instance_typesrfindr   r   r   )rZ   for_workflownew_inst_type_valinst_type_reqindex_of_eqls        r   process_instance_type_argr     s    (*D% "!%!3!3 H-'#0#6#6s#;LN^%lQ&6&78OD--mM\.JK )9(G%H "3DD..
;!1$2D2DR2H!ID "2$2D2D!ED# r   c                     | j                   rZ| j                   j                         j                  d      r&	 t        j                  | j                         | _         y t        d      y # t
        $ r t        d      w xY w)Nr   z@Error while parsing JSON value for --instance-type-by-executablezIValue given for --instance-type-by-executable could not be parsed as JSON)instance_type_by_executabler   r   rb   rc   r   r   rd   s    r   'process_instance_type_by_executable_argr     sw    ''++113>>sCh37::d>^>^3_0   kll (
  h#$fgghs   $A( (A=c                     | j                   rSt        | j                   t              st        | j                   d         | _         y t        | j                         | _         y y )Nr   )instance_countr   r   r   rd   s    r   process_instance_count_argr     sO     $--z:"3D4G4G4K"LD #4D4G4G"HD r   c                    i }| j                   | j                   |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  dk(  |d<   | j                  | j                  dk(  |d<   | j
                  | j
                  dk(  |d<   | j                  | j                  dk(  |d<   | j                  | j                  dk(  |d	<   | j                  | j                  dk(  |d
<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  rd |d<   | j                  | j                  |d<   | j                  rd |d<   | j                  | j                  dk(  |d<   | j                  | j                  dk(  |d<   | j                   %	 t#        j$                  | j                         |d<   |S |S # t&        $ r}t)        d      |d }~ww xY w)Nnamesummarydescriptionr   	protected
restricteddownloadRestrictedpreviewViewerRestrictedr   databaseUIViewOnlybillToallowedExecutablesdatabaseResultsRestrictedexternalUploadRestrictedhttpsAppIsolatedBrowsinghttpsAppIsolatedBrowsingOptionszGError while parsing the value for --https-app-isolated-browsing-options)r   r   r   r   r   download_restrictedpreview_viewer_restrictedr   database_ui_view_onlybill_toallowed_executablesunset_allowed_executablesdatabase_results_restricted!unset_database_results_restrictedexternal_upload_restrictedhttps_app_isolated_browsing#https_app_isolated_browsing_optionsrb   rc   r   r   )rZ   input_paramses      r   get_update_project_argsr     s1   Lyy#yyV||"&,,Y#&*&6&6]#~~!$(NNf$<[!"%)__%>\"+-1-E-E-O)*%%1262P2PTZ2Z./#&*&6&6&&@]#!!--1-G-G6-Q)*||!%X+-1-E-E)*%%-1)*''3484T4T01--4801&&2373R3RV\3\/0''3373S3SW]3]/0//;	r>BjjIqIq>rL:; <  	r ijpqq	rs   "G* *	H3G??Hc                 z    | j                   /| j                   dk(  rd| _         y | j                   dk(  rd| _         y y y )Nr   Tr   F)r   rd   s    r   process_phi_paramr     sD    #v%#D($D ) $r   c                 F    | j                   | j                   dk(  | _         y y )Nr   )r   rd   s    r   (process_external_upload_restricted_paramr   
  s&    &&2+/+J+Jf+T' 3r   )F)F__doc__
__future__r   r   r   r   argparserb   rT   r   utils.printingr	   utils.pretty_printr
   utils.resolverr   utils.completerr   
exceptionsr   r   compatr   r   ArgumentParserall_argrK   no_color_arg	delim_argjson_argtry_argintstdout_argsrJ   stdout_args_gpparser_dataobject_argsrI   parser_dataobject_args_gp$parser_single_dataobject_output_argsSUPPRESS find_by_properties_and_tags_argsfind_executions_argsrO   r]   r_   re   rh   rm   Actionrk   env_argsr   r   r   exec_input_argsr   instance_type_arg	completerproperty_argstag_argscontains_phir   r   r   r   r   r   r   r   r   r   r   r   <module>r     s  " S R   ! - , 4 . G  "(
!
!5
1   T7.i|  *A  JV   W&x&&6   )#$fy|}"7  I $H##U3	 	  }i'   "f  y|  } !	  # #8""E2   h%CL  Y
!(
!
!5
1   Wc	   t  GJ  K  L &h%%u599;   ID  2Q  dg  -h  q}   ~   K.[#/  1 100%@ 2EEFZ[   & &~)?T[cmv  ~c &  d  & &|,P[bf  hc  vy  cz  }A  cA  DH  I{  NQ  be  y|  OT  DU  cU  ^f &  g  & &xgTX  ZI  \_  U`  cg  Ug  jn  oQ  dg  z  PS  gj  jk  Uk  t| &  }  & &wFQU  WE  X[  R\  _c  Rc  fj  kI  \_  rw  HK  _b  fc  Rc  lt &  u  & &{9S & T  & &t[?dmy & z'>x'>'>'N $ $ 1 1$
IZIZ 1 [ $ 1 1&t  Ef  y|  @}  EH 1  I#:8#:#:E#J     - -l6C37  9  RU  4V5= . ? ! - -g37  9Q  dg  4h5= . ? /x..0   ! !&t4j  ~A  0B !  C  ! !(6w  KN  2O !  P  ! !(6{  OR  2S !  T  ! !+D9~  RU  5V !  W  ! !"2O$On  BE  KF  O[ !  \  ! !':~L_c  eK  ^a  `b !  c  ! !)$7dwz2{ ! |  ! !*48Uhk3l ! m  ! !*48fy|3} ! ~  ! !"3$  @C  VY  ;Z !  [  ! !"44  AN  ad  <e !  f  ! !.t<Uhk7l  vB !  C  ! !"4hT  KK  ^a  Fb !  c  ! !$3UY  [z  MP  VQ  [] !  ^  ! !$(8tDatw?x  BN !  O  ! !"7d  D^  qt  ?u  ~J !  Kz!!"N  $H##U9IJ	 	  )0A  B 	  )0A  B 	  -4Y  Z 	  -4[  \ 	  '.L  M 	  +2S  T 	  ~,B  CHOO 
 #8""E2   (x/@/@  A   (x/@/@  A   ,83D3D  E   ,83D3D  E   &X->->  ?   *1B1B  C   n8+<+<  =   l.i|  *A  JW  _`   aR0 %X$$e4
 
  T  3U  hk  .l   m,L\ *())59   T94  9n  AD  4E  NV   W   T>  >G  Z]  9^   _   T#6Zd  TF  OG   HbHOO bH ,H++U;  =S<T   0'A$( *
 e%5 '/  0 1:   >'7$($ e%5  	6   5%&$()S$T&;  =
 (''7   <lK!%&a7:"<>B"C!%&X7:3be7<">">
 #+  , #8""E2   gu6 Wjmnquu9C,1#Y\^^ &	  ' 'x&&6   '?P k  lGHF(	mI'R%Vr   