
    VhS                     p   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i dddd	d
dddddddddddddgddddddddd
dddddgd d!dddddd
d"d#ddddgd$d%d&dd'd
dd(ddddd(d)dddd(ddgd$d*d&dd'd
dd(d+dddd(d,dddd(ddgd$d-d.dd'ddd
d/d#ddd/d)ddd0ddgd$d1d.dd'ddd/d,dd
d+dd/d2ddd
d3d#dd0ddgd$d4d5ddd6dd
d7d#d8ddd9gd$d:d5ddddd
d;d#d8ddd9gd$d<d5ddddd=ddddd>d
dd8dd
d9gd$d?d5dd@ddd
dAd#d8ddd9gd$dBd5dd@dCdd
dAd#d8ddd9gd$dDdddEdddFd
ddd0ddgd dGdddHdddId
dddJddgd dKd	dLddMdd
dNd#gdOdPd	dQdddd
dRd#gdOdSdddQdddTd
dddUddgd i dVdddQdddWd
dgd dXdddQddCdWd
dgd dYdddQdddZd
dgd d[dddQddCdZd
dgd d\dddQdddTddddUd
dgd d]d	d^dddd
d_d#gdOd`d^daddbdcd
ddddddgd$dedddfdddgd
dddhddgd didddjdddkd
dddlddgd dmdddjdndd
dod#gd dpdddjd6dd
dod#gd dqdddrd
dd+dsdtd
ddudvgd dwdddrd
dddsdtdddudvgd dxd	ddyd
dddzdtdddzd+dgd d{d	ddyd
dd+dzdtd
dd|dvgd d}d	ddyd
dd~dzdtdddzd+dgd dZddddddddd
dddddgd idZddddd
ddddddddvgd ddddddddd
dddvgd dddd
ddddddddvgd ddddddddd
dddvgd dddd
ddddddddvgd ddddddddd
dddvgd ddZddddd
dgd	dddd	ddddd
dd#ddd
dgdOdddd
dddddgd	dddd@dddddd
dddddgd d@dddddddddd
dgd ddZdd	ddd
dddddddddddddvgdOd	ddd
dddddddddddddvgdOd	ddd
dddddddddddddvgdOd	dddddddddd
dgdOddZddddd
ddddgd dddd
ddddgd dddd
ddddddddvgd dddd
ddddd
dddvgd dddd
dddddddddgd dddd
dddddddddgd dddd
dddddddddd
ddddgd ddZddddddddd
dgd idZd Zd Zd Zd Zd Zd Zd Zd Zi dd dd ddĄ ddƄ ddȄ ddʄ dd̄ dd΄ ddЄ dd҄ ddԄ ddք dd؄ ddڄ dd܄ ddބ dd i dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd  dd i dd dd dd d	d
 dd dd dd dd dd dd dd dd dd dd dd  d!d" d#d$ d% d& d' d( d) d* d+ d,Zd- Z	 	 d4d.ed/ed0ee    d1ee    d2df
d3Z!y# e	$ r Y w xY w(5      N)Optional)AnsibleAWSModule)RetryingBotoClientWrapper   ImageAvailableDescribeImagesP      successpathAllzImages[].State	available)statematcherargumentexpectederrorzInvalidAMIID.NotFoundretry)r   r   r   failurepathAnyfailed)	operationmaxAttemptsdelay	acceptorsInternetGatewayExists   (   DescribeInternetGatewayspathTzlength(InternetGateways) > `0`)r   r   r   r   z!InvalidInternetGatewayID.NotFound)r   r   r   r   InternetGatewayAttachedz&InternetGateways[].Attachments[].State)r   r   r   r   )r   r   r   r   TransitGatewayAvailableDescribeTransitGatewaysx   zTransitGateways[].StatependingTransitGatewayDeleteddeleteddeletingTGWVpcAttachmentAvailable$DescribeTransitGatewayVpcAttachmentsz$TransitGatewayVpcAttachments[].StatezInvalidRouteTableID.NotFoundTGWVpcAttachmentDeleted)r   r   r   r   z-length(TransitGatewayVpcAttachments[]) == `0`NetworkInterfaceAttachedDescribeNetworkInterfacesattachedz%NetworkInterfaces[].Attachment.Statusz"InvalidNetworkInterfaceID.NotFound)r   r   r   NetworkInterfaceAvailablezNetworkInterfaces[].StatusNetworkInterfaceDeletedz!length(NetworkInterfaces[]) > `0`z"length(NetworkInterfaces[]) == `0`!NetworkInterfaceDeleteOnTerminate
   z2NetworkInterfaces[].Attachment.DeleteOnTermination#NetworkInterfaceNoDeleteOnTerminateFRouteTableExistsDescribeRouteTableszlength(RouteTables[]) > `0`SecurityGroupExistsDescribeSecurityGroupszlength(SecurityGroups[]) > `0`zInvalidGroup.NotFoundSnapshotCompletedDescribeSnapshots	completedzSnapshots[].State)r   r   r   r   SubnetAvailableDescribeSubnetszSubnets[].StateSubnetExistszlength(Subnets[]) > `0`zInvalidSubnetID.NotFoundSubnetHasMapPubliczSubnets[].MapPublicIpOnLaunchSubnetNoMapPublicSubnetHasAssignIpv6z%Subnets[].AssignIpv6AddressOnCreationSubnetNoAssignIpv6SubnetDeletedVpcAvailableDescribeVpcszVpcs[].State	VpcExists   status   zInvalidVpcID.NotFoundVpcEndpointExistsDescribeVpcEndpointszlength(VpcEndpoints[]) > `0`zInvalidVpcEndpointId.NotFoundVpnGatewayExistsDescribeVpnGatewayszlength(VpnGateways[]) > `0`zInvalidVpnGatewayID.NotFoundVpnGatewayDetacheddetachedz$VpnGateways[].VpcAttachments[].StateVpnGatewayAttachedNatGatewayDeletedDescribeNatGatewayszNatGateways[].State)r   r   r   r   NatGatewayNotFoundr   r   r   NatGatewayAvailableVolumeAvailableDescribeVolumeszVolumes[].StateVolumeDeletedzInvalidVolume.NotFoundVolumeInUsezin-use)versionwaitersChangeTokenInSync   <   GetChangeTokenStatuszChangeTokenStatus == 'INSYNC'WAFInternalErrorExceptionDescribeClusterzcluster.statusACTIVEResourceNotFoundExceptionzcluster.status != 'DELETED'   DescribeFargateProfilezfargateProfile.statusz#fargateProfile.status == 'DELETING'DescribeNodegroupznodegroup.statusznodegroup.status == 'DELETING')ClusterActiveClusterDeletedFargateProfileActiveFargateProfileDeletedNodegroupActiveNodegroupDeletedzInstanceStates[].State	InService)r   r   r   r   DescribeInstanceHealth)r   r   r   r   OutOfServiceInvalidInstanceDescribeLoadBalancersz(length(LoadBalancerDescriptions[]) > `0`LoadBalancerNotFound)AnyInstanceInServiceInstanceDeregisteredInstanceInServiceLoadBalancerCreatedLoadBalancerDeletedzLoadBalancers[].State.CodeactiveprovisioningzLoadBalancers[].IpAddressTypeipv4	dualstack)LoadBalancerAvailableLoadBalancerIpAddressTypeIpv4"LoadBalancerIpAddressTypeDualStackLoadBalancersDeletedDescribeDBClusterszDBClusters[].Status	promotingDescribeDBInstanceszDBInstances[].DBInstanceStatusstoppedDBClusterNotFoundFaultz(length(DBInstances[].StatusInfos) == `0`z"DBInstances[].StatusInfos[].Statusreplicatingz&DBInstances[].AssociatedRoles[].StatusPENDINGz.length(DBInstances[].AssociatedRoles[]) == `0`)DBClusterPromotingDBInstanceStoppedDBClusterAvailableDBClusterDeletedReadReplicaPromotedRoleAssociatedRoleDisassociatedResourceRecordSetsChanged	GetChangeINSYNCzChangeInfo.Statusc                     g d}g }|D ]  }|j                  dd|d        t        j                  |       }| d   D ]  }|d   |   d   j                  |        |S )N)RequestLimitExceededUnavailableServiceUnavailableInternalFailureInternalErrorTooManyRequestsException
Throttlingr   r   rR   rY   r   )appendcopydeepcopyextend)modelextra_retriesr   r   _modelwaiters         k/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/amazon/aws/plugins/module_utils/waiters.py_inject_limit_retriesr   .  s    M I V9eTUV ]]5!F	" Ay&!+.55i@A M    c                 j    t        j                  t        t                    }|j	                  |       S N)waiter_config)core_waiterWaiterModelr   ec2_data
get_waiter)name
ec2_modelss     r   	ec2_modelr   E  )    ((7LX7VWJ  &&r   c                 j    t        j                  t        t                    }|j	                  |       S r   )r   r   r   waf_datar   )r   
waf_modelss     r   	waf_modelr   J  r   r   c                 j    t        j                  t        t                    }|j	                  |       S r   )r   r   r   eks_datar   )r   
eks_modelss     r   	eks_modelr   O  r   r   c                 j    t        j                  t        t                    }|j	                  |       S r   )r   r   r   
elbv2_datar   )r   elbv2_modelss     r   elbv2_modelr   T  s)    **9Nz9Z[L""4((r   c                 j    t        j                  t        t                    }|j	                  |       S r   )r   r   r   elb_datar   )r   
elb_modelss     r   	elb_modelr   Y  r   r   c                 j    t        j                  t        t                    }|j	                  |       S r   )r   r   r   rds_datar   )r   
rds_modelss     r   	rds_modelr   ^  r   r   c                 j    t        j                  t        t                    }|j	                  |       S r   )r   r   r   route53_datar   )r   route53_modelss     r   route53_modelr   c  s*     ,,;PQ];^_N$$T**r   )EC2image_availablec                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r   )r   Waiterr   NormalizedOperationMethoddescribe_imagesec2s    r   <lambda>r   i  s0    K,>,>9%568]8]^a^q^q8r- r   )r   internet_gateway_existsc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r   r   r   r   r   describe_internet_gatewaysr   s    r   r   r   l  s1    K4F4F!)*--c.L.LM5 r   )r   internet_gateway_attachedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r    r   r   s    r   r   r   q  s1    k6H6H#+,--c.L.LM7 r   )r   transit_gateway_availablec                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r!   r   r   r   r   describe_transit_gatewaysr   s    r   r   r   v  s1    k6H6H#+,--c.K.KL7 r   )r   transit_gateway_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r%   r   r   s    r   r   r   {  s1    K4F4F!)*--c.K.KL5 r   )r   (transit_gateway_vpc_attachment_availablec                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r(   r   r   r   r   (describe_transit_gateway_vpc_attachmentsr   s    r   r   r     s2    [EWEW2-.--c.Z.Z[F r   )r   &transit_gateway_vpc_attachment_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r*   r   r   s    r   r   r     s2    ;CUCU0+,--c.Z.Z[D r   )r   network_interface_attachedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r+   r   r   r   r   describe_network_interfacesr   s    r   r   r     s1    {7I7I$,---c.M.MN8 r   )r   network_interface_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r/   r   r   s    r   r   r     s1    k6H6H#+,--c.M.MN7 r   )r   network_interface_availablec                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r.   r   r   s    r   r   r     s1    8J8J%-.--c.M.MN9 r   )r   %network_interface_delete_on_terminatec                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r0   r   r   s    r   r   r     s2    +BTBT/56--c.M.MNC r   )r   (network_interface_no_delete_on_terminatec                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r2   r   r   s    r   r   r     s2    [EWEW278--c.M.MNF r   )r   route_table_existsc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r3   )r   r   r   r   describe_route_tablesr   s    r   r   r     1    {/A/A$%--c.G.GH0 r   )r   security_group_existsc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r5   )r   r   r   r   describe_security_groupsr   s    r   r   r     s1    +2D2D'(--c.J.JK3 r   )r   snapshot_completedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r7   )r   r   r   r   describe_snapshotsr   s    r   r   r     s1    {/A/A%&--c.D.DE0 r   )r   subnet_availablec                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r:   r   r   r   r   describe_subnetsr   s    r   r   r     s0    [-?-?I&78+:_:_`c`t`t:u. r   )r   subnet_existsc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r<   r   r   s    r   r   r     s/    +*<*<>2K4Y4YZ]ZnZn4o+ r   )r   subnet_has_map_publicc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r=   r   r   s    r   r   r     1    +2D2D&'--c.B.BC3 r   )r   subnet_no_map_publicc                 |    t        j                  dt        d      t        j                  | j                              S )Nr   r>   r   r   s    r   r   r     s1    1C1C%&--c.B.BC2 r   )r   subnet_has_assign_ipv6c                 |    t        j                  dt        d      t        j                  | j                              S )Nr  r?   r   r   s    r   r   r     s1    ;3E3E '(--c.B.BC4 r   )r   subnet_no_assign_ipv6c                 |    t        j                  dt        d      t        j                  | j                              S )Nr  r@   r   r   s    r   r   r     r   r   )r   subnet_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr  rA   r   r   s    r   r   r     /    ;+=+=)O4k6[6[\_\p\p6q, r   )r   vpc_availablec                 |    t        j                  dt        d      t        j                  | j                              S )Nr  rB   r   r   r   r   describe_vpcsr   s    r   r   r     s/    +*<*<>2K4Y4YZ]ZkZk4l+ r   )r   
vpc_existsc                 |    t        j                  dt        d      t        j                  | j                              S )Nr  rD   r
  r   s    r   r   r     s/    {'9'9i,k.S.STWTeTe.f( r   )r   vpc_endpoint_existsc                 |    t        j                  dt        d      t        j                  | j                              S )Nr  rH   )r   r   r   r   describe_vpc_endpointsr   s    r   r   r     s1    0B0B%&--c.H.HI1 r   )r   vpn_gateway_existsc                 |    t        j                  dt        d      t        j                  | j                              S )Nr  rJ   r   r   r   r   describe_vpn_gatewaysr   s    r   r   r     r   r   )r   vpn_gateway_detachedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr  rL   r  r   s    r   r   r     1    1C1C&'--c.G.GH2 r   )r   vpn_gateway_attachedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr  rN   r  r   s    r   r   r     r  r   )r   nat_gateway_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr  rO   r   r   r   r   describe_nat_gatewaysr   s    r   r   r     1    0B0B%&--c.G.GH1 r   )r   nat_gateway_availablec                 |    t        j                  dt        d      t        j                  | j                              S )Nr  rS   r  r   s    r   r   r     1    +2D2D'(--c.G.GH3 r   )r   volume_availablec                 |    t        j                  dt        d      t        j                  | j                              S )Nr"  rT   r   r   r   r   describe_volumesr   s    r   r   r     s1    [-?-?#$--c.B.BC. r   )r   volume_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr&  rV   r$  r   s    r   r   r     s0    ;+=+=/"--c.B.BC, r   )r   volume_in_usec                 |    t        j                  dt        d      t        j                  | j                              S )Nr(  rW   r$  r   s    r   r   r     s0    +*<*<- --c.B.BC+ r   )WAFchange_token_in_syncc                 |    t        j                  dt        d      t        j                  | j                              S Nr+  rZ   r   r   r   r   get_change_token_statuswafs    r   r   r     s1    1C1C%&--c.I.IJ2 r   )WAFRegionalr+  c                 |    t        j                  dt        d      t        j                  | j                              S r-  r.  r0  s    r   r   r     s1    9K9K%&--c.I.IJ: r   )EKScluster_activec                 |    t        j                  dt        d      t        j                  | j                              S )Nr5  re   r   r   r   r   describe_clusterekss    r   r   r     r  r   )r4  cluster_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )Nr;  rf   r7  r9  s    r   r   r     s0    K,>,>9%568]8]^a^r^r8s- r   )r4  fargate_profile_activec                 |    t        j                  dt        d      t        j                  | j                              S )Nr=  rg   r   r   r   r   describe_fargate_profiler9  s    r   r   r     s1    ;3E3E ()--c.J.JK4 r   )r4  fargate_profile_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )NrA  rh   r?  r9  s    r   r   r     s1    K4F4F!)*--c.J.JK5 r   )r4  nodegroup_activec                 |    t        j                  dt        d      t        j                  | j                              S )NrC  ri   r   r   r   r   describe_nodegroupr9  s    r   r   r     s0    [-?-?I&78+:_:_`c`v`v:w. r   )r4  nodegroup_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )NrG  rj   rE  r9  s    r   r   r     s1    k.@.@$%--c.D.DE/ r   )ElasticLoadBalancingany_instance_in_servicec                 |    t        j                  dt        d      t        j                  | j                              S )NrJ  rq   r   r   r   r   describe_instance_healthelbs    r   r   r   $  s2    [EWEW!()--c.J.JKF r   )rI  instance_deregisteredc                 |    t        j                  dt        d      t        j                  | j                              S )NrP  rr   rL  rN  s    r   r   r   )  s2    ;CUCU()--c.J.JKD r   )rI  instance_in_servicec                 |    t        j                  dt        d      t        j                  | j                              S )Nload_balancer_createdrs   rL  rN  s    r   r   r   .  s2    ASAS%&--c.J.JKB r   )rI  rT  c                 |    t        j                  dt        d      t        j                  | j                              S )NrT  rt   r   r   r   r   describe_load_balancersrN  s    r   r   r   3  2    ;CUCU'(--c.I.IJD r   )rI  load_balancer_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )NrY  ru   rV  rN  s    r   r   r   8  rX  r   )ElasticLoadBalancingv2load_balancer_availablec                 |    t        j                  dt        d      t        j                  | j                              S )Nr\  rz   r   r   r   r   rW  elbv2s    r   r   r   =  s2    I[I[!+,--e.K.KLJ r   )r[  "load_balancer_ip_address_type_ipv4c                 |    t        j                  dt        d      t        j                  | j                              S )Nra  r{   r^  r_  s    r   r   r   B  s3    T_TfTf,34--e.K.KLU r   )r[  'load_balancer_ip_address_type_dualstackc                 |    t        j                  dt        d      t        j                  | j                              S )N(load_balancers_ip_address_type_dualstackr|   r^  r_  s    r   r   r   G  s3    YdYkYk289--e.K.KLZ r   )r[  load_balancers_deletedc                 |    t        j                  dt        d      t        j                  | j                              S )Nrf  r}   r^  r_  s    r   r   r   L  s2    HZHZ *+--e.K.KLI r   )RDSdb_cluster_promotingc                 |    t        j                  dt        d      t        j                  | j                              S )Nri  r   r   r   r   r   describe_db_clustersrdss    r   r   r   Q  s1    1C1C&'--c.F.FG2 r   c                 |    t        j                  dt        d      t        j                  | j                              S )Ndb_instance_stoppedr   r   r   r   r   describe_db_instancesrm  s    r   r   r   V  r  r   c                 |    t        j                  dt        d      t        j                  | j                              S )Ncluster_availabler   rk  rm  s    r   r   r   [  s1    k.@.@&'--c.F.FG/ r   c                 |    t        j                  dt        d      t        j                  | j                              S )Nr;  r   rk  rm  s    r   r   r   `  s1    K,>,>$%--c.F.FG- r   c                 |    t        j                  dt        d      t        j                  | j                              S )Nread_replica_promotedr   rq  rm  s    r   r   r   e  r!  r   c                 |    t        j                  dt        d      t        j                  | j                              S )Nrole_associatedr   rq  rm  s    r   r   r   j  s0    K,>,>9%568]8]^a^w^w8x- r   c                 |    t        j                  dt        d      t        j                  | j                              S )Nrole_disassociatedr   rq  rm  s    r   r   r   m  s1    {/A/A%&--c.G.GH0 r   c                 |    t        j                  dt        d      t        j                  | j                              S )Nresource_record_sets_changedr   )r   r   r   r   
