SharedOAuthUtils",["MakeOAuthUtils","SecureMessageListener","SecurePostMessage","SharedOAuthUtilsQuery.graphql","SharedOAuthUtilsStoreOAuthMutation.graphql","URI","WebStorage","ZapierOAuthUtils","err","react-relay"],(function(a,b,c,d,e,f,g){"use strict";var h,i,j,k,l=43,m="pkce_code_verifier",n=32,o="oauth_csrf_state_token",p=500,q=h!==void 0?h:h=b("SharedOAuthUtilsQuery.graphql");a=function(){function a(){var a=this;this.$1=null;this.$2=null;this.$3=null;this.$4=null;this.$5=!1;this.messageEventHandler=function(b){if(a.$5)return;var d=b.data;if(d!=null&&typeof d==="object")try{d={auth_token:typeof d.auth_token==="string"?d.auth_token:null,auth_token_expires:typeof d.auth_token_expires==="number"?d.auth_token_expires:null,code:typeof d.code==="string"?d.code:null,refresh_token:typeof d.refresh_token==="string"?d.refresh_token:null,refresh_token_expires:typeof d.refresh_token_expires==="number"?d.refresh_token_expires:null,state:typeof d.state==="string"?d.state:null};if(d.auth_token!=null||d.code!=null||d.refresh_token!=null){a.$5=!0;a.sendAcknowledgementMessageToPopup(b);b=a.validateAndEnrichOAuthData(d);if(a.$3==null||a.$4==null)throw c("err")("businessID and environment must be set before storing OAuth data");a.storeOAuthData(b,a.$3,a.$4).then(function(b){a.$1!=null&&a.$1(b)}).catch(function(b){b=b instanceof Error?b:c("err")(String(b));a.$2!=null&&a.$2(b)})}}catch(b){d=b instanceof Error?b:c("err")(String(b));a.$2!=null&&a.$2(d)}}}var e=a.prototype;e.getOAuthURL=function(a){throw c("err")("getOAuthURL must be implemented by child class")};e.extractAccessTokenData=function(){throw c("err")("extractAccessTokenData must be implemented by child class")};e.getPartnerEnum=function(){throw c("err")("getPartnerEnum must be implemented by child class")};e.validateAndEnrichOAuthData=function(a){return a};e.sendAcknowledgementMessageToPopup=function(b){a.TRUSTED_ORIGINS.forEach(function(a){a="https://"+a;try{d("SecurePostMessage").sendMessageToSpecificOrigin(b.source,{received:!0},a)}catch(a){}})};e.triggerOAuth=async function(b,d){var e=this;try{this.$5=!1;this.$3=b;this.$4=d;var f=await this.getOAuthURL(b);return new Promise(function(b,d){e.$1=function(a){b(a)};e.$2=function(a){d(a)};var g=new(c("SecureMessageListener"))(window).setSupportedOrigins(a.TRUSTED_ORIGINS).setEventHandler(e.messageEventHandler);g.beginListening();var h=window.open("","_blank","popup"),i=window.setInterval(function(){h!=null&&h.closed&&(window.clearInterval(i),e.$5||d(c("err")("OAuth popup was closed before completing")))},p);(j||(j=c("URI"))).goURIOnWindow(new j(f.toString()),h,!0)})}catch(a){return Promise.reject(a instanceof Error?a:c("err")(String(a)))}};e.storeOAuthData=function(a,e,f){var g=this;return new Promise(function(h,j){var k;d("react-relay").commitMutation(f,{mutation:i!==void 0?i:i=b("SharedOAuthUtilsStoreOAuthMutation.graphql"),onCompleted:function(a){a=a==null?void 0:a.xfb_lead_gen_partner_store_oauth;if((a==null?void 0:a.success)===!0&&(a==null?void 0:a.auth_id)!=null)h(a.auth_id);else{j(c("err")((a=a==null?void 0:a.error_message)!=null?a:"Failed to store OAuth data: No auth ID returned"))}},onError:function(a){j(c("err")("GraphQL mutation failed: "+a.message))},variables:{input:babelHelpers.extends({auth_code:{sensitive_string_value:(k=a.code)!=null?k:""}},a.code_verifier!=null?{auth_code_verifier:{sensitive_string_value:a.code_verifier}}:{},{business_id:e,expires_in:a.auth_token_expires,partner:g.getPartnerEnum(),refresh_token:a.refresh_token!=null?{sensitive_string_value:a.refresh_token}:null})}})})};e.fetchOAuthData=function(a,b){return d("react-relay").fetchQuery(b,q,{businessID:a,partner:this.getPartnerEnum()}).toPromise().then(function(a){var b,c;a=a==null||(b=a.viewer)==null?void 0:b.lead_gen_crm_oauths;return(a=a==null||(c=a[0])==null?void 0:c.id)!=null?a:null})};e.getHashValue=function(a){a=location.hash.match(new RegExp(a+"=([^&]*)"));return a?a[1]:null};e.getQueryValue=function(a){var b=new URLSearchParams(window.location.search);return b.get(a)};a.generateCodeVerifier=function(){var b=new Uint8Array(l);crypto.getRandomValues(b);return a.encodeBase64URL(b)};a.generateCodeChallenge=async function(b){var c=new TextEncoder();c=c.encode(b);b=await crypto.subtle.digest("SHA-256",c);return a.encodeBase64URL(new Uint8Array(b))};a.storePKCEVerifier=function(a){var b=(k||(k=c("WebStorage"))).getSessionStorage();b==null||b.setItem(m,a)};a.retrievePKCEVerifier=function(){var a=(k||(k=c("WebStorage"))).getSessionStorage();return a==null?void 0:a.getItem(m)};a.clearPKCEVerifier=function(){var a=(k||(k=c("WebStorage"))).getSessionStorage();a==null||a.removeItem(m)};a.generateStateToken=function(){var b=new Uint8Array(n);crypto.getRandomValues(b);return a.encodeBase64URL(b)};a.storeStateToken=function(a){var b=(k||(k=c("WebStorage"))).getSessionStorage();b==null||b.setItem(o,a)};a.retrieveStateToken=function(){var a=(k||(k=c("WebStorage"))).getSessionStorage();return a==null?void 0:a.getItem(o)};a.clearStateToken=function(){var a=(k||(k=c("WebStorage"))).getSessionStorage();a==null||a.removeItem(o)};a.encodeBase64URL=function(a){a=String.fromCharCode.apply(String,Array.from(a));return btoa(a).replace(/+/g,"-").replace(///g,"_").replace(/=/g,"")};a.getUtilsForPartner=function(a){if(a==="zapier")return d("ZapierOAuthUtils").ZapierOAuthUtils;else if(a==="make")return d("MakeOAuthUtils").MakeOAuthUtils;throw c("err")("Unsupported partner: "+a)};return a}();a.TRUSTED_ORIGINS=["business.facebook.com","business.my-od.facebook.com","business.intern.facebook.com","www.facebook.com","www.my-od.facebook.com","www.intern.facebook.com"];g.SharedOAuthUtils=a}),98);
-----
SharedOAuthUtilsStoreOAuthMutation.graphql",[],(function(a,b,c,d,e,f){"use strict";a=function(){var a=[{defaultValue:null,kind:"LocalArgument",name:"input"}],b=[{alias:null,args:[{kind:"Variable",name:"input",variableName:"input"}],concreteType:"XFBLeadGenPartnerStoreOAuthResponse",kind:"LinkedField",name:"xfb_lead_gen_partner_store_oauth",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"auth_id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"error_message",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"success",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:a,kind:"Fragment",metadata:null,name:"SharedOAuthUtilsStoreOAuthMutation",selections:b,type:"Mutation",abstractKey:null},kind:"Request",operation:{argumentDefinitions:a,kind:"Operation",name:"SharedOAuthUtilsStoreOAuthMutation",selections:b},params:{id:"32161911846757354",metadata:{},name:"SharedOAuthUtilsStoreOAuthMutation",operationKind:"mutation",text:null}}}();e.exports=a}),null);
-----
-----
SharedOAuthUtilsStoreOAuthMutation.graphql",[],(function(a,b,c,d,e,f){"use strict";a=function(){var a=[{defaultValue:null,kind:"LocalArgument",name:"input"}],b=[{alias:null,args:[{kind:"Variable",name:"input",variableName:"input"}],concreteType:"XFBLeadGenPartnerStoreOAuthResponse",kind:"LinkedField",name:"xfb_lead_gen_partner_store_oauth",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"auth_id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"error_message",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"success",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:a,kind:"Fragment",metadata:null,name:"SharedOAuthUtilsStoreOAuthMutation",selections:b,type:"Mutation",abstractKey:null},kind:"Request",operation:{argumentDefinitions:a,kind:"Operation",name:"SharedOAuthUtilsStoreOAuthMutation",selections:b},params:{id:"32161911846757354",metadata:{},name:"SharedOAuthUtilsStoreOAuthMutation",operationKind:"mutation",text:null}}}();e.exports=a}),null);
-----