Feminine Hygiene Products: A Complete Overview (2025)

There are many choices when it comes to period supplies. There are several ways to make your daily life easier when you have your period. We have compiled a list of several different period products available so you can pick the one that will best help you feel better on your period.

7 min read

Feminine Hygiene Products: A Complete Overview (1)

Updated April 24, 2020

Updated April 24, 2020

Feminine Hygiene Products: A Complete Overview (2)

Reviewed by Tanya Tantry, MD, Obstetrician & Gynecologist, Medical Consultant at Flo

Flo Fact-Checking Standards

Every piece of content at Flo Health adheres to the highest editorial standards for language, style, and medical accuracy. To learn what we do to deliver the best health and lifestyle insights to you, check out our content review principles.

What is meant by menstrual hygiene?

Menstrual hygiene is just genital hygiene during your period. There are several ways to care for your vagina during your period, including:

  • Using period products — Tampons, cups, and pads fall into this category. They help collect or absorb menstrual blood, making it possible to go about your regular daily routine without too much hassle.
  • Washing your genital area — Use clean, warm water on your genital area. Avoid using soap in or near your vagina. Wash with a soft washcloth so you can clean off any dried blood from your inner thighs or vulva. Keeping your genital area clean prevents blood from drying onto your skin. If the blood does dry, it can crack, which can cause skin pinching, hair pulling, and an irritated vulva. It’s very important to wash and wipe from front to back.
  • Wearing comfortable, loose-fitting clothing — Your body holds onto fluid during your period and can get bloated. Wearing loose-fitting clothing can help provide some relief from bloating. Wearing tight clothing on your period can make your cramps and discomfort worse.

Keeping these three things in mind can help you feel better during your period.

Why menstrual hygiene is important

Menstrual hygiene is important because your vagina and vulva are very sensitive areas. Taking good care of yourself and practicing good menstrual hygiene can help keep you comfortable and healthy during your period.

The right period products can protect your clothing and any surfaces you’re sitting on, help maintain good hygiene, and provide you with comfort and confidence when going about your day.

What are the outcomes of poor menstrual hygiene?

Good menstrual hygiene helps you go about your day with ease and keeps you healthy.

Proper menstrual hygiene helps prevent:

  • Urinary tract infections — Microbes can grow in old menstrual blood and cause inflammation of your vulva, vagina, and urethra, which can lead to a urinary tract infection. If you use reusable cloths to absorb your period blood, make sure to properly wash them. Change your pad or tampon regularly, and gently clean your vulva with warm water when needed.
  • Genital rashes — Old blood can dry and stick to sensitive tissues, causing rashes on your genital area that may be itchy, swollen, and painful.
  • Reproductive tract infection — Good hygiene can help prevent reproductive tract infections like yeast infections. Untreated infections can travel up your vaginal canal and damage your cervix.

In some areas, women aren’t able to practice good menstrual hygiene. Many women in rural India are at risk of developing health problems related to menstruation because they don’t have access to proper menstrual hygiene. Flo decided to raise money to supply Indian girls and women with much-needed period products to help them better manage their periods and protect their health.

Take a quiz

Find out what you can do with our Health Assistant

Track my period
Get pregnant
Follow my baby's growth

Feminine hygiene products

Feminine Hygiene Products: A Complete Overview (6)

There are several types of period supplies to consider. Some women use only one type; others use a combination of two or more. When considering what you like, don’t be afraid to try them all. Every period is unique, and when you know how yours works, you can plan ahead and find the right tools to contain and control your flow.

Sanitary pads

Sanitary pads are great for lighter days. Many people use this product at the beginning and end of their period and when they’re sleeping. Pads come in many different sizes, so you can get various sizes for each stage of your period.

Pads are adhesive, with sticky material on stretchy “wings” and/or on the bottom of the product. Use the adhesive side of the pad to line your underwear, with the absorbent part on top. Most pads have super-absorbent technology inside them, but some are made of plastic materials, which can bother sensitive skin. Don’t forget to change your pad every four to six hours.

Tampons

Tampons are cotton-based products that are packed very tightly into either a cylindrical or a tent shape. A tampon is inserted into the vaginal canal, leaving a string that hangs out to help with removal later. As menstrual blood flows into the vaginal canal, the tampon absorbs the blood. The tampon is removed by pulling on the string.

Tampons were invented in the 1920s, though it took about a decade for a patent to arrive before they were available in stores. Tampons have helped people become more active during their periods. Some people wear a pad with a tampon to prevent any leaks during heavy flow days.

Tampons need to be changed regularly. If they stay in the vaginal canal for too long, bacterial toxins can lead to toxic shock syndrome (TSS). Changing your tampon every four to eight hours (and not using them while you’re sleeping) can help prevent TSS.

Menstrual cups

Menstrual cups are flexible, silicone-based cups. They can be pinched closed and inserted into the vagina. Unlike tampons that absorb blood, they catch and collect blood before it reaches the vaginal opening. They tend to hold more blood than a tampon and don’t present a risk for TSS.

To use a menstrual cup, simply insert it into the vagina so the open end is facing the cervix. Then go about your day. Remove the cup at least every 10 to 12 hours. Once you empty it into the toilet, you can wash and reinsert it. Many people prefer to use this product because of the excess waste tampons and pads create in landfills.

Period underwear

Period-proof underwear is a relatively new period product. It looks and feels like regular underwear but is designed with technology that absorbs and holds your period blood without the use of tampons, pads, or cups.

Period underwear has ultra-thin layers of material in the crotch. The layers create a moisture-wicking, odor-neutralizing, blood-absorbing, and leak-proof barrier. This offers you maximum comfort with minimal effort. To wash your used underwear, simply rinse in cold water, use a cold-water washing machine cycle, and line dry.

Panty liners

Panty liners are similar to pads but much less bulky. They are designed for light flow days and can help protect your clothing without the bulky feeling.

They have an adhesive side that sticks to your underwear, and they absorb menstrual blood.

Others

There are a few other products that some women use during their periods, including:

  • Hair trimmers/razors — Menstrual blood can cling to pubic hair and cause it to stick to itself and pinch your skin. You can carefully trim or shave some of your pubic hair to prevent excessive sticking.
  • Intimate gel washes — Sometimes menstruation alters the vagina’s pH balance, which can cause soreness and swelling and even increase the chances of a yeast infection. If you’re prone to yeast infections, try a gel wash designed to balance out your pH.
  • Wet wipes — These wipes range from hypoallergenic baby wipes to medicated menstrual wipes with pH balancers. They offer a quick and portable option for freshening up when you’re on the go, especially if you have a heavy flow.

These products can help your genital area feel better during your period and might be good options to add to your monthly care routine.

The takeaway

