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

Archivo del Autor: Belen De Leon

2020 BMW 7 Series brings new tech and a whole lot o' grille – Roadshow

Whether you want a V12 or a hybrid, the 7 Series has you covered.
Source: CNET

Researcher shows how popular app ES File Explorer exposes Android device data

Why is one of the most popular Android apps running a hidden web server in the background?

ES File Explorer claims it has over 500 million downloads under its belt since 2014, making it one of the most used apps to date. It’s simplicity makes it what it is: a simple file explorer that lets you browse through your Android phone or tablet’s file system for files, data, documents and more.

But behind the scenes, the app is running a slimmed-down web server on the device. In doing so, it opens up the entire Android device to a whole host of attacks — including data theft.

Baptiste Robert, a French security researcher who goes by the online handle Elliot Alderson, found the exposed port last week, and disclosed his findings in several tweets on Wednesday. Prior to tweeting, he showed TechCrunch how the exposed port could be used to silently exfiltrate data from the device.

“All connected devices on the local network can get [data] installed on the device,” he said.

Using a simple script he wrote, Robert demonstrated how he could pull pictures, videos, and app names — or even grab a file from the memory card — from another device on the same network. The script even allows an attacker to remotely launch an app on the victim’s device.

He sent over his script for us to test, and we verified his findings using a spare Android phone. Robert said app versions 4.1.9.5.2 and above have the open port.

“It’s clearly not good,” he said.

A script, developed by security researcher , to obtain data on the same network as an Android device running ES File Explorer. (Image: supplied)

We contacted the makers of ES File Explorer but did not hear back prior to publication. If that changes, we’ll update.

The obvious caveat is that the chances of exploitation are slim, given that this isn’t an attack that anyone on the internet can perform. Any would-be attacker has to be on the same network as the victim. Typically that would mean the same Wi-Fi network. But that also means that any malicious app on any device on the network that knows how to exploit the vulnerability could pull data from a device running ES File Explorer and send it along to another server, so long as it has network permissions.

Of the reasonable explanations, some have suggested that it’s used to stream video to other apps using the HTTP protocol. Others who historically found the same exposed port found it alarming. The app even says it allows you to “manage files on your phone from your computer… when this feature is enabled.”

But most probably don’t realize that the open port leaves them exposed from the moment that they open the app.

Correction: the bug is in app versions 4.1.9.5.2 and above, not below.


Source: TechCrunch

BeMyEye acquires Streetbee, a Russian crowdsourcing and image recognition provider

London-headquartered BeMyEye has made another acquisition, its third in a little over three years. This time the retail execution monitoring service is purchasing Russian crowdsourcing and image recognition provider Streetbee.

The acquisition will see BeMyEye launch “Perfect Shelf,” which will use image recognition technology to lower the cost for consumer goods companies wanting to get “objective and actionable” in-store insights. These will typically include share of shelf and planogram compliance (the specific placement of products on a store shelf).

More broadly, BeMyEye offers a platform to enable companies and brands to crowdsource various in-store data. This can include checking availability (i.e. stock levels) of a particular product, how prominently an item is displayed, or whether or not it is being marketed or sold in the way retailers and staff have been instructed.

Tasks are sent out to paid members of the public via the BeMyEye app, which could include taking a photo and ‘checking in’ using geolocation as proof that it has been carried out, with the results anonymised and passed on to BeMyEye’s clients. One way to think about the proposition is as a much more scalable version of employing ‘secret shoppers’.

Augmenting these human data gatherers with image recognition technology can speed up data processing and, presumably, make a proposition like BeMyEye even more scalable.

Luca Pagano, CEO of BeMyEye, comments: “Field forces should not be burdened with data collection tasks, instead they should be empowered with action orientated in-store insights so they can focus 100 percent on selling and taking remedial action when and where it is needed. Perfect Shelf enables consumer goods companies to adopt a lean go-to-market strategy, progressively eliminating waste and enhancing field performance at a time when they are under huge pressure to find growth and demonstrate a positive ROI on their field force investments”.

The acquisition also extends BeMyEye’s reach to Russia and the CIS countries. With existing coverage in Europe, the combined companies claim aggregate crowd of more than 1.5 Million data gatherers, which will enable consumer goods companies to get a consistent view of in-store performance in 21 countries.

Meanwhile, BeMyEye isn’t disclosing the exact terms of the acquisition, although I understand it is an all-stock deal. The entire Streetbee business is being acquired, including the 50-person team, IP and technology. As part of this, the Streetbee founders will be joining BeMyEye in senior roles: Andrey Elisev is joining as CMO, Kirill Nepomnyashchiy is joing as VP Sales Russia and CIS, and Vladimir Lyzo is joining as Head of Image Recognition Development.

