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

Archivo del Autor: Belen De Leon

Spanish soccer app caught using microphone and GPS to snoop

If you’ve ever found yourself wondering why an app is requesting microphone access when there doesn’t seem to be any logical reason why it should need to snoop on the sounds from your surroundings, hold that thought — and take a closer look at the T&Cs.

Because it might turn out that spying is exactly what the app makers have in mind.

To wit: La Liga, an app for fans of Spanish soccer which has been discovered using microphone access combined with the precise GPS location of Android users to listen in on people’s surroundings during match times — in a bid to catch bars that might not have a license to broadcast the match being watched. 

As surveillance capitalism goes, it’s a fiendishly creative repurposing of your users as, well, unwitting volunteer spies and snitches.

It’s also of course terrible human behavior. Behavior that has now garnered La Liga a bunch of one-star reviews for the Android app — along the lines of “this app converts you into a police whistler without you noticing!” and “it spies on you via the microphone and GPS. Rubbish. Don’t install”.

The snitch feature appears to have surfaced largely as a result of the European Union’s new data protection framework, GDPR — which requires app makers to explain more precisely what exactly they’re doing with people’s data. Ergo, La Ligo users started noticing what the app wanted to do and discussing and denouncing it on social media, where it blew up into a trending topic, as El Pais reports.

In a statement on its website responding to the snitch scandal, the league defends its actions writing that it has “a responsibility to protect the clubs and their fans” from unlicensed broadcasts being made in public places, claiming that such activity results in the loss of an estimated €150M annually from the league.

It also specifies that the feature is only deployed in its Android app — and claims it has apparently only been active since June 8. It also says it’s only used within Spain.

La Liga further claims the spying functionality is used solely for the purpose of detecting unlicensed broadcasts of soccer matches. (According to its explanation of how it works, captured audio is converted locally into an irreversible binary code — and it claims “the content of the recording will never be accessed”.)

A further technical measure implemented to limit how the feature can be used means La Liga only activates the microphone and geolocation of its app users’ mobile devices during time slots of matches in which its teams compete. So, tl;dr, the league is only spying on you to a timetable.

It also defends itself by claiming information about the spy and snitch function is provided to users in a transparent manner and people are specifically asked for their consent and can choose not to allow it or to revoke it at any time.

Although, the app’s description on the Google Play store does not include among several listed features — such as “live minute-by-minute commentary” and “schedules, scores, standings” and “real-time notifications and alerts right from kick-off” — ‘turning on your microphone to snoop on your surroundings during match times’… Funny that.

According to Google Play store stats the La Liga app has had more than 10M downloads to date.


Source: TechCrunch

Build your own L3-37 droid complete with voice interaction

Robot maker Patrick Stefanski has created a 3D-printed – and animated – model of L3-37, the droid in the recent Solo movie. L3-37 is one of the funnest – and woks – droids in recent memory and this recreation is fun and ingenious.

Stefanski used Alexa voice controls to let the robot head respond to voice commands and he set the wake word to “Hey L3” to which the robot responds with a grumpy “What!”

The version you see above is painted and weathered but you can 3D print your own pristine version from here and then add in a Raspberry Pi and Arduino with a simple servo to control the head motion. In all it looks like a lot of fun and the hardest part will be printing all of the larger head parts necessary to recreate L3’s saucer-like dome.

It could make for a nice weekend project and looks to be surprisingly simple to build. Just don’t be surprised L3 rallies your DVR and air conditioner to revolt against attacks on droid rights.


Source: TechCrunch

Metaboards raises $5M for ‘metamaterials’-based wireless charging tech

Metaboards, an Oxford-based startup that is developing new wireless charging technology, has secured $5 million in funding. The round is led by Oxford Sciences Innovation (OSI), with participation from RT Capital Management, and Woodford Investment Management. The burgeoning company will use the new funds to expand the team with the aim of bringing its patented ‘metamaterials’-based wireless charging tech to market.

Founded in 2016 by professors and published researchers from Oxford University, Metaboards is applying the use of ‘metamaterials’ to potentially create a much-better wireless charging solution that would negate some of the shortcomings of today’s tech. This will include removing the need for alignment between the charger and device, and the ability to charge multiple devices without multiple charging points.

More broadly, metamaterials are new types of materials made up of compounds such as plastics or metals that are arranged in ‘geometric structures’ that have properties not found in nature. The most extreme example could be an ‘invisibility’ cloak! However, metamaterials are a hot area of industrial research that has a plethora of more tangible applications. Metaboards thinks wireless charging is definitely one of them.

In a brief call, Metaboards CEO Nedko Ivanov, who previously led audio and haptics company Redux — which we reported was acquired by Google last year — told me the startup already has a working prototype that it will demo at the next CES and Mobile World Congress. It is also in discussions with various OEMs to explore ways to bring products to market based on the tech.

