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

Archivo del Autor: Belen De Leon

How Chrome and other browsers came together to protect you from Spectre

The security teams from major browser developers worked together to protect you from web-based Spectre attacks. For Chrome, Google incorporated a method called site isolation, which isolates the origins of each webpage.

The post How Chrome and other browsers came together to protect you from Spectre appeared first on Digital Trends.


Source: Digital trends

Windows is moving beyond the window, and that’ll make it the best Windows yet

Microsoft didn’t talk much about Windows at Build 2018, but it did talk about two specific features — Timeline, and Sets. They build upon ‘activities,’ a new form of multi-tasking that will change how you use the operating system.

The post Windows is moving beyond the window, and that’ll make it the best Windows yet appeared first on Digital Trends.


Source: Digital trends

The Price of Google's New Conveniences? Your Data

Google introduces new features to make life easier, and to help the company collect more data on users.
Source: Wired

Yahoo is testing Squirrel, an invite-only group messaging app

Messaging apps collectively passed the 5 billion mark for monthly active users last year, with Facebook’s WhatsApp and Messenger on track now to pass 2 billion users apiece. With messaging’s popularity showing no signs of slowing down, a new app is entering the fray in hopes of catching the wave. Yahoo has quietly launched a new iOS and Android messaging app called Squirrel, focused specifically on friend, family and work groups that want to exchange messages and share photos, links and other media.

The key with Squirrel is that access to any group is by invitation-only. That is, you invite people with a link, no need to access your wider set of contacts as part of the process of picking up new group members. That is a critical detail, given both Yahoo’s reputation in the wake of its massive data breach a couple of years ago; and the fact that some may now be turning off to just how much data messaging-dominant platforms like Facebook might have about you, starting with your contacts.

Squirrel was first spotted earlier by AndroidPolice, and Oath (Yahoo’s parent company, which also owns TC) has since confirmed to us that the app is in test mode. The ability to kick off a conversation group is also currently in invitation-only mode, and appears to require a Yahoo login to get started for now.

“At Oath, we’re always looking for creative ways to add value to our members’ lives,” a spokesperson said in an emailed statement. “We listen closely and frequently test new product ideas based on research and feedback. Right now we’re experimenting with a new invite-only messaging app focused on improving group communication in everyday life.”

Yahoo has had a mixed track record when it comes to messaging apps. Yahoo Messenger, first launched 20 years ago in 1998, was one of the early movers and leaders in instant messaging in the days when it was mainly a computer-based chat service. But like other services in that first generation of messaging, its role and functions were swiftly surpassed by faster and more functional mobile-based services, and specifically mobile messaging apps (notably, WhatsApp was created by ex-Yahoo employees).

In the years since, Yahoo has had moderate (but far from blockbuster) success with Yahoo Messenger on mobile, which today ranks at 160 on iOS and 117 on Android in the social networking category, according to App Annie. Other attempts at building new messaging products have been short-lived.

Messaging can be a tough nut to crack.

Squirrel is hoping to find traction by digging into the group experience first rather than offering yet another direct messaging option to users with a group option tacked onto that.

It works a little like old-style IRC, or, if you like, new-style Slack, minus the hundreds of app integrations. Those in a group get access to a main room, and have the option of creating side-rooms for separate topics or conversation threads, which can potentially include 1:1 conversations.

Rooms that are not relevant to you can be muted, and those who are given administration access can send out “blasts”, or alerts for priority messages. All activity in a group also gets logged in a separate feed that highlights your mentions.

From what I understand, some of what Yahoo is trying to do is build a new product around how it sees people already sharing content and conversations in groups in email and its other communications products.

It’s not the only one spotting that opportunity. In addition to the group features of most mobile messaging apps, Facebook — in its new push for “community” — has been expanding and revamping its own approach to groups across its range of products. There are also a fair number of group-first apps, with business-user options including the likes of Slack and Teams, and those for consumers including GroupMe. Is there room for a little Squirrel in the forest of apps?

The idea will be to keep the product in a semi-closed, invite-only mode while Yahoo continues to tweak it, with the plan being to roll it out more widely, making the ability to start a new group open to anyone. We’ll update with more as we learn it.


Source: TechCrunch

Google Play’s new tools will help users and developers manage subscriptions

App revenue continues to climb year-over-year, a large part which can be contributed to the growth of subscription services. Now, Google is looking to make subscribing to apps easier for both consumers and developers alike, with a series of new features announced today at Google’s I/O conference.

On the user’s side of things, the company is launching a new app discovery experience for finding subscription-based apps and tools for managing existing subscriptions.

As the company explained during a breakout session at I/O, consumers are often hesitant to sign up for subscription services because they’re concerned it will be too much of a hassle to cancel — they feel trapped.