This news comes after BeMyEye’s acquisition of its largest French competitor, LocalEyes, in 2016, and U.K. operator Task360 in 2017.


Source: TechCrunch

Doctolib details how telemedicine appointments work

French startup Doctolib announced back in September that it would open up telemedicine appointments on its platform in 2019. The company is taking advantage of recent legal changes that finally make telemedicine legal in France.

Doctolib is a marketplace matching patients with health practitioners — 70,000 practitioners and 1,400 medical institutions use it in France and Germany. Each health professional pays €109 per month to access the service ($124).

By replacing your calendar with Doctolib, you save a ton of time. You no longer have to pick up the phone constantly and say when you’re available and not available. Everything stays in sync between the public website and your calendar.

And now, all practitioners can go beyond face-to-face appointments. If they start accepting telemedicine appointments, patients will be able to book a remote appointment. The company has been testing the new service with 500 practitioners.

After configuring the service, patients can start a video chat when it’s time to talk with their doctor. Once the call is done, patients pay on Doctolib’s website. They can then access prescriptions in their user accounts.

Doctolib won’t take a cut on each transaction. The startup is selling this services as an add-on instead. Practitioners can choose to pay €79 per month ($90) on top of their standard Doctolib plan to start accepting remote appointments.

This is a great way to boost the company’s bottom line and also a seamless experience for everyone involved. Practitioners can accept video calls from Doctolib’s interface and patients don’t have to use another service.

Those appointments comply with France’s national healthcare system. Patients get reimbursed just like a normal appointment. But there are some legal restrictions.

In particular, you can’t book a remote appointment and get reimbursed if the doctor doesn’t know you already. So Doctolib only lets you book remote appointments with practitioners you’ve physically seen over the last 12 months. But that feature could still be particularly useful to renew your prescription and other minor medical stuff.


Source: TechCrunch

Grab moves to offer digital insurance services in Southeast Asia

Grab is Southeast Asia’s top ride-hailing firm, thanks in no small part to its acquisition of Uber’s local business last year, but the company also houses an ambitious fintech arm, too. That just added another vertical to its business after Grab announced it is teaming up with China’s ZhongAn to introduce insurance.

Grab and ZhongAn International, the international arm of the Chinese insurance giant, said today they will create a joint venture that will provide digital insurance services across Southeast Asia. Grab said the new business will partner with insurance companies to offer the services via its mobile app. Chubb — a company that already works with Grab to offer micro-loans to its drivers — is the first partner to commit, it’ll offer insurance for Grab drivers starting in Singapore.

ZhongAn is widely-lauded for being China’s first digital-only insurance platform. It’s backed by traditional insurance giant PingAn and Chinese internet giants Tencent and Alibaba.

Grab’s move into digital insurance comes a day after Singapore Life, an online insurer in Singapore, closed the second part of a $33 million funding round aimed at expanding its business in Southeast Asia.

This ZhongAn partnership adds another layer to Grab’s services and fintech business, which already includes payments — both offline and online — and is scheduled to move into cross-border remittance and online healthcare, the latter being a deal with ZhongAn sibling PingAn Good Doctor.

The push is also part of a wider strategy from Grab, which was last valued at over $11 billion and is aiming to turn its app from merely ride-hailing to an everyday needs app, in the style of Chinese ‘super apps’ like Meituan and WeChat.

Indeed, Grab President Ming Ma referenced that very ambitious calling the insurance products “part of our commitment to becoming the leading everyday super app in the region.”

Last summer, Grab opened its platform to third-parties which can lean on its considerable userbase — currently at 130 million downloads — to reach consumers in Southeast Asia, where the fast-growing ‘digital economy’ is tipped to triple to reach $240 billion by 2025. Grab’s platform has welcomed services like e-grocer HappyFresh, deals from travel giant Booking and more.

Grab has also made efforts to develop the local ecosystem with its own accelerator program — called ‘Velocity’ — which, rather than providing equity, helps young companies to leverage its platform. It has also made investments, including a deal with budget hotel brand OYO in India, a fellow SoftBank portfolio company that has designs on expansion in Southeast Asia.

Grab itself operates across eight markets in Southeast Asia, where it claims to have completed more than two billion rides to date. The company is currently raising a massive Series H fund which has already passed $3 billion in capital raised but has a loftier goal of reaching $5 billion, as we reported recently.