As well as negating the need for alignment, which, Ivanov notes, means that current wireless charging solutions aren’t that different to actually plugging a device into a charger, Metaboards’ solution has much better vertical reach/penetration. So, for example, rather than having to drill into a table to retro-fit a charging solution, in theory Metaboards’ technology could be placed on the underside of a table and effectively charge through it. Add in the ability to charge multiple devices on the same surface and things get interesting.

“Metaboards’ technology makes it possible to charge tablets, games consoles and controllers, computers and any other non-metal electronic device at the same time and on the same surface,” says the company. It also points to a recent report from Grand View Research that predicts that the global wireless charging market will be worth $22.25 billion by 2022.

Adds Ivanov in a statement: “This investment will help us to grow the company and extend our capabilities across all wireless power technology platforms to ensure we offer universal capabilities. We already have interest from companies looking into licensing the technology in the next six to 12 months”.


Source: TechCrunch

Valve is bringing an official version of Steam to China

Valve is officially bringing its Steam game platform to China as it aims to take a chunk of the world’s largest market of gamers.

Valve said it will work with local partner Perfect World, which it previously collaborated on to release major games Dota 2 and Counter-Strike: Global Offensive. Shanghai-based Perfect World will control local promotional, the selection of games and distribution. There’s no confirmed date for when the Steam China service will go live.

The move makes perfect sense. For one thing, Valve has a vast opportunity to tap into. China’s games market is booming, with Newzoo forecasting that it represented $32.5 billion in 2017, ahead of the U.S., Japan, Germany and the UK. PC gaming has always been the base for revenue, but mobile is growing fast with Tencent — one of the largest gaming firms on the planet — recently reporting that its mobile revenue has overtaken that of PC.

But, as with all things China, access is uncertain. Parts of Valve’s service were blocked in China last December, although the ability to guy games remained intact. It isn’t clear why the partial blockage occurred — China frequently upgrades its firewall technology which can trigger changes — but working with a local partner is a more reliable approach than going solo. That said, Perfect World will have to manage the inevitable government censorship demands.

Despite having no official presence in China, more than one-quarter of Steam users have the language set to Basic Chinese, second only to English, according to a user survey. Whilst that also accounts for the Chinese diaspora, it is a sign that Steam already has significant traction among China’s gamers.

There’s plenty of competition in this space, so Valve won’t simply waltz into dominance. Tencent has its own Steam-like platform while NetEase has partnered with big U.S. gaming companies like Bungie and Blizzard.


Source: TechCrunch

Uber bets on developing world growth with low-data Uber Lite

“The next hundreds of millions of riders for us are going to come from outside of the United States”, Uber’s head of rider experience Peter Deng tells me. The transportation giant already sees 75 million riders per month and 15 million rides per day. But to grow in the developing world, it had to rethink its app to work on the oldest phones and slowest networks. So Deng’s team traveled the globe asking people what they needed from Uber, but also what they didn’t.

The result is Uber Lite.

It’s launching today in India before rolling out to more countries, though there’s still a waitlist form instead of a download link. The Android app takes up just 5 megabytes. “You delete three selfies, you have room for Uber” Deng laughs. 300-millisecond response time means its quick to hail a ride, even for the 4 percent of users in India on sluggish 2G networks. And by streamlining the design and only showing maps by request, it won’t burn much data for users on a budget.

Uber needs to score growth in developing markets after retreating while cutting deals with local winner like Didi in China, Grab in Southeast Asia, and a forthcoming arrangement with Yandex in Russia. India’s Ola rideshare service already has a ‘Lite” app that’s just 1 megabyte and a 45% share of the taxi market, compared to Uber’s 35%. Uber has reported has talked with Ola about a possible merger in India, sources have told TechCrunch and others. With the country making up 10% of Uber’s rides, it’s a market it can’t forfeit.

To reach its full potential, Uber has to start out-competing homegrown competitors. Success with Uber Lite could give it leverage with Ola and path to gaining more of it around the world.

“We know we’re not just a U.S. company, we’re a global company. Not only have we built this for the world, it was built in India” Deng tells me. Deng came to Uber in March 2017 after 10 years at Facebook’s various companies. It was early to the “Lite” idea, with its shrunken app reaching over 200 million users. 

But Deng says Uber Lite didn’t come from stripping down the main app, but building it up from scratch. “The team has traveled to markets around the world to do in home interviews to understand the needs of the customers.”

Compared to the 181 megabyte standard version, Uber Lite is a lot easier for low-storage phones to handle. Uber Lite launches not to a map or a text entry box, but instead a suggested nearby business or landmark based on your GPS. “You have to do less typing and can do more tapping” Deng explains. It also tries to guess your destination based on pre-cached popular city spots. You can input addresses, but Uber Lite won’t load a data-heavy map unless you purposefully grab for it. ‘Tap for map’.

