L i(ddlmZddlmZddlmZddlmZddl Z dZ dZ d dZ e jfd Zd d Zed k(rddl Z e j"eyy))VariationModel)VarStoreInstancer) fixedToFloat)productNc|dk\r)|j||j|jz zzS|j||j|jz zzS)Nr) defaultValuemaxValueminValue)vaxiss c/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/varLib/avar/unbuild.py _denormalizersSAv  1 8I8I(I#JJJ  1(9(9DMM(I#JJJc t||}|j}|j}|Dcic]}t|j d}}|D]B}|j |} || } || } t | j} | j D]\} \} }}| |fD]}|dvr|jD];}t|}t |j}|| k7r-| |vr2|| |k(s;Ut| dz ddD]z}||}t |j}|| k7r'| |vr,|j Dcic] \}\}}}||}}}}|| |k(s^d|t|j <JdE|jDcgc] }t|c}Scc}wcc}}}wcc}w)Nrrrz No pin found) rmappingsupportstupleitemsindexsetkeysdictrange) locationspolesaxisTagsmodel modelMapping modelSupportskpinslocationisupport supportAxesaxisTagminV_maxVr pin pinLocationpinAxes candidateIdx candidate candidateAxesdefaultVts r _pruneLocationsr5s" 9h /E==LNNM,1 2qE!'') d " 2D 2&5 OOH % O"',,.) (/ ! 5 $G_dAtD\ 5 ?99;5C"&s)K!+"2"2"45G+- g- "7+q05).a!eR(<5 $1,$? (+INN,<(= (K7$"-7$CL??CT%%,?A/?8QAxK% %%W-2=ADy'8!9:!55n4uA 5! 5 &5N"YY[ )DG ))Q 3@% *s!F; G&Gc &'|dj}|Dcic]}|j|c}'|Dcgc]}|j}}t|Dcic]\}}|j|c}}&d|vriifS|d}|jj Dcic]\}}|r |ddddk7r||} }}g} t |dddk(r|j j} | jj} d di} td h}| jD]}|j}|D] }g}g}| |}t|jD]\}}|jdk(r||}|j||jfg}|j dk7r|j||j f|j"dk7r|j||j"f|j|tt%|}t'|}d| |<|j)||j+| !t-|&fd  Dcgc] }t/|}}| j1Dcgc] }t/|} }t3|t5| |}|j j6}t9| |}|D]u}|j;|i}t|D]?\}}|}|||}||}|dk7s|j=|d} | t?|d z} | ||<A| j||fw| ddik(sJ| ddik(r| jAd|r| j D]P\}'vrtCd 'fd}!|j D" cic]\}"} |!|"|!| c} }"| <Rt| D]o\}\}#}$|#j D%cic]\}}%|tE|%'|}#}}%|$j D%cic]\}}%|tE|%'|}$}}%|#|$f| |<q| | fScc}wcc}wcc}}wcc}}wcc}wcc}wcc} }"wcc}%}wcc}%}w)Nfvaravarrrrr majorVersioncBt|tfd|DfS)Nc3.K|] \}}|ywNr;).0tagr+ axisIndexess r z7mappings_from_avar....s,N&#q[-=,Ns)lenr)r4rAs r z$mappings_from_avar..ss1vu,NA,N'NOr)keyzUnknown axis tag c"t|Sr>)r)r axisMapr@s r rDz$mappings_from_avar..s|Aws|<r)#axesr) enumeratesegmentsrgetattrtableVarStore VarRegionListRegionrVarDataVarRegionIndex VarRegionAxis PeakCoordappend StartCoordEndCoordrraddupdatesortedrrr5list VarIdxMapr setLocationgetfi2flpop ValueErrorr)(font denormalizefvarAxesarr&r8r@segaxisMapsmappingsvarStoreregionsrinputLocationsvarData regionIndices regionIndex peakLocationcornersregion axisIndexr r)cornerr4 varIdxMap instancerr%outputLocationvarIdxdeltar denormr#inputLoc outputLocvalrArHs( ` @@r mappings_from_avarr}NsF|  H%-.qyy!|.G#+,a ,H,,5h,?@DAq199a<@K T2v ?NN6* +gw/0$\2 &*l#""<0%%g.' / /4O  G  #(**,/Qa//(ehOJJ(( %h9 & 8H  ! !( +N&/&9 0" 7"(&v.F!&)A: Wa0AE%,,A/0N7+ 0 OOX~6 7 8"{1~### A;q>R  LLO ( KHC'! #4SE!:;;AiikJdaVAYq 1JHSM  K )2((; 0 $A$)EM^^EU9Ac\#ws|44HFO__EV9Ac\#ws|44I$Y/HQK 0 X E/,@T 0@Ks4P?QQ QQ*QQ%Q%Q+cH|d}|j}t|\}}d|vr9|d}|Dcic](}|j|j|j*}}n$|D cic]} | j| j}} t d|t d|t d||D]-}||j} |j |j|jf} | D cgc]} | t| k(r t| n| } } |j|j} | dnd}t d |jd | d | d d | dd| dd| || t| jD]Q}| |} |t|k(r t|n|}| t| k(r t| n| } t d|d| d|St d|0|rt d||D]\}}t d|t d|t|jD]9}||} | t| k(r t| n| } t d||d| d|;t d|t d|t|jD]9}||} | t| k(r t| n| } t d||d| d|;t d|t d|t d|t d |t d!|ycc}wcc} wcc} w)"Nr7namez&filezz z/>>z z z z z z QG  H -a ())* Q'#+ . Hi #! , #! ,hmmo. SM3q6kCFq1)C.1AA3cR  $1 - $1 -inn./ cN3q6kCFq1)C.1AA3cR  %A . $1 -) .* a( +A #kX8Bs-L!L$"Lc,|tjdd}ddlm}ddl}|j dd}|j ddd |j|}||j}d |vrtd tj yt|y)z,Print `avar` table as a designspace snippet.Nrr)TTFontzfonttools varLib.avar.unbuild) descriptionrbz varfont.ttfzVariable-font file.)metavarhelpr7zNot a variable font.r) sysargvfontTools.ttLibrargparseArgumentParser add_argument parse_argsrbrstderrr)argsrrparseroptionsrbs r mainrs |xx|&  $ $'B%F  )fontTools.varLib.modelsrfontTools.varLib.varStorerfontTools.misc.fixedToolsrr_ itertoolsrrrr5r}stdoutrr__name__exitr;rr rs]27; K<*~dNJJ<$~0 z CHHTVr