{"ast":null,"code":"/*!\n * ScrollToPlugin 3.12.2\n * https://greensock.com\n *\n * @license Copyright 2008-2023, GreenSock. All rights reserved.\n * Subject to the terms at https://greensock.com/standard-license or for\n * Club GreenSock members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n*/\n\n/* eslint-disable */\nvar gsap,\n  _coreInitted,\n  _window,\n  _docEl,\n  _body,\n  _toArray,\n  _config,\n  ScrollTrigger,\n  _windowExists = function _windowExists() {\n    return typeof window !== \"undefined\";\n  },\n  _getGSAP = function _getGSAP() {\n    return gsap || _windowExists() && (gsap = window.gsap) && gsap.registerPlugin && gsap;\n  },\n  _isString = function _isString(value) {\n    return typeof value === \"string\";\n  },\n  _isFunction = function _isFunction(value) {\n    return typeof value === \"function\";\n  },\n  _max = function _max(element, axis) {\n    var dim = axis === \"x\" ? \"Width\" : \"Height\",\n      scroll = \"scroll\" + dim,\n      client = \"client\" + dim;\n    return element === _window || element === _docEl || element === _body ? Math.max(_docEl[scroll], _body[scroll]) - (_window[\"inner\" + dim] || _docEl[client] || _body[client]) : element[scroll] - element[\"offset\" + dim];\n  },\n  _buildGetter = function _buildGetter(e, axis) {\n    //pass in an element and an axis (\"x\" or \"y\") and it'll return a getter function for the scroll position of that element (like scrollTop or scrollLeft, although if the element is the window, it'll use the pageXOffset/pageYOffset or the documentElement's scrollTop/scrollLeft or document.body's. Basically this streamlines things and makes a very fast getter across browsers.\n    var p = \"scroll\" + (axis === \"x\" ? \"Left\" : \"Top\");\n    if (e === _window) {\n      if (e.pageXOffset != null) {\n        p = \"page\" + axis.toUpperCase() + \"Offset\";\n      } else {\n        e = _docEl[p] != null ? _docEl : _body;\n      }\n    }\n    return function () {\n      return e[p];\n    };\n  },\n  _clean = function _clean(value, index, target, targets) {\n    _isFunction(value) && (value = value(index, target, targets));\n    if (typeof value !== \"object\") {\n      return _isString(value) && value !== \"max\" && value.charAt(1) !== \"=\" ? {\n        x: value,\n        y: value\n      } : {\n        y: value\n      }; //if we don't receive an object as the parameter, assume the user intends \"y\".\n    } else if (value.nodeType) {\n      return {\n        y: value,\n        x: value\n      };\n    } else {\n      var result = {},\n        p;\n      for (p in value) {\n        result[p] = p !== \"onAutoKill\" && _isFunction(value[p]) ? value[p](index, target, targets) : value[p];\n      }\n      return result;\n    }\n  },\n  _getOffset = function _getOffset(element, container) {\n    element = _toArray(element)[0];\n    if (!element || !element.getBoundingClientRect) {\n      return console.warn(\"scrollTo target doesn't exist. Using 0\") || {\n        x: 0,\n        y: 0\n      };\n    }\n    var rect = element.getBoundingClientRect(),\n      isRoot = !container || container === _window || container === _body,\n      cRect = isRoot ? {\n        top: _docEl.clientTop - (_window.pageYOffset || _docEl.scrollTop || _body.scrollTop || 0),\n        left: _docEl.clientLeft - (_window.pageXOffset || _docEl.scrollLeft || _body.scrollLeft || 0)\n      } : container.getBoundingClientRect(),\n      offsets = {\n        x: rect.left - cRect.left,\n        y: rect.top - cRect.top\n      };\n    if (!isRoot && container) {\n      //only add the current scroll position if it's not the window/body.\n      offsets.x += _buildGetter(container, \"x\")();\n      offsets.y += _buildGetter(container, \"y\")();\n    }\n    return offsets;\n  },\n  _parseVal = function _parseVal(value, target, axis, currentVal, offset) {\n    return !isNaN(value) && typeof value !== \"object\" ? parseFloat(value) - offset : _isString(value) && value.charAt(1) === \"=\" ? parseFloat(value.substr(2)) * (value.charAt(0) === \"-\" ? -1 : 1) + currentVal - offset : value === \"max\" ? _max(target, axis) - offset : Math.min(_max(target, axis), _getOffset(value, target)[axis] - offset);\n  },\n  _initCore = function _initCore() {\n    gsap = _getGSAP();\n    if (_windowExists() && gsap && typeof document !== \"undefined\" && document.body) {\n      _window = window;\n      _body = document.body;\n      _docEl = document.documentElement;\n      _toArray = gsap.utils.toArray;\n      gsap.config({\n        autoKillThreshold: 7\n      });\n      _config = gsap.config();\n      _coreInitted = 1;\n    }\n  };\nexport var ScrollToPlugin = {\n  version: \"3.12.2\",\n  name: \"scrollTo\",\n  rawVars: 1,\n  register: function register(core) {\n    gsap = core;\n    _initCore();\n  },\n  init: function init(target, value, tween, index, targets) {\n    _coreInitted || _initCore();\n    var data = this,\n      snapType = gsap.getProperty(target, \"scrollSnapType\");\n    data.isWin = target === _window;\n    data.target = target;\n    data.tween = tween;\n    value = _clean(value, index, target, targets);\n    data.vars = value;\n    data.autoKill = !!value.autoKill;\n    data.getX = _buildGetter(target, \"x\");\n    data.getY = _buildGetter(target, \"y\");\n    data.x = data.xPrev = data.getX();\n    data.y = data.yPrev = data.getY();\n    ScrollTrigger || (ScrollTrigger = gsap.core.globals().ScrollTrigger);\n    gsap.getProperty(target, \"scrollBehavior\") === \"smooth\" && gsap.set(target, {\n      scrollBehavior: \"auto\"\n    });\n    if (snapType && snapType !== \"none\") {\n      // disable scroll snapping to avoid strange behavior\n      data.snap = 1;\n      data.snapInline = target.style.scrollSnapType;\n      target.style.scrollSnapType = \"none\";\n    }\n    if (value.x != null) {\n      data.add(data, \"x\", data.x, _parseVal(value.x, target, \"x\", data.x, value.offsetX || 0), index, targets);\n      data._props.push(\"scrollTo_x\");\n    } else {\n      data.skipX = 1;\n    }\n    if (value.y != null) {\n      data.add(data, \"y\", data.y, _parseVal(value.y, target, \"y\", data.y, value.offsetY || 0), index, targets);\n      data._props.push(\"scrollTo_y\");\n    } else {\n      data.skipY = 1;\n    }\n  },\n  render: function render(ratio, data) {\n    var pt = data._pt,\n      target = data.target,\n      tween = data.tween,\n      autoKill = data.autoKill,\n      xPrev = data.xPrev,\n      yPrev = data.yPrev,\n      isWin = data.isWin,\n      snap = data.snap,\n      snapInline = data.snapInline,\n      x,\n      y,\n      yDif,\n      xDif,\n      threshold;\n    while (pt) {\n      pt.r(ratio, pt.d);\n      pt = pt._next;\n    }\n    x = isWin || !data.skipX ? data.getX() : xPrev;\n    y = isWin || !data.skipY ? data.getY() : yPrev;\n    yDif = y - yPrev;\n    xDif = x - xPrev;\n    threshold = _config.autoKillThreshold;\n    if (data.x < 0) {\n      //can't scroll to a position less than 0! Might happen if someone uses a Back.easeOut or Elastic.easeOut when scrolling back to the top of the page (for example)\n      data.x = 0;\n    }\n    if (data.y < 0) {\n      data.y = 0;\n    }\n    if (autoKill) {\n      //note: iOS has a bug that throws off the scroll by several pixels, so we need to check if it's within 7 pixels of the previous one that we set instead of just looking for an exact match.\n      if (!data.skipX && (xDif > threshold || xDif < -threshold) && x < _max(target, \"x\")) {\n        data.skipX = 1; //if the user scrolls separately, we should stop tweening!\n      }\n\n      if (!data.skipY && (yDif > threshold || yDif < -threshold) && y < _max(target, \"y\")) {\n        data.skipY = 1; //if the user scrolls separately, we should stop tweening!\n      }\n\n      if (data.skipX && data.skipY) {\n        tween.kill();\n        data.vars.onAutoKill && data.vars.onAutoKill.apply(tween, data.vars.onAutoKillParams || []);\n      }\n    }\n    if (isWin) {\n      _window.scrollTo(!data.skipX ? data.x : x, !data.skipY ? data.y : y);\n    } else {\n      data.skipY || (target.scrollTop = data.y);\n      data.skipX || (target.scrollLeft = data.x);\n    }\n    if (snap && (ratio === 1 || ratio === 0)) {\n      y = target.scrollTop;\n      x = target.scrollLeft;\n      snapInline ? target.style.scrollSnapType = snapInline : target.style.removeProperty(\"scroll-snap-type\");\n      target.scrollTop = y + 1; // bug in Safari causes the element to totally reset its scroll position when scroll-snap-type changes, so we need to set it to a slightly different value and then back again to work around this bug.\n\n      target.scrollLeft = x + 1;\n      target.scrollTop = y;\n      target.scrollLeft = x;\n    }\n    data.xPrev = data.x;\n    data.yPrev = data.y;\n    ScrollTrigger && ScrollTrigger.update();\n  },\n  kill: function kill(property) {\n    var both = property === \"scrollTo\";\n    if (both || property === \"scrollTo_x\") {\n      this.skipX = 1;\n    }\n    if (both || property === \"scrollTo_y\") {\n      this.skipY = 1;\n    }\n  }\n};\nScrollToPlugin.max = _max;\nScrollToPlugin.getOffset = _getOffset;\nScrollToPlugin.buildGetter = _buildGetter;\n_getGSAP() && gsap.registerPlugin(ScrollToPlugin);\nexport { ScrollToPlugin as default };","map":{"version":3,"names":["gsap","_coreInitted","_window","_docEl","_body","_toArray","_config","ScrollTrigger","_windowExists","window","_getGSAP","registerPlugin","_isString","value","_isFunction","_max","element","axis","dim","scroll","client","Math","max","_buildGetter","e","p","pageXOffset","toUpperCase","_clean","index","target","targets","charAt","x","y","nodeType","result","_getOffset","container","getBoundingClientRect","console","warn","rect","isRoot","cRect","top","clientTop","pageYOffset","scrollTop","left","clientLeft","scrollLeft","offsets","_parseVal","currentVal","offset","isNaN","parseFloat","substr","min","_initCore","document","body","documentElement","utils","toArray","config","autoKillThreshold","ScrollToPlugin","version","name","rawVars","register","core","init","tween","data","snapType","getProperty","isWin","vars","autoKill","getX","getY","xPrev","yPrev","globals","set","scrollBehavior","snap","snapInline","style","scrollSnapType","add","offsetX","_props","push","skipX","offsetY","skipY","render","ratio","pt","_pt","yDif","xDif","threshold","r","d","_next","kill","onAutoKill","apply","onAutoKillParams","scrollTo","removeProperty","update","property","both","getOffset","buildGetter","default"],"sources":["C:/Users/user/Desktop/000newport/node_modules/gsap/ScrollToPlugin.js"],"sourcesContent":["/*!\n * ScrollToPlugin 3.12.2\n * https://greensock.com\n *\n * @license Copyright 2008-2023, GreenSock. All rights reserved.\n * Subject to the terms at https://greensock.com/standard-license or for\n * Club GreenSock members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n*/\n\n/* eslint-disable */\nvar gsap,\n    _coreInitted,\n    _window,\n    _docEl,\n    _body,\n    _toArray,\n    _config,\n    ScrollTrigger,\n    _windowExists = function _windowExists() {\n  return typeof window !== \"undefined\";\n},\n    _getGSAP = function _getGSAP() {\n  return gsap || _windowExists() && (gsap = window.gsap) && gsap.registerPlugin && gsap;\n},\n    _isString = function _isString(value) {\n  return typeof value === \"string\";\n},\n    _isFunction = function _isFunction(value) {\n  return typeof value === \"function\";\n},\n    _max = function _max(element, axis) {\n  var dim = axis === \"x\" ? \"Width\" : \"Height\",\n      scroll = \"scroll\" + dim,\n      client = \"client\" + dim;\n  return element === _window || element === _docEl || element === _body ? Math.max(_docEl[scroll], _body[scroll]) - (_window[\"inner\" + dim] || _docEl[client] || _body[client]) : element[scroll] - element[\"offset\" + dim];\n},\n    _buildGetter = function _buildGetter(e, axis) {\n  //pass in an element and an axis (\"x\" or \"y\") and it'll return a getter function for the scroll position of that element (like scrollTop or scrollLeft, although if the element is the window, it'll use the pageXOffset/pageYOffset or the documentElement's scrollTop/scrollLeft or document.body's. Basically this streamlines things and makes a very fast getter across browsers.\n  var p = \"scroll\" + (axis === \"x\" ? \"Left\" : \"Top\");\n\n  if (e === _window) {\n    if (e.pageXOffset != null) {\n      p = \"page\" + axis.toUpperCase() + \"Offset\";\n    } else {\n      e = _docEl[p] != null ? _docEl : _body;\n    }\n  }\n\n  return function () {\n    return e[p];\n  };\n},\n    _clean = function _clean(value, index, target, targets) {\n  _isFunction(value) && (value = value(index, target, targets));\n\n  if (typeof value !== \"object\") {\n    return _isString(value) && value !== \"max\" && value.charAt(1) !== \"=\" ? {\n      x: value,\n      y: value\n    } : {\n      y: value\n    }; //if we don't receive an object as the parameter, assume the user intends \"y\".\n  } else if (value.nodeType) {\n    return {\n      y: value,\n      x: value\n    };\n  } else {\n    var result = {},\n        p;\n\n    for (p in value) {\n      result[p] = p !== \"onAutoKill\" && _isFunction(value[p]) ? value[p](index, target, targets) : value[p];\n    }\n\n    return result;\n  }\n},\n    _getOffset = function _getOffset(element, container) {\n  element = _toArray(element)[0];\n\n  if (!element || !element.getBoundingClientRect) {\n    return console.warn(\"scrollTo target doesn't exist. Using 0\") || {\n      x: 0,\n      y: 0\n    };\n  }\n\n  var rect = element.getBoundingClientRect(),\n      isRoot = !container || container === _window || container === _body,\n      cRect = isRoot ? {\n    top: _docEl.clientTop - (_window.pageYOffset || _docEl.scrollTop || _body.scrollTop || 0),\n    left: _docEl.clientLeft - (_window.pageXOffset || _docEl.scrollLeft || _body.scrollLeft || 0)\n  } : container.getBoundingClientRect(),\n      offsets = {\n    x: rect.left - cRect.left,\n    y: rect.top - cRect.top\n  };\n\n  if (!isRoot && container) {\n    //only add the current scroll position if it's not the window/body.\n    offsets.x += _buildGetter(container, \"x\")();\n    offsets.y += _buildGetter(container, \"y\")();\n  }\n\n  return offsets;\n},\n    _parseVal = function _parseVal(value, target, axis, currentVal, offset) {\n  return !isNaN(value) && typeof value !== \"object\" ? parseFloat(value) - offset : _isString(value) && value.charAt(1) === \"=\" ? parseFloat(value.substr(2)) * (value.charAt(0) === \"-\" ? -1 : 1) + currentVal - offset : value === \"max\" ? _max(target, axis) - offset : Math.min(_max(target, axis), _getOffset(value, target)[axis] - offset);\n},\n    _initCore = function _initCore() {\n  gsap = _getGSAP();\n\n  if (_windowExists() && gsap && typeof document !== \"undefined\" && document.body) {\n    _window = window;\n    _body = document.body;\n    _docEl = document.documentElement;\n    _toArray = gsap.utils.toArray;\n    gsap.config({\n      autoKillThreshold: 7\n    });\n    _config = gsap.config();\n    _coreInitted = 1;\n  }\n};\n\nexport var ScrollToPlugin = {\n  version: \"3.12.2\",\n  name: \"scrollTo\",\n  rawVars: 1,\n  register: function register(core) {\n    gsap = core;\n\n    _initCore();\n  },\n  init: function init(target, value, tween, index, targets) {\n    _coreInitted || _initCore();\n    var data = this,\n        snapType = gsap.getProperty(target, \"scrollSnapType\");\n    data.isWin = target === _window;\n    data.target = target;\n    data.tween = tween;\n    value = _clean(value, index, target, targets);\n    data.vars = value;\n    data.autoKill = !!value.autoKill;\n    data.getX = _buildGetter(target, \"x\");\n    data.getY = _buildGetter(target, \"y\");\n    data.x = data.xPrev = data.getX();\n    data.y = data.yPrev = data.getY();\n    ScrollTrigger || (ScrollTrigger = gsap.core.globals().ScrollTrigger);\n    gsap.getProperty(target, \"scrollBehavior\") === \"smooth\" && gsap.set(target, {\n      scrollBehavior: \"auto\"\n    });\n\n    if (snapType && snapType !== \"none\") {\n      // disable scroll snapping to avoid strange behavior\n      data.snap = 1;\n      data.snapInline = target.style.scrollSnapType;\n      target.style.scrollSnapType = \"none\";\n    }\n\n    if (value.x != null) {\n      data.add(data, \"x\", data.x, _parseVal(value.x, target, \"x\", data.x, value.offsetX || 0), index, targets);\n\n      data._props.push(\"scrollTo_x\");\n    } else {\n      data.skipX = 1;\n    }\n\n    if (value.y != null) {\n      data.add(data, \"y\", data.y, _parseVal(value.y, target, \"y\", data.y, value.offsetY || 0), index, targets);\n\n      data._props.push(\"scrollTo_y\");\n    } else {\n      data.skipY = 1;\n    }\n  },\n  render: function render(ratio, data) {\n    var pt = data._pt,\n        target = data.target,\n        tween = data.tween,\n        autoKill = data.autoKill,\n        xPrev = data.xPrev,\n        yPrev = data.yPrev,\n        isWin = data.isWin,\n        snap = data.snap,\n        snapInline = data.snapInline,\n        x,\n        y,\n        yDif,\n        xDif,\n        threshold;\n\n    while (pt) {\n      pt.r(ratio, pt.d);\n      pt = pt._next;\n    }\n\n    x = isWin || !data.skipX ? data.getX() : xPrev;\n    y = isWin || !data.skipY ? data.getY() : yPrev;\n    yDif = y - yPrev;\n    xDif = x - xPrev;\n    threshold = _config.autoKillThreshold;\n\n    if (data.x < 0) {\n      //can't scroll to a position less than 0! Might happen if someone uses a Back.easeOut or Elastic.easeOut when scrolling back to the top of the page (for example)\n      data.x = 0;\n    }\n\n    if (data.y < 0) {\n      data.y = 0;\n    }\n\n    if (autoKill) {\n      //note: iOS has a bug that throws off the scroll by several pixels, so we need to check if it's within 7 pixels of the previous one that we set instead of just looking for an exact match.\n      if (!data.skipX && (xDif > threshold || xDif < -threshold) && x < _max(target, \"x\")) {\n        data.skipX = 1; //if the user scrolls separately, we should stop tweening!\n      }\n\n      if (!data.skipY && (yDif > threshold || yDif < -threshold) && y < _max(target, \"y\")) {\n        data.skipY = 1; //if the user scrolls separately, we should stop tweening!\n      }\n\n      if (data.skipX && data.skipY) {\n        tween.kill();\n        data.vars.onAutoKill && data.vars.onAutoKill.apply(tween, data.vars.onAutoKillParams || []);\n      }\n    }\n\n    if (isWin) {\n      _window.scrollTo(!data.skipX ? data.x : x, !data.skipY ? data.y : y);\n    } else {\n      data.skipY || (target.scrollTop = data.y);\n      data.skipX || (target.scrollLeft = data.x);\n    }\n\n    if (snap && (ratio === 1 || ratio === 0)) {\n      y = target.scrollTop;\n      x = target.scrollLeft;\n      snapInline ? target.style.scrollSnapType = snapInline : target.style.removeProperty(\"scroll-snap-type\");\n      target.scrollTop = y + 1; // bug in Safari causes the element to totally reset its scroll position when scroll-snap-type changes, so we need to set it to a slightly different value and then back again to work around this bug.\n\n      target.scrollLeft = x + 1;\n      target.scrollTop = y;\n      target.scrollLeft = x;\n    }\n\n    data.xPrev = data.x;\n    data.yPrev = data.y;\n    ScrollTrigger && ScrollTrigger.update();\n  },\n  kill: function kill(property) {\n    var both = property === \"scrollTo\";\n\n    if (both || property === \"scrollTo_x\") {\n      this.skipX = 1;\n    }\n\n    if (both || property === \"scrollTo_y\") {\n      this.skipY = 1;\n    }\n  }\n};\nScrollToPlugin.max = _max;\nScrollToPlugin.getOffset = _getOffset;\nScrollToPlugin.buildGetter = _buildGetter;\n_getGSAP() && gsap.registerPlugin(ScrollToPlugin);\nexport { ScrollToPlugin as default };"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}