Build 574548stable
Module 562708
9,692 characters · in no known chunkDependencies
Required by (121)
49227161075714860267416683467319724447746879779832579706098596103407105289111185128783128846138617139286143547151080154672174459180275190930208882218738220995235693239093246605251333253463258599262797272244284778313998317084317248318009333216334295336126339891340124352043365225371764376728385318396495401843421617430690468689477156480178490714493527510830516188516259516889518598521489525828526369540462549711550560552258554601557722577381639245639719651930665095672957682455686757723028724029726561732071742424744064745299748579753031755584776971777307778768780907784578786115795816797489812633828614829773830215840559845542878831885168885293902527902592914724935462943457950373963765964661970163974800985629
Lazily required by (0)none
Requires (20)
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";let i,r,s,a,o,l,u,c;n.r(t),n.d(t,{encodeProperties:()=>p,isThrottled:()=>ep,analyticsTrackingStoreMaker:()=>K,getOS:()=>es,getDevice:()=>eo,getCampaignParams:()=>eu,ImpressionNames:()=>z.I,ImpressionGroups:()=>$.q,getSuperPropertiesBase64:()=>eh,trackMaker:()=>em,AnalyticsActionHandlers:()=>H,NetworkActionNames:()=>z.D,getSuperProperties:()=>e_,ImpressionTypes:()=>$.z,extendSuperProperties:()=>ed});var d=n(812729),_=n.n(d),h=n(284009),f=n.n(h),E=n(264572).Buffer;function p(e){try{return E.from(JSON.stringify(e)).toString("base64")}catch(e){return null}}n(142703),n(667532),n(321073);var m=n(835245);n(423034);var g=n(80703),A=n(17928),I=n(636537),T=n(187207),S=n(818348);let N="x-science-test",C=1500,y=0,O=0,R=0,v=0,b=0,L=null,D=0,w=Number.MAX_SAFE_INTEGER,P=0,M=0,x=null,U=!1,k=null,G=null;function V(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e+t}let F=window.requestIdleCallback??(e=>setImmediate(()=>e())),B=new T.n,H={handleConnectionOpen:()=>{},handleConnectionClosed:()=>{},handleFingerprint:()=>{},handleTrack:()=>{},handleSetAnalyticsToken:()=>{}},j=[],W=null,Y=()=>Promise.resolve({sessionId:void 0}),K=e=>{let{dispatcher:t,actionHandler:n,getFingerprint:s,getSessionId:a=Y,TRACKING_URL:o,drainTimeoutOverride:l,waitFor:u,scheduleWhenIdle:c=F,getLaunchSignature:d=()=>null}=e;function _(){return 0!==j.length&&(null!=r?null!=i:null!=s())}function h(e){let{shouldFlushOnNextTick:t=!1}=e;null==W&&_()&&(W=t?setTimeout(f,0):c(f,{timeout:C}))}function f(){if(W=null,!_())return Promise.resolve();let e=j.slice();j=[],D=V(D);let t=e.length;w=Math.min(w,t),P=Math.max(P,t),M=V(M,t);let n=E(e);return n.then(()=>{e.forEach(e=>{e.resolve?.()}),R=V(R)},t=>{j.unshift(...e),v=V(v);let{message:n}=t.body||t;console.warn("[AnalyticsTrackingStore] Track:",n)}),n}function E(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o,n=Date.now(),r=e.map(e=>({...e,properties:{...e.properties,client_send_timestamp:n}})),s={};return U||(G=(0,m.A)(),s[N]=G,U=!0),I.Bo.post({url:t,headers:s,body:{token:i,events:r},retries:3,rejectWithError:!1}).then(e=>(s[N]&&(k=e?.headers?.[N]??null),e))}function p(){let e={type:S.bZ.CLIENT_TELEMETRY,properties:{client_track_timestamp:Date.now(),rpc_success_count:R,rpc_failure_count:v,first_seen_event_sequence_number:b,last_seen_event_sequence_number:y,telemetry_period_start_timestamp:L,telemetry_period_end_timestamp:Date.now(),event_queue_rejection_count:O,event_queue_batch_count:D,event_queue_batch_min_size:w===Number.MAX_SAFE_INTEGER?0:w,event_queue_batch_max_size:P,event_queue_batch_avg_size:D>0?M/D:0,science_request_id:G,science_response:k,launch_signature:d()}};return O=0,R=0,v=0,D=0,w=Number.MAX_SAFE_INTEGER,P=0,M=0,L=Date.now(),b=y,E([e],S.mX.CLIENT_TELEMETRY)}C=l??1500,H.handleConnectionOpen=function(e){let{analyticsToken:t,user:n}=e;return null!=t&&(i=t),null!=n.id&&(r=n.id),!function(){if(null!=x)return;let e=()=>{x={type:"timeout",id:setTimeout(()=>{p(),e()},Math.max(36e5+(Math.floor(36e4*Math.random()*2)-36e4),6e4))}};x={type:"timeout",id:setTimeout(()=>{p(),e()},Math.floor(354e4*Math.random()+6e4))}}(),h({shouldFlushOnNextTick:!1}),!1},H.handleConnectionClosed=function(){return f(),function(){if(null==x)return;switch(x.type){case"timeout":clearTimeout(x.id);break;case"interval":clearInterval(x.id);break;default:x.type}x=null}(),i=null,r=null,!1},H.handleFingerprint=function(){return f(),!1},H.handleTrack=function(e){let{event:t,properties:n,flush:i,fingerprint:o,resolve:l}=e;return a().then(e=>{let{sessionId:a}=e,u={type:t,fingerprint:o,properties:{client_track_timestamp:Date.now(),client_heartbeat_session_id:a,event_sequence_number:++y,...n},resolve:l},c=function(e){if(null!=r)return r;let t=e.fingerprint??s();return null!=t?(0,g.d)(t):null}(u);if(null!=c&&(u.properties.client_uuid=B.generate(c)),j.push(u),j.length>1e4){let e=j.length-1e4;O=V(O,e),j=j.slice(-1e4)}i?h({shouldFlushOnNextTick:!0}):h({shouldFlushOnNextTick:!1})}),!1},H.handleSetAnalyticsToken=function(e){let{analyticsToken:t,userId:n}=e;return null==i&&null!=t&&(i=t,r=n,h({shouldFlushOnNextTick:!1})),!1};class T extends A.Ay.Store{static displayName="AnalyticsTrackingStore";initialize(){null!=u&&this.waitFor(...u)}submitEventsImmediately=E}return new T(t,n)};var $=n(412728),z=n(239947),q=n(214958),Z=n.n(q);n(689953);var X=n(70298),Q=n(175259),J=n(506774),ee=n(362474),et=n(71931);let en="deviceProperties",ei="referralProperties",er=window.DiscordNative;if(null!=er){let e,t=er.app.getVersion(),n=er.process.platform,i=er.os.release,r=er.os.arch,a=er.os.appArch,o=er.app.getReleaseChannel(),l=(0,Q.c)();switch(n){case"win32":e="Windows";break;case"darwin":e="Mac OS X";break;case"linux":e="Linux";break;default:e=n}if(s={os:e,browser:"Discord Client",release_channel:o||"unknown",client_version:t,os_version:i,os_arch:r,app_arch:a,system_locale:l,has_client_mods:(0,X.b)(),client_launch_id:et.C},Z().name?.toLocaleLowerCase()==="electron"&&(s.browser_user_agent=Z().ua||"",s.browser_version=Z().version||""),"linux"===n){let e=er.crashReporter.getMetadata();s.window_manager=e.wm,s.distro=e.distro,s.runtime_environment=e.runtime_environment,s.display_server=e.display_server}else"darwin"===n?s.os_sdk_version=i?.split(".")[0]:"win32"===n&&(s.os_sdk_version=i?.split(".")[2])}function es(){let{userAgent:e}=window.navigator;if(/Windows/i.test(e))return/Phone/.test(e)?"Windows Mobile":"Windows";if(/(iPhone|iPad|iPod)/.test(e))return"iOS";if(/Android/.test(e))return"Android";if(/(BlackBerry|PlayBook|BB10)/i.test(e))return"BlackBerry";if(/Mac/i.test(e))return null!=window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>2?"iOS":"Mac OS X";else if(/Linux/i.test(e))return"Linux";else return""}function ea(e,t){if(null==e)return"";t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");let n=RegExp(`[\\?&]${t}=([^&#]*)`).exec(e);return null===n||"string"!=typeof n[1]&&n[1].length?"":decodeURIComponent(n[1]).replace(/\+/g," ")}function eo(){let{userAgent:e}=window.navigator;if(/(BlackBerry|PlayBook|BB10)/i.test(e))return"BlackBerry";if(/Windows Phone/i.test(e))return"Windows Phone";if(/Android/.test(e))return"Android";if(/iPhone/.test(e))return"iPhone";if(/iPad/.test(e))return"iPad";else return""}let el="utm_source utm_medium utm_campaign utm_content utm_term".split(" ");function eu(e){let t={};return el.forEach(n=>{let i=ea(e,n);i.length>0&&(t[n]=i)}),t}function ec(){let e,t={};return t.referrer=document.referrer,t.referring_domain=(e=document.referrer.split("/")).length>=3?e[2]:"",t={...t,...eu(window.location.href),...function(){let e,t={},n=document.referrer,i=0===(e=document.referrer).search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null;if(null!=i){t.search_engine=i;let e=ea(n,"yahoo"!==i?"q":"p");e.length>0&&(t.mp_keyword=e)}return t}()}}if(null==s)try{s=function(){let e=J.w.get(en);if(null==e){let t;(t={}).os=es(),t.browser=function(){let{userAgent:e,vendor:t=""}=window.navigator,{opera:n}=window;if(n)return/Mini/.test(e)?"Opera Mini":"Opera";if(/(BlackBerry|PlayBook|BB10)/i.test(e))return"BlackBerry";if(/FBIOS/.test(e))return"Facebook Mobile";if(/CriOS/.test(e))return"Chrome iOS";if(/Apple/.test(t))return/Mobile/.test(e)||null!=window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>2?"Mobile Safari":"Safari";else if(/Android/.test(e))return/Chrome/.test(e)?"Android Chrome":"Android Mobile";else if(/Edge/.test(e))return"Edge";else if(/Chrome/.test(e))return"Chrome";else if(/Konqueror/.test(e))return"Konqueror";else if(/Firefox/.test(e))return"Firefox";else if(/MSIE|Trident\//.test(e))return"Internet Explorer";else if(/Gecko/.test(e))return"Mozilla";else return""}(),t.device=eo(),t.system_locale=(0,Q.c)(),t.has_client_mods=(0,X.b)(),e=t,J.w.set(en,e)}let t=J.w.get(ei);null==t&&(t=ec(),J.w.set(ei,t));let n=ee.u.get(ei);if(null==n){var i;let e;i=ec(),e={},Object.keys(i).map(t=>e[`${t}_current`]=i[t]),n=e,ee.u.set(ei,n)}return{...e,...{...{browser_user_agent:window.navigator.userAgent||"",browser_version:Z().version||""},os_version:Z()?.os?.version??""},...t,...n}}()}catch(e){s={}}function ed(e){a=p(s={...s,...e})}function e_(){return s}function eh(){return a}ed((o={},(l=window.GLOBAL_ENV.RELEASE_CHANNEL)&&(null==o.release_channel||""===o.release_channel)&&(o.release_channel=l.split("-")[0]),isNaN(u=parseInt("574548",10))||(o.client_build_number=u),null==(c=er?.app.getBuildNumber())||isNaN(c)||(o.native_build_number=c),o.client_event_source=function(){try{if(__OVERLAY__)return"OVERLAY"}catch(e){}return null}(),o.has_client_mods=(0,X.b)(),o.client_launch_id=et.C,o));let ef={},eE={};function ep(e){return null!=ef[e]&&ef[e]>Date.now()}let em=e=>{let{addBreadcrumb:t,analyticEventConfigs:i,dispatcher:r,TRACK_ACTION_NAME:s}=e,a=function(e,t,n){return new Promise(i=>{r.dispatch({type:s,event:e,properties:t,flush:n?.flush??!1,fingerprint:n?.fingerprint,resolve:i})})};return function(e,r){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null!=n.g.isServerRendering&&!0===n.g.isServerRendering)return Promise.resolve();let o=r??{},l=i[e];if("function"==typeof l&&(l=l(o)??null),null!=l)if("throttlePeriod"in l){let t=[e,...l.throttleKeys(o)].join("_");if(ep(t)||"number"==typeof l.throttlePercent&&Math.random()>l.throttlePercent)return Promise.resolve();if(l.deduplicate){let e=eE[t];if(_()(e,o))return Promise.resolve();eE[t]=o}ef[t]=Date.now()+l.throttlePeriod}else if("throttlePercent"in l){if(Math.random()>l.throttlePercent)return Promise.resolve()}else f()(!1,`Unsupported analytics event config: ${l}`);return t?.(e),a(e,r,s)}}}