加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
create_geopandas_from_pandas.html 367.94 KB
一键复制 编辑 原始数据 按行查看 历史
lizyagrs 提交于 2024-11-12 20:44 . geopandas study cases
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871
<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title>create_geopandas_from_pandas</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<style type="text/css">
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
.highlight .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */
.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */
</style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*
* Mozilla scrollbar styling
*/
/* use standard opaque scrollbars for most nodes */
[data-jp-theme-scrollbars='true'] {
scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
var(--jp-scrollbar-background-color);
}
/* for code nodes, use a transparent style of scrollbar. These selectors
* will match lower in the tree, and so will override the above */
[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
}
/* tiny scrollbar */
.jp-scrollbar-tiny {
scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
scrollbar-width: thin;
}
/* tiny scrollbar */
.jp-scrollbar-tiny::-webkit-scrollbar,
.jp-scrollbar-tiny::-webkit-scrollbar-corner {
background-color: transparent;
height: 4px;
width: 4px;
}
.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
}
.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
border-left: 0 solid transparent;
border-right: 0 solid transparent;
}
.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
border-top: 0 solid transparent;
border-bottom: 0 solid transparent;
}
/*
* Lumino
*/
.lm-ScrollBar[data-orientation='horizontal'] {
min-height: 16px;
max-height: 16px;
min-width: 45px;
border-top: 1px solid #a0a0a0;
}
.lm-ScrollBar[data-orientation='vertical'] {
min-width: 16px;
max-width: 16px;
min-height: 45px;
border-left: 1px solid #a0a0a0;
}
.lm-ScrollBar-button {
background-color: #f0f0f0;
background-position: center center;
min-height: 15px;
max-height: 15px;
min-width: 15px;
max-width: 15px;
}
.lm-ScrollBar-button:hover {
background-color: #dadada;
}
.lm-ScrollBar-button.lm-mod-active {
background-color: #cdcdcd;
}
.lm-ScrollBar-track {
background: #f0f0f0;
}
.lm-ScrollBar-thumb {
background: #cdcdcd;
}
.lm-ScrollBar-thumb:hover {
background: #bababa;
}
.lm-ScrollBar-thumb.lm-mod-active {
background: #a0a0a0;
}
.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
height: 100%;
min-width: 15px;
border-left: 1px solid #a0a0a0;
border-right: 1px solid #a0a0a0;
}
.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
width: 100%;
min-height: 15px;
border-top: 1px solid #a0a0a0;
border-bottom: 1px solid #a0a0a0;
}
.lm-ScrollBar[data-orientation='horizontal']
.lm-ScrollBar-button[data-action='decrement'] {
background-image: var(--jp-icon-caret-left);
background-size: 17px;
}
.lm-ScrollBar[data-orientation='horizontal']
.lm-ScrollBar-button[data-action='increment'] {
background-image: var(--jp-icon-caret-right);
background-size: 17px;
}
.lm-ScrollBar[data-orientation='vertical']
.lm-ScrollBar-button[data-action='decrement'] {
background-image: var(--jp-icon-caret-up);
background-size: 17px;
}
.lm-ScrollBar[data-orientation='vertical']
.lm-ScrollBar-button[data-action='increment'] {
background-image: var(--jp-icon-caret-down);
background-size: 17px;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-Widget {
box-sizing: border-box;
position: relative;
overflow: hidden;
}
.lm-Widget.lm-mod-hidden {
display: none !important;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
/* Title is rotated for horizontal accordion panel using CSS */
display: block;
transform-origin: top left;
transform: rotate(-90deg) translate(-100%);
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-CommandPalette {
display: flex;
flex-direction: column;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-CommandPalette-search {
flex: 0 0 auto;
}
.lm-CommandPalette-content {
flex: 1 1 auto;
margin: 0;
padding: 0;
min-height: 0;
overflow: auto;
list-style-type: none;
}
.lm-CommandPalette-header {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.lm-CommandPalette-item {
display: flex;
flex-direction: row;
}
.lm-CommandPalette-itemIcon {
flex: 0 0 auto;
}
.lm-CommandPalette-itemContent {
flex: 1 1 auto;
overflow: hidden;
}
.lm-CommandPalette-itemShortcut {
flex: 0 0 auto;
}
.lm-CommandPalette-itemLabel {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.lm-close-icon {
border: 1px solid transparent;
background-color: transparent;
position: absolute;
z-index: 1;
right: 3%;
top: 0;
bottom: 0;
margin: auto;
padding: 7px 0;
display: none;
vertical-align: middle;
outline: 0;
cursor: pointer;
}
.lm-close-icon:after {
content: 'X';
display: block;
width: 15px;
height: 15px;
text-align: center;
color: #000;
font-weight: normal;
font-size: 12px;
cursor: pointer;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-DockPanel {
z-index: 0;
}
.lm-DockPanel-widget {
z-index: 0;
}
.lm-DockPanel-tabBar {
z-index: 1;
}
.lm-DockPanel-handle {
z-index: 2;
}
.lm-DockPanel-handle.lm-mod-hidden {
display: none !important;
}
.lm-DockPanel-handle:after {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: '';
}
.lm-DockPanel-handle[data-orientation='horizontal'] {
cursor: ew-resize;
}
.lm-DockPanel-handle[data-orientation='vertical'] {
cursor: ns-resize;
}
.lm-DockPanel-handle[data-orientation='horizontal']:after {
left: 50%;
min-width: 8px;
transform: translateX(-50%);
}
.lm-DockPanel-handle[data-orientation='vertical']:after {
top: 50%;
min-height: 8px;
transform: translateY(-50%);
}
.lm-DockPanel-overlay {
z-index: 3;
box-sizing: border-box;
pointer-events: none;
}
.lm-DockPanel-overlay.lm-mod-hidden {
display: none !important;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-Menu {
z-index: 10000;
position: absolute;
white-space: nowrap;
overflow-x: hidden;
overflow-y: auto;
outline: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-Menu-content {
margin: 0;
padding: 0;
display: table;
list-style-type: none;
}
.lm-Menu-item {
display: table-row;
}
.lm-Menu-item.lm-mod-hidden,
.lm-Menu-item.lm-mod-collapsed {
display: none !important;
}
.lm-Menu-itemIcon,
.lm-Menu-itemSubmenuIcon {
display: table-cell;
text-align: center;
}
.lm-Menu-itemLabel {
display: table-cell;
text-align: left;
}
.lm-Menu-itemShortcut {
display: table-cell;
text-align: right;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-MenuBar {
outline: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-MenuBar-content {
margin: 0;
padding: 0;
display: flex;
flex-direction: row;
list-style-type: none;
}
.lm-MenuBar-item {
box-sizing: border-box;
}
.lm-MenuBar-itemIcon,
.lm-MenuBar-itemLabel {
display: inline-block;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-ScrollBar {
display: flex;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-ScrollBar[data-orientation='horizontal'] {
flex-direction: row;
}
.lm-ScrollBar[data-orientation='vertical'] {
flex-direction: column;
}
.lm-ScrollBar-button {
box-sizing: border-box;
flex: 0 0 auto;
}
.lm-ScrollBar-track {
box-sizing: border-box;
position: relative;
overflow: hidden;
flex: 1 1 auto;
}
.lm-ScrollBar-thumb {
box-sizing: border-box;
position: absolute;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-SplitPanel-child {
z-index: 0;
}
.lm-SplitPanel-handle {
z-index: 1;
}
.lm-SplitPanel-handle.lm-mod-hidden {
display: none !important;
}
.lm-SplitPanel-handle:after {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: '';
}
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
cursor: ew-resize;
}
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
cursor: ns-resize;
}
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
left: 50%;
min-width: 8px;
transform: translateX(-50%);
}
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
top: 50%;
min-height: 8px;
transform: translateY(-50%);
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-TabBar {
display: flex;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-TabBar[data-orientation='horizontal'] {
flex-direction: row;
align-items: flex-end;
}
.lm-TabBar[data-orientation='vertical'] {
flex-direction: column;
align-items: flex-end;
}
.lm-TabBar-content {
margin: 0;
padding: 0;
display: flex;
flex: 1 1 auto;
list-style-type: none;
}
.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
flex-direction: row;
}
.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
flex-direction: column;
}
.lm-TabBar-tab {
display: flex;
flex-direction: row;
box-sizing: border-box;
overflow: hidden;
touch-action: none; /* Disable native Drag/Drop */
}
.lm-TabBar-tabIcon,
.lm-TabBar-tabCloseIcon {
flex: 0 0 auto;
}
.lm-TabBar-tabLabel {
flex: 1 1 auto;
overflow: hidden;
white-space: nowrap;
}
.lm-TabBar-tabInput {
user-select: all;
width: 100%;
box-sizing: border-box;
}
.lm-TabBar-tab.lm-mod-hidden {
display: none !important;
}
.lm-TabBar-addButton.lm-mod-hidden {
display: none !important;
}
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
position: relative;
}
.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
left: 0;
transition: left 150ms ease;
}
.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
top: 0;
transition: top 150ms ease;
}
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
transition: none;
}
.lm-TabBar-tabLabel .lm-TabBar-tabInput {
user-select: all;
width: 100%;
box-sizing: border-box;
background: inherit;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-TabPanel-tabBar {
z-index: 1;
}
.lm-TabPanel-stackedPanel {
z-index: 0;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-Collapse {
display: flex;
flex-direction: column;
align-items: stretch;
}
.jp-Collapse-header {
padding: 1px 12px;
background-color: var(--jp-layout-color1);
border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
color: var(--jp-ui-font-color1);
cursor: pointer;
display: flex;
align-items: center;
font-size: var(--jp-ui-font-size0);
font-weight: 600;
text-transform: uppercase;
user-select: none;
}
.jp-Collapser-icon {
height: 16px;
}
.jp-Collapse-header-collapsed .jp-Collapser-icon {
transform: rotate(-90deg);
margin: auto 0;
}
.jp-Collapser-title {
line-height: 25px;
}
.jp-Collapse-contents {
padding: 0 12px;
background-color: var(--jp-layout-color1);
color: var(--jp-ui-font-color1);
overflow: auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */
/**
* (DEPRECATED) Support for consuming icons as CSS background images
*/
/* Icons urls */
:root {
--jp-icon-add-above: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5MikiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik00Ljc1IDQuOTMwNjZINi42MjVWNi44MDU2NkM2LjYyNSA3LjAxMTkxIDYuNzkzNzUgNy4xODA2NiA3IDcuMTgwNjZDNy4yMDYyNSA3LjE4MDY2IDcuMzc1IDcuMDExOTEgNy4zNzUgNi44MDU2NlY0LjkzMDY2SDkuMjVDOS40NTYyNSA0LjkzMDY2IDkuNjI1IDQuNzYxOTEgOS42MjUgNC41NTU2NkM5LjYyNSA0LjM0OTQxIDkuNDU2MjUgNC4xODA2NiA5LjI1IDQuMTgwNjZINy4zNzVWMi4zMDU2NkM3LjM3NSAyLjA5OTQxIDcuMjA2MjUgMS45MzA2NiA3IDEuOTMwNjZDNi43OTM3NSAxLjkzMDY2IDYuNjI1IDIuMDk5NDEgNi42MjUgMi4zMDU2NlY0LjE4MDY2SDQuNzVDNC41NDM3NSA0LjE4MDY2IDQuMzc1IDQuMzQ5NDEgNC4zNzUgNC41NTU2NkM0LjM3NSA0Ljc2MTkxIDQuNTQzNzUgNC45MzA2NiA0Ljc1IDQuOTMwNjZaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC43Ii8+CjwvZz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjUgOS41VjExLjVMMi41IDExLjVWOS41TDExLjUgOS41Wk0xMiA4QzEyLjU1MjMgOCAxMyA4LjQ0NzcyIDEzIDlWMTJDMTMgMTIuNTUyMyAxMi41NTIzIDEzIDEyIDEzTDIgMTNDMS40NDc3MiAxMyAxIDEyLjU1MjMgMSAxMlY5QzEgOC40NDc3MiAxLjQ0NzcxIDggMiA4TDEyIDhaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5MiI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDEwIDEuNTU1NjYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==);
--jp-icon-add-below: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5OCkiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik05LjI1IDEwLjA2OTNMNy4zNzUgMTAuMDY5M0w3LjM3NSA4LjE5NDM0QzcuMzc1IDcuOTg4MDkgNy4yMDYyNSA3LjgxOTM0IDcgNy44MTkzNEM2Ljc5Mzc1IDcuODE5MzQgNi42MjUgNy45ODgwOSA2LjYyNSA4LjE5NDM0TDYuNjI1IDEwLjA2OTNMNC43NSAxMC4wNjkzQzQuNTQzNzUgMTAuMDY5MyA0LjM3NSAxMC4yMzgxIDQuMzc1IDEwLjQ0NDNDNC4zNzUgMTAuNjUwNiA0LjU0Mzc1IDEwLjgxOTMgNC43NSAxMC44MTkzTDYuNjI1IDEwLjgxOTNMNi42MjUgMTIuNjk0M0M2LjYyNSAxMi45MDA2IDYuNzkzNzUgMTMuMDY5MyA3IDEzLjA2OTNDNy4yMDYyNSAxMy4wNjkzIDcuMzc1IDEyLjkwMDYgNy4zNzUgMTIuNjk0M0w3LjM3NSAxMC44MTkzTDkuMjUgMTAuODE5M0M5LjQ1NjI1IDEwLjgxOTMgOS42MjUgMTAuNjUwNiA5LjYyNSAxMC40NDQzQzkuNjI1IDEwLjIzODEgOS40NTYyNSAxMC4wNjkzIDkuMjUgMTAuMDY5M1oiIGZpbGw9IiM2MTYxNjEiIHN0cm9rZT0iIzYxNjE2MSIgc3Ryb2tlLXdpZHRoPSIwLjciLz4KPC9nPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDUuNUwyLjUgMy41TDExLjUgMy41TDExLjUgNS41TDIuNSA1LjVaTTIgN0MxLjQ0NzcyIDcgMSA2LjU1MjI4IDEgNkwxIDNDMSAyLjQ0NzcyIDEuNDQ3NzIgMiAyIDJMMTIgMkMxMi41NTIzIDIgMTMgMi40NDc3MiAxMyAzTDEzIDZDMTMgNi41NTIyOSAxMi41NTIzIDcgMTIgN0wyIDdaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5OCI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMS43NDg0NmUtMDcgMS43NDg0NmUtMDcgLTEgNCAxMy40NDQzKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);
--jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-bell: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgogICA8cGF0aCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzMzMzMzIgogICAgICBkPSJtOCAwLjI5Yy0xLjQgMC0yLjcgMC43My0zLjYgMS44LTEuMiAxLjUtMS40IDMuNC0xLjUgNS4yLTAuMTggMi4yLTAuNDQgNC0yLjMgNS4zbDAuMjggMS4zaDVjMC4wMjYgMC42NiAwLjMyIDEuMSAwLjcxIDEuNSAwLjg0IDAuNjEgMiAwLjYxIDIuOCAwIDAuNTItMC40IDAuNi0xIDAuNzEtMS41aDVsMC4yOC0xLjNjLTEuOS0wLjk3LTIuMi0zLjMtMi4zLTUuMy0wLjEzLTEuOC0wLjI2LTMuNy0xLjUtNS4yLTAuODUtMS0yLjItMS44LTMuNi0xLjh6bTAgMS40YzAuODggMCAxLjkgMC41NSAyLjUgMS4zIDAuODggMS4xIDEuMSAyLjcgMS4yIDQuNCAwLjEzIDEuNyAwLjIzIDMuNiAxLjMgNS4yaC0xMGMxLjEtMS42IDEuMi0zLjQgMS4zLTUuMiAwLjEzLTEuNyAwLjMtMy4zIDEuMi00LjQgMC41OS0wLjcyIDEuNi0xLjMgMi41LTEuM3ptLTAuNzQgMTJoMS41Yy0wLjAwMTUgMC4yOCAwLjAxNSAwLjc5LTAuNzQgMC43OS0wLjczIDAuMDAxNi0wLjcyLTAuNTMtMC43NC0wLjc5eiIgLz4KPC9zdmc+Cg==);
--jp-icon-bug-dot: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMTkgOEgyMFYxMEgxNy45MUMxNy45NiAxMC4zMyAxOCAxMC42NiAxOCAxMVYxMkgyMFYxNEgxOC41SDE4VjE0LjAyNzVDMTUuNzUgMTQuMjc2MiAxNCAxNi4xODM3IDE0IDE4LjVDMTQgMTkuMjA4IDE0LjE2MzUgMTkuODc3OSAxNC40NTQ5IDIwLjQ3MzlDMTMuNzA2MyAyMC44MTE3IDEyLjg3NTcgMjEgMTIgMjFDOS43OCAyMSA3Ljg1IDE5Ljc5IDYuODEgMThINFYxNkg2LjA5QzYuMDQgMTUuNjcgNiAxNS4zNCA2IDE1VjE0SDRWMTJINlYxMUM2IDEwLjY2IDYuMDQgMTAuMzMgNi4wOSAxMEg0VjhINi44MUM3LjI2IDcuMjIgNy44OCA2LjU1IDguNjIgNi4wNEw3IDQuNDFMOC40MSAzTDEwLjU5IDUuMTdDMTEuMDQgNS4wNiAxMS41MSA1IDEyIDVDMTIuNDkgNSAxMi45NiA1LjA2IDEzLjQyIDUuMTdMMTUuNTkgM0wxNyA0LjQxTDE1LjM3IDYuMDRDMTYuMTIgNi41NSAxNi43NCA3LjIyIDE3LjE5IDhaTTEwIDE2SDE0VjE0SDEwVjE2Wk0xMCAxMkgxNFYxMEgxMFYxMloiIGZpbGw9IiM2MTYxNjEiLz4KICAgICAgICA8cGF0aCBkPSJNMjIgMTguNUMyMiAyMC40MzMgMjAuNDMzIDIyIDE4LjUgMjJDMTYuNTY3IDIyIDE1IDIwLjQzMyAxNSAxOC41QzE1IDE2LjU2NyAxNi41NjcgMTUgMTguNSAxNUMyMC40MzMgMTUgMjIgMTYuNTY3IDIyIDE4LjVaIiBmaWxsPSIjNjE2MTYxIi8+CiAgICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yMCA4aC0yLjgxYy0uNDUtLjc4LTEuMDctMS40NS0xLjgyLTEuOTZMMTcgNC40MSAxNS41OSAzbC0yLjE3IDIuMTdDMTIuOTYgNS4wNiAxMi40OSA1IDEyIDVjLS40OSAwLS45Ni4wNi0xLjQxLjE3TDguNDEgMyA3IDQuNDFsMS42MiAxLjYzQzcuODggNi41NSA3LjI2IDcuMjIgNi44MSA4SDR2MmgyLjA5Yy0uMDUuMzMtLjA5LjY2LS4wOSAxdjFINHYyaDJ2MWMwIC4zNC4wNC42Ny4wOSAxSDR2MmgyLjgxYzEuMDQgMS43OSAyLjk3IDMgNS4xOSAzczQuMTUtMS4yMSA1LjE5LTNIMjB2LTJoLTIuMDljLjA1LS4zMy4wOS0uNjYuMDktMXYtMWgydi0yaC0ydi0xYzAtLjM0LS4wNC0uNjctLjA5LTFIMjBWOHptLTYgOGgtNHYtMmg0djJ6bTAtNGgtNHYtMmg0djJ6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K);
--jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=);
--jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-code-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICA8cGF0aCBkPSJNNi41OSwzLjQxTDIsOEw2LjU5LDEyLjZMOCwxMS4xOEw0LjgyLDhMOCw0LjgyTDYuNTksMy40MU0xMi40MSwzLjQxTDExLDQuODJMMTQuMTgsOEwxMSwxMS4xOEwxMi40MSwxMi42TDE3LDhMMTIuNDEsMy40MU0yMS41OSwxMS41OUwxMy41LDE5LjY4TDkuODMsMTZMOC40MiwxNy40MUwxMy41LDIyLjVMMjMsMTNMMjEuNTksMTEuNTlaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==);
--jp-icon-collapse-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNNiAxM3YyaDh2LTJ6IiAvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1jb25zb2xlLWljb24tYmFja2dyb3VuZC1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtY29uc29sZS1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIj4KICAgIDxwYXRoIGQ9Ik0xMDUgMTI3LjNoNDB2MTIuOGgtNDB6TTUxLjEgNzdMNzQgOTkuOWwtMjMuMyAyMy4zIDEwLjUgMTAuNSAyMy4zLTIzLjNMOTUgOTkuOSA4NC41IDg5LjQgNjEuNiA2Ni41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-copyright: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+CiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0xMS44OCw5LjE0YzEuMjgsMC4wNiwxLjYxLDEuMTUsMS42MywxLjY2aDEuNzljLTAuMDgtMS45OC0xLjQ5LTMuMTktMy40NS0zLjE5QzkuNjQsNy42MSw4LDksOCwxMi4xNCBjMCwxLjk0LDAuOTMsNC4yNCwzLjg0LDQuMjRjMi4yMiwwLDMuNDEtMS42NSwzLjQ0LTIuOTVoLTEuNzljLTAuMDMsMC41OS0wLjQ1LDEuMzgtMS42MywxLjQ0QzEwLjU1LDE0LjgzLDEwLDEzLjgxLDEwLDEyLjE0IEMxMCw5LjI1LDExLjI4LDkuMTYsMTEuODgsOS4xNHogTTEyLDJDNi40OCwyLDIsNi40OCwyLDEyczQuNDgsMTAsMTAsMTBzMTAtNC40OCwxMC0xMFMxNy41MiwyLDEyLDJ6IE0xMiwyMGMtNC40MSwwLTgtMy41OS04LTggczMuNTktOCw4LThzOCwzLjU5LDgsOFMxNi40MSwyMCwxMiwyMHoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-delete: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjI2MjYyIiBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz4KPC9zdmc+Cg==);
--jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-duplicate: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNzk5OTggMC44NzVIOC44OTU4MkM5LjIwMDYxIDAuODc1IDkuNDQ5OTggMS4xMzkxNCA5LjQ0OTk4IDEuNDYxOThDOS40NDk5OCAxLjc4NDgyIDkuMjAwNjEgMi4wNDg5NiA4Ljg5NTgyIDIuMDQ4OTZIMy4zNTQxNUMzLjA0OTM2IDIuMDQ4OTYgMi43OTk5OCAyLjMxMzEgMi43OTk5OCAyLjYzNTk0VjkuNjc5NjlDMi43OTk5OCAxMC4wMDI1IDIuNTUwNjEgMTAuMjY2NyAyLjI0NTgyIDEwLjI2NjdDMS45NDEwMyAxMC4yNjY3IDEuNjkxNjUgMTAuMDAyNSAxLjY5MTY1IDkuNjc5NjlWMi4wNDg5NkMxLjY5MTY1IDEuNDAzMjggMi4xOTA0IDAuODc1IDIuNzk5OTggMC44NzVaTTUuMzY2NjUgMTEuOVY0LjU1SDExLjA4MzNWMTEuOUg1LjM2NjY1Wk00LjE0MTY1IDQuMTQxNjdDNC4xNDE2NSAzLjY5MDYzIDQuNTA3MjggMy4zMjUgNC45NTgzMiAzLjMyNUgxMS40OTE3QzExLjk0MjcgMy4zMjUgMTIuMzA4MyAzLjY5MDYzIDEyLjMwODMgNC4xNDE2N1YxMi4zMDgzQzEyLjMwODMgMTIuNzU5NCAxMS45NDI3IDEzLjEyNSAxMS40OTE3IDEzLjEyNUg0Ljk1ODMyQzQuNTA3MjggMTMuMTI1IDQuMTQxNjUgMTIuNzU5NCA0LjE0MTY1IDEyLjMwODNWNC4xNDE2N1oiIGZpbGw9IiM2MTYxNjEiLz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNOS40MzU3NCA4LjI2NTA3SDguMzY0MzFWOS4zMzY1QzguMzY0MzEgOS40NTQzNSA4LjI2Nzg4IDkuNTUwNzggOC4xNTAwMiA5LjU1MDc4QzguMDMyMTcgOS41NTA3OCA3LjkzNTc0IDkuNDU0MzUgNy45MzU3NCA5LjMzNjVWOC4yNjUwN0g2Ljg2NDMxQzYuNzQ2NDUgOC4yNjUwNyA2LjY1MDAyIDguMTY4NjQgNi42NTAwMiA4LjA1MDc4QzYuNjUwMDIgNy45MzI5MiA2Ljc0NjQ1IDcuODM2NSA2Ljg2NDMxIDcuODM2NUg3LjkzNTc0VjYuNzY1MDdDNy45MzU3NCA2LjY0NzIxIDguMDMyMTcgNi41NTA3OCA4LjE1MDAyIDYuNTUwNzhDOC4yNjc4OCA2LjU1MDc4IDguMzY0MzEgNi42NDcyMSA4LjM2NDMxIDYuNzY1MDdWNy44MzY1SDkuNDM1NzRDOS41NTM2IDcuODM2NSA5LjY1MDAyIDcuOTMyOTIgOS42NTAwMiA4LjA1MDc4QzkuNjUwMDIgOC4xNjg2NCA5LjU1MzYgOC4yNjUwNyA5LjQzNTc0IDguMjY1MDdaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC41Ii8+Cjwvc3ZnPgo=);
--jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-error: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIyIi8+PHBhdGggZD0iTTEwIDNoNHYxMmgtNHoiLz48L2c+CjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz4KPC9zdmc+Cg==);
--jp-icon-expand-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNMTEgMTBIOXYzSDZ2MmgzdjNoMnYtM2gzdi0yaC0zeiIgLz4KICAgIDwvZz4KPC9zdmc+Cg==);
--jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==);
--jp-icon-filter-dot: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWRvdCIgZmlsbD0iI0ZGRiI+CiAgICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE3IiByPSIzIj48L2NpcmNsZT4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-filter: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-folder-favorite: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgZD0iTTIwIDZoLThsLTItMkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS0yLjA2IDExTDE1IDE1LjI4IDEyLjA2IDE3bC43OC0zLjMzLTIuNTktMi4yNCAzLjQxLS4yOUwxNSA4bDEuMzQgMy4xNCAzLjQxLjI5LTIuNTkgMi4yNC43OCAzLjMzeiIvPgo8L3N2Zz4K);
--jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=);
--jp-icon-home: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xMCAyMHYtNmg0djZoNXYtOGgzTDEyIDMgMiAxMmgzdjh6Ii8+Cjwvc3ZnPgo=);
--jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==);
--jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=);
--jp-icon-info: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUwLjk3OCA1MC45NzgiPgoJPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KCQk8cGF0aCBkPSJNNDMuNTIsNy40NThDMzguNzExLDIuNjQ4LDMyLjMwNywwLDI1LjQ4OSwwQzE4LjY3LDAsMTIuMjY2LDIuNjQ4LDcuNDU4LDcuNDU4CgkJCWMtOS45NDMsOS45NDEtOS45NDMsMjYuMTE5LDAsMzYuMDYyYzQuODA5LDQuODA5LDExLjIxMiw3LjQ1NiwxOC4wMzEsNy40NThjMCwwLDAuMDAxLDAsMC4wMDIsMAoJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoKCQkJIE00Mi4xMDYsNDIuMTA1Yy00LjQzMiw0LjQzMS0xMC4zMzIsNi44NzItMTYuNjE1LDYuODcyaC0wLjAwMmMtNi4yODUtMC4wMDEtMTIuMTg3LTIuNDQxLTE2LjYxNy02Ljg3MgoJCQljLTkuMTYyLTkuMTYzLTkuMTYyLTI0LjA3MSwwLTMzLjIzM0MxMy4zMDMsNC40NCwxOS4yMDQsMiwyNS40ODksMmM2LjI4NCwwLDEyLjE4NiwyLjQ0LDE2LjYxNyw2Ljg3MgoJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4KCQk8cGF0aCBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1MwoJCQljMC40NjgtMC41MzYsMC45MjMtMS4wNjIsMS4zNjctMS41NzVjMC42MjYtMC43NTMsMS4xMDQtMS40NzgsMS40MzYtMi4xNzVjMC4zMzEtMC43MDcsMC40OTUtMS41NDEsMC40OTUtMi41CgkJCWMwLTEuMDk2LTAuMjYtMi4wODgtMC43NzktMi45NzljLTAuNTY1LTAuODc5LTEuNTAxLTEuMzM2LTIuODA2LTEuMzY5Yy0xLjgwMiwwLjA1Ny0yLjk4NSwwLjY2Ny0zLjU1LDEuODMyCgkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkKCQkJYzEuMDYyLTEuNjQsMi44NTUtMi40ODEsNS4zNzgtMi41MjdjMi4xNiwwLjAyMywzLjg3NCwwLjYwOCw1LjE0MSwxLjc1OGMxLjI3OCwxLjE2LDEuOTI5LDIuNzY0LDEuOTUsNC44MTEKCQkJYzAsMS4xNDItMC4xMzcsMi4xMTEtMC40MSwyLjkxMWMtMC4zMDksMC44NDUtMC43MzEsMS41OTMtMS4yNjgsMi4yNDNjLTAuNDkyLDAuNjUtMS4wNjgsMS4zMTgtMS43MywyLjAwMgoJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5CgkJCUMyNi41ODksMzIuMjE4LDIzLjU3OCwzMi4yMTgsMjMuNTc4LDMyLjIxOHogTTIzLjU3OCwzOC4yMnYtMy40ODRoMy4wNzZ2My40ODRIMjMuNTc4eiIvPgoJPC9nPgo8L3N2Zz4K);
--jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaW5zcGVjdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K);
--jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtanNvbi1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0Y5QTgyNSI+CiAgICA8cGF0aCBkPSJNMjAuMiAxMS44Yy0xLjYgMC0xLjcuNS0xLjcgMSAwIC40LjEuOS4xIDEuMy4xLjUuMS45LjEgMS4zIDAgMS43LTEuNCAyLjMtMy41IDIuM2gtLjl2LTEuOWguNWMxLjEgMCAxLjQgMCAxLjQtLjggMC0uMyAwLS42LS4xLTEgMC0uNC0uMS0uOC0uMS0xLjIgMC0xLjMgMC0xLjggMS4zLTItMS4zLS4yLTEuMy0uNy0xLjMtMiAwLS40LjEtLjguMS0xLjIuMS0uNC4xLS43LjEtMSAwLS44LS40LS43LTEuNC0uOGgtLjVWNC4xaC45YzIuMiAwIDMuNS43IDMuNSAyLjMgMCAuNC0uMS45LS4xIDEuMy0uMS41LS4xLjktLjEgMS4zIDAgLjUuMiAxIDEuNyAxdjEuOHpNMS44IDEwLjFjMS42IDAgMS43LS41IDEuNy0xIDAtLjQtLjEtLjktLjEtMS4zLS4xLS41LS4xLS45LS4xLTEuMyAwLTEuNiAxLjQtMi4zIDMuNS0yLjNoLjl2MS45aC0uNWMtMSAwLTEuNCAwLTEuNC44IDAgLjMgMCAuNi4xIDEgMCAuMi4xLjYuMSAxIDAgMS4zIDAgMS44LTEuMyAyQzYgMTEuMiA2IDExLjcgNiAxM2MwIC40LS4xLjgtLjEgMS4yLS4xLjMtLjEuNy0uMSAxIDAgLjguMy44IDEuNC44aC41djEuOWgtLjljLTIuMSAwLTMuNS0uNi0zLjUtMi4zIDAtLjQuMS0uOS4xLTEuMy4xLS41LjEtLjkuMS0xLjMgMC0uNS0uMi0xLTEuNy0xdi0xLjl6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzLjgiIHI9IjIuMSIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSI4LjIiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-julia: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxnIGNsYXNzPSJqcC1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjY2IzYzMzIj4KICAgIDxwYXRoIGQ9Ik0gMTUwLjg5ODQzOCAyMjUgQyAxNTAuODk4NDM4IDI2Ni40MjE4NzUgMTE3LjMyMDMxMiAzMDAgNzUuODk4NDM4IDMwMCBDIDM0LjQ3NjU2MiAzMDAgMC44OTg0MzggMjY2LjQyMTg3NSAwLjg5ODQzOCAyMjUgQyAwLjg5ODQzOCAxODMuNTc4MTI1IDM0LjQ3NjU2MiAxNTAgNzUuODk4NDM4IDE1MCBDIDExNy4zMjAzMTIgMTUwIDE1MC44OTg0MzggMTgzLjU3ODEyNSAxNTAuODk4NDM4IDIyNSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzM4OTgyNiI+CiAgICA8cGF0aCBkPSJNIDIzNy41IDc1IEMgMjM3LjUgMTE2LjQyMTg3NSAyMDMuOTIxODc1IDE1MCAxNjIuNSAxNTAgQyAxMjEuMDc4MTI1IDE1MCA4Ny41IDExNi40MjE4NzUgODcuNSA3NSBDIDg3LjUgMzMuNTc4MTI1IDEyMS4wNzgxMjUgMCAxNjIuNSAwIEMgMjAzLjkyMTg3NSAwIDIzNy41IDMzLjU3ODEyNSAyMzcuNSA3NSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzk1NThiMiI+CiAgICA8cGF0aCBkPSJNIDMyNC4xMDE1NjIgMjI1IEMgMzI0LjEwMTU2MiAyNjYuNDIxODc1IDI5MC41MjM0MzggMzAwIDI0OS4xMDE1NjIgMzAwIEMgMjA3LjY3OTY4OCAzMDAgMTc0LjEwMTU2MiAyNjYuNDIxODc1IDE3NC4xMDE1NjIgMjI1IEMgMTc0LjEwMTU2MiAxODMuNTc4MTI1IDIwNy42Nzk2ODggMTUwIDI0OS4xMDE1NjIgMTUwIEMgMjkwLjUyMzQzOCAxNTAgMzI0LjEwMTU2MiAxODMuNTc4MTI1IDMyNC4xMDE1NjIgMjI1Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgPGcgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgIDxnIGNsYXNzPSJqcC1qdXB5dGVyLWljb24tY29sb3IiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=);
--jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K);
--jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==);
--jp-icon-launch: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yNiwyOEg2YTIuMDAyNywyLjAwMjcsMCwwLDEtMi0yVjZBMi4wMDI3LDIuMDAyNywwLDAsMSw2LDRIMTZWNkg2VjI2SDI2VjE2aDJWMjZBMi4wMDI3LDIuMDAyNywwLDAsMSwyNiwyOFoiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMjAgMiAyMCA0IDI2LjU4NiA0IDE4IDEyLjU4NiAxOS40MTQgMTQgMjggNS40MTQgMjggMTIgMzAgMTIgMzAgMiAyMCAyIi8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==);
--jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=);
--jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4K);
--jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==);
--jp-icon-move-down: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMTIuNDcxIDcuNTI4OTlDMTIuNzYzMiA3LjIzNjg0IDEyLjc2MzIgNi43NjMxNiAxMi40NzEgNi40NzEwMVY2LjQ3MTAxQzEyLjE3OSA2LjE3OTA1IDExLjcwNTcgNi4xNzg4NCAxMS40MTM1IDYuNDcwNTRMNy43NSAxMC4xMjc1VjEuNzVDNy43NSAxLjMzNTc5IDcuNDE0MjEgMSA3IDFWMUM2LjU4NTc5IDEgNi4yNSAxLjMzNTc5IDYuMjUgMS43NVYxMC4xMjc1TDIuNTk3MjYgNi40NjgyMkMyLjMwMzM4IDYuMTczODEgMS44MjY0MSA2LjE3MzU5IDEuNTMyMjYgNi40Njc3NFY2LjQ2Nzc0QzEuMjM4MyA2Ljc2MTcgMS4yMzgzIDcuMjM4MyAxLjUzMjI2IDcuNTMyMjZMNi4yOTI4OSAxMi4yOTI5QzYuNjgzNDIgMTIuNjgzNCA3LjMxNjU4IDEyLjY4MzQgNy43MDcxMSAxMi4yOTI5TDEyLjQ3MSA3LjUyODk5WiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K);
--jp-icon-move-up: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMS41Mjg5OSA2LjQ3MTAxQzEuMjM2ODQgNi43NjMxNiAxLjIzNjg0IDcuMjM2ODQgMS41Mjg5OSA3LjUyODk5VjcuNTI4OTlDMS44MjA5NSA3LjgyMDk1IDIuMjk0MjYgNy44MjExNiAyLjU4NjQ5IDcuNTI5NDZMNi4yNSAzLjg3MjVWMTIuMjVDNi4yNSAxMi42NjQyIDYuNTg1NzkgMTMgNyAxM1YxM0M3LjQxNDIxIDEzIDcuNzUgMTIuNjY0MiA3Ljc1IDEyLjI1VjMuODcyNUwxMS40MDI3IDcuNTMxNzhDMTEuNjk2NiA3LjgyNjE5IDEyLjE3MzYgNy44MjY0MSAxMi40Njc3IDcuNTMyMjZWNy41MzIyNkMxMi43NjE3IDcuMjM4MyAxMi43NjE3IDYuNzYxNyAxMi40Njc3IDYuNDY3NzRMNy43MDcxMSAxLjcwNzExQzcuMzE2NTggMS4zMTY1OCA2LjY4MzQyIDEuMzE2NTggNi4yOTI4OSAxLjcwNzExTDEuNTI4OTkgNi40NzEwMVoiIGZpbGw9IiM2MTYxNjEiLz4KPC9zdmc+Cg==);
--jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=);
--jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtbm90ZWJvb2staWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-numbering: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K);
--jp-icon-offline-bolt: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
--jp-icon-pdf: url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K);
--jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iLTEwIC0xMCAxMzEuMTYxMzYxNjk0MzM1OTQgMTMyLjM4ODk5OTkzODk2NDg0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzA2OTk4IiBkPSJNIDU0LjkxODc4NSw5LjE5Mjc0MjFlLTQgQyA1MC4zMzUxMzIsMC4wMjIyMTcyNyA0NS45NTc4NDYsMC40MTMxMzY5NyA0Mi4xMDYyODUsMS4wOTQ2NjkzIDMwLjc2MDA2OSwzLjA5OTE3MzEgMjguNzAwMDM2LDcuMjk0NzcxNCAyOC43MDAwMzUsMTUuMDMyMTY5IHYgMTAuMjE4NzUgaCAyNi44MTI1IHYgMy40MDYyNSBoIC0yNi44MTI1IC0xMC4wNjI1IGMgLTcuNzkyNDU5LDAgLTE0LjYxNTc1ODgsNC42ODM3MTcgLTE2Ljc0OTk5OTgsMTMuNTkzNzUgLTIuNDYxODE5OTgsMTAuMjEyOTY2IC0yLjU3MTAxNTA4LDE2LjU4NjAyMyAwLDI3LjI1IDEuOTA1OTI4Myw3LjkzNzg1MiA2LjQ1NzU0MzIsMTMuNTkzNzQ4IDE0LjI0OTk5OTgsMTMuNTkzNzUgaCA5LjIxODc1IHYgLTEyLjI1IGMgMCwtOC44NDk5MDIgNy42NTcxNDQsLTE2LjY1NjI0OCAxNi43NSwtMTYuNjU2MjUgaCAyNi43ODEyNSBjIDcuNDU0OTUxLDAgMTMuNDA2MjUzLC02LjEzODE2NCAxMy40MDYyNSwtMTMuNjI1IHYgLTI1LjUzMTI1IGMgMCwtNy4yNjYzMzg2IC02LjEyOTk4LC0xMi43MjQ3NzcxIC0xMy40MDYyNSwtMTMuOTM3NDk5NyBDIDY0LjI4MTU0OCwwLjMyNzk0Mzk3IDU5LjUwMjQzOCwtMC4wMjAzNzkwMyA1NC45MTg3ODUsOS4xOTI3NDIxZS00IFogbSAtMTQuNSw4LjIxODc1MDEyNTc5IGMgMi43Njk1NDcsMCA1LjAzMTI1LDIuMjk4NjQ1NiA1LjAzMTI1LDUuMTI0OTk5NiAtMmUtNiwyLjgxNjMzNiAtMi4yNjE3MDMsNS4wOTM3NSAtNS4wMzEyNSw1LjA5Mzc1IC0yLjc3OTQ3NiwtMWUtNiAtNS4wMzEyNSwtMi4yNzc0MTUgLTUuMDMxMjUsLTUuMDkzNzUgLTEwZS03LC0yLjgyNjM1MyAyLjI1MTc3NCwtNS4xMjQ5OTk2IDUuMDMxMjUsLTUuMTI0OTk5NiB6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2ZmZDQzYiIgZD0ibSA4NS42Mzc1MzUsMjguNjU3MTY5IHYgMTEuOTA2MjUgYyAwLDkuMjMwNzU1IC03LjgyNTg5NSwxNi45OTk5OTkgLTE2Ljc1LDE3IGggLTI2Ljc4MTI1IGMgLTcuMzM1ODMzLDAgLTEzLjQwNjI0OSw2LjI3ODQ4MyAtMTMuNDA2MjUsMTMuNjI1IHYgMjUuNTMxMjQ3IGMgMCw3LjI2NjM0NCA2LjMxODU4OCwxMS41NDAzMjQgMTMuNDA2MjUsMTMuNjI1MDA0IDguNDg3MzMxLDIuNDk1NjEgMTYuNjI2MjM3LDIuOTQ2NjMgMjYuNzgxMjUsMCA2Ljc1MDE1NSwtMS45NTQzOSAxMy40MDYyNTMsLTUuODg3NjEgMTMuNDA2MjUsLTEzLjYyNTAwNCBWIDg2LjUwMDkxOSBoIC0yNi43ODEyNSB2IC0zLjQwNjI1IGggMjYuNzgxMjUgMTMuNDA2MjU0IGMgNy43OTI0NjEsMCAxMC42OTYyNTEsLTUuNDM1NDA4IDEzLjQwNjI0MSwtMTMuNTkzNzUgMi43OTkzMywtOC4zOTg4ODYgMi42ODAyMiwtMTYuNDc1Nzc2IDAsLTI3LjI1IC0xLjkyNTc4LC03Ljc1NzQ0MSAtNS42MDM4NywtMTMuNTkzNzUgLTEzLjQwNjI0MSwtMTMuNTkzNzUgeiBtIC0xNS4wNjI1LDY0LjY1NjI1IGMgMi43Nzk0NzgsM2UtNiA1LjAzMTI1LDIuMjc3NDE3IDUuMDMxMjUsNS4wOTM3NDcgLTJlLTYsMi44MjYzNTQgLTIuMjUxNzc1LDUuMTI1MDA0IC01LjAzMTI1LDUuMTI1MDA0IC0yLjc2OTU1LDAgLTUuMDMxMjUsLTIuMjk4NjUgLTUuMDMxMjUsLTUuMTI1MDA0IDJlLTYsLTIuODE2MzMgMi4yNjE2OTcsLTUuMDkzNzQ3IDUuMDMxMjUsLTUuMDkzNzQ3IHoiLz4KPC9zdmc+Cg==);
--jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==);
--jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-redo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==);
--jp-icon-share: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTSAxOCAyIEMgMTYuMzU0OTkgMiAxNSAzLjM1NDk5MDQgMTUgNSBDIDE1IDUuMTkwOTUyOSAxNS4wMjE3OTEgNS4zNzcxMjI0IDE1LjA1NjY0MSA1LjU1ODU5MzggTCA3LjkyMTg3NSA5LjcyMDcwMzEgQyA3LjM5ODUzOTkgOS4yNzc4NTM5IDYuNzMyMDc3MSA5IDYgOSBDIDQuMzU0OTkwNCA5IDMgMTAuMzU0OTkgMyAxMiBDIDMgMTMuNjQ1MDEgNC4zNTQ5OTA0IDE1IDYgMTUgQyA2LjczMjA3NzEgMTUgNy4zOTg1Mzk5IDE0LjcyMjE0NiA3LjkyMTg3NSAxNC4yNzkyOTcgTCAxNS4wNTY2NDEgMTguNDM5NDUzIEMgMTUuMDIxNTU1IDE4LjYyMTUxNCAxNSAxOC44MDgzODYgMTUgMTkgQyAxNSAyMC42NDUwMSAxNi4zNTQ5OSAyMiAxOCAyMiBDIDE5LjY0NTAxIDIyIDIxIDIwLjY0NTAxIDIxIDE5IEMgMjEgMTcuMzU0OTkgMTkuNjQ1MDEgMTYgMTggMTYgQyAxNy4yNjc0OCAxNiAxNi42MDE1OTMgMTYuMjc5MzI4IDE2LjA3ODEyNSAxNi43MjI2NTYgTCA4Ljk0MzM1OTQgMTIuNTU4NTk0IEMgOC45NzgyMDk1IDEyLjM3NzEyMiA5IDEyLjE5MDk1MyA5IDEyIEMgOSAxMS44MDkwNDcgOC45NzgyMDk1IDExLjYyMjg3OCA4Ljk0MzM1OTQgMTEuNDQxNDA2IEwgMTYuMDc4MTI1IDcuMjc5Mjk2OSBDIDE2LjYwMTQ2IDcuNzIyMTQ2MSAxNy4yNjc5MjMgOCAxOCA4IEMgMTkuNjQ1MDEgOCAyMSA2LjY0NTAwOTYgMjEgNSBDIDIxIDMuMzU0OTkwNCAxOS42NDUwMSAyIDE4IDIgeiBNIDE4IDQgQyAxOC41NjQxMjkgNCAxOSA0LjQzNTg3MDYgMTkgNSBDIDE5IDUuNTY0MTI5NCAxOC41NjQxMjkgNiAxOCA2IEMgMTcuNDM1ODcxIDYgMTcgNS41NjQxMjk0IDE3IDUgQyAxNyA0LjQzNTg3MDYgMTcuNDM1ODcxIDQgMTggNCB6IE0gNiAxMSBDIDYuNTY0MTI5NCAxMSA3IDExLjQzNTg3MSA3IDEyIEMgNyAxMi41NjQxMjkgNi41NjQxMjk0IDEzIDYgMTMgQyA1LjQzNTg3MDYgMTMgNSAxMi41NjQxMjkgNSAxMiBDIDUgMTEuNDM1ODcxIDUuNDM1ODcwNiAxMSA2IDExIHogTSAxOCAxOCBDIDE4LjU2NDEyOSAxOCAxOSAxOC40MzU4NzEgMTkgMTkgQyAxOSAxOS41NjQxMjkgMTguNTY0MTI5IDIwIDE4IDIwIEMgMTcuNDM1ODcxIDIwIDE3IDE5LjU2NDEyOSAxNyAxOSBDIDE3IDE4LjQzNTg3MSAxNy40MzU4NzEgMTggMTggMTggeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=);
--jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
--jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-table-rows: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K);
--jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIiBmaWxsPSIjMzMzMzMzIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIgZD0iTTUuMDU2NjQgOC43NjE3MkM1LjA1NjY0IDguNTk3NjYgNS4wMzEyNSA4LjQ1MzEyIDQuOTgwNDcgOC4zMjgxMkM0LjkzMzU5IDguMTk5MjIgNC44NTU0NyA4LjA4MjAzIDQuNzQ2MDkgNy45NzY1NkM0LjY0MDYyIDcuODcxMDkgNC41IDcuNzc1MzkgNC4zMjQyMiA3LjY4OTQ1QzQuMTUyMzQgNy41OTk2MSAzLjk0MzM2IDcuNTExNzIgMy42OTcyNyA3LjQyNTc4QzMuMzAyNzMgNy4yODUxNiAyLjk0MzM2IDcuMTM2NzIgMi42MTkxNCA2Ljk4MDQ3QzIuMjk0OTIgNi44MjQyMiAyLjAxNzU4IDYuNjQyNTggMS43ODcxMSA2LjQzNTU1QzEuNTYwNTUgNi4yMjg1MiAxLjM4NDc3IDUuOTg4MjggMS4yNTk3NyA1LjcxNDg0QzEuMTM0NzcgNS40Mzc1IDEuMDcyMjcgNS4xMDkzOCAxLjA3MjI3IDQuNzMwNDdDMS4wNzIyNyA0LjM5ODQ0IDEuMTI4OTEgNC4wOTU3IDEuMjQyMTkgMy44MjIyN0MxLjM1NTQ3IDMuNTQ0OTIgMS41MTU2MiAzLjMwNDY5IDEuNzIyNjYgMy4xMDE1NkMxLjkyOTY5IDIuODk4NDQgMi4xNzk2OSAyLjczNDM3IDIuNDcyNjYgMi42MDkzOEMyLjc2NTYyIDIuNDg0MzggMy4wOTE4IDIuNDA0MyAzLjQ1MTE3IDIuMzY5MTRWMS4xMDkzOEg0LjM4ODY3VjIuMzgwODZDNC43NDAyMyAyLjQyNzczIDUuMDU2NjQgMi41MjM0NCA1LjMzNzg5IDIuNjY3OTdDNS42MTkxNCAyLjgxMjUgNS44NTc0MiAzLjAwMTk1IDYuMDUyNzMgMy4yMzYzM0M2LjI1MTk1IDMuNDY2OCA2LjQwNDMgMy43NDAyMyA2LjUwOTc3IDQuMDU2NjRDNi42MTkxNCA0LjM2OTE0IDYuNjczODMgNC43MjA3IDYuNjczODMgNS4xMTEzM0g1LjA0NDkyQzUuMDQ0OTIgNC42Mzg2NyA0LjkzNzUgNC4yODEyNSA0LjcyMjY2IDQuMDM5MDZDNC41MDc4MSAzLjc5Mjk3IDQuMjE2OCAzLjY2OTkyIDMuODQ5NjEgMy42Njk5MkMzLjY1MDM5IDMuNjY5OTIgMy40NzY1NiAzLjY5NzI3IDMuMzI4MTIgMy43NTE5NUMzLjE4MzU5IDMuODAyNzMgMy4wNjQ0NSAzLjg3Njk1IDIuOTcwNyAzLjk3NDYxQzIuODc2OTUgNC4wNjgzNiAyLjgwNjY0IDQuMTc5NjkgMi43NTk3NyA0LjMwODU5QzIuNzE2OCA0LjQzNzUgMi42OTUzMSA0LjU3ODEyIDIuNjk1MzEgNC43MzA0N0MyLjY5NTMxIDQuODgyODEgMi43MTY4IDUuMDE5NTMgMi43NTk3NyA1LjE0MDYyQzIuODA2NjQgNS4yNTc4MSAyLjg4MjgxIDUuMzY3MTkgMi45ODgyOCA1LjQ2ODc1QzMuMDk3NjYgNS41NzAzMSAzLjI0MDIzIDUuNjY3OTcgMy40MTYwMiA1Ljc2MTcyQzMuNTkxOCA1Ljg1MTU2IDMuODEwNTUgNS45NDMzNiA0LjA3MjI3IDYuMDM3MTFDNC40NjY4IDYuMTg1NTUgNC44MjQyMiA2LjMzOTg0IDUuMTQ0NTMgNi41QzUuNDY0ODQgNi42NTYyNSA1LjczODI4IDYuODM5ODQgNS45NjQ4NCA3LjA1MDc4QzYuMTk1MzEgNy4yNTc4MSA2LjM3MTA5IDcuNSA2LjQ5MjE5IDcuNzc3MzRDNi42MTcxOSA4LjA1MDc4IDYuNjc5NjkgOC4zNzUgNi42Nzk2OSA4Ljc1QzYuNjc5NjkgOS4wOTM3NSA2LjYyMzA1IDkuNDA0MyA2LjUwOTc3IDkuNjgxNjRDNi4zOTY0OCA5Ljk1NTA4IDYuMjM0MzggMTAuMTkxNCA2LjAyMzQ0IDEwLjM5MDZDNS44MTI1IDEwLjU4OTggNS41NTg1OSAxMC43NSA1LjI2MTcyIDEwLjg3MTFDNC45NjQ4NCAxMC45ODgzIDQuNjMyODEgMTEuMDY0NSA0LjI2NTYyIDExLjA5OTZWMTIuMjQ4SDMuMzMzOThWMTEuMDk5NkMzLjAwMTk1IDExLjA2ODQgMi42Nzk2OSAxMC45OTYxIDIuMzY3MTkgMTAuODgyOEMyLjA1NDY5IDEwLjc2NTYgMS43NzczNCAxMC41OTc3IDEuNTM1MTYgMTAuMzc4OUMxLjI5Njg4IDEwLjE2MDIgMS4xMDU0NyA5Ljg4NDc3IDAuOTYwOTM4IDkuNTUyNzNDMC44MTY0MDYgOS4yMTY4IDAuNzQ0MTQxIDguODE0NDUgMC43NDQxNDEgOC4zNDU3SDIuMzc4OTFDMi4zNzg5MSA4LjYyNjk1IDIuNDE5OTIgOC44NjMyOCAyLjUwMTk1IDkuMDU0NjlDMi41ODM5OCA5LjI0MjE5IDIuNjg5NDUgOS4zOTI1OCAyLjgxODM2IDkuNTA1ODZDMi45NTExNyA5LjYxNTIzIDMuMTAxNTYgOS42OTMzNiAzLjI2OTUzIDkuNzQwMjNDMy40Mzc1IDkuNzg3MTEgMy42MDkzOCA5LjgxMDU1IDMuNzg1MTYgOS44MTA1NUM0LjIwMzEyIDkuODEwNTUgNC41MTk1MyA5LjcxMjg5IDQuNzM0MzggOS41MTc1OEM0Ljk0OTIyIDkuMzIyMjcgNS4wNTY2NCA5LjA3MDMxIDUuMDU2NjQgOC43NjE3MlpNMTMuNDE4IDEyLjI3MTVIOC4wNzQyMlYxMUgxMy40MThWMTIuMjcxNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTUyNjQgNikiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
--jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtdGV4dC1lZGl0b3ItaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xNSAxNUgzdjJoMTJ2LTJ6bTAtOEgzdjJoMTJWN3pNMyAxM2gxOHYtMkgzdjJ6bTAgOGgxOHYtMkgzdjJ6TTMgM3YyaDE4VjNIM3oiLz4KPC9zdmc+Cg==);
--jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik03LDVIMjFWN0g3VjVNNywxM1YxMUgyMVYxM0g3TTQsNC41QTEuNSwxLjUgMCAwLDEgNS41LDZBMS41LDEuNSAwIDAsMSA0LDcuNUExLjUsMS41IDAgMCwxIDIuNSw2QTEuNSwxLjUgMCAwLDEgNCw0LjVNNCwxMC41QTEuNSwxLjUgMCAwLDEgNS41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMy41QTEuNSwxLjUgMCAwLDEgMi41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMC41TTcsMTlWMTdIMjFWMTlIN000LDE2LjVBMS41LDEuNSAwIDAsMSA1LjUsMThBMS41LDEuNSAwIDAsMSA0LDE5LjVBMS41LDEuNSAwIDAsMSAyLjUsMThBMS41LDEuNSAwIDAsMSA0LDE2LjVaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K);
--jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-user: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE2IDdhNCA0IDAgMTEtOCAwIDQgNCAwIDAxOCAwek0xMiAxNGE3IDcgMCAwMC03IDdoMTRhNyA3IDAgMDAtNy03eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-users: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDM2IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGcgY2xhc3M9ImpwLWljb24zIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjczMjcgMCAwIDEuNzMyNyAtMy42MjgyIC4wOTk1NzcpIiBmaWxsPSIjNjE2MTYxIj4KICA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLjUsMCwwLDEuNSwwLC02KSIgZD0ibTEyLjE4NiA3LjUwOThjLTEuMDUzNSAwLTEuOTc1NyAwLjU2NjUtMi40Nzg1IDEuNDEwMiAwLjc1MDYxIDAuMzEyNzcgMS4zOTc0IDAuODI2NDggMS44NzMgMS40NzI3aDMuNDg2M2MwLTEuNTkyLTEuMjg4OS0yLjg4MjgtMi44ODA5LTIuODgyOHoiLz4KICA8cGF0aCBkPSJtMjAuNDY1IDIuMzg5NWEyLjE4ODUgMi4xODg1IDAgMCAxLTIuMTg4NCAyLjE4ODUgMi4xODg1IDIuMTg4NSAwIDAgMS0yLjE4ODUtMi4xODg1IDIuMTg4NSAyLjE4ODUgMCAwIDEgMi4xODg1LTIuMTg4NSAyLjE4ODUgMi4xODg1IDAgMCAxIDIuMTg4NCAyLjE4ODV6Ii8+CiAgPHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMS41LDAsMCwxLjUsMCwtNikiIGQ9Im0zLjU4OTggOC40MjE5Yy0xLjExMjYgMC0yLjAxMzcgMC45MDExMS0yLjAxMzcgMi4wMTM3aDIuODE0NWMwLjI2Nzk3LTAuMzczMDkgMC41OTA3LTAuNzA0MzUgMC45NTg5OC0wLjk3ODUyLTAuMzQ0MzMtMC42MTY4OC0xLjAwMzEtMS4wMzUyLTEuNzU5OC0xLjAzNTJ6Ii8+CiAgPHBhdGggZD0ibTYuOTE1NCA0LjYyM2ExLjUyOTQgMS41Mjk0IDAgMCAxLTEuNTI5NCAxLjUyOTQgMS41Mjk0IDEuNTI5NCAwIDAgMS0xLjUyOTQtMS41Mjk0IDEuNTI5NCAxLjUyOTQgMCAwIDEgMS41Mjk0LTEuNTI5NCAxLjUyOTQgMS41Mjk0IDAgMCAxIDEuNTI5NCAxLjUyOTR6Ii8+CiAgPHBhdGggZD0ibTYuMTM1IDEzLjUzNWMwLTMuMjM5MiAyLjYyNTktNS44NjUgNS44NjUtNS44NjUgMy4yMzkyIDAgNS44NjUgMi42MjU5IDUuODY1IDUuODY1eiIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMy43Njg1IiByPSIyLjk2ODUiLz4KIDwvZz4KPC9zdmc+Cg==);
--jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-word: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KIDxnIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzQxNDE0MSI+CiAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiA8L2c+CiA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNDMgLjA0MDEpIiBmaWxsPSIjZmZmIj4KICA8cGF0aCBkPSJtNC4xNCA4Ljc2cTAuMDY4Mi0xLjg5IDIuNDItMS44OSAxLjE2IDAgMS42OCAwLjQyIDAuNTY3IDAuNDEgMC41NjcgMS4xNnYzLjQ3cTAgMC40NjIgMC41MTQgMC40NjIgMC4xMDMgMCAwLjItMC4wMjMxdjAuNzE0cS0wLjM5OSAwLjEwMy0wLjY1MSAwLjEwMy0wLjQ1MiAwLTAuNjkzLTAuMjItMC4yMzEtMC4yLTAuMjg0LTAuNjYyLTAuOTU2IDAuODcyLTIgMC44NzItMC45MDMgMC0xLjQ3LTAuNDcyLTAuNTI1LTAuNDcyLTAuNTI1LTEuMjYgMC0wLjI2MiAwLjA0NTItMC40NzIgMC4wNTY3LTAuMjIgMC4xMTYtMC4zNzggMC4wNjgyLTAuMTY4IDAuMjMxLTAuMzA0IDAuMTU4LTAuMTQ3IDAuMjYyLTAuMjQyIDAuMTE2LTAuMDkxNCAwLjM2OC0wLjE2OCAwLjI2Mi0wLjA5MTQgMC4zOTktMC4xMjYgMC4xMzYtMC4wNDUyIDAuNDcyLTAuMTAzIDAuMzM2LTAuMDU3OCAwLjUwNC0wLjA3OTggMC4xNTgtMC4wMjMxIDAuNTY3LTAuMDc5OCAwLjU1Ni0wLjA2ODIgMC43NzctMC4yMjEgMC4yMi0wLjE1MiAwLjIyLTAuNDQxdi0wLjI1MnEwLTAuNDMtMC4zNTctMC42NjItMC4zMzYtMC4yMzEtMC45NzYtMC4yMzEtMC42NjIgMC0wLjk5OCAwLjI2Mi0wLjMzNiAwLjI1Mi0wLjM5OSAwLjc5OHptMS44OSAzLjY4cTAuNzg4IDAgMS4yNi0wLjQxIDAuNTA0LTAuNDIgMC41MDQtMC45MDN2LTEuMDVxLTAuMjg0IDAuMTM2LTAuODYxIDAuMjMxLTAuNTY3IDAuMDkxNC0wLjk4NyAwLjE1OC0wLjQyIDAuMDY4Mi0wLjc2NiAwLjMyNi0wLjMzNiAwLjI1Mi0wLjMzNiAwLjcwNHQwLjMwNCAwLjcwNCAwLjg2MSAwLjI1MnoiIHN0cm9rZS13aWR0aD0iMS4wNSIvPgogIDxwYXRoIGQ9Im0xMCA0LjU2aDAuOTQ1djMuMTVxMC42NTEtMC45NzYgMS44OS0wLjk3NiAxLjE2IDAgMS44OSAwLjg0IDAuNjgyIDAuODQgMC42ODIgMi4zMSAwIDEuNDctMC43MDQgMi40Mi0wLjcwNCAwLjg4Mi0xLjg5IDAuODgyLTEuMjYgMC0xLjg5LTEuMDJ2MC43NjZoLTAuODV6bTIuNjIgMy4wNHEtMC43NDYgMC0xLjE2IDAuNjQtMC40NTIgMC42My0wLjQ1MiAxLjY4IDAgMS4wNSAwLjQ1MiAxLjY4dDEuMTYgMC42M3EwLjc3NyAwIDEuMjYtMC42MyAwLjQ5NC0wLjY0IDAuNDk0LTEuNjggMC0xLjA1LTAuNDcyLTEuNjgtMC40NjItMC42NC0xLjI2LTAuNjR6IiBzdHJva2Utd2lkdGg9IjEuMDUiLz4KICA8cGF0aCBkPSJtMi43MyAxNS44IDEzLjYgMC4wMDgxYzAuMDA2OSAwIDAtMi42IDAtMi42IDAtMC4wMDc4LTEuMTUgMC0xLjE1IDAtMC4wMDY5IDAtMC4wMDgzIDEuNS0wLjAwODMgMS41LTJlLTMgLTAuMDAxNC0xMS4zLTAuMDAxNC0xMS4zLTAuMDAxNGwtMC4wMDU5Mi0xLjVjMC0wLjAwNzgtMS4xNyAwLjAwMTMtMS4xNyAwLjAwMTN6IiBzdHJva2Utd2lkdGg9Ii45NzUiLz4KIDwvZz4KPC9zdmc+Cg==);
--jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K);
}
/* Icon CSS class declarations */
.jp-AddAboveIcon {
background-image: var(--jp-icon-add-above);
}
.jp-AddBelowIcon {
background-image: var(--jp-icon-add-below);
}
.jp-AddIcon {
background-image: var(--jp-icon-add);
}
.jp-BellIcon {
background-image: var(--jp-icon-bell);
}
.jp-BugDotIcon {
background-image: var(--jp-icon-bug-dot);
}
.jp-BugIcon {
background-image: var(--jp-icon-bug);
}
.jp-BuildIcon {
background-image: var(--jp-icon-build);
}
.jp-CaretDownEmptyIcon {
background-image: var(--jp-icon-caret-down-empty);
}
.jp-CaretDownEmptyThinIcon {
background-image: var(--jp-icon-caret-down-empty-thin);
}
.jp-CaretDownIcon {
background-image: var(--jp-icon-caret-down);
}
.jp-CaretLeftIcon {
background-image: var(--jp-icon-caret-left);
}
.jp-CaretRightIcon {
background-image: var(--jp-icon-caret-right);
}
.jp-CaretUpEmptyThinIcon {
background-image: var(--jp-icon-caret-up-empty-thin);
}
.jp-CaretUpIcon {
background-image: var(--jp-icon-caret-up);
}
.jp-CaseSensitiveIcon {
background-image: var(--jp-icon-case-sensitive);
}
.jp-CheckIcon {
background-image: var(--jp-icon-check);
}
.jp-CircleEmptyIcon {
background-image: var(--jp-icon-circle-empty);
}
.jp-CircleIcon {
background-image: var(--jp-icon-circle);
}
.jp-ClearIcon {
background-image: var(--jp-icon-clear);
}
.jp-CloseIcon {
background-image: var(--jp-icon-close);
}
.jp-CodeCheckIcon {
background-image: var(--jp-icon-code-check);
}
.jp-CodeIcon {
background-image: var(--jp-icon-code);
}
.jp-CollapseAllIcon {
background-image: var(--jp-icon-collapse-all);
}
.jp-ConsoleIcon {
background-image: var(--jp-icon-console);
}
.jp-CopyIcon {
background-image: var(--jp-icon-copy);
}
.jp-CopyrightIcon {
background-image: var(--jp-icon-copyright);
}
.jp-CutIcon {
background-image: var(--jp-icon-cut);
}
.jp-DeleteIcon {
background-image: var(--jp-icon-delete);
}
.jp-DownloadIcon {
background-image: var(--jp-icon-download);
}
.jp-DuplicateIcon {
background-image: var(--jp-icon-duplicate);
}
.jp-EditIcon {
background-image: var(--jp-icon-edit);
}
.jp-EllipsesIcon {
background-image: var(--jp-icon-ellipses);
}
.jp-ErrorIcon {
background-image: var(--jp-icon-error);
}
.jp-ExpandAllIcon {
background-image: var(--jp-icon-expand-all);
}
.jp-ExtensionIcon {
background-image: var(--jp-icon-extension);
}
.jp-FastForwardIcon {
background-image: var(--jp-icon-fast-forward);
}
.jp-FileIcon {
background-image: var(--jp-icon-file);
}
.jp-FileUploadIcon {
background-image: var(--jp-icon-file-upload);
}
.jp-FilterDotIcon {
background-image: var(--jp-icon-filter-dot);
}
.jp-FilterIcon {
background-image: var(--jp-icon-filter);
}
.jp-FilterListIcon {
background-image: var(--jp-icon-filter-list);
}
.jp-FolderFavoriteIcon {
background-image: var(--jp-icon-folder-favorite);
}
.jp-FolderIcon {
background-image: var(--jp-icon-folder);
}
.jp-HomeIcon {
background-image: var(--jp-icon-home);
}
.jp-Html5Icon {
background-image: var(--jp-icon-html5);
}
.jp-ImageIcon {
background-image: var(--jp-icon-image);
}
.jp-InfoIcon {
background-image: var(--jp-icon-info);
}
.jp-InspectorIcon {
background-image: var(--jp-icon-inspector);
}
.jp-JsonIcon {
background-image: var(--jp-icon-json);
}
.jp-JuliaIcon {
background-image: var(--jp-icon-julia);
}
.jp-JupyterFaviconIcon {
background-image: var(--jp-icon-jupyter-favicon);
}
.jp-JupyterIcon {
background-image: var(--jp-icon-jupyter);
}
.jp-JupyterlabWordmarkIcon {
background-image: var(--jp-icon-jupyterlab-wordmark);
}
.jp-KernelIcon {
background-image: var(--jp-icon-kernel);
}
.jp-KeyboardIcon {
background-image: var(--jp-icon-keyboard);
}
.jp-LaunchIcon {
background-image: var(--jp-icon-launch);
}
.jp-LauncherIcon {
background-image: var(--jp-icon-launcher);
}
.jp-LineFormIcon {
background-image: var(--jp-icon-line-form);
}
.jp-LinkIcon {
background-image: var(--jp-icon-link);
}
.jp-ListIcon {
background-image: var(--jp-icon-list);
}
.jp-MarkdownIcon {
background-image: var(--jp-icon-markdown);
}
.jp-MoveDownIcon {
background-image: var(--jp-icon-move-down);
}
.jp-MoveUpIcon {
background-image: var(--jp-icon-move-up);
}
.jp-NewFolderIcon {
background-image: var(--jp-icon-new-folder);
}
.jp-NotTrustedIcon {
background-image: var(--jp-icon-not-trusted);
}
.jp-NotebookIcon {
background-image: var(--jp-icon-notebook);
}
.jp-NumberingIcon {
background-image: var(--jp-icon-numbering);
}
.jp-OfflineBoltIcon {
background-image: var(--jp-icon-offline-bolt);
}
.jp-PaletteIcon {
background-image: var(--jp-icon-palette);
}
.jp-PasteIcon {
background-image: var(--jp-icon-paste);
}
.jp-PdfIcon {
background-image: var(--jp-icon-pdf);
}
.jp-PythonIcon {
background-image: var(--jp-icon-python);
}
.jp-RKernelIcon {
background-image: var(--jp-icon-r-kernel);
}
.jp-ReactIcon {
background-image: var(--jp-icon-react);
}
.jp-RedoIcon {
background-image: var(--jp-icon-redo);
}
.jp-RefreshIcon {
background-image: var(--jp-icon-refresh);
}
.jp-RegexIcon {
background-image: var(--jp-icon-regex);
}
.jp-RunIcon {
background-image: var(--jp-icon-run);
}
.jp-RunningIcon {
background-image: var(--jp-icon-running);
}
.jp-SaveIcon {
background-image: var(--jp-icon-save);
}
.jp-SearchIcon {
background-image: var(--jp-icon-search);
}
.jp-SettingsIcon {
background-image: var(--jp-icon-settings);
}
.jp-ShareIcon {
background-image: var(--jp-icon-share);
}
.jp-SpreadsheetIcon {
background-image: var(--jp-icon-spreadsheet);
}
.jp-StopIcon {
background-image: var(--jp-icon-stop);
}
.jp-TabIcon {
background-image: var(--jp-icon-tab);
}
.jp-TableRowsIcon {
background-image: var(--jp-icon-table-rows);
}
.jp-TagIcon {
background-image: var(--jp-icon-tag);
}
.jp-TerminalIcon {
background-image: var(--jp-icon-terminal);
}
.jp-TextEditorIcon {
background-image: var(--jp-icon-text-editor);
}
.jp-TocIcon {
background-image: var(--jp-icon-toc);
}
.jp-TreeViewIcon {
background-image: var(--jp-icon-tree-view);
}
.jp-TrustedIcon {
background-image: var(--jp-icon-trusted);
}
.jp-UndoIcon {
background-image: var(--jp-icon-undo);
}
.jp-UserIcon {
background-image: var(--jp-icon-user);
}
.jp-UsersIcon {
background-image: var(--jp-icon-users);
}
.jp-VegaIcon {
background-image: var(--jp-icon-vega);
}
.jp-WordIcon {
background-image: var(--jp-icon-word);
}
.jp-YamlIcon {
background-image: var(--jp-icon-yaml);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/**
* (DEPRECATED) Support for consuming icons as CSS background images
*/
.jp-Icon,
.jp-MaterialIcon {
background-position: center;
background-repeat: no-repeat;
background-size: 16px;
min-width: 16px;
min-height: 16px;
}
.jp-Icon-cover {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
/**
* (DEPRECATED) Support for specific CSS icon sizes
*/
.jp-Icon-16 {
background-size: 16px;
min-width: 16px;
min-height: 16px;
}
.jp-Icon-18 {
background-size: 18px;
min-width: 18px;
min-height: 18px;
}
.jp-Icon-20 {
background-size: 20px;
min-width: 20px;
min-height: 20px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.lm-TabBar .lm-TabBar-addButton {
align-items: center;
display: flex;
padding: 4px;
padding-bottom: 5px;
margin-right: 1px;
background-color: var(--jp-layout-color2);
}
.lm-TabBar .lm-TabBar-addButton:hover {
background-color: var(--jp-layout-color1);
}
.lm-DockPanel-tabBar .lm-TabBar-tab {
width: var(--jp-private-horizontal-tab-width);
}
.lm-DockPanel-tabBar .lm-TabBar-content {
flex: unset;
}
.lm-DockPanel-tabBar[data-orientation='horizontal'] {
flex: 1 1 auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/**
* Support for icons as inline SVG HTMLElements
*/
/* recolor the primary elements of an icon */
.jp-icon0[fill] {
fill: var(--jp-inverse-layout-color0);
}
.jp-icon1[fill] {
fill: var(--jp-inverse-layout-color1);
}
.jp-icon2[fill] {
fill: var(--jp-inverse-layout-color2);
}
.jp-icon3[fill] {
fill: var(--jp-inverse-layout-color3);
}
.jp-icon4[fill] {
fill: var(--jp-inverse-layout-color4);
}
.jp-icon0[stroke] {
stroke: var(--jp-inverse-layout-color0);
}
.jp-icon1[stroke] {
stroke: var(--jp-inverse-layout-color1);
}
.jp-icon2[stroke] {
stroke: var(--jp-inverse-layout-color2);
}
.jp-icon3[stroke] {
stroke: var(--jp-inverse-layout-color3);
}
.jp-icon4[stroke] {
stroke: var(--jp-inverse-layout-color4);
}
/* recolor the accent elements of an icon */
.jp-icon-accent0[fill] {
fill: var(--jp-layout-color0);
}
.jp-icon-accent1[fill] {
fill: var(--jp-layout-color1);
}
.jp-icon-accent2[fill] {
fill: var(--jp-layout-color2);
}
.jp-icon-accent3[fill] {
fill: var(--jp-layout-color3);
}
.jp-icon-accent4[fill] {
fill: var(--jp-layout-color4);
}
.jp-icon-accent0[stroke] {
stroke: var(--jp-layout-color0);
}
.jp-icon-accent1[stroke] {
stroke: var(--jp-layout-color1);
}
.jp-icon-accent2[stroke] {
stroke: var(--jp-layout-color2);
}
.jp-icon-accent3[stroke] {
stroke: var(--jp-layout-color3);
}
.jp-icon-accent4[stroke] {
stroke: var(--jp-layout-color4);
}
/* set the color of an icon to transparent */
.jp-icon-none[fill] {
fill: none;
}
.jp-icon-none[stroke] {
stroke: none;
}
/* brand icon colors. Same for light and dark */
.jp-icon-brand0[fill] {
fill: var(--jp-brand-color0);
}
.jp-icon-brand1[fill] {
fill: var(--jp-brand-color1);
}
.jp-icon-brand2[fill] {
fill: var(--jp-brand-color2);
}
.jp-icon-brand3[fill] {
fill: var(--jp-brand-color3);
}
.jp-icon-brand4[fill] {
fill: var(--jp-brand-color4);
}
.jp-icon-brand0[stroke] {
stroke: var(--jp-brand-color0);
}
.jp-icon-brand1[stroke] {
stroke: var(--jp-brand-color1);
}
.jp-icon-brand2[stroke] {
stroke: var(--jp-brand-color2);
}
.jp-icon-brand3[stroke] {
stroke: var(--jp-brand-color3);
}
.jp-icon-brand4[stroke] {
stroke: var(--jp-brand-color4);
}
/* warn icon colors. Same for light and dark */
.jp-icon-warn0[fill] {
fill: var(--jp-warn-color0);
}
.jp-icon-warn1[fill] {
fill: var(--jp-warn-color1);
}
.jp-icon-warn2[fill] {
fill: var(--jp-warn-color2);
}
.jp-icon-warn3[fill] {
fill: var(--jp-warn-color3);
}
.jp-icon-warn0[stroke] {
stroke: var(--jp-warn-color0);
}
.jp-icon-warn1[stroke] {
stroke: var(--jp-warn-color1);
}
.jp-icon-warn2[stroke] {
stroke: var(--jp-warn-color2);
}
.jp-icon-warn3[stroke] {
stroke: var(--jp-warn-color3);
}
/* icon colors that contrast well with each other and most backgrounds */
.jp-icon-contrast0[fill] {
fill: var(--jp-icon-contrast-color0);
}
.jp-icon-contrast1[fill] {
fill: var(--jp-icon-contrast-color1);
}
.jp-icon-contrast2[fill] {
fill: var(--jp-icon-contrast-color2);
}
.jp-icon-contrast3[fill] {
fill: var(--jp-icon-contrast-color3);
}
.jp-icon-contrast0[stroke] {
stroke: var(--jp-icon-contrast-color0);
}
.jp-icon-contrast1[stroke] {
stroke: var(--jp-icon-contrast-color1);
}
.jp-icon-contrast2[stroke] {
stroke: var(--jp-icon-contrast-color2);
}
.jp-icon-contrast3[stroke] {
stroke: var(--jp-icon-contrast-color3);
}
.jp-icon-dot[fill] {
fill: var(--jp-warn-color0);
}
.jp-jupyter-icon-color[fill] {
fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));
}
.jp-notebook-icon-color[fill] {
fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));
}
.jp-json-icon-color[fill] {
fill: var(--jp-json-icon-color, var(--jp-warn-color1));
}
.jp-console-icon-color[fill] {
fill: var(--jp-console-icon-color, white);
}
.jp-console-icon-background-color[fill] {
fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));
}
.jp-terminal-icon-color[fill] {
fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));
}
.jp-terminal-icon-background-color[fill] {
fill: var(
--jp-terminal-icon-background-color,
var(--jp-inverse-layout-color2)
);
}
.jp-text-editor-icon-color[fill] {
fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));
}
.jp-inspector-icon-color[fill] {
fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));
}
/* CSS for icons in selected filebrowser listing items */
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {
fill: #fff;
}
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {
fill: var(--jp-brand-color1);
}
/* stylelint-disable selector-max-class, selector-max-compound-selectors */
/**
* TODO: come up with non css-hack solution for showing the busy icon on top
* of the close icon
* CSS for complex behavior of close icon of tabs in the main area tabbar
*/
.lm-DockPanel-tabBar
.lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
> .lm-TabBar-tabCloseIcon
> :not(:hover)
> .jp-icon3[fill] {
fill: none;
}
.lm-DockPanel-tabBar
.lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
> .lm-TabBar-tabCloseIcon
> :not(:hover)
> .jp-icon-busy[fill] {
fill: var(--jp-inverse-layout-color3);
}
/* stylelint-enable selector-max-class, selector-max-compound-selectors */
/* CSS for icons in status bar */
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {
fill: #fff;
}
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {
fill: var(--jp-brand-color1);
}
/* special handling for splash icon CSS. While the theme CSS reloads during
splash, the splash icon can loose theming. To prevent that, we set a
default for its color variable */
:root {
--jp-warn-color0: var(--md-orange-700);
}
/* not sure what to do with this one, used in filebrowser listing */
.jp-DragIcon {
margin-right: 4px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/**
* Support for alt colors for icons as inline SVG HTMLElements
*/
/* alt recolor the primary elements of an icon */
.jp-icon-alt .jp-icon0[fill] {
fill: var(--jp-layout-color0);
}
.jp-icon-alt .jp-icon1[fill] {
fill: var(--jp-layout-color1);
}
.jp-icon-alt .jp-icon2[fill] {
fill: var(--jp-layout-color2);
}
.jp-icon-alt .jp-icon3[fill] {
fill: var(--jp-layout-color3);
}
.jp-icon-alt .jp-icon4[fill] {
fill: var(--jp-layout-color4);
}
.jp-icon-alt .jp-icon0[stroke] {
stroke: var(--jp-layout-color0);
}
.jp-icon-alt .jp-icon1[stroke] {
stroke: var(--jp-layout-color1);
}
.jp-icon-alt .jp-icon2[stroke] {
stroke: var(--jp-layout-color2);
}
.jp-icon-alt .jp-icon3[stroke] {
stroke: var(--jp-layout-color3);
}
.jp-icon-alt .jp-icon4[stroke] {
stroke: var(--jp-layout-color4);
}
/* alt recolor the accent elements of an icon */
.jp-icon-alt .jp-icon-accent0[fill] {
fill: var(--jp-inverse-layout-color0);
}
.jp-icon-alt .jp-icon-accent1[fill] {
fill: var(--jp-inverse-layout-color1);
}
.jp-icon-alt .jp-icon-accent2[fill] {
fill: var(--jp-inverse-layout-color2);
}
.jp-icon-alt .jp-icon-accent3[fill] {
fill: var(--jp-inverse-layout-color3);
}
.jp-icon-alt .jp-icon-accent4[fill] {
fill: var(--jp-inverse-layout-color4);
}
.jp-icon-alt .jp-icon-accent0[stroke] {
stroke: var(--jp-inverse-layout-color0);
}
.jp-icon-alt .jp-icon-accent1[stroke] {
stroke: var(--jp-inverse-layout-color1);
}
.jp-icon-alt .jp-icon-accent2[stroke] {
stroke: var(--jp-inverse-layout-color2);
}
.jp-icon-alt .jp-icon-accent3[stroke] {
stroke: var(--jp-inverse-layout-color3);
}
.jp-icon-alt .jp-icon-accent4[stroke] {
stroke: var(--jp-inverse-layout-color4);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-icon-hoverShow:not(:hover) .jp-icon-hoverShow-content {
display: none !important;
}
/**
* Support for hover colors for icons as inline SVG HTMLElements
*/
/**
* regular colors
*/
/* recolor the primary elements of an icon */
.jp-icon-hover :hover .jp-icon0-hover[fill] {
fill: var(--jp-inverse-layout-color0);
}
.jp-icon-hover :hover .jp-icon1-hover[fill] {
fill: var(--jp-inverse-layout-color1);
}
.jp-icon-hover :hover .jp-icon2-hover[fill] {
fill: var(--jp-inverse-layout-color2);
}
.jp-icon-hover :hover .jp-icon3-hover[fill] {
fill: var(--jp-inverse-layout-color3);
}
.jp-icon-hover :hover .jp-icon4-hover[fill] {
fill: var(--jp-inverse-layout-color4);
}
.jp-icon-hover :hover .jp-icon0-hover[stroke] {
stroke: var(--jp-inverse-layout-color0);
}
.jp-icon-hover :hover .jp-icon1-hover[stroke] {
stroke: var(--jp-inverse-layout-color1);
}
.jp-icon-hover :hover .jp-icon2-hover[stroke] {
stroke: var(--jp-inverse-layout-color2);
}
.jp-icon-hover :hover .jp-icon3-hover[stroke] {
stroke: var(--jp-inverse-layout-color3);
}
.jp-icon-hover :hover .jp-icon4-hover[stroke] {
stroke: var(--jp-inverse-layout-color4);
}
/* recolor the accent elements of an icon */
.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {
fill: var(--jp-layout-color0);
}
.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {
fill: var(--jp-layout-color1);
}
.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {
fill: var(--jp-layout-color2);
}
.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {
fill: var(--jp-layout-color3);
}
.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {
fill: var(--jp-layout-color4);
}
.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {
stroke: var(--jp-layout-color0);
}
.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {
stroke: var(--jp-layout-color1);
}
.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {
stroke: var(--jp-layout-color2);
}
.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {
stroke: var(--jp-layout-color3);
}
.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {
stroke: var(--jp-layout-color4);
}
/* set the color of an icon to transparent */
.jp-icon-hover :hover .jp-icon-none-hover[fill] {
fill: none;
}
.jp-icon-hover :hover .jp-icon-none-hover[stroke] {
stroke: none;
}
/**
* inverse colors
*/
/* inverse recolor the primary elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {
fill: var(--jp-layout-color0);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {
fill: var(--jp-layout-color1);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {
fill: var(--jp-layout-color2);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {
fill: var(--jp-layout-color3);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {
fill: var(--jp-layout-color4);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {
stroke: var(--jp-layout-color0);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {
stroke: var(--jp-layout-color1);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {
stroke: var(--jp-layout-color2);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {
stroke: var(--jp-layout-color3);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {
stroke: var(--jp-layout-color4);
}
/* inverse recolor the accent elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {
fill: var(--jp-inverse-layout-color0);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {
fill: var(--jp-inverse-layout-color1);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {
fill: var(--jp-inverse-layout-color2);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {
fill: var(--jp-inverse-layout-color3);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {
fill: var(--jp-inverse-layout-color4);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {
stroke: var(--jp-inverse-layout-color0);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {
stroke: var(--jp-inverse-layout-color1);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {
stroke: var(--jp-inverse-layout-color2);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {
stroke: var(--jp-inverse-layout-color3);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {
stroke: var(--jp-inverse-layout-color4);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-IFrame {
width: 100%;
height: 100%;
}
.jp-IFrame > iframe {
border: none;
}
/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-IFrame {
position: relative;
}
body.lm-mod-override-cursor .jp-IFrame::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: transparent;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-HoverBox {
position: fixed;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-FormGroup-content fieldset {
border: none;
padding: 0;
min-width: 0;
width: 100%;
}
/* stylelint-disable selector-max-type */
.jp-FormGroup-content fieldset .jp-inputFieldWrapper input,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper select,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper textarea {
font-size: var(--jp-content-font-size2);
border-color: var(--jp-input-border-color);
border-style: solid;
border-radius: var(--jp-border-radius);
border-width: 1px;
padding: 6px 8px;
background: none;
color: var(--jp-ui-font-color0);
height: inherit;
}
.jp-FormGroup-content fieldset input[type='checkbox'] {
position: relative;
top: 2px;
margin-left: 0;
}
.jp-FormGroup-content button.jp-mod-styled {
cursor: pointer;
}
.jp-FormGroup-content .checkbox label {
cursor: pointer;
font-size: var(--jp-content-font-size1);
}
.jp-FormGroup-content .jp-root > fieldset > legend {
display: none;
}
.jp-FormGroup-content .jp-root > fieldset > p {
display: none;
}
/** copy of `input.jp-mod-styled:focus` style */
.jp-FormGroup-content fieldset input:focus,
.jp-FormGroup-content fieldset select:focus {
-moz-outline-radius: unset;
outline: var(--jp-border-width) solid var(--md-blue-500);
outline-offset: -1px;
box-shadow: inset 0 0 4px var(--md-blue-300);
}
.jp-FormGroup-content fieldset input:hover:not(:focus),
.jp-FormGroup-content fieldset select:hover:not(:focus) {
background-color: var(--jp-border-color2);
}
/* stylelint-enable selector-max-type */
.jp-FormGroup-content .checkbox .field-description {
/* Disable default description field for checkbox:
because other widgets do not have description fields,
we add descriptions to each widget on the field level.
*/
display: none;
}
.jp-FormGroup-content #root__description {
display: none;
}
.jp-FormGroup-content .jp-modifiedIndicator {
width: 5px;
background-color: var(--jp-brand-color2);
margin-top: 0;
margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
flex-shrink: 0;
}
.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {
background-color: var(--jp-error-color0);
margin-right: 0.5em;
}
/* RJSF ARRAY style */
.jp-arrayFieldWrapper legend {
font-size: var(--jp-content-font-size2);
color: var(--jp-ui-font-color0);
flex-basis: 100%;
padding: 4px 0;
font-weight: var(--jp-content-heading-font-weight);
border-bottom: 1px solid var(--jp-border-color2);
}
.jp-arrayFieldWrapper .field-description {
padding: 4px 0;
white-space: pre-wrap;
}
.jp-arrayFieldWrapper .array-item {
width: 100%;
border: 1px solid var(--jp-border-color2);
border-radius: 4px;
margin: 4px;
}
.jp-ArrayOperations {
display: flex;
margin-left: 8px;
}
.jp-ArrayOperationsButton {
margin: 2px;
}
.jp-ArrayOperationsButton .jp-icon3[fill] {
fill: var(--jp-ui-font-color0);
}
button.jp-ArrayOperationsButton.jp-mod-styled:disabled {
cursor: not-allowed;
opacity: 0.5;
}
/* RJSF form validation error */
.jp-FormGroup-content .validationErrors {
color: var(--jp-error-color0);
}
/* Hide panel level error as duplicated the field level error */
.jp-FormGroup-content .panel.errors {
display: none;
}
/* RJSF normal content (settings-editor) */
.jp-FormGroup-contentNormal {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {
margin-left: 7px;
color: var(--jp-ui-font-color0);
}
.jp-FormGroup-contentNormal .jp-FormGroup-description {
flex-basis: 100%;
padding: 4px 7px;
}
.jp-FormGroup-contentNormal .jp-FormGroup-default {
flex-basis: 100%;
padding: 4px 7px;
}
.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {
font-size: var(--jp-content-font-size1);
font-weight: normal;
min-width: 120px;
}
.jp-FormGroup-contentNormal fieldset:not(:first-child) {
margin-left: 7px;
}
.jp-FormGroup-contentNormal .field-array-of-string .array-item {
/* Display `jp-ArrayOperations` buttons side-by-side with content except
for small screens where flex-wrap will place them one below the other.
*/
display: flex;
align-items: center;
flex-wrap: wrap;
}
.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
margin-top: 2px;
}
/* RJSF compact content (metadata-form) */
.jp-FormGroup-content.jp-FormGroup-contentCompact {
width: 100%;
}
.jp-FormGroup-contentCompact .form-group {
display: flex;
padding: 0.5em 0.2em 0.5em 0;
}
.jp-FormGroup-contentCompact
.jp-FormGroup-compactTitle
.jp-FormGroup-description {
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color2);
}
.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {
padding-bottom: 0.3em;
}
.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {
width: 100%;
box-sizing: border-box;
}
.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {
padding-bottom: 7px;
}
.jp-FormGroup-contentCompact
.jp-objectFieldWrapper
.jp-objectFieldWrapper
.form-group {
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
margin-top: 2px;
}
.jp-FormGroup-contentCompact ul.error-detail {
margin-block-start: 0.5em;
margin-block-end: 0.5em;
padding-inline-start: 1em;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-SidePanel {
display: flex;
flex-direction: column;
min-width: var(--jp-sidebar-min-width);
overflow-y: auto;
color: var(--jp-ui-font-color1);
background: var(--jp-layout-color1);
font-size: var(--jp-ui-font-size1);
}
.jp-SidePanel-header {
flex: 0 0 auto;
display: flex;
border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
font-size: var(--jp-ui-font-size0);
font-weight: 600;
letter-spacing: 1px;
margin: 0;
padding: 2px;
text-transform: uppercase;
}
.jp-SidePanel-toolbar {
flex: 0 0 auto;
}
.jp-SidePanel-content {
flex: 1 1 auto;
}
.jp-SidePanel-toolbar,
.jp-AccordionPanel-toolbar {
height: var(--jp-private-toolbar-height);
}
.jp-SidePanel-toolbar.jp-Toolbar-micro {
display: none;
}
.lm-AccordionPanel .jp-AccordionPanel-title {
box-sizing: border-box;
line-height: 25px;
margin: 0;
display: flex;
align-items: center;
background: var(--jp-layout-color1);
color: var(--jp-ui-font-color1);
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
box-shadow: var(--jp-toolbar-box-shadow);
font-size: var(--jp-ui-font-size0);
}
.jp-AccordionPanel-title {
cursor: pointer;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
text-transform: uppercase;
}
.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {
/* Title is rotated for horizontal accordion panel using CSS */
display: block;
transform-origin: top left;
transform: rotate(-90deg) translate(-100%);
}
.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {
user-select: none;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {
transform: rotate(-90deg);
margin: auto 0;
height: 16px;
}
.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {
transform: rotate(0deg);
}
.lm-AccordionPanel .jp-AccordionPanel-toolbar {
background: none;
box-shadow: none;
border: none;
margin-left: auto;
}
.lm-AccordionPanel .lm-SplitPanel-handle:hover {
background: var(--jp-layout-color3);
}
.jp-text-truncated {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-Spinner {
position: absolute;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: var(--jp-layout-color0);
outline: none;
}
.jp-SpinnerContent {
font-size: 10px;
margin: 50px auto;
text-indent: -9999em;
width: 3em;
height: 3em;
border-radius: 50%;
background: var(--jp-brand-color3);
background: linear-gradient(
to right,
#f37626 10%,
rgba(255, 255, 255, 0) 42%
);
position: relative;
animation: load3 1s infinite linear, fadeIn 1s;
}
.jp-SpinnerContent::before {
width: 50%;
height: 50%;
background: #f37626;
border-radius: 100% 0 0;
position: absolute;
top: 0;
left: 0;
content: '';
}
.jp-SpinnerContent::after {
background: var(--jp-layout-color0);
width: 75%;
height: 75%;
border-radius: 50%;
content: '';
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes load3 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
button.jp-mod-styled {
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color0);
border: none;
box-sizing: border-box;
text-align: center;
line-height: 32px;
height: 32px;
padding: 0 12px;
letter-spacing: 0.8px;
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
}
input.jp-mod-styled {
background: var(--jp-input-background);
height: 28px;
box-sizing: border-box;
border: var(--jp-border-width) solid var(--jp-border-color1);
padding-left: 7px;
padding-right: 7px;
font-size: var(--jp-ui-font-size2);
color: var(--jp-ui-font-color0);
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
}
input[type='checkbox'].jp-mod-styled {
appearance: checkbox;
-webkit-appearance: checkbox;
-moz-appearance: checkbox;
height: auto;
}
input.jp-mod-styled:focus {
border: var(--jp-border-width) solid var(--md-blue-500);
box-shadow: inset 0 0 4px var(--md-blue-300);
}
.jp-select-wrapper {
display: flex;
position: relative;
flex-direction: column;
padding: 1px;
background-color: var(--jp-layout-color1);
box-sizing: border-box;
margin-bottom: 12px;
}
.jp-select-wrapper:not(.multiple) {
height: 28px;
}
.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {
border: var(--jp-border-width) solid var(--jp-input-active-border-color);
box-shadow: var(--jp-input-box-shadow);
background-color: var(--jp-input-active-background);
}
select.jp-mod-styled:hover {
cursor: pointer;
color: var(--jp-ui-font-color0);
background-color: var(--jp-input-hover-background);
box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
}
select.jp-mod-styled {
flex: 1 1 auto;
width: 100%;
font-size: var(--jp-ui-font-size2);
background: var(--jp-input-background);
color: var(--jp-ui-font-color0);
padding: 0 25px 0 8px;
border: var(--jp-border-width) solid var(--jp-input-border-color);
border-radius: 0;
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
}
select.jp-mod-styled:not([multiple]) {
height: 32px;
}
select.jp-mod-styled[multiple] {
max-height: 200px;
overflow-y: auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-switch {
display: flex;
align-items: center;
padding-left: 4px;
padding-right: 4px;
font-size: var(--jp-ui-font-size1);
background-color: transparent;
color: var(--jp-ui-font-color1);
border: none;
height: 20px;
}
.jp-switch:hover {
background-color: var(--jp-layout-color2);
}
.jp-switch-label {
margin-right: 5px;
font-family: var(--jp-ui-font-family);
}
.jp-switch-track {
cursor: pointer;
background-color: var(--jp-switch-color, var(--jp-border-color1));
-webkit-transition: 0.4s;
transition: 0.4s;
border-radius: 34px;
height: 16px;
width: 35px;
position: relative;
}
.jp-switch-track::before {
content: '';
position: absolute;
height: 10px;
width: 10px;
margin: 3px;
left: 0;
background-color: var(--jp-ui-inverse-font-color1);
-webkit-transition: 0.4s;
transition: 0.4s;
border-radius: 50%;
}
.jp-switch[aria-checked='true'] .jp-switch-track {
background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));
}
.jp-switch[aria-checked='true'] .jp-switch-track::before {
/* track width (35) - margins (3 + 3) - thumb width (10) */
left: 19px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
:root {
--jp-private-toolbar-height: calc(
28px + var(--jp-border-width)
); /* leave 28px for content */
}
.jp-Toolbar {
color: var(--jp-ui-font-color1);
flex: 0 0 auto;
display: flex;
flex-direction: row;
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
box-shadow: var(--jp-toolbar-box-shadow);
background: var(--jp-toolbar-background);
min-height: var(--jp-toolbar-micro-height);
padding: 2px;
z-index: 8;
overflow-x: hidden;
}
/* Toolbar items */
.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {
flex-grow: 1;
flex-shrink: 1;
}
.jp-Toolbar-item.jp-Toolbar-kernelStatus {
display: inline-block;
width: 32px;
background-repeat: no-repeat;
background-position: center;
background-size: 16px;
}
.jp-Toolbar > .jp-Toolbar-item {
flex: 0 0 auto;
display: flex;
padding-left: 1px;
padding-right: 1px;
font-size: var(--jp-ui-font-size1);
line-height: var(--jp-private-toolbar-height);
height: 100%;
}
/* Toolbar buttons */
/* This is the div we use to wrap the react component into a Widget */
div.jp-ToolbarButton {
color: transparent;
border: none;
box-sizing: border-box;
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
padding: 0;
margin: 0;
}
button.jp-ToolbarButtonComponent {
background: var(--jp-layout-color1);
border: none;
box-sizing: border-box;
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
padding: 0 6px;
margin: 0;
height: 24px;
border-radius: var(--jp-border-radius);
display: flex;
align-items: center;
text-align: center;
font-size: 14px;
min-width: unset;
min-height: unset;
}
button.jp-ToolbarButtonComponent:disabled {
opacity: 0.4;
}
button.jp-ToolbarButtonComponent > span {
padding: 0;
flex: 0 0 auto;
}
button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {
font-size: var(--jp-ui-font-size1);
line-height: 100%;
padding-left: 2px;
color: var(--jp-ui-font-color1);
font-family: var(--jp-ui-font-family);
}
#jp-main-dock-panel[data-mode='single-document']
.jp-MainAreaWidget
> .jp-Toolbar.jp-Toolbar-micro {
padding: 0;
min-height: 0;
}
#jp-main-dock-panel[data-mode='single-document']
.jp-MainAreaWidget
> .jp-Toolbar {
border: none;
box-shadow: none;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-WindowedPanel-outer {
position: relative;
overflow-y: auto;
}
.jp-WindowedPanel-inner {
position: relative;
}
.jp-WindowedPanel-window {
position: absolute;
left: 0;
right: 0;
overflow: visible;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/* Sibling imports */
body {
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
}
/* Disable native link decoration styles everywhere outside of dialog boxes */
a {
text-decoration: unset;
color: unset;
}
a:hover {
text-decoration: unset;
color: unset;
}
/* Accessibility for links inside dialog box text */
.jp-Dialog-content a {
text-decoration: revert;
color: var(--jp-content-link-color);
}
.jp-Dialog-content a:hover {
text-decoration: revert;
}
/* Styles for ui-components */
.jp-Button {
color: var(--jp-ui-font-color2);
border-radius: var(--jp-border-radius);
padding: 0 12px;
font-size: var(--jp-ui-font-size1);
/* Copy from blueprint 3 */
display: inline-flex;
flex-direction: row;
border: none;
cursor: pointer;
align-items: center;
justify-content: center;
text-align: left;
vertical-align: middle;
min-height: 30px;
min-width: 30px;
}
.jp-Button:disabled {
cursor: not-allowed;
}
.jp-Button:empty {
padding: 0 !important;
}
.jp-Button.jp-mod-small {
min-height: 24px;
min-width: 24px;
font-size: 12px;
padding: 0 7px;
}
/* Use our own theme for hover styles */
.jp-Button.jp-mod-minimal:hover {
background-color: var(--jp-layout-color2);
}
.jp-Button.jp-mod-minimal {
background: none;
}
.jp-InputGroup {
display: block;
position: relative;
}
.jp-InputGroup input {
box-sizing: border-box;
border: none;
border-radius: 0;
background-color: transparent;
color: var(--jp-ui-font-color0);
box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
padding-bottom: 0;
padding-top: 0;
padding-left: 10px;
padding-right: 28px;
position: relative;
width: 100%;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
font-size: 14px;
font-weight: 400;
height: 30px;
line-height: 30px;
outline: none;
vertical-align: middle;
}
.jp-InputGroup input:focus {
box-shadow: inset 0 0 0 var(--jp-border-width)
var(--jp-input-active-box-shadow-color),
inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}
.jp-InputGroup input:disabled {
cursor: not-allowed;
resize: block;
background-color: var(--jp-layout-color2);
color: var(--jp-ui-font-color2);
}
.jp-InputGroup input:disabled ~ span {
cursor: not-allowed;
color: var(--jp-ui-font-color2);
}
.jp-InputGroup input::placeholder,
input::placeholder {
color: var(--jp-ui-font-color2);
}
.jp-InputGroupAction {
position: absolute;
bottom: 1px;
right: 0;
padding: 6px;
}
.jp-HTMLSelect.jp-DefaultStyle select {
background-color: initial;
border: none;
border-radius: 0;
box-shadow: none;
color: var(--jp-ui-font-color0);
display: block;
font-size: var(--jp-ui-font-size1);
font-family: var(--jp-ui-font-family);
height: 24px;
line-height: 14px;
padding: 0 25px 0 10px;
text-align: left;
-moz-appearance: none;
-webkit-appearance: none;
}
.jp-HTMLSelect.jp-DefaultStyle select:disabled {
background-color: var(--jp-layout-color2);
color: var(--jp-ui-font-color2);
cursor: not-allowed;
resize: block;
}
.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {
cursor: not-allowed;
}
/* Use our own theme for hover and option styles */
/* stylelint-disable-next-line selector-max-type */
.jp-HTMLSelect.jp-DefaultStyle select:hover,
.jp-HTMLSelect.jp-DefaultStyle select > option {
background-color: var(--jp-layout-color2);
color: var(--jp-ui-font-color0);
}
select {
box-sizing: border-box;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/
.jp-StatusBar-Widget {
display: flex;
align-items: center;
background: var(--jp-layout-color2);
min-height: var(--jp-statusbar-height);
justify-content: space-between;
padding: 0 10px;
}
.jp-StatusBar-Left {
display: flex;
align-items: center;
flex-direction: row;
}
.jp-StatusBar-Middle {
display: flex;
align-items: center;
}
.jp-StatusBar-Right {
display: flex;
align-items: center;
flex-direction: row-reverse;
}
.jp-StatusBar-Item {
max-height: var(--jp-statusbar-height);
margin: 0 2px;
height: var(--jp-statusbar-height);
white-space: nowrap;
text-overflow: ellipsis;
color: var(--jp-ui-font-color1);
padding: 0 6px;
}
.jp-mod-highlighted:hover {
background-color: var(--jp-layout-color3);
}
.jp-mod-clicked {
background-color: var(--jp-brand-color1);
}
.jp-mod-clicked:hover {
background-color: var(--jp-brand-color0);
}
.jp-mod-clicked .jp-StatusBar-TextItem {
color: var(--jp-ui-inverse-font-color1);
}
.jp-StatusBar-HoverItem {
box-shadow: '0px 4px 4px rgba(0, 0, 0, 0.25)';
}
.jp-StatusBar-TextItem {
font-size: var(--jp-ui-font-size1);
font-family: var(--jp-ui-font-family);
line-height: 24px;
color: var(--jp-ui-font-color1);
}
.jp-StatusBar-GroupItem {
display: flex;
align-items: center;
flex-direction: row;
}
.jp-Statusbar-ProgressCircle svg {
display: block;
margin: 0 auto;
width: 16px;
height: 24px;
align-self: normal;
}
.jp-Statusbar-ProgressCircle path {
fill: var(--jp-inverse-layout-color3);
}
.jp-Statusbar-ProgressBar-progress-bar {
height: 10px;
width: 100px;
border: solid 0.25px var(--jp-brand-color2);
border-radius: 3px;
overflow: hidden;
align-self: center;
}
.jp-Statusbar-ProgressBar-progress-bar > div {
background-color: var(--jp-brand-color2);
background-image: linear-gradient(
-45deg,
rgba(255, 255, 255, 0.2) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, 0.2) 50%,
rgba(255, 255, 255, 0.2) 75%,
transparent 75%,
transparent
);
background-size: 40px 40px;
float: left;
width: 0%;
height: 100%;
font-size: 12px;
line-height: 14px;
color: #fff;
text-align: center;
animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;
}
.jp-Statusbar-ProgressBar-progress-bar p {
color: var(--jp-ui-font-color1);
font-family: var(--jp-ui-font-family);
font-size: var(--jp-ui-font-size1);
line-height: 10px;
width: 100px;
}
@keyframes jp-Statusbar-ExecutionTime-progress-bar {
0% {
background-position: 0 0;
}
100% {
background-position: 40px 40px;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
:root {
--jp-private-commandpalette-search-height: 28px;
}
/*-----------------------------------------------------------------------------
| Overall styles
|----------------------------------------------------------------------------*/
.lm-CommandPalette {
padding-bottom: 0;
color: var(--jp-ui-font-color1);
background: var(--jp-layout-color1);
/* This is needed so that all font sizing of children done in ems is
* relative to this base size */
font-size: var(--jp-ui-font-size1);
}
/*-----------------------------------------------------------------------------
| Modal variant
|----------------------------------------------------------------------------*/
.jp-ModalCommandPalette {
position: absolute;
z-index: 10000;
top: 38px;
left: 30%;
margin: 0;
padding: 4px;
width: 40%;
box-shadow: var(--jp-elevation-z4);
border-radius: 4px;
background: var(--jp-layout-color0);
}
.jp-ModalCommandPalette .lm-CommandPalette {
max-height: 40vh;
}
.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {
display: none;
}
.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {
display: none;
}
.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {
margin-left: 4px;
margin-right: 4px;
}
.jp-ModalCommandPalette
.lm-CommandPalette
.lm-CommandPalette-item.lm-mod-disabled {
display: none;
}
/*-----------------------------------------------------------------------------
| Search
|----------------------------------------------------------------------------*/
.lm-CommandPalette-search {
padding: 4px;
background-color: var(--jp-layout-color1);
z-index: 2;
}
.lm-CommandPalette-wrapper {
overflow: overlay;
padding: 0 9px;
background-color: var(--jp-input-active-background);
height: 30px;
box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
}
.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {
box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}
.jp-SearchIconGroup {
color: white;
background-color: var(--jp-brand-color1);
position: absolute;
top: 4px;
right: 4px;
padding: 5px 5px 1px;
}
.jp-SearchIconGroup svg {
height: 20px;
width: 20px;
}
.jp-SearchIconGroup .jp-icon3[fill] {
fill: var(--jp-layout-color0);
}
.lm-CommandPalette-input {
background: transparent;
width: calc(100% - 18px);
float: left;
border: none;
outline: none;
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color0);
line-height: var(--jp-private-commandpalette-search-height);
}
.lm-CommandPalette-input::-webkit-input-placeholder,
.lm-CommandPalette-input::-moz-placeholder,
.lm-CommandPalette-input:-ms-input-placeholder {
color: var(--jp-ui-font-color2);
font-size: var(--jp-ui-font-size1);
}
/*-----------------------------------------------------------------------------
| Results
|----------------------------------------------------------------------------*/
.lm-CommandPalette-header:first-child {
margin-top: 0;
}
.lm-CommandPalette-header {
border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
color: var(--jp-ui-font-color1);
cursor: pointer;
display: flex;
font-size: var(--jp-ui-font-size0);
font-weight: 600;
letter-spacing: 1px;
margin-top: 8px;
padding: 8px 0 8px 12px;
text-transform: uppercase;
}
.lm-CommandPalette-header.lm-mod-active {
background: var(--jp-layout-color2);
}
.lm-CommandPalette-header > mark {
background-color: transparent;
font-weight: bold;
color: var(--jp-ui-font-color1);
}
.lm-CommandPalette-item {
padding: 4px 12px 4px 4px;
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
font-weight: 400;
display: flex;
}
.lm-CommandPalette-item.lm-mod-disabled {
color: var(--jp-ui-font-color2);
}
.lm-CommandPalette-item.lm-mod-active {
color: var(--jp-ui-inverse-font-color1);
background: var(--jp-brand-color1);
}
.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {
color: var(--jp-ui-inverse-font-color0);
}
.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {
fill: var(--jp-layout-color0);
}
.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
color: var(--jp-ui-inverse-font-color1);
background: var(--jp-brand-color1);
}
.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
background: var(--jp-layout-color2);
}
.lm-CommandPalette-itemContent {
overflow: hidden;
}
.lm-CommandPalette-itemLabel > mark {
color: var(--jp-ui-font-color0);
background-color: transparent;
font-weight: bold;
}
.lm-CommandPalette-item.lm-mod-disabled mark {
color: var(--jp-ui-font-color2);
}
.lm-CommandPalette-item .lm-CommandPalette-itemIcon {
margin: 0 4px 0 0;
position: relative;
width: 16px;
top: 2px;
flex: 0 0 auto;
}
.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {
opacity: 0.6;
}
.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {
flex: 0 0 auto;
}
.lm-CommandPalette-itemCaption {
display: none;
}
.lm-CommandPalette-content {
background-color: var(--jp-layout-color1);
}
.lm-CommandPalette-content:empty::after {
content: 'No results';
margin: auto;
margin-top: 20px;
width: 100px;
display: block;
font-size: var(--jp-ui-font-size2);
font-family: var(--jp-ui-font-family);
font-weight: lighter;
}
.lm-CommandPalette-emptyMessage {
text-align: center;
margin-top: 24px;
line-height: 1.32;
padding: 0 8px;
color: var(--jp-content-font-color3);
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-Dialog {
position: absolute;
z-index: 10000;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
top: 0;
left: 0;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
background: var(--jp-dialog-background);
}
.jp-Dialog-content {
display: flex;
flex-direction: column;
margin-left: auto;
margin-right: auto;
background: var(--jp-layout-color1);
padding: 24px 24px 12px;
min-width: 300px;
min-height: 150px;
max-width: 1000px;
max-height: 500px;
box-sizing: border-box;
box-shadow: var(--jp-elevation-z20);
word-wrap: break-word;
border-radius: var(--jp-border-radius);
/* This is needed so that all font sizing of children done in ems is
* relative to this base size */
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color1);
resize: both;
}
.jp-Dialog-content.jp-Dialog-content-small {
max-width: 500px;
}
.jp-Dialog-button {
overflow: visible;
}
button.jp-Dialog-button:focus {
outline: 1px solid var(--jp-brand-color1);
outline-offset: 4px;
-moz-outline-radius: 0;
}
button.jp-Dialog-button:focus::-moz-focus-inner {
border: 0;
}
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
outline-offset: 4px;
-moz-outline-radius: 0;
}
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {
outline: 1px solid var(--jp-accept-color-normal, var(--jp-brand-color1));
}
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {
outline: 1px solid var(--jp-warn-color-normal, var(--jp-error-color1));
}
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
outline: 1px solid var(--jp-reject-color-normal, var(--md-grey-600));
}
button.jp-Dialog-close-button {
padding: 0;
height: 100%;
min-width: unset;
min-height: unset;
}
.jp-Dialog-header {
display: flex;
justify-content: space-between;
flex: 0 0 auto;
padding-bottom: 12px;
font-size: var(--jp-ui-font-size3);
font-weight: 400;
color: var(--jp-ui-font-color1);
}
.jp-Dialog-body {
display: flex;
flex-direction: column;
flex: 1 1 auto;
font-size: var(--jp-ui-font-size1);
background: var(--jp-layout-color1);
color: var(--jp-ui-font-color1);
overflow: auto;
}
.jp-Dialog-footer {
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
flex: 0 0 auto;
margin-left: -12px;
margin-right: -12px;
padding: 12px;
}
.jp-Dialog-checkbox {
padding-right: 5px;
}
.jp-Dialog-checkbox > input:focus-visible {
outline: 1px solid var(--jp-input-active-border-color);
outline-offset: 1px;
}
.jp-Dialog-spacer {
flex: 1 1 auto;
}
.jp-Dialog-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.jp-Dialog-body > .jp-select-wrapper {
width: 100%;
}
.jp-Dialog-body > button {
padding: 0 16px;
}
.jp-Dialog-body > label {
line-height: 1.4;
color: var(--jp-ui-font-color0);
}
.jp-Dialog-button.jp-mod-styled:not(:last-child) {
margin-right: 12px;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-Input-Boolean-Dialog {
flex-direction: row-reverse;
align-items: end;
width: 100%;
}
.jp-Input-Boolean-Dialog > label {
flex: 1 1 auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-MainAreaWidget > :focus {
outline: none;
}
.jp-MainAreaWidget .jp-MainAreaWidget-error {
padding: 6px;
}
.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {
width: auto;
padding: 10px;
background: var(--jp-error-color3);
border: var(--jp-border-width) solid var(--jp-error-color1);
border-radius: var(--jp-border-radius);
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
white-space: pre-wrap;
word-wrap: break-word;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/**
* google-material-color v1.2.6
* https://github.com/danlevan/google-material-color
*/
:root {
--md-red-50: #ffebee;
--md-red-100: #ffcdd2;
--md-red-200: #ef9a9a;
--md-red-300: #e57373;
--md-red-400: #ef5350;
--md-red-500: #f44336;
--md-red-600: #e53935;
--md-red-700: #d32f2f;
--md-red-800: #c62828;
--md-red-900: #b71c1c;
--md-red-A100: #ff8a80;
--md-red-A200: #ff5252;
--md-red-A400: #ff1744;
--md-red-A700: #d50000;
--md-pink-50: #fce4ec;
--md-pink-100: #f8bbd0;
--md-pink-200: #f48fb1;
--md-pink-300: #f06292;
--md-pink-400: #ec407a;
--md-pink-500: #e91e63;
--md-pink-600: #d81b60;
--md-pink-700: #c2185b;
--md-pink-800: #ad1457;
--md-pink-900: #880e4f;
--md-pink-A100: #ff80ab;
--md-pink-A200: #ff4081;
--md-pink-A400: #f50057;
--md-pink-A700: #c51162;
--md-purple-50: #f3e5f5;
--md-purple-100: #e1bee7;
--md-purple-200: #ce93d8;
--md-purple-300: #ba68c8;
--md-purple-400: #ab47bc;
--md-purple-500: #9c27b0;
--md-purple-600: #8e24aa;
--md-purple-700: #7b1fa2;
--md-purple-800: #6a1b9a;
--md-purple-900: #4a148c;
--md-purple-A100: #ea80fc;
--md-purple-A200: #e040fb;
--md-purple-A400: #d500f9;
--md-purple-A700: #a0f;
--md-deep-purple-50: #ede7f6;
--md-deep-purple-100: #d1c4e9;
--md-deep-purple-200: #b39ddb;
--md-deep-purple-300: #9575cd;
--md-deep-purple-400: #7e57c2;
--md-deep-purple-500: #673ab7;
--md-deep-purple-600: #5e35b1;
--md-deep-purple-700: #512da8;
--md-deep-purple-800: #4527a0;
--md-deep-purple-900: #311b92;
--md-deep-purple-A100: #b388ff;
--md-deep-purple-A200: #7c4dff;
--md-deep-purple-A400: #651fff;
--md-deep-purple-A700: #6200ea;
--md-indigo-50: #e8eaf6;
--md-indigo-100: #c5cae9;
--md-indigo-200: #9fa8da;
--md-indigo-300: #7986cb;
--md-indigo-400: #5c6bc0;
--md-indigo-500: #3f51b5;
--md-indigo-600: #3949ab;
--md-indigo-700: #303f9f;
--md-indigo-800: #283593;
--md-indigo-900: #1a237e;
--md-indigo-A100: #8c9eff;
--md-indigo-A200: #536dfe;
--md-indigo-A400: #3d5afe;
--md-indigo-A700: #304ffe;
--md-blue-50: #e3f2fd;
--md-blue-100: #bbdefb;
--md-blue-200: #90caf9;
--md-blue-300: #64b5f6;
--md-blue-400: #42a5f5;
--md-blue-500: #2196f3;
--md-blue-600: #1e88e5;
--md-blue-700: #1976d2;
--md-blue-800: #1565c0;
--md-blue-900: #0d47a1;
--md-blue-A100: #82b1ff;
--md-blue-A200: #448aff;
--md-blue-A400: #2979ff;
--md-blue-A700: #2962ff;
--md-light-blue-50: #e1f5fe;
--md-light-blue-100: #b3e5fc;
--md-light-blue-200: #81d4fa;
--md-light-blue-300: #4fc3f7;
--md-light-blue-400: #29b6f6;
--md-light-blue-500: #03a9f4;
--md-light-blue-600: #039be5;
--md-light-blue-700: #0288d1;
--md-light-blue-800: #0277bd;
--md-light-blue-900: #01579b;
--md-light-blue-A100: #80d8ff;
--md-light-blue-A200: #40c4ff;
--md-light-blue-A400: #00b0ff;
--md-light-blue-A700: #0091ea;
--md-cyan-50: #e0f7fa;
--md-cyan-100: #b2ebf2;
--md-cyan-200: #80deea;
--md-cyan-300: #4dd0e1;
--md-cyan-400: #26c6da;
--md-cyan-500: #00bcd4;
--md-cyan-600: #00acc1;
--md-cyan-700: #0097a7;
--md-cyan-800: #00838f;
--md-cyan-900: #006064;
--md-cyan-A100: #84ffff;
--md-cyan-A200: #18ffff;
--md-cyan-A400: #00e5ff;
--md-cyan-A700: #00b8d4;
--md-teal-50: #e0f2f1;
--md-teal-100: #b2dfdb;
--md-teal-200: #80cbc4;
--md-teal-300: #4db6ac;
--md-teal-400: #26a69a;
--md-teal-500: #009688;
--md-teal-600: #00897b;
--md-teal-700: #00796b;
--md-teal-800: #00695c;
--md-teal-900: #004d40;
--md-teal-A100: #a7ffeb;
--md-teal-A200: #64ffda;
--md-teal-A400: #1de9b6;
--md-teal-A700: #00bfa5;
--md-green-50: #e8f5e9;
--md-green-100: #c8e6c9;
--md-green-200: #a5d6a7;
--md-green-300: #81c784;
--md-green-400: #66bb6a;
--md-green-500: #4caf50;
--md-green-600: #43a047;
--md-green-700: #388e3c;
--md-green-800: #2e7d32;
--md-green-900: #1b5e20;
--md-green-A100: #b9f6ca;
--md-green-A200: #69f0ae;
--md-green-A400: #00e676;
--md-green-A700: #00c853;
--md-light-green-50: #f1f8e9;
--md-light-green-100: #dcedc8;
--md-light-green-200: #c5e1a5;
--md-light-green-300: #aed581;
--md-light-green-400: #9ccc65;
--md-light-green-500: #8bc34a;
--md-light-green-600: #7cb342;
--md-light-green-700: #689f38;
--md-light-green-800: #558b2f;
--md-light-green-900: #33691e;
--md-light-green-A100: #ccff90;
--md-light-green-A200: #b2ff59;
--md-light-green-A400: #76ff03;
--md-light-green-A700: #64dd17;
--md-lime-50: #f9fbe7;
--md-lime-100: #f0f4c3;
--md-lime-200: #e6ee9c;
--md-lime-300: #dce775;
--md-lime-400: #d4e157;
--md-lime-500: #cddc39;
--md-lime-600: #c0ca33;
--md-lime-700: #afb42b;
--md-lime-800: #9e9d24;
--md-lime-900: #827717;
--md-lime-A100: #f4ff81;
--md-lime-A200: #eeff41;
--md-lime-A400: #c6ff00;
--md-lime-A700: #aeea00;
--md-yellow-50: #fffde7;
--md-yellow-100: #fff9c4;
--md-yellow-200: #fff59d;
--md-yellow-300: #fff176;
--md-yellow-400: #ffee58;
--md-yellow-500: #ffeb3b;
--md-yellow-600: #fdd835;
--md-yellow-700: #fbc02d;
--md-yellow-800: #f9a825;
--md-yellow-900: #f57f17;
--md-yellow-A100: #ffff8d;
--md-yellow-A200: #ff0;
--md-yellow-A400: #ffea00;
--md-yellow-A700: #ffd600;
--md-amber-50: #fff8e1;
--md-amber-100: #ffecb3;
--md-amber-200: #ffe082;
--md-amber-300: #ffd54f;
--md-amber-400: #ffca28;
--md-amber-500: #ffc107;
--md-amber-600: #ffb300;
--md-amber-700: #ffa000;
--md-amber-800: #ff8f00;
--md-amber-900: #ff6f00;
--md-amber-A100: #ffe57f;
--md-amber-A200: #ffd740;
--md-amber-A400: #ffc400;
--md-amber-A700: #ffab00;
--md-orange-50: #fff3e0;
--md-orange-100: #ffe0b2;
--md-orange-200: #ffcc80;
--md-orange-300: #ffb74d;
--md-orange-400: #ffa726;
--md-orange-500: #ff9800;
--md-orange-600: #fb8c00;
--md-orange-700: #f57c00;
--md-orange-800: #ef6c00;
--md-orange-900: #e65100;
--md-orange-A100: #ffd180;
--md-orange-A200: #ffab40;
--md-orange-A400: #ff9100;
--md-orange-A700: #ff6d00;
--md-deep-orange-50: #fbe9e7;
--md-deep-orange-100: #ffccbc;
--md-deep-orange-200: #ffab91;
--md-deep-orange-300: #ff8a65;
--md-deep-orange-400: #ff7043;
--md-deep-orange-500: #ff5722;
--md-deep-orange-600: #f4511e;
--md-deep-orange-700: #e64a19;
--md-deep-orange-800: #d84315;
--md-deep-orange-900: #bf360c;
--md-deep-orange-A100: #ff9e80;
--md-deep-orange-A200: #ff6e40;
--md-deep-orange-A400: #ff3d00;
--md-deep-orange-A700: #dd2c00;
--md-brown-50: #efebe9;
--md-brown-100: #d7ccc8;
--md-brown-200: #bcaaa4;
--md-brown-300: #a1887f;
--md-brown-400: #8d6e63;
--md-brown-500: #795548;
--md-brown-600: #6d4c41;
--md-brown-700: #5d4037;
--md-brown-800: #4e342e;
--md-brown-900: #3e2723;
--md-grey-50: #fafafa;
--md-grey-100: #f5f5f5;
--md-grey-200: #eee;
--md-grey-300: #e0e0e0;
--md-grey-400: #bdbdbd;
--md-grey-500: #9e9e9e;
--md-grey-600: #757575;
--md-grey-700: #616161;
--md-grey-800: #424242;
--md-grey-900: #212121;
--md-blue-grey-50: #eceff1;
--md-blue-grey-100: #cfd8dc;
--md-blue-grey-200: #b0bec5;
--md-blue-grey-300: #90a4ae;
--md-blue-grey-400: #78909c;
--md-blue-grey-500: #607d8b;
--md-blue-grey-600: #546e7a;
--md-blue-grey-700: #455a64;
--md-blue-grey-800: #37474f;
--md-blue-grey-900: #263238;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| RenderedText
|----------------------------------------------------------------------------*/
:root {
/* This is the padding value to fill the gaps between lines containing spans with background color. */
--jp-private-code-span-padding: calc(
(var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
);
}
.jp-RenderedText {
text-align: left;
padding-left: var(--jp-code-padding);
line-height: var(--jp-code-line-height);
font-family: var(--jp-code-font-family);
}
.jp-RenderedText pre,
.jp-RenderedJavaScript pre,
.jp-RenderedHTMLCommon pre {
color: var(--jp-content-font-color1);
font-size: var(--jp-code-font-size);
border: none;
margin: 0;
padding: 0;
}
.jp-RenderedText pre a:link {
text-decoration: none;
color: var(--jp-content-link-color);
}
.jp-RenderedText pre a:hover {
text-decoration: underline;
color: var(--jp-content-link-color);
}
.jp-RenderedText pre a:visited {
text-decoration: none;
color: var(--jp-content-link-color);
}
/* console foregrounds and backgrounds */
.jp-RenderedText pre .ansi-black-fg {
color: #3e424d;
}
.jp-RenderedText pre .ansi-red-fg {
color: #e75c58;
}
.jp-RenderedText pre .ansi-green-fg {
color: #00a250;
}
.jp-RenderedText pre .ansi-yellow-fg {
color: #ddb62b;
}
.jp-RenderedText pre .ansi-blue-fg {
color: #208ffb;
}
.jp-RenderedText pre .ansi-magenta-fg {
color: #d160c4;
}
.jp-RenderedText pre .ansi-cyan-fg {
color: #60c6c8;
}
.jp-RenderedText pre .ansi-white-fg {
color: #c5c1b4;
}
.jp-RenderedText pre .ansi-black-bg {
background-color: #3e424d;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-red-bg {
background-color: #e75c58;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-green-bg {
background-color: #00a250;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-yellow-bg {
background-color: #ddb62b;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-blue-bg {
background-color: #208ffb;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-magenta-bg {
background-color: #d160c4;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-cyan-bg {
background-color: #60c6c8;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-white-bg {
background-color: #c5c1b4;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-black-intense-fg {
color: #282c36;
}
.jp-RenderedText pre .ansi-red-intense-fg {
color: #b22b31;
}
.jp-RenderedText pre .ansi-green-intense-fg {
color: #007427;
}
.jp-RenderedText pre .ansi-yellow-intense-fg {
color: #b27d12;
}
.jp-RenderedText pre .ansi-blue-intense-fg {
color: #0065ca;
}
.jp-RenderedText pre .ansi-magenta-intense-fg {
color: #a03196;
}
.jp-RenderedText pre .ansi-cyan-intense-fg {
color: #258f8f;
}
.jp-RenderedText pre .ansi-white-intense-fg {
color: #a1a6b2;
}
.jp-RenderedText pre .ansi-black-intense-bg {
background-color: #282c36;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-red-intense-bg {
background-color: #b22b31;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-green-intense-bg {
background-color: #007427;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-yellow-intense-bg {
background-color: #b27d12;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-blue-intense-bg {
background-color: #0065ca;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-magenta-intense-bg {
background-color: #a03196;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-cyan-intense-bg {
background-color: #258f8f;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-white-intense-bg {
background-color: #a1a6b2;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-default-inverse-fg {
color: var(--jp-ui-inverse-font-color0);
}
.jp-RenderedText pre .ansi-default-inverse-bg {
background-color: var(--jp-inverse-layout-color0);
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-bold {
font-weight: bold;
}
.jp-RenderedText pre .ansi-underline {
text-decoration: underline;
}
.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
background: var(--jp-rendermime-error-background);
padding-top: var(--jp-code-padding);
}
/*-----------------------------------------------------------------------------
| RenderedLatex
|----------------------------------------------------------------------------*/
.jp-RenderedLatex {
color: var(--jp-content-font-color1);
font-size: var(--jp-content-font-size1);
line-height: var(--jp-content-line-height);
}
/* Left-justify outputs.*/
.jp-OutputArea-output.jp-RenderedLatex {
padding: var(--jp-code-padding);
text-align: left;
}
/*-----------------------------------------------------------------------------
| RenderedHTML
|----------------------------------------------------------------------------*/
.jp-RenderedHTMLCommon {
color: var(--jp-content-font-color1);
font-family: var(--jp-content-font-family);
font-size: var(--jp-content-font-size1);
line-height: var(--jp-content-line-height);
/* Give a bit more R padding on Markdown text to keep line lengths reasonable */
padding-right: 20px;
}
.jp-RenderedHTMLCommon em {
font-style: italic;
}
.jp-RenderedHTMLCommon strong {
font-weight: bold;
}
.jp-RenderedHTMLCommon u {
text-decoration: underline;
}
.jp-RenderedHTMLCommon a:link {
text-decoration: none;
color: var(--jp-content-link-color);
}
.jp-RenderedHTMLCommon a:hover {
text-decoration: underline;
color: var(--jp-content-link-color);
}
.jp-RenderedHTMLCommon a:visited {
text-decoration: none;
color: var(--jp-content-link-color);
}
/* Headings */
.jp-RenderedHTMLCommon h1,
.jp-RenderedHTMLCommon h2,
.jp-RenderedHTMLCommon h3,
.jp-RenderedHTMLCommon h4,
.jp-RenderedHTMLCommon h5,
.jp-RenderedHTMLCommon h6 {
line-height: var(--jp-content-heading-line-height);
font-weight: var(--jp-content-heading-font-weight);
font-style: normal;
margin: var(--jp-content-heading-margin-top) 0
var(--jp-content-heading-margin-bottom) 0;
}
.jp-RenderedHTMLCommon h1:first-child,
.jp-RenderedHTMLCommon h2:first-child,
.jp-RenderedHTMLCommon h3:first-child,
.jp-RenderedHTMLCommon h4:first-child,
.jp-RenderedHTMLCommon h5:first-child,
.jp-RenderedHTMLCommon h6:first-child {
margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
}
.jp-RenderedHTMLCommon h1:last-child,
.jp-RenderedHTMLCommon h2:last-child,
.jp-RenderedHTMLCommon h3:last-child,
.jp-RenderedHTMLCommon h4:last-child,
.jp-RenderedHTMLCommon h5:last-child,
.jp-RenderedHTMLCommon h6:last-child {
margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
}
.jp-RenderedHTMLCommon h1 {
font-size: var(--jp-content-font-size5);
}
.jp-RenderedHTMLCommon h2 {
font-size: var(--jp-content-font-size4);
}
.jp-RenderedHTMLCommon h3 {
font-size: var(--jp-content-font-size3);
}
.jp-RenderedHTMLCommon h4 {
font-size: var(--jp-content-font-size2);
}
.jp-RenderedHTMLCommon h5 {
font-size: var(--jp-content-font-size1);
}
.jp-RenderedHTMLCommon h6 {
font-size: var(--jp-content-font-size0);
}
/* Lists */
/* stylelint-disable selector-max-type, selector-max-compound-selectors */
.jp-RenderedHTMLCommon ul:not(.list-inline),
.jp-RenderedHTMLCommon ol:not(.list-inline) {
padding-left: 2em;
}
.jp-RenderedHTMLCommon ul {
list-style: disc;
}
.jp-RenderedHTMLCommon ul ul {
list-style: square;
}
.jp-RenderedHTMLCommon ul ul ul {
list-style: circle;
}
.jp-RenderedHTMLCommon ol {
list-style: decimal;
}
.jp-RenderedHTMLCommon ol ol {
list-style: upper-alpha;
}
.jp-RenderedHTMLCommon ol ol ol {
list-style: lower-alpha;
}
.jp-RenderedHTMLCommon ol ol ol ol {
list-style: lower-roman;
}
.jp-RenderedHTMLCommon ol ol ol ol ol {
list-style: decimal;
}
.jp-RenderedHTMLCommon ol,
.jp-RenderedHTMLCommon ul {
margin-bottom: 1em;
}
.jp-RenderedHTMLCommon ul ul,
.jp-RenderedHTMLCommon ul ol,
.jp-RenderedHTMLCommon ol ul,
.jp-RenderedHTMLCommon ol ol {
margin-bottom: 0;
}
/* stylelint-enable selector-max-type, selector-max-compound-selectors */
.jp-RenderedHTMLCommon hr {
color: var(--jp-border-color2);
background-color: var(--jp-border-color1);
margin-top: 1em;
margin-bottom: 1em;
}
.jp-RenderedHTMLCommon > pre {
margin: 1.5em 2em;
}
.jp-RenderedHTMLCommon pre,
.jp-RenderedHTMLCommon code {
border: 0;
background-color: var(--jp-layout-color0);
color: var(--jp-content-font-color1);
font-family: var(--jp-code-font-family);
font-size: inherit;
line-height: var(--jp-code-line-height);
padding: 0;
white-space: pre-wrap;
}
.jp-RenderedHTMLCommon :not(pre) > code {
background-color: var(--jp-layout-color2);
padding: 1px 5px;
}
/* Tables */
.jp-RenderedHTMLCommon table {
border-collapse: collapse;
border-spacing: 0;
border: none;
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
table-layout: fixed;
margin-left: auto;
margin-bottom: 1em;
margin-right: auto;
}
.jp-RenderedHTMLCommon thead {
border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
vertical-align: bottom;
}
.jp-RenderedHTMLCommon td,
.jp-RenderedHTMLCommon th,
.jp-RenderedHTMLCommon tr {
vertical-align: middle;
padding: 0.5em;
line-height: normal;
white-space: normal;
max-width: none;
border: none;
}
.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
max-width: none;
}
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
text-align: right;
}
.jp-RenderedHTMLCommon th {
font-weight: bold;
}
.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
background: var(--jp-layout-color0);
}
.jp-RenderedHTMLCommon tbody tr:nth-child(even) {
background: var(--jp-rendermime-table-row-background);
}
.jp-RenderedHTMLCommon tbody tr:hover {
background: var(--jp-rendermime-table-row-hover-background);
}
.jp-RenderedHTMLCommon p {
text-align: left;
margin: 0;
margin-bottom: 1em;
}
.jp-RenderedHTMLCommon img {
-moz-force-broken-image-icon: 1;
}
/* Restrict to direct children as other images could be nested in other content. */
.jp-RenderedHTMLCommon > img {
display: block;
margin-left: 0;
margin-right: 0;
margin-bottom: 1em;
}
/* Change color behind transparent images if they need it... */
[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
background-color: var(--jp-inverse-layout-color1);
}
[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
background-color: var(--jp-inverse-layout-color1);
}
.jp-RenderedHTMLCommon img,
.jp-RenderedImage img,
.jp-RenderedHTMLCommon svg,
.jp-RenderedSVG svg {
max-width: 100%;
height: auto;
}
.jp-RenderedHTMLCommon img.jp-mod-unconfined,
.jp-RenderedImage img.jp-mod-unconfined,
.jp-RenderedHTMLCommon svg.jp-mod-unconfined,
.jp-RenderedSVG svg.jp-mod-unconfined {
max-width: none;
}
.jp-RenderedHTMLCommon .alert {
padding: var(--jp-notebook-padding);
border: var(--jp-border-width) solid transparent;
border-radius: var(--jp-border-radius);
margin-bottom: 1em;
}
.jp-RenderedHTMLCommon .alert-info {
color: var(--jp-info-color0);
background-color: var(--jp-info-color3);
border-color: var(--jp-info-color2);
}
.jp-RenderedHTMLCommon .alert-info hr {
border-color: var(--jp-info-color3);
}
.jp-RenderedHTMLCommon .alert-info > p:last-child,
.jp-RenderedHTMLCommon .alert-info > ul:last-child {
margin-bottom: 0;
}
.jp-RenderedHTMLCommon .alert-warning {
color: var(--jp-warn-color0);
background-color: var(--jp-warn-color3);
border-color: var(--jp-warn-color2);
}
.jp-RenderedHTMLCommon .alert-warning hr {
border-color: var(--jp-warn-color3);
}
.jp-RenderedHTMLCommon .alert-warning > p:last-child,
.jp-RenderedHTMLCommon .alert-warning > ul:last-child {
margin-bottom: 0;
}
.jp-RenderedHTMLCommon .alert-success {
color: var(--jp-success-color0);
background-color: var(--jp-success-color3);
border-color: var(--jp-success-color2);
}
.jp-RenderedHTMLCommon .alert-success hr {
border-color: var(--jp-success-color3);
}
.jp-RenderedHTMLCommon .alert-success > p:last-child,
.jp-RenderedHTMLCommon .alert-success > ul:last-child {
margin-bottom: 0;
}
.jp-RenderedHTMLCommon .alert-danger {
color: var(--jp-error-color0);
background-color: var(--jp-error-color3);
border-color: var(--jp-error-color2);
}
.jp-RenderedHTMLCommon .alert-danger hr {
border-color: var(--jp-error-color3);
}
.jp-RenderedHTMLCommon .alert-danger > p:last-child,
.jp-RenderedHTMLCommon .alert-danger > ul:last-child {
margin-bottom: 0;
}
.jp-RenderedHTMLCommon blockquote {
margin: 1em 2em;
padding: 0 1em;
border-left: 5px solid var(--jp-border-color2);
}
a.jp-InternalAnchorLink {
visibility: hidden;
margin-left: 8px;
color: var(--md-blue-800);
}
h1:hover .jp-InternalAnchorLink,
h2:hover .jp-InternalAnchorLink,
h3:hover .jp-InternalAnchorLink,
h4:hover .jp-InternalAnchorLink,
h5:hover .jp-InternalAnchorLink,
h6:hover .jp-InternalAnchorLink {
visibility: visible;
}
.jp-RenderedHTMLCommon kbd {
background-color: var(--jp-rendermime-table-row-background);
border: 1px solid var(--jp-border-color0);
border-bottom-color: var(--jp-border-color2);
border-radius: 3px;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
display: inline-block;
font-size: var(--jp-ui-font-size0);
line-height: 1em;
padding: 0.2em 0.5em;
}
/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.
* At the bottom of cells this is a bit too much as there is also spacing
* between cells. Going all the way to 0 gets too tight between markdown and
* code cells.
*/
.jp-RenderedHTMLCommon > *:last-child {
margin-bottom: 0.5em;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-cursor-backdrop {
position: fixed;
width: 200px;
height: 200px;
margin-top: -100px;
margin-left: -100px;
will-change: transform;
z-index: 100;
}
.lm-mod-drag-image {
will-change: transform;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-lineFormSearch {
padding: 4px 12px;
background-color: var(--jp-layout-color2);
box-shadow: var(--jp-toolbar-box-shadow);
z-index: 2;
font-size: var(--jp-ui-font-size1);
}
.jp-lineFormCaption {
font-size: var(--jp-ui-font-size0);
line-height: var(--jp-ui-font-size1);
margin-top: 4px;
color: var(--jp-ui-font-color0);
}
.jp-baseLineForm {
border: none;
border-radius: 0;
position: absolute;
background-size: 16px;
background-repeat: no-repeat;
background-position: center;
outline: none;
}
.jp-lineFormButtonContainer {
top: 4px;
right: 8px;
height: 24px;
padding: 0 12px;
width: 12px;
}
.jp-lineFormButtonIcon {
top: 0;
right: 0;
background-color: var(--jp-brand-color1);
height: 100%;
width: 100%;
box-sizing: border-box;
padding: 4px 6px;
}
.jp-lineFormButton {
top: 0;
right: 0;
background-color: transparent;
height: 100%;
width: 100%;
box-sizing: border-box;
}
.jp-lineFormWrapper {
overflow: hidden;
padding: 0 8px;
border: 1px solid var(--jp-border-color0);
background-color: var(--jp-input-active-background);
height: 22px;
}
.jp-lineFormWrapperFocusWithin {
border: var(--jp-border-width) solid var(--md-blue-500);
box-shadow: inset 0 0 4px var(--md-blue-300);
}
.jp-lineFormInput {
background: transparent;
width: 200px;
height: 100%;
border: none;
outline: none;
color: var(--jp-ui-font-color0);
line-height: 28px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-JSONEditor {
display: flex;
flex-direction: column;
width: 100%;
}
.jp-JSONEditor-host {
flex: 1 1 auto;
border: var(--jp-border-width) solid var(--jp-input-border-color);
border-radius: 0;
background: var(--jp-layout-color0);
min-height: 50px;
padding: 1px;
}
.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {
border-color: red;
outline-color: red;
}
.jp-JSONEditor-header {
display: flex;
flex: 1 0 auto;
padding: 0 0 0 12px;
}
.jp-JSONEditor-header label {
flex: 0 0 auto;
}
.jp-JSONEditor-commitButton {
height: 16px;
width: 16px;
background-size: 18px;
background-repeat: no-repeat;
background-position: center;
}
.jp-JSONEditor-host.jp-mod-focused {
background-color: var(--jp-input-active-background);
border: 1px solid var(--jp-input-active-border-color);
box-shadow: var(--jp-input-box-shadow);
}
.jp-Editor.jp-mod-dropTarget {
border: var(--jp-border-width) solid var(--jp-input-active-border-color);
box-shadow: var(--jp-input-box-shadow);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-DocumentSearch-input {
border: none;
outline: none;
color: var(--jp-ui-font-color0);
font-size: var(--jp-ui-font-size1);
background-color: var(--jp-layout-color0);
font-family: var(--jp-ui-font-family);
padding: 2px 1px;
resize: none;
}
.jp-DocumentSearch-overlay {
position: absolute;
background-color: var(--jp-toolbar-background);
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);
top: 0;
right: 0;
z-index: 7;
min-width: 405px;
padding: 2px;
font-size: var(--jp-ui-font-size1);
--jp-private-document-search-button-height: 20px;
}
.jp-DocumentSearch-overlay button {
background-color: var(--jp-toolbar-background);
outline: 0;
}
.jp-DocumentSearch-overlay button:hover {
background-color: var(--jp-layout-color2);
}
.jp-DocumentSearch-overlay button:active {
background-color: var(--jp-layout-color3);
}
.jp-DocumentSearch-overlay-row {
display: flex;
align-items: center;
margin-bottom: 2px;
}
.jp-DocumentSearch-button-content {
display: inline-block;
cursor: pointer;
box-sizing: border-box;
width: 100%;
height: 100%;
}
.jp-DocumentSearch-button-content svg {
width: 100%;
height: 100%;
}
.jp-DocumentSearch-input-wrapper {
border: var(--jp-border-width) solid var(--jp-border-color0);
display: flex;
background-color: var(--jp-layout-color0);
margin: 2px;
}
.jp-DocumentSearch-input-wrapper:focus-within {
border-color: var(--jp-cell-editor-active-border-color);
}
.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper {
all: initial;
overflow: hidden;
display: inline-block;
border: none;
box-sizing: border-box;
}
.jp-DocumentSearch-toggle-wrapper {
width: 14px;
height: 14px;
}
.jp-DocumentSearch-button-wrapper {
width: var(--jp-private-document-search-button-height);
height: var(--jp-private-document-search-button-height);
}
.jp-DocumentSearch-toggle-wrapper:focus,
.jp-DocumentSearch-button-wrapper:focus {
outline: var(--jp-border-width) solid
var(--jp-cell-editor-active-border-color);
outline-offset: -1px;
}
.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper,
.jp-DocumentSearch-button-content:focus {
outline: none;
}
.jp-DocumentSearch-toggle-placeholder {
width: 5px;
}
.jp-DocumentSearch-input-button::before {
display: block;
padding-top: 100%;
}
.jp-DocumentSearch-input-button-off {
opacity: var(--jp-search-toggle-off-opacity);
}
.jp-DocumentSearch-input-button-off:hover {
opacity: var(--jp-search-toggle-hover-opacity);
}
.jp-DocumentSearch-input-button-on {
opacity: var(--jp-search-toggle-on-opacity);
}
.jp-DocumentSearch-index-counter {
padding-left: 10px;
padding-right: 10px;
user-select: none;
min-width: 35px;
display: inline-block;
}
.jp-DocumentSearch-up-down-wrapper {
display: inline-block;
padding-right: 2px;
margin-left: auto;
white-space: nowrap;
}
.jp-DocumentSearch-spacer {
margin-left: auto;
}
.jp-DocumentSearch-up-down-wrapper button {
outline: 0;
border: none;
width: var(--jp-private-document-search-button-height);
height: var(--jp-private-document-search-button-height);
vertical-align: middle;
margin: 1px 5px 2px;
}
.jp-DocumentSearch-up-down-button:hover {
background-color: var(--jp-layout-color2);
}
.jp-DocumentSearch-up-down-button:active {
background-color: var(--jp-layout-color3);
}
.jp-DocumentSearch-filter-button {
border-radius: var(--jp-border-radius);
}
.jp-DocumentSearch-filter-button:hover {
background-color: var(--jp-layout-color2);
}
.jp-DocumentSearch-filter-button-enabled {
background-color: var(--jp-layout-color2);
}
.jp-DocumentSearch-filter-button-enabled:hover {
background-color: var(--jp-layout-color3);
}
.jp-DocumentSearch-search-options {
padding: 0 8px;
margin-left: 3px;
width: 100%;
display: grid;
justify-content: start;
grid-template-columns: 1fr 1fr;
align-items: center;
justify-items: stretch;
}
.jp-DocumentSearch-search-filter-disabled {
color: var(--jp-ui-font-color2);
}
.jp-DocumentSearch-search-filter {
display: flex;
align-items: center;
user-select: none;
}
.jp-DocumentSearch-regex-error {
color: var(--jp-error-color0);
}
.jp-DocumentSearch-replace-button-wrapper {
overflow: hidden;
display: inline-block;
box-sizing: border-box;
border: var(--jp-border-width) solid var(--jp-border-color0);
margin: auto 2px;
padding: 1px 4px;
height: calc(var(--jp-private-document-search-button-height) + 2px);
}
.jp-DocumentSearch-replace-button-wrapper:focus {
border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
}
.jp-DocumentSearch-replace-button {
display: inline-block;
text-align: center;
cursor: pointer;
box-sizing: border-box;
color: var(--jp-ui-font-color1);
/* height - 2 * (padding of wrapper) */
line-height: calc(var(--jp-private-document-search-button-height) - 2px);
width: 100%;
height: 100%;
}
.jp-DocumentSearch-replace-button:focus {
outline: none;
}
.jp-DocumentSearch-replace-wrapper-class {
margin-left: 14px;
display: flex;
}
.jp-DocumentSearch-replace-toggle {
border: none;
background-color: var(--jp-toolbar-background);
border-radius: var(--jp-border-radius);
}
.jp-DocumentSearch-replace-toggle:hover {
background-color: var(--jp-layout-color2);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.cm-editor {
line-height: var(--jp-code-line-height);
font-size: var(--jp-code-font-size);
font-family: var(--jp-code-font-family);
border: 0;
border-radius: 0;
height: auto;
/* Changed to auto to autogrow */
}
.cm-editor pre {
padding: 0 var(--jp-code-padding);
}
.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
background-color: var(--jp-layout-color0);
color: var(--jp-content-font-color1);
}
.jp-CodeMirrorEditor {
cursor: text;
}
/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
@media screen and (min-width: 2138px) and (max-width: 4319px) {
.jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
border-left: var(--jp-code-cursor-width1) solid
var(--jp-editor-cursor-color);
}
}
/* When zoomed out less than 33% */
@media screen and (min-width: 4320px) {
.jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
border-left: var(--jp-code-cursor-width2) solid
var(--jp-editor-cursor-color);
}
}
.cm-editor.jp-mod-readOnly .cm-cursor {
display: none;
}
.jp-CollaboratorCursor {
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: none;
border-bottom: 3px solid;
background-clip: content-box;
margin-left: -5px;
margin-right: -5px;
}
.cm-searching,
.cm-searching span {
/* `.cm-searching span`: we need to override syntax highlighting */
background-color: var(--jp-search-unselected-match-background-color);
color: var(--jp-search-unselected-match-color);
}
.cm-searching::selection,
.cm-searching span::selection {
background-color: var(--jp-search-unselected-match-background-color);
color: var(--jp-search-unselected-match-color);
}
.jp-current-match > .cm-searching,
.jp-current-match > .cm-searching span,
.cm-searching > .jp-current-match,
.cm-searching > .jp-current-match span {
background-color: var(--jp-search-selected-match-background-color);
color: var(--jp-search-selected-match-color);
}
.jp-current-match > .cm-searching::selection,
.cm-searching > .jp-current-match::selection,
.jp-current-match > .cm-searching span::selection {
background-color: var(--jp-search-selected-match-background-color);
color: var(--jp-search-selected-match-color);
}
.cm-trailingspace {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAsElEQVQIHQGlAFr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7+r3zKmT0/+pk9P/7+r3zAAAAAAAAAAABAAAAAAAAAAA6OPzM+/q9wAAAAAA6OPzMwAAAAAAAAAAAgAAAAAAAAAAGR8NiRQaCgAZIA0AGR8NiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQyoYJ/SY80UAAAAASUVORK5CYII=);
background-position: center left;
background-repeat: repeat-x;
}
.jp-CollaboratorCursor-hover {
position: absolute;
z-index: 1;
transform: translateX(-50%);
color: white;
border-radius: 3px;
padding-left: 4px;
padding-right: 4px;
padding-top: 1px;
padding-bottom: 1px;
text-align: center;
font-size: var(--jp-ui-font-size1);
white-space: nowrap;
}
.jp-CodeMirror-ruler {
border-left: 1px dashed var(--jp-border-color2);
}
/* Styles for shared cursors (remote cursor locations and selected ranges) */
.jp-CodeMirrorEditor .cm-ySelectionCaret {
position: relative;
border-left: 1px solid black;
margin-left: -1px;
margin-right: -1px;
box-sizing: border-box;
}
.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
white-space: nowrap;
position: absolute;
top: -1.15em;
padding-bottom: 0.05em;
left: -1px;
font-size: 0.95em;
font-family: var(--jp-ui-font-family);
font-weight: bold;
line-height: normal;
user-select: none;
color: white;
padding-left: 2px;
padding-right: 2px;
z-index: 101;
transition: opacity 0.3s ease-in-out;
}
.jp-CodeMirrorEditor .cm-ySelectionInfo {
transition-delay: 0.7s;
opacity: 0;
}
.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
opacity: 1;
transition-delay: 0s;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-MimeDocument {
outline: none;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
:root {
--jp-private-filebrowser-button-height: 28px;
--jp-private-filebrowser-button-width: 48px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-FileBrowser .jp-SidePanel-content {
display: flex;
flex-direction: column;
}
.jp-FileBrowser-toolbar.jp-Toolbar {
flex-wrap: wrap;
row-gap: 12px;
border-bottom: none;
height: auto;
margin: 8px 12px 0;
box-shadow: none;
padding: 0;
justify-content: flex-start;
}
.jp-FileBrowser-Panel {
flex: 1 1 auto;
display: flex;
flex-direction: column;
}
.jp-BreadCrumbs {
flex: 0 0 auto;
margin: 8px 12px;
}
.jp-BreadCrumbs-item {
margin: 0 2px;
padding: 0 2px;
border-radius: var(--jp-border-radius);
cursor: pointer;
}
.jp-BreadCrumbs-item:hover {
background-color: var(--jp-layout-color2);
}
.jp-BreadCrumbs-item:first-child {
margin-left: 0;
}
.jp-BreadCrumbs-item.jp-mod-dropTarget {
background-color: var(--jp-brand-color2);
opacity: 0.7;
}
/*-----------------------------------------------------------------------------
| Buttons
|----------------------------------------------------------------------------*/
.jp-FileBrowser-toolbar > .jp-Toolbar-item {
flex: 0 0 auto;
padding-left: 0;
padding-right: 2px;
align-items: center;
height: unset;
}
.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
width: 40px;
}
/*-----------------------------------------------------------------------------
| Other styles
|----------------------------------------------------------------------------*/
.jp-FileDialog.jp-mod-conflict input {
color: var(--jp-error-color1);
}
.jp-FileDialog .jp-new-name-title {
margin-top: 12px;
}
.jp-LastModified-hidden {
display: none;
}
.jp-FileSize-hidden {
display: none;
}
.jp-FileBrowser .lm-AccordionPanel > h3:first-child {
display: none;
}
/*-----------------------------------------------------------------------------
| DirListing
|----------------------------------------------------------------------------*/
.jp-DirListing {
flex: 1 1 auto;
display: flex;
flex-direction: column;
outline: 0;
}
.jp-DirListing-header {
flex: 0 0 auto;
display: flex;
flex-direction: row;
align-items: center;
overflow: hidden;
border-top: var(--jp-border-width) solid var(--jp-border-color2);
border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
box-shadow: var(--jp-toolbar-box-shadow);
z-index: 2;
}
.jp-DirListing-headerItem {
padding: 4px 12px 2px;
font-weight: 500;
}
.jp-DirListing-headerItem:hover {
background: var(--jp-layout-color2);
}
.jp-DirListing-headerItem.jp-id-name {
flex: 1 0 84px;
}
.jp-DirListing-headerItem.jp-id-modified {
flex: 0 0 112px;
border-left: var(--jp-border-width) solid var(--jp-border-color2);
text-align: right;
}
.jp-DirListing-headerItem.jp-id-filesize {
flex: 0 0 75px;
border-left: var(--jp-border-width) solid var(--jp-border-color2);
text-align: right;
}
.jp-id-narrow {
display: none;
flex: 0 0 5px;
padding: 4px;
border-left: var(--jp-border-width) solid var(--jp-border-color2);
text-align: right;
color: var(--jp-border-color2);
}
.jp-DirListing-narrow .jp-id-narrow {
display: block;
}
.jp-DirListing-narrow .jp-id-modified,
.jp-DirListing-narrow .jp-DirListing-itemModified {
display: none;
}
.jp-DirListing-headerItem.jp-mod-selected {
font-weight: 600;
}
/* increase specificity to override bundled default */
.jp-DirListing-content {
flex: 1 1 auto;
margin: 0;
padding: 0;
list-style-type: none;
overflow: auto;
background-color: var(--jp-layout-color1);
}
.jp-DirListing-content mark {
color: var(--jp-ui-font-color0);
background-color: transparent;
font-weight: bold;
}
.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {
color: var(--jp-ui-inverse-font-color0);
}
/* Style the directory listing content when a user drops a file to upload */
.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {
outline: 5px dashed rgba(128, 128, 128, 0.5);
outline-offset: -10px;
cursor: copy;
}
.jp-DirListing-item {
display: flex;
flex-direction: row;
align-items: center;
padding: 4px 12px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.jp-DirListing-checkboxWrapper {
/* Increases hit area of checkbox. */
padding: 4px;
}
.jp-DirListing-header
.jp-DirListing-checkboxWrapper
+ .jp-DirListing-headerItem {
padding-left: 4px;
}
.jp-DirListing-content .jp-DirListing-checkboxWrapper {
position: relative;
left: -4px;
margin: -4px 0 -4px -8px;
}
.jp-DirListing-checkboxWrapper.jp-mod-visible {
visibility: visible;
}
/* For devices that support hovering, hide checkboxes until hovered, selected...
*/
@media (hover: hover) {
.jp-DirListing-checkboxWrapper {
visibility: hidden;
}
.jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,
.jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {
visibility: visible;
}
}
.jp-DirListing-item[data-is-dot] {
opacity: 75%;
}
.jp-DirListing-item.jp-mod-selected {
color: var(--jp-ui-inverse-font-color1);
background: var(--jp-brand-color1);
}
.jp-DirListing-item.jp-mod-dropTarget {
background: var(--jp-brand-color3);
}
.jp-DirListing-item:hover:not(.jp-mod-selected) {
background: var(--jp-layout-color2);
}
.jp-DirListing-itemIcon {
flex: 0 0 20px;
margin-right: 4px;
}
.jp-DirListing-itemText {
flex: 1 0 64px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
user-select: none;
}
.jp-DirListing-itemText:focus {
outline-width: 2px;
outline-color: var(--jp-inverse-layout-color1);
outline-style: solid;
outline-offset: 1px;
}
.jp-DirListing-item.jp-mod-selected .jp-DirListing-itemText:focus {
outline-color: var(--jp-layout-color1);
}
.jp-DirListing-itemModified {
flex: 0 0 125px;
text-align: right;
}
.jp-DirListing-itemFileSize {
flex: 0 0 90px;
text-align: right;
}
.jp-DirListing-editor {
flex: 1 0 64px;
outline: none;
border: none;
color: var(--jp-ui-font-color1);
background-color: var(--jp-layout-color1);
}
.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {
color: var(--jp-success-color1);
content: '\25CF';
font-size: 8px;
position: absolute;
left: -8px;
}
.jp-DirListing-item.jp-mod-running.jp-mod-selected
.jp-DirListing-itemIcon::before {
color: var(--jp-ui-inverse-font-color1);
}
.jp-DirListing-item.lm-mod-drag-image,
.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {
font-size: var(--jp-ui-font-size1);
padding-left: 4px;
margin-left: 4px;
width: 160px;
background-color: var(--jp-ui-inverse-font-color2);
box-shadow: var(--jp-elevation-z2);
border-radius: 0;
color: var(--jp-ui-font-color1);
transform: translateX(-40%) translateY(-58%);
}
.jp-Document {
min-width: 120px;
min-height: 120px;
outline: none;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Main OutputArea
| OutputArea has a list of Outputs
|----------------------------------------------------------------------------*/
.jp-OutputArea {
overflow-y: auto;
}
.jp-OutputArea-child {
display: table;
table-layout: fixed;
width: 100%;
overflow: hidden;
}
.jp-OutputPrompt {
width: var(--jp-cell-prompt-width);
color: var(--jp-cell-outprompt-font-color);
font-family: var(--jp-cell-prompt-font-family);
padding: var(--jp-code-padding);
letter-spacing: var(--jp-cell-prompt-letter-spacing);
line-height: var(--jp-code-line-height);
font-size: var(--jp-code-font-size);
border: var(--jp-border-width) solid transparent;
opacity: var(--jp-cell-prompt-opacity);
/* Right align prompt text, don't wrap to handle large prompt numbers */
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
/* Disable text selection */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.jp-OutputArea-prompt {
display: table-cell;
vertical-align: top;
}
.jp-OutputArea-output {
display: table-cell;
width: 100%;
height: auto;
overflow: auto;
user-select: text;
-moz-user-select: text;
-webkit-user-select: text;
-ms-user-select: text;
}
.jp-OutputArea .jp-RenderedText {
padding-left: 1ch;
}
/**
* Prompt overlay.
*/
.jp-OutputArea-promptOverlay {
position: absolute;
top: 0;
width: var(--jp-cell-prompt-width);
height: 100%;
opacity: 0.5;
}
.jp-OutputArea-promptOverlay:hover {
background: var(--jp-layout-color2);
box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);
cursor: zoom-out;
}
.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay:hover {
cursor: zoom-in;
}
/**
* Isolated output.
*/
.jp-OutputArea-output.jp-mod-isolated {
width: 100%;
display: block;
}
/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
position: relative;
}
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: transparent;
}
/* pre */
.jp-OutputArea-output pre {
border: none;
margin: 0;
padding: 0;
overflow-x: auto;
overflow-y: auto;
word-break: break-all;
word-wrap: break-word;
white-space: pre-wrap;
}
/* tables */
.jp-OutputArea-output.jp-RenderedHTMLCommon table {
margin-left: 0;
margin-right: 0;
}
/* description lists */
.jp-OutputArea-output dl,
.jp-OutputArea-output dt,
.jp-OutputArea-output dd {
display: block;
}
.jp-OutputArea-output dl {
width: 100%;
overflow: hidden;
padding: 0;
margin: 0;
}
.jp-OutputArea-output dt {
font-weight: bold;
float: left;
width: 20%;
padding: 0;
margin: 0;
}
.jp-OutputArea-output dd {
float: left;
width: 80%;
padding: 0;
margin: 0;
}
.jp-TrimmedOutputs pre {
background: var(--jp-layout-color3);
font-size: calc(var(--jp-code-font-size) * 1.4);
text-align: center;
text-transform: uppercase;
}
/* Hide the gutter in case of
* - nested output areas (e.g. in the case of output widgets)
* - mirrored output areas
*/
.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
display: none;
}
/* Hide empty lines in the output area, for instance due to cleared widgets */
.jp-OutputArea-prompt:empty {
padding: 0;
border: 0;
}
/*-----------------------------------------------------------------------------
| executeResult is added to any Output-result for the display of the object
| returned by a cell
|----------------------------------------------------------------------------*/
.jp-OutputArea-output.jp-OutputArea-executeResult {
margin-left: 0;
width: 100%;
}
/* Text output with the Out[] prompt needs a top padding to match the
* alignment of the Out[] prompt itself.
*/
.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {
padding-top: var(--jp-code-padding);
border-top: var(--jp-border-width) solid transparent;
}
/*-----------------------------------------------------------------------------
| The Stdin output
|----------------------------------------------------------------------------*/
.jp-Stdin-prompt {
color: var(--jp-content-font-color0);
padding-right: var(--jp-code-padding);
vertical-align: baseline;
flex: 0 0 auto;
}
.jp-Stdin-input {
font-family: var(--jp-code-font-family);
font-size: inherit;
color: inherit;
background-color: inherit;
width: 42%;
min-width: 200px;
/* make sure input baseline aligns with prompt */
vertical-align: baseline;
/* padding + margin = 0.5em between prompt and cursor */
padding: 0 0.25em;
margin: 0 0.25em;
flex: 0 0 70%;
}
.jp-Stdin-input::placeholder {
opacity: 0;
}
.jp-Stdin-input:focus {
box-shadow: none;
}
.jp-Stdin-input:focus::placeholder {
opacity: 1;
}
/*-----------------------------------------------------------------------------
| Output Area View
|----------------------------------------------------------------------------*/
.jp-LinkedOutputView .jp-OutputArea {
height: 100%;
display: block;
}
.jp-LinkedOutputView .jp-OutputArea-output:only-child {
height: 100%;
}
/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/
@media print {
.jp-OutputArea-child {
break-inside: avoid-page;
}
}
/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
.jp-OutputPrompt {
display: table-row;
text-align: left;
}
.jp-OutputArea-child .jp-OutputArea-output {
display: table-row;
margin-left: var(--jp-notebook-padding);
}
}
/* Trimmed outputs warning */
.jp-TrimmedOutputs > a {
margin: 10px;
text-decoration: none;
cursor: pointer;
}
.jp-TrimmedOutputs > a:hover {
text-decoration: none;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Table of Contents
|----------------------------------------------------------------------------*/
:root {
--jp-private-toc-active-width: 4px;
}
.jp-TableOfContents {
display: flex;
flex-direction: column;
background: var(--jp-layout-color1);
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
height: 100%;
}
.jp-TableOfContents-placeholder {
text-align: center;
}
.jp-TableOfContents-placeholderContent {
color: var(--jp-content-font-color2);
padding: 8px;
}
.jp-TableOfContents-placeholderContent > h3 {
margin-bottom: var(--jp-content-heading-margin-bottom);
}
.jp-TableOfContents .jp-SidePanel-content {
overflow-y: auto;
}
.jp-TableOfContents-tree {
margin: 4px;
}
.jp-TableOfContents ol {
list-style-type: none;
}
/* stylelint-disable-next-line selector-max-type */
.jp-TableOfContents li > ol {
/* Align left border with triangle icon center */
padding-left: 11px;
}
.jp-TableOfContents-content {
/* left margin for the active heading indicator */
margin: 0 0 0 var(--jp-private-toc-active-width);
padding: 0;
background-color: var(--jp-layout-color1);
}
.jp-tocItem {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.jp-tocItem-heading {
display: flex;
cursor: pointer;
}
.jp-tocItem-heading:hover {
background-color: var(--jp-layout-color2);
}
.jp-tocItem-content {
display: block;
padding: 4px 0;
white-space: nowrap;
text-overflow: ellipsis;
overflow-x: hidden;
}
.jp-tocItem-collapser {
height: 20px;
margin: 2px 2px 0;
padding: 0;
background: none;
border: none;
cursor: pointer;
}
.jp-tocItem-collapser:hover {
background-color: var(--jp-layout-color3);
}
/* Active heading indicator */
.jp-tocItem-heading::before {
content: ' ';
background: transparent;
width: var(--jp-private-toc-active-width);
height: 24px;
position: absolute;
left: 0;
border-radius: var(--jp-border-radius);
}
.jp-tocItem-heading.jp-tocItem-active::before {
background-color: var(--jp-brand-color1);
}
.jp-tocItem-heading:hover.jp-tocItem-active::before {
background: var(--jp-brand-color0);
opacity: 1;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-Collapser {
flex: 0 0 var(--jp-cell-collapser-width);
padding: 0;
margin: 0;
border: none;
outline: none;
background: transparent;
border-radius: var(--jp-border-radius);
opacity: 1;
}
.jp-Collapser-child {
display: block;
width: 100%;
box-sizing: border-box;
/* height: 100% doesn't work because the height of its parent is computed from content */
position: absolute;
top: 0;
bottom: 0;
}
/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/
/*
Hiding collapsers in print mode.
Note: input and output wrappers have "display: block" propery in print mode.
*/
@media print {
.jp-Collapser {
display: none;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Header/Footer
|----------------------------------------------------------------------------*/
/* Hidden by zero height by default */
.jp-CellHeader,
.jp-CellFooter {
height: 0;
width: 100%;
padding: 0;
margin: 0;
border: none;
outline: none;
background: transparent;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Input
|----------------------------------------------------------------------------*/
/* All input areas */
.jp-InputArea {
display: table;
table-layout: fixed;
width: 100%;
overflow: hidden;
}
.jp-InputArea-editor {
display: table-cell;
overflow: hidden;
vertical-align: top;
/* This is the non-active, default styling */
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
border-radius: 0;
background: var(--jp-cell-editor-background);
}
.jp-InputPrompt {
display: table-cell;
vertical-align: top;
width: var(--jp-cell-prompt-width);
color: var(--jp-cell-inprompt-font-color);
font-family: var(--jp-cell-prompt-font-family);
padding: var(--jp-code-padding);
letter-spacing: var(--jp-cell-prompt-letter-spacing);
opacity: var(--jp-cell-prompt-opacity);
line-height: var(--jp-code-line-height);
font-size: var(--jp-code-font-size);
border: var(--jp-border-width) solid transparent;
/* Right align prompt text, don't wrap to handle large prompt numbers */
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
/* Disable text selection */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
.jp-InputArea-editor {
display: table-row;
margin-left: var(--jp-notebook-padding);
}
.jp-InputPrompt {
display: table-row;
text-align: left;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/
.jp-Placeholder {
display: table;
table-layout: fixed;
width: 100%;
}
.jp-Placeholder-prompt {
display: table-cell;
box-sizing: border-box;
}
.jp-Placeholder-content {
display: table-cell;
padding: 4px 6px;
border: 1px solid transparent;
border-radius: 0;
background: none;
box-sizing: border-box;
cursor: pointer;
}
.jp-Placeholder-contentContainer {
display: flex;
}
.jp-Placeholder-content:hover,
.jp-InputPlaceholder > .jp-Placeholder-content:hover {
border-color: var(--jp-layout-color3);
}
.jp-Placeholder-content .jp-MoreHorizIcon {
width: 32px;
height: 16px;
border: 1px solid transparent;
border-radius: var(--jp-border-radius);
}
.jp-Placeholder-content .jp-MoreHorizIcon:hover {
border: 1px solid var(--jp-border-color1);
box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
background-color: var(--jp-layout-color0);
}
.jp-PlaceholderText {
white-space: nowrap;
overflow-x: hidden;
color: var(--jp-inverse-layout-color3);
font-family: var(--jp-code-font-family);
}
.jp-InputPlaceholder > .jp-Placeholder-content {
border-color: var(--jp-cell-editor-border-color);
background: var(--jp-cell-editor-background);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Private CSS variables
|----------------------------------------------------------------------------*/
:root {
--jp-private-cell-scrolling-output-offset: 5px;
}
/*-----------------------------------------------------------------------------
| Cell
|----------------------------------------------------------------------------*/
.jp-Cell {
padding: var(--jp-cell-padding);
margin: 0;
border: none;
outline: none;
background: transparent;
}
/*-----------------------------------------------------------------------------
| Common input/output
|----------------------------------------------------------------------------*/
.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
display: flex;
flex-direction: row;
padding: 0;
margin: 0;
/* Added to reveal the box-shadow on the input and output collapsers. */
overflow: visible;
}
/* Only input/output areas inside cells */
.jp-Cell-inputArea,
.jp-Cell-outputArea {
flex: 1 1 auto;
}
/*-----------------------------------------------------------------------------
| Collapser
|----------------------------------------------------------------------------*/
/* Make the output collapser disappear when there is not output, but do so
* in a manner that leaves it in the layout and preserves its width.
*/
.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {
border: none !important;
background: transparent !important;
}
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {
min-height: var(--jp-cell-collapser-min-height);
}
/*-----------------------------------------------------------------------------
| Output
|----------------------------------------------------------------------------*/
/* Put a space between input and output when there IS output */
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
margin-top: 5px;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
overflow-y: auto;
max-height: 24em;
margin-left: var(--jp-private-cell-scrolling-output-offset);
resize: vertical;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {
max-height: unset;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
content: ' ';
box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
width: 100%;
height: 100%;
position: sticky;
bottom: 0;
top: 0;
margin-top: -50%;
float: left;
display: block;
pointer-events: none;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
padding-top: 6px;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
width: calc(
var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)
);
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {
left: calc(-1 * var(--jp-private-cell-scrolling-output-offset));
}
/*-----------------------------------------------------------------------------
| CodeCell
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| MarkdownCell
|----------------------------------------------------------------------------*/
.jp-MarkdownOutput {
display: table-cell;
width: 100%;
margin-top: 0;
margin-bottom: 0;
padding-left: var(--jp-code-padding);
}
.jp-MarkdownOutput.jp-RenderedHTMLCommon {
overflow: auto;
}
/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
.jp-collapseHeadingButton {
display: flex;
min-height: var(--jp-cell-collapser-min-height);
font-size: var(--jp-code-font-size);
position: absolute;
background-color: transparent;
background-size: 25px;
background-repeat: no-repeat;
background-position-x: center;
background-position-y: top;
background-image: var(--jp-icon-caret-down);
right: 0;
top: 0;
bottom: 0;
}
.jp-collapseHeadingButton.jp-mod-collapsed {
background-image: var(--jp-icon-caret-right);
}
/*
set the container font size to match that of content
so that the nested collapse buttons have the right size
*/
.jp-MarkdownCell .jp-InputPrompt {
font-size: var(--jp-content-font-size1);
}
/*
Align collapseHeadingButton with cell top header
The font sizes are identical to the ones in packages/rendermime/style/base.css
*/
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
font-size: var(--jp-content-font-size5);
background-position-y: calc(0.3 * var(--jp-content-font-size5));
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
font-size: var(--jp-content-font-size4);
background-position-y: calc(0.3 * var(--jp-content-font-size4));
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
font-size: var(--jp-content-font-size3);
background-position-y: calc(0.3 * var(--jp-content-font-size3));
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
font-size: var(--jp-content-font-size2);
background-position-y: calc(0.3 * var(--jp-content-font-size2));
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
font-size: var(--jp-content-font-size1);
background-position-y: top;
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
font-size: var(--jp-content-font-size0);
background-position-y: top;
}
/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {
display: none;
}
.jp-Notebook.jp-mod-showHiddenCellsButton
:is(.jp-MarkdownCell:hover, .jp-mod-active)
.jp-collapseHeadingButton {
display: flex;
}
/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which
is a consequence of the showHiddenCellsButton option in Notebook Settings)*/
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {
margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
margin-top: var(--jp-code-padding);
border: 1px solid var(--jp-border-color2);
background-color: var(--jp-border-color3) !important;
color: var(--jp-content-font-color0) !important;
display: flex;
}
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {
background-color: var(--jp-border-color2) !important;
}
.jp-showHiddenCellsButton {
display: none;
}
/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/
/*
Using block instead of flex to allow the use of the break-inside CSS property for
cell outputs.
*/
@media print {
.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
display: block;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
:root {
--jp-notebook-toolbar-padding: 2px 5px 2px 2px;
}
/*-----------------------------------------------------------------------------
/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/
.jp-NotebookPanel-toolbar {
padding: var(--jp-notebook-toolbar-padding);
/* disable paint containment from lumino 2.0 default strict CSS containment */
contain: style size !important;
}
.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused {
border: none;
box-shadow: none;
}
.jp-Notebook-toolbarCellTypeDropdown select {
height: 24px;
font-size: var(--jp-ui-font-size1);
line-height: 14px;
border-radius: 0;
display: block;
}
.jp-Notebook-toolbarCellTypeDropdown span {
top: 5px !important;
}
.jp-Toolbar-responsive-popup {
position: absolute;
height: fit-content;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-end;
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
box-shadow: var(--jp-toolbar-box-shadow);
background: var(--jp-toolbar-background);
min-height: var(--jp-toolbar-micro-height);
padding: var(--jp-notebook-toolbar-padding);
z-index: 1;
right: 0;
top: 0;
}
.jp-Toolbar > .jp-Toolbar-responsive-opener {
margin-left: auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/
.jp-Notebook-ExecutionIndicator {
position: relative;
display: inline-block;
height: 100%;
z-index: 9997;
}
.jp-Notebook-ExecutionIndicator-tooltip {
visibility: hidden;
height: auto;
width: max-content;
width: -moz-max-content;
background-color: var(--jp-layout-color2);
color: var(--jp-ui-font-color1);
text-align: justify;
border-radius: 6px;
padding: 0 5px;
position: fixed;
display: table;
}
.jp-Notebook-ExecutionIndicator-tooltip.up {
transform: translateX(-50%) translateY(-100%) translateY(-32px);
}
.jp-Notebook-ExecutionIndicator-tooltip.down {
transform: translateX(calc(-100% + 16px)) translateY(5px);
}
.jp-Notebook-ExecutionIndicator-tooltip.hidden {
display: none;
}
.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
visibility: visible;
}
.jp-Notebook-ExecutionIndicator span {
font-size: var(--jp-ui-font-size1);
font-family: var(--jp-ui-font-family);
color: var(--jp-ui-font-color1);
line-height: 24px;
display: block;
}
.jp-Notebook-ExecutionIndicator-progress-bar {
display: flex;
justify-content: center;
height: 100%;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*
* Execution indicator
*/
.jp-tocItem-content::after {
content: '';
/* Must be identical to form a circle */
width: 12px;
height: 12px;
background: none;
border: none;
position: absolute;
right: 0;
}
.jp-tocItem-content[data-running='0']::after {
border-radius: 50%;
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
background: none;
}
.jp-tocItem-content[data-running='1']::after {
border-radius: 50%;
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
background-color: var(--jp-inverse-layout-color3);
}
.jp-tocItem-content[data-running='0'],
.jp-tocItem-content[data-running='1'] {
margin-right: 12px;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-Notebook-footer {
height: 27px;
margin-left: calc(
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
var(--jp-cell-padding)
);
width: calc(
100% -
(
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
var(--jp-cell-padding) + var(--jp-cell-padding)
)
);
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
color: var(--jp-ui-font-color3);
margin-top: 6px;
background: none;
cursor: pointer;
}
.jp-Notebook-footer:focus {
border-color: var(--jp-cell-editor-active-border-color);
}
/* For devices that support hovering, hide footer until hover */
@media (hover: hover) {
.jp-Notebook-footer {
opacity: 0;
}
.jp-Notebook-footer:focus,
.jp-Notebook-footer:hover {
opacity: 1;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Imports
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| CSS variables
|----------------------------------------------------------------------------*/
:root {
--jp-side-by-side-output-size: 1fr;
--jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
--jp-private-notebook-dragImage-width: 304px;
--jp-private-notebook-dragImage-height: 36px;
--jp-private-notebook-selected-color: var(--md-blue-400);
--jp-private-notebook-active-color: var(--md-green-400);
}
/*-----------------------------------------------------------------------------
| Notebook
|----------------------------------------------------------------------------*/
/* stylelint-disable selector-max-class */
.jp-NotebookPanel {
display: block;
height: 100%;
}
.jp-NotebookPanel.jp-Document {
min-width: 240px;
min-height: 120px;
}
.jp-Notebook {
padding: var(--jp-notebook-padding);
outline: none;
overflow: auto;
background: var(--jp-layout-color0);
}
.jp-Notebook.jp-mod-scrollPastEnd::after {
display: block;
content: '';
min-height: var(--jp-notebook-scroll-padding);
}
.jp-MainAreaWidget-ContainStrict .jp-Notebook * {
contain: strict;
}
.jp-Notebook .jp-Cell {
overflow: visible;
}
.jp-Notebook .jp-Cell .jp-InputPrompt {
cursor: move;
}
/*-----------------------------------------------------------------------------
| Notebook state related styling
|
| The notebook and cells each have states, here are the possibilities:
|
| - Notebook
| - Command
| - Edit
| - Cell
| - None
| - Active (only one can be active)
| - Selected (the cells actions are applied to)
| - Multiselected (when multiple selected, the cursor)
| - No outputs
|----------------------------------------------------------------------------*/
/* Command or edit modes */
.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
opacity: var(--jp-cell-prompt-not-active-opacity);
color: var(--jp-cell-prompt-not-active-font-color);
}
.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
opacity: var(--jp-cell-prompt-not-active-opacity);
color: var(--jp-cell-prompt-not-active-font-color);
}
/* cell is active */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {
background: var(--jp-brand-color1);
}
/* cell is dirty */
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {
color: var(--jp-warn-color1);
}
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {
color: var(--jp-warn-color1);
content: '•';
}
.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {
background: var(--jp-warn-color1);
}
/* collapser is hovered */
.jp-Notebook .jp-Cell .jp-Collapser:hover {
box-shadow: var(--jp-elevation-z2);
background: var(--jp-brand-color1);
opacity: var(--jp-cell-collapser-not-active-hover-opacity);
}
/* cell is active and collapser is hovered */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {
background: var(--jp-brand-color0);
opacity: 1;
}
/* Command mode */
.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {
background: var(--jp-notebook-multiselected-color);
}
.jp-Notebook.jp-mod-commandMode
.jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
background: transparent;
}
/* Edit mode */
.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
box-shadow: var(--jp-input-box-shadow);
background-color: var(--jp-cell-editor-active-background);
}
/*-----------------------------------------------------------------------------
| Notebook drag and drop
|----------------------------------------------------------------------------*/
.jp-Notebook-cell.jp-mod-dropSource {
opacity: 0.5;
}
.jp-Notebook-cell.jp-mod-dropTarget,
.jp-Notebook.jp-mod-commandMode
.jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
border-top-color: var(--jp-private-notebook-selected-color);
border-top-style: solid;
border-top-width: 2px;
}
.jp-dragImage {
display: block;
flex-direction: row;
width: var(--jp-private-notebook-dragImage-width);
height: var(--jp-private-notebook-dragImage-height);
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
background: var(--jp-cell-editor-background);
overflow: visible;
}
.jp-dragImage-singlePrompt {
box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}
.jp-dragImage .jp-dragImage-content {
flex: 1 1 auto;
z-index: 2;
font-size: var(--jp-code-font-size);
font-family: var(--jp-code-font-family);
line-height: var(--jp-code-line-height);
padding: var(--jp-code-padding);
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
background: var(--jp-cell-editor-background-color);
color: var(--jp-content-font-color3);
text-align: left;
margin: 4px 4px 4px 0;
}
.jp-dragImage .jp-dragImage-prompt {
flex: 0 0 auto;
min-width: 36px;
color: var(--jp-cell-inprompt-font-color);
padding: var(--jp-code-padding);
padding-left: 12px;
font-family: var(--jp-cell-prompt-font-family);
letter-spacing: var(--jp-cell-prompt-letter-spacing);
line-height: 1.9;
font-size: var(--jp-code-font-size);
border: var(--jp-border-width) solid transparent;
}
.jp-dragImage-multipleBack {
z-index: -1;
position: absolute;
height: 32px;
width: 300px;
top: 8px;
left: 8px;
background: var(--jp-layout-color2);
border: var(--jp-border-width) solid var(--jp-input-border-color);
box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}
/*-----------------------------------------------------------------------------
| Cell toolbar
|----------------------------------------------------------------------------*/
.jp-NotebookTools {
display: block;
min-width: var(--jp-sidebar-min-width);
color: var(--jp-ui-font-color1);
background: var(--jp-layout-color1);
/* This is needed so that all font sizing of children done in ems is
* relative to this base size */
font-size: var(--jp-ui-font-size1);
overflow: auto;
}
.jp-ActiveCellTool {
padding: 12px 0;
display: flex;
}
.jp-ActiveCellTool-Content {
flex: 1 1 auto;
}
.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {
background: var(--jp-cell-editor-background);
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
border-radius: 0;
min-height: 29px;
}
.jp-ActiveCellTool .jp-InputPrompt {
min-width: calc(var(--jp-cell-prompt-width) * 0.75);
}
.jp-ActiveCellTool-CellContent > pre {
padding: 5px 4px;
margin: 0;
white-space: normal;
}
.jp-MetadataEditorTool {
flex-direction: column;
padding: 12px 0;
}
.jp-RankedPanel > :not(:first-child) {
margin-top: 12px;
}
.jp-KeySelector select.jp-mod-styled {
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color0);
border: var(--jp-border-width) solid var(--jp-border-color1);
}
.jp-KeySelector label,
.jp-MetadataEditorTool label,
.jp-NumberSetter label {
line-height: 1.4;
}
.jp-NotebookTools .jp-select-wrapper {
margin-top: 4px;
margin-bottom: 0;
}
.jp-NumberSetter input {
width: 100%;
margin-top: 4px;
}
.jp-NotebookTools .jp-Collapse {
margin-top: 16px;
}
/*-----------------------------------------------------------------------------
| Presentation Mode (.jp-mod-presentationMode)
|----------------------------------------------------------------------------*/
.jp-mod-presentationMode .jp-Notebook {
--jp-content-font-size1: var(--jp-content-presentation-font-size1);
--jp-code-font-size: var(--jp-code-presentation-font-size);
}
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
flex: 0 0 110px;
}
/*-----------------------------------------------------------------------------
| Side-by-side Mode (.jp-mod-sideBySide)
|----------------------------------------------------------------------------*/
.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
margin-top: 3em;
margin-bottom: 3em;
margin-left: 5%;
margin-right: 5%;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
display: grid;
grid-template-columns: minmax(0, 1fr) min-content minmax(
0,
var(--jp-side-by-side-output-size)
);
grid-template-rows: auto minmax(0, 1fr) auto;
grid-template-areas:
'header header header'
'input handle output'
'footer footer footer';
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
grid-template-columns: minmax(0, 1fr) min-content minmax(
0,
var(--jp-side-by-side-resized-cell)
);
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
grid-area: header;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
grid-area: input;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
/* overwrite the default margin (no vertical separation needed in side by side move */
margin-top: 0;
grid-area: output;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
grid-area: footer;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
grid-area: handle;
user-select: none;
display: block;
height: 100%;
cursor: ew-resize;
padding: 0 var(--jp-cell-padding);
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
content: '';
display: block;
background: var(--jp-border-color2);
height: 100%;
width: 5px;
}
.jp-mod-sideBySide.jp-Notebook
.jp-CodeCell.jp-mod-resizedCell
.jp-CellResizeHandle::after {
background: var(--jp-border-color0);
}
.jp-CellResizeHandle {
display: none;
}
/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/
.jp-Cell-Placeholder {
padding-left: 55px;
}
.jp-Cell-Placeholder-wrapper {
background: #fff;
border: 1px solid;
border-color: #e5e6e9 #dfe0e4 #d0d1d5;
border-radius: 4px;
-webkit-border-radius: 4px;
margin: 10px 15px;
}
.jp-Cell-Placeholder-wrapper-inner {
padding: 15px;
position: relative;
}
.jp-Cell-Placeholder-wrapper-body {
background-repeat: repeat;
background-size: 50% auto;
}
.jp-Cell-Placeholder-wrapper-body div {
background: #f6f7f8;
background-image: -webkit-linear-gradient(
left,
#f6f7f8 0%,
#edeef1 20%,
#f6f7f8 40%,
#f6f7f8 100%
);
background-repeat: no-repeat;
background-size: 800px 104px;
height: 104px;
position: absolute;
right: 15px;
left: 15px;
top: 15px;
}
div.jp-Cell-Placeholder-h1 {
top: 20px;
height: 20px;
left: 15px;
width: 150px;
}
div.jp-Cell-Placeholder-h2 {
left: 15px;
top: 50px;
height: 10px;
width: 100px;
}
div.jp-Cell-Placeholder-content-1,
div.jp-Cell-Placeholder-content-2,
div.jp-Cell-Placeholder-content-3 {
left: 15px;
right: 15px;
height: 10px;
}
div.jp-Cell-Placeholder-content-1 {
top: 100px;
}
div.jp-Cell-Placeholder-content-2 {
top: 120px;
}
div.jp-Cell-Placeholder-content-3 {
top: 140px;
}
</style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*
The following CSS variables define the main, public API for styling JupyterLab.
These variables should be used by all plugins wherever possible. In other
words, plugins should not define custom colors, sizes, etc unless absolutely
necessary. This enables users to change the visual theme of JupyterLab
by changing these variables.
Many variables appear in an ordered sequence (0,1,2,3). These sequences
are designed to work well together, so for example, `--jp-border-color1` should
be used with `--jp-layout-color1`. The numbers have the following meanings:
* 0: super-primary, reserved for special emphasis
* 1: primary, most important under normal situations
* 2: secondary, next most important under normal situations
* 3: tertiary, next most important under normal situations
Throughout JupyterLab, we are mostly following principles from Google's
Material Design when selecting colors. We are not, however, following
all of MD as it is not optimized for dense, information rich UIs.
*/
:root {
/* Elevation
*
* We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
*
* https://github.com/material-components/material-components-web
* https://material-components-web.appspot.com/elevation.html
*/
--jp-shadow-base-lightness: 0;
--jp-shadow-umbra-color: rgba(
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
0.2
);
--jp-shadow-penumbra-color: rgba(
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
0.14
);
--jp-shadow-ambient-color: rgba(
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
0.12
);
--jp-elevation-z0: none;
--jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color),
0 1px 1px 0 var(--jp-shadow-penumbra-color),
0 1px 3px 0 var(--jp-shadow-ambient-color);
--jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
0 2px 2px 0 var(--jp-shadow-penumbra-color),
0 1px 5px 0 var(--jp-shadow-ambient-color);
--jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
0 4px 5px 0 var(--jp-shadow-penumbra-color),
0 1px 10px 0 var(--jp-shadow-ambient-color);
--jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
0 6px 10px 0 var(--jp-shadow-penumbra-color),
0 1px 18px 0 var(--jp-shadow-ambient-color);
--jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
0 8px 10px 1px var(--jp-shadow-penumbra-color),
0 3px 14px 2px var(--jp-shadow-ambient-color);
--jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
0 12px 17px 2px var(--jp-shadow-penumbra-color),
0 5px 22px 4px var(--jp-shadow-ambient-color);
--jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
0 16px 24px 2px var(--jp-shadow-penumbra-color),
0 6px 30px 5px var(--jp-shadow-ambient-color);
--jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
0 20px 31px 3px var(--jp-shadow-penumbra-color),
0 8px 38px 7px var(--jp-shadow-ambient-color);
--jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
0 24px 38px 3px var(--jp-shadow-penumbra-color),
0 9px 46px 8px var(--jp-shadow-ambient-color);
/* Borders
*
* The following variables, specify the visual styling of borders in JupyterLab.
*/
--jp-border-width: 1px;
--jp-border-color0: var(--md-grey-400);
--jp-border-color1: var(--md-grey-400);
--jp-border-color2: var(--md-grey-300);
--jp-border-color3: var(--md-grey-200);
--jp-inverse-border-color: var(--md-grey-600);
--jp-border-radius: 2px;
/* UI Fonts
*
* The UI font CSS variables are used for the typography all of the JupyterLab
* user interface elements that are not directly user generated content.
*
* The font sizing here is done assuming that the body font size of --jp-ui-font-size1
* is applied to a parent element. When children elements, such as headings, are sized
* in em all things will be computed relative to that body size.
*/
--jp-ui-font-scale-factor: 1.2;
--jp-ui-font-size0: 0.83333em;
--jp-ui-font-size1: 13px; /* Base font size */
--jp-ui-font-size2: 1.2em;
--jp-ui-font-size3: 1.44em;
--jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
'Segoe UI Symbol';
/*
* Use these font colors against the corresponding main layout colors.
* In a light theme, these go from dark to light.
*/
/* Defaults use Material Design specification */
--jp-ui-font-color0: rgba(0, 0, 0, 1);
--jp-ui-font-color1: rgba(0, 0, 0, 0.87);
--jp-ui-font-color2: rgba(0, 0, 0, 0.54);
--jp-ui-font-color3: rgba(0, 0, 0, 0.38);
/*
* Use these against the brand/accent/warn/error colors.
* These will typically go from light to darker, in both a dark and light theme.
*/
--jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
--jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
--jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
--jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);
/* Content Fonts
*
* Content font variables are used for typography of user generated content.
*
* The font sizing here is done assuming that the body font size of --jp-content-font-size1
* is applied to a parent element. When children elements, such as headings, are sized
* in em all things will be computed relative to that body size.
*/
--jp-content-line-height: 1.6;
--jp-content-font-scale-factor: 1.2;
--jp-content-font-size0: 0.83333em;
--jp-content-font-size1: 14px; /* Base font size */
--jp-content-font-size2: 1.2em;
--jp-content-font-size3: 1.44em;
--jp-content-font-size4: 1.728em;
--jp-content-font-size5: 2.0736em;
/* This gives a magnification of about 125% in presentation mode over normal. */
--jp-content-presentation-font-size1: 17px;
--jp-content-heading-line-height: 1;
--jp-content-heading-margin-top: 1.2em;
--jp-content-heading-margin-bottom: 0.8em;
--jp-content-heading-font-weight: 500;
/* Defaults use Material Design specification */
--jp-content-font-color0: rgba(0, 0, 0, 1);
--jp-content-font-color1: rgba(0, 0, 0, 0.87);
--jp-content-font-color2: rgba(0, 0, 0, 0.54);
--jp-content-font-color3: rgba(0, 0, 0, 0.38);
--jp-content-link-color: var(--md-blue-900);
--jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont,
'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
'Segoe UI Emoji', 'Segoe UI Symbol';
/*
* Code Fonts
*
* Code font variables are used for typography of code and other monospaces content.
*/
--jp-code-font-size: 13px;
--jp-code-line-height: 1.3077; /* 17px for 13px base */
--jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
--jp-code-font-family-default: menlo, consolas, 'DejaVu Sans Mono', monospace;
--jp-code-font-family: var(--jp-code-font-family-default);
/* This gives a magnification of about 125% in presentation mode over normal. */
--jp-code-presentation-font-size: 16px;
/* may need to tweak cursor width if you change font size */
--jp-code-cursor-width0: 1.4px;
--jp-code-cursor-width1: 2px;
--jp-code-cursor-width2: 4px;
/* Layout
*
* The following are the main layout colors use in JupyterLab. In a light
* theme these would go from light to dark.
*/
--jp-layout-color0: white;
--jp-layout-color1: white;
--jp-layout-color2: var(--md-grey-200);
--jp-layout-color3: var(--md-grey-400);
--jp-layout-color4: var(--md-grey-600);
/* Inverse Layout
*
* The following are the inverse layout colors use in JupyterLab. In a light
* theme these would go from dark to light.
*/
--jp-inverse-layout-color0: #111;
--jp-inverse-layout-color1: var(--md-grey-900);
--jp-inverse-layout-color2: var(--md-grey-800);
--jp-inverse-layout-color3: var(--md-grey-700);
--jp-inverse-layout-color4: var(--md-grey-600);
/* Brand/accent */
--jp-brand-color0: var(--md-blue-900);
--jp-brand-color1: var(--md-blue-700);
--jp-brand-color2: var(--md-blue-300);
--jp-brand-color3: var(--md-blue-100);
--jp-brand-color4: var(--md-blue-50);
--jp-accent-color0: var(--md-green-900);
--jp-accent-color1: var(--md-green-700);
--jp-accent-color2: var(--md-green-300);
--jp-accent-color3: var(--md-green-100);
/* State colors (warn, error, success, info) */
--jp-warn-color0: var(--md-orange-900);
--jp-warn-color1: var(--md-orange-700);
--jp-warn-color2: var(--md-orange-300);
--jp-warn-color3: var(--md-orange-100);
--jp-error-color0: var(--md-red-900);
--jp-error-color1: var(--md-red-700);
--jp-error-color2: var(--md-red-300);
--jp-error-color3: var(--md-red-100);
--jp-success-color0: var(--md-green-900);
--jp-success-color1: var(--md-green-700);
--jp-success-color2: var(--md-green-300);
--jp-success-color3: var(--md-green-100);
--jp-info-color0: var(--md-cyan-900);
--jp-info-color1: var(--md-cyan-700);
--jp-info-color2: var(--md-cyan-300);
--jp-info-color3: var(--md-cyan-100);
/* Cell specific styles */
--jp-cell-padding: 5px;
--jp-cell-collapser-width: 8px;
--jp-cell-collapser-min-height: 20px;
--jp-cell-collapser-not-active-hover-opacity: 0.6;
--jp-cell-editor-background: var(--md-grey-100);
--jp-cell-editor-border-color: var(--md-grey-300);
--jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
--jp-cell-editor-active-background: var(--jp-layout-color0);
--jp-cell-editor-active-border-color: var(--jp-brand-color1);
--jp-cell-prompt-width: 64px;
--jp-cell-prompt-font-family: var(--jp-code-font-family-default);
--jp-cell-prompt-letter-spacing: 0;
--jp-cell-prompt-opacity: 1;
--jp-cell-prompt-not-active-opacity: 0.5;
--jp-cell-prompt-not-active-font-color: var(--md-grey-700);
/* A custom blend of MD grey and blue 600
* See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
--jp-cell-inprompt-font-color: #307fc1;
/* A custom blend of MD grey and orange 600
* https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
--jp-cell-outprompt-font-color: #bf5b3d;
/* Notebook specific styles */
--jp-notebook-padding: 10px;
--jp-notebook-select-background: var(--jp-layout-color1);
--jp-notebook-multiselected-color: var(--md-blue-50);
/* The scroll padding is calculated to fill enough space at the bottom of the
notebook to show one single-line cell (with appropriate padding) at the top
when the notebook is scrolled all the way to the bottom. We also subtract one
pixel so that no scrollbar appears if we have just one single-line cell in the
notebook. This padding is to enable a 'scroll past end' feature in a notebook.
*/
--jp-notebook-scroll-padding: calc(
100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
var(--jp-code-padding) - var(--jp-cell-padding) - 1px
);
/* Rendermime styles */
--jp-rendermime-error-background: #fdd;
--jp-rendermime-table-row-background: var(--md-grey-100);
--jp-rendermime-table-row-hover-background: var(--md-light-blue-50);
/* Dialog specific styles */
--jp-dialog-background: rgba(0, 0, 0, 0.25);
/* Console specific styles */
--jp-console-padding: 10px;
/* Toolbar specific styles */
--jp-toolbar-border-color: var(--jp-border-color1);
--jp-toolbar-micro-height: 8px;
--jp-toolbar-background: var(--jp-layout-color1);
--jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.24);
--jp-toolbar-header-margin: 4px 4px 0 4px;
--jp-toolbar-active-background: var(--md-grey-300);
/* Statusbar specific styles */
--jp-statusbar-height: 24px;
/* Input field styles */
--jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
--jp-input-active-background: var(--jp-layout-color1);
--jp-input-hover-background: var(--jp-layout-color1);
--jp-input-background: var(--md-grey-100);
--jp-input-border-color: var(--jp-inverse-border-color);
--jp-input-active-border-color: var(--jp-brand-color1);
--jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);
/* General editor styles */
--jp-editor-selected-background: #d9d9d9;
--jp-editor-selected-focused-background: #d7d4f0;
--jp-editor-cursor-color: var(--jp-ui-font-color0);
/* Code mirror specific styles */
--jp-mirror-editor-keyword-color: #008000;
--jp-mirror-editor-atom-color: #88f;
--jp-mirror-editor-number-color: #080;
--jp-mirror-editor-def-color: #00f;
--jp-mirror-editor-variable-color: var(--md-grey-900);
--jp-mirror-editor-variable-2-color: rgb(0, 54, 109);
--jp-mirror-editor-variable-3-color: #085;
--jp-mirror-editor-punctuation-color: #05a;
--jp-mirror-editor-property-color: #05a;
--jp-mirror-editor-operator-color: #a2f;
--jp-mirror-editor-comment-color: #408080;
--jp-mirror-editor-string-color: #ba2121;
--jp-mirror-editor-string-2-color: #708;
--jp-mirror-editor-meta-color: #a2f;
--jp-mirror-editor-qualifier-color: #555;
--jp-mirror-editor-builtin-color: #008000;
--jp-mirror-editor-bracket-color: #997;
--jp-mirror-editor-tag-color: #170;
--jp-mirror-editor-attribute-color: #00c;
--jp-mirror-editor-header-color: blue;
--jp-mirror-editor-quote-color: #090;
--jp-mirror-editor-link-color: #00c;
--jp-mirror-editor-error-color: #f00;
--jp-mirror-editor-hr-color: #999;
/*
RTC user specific colors.
These colors are used for the cursor, username in the editor,
and the icon of the user.
*/
--jp-collaborator-color1: #ffad8e;
--jp-collaborator-color2: #dac83d;
--jp-collaborator-color3: #72dd76;
--jp-collaborator-color4: #00e4d0;
--jp-collaborator-color5: #45d4ff;
--jp-collaborator-color6: #e2b1ff;
--jp-collaborator-color7: #ff9de6;
/* Vega extension styles */
--jp-vega-background: white;
/* Sidebar-related styles */
--jp-sidebar-min-width: 250px;
/* Search-related styles */
--jp-search-toggle-off-opacity: 0.5;
--jp-search-toggle-hover-opacity: 0.8;
--jp-search-toggle-on-opacity: 1;
--jp-search-selected-match-background-color: rgb(245, 200, 0);
--jp-search-selected-match-color: black;
--jp-search-unselected-match-background-color: var(
--jp-inverse-layout-color0
);
--jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);
/* Icon colors that work well with light or dark backgrounds */
--jp-icon-contrast-color0: var(--md-purple-600);
--jp-icon-contrast-color1: var(--md-green-600);
--jp-icon-contrast-color2: var(--md-pink-600);
--jp-icon-contrast-color3: var(--md-blue-600);
/* Button colors */
--jp-accept-color-normal: var(--md-blue-700);
--jp-accept-color-hover: var(--md-blue-800);
--jp-accept-color-active: var(--md-blue-900);
--jp-warn-color-normal: var(--md-red-700);
--jp-warn-color-hover: var(--md-red-800);
--jp-warn-color-active: var(--md-red-900);
--jp-reject-color-normal: var(--md-grey-600);
--jp-reject-color-hover: var(--md-grey-700);
--jp-reject-color-active: var(--md-grey-800);
/* File or activity icons and switch semantic variables */
--jp-jupyter-icon-color: #f37626;
--jp-notebook-icon-color: #f37626;
--jp-json-icon-color: var(--md-orange-700);
--jp-console-icon-background-color: var(--md-blue-700);
--jp-console-icon-color: white;
--jp-terminal-icon-background-color: var(--md-grey-800);
--jp-terminal-icon-color: var(--md-grey-200);
--jp-text-editor-icon-color: var(--md-grey-700);
--jp-inspector-icon-color: var(--md-grey-700);
--jp-switch-color: var(--md-grey-400);
--jp-switch-true-position-color: var(--md-orange-900);
}
</style>
<style type="text/css">
/* Force rendering true colors when outputing to pdf */
* {
-webkit-print-color-adjust: exact;
}
/* Misc */
a.anchor-link {
display: none;
}
/* Input area styling */
.jp-InputArea {
overflow: hidden;
}
.jp-InputArea-editor {
overflow: hidden;
}
.cm-editor.cm-s-jupyter .highlight pre {
/* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.cm-line */
padding: var(--jp-code-padding) 4px;
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
color: inherit;
}
.jp-OutputArea-output pre {
line-height: inherit;
font-family: inherit;
}
.jp-RenderedText pre {
color: var(--jp-content-font-color1);
font-size: var(--jp-code-font-size);
}
/* Hiding the collapser by default */
.jp-Collapser {
display: none;
}
@page {
margin: 0.5in; /* Margin for each printed piece of paper */
}
@media print {
.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
display: block;
}
}
</style>
<!-- Load mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_CHTML-full,Safe"> </script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
init_mathjax = function() {
if (window.MathJax) {
// MathJax loaded
MathJax.Hub.Config({
TeX: {
equationNumbers: {
autoNumber: "AMS",
useLabelIds: true
}
},
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true,
processEnvironments: true
},
displayAlign: 'center',
CommonHTML: {
linebreaks: {
automatic: true
}
}
});
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
}
}
init_mathjax();
</script>
<!-- End of mathjax configuration --><script type="module">
document.addEventListener("DOMContentLoaded", async () => {
const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
// do not load mermaidjs if not needed
if (!diagrams.length) {
return;
}
const mermaid = (await import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.7.0/mermaid.esm.min.mjs")).default;
const parser = new DOMParser();
mermaid.initialize({
maxTextSize: 100000,
maxEdges: 100000,
startOnLoad: false,
fontFamily: window
.getComputedStyle(document.body)
.getPropertyValue("--jp-ui-font-family"),
theme: document.querySelector("body[data-jp-theme-light='true']")
? "default"
: "dark",
});
let _nextMermaidId = 0;
function makeMermaidImage(svg) {
const img = document.createElement("img");
const doc = parser.parseFromString(svg, "image/svg+xml");
const svgEl = doc.querySelector("svg");
const { maxWidth } = svgEl?.style || {};
const firstTitle = doc.querySelector("title");
const firstDesc = doc.querySelector("desc");
img.setAttribute("src", `data:image/svg+xml,${encodeURIComponent(svg)}`);
if (maxWidth) {
img.width = parseInt(maxWidth);
}
if (firstTitle) {
img.setAttribute("alt", firstTitle.textContent);
}
if (firstDesc) {
const caption = document.createElement("figcaption");
caption.className = "sr-only";
caption.textContent = firstDesc.textContent;
return [img, caption];
}
return [img];
}
async function makeMermaidError(text) {
let errorMessage = "";
try {
await mermaid.parse(text);
} catch (err) {
errorMessage = `${err}`;
}
const result = document.createElement("details");
result.className = 'jp-RenderedMermaid-Details';
const summary = document.createElement("summary");
summary.className = 'jp-RenderedMermaid-Summary';
const pre = document.createElement("pre");
const code = document.createElement("code");
code.innerText = text;
pre.appendChild(code);
summary.appendChild(pre);
result.appendChild(summary);
const warning = document.createElement("pre");
warning.innerText = errorMessage;
result.appendChild(warning);
return [result];
}
async function renderOneMarmaid(src) {
const id = `jp-mermaid-${_nextMermaidId++}`;
const parent = src.parentNode;
let raw = src.textContent.trim();
const el = document.createElement("div");
el.style.visibility = "hidden";
document.body.appendChild(el);
let results = null;
let output = null;
try {
let { svg } = await mermaid.render(id, raw, el);
svg = cleanMermaidSvg(svg);
results = makeMermaidImage(svg);
output = document.createElement("figure");
results.map(output.appendChild, output);
} catch (err) {
parent.classList.add("jp-mod-warning");
results = await makeMermaidError(raw);
output = results[0];
} finally {
el.remove();
}
parent.classList.add("jp-RenderedMermaid");
parent.appendChild(output);
}
/**
* Post-process to ensure mermaid diagrams contain only valid SVG and XHTML.
*/
function cleanMermaidSvg(svg) {
return svg.replace(RE_VOID_ELEMENT, replaceVoidElement);
}
/**
* A regular expression for all void elements, which may include attributes and
* a slash.
*
* @see https://developer.mozilla.org/en-US/docs/Glossary/Void_element
*
* Of these, only `<br>` is generated by Mermaid in place of `\n`,
* but _any_ "malformed" tag will break the SVG rendering entirely.
*/
const RE_VOID_ELEMENT =
/<\s*(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\s*([^>]*?)\s*>/gi;
/**
* Ensure a void element is closed with a slash, preserving any attributes.
*/
function replaceVoidElement(match, tag, rest) {
rest = rest.trim();
if (!rest.endsWith('/')) {
rest = `${rest} /`;
}
return `<${tag} ${rest}>`;
}
void Promise.all([...diagrams].map(renderOneMarmaid));
});
</script>
<style>
.jp-Mermaid:not(.jp-RenderedMermaid) {
display: none;
}
.jp-RenderedMermaid {
overflow: auto;
display: flex;
}
.jp-RenderedMermaid.jp-mod-warning {
width: auto;
padding: 0.5em;
margin-top: 0.5em;
border: var(--jp-border-width) solid var(--jp-warn-color2);
border-radius: var(--jp-border-radius);
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
white-space: pre-wrap;
word-wrap: break-word;
}
.jp-RenderedMermaid figure {
margin: 0;
overflow: auto;
max-width: 100%;
}
.jp-RenderedMermaid img {
max-width: 100%;
}
.jp-RenderedMermaid-Details > pre {
margin-top: 1em;
}
.jp-RenderedMermaid-Summary {
color: var(--jp-warn-color2);
}
.jp-RenderedMermaid:not(.jp-mod-warning) pre {
display: none;
}
.jp-RenderedMermaid-Summary > pre {
display: inline-block;
white-space: normal;
}
</style>
<!-- End of mermaid configuration --></head>
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
<main>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=ce680eb3-8dfa-427e-99b0-2047cea59ac4">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h2 id="%E4%BD%BF%E7%94%A8%E5%9D%90%E6%A0%87%E4%BB%8EDataFrame%E5%88%9B%E5%BB%BAGeoDataFrame">使用坐标从DataFrame创建GeoDataFrame<a class="anchor-link" href="#%E4%BD%BF%E7%94%A8%E5%9D%90%E6%A0%87%E4%BB%8EDataFrame%E5%88%9B%E5%BB%BAGeoDataFrame">¶</a></h2>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=572d0c07-59ce-44ba-93ce-e06a6a90e30f">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [1]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="kn">import</span> <span class="nn">geopandas</span> <span class="k">as</span> <span class="nn">gpd</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=959aeaea-184a-4c72-8612-22b539d15cb8">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="%E4%BB%8E%E7%BB%8F%E5%BA%A6%E5%92%8C%E7%BA%AC%E5%BA%A6">从经度和纬度<a class="anchor-link" href="#%E4%BB%8E%E7%BB%8F%E5%BA%A6%E5%92%8C%E7%BA%AC%E5%BA%A6">¶</a></h3><p>首先,让我们考虑一个 DataFrame 包含城市及其各自的经度和纬度。</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=0d5692aa-b3c9-4388-a3f3-a3b2d17b698e">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [2]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span>
<span class="p">{</span><span class="s1">'City'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'Buenos Aires'</span><span class="p">,</span> <span class="s1">'Brasilia'</span><span class="p">,</span> <span class="s1">'Santiago'</span><span class="p">,</span> <span class="s1">'Bogota'</span><span class="p">,</span> <span class="s1">'Caracas'</span><span class="p">],</span>
<span class="s1">'Country'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'Argentina'</span><span class="p">,</span> <span class="s1">'Brazil'</span><span class="p">,</span> <span class="s1">'Chile'</span><span class="p">,</span> <span class="s1">'Colombia'</span><span class="p">,</span> <span class="s1">'Venezuela'</span><span class="p">],</span>
<span class="s1">'Latitude'</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mf">34.58</span><span class="p">,</span> <span class="o">-</span><span class="mf">15.78</span><span class="p">,</span> <span class="o">-</span><span class="mf">33.45</span><span class="p">,</span> <span class="mf">4.60</span><span class="p">,</span> <span class="mf">10.48</span><span class="p">],</span>
<span class="s1">'Longitude'</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mf">58.66</span><span class="p">,</span> <span class="o">-</span><span class="mf">47.91</span><span class="p">,</span> <span class="o">-</span><span class="mf">70.66</span><span class="p">,</span> <span class="o">-</span><span class="mf">74.08</span><span class="p">,</span> <span class="o">-</span><span class="mf">66.86</span><span class="p">]})</span>
<span class="nb">print</span><span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">head</span><span class="p">())</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre> City Country Latitude Longitude
0 Buenos Aires Argentina -34.58 -58.66
1 Brasilia Brazil -15.78 -47.91
2 Santiago Chile -33.45 -70.66
3 Bogota Colombia 4.60 -74.08
4 Caracas Venezuela 10.48 -66.86
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=d52a2ec4-e70f-4e73-a13a-de1429dab0c5">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<p>A GeoDataFrame 需要一个 shapely 对象。我们使用的是地理熊猫 points_from_xy() 转型 经度 和 纬度 添加到一个列表中 shapely.Point 对象,并将其设置为 geometry 在创建 GeoDataFrame 。(请注意 points_from_xy() 是一个增强的包装器,用于 [Point(x, y) for x, y in zip(df.Longitude, df.Latitude)] )</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=b2d5ceff-6a51-464c-a94e-5c796e0335b5">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [3]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">gdf</span> <span class="o">=</span> <span class="n">gpd</span><span class="o">.</span><span class="n">GeoDataFrame</span><span class="p">(</span>
<span class="n">df</span><span class="p">,</span> <span class="n">geometry</span><span class="o">=</span><span class="n">gpd</span><span class="o">.</span><span class="n">points_from_xy</span><span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">Longitude</span><span class="p">,</span> <span class="n">df</span><span class="o">.</span><span class="n">Latitude</span><span class="p">))</span>
<span class="n">gdf</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[3]:</div>
<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html" tabindex="0">
<div>
<style scoped="">
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>City</th>
<th>Country</th>
<th>Latitude</th>
<th>Longitude</th>
<th>geometry</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>Buenos Aires</td>
<td>Argentina</td>
<td>-34.58</td>
<td>-58.66</td>
<td>POINT (-58.66 -34.58)</td>
</tr>
<tr>
<th>1</th>
<td>Brasilia</td>
<td>Brazil</td>
<td>-15.78</td>
<td>-47.91</td>
<td>POINT (-47.91 -15.78)</td>
</tr>
<tr>
<th>2</th>
<td>Santiago</td>
<td>Chile</td>
<td>-33.45</td>
<td>-70.66</td>
<td>POINT (-70.66 -33.45)</td>
</tr>
<tr>
<th>3</th>
<td>Bogota</td>
<td>Colombia</td>
<td>4.60</td>
<td>-74.08</td>
<td>POINT (-74.08 4.6)</td>
</tr>
<tr>
<th>4</th>
<td>Caracas</td>
<td>Venezuela</td>
<td>10.48</td>
<td>-66.86</td>
<td>POINT (-66.86 10.48)</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=b4c979fa-ff14-4dba-a97d-28aa1494bd61">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<p>最后,我们在国家/地区地图上绘制坐标。</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=f70e2aa2-2e83-42d3-8e77-172401d11b51">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [4]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">data</span> <span class="o">=</span> <span class="sa">r</span><span class="s1">'data\ne_110m_admin_0_countries.shp'</span>
<span class="n">world</span> <span class="o">=</span> <span class="n">gpd</span><span class="o">.</span><span class="n">read_file</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="c1"># We restrict to South America.</span>
<span class="n">ax</span> <span class="o">=</span> <span class="n">world</span><span class="p">[</span><span class="n">world</span><span class="o">.</span><span class="n">SUBREGION</span> <span class="o">==</span> <span class="s1">'South America'</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span>
<span class="n">color</span><span class="o">=</span><span class="s1">'white'</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s1">'black'</span><span class="p">)</span>
<span class="c1"># We can now plot our ``GeoDataFrame``.</span>
<span class="n">gdf</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'red'</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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"/>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=f2a5b01b-92e9-490c-bea4-073d663e585f">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="%E4%BB%8EWKT%E6%A0%BC%E5%BC%8F">从WKT格式<a class="anchor-link" href="#%E4%BB%8EWKT%E6%A0%BC%E5%BC%8F">¶</a></h3><p>在这里,我们考虑一个 DataFrame 具有WKT格式的坐标。</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=51ff6e00-5dc4-4c76-a75e-1b24a7595432">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [5]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span>
<span class="p">{</span><span class="s1">'City'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'Buenos Aires'</span><span class="p">,</span> <span class="s1">'Brasilia'</span><span class="p">,</span> <span class="s1">'Santiago'</span><span class="p">,</span> <span class="s1">'Bogota'</span><span class="p">,</span> <span class="s1">'Caracas'</span><span class="p">],</span>
<span class="s1">'Country'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'Argentina'</span><span class="p">,</span> <span class="s1">'Brazil'</span><span class="p">,</span> <span class="s1">'Chile'</span><span class="p">,</span> <span class="s1">'Colombia'</span><span class="p">,</span> <span class="s1">'Venezuela'</span><span class="p">],</span>
<span class="s1">'Coordinates'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'POINT(-58.66 -34.58)'</span><span class="p">,</span> <span class="s1">'POINT(-47.91 -15.78)'</span><span class="p">,</span>
<span class="s1">'POINT(-70.66 -33.45)'</span><span class="p">,</span> <span class="s1">'POINT(-74.08 4.60)'</span><span class="p">,</span>
<span class="s1">'POINT(-66.86 10.48)'</span><span class="p">]})</span>
<span class="nb">print</span><span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">head</span><span class="p">())</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre> City Country Coordinates
0 Buenos Aires Argentina POINT(-58.66 -34.58)
1 Brasilia Brazil POINT(-47.91 -15.78)
2 Santiago Chile POINT(-70.66 -33.45)
3 Bogota Colombia POINT(-74.08 4.60)
4 Caracas Venezuela POINT(-66.86 10.48)
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=d4bdc648-c18f-4c27-a6b1-2aa282654318">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [12]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">shapely</span> <span class="kn">import</span> <span class="n">wkt</span>
<span class="nb">print</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="s1">'Coordinates'</span><span class="p">])</span>
<span class="c1"># 将df,DataFrame转为gdf,GeoDataFrame,把列“Coordinates”转为GeoDataFrame的geometry属性</span>
<span class="n">gdf</span> <span class="o">=</span> <span class="n">gpd</span><span class="o">.</span><span class="n">GeoDataFrame</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">geometry</span><span class="o">=</span><span class="s1">'Coordinates'</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">gdf</span><span class="o">.</span><span class="n">head</span><span class="p">())</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>0 POINT (-58.66 -34.58)
1 POINT (-47.91 -15.78)
2 POINT (-70.66 -33.45)
3 POINT (-74.08 4.6)
4 POINT (-66.86 10.48)
Name: Coordinates, dtype: geometry
City Country Coordinates
0 Buenos Aires Argentina POINT (-58.66 -34.58)
1 Brasilia Brazil POINT (-47.91 -15.78)
2 Santiago Chile POINT (-70.66 -33.45)
3 Bogota Colombia POINT (-74.08 4.6)
4 Caracas Venezuela POINT (-66.86 10.48)
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=fed9a100-f994-4549-8d62-51417299cf2b">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [15]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">ax</span> <span class="o">=</span> <span class="n">world</span><span class="p">[</span><span class="n">world</span><span class="o">.</span><span class="n">SUBREGION</span> <span class="o">==</span> <span class="s1">'South America'</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span>
<span class="n">color</span><span class="o">=</span><span class="s1">'white'</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s1">'black'</span><span class="p">)</span>
<span class="n">gdf</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'green'</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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"/>
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化