• +598 29008192
  • info@servinfo.com.uy

Archivo del Autor: Belen De Leon

Snap reportedly bought its very own 3D game engine

Snapchat’s parent company bought a web-based 3D game engine startup out of the UK this past May, Business Insider (paywalled) reports.

PlayCanvas is a development tool focused on letting people easily design rich 3D environments. Unlike products from companies like Unity and Epic Games, PlayCanvas’s game engine was entirely browser-based and was optimized to run on low-power devices. The focus of the WebGL engine stretches from configuring 3D models to running entire games.

The small London-based company was founded in 2011 and raised just $590,000 in seed funding from investors including the Microsoft Accelerator and DC Thomson Ventures according to Crunchbase. We don’t know how much the deal went for.

While many of Snap’s recent acquisitions have focused on bolstering consumer-facing features, PlayCanvas seems to be focused squarely on developers. The most obvious use of a tool would have been to integrate the technology into Snap’s Lens Studio product where developers can build their own AR Lens effects. Snap has recently been drawing more attention to third-party AR creations, and it’s clear that if the company wants to reach any sort of scale in its augmented reality plans, it’s going to have to hand over the reigns to a developer network.

We have reached out to Snap for confirmation.


Source: TechCrunch

Uber's driverless cars said to lag behind competitors – CNET

After a pedestrian is killed by one of the company’s self-driving cars, documents show Uber’s autonomous vehicle program might’ve been struggling.
Source: CNET

19 games at GDC 2018 that redefine what a video game even is – CNET

You thought you knew what gaming was. You’re wrong.
Source: CNET

The web will soon be a little safer with the approval of this new security standard

Hear that? It’s almost as if thousands of spooks and hackers suddenly cried out at once… The Internet Engineers Task Force has just unanimously approved a security framework that will make encrypted connections on the web faster and more resistant to snooping.

It’s called Transport Layer Security version 1.3, and while it’s not a big flashy event, it very much is the kind of iterative improvement that keeps the web working in the face of malicious actors everywhere. The IETF is a body of engineers from all over the world who collaborate on standards like this — and their approval of TLS 1.3 has been long in coming, more than four years and 28 drafts.

That’s because the internet is a delicate machine and changes to its fundamental parts — such as how a client and server establish a secure, encrypted connection — must be made very, very carefully.

Without going too deep into the technical details (I’d be lost if I tried), TLS 1.3 makes a few prominent changes that should keep you safe.

  • The “handshake” between client and server has been streamlined and encryption initiated earlier to minimize the amount of data transmitted in the clear.
  • “Forward secrecy,” meaning hackers can’t skim decryption keys from one exchange and use it to decrypt others later.
  • “Legacy” encryption algorithms have been removed as options, as these could occasionally be forced into use and their shortcomings leveraged to break the cipher on messages.
  • A new “0-RTT,” or zero round-trip time, mode in which the server and client that have established some preliminaries before can get right to sending data without introducing themselves to each other again.

The whole standard is 155 pages long, and really only other engineers will want to dig in. But it’s available here if you’d like to peruse it or go into detail on one of the new features.

It doesn’t magically take effect, of course — but the IETF approval is a big step towards the standard being adopted by big companies, web services, and other, higher-level standards. You probably won’t even notice when it does come into play, but that’s how it’s supposed to happen. Just be sure to thank a network engineer or cryptographer next time you see one.


Source: TechCrunch

Why did my iPhone stop working with my BMW? – Roadshow

Short answer: BMW is from Venus, Apple is from Mars.
Source: CNET

Watch Alexa rap with Too Many T’s in this interactive music video

Alexa can already sing and rap, but now she’s the star of a new music video by the English rap duo Too Many T’s. The London-based rappers this week released an interactive video that lets Alexa sing along by triggering with voice commands, then pausing while she answers. The result is essentially a duet between Alexa and Too Many T’s that you can listen to at home using your own Alexa device, when played within earshot of your sound system’s speakers or some other source of audio.

In the video below, Too Many T’s explain how the interactive experience works and demo it with an Echo Dot.

If you don’t have an Echo device of your own, this would be the one to watch:

However, if you do have an Echo or some other Alexa-powered speaker, you’ll want to play the “Home” version of the song instead.

This is the version where they’ve left openings in the song for your own Echo to respond to the various triggers.

To try this out for yourself, you’ll need a voice device that responds to the name “Alexa” (not “computer” or “Amazon” if you’ve changed it). And you’ll need to set your device to U.S. English.

In the video, Alexa is asked questions like, “what’s 250 million times 0.004?” and “Alexa, can you sing in auto-tune?” (She can, and it’s awesome.)

And she’s told, “Alexa, high-five,” among other things.

The video cleverly wraps by commanding your Alexa to play the Too Many T’s song “South City Court.”

Good one, guys.

Happy Friday.

