
    Q?hi                     \    S SK JrJrJr  Sr " S S5      r " S S\5      r " S S\5      rg	)
    )ListTupleUnion)S)Sr   r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr      r   r   r      r   r   r   r	   r   r   r   r   r   r	   r	   r   r	   r   r	   r	   r   r   r	   r	   r	   r   r   r   r   r	   r	   r      r   r	   r   r	   r   r	   r
   r	   r   r	   r
   r   r   r   r	   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r	   r   r	   r	   r   r   r   r   r   r	   r
   r
   r
   r
   r   r   r   r   r   r	   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r
   r   r
   r   r   r   r   r
   r   r   r	   r
   r	   r
   r   r
   r	   r   r	   r   r   r	   r   r	   r	   r   r	   r
   r   r   r	   r
   r
   r	   r
   r
   r
   r	   r
   r
   r	   r   r
   r
   r	   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r
   r	   r   r	   r
   r   r   r   r   r   r
   r   r   r
   r   r
   r   r   r   r   r   r   Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r	   r   r   r   r	   r   r	   r   r   r
   r   r	   r	   r	   r	   r   r	   r
   r   r   r	   r
   r   r   r	   r   r	   r   r   r   r   r
   r	   r   r   r	   r   r
   r
   r   r
   r
   r   r   r
   r   r	   r   r	   r	   r   r	   r	   r   r   r   r   r	   r	   r   r
   r	   r	   r	   r
   r   r   r   r	   r   r   r   r	   r   r	   r	   r   r   r   r   r	   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r	   r   r	   r   r   r   r	   r   r   r	   r   r   r   r   r   r	   r   r	   r	   r	   r	   r	   r   r	   r   r	   r	   r
   r	   r	   r   r   r	   r   r
   r   r	   r	   r
   r   r   r	   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r	   r   r   r   r   r   r	   r
   r   r	   r   r   r   r   r   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r	   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r	   r	   r   r	   r	   r	   r	   r   r   r   r	   r	   r	   r   r   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r	   r	   r   r	   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r
   r	   r   r   r   r	   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r	   r
   r   r   r	   r   r	   r
   r   r	   r	   r   r	   r
   r   r   r   r   r	   r   r   r   r	   r	   r   r
   r   r	   r   r   r
   r   r
   r
   r   r   r
   r   r   r   r	   r   r   r	   r	   r   r   r	   r   r	   r   r   r   r	   r	   r   r
   r   r	   r   r   r   r   r
   r
   r   r
   r   r   r   r   r   r
   r   )Sr   r
   r   r
   r   r   r   r	   r   r   r   r	   r   r	   r	   r	   r   r   r   r   r   r	   r   r	   r   r	   r	   r   r   r   r   r	   r   r   r
   r   r   r   r
   r   r   r
   r	   r   r   r	   r   r	   r   r   r   r	   r	   r	   r   r	   r   r   r   r	   r	   r   r	   r	   r	   r   r   r   r   r	   r   r   r
   r   r   r   r	   r   r   r   r   r   r	   )Sr   r	   r   r   r   r	   r   r   r   r	   r   r   r	   r   r   r   r	   r	   r   r	   r   r	   r   r	   r   r   r	   r   r	   r   r
   r   r   r   r   r   r	   r
   r   r   r	   r
   r
   r   r	   r   r   r	   r   r   r	   r   r   r   r   r	   r   r   r	   r   r   r
   r	   r	   r	   r   r	   r	   r	   r	   r   r   r   r   r
   r   r   r   r	   r	   r   r   r	   )Sr   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r	   r	   r	   r   r   r	   r   r   r   r   r   r   r   r   r	   r	   r   r   r	   r	   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r	   r	   r   r   r	   r   r   r	   r   r   r	   r	   )Sr   r   r   r   r   r	   r   r	   r   r   r   r   r	   r	   r	   r	   r	   r	   r   r	   r   r   r   r	   r   r	   r	   r   r   r	   r   r
   r   r   r   r
   r	   r
   r   r
   r	   r
   r   r   r	   r
   r
   r	   r   r	   r	   r   r   r	   r   r	   r   r   r	   r	   r   r   r	   r	   r	   r   r   r   r   r	   r   r   r
   r   r   r
   r	   r   r   r   r   r	   r   )Sr   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r	   r   r   r	   r   r   r	   r   r	   r	   r	   r   r	   r	   r	   r   r   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r	   r	   r   r   r	   r   r   r   r   r   r	   r   r	   r   r	   r	   r   r	   r   r   r   r	   )Sr   r	   r   r	   r   r   r   r   r   r	   r	   r   r	   r   r	   r   r   r   r	   r   r   r	   r   r	   r	   r	   r   r   r	   r   r
   r   r	   r   r   r	   r   r
   r
   r   r   r   r   r	   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r	   r	   r   r	   r   r   r   r   r   r   r
   r
   r	   r   r   r   r   r   r   )Sr   r   r   r   r   r	   r   r	   r   r   r	   r	   r	   r   r	   r   r   r   r	   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r	   r	   )Sr   r   r   r   r   r
   r   r   r   r   r   r   r   r	   r	   r   r	   r	   r
   r	   r	   r	   r   r	   r   r   r	   r   r   r	   r	   r	   r   r   r   r	   r   r   r
   r
   r	   r   r
   r   r	   r
   r   r   r   r	   r	   r   r   r	   r   r   r   r   r   r	   r   r   r	   r	   r	   r	   r   r	   r   r   r   r	   r   r   r   r
   r
   r   r	   r   r   r   r
   )Sr   r   r   r	   r   r	   r   r   r   r   r	   r   r	   r   r   r   r   r   r	   r   r	   r   r	   r   r	   r   r   r	   r	   r   r	   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r	   r   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r   r	   )Sr   r   r   r
   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r	   r   r   r   r	   r   r	   r   r   r
   r   r	   r	   r	   r	   r   r   r   r	   r   r   r	   r   r   r   r   r	   r	   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r	   r	   r   r   r	   r	   r	   r   r   r   r   r   r   r	   r
   r	   r   r
   r   r   r	   r   r   r   r
   )Sr   r	   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   )Sr   r   r   r
   r   r	   r   r	   r   r   r
   r   r   r	   r
   r	   r	   r   r   r	   r   r   r	   r	   r	   r	   r   r   r   r   r
   r   r	   r   r   r   r	   r
   r   r   r	   r
   r   r	   r	   r   r   r   r   r	   r	   r   r   r	   r   r	   r   r   r	   r	   r   r
   r   r   r   r   r   r   r	   r	   r
   r   r   r	   r	   r
   r   r   r	   r   r   r   r   )Sr   r   r   r	   r   r   r   r   r   r   r	   r	   r	   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r	   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   r   r   r	   r
   r   r	   r	   r	   r   r	   r	   r   r	   r	   r   r   r   r   r	   r	   )Sr   r   r   r   r   r	   r   r   r   r   r
   r
   r	   r   r   r   r   r   r   r	   r	   r   r   r	   r   r	   r   r	   r	   r   r   r	   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r
   r	   r	   r   r   r   r   r   r   r   r   r
   r   r	   r	   r   r   r	   r	   r	   r   r   r	   r   r   r   r   r   r	   r
   r
   r   r   r	   r   r   r	   r	   )Sr   r	   r   r   r   r	   r   r   r   r	   r   r	   r	   r   r	   r	   r	   r   r	   r   r	   r   r   r	   r	   r   r   r   r	   r   r	   r	   r   r   r   r   r   r   r
   r   r	   r	   r
   r   r	   r	   r   r	   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r	   r   r	   r	   r   r	   r   r   r   r   r	   r	   r   r   r   r   r   r   r   r   r	   )Sr   r   r   r   r   r   r   r	   r   r   r	   r	   r	   r   r	   r   r   r   r	   r   r	   r	   r   r	   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r
   r	   r	   r   r   r   r   r	   r	   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r	   r	   r	   r   r	   r   r   r   r   r   r   r
   r	   r   r   r	   r	   r   r	   r
   )Sr   r   r   r	   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r	   r   r   r	   r	   r   r   r	   r   r   r	   r   r   r	   r   r   r	   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   )Sr   r	   r   r	   r   r
   r   r   r   r   r   r	   r   r	   r	   r   r   r   r
   r   r   r   r
   r   r   r   r   r   r	   r	   r   r   r	   r   r   r	   r   r   r	   r	   r   r	   r	   r   r   r
   r	   r   r   r	   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r	   r	   r   r   r   r   r   r	   r   r   r   r
   r   r   r	   r   r   r	   r
   )Sr   r	   r   r	   r   r	   r   r   r   r	   r	   r	   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r	   r   r   r	   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r	   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r	   r	   )Sr   r   r   r
   r   r	   r   r	   r   r   r
   r
   r   r	   r
   r	   r   r	   r
   r	   r	   r   r
   r	   r   r   r   r	   r   r	   r   r
   r
   r	   r   r   r	   r   r   r
   r   r   r   r	   r   r
   r
   r   r   r	   r   r   r	   r   r   r	   r	   r   r   r	   r   r   r	   r	   r
   r
   r   r	   r   r	   r   r
   r
   r
   r
   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r	   r   r	   r   r	   r
   r   r   r   r	   r   r
   r   r	   r   r
   r   r   r   r	   r   r	   r	   r   r	   r	   r	   r	   r   r
   r   r   r	   r	   r
   r	   r   r   r   r   r   r	   r   r   r	   r   r   r   r	   r   r   r	   r   r	   r   r   r   r	   r   r	   r   r   r	   r   r   r   r   r   r   r	   r   r
   r   r   r   r   r	   r   )Sr   r	   r   r	   r   r	   r   r   r   r	   r   r   r	   r	   r	   r   r   r   r   r	   r	   r   r	   r	   r	   r   r   r   r	   r   r   r	   r   r	   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r	   r   r	   r	   r   r	   r	   r   r   r   r   r   r   r   r   r	   r   r	   r	   r
   r   r	   r	   r
   r   r   r	   r	   r   r   r   r	   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r
   r   r   r   r   r	   r   r
   r   r
   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r
   r   r	   r   r   r   r	   r
   r   r   r	   r   r	   r
   r	   r   r	   r	   r   r   r	   r	   r	   r	   r	   r	   r   r   r   r	   r   r	   r   r   r
   r   r   r	   r   r   r   r	   r
   r   r	   r	   r	   r   r   r   r	   r	   r   r	   r   r	   r	   r	   r
   r	   r	   r   r
   r   r	   r   r	   r   r	   r   r	   r   r   r	   r   r	   r   r   r   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r   r   r   r   r   r   r   )Sr   r
   r   r
   r   r	   r   r	   r   r
   r   r   r
   r   r
   r	   r	   r   r   r	   r   r	   r
   r	   r   r	   r	   r   r   r	   r   r	   r	   r   r	   r	   r   r   r   r	   r   r   r   r	   r   r
   r
   r	   r   r	   r   r   r	   r	   r   r	   r   r   r	   r	   r   r   r
   r	   r	   r
   r   r   r   r	   r   r   r   r	   r
   r	   r	   r   r	   r   r   r   r	   )Sr   r
   r   r
   r   r	   r   r   r   r   r   r	   r
   r   r   r	   r	   r	   r   r   r   r	   r
   r	   r
   r	   r	   r   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r
   r   r	   r	   r
   r
   r	   r   r	   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r	   r   r
   r   r   r   r	   r   r   r	   r   r	   r   r   r   r	   r	   r   r	   r	   )Sr   r   r   r
   r   r
   r   r   r   r   r
   r
   r
   r	   r   r	   r	   r   r
   r   r   r	   r
   r	   r
   r	   r   r   r   r	   r   r   r	   r   r   r   r	   r   r
   r   r   r
   r
   r   r	   r
   r
   r   r   r	   r	   r   r	   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r
   r   r   r   r   r   r   r	   r   r   r	   r	   r   r   r   r   r
   r
   )Sr   r   r   r   r   r
   r   r   r   r	   r	   r   r   r	   r   r   r	   r   r
   r   r	   r   r	   r   r	   r   r   r   r	   r   r	   r	   r   r   r   r	   r   r   r   r   r	   r   r   r   r	   r
   r   r   r   r	   r   r   r   r	   r   r	   r   r   r	   r   r   r	   r   r   r	   r
   r   r	   r   r   r   r	   r   r	   r	   r   r   r   r   r   r   r   r   )Sr   r   r   r
   r   r   r   r	   r   r   r
   r
   r   r	   r
   r	   r
   r	   r
   r	   r
   r   r
   r	   r   r	   r	   r   r	   r   r
   r	   r   r   r
   r   r	   r   r	   r   r
   r	   r   r   r   r
   r   r	   r   r	   r	   r   r	   r   r   r   r	   r   r   r   r   r	   r   r	   r	   r
   r   r	   r   r   r   r   r
   r
   r
   r   r	   r   r   r   r   r	   r
   )Sr   r
   r   r   r   r   r   r   r   r
   r   r	   r   r	   r   r	   r	   r	   r   r	   r   r   r
   r	   r
   r	   r   r   r   r	   r   r   r   r   r	   r
   r   r   r   r   r   r
   r	   r   r	   r   r
   r	   r	   r	   r	   r	   r	   r	   r   r   r   r   r	   r	   r   r   r	   r	   r	   r
   r	   r   r   r	   r	   r
   r	   r   r   r   r   r   r   r	   r   r	   r	   )Sr   r   r   r	   r   r	   r   r   r   r   r	   r	   r	   r   r	   r	   r	   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r	   r	   r   r   r	   r	   r	   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r	   r   r   r   r	   r   r   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r	   r	   )Sr   r   r   r	   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r   r   r	   r   r   r	   r   r	   r   r   r   r   r   r	   r   r	   r	   r	   r   r   r   r	   r	   r	   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r	   r	   r	   r   r   r   r   r   r   r   r	   )Sr   r
   r   r   r   r
   r   r   r   r   r
   r
   r	   r	   r   r	   r	   r   r
   r   r   r   r   r   r   r	   r   r   r   r	   r
   r
   r   r	   r	   r   r	   r	   r
   r
   r   r
   r
   r   r	   r   r
   r	   r   r   r	   r   r	   r	   r   r	   r	   r   r   r	   r   r   r
   r	   r	   r
   r   r   r   r	   r   r
   r	   r	   r   r   r	   r   r   r   r   r
   r	   )Sr   r
   r   r
   r   r   r   r   r   r   r   r	   r   r	   r	   r	   r	   r	   r
   r   r   r   r   r   r   r
   r	   r	   r
   r   r   r   r   r	   r   r   r	   r	   r   r   r
   r
   r	   r	   r   r	   r   r	   r	   r   r	   r	   r	   r	   r   r   r   r   r   r	   r	   r
   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r	   r   r   r   r	   r
   r   r	   r   r	   r   r   r   r   r   r	   r	   r   r   r   r	   r	   r   r   r   r	   r	   r	   r   r	   r	   r   r   r	   r	   r	   r
   r	   r	   r	   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r	   r	   r   r   r   r	   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r	   r   r   r   r   r   r	   r	   r	   r	   r   r	   r   r	   r	   r	   r	   r	   r	   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r	   r   r   r	   r
   r   r	   r	   r	   r	   r	   r	   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r   r	   r	   r   r   r	   r   r   r   r   r   r   r   r	   )Sr   r	   r   r	   r   r   r   r	   r   r   r	   r	   r	   r   r	   r   r   r   r	   r	   r   r	   r	   r   r	   r   r	   r   r	   r   r   r	   r   r   r	   r	   r   r   r	   r	   r   r	   r   r	   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r   r	   r	   r	   r	   r	   r   r   r   r   r   r	   r	   )Sr   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   )Sr   r   r   r	   r   r	   r   r	   r   r   r	   r	   r	   r   r	   r   r	   r   r	   r   r	   r	   r	   r   r	   r   r   r	   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r	   r   r	   r   r   r   r	   r   r   r   r   r	   r	   r   r   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r   r	   r   r   r	   r	   )Sr   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r	   r	   r	   r   r	   r	   r   r   r   r	   r   r	   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   )Sr   r	   r   r	   r   r   r   r	   r   r	   r	   r	   r   r	   r   r   r   r   r	   r   r	   r	   r	   r   r	   r	   r   r   r	   r   r	   r   r   r   r   r	   r   r   r	   r   r	   r	   r   r	   r   r
   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r	   r   r	   r   r	   r   r	   r   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r	   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r	   r   r
   r   r	   r   r	   r	   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   r	   r	   r   r	   r	   r   r   r   r   r   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   )Sr   r   r   r	   r   r   r   r	   r   r   r   r	   r   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r	   r   r
   r
   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r   r   r	   r	   r   r   r	   r   r   r   r   r   r   )Sr   r   r   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r	   r   r	   r   r	   r   r	   r   r	   r   r   r   r	   r   r	   r   r	   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r	   r	   r	   r   r   r   r   r   r   )Sr   r   r   r	   r   r	   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   )Sr   r   r   r
   r   r
   r   r   r   r	   r   r	   r	   r	   r   r	   r	   r	   r   r	   r   r   r
   r   r
   r
   r
   r   r	   r   r
   r
   r   r   r
   r   r	   r   r
   r   r	   r   r   r	   r	   r   r	   r	   r   r	   r   r   r   r	   r   r	   r   r   r	   r	   r   r
   r	   r   r	   r	   r   r	   r   r	   r   r	   r   r
   r   r
   r	   r   r   r	   r   r	   r   )Sr   r	   r   r	   r   r	   r   r	   r   r	   r	   r   r	   r   r	   r   r	   r   r   r	   r	   r	   r	   r	   r	   r	   r	   r   r	   r   r   r	   r	   r   r	   r   r	   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r
   r	   r   r   r	   r   r	   r   r   r   r   r	   r   r   r	   r	   r   r	   r   r   r   r   )Sr   r	   r   r	   r   r   r   r   r   r   r   r	   r	   r   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r	   r	   r	   r   r	   r	   r	   r   r	   r   r   r	   r	   r   r	   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r	   r	   )Sr   r	   r   r   r   r   r   r	   r   r	   r   r	   r	   r   r	   r	   r	   r   r	   r   r	   r	   r   r	   r	   r	   r   r   r	   r   r
   r	   r	   r   r	   r	   r   r
   r   r	   r	   r   r
   r	   r   r
   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r   r   r   r	   r
   r	   r   r   r   r   r   r	   r   )Sr   r
   r   r   r   r
   r   r   r   r   r   r	   r	   r   r	   r	   r	   r   r   r	   r   r   r
   r	   r   r	   r   r   r   r   r   r	   r   r   r
   r   r   r   r   r   r   r
   r   r   r	   r
   r   r   r   r   r   r   r	   r   r   r	   r   r   r	   r   r   r   r	   r	   r	   r   r   r   r   r	   r   r   r   r   r	   r	   r	   r   r   r   r   r	   r   )Sr   r   r   r   r   r	   r   r   r   r	   r	   r	   r   r   r	   r	   r   r   r	   r	   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r	   r	   r   r	   r   r	   r	   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r	   r   r   r	   r	   r   r	   r   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r	   r   r	   r	   r	   r   r   r	   r   r   r	   r   r   r   r	   r	   r   r   r
   r   r   r   r	   r   r	   r   r	   r   r	   r	   r   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r	   r   r   r   r   r   r   r	   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r	   r	   r   r	   r   r   r   r   r	   r   r   )Sr   r   r   r	   r   r
   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   )Sr   r   r   r
   r   r
   r   r   r   r   r   r	   r	   r   r
   r   r	   r   r	   r	   r	   r   r   r   r   r   r	   r   r   r   r   r   r   r   r
   r	   r   r   r   r   r   r	   r   r   r	   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r	   r
   r   r   r   r   r	   r   r   r   r	   )Sr   r   r   r
   r   r   r   r   r   r   r
   r   r	   r	   r   r	   r	   r	   r   r	   r   r   r
   r	   r   r
   r   r   r   r   r	   r   r	   r   r   r   r   r	   r
   r   r   r
   r
   r   r   r
   r
   r
   r   r	   r	   r   r   r	   r   r	   r	   r   r	   r	   r   r   r	   r   r   r   r   r	   r   r   r   r	   r	   r   r   r
   r   r   r   r	   r   r   r
   )Sr   r   r   r   r   r	   r   r	   r   r	   r   r   r   r	   r	   r   r   r	   r   r	   r   r	   r
   r	   r   r	   r   r   r   r   r   r   r	   r   r	   r   r   r   r
   r
   r	   r   r
   r   r   r
   r   r	   r   r	   r   r   r	   r   r   r	   r   r   r	   r	   r	   r
   r	   r	   r	   r
   r   r   r   r	   r	   r   r	   r	   r	   r   r   r   r	   r   r   r   r	   )Sr   r   r   r
   r   r   r   r	   r   r	   r
   r
   r	   r   r   r	   r   r   r
   r   r   r   r   r   r   r	   r	   r	   r   r	   r
   r
   r   r	   r	   r   r   r   r
   r
   r	   r
   r
   r   r	   r
   r
   r   r   r	   r   r   r	   r	   r   r   r
   r   r   r   r   r   r	   r   r	   r
   r   r   r   r	   r   r
   r   r	   r   r	   r   r   r   r   r   r   r   )Sr   r	   r   r   r   r   r   r   r   r   r
   r
   r	   r	   r	   r	   r	   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r
   r   r	   r	   r	   r	   r   r
   r
   r   r
   r
   r
   r   r	   r
   r
   r
   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r
   r   r	   r   r   r   r	   r   r	   r   r   r
   r   r
   r   r	   r   r   r   r   r
   r   )Sr   r	   r   r   r   r
   r   r	   r   r	   r   r   r	   r   r	   r   r	   r	   r	   r	   r	   r   r   r	   r	   r   r   r   r	   r	   r	   r	   r	   r   r	   r	   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r   r	   r   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   )Sr   r	   r   r	   r   r   r   r	   r   r   r
   r   r	   r	   r	   r   r   r   r   r   r	   r   r   r   r   r   r
   r   r	   r   r   r	   r   r   r   r	   r	   r	   r   r	   r   r
   r	   r   r	   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r
   r   r   r   r   r   r   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r	   r
   r	   r
   r	   r	   r   r   r   r   r	   r   r	   r   r   r   r   r	   r   r   r   r	   r	   r	   r   r   r   r	   r   r   r	   r   r	   r   r   r   r   r	   r	   r	   r   r   r	   r	   r
   r   r   r   r	   r   r   r	   r	   r	   r   r   r   r	   r   r   r	   r	   )Sr   r   r   r	   r   r	   r   r	   r   r	   r
   r
   r	   r	   r	   r	   r   r	   r   r	   r	   r	   r   r   r   r	   r	   r	   r	   r   r	   r
   r	   r	   r   r	   r   r   r
   r
   r
   r
   r   r	   r   r
   r
   r	   r   r   r	   r	   r	   r	   r   r	   r	   r   r   r	   r   r   r	   r	   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r   c                       \ rS rSrSrSrSrSrSrSS	 jr	SS
 jr