Take charge of your menstrual flow. Choose the period products that work best for your lifestyle.

Your period is an important part of your reproductive health. When you feel clean, secure, and comfortable, you can go about your day normally. Try all the different methods and discover the period products that give you exactly the kind of protection you need.

Feminine Hygiene Products: A Complete Overview (7) Feminine Hygiene Products: A Complete Overview (8)

Hey, I'm Anique

I started using Flo app to track my period and ovulation because we wanted to have a baby.

Feminine Hygiene Products: A Complete Overview (9) Feminine Hygiene Products: A Complete Overview (10)

The Flo app helped me learn about my body and spot ovulation signs during our conception journey.

Feminine Hygiene Products: A Complete Overview (11) Feminine Hygiene Products: A Complete Overview (12)

I vividly remember the day
that we switched Flo into
Pregnancy Mode — it was
such a special moment.

Feminine Hygiene Products: A Complete Overview (13) Feminine Hygiene Products: A Complete Overview (14)

Join Anique and explore
ways to increase
pregnancy chances
with the Flo app

Try Flo today

Feminine Hygiene Products: A Complete Overview (15)

Real stories, real results

Learn how the Flo app became an amazing cheerleader for us on our conception journey.

Anique

Anique is a real Flo member and was compensated for her time. Her experiences and opinions are her own.

History of updates

Current version (24 April 2020)

Reviewed by Tanya Tantry, MD, Obstetrician & Gynecologist, Medical Consultant at Flo

Published (08 January 2020)

