!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"substack@e2042cf"};var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="094136e0-0277-4950-bb3b-9de3e516e5e7",e._sentryDebugIdIdentifier="sentry-dbid-094136e0-0277-4950-bb3b-9de3e516e5e7")}catch(e){}}();"use strict";(self.webpackChunksubstack=self.webpackChunksubstack||[]).push([["37334"],{74084:function(e,t,n){n.d(t,{A:()=>i});let i={backButton:"backButton-fN5V7D",closeButton:"closeButton-YU1ngO",absolute:"absolute-ecQ0HE",imageCloseButton:"imageCloseButton-YQIpP0"}},56778:function(e,t,n){n.d(t,{A:()=>u});var i=n(99851),r=n(4006),s=n(32485),l=n.n(s),o=n(17402),a=n(68349);class u extends o.Component{async componentDidMount(){"undefined"!=typeof window&&(this.ref||await new Promise(e=>setTimeout(e,0)),this.checkVisibility(),(this.props.parent||window).addEventListener("scroll",this.checkVisibility))}componentWillUnmount(){"undefined"!=typeof window&&(this.props.parent||window).removeEventListener("scroll",this.checkVisibility)}render(){let{className:e,children:t}=this.props;return(0,r.Y)("div",{ref:this.assignRef,className:l()("visibility-check",e),children:t})}constructor(...e){super(...e),(0,i._)(this,"ref",void 0),(0,i._)(this,"assignRef",e=>{this.ref=e}),(0,i._)(this,"checkVisibility",()=>{if(!this.ref)return;let e=this.ref.getBoundingClientRect(),t=this.props.threshold||0,n=this.props.parent?this.props.parent.clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight),i=!(e.bottom<0-t||e.top>=n+t);(0,a.qr)(this,async(e,t)=>{if(e.isVisible!==i)this.setState({isVisible:i});else if(!t.noDedupe)return;let n=i?"hadFirstVisible":"hadFirstInvisible",r=!e[n];r&&this.setState({[n]:!0}),(await Promise.all([i&&t.onVisible&&t.onVisible(),i&&t.onFirstVisible&&r&&t.onFirstVisible(),!i&&t.onInvisible&&t.onInvisible(),!i&&t.onFirstInvisible&&r&&t.onFirstInvisible()])).reduce((e,t)=>!0===t||e)&&this.checkVisibility()})})}}},53989:function(e,t,n){n.d(t,{Fm:()=>g,Pu:()=>h,S0:()=>f,l9:()=>p});var i,r,s=n(69277),l=n(70408),o=n(4006),a=n(17402),u=n(94729);let d="undefined"!=typeof window&&null!=(r=null==(i=window._preloads)?void 0:i.publicationSettings)?r:{};function c(e){return t=>{if(!t||!e)return null;let n=e[t];return void 0===n?null:n}}let p=(0,a.createContext)({getSettingFor:c(d),changeSetting:()=>Promise.resolve(void 0),preloadedPubSettings:d});p.displayName="PublicationSettingsContext";let f=e=>{let t=(0,a.forwardRef)((t,n)=>{let i=h();return(0,o.Y)(e,(0,l._)((0,s._)({},i,t),{ref:n}))});return t.displayName="withPubSettingsContext(".concat(e.displayName||e.name||"Anonymous",")"),t};function g(e){let{settings:t={},children:n}=e,[i,r]=(0,a.useState)(t),l=async e=>{r((0,s._)({},i,e));try{await (0,u.x6)("/api/v1/publication_settings",{method:"PUT",json:e})}catch(e){console.error(e)}},d=(0,a.useMemo)(()=>({getSettingFor:c(i),changeSetting:l,preloadedPubSettings:i}),[i]);return(0,o.Y)(p.Provider,{value:d,children:n})}function h(){return(0,a.useContext)(p)}},85478:function(e,t,n){n.d(t,{P_:()=>f,UE:()=>d,W8:()=>c,eE:()=>p,mJ:()=>g});var i,r,s=n(69277),l=n(70408),o=n(4006),a=n(17402);let u="undefined"!=typeof window&&null!=(r=null==(i=window._preloads)?void 0:i.siteConfigs)?r:{},d=e=>({allConfigs:e,getConfigFor:t=>{if(!t||!e)return null;let n=e[t];return void 0===n?null:n}}),c=(0,a.createContext)(d(u));function p(e){let{siteConfigs:t={},children:n}=e,i=(0,a.useMemo)(()=>d(t),[t]);return(0,o.Y)(c.Provider,{value:i,children:n})}c.displayName="SiteConfigsContext";let f=e=>{let t=(0,a.forwardRef)((t,n)=>{let i=g();return(0,o.Y)(e,(0,l._)((0,s._)({},i,t),{ref:n}))});return t.displayName="withSiteConfigContext(".concat(e.displayName||e.name||"Anonymous",")"),t};function g(){return(0,a.useContext)(c)}},39520:function(e,t,n){n.d(t,{L:()=>l});var i=n(38221),r=n.n(i),s=n(17402);function l(e){let{text:t,truncationRules:n,ellipsesText:i}=e,l=(0,s.useRef)(null),[o,a]=(0,s.useState)(t),[u,d]=(0,s.useState)(null);return(0,s.useEffect)(()=>{let e=()=>{if(!l.current||0===n.length)return;l.current.innerText="-";let e=l.current.clientHeight;l.current.innerText=t;let r=Math.round(l.current.clientHeight/e);d(r);let s=n.filter(e=>r>=e.minLines).sort((e,t)=>t.minLines-e.minLines)[0];if(s)if(r>s.truncateTo){let n=e*s.truncateTo,r=0,o=0,u=t.length;for(;r<=u;)o=Math.floor((r+u)/2),l.current.innerText=t.slice(0,o)+i,l.current.clientHeight<=n?r=o+1:u=o-1;l.current.innerText="",a(t.slice(0,u))}else l.current.innerText="",a(t)},s=r()(e,200,{maxWait:200});return e(),window.addEventListener("resize",s),()=>{window.removeEventListener("resize",s),s.cancel()}},[t,n,i]),{truncatedText:o,measureRef:l,lineCount:u}}},4392:function(e,t,n){n.d(t,{O:()=>i});let i=(0,n(82776).randomString)()},31392:function(e,t,n){n.d(t,{D2:()=>u,Hh:()=>a,Ut:()=>o,VX:()=>s,ZZ:()=>l});var i=n(99851),r=n(17402);function s(){return"undefined"==typeof window?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function l(){if("undefined"==typeof window)return"auto";let e=localStorage.getItem("colorScheme");switch(e){case"light":case"dark":return e;default:return"auto"}}function o(){let[e,t]=(0,r.useState)(()=>{let e=l();return"auto"===e?s():e});return(0,r.useEffect)(()=>{let e=e=>{t(e.scheme)};return window.addEventListener("substackcolorschemechange",e),()=>{window.removeEventListener("substackcolorschemechange",e)}},[]),e}class a extends Event{constructor(e,t){super("substackcolorschemechange",t),(0,i._)(this,"scheme",void 0),this.scheme=e}}function u(){let[e,t]=(0,r.useState)(()=>"undefined"!=typeof window&&window.matchMedia("(prefers-color-scheme: dark)").matches);return(0,r.useEffect)(()=>{let e=e=>{t(e.matches)},n=window.matchMedia("(prefers-color-scheme: dark)");return n.addEventListener("change",e),()=>{n.removeEventListener("change",e)}},[]),{darkMode:e}}},82260:function(e,t,n){n.d(t,{F:()=>l});var i=n(49807);let r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n="undefined"!=typeof window&&window._preloads&&window._preloads.pub&&window._preloads.pub.twitter_pixel_id||null;n&&s({p_id:"Twitter",p_user_id:0,txn_id:n,events:JSON.stringify([[e,t]]),tw_sale_amount:(null==t?void 0:t.value)||0,tw_order_quantity:(null==t?void 0:t.num_items)||0,tw_iframe_status:0,tw_document_href:document.location.href})},s=e=>{new Image().src="proxy.php?url=https%3A%2F%2Ft.co%2Fi%2Fadsct%3F".concat((0,i.BpC)(e)),new Image().src="proxy.php?url=https%3A%2F%2Fanalytics.twitter.com%2Fi%2Fadsct%3F".concat((0,i.BpC)(e))},l=function(e){let{quantity:t,price:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("purchase"===e){let e="undefined"!=typeof window&&window._preloads&&window._preloads.publicationSettings&&window._preloads.publicationSettings.twitter_pixel_subscribe_event_id||null;e&&"function"==typeof window.twq&&window.twq("event",e),r("purchase",{num_items:t,value:n})}else if("signup"===e){let e="undefined"!=typeof window&&window._preloads&&window._preloads.publicationSettings&&window._preloads.publicationSettings.twitter_pixel_signup_event_id||null;e&&"function"==typeof window.twq&&window.twq("event",e),r("signup")}else r("pageview")}},12501:function(e,t,n){n.d(t,{U1:()=>w,VL:()=>f,lW:()=>b,qK:()=>p,st:()=>h});var i=n(69277),r=n(70408),s=n(32641),l=n(25568),o=n.n(l),a=n(97200),u=n.n(a),d=n(17402),c=n(94729);function p(e,t){let{auto:l,initialResult:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},[u,p]=(0,d.useState)({result:a||null,isLoading:!!l,hasLoadedOnce:!1,error:null,promise:null}),f=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var{abortController:l=new(o())}=t,a=(0,s._)(t,["abortController"]);let u=e((0,r._)((0,i._)({},a),{signal:l.signal})).then(e=>{if(!l.signal.aborted)return p({isLoading:!1,hasLoadedOnce:!0,error:null,result:e,promise:null}),e},e=>{if(!l.signal.aborted)return Promise.all([n.e("50551"),n.e("19565")]).then(n.bind(n,35132)).then(t=>{var n,i;let{Sentry:r}=t,s=e instanceof c.fk?{message:e.getMessage(),url:null==(n=e.url)?void 0:n.toString(),body:e.body}:{message:"There was an error fetching a resource"},l=e instanceof c.fk?{pathname:null==(i=e.url)?void 0:i.pathname}:{};e instanceof c.fk&&[404,500].includes(e.response.status)||r.captureException(e,{extra:s,tags:l})}),p(t=>(0,r._)((0,i._)({},t),{isLoading:!1,error:e,result:null,promise:null})),e});return p(e=>(0,r._)((0,i._)({},e),{isLoading:!0,error:null,promise:u})),u};return(0,d.useEffect)(()=>{if(l){let e=new(o());return f({abortController:e}),()=>{e.abort()}}},t||[]),(0,r._)((0,i._)({},u),{refetch:f,setResult:e=>{p(t=>(0,r._)((0,i._)({},t),{error:null,result:e,isLoading:!1,promise:null}))},clearError:()=>{p((0,r._)((0,i._)({},u),{error:null}))}})}function f(e,t){switch(t.type){case"page_reset":var n;if(null==(n=t.payload)?void 0:n.merge)return e.slice(0,1);return[{isLoading:!0,error:null,result:null}];case"page_start":{let n=e.slice(),{page:s,id:l,merge:o}=t.payload,a={result:null,id:l,isLoading:!0,error:null};return n[s]=o?(0,r._)((0,i._)({},a,n[s]),{id:l}):a,n}case"page_load":{let{id:n,result:s}=t.payload;return e.map(e=>e.id===n?(0,r._)((0,i._)({},e),{isLoading:!1,result:s,error:null}):e)}case"page_error":{let{id:n,error:s}=t.payload;return e.map(e=>e.id===n?(0,r._)((0,i._)({},e),{isLoading:!1,result:null,error:s}):e)}}return e}let g=new Map;function h(e){var{pathname:t,auto:n,initialResult:l,deps:o,cacheTtl:a}=e,u=(0,s._)(e,["pathname","auto","initialResult","deps","cacheTtl"]);let d=p(e=>{var{pathname:n}=e,r=(0,s._)(e,["pathname"]);if(!t)throw Error("useFetch requires a pathname");if(a){let e=g.get(t);if(e){let{ts:t,ttl:n,promise:i}=e;if(t+n>Date.now())return i}}let l=(0,c.x6)(null!=n?n:t,(0,i._)({},u,r));return a&&g.set(t,{ts:Date.now(),ttl:a,promise:l}),l},o||[],{auto:n,initialResult:l});return(0,r._)((0,i._)({},d),{setResult:e=>{t&&a&&g.set(t,{ts:Date.now(),ttl:a,promise:Promise.resolve(e)}),d.setResult(e)}})}function w(e){var{pathname:t,auto:n,initialResult:l,deps:a,getPageInit:p,pages:g,dispatch:h}=e,w=(0,s._)(e,["pathname","auto","initialResult","deps","getPageInit","pages","dispatch"]);return function(e,t){var n;let{auto:l,initialResult:a,pages:c,dispatch:p}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},[g,h]=(0,d.useReducer)(f,[{result:a||null,isLoading:!!l,error:null}],void 0),w=null!=c?c:g,b=null!=p?p:h,m=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var{abortController:n=new(o()),page:r=w.length,merge:l=!1,options:a}=t,d=(0,s._)(t,["abortController","page","merge","options"]);let c=w[r-1],p=u()();return b({type:"page_start",payload:{page:r,id:p,merge:l}}),e({options:(0,i._)({},a,d),signal:n.signal,page:r,lastPage:c}).then(e=>{if(!n.signal.aborted)return b({type:"page_load",payload:{page:r,id:p,result:e}}),e},e=>{if(!n.signal.aborted)return b({type:"page_error",payload:{page:r,id:p,error:e}}),e})},_=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var{merge:t=!1}=e,n=(0,s._)(e,["merge"]);return b({type:"page_reset",payload:{merge:t}}),m((0,r._)((0,i._)({},n),{page:0,merge:t}))};(0,d.useEffect)(()=>{if(l){let e=new(o());return _({abortController:e}),()=>{e.abort()}}},t||[]);let v=!1,y=async()=>{if(!v){let e=w[w.length-1];if(!e.isLoading&&!e.error)return v=!0,await m()}},S=w[w.length-1];return{pages:w,page:w.length,lastPage:S,fetchMore:y,canFetchMore:S&&!S.isLoading&&!S.error,fetchFirstPage:_,hasLoadedOnce:!!(null==(n=w[0])?void 0:n.result)}}(e=>{let{page:n,lastPage:r,options:s}=e;if(!t)throw Error("useFetch requires a pathname");let l=p({init:(0,i._)({},w,s),page:n,lastPage:r});return(0,c.x6)(t,l)},a||[],{auto:n,initialResult:l,pages:g,dispatch:h})}function b(e,t,n){let i=(0,d.useRef)(null);return(0,d.useCallback)(function(){for(var n=arguments.length,r=Array(n),s=0;se(...r),t)},n)}},79661:function(e,t,n){n.d(t,{A0:()=>g,N:()=>b,RB:()=>h,pd:()=>f,uk:()=>w});var i=n(69277),r=n(70408),s=n(32641),l=n(4006),o=n(32485),a=n.n(o),u=n(17402),d=n(76977),c=n(63136),p=n(24311);let f=(0,u.forwardRef)((e,t)=>{var{className:n,type:o,error:u=!1,leading:c,trailing:f,flex:g="auto",unstyled:h=!1}=e,b=(0,s._)(e,["className","type","error","leading","trailing","flex","unstyled"]);return(0,l.FD)(d.fI,{position:"relative",flex:g,minWidth:0,children:[(0,l.Y)("input",(0,r._)((0,i._)({},b),{type:o,className:a()(n,p.A.input,p.A.inputText,u&&p.A.error,b.disabled&&p.A.disabled,b.readOnly&&p.A.readOnly,null!=c&&p.A.leading,null!=f&&p.A.trailing,h&&p.A.unstyled),onKeyDown:e=>{var t;e.stopPropagation(),null==(t=b.onKeyDown)||t.call(b,e)},"aria-invalid":u||void 0,ref:t})),c&&(0,l.Y)(w,{position:"leading",children:c}),f&&(0,l.Y)(w,{position:"trailing",pointerEvents:"auto",children:f})]})}),g=e=>{var{className:t,children:n}=e,o=(0,s._)(e,["className","children"]);return(0,l.Y)(d.I1,(0,r._)((0,i._)({gap:8,className:t},o),{children:n}))},h=e=>{let{text:t,decoration:n,color:i="secondary"}=e;return(0,l.Y)(c.EY,{decoration:n,as:"span",color:i,weight:"regular",className:p.A.inputText,ellipsis:!0,children:t})},w=e=>{let{children:t,position:n,size:i="md",className:r,onClick:s,onMouseDown:o,pointerEvents:u="none",disabled:c=!1}=e;return(0,l.Y)(d.pT,{className:a()(p.A.wrapper,p.A["position_".concat(n)],p.A["size_".concat(i)],c&&p.A.disabled,r),pointerEvents:u,onClick:s,onMouseDown:o,children:t})};function b(e){let t=(0,u.useRef)(null);return{innerRef:t,combinedRef:n=>{t.current=n,"function"==typeof e?e(n):e&&(e.current=n)}}}},92028:function(e,t,n){n.d(t,{Q:()=>d});var i=n(69277),r=n(32641),s=n(4006),l=n(32485),o=n.n(l);n(17402);var a=n(35369),u=n(78340);function d(e){var{className:t}=e,n=(0,r._)(e,["className"]);return(0,s.Y)(a.Nm,(0,i._)({resetCss:!0,className:o()(t,u.A.textButton)},n))}},49095:function(e,t,n){n.r(t),n.d(t,{ProfileRelationshipBadge:()=>y,RelationshipTag:()=>Y,UserBadge:()=>S,UserStatusSymbols:()=>v});var i=n(69277),r=n(70408),s=n(32641),l=n(4006),o=n(32485),a=n.n(o),u=n(84605),d=n(46271),c=n(86500),p=n(89490),f=n(76977),g=n(37598),h=n(81929),w=n(63136),b=n(56460),m=n(62252),_=n(14444);function v(e){var{status:t,tier:n,noRelationshipBadge:o}=e,a=(0,s._)(e,["status","tier","noRelationshipBadge"]);let u=n?{type:"bestseller",tier:n}:null==t?void 0:t.badge,d=o?null:null==t?void 0:t.subscriber;return(0,l.FD)(l.FK,{children:[u&&(0,l.Y)(S,(0,r._)((0,i._)({},a),{userBadge:u})),u&&d&&" ",d&&(0,l.Y)(x,{inline:a.inline,label:d.label})]})}function y(e){var t;let{profile:n}=e,{iString:i}=(0,u.GO)(),r=(0,d.Jd)();if((null==r?void 0:r.id)===n.id)return null;let s=(null==(t=n.status)?void 0:t.subscriber)?n.status.subscriber.label:n.subscribesToViewerSubdomain?i("Subscribes to you"):n.followsViewer?i("Follows you"):null;return s?(0,l.Y)(x,{label:s}):null}function S(e){let{className:t,isStatic:n=!1,inline:i=!1,size:r="lg",userBadge:s,userId:o,hideViewProfileButton:u=!1}=e,d=a()(t,i?_.A.inlineContainer:_.A.container);return n?(0,l.Y)(p.az,{className:d,children:(0,l.Y)(b.u,{badge:s,isStatic:n,size:r})}):o?(0,l.Y)(p.az,{className:d,"data-testid":"user-badge",cursor:"pointer",children:(0,l.Y)(m.q,{userId:o,badge:s,hideViewProfileButton:u,children:(0,l.Y)(b.u,{badge:s,size:r})})}):(0,l.Y)(p.az,{className:d,"data-testid":"user-badge",cursor:"pointer",children:(0,l.Y)(g.A,{trigger:(0,l.Y)(p.az,{children:(0,l.Y)(b.u,{badge:s,size:r})}),onOpen:()=>{"bestseller"===s.type&&(0,c.u4)(c.qY.BESTSELLER_INFO_SHOWN,{tier:s.tier,form:"popover",hovered_user_id:o})},children:(0,l.Y)(E,{badge:s})})})}function E(e){let t,{badge:n}=e,{iString:i}=(0,u.GO)(),r=function(e){let{iString:t}=(0,u.GO)();if("bestseller"===e.type)switch(e.tier){case 100:return t("Hundreds of paid subscribers");case 1e3:return t("Thousands of paid subscribers");case 1e4:return t("Tens of thousands of paid subscribers")}else if("vip"===e.type)return t("Verified on an external service");else if("subscriber"===e.type)switch(e.tier){case 1:return t("Paid subscriber to 1+ Substacks");case 5:return t("Paid subscriber to 5+ Substacks");case 10:return t("Paid subscriber to 10+ Substacks")}return t("Unverified user")}(n);return t=i("bestseller"===n.type?"Bestseller":"subscriber"===n.type?"Paid subscriber":"vip"===n.type?"Externally verified":"Unverified user"),(0,l.FD)(f.VP,{alignItems:"center",gap:16,padding:20,children:[(0,l.Y)(b.u,{size:"xl",badge:n}),(0,l.FD)(f.VP,{alignItems:"center",gap:2,children:[(0,l.Y)(w.EY.H4,{children:t}),(0,l.Y)(w.EY.B4,{align:"center",color:"secondary",children:r})]})]})}function x(e){let{label:t,inline:n}=e;return(0,l.Y)("div",{className:n?_.A.inlineContainer:_.A.container,children:(0,l.Y)(h.vw,{priority:"secondary",children:t})})}let Y=(0,p.I4)({sizing:"border-box",display:"inline-flex",alignSelf:"center",height:20,paddingX:6,paddingY:2,gap:4,font:"text",fontSize:11,fontWeight:"medium",alignItems:"center",bg:"secondary",color:"secondary",radius:"xs"})},55298:function(e,t,n){n.d(t,{cx:()=>s,wH:()=>r,zw:()=>l});var i=n(92636);let r=e=>(0,i.yR)("".concat((0,i.Ew)(),"/app/app-store-redirect"),e),s=e=>(0,i.yR)("".concat((0,i.Ew)(),"/app/get-ios"),e),l=e=>(0,i.yR)("".concat((0,i.Ew)(),"/app/get-android"),e)}}]);