S\\\4   S\SS4S jrS\4S jrS\4S jrS\\\4   S\\\4   4S jrSrg)JapaneseContextAnalysisx      d   i  r   returnNc                 j    SU l         / U l        SU l        SU l        SU l        U R                  5         g Nr   r   F)
_total_rel_rel_sample_need_to_skip_char_num_last_char_order_doneresetselfs    @/var/www/html/env/lib/python3.13/site-packages/chardet/jpcntx.py__init__ JapaneseContextAnalysis.__init__   s1    &(&'# "


    c                 f    SU l         S/U R                  -  U l        SU l        SU l        SU l        g r   )r   NUM_OF_CATEGORYr   r   r   r   r   s    r   r   JapaneseContextAnalysis.reset   s9    3!5!55 '(# " 
r    byte_str	num_bytesc                    U R                   (       a  g U R                  nX2:  a  U R                  XUS-    5      u  pEX5-  nX2:  a  X2-
  U l        SU l        O~US:w  ar  U R                  S:w  ab  U =R                  S-  sl        U R                  U R
                  :  a  SU l         g U R                  [        U R                     U   ==   S-  ss'   X@l        X2:  a  M  g g )Nr   r   r   T)r   r   	get_orderr   r   MAX_REL_THRESHOLDr   jp2_char_context)r   r$   r%   iorderchar_lens         r   feedJapaneseContextAnalysis.feed   s    :: ''m"nnX!a%-@AOEMA}./m+(*%RKd&;&;r&AOOq(O)?)??%)
$$()>)>?F  ).% mr    c                 4    U R                   U R                  :  $ N)r   ENOUGH_REL_THRESHOLDr   s    r   got_enough_data'JapaneseContextAnalysis.got_enough_data   s    !:!:::r    c                     U R                   U R                  :  a)  U R                   U R                  S   -
  U R                   -  $ U R                  $ )Nr   )r   MINIMUM_DATA_THRESHOLDr   	DONT_KNOWr   s    r   get_confidence&JapaneseContextAnalysis.get_confidence   sA    ??T888OOd&6&6q&99T__LL~~r    _c                     g)Nr   r    )r   r9   s     r   r'   !JapaneseContextAnalysis.get_order   s    r    )r   r   r   r   r   r   N)__name__
