form.js 620 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150
  1. (function() {
  2. var _p = {
  3. r: function(index) {
  4. if (_p[index].inited) {
  5. return _p[index].value;
  6. }
  7. if (typeof _p[index].value === "function") {
  8. var module = {
  9. exports: {}
  10. }, returnValue = _p[index].value(null, module.exports, module);
  11. _p[index].inited = true;
  12. _p[index].value = returnValue;
  13. if (returnValue !== undefined) {
  14. return returnValue;
  15. } else {
  16. for (var key in module.exports) {
  17. if (module.exports.hasOwnProperty(key)) {
  18. _p[index].inited = true;
  19. _p[index].value = module.exports;
  20. return module.exports;
  21. }
  22. }
  23. }
  24. } else {
  25. _p[index].inited = true;
  26. return _p[index].value;
  27. }
  28. }
  29. };
  30. /*!
  31. * canvg库封装
  32. * canvg官网: https://code.google.com/p/canvg/
  33. */
  34. _p[0] = {
  35. value: function(require) {
  36. /**
  37. * A class to parse color values
  38. * @author Stoyan Stefanov <sstoo@gmail.com>
  39. * @link http://www.phpied.com/rgb-color-parser-in-javascript/
  40. * @license Use it if you like it
  41. */
  42. function RGBColor(color_string) {
  43. this.ok = false;
  44. // strip any leading #
  45. if (color_string.charAt(0) == "#") {
  46. // remove # if any
  47. color_string = color_string.substr(1, 6);
  48. }
  49. color_string = color_string.replace(/ /g, "");
  50. color_string = color_string.toLowerCase();
  51. // before getting into regexps, try simple matches
  52. // and overwrite the input
  53. var simple_colors = {
  54. aliceblue: "f0f8ff",
  55. antiquewhite: "faebd7",
  56. aqua: "00ffff",
  57. aquamarine: "7fffd4",
  58. azure: "f0ffff",
  59. beige: "f5f5dc",
  60. bisque: "ffe4c4",
  61. black: "000000",
  62. blanchedalmond: "ffebcd",
  63. blue: "0000ff",
  64. blueviolet: "8a2be2",
  65. brown: "a52a2a",
  66. burlywood: "deb887",
  67. cadetblue: "5f9ea0",
  68. chartreuse: "7fff00",
  69. chocolate: "d2691e",
  70. coral: "ff7f50",
  71. cornflowerblue: "6495ed",
  72. cornsilk: "fff8dc",
  73. crimson: "dc143c",
  74. cyan: "00ffff",
  75. darkblue: "00008b",
  76. darkcyan: "008b8b",
  77. darkgoldenrod: "b8860b",
  78. darkgray: "a9a9a9",
  79. darkgreen: "006400",
  80. darkkhaki: "bdb76b",
  81. darkmagenta: "8b008b",
  82. darkolivegreen: "556b2f",
  83. darkorange: "ff8c00",
  84. darkorchid: "9932cc",
  85. darkred: "8b0000",
  86. darksalmon: "e9967a",
  87. darkseagreen: "8fbc8f",
  88. darkslateblue: "483d8b",
  89. darkslategray: "2f4f4f",
  90. darkturquoise: "00ced1",
  91. darkviolet: "9400d3",
  92. deeppink: "ff1493",
  93. deepskyblue: "00bfff",
  94. dimgray: "696969",
  95. dodgerblue: "1e90ff",
  96. feldspar: "d19275",
  97. firebrick: "b22222",
  98. floralwhite: "fffaf0",
  99. forestgreen: "228b22",
  100. fuchsia: "ff00ff",
  101. gainsboro: "dcdcdc",
  102. ghostwhite: "f8f8ff",
  103. gold: "ffd700",
  104. goldenrod: "daa520",
  105. gray: "808080",
  106. green: "008000",
  107. greenyellow: "adff2f",
  108. honeydew: "f0fff0",
  109. hotpink: "ff69b4",
  110. indianred: "cd5c5c",
  111. indigo: "4b0082",
  112. ivory: "fffff0",
  113. khaki: "f0e68c",
  114. lavender: "e6e6fa",
  115. lavenderblush: "fff0f5",
  116. lawngreen: "7cfc00",
  117. lemonchiffon: "fffacd",
  118. lightblue: "add8e6",
  119. lightcoral: "f08080",
  120. lightcyan: "e0ffff",
  121. lightgoldenrodyellow: "fafad2",
  122. lightgrey: "d3d3d3",
  123. lightgreen: "90ee90",
  124. lightpink: "ffb6c1",
  125. lightsalmon: "ffa07a",
  126. lightseagreen: "20b2aa",
  127. lightskyblue: "87cefa",
  128. lightslateblue: "8470ff",
  129. lightslategray: "778899",
  130. lightsteelblue: "b0c4de",
  131. lightyellow: "ffffe0",
  132. lime: "00ff00",
  133. limegreen: "32cd32",
  134. linen: "faf0e6",
  135. magenta: "ff00ff",
  136. maroon: "800000",
  137. mediumaquamarine: "66cdaa",
  138. mediumblue: "0000cd",
  139. mediumorchid: "ba55d3",
  140. mediumpurple: "9370d8",
  141. mediumseagreen: "3cb371",
  142. mediumslateblue: "7b68ee",
  143. mediumspringgreen: "00fa9a",
  144. mediumturquoise: "48d1cc",
  145. mediumvioletred: "c71585",
  146. midnightblue: "191970",
  147. mintcream: "f5fffa",
  148. mistyrose: "ffe4e1",
  149. moccasin: "ffe4b5",
  150. navajowhite: "ffdead",
  151. navy: "000080",
  152. oldlace: "fdf5e6",
  153. olive: "808000",
  154. olivedrab: "6b8e23",
  155. orange: "ffa500",
  156. orangered: "ff4500",
  157. orchid: "da70d6",
  158. palegoldenrod: "eee8aa",
  159. palegreen: "98fb98",
  160. paleturquoise: "afeeee",
  161. palevioletred: "d87093",
  162. papayawhip: "ffefd5",
  163. peachpuff: "ffdab9",
  164. peru: "cd853f",
  165. pink: "ffc0cb",
  166. plum: "dda0dd",
  167. powderblue: "b0e0e6",
  168. purple: "800080",
  169. red: "ff0000",
  170. rosybrown: "bc8f8f",
  171. royalblue: "4169e1",
  172. saddlebrown: "8b4513",
  173. salmon: "fa8072",
  174. sandybrown: "f4a460",
  175. seagreen: "2e8b57",
  176. seashell: "fff5ee",
  177. sienna: "a0522d",
  178. silver: "c0c0c0",
  179. skyblue: "87ceeb",
  180. slateblue: "6a5acd",
  181. slategray: "708090",
  182. snow: "fffafa",
  183. springgreen: "00ff7f",
  184. steelblue: "4682b4",
  185. tan: "d2b48c",
  186. teal: "008080",
  187. thistle: "d8bfd8",
  188. tomato: "ff6347",
  189. turquoise: "40e0d0",
  190. violet: "ee82ee",
  191. violetred: "d02090",
  192. wheat: "f5deb3",
  193. white: "ffffff",
  194. whitesmoke: "f5f5f5",
  195. yellow: "ffff00",
  196. yellowgreen: "9acd32"
  197. };
  198. for (var key in simple_colors) {
  199. if (color_string == key) {
  200. color_string = simple_colors[key];
  201. }
  202. }
  203. // emd of simple type-in colors
  204. // array of color definition objects
  205. var color_defs = [ {
  206. re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
  207. example: [ "rgb(123, 234, 45)", "rgb(255,234,245)" ],
  208. process: function(bits) {
  209. return [ parseInt(bits[1]), parseInt(bits[2]), parseInt(bits[3]) ];
  210. }
  211. }, {
  212. re: /^(\w{2})(\w{2})(\w{2})$/,
  213. example: [ "#00ff00", "336699" ],
  214. process: function(bits) {
  215. return [ parseInt(bits[1], 16), parseInt(bits[2], 16), parseInt(bits[3], 16) ];
  216. }
  217. }, {
  218. re: /^(\w{1})(\w{1})(\w{1})$/,
  219. example: [ "#fb0", "f0f" ],
  220. process: function(bits) {
  221. return [ parseInt(bits[1] + bits[1], 16), parseInt(bits[2] + bits[2], 16), parseInt(bits[3] + bits[3], 16) ];
  222. }
  223. } ];
  224. // search through the definitions to find a match
  225. for (var i = 0; i < color_defs.length; i++) {
  226. var re = color_defs[i].re;
  227. var processor = color_defs[i].process;
  228. var bits = re.exec(color_string);
  229. if (bits) {
  230. channels = processor(bits);
  231. this.r = channels[0];
  232. this.g = channels[1];
  233. this.b = channels[2];
  234. this.ok = true;
  235. }
  236. }
  237. // validate/cleanup values
  238. this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r;
  239. this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g;
  240. this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b;
  241. // some getters
  242. this.toRGB = function() {
  243. return "rgb(" + this.r + ", " + this.g + ", " + this.b + ")";
  244. };
  245. this.toHex = function() {
  246. var r = this.r.toString(16);
  247. var g = this.g.toString(16);
  248. var b = this.b.toString(16);
  249. if (r.length == 1) r = "0" + r;
  250. if (g.length == 1) g = "0" + g;
  251. if (b.length == 1) b = "0" + b;
  252. return "#" + r + g + b;
  253. };
  254. // help
  255. this.getHelpXML = function() {
  256. var examples = new Array();
  257. // add regexps
  258. for (var i = 0; i < color_defs.length; i++) {
  259. var example = color_defs[i].example;
  260. for (var j = 0; j < example.length; j++) {
  261. examples[examples.length] = example[j];
  262. }
  263. }
  264. // add type-in colors
  265. for (var sc in simple_colors) {
  266. examples[examples.length] = sc;
  267. }
  268. var xml = document.createElement("ul");
  269. xml.setAttribute("id", "rgbcolor-examples");
  270. for (var i = 0; i < examples.length; i++) {
  271. try {
  272. var list_item = document.createElement("li");
  273. var list_color = new RGBColor(examples[i]);
  274. var example_div = document.createElement("div");
  275. example_div.style.cssText = "margin: 3px; " + "border: 1px solid black; " + "background:" + list_color.toHex() + "; " + "color:" + list_color.toHex();
  276. example_div.appendChild(document.createTextNode("test"));
  277. var list_item_value = document.createTextNode(" " + examples[i] + " -> " + list_color.toRGB() + " -> " + list_color.toHex());
  278. list_item.appendChild(example_div);
  279. list_item.appendChild(list_item_value);
  280. xml.appendChild(list_item);
  281. } catch (e) {}
  282. }
  283. return xml;
  284. };
  285. }
  286. /*
  287. StackBlur - a fast almost Gaussian Blur For Canvas
  288. Version: 0.5
  289. Author: Mario Klingemann
  290. Contact: mario@quasimondo.com
  291. Website: http://www.quasimondo.com/StackBlurForCanvas
  292. Twitter: @quasimondo
  293. In case you find this class useful - especially in commercial projects -
  294. I am not totally unhappy for a small donation to my PayPal account
  295. mario@quasimondo.de
  296. Or support me on flattr:
  297. https://flattr.com/thing/72791/StackBlur-a-fast-almost-Gaussian-Blur-Effect-for-CanvasJavascript
  298. Copyright (c) 2010 Mario Klingemann
  299. Permission is hereby granted, free of charge, to any person
  300. obtaining a copy of this software and associated documentation
  301. files (the "Software"), to deal in the Software without
  302. restriction, including without limitation the rights to use,
  303. copy, modify, merge, publish, distribute, sublicense, and/or sell
  304. copies of the Software, and to permit persons to whom the
  305. Software is furnished to do so, subject to the following
  306. conditions:
  307. The above copyright notice and this permission notice shall be
  308. included in all copies or substantial portions of the Software.
  309. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  310. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  311. OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  312. NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  313. HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  314. WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  315. FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  316. OTHER DEALINGS IN THE SOFTWARE.
  317. */
  318. var mul_table = [ 512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259 ];
  319. var shg_table = [ 9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 ];
  320. function stackBlurImage(imageID, canvasID, radius, blurAlphaChannel) {
  321. var img = document.getElementById(imageID);
  322. var w = img.naturalWidth;
  323. var h = img.naturalHeight;
  324. var canvas = document.getElementById(canvasID);
  325. canvas.style.width = w + "px";
  326. canvas.style.height = h + "px";
  327. canvas.width = w;
  328. canvas.height = h;
  329. var context = canvas.getContext("2d");
  330. context.clearRect(0, 0, w, h);
  331. context.drawImage(img, 0, 0);
  332. if (isNaN(radius) || radius < 1) return;
  333. if (blurAlphaChannel) stackBlurCanvasRGBA(canvasID, 0, 0, w, h, radius); else stackBlurCanvasRGB(canvasID, 0, 0, w, h, radius);
  334. }
  335. function stackBlurCanvasRGBA(id, top_x, top_y, width, height, radius) {
  336. if (isNaN(radius) || radius < 1) return;
  337. radius |= 0;
  338. var canvas = document.getElementById(id);
  339. var context = canvas.getContext("2d");
  340. var imageData;
  341. try {
  342. try {
  343. imageData = context.getImageData(top_x, top_y, width, height);
  344. } catch (e) {
  345. // NOTE: this part is supposedly only needed if you want to work with local files
  346. // so it might be okay to remove the whole try/catch block and just use
  347. // imageData = context.getImageData( top_x, top_y, width, height );
  348. try {
  349. netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
  350. imageData = context.getImageData(top_x, top_y, width, height);
  351. } catch (e) {
  352. alert("Cannot access local image");
  353. throw new Error("unable to access local image data: " + e);
  354. return;
  355. }
  356. }
  357. } catch (e) {
  358. alert("Cannot access image");
  359. throw new Error("unable to access image data: " + e);
  360. }
  361. var pixels = imageData.data;
  362. var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum, r_out_sum, g_out_sum, b_out_sum, a_out_sum, r_in_sum, g_in_sum, b_in_sum, a_in_sum, pr, pg, pb, pa, rbs;
  363. var div = radius + radius + 1;
  364. var w4 = width << 2;
  365. var widthMinus1 = width - 1;
  366. var heightMinus1 = height - 1;
  367. var radiusPlus1 = radius + 1;
  368. var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
  369. var stackStart = new BlurStack();
  370. var stack = stackStart;
  371. for (i = 1; i < div; i++) {
  372. stack = stack.next = new BlurStack();
  373. if (i == radiusPlus1) var stackEnd = stack;
  374. }
  375. stack.next = stackStart;
  376. var stackIn = null;
  377. var stackOut = null;
  378. yw = yi = 0;
  379. var mul_sum = mul_table[radius];
  380. var shg_sum = shg_table[radius];
  381. for (y = 0; y < height; y++) {
  382. r_in_sum = g_in_sum = b_in_sum = a_in_sum = r_sum = g_sum = b_sum = a_sum = 0;
  383. r_out_sum = radiusPlus1 * (pr = pixels[yi]);
  384. g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);
  385. b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);
  386. a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);
  387. r_sum += sumFactor * pr;
  388. g_sum += sumFactor * pg;
  389. b_sum += sumFactor * pb;
  390. a_sum += sumFactor * pa;
  391. stack = stackStart;
  392. for (i = 0; i < radiusPlus1; i++) {
  393. stack.r = pr;
  394. stack.g = pg;
  395. stack.b = pb;
  396. stack.a = pa;
  397. stack = stack.next;
  398. }
  399. for (i = 1; i < radiusPlus1; i++) {
  400. p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);
  401. r_sum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - i);
  402. g_sum += (stack.g = pg = pixels[p + 1]) * rbs;
  403. b_sum += (stack.b = pb = pixels[p + 2]) * rbs;
  404. a_sum += (stack.a = pa = pixels[p + 3]) * rbs;
  405. r_in_sum += pr;
  406. g_in_sum += pg;
  407. b_in_sum += pb;
  408. a_in_sum += pa;
  409. stack = stack.next;
  410. }
  411. stackIn = stackStart;
  412. stackOut = stackEnd;
  413. for (x = 0; x < width; x++) {
  414. pixels[yi + 3] = pa = a_sum * mul_sum >> shg_sum;
  415. if (pa != 0) {
  416. pa = 255 / pa;
  417. pixels[yi] = (r_sum * mul_sum >> shg_sum) * pa;
  418. pixels[yi + 1] = (g_sum * mul_sum >> shg_sum) * pa;
  419. pixels[yi + 2] = (b_sum * mul_sum >> shg_sum) * pa;
  420. } else {
  421. pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;
  422. }
  423. r_sum -= r_out_sum;
  424. g_sum -= g_out_sum;
  425. b_sum -= b_out_sum;
  426. a_sum -= a_out_sum;
  427. r_out_sum -= stackIn.r;
  428. g_out_sum -= stackIn.g;
  429. b_out_sum -= stackIn.b;
  430. a_out_sum -= stackIn.a;
  431. p = yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1) << 2;
  432. r_in_sum += stackIn.r = pixels[p];
  433. g_in_sum += stackIn.g = pixels[p + 1];
  434. b_in_sum += stackIn.b = pixels[p + 2];
  435. a_in_sum += stackIn.a = pixels[p + 3];
  436. r_sum += r_in_sum;
  437. g_sum += g_in_sum;
  438. b_sum += b_in_sum;
  439. a_sum += a_in_sum;
  440. stackIn = stackIn.next;
  441. r_out_sum += pr = stackOut.r;
  442. g_out_sum += pg = stackOut.g;
  443. b_out_sum += pb = stackOut.b;
  444. a_out_sum += pa = stackOut.a;
  445. r_in_sum -= pr;
  446. g_in_sum -= pg;
  447. b_in_sum -= pb;
  448. a_in_sum -= pa;
  449. stackOut = stackOut.next;
  450. yi += 4;
  451. }
  452. yw += width;
  453. }
  454. for (x = 0; x < width; x++) {
  455. g_in_sum = b_in_sum = a_in_sum = r_in_sum = g_sum = b_sum = a_sum = r_sum = 0;
  456. yi = x << 2;
  457. r_out_sum = radiusPlus1 * (pr = pixels[yi]);
  458. g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);
  459. b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);
  460. a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);
  461. r_sum += sumFactor * pr;
  462. g_sum += sumFactor * pg;
  463. b_sum += sumFactor * pb;
  464. a_sum += sumFactor * pa;
  465. stack = stackStart;
  466. for (i = 0; i < radiusPlus1; i++) {
  467. stack.r = pr;
  468. stack.g = pg;
  469. stack.b = pb;
  470. stack.a = pa;
  471. stack = stack.next;
  472. }
  473. yp = width;
  474. for (i = 1; i <= radius; i++) {
  475. yi = yp + x << 2;
  476. r_sum += (stack.r = pr = pixels[yi]) * (rbs = radiusPlus1 - i);
  477. g_sum += (stack.g = pg = pixels[yi + 1]) * rbs;
  478. b_sum += (stack.b = pb = pixels[yi + 2]) * rbs;
  479. a_sum += (stack.a = pa = pixels[yi + 3]) * rbs;
  480. r_in_sum += pr;
  481. g_in_sum += pg;
  482. b_in_sum += pb;
  483. a_in_sum += pa;
  484. stack = stack.next;
  485. if (i < heightMinus1) {
  486. yp += width;
  487. }
  488. }
  489. yi = x;
  490. stackIn = stackStart;
  491. stackOut = stackEnd;
  492. for (y = 0; y < height; y++) {
  493. p = yi << 2;
  494. pixels[p + 3] = pa = a_sum * mul_sum >> shg_sum;
  495. if (pa > 0) {
  496. pa = 255 / pa;
  497. pixels[p] = (r_sum * mul_sum >> shg_sum) * pa;
  498. pixels[p + 1] = (g_sum * mul_sum >> shg_sum) * pa;
  499. pixels[p + 2] = (b_sum * mul_sum >> shg_sum) * pa;
  500. } else {
  501. pixels[p] = pixels[p + 1] = pixels[p + 2] = 0;
  502. }
  503. r_sum -= r_out_sum;
  504. g_sum -= g_out_sum;
  505. b_sum -= b_out_sum;
  506. a_sum -= a_out_sum;
  507. r_out_sum -= stackIn.r;
  508. g_out_sum -= stackIn.g;
  509. b_out_sum -= stackIn.b;
  510. a_out_sum -= stackIn.a;
  511. p = x + ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width << 2;
  512. r_sum += r_in_sum += stackIn.r = pixels[p];
  513. g_sum += g_in_sum += stackIn.g = pixels[p + 1];
  514. b_sum += b_in_sum += stackIn.b = pixels[p + 2];
  515. a_sum += a_in_sum += stackIn.a = pixels[p + 3];
  516. stackIn = stackIn.next;
  517. r_out_sum += pr = stackOut.r;
  518. g_out_sum += pg = stackOut.g;
  519. b_out_sum += pb = stackOut.b;
  520. a_out_sum += pa = stackOut.a;
  521. r_in_sum -= pr;
  522. g_in_sum -= pg;
  523. b_in_sum -= pb;
  524. a_in_sum -= pa;
  525. stackOut = stackOut.next;
  526. yi += width;
  527. }
  528. }
  529. context.putImageData(imageData, top_x, top_y);
  530. }
  531. function stackBlurCanvasRGB(id, top_x, top_y, width, height, radius) {
  532. if (isNaN(radius) || radius < 1) return;
  533. radius |= 0;
  534. var canvas = document.getElementById(id);
  535. var context = canvas.getContext("2d");
  536. var imageData;
  537. try {
  538. try {
  539. imageData = context.getImageData(top_x, top_y, width, height);
  540. } catch (e) {
  541. // NOTE: this part is supposedly only needed if you want to work with local files
  542. // so it might be okay to remove the whole try/catch block and just use
  543. // imageData = context.getImageData( top_x, top_y, width, height );
  544. try {
  545. netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
  546. imageData = context.getImageData(top_x, top_y, width, height);
  547. } catch (e) {
  548. alert("Cannot access local image");
  549. throw new Error("unable to access local image data: " + e);
  550. return;
  551. }
  552. }
  553. } catch (e) {
  554. alert("Cannot access image");
  555. throw new Error("unable to access image data: " + e);
  556. }
  557. var pixels = imageData.data;
  558. var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, r_out_sum, g_out_sum, b_out_sum, r_in_sum, g_in_sum, b_in_sum, pr, pg, pb, rbs;
  559. var div = radius + radius + 1;
  560. var w4 = width << 2;
  561. var widthMinus1 = width - 1;
  562. var heightMinus1 = height - 1;
  563. var radiusPlus1 = radius + 1;
  564. var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
  565. var stackStart = new BlurStack();
  566. var stack = stackStart;
  567. for (i = 1; i < div; i++) {
  568. stack = stack.next = new BlurStack();
  569. if (i == radiusPlus1) var stackEnd = stack;
  570. }
  571. stack.next = stackStart;
  572. var stackIn = null;
  573. var stackOut = null;
  574. yw = yi = 0;
  575. var mul_sum = mul_table[radius];
  576. var shg_sum = shg_table[radius];
  577. for (y = 0; y < height; y++) {
  578. r_in_sum = g_in_sum = b_in_sum = r_sum = g_sum = b_sum = 0;
  579. r_out_sum = radiusPlus1 * (pr = pixels[yi]);
  580. g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);
  581. b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);
  582. r_sum += sumFactor * pr;
  583. g_sum += sumFactor * pg;
  584. b_sum += sumFactor * pb;
  585. stack = stackStart;
  586. for (i = 0; i < radiusPlus1; i++) {
  587. stack.r = pr;
  588. stack.g = pg;
  589. stack.b = pb;
  590. stack = stack.next;
  591. }
  592. for (i = 1; i < radiusPlus1; i++) {
  593. p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);
  594. r_sum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - i);
  595. g_sum += (stack.g = pg = pixels[p + 1]) * rbs;
  596. b_sum += (stack.b = pb = pixels[p + 2]) * rbs;
  597. r_in_sum += pr;
  598. g_in_sum += pg;
  599. b_in_sum += pb;
  600. stack = stack.next;
  601. }
  602. stackIn = stackStart;
  603. stackOut = stackEnd;
  604. for (x = 0; x < width; x++) {
  605. pixels[yi] = r_sum * mul_sum >> shg_sum;
  606. pixels[yi + 1] = g_sum * mul_sum >> shg_sum;
  607. pixels[yi + 2] = b_sum * mul_sum >> shg_sum;
  608. r_sum -= r_out_sum;
  609. g_sum -= g_out_sum;
  610. b_sum -= b_out_sum;
  611. r_out_sum -= stackIn.r;
  612. g_out_sum -= stackIn.g;
  613. b_out_sum -= stackIn.b;
  614. p = yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1) << 2;
  615. r_in_sum += stackIn.r = pixels[p];
  616. g_in_sum += stackIn.g = pixels[p + 1];
  617. b_in_sum += stackIn.b = pixels[p + 2];
  618. r_sum += r_in_sum;
  619. g_sum += g_in_sum;
  620. b_sum += b_in_sum;
  621. stackIn = stackIn.next;
  622. r_out_sum += pr = stackOut.r;
  623. g_out_sum += pg = stackOut.g;
  624. b_out_sum += pb = stackOut.b;
  625. r_in_sum -= pr;
  626. g_in_sum -= pg;
  627. b_in_sum -= pb;
  628. stackOut = stackOut.next;
  629. yi += 4;
  630. }
  631. yw += width;
  632. }
  633. for (x = 0; x < width; x++) {
  634. g_in_sum = b_in_sum = r_in_sum = g_sum = b_sum = r_sum = 0;
  635. yi = x << 2;
  636. r_out_sum = radiusPlus1 * (pr = pixels[yi]);
  637. g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);
  638. b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);
  639. r_sum += sumFactor * pr;
  640. g_sum += sumFactor * pg;
  641. b_sum += sumFactor * pb;
  642. stack = stackStart;
  643. for (i = 0; i < radiusPlus1; i++) {
  644. stack.r = pr;
  645. stack.g = pg;
  646. stack.b = pb;
  647. stack = stack.next;
  648. }
  649. yp = width;
  650. for (i = 1; i <= radius; i++) {
  651. yi = yp + x << 2;
  652. r_sum += (stack.r = pr = pixels[yi]) * (rbs = radiusPlus1 - i);
  653. g_sum += (stack.g = pg = pixels[yi + 1]) * rbs;
  654. b_sum += (stack.b = pb = pixels[yi + 2]) * rbs;
  655. r_in_sum += pr;
  656. g_in_sum += pg;
  657. b_in_sum += pb;
  658. stack = stack.next;
  659. if (i < heightMinus1) {
  660. yp += width;
  661. }
  662. }
  663. yi = x;
  664. stackIn = stackStart;
  665. stackOut = stackEnd;
  666. for (y = 0; y < height; y++) {
  667. p = yi << 2;
  668. pixels[p] = r_sum * mul_sum >> shg_sum;
  669. pixels[p + 1] = g_sum * mul_sum >> shg_sum;
  670. pixels[p + 2] = b_sum * mul_sum >> shg_sum;
  671. r_sum -= r_out_sum;
  672. g_sum -= g_out_sum;
  673. b_sum -= b_out_sum;
  674. r_out_sum -= stackIn.r;
  675. g_out_sum -= stackIn.g;
  676. b_out_sum -= stackIn.b;
  677. p = x + ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width << 2;
  678. r_sum += r_in_sum += stackIn.r = pixels[p];
  679. g_sum += g_in_sum += stackIn.g = pixels[p + 1];
  680. b_sum += b_in_sum += stackIn.b = pixels[p + 2];
  681. stackIn = stackIn.next;
  682. r_out_sum += pr = stackOut.r;
  683. g_out_sum += pg = stackOut.g;
  684. b_out_sum += pb = stackOut.b;
  685. r_in_sum -= pr;
  686. g_in_sum -= pg;
  687. b_in_sum -= pb;
  688. stackOut = stackOut.next;
  689. yi += width;
  690. }
  691. }
  692. context.putImageData(imageData, top_x, top_y);
  693. }
  694. function BlurStack() {
  695. this.r = 0;
  696. this.g = 0;
  697. this.b = 0;
  698. this.a = 0;
  699. this.next = null;
  700. }
  701. /*
  702. * canvg.js - Javascript SVG parser and renderer on Canvas
  703. * MIT Licensed
  704. * Gabe Lerner (gabelerner@gmail.com)
  705. * http://code.google.com/p/canvg/
  706. *
  707. * Requires: rgbcolor.js - http://www.phpied.com/rgb-color-parser-in-javascript/
  708. */
  709. (function() {
  710. // canvg(target, s)
  711. // empty parameters: replace all 'svg' elements on page with 'canvas' elements
  712. // target: canvas element or the id of a canvas element
  713. // s: svg string, url to svg file, or xml document
  714. // opts: optional hash of options
  715. // ignoreMouse: true => ignore mouse events
  716. // ignoreAnimation: true => ignore animations
  717. // ignoreDimensions: true => does not try to resize canvas
  718. // ignoreClear: true => does not clear canvas
  719. // offsetX: int => draws at a x offset
  720. // offsetY: int => draws at a y offset
  721. // scaleWidth: int => scales horizontally to width
  722. // scaleHeight: int => scales vertically to height
  723. // renderCallback: function => will call the function after the first render is completed
  724. // forceRedraw: function => will call the function on every frame, if it returns true, will redraw
  725. this.canvg = function(target, s, opts) {
  726. // no parameters
  727. if (target == null && s == null && opts == null) {
  728. var svgTags = document.getElementsByTagName("svg");
  729. for (var i = 0; i < svgTags.length; i++) {
  730. var svgTag = svgTags[i];
  731. var c = document.createElement("canvas");
  732. c.width = svgTag.clientWidth;
  733. c.height = svgTag.clientHeight;
  734. svgTag.parentNode.insertBefore(c, svgTag);
  735. svgTag.parentNode.removeChild(svgTag);
  736. var div = document.createElement("div");
  737. div.appendChild(svgTag);
  738. canvg(c, div.innerHTML);
  739. }
  740. return;
  741. }
  742. opts = opts || {};
  743. if (typeof target == "string") {
  744. target = document.getElementById(target);
  745. }
  746. // store class on canvas
  747. if (target.svg != null) target.svg.stop();
  748. var svg = build();
  749. // on i.e. 8 for flash canvas, we can't assign the property so check for it
  750. if (!(target.childNodes.length == 1 && target.childNodes[0].nodeName == "OBJECT")) target.svg = svg;
  751. svg.opts = opts;
  752. var ctx = target.getContext("2d");
  753. if (typeof s.documentElement != "undefined") {
  754. // load from xml doc
  755. svg.loadXmlDoc(ctx, s);
  756. } else if (s.substr(0, 1) == "<") {
  757. // load from xml string
  758. svg.loadXml(ctx, s);
  759. } else {
  760. // load from url
  761. svg.load(ctx, s);
  762. }
  763. };
  764. function build() {
  765. var svg = {};
  766. svg.FRAMERATE = 30;
  767. svg.MAX_VIRTUAL_PIXELS = 3e4;
  768. // globals
  769. svg.init = function(ctx) {
  770. var uniqueId = 0;
  771. svg.UniqueId = function() {
  772. uniqueId++;
  773. return "canvg" + uniqueId;
  774. };
  775. svg.Definitions = {};
  776. svg.Styles = {};
  777. svg.Animations = [];
  778. svg.Images = [];
  779. svg.ctx = ctx;
  780. svg.ViewPort = new function() {
  781. this.viewPorts = [];
  782. this.Clear = function() {
  783. this.viewPorts = [];
  784. };
  785. this.SetCurrent = function(width, height) {
  786. this.viewPorts.push({
  787. width: width,
  788. height: height
  789. });
  790. };
  791. this.RemoveCurrent = function() {
  792. this.viewPorts.pop();
  793. };
  794. this.Current = function() {
  795. return this.viewPorts[this.viewPorts.length - 1];
  796. };
  797. this.width = function() {
  798. return this.Current().width;
  799. };
  800. this.height = function() {
  801. return this.Current().height;
  802. };
  803. this.ComputeSize = function(d) {
  804. if (d != null && typeof d == "number") return d;
  805. if (d == "x") return this.width();
  806. if (d == "y") return this.height();
  807. return Math.sqrt(Math.pow(this.width(), 2) + Math.pow(this.height(), 2)) / Math.sqrt(2);
  808. };
  809. }();
  810. };
  811. svg.init();
  812. // images loaded
  813. svg.ImagesLoaded = function() {
  814. for (var i = 0; i < svg.Images.length; i++) {
  815. if (!svg.Images[i].loaded) return false;
  816. }
  817. return true;
  818. };
  819. // trim
  820. svg.trim = function(s) {
  821. return s.replace(/^\s+|\s+$/g, "");
  822. };
  823. // compress spaces
  824. svg.compressSpaces = function(s) {
  825. return s.replace(/[\s\r\t\n]+/gm, " ");
  826. };
  827. // ajax
  828. svg.ajax = function(url) {
  829. var AJAX;
  830. if (window.XMLHttpRequest) {
  831. AJAX = new XMLHttpRequest();
  832. } else {
  833. AJAX = new ActiveXObject("Microsoft.XMLHTTP");
  834. }
  835. if (AJAX) {
  836. AJAX.open("GET", url, false);
  837. AJAX.send(null);
  838. return AJAX.responseText;
  839. }
  840. return null;
  841. };
  842. // parse xml
  843. svg.parseXml = function(xml) {
  844. if (window.DOMParser) {
  845. var parser = new DOMParser();
  846. return parser.parseFromString(xml, "text/xml");
  847. } else {
  848. xml = xml.replace(/<!DOCTYPE svg[^>]*>/, "");
  849. var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  850. xmlDoc.async = "false";
  851. xmlDoc.loadXML(xml);
  852. return xmlDoc;
  853. }
  854. };
  855. svg.Property = function(name, value) {
  856. this.name = name;
  857. this.value = value;
  858. };
  859. svg.Property.prototype.getValue = function() {
  860. return this.value;
  861. };
  862. svg.Property.prototype.hasValue = function() {
  863. return this.value != null && this.value !== "";
  864. };
  865. // return the numerical value of the property
  866. svg.Property.prototype.numValue = function() {
  867. if (!this.hasValue()) return 0;
  868. var n = parseFloat(this.value);
  869. if ((this.value + "").match(/%$/)) {
  870. n = n / 100;
  871. }
  872. return n;
  873. };
  874. svg.Property.prototype.valueOrDefault = function(def) {
  875. if (this.hasValue()) return this.value;
  876. return def;
  877. };
  878. svg.Property.prototype.numValueOrDefault = function(def) {
  879. if (this.hasValue()) return this.numValue();
  880. return def;
  881. };
  882. // color extensions
  883. // augment the current color value with the opacity
  884. svg.Property.prototype.addOpacity = function(opacity) {
  885. var newValue = this.value;
  886. if (opacity != null && opacity != "" && typeof this.value == "string") {
  887. // can only add opacity to colors, not patterns
  888. var color = new RGBColor(this.value);
  889. if (color.ok) {
  890. newValue = "rgba(" + color.r + ", " + color.g + ", " + color.b + ", " + opacity + ")";
  891. }
  892. }
  893. return new svg.Property(this.name, newValue);
  894. };
  895. // definition extensions
  896. // get the definition from the definitions table
  897. svg.Property.prototype.getDefinition = function() {
  898. var name = this.value.match(/#([^\)'"]+)/);
  899. if (name) {
  900. name = name[1];
  901. }
  902. if (!name) {
  903. name = this.value;
  904. }
  905. return svg.Definitions[name];
  906. };
  907. svg.Property.prototype.isUrlDefinition = function() {
  908. return this.value.indexOf("url(") == 0;
  909. };
  910. svg.Property.prototype.getFillStyleDefinition = function(e, opacityProp) {
  911. var def = this.getDefinition();
  912. // gradient
  913. if (def != null && def.createGradient) {
  914. return def.createGradient(svg.ctx, e, opacityProp);
  915. }
  916. // pattern
  917. if (def != null && def.createPattern) {
  918. if (def.getHrefAttribute().hasValue()) {
  919. var pt = def.attribute("patternTransform");
  920. def = def.getHrefAttribute().getDefinition();
  921. if (pt.hasValue()) {
  922. def.attribute("patternTransform", true).value = pt.value;
  923. }
  924. }
  925. return def.createPattern(svg.ctx, e);
  926. }
  927. return null;
  928. };
  929. // length extensions
  930. svg.Property.prototype.getDPI = function(viewPort) {
  931. return 96;
  932. };
  933. svg.Property.prototype.getEM = function(viewPort) {
  934. var em = 12;
  935. var fontSize = new svg.Property("fontSize", svg.Font.Parse(svg.ctx.font).fontSize);
  936. if (fontSize.hasValue()) em = fontSize.toPixels(viewPort);
  937. return em;
  938. };
  939. svg.Property.prototype.getUnits = function() {
  940. var s = this.value + "";
  941. return s.replace(/[0-9\.\-]/g, "");
  942. };
  943. // get the length as pixels
  944. svg.Property.prototype.toPixels = function(viewPort, processPercent) {
  945. if (!this.hasValue()) return 0;
  946. var s = this.value + "";
  947. if (s.match(/em$/)) return this.numValue() * this.getEM(viewPort);
  948. if (s.match(/ex$/)) return this.numValue() * this.getEM(viewPort) / 2;
  949. if (s.match(/px$/)) return this.numValue();
  950. if (s.match(/pt$/)) return this.numValue() * this.getDPI(viewPort) * (1 / 72);
  951. if (s.match(/pc$/)) return this.numValue() * 15;
  952. if (s.match(/cm$/)) return this.numValue() * this.getDPI(viewPort) / 2.54;
  953. if (s.match(/mm$/)) return this.numValue() * this.getDPI(viewPort) / 25.4;
  954. if (s.match(/in$/)) return this.numValue() * this.getDPI(viewPort);
  955. if (s.match(/%$/)) return this.numValue() * svg.ViewPort.ComputeSize(viewPort);
  956. var n = this.numValue();
  957. if (processPercent && n < 1) return n * svg.ViewPort.ComputeSize(viewPort);
  958. return n;
  959. };
  960. // time extensions
  961. // get the time as milliseconds
  962. svg.Property.prototype.toMilliseconds = function() {
  963. if (!this.hasValue()) return 0;
  964. var s = this.value + "";
  965. if (s.match(/s$/)) return this.numValue() * 1e3;
  966. if (s.match(/ms$/)) return this.numValue();
  967. return this.numValue();
  968. };
  969. // angle extensions
  970. // get the angle as radians
  971. svg.Property.prototype.toRadians = function() {
  972. if (!this.hasValue()) return 0;
  973. var s = this.value + "";
  974. if (s.match(/deg$/)) return this.numValue() * (Math.PI / 180);
  975. if (s.match(/grad$/)) return this.numValue() * (Math.PI / 200);
  976. if (s.match(/rad$/)) return this.numValue();
  977. return this.numValue() * (Math.PI / 180);
  978. };
  979. // fonts
  980. svg.Font = new function() {
  981. this.Styles = "normal|italic|oblique|inherit";
  982. this.Variants = "normal|small-caps|inherit";
  983. this.Weights = "normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";
  984. this.CreateFont = function(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) {
  985. var f = inherit != null ? this.Parse(inherit) : this.CreateFont("", "", "", "", "", svg.ctx.font);
  986. return {
  987. fontFamily: fontFamily || f.fontFamily,
  988. fontSize: fontSize || f.fontSize,
  989. fontStyle: fontStyle || f.fontStyle,
  990. fontWeight: fontWeight || f.fontWeight,
  991. fontVariant: fontVariant || f.fontVariant,
  992. toString: function() {
  993. return [ this.fontStyle, this.fontVariant, this.fontWeight, this.fontSize, this.fontFamily ].join(" ");
  994. }
  995. };
  996. };
  997. var that = this;
  998. this.Parse = function(s) {
  999. var f = {};
  1000. var d = svg.trim(svg.compressSpaces(s || "")).split(" ");
  1001. var set = {
  1002. fontSize: false,
  1003. fontStyle: false,
  1004. fontWeight: false,
  1005. fontVariant: false
  1006. };
  1007. var ff = "";
  1008. for (var i = 0; i < d.length; i++) {
  1009. if (!set.fontStyle && that.Styles.indexOf(d[i]) != -1) {
  1010. if (d[i] != "inherit") f.fontStyle = d[i];
  1011. set.fontStyle = true;
  1012. } else if (!set.fontVariant && that.Variants.indexOf(d[i]) != -1) {
  1013. if (d[i] != "inherit") f.fontVariant = d[i];
  1014. set.fontStyle = set.fontVariant = true;
  1015. } else if (!set.fontWeight && that.Weights.indexOf(d[i]) != -1) {
  1016. if (d[i] != "inherit") f.fontWeight = d[i];
  1017. set.fontStyle = set.fontVariant = set.fontWeight = true;
  1018. } else if (!set.fontSize) {
  1019. if (d[i] != "inherit") f.fontSize = d[i].split("/")[0];
  1020. set.fontStyle = set.fontVariant = set.fontWeight = set.fontSize = true;
  1021. } else {
  1022. if (d[i] != "inherit") ff += d[i];
  1023. }
  1024. }
  1025. if (ff != "") f.fontFamily = ff;
  1026. return f;
  1027. };
  1028. }();
  1029. // points and paths
  1030. svg.ToNumberArray = function(s) {
  1031. var a = svg.trim(svg.compressSpaces((s || "").replace(/,/g, " "))).split(" ");
  1032. for (var i = 0; i < a.length; i++) {
  1033. a[i] = parseFloat(a[i]);
  1034. }
  1035. return a;
  1036. };
  1037. svg.Point = function(x, y) {
  1038. this.x = x;
  1039. this.y = y;
  1040. };
  1041. svg.Point.prototype.angleTo = function(p) {
  1042. return Math.atan2(p.y - this.y, p.x - this.x);
  1043. };
  1044. svg.Point.prototype.applyTransform = function(v) {
  1045. var xp = this.x * v[0] + this.y * v[2] + v[4];
  1046. var yp = this.x * v[1] + this.y * v[3] + v[5];
  1047. this.x = xp;
  1048. this.y = yp;
  1049. };
  1050. svg.CreatePoint = function(s) {
  1051. var a = svg.ToNumberArray(s);
  1052. return new svg.Point(a[0], a[1]);
  1053. };
  1054. svg.CreatePath = function(s) {
  1055. var a = svg.ToNumberArray(s);
  1056. var path = [];
  1057. for (var i = 0; i < a.length; i += 2) {
  1058. path.push(new svg.Point(a[i], a[i + 1]));
  1059. }
  1060. return path;
  1061. };
  1062. // bounding box
  1063. svg.BoundingBox = function(x1, y1, x2, y2) {
  1064. // pass in initial points if you want
  1065. this.x1 = Number.NaN;
  1066. this.y1 = Number.NaN;
  1067. this.x2 = Number.NaN;
  1068. this.y2 = Number.NaN;
  1069. this.x = function() {
  1070. return this.x1;
  1071. };
  1072. this.y = function() {
  1073. return this.y1;
  1074. };
  1075. this.width = function() {
  1076. return this.x2 - this.x1;
  1077. };
  1078. this.height = function() {
  1079. return this.y2 - this.y1;
  1080. };
  1081. this.addPoint = function(x, y) {
  1082. if (x != null) {
  1083. if (isNaN(this.x1) || isNaN(this.x2)) {
  1084. this.x1 = x;
  1085. this.x2 = x;
  1086. }
  1087. if (x < this.x1) this.x1 = x;
  1088. if (x > this.x2) this.x2 = x;
  1089. }
  1090. if (y != null) {
  1091. if (isNaN(this.y1) || isNaN(this.y2)) {
  1092. this.y1 = y;
  1093. this.y2 = y;
  1094. }
  1095. if (y < this.y1) this.y1 = y;
  1096. if (y > this.y2) this.y2 = y;
  1097. }
  1098. };
  1099. this.addX = function(x) {
  1100. this.addPoint(x, null);
  1101. };
  1102. this.addY = function(y) {
  1103. this.addPoint(null, y);
  1104. };
  1105. this.addBoundingBox = function(bb) {
  1106. this.addPoint(bb.x1, bb.y1);
  1107. this.addPoint(bb.x2, bb.y2);
  1108. };
  1109. this.addQuadraticCurve = function(p0x, p0y, p1x, p1y, p2x, p2y) {
  1110. var cp1x = p0x + 2 / 3 * (p1x - p0x);
  1111. // CP1 = QP0 + 2/3 *(QP1-QP0)
  1112. var cp1y = p0y + 2 / 3 * (p1y - p0y);
  1113. // CP1 = QP0 + 2/3 *(QP1-QP0)
  1114. var cp2x = cp1x + 1 / 3 * (p2x - p0x);
  1115. // CP2 = CP1 + 1/3 *(QP2-QP0)
  1116. var cp2y = cp1y + 1 / 3 * (p2y - p0y);
  1117. // CP2 = CP1 + 1/3 *(QP2-QP0)
  1118. this.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y, cp2y, p2x, p2y);
  1119. };
  1120. this.addBezierCurve = function(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) {
  1121. // from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html
  1122. var p0 = [ p0x, p0y ], p1 = [ p1x, p1y ], p2 = [ p2x, p2y ], p3 = [ p3x, p3y ];
  1123. this.addPoint(p0[0], p0[1]);
  1124. this.addPoint(p3[0], p3[1]);
  1125. for (i = 0; i <= 1; i++) {
  1126. var f = function(t) {
  1127. return Math.pow(1 - t, 3) * p0[i] + 3 * Math.pow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * Math.pow(t, 2) * p2[i] + Math.pow(t, 3) * p3[i];
  1128. };
  1129. var b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];
  1130. var a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];
  1131. var c = 3 * p1[i] - 3 * p0[i];
  1132. if (a == 0) {
  1133. if (b == 0) continue;
  1134. var t = -c / b;
  1135. if (0 < t && t < 1) {
  1136. if (i == 0) this.addX(f(t));
  1137. if (i == 1) this.addY(f(t));
  1138. }
  1139. continue;
  1140. }
  1141. var b2ac = Math.pow(b, 2) - 4 * c * a;
  1142. if (b2ac < 0) continue;
  1143. var t1 = (-b + Math.sqrt(b2ac)) / (2 * a);
  1144. if (0 < t1 && t1 < 1) {
  1145. if (i == 0) this.addX(f(t1));
  1146. if (i == 1) this.addY(f(t1));
  1147. }
  1148. var t2 = (-b - Math.sqrt(b2ac)) / (2 * a);
  1149. if (0 < t2 && t2 < 1) {
  1150. if (i == 0) this.addX(f(t2));
  1151. if (i == 1) this.addY(f(t2));
  1152. }
  1153. }
  1154. };
  1155. this.isPointInBox = function(x, y) {
  1156. return this.x1 <= x && x <= this.x2 && this.y1 <= y && y <= this.y2;
  1157. };
  1158. this.addPoint(x1, y1);
  1159. this.addPoint(x2, y2);
  1160. };
  1161. // transforms
  1162. svg.Transform = function(v) {
  1163. var that = this;
  1164. this.Type = {};
  1165. // translate
  1166. this.Type.translate = function(s) {
  1167. this.p = svg.CreatePoint(s);
  1168. this.apply = function(ctx) {
  1169. ctx.translate(this.p.x || 0, this.p.y || 0);
  1170. };
  1171. this.unapply = function(ctx) {
  1172. ctx.translate(-1 * this.p.x || 0, -1 * this.p.y || 0);
  1173. };
  1174. this.applyToPoint = function(p) {
  1175. p.applyTransform([ 1, 0, 0, 1, this.p.x || 0, this.p.y || 0 ]);
  1176. };
  1177. };
  1178. // rotate
  1179. this.Type.rotate = function(s) {
  1180. var a = svg.ToNumberArray(s);
  1181. this.angle = new svg.Property("angle", a[0]);
  1182. this.cx = a[1] || 0;
  1183. this.cy = a[2] || 0;
  1184. this.apply = function(ctx) {
  1185. ctx.translate(this.cx, this.cy);
  1186. ctx.rotate(this.angle.toRadians());
  1187. ctx.translate(-this.cx, -this.cy);
  1188. };
  1189. this.unapply = function(ctx) {
  1190. ctx.translate(this.cx, this.cy);
  1191. ctx.rotate(-1 * this.angle.toRadians());
  1192. ctx.translate(-this.cx, -this.cy);
  1193. };
  1194. this.applyToPoint = function(p) {
  1195. var a = this.angle.toRadians();
  1196. p.applyTransform([ 1, 0, 0, 1, this.p.x || 0, this.p.y || 0 ]);
  1197. p.applyTransform([ Math.cos(a), Math.sin(a), -Math.sin(a), Math.cos(a), 0, 0 ]);
  1198. p.applyTransform([ 1, 0, 0, 1, -this.p.x || 0, -this.p.y || 0 ]);
  1199. };
  1200. };
  1201. this.Type.scale = function(s) {
  1202. this.p = svg.CreatePoint(s);
  1203. this.apply = function(ctx) {
  1204. ctx.scale(this.p.x || 1, this.p.y || this.p.x || 1);
  1205. };
  1206. this.unapply = function(ctx) {
  1207. ctx.scale(1 / this.p.x || 1, 1 / this.p.y || this.p.x || 1);
  1208. };
  1209. this.applyToPoint = function(p) {
  1210. p.applyTransform([ this.p.x || 0, 0, 0, this.p.y || 0, 0, 0 ]);
  1211. };
  1212. };
  1213. this.Type.matrix = function(s) {
  1214. this.m = svg.ToNumberArray(s);
  1215. this.apply = function(ctx) {
  1216. ctx.transform(this.m[0], this.m[1], this.m[2], this.m[3], this.m[4], this.m[5]);
  1217. };
  1218. this.applyToPoint = function(p) {
  1219. p.applyTransform(this.m);
  1220. };
  1221. };
  1222. this.Type.SkewBase = function(s) {
  1223. this.base = that.Type.matrix;
  1224. this.base(s);
  1225. this.angle = new svg.Property("angle", s);
  1226. };
  1227. this.Type.SkewBase.prototype = new this.Type.matrix();
  1228. this.Type.skewX = function(s) {
  1229. this.base = that.Type.SkewBase;
  1230. this.base(s);
  1231. this.m = [ 1, 0, Math.tan(this.angle.toRadians()), 1, 0, 0 ];
  1232. };
  1233. this.Type.skewX.prototype = new this.Type.SkewBase();
  1234. this.Type.skewY = function(s) {
  1235. this.base = that.Type.SkewBase;
  1236. this.base(s);
  1237. this.m = [ 1, Math.tan(this.angle.toRadians()), 0, 1, 0, 0 ];
  1238. };
  1239. this.Type.skewY.prototype = new this.Type.SkewBase();
  1240. this.transforms = [];
  1241. this.apply = function(ctx) {
  1242. for (var i = 0; i < this.transforms.length; i++) {
  1243. this.transforms[i].apply(ctx);
  1244. }
  1245. };
  1246. this.unapply = function(ctx) {
  1247. for (var i = this.transforms.length - 1; i >= 0; i--) {
  1248. this.transforms[i].unapply(ctx);
  1249. }
  1250. };
  1251. this.applyToPoint = function(p) {
  1252. for (var i = 0; i < this.transforms.length; i++) {
  1253. this.transforms[i].applyToPoint(p);
  1254. }
  1255. };
  1256. var data = svg.trim(svg.compressSpaces(v)).replace(/\)(\s?,\s?)/g, ") ").split(/\s(?=[a-z])/);
  1257. for (var i = 0; i < data.length; i++) {
  1258. var type = svg.trim(data[i].split("(")[0]);
  1259. var s = data[i].split("(")[1].replace(")", "");
  1260. var transform = new this.Type[type](s);
  1261. transform.type = type;
  1262. this.transforms.push(transform);
  1263. }
  1264. };
  1265. // aspect ratio
  1266. svg.AspectRatio = function(ctx, aspectRatio, width, desiredWidth, height, desiredHeight, minX, minY, refX, refY) {
  1267. // aspect ratio - http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute
  1268. aspectRatio = svg.compressSpaces(aspectRatio);
  1269. aspectRatio = aspectRatio.replace(/^defer\s/, "");
  1270. // ignore defer
  1271. var align = aspectRatio.split(" ")[0] || "xMidYMid";
  1272. var meetOrSlice = aspectRatio.split(" ")[1] || "meet";
  1273. // calculate scale
  1274. var scaleX = width / desiredWidth;
  1275. var scaleY = height / desiredHeight;
  1276. var scaleMin = Math.min(scaleX, scaleY);
  1277. var scaleMax = Math.max(scaleX, scaleY);
  1278. if (meetOrSlice == "meet") {
  1279. desiredWidth *= scaleMin;
  1280. desiredHeight *= scaleMin;
  1281. }
  1282. if (meetOrSlice == "slice") {
  1283. desiredWidth *= scaleMax;
  1284. desiredHeight *= scaleMax;
  1285. }
  1286. refX = new svg.Property("refX", refX);
  1287. refY = new svg.Property("refY", refY);
  1288. if (refX.hasValue() && refY.hasValue()) {
  1289. ctx.translate(-scaleMin * refX.toPixels("x"), -scaleMin * refY.toPixels("y"));
  1290. } else {
  1291. // align
  1292. if (align.match(/^xMid/) && (meetOrSlice == "meet" && scaleMin == scaleY || meetOrSlice == "slice" && scaleMax == scaleY)) ctx.translate(width / 2 - desiredWidth / 2, 0);
  1293. if (align.match(/YMid$/) && (meetOrSlice == "meet" && scaleMin == scaleX || meetOrSlice == "slice" && scaleMax == scaleX)) ctx.translate(0, height / 2 - desiredHeight / 2);
  1294. if (align.match(/^xMax/) && (meetOrSlice == "meet" && scaleMin == scaleY || meetOrSlice == "slice" && scaleMax == scaleY)) ctx.translate(width - desiredWidth, 0);
  1295. if (align.match(/YMax$/) && (meetOrSlice == "meet" && scaleMin == scaleX || meetOrSlice == "slice" && scaleMax == scaleX)) ctx.translate(0, height - desiredHeight);
  1296. }
  1297. // scale
  1298. if (align == "none") ctx.scale(scaleX, scaleY); else if (meetOrSlice == "meet") ctx.scale(scaleMin, scaleMin); else if (meetOrSlice == "slice") ctx.scale(scaleMax, scaleMax);
  1299. // translate
  1300. ctx.translate(minX == null ? 0 : -minX, minY == null ? 0 : -minY);
  1301. };
  1302. // elements
  1303. svg.Element = {};
  1304. svg.EmptyProperty = new svg.Property("EMPTY", "");
  1305. svg.Element.ElementBase = function(node) {
  1306. this.attributes = {};
  1307. this.styles = {};
  1308. this.children = [];
  1309. // get or create attribute
  1310. this.attribute = function(name, createIfNotExists) {
  1311. var a = this.attributes[name];
  1312. if (a != null) return a;
  1313. if (createIfNotExists == true) {
  1314. a = new svg.Property(name, "");
  1315. this.attributes[name] = a;
  1316. }
  1317. return a || svg.EmptyProperty;
  1318. };
  1319. this.getHrefAttribute = function() {
  1320. for (var a in this.attributes) {
  1321. if (a.match(/:href$/)) {
  1322. return this.attributes[a];
  1323. }
  1324. }
  1325. return svg.EmptyProperty;
  1326. };
  1327. // get or create style, crawls up node tree
  1328. this.style = function(name, createIfNotExists) {
  1329. var s = this.styles[name];
  1330. if (s != null) return s;
  1331. var a = this.attribute(name);
  1332. if (a != null && a.hasValue()) {
  1333. this.styles[name] = a;
  1334. // move up to me to cache
  1335. return a;
  1336. }
  1337. var p = this.parent;
  1338. if (p != null) {
  1339. var ps = p.style(name);
  1340. if (ps != null && ps.hasValue()) {
  1341. return ps;
  1342. }
  1343. }
  1344. if (createIfNotExists == true) {
  1345. s = new svg.Property(name, "");
  1346. this.styles[name] = s;
  1347. }
  1348. return s || svg.EmptyProperty;
  1349. };
  1350. // base render
  1351. this.render = function(ctx) {
  1352. // don't render display=none
  1353. if (this.style("display").value == "none") return;
  1354. // don't render visibility=hidden
  1355. if (this.attribute("visibility").value == "hidden") return;
  1356. ctx.save();
  1357. if (this.attribute("mask").hasValue()) {
  1358. // mask
  1359. var mask = this.attribute("mask").getDefinition();
  1360. if (mask != null) mask.apply(ctx, this);
  1361. } else if (this.style("filter").hasValue()) {
  1362. // filter
  1363. var filter = this.style("filter").getDefinition();
  1364. if (filter != null) filter.apply(ctx, this);
  1365. } else {
  1366. this.setContext(ctx);
  1367. this.renderChildren(ctx);
  1368. this.clearContext(ctx);
  1369. }
  1370. ctx.restore();
  1371. };
  1372. // base set context
  1373. this.setContext = function(ctx) {};
  1374. // base clear context
  1375. this.clearContext = function(ctx) {};
  1376. // base render children
  1377. this.renderChildren = function(ctx) {
  1378. for (var i = 0; i < this.children.length; i++) {
  1379. this.children[i].render(ctx);
  1380. }
  1381. };
  1382. this.addChild = function(childNode, create) {
  1383. var child = childNode;
  1384. if (create) child = svg.CreateElement(childNode);
  1385. child.parent = this;
  1386. this.children.push(child);
  1387. };
  1388. if (node != null && node.nodeType == 1) {
  1389. //ELEMENT_NODE
  1390. // add children
  1391. for (var i = 0; i < node.childNodes.length; i++) {
  1392. var childNode = node.childNodes[i];
  1393. if (childNode.nodeType == 1) this.addChild(childNode, true);
  1394. //ELEMENT_NODE
  1395. if (this.captureTextNodes && childNode.nodeType == 3) {
  1396. var text = childNode.nodeValue || childNode.text || "";
  1397. if (svg.trim(svg.compressSpaces(text)) != "") {
  1398. this.addChild(new svg.Element.tspan(childNode), false);
  1399. }
  1400. }
  1401. }
  1402. // add attributes
  1403. for (var i = 0; i < node.attributes.length; i++) {
  1404. var attribute = node.attributes[i];
  1405. this.attributes[attribute.nodeName] = new svg.Property(attribute.nodeName, attribute.nodeValue);
  1406. }
  1407. // add tag styles
  1408. var styles = svg.Styles[node.nodeName];
  1409. if (styles != null) {
  1410. for (var name in styles) {
  1411. this.styles[name] = styles[name];
  1412. }
  1413. }
  1414. // add class styles
  1415. if (this.attribute("class").hasValue()) {
  1416. var classes = svg.compressSpaces(this.attribute("class").value).split(" ");
  1417. for (var j = 0; j < classes.length; j++) {
  1418. styles = svg.Styles["." + classes[j]];
  1419. if (styles != null) {
  1420. for (var name in styles) {
  1421. this.styles[name] = styles[name];
  1422. }
  1423. }
  1424. styles = svg.Styles[node.nodeName + "." + classes[j]];
  1425. if (styles != null) {
  1426. for (var name in styles) {
  1427. this.styles[name] = styles[name];
  1428. }
  1429. }
  1430. }
  1431. }
  1432. // add id styles
  1433. if (this.attribute("id").hasValue()) {
  1434. var styles = svg.Styles["#" + this.attribute("id").value];
  1435. if (styles != null) {
  1436. for (var name in styles) {
  1437. this.styles[name] = styles[name];
  1438. }
  1439. }
  1440. }
  1441. // add inline styles
  1442. if (this.attribute("style").hasValue()) {
  1443. var styles = this.attribute("style").value.split(";");
  1444. for (var i = 0; i < styles.length; i++) {
  1445. if (svg.trim(styles[i]) != "") {
  1446. var style = styles[i].split(":");
  1447. var name = svg.trim(style[0]);
  1448. var value = svg.trim(style[1]);
  1449. this.styles[name] = new svg.Property(name, value);
  1450. }
  1451. }
  1452. }
  1453. // add id
  1454. if (this.attribute("id").hasValue()) {
  1455. if (svg.Definitions[this.attribute("id").value] == null) {
  1456. svg.Definitions[this.attribute("id").value] = this;
  1457. }
  1458. }
  1459. }
  1460. };
  1461. svg.Element.RenderedElementBase = function(node) {
  1462. this.base = svg.Element.ElementBase;
  1463. this.base(node);
  1464. this.setContext = function(ctx) {
  1465. // fill
  1466. if (this.style("fill").isUrlDefinition()) {
  1467. var fs = this.style("fill").getFillStyleDefinition(this, this.style("fill-opacity"));
  1468. if (fs != null) ctx.fillStyle = fs;
  1469. } else if (this.style("fill").hasValue()) {
  1470. var fillStyle = this.style("fill");
  1471. if (fillStyle.value == "currentColor") fillStyle.value = this.style("color").value;
  1472. ctx.fillStyle = fillStyle.value == "none" ? "rgba(0,0,0,0)" : fillStyle.value;
  1473. }
  1474. if (this.style("fill-opacity").hasValue()) {
  1475. var fillStyle = new svg.Property("fill", ctx.fillStyle);
  1476. fillStyle = fillStyle.addOpacity(this.style("fill-opacity").value);
  1477. ctx.fillStyle = fillStyle.value;
  1478. }
  1479. // stroke
  1480. if (this.style("stroke").isUrlDefinition()) {
  1481. var fs = this.style("stroke").getFillStyleDefinition(this, this.style("stroke-opacity"));
  1482. if (fs != null) ctx.strokeStyle = fs;
  1483. } else if (this.style("stroke").hasValue()) {
  1484. var strokeStyle = this.style("stroke");
  1485. if (strokeStyle.value == "currentColor") strokeStyle.value = this.style("color").value;
  1486. ctx.strokeStyle = strokeStyle.value == "none" ? "rgba(0,0,0,0)" : strokeStyle.value;
  1487. }
  1488. if (this.style("stroke-opacity").hasValue()) {
  1489. var strokeStyle = new svg.Property("stroke", ctx.strokeStyle);
  1490. strokeStyle = strokeStyle.addOpacity(this.style("stroke-opacity").value);
  1491. ctx.strokeStyle = strokeStyle.value;
  1492. }
  1493. if (this.style("stroke-width").hasValue()) {
  1494. var newLineWidth = this.style("stroke-width").toPixels();
  1495. ctx.lineWidth = newLineWidth == 0 ? .001 : newLineWidth;
  1496. }
  1497. if (this.style("stroke-linecap").hasValue()) ctx.lineCap = this.style("stroke-linecap").value;
  1498. if (this.style("stroke-linejoin").hasValue()) ctx.lineJoin = this.style("stroke-linejoin").value;
  1499. if (this.style("stroke-miterlimit").hasValue()) ctx.miterLimit = this.style("stroke-miterlimit").value;
  1500. if (this.style("stroke-dasharray").hasValue()) {
  1501. var gaps = svg.ToNumberArray(this.style("stroke-dasharray").value);
  1502. if (typeof ctx.setLineDash != "undefined") {
  1503. ctx.setLineDash(gaps);
  1504. } else if (typeof ctx.webkitLineDash != "undefined") {
  1505. ctx.webkitLineDash = gaps;
  1506. } else if (typeof ctx.mozDash != "undefined") {
  1507. ctx.mozDash = gaps;
  1508. }
  1509. var offset = this.style("stroke-dashoffset").numValueOrDefault(1);
  1510. if (typeof ctx.lineDashOffset != "undefined") {
  1511. ctx.lineDashOffset = offset;
  1512. } else if (typeof ctx.webkitLineDashOffset != "undefined") {
  1513. ctx.webkitLineDashOffset = offset;
  1514. } else if (typeof ctx.mozDashOffset != "undefined") {
  1515. ctx.mozDashOffset = offset;
  1516. }
  1517. }
  1518. // font
  1519. if (typeof ctx.font != "undefined") {
  1520. ctx.font = svg.Font.CreateFont(this.style("font-style").value, this.style("font-variant").value, this.style("font-weight").value, this.style("font-size").hasValue() ? this.style("font-size").toPixels() + "px" : "", this.style("font-family").value).toString();
  1521. }
  1522. // transform
  1523. if (this.attribute("transform").hasValue()) {
  1524. var transform = new svg.Transform(this.attribute("transform").value);
  1525. transform.apply(ctx);
  1526. }
  1527. // clip
  1528. if (this.style("clip-path").hasValue()) {
  1529. var clip = this.style("clip-path").getDefinition();
  1530. if (clip != null) clip.apply(ctx);
  1531. }
  1532. // opacity
  1533. if (this.style("opacity").hasValue()) {
  1534. ctx.globalAlpha = this.style("opacity").numValue();
  1535. }
  1536. };
  1537. };
  1538. svg.Element.RenderedElementBase.prototype = new svg.Element.ElementBase();
  1539. svg.Element.PathElementBase = function(node) {
  1540. this.base = svg.Element.RenderedElementBase;
  1541. this.base(node);
  1542. this.path = function(ctx) {
  1543. if (ctx != null) ctx.beginPath();
  1544. return new svg.BoundingBox();
  1545. };
  1546. this.renderChildren = function(ctx) {
  1547. this.path(ctx);
  1548. svg.Mouse.checkPath(this, ctx);
  1549. if (ctx.fillStyle != "") {
  1550. if (this.attribute("fill-rule").hasValue()) {
  1551. ctx.fill(this.attribute("fill-rule").value);
  1552. } else {
  1553. ctx.fill();
  1554. }
  1555. }
  1556. if (ctx.strokeStyle != "") ctx.stroke();
  1557. var markers = this.getMarkers();
  1558. if (markers != null) {
  1559. if (this.style("marker-start").isUrlDefinition()) {
  1560. var marker = this.style("marker-start").getDefinition();
  1561. marker.render(ctx, markers[0][0], markers[0][1]);
  1562. }
  1563. if (this.style("marker-mid").isUrlDefinition()) {
  1564. var marker = this.style("marker-mid").getDefinition();
  1565. for (var i = 1; i < markers.length - 1; i++) {
  1566. marker.render(ctx, markers[i][0], markers[i][1]);
  1567. }
  1568. }
  1569. if (this.style("marker-end").isUrlDefinition()) {
  1570. var marker = this.style("marker-end").getDefinition();
  1571. marker.render(ctx, markers[markers.length - 1][0], markers[markers.length - 1][1]);
  1572. }
  1573. }
  1574. };
  1575. this.getBoundingBox = function() {
  1576. return this.path();
  1577. };
  1578. this.getMarkers = function() {
  1579. return null;
  1580. };
  1581. };
  1582. svg.Element.PathElementBase.prototype = new svg.Element.RenderedElementBase();
  1583. // svg element
  1584. svg.Element.svg = function(node) {
  1585. this.base = svg.Element.RenderedElementBase;
  1586. this.base(node);
  1587. this.baseClearContext = this.clearContext;
  1588. this.clearContext = function(ctx) {
  1589. this.baseClearContext(ctx);
  1590. svg.ViewPort.RemoveCurrent();
  1591. };
  1592. this.baseSetContext = this.setContext;
  1593. this.setContext = function(ctx) {
  1594. // initial values
  1595. ctx.strokeStyle = "rgba(0,0,0,0)";
  1596. ctx.lineCap = "butt";
  1597. ctx.lineJoin = "miter";
  1598. ctx.miterLimit = 4;
  1599. this.baseSetContext(ctx);
  1600. // create new view port
  1601. if (!this.attribute("x").hasValue()) this.attribute("x", true).value = 0;
  1602. if (!this.attribute("y").hasValue()) this.attribute("y", true).value = 0;
  1603. ctx.translate(this.attribute("x").toPixels("x"), this.attribute("y").toPixels("y"));
  1604. var width = svg.ViewPort.width();
  1605. var height = svg.ViewPort.height();
  1606. if (!this.attribute("width").hasValue()) this.attribute("width", true).value = "100%";
  1607. if (!this.attribute("height").hasValue()) this.attribute("height", true).value = "100%";
  1608. if (typeof this.root == "undefined") {
  1609. width = this.attribute("width").toPixels("x");
  1610. height = this.attribute("height").toPixels("y");
  1611. var x = 0;
  1612. var y = 0;
  1613. if (this.attribute("refX").hasValue() && this.attribute("refY").hasValue()) {
  1614. x = -this.attribute("refX").toPixels("x");
  1615. y = -this.attribute("refY").toPixels("y");
  1616. }
  1617. ctx.beginPath();
  1618. ctx.moveTo(x, y);
  1619. ctx.lineTo(width, y);
  1620. ctx.lineTo(width, height);
  1621. ctx.lineTo(x, height);
  1622. ctx.closePath();
  1623. ctx.clip();
  1624. }
  1625. svg.ViewPort.SetCurrent(width, height);
  1626. // viewbox
  1627. if (this.attribute("viewBox").hasValue()) {
  1628. var viewBox = svg.ToNumberArray(this.attribute("viewBox").value);
  1629. var minX = viewBox[0];
  1630. var minY = viewBox[1];
  1631. width = viewBox[2];
  1632. height = viewBox[3];
  1633. svg.AspectRatio(ctx, this.attribute("preserveAspectRatio").value, svg.ViewPort.width(), width, svg.ViewPort.height(), height, minX, minY, this.attribute("refX").value, this.attribute("refY").value);
  1634. svg.ViewPort.RemoveCurrent();
  1635. svg.ViewPort.SetCurrent(viewBox[2], viewBox[3]);
  1636. }
  1637. };
  1638. };
  1639. svg.Element.svg.prototype = new svg.Element.RenderedElementBase();
  1640. // rect element
  1641. svg.Element.rect = function(node) {
  1642. this.base = svg.Element.PathElementBase;
  1643. this.base(node);
  1644. this.path = function(ctx) {
  1645. var x = this.attribute("x").toPixels("x");
  1646. var y = this.attribute("y").toPixels("y");
  1647. var width = this.attribute("width").toPixels("x");
  1648. var height = this.attribute("height").toPixels("y");
  1649. var rx = this.attribute("rx").toPixels("x");
  1650. var ry = this.attribute("ry").toPixels("y");
  1651. if (this.attribute("rx").hasValue() && !this.attribute("ry").hasValue()) ry = rx;
  1652. if (this.attribute("ry").hasValue() && !this.attribute("rx").hasValue()) rx = ry;
  1653. rx = Math.min(rx, width / 2);
  1654. ry = Math.min(ry, height / 2);
  1655. if (ctx != null) {
  1656. ctx.beginPath();
  1657. ctx.moveTo(x + rx, y);
  1658. ctx.lineTo(x + width - rx, y);
  1659. ctx.quadraticCurveTo(x + width, y, x + width, y + ry);
  1660. ctx.lineTo(x + width, y + height - ry);
  1661. ctx.quadraticCurveTo(x + width, y + height, x + width - rx, y + height);
  1662. ctx.lineTo(x + rx, y + height);
  1663. ctx.quadraticCurveTo(x, y + height, x, y + height - ry);
  1664. ctx.lineTo(x, y + ry);
  1665. ctx.quadraticCurveTo(x, y, x + rx, y);
  1666. ctx.closePath();
  1667. }
  1668. return new svg.BoundingBox(x, y, x + width, y + height);
  1669. };
  1670. };
  1671. svg.Element.rect.prototype = new svg.Element.PathElementBase();
  1672. // circle element
  1673. svg.Element.circle = function(node) {
  1674. this.base = svg.Element.PathElementBase;
  1675. this.base(node);
  1676. this.path = function(ctx) {
  1677. var cx = this.attribute("cx").toPixels("x");
  1678. var cy = this.attribute("cy").toPixels("y");
  1679. var r = this.attribute("r").toPixels();
  1680. if (ctx != null) {
  1681. ctx.beginPath();
  1682. ctx.arc(cx, cy, r, 0, Math.PI * 2, true);
  1683. ctx.closePath();
  1684. }
  1685. return new svg.BoundingBox(cx - r, cy - r, cx + r, cy + r);
  1686. };
  1687. };
  1688. svg.Element.circle.prototype = new svg.Element.PathElementBase();
  1689. // ellipse element
  1690. svg.Element.ellipse = function(node) {
  1691. this.base = svg.Element.PathElementBase;
  1692. this.base(node);
  1693. this.path = function(ctx) {
  1694. var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3);
  1695. var rx = this.attribute("rx").toPixels("x");
  1696. var ry = this.attribute("ry").toPixels("y");
  1697. var cx = this.attribute("cx").toPixels("x");
  1698. var cy = this.attribute("cy").toPixels("y");
  1699. if (ctx != null) {
  1700. ctx.beginPath();
  1701. ctx.moveTo(cx, cy - ry);
  1702. ctx.bezierCurveTo(cx + KAPPA * rx, cy - ry, cx + rx, cy - KAPPA * ry, cx + rx, cy);
  1703. ctx.bezierCurveTo(cx + rx, cy + KAPPA * ry, cx + KAPPA * rx, cy + ry, cx, cy + ry);
  1704. ctx.bezierCurveTo(cx - KAPPA * rx, cy + ry, cx - rx, cy + KAPPA * ry, cx - rx, cy);
  1705. ctx.bezierCurveTo(cx - rx, cy - KAPPA * ry, cx - KAPPA * rx, cy - ry, cx, cy - ry);
  1706. ctx.closePath();
  1707. }
  1708. return new svg.BoundingBox(cx - rx, cy - ry, cx + rx, cy + ry);
  1709. };
  1710. };
  1711. svg.Element.ellipse.prototype = new svg.Element.PathElementBase();
  1712. // line element
  1713. svg.Element.line = function(node) {
  1714. this.base = svg.Element.PathElementBase;
  1715. this.base(node);
  1716. this.getPoints = function() {
  1717. return [ new svg.Point(this.attribute("x1").toPixels("x"), this.attribute("y1").toPixels("y")), new svg.Point(this.attribute("x2").toPixels("x"), this.attribute("y2").toPixels("y")) ];
  1718. };
  1719. this.path = function(ctx) {
  1720. var points = this.getPoints();
  1721. if (ctx != null) {
  1722. ctx.beginPath();
  1723. ctx.moveTo(points[0].x, points[0].y);
  1724. ctx.lineTo(points[1].x, points[1].y);
  1725. }
  1726. return new svg.BoundingBox(points[0].x, points[0].y, points[1].x, points[1].y);
  1727. };
  1728. this.getMarkers = function() {
  1729. var points = this.getPoints();
  1730. var a = points[0].angleTo(points[1]);
  1731. return [ [ points[0], a ], [ points[1], a ] ];
  1732. };
  1733. };
  1734. svg.Element.line.prototype = new svg.Element.PathElementBase();
  1735. // polyline element
  1736. svg.Element.polyline = function(node) {
  1737. this.base = svg.Element.PathElementBase;
  1738. this.base(node);
  1739. this.points = svg.CreatePath(this.attribute("points").value);
  1740. this.path = function(ctx) {
  1741. var bb = new svg.BoundingBox(this.points[0].x, this.points[0].y);
  1742. if (ctx != null) {
  1743. ctx.beginPath();
  1744. ctx.moveTo(this.points[0].x, this.points[0].y);
  1745. }
  1746. for (var i = 1; i < this.points.length; i++) {
  1747. bb.addPoint(this.points[i].x, this.points[i].y);
  1748. if (ctx != null) ctx.lineTo(this.points[i].x, this.points[i].y);
  1749. }
  1750. return bb;
  1751. };
  1752. this.getMarkers = function() {
  1753. var markers = [];
  1754. for (var i = 0; i < this.points.length - 1; i++) {
  1755. markers.push([ this.points[i], this.points[i].angleTo(this.points[i + 1]) ]);
  1756. }
  1757. markers.push([ this.points[this.points.length - 1], markers[markers.length - 1][1] ]);
  1758. return markers;
  1759. };
  1760. };
  1761. svg.Element.polyline.prototype = new svg.Element.PathElementBase();
  1762. // polygon element
  1763. svg.Element.polygon = function(node) {
  1764. this.base = svg.Element.polyline;
  1765. this.base(node);
  1766. this.basePath = this.path;
  1767. this.path = function(ctx) {
  1768. var bb = this.basePath(ctx);
  1769. if (ctx != null) {
  1770. ctx.lineTo(this.points[0].x, this.points[0].y);
  1771. ctx.closePath();
  1772. }
  1773. return bb;
  1774. };
  1775. };
  1776. svg.Element.polygon.prototype = new svg.Element.polyline();
  1777. // path element
  1778. svg.Element.path = function(node) {
  1779. this.base = svg.Element.PathElementBase;
  1780. this.base(node);
  1781. var d = this.attribute("d").value;
  1782. // TODO: convert to real lexer based on http://www.w3.org/TR/SVG11/paths.html#PathDataBNF
  1783. d = d.replace(/,/gm, " ");
  1784. // get rid of all commas
  1785. d = d.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm, "$1 $2");
  1786. // separate commands from commands
  1787. d = d.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm, "$1 $2");
  1788. // separate commands from commands
  1789. d = d.replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm, "$1 $2");
  1790. // separate commands from points
  1791. d = d.replace(/([^\s])([MmZzLlHhVvCcSsQqTtAa])/gm, "$1 $2");
  1792. // separate commands from points
  1793. d = d.replace(/([0-9])([+\-])/gm, "$1 $2");
  1794. // separate digits when no comma
  1795. d = d.replace(/(\.[0-9]*)(\.)/gm, "$1 $2");
  1796. // separate digits when no comma
  1797. d = d.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm, "$1 $3 $4 ");
  1798. // shorthand elliptical arc path syntax
  1799. d = svg.compressSpaces(d);
  1800. // compress multiple spaces
  1801. d = svg.trim(d);
  1802. this.PathParser = new function(d) {
  1803. this.tokens = d.split(" ");
  1804. this.reset = function() {
  1805. this.i = -1;
  1806. this.command = "";
  1807. this.previousCommand = "";
  1808. this.start = new svg.Point(0, 0);
  1809. this.control = new svg.Point(0, 0);
  1810. this.current = new svg.Point(0, 0);
  1811. this.points = [];
  1812. this.angles = [];
  1813. };
  1814. this.isEnd = function() {
  1815. return this.i >= this.tokens.length - 1;
  1816. };
  1817. this.isCommandOrEnd = function() {
  1818. if (this.isEnd()) return true;
  1819. return this.tokens[this.i + 1].match(/^[A-Za-z]$/) != null;
  1820. };
  1821. this.isRelativeCommand = function() {
  1822. switch (this.command) {
  1823. case "m":
  1824. case "l":
  1825. case "h":
  1826. case "v":
  1827. case "c":
  1828. case "s":
  1829. case "q":
  1830. case "t":
  1831. case "a":
  1832. case "z":
  1833. return true;
  1834. break;
  1835. }
  1836. return false;
  1837. };
  1838. this.getToken = function() {
  1839. this.i++;
  1840. return this.tokens[this.i];
  1841. };
  1842. this.getScalar = function() {
  1843. return parseFloat(this.getToken());
  1844. };
  1845. this.nextCommand = function() {
  1846. this.previousCommand = this.command;
  1847. this.command = this.getToken();
  1848. };
  1849. this.getPoint = function() {
  1850. var p = new svg.Point(this.getScalar(), this.getScalar());
  1851. return this.makeAbsolute(p);
  1852. };
  1853. this.getAsControlPoint = function() {
  1854. var p = this.getPoint();
  1855. this.control = p;
  1856. return p;
  1857. };
  1858. this.getAsCurrentPoint = function() {
  1859. var p = this.getPoint();
  1860. this.current = p;
  1861. return p;
  1862. };
  1863. this.getReflectedControlPoint = function() {
  1864. if (this.previousCommand.toLowerCase() != "c" && this.previousCommand.toLowerCase() != "s" && this.previousCommand.toLowerCase() != "q" && this.previousCommand.toLowerCase() != "t") {
  1865. return this.current;
  1866. }
  1867. // reflect point
  1868. var p = new svg.Point(2 * this.current.x - this.control.x, 2 * this.current.y - this.control.y);
  1869. return p;
  1870. };
  1871. this.makeAbsolute = function(p) {
  1872. if (this.isRelativeCommand()) {
  1873. p.x += this.current.x;
  1874. p.y += this.current.y;
  1875. }
  1876. return p;
  1877. };
  1878. this.addMarker = function(p, from, priorTo) {
  1879. // if the last angle isn't filled in because we didn't have this point yet ...
  1880. if (priorTo != null && this.angles.length > 0 && this.angles[this.angles.length - 1] == null) {
  1881. this.angles[this.angles.length - 1] = this.points[this.points.length - 1].angleTo(priorTo);
  1882. }
  1883. this.addMarkerAngle(p, from == null ? null : from.angleTo(p));
  1884. };
  1885. this.addMarkerAngle = function(p, a) {
  1886. this.points.push(p);
  1887. this.angles.push(a);
  1888. };
  1889. this.getMarkerPoints = function() {
  1890. return this.points;
  1891. };
  1892. this.getMarkerAngles = function() {
  1893. for (var i = 0; i < this.angles.length; i++) {
  1894. if (this.angles[i] == null) {
  1895. for (var j = i + 1; j < this.angles.length; j++) {
  1896. if (this.angles[j] != null) {
  1897. this.angles[i] = this.angles[j];
  1898. break;
  1899. }
  1900. }
  1901. }
  1902. }
  1903. return this.angles;
  1904. };
  1905. }(d);
  1906. this.path = function(ctx) {
  1907. var pp = this.PathParser;
  1908. pp.reset();
  1909. var bb = new svg.BoundingBox();
  1910. if (ctx != null) ctx.beginPath();
  1911. while (!pp.isEnd()) {
  1912. pp.nextCommand();
  1913. switch (pp.command) {
  1914. case "M":
  1915. case "m":
  1916. var p = pp.getAsCurrentPoint();
  1917. pp.addMarker(p);
  1918. bb.addPoint(p.x, p.y);
  1919. if (ctx != null) ctx.moveTo(p.x, p.y);
  1920. pp.start = pp.current;
  1921. while (!pp.isCommandOrEnd()) {
  1922. var p = pp.getAsCurrentPoint();
  1923. pp.addMarker(p, pp.start);
  1924. bb.addPoint(p.x, p.y);
  1925. if (ctx != null) ctx.lineTo(p.x, p.y);
  1926. }
  1927. break;
  1928. case "L":
  1929. case "l":
  1930. while (!pp.isCommandOrEnd()) {
  1931. var c = pp.current;
  1932. var p = pp.getAsCurrentPoint();
  1933. pp.addMarker(p, c);
  1934. bb.addPoint(p.x, p.y);
  1935. if (ctx != null) ctx.lineTo(p.x, p.y);
  1936. }
  1937. break;
  1938. case "H":
  1939. case "h":
  1940. while (!pp.isCommandOrEnd()) {
  1941. var newP = new svg.Point((pp.isRelativeCommand() ? pp.current.x : 0) + pp.getScalar(), pp.current.y);
  1942. pp.addMarker(newP, pp.current);
  1943. pp.current = newP;
  1944. bb.addPoint(pp.current.x, pp.current.y);
  1945. if (ctx != null) ctx.lineTo(pp.current.x, pp.current.y);
  1946. }
  1947. break;
  1948. case "V":
  1949. case "v":
  1950. while (!pp.isCommandOrEnd()) {
  1951. var newP = new svg.Point(pp.current.x, (pp.isRelativeCommand() ? pp.current.y : 0) + pp.getScalar());
  1952. pp.addMarker(newP, pp.current);
  1953. pp.current = newP;
  1954. bb.addPoint(pp.current.x, pp.current.y);
  1955. if (ctx != null) ctx.lineTo(pp.current.x, pp.current.y);
  1956. }
  1957. break;
  1958. case "C":
  1959. case "c":
  1960. while (!pp.isCommandOrEnd()) {
  1961. var curr = pp.current;
  1962. var p1 = pp.getPoint();
  1963. var cntrl = pp.getAsControlPoint();
  1964. var cp = pp.getAsCurrentPoint();
  1965. pp.addMarker(cp, cntrl, p1);
  1966. bb.addBezierCurve(curr.x, curr.y, p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);
  1967. if (ctx != null) ctx.bezierCurveTo(p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);
  1968. }
  1969. break;
  1970. case "S":
  1971. case "s":
  1972. while (!pp.isCommandOrEnd()) {
  1973. var curr = pp.current;
  1974. var p1 = pp.getReflectedControlPoint();
  1975. var cntrl = pp.getAsControlPoint();
  1976. var cp = pp.getAsCurrentPoint();
  1977. pp.addMarker(cp, cntrl, p1);
  1978. bb.addBezierCurve(curr.x, curr.y, p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);
  1979. if (ctx != null) ctx.bezierCurveTo(p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);
  1980. }
  1981. break;
  1982. case "Q":
  1983. case "q":
  1984. while (!pp.isCommandOrEnd()) {
  1985. var curr = pp.current;
  1986. var cntrl = pp.getAsControlPoint();
  1987. var cp = pp.getAsCurrentPoint();
  1988. pp.addMarker(cp, cntrl, cntrl);
  1989. bb.addQuadraticCurve(curr.x, curr.y, cntrl.x, cntrl.y, cp.x, cp.y);
  1990. if (ctx != null) ctx.quadraticCurveTo(cntrl.x, cntrl.y, cp.x, cp.y);
  1991. }
  1992. break;
  1993. case "T":
  1994. case "t":
  1995. while (!pp.isCommandOrEnd()) {
  1996. var curr = pp.current;
  1997. var cntrl = pp.getReflectedControlPoint();
  1998. pp.control = cntrl;
  1999. var cp = pp.getAsCurrentPoint();
  2000. pp.addMarker(cp, cntrl, cntrl);
  2001. bb.addQuadraticCurve(curr.x, curr.y, cntrl.x, cntrl.y, cp.x, cp.y);
  2002. if (ctx != null) ctx.quadraticCurveTo(cntrl.x, cntrl.y, cp.x, cp.y);
  2003. }
  2004. break;
  2005. case "A":
  2006. case "a":
  2007. while (!pp.isCommandOrEnd()) {
  2008. var curr = pp.current;
  2009. var rx = pp.getScalar();
  2010. var ry = pp.getScalar();
  2011. var xAxisRotation = pp.getScalar() * (Math.PI / 180);
  2012. var largeArcFlag = pp.getScalar();
  2013. var sweepFlag = pp.getScalar();
  2014. var cp = pp.getAsCurrentPoint();
  2015. // Conversion from endpoint to center parameterization
  2016. // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes
  2017. // x1', y1'
  2018. var currp = new svg.Point(Math.cos(xAxisRotation) * (curr.x - cp.x) / 2 + Math.sin(xAxisRotation) * (curr.y - cp.y) / 2, -Math.sin(xAxisRotation) * (curr.x - cp.x) / 2 + Math.cos(xAxisRotation) * (curr.y - cp.y) / 2);
  2019. // adjust radii
  2020. var l = Math.pow(currp.x, 2) / Math.pow(rx, 2) + Math.pow(currp.y, 2) / Math.pow(ry, 2);
  2021. if (l > 1) {
  2022. rx *= Math.sqrt(l);
  2023. ry *= Math.sqrt(l);
  2024. }
  2025. // cx', cy'
  2026. var s = (largeArcFlag == sweepFlag ? -1 : 1) * Math.sqrt((Math.pow(rx, 2) * Math.pow(ry, 2) - Math.pow(rx, 2) * Math.pow(currp.y, 2) - Math.pow(ry, 2) * Math.pow(currp.x, 2)) / (Math.pow(rx, 2) * Math.pow(currp.y, 2) + Math.pow(ry, 2) * Math.pow(currp.x, 2)));
  2027. if (isNaN(s)) s = 0;
  2028. var cpp = new svg.Point(s * rx * currp.y / ry, s * -ry * currp.x / rx);
  2029. // cx, cy
  2030. var centp = new svg.Point((curr.x + cp.x) / 2 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y, (curr.y + cp.y) / 2 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y);
  2031. // vector magnitude
  2032. var m = function(v) {
  2033. return Math.sqrt(Math.pow(v[0], 2) + Math.pow(v[1], 2));
  2034. };
  2035. // ratio between two vectors
  2036. var r = function(u, v) {
  2037. return (u[0] * v[0] + u[1] * v[1]) / (m(u) * m(v));
  2038. };
  2039. // angle between two vectors
  2040. var a = function(u, v) {
  2041. return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(r(u, v));
  2042. };
  2043. // initial angle
  2044. var a1 = a([ 1, 0 ], [ (currp.x - cpp.x) / rx, (currp.y - cpp.y) / ry ]);
  2045. // angle delta
  2046. var u = [ (currp.x - cpp.x) / rx, (currp.y - cpp.y) / ry ];
  2047. var v = [ (-currp.x - cpp.x) / rx, (-currp.y - cpp.y) / ry ];
  2048. var ad = a(u, v);
  2049. if (r(u, v) <= -1) ad = Math.PI;
  2050. if (r(u, v) >= 1) ad = 0;
  2051. // for markers
  2052. var dir = 1 - sweepFlag ? 1 : -1;
  2053. var ah = a1 + dir * (ad / 2);
  2054. var halfWay = new svg.Point(centp.x + rx * Math.cos(ah), centp.y + ry * Math.sin(ah));
  2055. pp.addMarkerAngle(halfWay, ah - dir * Math.PI / 2);
  2056. pp.addMarkerAngle(cp, ah - dir * Math.PI);
  2057. bb.addPoint(cp.x, cp.y);
  2058. // TODO: this is too naive, make it better
  2059. if (ctx != null) {
  2060. var r = rx > ry ? rx : ry;
  2061. var sx = rx > ry ? 1 : rx / ry;
  2062. var sy = rx > ry ? ry / rx : 1;
  2063. ctx.translate(centp.x, centp.y);
  2064. ctx.rotate(xAxisRotation);
  2065. ctx.scale(sx, sy);
  2066. ctx.arc(0, 0, r, a1, a1 + ad, 1 - sweepFlag);
  2067. ctx.scale(1 / sx, 1 / sy);
  2068. ctx.rotate(-xAxisRotation);
  2069. ctx.translate(-centp.x, -centp.y);
  2070. }
  2071. }
  2072. break;
  2073. case "Z":
  2074. case "z":
  2075. if (ctx != null) ctx.closePath();
  2076. pp.current = pp.start;
  2077. }
  2078. }
  2079. return bb;
  2080. };
  2081. this.getMarkers = function() {
  2082. var points = this.PathParser.getMarkerPoints();
  2083. var angles = this.PathParser.getMarkerAngles();
  2084. var markers = [];
  2085. for (var i = 0; i < points.length; i++) {
  2086. markers.push([ points[i], angles[i] ]);
  2087. }
  2088. return markers;
  2089. };
  2090. };
  2091. svg.Element.path.prototype = new svg.Element.PathElementBase();
  2092. // pattern element
  2093. svg.Element.pattern = function(node) {
  2094. this.base = svg.Element.ElementBase;
  2095. this.base(node);
  2096. this.createPattern = function(ctx, element) {
  2097. var width = this.attribute("width").toPixels("x", true);
  2098. var height = this.attribute("height").toPixels("y", true);
  2099. // render me using a temporary svg element
  2100. var tempSvg = new svg.Element.svg();
  2101. tempSvg.attributes["viewBox"] = new svg.Property("viewBox", this.attribute("viewBox").value);
  2102. tempSvg.attributes["width"] = new svg.Property("width", width + "px");
  2103. tempSvg.attributes["height"] = new svg.Property("height", height + "px");
  2104. tempSvg.attributes["transform"] = new svg.Property("transform", this.attribute("patternTransform").value);
  2105. tempSvg.children = this.children;
  2106. var c = document.createElement("canvas");
  2107. c.width = width;
  2108. c.height = height;
  2109. var cctx = c.getContext("2d");
  2110. if (this.attribute("x").hasValue() && this.attribute("y").hasValue()) {
  2111. cctx.translate(this.attribute("x").toPixels("x", true), this.attribute("y").toPixels("y", true));
  2112. }
  2113. // render 3x3 grid so when we transform there's no white space on edges
  2114. for (var x = -1; x <= 1; x++) {
  2115. for (var y = -1; y <= 1; y++) {
  2116. cctx.save();
  2117. cctx.translate(x * c.width, y * c.height);
  2118. tempSvg.render(cctx);
  2119. cctx.restore();
  2120. }
  2121. }
  2122. var pattern = ctx.createPattern(c, "repeat");
  2123. return pattern;
  2124. };
  2125. };
  2126. svg.Element.pattern.prototype = new svg.Element.ElementBase();
  2127. // marker element
  2128. svg.Element.marker = function(node) {
  2129. this.base = svg.Element.ElementBase;
  2130. this.base(node);
  2131. this.baseRender = this.render;
  2132. this.render = function(ctx, point, angle) {
  2133. ctx.translate(point.x, point.y);
  2134. if (this.attribute("orient").valueOrDefault("auto") == "auto") ctx.rotate(angle);
  2135. if (this.attribute("markerUnits").valueOrDefault("strokeWidth") == "strokeWidth") ctx.scale(ctx.lineWidth, ctx.lineWidth);
  2136. ctx.save();
  2137. // render me using a temporary svg element
  2138. var tempSvg = new svg.Element.svg();
  2139. tempSvg.attributes["viewBox"] = new svg.Property("viewBox", this.attribute("viewBox").value);
  2140. tempSvg.attributes["refX"] = new svg.Property("refX", this.attribute("refX").value);
  2141. tempSvg.attributes["refY"] = new svg.Property("refY", this.attribute("refY").value);
  2142. tempSvg.attributes["width"] = new svg.Property("width", this.attribute("markerWidth").value);
  2143. tempSvg.attributes["height"] = new svg.Property("height", this.attribute("markerHeight").value);
  2144. tempSvg.attributes["fill"] = new svg.Property("fill", this.attribute("fill").valueOrDefault("black"));
  2145. tempSvg.attributes["stroke"] = new svg.Property("stroke", this.attribute("stroke").valueOrDefault("none"));
  2146. tempSvg.children = this.children;
  2147. tempSvg.render(ctx);
  2148. ctx.restore();
  2149. if (this.attribute("markerUnits").valueOrDefault("strokeWidth") == "strokeWidth") ctx.scale(1 / ctx.lineWidth, 1 / ctx.lineWidth);
  2150. if (this.attribute("orient").valueOrDefault("auto") == "auto") ctx.rotate(-angle);
  2151. ctx.translate(-point.x, -point.y);
  2152. };
  2153. };
  2154. svg.Element.marker.prototype = new svg.Element.ElementBase();
  2155. // definitions element
  2156. svg.Element.defs = function(node) {
  2157. this.base = svg.Element.ElementBase;
  2158. this.base(node);
  2159. this.render = function(ctx) {};
  2160. };
  2161. svg.Element.defs.prototype = new svg.Element.ElementBase();
  2162. // base for gradients
  2163. svg.Element.GradientBase = function(node) {
  2164. this.base = svg.Element.ElementBase;
  2165. this.base(node);
  2166. this.gradientUnits = this.attribute("gradientUnits").valueOrDefault("objectBoundingBox");
  2167. this.stops = [];
  2168. for (var i = 0; i < this.children.length; i++) {
  2169. var child = this.children[i];
  2170. if (child.type == "stop") this.stops.push(child);
  2171. }
  2172. this.getGradient = function() {};
  2173. this.createGradient = function(ctx, element, parentOpacityProp) {
  2174. var stopsContainer = this;
  2175. if (this.getHrefAttribute().hasValue()) {
  2176. stopsContainer = this.getHrefAttribute().getDefinition();
  2177. }
  2178. var addParentOpacity = function(color) {
  2179. if (parentOpacityProp.hasValue()) {
  2180. var p = new svg.Property("color", color);
  2181. return p.addOpacity(parentOpacityProp.value).value;
  2182. }
  2183. return color;
  2184. };
  2185. var g = this.getGradient(ctx, element);
  2186. if (g == null) return addParentOpacity(stopsContainer.stops[stopsContainer.stops.length - 1].color);
  2187. for (var i = 0; i < stopsContainer.stops.length; i++) {
  2188. g.addColorStop(stopsContainer.stops[i].offset, addParentOpacity(stopsContainer.stops[i].color));
  2189. }
  2190. if (this.attribute("gradientTransform").hasValue()) {
  2191. // render as transformed pattern on temporary canvas
  2192. var rootView = svg.ViewPort.viewPorts[0];
  2193. var rect = new svg.Element.rect();
  2194. rect.attributes["x"] = new svg.Property("x", -svg.MAX_VIRTUAL_PIXELS / 3);
  2195. rect.attributes["y"] = new svg.Property("y", -svg.MAX_VIRTUAL_PIXELS / 3);
  2196. rect.attributes["width"] = new svg.Property("width", svg.MAX_VIRTUAL_PIXELS);
  2197. rect.attributes["height"] = new svg.Property("height", svg.MAX_VIRTUAL_PIXELS);
  2198. var group = new svg.Element.g();
  2199. group.attributes["transform"] = new svg.Property("transform", this.attribute("gradientTransform").value);
  2200. group.children = [ rect ];
  2201. var tempSvg = new svg.Element.svg();
  2202. tempSvg.attributes["x"] = new svg.Property("x", 0);
  2203. tempSvg.attributes["y"] = new svg.Property("y", 0);
  2204. tempSvg.attributes["width"] = new svg.Property("width", rootView.width);
  2205. tempSvg.attributes["height"] = new svg.Property("height", rootView.height);
  2206. tempSvg.children = [ group ];
  2207. var c = document.createElement("canvas");
  2208. c.width = rootView.width;
  2209. c.height = rootView.height;
  2210. var tempCtx = c.getContext("2d");
  2211. tempCtx.fillStyle = g;
  2212. tempSvg.render(tempCtx);
  2213. return tempCtx.createPattern(c, "no-repeat");
  2214. }
  2215. return g;
  2216. };
  2217. };
  2218. svg.Element.GradientBase.prototype = new svg.Element.ElementBase();
  2219. // linear gradient element
  2220. svg.Element.linearGradient = function(node) {
  2221. this.base = svg.Element.GradientBase;
  2222. this.base(node);
  2223. this.getGradient = function(ctx, element) {
  2224. var bb = element.getBoundingBox();
  2225. if (!this.attribute("x1").hasValue() && !this.attribute("y1").hasValue() && !this.attribute("x2").hasValue() && !this.attribute("y2").hasValue()) {
  2226. this.attribute("x1", true).value = 0;
  2227. this.attribute("y1", true).value = 0;
  2228. this.attribute("x2", true).value = 1;
  2229. this.attribute("y2", true).value = 0;
  2230. }
  2231. var x1 = this.gradientUnits == "objectBoundingBox" ? bb.x() + bb.width() * this.attribute("x1").numValue() : this.attribute("x1").toPixels("x");
  2232. var y1 = this.gradientUnits == "objectBoundingBox" ? bb.y() + bb.height() * this.attribute("y1").numValue() : this.attribute("y1").toPixels("y");
  2233. var x2 = this.gradientUnits == "objectBoundingBox" ? bb.x() + bb.width() * this.attribute("x2").numValue() : this.attribute("x2").toPixels("x");
  2234. var y2 = this.gradientUnits == "objectBoundingBox" ? bb.y() + bb.height() * this.attribute("y2").numValue() : this.attribute("y2").toPixels("y");
  2235. if (x1 == x2 && y1 == y2) return null;
  2236. return ctx.createLinearGradient(x1, y1, x2, y2);
  2237. };
  2238. };
  2239. svg.Element.linearGradient.prototype = new svg.Element.GradientBase();
  2240. // radial gradient element
  2241. svg.Element.radialGradient = function(node) {
  2242. this.base = svg.Element.GradientBase;
  2243. this.base(node);
  2244. this.getGradient = function(ctx, element) {
  2245. var bb = element.getBoundingBox();
  2246. if (!this.attribute("cx").hasValue()) this.attribute("cx", true).value = "50%";
  2247. if (!this.attribute("cy").hasValue()) this.attribute("cy", true).value = "50%";
  2248. if (!this.attribute("r").hasValue()) this.attribute("r", true).value = "50%";
  2249. var cx = this.gradientUnits == "objectBoundingBox" ? bb.x() + bb.width() * this.attribute("cx").numValue() : this.attribute("cx").toPixels("x");
  2250. var cy = this.gradientUnits == "objectBoundingBox" ? bb.y() + bb.height() * this.attribute("cy").numValue() : this.attribute("cy").toPixels("y");
  2251. var fx = cx;
  2252. var fy = cy;
  2253. if (this.attribute("fx").hasValue()) {
  2254. fx = this.gradientUnits == "objectBoundingBox" ? bb.x() + bb.width() * this.attribute("fx").numValue() : this.attribute("fx").toPixels("x");
  2255. }
  2256. if (this.attribute("fy").hasValue()) {
  2257. fy = this.gradientUnits == "objectBoundingBox" ? bb.y() + bb.height() * this.attribute("fy").numValue() : this.attribute("fy").toPixels("y");
  2258. }
  2259. var r = this.gradientUnits == "objectBoundingBox" ? (bb.width() + bb.height()) / 2 * this.attribute("r").numValue() : this.attribute("r").toPixels();
  2260. return ctx.createRadialGradient(fx, fy, 0, cx, cy, r);
  2261. };
  2262. };
  2263. svg.Element.radialGradient.prototype = new svg.Element.GradientBase();
  2264. // gradient stop element
  2265. svg.Element.stop = function(node) {
  2266. this.base = svg.Element.ElementBase;
  2267. this.base(node);
  2268. this.offset = this.attribute("offset").numValue();
  2269. if (this.offset < 0) this.offset = 0;
  2270. if (this.offset > 1) this.offset = 1;
  2271. var stopColor = this.style("stop-color");
  2272. if (this.style("stop-opacity").hasValue()) stopColor = stopColor.addOpacity(this.style("stop-opacity").value);
  2273. this.color = stopColor.value;
  2274. };
  2275. svg.Element.stop.prototype = new svg.Element.ElementBase();
  2276. // animation base element
  2277. svg.Element.AnimateBase = function(node) {
  2278. this.base = svg.Element.ElementBase;
  2279. this.base(node);
  2280. svg.Animations.push(this);
  2281. this.duration = 0;
  2282. this.begin = this.attribute("begin").toMilliseconds();
  2283. this.maxDuration = this.begin + this.attribute("dur").toMilliseconds();
  2284. this.getProperty = function() {
  2285. var attributeType = this.attribute("attributeType").value;
  2286. var attributeName = this.attribute("attributeName").value;
  2287. if (attributeType == "CSS") {
  2288. return this.parent.style(attributeName, true);
  2289. }
  2290. return this.parent.attribute(attributeName, true);
  2291. };
  2292. this.initialValue = null;
  2293. this.initialUnits = "";
  2294. this.removed = false;
  2295. this.calcValue = function() {
  2296. // OVERRIDE ME!
  2297. return "";
  2298. };
  2299. this.update = function(delta) {
  2300. // set initial value
  2301. if (this.initialValue == null) {
  2302. this.initialValue = this.getProperty().value;
  2303. this.initialUnits = this.getProperty().getUnits();
  2304. }
  2305. // if we're past the end time
  2306. if (this.duration > this.maxDuration) {
  2307. // loop for indefinitely repeating animations
  2308. if (this.attribute("repeatCount").value == "indefinite" || this.attribute("repeatDur").value == "indefinite") {
  2309. this.duration = 0;
  2310. } else if (this.attribute("fill").valueOrDefault("remove") == "remove" && !this.removed) {
  2311. this.removed = true;
  2312. this.getProperty().value = this.initialValue;
  2313. return true;
  2314. } else {
  2315. return false;
  2316. }
  2317. }
  2318. this.duration = this.duration + delta;
  2319. // if we're past the begin time
  2320. var updated = false;
  2321. if (this.begin < this.duration) {
  2322. var newValue = this.calcValue();
  2323. // tween
  2324. if (this.attribute("type").hasValue()) {
  2325. // for transform, etc.
  2326. var type = this.attribute("type").value;
  2327. newValue = type + "(" + newValue + ")";
  2328. }
  2329. this.getProperty().value = newValue;
  2330. updated = true;
  2331. }
  2332. return updated;
  2333. };
  2334. this.from = this.attribute("from");
  2335. this.to = this.attribute("to");
  2336. this.values = this.attribute("values");
  2337. if (this.values.hasValue()) this.values.value = this.values.value.split(";");
  2338. // fraction of duration we've covered
  2339. this.progress = function() {
  2340. var ret = {
  2341. progress: (this.duration - this.begin) / (this.maxDuration - this.begin)
  2342. };
  2343. if (this.values.hasValue()) {
  2344. var p = ret.progress * (this.values.value.length - 1);
  2345. var lb = Math.floor(p), ub = Math.ceil(p);
  2346. ret.from = new svg.Property("from", parseFloat(this.values.value[lb]));
  2347. ret.to = new svg.Property("to", parseFloat(this.values.value[ub]));
  2348. ret.progress = (p - lb) / (ub - lb);
  2349. } else {
  2350. ret.from = this.from;
  2351. ret.to = this.to;
  2352. }
  2353. return ret;
  2354. };
  2355. };
  2356. svg.Element.AnimateBase.prototype = new svg.Element.ElementBase();
  2357. // animate element
  2358. svg.Element.animate = function(node) {
  2359. this.base = svg.Element.AnimateBase;
  2360. this.base(node);
  2361. this.calcValue = function() {
  2362. var p = this.progress();
  2363. // tween value linearly
  2364. var newValue = p.from.numValue() + (p.to.numValue() - p.from.numValue()) * p.progress;
  2365. return newValue + this.initialUnits;
  2366. };
  2367. };
  2368. svg.Element.animate.prototype = new svg.Element.AnimateBase();
  2369. // animate color element
  2370. svg.Element.animateColor = function(node) {
  2371. this.base = svg.Element.AnimateBase;
  2372. this.base(node);
  2373. this.calcValue = function() {
  2374. var p = this.progress();
  2375. var from = new RGBColor(p.from.value);
  2376. var to = new RGBColor(p.to.value);
  2377. if (from.ok && to.ok) {
  2378. // tween color linearly
  2379. var r = from.r + (to.r - from.r) * p.progress;
  2380. var g = from.g + (to.g - from.g) * p.progress;
  2381. var b = from.b + (to.b - from.b) * p.progress;
  2382. return "rgb(" + parseInt(r, 10) + "," + parseInt(g, 10) + "," + parseInt(b, 10) + ")";
  2383. }
  2384. return this.attribute("from").value;
  2385. };
  2386. };
  2387. svg.Element.animateColor.prototype = new svg.Element.AnimateBase();
  2388. // animate transform element
  2389. svg.Element.animateTransform = function(node) {
  2390. this.base = svg.Element.AnimateBase;
  2391. this.base(node);
  2392. this.calcValue = function() {
  2393. var p = this.progress();
  2394. // tween value linearly
  2395. var from = svg.ToNumberArray(p.from.value);
  2396. var to = svg.ToNumberArray(p.to.value);
  2397. var newValue = "";
  2398. for (var i = 0; i < from.length; i++) {
  2399. newValue += from[i] + (to[i] - from[i]) * p.progress + " ";
  2400. }
  2401. return newValue;
  2402. };
  2403. };
  2404. svg.Element.animateTransform.prototype = new svg.Element.animate();
  2405. // font element
  2406. svg.Element.font = function(node) {
  2407. this.base = svg.Element.ElementBase;
  2408. this.base(node);
  2409. this.horizAdvX = this.attribute("horiz-adv-x").numValue();
  2410. this.isRTL = false;
  2411. this.isArabic = false;
  2412. this.fontFace = null;
  2413. this.missingGlyph = null;
  2414. this.glyphs = [];
  2415. for (var i = 0; i < this.children.length; i++) {
  2416. var child = this.children[i];
  2417. if (child.type == "font-face") {
  2418. this.fontFace = child;
  2419. if (child.style("font-family").hasValue()) {
  2420. svg.Definitions[child.style("font-family").value] = this;
  2421. }
  2422. } else if (child.type == "missing-glyph") this.missingGlyph = child; else if (child.type == "glyph") {
  2423. if (child.arabicForm != "") {
  2424. this.isRTL = true;
  2425. this.isArabic = true;
  2426. if (typeof this.glyphs[child.unicode] == "undefined") this.glyphs[child.unicode] = [];
  2427. this.glyphs[child.unicode][child.arabicForm] = child;
  2428. } else {
  2429. this.glyphs[child.unicode] = child;
  2430. }
  2431. }
  2432. }
  2433. };
  2434. svg.Element.font.prototype = new svg.Element.ElementBase();
  2435. // font-face element
  2436. svg.Element.fontface = function(node) {
  2437. this.base = svg.Element.ElementBase;
  2438. this.base(node);
  2439. this.ascent = this.attribute("ascent").value;
  2440. this.descent = this.attribute("descent").value;
  2441. this.unitsPerEm = this.attribute("units-per-em").numValue();
  2442. };
  2443. svg.Element.fontface.prototype = new svg.Element.ElementBase();
  2444. // missing-glyph element
  2445. svg.Element.missingglyph = function(node) {
  2446. this.base = svg.Element.path;
  2447. this.base(node);
  2448. this.horizAdvX = 0;
  2449. };
  2450. svg.Element.missingglyph.prototype = new svg.Element.path();
  2451. // glyph element
  2452. svg.Element.glyph = function(node) {
  2453. this.base = svg.Element.path;
  2454. this.base(node);
  2455. this.horizAdvX = this.attribute("horiz-adv-x").numValue();
  2456. this.unicode = this.attribute("unicode").value;
  2457. this.arabicForm = this.attribute("arabic-form").value;
  2458. };
  2459. svg.Element.glyph.prototype = new svg.Element.path();
  2460. // text element
  2461. svg.Element.text = function(node) {
  2462. this.captureTextNodes = true;
  2463. this.base = svg.Element.RenderedElementBase;
  2464. this.base(node);
  2465. this.baseSetContext = this.setContext;
  2466. this.setContext = function(ctx) {
  2467. this.baseSetContext(ctx);
  2468. if (this.style("dominant-baseline").hasValue()) ctx.textBaseline = this.style("dominant-baseline").value;
  2469. if (this.style("alignment-baseline").hasValue()) ctx.textBaseline = this.style("alignment-baseline").value;
  2470. };
  2471. this.getBoundingBox = function() {
  2472. // TODO: implement
  2473. return new svg.BoundingBox(this.attribute("x").toPixels("x"), this.attribute("y").toPixels("y"), 0, 0);
  2474. };
  2475. this.renderChildren = function(ctx) {
  2476. this.x = this.attribute("x").toPixels("x");
  2477. this.y = this.attribute("y").toPixels("y");
  2478. this.x += this.getAnchorDelta(ctx, this, 0);
  2479. for (var i = 0; i < this.children.length; i++) {
  2480. this.renderChild(ctx, this, i);
  2481. }
  2482. };
  2483. this.getAnchorDelta = function(ctx, parent, startI) {
  2484. var textAnchor = this.style("text-anchor").valueOrDefault("start");
  2485. if (textAnchor != "start") {
  2486. var width = 0;
  2487. for (var i = startI; i < parent.children.length; i++) {
  2488. var child = parent.children[i];
  2489. if (i > startI && child.attribute("x").hasValue()) break;
  2490. // new group
  2491. width += child.measureTextRecursive(ctx);
  2492. }
  2493. return -1 * (textAnchor == "end" ? width : width / 2);
  2494. }
  2495. return 0;
  2496. };
  2497. this.renderChild = function(ctx, parent, i) {
  2498. var child = parent.children[i];
  2499. if (child.attribute("x").hasValue()) {
  2500. child.x = child.attribute("x").toPixels("x") + this.getAnchorDelta(ctx, parent, i);
  2501. } else {
  2502. if (this.attribute("dx").hasValue()) this.x += this.attribute("dx").toPixels("x");
  2503. if (child.attribute("dx").hasValue()) this.x += child.attribute("dx").toPixels("x");
  2504. child.x = this.x;
  2505. }
  2506. this.x = child.x + child.measureText(ctx);
  2507. if (child.attribute("y").hasValue()) {
  2508. child.y = child.attribute("y").toPixels("y");
  2509. } else {
  2510. if (this.attribute("dy").hasValue()) this.y += this.attribute("dy").toPixels("y");
  2511. if (child.attribute("dy").hasValue()) this.y += child.attribute("dy").toPixels("y");
  2512. child.y = this.y;
  2513. }
  2514. this.y = child.y;
  2515. child.render(ctx);
  2516. for (var i = 0; i < child.children.length; i++) {
  2517. this.renderChild(ctx, child, i);
  2518. }
  2519. };
  2520. };
  2521. svg.Element.text.prototype = new svg.Element.RenderedElementBase();
  2522. // text base
  2523. svg.Element.TextElementBase = function(node) {
  2524. this.base = svg.Element.RenderedElementBase;
  2525. this.base(node);
  2526. this.getGlyph = function(font, text, i) {
  2527. var c = text[i];
  2528. var glyph = null;
  2529. if (font.isArabic) {
  2530. var arabicForm = "isolated";
  2531. if ((i == 0 || text[i - 1] == " ") && i < text.length - 2 && text[i + 1] != " ") arabicForm = "terminal";
  2532. if (i > 0 && text[i - 1] != " " && i < text.length - 2 && text[i + 1] != " ") arabicForm = "medial";
  2533. if (i > 0 && text[i - 1] != " " && (i == text.length - 1 || text[i + 1] == " ")) arabicForm = "initial";
  2534. if (typeof font.glyphs[c] != "undefined") {
  2535. glyph = font.glyphs[c][arabicForm];
  2536. if (glyph == null && font.glyphs[c].type == "glyph") glyph = font.glyphs[c];
  2537. }
  2538. } else {
  2539. glyph = font.glyphs[c];
  2540. }
  2541. if (glyph == null) glyph = font.missingGlyph;
  2542. return glyph;
  2543. };
  2544. this.renderChildren = function(ctx) {
  2545. var customFont = this.parent.style("font-family").getDefinition();
  2546. if (customFont != null) {
  2547. var fontSize = this.parent.style("font-size").numValueOrDefault(svg.Font.Parse(svg.ctx.font).fontSize);
  2548. var fontStyle = this.parent.style("font-style").valueOrDefault(svg.Font.Parse(svg.ctx.font).fontStyle);
  2549. var text = this.getText();
  2550. if (customFont.isRTL) text = text.split("").reverse().join("");
  2551. var dx = svg.ToNumberArray(this.parent.attribute("dx").value);
  2552. for (var i = 0; i < text.length; i++) {
  2553. var glyph = this.getGlyph(customFont, text, i);
  2554. var scale = fontSize / customFont.fontFace.unitsPerEm;
  2555. ctx.translate(this.x, this.y);
  2556. ctx.scale(scale, -scale);
  2557. var lw = ctx.lineWidth;
  2558. ctx.lineWidth = ctx.lineWidth * customFont.fontFace.unitsPerEm / fontSize;
  2559. if (fontStyle == "italic") ctx.transform(1, 0, .4, 1, 0, 0);
  2560. glyph.render(ctx);
  2561. if (fontStyle == "italic") ctx.transform(1, 0, -.4, 1, 0, 0);
  2562. ctx.lineWidth = lw;
  2563. ctx.scale(1 / scale, -1 / scale);
  2564. ctx.translate(-this.x, -this.y);
  2565. this.x += fontSize * (glyph.horizAdvX || customFont.horizAdvX) / customFont.fontFace.unitsPerEm;
  2566. if (typeof dx[i] != "undefined" && !isNaN(dx[i])) {
  2567. this.x += dx[i];
  2568. }
  2569. }
  2570. return;
  2571. }
  2572. if (ctx.fillStyle != "") ctx.fillText(svg.compressSpaces(this.getText()), this.x, this.y);
  2573. if (ctx.strokeStyle != "") ctx.strokeText(svg.compressSpaces(this.getText()), this.x, this.y);
  2574. };
  2575. this.getText = function() {};
  2576. this.measureTextRecursive = function(ctx) {
  2577. var width = this.measureText(ctx);
  2578. for (var i = 0; i < this.children.length; i++) {
  2579. width += this.children[i].measureTextRecursive(ctx);
  2580. }
  2581. return width;
  2582. };
  2583. this.measureText = function(ctx) {
  2584. var customFont = this.parent.style("font-family").getDefinition();
  2585. if (customFont != null) {
  2586. var fontSize = this.parent.style("font-size").numValueOrDefault(svg.Font.Parse(svg.ctx.font).fontSize);
  2587. var measure = 0;
  2588. var text = this.getText();
  2589. if (customFont.isRTL) text = text.split("").reverse().join("");
  2590. var dx = svg.ToNumberArray(this.parent.attribute("dx").value);
  2591. for (var i = 0; i < text.length; i++) {
  2592. var glyph = this.getGlyph(customFont, text, i);
  2593. measure += (glyph.horizAdvX || customFont.horizAdvX) * fontSize / customFont.fontFace.unitsPerEm;
  2594. if (typeof dx[i] != "undefined" && !isNaN(dx[i])) {
  2595. measure += dx[i];
  2596. }
  2597. }
  2598. return measure;
  2599. }
  2600. var textToMeasure = svg.compressSpaces(this.getText());
  2601. if (!ctx.measureText) return textToMeasure.length * 10;
  2602. ctx.save();
  2603. this.setContext(ctx);
  2604. var width = ctx.measureText(textToMeasure).width;
  2605. ctx.restore();
  2606. return width;
  2607. };
  2608. };
  2609. svg.Element.TextElementBase.prototype = new svg.Element.RenderedElementBase();
  2610. // tspan
  2611. svg.Element.tspan = function(node) {
  2612. this.captureTextNodes = true;
  2613. this.base = svg.Element.TextElementBase;
  2614. this.base(node);
  2615. this.text = node.nodeValue || node.text || "";
  2616. this.getText = function() {
  2617. return this.text;
  2618. };
  2619. };
  2620. svg.Element.tspan.prototype = new svg.Element.TextElementBase();
  2621. // tref
  2622. svg.Element.tref = function(node) {
  2623. this.base = svg.Element.TextElementBase;
  2624. this.base(node);
  2625. this.getText = function() {
  2626. var element = this.getHrefAttribute().getDefinition();
  2627. if (element != null) return element.children[0].getText();
  2628. };
  2629. };
  2630. svg.Element.tref.prototype = new svg.Element.TextElementBase();
  2631. // a element
  2632. svg.Element.a = function(node) {
  2633. this.base = svg.Element.TextElementBase;
  2634. this.base(node);
  2635. this.hasText = true;
  2636. for (var i = 0; i < node.childNodes.length; i++) {
  2637. if (node.childNodes[i].nodeType != 3) this.hasText = false;
  2638. }
  2639. // this might contain text
  2640. this.text = this.hasText ? node.childNodes[0].nodeValue : "";
  2641. this.getText = function() {
  2642. return this.text;
  2643. };
  2644. this.baseRenderChildren = this.renderChildren;
  2645. this.renderChildren = function(ctx) {
  2646. if (this.hasText) {
  2647. // render as text element
  2648. this.baseRenderChildren(ctx);
  2649. var fontSize = new svg.Property("fontSize", svg.Font.Parse(svg.ctx.font).fontSize);
  2650. svg.Mouse.checkBoundingBox(this, new svg.BoundingBox(this.x, this.y - fontSize.toPixels("y"), this.x + this.measureText(ctx), this.y));
  2651. } else {
  2652. // render as temporary group
  2653. var g = new svg.Element.g();
  2654. g.children = this.children;
  2655. g.parent = this;
  2656. g.render(ctx);
  2657. }
  2658. };
  2659. this.onclick = function() {
  2660. window.open(this.getHrefAttribute().value);
  2661. };
  2662. this.onmousemove = function() {
  2663. svg.ctx.canvas.style.cursor = "pointer";
  2664. };
  2665. };
  2666. svg.Element.a.prototype = new svg.Element.TextElementBase();
  2667. // image element
  2668. svg.Element.image = function(node) {
  2669. this.base = svg.Element.RenderedElementBase;
  2670. this.base(node);
  2671. var href = this.getHrefAttribute().value;
  2672. var isSvg = href.match(/\.svg$/);
  2673. svg.Images.push(this);
  2674. this.loaded = false;
  2675. if (!isSvg) {
  2676. this.img = document.createElement("img");
  2677. var self = this;
  2678. this.img.onload = function() {
  2679. self.loaded = true;
  2680. };
  2681. this.img.onerror = function() {
  2682. if (typeof console != "undefined") {
  2683. console.log('ERROR: image "' + href + '" not found');
  2684. self.loaded = true;
  2685. }
  2686. };
  2687. this.img.src = href;
  2688. } else {
  2689. this.img = svg.ajax(href);
  2690. this.loaded = true;
  2691. }
  2692. this.renderChildren = function(ctx) {
  2693. var x = this.attribute("x").toPixels("x");
  2694. var y = this.attribute("y").toPixels("y");
  2695. var width = this.attribute("width").toPixels("x");
  2696. var height = this.attribute("height").toPixels("y");
  2697. if (width == 0 || height == 0) return;
  2698. ctx.save();
  2699. if (isSvg) {
  2700. ctx.drawSvg(this.img, x, y, width, height);
  2701. } else {
  2702. ctx.translate(x, y);
  2703. svg.AspectRatio(ctx, this.attribute("preserveAspectRatio").value, width, this.img.width, height, this.img.height, 0, 0);
  2704. ctx.drawImage(this.img, 0, 0);
  2705. }
  2706. ctx.restore();
  2707. };
  2708. this.getBoundingBox = function() {
  2709. var x = this.attribute("x").toPixels("x");
  2710. var y = this.attribute("y").toPixels("y");
  2711. var width = this.attribute("width").toPixels("x");
  2712. var height = this.attribute("height").toPixels("y");
  2713. return new svg.BoundingBox(x, y, x + width, y + height);
  2714. };
  2715. };
  2716. svg.Element.image.prototype = new svg.Element.RenderedElementBase();
  2717. // group element
  2718. svg.Element.g = function(node) {
  2719. this.base = svg.Element.RenderedElementBase;
  2720. this.base(node);
  2721. this.getBoundingBox = function() {
  2722. var bb = new svg.BoundingBox();
  2723. for (var i = 0; i < this.children.length; i++) {
  2724. bb.addBoundingBox(this.children[i].getBoundingBox());
  2725. }
  2726. return bb;
  2727. };
  2728. };
  2729. svg.Element.g.prototype = new svg.Element.RenderedElementBase();
  2730. // symbol element
  2731. svg.Element.symbol = function(node) {
  2732. this.base = svg.Element.RenderedElementBase;
  2733. this.base(node);
  2734. this.baseSetContext = this.setContext;
  2735. this.setContext = function(ctx) {
  2736. this.baseSetContext(ctx);
  2737. // viewbox
  2738. if (this.attribute("viewBox").hasValue()) {
  2739. var viewBox = svg.ToNumberArray(this.attribute("viewBox").value);
  2740. var minX = viewBox[0];
  2741. var minY = viewBox[1];
  2742. width = viewBox[2];
  2743. height = viewBox[3];
  2744. svg.AspectRatio(ctx, this.attribute("preserveAspectRatio").value, this.attribute("width").toPixels("x"), width, this.attribute("height").toPixels("y"), height, minX, minY);
  2745. svg.ViewPort.SetCurrent(viewBox[2], viewBox[3]);
  2746. }
  2747. };
  2748. };
  2749. svg.Element.symbol.prototype = new svg.Element.RenderedElementBase();
  2750. // style element
  2751. svg.Element.style = function(node) {
  2752. this.base = svg.Element.ElementBase;
  2753. this.base(node);
  2754. // text, or spaces then CDATA
  2755. var css = "";
  2756. for (var i = 0; i < node.childNodes.length; i++) {
  2757. css += node.childNodes[i].nodeValue;
  2758. }
  2759. css = css.replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm, "");
  2760. // remove comments
  2761. css = svg.compressSpaces(css);
  2762. // replace whitespace
  2763. var cssDefs = css.split("}");
  2764. for (var i = 0; i < cssDefs.length; i++) {
  2765. if (svg.trim(cssDefs[i]) != "") {
  2766. var cssDef = cssDefs[i].split("{");
  2767. var cssClasses = cssDef[0].split(",");
  2768. var cssProps = cssDef[1].split(";");
  2769. for (var j = 0; j < cssClasses.length; j++) {
  2770. var cssClass = svg.trim(cssClasses[j]);
  2771. if (cssClass != "") {
  2772. var props = {};
  2773. for (var k = 0; k < cssProps.length; k++) {
  2774. var prop = cssProps[k].indexOf(":");
  2775. var name = cssProps[k].substr(0, prop);
  2776. var value = cssProps[k].substr(prop + 1, cssProps[k].length - prop);
  2777. if (name != null && value != null) {
  2778. props[svg.trim(name)] = new svg.Property(svg.trim(name), svg.trim(value));
  2779. }
  2780. }
  2781. svg.Styles[cssClass] = props;
  2782. if (cssClass == "@font-face") {
  2783. var fontFamily = props["font-family"].value.replace(/"/g, "");
  2784. var srcs = props["src"].value.split(",");
  2785. for (var s = 0; s < srcs.length; s++) {
  2786. if (srcs[s].indexOf('format("svg")') > 0) {
  2787. var urlStart = srcs[s].indexOf("url");
  2788. var urlEnd = srcs[s].indexOf(")", urlStart);
  2789. var url = srcs[s].substr(urlStart + 5, urlEnd - urlStart - 6);
  2790. var doc = svg.parseXml(svg.ajax(url));
  2791. var fonts = doc.getElementsByTagName("font");
  2792. for (var f = 0; f < fonts.length; f++) {
  2793. var font = svg.CreateElement(fonts[f]);
  2794. svg.Definitions[fontFamily] = font;
  2795. }
  2796. }
  2797. }
  2798. }
  2799. }
  2800. }
  2801. }
  2802. }
  2803. };
  2804. svg.Element.style.prototype = new svg.Element.ElementBase();
  2805. // use element
  2806. svg.Element.use = function(node) {
  2807. this.base = svg.Element.RenderedElementBase;
  2808. this.base(node);
  2809. this.baseSetContext = this.setContext;
  2810. this.setContext = function(ctx) {
  2811. this.baseSetContext(ctx);
  2812. if (this.attribute("x").hasValue()) ctx.translate(this.attribute("x").toPixels("x"), 0);
  2813. if (this.attribute("y").hasValue()) ctx.translate(0, this.attribute("y").toPixels("y"));
  2814. };
  2815. this.getDefinition = function() {
  2816. var element = this.getHrefAttribute().getDefinition();
  2817. if (this.attribute("width").hasValue()) element.attribute("width", true).value = this.attribute("width").value;
  2818. if (this.attribute("height").hasValue()) element.attribute("height", true).value = this.attribute("height").value;
  2819. return element;
  2820. };
  2821. this.path = function(ctx) {
  2822. var element = this.getDefinition();
  2823. if (element != null) element.path(ctx);
  2824. };
  2825. this.getBoundingBox = function() {
  2826. var element = this.getDefinition();
  2827. if (element != null) return element.getBoundingBox();
  2828. };
  2829. this.renderChildren = function(ctx) {
  2830. var element = this.getDefinition();
  2831. if (element != null) {
  2832. // temporarily detach from parent and render
  2833. var oldParent = element.parent;
  2834. element.parent = null;
  2835. element.render(ctx);
  2836. element.parent = oldParent;
  2837. }
  2838. };
  2839. };
  2840. svg.Element.use.prototype = new svg.Element.RenderedElementBase();
  2841. // mask element
  2842. svg.Element.mask = function(node) {
  2843. this.base = svg.Element.ElementBase;
  2844. this.base(node);
  2845. this.apply = function(ctx, element) {
  2846. // render as temp svg
  2847. var x = this.attribute("x").toPixels("x");
  2848. var y = this.attribute("y").toPixels("y");
  2849. var width = this.attribute("width").toPixels("x");
  2850. var height = this.attribute("height").toPixels("y");
  2851. if (width == 0 && height == 0) {
  2852. var bb = new svg.BoundingBox();
  2853. for (var i = 0; i < this.children.length; i++) {
  2854. bb.addBoundingBox(this.children[i].getBoundingBox());
  2855. }
  2856. var x = Math.floor(bb.x1);
  2857. var y = Math.floor(bb.y1);
  2858. var width = Math.floor(bb.width());
  2859. var height = Math.floor(bb.height());
  2860. }
  2861. // temporarily remove mask to avoid recursion
  2862. var mask = element.attribute("mask").value;
  2863. element.attribute("mask").value = "";
  2864. var cMask = document.createElement("canvas");
  2865. cMask.width = x + width;
  2866. cMask.height = y + height;
  2867. var maskCtx = cMask.getContext("2d");
  2868. this.renderChildren(maskCtx);
  2869. var c = document.createElement("canvas");
  2870. c.width = x + width;
  2871. c.height = y + height;
  2872. var tempCtx = c.getContext("2d");
  2873. element.render(tempCtx);
  2874. tempCtx.globalCompositeOperation = "destination-in";
  2875. tempCtx.fillStyle = maskCtx.createPattern(cMask, "no-repeat");
  2876. tempCtx.fillRect(0, 0, x + width, y + height);
  2877. ctx.fillStyle = tempCtx.createPattern(c, "no-repeat");
  2878. ctx.fillRect(0, 0, x + width, y + height);
  2879. // reassign mask
  2880. element.attribute("mask").value = mask;
  2881. };
  2882. this.render = function(ctx) {};
  2883. };
  2884. svg.Element.mask.prototype = new svg.Element.ElementBase();
  2885. // clip element
  2886. svg.Element.clipPath = function(node) {
  2887. this.base = svg.Element.ElementBase;
  2888. this.base(node);
  2889. this.apply = function(ctx) {
  2890. for (var i = 0; i < this.children.length; i++) {
  2891. var child = this.children[i];
  2892. if (typeof child.path != "undefined") {
  2893. var transform = null;
  2894. if (child.attribute("transform").hasValue()) {
  2895. transform = new svg.Transform(child.attribute("transform").value);
  2896. transform.apply(ctx);
  2897. }
  2898. child.path(ctx);
  2899. ctx.clip();
  2900. if (transform) {
  2901. transform.unapply(ctx);
  2902. }
  2903. }
  2904. }
  2905. };
  2906. this.render = function(ctx) {};
  2907. };
  2908. svg.Element.clipPath.prototype = new svg.Element.ElementBase();
  2909. // filters
  2910. svg.Element.filter = function(node) {
  2911. this.base = svg.Element.ElementBase;
  2912. this.base(node);
  2913. this.apply = function(ctx, element) {
  2914. // render as temp svg
  2915. var bb = element.getBoundingBox();
  2916. var x = Math.floor(bb.x1);
  2917. var y = Math.floor(bb.y1);
  2918. var width = Math.floor(bb.width());
  2919. var height = Math.floor(bb.height());
  2920. // temporarily remove filter to avoid recursion
  2921. var filter = element.style("filter").value;
  2922. element.style("filter").value = "";
  2923. var px = 0, py = 0;
  2924. for (var i = 0; i < this.children.length; i++) {
  2925. var efd = this.children[i].extraFilterDistance || 0;
  2926. px = Math.max(px, efd);
  2927. py = Math.max(py, efd);
  2928. }
  2929. var c = document.createElement("canvas");
  2930. c.width = width + 2 * px;
  2931. c.height = height + 2 * py;
  2932. var tempCtx = c.getContext("2d");
  2933. tempCtx.translate(-x + px, -y + py);
  2934. element.render(tempCtx);
  2935. // apply filters
  2936. for (var i = 0; i < this.children.length; i++) {
  2937. this.children[i].apply(tempCtx, 0, 0, width + 2 * px, height + 2 * py);
  2938. }
  2939. // render on me
  2940. ctx.drawImage(c, 0, 0, width + 2 * px, height + 2 * py, x - px, y - py, width + 2 * px, height + 2 * py);
  2941. // reassign filter
  2942. element.style("filter", true).value = filter;
  2943. };
  2944. this.render = function(ctx) {};
  2945. };
  2946. svg.Element.filter.prototype = new svg.Element.ElementBase();
  2947. svg.Element.feMorphology = function(node) {
  2948. this.base = svg.Element.ElementBase;
  2949. this.base(node);
  2950. this.apply = function(ctx, x, y, width, height) {};
  2951. };
  2952. svg.Element.feMorphology.prototype = new svg.Element.ElementBase();
  2953. svg.Element.feColorMatrix = function(node) {
  2954. this.base = svg.Element.ElementBase;
  2955. this.base(node);
  2956. function imGet(img, x, y, width, height, rgba) {
  2957. return img[y * width * 4 + x * 4 + rgba];
  2958. }
  2959. function imSet(img, x, y, width, height, rgba, val) {
  2960. img[y * width * 4 + x * 4 + rgba] = val;
  2961. }
  2962. this.apply = function(ctx, x, y, width, height) {
  2963. // only supporting grayscale for now per Issue 195, need to extend to all matrix
  2964. // assuming x==0 && y==0 for now
  2965. var srcData = ctx.getImageData(0, 0, width, height);
  2966. for (var y = 0; y < height; y++) {
  2967. for (var x = 0; x < width; x++) {
  2968. var r = imGet(srcData.data, x, y, width, height, 0);
  2969. var g = imGet(srcData.data, x, y, width, height, 1);
  2970. var b = imGet(srcData.data, x, y, width, height, 2);
  2971. var gray = (r + g + b) / 3;
  2972. imSet(srcData.data, x, y, width, height, 0, gray);
  2973. imSet(srcData.data, x, y, width, height, 1, gray);
  2974. imSet(srcData.data, x, y, width, height, 2, gray);
  2975. }
  2976. }
  2977. ctx.clearRect(0, 0, width, height);
  2978. ctx.putImageData(srcData, 0, 0);
  2979. };
  2980. };
  2981. svg.Element.feColorMatrix.prototype = new svg.Element.ElementBase();
  2982. svg.Element.feGaussianBlur = function(node) {
  2983. this.base = svg.Element.ElementBase;
  2984. this.base(node);
  2985. this.blurRadius = Math.floor(this.attribute("stdDeviation").numValue());
  2986. this.extraFilterDistance = this.blurRadius;
  2987. this.apply = function(ctx, x, y, width, height) {
  2988. if (typeof stackBlurCanvasRGBA == "undefined") {
  2989. if (typeof console != "undefined") {
  2990. console.log("ERROR: StackBlur.js must be included for blur to work");
  2991. }
  2992. return;
  2993. }
  2994. // StackBlur requires canvas be on document
  2995. ctx.canvas.id = svg.UniqueId();
  2996. ctx.canvas.style.display = "none";
  2997. document.body.appendChild(ctx.canvas);
  2998. stackBlurCanvasRGBA(ctx.canvas.id, x, y, width, height, this.blurRadius);
  2999. document.body.removeChild(ctx.canvas);
  3000. };
  3001. };
  3002. svg.Element.feGaussianBlur.prototype = new svg.Element.ElementBase();
  3003. // title element, do nothing
  3004. svg.Element.title = function(node) {};
  3005. svg.Element.title.prototype = new svg.Element.ElementBase();
  3006. // desc element, do nothing
  3007. svg.Element.desc = function(node) {};
  3008. svg.Element.desc.prototype = new svg.Element.ElementBase();
  3009. svg.Element.MISSING = function(node) {
  3010. if (typeof console != "undefined") {
  3011. console.log("ERROR: Element '" + node.nodeName + "' not yet implemented.");
  3012. }
  3013. };
  3014. svg.Element.MISSING.prototype = new svg.Element.ElementBase();
  3015. // element factory
  3016. svg.CreateElement = function(node) {
  3017. var className = node.nodeName.replace(/^[^:]+:/, "");
  3018. // remove namespace
  3019. className = className.replace(/\-/g, "");
  3020. // remove dashes
  3021. var e = null;
  3022. if (typeof svg.Element[className] != "undefined") {
  3023. e = new svg.Element[className](node);
  3024. } else {
  3025. e = new svg.Element.MISSING(node);
  3026. }
  3027. e.type = node.nodeName;
  3028. return e;
  3029. };
  3030. // load from url
  3031. svg.load = function(ctx, url) {
  3032. svg.loadXml(ctx, svg.ajax(url));
  3033. };
  3034. // load from xml
  3035. svg.loadXml = function(ctx, xml) {
  3036. svg.loadXmlDoc(ctx, svg.parseXml(xml));
  3037. };
  3038. svg.loadXmlDoc = function(ctx, dom) {
  3039. svg.init(ctx);
  3040. var mapXY = function(p) {
  3041. var e = ctx.canvas;
  3042. while (e) {
  3043. p.x -= e.offsetLeft;
  3044. p.y -= e.offsetTop;
  3045. e = e.offsetParent;
  3046. }
  3047. if (window.scrollX) p.x += window.scrollX;
  3048. if (window.scrollY) p.y += window.scrollY;
  3049. return p;
  3050. };
  3051. // bind mouse
  3052. if (svg.opts["ignoreMouse"] != true) {
  3053. ctx.canvas.onclick = function(e) {
  3054. var p = mapXY(new svg.Point(e != null ? e.clientX : event.clientX, e != null ? e.clientY : event.clientY));
  3055. svg.Mouse.onclick(p.x, p.y);
  3056. };
  3057. ctx.canvas.onmousemove = function(e) {
  3058. var p = mapXY(new svg.Point(e != null ? e.clientX : event.clientX, e != null ? e.clientY : event.clientY));
  3059. svg.Mouse.onmousemove(p.x, p.y);
  3060. };
  3061. }
  3062. var e = svg.CreateElement(dom.documentElement);
  3063. e.root = true;
  3064. // render loop
  3065. var isFirstRender = true;
  3066. var draw = function() {
  3067. svg.ViewPort.Clear();
  3068. if (ctx.canvas.parentNode) svg.ViewPort.SetCurrent(ctx.canvas.parentNode.clientWidth, ctx.canvas.parentNode.clientHeight);
  3069. if (svg.opts["ignoreDimensions"] != true) {
  3070. // set canvas size
  3071. if (e.style("width").hasValue()) {
  3072. ctx.canvas.width = e.style("width").toPixels("x");
  3073. ctx.canvas.style.width = ctx.canvas.width + "px";
  3074. }
  3075. if (e.style("height").hasValue()) {
  3076. ctx.canvas.height = e.style("height").toPixels("y");
  3077. ctx.canvas.style.height = ctx.canvas.height + "px";
  3078. }
  3079. }
  3080. var cWidth = ctx.canvas.clientWidth || ctx.canvas.width;
  3081. var cHeight = ctx.canvas.clientHeight || ctx.canvas.height;
  3082. if (svg.opts["ignoreDimensions"] == true && e.style("width").hasValue() && e.style("height").hasValue()) {
  3083. cWidth = e.style("width").toPixels("x");
  3084. cHeight = e.style("height").toPixels("y");
  3085. }
  3086. svg.ViewPort.SetCurrent(cWidth, cHeight);
  3087. if (svg.opts["offsetX"] != null) e.attribute("x", true).value = svg.opts["offsetX"];
  3088. if (svg.opts["offsetY"] != null) e.attribute("y", true).value = svg.opts["offsetY"];
  3089. if (svg.opts["scaleWidth"] != null && svg.opts["scaleHeight"] != null) {
  3090. var xRatio = 1, yRatio = 1, viewBox = svg.ToNumberArray(e.attribute("viewBox").value);
  3091. if (e.attribute("width").hasValue()) xRatio = e.attribute("width").toPixels("x") / svg.opts["scaleWidth"]; else if (!isNaN(viewBox[2])) xRatio = viewBox[2] / svg.opts["scaleWidth"];
  3092. if (e.attribute("height").hasValue()) yRatio = e.attribute("height").toPixels("y") / svg.opts["scaleHeight"]; else if (!isNaN(viewBox[3])) yRatio = viewBox[3] / svg.opts["scaleHeight"];
  3093. e.attribute("width", true).value = svg.opts["scaleWidth"];
  3094. e.attribute("height", true).value = svg.opts["scaleHeight"];
  3095. e.attribute("viewBox", true).value = "0 0 " + cWidth * xRatio + " " + cHeight * yRatio;
  3096. e.attribute("preserveAspectRatio", true).value = "none";
  3097. }
  3098. // clear and render
  3099. if (svg.opts["ignoreClear"] != true) {
  3100. ctx.clearRect(0, 0, cWidth, cHeight);
  3101. }
  3102. e.render(ctx);
  3103. if (isFirstRender) {
  3104. isFirstRender = false;
  3105. if (typeof svg.opts["renderCallback"] == "function") svg.opts["renderCallback"](dom);
  3106. }
  3107. };
  3108. var waitingForImages = true;
  3109. if (svg.ImagesLoaded()) {
  3110. waitingForImages = false;
  3111. draw();
  3112. }
  3113. svg.intervalID = setInterval(function() {
  3114. var needUpdate = false;
  3115. if (waitingForImages && svg.ImagesLoaded()) {
  3116. waitingForImages = false;
  3117. needUpdate = true;
  3118. }
  3119. // need update from mouse events?
  3120. if (svg.opts["ignoreMouse"] != true) {
  3121. needUpdate = needUpdate | svg.Mouse.hasEvents();
  3122. }
  3123. // need update from animations?
  3124. if (svg.opts["ignoreAnimation"] != true) {
  3125. for (var i = 0; i < svg.Animations.length; i++) {
  3126. needUpdate = needUpdate | svg.Animations[i].update(1e3 / svg.FRAMERATE);
  3127. }
  3128. }
  3129. // need update from redraw?
  3130. if (typeof svg.opts["forceRedraw"] == "function") {
  3131. if (svg.opts["forceRedraw"]() == true) needUpdate = true;
  3132. }
  3133. // render if needed
  3134. if (needUpdate) {
  3135. draw();
  3136. svg.Mouse.runEvents();
  3137. }
  3138. }, 1e3 / svg.FRAMERATE);
  3139. };
  3140. svg.stop = function() {
  3141. if (svg.intervalID) {
  3142. clearInterval(svg.intervalID);
  3143. }
  3144. };
  3145. svg.Mouse = new function() {
  3146. this.events = [];
  3147. this.hasEvents = function() {
  3148. return this.events.length != 0;
  3149. };
  3150. this.onclick = function(x, y) {
  3151. this.events.push({
  3152. type: "onclick",
  3153. x: x,
  3154. y: y,
  3155. run: function(e) {
  3156. if (e.onclick) e.onclick();
  3157. }
  3158. });
  3159. };
  3160. this.onmousemove = function(x, y) {
  3161. this.events.push({
  3162. type: "onmousemove",
  3163. x: x,
  3164. y: y,
  3165. run: function(e) {
  3166. if (e.onmousemove) e.onmousemove();
  3167. }
  3168. });
  3169. };
  3170. this.eventElements = [];
  3171. this.checkPath = function(element, ctx) {
  3172. for (var i = 0; i < this.events.length; i++) {
  3173. var e = this.events[i];
  3174. if (ctx.isPointInPath && ctx.isPointInPath(e.x, e.y)) this.eventElements[i] = element;
  3175. }
  3176. };
  3177. this.checkBoundingBox = function(element, bb) {
  3178. for (var i = 0; i < this.events.length; i++) {
  3179. var e = this.events[i];
  3180. if (bb.isPointInBox(e.x, e.y)) this.eventElements[i] = element;
  3181. }
  3182. };
  3183. this.runEvents = function() {
  3184. svg.ctx.canvas.style.cursor = "";
  3185. for (var i = 0; i < this.events.length; i++) {
  3186. var e = this.events[i];
  3187. var element = this.eventElements[i];
  3188. while (element) {
  3189. e.run(element);
  3190. element = element.parent;
  3191. }
  3192. }
  3193. // done running, clear
  3194. this.events = [];
  3195. this.eventElements = [];
  3196. };
  3197. }();
  3198. return svg;
  3199. }
  3200. })();
  3201. if (typeof CanvasRenderingContext2D != "undefined") {
  3202. CanvasRenderingContext2D.prototype.drawSvg = function(s, dx, dy, dw, dh) {
  3203. canvg(this.canvas, s, {
  3204. ignoreMouse: true,
  3205. ignoreAnimation: true,
  3206. ignoreDimensions: true,
  3207. ignoreClear: true,
  3208. offsetX: dx,
  3209. offsetY: dy,
  3210. scaleWidth: dw,
  3211. scaleHeight: dh
  3212. });
  3213. };
  3214. }
  3215. return canvg;
  3216. }
  3217. };
  3218. /*!
  3219. * 输出转换器,提供输出支持
  3220. */
  3221. _p[1] = {
  3222. value: function(require) {
  3223. var kity = _p.r(34), canvg = _p.r(0);
  3224. return kity.createClass("Output", {
  3225. constructor: function(formula) {
  3226. this.formula = formula;
  3227. },
  3228. toJPG: function(cb) {
  3229. toImage(this.formula, "image/jpeg", cb);
  3230. },
  3231. toPNG: function(cb) {
  3232. toImage(this.formula, "image/png", cb);
  3233. }
  3234. });
  3235. function toImage(formula, type, cb) {
  3236. var rectSpace = formula.container.getRenderBox();
  3237. return getBase64DataURL(formula.node.ownerDocument, {
  3238. width: rectSpace.width,
  3239. height: rectSpace.height,
  3240. content: getSVGContent(formula.node)
  3241. }, type, cb);
  3242. }
  3243. function getBase64DataURL(doc, data, type, cb) {
  3244. var canvas = null, args = arguments, ctx = null;
  3245. if (!isChromeCore()) {
  3246. drawToCanvas.apply(null, args);
  3247. } else {
  3248. canvas = getImageCanvas(doc, data.width, data.height, type);
  3249. ctx = canvas.getContext("2d");
  3250. var image = new Image();
  3251. image.onload = function() {
  3252. try {
  3253. ctx.drawImage(image, 0, 0);
  3254. cb(canvas.toDataURL(type));
  3255. } catch (e) {
  3256. drawToCanvas.apply(null, args);
  3257. }
  3258. };
  3259. image.src = getSVGDataURL(data.content);
  3260. }
  3261. }
  3262. function getSVGContent(svgNode) {
  3263. var tmp = svgNode.ownerDocument.createElement("div"), start = [ '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="', svgNode.getAttribute("width"), '" height="', svgNode.getAttribute("height"), '">' ];
  3264. tmp.appendChild(svgNode.cloneNode(true));
  3265. return tmp.innerHTML.replace(/<svg[^>]+?>/i, start.join("")).replace(/&nbsp;/g, "");
  3266. }
  3267. function getSVGDataURL(data) {
  3268. return "data:image/svg+xml;base64," + window.btoa(unescape(encodeURIComponent(data)));
  3269. }
  3270. function getImageCanvas(doc, width, height, type) {
  3271. var canvas = doc.createElement("canvas"), ctx = canvas.getContext("2d");
  3272. canvas.width = width;
  3273. canvas.height = height;
  3274. if (type !== "image/png") {
  3275. ctx.fillStyle = "white";
  3276. ctx.fillRect(0, 0, canvas.width, canvas.height);
  3277. }
  3278. return canvas;
  3279. }
  3280. function drawToCanvas(doc, data, type, cb) {
  3281. var canvas = getImageCanvas(doc, data.width, data.height, type);
  3282. canvas.style.cssText = "position: absolute; top: 0; left: 100000px; z-index: -1;";
  3283. doc.body.appendChild(canvas);
  3284. canvg(canvas, data.content);
  3285. doc.body.removeChild(canvas);
  3286. window.setTimeout(function() {
  3287. cb(canvas.toDataURL(type));
  3288. }, 50);
  3289. }
  3290. function isChromeCore() {
  3291. return window.navigator.userAgent.indexOf("Chrome") !== -1;
  3292. }
  3293. }
  3294. };
  3295. /*!
  3296. * 所有字符的列表
  3297. */
  3298. _p[2] = {
  3299. value: function() {
  3300. return [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "&#x237;", "&#x131;", "&#x3b1;", "&#x3b2;", "&#x3b3;", "&#x3b4;", "&#x3b5;", "&#x3b6;", "&#x3b7;", "&#x3b8;", "&#x3b9;", "&#x3ba;", "&#x3bb;", "&#x3bc;", "&#x3bd;", "&#x3be;", "&#x3bf;", "&#x3c0;", "&#x3c1;", "&#x3c2;", "&#x3c3;", "&#x3c4;", "&#x3c5;", "&#x3c6;", "&#x3c7;", "&#x3c8;", "&#x3c9;", "&#x3d1;", "&#x3d5;", "&#x3d6;", "&#x3de;", "&#x3dc;", "&#x3f5;", "&#x3f1;", "&#x3f9;", "&#x211c;", "&#x2135;", "&#x2111;", "&#x2127;", "&#x2136;", "&#x2137;", "&#x2138;", "&#xf0;", "&#x210f;", "&#x2141;", "&#x210e;", "&#x2202;", "&#x2118;", "&#x214c;", "&#x2132;", "&#x2201;", "&#x2113;", "&#x24c8;", "(", ")", "&#x393;", "&#x394;", "&#x395;", "&#x396;", "&#x397;", "&#x398;", "&#x399;", "&#x39a;", "&#x39b;", "&#x39c;", "&#x39d;", "&#x39e;", "&#x39f;", "&#x3a0;", "&#x3a1;", "&#x3a3;", "&#x3a4;", "&#x3a5;", "&#x3a6;", "&#x3a7;", "&#x3a8;", "&#x3a9;", "&#x391;", "&#x392;", "#", "!", "$", "%", "&#x26;", "&#x2220;", "&#x2032;", "&#x2035;", "&#x2605;", "&#x25c6;", "&#x25a0;", "&#x25b2;", "&#x25bc;", "&#x22a4;", "&#x22a5;", "&#x2663;", "&#x2660;", "&#x2662;", "&#x2661;", "&#x2203;", "&#x2204;", "&#x266d;", "&#x266e;", "&#x266f;", "&#x2200;", "&#x221e;", "&#x2221;", "&#x2207;", "&#xac;", "&#x2222;", "&#x221a;", "&#x25b3;", "&#x25bd;", "&#x2205;", "&#xf8;", "&#x25c7;", "&#x25c0;", "&#x25b8;", "[", "]", "{", "}", "&#x3008;", "&#x3009;", "&#x3f0;", ",", ".", "/", ":", ";", "?", "\\", "&#x22ee;", "&#x22ef;", "&#x22f0;", "&#x2026;", "@", "&#x22;", "'", "|", "^", "`", "&#x201c;", "_", "*", "+", "-", "&#x2210;", "&#x22bc;", "&#x22bb;", "&#x25ef;", "&#x22a1;", "&#x229f;", "&#x229e;", "&#x22a0;", "&#x2022;", "&#x2229;", "&#x222a;", "&#x22d2;", "&#x22d3;", "&#x22d0;", "&#x22d1;", "&#xb7;", "&#x25aa;", "&#x25e6;", "&#x229b;", "&#x229a;", "&#x2296;", "&#x2299;", "&#x229d;", "&#x2295;", "&#x2297;", "&#x2298;", "&#xb1;", "&#x2213;", "&#x22cf;", "&#x22ce;", "&#x2020;", "&#x2021;", "&#x22c4;", "&#xf7;", "&#x22c7;", "&#x2214;", "&#x232d;", "&#x22d7;", "&#x22d6;", "&#x22c9;", "&#x22ca;", "&#x22cb;", "&#x22cc;", "&#x2293;", "&#x2294;", "&#x2291;", "&#x2292;", "&#x228f;", "&#x2290;", "&#x22c6;", "&#xd7;", "&#x22b3;", "&#x22b2;", "&#x22b5;", "&#x22b4;", "&#x228e;", "&#x2228;", "&#x2227;", "&#x2240;", "&#x3c;", "=", "&#x3e;", "&#x2248;", "&#x2247;", "&#x224d;", "&#x2252;", "&#x2253;", "&#x224a;", "&#x223d;", "&#x2241;", "&#x2242;", "&#x2243;", "&#x22cd;", "&#x224f;", "&#x224e;", "&#x2257;", "&#x2245;", "&#x22de;", "&#x22df;", "&#x2250;", "&#x2251;", "&#x2256;", "&#x2a96;", "&#x2a95;", "&#x2261;", "&#x2265;", "&#x2264;", "&#x2266;", "&#x2267;", "&#x2a7e;", "&#x2a7d;", "&#x226b;", "&#x226a;", "&#x2268;", "&#x2269;", "&#x22d8;", "&#x22d9;", "&#x2a87;", "&#x2a88;", "&#x2a89;", "&#x2a8a;", "&#x22e7;", "&#x22e6;", "&#x2a86;", "&#x2a85;", "&#x22db;", "&#x22da;", "&#x2a8b;", "&#x2a8c;", "&#x2277;", "&#x2276;", "&#x2273;", "&#x2272;", "&#x232e;", "&#x232f;", "&#x226f;", "&#x2271;", "&#x2270;", "&#x226e;", "&#x2331;", "&#x2330;", "&#x2332;", "&#x2333;", "&#x226c;", "&#x2280;", "&#x2281;", "&#x22e0;", "&#x22e1;", "&#x227a;", "&#x227b;", "&#x227c;", "&#x227d;", "&#x227e;", "&#x227f;", "&#x2282;", "&#x2283;", "&#x2288;", "&#x2289;", "&#x2286;", "&#x2287;", "&#x228a;", "&#x228b;", "&#x2ab7;", "&#x2ab8;", "&#x2aaf;", "&#x2ab0;", "&#x2ab9;", "&#x2aba;", "&#x2ab5;", "&#x2ab6;", "&#x22e8;", "&#x22e9;", "&#x223c;", "&#x225c;", "&#x21b6;", "&#x21b7;", "&#x21ba;", "&#x21bb;", "&#x21be;", "&#x21bf;", "&#x21c2;", "&#x21c3;", "&#x21c4;", "&#x21c6;", "&#x21c8;", "&#x21ca;", "&#x21cb;", "&#x21cc;", "&#x21cd;", "&#x21ce;", "&#x21cf;", "&#x21d0;", "&#x21d1;", "&#x21d2;", "&#x21d3;", "&#x21d4;", "&#x21d5;", "&#x21da;", "&#x21db;", "&#x21dd;", "&#x21ab;", "&#x21ac;", "&#x21ad;", "&#x21ae;", "&#x2190;", "&#x2191;", "&#x2192;", "&#x2193;", "&#x2194;", "&#x2195;", "&#x2196;", "&#x2197;", "&#x2198;", "&#x2199;", "&#x219e;", "&#x21a0;", "&#x21a2;", "&#x21a3;", "&#x21b0;", "&#x21b1;", "&#x22a2;", "&#x22a3;", "&#x22a8;", "&#x22a9;", "&#x22aa;", "&#x22ad;", "&#x22af;", "&#x22b8;", "&#x22ba;", "&#x22d4;", "&#x22ea;", "&#x22eb;", "&#x22ec;", "&#x22ed;", "&#x2308;", "&#x2309;", "&#x230a;", "&#x230b;", "&#x2acb;", "&#x2acc;", "&#x2ac5;", "&#x2ac6;", "&#x2208;", "&#x220b;", "&#x221d;", "&#x2224;", "&#x2226;", "&#x2234;", "&#x2235;", "&#x220d;", "&#x22c8;", "&#x2322;", "&#x2323;", "&#x2223;", "&#x2225;", "&#x23d0;", "&#x23d1;", "&#x23d2;", "&#x23d3;", "&#x2ac7;", "&#x2ac8;", "&#x22ae;", "&#x22ac;", "&#x2ac9;", "&#x23d4;", "&#x23d5;", "&#x23d6;", "&#x23d7;", "&#x21c7;", "&#x21c9;", "&#x21bc;", "&#x21bd;", "&#x21c0;", "&#x21c1;", "&#x219a;", "&#x219b;", "&#x27f5;", "&#x27f6;", "&#x27f7;", "&#x27f9;", "&#x27f8;", "&#x27fa;", "&#x2262;", "&#x2260;", "&#x2209;" ];
  3301. }
  3302. };
  3303. /*!
  3304. * 字符配置
  3305. */
  3306. _p[3] = {
  3307. value: function(require) {
  3308. return {
  3309. // 默认字体
  3310. defaultFont: "KF AMS MAIN"
  3311. };
  3312. }
  3313. };
  3314. /*!
  3315. * 工厂方法,创建兼容各浏览器的text实现
  3316. */
  3317. _p[4] = {
  3318. value: function(require) {
  3319. var kity = _p.r(34), divNode = document.createElement("div"), NAMESPACE = "http://www.w3.org/XML/1998/namespace";
  3320. function createText(content) {
  3321. var text = new kity.Text();
  3322. // Non-IE
  3323. if ("innerHTML" in text.node) {
  3324. text.node.setAttributeNS(NAMESPACE, "xml:space", "preserve");
  3325. } else {
  3326. if (content.indexOf(" ") != -1) {
  3327. content = convertContent(content);
  3328. }
  3329. }
  3330. text.setContent(content);
  3331. return text;
  3332. }
  3333. /**
  3334. * 构建节点来转换内容
  3335. */
  3336. function convertContent(content) {
  3337. divNode.innerHTML = '<svg><text gg="asfdas">' + content.replace(/\s/gi, "&nbsp;") + "</text></svg>";
  3338. return divNode.firstChild.firstChild.textContent;
  3339. }
  3340. return {
  3341. create: function(content) {
  3342. return createText(content);
  3343. }
  3344. };
  3345. }
  3346. };
  3347. /**
  3348. * 文本
  3349. */
  3350. _p[5] = {
  3351. value: function(require, exports, module) {
  3352. var kity = _p.r(34), FONT_CONF = _p.r(47).font, FontManager = _p.r(25), TextFactory = _p.r(4);
  3353. return kity.createClass("Text", {
  3354. base: _p.r(46),
  3355. constructor: function(content, fontFamily) {
  3356. this.callBase();
  3357. this.fontFamily = fontFamily;
  3358. this.fontSize = 50;
  3359. this.content = content || "";
  3360. // 移除多余的节点
  3361. this.box.remove();
  3362. this.translationContent = this.translation(this.content);
  3363. this.contentShape = new kity.Group();
  3364. this.contentNode = this.createContent();
  3365. this.contentShape.addShape(this.contentNode);
  3366. this.addShape(this.contentShape);
  3367. },
  3368. createContent: function() {
  3369. var contentNode = TextFactory.create(this.translationContent);
  3370. contentNode.setAttr({
  3371. "font-family": this.fontFamily,
  3372. "font-size": 50,
  3373. x: 0,
  3374. y: FONT_CONF.offset
  3375. });
  3376. return contentNode;
  3377. },
  3378. setFamily: function(fontFamily) {
  3379. this.fontFamily = fontFamily;
  3380. this.contentNode.setAttr("font-family", fontFamily);
  3381. },
  3382. setFontSize: function(fontSize) {
  3383. this.fontSize = fontSize;
  3384. this.contentNode.setAttr("font-size", fontSize + "px");
  3385. this.contentNode.setAttr("y", fontSize / 50 * FONT_CONF.offset);
  3386. },
  3387. getBaseHeight: function() {
  3388. var chars = this.contentShape.getItems(), currentChar = null, index = 0, height = 0;
  3389. while (currentChar = chars[index]) {
  3390. height = Math.max(height, currentChar.getHeight());
  3391. index++;
  3392. }
  3393. return height;
  3394. },
  3395. translation: function(content) {
  3396. var fontFamily = this.fontFamily;
  3397. // 首先特殊处理掉两个相连的"`"符号
  3398. return content.replace(/``/g, "“").replace(/\\([a-zA-Z,]+)\\/g, function(match, input) {
  3399. if (input === ",") {
  3400. return " ";
  3401. }
  3402. var data = FontManager.getCharacterValue(input, fontFamily);
  3403. if (!data) {
  3404. console.error(input + "丢失");
  3405. return "";
  3406. }
  3407. return data;
  3408. });
  3409. }
  3410. });
  3411. }
  3412. };
  3413. /**
  3414. * 定义公式中各种对象的类型
  3415. */
  3416. _p[6] = {
  3417. value: function() {
  3418. return {
  3419. UNKNOWN: -1,
  3420. EXP: 0,
  3421. COMPOUND_EXP: 1,
  3422. OP: 2
  3423. };
  3424. }
  3425. };
  3426. /**
  3427. * 定义公式中上下标的类型
  3428. */
  3429. _p[7] = {
  3430. value: function() {
  3431. return {
  3432. SIDE: "side",
  3433. FOLLOW: "follow"
  3434. };
  3435. }
  3436. };
  3437. /**
  3438. * 下标表达式
  3439. */
  3440. _p[8] = {
  3441. value: function(require, exports, modules) {
  3442. var kity = _p.r(34);
  3443. return kity.createClass("SubscriptExpression", {
  3444. base: _p.r(17),
  3445. constructor: function(operand, subscript) {
  3446. this.callBase(operand, null, subscript);
  3447. this.setFlag("Subscript");
  3448. }
  3449. });
  3450. }
  3451. };
  3452. /**
  3453. * 上标表达式
  3454. */
  3455. _p[9] = {
  3456. value: function(require, exports, modules) {
  3457. var kity = _p.r(34);
  3458. return kity.createClass("SuperscriptExpression", {
  3459. base: _p.r(17),
  3460. constructor: function(operand, superscript) {
  3461. this.callBase(operand, superscript, null);
  3462. this.setFlag("Superscript");
  3463. }
  3464. });
  3465. }
  3466. };
  3467. /**
  3468. * 二元操作表达式
  3469. * @abstract
  3470. */
  3471. _p[10] = {
  3472. value: function(require, exports, modules) {
  3473. var kity = _p.r(34);
  3474. return kity.createClass("BinaryExpression", {
  3475. base: _p.r(19),
  3476. constructor: function(firstOperand, lastOperand) {
  3477. this.callBase();
  3478. this.setFirstOperand(firstOperand);
  3479. this.setLastOperand(lastOperand);
  3480. },
  3481. setFirstOperand: function(operand) {
  3482. return this.setOperand(operand, 0);
  3483. },
  3484. getFirstOperand: function() {
  3485. return this.getOperand(0);
  3486. },
  3487. setLastOperand: function(operand) {
  3488. return this.setOperand(operand, 1);
  3489. },
  3490. getLastOperand: function() {
  3491. return this.getOperand(1);
  3492. }
  3493. });
  3494. }
  3495. };
  3496. /**
  3497. * 自动增长括号表达式
  3498. */
  3499. _p[11] = {
  3500. value: function(require, exports, modules) {
  3501. var kity = _p.r(34), BracketsOperator = _p.r(35);
  3502. return kity.createClass("BracketsExpression", {
  3503. base: _p.r(19),
  3504. /**
  3505. * 构造函数调用方式:
  3506. * new Constructor( 左括号, 右括号, 表达式 )
  3507. * 或者
  3508. * new Constructor( 括号, 表达式 ), 该构造函数转换成上面的构造函数,是: new Constructor( 括号, 括号, 表达式 )
  3509. * @param left 左括号
  3510. * @param right 右括号
  3511. * @param exp 表达式
  3512. */
  3513. constructor: function(left, right, exp) {
  3514. this.callBase();
  3515. this.setFlag("Brackets");
  3516. // 参数整理
  3517. if (arguments.length === 2) {
  3518. exp = right;
  3519. right = left;
  3520. }
  3521. this.leftSymbol = left;
  3522. this.rightSymbol = right;
  3523. this.setOperator(new BracketsOperator());
  3524. this.setOperand(exp, 0);
  3525. },
  3526. getLeftSymbol: function() {
  3527. return this.leftSymbol;
  3528. },
  3529. getRightSymbol: function() {
  3530. return this.rightSymbol;
  3531. }
  3532. });
  3533. }
  3534. };
  3535. /**
  3536. * 组合表达式
  3537. * 可以组合多个表达式
  3538. */
  3539. _p[12] = {
  3540. value: function(require, exports, modules) {
  3541. var kity = _p.r(34), FONT_CONF = _p.r(47).font, CombinationOperator = _p.r(36);
  3542. return kity.createClass("CombinationExpression", {
  3543. base: _p.r(19),
  3544. constructor: function(abc) {
  3545. this.callBase();
  3546. this.setFlag("Combination");
  3547. this.setOperator(new CombinationOperator());
  3548. kity.Utils.each(arguments, function(operand, index) {
  3549. this.setOperand(operand, index);
  3550. }, this);
  3551. },
  3552. getRenderBox: function(refer) {
  3553. var rectBox = this.callBase(refer);
  3554. if (this.getOperands().length === 0) {
  3555. rectBox.height = FONT_CONF.spaceHeight;
  3556. }
  3557. return rectBox;
  3558. },
  3559. getBaseline: function(refer) {
  3560. var maxBaseline = 0, operands = this.getOperands();
  3561. if (operands.length === 0) {
  3562. return this.callBase(refer);
  3563. }
  3564. kity.Utils.each(operands, function(operand) {
  3565. maxBaseline = Math.max(operand.getBaseline(refer), maxBaseline);
  3566. });
  3567. return maxBaseline;
  3568. },
  3569. getMeanline: function(refer) {
  3570. var minMeanline = 1e7, operands = this.getOperands();
  3571. if (operands.length === 0) {
  3572. return this.callBase(refer);
  3573. }
  3574. kity.Utils.each(operands, function(operand) {
  3575. minMeanline = Math.min(operand.getMeanline(refer), minMeanline);
  3576. });
  3577. return minMeanline;
  3578. }
  3579. });
  3580. }
  3581. };
  3582. /**
  3583. * 分数表达式
  3584. */
  3585. _p[13] = {
  3586. value: function(require, exports, modules) {
  3587. var kity = _p.r(34), FractionOperator = _p.r(38);
  3588. return kity.createClass("FractionExpression", {
  3589. base: _p.r(10),
  3590. constructor: function(upOperand, downOperand) {
  3591. this.callBase(upOperand, downOperand);
  3592. this.setFlag("Fraction");
  3593. this.setOperator(new FractionOperator());
  3594. },
  3595. /*------- 重写分数结构的baseline和mealine计算方式 */
  3596. getBaseline: function(refer) {
  3597. var downOperand = this.getOperand(1), rectBox = downOperand.getRenderBox(refer);
  3598. return rectBox.y + downOperand.getBaselineProportion() * rectBox.height;
  3599. },
  3600. getMeanline: function(refer) {
  3601. var upOperand = this.getOperand(0), rectBox = upOperand.getRenderBox(refer);
  3602. return upOperand.getMeanlineProportion() * rectBox.height;
  3603. }
  3604. });
  3605. }
  3606. };
  3607. /**
  3608. * 函数表达式
  3609. */
  3610. _p[14] = {
  3611. value: function(require, exports, modules) {
  3612. var kity = _p.r(34), FUNC_CONF = _p.r(47).func, FunctionOperator = _p.r(39);
  3613. return kity.createClass("FunctionExpression", {
  3614. base: _p.r(19),
  3615. /**
  3616. * function表达式构造函数
  3617. * @param funcName function名称
  3618. * @param expr 函数表达式
  3619. * @param sup 上标
  3620. * @param sub 下标
  3621. */
  3622. constructor: function(funcName, expr, sup, sub) {
  3623. this.callBase();
  3624. this.setFlag("Func");
  3625. this.funcName = funcName;
  3626. this.setOperator(new FunctionOperator(funcName));
  3627. this.setExpr(expr);
  3628. this.setSuperscript(sup);
  3629. this.setSubscript(sub);
  3630. },
  3631. // 当前函数应用的script位置是否是在侧面
  3632. isSideScript: function() {
  3633. return !FUNC_CONF["ud-script"][this.funcName];
  3634. },
  3635. setExpr: function(expr) {
  3636. return this.setOperand(expr, 0);
  3637. },
  3638. setSuperscript: function(sub) {
  3639. return this.setOperand(sub, 1);
  3640. },
  3641. setSubscript: function(sub) {
  3642. return this.setOperand(sub, 2);
  3643. }
  3644. });
  3645. }
  3646. };
  3647. /**
  3648. * 积分表达式
  3649. */
  3650. _p[15] = {
  3651. value: function(require, exports, modules) {
  3652. var kity = _p.r(34), IntegrationOperator = _p.r(40), IntegrationExpression = kity.createClass("IntegrationExpression", {
  3653. base: _p.r(19),
  3654. /**
  3655. * 构造积分表达式
  3656. * @param integrand 被积函数
  3657. * @param supOperand 上限
  3658. * @param subOperand 下限
  3659. */
  3660. constructor: function(integrand, superscript, subscript) {
  3661. this.callBase();
  3662. this.setFlag("Integration");
  3663. this.setOperator(new IntegrationOperator());
  3664. this.setIntegrand(integrand);
  3665. this.setSuperscript(superscript);
  3666. this.setSubscript(subscript);
  3667. },
  3668. setType: function(type) {
  3669. this.getOperator().setType(type);
  3670. return this;
  3671. },
  3672. resetType: function() {
  3673. this.getOperator().resetType();
  3674. return this;
  3675. },
  3676. setIntegrand: function(integrand) {
  3677. this.setOperand(integrand, 0);
  3678. },
  3679. setSuperscript: function(sup) {
  3680. this.setOperand(sup, 1);
  3681. },
  3682. setSubscript: function(sub) {
  3683. this.setOperand(sub, 2);
  3684. }
  3685. });
  3686. return IntegrationExpression;
  3687. }
  3688. };
  3689. /**
  3690. * 方根表达式
  3691. */
  3692. _p[16] = {
  3693. value: function(require, exports, modules) {
  3694. var kity = _p.r(34), RadicalOperator = _p.r(42);
  3695. return kity.createClass("RadicalExpression", {
  3696. base: _p.r(10),
  3697. /**
  3698. * 构造开方表达式
  3699. * @param radicand 被开方数
  3700. * @param exponent 指数
  3701. */
  3702. constructor: function(radicand, exponent) {
  3703. this.callBase(radicand, exponent);
  3704. this.setFlag("Radicand");
  3705. this.setOperator(new RadicalOperator());
  3706. },
  3707. setRadicand: function(operand) {
  3708. return this.setFirstOperand(operand);
  3709. },
  3710. getRadicand: function() {
  3711. return this.getFirstOperand();
  3712. },
  3713. setExponent: function(operand) {
  3714. return this.setLastOperand(operand);
  3715. },
  3716. getExponent: function() {
  3717. return this.getLastOperand();
  3718. }
  3719. });
  3720. }
  3721. };
  3722. /**
  3723. * 上标表达式
  3724. */
  3725. _p[17] = {
  3726. value: function(require, exports, modules) {
  3727. var kity = _p.r(34), ScriptOperator = _p.r(43);
  3728. return kity.createClass("ScriptExpression", {
  3729. base: _p.r(19),
  3730. constructor: function(operand, superscript, subscript) {
  3731. this.callBase();
  3732. this.setFlag("Script");
  3733. this.setOperator(new ScriptOperator());
  3734. this.setOpd(operand);
  3735. this.setSuperscript(superscript);
  3736. this.setSubscript(subscript);
  3737. },
  3738. setOpd: function(operand) {
  3739. this.setOperand(operand, 0);
  3740. },
  3741. setSuperscript: function(sup) {
  3742. this.setOperand(sup, 1);
  3743. },
  3744. setSubscript: function(sub) {
  3745. this.setOperand(sub, 2);
  3746. }
  3747. });
  3748. }
  3749. };
  3750. /**
  3751. * 求和表达式
  3752. * @abstract
  3753. */
  3754. _p[18] = {
  3755. value: function(require, exports, modules) {
  3756. var kity = _p.r(34), SummationOperator = _p.r(44);
  3757. return kity.createClass("SummationExpression", {
  3758. base: _p.r(19),
  3759. /**
  3760. * 构造求和表达式
  3761. * @param expr 求和表达式
  3762. * @param upOperand 上标
  3763. * @param downOperand 下标
  3764. */
  3765. constructor: function(expr, superscript, subscript) {
  3766. this.callBase();
  3767. this.setFlag("Summation");
  3768. this.setOperator(new SummationOperator());
  3769. this.setExpr(expr);
  3770. this.setSuperscript(superscript);
  3771. this.setSubscript(subscript);
  3772. },
  3773. setExpr: function(expr) {
  3774. this.setOperand(expr, 0);
  3775. },
  3776. setSuperscript: function(sup) {
  3777. this.setOperand(sup, 1);
  3778. },
  3779. setSubscript: function(sub) {
  3780. this.setOperand(sub, 2);
  3781. }
  3782. });
  3783. }
  3784. };
  3785. /**
  3786. * 复合表达式
  3787. * @abstract
  3788. */
  3789. _p[19] = {
  3790. value: function(require, exports, modules) {
  3791. var kity = _p.r(34), GTYPE = _p.r(6), Expression = _p.r(21);
  3792. return kity.createClass("CompoundExpression", {
  3793. base: _p.r(21),
  3794. constructor: function() {
  3795. this.callBase();
  3796. this.type = GTYPE.COMPOUND_EXP;
  3797. this.operands = [];
  3798. this.operator = null;
  3799. this.operatorBox = new kity.Group();
  3800. this.operatorBox.setAttr("data-type", "kf-editor-exp-op-box");
  3801. this.operandBox = new kity.Group();
  3802. this.operandBox.setAttr("data-type", "kf-editor-exp-operand-box");
  3803. this.setChildren(0, this.operatorBox);
  3804. this.setChildren(1, this.operandBox);
  3805. },
  3806. // 操作符存储在第1位置
  3807. setOperator: function(operator) {
  3808. if (operator === undefined) {
  3809. return this;
  3810. }
  3811. if (this.operator) {
  3812. this.operator.remove();
  3813. }
  3814. this.operatorBox.addShape(operator);
  3815. this.operator = operator;
  3816. this.operator.setParentExpression(this);
  3817. // 表达式关联到操作符
  3818. operator.expression = this;
  3819. return this;
  3820. },
  3821. getOperator: function() {
  3822. return this.operator;
  3823. },
  3824. // 操作数存储位置是从1开始
  3825. setOperand: function(operand, index, isWrap) {
  3826. // 不包装操作数
  3827. if (isWrap === false) {
  3828. this.operands[index] = operand;
  3829. return this;
  3830. }
  3831. operand = Expression.wrap(operand);
  3832. if (this.operands[index]) {
  3833. this.operands[index].remove();
  3834. }
  3835. this.operands[index] = operand;
  3836. this.operandBox.addShape(operand);
  3837. return this;
  3838. },
  3839. getOperand: function(index) {
  3840. return this.operands[index];
  3841. },
  3842. getOperands: function() {
  3843. return this.operands;
  3844. },
  3845. addedCall: function() {
  3846. this.operator.applyOperand.apply(this.operator, this.operands);
  3847. return this;
  3848. }
  3849. });
  3850. }
  3851. };
  3852. /**
  3853. * 空表达式
  3854. * 该表达式主要用途是用于站位
  3855. */
  3856. _p[20] = {
  3857. value: function(require, exports, module) {
  3858. var kity = _p.r(34), FONT_CONF = _p.r(47).font, Expression = _p.r(21), EmptyExpression = kity.createClass("EmptyExpression", {
  3859. base: Expression,
  3860. constructor: function() {
  3861. this.callBase();
  3862. this.setFlag("Empty");
  3863. },
  3864. getRenderBox: function() {
  3865. return {
  3866. width: 0,
  3867. height: FONT_CONF.spaceHeight,
  3868. x: 0,
  3869. y: 0
  3870. };
  3871. }
  3872. });
  3873. EmptyExpression.isEmpty = function(target) {
  3874. return target instanceof EmptyExpression;
  3875. };
  3876. // 注册打包函数
  3877. Expression.registerWrap("empty", function(operand) {
  3878. if (operand === null || operand === undefined) {
  3879. return new EmptyExpression();
  3880. }
  3881. });
  3882. return EmptyExpression;
  3883. }
  3884. };
  3885. /**
  3886. * 基础表达式, 该类是表达式和操作数的高层抽象
  3887. * @abstract
  3888. */
  3889. _p[21] = {
  3890. value: function(require, exports, module) {
  3891. var kity = _p.r(34), GTYPE = _p.r(6), FONT_CONF = _p.r(47).font, // 打包函数列表
  3892. WRAP_FN = [], // 注册的打包函数的名称与其在注册器列表中的索引之间的对应关系
  3893. WRAP_FN_INDEX = {}, Expression = kity.createClass("Expression", {
  3894. base: _p.r(46),
  3895. constructor: function() {
  3896. this.callBase();
  3897. this.type = GTYPE.EXP;
  3898. // 表达式的上下偏移
  3899. this._offset = {
  3900. top: 0,
  3901. bottom: 0
  3902. };
  3903. this.children = [];
  3904. this.box.fill("transparent").setAttr("data-type", "kf-editor-exp-box");
  3905. this.box.setAttr("data-type", "kf-editor-exp-bg-box");
  3906. this.expContent = new kity.Group();
  3907. this.expContent.setAttr("data-type", "kf-editor-exp-content-box");
  3908. this.addShape(this.expContent);
  3909. },
  3910. getChildren: function() {
  3911. return this.children;
  3912. },
  3913. getChild: function(index) {
  3914. return this.children[index] || null;
  3915. },
  3916. getTopOffset: function() {
  3917. return this._offset.top;
  3918. },
  3919. getBottomOffset: function() {
  3920. return this._offset.bottom;
  3921. },
  3922. getOffset: function() {
  3923. return this._offset;
  3924. },
  3925. setTopOffset: function(val) {
  3926. this._offset.top = val;
  3927. },
  3928. setBottomOffset: function(val) {
  3929. this._offset.bottom = val;
  3930. },
  3931. setOffset: function(top, bottom) {
  3932. this._offset.top = top;
  3933. this._offset.bottom = bottom;
  3934. },
  3935. setFlag: function(flag) {
  3936. this.setAttr("data-flag", flag || "Expression");
  3937. },
  3938. setChildren: function(index, exp) {
  3939. // 首先清理掉之前的表达式
  3940. if (this.children[index]) {
  3941. this.children[index].remove();
  3942. }
  3943. this.children[index] = exp;
  3944. this.expContent.addShape(exp);
  3945. },
  3946. getBaselineProportion: function() {
  3947. return FONT_CONF.baselinePosition;
  3948. },
  3949. getMeanlineProportion: function() {
  3950. return FONT_CONF.meanlinePosition;
  3951. },
  3952. getBaseline: function(refer) {
  3953. // 上偏移3px
  3954. return this.getRenderBox(refer).height * FONT_CONF.baselinePosition - 3;
  3955. },
  3956. getMeanline: function(refer) {
  3957. // 上偏移1px
  3958. return this.getRenderBox(refer).height * FONT_CONF.meanlinePosition - 1;
  3959. },
  3960. getAscenderline: function() {
  3961. return this.getFixRenderBox().height * FONT_CONF.ascenderPosition;
  3962. },
  3963. getDescenderline: function() {
  3964. return this.getFixRenderBox().height * FONT_CONF.descenderPosition;
  3965. },
  3966. translateElement: function(x, y) {
  3967. this.expContent.translate(x, y);
  3968. },
  3969. expand: function(width, height) {
  3970. var renderBox = this.getFixRenderBox();
  3971. this.setBoxSize(renderBox.width + width, renderBox.height + height);
  3972. },
  3973. getBaseWidth: function() {
  3974. return this.getWidth();
  3975. },
  3976. getBaseHeight: function() {
  3977. return this.getHeight();
  3978. },
  3979. updateBoxSize: function() {
  3980. var renderBox = this.expContent.getFixRenderBox();
  3981. this.setBoxSize(renderBox.width, renderBox.height);
  3982. },
  3983. getBox: function() {
  3984. return this.box;
  3985. }
  3986. });
  3987. // 表达式自动打包
  3988. kity.Utils.extend(Expression, {
  3989. registerWrap: function(name, fn) {
  3990. WRAP_FN_INDEX[name] = WRAP_FN.length;
  3991. WRAP_FN.push(fn);
  3992. },
  3993. revokeWrap: function(name) {
  3994. var fn = null;
  3995. if (name in WRAP_FN_INDEX) {
  3996. fn = WRAP_FN[WRAP_FN_INDEX[name]];
  3997. WRAP_FN[WRAP_FN_INDEX[name]] = null;
  3998. delete WRAP_FN_INDEX[name];
  3999. }
  4000. return fn;
  4001. },
  4002. // 打包函数
  4003. wrap: function(operand) {
  4004. var result = undefined;
  4005. kity.Utils.each(WRAP_FN, function(fn) {
  4006. if (!fn) {
  4007. return;
  4008. }
  4009. result = fn(operand);
  4010. if (result) {
  4011. return false;
  4012. }
  4013. });
  4014. return result;
  4015. }
  4016. });
  4017. return Expression;
  4018. }
  4019. };
  4020. /**
  4021. * Text表达式
  4022. */
  4023. _p[22] = {
  4024. value: function(require, exports, module) {
  4025. var Text = _p.r(5), kity = _p.r(34), FONT_CONF = _p.r(3), Expression = _p.r(21), TextExpression = kity.createClass("TextExpression", {
  4026. base: _p.r(21),
  4027. constructor: function(content, fontFamily) {
  4028. this.callBase();
  4029. this.fontFamily = fontFamily || FONT_CONF.defaultFont;
  4030. this.setFlag("Text");
  4031. this.content = content + "";
  4032. this.textContent = new Text(this.content, this.fontFamily);
  4033. this.setChildren(0, this.textContent);
  4034. this.setChildren(1, new kity.Rect(0, 0, 0, 0).fill("transparent"));
  4035. },
  4036. setFamily: function(fontFamily) {
  4037. this.textContent.setFamily(fontFamily);
  4038. },
  4039. setFontSize: function(fontSize) {
  4040. this.textContent.setFontSize(fontSize);
  4041. },
  4042. addedCall: function() {
  4043. var box = this.textContent.getFixRenderBox();
  4044. this.getChild(1).setSize(box.width, box.height);
  4045. this.updateBoxSize();
  4046. return this;
  4047. }
  4048. });
  4049. // 注册文本表达式的打包函数
  4050. Expression.registerWrap("text", function(operand) {
  4051. var operandType = typeof operand;
  4052. if (operandType === "number" || operandType === "string") {
  4053. operand = new TextExpression(operand);
  4054. }
  4055. return operand;
  4056. });
  4057. return TextExpression;
  4058. }
  4059. };
  4060. /*!
  4061. * ������Ϣ����ģ�壬���ڼ�����������������Ϣ
  4062. */
  4063. _p[23] = {
  4064. value: function(require) {
  4065. return [ '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">', '<text id="abcd" font-family="KF AMS MAIN" font-size="50" x="0" y="0">x</text>', "</svg>" ];
  4066. }
  4067. };
  4068. /*!
  4069. * 字体安装器
  4070. */
  4071. _p[24] = {
  4072. value: function(require) {
  4073. var kity = _p.r(34), FontManager = _p.r(25), $ = _p.r(33), FONT_CONF = _p.r(47).font, CHAR_LIST = _p.r(2), NODE_LIST = [];
  4074. return kity.createClass("FontInstaller", {
  4075. constructor: function(doc, resource) {
  4076. this.callBase();
  4077. this.resource = resource || "../src/resource/";
  4078. this.doc = doc;
  4079. },
  4080. // 挂载字体
  4081. mount: function(callback) {
  4082. var fontList = FontManager.getFontList(), count = 0, _self = this;
  4083. kity.Utils.each(fontList, function(fontInfo) {
  4084. count++;
  4085. fontInfo.meta.src = _self.resource + fontInfo.meta.src;
  4086. _self.createFontStyle(fontInfo);
  4087. preload(_self.doc, fontInfo, function() {
  4088. count--;
  4089. if (count === 0) {
  4090. complete(_self.doc, callback);
  4091. }
  4092. });
  4093. });
  4094. },
  4095. createFontStyle: function(fontInfo) {
  4096. var stylesheet = this.doc.createElement("style"), tpl = '@font-face{\nfont-family: "${fontFamily}";\nsrc: url("${src}");\n}';
  4097. stylesheet.setAttribute("type", "text/css");
  4098. stylesheet.innerHTML = tpl.replace("${fontFamily}", fontInfo.meta.fontFamily).replace("${src}", fontInfo.meta.src);
  4099. this.doc.head.appendChild(stylesheet);
  4100. }
  4101. });
  4102. function preload(doc, fontInfo, callback) {
  4103. $.get(fontInfo.meta.src, function(data, state) {
  4104. if (state === "success") {
  4105. applyFonts(doc, fontInfo);
  4106. }
  4107. callback();
  4108. });
  4109. }
  4110. function complete(doc, callback) {
  4111. window.setTimeout(function() {
  4112. initFontSystemInfo(doc);
  4113. removeTmpNode();
  4114. callback();
  4115. }, 100);
  4116. }
  4117. function applyFonts(doc, fontInfo) {
  4118. var node = document.createElement("div"), fontFamily = fontInfo.meta.fontFamily;
  4119. node.style.cssText = "position: absolute; top: -10000px; left: -100000px;";
  4120. node.style.fontFamily = fontFamily;
  4121. node.innerHTML = CHAR_LIST.join("");
  4122. doc.body.appendChild(node);
  4123. NODE_LIST.push(node);
  4124. }
  4125. /**
  4126. * 计算字体系统信息
  4127. */
  4128. function initFontSystemInfo(doc) {
  4129. var tmpNode = doc.createElement("div");
  4130. tmpNode.style.cssText = "position: absolute; top: 0; left: -100000px;";
  4131. tmpNode.innerHTML = _p.r(23).join("");
  4132. doc.body.appendChild(tmpNode);
  4133. var rectBox = tmpNode.getElementsByTagName("text")[0].getBBox();
  4134. // text实际占用空间
  4135. FONT_CONF.spaceHeight = rectBox.height;
  4136. // text顶部空间
  4137. FONT_CONF.topSpace = -rectBox.y - FONT_CONF.baseline;
  4138. FONT_CONF.bottomSpace = FONT_CONF.spaceHeight - FONT_CONF.topSpace - FONT_CONF.baseHeight;
  4139. // text偏移值
  4140. FONT_CONF.offset = FONT_CONF.baseline + FONT_CONF.topSpace;
  4141. // baseline比例
  4142. FONT_CONF.baselinePosition = (FONT_CONF.topSpace + FONT_CONF.baseline) / FONT_CONF.spaceHeight;
  4143. // meanline比例
  4144. FONT_CONF.meanlinePosition = (FONT_CONF.topSpace + FONT_CONF.meanline) / FONT_CONF.spaceHeight;
  4145. // 上下延伸性比例
  4146. FONT_CONF.ascenderPosition = FONT_CONF.topSpace / FONT_CONF.spaceHeight;
  4147. FONT_CONF.descenderPosition = (FONT_CONF.topSpace + FONT_CONF.baseHeight) / FONT_CONF.spaceHeight;
  4148. doc.body.removeChild(tmpNode);
  4149. }
  4150. function removeTmpNode() {
  4151. kity.Utils.each(NODE_LIST, function(node) {
  4152. node.parentNode.removeChild(node);
  4153. });
  4154. NODE_LIST = [];
  4155. }
  4156. }
  4157. };
  4158. /*!
  4159. * 字体管理器
  4160. */
  4161. _p[25] = {
  4162. value: function(require) {
  4163. var FONT_LIST = {}, kity = _p.r(34), CONF = _p.r(47).font.list;
  4164. // init
  4165. (function() {
  4166. kity.Utils.each(CONF, function(fontData) {
  4167. FONT_LIST[fontData.meta.fontFamily] = fontData;
  4168. });
  4169. })();
  4170. return {
  4171. getFontList: function() {
  4172. return FONT_LIST;
  4173. },
  4174. getCharacterValue: function(key, fontFamily) {
  4175. if (!FONT_LIST[fontFamily]) {
  4176. return null;
  4177. }
  4178. return FONT_LIST[fontFamily].map[key] || null;
  4179. }
  4180. };
  4181. }
  4182. };
  4183. /*!
  4184. * 双线字体
  4185. */
  4186. _p[26] = {
  4187. value: function(require) {
  4188. return {
  4189. meta: {
  4190. fontFamily: "KF AMS BB",
  4191. src: "KF_AMS_BB.woff"
  4192. },
  4193. data: {
  4194. A: {
  4195. x: 786,
  4196. d: "M400 682l255 -581c20 -45 37 -62 59 -66c9 -1 22 -3 22 -17c0 -18 -16 -18 -34 -18h-261c-18 0 -33 0 -33 18c0 9 7 16 17 17c11 1 39 3 63 27c-1 21 -2 37 -37 135h-220c-7 -32 -14 -64 -14 -97c0 -60 25 -64 39 -65c7 -1 21 -2 21 -17c0 -18 -15 -18 -33 -18h-160\nc-18 0 -34 0 -34 18c0 15 16 17 21 17c27 3 48 18 60 50l228 598c5 12 10 21 21 21s13 -5 20 -22zM241 232h196c-17 46 -77 190 -108 257c-33 -84 -65 -169 -88 -257zM182 120l-17 -43c-6 -16 -10 -28 -23 -42h54c-14 23 -14 61 -14 65c0 6 0 7 1 9v10zM344 543l49 -112\nc43 -100 130 -303 130 -364c0 -12 -3 -26 -13 -32h142c-14 18 -25 42 -29 52l-243 553z"
  4197. },
  4198. B: {
  4199. x: 712,
  4200. d: "M181 594v-503c0 -13 0 -38 -9 -56h109c-13 16 -13 36 -13 51v513c0 15 0 35 13 51h-109c9 -18 9 -43 9 -56zM453 384c66 14 136 66 136 130c0 99 -71 124 -140 132c23 -24 45 -67 45 -136c0 -43 -8 -94 -41 -126zM303 596v-224c99 2 156 26 156 138\nc0 105 -55 140 -99 140c-24 0 -39 -10 -43 -12c-14 -11 -14 -22 -14 -42zM513 367c73 -20 149 -76 149 -180c0 -139 -158 -187 -281 -187h-297c-18 0 -34 0 -34 18c0 17 18 17 29 17c63 0 67 8 67 58v499c0 48 -3 58 -63 58c-16 0 -33 0 -33 17c0 18 16 18 34 18h303\nc122 0 237 -32 237 -171c0 -68 -55 -118 -111 -147zM303 89c0 -19 0 -54 59 -54c125 0 128 113 128 152c0 32 -3 97 -42 127c-31 23 -65 23 -145 23v-248zM481 47c86 20 146 64 146 140c0 87 -65 139 -157 154c40 -33 55 -85 55 -154c0 -45 -7 -98 -44 -140z"
  4201. },
  4202. C: {
  4203. x: 748,
  4204. d: "M670 671v-167c0 -17 0 -33 -17 -33c-13 0 -16 10 -19 19c-34 106 -154 179 -229 179c-107 0 -179 -131 -179 -328c0 -155 39 -312 194 -312c89 0 178 40 236 106c10 11 14 14 21 14c6 0 21 -6 21 -20s-51 -64 -97 -93c-73 -44 -144 -55 -197 -55\nc-173 0 -354 107 -354 362c0 256 185 361 352 361c16 0 59 0 110 -22c20 -9 55 -24 90 -24c7 0 30 0 33 28c2 18 17 18 18 18c17 0 17 -16 17 -33zM635 568v62c-8 -5 -21 -7 -32 -7c-5 0 -13 0 -18 1c25 -26 38 -39 50 -56zM280 646v1c-94 -32 -195 -121 -195 -305\nc0 -122 47 -257 211 -310c-90 72 -105 210 -105 309c0 196 66 282 89 305z"
  4205. },
  4206. D: {
  4207. x: 775,
  4208. d: "M84 685h289c162 0 352 -91 352 -330c0 -246 -178 -355 -353 -355h-288c-18 0 -34 0 -34 18c0 17 18 17 28 17c51 0 55 8 55 57v501c0 49 -4 57 -56 57c-8 0 -27 0 -27 17c0 18 16 18 34 18zM495 630h-1c51 -54 90 -133 90 -277c0 -116 -20 -227 -85 -295\nc99 35 191 127 191 297c0 119 -52 229 -195 275zM160 35h114c-13 16 -13 36 -13 51v513c0 14 0 36 13 51h-114c8 -18 8 -42 8 -55v-505c0 -13 0 -37 -8 -55zM296 596v-507c0 -19 0 -54 59 -54c168 0 194 191 194 318c0 223 -103 297 -187 297c-21 0 -39 -5 -48 -12\nc-18 -11 -18 -20 -18 -42z"
  4209. },
  4210. E: {
  4211. x: 669,
  4212. d: "M295 336v-234c0 -67 19 -67 43 -67h55c55 0 106 14 158 45c73 43 83 85 89 111c0 1 4 14 18 14c8 0 17 -7 17 -18c0 -5 -28 -172 -29 -173c-3 -14 -13 -14 -32 -14h-530c-18 0 -34 0 -34 18c0 17 17 17 32 17c53 0 56 10 56 57v501c0 49 -4 57 -61 57c-8 0 -27 0 -27 17\nc0 18 16 18 34 18h512c31 0 33 -2 33 -33v-130c0 -17 0 -33 -17 -33c-16 0 -17 15 -18 23c-6 69 -73 138 -208 138h-48c-24 0 -43 0 -43 -67v-211c52 1 154 8 160 137c0 8 1 23 18 23s17 -16 17 -32v-271c0 -18 0 -32 -17 -32s-17 13 -18 27c0 6 -4 60 -52 91\nc-35 21 -83 21 -108 21zM594 650h-57c21 -13 40 -29 57 -48v48zM399 357v-1c1 0 32 -13 56 -40v84c-18 -21 -40 -36 -56 -43zM173 595v-505c0 -12 0 -37 -8 -55h106c-4 9 -11 29 -11 65v485c0 9 0 42 11 65h-106c8 -18 8 -43 8 -55zM545 35h70c1 8 8 52 9 56\nc-20 -18 -47 -39 -79 -55v-1z"
  4213. },
  4214. F: {
  4215. x: 669,
  4216. d: "M295 336v-241c0 -53 4 -60 81 -60c13 0 30 0 30 -17c0 -18 -15 -18 -33 -18h-289c-18 0 -34 0 -34 18c0 17 17 17 32 17c53 0 56 10 56 57v501c0 49 -4 57 -61 57c-8 0 -27 0 -27 17c0 18 16 18 34 18h502c31 0 33 -2 33 -33v-130c0 -17 0 -33 -17 -33\nc-16 0 -17 15 -18 23c-6 69 -71 138 -199 138h-47c-24 0 -43 0 -43 -67v-211c73 3 143 23 149 139c1 11 5 21 18 21c17 0 17 -16 17 -32v-271c0 -18 0 -32 -17 -32c-16 0 -17 13 -18 25c-8 112 -108 114 -149 114zM584 650h-54c23 -14 40 -32 54 -47v47zM444 317v81\nc-14 -17 -34 -33 -53 -42c12 -5 38 -20 53 -39zM173 595v-505c0 -12 0 -37 -8 -55h105c-10 19 -10 43 -10 58v492c0 9 0 42 11 65h-106c8 -18 8 -43 8 -55z"
  4217. },
  4218. G: {
  4219. x: 811,
  4220. d: "M670 255h-143c33 -30 33 -61 33 -135c0 -27 0 -66 -4 -82c39 11 74 27 88 34v102c0 15 0 49 26 81zM408 -19c-192 0 -358 120 -358 362c0 256 185 361 352 361c45 0 78 -8 116 -25c14 -6 49 -21 84 -21c20 0 30 11 32 28c2 18 17 18 18 18c17 0 17 -16 17 -33v-167\nc0 -17 0 -33 -17 -33c-13 0 -16 8 -21 27c-24 78 -136 171 -226 171c-106 0 -179 -128 -179 -329c0 -77 9 -153 32 -212c41 -104 111 -112 152 -112c9 0 55 0 86 11c29 11 29 26 29 55v76c0 29 0 89 -83 96c-14 1 -19 9 -19 18c0 18 16 18 36 18h267c18 0 35 0 35 -18\nc0 -3 -1 -16 -19 -18c-36 -3 -63 -28 -63 -82v-92c0 -28 -1 -29 -26 -42c-69 -35 -158 -57 -245 -57zM634 568v62c-8 -5 -21 -7 -32 -7c-5 0 -12 0 -18 1c15 -13 34 -34 50 -56zM268 42c-69 83 -77 220 -77 298c0 193 63 280 89 306v1c-94 -32 -195 -121 -195 -305\nc0 -128 51 -245 183 -300z"
  4221. },
  4222. H: {
  4223. x: 844,
  4224. d: "M706 593v-501c0 -48 3 -57 60 -57c11 0 28 0 28 -17c0 -18 -15 -18 -33 -18h-272c-18 0 -34 0 -34 18c0 17 17 17 32 17c53 0 56 10 56 57v232h-242v-232c0 -48 3 -57 60 -57c11 0 28 0 28 -17c0 -18 -15 -18 -33 -18h-272c-18 0 -34 0 -34 18c0 17 17 17 32 17\nc53 0 56 10 56 57v501c0 49 -4 57 -61 57c-8 0 -27 0 -27 17c0 18 16 18 34 18h272c18 0 33 0 33 -18c0 -17 -17 -17 -26 -17c-58 0 -62 -7 -62 -57v-223h242v223c0 49 -4 57 -61 57c-8 0 -27 0 -27 17c0 18 16 18 34 18h272c18 0 33 0 33 -18c0 -17 -17 -17 -26 -17\nc-58 0 -62 -7 -62 -57zM173 595v-505c0 -12 0 -37 -8 -55h109c-8 18 -8 43 -8 55v505c0 12 0 37 8 55h-109c8 -18 8 -43 8 -55zM578 595v-505c0 -12 0 -37 -8 -55h109c-8 18 -8 43 -8 55v505c0 12 0 37 8 55h-109c8 -18 8 -43 8 -55z"
  4225. },
  4226. I: {
  4227. x: 449,
  4228. d: "M306 593v-501c0 -49 4 -57 65 -57c11 0 28 0 28 -17c0 -18 -15 -18 -33 -18h-282c-18 0 -34 0 -34 18c0 17 18 17 31 17c59 0 62 9 62 57v501c0 47 -3 57 -60 57c-16 0 -33 0 -33 17c0 18 16 18 34 18h282c18 0 33 0 33 -18c0 -17 -16 -17 -31 -17c-59 0 -62 -10 -62 -57\nzM178 595v-505c0 -15 0 -37 -9 -55h111c-9 18 -9 40 -9 55v505c0 15 0 37 9 55h-111c9 -18 9 -40 9 -55z"
  4229. },
  4230. J: {
  4231. x: 570,
  4232. d: "M201 685h286c18 0 33 0 33 -18c0 -9 -8 -17 -17 -17c-57 -1 -71 -1 -71 -46v-420c0 -32 0 -88 -1 -97c-15 -123 -109 -162 -220 -162c-97 0 -161 48 -161 111c0 41 34 70 72 70s72 -29 72 -70c0 -15 -5 -34 -18 -48c-5 -5 -9 -9 -9 -17c0 -11 30 -11 37 -11\nc24 0 40 11 48 18c17 17 17 36 17 53v561c0 51 -4 58 -73 58c-11 0 -29 0 -29 17c0 18 16 18 34 18zM131 -24c3 19 12 29 16 33c4 3 12 12 12 27c0 23 -20 35 -37 35c-15 0 -37 -10 -37 -36c0 -37 36 -54 46 -59zM304 594v-565c0 -18 0 -37 -15 -60c76 20 99 66 107 117\nc1 10 1 60 1 90v403c0 34 0 53 8 71h-110c9 -18 9 -45 9 -56z"
  4233. },
  4234. K: {
  4235. x: 845,
  4236. d: "M439 416l289 -346c5 -6 12 -13 21 -22c8 -7 12 -11 27 -13c7 -1 19 -4 19 -17c0 -18 -15 -18 -33 -18h-223c-18 0 -33 0 -33 18c0 13 6 14 30 18c4 1 6 3 12 4c-5 13 -5 15 -16 29l-26 31l-177 211l-28 -26v-193c0 -48 3 -57 60 -57c11 0 28 0 28 -17\nc0 -18 -15 -18 -33 -18h-272c-18 0 -34 0 -34 18c0 17 17 17 32 17c53 0 56 10 56 57v501c0 49 -4 57 -61 57c-8 0 -27 0 -27 17c0 18 16 18 34 18h272c18 0 33 0 33 -18c0 -17 -17 -17 -26 -17c-58 0 -62 -7 -62 -57v-250c24 21 81 78 104 100l109 103c9 9 25 26 25 54\nc0 22 -11 46 -38 50c-7 1 -21 2 -21 17c0 18 15 18 33 18h211c18 0 33 0 33 -18c0 -15 -14 -16 -22 -17c-62 -6 -122 -65 -231 -171zM643 650h-82c13 -21 13 -40 13 -55c36 32 38 32 69 55zM165 35h109c-8 18 -8 43 -8 55v505c0 12 0 37 8 55h-109c8 -18 8 -43 8 -55v-505\nc0 -12 0 -37 -8 -55zM414 393l-59 -58c10 -11 79 -94 99 -119c23 -27 80 -94 102 -122c26 -32 26 -42 27 -59h129z"
  4237. },
  4238. L: {
  4239. x: 680,
  4240. d: "M297 593v-491c0 -67 19 -67 43 -67h52c33 0 84 4 148 45c83 52 94 101 100 130c2 8 10 14 18 14s17 -7 17 -18c0 -4 -28 -190 -29 -193c-4 -13 -13 -13 -32 -13h-530c-18 0 -34 0 -34 18c0 17 17 17 32 17c53 0 56 10 56 57v501c0 49 -4 57 -61 57c-8 0 -27 0 -27 17\nc0 18 16 18 34 18h263c18 0 33 0 33 -18c0 -17 -17 -17 -28 -17c-52 0 -55 -8 -55 -57zM173 595v-505c0 -12 0 -37 -8 -55h108c-4 9 -11 29 -11 65v495c0 13 0 37 8 55h-105c8 -18 8 -43 8 -55zM614 35l10 68c-17 -17 -43 -42 -88 -67v-1h78z"
  4241. },
  4242. M: {
  4243. x: 1008,
  4244. d: "M499 210l190 454c9 21 11 21 37 21h193c18 0 33 0 33 -18c0 -11 -9 -16 -19 -17c-68 -6 -68 -50 -68 -71v-473c0 -23 0 -65 77 -71c8 -1 16 -8 16 -17c0 -18 -15 -18 -33 -18h-267c-18 0 -34 0 -34 18c0 1 0 15 19 17c68 6 68 50 68 71v498l-1 1l-245 -585\nc-5 -12 -8 -20 -20 -20c-6 0 -13 3 -21 21l-244 584l-1 -1v-498c0 -23 0 -65 77 -71c8 -1 16 -8 16 -17c0 -18 -15 -18 -33 -18h-155c-18 0 -34 0 -34 18c0 1 0 15 19 17c68 6 68 50 68 71v534c-22 8 -49 10 -61 10c-5 0 -23 0 -23 17c0 18 15 18 33 18h186\nc27 0 28 0 36 -20zM469 192l-193 458h-87c14 -12 22 -29 27 -42l228 -544h2l44 106c-12 4 -13 5 -21 22zM167 35l-9 11c-1 -1 -1 -2 -2 -3c-2 -2 -4 -5 -6 -8h17zM746 650v-546c0 -18 0 -44 -22 -69h129c-23 25 -23 51 -23 69v477c0 18 0 44 22 69h-106z"
  4245. },
  4246. N: {
  4247. x: 777,
  4248. d: "M137 595c0 14 0 16 2 24c-10 12 -29 28 -56 31c-6 0 -21 2 -21 17c0 18 15 18 33 18h174c23 0 26 0 36 -14l302 -408v313c0 53 -8 73 -64 74c-11 0 -29 0 -29 17c0 18 16 18 34 18h146c18 0 33 0 33 -18c0 -16 -17 -17 -23 -17c-46 -1 -55 -15 -55 -71v-565\nc0 -17 0 -33 -17 -33c-7 0 -12 3 -21 15l-432 571v-458c0 -52 8 -73 63 -74c14 0 30 -1 30 -17c0 -18 -15 -18 -33 -18h-155c-18 0 -34 0 -34 18c0 16 17 17 28 17c51 1 59 19 59 72v488zM614 51v144l-337 455h-119c11 -10 11 -12 21 -24z"
  4249. },
  4250. O: {
  4251. x: 812,
  4252. d: "M762 342c0 -246 -173 -361 -356 -361c-179 0 -356 110 -356 362c0 246 173 361 356 361c179 0 356 -110 356 -362zM268 641l-1 1c-58 -22 -182 -96 -182 -300c0 -194 115 -274 184 -300c-66 78 -78 203 -78 301c0 110 16 227 77 298zM545 642l-1 -1\nc65 -76 77 -201 77 -299c0 -110 -16 -227 -78 -300c60 23 184 97 184 301c0 194 -115 274 -182 299zM406 16c160 0 180 207 180 327c0 114 -18 326 -180 326c-160 0 -180 -207 -180 -327c0 -114 18 -326 180 -326z"
  4253. },
  4254. P: {
  4255. x: 683,
  4256. d: "M296 308v-216c0 -49 4 -57 61 -57c11 0 28 0 28 -17c0 -18 -15 -18 -33 -18h-268c-18 0 -34 0 -34 18c0 17 18 17 28 17c51 0 55 8 55 57v501c0 49 -4 57 -56 57c-8 0 -27 0 -27 17c0 18 16 18 34 18h292c129 0 257 -46 257 -188c0 -95 -73 -190 -276 -190h-34\nc-2 1 -23 1 -27 1zM461 353c92 23 137 74 137 144c0 101 -78 131 -133 144c26 -37 31 -90 31 -143c0 -40 -3 -103 -35 -145zM296 596v-253h50c62 0 115 12 115 155c0 125 -33 152 -105 152c-60 0 -60 -34 -60 -54zM160 35h109c-8 18 -8 45 -8 55v509c0 15 0 35 13 51h-114\nc8 -18 8 -42 8 -55v-505c0 -13 0 -37 -8 -55z"
  4257. },
  4258. Q: {
  4259. x: 812,
  4260. d: "M495 -9c23 -50 80 -108 172 -108c16 0 27 0 55 7c7 2 8 2 10 2c8 0 17 -6 17 -18s-10 -16 -28 -23c-52 -20 -107 -30 -157 -30c-124 0 -223 72 -268 175c-118 31 -246 133 -246 347c0 246 173 361 356 361c179 0 356 -110 356 -362c0 -210 -126 -322 -267 -351zM268 641\nl-1 1c-58 -22 -182 -96 -182 -300c0 -194 115 -274 184 -300c-66 78 -78 203 -78 301c0 110 16 227 77 298zM545 642l-1 -1c65 -76 77 -201 77 -299c0 -110 -16 -227 -78 -300c60 23 184 97 184 301c0 194 -115 274 -182 299zM406 16c160 0 180 207 180 327\nc0 114 -18 326 -180 326c-160 0 -180 -207 -180 -327c0 -114 18 -326 180 -326zM340 -14c52 -90 139 -130 224 -130c13 0 31 0 31 2c0 1 -1 1 -11 5c-50 20 -97 58 -124 121c-28 -3 -49 -3 -54 -3c-1 0 -38 0 -66 5z"
  4261. },
  4262. R: {
  4263. x: 787,
  4264. d: "M302 314v-222c0 -49 4 -57 61 -57c11 0 28 0 28 -17c0 -18 -15 -18 -33 -18h-274c-18 0 -34 0 -34 18c0 17 19 17 27 17c57 0 62 7 62 57v501c0 50 -5 57 -62 57c-8 0 -27 0 -27 17c0 18 16 18 34 18h314c118 0 265 -48 265 -187c0 -119 -86 -157 -175 -173\nc67 -108 117 -174 124 -184c24 -32 73 -98 110 -106c9 -2 15 -9 15 -17c0 -18 -15 -18 -33 -18h-138c-23 0 -26 0 -33 12c-11 15 -35 54 -45 70l-150 232h-36zM495 363c103 19 133 70 133 135c0 101 -99 132 -140 141c32 -41 38 -94 38 -142c0 -44 -3 -97 -31 -134zM302 596\nv-247c158 0 189 19 189 148c0 118 -42 153 -127 153c-62 0 -62 -33 -62 -54zM166 35h109c-8 18 -8 45 -8 55v509c0 15 0 35 13 51h-114c8 -18 8 -45 8 -55v-505c0 -9 0 -37 -8 -55zM379 314l180 -279h97c-83 83 -191 261 -206 285c-15 -2 -37 -4 -52 -4c-8 0 -12 -1 -19 -2z\n"
  4265. },
  4266. S: {
  4267. x: 601,
  4268. d: "M93 105v-64c15 8 32 10 47 10c-31 30 -46 54 -46 54h-1zM231 306c-154 65 -181 133 -181 198c0 133 91 200 227 200c30 0 53 -4 85 -16c12 -4 35 -12 60 -12s39 11 48 20c4 3 8 8 16 8c17 0 17 -16 17 -33v-152c0 -17 0 -33 -17 -33c-14 0 -16 10 -19 24\nc-19 84 -116 159 -188 159c-71 0 -110 -47 -110 -102c0 -70 99 -109 188 -145c143 -56 194 -146 194 -230c0 -131 -123 -204 -267 -204c-16 0 -45 0 -86 15c-9 4 -33 13 -59 13c-13 0 -31 -3 -48 -19c-5 -6 -8 -9 -15 -9c-18 0 -18 16 -18 33v186c0 17 0 33 18 33\nc9 0 17 -8 17 -17c0 -22 2 -76 61 -136c35 -36 79 -64 131 -64c99 0 130 41 130 112c0 92 -106 137 -184 171zM468 591v60c-1 -1 -17 -9 -44 -10c28 -29 37 -39 44 -50zM435 59c30 16 81 55 81 133c0 54 -23 92 -55 127c-39 40 -90 60 -127 75c-90 36 -200 82 -200 173\nc0 8 1 42 19 71l-1 1c-54 -31 -67 -88 -67 -135c0 -94 89 -136 183 -176c78 -33 182 -88 182 -193c0 -7 -1 -47 -15 -76z"
  4269. },
  4270. T: {
  4271. x: 702,
  4272. d: "M432 649v-556c0 -51 4 -58 69 -58c11 0 28 0 28 -17c0 -18 -15 -18 -33 -18h-290c-18 0 -34 0 -34 18c0 17 18 17 30 17c63 0 67 8 67 58v556c-105 -6 -180 -66 -184 -149c0 -2 -1 -20 -18 -20s-17 16 -17 32v141c0 30 2 32 33 32h535c30 0 34 -1 34 -36v-133\nc0 -19 0 -36 -18 -36c-16 0 -17 15 -18 30c-4 47 -53 132 -184 139zM85 650v-52c14 17 35 37 60 52h-60zM617 650h-61c27 -17 50 -39 61 -53v53zM295 35h111c-9 18 -9 43 -9 56v559h-93v-559c0 -13 0 -38 -9 -56z"
  4273. },
  4274. U: {
  4275. x: 792,
  4276. d: "M558 685h151c18 0 33 0 33 -18c0 -15 -13 -16 -22 -17c-66 -8 -66 -108 -66 -170v-205c0 -76 0 -294 -260 -294c-67 0 -136 14 -187 58c-74 63 -74 153 -74 200v369c0 41 -16 41 -61 42c-8 0 -22 3 -22 17c0 18 16 18 34 18h268c18 0 33 0 33 -18c0 -17 -16 -17 -31 -17\nc-59 0 -62 -10 -62 -57v-375c0 -173 67 -195 132 -195c146 0 188 110 188 227v265c0 67 -19 129 -63 135c-11 1 -25 3 -25 17c0 18 16 18 34 18zM654 650h-42c10 -14 15 -23 21 -39c6 16 11 25 21 39zM257 216v379c0 15 0 37 9 55h-106c5 -11 6 -24 7 -25c1 -13 1 -49 1 -73\nv-279c0 -25 0 -63 1 -75c7 -83 46 -151 145 -173c-42 41 -57 113 -57 191z"
  4277. },
  4278. V: {
  4279. x: 819,
  4280. d: "M686 599l-249 -597c-6 -16 -9 -21 -20 -21c-9 0 -14 6 -21 21l-269 593c-2 3 -23 50 -56 55c-8 1 -21 3 -21 17c0 18 15 18 33 18h262c18 0 33 0 33 -18c0 -5 -3 -16 -19 -17c-37 -3 -60 -24 -60 -31c0 -65 153 -397 171 -434c73 183 73 185 80 205c17 48 49 143 49 202\nc0 52 -21 56 -36 58c-6 1 -21 2 -21 17c0 18 15 18 33 18h161c18 0 33 0 33 -18c0 -15 -15 -17 -21 -17c-42 -4 -57 -39 -62 -51zM676 650h-54c11 -18 12 -45 12 -58c0 -9 -1 -22 -2 -31c5 11 16 37 20 48c7 16 12 28 24 41zM163 601l254 -559l37 91\nc-63 139 -191 419 -191 487c0 21 8 26 13 30h-142c2 -2 20 -30 29 -49z"
  4281. },
  4282. W: {
  4283. x: 1084,
  4284. d: "M976 603l-214 -599c-5 -15 -8 -23 -20 -23s-15 7 -21 24l-166 438l-193 -442c-6 -13 -9 -20 -20 -20c-12 0 -15 8 -20 23l-214 601c-4 11 -16 42 -39 45c-5 1 -19 3 -19 17c0 18 15 18 33 18h212c18 0 34 0 34 -18c0 -15 -16 -17 -19 -17c-17 -2 -37 -15 -37 -26\nc0 -35 39 -159 62 -227l71 -204l130 299c-12 34 -25 70 -38 100c-21 53 -39 55 -57 58c-14 3 -16 14 -16 17c0 18 16 18 34 18h241c18 0 33 0 33 -18c0 -15 -16 -17 -21 -17c-25 -2 -44 -19 -48 -24c3 -85 123 -391 131 -409c50 146 94 275 94 361c0 68 -24 70 -47 72\nc-9 1 -16 8 -16 17c0 18 15 18 33 18h142c18 0 33 0 33 -18c0 -7 -4 -15 -17 -17c-19 -2 -29 -13 -41 -47zM959 650h-50c15 -26 15 -49 15 -86c11 29 25 70 35 86zM533 601l209 -552c8 26 22 64 38 108c-17 42 -151 385 -151 463c0 5 0 22 10 30h-132c11 -15 19 -32 26 -49z\nM145 604l199 -557l42 97c-27 74 -148 408 -148 481c0 16 3 20 6 25h-119c10 -17 17 -36 20 -46z"
  4285. },
  4286. X: {
  4287. x: 786,
  4288. d: "M490 685h200c18 0 33 0 33 -18c0 -15 -14 -16 -24 -17c-81 -7 -133 -73 -183 -139l-50 -65c-13 -18 -24 -32 -26 -35l136 -201c41 -61 105 -153 119 -166c3 -2 8 -6 25 -9c8 -2 16 -7 16 -17c0 -18 -15 -18 -33 -18h-267c-18 0 -33 0 -33 18c0 17 17 17 26 17\nc20 0 44 2 62 14c-8 23 -17 50 -127 217c-38 -42 -77 -85 -113 -128c-6 -8 -22 -26 -22 -53c0 -1 0 -44 37 -50c8 -1 22 -3 22 -17c0 -18 -16 -18 -34 -18h-171c-18 0 -33 0 -33 18c0 13 11 15 21 17c40 8 86 60 160 143l108 124c-20 31 -162 245 -219 317\nc-17 22 -21 27 -51 31c-15 3 -15 16 -15 17c0 18 15 18 33 18h257c18 0 33 0 33 -18c0 -17 -17 -17 -24 -17c-11 0 -33 -2 -49 -11c7 -21 13 -39 111 -190c16 19 38 48 56 73c28 37 40 52 40 80c0 4 0 44 -35 48c-9 1 -19 5 -19 17c0 18 15 18 33 18zM599 650h-65\nc9 -14 12 -31 12 -47c19 18 35 34 53 47zM193 84l-50 -49h65c-3 4 -9 15 -13 35c0 2 -2 13 -2 14zM268 650h-128c81 -101 295 -428 336 -494c40 -68 51 -95 51 -110c0 -4 -1 -8 -2 -11h132c-72 91 -291 425 -327 481c-62 101 -62 114 -62 134z"
  4289. },
  4290. Y: {
  4291. x: 784,
  4292. d: "M453 335l129 208c10 16 13 32 13 41c0 15 -9 60 -59 66c-7 1 -22 2 -22 17c0 18 16 18 34 18h153c18 0 33 0 33 -18c0 -13 -12 -16 -19 -17c-30 -7 -70 -71 -111 -136l-130 -210v-199c0 -59 7 -70 63 -70c13 0 30 0 30 -17c0 -18 -15 -18 -33 -18h-282\nc-18 0 -34 0 -34 18c0 17 19 17 26 17c59 1 67 7 67 70v158l-200 355c-15 26 -17 31 -38 32c-6 0 -23 1 -23 17c0 18 16 18 34 18h221c18 0 33 0 33 -18c0 -17 -17 -17 -25 -17c-14 0 -16 -1 -28 -5c4 -16 4 -18 13 -33c4 -8 15 -28 20 -35zM656 650h-50\nc9 -10 16 -25 20 -38c5 7 26 33 30 38zM335 35h115c-11 22 -11 56 -11 68v187c-19 31 -116 205 -134 237c-8 15 -30 52 -38 67c-17 34 -17 41 -16 56h-117l212 -378v-169c0 -11 0 -46 -11 -68z"
  4293. },
  4294. Z: {
  4295. x: 708,
  4296. d: "M618 649l-376 -614h142c142 0 220 96 237 178c3 20 5 30 20 30c8 0 17 -7 17 -18l-27 -197c-4 -26 -4 -28 -34 -28h-513c-18 0 -34 0 -34 18c0 3 0 5 9 18l376 614h-81c-34 0 -104 -3 -161 -40c-61 -38 -70 -82 -74 -106c-2 -8 -8 -15 -17 -15c-7 0 -18 5 -18 19l2 13\nl15 135c3 26 3 29 35 29h458c18 0 33 0 33 -18c0 -3 0 -5 -9 -18zM135 650l-5 -45c12 11 31 29 58 44v1h-53zM476 650l-377 -615h102l377 615h-102zM529 36v-1h68c5 36 7 47 9 67c-23 -28 -49 -50 -77 -66z"
  4297. }
  4298. }
  4299. };
  4300. }
  4301. };
  4302. /*!
  4303. * 手写体
  4304. */
  4305. _p[27] = {
  4306. value: function(require) {
  4307. return {
  4308. meta: {
  4309. fontFamily: "KF AMS CAL",
  4310. src: "KF_AMS_CAL.woff"
  4311. },
  4312. data: {
  4313. A: {
  4314. x: 871,
  4315. d: "M618 165h-272c-22 -35 -137 -215 -206 -215c-47 0 -90 44 -90 84c0 28 22 76 37 76c4 0 6 -6 7 -8c9 -36 40 -60 77 -60c54 0 158 163 217 254c52 81 126 202 205 371l7 11c18 27 59 44 73 44c11 0 11 -4 11 -20c0 -24 -1 -50 -1 -74c0 -102 4 -204 11 -306\nc8 -137 17 -177 24 -210c12 -60 18 -87 46 -87c2 0 4 0 11 4c3 2 24 13 37 13c5 0 9 -2 9 -7c0 -20 -77 -65 -122 -65c-43 0 -48 22 -59 67c-5 19 -17 65 -22 128zM598 599h-1c-13 -25 -40 -83 -90 -172c-6 -11 -64 -115 -134 -223c26 16 41 16 57 16h183\nc-5 52 -9 127 -10 147c-3 58 -5 116 -5 174v58z"
  4316. },
  4317. B: {
  4318. x: 735,
  4319. d: "M300 679l-20 -132c121 150 249 159 283 159c74 0 122 -43 122 -101c0 -94 -117 -166 -197 -200c102 -19 158 -82 158 -166c0 -161 -207 -261 -348 -261c-108 0 -147 66 -147 69c0 18 51 49 73 49c8 0 9 -2 13 -7c13 -14 50 -56 127 -56c91 0 197 40 197 164\nc0 95 -82 155 -183 155c-21 0 -44 -4 -48 -4c-3 0 -10 1 -10 7c0 25 69 49 81 53c104 35 199 67 199 155c0 53 -49 88 -103 88c-63 0 -105 -30 -151 -95c-71 -103 -109 -234 -131 -320c-30 -116 -68 -189 -81 -212c-16 -28 -58 -46 -74 -46c-2 0 -10 0 -10 7c0 1 0 3 5 12\nc49 97 68 158 105 328c18 86 42 214 54 312c-19 -9 -45 -23 -57 -23c-4 0 -11 0 -11 6c0 18 38 37 84 60c20 10 50 25 61 25c9 0 11 -3 11 -10c0 -3 0 -5 -2 -16z"
  4320. },
  4321. C: {
  4322. x: 622,
  4323. d: "M534 157c0 -25 -133 -181 -294 -181c-116 0 -190 81 -190 227c0 52 12 207 131 351c46 56 165 151 310 151c36 0 81 -8 81 -63c0 -51 -58 -149 -60 -153c-12 -16 -49 -38 -69 -38c-6 0 -11 0 -11 7c0 2 0 4 6 15c12 20 49 91 49 126c0 37 -24 51 -62 51\nc-103 0 -157 -52 -201 -116c-53 -79 -89 -198 -89 -288c0 -150 81 -215 171 -215c65 0 109 34 140 81c12 17 16 24 36 37c1 0 25 15 42 15c5 0 10 -1 10 -7z"
  4324. },
  4325. D: {
  4326. x: 845,
  4327. d: "M233 0h-103c-22 0 -23 1 -23 7c0 10 24 33 61 46c70 175 121 366 137 575c-126 -6 -154 -41 -168 -81c-6 -19 -9 -25 -30 -39c-8 -5 -31 -19 -47 -19c-6 0 -10 2 -10 8c0 8 19 91 152 150c84 36 143 36 229 36c95 0 187 0 273 -56c49 -31 91 -87 91 -176\nc0 -273 -329 -451 -562 -451zM238 55h54c242 0 418 157 418 353c0 220 -256 220 -323 220c-14 -120 -35 -294 -149 -573z"
  4328. },
  4329. E: {
  4330. x: 637,
  4331. d: "M261 363c-49 17 -94 53 -94 112c0 122 170 230 306 230c45 0 114 -9 114 -68c0 -57 -62 -96 -92 -96c-3 0 -10 0 -10 7c0 3 3 8 5 11c4 6 12 20 12 36c0 52 -76 55 -95 55c-140 0 -155 -109 -155 -132c0 -40 28 -109 169 -115c5 0 10 -1 10 -7c0 -11 -35 -46 -82 -48\nc-158 -6 -214 -154 -214 -203c0 -75 79 -112 150 -112c89 0 131 58 152 87c23 31 61 44 73 44c5 0 10 -1 10 -7c0 -21 -134 -179 -301 -179c-95 0 -169 48 -169 124c0 24 11 153 211 261z"
  4332. },
  4333. F: {
  4334. x: 913,
  4335. d: "M863 645c0 -27 -54 -57 -78 -57c-3 0 -6 1 -8 3c-3 5 0 15 -2 21c-18 22 -88 17 -113 17h-132c-18 -92 -52 -180 -78 -270h240c12 0 19 1 19 -6c0 -31 -57 -59 -79 -59c-4 0 -10 3 -10 7c0 1 1 2 2 3h-193c-26 -60 -92 -224 -125 -262c-32 -37 -91 -74 -142 -74\nc-49 0 -94 27 -112 74c-1 2 -2 4 -2 6c0 17 55 49 78 49c7 0 7 -4 10 -10c18 -39 51 -63 95 -63c14 12 68 137 74 150c44 98 103 253 142 436c0 1 4 19 4 19h-62c-31 0 -61 -2 -92 -2c-14 -15 -44 -33 -66 -33c-6 0 -8 1 -10 7c16 54 105 83 155 83h377c31 0 108 7 108 -39z\n"
  4336. },
  4337. G: {
  4338. x: 657,
  4339. d: "M442 159c-66 -53 -143 -91 -218 -91c-129 0 -174 103 -174 204c0 235 203 433 429 433c14 0 48 0 85 -12c12 -4 43 -14 43 -55c0 -34 -40 -90 -48 -101c-27 -37 -60 -64 -89 -64c-6 0 -11 0 -11 7c0 4 3 8 7 12c4 6 56 70 56 104c0 32 -25 40 -36 43c-25 8 -54 11 -73 11\nc-113 0 -162 -53 -189 -85c-58 -70 -89 -173 -89 -250c0 -113 57 -192 154 -192c124 0 183 148 193 182c7 25 8 30 31 45c21 14 38 19 47 19s11 -3 11 -9c0 -4 -21 -84 -41 -153c-3 -12 -20 -69 -46 -125c-75 -163 -193 -201 -265 -201c-93 0 -161 41 -161 50\nc0 11 35 46 80 48c59 -40 130 -43 147 -43c34 0 55 2 94 70c10 16 36 62 63 153z"
  4340. },
  4341. H: {
  4342. x: 880,
  4343. d: "M360 335h268c30 102 61 203 101 301c4 9 10 14 11 16c19 17 48 31 63 31c4 0 10 0 10 -7c0 -2 0 -4 -3 -11c-86 -228 -135 -416 -152 -527c-3 -22 -10 -77 -10 -89c0 -31 23 -43 41 -43c1 0 20 1 31 3c19 3 20 4 24 12c15 39 68 53 76 53c5 0 10 -2 10 -8\nc0 -32 -74 -115 -207 -115c-43 0 -60 26 -60 55c0 79 41 242 52 284c-16 -10 -35 -10 -46 -10h-225c-26 -92 -56 -182 -91 -270c-4 -10 -6 -12 -11 -18c-20 -20 -51 -33 -65 -33c-2 0 -10 0 -10 7c0 1 0 3 9 26c46 122 74 218 95 288h-72c-22 0 -23 1 -23 7\nc0 15 46 47 74 48h36c21 86 24 104 29 132c12 69 15 116 15 117c0 16 -7 44 -48 44c-90 0 -119 -38 -146 -89c-21 -38 -68 -50 -76 -50c-3 0 -10 0 -10 7c0 5 26 72 107 127c47 32 115 60 191 60c12 0 67 0 67 -56c0 -12 -7 -79 -19 -146c-10 -48 -23 -99 -36 -146z"
  4344. },
  4345. I: {
  4346. x: 759,
  4347. d: "M429 683h257c22 0 23 -1 23 -7c0 -12 -23 -28 -32 -33c-26 -15 -35 -15 -55 -15h-85c-20 0 -21 -1 -27 -10c-41 -61 -65 -158 -92 -267c-34 -136 -64 -235 -135 -296h191c50 0 53 6 60 27c10 25 57 48 74 48c3 0 11 0 11 -7c0 -36 -87 -123 -204 -123h-342\nc-22 0 -23 1 -23 7c0 10 22 27 33 33c25 15 36 15 55 15h64c27 0 28 1 38 12c41 53 64 131 93 249c36 144 65 251 128 312h-91c-34 0 -67 -2 -101 -6c-67 -9 -70 -18 -82 -56c-8 -22 -56 -47 -74 -47c-6 0 -11 1 -11 8c0 13 23 81 125 124c24 9 78 32 202 32z"
  4348. },
  4349. J: {
  4350. x: 893,
  4351. d: "M618 683h202c22 0 23 -1 23 -7c0 -11 -34 -45 -79 -48c-23 -2 -27 -5 -43 -23c-75 -84 -123 -266 -160 -411c-18 -71 -36 -144 -128 -223c-49 -42 -130 -90 -215 -90c-98 0 -168 60 -168 152c0 47 11 57 23 66c28 21 51 26 57 26c9 0 10 -6 10 -9c0 -4 -5 -21 -5 -41\nc0 -87 71 -139 149 -139c101 0 162 100 186 193c66 260 112 411 222 499h-133c-98 0 -170 -43 -203 -149c-6 -18 -51 -46 -74 -46c-4 0 -10 0 -10 7c0 2 12 86 121 164c46 33 129 79 225 79z"
  4352. },
  4353. K: {
  4354. x: 803,
  4355. d: "M216 638c-48 -24 -50 -24 -59 -24c-4 0 -11 0 -11 6c0 18 38 37 84 60c20 10 50 25 61 25s11 -4 11 -16c0 -4 -2 -45 -7 -85c-30 -254 -160 -581 -165 -588c-16 -19 -52 -38 -70 -38c-2 0 -10 0 -10 7c0 1 0 3 5 15c59 156 150 420 161 638zM747 127c0 -3 -4 -28 -30 -60\nc-38 -48 -119 -89 -197 -89c-30 0 -51 13 -86 47c-72 73 -173 289 -173 375c0 62 107 138 149 169c79 56 217 136 285 136c37 0 58 -26 58 -60c0 -49 -48 -52 -50 -52c-9 0 -12 5 -12 11c0 4 2 9 2 16c0 26 -15 42 -36 42c-47 0 -224 -102 -298 -175\nc-35 -36 -38 -46 -38 -62c0 -90 141 -404 238 -404c2 0 100 0 127 76c5 16 7 19 19 27c14 11 25 12 30 12c12 0 12 -8 12 -9z"
  4356. },
  4357. L: {
  4358. x: 803,
  4359. d: "M199 93c13 3 27 4 40 4c50 0 105 -16 133 -24c66 -18 116 -33 164 -33c15 0 16 0 24 12c4 6 10 14 15 30c6 17 8 23 35 40c17 12 41 23 57 23c1 0 7 0 7 -7c0 -3 -6 -28 -26 -55c-32 -44 -114 -105 -195 -105c-51 0 -102 15 -153 29c-63 18 -98 27 -148 28\nc-23 -24 -25 -26 -42 -36c-26 -17 -47 -21 -51 -21c-7 0 -9 4 -9 6c0 5 10 23 37 48c14 13 40 57 47 69c30 60 38 91 56 160c19 75 66 255 146 337c98 99 186 107 218 107c56 0 84 -41 84 -95c0 -41 -9 -51 -27 -65c-25 -18 -52 -29 -68 -29c-1 0 -7 0 -7 7c0 5 5 19 5 37\nc0 14 -2 83 -71 83c-32 0 -40 -9 -52 -22c-62 -69 -100 -189 -135 -327c-13 -53 -30 -117 -84 -201z"
  4360. },
  4361. M: {
  4362. x: 1189,
  4363. d: "M408 559c-28 -144 -84 -302 -131 -415c-20 -51 -79 -194 -141 -194c-5 0 -29 1 -54 14c-32 17 -32 29 -32 38c0 28 22 73 36 73c2 0 4 0 9 -5c22 -20 59 -28 72 -28c19 0 41 0 121 213c70 191 90 323 102 407c3 21 45 43 63 43c3 0 8 0 11 -5c0 -2 5 -29 8 -43\nc17 -97 34 -180 63 -293c35 -140 53 -178 78 -231c99 84 391 434 485 548c19 22 20 23 24 23c7 0 8 -11 8 -15c0 -8 -1 -10 -2 -17c-29 -124 -73 -427 -73 -538c0 -4 0 -34 3 -66c2 -23 4 -39 28 -42c11 7 31 16 44 16c3 0 9 -1 9 -7c0 -20 -76 -64 -118 -64s-46 29 -47 40\nc-3 27 -4 53 -4 80c0 117 36 342 50 427l-219 -255c-70 -80 -122 -138 -198 -211c-18 -18 -20 -18 -24 -18c-10 0 -21 22 -43 65c-57 116 -101 330 -128 460z"
  4364. },
  4365. N: {
  4366. x: 1107,
  4367. d: "M385 574c-19 -107 -50 -256 -115 -437c-16 -46 -67 -187 -131 -187c-28 0 -89 20 -89 51c0 24 21 74 37 74c1 0 3 0 8 -4c26 -24 65 -29 75 -29c20 0 32 18 40 33c27 48 121 311 149 577c1 11 2 20 12 29c29 24 49 24 51 24c9 0 10 -1 16 -21c27 -90 59 -194 112 -336\nc48 -129 79 -208 134 -291c31 129 63 259 98 387c46 167 70 240 98 276c12 13 57 55 157 55c14 0 20 0 20 -16c0 -22 -19 -75 -39 -76c-123 -2 -143 -40 -144 -42c-20 -46 -96 -320 -156 -583c-11 -49 -12 -50 -26 -63c-11 -8 -32 -20 -46 -20c-9 0 -10 1 -24 22\nc-61 95 -89 157 -152 327c-45 123 -67 198 -85 250z"
  4368. },
  4369. O: {
  4370. x: 820,
  4371. d: "M770 482c0 -308 -286 -504 -481 -504c-166 0 -239 128 -239 268c0 300 296 459 331 459c2 0 10 0 10 -7c0 -13 -30 -31 -40 -37c-146 -86 -216 -236 -216 -372c0 -143 78 -256 220 -256c185 0 330 202 330 406c0 131 -62 211 -159 211c-40 0 -60 -15 -84 -42\nc-37 -42 -60 -91 -69 -111c-11 -23 -12 -26 -30 -39c-15 -11 -31 -21 -50 -21c-5 0 -10 1 -10 7c0 2 30 92 110 171c7 6 95 90 199 90c122 0 178 -96 178 -223z"
  4372. },
  4373. P: {
  4374. x: 812,
  4375. d: "M377 683h134c116 0 251 -45 251 -159c0 -165 -236 -319 -418 -319c-13 0 -19 0 -19 7c0 6 8 17 26 29c28 18 39 18 60 19c194 6 266 146 266 221c0 100 -117 147 -239 147h-52c-30 -278 -112 -508 -164 -630c-11 -26 -59 -48 -75 -48c-7 0 -10 4 -10 7c0 1 0 3 6 18\nc84 209 144 428 162 653c-126 -6 -154 -41 -168 -81c-6 -19 -9 -25 -30 -39c-8 -5 -31 -19 -47 -19c-6 0 -10 2 -10 8c0 2 3 31 38 71c41 47 148 115 289 115z"
  4376. },
  4377. Q: {
  4378. x: 774,
  4379. d: "M160 28h29c164 0 237 34 302 93c95 84 136 197 136 296c0 133 -76 233 -202 233c-177 0 -290 -195 -290 -320c0 -103 65 -173 155 -173c10 0 52 1 93 24c14 7 31 17 45 17c4 0 11 0 11 -6c0 -24 -114 -90 -215 -90c-111 0 -174 80 -174 186c0 208 237 417 441 417\nc147 0 221 -110 221 -246c0 -241 -218 -414 -391 -463c144 -49 189 -65 255 -65c27 0 48 3 62 43c5 13 7 20 30 35c16 11 37 19 47 19c5 0 9 -3 9 -8c0 -41 -97 -144 -214 -144c-79 0 -150 25 -219 50c-100 35 -141 44 -208 47c-5 0 -10 0 -10 7c0 12 24 28 32 33\nc25 15 36 15 55 15z"
  4380. },
  4381. R: {
  4382. x: 916,
  4383. d: "M434 628h-47c-31 -320 -158 -602 -160 -607c-11 -19 -53 -43 -73 -43c-2 0 -10 0 -10 7c0 1 0 3 5 14c44 107 81 217 108 329c34 146 43 239 48 300c-126 -6 -154 -41 -168 -81c-6 -19 -9 -25 -30 -39c-8 -5 -31 -19 -47 -19c-6 0 -10 2 -10 8c0 8 18 91 152 150\nc84 36 140 36 240 36c151 0 319 0 319 -125c0 -104 -98 -209 -243 -262c23 -27 41 -64 62 -114c34 -78 65 -149 116 -149c49 0 71 31 87 54c21 29 60 43 72 43c3 0 11 0 11 -7c0 -22 -115 -145 -236 -145c-59 0 -85 46 -131 151c-52 118 -72 138 -114 145c-1 0 -5 0 -5 6\nc0 11 34 46 83 48c165 6 213 126 213 187c0 66 -50 113 -242 113z"
  4384. },
  4385. S: {
  4386. x: 803,
  4387. d: "M147 219c-7 -16 -12 -34 -12 -52c0 -68 82 -134 184 -134c152 0 201 84 201 151c0 84 -91 130 -162 162c-48 21 -135 61 -135 145c0 114 160 214 291 214c14 0 60 0 107 -22c27 -12 53 -26 53 -75c0 -39 -11 -52 -24 -62c-20 -17 -44 -27 -57 -27c-4 0 -10 0 -10 7\nc0 3 1 7 2 10c3 11 4 16 4 30c0 43 -26 55 -45 64c-43 19 -85 20 -96 20c-14 0 -70 -3 -100 -29c-31 -27 -40 -66 -40 -87c0 -57 46 -98 116 -130c81 -36 181 -82 181 -177c0 -136 -189 -249 -352 -249c-122 0 -203 74 -203 146c0 100 98 143 132 143c6 0 12 0 12 -7\nc0 -14 -35 -36 -47 -41z"
  4388. },
  4389. T: {
  4390. x: 900,
  4391. d: "M502 621l-112 -446c-21 -83 -65 -185 -71 -195c-15 -21 -64 -48 -84 -48c-5 0 -9 1 -9 7c0 2 0 4 6 16c29 65 50 128 62 177l114 453c2 10 6 25 23 36h-199c-44 0 -52 -8 -62 -20c-20 -26 -22 -45 -23 -62c-2 -24 -65 -57 -89 -57c-8 0 -8 6 -8 12c0 82 139 189 263 189\nh437c19 0 21 0 29 6c25 18 51 28 62 28c5 0 9 -2 9 -7c0 -13 -50 -89 -182 -89h-166z"
  4392. },
  4393. U: {
  4394. x: 805,
  4395. d: "M560 296l-1 1c-43 -58 -88 -118 -157 -183c-102 -95 -193 -136 -255 -136c-71 0 -97 54 -97 120c0 58 21 122 87 272c42 96 78 178 78 222c0 22 -9 36 -31 36c-27 0 -43 -10 -50 -15c-16 -11 -34 -19 -46 -19c-4 0 -11 0 -11 6c0 21 96 83 173 83c18 0 50 -1 50 -48\nc0 -45 -30 -116 -66 -198c-60 -137 -99 -227 -99 -297c0 -66 30 -107 78 -107c71 0 169 116 200 151c99 116 198 281 231 376c12 37 14 42 27 77c8 19 53 46 74 46c4 0 10 0 10 -7c0 -8 -13 -49 -25 -77c-29 -74 -143 -424 -143 -546c0 -14 7 -24 20 -26c11 6 29 15 41 15\nc5 0 10 -2 10 -7c0 -20 -75 -63 -115 -63c-24 0 -41 12 -41 39c0 77 35 201 58 285z"
  4396. },
  4397. V: {
  4398. x: 726,
  4399. d: "M286 86c172 134 346 339 346 420c0 24 -12 77 -79 85c-12 1 -17 1 -17 16c0 13 14 76 43 76c41 0 97 -31 97 -116c0 -67 -38 -156 -89 -234c-127 -193 -369 -378 -380 -378c-7 0 -7 12 -7 17c0 4 0 6 2 18c12 67 25 187 25 288c0 113 -12 342 -158 355c-14 1 -19 1 -19 8\nc0 14 35 42 69 42c182 0 182 -298 182 -369c0 -15 0 -105 -15 -228z"
  4400. },
  4401. W: {
  4402. x: 1102,
  4403. d: "M257 129h1c166 209 256 378 317 493c-2 5 -6 14 -6 18c0 18 43 43 62 43c10 0 11 -4 14 -11c41 -110 99 -339 110 -554c1 -23 1 -24 2 -24c7 0 251 308 251 422c0 66 -46 73 -60 75c-7 1 -12 2 -12 16c0 15 15 76 42 76c31 0 74 -26 74 -106c0 -173 -214 -464 -338 -603\nc-16 -18 -17 -19 -22 -19c-3 0 -6 4 -6 8c-1 3 -2 49 -2 53c-1 53 -6 114 -12 167c-19 163 -53 301 -83 394c-4 -7 -30 -59 -69 -128c-109 -190 -220 -342 -331 -474c-16 -19 -17 -20 -22 -20c-7 0 -7 12 -7 16c0 9 1 13 4 26c6 23 41 197 41 348c0 43 -3 119 -24 182\nc-27 81 -70 102 -113 106c-13 1 -18 1 -18 8c0 14 35 42 69 42c33 0 87 -11 126 -90c34 -72 34 -184 34 -213c0 -85 -9 -169 -22 -251z"
  4404. },
  4405. X: {
  4406. x: 858,
  4407. d: "M479 551l15 -153c69 42 111 68 141 88c85 58 88 73 88 98c0 39 -24 43 -32 44c-1 0 -7 1 -7 7c0 14 46 48 77 48c29 0 47 -22 47 -56c0 -42 0 -77 -311 -263c10 -104 13 -130 16 -162c8 -84 14 -147 71 -147c2 0 7 0 10 1c19 34 63 47 73 47c6 0 11 0 11 -7\nc0 -28 -65 -96 -160 -96c-74 0 -81 66 -89 145c-2 17 -17 167 -17 169c-52 -33 -110 -65 -171 -105c-106 -71 -106 -83 -106 -110c0 -39 24 -43 32 -44c4 -1 7 -2 7 -7c0 -15 -46 -48 -76 -48s-48 22 -48 56c0 29 2 59 116 140c72 50 207 131 243 151l-14 147\nc-10 103 -23 134 -78 134l-2 -1c-18 -34 -62 -47 -73 -47c-5 0 -11 0 -11 7c0 28 65 96 160 96c70 0 80 -57 88 -132z"
  4408. },
  4409. Y: {
  4410. x: 786,
  4411. d: "M427 97c222 216 269 394 269 425c0 29 -15 76 -74 83c-15 2 -19 3 -19 18c0 10 9 60 38 60c38 0 95 -31 95 -116c0 -52 -35 -224 -235 -454c-87 -101 -252 -248 -328 -248c-85 0 -123 73 -123 114c0 25 19 59 31 59c6 0 7 -6 9 -13c19 -83 100 -83 108 -83\nc49 0 149 84 151 86c2 1 2 3 3 11c1 13 5 82 5 142c0 91 -7 180 -26 260c-30 126 -87 191 -175 192c-22 -29 -53 -34 -59 -34c-2 0 -10 0 -10 8c0 15 61 76 130 76c209 0 214 -361 214 -466c0 -28 -1 -82 -4 -120z"
  4412. },
  4413. Z: {
  4414. x: 830,
  4415. d: "M481 351l-290 -265c19 4 43 4 49 4c53 0 128 -10 178 -16c92 -12 127 -12 157 -12c31 35 41 69 47 88c9 29 69 58 88 58c5 0 9 -1 9 -7s-18 -77 -79 -131c-32 -29 -91 -70 -164 -70c-49 0 -116 8 -164 15c-46 5 -111 13 -156 13c-16 0 -33 0 -51 -10\nc-13 -8 -34 -18 -47 -18c-7 0 -8 4 -8 7c0 7 19 24 32 35c83 70 155 135 157 137c130 117 177 164 184 172h-91c-17 0 -26 0 -26 9c0 4 9 34 62 34h100c87 89 133 140 186 202c-11 -3 -23 -3 -35 -3c-36 0 -77 8 -127 17c-60 11 -88 11 -97 11c-68 0 -81 -22 -94 -61\nc-9 -27 -69 -56 -88 -56c-8 0 -9 5 -9 8c0 1 8 59 98 116c53 32 113 55 177 55c39 0 75 -7 130 -17c58 -11 83 -11 101 -11c29 22 55 28 62 28s8 -4 8 -7c0 -10 -133 -160 -228 -255c-8 -9 -24 -24 -24 -26c0 -1 14 -2 16 -2c23 -1 65 -6 65 -31c0 -21 -31 -38 -47 -38\nc-5 0 -13 0 -13 10c-1 2 -2 6 -3 7c-6 5 -25 9 -65 10z"
  4416. }
  4417. }
  4418. };
  4419. }
  4420. };
  4421. /*!
  4422. * 花体
  4423. */
  4424. _p[28] = {
  4425. value: function(require) {
  4426. return {
  4427. meta: {
  4428. fontFamily: "KF AMS FRAK",
  4429. src: "KF_AMS_FRAK.woff"
  4430. },
  4431. data: {
  4432. A: {
  4433. x: 787,
  4434. d: "M428 319l-178 -164c40 0 65 -21 87 -43l48 -48c12 1 94 53 144 85v325c0 42 -3 88 -5 127l127 96l16 -11c-15 -13 -36 -32 -42 -42c-20 -26 -16 -166 -16 -266c0 -61 2 -121 5 -181c1 -11 2 -23 5 -32c10 -26 34 -89 52 -89c16 0 43 16 60 25l6 -16l-144 -112\nc-31 49 -47 98 -63 150l-203 -150c-33 55 -77 104 -146 104c-37 0 -69 -17 -105 -40l-16 11l112 85c65 50 141 105 181 158c34 44 43 107 43 161c0 97 -72 181 -171 181c-52 0 -111 -38 -111 -95c0 -45 95 -92 95 -150c0 -59 -64 -107 -117 -133l-16 11c30 17 64 47 64 80\nc0 10 -5 19 -11 27c-31 45 -79 74 -79 133c0 40 29 70 57 98c24 24 113 82 193 82c97 0 176 -73 176 -170c0 -68 -18 -136 -48 -197z"
  4435. },
  4436. B: {
  4437. x: 866,
  4438. d: "M539 -27c-107 0 -208 75 -287 75c-51 0 -101 -22 -143 -48l-12 21l124 73c125 73 144 130 147 158c3 32 7 103 7 150c0 162 -95 226 -158 226c-57 0 -97 -27 -97 -87c0 -33 89 -105 89 -152c0 -72 -90 -118 -123 -134l-15 11c27 15 64 48 64 81c0 28 -85 92 -85 160\nc0 40 23 70 51 98c24 24 90 86 183 86c58 0 117 -56 144 -111c51 53 126 106 202 106c23 0 47 -4 64 -21c30 -30 15 -160 78 -160c15 2 30 6 44 11v-22c-37 -15 -71 -25 -103 -48l-89 -63c110 0 176 -65 176 -159c0 -43 -7 -63 -22 -101c-118 -99 -179 -150 -239 -150z\nM457 350c98 35 143 46 228 105c-24 11 -34 55 -38 85c-10 67 -34 94 -76 94c-71 0 -105 -57 -122 -111c6 -25 10 -81 10 -124c0 -14 -1 -35 -2 -49zM422 207l-117 -90c108 0 220 -80 298 -80c75 0 112 74 112 138c0 99 -89 166 -181 166c-27 0 -54 -5 -79 -16\nc-4 -41 -14 -81 -33 -118z"
  4439. },
  4440. C: {
  4441. x: 654,
  4442. d: "M258 601l32 -16c63 45 135 74 207 101l28 -81c6 -14 9 -23 29 -23c16 0 38 5 50 9v-23c-35 -17 -78 -36 -117 -41c-27 16 -57 64 -80 101c-45 -14 -49 -58 -49 -68c0 -18 6 -48 13 -68c5 -16 20 -62 20 -93c0 -106 -89 -147 -174 -160l-12 16c28 7 53 22 74 43\nc16 16 16 45 16 69c0 41 -30 114 -30 167c0 10 1 20 3 30c-105 -3 -138 -116 -138 -202c0 -84 20 -169 80 -229c59 -60 142 -87 225 -87c33 0 58 6 72 13l86 47v-20c-42 -35 -96 -71 -144 -102c-27 -6 -54 -8 -82 -8c-88 0 -176 28 -238 89c-63 62 -79 166 -79 254\nc0 63 15 125 43 181c51 39 106 75 165 101z"
  4443. },
  4444. D: {
  4445. x: 819,
  4446. d: "M391 559l16 -11c-26 -17 -85 -68 -85 -106c0 -40 90 -117 90 -165c0 -72 -87 -120 -148 -146c43 -9 92 -25 134 -40c44 -16 117 -43 137 -43c64 0 83 34 117 85c35 53 42 127 42 192c0 71 -17 145 -69 197c-67 67 -162 90 -256 90c-83 0 -172 -16 -231 -76\nc-44 -44 -64 -110 -67 -169l-21 11c0 82 26 157 85 215c66 65 170 97 261 97c61 0 113 -2 179 -20c112 -32 194 -142 194 -260c0 -96 -21 -174 -55 -263c-63 -69 -163 -174 -222 -174c-21 0 -79 22 -112 35c-63 25 -139 56 -202 56c-46 0 -83 -42 -107 -80l-16 16\nc26 51 63 96 107 133c65 0 160 29 160 96c0 28 -14 53 -32 74c-7 8 -54 67 -54 85c0 77 86 135 155 171z"
  4447. },
  4448. E: {
  4449. x: 655,
  4450. d: "M257 601l32 -16c64 45 136 74 208 101l28 -81c7 -16 11 -23 32 -23c16 0 36 4 48 8v-22c-36 -17 -80 -36 -119 -41c-26 15 -56 63 -79 100c-22 -8 -48 -36 -49 -61c-1 -20 3 -42 9 -60c15 -45 23 -69 23 -137l102 62c21 -29 47 -55 77 -75v-9l-67 -38l-59 42\nc-5 3 -10 5 -15 5c-14 0 -27 -6 -38 -15c-18 -81 -101 -112 -175 -123l-16 16c29 5 55 20 80 37c16 18 17 48 17 73c0 64 -32 127 -32 188c0 10 1 21 4 32c-105 -3 -139 -116 -139 -202c0 -84 20 -169 80 -229s143 -87 226 -87c56 0 116 34 158 60v-20\nc-45 -37 -94 -70 -144 -102c-27 -5 -54 -8 -82 -8c-88 0 -176 27 -233 84c-67 66 -84 167 -84 259c0 63 15 125 42 181c52 39 106 75 165 101z"
  4451. },
  4452. F: {
  4453. x: 710,
  4454. d: "M407 293l122 117c23 -24 43 -49 54 -80l-43 -59c-12 21 -28 43 -53 43c-17 0 -49 -22 -71 -40l87 -112c16 -23 21 -59 21 -88c0 -129 -140 -229 -266 -229c-86 0 -116 78 -116 147c0 33 7 65 7 100c0 72 -22 70 -35 70c-24 0 -48 -12 -59 -18l-5 21c58 39 105 54 131 54\nc36 0 51 -46 51 -85c0 -42 -14 -84 -14 -129c0 -54 17 -78 29 -90c17 -18 39 -35 64 -35c86 0 133 79 133 157c0 50 -53 123 -90 176c-33 47 -80 108 -80 154c0 70 84 137 149 176c-56 34 -128 74 -187 74c-76 0 -108 -87 -122 -154l-16 11c11 110 72 212 197 212\nc96 0 193 -106 272 -106c24 0 60 37 84 63l9 -14c-37 -50 -93 -129 -136 -129c-23 0 -50 11 -73 25c-57 -18 -103 -55 -103 -110c0 -40 33 -87 59 -122z"
  4455. },
  4456. G: {
  4457. x: 745,
  4458. d: "M656 606l-176 -154c16 2 30 3 45 3c57 0 97 -23 114 -37c33 -27 56 -70 56 -115c0 -79 -37 -152 -93 -207l-154 -104c-31 -11 -51 -17 -83 -17c-86 0 -179 33 -231 85c-68 68 -84 164 -84 259c0 65 16 124 44 183c50 36 102 70 162 99l32 -16l112 75l10 -11\nc-27 -23 -53 -53 -53 -90c0 -26 16 -96 26 -137l51 27c33 22 78 57 107 86c-47 16 -94 53 -103 93l68 64c20 -41 58 -85 101 -85c14 0 30 7 45 22zM219 213l-16 16c51 12 92 59 92 119c0 68 -30 126 -30 185c0 10 1 20 3 31c-103 -6 -138 -111 -138 -197\nc0 -88 21 -177 83 -239c52 -52 113 -89 186 -89c51 0 95 7 140 44c52 43 69 113 69 172c0 86 -91 147 -172 147c-16 0 -33 -2 -50 -6c0 -44 -5 -93 -37 -125c-36 -35 -82 -50 -130 -58z"
  4459. },
  4460. H: {
  4461. x: 753,
  4462. d: "M426 -107l48 64c11 -22 33 -37 58 -37c88 0 85 172 85 271c0 149 -48 213 -138 213c-61 0 -113 -47 -155 -97c21 -52 28 -98 28 -122c0 -17 -1 -39 -10 -51c-31 -42 -107 -135 -125 -150c-26 24 -60 52 -89 52s-52 -25 -66 -40l-12 14c29 52 78 106 119 106\nc32 0 69 -30 89 -54c20 25 22 44 24 69c0 86 -101 198 -101 300c0 88 114 178 197 236c34 -34 78 -60 128 -60c22 0 33 13 86 54l13 -15c-43 -42 -110 -108 -142 -108c-49 0 -105 28 -152 52c-28 -28 -49 -60 -49 -111c0 -39 30 -103 52 -149c53 55 115 100 181 138\nc64 0 129 -14 181 -53c16 -57 27 -116 27 -176c0 -87 -7 -175 -43 -255c-51 -47 -127 -117 -165 -117c-26 0 -51 8 -69 26z"
  4463. },
  4464. I: {
  4465. x: 605,
  4466. d: "M544 671l11 -16c-47 -44 -98 -82 -155 -112c-81 30 -143 58 -186 58c-78 0 -122 -77 -147 -145l-17 11c50 134 92 219 186 219c42 0 104 -29 154 -53c17 -8 34 -16 53 -16c43 0 77 32 101 54zM65 -16l-5 16c32 44 109 124 114 128c27 -58 32 -68 45 -81\nc17 -17 45 -29 69 -29c88 0 112 109 112 189c0 90 -18 159 -18 222c0 12 1 23 2 34c40 44 89 90 140 122l12 -7c-33 -30 -65 -69 -65 -114c0 -88 15 -147 15 -219c0 -62 -14 -126 -59 -171c-57 -57 -131 -101 -213 -101c-37 0 -69 24 -96 48z"
  4467. },
  4468. J: {
  4469. x: 640,
  4470. d: "M137 496l-15 10c30 77 91 180 170 180c71 0 130 -106 197 -106c36 0 69 16 101 32v-21c-52 -27 -129 -65 -160 -75c-65 13 -104 86 -170 86c-61 0 -97 -58 -123 -106zM55 60l-5 13c40 33 90 71 136 71c58 0 63 -43 63 -91c0 -94 28 -156 96 -156c75 0 107 73 107 140\nc0 112 -55 218 -55 322c0 10 1 20 2 29c39 54 86 102 138 144l16 -10c-38 -38 -69 -73 -69 -139c0 -86 42 -243 42 -298c0 -113 -108 -224 -218 -224c-36 0 -76 6 -101 32c-22 22 -29 55 -32 85c-7 62 -13 102 -53 102c-20 0 -50 -9 -67 -20z"
  4471. },
  4472. K: {
  4473. x: 774,
  4474. d: "M668 348l-168 -76v-1c15 0 33 -4 46 -16c36 -35 27 -202 101 -202c24 0 54 9 74 24l3 -17c-38 -38 -92 -87 -136 -87c-56 0 -69 64 -75 112c-10 86 -25 144 -101 144c-31 0 -62 -9 -90 -22c0 -26 -1 -53 -5 -79c-44 -67 -104 -130 -176 -153c-39 3 -70 27 -91 57l57 66\nh10c13 -28 36 -62 69 -62c61 0 67 58 67 108c0 99 -59 211 -59 283c0 13 5 28 6 30c50 126 166 224 303 224c55 0 150 -21 150 -82c0 -33 -7 -67 -17 -99l-16 -5c0 96 -88 139 -176 139c-91 0 -169 -55 -169 -144c0 -34 7 -83 20 -123c56 59 134 133 208 133\nc48 0 64 -43 82 -91c6 -16 19 -50 56 -50c5 0 15 2 21 5zM323 230c39 18 75 32 119 40c33 13 68 28 100 44c-22 13 -32 46 -39 69c-10 33 -41 53 -66 53c-62 0 -106 -59 -136 -109c11 -28 17 -66 22 -97z"
  4475. },
  4476. L: {
  4477. x: 713,
  4478. d: "M647 197l16 -11c-35 -188 -83 -213 -171 -213c-91 0 -192 41 -282 80c-20 9 -42 16 -64 16c-30 0 -60 -43 -84 -84l-12 15c22 53 49 133 111 143h31c38 12 79 47 79 84c0 65 -93 153 -93 241c0 22 9 44 19 63c57 100 159 155 269 155c61 0 124 -20 124 -115\nc0 -26 -4 -71 -4 -88c0 -28 36 -31 67 -31v-18l-120 -30c-14 0 -40 21 -40 46c0 14 7 51 7 92c0 72 -50 102 -106 102c-69 0 -136 -44 -136 -122c0 -20 4 -37 10 -55c19 -60 75 -139 75 -200c0 -34 -107 -129 -116 -135c80 -34 171 -68 255 -68c42 0 86 6 117 37\nc26 26 38 61 48 96z"
  4479. },
  4480. M: {
  4481. x: 1122,
  4482. d: "M444 569c39 50 100 91 165 91c56 0 83 -36 100 -83c43 51 121 115 193 115c86 0 52 -132 125 -132c16 0 31 4 45 9v-15c-41 -21 -79 -48 -111 -80c-30 -59 -32 -132 -32 -197c0 -47 0 -107 10 -139c7 -22 29 -58 54 -58c6 0 37 10 58 21v-19l-144 -109l-57 126l-1 172\nc0 43 7 86 16 128c22 34 49 64 80 91c-18 2 -27 20 -43 69c-16 47 -25 69 -59 69c-57 0 -97 -37 -125 -82c6 -31 14 -79 14 -110c0 -106 -23 -211 -64 -308l-123 -150c-18 17 -50 43 -69 43c-29 0 -41 -14 -59 -35l-13 14c35 50 78 104 104 104c19 0 43 -14 79 -38\nc56 56 54 192 54 301c0 97 0 234 -101 234c-46 0 -74 -35 -93 -72c7 -28 10 -75 10 -82c0 -113 -13 -227 -72 -325l-170 -149c-22 23 -57 53 -85 53c-29 0 -52 -20 -69 -42l-11 16c26 44 71 106 117 106c32 0 66 -30 97 -58c17 13 34 28 52 46c26 26 35 69 43 104\nc12 56 17 112 17 169v41c0 111 -63 222 -158 222c-68 0 -99 -35 -99 -66c0 -81 91 -112 91 -175c0 -64 -64 -104 -123 -134l-15 11c31 17 64 49 64 81c0 10 -7 19 -13 27c-31 44 -72 80 -72 133c0 40 23 70 51 98c24 24 97 86 183 86c69 0 127 -69 152 -130c3 2 5 5 7 8z\n"
  4483. },
  4484. N: {
  4485. x: 901,
  4486. d: "M443 533c13 15 46 61 52 71c30 48 93 82 149 82c75 0 93 -27 107 -74c14 -49 24 -58 48 -58c15 0 32 4 45 11v-14c-30 -21 -61 -45 -88 -67c-37 -31 -37 -143 -37 -207c0 -63 10 -201 69 -201c22 0 46 13 63 22v-22l-144 -105l-64 133l1 167c0 40 0 96 6 117\nc9 33 48 68 75 96c-18 4 -26 15 -32 23c-18 24 -25 121 -86 121c-73 0 -124 -75 -153 -127c7 -42 15 -107 15 -150c0 -78 -7 -159 -43 -229c-5 -9 -13 -24 -16 -26c-48 -43 -134 -118 -179 -118c-35 0 -68 30 -86 58l56 65h12c9 -24 32 -61 71 -61c28 0 49 20 68 39\nc38 38 42 124 42 187c0 121 -28 241 -59 284c-27 38 -71 72 -118 72c-53 0 -100 -14 -100 -71c0 -62 92 -109 92 -168c0 -64 -64 -104 -123 -134l-15 11c31 17 64 49 64 81c0 10 -7 19 -13 27c-31 44 -72 80 -72 133c0 40 23 70 51 98c24 24 90 86 183 86\nc74 0 133 -73 159 -152z"
  4487. },
  4488. O: {
  4489. x: 835,
  4490. d: "M471 596l-86 -3c-31 0 -79 12 -79 46c0 40 45 59 69 90h16c-5 -7 -10 -17 -10 -26c0 -32 68 -33 164 -41c192 -17 240 -131 240 -263c0 -100 -17 -224 -91 -287c-73 -67 -172 -139 -266 -139c-55 0 -110 11 -160 32c-33 13 -69 32 -106 32c-39 0 -74 -21 -96 -53l-16 16\nc28 37 58 73 91 106c44 15 85 51 85 101c0 34 -24 67 -43 96c-38 56 -64 82 -64 107c0 75 68 141 134 181l21 -11c-30 -22 -70 -59 -70 -96c0 -65 96 -155 96 -223c0 -60 -55 -110 -101 -149c12 0 28 -4 39 -8c88 -28 165 -68 261 -68c150 0 195 149 195 294\nc0 217 -96 266 -223 266z"
  4491. },
  4492. P: {
  4493. x: 898,
  4494. d: "M454 509v-387h1c144 -47 167 -60 208 -60c44 0 81 28 81 76c0 66 -98 140 -98 208c0 46 50 87 88 118c-36 8 -54 37 -56 90c-2 52 -16 79 -64 79c-76 0 -124 -68 -160 -124zM442 540c48 72 147 152 241 152c114 0 45 -162 123 -162c12 0 25 4 37 8l5 -16\nc-50 -26 -128 -82 -128 -123c0 -61 75 -111 75 -186c0 -106 -94 -224 -192 -224c-10 0 -21 3 -31 6l-118 42c0 -62 3 -124 11 -186c-6 -5 -64 -47 -96 -70l-21 11c21 51 27 180 27 271c-33 10 -63 17 -80 17c-56 0 -91 -54 -123 -96l-10 21c34 68 79 149 165 149\nc13 0 30 -3 48 -8v250c0 113 -58 226 -158 226c-59 0 -102 -20 -102 -71c0 -65 94 -106 94 -168c0 -64 -64 -104 -123 -134l-15 11c31 17 64 49 64 81c0 10 -7 19 -13 27c-31 44 -72 80 -72 133c0 40 23 70 51 98c24 24 89 86 183 86c73 0 135 -77 158 -145z"
  4495. },
  4496. Q: {
  4497. x: 872,
  4498. d: "M471 596l-86 -3c-31 0 -79 12 -79 46c0 8 0 21 11 32l58 58h16c-5 -7 -10 -17 -10 -26c0 -31 71 -33 164 -41c192 -17 240 -131 240 -263c0 -103 -22 -225 -91 -287c-17 -15 -34 -30 -52 -44c29 -32 67 -74 106 -74c27 0 52 12 74 27v-27l-117 -63\nc-53 16 -113 41 -153 79l-2 -1c-38 -20 -79 -36 -122 -36c-55 0 -109 11 -160 32c-33 13 -69 32 -106 32c-39 0 -74 -21 -96 -53l-16 16c28 37 58 73 91 106c44 15 85 51 85 101c0 34 -24 67 -43 96c-38 56 -64 82 -64 107c0 75 68 141 134 181l21 -11\nc-30 -22 -70 -59 -70 -96c0 -65 96 -155 96 -223c0 -59 -57 -114 -102 -148c12 0 29 -5 40 -9c87 -27 163 -67 257 -67c74 0 138 41 169 109c26 57 30 122 30 184c0 217 -96 266 -223 266z"
  4499. },
  4500. R: {
  4501. x: 899,
  4502. d: "M455 348c21 11 70 33 115 40l129 75c-13 1 -27 6 -37 16c-22 22 -1 149 -74 149c-61 0 -99 -54 -135 -116c1 -5 5 -48 5 -61c0 -33 0 -69 -3 -103zM441 548l4 5c53 67 118 133 207 133c55 0 74 -44 80 -95c3 -26 -13 -78 52 -78c13 0 26 2 38 4l7 -13\nc-64 -24 -142 -62 -210 -116c51 0 76 -15 102 -37c3 -66 7 -170 16 -197c10 -31 29 -85 53 -85c5 0 39 13 59 21v-16l-133 -101l-64 117c1 31 3 60 3 89c0 98 -17 117 -29 129c-21 21 -54 35 -83 35c-23 0 -65 -11 -92 -19c-10 -76 -28 -144 -68 -205\nc-56 -45 -113 -100 -168 -146c-22 22 -60 53 -81 53c-31 0 -55 -18 -73 -42l-11 16c24 38 66 106 117 106c34 0 70 -32 94 -58c107 73 116 188 116 319c0 47 -1 126 -40 184c-26 39 -71 72 -118 72c-56 0 -97 -26 -97 -87c0 -41 89 -96 89 -152c0 -64 -64 -104 -123 -134\nl-15 11c31 17 64 49 64 81c0 10 -7 19 -13 27c-31 44 -72 80 -72 133c0 40 23 70 51 98c24 24 90 86 183 86c71 0 131 -73 155 -138z"
  4503. },
  4504. S: {
  4505. x: 800,
  4506. d: "M333 508l13 -13c-33 -10 -48 -39 -48 -69c0 -39 27 -59 64 -59c59 0 174 43 245 43c74 0 138 -51 138 -133c0 -209 -200 -304 -378 -304c-76 0 -155 20 -210 75c-68 68 -107 164 -107 261s39 186 108 255c67 68 168 106 261 125c97 -52 175 -98 230 -98c50 0 70 38 82 75\nl19 -11c-20 -79 -78 -117 -149 -144c-78 7 -181 117 -271 117c-118 0 -197 -134 -197 -250c0 -182 118 -352 316 -352c64 0 129 5 175 51c32 32 47 84 47 130c0 71 -43 134 -123 134c-70 0 -152 -32 -229 -32c-51 0 -96 28 -96 79c0 61 56 105 110 120z"
  4507. },
  4508. T: {
  4509. x: 752,
  4510. d: "M633 133l11 -16c-50 -57 -106 -113 -170 -144c-78 10 -139 75 -213 75c-42 0 -88 -32 -123 -59l-10 16c38 40 79 77 122 112c10 1 20 1 30 1c19 0 37 -1 55 -6c35 20 75 57 75 95c0 56 -111 132 -123 197c17 74 69 140 123 192c-52 18 -106 27 -160 27\nc-66 0 -150 -23 -150 -107c0 -39 29 -71 65 -85l-64 -64c-32 25 -51 58 -51 98c0 55 41 118 82 156c49 46 110 65 177 65c98 0 197 -37 287 -37c42 0 79 23 106 54v-22l-69 -90c-21 -13 -45 -16 -69 -16c-38 0 -91 5 -128 14c-30 -23 -74 -72 -74 -126\nc0 -59 117 -130 117 -208c0 -55 -69 -113 -116 -152c43 -20 98 -45 137 -45c47 0 97 39 133 75z"
  4511. },
  4512. U: {
  4513. x: 792,
  4514. d: "M531 120l-114 -126c-17 -13 -37 -21 -58 -21c-89 0 -166 64 -245 64c-19 0 -41 -25 -54 -43l-10 17l80 90c24 2 50 28 69 48c26 27 37 64 37 101c0 71 -101 175 -101 256c0 56 88 150 160 191l10 -16c-41 -30 -85 -74 -85 -127c0 -76 85 -168 85 -261\nc0 -26 -4 -52 -15 -75l-101 -112c66 0 151 -58 202 -58s124 75 138 117c5 16 5 56 5 85c0 116 -2 231 -10 346l127 90l16 -10c-59 -59 -58 -139 -58 -213v-202c0 -16 6 -182 73 -182c24 0 50 15 60 22v-21l-144 -107z"
  4515. },
  4516. V: {
  4517. x: 897,
  4518. d: "M399 224l-93 -73c39 -3 69 -22 131 -61c66 -41 114 -58 143 -58c97 0 102 94 102 175c0 54 -11 122 -11 187c0 23 4 47 11 69l74 85c-62 0 -104 69 -170 69c-29 0 -66 -36 -66 -36c-28 -27 -50 -59 -66 -95c0 -100 -14 -182 -55 -262zM501 601c35 40 95 85 143 85\nc36 0 67 -17 96 -37c37 -27 65 -32 81 -32c9 0 18 2 26 6v-16c-57 -39 -101 -100 -101 -171c0 -73 26 -167 26 -218c0 -52 -23 -117 -64 -147l-117 -85c-15 -11 -35 -14 -53 -13c-30 0 -76 9 -149 53c-20 12 -110 64 -154 64c-49 0 -92 -27 -123 -64l-11 16\nc38 43 80 82 128 112c118 0 146 126 146 249c-2 110 -59 220 -158 220c-56 0 -100 -17 -100 -71c0 -65 92 -107 92 -168c0 -64 -64 -104 -123 -134l-15 11c31 17 64 49 64 81c0 10 -7 19 -13 27c-31 44 -72 80 -72 133c0 40 23 70 51 98c24 24 90 86 183 86\nc78 0 137 -80 162 -160c13 22 28 44 55 75z"
  4519. },
  4520. W: {
  4521. x: 1134,
  4522. d: "M924 485l59 63c-43 0 -96 69 -160 69c-49 0 -94 -51 -119 -87c2 -33 4 -68 4 -103c0 -79 -8 -156 -29 -227c-14 -19 -56 -75 -79 -99c61 0 159 -69 223 -69c32 0 58 15 74 42c11 18 18 45 18 112c0 70 -12 137 -12 205c0 58 8 77 21 94zM381 191\nc-42 -34 -81 -59 -118 -81c45 -35 103 -68 160 -68c60 0 113 28 155 70c52 51 58 164 58 250c0 89 -27 206 -111 243c-28 -25 -57 -51 -78 -80c1 -9 7 -38 7 -49c0 -37 -10 -190 -73 -285zM438 551l12 13c42 46 89 85 138 122c53 -30 92 -96 107 -127c50 53 121 127 181 127\nc66 0 111 -66 171 -66c12 0 25 3 37 8l-6 -21c-58 -43 -95 -84 -95 -173c0 -74 15 -147 15 -221c0 -25 -2 -51 -9 -74c-19 -58 -145 -164 -226 -164c-82 0 -159 62 -238 62c-41 -19 -81 -39 -118 -64c-5 0 -11 -1 -16 -1c-45 0 -90 16 -127 39c-27 17 -62 37 -86 37\nc-32 0 -76 -34 -103 -59l-14 16c37 43 78 82 123 117h3c147 0 188 145 188 280c-2 110 -59 221 -158 221c-55 0 -100 -16 -100 -69c0 -72 92 -108 92 -170c0 -64 -64 -104 -123 -134l-15 11c31 17 64 49 64 81c0 10 -7 19 -13 27c-31 44 -72 80 -72 133c0 40 23 70 51 98\nc24 24 90 86 183 86c70 0 130 -71 154 -135z"
  4523. },
  4524. X: {
  4525. x: 782,
  4526. d: "M101 527l148 159c44 -2 89 -16 120 -47c30 -30 42 -76 53 -117c0 -2 1 -4 1 -6c39 81 108 140 188 173c21 -40 36 -101 78 -101c11 0 29 9 43 16v-19l-102 -58c-35 16 -84 59 -95 89c-76 -51 -107 -157 -107 -249h176l-37 -42c-46 6 -93 7 -139 8c0 -97 26 -280 165 -280\nc39 0 74 21 106 43v-22l-111 -90c-16 -5 -37 -11 -48 -11c-95 0 -143 97 -160 181l-42 -42c-33 -33 -68 -65 -107 -91c-28 -19 -64 -43 -96 -43c-36 0 -66 24 -85 54l59 69c15 -31 44 -53 79 -53c38 0 73 21 99 47c59 59 72 151 72 238c-59 0 -117 0 -176 -8l37 42h139\nc0 36 0 71 -5 107c-8 53 -50 120 -107 120c-58 0 -97 -41 -129 -82z"
  4527. },
  4528. Y: {
  4529. x: 815,
  4530. d: "M377 397c0 110 -57 226 -158 226c-65 0 -101 -24 -101 -72c0 -61 93 -107 93 -167c0 -64 -64 -104 -123 -134l-15 11c31 17 64 49 64 81c0 10 -7 19 -13 27c-31 44 -72 80 -72 133c0 40 23 70 51 98c24 24 89 86 183 86c74 0 137 -78 159 -149l5 5c55 55 121 111 192 144\nc29 -36 68 -64 107 -90c16 -80 16 -170 16 -255c0 -121 -11 -253 -65 -357c-68 -104 -201 -203 -314 -203c-51 0 -113 19 -133 70l67 71h10c10 -50 56 -93 110 -93c62 0 95 21 135 60c99 96 110 270 110 425c0 72 -4 144 -27 213c-26 29 -54 59 -90 74\nc-8 -3 -76 -35 -116 -89c3 -14 4 -30 4 -44c-2 -91 -18 -183 -70 -261l-116 -92c55 -16 102 -57 154 -57c34 0 63 23 85 48l9 -16c-33 -43 -81 -111 -124 -111c-30 0 -76 23 -107 41c-37 21 -76 34 -100 34c-46 0 -90 -32 -126 -58l-11 15c37 39 82 78 122 113\nc22 0 52 0 68 -2c100 55 137 160 137 275z"
  4531. },
  4532. Z: {
  4533. x: 622,
  4534. d: "M220 309l43 63c81 5 160 88 160 171c0 39 -41 58 -75 58c-48 0 -126 -10 -149 -10c-28 0 -69 5 -69 42l69 96h16c-4 -7 -8 -16 -8 -24c0 -34 50 -34 83 -34c23 0 72 5 106 5c65 0 112 -24 112 -80c0 -100 -92 -173 -172 -222l5 -2c16 3 40 6 55 6c61 0 125 -17 160 -69\nc11 -37 16 -74 16 -112c0 -88 -31 -172 -80 -245c-69 -57 -155 -91 -245 -91c-32 0 -64 3 -96 11c0 71 5 112 -37 112c-11 0 -36 -14 -52 -26l-12 15c40 33 90 64 138 64c42 0 48 -12 48 -80c0 -50 20 -66 62 -66c138 0 183 155 183 268c0 120 -74 160 -159 160\nc-32 0 -63 -7 -91 -21z"
  4535. },
  4536. a: {
  4537. x: 532,
  4538. d: "M314 91l-175 -127c-30 32 -59 66 -87 101c-2 30 -2 61 -2 91c0 70 5 141 20 209l169 106c28 -19 60 -33 93 -40l67 34l8 -6c-10 -67 -15 -135 -15 -203c0 -46 0 -91 1 -137l36 -45c21 7 32 13 46 22l7 -13l-123 -110l-45 73v45zM314 119l-1 246c-47 0 -96 13 -142 27\nc-41 -42 -41 -130 -41 -191c0 -27 1 -53 3 -80c9 -11 51 -66 67 -66c15 0 54 23 114 64z"
  4539. },
  4540. b: {
  4541. x: 458,
  4542. d: "M99 599l120 87l17 -13c-1 0 -20 -17 -30 -26c-78 -67 -65 -183 -65 -282l7 -2c45 38 92 77 140 107c38 -22 77 -43 117 -61c2 -32 3 -64 3 -96c0 -72 -5 -145 -20 -216c-73 -47 -148 -92 -228 -128c-37 33 -86 77 -110 102c14 73 14 157 14 236c0 121 -1 241 -7 361l17 4\nl17 -77zM142 332v-209c32 -33 80 -81 107 -81c67 0 78 118 78 185c0 41 0 72 -4 113c-9 12 -32 24 -85 46c-31 -4 -69 -33 -96 -54z"
  4543. },
  4544. c: {
  4545. x: 387,
  4546. d: "M337 92l-172 -121c-40 34 -76 73 -110 113c-3 45 -5 89 -5 134c0 29 0 89 12 145l165 103c39 -3 75 -22 108 -44l-52 -79l-9 -3c-33 29 -83 54 -120 54c-18 -30 -21 -99 -21 -148c0 -35 2 -69 7 -99c18 -29 53 -61 84 -89c32 10 71 31 105 51z"
  4547. },
  4548. d: {
  4549. x: 517,
  4550. d: "M438 109l-187 -143c-50 34 -99 69 -138 115c-2 30 -3 57 -3 85c0 44 2 93 6 169c42 40 88 83 132 112l19 -4c-46 -50 -57 -77 -65 -97c-9 -23 -13 -56 -13 -92c0 -39 4 -83 7 -119c13 -16 29 -29 45 -41c19 -14 62 -45 80 -45c5 0 11 3 15 10c39 62 50 136 50 208\nc0 44 -4 88 -12 132c-63 66 -154 147 -241 147c-8 0 -21 0 -24 -1l-46 -18l-13 16c43 24 93 48 138 69c90 -12 192 -88 276 -157c1 -18 3 -75 3 -127c0 -89 -2 -153 -29 -219z"
  4551. },
  4552. e: {
  4553. x: 385,
  4554. d: "M64 366l162 101c33 -42 74 -78 118 -109c-69 -66 -155 -146 -213 -192c0 -9 2 -18 5 -26c3 -14 60 -61 100 -79c4 1 18 1 23 3l74 39l5 -16c-54 -42 -110 -82 -169 -118c-40 37 -80 74 -114 116c-4 34 -5 69 -5 103c0 60 5 119 14 178zM128 193c46 34 98 78 136 119\nc-38 24 -76 53 -108 84c0 1 -1 1 -2 1c-24 0 -26 -116 -26 -204z"
  4555. },
  4556. f: {
  4557. x: 325,
  4558. d: "M226 351l-4 -206c0 -129 -7 -209 -56 -295l-50 -88l-19 7l26 90c16 54 17 137 17 269c0 15 0 147 -1 223h-89l15 35h73c0 20 -27 108 -27 142c0 63 51 116 101 151c42 0 92 -7 124 -40l-47 -92l-10 -1c-15 32 -43 69 -78 69c-31 0 -51 -16 -51 -47c0 -17 12 -42 21 -59\nl50 -95c5 -8 7 -17 9 -26h114l-12 -37h-106z"
  4559. },
  4560. g: {
  4561. x: 539,
  4562. d: "M50 -131c45 31 89 68 134 107l-72 89c-2 34 -4 69 -4 103c0 67 5 134 15 200c53 37 107 70 162 102c34 -23 74 -36 114 -45l72 40l6 -6c-30 -62 -22 -184 -22 -309c0 -14 2 -28 5 -41l29 -126c-51 -64 -104 -127 -163 -184c-12 -4 -28 -8 -36 -8c-71 0 -140 40 -194 84\nl-35 -19zM376 97c-67 -47 -133 -99 -195 -152c41 -41 92 -80 148 -80c48 0 74 44 74 90c0 22 -16 95 -27 142zM262 41l112 82c0 76 2 153 9 228c-58 8 -128 21 -176 43c-16 -40 -18 -90 -18 -134c0 -45 1 -91 5 -136c15 -29 43 -60 68 -83z"
  4563. },
  4564. h: {
  4565. x: 459,
  4566. d: "M202 -184l64 55c68 49 64 218 64 322c0 28 -6 107 -10 161c-26 19 -55 36 -88 36c-31 0 -69 -29 -94 -49l-5 -215l54 -77l-82 -75l-55 91c7 122 11 244 11 366c0 81 -1 163 -6 244l12 2l24 -76c40 30 120 88 121 88l17 -11c-84 -77 -90 -142 -90 -197l-1 -110\nc33 26 98 72 148 107c33 -30 74 -48 116 -61c4 -57 7 -114 7 -171c0 -93 -2 -193 -27 -277c-45 -66 -102 -119 -164 -167z"
  4567. },
  4568. i: {
  4569. x: 354,
  4570. d: "M63 369l-13 13c34 28 71 61 105 93c19 -20 38 -39 60 -55c-7 -60 -8 -120 -8 -181c0 -66 -6 -121 37 -164c15 0 44 20 53 27l7 -19c-39 -37 -81 -72 -123 -104l-54 76c3 53 3 93 3 139c0 58 -1 114 -4 173l-21 24c-11 -4 -29 -12 -42 -22zM223 616l-57 -60\nc-21 19 -40 40 -58 61c20 20 42 37 60 58c18 -21 40 -47 55 -59z"
  4571. },
  4572. j: {
  4573. x: 305,
  4574. d: "M227 -44c-45 -55 -98 -107 -161 -158l-16 18c29 22 58 45 83 71c42 42 44 184 44 316c0 50 0 119 -10 149c-6 17 -25 37 -32 37c-2 0 -7 -2 -8 -3l-29 -19l-14 13l106 95c22 -16 43 -34 65 -53c0 -52 -1 -268 -6 -396c-1 -25 -5 -51 -22 -70zM242 615l-58 -60\nc-18 15 -37 40 -54 61l61 57c16 -21 32 -40 51 -58z"
  4575. },
  4576. k: {
  4577. x: 439,
  4578. d: "M376 110l13 -15c-43 -37 -111 -82 -168 -121l-107 95c4 19 6 40 6 58v181h-70l9 35h62c0 227 -1 262 -7 326l17 4c8 -24 18 -79 18 -80c41 32 86 68 130 93l16 -10c-78 -72 -90 -110 -96 -178c42 32 83 57 127 87c28 -27 60 -66 60 -102c0 -18 -10 -36 -23 -49l-86 -91\nh95l-14 -35h-159v-180c24 -24 54 -48 82 -68c32 16 66 29 95 50zM199 343c55 0 115 46 115 103c0 28 -26 54 -47 72c-75 -37 -68 -100 -68 -175z"
  4579. },
  4580. l: {
  4581. x: 280,
  4582. d: "M214 686l16 -13c-92 -80 -95 -123 -95 -282c0 -90 1 -179 2 -269c9 -14 26 -29 42 -41c14 4 29 14 40 23l10 -17l-128 -107l-51 76c6 108 8 217 8 326c0 96 -1 191 -6 286l17 4l17 -78z"
  4583. },
  4584. m: {
  4585. x: 850,
  4586. d: "M211 376l127 99c38 -23 78 -43 120 -57v-39c44 30 88 61 129 95c39 -21 85 -46 121 -56c-4 -57 -4 -114 -4 -171v-121c11 -16 23 -33 37 -47c20 7 28 10 47 26l12 -17l-126 -107c-10 19 -39 54 -59 79c6 42 11 75 11 214c0 26 -1 50 -3 68c-4 27 -70 41 -100 49\nc-23 -12 -44 -24 -65 -38v-218c0 -18 6 -31 50 -88l-86 -73c-13 26 -36 52 -54 72c9 39 14 81 14 202c0 33 -1 66 -5 99c-25 22 -71 35 -105 44l-61 -42v-197c0 -47 -2 -40 49 -104l-83 -70l-49 80c5 40 7 80 7 119c0 63 -1 125 -4 188l-26 26l-43 -24l-12 12l111 93\nc17 -17 50 -51 50 -52v-44z"
  4587. },
  4588. n: {
  4589. x: 603,
  4590. d: "M208 367l144 108c35 -24 73 -43 113 -58c-4 -43 -8 -102 -8 -164l4 -126c9 -15 22 -45 39 -45c1 0 7 3 10 5l31 22l12 -16l-127 -112l-55 84c6 35 8 81 8 130c0 54 -2 111 -5 163c-29 15 -68 24 -101 27l-65 -44l-4 -207c0 -10 4 -24 7 -28l40 -54l-87 -75\nc-14 25 -30 48 -49 69c8 46 11 104 11 165c0 52 -2 105 -4 154l-24 23l-35 -20l-13 12c34 30 103 90 104 90c12 -13 35 -31 54 -45v-58z"
  4591. },
  4592. o: {
  4593. x: 447,
  4594. d: "M149 -28c-35 30 -71 62 -99 96c0 89 5 198 18 296c61 35 119 75 176 117c45 -30 94 -55 148 -66c3 -38 5 -75 5 -113c0 -71 -6 -141 -22 -210c-72 -46 -147 -88 -226 -120zM252 44c6 0 17 13 22 19c49 59 44 150 44 293c-45 3 -104 25 -149 45c-20 -34 -38 -95 -38 -190\nc0 -33 2 -64 6 -88c30 -37 70 -73 115 -79z"
  4595. },
  4596. p: {
  4597. x: 518,
  4598. d: "M207 -170l-80 -44l-11 7c4 83 9 199 9 254c-23 0 -46 -7 -64 -23l-11 14c25 23 62 57 76 67v247c-34 47 -46 61 -46 70c0 29 53 87 83 116l14 -9c-10 -12 -18 -26 -18 -42c0 -29 24 -59 46 -81c0 -1 -1 -22 -2 -34c49 33 95 69 142 106c35 -28 76 -48 118 -64\nc3 -44 5 -88 5 -132c0 -61 -1 -133 -23 -193l-134 -107c-32 26 -68 48 -108 55c0 -69 1 -138 4 -207zM204 347v-241c40 0 108 -30 157 -54c16 30 26 83 26 178c0 41 -3 82 -6 123c-25 13 -66 28 -96 38c-29 -11 -54 -27 -81 -44z"
  4599. },
  4600. q: {
  4601. x: 459,
  4602. d: "M397 -179l-83 -45l-11 10c4 98 8 208 8 307c-56 -46 -113 -84 -174 -122l-84 94c-2 29 -3 57 -3 86c0 73 6 147 23 218c57 31 115 63 165 104c29 -18 60 -34 93 -41l70 48l8 -7c-15 -85 -19 -220 -19 -332c0 -107 0 -215 7 -320zM209 50c24 13 70 48 101 71\nc0 80 1 166 5 246c-51 3 -101 16 -150 31c-31 -55 -36 -132 -36 -198c0 -19 0 -53 1 -56c0 -20 52 -70 79 -94z"
  4603. },
  4604. r: {
  4605. x: 480,
  4606. d: "M217 382l109 87c15 -27 42 -71 66 -71c11 0 29 10 38 15l-1 -13l-59 -55c-9 -8 -21 -10 -33 -10c-27 0 -60 27 -83 49c-16 -12 -31 -25 -37 -34v-198c0 -32 42 -69 73 -92l89 42l2 -19l-146 -104c-37 29 -70 62 -103 96c6 59 6 109 6 170c0 60 -3 128 -9 120\nc-9 8 -19 15 -29 22l-38 -16l-12 10l101 93c21 -21 43 -41 66 -60v-32z"
  4607. },
  4608. s: {
  4609. x: 535,
  4610. d: "M270 244l123 56c22 -7 39 -22 56 -38c2 -26 3 -52 3 -77c0 -46 -4 -91 -16 -135c-54 -24 -109 -49 -160 -80c-34 33 -86 77 -128 77c-30 0 -57 -16 -89 -44l-9 9c35 37 79 99 141 99c25 0 50 -8 72 -22l81 -54c1 -1 2 -1 4 -1c23 0 26 74 26 106c0 76 -27 96 -52 96\nc-14 0 -23 -3 -35 -10l-102 -58c-15 19 -31 45 -43 67c0 49 1 97 6 142l152 102l81 -46c8 -4 16 -6 26 -6c23 0 46 13 72 30l6 -16l-92 -78c-72 4 -126 27 -152 52c-20 -19 -20 -56 -20 -79c0 -33 7 -94 32 -94c6 0 12 0 17 2z"
  4611. },
  4612. t: {
  4613. x: 423,
  4614. d: "M252 641l14 -14l-27 -26c-5 -5 -8 -12 -9 -19c-11 -64 -12 -131 -12 -196h108l-17 -35h-90l1 -228c26 -23 60 -55 80 -55c15 0 36 9 70 32l3 -22l-137 -99l-97 83c0 1 0 192 1 289h-90l16 35h73v172z"
  4615. },
  4616. u: {
  4617. x: 606,
  4618. d: "M463 468l7 -6c-10 -79 -13 -158 -13 -237c0 -50 -1 -142 40 -142c10 0 43 15 53 20l6 -15c-42 -34 -83 -69 -122 -106l-8 2c-19 32 -39 67 -51 103c-68 -45 -153 -113 -153 -113c-26 17 -88 62 -125 74c30 52 42 143 42 216c0 45 0 101 -36 132l-38 -20l-15 10l111 88\nc16 -19 32 -38 52 -53c0 -22 1 -43 1 -65c0 -86 -3 -170 -26 -252l101 -48l88 59c3 50 4 100 4 149c0 52 -1 105 -3 160z"
  4619. },
  4620. v: {
  4621. x: 488,
  4622. d: "M95 231c0 31 -2 69 -4 114c0 23 -41 41 -41 73c0 31 50 85 80 115l14 -4c-9 -14 -16 -29 -16 -46c0 -23 22 -48 46 -75v-34l143 103c36 -24 74 -45 115 -61c6 -66 6 -100 6 -171c0 -37 -15 -119 -32 -159l-215 -114c-31 33 -67 65 -103 94c5 55 7 101 7 165zM174 348\nl-3 -193c-1 -25 14 -47 34 -62c11 0 42 -44 79 -44c60 0 74 126 74 194c0 38 -3 77 -8 115c-23 21 -54 32 -85 38c-28 -2 -63 -27 -91 -48z"
  4623. },
  4624. w: {
  4625. x: 749,
  4626. d: "M424 368l142 103c41 -24 83 -46 126 -66c5 -28 7 -92 7 -137c0 -93 -19 -133 -41 -196l-187 -100c-44 27 -89 52 -134 74c5 59 8 118 8 176c0 40 -1 80 -5 119c-42 29 -76 51 -94 51c-21 0 -53 -30 -74 -44c0 -34 -1 -126 -1 -190c0 -41 22 -79 47 -110l-75 -75\nc-17 29 -35 57 -59 79c8 51 10 103 10 155c0 46 1 92 -3 138c-3 28 -41 41 -41 73c0 31 50 85 80 115l14 -4c-9 -14 -16 -29 -16 -46c0 -23 22 -48 46 -75v-32c43 30 86 61 123 97c41 -26 84 -48 128 -68zM504 386c-22 0 -63 -33 -80 -45c-1 -37 -2 -71 -2 -106\nc0 -26 1 -53 3 -81c2 -48 67 -110 129 -110c60 0 62 145 62 220c0 28 -4 53 -12 84c-29 18 -68 33 -100 38z"
  4627. },
  4628. x: {
  4629. x: 460,
  4630. d: "M232 376l109 89c17 -28 42 -48 69 -67l-67 -59c-28 14 -47 42 -59 51c-15 -9 -42 -33 -49 -43c-7 -30 -5 -62 -5 -87c0 -47 2 -96 5 -143c18 -19 57 -58 76 -58c5 1 13 0 22 5l63 34l3 -18l-149 -105c-25 28 -54 52 -84 74c-28 -26 -61 -64 -61 -103\nc0 -59 70 -80 122 -85v-9l-64 -40c-46 11 -113 36 -113 90c0 51 55 113 94 157c6 42 7 91 7 133c0 53 1 108 -3 161c-14 15 -32 33 -40 33c-7 0 -36 -18 -41 -18l-13 9c33 34 68 65 104 96c25 -22 63 -57 76 -66z"
  4631. },
  4632. y: {
  4633. x: 492,
  4634. d: "M94 255c-1 31 1 35 -3 81c-3 28 -41 39 -41 74c0 29 51 85 80 114l14 -4c-9 -14 -16 -29 -16 -46c0 -23 22 -48 46 -75v-32l142 106c37 -22 74 -44 115 -59c7 -60 11 -130 11 -186c0 -80 -8 -174 -30 -251c-13 -46 -117 -145 -185 -196l-38 17c34 17 67 36 94 62\nc73 72 72 216 72 329c0 56 -5 112 -11 167c-24 15 -53 30 -80 35c-15 0 -59 -28 -89 -51c-1 -64 -3 -81 -3 -188c0 -38 15 -66 45 -104l-75 -75c-17 29 -39 61 -59 79c10 61 11 126 11 203z"
  4635. },
  4636. z: {
  4637. x: 421,
  4638. d: "M347 -99l-137 -116c-64 0 -149 33 -160 99c7 27 54 91 87 129c42 49 82 89 127 134c-35 16 -71 30 -110 34v11c1 0 48 44 73 67c16 15 34 33 34 56c0 39 -45 73 -73 73c-19 0 -62 -35 -84 -53l-11 12c45 45 93 87 146 124c43 -22 102 -59 102 -101c0 -13 -6 -27 -15 -36\nl-81 -87c37 -13 79 -29 112 -49c11 -43 14 -89 14 -134c0 -55 -10 -110 -24 -163zM282 130c-64 -55 -153 -133 -153 -203c0 -42 63 -81 111 -81c41 0 57 100 57 174c0 37 -4 74 -15 110z"
  4639. }
  4640. }
  4641. };
  4642. }
  4643. };
  4644. /**
  4645. * Created by hn on 14-4-4.
  4646. */
  4647. _p[29] = {
  4648. value: function(require) {
  4649. return {
  4650. meta: {
  4651. fontFamily: "KF AMS MAIN",
  4652. src: "KF_AMS_MAIN.woff"
  4653. },
  4654. data: {
  4655. "0": {
  4656. x: 482,
  4657. d: "M432 321c0 -73 -4 -154 -34 -223c-41 -95 -111 -114 -157 -114c-39 0 -116 14 -159 117c-31 76 -32 163 -32 220c0 78 4 171 44 246c38 72 99 94 147 94c52 0 111 -25 148 -95c42 -80 43 -184 43 -245zM241 0c35 0 94 19 115 128c12 59 12 139 12 204\nc0 80 -1 147 -14 204c-19 82 -72 109 -113 109c-39 0 -95 -26 -114 -111c-13 -61 -13 -125 -13 -202c0 -56 0 -142 11 -201c14 -76 52 -131 116 -131z"
  4658. },
  4659. "1": {
  4660. x: 397,
  4661. d: "M229 639v-566c0 -36 2 -47 88 -47h30v-26c-48 1 -98 2 -146 2s-98 -1 -146 -2v26h30c86 0 88 12 88 47v527c-40 -24 -92 -30 -123 -30c0 21 0 23 1 25s6 2 9 2c56 2 115 17 154 64c14 0 15 -1 15 -22z"
  4662. },
  4663. "2": {
  4664. x: 476,
  4665. d: "M426 155l-24 -155h-352v23l199 225c57 65 108 140 108 227c0 91 -57 160 -144 160c-61 0 -119 -42 -138 -127c4 2 10 3 16 3c14 0 40 -9 40 -40c0 -35 -30 -41 -40 -41c-12 0 -41 5 -41 44c0 90 67 187 177 187c105 0 199 -68 199 -186c0 -99 -71 -167 -132 -225\nc-85 -82 -155 -153 -191 -192h192c14 0 86 0 91 8c4 6 12 18 22 89h18z"
  4666. },
  4667. "3": {
  4668. x: 492,
  4669. d: "M238 340h-49c-20 0 -21 1 -21 8s4 8 11 9c4 0 27 2 32 2c33 3 67 5 97 44c34 44 38 94 38 122c0 96 -66 113 -101 113s-114 -12 -143 -78c4 2 9 2 13 2c21 0 39 -13 39 -39s-18 -39 -39 -39c-13 0 -39 6 -39 41c0 80 80 136 171 136c90 0 169 -57 169 -135\nc0 -91 -73 -159 -149 -175c95 -11 175 -81 175 -178c0 -102 -85 -189 -196 -189c-106 0 -196 72 -196 164c0 37 26 45 43 45c20 0 42 -13 42 -42c0 -26 -18 -42 -42 -42c-5 0 -10 0 -15 2c27 -77 113 -103 166 -103c58 0 122 46 122 166c0 89 -39 166 -128 166z"
  4670. },
  4671. "4": {
  4672. x: 518,
  4673. d: "M366 647v-451h102v-26h-102v-98c0 -36 2 -46 72 -46h19v-26c-32 2 -86 2 -120 2s-88 0 -120 -2v26h19c70 0 72 10 72 46v98h-258v26l297 473c18 0 19 -1 19 -22zM311 581l-241 -385h241v385z"
  4674. },
  4675. "5": {
  4676. x: 476,
  4677. d: "M123 585v-225c34 36 77 55 128 55c97 0 175 -93 175 -213c0 -129 -98 -218 -201 -218c-106 0 -175 91 -175 178c0 28 15 42 38 42c19 0 38 -11 38 -38c0 -31 -25 -38 -38 -38c-4 0 -12 2 -16 3c18 -77 85 -123 151 -123c43 0 82 21 107 62c30 46 30 104 30 136\nc0 171 -75 193 -110 193c-50 0 -94 -19 -126 -64c-5 -7 -7 -9 -12 -9c-10 0 -10 5 -10 23v290c0 20 1 21 6 21c1 0 3 0 14 -5c49 -22 94 -26 124 -26c50 0 91 12 126 27c8 4 10 4 11 4c6 0 6 -5 6 -13c-29 -29 -80 -79 -173 -79c-42 0 -83 13 -93 17z"
  4678. },
  4679. "6": {
  4680. x: 482,
  4681. d: "M118 345v-34c25 70 70 110 131 110c102 0 183 -91 183 -216c0 -134 -92 -221 -189 -221c-80 0 -193 60 -193 332c0 221 125 345 244 345c69 0 119 -36 119 -99c0 -34 -27 -38 -36 -38c-14 0 -36 9 -36 36c0 35 30 35 46 35c-20 39 -71 43 -92 43\nc-65 0 -177 -54 -177 -293zM243 8c46 0 78 23 100 64c21 40 21 80 21 134c0 50 0 91 -18 130c-33 69 -82 69 -99 69c-93 0 -127 -104 -127 -176c0 -37 0 -221 123 -221z"
  4682. },
  4683. "7": {
  4684. x: 505,
  4685. d: "M455 623l-138 -205c-46 -69 -74 -177 -74 -341v-46c0 -13 0 -47 -36 -47s-36 34 -36 46c0 131 51 281 125 392l111 165h-220c-17 0 -91 0 -97 -8c-12 -19 -19 -70 -22 -89h-18l29 187h18c4 -19 6 -32 123 -32h235v-22z"
  4686. },
  4687. "8": {
  4688. x: 492,
  4689. d: "M289 360l52 -37c40 -27 101 -69 101 -160c0 -102 -90 -179 -197 -179c-97 0 -195 64 -195 167c0 110 105 165 150 188c-27 19 -69 49 -79 59c-39 38 -45 81 -45 106c0 91 80 157 171 157c81 0 169 -53 169 -144c0 -77 -64 -125 -127 -157zM158 448l105 -71\nc8 -6 9 -6 10 -6c5 0 109 53 109 146c0 65 -58 121 -137 121c-72 0 -135 -46 -135 -107c0 -47 40 -78 48 -83zM342 243l-125 85c-69 -31 -130 -97 -130 -176s69 -144 160 -144c84 0 158 56 158 130c0 61 -48 94 -63 105z"
  4690. },
  4691. "9": {
  4692. x: 482,
  4693. d: "M364 296v39c-10 -33 -47 -111 -131 -111c-102 0 -183 92 -183 216c0 134 95 221 194 221c76 0 188 -57 188 -331c0 -220 -117 -346 -232 -346c-72 0 -131 31 -131 99c0 34 27 38 36 38c14 0 36 -9 36 -36c0 -22 -15 -36 -36 -36c-3 0 -6 1 -9 1c23 -39 79 -42 102 -42\nc75 0 166 68 166 288zM235 240c95 0 127 106 127 177c0 40 0 221 -118 221c-58 0 -84 -34 -98 -55c-28 -44 -28 -85 -28 -144c0 -49 0 -95 21 -134c31 -60 69 -65 96 -65z"
  4694. },
  4695. A: {
  4696. x: 772,
  4697. d: "M186 111l350 586c9 15 15 17 25 17c11 0 15 -2 17 -22l61 -624c3 -30 4 -39 59 -39c15 0 24 0 24 -10c0 -19 -11 -19 -18 -19c-1 0 -45 2 -106 2h-57c-17 0 -37 -2 -54 -2c-6 0 -15 0 -15 11c0 18 11 18 22 18c16 0 67 2 67 32c0 19 -12 123 -15 149c-1 9 -1 17 -2 26\nh-255l-76 -126c-13 -22 -19 -33 -19 -47c0 -24 19 -32 42 -34c6 0 14 -1 14 -10c0 -19 -12 -19 -18 -19c-28 0 -60 2 -89 2c-18 0 -63 -2 -81 -2c-7 0 -12 4 -12 10c0 18 8 18 19 19c48 3 82 23 117 82zM306 265h235l-34 336z"
  4698. },
  4699. B: {
  4700. x: 795,
  4701. d: "M368 615l-62 -250h144c132 0 213 103 213 184c0 9 0 105 -113 105h-130c-39 0 -43 -2 -52 -39zM537 357c81 -8 153 -58 153 -140c0 -101 -118 -217 -271 -217h-343c-20 0 -26 0 -26 11c0 18 10 18 29 18c70 0 72 10 81 45l135 538c4 15 4 21 4 23c0 11 0 19 -61 19\nc-15 0 -24 0 -24 10c0 19 9 19 28 19h321c113 0 182 -60 182 -138c0 -92 -99 -168 -208 -188zM395 29c124 0 211 102 211 198c0 8 0 118 -118 118h-188l-70 -282c-2 -9 -4 -15 -4 -22c0 -8 1 -10 12 -11c6 -1 8 -1 22 -1h135z"
  4702. },
  4703. C: {
  4704. x: 797,
  4705. d: "M747 695l-63 -255c-4 -18 -5 -19 -16 -19c-3 0 -13 0 -13 9c0 4 3 26 3 52c0 102 -49 193 -159 193c-95 0 -189 -56 -244 -120c-113 -131 -123 -305 -123 -337c0 -142 92 -210 198 -210c100 0 235 75 281 231c2 4 3 10 12 10c3 0 11 0 11 -9c0 -8 -26 -105 -113 -178\nc-58 -49 -128 -83 -208 -83c-146 0 -263 104 -263 271c0 235 224 454 440 454c75 0 130 -34 165 -94l69 84c8 10 12 10 14 10s9 0 9 -9z"
  4706. },
  4707. D: {
  4708. x: 842,
  4709. d: "M160 74l135 538c4 15 4 21 4 23c0 11 0 19 -61 19c-15 0 -24 0 -24 10c0 19 9 19 28 19h321c143 0 229 -107 229 -251c0 -223 -197 -432 -399 -432h-317c-20 0 -26 0 -26 11c0 18 10 18 29 18c70 0 72 10 81 45zM371 615l-138 -552c-2 -9 -4 -15 -4 -22\nc0 -8 1 -10 12 -11c6 -1 8 -1 22 -1h114c115 0 191 69 219 102c97 110 117 284 117 334c0 138 -86 189 -180 189h-110c-39 0 -43 -2 -52 -39z"
  4710. },
  4711. E: {
  4712. x: 807,
  4713. d: "M699 232l-91 -215c-7 -16 -8 -17 -30 -17h-502c-20 0 -26 0 -26 11c0 18 10 18 29 18c70 0 72 10 81 45l135 540c3 11 4 15 4 20c0 11 0 18 -62 18c-17 0 -24 0 -24 11c0 18 10 18 29 18h488c18 0 27 0 27 -11c0 -2 -2 -12 -2 -15l-21 -175c-2 -18 -6 -22 -13 -22\nc-6 0 -11 3 -11 11c0 2 1 8 2 12c4 33 4 61 4 62c0 76 -25 109 -148 109h-143c-41 0 -43 -3 -52 -38l-62 -246h95c89 0 109 22 129 99c4 14 5 18 14 18c6 0 10 -5 10 -10l-57 -232c-4 -14 -5 -21 -14 -21c-6 0 -11 3 -11 10c0 3 1 7 3 11c7 30 7 39 7 49c0 30 -6 47 -84 47\nh-99l-69 -276c-2 -9 -4 -15 -4 -22c0 -8 1 -10 12 -11c6 -1 8 -1 22 -1h146c160 0 203 60 262 200c9 20 9 22 11 23c3 3 5 4 9 4c6 0 10 -5 10 -10c0 -4 -3 -11 -4 -14z"
  4714. },
  4715. F: {
  4716. x: 793,
  4717. d: "M301 326l-64 -255c-2 -7 -4 -15 -4 -20c0 -15 2 -22 81 -22c22 0 28 0 28 -11c0 -18 -12 -18 -21 -18c-22 0 -46 2 -68 2h-130c-19 0 -39 -2 -58 -2c-6 0 -15 0 -15 11c0 18 10 18 29 18c70 0 72 10 81 45l135 540c3 11 4 15 4 20c0 11 0 18 -62 18c-17 0 -24 0 -24 11\nc0 18 10 18 29 18h474c18 0 27 0 27 -11c0 -2 -2 -12 -2 -15l-21 -175c-2 -18 -6 -22 -13 -22c-6 0 -11 3 -11 11c0 4 2 17 3 21c3 26 3 48 3 54c0 71 -18 108 -143 108h-134c-41 0 -43 -3 -52 -38l-65 -259h91c87 0 107 21 128 96c4 17 5 21 14 21c7 0 10 -6 10 -10\nl-58 -233c-4 -16 -5 -20 -13 -20c-7 0 -11 4 -11 11c0 2 1 7 3 11c5 22 7 36 7 49c0 29 -6 46 -82 46h-96z"
  4718. },
  4719. G: {
  4720. x: 796,
  4721. d: "M746 695l-63 -255c-4 -18 -5 -19 -16 -19c-3 0 -13 0 -13 9c0 14 4 36 4 52c0 92 -42 193 -160 193c-88 0 -181 -49 -244 -121c-97 -113 -121 -266 -121 -333c0 -173 125 -213 202 -213c59 0 138 23 176 79c19 30 38 131 38 132c0 15 0 23 -79 23h-25c0 1 -8 1 -8 11\nc0 18 12 18 21 18c41 0 85 -2 127 -2h54c18 0 37 2 54 2c3 0 13 0 13 -10c0 -19 -12 -19 -16 -19c-55 -1 -57 -4 -67 -42c-7 -30 -11 -44 -19 -77l-16 -64c-5 -18 -13 -53 -14 -55c-1 0 -2 -3 -7 -3c-7 0 -29 27 -40 65c-50 -63 -141 -87 -213 -87c-150 0 -264 106 -264 271\nc0 236 225 454 439 454c15 0 58 0 101 -27c39 -23 59 -58 64 -66l69 83c8 10 12 10 14 10s9 0 9 -9z"
  4722. },
  4723. H: {
  4724. x: 912,
  4725. d: "M752 610l-137 -547c-2 -8 -2 -15 -2 -16c0 -10 0 -18 61 -18c15 0 24 0 24 -10c0 -19 -11 -19 -19 -19c-19 0 -40 2 -59 2h-118c-19 0 -40 -2 -58 -2c-3 0 -14 0 -14 10c0 19 9 19 21 19c59 1 75 1 86 31c2 6 53 215 70 281h-303l-69 -278c-2 -8 -2 -15 -2 -16\nc0 -10 0 -18 61 -18c15 0 24 0 24 -10c0 -19 -11 -19 -19 -19c-19 0 -40 2 -59 2h-118c-19 0 -40 -2 -58 -2c-3 0 -14 0 -14 10c0 19 7 19 30 19c69 0 71 10 80 45l135 538c4 15 4 21 4 23c0 11 0 19 -60 19c-19 0 -26 0 -26 10c0 19 12 19 19 19c19 0 40 -2 59 -2h118\nc19 0 40 2 58 2c6 0 15 0 15 -11c0 -18 -10 -18 -28 -18c-71 0 -73 -10 -82 -44l-60 -240h302l61 242c4 15 4 21 4 23c0 11 0 19 -60 19c-19 0 -26 0 -26 10c0 19 12 19 19 19c19 0 40 -2 59 -2h118c19 0 40 2 58 2c6 0 15 0 15 -11c0 -18 -10 -18 -28 -18\nc-71 0 -73 -10 -82 -44z"
  4726. },
  4727. I: {
  4728. x: 541,
  4729. d: "M377 609l-135 -537c-4 -16 -4 -21 -4 -23c0 -12 0 -20 62 -20c22 0 28 0 28 -11c0 -18 -12 -18 -20 -18c-20 0 -42 2 -62 2h-123c-18 0 -40 -2 -58 -2c-5 0 -15 0 -15 10c0 19 9 19 31 19c73 0 75 10 84 45l135 539c2 9 4 15 4 22c0 11 0 19 -62 19c-20 0 -28 0 -28 10\nc0 19 11 19 19 19c20 0 43 -2 63 -2h123c18 0 40 2 58 2c3 0 14 0 14 -10c0 -19 -8 -19 -30 -19c-73 0 -75 -10 -84 -45z"
  4730. },
  4731. J: {
  4732. x: 640,
  4733. d: "M505 614l-118 -471c-24 -95 -122 -164 -213 -164c-72 0 -124 44 -124 107c0 65 42 75 60 75c30 0 40 -21 40 -37c0 -29 -26 -58 -59 -58c-4 0 -9 1 -13 2c12 -53 60 -69 94 -69c48 0 115 49 141 151l115 457c4 16 4 23 4 24c0 15 0 23 -80 23h-25c0 1 -8 1 -8 11\nc0 18 12 18 21 18c42 0 86 -2 128 -2h55c18 0 37 2 54 2c4 0 13 0 13 -11c0 -18 -10 -18 -26 -18c-49 0 -51 -10 -59 -40z"
  4734. },
  4735. K: {
  4736. x: 928,
  4737. d: "M504 404l139 -330c15 -36 28 -44 65 -45c10 0 19 0 19 -10c0 -19 -11 -19 -17 -19c-15 0 -32 2 -47 2h-48c-35 0 -72 -2 -107 -2c-3 0 -14 0 -14 10c0 19 10 19 19 19s49 1 49 31c0 7 -2 13 -5 19c-41 98 -94 226 -123 290l-152 -119l-39 -155c-4 -16 -10 -41 -10 -48\nc0 -10 0 -18 61 -18c15 0 24 0 24 -10c0 -19 -11 -19 -19 -19c-19 0 -40 2 -59 2h-117c-19 0 -39 -2 -58 -2c-6 0 -15 0 -15 11c0 18 10 18 29 18c70 0 72 10 81 45l135 538c4 15 4 21 4 23c0 11 0 19 -61 19c-15 0 -24 0 -24 10c0 19 11 19 19 19c18 0 40 -2 58 -2h118\nc19 0 40 2 58 2c5 0 15 0 15 -10c0 -19 -9 -19 -28 -19c-71 0 -73 -10 -82 -44l-83 -330l392 305c8 6 38 30 38 50c0 14 -13 18 -24 19c-6 0 -13 1 -13 11c0 18 12 18 19 18c30 0 63 -2 94 -2h38c11 0 23 2 34 2c8 0 11 -5 11 -11c0 -17 -10 -17 -17 -18\nc-69 -6 -113 -41 -247 -145l-97 -76c-17 -13 -18 -14 -18 -15c0 -3 4 -11 5 -14z"
  4738. },
  4739. L: {
  4740. x: 685,
  4741. d: "M371 606l-136 -543c-2 -9 -4 -15 -4 -22c0 -8 1 -10 12 -11c6 -1 8 -1 22 -1h96c169 0 214 113 246 201c8 19 8 21 10 22c2 4 7 4 8 4c5 0 10 -4 10 -10c0 -3 -2 -9 -4 -14l-77 -213c-7 -18 -8 -19 -30 -19h-448c-20 0 -26 0 -26 11c0 18 10 18 29 18c70 0 72 10 81 45\nl135 538c4 15 4 21 4 23c0 11 0 19 -61 19c-15 0 -24 0 -24 10c0 19 11 19 19 19c19 0 41 -2 60 -2h134c20 0 43 2 63 2c4 0 15 0 15 -10c0 -19 -7 -19 -34 -19c-88 0 -91 -10 -100 -48z"
  4742. },
  4743. M: {
  4744. x: 1069,
  4745. d: "M909 610l-137 -547c-2 -8 -2 -15 -2 -16c0 -10 0 -18 61 -18c15 0 24 0 24 -10c0 -19 -11 -19 -19 -19c-17 0 -38 2 -55 2h-118c-17 0 -37 -2 -54 -2c-6 0 -15 0 -15 11c0 18 10 18 29 18c70 0 72 10 81 45l145 579h-1l-402 -636c-5 -9 -10 -17 -21 -17\nc-9 0 -10 3 -13 27l-83 621h-1l-138 -551c-4 -14 -4 -15 -4 -25c0 -36 32 -42 65 -43c4 0 14 -1 14 -10c0 -19 -11 -19 -18 -19c-14 0 -31 2 -45 2h-48c-20 0 -71 -2 -91 -2c-4 0 -13 0 -13 11c0 17 12 18 15 18c67 3 90 25 102 73l128 510c4 15 4 21 4 23c0 11 0 19 -61 19\nc-15 0 -24 0 -24 10c0 19 9 19 28 19h124c26 0 27 0 30 -22l75 -572l365 577c11 16 12 17 37 17h120c19 0 26 0 26 -10c0 -19 -9 -19 -28 -19c-71 0 -73 -10 -82 -44z"
  4746. },
  4747. N: {
  4748. x: 912,
  4749. d: "M744 578l-140 -558c-4 -17 -5 -20 -15 -20c-9 0 -11 6 -16 18l-238 593c-4 9 -4 11 -10 21l-135 -535c-2 -8 -4 -17 -4 -25c0 -36 32 -42 65 -43c4 0 14 -1 14 -10c0 -19 -11 -19 -18 -19c-14 0 -31 2 -45 2h-48c-20 0 -71 -2 -91 -2c-3 0 -13 0 -13 10c0 18 10 19 15 19\nc66 3 90 24 102 73l133 530c1 3 3 11 3 13c0 9 -59 9 -64 9c-19 0 -26 0 -26 10c0 19 9 19 29 19h122c22 0 23 -1 30 -17l214 -532l113 451c3 14 4 17 4 26c0 18 -4 41 -64 43c-7 0 -15 0 -15 10c0 19 12 19 18 19c14 0 32 -2 46 -2h48c20 0 71 2 91 2c4 0 13 0 13 -11\nc0 -17 -12 -18 -15 -18c-76 -3 -92 -33 -103 -76z"
  4750. },
  4751. O: {
  4752. x: 778,
  4753. d: "M728 438c0 -240 -219 -459 -429 -459c-145 0 -249 107 -249 264c0 231 216 461 430 461c140 0 248 -101 248 -266zM305 2c74 0 165 47 238 149c67 95 105 234 105 323c0 144 -85 208 -173 208c-67 0 -151 -36 -224 -124c-82 -100 -115 -249 -115 -340\nc0 -156 87 -216 169 -216z"
  4754. },
  4755. P: {
  4756. x: 793,
  4757. d: "M299 318l-64 -255c-1 -5 -2 -12 -2 -17c0 -10 1 -17 61 -17c15 0 24 0 24 -10c0 -19 -11 -19 -19 -19c-19 0 -40 2 -59 2h-117c-19 0 -39 -2 -58 -2c-6 0 -15 0 -15 11c0 18 10 18 29 18c70 0 72 10 81 45l135 538c4 15 4 21 4 23c0 11 0 19 -61 19c-15 0 -24 0 -24 10\nc0 19 9 19 28 19h309c126 0 192 -71 192 -149c0 -114 -138 -216 -276 -216h-168zM371 615l-68 -273h141c91 0 139 38 156 56c46 46 59 131 59 157c0 75 -62 99 -137 99h-99c-39 0 -43 -2 -52 -39z"
  4758. },
  4759. Q: {
  4760. x: 778,
  4761. d: "M428 6c5 -77 18 -112 69 -112c44 0 96 36 118 99c3 11 5 16 11 16c5 0 9 -4 9 -10s-44 -193 -163 -193c-80 0 -80 75 -80 104c0 19 0 24 6 84c-32 -10 -65 -15 -99 -15c-145 0 -249 107 -249 264c0 231 216 461 430 461c140 0 248 -101 248 -266\nc0 -181 -128 -363 -300 -432zM248 11c-4 7 -8 22 -8 33c0 49 46 103 100 103c66 0 80 -60 85 -111c188 110 223 358 223 432c0 130 -70 214 -174 214c-78 0 -177 -51 -251 -165c-66 -101 -92 -234 -92 -304c0 -92 38 -175 117 -202zM400 23c1 6 1 14 1 20\nc0 50 -11 84 -61 84c-45 0 -80 -46 -80 -82c0 -44 35 -44 45 -44c28 0 59 6 95 22z"
  4762. },
  4763. R: {
  4764. x: 793,
  4765. d: "M371 615l-66 -263h113c201 0 227 147 227 198c0 78 -64 104 -150 104h-72c-39 0 -43 -2 -52 -39zM510 340c38 -12 97 -43 97 -116c0 -8 0 -12 -5 -49c-1 -5 -13 -96 -13 -120c0 -45 16 -56 41 -56s66 18 90 89c2 8 4 14 12 14c6 0 11 -3 11 -10c0 -14 -35 -113 -116 -113\nc-67 0 -125 33 -125 104c0 19 3 30 14 76c7 26 17 65 17 80c0 33 -18 93 -113 93h-120l-67 -269c-2 -8 -2 -15 -2 -16c0 -10 0 -18 61 -18c15 0 24 0 24 -10c0 -19 -11 -19 -19 -19c-18 0 -39 2 -57 2h-118c-19 0 -40 -2 -58 -2c-3 0 -14 0 -14 10c0 19 7 19 30 19\nc69 0 71 10 80 45l135 538c4 15 4 21 4 23c0 11 0 19 -60 19c-19 0 -26 0 -26 10c0 19 9 19 29 19h271c139 0 218 -72 218 -150c0 -86 -97 -166 -221 -193z"
  4766. },
  4767. S: {
  4768. x: 684,
  4769. d: "M634 695l-54 -220c-4 -16 -5 -19 -14 -19c-3 0 -11 0 -11 9c0 4 5 31 5 57c0 95 -46 155 -144 155c-95 0 -180 -86 -180 -170c0 -34 13 -58 30 -75c18 -16 27 -19 94 -37c92 -24 110 -29 131 -50c38 -37 48 -74 48 -116c0 -125 -118 -250 -247 -250\nc-93 0 -145 40 -169 76l-46 -60c-12 -15 -13 -16 -17 -16c-2 0 -10 0 -10 9c0 1 4 14 4 15l51 205c4 17 5 19 14 19c8 0 10 -5 10 -9c0 -2 -1 -7 -1 -10c-3 -10 -7 -34 -7 -53c0 -112 91 -147 173 -147c100 0 186 96 186 189c0 47 -20 70 -24 75c-21 22 -34 26 -85 40\nc-30 7 -89 23 -100 27c-49 17 -94 61 -94 136c0 113 115 229 242 229c42 0 108 -11 141 -76c1 1 42 53 48 60c12 15 13 16 17 16c2 0 9 0 9 -9z"
  4770. },
  4771. T: {
  4772. x: 768,
  4773. d: "M443 610l-134 -533c-4 -16 -4 -23 -4 -24c0 -15 0 -24 90 -24c26 0 33 0 33 -10c0 -19 -10 -19 -21 -19c-25 0 -52 2 -77 2h-156c-25 0 -51 -2 -76 -2c-5 0 -16 0 -16 10c0 19 7 19 32 19c106 0 108 10 118 49l134 537c5 18 5 20 5 23c0 11 -10 11 -34 11h-67\nc-133 0 -154 -56 -196 -177c-4 -13 -6 -17 -14 -17c-6 0 -10 5 -10 10c0 1 3 12 4 14l61 180c6 18 7 19 30 19h547c20 0 26 0 26 -11c0 -3 0 -5 -2 -14l-29 -177c-3 -16 -3 -21 -13 -21c-6 0 -10 6 -10 10l1 12c6 37 10 75 10 90c0 78 -47 82 -147 82c-21 0 -54 0 -62 -2\nc-15 -4 -17 -13 -23 -37z"
  4774. },
  4775. U: {
  4776. x: 771,
  4777. d: "M488 230l89 355c4 14 4 17 4 26c0 18 -4 41 -64 43c-7 0 -15 0 -15 10c0 19 12 19 18 19c1 0 33 -2 95 -2h47c14 0 32 2 46 2c4 0 13 0 13 -11c0 -9 -4 -17 -12 -18c-88 -4 -96 -37 -109 -89l-38 -150c-7 -26 -28 -114 -38 -150c-6 -27 -15 -62 -22 -79\nc-51 -127 -163 -207 -264 -207c-109 0 -188 79 -188 189c0 27 6 54 9 65l87 350c5 17 12 46 12 52c0 11 0 19 -60 19c-19 0 -26 0 -26 10c0 19 12 19 19 19c19 0 40 -2 59 -2h118c19 0 40 2 58 2c6 0 15 0 15 -11c0 -18 -10 -18 -28 -18c-71 0 -73 -10 -82 -44l-98 -393\nc-11 -44 -11 -74 -11 -78c0 -83 49 -131 121 -131c94 0 210 82 245 222z"
  4778. },
  4779. V: {
  4780. x: 799,
  4781. d: "M615 572l-361 -574c-10 -16 -15 -19 -27 -19c-14 0 -14 3 -17 24l-80 617c-3 25 -6 34 -57 34c-16 0 -23 0 -23 11c0 18 12 18 18 18c1 0 31 -2 104 -2h56c17 0 37 2 54 2c3 0 14 0 14 -10c0 -19 -9 -19 -24 -19c-11 0 -63 -2 -63 -31l70 -539l314 498c1 1 15 24 15 39\nc0 12 -4 30 -41 33c-4 0 -13 1 -13 10c0 19 10 19 18 19c28 0 58 -2 87 -2c18 0 61 2 79 2c9 0 11 -6 11 -10c0 -18 -8 -18 -18 -19c-51 -4 -82 -28 -116 -82z"
  4782. },
  4783. W: {
  4784. x: 1073,
  4785. d: "M900 572l-329 -574c-8 -14 -11 -19 -21 -19c-12 0 -13 6 -14 23l-37 517l-298 -521c-9 -15 -11 -19 -21 -19c-12 0 -13 6 -14 23l-44 614c-2 32 -3 38 -50 38c-14 0 -22 0 -22 10c0 19 12 19 18 19c15 0 33 -2 48 -2h52c36 0 73 2 108 2c6 0 15 0 15 -11\nc0 -18 -11 -18 -22 -18c-68 -1 -68 -26 -68 -37l37 -516l259 455l-3 36c-4 61 -4 62 -50 62c-17 0 -24 0 -24 10c0 19 12 19 18 19c15 0 33 -2 48 -2h52c36 0 73 2 108 2c5 0 15 0 15 -10c0 -19 -10 -19 -23 -19c-56 -1 -67 -20 -67 -32l36 -521l273 478c10 17 14 24 14 37\nc0 31 -32 37 -52 38c-6 0 -14 1 -14 10c0 19 12 19 18 19c29 0 60 -2 90 -2c66 0 73 2 75 2c3 0 12 0 12 -11c0 -16 -9 -17 -18 -18c-60 -6 -82 -43 -105 -82z"
  4786. },
  4787. X: {
  4788. x: 913,
  4789. d: "M500 406l175 188c11 12 13 22 14 29l1 2c0 19 -17 27 -33 29c-6 0 -13 1 -13 11c0 18 12 18 19 18c31 0 66 -2 98 -2h46c14 0 29 2 43 2c4 0 13 0 13 -11c0 -17 -10 -17 -20 -18c-81 -5 -121 -46 -164 -91c-9 -10 -32 -35 -42 -45l-127 -136l132 -310\nc17 -37 19 -42 79 -43c9 0 19 0 19 -10c0 -19 -11 -19 -18 -19c-17 0 -36 2 -54 2h-110c-17 0 -37 -2 -54 -2c-5 0 -15 0 -15 10c0 18 11 19 17 19c32 2 54 20 54 29c0 1 -4 11 -5 13l-105 246c-22 -22 -75 -80 -97 -103l-89 -97c-29 -30 -41 -42 -41 -59\nc0 -16 13 -27 33 -29c6 0 13 -1 13 -11c0 -18 -12 -18 -19 -18c-31 0 -66 2 -98 2h-47c-14 0 -29 -2 -43 -2c-11 0 -12 7 -12 10c0 18 8 18 20 19c74 4 117 42 153 81l217 232l-119 278c-10 24 -14 34 -72 34c-13 0 -22 0 -22 10c0 19 10 19 18 19c1 0 45 -2 106 -2h58\nc17 0 37 2 54 2c6 0 15 0 15 -11c0 -17 -11 -18 -17 -18c-12 -1 -42 -5 -55 -29z"
  4790. },
  4791. Y: {
  4792. x: 814,
  4793. d: "M605 572l-251 -289c-9 -10 -9 -12 -15 -33l-36 -144c-5 -20 -13 -52 -13 -59c0 -11 0 -18 62 -18c17 0 24 0 24 -11c0 -18 -12 -18 -19 -18c-18 0 -39 2 -57 2h-118c-19 0 -40 -2 -58 -2c-3 0 -14 0 -14 10c0 19 8 19 25 19c64 1 74 6 82 33c3 10 52 207 52 210\ns-3 14 -4 17l-124 333c-9 23 -18 32 -67 32c-15 0 -24 0 -24 10c0 19 11 19 18 19c17 0 36 -2 54 -2h111c17 0 37 2 54 2c6 0 15 0 15 -11c0 -18 -11 -18 -23 -18s-53 -2 -53 -23c0 -2 0 -4 6 -18l113 -304l238 273c20 23 28 38 28 49c0 6 0 21 -30 23c-3 0 -13 1 -13 10\nc0 19 11 19 18 19c28 0 59 -2 88 -2h41c12 0 25 2 37 2c2 0 12 0 12 -10c0 -17 -9 -18 -20 -19c-35 -3 -72 -14 -116 -59z"
  4794. },
  4795. Z: {
  4796. x: 754,
  4797. d: "M693 652l-549 -621h173c174 0 218 78 260 207c8 25 9 26 17 26c6 0 10 -5 10 -10c0 -4 -2 -11 -3 -14l-70 -221c-6 -18 -7 -19 -30 -19h-427c-19 0 -24 0 -24 8c0 11 4 15 13 26l548 620h-164c-158 0 -207 -69 -244 -177c-4 -13 -6 -17 -14 -17c-7 0 -10 6 -10 10\nc0 2 0 4 3 14l55 180c6 18 7 19 30 19h413c23 0 24 -1 24 -8c0 -10 -5 -16 -11 -23z"
  4798. },
  4799. a: {
  4800. x: 545,
  4801. d: "M311 119l49 196c1 2 4 15 4 16c0 8 -13 90 -79 90c-39 0 -86 -36 -120 -106c-19 -42 -50 -154 -50 -209c0 -59 23 -96 64 -96c47 0 91 43 113 71c14 19 14 21 19 38zM375 375c2 12 10 47 42 47c15 0 26 -11 26 -25c0 -6 -9 -42 -46 -192c-8 -29 -13 -51 -20 -76\nc-9 -39 -12 -50 -12 -73c0 -20 2 -46 31 -46c41 0 60 63 75 122c4 15 5 20 14 20c6 0 10 -4 10 -9c0 -4 -14 -65 -30 -99c-18 -36 -42 -54 -72 -54s-77 17 -87 76c-28 -33 -75 -76 -130 -76c-68 0 -126 58 -126 157c0 148 122 294 235 294c52 0 79 -40 90 -66z"
  4802. },
  4803. b: {
  4804. x: 458,
  4805. d: "M236 669l-73 -291c19 20 66 63 118 63c75 0 127 -65 127 -157c0 -145 -120 -294 -236 -294c-65 0 -122 53 -122 155c0 13 0 30 5 55c4 18 61 245 71 285l24 96c4 18 12 47 12 54c0 10 0 19 -51 19c-10 0 -20 0 -20 10c0 18 7 19 31 21c18 1 33 3 50 4c18 2 54 5 55 5\nc2 0 12 0 12 -10c0 -5 -2 -11 -3 -15zM173 10c46 0 92 48 117 102c25 52 53 165 53 213c0 52 -20 96 -64 96c-68 0 -127 -89 -129 -97c-4 -13 -20 -77 -23 -90c-18 -70 -21 -89 -21 -122c0 -78 35 -102 67 -102z"
  4806. },
  4807. c: {
  4808. x: 478,
  4809. d: "M401 376c-20 43 -75 45 -88 45c-63 0 -117 -54 -143 -101c-36 -68 -53 -165 -53 -200c0 -50 22 -110 91 -110c38 0 133 15 197 100c9 9 10 10 13 10c4 0 10 -5 10 -11c0 -13 -86 -119 -222 -119c-102 0 -156 79 -156 166c0 142 131 285 262 285c69 0 115 -37 115 -85\nc0 -40 -27 -60 -51 -60c-19 0 -34 12 -34 32c0 16 11 31 17 36c14 12 23 12 42 12z"
  4810. },
  4811. d: {
  4812. x: 566,
  4813. d: "M513 669l-141 -560c-7 -28 -7 -49 -7 -53c0 -20 2 -46 31 -46c41 0 60 63 75 122c4 15 5 20 14 20c6 0 10 -4 10 -9c0 -4 -14 -65 -30 -99c-18 -36 -42 -54 -72 -54s-77 17 -87 76c-28 -33 -75 -76 -130 -76c-68 0 -126 58 -126 157c0 148 122 294 235 294\nc52 0 79 -40 90 -66l61 243c1 3 3 11 3 17c0 10 -1 19 -50 19c-14 0 -22 0 -22 10c0 18 7 19 32 21c18 1 33 3 50 4c5 1 54 5 55 5c2 0 12 0 12 -10c0 -5 -2 -11 -3 -15zM311 119l49 196c1 2 4 15 4 16c0 8 -13 90 -79 90c-39 0 -86 -36 -120 -106\nc-19 -42 -50 -154 -50 -209c0 -59 23 -96 64 -96c47 0 91 43 113 71c14 19 14 21 19 38z"
  4814. },
  4815. e: {
  4816. x: 473,
  4817. d: "M184 232h-53c-15 -64 -15 -89 -15 -103c0 -74 30 -119 87 -119c38 0 133 15 197 100c9 9 10 10 13 10c4 0 10 -5 10 -11c0 -13 -86 -119 -222 -119c-91 0 -151 73 -151 178c0 178 151 273 256 273c66 0 104 -40 104 -84c0 -18 -7 -76 -83 -105c-48 -18 -116 -20 -143 -20\nzM136 252h42c42 0 202 0 202 105c0 38 -30 64 -74 64c-32 0 -127 -15 -170 -169z"
  4818. },
  4819. f: {
  4820. x: 595,
  4821. d: "M445 402h-85c-5 -30 -54 -296 -72 -373c-11 -50 -53 -233 -155 -233c-39 0 -83 22 -83 65c0 38 30 55 50 55c19 0 34 -12 34 -32c0 -1 0 -45 -51 -49c18 -19 47 -19 50 -19c50 0 65 73 82 160c23 107 64 333 82 426h-64c-20 0 -26 0 -26 11c0 18 10 18 29 18h67\nc23 131 33 167 51 202c20 39 62 71 105 71c44 0 86 -23 86 -65c0 -38 -30 -55 -50 -55c-19 0 -34 12 -34 32c0 17 12 46 51 50c-10 9 -31 18 -52 18c-26 0 -47 -23 -53 -47c-8 -32 -22 -103 -41 -206h81c18 0 26 0 26 -10c0 -19 -8 -19 -28 -19z"
  4822. },
  4823. g: {
  4824. x: 549,
  4825. d: "M370 127l47 192l3 14c0 6 -13 88 -79 88c-42 0 -87 -40 -116 -96c-22 -45 -52 -157 -52 -210c0 -69 31 -95 64 -95c31 0 73 19 114 72c13 15 15 19 19 35zM432 375c3 27 17 47 41 47c15 0 26 -11 26 -25c0 -2 0 -4 -3 -16l-111 -448c-13 -54 -80 -137 -209 -137\nc-85 0 -126 16 -126 57c0 33 26 53 50 53c22 0 34 -16 34 -32c0 -11 -8 -39 -40 -48c25 -8 50 -10 80 -10c22 0 60 0 101 41c36 35 42 60 56 115l22 90c-18 -20 -65 -62 -118 -62c-64 0 -127 51 -127 155c0 149 124 286 233 286c50 0 78 -37 91 -66z"
  4826. },
  4827. h: {
  4828. x: 580,
  4829. d: "M276 669l-77 -307c41 52 91 79 148 79c76 0 111 -45 111 -105c0 -58 -45 -176 -63 -224c-4 -11 -16 -43 -16 -69c0 -32 16 -33 26 -33c40 0 77 42 100 122c5 17 6 20 15 20c6 0 10 -4 10 -9c0 -6 -35 -153 -128 -153c-48 0 -79 36 -79 81c0 18 5 31 14 55\nc22 60 61 169 61 225c0 40 -14 70 -54 70c-77 0 -122 -60 -141 -89s-19 -30 -30 -72c-5 -22 -11 -43 -16 -65l-45 -181c-5 -11 -18 -24 -35 -24c-10 0 -27 4 -27 26c0 6 0 8 4 23l145 579c1 3 3 11 3 17c0 10 -1 19 -50 19c-14 0 -22 0 -22 10c0 18 7 19 32 21\nc18 1 33 3 50 4c5 1 54 5 55 5c2 0 12 0 12 -10c0 -5 -2 -11 -3 -15z"
  4830. },
  4831. i: {
  4832. x: 356,
  4833. d: "M306 143c0 -7 -36 -153 -128 -153c-48 0 -79 36 -79 81c0 18 6 34 12 50l70 186c8 22 21 55 21 81c0 32 -17 33 -26 33c-39 0 -77 -40 -101 -124c-4 -14 -5 -18 -14 -18c-7 0 -11 5 -11 9c0 8 37 153 129 153c49 0 79 -38 79 -80c0 -19 -7 -37 -10 -45l-70 -186\nc-11 -30 -23 -60 -23 -87c0 -30 14 -33 26 -33c33 0 74 31 100 122c5 17 6 20 15 20c6 0 10 -4 10 -9zM298 624c0 -22 -23 -48 -50 -48c-12 0 -33 8 -33 33c0 26 26 48 49 48c22 0 34 -18 34 -33z"
  4834. },
  4835. j: {
  4836. x: 504,
  4837. d: "M413 317l-93 -370c-25 -100 -116 -151 -185 -151c-41 0 -85 17 -85 58c0 30 24 52 50 52c22 0 34 -16 34 -32c0 -24 -19 -43 -43 -48c19 -10 40 -10 44 -10c55 0 102 56 121 130l95 377c4 18 7 28 7 52c0 35 -11 46 -32 46c-38 0 -88 -31 -128 -128\nc-5 -10 -6 -14 -14 -14c-6 0 -10 4 -10 9c0 7 54 153 155 153c45 0 88 -32 88 -90c0 -4 0 -18 -4 -34zM454 624c0 -26 -26 -48 -49 -48c-22 0 -34 18 -34 33c0 22 23 48 50 48c12 0 33 -8 33 -33z"
  4838. },
  4839. k: {
  4840. x: 546,
  4841. d: "M276 669l-103 -411c37 14 74 52 84 64c71 80 116 119 171 119c45 0 68 -30 68 -59c0 -32 -24 -55 -51 -55c-14 0 -33 8 -33 32c0 20 14 46 51 50c-7 6 -13 12 -36 12c-46 0 -85 -32 -142 -96c-14 -15 -50 -54 -86 -76c92 -12 145 -45 145 -104c0 -12 0 -13 -4 -31\nc-4 -15 -8 -37 -8 -56c0 -38 13 -48 33 -48c51 0 72 70 86 122c4 16 5 20 14 20c6 0 10 -4 10 -9c0 -4 -13 -60 -34 -97c-8 -14 -32 -56 -78 -56c-51 0 -89 39 -89 97c0 5 0 17 4 32c3 15 3 19 3 25c0 48 -43 78 -115 86l-47 -187c-8 -31 -14 -53 -42 -53\nc-10 0 -27 4 -27 26c0 6 0 8 4 23l143 572c5 18 5 20 5 24c0 10 0 19 -51 19c-10 0 -20 0 -20 10c0 18 7 19 31 21c18 1 33 3 50 4c18 2 54 5 55 5c2 0 12 0 12 -10c0 -5 -2 -11 -3 -15z"
  4842. },
  4843. l: {
  4844. x: 311,
  4845. d: "M258 669l-141 -560c-7 -28 -7 -49 -7 -53c0 -14 0 -46 30 -46c40 0 58 53 76 122c4 15 5 20 14 20c6 0 10 -4 10 -9c0 -4 -14 -67 -31 -100c-16 -31 -38 -53 -71 -53c-51 0 -88 40 -88 90c0 16 2 24 5 35l124 496c5 18 5 20 5 24c0 10 0 19 -51 19c-10 0 -20 0 -20 10\nc0 18 7 19 31 21c18 1 33 3 50 4c18 2 54 5 55 5c2 0 12 0 12 -10c0 -5 -2 -11 -3 -15z"
  4846. },
  4847. m: {
  4848. x: 900,
  4849. d: "M229 293l-33 -132l-22 -90c-5 -20 -14 -55 -16 -60c-8 -15 -22 -21 -34 -21c-15 0 -26 11 -26 25c0 5 11 52 18 78c5 18 16 63 20 82l28 108c7 31 17 70 17 92c0 30 -8 46 -31 46c-40 0 -59 -59 -74 -118c-6 -23 -7 -24 -15 -24c-7 0 -11 5 -11 9s14 65 32 101\nc19 38 42 52 71 52c44 0 85 -31 88 -88c18 25 65 88 154 88c75 0 108 -43 111 -97c40 59 94 97 161 97c76 0 111 -45 111 -105c0 -58 -45 -176 -63 -224c-4 -11 -16 -43 -16 -69c0 -32 16 -33 26 -33c40 0 77 42 100 122c5 17 6 20 15 20c6 0 10 -4 10 -9\nc0 -6 -35 -153 -128 -153c-48 0 -79 36 -79 81c0 18 5 31 14 55c22 60 61 169 61 225c0 40 -14 70 -54 70c-110 0 -162 -125 -164 -133l-60 -239c-9 -36 -14 -59 -44 -59c-15 0 -26 11 -26 25c0 4 6 30 10 45c2 11 21 85 29 115l25 103c12 47 12 67 12 73\nc0 40 -14 70 -54 70c-39 0 -73 -16 -99 -40c-37 -32 -62 -82 -64 -88z"
  4850. },
  4851. n: {
  4852. x: 628,
  4853. d: "M229 293l-33 -132l-22 -90c-5 -20 -14 -55 -16 -60c-8 -15 -22 -21 -34 -21c-15 0 -26 11 -26 25c0 5 11 52 18 78c5 18 16 63 20 82l28 108c7 31 17 70 17 92c0 30 -8 46 -31 46c-40 0 -58 -57 -74 -118c-6 -23 -7 -24 -15 -24c-7 0 -11 5 -11 9s14 64 32 100\nc17 34 39 53 71 53c44 0 85 -31 88 -88c18 25 65 88 154 88c76 0 111 -45 111 -105c0 -57 -42 -169 -62 -224c-6 -14 -17 -44 -17 -69c0 -32 16 -33 26 -33c39 0 77 40 100 122c5 17 6 20 15 20c6 0 10 -4 10 -9c0 -6 -35 -153 -128 -153c-48 0 -79 36 -79 81\nc0 18 5 31 14 55c20 54 61 168 61 225c0 40 -14 70 -54 70c-39 0 -73 -16 -99 -40c-37 -32 -62 -82 -64 -88z"
  4854. },
  4855. o: {
  4856. x: 515,
  4857. d: "M465 275c0 -141 -129 -285 -262 -285c-91 0 -153 71 -153 166c0 141 130 285 262 285c91 0 153 -71 153 -166zM204 10c39 0 94 26 135 93c38 61 59 168 59 208c0 70 -38 110 -87 110c-41 0 -97 -26 -142 -103c-28 -50 -52 -152 -52 -198c0 -70 37 -110 87 -110z"
  4858. },
  4859. p: {
  4860. x: 609,
  4861. d: "M124 -127l113 450c4 18 7 28 7 52c0 30 -8 46 -31 46c-40 0 -59 -59 -74 -118c-6 -23 -7 -24 -15 -24c-7 0 -11 5 -11 9s14 65 32 101c19 38 42 52 71 52c40 0 79 -26 87 -76c11 14 65 76 129 76c75 0 127 -65 127 -157c0 -147 -122 -294 -235 -294c-52 0 -79 39 -90 67\nc-6 -23 -51 -195 -51 -207c0 -8 3 -15 49 -15c17 0 24 0 24 -11c0 -18 -12 -18 -18 -18c-21 0 -72 2 -93 2h-43c-13 0 -27 -2 -40 -2c-11 0 -12 8 -12 10c0 19 10 19 22 19c41 0 45 8 52 38zM297 312l-49 -196c-1 -5 -3 -13 -3 -16c0 -4 11 -90 79 -90c46 0 92 48 117 102\nc25 52 53 165 53 213c0 52 -20 96 -64 96c-38 0 -71 -28 -82 -38c-16 -14 -44 -43 -51 -71z"
  4862. },
  4863. q: {
  4864. x: 502,
  4865. d: "M452 431l-139 -562c-3 -13 -4 -14 -4 -19c0 -8 3 -15 50 -15c15 0 23 0 23 -10c0 -19 -12 -19 -18 -19c-15 0 -32 2 -47 2h-102c-14 0 -32 -2 -46 -2c-7 0 -13 3 -13 10c0 19 10 19 21 19c47 1 62 1 71 31l9 36l38 150l-1 1c-21 -23 -65 -63 -118 -63\nc-68 0 -126 58 -126 157c0 148 122 294 235 294c43 0 74 -27 92 -72c19 35 58 71 66 71c5 0 9 -4 9 -9zM311 119l49 196c1 2 4 15 4 16c0 8 -13 90 -79 90c-39 0 -86 -36 -120 -106c-19 -42 -50 -154 -50 -209c0 -59 23 -96 64 -96c47 0 91 43 113 71c14 19 14 21 19 38z\n"
  4866. },
  4867. r: {
  4868. x: 499,
  4869. d: "M412 409c-13 9 -29 12 -45 12c-41 0 -67 -23 -79 -34c-25 -22 -52 -71 -55 -80c-3 -13 -7 -29 -11 -43c-5 -22 -11 -43 -16 -65c-6 -23 -43 -174 -46 -182c-6 -20 -25 -27 -36 -27c-15 0 -26 11 -26 25c0 5 11 52 18 78c5 18 16 63 20 82l28 108c7 31 17 70 17 92\nc0 29 -7 46 -31 46c-40 0 -59 -58 -74 -118c-6 -23 -7 -24 -15 -24c-7 0 -11 5 -11 9c0 5 15 65 32 101c12 22 32 52 71 52c40 0 80 -26 87 -79c42 61 88 79 128 79c50 0 81 -28 81 -60c0 -30 -23 -54 -51 -54c-14 0 -33 8 -33 32c0 22 16 44 47 50z"
  4870. },
  4871. s: {
  4872. x: 462,
  4873. d: "M227 200c-23 5 -97 21 -97 97c0 41 35 144 166 144c78 0 116 -43 116 -85s-28 -53 -42 -53c-9 0 -28 6 -28 27c0 1 2 39 46 39c-10 36 -51 52 -93 52c-95 0 -113 -72 -113 -92c0 -45 43 -54 70 -60c54 -11 78 -16 103 -40c32 -32 32 -60 32 -75c0 -52 -45 -164 -197 -164\nc-80 0 -140 37 -140 96c0 45 29 62 51 62c20 0 34 -11 34 -32c0 -20 -18 -49 -52 -49c-3 0 -5 1 -8 1c20 -55 95 -58 116 -58c116 0 144 81 144 112c0 48 -45 64 -58 68c-6 1 -33 7 -50 10z"
  4874. },
  4875. t: {
  4876. x: 400,
  4877. d: "M229 402l-78 -313c-3 -12 -3 -31 -3 -32c0 -22 2 -47 32 -47c58 0 104 70 125 120c7 16 8 17 9 18c2 4 6 4 8 4c6 0 10 -3 10 -9c0 -7 -54 -153 -155 -153c-56 0 -89 43 -89 90c0 13 3 23 11 58l66 264h-89c-19 0 -26 0 -26 10c0 19 9 19 29 19h94l39 159\nc8 32 31 35 39 35c13 0 26 -9 26 -25c0 -7 0 -9 -4 -23l-37 -146h88c20 0 26 0 26 -11c0 -18 -10 -18 -29 -18h-92z"
  4878. },
  4879. u: {
  4880. x: 601,
  4881. d: "M364 58c-20 -24 -55 -68 -119 -68c-41 0 -118 16 -118 118c0 30 5 68 49 187c15 38 26 67 26 93c0 32 -16 33 -26 33c-38 0 -77 -38 -101 -124c-4 -14 -5 -18 -14 -18c-7 0 -11 5 -11 9c0 8 37 153 129 153c48 0 79 -37 79 -80c0 -20 -5 -33 -17 -65\nc-26 -67 -54 -147 -54 -204c0 -37 10 -82 62 -82c73 0 112 82 113 82c7 35 61 250 71 289c6 25 13 50 42 50c15 0 27 -10 27 -25c0 -3 0 -5 -7 -30l-41 -163c-6 -28 -13 -55 -20 -82c-10 -42 -13 -52 -13 -75c0 -13 0 -46 30 -46c40 0 58 53 76 122c4 15 5 20 14 20\nc6 0 10 -4 10 -9c0 -3 -13 -62 -30 -98c-16 -34 -40 -55 -72 -55c-24 0 -72 12 -85 68z"
  4882. },
  4883. v: {
  4884. x: 530,
  4885. d: "M480 374c0 -57 -57 -384 -223 -384c-9 0 -59 0 -95 31c-31 28 -34 69 -34 91c0 24 0 55 48 183c15 38 26 67 26 93c0 33 -17 33 -26 33c-38 0 -77 -38 -101 -124c-4 -14 -5 -18 -14 -18c-7 0 -11 5 -11 9c0 8 37 153 129 153c49 0 79 -38 79 -80c0 -20 -4 -30 -20 -71\nc-27 -72 -50 -142 -50 -192c0 -37 12 -88 73 -88c120 0 180 234 180 276c0 52 -26 79 -36 88c-4 4 -11 11 -11 23c0 20 22 44 46 44c8 0 40 -4 40 -67z"
  4886. },
  4887. w: {
  4888. x: 748,
  4889. d: "M367 61c-40 -71 -85 -71 -102 -71c-51 0 -137 19 -137 124c0 38 10 79 57 204c17 44 17 65 17 70c0 32 -16 33 -26 33c-37 0 -76 -36 -101 -124c-4 -14 -5 -18 -14 -18c-7 0 -11 5 -11 9c0 8 37 153 129 153c49 0 79 -38 79 -80c0 -20 -5 -33 -17 -64\nc-45 -119 -52 -163 -52 -195c0 -17 0 -92 79 -92c31 0 47 17 58 28c1 2 33 40 33 64c0 22 0 33 4 50c4 22 46 191 56 230c6 24 13 49 42 49c15 0 27 -10 27 -25c0 -4 -9 -39 -14 -59l-42 -168c-4 -17 -13 -52 -13 -81c0 -46 18 -88 74 -88c52 0 89 40 117 101\nc21 47 49 141 49 175c0 52 -26 79 -35 88c-5 4 -12 11 -12 23c0 20 22 44 46 44c9 0 40 -6 40 -67c0 -59 -37 -191 -60 -249c-28 -69 -73 -135 -149 -135c-38 0 -100 11 -122 71z"
  4890. },
  4891. x: {
  4892. x: 586,
  4893. d: "M496 408c-21 13 -49 13 -51 13c-46 0 -80 -44 -95 -104l-35 -136c-16 -66 -20 -82 -20 -104c0 -41 19 -67 54 -67c45 0 103 41 130 129c3 8 4 13 13 13c6 0 10 -4 10 -9c0 -22 -54 -153 -156 -153c-37 0 -87 20 -103 79c-21 -41 -55 -79 -103 -79c-43 0 -90 19 -90 61\nc0 32 26 53 50 53c19 0 34 -12 34 -32c0 -12 -8 -42 -44 -49c21 -13 46 -13 51 -13c53 0 82 55 97 115l34 137c12 48 18 71 18 93c0 24 -9 66 -54 66c-29 0 -96 -21 -130 -132c-2 -4 -4 -10 -12 -10c-7 0 -11 5 -11 9c0 22 54 153 156 153c18 0 80 -4 103 -79\nc9 19 43 79 104 79c42 0 90 -19 90 -61c0 -27 -21 -53 -51 -53c-14 0 -33 8 -33 32c0 19 12 43 44 49z"
  4894. },
  4895. y: {
  4896. x: 551,
  4897. d: "M286 -112c35 49 45 88 60 147l-1 1c-35 -37 -71 -46 -100 -46c-50 0 -118 22 -118 117c0 24 0 57 49 188c15 38 26 67 26 93c0 33 -17 33 -26 33c-39 0 -77 -40 -101 -124c-4 -14 -5 -18 -14 -18c-7 0 -11 5 -11 9c0 8 37 153 129 153c49 0 79 -38 79 -80\nc0 -20 -6 -34 -17 -63c-27 -72 -54 -149 -54 -206c0 -27 5 -82 61 -82c48 0 81 34 101 62c8 11 8 13 13 31l74 294c8 30 29 34 38 34c15 0 27 -10 27 -25c0 -6 -2 -12 -3 -17l-98 -390c-28 -111 -129 -203 -229 -203c-57 0 -100 35 -100 86c0 49 35 61 51 61\nc15 0 34 -8 34 -31s-20 -49 -50 -49c-2 0 -7 0 -10 1c15 -46 63 -48 75 -48c49 0 88 34 115 72z"
  4898. },
  4899. z: {
  4900. x: 517,
  4901. d: "M134 81c9 4 20 4 30 4c13 0 24 0 64 -16c21 -9 41 -16 62 -16c39 0 98 24 120 83c3 10 4 14 12 14c10 0 11 -6 11 -10c0 -23 -56 -150 -154 -150c-32 0 -49 21 -68 43c-20 25 -30 32 -51 32c-37 0 -69 -37 -85 -62c-7 -12 -8 -13 -14 -13s-11 2 -11 8c0 7 37 66 98 128\nl101 93c45 41 99 89 132 128c-5 -1 -9 -1 -16 -1c-10 0 -26 0 -64 16c-21 9 -41 16 -62 16c-19 0 -67 -7 -84 -47c-3 -7 -4 -11 -12 -11c-9 0 -10 6 -10 9c0 21 44 112 117 112c29 0 46 -17 67 -42c19 -24 30 -33 51 -33c26 0 50 21 75 64c5 7 7 11 14 11c2 0 10 0 10 -8\ns-35 -66 -105 -135c-14 -15 -40 -40 -100 -92c-50 -45 -85 -76 -128 -125z"
  4902. },
  4903. "&#x237;": {
  4904. x: 467,
  4905. d: "M413 317l-93 -370c-24 -95 -105 -151 -177 -151c-43 0 -93 15 -93 58c0 30 24 52 50 52c22 0 34 -16 34 -32c0 -7 -5 -39 -41 -48c22 -10 45 -10 50 -10c58 0 96 64 113 130l95 377c4 18 7 28 7 52c0 35 -11 46 -32 46c-36 0 -87 -28 -128 -128c-5 -10 -6 -14 -14 -14\nc-6 0 -10 4 -10 9c0 7 54 153 155 153c45 0 88 -32 88 -90c0 -4 0 -18 -4 -34z"
  4906. },
  4907. "&#x131;": {
  4908. x: 356,
  4909. d: "M306 143c0 -7 -36 -153 -128 -153c-48 0 -79 36 -79 81c0 18 6 34 12 50l70 186c8 22 21 55 21 81c0 32 -17 33 -26 33c-39 0 -77 -40 -101 -124c-4 -14 -5 -18 -14 -18c-7 0 -11 5 -11 9c0 8 37 153 129 153c49 0 79 -38 79 -80c0 -19 -7 -37 -10 -45l-70 -186\nc-11 -30 -23 -60 -23 -87c0 -30 14 -33 26 -33c33 0 74 31 100 122c5 17 6 20 15 20c6 0 10 -4 10 -9z"
  4910. },
  4911. "&#x3b1;": {
  4912. x: 649,
  4913. d: "M473 253v-85c62 82 88 160 101 204c4 18 5 21 14 21c3 0 11 0 11 -9c0 -1 -24 -127 -126 -249c0 -61 0 -125 31 -125c24 0 47 22 56 47c3 8 4 11 12 11c3 0 10 0 10 -9c0 -13 -27 -69 -81 -69c-43 0 -74 28 -88 84c-71 -60 -145 -84 -207 -84c-102 0 -156 79 -156 166\nc0 142 131 285 262 285c106 0 161 -91 161 -188zM410 98c-1 11 -2 16 -2 36c0 25 1 51 1 76c0 84 0 211 -97 211c-45 0 -101 -31 -142 -101c-31 -55 -53 -157 -53 -200c0 -47 20 -110 91 -110c35 0 114 9 202 88z"
  4914. },
  4915. "&#x3b2;": {
  4916. x: 637,
  4917. d: "M587 582c0 -79 -44 -140 -116 -178c16 -12 31 -26 43 -45c21 -32 30 -70 30 -108c0 -149 -135 -261 -278 -261c-59 0 -114 46 -124 102l-70 -280c-1 -5 -6 -6 -13 -6c-5 0 -11 2 -9 10l158 627c26 104 108 262 237 262c91 0 142 -63 142 -123zM413 405c-14 4 -32 6 -50 6\nc-21 0 -36 -2 -46 -9c14 -4 25 -5 35 -5h10c19 0 35 2 51 8zM535 591c0 44 -20 94 -92 94c-97 0 -181 -118 -214 -249l-65 -263c-4 -15 -4 -28 -4 -37c0 -68 38 -126 111 -126c69 0 147 48 180 122c19 43 35 90 35 148c0 50 -14 84 -46 110c-24 -7 -47 -13 -73 -13h-12\nc-23 0 -60 2 -60 24c0 28 48 30 73 30h8c22 0 48 -5 67 -12c65 37 92 117 92 172z"
  4918. },
  4919. "&#x3b3;": {
  4920. x: 613,
  4921. d: "M409 122c33 88 53 133 68 167c30 68 65 136 67 138c2 4 7 4 9 4c9 0 10 -7 10 -8c0 -3 -14 -30 -21 -46c-79 -157 -136 -322 -139 -346c-5 -40 -11 -84 -35 -172c-11 -40 -20 -73 -35 -73c-8 0 -11 9 -11 17c0 28 33 152 52 214c6 20 13 41 13 104c0 99 -20 254 -159 254\nc-69 0 -133 -49 -154 -111c-5 -13 -5 -15 -14 -15c-3 0 -10 0 -10 9c0 26 67 183 190 183c73 0 107 -53 127 -103c38 -90 40 -167 42 -216z"
  4922. },
  4923. "&#x3b4;": {
  4924. x: 504,
  4925. d: "M270 436c-34 66 -59 123 -59 172c0 102 98 102 115 102s31 0 78 -10c35 -8 50 -11 50 -30c0 -16 -15 -37 -36 -37c-13 0 -36 13 -45 19c-30 17 -49 28 -80 28c-44 0 -57 -30 -57 -47c0 -48 60 -125 97 -172c25 -33 67 -88 67 -178c0 -133 -80 -295 -198 -295\nc-80 0 -152 60 -152 167c0 117 92 250 220 281zM281 417c-136 -36 -173 -225 -173 -290c0 -93 56 -119 95 -119c89 0 131 157 131 235c0 65 -15 95 -53 174z"
  4926. },
  4927. "&#x3b5;": {
  4928. x: 421,
  4929. d: "M295 227h-166c-9 -40 -11 -66 -11 -85c0 -97 56 -132 109 -132c30 0 67 12 105 37c5 4 7 5 10 5c6 0 9 -6 9 -12c0 -10 -63 -50 -127 -50c-99 0 -174 75 -174 186c0 157 135 255 258 255h34c18 0 29 0 29 -13c0 -16 -15 -16 -32 -16h-29c-89 0 -148 -55 -173 -146h162\nc18 0 28 0 28 -13c0 -16 -17 -16 -32 -16z"
  4930. },
  4931. "&#x3b6;": {
  4932. x: 521,
  4933. d: "M194 49l92 -32c37 -12 95 -32 95 -102c0 -52 -44 -119 -108 -119c-50 0 -93 38 -93 48c0 2 2 10 10 10c5 0 7 -2 11 -6c25 -25 52 -32 72 -32c37 0 58 39 58 68c0 48 -39 61 -80 75c-13 5 -45 16 -58 20c-52 18 -143 50 -143 187c0 187 146 374 262 434\nc-12 21 -12 42 -12 51c0 8 0 45 16 45c5 0 10 -4 10 -10c0 -3 -4 -17 -4 -35c0 -15 3 -29 9 -42c26 11 43 11 63 11c32 0 77 -1 77 -25c0 -29 -61 -29 -86 -29c-19 0 -42 0 -60 17c-123 -71 -224 -254 -224 -391c0 -75 34 -120 93 -143zM347 593c11 -7 18 -7 39 -7\nc42 0 50 3 62 8c-20 5 -23 6 -55 6c-17 0 -31 0 -46 -7z"
  4934. },
  4935. "&#x3b7;": {
  4936. x: 556,
  4937. d: "M498 277l-115 -458c-8 -30 -29 -34 -38 -34c-15 0 -27 10 -27 25c0 6 2 12 3 17l116 460c5 19 9 35 9 64c0 40 -14 70 -54 70c-39 0 -73 -16 -99 -40c-37 -32 -62 -82 -64 -88l-33 -132l-22 -90c-5 -20 -14 -55 -16 -60c-8 -15 -22 -21 -34 -21c-15 0 -26 11 -26 25\nc0 5 11 52 18 78c5 18 16 63 20 82l28 108c7 31 17 70 17 92c0 30 -8 46 -31 46c-40 0 -59 -59 -74 -118c-6 -23 -7 -24 -15 -24c-7 0 -11 5 -11 9s14 65 32 101c19 38 42 52 71 52c44 0 85 -31 88 -88c18 25 65 88 154 88c76 0 111 -45 111 -105c0 -27 -3 -39 -8 -59z"
  4938. },
  4939. "&#x3b8;": {
  4940. x: 503,
  4941. d: "M453 503c0 -227 -152 -513 -288 -513c-105 0 -115 155 -115 201c0 220 149 513 289 513c82 0 114 -99 114 -201zM150 362h211c29 112 32 162 32 198c0 96 -22 124 -55 124c-44 0 -79 -48 -112 -108c-40 -71 -61 -155 -76 -214zM354 332h-212c-16 -66 -32 -134 -32 -199\nc0 -99 25 -123 56 -123c42 0 77 47 106 98c36 63 57 126 82 224z"
  4942. },
  4943. "&#x3b9;": {
  4944. x: 361,
  4945. d: "M311 143c0 -33 -69 -153 -180 -153c-56 0 -81 42 -81 81c0 34 23 73 32 108c7 25 6 17 13 43c4 12 29 103 30 107c6 19 16 67 23 86c6 16 20 26 36 26c13 0 26 -9 26 -25c0 -8 -38 -169 -88 -305c-5 -14 -16 -44 -16 -68c0 -31 15 -33 27 -33c42 0 123 32 155 129\nc3 9 5 13 13 13c6 0 10 -4 10 -9z"
  4946. },
  4947. "&#x3ba;": {
  4948. x: 580,
  4949. d: "M208 250c66 -3 192 -12 192 -103c0 -11 -3 -23 -5 -33c-4 -15 -8 -37 -8 -56c0 -35 11 -48 33 -48c51 0 73 74 86 122c4 16 5 20 14 20c6 0 10 -4 10 -9c0 -4 -13 -59 -34 -98c-15 -26 -38 -55 -79 -55c-49 0 -88 37 -88 97c0 6 0 17 4 36c3 11 3 14 3 21\nc0 49 -43 81 -170 87c-2 -6 -43 -173 -49 -194c-5 -21 -11 -47 -41 -47c-15 0 -26 11 -26 25c0 6 0 8 3 20l93 371c8 32 30 35 39 35c13 0 26 -9 26 -25l-38 -159c41 13 70 35 128 86c44 37 103 88 163 88c35 0 37 -26 37 -32c0 -19 -18 -49 -50 -49c-10 0 -33 5 -33 32\nc0 7 1 15 5 21c-38 -15 -60 -31 -120 -83c-25 -21 -62 -52 -95 -70z"
  4950. },
  4951. "&#x3bb;": {
  4952. x: 582,
  4953. d: "M306 623l201 -575c4 -12 11 -30 20 -41c4 -4 5 -5 5 -9c0 -8 -7 -8 -11 -8h-19c-28 0 -30 0 -40 9c-14 13 -19 27 -24 42c-31 84 -63 176 -89 254c-91 -108 -234 -283 -250 -298c-6 -6 -17 -8 -21 -8c-16 0 -28 12 -28 26c0 13 8 21 20 33l260 263c8 8 9 9 9 10\nc0 2 -103 301 -113 320c-16 29 -28 31 -43 33c-5 1 -11 2 -11 10c0 10 11 10 17 10c13 0 92 0 117 -71z"
  4954. },
  4955. "&#x3bc;": {
  4956. x: 632,
  4957. d: "M166 22l-47 -186c-7 -28 -13 -51 -42 -51c-15 0 -27 10 -27 25c0 6 2 12 3 17l145 579c8 32 30 35 39 35c13 0 26 -9 26 -25c0 -6 -8 -38 -13 -57l-45 -180c-4 -17 -13 -52 -13 -81c0 -47 18 -88 74 -88c63 0 102 54 114 71c13 16 13 18 18 38l70 278c8 30 29 34 38 34\nc15 0 27 -10 27 -25c0 -4 -11 -47 -17 -71c-5 -18 -16 -63 -20 -82l-28 -108c-7 -30 -16 -66 -16 -89c0 -20 2 -46 31 -46c41 0 60 63 75 122c4 15 5 20 14 20c6 0 10 -4 10 -9c0 -4 -14 -65 -30 -99c-18 -36 -42 -54 -72 -54c-35 0 -77 21 -87 74c-23 -31 -67 -74 -131 -74\nc-34 0 -71 9 -96 32z"
  4958. },
  4959. "&#x3bd;": {
  4960. x: 561,
  4961. d: "M217 431l-99 -401c133 44 270 168 329 377c2 7 9 34 38 34c13 0 26 -9 26 -25c0 -4 -18 -127 -147 -260c-117 -120 -269 -156 -283 -156h-21c-7 0 -10 6 -10 10l88 353c1 4 3 16 3 20c0 11 -3 18 -50 18c-14 0 -22 0 -22 10c0 18 10 19 21 20c15 1 109 10 116 10\nc8 0 11 -6 11 -10z"
  4962. },
  4963. "&#x3be;": {
  4964. x: 517,
  4965. d: "M289 -5l60 -24c32 -14 49 -39 49 -70c0 -43 -39 -105 -103 -105c-54 0 -106 37 -106 48c0 6 5 10 10 10c4 0 5 -1 12 -7c36 -27 69 -31 84 -31c35 0 51 34 51 55c0 16 -8 28 -18 35c-7 4 -48 21 -73 30l-90 36c-36 15 -115 46 -115 133c0 54 44 156 147 212\nc-27 15 -67 48 -67 108c0 65 53 150 173 185c-6 13 -7 27 -7 41c0 8 0 45 16 45c5 0 10 -4 10 -10c0 -3 -4 -17 -4 -35c0 -22 1 -24 6 -36c28 5 43 5 63 5c32 0 80 0 80 -25c0 -29 -61 -29 -86 -29c-21 0 -45 0 -63 21c-79 -37 -115 -115 -115 -170c0 -30 10 -62 34 -82\nc36 12 63 12 83 12c43 0 79 -3 79 -25c0 -29 -59 -29 -90 -29c-18 0 -44 0 -71 8c-3 1 -12 3 -14 3c-21 0 -126 -87 -126 -173c0 -60 60 -84 86 -94zM340 595c11 -9 23 -9 42 -9c42 0 50 3 62 8c-20 5 -23 6 -56 6c-13 0 -31 0 -48 -5zM261 321c18 -8 28 -8 52 -8\nc43 0 52 3 63 8c-22 5 -24 6 -57 6c-12 0 -34 0 -58 -6z"
  4966. },
  4967. "&#x3bf;": {
  4968. x: 515,
  4969. d: "M465 275c0 -141 -129 -285 -262 -285c-91 0 -153 71 -153 166c0 141 130 285 262 285c91 0 153 -71 153 -166zM204 10c39 0 94 26 135 93c38 61 59 168 59 208c0 70 -38 110 -87 110c-41 0 -97 -26 -142 -103c-28 -50 -52 -152 -52 -198c0 -70 37 -110 87 -110z"
  4970. },
  4971. "&#x3c0;": {
  4972. x: 627,
  4973. d: "M283 377l-58 -226c-10 -40 -10 -42 -26 -93c-12 -42 -20 -68 -49 -68c-9 0 -27 5 -27 26c0 6 0 8 8 24c82 175 107 262 129 337h-57c-25 0 -77 0 -129 -82c-5 -6 -6 -9 -13 -9c-6 0 -11 2 -11 8s32 59 58 88c46 49 80 49 103 49h329c18 0 37 0 37 -22\nc0 -32 -33 -32 -46 -32h-112c-21 -90 -21 -161 -21 -167c0 -7 0 -93 27 -162c7 -15 7 -17 7 -22c0 -17 -18 -36 -39 -36c-41 0 -41 108 -41 122c0 80 17 153 44 265h-113z"
  4974. },
  4975. "&#x3c1;": {
  4976. x: 563,
  4977. d: "M53 -173l98 390c33 133 140 224 228 224c69 0 134 -53 134 -160c0 -151 -128 -291 -241 -291c-39 0 -76 21 -96 71c-32 -123 -60 -243 -64 -252c-6 -14 -20 -24 -35 -24s-27 10 -27 25c0 6 2 12 3 17zM271 10c51 0 103 50 133 119c17 42 44 141 44 192\nc0 59 -25 100 -70 100c-15 0 -113 -5 -164 -204c-3 -15 -28 -110 -28 -116c0 -12 17 -91 85 -91z"
  4978. },
  4979. "&#x3c2;": {
  4980. x: 470,
  4981. d: "M240 25l-97 55c-30 17 -93 52 -93 135c0 112 123 226 270 226c40 0 100 -9 100 -30c0 -6 -6 -15 -15 -15c-2 0 -4 0 -11 4c-24 11 -48 21 -79 21c-108 0 -216 -83 -216 -176c0 -63 38 -84 94 -116l56 -31c10 -6 38 -21 48 -28c11 -6 41 -27 41 -71\nc0 -46 -41 -106 -101 -106c-16 0 -58 8 -58 22c0 5 5 9 10 9c2 0 8 -2 10 -3c17 -7 35 -8 38 -8c34 0 48 34 48 55c0 31 -20 42 -45 57z"
  4982. },
  4983. "&#x3c3;": {
  4984. x: 616,
  4985. d: "M520 377h-111c24 -33 33 -71 33 -110c0 -150 -129 -277 -247 -277c-90 0 -145 71 -145 156c0 118 108 285 258 285h221c18 0 37 0 37 -22c0 -32 -33 -32 -46 -32zM196 10c45 0 99 33 135 92c35 58 51 142 51 177c0 77 -48 98 -91 98c-147 0 -183 -199 -183 -259\nc0 -69 37 -108 88 -108z"
  4986. },
  4987. "&#x3c4;": {
  4988. x: 573,
  4989. d: "M311 377l-68 -346c-3 -15 -8 -42 -39 -42c-20 0 -27 14 -27 25c0 3 0 5 5 20l104 343h-83c-25 0 -77 0 -129 -82c-5 -6 -6 -9 -13 -9c-6 0 -11 2 -11 8s32 59 58 88c46 49 80 49 103 49h275c18 0 37 0 37 -22c0 -32 -33 -32 -46 -32h-166z"
  4990. },
  4991. "&#x3c5;": {
  4992. x: 585,
  4993. d: "M535 374c0 -32 -17 -173 -88 -277c-26 -38 -80 -107 -163 -107c-74 0 -155 29 -155 129c0 26 0 52 56 199c17 44 17 65 17 70c0 32 -16 33 -26 33c-37 0 -76 -36 -101 -124c-4 -14 -5 -18 -14 -18c-7 0 -11 5 -11 9c0 8 37 153 129 153c49 0 79 -38 79 -80\nc0 -19 -5 -32 -17 -65c-39 -101 -51 -149 -51 -188c0 -29 7 -54 25 -73c26 -25 66 -25 72 -25c128 0 209 209 209 276c0 52 -26 79 -35 88c-5 4 -12 11 -12 23c0 20 22 44 46 44c9 0 40 -6 40 -67z"
  4994. },
  4995. "&#x3c6;": {
  4996. x: 611,
  4997. d: "M433 685l-59 -242c111 -7 187 -79 187 -180c0 -126 -130 -266 -301 -275l-37 -149c-4 -13 -10 -37 -12 -39c-2 -4 -6 -4 -9 -4c-10 0 -10 6 -10 8c0 4 8 37 22 90c8 31 15 63 23 94c-104 6 -187 72 -187 180c0 125 126 260 290 274c2 0 9 1 10 3c1 1 2 2 5 15l54 215\nc4 17 5 19 14 19c3 0 10 0 10 -9zM368 423l-103 -414c156 12 235 162 235 275c0 98 -66 135 -132 139zM242 8l104 414c-144 -9 -235 -149 -235 -275c0 -110 82 -136 131 -139z"
  4998. },
  4999. "&#x3c7;": {
  5000. x: 651,
  5001. d: "M349 161l226 258c10 11 13 11 16 11c5 0 10 -3 10 -10c0 -4 -1 -5 -9 -14l-237 -270c17 -62 40 -142 66 -209c44 -111 60 -111 73 -111c16 0 42 14 53 42c3 8 4 12 12 12c5 0 11 -2 11 -9c0 -14 -26 -65 -83 -65c-85 0 -106 49 -122 87c-15 37 -15 39 -64 193l-116 -132\nc-26 -30 -88 -104 -116 -132c-3 -3 -6 -5 -10 -5s-9 2 -9 10c0 1 0 5 9 16l236 268c-27 97 -39 139 -63 200c-18 48 -46 120 -75 120c-9 0 -40 -6 -55 -45c-1 -4 -3 -9 -11 -9c-6 0 -11 3 -11 9c0 13 27 65 83 65c35 0 69 -12 87 -28c14 -14 22 -21 53 -107\nc25 -70 19 -62 46 -145z"
  5002. },
  5003. "&#x3c8;": {
  5004. x: 693,
  5005. d: "M493 670l-164 -660c30 0 107 0 191 94c64 72 84 146 84 182c0 52 -27 79 -36 88c-4 4 -11 11 -11 23c0 20 22 44 46 44c10 0 40 -7 40 -67c0 -51 -24 -140 -34 -166c-17 -43 -47 -89 -80 -125c-90 -93 -169 -93 -206 -93c-4 -18 -45 -186 -49 -190c-2 -4 -6 -4 -8 -4\nc-3 0 -11 0 -11 9c0 4 7 32 23 92c8 31 15 63 23 94c-90 7 -170 44 -170 140c0 23 0 45 54 187c17 44 17 66 17 70c0 32 -17 33 -26 33c-37 0 -77 -37 -101 -124c-4 -14 -5 -18 -14 -18c-7 0 -11 5 -11 9c0 8 37 153 129 153c47 0 79 -36 79 -81c0 -18 -5 -31 -18 -67\nc-47 -124 -47 -147 -47 -169c0 -60 31 -102 114 -112l165 662c4 15 5 20 14 20c3 0 11 0 11 -9c0 -1 -4 -14 -4 -15z"
  5006. },
  5007. "&#x3c9;": {
  5008. x: 682,
  5009. d: "M632 376c0 -55 -31 -180 -57 -238c-36 -81 -84 -148 -160 -148c-73 0 -103 53 -111 109c-21 -38 -73 -109 -156 -109c-75 0 -98 74 -98 136c0 96 36 207 87 286c8 12 13 25 29 25c9 0 13 -11 13 -18c0 -2 -7 -12 -17 -27c-18 -25 -83 -116 -83 -220\nc0 -57 18 -116 85 -116c64 0 118 62 137 99c-1 21 12 100 26 122c5 8 13 12 20 12c13 0 17 -9 17 -20c0 -26 -23 -91 -34 -117c11 -56 35 -96 98 -96c52 0 98 47 126 102c16 31 38 88 38 124c0 47 -19 74 -34 91c-8 9 -12 15 -12 24c0 20 23 45 43 45c35 0 43 -37 43 -66z\n"
  5010. },
  5011. "&#x3d1;": {
  5012. x: 620,
  5013. d: "M520 356l28 -7c15 -3 22 -4 22 -11c0 -4 -3 -11 -9 -11c-5 0 -23 4 -46 9c-40 -156 -144 -346 -259 -346c-16 0 -61 1 -94 25c-36 28 -36 73 -36 87c0 13 0 27 8 62l18 73c4 17 13 51 18 73c7 28 11 43 11 65c0 30 -8 46 -31 46c-40 0 -59 -59 -74 -118\nc-6 -23 -7 -24 -15 -24c-7 0 -11 5 -11 9s14 65 32 101c19 38 42 52 71 52c41 0 87 -29 87 -90c0 -16 -5 -36 -10 -54c-8 -35 -3 -14 -12 -48c-7 -30 -13 -52 -19 -77c-8 -35 -13 -59 -13 -82c0 -20 1 -80 73 -80c40 0 74 37 116 118c28 57 49 115 75 227\nc-61 20 -160 68 -160 167c0 74 62 182 144 182c91 0 106 -126 106 -195c0 -34 -2 -76 -20 -153zM456 375c18 80 29 132 29 190c0 56 -5 119 -53 119c-67 0 -120 -96 -120 -161c0 -67 51 -117 144 -148z"
  5014. },
  5015. "&#x3d5;": {
  5016. x: 658,
  5017. d: "M302 44c153 0 281 125 281 239c0 55 -30 104 -95 104c-87 0 -163 -92 -195 -220c-6 -22 -23 -116 -23 -118c0 -5 15 -5 32 -5zM259 -8c-4 -20 -32 -175 -35 -184c-8 -20 -26 -24 -36 -24c-2 0 -26 1 -26 25c0 4 0 6 5 21l52 169c-81 18 -169 79 -169 191\nc0 95 76 241 103 241c2 0 10 0 10 -8c0 -2 0 -4 -11 -17c-58 -72 -79 -179 -79 -206c0 -67 48 -128 163 -150c56 188 117 391 261 391c84 0 111 -74 111 -135c0 -158 -151 -316 -315 -316c-18 0 -28 1 -34 2z"
  5018. },
  5019. "&#x3d6;": {
  5020. x: 872,
  5021. d: "M211 431h574c18 0 37 0 37 -22c0 -14 -10 -26 -22 -30c-6 -2 -33 -2 -50 -2c7 -24 11 -50 11 -75c0 -102 -89 -312 -230 -312c-78 0 -101 60 -101 132c0 12 1 27 2 36l-1 1c-49 -96 -127 -169 -214 -169c-64 0 -85 51 -85 112c0 136 77 236 107 275c-65 0 -75 0 -102 -17\nc-35 -21 -53 -48 -63 -64c-5 -8 -6 -10 -13 -10c-6 0 -11 2 -11 8s32 59 58 88c46 49 80 49 103 49zM727 377h-461c-93 -112 -107 -199 -107 -242c0 -32 7 -91 67 -91c72 0 177 62 228 239c2 5 4 10 12 10c7 0 11 -5 11 -9c0 -1 0 -3 -6 -28c-5 -20 -12 -62 -12 -98\nc0 -80 28 -114 81 -114c110 0 199 148 199 258c0 20 -4 52 -12 75z"
  5022. },
  5023. "&#x3de;": {
  5024. x: 756,
  5025. d: "M519 270l-382 -254c-11 -7 -31 -21 -55 -21c-3 0 -32 1 -32 26c0 15 8 20 25 32l66 44c35 22 35 23 40 26c28 19 98 170 98 224c0 3 0 12 -3 18c-68 0 -115 -23 -123 -41c-4 -7 -6 -12 -14 -12s-12 6 -12 12c0 32 65 108 155 108c28 0 28 -21 28 -45\nc0 -74 -45 -178 -74 -227l383 255c12 8 31 21 55 21c10 0 32 -5 32 -26c0 -10 -6 -16 -7 -18c-5 -5 -61 -42 -99 -68c-31 -21 -32 -22 -52 -52c-49 -78 -72 -172 -72 -188c0 -7 2 -13 4 -18c68 1 113 21 124 41c3 8 5 12 13 12c4 0 12 -2 12 -12c0 -34 -67 -108 -155 -108\nc-16 0 -29 4 -29 45c0 26 10 111 74 226z"
  5026. },
  5027. "&#x3dc;": {
  5028. x: 764,
  5029. d: "M230 251l-78 -309c-5 -18 -6 -19 -17 -22c-14 -3 -32 -3 -36 -3c-7 0 -49 0 -49 12c0 4 1 10 2 14l164 654c16 7 28 8 54 8h390c12 0 28 0 44 -4c13 -3 4 -3 10 -6c-6 -3 3 -3 -10 -6c-16 -4 -32 -4 -44 -4h-347l-78 -314h182c12 0 28 0 44 -4c13 -3 4 -3 10 -6\nc-6 -3 3 -3 -10 -6c-16 -4 -32 -4 -44 -4h-187z"
  5030. },
  5031. "&#x3f5;": {
  5032. x: 496,
  5033. d: "M163 228c-65 -34 -90 -85 -90 -119c0 -71 82 -87 144 -87c119 0 145 40 156 59c4 6 6 9 11 9s9 -4 9 -9c0 -14 -53 -102 -185 -102c-96 0 -158 55 -158 124c0 49 34 103 92 136c-17 12 -41 35 -41 72c0 74 106 141 218 141c69 0 127 -38 127 -56c0 -12 -13 -25 -25 -25\nc-7 0 -10 3 -16 7c-42 31 -78 31 -95 31c-89 0 -187 -36 -187 -98c0 -22 12 -45 43 -60c35 15 65 18 90 18c51 0 70 -7 70 -25c0 -29 -52 -29 -78 -29c-19 0 -53 0 -85 13zM194 240c20 -5 36 -5 54 -5c36 0 38 0 55 8c-16 4 -21 6 -49 6c-7 0 -33 0 -60 -9z"
  5034. },
  5035. "&#x3f1;": {
  5036. x: 518,
  5037. d: "M101 102c-9 -37 -24 -108 -24 -154c0 -59 23 -69 134 -69c97 0 141 0 141 -47c0 -26 -8 -26 -14 -26s-10 3 -10 10c-1 0 0 3 -1 5c-4 8 -25 8 -46 8c-34 0 -61 -4 -96 -4c-135 0 -135 63 -135 97c0 51 15 133 55 291c38 148 149 228 229 228c69 0 134 -53 134 -160\nc0 -149 -126 -291 -242 -291c-55 0 -106 34 -125 112zM227 10c46 0 100 46 132 119c17 42 44 141 44 192c0 59 -25 100 -70 100c-49 0 -100 -49 -127 -103c-36 -70 -53 -168 -53 -203c0 -49 20 -105 74 -105z"
  5038. },
  5039. "&#x3f9;": {
  5040. x: 470,
  5041. d: "M240 25l-97 55c-30 17 -93 52 -93 135c0 112 123 226 270 226c40 0 100 -9 100 -30c0 -6 -6 -15 -15 -15c-2 0 -4 0 -11 4c-24 11 -48 21 -79 21c-108 0 -216 -83 -216 -176c0 -63 38 -84 94 -116l56 -31c10 -6 38 -21 48 -28c11 -6 41 -27 41 -71\nc0 -46 -41 -106 -101 -106c-16 0 -58 8 -58 22c0 5 5 9 10 9c2 0 8 -2 10 -3c17 -7 35 -8 38 -8c34 0 48 34 48 55c0 31 -20 42 -45 57z"
  5042. },
  5043. "&#x211c;": {
  5044. x: 768,
  5045. d: "M577 701l134 -241c1 -1 7 -13 7 -15c0 -5 -2 -7 -5 -10c-2 -1 -111 -65 -167 -83c1 -14 5 -94 7 -114c1 -31 6 -83 6 -112c0 -11 -4 -14 -4 -33c0 -27 12 -60 46 -82c45 37 81 66 86 66c3 0 19 -6 19 -14c0 -4 -1 -5 -13 -15l-72 -56c-19 -14 -21 -14 -34 -14\nc-67 0 -116 55 -116 115c0 19 4 26 4 33l-13 219h-115v-73c0 -203 -79 -294 -150 -294c-35 0 -86 20 -118 107c-3 -2 -15 -6 -18 -6c-5 0 -11 6 -11 11c0 8 15 14 21 15c-2 3 -4 9 -4 13c0 5 7 13 13 13c7 0 12 -11 13 -17c4 2 17 7 21 7c3 0 11 -5 11 -11\nc0 -9 -20 -16 -23 -16c21 -63 58 -94 95 -94c65 0 65 184 65 193v295c0 117 -40 195 -92 195s-81 -53 -81 -96c0 -22 11 -37 39 -62c68 -63 70 -101 70 -131c0 -23 0 -151 -81 -151c-49 0 -58 60 -58 78c0 4 0 15 12 15s13 -8 13 -16c1 -18 6 -55 33 -55c43 0 49 60 49 119\nc0 37 0 53 -56 109c-28 29 -51 54 -51 92c0 57 44 120 112 120c76 0 125 -73 140 -102c52 85 174 113 243 113c14 0 15 -1 23 -15zM634 427l-133 240c-1 1 -7 11 -9 11c-1 0 -130 -18 -165 -114c11 -31 20 -70 20 -139v-49h145c29 0 50 0 142 51z"
  5046. },
  5047. "&#x2135;": {
  5048. x: 600,
  5049. d: "M465 112l-283 323c-32 -68 -37 -149 -37 -188c0 -31 3 -45 44 -94c23 -28 46 -56 46 -94c0 -57 -75 -59 -102 -59h-56c-18 0 -27 0 -27 11s7 11 17 11c71 2 71 28 71 39c0 21 -9 46 -25 75c-26 49 -35 72 -35 105c0 66 29 138 81 220l-59 68c-50 61 -50 81 -50 100\nc0 52 21 64 26 64c4 0 9 -3 10 -10c1 -18 4 -50 49 -101l278 -317c4 37 5 45 21 134c12 67 14 94 16 123c-57 55 -67 76 -67 107c0 52 21 64 26 64c6 0 8 -5 10 -10c7 -18 53 -98 77 -119c46 -42 54 -56 54 -90c0 -52 -21 -64 -26 -64c-9 0 -10 9 -10 13\nc-3 36 -31 67 -34 70l-39 -260l59 -68c50 -61 50 -81 50 -100c0 -52 -21 -64 -26 -64c-4 0 -9 3 -10 10c-1 18 -4 50 -49 101z"
  5050. },
  5051. "&#x2111;": {
  5052. x: 738,
  5053. d: "M282 336c0 -11 -11 -11 -17 -11c-92 0 -215 67 -215 190c0 106 96 190 217 190c42 0 184 -10 273 -176c16 -29 22 -32 36 -32c2 0 73 0 81 47c1 9 2 14 15 14c6 0 16 0 16 -13c0 -38 -44 -70 -114 -70c-86 0 -134 61 -179 118c-43 54 -75 90 -132 90\nc-91 0 -182 -68 -182 -168c0 -59 40 -159 191 -168c4 -1 10 -4 10 -11zM77 183h40c70 0 108 -29 181 -98c4 -3 32 -29 50 -42c32 -23 60 -31 66 -31c18 0 121 33 121 126c0 21 -3 37 -40 79c-30 34 -53 59 -53 99c0 63 58 115 130 115c71 0 116 -48 116 -91\nc0 -9 -3 -14 -16 -14s-14 7 -15 13c-9 70 -82 70 -83 70c-37 0 -48 -47 -48 -90c0 -23 3 -40 42 -84c37 -40 51 -61 51 -97c0 -51 -29 -91 -64 -115c-49 -34 -91 -34 -143 -34c-80 0 -102 0 -208 97c-78 70 -110 73 -145 75c-9 1 -9 9 -9 11c0 11 9 11 27 11z"
  5054. },
  5055. "&#x2127;": {
  5056. x: 733,
  5057. d: "M653 662l27 -110c1 -4 3 -11 3 -15c0 -10 -8 -12 -13 -12s-9 2 -11 8c-2 3 -2 5 -6 22c-10 40 -14 51 -19 58c-5 9 -48 9 -59 9h-82c13 -57 40 -100 90 -174c47 -71 88 -140 88 -219c0 -137 -133 -251 -305 -251c-169 0 -304 112 -304 251c0 79 41 148 88 219\nc51 75 77 118 90 174h-82c-17 0 -54 0 -60 -10c-4 -8 -8 -18 -18 -59c-7 -27 -8 -28 -17 -28c-5 0 -13 2 -13 12c0 5 2 11 3 15l27 109c5 21 6 22 31 22h130c24 0 27 0 27 -20c0 -72 -33 -158 -55 -216c-26 -68 -54 -145 -54 -219c0 -151 105 -228 208 -228\nc98 0 207 74 207 228c0 74 -28 149 -55 221c-21 56 -54 143 -54 214c0 20 3 20 28 20h130c24 0 25 -1 30 -21z"
  5058. },
  5059. "&#x2136;": {
  5060. x: 778,
  5061. d: "M666 604v-500h40c11 -1 22 -7 22 -20c0 -10 -4 -14 -15 -24l-68 -68c-12 -12 -13 -12 -36 -12h-524c-17 0 -35 0 -35 20c0 8 1 9 17 25l67 68c12 11 13 11 37 11h455v449c0 18 0 25 -10 32c-14 11 -21 11 -61 11h-324c-79 0 -119 0 -119 121c0 34 0 46 20 46\nc14 0 17 -11 19 -16c12 -33 36 -33 57 -33h367c53 0 91 -15 91 -110z"
  5062. },
  5063. "&#x2137;": {
  5064. x: 507,
  5065. d: "M208 714h170c79 0 79 -53 79 -59c0 -12 -7 -46 -49 -57c2 -34 1 -64 4 -98c29 -351 29 -353 29 -425c0 -49 0 -58 -5 -75c-2 -7 -14 -42 -35 -42c-17 0 -20 15 -23 31c-4 22 -5 35 -7 49c-67 -66 -39 -40 -53 -52c-6 -5 -7 -6 -29 -6h-204c-17 0 -35 0 -35 20\nc0 8 1 9 17 25l67 68c12 11 13 11 37 11h197v492h-165c-79 0 -91 43 -91 121c0 34 0 46 20 46c14 0 17 -11 19 -16c12 -33 36 -33 57 -33z"
  5066. },
  5067. "&#x2138;": {
  5068. x: 668,
  5069. d: "M529 596h-388c-79 0 -91 43 -91 121c0 34 0 46 20 46c14 0 17 -11 19 -16c12 -33 36 -33 57 -33h393c79 0 79 -53 79 -59c0 -12 -7 -46 -49 -57c2 -34 1 -64 4 -98c29 -351 29 -353 29 -425c0 -49 0 -58 -5 -75c-2 -7 -14 -42 -35 -42c-18 0 -20 16 -27 54\nc-6 41 -6 72 -6 78v506z"
  5070. },
  5071. "&#xf0;": {
  5072. x: 571,
  5073. d: "M284 6c82 0 147 73 147 216c1 7 1 17 1 24c0 88 -50 189 -154 189c-21 0 -78 0 -119 -75c-23 -41 -23 -88 -23 -140c0 -60 0 -106 30 -151c31 -45 69 -63 118 -63zM320 615l-198 -84c-15 -7 -17 -7 -29 -7c-28 0 -28 5 -28 28v46c0 21 0 29 28 29s28 -10 28 -18v-48\nl171 74c-80 52 -164 55 -193 56c-9 0 -15 1 -15 13s6 12 20 12c58 0 137 -13 230 -63l109 47c17 7 23 10 35 10c28 0 28 -7 28 -29v-46c0 -22 0 -28 -28 -28s-28 8 -28 20v45c-29 -13 -58 -26 -87 -38c59 -41 94 -90 113 -123c45 -77 45 -145 45 -172\nc0 -269 -119 -361 -238 -361c-90 0 -136 42 -169 75c-64 66 -64 139 -64 166c0 67 16 120 75 178c48 47 99 60 152 60c106 0 147 -93 157 -117l1 1c0 164 -65 233 -115 274z"
  5074. },
  5075. "&#x210f;": {
  5076. x: 591,
  5077. d: "M242 519l-38 -153c57 69 117 76 148 76c69 0 115 -35 115 -108c0 -56 -45 -176 -62 -220c-6 -17 -17 -45 -17 -70c0 -21 6 -33 25 -33c27 0 72 22 101 124c5 15 5 18 15 18c3 0 12 0 12 -10c0 -6 -35 -154 -131 -154c-45 0 -82 31 -82 83c0 19 5 33 11 49\nc18 46 64 168 64 230c0 33 -10 69 -54 69c-100 0 -154 -105 -162 -122c-1 -3 -8 -34 -13 -50c-3 -15 -13 -53 -16 -68l-23 -89c-6 -25 -17 -70 -19 -75c-4 -13 -18 -27 -37 -27c-12 0 -29 6 -29 28c0 6 0 8 4 23l114 456c-9 -3 -69 -22 -74 -22c-1 0 -12 0 -12 12\nc0 9 7 11 17 15c16 5 55 16 77 23c12 49 26 108 26 111c0 10 -2 17 -50 17c-14 0 -24 0 -24 11c0 19 11 20 19 21c24 2 103 10 122 10c8 0 14 -3 14 -12l-34 -135l220 69c11 3 13 3 14 3c7 0 12 -5 12 -12c0 -9 -7 -11 -19 -15z"
  5078. },
  5079. "&#x2141;": {
  5080. x: 636,
  5081. d: "M224 269h-134v-206c0 -24 0 -33 53 -40c36 -5 83 -5 97 -5c47 0 142 0 225 97c61 72 81 155 81 227c0 166 -116 323 -287 323c-47 0 -107 -11 -160 -40c-8 -4 -15 -8 -21 -8c-11 0 -20 10 -20 20c0 14 11 19 30 28c59 28 116 40 171 40c192 0 327 -172 327 -364\nc0 -115 -49 -212 -104 -267c-96 -96 -188 -96 -242 -96c-190 0 -190 40 -190 81v215c0 32 4 35 35 35h139c17 0 36 0 36 -20s-19 -20 -36 -20z"
  5082. },
  5083. "&#x210e;": {
  5084. x: 591,
  5085. d: "M250 550l-46 -184c57 69 117 76 148 76c69 0 115 -35 115 -108c0 -56 -45 -176 -62 -220c-6 -17 -17 -45 -17 -70c0 -21 6 -33 25 -33c27 0 72 22 101 124c5 15 5 18 15 18c3 0 12 0 12 -10c0 -6 -35 -154 -131 -154c-45 0 -82 31 -82 83c0 19 5 33 11 49\nc18 46 64 168 64 230c0 33 -10 69 -54 69c-100 0 -154 -105 -162 -122c-1 -3 -8 -34 -13 -50c-3 -15 -13 -53 -16 -68l-23 -89c-6 -25 -17 -70 -19 -75c-4 -13 -18 -27 -37 -27c-12 0 -29 6 -29 28c0 6 0 8 4 23l128 510h-53c-19 0 -28 0 -28 12c0 13 11 13 31 13h56\nc5 20 14 53 14 60c0 10 -2 17 -50 17c-14 0 -24 0 -24 11c0 19 11 20 19 21c24 2 103 10 122 10c8 0 14 -3 14 -12c0 -2 -9 -37 -14 -55c-6 -25 -6 -27 -13 -52h185c19 0 31 0 31 -13c0 -12 -11 -12 -28 -12h-194z"
  5086. },
  5087. "&#x2202;": {
  5088. x: 615,
  5089. d: "M466 334h1c10 37 29 111 29 175c0 112 -56 182 -144 182c-27 0 -103 -7 -144 -81c13 0 44 0 44 -31c0 -17 -15 -49 -50 -49c-28 0 -34 22 -34 31c0 27 43 154 188 154c128 0 209 -111 209 -255c0 -137 -101 -481 -337 -481c-136 0 -178 115 -178 176\nc0 159 144 302 285 302c90 0 125 -67 131 -123zM231 6c154 0 219 224 219 298c0 54 -21 133 -112 133c-104 0 -161 -101 -174 -131c-15 -37 -43 -140 -43 -184c0 -42 16 -116 110 -116z"
  5090. },
  5091. "&#x2118;": {
  5092. x: 630,
  5093. d: "M139 121c13 -18 47 -62 61 -79c34 -46 43 -58 43 -94c0 -77 -64 -163 -130 -163c-47 0 -63 36 -63 77c0 31 14 116 49 216c-31 41 -42 56 -42 108c0 128 90 266 161 266c11 0 11 -7 11 -8c0 -10 -6 -11 -12 -12c-69 -14 -117 -143 -117 -218c0 -14 0 -46 24 -73\nc50 97 92 146 130 180c70 65 138 88 199 88c85 0 127 -73 127 -148c0 -136 -115 -271 -225 -271c-45 0 -88 27 -88 82c0 10 0 41 25 41c9 0 17 -6 17 -17c0 -9 -6 -19 -20 -22c0 -55 46 -64 66 -64c47 0 91 43 116 88c32 58 52 151 52 194c0 55 -22 97 -72 97\nc-133 0 -250 -126 -312 -268zM114 57c-14 -40 -42 -148 -42 -194c0 -38 13 -58 41 -58c42 0 86 57 86 115c0 14 -1 26 -12 42z"
  5094. },
  5095. "&#x214c;": {
  5096. x: 618,
  5097. d: "M368 463h147c18 0 33 0 33 -18c0 -14 -13 -16 -20 -17c-26 -4 -59 -23 -118 -73c-13 -11 -67 -60 -72 -65c7 -10 175 -224 200 -248c4 -5 6 -5 14 -7c3 -1 16 -4 16 -17c0 -18 -16 -18 -34 -18h-177c-18 0 -33 0 -33 18c0 16 17 17 31 18c9 1 4 3 12 4\nc-6 17 -6 19 -26 42c-21 28 -76 96 -97 123l-11 -9v-99c0 -19 1 -57 28 -62c4 -1 17 -3 17 -17c0 -18 -15 -18 -33 -18h-162c-18 0 -33 0 -33 18c0 9 7 15 15 17c14 2 31 6 31 79v457c0 34 -2 75 -28 79c-3 0 -18 3 -18 17c0 18 15 18 33 18h116c30 0 34 -1 34 -36v-403\nc22 20 77 68 98 88c22 19 41 37 41 66c0 2 0 25 -19 28c-4 0 -19 3 -19 17c0 18 16 18 34 18zM407 398l39 30h-44c4 -9 5 -21 5 -30zM131 573v-461c0 -28 -2 -55 -12 -77h90c-11 23 -11 48 -11 60v555h-79c10 -22 12 -49 12 -77zM270 228l115 -144c17 -25 17 -34 17 -49h93\nl-184 231z"
  5098. },
  5099. "&#x2132;": {
  5100. x: 543,
  5101. d: "M493 659v-624c0 -32 -4 -35 -35 -35h-373c-17 0 -35 0 -35 20s18 20 35 20h368v287h-218c-17 0 -35 0 -35 20s18 20 35 20h218v291c0 17 0 36 20 36s20 -18 20 -35z"
  5102. },
  5103. "&#x2201;": {
  5104. x: 488,
  5105. d: "M438 218v-96c0 -114 -119 -144 -194 -144c-74 0 -194 29 -194 144v581c0 114 119 144 194 144c74 0 194 -29 194 -144v-96c0 -13 0 -51 -40 -51s-40 41 -40 56v84c0 22 0 40 -38 57c-27 11 -55 14 -76 14c-23 0 -54 -3 -81 -16c-33 -17 -33 -33 -33 -55v-567\nc0 -22 0 -40 38 -57c27 -11 55 -14 76 -14c23 0 54 3 81 16c33 17 33 33 33 55v84c0 15 0 56 40 56s40 -38 40 -51z"
  5106. },
  5107. "&#x2113;": {
  5108. x: 481,
  5109. d: "M129 170v19c0 122 52 261 56 271c14 38 95 244 188 244c43 0 58 -35 58 -75c0 -177 -185 -368 -244 -429c-7 -8 -7 -50 -7 -60c0 -54 7 -132 61 -132c40 0 84 35 119 69c4 4 19 19 23 19c5 0 10 -6 10 -11c0 -9 -48 -50 -61 -60c-16 -12 -52 -37 -92 -37\nc-78 0 -103 87 -109 154c-8 -9 -65 -64 -70 -64c-7 0 -11 7 -11 11s16 19 79 81zM189 232c57 60 97 110 123 147c87 126 97 216 97 251c0 22 -2 54 -36 54c-20 0 -37 -17 -54 -44c-84 -140 -129 -402 -130 -408z"
  5110. },
  5111. "&#x24c8;": {
  5112. x: 986,
  5113. d: "M936 267c0 -246 -201 -443 -443 -443c-241 0 -443 197 -443 443c0 243 196 443 443 443s443 -201 443 -443zM493 -136c222 0 403 181 403 403c0 220 -178 403 -403 403s-403 -183 -403 -403c0 -222 181 -403 403 -403zM501 226c-92 21 -112 25 -142 55\nc-12 12 -44 45 -44 101c0 78 66 146 157 146c41 0 87 -12 125 -49c1 1 27 38 29 40c4 6 6 9 12 9c10 0 10 -7 10 -26v-132c0 -21 0 -26 -13 -26c-11 0 -11 6 -13 13c-4 32 -22 149 -149 149c-67 0 -107 -49 -107 -95c0 -30 16 -69 66 -89c6 -2 41 -10 62 -15\nc85 -20 101 -23 138 -61c0 -1 39 -41 39 -104c0 -79 -62 -156 -159 -156c-65 0 -117 23 -146 49c-1 -1 -27 -38 -29 -40c-4 -6 -6 -9 -12 -9c-10 0 -10 7 -10 26v131c0 21 0 27 13 27c3 0 11 -1 12 -9c1 -27 4 -76 49 -111c43 -35 97 -39 123 -39c69 0 108 54 108 104\nc0 44 -27 71 -32 75c-23 21 -33 23 -87 36z"
  5114. },
  5115. "(": {
  5116. x: 316,
  5117. d: "M266 -194c0 -4 -2 -6 -7 -6c-12 0 -94 73 -142 177c-60 129 -67 251 -67 323c0 96 14 204 64 315c49 110 134 184 145 184c4 0 7 -2 7 -5s-2 -5 -2 -6c-49 -50 -170 -177 -170 -489s123 -440 169 -487c3 -3 3 -5 3 -6z"
  5118. },
  5119. ")": {
  5120. x: 316,
  5121. d: "M266 299c0 -96 -14 -204 -64 -315c-49 -110 -134 -184 -145 -184c-3 0 -7 1 -7 6c0 2 1 3 2 5c49 50 170 177 170 489c0 311 -122 438 -170 488c-1 2 -2 3 -2 5c0 5 4 6 7 6c12 0 94 -73 142 -177c60 -129 67 -251 67 -323z"
  5122. },
  5123. "&#x393;": {
  5124. x: 591,
  5125. d: "M517 681l24 -221h-18c-15 125 -23 195 -175 195h-110c-40 0 -42 -5 -42 -39v-544c0 -36 2 -46 78 -46h22v-26c-41 2 -89 2 -130 2c-31 0 -87 0 -116 -2v26c69 0 80 0 80 45v539c0 45 -11 45 -80 45v26h467z"
  5126. },
  5127. "&#x394;": {
  5128. x: 797,
  5129. d: "M419 690l323 -673c1 -2 5 -11 5 -12c0 -4 -1 -5 -19 -5h-659c-18 0 -19 1 -19 5c0 1 4 10 5 12l324 674c7 14 8 16 20 16c8 0 12 0 20 -17zM374 631l-278 -575h555z"
  5130. },
  5131. "&#x395;": {
  5132. x: 656,
  5133. d: "M606 253l-36 -253h-520v26c69 0 80 0 80 45v539c0 45 -11 45 -80 45v26h506l24 -221h-18c-14 133 -32 195 -187 195h-137c-40 0 -42 -5 -42 -39v-249h94c94 0 103 34 103 117h18v-260h-18c0 83 -9 117 -103 117h-94v-276c0 -34 2 -39 42 -39h139c176 0 189 80 211 227h18\nz"
  5134. },
  5135. "&#x396;": {
  5136. x: 575,
  5137. d: "M520 663l-394 -635h174c191 0 198 102 207 233h18l-14 -261h-439c-20 0 -22 0 -22 13c0 7 0 8 7 19l387 625h-165c-162 0 -192 -81 -198 -195h-18l10 221h425c21 0 22 -1 22 -20z"
  5138. },
  5139. "&#x397;": {
  5140. x: 690,
  5141. d: "M560 612v-541c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v271h-298v-271c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26c29 -2 82 -2 113 -2s84 0 113 2v-26\nc-69 0 -80 0 -80 -45v-244h298v244c0 45 -11 45 -80 45v26c29 -2 82 -2 113 -2s84 0 113 2v-26c-69 0 -80 0 -80 -45z"
  5142. },
  5143. "&#x398;": {
  5144. x: 727,
  5145. d: "M677 340c0 -200 -143 -356 -314 -356c-167 0 -313 153 -313 356s144 359 314 359c166 0 313 -154 313 -359zM364 1c110 0 240 105 240 339c0 235 -128 343 -241 343c-109 0 -240 -105 -240 -343c0 -231 127 -339 241 -339zM551 404v-124h-18v34h-339v-34h-18v124h18v-34\nh339v34h18z"
  5146. },
  5147. "&#x399;": {
  5148. x: 334,
  5149. d: "M200 612v-541c0 -45 12 -45 84 -45v-26c-32 2 -83 2 -117 2s-85 0 -117 -2v26c72 0 84 0 84 45v541c0 45 -12 45 -84 45v26c32 -2 83 -2 117 -2s85 0 117 2v-26c-72 0 -84 0 -84 -45z"
  5150. },
  5151. "&#x39a;": {
  5152. x: 734,
  5153. d: "M368 419l223 -341c30 -46 45 -52 93 -52v-26c-23 2 -64 2 -88 2c-33 0 -79 0 -111 -2v26c13 0 41 0 41 26c0 10 -7 23 -13 33l-189 290l-128 -127v-177c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26\nc29 -2 82 -2 113 -2s84 0 113 2v-26c-69 0 -80 0 -80 -45v-339l332 333c4 6 8 17 8 24s-4 25 -30 27v26c26 -2 73 -2 100 -2c20 0 45 1 65 2v-26c-56 -2 -94 -30 -130 -65z"
  5154. },
  5155. "&#x39b;": {
  5156. x: 694,
  5157. d: "M363 690l207 -629c12 -35 30 -35 74 -35v-26c-23 2 -69 2 -94 2c-31 0 -82 0 -111 -2v26c21 0 63 0 63 28c0 3 0 5 -5 19l-174 528l-166 -505c-3 -10 -5 -16 -5 -23s3 -45 56 -47v-26c-24 2 -63 2 -88 2c-18 0 -53 -1 -70 -2v26c33 1 66 13 84 66l197 598\nc5 16 6 17 16 17s11 -1 16 -17z"
  5158. },
  5159. "&#x39c;": {
  5160. x: 843,
  5161. d: "M206 667l216 -586l216 586c6 15 7 16 28 16h127v-26c-69 0 -80 0 -80 -45v-541c0 -45 11 -45 80 -45v-26c-27 2 -82 2 -111 2s-83 0 -110 -2v26c69 0 80 0 80 45v587h-1l-237 -642c-4 -10 -6 -16 -14 -16s-10 6 -14 16l-235 637h-1v-555c0 -25 0 -72 80 -72v-26\nc-23 2 -65 2 -90 2s-67 0 -90 -2v26c80 0 80 47 80 72v514c0 45 -11 45 -80 45v26h128c21 0 22 -1 28 -16z"
  5162. },
  5163. "&#x39d;": {
  5164. x: 690,
  5165. d: "M204 671l336 -549v463c0 25 0 72 -80 72v26c23 -2 65 -2 90 -2s67 0 90 2v-26c-80 0 -80 -47 -80 -72v-563c0 -19 0 -22 -10 -22c-5 0 -8 0 -15 12l-371 607c-7 10 -7 12 -14 18v-539c0 -25 0 -72 80 -72v-26c-23 2 -65 2 -90 2s-67 0 -90 -2v26c80 0 80 47 80 72v553\nc-3 1 -21 6 -61 6h-19v26h127c19 0 20 -1 27 -12z"
  5166. },
  5167. "&#x39e;": {
  5168. x: 648,
  5169. d: "M586 680l1 -19c1 -29 4 -88 6 -119h-18c-1 19 -3 60 -10 76c-6 10 -51 10 -75 10h-332c-10 0 -67 0 -73 -9c-9 -12 -11 -59 -12 -77h-18l1 19c1 29 4 88 6 119h524zM57 0l-7 149h18c2 -40 4 -70 10 -84c6 -13 43 -13 79 -13h334c26 0 72 0 78 12c7 14 8 40 11 85h18\nl-7 -149h-534zM506 420v-132h-18v40h-328v-40h-18v132h18v-40h328v40h18z"
  5170. },
  5171. "&#x39f;": {
  5172. x: 727,
  5173. d: "M677 340c0 -200 -143 -356 -314 -356c-167 0 -313 153 -313 356s144 359 314 359c166 0 313 -154 313 -359zM364 2c110 0 237 110 237 351c0 233 -132 328 -238 328c-101 0 -237 -92 -237 -328c0 -237 124 -351 238 -351z"
  5174. },
  5175. "&#x3a0;": {
  5176. x: 690,
  5177. d: "M560 610v-539c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v584h-298v-584c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v539c0 45 -11 45 -80 45v26h590v-26c-69 0 -80 0 -80 -45z"
  5178. },
  5179. "&#x3a1;": {
  5180. x: 629,
  5181. d: "M196 321v-250c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26h306c131 0 223 -88 223 -183s-94 -179 -223 -179h-160zM194 342h143c122 0 166 67 166 158c0 83 -37 157 -166 157h-101c-40 0 -42 -5 -42 -39\nv-276z"
  5182. },
  5183. "&#x3a3;": {
  5184. x: 675,
  5185. d: "M327 329l-231 -295h276c162 0 219 33 235 195h18l-24 -229h-529c-15 0 -21 0 -21 7c0 2 0 3 7 12l223 286l-231 356c0 21 1 22 22 22h529l24 -221h-18c-17 159 -67 195 -233 195h-242l197 -303c1 -2 5 -8 5 -12c0 -3 0 -5 -7 -13z"
  5186. },
  5187. "&#x3a4;": {
  5188. x: 711,
  5189. d: "M644 680l17 -221h-18c-13 166 -28 195 -181 195c-18 0 -47 0 -55 -1c-18 -4 -18 -16 -18 -38v-542c0 -36 3 -47 86 -47h28v-26c-48 1 -98 2 -147 2s-99 -1 -147 -2v26h28c83 0 86 11 86 47v542c0 23 0 35 -19 38c-8 1 -37 1 -55 1c-154 0 -168 -29 -181 -195h-18l17 221\nh577z"
  5190. },
  5191. "&#x3a5;": {
  5192. x: 727,
  5193. d: "M397 353v-281c0 -36 2 -46 78 -46h22v-26c-42 2 -91 2 -133 2s-91 0 -133 -2v26h22c76 0 78 10 78 46v281c0 60 -10 289 -160 289c-32 0 -91 -17 -100 -91c-1 -8 -1 -11 -10 -11c-10 0 -11 3 -11 13c0 52 34 146 122 146c152 0 184 -193 192 -245h1c7 51 38 245 190 245\nc87 0 122 -93 122 -146c0 -10 -1 -13 -11 -13c-9 0 -9 3 -10 11c-9 73 -68 91 -100 91c-54 0 -98 -30 -126 -95c-27 -65 -33 -150 -33 -194z"
  5194. },
  5195. "&#x3a6;": {
  5196. x: 675,
  5197. d: "M368 129v-57c0 -36 2 -46 78 -46h22v-26c-41 2 -89 2 -131 2s-91 0 -132 -2v26h22c76 0 78 10 78 46v57c-153 14 -255 110 -255 213c0 99 98 198 255 212v57c0 36 -2 46 -78 46h-22v26c41 -2 90 -2 132 -2s90 0 131 2v-26h-22c-76 0 -78 -10 -78 -46v-57\nc158 -14 257 -112 257 -213c0 -97 -95 -198 -257 -212zM305 146v391c-87 -9 -181 -59 -181 -196c0 -133 91 -185 181 -195zM368 537v-391c75 7 183 49 183 196c0 143 -104 188 -183 195z"
  5198. },
  5199. "&#x3a7;": {
  5200. x: 766,
  5201. d: "M402 379l220 -320c20 -28 30 -33 94 -33v-26c-24 2 -74 2 -100 2c-33 0 -82 0 -114 -2v26c35 2 44 19 44 27c0 3 0 6 -8 17l-174 254l-160 -232c-5 -7 -10 -14 -10 -27c0 -16 9 -36 40 -39v-26c-25 2 -72 2 -99 2c-24 0 -62 0 -85 -2v26c19 0 84 1 127 63l174 253\nl-193 282c-22 31 -40 33 -95 33v26c24 -2 74 -2 100 -2c33 0 82 0 114 2v-26c-33 -1 -44 -18 -44 -27c0 -3 1 -6 8 -17l148 -216l132 191c7 10 12 18 12 30c0 16 -8 36 -40 39v26c25 -2 66 -2 99 -2c24 0 62 0 85 2v-26c-82 -1 -112 -44 -127 -65z"
  5202. },
  5203. "&#x3a8;": {
  5204. x: 726,
  5205. d: "M393 611v-464c118 25 146 148 147 254c1 103 22 155 88 155h26c17 0 22 0 22 -8c0 -6 -2 -6 -12 -8c-51 -10 -61 -75 -61 -121c0 -57 -2 -267 -210 -289v-58c0 -36 2 -46 78 -46h22v-26c-41 2 -89 2 -131 2s-91 0 -132 -2v26h22c76 0 78 10 78 46v58\nc-174 20 -207 173 -208 266c-1 134 -39 140 -67 145c-5 0 -5 6 -5 7c0 8 5 8 21 8h26c62 0 87 -49 88 -144c0 -52 2 -236 145 -265v464c0 36 -2 46 -78 46h-22v26c41 -2 90 -2 132 -2s90 0 131 2v-26h-22c-76 0 -78 -10 -78 -46z"
  5206. },
  5207. "&#x3a9;": {
  5208. x: 695,
  5209. d: "M645 146l-29 -146h-151c-21 0 -22 0 -22 16c0 70 36 161 52 202c37 91 64 160 64 237c0 146 -103 228 -212 228c-104 0 -211 -79 -211 -228c0 -78 30 -154 62 -232c17 -43 54 -136 54 -207c0 -15 -1 -16 -22 -16h-151l-29 146h18c10 -46 12 -59 18 -75\nc5 -14 8 -22 65 -22h81c-11 58 -35 101 -79 172c-49 79 -93 150 -93 233c0 134 125 245 288 245c159 0 287 -110 287 -245c0 -83 -43 -152 -95 -237c-42 -67 -66 -110 -77 -168h81c58 0 61 8 66 23c5 16 8 28 17 74h18z"
  5210. },
  5211. "&#x391;": {
  5212. x: 746,
  5213. d: "M390 691l222 -628c13 -37 31 -37 84 -37v-26c-24 2 -74 2 -100 2c-31 0 -83 0 -112 -2v26c19 0 62 0 62 27c0 4 0 6 -5 18l-60 170h-262l-53 -149c-2 -6 -4 -11 -4 -20c0 -12 7 -44 54 -46v-26c-24 2 -64 2 -89 2c-19 0 -59 0 -77 -2v26c35 0 75 11 94 65l212 600\nc5 13 7 16 17 16s12 -3 17 -16zM350 611l-122 -344h244z"
  5214. },
  5215. "&#x392;": {
  5216. x: 655,
  5217. d: "M50 683h318c129 0 211 -85 211 -168c0 -76 -67 -140 -163 -159c107 -7 189 -84 189 -174c0 -91 -83 -182 -211 -182h-344v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26zM193 363h144c108 0 169 76 169 152c0 62 -44 142 -143 142h-128c-40 0 -42 -5 -42 -39v-255z\nM235 26h130c109 0 166 84 166 157s-50 164 -153 164h-185v-282c0 -34 2 -39 42 -39z"
  5218. },
  5219. "#": {
  5220. x: 779,
  5221. d: "M489 143l-80 -316c-2 -8 -5 -22 -19 -22c-10 0 -18 8 -18 18c0 3 1 8 4 18l77 302h-181l-80 -316c-2 -8 -5 -22 -19 -22c-10 0 -18 8 -18 18c0 3 1 8 4 18l77 302h-152c-17 0 -34 0 -34 18c0 17 15 17 30 17h166l34 143h-200c-15 0 -30 0 -30 17c0 18 17 18 34 18h206\nl80 316c2 8 5 22 19 22c10 0 18 -8 18 -18c0 -3 -1 -8 -4 -18l-77 -302h181l80 316c2 8 5 22 19 22c10 0 18 -8 18 -18c0 -3 -1 -8 -4 -18l-77 -302h152c17 0 34 0 34 -18c0 -17 -15 -17 -30 -17h-166l-34 -143h200c15 0 30 0 30 -17c0 -18 -17 -18 -34 -18h-206zM282 178\nh181l34 143h-181z"
  5222. },
  5223. "!": {
  5224. x: 182,
  5225. d: "M132 670l-31 -483c-1 -13 -1 -18 -10 -18s-9 5 -10 18l-31 483c0 29 24 40 41 40s41 -11 41 -40zM132 41c0 -23 -19 -41 -41 -41c-23 0 -41 19 -41 41c0 23 19 41 41 41c23 0 41 -19 41 -41z"
  5226. },
  5227. $: {
  5228. x: 466,
  5229. d: "M246 676v-285c45 -11 84 -21 121 -64c45 -53 49 -110 49 -136c0 -99 -66 -189 -170 -198v-48h-26v47c-109 6 -170 86 -170 186c0 33 19 41 36 41c13 0 36 -8 36 -36c0 -25 -19 -36 -36 -36c-5 0 -12 1 -16 3c18 -101 95 -129 150 -132v312c-58 16 -85 23 -122 62\nc-16 18 -48 60 -48 126c0 95 71 175 170 184v47h26v-47c120 -7 170 -90 170 -172c0 -29 -15 -41 -36 -41c-17 0 -36 11 -36 36c0 28 23 36 36 36c5 0 11 -1 15 -3c-19 93 -94 115 -149 118zM220 399v276c-85 -8 -130 -77 -130 -137c0 -37 15 -69 39 -95\nc28 -29 64 -38 91 -44zM246 323v-304c81 8 130 81 130 151c0 53 -26 90 -40 106c-29 31 -58 40 -90 47z"
  5230. },
  5231. "%": {
  5232. x: 779,
  5233. d: "M729 146c0 -117 -57 -201 -124 -201c-69 0 -137 79 -137 201s69 201 137 201c67 0 124 -85 124 -201zM606 -39c55 0 105 79 105 185s-50 185 -105 185c-26 0 -91 -23 -91 -185c0 -161 65 -185 91 -185zM642 714l-476 -753c-7 -11 -10 -16 -19 -16s-18 7 -18 18\nc0 3 0 5 9 19l432 684l-1 1c-25 -17 -71 -41 -135 -41c-26 0 -86 5 -147 44c3 -6 24 -53 24 -122c0 -117 -57 -201 -124 -201c-69 0 -137 79 -137 201s69 201 137 201c34 0 53 -19 66 -31c19 -18 80 -76 180 -76c41 0 121 9 179 92c7 8 11 15 21 15c8 0 17 -6 17 -18\nc0 -5 -1 -6 -8 -17zM188 363c55 0 105 79 105 185s-50 185 -105 185c-26 0 -91 -23 -91 -185c0 -161 65 -185 91 -185z"
  5234. },
  5235. "&#x26;": {
  5236. x: 745,
  5237. d: "M84 214l124 144c-30 87 -38 150 -38 201c0 97 61 151 120 151c65 0 78 -82 78 -122c0 -32 -11 -77 -114 -201c49 -129 148 -256 163 -275c35 39 70 98 85 124c43 72 66 111 66 127c0 27 -27 41 -60 41v26c29 -2 76 -2 106 -2c20 0 62 0 81 2v-26c-50 -1 -73 -18 -87 -30\nc-15 -13 -43 -63 -62 -96c-66 -119 -98 -158 -117 -181c24 -28 73 -87 132 -87c44 0 109 33 111 111h18c-2 -83 -62 -137 -133 -137c-80 0 -135 52 -162 77c-20 -19 -80 -77 -174 -77s-171 62 -171 144c0 33 12 61 34 86zM248 406c84 98 102 148 102 183\nc0 15 -3 105 -59 105c-32 0 -73 -28 -73 -116c0 -54 11 -120 30 -172zM215 341l-62 -71c-26 -30 -39 -71 -39 -112c0 -65 35 -148 116 -148c49 0 103 19 152 65c-47 54 -118 155 -167 266z"
  5238. },
  5239. "&#x2220;": {
  5240. x: 709,
  5241. d: "M648 653l-534 -613h510c17 0 35 0 35 -20s-18 -20 -35 -20h-538c-17 0 -36 0 -36 20c0 8 3 11 12 21l555 639c10 11 16 14 22 14c11 0 20 -9 20 -20c0 -4 0 -9 -11 -21z"
  5242. },
  5243. "&#x2032;": {
  5244. x: 333,
  5245. d: "M274 475l-177 -414c-6 -13 -7 -16 -13 -16c-8 0 -34 7 -34 18c0 1 4 12 4 14l119 437c7 26 25 45 53 45c31 0 57 -24 57 -53c0 -10 -4 -19 -9 -31z"
  5246. },
  5247. "&#x2035;": {
  5248. x: 333,
  5249. d: "M160 511l119 -434c0 -2 4 -13 4 -14c0 -8 -4 -9 -14 -13c-16 -5 -18 -5 -20 -5c-6 0 -7 2 -13 16l-179 417c-7 16 -7 28 -7 29c0 30 28 52 56 52c34 0 47 -23 54 -48z"
  5250. },
  5251. "&#x2605;": {
  5252. x: 944,
  5253. d: "M881 369l-239 -174l92 -281c1 -3 3 -10 3 -14c0 -1 0 -11 -11 -11c-5 0 -12 5 -15 9l-239 173l-239 -173c-11 -9 -13 -9 -15 -9c-11 0 -11 10 -11 11s4 13 4 14l91 281l-240 174c-9 7 -12 9 -12 15c0 11 9 11 28 11h289l90 278c4 13 7 20 15 20s9 -4 14 -18l91 -280h289\nc19 0 28 0 28 -11c0 -4 -1 -5 -13 -15z"
  5254. },
  5255. "&#x25c6;": {
  5256. x: 654,
  5257. d: "M595 272l-246 -388c-6 -9 -11 -17 -22 -17s-16 8 -22 17l-248 390c0 1 -7 11 -7 17c0 5 0 7 9 20l246 388c6 9 11 17 22 17s16 -8 22 -17l248 -390c0 -1 7 -11 7 -17c0 -5 0 -7 -9 -20z"
  5258. },
  5259. "&#x25a0;": {
  5260. x: 765,
  5261. d: "M715 652v-617c0 -32 -3 -35 -36 -35h-593c-33 0 -36 4 -36 36v616c0 32 4 35 35 35h595c32 0 35 -4 35 -35z"
  5262. },
  5263. "&#x25b2;": {
  5264. x: 653,
  5265. d: "M348 556l250 -540c4 -8 5 -12 5 -16c0 -20 -19 -20 -35 -20h-483c-16 0 -35 0 -35 20c0 4 0 6 6 18l248 538c8 18 16 20 23 20c12 0 15 -8 21 -20z"
  5266. },
  5267. "&#x25bc;": {
  5268. x: 653,
  5269. d: "M597 538l-255 -552c-4 -4 -9 -6 -15 -6c-7 0 -15 2 -23 20l-249 540c-4 8 -5 12 -5 16c0 20 19 20 35 20h483c16 0 35 0 35 -20c0 -4 0 -6 -6 -18z"
  5270. },
  5271. "&#x22a4;": {
  5272. x: 768,
  5273. d: "M404 628v-592c0 -18 0 -36 -20 -36s-20 21 -20 36v592h-278c-15 0 -36 0 -36 20s21 20 36 20h597c17 0 35 0 35 -20s-18 -20 -35 -20h-279z"
  5274. },
  5275. "&#x22a5;": {
  5276. x: 768,
  5277. d: "M404 632v-592h279c17 0 35 0 35 -20s-18 -20 -35 -20h-597c-15 0 -36 0 -36 20s21 20 36 20h278v592c0 15 0 36 20 36s20 -18 20 -36z"
  5278. },
  5279. "&#x2663;": {
  5280. x: 822,
  5281. d: "M424 -130h-26c-17 0 -35 0 -35 20c0 2 0 4 3 12c15 53 24 102 25 168h-50c-4 -83 -94 -92 -120 -92c-97 0 -171 89 -171 196c0 97 52 194 146 194c36 0 68 -14 92 -43l22 46c-50 40 -76 100 -76 161c0 104 76 195 177 195s177 -90 177 -195c0 -61 -25 -120 -76 -161\nl22 -46c24 29 56 43 92 43c94 0 146 -97 146 -194c0 -107 -75 -196 -171 -196c-27 0 -116 9 -120 92h-50c0 -50 7 -105 24 -164c4 -11 4 -13 4 -16c0 -20 -18 -20 -35 -20z"
  5282. },
  5283. "&#x2660;": {
  5284. x: 768,
  5285. d: "M397 -130h-26c-17 0 -35 0 -35 20c0 2 0 4 3 12c15 53 24 102 25 168h-50c-3 -82 -99 -92 -130 -92c-118 0 -134 150 -134 225c0 114 65 195 182 299c76 67 114 162 132 208c2 6 6 17 20 17c8 0 16 -5 18 -13c25 -61 59 -146 135 -214c113 -100 181 -180 181 -297\nc0 -65 -12 -225 -134 -225c-18 0 -127 4 -130 92h-50c0 -50 7 -105 24 -164c4 -11 4 -13 4 -16c0 -20 -18 -20 -35 -20z"
  5286. },
  5287. "&#x2662;": {
  5288. x: 768,
  5289. d: "M55 295l24 23c137 128 230 282 282 387c8 16 11 22 23 22s17 -9 19 -14c89 -182 206 -324 298 -406c13 -13 17 -16 17 -25s-4 -13 -14 -22c-137 -123 -238 -282 -297 -401c-8 -16 -11 -22 -23 -22s-17 9 -19 14c-56 114 -154 274 -298 406c-11 11 -17 16 -17 25\nc0 5 3 10 5 13zM384 -98c31 57 100 184 214 308c22 25 47 52 70 72c-22 20 -46 45 -67 69c-108 116 -173 229 -217 311c-31 -57 -100 -184 -214 -308c-22 -25 -47 -52 -70 -72c22 -20 46 -45 67 -69c108 -116 173 -229 217 -311z"
  5290. },
  5291. "&#x2661;": {
  5292. x: 768,
  5293. d: "M384 605c21 44 76 111 167 111c115 0 167 -98 167 -227c0 -150 -109 -255 -218 -359c-31 -29 -62 -61 -96 -146c-2 -6 -6 -17 -20 -17c-13 0 -17 9 -22 22c-18 46 -37 79 -65 112c-8 10 -41 41 -63 61c-146 139 -184 234 -184 327c0 125 50 227 167 227\nc91 0 147 -68 167 -111zM384 39c32 67 61 94 125 154c154 145 169 236 169 296c0 13 0 78 -27 130c-23 43 -62 57 -100 57c-46 0 -124 -27 -146 -139c-2 -9 -5 -23 -21 -23c-2 0 -16 1 -20 20c-26 130 -119 142 -147 142c-113 0 -127 -123 -127 -187c0 -85 35 -176 208 -331\nc43 -39 73 -91 86 -119z"
  5294. },
  5295. "&#x2203;": {
  5296. x: 545,
  5297. d: "M495 658v-622c0 -33 -3 -36 -35 -36h-375c-17 0 -35 0 -35 20s18 20 35 20h370v287h-356c-17 0 -35 0 -35 20s18 20 35 20h356v287h-370c-17 0 -35 0 -35 20s18 20 35 20h375c32 0 35 -3 35 -36z"
  5298. },
  5299. "&#x2204;": {
  5300. x: 543,
  5301. d: "M398 819l-28 -125h88c32 0 35 -4 35 -35v-624c0 -32 -4 -35 -35 -35h-244c-15 -70 -17 -77 -32 -142c-2 -10 -5 -24 -21 -24c-5 0 -20 3 -20 20c0 4 10 48 15 72c11 45 6 28 17 74h-88c-17 0 -35 0 -35 20s18 20 35 20h97l64 287h-147c-17 0 -35 0 -35 20s18 20 35 20\nh156l65 287h-235c-17 0 -35 0 -35 20s18 20 35 20h244l31 140c2 10 6 26 22 26c5 0 20 -3 20 -20c0 -4 -1 -7 -4 -21zM297 367h156v287h-92zM223 40h230v287h-165z"
  5302. },
  5303. "&#x266d;": {
  5304. x: 372,
  5305. d: "M72 724v-310c27 30 74 45 117 45c71 0 133 -57 133 -138c0 -127 -95 -222 -178 -286c-16 -12 -72 -56 -83 -56s-11 6 -11 26v718c0 18 0 27 11 27s11 -6 11 -26zM72 344v-332c48 43 176 159 176 309c0 23 -5 105 -70 105c-21 0 -54 -5 -77 -21c-29 -19 -29 -38 -29 -61z\n"
  5306. },
  5307. "&#x266e;": {
  5308. x: 320,
  5309. d: "M270 479v-668c0 -18 0 -27 -12 -27c-10 0 -10 7 -10 26v185l-171 -63c-14 -6 -16 -6 -17 -6c-10 0 -10 7 -10 26v746c0 17 0 27 12 27c10 0 10 -9 10 -26v-263l171 63c14 6 16 6 17 6c10 0 10 -7 10 -26zM72 5l176 65v356l-176 -65v-356z"
  5310. },
  5311. "&#x266f;": {
  5312. x: 372,
  5313. d: "M256 -17l-140 -41v-131c0 -19 0 -26 -12 -26c-10 0 -10 9 -10 26v125c-7 -2 -29 -10 -34 -10c-10 0 -10 7 -10 26v21c0 22 0 24 13 29c2 0 27 7 31 8v357c-7 -2 -29 -10 -34 -10c-10 0 -10 7 -10 26v21c0 22 0 24 13 29c2 0 27 7 31 8v200c0 19 0 27 12 27\nc10 0 10 -7 10 -26v-194l140 41v200c0 19 0 26 12 26c10 0 10 -9 10 -26v-194c7 2 29 10 34 10c10 0 10 -7 10 -26v-22c0 -22 -1 -23 -13 -28c-26 -8 -5 -1 -31 -8v-357c7 2 29 10 34 10c10 0 10 -7 10 -26v-22c0 -22 -1 -23 -13 -28c-26 -8 -5 -1 -31 -8v-131\nc0 -19 0 -27 -12 -27c-10 0 -10 7 -10 26v125zM256 414l-140 -41v-356l140 41v356z"
  5314. },
  5315. "&#x2200;": {
  5316. x: 656,
  5317. d: "M601 656l-251 -657c-4 -10 -8 -21 -22 -21c-13 0 -18 9 -23 23l-249 655c-6 14 -6 16 -6 18c0 10 10 20 20 20c13 0 18 -9 23 -23l83 -220h304l83 220c4 11 10 23 23 23c12 0 20 -10 20 -20c0 -5 0 -7 -5 -18zM192 411l136 -356l136 356h-272z"
  5318. },
  5319. "&#x221e;": {
  5320. x: 989,
  5321. d: "M503 271c49 80 132 171 247 171s189 -111 189 -226c0 -117 -76 -227 -193 -227c-51 0 -107 18 -163 63c-31 25 -43 40 -97 108c-49 -80 -132 -171 -247 -171s-189 111 -189 226c0 117 76 227 193 227c51 0 107 -18 163 -63c31 -25 43 -40 97 -108zM529 237\nc61 -79 84 -110 109 -137c21 -21 66 -63 124 -63c88 0 155 81 155 179c0 90 -54 194 -160 194c-113 0 -187 -101 -228 -173zM460 194c-61 79 -84 110 -109 137c-21 21 -66 63 -124 63c-88 0 -155 -81 -155 -179c0 -90 54 -194 160 -194c113 0 187 101 228 173z"
  5322. },
  5323. "&#x2221;": {
  5324. x: 709,
  5325. d: "M648 673l-325 -385c62 -75 96 -153 106 -248h195c17 0 35 0 35 -20s-18 -20 -35 -20h-193c-2 -17 -15 -20 -20 -20c-7 0 -18 4 -20 20h-305c-17 0 -36 0 -36 20c0 7 2 9 12 21l555 659c10 12 17 14 22 14c11 0 20 -9 20 -20c0 -4 0 -8 -11 -21zM113 40h276\nc-4 42 -23 137 -93 216z"
  5326. },
  5327. "&#x2207;": {
  5328. x: 838,
  5329. d: "M783 661l-337 -675c-7 -13 -10 -19 -27 -19s-20 6 -27 19l-337 675c-2 3 -5 10 -5 14c0 7 1 8 24 8h690c23 0 24 -1 24 -8c0 -4 -3 -11 -5 -14zM174 611l275 -550l274 550h-549z"
  5330. },
  5331. "&#xac;": {
  5332. x: 656,
  5333. d: "M606 320v-195c0 -18 0 -36 -20 -36s-20 18 -20 36v191h-481c-17 0 -35 0 -35 20s18 20 35 20h486c32 0 35 -3 35 -36z"
  5334. },
  5335. "&#x2222;": {
  5336. x: 709,
  5337. d: "M638 508l-118 -58c28 -63 42 -131 42 -200s-14 -137 -42 -200l116 -58c16 -7 23 -11 23 -23s-9 -20 -20 -20c-3 0 -5 0 -18 7l-551 272c-12 6 -20 10 -20 22s9 17 19 22l552 272c13 7 15 7 18 7c11 0 20 -8 20 -20s-9 -17 -21 -23zM115 250l369 -182c26 61 38 120 38 182\nc0 57 -10 117 -38 182z"
  5338. },
  5339. "&#x221a;": {
  5340. x: 880,
  5341. d: "M366 -95l421 874c8 16 15 21 23 21c12 0 20 -10 20 -20c0 -2 0 -6 -7 -20l-454 -940c-7 -14 -10 -20 -25 -20c-9 0 -14 0 -21 16l-197 433c-11 -8 -26 -19 -32 -24c-11 -8 -28 -22 -34 -22c-7 0 -10 6 -10 11c0 3 0 6 13 16l95 72c11 8 16 8 17 8c3 0 8 0 15 -16z"
  5342. },
  5343. "&#x25b3;": {
  5344. x: 870,
  5345. d: "M457 697l357 -661c4 -8 6 -11 6 -16c0 -20 -18 -20 -35 -20h-699c-15 0 -36 0 -36 20c0 4 0 6 8 19l355 657c8 16 11 20 22 20c12 0 15 -7 22 -19zM435 654l-332 -614h664z"
  5346. },
  5347. "&#x25bd;": {
  5348. x: 870,
  5349. d: "M812 461l-355 -657c-8 -16 -11 -20 -22 -20c-12 0 -15 7 -22 19l-356 660c-6 12 -7 12 -7 17c0 20 21 20 36 20h699c17 0 35 0 35 -20c0 -4 0 -6 -8 -19zM103 460l331 -613h2l331 613h-664z"
  5350. },
  5351. "&#x2205;": {
  5352. x: 765,
  5353. d: "M701 543l-73 -64c-4 -4 -10 -9 -11 -10c19 -27 59 -85 59 -178c0 -155 -124 -293 -294 -293c-124 0 -198 75 -207 85l-78 -68c-18 -17 -20 -17 -27 -17c-12 0 -20 8 -20 20c0 9 2 11 22 29c59 51 60 52 76 67c-20 29 -59 84 -59 178c0 166 134 293 294 293\nc112 0 186 -63 207 -85l77 67c18 16 21 18 28 18c2 0 20 -1 20 -20c0 -4 0 -10 -14 -22zM178 140l381 333c-10 11 -70 72 -177 72c-138 0 -253 -110 -253 -254c0 -22 0 -82 49 -151zM586 443l-380 -333c10 -11 70 -72 177 -72c138 0 253 110 253 254c0 57 -17 107 -50 151z\n"
  5354. },
  5355. "&#xf8;": {
  5356. x: 505,
  5357. d: "M391 752l-23 -84c87 -83 87 -249 87 -323c0 -72 -3 -155 -29 -225c-18 -48 -62 -142 -174 -142c-27 0 -57 8 -81 21c-11 -40 -1 -5 -13 -45c-6 -22 -9 -32 -24 -32c-12 0 -20 9 -20 20c0 3 0 5 23 82c-87 78 -87 258 -87 321c0 93 5 183 44 264c37 77 102 107 159 107\nc37 0 69 -15 81 -21c11 40 1 5 13 45c6 21 9 32 24 32c12 0 20 -9 20 -20zM150 70l175 596c-26 22 -52 28 -72 28c-45 0 -103 -30 -122 -123c-14 -64 -14 -133 -14 -214c0 -95 0 -218 33 -287zM355 626l-174 -597c24 -21 48 -29 71 -29c53 0 106 38 124 143\nc12 67 12 141 12 214c0 95 0 211 -33 269z"
  5358. },
  5359. "&#x25c7;": {
  5360. x: 654,
  5361. d: "M595 272l-246 -388c-6 -9 -11 -17 -22 -17s-16 8 -22 17l-248 390c0 1 -7 11 -7 17c0 5 0 7 9 20l246 388c6 9 11 17 22 17s16 -8 22 -17l248 -390c0 -1 7 -11 7 -17c0 -5 0 -7 -9 -20zM94 291l232 -366h2l232 367l-233 367z"
  5362. },
  5363. "&#x25c0;": {
  5364. x: 711,
  5365. d: "M70 272l553 261c8 4 14 6 18 6c6 0 11 -2 14 -6s5 -8 5 -12s1 -10 1 -17v-509c0 -7 -1 -13 -1 -17s-2 -8 -5 -12s-8 -6 -14 -6c-3 0 -9 2 -18 7l-553 260c-13 6 -20 13 -20 22s7 17 20 23z"
  5366. },
  5367. "&#x25b8;": {
  5368. x: 711,
  5369. d: "M641 227l-553 -260c-9 -5 -15 -7 -18 -7c-6 0 -11 2 -14 6s-6 8 -6 12v17v508v18s3 8 6 12s8 6 15 6c3 0 8 -2 17 -7l553 -260c13 -6 20 -14 20 -23s-7 -16 -20 -22z"
  5370. },
  5371. "[": {
  5372. x: 229,
  5373. d: "M179 -249h-129v998h129v-35h-94v-928h94v-35z"
  5374. },
  5375. "]": {
  5376. x: 229,
  5377. d: "M179 749v-998h-129v35h94v928h-94v35h129z"
  5378. },
  5379. "{": {
  5380. x: 455,
  5381. d: "M261 617v-240c0 -58 -36 -104 -118 -127c28 -8 57 -18 78 -39c32 -32 40 -49 40 -95v-210c0 -36 0 -38 3 -47c13 -51 62 -83 125 -87c10 -1 16 -1 16 -11c0 -11 -8 -11 -19 -11c-39 0 -105 11 -144 41c-48 38 -48 70 -48 112v198c0 36 0 38 -3 49c-11 49 -59 85 -125 89\nc-10 1 -16 1 -16 11c0 6 4 10 9 11c22 1 60 3 95 32c40 33 40 65 40 104v228c1 74 92 125 192 125c11 0 19 0 19 -11c0 -6 -4 -10 -9 -11c-109 -7 -135 -71 -135 -111z"
  5382. },
  5383. "}": {
  5384. x: 455,
  5385. d: "M194 -117v240c0 58 36 104 118 127c-28 8 -57 18 -78 39c-32 32 -40 49 -40 95v210c0 36 0 38 -3 47c-13 51 -62 83 -125 87c-10 1 -16 1 -16 11c0 11 11 11 20 11c34 0 103 -10 143 -41c48 -38 48 -70 48 -112v-198c0 -36 0 -38 3 -49c11 -49 59 -85 125 -89\nc10 -1 16 -1 16 -11c0 -6 -4 -10 -9 -11c-22 -1 -60 -3 -95 -32c-40 -33 -40 -65 -40 -104v-228c-1 -76 -94 -125 -191 -125c-9 0 -20 0 -20 11c0 6 4 10 9 11c109 7 135 71 135 111z"
  5386. },
  5387. "&#x3008;": {
  5388. x: 323,
  5389. d: "M268 712l-177 -462l177 -464c5 -11 5 -13 5 -16c0 -11 -9 -20 -20 -20c-14 0 -19 13 -23 24l-175 459c-5 12 -5 14 -5 17c0 6 3 12 5 18l175 459c7 18 14 23 23 23c11 0 20 -9 20 -20c0 -5 0 -7 -5 -18z"
  5390. },
  5391. "&#x3009;": {
  5392. x: 323,
  5393. d: "M268 233l-177 -463c-4 -10 -8 -20 -21 -20c-11 0 -20 9 -20 20c0 5 0 7 5 18l177 462l-177 464c-5 11 -5 13 -5 16c0 11 9 20 20 20s17 -6 23 -23l175 -460c5 -12 5 -14 5 -17s0 -5 -5 -17z"
  5394. },
  5395. "&#x3f0;": {
  5396. x: 756,
  5397. d: "M519 270l-382 -254c-11 -7 -31 -21 -55 -21c-3 0 -32 1 -32 26c0 15 8 20 25 32l66 44c35 22 35 23 40 26c28 19 98 170 98 224c0 3 0 12 -3 18c-68 0 -115 -23 -123 -41c-4 -7 -6 -12 -14 -12s-12 6 -12 12c0 32 65 108 155 108c28 0 28 -21 28 -45\nc0 -74 -45 -178 -74 -227l383 255c12 8 31 21 55 21c10 0 32 -5 32 -26c0 -10 -6 -16 -7 -18c-5 -5 -61 -42 -99 -68c-31 -21 -32 -22 -52 -52c-49 -78 -72 -172 -72 -188c0 -7 2 -13 4 -18c68 1 113 21 124 41c3 8 5 12 13 12c4 0 12 -2 12 -12c0 -34 -67 -108 -155 -108\nc-16 0 -29 4 -29 45c0 26 10 111 74 226z"
  5398. },
  5399. ",": {
  5400. x: 208,
  5401. d: "M158 -4c0 -35 -7 -67 -20 -98s-27 -54 -40 -69s-21 -22 -25 -22c-7 0 -10 3 -10 10c0 3 4 8 11 16c43 48 64 102 64 163c0 13 -1 19 -2 19s-3 -1 -4 -2c-9 -9 -20 -13 -33 -13c-16 0 -29 5 -37 15s-12 21 -12 34c0 12 4 23 13 33s20 15 35 15c20 0 35 -9 45 -27\ns15 -43 15 -74z"
  5402. },
  5403. ".": {
  5404. x: 197,
  5405. d: "M147 48c0 -13 -5 -24 -14 -34s-21 -14 -35 -14c-13 0 -24 5 -34 14s-14 21 -14 35c0 13 5 23 14 33s21 15 35 15c13 0 23 -5 33 -14s15 -21 15 -35z"
  5406. },
  5407. "/": {
  5408. x: 481,
  5409. d: "M425 713l-335 -941c-5 -15 -12 -22 -22 -22c-5 0 -8 2 -12 6s-6 8 -6 13c0 1 1 4 3 9l3 9l335 941c5 15 13 22 22 22c5 0 9 -2 13 -6s5 -8 5 -13c0 -1 -1 -4 -3 -9z"
  5410. },
  5411. ":": {
  5412. x: 182,
  5413. d: "M132 389c0 -12 -4 -21 -12 -29s-18 -12 -29 -12s-21 4 -29 12s-12 17 -12 29s4 21 12 29s18 12 29 12s21 -4 29 -12s12 -17 12 -29zM132 41c0 -12 -4 -21 -12 -29s-18 -12 -29 -12s-21 4 -29 12s-12 17 -12 29s4 21 12 29s18 12 29 12s21 -4 29 -12s12 -17 12 -29z"
  5414. },
  5415. ";": {
  5416. x: 185,
  5417. d: "M132 389c0 -12 -4 -21 -12 -29s-18 -12 -29 -12s-21 4 -29 12s-12 17 -12 29s4 21 12 29s18 12 29 12s21 -4 29 -12s12 -17 12 -29zM119 -11v21c-7 -7 -16 -10 -28 -10c-11 0 -21 4 -29 11s-12 17 -12 30s4 23 12 30s18 11 29 11c29 0 44 -30 44 -91\nc0 -35 -6 -67 -17 -98s-22 -53 -32 -67s-16 -20 -19 -20c-5 0 -8 3 -8 9c0 2 2 5 6 10c36 51 54 105 54 164z"
  5418. },
  5419. "?": {
  5420. x: 439,
  5421. d: "M215 225v-35c0 -7 -1 -12 -1 -14s-1 -4 -2 -5s-3 -2 -6 -2c-4 0 -7 1 -8 3s-1 9 -1 18v39c0 94 30 173 90 238c8 9 15 16 19 22s8 17 12 31s7 30 7 49c0 11 0 20 -1 27s-3 18 -7 30s-9 22 -17 30s-20 15 -36 21s-34 9 -56 9c-29 0 -57 -7 -82 -22s-42 -37 -52 -66\nc4 1 8 2 12 2c9 0 18 -4 25 -10s11 -15 11 -26c0 -13 -4 -22 -12 -28s-16 -8 -24 -8c-3 0 -7 0 -11 1s-9 4 -15 11s-10 16 -10 27c0 35 14 67 44 94s69 41 116 41c57 0 101 -13 132 -38s47 -58 47 -100c0 -43 -18 -78 -54 -105c-37 -29 -67 -65 -88 -105s-32 -83 -32 -129z\nM247 41c0 -11 -4 -21 -12 -29s-18 -12 -29 -12s-21 4 -29 12s-12 18 -12 29s4 21 12 29s18 12 29 12s21 -4 29 -12s12 -18 12 -29z"
  5422. },
  5423. "\\": {
  5424. x: 489,
  5425. d: "M396 -226l-341 940c-3 8 -5 13 -5 16c0 5 2 10 6 14s9 6 14 6c6 0 10 -2 13 -5s6 -10 9 -19l342 -940c3 -8 5 -13 5 -16c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-9 0 -17 8 -23 24z"
  5426. },
  5427. "&#x22ee;": {
  5428. x: 216,
  5429. d: "M107 674c31 0 59 -28 59 -58c0 -31 -28 -58 -60 -58c-29 0 -56 28 -56 58s27 58 57 58zM107 329c31 0 59 -28 59 -58c0 -31 -28 -58 -60 -58c-29 0 -56 28 -56 58s27 58 57 58zM107 -26c31 0 59 -28 59 -58c0 -31 -28 -58 -60 -58c-29 0 -56 28 -56 58s27 58 57 58z"
  5430. },
  5431. "&#x22ef;": {
  5432. x: 882,
  5433. d: "M440 329c31 0 59 -28 59 -58c0 -31 -28 -58 -60 -58c-29 0 -56 28 -56 58s27 58 57 58zM107 329c31 0 59 -28 59 -58c0 -31 -28 -58 -60 -58c-29 0 -56 28 -56 58s27 58 57 58zM773 329c31 0 59 -28 59 -58c0 -31 -28 -58 -60 -58c-29 0 -56 28 -56 58s27 58 57 58z"
  5434. },
  5435. "&#x22f0;": {
  5436. x: 685,
  5437. d: "M383 318c22 -22 22 -62 1 -83c-22 -22 -61 -21 -83 1c-21 21 -20 60 1 81s60 22 81 1zM148 553c22 -22 22 -61 1 -83c-22 -21 -61 -21 -84 2c-20 20 -20 59 2 80c21 22 60 22 81 1zM619 82c22 -22 22 -61 0 -82c-21 -22 -60 -22 -83 1c-20 20 -20 59 1 81\nc22 21 61 21 82 0z"
  5438. },
  5439. "&#x2026;": {
  5440. x: 647,
  5441. d: "M538 111c31 0 59 -28 59 -58c0 -31 -28 -58 -60 -58c-29 0 -56 28 -56 58s27 58 57 58zM322 111c31 0 59 -28 59 -58c0 -31 -28 -58 -60 -58c-29 0 -56 28 -56 58s27 58 57 58zM107 111c31 0 59 -28 59 -58c0 -31 -28 -58 -60 -58c-29 0 -56 28 -56 58s27 58 57 58z"
  5442. },
  5443. "@": {
  5444. x: 727,
  5445. d: "M551 457v-242c0 -27 4 -68 36 -68c70 0 72 108 72 183c0 95 -25 190 -89 260c-64 67 -135 96 -207 96c-159 0 -295 -149 -295 -339c0 -178 123 -339 300 -339c130 0 227 46 263 63c5 3 7 3 24 3c20 0 21 -1 21 -6c0 -8 -144 -76 -307 -76c-186 0 -319 164 -319 355\nc0 204 146 355 314 355c139 0 313 -117 313 -368c0 -107 -11 -203 -94 -203c-39 0 -85 26 -86 82c-18 -31 -65 -82 -134 -82c-95 0 -187 88 -187 216s91 216 187 216c38 0 90 -16 132 -78c5 -7 6 -8 7 -8h28c20 0 21 -1 21 -20zM498 271v152c0 33 -20 62 -44 85\nc-16 15 -48 39 -90 39c-74 0 -135 -89 -135 -200s61 -200 135 -200c43 0 91 26 122 83c12 21 12 22 12 41z"
  5446. },
  5447. "&#x22;": {
  5448. x: 425,
  5449. d: "M148 611c-4 -6 -18 -23 -45 -23c-36 0 -53 27 -53 53s18 53 53 53c46 0 68 -50 68 -105c0 -118 -85 -194 -96 -194c-6 0 -11 5 -11 11c0 2 0 4 5 9c19 18 80 74 80 175c0 6 0 15 -1 21zM352 611c-4 -6 -18 -23 -45 -23c-36 0 -53 27 -53 53s18 53 53 53\nc46 0 68 -50 68 -105c0 -118 -85 -194 -96 -194c-6 0 -11 5 -11 11c0 2 0 4 5 9c19 18 80 74 80 175c0 6 0 15 -1 21z"
  5450. },
  5451. "'": {
  5452. x: 216,
  5453. d: "M160 669l-88 -179c-8 3 -12 4 -22 9l44 184c5 21 8 32 21 39c17 8 41 -1 49 -16s-1 -30 -4 -37z"
  5454. },
  5455. "|": {
  5456. x: 140,
  5457. d: "M90 714v-928c0 -18 0 -36 -20 -36s-20 18 -20 36v928c0 18 0 36 20 36s20 -18 20 -36z"
  5458. },
  5459. "^": {
  5460. x: 346,
  5461. d: "M173 694l123 -136l-12 -12l-111 108l-111 -108l-12 12z"
  5462. },
  5463. "`": {
  5464. x: 221,
  5465. d: "M73 478c4 6 18 23 45 23c36 0 53 -27 53 -53s-18 -53 -53 -53c-46 0 -68 50 -68 105c0 118 85 194 96 194c6 0 11 -5 11 -11c0 -2 0 -4 -5 -9c-19 -18 -80 -74 -80 -175c0 -6 0 -15 1 -21z"
  5466. },
  5467. "&#x201c;": {
  5468. x: 425,
  5469. d: "M277 478c4 6 18 23 45 23c36 0 53 -27 53 -53s-18 -53 -53 -53c-46 0 -68 50 -68 105c0 118 85 194 96 194c6 0 11 -5 11 -11c0 -2 0 -4 -5 -9c-19 -18 -80 -74 -80 -175c0 -6 0 -15 1 -21zM73 478c4 6 18 23 45 23c36 0 53 -27 53 -53s-18 -53 -53 -53\nc-46 0 -68 50 -68 105c0 118 85 194 96 194c6 0 11 -5 11 -11c0 -2 0 -4 -5 -9c-19 -18 -80 -74 -80 -175c0 -6 0 -15 1 -21z"
  5470. },
  5471. _: {
  5472. x: 381,
  5473. d: "M332 0h-282v44h282v-44z"
  5474. },
  5475. "*": {
  5476. x: 669,
  5477. d: "M360 427l-14 -156l112 81c25 19 27 19 34 19c14 0 27 -13 27 -28s-8 -19 -24 -27l-138 -67c79 -37 81 -37 141 -67c12 -6 21 -11 21 -26c0 -14 -13 -28 -27 -28c-7 0 -9 2 -18 7l-128 93l15 -168c0 -19 -15 -26 -27 -26c-8 0 -26 5 -26 26l15 168l-112 -81\nc-25 -19 -27 -19 -34 -19c-14 0 -27 13 -27 28s8 19 24 27l138 67l-142 68c-10 5 -20 9 -20 25c0 14 13 28 27 28c7 0 9 -2 18 -7l128 -93l-14 155v13c-3 13 10 26 26 26c22 0 25 -16 25 -30v-8z"
  5478. },
  5479. "+": {
  5480. x: 927,
  5481. d: "M481 232v-265c0 -15 0 -31 -18 -31c-17 0 -17 17 -17 31v265h-265c-15 0 -31 0 -31 18c0 17 17 17 31 17h265v265c0 15 0 31 18 31c17 0 17 -17 17 -31v-265h265c15 0 31 0 31 -18c0 -17 -17 -17 -31 -17h-265z"
  5482. },
  5483. "-": {
  5484. x: 967,
  5485. d: "M726 230h-541c-17 0 -35 0 -35 20s18 20 35 20h541c17 0 35 0 35 -20s-18 -20 -35 -20z"
  5486. },
  5487. "&#x2210;": {
  5488. x: 979,
  5489. d: "M726 605v-527c0 -40 0 -47 72 -47c25 0 31 0 31 -16c0 -15 -7 -15 -28 -15h-623c-21 0 -28 0 -28 15c0 16 7 16 26 16c77 0 77 6 77 47v527c0 40 0 47 -72 47c-25 0 -31 0 -31 16c0 15 10 15 17 15c21 0 43 -2 64 -2s43 -1 64 -1c28 0 100 3 128 3c7 0 17 0 17 -15\nc0 -16 -7 -16 -26 -16c-77 0 -77 -6 -77 -47v-574h305v574c0 40 0 47 -72 47c-25 0 -31 0 -31 16c0 15 10 15 17 15c21 0 43 -2 64 -2s43 -1 64 -1c28 0 100 3 128 3c7 0 17 0 17 -15c0 -16 -7 -16 -26 -16c-77 0 -77 -6 -77 -47z"
  5490. },
  5491. "&#x22bc;": {
  5492. x: 798,
  5493. d: "M612 676h-426c-17 0 -36 0 -36 20s18 20 35 20h428c17 0 35 0 35 -20s-19 -20 -36 -20zM421 503l220 -465c7 -13 7 -15 7 -18c0 -11 -8 -20 -20 -20s-17 9 -22 19l-207 437l-207 -436c-6 -12 -9 -20 -22 -20c-11 0 -20 9 -20 20c0 2 0 6 7 20l220 462c5 11 9 20 22 20\nc11 0 16 -7 22 -19z"
  5494. },
  5495. "&#x22bb;": {
  5496. x: 798,
  5497. d: "M641 676l-220 -462c-5 -11 -9 -20 -22 -20c-12 0 -17 9 -22 19l-221 465c-2 5 -6 12 -6 18c0 11 9 20 20 20s17 -7 22 -19l207 -437l207 436c6 12 9 20 22 20c11 0 20 -9 20 -20c0 -1 0 -6 -7 -20zM186 40h427c17 0 35 0 35 -20s-18 -20 -35 -20h-427c-17 0 -36 0 -36 20\ns19 20 36 20z"
  5498. },
  5499. "&#x25ef;": {
  5500. x: 1189,
  5501. d: "M1039 250c0 -259 -200 -466 -445 -466c-242 0 -444 205 -444 466c0 259 200 466 445 466c242 0 444 -205 444 -466zM595 -176c221 0 404 188 404 426c0 236 -181 426 -405 426c-221 0 -404 -188 -404 -426c0 -236 181 -426 405 -426z"
  5502. },
  5503. "&#x22a1;": {
  5504. x: 965,
  5505. d: "M815 652v-617c0 -32 -3 -35 -36 -35h-593c-33 0 -36 4 -36 36v616c0 32 4 35 35 35h595c32 0 35 -4 35 -35zM190 647v-607h585v607h-585zM536 344c0 -29 -24 -53 -53 -53s-53 24 -53 53s24 53 53 53s53 -24 53 -53z"
  5506. },
  5507. "&#x229f;": {
  5508. x: 965,
  5509. d: "M815 652v-617c0 -32 -3 -35 -36 -35h-593c-33 0 -36 4 -36 36v616c0 32 4 35 35 35h595c32 0 35 -4 35 -35zM190 364h585v283h-585v-283zM190 40h585v284h-585v-284z"
  5510. },
  5511. "&#x229e;": {
  5512. x: 965,
  5513. d: "M815 652v-617c0 -32 -3 -35 -36 -35h-593c-33 0 -36 4 -36 36v616c0 32 4 35 35 35h595c32 0 35 -4 35 -35zM190 364h273v283h-273v-283zM775 647h-272v-283h272v283zM190 40h273v284h-273v-284zM775 324h-272v-284h272v284z"
  5514. },
  5515. "&#x22a0;": {
  5516. x: 965,
  5517. d: "M815 652v-617c0 -32 -4 -35 -35 -35h-594c-33 0 -36 4 -36 36v616c0 32 4 35 35 35h595c32 0 35 -4 35 -35zM217 647l266 -274l265 274h-531zM190 70l264 273l-264 274v-547zM775 617l-264 -273l264 -274v547zM748 40l-266 274l-265 -274h531z"
  5518. },
  5519. "&#x2022;": {
  5520. x: 689,
  5521. d: "M539 250c0 -107 -89 -194 -194 -194c-108 0 -195 88 -195 194c0 105 87 194 195 194c105 0 194 -87 194 -194z"
  5522. },
  5523. "&#x2229;": {
  5524. x: 856,
  5525. d: "M706 380v-366c0 -18 0 -36 -20 -36s-20 18 -20 36v361c0 27 0 91 -77 140c-53 34 -116 43 -161 43c-75 0 -238 -32 -238 -182v-362c0 -18 0 -36 -20 -36s-20 18 -20 36v367c0 147 148 217 278 217c125 0 278 -66 278 -218z"
  5526. },
  5527. "&#x222a;": {
  5528. x: 856,
  5529. d: "M706 562v-367c0 -147 -148 -217 -278 -217c-125 0 -278 66 -278 218v366c0 18 0 36 20 36s20 -18 20 -36v-361c0 -27 0 -91 77 -140c53 -34 116 -43 161 -43c75 0 238 32 238 182v362c0 18 0 36 20 36s20 -18 20 -36z"
  5530. },
  5531. "&#x22d2;": {
  5532. x: 854,
  5533. d: "M550 320v-307c0 -17 0 -35 -20 -35s-20 18 -20 35v304c0 22 0 41 -23 63c-19 19 -45 24 -60 24c-17 0 -42 -5 -61 -25c-22 -22 -22 -41 -22 -62v-304c0 -17 0 -35 -20 -35s-20 18 -20 35v307c0 99 84 124 123 124c38 0 123 -24 123 -124zM704 379v-366\nc0 -17 0 -35 -20 -35s-20 18 -20 35v363c0 25 0 86 -73 136c-47 31 -108 46 -164 46c-86 0 -237 -40 -237 -182v-363c0 -17 0 -35 -20 -35s-20 18 -20 35v366c0 153 154 219 277 219s277 -65 277 -219z"
  5534. },
  5535. "&#x22d3;": {
  5536. x: 854,
  5537. d: "M550 563v-307c0 -99 -84 -124 -123 -124c-38 0 -123 24 -123 124v307c0 17 0 35 20 35s20 -18 20 -35v-304c0 -22 0 -41 23 -63c19 -19 45 -24 60 -24c17 0 42 5 61 25c22 22 22 41 22 62v304c0 17 0 35 20 35s20 -18 20 -35zM704 563v-366c0 -153 -154 -219 -277 -219\ns-277 65 -277 219v366c0 17 0 35 20 35s20 -18 20 -35v-363c0 -25 0 -86 73 -136c47 -31 108 -46 164 -46c86 0 237 40 237 182v363c0 17 0 35 20 35s20 -18 20 -35z"
  5538. },
  5539. "&#x22d0;": {
  5540. x: 967,
  5541. d: "M470 155h256c17 0 35 0 35 -20s-18 -20 -35 -20h-107c-59 0 -119 -1 -178 -1c-78 0 -137 62 -137 136c0 73 59 136 137 136c10 0 21 -1 32 -1h253c17 0 35 0 35 -20s-18 -20 -35 -20h-256c-10 0 -20 1 -29 1c-56 0 -97 -45 -97 -96s41 -96 97 -96c9 0 19 1 29 1zM459 0\nh267c17 0 35 0 35 -20s-18 -20 -35 -20h-270c-167 0 -306 126 -306 290s139 290 306 290h270c17 0 35 0 35 -20s-18 -20 -35 -20h-267c-157 0 -269 -115 -269 -250s113 -250 269 -250z"
  5542. },
  5543. "&#x22d1;": {
  5544. x: 967,
  5545. d: "M441 345h-256c-17 0 -35 0 -35 20s18 20 35 20h253c11 0 22 1 32 1c78 0 137 -62 137 -136c0 -73 -59 -136 -137 -136c-10 0 -21 1 -32 1h-253c-17 0 -35 0 -35 20s18 20 35 20h256c10 0 20 -1 29 -1c56 0 97 45 97 96s-41 96 -97 96c-9 0 -19 -1 -29 -1zM452 500h-267\nc-17 0 -35 0 -35 20s18 20 35 20h270c167 0 306 -126 306 -290s-139 -290 -306 -290h-270c-17 0 -35 0 -35 20s18 20 35 20h267c157 0 269 115 269 250s-113 250 -269 250z"
  5546. },
  5547. "&#xb7;": {
  5548. x: 406,
  5549. d: "M256 250c0 -29 -24 -53 -53 -53s-53 24 -53 53s24 53 53 53s53 -24 53 -53z"
  5550. },
  5551. "&#x25aa;": {
  5552. x: 465,
  5553. d: "M315 152v-117c0 -32 -4 -35 -35 -35h-94c-33 0 -36 4 -36 36v116c0 32 4 35 35 35h95c32 0 35 -4 35 -35z"
  5554. },
  5555. "&#x25e6;": {
  5556. x: 689,
  5557. d: "M539 250c0 -107 -89 -194 -194 -194c-108 0 -195 88 -195 194c0 105 87 194 195 194c105 0 194 -87 194 -194zM345 96c83 0 154 68 154 154s-71 154 -154 154c-86 0 -155 -70 -155 -154s68 -154 155 -154z"
  5558. },
  5559. "&#x229b;": {
  5560. x: 966,
  5561. d: "M816 250c0 -183 -149 -333 -333 -333c-183 0 -333 149 -333 333c0 183 149 333 333 333c183 0 333 -149 333 -333zM483 -58c170 0 308 138 308 308s-138 308 -308 308s-308 -138 -308 -308s138 -308 308 -308zM604 150l-109 79l5 -54c1 -20 5 -59 5 -60c0 -4 5 -51 5 -54\nc0 -18 -16 -26 -27 -26s-27 8 -27 26l15 168l-111 -80c-11 -8 -27 -20 -34 -20c-15 0 -27 14 -27 28c0 15 7 18 21 26l140 67l-141 68c-10 5 -20 10 -20 25c0 14 12 28 27 28c8 0 24 -13 36 -21l109 -79l-14 156v13c-3 13 11 26 26 26c23 0 26 -18 26 -32v-7l-14 -157\nl127 94c3 2 9 7 18 7c15 0 27 -14 27 -28c0 -15 -7 -18 -21 -26l-140 -67c63 -32 125 -60 138 -67c16 -8 23 -11 23 -26c0 -14 -12 -28 -27 -28c-8 0 -24 13 -36 21z"
  5562. },
  5563. "&#x229a;": {
  5564. x: 966,
  5565. d: "M816 250c0 -183 -149 -333 -333 -333c-183 0 -333 149 -333 333c0 183 149 333 333 333c183 0 333 -149 333 -333zM483 -58c170 0 308 138 308 308s-138 308 -308 308s-308 -138 -308 -308s138 -308 308 -308zM622 250c0 -76 -63 -139 -139 -139s-139 62 -139 139\nc0 76 63 139 139 139s139 -62 139 -139zM483 151c55 0 99 45 99 99s-45 99 -99 99c-55 0 -99 -45 -99 -99s45 -99 99 -99z"
  5566. },
  5567. "&#x2296;": {
  5568. x: 967,
  5569. d: "M817 250c0 -182 -148 -333 -334 -333c-183 0 -333 149 -333 333c0 182 148 333 334 333c183 0 333 -149 333 -333zM175 263h617c-10 176 -152 295 -309 295c-153 0 -298 -117 -308 -295zM792 238h-617c10 -179 154 -296 309 -296c151 0 298 114 308 296z"
  5570. },
  5571. "&#x2299;": {
  5572. x: 967,
  5573. d: "M817 250c0 -182 -148 -333 -334 -333c-183 0 -333 149 -333 333c0 182 148 333 334 333c183 0 333 -149 333 -333zM484 -58c168 0 308 136 308 308c0 169 -137 308 -309 308c-168 0 -308 -136 -308 -308c0 -169 137 -308 309 -308zM552 250c0 -36 -29 -69 -69 -69\nc-37 0 -68 31 -68 69c0 36 29 69 69 69c37 0 68 -31 68 -69z"
  5574. },
  5575. "&#x229d;": {
  5576. x: 966,
  5577. d: "M816 250c0 -183 -149 -333 -333 -333c-183 0 -333 149 -333 333c0 183 149 333 333 333c183 0 333 -149 333 -333zM483 -58c170 0 308 138 308 308s-138 308 -308 308s-308 -138 -308 -308s138 -308 308 -308zM346 263h274c19 0 29 0 29 -13c0 -12 -11 -12 -29 -12h-274\nc-19 0 -29 0 -29 13c0 12 11 12 29 12z"
  5578. },
  5579. "&#x2295;": {
  5580. x: 967,
  5581. d: "M817 250c0 -182 -148 -333 -334 -333c-183 0 -333 149 -333 333c0 182 148 333 334 333c183 0 333 -149 333 -333zM175 263h296v295c-156 -8 -286 -127 -296 -295zM496 558v-295h296c-10 167 -139 287 -296 295zM471 -58v296h-296c10 -171 141 -288 296 -296zM792 238\nh-296v-296c154 8 286 125 296 296z"
  5582. },
  5583. "&#x2297;": {
  5584. x: 967,
  5585. d: "M817 250c0 -182 -148 -333 -334 -333c-183 0 -333 149 -333 333c0 182 148 333 334 333c183 0 333 -149 333 -333zM285 465l199 -198l208 209c-82 77 -174 82 -209 82c-126 0 -207 -78 -207 -82c0 -2 7 -9 9 -11zM256 41l209 209l-209 209c-52 -59 -81 -132 -81 -209\nc0 -64 20 -141 81 -209zM710 459l-208 -209l209 -209c52 59 81 132 81 209c0 82 -34 158 -82 209zM682 35l-199 198l-208 -209c82 -77 174 -82 209 -82c126 0 207 78 207 82c0 2 -7 9 -9 11z"
  5586. },
  5587. "&#x2298;": {
  5588. x: 967,
  5589. d: "M817 250c0 -182 -148 -333 -334 -333c-183 0 -333 149 -333 333c0 182 148 333 334 333c183 0 333 -149 333 -333zM266 51l426 425c-82 77 -174 82 -209 82c-168 0 -308 -136 -308 -308c0 -127 79 -207 82 -207c1 0 1 1 9 8zM710 459l-435 -435c82 -77 174 -82 209 -82\nc168 0 308 136 308 308c0 82 -34 158 -82 209z"
  5590. },
  5591. "&#xb1;": {
  5592. x: 967,
  5593. d: "M504 313v-273h278c17 0 35 0 35 -20s-18 -20 -35 -20h-597c-17 0 -35 0 -35 20s18 20 35 20h279v273h-279c-17 0 -35 0 -35 20s18 20 35 20h279v279c0 16 0 34 20 34s20 -21 20 -37v-276h278c17 0 35 0 35 -20s-18 -20 -35 -20h-278z"
  5594. },
  5595. "&#x2213;": {
  5596. x: 967,
  5597. d: "M504 147v-276c0 -15 0 -37 -20 -37s-20 18 -20 34v279h-279c-17 0 -35 0 -35 20s18 20 35 20h279v273h-279c-17 0 -35 0 -35 20s18 20 35 20h597c17 0 35 0 35 -20s-18 -20 -35 -20h-278v-273h278c17 0 35 0 35 -20s-18 -20 -35 -20h-278z"
  5598. },
  5599. "&#x22cf;": {
  5600. x: 891,
  5601. d: "M446 251c21 105 54 182 101 237c73 86 170 90 173 90c17 0 21 -13 21 -20c0 -17 -14 -19 -27 -21c-94 -15 -165 -75 -209 -213c-25 -80 -38 -197 -39 -295c0 -33 0 -34 -1 -35c0 -3 -2 -6 -4 -8c-2 -3 -7 -8 -15 -8c-20 0 -20 20 -20 24c-1 117 -9 234 -47 345\nc-57 168 -168 185 -212 191c-10 2 -17 10 -17 20c0 7 4 20 21 20c13 0 111 -11 175 -91c55 -67 84 -151 100 -236z"
  5602. },
  5603. "&#x22ce;": {
  5604. x: 891,
  5605. d: "M446 305c-16 -82 -45 -168 -94 -229c-76 -96 -180 -98 -181 -98c-17 0 -21 13 -21 20c0 17 16 20 22 21c91 13 166 62 214 210c27 85 39 207 40 298c0 33 0 34 1 35c0 3 2 6 4 8c2 3 7 8 15 8c20 0 20 -20 20 -24c1 -100 8 -228 44 -335c60 -178 165 -194 214 -201\nc10 -2 17 -10 17 -20c0 -7 -4 -20 -21 -20c-2 0 -54 4 -104 32c-87 51 -140 145 -170 295z"
  5606. },
  5607. "&#x2020;": {
  5608. x: 633,
  5609. d: "M327 420c1 -20 2 -33 12 -85c11 -57 11 -68 11 -117c0 -110 -8 -244 -9 -262c-2 -48 -6 -108 -11 -154c-2 -13 -2 -18 -14 -18c-11 0 -12 6 -13 20c-8 87 -20 256 -20 414c0 48 0 60 11 118c10 52 11 63 12 84c-15 -2 -25 -3 -60 -12c-32 -9 -51 -11 -59 -11\nc-29 0 -37 20 -37 34c0 9 5 33 37 33c21 0 52 -8 73 -14c23 -7 32 -7 46 -9c0 19 -1 40 -10 99c-4 27 -13 88 -13 123c0 10 0 42 34 42c33 0 33 -33 33 -42c0 -36 -7 -81 -12 -118c-10 -60 -11 -87 -11 -104c15 2 25 3 60 12c32 9 51 11 59 11c29 0 37 -20 37 -34\nc0 -9 -5 -33 -37 -33c-21 0 -52 8 -73 14c-23 7 -32 7 -46 9z"
  5610. },
  5611. "&#x2021;": {
  5612. x: 633,
  5613. d: "M327 467c1 -23 2 -34 12 -92c9 -44 11 -71 11 -85c0 -12 -3 -40 -34 -40c-18 0 -33 11 -33 40c0 27 8 74 13 100c8 44 9 56 10 77c-15 -2 -25 -3 -60 -12c-32 -9 -51 -11 -59 -11c-29 0 -37 20 -37 34c0 9 5 33 37 33c21 0 52 -8 73 -14c23 -7 32 -7 46 -9\nc-1 23 -2 34 -12 92c-9 44 -11 71 -11 85c0 12 3 40 34 40c18 0 33 -11 33 -40c0 -27 -8 -74 -13 -100c-8 -44 -9 -56 -10 -77c15 2 25 3 60 12c32 9 51 11 59 11c29 0 37 -20 37 -34c0 -9 -5 -33 -37 -33c-21 0 -52 8 -73 14c-23 7 -32 7 -46 9zM327 12c1 -23 2 -36 13 -99\nc8 -42 10 -68 10 -78c0 -12 -3 -40 -34 -40c-18 0 -33 11 -33 40c0 13 2 38 12 89c9 53 10 68 11 88c-19 -2 -21 -2 -46 -10c-43 -11 -60 -13 -76 -13c-24 0 -34 19 -34 33s9 33 34 33c18 0 36 -3 64 -11c6 -1 36 -10 58 -12c-1 23 -2 36 -13 99c-8 42 -10 68 -10 78\nc0 30 16 40 33 40c34 0 34 -32 34 -40c0 -13 -2 -38 -12 -89c-9 -53 -10 -68 -11 -88c19 2 21 2 46 10c43 11 60 13 76 13c24 0 34 -19 34 -33s-9 -33 -34 -33c-18 0 -36 3 -64 11c-6 1 -36 10 -58 12z"
  5614. },
  5615. "&#x22c4;": {
  5616. x: 776,
  5617. d: "M410 474l203 -203c10 -10 13 -13 13 -21s-4 -12 -5 -13l-24 -25l-171 -171l-25 -24c-5 -5 -11 -5 -13 -5c-6 0 -11 4 -12 4c-2 3 -16 17 -25 25l-142 143c-18 18 -52 52 -55 54c-2 4 -4 8 -4 12c0 7 2 9 13 20l205 205c11 11 13 13 20 13c8 0 10 -2 22 -14zM388 440\nl-189 -190l190 -190l189 190z"
  5618. },
  5619. "&#xf7;": {
  5620. x: 968,
  5621. d: "M548 466c0 -32 -26 -63 -64 -63c-37 0 -64 31 -64 63s26 63 64 63c37 0 64 -31 64 -63zM548 34c0 -32 -26 -63 -64 -63c-37 0 -64 31 -64 63s26 63 64 63c37 0 64 -31 64 -63zM185 270h598c17 0 35 0 35 -20s-18 -20 -35 -20h-598c-17 0 -35 0 -35 20s18 20 35 20z"
  5622. },
  5623. "&#x22c7;": {
  5624. x: 965,
  5625. d: "M545 466c0 -34 -28 -62 -62 -62s-62 28 -62 62s28 62 62 62s62 -28 62 -62zM545 34c0 -34 -28 -62 -62 -62s-62 28 -62 62s28 62 62 62s62 -28 62 -62zM710 449l-178 -179h248c17 0 35 0 35 -20s-18 -20 -35 -20h-248l178 -179c12 -12 14 -14 14 -22\nc0 -11 -8 -20 -20 -20c-6 0 -13 4 -14 6c-13 12 -159 159 -208 207l-199 -199c-12 -12 -14 -14 -22 -14c-10 0 -20 9 -20 20c0 6 3 12 14 23l178 178h-248c-17 0 -35 0 -35 20s18 20 35 20h248l-178 179c-10 10 -14 14 -14 22c0 11 10 20 20 20c8 0 10 -2 22 -14l200 -199\nl199 199c10 10 14 14 22 14c11 0 20 -9 20 -20c0 -8 -2 -10 -14 -22z"
  5626. },
  5627. "&#x2214;": {
  5628. x: 966,
  5629. d: "M503 230v-289c0 -17 0 -35 -20 -35s-20 18 -20 35v289h-278c-17 0 -35 0 -35 20s18 20 35 20h278v289c0 17 0 35 20 35s20 -18 20 -35v-289h278c17 0 35 0 35 -20s-18 -20 -35 -20h-278zM533 716c0 -29 -24 -50 -50 -50s-50 20 -50 50c0 29 23 50 50 50s50 -21 50 -50z\n"
  5630. },
  5631. "&#x232d;": {
  5632. x: 798,
  5633. d: "M612 773h-426c-17 0 -36 0 -36 20s18 20 35 20h428c17 0 35 0 35 -20s-19 -20 -36 -20zM421 406l221 -465c2 -5 6 -12 6 -18c0 -11 -9 -20 -20 -20s-17 7 -22 19l-207 437l-207 -436c-6 -12 -9 -20 -22 -20c-11 0 -20 9 -20 20c0 1 0 6 7 20l220 462c5 11 9 20 22 20\nc12 0 17 -9 22 -19zM185 619h428c17 0 35 0 35 -20s-19 -20 -36 -20h-426c-17 0 -36 0 -36 20s18 20 35 20z"
  5634. },
  5635. "&#x22d7;": {
  5636. x: 967,
  5637. d: "M376 250c0 -37 -30 -63 -63 -63c-36 0 -64 29 -64 63s28 63 64 63c33 0 63 -26 63 -63zM188 533l553 -261c12 -6 20 -9 20 -22c0 -11 -7 -16 -19 -22l-556 -262c-7 -3 -11 -5 -16 -5c-10 0 -20 9 -20 19c0 8 3 15 20 23l524 247l-524 247c-17 8 -20 15 -20 23\nc0 10 10 19 20 19c4 0 7 -1 18 -6z"
  5638. },
  5639. "&#x22d6;": {
  5640. x: 967,
  5641. d: "M662 250c0 -34 -28 -63 -64 -63c-33 0 -63 26 -63 63s30 63 63 63c36 0 64 -29 64 -63zM741 497l-524 -247l524 -248c13 -6 20 -9 20 -21c0 -14 -12 -20 -20 -20c-4 0 -7 1 -18 6l-553 261c-12 6 -20 9 -20 22c0 11 7 16 19 22l556 262c7 3 11 5 16 5c8 0 20 -6 20 -20\nc0 -8 -4 -15 -20 -22z"
  5642. },
  5643. "&#x22c9;": {
  5644. x: 783,
  5645. d: "M619 449l-198 -199c52 -53 201 -201 207 -208c5 -6 5 -11 5 -13c0 -11 -8 -20 -20 -20c-6 0 -13 4 -14 6c-13 12 -159 159 -208 207l-199 -199c-12 -12 -14 -14 -22 -14c-20 0 -20 19 -20 36v410c0 17 0 36 20 36c8 0 10 -2 22 -14l200 -199l199 199c10 10 14 14 22 14\nc11 0 20 -9 20 -20c0 -8 -2 -10 -14 -22zM190 77l172 173l-172 172v-345z"
  5646. },
  5647. "&#x22ca;": {
  5648. x: 783,
  5649. d: "M392 278l199 199c10 10 14 14 22 14c20 0 20 -18 20 -35v-412c0 -17 0 -35 -20 -35c-6 0 -13 4 -14 6c-13 12 -159 159 -208 207l-199 -199c-12 -12 -14 -14 -22 -14c-10 0 -20 9 -20 20c0 6 3 12 14 23l198 198l-198 199c-10 10 -14 14 -14 22c0 11 10 20 20 20\nc8 0 10 -2 22 -14zM421 250l172 -172v345z"
  5650. },
  5651. "&#x22cb;": {
  5652. x: 965,
  5653. d: "M455 336l-293 316c-11 12 -12 16 -12 22c0 12 9 20 20 20c3 0 9 0 22 -14l611 -660c11 -12 12 -16 12 -22c0 -12 -9 -20 -20 -20c-4 0 -10 1 -21 13l-292 315l-291 -315c-11 -12 -17 -13 -21 -13c-11 0 -20 8 -20 20c0 6 1 10 12 22z"
  5654. },
  5655. "&#x22cc;": {
  5656. x: 965,
  5657. d: "M510 336l293 -316c11 -12 12 -16 12 -22c0 -12 -9 -20 -20 -20c-4 0 -10 1 -21 13l-292 315l-291 -315c-11 -12 -17 -13 -21 -13c-11 0 -20 8 -20 20c0 6 1 10 12 22l611 660c13 14 19 14 22 14c11 0 20 -8 20 -20c0 -6 -1 -10 -12 -22z"
  5658. },
  5659. "&#x2293;": {
  5660. x: 844,
  5661. d: "M694 562v-526c0 -18 0 -36 -20 -36s-20 21 -20 36v522h-464v-522c0 -18 0 -36 -20 -36s-20 21 -20 36v526c0 33 3 36 35 36h474c32 0 35 -3 35 -36z"
  5662. },
  5663. "&#x2294;": {
  5664. x: 844,
  5665. d: "M694 562v-526c0 -33 -3 -36 -36 -36h-472c-32 0 -36 4 -36 36v526c0 18 0 36 20 36s20 -18 20 -36v-522h464v522c0 18 0 36 20 36s20 -18 20 -36z"
  5666. },
  5667. "&#x2291;": {
  5668. x: 931,
  5669. d: "M746 596h-545v-499h544c17 0 36 0 36 -20s-18 -20 -35 -20h-550c-32 0 -35 3 -35 36v507c0 32 4 36 36 36h549c17 0 35 0 35 -20s-18 -20 -35 -20zM746 -137h-561c-17 0 -35 0 -35 20s20 20 36 20h559c15 0 36 0 36 -20s-18 -20 -35 -20z"
  5670. },
  5671. "&#x2292;": {
  5672. x: 931,
  5673. d: "M770 600v-507c0 -33 -3 -36 -35 -36h-550c-17 0 -35 0 -35 20s20 20 36 20h544v499h-545c-17 0 -35 0 -35 20s18 20 35 20h550c32 0 35 -3 35 -36zM186 -97h559c17 0 36 0 36 -20s-18 -20 -35 -20h-561c-17 0 -35 0 -35 20s21 20 36 20z"
  5674. },
  5675. "&#x228f;": {
  5676. x: 967,
  5677. d: "M726 499h-536v-499h535c17 0 36 0 36 -20s-18 -20 -35 -20h-541c-32 0 -35 4 -35 35v508c0 33 4 36 36 36h540c17 0 35 0 35 -20s-18 -20 -35 -20z"
  5678. },
  5679. "&#x2290;": {
  5680. x: 951,
  5681. d: "M801 504v-509c0 -32 -4 -35 -35 -35h-581c-17 0 -35 0 -35 20s19 20 36 20h575v499h-576c-17 0 -35 0 -35 20s18 20 35 20h581c32 0 35 -4 35 -35z"
  5682. },
  5683. "&#x22c6;": {
  5684. x: 789,
  5685. d: "M394 172l-130 -144c-9 -10 -13 -10 -15 -10c-9 0 -9 8 -9 9s0 2 7 14l96 169l-180 81c-8 4 -13 6 -13 12c0 5 4 9 10 9l202 -41l22 192c2 15 2 20 11 20c8 0 8 -5 10 -19l22 -193l202 41c6 0 10 -4 10 -9c0 -6 -2 -7 -14 -12l-179 -81l98 -171c2 -3 5 -9 5 -12\nc0 -1 0 -9 -9 -9c-4 0 -7 2 -10 5z"
  5686. },
  5687. "&#xd7;": {
  5688. x: 783,
  5689. d: "M392 278l198 198c11 11 15 15 23 15c12 0 20 -9 20 -20c0 -7 -4 -11 -5 -13c-5 -6 -20 -19 -25 -25l-183 -183c50 -51 209 -208 210 -210c3 -5 3 -9 3 -11c0 -11 -8 -20 -20 -20c-6 0 -13 5 -15 6l-207 207l-199 -199c-12 -12 -14 -14 -22 -14c-10 0 -20 9 -20 20\nc0 7 2 9 13 20l200 201l-200 201c-11 11 -13 13 -13 20c0 11 10 20 20 20c8 0 10 -2 22 -14z"
  5690. },
  5691. "&#x22b3;": {
  5692. x: 967,
  5693. d: "M741 227l-553 -260c-13 -7 -15 -7 -18 -7c-20 0 -20 18 -20 35v508c0 18 0 36 21 36c2 0 4 0 17 -7l553 -260c17 -8 20 -15 20 -23s-4 -15 -20 -22zM694 250l-504 238v-477z"
  5694. },
  5695. "&#x22b2;": {
  5696. x: 967,
  5697. d: "M170 272l553 261c4 2 13 6 18 6c20 0 20 -18 20 -35v-509c0 -17 0 -35 -20 -35c-3 0 -5 0 -18 7l-553 260c-16 7 -20 14 -20 22s3 15 20 23zM217 249l504 -238v477z"
  5698. },
  5699. "&#x22b5;": {
  5700. x: 967,
  5701. d: "M741 324l-553 -260c-13 -7 -15 -7 -18 -7c-20 0 -20 18 -20 35v508c0 18 0 36 21 36c2 0 4 0 17 -7l553 -260c17 -8 20 -15 20 -23s-4 -15 -20 -22zM694 347l-504 238v-477zM726 -137h-541c-17 0 -35 0 -35 20s19 20 36 20h539c17 0 36 0 36 -20s-18 -20 -35 -20z"
  5702. },
  5703. "&#x22b4;": {
  5704. x: 967,
  5705. d: "M170 369l553 261c4 2 13 6 18 6c20 0 20 -18 20 -35v-509c0 -17 0 -35 -20 -35c-3 0 -5 0 -18 7l-553 260c-16 7 -20 14 -20 22s3 15 20 23zM217 346l504 -238v477zM186 -97h539c17 0 36 0 36 -20s-18 -20 -35 -20h-541c-17 0 -35 0 -35 20s19 20 36 20z"
  5706. },
  5707. "&#x228e;": {
  5708. x: 856,
  5709. d: "M448 285v-142c0 -15 0 -35 -20 -35s-20 19 -20 35v142h-142c-15 0 -36 0 -36 20s21 20 36 20h142v143c0 17 0 35 20 35s20 -18 20 -35v-143h142c15 0 36 0 36 -20s-21 -20 -36 -20h-142zM706 562v-367c0 -147 -148 -217 -278 -217c-125 0 -278 66 -278 218v366\nc0 18 0 36 20 36s20 -18 20 -36v-361c0 -27 0 -91 77 -140c53 -34 116 -43 161 -43c75 0 238 32 238 182v362c0 18 0 36 20 36s20 -18 20 -36z"
  5710. },
  5711. "&#x2228;": {
  5712. x: 856,
  5713. d: "M699 558l-249 -559c-6 -14 -9 -21 -22 -21c-9 0 -15 4 -23 21l-249 563c-6 12 -6 14 -6 16c0 11 9 20 20 20c7 0 15 -2 23 -21l235 -530l235 529c7 15 13 22 23 22c11 0 20 -9 20 -20c0 -5 -1 -7 -7 -20z"
  5714. },
  5715. "&#x2227;": {
  5716. x: 856,
  5717. d: "M451 577l249 -563c6 -12 6 -14 6 -16c0 -11 -9 -20 -20 -20c-4 0 -14 0 -23 21l-235 530l-235 -530c-8 -19 -16 -21 -23 -21c-11 0 -20 9 -20 20c0 5 1 7 7 20l249 559c6 14 9 21 22 21c9 0 15 -4 23 -21z"
  5718. },
  5719. "&#x2240;": {
  5720. x: 467,
  5721. d: "M316 -69c0 -9 -10 -14 -29 -14c-44 0 -77 17 -101 51s-36 75 -36 121c0 19 3 39 9 59s12 38 19 52s17 34 32 60c34 62 51 112 51 151c0 35 -8 67 -23 97s-35 45 -60 47c-18 2 -27 7 -27 14c0 9 10 14 30 14c43 0 77 -17 101 -51s35 -74 35 -121c0 -19 -3 -39 -9 -59\ns-12 -38 -19 -52s-17 -34 -32 -60c-34 -62 -51 -112 -51 -151c0 -35 7 -67 21 -95c17 -31 39 -48 68 -49c14 -2 21 -7 21 -14z"
  5722. },
  5723. "&#x3c;": {
  5724. x: 941,
  5725. d: "M772 498l-553 -248l553 -248c1 0 1 0 2 -1c11 -5 17 -12 17 -20c0 -7 -3 -12 -7 -15s-8 -5 -13 -5c-3 0 -9 2 -17 5l-585 262c-13 6 -19 13 -19 22c0 8 7 15 20 22l600 268c14 -1 21 -8 21 -21c0 -1 -1 -3 -1 -5v-4s-2 -1 -3 -2s-3 -2 -3 -3s0 -1 -2 -2s-4 -1 -4 -1\ns-1 -1 -3 -2z"
  5726. },
  5727. "=": {
  5728. x: 927,
  5729. d: "M747 321h-567c-20 0 -30 6 -30 17c0 12 11 18 34 18h559c23 0 34 -6 34 -18c0 -11 -10 -17 -30 -17zM743 143h-559c-23 0 -34 6 -34 18c0 11 10 17 30 17h567c20 0 30 -6 30 -17c0 -12 -11 -18 -34 -18z"
  5730. },
  5731. "&#x3e;": {
  5732. x: 941,
  5733. d: "M771 228l-600 -268c-7 1 -11 4 -15 8s-6 8 -6 12c0 8 6 15 19 22l553 248l-553 248c-13 7 -19 14 -19 22c0 5 2 9 6 13s9 6 14 6c3 0 9 -2 17 -5l585 -262c13 -6 19 -13 19 -22c0 -8 -7 -15 -20 -22z"
  5734. },
  5735. "&#x2248;": {
  5736. x: 967,
  5737. d: "M817 452c0 -46 -17 -85 -49 -116s-71 -47 -118 -47c-20 0 -42 4 -64 12s-40 16 -53 24s-32 20 -56 36c-32 22 -61 38 -85 49s-49 17 -75 17c-19 0 -39 -4 -58 -11s-37 -19 -54 -37s-26 -40 -27 -66c0 -3 -1 -8 -4 -14s-6 -9 -10 -9c-9 0 -14 10 -14 30c0 46 16 85 48 116\ns72 47 119 47c20 0 41 -4 63 -12s41 -16 54 -24s32 -20 56 -36c32 -22 60 -38 84 -49s50 -17 76 -17c35 0 66 11 94 31s43 46 45 79c1 18 5 27 14 27s14 -10 14 -30zM817 218c0 -45 -16 -82 -48 -114s-72 -48 -119 -48c-20 0 -42 4 -64 12s-40 16 -53 24s-32 20 -56 36\nc-32 22 -61 39 -85 50s-49 16 -75 16c-19 0 -39 -3 -58 -10s-37 -20 -54 -38s-26 -40 -27 -66c0 -3 -1 -8 -4 -14s-6 -9 -10 -9c-9 0 -14 10 -14 30c0 46 16 85 48 116s72 47 119 47c20 0 41 -4 63 -12s41 -16 54 -24s32 -20 56 -36c32 -22 60 -39 84 -50s50 -16 76 -16\nc35 0 66 10 94 30s43 47 45 80c1 18 5 27 14 27s14 -10 14 -31z"
  5738. },
  5739. "&#x2247;": {
  5740. x: 965,
  5741. d: "M477 201l-88 -154h389c8 0 14 -1 18 -1s8 -2 12 -5s7 -8 7 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-414l-80 -140c-9 -16 -17 -24 -25 -24c-6 0 -11 2 -15 6s-5 9 -5 14c0 2 2 8 6 17c12 19 36 62 73 127h-135c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14\ns9 5 13 5s10 1 18 1h156l88 154h-246c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s9 5 13 5s10 1 18 1h267l98 172c-14 7 -27 14 -38 21s-24 15 -37 24s-25 16 -35 22c-47 30 -89 45 -125 45c-19 0 -39 -4 -58 -11s-37 -19 -54 -37s-26 -40 -27 -66\nc0 -15 -5 -23 -14 -23s-14 10 -14 30c0 46 16 85 48 116s72 47 119 47c20 0 41 -5 63 -13s41 -16 55 -24s33 -21 57 -37c47 -32 76 -48 85 -48c1 0 4 4 9 12l96 167c7 13 14 19 22 19c6 0 10 -2 14 -6s6 -9 6 -14c0 -3 -3 -10 -8 -20l-98 -171c9 -2 19 -3 31 -3\nc35 0 67 10 94 31s42 47 44 79c1 18 5 27 14 27s14 -10 14 -31c0 -44 -16 -82 -47 -114s-71 -48 -119 -48c-21 0 -41 3 -60 10l-89 -156h278c8 0 14 -1 18 -1s8 -2 12 -5s7 -8 7 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-303z"
  5742. },
  5743. "&#x224d;": {
  5744. x: 967,
  5745. d: "M817 464c0 -5 -2 -10 -5 -13l-35 -28c-98 -71 -196 -107 -294 -107c-59 0 -120 14 -181 41c-15 7 -31 14 -46 23s-28 18 -40 26s-23 14 -32 21s-16 12 -21 17l-8 6c-3 4 -5 9 -5 14s2 10 6 14s8 6 14 6c4 0 11 -4 22 -13c99 -77 197 -115 292 -115s191 37 287 112\nc12 11 21 16 26 16c6 0 11 -2 15 -6s5 -9 5 -14zM817 36c0 -5 -1 -10 -5 -14s-9 -6 -15 -6c-4 0 -11 4 -22 13c-100 77 -197 115 -292 115s-191 -37 -287 -112c-12 -11 -21 -16 -26 -16c-6 0 -10 2 -14 6s-6 9 -6 14s2 10 5 13l35 28c98 71 196 107 294 107\nc59 0 120 -14 181 -41c15 -7 31 -14 46 -23s29 -18 41 -26s21 -14 30 -21s17 -12 22 -17l8 -6c3 -4 5 -9 5 -14z"
  5746. },
  5747. "&#x2252;": {
  5748. x: 1031,
  5749. d: "M256 541c0 -15 -6 -27 -16 -37s-22 -16 -37 -16s-27 6 -37 16s-16 22 -16 37s6 27 16 37s22 16 37 16s27 -6 37 -16s16 -22 16 -37zM881 -41c0 -15 -5 -27 -15 -37s-23 -16 -38 -16s-28 6 -38 16s-15 22 -15 37s5 27 15 37s23 16 38 16s28 -6 38 -16s15 -22 15 -37z\nM219 173h593c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-595c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20zM218 367h595c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -18 -1h-593\nc-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1z"
  5750. },
  5751. "&#x2253;": {
  5752. x: 1031,
  5753. d: "M881 541c0 -15 -5 -27 -15 -37s-23 -16 -38 -16s-28 6 -38 16s-15 22 -15 37s5 27 15 37s23 16 38 16s28 -6 38 -16s15 -22 15 -37zM256 -41c0 -15 -6 -27 -16 -37s-22 -16 -37 -16s-27 6 -37 16s-16 22 -16 37s6 27 16 37s22 16 37 16s27 -6 37 -16s16 -22 16 -37z\nM813 133h-595c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20h593c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1zM812 327h-593c-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1h595c7 0 13 -1 17 -1s8 -2 12 -5\ns6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -18 -1z"
  5754. },
  5755. "&#x224a;": {
  5756. x: 977,
  5757. d: "M821 549c0 -46 -17 -85 -49 -116s-71 -47 -117 -47c-20 0 -41 4 -62 12s-38 14 -50 21s-28 17 -48 30c-29 19 -50 33 -64 41s-31 16 -51 23s-39 11 -58 11s-38 -3 -57 -10s-37 -20 -54 -38s-26 -40 -27 -66c0 -15 -5 -23 -14 -23s-14 10 -14 30c0 46 16 85 48 116\ns72 47 118 47c20 0 41 -4 62 -12s38 -14 50 -21s28 -17 48 -30c29 -19 50 -33 64 -41s31 -16 51 -23s39 -11 58 -11c34 0 65 10 93 30s43 47 45 80c2 18 7 27 14 27c9 0 14 -10 14 -30zM186 7h605c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-607\nc-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20zM821 315c0 -45 -16 -83 -48 -115s-71 -47 -118 -47c-20 0 -41 3 -62 11s-38 15 -50 22s-28 17 -48 30c-29 19 -50 33 -64 41s-31 16 -51 23s-39 11 -58 11s-38 -4 -57 -11s-37 -19 -54 -37s-26 -40 -27 -66\nc0 -15 -5 -23 -14 -23s-14 10 -14 30c0 46 16 85 48 116s72 47 118 47c20 0 41 -3 62 -11s38 -15 50 -22s28 -17 48 -30c29 -19 50 -33 64 -41s31 -16 51 -23s39 -11 58 -11c35 0 66 10 93 31s42 45 45 74c1 21 6 32 14 32c9 0 14 -10 14 -31z"
  5758. },
  5759. "&#x223d;": {
  5760. x: 966,
  5761. d: "M816 166c0 -21 -5 -32 -14 -32c-7 0 -12 11 -14 33c-3 41 -17 76 -44 103s-58 41 -94 41c-20 0 -40 -5 -60 -14s-38 -19 -50 -29s-29 -24 -51 -44c-23 -21 -42 -36 -55 -46s-31 -20 -53 -30s-44 -15 -65 -15c-49 0 -89 21 -120 62s-46 88 -46 139c0 21 5 32 14 32\nc8 0 13 -11 14 -33c3 -41 18 -75 44 -103s57 -41 94 -41c20 0 40 5 60 14s38 19 50 29s29 24 51 44c23 21 42 36 55 46s31 20 53 30s44 15 65 15c49 0 89 -21 120 -62s46 -88 46 -139z"
  5762. },
  5763. "&#x2241;": {
  5764. x: 965,
  5765. d: "M478 214l-140 -167c-8 -10 -15 -15 -22 -15c-6 0 -10 2 -14 6s-6 9 -6 14s4 13 12 22l138 165c-47 35 -90 53 -129 53c-37 0 -69 -13 -96 -38c-25 -24 -38 -54 -39 -90c-2 -20 -7 -30 -16 -30c-11 0 -16 13 -16 40c0 52 16 98 47 136s71 57 120 57c20 0 41 -4 63 -13\ns39 -19 52 -28s32 -22 55 -40l140 167c9 10 16 15 22 15s11 -2 15 -6s5 -9 5 -14s-4 -13 -12 -22l-138 -165c47 -35 90 -53 129 -53c37 0 69 13 96 38c25 24 38 54 39 90c1 20 7 30 16 30c11 0 16 -13 16 -40c0 -52 -16 -98 -47 -136s-71 -57 -120 -57c-20 0 -40 4 -62 13\ns-40 19 -53 28s-32 22 -55 40z"
  5766. },
  5767. "&#x2242;": {
  5768. x: 965,
  5769. d: "M780 424h-595h-17s-8 3 -12 6s-6 8 -6 14s2 11 6 14s8 6 12 6h17h595h17s8 -3 12 -6s6 -8 6 -14s-2 -11 -6 -14s-8 -6 -12 -6h-17zM815 226c0 -49 -16 -93 -47 -132s-71 -58 -120 -58c-21 0 -42 5 -64 14s-38 19 -51 28s-29 21 -49 38c-25 21 -45 36 -58 46\ns-30 18 -50 27s-40 13 -59 13c-33 0 -64 -12 -93 -36s-44 -59 -46 -106c0 -3 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32c0 49 15 92 46 131s71 58 121 58c21 0 41 -5 63 -14s39 -19 52 -28s29 -21 49 -38c25 -21 45 -36 58 -46s30 -18 50 -27s40 -13 59 -13\nc33 0 63 12 92 36s45 59 47 106c0 4 1 8 3 14s6 9 11 9c9 0 14 -10 14 -31z"
  5770. },
  5771. "&#x2243;": {
  5772. x: 967,
  5773. d: "M817 432c0 -49 -15 -92 -47 -128s-72 -54 -120 -54c-21 0 -42 5 -64 14s-40 18 -54 28s-32 23 -55 41c-21 17 -39 30 -53 39s-30 16 -50 24s-38 12 -57 12c-20 0 -40 -4 -59 -12s-38 -23 -54 -44s-25 -47 -26 -78c0 -3 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 10 -14 31\nc0 49 16 92 48 128s71 54 119 54c21 0 42 -5 64 -14s40 -18 54 -28s32 -23 55 -41c21 -17 38 -30 52 -39s30 -16 50 -24s39 -12 58 -12c35 0 66 12 94 36s43 55 45 94c1 18 5 27 14 27s14 -10 14 -31zM186 76h595c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17\nh-597h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20z"
  5774. },
  5775. "&#x22cd;": {
  5776. x: 966,
  5777. d: "M816 282c0 -21 -5 -31 -14 -31c-8 0 -13 11 -14 33c-3 33 -17 62 -43 87s-58 37 -96 37c-41 0 -91 -23 -149 -68c-28 -22 -49 -38 -64 -48s-34 -19 -56 -28s-42 -14 -63 -14c-49 0 -90 19 -121 56s-46 78 -46 125c0 21 5 32 14 32c8 0 13 -11 14 -33c2 -33 16 -61 42 -86\ns59 -38 97 -38c41 0 91 23 149 68c28 22 49 38 64 48s34 19 56 28s42 14 63 14c49 0 89 -18 120 -55s47 -79 47 -127zM186 76h594c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-596h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20z"
  5778. },
  5779. "&#x224f;": {
  5780. x: 965,
  5781. d: "M626 367h154c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -18 -1h-156c-16 0 -26 2 -29 5s-6 12 -7 26c-1 23 -11 44 -31 64s-45 30 -74 30c-28 0 -52 -10 -72 -29s-31 -41 -32 -66c-1 -14 -4 -22 -8 -25s-13 -5 -28 -5h-156\nc-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1h154c6 39 23 70 51 92s59 33 93 33c33 0 63 -10 91 -32s45 -53 52 -93zM186 173h593c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-595c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14\nc0 13 12 20 36 20z"
  5782. },
  5783. "&#x224e;": {
  5784. x: 965,
  5785. d: "M626 367h154c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -18 -1h-156c-16 0 -26 2 -29 5s-6 12 -7 26c-1 23 -11 44 -31 64s-45 30 -74 30c-28 0 -52 -10 -72 -29s-31 -41 -32 -66c-1 -14 -4 -22 -8 -25s-13 -5 -28 -5h-156\nc-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1h154c6 39 23 70 51 92s59 33 93 33c33 0 63 -10 91 -32s45 -53 52 -93zM623 173h156c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-154c-6 -39 -23 -70 -51 -92s-59 -33 -93 -33\nc-33 0 -63 10 -91 32s-45 53 -52 93h-154c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20h156c16 0 26 -2 29 -5s6 -12 7 -26c1 -23 12 -44 32 -64s44 -30 73 -30c28 0 52 10 72 29s31 41 32 66c1 14 3 22 7 25s14 5 29 5z"
  5786. },
  5787. "&#x2257;": {
  5788. x: 965,
  5789. d: "M592 611c0 -29 -11 -55 -32 -77s-47 -32 -78 -32c-30 0 -56 10 -77 32s-32 48 -32 77c0 31 11 57 33 78s47 32 77 32c29 0 54 -10 76 -31s33 -48 33 -79zM483 542c25 0 42 5 53 16s16 28 16 53s-5 42 -15 53s-28 17 -55 17s-46 -6 -55 -17s-14 -29 -14 -53\nc0 -26 6 -44 17 -54s28 -15 53 -15zM186 173h593c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-595c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20zM185 367h595c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14\ns-8 -5 -12 -5s-10 -1 -18 -1h-593c-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1z"
  5790. },
  5791. "&#x2245;": {
  5792. x: 965,
  5793. d: "M815 305c0 -32 -6 -63 -19 -93s-32 -55 -58 -76s-56 -31 -89 -31c-17 0 -33 2 -48 7s-31 12 -47 23s-30 21 -40 29s-24 20 -42 36c-20 18 -36 31 -48 40s-28 19 -48 28s-40 14 -60 14c-15 0 -30 -3 -44 -8s-28 -13 -42 -24s-27 -27 -36 -48s-15 -46 -16 -73\nc0 -4 -2 -9 -4 -15s-5 -8 -10 -8c-9 0 -14 11 -14 32c0 32 6 63 19 94s32 57 58 78s56 31 89 31h6c14 0 29 -2 42 -6c15 -5 32 -12 48 -23s28 -21 38 -29s24 -20 43 -37c1 -1 4 -3 7 -6c19 -17 35 -30 46 -39s26 -18 46 -27s38 -13 57 -13c37 0 68 13 95 41s41 63 43 105\nc0 20 5 30 14 30s14 -11 14 -32zM753 -174h-541h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h539c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17zM753 20h-541h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h539c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14\ns-8 -6 -12 -6h-17z"
  5794. },
  5795. "&#x22de;": {
  5796. x: 967,
  5797. d: "M650 712c0 -3 -1 -9 -2 -18s-4 -23 -10 -42s-15 -36 -26 -53c-24 -37 -57 -69 -98 -95s-84 -44 -129 -54s-83 -16 -113 -20s-57 -6 -82 -6h-22s-8 3 -12 6s-6 8 -6 14c0 13 9 20 26 20c47 0 92 4 136 12s88 21 132 38s80 42 110 75s48 73 55 118c3 17 10 26 21 26\nc5 0 10 -1 14 -5s6 -9 6 -16zM188 310h29c26 0 64 2 115 6c49 5 92 12 132 21s72 19 98 29s49 24 69 39s35 29 45 41s19 27 26 44s12 29 14 38s4 21 6 35c0 3 2 6 5 10s8 6 14 6c7 0 12 -3 15 -7s5 -9 5 -14c0 -33 -12 -70 -36 -110c-47 -78 -143 -131 -288 -159\nc98 -16 177 -49 238 -98c23 -20 43 -45 57 -73s22 -49 25 -64s4 -26 4 -33c0 -6 -3 -11 -7 -15s-8 -6 -13 -6c-11 0 -18 9 -21 26c-15 107 -95 179 -240 214c-81 19 -167 29 -256 29c-35 0 -54 0 -59 1c-10 5 -15 12 -15 20c0 13 13 20 38 20z"
  5798. },
  5799. "&#x22df;": {
  5800. x: 967,
  5801. d: "M761 444c0 -9 -3 -15 -9 -17s-16 -3 -31 -3c-28 0 -58 2 -91 6s-72 13 -116 24s-87 30 -126 56s-70 57 -92 94c-23 39 -35 75 -35 108c0 7 3 12 7 16s8 5 13 5c11 0 18 -8 21 -25c5 -38 19 -72 41 -101s48 -53 77 -70s63 -32 101 -43s73 -20 107 -24s68 -6 103 -6\nc20 0 30 -7 30 -20zM471 289v1c-96 16 -174 49 -235 98c-23 20 -42 44 -56 72s-23 49 -26 64s-4 26 -4 34c0 14 7 21 20 21c11 0 18 -9 21 -26c17 -108 97 -179 240 -214c81 -19 169 -29 263 -29h29c25 0 38 -7 38 -20c0 -7 -3 -11 -7 -14s-9 -5 -14 -6s-14 -1 -27 -1\nc-115 0 -211 -10 -289 -31c-48 -13 -88 -28 -120 -47s-55 -39 -70 -61s-26 -42 -31 -57s-10 -34 -13 -55c-2 -12 -9 -18 -20 -18c-5 0 -10 2 -14 6s-6 9 -6 15c0 33 12 70 36 110c47 79 142 131 285 158z"
  5802. },
  5803. "&#x2250;": {
  5804. x: 965,
  5805. d: "M537 541c0 -16 -6 -29 -17 -39s-23 -16 -38 -16c-13 0 -26 5 -37 15s-17 23 -17 40c0 16 5 29 16 39s24 16 39 16c13 0 26 -5 37 -15s17 -23 17 -40zM186 173h593c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-595\nc-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20zM185 367h595c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -18 -1h-593c-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1z"
  5806. },
  5807. "&#x2251;": {
  5808. x: 965,
  5809. d: "M537 541c0 -16 -6 -29 -17 -39s-23 -16 -38 -16c-13 0 -26 5 -37 15s-17 23 -17 40c0 16 5 29 16 39s24 16 39 16c13 0 26 -5 37 -15s17 -23 17 -40zM537 -41c0 -17 -6 -30 -17 -40s-24 -15 -37 -15c-15 0 -28 6 -39 16s-16 23 -16 39s5 29 16 39s24 16 39 16\nc13 0 26 -5 37 -15s17 -23 17 -40zM186 173h593c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-595c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20zM185 367h595c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14\ns-8 -5 -12 -5s-10 -1 -18 -1h-593c-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1z"
  5810. },
  5811. "&#x2256;": {
  5812. x: 965,
  5813. d: "M559 173h220c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-595c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20h220c-21 21 -32 47 -32 77c0 27 11 52 32 77h-220c-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1\nh595c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -18 -1h-220c21 -21 32 -47 32 -77c0 -27 -11 -52 -32 -77zM502 327h-39c-8 0 -13 0 -17 -1s-9 -3 -14 -6s-11 -9 -18 -17c-11 -15 -17 -33 -17 -53c0 -21 6 -39 19 -54c9 -11 16 -18 22 -20\ns14 -3 25 -3h39c8 0 14 0 18 1s8 3 13 6s11 9 18 17c11 15 17 33 17 53c0 21 -6 39 -19 54c-9 11 -16 18 -22 20s-14 3 -25 3z"
  5814. },
  5815. "&#x2a96;": {
  5816. x: 967,
  5817. d: "M723 333l-553 261c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21c0 5 2 10 6 14s9 6 14 6c4 0 11 -2 20 -7l551 -261c13 -6 20 -13 20 -21c0 -7 -3 -12 -7 -15s-8 -5 -13 -5c-3 0 -9 2 -18 6zM741 130l-553 -260c-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 6 16 19 22\nl525 248l-524 247c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21c0 6 2 10 6 14s9 6 14 6c4 0 11 -2 20 -7l551 -260c13 -6 20 -14 20 -23s-7 -16 -20 -22z"
  5818. },
  5819. "&#x2a95;": {
  5820. x: 967,
  5821. d: "M742 594l-556 -262c-8 -3 -13 -5 -16 -5c-5 0 -10 2 -14 6s-6 8 -6 13c0 9 7 17 20 23l553 261c8 4 14 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -8 -6 -15 -19 -22zM723 -130l-553 260c-13 6 -20 13 -20 22s7 17 20 23l553 261c8 4 14 6 18 6c5 0 9 -2 13 -6s7 -8 7 -14\nc0 -8 -6 -15 -19 -22l-525 -248l524 -247c13 -6 20 -13 20 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7z"
  5822. },
  5823. "&#x2261;": {
  5824. x: 967,
  5825. d: "M781 424h-595c-24 0 -36 7 -36 20c0 6 2 11 6 14s8 6 12 6h17h597h17s8 -3 12 -6s6 -8 6 -14c0 -13 -12 -20 -36 -20zM782 36h-597h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h595c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17zM782 230h-597h-17\ns-8 3 -12 6s-6 8 -6 14s2 11 6 14s8 6 12 6h17h597h17s8 -3 12 -6s6 -8 6 -14s-2 -11 -6 -14s-8 -6 -12 -6h-17z"
  5826. },
  5827. "&#x2265;": {
  5828. x: 967,
  5829. d: "M741 324l-553 -260c-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 7 17 21 23l523 247l-525 247c-13 6 -19 13 -19 22c0 5 2 10 6 14s8 6 14 6c4 0 11 -2 20 -7l551 -260c13 -6 20 -14 20 -23s-7 -16 -20 -22zM726 -137h-541c-7 0 -13 1 -17 1s-8 2 -12 5\ns-6 8 -6 14c0 13 12 20 36 20h539c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1z"
  5830. },
  5831. "&#x2264;": {
  5832. x: 967,
  5833. d: "M742 594l-525 -248l523 -246c14 -7 21 -14 21 -23c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7l-553 260c-13 6 -20 13 -20 22s7 17 20 23l553 261c8 4 14 6 18 6c6 0 11 -2 15 -6s5 -9 5 -14c0 -9 -6 -16 -19 -22zM726 -137h-541c-7 0 -13 1 -17 1s-8 2 -12 5\ns-6 8 -6 14c0 13 12 20 36 20h539c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1z"
  5834. },
  5835. "&#x2266;": {
  5836. x: 967,
  5837. d: "M742 711l-525 -248l524 -247c13 -6 20 -13 20 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7l-553 260c-13 6 -20 13 -20 22s7 17 20 23l553 261c8 4 14 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -9 -6 -16 -19 -22zM726 -174h-541h-17s-8 3 -12 6s-6 8 -6 14\nc0 13 12 20 36 20h539c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17zM726 20h-541h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h539c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17z"
  5838. },
  5839. "&#x2267;": {
  5840. x: 967,
  5841. d: "M741 441l-553 -260c-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 6 16 19 22l525 248l-524 247c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21c0 5 2 10 6 14s9 6 14 6c4 0 11 -2 20 -7l551 -260c13 -7 20 -14 20 -23s-7 -16 -20 -22zM726 -174h-541h-17s-8 3 -12 6\ns-6 8 -6 14c0 13 12 20 36 20h539c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17zM726 20h-541h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h539c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17z"
  5842. },
  5843. "&#x2a7e;": {
  5844. x: 967,
  5845. d: "M741 324l-553 -260c-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 6 16 19 22l525 248l-524 247c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21c0 5 2 10 6 14s9 6 14 6c4 0 11 -2 20 -7l551 -261c13 -6 20 -13 20 -22s-7 -16 -20 -22zM741 130l-553 -260\nc-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 6 16 19 22l566 267c17 0 26 -7 26 -20c0 -9 -7 -16 -20 -22z"
  5846. },
  5847. "&#x2a7d;": {
  5848. x: 967,
  5849. d: "M742 594l-525 -248l524 -247c13 -6 20 -13 20 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7l-553 260c-13 6 -20 13 -20 22s7 17 20 23l553 261c8 4 14 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -8 -6 -15 -19 -22zM723 -130l-553 260c-13 6 -20 13 -20 22\nc0 5 2 10 6 14s8 6 14 6c4 0 10 -2 19 -7l552 -260c13 -6 20 -13 20 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7z"
  5850. },
  5851. "&#x226b;": {
  5852. x: 1189,
  5853. d: "M715 228l-539 -294c-17 0 -26 7 -26 20c0 7 7 14 20 22l502 274l-502 274c-13 8 -20 15 -20 22s2 12 6 15s9 5 14 5c4 0 10 -2 18 -6l527 -288c11 -7 17 -12 18 -16c1 -2 1 -4 1 -6c0 -7 -5 -14 -16 -20c-1 -1 -2 -1 -3 -2zM1020 228l-539 -294c-17 0 -26 7 -26 20\nc0 7 7 14 20 22l502 274l-502 274c-13 8 -20 15 -20 22s2 12 6 15s9 5 14 5c4 0 10 -2 18 -6l527 -288c11 -7 17 -12 18 -16c1 -2 1 -4 1 -6c0 -7 -5 -14 -16 -20c-1 -1 -2 -1 -3 -2z"
  5854. },
  5855. "&#x226a;": {
  5856. x: 1189,
  5857. d: "M714 524l-502 -274l502 -274c13 -8 20 -15 20 -22c0 -13 -7 -20 -20 -20c-5 0 -11 2 -19 7l-526 287c-11 7 -17 12 -18 16c-1 2 -1 4 -1 6c0 7 5 14 16 20c1 1 2 1 3 2l527 288c8 4 14 6 18 6c5 0 10 -2 14 -5s6 -8 6 -15s-7 -14 -20 -22zM1019 524l-502 -274l502 -274\nc13 -8 20 -15 20 -22c0 -13 -7 -20 -20 -20c-5 0 -11 2 -19 7l-526 287c-11 7 -17 12 -18 16c-1 2 -1 4 -1 6c0 7 5 14 16 20c1 1 2 1 3 2l527 288c8 4 14 6 18 6c5 0 10 -2 14 -5s6 -8 6 -15s-7 -14 -20 -22z"
  5858. },
  5859. "&#x2268;": {
  5860. x: 967,
  5861. d: "M742 711l-525 -248l524 -247c13 -6 20 -13 20 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7l-553 260c-13 6 -20 13 -20 22s7 17 20 23l553 261c8 4 14 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -9 -6 -16 -19 -22zM557 20l-147 -154h315c24 0 36 -7 36 -20\nc0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-355c-38 -41 -65 -69 -80 -84c-13 -12 -21 -18 -26 -18s-10 2 -14 6s-6 8 -6 13s3 11 10 18c1 1 4 4 7 8s6 7 7 8c17 19 32 36 47 49h-131h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h168l147 154h-316h-17s-8 3 -12 6s-6 8 -6 14\nc0 13 12 20 36 20h354c38 41 65 69 80 84c13 12 21 18 26 18s10 -2 14 -6s6 -8 6 -13s-3 -11 -10 -18c-1 -1 -3 -4 -7 -8s-6 -7 -7 -8c-17 -19 -32 -36 -47 -49h130c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-169z"
  5862. },
  5863. "&#x2269;": {
  5864. x: 967,
  5865. d: "M741 441l-553 -260c-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 6 16 19 22l525 248l-524 247c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21c0 5 2 10 6 14s9 6 14 6c4 0 11 -2 20 -7l551 -260c13 -7 20 -14 20 -23s-7 -16 -20 -22zM557 20l-147 -154h315\nc24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-355c-38 -41 -65 -69 -80 -84c-13 -12 -21 -18 -26 -18s-10 2 -14 6s-6 8 -6 13s3 11 10 18c1 1 4 4 7 8s6 7 7 8c17 19 32 36 47 49h-131h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h168l147 154h-316h-17\ns-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h354c38 41 65 69 80 84c13 12 21 18 26 18s10 -2 14 -6s6 -8 6 -13s-3 -11 -10 -18c-1 -1 -3 -4 -7 -8s-6 -7 -7 -8c-17 -19 -32 -36 -47 -49h130c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-169z"
  5866. },
  5867. "&#x22d8;": {
  5868. x: 1520,
  5869. d: "M712 524l-500 -274l500 -274c13 -7 20 -15 20 -22c0 -13 -7 -20 -20 -20c-5 0 -11 2 -19 7l-523 287c-9 5 -14 8 -16 10s-4 7 -4 12c0 7 5 14 16 20c1 1 2 1 3 2l525 287c9 5 15 7 18 7c5 0 10 -2 14 -6s6 -8 6 -14c0 -7 -7 -15 -20 -22zM1350 524l-500 -274l500 -274\nc13 -7 20 -15 20 -22c0 -13 -7 -20 -20 -20c-5 0 -11 2 -19 7l-523 287c-9 5 -14 8 -16 10s-4 7 -4 12c0 7 5 14 16 20c1 1 2 1 3 2l525 287c9 5 15 7 18 7c5 0 10 -2 14 -6s6 -8 6 -14c0 -7 -7 -15 -20 -22zM1031 524l-500 -274l500 -274c13 -7 20 -15 20 -22\nc0 -13 -7 -20 -20 -20c-5 0 -11 2 -19 7l-523 287c-9 5 -15 8 -17 10s-3 7 -3 12c0 7 5 14 16 20c1 1 2 1 3 2l525 287c9 5 15 7 18 7c5 0 9 -2 13 -6s7 -8 7 -14c0 -7 -7 -15 -20 -22z"
  5870. },
  5871. "&#x22d9;": {
  5872. x: 1520,
  5873. d: "M733 228l-544 -287c-9 -5 -15 -7 -19 -7c-13 0 -20 7 -20 20c0 7 7 15 20 22l520 274l-520 274c-13 7 -20 15 -20 22c0 6 2 10 6 14s9 6 14 6c2 0 8 -2 18 -6l545 -288c13 -7 19 -14 19 -22s-6 -15 -19 -22zM1351 228l-544 -287c-9 -5 -15 -7 -19 -7c-13 0 -20 7 -20 20\nc0 3 0 5 1 7s3 4 5 6l4 4s4 2 8 4l521 275l-520 275c-5 3 -7 4 -9 5s-4 2 -6 4s-4 4 -4 6v6c0 6 2 11 5 14s7 4 9 5s4 1 6 1s8 -2 18 -6l544 -288c12 -7 18 -12 19 -16c1 -2 1 -4 1 -6c0 -8 -6 -15 -19 -22zM1042 228l-544 -287c-9 -5 -15 -7 -19 -7c-13 0 -20 7 -20 20\nc0 5 1 9 4 12s8 6 16 10l519 274l-521 275c-12 6 -18 13 -18 21c0 7 3 12 7 15s8 5 13 5c2 0 8 -2 18 -6l544 -288c9 -4 15 -7 17 -10s3 -7 3 -12c0 -8 -6 -15 -19 -22z"
  5874. },
  5875. "&#x2a87;": {
  5876. x: 967,
  5877. d: "M742 594l-525 -248l524 -247c13 -6 20 -13 20 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7l-553 260c-13 6 -20 13 -20 22s7 17 20 23l553 261c8 4 14 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -8 -6 -15 -19 -22zM726 -137h-262l-81 -81c-9 -11 -17 -16 -24 -16\nc-13 0 -20 7 -20 20c0 5 4 12 13 22c19 18 37 36 55 55h-222c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20h262l80 81c11 11 19 16 24 16s9 -1 12 -4s5 -5 6 -8s2 -6 2 -8c0 -6 -5 -14 -15 -24l-52 -53h220c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -5 -12 -5\ns-10 -1 -17 -1z"
  5878. },
  5879. "&#x2a88;": {
  5880. x: 967,
  5881. d: "M741 324l-553 -260c-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 6 16 19 22l525 248l-524 247c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21c0 5 2 10 6 14s9 6 14 6c4 0 11 -2 20 -7l551 -261c13 -6 20 -13 20 -22s-7 -16 -20 -22zM726 -137h-262l-81 -81\nc-9 -11 -17 -16 -24 -16c-13 0 -20 7 -20 20c0 5 4 12 13 22c19 18 37 36 55 55h-222c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20h262l80 81c11 11 19 16 24 16s9 -1 12 -4s5 -5 6 -8s2 -6 2 -8c0 -6 -5 -14 -15 -24l-52 -53h220c24 0 36 -7 36 -20\nc0 -6 -2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1z"
  5882. },
  5883. "&#x2a89;": {
  5884. x: 965,
  5885. d: "M765 719l-516 -217l518 -217l8 -4c1 -1 3 -2 6 -4s4 -4 5 -6s2 -5 2 -8c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -10 2 -19 6l-550 231c-15 7 -22 14 -22 22c0 9 7 17 22 23l551 231c11 4 17 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -6 -2 -11 -5 -14s-9 -6 -18 -9z\nM445 -214l-60 -145c-5 -13 -13 -20 -22 -20c-5 0 -9 1 -13 5s-7 9 -7 14c0 2 25 62 74 181c-33 20 -67 30 -101 30c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -9 -4 -15s-5 -8 -10 -8c-9 0 -14 10 -14 30c0 45 16 84 48 116s72 47 118 47c35 0 70 -10 105 -30\nc8 -5 13 -7 14 -7s3 4 8 13l51 123c-46 30 -80 51 -103 62s-48 16 -75 16c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 10 -14 30c0 45 16 83 48 115s72 48 118 48c43 0 95 -20 156 -60c23 -17 37 -26 40 -26c2 0 5 4 8 13l60 145\nc5 13 13 20 22 20c5 0 10 -2 14 -6s6 -8 6 -13c0 -2 -25 -62 -74 -181c33 -20 67 -30 101 -30c36 0 67 11 94 32s41 45 44 73c1 21 6 32 14 32c9 0 14 -10 14 -31c0 -45 -16 -82 -48 -114s-71 -48 -118 -48c-35 0 -70 10 -105 30c-8 5 -13 7 -14 7s-4 -4 -8 -13l-51 -123\nc46 -30 80 -50 103 -61s48 -17 75 -17c36 0 67 10 94 31s41 46 44 74c1 21 6 32 14 32c9 0 14 -10 14 -31c0 -45 -16 -83 -48 -115s-71 -47 -118 -47c-43 0 -95 20 -156 60c-23 17 -37 26 -40 26c-2 0 -5 -4 -8 -13z"
  5886. },
  5887. "&#x2a8a;": {
  5888. x: 965,
  5889. d: "M766 480l-550 -231c-9 -4 -16 -6 -19 -6c-5 0 -10 2 -14 6s-6 9 -6 14c0 4 1 8 3 11s6 5 8 6l12 6l516 217l-518 217c-14 6 -21 13 -21 22c0 5 2 10 6 14s9 6 14 6c1 0 7 -2 18 -6l551 -231c15 -6 22 -14 22 -23c0 -8 -7 -15 -22 -22zM445 -214l-60 -145\nc-5 -13 -13 -20 -22 -20c-5 0 -9 1 -13 5s-7 9 -7 14c0 2 25 62 74 181c-33 20 -67 30 -101 30c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -9 -4 -15s-5 -8 -10 -8c-9 0 -14 10 -14 30c0 45 16 84 48 116s72 47 118 47c35 0 70 -10 105 -30c8 -5 13 -7 14 -7s3 4 8 13\nl51 123c-46 30 -80 51 -103 62s-48 16 -75 16c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 10 -14 30c0 45 16 83 48 115s72 48 118 48c43 0 95 -20 156 -60c23 -17 37 -26 40 -26c2 0 5 4 8 13l60 145c5 13 13 20 22 20\nc5 0 10 -2 14 -6s6 -8 6 -13c0 -2 -25 -62 -74 -181c33 -20 67 -30 101 -30c36 0 67 11 94 32s41 45 44 73c1 21 6 32 14 32c9 0 14 -10 14 -31c0 -45 -16 -82 -48 -114s-71 -48 -118 -48c-35 0 -70 10 -105 30c-8 5 -13 7 -14 7s-4 -4 -8 -13l-51 -123\nc46 -30 80 -50 103 -61s48 -17 75 -17c36 0 67 10 94 31s41 46 44 74c1 21 6 32 14 32c9 0 14 -10 14 -31c0 -45 -16 -83 -48 -115s-71 -47 -118 -47c-43 0 -95 20 -156 60c-23 17 -37 26 -40 26c-2 0 -5 -4 -8 -13z"
  5890. },
  5891. "&#x22e7;": {
  5892. x: 965,
  5893. d: "M768 420l-553 -260c-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 6 16 19 22l525 248l-524 247c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21c0 5 2 10 6 14s9 6 14 6c4 0 11 -2 20 -7l551 -260c13 -7 20 -14 20 -23s-7 -16 -20 -22zM486 -144l-97 -177\nc-7 -12 -11 -19 -13 -22s-7 -4 -13 -4c-13 0 -20 7 -20 20c0 4 3 11 9 21l104 190c-53 45 -99 67 -140 67c-20 0 -39 -4 -58 -13s-38 -26 -54 -50s-25 -54 -26 -90c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32c0 51 15 97 46 138s71 62 120 62c29 0 54 -7 78 -20\ns52 -34 85 -62l97 177c7 12 12 19 14 22s6 4 12 4c13 0 20 -7 20 -20c0 -4 -3 -11 -9 -21l-104 -190c53 -45 99 -67 140 -67c37 0 68 14 95 42s41 62 43 104c0 20 5 30 14 30s14 -11 14 -32c0 -51 -15 -97 -46 -138s-71 -62 -120 -62c-29 0 -55 7 -79 20s-51 34 -84 62z"
  5894. },
  5895. "&#x22e6;": {
  5896. x: 965,
  5897. d: "M769 690l-525 -248l524 -247c13 -6 20 -13 20 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7l-553 260c-13 6 -20 13 -20 22s7 17 20 23l553 261c8 4 14 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -8 -6 -15 -19 -22zM486 -144l-97 -177c-7 -12 -11 -19 -13 -22\ns-7 -4 -13 -4c-13 0 -20 7 -20 20c0 4 3 11 9 21l104 190c-53 45 -99 67 -140 67c-20 0 -39 -4 -58 -13s-38 -26 -54 -50s-25 -54 -26 -90c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32c0 51 15 97 46 138s71 62 120 62c29 0 54 -7 78 -20s52 -34 85 -62l97 177\nc7 12 12 19 14 22s6 4 12 4c13 0 20 -7 20 -20c0 -4 -3 -11 -9 -21l-104 -190c53 -45 99 -67 140 -67c37 0 68 14 95 42s41 62 43 104c0 20 5 30 14 30s14 -11 14 -32c0 -51 -15 -97 -46 -138s-71 -62 -120 -62c-29 0 -55 7 -79 20s-51 34 -84 62z"
  5898. },
  5899. "&#x2a86;": {
  5900. x: 965,
  5901. d: "M766 480l-550 -231c-9 -4 -16 -6 -19 -6c-5 0 -10 2 -14 6s-6 9 -6 14c0 4 1 8 3 11s6 5 8 6l12 6l516 217l-518 217c-14 6 -21 13 -21 22c0 5 2 10 6 14s9 6 14 6c1 0 7 -2 18 -6l551 -231c15 -6 22 -14 22 -23c0 -8 -7 -15 -22 -22zM815 -125c0 -45 -16 -83 -48 -115\ns-71 -47 -118 -47c-20 0 -41 3 -62 11s-38 15 -50 22s-28 17 -48 30c-29 19 -50 33 -64 41s-31 16 -51 23s-39 11 -58 11c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -9 -4 -15s-5 -8 -10 -8c-9 0 -14 10 -14 30c0 45 16 84 48 116s72 47 118 47c20 0 41 -3 62 -11\ns38 -15 50 -22s28 -17 48 -30c29 -19 50 -33 64 -41s31 -16 51 -23s39 -11 58 -11c36 0 67 10 94 31s41 46 44 74c1 21 6 32 14 32c9 0 14 -10 14 -31zM815 108c0 -45 -16 -82 -48 -114s-71 -48 -118 -48c-20 0 -41 4 -62 12s-38 14 -50 21s-28 17 -48 30\nc-29 19 -50 33 -64 41s-31 16 -51 23s-39 11 -58 11c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 10 -14 30c0 45 16 83 48 115s72 48 118 48c20 0 41 -4 62 -12s38 -14 50 -21s28 -17 48 -30c29 -19 50 -33 64 -41s31 -16 51 -23\ns39 -11 58 -11c36 0 67 11 94 32s41 45 44 73c1 21 6 32 14 32c9 0 14 -10 14 -31z"
  5902. },
  5903. "&#x2a85;": {
  5904. x: 965,
  5905. d: "M765 719l-516 -217l518 -217l8 -4c1 -1 3 -2 6 -4s4 -4 5 -6s2 -5 2 -8c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -10 2 -19 6l-550 231c-15 7 -22 14 -22 22c0 9 7 17 22 23l551 231c11 4 17 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -6 -2 -11 -5 -14s-9 -6 -18 -9z\nM815 -125c0 -45 -16 -83 -48 -115s-71 -47 -118 -47c-20 0 -41 3 -62 11s-38 15 -50 22s-28 17 -48 30c-29 19 -50 33 -64 41s-31 16 -51 23s-39 11 -58 11c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -9 -4 -15s-5 -8 -10 -8c-9 0 -14 10 -14 30c0 45 16 84 48 116\ns72 47 118 47c20 0 41 -3 62 -11s38 -15 50 -22s28 -17 48 -30c29 -19 50 -33 64 -41s31 -16 51 -23s39 -11 58 -11c36 0 67 10 94 31s41 46 44 74c1 21 6 32 14 32c9 0 14 -10 14 -31zM815 108c0 -45 -16 -82 -48 -114s-71 -48 -118 -48c-20 0 -41 4 -62 12s-38 14 -50 21\ns-28 17 -48 30c-29 19 -50 33 -64 41s-31 16 -51 23s-39 11 -58 11c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 10 -14 30c0 45 16 83 48 115s72 48 118 48c20 0 41 -4 62 -12s38 -14 50 -21s28 -17 48 -30c29 -19 50 -33 64 -41\ns31 -16 51 -23s39 -11 58 -11c36 0 67 11 94 32s41 45 44 73c1 21 6 32 14 32c9 0 14 -10 14 -31z"
  5906. },
  5907. "&#x22db;": {
  5908. x: 891,
  5909. d: "M718 632l-529 -202c-9 -4 -16 -6 -19 -6c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 8 17 23 23l492 188l-494 189c-14 5 -21 13 -21 22c0 5 2 10 6 14s9 6 14 6c3 0 9 -2 18 -6l532 -203c14 -5 21 -13 21 -22c0 -10 -8 -18 -23 -23zM718 33l-492 -188l494 -189\nc14 -6 21 -13 21 -22c0 -6 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -10 2 -19 6l-531 203c-14 5 -21 13 -21 22s8 17 24 23l529 202c9 4 15 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -10 -8 -18 -23 -23zM706 230h-521h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h519\nc24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17z"
  5910. },
  5911. "&#x22da;": {
  5912. x: 891,
  5913. d: "M718 843l-492 -188l494 -189c14 -5 21 -13 21 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -10 2 -19 6l-531 203c-14 5 -21 13 -21 22s8 17 23 23l530 202c9 4 15 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -10 -8 -18 -23 -23zM718 -178l-529 -202c-9 -4 -16 -6 -19 -6\nc-5 0 -10 2 -14 6s-6 8 -6 14c0 9 8 17 24 23l491 188l-494 189c-14 5 -21 13 -21 22c0 5 2 10 6 14s9 6 14 6c3 0 9 -2 18 -6l532 -203c14 -6 21 -13 21 -22c0 -10 -8 -18 -23 -23zM706 230h-521h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h519c24 0 36 -7 36 -20\nc0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17z"
  5914. },
  5915. "&#x2a8b;": {
  5916. x: 967,
  5917. d: "M737 960l-509 -188l512 -189c14 -5 21 -13 21 -22c0 -6 -3 -11 -7 -15s-8 -5 -13 -5c-3 0 -9 2 -18 6l-552 203c-14 5 -21 13 -21 22s8 17 23 23l549 202c10 4 16 6 19 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -10 -8 -18 -24 -23zM174 -420l509 188l-512 189\nc-14 5 -21 13 -21 22c0 6 2 11 6 15s9 5 14 5c3 0 9 -2 18 -6l552 -203c14 -6 21 -13 21 -22s-8 -17 -23 -23l-549 -202c-10 -4 -16 -6 -19 -6c-5 0 -10 2 -14 6s-6 9 -6 14c0 10 8 18 24 23zM185 193h541c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14\ns-8 -5 -12 -5s-10 -1 -17 -1h-541c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1zM185 387h541c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-541c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14\ns8 5 12 5s10 1 17 1z"
  5918. },
  5919. "&#x2a8c;": {
  5920. x: 967,
  5921. d: "M738 749l-550 -202c-9 -4 -15 -6 -18 -6c-5 0 -10 1 -14 5s-6 9 -6 15c0 9 8 17 23 23l510 188l-512 189c-14 5 -21 13 -21 22c0 5 2 10 6 14s9 6 14 6c3 0 9 -2 19 -6l551 -203c14 -5 21 -13 21 -22c0 -10 -8 -18 -23 -23zM738 -44l-510 -188l512 -189\nc14 -5 21 -13 21 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -19 6l-551 203c-14 5 -21 13 -21 22c0 10 8 18 24 23l549 202c9 4 15 6 18 6c5 0 9 -1 13 -5s7 -9 7 -15c0 -9 -8 -17 -23 -23zM726 153h-541c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20\nh539c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1zM725 347h-539c-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1h541c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -18 -1z"
  5922. },
  5923. "&#x2277;": {
  5924. x: 967,
  5925. d: "M739 399l-550 -231c-9 -4 -16 -6 -19 -6c-5 0 -10 2 -14 6s-6 9 -6 14c0 4 2 7 4 10s4 6 6 7s7 3 13 6l516 217l-518 217c-14 6 -21 13 -21 22c0 5 2 10 6 14s9 6 14 6c1 0 7 -2 18 -6l551 -231c15 -6 22 -14 22 -23c0 -8 -7 -15 -22 -22zM728 -246l-557 233\nc-14 6 -21 13 -21 22c0 6 2 10 5 13s10 6 19 10l547 230c9 4 16 6 20 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -8 -7 -15 -22 -22l-517 -217l517 -217c15 -6 22 -14 22 -23c0 -5 -2 -9 -6 -13s-9 -6 -14 -6c-2 0 -6 1 -13 4z"
  5926. },
  5927. "&#x2276;": {
  5928. x: 990,
  5929. d: "M816 639l-589 -218l589 -217c7 -3 12 -5 14 -6s4 -3 6 -6s4 -6 4 -10c0 -5 -2 -10 -6 -14s-9 -6 -15 -6c-2 0 -8 2 -18 6l-631 232c-13 5 -20 12 -20 22c0 9 7 17 21 22l630 231c10 4 16 5 18 5c6 0 11 -2 15 -6s6 -8 6 -13c0 -4 -2 -8 -4 -11s-4 -5 -6 -6s-7 -2 -14 -5z\nM762 9l-592 218c-13 5 -20 12 -20 21c0 13 6 20 19 20c3 0 10 -2 20 -6l627 -231c7 -3 12 -4 14 -5s4 -3 6 -6s4 -7 4 -11s-2 -8 -4 -11s-4 -5 -6 -6s-7 -2 -14 -5l-632 -233c-7 -3 -12 -4 -15 -4c-5 0 -9 2 -13 6s-6 8 -6 14c0 9 7 17 21 22z"
  5930. },
  5931. "&#x2273;": {
  5932. x: 965,
  5933. d: "M768 420l-553 -260c-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 6 16 19 22l525 248l-524 247c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21c0 5 2 10 6 14s9 6 14 6c4 0 11 -2 20 -7l551 -260c13 -7 20 -14 20 -23s-7 -16 -20 -22zM815 -26c0 -51 -15 -97 -46 -138\ns-71 -62 -120 -62c-22 0 -45 6 -67 16s-40 20 -54 31s-32 27 -56 48c-20 18 -36 32 -48 41s-28 18 -48 27s-40 14 -60 14s-39 -4 -58 -13s-38 -26 -54 -50s-25 -54 -26 -90c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32c0 51 15 97 46 138s71 62 120 62\nc22 0 44 -5 66 -15s40 -21 54 -32s33 -27 57 -48c20 -18 35 -31 47 -40s28 -19 48 -28s41 -14 61 -14c37 0 68 14 95 42s41 62 43 104c0 20 5 30 14 30s14 -11 14 -32z"
  5934. },
  5935. "&#x2272;": {
  5936. x: 965,
  5937. d: "M769 690l-525 -248l524 -247c13 -6 20 -13 20 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7l-553 260c-13 6 -20 13 -20 22s7 17 20 23l553 261c8 4 14 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -8 -6 -15 -19 -22zM815 -26c0 -51 -15 -97 -46 -138\ns-71 -62 -120 -62c-22 0 -45 6 -67 16s-40 20 -54 31s-32 27 -56 48c-20 18 -36 32 -48 41s-28 18 -48 27s-40 14 -60 14s-39 -4 -58 -13s-38 -26 -54 -50s-25 -54 -26 -90c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32c0 51 15 97 46 138s71 62 120 62\nc22 0 44 -5 66 -15s40 -21 54 -32s33 -27 57 -48c20 -18 35 -31 47 -40s28 -19 48 -28s41 -14 61 -14c37 0 68 14 95 42s41 62 43 104c0 20 5 30 14 30s14 -11 14 -32z"
  5938. },
  5939. "&#x232e;": {
  5940. x: 967,
  5941. d: "M742 711l-525 -248l524 -247c13 -6 20 -13 20 -22c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -9 2 -18 7l-553 260c-13 6 -20 13 -20 22s7 17 20 23l553 261c8 4 14 6 18 6c5 0 10 -2 14 -6s6 -9 6 -14c0 -9 -6 -16 -19 -22zM726 -174h-250v-64c0 -25 -7 -38 -20 -38\nc-6 0 -11 2 -14 6s-6 6 -6 10v17v69h-251h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h250v154h-251h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h250v69v17s3 6 6 10s8 6 14 6c13 0 20 -13 20 -38v-64h249c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-250\nv-154h249c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17z"
  5942. },
  5943. "&#x232f;": {
  5944. x: 967,
  5945. d: "M741 441l-553 -260c-9 -5 -15 -7 -18 -7c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 6 16 19 22l525 248l-524 247c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21c0 5 2 10 6 14s9 6 14 6c4 0 11 -2 20 -7l551 -260c13 -7 20 -14 20 -23s-7 -16 -20 -22zM726 -174h-250v-64\nc0 -25 -7 -38 -20 -38c-6 0 -11 2 -14 6s-6 6 -6 10v17v69h-251h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h250v154h-251h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h250v69v17s3 6 6 10s8 6 14 6c13 0 20 -13 20 -38v-64h249c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14\ns-8 -6 -12 -6h-17h-250v-154h249c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17z"
  5946. },
  5947. "&#x226f;": {
  5948. x: 967,
  5949. d: "M742 228l-362 -171l-123 -241c-5 -9 -9 -15 -12 -18s-7 -4 -11 -4c-5 0 -10 2 -14 6s-6 8 -6 14c0 10 36 82 107 215l-81 -37c-5 -3 -17 -9 -36 -18s-31 -13 -34 -13c-5 0 -10 2 -14 6s-6 8 -6 13c0 9 7 17 20 23l181 85l133 261l-314 148c-13 6 -20 14 -20 23\nc0 5 2 9 6 13s9 6 14 6c4 0 10 -2 18 -6l314 -148l154 302c7 13 14 19 21 19c5 0 10 -2 14 -6s6 -8 6 -14c0 -4 -3 -11 -8 -20l-151 -298l203 -96c1 0 1 0 2 -1c12 -6 18 -13 18 -21c0 -9 -6 -17 -19 -22zM520 332l-111 -216l285 134z"
  5950. },
  5951. "&#x2271;": {
  5952. x: 967,
  5953. d: "M451 188l-118 -285h393c8 0 14 -1 18 -1s8 -2 12 -5s5 -8 5 -14c0 -13 -12 -20 -37 -20h-408l-59 -142c-7 -16 -14 -24 -23 -24c-6 0 -10 2 -14 6s-6 9 -6 14s20 54 59 146h-86c-25 0 -37 7 -37 20c0 6 2 11 6 14s7 5 11 5s10 1 18 1h104l109 260l-212 -100\nc-8 -4 -13 -6 -16 -6c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 7 17 20 23l250 118l90 216l-338 160c-6 3 -10 4 -13 6s-5 4 -7 6s-2 6 -2 10c0 6 2 10 6 14s9 6 14 6s12 -2 21 -7l335 -158l136 326c4 4 9 6 15 6s11 -2 15 -6s5 -9 5 -14c0 -3 -2 -10 -6 -19l-129 -311l180 -84\nc13 -6 19 -13 19 -22c0 -6 -2 -10 -5 -13s-8 -6 -17 -10zM546 417l-72 -174l220 104z"
  5954. },
  5955. "&#x2270;": {
  5956. x: 967,
  5957. d: "M452 191l-119 -288h393c8 0 14 -1 18 -1s8 -2 12 -5s5 -8 5 -14c0 -13 -12 -20 -37 -20h-408l-59 -142c-7 -16 -14 -24 -23 -24c-6 0 -10 2 -14 6s-6 9 -6 14s20 54 59 146h-86c-25 0 -37 7 -37 20c0 6 2 11 6 14s7 5 11 5s10 1 18 1h104l128 305l-246 116\nc-14 7 -21 14 -21 23s7 16 21 23l389 183l102 244c4 4 9 6 15 6s11 -2 15 -6s5 -9 5 -14c0 -3 -2 -10 -6 -19l-77 -186l108 52c7 4 13 6 19 6c5 0 10 -2 14 -6s6 -8 6 -14c0 -5 -1 -10 -4 -12s-9 -5 -18 -10l-148 -71l-123 -295l271 -127c5 -3 9 -4 10 -5c2 -2 2 -2 6 -5\nc3 -2 4 -4 5 -6s1 -5 1 -8c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -49 21 -137 63zM537 498l-320 -151l215 -102z"
  5958. },
  5959. "&#x226e;": {
  5960. x: 967,
  5961. d: "M560 412l-132 -261c14 -7 48 -23 100 -48s101 -47 148 -69s72 -34 75 -36c7 -7 10 -12 10 -17c0 -7 -3 -12 -7 -15s-8 -5 -13 -5c-4 0 -12 3 -25 9l-36 17l-271 128c-101 -203 -155 -307 -161 -314c-3 -5 -8 -7 -14 -7c-5 0 -10 2 -14 6s-6 8 -6 14c0 5 5 16 14 33\nl145 285l-203 96c-1 0 -1 0 -2 1c-12 6 -18 13 -18 21s6 15 19 22l362 170l125 245c7 13 14 19 21 19c5 0 10 -2 14 -6s6 -8 6 -14c0 -4 -3 -11 -8 -20l-99 -196l135 64c8 3 13 5 16 5c5 0 9 -2 13 -5s7 -8 7 -15c0 -9 -7 -16 -20 -22zM502 384l-285 -134l174 -82z"
  5962. },
  5963. "&#x2331;": {
  5964. x: 967,
  5965. d: "M739 441l-235 -111l-92 -270h314h18s8 -3 12 -6s5 -8 5 -14c0 -13 -12 -20 -37 -20h-326l-52 -154h380h18s8 -3 12 -6s5 -8 5 -14c0 -13 -12 -20 -37 -20h-392l-76 -222c-5 -16 -12 -24 -22 -24c-6 0 -10 2 -14 6s-6 9 -6 14c0 3 2 10 5 20l71 206h-103\nc-25 0 -37 7 -37 20c0 6 2 11 6 14s7 6 11 6h18h118l53 154h-169c-25 0 -37 7 -37 20c0 6 2 11 6 14s7 6 11 6h18h185l84 246l-268 -126c-8 -4 -13 -6 -16 -6c-5 0 -10 2 -14 6s-6 9 -6 14c0 9 7 17 20 23l302 142l61 181l-361 171c-6 3 -10 5 -13 7s-5 4 -7 6s-2 5 -2 9\nc0 6 2 11 6 15s9 5 14 5s12 -2 21 -7l355 -168l109 318c5 16 12 24 22 24c6 0 11 -2 15 -6s5 -9 5 -14c0 -3 -2 -10 -5 -20l-109 -319l159 -75c13 -7 19 -14 19 -22c0 -6 -2 -10 -5 -13s-8 -6 -17 -10zM694 464l-124 59l-48 -141z"
  5966. },
  5967. "&#x2330;": {
  5968. x: 967,
  5969. d: "M613 651l-110 -323l127 -59l124 -59c5 -9 7 -15 7 -16c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -22 8 -57 25l-62 30c-14 7 -27 13 -40 19s-22 10 -30 14s-15 7 -22 10s-12 6 -16 8s-7 3 -10 4s-4 2 -6 3s-3 1 -4 2s-3 1 -4 2l-78 -231h314h18s8 -3 12 -6s5 -8 5 -14\nc0 -13 -12 -20 -37 -20h-326l-52 -154h380h18s8 -3 12 -6s5 -8 5 -14c0 -13 -12 -20 -37 -20h-392l-76 -222c-5 -16 -12 -24 -22 -24c-6 0 -10 2 -14 6s-6 9 -6 14c0 3 2 10 5 20l71 206h-103c-25 0 -37 7 -37 20c0 6 2 11 6 14s7 6 11 6h18h118l53 154h-169\nc-25 0 -37 7 -37 20c0 6 2 11 6 14s7 6 11 6h18h185l84 248l-283 133c-14 7 -21 14 -21 23s7 16 21 23l410 193l74 216c5 16 12 24 22 24c6 0 11 -2 15 -6s5 -9 5 -14c0 -3 -2 -10 -5 -20l-60 -176c68 33 104 49 109 49s10 -1 14 -5s6 -9 6 -15c0 -5 -1 -9 -4 -11\ns-9 -6 -18 -11zM217 464l250 -118l96 281z"
  5970. },
  5971. "&#x2332;": {
  5972. x: 967,
  5973. d: "M591 523l-123 -295l271 -127c5 -3 9 -4 10 -5c2 -2 2 -2 6 -5c3 -2 4 -4 5 -6s1 -5 1 -8c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -49 21 -137 63l-152 71l-51 -125l340 -160c13 -6 20 -14 20 -23c0 -5 -2 -10 -6 -14s-9 -6 -14 -6c-3 0 -13 4 -30 13l-250 118\nc-2 1 -9 4 -22 10s-24 11 -35 16s-16 8 -17 8c-2 0 -5 -4 -8 -13l-130 -312c-4 -4 -9 -6 -15 -6s-10 2 -14 6s-6 9 -6 14c0 3 2 10 6 19l129 311l-172 81c-9 4 -14 6 -17 8s-5 4 -7 7s-3 6 -3 10c0 5 2 10 6 14s9 6 14 6c1 0 16 -7 45 -20c4 -2 13 -7 27 -13s22 -10 26 -11\nl97 -46l52 125l-246 116c-14 7 -21 14 -21 23s7 16 21 23l389 183l102 244c4 4 9 6 15 6s11 -2 15 -6s5 -9 5 -14c0 -3 -2 -10 -6 -19l-77 -186l108 52c7 4 13 6 19 6c5 0 10 -2 14 -6s6 -8 6 -14c0 -5 -1 -10 -4 -12s-9 -5 -18 -10zM217 347l215 -102l105 253z"
  5974. },
  5975. "&#x2333;": {
  5976. x: 967,
  5977. d: "M739 130l-388 -183l-102 -244c-4 -4 -9 -6 -15 -6s-10 2 -14 6s-6 9 -6 14c0 3 2 10 6 19l77 185c-81 -39 -124 -58 -127 -58c-5 0 -10 2 -14 6s-6 9 -6 14c0 6 1 11 4 13s11 7 25 14l140 65c1 2 7 17 19 45s23 56 36 86s20 49 23 56l-211 -99c-8 -4 -13 -6 -16 -6\nc-5 0 -10 2 -14 6s-6 9 -6 14c0 9 7 17 20 23l250 118l90 216l-338 160c-6 3 -10 4 -13 6s-5 4 -7 6s-2 6 -2 10c0 6 2 10 6 14s9 6 14 6s12 -2 21 -7l335 -158l136 326c4 4 9 6 15 6s11 -2 15 -6s5 -9 5 -14c0 -3 -2 -10 -6 -19l-129 -311l180 -84c13 -6 19 -13 19 -22\nc0 -6 -2 -10 -5 -13s-8 -6 -17 -10l-288 -136l-77 -186l86 40l100 48l142 67c23 11 36 16 39 16c5 0 10 -2 14 -6s6 -9 6 -14c0 -6 -2 -10 -5 -13s-8 -6 -17 -10zM546 417l-72 -174l220 104z"
  5978. },
  5979. "&#x226c;": {
  5980. x: 651,
  5981. d: "M346 -129c33 -35 72 -66 118 -93c9 -5 14 -10 14 -15c0 -9 -4 -13 -12 -13c-3 0 -12 4 -26 12s-31 20 -53 37s-43 34 -62 52c-18 -18 -38 -35 -60 -51s-40 -30 -54 -38s-23 -12 -26 -12c-8 0 -12 4 -12 13c0 4 4 9 12 14c49 29 89 61 120 94c-17 20 -32 39 -44 55\ns-28 41 -48 74s-36 71 -47 114s-16 89 -16 136s5 93 16 136s27 81 47 114s36 58 48 74s27 35 44 55c-33 35 -72 66 -118 93c-9 5 -14 10 -14 15c0 9 4 13 12 13c3 0 11 -4 25 -12s32 -20 54 -37s43 -34 62 -52c18 18 38 35 60 51s40 30 54 38s23 12 26 12c8 0 12 -4 12 -13\nc0 -5 -4 -9 -12 -14c-49 -29 -89 -61 -120 -94c17 -20 32 -39 44 -55s28 -41 48 -74s35 -71 46 -114s17 -89 17 -136s-6 -93 -17 -136s-26 -81 -46 -114s-36 -58 -48 -74s-27 -35 -44 -55zM326 -107c19 22 37 47 54 74s33 67 50 120s26 107 26 163c0 45 -5 88 -15 130\ns-23 78 -39 108s-29 54 -41 72s-24 34 -36 47c-19 -22 -37 -47 -54 -74s-34 -67 -51 -120s-25 -107 -25 -163c0 -45 5 -88 15 -130s22 -78 38 -108s30 -54 42 -72s24 -34 36 -47z"
  5982. },
  5983. "&#x2280;": {
  5984. x: 967,
  5985. d: "M455 206l-206 -406c-4 -4 -9 -6 -15 -6s-10 2 -14 6s-6 9 -6 14c0 4 3 11 8 20l192 379c-68 11 -141 17 -220 17h-24s-10 3 -14 6s-6 7 -6 14c0 6 2 11 6 14s8 5 12 5s10 1 18 1c120 0 209 8 268 24c1 1 4 6 8 13l200 393c4 4 9 6 15 6s11 -2 15 -6s5 -9 5 -14\nc0 -4 -3 -11 -8 -20l-181 -358c36 11 67 24 94 40s48 30 62 44s25 31 34 50s14 32 16 42s5 22 7 36c2 13 9 19 20 19c13 0 20 -7 20 -21c0 -25 -8 -55 -25 -89c-22 -44 -54 -79 -95 -105s-94 -48 -159 -65l-4 -8l-3 -6c-1 -1 -1 -2 -1 -3c39 -8 74 -19 106 -33\ns58 -28 77 -43s37 -32 51 -50s24 -34 30 -48s12 -28 16 -43s6 -25 6 -30s1 -10 1 -13c0 -7 -3 -12 -7 -16s-8 -6 -13 -6c-11 0 -18 9 -21 28c-17 111 -106 184 -265 218z"
  5986. },
  5987. "&#x2281;": {
  5988. x: 967,
  5989. d: "M455 206l-206 -406c-4 -4 -9 -6 -15 -6s-10 2 -14 6s-6 9 -6 14c0 1 6 14 17 39l67 131c5 10 4 10 18 37c9 18 17 33 24 47s11 21 12 22l51 102c-36 -11 -67 -24 -94 -40s-47 -30 -61 -44s-25 -31 -34 -50s-16 -33 -18 -43s-4 -22 -6 -37c-2 -12 -9 -18 -20 -18\nc-5 0 -10 2 -14 6s-6 9 -6 16c0 26 8 56 25 89c23 45 55 81 97 107s94 47 157 63l4 8l3 6c1 1 1 2 1 3c-39 8 -75 19 -107 33s-57 28 -76 43s-36 32 -50 50s-26 34 -32 48s-11 28 -15 43s-7 25 -7 30v13c0 14 7 21 20 21c5 0 9 -2 12 -5s5 -5 6 -8s2 -8 3 -14\nc17 -112 106 -185 265 -218l206 406c4 4 9 6 15 6s11 -2 15 -6s5 -9 5 -14c0 -4 -3 -11 -8 -20l-192 -379c75 -11 149 -17 220 -17h25s9 -3 13 -6s6 -7 6 -14c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-18c-103 0 -193 -8 -270 -24z"
  5990. },
  5991. "&#x22e0;": {
  5992. x: 967,
  5993. d: "M495 293l-162 -390h393c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-410l-59 -142c-7 -16 -14 -24 -23 -24c-6 0 -10 2 -14 6s-6 9 -6 14s20 54 59 146h-88c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1\nh104l167 400c-75 16 -161 24 -258 24c-13 0 -23 0 -28 1s-10 2 -14 5s-6 7 -6 14c0 9 4 15 10 17s19 3 38 3c115 0 214 11 299 34l165 396c4 4 9 6 15 6s11 -2 15 -6s5 -9 5 -14c0 -3 -2 -10 -6 -19l-144 -346c35 14 65 30 89 48s41 36 52 56s19 38 23 50s7 27 10 45\nc2 13 9 19 20 19c13 0 20 -7 20 -21c0 -27 -9 -59 -28 -96c-35 -69 -104 -119 -207 -150l-15 -39c77 -22 138 -55 183 -100c23 -24 39 -51 50 -82s17 -54 17 -69c0 -7 -3 -13 -7 -17s-8 -5 -13 -5c-11 0 -18 9 -21 28c-16 103 -91 172 -225 208zM442 346l30 -6l5 15l-35 -8\nv-1z"
  5994. },
  5995. "&#x22e1;": {
  5996. x: 967,
  5997. d: "M502 311l-169 -408h393c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-410l-59 -142c-7 -16 -14 -24 -23 -24c-6 0 -10 2 -14 6s-6 9 -6 14s20 54 59 146h-88c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1\nh104l166 399c-77 -14 -139 -40 -186 -79c-43 -35 -70 -84 -79 -148c-2 -12 -9 -18 -20 -18c-5 0 -10 1 -14 5s-6 10 -6 17c0 25 8 54 24 87c21 43 54 80 99 110s110 54 195 70v1c-143 29 -239 83 -286 164c-9 15 -16 31 -21 49s-8 31 -9 39s-2 13 -2 16c0 14 7 21 20 21\nc5 0 9 -1 12 -4s5 -7 6 -10s2 -7 3 -13c9 -61 38 -109 87 -145s120 -63 212 -79l172 412c4 4 9 6 15 6s11 -2 15 -6s5 -9 5 -14c0 -3 -2 -10 -6 -19l-160 -385c40 -5 70 -8 91 -9l109 -3c20 0 30 -7 30 -20c0 -9 -3 -15 -9 -17s-17 -3 -32 -3c-86 0 -159 -5 -218 -16z"
  5998. },
  5999. "&#x227a;": {
  6000. x: 967,
  6001. d: "M439 249c97 -19 172 -49 225 -90c27 -21 49 -47 65 -77s25 -52 28 -66s4 -26 4 -34c0 -15 -7 -22 -20 -22c-11 0 -18 7 -21 22c-2 14 -4 26 -6 35s-9 23 -18 42s-20 35 -34 49s-33 28 -60 44s-58 29 -94 40c-81 23 -183 36 -308 37c-15 0 -24 0 -30 1s-10 2 -14 5\ns-6 7 -6 14c0 13 10 20 29 20c164 1 292 20 383 57s143 98 157 184c3 19 10 29 22 29c5 0 10 -2 14 -6s6 -9 6 -16s-2 -21 -7 -40s-11 -37 -20 -54c-48 -88 -146 -146 -295 -174z"
  6002. },
  6003. "&#x227b;": {
  6004. x: 967,
  6005. d: "M472 249c-57 11 -105 26 -146 45s-72 38 -93 58s-38 42 -53 67c-9 15 -16 33 -22 53s-8 36 -8 45c0 7 2 12 6 16s9 6 14 6c11 0 18 -8 21 -24c9 -53 30 -96 63 -129c77 -77 230 -116 457 -117c15 0 25 0 31 -1s10 -2 14 -5s5 -7 5 -14c0 -13 -10 -20 -29 -20\nc-144 -1 -256 -14 -335 -39c-35 -11 -65 -24 -91 -40s-46 -30 -59 -44s-24 -29 -33 -48s-15 -33 -17 -42s-4 -21 -7 -36c-1 -13 -8 -20 -20 -20c-13 0 -20 7 -20 22c0 7 1 18 4 32s12 37 28 67s37 56 64 77c52 41 127 71 226 91z"
  6006. },
  6007. "&#x227c;": {
  6008. x: 967,
  6009. d: "M188 310h29c26 0 64 2 115 6c49 5 92 12 132 21s72 19 98 29s49 24 69 39s35 29 45 41s19 27 26 44s12 29 14 38s4 21 6 35c0 3 2 6 5 10s8 6 14 6c7 0 12 -3 15 -7s5 -9 5 -14c0 -33 -12 -70 -36 -110c-47 -78 -143 -131 -288 -159c98 -16 177 -49 238 -98\nc23 -20 43 -45 57 -73s22 -49 25 -64s4 -26 4 -33c0 -6 -3 -11 -7 -15s-8 -6 -13 -6c-11 0 -18 9 -21 26c-15 107 -95 179 -240 214c-81 19 -167 29 -256 29c-35 0 -54 0 -59 1c-10 5 -15 12 -15 20c0 13 13 20 38 20zM650 -133c0 -7 -2 -11 -6 -15s-9 -6 -14 -6\nc-11 0 -18 8 -21 25c-7 47 -25 87 -55 120s-68 58 -112 75s-88 30 -131 38s-86 11 -131 11c-20 0 -30 7 -30 20c0 9 3 15 9 17s16 3 31 3c123 0 228 -26 317 -77c26 -15 49 -34 68 -54s34 -38 43 -54s17 -34 22 -52s8 -29 9 -36s1 -12 1 -15z"
  6010. },
  6011. "&#x227d;": {
  6012. x: 967,
  6013. d: "M694 310h29c25 0 38 -7 38 -20c0 -7 -3 -11 -7 -14s-9 -5 -14 -6s-14 -1 -27 -1c-115 0 -211 -10 -289 -31c-48 -13 -88 -28 -120 -47s-55 -39 -70 -61s-26 -42 -31 -57s-10 -34 -13 -55c-2 -12 -9 -18 -20 -18c-5 0 -10 2 -14 6s-6 9 -6 15c0 33 12 70 36 110\nc47 79 142 131 285 158v1c-96 16 -174 49 -235 98c-23 20 -42 44 -56 72s-23 49 -26 64s-4 26 -4 34c0 14 7 21 20 21c11 0 18 -9 21 -26c17 -108 97 -179 240 -214c81 -19 169 -29 263 -29zM761 135c0 -13 -9 -20 -26 -20c-37 0 -74 -2 -109 -7s-72 -12 -109 -24\ns-70 -27 -99 -44s-55 -41 -76 -70s-34 -61 -40 -98c-3 -17 -10 -26 -21 -26c-5 0 -9 2 -13 6s-7 8 -7 15c0 4 0 9 1 15s4 19 10 38s12 37 22 54s26 35 48 56s47 40 76 56c87 46 188 69 303 69c11 0 19 -1 23 -1s8 -1 12 -4s5 -8 5 -15z"
  6014. },
  6015. "&#x227e;": {
  6016. x: 965,
  6017. d: "M815 -26c0 -51 -15 -97 -46 -138s-71 -62 -120 -62c-22 0 -45 6 -67 16s-40 20 -54 31s-32 27 -56 48c-20 18 -36 32 -48 41s-28 18 -48 27s-40 14 -60 14s-39 -4 -58 -13s-38 -26 -54 -50s-25 -54 -26 -90c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32\nc0 51 15 97 46 138s71 62 120 62c22 0 44 -5 66 -15s40 -21 54 -32s33 -27 57 -48c20 -18 35 -31 47 -40s28 -19 48 -28s41 -14 61 -14c37 0 68 14 95 42s41 62 43 104c0 20 5 30 14 30s14 -11 14 -32zM467 442c150 -29 248 -87 294 -173c18 -35 27 -66 27 -95\nc0 -14 -7 -21 -20 -21c-11 0 -18 9 -21 26c-7 45 -26 86 -57 121s-83 64 -156 85c-81 23 -183 36 -307 37c-22 0 -33 0 -34 1c-3 0 -5 1 -8 4c-5 3 -8 8 -8 15c0 13 10 20 29 20c127 0 228 10 305 31c39 10 72 22 101 37s51 29 67 43s29 30 39 49s18 34 21 47s6 28 9 45\nc3 12 9 18 20 18c5 0 10 -2 14 -6s6 -9 6 -15c0 -27 -8 -57 -24 -88c-22 -43 -55 -81 -100 -111s-111 -53 -197 -70z"
  6018. },
  6019. "&#x227f;": {
  6020. x: 965,
  6021. d: "M815 -26c0 -51 -15 -97 -46 -138s-71 -62 -120 -62c-22 0 -45 6 -67 16s-40 20 -54 31s-32 27 -56 48c-20 18 -36 32 -48 41s-28 18 -48 27s-40 14 -60 14s-39 -4 -58 -13s-38 -26 -54 -50s-25 -54 -26 -90c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32\nc0 51 15 97 46 138s71 62 120 62c22 0 44 -5 66 -15s40 -21 54 -32s33 -27 57 -48c20 -18 35 -31 47 -40s28 -19 48 -28s41 -14 61 -14c37 0 68 14 95 42s41 62 43 104c0 20 5 30 14 30s14 -11 14 -32zM740 422c-61 0 -119 -3 -172 -10s-106 -18 -158 -34s-94 -40 -128 -72\ns-55 -71 -62 -117c-2 -14 -4 -24 -7 -29s-8 -7 -16 -7c-13 0 -20 7 -20 21c0 34 12 71 37 111c47 77 141 129 281 156v1c-95 19 -170 49 -223 92c-27 21 -48 47 -64 78s-26 54 -28 68s-3 24 -3 31c0 6 2 11 6 15s9 6 14 6c11 0 18 -8 21 -23c9 -67 43 -120 100 -159\ns142 -65 256 -78c53 -7 108 -10 166 -10h13h17s8 -3 12 -6s6 -8 6 -14s-2 -11 -6 -14s-8 -6 -12 -6h-17h-13z"
  6022. },
  6023. "&#x2282;": {
  6024. x: 967,
  6025. d: "M726 500h-267c-77 0 -141 -25 -192 -74s-77 -108 -77 -176s26 -127 77 -176s115 -74 192 -74h267h17s8 -3 12 -6s6 -8 6 -14s-2 -11 -6 -14s-8 -6 -12 -6h-17h-269c-85 0 -157 28 -217 85s-90 125 -90 205s30 148 90 205s132 85 217 85h269h17s8 -3 12 -6s6 -8 6 -14\ns-2 -11 -6 -14s-8 -6 -12 -6h-17z"
  6026. },
  6027. "&#x2283;": {
  6028. x: 967,
  6029. d: "M452 500h-267h-17s-8 3 -12 6s-6 8 -6 14s2 11 6 14s8 6 12 6h17h269c85 0 158 -28 218 -85s89 -125 89 -205s-29 -148 -89 -205s-133 -85 -218 -85h-269h-17s-8 3 -12 6s-6 8 -6 14s2 11 6 14s8 6 12 6h17h267c77 0 141 25 192 74s77 108 77 176s-26 127 -77 176\ns-115 74 -192 74z"
  6030. },
  6031. "&#x2288;": {
  6032. x: 967,
  6033. d: "M621 596l-206 -496c13 -2 28 -3 45 -3h266c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-269c-21 0 -41 2 -58 5l-66 -159h393c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-410l-59 -142\nc-7 -16 -14 -24 -23 -24c-6 0 -10 2 -14 6s-6 9 -6 14s20 54 59 146h-68c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1h84l71 169c-57 16 -107 48 -148 98s-62 109 -62 177c0 81 30 149 90 205s131 84 216 84h138l68 161c4 4 9 6 15 6s11 -2 15 -6\ns5 -9 5 -14c0 -3 -2 -10 -6 -19l-53 -128h88h17s8 -3 12 -6s6 -8 6 -14s-2 -11 -6 -14s-8 -6 -12 -6h-17h-105zM578 596h-119c-77 0 -141 -25 -192 -74s-77 -107 -77 -176c0 -57 18 -107 53 -150s79 -72 132 -87z"
  6034. },
  6035. "&#x2289;": {
  6036. x: 967,
  6037. d: "M691 764l-72 -173c39 -23 73 -56 101 -99s41 -91 41 -146c0 -81 -29 -149 -89 -205s-132 -84 -217 -84h-58l-64 -154h373c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-390l-59 -142c-7 -16 -14 -24 -23 -24c-6 0 -10 2 -14 6\ns-6 9 -6 14s20 54 59 146h-88c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1h104l65 154h-169c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1h185l198 476c-37 15 -76 23 -117 23h-266h-17s-8 3 -12 6s-6 8 -6 14\ns2 11 6 14s8 6 12 6h17h269c48 0 91 -9 130 -27l78 188c4 4 9 6 15 6s11 -2 15 -6s5 -9 5 -14c0 -3 -2 -10 -6 -19zM603 554l-189 -457c31 0 56 1 74 2s41 7 69 17s54 26 77 46c58 49 87 111 87 185c0 38 -10 76 -29 113s-48 68 -89 94z"
  6038. },
  6039. "&#x2286;": {
  6040. x: 967,
  6041. d: "M726 596h-267c-77 0 -141 -25 -192 -74s-77 -107 -77 -176c0 -68 25 -127 76 -176s116 -73 193 -73h267c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-269c-85 0 -157 29 -217 85s-90 124 -90 205c0 79 30 147 90 204\ns132 85 217 85h269h17s8 -3 12 -6s6 -8 6 -14s-2 -11 -6 -14s-8 -6 -12 -6h-17zM205 -97h521c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-521c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1z"
  6042. },
  6043. "&#x2287;": {
  6044. x: 967,
  6045. d: "M452 596h-267h-17s-8 3 -12 6s-6 8 -6 14s2 11 6 14s8 6 12 6h17h269c85 0 157 -28 217 -84s90 -125 90 -206c0 -79 -29 -147 -89 -204s-133 -85 -218 -85h-269c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1h267c77 0 141 24 192 73\ns77 108 77 177c0 68 -26 126 -77 175s-115 74 -192 74zM706 -137h-521c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1h521c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1z"
  6046. },
  6047. "&#x228a;": {
  6048. x: 967,
  6049. d: "M726 596h-267c-77 0 -141 -25 -192 -74s-77 -107 -77 -176c0 -67 25 -126 76 -175s115 -74 194 -74h266c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-269c-85 0 -157 28 -217 84s-90 125 -90 206s30 149 90 205s131 84 216 84h270\nh17s8 -3 12 -6s6 -8 6 -14s-2 -11 -6 -14s-8 -6 -12 -6h-17zM726 -137h-263l-85 -78c-14 -13 -24 -19 -29 -19c-13 0 -20 7 -20 20c0 5 5 12 14 23c1 1 5 4 12 10s15 13 25 23s18 17 23 21h-198c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1h243\nl85 78c14 13 24 19 29 19s9 -1 12 -4s5 -5 6 -8s2 -6 2 -8c0 -6 -5 -14 -14 -23c-1 -1 -5 -4 -12 -10s-16 -13 -26 -23s-17 -17 -22 -21h218c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1z"
  6050. },
  6051. "&#x228b;": {
  6052. x: 967,
  6053. d: "M451 596h-266h-17s-8 3 -12 6s-6 8 -6 14s2 11 6 14s8 6 12 6h17h269c85 0 158 -28 218 -84s89 -125 89 -206s-29 -149 -89 -205s-132 -84 -217 -84h-270c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1h267c77 0 141 24 192 73s77 108 77 177\nc0 67 -25 126 -76 175s-115 74 -194 74zM706 -137h-242c-45 -51 -68 -77 -70 -79c-11 -12 -20 -18 -25 -18c-13 0 -20 7 -20 20c0 4 4 11 12 21c3 5 11 13 23 27s21 24 26 29h-225c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1h262\nc31 35 54 61 70 78c12 13 20 19 25 19s9 -1 12 -4s5 -5 6 -8s2 -6 2 -8c0 -6 -4 -13 -12 -21l-49 -56h205c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1z"
  6054. },
  6055. "&#x2ab7;": {
  6056. x: 965,
  6057. d: "M467 442c150 -29 248 -87 294 -173c18 -35 27 -66 27 -95c0 -14 -7 -21 -20 -21c-11 0 -18 9 -21 26c-7 45 -26 86 -57 121s-83 64 -156 85c-81 23 -183 36 -307 37c-22 0 -33 0 -34 1c-3 0 -5 1 -8 4c-5 3 -8 8 -8 15c0 13 10 20 29 20c127 0 228 10 305 31\nc39 10 72 22 101 37s51 29 67 43s29 30 39 49s18 34 21 47s6 28 9 45c3 12 9 18 20 18c5 0 10 -2 14 -6s6 -9 6 -15c0 -27 -8 -57 -24 -88c-22 -43 -55 -81 -100 -111s-111 -53 -197 -70zM815 -125c0 -45 -16 -83 -48 -115s-71 -47 -118 -47c-20 0 -41 3 -62 11\ns-38 15 -50 22s-28 17 -48 30c-29 19 -50 33 -64 41s-31 16 -51 23s-39 11 -58 11c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -9 -4 -15s-5 -8 -10 -8c-9 0 -14 10 -14 30c0 45 16 84 48 116s72 47 118 47c20 0 41 -3 62 -11s38 -15 50 -22s28 -17 48 -30\nc29 -19 50 -33 64 -41s31 -16 51 -23s39 -11 58 -11c36 0 67 10 94 31s41 46 44 74c1 21 6 32 14 32c9 0 14 -10 14 -31zM815 108c0 -45 -16 -82 -48 -114s-71 -48 -118 -48c-20 0 -41 4 -62 12s-38 14 -50 21s-28 17 -48 30c-29 19 -50 33 -64 41s-31 16 -51 23\ns-39 11 -58 11c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 10 -14 30c0 45 16 83 48 115s72 48 118 48c20 0 41 -4 62 -12s38 -14 50 -21s28 -17 48 -30c29 -19 50 -33 64 -41s31 -16 51 -23s39 -11 58 -11c36 0 67 11 94 32\ns41 45 44 73c1 21 6 32 14 32c9 0 14 -10 14 -31z"
  6058. },
  6059. "&#x2ab8;": {
  6060. x: 965,
  6061. d: "M740 422c-61 0 -119 -3 -172 -10s-106 -18 -158 -34s-94 -40 -128 -72s-55 -71 -62 -117c-2 -14 -4 -24 -7 -29s-8 -7 -16 -7c-13 0 -20 7 -20 21c0 34 12 71 37 111c47 77 141 129 281 156v1c-95 19 -170 49 -223 92c-27 21 -48 47 -64 78s-26 54 -28 68s-3 24 -3 31\nc0 6 2 11 6 15s9 6 14 6c11 0 18 -8 21 -23c9 -67 43 -120 100 -159s142 -65 256 -78c53 -7 108 -10 166 -10h13h17s8 -3 12 -6s6 -8 6 -14s-2 -11 -6 -14s-8 -6 -12 -6h-17h-13zM815 -125c0 -45 -16 -83 -48 -115s-71 -47 -118 -47c-20 0 -41 3 -62 11s-38 15 -50 22\ns-28 17 -48 30c-29 19 -50 33 -64 41s-31 16 -51 23s-39 11 -58 11c-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -9 -4 -15s-5 -8 -10 -8c-9 0 -14 10 -14 30c0 45 16 84 48 116s72 47 118 47c20 0 41 -3 62 -11s38 -15 50 -22s28 -17 48 -30c29 -19 50 -33 64 -41\ns31 -16 51 -23s39 -11 58 -11c36 0 67 10 94 31s41 46 44 74c1 21 6 32 14 32c9 0 14 -10 14 -31zM815 108c0 -45 -16 -82 -48 -114s-71 -48 -118 -48c-20 0 -41 4 -62 12s-38 14 -50 21s-28 17 -48 30c-29 19 -50 33 -64 41s-31 16 -51 23s-39 11 -58 11\nc-32 0 -63 -10 -92 -29s-44 -48 -46 -85c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 10 -14 30c0 45 16 83 48 115s72 48 118 48c20 0 41 -4 62 -12s38 -14 50 -21s28 -17 48 -30c29 -19 50 -33 64 -41s31 -16 51 -23s39 -11 58 -11c36 0 67 11 94 32s41 45 44 73\nc1 21 6 32 14 32c9 0 14 -10 14 -31z"
  6062. },
  6063. "&#x2aaf;": {
  6064. x: 967,
  6065. d: "M439 346c97 -19 172 -49 225 -90c27 -21 49 -47 65 -77s25 -53 28 -67s4 -25 4 -33c0 -15 -7 -22 -20 -22c-11 0 -18 7 -21 22c-2 13 -4 25 -6 35s-8 24 -17 42s-21 34 -35 48s-33 30 -60 46s-58 28 -94 39c-81 23 -183 36 -308 37c-15 0 -24 0 -30 1s-10 2 -14 5\ns-6 7 -6 14c0 13 10 20 29 20c164 1 292 20 383 57s143 98 157 184c3 19 10 29 22 29c5 0 10 -2 14 -6s6 -9 6 -16s-2 -21 -7 -40s-11 -37 -20 -54c-48 -88 -146 -146 -295 -174zM185 -97h541c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5\ns-10 -1 -17 -1h-541c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1z"
  6066. },
  6067. "&#x2ab0;": {
  6068. x: 967,
  6069. d: "M472 346c-57 11 -105 25 -146 44s-72 38 -93 58s-38 43 -53 68c-9 15 -16 34 -22 54s-8 35 -8 44c0 7 2 12 6 16s9 6 14 6c11 0 18 -8 21 -24c9 -53 30 -96 63 -129c77 -77 230 -116 457 -117c15 0 25 0 31 -1s10 -2 14 -5s5 -7 5 -14c0 -13 -10 -20 -29 -20\nc-144 -1 -256 -14 -335 -39c-34 -11 -63 -24 -89 -39s-46 -30 -60 -44s-25 -28 -34 -46s-14 -32 -16 -42s-5 -21 -7 -34c-2 -17 -9 -25 -21 -25c-13 0 -20 7 -20 22c0 7 1 19 4 33s12 36 28 66s37 56 64 77c52 41 127 71 226 91zM185 -97h541c7 0 13 -1 17 -1s8 -2 12 -5\ns6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1h-541c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14s2 11 6 14s8 5 12 5s10 1 17 1z"
  6070. },
  6071. "&#x2ab9;": {
  6072. x: 965,
  6073. d: "M439 -114l60 117c-45 30 -79 51 -105 63s-52 18 -78 18c-19 0 -38 -3 -57 -10s-37 -20 -54 -38s-26 -40 -27 -66c0 -15 -5 -23 -14 -23s-14 10 -14 30c0 46 16 85 48 116s72 47 118 47c33 0 71 -11 114 -34c10 -5 24 -14 41 -26s34 -22 50 -32c5 9 16 29 31 60\ns24 48 27 52c6 11 10 17 12 19s6 3 11 3c13 0 20 -7 20 -20c0 -4 -5 -16 -16 -35c-5 -10 -10 -21 -16 -34s-13 -25 -20 -39s-12 -23 -14 -27c32 -17 63 -25 93 -25c35 0 66 10 93 31s42 45 45 74c1 21 6 32 14 32c9 0 14 -10 14 -31c0 -45 -16 -82 -48 -114\ns-71 -48 -118 -48c-33 0 -68 10 -105 29c-5 3 -8 5 -10 5l-8 -13l-60 -117c45 -30 80 -51 106 -63s51 -18 77 -18c35 0 66 10 93 31s42 45 45 74c1 21 6 32 14 32c9 0 14 -10 14 -31c0 -45 -16 -83 -48 -115s-71 -47 -118 -47c-33 0 -71 11 -114 34c-10 5 -24 13 -41 25\ns-34 23 -50 33c-5 -9 -16 -29 -31 -60s-24 -48 -27 -52c-6 -11 -10 -17 -12 -19s-6 -3 -11 -3c-13 0 -20 7 -20 20c0 4 5 16 16 35c5 10 11 21 17 34s13 26 20 40l13 26c-32 17 -63 25 -93 25c-19 0 -38 -4 -57 -11s-37 -19 -54 -37s-26 -40 -27 -66c0 -15 -5 -23 -14 -23\ns-14 10 -14 30c0 46 16 85 48 116s72 47 118 47c33 0 68 -10 105 -29c5 -3 8 -5 10 -5zM507 502c88 -15 157 -44 207 -89c21 -19 38 -41 50 -67s19 -44 21 -56s3 -21 3 -26c0 -14 -7 -21 -20 -21c-7 0 -11 2 -14 6s-5 8 -5 11c-3 15 -5 27 -8 36s-8 23 -17 41s-21 33 -34 45\ns-31 24 -56 38s-55 25 -88 33c-82 19 -173 29 -274 29h-57c-25 0 -38 7 -38 20c0 7 3 12 7 15s9 5 14 5s12 1 22 1c137 0 239 8 307 24c37 9 70 19 97 33s48 28 62 40s26 26 36 44s16 32 18 42s5 23 8 38c2 12 9 18 20 18c5 0 10 -2 14 -6s6 -9 6 -15s-2 -16 -4 -29\ns-9 -32 -22 -58s-29 -48 -50 -65c-49 -42 -118 -71 -205 -87z"
  6074. },
  6075. "&#x2aba;": {
  6076. x: 965,
  6077. d: "M439 -114l60 117c-45 30 -79 51 -105 63s-52 18 -78 18c-19 0 -38 -3 -57 -10s-37 -20 -54 -38s-26 -40 -27 -66c0 -15 -5 -23 -14 -23s-14 10 -14 30c0 46 16 85 48 116s72 47 118 47c33 0 71 -11 114 -34c10 -5 24 -14 41 -26s34 -22 50 -32c5 9 16 29 31 60\ns24 48 27 52c6 11 10 17 12 19s6 3 11 3c13 0 20 -7 20 -20c0 -4 -5 -16 -16 -35c-5 -10 -10 -21 -16 -34s-13 -25 -20 -39s-12 -23 -14 -27c32 -17 63 -25 93 -25c35 0 66 10 93 31s42 45 45 74c1 21 6 32 14 32c9 0 14 -10 14 -31c0 -45 -16 -82 -48 -114\ns-71 -48 -118 -48c-33 0 -68 10 -105 29c-5 3 -8 5 -10 5l-8 -13l-60 -117c45 -30 80 -51 106 -63s51 -18 77 -18c35 0 66 10 93 31s42 45 45 74c1 21 6 32 14 32c9 0 14 -10 14 -31c0 -45 -16 -83 -48 -115s-71 -47 -118 -47c-33 0 -71 11 -114 34c-10 5 -24 13 -41 25\ns-34 23 -50 33c-5 -9 -16 -29 -31 -60s-24 -48 -27 -52c-6 -11 -10 -17 -12 -19s-6 -3 -11 -3c-13 0 -20 7 -20 20c0 4 5 16 16 35c5 10 11 21 17 34s13 26 20 40l13 26c-32 17 -63 25 -93 25c-19 0 -38 -4 -57 -11s-37 -19 -54 -37s-26 -40 -27 -66c0 -15 -5 -23 -14 -23\ns-14 10 -14 30c0 46 16 85 48 116s72 47 118 47c33 0 68 -10 105 -29c5 -3 8 -5 10 -5zM693 482c-101 0 -187 -8 -259 -25c-36 -9 -67 -20 -94 -33s-48 -26 -62 -38s-26 -28 -35 -46s-15 -32 -18 -42s-5 -22 -8 -38c-3 -11 -9 -17 -20 -17c-13 0 -20 7 -20 21c0 6 1 16 3 29\ns10 33 23 59s29 47 50 64c49 42 117 71 202 86v1c-86 15 -154 44 -204 89c-21 19 -37 40 -49 66s-20 45 -22 57s-3 21 -3 26c0 6 2 11 6 15s9 6 14 6c11 0 17 -6 19 -17c5 -25 11 -47 18 -64s20 -37 42 -59s50 -39 84 -52s80 -24 142 -33s135 -14 219 -14c30 0 47 -1 52 -2\nc10 -2 15 -8 15 -19c0 -13 -13 -20 -38 -20h-57z"
  6078. },
  6079. "&#x2ab5;": {
  6080. x: 967,
  6081. d: "M217 443h-29c-25 0 -38 7 -38 20c0 7 2 12 6 15s10 4 15 5s14 1 27 1c115 0 211 10 289 31c48 13 88 28 120 47s56 40 71 62s25 41 30 56s10 34 13 55c2 12 9 18 20 18c5 0 10 -2 14 -6s6 -9 6 -15c0 -33 -12 -70 -36 -110c-47 -78 -143 -131 -288 -159\nc98 -16 177 -49 238 -98c23 -20 43 -44 57 -72s22 -49 25 -64s4 -26 4 -34c0 -14 -7 -21 -20 -21c-11 0 -18 9 -21 26c-17 108 -97 179 -240 214c-81 19 -169 29 -263 29zM557 20l-147 -154h315c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-355\nc-38 -41 -65 -69 -80 -84c-13 -12 -21 -18 -26 -18s-10 2 -14 6s-6 8 -6 13s3 11 10 18c1 1 4 4 7 8s6 7 7 8c17 19 32 36 47 49h-131h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h168l147 154h-316h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h354c38 41 65 69 80 84\nc13 12 21 18 26 18s10 -2 14 -6s6 -8 6 -13s-3 -11 -10 -18c-1 -1 -3 -4 -7 -8s-6 -7 -7 -8c-17 -19 -32 -36 -47 -49h130c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-169z"
  6082. },
  6083. "&#x2ab6;": {
  6084. x: 967,
  6085. d: "M723 443h-29c-26 0 -64 -2 -115 -6c-119 -11 -211 -35 -275 -73s-102 -91 -113 -162c-3 -19 -10 -28 -21 -28c-13 0 -20 7 -20 21c0 33 12 70 36 110c47 79 142 131 285 158v1c-96 16 -174 49 -235 98c-23 20 -42 44 -56 72s-23 49 -26 64s-4 26 -4 34c0 6 2 11 6 15\ns9 6 14 6c11 0 18 -9 21 -26c17 -108 97 -179 240 -214c85 -19 173 -29 262 -29c31 0 49 -1 53 -2c10 -1 15 -8 15 -19c0 -13 -13 -20 -38 -20zM557 20l-147 -154h315c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-355c-38 -41 -65 -69 -80 -84\nc-13 -12 -21 -18 -26 -18s-10 2 -14 6s-6 8 -6 13s3 11 10 18c1 1 4 4 7 8s6 7 7 8c17 19 32 36 47 49h-131h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h168l147 154h-316h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h354c38 41 65 69 80 84c13 12 21 18 26 18\ns10 -2 14 -6s6 -8 6 -13s-3 -11 -10 -18c-1 -1 -3 -4 -7 -8s-6 -7 -7 -8c-17 -19 -32 -36 -47 -49h130c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17h-169z"
  6086. },
  6087. "&#x22e8;": {
  6088. x: 965,
  6089. d: "M486 -144l-97 -177c-7 -12 -11 -19 -13 -22s-7 -4 -13 -4c-13 0 -20 7 -20 20c0 4 3 11 9 21l104 190c-53 45 -99 67 -140 67c-20 0 -39 -4 -58 -13s-38 -26 -54 -50s-25 -54 -26 -90c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32c0 51 15 97 46 138s71 62 120 62\nc29 0 54 -7 78 -20s52 -34 85 -62l97 177c7 12 12 19 14 22s6 4 12 4c13 0 20 -7 20 -20c0 -4 -3 -11 -9 -21l-104 -190c53 -45 99 -67 140 -67c37 0 68 14 95 42s41 62 43 104c0 20 5 30 14 30s14 -11 14 -32c0 -51 -15 -97 -46 -138s-71 -62 -120 -62c-29 0 -55 7 -79 20\ns-51 34 -84 62zM467 442c150 -29 248 -87 294 -173c18 -35 27 -66 27 -95c0 -14 -7 -21 -20 -21c-11 0 -18 9 -21 26c-7 45 -26 86 -57 121s-83 64 -156 85c-81 23 -183 36 -307 37c-22 0 -33 0 -34 1c-3 0 -5 1 -8 4c-5 3 -8 8 -8 15c0 13 10 20 29 20c127 0 228 10 305 31\nc39 10 72 22 101 37s51 29 67 43s29 30 39 49s18 34 21 47s6 28 9 45c3 12 9 18 20 18c5 0 10 -2 14 -6s6 -9 6 -15c0 -27 -8 -57 -24 -88c-22 -43 -55 -81 -100 -111s-111 -53 -197 -70z"
  6090. },
  6091. "&#x22e9;": {
  6092. x: 965,
  6093. d: "M486 -144l-97 -177c-7 -12 -11 -19 -13 -22s-7 -4 -13 -4c-13 0 -20 7 -20 20c0 4 3 11 9 21l104 190c-53 45 -99 67 -140 67c-20 0 -39 -4 -58 -13s-38 -26 -54 -50s-25 -54 -26 -90c0 -4 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32c0 51 15 97 46 138s71 62 120 62\nc29 0 54 -7 78 -20s52 -34 85 -62l97 177c7 12 12 19 14 22s6 4 12 4c13 0 20 -7 20 -20c0 -4 -3 -11 -9 -21l-104 -190c53 -45 99 -67 140 -67c37 0 68 14 95 42s41 62 43 104c0 20 5 30 14 30s14 -11 14 -32c0 -51 -15 -97 -46 -138s-71 -62 -120 -62c-29 0 -55 7 -79 20\ns-51 34 -84 62zM498 442c-97 19 -172 49 -226 92c-27 21 -48 47 -64 78s-26 54 -28 68s-3 24 -3 31c0 6 2 11 6 15s9 6 14 6c11 0 18 -8 21 -23c11 -73 49 -129 114 -168s160 -64 286 -74c43 -3 83 -5 120 -5c22 0 33 0 34 -1c3 0 5 -1 8 -4c5 -3 8 -8 8 -15\nc0 -13 -10 -20 -29 -20c-335 -2 -514 -80 -539 -233c-2 -14 -4 -24 -7 -29s-8 -7 -16 -7c-13 0 -20 7 -20 21c0 34 12 71 37 111c47 77 141 130 284 157z"
  6094. },
  6095. "&#x223c;": {
  6096. x: 967,
  6097. d: "M817 334c0 -51 -15 -96 -46 -138s-71 -63 -122 -63c-21 0 -43 5 -65 15s-40 20 -53 31s-31 26 -53 46c-22 19 -39 34 -51 43s-28 18 -49 28s-41 15 -60 15c-35 0 -67 -13 -95 -39s-43 -64 -45 -115c0 -3 -2 -8 -4 -14s-5 -9 -10 -9c-9 0 -14 11 -14 32c0 51 15 96 46 138\ns71 63 122 63c21 0 43 -5 65 -15s40 -20 53 -31s31 -26 53 -46c22 -19 39 -34 51 -43s28 -18 49 -28s41 -15 60 -15c37 0 69 14 96 41s42 64 44 110c1 17 5 26 14 26s14 -11 14 -32z"
  6098. },
  6099. "&#x225c;": {
  6100. x: 966,
  6101. d: "M505 842l192 -334c0 -12 -2 -19 -7 -22s-15 -4 -29 -4h-356h-18s-8 3 -12 6s-6 8 -6 14c0 5 3 12 8 21l184 319c7 11 14 17 22 17s15 -6 22 -17zM483 799l-160 -277h320zM186 173h594c8 0 14 -1 18 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1\nh-596c-7 0 -13 1 -17 1s-8 2 -12 5s-6 8 -6 14c0 13 12 20 36 20zM185 367h596c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -18 -1h-594c-24 0 -36 7 -36 20c0 6 2 11 6 14s8 5 12 5s10 1 17 1z"
  6102. },
  6103. "&#x21b6;": {
  6104. x: 1235,
  6105. d: "M350 88c68 85 143 105 144 105c11 0 11 -12 11 -15c0 -12 -1 -12 -17 -20c-69 -30 -115 -76 -146 -140c-7 -15 -8 -17 -15 -17s-9 5 -12 10c-35 77 -85 121 -155 151c-9 3 -10 7 -10 15c0 5 0 16 11 16c8 0 92 -33 147 -110c28 249 212 379 388 379\nc245 0 389 -234 389 -426c0 -17 0 -34 -20 -34c-19 0 -20 17 -20 44c-3 154 -123 376 -349 376c-185 0 -329 -152 -346 -334z"
  6106. },
  6107. "&#x21b7;": {
  6108. x: 1236,
  6109. d: "M928 83c55 78 139 110 147 110c11 0 11 -11 11 -16c0 -11 -2 -12 -15 -17c-102 -45 -136 -118 -152 -153c-2 -4 -6 -6 -10 -6c-7 0 -9 4 -13 12c-12 26 -49 103 -145 144c-19 9 -20 9 -20 21c0 3 0 15 11 15c3 0 77 -21 144 -105c-16 180 -159 334 -347 334\nc-200 0 -346 -184 -349 -390c0 -9 0 -30 -20 -30s-20 17 -20 34c0 194 146 426 389 426c190 0 365 -146 389 -379z"
  6110. },
  6111. "&#x21ba;": {
  6112. x: 965,
  6113. d: "M622 393l-30 9c-9 50 -31 98 -73 139c-16 16 -17 16 -30 17c-7 0 -19 1 -19 12c0 13 13 13 21 13c16 0 44 -4 47 -4s69 14 127 76c7 -2 24 -7 29 -8c-45 -52 -105 -78 -109 -80c159 -56 230 -194 230 -317c0 -182 -148 -333 -333 -333c-181 0 -332 148 -332 333\nc0 206 176 301 194 301c11 0 12 -10 12 -12c0 -7 -4 -10 -14 -15c-139 -76 -167 -202 -167 -274c0 -169 137 -308 308 -308c167 0 307 137 307 308c0 130 -84 254 -220 295l-5 -20c37 -50 51 -97 57 -132z"
  6114. },
  6115. "&#x21bb;": {
  6116. x: 965,
  6117. d: "M400 525l-5 20c-136 -41 -220 -164 -220 -295c0 -169 137 -308 308 -308c167 0 307 137 307 308c0 69 -26 197 -168 275c-8 4 -13 7 -13 14c0 2 1 12 12 12c18 0 194 -96 194 -301c0 -182 -148 -333 -333 -333c-181 0 -332 148 -332 333c0 122 70 261 230 317\nc-4 2 -64 28 -109 80c5 1 22 6 29 8c57 -62 124 -76 127 -76s31 4 47 4c8 0 21 0 21 -13c0 -11 -11 -12 -21 -12c-9 0 -14 -1 -36 -24c-40 -44 -58 -91 -65 -132l-30 -9c6 37 21 84 57 132z"
  6118. },
  6119. "&#x21be;": {
  6120. x: 487,
  6121. d: "M190 608v-767c0 -17 0 -35 -20 -35s-20 17 -20 35v853h20c27 -55 81 -119 167 -151v-31c-25 8 -86 27 -147 96z"
  6122. },
  6123. "&#x21bf;": {
  6124. x: 487,
  6125. d: "M337 694v-853c0 -17 0 -35 -20 -35s-20 17 -20 35v767c-61 -69 -122 -88 -147 -96v31c85 32 140 95 167 151h20z"
  6126. },
  6127. "&#x21c2;": {
  6128. x: 487,
  6129. d: "M190 659v-767c61 69 122 88 147 96v-31c-85 -32 -140 -95 -167 -151h-20v853c0 17 0 35 20 35s20 -17 20 -35z"
  6130. },
  6131. "&#x21c3;": {
  6132. x: 487,
  6133. d: "M337 659v-853h-20c-27 55 -81 119 -167 151v31c25 -8 86 -27 147 -96v767c0 17 0 35 20 35s20 -17 20 -35z"
  6134. },
  6135. "&#x21c4;": {
  6136. x: 1187,
  6137. d: "M1002 480h-771c9 -8 66 -57 101 -147h-31c-16 45 -56 116 -150 167c94 50 133 121 150 167h31c-35 -90 -92 -139 -101 -147h771c17 0 35 0 35 -20s-17 -20 -35 -20zM956 147h-771c-18 0 -35 0 -35 20s17 20 36 20h770c-17 15 -71 68 -101 146h31c30 -79 91 -136 150 -166\nc-68 -37 -122 -91 -150 -167h-31c9 23 34 87 101 147z"
  6138. },
  6139. "&#x21c6;": {
  6140. x: 1187,
  6141. d: "M956 480h-771c-17 0 -35 0 -35 20s17 20 35 20h771c-45 40 -79 91 -101 147h31c16 -45 56 -116 150 -167c-94 -50 -133 -121 -150 -167h-31c35 90 92 139 101 147zM1002 147h-771c67 -60 92 -123 101 -147h-31c-28 74 -80 129 -150 167c61 31 121 88 150 166h31\nc-28 -75 -79 -127 -101 -146h770c19 0 36 0 36 -20s-17 -20 -35 -20z"
  6142. },
  6143. "&#x21c8;": {
  6144. x: 966,
  6145. d: "M670 613v-770c0 -19 0 -37 -20 -37s-20 16 -20 34v774c-22 -23 -69 -73 -147 -102c-78 29 -125 79 -147 102v-774c0 -18 0 -34 -20 -34s-20 18 -20 37v770c-40 -45 -90 -79 -146 -101v31c67 25 127 75 167 151c33 -70 95 -124 166 -151c76 29 134 85 167 151\nc46 -92 120 -134 166 -151v-31c-29 12 -90 38 -146 101z"
  6146. },
  6147. "&#x21ca;": {
  6148. x: 966,
  6149. d: "M670 657v-770c40 45 90 79 146 101v-31c-50 -19 -122 -63 -166 -151h-1c-33 70 -95 124 -166 151c-76 -29 -134 -85 -167 -151c-46 92 -120 134 -166 151v31c29 -12 90 -38 146 -101v770c0 19 0 37 20 37s20 -16 20 -34v-774c22 23 69 73 147 102\nc78 -29 125 -79 147 -102v774c0 18 0 34 20 34s20 -18 20 -37z"
  6150. },
  6151. "&#x21cb;": {
  6152. x: 1187,
  6153. d: "M1002 327h-852v20c55 27 119 81 151 167h31c-8 -25 -27 -86 -96 -147h766c17 0 35 0 35 -20s-17 -20 -35 -20zM951 133h-766c-17 0 -35 0 -35 20s17 20 35 20h852v-20c-55 -27 -119 -81 -151 -167h-31c8 25 27 86 96 147z"
  6154. },
  6155. "&#x21cc;": {
  6156. x: 1187,
  6157. d: "M1037 327h-852c-17 0 -35 0 -35 20s17 20 35 20h766c-69 61 -88 122 -96 147h31c32 -85 95 -140 151 -167v-20zM1002 133h-766c69 -61 88 -122 96 -147h-31c-32 85 -95 140 -151 167v20h852c17 0 35 0 35 -20s-17 -20 -35 -20z"
  6158. },
  6159. "&#x21cd;": {
  6160. x: 1186,
  6161. d: "M745 327l-65 -154h320c18 0 36 0 36 -20s-18 -20 -35 -20h-338l-62 -147c-4 -9 -8 -19 -21 -19c-8 0 -20 6 -20 20c0 7 52 127 60 146h-207c81 -89 100 -144 100 -146c0 -12 -11 -12 -20 -12c-6 0 -11 0 -15 3c-2 1 -2 3 -13 22c-49 91 -139 192 -299 237\nc-11 3 -16 5 -16 13s5 10 17 13c158 45 250 146 301 243c10 18 10 19 25 19c9 0 20 0 20 -12c0 -3 -19 -58 -100 -146h306l61 144c6 15 10 22 22 22c8 0 20 -6 20 -20c0 -3 -1 -5 -6 -18l-54 -128h239c17 0 35 0 35 -20s-18 -20 -36 -20h-255zM702 327h-314\nc-18 0 -19 -1 -21 -2c-1 0 -9 -6 -19 -14c-45 -33 -103 -59 -107 -61c4 -2 58 -25 114 -67c13 -10 15 -10 33 -10h249z"
  6162. },
  6163. "&#x21ce;": {
  6164. x: 1229,
  6165. d: "M713 497l-41 -130h186c-59 70 -86 141 -86 146c0 12 13 12 19 12c15 0 16 -1 24 -19c61 -138 163 -207 257 -246c1 0 7 -2 7 -10c0 -6 -4 -9 -6 -10c-49 -20 -183 -77 -258 -247c-8 -17 -8 -18 -24 -18c-6 0 -19 0 -19 12c0 5 28 77 86 146h-260\nc-14 -48 -30 -97 -45 -145c-4 -10 -7 -21 -22 -21c-5 0 -20 4 -20 20c0 6 18 60 22 71c7 21 18 59 23 75h-185c59 -70 86 -141 86 -146c0 -12 -13 -12 -19 -12c-15 0 -16 1 -24 19c-61 138 -163 207 -257 246c-1 0 -7 2 -7 10c0 6 4 9 6 10c49 20 183 77 258 247\nc8 17 8 18 24 18c6 0 19 0 19 -12c0 -5 -28 -77 -86 -146h260c14 48 30 97 45 145c4 10 7 21 22 21c5 0 20 -4 20 -20c0 -1 -4 -14 -5 -16zM331 173h238l49 154h-287c-33 -33 -75 -60 -105 -77c30 -17 72 -44 105 -77zM660 327l-49 -154h287c33 33 75 60 105 77\nc-30 17 -72 44 -105 77h-238z"
  6166. },
  6167. "&#x21cf;": {
  6168. x: 1186,
  6169. d: "M620 495l-54 -128h207c-81 89 -100 144 -100 146c0 12 11 12 20 12c6 0 11 0 15 -3c2 -1 2 -3 13 -22c49 -91 139 -192 299 -237c11 -3 16 -5 16 -13s-5 -10 -17 -13c-158 -45 -250 -146 -301 -243c-10 -18 -10 -19 -25 -19c-9 0 -20 0 -20 12c0 3 19 58 100 146h-306\nl-62 -147c-4 -9 -8 -19 -21 -19c-8 0 -20 6 -20 20c0 7 52 127 60 146h-239c-17 0 -35 0 -35 20s19 20 36 20h255l65 154h-320c-17 0 -36 0 -36 20s18 20 35 20h338l61 144c6 15 10 22 22 22c8 0 20 -6 20 -20c0 -3 -1 -5 -6 -18zM484 173h314c18 0 19 1 21 2c1 0 9 6 19 14\nc45 33 103 59 107 61c-4 2 -58 25 -114 67c-13 10 -15 10 -33 10h-249z"
  6170. },
  6171. "&#x21d0;": {
  6172. x: 1188,
  6173. d: "M1003 133h-591c49 -47 100 -134 100 -147c0 -11 -13 -11 -19 -11c-14 0 -15 1 -26 21c-56 107 -156 198 -291 238c-19 6 -20 7 -22 8l-3 2c-1 2 -1 4 -1 6s0 5 2 6c2 2 3 3 20 9c52 15 119 42 188 103c65 58 93 111 114 149c4 8 11 8 19 8c6 0 19 0 19 -11\nc0 -13 -52 -101 -100 -147h591c17 0 35 0 35 -20s-18 -20 -36 -20h-635c-41 -35 -90 -61 -126 -77c33 -15 84 -41 126 -77h635c18 0 36 0 36 -20s-18 -20 -35 -20z"
  6174. },
  6175. "&#x21d1;": {
  6176. x: 848,
  6177. d: "M541 430v-588c0 -18 0 -36 -20 -36s-20 19 -20 36v634c-38 45 -65 99 -77 126c-11 -25 -38 -80 -77 -126v-634c0 -18 0 -36 -20 -36s-20 18 -20 36v588c-34 -31 -48 -42 -69 -57c-31 -21 -71 -43 -77 -43c-11 0 -11 11 -11 20c0 11 0 16 8 20c152 78 220 192 255 312\nc1 4 3 11 11 11c4 0 9 -2 10 -8c31 -106 92 -231 252 -313c12 -6 12 -8 12 -22c0 -9 0 -20 -11 -20c-6 0 -44 21 -77 44c-16 11 -30 20 -69 56z"
  6178. },
  6179. "&#x21d2;": {
  6180. x: 1188,
  6181. d: "M821 327h-635c-17 0 -36 0 -36 20s18 20 35 20h591c-49 47 -100 134 -100 147c0 11 13 11 19 11c14 0 15 -1 26 -21c56 -107 156 -198 291 -238c19 -6 20 -7 22 -8l3 -2c1 -2 1 -4 1 -6s0 -5 -2 -6c-2 -2 -3 -3 -20 -9c-52 -15 -119 -42 -188 -103\nc-65 -58 -93 -111 -114 -149c-4 -8 -11 -8 -19 -8c-6 0 -19 0 -19 11c0 13 52 101 100 147h-591c-17 0 -35 0 -35 20s19 20 36 20h635c41 35 90 61 126 77c-33 15 -84 41 -126 77z"
  6182. },
  6183. "&#x21d3;": {
  6184. x: 848,
  6185. d: "M541 658v-588c34 31 48 42 69 57c31 21 71 43 77 43c11 0 11 -11 11 -20c0 -11 0 -16 -8 -20c-143 -74 -217 -181 -255 -312c-1 -4 -3 -11 -11 -11c-4 0 -9 2 -10 8c-32 112 -97 233 -252 313c-12 6 -12 8 -12 22c0 9 0 20 11 20c6 0 44 -21 77 -44c16 -11 30 -20 69 -56\nv588c0 18 0 36 20 36s20 -18 20 -36v-634c38 -45 65 -99 77 -126c11 25 38 80 77 126v634c0 17 0 36 20 36s20 -18 20 -36z"
  6186. },
  6187. "&#x21d4;": {
  6188. x: 1231,
  6189. d: "M370 367h491c-57 65 -87 138 -87 146c0 12 11 12 20 12c12 0 16 -1 20 -10c51 -116 133 -201 243 -247c20 -9 21 -10 23 -12c1 -2 1 -4 1 -6c0 -7 -3 -8 -17 -14c-131 -56 -205 -148 -246 -240c-9 -20 -9 -21 -24 -21c-9 0 -20 0 -20 12c0 8 30 81 87 146h-491\nc57 -65 87 -138 87 -146c0 -12 -11 -12 -20 -12c-12 0 -16 1 -20 10c-51 116 -133 201 -243 247c-20 9 -21 10 -23 12c-1 2 -1 4 -1 6c0 7 3 8 17 14c131 56 205 148 246 240c9 20 9 21 24 21c9 0 20 0 20 -12c0 -8 -30 -81 -87 -146zM331 173h569c20 20 50 45 105 77\nc-41 24 -75 48 -105 77h-569c-20 -20 -50 -45 -105 -77c41 -24 75 -48 105 -77z"
  6190. },
  6191. "&#x21d5;": {
  6192. x: 848,
  6193. d: "M541 550v-600c67 56 140 86 146 86c11 0 11 -10 11 -19c0 -12 0 -14 -3 -16c-1 -1 -2 -2 -20 -11c-68 -30 -175 -98 -237 -246c-5 -11 -7 -15 -14 -15s-9 3 -14 16c-57 133 -145 205 -251 251c-9 4 -9 7 -9 21c0 9 0 19 11 19c6 0 79 -29 146 -86v600\nc-67 -56 -140 -86 -146 -86c-11 0 -11 10 -11 19c0 12 0 14 3 16c1 1 2 2 20 11c68 30 175 98 237 246c5 11 7 15 14 15s9 -3 14 -16c57 -133 145 -205 251 -251c9 -4 9 -7 9 -21c0 -9 0 -19 -11 -19c-6 0 -79 29 -146 86zM347 590v-680c33 -34 59 -72 77 -105\nc18 33 44 71 77 105v680c-33 34 -59 72 -77 105c-18 -33 -44 -71 -77 -105z"
  6194. },
  6195. "&#x21da;": {
  6196. x: 1166,
  6197. d: "M981 230h-738c84 -57 131 -116 154 -144c8 -9 9 -10 28 -10h555c17 0 36 0 36 -20s-18 -20 -35 -20h-547c34 -55 58 -107 72 -147h-47c-57 160 -166 282 -309 361c151 83 255 209 309 361h47c-12 -35 -36 -88 -72 -147h547c17 0 35 0 35 -20s-19 -20 -36 -20h-555\nc-19 0 -20 -1 -28 -11c-21 -25 -70 -86 -154 -143h738c17 0 35 0 35 -20s-17 -20 -35 -20z"
  6198. },
  6199. "&#x21db;": {
  6200. x: 1166,
  6201. d: "M741 424h-556c-17 0 -35 0 -35 20s17 20 35 20h547c-34 55 -58 107 -72 147h47c57 -160 166 -282 309 -361c-151 -83 -255 -209 -309 -361h-47c12 35 36 88 72 147h-547c-17 0 -35 0 -35 20s17 20 35 20h556c19 0 20 1 28 11c21 25 70 86 154 143h-738\nc-20 0 -35 0 -35 20s15 20 35 20h738c-84 57 -131 116 -154 144c-8 9 -9 10 -28 10z"
  6202. },
  6203. "&#x21dd;": {
  6204. x: 1187,
  6205. d: "M284 342l164 -148c22 19 162 146 165 148c11 9 13 11 20 11s9 0 27 -16c23 -20 34 -31 73 -67h224c-9 8 -66 57 -101 147h31c16 -45 56 -116 150 -167c-94 -50 -133 -121 -150 -167h-31c35 90 92 139 101 147h-216c-21 0 -23 0 -34 10l-74 66l-75 -68l-79 -71\nc-22 -20 -24 -20 -31 -20s-9 0 -23 14c-5 4 -23 20 -25 21l-137 124c-27 -22 -47 -42 -68 -60c-17 -16 -19 -16 -25 -16c-10 0 -20 9 -20 20c0 9 4 13 16 24l68 60c20 19 22 19 29 19c3 0 9 0 21 -11z"
  6206. },
  6207. "&#x21ab;": {
  6208. x: 1206,
  6209. d: "M755 230v-237c0 -17 0 -35 -20 -35s-20 18 -20 35v237h-485c9 -8 66 -57 101 -147h-31c-16 45 -56 116 -150 167c94 50 133 121 150 167h31c-35 -90 -92 -139 -101 -147h485v60c0 153 29 246 171 246c108 0 170 -51 170 -172c0 -135 -80 -174 -239 -174h-62zM755 270h59\nc160 0 202 37 202 134c0 96 -41 132 -130 132c-99 0 -131 -45 -131 -209v-57z"
  6210. },
  6211. "&#x21ac;": {
  6212. x: 1206,
  6213. d: "M491 230v-237c0 -17 0 -35 -20 -35s-20 19 -20 36v236h-62c-160 0 -239 39 -239 174c0 110 51 172 170 172c141 0 171 -92 171 -246v-60h485c-9 8 -66 57 -101 147h31c16 -45 56 -116 150 -167c-94 -50 -133 -121 -150 -167h-31c35 90 92 139 101 147h-485zM392 270h59\nv57c0 164 -33 209 -131 209c-89 0 -130 -36 -130 -132c0 -97 42 -134 202 -134z"
  6214. },
  6215. "&#x21ad;": {
  6216. x: 1574,
  6217. d: "M1344 230h-134c-25 0 -26 1 -55 32l-42 42l-78 -79c-16 -17 -55 -60 -73 -74c-5 -4 -10 -4 -12 -4c-9 0 -12 4 -22 13c-23 24 -53 53 -69 71c-23 25 -47 49 -72 73c-24 -23 -48 -47 -71 -72l-40 -40c-7 -8 -26 -27 -33 -35c-7 -6 -11 -10 -19 -10c-2 0 -8 0 -13 4\nc-15 14 -51 52 -65 67c-29 28 -73 72 -85 86c-60 -58 -48 -50 -65 -65c-9 -8 -10 -9 -32 -9h-134c9 -8 66 -57 101 -147h-31c-16 45 -56 116 -150 167c94 50 133 121 150 167h31c-35 -90 -92 -139 -101 -147h141l54 55c27 27 28 28 36 28s11 -2 22 -14l141 -143l150 153\nc1 0 5 4 13 4c6 0 10 -1 22 -13l142 -144c17 18 145 149 149 152c6 5 11 5 13 5c8 0 9 -1 46 -37l44 -46h141c-45 40 -79 91 -101 147h31c29 -77 83 -131 150 -167c-59 -30 -119 -85 -150 -167h-31c33 84 84 132 101 147z"
  6218. },
  6219. "&#x21ae;": {
  6220. x: 1185,
  6221. d: "M603 230l-100 -151c-10 -15 -17 -15 -22 -15c-10 0 -19 8 -19 20c0 6 10 22 17 33l76 113h-321c75 -55 108 -138 108 -146c0 -9 -8 -12 -15 -12c-11 0 -13 5 -17 14c-27 58 -65 112 -148 151c-7 4 -12 6 -12 13s3 8 14 14c100 47 132 119 147 154c2 4 4 10 16 10\nc7 0 15 -3 15 -12c0 -8 -33 -91 -108 -146h348l100 151c10 15 17 15 22 15c10 0 19 -8 19 -20c0 -6 -10 -22 -17 -33l-76 -113h321c-75 55 -108 138 -108 146c0 9 8 12 15 12c11 0 13 -5 17 -14c41 -92 99 -129 153 -154c1 0 7 -3 7 -10s-2 -8 -14 -14\nc-100 -47 -132 -120 -147 -154c-2 -4 -4 -10 -16 -10c-7 0 -15 3 -15 12c0 8 33 91 108 146h-348z"
  6222. },
  6223. "&#x2190;": {
  6224. x: 1188,
  6225. d: "M1002 230h-743c43 -32 72 -67 92 -97c42 -67 51 -130 51 -132c0 -12 -12 -12 -20 -12c-17 0 -18 3 -21 15c-25 112 -92 190 -196 233c-10 4 -15 6 -15 13s4 9 15 13c113 47 172 130 195 228c4 18 5 20 22 20c8 0 20 0 20 -12c0 -1 -8 -64 -53 -133\nc-8 -13 -35 -54 -90 -96h743c18 0 36 0 36 -20s-18 -20 -36 -20z"
  6226. },
  6227. "&#x2191;": {
  6228. x: 766,
  6229. d: "M403 555v-713c0 -18 0 -36 -20 -36s-20 18 -20 36v713c-22 -34 -49 -64 -82 -89c-57 -41 -116 -52 -119 -52c-12 0 -12 11 -12 19c0 17 2 17 17 22c110 31 181 109 204 220c2 12 3 18 12 18c6 0 10 -4 11 -9c6 -32 18 -92 69 -147c23 -25 62 -61 130 -80\nc22 -7 23 -8 23 -24c0 -8 0 -19 -12 -19c-2 0 -63 10 -124 56c-25 19 -53 47 -77 85z"
  6230. },
  6231. "&#x2192;": {
  6232. x: 1188,
  6233. d: "M929 230h-743c-18 0 -36 0 -36 20s18 20 36 20h743c-43 32 -72 67 -92 97c-42 67 -51 130 -51 132c0 12 12 12 20 12c17 0 18 -3 21 -15c38 -168 159 -218 203 -235c2 -1 8 -4 8 -11s-3 -9 -15 -13c-113 -46 -172 -130 -195 -228c-4 -18 -5 -20 -22 -20\nc-8 0 -20 0 -20 12c0 1 8 64 53 133c8 13 35 54 90 96z"
  6234. },
  6235. "&#x2193;": {
  6236. x: 766,
  6237. d: "M403 658v-713c22 34 49 64 82 89c57 41 116 52 119 52c12 0 12 -11 12 -19c0 -17 -2 -17 -17 -22c-110 -31 -182 -109 -204 -222c-2 -9 -3 -16 -12 -16c-7 0 -10 5 -11 10c-6 31 -18 91 -69 146c-23 25 -62 61 -130 80c-22 7 -23 8 -23 24c0 8 0 19 12 19\nc2 0 63 -10 124 -56c25 -19 53 -47 77 -85v713c0 18 0 36 20 36s20 -18 20 -36z"
  6238. },
  6239. "&#x2194;": {
  6240. x: 1187,
  6241. d: "M259 270h669c-43 32 -72 67 -92 97c-42 67 -51 130 -51 132c0 12 12 12 20 12c17 0 18 -3 21 -15c38 -168 159 -218 203 -235c2 -1 8 -4 8 -11s-3 -9 -15 -13c-113 -46 -172 -130 -195 -228c-4 -18 -5 -20 -22 -20c-8 0 -20 0 -20 12c0 1 8 64 53 133c8 13 35 54 90 96\nh-669c43 -32 72 -67 92 -97c42 -67 51 -130 51 -132c0 -12 -12 -12 -20 -12c-17 0 -18 3 -21 15c-25 112 -92 190 -196 233c-10 4 -15 6 -15 13s4 9 15 13c113 47 172 130 195 228c4 18 5 20 22 20c8 0 20 0 20 -12c0 -1 -8 -64 -53 -133c-8 -13 -35 -54 -90 -96z"
  6242. },
  6243. "&#x2195;": {
  6244. x: 766,
  6245. d: "M403 633v-766c22 34 49 64 82 89c57 41 116 52 119 52c12 0 12 -11 12 -19c0 -17 -2 -17 -17 -22c-109 -31 -182 -109 -204 -222c-2 -9 -3 -16 -12 -16c-7 0 -10 5 -11 10c-6 31 -18 91 -69 146c-36 39 -79 66 -130 80c-22 7 -23 8 -23 24c0 8 0 19 12 19\nc1 0 63 -10 124 -56c25 -19 53 -47 77 -85v766c-22 -34 -49 -64 -82 -89c-57 -41 -116 -52 -119 -52c-12 0 -12 11 -12 19c0 10 0 17 10 20c37 10 85 24 141 81c9 10 52 54 70 141c2 12 3 18 12 18c6 0 10 -4 11 -9c6 -33 17 -90 68 -147c36 -38 80 -66 131 -80\nc22 -7 23 -8 23 -24c0 -8 0 -19 -12 -19c-1 0 -63 10 -124 56c-25 19 -53 47 -77 85z"
  6246. },
  6247. "&#x2196;": {
  6248. x: 1214,
  6249. d: "M270 628l779 -780c13 -13 15 -15 15 -23c0 -10 -8 -20 -20 -20c-8 0 -10 2 -22 14l-781 780c5 -25 5 -26 5 -58c0 -23 -2 -71 -23 -127c-8 -19 -36 -81 -50 -81c-7 0 -23 16 -23 23c0 4 1 6 5 13c46 71 52 131 52 173c0 58 -15 102 -28 129c-3 8 -3 10 -3 12\nc0 6 4 10 10 10c3 0 6 -1 12 -4c23 -11 68 -27 129 -27c25 0 94 0 173 52c6 4 9 5 13 5c7 0 23 -16 23 -23c0 -16 -74 -47 -81 -50c-58 -21 -107 -23 -127 -23c-18 0 -41 2 -58 5z"
  6250. },
  6251. "&#x2197;": {
  6252. x: 1214,
  6253. d: "M973 599l-781 -780c-12 -12 -14 -14 -22 -14c-11 0 -20 10 -20 20c0 8 2 10 15 23l779 780c-25 -5 -26 -5 -58 -5c-18 0 -67 1 -125 23c-21 8 -83 36 -83 50c0 7 16 23 23 23c4 0 7 -1 13 -5c77 -51 144 -52 173 -52c58 0 102 15 129 28c8 3 10 3 12 3c4 0 10 -2 10 -10\nc0 -3 -1 -6 -4 -12c-11 -23 -27 -68 -27 -129c0 -35 3 -97 52 -173c4 -7 5 -9 5 -13c0 -7 -16 -23 -23 -23c-15 0 -45 69 -50 81c-21 58 -23 107 -23 127c0 18 2 41 5 58z"
  6254. },
  6255. "&#x2198;": {
  6256. x: 1214,
  6257. d: "M944 -128l-779 780c-13 13 -15 15 -15 23c0 10 8 20 20 20c8 0 10 -2 22 -14l781 -780c-5 25 -5 26 -5 58c0 23 2 71 23 127c8 19 36 81 50 81c7 0 23 -16 23 -23c0 -4 -1 -6 -5 -13c-46 -71 -52 -131 -52 -173c0 -59 15 -102 28 -129c3 -8 3 -10 3 -12\nc0 -8 -6 -10 -10 -10c-3 0 -6 1 -12 4c-23 11 -68 27 -129 27c-25 0 -94 0 -173 -52c-6 -4 -9 -5 -13 -5c-7 0 -23 16 -23 23c0 16 74 47 81 50c58 21 107 23 127 23c18 0 41 -2 58 -5z"
  6258. },
  6259. "&#x2199;": {
  6260. x: 1214,
  6261. d: "M1049 652l-779 -780c25 5 26 5 58 5c18 0 67 -1 125 -23c21 -8 83 -36 83 -50c0 -7 -16 -23 -23 -23c-4 0 -7 1 -13 5c-77 51 -144 52 -173 52c-58 0 -102 -15 -129 -28c-8 -3 -10 -3 -12 -3c-6 0 -10 4 -10 10c0 3 1 6 4 12c11 23 27 68 27 129c0 35 -3 97 -52 173\nc-4 7 -5 9 -5 13c0 7 16 23 23 23c15 0 45 -69 50 -81c21 -58 23 -107 23 -127c0 -18 -2 -41 -5 -58l781 780c12 12 14 14 22 14c11 0 20 -10 20 -20c0 -8 -2 -10 -15 -23z"
  6262. },
  6263. "&#x219e;": {
  6264. x: 1186,
  6265. d: "M1001 230h-589c10 -8 69 -60 101 -147h-31c-28 75 -80 123 -116 147h-136c9 -8 66 -57 101 -147h-31c-16 45 -56 116 -150 167c94 50 133 121 150 167h31c-35 -90 -92 -139 -101 -147h136c38 26 89 73 116 147h31c-27 -74 -74 -124 -101 -147h589c17 0 35 0 35 -20\ns-17 -20 -35 -20z"
  6266. },
  6267. "&#x21a0;": {
  6268. x: 1186,
  6269. d: "M820 270h136c-9 8 -66 57 -101 147h31c16 -45 56 -116 150 -167c-94 -50 -133 -121 -150 -167h-31c35 90 92 139 101 147h-136c-38 -26 -89 -73 -116 -147h-31c27 74 74 124 101 147h-589c-17 0 -35 0 -35 20s17 20 35 20h589c-10 8 -69 60 -101 147h31\nc28 -75 80 -123 116 -147z"
  6270. },
  6271. "&#x21a2;": {
  6272. x: 1283,
  6273. d: "M986 230h-756c30 -27 72 -74 101 -147h-31c-30 80 -89 136 -150 167c60 31 120 86 150 167h31c-27 -70 -67 -117 -101 -147h756c36 24 85 68 116 147h31c-28 -77 -78 -127 -102 -147v-40c23 -20 74 -70 102 -147h-31c-31 80 -81 124 -116 147z"
  6274. },
  6275. "&#x21a3;": {
  6276. x: 1283,
  6277. d: "M297 270h756c-30 27 -72 74 -101 147h31c30 -80 89 -136 150 -167c-60 -31 -120 -86 -150 -167h-31c27 70 67 117 101 147h-756c-36 -24 -85 -68 -116 -147h-31c28 77 78 127 102 147v40c-23 20 -74 70 -102 147h31c31 -80 81 -124 116 -147z"
  6278. },
  6279. "&#x21b0;": {
  6280. x: 686,
  6281. d: "M536 540v-505c0 -17 0 -35 -20 -35s-20 17 -20 35v500h-266c23 -20 73 -72 101 -146h-31c-29 77 -88 135 -150 166c64 34 121 89 150 167h31c-12 -29 -37 -90 -101 -147h271c32 0 35 -3 35 -35z"
  6282. },
  6283. "&#x21b1;": {
  6284. x: 686,
  6285. d: "M456 535h-266v-500c0 -17 0 -35 -20 -35s-20 17 -20 35v505c0 32 3 35 35 35h271c-58 52 -86 107 -101 147h31c22 -60 68 -124 150 -167c-63 -32 -121 -90 -150 -166h-31c27 71 74 122 101 146z"
  6286. },
  6287. "&#x22a2;": {
  6288. x: 800,
  6289. d: "M615 327h-425v-291v-18s-3 -8 -6 -12s-8 -6 -14 -6c-13 0 -20 12 -20 36v622c0 24 7 36 20 36c6 0 11 -2 14 -6s6 -8 6 -12v-18v-291h425c7 0 13 -1 17 -1s8 -2 12 -5s6 -8 6 -14s-2 -11 -6 -14s-8 -5 -12 -5s-10 -1 -17 -1z"
  6290. },
  6291. "&#x22a3;": {
  6292. x: 800,
  6293. d: "M650 658v-622v-18s-3 -8 -6 -12s-8 -6 -14 -6c-13 0 -20 12 -20 36v291h-424c-24 0 -36 7 -36 20s12 20 36 20h424v291c0 24 7 36 20 36c6 0 11 -2 14 -6s6 -8 6 -12v-18z"
  6294. },
  6295. "&#x22a8;": {
  6296. x: 798,
  6297. d: "M613 230h-423v-195c0 -17 0 -35 -20 -35s-20 19 -20 36v622c0 17 0 36 20 36s20 -18 20 -35v-195h423c17 0 35 0 35 -20s-19 -20 -36 -20h-422v-154h422c17 0 36 0 36 -20s-18 -20 -35 -20z"
  6298. },
  6299. "&#x22a9;": {
  6300. x: 909,
  6301. d: "M190 659v-624c0 -17 0 -35 -20 -35s-20 19 -20 36v622c0 17 0 36 20 36s20 -18 20 -35zM384 327v-292c0 -17 0 -35 -20 -35s-20 19 -20 36v622c0 17 0 36 20 36s20 -18 20 -35v-292h340c17 0 35 0 35 -20s-18 -20 -35 -20h-340z"
  6302. },
  6303. "&#x22aa;": {
  6304. x: 1076,
  6305. d: "M190 659v-624c0 -17 0 -35 -20 -35s-20 19 -20 36v622c0 17 0 36 20 36s20 -18 20 -35zM552 327v-292c0 -17 0 -35 -20 -35s-20 19 -20 36v622c0 17 0 36 20 36s20 -18 20 -35v-292h339c17 0 35 0 35 -20s-18 -20 -35 -20h-339zM371 659v-624c0 -17 0 -35 -20 -35\ns-20 19 -20 36v622c0 17 0 36 20 36s20 -18 20 -35z"
  6306. },
  6307. "&#x22ad;": {
  6308. x: 909,
  6309. d: "M548 424l-134 -154h309c17 0 36 0 36 -20s-18 -20 -35 -20h-345l-78 -89v-106c0 -17 0 -35 -20 -35s-20 19 -20 36v58l-66 -75c-12 -14 -16 -19 -26 -19s-19 9 -19 20c0 3 1 9 4 14c4 4 14 14 17 19c55 63 55 65 90 102v503c0 17 0 36 20 36s20 -18 20 -35v-195h229\nl187 214c12 14 14 16 22 16c11 0 20 -8 20 -20c0 -8 -3 -12 -12 -22l-164 -188h141c17 0 35 0 35 -20s-19 -20 -36 -20h-175zM301 424v-154h60l134 154h-194zM325 230h-24v-28z"
  6310. },
  6311. "&#x22af;": {
  6312. x: 1020,
  6313. d: "M619 424l-124 -119v-35h339c17 0 36 0 36 -20s-18 -20 -35 -20h-340v-195c0 -17 0 -35 -20 -35s-20 19 -20 36v230l-154 -148v-83c0 -17 0 -35 -20 -35s-20 19 -20 36v44l-45 -44c-31 -30 -37 -36 -46 -36c-14 0 -20 11 -20 20c0 11 13 22 31 39l73 70c7 6 7 8 7 26v503\nc0 17 0 36 20 36s20 -18 20 -35v-485l154 148v336c0 17 0 36 20 36s20 -18 20 -35v-195h108c16 14 47 44 70 67c16 17 58 56 75 72l76 73c15 15 18 18 26 18c11 0 20 -8 20 -20c0 -9 -2 -11 -13 -21l-196 -189h174c17 0 35 0 35 -20s-19 -20 -36 -20h-215zM561 424h-66v-63z\n"
  6314. },
  6315. "&#x22b8;": {
  6316. x: 1298,
  6317. d: "M832 230h-647c-17 0 -35 0 -35 20s17 20 35 20h647c11 83 80 139 158 139c86 0 158 -69 158 -159c0 -87 -69 -159 -159 -159c-74 0 -145 53 -157 139zM990 131c64 0 118 52 118 119c0 64 -51 119 -119 119c-64 0 -118 -52 -118 -119c0 -64 51 -119 119 -119z"
  6318. },
  6319. "&#x22ba;": {
  6320. x: 744,
  6321. d: "M412 351v-511c0 -14 0 -53 -40 -53s-40 39 -40 53v511h-129c-14 0 -53 0 -53 40s39 40 53 40h338c14 0 53 0 53 -40s-39 -40 -53 -40h-129z"
  6322. },
  6323. "&#x22d4;": {
  6324. x: 855,
  6325. d: "M705 332v-319c0 -17 0 -35 -20 -35s-20 18 -20 35v316c0 25 0 72 -59 113c-35 23 -87 42 -158 45v-474c0 -17 0 -35 -20 -35s-20 18 -20 35v474c-85 -3 -135 -30 -152 -41c-66 -42 -66 -90 -66 -117v-316c0 -17 0 -35 -20 -35s-20 18 -20 35v319c0 172 209 194 258 196\nv173c0 17 0 35 20 35s20 -18 20 -35v-173c35 -1 257 -18 257 -196z"
  6326. },
  6327. "&#x22ea;": {
  6328. x: 967,
  6329. d: "M516 435l111 250c6 12 11 21 23 21c10 0 20 -9 20 -20c0 -4 -1 -6 -7 -19l-91 -206l150 72c5 3 12 6 19 6c20 0 20 -17 20 -35v-508c0 -16 0 -36 -20 -36c-5 0 -49 21 -74 33l-251 118c-45 -97 -135 -304 -139 -310c-2 -1 -7 -7 -16 -7c-10 0 -20 9 -20 20\nc0 4 18 44 28 66l111 249l-209 98c-11 5 -21 10 -21 23c0 11 8 17 21 23zM491 379l-274 -129l179 -85zM547 406l-115 -258l289 -136v476z"
  6330. },
  6331. "&#x22eb;": {
  6332. x: 967,
  6333. d: "M663 667l-132 -296l211 -99c10 -5 19 -11 19 -22c0 -13 -8 -17 -18 -21l-315 -149l-30 -14c-2 -2 -3 -3 -11 -18l-50 -114c-8 -16 -55 -124 -58 -129c-3 -6 -9 -11 -18 -11c-10 0 -20 9 -20 20c0 4 14 35 22 52l76 172c-21 -10 -161 -78 -169 -78c-20 0 -20 20 -20 36\nv508c0 17 0 35 20 35c7 0 14 -3 19 -6l306 -145l132 297c6 12 11 21 23 21c10 0 20 -9 20 -20c0 -4 -1 -6 -7 -19zM419 120l275 130l-179 84zM364 94l115 258l-289 136v-476z"
  6334. },
  6335. "&#x22ec;": {
  6336. x: 967,
  6337. d: "M419 207l-248 117c-11 5 -21 10 -21 23c0 11 8 17 21 23l370 174l87 236c6 15 8 23 22 23c10 0 20 -9 20 -20c0 -1 0 -5 -5 -17l-72 -198l129 62c5 3 12 6 19 6c20 0 20 -17 20 -35v-508c0 -16 0 -36 -20 -36c-3 0 -5 0 -30 13l-256 120l-105 -287h376c18 0 35 0 35 -20\ns-20 -20 -37 -20h-388l-52 -142c-5 -14 -9 -24 -23 -24c-10 0 -20 9 -20 20c0 4 17 49 26 74c4 12 11 31 26 72h-106c-17 0 -37 0 -37 20s17 20 35 20h123zM522 491l-305 -144l215 -102zM469 228l252 -119v476l-148 -70z"
  6338. },
  6339. "&#x22ed;": {
  6340. x: 967,
  6341. d: "M739 324l-284 -134l-105 -287h376c18 0 35 0 35 -20s-20 -20 -37 -20h-388l-52 -142c-5 -14 -9 -24 -23 -24c-10 0 -20 9 -20 20c0 4 17 49 26 74c4 12 11 31 26 72h-106c-17 0 -37 0 -37 20s17 20 35 20h123l95 262l-217 -102c-10 -5 -12 -6 -16 -6c-20 0 -20 20 -20 36\nv508c0 17 0 35 20 35c7 0 15 -4 21 -7l325 -154l112 305c6 15 8 23 22 23c10 0 20 -9 20 -20c0 -1 0 -4 -5 -17l-113 -308l190 -89c10 -5 19 -11 19 -22c0 -13 -7 -16 -22 -23zM694 347l-155 73l-65 -177zM190 109l233 110l80 218l-313 148v-476z"
  6342. },
  6343. "&#x2308;": {
  6344. x: 548,
  6345. d: "M362 710h-172v-924c0 -18 0 -36 -20 -36s-20 21 -20 36v928c0 32 4 36 36 36h176c15 0 36 0 36 -20s-21 -20 -36 -20z"
  6346. },
  6347. "&#x2309;": {
  6348. x: 548,
  6349. d: "M398 714v-928c0 -18 0 -36 -20 -36s-20 21 -20 36v924h-172c-15 0 -36 0 -36 20s21 20 36 20h177c32 0 35 -3 35 -36z"
  6350. },
  6351. "&#x230a;": {
  6352. x: 548,
  6353. d: "M362 -250h-176c-32 0 -36 4 -36 36v928c0 15 0 36 20 36s20 -18 20 -36v-924h172c15 0 36 0 36 -20s-21 -20 -36 -20z"
  6354. },
  6355. "&#x230b;": {
  6356. x: 548,
  6357. d: "M398 714v-928c0 -33 -3 -36 -35 -36h-177c-15 0 -36 0 -36 20s21 20 36 20h172v924c0 15 0 36 20 36s20 -18 20 -36z"
  6358. },
  6359. "&#x2acb;": {
  6360. x: 967,
  6361. d: "M460 246h266c17 0 35 0 35 -20s-18 -20 -35 -20h-269c-169 0 -307 127 -307 290c0 162 138 289 306 289h270c17 0 35 0 35 -20s-18 -20 -35 -20h-267c-155 0 -269 -114 -269 -250c0 -131 109 -249 270 -249zM548 -52l-132 -154h310c17 0 35 0 35 -20s-18 -20 -35 -20\nh-345l-89 -105c-21 -23 -22 -24 -31 -24c-10 0 -20 9 -20 20c0 7 0 9 19 30c16 18 59 68 68 79h-143c-17 0 -35 0 -35 20s18 20 35 20h178l132 154h-310c-17 0 -35 0 -35 20s18 20 35 20h345l89 105c21 23 22 24 31 24c10 0 20 -9 20 -20c0 -7 0 -9 -19 -30\nc-20 -23 -59 -68 -68 -79h143c17 0 35 0 35 -20s-18 -20 -35 -20h-178z"
  6362. },
  6363. "&#x2acc;": {
  6364. x: 967,
  6365. d: "M451 745h-266c-17 0 -35 0 -35 20s18 20 35 20h269c170 0 307 -127 307 -290c0 -162 -138 -289 -306 -289h-270c-17 0 -35 0 -35 20s18 20 35 20h267c156 0 269 114 269 250c0 131 -109 249 -270 249zM548 -52l-132 -154h310c17 0 35 0 35 -20s-18 -20 -35 -20h-345\nl-89 -105c-21 -23 -22 -24 -31 -24c-10 0 -20 9 -20 20c0 7 0 9 19 30c16 18 59 68 68 79h-143c-17 0 -35 0 -35 20s18 20 35 20h178l132 154h-310c-17 0 -35 0 -35 20s18 20 35 20h345l89 105c21 23 22 24 31 24c10 0 20 -9 20 -20c0 -7 0 -9 -19 -30\nc-20 -23 -59 -68 -68 -79h143c17 0 35 0 35 -20s-18 -20 -35 -20h-178z"
  6366. },
  6367. "&#x2ac5;": {
  6368. x: 967,
  6369. d: "M460 214h266c17 0 35 0 35 -20s-18 -20 -35 -20h-269c-169 0 -307 127 -307 290c0 162 138 289 306 289h270c17 0 35 0 35 -20s-18 -20 -35 -20h-267c-155 0 -269 -114 -269 -250c0 -131 109 -249 270 -249zM185 -174h541c17 0 35 0 35 -20s-18 -20 -35 -20h-541\nc-17 0 -35 0 -35 20s18 20 35 20zM185 20h541c17 0 35 0 35 -20s-18 -20 -35 -20h-541c-17 0 -35 0 -35 20s18 20 35 20z"
  6370. },
  6371. "&#x2ac6;": {
  6372. x: 967,
  6373. d: "M451 713h-266c-17 0 -35 0 -35 20s18 20 35 20h269c170 0 307 -127 307 -290c0 -162 -138 -289 -306 -289h-270c-17 0 -35 0 -35 20s18 20 35 20h267c156 0 269 114 269 250c0 131 -109 249 -270 249zM726 -214h-541c-17 0 -35 0 -35 20s18 20 35 20h541\nc17 0 35 0 35 -20s-18 -20 -35 -20zM726 -20h-541c-17 0 -35 0 -35 20s18 20 35 20h541c17 0 35 0 35 -20s-18 -20 -35 -20z"
  6374. },
  6375. "&#x2208;": {
  6376. x: 800,
  6377. d: "M615 230h-424c12 -134 127 -230 268 -230h156c17 0 35 0 35 -20s-18 -20 -35 -20h-158c-171 0 -307 130 -307 290s136 290 307 290h158c17 0 35 0 35 -20s-18 -20 -35 -20h-156c-141 0 -256 -96 -268 -230h424c17 0 35 0 35 -20s-18 -20 -35 -20z"
  6378. },
  6379. "&#x220b;": {
  6380. x: 800,
  6381. d: "M341 500h-156c-17 0 -35 0 -35 20s18 20 35 20h158c171 0 307 -130 307 -290s-136 -290 -307 -290h-158c-17 0 -35 0 -35 20s18 20 35 20h156c141 0 256 96 268 230h-424c-17 0 -35 0 -35 20s18 20 35 20h424c-12 134 -127 230 -268 230z"
  6382. },
  6383. "&#x221d;": {
  6384. x: 966,
  6385. d: "M816 32v-39c-9 -2 -25 -4 -37 -4c-25 0 -80 5 -141 58c-37 31 -51 53 -91 114c-24 -50 -98 -172 -225 -172c-110 0 -172 114 -172 226c0 115 64 227 175 227c25 0 80 -5 141 -58c37 -31 51 -53 91 -114c24 50 98 172 225 172c9 0 24 -1 31 -3c2 -2 3 -3 3 -29\nc-11 3 -20 3 -27 3c-119 0 -186 -124 -210 -178c11 -17 38 -58 48 -75c34 -52 87 -130 166 -130c3 0 19 2 23 2zM525 196c-11 17 -38 58 -48 75c-34 52 -87 130 -166 130c-83 0 -139 -87 -139 -186c0 -91 46 -197 143 -197c119 0 186 124 210 178z"
  6386. },
  6387. "&#x2224;": {
  6388. x: 617,
  6389. d: "M453 478l-124 -111v-582c0 -17 0 -35 -20 -35s-20 18 -20 35v545l-89 -80c-20 -20 -22 -20 -30 -20c-10 0 -20 9 -20 20c0 9 4 12 15 22l124 112v331c0 17 0 35 20 35s20 -18 20 -35v-294l89 79c15 15 20 20 29 20c11 0 20 -9 20 -20c0 -7 -2 -11 -14 -22z"
  6390. },
  6391. "&#x2226;": {
  6392. x: 839,
  6393. d: "M675 478l-138 -138v-552c0 -18 0 -38 -20 -38s-20 17 -20 34v516l-155 -157v-359c0 -17 0 -34 -20 -34s-20 20 -20 38v315l-104 -103c-19 -19 -20 -20 -28 -20c-10 0 -20 9 -20 20c0 6 3 12 14 23l138 137v552c0 18 0 38 20 38s20 -17 20 -34v-516l155 157v359\nc0 17 0 34 20 34s20 -20 20 -38v-315l100 100c23 22 24 23 32 23c11 0 20 -9 20 -20c0 -8 -2 -10 -14 -22z"
  6394. },
  6395. "&#x2234;": {
  6396. x: 906,
  6397. d: "M506 411c0 -30 -25 -53 -53 -53c-29 0 -53 24 -53 53s24 53 53 53s53 -24 53 -53zM756 -22c0 -29 -24 -53 -53 -53s-53 24 -53 53s24 53 53 53s53 -24 53 -53zM256 -22c0 -29 -24 -53 -53 -53s-53 24 -53 53s24 53 53 53s53 -24 53 -53z"
  6398. },
  6399. "&#x2235;": {
  6400. x: 906,
  6401. d: "M256 411c0 -30 -25 -53 -53 -53c-29 0 -53 24 -53 53s24 53 53 53s53 -24 53 -53zM506 -22c0 -29 -24 -53 -53 -53s-53 24 -53 53s24 53 53 53s53 -24 53 -53zM756 411c0 -30 -25 -53 -53 -53c-29 0 -53 24 -53 53s24 53 53 53s53 -24 53 -53z"
  6402. },
  6403. "&#x220d;": {
  6404. x: 629,
  6405. d: "M385 174h-162c-11 0 -19 1 -23 2s-7 5 -7 12c0 11 11 17 34 17h166c7 31 11 59 11 84c0 47 -12 81 -34 101s-47 30 -74 30c-33 0 -69 -13 -108 -39c-3 -3 -7 -4 -10 -4c-7 0 -10 5 -10 14c0 4 6 10 18 18s30 16 51 23s42 10 61 10c53 0 96 -18 130 -53s51 -81 51 -136\nc0 -73 -27 -133 -81 -181s-115 -72 -183 -72h-35c-11 0 -20 1 -24 2s-6 5 -6 12s3 12 8 14s13 3 25 3h30c45 0 82 13 111 39s49 61 61 104z"
  6406. },
  6407. "&#x22c8;": {
  6408. x: 783,
  6409. d: "M619 449l-198 -199c52 -53 201 -201 207 -208c5 -6 5 -11 5 -13c0 -11 -8 -20 -20 -20c-6 0 -13 4 -14 6c-13 12 -159 159 -208 207l-199 -199c-12 -12 -14 -14 -22 -14c-20 0 -20 19 -20 36v410c0 17 0 36 20 36c8 0 10 -2 22 -14l200 -199l199 199c10 10 14 14 22 14\nc11 0 20 -9 20 -20c0 -8 -2 -10 -14 -22zM190 77l172 173l-172 172v-345zM392 278l199 199c10 10 14 14 22 14c20 0 20 -18 20 -35v-412c0 -17 0 -35 -20 -35c-6 0 -13 4 -14 6c-13 12 -159 159 -208 207l-199 -199c-12 -12 -14 -14 -22 -14c-10 0 -20 9 -20 20\nc0 6 3 12 14 23l198 198l-198 199c-10 10 -14 14 -14 22c0 11 10 20 20 20c8 0 10 -2 22 -14zM421 250l172 -172v345z"
  6410. },
  6411. "&#x2322;": {
  6412. x: 1168,
  6413. d: "M1018 142c0 -6 -4 -10 -10 -10s-8 3 -13 9c-20 28 -69 98 -173 146c-96 44 -185 50 -238 50c-124 0 -215 -38 -250 -56c-98 -51 -137 -106 -162 -141c-4 -5 -6 -8 -12 -8s-10 4 -10 10c0 12 143 237 434 237s434 -225 434 -237z"
  6414. },
  6415. "&#x2323;": {
  6416. x: 1168,
  6417. d: "M1018 358c0 -12 -142 -224 -434 -224s-434 213 -434 224c0 6 4 10 10 10c3 0 6 0 10 -5c21 -28 64 -85 154 -131c71 -35 163 -56 260 -56c110 0 293 25 412 184c3 5 6 8 12 8s10 -4 10 -10z"
  6418. },
  6419. "&#x2223;": {
  6420. x: 340,
  6421. d: "M190 714v-928c0 -18 0 -36 -20 -36s-20 18 -20 36v928c0 18 0 36 20 36s20 -18 20 -36z"
  6422. },
  6423. "&#x2225;": {
  6424. x: 535,
  6425. d: "M190 716v-932c0 -16 0 -34 -20 -34s-20 21 -20 37v926c0 15 0 37 20 37s20 -18 20 -34zM385 713v-926c0 -15 0 -37 -20 -37s-20 18 -20 34v932c0 16 0 34 20 34s20 -21 20 -37z"
  6426. },
  6427. "&#x23d0;": {
  6428. x: 340,
  6429. d: "M190 396v-383v-17s-3 -8 -6 -12s-8 -6 -14 -6s-11 2 -14 6s-6 8 -6 12v17v382c0 24 7 36 20 36c6 0 11 -2 14 -6s6 -8 6 -12v-17z"
  6430. },
  6431. "&#x23d1;": {
  6432. x: 576,
  6433. d: "M190 393v-377c0 -25 -7 -38 -20 -38c-6 0 -11 2 -14 6s-6 7 -6 11v17v385v17s3 8 6 12s8 5 14 5c13 0 20 -13 20 -38zM426 397v-385v-17s-3 -7 -6 -11s-8 -6 -14 -6c-13 0 -20 13 -20 38v377c0 25 7 38 20 38c6 0 11 -1 14 -5s6 -8 6 -12v-17z"
  6434. },
  6435. "&#x23d2;": {
  6436. x: 561,
  6437. d: "M301 243v-230c0 -7 -1 -13 -1 -17s-2 -8 -5 -12s-8 -6 -14 -6s-11 2 -14 6s-5 8 -5 12s-1 10 -1 17v187c-9 -9 -23 -23 -41 -42l-27 -28c-10 -9 -18 -14 -23 -14c-6 0 -10 2 -14 6s-6 9 -6 14s5 12 14 22l22 23l75 77v137c0 24 7 36 20 36c6 0 11 -2 14 -6s5 -8 5 -12\ns1 -10 1 -17v-95l23 23c10 10 19 20 28 29l15 15c10 11 18 16 24 16s11 -2 15 -6s5 -9 5 -14s-4 -12 -13 -22l-22 -22c-30 -33 -55 -58 -75 -77z"
  6438. },
  6439. "&#x23d3;": {
  6440. x: 728,
  6441. d: "M266 215l196 116v62c0 25 7 38 20 38c6 0 11 -1 14 -5s6 -8 6 -12v-17v-42c18 10 27 15 27 16c14 9 24 13 29 13c6 0 10 -2 14 -6s6 -9 6 -14c0 -6 -4 -12 -13 -19l-63 -37v-296v-17s-3 -7 -6 -11s-8 -6 -14 -6c-13 0 -20 13 -20 38v269l-196 -116v-153\nc0 -25 -7 -38 -20 -38c-6 0 -11 2 -14 6s-6 7 -6 11v17v133c-18 -10 -27 -15 -27 -16c-14 -9 -24 -13 -29 -13c-6 0 -10 2 -14 6s-6 9 -6 14c0 6 4 12 13 19l63 37v205v17s3 8 6 12s8 5 14 5c13 0 20 -13 20 -38v-178z"
  6442. },
  6443. "&#x2ac7;": {
  6444. x: 967,
  6445. d: "M684 713l-223 -499h265c17 0 35 0 35 -20s-18 -20 -35 -20h-283l-68 -154h351c17 0 35 0 35 -20s-18 -20 -35 -20h-369l-69 -154h438c17 0 35 0 35 -20s-18 -20 -35 -20h-456c-14 -33 -29 -65 -44 -97c-3 -7 -7 -17 -20 -17c-8 0 -20 6 -20 20c0 4 13 33 20 49\nc4 8 18 41 20 45h-41c-17 0 -35 0 -35 20s18 20 35 20h59l69 154h-128c-17 0 -35 0 -35 20s18 20 35 20h146l71 159c-153 26 -252 148 -252 285c0 162 138 289 306 289h203c7 17 9 23 19 43c12 26 14 32 27 32c8 0 20 -6 20 -20c0 -6 -8 -22 -23 -55h40c11 -1 19 -10 19 -20\nc0 -20 -18 -20 -35 -20h-42zM641 713h-182c-155 0 -269 -114 -269 -250c0 -100 61 -178 134 -217c46 -24 88 -29 92 -29c3 0 3 1 5 5l3 8z"
  6446. },
  6447. "&#x2ac8;": {
  6448. x: 967,
  6449. d: "M418 214l199 448c-56 39 -111 51 -166 51h-266c-17 0 -35 0 -35 20s18 20 35 20h269c64 0 127 -19 181 -54l47 108c5 13 12 21 23 21c8 0 20 -6 20 -20c0 -4 -4 -13 -6 -18l-52 -118c43 -36 94 -111 94 -209c0 -136 -107 -289 -318 -289l-68 -154h351c17 0 35 0 35 -20\ns-18 -20 -35 -20h-369l-69 -154h438c17 0 35 0 35 -20s-18 -20 -35 -20h-456c-14 -33 -29 -65 -44 -97c-3 -7 -7 -17 -20 -17c-8 0 -20 6 -20 20c0 4 13 33 20 49c4 8 18 41 20 45h-41c-17 0 -35 0 -35 20s18 20 35 20h59l69 154h-128c-17 0 -35 0 -35 20s18 20 35 20h146\nl69 154h-215c-17 0 -35 0 -35 20s18 20 35 20h233zM649 634l-188 -420c168 8 260 130 260 250c0 64 -27 125 -72 170z"
  6450. },
  6451. "&#x22ae;": {
  6452. x: 1020,
  6453. d: "M857 653l-297 -286h275c17 0 35 0 35 -20s-18 -20 -35 -20h-317c-8 -7 -16 -14 -23 -22v-270c0 -17 0 -35 -20 -35s-20 19 -20 36v230l-154 -148v-83c0 -17 0 -35 -20 -35s-20 19 -20 36v44l-45 -44c-31 -30 -37 -36 -46 -36c-14 0 -20 11 -20 20c0 11 13 22 31 39l73 70\nc7 6 7 8 7 26v503c0 17 0 36 20 36s20 -18 20 -35v-485l154 148v336c0 17 0 36 20 36s20 -18 20 -35v-292c2 1 7 1 9 2l321 309c13 13 18 16 25 16c11 0 20 -8 20 -20c0 -9 -2 -11 -13 -21z"
  6454. },
  6455. "&#x22ac;": {
  6456. x: 909,
  6457. d: "M464 327l-163 -187v-105c0 -17 0 -35 -20 -35s-20 19 -20 36v58l-66 -75c-12 -14 -16 -19 -26 -19s-19 9 -19 20c0 3 1 9 4 14c4 4 14 14 17 19c55 63 55 65 90 102v503c0 17 0 36 20 36s20 -18 20 -35v-292h144l272 311c12 14 14 16 22 16c11 0 20 -8 20 -20\nc0 -8 -3 -12 -12 -22l-248 -285h225c17 0 35 0 35 -20s-18 -20 -35 -20h-260zM410 327h-109v-125z"
  6458. },
  6459. "&#x2ac9;": {
  6460. x: 965,
  6461. d: "M584 316c29 101 128 156 205 156c6 0 26 0 26 -20c0 -19 -16 -19 -27 -20c-103 -6 -174 -89 -174 -182c0 -69 45 -175 183 -182c8 -1 18 -7 18 -20c0 -20 -20 -20 -26 -20c-72 0 -172 49 -206 156c-30 -98 -121 -156 -211 -156c-118 0 -222 94 -222 222s104 222 222 222\nc84 0 177 -51 212 -156zM372 68c94 0 181 75 181 182s-87 182 -181 182c-97 0 -182 -77 -182 -182s85 -182 182 -182z"
  6462. },
  6463. "&#x23d4;": {
  6464. x: 967,
  6465. d: "M546 57l-129 -154h309c17 0 35 0 35 -20s-18 -20 -35 -20h-343l-74 -90c-18 -20 -19 -21 -28 -21c-14 0 -20 13 -20 20s4 12 13 22c11 14 43 51 57 69h-126c-17 0 -35 0 -35 20s18 20 35 20h160l128 154c-69 0 -155 0 -243 75c-61 52 -100 129 -100 215\nc0 162 138 289 306 289h270c17 0 35 0 35 -20s-18 -20 -35 -20h-267c-155 0 -269 -114 -269 -250c0 -131 109 -249 270 -249h68l74 90c18 20 19 21 28 21c14 0 20 -13 20 -20s-4 -12 -13 -22c-11 -14 -43 -51 -57 -69h146c17 0 35 0 35 -20s-18 -20 -35 -20h-180z"
  6466. },
  6467. "&#x23d5;": {
  6468. x: 967,
  6469. d: "M706 -137h-452l-60 -91c-10 -15 -13 -20 -24 -20s-20 9 -20 20c0 6 3 11 12 25l44 66h-37c-11 1 -19 10 -19 20c0 20 18 20 35 20h49l102 154h-151c-17 0 -35 0 -35 20s18 20 35 20h178l61 91c10 15 13 20 24 20c15 0 20 -13 20 -20c0 -5 0 -7 -13 -25l-44 -66h41\nc156 0 269 114 269 250c0 131 -109 249 -270 249h-266c-17 0 -35 0 -35 20s18 20 35 20h269c170 0 307 -127 307 -290c0 -162 -138 -289 -306 -289h-71l-102 -154h424c17 0 35 0 35 -20s-18 -20 -35 -20z"
  6470. },
  6471. "&#x23d6;": {
  6472. x: 967,
  6473. d: "M645 174l-99 -154h180c17 0 35 0 35 -20s-18 -20 -35 -20h-206l-99 -154h305c17 0 35 0 35 -20s-18 -20 -35 -20h-331l-59 -91c-9 -14 -12 -20 -23 -20c-12 0 -20 9 -20 20c0 5 0 7 13 27l41 64h-162c-17 0 -35 0 -35 20s18 20 35 20h188l99 154h-287c-17 0 -35 0 -35 20\ns18 20 35 20h313l99 154h-140c-169 0 -307 127 -307 290c0 162 138 289 306 289h270c17 0 35 0 35 -20s-18 -20 -35 -20h-267c-155 0 -269 -114 -269 -250c0 -131 109 -249 270 -249h163l58 91c11 16 13 20 24 20s20 -9 20 -20c0 -6 0 -7 -13 -27c-14 -21 -28 -42 -41 -64\nh55c17 0 35 0 35 -20s-18 -20 -35 -20h-81z"
  6474. },
  6475. "&#x23d7;": {
  6476. x: 967,
  6477. d: "M423 174l-63 -154h366c17 0 35 0 35 -20s-18 -20 -35 -20h-382l-63 -154h445c17 0 35 0 35 -20s-18 -20 -35 -20h-461l-32 -79c-12 -27 -14 -32 -27 -32c-11 0 -20 9 -20 20c0 4 11 30 17 44l18 47h-46c-5 0 -25 0 -25 20s18 20 35 20h53l63 154h-116c-17 0 -35 0 -35 20\ns18 20 35 20h132l63 154h-195c-17 0 -35 0 -35 20s18 20 35 20h212c16 41 16 43 38 92c3 9 7 19 20 19s20 -10 20 -20c0 -4 -10 -30 -16 -45l-19 -46c38 0 122 0 199 69c49 43 82 106 82 181c0 131 -109 249 -270 249h-266c-17 0 -35 0 -35 20s18 20 35 20h269\nc170 0 307 -127 307 -290c0 -102 -56 -177 -97 -211c-92 -78 -173 -78 -241 -78z"
  6478. },
  6479. "&#x21c7;": {
  6480. x: 1187,
  6481. d: "M1004 397h-774c22 -21 74 -70 102 -147c-28 -77 -80 -126 -102 -147h774c18 0 33 0 33 -20s-19 -20 -38 -20h-768c23 -22 71 -67 101 -146h-31c-29 74 -75 126 -151 167c52 24 116 76 151 166c-33 84 -93 137 -151 167c74 37 122 93 151 166h31\nc-30 -79 -78 -124 -101 -146h768c19 0 38 0 38 -20s-15 -20 -33 -20z"
  6482. },
  6483. "&#x21c9;": {
  6484. x: 1187,
  6485. d: "M957 397h-774c-18 0 -33 0 -33 20s19 20 38 20h768c-23 22 -71 67 -101 146h31c29 -74 75 -126 151 -167c-52 -24 -116 -76 -151 -166c33 -84 93 -137 151 -167c-74 -37 -122 -93 -151 -166h-31c30 79 78 124 101 146h-768c-19 0 -38 0 -38 20s15 20 33 20h774\nc-22 21 -74 70 -102 147c28 77 80 126 102 147z"
  6486. },
  6487. "&#x21bc;": {
  6488. x: 1188,
  6489. d: "M236 196h766c17 0 36 0 36 -20s-18 -20 -36 -20h-852v20c55 27 118 82 150 168h32c-8 -25 -27 -87 -96 -148z"
  6490. },
  6491. "&#x21bd;": {
  6492. x: 1188,
  6493. d: "M150 344h854c17 0 34 0 34 -20s-16 -20 -34 -20h-768c69 -61 88 -123 96 -148h-30c-32 85 -96 141 -152 168v20z"
  6494. },
  6495. "&#x21c0;": {
  6496. x: 1188,
  6497. d: "M184 196h768c-69 61 -88 123 -96 148h30c32 -85 96 -141 152 -168v-20h-854c-17 0 -34 0 -34 20s16 20 34 20z"
  6498. },
  6499. "&#x21c1;": {
  6500. x: 1188,
  6501. d: "M186 344h852v-20c-55 -27 -118 -82 -150 -168h-32c8 25 27 87 96 148h-766c-17 0 -36 0 -36 20s18 20 36 20z"
  6502. },
  6503. "&#x219a;": {
  6504. x: 1186,
  6505. d: "M603 230l-100 -151c-10 -15 -17 -15 -22 -15c-10 0 -19 8 -19 20c0 6 10 22 17 33l76 113h-321c75 -55 108 -138 108 -146c0 -9 -8 -12 -15 -12c-11 0 -13 5 -17 14c-27 58 -65 112 -148 151c-7 4 -12 6 -12 13s3 8 14 14c100 47 132 119 147 154c2 4 4 10 16 10\nc7 0 15 -3 15 -12c0 -8 -33 -91 -108 -146h348l100 151c10 15 17 15 22 15c10 0 19 -8 19 -20c0 -6 -10 -22 -17 -33l-76 -113h371c17 0 35 0 35 -20s-18 -20 -35 -20h-398z"
  6506. },
  6507. "&#x219b;": {
  6508. x: 1186,
  6509. d: "M604 230l-100 -151c-10 -15 -17 -15 -22 -15c-10 0 -19 8 -19 20c0 6 10 22 17 33l76 113h-371c-17 0 -35 0 -35 20s18 20 35 20h398l100 151c10 15 17 15 22 15c10 0 19 -8 19 -20c0 -6 -10 -22 -17 -33l-76 -113h321c-75 55 -108 138 -108 146c0 9 8 12 15 12\nc11 0 13 -5 17 -14c41 -92 99 -129 153 -154c1 0 7 -3 7 -10s-2 -8 -14 -14c-100 -47 -132 -120 -147 -154c-2 -4 -4 -10 -16 -10c-7 0 -15 3 -15 12c0 8 33 91 108 146h-348z"
  6510. },
  6511. "&#x27f5;": {
  6512. x: 1544,
  6513. d: "M259 282h1102c18 0 21 0 27 -6c4 -4 6 -9 6 -14s-2 -10 -6 -14c-6 -6 -8 -6 -25 -6l-1104 -1c21 -14 21 -14 44 -37c16 -16 49 -52 74 -106c6 -16 24 -63 24 -84c0 -4 0 -7 -2 -9s-9 -3 -16 -3s-15 1 -17 3c-3 3 -3 5 -5 13c-18 83 -56 129 -86 159\nc-41 41 -83 62 -111 72c-8 4 -9 5 -10 6c-2 2 -4 5 -4 7s2 5 4 7s5 4 11 6c24 8 67 29 110 72c18 18 67 66 86 159c1 7 2 10 5 13c2 2 10 3 17 3s14 -1 16 -3s2 -6 2 -10c0 -23 -22 -77 -24 -83c-26 -56 -60 -92 -74 -106c-13 -13 -30 -28 -44 -38z"
  6514. },
  6515. "&#x27f6;": {
  6516. x: 1544,
  6517. d: "M1285 241l-1102 1c-18 0 -21 0 -27 6c-4 4 -6 9 -6 14s2 10 6 14c6 6 9 6 26 6l1103 1c-21 14 -21 14 -44 37c-16 16 -49 52 -74 106c-6 16 -24 63 -24 84c0 4 0 7 2 9s10 3 17 3s14 -1 16 -3c3 -3 4 -5 6 -13c18 -83 55 -129 85 -159c41 -41 83 -62 111 -72\nc8 -4 10 -5 11 -6c2 -2 3 -5 3 -7s-1 -5 -3 -7s-6 -4 -12 -6c-24 -8 -67 -29 -110 -72c-18 -18 -66 -66 -85 -159c-1 -7 -3 -10 -6 -13c-2 -2 -9 -3 -16 -3s-15 1 -17 3s-2 6 -2 10c0 23 22 77 24 83c26 56 60 92 74 106c13 13 30 27 44 37z"
  6518. },
  6519. "&#x27f7;": {
  6520. x: 1824,
  6521. d: "M259 270h1306c-43 32 -72 67 -92 97c-42 67 -51 130 -51 132c0 12 12 12 20 12c17 0 18 -3 21 -15c38 -168 159 -218 203 -235c2 -1 8 -4 8 -11s-3 -9 -15 -13c-113 -46 -172 -130 -195 -228c-4 -18 -5 -20 -22 -20c-8 0 -20 0 -20 12c0 1 8 64 53 133c8 13 35 54 90 96\nh-1306c43 -32 72 -67 92 -97c42 -67 51 -130 51 -132c0 -12 -12 -12 -20 -12c-17 0 -18 3 -21 15c-25 112 -92 190 -196 233c-10 4 -15 6 -15 13s4 9 15 13c113 47 172 130 195 228c4 18 5 20 22 20c8 0 20 0 20 -12c0 -1 -8 -64 -53 -133c-8 -13 -35 -54 -90 -96z"
  6522. },
  6523. "&#x27f9;": {
  6524. x: 1594,
  6525. d: "M185 367h997c-49 47 -100 134 -100 147c0 11 13 11 19 11c14 0 15 -1 26 -21c56 -107 156 -198 291 -238c19 -6 20 -7 22 -8l3 -2c1 -2 1 -4 1 -6s0 -5 -2 -6c-2 -2 -3 -3 -20 -9c-52 -15 -119 -42 -188 -103c-65 -58 -93 -111 -114 -149c-4 -8 -11 -8 -19 -8\nc-6 0 -19 0 -19 11c0 13 52 101 100 147h-997c-17 0 -35 0 -35 20s18 20 36 20h1041c41 35 90 61 126 77c-33 15 -84 41 -126 77h-1041c-18 0 -36 0 -36 20s18 20 35 20z"
  6526. },
  6527. "&#x27f8;": {
  6528. x: 1594,
  6529. d: "M1409 133h-997c49 -47 100 -134 100 -147c0 -11 -13 -11 -19 -11c-14 0 -15 1 -26 21c-56 107 -156 198 -291 238c-19 6 -20 7 -22 8l-3 2c-1 2 -1 4 -1 6s0 5 2 6c2 2 3 3 20 9c52 15 119 42 188 103c65 58 93 111 114 149c4 8 11 8 19 8c6 0 19 0 19 -11\nc0 -13 -52 -101 -100 -147h997c17 0 35 0 35 -20s-18 -20 -36 -20h-1041c-41 -35 -90 -61 -126 -77c33 -15 84 -41 126 -77h1041c18 0 36 0 36 -20s-18 -20 -35 -20z"
  6530. },
  6531. "&#x27fa;": {
  6532. x: 1694,
  6533. d: "M370 367h954c-57 65 -87 138 -87 146c0 12 11 12 20 12c12 0 16 -1 20 -10c51 -116 133 -201 243 -247c20 -9 21 -10 23 -12c1 -2 1 -4 1 -6c0 -7 -3 -8 -17 -14c-131 -56 -205 -148 -246 -240c-9 -20 -9 -21 -24 -21c-9 0 -20 0 -20 12c0 8 30 81 87 146h-954\nc57 -65 87 -138 87 -146c0 -12 -11 -12 -20 -12c-12 0 -16 1 -20 10c-51 116 -133 201 -243 247c-20 9 -21 10 -23 12c-1 2 -1 4 -1 6c0 7 3 8 17 14c131 56 205 148 246 240c9 20 9 21 24 21c9 0 20 0 20 -12c0 -8 -30 -81 -87 -146zM331 173h1032c20 20 50 45 105 77\nc-41 24 -75 48 -105 77h-1032c-20 -20 -50 -45 -105 -77c41 -24 75 -48 105 -77z"
  6534. },
  6535. "&#x2262;": {
  6536. x: 967,
  6537. d: "M751 648l-492 -791c-8 -13 -10 -16 -19 -17c-14 -2 -22 10 -23 17s3 12 9 22l494 793c8 11 10 14 19 15c10 1 20 -5 22 -16c1 -8 -2 -12 -10 -23zM781 424h-595c-24 0 -36 7 -36 20c0 6 2 11 6 14s8 6 12 6h17h597h17s8 -3 12 -6s6 -8 6 -14c0 -13 -12 -20 -36 -20z\nM782 36h-597h-17s-8 3 -12 6s-6 8 -6 14c0 13 12 20 36 20h595c24 0 36 -7 36 -20c0 -6 -2 -11 -6 -14s-8 -6 -12 -6h-17zM782 230h-597h-17s-8 3 -12 6s-6 8 -6 14s2 11 6 14s8 6 12 6h17h597h17s8 -3 12 -6s6 -8 6 -14s-2 -11 -6 -14s-8 -6 -12 -6h-17z"
  6538. },
  6539. "&#x2260;": {
  6540. x: 927,
  6541. d: "M228 -50l409 646c8 13 11 16 20 17c14 2 21 -11 22 -18s-3 -12 -9 -22l-411 -648c-9 -11 -10 -14 -19 -15c-10 -1 -21 6 -22 17c-1 8 1 12 10 23zM747 321h-567c-20 0 -30 6 -30 17c0 12 11 18 34 18h559c23 0 34 -6 34 -18c0 -11 -10 -17 -30 -17zM743 143h-559\nc-23 0 -34 6 -34 18c0 11 10 17 30 17h567c20 0 30 -6 30 -17c0 -12 -11 -18 -34 -18z"
  6542. },
  6543. "&#x2209;": {
  6544. x: 800,
  6545. d: "M261 -181l319 929c5 15 6 21 18 23c13 2 22 -9 23 -17c0 -3 1 -5 -5 -20l-318 -929c-5 -15 -7 -21 -19 -23c-14 -2 -22 10 -23 17c0 3 -1 5 5 20zM615 230h-424c12 -134 127 -230 268 -230h156c17 0 35 0 35 -20s-18 -20 -35 -20h-158c-171 0 -307 130 -307 290\ns136 290 307 290h158c17 0 35 0 35 -20s-18 -20 -35 -20h-156c-141 0 -256 -96 -268 -230h424c17 0 35 0 35 -20s-18 -20 -35 -20z"
  6546. }
  6547. },
  6548. map: {
  6549. // char
  6550. Alpha: "Α",
  6551. Beta: "Β",
  6552. Gamma: "Γ",
  6553. Delta: "Δ",
  6554. Epsilon: "Ε",
  6555. Zeta: "Ζ",
  6556. Eta: "Η",
  6557. Theta: "Θ",
  6558. Iota: "Ι",
  6559. Kappa: "Κ",
  6560. Lambda: "Λ",
  6561. Mu: "Μ",
  6562. Nu: "Ν",
  6563. Xi: "Ξ",
  6564. Omicron: "Ο",
  6565. Pi: "Π",
  6566. Rho: "Ρ",
  6567. Sigma: "Σ",
  6568. Tau: "Τ",
  6569. Upsilon: "Υ",
  6570. Phi: "Φ",
  6571. Chi: "Χ",
  6572. Psi: "Ψ",
  6573. Omega: "Ω",
  6574. alpha: "α",
  6575. beta: "β",
  6576. gamma: "γ",
  6577. delta: "δ",
  6578. epsilon: "ε",
  6579. varepsilon: "ε",
  6580. zeta: "ζ",
  6581. eta: "η",
  6582. theta: "θ",
  6583. iota: "ι",
  6584. kappa: "κ",
  6585. lambda: "λ",
  6586. mu: "μ",
  6587. nu: "ν",
  6588. xi: "ξ",
  6589. omicron: "ο",
  6590. pi: "π",
  6591. rho: "ρ",
  6592. sigma: "σ",
  6593. tau: "τ",
  6594. upsilon: "υ",
  6595. phi: "φ",
  6596. varkappa: "ϰ",
  6597. chi: "χ",
  6598. psi: "ψ",
  6599. omega: "ω",
  6600. digamma: "Ϝ",
  6601. varepsilon: "ϵ",
  6602. varrho: "ϱ",
  6603. varphi: "ϕ",
  6604. vartheta: "ϑ",
  6605. varpi: "ϖ",
  6606. varsigma: "Ϲ",
  6607. aleph: "ℵ",
  6608. beth: "ℶ",
  6609. daleth: "ℸ",
  6610. gimel: "ℷ",
  6611. eth: "ð",
  6612. hbar: "ℎ",
  6613. hslash: "ℏ",
  6614. mho: "℧",
  6615. partial: "∂",
  6616. wp: "℘",
  6617. Game: "⅁",
  6618. Bbbk: "⅌",
  6619. Finv: "Ⅎ",
  6620. Im: "ℑ",
  6621. Re: "ℜ",
  6622. complement: "∁",
  6623. ell: "ℓ",
  6624. circledS: "Ⓢ",
  6625. imath: "ı",
  6626. jmath: "ȷ",
  6627. // symbol
  6628. doublecap: "⋒",
  6629. Cap: "⋒",
  6630. doublecup: "⋓",
  6631. Cup: "⋓",
  6632. ast: "*",
  6633. divideontimes: "⋇",
  6634. rightthreetimes: "⋌",
  6635. leftthreetimes: "⋋",
  6636. cdot: "·",
  6637. odot: "⊙",
  6638. dotplus: "∔",
  6639. rtimes: "⋊",
  6640. ltimes: "⋉",
  6641. centerdot: "▪",
  6642. doublebarwedge: "⌭",
  6643. setminus: "⒁",
  6644. amalg: "∐",
  6645. circ: "◦",
  6646. bigcirc: "◯",
  6647. gtrdot: "⋗",
  6648. lessdot: "⋖",
  6649. smallsetminus: "⒅",
  6650. circledast: "⊛",
  6651. circledcirc: "⊚",
  6652. sqcap: "⊓",
  6653. sqcup: "⊔",
  6654. barwedge: "⊼",
  6655. circleddash: "⊝",
  6656. star: "⋆",
  6657. bigtriangledown: "▽",
  6658. bigtriangleup: "△",
  6659. cup: "∪",
  6660. cap: "∩",
  6661. times: "×",
  6662. mp: "∓",
  6663. pm: "±",
  6664. triangleleft: "⊲",
  6665. triangleright: "⊳",
  6666. boxdot: "⊡",
  6667. curlyvee: "⋏",
  6668. curlywedge: "⋎",
  6669. boxminus: "⊟",
  6670. boxtimes: "⊠",
  6671. ominus: "⊖",
  6672. oplus: "⊕",
  6673. oslash: "⊘",
  6674. otimes: "⊗",
  6675. uplus: "⊎",
  6676. boxplus: "⊞",
  6677. dagger: "†",
  6678. ddagger: "‡",
  6679. vee: "∨",
  6680. lor: "∨",
  6681. veebar: "⊻",
  6682. bullet: "•",
  6683. diamond: "⋄",
  6684. wedge: "∧",
  6685. land: "∧",
  6686. div: "÷",
  6687. wr: "≀",
  6688. geqq: "≧",
  6689. lll: "⋘",
  6690. llless: "⋘",
  6691. ggg: "⋙",
  6692. gggtr: "⋙",
  6693. preccurlyeq: "≼",
  6694. geqslant: "⩾",
  6695. lnapprox: "⪉",
  6696. preceq: "⪯",
  6697. gg: "≫",
  6698. lneq: "⪇",
  6699. precnapprox: "⪹",
  6700. approx: "≈",
  6701. lneqq: "≨",
  6702. precneqq: "⪵",
  6703. approxeq: "≊",
  6704. gnapprox: "⪊",
  6705. lnsim: "⋦",
  6706. precnsim: "⋨",
  6707. asymp: "≍",
  6708. gneq: "⪈",
  6709. lvertneqq: "⌮",
  6710. precsim: "≾",
  6711. backsim: "∽",
  6712. gneqq: "≩",
  6713. ncong: "≇",
  6714. risingdotseq: "≓",
  6715. backsimeq: "⋍",
  6716. gnsim: "⋧",
  6717. sim: "∼",
  6718. simeq: "≃",
  6719. bumpeq: "≏",
  6720. gtrapprox: "⪆",
  6721. ngeq: "≱",
  6722. Bumpeq: "≎",
  6723. gtreqless: "⋛",
  6724. ngeqq: "⌱",
  6725. succ: "≻",
  6726. circeq: "≗",
  6727. gtreqqless: "⪌",
  6728. ngeqslant: "⌳",
  6729. succapprox: "⪸",
  6730. cong: "≅",
  6731. gtrless: "≷",
  6732. ngtr: "≯",
  6733. succcurlyeq: "≽",
  6734. curlyeqprec: "⋞",
  6735. gtrsim: "≳",
  6736. nleq: "≰",
  6737. succeq: "⪰",
  6738. curlyeqsucc: "⋟",
  6739. gvertneqq: "⌯",
  6740. neq: "≠",
  6741. ne: "≠",
  6742. nequiv: "≢",
  6743. nleqq: "⌰",
  6744. succnapprox: "⪺",
  6745. doteq: "≐",
  6746. leq: "≤",
  6747. le: "≤",
  6748. nleqslant: "⌲",
  6749. succneqq: "⪶",
  6750. doteqdot: "≑",
  6751. Doteq: "≑",
  6752. leqq: "≦",
  6753. nless: "≮",
  6754. succnsim: "⋩",
  6755. leqslant: "⩽",
  6756. nprec: "⊀",
  6757. succsim: "≿",
  6758. eqsim: "≂",
  6759. lessapprox: "⪅",
  6760. npreceq: "⋠",
  6761. eqslantgtr: "⪖",
  6762. lesseqgtr: "⋚",
  6763. nsim: "≁",
  6764. eqslantless: "⪕",
  6765. lesseqqgtr: "⪋",
  6766. nsucc: "⊁",
  6767. triangleq: "≜",
  6768. eqcirc: "≖",
  6769. equiv: "≡",
  6770. lessgtr: "≶",
  6771. nsucceq: "⋡",
  6772. fallingdotseq: "≒",
  6773. lesssim: "≲",
  6774. prec: "≺",
  6775. geq: "≥",
  6776. ge: "≥",
  6777. ll: "≪",
  6778. precapprox: "⪷",
  6779. // arrows
  6780. uparrow: "↑",
  6781. downarrow: "↓",
  6782. updownarrow: "↕",
  6783. Uparrow: "⇑",
  6784. Downarrow: "⇓",
  6785. Updownarrow: "⇕",
  6786. circlearrowleft: "↺",
  6787. circlearrowright: "↻",
  6788. curvearrowleft: "↶",
  6789. curvearrowright: "↷",
  6790. downdownarrows: "⇊",
  6791. downharpoonleft: "⇃",
  6792. downharpoonright: "⇂",
  6793. leftarrow: "←",
  6794. gets: "←",
  6795. Leftarrow: "⇐",
  6796. leftarrowtail: "↢",
  6797. leftharpoondown: "↽",
  6798. leftharpoonup: "↼",
  6799. leftleftarrows: "⇇",
  6800. leftrightarrow: "↔",
  6801. Leftrightarrow: "⇔",
  6802. leftrightarrows: "⇄",
  6803. leftrightharpoons: "⇋",
  6804. leftrightsquigarrow: "↭",
  6805. Lleftarrow: "⇚",
  6806. looparrowleft: "↫",
  6807. looparrowright: "↬",
  6808. multimap: "⊸",
  6809. nLeftarrow: "⇍",
  6810. nRightarrow: "⇏",
  6811. nLeftrightarrow: "⇎",
  6812. nearrow: "↗",
  6813. nleftarrow: "↚",
  6814. nleftrightarrow: "↮",
  6815. nrightarrow: "↛",
  6816. nwarrow: "↖",
  6817. rightarrow: "→",
  6818. to: "→",
  6819. Rightarrow: "⇒",
  6820. rightarrowtail: "↣",
  6821. rightharpoondown: "⇁",
  6822. rightharpoonup: "⇀",
  6823. rightleftarrows: "⇆",
  6824. rightleftharpoons: "⇌",
  6825. rightrightarrows: "⇉",
  6826. rightsquigarrow: "⇝",
  6827. Rrightarrow: "⇛",
  6828. searrow: "↘",
  6829. swarrow: "↙",
  6830. twoheadleftarrow: "↞",
  6831. twoheadrightarrow: "↠",
  6832. upharpoonleft: "↿",
  6833. upharpoonright: "↾",
  6834. restriction: "↾",
  6835. upuparrows: "⇈",
  6836. Lsh: "↰",
  6837. Rsh: "↱",
  6838. longleftarrow: "⟵",
  6839. longrightarrow: "⟶",
  6840. Longleftarrow: "⟸",
  6841. Longrightarrow: "⟹",
  6842. implies: "⟹",
  6843. longleftrightarrow: "⟷",
  6844. Longleftrightarrow: "⟺",
  6845. // relation
  6846. backepsilon: "∍",
  6847. because: "∵",
  6848. therefore: "∴",
  6849. between: "≬",
  6850. blacktriangleleft: "◀",
  6851. blacktriangleright: "▸",
  6852. dashv: "⊣",
  6853. bowtie: "⋈",
  6854. frown: "⌢",
  6855. "in": "∈",
  6856. notin: "∉",
  6857. mid: "∣",
  6858. parallel: "∥",
  6859. models: "⊨",
  6860. ni: "∋",
  6861. owns: "∋",
  6862. nmid: "∤",
  6863. nparallel: "∦",
  6864. nshortmid: "⏒",
  6865. nshortparallel: "⏓",
  6866. nsubseteq: "⊈",
  6867. nsubseteqq: "⫇",
  6868. nsupseteq: "⊉",
  6869. nsupseteqq: "⫈",
  6870. ntriangleleft: "⋪",
  6871. ntrianglelefteq: "⋬",
  6872. ntriangleright: "⋫",
  6873. ntrianglerighteq: "⋭",
  6874. nvdash: "⊬",
  6875. nVdash: "⊮",
  6876. nvDash: "⊭",
  6877. nVDash: "⊯",
  6878. perp: "⊥",
  6879. pitchfork: "⋔",
  6880. propto: "∝",
  6881. shortmid: "⏐",
  6882. shortparallel: "⏑",
  6883. smile: "⌣",
  6884. sqsubset: "⊏",
  6885. sqsubseteq: "⊑",
  6886. sqsupset: "⊐",
  6887. sqsupseteq: "⊒",
  6888. subset: "⊂",
  6889. Subset: "⋐",
  6890. subseteq: "⊆",
  6891. subseteqq: "⫅",
  6892. subsetneq: "⊊",
  6893. subsetneqq: "⫋",
  6894. supset: "⊃",
  6895. Supset: "⋑",
  6896. supseteq: "⊇",
  6897. supseteqq: "⫆",
  6898. supsetneq: "⊋",
  6899. supsetneqq: "⫌",
  6900. trianglelefteq: "⊴",
  6901. trianglerighteq: "⊵",
  6902. varpropto: "⫉",
  6903. varsubsetneq: "⏔",
  6904. varsubsetneqq: "⏖",
  6905. varsupsetneq: "⏕",
  6906. varsupsetneqq: "⏗",
  6907. vdash: "⊢",
  6908. Vdash: "⊩",
  6909. vDash: "⊨",
  6910. Vvdash: "⊪",
  6911. vert: "|",
  6912. Vert: "ǁ",
  6913. "|": "ǁ",
  6914. "{": "{",
  6915. "}": "}",
  6916. backslash: "\\",
  6917. langle: "〈",
  6918. rangle: "〉",
  6919. lceil: "⌈",
  6920. rceil: "⌉",
  6921. lbrace: "{",
  6922. rbrace: "}",
  6923. lfloor: "⌊",
  6924. rfloor: "⌋",
  6925. cdots: "⋯",
  6926. ddots: "⋰",
  6927. vdots: "⋮",
  6928. dots: "…",
  6929. ldots: "…",
  6930. "#": "#",
  6931. bot: "⊥",
  6932. angle: "∠",
  6933. backprime: "‵",
  6934. bigstar: "★",
  6935. blacklozenge: "◆",
  6936. blacksquare: "■",
  6937. blacktriangle: "▲",
  6938. blacktriangledown: "▼",
  6939. clubsuit: "♣",
  6940. diagdown: "⒁",
  6941. diagup: "⒂",
  6942. diamondsuit: "♢",
  6943. emptyset: "ø",
  6944. exists: "∃",
  6945. flat: "♭",
  6946. forall: "∀",
  6947. heartsuit: "♡",
  6948. infty: "∞",
  6949. lozenge: "◇",
  6950. measuredangle: "∡",
  6951. nabla: "∇",
  6952. natural: "♮",
  6953. neg: "¬",
  6954. lnot: "¬",
  6955. nexists: "∄",
  6956. prime: "′",
  6957. sharp: "♯",
  6958. spadesuit: "♠",
  6959. sphericalangle: "∢",
  6960. surd: "√",
  6961. top: "⊤",
  6962. varnothing: "∅",
  6963. triangle: "△",
  6964. triangledown: "▽"
  6965. }
  6966. };
  6967. }
  6968. };
  6969. /*!
  6970. * 罗马字体
  6971. */
  6972. _p[30] = {
  6973. value: function(require) {
  6974. return {
  6975. meta: {
  6976. fontFamily: "KF AMS ROMAN",
  6977. src: "KF_AMS_ROMAN.woff"
  6978. },
  6979. data: {
  6980. A: {
  6981. x: 746,
  6982. d: "M390 691l222 -628c13 -37 31 -37 84 -37v-26c-24 2 -74 2 -100 2c-31 0 -83 0 -112 -2v26c19 0 62 0 62 27c0 4 0 6 -5 18l-60 170h-262l-53 -149c-2 -6 -4 -11 -4 -20c0 -12 7 -44 54 -46v-26c-24 2 -64 2 -89 2c-19 0 -59 0 -77 -2v26c35 0 75 11 94 65l212 600\nc5 13 7 16 17 16s12 -3 17 -16zM350 611l-122 -344h244z"
  6983. },
  6984. B: {
  6985. x: 655,
  6986. d: "M50 683h318c129 0 211 -85 211 -168c0 -76 -67 -140 -163 -159c107 -7 189 -84 189 -174c0 -91 -83 -182 -211 -182h-344v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26zM193 363h144c108 0 169 76 169 152c0 62 -44 142 -143 142h-128c-40 0 -42 -5 -42 -39v-255z\nM235 26h130c109 0 166 84 166 157s-50 164 -153 164h-185v-282c0 -34 2 -39 42 -39z"
  6987. },
  6988. C: {
  6989. x: 675,
  6990. d: "M625 679v-237c0 -18 0 -20 -11 -20c-9 0 -9 2 -11 14c-19 139 -101 237 -214 237c-97 0 -263 -70 -263 -331c0 -260 163 -332 265 -332c108 0 208 86 216 226c1 9 1 12 9 12c9 0 9 -4 9 -14c0 -115 -95 -250 -248 -250c-172 0 -327 150 -327 358c0 206 155 357 326 357\nc77 0 137 -36 186 -98l44 84c7 12 8 13 12 13c6 0 7 -1 7 -19z"
  6991. },
  6992. D: {
  6993. x: 708,
  6994. d: "M50 683h318c163 0 290 -158 290 -347c0 -188 -129 -336 -290 -336h-318v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26zM236 26h112c95 0 152 54 176 85c19 27 60 84 60 225c0 272 -153 321 -236 321h-112c-40 0 -42 -5 -42 -39v-553c0 -34 2 -39 42 -39z"
  6995. },
  6996. E: {
  6997. x: 656,
  6998. d: "M606 253l-36 -253h-520v26c69 0 80 0 80 45v539c0 45 -11 45 -80 45v26h506l24 -221h-18c-14 133 -32 195 -187 195h-137c-40 0 -42 -5 -42 -39v-249h94c94 0 103 34 103 117h18v-260h-18c0 83 -9 117 -103 117h-94v-276c0 -34 2 -39 42 -39h139c176 0 189 80 211 227h18\nz"
  6999. },
  7000. F: {
  7001. x: 617,
  7002. d: "M543 681l24 -221h-18c-14 133 -31 195 -182 195h-129c-40 0 -42 -5 -42 -39v-262h90c93 0 102 33 102 117h18v-260h-18c0 84 -9 117 -102 117h-90v-256c0 -36 2 -46 78 -46h22v-26c-41 2 -89 2 -130 2c-31 0 -87 0 -116 -2v26c69 0 80 0 80 45v539c0 45 -11 45 -80 45v26\nh493z"
  7003. },
  7004. G: {
  7005. x: 740,
  7006. d: "M625 199v-179c0 -18 -1 -19 -6 -19s-33 28 -50 69c-31 -57 -110 -86 -191 -86c-176 0 -328 153 -328 358c0 206 155 357 326 357c77 0 137 -36 186 -98l44 84c7 12 8 13 12 13c6 0 7 -1 7 -19v-237c0 -18 0 -20 -11 -20c-9 0 -9 2 -11 14c-19 139 -101 237 -214 237\nc-97 0 -263 -70 -263 -331s169 -332 272 -332c31 0 161 9 161 119v66c0 36 -2 47 -88 47h-30v26c38 -1 116 -2 144 -2c27 0 81 0 105 2v-26c-62 0 -65 -5 -65 -43z"
  7007. },
  7008. H: {
  7009. x: 690,
  7010. d: "M560 612v-541c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v271h-298v-271c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26c29 -2 82 -2 113 -2s84 0 113 2v-26\nc-69 0 -80 0 -80 -45v-244h298v244c0 45 -11 45 -80 45v26c29 -2 82 -2 113 -2s84 0 113 2v-26c-69 0 -80 0 -80 -45z"
  7011. },
  7012. I: {
  7013. x: 334,
  7014. d: "M200 612v-541c0 -45 12 -45 84 -45v-26c-32 2 -83 2 -117 2s-85 0 -117 -2v26c72 0 84 0 84 45v541c0 45 -12 45 -84 45v26c32 -2 83 -2 117 -2s85 0 117 2v-26c-72 0 -84 0 -84 -45z"
  7015. },
  7016. J: {
  7017. x: 466,
  7018. d: "M292 147v463c0 36 -2 47 -80 47h-24v26c42 -2 88 -2 130 -2c25 0 96 2 98 2v-26c-31 0 -54 0 -58 -19c-2 -6 -2 -34 -2 -51v-420c0 -34 0 -36 -1 -43c-12 -84 -84 -140 -162 -140c-82 0 -143 61 -143 128c0 29 19 44 43 44c25 0 42 -18 42 -42c0 -30 -24 -43 -43 -43\nc-4 0 -9 1 -13 2c26 -61 86 -73 112 -73c51 0 101 55 101 147z"
  7019. },
  7020. K: {
  7021. x: 734,
  7022. d: "M368 419l223 -341c30 -46 45 -52 93 -52v-26c-23 2 -64 2 -88 2c-33 0 -79 0 -111 -2v26c13 0 41 0 41 26c0 10 -7 23 -13 33l-189 290l-128 -127v-177c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26\nc29 -2 82 -2 113 -2s84 0 113 2v-26c-69 0 -80 0 -80 -45v-339l332 333c4 6 8 17 8 24s-4 25 -30 27v26c26 -2 73 -2 100 -2c20 0 45 1 65 2v-26c-56 -2 -94 -30 -130 -65z"
  7023. },
  7024. L: {
  7025. x: 591,
  7026. d: "M541 253l-24 -253h-467v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26c29 -2 85 -2 116 -2c41 0 89 0 130 2v-26h-22c-76 0 -78 -10 -78 -46v-546c0 -34 2 -39 42 -39h93c171 0 184 128 192 227h18z"
  7027. },
  7028. M: {
  7029. x: 843,
  7030. d: "M206 667l216 -586l216 586c6 15 7 16 28 16h127v-26c-69 0 -80 0 -80 -45v-541c0 -45 11 -45 80 -45v-26c-27 2 -82 2 -111 2s-83 0 -110 -2v26c69 0 80 0 80 45v587h-1l-237 -642c-4 -10 -6 -16 -14 -16s-10 6 -14 16l-235 637h-1v-555c0 -25 0 -72 80 -72v-26\nc-23 2 -65 2 -90 2s-67 0 -90 -2v26c80 0 80 47 80 72v514c0 45 -11 45 -80 45v26h128c21 0 22 -1 28 -16z"
  7031. },
  7032. N: {
  7033. x: 690,
  7034. d: "M204 671l336 -549v463c0 25 0 72 -80 72v26c23 -2 65 -2 90 -2s67 0 90 2v-26c-80 0 -80 -47 -80 -72v-563c0 -19 0 -22 -10 -22c-5 0 -8 0 -15 12l-371 607c-7 10 -7 12 -14 18v-539c0 -25 0 -72 80 -72v-26c-23 2 -65 2 -90 2s-67 0 -90 -2v26c80 0 80 47 80 72v553\nc-3 1 -21 6 -61 6h-19v26h127c19 0 20 -1 27 -12z"
  7035. },
  7036. O: {
  7037. x: 727,
  7038. d: "M677 340c0 -200 -143 -356 -314 -356c-167 0 -313 153 -313 356s144 359 314 359c166 0 313 -154 313 -359zM364 2c110 0 237 110 237 351c0 233 -132 328 -238 328c-101 0 -237 -92 -237 -328c0 -237 124 -351 238 -351z"
  7039. },
  7040. P: {
  7041. x: 629,
  7042. d: "M196 321v-250c0 -45 11 -45 80 -45v-26c-29 2 -82 2 -113 2s-84 0 -113 -2v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26h306c131 0 223 -88 223 -183s-94 -179 -223 -179h-160zM194 342h143c122 0 166 67 166 158c0 83 -37 157 -166 157h-101c-40 0 -42 -5 -42 -39\nv-276z"
  7043. },
  7044. Q: {
  7045. x: 732,
  7046. d: "M477 9c19 -75 40 -128 99 -128c32 0 86 20 93 116c0 2 1 9 6 9c7 0 7 -7 7 -17c0 -28 -5 -184 -111 -184c-86 0 -97 73 -114 195c-38 -13 -70 -16 -93 -16c-170 0 -314 156 -314 356c0 203 144 359 314 359c166 0 313 -154 313 -359c0 -150 -81 -280 -200 -331zM310 10\nc-11 13 -20 32 -20 55c0 38 27 80 75 80c65 0 89 -60 104 -111c67 43 134 137 134 306c0 234 -128 341 -240 341c-108 0 -239 -103 -239 -341c0 -186 82 -297 186 -330zM453 25c-8 47 -24 104 -88 104c-38 0 -59 -33 -59 -64c0 -22 13 -63 58 -63c17 0 49 2 89 23z"
  7047. },
  7048. R: {
  7049. x: 730,
  7050. d: "M390 341c119 -36 127 -109 133 -159c2 -22 4 -37 7 -58c6 -61 12 -124 67 -124c31 0 60 22 65 87c0 4 1 10 9 10c9 0 9 -7 9 -13c0 -17 -11 -100 -85 -100c-22 0 -73 4 -111 45c-30 34 -30 68 -30 135c0 68 0 95 -40 134c-14 13 -46 36 -103 36h-117v-263\nc0 -45 11 -45 80 -45v-26c-29 2 -81 2 -112 2s-83 0 -112 -2v26c69 0 80 0 80 45v541c0 45 -11 45 -80 45v26h269c140 0 246 -85 246 -179c0 -80 -80 -144 -175 -163zM308 350c75 0 181 25 181 154c0 124 -97 153 -180 153h-73c-40 0 -42 -5 -42 -39v-268h114z"
  7051. },
  7052. S: {
  7053. x: 518,
  7054. d: "M442 679v-203c0 -17 0 -20 -9 -20c-7 0 -8 1 -11 19c-15 125 -81 200 -187 200c-85 0 -137 -71 -137 -136c0 -32 10 -64 38 -95c25 -27 48 -34 102 -48c56 -14 58 -14 65 -17c48 -12 93 -24 135 -88c11 -18 30 -58 30 -110c0 -106 -77 -197 -186 -197\nc-48 0 -132 14 -182 80c-19 -38 -19 -40 -20 -43c-14 -31 -16 -36 -23 -36c-6 0 -7 1 -7 19v202c0 20 1 21 9 21c7 0 8 -1 9 -17c7 -140 107 -200 214 -200c87 0 138 77 138 149c0 56 -30 116 -87 140c-10 4 -60 17 -90 25c-80 21 -115 29 -152 75c-34 42 -41 86 -41 117\nc0 102 82 183 184 183c63 0 121 -25 159 -80l30 66c4 9 6 13 12 13s7 -1 7 -19z"
  7055. },
  7056. T: {
  7057. x: 711,
  7058. d: "M644 680l17 -221h-18c-13 166 -28 195 -181 195c-18 0 -47 0 -55 -1c-18 -4 -18 -16 -18 -38v-542c0 -36 3 -47 86 -47h28v-26c-48 1 -98 2 -147 2s-99 -1 -147 -2v26h28c83 0 86 11 86 47v542c0 23 0 35 -19 38c-8 1 -37 1 -55 1c-154 0 -168 -29 -181 -195h-18l17 221\nh577z"
  7059. },
  7060. U: {
  7061. x: 690,
  7062. d: "M539 229v356c0 25 0 72 -80 72v26c23 -2 66 -2 91 -2s67 0 90 2v-26c-29 0 -80 -6 -80 -62v-380c0 -98 -75 -231 -205 -231c-116 0 -225 101 -225 245v383c0 45 -11 45 -80 45v26c29 -2 82 -2 113 -2s84 0 113 2v-26c-69 0 -80 0 -80 -45v-388c0 -35 4 -97 36 -145\nc28 -42 74 -69 125 -69c95 0 182 85 182 219z"
  7063. },
  7064. V: {
  7065. x: 772,
  7066. d: "M630 591l-227 -591c-5 -14 -6 -16 -17 -16s-12 2 -17 16l-238 621c-12 32 -23 36 -81 36v26c24 -2 71 -2 97 -2c33 0 80 0 112 2v-26c-21 0 -61 0 -61 -27c0 -5 2 -10 5 -17l206 -539l197 513c3 8 6 15 6 26c0 6 -2 41 -52 44v26c23 -2 64 -2 88 -2c25 0 51 0 74 2v-26\nc-67 -1 -83 -44 -92 -66z"
  7067. },
  7068. W: {
  7069. x: 1036,
  7070. d: "M904 593l-187 -592c-5 -15 -5 -17 -14 -17c-8 0 -11 2 -15 16l-170 542l-170 -542c-4 -14 -7 -16 -15 -16c-9 0 -9 2 -14 17l-195 618c-10 32 -14 38 -74 38v26c24 -2 68 -2 94 -2c31 0 81 0 110 2v-26c-20 0 -64 0 -64 -28c0 -2 0 -4 5 -18l163 -519l147 467\nc1 3 3 9 3 13c0 3 -16 55 -20 64c-10 18 -22 21 -68 21v26c23 -2 68 -2 93 -2c31 0 81 0 110 2v-26c-19 0 -63 0 -63 -28c0 -4 1 -8 4 -18l163 -520l155 494c4 11 5 15 5 22c0 24 -19 49 -64 50v26c24 -2 68 -2 93 -2c18 0 53 1 70 2v-26c-58 -2 -73 -37 -82 -64z"
  7071. },
  7072. X: {
  7073. x: 766,
  7074. d: "M402 379l220 -320c20 -28 30 -33 94 -33v-26c-24 2 -74 2 -100 2c-33 0 -82 0 -114 -2v26c35 2 44 19 44 27c0 3 0 6 -8 17l-174 254l-160 -232c-5 -7 -10 -14 -10 -27c0 -16 9 -36 40 -39v-26c-25 2 -72 2 -99 2c-24 0 -62 0 -85 -2v26c19 0 84 1 127 63l174 253\nl-193 282c-22 31 -40 33 -95 33v26c24 -2 74 -2 100 -2c33 0 82 0 114 2v-26c-33 -1 -44 -18 -44 -27c0 -3 1 -6 8 -17l148 -216l132 191c7 10 12 18 12 30c0 16 -8 36 -40 39v26c25 -2 66 -2 99 -2c24 0 62 0 85 2v-26c-82 -1 -112 -44 -127 -65z"
  7075. },
  7076. Y: {
  7077. x: 788,
  7078. d: "M627 594l-201 -321v-198c0 -49 9 -49 81 -49v-26c-29 2 -82 2 -113 2s-83 0 -112 -2v26c69 0 80 0 80 45v202l-221 352c-18 29 -34 32 -91 32v26c24 -2 74 -2 100 -2c33 0 82 0 114 2v-26c-14 0 -49 0 -49 -20c0 -7 1 -8 8 -20l197 -315l180 289c8 13 13 21 13 33\nc0 19 -13 32 -38 33v26c24 -2 64 -2 89 -2s51 0 74 2v-26c-18 0 -72 -1 -111 -63z"
  7079. },
  7080. Z: {
  7081. x: 575,
  7082. d: "M520 663l-394 -635h174c191 0 198 102 207 233h18l-14 -261h-439c-20 0 -22 0 -22 13c0 7 0 8 7 19l387 625h-165c-162 0 -192 -81 -198 -195h-18l10 221h425c21 0 22 -1 22 -20z"
  7083. },
  7084. a: {
  7085. x: 519,
  7086. d: "M370 259v-144c0 -44 0 -96 41 -96c13 0 40 8 40 69v57h18v-56c0 -79 -53 -93 -74 -93c-44 0 -72 40 -74 84c-22 -57 -73 -88 -128 -88c-53 0 -143 22 -143 99c0 38 18 88 81 123c56 30 127 38 186 40v44c0 84 -55 128 -105 128c-35 0 -89 -18 -110 -81c3 1 8 2 12 2\nc17 0 36 -11 36 -36c0 -28 -23 -36 -36 -36c-6 0 -36 2 -36 39c0 66 57 128 136 128c34 0 77 -10 114 -43c42 -39 42 -74 42 -140zM317 139v100c-32 -2 -87 -6 -135 -33c-58 -32 -71 -85 -71 -115c0 -46 39 -83 89 -83c55 0 117 44 117 131z"
  7087. },
  7088. b: {
  7089. x: 546,
  7090. d: "M169 694v-328c30 39 74 72 136 72c101 0 191 -94 191 -222c0 -136 -101 -224 -201 -224c-58 0 -101 32 -130 79l-29 -71h-18v603c0 48 -9 54 -68 54v26zM171 315v-198c0 -18 0 -20 11 -39c32 -58 77 -70 108 -70c24 0 142 11 142 209c0 189 -103 205 -133 205\nc-19 0 -75 -5 -114 -65c-14 -21 -14 -24 -14 -42z"
  7091. },
  7092. c: {
  7093. x: 451,
  7094. d: "M366 350c-22 55 -80 74 -119 74c-59 0 -133 -55 -133 -207c0 -148 77 -207 141 -207c43 0 100 20 126 101c4 13 5 14 12 14s8 -3 8 -7c0 -11 -31 -126 -155 -126c-102 0 -196 91 -196 224c0 128 90 226 196 226c77 0 145 -54 145 -125c0 -35 -29 -38 -36 -38\nc-13 0 -36 8 -36 36c0 35 28 35 47 35z"
  7095. },
  7096. d: {
  7097. x: 546,
  7098. d: "M309 683l119 11v-614c0 -48 9 -54 68 -54v-26l-121 -8v73c-5 -7 -49 -73 -134 -73c-98 0 -191 92 -191 223c0 132 99 223 201 223c81 0 122 -64 126 -69v234c0 48 -9 54 -68 54v26zM375 120v198c0 18 0 21 -13 42c-23 36 -60 62 -106 62c-26 0 -142 -12 -142 -208\nc0 -191 104 -206 133 -206c19 0 53 5 87 35c23 20 41 47 41 77z"
  7099. },
  7100. e: {
  7101. x: 458,
  7102. d: "M404 235h-290c0 -47 0 -106 31 -157c27 -44 70 -68 113 -68c52 0 107 34 129 102c4 12 5 14 12 14c2 0 8 0 8 -7c0 -21 -44 -127 -156 -127c-106 0 -201 96 -201 226c0 123 84 224 190 224c114 0 168 -89 168 -191c0 -10 0 -12 -4 -16zM115 250h239\nc-1 112 -47 176 -115 176c-40 0 -117 -32 -124 -176z"
  7103. },
  7104. f: {
  7105. x: 391,
  7106. d: "M181 404v-333c0 -45 12 -45 84 -45v-26c-27 2 -78 2 -107 2c-26 0 -72 0 -96 -2v26c64 0 68 5 68 43v335h-80v26h80v119c0 106 78 153 135 153c40 0 76 -23 76 -61c0 -26 -20 -34 -34 -34s-34 8 -34 34c0 25 21 32 29 34c-10 7 -25 11 -38 11c-43 0 -85 -52 -85 -135\nv-121h116v-26h-114z"
  7107. },
  7108. g: {
  7109. x: 531,
  7110. d: "M141 180c-19 -22 -19 -44 -19 -53c0 -35 21 -63 52 -68c5 -1 46 -1 69 -1c77 0 225 0 225 -136c0 -75 -99 -126 -209 -126c-114 0 -209 53 -209 125c0 50 41 90 93 103c-34 21 -44 59 -44 85c0 5 0 46 30 81c-10 10 -43 46 -43 103c0 83 68 145 147 145\nc32 0 68 -10 98 -37c28 26 63 45 103 45c32 0 47 -20 47 -39c0 -13 -8 -23 -23 -23c-13 0 -22 9 -22 22c0 16 9 20 13 21c-5 3 -11 3 -15 3c-23 0 -64 -10 -92 -40c30 -31 38 -71 38 -97c0 -83 -68 -145 -147 -145c-40 0 -73 17 -92 32zM233 165c88 0 88 108 88 128\ns0 128 -88 128s-88 -108 -88 -128s0 -128 88 -128zM259 -187c100 0 169 53 169 108c0 93 -114 93 -196 93c-68 0 -78 0 -103 -17c-22 -16 -39 -45 -39 -76c0 -55 69 -108 169 -108z"
  7111. },
  7112. h: {
  7113. x: 550,
  7114. d: "M432 304v-235c0 -39 4 -43 68 -43v-26c-24 2 -69 2 -95 2s-70 0 -94 -2v26c64 0 68 5 68 43v239c0 48 -8 114 -82 114c-70 0 -126 -69 -126 -161v-192c0 -39 4 -43 68 -43v-26c-24 2 -69 2 -95 2s-70 0 -94 -2v26c64 0 68 5 68 43v534c0 48 -9 54 -68 54v26l119 11v-355\nh1c12 33 52 99 134 99c118 0 128 -83 128 -134z"
  7115. },
  7116. i: {
  7117. x: 280,
  7118. d: "M171 616c0 -23 -19 -41 -41 -41c-23 0 -41 19 -41 41c0 23 19 41 41 41c23 0 41 -19 41 -41zM54 427l115 11v-370c0 -36 2 -42 61 -42v-26c-23 2 -64 2 -88 2c-25 0 -68 0 -92 -2v26c64 0 68 5 68 43v278c0 48 -8 54 -64 54v26z"
  7119. },
  7120. j: {
  7121. x: 315,
  7122. d: "M265 616c0 -23 -19 -41 -41 -41c-23 0 -41 19 -41 41c0 23 19 41 41 41c23 0 41 -19 41 -41zM140 427l125 11v-493c0 -85 -51 -148 -120 -148c-51 0 -95 26 -95 66c0 22 14 37 36 37c23 0 36 -17 36 -36c0 -28 -25 -35 -32 -36c22 -14 49 -15 56 -15c59 0 68 78 68 128\nv405c0 48 -8 55 -74 55v26z"
  7123. },
  7124. k: {
  7125. x: 544,
  7126. d: "M280 264l126 -185c30 -44 41 -53 88 -53v-26c-17 1 -54 2 -72 2c-25 0 -68 0 -92 -2v26c12 0 30 3 30 21c0 13 -10 27 -22 45l-101 150l-69 -63v-110c0 -39 4 -43 68 -43v-26c-24 2 -68 2 -93 2s-69 0 -93 -2v26c64 0 68 5 68 43v534c0 48 -9 54 -68 54v26l119 11v-490\nl151 138c1 0 21 19 21 39c0 14 -10 22 -24 23v26c27 -2 70 -2 98 -2l49 1c1 1 3 1 9 1v-26c-26 -1 -62 -6 -119 -54c-9 -8 -80 -73 -80 -75c0 -3 5 -9 6 -11z"
  7127. },
  7128. l: {
  7129. x: 287,
  7130. d: "M169 694v-625c0 -39 4 -43 68 -43v-26c-24 2 -68 2 -94 2c-25 0 -69 0 -93 -2v26c64 0 68 5 68 43v534c0 48 -9 54 -68 54v26z"
  7131. },
  7132. m: {
  7133. x: 811,
  7134. d: "M693 304v-235c0 -39 4 -43 68 -43v-26c-24 2 -69 2 -95 2s-70 0 -94 -2v26c64 0 68 5 68 43v239c0 48 -8 114 -82 114c-70 0 -126 -69 -126 -161v-192c0 -39 4 -43 68 -43v-26c-24 2 -69 2 -95 2s-70 0 -94 -2v26c64 0 68 5 68 43v239c0 48 -8 114 -82 114\nc-70 0 -126 -69 -126 -161v-192c0 -39 4 -43 68 -43v-26c-24 2 -69 2 -95 2s-70 0 -94 -2v26c64 0 68 5 68 43v278c0 48 -9 54 -68 54v26l118 11v-101h1c15 40 56 101 135 101c56 0 115 -18 127 -100h1c18 54 65 100 133 100c119 0 128 -84 128 -134z"
  7135. },
  7136. n: {
  7137. x: 550,
  7138. d: "M432 304v-235c0 -39 4 -43 68 -43v-26c-24 2 -69 2 -95 2s-70 0 -94 -2v26c64 0 68 5 68 43v239c0 48 -8 114 -82 114c-70 0 -126 -69 -126 -161v-192c0 -39 4 -43 68 -43v-26c-24 2 -69 2 -95 2s-70 0 -94 -2v26c64 0 68 5 68 43v278c0 48 -9 54 -68 54v26l118 11v-101\nh1c15 40 56 101 135 101c118 0 128 -83 128 -134z"
  7139. },
  7140. o: {
  7141. x: 504,
  7142. d: "M454 214c0 -126 -93 -222 -202 -222s-202 96 -202 222c0 128 93 228 202 228s202 -100 202 -228zM252 10c38 0 81 19 109 65c27 48 29 108 29 147c0 31 0 97 -31 144c-24 35 -62 60 -107 60c-51 0 -90 -32 -110 -65c-26 -45 -28 -97 -28 -139c0 -44 3 -100 28 -145\nc23 -39 63 -67 110 -67z"
  7143. },
  7144. p: {
  7145. x: 546,
  7146. d: "M239 -169v-26c-24 2 -69 2 -95 2s-70 0 -94 -2v26c64 0 68 5 68 43v473c0 48 -9 54 -68 54v26l119 11v-73c28 40 77 73 137 73c103 0 190 -96 190 -222c0 -136 -101 -224 -201 -224c-53 0 -95 27 -124 69v-187c0 -39 4 -43 68 -43zM171 314v-198c0 -16 0 -22 13 -44\nc30 -47 69 -64 105 -64c79 0 143 93 143 207s-60 205 -133 205c-50 0 -84 -30 -89 -34c-39 -37 -39 -58 -39 -72z"
  7147. },
  7148. q: {
  7149. x: 546,
  7150. d: "M428 438v-564c0 -39 4 -43 68 -43v-26c-24 2 -69 2 -95 2s-70 0 -94 -2v26c64 0 68 5 68 43v199c-13 -22 -56 -81 -133 -81c-100 0 -192 92 -192 223c0 132 98 223 200 223c67 0 109 -46 132 -99l30 99h16zM377 137v140c0 52 -40 143 -120 143c-77 0 -143 -89 -143 -206\nc0 -111 58 -206 133 -206c24 0 60 8 91 43c3 3 39 43 39 86z"
  7151. },
  7152. r: {
  7153. x: 402,
  7154. d: "M169 236v-165c0 -45 12 -45 84 -45v-26c-27 2 -78 2 -107 2c-26 0 -72 0 -96 -2v26c64 0 68 5 68 43v278c0 48 -9 54 -68 54v26l116 11v-109h1c10 35 43 109 119 109c34 0 66 -20 66 -52c0 -28 -22 -35 -34 -35c-15 0 -34 10 -34 34c0 26 22 33 22 33c-7 3 -14 4 -21 4\nc-75 0 -116 -90 -116 -186z"
  7155. },
  7156. s: {
  7157. x: 408,
  7158. d: "M334 422v-112c0 -17 0 -20 -9 -20c-3 0 -8 1 -9 6c-2 32 -8 132 -115 132c-101 0 -115 -55 -115 -81c0 -61 70 -75 125 -87c42 -8 77 -15 107 -46c13 -12 40 -39 40 -90c0 -78 -53 -132 -152 -132c-56 0 -91 26 -111 53c-6 -10 -21 -34 -27 -43c-5 -8 -6 -9 -11 -9\nc-6 0 -7 1 -7 19v144c0 20 1 21 9 21s8 -1 11 -15c18 -88 49 -154 136 -154c92 0 116 54 116 96c0 36 -22 58 -35 70c-21 18 -43 22 -106 35c-29 6 -131 27 -131 117c0 58 40 116 151 116c17 0 62 -1 94 -35c3 4 12 14 15 18c12 15 13 16 17 16c6 0 7 -1 7 -19z"
  7159. },
  7160. t: {
  7161. x: 396,
  7162. d: "M190 404v-283c0 -91 40 -111 69 -111c42 0 69 46 69 115v56h18v-57c0 -74 -34 -132 -93 -132c-116 0 -116 112 -116 131v281h-87v16c85 2 120 92 122 195h18v-185h140v-26h-140z"
  7163. },
  7164. u: {
  7165. x: 550,
  7166. d: "M311 427l121 11v-358c0 -48 9 -54 68 -54v-26l-119 -8v93h-1c-8 -21 -41 -93 -126 -93c-72 0 -97 26 -110 39c-26 28 -26 71 -26 138v192c-1 40 -28 40 -68 40v26l121 11v-329c0 -52 7 -101 89 -101c74 0 119 73 119 157v182c0 48 -9 54 -68 54v26z"
  7167. },
  7168. v: {
  7169. x: 564,
  7170. d: "M431 340l-133 -331c-6 -15 -7 -17 -16 -17s-10 2 -16 17l-145 364c-12 31 -33 31 -71 31v26c22 -2 53 -2 80 -2c25 0 69 0 93 2v-26c-15 0 -48 0 -48 -24c0 -4 0 -6 6 -19l119 -300l110 278c6 14 6 16 6 25c0 26 -14 38 -39 40v26c20 -2 53 -2 74 -2c19 0 44 1 63 2v-26\nc-58 -2 -74 -42 -83 -64z"
  7171. },
  7172. w: {
  7173. x: 747,
  7174. d: "M622 342l-114 -334c-4 -13 -7 -16 -15 -16c-7 0 -11 2 -16 17l-104 302l-103 -302c-5 -15 -9 -17 -16 -17c-8 0 -11 3 -15 16l-123 360c-11 33 -22 36 -66 36v26c21 -2 55 -2 77 -2c25 0 67 0 91 2v-26c-16 0 -50 0 -50 -26c0 -3 0 -5 5 -18l99 -289l92 268\nc-21 63 -21 65 -76 65v26c23 -2 49 -2 74 -2c24 0 66 0 89 2v-26c-16 0 -50 0 -50 -26c0 -4 3 -12 5 -19l102 -295l94 272c2 7 4 16 4 23c0 25 -17 43 -48 45v26c17 -2 60 -2 79 -2c20 0 40 1 60 2v-26c-15 -1 -55 -3 -75 -62z"
  7175. },
  7176. x: {
  7177. x: 582,
  7178. d: "M309 233l134 -174c24 -31 39 -33 89 -33v-26c-22 2 -54 2 -81 2c-25 0 -68 0 -92 -2v26c16 1 28 9 28 23c0 7 -12 22 -20 33l-87 113l-83 -102c-9 -12 -17 -23 -17 -41c0 -23 16 -25 22 -26v-26c-18 2 -62 2 -82 2c-18 0 -53 -1 -70 -2v26c27 1 74 5 119 59\nc11 14 98 121 98 125c0 3 -5 9 -7 11l-115 149c-24 30 -36 34 -90 34v26c22 -2 54 -2 81 -2c25 0 68 0 92 2v-26c-17 -1 -27 -11 -27 -23c0 -5 0 -7 9 -18l88 -115l74 94c5 7 15 18 15 36c0 14 -8 24 -22 26v26c23 -2 54 -2 81 -2c18 0 53 1 70 2v-26\nc-44 -1 -82 -17 -115 -55c-28 -33 -62 -77 -92 -116z"
  7179. },
  7180. y: {
  7181. x: 564,
  7182. d: "M430 342l-178 -439c-20 -50 -56 -106 -114 -106c-45 0 -86 29 -86 69c0 18 11 33 33 33c20 0 32 -15 32 -32s-10 -31 -33 -33c18 -18 43 -21 54 -21c63 0 89 69 134 187l-149 367c-13 32 -19 37 -73 37v26c22 -2 54 -2 81 -2c25 0 68 0 92 2v-26c-24 0 -47 -2 -47 -24\nc0 -1 0 -8 5 -20l119 -292l109 270c5 12 7 17 7 27c0 8 -1 36 -39 39v26c20 -2 53 -2 74 -2c19 0 44 1 63 2v-26c-14 0 -59 -1 -84 -62z"
  7183. },
  7184. z: {
  7185. x: 452,
  7186. d: "M391 407l-278 -389h128c122 0 135 51 143 162h18l-14 -180h-316c-21 0 -22 1 -22 15l286 399h-122c-115 0 -126 -42 -133 -139h-18l10 155h304c18 0 22 0 22 -9c0 -2 0 -4 -8 -14z"
  7187. }
  7188. }
  7189. };
  7190. }
  7191. };
  7192. /**
  7193. * 公式对象,表达式容器
  7194. */
  7195. _p[31] = {
  7196. value: function(require, exports, module) {
  7197. var kity = _p.r(34), GTYPE = _p.r(6), FontManager = _p.r(25), FontInstaller = _p.r(24), DEFAULT_OPTIONS = {
  7198. fontsize: 50,
  7199. autoresize: true,
  7200. padding: [ 0 ]
  7201. }, Output = _p.r(1), EXPRESSION_INTERVAL = 10, ExpressionWrap = kity.createClass("ExpressionWrap", {
  7202. constructor: function(exp, config) {
  7203. this.wrap = new kity.Group();
  7204. this.bg = new kity.Rect(0, 0, 0, 0).fill("transparent");
  7205. this.exp = exp;
  7206. this.config = config;
  7207. this.wrap.setAttr("data-type", "kf-exp-wrap");
  7208. this.bg.setAttr("data-type", "kf-exp-wrap-bg");
  7209. this.wrap.addShape(this.bg);
  7210. this.wrap.addShape(this.exp);
  7211. },
  7212. getWrapShape: function() {
  7213. return this.wrap;
  7214. },
  7215. getExpression: function() {
  7216. return this.exp;
  7217. },
  7218. getBackground: function() {
  7219. return this.bg;
  7220. },
  7221. resize: function() {
  7222. var padding = this.config.padding, expBox = this.exp.getFixRenderBox();
  7223. if (padding.length === 1) {
  7224. padding[1] = padding[0];
  7225. }
  7226. this.bg.setSize(padding[1] * 2 + expBox.width, padding[0] * 2 + expBox.height);
  7227. this.exp.translate(padding[1], padding[0]);
  7228. }
  7229. }), Formula = kity.createClass("Formula", {
  7230. base: _p.r(32),
  7231. constructor: function(container, config) {
  7232. this.callBase(container);
  7233. this.expressions = [];
  7234. this.fontInstaller = new FontInstaller(this);
  7235. this.config = kity.Utils.extend({}, DEFAULT_OPTIONS, config);
  7236. this.initEnvironment();
  7237. this.initInnerFont();
  7238. },
  7239. getContentContainer: function() {
  7240. return this.container;
  7241. },
  7242. initEnvironment: function() {
  7243. this.zoom = this.config.fontsize / 50;
  7244. if ("width" in this.config) {
  7245. this.setWidth(this.config.width);
  7246. }
  7247. if ("height" in this.config) {
  7248. this.setHeight(this.config.height);
  7249. }
  7250. this.node.setAttribute("font-size", DEFAULT_OPTIONS.fontsize);
  7251. },
  7252. initInnerFont: function() {
  7253. var fontList = FontManager.getFontList(), _self = this;
  7254. kity.Utils.each(fontList, function(fontInfo) {
  7255. createFontStyle(fontInfo);
  7256. });
  7257. function createFontStyle(fontInfo) {
  7258. var stylesheet = _self.doc.createElement("style"), tpl = '@font-face{font-family: "${fontFamily}";font-style: normal;src: url("${src}") format("woff");}';
  7259. stylesheet.setAttribute("type", "text/css");
  7260. stylesheet.innerHTML = tpl.replace("${fontFamily}", fontInfo.meta.fontFamily).replace("${src}", fontInfo.meta.src);
  7261. _self.resourceNode.appendChild(stylesheet);
  7262. }
  7263. },
  7264. insertExpression: function(expression, index) {
  7265. var expWrap = this.wrap(expression);
  7266. // clear zoom
  7267. this.container.clearTransform();
  7268. this.expressions.splice(index, 0, expWrap.getWrapShape());
  7269. this.addShape(expWrap.getWrapShape());
  7270. notifyExpression.call(this, expWrap.getExpression());
  7271. expWrap.resize();
  7272. correctOffset.call(this);
  7273. this.resetZoom();
  7274. this.config.autoresize && this.resize();
  7275. },
  7276. appendExpression: function(expression) {
  7277. this.insertExpression(expression, this.expressions.length);
  7278. },
  7279. resize: function() {
  7280. var renderBox = this.container.getFixRenderBox();
  7281. this.node.setAttribute("width", renderBox.width);
  7282. this.node.setAttribute("height", renderBox.height);
  7283. },
  7284. resetZoom: function() {
  7285. var zoomLevel = this.zoom / this.getBaseZoom();
  7286. if (zoomLevel !== 0) {
  7287. this.container.scale(zoomLevel);
  7288. }
  7289. },
  7290. wrap: function(exp) {
  7291. return new ExpressionWrap(exp, this.config);
  7292. },
  7293. clear: function() {
  7294. this.callBase();
  7295. this.expressions = [];
  7296. },
  7297. clearExpressions: function() {
  7298. kity.Utils.each(this.expressions, function(exp, i) {
  7299. exp.remove();
  7300. });
  7301. this.expressions = [];
  7302. },
  7303. toJPG: function(cb) {
  7304. new Output(this).toJPG(cb);
  7305. },
  7306. toPNG: function(cb) {
  7307. new Output(this).toPNG(cb);
  7308. }
  7309. });
  7310. kity.Utils.extend(Formula, {
  7311. registerFont: function(fontData) {
  7312. FontManager.registerFont(fontData);
  7313. }
  7314. });
  7315. // 调整表达式之间的偏移
  7316. function correctOffset() {
  7317. var exprOffset = 0;
  7318. kity.Utils.each(this.expressions, function(expr) {
  7319. var box = null;
  7320. if (!expr) {
  7321. return;
  7322. }
  7323. expr.setMatrix(new kity.Matrix(1, 0, 0, 1, 0, 0));
  7324. box = expr.getFixRenderBox();
  7325. expr.translate(0 - box.x, exprOffset);
  7326. exprOffset += box.height + EXPRESSION_INTERVAL;
  7327. });
  7328. return this;
  7329. }
  7330. // 通知表达式已接入到paper
  7331. function notifyExpression(expression) {
  7332. var len = 0, childGroup = null;
  7333. if (!expression) {
  7334. return;
  7335. }
  7336. if (expression.getType() === GTYPE.EXP) {
  7337. for (var i = 0, len = expression.getChildren().length; i < len; i++) {
  7338. notifyExpression(expression.getChild(i));
  7339. }
  7340. } else if (expression.getType() === GTYPE.COMPOUND_EXP) {
  7341. // 操作数处理
  7342. for (var i = 0, len = expression.getOperands().length; i < len; i++) {
  7343. notifyExpression(expression.getOperand(i));
  7344. }
  7345. // 处理操作符
  7346. notifyExpression(expression.getOperator());
  7347. }
  7348. expression.addedCall && expression.addedCall();
  7349. }
  7350. return Formula;
  7351. }
  7352. };
  7353. /**
  7354. * 公式专用paper
  7355. */
  7356. _p[32] = {
  7357. value: function(require, exports, module) {
  7358. var kity = _p.r(34);
  7359. return kity.createClass("FPaper", {
  7360. base: kity.Paper,
  7361. constructor: function(container) {
  7362. this.callBase(container);
  7363. this.doc = container.ownerDocument;
  7364. this.container = new kity.Group();
  7365. this.container.setAttr("data-type", "kf-container");
  7366. this.background = new kity.Group();
  7367. this.background.setAttr("data-type", "kf-bg");
  7368. this.baseZoom = 1;
  7369. this.zoom = 1;
  7370. this.base("addShape", this.background);
  7371. this.base("addShape", this.container);
  7372. },
  7373. getZoom: function() {
  7374. return this.zoom;
  7375. },
  7376. getBaseZoom: function() {
  7377. return this.baseZoom;
  7378. },
  7379. addShape: function(shape, pos) {
  7380. return this.container.addShape(shape, pos);
  7381. },
  7382. getBackground: function() {
  7383. return this.background;
  7384. },
  7385. removeShape: function(pos) {
  7386. return this.container.removeShape(pos);
  7387. },
  7388. clear: function() {
  7389. return this.container.clear();
  7390. }
  7391. });
  7392. }
  7393. };
  7394. /**
  7395. * jquery
  7396. */
  7397. _p[33] = {
  7398. value: function(require, exports, module) {
  7399. if (!window.jQuery) {
  7400. throw new Error("Missing jQuery");
  7401. }
  7402. return window.jQuery;
  7403. }
  7404. };
  7405. /**
  7406. * kity库封包
  7407. */
  7408. _p[34] = {
  7409. value: function(require, exports, module) {
  7410. if (!window.kity) {
  7411. throw new Error("Missing Kity Graphic Lib");
  7412. }
  7413. return window.kity;
  7414. }
  7415. };
  7416. /**
  7417. * 小括号操作符:()
  7418. */
  7419. _p[35] = {
  7420. value: function(require, exports, modules) {
  7421. var kity = _p.r(34), Text = _p.r(5), FontManager = _p.r(25);
  7422. return kity.createClass("BracketsOperator", {
  7423. base: _p.r(41),
  7424. constructor: function() {
  7425. this.callBase("Brackets");
  7426. },
  7427. applyOperand: function(exp) {
  7428. generate.call(this, exp);
  7429. }
  7430. });
  7431. function generate(exp) {
  7432. var left = this.getParentExpression().getLeftSymbol(), right = this.getParentExpression().getRightSymbol(), fontSize = exp.getFixRenderBox().height, group = new kity.Group(), offset = 0, leftOp = new Text(left, "KF AMS MAIN").fill("black"), rightOp = new Text(right, "KF AMS MAIN").fill("black");
  7433. leftOp.setFontSize(fontSize);
  7434. rightOp.setFontSize(fontSize);
  7435. this.addOperatorShape(group.addShape(leftOp).addShape(rightOp));
  7436. offset += leftOp.getFixRenderBox().width;
  7437. exp.translate(offset, 0);
  7438. offset += exp.getFixRenderBox().width;
  7439. rightOp.translate(offset, 0);
  7440. }
  7441. }
  7442. };
  7443. /**
  7444. * 组合操作符
  7445. * 操作多个表达式组合在一起
  7446. */
  7447. _p[36] = {
  7448. value: function(require, exports, modules) {
  7449. var kity = _p.r(34);
  7450. return kity.createClass("CombinationOperator", {
  7451. base: _p.r(41),
  7452. constructor: function() {
  7453. this.callBase("Combination");
  7454. },
  7455. applyOperand: function() {
  7456. // 偏移量
  7457. var offsetX = 0, offsetY = 0, // 操作数
  7458. operands = arguments, // 操作对象最大高度
  7459. maxHeight = 0, // 垂直距离最大偏移
  7460. maxOffsetTop = 0, maxOffsetBottom = 0, cached = [], // 偏移集合
  7461. offsets = [];
  7462. kity.Utils.each(operands, function(operand) {
  7463. var box = operand.getFixRenderBox(), offsetY = operand.getOffset();
  7464. box.height -= offsetY.top + offsetY.bottom;
  7465. cached.push(box);
  7466. offsets.push(offsetY);
  7467. maxOffsetTop = Math.max(offsetY.top, maxOffsetTop);
  7468. maxOffsetBottom = Math.max(offsetY.bottom, maxOffsetBottom);
  7469. maxHeight = Math.max(box.height, maxHeight);
  7470. });
  7471. kity.Utils.each(operands, function(operand, index) {
  7472. var box = cached[index];
  7473. operand.translate(offsetX - box.x, (maxHeight - (box.y + box.height)) / 2 + maxOffsetBottom - offsets[index].bottom);
  7474. offsetX += box.width;
  7475. });
  7476. this.parentExpression.setOffset(maxOffsetTop, maxOffsetBottom);
  7477. this.parentExpression.updateBoxSize();
  7478. }
  7479. });
  7480. }
  7481. };
  7482. /*!
  7483. * 上下标控制器` 1`` `` ` ` `432 1`
  7484. */
  7485. _p[37] = {
  7486. value: function(require) {
  7487. var kity = _p.r(34), EmptyExpression = _p.r(20), defaultOptions = {
  7488. subOffset: 0,
  7489. supOffset: 0,
  7490. // 上下标的默认缩放值
  7491. zoom: .66
  7492. };
  7493. return kity.createClass("ScriptController", {
  7494. constructor: function(opObj, target, sup, sub, options) {
  7495. this.observer = opObj.getParentExpression();
  7496. this.target = target;
  7497. this.sup = sup;
  7498. this.sub = sub;
  7499. this.options = kity.Utils.extend({}, defaultOptions, options);
  7500. },
  7501. // 上下标记
  7502. applyUpDown: function() {
  7503. var target = this.target, sup = this.sup, sub = this.sub, options = this.options;
  7504. sup.scale(options.zoom);
  7505. sub.scale(options.zoom);
  7506. var targetBox = target.getFixRenderBox();
  7507. if (EmptyExpression.isEmpty(sup) && EmptyExpression.isEmpty(sub)) {
  7508. return {
  7509. width: targetBox.width,
  7510. height: targetBox.height,
  7511. top: 0,
  7512. bottom: 0
  7513. };
  7514. } else {
  7515. // 上标
  7516. if (!EmptyExpression.isEmpty(sup) && EmptyExpression.isEmpty(sub)) {
  7517. return this.applyUp(target, sup);
  7518. } else if (EmptyExpression.isEmpty(sup) && !EmptyExpression.isEmpty(sub)) {
  7519. return this.applyDown(target, sub);
  7520. } else {
  7521. return this.applyUpDownScript(target, sup, sub);
  7522. }
  7523. }
  7524. },
  7525. /**
  7526. * 返回应用上下标后的空间占用情况,其中的key各自的意义是:
  7527. * top: 上空间偏移
  7528. * bottom: 下空间偏移
  7529. * width: 当前整个图形的实际占用空间的width
  7530. * height: 当前整个图形的实际占用空间的height
  7531. * @returns {*}
  7532. */
  7533. applySide: function() {
  7534. var target = this.target, sup = this.sup, sub = this.sub;
  7535. if (EmptyExpression.isEmpty(sup) && EmptyExpression.isEmpty(sub)) {
  7536. var targetRectBox = target.getRenderBox(this.observer);
  7537. return {
  7538. width: targetRectBox.width,
  7539. height: targetRectBox.height,
  7540. top: 0,
  7541. bottom: 0
  7542. };
  7543. } else {
  7544. // 下标处理
  7545. if (EmptyExpression.isEmpty(sup) && !EmptyExpression.isEmpty(sub)) {
  7546. return this.applySideSub(target, sub);
  7547. } else if (!EmptyExpression.isEmpty(sup) && EmptyExpression.isEmpty(sub)) {
  7548. return this.applySideSuper(target, sup);
  7549. } else {
  7550. return this.applySideScript(target, sup, sub);
  7551. }
  7552. }
  7553. },
  7554. applySideSuper: function(target, sup) {
  7555. sup.scale(this.options.zoom);
  7556. var targetRectBox = target.getRenderBox(this.observer), supRectBox = sup.getRenderBox(this.observer), targetMeanline = target.getMeanline(this.observer), supBaseline = sup.getBaseline(this.observer), positionline = targetMeanline, diff = supBaseline - positionline, space = {
  7557. top: 0,
  7558. bottom: 0,
  7559. width: targetRectBox.width + supRectBox.width,
  7560. height: targetRectBox.height
  7561. };
  7562. sup.translate(targetRectBox.width, 0);
  7563. if (this.options.supOffset) {
  7564. sup.translate(this.options.supOffset, 0);
  7565. }
  7566. if (diff > 0) {
  7567. target.translate(0, diff);
  7568. space.bottom = diff;
  7569. space.height += diff;
  7570. } else {
  7571. sup.translate(0, -diff);
  7572. }
  7573. return space;
  7574. },
  7575. applySideSub: function(target, sub) {
  7576. sub.scale(this.options.zoom);
  7577. var targetRectBox = target.getRenderBox(this.observer), subRectBox = sub.getRenderBox(this.observer), subOffset = sub.getOffset(), targetBaseline = target.getBaseline(this.observer), // 下标定位线
  7578. subPosition = (subRectBox.height + subOffset.top + subOffset.bottom) / 2, diff = targetRectBox.height - targetBaseline - subPosition, space = {
  7579. top: 0,
  7580. bottom: 0,
  7581. width: targetRectBox.width + subRectBox.width,
  7582. height: targetRectBox.height
  7583. };
  7584. // 定位下标位置
  7585. sub.translate(targetRectBox.width, subOffset.top + targetBaseline - subPosition);
  7586. if (this.options.subOffset) {
  7587. sub.translate(this.options.subOffset, 0);
  7588. }
  7589. if (diff < 0) {
  7590. space.top = -diff;
  7591. space.height -= diff;
  7592. }
  7593. return space;
  7594. },
  7595. applySideScript: function(target, sup, sub) {
  7596. sup.scale(this.options.zoom);
  7597. sub.scale(this.options.zoom);
  7598. var targetRectBox = target.getRenderBox(this.observer), subRectBox = sub.getRenderBox(this.observer), supRectBox = sup.getRenderBox(this.observer), targetMeanline = target.getMeanline(this.observer), targetBaseline = target.getBaseline(this.observer), supBaseline = sup.getBaseline(this.observer), // 上下标都存在时, 下标的定位以上伸线为准
  7599. subAscenderline = sub.getAscenderline(this.observer), supPosition = targetMeanline, subPosition = targetMeanline + (targetBaseline - targetMeanline) * 2 / 3, topDiff = supPosition - supBaseline, bottomDiff = targetRectBox.height - subPosition - (subRectBox.height - subAscenderline), space = {
  7600. top: 0,
  7601. bottom: 0,
  7602. width: targetRectBox.width + Math.max(subRectBox.width, supRectBox.width),
  7603. height: targetRectBox.height
  7604. };
  7605. sup.translate(targetRectBox.width, topDiff);
  7606. sub.translate(targetRectBox.width, subPosition - subAscenderline);
  7607. if (this.options.supOffset) {
  7608. sup.translate(this.options.supOffset, 0);
  7609. }
  7610. if (this.options.subOffset) {
  7611. sub.translate(this.options.subOffset, 0);
  7612. }
  7613. // 定位纠正
  7614. if (topDiff > 0) {
  7615. if (bottomDiff < 0) {
  7616. targetRectBox.height -= bottomDiff;
  7617. space.top = -bottomDiff;
  7618. }
  7619. } else {
  7620. target.translate(0, -topDiff);
  7621. sup.translate(0, -topDiff);
  7622. sub.translate(0, -topDiff);
  7623. space.height -= topDiff;
  7624. if (bottomDiff > 0) {
  7625. space.bottom = -topDiff;
  7626. } else {
  7627. space.height -= bottomDiff;
  7628. // 比较上下偏移, 获取正确的偏移值
  7629. topDiff = -topDiff;
  7630. bottomDiff = -bottomDiff;
  7631. if (topDiff > bottomDiff) {
  7632. space.bottom = topDiff - bottomDiff;
  7633. } else {
  7634. space.top = bottomDiff - topDiff;
  7635. }
  7636. }
  7637. }
  7638. return space;
  7639. },
  7640. applyUp: function(target, sup) {
  7641. var supBox = sup.getFixRenderBox(), targetBox = target.getFixRenderBox(), space = {
  7642. width: Math.max(targetBox.width, supBox.width),
  7643. height: supBox.height + targetBox.height,
  7644. top: 0,
  7645. bottom: supBox.height
  7646. };
  7647. sup.translate((space.width - supBox.width) / 2, 0);
  7648. target.translate((space.width - targetBox.width) / 2, supBox.height);
  7649. return space;
  7650. },
  7651. applyDown: function(target, sub) {
  7652. var subBox = sub.getFixRenderBox(), targetBox = target.getFixRenderBox(), space = {
  7653. width: Math.max(targetBox.width, subBox.width),
  7654. height: subBox.height + targetBox.height,
  7655. top: subBox.height,
  7656. bottom: 0
  7657. };
  7658. sub.translate((space.width - subBox.width) / 2, targetBox.height);
  7659. target.translate((space.width - targetBox.width) / 2, 0);
  7660. return space;
  7661. }
  7662. });
  7663. }
  7664. };
  7665. /**
  7666. * 分数操作符
  7667. */
  7668. _p[38] = {
  7669. value: function(require, exports, modules) {
  7670. var kity = _p.r(34), ZOOM = _p.r(47).zoom;
  7671. return kity.createClass("FractionOperator", {
  7672. base: _p.r(41),
  7673. constructor: function() {
  7674. this.callBase("Fraction");
  7675. },
  7676. applyOperand: function(upOperand, downOperand) {
  7677. upOperand.scale(ZOOM);
  7678. downOperand.scale(ZOOM);
  7679. var upWidth = Math.ceil(upOperand.getWidth()), downWidth = Math.ceil(downOperand.getWidth()), upHeight = Math.ceil(upOperand.getHeight()), downHeight = Math.ceil(downOperand.getHeight()), // 分数线overflow值
  7680. overflow = 3, // 整体padding
  7681. padding = 1, maxWidth = Math.max(upWidth, downWidth), maxHeight = Math.max(upHeight, downHeight), operatorShape = generateOperator(maxWidth, overflow);
  7682. this.addOperatorShape(operatorShape);
  7683. upOperand.translate((maxWidth - upWidth) / 2 + overflow, 0);
  7684. operatorShape.translate(0, upHeight + 1);
  7685. // 下部不需要偏移
  7686. downOperand.translate((maxWidth - downWidth) / 2 + overflow, upHeight + operatorShape.getHeight() + 1 * 2);
  7687. this.parentExpression.setOffset(maxHeight - upHeight, maxHeight - downHeight);
  7688. this.parentExpression.expand(padding * 2, padding * 2);
  7689. this.parentExpression.translateElement(padding, padding);
  7690. }
  7691. });
  7692. function generateOperator(width, overflow) {
  7693. return new kity.Rect(width + overflow * 2, 1).fill("black");
  7694. }
  7695. }
  7696. };
  7697. /**
  7698. * 函数操作符
  7699. */
  7700. _p[39] = {
  7701. value: function(require, exports, modules) {
  7702. var kity = _p.r(34), Text = _p.r(5), ScriptController = _p.r(37);
  7703. return kity.createClass("FunctionOperator", {
  7704. base: _p.r(41),
  7705. constructor: function(funcName) {
  7706. this.callBase("Function: " + funcName);
  7707. this.funcName = funcName;
  7708. },
  7709. /*
  7710. * 积分操作符应用操作数
  7711. * @param expr 函数表达式
  7712. * @param sup 上限
  7713. * @param sub 下限
  7714. */
  7715. applyOperand: function(expr, sup, sub) {
  7716. var opShape = generateOperator.call(this), expBox = expr.getFixRenderBox(), scriptHanlder = this.parentExpression.isSideScript() ? "applySide" : "applyUpDown", space = new ScriptController(this, opShape, sup, sub, {
  7717. zoom: .5
  7718. })[scriptHanlder](), padding = 5, diff = (space.height + space.top + space.bottom - expBox.height) / 2;
  7719. // 应用偏移, 使图形在正确的位置上
  7720. opShape.translate(0, space.top);
  7721. sup.translate(0, space.top);
  7722. sub.translate(0, space.top);
  7723. if (diff >= 0) {
  7724. expr.translate(space.width + padding, diff);
  7725. } else {
  7726. diff = -diff;
  7727. opShape.translate(0, diff);
  7728. sup.translate(0, diff);
  7729. sub.translate(0, diff);
  7730. expr.translate(space.width + padding, 0);
  7731. }
  7732. // 只扩展左边, 不扩展右边, 所以padding不 *2
  7733. this.parentExpression.expand(padding, padding * 2);
  7734. this.parentExpression.translateElement(padding, padding);
  7735. }
  7736. });
  7737. /* 返回操作符对象 */
  7738. function generateOperator() {
  7739. var opShape = new Text(this.funcName, "KF AMS ROMAN");
  7740. this.addOperatorShape(opShape);
  7741. return opShape;
  7742. }
  7743. }
  7744. };
  7745. /**
  7746. * 积分操作符:∫
  7747. */
  7748. _p[40] = {
  7749. value: function(require, exports, modules) {
  7750. var kity = _p.r(34), ScriptController = _p.r(37);
  7751. return kity.createClass("IntegrationOperator", {
  7752. base: _p.r(41),
  7753. constructor: function(type) {
  7754. this.callBase("Integration");
  7755. // 默认是普通单重积分
  7756. this.opType = type || 1;
  7757. },
  7758. setType: function(type) {
  7759. this.opType = type | 0;
  7760. },
  7761. // 重置类型
  7762. resetType: function() {
  7763. this.opType = 1;
  7764. },
  7765. applyOperand: function(exp, sup, sub) {
  7766. var opShape = this.getOperatorShape(), padding = 3, expBox = exp.getFixRenderBox(), space = new ScriptController(this, opShape, sup, sub, {
  7767. supOffset: 3,
  7768. subOffset: -15
  7769. }).applySide(), diff = (space.height + space.top - expBox.height) / 2;
  7770. opShape.translate(0, space.top);
  7771. sup.translate(0, space.top);
  7772. sub.translate(0, space.top);
  7773. if (diff >= 0) {
  7774. exp.translate(space.width + padding, diff);
  7775. } else {
  7776. diff = -diff;
  7777. opShape.translate(0, diff);
  7778. sup.translate(0, diff);
  7779. sub.translate(0, diff);
  7780. exp.translate(space.width + padding, 0);
  7781. }
  7782. this.parentExpression.expand(padding, padding * 2);
  7783. this.parentExpression.translateElement(padding, padding);
  7784. },
  7785. getOperatorShape: function() {
  7786. var pathData = "M1.318,48.226c0,0,0.044,0.066,0.134,0.134c0.292,0.313,0.626,0.447,1.006,0.447c0.246,0.022,0.358-0.044,0.604-0.268 c0.782-0.782,1.497-2.838,2.324-6.727c0.514-2.369,0.938-4.693,1.586-8.448C8.559,24.068,9.9,17.878,11.978,9.52 c0.917-3.553,1.922-7.576,3.866-8.983C16.247,0.246,16.739,0,17.274,0c1.564,0,2.503,1.162,2.592,2.57 c0,0.827-0.424,1.386-1.273,1.386c-0.671,0-1.229-0.514-1.229-1.251c0-0.805,0.514-1.095,1.185-1.274 c0.022,0-0.291-0.29-0.425-0.379c-0.201-0.134-0.514-0.224-0.737-0.224c-0.067,0-0.112,0-0.157,0.022 c-0.469,0.134-0.983,0.939-1.453,2.234c-0.537,1.475-0.961,3.174-1.631,6.548c-0.424,2.101-0.693,3.464-1.229,6.727 c-1.608,9.185-2.949,15.487-5.006,23.756c-0.514,2.034-0.849,3.24-1.207,4.335c-0.559,1.698-1.162,2.95-1.811,3.799 c-0.514,0.715-1.385,1.408-2.436,1.408c-1.363,0-2.391-1.185-2.458-2.592c0-0.804,0.447-1.363,1.273-1.363 c0.671,0,1.229,0.514,1.229,1.251C2.503,47.757,1.989,48.047,1.318,48.226z", group = new kity.Group(), opGroup = new kity.Group(), opShape = new kity.Path(pathData).fill("black"), opBox = new kity.Rect(0, 0, 0, 0).fill("transparent"), tmpShape = null;
  7787. opGroup.addShape(opShape);
  7788. group.addShape(opBox);
  7789. group.addShape(opGroup);
  7790. this.addOperatorShape(group);
  7791. for (var i = 1; i < this.opType; i++) {
  7792. tmpShape = new kity.Use(opShape).translate(opShape.getWidth() / 2 * i, 0);
  7793. opGroup.addShape(tmpShape);
  7794. }
  7795. opGroup.scale(1.6);
  7796. tmpShape = null;
  7797. // 为操作符图形创建baseline和meanline方法
  7798. group.getBaseline = function() {
  7799. return opGroup.getFixRenderBox().height;
  7800. };
  7801. group.getMeanline = function() {
  7802. return 10;
  7803. };
  7804. return group;
  7805. }
  7806. });
  7807. }
  7808. };
  7809. /**
  7810. * 操作符抽象类
  7811. * @abstract
  7812. */
  7813. _p[41] = {
  7814. value: function(require, exports, modules) {
  7815. var kity = _p.r(34), GTYPE = _p.r(6);
  7816. return kity.createClass("Operator", {
  7817. base: _p.r(46),
  7818. constructor: function(operatorName) {
  7819. this.callBase();
  7820. this.type = GTYPE.OP;
  7821. // 该操作符所属的表达式
  7822. this.parentExpression = null;
  7823. // 操作符名称
  7824. this.operatorName = operatorName;
  7825. // 操作符图形
  7826. this.operatorShape = new kity.Group();
  7827. this.addShape(this.operatorShape);
  7828. },
  7829. applyOperand: function() {
  7830. throw new Error("applyOperand is abstract");
  7831. },
  7832. setParentExpression: function(exp) {
  7833. this.parentExpression = exp;
  7834. },
  7835. getParentExpression: function() {
  7836. return this.parentExpression;
  7837. },
  7838. clearParentExpression: function() {
  7839. this.parentExpression = null;
  7840. },
  7841. // 提供给具体实现类附加其绘制的操作符图形的接口
  7842. addOperatorShape: function(shpae) {
  7843. return this.operatorShape.addShape(shpae);
  7844. },
  7845. getOperatorShape: function() {
  7846. return this.operatorShape;
  7847. }
  7848. });
  7849. }
  7850. };
  7851. /**
  7852. * 开方操作符
  7853. */
  7854. _p[42] = {
  7855. value: function(require, exports, modules) {
  7856. var kity = _p.r(34), // 符号图形属性
  7857. // 线条宽度
  7858. SHAPE_DATA_WIDTH = 1, // 计算公式
  7859. radians = 2 * Math.PI / 360, sin15 = Math.sin(15 * radians), cos15 = Math.cos(15 * radians), tan15 = Math.tan(15 * radians);
  7860. return kity.createClass("RadicalOperator", {
  7861. base: _p.r(41),
  7862. constructor: function() {
  7863. this.callBase("Radical");
  7864. },
  7865. applyOperand: function(radicand, exponent) {
  7866. generateOperator.call(this, radicand, exponent);
  7867. }
  7868. });
  7869. // 根据给定的操作数生成操作符的pathData
  7870. // radicand 表示被开方数
  7871. // exponent 表示指数
  7872. function generateOperator(radicand, exponent) {
  7873. var decoration = generateDecoration(radicand), vLine = generateVLine(radicand), padding = 5, hLine = generateHLine(radicand);
  7874. this.addOperatorShape(decoration);
  7875. this.addOperatorShape(vLine);
  7876. this.addOperatorShape(hLine);
  7877. adjustmentPosition.call(this, mergeShape(decoration, vLine, hLine), this.operatorShape, radicand, exponent);
  7878. this.parentExpression.expand(0, padding * 2);
  7879. this.parentExpression.translateElement(0, padding);
  7880. }
  7881. // 生成根号中的左边装饰部分
  7882. function generateDecoration(radicand) {
  7883. var shape = new kity.Path(), // 命名为a以便于精简表达式
  7884. a = SHAPE_DATA_WIDTH, h = radicand.getHeight() / 3, drawer = shape.getDrawer();
  7885. // 根号尾部左上角开始
  7886. drawer.moveTo(0, cos15 * a * 6);
  7887. drawer.lineBy(sin15 * a, cos15 * a);
  7888. drawer.lineBy(cos15 * a * 3, -sin15 * a * 3);
  7889. drawer.lineBy(tan15 * h, h);
  7890. drawer.lineBy(sin15 * a * 3, -cos15 * a * 3);
  7891. drawer.lineBy(-sin15 * h, -h);
  7892. drawer.close();
  7893. return shape.fill("black");
  7894. }
  7895. // 根据操作数生成根号的竖直线部分
  7896. function generateVLine(operand) {
  7897. var shape = new kity.Path(), // * 0.9 是为了在视觉上使斜线部分不至于太高
  7898. h = operand.getHeight() * .9, drawer = shape.getDrawer();
  7899. drawer.moveTo(tan15 * h, 0);
  7900. drawer.lineTo(0, h);
  7901. drawer.lineBy(sin15 * SHAPE_DATA_WIDTH * 3, cos15 * SHAPE_DATA_WIDTH * 3);
  7902. drawer.lineBy(tan15 * h + sin15 * SHAPE_DATA_WIDTH * 3, -(h + 3 * SHAPE_DATA_WIDTH * cos15));
  7903. drawer.close();
  7904. return shape.fill("black");
  7905. }
  7906. // 根据操作数生成根号的水平线部分
  7907. function generateHLine(operand) {
  7908. // 表达式宽度
  7909. var w = operand.getWidth() + 2 * SHAPE_DATA_WIDTH;
  7910. return new kity.Rect(w, 2 * SHAPE_DATA_WIDTH).fill("black");
  7911. }
  7912. // 合并根号的各个部分, 并返回根号的关键点位置数据
  7913. function mergeShape(decoration, vLine, hLine) {
  7914. var decoBox = decoration.getFixRenderBox(), vLineBox = vLine.getFixRenderBox();
  7915. vLine.translate(decoBox.width - sin15 * SHAPE_DATA_WIDTH * 3, 0);
  7916. decoration.translate(0, vLineBox.height - decoBox.height);
  7917. vLineBox = vLine.getFixRenderBox();
  7918. hLine.translate(vLineBox.x + vLineBox.width - SHAPE_DATA_WIDTH / cos15, 0);
  7919. // 返回关键点数据
  7920. return {
  7921. x: vLineBox.x + vLineBox.width - SHAPE_DATA_WIDTH / cos15,
  7922. y: 0
  7923. };
  7924. }
  7925. // 调整整个根号表达式的各个部分: 位置、操作符、被开方数、指数
  7926. function adjustmentPosition(position, operator, radicand, exponent) {
  7927. var exponentBox = null, opOffset = {
  7928. x: 0,
  7929. y: 0
  7930. }, opBox = operator.getFixRenderBox();
  7931. exponent.scale(.66);
  7932. exponentBox = exponent.getFixRenderBox();
  7933. if (exponentBox.width > 0 && exponentBox.height > 0) {
  7934. opOffset.y = exponentBox.height - opBox.height / 2;
  7935. // 指数不超出根号, 则移动指数
  7936. if (opOffset.y < 0) {
  7937. exponent.translate(0, -opOffset.y);
  7938. opOffset.y = 0;
  7939. }
  7940. opOffset.x = exponentBox.width + opBox.height / 2 * tan15 - position.x;
  7941. }
  7942. operator.translate(opOffset.x, opOffset.y);
  7943. radicand.translate(opOffset.x + position.x + SHAPE_DATA_WIDTH, opOffset.y + 2 * SHAPE_DATA_WIDTH);
  7944. }
  7945. }
  7946. };
  7947. /**
  7948. * 上下标操作符
  7949. */
  7950. _p[43] = {
  7951. value: function(require, exports, module) {
  7952. var kity = _p.r(34), ScriptController = _p.r(37);
  7953. return kity.createClass("ScriptOperator", {
  7954. base: _p.r(41),
  7955. constructor: function(operatorName) {
  7956. this.callBase(operatorName || "Script");
  7957. },
  7958. applyOperand: function(operand, sup, sub) {
  7959. var opShape = this.getOperatorShape(), padding = 1, parent = this.parentExpression, space = new ScriptController(this, operand, sup, sub).applySide();
  7960. space && parent.setOffset(space.top, space.bottom);
  7961. parent.expand(4, padding * 2);
  7962. parent.translateElement(2, padding);
  7963. }
  7964. });
  7965. }
  7966. };
  7967. /**
  7968. * 求和操作符:∑
  7969. */
  7970. _p[44] = {
  7971. value: function(require, exports, modules) {
  7972. var kity = _p.r(34), ScriptController = _p.r(37);
  7973. return kity.createClass("SummationOperator", {
  7974. base: _p.r(41),
  7975. constructor: function() {
  7976. this.callBase("Summation");
  7977. this.displayType = "equation";
  7978. },
  7979. applyOperand: function(expr, sup, sub) {
  7980. var opShape = this.getOperatorShape(), expBox = expr.getFixRenderBox(), padding = 0, space = new ScriptController(this, opShape, sup, sub).applyUpDown(), diff = (space.height - space.top - space.bottom - expBox.height) / 2;
  7981. if (diff >= 0) {
  7982. expr.translate(space.width + padding, diff + space.bottom);
  7983. } else {
  7984. diff = -diff;
  7985. opShape.translate(0, diff);
  7986. sup.translate(0, diff);
  7987. sub.translate(0, diff);
  7988. expr.translate(space.width + padding, space.bottom);
  7989. }
  7990. this.parentExpression.setOffset(space.top, space.bottom);
  7991. this.parentExpression.expand(padding, padding * 2);
  7992. this.parentExpression.translateElement(padding, padding);
  7993. },
  7994. getOperatorShape: function() {
  7995. var pathData = "M0.672,33.603c-0.432,0-0.648,0-0.648-0.264c0-0.024,0-0.144,0.24-0.432l12.433-14.569L0,0.96c0-0.264,0-0.72,0.024-0.792 C0.096,0.024,0.12,0,0.672,0h28.371l2.904,6.745h-0.6C30.531,4.8,28.898,3.72,28.298,3.336c-1.896-1.2-3.984-1.608-5.28-1.8 c-0.216-0.048-2.4-0.384-5.617-0.384H4.248l11.185,15.289c0.168,0.24,0.168,0.312,0.168,0.36c0,0.12-0.048,0.192-0.216,0.384 L3.168,31.515h14.474c4.608,0,6.96-0.624,7.464-0.744c2.76-0.72,5.305-2.352,6.241-4.848h0.6l-2.904,7.681H0.672z", operatorShape = new kity.Path(pathData).fill("black"), opBgShape = new kity.Rect(0, 0, 0, 0).fill("transparent"), group = new kity.Group(), opRenderBox = null;
  7996. group.addShape(opBgShape);
  7997. group.addShape(operatorShape);
  7998. operatorShape.scale(1.6);
  7999. this.addOperatorShape(group);
  8000. opRenderBox = operatorShape.getFixRenderBox();
  8001. if (this.displayType === "inline") {
  8002. operatorShape.translate(5, 15);
  8003. opBgShape.setSize(opRenderBox.width + 10, opRenderBox.height + 25);
  8004. } else {
  8005. operatorShape.translate(2, 5);
  8006. opBgShape.setSize(opRenderBox.width + 4, opRenderBox.height + 8);
  8007. }
  8008. return group;
  8009. }
  8010. });
  8011. }
  8012. };
  8013. /*!
  8014. * 资源管理器
  8015. * 负责管理资源的加载,并在资源ready之后提供Formula构造器
  8016. */
  8017. _p[45] = {
  8018. value: function(require) {
  8019. var kity = _p.r(34), cbList = [], RES_CONF = _p.r(47).resource, FontInstall = _p.r(24), Formula = _p.r(31), // 资源管理器就绪状态
  8020. __readyState = false, // 资源管理器是否已启动
  8021. inited = false;
  8022. return {
  8023. // 初始化
  8024. ready: function(cb, options) {
  8025. if (!inited) {
  8026. inited = true;
  8027. init(options);
  8028. }
  8029. if (__readyState) {
  8030. window.setTimeout(function() {
  8031. cb(Formula);
  8032. }, 0);
  8033. } else {
  8034. cbList.push(cb);
  8035. }
  8036. }
  8037. };
  8038. /**
  8039. * 资源初始化
  8040. */
  8041. function init(options) {
  8042. var options = kity.Utils.extend({}, RES_CONF, options);
  8043. if (!/^(https?:)?\/\//.test(options.path)) {
  8044. options.path = getFullPath(options.path);
  8045. }
  8046. new FontInstall(document, options.path).mount(complete);
  8047. }
  8048. function complete() {
  8049. kity.Utils.each(cbList, function(cb) {
  8050. cb(Formula);
  8051. });
  8052. }
  8053. function getFullPath(path) {
  8054. var pathname = location.pathname.split("/"), pathPart;
  8055. pathname.length -= 1;
  8056. pathname = pathname.join("/") + "/";
  8057. pathPart = [ location.protocol, "//", location.host, pathname, path.replace(/^\//, "") ];
  8058. return pathPart.join("");
  8059. }
  8060. }
  8061. };
  8062. /**
  8063. * Created by hn on 13-12-3.
  8064. */
  8065. _p[46] = {
  8066. value: function(require, exports, module) {
  8067. var kity = _p.r(34), GTYPE = _p.r(6);
  8068. return kity.createClass("SignGroup", {
  8069. base: kity.Group,
  8070. constructor: function() {
  8071. this.callBase();
  8072. this.box = new kity.Rect(0, 0, 0, 0);
  8073. this.type = GTYPE.UNKNOWN;
  8074. this.addShape(this.box);
  8075. this.zoom = 1;
  8076. },
  8077. setZoom: function(zoom) {
  8078. this.zoom = zoom;
  8079. },
  8080. getZoom: function() {
  8081. return this.zoom;
  8082. },
  8083. setBoxSize: function(w, h) {
  8084. return this.box.setSize(w, h);
  8085. },
  8086. setBoxWidth: function(w) {
  8087. return this.box.setWidth(w);
  8088. },
  8089. setBoxHeight: function(h) {
  8090. return this.box.setHeight(h);
  8091. },
  8092. getType: function() {
  8093. return this.type;
  8094. },
  8095. getBaseHeight: function() {
  8096. return this.getHeight();
  8097. },
  8098. getBaseWidth: function() {
  8099. return this.getWidth();
  8100. },
  8101. addedCall: function() {}
  8102. });
  8103. }
  8104. };
  8105. /*!
  8106. * 系统项目配置文件.
  8107. */
  8108. _p[47] = {
  8109. value: function(require) {
  8110. return {
  8111. zoom: .66,
  8112. font: {
  8113. meanline: Math.round(380 / 1e3 * 50),
  8114. baseline: Math.round(800 / 1e3 * 50),
  8115. baseHeight: 50,
  8116. // 系统字体列表
  8117. list: [ _p.r(29), _p.r(27), _p.r(28), _p.r(26), _p.r(30) ]
  8118. },
  8119. /*------------------------- 资源配置*/
  8120. resource: {
  8121. path: "src/resource/"
  8122. },
  8123. // 函数相关配置
  8124. func: {
  8125. // 上下标在函数名上下两侧的函数列表
  8126. "ud-script": {
  8127. limit: true
  8128. }
  8129. }
  8130. };
  8131. }
  8132. };
  8133. })();