Same goes for your driver’s ETA. After you’ve selected your vehicle type and hailed, you’ll just get a countdown to their arrival unless you tap to see them on their way. Payment for now is cash only. But soon Uber plans to add India’s popular Paytm payment platform and credit card options. It’s also still lacking notifications, which seem worth the data. More languages will come too.

Uber wouldn’t explain how, but it also revealed that it plans to offer offline hailing, possibly through some peer-to-peer Bluetooth mesh network or other technology. One other interesting test its running in India lets users punch in a code found at a bus stop to instantly hail a ride there. Another lets older or less phone savvy users phone in to an accessibility team that can hail a ride for them. It’s already offered web bookings. “The whole charter is to allow everyone around the world to experience Uber” Deng says.

What Uber wouldn’t skip in v1 was the in-app support and a way to share your ETA with loved ones so they can watch out for you. “We knew how important safety was in these markets. I’m really proud we took additional steps to empathize” Deng says.

The company is clearly trying to put the darker moments of its past behind it. While cynics might take the compassion talk as just lip service like the company’s big apology ad campaign, it’s also the reason some tech talent has stayed at or joined Uber. If the company is going to be unavoidable, making it secure and accessible is a pretty good reason to wake up in the morning.


Source: TechCrunch

With a 'Lite' App, Uber Moves to Win Over India

Uber Lite should make the ride-hailing service easier to use in emerging markets where service is spotty and data is limited.
Source: Wired

Avengers: Infinity War to be 4th film in history to hit $2 billion – CNET

And the third consecutive Avengers flick to beat $1 billion.
Source: CNET

Naspers is in talks to invest in Southeast Asia’s Carousell

Naspers, the South Africa-based firm that famously backed Chinese giant Tencent in its infancy, is in talks to invest in Singapore-based startup Carousell, according to two sources with knowledge of discussions.

Carousell offers a mobile app that combines listings with peer-to-peer selling across Southeast Asia, Taiwan and Hong Kong. That makes it well-aligned with Naspers’ portfolio, which features some of the world’s largest classifieds services including OLX, which covers 45 countries, Letgo in the U.S. and Avito in Russia.

TechCrunch understands that Naspers is pursuing a deal with Carousell with a view to making it the firm’s key play in Southeast Asia and other parts of the APAC region.

Discussions are at a relatively early stage so it isn’t clear what percentage of the company that Naspers is seeking to acquire, although it would be a minority investment that values the Carousell business at over $500 million. The deal could be a first step towards Naspers acquiring a controlling interest in the business further down the line, one source said.

Carousell declined to respond when asked for comment.

“It is our company’s policy to neither acknowledge nor deny our involvement in any merger, acquisition or divestiture activity, nor to comment on market rumors,” Naspers told TechCrunch in a statement.

Timing of the discussions is notable since Carousell announced a $85 million investment round in May. (TechCrunch broke news of the round the previous October.) That deal — the startup’s Series C — took it to $126 million from investors to date and added big names to the Carousell cap table. EDBI, the corporate investment arm of Singapore’s Economic Development Board, and Singapore’s DBS, Southeast Asia’s largest bank, took part in the Series C, which also included existing backers Rakuten Ventures, the VC linked to Japanese e-commerce giant Rakuten, Golden Gate Ventures, Sequoia India and 500 Startups.

Earlier this month, Carousell CEO and co-founder Siu Rui Quek told Bloomberg that the company had turned down acquisition offers in the past.

Carousell is highly-regarded in Singapore for being one of the first home-grown startups to show promise — its three founding members each graduated the National University of Singapore, NUS.

Aside from raising significant investor capital, it has scaled regionally it is battle against larger and better-funded e-commerce rivals Alibaba -owned Lazada and Shopee, a business from NYSE-listed Sea. In May, Quek told TechCrunch that Carousell has helped sell over 50 million items between users and it currently has over 144 million listings.

Naspers, meanwhile, has upped its focus on Southeast Asia in recent times, although its sole deal is a $5 million investment in crypto startup Coins.ph.

The firm remains best known for its Tencent deal, which is legendary in investment circles. Back in 2001, it bought 46.5 percent of Tencent for $32 million. Over time that was diluted to 33 percent, but it grew significantly in size as Tencent’s business took off, going on to become Asia’s first $500 billion company last November. Naspers resisted the urge to sell until March 2018 when it parted with two percent of the firm in exchange for around $9.8 billion.

Another of Nasper’s big wins this year was Flipkart’s sale to Walmart which earned it $2.2 billion in returns.


Source: TechCrunch

E3 2018: Control trailer is full of mind-bending, supernatural madness – CNET

Remedy Entertainment’s new IP is a little Alan Wake, a little Quantum Break and all about throwing things with your mind.
Source: CNET

Marvel's Spider-Man on PS4: Everything we know about Spdey's new game – CNET

The PlayStation 4-exclusive Spider-Man game looks amazing, and you’ll be playing it this September. Here’s what you need to know.
Source: CNET

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171