__module____qualname____firstlineno__r"   r6   r1   r(   r5   r   r   r   bytes	bytearrayintr-   boolr2   floatr7   r   r'   __static_attributes__r<   r    r   r   r   x   s    OI
.U5)#34 . . .:; ; 5	!12 uS#X r    r   c                   j   ^  \ rS rSrSU 4S jjr\S\4S j5       rS\\	\
4   S\\\4   4S jrSrU =r$ )	SJISContextAnalysis   r   c                 0   > [         TU ]  5         SU l        g )N	SHIFT_JIS)superr   _charset_name)r   	__class__s    r   r   SJISContextAnalysis.__init__   s    (r    c                     U R                   $ r0   rO   r   s    r   charset_name SJISContextAnalysis.charset_name   s    !!!r    r$   c                    U(       d  gUS   nSUs=::  a  S::  d  O  SUs=::  a  S::  a#  O  O SnUS:X  d  S	Us=::  a  S::  a
  O  O
S
U l         OSn[        U5      S:  a%  US   nUS:X  a  SUs=::  a  S::  a  O  SU4$ US-
  U4$ SU4$ )Nr;   r               r         CP932r         r   )rO   lenr   r$   
first_charr,   second_chars        r   r'   SJISContextAnalysis.get_order   s    a[
J&$&DJ,F$,FHd"
(Bd(B%,"H x=1"1+Kc!(Ct(C 8| #T)8338|r    rS   r>   )r?   r@   rA   rB   r   propertystrrT   r   rC   rD   r   rE   r'   rH   __classcell__)rP   s   @r   rJ   rJ      sM    ) "c " "%y(8"9 eCHo  r    rJ   c                   :    \ rS rSrS\\\4   S\\\4   4S jr	Sr
g)EUCJPContextAnalysis   r$   r   c                     U(       d  gUS   nUS:X  d  SUs=::  a  S::  a  O  OSnOUS:X  a  SnOS	n[        U5      S	:  a%  US	   nUS
:X  a  SUs=::  a  S::  a  O  SU4$ US-
  U4$ SU4$ )Nr;   r            r      r	   r         r   )r`   ra   s        r   r'   EUCJPContextAnalysis.get_order   s    a[
$DJ$>$$>H4HH x=1"1+Kd")D)D 8| #T)8338|r    r<   N)r?   r@   rA   rB   r   rC   rD   r   rE   r'   rH   r<   r    r   ri   ri      s'    %y(8"9 eCHo r    ri   N)typingr   r   r   r)   r   rJ   ri   r<   r    r   <module>rt      s>   8 & %T pB BJ1 <2 r    