Google will address this with a new “subscription center” in Google Play, where users will be able to both explore new subscription apps to try, as well as manage their current subscriptions. Here, they can address issues like updating a payment method that’s expired, for example. Other new features will allow users to add a backup payment method to fall back on for those subscriptions that are critical — like your favorite streaming service, perhaps.

And if you sometimes want to turn a subscription off, then later back on, the new subscription center will support this too with a click of a button.

The demo of the subscription center shown at Google I/O is not the final version, Google cautioned, as it hasn’t fully rolled out just yet.

Meanwhile, the company announced a longer handful of updates to help developers building subscription-based apps.

For starters, it’s offering deeplinks for managing subscriptions that let developers link directly to their app’s page in the end user’s subscription center. This could be useful to include when trying to notify a user that their payment method failed, or to encourage them to renew their subscription because new content has been added, among other things.

Developers will also be able to learn more about their subscription business with updated reporting that lets them drill down into the reasons why users may have canceled — reasons developers can now collect through new “cancel surveys” where they can prompt users to pick an option or fill in their own reason as to why they ended the subscription.

Another new report will offer the flip side to cancellation tracking — it will help track retention, so developers can see retention by SKU, dates and country, allowing them to better see what’s working and where.

The advanced reporting was offered amid a solid handful of other developer features, including the ability to change SKU pricing with Google Play handling getting user confirmation through emails and push notifications; or handling the cancellation process if the user doesn’t agree.

Google also will offer faster test renewals, support for flexible introductory pricing, upgrades with the same renewal date, partial refunds and other refund API improvements.

Some of the features are available now, while others will roll out in the weeks ahead, Google said. (The slide below shows the timing — bold features are live now.)


Source: TechCrunch

Google I/O 2018: How Google’s Duplex Demo Stole the Show

Google’s new “Duplex” technology presents a significant tipping point for machine intelligence–powered virtual assistants.
Source: Wired

Snapchat hosts first Creators Summit after years of neglect

Social media stars have always been treated like nobodies instead of VIPs on Snapchat. Despite pioneering the Stories and creative tools they love, the lack of support saw many drift to YouTube’s ad dollars and Instagram’s bigger audience. Now Snap CEO Evan Spiegel is finally stepping up to win back their favor and their content.

Last night, Spiegel joined 13 top Snapchat stars, ranging from the U.S. to as far as Lebanon, for dinner at the company’s first Creators Summit in LA. Flanked by a dozen Snap execs and product managers, Spiegel tried to impress upon the assembled artists, comedians and storytellers that the company is turning over a new leaf in how it will treat them. Today the creators sat with Snap VP of Content Nick Bell to give the company an unfiltered understanding of the tools they need and give input on Snapchat’s product roadmap.

“The goal of our first creator summit was to listen and learn from them about how we can continue to strengthen opportunities for them on Snapchat — and continue to empower our community to express themselves and have fun together,” Bell told TechCrunch. “We are grateful to each of them for coming to the table with candid feedback and are excited about the possibilities ahead.” Snapchat confirms to TechCrunch it plans to hold more of these Creator Summits.

Mike Metzler, one of the popular Snappers in attendance, told us, “It’s been refreshing. Snap seems very genuinely interested in listening to what we have to say, and committed to making this an important initiative.” But another questioned whether Snapchat was actually going to make changes or was just playing nice.

Creators cast aside

A week after Snapchat launched Stories in 2013, I asked “Who will be the first Snapchat Stories celebrity?” Apparently the young company hadn’t thought that through. It had concentrated entirely on the average American teen, to the detriment of power users and the international market.

Snapchat’s jankily engineered app crashed constantly for stars with too many followers. There were no advanced analytics about who was watching them or easy ways to prove their audience to brand sponsors. There was no support from Snapchat if they got hacked or locked out of their account. There was no ad revenue share. There was no promotion to help people discover their accounts.

Without a direct alternative, creators gritted their teeth and dealt with it. But when Instagram Stories came along, with its massive audience, Explore page and experienced outreach team for dealing with high-profile accounts, some jumped ship. Others focused their attention on Instagram, or YouTube, where they could at least get a cut of the ad money they generated. Users drifted too, leading many stars to see their view counts drop.

The situation came to a head on Snap’s November 2017 Q3 earnings call. With user growth slumping to a new low, Spiegel announced a change of course. “We have historically neglected the creator community on Snapchat that creates and distributes public Stories for the broader Snapchat audience. In 2018, we are going to build more distribution and monetization opportunities for these creators,” Spiegel admitted.

Snap began rolling out its verification badge, an emoji next to the user name, to social media stars instead of just traditional celebrities. With its recent redesign, it began promoting creators for the first time if they made something engaging enough to become a”Popular Story.” And in February it finally launched analytics for creators, which would help them secure sponsorship deals.