get_change)route53s    r   r   r   r  s2    ASAS&12--g.@.@AB r   ))rh  rp  )rh  rt  )rh  r;  )rh  rw  )rh  ry  )rh  r{  )Route53r}  c           	      @   t        | t              rt        | j                  |      S 	 t	        | j
                  j                  |f   |       S # t        $ rH dj                  d t        j                         D              }t        d| dt        |        d|       w xY w)Nz, c              3   2   K   | ]  }t        |        y w)N)repr).0ks     r   	<genexpr>zget_waiter.<locals>.<genexpr>  s     %N!d1g%Ns   zWaiter z could not be found for client z. Available waiters: )
isinstancer   r   clientwaiters_by_name	__class____name__KeyErrorjoinkeysNotImplementedErrortype)r  waiter_nameavailable_waiterss      r   r   r   z  s    &34&--55
 0 0 9 9;GHPP 
 II%N7K7K7M%NN!k]"A$v,Odevdwx
 	

s   #A ABmoduler  r   max_attemptsreturnc                    t        j                  |      }||5i |d<   ||d   j                  d|i       ||d   j                  d|i       	  t        | |      j                  di | y # t
        j                  $ r }|j                  |d| d       Y d }~y d }~wt
        j                  t
        j                  f$ r }|j                  |d| d       Y d }~y d }~ww xY w)	NWaiterConfigDelayMaxAttempts)r  r  zTimeout waiting for ''z0An exception happened while trying to wait for ' )