In this article

    Related articles

    Hygiene and beauty Vaginal odor: Is it normal?
    Hygiene and beauty Where Do Women Pee from? The Ultimate Guide to the Female Urethra
    Fitness and exercise Exercising During Period: Benefits and Things to Avoid
    Diet and nutrition Which Foods to Eat and Avoid During Your Period

    Download Flo today

    Feminine Hygiene Products: A Complete Overview (16) Feminine Hygiene Products: A Complete Overview (17)

    Try Flo today

    "),e}}};r(4346);var P=r(7232);function I(t){return function(t){if(Array.isArray(t))return C(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return C(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?C(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r

    0&&void 0!==arguments[0]?arguments[0]:-114,e=window.pageYOffset;function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=window.pageYOffset;s(e<=n?t:r),(e=n)<=0&&(e=1)}window.addEventListener("scroll",(function(){var e=document.querySelector(".flo-header__contents--hide");null!=i&&i.classList.contains("active")||(window.matchMedia("(max-width: 759px)").matches?r(e?t+60:t,0):r())}))}e&&(n&&o&&[e.querySelectorAll("a"),o.querySelectorAll("a")].forEach((function(t){var e=function(e){return I(t).find((function(t){return t.getAttribute("device")===e}))},r=e("android"===a||"ios"===a?a:"general");null==r||r.classList.remove("hide")})),window.addEventListener("scroll",(function(){var t=document.querySelector(".flo-footer")?document.querySelector(".flo-footer").offsetHeight:0,r=document.documentElement.scrollHeight-document.documentElement.clientHeight-t,n=document.querySelector(".flo-article-header")?document.querySelector(".flo-article-header").offsetHeight:160;window.scrollY>=n/1.6&&e.classList.add("active"),window.scrollY>r&&e.classList.remove("active")})),r&&(window.matchMedia("(max-width: 759px)").matches&&c(),window.addEventListener("resize",(function(){window.matchMedia("(max-width: 759px)").matches?c():c(0)}))))}};const R=N;const D={init:function(){var t=document.querySelector(".flo-popups"),e=(document.documentElement.scrollHeight,0);function r(t){if(0!==e)return!1;window.scrollY>t&&window.scrollTo(0,t)}t&&(function(){var n=t.getAttribute("displayprinciple"),o=Boolean(t.getAttribute("blockscroll"));if("scroll"===n)window.addEventListener("scroll",(function(){if(0===e){var n=(document.documentElement.scrollHeight-document.documentElement.clientHeight)/100*(t.getAttribute("percentscroll")?t.getAttribute("percentscroll"):40);window.scrollY>=n&&(t.classList.add("active"),o&&r(n))}}));else if("timing"===n){var i=t.getAttribute("timingpause")?1e3*t.getAttribute("timingpause"):15e3;setTimeout((function(){if(t.classList.add("active"),o){var e=window.scrollY;window.addEventListener("scroll",(function(){r(e)}))}}),i)}}(),document.querySelector(".flo-popups__close").addEventListener("click",(function(){t.classList.remove("active"),e++})))}};r(5086);var q={init:function(){var t,e=document.querySelector(".flo-content"),r=null!==(t=document.querySelector(".flo-content-links__list"))&&void 0!==t?t:document.querySelector(".flo-content__aside-list"),n=document.querySelector(".flo-content-links .flo-preloader"),o=["flo-template__article_v2","flo-template__pregnancy-week","flo-template__dev-page","flo-template__calculator-new"].some((function(t){return document.body.classList.contains(t)})),i=document.querySelector(".flo-content__aside-content"),a=document.querySelector(".flo-header__contents");if(r){var s=o?function(){var t=[];return""!=r.getAttribute("tag-size")&&document.querySelectorAll("".concat(r.getAttribute("tag-size"))).forEach((function(e){var r,n=null!==(r=e.closest(".flo-article-text"))&&void 0!==r?r:e.closest(".flo-narrow-text");n&&"false"==(null==n?void 0:n.getAttribute("hide-header"))&&t.push(e)})),t}():document.querySelectorAll("".concat(r.getAttribute("tag-size")));if(s&&s.length>0){if(i&&(i.style.display="block"),null==n||n.classList.add("flo-preloader__deactive"),s.forEach((function(t){t.offsetTop>r.offsetTop&&(function(t){var e,n=null===(e=t.closest("[real-header]"))||void 0===e?void 0:e.getAttribute("real-header"),i=t.textContent.toLowerCase().replace(/[ @.",\/#!$%\^&\*;:{}=\-_`~()]/g,"-"),s=document.createElement("li"),c=document.createElement("a");if(s.classList.add("flo-content-links__list-item"),c.classList.add("flo-content-links__list-item-link"),c.href="#".concat(i),c.textContent=null!=n?n:t.textContent,c.addEventListener("click",(function(e){var r;e.preventDefault(),o&&f(null===(r=e.target)||void 0===r?void 0:r.closest(".flo-content-links__list-item"),".flo-content-links__list-item"),t.scrollIntoView({behavior:"smooth",block:"center"})})),s.appendChild(c),r.appendChild(s),o){var u=a.querySelector(".flo-header__contents-list > ol"),l=document.createElement("li"),h=document.createElement("a");l.classList.add("flo-header__contents-list-element"),h.href="#".concat(i),h.textContent=null!=n?n:t.textContent,h.addEventListener("click",(function(e){e.preventDefault(),t.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout((function(){a.classList.toggle("active"),document.body.style.overflow=document.body.style.overflow?null:"hidden"}),500)})),l.appendChild(h),u.appendChild(l)}}(t),function(t){t.id=t.textContent.toLowerCase().replace(/[ @.",\/#!$%\^&\*;:{}=\-_`~()]/g,"-")}(t))})),o){var c,u,l=function(t){"click"!==t.type&&"Enter"!==t.key||(a.classList.toggle("active"),document.body.style.overflow=document.body.style.overflow?null:"hidden")};null==a||null===(c=a.querySelector(".flo-header__contents-title"))||void 0===c||c.addEventListener("click",l),null==a||null===(u=a.querySelector(".flo-header__contents-title"))||void 0===u||u.addEventListener("keypress",l)}o&&function(t){var r,n=null==i?void 0:i.clientHeight,o=null===(r=document.querySelector(".flo-content__aside-list"))||void 0===r?void 0:r.clientHeight,s=new IntersectionObserver(c,{rootMargin:window.matchMedia("(max-width:850px)").matches?"-150px":"-400px"});function c(t){t.forEach((function(t){if(t.isIntersecting){var r,s,c=function(t){i.scrollTo({top:t,behavior:"smooth"})},u=null===(r=document.querySelector('a[href="#'.concat(t.target.id,'"].flo-content-links__list-item-link')))||void 0===r?void 0:r.closest(".flo-content-links__list-item"),l=null===(s=document.querySelector('.flo-header__contents-list-element > a[href="#'.concat(t.target.id,'"]')))||void 0===s?void 0:s.closest(".flo-header__contents-list-element"),h=document.querySelector(".flo-header__contents-title > span");u&&f(u,".flo-content-links__list-item"),l&&f(l,".flo-header__contents-list-element"),h&&u&&(h.textContent="".concat(u.textContent)),(null==h?void 0:h.textContent.length)>0&&(e.classList.add("flo-content--header-content-links"),a.classList.remove("flo-header__contents--hide")),o>=n&&(u.offsetTop+u.clientHeight>n-200?c(u.offsetTop/1.4):c(0))}}))}o0&&t.forEach((function(t){if(t.getAttribute("device")){var r,n=null==t||null===(r=t.closest("section"))||void 0===r?void 0:r.querySelectorAll("a");(null==n?void 0:n.length)>1&&t.getAttribute("device")!==e?t.remove():t.classList.remove("hidden")}}))}"android"===H||"ios"===H?t(z,H):t(Y,"other")}});r(5700),r(2008),r(1688),r(9572),r(7945),r(3851),r(1278),r(9432),r(9391),r(4520),r(8431),r(3215);const V=Object.prototype.toString;function W(t,e){return V.call(t)===`[object ${e}]`}function J(t){return W(t,"Object")}function K(t){return Boolean(t&&t.then&&"function"==typeof t.then)}function X(t){return t&&t.Math==Math?t:void 0}const Z="object"==typeof globalThis&&X(globalThis)||"object"==typeof window&&X(window)||"object"==typeof self&&X(self)||"object"==typeof r.g&&X(r.g)||function(){return this}()||{};function Q(t,e,r){const n=r||Z,o=n.__SENTRY__=n.__SENTRY__||{};return o[t]||(o[t]=e())}function tt(){const t=Z,e=t.crypto||t.msCrypto;let r=()=>16*Math.random();try{if(e&&e.randomUUID)return e.randomUUID().replace(/-/g,"");e&&e.getRandomValues&&(r=()=>{const t=new Uint8Array(1);return e.getRandomValues(t),t[0]})}catch(t){}return([1e7]+1e3+4e3+8e3+1e11).replace(/[018]/g,(t=>(t^(15&r())>>t/4).toString(16)))}function et(){return Date.now()/1e3}const rt=function(){const{performance:t}=Z;if(!t||!t.now)return et;const e=Date.now()-t.now(),r=null==t.timeOrigin?e:t.timeOrigin;return()=>(r+t.now())/1e3}();let nt;(()=>{const{performance:t}=Z;if(!t||!t.now)return void(nt="none");const e=36e5,r=t.now(),n=Date.now(),o=t.timeOrigin?Math.abs(t.timeOrigin+r-n):e,i=o{const n=at[t];r[t]=e[t],e[t]=n}));try{return t()}finally{n.forEach((t=>{e[t]=r[t]}))}}const ct=function(){let t=!1;const e={enable:()=>{t=!0},disable:()=>{t=!1},isEnabled:()=>t};return ot?it.forEach((r=>{e[r]=(...e)=>{t&&st((()=>{Z.console[r](`Sentry Logger [${r}]:`,...e)}))}})):it.forEach((t=>{e[t]=()=>{}})),e}(),ut="production",lt="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__;var ft;!function(t){t[t.PENDING=0]="PENDING";t[t.RESOLVED=1]="RESOLVED";t[t.REJECTED=2]="REJECTED"}(ft||(ft={}));class ht{constructor(t){ht.prototype.__init.call(this),ht.prototype.__init2.call(this),ht.prototype.__init3.call(this),ht.prototype.__init4.call(this),this._state=ft.PENDING,this._handlers=[];try{t(this._resolve,this._reject)}catch(t){this._reject(t)}}then(t,e){return new ht(((r,n)=>{this._handlers.push([!1,e=>{if(t)try{r(t(e))}catch(t){n(t)}else r(e)},t=>{if(e)try{r(e(t))}catch(t){n(t)}else n(t)}]),this._executeHandlers()}))}catch(t){return this.then((t=>t),t)}finally(t){return new ht(((e,r)=>{let n,o;return this.then((e=>{o=!1,n=e,t&&t()}),(e=>{o=!0,n=e,t&&t()})).then((()=>{o?r(n):e(n)}))}))}__init(){this._resolve=t=>{this._setResult(ft.RESOLVED,t)}}__init2(){this._reject=t=>{this._setResult(ft.REJECTED,t)}}__init3(){this._setResult=(t,e)=>{this._state===ft.PENDING&&(K(e)?e.then(this._resolve,this._reject):(this._state=t,this._value=e,this._executeHandlers()))}}__init4(){this._executeHandlers=()=>{if(this._state===ft.PENDING)return;const t=this._handlers.slice();this._handlers=[],t.forEach((t=>{t[0]||(this._state===ft.RESOLVED&&t[1](this._value),this._state===ft.REJECTED&&t[2](this._value),t[0]=!0)}))}}}function dt(){return Q("globalEventProcessors",(()=>[]))}function pt(t,e,r,n=0){return new ht(((o,i)=>{const a=t[n];if(null===e||"function"!=typeof a)o(e);else{const s=a({...e},r);lt&&a.id&&null===s&&ct.log(`Event processor "${a.id}" dropped event`),K(s)?s.then((e=>pt(t,e,r,n+1).then(o))).then(null,i):pt(t,s,r,n+1).then(o).then(null,i)}}))}function vt(t){return gt(t,new Map)}function gt(t,e){if(function(t){if(!J(t))return!1;try{const e=Object.getPrototypeOf(t).constructor.name;return!e||"Object"===e}catch(t){return!0}}(t)){const r=e.get(t);if(void 0!==r)return r;const n={};e.set(t,n);for(const r of Object.keys(t))void 0!==t[r]&&(n[r]=gt(t[r],e));return n}if(Array.isArray(t)){const r=e.get(t);if(void 0!==r)return r;const n=[];return e.set(t,n),t.forEach((t=>{n.push(gt(t,e))})),n}return t}function yt(t){const e=rt(),r={sid:tt(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>function(t){return vt({sid:`${t.sid}`,init:t.init,started:new Date(1e3*t.started).toISOString(),timestamp:new Date(1e3*t.timestamp).toISOString(),status:t.status,errors:t.errors,did:"number"==typeof t.did||"string"==typeof t.did?`${t.did}`:void 0,duration:t.duration,abnormal_mechanism:t.abnormal_mechanism,attrs:{release:t.release,environment:t.environment,ip_address:t.ipAddress,user_agent:t.userAgent}})}(r)};return t&&mt(r,t),r}function mt(t,e={}){if(e.user&&(!t.ipAddress&&e.user.ip_address&&(t.ipAddress=e.user.ip_address),t.did||e.did||(t.did=e.user.id||e.user.email||e.user.username)),t.timestamp=e.timestamp||rt(),e.abnormal_mechanism&&(t.abnormal_mechanism=e.abnormal_mechanism),e.ignoreDuration&&(t.ignoreDuration=e.ignoreDuration),e.sid&&(t.sid=32===e.sid.length?e.sid:tt()),void 0!==e.init&&(t.init=e.init),!t.did&&e.did&&(t.did=`${e.did}`),"number"==typeof e.started&&(t.started=e.started),t.ignoreDuration)t.duration=void 0;else if("number"==typeof e.duration)t.duration=e.duration;else{const e=t.timestamp-t.started;t.duration=e>=0?e:0}e.release&&(t.release=e.release),e.environment&&(t.environment=e.environment),!t.ipAddress&&e.ipAddress&&(t.ipAddress=e.ipAddress),!t.userAgent&&e.userAgent&&(t.userAgent=e.userAgent),"number"==typeof e.errors&&(t.errors=e.errors),e.status&&(t.status=e.status)}function bt(t){return t.transaction}function wt(t){const{spanId:e,traceId:r}=t.spanContext(),{data:n,op:o,parent_span_id:i,status:a,tags:s,origin:c}=xt(t);return vt({data:n,op:o,parent_span_id:i,span_id:e,status:a,tags:s,trace_id:r,origin:c})}function xt(t){return function(t){return"function"==typeof t.getSpanJSON}(t)?t.getSpanJSON():"function"==typeof t.toJSON?t.toJSON():{}}function _t(t){const{traceFlags:e}=t.spanContext();return Boolean(1&e)}function St(t){const e=Mt();if(!e)return{};const r=function(t,e,r){const n=e.getOptions(),{publicKey:o}=e.getDsn()||{},{segment:i}=r&&r.getUser()||{},a=vt({environment:n.environment||ut,release:n.release,user_segment:i,public_key:o,trace_id:t});return e.emit&&e.emit("createDsc",a),a}(xt(t).trace_id||"",e,Ft()),n=bt(t);if(!n)return r;const o=n&&n._frozenDynamicSamplingContext;if(o)return o;const{sampleRate:i,source:a}=n.metadata;null!=i&&(r.sample_rate=`${i}`);const s=xt(n);return a&&"url"!==a&&(r.transaction=s.description),r.sampled=String(_t(n)),e.emit&&e.emit("createDsc",r),r}function Et(t,e){const{fingerprint:r,span:n,breadcrumbs:o,sdkProcessingMetadata:i}=e;!function(t,e){const{extra:r,tags:n,user:o,contexts:i,level:a,transactionName:s}=e,c=vt(r);c&&Object.keys(c).length&&(t.extra={...c,...t.extra});const u=vt(n);u&&Object.keys(u).length&&(t.tags={...u,...t.tags});const l=vt(o);l&&Object.keys(l).length&&(t.user={...l,...t.user});const f=vt(i);f&&Object.keys(f).length&&(t.contexts={...f,...t.contexts});a&&(t.level=a);s&&(t.transaction=s)}(t,e),n&&function(t,e){t.contexts={trace:wt(e),...t.contexts};const r=bt(e);if(r){t.sdkProcessingMetadata={dynamicSamplingContext:St(e),...t.sdkProcessingMetadata};const n=xt(r).description;n&&(t.tags={transaction:n,...t.tags})}}(t,n),function(t,e){t.fingerprint=t.fingerprint?function(t){return Array.isArray(t)?t:[t]}(t.fingerprint):[],e&&(t.fingerprint=t.fingerprint.concat(e));t.fingerprint&&!t.fingerprint.length&&delete t.fingerprint}(t,r),function(t,e){const r=[...t.breadcrumbs||[],...e];t.breadcrumbs=r.length?r:void 0}(t,o),function(t,e){t.sdkProcessingMetadata={...t.sdkProcessingMetadata,...e}}(t,i)}class kt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=Ot()}static clone(t){return t?t.clone():new kt}clone(){const t=new kt;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._extra={...this._extra},t._contexts={...this._contexts},t._user=this._user,t._level=this._level,t._span=this._span,t._session=this._session,t._transactionName=this._transactionName,t._fingerprint=this._fingerprint,t._eventProcessors=[...this._eventProcessors],t._requestSession=this._requestSession,t._attachments=[...this._attachments],t._sdkProcessingMetadata={...this._sdkProcessingMetadata},t._propagationContext={...this._propagationContext},t._client=this._client,t}setClient(t){this._client=t}getClient(){return this._client}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{email:void 0,id:void 0,ip_address:void 0,segment:void 0,username:void 0},this._session&&mt(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(t){return this._requestSession=t,this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,e){return this._tags={...this._tags,[t]:e},this._notifyScopeListeners(),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,e){return this._extra={...this._extra,[t]:e},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,e){return null===e?delete this._contexts[t]:this._contexts[t]=e,this._notifyScopeListeners(),this}setSpan(t){return this._span=t,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){const t=this._span;return t&&t.transaction}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;const e="function"==typeof t?t(this):t;if(e instanceof kt){const t=e.getScopeData();this._tags={...this._tags,...t.tags},this._extra={...this._extra,...t.extra},this._contexts={...this._contexts,...t.contexts},t.user&&Object.keys(t.user).length&&(this._user=t.user),t.level&&(this._level=t.level),t.fingerprint.length&&(this._fingerprint=t.fingerprint),e.getRequestSession()&&(this._requestSession=e.getRequestSession()),t.propagationContext&&(this._propagationContext=t.propagationContext)}else if(J(e)){const e=t;this._tags={...this._tags,...e.tags},this._extra={...this._extra,...e.extra},this._contexts={...this._contexts,...e.contexts},e.user&&(this._user=e.user),e.level&&(this._level=e.level),e.fingerprint&&(this._fingerprint=e.fingerprint),e.requestSession&&(this._requestSession=e.requestSession),e.propagationContext&&(this._propagationContext=e.propagationContext)}return this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this._propagationContext=Ot(),this}addBreadcrumb(t,e){const r="number"==typeof e?e:100;if(r<=0)return this;const n={timestamp:et(),...t},o=this._breadcrumbs;return o.push(n),this._breadcrumbs=o.length>r?o.slice(-r):o,this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}getAttachments(){return this.getScopeData().attachments}clearAttachments(){return this._attachments=[],this}getScopeData(){const{_breadcrumbs:t,_attachments:e,_contexts:r,_tags:n,_extra:o,_user:i,_level:a,_fingerprint:s,_eventProcessors:c,_propagationContext:u,_sdkProcessingMetadata:l,_transactionName:f,_span:h}=this;return{breadcrumbs:t,attachments:e,contexts:r,tags:n,extra:o,user:i,level:a,fingerprint:s||[],eventProcessors:c,propagationContext:u,sdkProcessingMetadata:l,transactionName:f,span:h}}applyToEvent(t,e={},r=[]){Et(t,this.getScopeData());return pt([...r,...dt(),...this._eventProcessors],t,e)}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...t},this}setPropagationContext(t){return this._propagationContext=t,this}getPropagationContext(){return this._propagationContext}captureException(t,e){const r=e&&e.event_id?e.event_id:tt();if(!this._client)return ct.warn("No client configured on scope - will not capture exception!"),r;const n=new Error("Sentry syntheticException");return this._client.captureException(t,{originalException:t,syntheticException:n,...e,event_id:r},this),r}captureMessage(t,e,r){const n=r&&r.event_id?r.event_id:tt();if(!this._client)return ct.warn("No client configured on scope - will not capture message!"),n;const o=new Error(t);return this._client.captureMessage(t,e,{originalException:t,syntheticException:o,...r,event_id:n},this),n}captureEvent(t,e){const r=e&&e.event_id?e.event_id:tt();return this._client?(this._client.captureEvent(t,{...e,event_id:r},this),r):(ct.warn("No client configured on scope - will not capture event!"),r)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach((t=>{t(this)})),this._notifyingListeners=!1)}}function Ot(){return{traceId:tt(),spanId:tt().substring(16)}}const Tt=parseFloat("7.120.3"),jt=100;class At{constructor(t,e,r,n=Tt){let o,i;this._version=n,e?o=e:(o=new kt,o.setClient(t)),r?i=r:(i=new kt,i.setClient(t)),this._stack=[{scope:o}],t&&this.bindClient(t),this._isolationScope=i}isOlderThan(t){return this._version(this.popScope(),t)),(t=>{throw this.popScope(),t})):(this.popScope(),r)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStack(){return this._stack}getStackTop(){return this._stack[this._stack.length-1]}captureException(t,e){const r=this._lastEventId=e&&e.event_id?e.event_id:tt(),n=new Error("Sentry syntheticException");return this.getScope().captureException(t,{originalException:t,syntheticException:n,...e,event_id:r}),r}captureMessage(t,e,r){const n=this._lastEventId=r&&r.event_id?r.event_id:tt(),o=new Error(t);return this.getScope().captureMessage(t,e,{originalException:t,syntheticException:o,...r,event_id:n}),n}captureEvent(t,e){const r=e&&e.event_id?e.event_id:tt();return t.type||(this._lastEventId=r),this.getScope().captureEvent(t,{...e,event_id:r}),r}lastEventId(){return this._lastEventId}addBreadcrumb(t,e){const{scope:r,client:n}=this.getStackTop();if(!n)return;const{beforeBreadcrumb:o=null,maxBreadcrumbs:i=jt}=n.getOptions&&n.getOptions()||{};if(i<=0)return;const a={timestamp:et(),...t},s=o?st((()=>o(a,e))):a;null!==s&&(n.emit&&n.emit("beforeAddBreadcrumb",s,e),r.addBreadcrumb(s,i))}setUser(t){this.getScope().setUser(t),this.getIsolationScope().setUser(t)}setTags(t){this.getScope().setTags(t),this.getIsolationScope().setTags(t)}setExtras(t){this.getScope().setExtras(t),this.getIsolationScope().setExtras(t)}setTag(t,e){this.getScope().setTag(t,e),this.getIsolationScope().setTag(t,e)}setExtra(t,e){this.getScope().setExtra(t,e),this.getIsolationScope().setExtra(t,e)}setContext(t,e){this.getScope().setContext(t,e),this.getIsolationScope().setContext(t,e)}configureScope(t){const{scope:e,client:r}=this.getStackTop();r&&t(e)}run(t){const e=Pt(this);try{t(this)}finally{Pt(e)}}getIntegration(t){const e=this.getClient();if(!e)return null;try{return e.getIntegration(t)}catch(e){return lt&&ct.warn(`Cannot retrieve integration ${t.id} from the current Hub`),null}}startTransaction(t,e){const r=this._callExtensionMethod("startTransaction",t,e);if(lt&&!r){this.getClient()?ct.warn("Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\nSentry.addTracingExtensions();\nSentry.init({...});\n"):ct.warn("Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'")}return r}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(t=!1){if(t)return this.endSession();this._sendSessionUpdate()}endSession(){const t=this.getStackTop().scope,e=t.getSession();e&&function(t,e){let r={};e?r={status:e}:"ok"===t.status&&(r={status:"exited"}),mt(t,r)}(e),this._sendSessionUpdate(),t.setSession()}startSession(t){const{scope:e,client:r}=this.getStackTop(),{release:n,environment:o=ut}=r&&r.getOptions()||{},{userAgent:i}=Z.navigator||{},a=yt({release:n,environment:o,user:e.getUser(),...i&&{userAgent:i},...t}),s=e.getSession&&e.getSession();return s&&"ok"===s.status&&mt(s,{status:"exited"}),this.endSession(),e.setSession(a),a}shouldSendDefaultPii(){const t=this.getClient(),e=t&&t.getOptions();return Boolean(e&&e.sendDefaultPii)}_sendSessionUpdate(){const{scope:t,client:e}=this.getStackTop(),r=t.getSession();r&&e&&e.captureSession&&e.captureSession(r)}_callExtensionMethod(t,...e){const r=Lt().__SENTRY__;if(r&&r.extensions&&"function"==typeof r.extensions[t])return r.extensions[t].apply(this,e);lt&&ct.warn(`Extension method ${t} couldn't be found, doing nothing.`)}}function Lt(){return Z.__SENTRY__=Z.__SENTRY__||{extensions:{},hub:void 0},Z}function Pt(t){const e=Lt(),r=Rt(e);return Dt(e,t),r}function It(){const t=Lt();if(t.__SENTRY__&&t.__SENTRY__.acs){const e=t.__SENTRY__.acs.getCurrentHub();if(e)return e}return Ct(t)}function Ct(t=Lt()){return Nt(t)&&!Rt(t).isOlderThan(Tt)||Dt(t,new At),Rt(t)}function Nt(t){return!!(t&&t.__SENTRY__&&t.__SENTRY__.hub)}function Rt(t){return Q("hub",(()=>new At),t)}function Dt(t,e){if(!t)return!1;return(t.__SENTRY__=t.__SENTRY__||{}).hub=e,!0}new WeakMap;function qt(t){if(t)return function(t){return t instanceof kt||"function"==typeof t}(t)||function(t){return Object.keys(t).some((t=>Ut.includes(t)))}(t)?{captureContext:t}:t}const Ut=["user","level","extra","contexts","tags","fingerprint","requestSession","propagationContext"];function Mt(){return It().getClient()}function Ft(){return It().getScope()}function Gt(t){var e,r,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e=t,It().captureException(e,qt(r)),"prod"!==webEnv&&(console.error(t),!0===n))throw t}var Ht="CrossDomainConsent";function Bt(){return function(t){try{var r=e.get(t),n=null!=r&&r.length?r.replace(/'/g,'"').replace(/([^{}:,\s]+):(\s*)?([^{}:,\s]+)/g,'"$1":$3'):"{}",o=JSON.parse(n);return{marketing:o.marketing,necessary:o.necessary,preferences:o.preferences,statistics:o.statistics}}catch(t){return Gt(t),{marketing:!1,necessary:!1,preferences:!1,statistics:!1}}}(e.get(Ht)?Ht:"CookieConsent")}function zt(t){var e=Bt();return t.every((function(t){return!0===(null==e?void 0:e[t])}))}r(5746),r(8408);function Yt(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return $t(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?$t(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}function $t(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0])||arguments[0],e={};try{var r,n=Yt(new URLSearchParams(window.location.search));try{for(n.s();!(r=n.n()).done;){var o,i,a,s,c=r.value,u=null==c||null===(o=c[0])||void 0===o||null===(i=o.toLowerCase)||void 0===i?void 0:i.call(o),l=null==c||null===(a=c[1])||void 0===a||null===(s=a.toLowerCase)||void 0===s?void 0:s.call(a);u&&l&&0===u.indexOf("utm_")&&(e[t?u.replace("utm_",""):u]=l)}}catch(t){n.e(t)}finally{n.f()}}catch(t){Gt(t)}return e}r(744);function Wt(t){return Wt="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},Wt(t)}function Jt(){Jt=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,e,r,n){return Object.defineProperty(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n})}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(e,r,n,o){var i=r&&r.prototype instanceof h?r:h,a=Object.create(i.prototype);return c(a,"_invoke",function(e,r,n){var o=1;return function(i,a){if(3===o)throw Error("Generator is already running");if(4===o){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=x(s,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(1===o)throw o=4,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=3;var u=l(e,r,n);if("normal"===u.type){if(o=n.done?4:2,u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=4,n.method="throw",n.arg=u.arg)}}}(e,n,new E(o||[])),!0),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var f={};function h(){}function d(){}function p(){}var v={};c(v,i,(function(){return this}));var g=Object.getPrototypeOf,y=g&&g(g(k([])));y&&y!==r&&n.call(y,i)&&(v=y);var m=p.prototype=h.prototype=Object.create(v);function b(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function r(o,i,a,s){var c=l(t[o],t,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==Wt(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}var o;c(this,"_invoke",(function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}),!0)}function x(e,r){var n=r.method,o=e.i[n];if(o===t)return r.delegate=null,"throw"===n&&e.i.return&&(r.method="return",r.arg=t,x(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(o,e.i,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,f;var a=i.arg;return a?a.done?(r[e.r]=a.value,r.next=e.n,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,f):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,f)}function _(t){this.tryEntries.push(t)}function S(e){var r=e[4]||{};r.type="normal",r.arg=t,e[4]=r}function E(t){this.tryEntries=[[-1]],t.forEach(_,this),this.reset(!0)}function k(e){if(null!=e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var i=this.tryEntries[o],a=i[4],s=this.prev,c=i[1],u=i[2];if(-1===i[0])return n("end"),!1;if(!c&&!u)throw Error("try statement without catch or finally");if(null!=i[0]&&i[0]<=s){if(s=0;--r){var n=this.tryEntries[r];if(n[0]>-1&&n[0]<=this.prev&&this.prev=0;--e){var r=this.tryEntries[e];if(r[2]===t)return this.complete(r[4],r[3]),S(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r[0]===t){var n=r[4];if("throw"===n.type){var o=n.arg;S(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={i:k(e),r,n},"next"===this.method&&(this.arg=t),f}},e}function Kt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,u=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(s.push(n.value),s.length!==e);c=!0);}catch(t){u=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Xt(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Xt(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r1&&void 0!==arguments[1]?arguments[1]:0,r=(le[t[e+0]]+le[t[e+1]]+le[t[e+2]]+le[t[e+3]]+"-"+le[t[e+4]]+le[t[e+5]]+"-"+le[t[e+6]]+le[t[e+7]]+"-"+le[t[e+8]]+le[t[e+9]]+"-"+le[t[e+10]]+le[t[e+11]]+le[t[e+12]]+le[t[e+13]]+le[t[e+14]]+le[t[e+15]]).toLowerCase();if(!ue(r))throw TypeError("Stringified UUID is invalid");return r};const de=function(t,e,r){var n=(t=t||{}).random||(t.rng||se)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e){r=r||0;for(var o=0;o<16;++o)e[r+o]=n[o];return e}return he(n)};function pe(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:365,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,o=e.get(t);return o||(o=de(),e.set(t,o,{expires:r,domain:n}),o)}r(739);function ve(t){return ve="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},ve(t)}function ge(){ge=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,e,r,n){return Object.defineProperty(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n})}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(e,r,n,o){var i=r&&r.prototype instanceof h?r:h,a=Object.create(i.prototype);return c(a,"_invoke",function(e,r,n){var o=1;return function(i,a){if(3===o)throw Error("Generator is already running");if(4===o){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=x(s,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(1===o)throw o=4,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=3;var u=l(e,r,n);if("normal"===u.type){if(o=n.done?4:2,u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=4,n.method="throw",n.arg=u.arg)}}}(e,n,new E(o||[])),!0),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var f={};function h(){}function d(){}function p(){}var v={};c(v,i,(function(){return this}));var g=Object.getPrototypeOf,y=g&&g(g(k([])));y&&y!==r&&n.call(y,i)&&(v=y);var m=p.prototype=h.prototype=Object.create(v);function b(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function r(o,i,a,s){var c=l(t[o],t,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==ve(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}var o;c(this,"_invoke",(function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}),!0)}function x(e,r){var n=r.method,o=e.i[n];if(o===t)return r.delegate=null,"throw"===n&&e.i.return&&(r.method="return",r.arg=t,x(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(o,e.i,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,f;var a=i.arg;return a?a.done?(r[e.r]=a.value,r.next=e.n,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,f):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,f)}function _(t){this.tryEntries.push(t)}function S(e){var r=e[4]||{};r.type="normal",r.arg=t,e[4]=r}function E(t){this.tryEntries=[[-1]],t.forEach(_,this),this.reset(!0)}function k(e){if(null!=e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var i=this.tryEntries[o],a=i[4],s=this.prev,c=i[1],u=i[2];if(-1===i[0])return n("end"),!1;if(!c&&!u)throw Error("try statement without catch or finally");if(null!=i[0]&&i[0]<=s){if(s=0;--r){var n=this.tryEntries[r];if(n[0]>-1&&n[0]<=this.prev&&this.prev=0;--e){var r=this.tryEntries[e];if(r[2]===t)return this.complete(r[4],r[3]),S(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r[0]===t){var n=r[4];if("throw"===n.type){var o=n.arg;S(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={i:k(e),r,n},"next"===this.method&&(this.arg=t),f}},e}function ye(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function me(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){ye(i,n,o,a,s,"next",t)}function s(t){ye(i,n,o,a,s,"throw",t)}a(void 0)}))}}var be="prod"===webEnv?"https://api.owhealth.com/v1/web-analytics":"https://api.staging.owhealth.com/v1/web-analytics";function we(t){return xe.apply(this,arguments)}function xe(){return xe=me(ge().mark((function t(e){var r,n,o;return ge().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r={events:e},t.prev=1,n=fetch(be,{method:"POST",headers:{"Content-Type":"application/json",Accept:"*/*"},body:JSON.stringify(r)}),o=new Promise((function(t,e){setTimeout(me(ge().mark((function e(){return ge().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t();case 1:case"end":return e.stop()}}),e)}))),1500)})),t.next=6,Promise.race([n,o]);case 6:t.next=11;break;case 8:t.prev=8,t.t0=t.catch(1),"dev"!==webEnv&&Gt(t.t0);case 11:case"end":return t.stop()}}),t,null,[[1,8]])}))),xe.apply(this,arguments)}function _e(t){return _e="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},_e(t)}function Se(){Se=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,e,r,n){return Object.defineProperty(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n})}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(e,r,n,o){var i=r&&r.prototype instanceof h?r:h,a=Object.create(i.prototype);return c(a,"_invoke",function(e,r,n){var o=1;return function(i,a){if(3===o)throw Error("Generator is already running");if(4===o){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=x(s,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(1===o)throw o=4,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=3;var u=l(e,r,n);if("normal"===u.type){if(o=n.done?4:2,u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=4,n.method="throw",n.arg=u.arg)}}}(e,n,new E(o||[])),!0),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var f={};function h(){}function d(){}function p(){}var v={};c(v,i,(function(){return this}));var g=Object.getPrototypeOf,y=g&&g(g(k([])));y&&y!==r&&n.call(y,i)&&(v=y);var m=p.prototype=h.prototype=Object.create(v);function b(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function r(o,i,a,s){var c=l(t[o],t,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==_e(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}var o;c(this,"_invoke",(function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}),!0)}function x(e,r){var n=r.method,o=e.i[n];if(o===t)return r.delegate=null,"throw"===n&&e.i.return&&(r.method="return",r.arg=t,x(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(o,e.i,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,f;var a=i.arg;return a?a.done?(r[e.r]=a.value,r.next=e.n,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,f):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,f)}function _(t){this.tryEntries.push(t)}function S(e){var r=e[4]||{};r.type="normal",r.arg=t,e[4]=r}function E(t){this.tryEntries=[[-1]],t.forEach(_,this),this.reset(!0)}function k(e){if(null!=e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var i=this.tryEntries[o],a=i[4],s=this.prev,c=i[1],u=i[2];if(-1===i[0])return n("end"),!1;if(!c&&!u)throw Error("try statement without catch or finally");if(null!=i[0]&&i[0]<=s){if(s=0;--r){var n=this.tryEntries[r];if(n[0]>-1&&n[0]<=this.prev&&this.prev=0;--e){var r=this.tryEntries[e];if(r[2]===t)return this.complete(r[4],r[3]),S(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r[0]===t){var n=r[4];if("throw"===n.type){var o=n.arg;S(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={i:k(e),r,n},"next"===this.method&&(this.arg=t),f}},e}function Ee(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function ke(t){for(var e=1;e1&&void 0!==g[1]?g[1]:{},y=void 0,u=zt(["marketing","necessary","statistics"])?{sessionId:pe("session_id"),visitorId:pe("visitor_id",365,(y=window.location.hostname.split(".").reverse(),y.length<=1||!y[1]||!y[0]?window.location.hostname:".".concat(y[1],".").concat(y[0])))}:{sessionId:void 0,visitorId:void 0},l=u.sessionId,f=u.visitorId,h=null===(r=document.querySelector("html").getAttribute("lang"))||void 0===r?void 0:r.toUpperCase(),d=Vt(),t.next=6,ne();case 6:return p=t.sent,v=new P.UAParser(navigator.userAgent),t.abrupt("return",{date:(new Date).toISOString(),event_type:e,page_path:window.location.pathname,referal:document.referrer,screen_name:window.location.pathname,session:{session_id:l,source:null==d?void 0:d.source,ad_campaign:null==d?void 0:d.campaign,ad_id:null==d?void 0:d.id,ad_set:null==d?void 0:d.set},visitor:{additional_attributes:{},br:null==v||null===(n=v.getBrowser())||void 0===n?void 0:n.name,br_ver:null==v||null===(o=v.getBrowser())||void 0===o?void 0:o.version,co:p,os:null==v?void 0:v.getOS().name,os_version:null==v?void 0:v.getOS().version,user_agent:null==v||null===(i=v.getResult())||void 0===i?void 0:i.ua,visitor_id:f,lang:null===(a=navigator)||void 0===a||null===(a=a.language)||void 0===a||null===(s=a.slice)||void 0===s||null===(s=s.call(a,0,2))||void 0===s?void 0:s.toUpperCase()},web_user:{additional_attributes:{}},additional_fields:ke({authentication_type:"",utm_medium:null==d?void 0:d.medium,service:"content_site",lang_page:h,page_url:window.location.href,page_referrer:document.referrer,utm:d},c)});case 9:case"end":return t.stop()}var y}),t)}))),Le.apply(this,arguments)}var Pe=[],Ie=null;function Ce(){return Ce=je(Se().mark((function t(e){var r,n=arguments;return Se().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=n.length>1&&void 0!==n[1]?n[1]:{},t.t0=Pe,t.next=4,Ae(e,r);case 4:return t.t1=t.sent,t.t0.push.call(t.t0,t.t1),t.abrupt("return",new Promise((function(t,e){Ie&&clearTimeout(Ie),Ie=setTimeout((function(){var e=[].concat(Pe);Pe.length=0,we(e).catch(Gt).finally((function(){t()}))}),1)})));case 7:case"end":return t.stop()}}),t)}))),Ce.apply(this,arguments)}function Ne(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(r,n){zt(["marketing","statistics"])?function(t){return Ce.apply(this,arguments)}(t,e).catch(Gt).catch(n).then(r):r()}))}function Re(t){return Re="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},Re(t)}function De(){De=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,e,r,n){return Object.defineProperty(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n})}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(e,r,n,o){var i=r&&r.prototype instanceof h?r:h,a=Object.create(i.prototype);return c(a,"_invoke",function(e,r,n){var o=1;return function(i,a){if(3===o)throw Error("Generator is already running");if(4===o){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=x(s,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(1===o)throw o=4,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=3;var u=l(e,r,n);if("normal"===u.type){if(o=n.done?4:2,u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=4,n.method="throw",n.arg=u.arg)}}}(e,n,new E(o||[])),!0),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var f={};function h(){}function d(){}function p(){}var v={};c(v,i,(function(){return this}));var g=Object.getPrototypeOf,y=g&&g(g(k([])));y&&y!==r&&n.call(y,i)&&(v=y);var m=p.prototype=h.prototype=Object.create(v);function b(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function r(o,i,a,s){var c=l(t[o],t,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==Re(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}var o;c(this,"_invoke",(function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}),!0)}function x(e,r){var n=r.method,o=e.i[n];if(o===t)return r.delegate=null,"throw"===n&&e.i.return&&(r.method="return",r.arg=t,x(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(o,e.i,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,f;var a=i.arg;return a?a.done?(r[e.r]=a.value,r.next=e.n,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,f):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,f)}function _(t){this.tryEntries.push(t)}function S(e){var r=e[4]||{};r.type="normal",r.arg=t,e[4]=r}function E(t){this.tryEntries=[[-1]],t.forEach(_,this),this.reset(!0)}function k(e){if(null!=e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var i=this.tryEntries[o],a=i[4],s=this.prev,c=i[1],u=i[2];if(-1===i[0])return n("end"),!1;if(!c&&!u)throw Error("try statement without catch or finally");if(null!=i[0]&&i[0]<=s){if(s=0;--r){var n=this.tryEntries[r];if(n[0]>-1&&n[0]<=this.prev&&this.prev=0;--e){var r=this.tryEntries[e];if(r[2]===t)return this.complete(r[4],r[3]),S(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r[0]===t){var n=r[4];if("throw"===n.type){var o=n.arg;S(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={i:k(e),r,n},"next"===this.method&&(this.arg=t),f}},e}function qe(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function Ue(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){qe(i,n,o,a,s,"next",t)}function s(t){qe(i,n,o,a,s,"throw",t)}a(void 0)}))}}function Me(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return Fe(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Fe(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}function Fe(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r\n \n ';t.forEach((function(t){var r=document.createElement("div");r.className="table-scroll-controls";var n=document.createElement("button");n.className="table-scroll-control table-scroll-left",n.innerHTML=e,n.setAttribute("aria-label","Scroll table left");var o=document.createElement("button");o.className="table-scroll-control table-scroll-right",o.innerHTML=e,o.setAttribute("aria-label","Scroll table right"),r.appendChild(n),r.appendChild(o),t.insertAdjacentElement("afterend",r);var i=function(){var e=t.scrollWidth>t.clientWidth,i=t.scrollLeft,a=t.scrollWidth-t.clientWidth;r.classList.toggle("hidden",!e),e&&(n.classList.toggle("disabled",0===i),o.classList.toggle("disabled",i>=a))};i(),n.addEventListener("click",(function(){var e=Math.max(0,t.scrollLeft-t.clientWidth/2);t.scrollTo({left:e,behavior:"smooth"})})),o.addEventListener("click",(function(){var e=t.scrollWidth-t.clientWidth,r=Math.min(e,t.scrollLeft+t.clientWidth/2);t.scrollTo({left:r,behavior:"smooth"})})),t.addEventListener("scroll",i),window.addEventListener("resize",i)}))}};document.addEventListener("DOMContentLoaded",(function(){document.querySelector(".floating-button")?R.init():A.init(),$.init(),o.init(),a.init(),d.init(),E.init(),L.init(),D.init(),U.init(),M.init(),F.init(),Ge.init(),He.init()}))})()})();
    Feminine Hygiene Products: A Complete Overview (2025)
    Top Articles
    Latest Posts
    Recommended Articles
    Article information

    Author: Fr. Dewey Fisher

    Last Updated:

    Views: 5935

    Rating: 4.1 / 5 (62 voted)

    Reviews: 93% of readers found this page helpful

    Author information

    Name: Fr. Dewey Fisher

    Birthday: 1993-03-26

    Address: 917 Hyun Views, Rogahnmouth, KY 91013-8827

    Phone: +5938540192553

    Job: Administration Developer

    Hobby: Embroidery, Horseback riding, Juggling, Urban exploration, Skiing, Cycling, Handball

    Introduction: My name is Fr. Dewey Fisher, I am a powerful, open, faithful, combative, spotless, faithful, fair person who loves writing and wants to share my knowledge and understanding with you.