(h/t: AFTVNews


Source: TechCrunch

Oh hai Spectral Slug: AI makes new Dungeons & Dragons monsters – CNET

Research scientist Janelle Shane trains a neural network to create D&D monsters. Behold Hatfright, Giant Fraithwarp, Wendless Woll and Marraganralleraith.
Source: CNET

IPOs are back, but for how long?

The first quarter is almost over, and despite Dropbox’s splashy debut on the public market earlier today, it was preceded by just two other U.S. tech companies to IPO in 2018: Cardlytics and Zscaler. 

Will Dropbox turn things around? Will the fact that Spotify is readying its debut get the momentum going at long last?

It all depends on how Dropbox and Spotify perform and how they impact what’s known as the IPO window. When new issuers perform well, it typically swings wide open. When they don’t, well, it gets slammed shut.

At this point, it’s been four years since we had an IPO window big enough for a stream of companies to pass through. In 2013, 50 tech companies went public. In 2014, the number was 62. Things grew chillier after that, with just 31, 26 and 27 companies getting out the window in 2015, 2016 and 2017, respectively.

Why haven’t things warmed up again, particularly with a stunning 171 venture-backed “unicorns” waiting in the wings?

Some high-profile flops are one large factor. Last year, venture-backed darlings like Blue Apron and Snapchat braved the public markets, but it was public shareholders who had to keep a stiff upper lip as their shares abruptly sputtered. These kinds of scenarios can seriously spook pipeline companies and their advisors, particularly in the world of consumer tech.

The availability of late-stage capital is also making it far easier to stay private longer. With SoftBank’s $100 billion Vision Fund writing enormous checks to growth startups — and traditional venture funds reacting by raising their own gigantic venture funds — this trend is only expected to continue.

There are also plenty of sky-high valuations to consider. Startups were able to command numbers that weren’t necessarily tied to reality in 2014 to 2015. That makes the prospect of a public offering, at a potentially much smaller valuation, something to be put off as long as possible.

Still, IPO insiders think things shifted once again — that a growing number of companies will have the wind at their backs in 2018. They point to strong signals like Zscaler doubling on its first day of trading and Dropbox pricing above its IPO range as favorable signs of what’s to come. Indeed, they say that behind the scenes, a lot of prep work has already set the stage.

“The number of tech companies, across the spectrum, now meeting with (if not engaging) bankers and working with the auditors to be ‘IPO ready’ is very definitely on the upswing,” says Lise Buyer, an IPO consultant and partner at Class V Group. The “window is already wide open, and there is enormous pent-up demand at institutions for new companies that are priced reasonably.”

John Tuttle, global head of listings at the New York Stock Exchange, similarly says he expects “a strong year if market conditions hold constant.” He characterizes the pipeline for technology offerings as “strong,” particularly enterprise technology companies.

Tuttle also notes the growing number of far-flung tech companies looking to list their share in the U.S. Among these are three China-based companies with plans to raise hundreds of millions of dollars by selling American depositary shares in the not-too-distant future, including Bilibili, a nine-year-old, Shanghai, China-based anime video sharing platform; iQiyi, an eight-year-old Beijing-based video streaming service; and OneSmart, a 10-year-old, Shanghai, China-based K-12 after-school education provider.

Hardware-maker Xiaomi is expecting to stage a public offering both in the U.S. and in Hong Kong this year, too.

That’s saying nothing of the Canadian and Latin American companies that are offering shares to U.S. investors. Among them: Brazil’s payments business PagSeguro Digital; it went pubic in January on the NYSE.

So who’s next? Following Dropbox and Spotify, Zuora, the 11-year-old, cloud subscription management platform, has finally filed to go public. Another company to just file is Pivotal Software, a spinoff of EMC and VMware. DocuSign is on file confidentially. We’re also hearing that quite a few other enterprise technology companies are gearing up to go public.

Just don’t expect to see big consumer tech companies like Airbnb, Uber and Pinterest listing in 2018. A lot of these decacorns” are planning to debut next year at the earliest, partly because they’ve raised enough money that they can’t afford to make mistakes at this point.

They’ve raised enough money that they can wait, too. That means the rest of us will have to wait alongside them.

 


Source: TechCrunch

Huawei thinks Apple and Samsung stores are good places for ads – CNET

Commentary: In the UK, the Chinese gadget company thinks it wise to park large trucks with mobile ads for its P20 phone in strategic places.
Source: CNET

This MIDI-powered robotic music box is the good news I needed this week

It’s been a bit of a tumultuous week, to put it lightly, but one must always remember that no matter how dire things look on the global stage, there are always makers working obsessively to create something beautiful and useless — like this MIDI-driven, robotic music box.

Tinkerer and music box aficionado Mitxela (via Hackaday) was pleased by this music box that takes punch cards or rolls as input, rather than having a metal drum with the notes sticking out of it. But who wants to punch cards all day to make a music box go? These things are supposed to be simple!

Mitxela first made a script that takes a MIDI file and outputs an image compatible with his laser cutter, allowing cards or paper strips to be created more or less automatically. But then there’s the question of wear and tear, storing the strips, taping them together for long pieces… why not just have the MIDI controller drive the music box directly?

It clearly took some elbow grease, but he managed to create a lovely little machine that does just that. The MIDI pattern maps to a set of small servos, each of which is attached to a rigid brass wire and plastic tip. When the servo activates, the tip pushes the corresponding little cylinder in the music box, producing a note.

Now MIDI files (single-instrument ones, anyway) can be played directly. But there’s more! Mitxela’s efforts to lower the power draw and simplify the mechanisms had the incidental side effect of lowering the latency so much that you can even play the music box in real time using a MIDI keyboard. How delightful!

The video has quite a few breaks to listen to video game themes, so if you’re just interested in the device, you can skip through to the (relatively) technical parts. But hearing the Mario theme tinkling through a neat little gadget like this isn’t the worst way to spend a Friday afternoon after a week like this one.

You can check out the rest of Mitxela’s little hardware projects at his website.


Source: TechCrunch

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078