r   r   updater   waitexception_waiterWaiterErrorfail_json_awsClientErrorBotoCoreError)r  r  r  r   r  paramswaiter_paramses           r   wait_for_resource_stater    s     MM&)ML4(*n%.)00'51AB#.)00-1NOc?
&k:??P-P'' HQ"7}A FGG((*:*H*HI cQ"RS^R__` abbcs$   A. .C"B&C"CC")NN)"r   typingr   botocore.exceptions
exceptionsr  botocore.waiterr   r   ImportError;ansible_collections.amazon.aws.plugins.module_utils.modulesr   ;ansible_collections.amazon.aws.plugins.module_utils.retriesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   strintr  r  r   r   <module>r     s    	2) Y a `)#	GWepq#1HSZ[#	GWemn		
` 	 3"Bbmvw#1T_fg	"
`( 	"3 !,(& H	 $1T_fg	$
)`D 	"2 '( 9 +	 %( 9 )	 '( 9 (		$
E`v 	 2 '( 9 )	 %( 9 *	 '( 9 (		"
w`h 	$? !,(& F	 %( F )	 $1OZab	&
i`P 	"? %( F *	 ' )( F	 !%%& O	 $1OZab'	$
Q`D 	#4 !+(& G	 Bg`ij	%
E`` 	$4 !,(& <	 Bg`gh	&
a`| 	"4  & $ C$	  & $ D&	 Bg`ij	$
}`d 	,4 !%(& T	 Bg`ij	.
e`@ 	.4 !&(& T	 Bg`ij	0
A`\ 	."B_jst#1OZab	
]`n 	1"Bbmvw#1HSZ[	 
o`@ 	,(Y`st	
A`P 	*(Y`qr	
Q`` 	*"B[fop#1KV]^	
a`r 	*  ) $ ?&		
s`L 	*  ) % ?&		
M`f 	*  ) $ G&		 
g`@	 	*  ) % G&		
A	`Z	 	*"B[fmn#1KV_`	
[	`l	 	'(Y`no	
m	`|	 	'$#	J#1HSZ[	
}	`N
 	/"B`ktu#1P[bc	
O
``
 	."B_jst#1OZab	
a
`r
 	. !+(& F		
s
`L 	. !+(& F		
M`f 	.#	y^st#EYZ	
g`x 	.#	{`uv!gCWX	 
y`J 	*#	{`qr#	GXfop	
K`\ 	*#	y^op#E]^	
]`n 	*#	x]no#	GXfop	
o`cN /"Baluv#1LW^_	

   *#DTbjk!gC^_	
 *!fB_mqr#E`a	
 1#D[iqr!gC^_	!
 1 %% E $	 $E`a	"
 ,#DVdlm!gC^_	
 ,!fBbptu#E`a	
g<?F 
 !9 +(&	 1!
 1 !/(& 8	 $1BYW	!
" !9 +(&	 $1BWU 1
 0  & $ J&	  ' 6$	 
& 0  & $ J$	  ' 6&	 
yNQh  0 '( < (	 %( < .	 "gCYZ	"
* 0 '( ? &	 %( ? +	 $E[\	*
* 0 '( ? +	 %( ? &	 $E[\	/
* 0 %( < (	 $1GR[\	!
{KN
d  - '( 5 +		
 . '( @ )		
 -#	G\juv!gC[\	
 -#	G\jst#E]^	
 . '% J $	 %( D -		 
( . '( H (	 %( H )		
( . '( H (	 %( H )	 '% P $		
glof #$"FYdmn	&
	.'
'
'
)
'
'
+
O !O ' )	O ) +O ) +O& ' )'O0 8 :1O: 6 8;OD * ,EON ) +OOX + -YOb 5 7cOl 8 :mOv " $wO@ % 'AOJ " $KOT   "UOZ  [O` % 'aOj $ &kOt & (uO~ % 'OH   ION  OOT  UOZ # %[Od " $eOn $ &oOx $ &yOB # %COL % 'MOV   "WO`   aOj  kOt $ &uO~ , .OH   ION  !OOT & (UO^ ' )_Oh   "iOn ! #oOx 8 :yOB 6 8COL 4 6MOV 6 8WO` 6 8aOj : <kOt E GuO~ J LOH 9 ;IOR $ &SO\%
#
!
'
!$
2UOd	
   "&cc c C=	c
 3-c 
cu#  		s   V, ,V54V5