1if('undefined'!==typeof AEC&&'undefined'!==typeof AEC.EventDispatcher){AEC.GA4=(()=>{return{enabled:false,transformCategories:function(category){if(null===category){return{};} 2let map={},categories=category.toString().split('/');if(categories){map['item_category']=categories.shift();if(categories.length){let index=1;categories.forEach(category=>{map['item_category'+(++index)]=category;});}} 3return map;},augmentCategories:function(product){if(product.hasOwnProperty('category')){AEC.Cookie.augment([product]);} 4return this.transformCategories(product.category);},augmentItem:function(product){let map={};map['google_business_vertical']='retail';Object.entries(product).forEach(([key,value])=>{if(-1===['id','name','price','category','currency','variant','brand'].indexOf(key)){map[key]=value;}});return map;}}})();AEC.EventDispatcher.on('ec.checkout.step.option.data',data=>{if(!AEC.GA4.enabled){return true;} 5switch(parseInt(data.ecommerce.checkout_option.actionField.step)){case AEC.Const.CHECKOUT_STEP_SHIPPING:data['event']='add_shipping_info';if(AEC.GA4.quote.hasOwnProperty('coupon')){data.ecommerce['coupon']=AEC.GA4.quote.coupon;} 6data.ecommerce['currency']=AEC.GA4.currency;data.ecommerce['items']=AEC.Checkout.getPayload().ecommerce.items;data.ecommerce['shipping_tier']=data.ecommerce.checkout_option.actionField.option;(data=>{let value=0;data.ecommerce['items'].forEach(item=>{value+=Number(item.price)*Number(item.quantity);});data.ecommerce['value']=value;})(data);delete data.ecommerce.checkout_option;break;case AEC.Const.CHECKOUT_STEP_PAYMENT:data['event']='add_payment_info';if(AEC.GA4.quote.hasOwnProperty('coupon')){data.ecommerce['coupon']=AEC.GA4.quote.coupon;} 7data.ecommerce['currency']=AEC.GA4.currency;data.ecommerce['items']=AEC.Checkout.getPayload().ecommerce.items;data.ecommerce['payment_type']=data.ecommerce.checkout_option.actionField.option;(data=>{let value=0;data.ecommerce['items'].forEach(item=>{value+=Number(item.price)*Number(item.quantity);});data.ecommerce['value']=value;})(data);delete data.ecommerce.checkout_option;break;}});}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.