
    jket                         d dl  d Zy)   )*c           
         |'t        t        t        | j                                    }| j                  |   }|j                  ||      }| j                  }|D cg c]  }|j                  |    }	}d}
d}dx}}|d   }|D cg c]  }t        |d   |d          }}t        t        |      d       \  }}|d   }|||z  k  r$||z  }||   d   }
||   d   }t        |j                  |         }d}|s|
|k  s	|
||z
  k\  rg }||   |	|   fD ]  }|d   }|d   }|d   dz  }|d	   dz  }|d
   t        |d         z  }||z  }||z  }||z  |z  }||z
  dz  dz  ||z  z   dz  }||z   dz  |z   } ||z   dz  |z
  }!|dk7  rt        | |z
  |      n||k  r	t        dz  nd}"t               }#|#j                  |"      }#|#j                  t        |       t        |!            }#|j!                  |#        |d   }#|d   D $cg c]/  }$t#        |#j%                  |$j&                  |$j(                  f       1 c}$f|dd  z   }%|d   }#g }&|D ]X  }|d   D $cg c]/  }$t#        |#j%                  |$j&                  |$j(                  f       1 c}$f|dd  z   }'|&j!                  |'       Z |&D 'cg c]  }'t        |%d   |'d          }}'t        t        |      d       \  }}|d   }|||z  k  r	 |
|||fS c c}w c c}w c c}$w c c}$w c c}'w )N    Fr   c                     | d   S Nr    xs    R/usr/lib/python3/dist-packages/fontTools/varLib/interpolatableTestStartingPoint.py<lambda>z%test_starting_point.<locals>.<lambda>   s
    1     )key      g      ?      c                     | d   S r   r   r	   s    r   r   z%test_starting_point.<locals>.<lambda>`   s
    1 r   )listrangelenisomorphismsgreenVectorsvdiff_hypot2_complexmin	enumeratepointsabsatan2pi	TransformrotatescalesqrtappendcomplextransformPointrealimag)(glyph0glyph1ix	tolerancematchingcontour0contour1	m0Vectorsi	m1Vectorsproposed_pointreversemin_cost
first_costc0c1costsmin_cost_idxthis_tolerance
num_pointsleeway
transformsvectormeanXmeanYstddevXstddevYcorrelationacbdeltalambda1lambda2thetatransptnew_c0new_contour1new_c1s(                                           r   test_starting_pointrQ      s   c&"5"5678""2&H""8B<0H##I19:A$$Q':I:NGHz	!B:BCB!"Q%A/CEC 5!1~FL(qJ*y((!J." ",/2<(+r*+
f$*v:M(M J$R=)B-8 )q	q	 )c/ )c/$Qi#fQi.8 g%g%')G3q5C-A-A5#=q5C-%/q5C-%/12agk1-!a%b3hUV!
 U+DM4=A!!%(/)2 qMENPQReT%../ABCT12F qMEL , #%Q%  !5!5rww6H!IJ
 qrF ##F+, JV?E$VAYq	:E  &)5)9~%N"L(qJ*y00
 7Hj88 ; Dz Us   K1K64K;4L (LN)interpolatableHelpersrQ   r   r   r   <module>rS      s    $e9r   