CINXE.COM

<!doctype html> <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-users/index" data-has-hydrated="false"> <head> <meta charset="UTF-8"> <meta name="generator" content="Docusaurus v3.3.2"> <title data-rh="true">What is RuStore and how it works</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://www.rustore.ru/help/en/users/about-rustore"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" property="og:locale:alternate" content="ru"><meta data-rh="true" property="og:locale:alternate" content="zh"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="What is RuStore and how it works | Документация RuStore"><meta data-rh="true" name="description" content="About RuStore"><meta data-rh="true" property="og:description" content="About RuStore"><link data-rh="true" rel="icon" href="/help/en/favicon.svg"><link data-rh="true" rel="alternate" href="https://www.rustore.ru/help/users/about-rustore" hreflang="ru"><link data-rh="true" rel="alternate" href="https://www.rustore.ru/help/en/users/about-rustore" hreflang="en"><link data-rh="true" rel="alternate" href="https://www.rustore.ru/help/zh/users/about-rustore" hreflang="zh"><link data-rh="true" rel="alternate" href="https://www.rustore.ru/help/users/about-rustore" hreflang="x-default"><link data-rh="true" rel="canonical" href="https://www.rustore.ru/help/en/users/about-rustore"><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-3R5JQM4WFB")</script> <script>!function(e,t,c,r,a,n,s){e[a]=e[a]||function(){(e[a].a=e[a].a||[]).push(arguments)},e[a].l=1*new Date;for(var i=0;i<document.scripts.length;i++)if(document.scripts[i].src===r)return;n=t.createElement(c),s=t.getElementsByTagName(c)[0],n.async=1,n.src=r,s.parentNode.insertBefore(n,s)}(window,document,"script","https://mc.yandex.ru/metrika/tag.js","ym"),ym(89370833,"init",{clickmap:!0,trackLinks:!0,accurateTrackBounce:!0,webvisor:!0,ecommerce:"dataLayer"})</script> <noscript><div><img src="https://mc.yandex.ru/watch/89370833" style="position:absolute; left:-9999px;" alt=""></div></noscript> <script id="__xray__">var xray=function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(e){return e&&"object"===t(e)&&!i(e)}function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function o(){for(var t,i={},n=0;n<arguments.length;++n)for(var r in t=arguments[n])i[r]=i[r]&&e(i[r])&&e(t[r])?o(i[r],t[r]):t[r];return i}function n(t){var e=encodeURIComponent(JSON.stringify(t));return{size:e.length,raw:e}}function r(){this._batchesByUrls={},this._timeoutId=null,this._config={maxBatchSize:6e4,maxChunkSize:4e3,timeout:1e3,idle:!1},window&&"function"==typeof window.addEventListener&&window.addEventListener("beforeunload",this.process.bind(this,!0))}function a(t){return"s".concat(t,"s").replace(/s+/g,"s").replace(/^s$/g,"")}function s(t){for(var e in t)(void 0===t[e]||null===t[e])&&delete t[e];return t}function d(t,e){for(var i=-1,o=0;o<t.length;o++)if(e===t[o]){i=o;break}return i}function f(){this._config={xrayRadarUrl:"https://xray.mail.ru",pgid:(Date.now()+Math.random()).toString(36),radarPrefix:"",r:"undefined"!=typeof document&&document.referrer||"",defaultParams:{p:"mail",t_feature:"",v:1,skipdwh:!1}}}function c(t,e){for(var i=t.split("&"),o=i[0],n={},r=1;r<i.length;++r){var a=i[r].split("="),s=decodeURIComponent(a[0]),d=decodeURIComponent(a[1]);try{d=JSON.parse(d)}catch(t){}n[s]=d}(e=e||{}).immediately?P.sendImmediately(o,n,e.ga):P.send(o,n,e.ga)}var g=[],l={maxSize:500,getLog:function(){return Array.prototype.slice.call(g,0)},clear:function(){g=[]}},u=function(){try{(console.debug||console.log).apply(console,arguments)}catch(t){}},p=function(){try{console.error.apply(console,arguments)}catch(t){}},h=function(){try{console.warn.apply(console,arguments)}catch(t){}},_=["p","email","split","utm","r","pgid","o_ss","o_v"],y=!1;r.prototype.setConfig=function(t){var e=Math.max;if(!y)return t.timeout=e(1e3,t.timeout||0),this._config=o(this._config,t),void(y=!0);var i=[];for(var n in t)n in this._config?i.push(n):this._config[n]=t[n];i.length&&h("Queue config field(s) "+i.join(", ")+" are already set and can't be modified")},r.prototype.getConfig=function(){return o(this._config,{})},r.prototype.push=function(t,e){!function(t){for(g.push(t);g.length>l.maxSize;)g.shift()}(e);var i=t+"/batch?"+r._buildQueryString(e),o=n(e=r._stringifyParams(e));if(o.size+2>this._config.maxBatchSize)p("Radar #"+e.uid+" body is too long: "+o.raw);else{this._batchesByUrls[i]||(this._batchesByUrls[i]=[[]]);var a,s=this._batchesByUrls[i];for(a=0;a<s.length;++a){var d=s[a];if(n(d.concat([e])).size<=this._config.maxBatchSize){d.push(e);break}}a===s.length&&s.push([e]),this._timeoutId||"function"!=typeof setTimeout||(this._timeoutId=setTimeout(this.process.bind(this),this._config.timeout))}},r.prototype.process=function(t){for(var e in clearTimeout(this._timeoutId),this._timeoutId=null,this._batchesByUrls){for(var i=this._batchesByUrls[e],o=0;o<i.length;++o)this._send(e,i[o],t);delete this._batchesByUrls[e]}},r.prototype.isIdle=function(){return this._config.idle},r._buildQueryString=function(t){for(var e=[],i=0;i<_.length;++i){var o=_[i],n="string"==typeof t[o]?t[o]:JSON.stringify(t[o]);delete t[o],void 0!==n&&n.length&&e.push(encodeURIComponent(o)+"="+encodeURIComponent(n))}var r=[];for(var a in t.baseQuery)r.push(a);r=r.sort();for(var s,d=0;d<r.length;++d)s=r[d],e.push(encodeURIComponent(s)+"="+encodeURIComponent(t.baseQuery[s]));return delete t.baseQuery,e.join("&")},r.prototype._send=function(t,e,i){var o={url:t,data:"batch="+encodeURIComponent(JSON.stringify(e)),type:"POST",async:!0};if(!this._config.idle){if("undefined"==typeof XMLHttpRequest&&!navigator.sendBeacon)return void fetch(t,{method:o.type,body:o.data}).catch((function(t){p("XRay send failed:",t)}));if(i&&window.navigator.sendBeacon)return void window.navigator.sendBeacon(o.url,o.data);try{var n=new XMLHttpRequest;if("function"==typeof this._config.beforeSend&&!this._config.beforeSend(n,o))return void n.abort();n.open(o.type,o.url,o.async),n.withCredentials=!this._config.withoutCredentials,n.send(o.data)}catch(t){p("xray.send failed:",t)}}},r._stringifyParams=function(t){var e={};for(var i in t)"i"!=i?e[i]="string"==typeof t[i]?t[i]:JSON.stringify(t[i]):e.i=r._stringifyI(t.i);return e},r._stringifyI=function(t){var e=[];for(var i in t){var o=t[i];e.push(i+":"+o)}return e.join(",")};var m=0,v=["radarPrefix","split","r","pgid","utm","o_ss","o_v"],w=!1,b=new r,C="xray_rlog_dot_error",S="xray_rlog_msg_abs",x="xray_too_long",I="xray_not_configured";f.prototype.logger=l,f.prototype.setConfig=function(t,e){t=t||{},w&&this._deleteProtectedParams(t),this.unsafeSetConfig(t,e)},f.prototype.unsafeSetConfig=function(t,e){w=!0,(t=t||{}).split&&(t.split=a(t.split)),t.defaultParams&&t.defaultParams.i&&(t.defaultParams.i=this._formatIntervals(t.defaultParams.i),delete this._config.defaultParams.i),this._config=e?t:o(this._config,t),t.gaTrackingId&&this._initGA(t.gaTrackingId)},f.prototype._deleteProtectedParams=function(t){for(var e=0;e<v.length;++e)delete t[v[e]];return t},f.prototype.addSplit=function(t){this._config.split=a("".concat(this._config.split||"","s").concat(t))},f.prototype.getConfig=function(){return o(this._config,{})},f.prototype.getTotalSended=function(){return m},f.prototype.setQueueConfig=r.prototype.setConfig.bind(b),f.prototype.getQueueConfig=r.prototype.getConfig.bind(b),f.prototype.getInstanceCopy=function(){var t=new f;return w=!1,t.setConfig(this._config,!0),t},f.prototype.send=function(t,e,i){this._send(t,e,i,!0)},f.prototype._send=function(t,e,n,r){if(r&&!w&&t!==I){var a=e||{};a.t=t,this._logOwnError(a,I),h("Your xray instance is not configured")}if(e=o(e||{},{}),this._config.middlewares)for(var s=0;s<this._config.middlewares.length;s++){var d=(0,this._config.middlewares[s])(t,e,n);t=d.t,e=d.params,n=d.ga}t=i(t)?t.join("_"):t,e.i&&(e.i=this._formatIntervals(e.i)),(e=o(this._config.defaultParams,this._config.expid?{dwh:{expid:this._config.expid}}:{},e,{t:t,split:this._config.split,r:this._config.r,pgid:this._config.pgid,utm:this._config.utm,o_ss:this._config.o_ss,o_v:this._config.o_v,baseQuery:this._config.baseQuery,uid:m++})).skipdwh&&e.dwh&&delete e.dwh;for(var f=[e.t_feature,this._config.radarPrefix],c=0;c<f.length;++c)f[c]&&(e.t=f[c]+"_"+e.t);delete e.t_feature;try{e=this._validateParams(e,r)}catch(t){return u("xray",e.uid,e),void p(t.message)}if(this._config.verbose&&u("xray",e.uid,e.t,e,n?"GA: "+!!n:void 0),b.push(this._config.xrayRadarUrl,e),!0!==n||this._config.gaTrackingId){var g="string"==typeof n?n:this._config.gaTrackingId;if(n&&g&&!b.isIdle()){if(e.i){for(var l in e.i)this._sendGA(t+"_"+l,e.i[l],g);return}this._sendGA(t,e.v,g)}}else p("Radar #"+e.uid+": no GA tracking id specified")},f.prototype.sendImmediately=function(t,e,i){this.send(t,e,i),b.process()},f.prototype.addMiddleware=function(t){this._config.middlewares||(this._config.middlewares=[]),-1===d(this._config.middlewares,t)&&this._config.middlewares.push(t)},f.prototype.removeMiddleware=function(t){if(this._config.middlewares){var e=d(this._config.middlewares,t);-1<e&&this._config.middlewares.splice(e,1)}},f.prototype._sendGA=function(t,e,i){"function"!=typeof gtag&&this._initGA(i);var o=t.split(/_/g),n=o[1]||o[0],r=o[1]?o[0]:"",a=o.slice(2).join("_"),s={value:e,send_to:i};r&&(s.event_category=r),a&&(s.event_label=a),gtag("event",n,s)},f.prototype._initGA=function(t){if(!window.gtag){var e=document.createElement("script");e.src="https://www.googletagmanager.com/gtag/js?id="+t,e.type="text/javascript",document.getElementsByTagName("head")[0].appendChild(e),window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)},gtag("js",new Date)}gtag("config",t,{send_page_view:!1})},f.prototype._logOwnError=function(t,e,i){var o="xray_err",n=t.p;n&&(n.length+8+1>32&&(n=n.slice(0,23)),o="".concat(n,"_").concat("xray_err"));var r=t.t;r.length>64&&(r=r.slice(0,64)),this._send(e,{skipdwh:!0,rlog:o,rlog_message:{t:r,err:e,value:i}},!1,!1)},f.prototype._validateParams=function(t,e){(t=s(t)).rlog&&-1!==t.rlog.indexOf(".")&&(e&&this._logOwnError(t,C,t.rlog),p("Radar #".concat(t.uid,": rlog can not contain file extension")),delete t.rlog,delete t.rlog_message),t.rlog&&t.rlog_message||(t.rlog_message&&(e&&this._logOwnError(t,S),p("Radar #".concat(t.uid,": rlog_message would not be sent without rlog"))),delete t.rlog,delete t.rlog_message),function(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}(t.dwh)&&delete t.dwh;var i={32:[t.p,t.rlog],64:[t.p+"_"+t.t]};for(var o in t.i)i[32].push(o),i[64].push(t.p+"_"+t.t+"_"+o);for(var n in i)for(var r=i[n],a=0;a<r.length;++a)if(r[a]&&r[a].length>n)throw e&&this._logOwnError(t,x,r[a].slice(0,n)),new Error("Radar #".concat(t.uid,": value is too long: ").concat(i[n][a])+" (len: ".concat(r[a].length,", limit: ").concat(n,")"));return t},f.prototype._formatIntervals=function(t){if(e(t))return t;var o={};if(i(t)){for(var n,r=0;r<t.length;++r)o[(n=t[r].split(":"))[0]]=+n[1]||this._config.defaultParams.v;return o}if("string"==typeof t){var a=t.split(",");return this._formatIntervals(a)}};var P=new f;return c.setConfig=function(t){P.setConfig(s({verbose:t.verbose,pgid:t.pgid,split:t.split,xrayRadarUrl:t.xrayRadarUrl||t.XRAY_RADAR_URL,radarPrefix:t.radarPrefix||t.RadarPrefix,utm:t.utm,o_ss:t.o_ss,o_v:t.o_v,baseQuery:t.baseQuery,gaTrackingId:t.gaTrackingId||t.GA_TRACKING_ID,defaultParams:t.defaultParams||s({p:t.project,email:t.ActiveEmail})})),P.setQueueConfig(s({maxBatchSize:t.MAX_BATCH_SIZE,maxChunkSize:t.MAX_CHUNK_SIZE,beforeSend:t.beforeSend,timeout:t.timeout,idle:t.idle,withoutCredentials:t.withoutCredentials}))},c.getConfig=f.prototype.getConfig.bind(P),c.addSplit=f.prototype.addSplit.bind(P),c.unsafeSetConfig=f.prototype.unsafeSetConfig.bind(P),c.setQueueConfig=f.prototype.setQueueConfig.bind(P),c.getQueueConfig=f.prototype.getQueueConfig.bind(P),c.getTotalSended=f.prototype.getTotalSended.bind(P),c.send=f.prototype.send.bind(P),c.sendImmediately=f.prototype.sendImmediately.bind(P),c.getInstanceCopy=f.prototype.getInstanceCopy.bind(P),c.addMiddleware=f.prototype.addMiddleware.bind(P),c.removeMiddleware=f.prototype.removeMiddleware.bind(P),"undefined"!=typeof window&&"function"==typeof window.define&&window.define.amd&&window.define("@mail/xray",(function(){return c})),c}()</script> <script id="__xray-init__">xray.setConfig({defaultParams:{idle:!1,p:"rustore-help"}}),xray.send("pk-xray-ready")</script> <script id="__user-keeper__">var userKeeper=function(){"use strict";var n=[],e=void 0,t=Date.now,r=t(),o="object"==typeof performance&&performance,u=function(){return o?o.now():t()-r},c=function(t,r){n.push([t,0,r!=e?r:u()])},i=function(t,r,o){r==e||r>=0||r<0||(o=r,r=e),n.push([t,1,r!=e?r:u(),o])};return n.add=function(n,e,t,r){c(n,e),i(n,t,r)},n.time=c,n.timeEnd=i,n}()</script> <script id="__core-keeper__">var coreKeeper=function(e){"use strict";var t="string",r="object",n="function";function o(e,t){return typeof e===t}function a(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!1,value:t[r]})}var i,s=typeof globalThis===r&&globalThis||typeof window===r&&window||typeof global===r&&global||{},c=s.console,u=s.document||{},p=s.location||{},d=s.navigator||{},l=d.connection,f=s.performance,g=function(){},v=o(f&&f.now,n)?function(){return f.now()}:Date.now,m=s.setTimeout.bind(s),h=(s.requestAnimationFrame||m).bind(s),y=(s.addEventListener||g).bind(s),_=null,w=void 0;function b(e){var r,i,s,c=0,u=(e=e||{}).now||v,p=e.warn,d=e.prefix||"",l=e.addons||[],f=[],g=function(e,t,n){for(r=l.length;r--;)l[r][e](t,n)},m=function(e,l,v,h,y,b,k,E,L){e=d+e,(l===s||E)&&(l=!E&&f[0]||_),v[e]&&p&&p("Timer '"+e+"' exists");var S=b==_,x=v[e]={id:++c,name:e,parent:l,unit:h||"ms",start:S?u():b,end:k!=_?k:_,meta:L};function T(e,t,r){(i=v[e=d+e])?o(i.stop,n)?i.stop(t,r):p&&p("Timer '"+e+"'.stop is not a func",{entry:i}):p&&p("Timer '"+e+"' not exists")}return a(x,{stop:function(t,n){if(t==_||t>=0||(n=t,t=w),x.meta=x.meta||n,x.end=t==_?u():t,v[e]=_,y)for(r=f.length;r--;)f[r]===x&&f.splice(r,1);return g("end",x,S),x}}),l&&(l.end!==_&&k==_?p&&p("Timer '"+e+"' stopped"):(x.unit=l.unit,l.entries.push(x))),y&&(x.entries=[],a(x,{add:function(e,t,r,n,o){return m(e,x,v,n,0,t,r).stop(r,o)},time:function(e,t,r){return t>=0||(r=t,t=w),m(e,x,v,r,w,t)},group:function(e,r,n,a){return o(r,"boolean")&&(a=n,n=r,r=_),o(r,t)&&(a=r,r=_,n=0),o(n,t)&&(a=n),m(e,x,v,a,1,r,_,n)},timeEnd:T,groupEnd:T}),!E&&c>1&&f.unshift(x)),g("start",x,S),x};return(s=m(0,_,Object.create(null),"ms",1,0,0,1)).v="2.0.0-rc.28",s.addons=l,s}var k=function(e,t){var r;try{r=new PerformanceObserver((function(e){e.getEntries().map(t)})),r.observe({type:e,buffered:!0})}catch(e){}return r},E=function(e){e&&e.disconnect()},L=function(e,t){try{e&&e.takeRecords().map(t)}catch(e){}},S="hidden",x=!1,T=!1,D=-1,O=function(e,t){x||(x=!0,y("pagehide",(function(e){T=!e.persisted})),y("beforeunload",g)),y("visibilitychange",(function(t){u.visibilityState===S&&e(t.timeStamp,T)}),{capture:!0,once:!!t})};u&&(D=u.visibilityState===S?0:1/0,O((function(e){D=e}),!0));var P=function(){return D};function I(e){var t=this.badge,r=e.unit,n=(e.end-e.start)/("KB"===r?1024:1),o=t+e.name+("none"!==r&&r?": %c"+(r&&"raw"!==r?n.toFixed(3)+r:n):"%c"),a="font-weight:bold;"+function(e,t){return"color:#"+((e="KB"===t?e/8:"fps"===t?70-e:e)<5?"ccc":e<10?"666":e<25?"333":e<50?"f90":e<100?"f60":"f00")}(n,r);"entries"in e?((c.groupCollapsed||c.group)(o,a),e.entries.forEach(I,this),c.groupEnd()):c.log(o,a)}var R,j,C=b({addons:/pk-print/.test(p)?[(R={badge:"üîÖ"},{start:g,end:function(e){e.parent||I.call(R,e)}})]:[]}),q=function(e,t,r,n,o,a){h((function(){var i=C.group(e,t,o);for(var s in n)if(n.hasOwnProperty(s)){var c=n[s];i.add(s,c[0],c[1],c[2])}i.stop(r,a)}))},A=d.deviceMemory,M=f.hardwareConcurrency,K=M<=4||A<=4,z=M>4||A>4?"high":K?"low":"unk",$=K||l&&(["slow-2g","2g","3g"].indexOf(l.effectiveType)>-1||l.saveData)?"low":"high",H=((j={})["type_"+z]=[0,1],j["exp_"+$]=[0,1],j);A&&(H.memory=[0,A]),M&&(H.hardware_concurrency=[0,M]),q("pk-device",0,1,H,"raw");var X=0,B=function(){try{var e=f.getEntriesByType("navigation")[0],t=e.fetchStart,r=e.domainLookupStart,n=e.domainLookupEnd,o=e.requestStart,a=e.responseStart,i=e.responseEnd,s=e.domComplete,c=e.domInteractive,u=e.domContentLoadedEventEnd,p=e.loadEventEnd;i&&0===X&&(X=1,q("pk-nav-net",t,i,{dns:[r,n],tcp:[n,o],request:[o,a],response:[a,i]})),s&&1===X&&(X=2,q("pk-nav-dom-ready",i,s,{interactive:[i,c],"content-loaded":[c,u],complete:[u,s]})),p&&2===X&&(X=3,q("pk-nav-dom-load",i,p,{ready:[i,s],load:[s,p]})),3!==X&&m(B,250)}catch(e){}};B();var N,U=function(e,t,r){return e<=t?"good":e<=r?"needs-improvement":"poor"},G=0,J=0,F=function(e){var t,r,n,o=e.startTime,a=e.processingStart-o;o<P()&&(a&&q("pk-fid",0,a,((t={value:[0,a]})["score_"+U(a,100,300)]=[0,a],t)),G&&q("pk-tbt",0,G,((r={value:[0,G]})["score_"+U(G,300,600)]=[0,G],r)),J&&q("pk-tti",0,J,((n={value:[0,J]})["score_"+U(J,3800,7300)]=[0,G],n)),E(N),E(V))},V=k("first-input",F);O((function(){L(V,F)}),!0);var Y={},Q=k("paint",(function(e){var t,r=e.name,n=e.startTime;n<P()&&(Y[r]=[0,n],"first-contentful-paint"===r&&(Y["score_"+U(n,1e3,2500)]=[0,n],q("pk-paint",0,n,Y),t=n,N=k("longtask",(function(e){var r=e.startTime,n=e.duration;r>t&&"self"===e.name&&n>0&&(G+=n-50,J=r+n)})),E(Q)))})),W=0,Z=!1,ee=function(e){var t=e.startTime;t<P()?W=t:re()},te=k("largest-contentful-paint",ee),re=function(){var e;!Z&&W&&q("pk-lcp",0,W,((e={value:[0,W]})["score_"+U(W,2500,4e3)]=[0,W],e)),Z=!0,E(te)},ne=function(){L(te,ee),re()};O(ne,!0),function(e){try{i||(i=new Promise((function(e){["keydown","mousedown","scroll","mousewheel","touchstart","pointerdown"].map((function(t){y(t,e,{once:!0,passive:!0,capture:!0})}))}))),i.then(e)}catch(e){}}(ne);var oe=0,ae=function(e){e.hadRecentInput||(oe+=e.value)},ie=k("layout-shift",ae);O((function(e,t){var r;L(ie,ae),t&&oe&&q("pk-cls",0,oe,((r={value:[0,oe]})["score_"+U(oe,.1,.25)]=[0,oe],r))}));var se=l,ce=function(){var e;q("pk-conn",0,1,((e={downlink:[0,se.downlink],downlinkMax:[0,se.downlinkMax],rtt:[0,se.rtt]})["save_data_"+se.saveData]=[0,1],e["effective_type_"+(se.effectiveType||"unk")]=[0,1],e),"raw")};try{se?(ce(),se.addEventListener("change",ce)):q("pk-conn",0,1,{effective_type_unk:[0,1]},"raw")}catch(j){}var ue=function(){return ue=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},ue.apply(this,arguments)};function pe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function de(e,t){return e(t={exports:{}},t.exports),t.exports}var le=de((function(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Tag=void 0,(r=t.Tag||(t.Tag={})).Core="core",r.Global="gl",r.Self="self",r.Async="async",r.Ignore="ign",r.Known="known",r.API="api",r.Shared="shr",r.Ext="ext",r.ThirdParty="3rd",r.RB="rb",r.Unknown="unk"}));pe(le),le.Tag;var fe=de((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.coreLoggerHMR=t.coreLoggerDispatchKnownError=t.coreLoggerDispatchAPIError=t.coreLoggerDispatchIgnoredError=t.coreLoggerDispatchSelfError=t.coreLoggerDispatchReactError=t.coreLoggerDispatchError=t.getCoreLogger=t.Tag=void 0,Object.defineProperty(t,"Tag",{enumerable:!0,get:function(){return le.Tag}}),t.getCoreLogger=function(){return"undefined"!=typeof coreLogger?coreLogger:void 0},t.coreLoggerDispatchError=function(e,r,n){var o;null===(o=(0,t.getCoreLogger)())||void 0===o||o.dispatchError(e,r,n)},t.coreLoggerDispatchReactError=function(e,r,n){var o;null===(o=(0,t.getCoreLogger)())||void 0===o||o.dispatchReactError(e,r,n)},t.coreLoggerDispatchSelfError=function(e,r,n,o){(0,t.coreLoggerDispatchError)(r,n,{category:e,tag:le.Tag.Self,log:o})},t.coreLoggerDispatchIgnoredError=function(e,r,n,o){(0,t.coreLoggerDispatchError)(r,n,{category:e,tag:le.Tag.Ignore,log:o})},t.coreLoggerDispatchAPIError=function(e,r,n,o){(0,t.coreLoggerDispatchError)(r,n,{category:e,tag:le.Tag.API,log:o})},t.coreLoggerDispatchKnownError=function(e,r,n,o){(0,t.coreLoggerDispatchError)(r,n,{category:e,tag:le.Tag.Known,log:o})},t.coreLoggerHMR=function(e,r){var n=(0,t.getCoreLogger)();if(n){var o=n.errors.rules,a=n.errors.opts.errors,i=e.priority||[];o.set("clear"),a&&a.rules&&(o.set(a.rules),i.push.apply(i,[].concat(a.priority||Object.keys(a.rules)))),r&&(o.set(r.rules),i.push.apply(i,r.priority||[])),o.set(e.rules),o.priority(i);try{n.pkg.v="12.5.0",localStorage.setItem(process.env.LOGGER_LS_PRESET_VER_KEY,"12.5.0")}catch(e){}}}}));pe(fe),fe.coreLoggerHMR,fe.coreLoggerDispatchKnownError,fe.coreLoggerDispatchAPIError,fe.coreLoggerDispatchIgnoredError,fe.coreLoggerDispatchSelfError,fe.coreLoggerDispatchReactError;var ge=fe.coreLoggerDispatchError;fe.getCoreLogger;var ve=fe.Tag,me={name:"@mail-core/dashboard",v:"12.5.0"},he=/^(\d+)\.(\d+)\.(\d+)/,ye=function(e){return"request"in e&&e.data&&"status"in e.data&&"body"in e.data?e.data.status:null},_e={parseStatus:ye},we={tag:ve.API,category:"5XX",silent:!0,log:!0},be=/^(https?:)?\/\/.*?\/+|\/*\?+.+|^\/|api\/+v1\/+/gi,ke=/[^%.a-z\d-]+/g,Ee=/^api_v(\d)/g,Le=/\/*cgi-bin/g,Se=/golang/g,xe=/(^|\/)(\d+|(?:\d|[a-z]+\d)[\da-z]{2,})(?=\/|$)/g,Te=/(^|\/)([0-9-a-f]{2,}-[0-9-a-f-]+)(?=\/|$)/g,De=/(_u?id){2,}|%[%a-z\d._]+/g,Oe=/graphql/g;function Pe(e){return e&&(!e.responseType||"text"===e.responseType)&&e.responseText||""}var Ie=[[/\/(ph|ag)\//,"portal"],[/\/hb\//,"hotbox"],[/\/pkgs\//,"pkgs"],[/\.imgsmail\.ru\//,"imgs"],[/\.filin\.mail\.ru\//,"filin"],[/\bmail\\.ru/,"mail"],[/\/\/top-/,"top"],[/analytics/,"analyt"],[new RegExp("\\/\\/"+location.host+"\\/"),"host"]];function Re(e){for(var t="",r=0,n=Ie;r<n.length;r++){var o=n[r];if(o[0].test(e)){t=o[1];break}}return t||"unk"}var je,Ce="@mail-core/dashboard:timespent_sections",qe={maxSessionPause:5,beforeSend:g,login:"",section:"__base__"},Ae=!1,Me=0;function Ke(e){if(Ne(),e){var t,r=Je(),n=e.section,o=e.login;if(r){for(var a=0,i=r;a<i.length;a++){var s=i[a];if(s.section===n&&s.user_id===o){t=s;break}}if(t){var c=r.indexOf(t);return r[c].last_duration_update_timestamp=We(),r[c].duration_sec=r[c].duration_sec+1,Be(),qe=ue(ue({},qe),e),void Fe(r)}}ze(e),function(e){var t=Ye(e),r=Je();null==r||r.push(t),Fe(r)}(We())}else ze()}function ze(e){if(qe=ue(ue({},qe),e),!Me){var t=(r=$e,o=!1,function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o||(o=!0,n=r(e)),n});return function(e){var t=k("paint",(function(r){var n=r.name;r.startTime<P()&&"first-contentful-paint"===n&&(e(),E(t))}))}(t),void window.setTimeout(t,5e3)}var r,n,o;Be()}function $e(){"hidden"!==u.visibilityState&&He(),y("visibilitychange",(function(){"hidden"===u.visibilityState?Ne():He()}))}function He(){var e=We();Me||(Me=e),Je()?Xe(e):Xe(e,!0),Be()}function Xe(e,t){void 0===t&&(t=!1);var r=Je();if(r){var n=function(e,t){var r=e.filter((function(e){return Ue(e,t)})),n=r.filter(Qe),o=e.filter((function(e){return!Ue(e,t)})),a=o.filter(Qe);return{toSend:r,toReset:n,toLeave:o,toUpdate:a}}(r,e),o=n.toLeave,a=n.toReset,i=n.toSend,s=n.toUpdate;i.forEach(Ve),a.length&&o.push(Ye(e)),s.length&&s.forEach((function(t){t.last_duration_update_timestamp=e,t.duration_sec=t.duration_sec+1})),o.length?Fe(o):function(){try{localStorage.removeItem(Ce)}catch(e){}}()}else if(t)try{localStorage.setItem(Ce,JSON.stringify([Ye(e)]))}catch(e){}}function Be(){Ae||(Ae=!0,je=window.setInterval((function(){Xe(We())}),1e3))}function Ne(){Ae&&(Ae=!1,clearTimeout(je))}function Ue(e,t){return t-e.last_duration_update_timestamp>e.max_session_pause}function Ge(e){return e&&["user_id","section","last_duration_update_timestamp","duration_sec","open_timestamp","max_session_pause"].every((function(t){return e.hasOwnProperty(t)}))}function Je(){var e;try{var t=JSON.parse(localStorage.getItem(Ce)||"");(null==t?void 0:t.length)&&Array.isArray(t)&&t.every(Ge)&&(e=t)}catch(e){}return e}function Fe(e){try{localStorage.setItem(Ce,JSON.stringify(e))}catch(e){}}function Ve(e){var t=e.duration_sec;if(t){var r=ue({domain:location.host,pause_allowed_sec:qe.maxSessionPause},e),n={dwh:r};qe.beforeSend(r),q("pk-timespent",0,t,{duration:[0,t]},"raw",n)}}function Ye(e){return{duration_sec:0,last_duration_update_timestamp:e,open_timestamp:Me,section:qe.section,user_id:qe.login,max_session_pause:qe.maxSessionPause}}function Qe(e){var t=e.user_id,r=e.section;return t===qe.login&&r===qe.section}function We(){return Math.floor(Date.now()/1e3)}var Ze={latency:[30,60,120],route:[200,400,800],"route:cached":[100,300,600],page:[100,200,300],"page:frag":[30,60,120],"page:json":[20,30,60],"inline:code":[100,200,300],fetch:[500,1e3,2e3],"fetch:fast":[100,200,300],"app:load":[300,600,900],"app:init":[150,300,600],"app:render":[300,600,800],"app:ready":[1500,2500,3500],"js:bundle":[200,400,800],"js:bundle:m":[1e3,3e3,7e3],"js:bundle:l":[2e3,5e3,1e4],"css:bundle":[150,300,450],"css:bundle:l":[300,600,800],"srv:resp":[200,400,800],"biz:adv:await":[2e3,3e3,4e3]},et=Object.create(null),tt=!1,rt=null,nt={"pk-app-ready":1,"pk-paint":1,"pk-lcp":1,"pk-cls":1,"pk-fid":1,"pk-tbt":1,"pk-tti":1};function ot(e){for(var t in et)rt[!0===e?"sendImmediately":"send"](t,et[t]);et=Object.create(null),tt=!1}function at(){if(rt)return rt;var e="undefined"==typeof window?{}:window,t=e.require,r=e.xray;try{r=r&&r.send?r:t("@mail/xray")}catch(e){try{r=t("mrg-xray")}catch(e){}}return r}var it=/-a_5\d\d$/;function st(e,t,r,n){var o=n&&n.dwh,a=et[t];a||(a={t:t,v:e,i:{}},o||nt[t]||it.test(t)||(a.skipdwh=!0),o&&!0!==o&&(a.dwh=o),et[t]=a),r?a.i[r.slice(0,32)]=e:a.v=e,tt||(tt=!0,function e(){rt||(rt=at()),rt?h((function(){return ot()})):m(e,100)}())}function ct(e){rt=e||rt}var ut=["good","moderate","needs-imp"],pt=function(e){return void 0===e&&(e=st),{start:g,end:function(t){var r=t.end-t.start,n=t.meta||{},o=Ze[n.score]||n.score,a=t.name+(n.appendix?"-"+n.appendix:"")+(n.postfix||"");if(null===t.parent&&/^(pk|ut)-/.test(a)&&r&&(e(r,a,!1,t.meta),"entries"in t&&t.entries.forEach((function(t){var r=t.end-t.start;r>=0&&e(r,a,t.name)})),o&&3===o.length))for(var i=0;i<4;i++){if(r<=o[i]){e(r,a,ut[i]);break}3===i&&e(r,a,"poor")}}}},dt=Date.now(),lt={},ft=!1,gt=0,vt=!1,mt=null,ht=0,yt=function(){return u.visibilityState},_t=function(){return"visible"===yt()},wt=function(){var e;_t()&&gt++,q("pk-vis-state",0,gt,((e={})[yt()]=[0,1],e))},bt=function(e){return e<P()?"":"idle_"};function kt(e){var t,r=e.type,n=v(),o=n>9e5?"max":n>6e5?"15m":n>3e5?"10m":n>6e4?"5m":n>3e4?"1m":n>15e3?"30s":n>1e4?"15s":n>5e3?"10s":"5s";q("pk-unload",0,n,((t={})[r]=[0,n],t["type_score_"+o]=[0,n],t))}function Et(e){return e<2e3?"fast":e<4e3?"moderate":e<15e3?"slow":e<3e4?"very-slow":"fail"}return e.api=function(e,t){void 0===t&&(t={});var r=t.error,n=t.duration||1,o=t.url,a=t.category,i=t.responseLength,s=0,c=t.status||"unk",u=t.apiStatus||c;if("object"==typeof e){var p="xhr"in e&&e.xhr||"request"in e&&e.request||"status"in e&&"readyState"in e&&e;if("duration"in e&&(n=e.duration||n),"status"in e&&(u=c=e.status),"ok"in e&&(s=4),p&&(c=p.status||c,s=p.readyState||s,i=function(e){var t,r;if(e){r=Pe(e);try{t=r.length||+e.getResponseHeader("content-length")||0}catch(e){}}return t}(p),o=o||p.responseURL),"url"in e&&(o=o||e.url),u=_e.parseStatus(e)||u,t.log5XX&&(c>=500||u>=500)){var d="[HTTP] "+(p?p.status+" "+p.statusText:"No XHR"),l=new Error(c>=500?d:"[API] "+u+" ("+d+")");l.source=o,l.stack="";try{ge(l,{sender:"api",url:o,status:c,apiStatus:u,headers:p&&["content-type","date","x-host","x-request-id","x-mru-json-status","x-mru-request-id"].reduce((function(e,t){return e[t]=p.getResponseHeader(t),e}),{}),response:Pe(p).slice(0,140)},we)}catch(r){ge(r,l,{category:"api",tag:ve.Core})}}}else c=e,u=t.apiStatus||c;var f=C.group("pk-api",0,!0),g=f.add,v="x-"+(!1!==a?function(e){var t=e?e.toLowerCase().replace(be,"").replace(Le,"pl").replace(Te,"$1uid").replace(xe,"$1id").replace(ke,"_").replace(Ee,"v$1").replace(Se,"go").replace(Oe,"gql").replace(De,"_id"):"unk";return t.length>24&&(t=t.replace(/([^_]{3,})/g,(function(e,t){return t.replace(/-/.test(t)?/-([a-z])[a-z]*/g:/([^/-])[aeiou]+/g,"$1").replace(/([^aeiou])(\1+)/,"$1")}))),t.slice(0,24).replace(/[_-]+/g,"_")}(o):a||"unk");g(v+"-hit",0,n),4!==s&&g(v+"-r_"+function(e){return 0===e?"unset":1===e?"open":2===e?"headers":3===e?"loading":4===e?"done":"unk"}(s),0,n),i&&g(v+"-l_"+function(e){var t=1024,r="zero";return null==e?r="unk":e>0&&e<=t?r=1:e>t&&e<=5*t?r=5:e>5*t&&e<=10*t?r=10:e>10*t&&e<=25*t?r=25:e>25*t&&e<=50*t?r=50:e>50*t&&e<=100*t?r=100:e>100*t&&e<=200*t?r=200:e>200*t&&e<=500*t?r=500:e>500*t&&(r="max"),0===r?"zero":r}(i),0,i),g(v+"-h_"+c,0,n),c>=200&&c<300&&g(v+"-a_"+u,0,n),n>3e3&&g(v+"-s_"+function(e){return e<=5e3?"5s":e<=1e4?"10s":e<=3e4?"30s":e<=3e5?Math.ceil(e/6e4)+"m":"max"}(n),0,n),r&&g(v+"-e_"+(r instanceof Error&&r.name||r),0,n),f.stop(n)},e.appReady=function(e){if(!vt){vt=e||!0;var t=v(),r=C.group("pk-app-ready",0,!0),n=bt(t);r.add(e?"fail":"success",0,t),e?(ge(e,null,{category:"app-err",tag:ve.Self}),r.add("error_"+(e.requireType||e.name||"unk"),0,t)):(r.add(n+"total",0,t),r.add(n+"score_"+Et(t),0,t)),r.stop(t)}},e.axiosRpcLike=ye,e.axiosSwaLike=function(e){return"request"in e&&e.data&&"code_number"in e.data?e.data.code_number:null},e.combine=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];for(var n=0;n<e.length;n++){var o=e[n].apply(null,t);if(o)return o}return null}},e.init=function(e){try{!function(e){var t;if(!ft){ft=!0,null==(ht=(lt=e).appReadyTimeout)&&(ht=6e4),ct(e.xray),C.addons.push.apply(C.addons,[pt()].concat(e.systemAddons||[]));var r=v(),n=function(e,t){void 0===e&&(e=""),void 0===t&&(t=1e4);var r=e.match(he);return r&&+r[1]*Math.pow(t,2)+ +r[2]*t+ +r[3]}(me.v)||-1,o=bt(r);q("pk-init",0,r,((t={})["ver_"+n]=[0,1],t[o+"total"]=[0,r],t[o+"score_"+Et(r)]=[0,r],t["tab_"+yt()]=[0,1],t)),function(e){e&&(_e=ue(ue({},_e),e))}(e.api),function(){var e="undefined"!=typeof userKeeper&&userKeeper;if(e){var t=b({prefix:"ut-",addons:C.addons});e.time=t.time,e.timeEnd=t.timeEnd,e.forEach((function(e){0===e[1]?t.time(e[0],e[2],"ms"):t.timeEnd(e[0],e[2],e[3])})),e.length=0}}(),Ke(e.timespent),e.checkCrossOrigin&&setTimeout((function(){var e=document.querySelectorAll("script"),t=e.length;if(t>0){for(var r=C.group("mc-srp",0,!0);t--;){var n=e[t];n.src&&!n.crossOrigin&&r.add(Re(n.src),0,1)}r.stop(1)}}),6e4),y("unload",kt),y("beforeunload",kt),wt(),u.addEventListener("visibilitychange",wt),window.addEventListener("beforeunload",(function(){var e,t,r=v(),n=[[r<(lt.fastCloseLimit||2e3)?"fast":"nofast",r],[gt?"view":"noview",gt],[_t()?"focus":"nofocus",r],[(vt?"":"no")+"ready"+(!!vt!==vt?"-err":""),r]];n.push([n.map((function(e){return e[0]})).join("_"),r]),mt&&(null===(e=at())||void 0===e||e.sendImmediately("pk-close-dupl",{v:r,i:mt})),mt={};for(var o=0,a=n;o<a.length;o++){var i=a[o],s=i[0],c=i[1];mt[s]=c}null===(t=at())||void 0===t||t.sendImmediately("pk-page-close",{v:r,i:mt}),ot(!0)})),ht&&m((function(){if(!vt&&v()<P()){var e={loadTime:Date.now()-dt,timeout:ht},t=d.connection;try{e.effectiveType=t&&t.effectiveType||"<<unk>>",e.hidden=u.hidden,e.visState=u.visibilityState,e.now=v()}catch(e){}ge("AppTimeout: "+ht,e,{category:"app-timeout",tag:ve.Ignore})}}),ht)}}(e||{})}catch(e){var t=at();t&&t.send("pk-init-fail",{rlog:"pk-init-fail",rlog_message:ue(ue(ue({},t.getConfig().defaultParams),e),{message:""+e,stack:e&&e.stack})})}},e.now=v,e.pkg=me,e.setTimespentsConfig=Ke,e.setXRay=ct,e.system=C,e.systemSend=q,e.xray=st,Object.defineProperty(e,"__esModule",{value:!0}),e}({})</script> <script id="__core-keeper-init__">window.coreKeeper&&coreKeeper.init()</script> <script id="__core-logger__">var coreLogger=function(e){"use strict";var n,r=function(){return(r=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)},t=/at\s+(?:([^\s]+)(?:.*?)\()?((?:http|file|\/|:|<|[a-z])[^) ]+:\d+)\)?/,o=/^(.*?)(?:\/<)*@(.*?)$/,a=/^()(https?:\/\/.+)/,c=/^(.*?):(\d+)(?::(\d+))?$/;function i(e){if(null==e)return null;var n=e.match(t);if(null===n&&(n=e.match(o)||e.match(a)),n){var r=n[2].match(c),i={raw:e,fn:void 0===n[1]?"<anonymous>":n[1].trim()||"<anonymous>",file:"",line:0,column:0};return r&&(i.file=r[1],i.line=parseInt(r[2],10)||0,i.column=parseInt(r[3],10)||0),i}return null}!function(e){e.Core="core",e.Global="gl",e.Self="self",e.Async="async",e.Ignore="ign",e.Known="known",e.API="api",e.Shared="shr",e.Ext="ext",e.ThirdParty="3rd",e.RB="rb",e.Unknown="unk"}(n||(n={}));var l=[],u="MCL:onerror",s=!0,f={},p=null,g=!1,y=!1;function v(e,t,o){if(w(e)||((e=new Error(e)).stackOffset=1),e.uniq){var a=!0===e.uniq?e.stack||e.message||e.name:e.uniq;if(f[a])return;f[a]=1}var c=e.rule||("string"!=typeof o?o:{tag:n.Self,category:o});e.detail=e.detail||t,e.rule=c&&r({tag:n.Self,category:"custom"},c),d(e.message,e.source,e.line,e.col,e)}function h(e,n){for(var r=[],t=2;t<arguments.length;t++)r[t-2]=arguments[t];"function"==typeof e&&(r.unshift(n),n=e,e=!1);try{return n.apply(null,r)}catch(n){return n&&"object"==typeof n&&(n.uniq=e),console.error(n),void v(n)}}function d(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var r=!0;if(g&&""===e[1]&&0===e[2]){g=!1,y=!0;var t=JSON.parse;JSON.parse=function(){try{return t.apply(this,arguments)}catch(e){throw e.name="SyntaxError",e.stackOffset=1,e}}}else if(g&&/~|JSON|SyntaxError/.test(e[0]))g=!1;else{var o="undefined"!=typeof location?location.toString():void 0;r=s,function(e){var n=e[4],r=e[1],t=e[2],o=e[3];if(n&&"UhRej"!==n.name){if(r=n.fileName||r,t=n.lineNumber||t||n.line||0,o=n.columnNumber||o||n.col||0,n.stackOffset||!t||!r){var a=function(e){for(var n=e?e.trim().split("\n"):[],r=[],t=0,o=n.length;t<o;t++){var a=i(n[t]);null!==a&&r.push(a)}return r}(n.stack).slice(n.stackOffset||0);a.length&&(t=a[0].line,o=a[0].column,r=a[0].file,n.stack="".concat(n.name,": ").concat(n.message,"\n").concat(a.map((function(e){return e.raw})).join("\n")))}n.source=e[1]=r,n.line=e[2]=t,n.col=e[3]=o}}(e),l.push(e.concat(o)),p&&!f[u]&&h.apply(this,[u,p].concat(e))}for(var a in f)0===a.indexOf("MCL:")&&delete f[a];return r}function m(e){var n=e.reason,r=n;w(n)||(n&&w(n.error)?r=n.error:(r=new Error(n)).name="UhRej",r.detail={sender:"promise",reason:n}),s&&e.preventDefault(),v(r)}function w(e){return e instanceof Error}h.reset=function(){f={}};var k=/\/(.*?)\/([a-z]+)?\.test\((.*?)\)|\s+|([()!])/g,b=/^(!|&&|\|\||[()])$/,O={};function S(e){var n=[],r=String(e||"").trim();if(O[r])return O[r];var t=r.split(k);if(r)for(var o=0;o<t.length;o++){var a=t[o];a&&n.push({op:a}),t[++o]&&n.push({key:t[o+2],re:new RegExp(t[o].replace(/\\/g,"\\"),t[o+1]||"i")}),t[o+=3]&&n.push({op:t[o]})}var c=function(r){for(var t,o,a=!0,c=0,i=0,l=0,u=0,s=0,f=n.length;s<f;s++)if("op"in(t=n[s]))if("("===(o=t.op))i++,"&&"!==c||a||(c=0,l=i);else if(")"===o)l===i&&(l=0),i--;else if(l);else if("!"===o)u++;else{if(c||!b.test(o)||0===s||f-s==1)throw new SyntaxError('Failed operation "'.concat(o,'" (').concat(s,"): ").concat(e));if("||"===(c=o)&&a){if(!i)return a;c=0,l=i}}else if(l);else{if(!(t.key in r))throw new Error('Unknown token "'.concat(t.key,'": ').concat(e));var p=r[t.key],g=null!=p&&!1!==p&&t.re.test(p);u%2&&(g=!g),a=("||"===c||a)&&g,c=0,u=0}return a};return O[r]=c,c}var j={},E=null,x=[],P=[];function C(e,r){E=null;var t=j[e];for(var o in t||(t={test:!1},j[e]=t),r)t[o]=r[o];t.tag=t.tag||n.Unknown,t.category=e,"string"==typeof t.test&&S(t.test)}function R(e){return e&&(x=e,E=null),x}function _(e){var n={},r=null;return h("MCL:match",(function(){null===E&&(E=P.concat(x,Object.keys(j)));for(var t=function(t,o){var a=E[t],c=j[a];if(c&&!n[a]&&(n[a]=1,h("MCL:matchrule:".concat(a),(function(){return function(e,n){var r=!1;if(!0===e)r=!0;else if("function"==typeof e)r=e(n);else if("string"==typeof e)r=S(e)(n);else if(e&&"object"==typeof e)for(var t in r=!0,e){var o=e[t];if(o instanceof RegExp&&!o.test(n[t])){r=!1;break}}return r}(c.test,e)}))))return r=c,"break"},o=0,a=E.length;o<a&&"break"!==t(o);o++);})),r}var I=[],L={category:"unknown",tag:n.Unknown,test:!0,log:!0};function M(e){for(var n=e[0],r=e[1],t=e[2],o=e[3],a=e[4],c={url:e[5]||"",name:a&&a.name||"unk",message:(n||"").toString()||a&&a.message||"<<unknown>>",source:r||"",line:t||0,col:o||0,uniq:a&&a.uniq,stack:a&&a.stack||"",detail:a&&a.detail},i=a&&a.rule||_(c)||L,l=I.length;l--;)h("MCL:notify:".concat(l),I[l],c,i)}var q,N,K=(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var r="object"==typeof window&&window||{},t=null,o=[];function a(){if(null===t)try{t=r.xray&&r.xray.send?r.xray:r.require("@mail/xray")}catch(e){try{t=r.require("mrg-xray")}catch(e){}}return t||null}function c(e){null===t?o.push(e):e(t)}n.getGlobalXRaySync=a,n.getGlobalXRay=c,n.createXRayQueue=function(e){var n=[];return c((function(r){r=e?e(r,n):r,n.push=function(e){r.send.apply(r,e)},n.forEach(n.push),n.length=0})),{send:function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];n.push(e)}}},function e(){null===a()?setTimeout(e,100):(o.forEach(c),o.length=0)}()}(q={exports:{}},q.exports),q.exports);(N=K)&&N.__esModule&&Object.prototype.hasOwnProperty.call(N,"default")&&N.default,K.getGlobalXRaySync,K.getGlobalXRay;var U=K.createXRayQueue,X={name:"@mail-core/logger",v:"12.15.0",cdn:"https://img.imgsmail.ru/hb/e.mail.ru/@mail-core/logger-preset",cdnV2:"https://imgs2.imgsmail.ru/@mail-core/logger-preset",lsKey:"@mail-core/logger:preset:ver"},D={Tag:n,reporters:I,rules:{get:function(){return j},set:function(e){if(E=null,"clear"===e)j={};else for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];C(n,"string"==typeof r?{test:r}:r)}},priority:R,basePriority:function(e){return e&&(P=e,E=null),P},update:C,match:_},opts:{}},G="mclp-".concat(Date.now()),J=document;return e.dispatchError=v,e.dispatchReactError=function(e,n,r){v(e,{sender:"react",info:n},r)},e.errors=D,e.init=function(e){void 0===e&&(e={});var r,t,o,a,c,i,u=window,f=e.errors||{},v=f.rules;if(D.opts=e,v){for(var w in v)if(v.hasOwnProperty(w)){var k=v[w];(k="string"==typeof k?{test:k}:k).log=null==k.log?!1!==f.logByDefault:k.log,k.tag=k.tag||n.Self,C(w,k)}R(f.priority||Object.keys(v))}r=u,t=f.silent,h((function(){p=r.onerror,s=!!t,r.onerror=d,r.addEventListener("unhandledrejection",m),r.addEventListener("error",(function(e){y&&(e.stopImmediatePropagation(),y=!1)})),Object.defineProperty(r,"onerror",{configurable:!1,enumerable:!0,get:function(){return p},set:function(e){p=e}})})),!1!==f.preset&&setTimeout((function n(r){var t="cdn-v0"===e.presetSource?X.cdnV2:X.cdn,o="".concat(t,"/").concat(f.preset||"base"),a=X.v;try{a=localStorage.getItem(X.lsKey)||a}catch(e){}var c=Date.now(),i="".concat(f.presetCacheKey||c-c%36e4,"-").concat(r?c:0);!function(e,n){var r=J.createElement("script");r.type="text/javascript",r.async=!0,r.src=e,r.id=G,!1!==n&&(r.crossOrigin=n||"anonymous");var t=J.getElementById(G),o=J.head;t?o.replaceChild(r,t):o.appendChild(r)}("".concat(o,".js?&v").concat(X.v,"&pv=").concat(a,"&f=").concat(i),e.crossOrigin),setTimeout(n,18e5,1)}),0,0),C("host",{log:!1!==f.logByDefault}),I.push.apply(I,[(o=e.xray,c=o?(null===(a=o.getConfig().defaultParams)||void 0===a?void 0:a.p)||"unknown":"{project}",i=o||U((function(e,n){var r,t=e.getConfig(),o=t.radarPrefix;return c=((null===(r=t.defaultParams)||void 0===r?void 0:r.p)||"unknown")+(o?"_".concat(o):""),n.forEach((function(e){e[1]&&e[1].rlog&&e[1].rlog_message&&(e[1].rlog=e[1].rlog.replace("{project}",c),e[1].rlog_message.project=c)})),e})),function(e,r){var t=null==r.log||r.log,o=r.tag,a=r.category,l={},u={i:l,skipdwh:o!==n.Self};t&&(u.rlog=!0===t?"pk-err-".concat(o===n.API?"".concat(c,"-api"):o===n.Self?"".concat(c,"-self"):o===n.Known?"".concat(c,"-known"):o===n.Ignore?"".concat(c,"-ignore"):a):t,u.rlog_message={v:X.v,err:e,tag:o,category:a,project:c,rule:r.test}),r.silent||(l[o===n.Known?"t-".concat(o,"-c-").concat(a):"t-".concat(o,"-c-").concat(a,"-n-").concat(e.name.replace(/(.)Error/,"$1").toLowerCase())]=1,l["tag-".concat(o)]=1),i.send("pk-err",u)})].concat(e.reporters||[])),function(e){e.forEach(M),e.length=0,e.push=M}(l),!1!==e.checkJSON&&u.chrome&&!u.StyleMedia&&(g=!0,JSON.parse("~"))},e.pkg=X,e.tryCatch=h,Object.defineProperty(e,"__esModule",{value:!0}),e}({})</script> <script id="__core-logger-init__">window.coreLogger&&coreLogger.init({presetSource:"cdn-v0",errors:{silent:!1,preset:"base"}})</script> <script id="__hide_navbar_on_main_no_flash__">document.documentElement.setAttribute("data-show-top-navbar-items",["/","/help","/help/","/help/en/","/help/zh/"].includes(document.location.pathname)?"0":"1")</script> <link rel="preload" as="image" href="/help/logo.png"> <script src="https://www.googletagmanager.com/gtag/js?id=G-3R5JQM4WFB" async></script><link rel="stylesheet" href="/help/en/assets/css/styles.fe3fd28e.css"> <script src="/help/en/assets/js/runtime~main.4cc57beb.js" defer="defer"></script> <script src="/help/en/assets/js/main.ceb04366.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();null!==e?t(e):window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,t("light"))}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav itemscope="" itemtype="http://schema.org/SiteNavigationElement" aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a href="https://www.rustore.ru" target="_blank" rel="noopener noreferrer" class="navbar__brand"><div class="navbar__logo"><img src="/help/en/logo.png" alt="RuStore" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/help/en/logo.png" alt="RuStore" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" itemprop="url" href="/help/en/users/about-rustore"><span itemprop="name">User Documentation</span></a><a class="navbar__item navbar__link" itemprop="url" href="/help/en/developers"><span itemprop="name">Developer Documentation</span></a><a class="navbar__item navbar__link" itemprop="url" href="/help/en/sdk"><span itemprop="name">RuStore SDK</span></a><a class="navbar__item navbar__link" itemprop="url" href="/help/en/work-with-rustore-api"><span itemprop="name">RuStore API</span></a><a class="navbar__item navbar__link" itemprop="url" href="/help/en/guides"><span itemprop="name">Use Cases</span></a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><span itemprop="name"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_DSK9"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>English</span></a><ul class="dropdown__menu"><li><a href="/help" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="ru"><span itemprop="name">Русский</span></a></li><li><a href="/help/en" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="en"><span itemprop="name">English</span></a></li><li><a href="/help/zh" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="zh"><span itemprop="name">中文</span></a></li></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><div class="navbar__search searchBarContainer_NW3z" dir="ltr"><input placeholder="Search" aria-label="Search" class="navbar__search-input"><div class="loadingRing_RJI3 searchBarLoadingRing_YnHq"><div></div><div></div><div></div><div></div></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" itemtype="https://schema.org/WPSideBar" class="menu thin-scrollbar menu_Y1UP"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item" itemprop="name"><a class="menu__link menu__link--active" aria-current="page" href="/help/en/users/about-rustore">What is RuStore and how it works</a></li><li itemprop="name" class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/help/en/users/start">Getting started with RuStore</a><button aria-label="Expand sidebar category &#x27;Getting started with RuStore&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li itemprop="name" class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/help/en/users/authorization">Authorization</a><button aria-label="Expand sidebar category &#x27;Authorization&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li itemprop="name" class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/help/en/users/app-management">App management</a><button aria-label="Expand sidebar category &#x27;App management&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li itemprop="name" class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/help/en/users/purchases-and-returns">Purchases and returns</a><button aria-label="Expand sidebar category &#x27;Purchases and returns&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li itemprop="name" class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/help/en/users/policies">RuStore rules and policies</a><button aria-label="Expand sidebar category &#x27;RuStore rules and policies&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Alpn" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/help/en"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_xK9p"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">What is RuStore and how it works</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><h1>What is RuStore and how it works</h1> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="about-rustore">About RuStore<a href="#about-rustore" class="hash-link" aria-label="Direct link to About RuStore" title="Direct link to About RuStore">​</a></h2> <p>RuStore is a Russian app store developed for Android devices. The RuStore catalog contains almost 4000 games and services offered by technology companies, banks, cellular service providers, marketplaces and other developers. RuStore was launched in May 2022 and has already become the leading Russian app store with over 7 million users.</p> <p>RuStore is being developed by VK and other top IT companies with the support of the Ministry of Digital Development of the Russian Federation, to ensure stable access to most common applications and updates in case of any changes.</p> <p>RuStore makes user security a top priority. All applications are scanned for viruses via Kaspersky Lab&#x27;s security systems and manual moderation.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="our-goal">Our goal<a href="#our-goal" class="hash-link" aria-label="Direct link to Our goal" title="Direct link to Our goal">​</a></h2> <p>RuStore makes sure that you can safely download, buy and update services, games, social networks, marketplaces without any restrictions, as well as pay for in-app subscriptions and goods.</p> <p>As for developers, they can upload games and services to the RuStore, enable monetization, respond to user reviews and view purchase statistics.</p> <p>80% of the most popular Russian services are available on the RuStore. For example, official Sberbank, VTB, Ozon, Wildberries and other large companies&#x27; apps.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-download-and-install-rustore">How to download and install RuStore<a href="#how-to-download-and-install-rustore" class="hash-link" aria-label="Direct link to How to download and install RuStore" title="Direct link to How to download and install RuStore">​</a></h2> <p>You can use RuStore on any device version starting from Android 6.0. To do this, you need to download the RuStore application file from the official website and allow permissions to install unknown applications in your device settings.</p> <p>Upon installation and authorization, you can download free and paid services and games, pay for in-app subscriptions and items using cards of any Russian bank. For your convenience, you can also add your card details in advance to your personal account.</p> <p>Moreover, RuStore users can leave feedback on applications and find new services using a convenient search engine that understands words regardless of language or typos.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/help/en/users/start"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Getting started with RuStore</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#about-rustore" class="table-of-contents__link toc-highlight">About RuStore</a></li><li><a href="#our-goal" class="table-of-contents__link toc-highlight">Our goal</a></li><li><a href="#how-to-download-and-install-rustore" class="table-of-contents__link toc-highlight">How to download and install RuStore</a></li></ul></div></div></div></div></main></div></div></div><footer itemscope="" itemtype="https://schema.org/WPFooter" class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">About the RuStore</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/help/en/users/about-rustore">What is RuStore and how it works</a></li><li class="footer__item"><a class="footer__link-item" href="/help/en/users/start/app-install">How to install RuStore</a></li><li class="footer__item"><a class="footer__link-item" href="/help/en/users/start/update-rustore-app">How to update RuStore</a></li><li class="footer__item"><a class="footer__link-item" href="/help/en/users/app-management/update-failure">What to do if the RuStore update fails</a></li></ul></div><div class="col footer__col"><div class="footer__title">For Users</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/help/en/users/app-management/vk-mini-apps">VK Mini Apps</a></li><li class="footer__item"><a class="footer__link-item" href="/help/en/users/policies/review-moderation">Why my review was not moderated</a></li><li class="footer__item"><a class="footer__link-item" href="/help/en/users/policies/recommendation-technologies">Rules for using RuStore recommendation technologies</a></li><li class="footer__item"><a class="footer__link-item" href="/help/en/users/start/parental-control">How to use &quot;Parental Control&quot;</a></li></ul></div><div class="col footer__col"><div class="footer__title">For Developers</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/help/en/developers/advertising-and-promotion/events">Event requests</a></li><li class="footer__item"><a class="footer__link-item" href="/help/en/developers/publishing-and-verifying-apps/app-publication">Publishing applications</a></li><li class="footer__item"><a class="footer__link-item" href="/help/en/developers/publishing-and-verifying-apps/responses-to-reviews">Working with user reviews</a></li><li class="footer__item"><a href="https://t.me/rustoredev" target="_blank" rel="noopener noreferrer" class="footer__link-item">RuStore Dev Telegram Channel<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/help/en/legal/terms-of-use">User Agreement</a></li><li class="footer__item"><a class="footer__link-item" href="/help/en/legal/privacy-policy-users">Privacy policy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright"> <div class="footer-copyright">©&nbsp;VK,&nbsp;2024</div> <div class="footer-links"> <a href="https://www.rustore.ru/help/legal/terms-of-use" target="_blank">Terms of Use</a> <a href="https://www.rustore.ru/help/legal/privacy-policy-users" target="_blank">Privacy Policy</a> </div> <!-- Core Keeper --> <script>try{coreKeeper.appReady()}catch(e){coreKeeper.appReady(e)}</script> </div></div></div></footer></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10