Still, Snap hadn’t done much soft diplomacy. While top creators frequent the offices of YouTube and Instagram, few had been to Snapchat HQ. They needed a face to connect the efforts to.

Spiegel and the stars

“[Spiegel] stopped by last night and was so happy to meet us, get to know us, take a selfie,” says CyreneQ, a prolific Snapper and master of its illustration tools. While he didn’t make any grand remarks, apologies, or proclamations, his presence signaled that the push to help creators was more than just talk. When asked how the Summit went, musician/comedian Shonduras told me, “we collaborated on a lot of ideas and it feels solid.”

Snapchat’s redesign moved creators into the Discover section

The biggest concern amongst the creators was growing their view counts. The recent redesign moved stars, brands and other popular people who don’t follow you back out of the friends Stories list and into the Discover section alongside professionally produced editorial content. One creator said that helped them find more fans, but another who asked not to be named said “It hasn’t been kind to my views.”

Bell and Snapchat listened, and informed the group that it’s going to develop a range of “tools and programs to help the creator community,” CyreneQ told me. Pressed for more details, she demurred, “I wish I could tell you but they’ll send ninjas after me.”

Monetization options should be high on Snapchat’s list. As long as creators are essentially producing content for free, they’ll be susceptible to the pull of other products. And if Snap can’t speed up its total user growth, it must find ways to get teens addicted to stars that boost the time they spend in its app.

Snap can’t afford to screw this up. With its user count actually shrinking in March, it needs their dynamic, personal, niche content to keep teens loyal to Snapchat. The whole point of Snapchat was to create a more personal form of social media. It’s tough for movie actors and rock stars to come off feeling vulnerable and approachable. But creators, who were just normal people a few years ago, could help Snapchat bridge the divide between raw intimacy and polished entertainment.


Source: TechCrunch

Equifax filing reveals hack was somehow even worse than previous estimates

The 2017 hack of Equifax, already among the largest ever recorded, just got bigger. Well, they’re admitting that it was bigger than they had previously, which amounts to the same thing. Documents filed with the SEC reveal that more people, more IDs, and more info in general was stolen when the company utterly failed to protect its “users,” many of which didn’t even know they were in the database.

The company revealed various numbers around the time it disclosed the hack, though one it neglected to include was how many millions of dollars in stock were sold by executives before publicly disclosing it. But let’s not linger on their past crimes. I’m sure they’re very sorry!

Amanda Werner, dressed as Monopoly’s Rich Uncle Pennybags, sits behind Richard Smith, CEO of Equifax, during a Senate hearing.

Today’s information was filed with the Securities and Exchange Commission as part of the company’s disclosures regarding the hack. It provided first a handy table listing what was stolen as raw strings of data from Equifax’s inadequately protected databases:

  • Full name: 146.6M
  • Date of Birth: 146.6M
  • Social Security number: 145.5M
  • Full address: 99M
  • Gender: 27.3M
  • Phone number: 20.3M
  • Driver’s license number (incl. 2.4M partials): 17.6M
  • Email address: 1.8M
  • Credit card numbers (with expiration dates): 209,000
  • Individual Tax Identification Number (ITIN/Tax ID): 97,500
  • Driver’s license state: 27,000

Previous estimates of driver’s license numbers leaked were around 10.9 million, and total affected put at 143 million. Sure, the difference between 143 million and 146.6 million is relatively small, but it’s still 3.6 million people.

Secondly the filing includes a table listing images stolen by the attackers. These were “uploaded to Equifax’s online dispute portal by approximately 182,000 U.S. consumers,” the document says.

  • Driver’s license: 38,000
  • Social Security of Taxpayer ID Card: 12,000
  • Passport or Passport Card: 3,200
  • Other: 3,000

It’s unclear why these don’t add up to 182,000, but the images could also have been non-valuable things like forms or pictures of assets.

Imagine the kind of havoc you could wreak with even a few isolated data points from this set. Phishing teams and other scammers must be having the time of their lives: with so much official data to use, it’s that much easier to convince someone that a service or email is legitimate. Images of licenses and passports could lead to more sophisticated fraud at borders or in other government situations as well.

<a href=”https://techcrunch.com/tag/equifax-hack/” target=”_blank” rel=”noopener”><img src=”https://techcrunch.com/wp-content/uploads/2017/09/eq-uifax-hack-banner.png” /></a>


Source: TechCrunch

Google Maps goes beyond directions

Google today announced a new version of Google Maps that will launch later this summer. All of the core Google Maps features for getting directions aren’t going away, of course, but on top of that, the team has now built a new set of features that are all about exploration.