Go-Jek, Grab’s chief rival, is expanding its business outside of Indonesia after launching in Vietnam, Thailand and Vietnam. Like Grab, it, too, offers services beyond ride-hailing and the company — which is backed by the likes of Meituan, Google and Tencent — is close to finalizing a new $2 billion funding round for its battle with Grab.


Source: TechCrunch

YouTube will “ramp up” enforcement of its policies against dangerous challenges and pranks

YouTube announced several policy updates today, including more stringent enforcement of its ban on videos of dangerous challenges and pranks.

In a FAQ posted to its support site, YouTube wrote “we’ve updated our external guidelines to make it clear that challenges like the Tide Pod challenge or the Fire challenge, that can cause death and/or have caused death in some instances, have no place on YouTube.” Its policies also extend to pranks “with a perceived danger of serious physical injury,” like home invasion or drive-by shooting pranks.

While YouTube did not mention it, its announcement comes the day after a teenager crashed a car while driving blindfolded for the Bird Box challenge, inspired by the Netflix movie of the same name. The meme, which involves doing different things while blindfolded, became popular enough that Netflix itself issued a warning (“PLEASE DO NOT HURT YOURSELVES WITH THIS BIRD BOX CHALLENGE”) earlier this month.

YouTube also said it bans videos of pranks that can “cause children to experience severe emotional distress, meaning something so bad it could leave the child traumatized for life.” The platform said it worked with child psychologists “to develop guidelines around the types of pranks that cross this line. Examples include, the fake death of a parent or severe abandonment or shaming for mistakes.”

The psychological well-being of children featured in videos gained attention in 2017 when DaddyOFive, a YouTube channel run by Mike and Heather Martin, was taken down after users became concerned about the abusive nature of the pranks played by the Martins on their young children. The Martins ended up losing custody of two of the children, who were returned to their biological mother, and entering an Alford plea to child neglect charges, resulting in five years of supervised probation.

In addition to updating its pranks and challenges policy, YouTube said it will also begin issuing strikes for custom thumbnails that violate policies by showing pornography or graphic violence, as well as external sites linked to YouTube that don’t follow community guidelines.

YouTubers have two months during which videos that violate those guidelines will be removed, but they won’t be issued a strike. After the grace period is up, videos will be removed and their creators may also be issued a strike.


Source: TechCrunch

Captain Marvel: The hero may be the savior Tony Stark needs – CNET

Grab your pager and get ready to head back to the 1990s for a solo film about a Marvel heroine who just might save the universe. Here’s what we know.
Source: CNET

YouTube updates guidelines to address dangerous pranks, challenges – CNET

YouTube says challenges that put users at risk of serious injury have no place on the site.
Source: CNET

Roku now deleting Infowars from its platform after customer outcry

Roku is deleting the Infowars channel from its platform, a couple days after adding it as a supported channel. In a tweet, Roku said after the channel became available, “we heard from concerned parties and have determined that the channel should be removed from our platform. Deletion from the channel store and platform has begun and will be completed shortly.”

Digiday first reported this morning that Roku had added the Infowars live show hosted by Alex Jones to the platform as supported channel, a decision that was immediately met with protests by customers who threatened to switch to Apple TV and other competitors.

Jones is currently the target of a defamation lawsuit filed by family members of Sandy Hook victims, who say they have experienced harassment, including death threats, as a result of conspiracy theories spread by Jones and Infowars that claim the 2012 elementary school shooting was a hoax. The lawsuit has been in the headlines recently after a judge ruled that victims’ families must receive access to internal Infowars documents.

Roku’s decision to support the Infowars channel was also especially egregious because it was purged from multiple social media and app platforms, including Apple, Facebook, Spotify, YouTube, Twitter, Periscope, Stitcher, Pinterest, LinkedIn and YouPorn for violating their content policies or terms of service, about six months ago.

Earlier today, Roku attempted to defend adding Infowars to its platform by releasing a statement that said in part that “while the vast majority of all streaming on our platform is mainstream entertainment, voices on all sides of an issue or cause are free to operate a channel. We do not curate or censor based on viewpoint. We are not promoting or being paid to distribute InfoWars. We do not have a commercial relationship with the InfoWars.”

TechCrunch has emailed Roku for comment.


Source: TechCrunch

Qualcomm kicks off defense in FTC trial by showing its mobile chip prowess – CNET

The chipmaker brought co-founder Irwin Jacobs and its executive in charge of 4G and 5G to talk up its innovations in wireless.
Source: CNET

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592