“About a year ago, when we started to talk to users, one of the things we asked them was: how can we really help you? What else do you want Google Maps to do? And one of the overwhelming answers that we got back was just really a lot of requests around helping users explore an area, help me decide where to go,” Sophia Lin, Google’s senior product manager on the Google Maps team, told me. “So we really started digging in to thinking about what we can really do here from Google that would really help people.”

Right now, Google Maps is obviously best known for helping people get where they want to go, but for a while now, Google has featured all kinds of additional content in the service. Many users never touch those features, though, it seems. While I couldn’t get Lin to tell me about the percentage of users who currently use the existing Google Maps exploration tools, this new initiative is also part of an attempt to get users to move beyond directions when they think about Maps.

And because this is Google, that new experience is all about personalization with the help of AI.

So in the new Maps, you’ll find the new “For you” tab that’s basically a newsfeed-like experience with recommendations for you. You’ll be able to “follow” certain neighborhoods and cities (or maybe a place you plan to visit soon), similar to a social networking experience. When Google Maps finds interesting updates in that area — maybe a restaurant that’s trending or a new coffee shop that opens — it’ll tell you about that in your feed.

“People had problems finding out what’s new,” Lin told me. “Sometimes you are really lucky and you’re walking down the street and stumble across something, but oftentimes that’s not the case and you find out about something six months after it opened, so what we started looking into was can we understand, from anonymized population dynamics, what places are trending, what are the places that people are going.”

There are also algorithmically designed “Foodie List” and “Trending this week” lists that show you what’s new and interesting and where the trendmakers in an area are hanging out. As Lin told me, the Foodie List is based on an anonymized cohort analysis that looks at where people who go out a lot gather. Because those are often the first to try new places, too, their movements often tend to presage trends. Similarly, the “Trending” list looks at the overall population, so that list can change based on season, with an ice cream parlor trending in the summer, for example.

For other items in the “For you” feed, Google Maps will actually analyze articles about local news to see what’s new, too.

Lin stressed that the feed isn’t so much about the volume of information but about presenting the right information at the right time and for the right person.

In addition to the “For you” feed, there are also a number of new basic exploration features, which are all powered by AI, too. Maps will generate lists of Michelin-starred restaurants, for example, or popular brunch spots depending on your context and the time of day.

Another major new feature that’s coming to Maps soon is “your match.” If you regularly peruse the star ratings of various restaurants before you decide where to go, then you know that those ratings can only tell you so much. Now, with “your match,” Maps will present you with a personalized score that tells you how closely a restaurant matches your own preferences.

Google Maps learns about those preferences based on how you have rated this and other places and your own preferences, which you can actually set manually in the Google Maps settings once this update goes live. Interestingly, Google does not try to base these scores on how other people like you have rated a place.

The third major new feature of the new app is group planning. Based on the demo I saw, the team actually did a really nice job with this. The general idea here is to allow you to easily create a list of suggestions for a group outing (or just a dinner with your significant other) by long-pressing on a place listing. Google Maps will then pop up a chat head-like bubble that follows you around as you browse for other places. Once you have compiled your list, you can share it with your friends, who can then vote for their favorites.

Google will launch this new Google Maps experience later this summer. It will come to both iOS and Android, though the team hasn’t decided which one will come first yet. For now, all of these new features will only come to the app, not the web.


Source: TechCrunch

Cryptojacking malware was secretly mining Monero on many government and university websites

A new report published by security researched Troy Mursch details how the cryptocurrency mining code known as Coinhive is creeping onto unsuspecting sites around the web. Mursch recently detected the Coinhive code running on nearly 400 websites, including ones belonging to the San Diego Zoo, Lenovo and another for the National Labor Relations Board. The full list is available here.

Notably, the list names a number of official government and education websites, including the Office of the Inspector General Equal Employment Opportunity Commission (EEOC) and sites for the University of Aleppo and the UCLA Atmospheric and Oceanic Sciences program.

Most of the affected sites are hosted by Amazon and are located in the United States and Mursch believes that they were compromised through an outdated version of Drupal:

“Digging a little deeper into the cryptojacking campaign, I found in both cases that Coinhive was injected via the same method. The malicious code was contained in the “/misc/jquery.once.js?v=1.2” JavaScript library. Soon thereafter, I was notified of additional compromised sites using a different payload. However, all the infected sites pointed to the same domain using the same Coinhive site key.

Once the code was deobfuscated, the reference to “http://vuuwd.com/t.js” was clearly seen. Upon visiting the URL, the ugly truth was revealed. A slightly throttled implementation of Coinhive was found.”

Coinhive, a JavaScript program, mines the cryptocurrency known as Monero in the background through a web browser. While Coinhive isn’t intrinsically malicious, it can be injected into unsuspecting code in a “cryptojacking” attack, forcing it to mine Monero without the victim’s knowledge.


Source: TechCrunch

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703